Add mappings for Big5 code points.
[chise/xemacs-chise.git-] / src / ChangeLog
1 2002-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2
3         * mule-charset.c (Vcharset_china3_jef): Deleted.
4         (Qchina3_jef): Deleted.
5         (syms_of_mule_charset): Don't define `china3-jef'.
6         (complex_vars_of_mule_charset): Likewise.
7
8         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Deleted.
9         (MIN_CHAR_CHINA3_JEF): Comment out.
10         (MAX_CHAR_CHINA3_JEF): Comment out.
11
12 2002-11-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
13
14         * mule-charset.c (Vcharset_ucs_gb): New variable.
15         (Qucs_gb): New variable.
16         (syms_of_mule_charset): Add new symbol `ucs-gb'.
17         (complex_vars_of_mule_charset): Add new coded-charset `ucs-gb'.
18
19         * char-ucs.h (LEADING_BYTE_UCS_GB): New macro.
20
21 2002-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
22
23         * mule-charset.c (charset_code_point): if a coded-charset has a
24         final-byte, don't inherit the builtin range of the mother CCS.
25
26 2002-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
27
28         * mule-charset.c (charset_code_point): Fix problem about
29         inheritance.
30
31 2002-11-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
32
33         * mule-charset.c (decode_builtin_char): Reorganized.
34
35 2002-10-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
36
37         * text-coding.c (char_encode_shift_jis): Modify for
38         `charset_code_point'.
39         (char_encode_big5): Likewise.
40         (char_encode_utf8): Likewise.
41         (char_encode_iso2022): Likewise.
42
43         * mule-charset.c (charset_code_point): Add new argument
44         `defined_only'.
45         (Fencode_char): Add new optional argument `defined_only'.
46
47         * chartab.c (put_char_table): Modify for `charset_code_point'.
48         (map_char_table): Likewise.
49
50         * char-ucs.h (charset_code_point): Add new argument
51         `defined_only'.
52         (encode_char_1): Modify for `charset_code_point'.
53
54 2002-10-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
55
56         * mule-charset.c (complex_vars_of_mule_charset): Don't specify
57         `MIN_CHAR_THAI' and `MAX_CHAR_THAI' for `thai-tis620'.
58
59 2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
60
61         * mule-charset.c (Vcharset_jis_x0208): New variable in UTF-2000.
62         (Qjis_x0208): Likewise.
63         (decode_builtin_char): Prefer XCHARSET_MAX_CODE(charset) than
64         XCHARSET_FINAL(charset).
65         (charset_code_point): Modify condition for final-byte based
66         builtin-chars.
67         (syms_of_mule_charset): Add new symbol `=jis-x0208' in UTF-2000.
68         (complex_vars_of_mule_charset): Add new coded-charset `=jis-x0208'
69         in UTF-2000; specify `=jis-x0208' as the mother of
70         `japanese-jisx0208-1978', `japanese-jisx0208' and
71         `japanese-jisx0208-1990' in UTF-2000.
72
73 2002-10-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
74
75         * char-ucs.h (LEADING_BYTE_JIS_X0208): New macro.
76
77 2002-07-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
78
79         * mule-charset.c (charset_code_point): If CHARSET_CONVERSION is
80         CONVERSION_IDENTICAL, identical conversion is used even if a CCS
81         is ISO-2022 style; instead of it, CONVERSION_94, CONVERSION_96,
82         CONVERSION_94x94, CONVERSION_96x96, CONVERSION_94x94x94,
83         CONVERSION_96x96x96, CONVERSION_94x94x94x94 and
84         CONVERSION_96x96x96x96 are introduced.
85         (complex_vars_of_mule_charset): Specify CONVERSION_96 instead of
86         CONVERSION_IDENTICAL for thai-tis620; Specify CONVERSION_94x94
87         instead of CONVERSION_IDENTICAL for japanese-jisx0208-1990.
88
89         * char-ucs.h (CONVERSION_94): New macro.
90         (CONVERSION_96): New macro.
91         (CONVERSION_94x94): New macro.
92         (CONVERSION_96x96): New macro.
93         (CONVERSION_94x94x94): New macro.
94         (CONVERSION_96x96x96): New macro.
95         (CONVERSION_94x94x94x60): New macro.
96         (CONVERSION_94x94x94x94): New macro.
97         (CONVERSION_96x96x96x96): New macro.
98
99 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
100
101         * lisp.h: Add an EXFUN for `Fchar_ref_p'.
102
103         * fns.c (Qideographic_structure): New variable.
104         (Qkeyword_char): New variable.
105         (ids_format_unit): New function.
106         (Fideographic_structure_to_ids): New function.
107         (syms_of_fns): Add new symbols `ideographic-structure' and
108         `:char'; add new builtin function `ideographic-structure-to-ids'.
109
110         * data.c (Fchar_ref_p): New function.
111         (syms_of_data): Add new builtin function `char-ref-p'.
112
113         * chartab.h: Add an EXFUN for `Ffind_char'.
114
115 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
116
117         * text-coding.c (decode_coding_utf8): Use `COMPOSE_FLUSH_CHARS'
118         and `COMPOSE_ADD_CHAR'.
119         (decode_coding_iso2022): Use `decode_flush_er_chars'.
120
121 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
122
123         * text-coding.c (COMPOSE_FLUSH_CHARS): Use `decode_add_er_char'
124         instead of `DECODE_ADD_UCS_CHAR'.
125         (COMPOSE_ADD_CHAR): Likewise.
126
127 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
128
129         * text-coding.c (decode_flush_er_chars): New inline function.
130         (decode_add_er_char): New function.
131         (decode_coding_utf8): Use `decode_flush_er_chars' and
132         `decode_add_er_char'.
133
134 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
135
136         * text-coding.c (decode_coding_utf8): Flush for er_buf must be
137         done before `decode_output_utf8_partial_char'.
138
139         * mule-charset.c (complex_vars_of_mule_charset): Specify
140         `Vcharset_ucs' as the mother of `Vcharset_ucs_cns',
141         `Vcharset_ucs_ks' and `Vcharset_ucs_big5'.
142
143 2002-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
144
145         * mule-charset.c (decode_defined_char): New function; search
146         mother.
147         (decode_builtin_char): Don't search mother if
148         XCHARSET_MAX_CODE(charset) == 0.
149         (charset_code_point): Search mother if XCHARSET_MAX_CODE(charset)
150         == 0 even if code >= XCHARSET_MAX_CODE(charset).
151         (Fdecode_char): Use `decode_defined_char' instead of
152         `DECODE_DEFINED_CHAR'.
153         (complex_vars_of_mule_charset): Specify `Vcharset_ucs' as the
154         mother of `Vcharset_ucs_jis'.
155
156         * text-coding.c (decode_coding_big5): Use `decode_defined_char'
157         instead of `DECODE_DEFINED_CHAR'.
158
159         * char-ucs.h (decode_defined_char): Renamed from
160         `DECODE_DEFINED_CHAR'; changed to normal function.
161         (DECODE_CHAR): Use `decode_defined_char' instead of
162         `DECODE_DEFINED_CHAR'.
163
164         * lisp.h: Add `EXFUN' for `Fstring_to_number'.
165
166 2002-07-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
167
168         * char-ucs.h: Add `extern' for `Vcharset_ucs'.
169
170         * text-coding.c (Vcoded_charset_entity_reference_alist): New
171         variable.
172         (Quse_entity_reference): New variable.
173         (Qd): New variable.
174         (Qx): New variable.
175         (QX): New variable.
176         (coding_system_description): Add description for
177         `ccs_priority_list'.
178         (mark_coding_system): Mark `ccs_priority_list' in UTF-2000.
179         (allocate_coding_system): Initialize `ccs_priority_list' in
180         UTF-2000.
181         (Fmake_coding_system): Add description about
182         'use-entity-reference; setup
183         CODING_SYSTEM_USE_ENTITY_REFERENCE(codesys).
184         (Fcoding_system_property): Accept `disable-composition' and
185         `use-entity-reference' in UTF-2000.
186         (struct decoding_stream): Add new member `er_counter' and `er_buf'
187         in UTF-2000.
188         (reset_decoding_stream): Initialize `str->er_counter' in UTF-2000.
189         (decode_coding_utf8): Decode entity-reference if
190         CODING_SYSTEM_USE_ENTITY_REFERENCE (str->codesys).
191         (char_encode_utf8): Encode non-Unicode characters as
192         entity-references if CODING_SYSTEM_USE_ENTITY_REFERENCE
193         (str->codesys).
194         (syms_of_file_coding): Add new symbols `use-entity-reference',
195         `d', `x', `X'.
196         (vars_of_file_coding): Add new variable
197         `coded-charset-entity-reference-alist'.
198         (complex_vars_of_file_coding): Declare `disable-composition' and
199         `use-entity-reference' to be coding-system-properties in UTF-2000.
200
201         * file-coding.h (struct Lisp_Coding_System): Add new member
202         `use_entity_reference' and `ccs_priority_list'.
203         (CODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
204         (CODING_SYSTEM_CCS_PRIORITY_LIST): New macro.
205         (XCODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
206
207 2002-02-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
208
209         * mule-charset.c (put_char_ccs_code_point): Delete unused codes.
210
211 2002-02-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
212
213         * char-ucs.h (DECODE_DEFINED_CHAR): Don't check
214         `XCHARSET_GRAPHIC(ccs)'.
215
216 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
217
218         * mule-charset.c (put_char_ccs_code_point): Don't prepare a vector
219         for decoding-table.
220
221 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
222
223         * char-ucs.h (put_ccs_octet_table): Use `XCHARSET_BYTE_SIZE'
224         instead of `XCHARSET_CHARS'.
225
226 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
227
228         * mule-charset.c (CHARSET_BYTE_SIZE): Moved to char-ucs.h.
229         (XCHARSET_BYTE_SIZE): Likewise.
230
231         * char-ucs.h (CHARSET_BYTE_SIZE): New inline function [moved from
232         mule-charset.c].
233         (XCHARSET_BYTE_SIZE): Likewise.
234
235 2002-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
236
237         * char-ucs.h (decoding_table_check_elements): Delete prototype.
238         (get_ccs_octet_table): New inline function.
239         (put_ccs_octet_table): Likewise.
240         (decoding_table_put_char): Use `get_ccs_octet_table' and
241         `put_ccs_octet_table'.
242         (decoding_table_remove_char): Use `decoding_table_put_char'.
243         (DECODE_DEFINED_CHAR): Use `get_ccs_octet_table'.
244
245         * mule-charset.c (remove_char_ccs): Store Qunbound instead of Qnil
246         into encoding_table.
247         (make_charset): Use Qunbound instead Qnil as initial value of
248         decoding_table.
249
250 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
251
252         * mule-charset.c (put_char_ccs_code_point): Modify for
253         `decoding_table_remove_char' and `decoding_table_put_char'.
254         (remove_char_ccs): Modify for `decoding_table_remove_char'.
255
256         * char-ucs.h (decoding_table_remove_char): Change arguments to
257         hide decoding_table vector.
258         (decoding_table_put_char): Likewise.
259
260 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
261
262         * mule-charset.c (decoding_table_remove_char): Moved to
263         char-ucs.h.
264         (decoding_table_put_char): Likewise.
265
266         * char-ucs.h (decoding_table_check_elements): New prototype [moved
267         from mule-charset.c].
268         (decoding_table_remove_char): New inline function [moved from
269         mule-charset.c].
270         (decoding_table_put_char): Likewise.
271
272 2002-04-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
273
274         * mule-charset.c (decode_builtin_char): Use `decode_builtin_char'
275         instead of `DECODE_CHAR' for mother; don't use special code for
276         chinese-big5 to use code space of chinese-big5-1 and
277         chinese-big5-2.
278         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' and
279         `MAX_CHAR_BIG5_CDP' for chinese-big5.
280
281         * char-ucs.h (MIN_CHAR_BIG5_CDP): Revival.
282         (MAX_CHAR_BIG5_CDP): Revival.
283
284 2002-04-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
285
286         * mule-charset.c (complex_vars_of_mule_charset): Use "big5-0" as
287         the XLFD registry-encoding name of `chinese-big5'.
288
289 2002-04-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
290
291         * mule-charset.c (Vcharset_chinese_big5_cdp): Deleted.
292         (Qchinese_big5_cdp): Deleted.
293         (syms_of_mule_charset): Delete symbol `chinese-big5-cdp'.
294         (complex_vars_of_mule_charset): Delete coded-charset
295         `chinese-big5-cdp'.
296
297         * char-ucs.h (CHARSET_ID_OFFSET): Deleted.
298         (LEADING_BYTE_*): Use `MIN_LEADING_BYTE + n' instead of
299         `CHARSET_ID_OFFSET - n' for private CCS.
300         (LEADING_BYTE_CHINESE_BIG5_CDP): Deleted.
301         (MIN_LEADING_BYTE_PRIVATE): Use `(MIN_LEADING_BYTE + 97)' instead
302         of `MIN_LEADING_BYTE'.
303         (MAX_LEADING_BYTE_PRIVATE): Use `-1' instead of
304         `(CHARSET_ID_OFFSET - 97)'.
305         (MIN_CHAR_BIG5_CDP): Deleted.
306         (MAX_CHAR_BIG5_CDP): Deleted.
307
308 2002-01-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
309
310         * mule-charset.c (Fmake_charset): Modify DOC-string for UTF-2000
311         extension.
312
313 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
314
315         * mule-charset.c (decode_builtin_char): Support mother charsets.
316
317 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
318
319         * mule-charset.c (Q94x94x60): New variable.
320         (charset_code_point): Support conversion `94x94x60'.
321         (Fmake_charset): Likewise.
322         (syms_of_mule_charset): Add new symbol `94x94x60'.
323
324         * char-ucs.h (CONVERSION_94x94x60): New macro.
325
326 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
327
328         * mule-charset.c (charset_code_point): Unify code about
329         `code-offset'.
330
331 2001-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
332
333         * mule-charset.c (charset_code_point): Merge code about builtin
334         characters into code about mother charsets; don't use
335         `range_charset_code_point'.
336         (range_charset_code_point): Deleted.
337
338 2001-12-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
339
340         * mule-charset.c (Qcode_offset): New variable.
341         (Fmake_charset): Use `XUINT' to get value of `min-code' and
342         `max-code'; accept new property `code-offset'.
343         (syms_of_mule_charset): Add new symbol `code-offset'.
344
345 2001-12-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
346
347         * mule-charset.c (range_charset_code_point): Fixed.
348
349 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
350
351         * mule-charset.c (decode_builtin_char): Change semantics of
352         code-offset of coded-charset.
353         (charset_code_point): Likewise.
354         (range_charset_code_point): Likewise.
355         (complex_vars_of_mule_charset): Modify for the change.
356
357 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
358
359         * mule-charset.c (Fencode_char): Reverse arguments.
360
361         * mule-charset.c (charset_code_point): Fixed.
362
363 2001-12-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
364
365         * mule-charset.c (Vcharset_mojikyo): Deleted.
366         (Vcharset_mojikyo_2022_1): Deleted.
367         (Vcharset_mojikyo_pj_{1..21}): Deleted.
368         (Qmin_code): New variable in UTF-2000.
369         (Qmax_code): Likewise.
370         (Qmother): Likewise.
371         (Qconversion): Likewise.
372         (Q94x60): Likewise.
373         (Qmojikyo): Deleted.
374         (Qmojikyo_2022_1): Deleted.
375         (Qmojikyo_pj_{1..22}): Deleted.
376         (mark_charset): Mark `cs->mother'.
377         (charset_description): Add description for `mother'.
378         (make_charset): Rename `ucs_{min|max}' to `{min|max}_code'; add
379         new arguments `mother' and `conversion'; use
380         `CHARSET_{MIN|MAX}_CODE' instead of `CHARSET_UCS_{MIN|MAX}'.
381         (charset_code_point): Moved from char-ucs.h; support `mother'
382         charset feature.
383         (range_charset_code_point): use `CHARSET_{MIN|MAX}_CODE' instead
384         of `CHARSET_UCS_{MIN|MAX}'; delete hard code for `mojikyo-2022-1'.
385         (Fmake_charset): Allow 3 and 4 as the value of `dimension' in
386         UTF-2000; allow 128 and 256 as the value of `chars' in UTF-2000;
387         allow 2 as the value of `graphic' in UTF-2000; add new properties
388         `min-code', `max-code', `mother', `conversion' in UTF-2000; don't
389         require `final' in UTF-2000; modify for `make_charset'.
390         (Fmake_reverse_direction_charset): use `CHARSET_{MIN|MAX}_CODE'
391         instead of `CHARSET_UCS_{MIN|MAX}'; modify for `make_charset'.
392         (Fcharset_property): Support `mother', `min-code' and `max-code'.
393         (Fencode_char): New function.
394         (syms_of_mule_charset): Add new builtin function `encode-char' in
395         UTF-2000; add new symbols `min-code', `max-code', `mother',
396         `conversion' and `94x60'; delete symbols `mojikyo',
397         `mojikyo-2022-1' and `mojikyo-pj-{1..21}'.
398         (complex_vars_of_mule_charset): Modify for `make_charset' change;
399         delete coded-charsets `mojikyo', `mojikyo-2022-1' and
400         `mojikyo-pj-{1..21}'; delete `DEF_MOJIKYO_PJ'.
401
402         * chartab.c (Fdefine_char): Use `XCHARSET_MAX_CODE' instead of
403         `XCHARSET_UCS_MAX'; regard `chinese-big5' as a base CCS.
404
405         * char-ucs.h (Vcharset_mojikyo): Deleted.
406         (Vcharset_mojikyo_2022_1): Deleted.
407         (LEADING_BYTE_MOJIKYO): Deleted.
408         (LEADING_BYTE_MOJIKYO_2022_1): Deleted.
409         (LEADING_BYTE_MOJIKYO_2022_2): Deleted.
410         (LEADING_BYTE_MOJIKYO_PJ_{1 .. 21}): Deleted.
411         (struct Lisp_Charset): Rename `ucs_{min|max}' to `{min|max}_code';
412         add new member `mother'; add new member `conversion'.
413         (CHARSET_MIN_CODE): Renamed from `CHARSET_UCS_MIN'.
414         (CHARSET_MAX_CODE): Renamed from `CHARSET_UCS_MAX'.
415         (CHARSET_MOTHER): New macro.
416         (CHARSET_CONVERSION): New macro.
417         (CONVERSION_IDENTICAL): New macro.
418         (CONVERSION_94x60): New macro.
419         (XCHARSET_MIN_CODE): Renamed from `CHARSET_MIN_CODE'.
420         (XCHARSET_MAX_CODE): Renamed from `CHARSET_MAX_CODE'.
421         (XCHARSET_MOTHER): New macro.
422         (XCHARSET_CONVERSION): New macro.
423         (MIN_CHAR_MOJIKYO): Deleted.
424         (MAX_CHAR_MOJIKYO): Deleted.
425         (DECODE_MOJIKYO_2022): Deleted.
426         (DECODE_CHAR): Delete hard code for builtin Mojikyo characters.
427         (charset_code_point): Changed to non-inline function.
428         (encode_char_1): Use `charset_code_point'.
429         (CHAR_TO_CHARC): Delete hard code for Mojikyo characters.
430
431 2001-12-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
432
433         * lread.c (read_compiled_function): Fix prototype.
434         (read_vector): Likewise.
435
436 2001-12-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
437
438         * lrecord.h (struct lrecord_header): Delete `older'.
439         (set_lheader_implementation): Delete code for `older'.
440         (set_lheader_older_implementation): Deleted.
441         (enum lrecord_type): Delete `lrecord_type_char_id_table'.
442         (OLDER_RECORD_P): Deleted.
443         (OLDER_RECORD_HEADER_P): Deleted.
444         (alloc_older_lcrecord): Deleted.
445         (alloc_older_lcrecord_type): Deleted.
446
447         * alloc.c (all_older_lcrecords): Deleted.
448         (alloc_older_lcrecord): Deleted.
449         (disksave_object_finalization_1): Delete code for older objects.
450         (mark_object): Don't use `OLDER_RECORD_HEADER_P'.
451         (reinit_alloc_once_early): Don't initialize `all_older_lcrecords'.
452
453 2001-12-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
454
455         * mule-charset.c (decoding_table_put_char): Use `make_vector'
456         instead of `make_older_vector'.
457         (put_char_ccs_code_point): Likewise.
458         (mark_charset): Mark `cs->decoding_table'.
459         (Fset_charset_mapping_table): Don't use `make_vector_newer'.
460
461         * lisp.h (make_older_vector): Deleted.
462         (make_vector_newer): Deleted.
463
464         * config.h.in (HAVE_GGC): Deleted.
465
466         * alloc.c (make_older_vector): Deleted.
467         (make_vector_newer_1): Deleted.
468         (make_vector_newer): Deleted.
469
470 2001-12-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
471
472         * mule-charset.c (Vcharset_ideograph_daikanwa_2): New variable.
473         (Qideograph_daikanwa_2): New variable.
474         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa-2'.
475         (complex_vars_of_mule_charset): Add new coded-charset
476         `ideograph-daikanwa-2'; use `LEADING_BYTE_DAIKANWA_3' instead of
477         `LEADING_BYTE_DAIKANWA'.
478
479         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): New macro.
480         (LEADING_BYTE_DAIKANWA_1): New macro.
481         (LEADING_BYTE_DAIKANWA_2): New macro.
482         (LEADING_BYTE_DAIKANWA_3): Renamed from `LEADING_BYTE_DAIKANWA'.
483
484 2001-12-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
485
486         * mule-charset.c (complex_vars_of_mule_charset): Change
487         DOC-strings and registry of `ideograph-daikanwa'; now it indicates
488         the second revised version.
489
490 2001-12-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
491
492         * mule-charset.c (Vcharset_ucs_smp): New variable.
493         (Vcharset_ucs_sip): New variable.
494         (Qucs_smp): New variable.
495         (Qucs_sip): New variable.
496         (encode_builtin_char_1): Treat MIN_CHAR_{SMP|SIP} to
497         MAX_CHAR_{SMP|SIP} as `ucs-{smp|sip}'.
498         (syms_of_mule_charset): Add new symbols `ucs-smp' and `ucs-sip'.
499         (complex_vars_of_mule_charset): Modify middle-DOC and registry of
500         `ucs-bmp'; add new coded-charset `ucs-smp' and `ucs-sip'; change
501         charset width of `ucs-cns', `ucs-jis', `ucs-ks' and `ucs-big5'.
502
503         * char-ucs.h (LEADING_BYTE_UCS_SMP): New macro.
504         (LEADING_BYTE_UCS_SIP): New macro.
505         (MIN_CHAR_SMP): New macro.
506         (MAX_CHAR_SMP): New macro.
507         (MIN_CHAR_SIP): New macro.
508         (MAX_CHAR_SIP): New macro.
509
510 2001-11-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
511
512         * dumper.c (PDUMP_HASH_SIZE): Increase the size of hash table when
513         utf-2000.
514
515 2001-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
516
517         * mule-charset.c (put_char_ccs_code_point): Return canonicalized
518         value; don't store value into `encoding_table' of `Lisp_Charset'.
519         (mark_charset): `encoding_table' was deleted.
520         (charset_description): Likewise.
521         (make_charset): Likewise.
522         (Fset_charset_mapping_table): Use `Fput_char_attribute' instead of
523         `put_char_ccs_code_point'.
524
525         * chartab.h (Fput_char_attribute): New EXFUN.
526
527         * chartab.c (Fchar_attribute_alist): Name space of CCS-attributes
528         is unified with normal symbol space.
529         (Fget_char_attribute): Likewise.
530         (Fput_char_attribute): Likewise; behavior of
531         `put_char_ccs_code_point' is changed.
532
533         * char-ucs.h: Include "elhash.h".
534         (Vchar_attribute_hash_table): New external variable.
535         (struct Lisp_Charset): Delete `encoding_table'.
536         (CHARSET_ENCODING_TABLE): New implementation; refer
537         `Vchar_attribute_hash_table' instead of `encoding_table' of struct
538         `Lisp_Charset'.
539
540 2001-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
541
542         * mule-charset.c (Fcharset_property): Return Qnil if CHARSET_FINAL
543         (cs) == 0.
544
545 2001-11-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
546
547         * text-coding.c (char_encode_big5): Prefer charset-g1 than
548         `chinese-big5'.
549
550 2001-11-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
551
552         * chartab.c (uint8_byte_table_description): New constant.
553         (uint8-byte-table): Use `uint8_byte_table_description'.
554         (uint16_byte_table_description): New constant.
555         (uint16-byte-table): Use `uint16_byte_table_description'.
556
557 2001-10-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
558
559         * mule-charset.c (complex_vars_of_mule_charset): Don't use builtin
560         range MIN_CHAR_BIG5_CDP .. MAX_CHAR_BIG5_CDP.
561
562 2001-10-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
563
564         * mule-charset.c (Vcharset_ucs_ks): New variable.
565         (Qucs_ks): New variable.
566         (syms_of_mule_charset): Add new symbol `ucs-ks'.
567         (complex_vars_of_mule_charset): Add new coded-charset `ucs-ks'.
568
569         * char-ucs.h (LEADING_BYTE_UCS_KS): New macro.
570
571 2001-10-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
572
573         * chartab.h (Fmake_char): New EXFUN; moved from chartab.c.
574         (Fdecode_char): Likewise.
575
576         * chartab.c: Move EXFUN for Fmake_char and Fdecode_char into
577         chartab.h.
578         (Fdefine_char): Modify for Fdecode_char.
579         (Ffind_char): Likewise.
580
581         * mule-charset.c (Fdecode_char): Add new optional argument
582         `defined-only'.
583         (Fdecode_builtin_char): Modify for `Fdecode_char'.
584
585 2001-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
586
587         * text-coding.c (mark_coding_system): Mark initial-charset-g0 and
588         -g1 of CODESYS_BIG5 in XEmacs UTF-2000.
589         (allocate_coding_system): Initialize initial-charsets of
590         CODESYS_BIG5 in XEmacs UTF-2000.
591         (Fmake_coding_system): Accept `charset-g0' and `charset-g1' for
592         CODESYS_BIG5 in XEmacs UTF-2000.
593         (decode_coding_big5): Use initial-charset-g0 and -g1 of
594         CODESYS_BIG5 in XEmacs UTF-2000; use `DECODE_DEFINED_CHAR'.
595
596         * mule-charset.c (Vcharset_ideograph_hanziku_{1 .. 12}): New
597         variables.
598         (Qideograph_hanziku_{1 .. 12}): Likewise.
599         (syms_of_mule_charset): Add new symbols `ideograph-hanziku-{1
600         .. 12}'.
601         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' to
602         `MAX_CHAR_BIG5_CDP' for `chinese-big5'; add news coded-charsets
603         `ideograph-hanziku-{1 .. 12}'.
604
605         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x200.
606         (LEADING_BYTE_HANZIKU_{1 .. 12}): New macros.
607         ({MIN|MAX}_CHAR_BIG5_CDP): New macros.
608         ({MIN|MAX}_CHAR_HANZIKU_{1 .. 12}): New macros.
609         (DECODE_DEFINED_CHAR): New inline function.
610         (DECODE_CHAR): Use `DECODE_DEFINED_CHAR'.
611
612 2001-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
613
614         * mule-charset.c (Vcharset_china3_jef): Renamed from
615         `Vcharset_japanese_jef_china3'.
616         (Qchina3_jef): Renamed from `Qjapanese_jef_china3'.
617         (encode_builtin_char_1): Rename `{MIN|MAX}_CHAR_CHINA3_JEF' from
618         `{MIN|MAX}_CHAR_JEF_CHINA3'..
619         (syms_of_mule_charset): Rename `china3-jef' from
620         `japanese-jef-china3'.
621         (complex_vars_of_mule_charset): Likewise; rename
622         `LEADING_BYTE_CHINA3_JEF' from `LEADING_BYTE_JEF_CHINA3'.
623
624         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Renamed from
625         `LEADING_BYTE_JEF_CHINA3'.
626         (MIN_CHAR_CHINA3_JEF): Renamed from `MIN_CHAR_JEF_CHINA3'.
627         (MAX_CHAR_CHINA3_JEF): Renamed from `MAX_CHAR_JEF_CHINA3'.
628
629 2001-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
630
631         * mule-charset.c (encode_builtin_char_1): Comment out special code
632         for MIN_CHAR_MOJIKYO_0 ... MAX_CHAR_MOJIKYO_0.
633
634         * char-ucs.h (MIN_CHAR_MOJIKYO_0): Comment out.
635         (MAX_CHAR_MOJIKYO_0): Comment out.
636         (MIN_CHAR_CBETA): Changed to 0x00E20000.
637         (MAX_CHAR_CBETA): Changed to 0x00E2FFFF.
638         (MIN_CHAR_JEF_CHINA3): Changed to 0x00E80000.
639         (MAX_CHAR_JEF_CHINA3): Changed to 0x00E8FFFF.
640
641 2001-10-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
642
643         * mule-charset.c (Vcharset_ideograph_cbeta): New variable.
644         (Qideograph_cbeta): New variable.
645         (encode_builtin_char_1): Comment out special code for
646         coded-charset `mojikyo' and `japanese-jef-china3'.
647         (syms_of_mule_charset): Add new symbol `ideograph-cbeta'.
648         (complex_vars_of_mule_charset): Add new coded-charset
649         `ideograph-cbeta'.
650
651         * char-ucs.h (LEADING_BYTE_CBETA): New macro.
652         (MIN_CHAR_CBETA): New macro.
653         (MAX_CHAR_CBETA): New macro.
654
655 2001-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
656
657         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x100.
658         (LEADING_BYTE_JEF_CHINA3): New macro.
659         (MIN_CHAR_JEF_CHINA3): New macro.
660         (MAX_CHAR_JEF_CHINA3): Likewise.
661         (DECODE_CHAR): Fixed.
662
663 2001-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
664
665         * mule-charset.c (Vcharset_japanese_jef_china3): New variable.
666         (Qjapanese_jef_china3): New variable.
667         (encode_builtin_char_1): Support `japanese-jef-china3'.
668         (syms_of_mule_charset): Add new symbol `japanese-jef-china3'.
669         (complex_vars_of_mule_charset): Add new coded-charset
670         `japanese-jef-china3'.
671
672 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
673
674         * chartab.c (XCHARSET_CELL_RANGE): New inline function.
675         (decode_char_table_range): Use `XCHARSET_CELL_RANGE'; accept 94^3,
676         94^4, 96^3, 96^4, 128^n and 256^n set.
677         (put_char_table): Use `XCHARSET_CELL_RANGE'.
678         (map_char_table): Likewise.
679
680 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
681
682         * chartab.c (get_char_table): Use `get_char_id_table' in XEmacs
683         UTF-2000.
684
685 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
686
687         * chartab.h (get_char_id_table): New inline function.
688
689         * chartab.c (get_char_id_table): Moved to chartab.h as an inline
690         function.
691
692 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
693
694         * chartab.h (decode_char_table_range): New prototype in XEmacs
695         UTF-2000.
696         (put_char_id_table): New inline function in XEmacs UTF-2000.
697
698         * chartab.c (put_char_id_table): Moved to chartab.h as an inline
699         function.
700         (decode_char_table_range): Delete static declaration in XEmacs
701         UTF-2000.
702
703 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
704
705         * chartab.c (put_char_id_table): Use `put_char_table'.
706
707 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
708
709         * chartab.c (map_over_uint8_byte_table): Delete argument `ccs'.
710         (map_over_uint16_byte_table): Likewise.
711         (map_over_byte_table): Likewise.
712         (map_char_table): Modify for `map_over_uint8_byte_table',
713         `map_over_uint16_byte_table' and `map_over_byte_table' in XEmacs
714         UTF-2000.
715
716 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
717
718         * chartab.c (struct map_char_table_for_charset_arg): New
719         structure.
720         (map_char_table_for_charset_fun): New function.
721         (map_char_table): Use `map_char_table' for encoding_table of
722         `range->charset'.
723
724 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
725
726         * chartab.c (map_char_table): Check a character is found in
727         range->charset instead of non default value is defined in
728         char-table when range is CHARTAB_RANGE_ROW.
729
730 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
731
732         * chartab.c (map_char_id_table): Deleted.
733         (Fmap_char_attribute): Use `map_char_table' instead of
734         `map_char_id_table'.
735
736 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
737
738         * syntax.h (SYNTAX_CODE_UNSAFE): New implementation in XEmacs
739         UTF-2000.
740         (update_syntax_table): Deleted in XEmacs UTF-2000.
741
742         * syntax.c (find_defun_start): Use `syntax_table' instead of
743         `mirror_syntax_table' in XEmacs UTF-2000.
744         (Fset_syntax_table): Don't use `mirror_syntax_table' in XEmacs
745         UTF-2000.
746         (Fchar_syntax): Use `syntax_table' instead of `mirror_table' in
747         XEmacs UTF-2000.
748         (Fmatching_paren): Likewise.
749         (scan_words): Use `syntax_table' instead of `mirror_syntax_table'
750         in XEmacs UTF-2000.
751         (find_start_of_comment): Likewise.
752         (find_end_of_comment): Likewise.
753         (Fforward_comment): Likewise.
754         (scan_lists): Likewise.
755         (char_quoted): Likewise.
756         (Fbackward_prefix_chars): Likewise.
757         (scan_sexps_forward): Likewise.
758         (update_just_this_syntax_table): Deleted in XEmacs UTF-2000.
759         (update_syntax_table): Likewise.
760
761         * search.c (skip_chars): Use `syntax_table' instead of
762         `mirror_syntax_table' in XEmacs UTF-2000.
763         (wordify): Likewise.
764         (Freplace_match): Likewise.
765
766         * regex.c (re_compile_fastmap): Use `syntax_table' instead of
767         `mirror_syntax_table' in XEmacs UTF-2000.
768         (WORDCHAR_P_UNSAFE): Likewise.
769         (re_match_2_internal): Likewise.
770
771         * font-lock.c (find_context): Use `buf->syntax_table' instead of
772         `buf->mirror_syntax_table' in XEmacs UTF-2000.
773
774         * cmds.c (internal_self_insert): Use `buf->syntax_table' instead
775         of `buf->mirror_syntax_table' in XEmacs UTF-2000.
776
777         * chartab.h (struct Lisp_Char_Table): Delete `mirror_table' in
778         XEmacs UTF-2000.
779
780         * chartab.c (mark_char_table): Don't mark `mirror_table' in XEmacs
781         UTF-2000.
782         (print_char_table): Print `default_value' in XEmacs UTF-2000.
783         (char_table_description): Delete `mirror_table' in XEmacs
784         UTF-2000.
785         (fill_char_table): Don't call `update_syntax_table' in XEmacs
786         UTF-2000.
787         (Fmake_char_table): Don't use `mirror_table' in XEmacs UTF-2000.
788         (Fcopy_char_table): Likewise.
789         (put_char_table): Don't call `update_syntax_table' in XEmacs
790         UTF-2000.
791
792         * casefiddle.c (casify_object): Use `buf->syntax_table' instead of
793         `buf->mirror_syntax_table' in XEmacs UTF-2000.
794         (casify_region_internal): Likewise.
795
796         * bufslots.h: Delete `mirror_syntax_table' in XEmacs UTF-2000.
797
798         * buffer.c (common_init_complex_vars_of_buffer): Don't use
799         `mirror_syntax_table' in XEmacs UTF-2000.
800
801         * abbrev.c (abbrev_match): Use `buf->syntax_table' instead of
802         `buf->mirror_syntax_table' in XEmacs UTF-2000.
803         (Fexpand_abbrev): Likewise.
804
805 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
806
807         * chartab.c (vars_of_chartab): Update `utf-2000-version' to 0.18.
808
809 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
810
811         * chartab.c (map_over_uint8_byte_table): Cancel temporary hack.
812         (map_over_uint16_byte_table): Likewise.
813         (map_over_byte_table): Likewise.
814         (get_char_id_table): Refer `cit->default_value'.
815         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
816         (map_char_id_table): Use `1 << 30' instead of `1 << 24' as number
817         of character-id ranges.
818         (mark_char_table): Mark `ct->default_value'.
819         (char_table_description): Add `default_value'.
820         (fill_char_table): Use `default_value'.
821         (decode_char_table_range): Decode `nil' as
822         `CHARTAB_RANGE_DEFAULT'.
823         (get_char_id_table): Refer `cit->default_value'.
824         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
825         (map_char_table): Support `CHARTAB_RANGE_DEFAULT'; cancel
826         temporary hack; check value of char-table is bound or not.
827         (slow_map_char_table_fun): Support `CHARTAB_RANGE_DEFAULT'.
828
829         * chartab.h (struct Lisp_Char_Table): Add new member
830         `default_value' in XEmacs UTF-2000.
831         (CHAR_TABLE_VALUE_UNSAFE): Use `default_value'.
832         (enum chartab_range_type): Add `CHARTAB_RANGE_DEFAULT' in XEmacs
833         UTF-2000.
834
835 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
836
837         * chartab.h (Lisp_Char_ID_Table): Deleted.
838
839         * chartab.c (char_table_description): Fix typo.
840         (Fmap_char_attribute): Use `Lisp_Char_Table' instead of
841         `Lisp_Char_ID_Table'.
842
843 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
844
845         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_TABLEP' instead of
846         `CHAR_ID_TABLE_P'.
847
848         * mule-charset.c (remove_char_ccs): Use `CHAR_TABLEP' instead of
849         `CHAR_ID_TABLE_P'.
850
851         * chartab.h (XCHAR_ID_TABLE): Deleted.
852         (XSETCHAR_ID_TABLE): Deleted.
853         (CHAR_ID_TABLE_P): Deleted.
854
855         * chartab.c (put_char_id_table): Use `CHAR_TABLEP' instead of
856         `CHAR_ID_TABLE_P'.
857         (Fget_composite_char): Likewise.
858         (put_char_table): Likewise.
859         (add_char_attribute_alist_mapper): Fixed.
860         (Fchar_attribute_alist): Use `CHAR_TABLEP' instead of
861         `CHAR_ID_TABLE_P'.
862         (Fget_char_attribute): Likewise.
863         (Fget_char_attribute): Likewise.
864         (Fmap_char_attribute): Likewise.
865
866         * char-ucs.h (charset_code_point): Use `CHAR_TABLEP' instead of
867         `CHAR_ID_TABLE_P'.
868         (encode_char_1): Likewise.
869
870 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
871
872         * text-coding.c (COMPOSE_ADD_CHAR): Use `XCHAR_TABLE' instead of
873         `XCHAR_ID_TABLE'.
874
875         * mule-charset.c (put_char_ccs_code_point): Use `XCHAR_TABLE'
876         instead of `XCHAR_ID_TABLE'.
877         (remove_char_ccs): Likewise.
878
879         * chartab.c (put_char_id_table): Use `XCHAR_TABLE' instead of
880         `XCHAR_ID_TABLE'.
881         (Fget_composite_char): Likewise.
882         (Fchar_variants): Likewise.
883         (put_char_table): Likewise.
884         (add_char_attribute_alist_mapper): Likewise.
885         (Fchar_attribute_alist): Likewise.
886         (Fget_char_attribute): Likewise.
887         (Fput_char_attribute): Likewise.
888         (Fmap_char_attribute): Likewise.
889         (Fmap_char_attribute): Likewise.
890
891         * char-ucs.h (charset_code_point): Use `XCHAR_TABLE' instead of
892         `XCHAR_ID_TABLE'.
893         (encode_char_1): Likewise.
894
895 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
896
897         * chartab.c (map_char_id_table): Use `Lisp_Char_Table' instead of
898         `Lisp_Char_ID_Table'.
899         (mark_char_id_table): Deleted.
900         (print_char_id_table): Likewise.
901         (char_id_table_equal): Likewise.
902         (char_id_table_hash): Likewise.
903         (char_id_table_description): Likewise.
904         (char_id_table): Likewise.
905         (make_char_id_table): Use `Fmake_char_table' and
906         `fill_char_table'.
907         (get_char_id_table): Use `Lisp_Char_Table' instead of
908         `Lisp_Char_ID_Table'.
909         (put_char_id_table): Likewise.
910         (Fput_char_attribute): Use `XCHAR_TABLE' instead of
911         `XCHAR_ID_TABLE'.
912         (Fremove_char_attribute): Likewise.
913         (syms_of_chartab): Don't define type `char-id-table'.
914
915         * chartab.h (struct Lisp_Char_ID_Table): Deleted.
916         (char_id_table): Likewise.
917         (GC_CHAR_ID_TABLE_P): Likewise.
918         (Lisp_Char_ID_Table): Use structure `Lisp_Char_Table'.
919         (XCHAR_ID_TABLE): Use `XCHAR_TABLE'.
920         (XSETCHAR_ID_TABLE): Use `XSETCHAR_TABLE'.
921         (CHAR_ID_TABLE_P): Use `CHAR_TABLEP'.
922         (get_char_id_table): Use `Lisp_Char_Table' instead of
923         `Lisp_Char_ID_Table'.
924         (put_char_id_table_0): Likewise.
925         (put_char_id_table): Likewise.
926
927 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
928
929         * chartab.h: Lisp_Byte_Table related codes are moved from
930         chartab.h.
931
932         * char-ucs.h: Move Lisp_Byte_Table related codes to chartab.h.
933
934 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
935
936         * chartab.h: Don't include "chartab.h".
937         (struct Lisp_Char_ID_Table): Moved from char-ucs.h.
938         (Lisp_Char_ID_Table): Likewise.
939         (char_id_table): Likewise.
940         (XCHAR_ID_TABLE): Likewise.
941         (XSETCHAR_ID_TABLE): Likewise.
942         (CHAR_ID_TABLE_P): Likewise.
943         (GC_CHAR_ID_TABLE_P): Likewise.
944         (get_char_id_table): Likewise.
945
946         * char-ucs.h: Include "chartab.h".
947         (struct Lisp_Char_ID_Table): Moved to chartab.h.
948         (Lisp_Char_ID_Table): Likewise.
949         (char_id_table): Likewise.
950         (XCHAR_ID_TABLE): Likewise.
951         (XSETCHAR_ID_TABLE): Likewise.
952         (CHAR_ID_TABLE_P): Likewise.
953         (GC_CHAR_ID_TABLE_P): Likewise.
954         (get_char_id_table): Likewise.
955
956 2001-09-01  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
957
958         * chartab.c (copy_uint8_byte_table): New function.
959         (copy_uint16_byte_table): New function.
960         (copy_byte_table): New function.
961         (map_over_uint8_byte_table): Modify to avoid huge numbers of
962         characters to call.
963         (map_over_uint16_byte_table): Likewise.
964         (map_over_byte_table): Likewise.
965         (get_byte_table): Move prototype to chartab.h.
966         (put_byte_table): Likewise.
967         (put_char_id_table_0): Moved to chartab.h.
968         (mark_char_table_entry): Don't define in XEmacs UTF-2000.
969         (char_table_entry_equal): Likewise.
970         (char_table_entry_hash): Likewise.
971         (char_table_entry_description): Likewise.
972         (char_table_entry): Likewise.
973         (make_char_table_entry): Likewise.
974         (copy_char_table_entry): Likewise.
975         (get_non_ascii_char_table_value): Likewise.
976         (map_over_charset_ascii): Likewise.
977         (map_over_charset_control_1): Likewise.
978         (map_over_charset_row): Likewise.
979         (map_over_other_charset): Likewise.
980         (mark_char_table): Modify for new structure in XEmacs UTF-2000.
981         (print_char_table): Likewise.
982         (char_table_equal): Likewise.
983         (char_table_hash): Likewise.
984         (char_table_description): Likewise.
985         (fill_char_table): Likewise.
986         (Fcopy_char_table): Likewise.
987         (get_char_table): Likewise.
988         (Fget_range_char_table): Likewise.
989         (put_char_table): Likewise.
990         (map_char_table): Likewise.
991         (syms_of_chartab): Don't define `char_table_entry' in XEmacs
992         UTF-2000.
993
994 2001-08-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
995
996         * cmds.c (vars_of_cmds): Use `put_char_id_table_0' for
997         `Vauto_fill_chars' in XEmacs UTF-2000.
998
999         * chartab.h (get_byte_table): New prototype [moved from
1000         chartab.c].
1001         (put_byte_table): Likewise [moved from chartab.c].
1002         (put_char_id_table_0): New inline function [moved from chartab.c].
1003         (struct Lisp_Char_Table_Entry): Don't define in XEmacs UTF-2000.
1004         (Lisp_Char_Table_Entry): Likewise.
1005         (char_table_entry): Likewise.
1006         (XCHAR_TABLE_ENTRY): Likewise.
1007         (XSETCHAR_TABLE_ENTRY): Likewise.
1008         (CHAR_TABLE_ENTRYP): Likewise.
1009         (CHECK_CHAR_TABLE_ENTRY): Likewise.
1010         (NUM_ASCII_CHARS): Likewise.
1011         (struct Lisp_Char_Table): New implementation in XEmacs UTF-2000.
1012         (CHAR_TABLE_VALUE_UNSAFE): Likewise.
1013
1014 2001-08-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1015
1016         * chartab.c (get_char_id_table): Change interface.
1017         (put_char_id_table_0): New function.
1018         (put_char_id_table): Change interface; new implementation.
1019         (Fget_composite_char): Modify for interface change of
1020         `get_char_id_table'.
1021         (Fchar_variants): Likewise.
1022         (add_char_attribute_alist_mapper): Likewise.
1023         (Fchar_attribute_alist): Likewise.
1024         (Fget_char_attribute): Likewise.
1025         (Fput_char_attribute): Allow coded-charset or [CODED-CHARSET ROW]
1026         as same as character as the first argument like `put-char-table';
1027         modify for interface change of `put_char_id_table'.
1028         (Fremove_char_attribute): Modify for interface change of
1029         `put_char_id_table'.
1030
1031 2001-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1032
1033         * text-coding.c: Sync up with XEmacs 21.2.41.
1034         (COMPOSE_ADD_CHAR): Modify for interface change of
1035         `get_char_id_table'.
1036
1037         * mule-charset.c (put_char_ccs_code_point): Modify for interface
1038         change of `put_char_id_table'.
1039         (remove_char_ccs): Likewise.
1040
1041         * chartab.h (put_char_id_table): Change interface.
1042
1043         * char-ucs.h (get_char_id_table): Change interface.
1044         (charset_code_point): Modify for interface change of
1045         `get_char_id_table'.
1046         (encode_char_1): Likewise.
1047
1048 2001-08-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1049
1050         * chartab.c (map_over_uint8_byte_table): Change arguments; add new
1051         argument `ccs'.
1052         (map_over_uint16_byte_table): Likewise.
1053         (map_over_byte_table): Likewise.
1054         (map_char_id_table): Add new argument `range' like
1055         `map_char_table'.
1056         (Fmap_char_attribute): Add new argument `range' like
1057         `Fmap_char_table'.
1058
1059 2001-08-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1060
1061         * chartab.c (map_over_uint8_byte_table): Change interface of
1062         mapping function to use struct chartab_range instead of Emchar.
1063         (map_over_uint16_byte_table): Likewise.
1064         (map_over_byte_table): Likewise.
1065         (map_char_id_table): Likewise.
1066         (struct slow_map_char_id_table_arg): Deleted.
1067         (slow_map_char_id_table_fun): Deleted.
1068         (Fmap_char_attribute): Use struct `slow_map_char_table_arg' and
1069         function `slow_map_char_table_fun' instead of struct
1070         `slow_map_char_id_table_arg' and function
1071         `slow_map_char_id_table_fun'.
1072
1073 2001-08-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1074
1075         * mule-charset.c: Move char-it-table related codes to chartab.c.
1076         (Vutf_2000_version): Moved to chartab.c.
1077         (Fdefine_char): Likewise.
1078         (Ffind_char): Likewise.
1079         (syms_of_mule_charset): Move types `uint8-byte-table',
1080         `uint16-byte-table', `byte-table' and `char-id-table' to
1081         chartab.c; move functions `char_attribute_list,
1082         `find_char_attribute_table, `char_attribute_alist,
1083         `get_char_attribute, `put_char_attribute, `remove_char_attribute,
1084         `map_char_attribute, `define_char, `find_char, `char_variants and
1085         `get_composite_char to chartab.c; move symbols `=>ucs',
1086         `->decomposition', `compat', `isolated', `initial', `medial',
1087         `final', `vertical', `noBreak', `fraction', `super', `sub',
1088         `circle', `square', `wide', `narrow', `small' and `font' to
1089         chartab.c.
1090         (vars_of_mule_charset): Move `utf-2000-version' to chartab.c; move
1091         setting codes for `Vcharacter_composition_table' and
1092         `Vcharacter_variant_table' to chartab.c.
1093         (complex_vars_of_mule_charset): Move setting code for
1094         `Vchar_attribute_hash_table' to chartab.c.
1095
1096         * chartab.h: Include "char-ucs.h" if --with-utf-2000 is specified.
1097         (make_char_id_table): New prototype.
1098         (put_char_id_table): Likewise.
1099         (Fget_char_attribute): Likewise.
1100
1101         * chartab.c: Move char-id-table related code from mule-charset.c.
1102         (Vutf_2000_version): Moved from mule-charset.c.
1103
1104         * char-ucs.h (Qucs): New external variable.
1105         (put_char_ccs_code_point): New prototype.
1106         (remove_char_ccs): Likewise.
1107
1108 2001-08-14  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
1109
1110         * mule-charset.c (Vcharset_ucs_jis): New variable.
1111         (Qucs_jis): Likewise.
1112         (syms_of_mule_charset): Add new symbol `ucs-jis'.
1113         (complex_vars_of_mule_charset): Add new coded-charset `ucs-jis'.
1114
1115         * char-ucs.h (LEADING_BYTE_UCS_JIS): New macro.
1116
1117 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1118
1119         * mule-charset.c (map_over_uint8_byte_table): New function.
1120         (map_over_uint16_byte_table): Likewise.
1121         (map_over_byte_table): Likewise.
1122         (map_char_id_table): Likewise.
1123         (slow_map_char_id_table_fun): Likewise.
1124         (Fmap_char_attribute): Likewise.
1125         (syms_of_mule_charset): Add new function `map-char-attribute'.
1126
1127 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1128
1129         * mule-charset.c (Ffind_char): New function in XEmacs UTF-2000.
1130         (syms_of_mule_charset): Add new function `find-char'.
1131
1132 2001-08-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1133
1134         * mule-charset.c (Vcharset_chinese_big5_cdp): New variable in
1135         XEmacs UTF-2000.
1136         (Qchinese_big5_cdp): New variable in XEmacs UTF-2000.
1137         (syms_of_mule_charset): Add new symbol `chinese-big5-cdp' in
1138         XEmacs UTF-2000.
1139         (complex_vars_of_mule_charset): Add new coded-charset
1140         `chinese-big5-cdp' in XEmacs UTF-2000; change registry of
1141         `ideograph-gt-pj-*'.
1142
1143         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5_CDP): New macro.
1144
1145 2001-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1146
1147         * mule-charset.c (encode_builtin_char_1): Purge codes about
1148         {MIN|MAX}_CHAR_{GREEK|CYRILLIC}; comment out code about
1149         {MIN|MAX}_CHAR_HEBREW.
1150         (complex_vars_of_mule_charset): Comment out {MIN|MAX}_CHAR_HEBREW;
1151         don't use {MIN|MAX}_CHAR_HEBREW to define `hebrew-iso8859-8'.
1152
1153         * char-ucs.h (MIN_CHAR_GREEK): Purged.
1154         (MAX_CHAR_GREEK): Purged.
1155         (MIN_CHAR_CYRILLIC): Purged.
1156         (MAX_CHAR_CYRILLIC): Purged.
1157         (MIN_CHAR_HEBREW): Commented out.
1158         (MAX_CHAR_HEBREW): Likewise.
1159
1160 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1161
1162         * mule-charset.c (Qto_ucs): New variable.
1163         (Fput_char_attribute): Treat `=>ucs' as same as `->ucs'.
1164         (Fdefine_char): Likewise.
1165         (syms_of_mule_charset): Add new symbol `=>ucs'.
1166
1167 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1168
1169         * mule-charset.c (Fdecode_char): Fixed.
1170
1171 2001-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1172
1173         * mule-charset.c (complex_vars_of_mule_charset): Modify registry
1174         of latin-tcvn5712 to accept "tcvn5712.1993-1" as same as
1175         "tcvn5712-1".
1176
1177 2001-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1178
1179         * mule-charset.c (Vcharset_ucs_big5): New variable.
1180         (Qucs_big5): Likewise.
1181         (syms_of_mule_charset): Add new symbol `ucs-big5'.
1182         (complex_vars_of_mule_charset): Add new coded-charset `ucs-big5'.
1183
1184         * char-ucs.h (LEADING_BYTE_UCS_BIG5): New macro.
1185
1186 2001-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1187
1188         * mule-charset.c (decode_builtin_char): Check Big5 code range
1189         which can be mapped to `chinese-big5-1' and `chinese-big5-2'.
1190
1191 2001-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1192
1193         * mule-charset.c (Vcharset_chinese_gb12345): New variable.
1194         (Qchinese_gb12345): Likewise.
1195         (Fdecode_builtin_char): Fixed.
1196         (syms_of_mule_charset): Add `chinese-gb12345'.
1197         (complex_vars_of_mule_charset): Add coded-charset
1198         `chinese-gb12345'.
1199
1200         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x70.
1201         (LEADING_BYTE_CHINESE_GB12345): New macro.
1202
1203 2001-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1204
1205         * mule-charset.c (Fdecode_builtin_char): Use `latin-viscii-lower'
1206         and `latin-viscii-upper' for `latin-viscii'.
1207
1208 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1209
1210         * mule-charset.c (Fdecode_builtin_char): Comment out
1211         regularization code for ISO-IR GR representation.
1212
1213 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1214
1215         * mule-charset.c (decode_builtin_char): New function; renamed from
1216         `make_builtin_char'; return -1 instead of signal.
1217         (Fdecode_builtin_char): Use `decode_builtin_char'.
1218
1219         * char-ucs.h (decode_builtin_char): New prototype; renamed from
1220         `make_builtin_char'.
1221         (DECODE_CHAR): Use `decode_builtin_char' instead of
1222         `make_builtin_char'; use mapping table of `chinese-big5' for
1223         `chinese-big5-{1,2}'.
1224
1225 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1226
1227         * text-coding.c (char_encode_big5): New function.
1228         (char_finish_big5): Likewise.
1229         (reset_encoding_stream): Use `char_encode_big5' and
1230         `char_finish_big5' for CODESYS_BIG5.
1231         (mule_encode): Don't use `encode_coding_big5'.
1232         (encode_coding_big5): Deleted.
1233
1234 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1235
1236         * text-coding.c (BYTE_BIG5_TWO_BYTE_1_P): Support private area
1237         0x81- in XEmacs UTF-2000.
1238         (detect_coding_big5): Likewise.
1239
1240 2001-07-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1241
1242         * mule-charset.c (Fdefine_char): Don't use a CCS property to
1243         generate character-id if the CCS property does not have
1244         corresponding predefined character.
1245         (make_builtin_char): Return -1 if corresponding predefined
1246         character is not found.
1247         (Fdecode_char): Return nil if corresponding character is not
1248         found.
1249         (complex_vars_of_mule_charset): Change `ucs-cns' to 256^3-set and
1250         don't map to builtin ucs space.
1251
1252 2001-07-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1253
1254         * char-ucs.h (MAX_LEADING_BYTE_PRIVATE): Fixed.
1255         (MAX_CHAR_GT): Changed to `(MIN_CHAR_GT + 66773)'.
1256
1257 2001-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1258
1259         * mule-charset.c (Vcharset_ideograph_gt): New variable.
1260         (Vcharset_ideograph_gt_pj_{1..11}): Likewise.
1261         (Qideograph_gt): Likewise.
1262         (Qideograph_gt_pj_{1..11}): Likewise.
1263         (syms_of_mule_charset): Add `ideograph-gt', `ideograph-gt-pj-1',
1264         `ideograph-gt-pj-2', ..., `ideograph-gt-pj-10' and
1265         `ideograph-gt-pj-11'.
1266         (complex_vars_of_mule_charset): Add coded-charset `ideograph-gt',
1267         `ideograph-gt-pj-1', `ideograph-gt-pj-2', ...,
1268         `ideograph-gt-pj-10' and `ideograph-gt-pj-11'.
1269
1270         * char-ucs.h (LEADING_BYTE_GT): New macro.
1271         (LEADING_BYTE_GT_PJ_{1..11}): Likewise.
1272         (MIN_CHAR_GT): Likewise.
1273         (MAX_CHAR_GT): Likewise.
1274
1275 2001-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1276
1277         * lisp-disunion.h (XCHARVAL): New implementation for UTF-2000 to
1278         support U-60000000 .. U-7FFFFFFF with 32 bits architecture.
1279
1280         * doprnt.c (unsigned_int_converters): Add `c'.
1281         (emacs_doprnt_1): Use `XUINT' for unsigned integers.
1282
1283         * char-ucs.h (MIN_CHAR_DAIKANWA): Don't refer `MIN_CHAR_MOJIKYO'.
1284         (MAX_CHAR_DAIKANWA): Refer `MIN_CHAR_DAIKANWA' instead of
1285         `MIN_CHAR_MOJIKYO'.
1286         (MIN_CHAR_MOJIKYO_0): New macro; refer `MIN_CHAR_DAIKANWA'.
1287         (MAX_CHAR_MOJIKYO_0): New macro.
1288         (MIN_CHAR_MOJIKYO): Changed to 0x60000000.
1289
1290 2001-06-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1291
1292         * mule-charset.c (Fdefine_char): Delete cemented out code.
1293         (encode_builtin_char_1): Modify for new allocation of builtin
1294         Mojikyo characters.
1295
1296         * lisp-disunion.h (XCHARVAL): Cast the argument into EMACS_UINT.
1297
1298 2001-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1299
1300         * mule-charset.c (Vcharset_ucs_cns): New variable.
1301         (Qucs_cns): New variable.
1302         (syms_of_mule_charset): Add new symbol `ucs-cns'.
1303         (complex_vars_of_mule_charset): Add new coded-charset `ucs-cns'.
1304
1305 2001-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1306
1307         * char-ucs.h (LEADING_BYTE_UCS_CNS): New macro.
1308
1309 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
1310
1311         * search.c (search_buffer): Make `charset_base_code' as
1312         character-id >> 6 to eliminate the corresponding last byte in
1313         UTF-8 representation [I'm not sure it is right thing].
1314         (boyer_moore): Likewise.
1315
1316 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
1317
1318         * emacs.c (vars_of_emacs): Convert XEMACS_CODENAME to internal
1319         representation in MULE.
1320
1321 2000-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1322
1323         * text-coding.c (Fmake_coding_system): Use
1324         `EXTERNAL_PROPERTY_LIST_LOOP_3' instead of
1325         `EXTERNAL_PROPERTY_LIST_LOOP'.
1326
1327 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1328
1329         * text-coding.c (decode_output_utf8_partial_char): New function.
1330         (decode_coding_utf8): Use `decode_output_utf8_partial_char'.
1331
1332 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1333
1334         * text-coding.c (decode_coding_utf8): Output original byte
1335         sequence if it is broken; change order of conditions.
1336
1337         * mb-utf-8.h (REP_BYTES_BY_FIRST_BYTE): Use Bufbyte; reverse order
1338         of conditions.
1339
1340         * mb-multibyte.h (BYTE_ASCII_P):
1341         Use bit ops for char-signedness safety.
1342         (BYTE_C0_P): Use bit ops for char-signedness safety.
1343         (BYTE_C1_P): Use bit ops for char-signedness safety.
1344
1345         * character.h: (XCHAR_OR_CHAR_INT):
1346         Always use inline function.
1347         Remove redundant type checking assert() - XINT will abort quite
1348         nicely.
1349
1350 2000-11-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1351
1352         * text-coding.c: (Fencode_shift_jis_char):
1353         (Fencode_big5_char):
1354         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
1355         Replace 0 with '\0' when working with bytes.
1356         Replace initial "(" with "\(" in docstrings.
1357
1358         (Fmake_coding_system):
1359         When type is ccl and value is vector, register it with a proper
1360         symbol.  And checks whether the given ccl program is valid.
1361         (mule_decode): When calling ccl_driver, if src indicates
1362         NULL pointer, set an empty string instead.
1363         (mule_encode): Likewise.
1364
1365         (detect_eol_type):
1366         (detect_coding_sjis):
1367         (decode_coding_sjis):
1368         (detect_coding_big5):
1369         (decode_coding_big5):
1370         (detect_coding_ucs4):
1371         (decode_coding_ucs4):
1372         (detect_coding_utf8):
1373         (decode_coding_utf8):
1374         (detect_coding_iso2022):
1375         (decode_coding_iso2022):
1376         (decode_coding_no_conversion):
1377         (mule_decode):
1378         Make all detecting and decoding functions take an Extbyte * arg.
1379         (text_encode_generic):
1380         (encode_coding_big5):
1381         (encode_coding_no_conversion):
1382         (mule_encode):
1383         Make all encoding functions take a Bufbyte * arg.
1384         Use size_t instead of unsigned int for memory sizes.
1385         Only cast to unsigned char whenever dereferencing Extbyte *.
1386
1387         (struct lrecord_description fcd_description_1): Use countof.
1388         (complex_vars_of_file_coding):
1389         Use countof instead of sizeof.
1390         Use CHECK_NATNUM instead of CHECK_INT.
1391
1392 2000-11-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1393
1394         * mule-charset.c (Fget_char_attribute): Add new optional argument
1395         `default-value'.
1396         (put_char_ccs_code_point): Modify for `Fget_char_attribute'.
1397         (remove_char_ccs): Likewise.
1398
1399 2000-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1400
1401         * text-coding.c (char_encode_shift_jis): New implementation in
1402         UTF-2000.
1403         (decode_coding_big5): Use `DECODE_CHAR (Vcharset_chinese_big5,
1404         ...)'.
1405
1406         * mule-charset.c (Vcharset_chinese_big5): New variable in
1407         UTF-2000.
1408         (Qchinese_big5): New variable in UTF-2000.
1409         (BIG5_SAME_ROW): New macro in UTF-2000.
1410         (make_builtin_char): Use builtin characters of
1411         `Vcharset_chinese_big5_1' and `Vcharset_chinese_big5_2' as builtin
1412         characters of `Vcharset_chinese_big5'.
1413         (syms_of_mule_charset): Add new symbol `chinese-big5' in UTF-2000.
1414         (complex_vars_of_mule_charset): Add new coded-charset
1415         `chinese-big5' in UTF-2000.
1416
1417         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5): New macro.
1418         (Vcharset_chinese_big5): New external variable declaration.
1419         (Vcharset_japanese_jisx0208_1990): Likewise.
1420
1421 2000-07-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1422
1423         * mule-charset.c (expand_uint8_byte_table_to_uint16): New
1424         function.
1425         (put_byte_table): Use `expand_uint8_byte_table_to_uint16'.
1426
1427 2000-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1428
1429         * mule-charset.c (complex_vars_of_mule_charset): Define new macro
1430         `DEF_MOJIKYO_PJ' in UTF-2000; use `DEF_MOJIKYO_PJ' to define
1431         `mojikyo-pj-*'; add "MojikyoPJ-*" to charset-registry of
1432         `mojikyo-pj-*'.
1433
1434 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1435
1436         * text-coding.c (decode_coding_big5): Modify for UTF-2000.
1437
1438 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1439
1440         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1441         to 0.17.
1442
1443 2000-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1444
1445         * file-coding.c (ucs_to_char): Don't use `CHARSET_TYPE_*'; modify
1446         for `CHARSET_BY_ATTRIBUTES'.
1447         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
1448         `CHARSET_BY_ATTRIBUTES'.
1449
1450         * text-coding.c (struct decoding_stream): Rename member `CH' to
1451         `CPOS'.
1452         (reset_decoding_stream): Use `str->cpos' instead of `str->ch'.
1453         (decode_coding_sjis): Likewise.
1454         (decode_coding_big5): Likewise.
1455         (decode_coding_ucs4): Likewise.
1456         (decode_coding_utf8): Likewise.
1457         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
1458         `CHARSET_BY_ATTRIBUTES'.
1459         (decode_coding_iso2022): Use `str->cpos' instead of `str->ch'; use
1460         `str->counter'; decode 3, 4 bytes sets.
1461         (char_encode_iso2022): Don't use `BREAKUP_CHAR'; encode 3, 4 bytes
1462         sets.
1463         (decode_coding_no_conversion): Use `str->cpos' instead of
1464         `str->ch'.
1465
1466         * mule-charset.c (Vcharset_mojikyo_2022_1): New variable.
1467         (Qmojikyo_2022_1): New variable.
1468         (make_charset): Don't use `CHARSET_TYPE_*'.
1469         (range_charset_code_point): Support coded-charset
1470         `mojikyo-2022-1'.
1471         (encode_builtin_char_1): Modify for `CHARSET_BY_ATTRIBUTES'.
1472         (Fmake_charset): Don't use `CHARSET_TYPE_*'; modify for
1473         `CHARSET_BY_ATTRIBUTES'.
1474         (Fcharset_from_attributes): Don't use `CHARSET_TYPE_*'; modify for
1475         `CHARSET_BY_ATTRIBUTES'.
1476         (syms_of_mule_charset): Add new symbol `mojikyo-2022-1'.
1477         (complex_vars_of_mule_charset): Add new coded-charset
1478         `mojikyo-2022-1'.
1479
1480         * mule-charset.h (CHARSET_BY_ATTRIBUTES): New implementation and
1481         interface; changed to inline function.
1482
1483         * char-ucs.h (Vcharset_mojikyo_2022_1): New variable.
1484         (LEADING_BYTE_MOJIKYO_2022_1): New macro.
1485         (LEADING_BYTE_MOJIKYO_2022_2): New macro.
1486         (CHARSET_TYPE_94): Deleted.
1487         (CHARSET_TYPE_94X94): Deleted.
1488         (CHARSET_TYPE_96): Deleted.
1489         (CHARSET_TYPE_96X96): Deleted.
1490         (CHARSET_TYPE_128): Deleted.
1491         (CHARSET_TYPE_128X128): Deleted.
1492         (CHARSET_TYPE_256): Deleted.
1493         (CHARSET_TYPE_256X256): Deleted.
1494         (CHARSET_BY_ATTRIBUTES): New implementation and interface; changed
1495         to inline function.
1496         (DECODE_MOJIKYO_2022): New inline function.
1497         (DECODE_CHAR): Use `DECODE_MOJIKYO_2022'; decode
1498         `Vcharset_mojikyo_2022_1'.
1499
1500 2000-07-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1501
1502         * mule-charset.c (byte_table_same_value_p): Use `internal_equal'
1503         instead of `EQ'.
1504         (put_byte_table): Likewise.
1505         (char_id_table_equal): Use `get_byte_table' [new implementation].
1506
1507 2000-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1508
1509         * mule-charset.c: Include <limits.h> in UTF-2000.
1510         (BT_UINT8_MIN): New macro in UTF-2000.
1511         (BT_UINT8_MAX): New macro in UTF-2000.
1512         (BT_UINT8_t): New macro in UTF-2000.
1513         (BT_UINT8_nil): New macro in UTF-2000.
1514         (BT_UINT8_unbound): New macro in UTF-2000.
1515         (INT_UINT8_P): New inline function in UTF-2000.
1516         (UINT8_VALUE_P): New inline function in UTF-2000.
1517         (UINT8_ENCODE): New inline function in UTF-2000.
1518         (UINT8_DECODE): New inline function in UTF-2000.
1519         (mark_uint8_byte_table): New function in UTF-2000.
1520         (print_uint8_byte_table): New function in UTF-2000.
1521         (uint8_byte_table_equal): New function in UTF-2000.
1522         (uint8_byte_table_hash): New function in UTF-2000.
1523         (make_uint8_byte_table): New function in UTF-2000.
1524         (uint8_byte_table_same_value_p): New function in UTF-2000.
1525         (BT_UINT16_MIN): New macro in UTF-2000.
1526         (BT_UINT16_MAX): New macro in UTF-2000.
1527         (BT_UINT16_t): New macro in UTF-2000.
1528         (BT_UINT16_nil): New macro in UTF-2000.
1529         (BT_UINT16_unbound): New macro in UTF-2000.
1530         (INT_UINT16_P): New inline function in UTF-2000.
1531         (UINT16_VALUE_P): New inline function in UTF-2000.
1532         (UINT16_ENCODE): New inline function in UTF-2000.
1533         (UINT16_DECODE): New inline function in UTF-2000.
1534         (UINT8_TO_UINT16): New inline function in UTF-2000.
1535         (mark_uint16_byte_table): New function in UTF-2000.
1536         (print_uint16_byte_table): New function in UTF-2000.
1537         (uint16_byte_table_equal): New function in UTF-2000.
1538         (uint16_byte_table_hash): New function in UTF-2000.
1539         (make_uint16_byte_table): New function in UTF-2000.
1540         (uint16_byte_table_same_value_p): New function in UTF-2000.
1541         (print_byte_table): New function in UTF-2000.
1542         (byte-table): Use `print_byte_table' as printer.
1543         (make_byte_table): Delete second argument `older'.
1544         (byte_table_same_value_p): New function in UTF-2000.
1545         (copy_byte_table): Deleted.
1546         (get_byte_table): New function in UTF-2000.
1547         (put_byte_table): New function in UTF-2000.
1548         (print_char_id_table): New function in UTF-2000.
1549         (char-id-table): Use `print_char_id_table' as printer.
1550         (make_char_id_table): Delete second argument `older'.
1551         (get_char_id_table): Use `get_byte_table [new implementation].
1552         (put_char_id_table): Use `get_byte_table and `put_byte_table' [new
1553         implementation].
1554         (Ffind_char_attribute_table): New function in UTF-2000.
1555         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
1556         (syms_of_mule_charset): Add LRECORD_IMPLEMENTATION
1557         `uint8_byte_table' and `uint16_byte_table' in UTF-2000.
1558         (syms_of_mule_charset): Add new function
1559         `find-char-attribute-table' in UTF-2000.
1560
1561         * lrecord.h (enum lrecord_type): Add
1562         `lrecord_type_uint16_byte_table' and
1563         `lrecord_type_uint8_byte_table'.
1564
1565         * char-ucs.h (struct Lisp_Uint8_Byte_Table): New structure.
1566         (Lisp_Uint8_Byte_Table): New type.
1567         (XUINT8_BYTE_TABLE): New macro.
1568         (XSETUINT8_BYTE_TABLE): New macro.
1569         (UINT8_BYTE_TABLE_P): New macro.
1570         (GC_UINT8_BYTE_TABLE_P): New macro.
1571         (struct Lisp_Uint16_Byte_Table): New structure.
1572         (Lisp_Uint16_Byte_Table): New type.
1573         (XUINT16_BYTE_TABLE): New macro.
1574         (XSETUINT16_BYTE_TABLE): New macro.
1575         (UINT16_BYTE_TABLE_P): New macro.
1576         (GC_UINT16_BYTE_TABLE_P): New macro.
1577
1578 2000-07-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1579
1580         * mule-charset.c (Vcharacter_ideographic_radical_table): Deleted.
1581         (Vcharacter_ideographic_strokes_table): Deleted.
1582         (Vcharacter_total_strokes_table): Deleted.
1583         (Vcharacter_morohashi_daikanwa_table): Deleted.
1584         (Vcharacter_decomposition_table): Deleted.
1585         (Qname): Deleted because it is duplicated.
1586         (Qideographic_radical): Deleted.
1587         (Qideographic_strokes): Deleted.
1588         (Qtotal_strokes): Deleted.
1589         (Qmorohashi_daikanwa): Deleted.
1590         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' for
1591         `ideographic-radical', `ideographic-strokes', `total-strokes',
1592         `morohashi-daikanwa' and `->decomposition'.
1593         (Fget_char_attribute): Likewise.
1594         (Fput_char_attribute): Likewise; use `make-vector' instead of
1595         `make_older_vector' for `->decomposition' value.
1596         (Fdefine_char): Comment out code to check `morohashi-daikanwa' and
1597         `ideograph-daikanwa'.
1598         (syms_of_mule_charset): Delete builtin symbols `name',
1599         `ideographic-radical', `ideographic-strokes', `total-strokes' and
1600         `morohashi-daikanwa'.
1601         (vars_of_mule_charset): Don't setup
1602         `Vcharacter_ideographic_radical_table',
1603         `Vcharacter_ideographic_strokes_table',
1604         `Vcharacter_total_strokes_table',
1605         `Vcharacter_morohashi_daikanwa_table' and
1606         `Vcharacter_decomposition_table'.
1607
1608 2000-06-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1609
1610         * alloc.c: Use `HAVE_GGC' instead of `UTF2000' for
1611         `make_older_vector', `make_vector_newer_1' and
1612         `make_vector_newer'.
1613
1614         * lisp.h: Use `HAVE_GGC' instead of `UTF2000' for
1615         `make_older_vector' and `make_vector_newer'.
1616
1617         * config.h.in (HAVE_GGC): New macro.
1618
1619 2000-06-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1620
1621         * mule-charset.c (struct char_attribute_list_closure): New
1622         structure in UTF-2000.
1623         (add_char_attribute_to_list_mapper): New function in UTF-2000.
1624         (Fchar_attribute_list): Likewise.
1625         (Fset_charset_mapping_table): Use `make_vector_newer'.
1626         (Fdecode_builtin_char): New function in UTF-2000.
1627         (syms_of_mule_charset): Add new function `char-attribute-list' and
1628         `decode-builtin-char' in UTF-2000.
1629
1630         * lisp.h (make_vector_newer): New prototype.
1631
1632         * alloc.c (make_vector_newer_1): New function.
1633         (make_vector_newer): New function.
1634
1635 2000-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1636
1637         * char-ucs.h (MAX_CHAR_DAIKANWA): Changed to `(MIN_CHAR_MOJIKYO +
1638         50100)'.
1639
1640 2000-06-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1641
1642         * mule-charset.c (Vchar_attribute_hash_table): New variable.
1643         (Vcharacter_attribute_table): Deleted.
1644         (Vcharacter_name_table): Deleted.
1645         (put_char_attribute): Deleted.
1646         (remove_char_attribute): Deleted.
1647         (struct char_attribute_alist_closure): New structure.
1648         (add_char_attribute_alist_mapper): New function.
1649         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' instead
1650         of `Vcharacter_attribute_table' and `Vcharacter_name_table'.
1651         (Fget_char_attribute): Likewise.
1652         (Fput_char_attribute): Likewise.
1653         (Fremove_char_attribute): Use `Vchar_attribute_hash_table' instead
1654         of `remove_char_attribute'.
1655         (Fdefine_char): Return character.
1656         (vars_of_mule_charset): Don't setup `Vcharacter_attribute_table'
1657         and `Vcharacter_name_table'.
1658         (complex_vars_of_mule_charset): Likewise
1659         `Vchar_attribute_hash_table'.
1660
1661 2000-06-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1662
1663         * character.h (CHARC_CHARSET): New macro.
1664         (CHARC_CHARSET_ID): New macro.
1665         (CHARC_CODE_POINT): New macro.
1666         (CHARC_COLUMNS): New macro.
1667         (CHARC_TO_CHAR): New inline function.
1668         (CHARC_EQ): New inline function.
1669         (CHARC_ASCII_EQ): New inline function.
1670         (CHARC_IS_SPACE): New inline function.
1671         (ASCII_TO_CHARC): New inline function.
1672
1673         * char-ucs.h (encode_char_2): Deleted.
1674         (ENCODE_CHAR): Use `encode_char_1' again.
1675         (breakup_char_1): Likewise.
1676         (CHAR_TO_CHARC): New inline function.
1677
1678         * char-lb.h, char-1byte.h (CHAR_TO_CHARC): New inline function.
1679
1680 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1681
1682         * redisplay.c (add_emchar_rune): Use `ASCII_TO_CHARC',
1683         `CHAR_TO_CHARC' and `CHARC_CHARSET'.
1684         (create_text_block): Use `CHARC_ASCII_EQ' and `CHARC_IS_SPACE'.
1685         (generate_formatted_string_db): Use `CHARC_TO_CHAR'.
1686         (create_string_text_block): Use `CHARC_ASCII_EQ' and
1687         `CHARC_IS_SPACE'.
1688         (pixel_to_glyph_translation): Use `CHARC_ASCII_EQ'.
1689
1690         * redisplay-x.c (separate_textual_runs): Use `CHARC_CHARSET' and
1691         `CHARC_CODE_POINT'.
1692         (x_output_display_block): Use `CHARC_CHARSET' and
1693         `CHARC_ASCII_EQ'.
1694
1695         * redisplay-tty.c (tty_output_display_block): Use
1696         `CHARC_ASCII_EQ'.
1697         (tty_output_display_block): Likewise; use `ASCII_TO_CHARC'.
1698
1699         * redisplay-output.c (compare_runes): Use `CHARC_EQ'.
1700
1701         * insdel.c (find_charsets_in_charc_string): Use
1702         `CHARC_CHARSET_ID'.
1703         (charc_string_displayed_columns): Use `CHARC_COLUMNS'.
1704         (convert_bufbyte_string_into_charc_dynarr): Use `CHAR_TO_CHARC'.
1705         (convert_charc_string_into_bufbyte_dynarr): Use `CHARC_TO_CHAR'.
1706         (convert_charc_string_into_malloced_string): Likewise.
1707
1708 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1709
1710         * toolbar-x.c (x_output_toolbar_button): Use <Charc_dynarr *>
1711         instead of <Emchar_dynarr *> for buf; use
1712         `convert_bufbyte_string_into_charc_dynarr' instead of
1713         `convert_bufbyte_string_into_emchar_dynarr'; use
1714         `find_charsets_in_charc_string' instead of
1715         `find_charsets_in_emchar_string'.
1716
1717         * redisplay.h:
1718         - Include "character.h".
1719         (struct rune): New member `cglyph'; delete member `chr'.
1720
1721         * redisplay.c (redisplay_text_width_charc_string): New function;
1722         delete `redisplay_text_width_emchar_string'.
1723         (rtw_charc_dynarr): New variable; renamed from
1724         `rtw_emchar_dynarr'.
1725         (redisplay_text_width_string): Use `rtw_charc_dynarr' instead of
1726         `rtw_emchar_dynarr'; use
1727         `convert_bufbyte_string_into_charc_dynarr' instead of
1728         `convert_bufbyte_string_into_emchar_dynarr'; use
1729         `redisplay_text_width_charc_string' instead of
1730         `redisplay_text_width_emchar_string'.
1731         (redisplay_frame_text_width_string): Use `rtw_charc_dynarr'
1732         instead of `rtw_emchar_dynarr'; use
1733         `convert_bufbyte_string_into_charc_dynarr' instead of
1734         `convert_bufbyte_string_into_emchar_dynarr'.
1735         (add_emchar_rune): Add <Charc> instead of <Emchar>; use
1736         `redisplay_text_width_charc_string' instead of
1737         `redisplay_text_width_emchar_string'.
1738         (create_text_block): Modify for <struct rune> change.
1739         (generate_formatted_string_db): Likewise.
1740         (create_string_text_block): Likewise.
1741         (pixel_to_glyph_translation): Likewise.
1742
1743         * redisplay-x.c (separate_textual_runs): Use <const Charc *>
1744         instead of <const Emchar *>.
1745         (x_text_width): Likewise.
1746         (x_output_display_block): Use <Charc_dynarr *> instead
1747         <Emchar_dynarr *>; modify for <structure rune> change.
1748         (x_output_string): Use <Charc_dynarr *> instead of <Emchar_dynarr
1749         *>.
1750
1751         * redisplay-tty.c (tty_text_width): Use <const Charc *> instead of
1752         <const Emchar *>; use `charc_string_displayed_columns' instead of
1753         `emchar_string_displayed_columns'.
1754         (tty_output_display_block): Use <Charc_dynarr *> instead of
1755         <Emchar_dynarr *> for buf; modify for <structure rune> change; use
1756         `tty_output_charc_dynarr' instead of `tty_output_emchar_dynarr'.
1757         (tty_output_charc_dynarr_dynarr): New variable; renamed from
1758         `tty_output_emchar_dynarr_dynarr'.
1759         (tty_output_charc_dynarr): New function; delete
1760         `tty_output_charc_dynarr'.
1761
1762         * redisplay-output.c (compare_runes): Modify for `struct rune'.
1763         (redisplay_output_layout): Use <Charc_dynarr *> instead of
1764         <Emchar_dynarr *> for buf; use
1765         `convert_bufbyte_string_into_charc_dynarr' instead of
1766         `convert_bufbyte_string_into_emchar_dynarr'.
1767
1768         * frame.c (title_string_charc_dynarr): New variable; renamed from
1769         `title_string_emchar_dynarr'.
1770         (generate_title_string): Use `title_string_charc_dynarr' instead
1771         of `title_string_emchar_dynarr'; use
1772         `convert_charc_string_into_malloced_string' instead of
1773         `convert_emchar_string_into_malloced_string'.
1774         (init_frame): Use `title_string_charc_dynarr' instead of
1775         `title_string_emchar_dynarr'.
1776
1777         * console.h:
1778         - Include "character.h".
1779         (struct console_methods): Use <const Charc *> instead of <const
1780         Emchar *> in `text_width_method'; use <Charc_dynarr *> instead of
1781         <Emchar_dynarr *> in output_string_method.
1782
1783         * console-x.h (x_output_string): Use <Charc_dynarr *> instead of
1784         <Emchar_dynarr *>.
1785
1786         * console-stream.c (stream_text_width): Use <const Charc *>
1787         instead of <const Emchar *>.
1788
1789         * character.h (Charc_dynarr): New type.
1790
1791         * char-ucs.h (structure Charc): New structure; define new type
1792         `Charc'.
1793
1794         * char-lb.h (DECODE_CHAR): New inline function.
1795         (encode_char_1): New inline function.
1796         (ENCODE_CHAR): New macro.
1797         (structure Charc): New structure; define new type `Charc'.
1798
1799         * char-1byte.h (Vcharset_control_1): New macro.
1800         (Vcharset_latin_iso8859_1): New macro.
1801         (DECODE_CHAR): New inline function.
1802         (encode_char_1): New inline function.
1803         (ENCODE_CHAR): New macro.
1804         (structure Charc): New structure; define new type `Charc'.
1805
1806         * insdel.c (find_charsets_in_charc_string): New function; delete
1807         `find_charsets_in_emchar_string'.
1808         (charc_string_displayed_columns): New function; delete
1809         `emchar_string_displayed_columns'.
1810         (convert_bufbyte_string_into_charc_dynarr): New function; delete
1811         `convert_bufbyte_string_into_emchar_dynarr'.
1812         (convert_charc_string_into_bufbyte_dynarr): New function; delete
1813         `convert_charc_string_into_bufbyte_dynarr'.
1814         (convert_charc_string_into_malloced_string): New function; delete
1815         `convert_charc_string_into_malloced_string'.
1816
1817         * buffer.h (find_charsets_in_charc_string): New prototype; delete
1818         `find_charsets_in_emchar_string'.
1819         (charc_string_displayed_columns): New prototype; delete
1820         `emchar_string_displayed_columns'.
1821         (convert_charc_string_into_bufbyte_dynarr): New prototype; delete
1822         `convert_charc_string_into_bufbyte_dynarr'.
1823         (convert_charc_string_into_malloced_string): New prototype; delete
1824         `convert_charc_string_into_malloced_string'.
1825
1826 2000-06-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1827
1828         * select-x.c (Fx_store_cutbuffer_internal): Modify for UTF-2000.
1829
1830 2000-06-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1831
1832         * chartab.h (get_non_ascii_char_table_value): Use <Charset_ID>.
1833
1834         * char-ucs.h: Use <short> for <Charset_ID>.
1835
1836         * mule-charset.h, char-1byte.h: Use <unsigned char> for
1837         <Charset_ID>.
1838
1839 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1840
1841         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1842         to 0.16.
1843
1844 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1845
1846         * mule-charset.c (Vcharacter_morohashi_daikanwa_table): New
1847         variable.
1848         (Qmorohashi_daikanwa): New variable.
1849         (Fchar_attribute_alist): Use `Vcharacter_morohashi_daikanwa_table'
1850         for `morohashi-daikanwa' attribute.
1851         (Fget_char_attribute): Likewise.
1852         (Fput_char_attribute): Likewise.
1853         (Fdefine_char): Don't setup `morohashi-daikanwa' attribute if it
1854         has the same value of `ideograph-daikanwa'.
1855         (syms_of_mule_charset): Add new symbol `morohashi-daikanwa'.
1856         (vars_of_mule_charset): Setup
1857         `Vcharacter_morohashi_daikanwa_table'.
1858
1859 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1860
1861         * mule-charset.c (Fchar_attribute_alist): Add coded-charset
1862         attributes.
1863         (add_charset_to_list_mapper): Add `key' instead of
1864         `XCHARSET_NAME (value)' to return aliases.
1865
1866 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1867
1868         * mule-charset.c (Vcharacter_ideographic_radical_table): New
1869         variable.
1870         (Vcharacter_ideographic_strokes_table): New variable.
1871         (Qideographic_radical): New variable.
1872         (Qideographic_strokes): New variable.
1873         (Fchar_attribute_alist): Use
1874         `Vcharacter_ideographic_radical_table' for `ideographic-radical'
1875         attribute; use `Vcharacter_ideographic_strokes_table' for
1876         `ideographic-strokes' attribute.
1877         (Fget_char_attribute): Likewise.
1878         (Fput_char_attribute): Likewise.
1879         (syms_of_mule_charset): Add new symbol `ideographic-radical' and
1880         `ideographic-strokes'.
1881         (vars_of_mule_charset): Setup
1882         `Vcharacter_ideographic_radical_table' and
1883         `Vcharacter_ideographic_strokes_table'.
1884
1885 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1886
1887         * mule-charset.c (Vcharacter_total_strokes_table): New variable.
1888         (Qtotal_strokes): New variable.
1889         (Fchar_attribute_alist): Use `Vcharacter_total_strokes_table' for
1890         `total-strokes' attribute.
1891         (Fget_char_attribute): Likewise.
1892         (Fput_char_attribute): Likewise.
1893         (syms_of_mule_charset): Add new symbol `total-strokes'.
1894         (vars_of_mule_charset): Setup `Vcharacter_total_strokes_table'.
1895
1896 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1897
1898         * mule-charset.c (Vcharacter_decomposition_table): New variable.
1899         (Fchar_attribute_alist): Add `name' and `->decomposition' if they
1900         are found.
1901         (Fget_char_attribute): Use `Vcharacter_decomposition_table' for
1902         `->decomposition' attribute.
1903         (Fput_char_attribute): Likewise.
1904         (vars_of_mule_charset): Setup `Vcharacter_decomposition_table'.
1905
1906 2000-06-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1907
1908         * mule-charset.c (decoding_table_check_elements): New function.
1909         (Fset_charset_mapping_table): Use `decoding_table_check_elements'.
1910
1911 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1912
1913         * mule-charset.c (Fset_charset_mapping_table): Use
1914         `put_char_ccs_code_point'.
1915
1916 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1917
1918         * mule-charset.c (decoding_table_put_char): New inline function.
1919         (put_char_ccs_code_point): Use `decoding_table_put_char'.
1920
1921 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1922
1923         * mule-charset.c (CHARSET_BYTE_SIZE): New inline function.
1924         (XCHARSET_BYTE_SIZE): New macro.
1925         (decoding_table_remove_char): New inline function.
1926         (put_char_ccs_code_point): Use `XCHARSET_BYTE_SIZE'; use
1927         `decoding_table_remove_char'.
1928         (remove_char_ccs): Use `decoding_table_remove_char'.
1929         (Fset_charset_mapping_table): Use `CHARSET_BYTE_SIZE'.
1930
1931 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1932
1933         * mule-charset.c (Vcharacter_name_table): New variable.
1934         (Qname): New variable.
1935         (Fget_char_attribute): Use `Vcharacter_name_table' for `name'
1936         attribute.
1937         (Fput_char_attribute): Use function `put_char_ccs_code_point'; use
1938         `Vcharacter_name_table' for `name' attribute.
1939         (Fremove_char_attribute): Use function `remove_char_ccs'.
1940         (put_char_ccs_code_point): New function.
1941         (remove_char_ccs): New function.
1942         (syms_of_mule_charset): Add new symbol `name'.
1943         (vars_of_mule_charset): Setup `Vcharacter_name_table'.
1944
1945 2000-05-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1946
1947         * mule-charset.c (make_byte_table): Add new argument `older'.
1948         (make_char_id_table): Likewise.
1949         (copy_char_id_table): Comment out because it is not used.
1950         (put_char_id_table): Modify for `make_byte_table'.
1951         (Fput_char_attribute): Make encoding_table as older object;
1952         inherit older bit of `Vcharacter_composition_table'.
1953         (mark_charset): Don't mark `cs->encoding_table'.
1954         (vars_of_mule_charset): Make `Vcharacter_attribute_table' as a
1955         normal object; make `Vcharacter_composition_table' as an older
1956         object; delete staticpro for `Vcharacter_composition_table'; make
1957         `Vcharacter_variant_table' as a normal object.
1958
1959         * alloc.c (alloc_older_lcrecord): New function in UTF-2000.
1960         (mark_object): Don't check older object in UTF-2000.
1961
1962         * lrecord.h (struct lrecord_header): Add new member `older' in
1963         UTF-2000.
1964         (set_lheader_implementation): Setup `SLI_header->older' in
1965         UTF-2000.
1966         (set_lheader_older_implementation): New macro in UTF-2000.
1967         (OLDER_RECORD_P): New macro in UTF-2000.
1968         (OLDER_RECORD_HEADER_P): New macro in UTF-2000.
1969         (alloc_older_lcrecord): New prototype in UTF-2000.
1970         (alloc_older_lcrecord_type): New macro in UTF-2000.
1971
1972 2000-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1973
1974         * mule-charset.c (byte_table_description): Use
1975         `XD_LISP_OBJECT_ARRAY' instead of `XD_LISP_OBJECT'.
1976         (char_id_table_description): Delete bogus `, 1'.
1977         (Fget_char_attribute): Refer encoding_table of each coded-charset
1978         to get value of coded-charset attribute of a character.
1979         (Fput_char_attribute): Use `make_older_vector' instead of
1980         `make_vector'; use encoding_table of each coded-charset to store
1981         value of coded-charset attribute of a character.
1982         (Fremove_char_attribute): Use encoding_table of each coded-charset
1983         to store value of coded-charset attribute of a character.
1984         (mark_charset): Mark `cs->encoding_table'; don't mark
1985         `cs->decoding_table'.
1986         (charset_description): Add description of new member
1987         `encoding_table'.
1988         (make_charset): Initialize `encoding_table'.
1989
1990         * char-ucs.h (struct Lisp_Charset): Add new member
1991         `encoding_table'.
1992         (CHARSET_ENCODING_TABLE): New macro.
1993         (XCHARSET_ENCODING_TABLE): New macro.
1994         (charset_code_point): New implementation.
1995         (encode_char_1): Likewise.
1996
1997         * alloc.c (all_older_lcrecords): New variable in UTF-2000.
1998         (disksave_object_finalization_1): Call finalizers of
1999         `all_older_lcrecords' in UTF-2000.
2000         (make_older_vector): New function in UTF-2000.
2001         (reinit_alloc_once_early): Initialize `all_older_lcrecords' in
2002         UTF-2000.
2003
2004         * lisp.h (make_older_vector): New prototype in UTF-2000.
2005
2006 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2007
2008         * lrecord.h (enum lrecord_type): Rename
2009         `lrecord_type_char_code_table' to `lrecord_type_char_id_table'.
2010
2011         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_ID_TABLE_P' and
2012         `get_char_id_table' instead of `CHAR_CODE_TABLE_P' and
2013         `get_char_code_table'.
2014
2015         * mule-charset.c (mark_char_id_table): Renamed from
2016         `mark_char_code_table'.
2017         (char_id_table_equal): Renamed from `char_code_table_equal'.
2018         (char_id_table_hash): Renamed from `char_code_table_hash'.
2019         (make_char_id_table): Renamed from `make_char_code_table'.
2020         (copy_char_id_table): Renamed from `copy_char_code_table'.
2021         (get_char_id_table): Renamed from `get_char_code_table'.
2022         (put_char_id_table): Renamed from `put_char_code_table'.
2023         (to_char_id): Renamed from `to_char_code'.
2024
2025         * char-ucs.h (struct Lisp_Char_ID_Table): Renamed from
2026         `Lisp_Char_Code_Table'.
2027         (char_id_table): Renamed from `char_code_table'.
2028         (XCHAR_ID_TABLE): Renamed from `XCHAR_CODE_TABLE'.
2029         (XSETCHAR_ID_TABLE): Renamed from `XSETCHAR_CODE_TABLE'.
2030         (CHAR_ID_TABLE_P): Renamed from `CHAR_CODE_TABLE_P'.
2031         (GC_CHAR_ID_TABLE_P): Renamed from `GC_CHAR_CODE_TABLE_P'.
2032         (get_char_id_table): Renamed from `get_char_code_table'.
2033
2034 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2035
2036         * lrecord.h (enum lrecord_type): Rename
2037         `lrecord_type_char_byte_table' to `lrecord_type_byte_table'.
2038
2039         * mule-charset.c (mark_byte_table): Renamed from
2040         `mark_char_byte_table'.
2041         (byte_table_equal): Renamed from `char_byte_table_equal'.
2042         (byte_table_hash): Renamed from `byte_table_hash'.
2043         (make_byte_table): Renamed from `make_byte_table'.
2044         (copy_byte_table): Renamed from `copy_char_byte_table'.
2045
2046         * char-ucs.h (struct Lisp_Byte_Table): Renamed from
2047         `Lisp_Char_Byte_Table'.
2048         (byte_table): Renamed from `char_byte_table'.
2049         (XBYTE_TABLE): Renamed from `XCHAR_BYTE_TABLE'.
2050         (XSETBYTE_TABLE): Renamed from `XSET_CHAR_BYTE_TABLE'.
2051         (BYTE_TABLE_P): Renamed from `XBYTE_TABLE_P'.
2052         (GC_BYTE_TABLE_P): Renamed from `GC_CHAR_BYTE_TABLE_P'.
2053
2054 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2055
2056         * buffer.c (dfc_convert_to_external_format): Modify for UTF-2000.
2057         (dfc_convert_to_internal_format): Likewise.
2058         
2059         * text-coding.c (Fcoding_system_canonical_name_p): New function.
2060         * text-coding.c (Fcoding_system_alias_p): New function.
2061         * text-coding.c (Fcoding_system_aliasee): New function.
2062         * text-coding.c (append_suffix_to_symbol): New function.
2063         * text-coding.c (dangling_coding_system_alias_p): New function.
2064         * text-coding.c (Ffind_coding_system):
2065         * text-coding.c (Fcopy_coding_system):
2066         * text-coding.c (encode_coding_no_conversion):
2067         * text-coding.c (syms_of_file_coding):
2068         * text-coding.c (vars_of_file_coding):
2069         Rewrite coding system alias code.
2070         Allow nested aliases, like symbolic links.
2071         Allow redefinition of coding system aliases.
2072         Prevent existence of dangling coding system aliases.
2073         Eliminate convert_to_external_format.
2074         Eliminate convert_to_internal_format.
2075         
2076         * text-coding.c: Change enum eol_type to eol_type_t.
2077
2078 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2079
2080         * mule-charset.c (encode_builtin_char_1): Limit builtin-code-range
2081         of `mojikyo' to MIN_CHAR_MOJIKYO + 94 * 60 * 22.
2082
2083         * char-ucs.h (MAX_CHAR_MOJIKYO): Limit builtin-code-range to
2084         MIN_CHAR_MOJIKYO + 94 * 60 * 22.
2085
2086 2000-04-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2087
2088         * mule-charset.c (encode_builtin_char_1): Use `mojikyo' instead of
2089         `ideograph-daikanwa'.
2090
2091         * char-ucs.h (Vcharset_ucs): Deleted because it is not used.
2092         (Vcharset_ucs_bmp): Likewise.
2093         (Vcharset_mojikyo): Add new extern variable definition.
2094         (Vcharset_latin_iso8859_2): Deleted because it is not used.
2095         (Vcharset_latin_iso8859_3): Likewise.
2096         (Vcharset_latin_iso8859_4): Likewise.
2097         (Vcharset_latin_iso8859_9): Likewise.
2098         (Vcharset_latin_viscii_lower): Likewise.
2099         (Vcharset_latin_viscii_upper): Likewise.
2100         (DECODE_CHAR): If charset is `mojikyo-pj-N', corresponding
2101         `mojikyo' code-point is used to decode.
2102         (encode_char_2): New function [to convert `mojikyo' code-point to
2103         Mojikyo font encoding].
2104         (ENCODE_CHAR): Use `encode_char_2' instead of `encode_code_1'.
2105         (breakup_char_1): Likewise.
2106         (CHAR_CHARSET): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR'.
2107
2108 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2109
2110         * text-coding.c (Fmake_coding_system): Add document about
2111         `disable-composition' property.
2112
2113 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2114
2115         * text-coding.c (Qdisable_composition): New variable; delete
2116         `Qcomposite'.
2117         (Fmake_coding_system): Add new property `disable-composite';
2118         delete property `composite'.
2119         (COMPOSE_ADD_CHAR): Use `CODING_SYSTEM_DISABLE_COMPOSITION'
2120         instead of `!CODING_SYSTEM_COMPOSITE'.
2121         (syms_of_file_coding): Add new symbol `disable-composition';
2122         delete symbol `composite'.
2123
2124         * file-coding.h (struct Lisp_Coding_System): Add
2125         `disable_composition'; delete `enable_composition'.
2126         (CODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
2127         `CODING_SYSTEM_COMPOSITE'.
2128         (XCODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
2129         `XCODING_SYSTEM_COMPOSITE'.
2130
2131 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2132
2133         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2134         to 0.15.
2135
2136 2000-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2137
2138         * text-coding.c (Qcomposite): New variable.
2139         (Fmake_coding_system): Add new property `composite'.
2140         (struct decoding_stream): Add `combined_char_count',
2141         `combined_chars' and `combining_table' in UTF-2000.
2142         (COMPOSE_FLUSH_CHARS): New macro.
2143         (COMPOSE_ADD_CHAR): New macro.
2144         (reset_decoding_stream): Reset `str->combined_char_count' and
2145         `str->combining_table' in UTF-2000.
2146         (decode_coding_iso2022): Modify for character-decomposition.
2147         (syms_of_file_coding): Add new symbol `composite'.
2148
2149 2000-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2150
2151         * mule-charset.c (Vcharset_latin_tcvn5712): New variable.
2152         (Fput_char_attribute): Set up `Vcharacter_variant_table' instead
2153         of `Vcharacter_composition_table' if `->decomposition' property
2154         has only 1 element.
2155         (Qlatin_tcvn5712): New variable.
2156         (syms_of_mule_charset): Add new symbol `latin-tcvn5712'.
2157         (complex_vars_of_mule_charset): Add new coded-charset
2158         `latin-tcvn5712'.
2159
2160         * char-ucs.h (LEADING_BYTE_LATIN_TCVN5712): New macro.
2161
2162 2000-04-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2163
2164         * file-coding.h (struct Lisp_Coding_System): Add
2165         `enable_composition'.
2166         (CODING_SYSTEM_COMPOSITE): New macro.
2167         (XCODING_SYSTEM_COMPOSITE): New macro.
2168
2169 2000-03-17  MORIOKA Tomohiko  <tomo@m17n.org>
2170
2171         * mule-canna.c (c2mu): Fix problem with UTF-2000.
2172
2173 2000-03-16  MORIOKA Tomohiko  <tomo@m17n.org>
2174
2175         * mule-charset.c (Fput_char_attribute): Don't make mapping-table
2176         if ATTRIBUTE is `ucs' and character-id of CHARACTER = VALUE.
2177
2178 2000-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
2179
2180         * mule-charset.c (Vcharset_mojikyo): New variable.
2181         (Fdefine_char): Don't use coded-charset which does not have
2182         non-builtin character range to allocate character-id.
2183         (Qmojikyo): New variable.
2184         (syms_of_mule_charset): Add new symbol `mojikyo'.
2185         (complex_vars_of_mule_charset): Add new coded-charset `mojikyo'.
2186
2187         * char-ucs.h (LEADING_BYTE_DAIKANWA_EKANJI): New macro.
2188         (LEADING_BYTE_MOJIKYO): New macro.
2189         (MIN_CHAR_MOJIKYO): New macro.
2190         (MIN_CHAR_DAIKANWA): Use `MIN_CHAR_MOJIKYO'.
2191         (MAX_CHAR_MOJIKYO): New macro.
2192
2193 2000-02-12  MORIOKA Tomohiko  <tomo@m17n.org>
2194
2195         * mule-charset.c (remove_char_attribute): Fixed.
2196
2197 2000-02-08  MORIOKA Tomohiko  <tomo@m17n.org>
2198
2199         * mule-charset.c (remove_char_attribute): New function.
2200         (Fremove_char_attribute): New function.
2201         (encode_builtin_char_1): Comment out builtin-support for
2202         greek-iso8859-7 and cyrillic-iso8859-5.
2203         (Fdecode_char): Check `code' is an integer.
2204         (syms_of_mule_charset): Add `remove-char-attribute'.
2205         (MIN_CHAR_GREEK): Deleted.
2206         (MAX_CHAR_GREEK): Likewise.
2207         (MIN_CHAR_CYRILLIC): Likewise.
2208         (MAX_CHAR_CYRILLIC): Likewise.
2209         (complex_vars_of_mule_charset): Don't use MIN_CHAR_GREEK and
2210         MAX_CHAR_GREEK for `greek-iso8859-7'.
2211
2212         * char-ucs.h (MIN_CHAR_GREEK): Comment out.
2213         (MAX_CHAR_GREEK): Likewise.
2214         (MIN_CHAR_CYRILLIC): Likewise.
2215         (MAX_CHAR_CYRILLIC): Likewise.
2216
2217 2000-02-02  MORIOKA Tomohiko  <tomo@m17n.org>
2218
2219         * mule-charset.c (Fdefine_char): Fix problem when new code-point
2220         format is used without `ucs' property.
2221         (Fdecode_char): Fix problem with GR representation.
2222         (complex_vars_of_mule_charset): Don't use `MIN_CHAR_CYRILLIC' and
2223         `MAX_CHAR_CYRILLIC' as range of builtin `cyrillic-iso8859-5'.
2224
2225 2000-01-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
2226
2227         * mule-charset.c (make_builtin_char): New function.
2228         (encode_builtin_char_1): Check ISO-2022-charset is defined or not.
2229         (Fset_charset_mapping_table): Modify for new representation of
2230         code-point.
2231         (Fdecode_char): New function.
2232         (syms_of_mule_charset): Add new builtin function `decode-char' in
2233         UTF-2000.
2234
2235         * char-ucs.h (make_builtin_char): New prototype.
2236         (DECODE_CHAR): New inline function.
2237         (MAKE_CHAR): Use `DECODE_CHAR'.
2238
2239 2000-01-28  MORIOKA Tomohiko  <tomo@m17n.org>
2240
2241         * text-coding.c (parse_charset_conversion_specs): Use
2242         `XCHARSET_CHARS' and `XCHARSET_DIMENSION' instead of
2243         `XCHARSET_TYPE'.
2244         (iso2022_designate): Likewise.
2245
2246         * chartab.c (decode_char_table_range): Use `XCHARSET_CHARS' and
2247         `XCHARSET_DIMENSION' instead of `XCHARSET_TYPE'.
2248
2249         * mule-charset.c (Vcharset_ucs): New variable.
2250         (print_charset): Change design; use `CHARSET_CHARS' and
2251         `CHARSET_DIMENSION' instead of `CHARSET_TYPE'.
2252         (make_charset): Change signature to specify `chars' and
2253         `dimension' instead of `type'.
2254         (range_charset_code_point): Modify for 256^n-set.
2255         (encode_builtin_char_1): Encode as `ucs' in default.
2256         (Fmake_charset): Modify for `make_charset'.
2257         (Fmake_reverse_direction_charset): Likewise.
2258         (Fsplit_char): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR' in
2259         UTF-2000.
2260         (complex_vars_of_mule_charset): Add coded-charset `ucs'; modify
2261         for `make_charset'.
2262
2263         * char-ucs.h (Vcharset_ucs): New variable.
2264         (LEADING_BYTE_UCS): New macro.
2265         (struct Lisp_Charset): Delete `type'; change type of `dimension'
2266         and `chars' to `unsigned short' from `unsigned int'.
2267         (CHARSET_TYPE): Deleted.
2268         (XCHARSET_TYPE): Deleted.
2269
2270 2000-01-27  MORIOKA Tomohiko  <tomo@m17n.org>
2271
2272         * mule-charset.c (charset_code_point): Moved to char-ucs.h.
2273
2274         * char-ucs.h (charset_code_point): Moved from mule-charset.c.
2275         (ENCODE_CHAR): New macro.
2276
2277 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
2278
2279         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2280         to 0.14 (Kawachi-Katakami).
2281
2282 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
2283
2284         * text-coding.c (char_encode_shift_jis): Modify for
2285         `charset_code_point'.
2286         (char_encode_iso2022): Likewise.
2287
2288         * mule-charset.c (Fput_char_attribute): Use <Lisp_Object>
2289         (integer) instead of list of <Lisp_Object>s (integers) as the
2290         format of code-point of a coded-charset.
2291         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
2292         (encode_builtin_char_1): New function; delete
2293         `split_builtin_char'.
2294         (charset_code_point): Return <int> instead of <Lisp_Object>.
2295         (Fsplit_char): Don't use `SPLIT_CHAR'.
2296
2297         * char-ucs.h (encode_builtin_char_1): New prototype; delete
2298         prototype for `split_builtin_char'.
2299         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
2300         (charset_code_point): Likewise.
2301         (encode_char_1): New inline function; delete `SPLIT_CHAR'.
2302         (breakup_char_1): Use `encode_char_1' instead of `SPLIT_CHAR'.
2303
2304 2000-01-20  MORIOKA Tomohiko  <tomo@m17n.org>
2305
2306         * mule-charset.c (complex_vars_of_mule_charset): Don't define
2307         `japanese-jisx0208-1990' in non-UTF-2000 Mule.
2308
2309 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2310
2311         * mule-charset.c (split_builtin_char): Don't support OBS_94x94.
2312
2313         * char-ucs.h (MIN_CHAR_OBS_94x94): Deleted.
2314         (MAX_CHAR_OBS_94x94): Deleted.
2315
2316 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2317
2318         * mule-charset.c (split_builtin_char): Use `MAX_CHAR_BMP'.
2319
2320         * char-ucs.h (MAX_CHAR_BMP): New macro.
2321
2322 2000-01-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2323
2324         * text-coding.c: Sync with r21-2-24.
2325
2326 2000-01-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
2327
2328         * file-coding.c: Modify for UTF-2000.
2329
2330 2000-01-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
2331
2332         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2333         to 0.13 (Takaida).
2334
2335 2000-01-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
2336
2337         * mule-charset.c (split_builtin_char): Delete builtin support for
2338         `katakana-jisx0201'.
2339         (complex_vars_of_mule_charset): Don't map `katakana-jisx0201' to
2340         BMP area in builtin representation.
2341
2342         * char-ucs.h (MAKE_CHAR): Delete builtin support for
2343         `Vcharset_katakana_jisx0201'.
2344
2345 1999-12-24  MORIOKA Tomohiko  <tomo@etl.go.jp>
2346
2347         * mule-charset.c (Vcharset_mojikyo_pj_[1 .. 21]): New variable.
2348         (Qisolated): New variable.
2349         (Qinitial): New variable.
2350         (Qmedial): New variable.
2351         (Qfinal): New variable.
2352         (Qvertical): New variable.
2353         (Qsmall): New variable.
2354         (to_char_code): Use `Qisolated', `Qinitial', `Qmedial', `Qfinal',
2355         `Qvertical' and `Qsmall'.
2356         (Qmojikyo_pj_[1 .. 21]): New variable.
2357         (syms_of_mule_charset): Add new symbols `isolated', `initial',
2358         `medial', `final', `vertical', `small' and `mojikyo-pj-[1 .. 21]'.
2359         (complex_vars_of_mule_charset): Add new charset `mojikyo-pj-[1
2360         .. 21]'.
2361
2362 1999-11-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
2363
2364         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x60.
2365         (LEADING_BYTE_MOJIKYO_PJ_[1 .. 21]): New macros.
2366         (MAX_LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 32)'.
2367
2368 1999-11-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
2369
2370         * mule-charset.c (Vcharset_japanese_jisx0208_1990): New variable.
2371         (Fdefine_char): Use Group 00 Plane 10 for non-coded variants of
2372         BMP.
2373         (Qjapanese_jisx0208_1990): New variable.
2374         (syms_of_mule_charset): Add new symbol `Qjapanese_jisx0208_1990'.
2375         (complex_vars_of_mule_charset): Add new coded-charset
2376         `japanese-jisx0208-1990'.
2377
2378         * char-ucs.h (LEADING_BYTE_JAPANESE_JISX0208_1990): New macro.
2379         (MIN_CHAR_JIS_X0208_1990): New macro.
2380         (MAX_CHAR_JIS_X0208_1990): New macro.
2381
2382 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2383
2384         * text-coding.c (char_encode_iso2022): Output `~' if ISO 2022
2385         coded-charset is not found.
2386
2387 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2388
2389         * mule-charset.c (Fget_char_attribute): Forgot to `CHECK_CHAR'.
2390         (Fdefine_char): Use `Fmake_char'.
2391
2392 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2393
2394         * mule-charset.c (Vcharset_ideograph_daikanwa): New variable.
2395         (Vcharset_hiragana_jisx0208): Deleted.
2396         (Vcharset_katakana_jisx0208): Deleted.
2397         (Qideograph_daikanwa): New variable.
2398         (Qhiragana_jisx0208): Deleted.
2399         (Qkatakana_jisx0208): Deleted.
2400         (split_builtin_char): Split `ideograph-daikanwa'.
2401         (Fsplit_char): New implementation for UTF-2000.
2402         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa';
2403         delete symbol `hiragana-jisx0208' and `katakana-jisx0208'.
2404         (complex_vars_of_mule_charset): Add new coded-charset
2405         `ideograph-daikanwa'; delete coded-charset `hiragana-jisx0208' and
2406         `katakana-jisx0208'.
2407
2408         * char-ucs.h (LEADING_BYTE_DAIKANWA): New macro.
2409         (LEADING_BYTE_HIRAGANA_JISX0208): Deleted.
2410         (LEADING_BYTE_KATAKANA_JISX0208): Deleted.
2411         (MIN_CHAR_DAIKANWA): New macro.
2412         (MAX_CHAR_DAIKANWA): New macro.
2413
2414 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2415
2416         * data.c (Fstring_to_number): Don't recognize floating point if
2417         base is not 10.
2418
2419 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2420
2421         * mule-charset.c (Fput_char_attribute): Forgot to `CHECK_CHAR'.
2422
2423 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2424
2425         * mule-charset.c (Qsquare): New variable.
2426         (to_char_code): Add `Qsquare'.
2427         (syms_of_mule_charset): Add new symbol `square'.
2428
2429 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2430
2431         * mule-charset.c (Qcircle): New variable.
2432         (to_char_code): Add `Qcircle'.
2433         (syms_of_mule_charset): Add new symbol `circle'.
2434
2435 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2436
2437         * mule-charset.c (Qfont): New variable.
2438         (to_char_code): Add `Qfont'.
2439         (syms_of_mule_charset): Add new symbol `font'.
2440
2441 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2442
2443         * mule-charset.c (Qsub): New variable.
2444         (to_char_code): Add `Qsub'.
2445         (syms_of_mule_charset): Add new symbol `sub'.
2446
2447 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2448
2449         * mule-charset.c (Fput_char_attribute): Convert each element of
2450         VALUE to GL position if ATTRIBUTE is a GR-set,
2451
2452 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2453
2454         * mule-charset.c (Fput_char_attribute): Allow GR code-point if a
2455         coded-charset is a GR-set.
2456
2457 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2458
2459         * mule-charset.c (Fput_char_attribute): Check each element of
2460         VALUE is a byte if ATTRIBUTE is a coded-charset or its name.
2461
2462 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2463
2464         * mule-charset.c (Vcharset_ethiopic_ucs): New variable in
2465         UTF-2000.
2466         (Qethiopic_ucs): New variable in UTF-2000.
2467         (syms_of_mule_charset): Add new symbol `ethiopic-ucs' in UTF-2000.
2468         (complex_vars_of_mule_charset): Add new coded-charset
2469         `ethiopic-ucs' in UTF-2000.
2470
2471         * char-ucs.h (LEADING_BYTE_ETHIOPIC_UCS): New macro.
2472         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
2473         9)'.
2474         (LEADING_BYTE_KATAKANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
2475         10)'.
2476         (LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 11)'.
2477
2478 1999-11-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
2479
2480         * mule-charset.c (Fset_charset_mapping_table): Fix problem with
2481         `ascii'.
2482
2483 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2484
2485         * mule-charset.c (Vcharacter_variant_table): New variable.
2486         (Q_ucs): New variable.
2487         (Fchar_variants): New function.
2488         (Fput_char_attribute): Register `->ucs' value to
2489         `Vcharacter_variant_table'.
2490         (syms_of_mule_charset): Add new function `char-variants' and new
2491         symbol `->ucs'.
2492         (vars_of_mule_charset): Setup `Vcharacter_variant_table'.
2493
2494 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2495
2496         * mule-charset.c (get_char_code_table): Allow negative character
2497         code.
2498         (put_char_code_table): Likewise.
2499         (Vcharacter_composition_table): New variable.
2500         (Q_decomposition): New variable.
2501         (Qwide): New variable.
2502         (Qnarrow): New variable.
2503         (Qcompat): New variable.
2504         (QnoBreak): New variable.
2505         (Qsuper): New variable.
2506         (Qfraction): New variable.
2507         (to_char_code): New function.
2508         (Fget_composite_char): New function.
2509         (Fput_char_attribute): Register `->decomposition' value to
2510         `Vcharacter_composition_table'.
2511         (syms_of_mule_charset): Add new function `get-composite-char', new
2512         symbol `->decomposition', `wide', `narrow', `compat', `noBreak',
2513         `super' and `fraction'.
2514         (vars_of_mule_charset): Setup `Vcharacter_composition_table'.
2515
2516 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2517
2518         * mule-charset.c (Fchar_attribute_alist): Check the argument is a
2519         character; copy the return value.
2520
2521 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2522
2523         * char-ucs.h (SPLIT_CHAR): Use `split_builtin_char'.
2524
2525         * mule-charset.c (range_charset_code_point): Must use make_int.
2526         (split_builtin_char): New function.
2527
2528 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2529
2530         * mule-charset.c (char_byte_table): Change name from
2531         "char-code-table" to "char-byte-table".
2532         (mark_char_code_table): New function.
2533         (char_code_table_equal): New function.
2534         (char_code_table_hash): New function.
2535         (char_code_table_description): New constant.
2536         (char_code_table): New type.
2537         (make_char_code_table): New function.
2538         (copy_char_code_table): New function.
2539         (get_char_code_table): Modify for `char_code_table' type.
2540         (put_char_code_table): Likewise.
2541         (vars_of_mule_charset): Update `utf-2000-version' to 0.12
2542         (Kashiwara).
2543
2544         * char-ucs.h (char_code_table): New type.
2545         (XCHAR_CODE_TABLE): New macro.
2546         (XSETCHAR_CODE_TABLE): New macro.
2547         (CHAR_CODE_TABLE_P): New macro.
2548         (GC_CHAR_CODE_TABLE_P): New macro.
2549         (struct Lisp_Char_Code_Table): New structure.
2550
2551 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2552
2553         * mule-charset.c (Fmake_charset): Setup byte_offset for
2554         {94|96}^n-set.
2555
2556 1999-11-09  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2557
2558         * mule-charset.c (Fdefine_char): Fix problem with non-UCS
2559         character.
2560
2561 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2562
2563         * char-ucs.h (SPLIT_CHAR): Don't make new cell if a charset slot
2564         is found.
2565
2566 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2567
2568         * mule-charset.c (Fget_char_attribute): If ATTRIBUTE is a name of
2569         charset, it is regarded as a charset.
2570         (put_char_attribute): New function in UTF-2000.
2571         (Fput_char_attribute): If ATTRIBUTE is a charset or a name of
2572         charset, mapping-table of the charset is modified.
2573         (Fdefine_char): New function in UTF-2000.
2574         (Fset_charset_mapping_table): Use `put_char_attribute' instead of
2575         `Fput_char_attribute'.
2576         (syms_of_mule_charset): Add new function `define-char' and new
2577         symbol `ucs' in UTF-2000.
2578         (vars_of_mule_charset): Update `utf-2000-version' to 0.11 (Shiki).
2579
2580 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
2581
2582         * mule-charset.c (Fcharset_name): Define `byte_offset' in
2583         non-UTF-2000 configuration.
2584
2585 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
2586
2587         * text-coding.c (char_encode_shift_jis): Use `charset_code_point'
2588         not to use `XCHARSET_ENCODING_TABLE (Vcharset_latin_jisx0201)'.
2589
2590         * mule-charset.c (mark_charset): `cs->encoding_table' has been
2591         deleted.
2592         (make_charset): Don't use `CHARSET_ENCODING_TABLE(cs)'.
2593         (Fset_charset_mapping_table): Likewise.
2594
2595         * char-ucs.h (struct Lisp_Charset): Delete `encoding_table'.
2596         (CHARSET_ENCODING_TABLE): Delete.
2597         (XCHARSET_ENCODING_TABLE): Delete.
2598         (charset_code_point): New interface.
2599
2600 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
2601
2602         * text-coding.c (char_encode_iso2022): Use `charset_code_point'
2603         instead of `charset_get_byte1' and `charset_get_byte2'.
2604
2605         * mule-charset.c, char-ucs.h (charset_get_byte1): Deleted.
2606         (charset_get_byte2): Deleted.
2607
2608 1999-10-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
2609
2610         * char-ucs.h (SPLIT_CHAR): New inline function.
2611         (breakup_char_1): Use `SPLIT_CHAR'.
2612
2613         * mule-charset.c (range_charset_code_point): New function.
2614         (charset_code_point): New function.
2615
2616         * char-ucs.h (range_charset_code_point): New interface.
2617         (breakup_char_1): Use `range_charset_code_point'.
2618
2619 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
2620
2621         * mule-charset.c (Fmake_charset): Delete unused local variable
2622         `code_offset'.
2623
2624         * char-ucs.h (Vcharacter_attribute_table): New extern variable.
2625         (breakup_char_1): Find a charset and code-point in
2626         `Vcharacter_attribute_table'.
2627
2628 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
2629
2630         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2631         to 0.10 (Yao).
2632
2633 1999-10-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
2634
2635         * mule-charset.c (Vcharacter_attribute_table): New variable.
2636         (Fchar_attribute_alist): New function.
2637         (Fget_char_attribute): New function.
2638         (Fput_char_attribute): New function.
2639         (Fset_charset_mapping_table): Setup `Vcharacter_attribute_table'
2640         too.
2641         (syms_of_mule_charset): Add new function `char-attribute-alist',
2642         `get-char-attribute' and `put-char-attribute'.
2643         (vars_of_mule_charset): Setup `Vcharacter_attribute_table'.
2644
2645 1999-10-19  MORIOKA Tomohiko  <tomo@etl.go.jp>
2646
2647         * mule-charset.c (Fmake_charset): Just use
2648         `get_unallocated_leading_byte'.
2649
2650         * char-ucs.h (LEADING_BYTE_*): Use ISO-IR numbers for official
2651         sets; don't use final-byte based number for private sets.
2652
2653 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2654
2655         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
2656         integer.
2657
2658 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2659
2660         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2661         to 0.9.
2662
2663 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2664
2665         * regex.c (compile_extended_range): Use `CHAR_CHARSET_ID' instead
2666         of `CHAR_LEADING_BYTE' in UTF-2000.
2667
2668         * insdel.c (find_charsets_in_bufbyte_string): Use
2669         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
2670         (find_charsets_in_emchar_string): Likewise.
2671
2672         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use
2673         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
2674
2675         * char-ucs.h (CHAR_LEADING_BYTE): Deleted.
2676         (CHAR_CHARSET_ID): New macro.
2677
2678 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2679
2680         * chartab.c (get_char_table): Don't use type `Charset_ID' for
2681         charset-id - MIN_LEADING_BYTE.
2682         (put_char_table): Likewise.
2683
2684 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2685
2686         * char-ucs.h (MIN_LEADING_BYTE): Changed to `-0x40'.
2687         (NUM_LEADING_BYTES): Changed to (80 * 3 - MIN_LEADING_BYTE).
2688         (CHARSET_LEADING_BYTE): Don't cast by `Bufbyte'.
2689         (CHARSET_ID_OFFSET): New macro.
2690         (LEADING_BYTE_CONTROL_1): Changed to (CHARSET_ID_OFFSET - 1).
2691         (LEADING_BYTE_UCS_BMP): Changed to (CHARSET_ID_OFFSET - 2).
2692         (LEADING_BYTE_LATIN_VISCII): Changed to (CHARSET_ID_OFFSET - 3).
2693         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
2694         4).
2695         (LEADING_BYTE_KATAKANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
2696         5).
2697         (MIN_LEADING_BYTE_PRIVATE): Changed to `MIN_LEADING_BYTE'.
2698         (MAX_LEADING_BYTE_PRIVATE): Changed to (CHARSET_ID_OFFSET - 6).
2699         (CHARSET_ID_OFFSET_94): Changed to (CHARSET_ID_OFFSET - '0').
2700         (CHARSET_ID_OFFSET_96): Changed to (CHARSET_ID_OFFSET_94 + 80).
2701         (CHARSET_ID_OFFSET_94x94): Changed to (CHARSET_ID_OFFSET_96 + 80).
2702
2703 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2704
2705         * mule-charset.c (next_allocated_leading_byte): New variable in
2706         UTF-2000.
2707         (next_allocated_1_byte_leading_byte): Don't define in UTF-2000.
2708         (next_allocated_2_byte_leading_byte): Don't define in UTF-2000.
2709         (get_unallocated_leading_byte): Simply use
2710         `next_allocated_leading_byte' [ignore dimension] in UTF-2000.
2711         (vars_of_mule_charset): Setup `next_allocated_leading_byte' in
2712         UTF-2000.
2713
2714         * char-ucs.h (MIN_LEADING_BYTE_PRIVATE): New macro.
2715         (MAX_LEADING_BYTE_PRIVATE): New macro.
2716         (MIN_LEADING_BYTE_OFFICIAL_2): Deleted.
2717         (MAX_LEADING_BYTE_OFFICIAL_2): Deleted.
2718
2719 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2720
2721         * mule-charset.c (Fmake_charset): Allocate final-byte based
2722         charset-id for 94-set, 96-set and 94x94-set.
2723
2724 1999-10-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2725
2726         * mule-charset.c (char_byte_table_equal): Fill braces to avoid
2727         ambiguous `else'.
2728         (Fmake_charset): Likewise.
2729         (complex_vars_of_mule_charset): Modify the font registry of
2730         `ucs-bmp' not to match `Ethiopic-Unicode'.
2731
2732 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2733
2734         * mule-charset.c (complex_vars_of_mule_charset): Add font
2735         registory of `ucs-bmp'.
2736
2737 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2738
2739         * text-coding.c (char_encode_iso2022): Ignore non-ISO-2022
2740         coded-charsets in `default-coded-charset-priority-list' when
2741         breaking up a character.
2742
2743         * mule-charset.c (Vcharset_latin_viscii): New variable.
2744         (Qlatin_viscii): New variable.
2745         (make_charset): Don't use `decoding_table'.
2746         (Fmake_charset): Regard graphic = 2 as 256^n-set; setup
2747         byte_offset.
2748         (Fset_charset_mapping_table): New implementation.
2749         (syms_of_mule_charset): Add new symbol `latin-viscii'.
2750         (complex_vars_of_mule_charset): Set `graphic' attribute of charset
2751         `ucs-bmp' and `latin_viscii' to 2; change font registry of charset
2752         `latin-viscii-lower' to "MULEVISCII-LOWER"; change font registry
2753         of charset `latin-viscii-upper' to "MULEVISCII-UPPER"; add new
2754         charset `latin_viscii'.
2755
2756         * char-ucs.h (LEADING_BYTE_LATIN_VISCII): New macro.
2757         (CHARSET_TYPE_94X94): Change to 1 from 2.
2758         (CHARSET_TYPE_96): Change to 2 from 1.
2759         (CHARSET_TYPE_128): New macro.
2760         (CHARSET_TYPE_128X128): Change to 5 from 4.
2761         (CHARSET_TYPE_256): New macro.
2762         (CHARSET_TYPE_256X256): Change to 7 from 5.
2763         (MAKE_CHAR): Use `XCHARSET_BYTE_OFFSET(charset)'.
2764
2765 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2766
2767         * text-coding.c (char_encode_shift_jis): Refer
2768         `XCHARSET_ENCODING_TABLE(Vcharset_latin_jisx0201)' instead of
2769         `XCHARSET_TO_BYTE1_TABLE(Vcharset_latin_jisx0201)'.
2770
2771         * mule-charset.c (mark_char_byte_table): New function in UTF-2000.
2772         (char_byte_table_equal): New function in UTF-2000.
2773         (char_byte_table_hash): New function in UTF-2000.
2774         (char_byte_table_description): New constant in UTF-2000.
2775         (char_byte_table): New type in UTF-2000.
2776         (make_char_byte_table): New function in UTF-2000.
2777         (copy_char_byte_table): New function in UTF-2000.
2778         (make_char_code_table): New macro in UTF-2000.
2779         (get_char_code_table): New function in UTF-2000.
2780         (put_char_code_table): New function in UTF-2000.
2781         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
2782         (charset_description): Add setting in UTF-2000.
2783         (make_charset): Setup `CHARSET_ENCODING_TABLE(cs)' instead of
2784         `CHARSET_TO_BYTE1_TABLE(cs)'.
2785         (charset_get_byte1): Refer `XCHARSET_ENCODING_TABLE(charset)'
2786         instead of `XCHARSET_TO_BYTE1_TABLE(charset)'.
2787         (charset_get_byte2): Refer `XCHARSET_ENCODING_TABLE(charset)'
2788         instead of `XCHARSET_TO_BYTE2_TABLE(charset)'.
2789         (Fset_charset_mapping_table): Setup `CHARSET_ENCODING_TABLE(cs)'
2790         instead of `CHARSET_TO_BYTE1_TABLE(cs)' and
2791         `CHARSET_TO_BYTE2_TABLE(cs)'.
2792
2793         * char-ucs.h (char_byte_table): New type.
2794         (XCHAR_BYTE_TABLE): New macro.
2795         (XSETCHAR_BYTE_TABLE): New macro.
2796         (CHAR_BYTE_TABLE_P): New macro.
2797         (GC_CHAR_BYTE_TABLE_P): New macro.
2798         (struct Lisp_Char_Byte_Table): New structure.
2799         (get_char_code_table): New interface.
2800         (Emchar_to_byte_table): Deleted.
2801         (get_byte_from_character_table): Deleted.
2802         (struct Lisp_Charset): Add `encoding_table'; delete
2803         `to_byte1_table' and `to_byte2_table'.
2804         (CHARSET_ENCODING_TABLE): New macro.
2805         (CHARSET_TO_BYTE1_TABLE): Deleted.
2806         (CHARSET_TO_BYTE2_TABLE): Deleted.
2807         (XCHARSET_ENCODING_TABLE): New macro.
2808         (XCHARSET_TO_BYTE1_TABLE): Deleted.
2809         (XCHARSET_TO_BYTE2_TABLE): Deleted.
2810
2811 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
2812
2813         * mule-charset.c (syms_of_mule_charset): Delete charset alias
2814         `vietnamese-viscii-*'.
2815
2816 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
2817
2818         * mule-charset.c (Qvietnamese_viscii_lower): New variable.
2819         (Qvietnamese_viscii_upper): New variable.
2820         (Fdefine_charset_alias): New function.
2821         (syms_of_mule_charset): Add new function `define-charset-alias'.
2822         (syms_of_mule_charset): Rename charset `vietnamese-viscii-*' to
2823         `latin-viscii-*'; define `vietnamese-viscii-*' as aliases for
2824         `latin-viscii-*'.
2825
2826 1999-10-04  MORIOKA Tomohiko  <tomo@etl.go.jp>
2827
2828         * char-ucs.h (MIN_CHAR_OBS_94x94): New macro.
2829         (MAX_CHAR_OBS_94x94): New macro.
2830         (breakup_char_1): Support obsolete XEmacs-UCS private code space
2831         for 94x94 sets.
2832
2833         * mule-charset.c (put_byte_from_character_table): Change unit size
2834         from 128 to 256.
2835         (mark_charset): Don't mark `cs->decoding_table' if `UTF2000' is
2836         not defined.
2837         (Fmake_reverse_direction_charset): Modify dummy argument of
2838         `make_charset' for non-UTF-2000 environment.
2839
2840 1999-10-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2841
2842         * char-ucs.h (MAKE_CHAR): Allow nested decoding-table.
2843
2844         * mule-charset.c (destroy_byte_from_character_table): New macro.
2845         (latin_jisx0201_to_ucs): Deleted.
2846         (latin_iso8859_2_to_ucs): Deleted.
2847         (latin_iso8859_3_to_ucs): Deleted.
2848         (latin_iso8859_4_to_ucs): Deleted.
2849         (latin_iso8859_9_to_ucs): Deleted.
2850         (latin_viscii_lower_to_ucs): Deleted.
2851         (latin_viscii_upper_to_ucs): Deleted.
2852         (mark_charset): Mark `cs->decoding_table'.
2853         (Fcharset_mapping_table): Fix DOC-string.
2854         (Fset_charset_mapping_table): New function.
2855         (syms_of_mule_charset): Add nwe function
2856         `set-charset-mapping-table'.
2857         (complex_vars_of_mule_charset): Don't setup and use
2858         `latin_*_to_ucs'.
2859
2860 1999-10-01  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2861
2862         * char-ucs.h (MAKE_CHAR): Check the result for range-represented
2863         charset.
2864
2865 1999-09-30  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2866
2867         * mule-charset.c (Vcharset_hiragana_jisx0208): New variable.
2868         (Vcharset_katakana_jisx0208): New variable.
2869         (Qhiragana_jisx0208): New variable.
2870         (Qkatakana_jisx0208): New variable.
2871         (make_charset): Add new argument `byte_offset'.
2872         (charset_get_byte1): Modify for new coded-charset definition; use
2873         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
2874         `XCHARSET_BYTE_OFFSET'.
2875         (Fmake_charset): Modify for `make_charset'.
2876         (Fmake_reverse_direction_charset): Likewise.
2877         (syms_of_mule_charset): Add new symbols `hiragana-jisx0208' and
2878         `katakana-jisx0208'.
2879         (complex_vars_of_mule_charset): Modify for `make_charset'; quote
2880         `.'  in font registry of charset `katakana-jisx0201',
2881         `latin-jisx0201', `vietnamese-viscii-lower' and
2882         `vietnamese-viscii-upper'; modify DOC-string of charset
2883         `japanese-jisx0208-1978' and `japanese-jisx0208'; modify font
2884         registry of charset `japanese-jisx0208' not to use font for JIS
2885         X0208:1990; add new charset `hiragana-jisx0208' and
2886         `katakana-jisx0208'.
2887
2888         * char-ucs.h (LEADING_BYTE_HIRAGANA_JISX0208): New macro.
2889         (LEADING_BYTE_KATAKANA_JISX0208): New macro.
2890         (struct Lisp_Charset): Add `byte_offset'.
2891         (CHARSET_BYTE_OFFSET): New macro.
2892         (XCHARSET_UCS_MIN): New macro.
2893         (XCHARSET_UCS_MAX): New macro.
2894         (XCHARSET_CODE_OFFSET): New macro.
2895         (XCHARSET_BYTE_OFFSET): New macro.
2896         (MIN_CHAR_HIRAGANA): New macro.
2897         (MAX_CHAR_HIRAGANA): New macro.
2898         (MIN_CHAR_KATAKANA): New macro.
2899         (MAX_CHAR_KATAKANA): New macro.
2900         (MAKE_CHAR): Modify for new coded-charset definition; use
2901         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
2902         `XCHARSET_BYTE_OFFSET'.
2903
2904 1999-09-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
2905
2906         * mule-charset.c (CHAR96): Deleted.
2907         (latin_jisx0201_to_ucs): Type is changed from array of <Emchar> to
2908         <Lisp_Object>.
2909         (latin_iso8859_2_to_ucs): Likewise.
2910         (latin_iso8859_3_to_ucs): Likewise.
2911         (latin_iso8859_4_to_ucs): Likewise.
2912         (latin_iso8859_9_to_ucs): Likewise.
2913         (latin_viscii_lower_to_ucs): Likewise.
2914         (latin_viscii_upper_to_ucs): Likewise.
2915         (latin_tcvn5712_to_ucs): Commented out.
2916         (make_charset): Change type of argument `decoding_table' from
2917         <Emchar*> to <Lisp_Object> [vector of characters].
2918         (Fmake_charset): Modify for `make_charset'.
2919         (Fmake_reverse_direction_charset): Likewise.
2920         (Fcharset_mapping_table): New function in UTF-2000.
2921         (syms_of_mule_charset): Setup `Fcharset_mapping_table' in
2922         UTF-2000.
2923         (complex_vars_of_mule_charset): Modify for type change of
2924         `*_to_ucs'; modify for `make_charset'.
2925
2926         * char-ucs.h (struct Lisp_Charset): Change type of
2927         `decoding_table' from <Emchar*> to <Lisp_Object>.
2928         (MAKE_CHAR): Modify for new specification of `decoding_table'.
2929
2930 1999-09-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
2931
2932         * mule-charset.c (Fmake_reverse_direction_charset): Fix compile
2933         error with non-UTF-2000-Mule.
2934
2935 1999-09-21  MORIOKA Tomohiko  <tomo@etl.go.jp>
2936
2937         * mule-charset.c (Vcharset_chinese_cns11643_3): Deleted [defined
2938         in lisp again].
2939         (Vcharset_chinese_cns11643_4): Likewise.
2940         (Vcharset_chinese_cns11643_5): Likewise.
2941         (Vcharset_chinese_cns11643_6): Likewise.
2942         (Vcharset_chinese_cns11643_7): Likewise.
2943         (Qchinese_cns11643_3): Likewise.
2944         (Qchinese_cns11643_4): Likewise.
2945         (Qchinese_cns11643_5): Likewise.
2946         (Qchinese_cns11643_6): Likewise.
2947         (Qchinese_cns11643_7): Likewise.
2948         (syms_of_mule_charset): Move definitions for `chinese-cns11643-3',
2949         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
2950         and `chinese-cns11643-7' to lisp/mule/chinese.el.
2951         (complex_vars_of_mule_charset): Likewise.
2952
2953 1999-09-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
2954
2955         * mule-charset.c (charset_get_byte1): Fix bug about 94- and
2956         96-set.
2957         (Fmake_reverse_direction_charset): Inherit CHARSET_DECODING_TABLE,
2958         CHARSET_UCS_MIN, CHARSET_UCS_MAX and CHARSET_CODE_OFFSET.
2959
2960 1999-09-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
2961
2962         * char-ucs.h (MIN_CHAR_HALFWIDTH_KATAKANA): Changed to 0xFF61 from
2963         0xFF60.
2964         (MAKE_CHAR): Change offset for katakana-jisx0201 to 33 from 0x20.
2965         (breakup_char_1): Likewise.
2966
2967         * text-coding.c (char_encode_iso2022): Keep designated charsets if
2968         one of them includes the specified character.
2969
2970 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
2971
2972         * mule-charset.c: Update `utf-2000-version' to 0.8 (Kami).
2973
2974 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
2975
2976         * char-ucs.h (MAKE_CHAR): Fix problem in 2-dimension charset.
2977
2978 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
2979
2980         * mule-charset.c (latin_iso8859_2_to_ucs NULL): Add pseudo
2981         definition for non-UTF-2000 Mule.
2982         (latin_iso8859_3_to_ucs): Likewise.
2983         (latin_iso8859_4_to_ucs): Likewise.
2984         (latin_iso8859_9_to_ucs): Likewise.
2985         (latin_jisx0201_to_ucs): Likewise.
2986         (MIN_CHAR_THAI): Likewise.
2987         (MAX_CHAR_THAI): Likewise.
2988         (MIN_CHAR_GREEK): Likewise.
2989         (MAX_CHAR_GREEK): Likewise.
2990         (MIN_CHAR_HEBREW): Likewise.
2991         (MAX_CHAR_HEBREW): Likewise.
2992         (MIN_CHAR_HALFWIDTH_KATAKANA): Likewise.
2993         (MAX_CHAR_HALFWIDTH_KATAKANA): Likewise.
2994         (MIN_CHAR_CYRILLIC): Likewise.
2995         (MAX_CHAR_CYRILLIC): Likewise.
2996
2997 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
2998
2999         * char-ucs.h (breakup_char_1): Use
3000         `Vdefault_coded_charset_priority_list' for hebrew-iso8859-8,
3001         thai-tis620 and katakana-jisx0201 area.
3002
3003 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3004
3005         * char-ucs.h (breakup_char_1): Use
3006         `Vdefault_coded_charset_priority_list' for cyrillic-iso8859-5
3007         area.
3008
3009         * text-coding.c (reset_encoding_stream): Fixed.
3010         (char_encode_ucs4): Delete `& 255'.
3011
3012         * char-ucs.h (breakup_char_1): Use
3013         `Vdefault_coded_charset_priority_list' for greek-iso8859-7 area.
3014
3015 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3016
3017         * file-coding.c (Fmake_coding_system): Don't set up
3018         `codesys->fixed.size'.
3019         (encode_coding_no_conversion): Don't refer
3020         `str->codesys->fixed.size'.
3021
3022 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3023
3024         * mule-charset.c, char-ucs.h (latin_a_char_to_charset): Deleted.
3025         (latin_a_char_to_byte1): Deleted.
3026         (latin_a_char_to_byte2): Deleted.
3027
3028 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3029
3030         * mule-charset.c (make_charset): Add new argument `ucs_min',
3031         `ucs_max' and `code_offset'.
3032         (charset_get_byte1): New implementation [delete specific charset
3033         depended implementations].
3034         (Fmake_charset): Modify for `make_charset'.
3035         (Fmake_reverse_direction_charset): Likewise.
3036         (complex_vars_of_mule_charset): Likewise.
3037
3038         * char-ucs.h (struct Lisp_Charset): Add `ucs_min', `ucs_max' and
3039         `code_offset'.
3040         (CHARSET_UCS_MIN): New macro.
3041         (CHARSET_UCS_MAX): New macro.
3042         (CHARSET_CODE_OFFSET): New macro.
3043         (MAKE_CHAR): Delete charset depended definitions [except
3044         katakana-jisx0201].
3045
3046 1999-09-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
3047
3048         * char-ucs.h (breakup_char_1): Use
3049         `Vdefault_coded_charset_priority_list' for C0-Controls,
3050         Basic-Latin, C1-Controls and Latin-1-Supplement area.
3051
3052 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3053
3054         * char-ucs.h (charset_get_byte1): New function.
3055         (XCHARSET_GET_BYTE1): Deleted.
3056         (charset_get_byte2): New function.
3057         (XCHARSET_GET_BYTE2): Deleted.
3058         (Vdefault_coded_charset_priority_list): New external variable.
3059         (breakup_char_1): Use `charset_get_byte1', `charset_get_byte2' and
3060         `Vdefault_preferred_coded_charset_list'.
3061
3062         * mule-charset.c (charset_get_byte1): New function.
3063         (charset_get_byte2): New function.
3064         (Vdefault_coded_charset_priority_list): New variable.
3065         (vars_of_mule_charset): Add new variable
3066         `default-coded-charset-priority-list'.
3067
3068 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3069
3070         * char-ucs.h (XCHARSET_GET_BYTE1): New inline function.
3071         (XCHARSET_GET_BYTE2): New inline function.
3072         (breakup_char_1): Use `XCHARSET_GET_BYTE1' and
3073         `XCHARSET_GET_BYTE2'.
3074
3075 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3076
3077         * mule-charset.c (make_charset): Initialize
3078         `CHARSET_TO_BYTE1_TABLE(cs)' and `CHARSET_TO_BYTE2_TABLE(cs)' by
3079         NULL if table is not defined.
3080
3081 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3082
3083         * text-coding.c (char_encode_shift_jis): Use
3084         `XCHARSET_TO_BYTE1_TABLE' for `Vcharset_latin_jisx0201' instead of
3085         `ucs_to_latin_jisx0201'.
3086
3087         * mule-charset.c (ucs_to_latin_jisx0201): Deleted.
3088         (ucs_to_latin_iso8859_2): Deleted.
3089         (ucs_to_latin_iso8859_3): Deleted.
3090         (ucs_to_latin_iso8859_4): Deleted.
3091         (ucs_to_latin_iso8859_9): Deleted.
3092         (ucs_to_latin_viscii_lower): Deleted.
3093         (ucs_to_latin_viscii_upper): Deleted.
3094         (ucs_to_latin_tcvn5712): Deleted.
3095         (make_charset): Add new argument `decoding_table'; set up
3096         `CHARSET_DECODING_TABLE(cs)' in UTF-2000; set up
3097         `CHARSET_TO_BYTE1_TABLE(cs)' for 94-set and 96-set if
3098         `decoding_table' is defined in UTF-2000.
3099         (Fmake_charset): Modify for `make_charset'.
3100         (Fmake_reverse_direction_charset): Likewise.
3101         (complex_vars_of_mule_charset): Likewise; delete `GENERATE_94_SET'
3102         and `GENERATE_96_SET'.
3103
3104         * char-ucs.h (latin_jisx0201_to_ucs): Deleted.
3105         (ucs_to_latin_jisx0201): Deleted.
3106         (latin_iso8859_2_to_ucs): Deleted.
3107         (ucs_to_latin_iso8859_2): Deleted.
3108         (latin_iso8859_3_to_ucs): Deleted.
3109         (ucs_to_latin_iso8859_3): Deleted.
3110         (latin_iso8859_4_to_ucs): Deleted.
3111         (ucs_to_latin_iso8859_4): Deleted.
3112         (latin_iso8859_9_to_ucs): Deleted.
3113         (ucs_to_latin_iso8859_9): Deleted.
3114         (latin_viscii_lower_to_ucs): Deleted.
3115         (ucs_to_latin_viscii_lower): Deleted.
3116         (latin_viscii_upper_to_ucs): Deleted.
3117         (ucs_to_latin_viscii_upper): Deleted.
3118         (struct Lisp_Charset): Renamed `encoding_table' to
3119         `to_byte1_table'; add `to_byte2_table'.
3120         (CHARSET_DECODING_TABLE): New macro.
3121         (CHARSET_TO_BYTE1_TABLE): New macro.
3122         (CHARSET_TO_BYTE2_TABLE): New macro.
3123         (XCHARSET_DECODING_TABLE): New macro.
3124         (XCHARSET_TO_BYTE1_TABLE): New macro.
3125         (XCHARSET_TO_BYTE2_TABLE): New macro.
3126         (MAKE_CHAR): Use `XCHARSET_DECODING_TABLE'; don't use `*_to_ucs'
3127         tables.
3128         (breakup_char_1): Use `XCHARSET_TO_BYTE1_TABLE' if it is defined;
3129         don't use `ucs_to_*' tables.
3130
3131 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3132
3133         * text-coding.c (Fmake_coding_system): Don't set up
3134         `codesys->fixed.size'.
3135         (encode_coding_no_conversion): Use `if' instead of `switch'.
3136
3137         * file-coding.h (struct Lisp_Coding_System): Delete `fixed.size'.
3138
3139 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3140
3141         * mule-charset.c (make_charset): Delete argument `rep_bytes'.
3142         (Fmake_charset): Modify for `make_charset'.
3143         (Fmake_reverse_direction_charset): Likewise.
3144         (complex_vars_of_mule_charset): Likewise.
3145
3146 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3147
3148         * text-coding.c (char_encode_shift_jis): Use table
3149         `ucs_to_latin_jisx0201' and BREAKUP_CHAR.
3150
3151 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3152
3153         * text-coding.c (text_encode_generic): Use `if' instead of
3154         `switch'.
3155         (decode_coding_sjis): Use `MAKE_CHAR' and `DECODE_ADD_UCS_CHAR' to
3156         decode JIS-Latin.
3157
3158 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3159
3160         * text-coding.c (encode_coding_sjis): Deleted.
3161         (char_encode_shift_jis): New function.
3162         (char_finish_shift_jis): New function.
3163         (reset_encoding_stream): Set up `encode_char' and `finish' for
3164         `CODESYS_UCS4' and `CODESYS_SHIFT_JIS'.
3165         (mule_encode): Use generic encoder for `CODESYS_SHIFT_JIS'.
3166         (char_encode_utf8): Treat `eol_type'.
3167
3168 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3169
3170         * file-coding.c (decode_coding_iso2022): Use
3171         `DECODE_ADD_UCS_CHAR'; don't use `XCHARSET_REP_BYTES'.
3172
3173 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3174
3175         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3176         to 0.7 (Hirano).
3177
3178 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3179
3180         * char-lb.h (CHAR_COLUMNS): New macro.
3181
3182 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3183
3184         * text-coding.c (char_encode_ucs4): New function.
3185         (char_finish_ucs4): New function.
3186         (encode_coding_ucs4): Deleted.
3187         (mule_encode): Use generic encoder for `CODESYS_UCS4'.
3188         (text_encode_generic): Delete local variable `charset' and `half'.
3189         (ucs_to_mule_table): Deleted.
3190         (mule_to_ucs_table): Deleted.
3191         (Fset_ucs_char): Deleted.
3192         (ucs_to_char): Deleted.
3193         (Fucs_char): Deleted.
3194         (Fset_char_ucs): Deleted.
3195         (Fchar_ucs): Deleted.
3196         (decode_ucs4): Deleted.
3197         (mule_char_to_ucs4): Deleted.
3198         (encode_ucs4): Deleted.
3199         (decode_coding_ucs4): Use `DECODE_ADD_UCS_CHAR'.
3200         (decode_coding_utf8): Likewise.
3201         (decode_coding_iso2022): Likewise; don't use `XCHARSET_REP_BYTES'.
3202         (char_encode_iso2022): Fixed.
3203         (syms_of_file_coding): Delete `Fset_ucs_char', `Fucs_char',
3204         `Fset_char_ucs' and `Fchar_ucs'.
3205         (complex_vars_of_file_coding): Don't initialize
3206         `ucs_to_mule_table'.
3207
3208         * objects-tty.c (tty_initialize_font_instance): Don't use
3209         `XCHARSET_COLUMNS'.
3210
3211         * mule-charset.c (make_charset): Don't set up CHARSET_REP_BYTES in
3212         UTF-2000.
3213
3214         * redisplay-tty.c (tty_output_display_block): Use `CHAR_COLUMNS'
3215         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
3216
3217         * insdel.c (bufbyte_string_displayed_columns): Use `CHAR_COLUMNS'
3218         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
3219         (emchar_string_displayed_columns): Likewise.
3220
3221         * indent.c (column_at_point): Use `CHAR_COLUMNS' instead of
3222         `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
3223         (string_column_at_point): Likewise.
3224         (Fmove_to_column): Likewise.
3225
3226         * char-ucs.h (struct Lisp_Charset): Delete `rep_bytes'; add
3227         `encoding_table' and `decoding_table'.
3228         (CHARSET_REP_BYTES): Deleted.
3229         (XCHARSET_REP_BYTES): Deleted.
3230         (XCHARSET_COLUMNS): Deleted.
3231         (CHAR_COLUMNS): New macro.
3232         (lookup_composite_char): Deleted unconditionally.
3233         (composite_char_string): Likewise.
3234
3235 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3236
3237         * char-ucs.h (Emchar_to_byte_table): New type.
3238         (get_byte_from_character_table): New function interface.
3239         (Vcharset_latin_jisx0201): New variable.
3240         (latin_jisx0201_to_ucs): New variable.
3241         (ucs_to_latin_jisx0201): New variable.
3242         (Vcharset_latin_iso8859_2): New variable.
3243         (latin_iso8859_2_to_ucs): New variable.
3244         (ucs_to_latin_iso8859_2): New variable.
3245         (Vcharset_latin_iso8859_3): New variable.
3246         (latin_iso8859_3_to_ucs): New variable.
3247         (ucs_to_latin_iso8859_3): New variable.
3248         (Vcharset_latin_iso8859_4): New variable.
3249         (latin_iso8859_4_to_ucs): New variable.
3250         (ucs_to_latin_iso8859_4): New variable.
3251         (Vcharset_latin_iso8859_9): New variable.
3252         (latin_iso8859_9_to_ucs): New variable.
3253         (ucs_to_latin_iso8859_9): New variable.
3254         (Vcharset_latin_viscii_lower): New variable.
3255         (latin_viscii_lower_to_ucs): New variable.
3256         (ucs_to_latin_viscii_lower): New variable.
3257         (Vcharset_latin_viscii_upper): New variable.
3258         (latin_viscii_upper_to_ucs): New variable.
3259         (ucs_to_latin_viscii_upper): New variable.
3260         (CHARSET_ID_OFFSET_94): Changed from 0x60 to 0x55.
3261         (LEADING_BYTE_LATIN_VISCII_LOWER): New macro.
3262         (LEADING_BYTE_LATIN_VISCII_UPPER): New macro.
3263         (MAKE_CHAR): Map `latin-iso8859-2', `latin-iso8859-3',
3264         `latin-iso8859-4', `latin-iso8859-9', `latin-jisx0201',
3265         `vietnamese-viscii-lower' and `vietnamese-viscii-upper' to BMP.
3266         (breakup_char_1): Use `ucs_to_latin_iso8859_2',
3267         `ucs_to_latin_iso8859_3', `ucs_to_latin_iso8859_4',
3268         `ucs_to_latin_iso8859_9', `ucs_to_latin_viscii_lower',
3269         `ucs_to_latin_viscii_upper' and `ucs_to_latin_jisx0201' tables.
3270
3271         * mule-charset.c (Vcharset_latin_viscii_lower): New variable.
3272         (Vcharset_latin_viscii_upper): New variable.
3273         (make_byte_from_character_table): New function.
3274         (put_byte_from_character_table): New function.
3275         (get_byte_from_character_table): New function.
3276         (CHAR96): New macro.
3277         (ucs_to_latin_jisx0201): New variable.
3278         (latin_jisx0201_to_ucs): New variable.
3279         (ucs_to_latin_iso8859_2): New variable.
3280         (latin_iso8859_2_to_ucs): New variable.
3281         (ucs_to_latin_iso8859_3): New variable.
3282         (latin_iso8859_3_to_ucs): New variable.
3283         (ucs_to_latin_iso8859_4): New variable.
3284         (latin_iso8859_4_to_ucs): New variable.
3285         (ucs_to_latin_iso8859_9): New variable.
3286         (latin_iso8859_9_to_ucs): New variable.
3287         (ucs_to_latin_viscii_lower): New variable.
3288         (latin_viscii_lower_to_ucs): New variable.
3289         (ucs_to_latin_viscii_upper): New variable.
3290         (latin_viscii_upper_to_ucs): New variable.
3291         (ucs_to_latin_tcvn5712): New variable.
3292         (latin_tcvn5712_to_ucs): New variable.
3293         (Qlatin_viscii_lower): New variable.
3294         (Qlatin_viscii_upper): New variable.
3295         (syms_of_mule_charset): Set up new symbol
3296         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'.
3297         (complex_vars_of_mule_charset): Set up new charset
3298         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'; new macro
3299         `GENERATE_94_SET' and `GENERATE_96_SET'; use them to generate
3300         `ucs_to_<CHARSET>' tables.
3301
3302 1999-09-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
3303
3304         * text-coding.c: New file.
3305
3306 1999-09-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
3307
3308         * mule-charset.c (Fmake_char): Fix problem of 256-set.
3309
3310         * char-ucs.h (Vcharset_ucs_bmp): New variable.
3311         (MAKE_CHAR): Modify for `ucs-bmp'.
3312         (breakup_char_1): Return `ucs-bmp' and code point of BMP for
3313         non-MULE characters of BMP.
3314
3315 1999-09-06  MORIOKA Tomohiko  <tomo@etl.go.jp>
3316
3317         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3318         to 0.6.
3319
3320 1999-09-05  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3321
3322         * lstream.h:
3323         - Include multibyte.h instead of character.h for `BYTE_ASCII_P'.
3324         - Include character.h for `CHAR_ASCII_P'.
3325
3326         * mb-multibyte.h (CHAR_MULTIBYTE_P): Moved from mule-charset.h.
3327
3328         * mule-charset.h (CHAR_MULTIBYTE_P): Moved to mb-multibyte.h.
3329         (CHAR_ASCII_P): Don't use `CHAR_MULTIBYTE_P'.
3330
3331         * mb-multibyte.h (BYTE_ASCII_P): Moved from char-ucs.h.
3332         (BYTE_C0_P): Likewise.
3333         (BYTE_C1_P): Likewise.
3334         (Lstream_get_emchar_1): Likewise.
3335         (Lstream_fput_emchar): Likewise.
3336         (Lstream_funget_emchar): Likewise.
3337         (copy_internal_to_external): Likewise.
3338         (copy_external_to_internal): Likewise.
3339
3340         * char-ucs.h (BYTE_ASCII_P): Moved to mb-multibyte.h.
3341         (BYTE_C0_P): Likewise.
3342         (BYTE_C1_P): Likewise.
3343         (Lstream_get_emchar_1): Likewise.
3344         (Lstream_fput_emchar): Likewise.
3345         (Lstream_funget_emchar): Likewise.
3346         (copy_internal_to_external): Likewise.
3347         (copy_external_to_internal): Likewise.
3348
3349         * mb-1byte.h (BYTE_ASCII_P): Moved from buffer.h.
3350         (REP_BYTES_BY_FIRST_BYTE): Likewise.
3351
3352         * buffer.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-1byte.h.
3353         (BYTE_ASCII_P): Moved to mb-1byte.h.
3354
3355 1999-09-04  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3356
3357         * mb-utf-8.h, mb-lb.h: Include mb-multibyte.h.
3358
3359         * multibyte.h: Include mb-1byte.h in unibyte-XEmacs.
3360         (MAX_EMCHAR_LEN): Moved to mb-1byte.h.
3361         (VALID_CHARPTR_P): Moved to mb-*byte.h.
3362         (VALIDATE_CHARPTR_BACKWARD): Likewise.
3363         (VALIDATE_CHARPTR_FORWARD): Likewise.
3364         (simple_charptr_emchar): Moved to mb-multibyte.h.
3365         (simple_set_charptr_emchar): Likewise.
3366         (simple_charptr_copy_char): Likewise.
3367         (non_ascii_charptr_emchar): Likewise.
3368         (non_ascii_set_charptr_emchar): Likewise.
3369         (non_ascii_charptr_copy_char): Likewise.
3370         (charptr_emchar): Moved to mb-*byte.h.
3371         (set_charptr_emchar): Likewise.
3372         (charptr_copy_char): Likewise.
3373
3374         * mb-1byte.h, mb-multibyte.h: New files.
3375
3376 1999-09-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3377
3378         * mb-utf-8.h (MULTIBYTE): New macro.
3379         (MAX_EMCHAR_LEN): Moved from buffer.h.
3380         (REP_BYTES_BY_FIRST_BYTE): Moved from char-ucs.h.
3381
3382         * char-ucs.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-utf-8.h.
3383
3384         * mb-lb.h, multibyte.h: New files.
3385
3386         * char-1byte.h (Charset_ID): Moved from buffer.h.
3387         (MIN_LEADING_BYTE): Likewise.
3388         (LEADING_BYTE_ASCII): Likewise.
3389         (NUM_LEADING_BYTES): Likewise.
3390         (CHARSETP): Likewise.
3391         (CHARSET_BY_LEADING_BYTE): Likewise.
3392         (XCHARSET_LEADING_BYTE): Likewise.
3393         (XCHARSET_GRAPHIC): Likewise.
3394         (XCHARSET_COLUMNS): Likewise.
3395         (XCHARSET_DIMENSION): Likewise.
3396         (CHAR_CHARSET): Likewise.
3397         (CHAR_LEADING_BYTE): Likewise.
3398         (BREAKUP_CHAR): Likewise.
3399         (Vcharset_ascii): Likewise.
3400
3401         * buffer.h: Include multibyte.h unconditionally.
3402         (VALID_CHARPTR_P): Moved to multibyte.h.
3403         (ASSERT_VALID_CHARPTR): Likewise.
3404         (REAL_INC_CHARPTR): Likewise.
3405         (REAL_INC_CHARBYTIND): Likewise.
3406         (REAL_DEC_CHARPTR): Likewise.
3407         (INC_CHARPTR): Likewise.
3408         (INC_CHARBYTIND): Likewise.
3409         (DEC_CHARPTR): Likewise.
3410         (VALIDATE_CHARPTR_BACKWARD): Likewise.
3411         (VALIDATE_CHARPTR_FORWARD): Likewise.
3412         (charptr_n_addr): Likewise.
3413         (MAX_EMCHAR_LEN): Moved to mb-*.h.
3414         (simple_charptr_emchar): Moved to multibyte.h.
3415         (simple_set_charptr_emchar): Likewise.
3416         (simple_charptr_copy_char): Likewise.
3417         (non_ascii_charptr_emchar): Likewise.
3418         (non_ascii_set_charptr_emchar): Likewise.
3419         (non_ascii_charptr_copy_char): Likewise.
3420         (charptr_emchar): Likewise.
3421         (set_charptr_emchar): Likewise.
3422         (charptr_copy_char): Likewise.
3423         (charptr_emchar_n): Likewise.
3424         (Charset_ID): Moved to char-1byte.h.
3425         (Vcharset_ascii): Likewise.
3426         (CHAR_CHARSET): Likewise.
3427         (CHAR_LEADING_BYTE): Likewise.
3428         (LEADING_BYTE_ASCII): Likewise.
3429         (NUM_LEADING_BYTES): Likewise.
3430         (MIN_LEADING_BYTE): Likewise.
3431         (CHARSETP): Likewise.
3432         (CHARSET_BY_LEADING_BYTE): Likewise.
3433         (XCHARSET_LEADING_BYTE): Likewise.
3434         (XCHARSET_GRAPHIC): Likewise.
3435         (XCHARSET_COLUMNS): Likewise.
3436         (XCHARSET_DIMENSION): Likewise.
3437         (BREAKUP_CHAR): Likewise.
3438
3439 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3440
3441         * character.h: Add document about interface for characters.
3442
3443         * char-ucs.h (CHAR_ASCII_P): Modify name of argument.
3444         (MAKE_CHAR): Delete comment about
3445         `FIELD2_TO_OFFICIAL_LEADING_BYTE' and
3446         `FIELD2_TO_PRIVATE_LEADING_BYTE'.
3447         (BREAKUP_CHAR): Modify name of arguments.
3448         (CHAR_CHARSET): Modify name of argument.
3449
3450         * buffer.h: Delete document about Emchar accessors.
3451
3452 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3453
3454         * character.h (CHAR_INTP): Moved from buffer.h
3455         (CHAR_OR_CHAR_INTP): Likewise.
3456         (XCHAR_OR_CHAR_INT): Likewise.
3457         (CHECK_CHAR_COERCE_INT): Likewise.
3458
3459         * buffer.h (CHAR_INTP): Moved to character.h
3460         (CHAR_OR_CHAR_INTP): Likewise.
3461         (XCHAR_OR_CHAR_INT): Likewise.
3462         (CHECK_CHAR_COERCE_INT): Likewise.
3463
3464 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3465
3466         * character.h:
3467         - Move definitions about UCS-2000 (UCS-4) to char-ucs.h.
3468         - Include char-1byte.h, char-lb.h or char-ucs.h.
3469
3470         * mb-utf-8.h (CHAR_ASCII_P): Moved to char-ucs.h.
3471
3472         * buffer.h: Include character unconditionally.
3473         (valid_char_p): Moved to char-*.h.
3474         (non_ascii_valid_char_p): Moved to char-lb.h.
3475
3476         * char-1byte.h, char-lb.h, char-ucs.h: New files.
3477
3478 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3479
3480         * mule-ccl.c (ccl_driver): Don't define `CCL_WriteMultibyteChar2'
3481         in UTF-2000 because it is not ported yet and not to use
3482         `FIELD2_TO_OFFICIAL_LEADING_BYTE', `MIN_LEADING_BYTE_OFFICIAL_2',
3483         `FIELD1_TO_OFFICIAL_LEADING_BYTE' and
3484         `FIELD1_TO_PRIVATE_LEADING_BYTE'.
3485
3486         * mb-utf-8.h (CHAR_MULTIBYTE_P): Moved from character.h.
3487         (CHAR_ASCII_P): Moved from character.h.
3488
3489         * character.h (CHAR_MULTIBYTE_P): Moved to mb-utf-8.h.
3490         (CHAR_ASCII_P): Likewise.
3491         (CHAR_FIELD1_MASK): Deleted.
3492         (CHAR_FIELD2_MASK): Deleted.
3493         (CHAR_FIELD3_MASK): Deleted.
3494         (MAX_CHAR_BASIC_LATIN): New macro.
3495         (CHAR_FIELD1): Deleted.
3496         (CHAR_FIELD2_INTERNAL): Deleted.
3497         (CHAR_FIELD3_INTERNAL): Deleted.
3498         (FIELD1_TO_PRIVATE_LEADING_BYTE): Deleted.
3499         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Deleted.
3500         (FIELD2_TO_PRIVATE_LEADING_BYTE): Deleted.
3501         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Deleted.
3502         (MIN_CHAR_FIELD1_OFFICIAL): Deleted.
3503         (MAX_CHAR_FIELD1_OFFICIAL): Deleted.
3504         (MIN_CHAR_FIELD2_PRIVATE): Deleted.
3505         (MAX_CHAR_FIELD2_PRIVATE): Deleted.
3506         (MIN_CHAR_FIELD1_PRIVATE): Deleted.
3507         (MAX_CHAR_FIELD1_PRIVATE): Deleted.
3508         (MULE_CHAR_PRIVATE_OFFSET): Deleted.
3509         (MIN_CHAR_PRIVATE_TYPE9N): Deleted.
3510         (MAX_CHAR_PRIVATE_TYPE9N): Deleted.
3511         (MIN_CHAR_PRIVATE_TYPE9NX9N): Deleted.
3512         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Deleted.
3513         (MIN_CHAR_COMPOSITION): Deleted.
3514         (breakup_char_1): Use `MAX_CHAR_BASIC_LATIN' instead of
3515         `CHAR_ASCII_P'; use `0x7f' instead of `CHAR_FIELD3_INTERNAL'.
3516
3517 1999-09-02  MORIOKA Tomohiko  <tomo@m17n.org>
3518
3519         * buffer.h: Include mb-utf-8.h in UTF-2000.
3520
3521         * character.h (BUFBYTE_FIRST_BYTE_P): Moved to mb-utf-8.h.
3522
3523         * mb-utf-8.h: New file.
3524
3525 1999-09-02  MORIOKA Tomohiko  <tomo@etl.go.jp>
3526
3527         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use `Charset_ID'
3528         instead of `int'.
3529
3530         * mule-charset.h, buffer.h (Charset_ID): New type.
3531
3532 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
3533
3534         * mule-canna.c (c2mu): Use `MAKE_CHAR',
3535         `Vcharset_japanese_jisx0212' and `Vcharset_japanese_jisx0208'
3536         instead of `MULE_CHAR_PRIVATE_OFFSET',
3537         `LEADING_BYTE_JAPANESE_JISX0212', `LEADING_BYTE_JAPANESE_JISX0208'
3538         and `FIELD1_TO_OFFICIAL_LEADING_BYTE'.
3539         (m2c): Use `BREAKUP_CHAR' and `XCHARSET_FINAL'.
3540
3541         * character.h (Vcharset_japanese_jisx0212): New variable
3542         definition.
3543
3544 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
3545
3546         * mule-charset.c (Vcharset_ucs_bmp): New variable in UTF-2000.
3547         (charset_by_attributes): Delete array about direction.
3548         (latin_a_char_to_charset): New variable in UTF-2000.
3549         (latin_a_char_to_byte1): New variable in UTF-2000.
3550         (latin_a_char_to_byte2): New variable in UTF-2000.
3551         (Qucs_bmp): New variable.
3552         (next_allocated_1_byte_leading_byte): Use `Charset_ID' instead of
3553         `Bufbyte'.
3554         (next_allocated_2_byte_leading_byte): Likewise.
3555         (non_ascii_set_charptr_emchar): Likewise.
3556         (make_charset): Likewise; add `CHARSET_TYPE_128X128' and
3557         `CHARSET_TYPE_256X256' in UTF-2000; modify for
3558         `charset_by_attributes'.
3559         (get_unallocated_leading_byte): Use `Charset_ID' instead of `int'.
3560         (char-charset): Use `CHAR_CHARSET' instead of `CHAR_LEADING_BYTE'
3561         and `CHARSET_BY_LEADING_BYTE'.
3562         (syms_of_mule_charset): Set up `ucs-bmp'; move setting of
3563         `utf-2000-version' to `vars_of_mule_charset'.
3564         (vars_of_mule_charset): Modify for `charset_by_attributes'; don't
3565         define `leading-code-private-11' in UTF-2000; move setting of
3566         `utf-2000-version' from `syms_of_mule_charset'.
3567         (complex_vars_of_mule_charset): Set up charset `ucs-bmp' in
3568         UTF-2000.
3569
3570         * character.h (Charset_ID): New type.
3571         (LEADING_BYTE_UCS_BMP): New macro.
3572         (LEADING_BYTE_CONTROL_1): Changed from 0x8F to 0x81.
3573         (CHARSET_ID_OFFSET_94): New macro.
3574         (MIN_CHARSET_ID_PRIVATE_94): New macro.
3575         (MAX_CHARSET_ID_PRIVATE_94): New macro.
3576         (LEADING_BYTE_ASCII): Changed to use CHARSET_ID_OFFSET_94 and
3577         final-byte.
3578         (LEADING_BYTE_KATAKANA_JISX0201): Likewise.
3579         (LEADING_BYTE_LATIN_JISX0201): Likewise.
3580         (CHARSET_ID_OFFSET_96): New macro.
3581         (LEADING_BYTE_LATIN_ISO8859_1): Changed to use
3582         CHARSET_ID_OFFSET_96 and final-byte.
3583         (LEADING_BYTE_LATIN_ISO8859_2): Likewise.
3584         (LEADING_BYTE_LATIN_ISO8859_3): Likewise.
3585         (LEADING_BYTE_LATIN_ISO8859_4): Likewise.
3586         (LEADING_BYTE_GREEK_ISO8859_7): Likewise.
3587         (LEADING_BYTE_ARABIC_ISO8859_6): Likewise.
3588         (LEADING_BYTE_HEBREW_ISO8859_8): Likewise.
3589         (LEADING_BYTE_CYRILLIC_ISO8859_5): Likewise.
3590         (LEADING_BYTE_LATIN_ISO8859_9): Likewise.
3591         (LEADING_BYTE_THAI_TIS620): Likewise.
3592         (MIN_LEADING_BYTE_PRIVATE_1): Changed from 0x0D0 to 0xD0.
3593         (MAX_LEADING_BYTE_PRIVATE_1): Changed from 0x11f to 0xDF.
3594         (CHARSET_ID_OFFSET_94x94): New macro.
3595         (LEADING_BYTE_CHINESE_BIG5_1): Changed to use
3596         CHARSET_ID_OFFSET_94x94 and final-byte.
3597         (LEADING_BYTE_CHINESE_BIG5_2): Likewise.
3598         (MIN_LEADING_BYTE_PRIVATE_2): Likewise.
3599         (MAX_LEADING_BYTE_PRIVATE_2): Likewise.
3600         (LEADING_BYTE_JAPANESE_JISX0208_1978): Likewise.
3601         (LEADING_BYTE_CHINESE_GB2312): Likewise.
3602         (LEADING_BYTE_JAPANESE_JISX0208): Likewise.
3603         (LEADING_BYTE_KOREAN_KSC5601): Likewise.
3604         (LEADING_BYTE_JAPANESE_JISX0212): Likewise.
3605         (LEADING_BYTE_CHINESE_CCITT_GB): Likewise.
3606         (LEADING_BYTE_CHINESE_CNS11643_*): Likewise.
3607         (LEADING_BYTE_KOREAN_KPS9566): Likewise.
3608         (CHARSET_TYPE_128X128): New macro.
3609         (CHARSET_TYPE_256X256): New macro.
3610         (XCHARSET_PRIVATE_P): Delete unconditionally.
3611         (charset_by_attributes): Delete array about direction.
3612         (CHARSET_BY_LEADING_BYTE): Use `Charset_ID' instead of `int'.
3613         (CHARSET_BY_ATTRIBUTES): Modify for `charset_by_attributes'.
3614         (MIN_CHAR_94): New macro.
3615         (MAX_CHAR_94): New macro.
3616         (MIN_CHAR_96): New macro.
3617         (MAX_CHAR_96): New macro.
3618         (MIN_CHAR_94x94): New macro.
3619         (MAX_CHAR_94x94): New macro.
3620         (MIN_CHAR_96x96): New macro.
3621         (MAX_CHAR_96x96): New macro.
3622         (FIELD1_TO_PRIVATE_LEADING_BYTE): Use `CHARSET_ID_OFFSET_94x94'.
3623         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
3624         (FIELD2_TO_PRIVATE_LEADING_BYTE): Use `(MIN_LEADING_BYTE_PRIVATE_1
3625         - 32)'.
3626         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Use `LEADING_BYTE_ASCII'.
3627         (MIN_CHAR_FIELD2_OFFICIAL): Deleted.
3628         (MAX_CHAR_FIELD2_OFFICIAL): Deleted.
3629         (MIN_CHAR_OFFICIAL_TYPE9N): Deleted.
3630         (MAX_CHAR_PRIVATE_TYPE9N): Changed.
3631         (MAKE_CHAR): Use `XCHARSET_FINAL' instead of
3632         `XCHARSET_LEADING_BYTE' to make code-point.
3633         (latin_a_char_to_charset): New variable.
3634         (latin_a_char_to_byte1): New variable.
3635         (latin_a_char_to_byte2): New variable.
3636         (breakup_char_1): Use `latin_a_char_to_{charset|byte1|byte2}' for
3637         Latin Extended-A; use `CHARSET_BY_ATTRIBUTES' instead of
3638         `CHARSET_BY_LEADING_BYTE' to get charset for ISO-2022 characters.
3639
3640         * insdel.c (find_charsets_in_bufbyte_string): Use `Charset_ID'
3641         instead of `unsigned char'; use `MIN_LEADING_BYTE' instead of 128.
3642         (find_charsets_in_emchar_string): Likewise.
3643         (vars_of_insdel): Don't define local variable `i' in UTF-2000.
3644
3645         * file-coding.c (Fdecode_big5_char): Use `Charset_ID' instead of
3646         `int'.
3647         (decode_coding_iso2022): Likewise.
3648
3649         * toolbar-x.c (x_output_toolbar_button): Use `Charset_ID' instead
3650         of `unsigned char'.
3651
3652         * redisplay.c (redisplay_text_width_emchar_string): Use
3653         `Charset_ID' instead of `unsigned char'.
3654         (redisplay_frame_text_width_string): Likewise.
3655
3656         * glyphs.c (glyph_height_internal): Use `Charset_ID' instead of
3657         `unsigned char'.
3658
3659         * faces.h, faces.c (ensure_face_cachel_complete): Use `Charset_ID'
3660         instead of `unsigned char'.
3661         (face_cachel_charset_font_metric_info): Likewise.
3662
3663         * chartab.c (print_char_table): Use `Charset_ID' instead of `int'.
3664         (get_non_ascii_char_table_value): Likewise.
3665         (get_char_table): Likewise.
3666         (put_char_table): Likewise.
3667         (map_over_other_charset): Likewise.
3668         (map_char_table): Likewise.
3669
3670         * buffer.h (find_charsets_in_bufbyte_string): Use `Charset_ID'
3671         instead of `unsigned char'.
3672
3673 1999-08-31  MORIOKA Tomohiko  <tomo@etl.go.jp>
3674
3675         * character.h (PRE_LEADING_BYTE_PRIVATE_1): Deleted.
3676         (PRE_LEADING_BYTE_PRIVATE_2): Deleted.
3677
3678         * mule-charset.c (leading_code_private_11): Don't define in
3679         UTF-2000.
3680
3681         * mule-ccl.c (ccl_driver): Don't define `CCL_ReadMultibyteChar2'
3682         in UTF-2000 because it is not ported yet and not to use
3683         `PRE_LEADING_BYTE_PRIVATE_1' and `PRE_LEADING_BYTE_PRIVATE_2'.
3684
3685 1999-08-30  MORIOKA Tomohiko  <tomo@etl.go.jp>
3686
3687         * character.h (LEADING_BYTE_COMPOSITE): Deleted.
3688
3689 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3690
3691         * regex.c (re_compile_fastmap): Don't use `LEADING_BYTE_PREFIX_P'
3692         in UTF-2000.
3693
3694         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use int instead
3695         of unsigned char to store leading-byte.
3696
3697         * chartab.c (get_non_ascii_char_table_value): Don't use
3698         `BREAKUP_CHAR_1_UNSAFE' in UTF-2000.
3699
3700         * file-coding.c (encode_coding_big5): Delete bogus implementation
3701         in UTF2000.
3702
3703         * character.h (LEADING_BYTE_*): Delete definition for
3704         non-UTF-2000.
3705         (LEADING_BYTE_PRIVATE_P): Deleted unconditionally.
3706         (LEADING_BYTE_PREFIX_P): Deleted.
3707         (PRIVATE_LEADING_BYTE_PREFIX): Deleted.
3708         (BUFBYTE_FIRST_BYTE_P): Delete definition for non-UTF-2000.
3709         (BUFBYTE_LEADING_BYTE_P): Deleted.
3710         (CHARSET_PRIVATE_P): Deleted unconditionally.
3711         (rep_bytes_by_first_byte): Deleted unconditionally.
3712         (REP_BYTES_BY_FIRST_BYTE): Delete definition for non-UTF-2000.
3713         (FIELD1_TO_PRIVATE_LEADING_BYTE): Likewise.
3714         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
3715         (FIELD2_TO_PRIVATE_LEADING_BYTE): Likewise.
3716         (CHAR_FIELD2): Deleted.
3717         (CHAR_FIELD3): Deleted.
3718         (MAKE_CHAR): Delete definition for non-UTF-2000.
3719         (BREAKUP_CHAR_1_UNSAFE): Deleted.
3720         (breakup_char_1): New implementation.
3721         (CHAR_CHARSET): Use `BREAKUP_CHAR'.
3722         (CHAR_LEADING_BYTE): Use `CHAR_CHARSET'.
3723
3724 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3725
3726         * character.h (REP_BYTES_BY_FIRST_BYTE): Change order of
3727         condition.
3728
3729 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3730
3731         * character.h (LEADING_BYTE_PRIVATE_P): Don't define in UTF2000.
3732         (CHARSET_PRIVATE_P): Likewise.
3733         (XCHARSET_PRIVATE_P): Likewise.
3734         (MAKE_CHAR): Don't use XCHARSET_PRIVATE_P in UTF2000.
3735
3736         * file-coding.c (encode_coding_ucs4): Delete bogus implement in
3737         UTF2000.
3738         (decode_coding_iso2022): Don't use XCHARSET_PRIVATE_P in UTF2000.
3739
3740 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3741
3742         * character.h (LEADING_BYTE_*): Changed in UTF2000.
3743         (NUM_LEADING_BYTES): Changed from 128 to 256.
3744         (FIELD1_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
3745         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Change value to 0x80 in
3746         UTF2000.
3747         (FIELD2_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
3748
3749         * mule-charset.c (Vcharset_chinese_cns11643_3): New variable in
3750         UTF2000.
3751         (Vcharset_chinese_cns11643_4): New variable in UTF2000.
3752         (Vcharset_chinese_cns11643_5): New variable in UTF2000.
3753         (Vcharset_chinese_cns11643_6): New variable in UTF2000.
3754         (Vcharset_chinese_cns11643_7): New variable in UTF2000.
3755         (Qchinese_cns11643_3): New variable in UTF2000.
3756         (Qchinese_cns11643_4): New variable in UTF2000.
3757         (Qchinese_cns11643_5): New variable in UTF2000.
3758         (Qchinese_cns11643_6): New variable in UTF2000.
3759         (Qchinese_cns11643_7): New variable in UTF2000.
3760         (syms_of_mule_charset): Define `chinese-cns11643-3',
3761         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
3762         and `chinese-cns11643-7' in UTF2000.
3763         (vars_of_mule_charset): Initialize
3764         next_allocated_2_byte_leading_byte by LEADING_BYTE_CHINESE_BIG5_2
3765         + 1 in UTF2000.
3766         (complex_vars_of_mule_charset): Setup charset
3767         `chinese-cns11643-3', `chinese-cns11643-4', `chinese-cns11643-5',
3768         `chinese-cns11643-6' and `chinese-cns11643-7' in UTF2000.
3769
3770 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3771
3772         * mule-charset.c: Move setting for `leading-code-private-11' from
3773         `syms_of_mule_charset' to `vars_of_mule_charset'.
3774
3775 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3776
3777         * mule-charset.h (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE'
3778         and `NUM_LEADING_BYTES' in assert.
3779
3780 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3781
3782         * character.h (charset_by_leading_byte): Use `NUM_LEADING_BYTES'
3783         instead of 128.
3784         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' and
3785         `NUM_LEADING_BYTES' instead of 128.
3786
3787 1999-08-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
3788
3789         * mule-charset.h (charset_by_leading_byte): Use
3790         `NUM_LEADING_BYTES' instead of 128.
3791         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' instead of 128.
3792
3793         * mule-charset.c (charset_by_leading_byte): Use
3794         `NUM_LEADING_BYTES' instead of 128.
3795         (make_charset): Use `MIN_LEADING_BYTE' instead of 128.
3796
3797         * faces.h (FACE_CACHEL_FONT): Use `MIN_LEADING_BYTE' instead of
3798         128.
3799
3800 1999-08-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
3801
3802         * mule-charset.c (syms_of_mule_charset): Update to
3803         0.4 (Shin-Imamiya).
3804
3805 1999-07-13 Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
3806
3807         * file-coding.c (encode_coding_sjis): New implementation for
3808         UTF2000.  (decode_coding_sjis): Ditto.
3809
3810 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
3811
3812         * mule-charset.c, character.h (Bytecount rep_bytes_by_first_byte):
3813         Don't define in UTF2000.
3814
3815         * character.h: Include mule-charset.h if CHAR_IS_UCS4 is not
3816         defined.
3817
3818         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
3819         mule-ccl.c, lstream.h, buffer.h: Include character.h in every
3820         MULE.
3821
3822 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
3823
3824         * config.h.in (CHAR_IS_UCS4): New macro.
3825
3826         * mule-charset.c (rep_bytes_by_first_byte): Modify for
3827         conventional MULE representation.
3828         (syms_of_mule_charset): Update to 0.3 (Imamiya).
3829
3830         * mule-charset.h: Reverted to original.
3831
3832         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
3833         mule-ccl.c, lstream.h, buffer.h: Use "character.h" instead of
3834         "mule-charset.h" if CHAR_IS_UCS4 is defined.
3835
3836         * character.h: New file.
3837
3838         * file-coding.c (Fmake_coding_system): Set 1 to
3839         `codesys->fixed.size' if TYPE is `no-conversion' and UTF2000 is
3840         defined.
3841         (encode_coding_no_conversion): New implementation for UTF2000.
3842
3843         * file-coding.h (struct Lisp_Coding_System): Add new member
3844         `fixed.size'.
3845
3846 1999-06-16  MORIOKA Tomohiko  <tomo@etl.go.jp>
3847
3848         * file-coding.c (decode_coding_iso2022): Code-point arguments of
3849         `MAKE_CHAR' must be smaller than 0x80 in UTF2000.
3850         (encode_coding_iso2022): New implementation for UTF2000.
3851
3852 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3853
3854         * mule-canna.c (c2mu): New implementation for UTF2000.
3855         (m2c): Likewise.
3856
3857 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3858
3859         * file-coding.c (encode_coding_no_conversion): Modify for UTF2000.
3860
3861 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3862
3863         * file-coding.c (reset_encoding_stream): Set 0 to
3864         `str->iso2022.current_char_boundary' in UTF2000.
3865         (encode_utf8): Don't define in UTF2000.
3866         (encode_coding_utf8): New implementation for UTF-8 representation
3867         of UTF2000.
3868         (complex_vars_of_file_coding): Define coding-system `utf-8'.
3869
3870 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3871
3872         * mule.c (vars_of_mule): Provide `utf-2000' in UTF2000.
3873
3874         * mule-charset.h (BUFBYTE_FIRST_BYTE_P): Modify for UTF-8 in
3875         UTF2000.
3876         (REP_BYTES_BY_FIRST_BYTE): Likewise.
3877
3878         * buffer.h (non_ascii_valid_char_p): Don't define in UTF2000.
3879
3880         * mule-charset.c (non_ascii_set_charptr_emchar): Don't define
3881         local variables `lb', `c1', `c2' and `charset' in UTF2000; encode
3882         as UTF-8 in UTF2000.
3883         (non_ascii_charptr_emchar): Decode as UTF-8 in UTF2000.
3884         (non_ascii_valid_char_p): Don't define in UTF2000.
3885         (non_ascii_charptr_copy_char): Add case 5 and 6 in UTF2000.
3886         (Lstream_get_emchar_1): Likewise.
3887         (utf-2000-version): New variable in UTF2000.
3888
3889         * lread.c (read_escape): Add new reader `u'.
3890
3891         * insdel.c (three_to_one_table): Don't define in UTF2000.
3892         (bufpos_to_bytind_func): Use `buf->text->mule_size' instead of
3893         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
3894         UTF2000.
3895         (bytind_to_bufpos_func): Likewise.
3896         (buffer_mule_signal_inserted_region): Likewise.
3897         (vars_of_insdel): Don't initialize `three_to_one_table'.
3898         (init_buffer_text): Use `buf->text->mule_size' instead of
3899         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
3900         UTF2000.
3901
3902         * file-coding.c (DECODE_ADD_BINARY_CHAR): New implementation for
3903         UTF-8 representation in UTF2000.
3904         (DECODE_ADD_UCS_CHAR): New macro in UTF2000.
3905         (decode_ucs4): Use `DECODE_ADD_UCS_CHAR' in UTF2000.
3906         (decode_coding_iso2022): Don't define local variable `lb' in
3907         UTF2000; don't use LEADING_BYTE in UTF2000; use
3908         `DECODE_ADD_UCS_CHAR' in UTF2000.
3909         (convert_to_external_format): Decode as UTF-8 in UTF2000.
3910
3911         * config.h.in (UTF2000): New macro.
3912
3913         * buffer.h (struct buffer_text): Add new member `mule_size' and
3914         don't add `mule_shifter' and `mule_three_p' in UTF2000.
3915         (valid_char_p): Return always 1 in UTF2000.
3916         (MAX_EMCHAR_LEN): 6 in UTF2000.
3917         (three_to_one_table): Don't define in UTF2000.
3918         (real_bufpos_to_bytind): Modify for UTF-8 representation in
3919         UTF2000.
3920         (real_bytind_to_bufpos): Likewise.
3921
3922         * alloc.c (Fmake_string): Add case 5 and 6 for UTF2000.
3923
3924 1999-06-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3925
3926         * mule-charset.c (rep_bytes_by_first_byte): Modified for character
3927         representation change.
3928         (Vutf_2000_version): New variable.
3929         (leading_code_private_11): New variable.
3930         (syms_of_mule_charset): Add new variables `utf-2000-version' and
3931         `leading-code-private-11'.
3932
3933         * mule-charset.h (LEADING_BYTE_CHINESE_CCITT_GB): New macro.
3934         (LEADING_BYTE_CHINESE_BIG5_1): Changed to 0x96 temporally.
3935         (LEADING_BYTE_CHINESE_CNS11643_1): Changed to 0x97.
3936         (LEADING_BYTE_CHINESE_CNS11643_2): Changed to 0x98.
3937         (LEADING_BYTE_CHINESE_CNS11643_3): New macro.
3938         (LEADING_BYTE_CHINESE_CNS11643_4): Likewise.
3939         (LEADING_BYTE_CHINESE_CNS11643_5): Likewise.
3940         (LEADING_BYTE_CHINESE_CNS11643_6): Likewise.
3941         (LEADING_BYTE_CHINESE_CNS11643_7): Likewise [but not used].
3942         (LEADING_BYTE_CHINESE_BIG5_2): Changed to 0x9D temporally.
3943         (LEADING_BYTE_KOREAN_KPS9566): New macro [but not used].
3944         (CHAR_FIELD1_MASK): Changed to (0x7F << 14).
3945         (MIN_CHAR_GREEK): New macro.
3946         (MAX_CHAR_GREEK): New macro.
3947         (MIN_CHAR_CYRILLIC): New macro.
3948         (MAX_CHAR_CYRILLIC): New macro.
3949         (MIN_CHAR_HEBREW): New macro.
3950         (MAX_CHAR_HEBREW): New macro.
3951         (MIN_CHAR_THAI): New macro.
3952         (MAX_CHAR_THAI): New macro.
3953         (MIN_CHAR_HALFWIDTH_KATAKANA): New macro.
3954         (MAX_CHAR_HALFWIDTH_KATAKANA): New macro.
3955         (CHAR_FIELD2_INTERNAL): New macro [renamed from `CHAR_FIELD2'.
3956         (CHAR_FIELD3_INTERNAL): New macro [renamed from `CHAR_FIELD3'.
3957         (FIELD1_TO_PRIVATE_LEADING_BYTE): Changed to 0xc0.
3958         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Changed to 0x50.
3959         (CHAR_FIELD2): New inline function.
3960         (CHAR_FIELD3): New inline function.
3961         (MULE_CHAR_PRIVATE_OFFSET): New macro.
3962         (MIN_CHAR_OFFICIAL_TYPE9N): Shifted to `MULE_CHAR_PRIVATE_OFFSET'.
3963         (MIN_CHAR_PRIVATE_TYPE9N): Likewise.
3964         (MIN_CHAR_PRIVATE_TYPE9NX9N): Likewise.
3965         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Likewise.
3966         (MIN_CHAR_COMPOSITION): Likewise.
3967         (CHAR_LEADING_BYTE): Modified for character representation change.
3968         (MAKE_CHAR): Likewise.
3969
3970         * lisp.h (Vcharset_latin_iso8859_1): New variable.
3971         (Vcharset_greek_iso8859_7): Likewise.
3972         (Vcharset_cyrillic_iso8859_5): Likewise.
3973         (Vcharset_hebrew_iso8859_8): Likewise.
3974         (Vcharset_thai_tis620): Likewise.
3975         (Vcharset_katakana_jisx0201): Likewise.
3976
3977 2001-02-08  Martin Buchholz <martin@xemacs.org>
3978
3979         * XEmacs 21.2.44 "Thalia" is released.
3980
3981 2001-02-06  Martin Buchholz  <martin@xemacs.org>
3982
3983         Fixes crashes in kill-emacs on some systems.
3984         * process-unix.c (unix_kill_child_process):
3985         It's OK for kill() to fail with ESRCH.
3986
3987 2001-02-07  Martin Buchholz  <martin@xemacs.org>
3988
3989         Contortions to make .gdbinit tricks work on most systems.
3990         * alloc.c (dbg_inhibit_dbg_symbol_deletion): Keep debugger info.
3991         * alloc.c (dbg_valmask): Make non-const.
3992         * alloc.c (dbg_typemask): Make non-const.
3993         * alloc.c (dbg_USE_UNION_TYPE): Make non-const.
3994         * alloc.c (dbg_valbits): Make non-const.
3995         * alloc.c (dbg_gctypebits): Make non-const.
3996         * .gdbinit (decode_object): Make it work with AIX cc.
3997
3998 2001-02-06  Martin Buchholz  <martin@xemacs.org>
3999
4000         * elhash.c (make_general_lisp_hash_table):
4001         Use simpler and more efficient calloc to clear entries.
4002
4003 2001-02-07  Martin Buchholz  <martin@xemacs.org>
4004
4005         * window.c (window_scroll): Work around an AIX C compiler bug.
4006         Fixes 'scroll-up' does nothing problem with xlC.
4007
4008 2001-02-05  Martin Buchholz  <martin@xemacs.org>
4009
4010         * .gdbinit: Remove obsolete comment.
4011
4012 2001-01-31  Mike Alexander  <mta@arbortext.com>
4013
4014         * select.c (Fown_selection_internal): Set owned_p for device
4015         method correctly.
4016
4017 2001-02-01  Martin Buchholz  <martin@xemacs.org>
4018
4019         Port to g++ 2.97.
4020         "not" cannot be used as a macro name as it is an operator in C++
4021         * config.h.in: Stop #defining `not'.
4022         * chartab.c (check_category_char): not ==> not_p
4023         * chartab.h: Likewise.
4024         * regex.c (re_match_2_internal): Likewise.
4025
4026 2001-02-02  Martin Buchholz  <martin@xemacs.org>
4027
4028         * lisp-disunion.h: Fix up comments.
4029
4030 2001-01-31  Martin Buchholz  <martin@xemacs.org>
4031
4032         * keymap.c (define_key_check_and_coerce_keysym):
4033         (syms_of_keymap):
4034         Support mouse-6 and mouse-7 bindings in the obvious way.
4035
4036 2001-02-01  Martin Buchholz  <martin@xemacs.org>
4037
4038         * m/hp9000s300.h (UNEXEC): Check for HPUX, not !BSD.
4039
4040 2001-01-30  Martin Buchholz  <martin@xemacs.org>
4041
4042         Previous patch changing DEFVAR_INT to use EMACS_INT was incomplete.
4043         Previous patch missed DEFVAR_INT_MAGIC.
4044         Make sure future DEFVAR_foo use correct types.
4045         * symeval.h (DEFVAR_SYMVAL_FWD_FIXNUM): New.
4046         * (DEFVAR_SYMVAL_FWD_INT): Add type checking.
4047         * (DEFVAR_SYMVAL_FWD_OBJECT): Add type checking.
4048         * (DEFVAR_INT_MAGIC): Use DEFVAR_SYMVAL_FWD_FIXNUM.
4049         * (DEFVAR_INT): Likewise.
4050         * redisplay.c (vertical_clip): Should be of type Fixnum.
4051         * redisplay.c (horizontal_clip): Likewise.
4052         * lisp.h (dump_add_opaque_int): New.
4053         (dump_add_opaque_fixnum): New.
4054
4055 2001-01-29  Andy Piper  <andy@xemacs.org>
4056
4057         * glyphs-widget.c (check_valid_int_or_function): allow symbols
4058         since they can be eval'ed
4059
4060 2001-01-29  Martin Buchholz  <martin@xemacs.org>
4061
4062         * lisp.h (ALIGNOF): Make it work on non-gcc C++ compilers.
4063         Oops, XEmacs redefines `class'.  Use `typename' instead.
4064
4065 2001-01-28  Martin Buchholz  <martin@xemacs.org>
4066
4067         * dumper.c: Fix C++ compile errors.
4068
4069 2001-01-29  Martin Buchholz  <martin@xemacs.org>
4070
4071         * tparam.c: Use correct prototypes.
4072
4073 2001-01-28  Martin Buchholz  <martin@xemacs.org>
4074
4075         * sysproc.h: #include util.h for NetBSD's openpty.
4076
4077 2001-01-27  Martin Buchholz  <martin@xemacs.org>
4078
4079         More 64-bit correctness.
4080         The C value of a DEFVAR_INT should be of type EMACS_INT, not int.
4081         Use a typedef `fixnum' for the type used for DEFVAR_INT.
4082         Fix up comments.
4083         This finally finishes the 64-bit SGI port.
4084         Fixes things like (let ((gc-cons-threshold most-positive-fixnum)) ...).
4085         * symbols.c: Fix up comments and type casts.
4086         * symbols.c (do_symval_forwarding): s/int/Fixnum/g
4087         * symbols.c (store_symval_forwarding): s/int/Fixnum/g
4088         * symeval.h (Fixnum): New type.
4089         * symeval.h (symbol_value_type): Fix up comment.
4090
4091         * commands.h:
4092         * nt.c:
4093         * emacs.c:
4094         * data.c:
4095         * redisplay.c:
4096         * abbrev.c:
4097         * dired-msw.c:
4098         * event-Xt.c:
4099         * eldap.c:
4100         * window.c:
4101         * sound.c:
4102         * event-stream.c:
4103         * eval.c:
4104         * buffer.c:
4105         * mule-canna.c: A million DEFVAR_INTs here...
4106         * mule-canna.c (count_char): s/int */Fixnum */g in arglist.
4107         * extents.c:
4108         * cmdloop.c:
4109         * lisp.h:
4110         * select-x.c:
4111         * console-x.h:
4112         * event-msw.c:
4113         * mule-wnnfns.c:
4114         * hpplay.c:
4115         * ralloc.c:
4116         * alloc.c:
4117         * keymap.c:
4118         * profile.c:
4119         s/int/Fixnum/g in DEFVAR_INT declarations.
4120
4121 2001-01-26  Martin Buchholz  <martin@xemacs.org>
4122
4123         Port pdump to SGI alignment-sensitive environment.
4124         Lisp Object sizeof methods now return aligned sizes.  Rely on that.
4125         Eliminate is_lrecord since Lisp_Objects sizeof methods are now all
4126         properly aligned.
4127         Define and use aligned reading and writing macros.
4128         Use buffered stdio instead of posix i/o for faster dumping.
4129         Eliminate kludgy 256 byte space for header.
4130         Read and write from dump file using structs for alignment safety.
4131         * dumper.c (pdump_align_stream): New.
4132         * dumper.c (PDUMP_ALIGN_OUTPUT): New.
4133         * dumper.c (PDUMP_READ_ALIGNED): New.
4134         * dumper.c (PDUMP_WRITE_ALIGNED): New.
4135         * dumper.c (pdump_static_Lisp_Object): New struct.
4136         * dumper.c (pdump_static_pointer): New struct.
4137         * dumper.c (pdump_entry_list_element): Remove is_lrecord member.
4138         * dumper.c (pdump_add_entry): Remove is_lrecord parameter.
4139         * dumper.c (pdump_dump_data): Rely on sizeof method alignment.
4140         * dumper.c (pdump_allocate_offset): Rely on sizeof method alignment.
4141
4142         * dumper.c (pdump_backtrace):
4143         * dumper.c (pdump_get_indirect_count):
4144         * dumper.c (pdump_register_object):
4145         * dumper.c (pdump_register_struct):
4146         * dumper.c (pdump_reloc_one):
4147         * dumper.c (pdump_scan_by_alignment):
4148         * dumper.c (pdump_dump_from_root_struct_ptrs):
4149         * dumper.c (pdump_dump_opaques):
4150         * dumper.c (pdump_dump_rtables):
4151         * dumper.c (pdump_dump_from_root_objects):
4152         * dumper.c (pdump):
4153         * dumper.c (pdump_load_finish):
4154         Use aligned reading and writing.
4155
4156         * dumper.c (pdump_free): Make static.
4157         * dumper.c (pdump_hFile): Likewise.
4158         * dumper.c (pdump_hMap): Likewise.
4159
4160 2001-01-26  Martin Buchholz <martin@xemacs.org>
4161
4162         * XEmacs 21.2.43 "Terspichore" is released.
4163
4164 2001-01-25  Martin Buchholz  <martin@xemacs.org>
4165
4166         Type fiddling for window_config.saved_windows_count
4167         * window.c (struct window_config): 
4168         Make saved_windows_count member unsigned.
4169         * window.c (sizeof_window_config_for_n_windows): 
4170         Make parameter unsigned.
4171         * window.c (mark_window_config):
4172         * window.c (window_config_equal):
4173         * window.c (free_window_configuration):
4174         * window.c (Fset_window_configuration):
4175         * window.c (count_windows):
4176         * window.c (Fcurrent_window_configuration):
4177         * window.c (reinit_vars_of_window):
4178         Update all callers and users.
4179
4180 2001-01-25  Martin Buchholz  <martin@xemacs.org>
4181
4182         Alignment correctness for flexible arrays.
4183         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF):
4184         Make alignment-correct. Add interesting comments.
4185         * alloc.c (size_vector):
4186         * alloc.c (make_vector_internal):
4187         * alloc.c (make_bit_vector_internal):
4188         * alloc.c (sweep_bit_vectors_1):
4189         * fns.c (size_bit_vector):
4190         Update all callers of FLEXIBLE_ARRAY_STRUCT_SIZEOF to add new arg.
4191         * window.c (sizeof_window_config_for_n_windows): 
4192         Use FLEXIBLE_ARRAY_STRUCT_SIZEOF.
4193
4194 2001-01-24  Martin Buchholz  <martin@xemacs.org>
4195
4196         * lread.c (read1): Rename `fexp', which is #defined in SGI's math.h
4197
4198 2001-01-23  Andy Piper  <andy@xemacs.org>
4199
4200         * select.c (Fown_selection_internal): pass owned_p
4201
4202         * select-msw.c (mswindows_own_selection): New Signature.
4203
4204         * console.h (struct console_methods): add owned_p to
4205         _own_selection.
4206
4207         * select-x.c (x_own_selection): pass owned_p
4208         (hack_motif_clipboard_selection): use owned_p
4209         (vars_of_select_x): new variable -
4210         x_selection_strict_motif_ownership.
4211
4212 2001-01-23  Martin Buchholz  <martin@xemacs.org>
4213
4214         * specifier.h (specifier_data_offset): Remove pointless parens.
4215         * glyphs.h (IMAGE_SPECIFIER_DATA): Likewise.
4216
4217 2001-01-24  Martin Buchholz  <martin@xemacs.org>
4218
4219         Make Lisp_Object sizeof methods be alignment-correct.
4220         pdump must restore objects to the same alignment as the C compiler
4221         assumes.  It really matters on SGIs.
4222         * lstream.c (aligned_sizeof_lstream): New.
4223         (sizeof_lstream): Use aligned_sizeof_lstream.
4224         (Lstream_new): Likewise.
4225         * opaque.c (aligned_sizeof_opaque): New.
4226         (sizeof_opaque): Use aligned_sizeof_opaque.
4227         (make_opaque): Likewise.
4228         * specifier.c (aligned_sizeof_specifier): New.
4229         (sizeof_specifier): Use aligned_sizeof_specifier.
4230         (make_specifier_internal): Likewise.
4231
4232 2001-01-23  Martin Buchholz  <martin@xemacs.org>
4233
4234         * lstream.h (struct lstream): Use max_align_t for trailing data.
4235         * specifier.h (struct Lisp_Specifier): Likewise.
4236
4237 2001-01-22  Martin Buchholz  <martin@xemacs.org>
4238
4239         * mule-ccl.c (CCL_Extension): Renamed from CCL_Extention.
4240         (CCL_SUCCESS): Kludge to prevent Sun cc compiler warnings.
4241         (CCL_SUSPEND): Likewise.
4242         (CCL_INVALID_CMD): Likewise.
4243         (CCL_CALL_FOR_MAP_INSTRUCTION): Likewise.
4244         (ccl_driver): Likewise.
4245         (CCL_WRITE_CHAR): Macro hygiene.
4246         (CCL_WRITE_STRING): Macro hygiene.
4247
4248 2001-01-22  Martin Buchholz  <martin@xemacs.org>
4249
4250         Port "portable" dumper to SunOS 4 and HP-UX.
4251         * s/aix4.h (AIX4): Move MAP_FAILED definition elsewhere.
4252         * emacs.c (main): PDUMP implies no RUN_TIME_REMAP.
4253         * dumper.c (pdump_file_get): Define MAP_FAILED if not already defined.
4254
4255 2001-01-22  Martin Buchholz  <martin@xemacs.org>
4256
4257         * lisp.h (ALIGNOF): A better definition for C++.
4258
4259 2001-01-20  Martin Buchholz  <martin@xemacs.org>
4260
4261         Macro hygiene.
4262         Fix printf warnings: int format, long int arg.
4263         * regex.c (DECLARE_DESTINATION): Use DECLARE_NOTHING.
4264         (PUSH_FAILURE_POINT): Use correct printf formats.
4265         (POP_FAILURE_POINT): Use correct printf formats.  
4266         Use do {...} while (0)
4267
4268 2001-01-20  Martin Buchholz <martin@xemacs.org>
4269
4270         * XEmacs 21.2.42 "Poseidon" is released.
4271
4272 2001-01-20  Martin Buchholz  <martin@xemacs.org>
4273
4274         * console-x.h: typo fix du jour.  Remove #if 0'ed code.
4275
4276 2001-01-19  Martin Buchholz  <martin@xemacs.org>
4277
4278         De-kludgify FIXED_TYPE free list frobbing.
4279         Fix crashes on 64-bit platforms introduced by my patch of 2001-01-13.
4280         * alloc.c (DECLARE_FIXED_TYPE_ALLOC): Use Lisp_Free.
4281         * alloc.c (ALLOCATE_FIXED_TYPE_1): Use new definitions.
4282         * alloc.c (Lisp_Free): New pseudo lisp object definition.
4283         * alloc.c (LRECORD_FREE_P): New.
4284         * alloc.c (MARK_LRECORD_AS_FREE): New.
4285         * alloc.c (MARK_LRECORD_AS_NOT_FREE): New.
4286         * alloc.c (STRUCT_FREE_P): Deleted.
4287         * alloc.c (MARK_STRUCT_AS_FREE): Deleted.
4288         * alloc.c (MARK_STRUCT_AS_NOT_FREE): Deleted.
4289         * alloc.c (STRING_CHARS_FREE_P): New.
4290         * alloc.c (MARK_STRING_CHARS_AS_FREE): New.
4291         * alloc.c (PUT_FIXED_TYPE_ON_FREE_LIST): Use new definitions.
4292         * alloc.c (FREE_FIXED_TYPE): Use new definitions.
4293         * alloc.c (STRING_CHARS_FREE_P): Use new definitions.
4294         * alloc.c (resize_string): Use new definitions.
4295         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Use new definitions.
4296         * alloc.c (verify_string_chars_integrity): Use new definitions.
4297         * alloc.c (compact_string_chars): Use new definitions.
4298         * alloc.c: Update monster comments.
4299         * lrecord.h (lrecord_type): Add some new lrecord types for
4300         alloc.c's use.
4301
4302 2001-01-18  Martin Buchholz  <martin@xemacs.org>
4303
4304         Improve alignment hackery.
4305         * lisp.h (ALIGNOF): Better definition for the non-gcc case.
4306         (max_align_t): Moved from opaque.h - general purpose.
4307         (ALIGN_PTR): Use size_t, not long.
4308         * opaque.h (max_align_t): Move to lisp.h.
4309
4310 2001-01-18  Norbert Koch  <nk@LF.net>
4311
4312         * gui.h: Fix and add prototypes to fix build problems.
4313
4314 2001-01-18  Martin Buchholz  <martin@xemacs.org>
4315
4316         temacs is going away, so `dump-temacs' is now a bad name.
4317         * .dbxrc (dump-temacs): Rename to `dmp'.
4318         * .gdbinit (dump-temacs): Rename to `dmp'.
4319
4320 2001-01-17  Andy Piper  <andy@xemacs.org>
4321
4322         * glyphs.c (print_image_instance): comment to make martin happy.
4323
4324         * glyphs-x.c (x_redisplay_widget): update faces after a frame
4325         change.
4326
4327         * glyphs-msw.c (mswindows_redisplay_widget): add code to cope with
4328         activation.
4329         (mswindows_tab_control_redisplay): warning suppression.
4330
4331         * glyphs-widget.c (widget_update): re-write to cope with updated
4332         items.
4333         (widget_instantiate): use new gui_item functions.
4334         (tab_control_update): deleted.
4335         (progress_gauge_update): deleted.
4336         (image_instantiator_progress_guage): take out update reference.
4337         (image_instantiator_tree_view): ditto.
4338         (image_instantiator_tab_control): ditto.
4339
4340         * gui.c (widget_gui_parse_item_keywords): new function. Do things
4341         Right the new way.
4342         (gui_item_add_keyval_pair): re-write to cope with descriptors and
4343         return whether anything was changed.
4344         (update_gui_item_keywords): as it sounds.
4345
4346         * gui.h: declare widget_gui_parse_item_keywords.
4347
4348         * fns.c (safe_copy_tree): new function taken from Fcopy_tree.
4349         (Fcopy_tree): use it. Stops infloop death in bogus instantiators.
4350
4351 2001-01-17  Martin Buchholz <martin@xemacs.org>
4352
4353         * XEmacs 21.2.41 "Polyhymnia" is released.
4354
4355 2001-01-16  Didier Verna  <didier@xemacs.org>
4356
4357         * glyphs.c (image_instantiate): don't use fallbacks when
4358         instantiating a face's background pixmap by inheritance.
4359
4360 2001-01-14  Mike Sperber <mike@xemacs.org>
4361
4362         * sysdep.c (start_of_data): PDUMP implies ORDINARY_LINK.
4363         Conditionalize accordingly.
4364
4365 2001-01-16  Martin Buchholz  <martin@xemacs.org>
4366
4367         * dumper.c (pdump_file_get): Fix a compiler warning.
4368
4369 2001-01-15  Martin Buchholz  <martin@xemacs.org>
4370
4371         Make Purify happy when pdumping.
4372         * symbols.c (Fmake_variable_buffer_local): Make Purify happy, by
4373         iniitalizing all bits of new lisp object memory.
4374         * symbols.c (Fmake_local_variable): Likewise.
4375         * symbols.c (Fdontusethis_set_symbol_value_handler): Likewise.
4376         * symbols.c (Fdefvaralias): Likewise.
4377         * mule-charset.c (vars_of_mule_charset): Likewise.
4378
4379 2001-01-15  Martin Buchholz  <martin@xemacs.org>
4380         Add the `-nd' flag when running pre-dump operations under the debugger.
4381         * .dbxrc (run-temacs): Add `-nd'.
4382         * .dbxrc (update-elc): Likewise.
4383         * .dbxrc (dump-temacs): Likewise.
4384         * .gdbinit (run-temacs): Likewise.
4385         * .gdbinit (check-temacs): Likewise.
4386         * .gdbinit (update-elc): Likewise.
4387         * .gdbinit (dump-temacs): Likewise.
4388
4389 2001-01-14  Martin Buchholz  <martin@xemacs.org>
4390
4391         Allow building 64-bit executables on AIX with GNU malloc, e.g.
4392         export OBJECT_MODE=64
4393         configure --pdump --use-union-type=no
4394         * m/ibmrs6000.h (DATA_START): Define for 64-bit world.
4395         * gmalloc.c (__default_morecore): Remove pre-ANSI cruft.
4396
4397         * miscplay.c (sndcnv8U_2mono):
4398         Avoid two uses of `++' in the same expression.
4399         Suppresses a GCC warning.
4400
4401 2001-01-13  Martin Buchholz  <martin@xemacs.org>
4402
4403         Make sure future compilers don't miscompile alloc.c.
4404         * alloc.c:
4405         (MARK_STRUCT_AS_FREE): Make aliasing-optimization-resistant.
4406         (MARK_STRUCT_AS_NOT_FREE): Make aliasing-optimization-resistant.
4407
4408 2001-01-12  Martin Buchholz  <martin@xemacs.org>
4409
4410         * dumper.c: A little post-pdump-rename comment fixup.
4411
4412 2001-01-09  Jerry James  <james@eecs.ku.edu>
4413
4414         * lisp-disunion.h: Change LISP_TO_CVOID arg to match its use.
4415
4416 2001-01-13  Martin Buchholz  <martin@xemacs.org>
4417
4418         * *.[ch]: Globally rename symbols using the following `pdump-rename'
4419         script:
4420         #!/bin/sh
4421         replace_symbol () {
4422           (findn texi$; findn [ch]$) | xargs g -lw "$1" | xargs global-replace 's/(?<!_)\b'$1'\b(?!_)/'$2'/g'
4423         }
4424
4425         replace_symbol pdump_wire_lists pdump_weak_object_chains
4426         replace_symbol pdump_wire_list dump_add_weak_object_chain
4427
4428         replace_symbol pdump_wires pdump_root_objects
4429         replace_symbol pdump_wire dump_add_root_object
4430
4431         replace_symbol pdump_dump_wired pdump_dump_from_root_objects
4432         replace_symbol pdump_dump_structs pdump_dump_from_root_struct_ptrs
4433
4434         replace_symbol dumpstructinfos pdump_root_struct_ptrs
4435         replace_symbol dumpstructinfo_dynarr pdump_root_struct_ptr_dynarr
4436         replace_symbol dumpstructinfo pdump_root_struct_ptr
4437         replace_symbol dumpstruct dump_add_root_struct_ptr
4438
4439         replace_symbol dumpopaque dump_add_opaque
4440         replace_symbol dumpopaqueinfo_dynarr pdump_opaque_dynarr
4441         replace_symbol dumpopaqueinfos pdump_opaques
4442         replace_symbol dumpopaqueinfo pdump_opaque
4443
4444         replace_symbol nb_structdump nb_root_struct_ptrs
4445         replace_symbol nb_opaquedump nb_opaques
4446
4447         replace_symbol align_table pdump_align_table
4448         replace_symbol dump_header pdump_header
4449
4450         replace_symbol DUMP_SIGNATURE_LEN PDUMP_SIGNATURE_LEN
4451         replace_symbol DUMP_SIGNATURE PDUMP_SIGNATURE
4452
4453
4454 2001-01-12  Martin Buchholz  <martin@xemacs.org>
4455
4456         * s/aix4.h: Keep the C for AIX compiler from overaggressively
4457         optimizing bytecount_to_charcount().
4458
4459 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
4460
4461         * config.h.in:
4462         (HAVE_DLFCN_H): Removed.
4463         * sysdll.c: Remove HAVE__DLOPEN, HAVE_DLFCN_H.
4464
4465 2001-01-06  Martin Buchholz  <martin@xemacs.org>
4466
4467         Portable dumper maintainability improvements.
4468         * alloc.c (staticpro):
4469         * alloc.c (staticpro_nodump):
4470         * alloc.c (garbage_collect_1):
4471         * alloc.c (reinit_alloc_once_early):
4472         * alloc.c (init_alloc_once_early):
4473         * alloc.c: Move dumper functions to alloc.c.
4474         * dumper.c (pdump_backtrace):
4475         * dumper.c (pdump_dump_structs):
4476         * dumper.c (pdump_dump_opaques):
4477         * dumper.c (pdump_dump_rtables):
4478         * dumper.c (pdump_dump_wired):
4479         * dumper.c (pdump):
4480         * dumper.c (pdump_load_check):
4481         * dumper.c (pdump_load_finish):
4482         * dumper.c (pdump_file_unmap):
4483         * dumper.c (pdump_file_get):
4484         * dumper.c (pdump_resource_free):
4485         * dumper.c (pdump_resource_get):
4486         * dumper.c (pdump_file_free):
4487         * dumper.c (pdump_file_try):
4488         * dumper.c (pdump_load):
4489         Remove fixed size limits on staticpro(), staticpro_nodump(),
4490         dumpopaque(), dumpstruct() by using Dynarrs instead of static C arrays.
4491         Remove custom code for dumping lrecord_implementations_table - use
4492         dumpopaque instead.
4493         Remove (most of the) custom code for dumping staticpros - dump it
4494         like any other dynarr.
4495
4496         * alloc.h: Removed.  No longer useful, since dumper now more self-contained.
4497         * dumper.c: Moved functions from alloc.c.
4498         * alloc.c (dumpstruct): Moved to dumper.c.
4499         * alloc.c (dumpopaque): Likewise.
4500         * alloc.c (pdump_wire): Likewise.
4501         * alloc.c (pdump_wire_list): Likewise.
4502
4503         * lisp.h (Dynarr_sizeof): New.
4504         * lisp.h (Dynarr_begin): New.  Very slightly C++oid.
4505         * lisp.h (Dynarr_end): New.  Very slightly C++oid.
4506         * lisp.h (Lisp_Object_ptr_dynarr): New.  For staticpros.
4507
4508         * lisp.h (dumpstruct): Define to nothing if not PDUMPing.
4509         * lisp.h (dumpopaque): ditto.
4510         * lisp.h (pdump_wire): ditto.
4511         * lisp.h (pdump_wire_list): ditto.
4512
4513 2001-01-09  Martin Buchholz  <martin@xemacs.org>
4514
4515         * make-src-depend (PrintPatternDeps):
4516         Use `sort' to make output independent of perl version.
4517
4518 2001-01-08  Martin Buchholz  <martin@xemacs.org>
4519
4520         Port to Netbsd 1.5.
4521         * unexelf.c: Remove (never used) bogus Netbsd-specific cruft.
4522         * s/netbsd.c: Use unexelf.o if __ELF__ is defined.
4523
4524 2001-01-03  Didier Verna  <didier@xemacs.org>
4525
4526         * event-stream.c (emacs_handle_focus_change_preliminary): ensure
4527         that `focus_frame' is alive before thinking of calling
4528         `redisplay_redraw_cursor' on it.
4529
4530 2001-01-08  Martin Buchholz <martin@xemacs.org>
4531
4532         * XEmacs 21.2.40 is released.
4533
4534 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
4535
4536         * regex.c: Replace PREFETCH with REGEX_PREFETCH.
4537
4538 2001-01-06  Martin Buchholz  <martin@xemacs.org>
4539
4540         * alloc.c (dbg_valmask): Make const.
4541         * alloc.c (dbg_typemask): Make const.
4542         * alloc.c (dbg_USE_UNION_TYPE): Make const.
4543         * alloc.c (dbg_valbits): Make const.
4544         * alloc.c (dbg_gctypebits): Make const.
4545
4546 2001-01-06  Stephen J. Turnbull  <stephen@xemacs.org>
4547
4548         * redisplay-x.c (x_bevel_area):
4549         redisplay.h (struct rune):
4550         Typo fixes in comments.
4551
4552 2001-01-05  Andy Piper  <andy@xemacs.org>
4553
4554         * glyphs-x.c (x_redisplay_widget): use size changed for offset
4555         adjustment.
4556
4557         * menubar.c (menubar_visible_p_changed): don't mark frame changed.
4558
4559 2001-01-05  Martin Buchholz  <martin@xemacs.org>
4560
4561         * alloc.c (pure-bytes-used): Remove unused mendacious variable.
4562
4563         * mule-ccl.c (stack_idx_of_map_multiple):
4564         Non const global data must not be initialized!
4565         Found by MIYASHITA Hisashi.
4566
4567 2001-01-02  Andy Piper  <andy@xemacs.org>
4568
4569         * frame.c (change_frame_size): make sure frame size is always
4570         marked as changed.
4571
4572         * glyphs.c (image_instance_layout): minor code reuse.
4573
4574         * window.c (Fcurrent_window_configuration): revert previous
4575         change.
4576
4577 2001-01-02  Martin Buchholz  <martin@xemacs.org>
4578
4579         * glyphs.h:
4580         * glyphs.c (make_image_instance_cache_hash_table): Use ANSI prototypes.
4581
4582 2000-12-31  Andy Piper  <andy@xemacs.org>
4583
4584         * glyphs-x.c (x_unmap_subwindow): return focus to enclosing frame
4585         when widget gets unmapped.
4586
4587         * event-Xt.c (emacs_Xt_handle_widget_losing_focus): new
4588         function. Make sure widgets losing focus don't just drop it.
4589         (handle_focus_event_1): record the widget with focus.
4590
4591 2000-12-31  Andy Piper  <andy@xemacs.org>
4592
4593         * window.c (allocate_window): use
4594         make_image_instance_cache_hash_table.
4595         (make_dummy_parent): ditto.
4596         (Fset_window_configuration): ditto.
4597
4598         * glyphs.h (INSTANTIATOR_TYPE): new macro.  declare new functions.
4599
4600         * glyphs.c (process_image_string_instantiator): use
4601         INSTANTIATOR_TYPE.
4602         (get_image_instantiator_governing_domain): ditto.
4603         (normalize_image_instantiator): ditto.
4604         (instantiate_image_instantiator): ditto.
4605         (make_image_instance_1): ditto.
4606         (image_instantiate): ditto. Key on glyph *and* instantiator type.
4607         (instantiator_eq_equal): new function for use with instance hash
4608         tables.
4609         (instantiator_eq_hash): ditto.
4610         (make_image_instance_cache_hash_table): create a suitable hash
4611         table for storing image instances.
4612
4613         * elhash.h (hash_table_weakness): new internal weakness type
4614         HASH_TABLE_KEY_CAR_VALUE_WEAK.
4615         declare new functions.
4616
4617         * elhash.c (finish_marking_weak_hash_tables): introduce yet
4618         another weakness type for glyphs.
4619         (make_standard_lisp_hash_table): new function split out from
4620         make_general_lisp_hash_table.
4621         (make_lisp_hash_table): call make_standard_lisp_hash_table.
4622         (hash_table_instantiate): ditto.
4623         (Fmake_hash_table): ditto.
4624
4625 2000-12-31  Martin Buchholz <martin@xemacs.org>
4626
4627         * XEmacs 21.2.39 is released.
4628
4629 2000-12-29  Andy Piper  <andy@xemacs.org>
4630
4631         * menubar.c (menubar_visible_p_changed): signal the frame changed.
4632
4633         * glyphs-x.c (x_redisplay_widget): Re-calculate widget offsets if
4634         the frame has changed so that we pick up geometry changes such as
4635         menubar visibility.
4636
4637 2000-12-28  Andy Piper  <andy@xemacs.org>
4638
4639         * lastfile.c (my_ebss): make a char array so we can pad the
4640         bss. Fixes cygwin unexec.
4641
4642         * unexcw.c: invert BROKEN_GDB to NO_DEBUG.
4643
4644 2000-12-26  Andy Piper  <andy@xemacs.org>
4645
4646         * event-Xt.c (emacs_Xt_force_event_pending): add some verbose
4647         comments and try and be more precise about a non-/SIGIO world.
4648         (emacs_Xt_event_pending_p): use XtAppPending under cygwin and non
4649         SIGIO.
4650
4651         * redisplay-output.c (redisplay_normalize_glyph_area): make sure
4652         we don't normalize to zero width or height.
4653
4654 2000-12-24  Andy Piper  <andy@xemacs.org>
4655
4656         * Makefile.in.in (ldflags): add -mwindows when appropriate.
4657
4658 2000-08-18  Golubev I. N.  <gin@mo.msk.ru>
4659
4660         * s/sco5.h: SCO 5 has pty support.
4661
4662 2000-07-20  Kazuyuki IENAGA <ienaga@xemacs.org>
4663
4664         * input-method-xlib.c: supports both XIM_XLIB and USE_XFONTSET.
4665         input-method-xlib.c contains whole contents of input-method-xfs.c,
4666         so we can use input-method-xlib.c's code for USE_XFONTSET
4667         using #ifdefs.
4668         * input-method-xfs.c: removed.
4669
4670 2000-12-20  Stephen Turnbull  <stephen@xemacs.org>
4671
4672         * file-coding.h (enum coding_category_type): reorder enumerators to
4673         make autodetection safer.  Make CODING_CATEGORY_LAST an enumerator
4674         (now one greater than largest real coding_category_type enumerator).
4675         * file-coding.c (coding_category_symbol, coding_category_by_priority,
4676         coding_category_system, fcd_descriptihon_1, decode_coding_category,
4677         Fcoding_category_list, Fset_coding_priority_list,
4678         Fcoding_priority_list, coding_system_from_mask, Fdetect_coding_region,
4679         vars_of_file_coding): adjust for change in CODING_CATEGORY_LAST.
4680
4681 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
4682
4683         * redisplay-output.c (redisplay_clear_top_of_window): Remove static.
4684         * redisplay-output.c (redisplay_output_window): Clear top of window
4685         when face is changed.
4686         * redisplay-x.c (x_redraw_exposed_window): Call
4687         redisplay_clear_top_of_window.
4688         * redisplay.h: Publish redisplay_clear_top_of_window.
4689
4690 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
4691
4692         * buffer.c (Fkill_buffer): Map over all devices.
4693         * window.c (window_loop): Remove UNSHOW_BUFFER code.
4694         (list_windows): New function.
4695         (list_all_windows): Ditto.
4696         (Freplace_buffer_in_windows): Use them.
4697
4698 2000-02-02   Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
4699
4700         * database.c (berkdb_subtype): Recognize new subtype `queue'.
4701         (Fopen_database): Use `db_create' instead of `db_open'.
4702         (syms_of_database): Initialize Qqueue.
4703
4704 2000-12-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
4705
4706         * buffer.c (common_init_complex_vars_of_buffer): Initialize
4707         buffer_local_face_property.
4708         * buffer.h (struct buffer): New member buffer_local_face_property.
4709         * window.c (Fset_window_buffer):  Mark window's face as changed
4710         when buffer has buffer local face.
4711         * window.h (MARK_WINDOW_FACES_CHANGED): New macro.
4712         * objects.c (color_after_change): Set buffer_local_face_property
4713         when locale of face specifier is buffer.
4714         * objects.c (font_after_change): Ditto.
4715         * objects.c (face_boolean_after_change): Ditto.
4716         * glyphs.c (image_after_change): Ditto.
4717
4718 2000-12-09  Dan Holmsand  <dan@eyebee.com>
4719
4720         * nt.c (mswindows_fstat): Report file permissions, volume serial
4721         number, etc. Code adapted from FSF Emacs 20.7.
4722
4723 2000-12-09  Dan Holmsand  <dan@eyebee.com>
4724
4725         * sysfile.h (lstat): Make lstat an alias for xemacs_stat instead
4726         of stat when we don't have symbolic links, to make sure
4727         mswindows_stat is called on mswindows.
4728
4729 2000-12-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
4730
4731         * alloca.c: Define malloc to xmalloc only when built with XEmacs.
4732
4733 2000-12-12  Martin Buchholz  <martin@xemacs.org>
4734
4735         * doprnt.c (emacs_doprnt_1): More printing fixes.
4736         Make printing of numbers compatible with libc and FSF Emacs.
4737         BUG was: (format "%6.3f" 1.2) ==>"1.200000"
4738         Use the system printf to do most of the hard work of formatting,
4739         instead of doprnt_1().
4740         Calculate memory to allocate for format string.
4741         Remove arbitrary limit on precision, e.g. (format "%.1000f" 3.14)
4742         (doprnt_1): Cleaner code and documentation.
4743
4744 2000-12-01  Jerry James  <james@eecs.ukans.edu>
4745
4746         * Makefile.in.in: Use the loop variable to install headers.
4747
4748 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
4749
4750         * window.c (Fsplit_window): Don't invalidate face cache.
4751
4752 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
4753
4754         * minibuf.c (Fall_completions): Undo the previous change
4755         which removed checking elements start with space.
4756
4757 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
4758
4759         * mule-canna.c: Didier suppression.
4760
4761 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
4762
4763         * mule-canna.c: rename static unsigned char buf[] to key_buffer
4764         (warning suppression).  Add English comment translations.
4765
4766 2000-12-05  Martin Buchholz  <martin@xemacs.org>
4767
4768         * unexelfsgi.c (unexec): Better test for mmap failure.
4769
4770 2000-12-05  Martin Buchholz <martin@xemacs.org>
4771
4772         * XEmacs 21.2.38 is released.
4773
4774 2000-12-05  Martin Buchholz  <martin@xemacs.org>
4775
4776         * redisplay.c (bar-cursor): Make a user variable.
4777
4778         * symsinit.h: Add init_postgresql_from_environment.
4779
4780 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
4781
4782         * regex.c: Convert to clean C.
4783
4784 2000-12-05  Dan Holmsand  <dan@eyebee.com>
4785
4786         * realpath.c:
4787         Don't #include sysfile.h. Revert to duplicating PATH_MAX
4788         initialization.
4789         (sys_readlink): renamed to system_readlink to avoid conflict with
4790         the other sys_readlink.
4791
4792 2000-12-04  Hiroaki Abe  <h-abe@pc.highway.ne.jp>
4793
4794         * dumper.c (pdump_file_get): Correct uses of pdump_fd.
4795
4796 2000-12-04  Stephen J. Turnbull  <stephen@xemacs.org>
4797
4798         * postgresql.c (init_postgresql_from_environment): new function.
4799         (vars_of_postgresql): Move code initializing Lisp variables out and
4800         into init_postgresql_from_environment.
4801         emacs.c (main_1): Call init_postgresql_from_environment if and only
4802         if running a dumped XEmacs.
4803
4804 2000-08-31  Dan Holmsand  <dan@eyebee.com>
4805
4806         * buffer.c: Make find-file-compare-truenames default to true on
4807         windows.
4808
4809         * realpath.c (win32_abs_start):
4810         (cygwin_readlink):
4811         (win32_readlink): New functions.
4812         (xrealpath): Return really real filenames on windows.
4813
4814         * fileio.c (Ffile_truename): Make file-truename work on windows.
4815
4816 2000-11-29  Didier Verna  <didier@xemacs.org>
4817
4818         * faces.c (MAYBE_UNFROB_BACKGROUND_PIXMAP): new macro.
4819         * faces.c (update_face_cachel_data): use it.
4820         * faces.c (add_face_cachel): use it. Complete background pixmap
4821         frobbing in face cache if `update_face_cachel_data' has not done so.
4822
4823 2000-11-29  Yoshiki Hayashi  <yoshiki@xemacs.org>
4824
4825         * search.c (string_match_1): Don't set last_thing_searched
4826         when search failed.
4827
4828 2000-11-27  Yoshiki Hayashi  <yoshiki@xemacs.org>
4829
4830         * buffer.c: Include casetab.h
4831         (common_init_complex_vars_of_buffer): Use new case-table object.
4832         * buffer.h: Include casetab.h
4833         * buffer.h (MAKE_TRT_TABLE): Use generic char-table.
4834         (DOWNCASE_TABLE_OF): Ditto.
4835         * bufslots.h: Remove char-tables and add case-table.
4836         * casetab.c: Include casetab.h
4837         (CASE_TABLE_P): Removed.
4838         (mark_case_table): New function.
4839         (allocate_case_table): New function.
4840         (Fcase_table_p): Use new case-table.
4841         (case_table_char): New function.
4842         (Fget_case_table): Ditto.
4843         (Fput_case_table): Ditto.
4844         (Fput_case_table_pair): Ditto.
4845         (Fcopy_case_table): Ditto.
4846         (Fcurrent_case_table): Return case-table.
4847         (Fstandard_case_table): Return case-table.
4848         (Fset_case_table): Fix doc-string.
4849         (set_case_table): Use case-table
4850         (syms_of_casetab): DEFSUBR new functions.
4851         (complex_vars_of_casetab): Set up standard case-table.
4852         * casetab.h: New file.
4853         * editfns.c: Include casetab.h
4854         (Fcompare_buffer_substrings): Use case-table.
4855         * inline.c: Include casetab.h
4856         * lisp.h: Remove bogus extern.
4857         * lrecord.h (lrecord_type): Add lrecord_type_case_table.
4858         * search.c: Include casetab.h
4859         (TRANSLATE_ASCII): Removed.
4860         (TRANSLATE): Unconditionally translate character.
4861         (looking_at_1): Use case-table.
4862         (string_match_1): Ditto.
4863         (fast_string_match): Ditto.
4864         (search_command): Ditto.
4865         (search_buffer): Separate boyer_moore.  Check whether
4866         boyer_moore is possible.
4867         (simple_search): New function.
4868         (boyer_moore): Separated from search_buffer. Translate char.
4869
4870 2000-11-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
4871
4872         * regex.c (RE_TR_ASCII): Removed.
4873         (RE_TRANSLATE): Unconditionally use TRT_TABLE.
4874         (PATFETCH): Call PATFETCH_RAW.
4875         (PATFETCH_RAW): Fetch Emchar.
4876         (PATUNFETCH): Decrement charptr.
4877         (GET_BUFFER_SPACE): Rename b to buf_end.
4878         (BUF_PUSH): Ditto.
4879         (BUF_PUSH_2): Ditto.
4880         (BUF_PUSH_3): Ditto.
4881         (EXTEND_BUFFER): Ditto.
4882         (SET_LIST_BIT): Ditto.
4883         (regex_compile): Ditto.  Translate non ASCII char.
4884         (compile_range): Ditto.
4885         (re_search_2): Ditto.
4886         (re_match_2_internal): Compare Emchar.
4887         (bcmp_translate): Ditto.
4888
4889 2000-11-29  Stephen J. Turnbull  <turnbull@xemacs.org>
4890
4891         * lisp.h (basic char/int typedefs):  comment improvement.
4892
4893 2000-11-24  Stephen J. Turnbull  <turnbull@xemacs.org>
4894
4895         * emacs.c (main_1):  unconditional pdump unstomping; don't save and
4896         unstomp inhibit_site_lisp.  Improve comments.
4897
4898 2000-11-22  Stephen J. Turnbull  <turnbull@xemacs.org>
4899
4900         * mule-charset.c (Fcharset_property):  improve type checking, comments.
4901
4902 2000-11-28  Andy Piper  <andy@xemacs.org>
4903
4904         * redisplay-output.c (redisplay_output_subwindow): make sure we do
4905         clipped display for windows in the gutter also.
4906         (redisplay_display_boxes_in_window_p): change semantics of return
4907         codes to be more intuitive.
4908
4909         * gutter.h: declare display_boxes_in_gutter_p.
4910
4911         * gutter.c (display_boxes_in_gutter_p): new function for
4912         redisplay.
4913
4914 2000-11-22  Andy Piper  <andy@xemacs.org>
4915
4916         * glyphs-x.c (image_instantiator_format_create_glyphs_x): change
4917         autodetect domain.
4918
4919 2000-11-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
4920
4921         * callproc.c (Fold_call_process_internal):
4922         * gpm.c (Freceive_gpm_event):
4923         (tty_get_foreign_selection): Might be just warning supression.
4924         * fileio.c (Fwrite_region_internal):
4925         (Fset_visited_file_modtime):
4926         * keymap.c (event_matches_key_specifier_p):
4927         Initialize GCPROed variable.
4928
4929         * menubar-x.c (command_builder_find_menu_accelerator):
4930         Initialize before use.
4931
4932 2000-11-23  Andy Piper  <andy@xemacs.org>
4933
4934         * unexcw.c (unexec): make the resulting executable executable.
4935
4936 2000-11-21  Martin Buchholz  <martin@xemacs.org>
4937
4938         * doc.c (get_doc_string):
4939         Use size_t, not int, for result of XSTRING_LENGTH.
4940
4941         * cmds.c (Fdelete_char):
4942         * cmds.c (Fpoint_at_eol):
4943         * cmds.c (Fself_insert_command):
4944         Use EMACS_INT, not int, for result of XINT.
4945         Someday, someone will want to insert more than 2**31 identical characters.
4946
4947         * cmds.c (Fdelete_char):
4948         * cmds.c (Fdelete_backward_char):
4949         * syntax.c (Fforward_word):
4950         * syntax.c (Fforward_comment):
4951         Make COUNT argument optional, for consistency with forward-char et al.
4952
4953 2000-11-22  Martin Buchholz  <martin@xemacs.org>
4954
4955         * lisp.h:
4956         * print.c (long_to_string):
4957         Return a useful value: the pointer at end of data written.
4958
4959         * doprnt.c:
4960         Use `static const char * const' for constant strings.
4961         (union printf_arg): Delete `i', `ui' members.
4962         (get_doprnt_args):
4963         (emacs_doprnt_1):
4964         Fix LP64 platform bug: (format "%d" most-positive-fixnum) ==> "-1"
4965         Do all printf-ing via the `l' specifier.
4966         Use EMACS_INT instead of int.
4967         Optimize.
4968
4969 2000-11-20  Didier Verna  <didier@xemacs.org>
4970
4971         * faces.c (update_face_cachel_data): don't frob the background
4972         pixmap when the window is being created. The face is needed but
4973         does not exist yet.
4974
4975 2000-11-20  Andy Piper  <andy@xemacs.org>
4976
4977         * unexcw.c (copy_executable_and_dump_data_section): Only do bss
4978         messing with a debug environment.
4979
4980 2000-11-20  Martin Buchholz  <martin@xemacs.org>
4981
4982         * emacs.c (__sti__iflPNGFile_c___): Pedantically correct prototype.
4983
4984 2000-11-20  Martin Buchholz  <martin@xemacs.org>
4985
4986         * casetab.c (Fcase_table_p): Fix compile error and crash.
4987
4988 2000-11-18  Philip Aston  <philipa@mail.com>
4989
4990         * s/cygwin32.h: Cygwin has SVR4-like pty support.
4991
4992 2000-11-18  Martin Buchholz  <martin@xemacs.org>
4993
4994         * fileio.c (Fexpand_file_name): GCPRO bug!  Protect `handler'.
4995         * filelock.c (lock_file): GCPRO bug! Initialize all GCPROed vars!
4996
4997 2000-11-17  Martin Buchholz  <martin@xemacs.org>
4998
4999         * config.h.in: Define HAVE_ELF_H if elf.h exists.
5000         * unexelf.c: Use HAVE_ELF_H.
5001         * unexelfsgi.c: Fix bug with dumped xemacs stdout/stderr not working.
5002         I copied FSF Emacs 20.7 unexelf.c to unexelfsgi.c and ANSIfied it.
5003         Max Matveev <makc@sgi.com> removed non-SGI-relevant parts and tested.
5004         Greg Harrington <greg_harrington@hotmail.com> provided a machine
5005         for testing.
5006         So this is an unexelfsgi.c from a different line of development.
5007
5008 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
5009
5010         * regex.c (RE_TR_ASCII): New function.
5011         (RE_TRANSLATE): Call it.
5012
5013 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
5014
5015         * buffer.h (TRT_TABLE_OF): Remove assert.
5016         (IN_TRT_TABLE_DOMAIN): Removed.
5017
5018 2000-11-16  Gunnar Evermann  <ge204@eng.cam.ac.uk>
5019
5020         * free-hook.c (log_gcpro):
5021         (show_gcprohist): Add support for GCPRO5.
5022
5023 2000-11-08  Stephen J. Turnbull  <stephen@xemacs.org>
5024
5025         * emacs.c (main_1): Improve -sd error message when --pdump=no.
5026
5027 2000-11-16  Olivier Galibert  <galibert@xemacs.org>
5028
5029         * symeval.h: Declare flush_all_buffer_local_cache.
5030
5031         * symbols.c: Change XD_LO_RESET_NIL into XD_LISP_OBJECTs.
5032         (flush_buffer_local_cache): Added.
5033         (flush_all_buffer_local_cache): Added.
5034
5035         * lrecord.h: Remove unused XD_LO_RESET_NIL.
5036
5037         * dumper.c (pdump_register_sub): Remove unused XD_LO_RESET_NIL.
5038         (pdump_dump_data): Ditto.
5039         (pdump_reloc_one): Ditto.
5040         (pdump): Remove unused pdump_qnil.  Flush buffer local caches
5041         before dumping.
5042
5043
5044 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
5045
5046         * buffer.c: Remove if 0'ed entry.
5047         * buffer.h: Rewrite TRT to use char-table.
5048         * bufslots.h: Remove mirror tables.
5049         * casetab.c: Remove mirror tables.
5050         (CASE_TABLE_P): New macro.
5051         (Fcase_table_p): Element of a case table is string or char-table.
5052         (make_mirror_trt_table): Removed.
5053         (set_case_table): Setup char-table from strings for backward
5054         compatibility.
5055         * dired.c (Fdirectory_files):
5056         * dired-msw.c: (mswindows_get_files):
5057         * lisp.h: Change prototype of re_pattern_buffer.
5058         * regex.c: (RE_TRANSLATE): New macro.
5059         (TRANSLATE_P): Ditto.
5060         Change translate to type RE_TRANSLATE_TYPE.
5061         * regex.h: Define RE_TRANSLATE_TYPE
5062         * search.c (TRANSLATE): New macro.
5063         (TRANSLATE_ASCII): New macro.
5064         Translate table is changed to Lisp_Object.
5065         (signal_failure): Inhibit return.
5066
5067 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
5068
5069         * device-msw.c:
5070         * eldap.c:
5071         * event-Xt.c:
5072         * event-stream.c:
5073         * print.c:
5074         Do UNGCPRO before return.
5075
5076 2000-11-14  Martin Buchholz <martin@xemacs.org>
5077
5078         * XEmacs 21.2.37 is released.
5079
5080 2000-11-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
5081
5082         * fileio.c (Finsert_file_contents_internal): UNGCPRO before return.
5083         Add comments about discarded return value.
5084
5085 2000-11-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
5086
5087         * callint.c:
5088         * event-stream.c: Fix comments.  Remove some #if 0'ed part.
5089
5090 2000-10-27  Andy Piper  <andy@xemacs.org>
5091
5092         * gutter.c (Fset_default_gutter_position): default left and right
5093         gutters to visible.
5094         (calculate_gutter_size): calculate resonable heuristic for left
5095         and right gutter sizes.
5096         (specifier_vars_of_gutter): change left and right gutter sizes to
5097         autodetect.
5098         (calculate_gutter_size_from_display_lines): new function.
5099         (output_gutter): check for resizing on left and right gutters.
5100         (clear_gutter): don't special case top and left gutters.
5101         (specifier_vars_of_gutter): use new signature for
5102         set_specifier_caching.
5103
5104         * glyphs-x.c (x_redisplay_widget): spelling fix.
5105         * glyphs.c (specifier_vars_of_glyphs):
5106         * menubar.c (specifier_vars_of_menubar):
5107         * redisplay.c (specifier_vars_of_redisplay):
5108         * toolbar.c (specifier_vars_of_toolbar):
5109         * window.c (specifier_vars_of_window):
5110         * scrollbar.c (specifier_vars_of_scrollbar):
5111         (complex_vars_of_scrollbar): use new signature for
5112         set_specifier_caching.
5113
5114         * specifier.c (set_specifier_caching): include recompute flag.
5115         (recompute_one_cached_specifier_in_window): always recompute if
5116         flag set.
5117         (recompute_one_cached_specifier_in_frame): ditto.
5118
5119         * specifier.h (struct specifier_caching): add recompute flag.
5120
5121 2000-10-24  Andy Piper  <andy@xemacs.org>
5122
5123         * unexcw.c (copy_executable_and_dump_data_section): add new
5124         BSS_PAD_SIZE so that we can re-instate a mini-bss. This keeps gdb
5125         5.0 happy.
5126
5127 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
5128
5129         * console-x.h (x_device): New member modifier_release_time.
5130         * event-Xt.c (x_handle_sticky_modifiers):
5131         Bound interval modifier keys are sticky.
5132         * event-stream.c (Vmodifier_keys_sticky_time): New variable.
5133         * events.h: extern it.
5134
5135 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
5136
5137         * cmdloop.c (Fcommand_loop_1): Just add C-g to event queue.
5138
5139 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
5140
5141         * event-stream.c (execute_command_event): Preserve current_events
5142         and the like when event is misc-user-event.
5143         Inhibit quit during the call to maybe_echo_keys.
5144
5145 2000-10-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
5146
5147         * filelock.c (lock_buffer): Cope with kill-buffer. Don't create a
5148         symlink when buffer is killed.
5149         (inhibit_clash_detection): New variable.
5150
5151 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
5152
5153         * console.c (Fset_input_method): Trigger redisplay on tty.
5154
5155 2000-11-07  Martin Buchholz  <martin@xemacs.org>
5156
5157         * process.c (Fprocess_status): Revert to previous behavior:
5158         (process-status "nosuchprocess") ==> nil
5159
5160 2000-11-06  Martin Buchholz  <martin@xemacs.org>
5161
5162         * mule-charset.h (CHARSET_BY_LEADING_BYTE):
5163         Work around another GCC 2.95.2 optimizer bug.
5164
5165 2000-11-02  Martin Buchholz  <martin@xemacs.org>
5166
5167         * process.c (Fget_process): Use LIST_LOOP_2.
5168         (kill_buffer_processes): Use LIST_LOOP_2.
5169
5170         * minibuf.c (Fall_completions):
5171         Delete old non-functional code for FSF fourth argument.
5172
5173         * frame.c (frame_matches_frame_spec):
5174         Renamed from `frame_matches_frametype'.  Update all callers.
5175         (device_matches_device_spec):
5176         Renamed from 'device_matches_console_spec'.  Update all callers.
5177
5178         * doc.c (Fsubstitute_command_keys):
5179         Remove buffer overflow crash.  Small code cleanups.
5180
5181         * casetab.c (check_case_table): Simpler code.
5182
5183         * window.c (Freplace_buffer_in_windows):
5184         Give this the same WHICH-FRAMES and WHICH-DEVICES parameters
5185         (and similar implementation) as Fdelete_windows_on.
5186         Update all callers.
5187
5188         * alloc.c (Fmake_list):
5189         * alloc.c (make_vector):
5190         * alloc.c (Fmake_vector):
5191         * alloc.c (make_bit_vector):
5192         * alloc.c (Fmake_bit_vector):
5193         * alloc.c (Fbit_vector):
5194         * alloc.c (Fmake_string):
5195         * alloc.c (Fpurecopy):
5196         * alloc.c (Fmemory_limit):
5197         * buffer.c:
5198         * buffer.c (Fget_buffer):
5199         * buffer.c (Fkill_buffer):
5200         * buffer.c (complex_vars_of_buffer):
5201         * bytecode.c (Fcompiled_function_stack_depth):
5202         * callint.c (Fprefix_numeric_value):
5203         * event-stream.c:
5204         * event-stream.c (Fread_key_sequence):
5205         * casetab.c:
5206         * casetab.c (Fcase_table_p):
5207         * casetab.c (check_case_table):
5208         * casetab.c (Fset_case_table):
5209         * casetab.c (Fset_standard_case_table):
5210         * chartab.c:
5211         * chartab.c (Fchar_table_type):
5212         * chartab.c (Freset_char_table):
5213         * chartab.c (Fget_char_table):
5214         * chartab.c (Fget_range_char_table):
5215         * chartab.c (Fput_char_table):
5216         * chartab.c (Fmap_char_table):
5217         * chartab.c (Fcategory_table_p):
5218         * chartab.c (Fcheck_category_at):
5219         * chartab.c (Fchar_in_category_p):
5220         * chartab.c (Fcategory_table):
5221         * chartab.c (Fcopy_category_table):
5222         * chartab.c (Fset_category_table):
5223         * chartab.c (Fcategory_designator_p):
5224         * chartab.c (Fcategory_table_value_p):
5225         * cmds.c (Fdelete_char):
5226         * cmds.c (Fdelete_backward_char):
5227         * cmds.c (Fself_insert_command):
5228         * cmds.c (Fself_insert_internal):
5229         * console.c (Fvalid_console_type_p):
5230         * console.c (Fcdfw_console):
5231         * console.c (Fconsole_type):
5232         * console.c (Fconsole_name):
5233         * console.c (Fconsole_device_list):
5234         * console.c (Fconsole_on_window_system_p):
5235         * data.c:
5236         * data.c (Feq):
5237         * data.c (Fold_eq):
5238         * data.c (Fsubr_interactive):
5239         * data.c (Fchar_to_int):
5240         * data.c (Fint_to_char):
5241         * data.c (Fsetcar):
5242         * data.c (Fsetcdr):
5243         * data.c (Fnumber_to_string):
5244         * data.c (Fstring_to_number):
5245         * data.c (Frem):
5246         * database.c (mark_database):
5247         * database.c (finalize_database):
5248         * database.c (Fdatabase_live_p):
5249         * database.c (Fdatabasep):
5250         * device-x.c (Fx_get_resource):
5251         * device.c (Fdfw_device):
5252         * dired.c:
5253         * dired.c (Ffile_name_completion):
5254         * dired.c (Ffile_name_all_completions):
5255         * dired.c (Fuser_name_completion):
5256         * dired.c (Fuser_name_completion_1):
5257         * dired.c (Fuser_name_all_completions):
5258         * doc.c (Fdocumentation):
5259         * doc.c (Fdocumentation_property):
5260         * doc.c (Fsubstitute_command_keys):
5261         * editfns.c:
5262         * editfns.c (Fchar_to_string):
5263         * editfns.c (Fstring_to_char):
5264         * editfns.c (Ftemp_directory):
5265         * editfns.c (Finsert_char):
5266         * editfns.c (Fbuffer_substring_no_properties):
5267         * editfns.c (Fnarrow_to_region):
5268         * editfns.c (Fchar_equal):
5269         * editfns.c (Fchar_Equal):
5270         * editfns.c (Ftranspose_regions):
5271         * emacs.c (Fdump_emacs):
5272         * eval.c (Fthrow):
5273         * eval.c (Fcommand_execute):
5274         * eval.c (Fautoload):
5275         * eval.c (Fbacktrace):
5276         * eval.c (Fbacktrace_frame):
5277         * events.c:
5278         * events.c (Fcopy_event):
5279         * events.c (Fcharacter_to_event):
5280         * events.c (Fevent_button):
5281         * events.c (Fevent_process):
5282         * extents.c:
5283         * extents.c (Fnext_extent_change):
5284         * extents.c (Fextent_property):
5285         * faces.c (Ffacep):
5286         * faces.c (Fmake_face):
5287         * file-coding.c:
5288         * file-coding.c (Fencode_shift_jis_char):
5289         * file-coding.c (Fencode_big5_char):
5290         * fileio.c (Ffile_name_directory):
5291         * fileio.c (Ffile_name_nondirectory):
5292         * fileio.c (Ffile_name_as_directory):
5293         * fileio.c (Fdirectory_file_name):
5294         * fileio.c (Ffile_truename):
5295         * fileio.c (Fsubstitute_in_file_name):
5296         * fileio.c (Ffile_modes):
5297         * fileio.c (Fset_file_modes):
5298         * fileio.c (Fset_default_file_modes):
5299         * fileio.c (Fverify_visited_file_modtime):
5300         * floatfns.c (Facos):
5301         * floatfns.c (Fasin):
5302         * floatfns.c (Fatan):
5303         * floatfns.c (Fcos):
5304         * floatfns.c (Fsin):
5305         * floatfns.c (Ftan):
5306         * floatfns.c (Fbessel_j0):
5307         * floatfns.c (Fbessel_j1):
5308         * floatfns.c (Fbessel_jn):
5309         * floatfns.c (Fbessel_y0):
5310         * floatfns.c (Fbessel_y1):
5311         * floatfns.c (Fbessel_yn):
5312         * floatfns.c (Ferf):
5313         * floatfns.c (Ferfc):
5314         * floatfns.c (Flog_gamma):
5315         * floatfns.c (Fexp):
5316         * floatfns.c (Fexpt):
5317         * floatfns.c (Flog):
5318         * floatfns.c (Flog10):
5319         * floatfns.c (Fsqrt):
5320         * floatfns.c (Fcube_root):
5321         * floatfns.c (Facosh):
5322         * floatfns.c (Fasinh):
5323         * floatfns.c (Fatanh):
5324         * floatfns.c (Fcosh):
5325         * floatfns.c (Fsinh):
5326         * floatfns.c (Ftanh):
5327         * floatfns.c (Fabs):
5328         * floatfns.c (Ffloat):
5329         * floatfns.c (Flogb):
5330         * floatfns.c (Fceiling):
5331         * floatfns.c (Ffloor):
5332         * floatfns.c (Fround):
5333         * floatfns.c (Ftruncate):
5334         * floatfns.c (Ffceiling):
5335         * floatfns.c (Fffloor):
5336         * floatfns.c (Ffround):
5337         * floatfns.c (Fftruncate):
5338         * fns.c (Fstring_equal):
5339         * fns.c (Fstring_lessp):
5340         * fns.c (concat2):
5341         * fns.c (concat3):
5342         * fns.c (vconcat2):
5343         * fns.c (vconcat3):
5344         * fns.c (Fsubstring):
5345         * fns.c (Fassoc):
5346         * fns.c (Fold_assoc):
5347         * fns.c (assoc_no_quit):
5348         * fns.c (Fassq):
5349         * fns.c (Fold_assq):
5350         * fns.c (assq_no_quit):
5351         * fns.c (Frassoc):
5352         * fns.c (Fold_rassoc):
5353         * fns.c (Frassq):
5354         * fns.c (Fold_rassq):
5355         * fns.c (rassq_no_quit):
5356         * fns.c (Fremassoc):
5357         * fns.c (remassoc_no_quit):
5358         * fns.c (Fremassq):
5359         * fns.c (remassq_no_quit):
5360         * fns.c (Fremrassoc):
5361         * fns.c (Fremrassq):
5362         * fns.c (remrassq_no_quit):
5363         * fns.c (Fsort):
5364         * fns.c (Fplist_get):
5365         * fns.c (Fplist_put):
5366         * fns.c (Fplist_remprop):
5367         * fns.c (Fplist_member):
5368         * fns.c (Flax_plist_get):
5369         * fns.c (Flax_plist_put):
5370         * fns.c (Flax_plist_remprop):
5371         * fns.c (Flax_plist_member):
5372         * fns.c (Fequal):
5373         * fns.c (Fold_equal):
5374         * fns.c (Frequire):
5375         * fns.c (Fbase64_encode_region):
5376         * fns.c (Fbase64_encode_string):
5377         * fns.c (Fbase64_decode_region):
5378         * frame.c:
5379         * frame.c (frame_matches_frame_spec):
5380         * frame.c (device_matches_device_spec):
5381         * frame.c (next_frame):
5382         * frame.c (previous_frame):
5383         * frame.c (Fnext_frame):
5384         * frame.c (Fprevious_frame):
5385         * frame.c (Fframe_property):
5386         * frame.c (Fset_frame_height):
5387         * frame.c (Fset_frame_size):
5388         * frame.h:
5389         * glyphs.c:
5390         * glyphs.c (if):
5391         * glyphs.c (decode_error_behavior_flag):
5392         * glyphs.c (Fmake_image_instance):
5393         * indent.c (Findent_to):
5394         * intl.c (Fignore_defer_gettext):
5395         * keymap.c (Fkeymapp):
5396         * keymap.c (Flookup_key):
5397         * lread.c:
5398         * lread.c (Fload_internal):
5399         * lread.c (Feval_buffer):
5400         * lread.c (Feval_region):
5401         * macros.c (Fexecute_kbd_macro):
5402         * marker.c (set_marker_internal):
5403         * marker.c (Fset_marker):
5404         * marker.c (set_marker_restricted):
5405         * marker.c (Fcopy_marker):
5406         * marker.c (noseeum_copy_marker):
5407         * menubar.c:
5408         * menubar.c (Fpopup_menu):
5409         * minibuf.c:
5410         * mule-charset.c (Fcharset_name):
5411         * mule-charset.c (Fchar_charset):
5412         * mule-charset.c (Fchar_octet):
5413         * mule-charset.c (Fsplit_char):
5414         * mule-wnnfns.c (Fwnn_open):
5415         * mule-wnnfns.c (Fwnn_dict_comment):
5416         * mule-wnnfns.c (Fwnn_quit_henkan):
5417         * mule-wnnfns.c (Fwnn_word_toroku):
5418         * mule-wnnfns.c (Fwnn_word_sakujo):
5419         * mule-wnnfns.c (Fwnn_word_use):
5420         * mule-wnnfns.c (Fwnn_hindo_set):
5421         * objects.c:
5422         * objects.c (Fmake_color_instance):
5423         * objects.c (Fmake_font_instance):
5424         * print.c (Fwrite_char):
5425         * process.c:
5426         * process.c (mark_process):
5427         * process.c (print_process):
5428         * process.c (get_process_from_usid):
5429         * process.c (Fprocessp):
5430         * process.c (Fprocess_live_p):
5431         * process.c (Fget_process):
5432         * process.c (Fget_buffer_process):
5433         * process.c (get_process):
5434         * process.c (Fprocess_id):
5435         * process.c (Fprocess_name):
5436         * process.c (Fprocess_command):
5437         * process.c (init_process_io_handles):
5438         * process.c (start_process_unwind):
5439         * process.c (Fstart_process_internal):
5440         * process.c (Fopen_multicast_group_internal):
5441         * process.c (Fset_process_window_size):
5442         * process.c (read_process_output):
5443         * process.c (send_process):
5444         * process.c (Fprocess_tty_name):
5445         * process.c (Fset_process_buffer):
5446         * process.c (Fprocess_buffer):
5447         * process.c (Fprocess_mark):
5448         * process.c (set_process_filter):
5449         * process.c (Fset_process_filter):
5450         * process.c (Fprocess_filter):
5451         * process.c (Fprocess_send_region):
5452         * process.c (Fprocess_send_string):
5453         * process.c (exec_sentinel):
5454         * process.c (Fset_process_sentinel):
5455         * process.c (Fprocess_sentinel):
5456         * process.c (status_notify):
5457         * process.c (Fprocess_status):
5458         * process.c (Fprocess_exit_status):
5459         * process.c (process_send_signal):
5460         * process.c (Fprocess_send_eof):
5461         * process.c (deactivate_process):
5462         * process.c (remove_process):
5463         * process.c (Fdelete_process):
5464         * process.c (kill_buffer_processes):
5465         * process.c (Fprocess_kill_without_query):
5466         * process.c (Fprocess_kill_without_query_p):
5467         * rangetab.c:
5468         * rangetab.c (Fget_range_table):
5469         * rangetab.c (Fput_range_table):
5470         * rangetab.c (Fremove_range_table):
5471         * rangetab.c (Fclear_range_table):
5472         * search.c:
5473         * search.c (Fskip_chars_forward):
5474         * search.c (Fskip_chars_backward):
5475         * search.c (Fskip_syntax_forward):
5476         * search.c (Fskip_syntax_backward):
5477         * search.c (search_command):
5478         * search.c (Freplace_match):
5479         * search.c (Fregexp_quote):
5480         * select.c (Fown_selection_internal):
5481         * select.c (Fselection_owner_p):
5482         * select.c (Fselection_exists_p):
5483         * select.c (Fget_selection_internal):
5484         * specifier.c:
5485         * symbols.c:
5486         * symbols.c (Fintern):
5487         * symbols.c (Fintern_soft):
5488         * symbols.c (Funintern):
5489         * symbols.c (Fapropos_internal):
5490         * symbols.c (Fset_default):
5491         * syntax.c:
5492         * syntax.c (Fsyntax_table_p):
5493         * syntax.c (Fcopy_syntax_table):
5494         * syntax.c (Fset_syntax_table):
5495         * syntax.c (Fchar_syntax):
5496         * syntax.c (syntax_match):
5497         * syntax.c (Fmatching_paren):
5498         * syntax.c (Fforward_word):
5499         * syntax.c (scan_lists):
5500         * syntax.c (Fscan_lists):
5501         * syntax.c (Fscan_sexps):
5502         * syntax.c (Fparse_partial_sexp):
5503         * toolbar.c (Fcheck_toolbar_button_syntax):
5504         * tooltalk.doc:
5505         * window.c:
5506         * window.c (Fwindowp):
5507         * window.c (Fwindow_live_p):
5508         * window.c (Fwindow_point):
5509         * window.c (Fdelete_window):
5510         * window.c (Fnext_window):
5511         * window.c (Fprevious_window):
5512         * window.c (Fother_window):
5513         * window.c (window_loop):
5514         * window.c (Fget_lru_window):
5515         * window.c (Fsplit_window):
5516         * window.c (Fenlarge_window):
5517         * window.c (Fenlarge_window_pixels):
5518         * window.c (Fshrink_window):
5519         * window.c (Fshrink_window_pixels):
5520         * window.c (change_window_height):
5521         * window.c (Fwindow_configuration_p):
5522         * window.c (Fcurrent_window_configuration):
5523         * window.h:
5524         * casefiddle.c (casify_object):
5525         * casefiddle.c (Fupcase):
5526         * casefiddle.c (Fdowncase):
5527         * casefiddle.c (Fcapitalize):
5528         * casefiddle.c (Fupcase_initials):
5529         * casefiddle.c (casify_region_internal):
5530         * casefiddle.c (casify_region):
5531         * casefiddle.c (Fupcase_region):
5532         * casefiddle.c (Fdowncase_region):
5533         * casefiddle.c (Fcapitalize_region):
5534         * casefiddle.c (Fupcase_initials_region):
5535         * casefiddle.c (Fupcase_word):
5536         * casefiddle.c (Fdowncase_word):
5537         * casefiddle.c (Fcapitalize_word):
5538         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
5539         Replace 0 with '\0' when working with bytes.
5540         Replace initial "(" with "\(" in docstrings.
5541
5542 2000-11-01  Martin Buchholz  <martin@xemacs.org>
5543
5544         * config.h.in: Handle alloca with Compaq C on Alpha Linux.
5545
5546         * m/alpha.h: Let configure handle SYSTEM_MALLOC on Linux.
5547
5548 2000-10-31  Martin Buchholz  <martin@xemacs.org>
5549
5550         * eldap.c (print_ldap): 64-bit cleaner.  Fixes warning.
5551
5552 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
5553
5554         * doprnt.c (emacs_do_prnt_1): Format (format "%01.2d" 10)
5555         correctly.
5556
5557 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
5558
5559         * fileio.c (Vauto_save_list_file_prefix): Moved from startup.el.
5560         (inhibit_auto_save_session): New variable.
5561         (vars_of_fileio): Declare and initialize them.
5562         * fileio.c (Fdo_auto_save): Don't create session file if
5563         Vinhibit_auto_save_session or Vauto_save_list_file_prefix is non-nil.
5564
5565 2000-10-31  Martin Buchholz  <martin@xemacs.org>
5566
5567         * sgiplay.c (play_internal): C++ compilability.
5568         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Remove unused var `SFTB_prev'.
5569         * callproc.c (Fold_call_process_internal):
5570         Remove unused vars `env', `first'.
5571         * scrollbar.c (update_scrollbar_instance):
5572         #### unused var `current_window'.
5573         * redisplay-tty.c: Put currently unused vars insert_mode_on,
5574         etc. within #ifdef NOT_YET.
5575         * emacs.c: #### unused vars `initial_argc', `initial_argv'.
5576         * dialog-x.c (dbox_descriptor_to_widget_value): ### unused var `title'.
5577         * specifier.c (specifier_instance):
5578         #### unused var `tag'.
5579         Use WINDOW_BUFFER, FRAME_DEVICE instead of their expansion.
5580
5581 2000-10-27  Martin Buchholz  <martin@xemacs.org>
5582
5583         * fns.c (Fbutlast):
5584         * fns.c (list_sort):
5585         * fns.c (Ffillarray):
5586         * fns.c (bytecode_nconc2):
5587         * fns.c (Fnconc):
5588         * fns.c (mapcar1):
5589         * fns.c (Fmapconcat):
5590         Be pedantically 64-bit correct.  For the time when someone will
5591         want to have a list with length > 2**32.
5592
5593         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
5594         Work around MIPSpro compiler bug.
5595
5596         * process-unix.c (unix_kill_child_process): Add snarky comment.
5597         * process-unix.c (try_to_initialize_subtty):  Oops, `=' ==> `=='
5598
5599         * config.h.in: Oops, _getpt ==> _getpty
5600
5601 2000-10-26  Martin Buchholz  <martin@xemacs.org>
5602
5603         * config.h.in:
5604         * regex.c:
5605         Use void*, not char*, as return type of alloca().
5606
5607         * alloc.c (free_marker): Side effect inside assert expression!
5608
5609 2000-10-16  MIYASHITA Hisashi  <himi@m17n.org>
5610
5611         * mule-charset.c (Fset_charset_ccl_program): To check
5612         if the given ccl program is valid, use setup_ccl_program()
5613         instead of CHECK_VECTOR().
5614         (Fmake_charset): Likewise.
5615
5616 2000-10-20  Golubev I. N.  <gin@mo.msk.ru>
5617
5618         * faces.c (get_extent_fragment_face_cache_index):
5619         Fix cachel.merged_faces memory leak.
5620
5621 2000-10-14  MIYASHITA Hisashi  <himi@m17n.org>
5622
5623         * mule-ccl.c (ccl_driver)<CCL_DECODE_SJIS>:
5624         Reset MSB of octets obtained by DECODE_SJIS
5625         because of the incompatibility with Emacs.
5626         (ccl_driver)<CCL_ENCODE_SJIS>:
5627         Set MSB of octets before passing them to
5628         ENCODE_SJIS because of the incompatibility
5629         with Emacs.
5630
5631 2000-10-18   Daiki Ueno  <ueno@unixuser.org>
5632
5633         * lrecord.h (DECLARE_TYPECHECK_LRECORD): Abolish.
5634         (DECLARE_LRECORD): Undo the last change.
5635         (DECLARE_EXTERNAL_LRECORD): Expand typechecking stuff.
5636
5637 2000-10-17   Daiki Ueno  <ueno@unixuser.org>
5638
5639         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Connect
5640         the implementation to lrecord_implementations_table.
5641
5642 2000-10-14   Daiki Ueno  <ueno@unixuser.org>
5643
5644         * lrecord.h (MAKE_EXTERNAL_LRECORD_IMPLEMENTATION): Don't set the
5645         initial value of `lrecord_type_##c_name' and
5646         `lrecord_##c_name.lrecord_type_index'; discard "const" qualifier.
5647         (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): New macro.
5648         [ERROR_CHECK_TYPECHECK] (DECLARE_TYPECHECK_LRECORD): New macro.
5649         [ERROR_CHECK_TYPECHECK] (DECLARE_LRECORD): Use it.
5650         [ERROR_CHECK_TYPECHECK] (DECLARE_EXTERNAL_LRECORD): Use it.
5651
5652 2000-10-17  Martin Buchholz  <martin@xemacs.org>
5653
5654         * miscplay.c (sndcnv8S_2mono):
5655         (sndcnv2monounsigned):
5656         (sndcnvULaw_2linear):
5657         (sndcnv16swap):
5658         Remove implementation-defined behavior.
5659
5660 2000-10-12  Martin Buchholz  <martin@xemacs.org>
5661
5662         * input-method-xlib.c: Warning suppression.
5663
5664 2000-10-05  MIYASHITA Hisashi  <himi@m17n.org>
5665
5666         * mule-ccl.c: Sync up with Emacs 21.0.90.
5667         (ccl_driver)<CCL_TranslateCharacter>: Disabled.
5668         Do nothing.
5669         (ccl_driver)<CCL_TranslateCharacterConstTbl>:
5670         Likewise.
5671         (ccl_driver[WriteMultibyteChar2]): Bug fix.
5672         Use MAX_LEADING_BYTE_OFFICIAL_2 instead of
5673         MIN_LEADING_BYTE_OFFICIAL_2 to check whether the
5674         leading char belongs to official 2-dimensional charset.
5675         (CCL_WRITE_CHAR): When CCL_MODE_ENCODING,
5676         write the given character as is.  Otherwise,
5677         if it is a multibyte char, convert it by
5678         non_ascii_set_charptr_emchar, then write it.
5679         (CCL_WRITE_STRING): Likewise.
5680         (ccl_get_compiled_code): New function.
5681         (setup_ccl_program): When ccl_prog is invalid,
5682         return -1.
5683         (Fregister_code_conversion_map): New function.
5684         (syms_of_mule_ccl): defsubr Fregister_code_conversion_map.
5685
5686         * mule-ccl.h: Sync up with Emacs 21.0.90.
5687         (Fregister_ccl_program): export it.
5688
5689         * redisplay-msw.c (separate_textual_runs):
5690         If ccl program is not valid, don't do ccl conversion.
5691
5692         * redisplay-x.c (separate_textual_runs): Ditto.
5693
5694         * file-coding.c (Fmake_coding_system):
5695         When type is ccl and value is vector, register it
5696         with a proper symbol.  And checks whether the
5697         given ccl program is valid.
5698         (mule_decode): When calling ccl_driver, if src indicates
5699         NULL pointer, set an empty string instead.
5700         (mule_encode): Likewise.
5701
5702 2000-10-11  Martin Buchholz  <martin@xemacs.org>
5703
5704         The following large batch of changes gets us back to a state of
5705         C++ compilability.  Extbyte is now a char, which means that
5706         Extbyte * and Bufbyte * cannot be freely interchanged - a win!
5707
5708         * tooltalk.c (Fset_tooltalk_message_attribute): Type correctness.
5709
5710         * sound.c (Fplay_sound): Type correctness.
5711
5712         * select-x.c (hack_motif_clipboard_selection): Type correctness.
5713         (x_get_window_property): Type correctness.
5714         (receive_incremental_selection): unsigned char ==> Extbyte
5715         (selection_data_to_lisp_data): unsigned char ==> Extbyte
5716         (Fx_get_cutbuffer_internal): unsigned char ==> Extbyte
5717         (Fx_store_cutbuffer_internal): Type correctness.
5718
5719         * process-unix.c (try_to_initialize_subtty): Type correctness.
5720
5721         * objects-x.c (x_print_color_instance): Type correctness.
5722         (x_print_font_instance): Type correctness.
5723         (x_list_fonts): SExtbyte ==> Extbyte.
5724         (valid_x_font_name_p): SExtbyte ==> Extbyte.
5725         (x_find_charset_font): SExtbyte ==> Extbyte.
5726         Use TO_INTERNAL_FORMAT.  build_string ==> make_string.
5727         (truename_via_XListFonts): SExtbyte ==> Extbyte.
5728         (x_font_instance_properties): Use TO_INTERNAL_FORMAT.
5729         Use bufbyte_strcmp.
5730
5731         * mule-charset.h (LEADING_BYTE_PREFIX_P): unsigned char ==> Bufbyte
5732         (PRIVATE_LEADING_BYTE_PREFIX): Add paranoia cast.
5733         (BYTE_ASCII_P): Use bit ops for char-signedness safety.
5734         (BYTE_C0_P): Use bit ops for char-signedness safety.
5735         (BYTE_C1_P): Use bit ops for char-signedness safety.
5736         (CHARSET_BY_LEADING_BYTE):
5737         (CHARSET_BY_ATTRIBUTES):
5738         Always use inline function.
5739         Use type_checking_assert.
5740         Hide chlook.
5741
5742         * mule-charset.c (non_ascii_charptr_copy_char):
5743         Modify to work with both ASCII and non-ASCII characters.
5744         Improve docs and variable names.
5745         Replace over-clever fall-through switch with a simple loop.
5746         (Lstream_get_emchar_1):
5747         Replace over-clever fall-through switch with a simple loop.
5748
5749         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
5750         Warning suppression.
5751
5752         * lstream.h (Lstream_get_emchar): BYTE_ASCII_P cannot be used on
5753         the return value of Lstream_getc, which could be EOF as well.
5754
5755         * lstream.c (Lstream_raw_read): Now returns ssize_t, not int.
5756
5757         * lisp.h: Make Extbyte a char, not unsigned char, so that external
5758         APIs can be used on Extbytes without casts.  Risky!
5759         (SExtbyte): Remove.
5760         (UExtbyte): Remove.
5761
5762         * input-method-xlib.c (XIM_init_device):
5763         Use Xlib.h instead of IntrinsicP.h.
5764         Use HAVE_XREGISTERIMINSTANTIATECALLBACK instead of THIS_IS_X11R6,
5765         which will break in X11R7.
5766         Use XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE,
5767         to call XRegisterIMInstantiateCallback with correct types.
5768
5769         * gui-x.c (button_item_to_widget_value): Type correctness.
5770
5771         * glyphs.c (bitmap_to_lisp_data):  Type correctness.
5772
5773         * glyphs-x.c (pixmap_from_xbm_inline): Type correctness.
5774         (xbm_instantiate_1): Type correctness.
5775         (BUILD_GLYPH_INST):  Type correctness.
5776
5777         * fileio.c (Fsubstitute_in_file_name): Type correctness.
5778
5779         * file-coding.c:
5780         (decode_coding_sjis):
5781         (decode_coding_big5):
5782         (decode_coding_ucs4):
5783         (decode_coding_utf8):
5784         (decode_coding_iso2022):
5785         (decode_coding_no_conversion):
5786         Make all decoding functions take an Extbyte * arg.
5787         (encode_coding_sjis):
5788         (encode_coding_big5):
5789         (encode_coding_ucs4):
5790         (encode_coding_utf8):
5791         (encode_coding_iso2022):
5792         (encode_coding_no_conversion):
5793         Make all encoding functions take a Bufbyte * arg.
5794         Use size_t instead of unsigned int for memory sizes.
5795         Only cast to unsigned char whenever dereferencing Extbyte *.
5796
5797         * doc.c (unparesseuxify_doc_string): Type correctness.
5798
5799         * console-x.c (split_up_display_spec):
5800         Rewrite without using details of internal string representation.
5801         (x_semi_canonicalize_device_connection): Type correctness.
5802
5803         * config.h.in:
5804         (HAVE_XREGISTERIMINSTANTIATECALLBACK): New.
5805         (XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE): New.
5806         (HAVE_XFREE386): Removed.
5807
5808         * buffer.h (DEC_CHARPTR): `const' correctness.
5809         (bufbyte_strcmp): New.
5810         (bufbyte_memcmp): New.
5811
5812         * buffer.c (dfc_convert_to_internal_format): Extbyte ==> Bufbyte
5813
5814         * buffer.h (XCHAR_OR_CHAR_INT):
5815         Always use inline function.
5816         Remove redundant type checking assert() - XINT will abort quite nicely.
5817
5818 2000-10-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
5819
5820         * search.c (Freplace_match): Set newtext to an empty string.
5821
5822 2000-10-10  Martin Buchholz  <martin@xemacs.org>
5823
5824         * s/decosf1-3.h: Remove #include of stropts.h
5825         * s/ptx.h: Remove #include of stropts.h
5826         * s/usg5-4.h: Remove #include of stropts.h
5827         * sysproc.h:
5828         * config.h.in:
5829         Use stropts.h, not sys/stropts.h.
5830         Use strtio.h, not sys/strtio.h.
5831
5832 2000-10-04  Martin Buchholz <martin@xemacs.org>
5833
5834         * XEmacs 21.2.36 is released.
5835
5836 2000-09-21  Andy Piper  <andy@xemacs.org>
5837
5838         * glyphs-x.c (x_redisplay_widget): make sure non-structural
5839         changes still involve copying the widget tree.
5840         (update_widget_face): make sure a change is register in the widget
5841         tree. Call update_tab_widget_face appropriately.
5842         (update_tab_widget_face): ditto.
5843         (x_tab_control_redisplay): make sure non-structural changes still
5844         involve copying the widget tree.
5845
5846 2000-08-31   Daiki Ueno  <ueno@unixuser.org>
5847
5848         * lread.c (locate_file): Check the path element is non-nil.
5849
5850 2000-10-02  Martin Buchholz  <martin@xemacs.org>
5851
5852         * lisp.h: Warning suppression for SCO compilers.
5853
5854         * redisplay-tty.c (reset_tty_modes): Fix crash.
5855         E.g. from xemacs running on X: (delete-device (make-device 'tty nil))
5856
5857 2000-09-27  Martin Buchholz  <martin@xemacs.org>
5858
5859         Big signal/process handling overhaul.  Bugs fixed:
5860         M-x shell, type `sleep 10000', M-x comint-interrupt-subjob and
5861         M-x comint-kill-subjob should work for both values nil and t of
5862         process-connection-type. It was broken on most platforms.
5863         Testing on Irix and Cygwin still needed.  Other plaforms tested.
5864         * sysdep.c: Move #include of stropts.h into sysproc.h.  Use pid_t.
5865         * process-unix.c: Signal/Process handling overhaul.
5866         (pty_name): make 64 bytes, as `expect' does, for paranoia.
5867         (allocate_pty): Use all available modern methods of allocating
5868         ptys, falling back to old style BSD allocation as a last resort.
5869         Use allegedly more secure Unix98 pty allocation by default.
5870         (allocate_pty_the_old_fashioned_way): New. the last resort.
5871         (unix_create_process): Push ptem, ldterm, ttcompat where
5872         available.  Autoconfiscate.
5873         (try_to_initialize_subtty): New.
5874         (unix_kill_child_process): Proper signal handling for ptys on most
5875         platforms, using special knowledge of AIX, BSD, etc...
5876         (unix_create_process): Always disconnect_controlling_terminal() for
5877         subprocesses, whether using ptys or not.
5878         * process.h: Remove old getpt-dependent PTY code.
5879         * process.c (Fprocess_send_signal): New, obvious generic function.
5880         (decode_signal): New.
5881         (Finterrupt_process):
5882         (Fkill_process):
5883         (Fquit_process):
5884         (Fstop_process):
5885         (Fcontinue_process):
5886         (Fsignal_process): Use decode_signal.
5887         (process_send_signal):
5888         Many docstring corrections.
5889         Allow any signal to be sent to a process object.
5890         * config.h.in: Add symbols for big signal/process overhaul.
5891         * syssignal.h (EMACS_KILLPG): Use HAVE_KILLPG. Use `pid', not `gid'.
5892         * sysproc.h: Include process-related headers, where available:
5893         sys/stropts.h sys/strtio.h pty.h libutil.h
5894         * s/irix4-0.h:
5895         * s/irix5-0.h:
5896         * s/cygwin32.h:
5897         * s/gnu.h:
5898         * s/linux.h:
5899         * s/hpux.h:
5900         * s/aix3-1.h:
5901         Remove old S&M pty stuff.
5902         * console-tty.c (tty_init_console): Use pid_t, not int, for pids.
5903         * systty.h: Simplify cpp hackery, improve comments.
5904         Favor BSD ioctl(TIOCGPGRP) over Posix tcgetpgrp().
5905
5906         * editfns.c (Fformat_time_string):
5907         Be a little more paranoid with the return value of ctime.
5908
5909         * fileio.c (check_executable):
5910         (check_writable):
5911         Use symbolic constants X_OK, W_OK.
5912
5913         * console-x.c (split_up_display_spec): Fix a warning.
5914
5915 2000-10-02  Martin Buchholz  <martin@xemacs.org>
5916
5917         * gui-x.c (add_accel_and_to_external): strlen ==> XSTRING_LENGTH
5918         * ntproc.c (sys_spawnve): make_string ==> build_string
5919         Small clarity improvements.
5920
5921 2000-09-30  Martin Buchholz  <martin@xemacs.org>
5922
5923         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY): Warning removal.
5924
5925         * s/windowsnt.h (HAVE_STRCASECMP): Remove.
5926
5927         * config.h.in (HAVE_STRCASECMP): Remove.
5928
5929 2000-09-29  Martin Buchholz  <martin@xemacs.org>
5930
5931         * redisplay-output.c (redisplay_output_pixmap):
5932         Cleaner and possibly more 64-bit correct code.
5933
5934 2000-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
5935
5936         * dumper.c (pdump_load_finish): move restoration of
5937         `noninteractive1' to emacs.c (main_1).
5938         * emacs.c (main_1): protect LISP-visible command-line flags
5939         from pdump_load().
5940
5941 2000-09-26  Stephen J. Turnbull  <stephen@xemacs.org>
5942
5943         * Makefile.in.in (versionclean):  Use EXE_TARGET and
5944         DUMP_TARGET instead of literal program names.
5945
5946 2000-09-20  Martin Buchholz  <martin@xemacs.org>
5947
5948         * Makefile.in.in: Recent purify's require absolute paths for cache-dir.
5949
5950 2000-09-19  Martin Buchholz  <martin@xemacs.org>
5951
5952         * *: Spelling mega-patch
5953
5954 2000-09-19  Martin Buchholz  <martin@xemacs.org>
5955
5956         * fns.c (bad_bad_turtle):
5957         Delete "Eek!" comment, since we fixed the bug to which it refers.
5958
5959 2000-09-16  Martin Buchholz  <martin@xemacs.org>
5960
5961         * alloca.c: Replace REGISTER with register.
5962
5963 2000-09-16   Daiki Ueno  <ueno@unixuser.org>
5964
5965         * file-coding.c (ucs_to_char): Use countof.
5966
5967 2000-09-16  Martin Buchholz  <martin@xemacs.org>
5968
5969         * file-coding.c: (ucs_to_char):
5970         (complex_vars_of_file_coding):
5971         Use countof instead of sizeof.
5972         Use CHECK_NATNUM instead of CHECK_INT.
5973
5974         * sysdep.c (strcasecmp): Remove.
5975         * device-x.c (ascii_strcasecmp): New.
5976         * device-x.c (Fx_get_resource): Use ascii_strcasecmp.
5977         Avoid using non-standard non-portable strcasecmp.
5978
5979 2000-09-16  Martin Buchholz  <martin@xemacs.org>
5980
5981         * Makefile.in.in (mostlyclean): remove reference to prefix-args.
5982         * font-lock.c: remove reference to emacsfns.h.
5983         * search.c: small doc improvement.
5984         * event-Xt.c: correct file names in comments.
5985         * console-x.h Correct file names in comments.
5986         * frame.c: Correct file names in comments.
5987         * event-stream.c: remove Energize from comments.
5988
5989 2000-09-15  Martin Buchholz  <martin@xemacs.org>
5990
5991         * symeval.h (DEFERROR_STANDARD):
5992         (DEFERROR):
5993         (DEFSYMBOL):
5994         (DEFSYMBOL_NO_DUMP):
5995         (DEFSYMBOL_MULTIWORD_PREDICATE):
5996         (DEFSYMBOL_MULTIWORD_PREDICATE_NO_DUMP):
5997         (DEFKEYWORD):
5998         The construct &##name is not sensible C.
5999         Fixes compilation errors with Unixware native compiler.
6000
6001 2000-09-14  Martin Buchholz  <martin@xemacs.org>
6002
6003         * frame.c (device_matches_console_spec): no longer takes a `frame' arg
6004         (next_frame_internal): Removed.  We now just have next_frame.
6005         (next_frame):
6006         Write a simpler and cleaner one-pass algorithm.
6007         Remove called_from_delete_device arg and #ifdefed-out code.
6008         (previous_frame):
6009         Renamed from prev_frame.  Update callers.
6010         Cleaned up to have an analogous implementation to next_frame.
6011         (other_visible_frames_internal): Remove the
6012         called_from_delete_device bogus arg, and hence, remove this
6013         function.  Just use other_visible_frames().
6014
6015         * window.c (Fnext_window):
6016         Prettify docstring.
6017         Since next_frame() is guaranteed to return a frame, remove check
6018         for nil inserted in previous patch.
6019         (Fprevious_window):
6020         Prettify docstring.
6021         Make code look more like Fnext_window.
6022         (window_loop):
6023         Respect the `console' arg when iterating through windows.
6024         Fixes bug: (get-buffer-window buffer t device) not respecting
6025         the `device' arg.
6026         This function needs more work, as others have pointed out.
6027
6028         * frame.h: Rename prev_frame to previous_frame.
6029         device_matches_console_spec no longer takes a `frame' arg.
6030
6031         * s/gnu.h:
6032         * s/linux.h:
6033         * s/hpux.h:
6034         Use EMACS_BLOCK_SIGNAL instead of sigblock.
6035         From "Golubev I. N." <gin@mo.msk.ru>.
6036
6037         * make-src-depend: Fix typo.
6038
6039 2000-09-13  Martin Buchholz  <martin@xemacs.org>
6040
6041         * window.c (Fnext_window):
6042         next_frame() might return nil, not a frame.
6043         Fixes this crash:
6044         (gdb) run -eval '(progn  (make-device (quote x) "polgar:0") (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
6045
6046         * frame.c (next_frame_internal):
6047         We've passed a frame if we've passed its device.
6048         Fixes this crash:
6049         (gdb) run -eval '(progn (make-frame nil (make-device (quote x) "polgar:0")) (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
6050 Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245, RECORD_TYPEP (obj, lrecord_type_frame)
6051
6052 2000-09-11  Jonathan Harris  <jhar@tardis.ed.ac.uk>
6053
6054         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
6055         Allow option to suppress accelerators in menu/dialog items.
6056         (populate_or_checksum_helper): Pass dialog title through above.
6057
6058 2000-09-10  Jonathan Harris  <jhar@tardis.ed.ac.uk>
6059
6060         * event-msw.c (mswindows_key_to_emacs_keysym):
6061         Add "pause" key, fix "menu" key.
6062
6063 2000-09-09  Martin Buchholz  <martin@xemacs.org>
6064
6065         * eval.c (reinit_vars_of_eval):
6066         Increase max_lisp_eval_depth to 1000,
6067         required for thai-xtis.el to byte-compile under some circumstances.
6068
6069 2000-09-04  Martin Buchholz  <martin@xemacs.org>
6070
6071         * event-Xt.c (x_to_emacs_keysym): Increase size of `buffer' to 513.
6072         From Kenichi Handa.
6073
6074 2000-09-01  Martin Buchholz  <martin@xemacs.org>
6075
6076         * make-src-depend: Make the generated Makefiles smaller.
6077
6078         * s/hpux.h (SETUP_SLAVE_PTY):
6079         Provide a %d in the format string for the errno argument.
6080
6081         * editfns.c (Ftemp_directory):
6082         Warning fix.
6083         Avoid buffer overrun on very long file name.
6084
6085         * input-method-xlib.c (XIM_init_device):
6086         6th parameter of XRegisterIMInstantiateCallback has different
6087         pointer types on different OSes, so simply cast to (void *).
6088
6089         * unexhp9k800.c: Warning fixes.  Fiddly changes.
6090
6091         * sysdll.c (dll_open):
6092         shl_load will hang hard if passed a NULL filename.
6093         Simply return NULL for compatibility with dlopen.
6094         * sysdll.c: Conform to XEmacs coding standards.
6095
6096         * sysdep.c (get_pty_max_bytes):
6097         Support pty input lines longer than 512 bytes on HP-UX 10.20.
6098
6099 2000-08-31  Martin Buchholz  <martin@xemacs.org>
6100
6101         * tooltalk.c: Add #include <syssignal.h>
6102
6103 2000-08-12  Alexandre Oliva  <aoliva@redhat.com>
6104
6105         * s/hpux.h: Don't use undefined function sigunblock().
6106
6107 2000-08-31  Martin Buchholz  <martin@xemacs.org>
6108
6109         * config.h.in: Add HAVE_BALLOON_HELP.
6110         * emacs.c: Use HAVE_BALLOON_HELP.
6111         * Makefile.in.in (x_objs):
6112         Make Balloon Help conditional on finding shape.h.
6113
6114 2000-08-23  Yoshiki Hayashi  <yoshiki@xemacs.org>
6115
6116         * syntax.c (regex_emacs_buffer_p): New variable.
6117         * syntax.h (regex_emacs_buffer_p): extern.
6118         * search.c (looking_at_1):
6119         (string_match_1):
6120         (fast_string_match):
6121         (search_buffer): Set regex_emacs_buffer_p.
6122         * regex.c (re_match_2_internal): Reference regex_emacs_buffer_p
6123         when before_dot, at_dot, after_dot.
6124
6125 2000-08-23  Andy Piper  <andy@xemacs.org>
6126
6127         * gui-x.c (popup_selection_callback): Only set action_occurred
6128         when we really have an image instance.
6129         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
6130
6131 2000-08-23  Andy Piper  <andy@xemacs.org>
6132
6133         * gui-msw.c (mswindows_handle_gui_wm_command): set
6134         action_occurred.
6135         * gui-x.c (popup_selection_callback): ditto.
6136
6137         * glyphs.h (IMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): new accessor.
6138         (XIMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): ditto.
6139         (struct Lisp_Image_Instance): add action_occurred flag.
6140
6141         * glyphs.c (redisplay_subwindow): use action_occurred flag.
6142         (image_instance_changed): ditto.
6143         (reset_frame_subwindow_instance_cache): only unmap windows - do
6144         not remove them from the cache also.
6145
6146         * glyphs-widget.c (tab_control_update): better debug.
6147         (progress_gauge_update): ditto.
6148         (layout_update): ditto.
6149         (layout_instantiate): ditto.
6150         (tab_control_order_only_changed): cope with null pending items.
6151
6152         * glyphs-msw.c (mswindows_tab_control_redisplay): add better
6153         debug. Force selection of an item when an action occurred. Cope
6154         with null pending_items.
6155         (mswindows_progress_gauge_redisplay): better debug.
6156         * glyphs-x.c (x_tab_control_redisplay): ditto.
6157
6158         * redisplay.c (redisplay_frame): reset the frame cache if the
6159         frame is garbaged.
6160
6161         * window.c (Fset_window_configuration): potentially re-enable
6162         frame cache reset.
6163         (window_unmap_subwindows): need to finalize instances here since
6164         it is only used in mark_window_as_deleted.
6165
6166 2000-08-22  Stephen J. Turnbull  <stephen@xemacs.org>
6167
6168         * nas.c (SndOpenDataForReading):
6169         nas.c (WaveOpenDataForReading):
6170         nas.c (readChunk): {BIG,LITTLE}_ENDIAN -> NAS_{BIG,LITTLE}_ENDIAN.
6171         Somehow escaped from the 2000-08-14 patch.
6172
6173 2000-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
6174
6175         * nas.c:  Preprocessor trickery to use NAS_LITTLE_ENDIAN instead
6176         of LITTLE_ENDIAN (conflicts with glibc, at least) in NAS <= 1.2p5.
6177
6178 2000-08-21  Andy Piper  <andy@xemacs.org>
6179
6180         * glyphs-x.c (x_map_subwindow): Minor optimization - only map the
6181         window if it is not already displayed.
6182
6183         * glyphs-msw.c (mswindows_map_subwindow): only map the window if
6184         it is not already displayed.
6185
6186         * window.c (Fset_window_configuration): don't reset the frame
6187         cache.
6188
6189         * glyphs.c (unmap_subwindow_instance_cache_mapper): only remove
6190         instances from the frame cache if we are actually finalizing them.
6191         (reset_frame_subwindow_instance_cache): reset frame cache only
6192         after unmapping everything.
6193         (map_subwindow): set displayed flag after mapping.
6194
6195 2000-08-21  Martin Buchholz  <martin@xemacs.org>
6196
6197         * data.c (indirect_function):
6198         Rename ERRORP to non-misleading VOID_FUNCTION_ERRORP.
6199
6200         * eval.c (function_argcount):
6201         Use original function when signaling errors.
6202
6203 2000-08-18  Andy Piper  <andy@xemacs.org>
6204
6205         * frame.c (delete_frame_internal): use new
6206         free_frame_subwindow_instances name.
6207
6208         * glyphs-msw.c (mswindows_tab_control_instantiate): verify index.
6209         (add_tab_item): make return type correct.
6210         (mswindows_tab_control_instantiate): assert index of tab.
6211         (mswindows_tab_control_redisplay): Re-code to use
6212         gui_item_equal_sans_selected and gui_item_list_find_selected.
6213
6214         * glyphs-widget.c (tab_control_update): Correct comment.
6215
6216         * window.c (window_unmap_subwindows): use new
6217         unmap_subwindow_instance_cache_mapper.
6218         (window_unmap_subwindows_cache_mapper): deleted.
6219         (Fset_window_configuration): comparisons should now be with
6220         EQ. Preserve the subwindow instance cache across configuration
6221         changes.
6222         (allocate_window): ditto.
6223         (make_dummy_parent): ditto.
6224
6225         * glyphs.c (free_frame_subwindow_instances): rename from
6226         free_frame_subwindow_instance_cache. finalize all instances rather
6227         than just those in the display cache.
6228         (finalize_all_subwindow_instances): walk windows unmapping and
6229         finalizing subwindows.
6230         (unmap_subwindow_instance_cache_mapper): moved from
6231         window.c. Allow finalization as well as unmapping.
6232
6233         * gui.c (gui_item_list_find_selected): new function.
6234
6235         * gui.h (gui_item_list_find_selected): declare.
6236
6237         * glyphs-x.c (x_tab_control_redisplay): pick tab
6238         explicitly. Re-code to use gui_item_equal_sans_selected and
6239         gui_item_list_find_selected.
6240
6241         * glyphs-x.h: add lwlib-utils.h
6242
6243         * buffer.c (Frecord_buffer): undo previous change.
6244
6245 2000-08-09  Vin Shelton  <acs@xemacs.org>
6246
6247         * config.h.in, s/gnu.h, s/hpux.h, s/linux.h: Use UNIX98 PTYs if
6248         possible.  Create temporary files more securely.  The patch was
6249         generated by Torsten Duwe <duwe@caldera.de>, Florian Weimer
6250         <Florian.Weimer@RUS.Uni-Stuttgart.DE> and Olaf Kirch.  See
6251         http://www.xemacs.org/list-archives/xemacs-patches/200007/msg00123.html
6252         for details.
6253
6254 2000-08-07  Ben Wing  <ben@xemacs.org>
6255
6256         * getloadavg.c: remove duplicate (and windows-breaking)
6257         includes of fcntl.h and sys/file.h.
6258
6259         * nt.c: remove duplicate getloadavg() definition.
6260
6261         * sysdll.h (Qdll_filename_encoding): add missing stand-in
6262         encodings.
6263
6264 2000-08-07  Gunnar Evermann  <ge204@eng.cam.ac.uk>
6265
6266         * eval.c (function_argcount): If function needs to be autoloaded
6267         actually use the loaded definition.
6268         GCPRO function.
6269
6270 2000-08-05  Ben Wing  <ben@xemacs.org>
6271
6272         * getloadavg.c: add prototype for getloadavg().  remove
6273         duplicate WIN32_NATIVE/CYGWIN code (already in the middle
6274         of the code).  remove duplicate header includes.
6275
6276         * s\cygwin32.h, s\mingw32.h: remove stray NO_ARG_ARRAY.
6277
6278         * s\cygwin32.h, s\mingw32.h, m\windowsnt.h:
6279         don't define LOAD_AVE_TYPE/LOAD_AVE_CVT because we have no
6280         useful load average.
6281
6282         * alloc.c (reinit_alloc_once_early): removed references to
6283         VIRT_ADDR_VARIES, malloc_sbrk_used/free, and data-bytes-used/free.
6284         the lisp vars are the only things referencing the malloc_sbrk_*
6285         vars, and they were already if 0'd out.  these vars only exist
6286         in the older malloc.c, which is basically unused, and they're
6287         only for informational purposes.
6288
6289         * m\*.h: removed useless VIRT_ADDR_VARIES.
6290
6291         * m\powerpc.h: removed stray NO_ARG_ARRAY.
6292
6293 2000-04-26  IKEYAMA Tomonori  <tomonori@suiyokai.org>
6294
6295         * redisplay-msw.c (mswindows_output_dibitmap): Set foreground
6296         color if the image is a mono pixmap.
6297
6298 2000-07-30  Ben Wing  <ben@xemacs.org>
6299
6300         * Makefile.in.in (release):
6301         Remove stray @.
6302
6303         * buffer.c (directory_is_current_directory):
6304         * dired-msw.c (mswindows_get_files):
6305         * dired.c:
6306         * dired.c (Fdirectory_files):
6307         * dired.c (file_name_completion_stat):
6308         * dired.c (Ffile_attributes):
6309         [[[[1]]]]: Rename stat() -> xemacs_stat() and eliminate nasty
6310         preprocessor tricks, to avoid problems on some machines
6311         (e.g. SCO).
6312
6313         * callproc.c (egetenv): GC docs.
6314
6315         * console-msw.h:
6316         * console-msw.h (struct mswindows_dialog_id):
6317         * lrecord.h (lrecord_type):
6318         New object for use with MSW dialogs.
6319
6320         * console.h (struct console_methods):
6321         New enable/disable frame methods, for proper modal dialogs.
6322
6323         * device-msw.c (msprinter_default_printer): Fix to follow
6324         proper Mule conventions.
6325
6326         * device-msw.c:
6327         * device-msw.c (signal_open_printer_error):
6328         * device-msw.c (msprinter_init_device):
6329         * device-msw.c (ensure_not_printing):
6330         * device-msw.c (plist_get_margin):
6331         * device-msw.c (Fmsprinter_select_settings):
6332         * device-msw.c (finalize_devmode):
6333         * device-msw.c (Fmsprinter_settings_despecialize):
6334         * device-msw.c (signal_enum_priner_error):
6335         * extents.c (decode_extent):
6336         * extents.c (decode_map_extents_flags):
6337         * extents.c (decode_extent_at_flag):
6338         * extents.c (Fextent_at):
6339         * extents.c (Fextents_at):
6340         * extents.c (symbol_to_glyph_layout):
6341         [[[[2]]]] Use structured errors.
6342
6343         * dialog-msw.c:
6344         * dialog-msw.c (mswindows_is_dialog_msg):
6345         * dialog-msw.c (mark_mswindows_dialog_id):
6346         * dialog-msw.c (dialog_proc):
6347         * dialog-msw.c (handle_question_dialog_box):
6348         * dialog-msw.c (syms_of_dialog_mswindows):
6349         Define new object to clean up marking; use it as a dialog identifier.
6350         Call new delete-dialog-box-hook.
6351
6352         * dialog-x.c (dbox_selection_callback):
6353         * dialog-x.c (dbox_descriptor_to_widget_value):
6354         * dialog-x.c (x_make_dialog_box_internal):
6355         Call new delete-dialog-box-hook.
6356         Return an id.
6357
6358         * dialog.c:
6359         * dialog.c (syms_of_dialog):
6360         * dialog.c (vars_of_dialog):
6361         Define new delete-dialog-box-hook, for use w/modal dialog boxes.
6362
6363         * eval.c:
6364         * eval.c (signal_call_debugger):
6365         when noninteractive, output stack traces on the console instead
6366         of in a (never-seen) buffer.
6367
6368         * eval.c (signal_type_error):
6369         * eval.c (invalid_argument_2):
6370         * lisp.h:
6371         new funs for use w/structured errors.
6372
6373         * event-Xt.c:
6374         * event-Xt.c (x_to_emacs_keysym):
6375         * event-Xt.c (describe_event):
6376         * event-Xt.c (emacs_Xt_event_handler):
6377         * event-Xt.c (vars_of_event_Xt):
6378         * event-msw.c:
6379         * event-msw.c (mswindows_wnd_proc):
6380         * event-msw.c (vars_of_event_mswindows):
6381         rename {x,mswindows}-debug-events to debug-{}-events for
6382         consistency with other debug-foo variables.
6383
6384         * event-stream.c:
6385         document next-event more clearly.
6386
6387         * fileio.c (Ffile_name_directory):
6388         * fileio.c (Ffile_name_nondirectory):
6389         * fileio.c (Funhandled_file_name_directory):
6390         * fileio.c (file_name_as_directory):
6391         * fileio.c (Ffile_name_as_directory):
6392         * fileio.c (directory_file_name):
6393         * fileio.c (Fdirectory_file_name):
6394         * fileio.c (Fmake_temp_name):
6395         * fileio.c (Ffile_truename):
6396         * fileio.c (Fsubstitute_in_file_name):
6397         * fileio.c (expand_and_dir_to_file):
6398         * fileio.c (barf_or_query_if_file_exists):
6399         * fileio.c (check_executable):
6400         * fileio.c (Ffile_exists_p):
6401         * fileio.c (Ffile_writable_p):
6402         * fileio.c (Ffile_directory_p):
6403         * fileio.c (Ffile_regular_p):
6404         * fileio.c (Ffile_modes):
6405         * fileio.c (Ffile_newer_than_file_p):
6406         * fileio.c (Fverify_visited_file_modtime):
6407         * fileio.c (Fset_visited_file_modtime):
6408         * fileio.c (auto_save_1):
6409         (1). (2).
6410         fix up gcpro's.
6411
6412         * frame-msw.c:
6413         * frame-msw.c (mswindows_init_frame_1):
6414         * frame-msw.c (mswindows_enable_frame):
6415         * frame-msw.c (error_frame_unsizable):
6416         * frame-msw.c (msprinter_init_frame_1):
6417         * frame-msw.c (msprinter_init_frame_3):
6418         * frame-msw.c (console_type_create_frame_mswindows):
6419         (2).
6420         implement new enable/disable frame methods.
6421
6422         * frame-x.c:
6423         * frame-x.c (x_enable_frame):
6424         * frame-x.c (console_type_create_frame_x):
6425         implement new enable/disable frame methods.
6426
6427         * frame.c:
6428         * frame.c (Fdisable_frame):
6429         * frame.c (syms_of_frame):
6430         * frame.h (struct frame):
6431         implement new enable/disable frame methods/functions.
6432
6433         * general-slots.h:
6434         add initial-focus.
6435
6436         * glyphs-msw.c (mswindows_widget_instantiate):
6437         comment that initial-focus should be implemented.
6438
6439         * glyphs-widget.c:
6440         * glyphs-widget.c (check_valid_instantiator):
6441         * glyphs-widget.c (check_valid_orientation):
6442         * glyphs-widget.c (check_valid_tab_orientation):
6443         * glyphs-widget.c (check_valid_justification):
6444         * glyphs-widget.c (check_valid_border):
6445         * glyphs-widget.c (check_valid_callback):
6446         * glyphs-widget.c (check_valid_int_or_function):
6447         * glyphs-widget.c (check_valid_string_or_vector):
6448         * glyphs-widget.c (check_valid_item_list_1):
6449         * glyphs-widget.c (widget_validate):
6450         * glyphs-widget.c (combo_box_validate):
6451         * glyphs-widget.c (widget_instantiate):
6452         * glyphs-widget.c (syms_of_glyphs_widget):
6453         * glyphs-widget.c (VALID_WIDGET_KEYWORDS):
6454         * glyphs-widget.c (image_instantiator_combo_box):
6455         * glyphs-widget.c (image_instantiator_scrollbar):
6456         * glyphs-widget.c (image_instantiator_tab_control):
6457         * glyphs-widget.c (VALID_LAYOUT_KEYWORDS):
6458         (2).
6459         support (unimplemented) keyword initial-focus.
6460         reindent long macros.
6461
6462         * glyphs-x.c (x_redisplay_widget):
6463         * glyphs-x.c (x_button_instantiate):
6464         * glyphs-x.c (x_button_redisplay):
6465         * glyphs-x.c (x_progress_gauge_instantiate):
6466         * glyphs-x.c (x_edit_field_instantiate):
6467         * glyphs-x.c (x_combo_box_instantiate):
6468         * glyphs-x.c (x_tab_control_instantiate):
6469         * glyphs-x.c (x_label_instantiate):
6470         * gui-x.c:
6471         * gui-x.c (button_item_to_widget_value):
6472         * gui-x.c (gui_items_to_widget_values_1):
6473         * gui-x.c (gui_item_children_to_widget_values):
6474         * gui-x.c (gui_items_to_widget_values):
6475         * gui-x.h:
6476         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
6477         add new flag to gui-parsing routines to indicate whether
6478         accelerator specs should be supported.
6479
6480         * glyphs.c (syms_of_glyphs): use DEFSYMBOL.
6481
6482         * glyphs.h (struct Lisp_Image_Instance):
6483         * glyphs.h (IMAGE_INSTANCE_WANTS_INITIAL_FOCUS):
6484         add initial-focus flag.
6485
6486         * gui.c:
6487         * gui.c (syms_of_gui):
6488         * gui.c (vars_of_gui):
6489         clean up menu-no-selection-hook.
6490
6491         * gui.h:
6492         support delete-dialog-box-hook.
6493
6494         * lread.c (Fload_internal):
6495         * lread.c (locate_file_in_directory_mapper):
6496         (1).
6497
6498         * lrecord.h:
6499         * lrecord.h (struct toolbar_button):
6500         * lrecord.h (syms_of_toolbar):
6501         document how to create a new object.
6502
6503         * menubar-msw.c (mswindows_char_is_accelerator):
6504         may be called on frames w/o menus.
6505
6506         * menubar.c (vars_of_menubar):
6507         clean up :filter docs.
6508
6509         * nt.c (readdir):
6510         * ntproc.c:
6511         (1).
6512
6513         * process-nt.c:
6514         * process-nt.c (validate_signal_number):
6515         * process-nt.c (signal_cannot_launch):
6516         * process-nt.c (nt_create_process):
6517         * process-nt.c (nt_send_process):
6518         * process-nt.c (nt_kill_child_process):
6519         * process-nt.c (nt_open_network_stream):
6520         * process-nt.c (syms_of_process_nt):
6521         (2).
6522         delete quote-handling.  call new lisp code that does it better.
6523
6524         * process-unix.c (connect_to_file_descriptor):
6525         * process-unix.c (allocate_pty):
6526         * process-unix.c (unix_send_process):
6527         * process-unix.c (unix_kill_child_process):
6528         * process-unix.c (unix_open_network_stream):
6529         * process-unix.c (unix_open_multicast_group):
6530         (1). (2).
6531
6532         * process.c:
6533         * process.c (Fstart_process_internal):
6534         (2).  need to canonicalize process path even if absolute.
6535
6536         * select-msw.c (symbol_to_ms_cf):
6537         * select-msw.c (ms_cf_to_symbol):
6538         * select-msw.c (cf_is_autofreed):
6539         * select-msw.c (mswindows_destroy_selection):
6540         * select.c:
6541         * select.c (syms_of_select):
6542         * select.h:
6543         support dibv5, fix bugs. (from Mike Alexander)
6544
6545         * select.c (Fget_selection_internal):
6546         * select.c (select_convert_out):
6547
6548         * sysdep.c:
6549         * sysdep.c (xemacs_stat):
6550         renamed.
6551
6552         * sysdep.c (mkdir):
6553         * sysdep.c (rmdir):
6554         but keep original stat() here because we provide encapsulation
6555         around these funs.
6556
6557         * sysfile.h:
6558         * sysfile.h (fstat):
6559         remove stat garbage.
6560
6561         * syswindows.h:
6562         fix X/MSW conflict.
6563         don't include tchar.h.  it's inappropriate because it makes
6564         compile-time distinctions when we want runtime distinctions.
6565         (we provide our own tchar replacements)
6566
6567         * toolbar.c:
6568         use default object printer for toolbar-button.
6569
6570         * unexcw.c:
6571         make sure we don't encapsulate.
6572
6573         * window.c (vars_of_window):
6574         emphasize that temp-buffer-show-hook is obsolete.
6575
6576 2000-08-05  Martin Buchholz  <martin@xemacs.org>
6577
6578         * glyphs.c (image_instance_hash): HASH2 wants EMACS_INT args.
6579         (Fimage_instance_subwindow_id): make_int wants EMACS_INT arg.
6580
6581         * events.c (Fevent_timestamp_lessp):
6582         Not 64-bit clean.  Use EMACS_INT, not int.
6583
6584 2000-06-05  Andrew Begel <abegel@cs.berkeley.edu>
6585
6586         * lrecord.h (lrecord_types): Changed lrecord_type_count to an
6587         unsigned int and changed the last enum to
6588         lrecord_type_last_built_in_type.
6589         (lrecord_implementations_table): changed prototype to know how
6590         long the array is supposed to be.
6591         (lrecord_type_count): new unsigned int to keep track of the
6592         current number of lisp lrecord types.
6593         (DEFINE_EXTERNAL_LRECORD):
6594         (DECLARE_EXTERNAL_LRECORD): Added these two for external
6595         dynamic-modules to declare new lisp types. They are the same
6596         as the non-EXTERNAL forms, but declare an lrecord_type unsigned
6597         int for each new type, and increment lrecord_type_count by 1.
6598
6599         * alloc.c (lrecord_implementations_table): Changed to reference
6600         lrecord_type_last_built_in_type for the size of the array.
6601         Moved MODULE_DEFINABLE_TYPE_COUNT to lrecord.h.
6602
6603 2000-08-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
6604
6605         * glyphs.h (check_valid_item_list): Renamed from
6606         check_valid_item_list_1.
6607
6608 2000-08-01 Alastair J. Houghton <ajhoughton@lineone.net>
6609
6610         * select.c (Qselect_coerce): New.
6611         * select.c (Vselection_coercion_alist): New.
6612         * select.c (syms_of_select): Declare.
6613         * select.c (get-selection-internal): Use it.
6614         Use the new select-coerce functionality.
6615
6616         * select.c (select_coerce): New.
6617         * select.h (select_coerce): Declare.
6618         New function to coerce one type of data into another.
6619
6620 2000-08-03  Martin Buchholz  <martin@xemacs.org>
6621
6622         * callproc.c (Fcall_process_internal):
6623         (Fcall_process_internal):
6624         * process-unix.c (unix_create_process):
6625         Save and restore the value of errno, so that error messages are accurate.
6626
6627 2000-08-01  Martin Buchholz  <martin@xemacs.org>
6628
6629         * elhash.c (print_hash_table):
6630         Fix printing of hash tables to also use `key-and-value' instead of `t'.
6631         Prettify docstrings and indentation.
6632
6633 2000-07-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
6634
6635         * window.c (Fwindow_pixel_edges): Subtract frame border and
6636         gutter size.
6637
6638 2000-07-31  Andy Piper  <andy@xemacs.org>
6639
6640         * buffer.c (Frecord_buffer): make absolutely sure that redisplay
6641         will acknowledge the change.
6642
6643         * glyphs.h: declare tab_control_order_only_changed.
6644
6645         * glyphs-x.c (x_tab_control_redisplay): use
6646         tab_control_order_only_changed.
6647
6648         * glyphs-widget.c (tab_control_order_only_changed): new function.
6649
6650         * glyphs-msw.c (mswindows_tab_control_redisplay): use
6651         tab_control_order_only_changed.
6652
6653         * gui.c (gui_item_equal_sans_selected): new function.
6654         (gui_item_equal): use it.
6655
6656         * glyphs-msw.c (mswindows_combo_box_instantiate): deprecate
6657         :properties in favor of :items..
6658
6659         * glyphs-widget.c (check_valid_item_list): rename from
6660         check_valid_item_list_1.
6661         (check_valid_item_list_1): renamed.
6662         (combo_box_validate): deprecate :properties in favor of :items.
6663         (widget_instantiate): ditto.
6664         (tab_control_update): ditto.
6665         (image_instantiator_combo_box): ditto.
6666         (image_instantiator_tree_view): ditto.
6667         (image_instantiator_tab_control): ditto.
6668         (layout_post_instantiate): remove dead code.
6669
6670         * print.c (debug_print_no_newline): only write to debugger if in
6671         WIN32_NATIVE.
6672
6673         * elhash.c (Fmake_hash_table): update doc string.
6674
6675         * event-msw.c (mswindows_wnd_proc): don't allow processing of
6676         messages whilst in GC. This at least stops XEmacs crashing but has
6677         the potential for wierd behaviour.
6678
6679 2000-07-31  Martin Buchholz  <martin@xemacs.org>
6680
6681         * config.h.in:
6682         Make existence of s&m files optional.
6683
6684         * s/bsd386.h: Remove HAVE_GETLOADAVG.
6685         * s/freebsd.h: Remove HAVE_GETLOADAVG.
6686         * s/gnu.h: Remove HAVE_GETLOADAVG.
6687         * s/netbsd.h: Remove HAVE_GETLOADAVG.
6688         * s/sol2.h: Remove HAVE_GETLOADAVG.
6689         * lisp.h: Remove getloadavg() declaration.
6690         * fns.c:
6691         Include <sys/loadavg.h> if available.
6692         Don't declare our own getloadavg() if HAVE_GETLOADAVG.
6693         * config.h.in:  Group together getloadavg()-related macros.
6694         Use only configure-time tests to detect getloadavg().
6695
6696 2000-07-30  Martin Buchholz  <martin@xemacs.org>
6697
6698         * Makefile.in.in (TransientEmacsShell.o): Fix race condition.
6699
6700 2000-07-25  Andy Piper  <andy@xemacs.org>
6701
6702         * syswindows.h: add tchar.h for native builds.
6703
6704         * frame.c (syms_of_frame): remove set-glyph-image.
6705
6706         * general-slots.h: add Qset_glyph_image.
6707
6708         * glyphs-widget.c (layout_update): add domain arg to
6709         set-glyph-image.
6710         (syms_of_glyphs_widget): remove set-glyph-image.
6711
6712 2000-07-23  Ben Wing  <ben@xemacs.org>
6713
6714         * dialog-msw.c (vars_of_dialog_mswindows): need to staticpro
6715         Vpopup_frame_list.
6716
6717 2000-07-22  Andy Piper  <andy@xemacs.org>
6718
6719         * symsinit.h: add syms_of_win32().
6720
6721         * gui-msw.c (syms_of_gui_mswindows): remove
6722         Fmswindows_shell_execute.
6723         (Fmswindows_shell_execute): moved to win32.c.
6724
6725         * emacs.c (main_1): add syms_of_win32 ().
6726
6727         * win32.c (init_potentially_nonexistent_functions): rewrite in
6728         compiler-friendly terms.
6729         (Fmswindows_shell_execute): move here from gui-msw.c.
6730         (syms_of_win32): new.
6731
6732         * device-msw.c (Fmswindows_printer_list): clean up args to
6733         EnumPrinters.
6734         Don't include tchar under cygwin or mingw.
6735         (msprinter_default_printer): make cygwin-friendly.
6736
6737 2000-07-21  Andy Piper  <andy@xemacs.org>
6738
6739         * glyphs-widget.c (image_instantiator_tree_view): use tab
6740         control's update function.
6741         (layout_property): new function. Retrieve items.
6742
6743         * glyphs-msw.c (mswindows_tree_view_redisplay): new
6744         function. Re-populate the tree view from the pending items.
6745
6746         * glyphs.c (instantiate_image_instantiator): Make sure the domain
6747         is designated the parent if the domain is an image instance. This
6748         is needed so that dirtiness can be cascade up the hierarchy and
6749         thus for layout children to be redisplayed correctly.
6750         (allocate_image_instance): rename glyph -> parent.
6751
6752         * redisplay.h: change redisplay_output_layout signature.
6753
6754         * redisplay-msw.c (mswindows_output_display_block): use domain
6755         arg.
6756
6757         * redisplay-x.c (x_output_display_block): use domain arg.
6758
6759 2000-07-10  Andy Piper  <andy@xemacs.org>
6760
6761         * window.c (Fset_window_configuration): add comment.
6762
6763         * redisplay-output.c (compare_runes):
6764         (redisplay_output_subwindow): redisplay rather than update subwindow.
6765         (redisplay_output_layout): ditto.
6766
6767         * redisplay-msw.c (mswindows_frame_output_end):
6768         (mswindows_frame_output_end): make defer window pos optional.
6769
6770         * lisp.h: add Flast.
6771
6772         * glyphs.h (struct image_instantiator_methods): add dest_mask top
6773         normalize method. Change update method to be for changed
6774         instantiators. Add redisplay method. Change signature of layout
6775         method.
6776         (struct Lisp_Image_Instance): add instantiator.
6777         (IMAGE_INSTANCE_INSTANTIATOR): new.
6778         (IMAGE_INSTANCE_SUBWINDOW_FACE): new.
6779         (XIMAGE_INSTANCE_INSTANTIATOR): new.
6780         (XIMAGE_INSTANCE_SUBWINDOW_FACE): new.
6781
6782         * glyphs.c:
6783         (find_instantiator_differences): new function.
6784         (Fset_instantiator_property): new convenience function.
6785         (check_image_instance_structure): strictly check for vector
6786         instantiators.
6787         (normalize_image_instantiator): make non-static.
6788         (instantiate_image_instantiator): pass on dest_mask and use new
6789         signatures for image_instance_layout and friends.
6790         (mark_image_instance): mark the instantiator. Mark the subwindow
6791         face not the widget face.
6792         (image_instance_equal): add instantiator.
6793         (image_instance_hash): ditto.
6794         (allocate_image_instance): ditto.
6795         (Fset_image_instance_property): removed.
6796         (Fimage_instance_file_name): ditto.
6797         (Fcolorize_image_instance): ditto.
6798         (image_instance_layout): add offsets to be set.
6799         (update_image_instance): new function. update an image instance
6800         from its changed instantiator.
6801         (inherit_normalize): add dest_mask.
6802         (xbm_normalize): ditto.
6803         (xface_normalize): ditto.
6804         (xpm_normalize): ditto.
6805         (text_update): set_property -> update.
6806         (image_instantiate): use the glyph identity as a hash key, not the
6807         instantiator.
6808         (glyph_width): use new image_instance_layout signature.
6809         (glyph_ascent): ditto.
6810         (glyph_descent): ditto.
6811         (glyph_height): ditto.
6812         (glyph_query_geometry): ressurrect.
6813         (glyph_layout): ditto.
6814         (redisplay_subwindow): update -> redisplay.
6815         (syms_of_glyphs): add Fset_instantiator_property.
6816         (image_instantiator_format_create): set_property -> update.
6817
6818         * glyphs-x.c:
6819         (autodetect_normalize): add dest_maks to signature.
6820         (x_redisplay_subwindow): update -> redisplay.
6821         (x_redisplay_widget): ditto.
6822         (x_button_redisplay): ditto.
6823         (x_progress_gauge_redisplay): ditto.
6824         (x_tab_control_redisplay): ditto. Rewrite to cope with changed
6825         stacking order.
6826         (console_type_create_glyphs_x): update -> redisplay.
6827         (image_instantiator_format_create_glyphs_x): ditto.
6828
6829         * glyphs-widget.c:
6830         (check_valid_instantiator): disallow glyphs in the instantiator,
6831         they must now be vectors.
6832         (check_valid_instantiator_list): ditto.
6833         (glyph_instantiator_to_glyph): use internal symbol rather than
6834         intern.
6835         (widget_update): renamed from widget_set_property. Call cascaded
6836         update methods.
6837         (redisplay_widget): renamed from update_widget.
6838         (widget_layout): image_instance_layout now takes position as well
6839         as size.
6840         (widget_normalize): ditto.
6841         (widget_instantiate): ditto.
6842         (tab_control_query_geometry) ditto.:
6843         (tab_control_update): renamed from tab_control_set_property.
6844         (progress_gauge_update): set_property -> update.
6845         (layout_normalize): rewrite so that child instantiators are
6846         normalized also.
6847         (layout_update): new function. Create glyphs from the normalized
6848         children and cope with any other layout keywords. We do not
6849         instantiate children here that will be take care of by
6850         redisplay_output_layout.
6851         (layout_instantiate): call layout_update and not much else.
6852         (layout_post_instantiate): not sure whether this is needed
6853         anymore.
6854         (layout_query_geometry): query glyph geometry rather than
6855         image_instance geometry.
6856         (layout_layout): set offsets from pass in parameters. Use glyph
6857         geometry and layout functions rather than image instance ones.
6858         (native_layout_layout): ditto.
6859         (syms_of_glyphs_widget): add make-glyph and set-glyph-image.
6860         (image_instantiator_widget): set_property -> update.
6861         (image_instantiator_buttons): ditto.
6862         (image_instantiator_progress_guage): ditto.
6863         (image_instantiator_tab_control): ditto.
6864         (VALID_LAYOUT_KEYWORDS): instantiators must now be vectors.
6865         (image_instantiator_layout): add update method.
6866
6867         * glyphs-msw.c (bmp_normalize):
6868         (mswindows_resource_normalize): add dest_mask so that it can be
6869         proprogated by layout_normalize.
6870         (begin_defer_window_pos): make optional because it may not be the
6871         right thing to do and it introduces differences with X.
6872         (mswindows_unmap_subwindow): ditto.
6873         (mswindows_map_subwindow): ditto.
6874         (mswindows_redisplay_subwindow): renamed from
6875         mswindows_update_subwindow.
6876         (mswindows_redisplay_widget): ditto.
6877         (mswindows_button_redisplay): renamed from
6878         mswindows_button_update. Update is now what the instantiation
6879         function does for a changed instantiator.
6880         (mswindows_progress_gauge_instantiate): set the progress value
6881         here if appropriate.
6882         (mswindows_tab_control_redisplay): cope with re-ordering of the
6883         members of the tab widget by simply selecting the new top
6884         widget. This makes things appear ok if you click on a tab.
6885         (mswindows_combo_box_instantiate): image_instance_layout now takes
6886         position as well as size.
6887         (mswindows_progress_gauge_redisplay): renamed from
6888         mswindows_progress_gauge_update.
6889         (console_type_create_glyphs_mswindows): fix update -> redisplay.
6890         (image_instantiator_format_create_glyphs_mswindows): ditto.
6891
6892         * glyphs-eimage.c (jpeg_normalize):
6893         (gif_normalize):
6894         (png_normalize):
6895         (tiff_normalize): add dest_mask so that it can be proprogated by
6896         layout_normalize.
6897
6898         * elhash.c:
6899         (print_hash_table):
6900         (hash_table_weakness_validate):
6901         (decode_hash_table_weakness):
6902         (Fhash_table_weakness):
6903         (Fhash_table_type):
6904         (syms_of_elhash): use Ben's naming scheme for hashtable types..
6905
6906         * console.h (struct console_methods): move update_* to
6907         redisplay_*.
6908
6909 2000-07-20  Ben Wing  <ben@xemacs.org>
6910
6911         * *.[ch] (XSETOBJ): remove unused middle argument.
6912         lisp-disunion.h: correct wrap_object() to one argument.
6913
6914 2000-07-15  Ben Wing  <ben@xemacs.org>
6915
6916         * s/cygwin32.h:
6917         * s/cygwin32.h (CYGWIN_CONV_PATH):
6918         Add missing logb prototype for v1.1.
6919         Use post-b20 names and alias to pre-b20 names when pre-b20.
6920
6921         * s/windowsnt.h: [5].
6922
6923 2000-07-15  Ben Wing  <ben@xemacs.org>
6924
6925         * Makefile.in.in (x_objs):
6926         * Makefile.in.in (sheap_objs):
6927         * Makefile.in.in (objs):
6928         added win32.o, cosmetic cleanups.
6929
6930         * alloc.c (Fmake_byte_code):
6931         [[[1]]]: Changes for new LIST_LOOP, EXTERNAL_LIST_LOOP,
6932         etc. macros which declare their own args now.
6933
6934         * alloc.c (syms_of_alloc):
6935         [[[2]]]: Use DEFSYMBOL, DEFKEYWORD, DEFERROR and friends.
6936
6937         * buffer.c:
6938         Moved buffer-dedicated-frame, set-buffer-dedicated-frame into lisp.
6939
6940         * buffer.c (Fget_file_buffer):
6941         Fixed GCPRO problem.
6942
6943         * buffer.c (get_truename_buffer):
6944         Fixed comment about GC checking.
6945
6946         * buffer.c (syms_of_buffer):
6947         Undeclared those dedicated frame funs.
6948         [2].
6949
6950         * buffer.h:
6951         Define convenience macros for internal/external conversions.
6952         [[[3]]]: Define codesys aliases Qcommand_argument_encoding
6953         and Qenvironment_variable_encoding for cleaner code.
6954
6955         * bufslots.h:
6956         Remove dedicated-frame; in lisp.
6957
6958         * bytecode.c (funcall_compiled_function):
6959         [1].
6960
6961         * bytecode.c (syms_of_bytecode):
6962         [2].
6963
6964         * console-msw.c:
6965         * console-msw.c (mswindows_show_console): Rewrote.
6966
6967         * console-msw.c (Fmswindows_debugging_output): New.
6968         Sends to OutputDebugString (special MSWin debugger interface).
6969
6970         * console-msw.c (Fmswindows_message_box):
6971         Fixed stupid bugs so it works when called from kill-emacs.
6972
6973         * console-msw.c (syms_of_console_mswindows):
6974         Declare Fmswindows_debugging_output.
6975
6976         * console-msw.h:
6977         New MSWin prototypes.
6978
6979         * console-msw.h (struct mswindows_frame):
6980         New entry last-click-mods for improved button-modifier support.
6981
6982         * console-msw.h (FRAME_MSWINDOWS_POPUP):
6983         New struct entry `popup' with corresponding accessor.
6984
6985         * console-x.c:
6986         * console-x.c (split_up_display_spec):
6987         * console-x.c (get_display_arg_connection):
6988         * console-x.c (x_semi_canonicalize_console_connection):
6989         * console-x.c (x_canonicalize_device_connection):
6990         [[[6]]]: Change char to more specific type.
6991         [[[8]]]: Make use of abstracting codesys aliases defined in [3], [4];
6992
6993         * console-x.c (x_semi_canonicalize_console_connection):
6994         * console-x.c (x_canonicalize_device_connection):
6995         [[[9]]]: Fix up error signalling to use new structured error system.
6996
6997         * console-x.h:
6998         [[[4]]]: Define codesys aliases:
6999         Qlwlib_encoding, Qx_atom_name_encoding, Qx_font_name_encoding,
7000         Qx_color_name_encoding, Qx_display_name_encoding.
7001
7002         * console.h (struct console_methods):
7003         New method make_dialog_box_internal supersedes older
7004         popup_dialog_box method.
7005
7006         * data.c:
7007         Define many new errors, part of new structured errors.
7008
7009         * data.c (init_errors_once_early):
7010         * data.c (syms_of_data):
7011         [2].
7012
7013         * device-msw.c (mswindows_init_device):
7014         [[[5]]]: Cleanup to support NT 3.51.
7015
7016         * device-msw.c (decode_devmode): Cleanup.
7017
7018         * device-msw.c (mswindows_handle_print_setup_dialog_box):
7019         * device-msw.c (mswindows_handle_print_dialog_box):
7020         * device-msw.c (mswindows_handle_page_setup_dialog_box):
7021         * device-msw.c (syms_of_device_mswindows):
7022         Delete the dialog box primitives recently introduced by Kirill and
7023         instead interface to general dialog box interface.
7024
7025         * device-x.c:
7026         * device-x.c (compute_x_app_name):
7027         * device-x.c (x_init_device):
7028         * device-x.c (Fx_valid_keysym_name_p):
7029         * device-x.c (Fx_set_font_path):
7030         [6].
7031         [7].
7032
7033         * device.h (wrap_device): New.
7034         First of its kind; meant to replace XSETDEVICE.
7035
7036         * dialog-msw.c: Many file-dialog symbols.
7037
7038         * dialog-msw.c (mswindows_register_popup_frame): New.
7039         * dialog-msw.c (mswindows_is_dialog_msg): New.
7040         For supporting kbd traversal in dialog boxes.
7041
7042         * dialog-msw.c (dialog_proc):
7043         Support hitting ESC in dialogs.
7044
7045         * dialog-msw.c (struct):
7046         Common dialog box errors.
7047
7048         * dialog-msw.c (handle_file_dialog_box): New.
7049         Add file dialog code.
7050
7051         * dialog-msw.c (handle_question_dialog_box):
7052         Redo existing code to support new question dialog syntax.
7053
7054         * dialog-msw.c (console_type_create_dialog_mswindows):
7055         We support new dialog console method.
7056
7057         * dialog-msw.c (syms_of_dialog_mswindows):
7058         * dialog-msw.c (vars_of_dialog_mswindows):
7059         New file dialog symbols, vars.
7060
7061         * dialog-x.c:
7062         * dialog-x.c (maybe_run_dbox_text_callback):
7063         * dialog-x.c (dbox_descriptor_to_widget_value):
7064         * dialog-x.c (x_make_dialog_box_internal):
7065         * dialog-x.c (console_type_create_dialog_x):
7066         Mule-ize entire file.
7067         Redo to support question dialog syntax.
7068         [6].
7069
7070         * dialog.c:
7071         * dialog.c (Fmake_dialog_box_internal):
7072         * dialog.c (syms_of_dialog):
7073         Kill old popup-dialog-box, replace with new primitive.
7074         Just call device method or signal error.
7075
7076         * eldap.c (Fldap_open):
7077         * eldap.c (Fldap_search_basic):
7078         * eldap.c (Fldap_add):
7079         * eldap.c (Fldap_modify):
7080         [1].
7081         [7].
7082
7083         * emacs.c:
7084         * emacs.c (make_arg_list_1):
7085         * emacs.c (make_arg_list):
7086         Mule-ize call to dll_init().
7087         [6].
7088         [8].
7089
7090         * emacs.c (make_argc_argv):
7091         * emacs.c (free_argc_argv):
7092         * emacs.c (init_cmdargs):
7093         * emacs.c (main_1):
7094         * emacs.c (Fkill_emacs):
7095         * emacs.c (Fdump_emacs):
7096         Update comments about what can be used in syms_* etc.
7097         Call init_win32() when necessary.
7098         Fix up MS Win dialog box in kill-buffer to actually work right.
7099         [7].
7100
7101         * eval.c:
7102         * eval.c (For):
7103         * eval.c (Fand):
7104         * eval.c (Fprogn):
7105         * eval.c (Fprog1):
7106         * eval.c (Fprog2):
7107         * eval.c (FletX):
7108         * eval.c (Flet):
7109         * eval.c (condition_case_3):
7110         * eval.c (Feval):
7111         * eval.c (function_argcount):
7112         * eval.c (funcall_lambda):
7113         [1].
7114
7115         * eval.c (type_error): New.
7116         * eval.c (maybe_type_error): New.
7117         * eval.c (continuable_type_error): New.
7118         * eval.c (maybe_continuable_type_error): New.
7119         * eval.c (type_error_with_frob): New.
7120         * eval.c (maybe_type_error_with_frob): New.
7121         * eval.c (continuable_type_error_with_frob): New.
7122         * eval.c (maybe_continuable_type_error_with_frob): New.
7123         New functions for use with structured errors.
7124
7125         * event-Xt.c:
7126         * event-Xt.c (x_event_to_emacs_event):
7127         Buttons are now modifiers too.
7128
7129         * event-Xt.c (emacs_Xt_current_event_timestamp):
7130         Implement new event method.
7131         * event-Xt.c (reinit_vars_of_event_Xt): Set it.
7132
7133         * event-msw.c:
7134         * event-msw.c (ntpipe_shove_writer): [5].
7135         * event-msw.c (mswindows_enqueue_mouse_button_event):
7136         * event-msw.c (mswindows_drain_windows_queue):
7137         * event-msw.c (mswindows_wnd_proc): [7].
7138         * event-msw.c (mswindows_current_layout_has_AltGr): [5].
7139         * event-msw.c (mswindows_modifier_state):
7140         Throughout: support new button modifiers.
7141
7142         * event-msw.c (emacs_mswindows_current_event_timestamp):
7143         Implement new event method.
7144         * event-msw.c (reinit_vars_of_event_mswindows): Set it.
7145
7146         * event-stream.c:
7147         * event-stream.c (event_stream_current_event_timestamp): New.
7148         * event-stream.c (maybe_kbd_translate): New functionality.
7149         * event-stream.c (vars_of_event_stream):
7150         Document new kbd-translate-table functionality.
7151
7152         * event-stream.c (Fcurrent_event_timestamp): New.
7153         New primitive for use in fabricated events.
7154         * event-stream.c (syms_of_event_stream): [2]. Declare new primitive.
7155
7156         * events-mod.h (XEMACS_MOD_BUTTON1): new button modifiers.
7157
7158         * events.c:
7159         * events.c (Fmake_event):
7160         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY):
7161         [1].
7162         [9].
7163
7164         * events.c (format_event_object): fix gcc warnings.
7165
7166         * events.c (Fevent_timestamp): Document new primitives.
7167
7168         * events.c (TIMESTAMP_HALFSPACE): New.
7169
7170         * events.c (Fevent_timestamp_lessp): New.  New primitive for
7171         comparing timestamps correctly (half-space algorithm).
7172
7173         * events.c (Fevent_modifier_bits): Doc fix.
7174
7175         * events.c (Fevent_modifiers): Major doc addition.
7176         * events.c (event_x_y_pixel_internal): Typo fix.
7177         * events.c (syms_of_events): Declare new primitives.
7178
7179         * events.h:
7180         Update long comment for button modifiers, timestamps.
7181
7182         * events.h (struct event_stream):
7183         New current_event_timestamp method.
7184
7185         * extents.c:
7186         * extents.c (extent_in_region_p):
7187         * extents.c (decode_extent):
7188         * extents.c (Fset_extent_parent):
7189         * extents.c (decode_map_extents_flags):
7190         Fix gcc warnings.
7191         [9].
7192
7193         * extents.c (struct extent_at_arg):
7194         * extents.c (decode_extent_at_flag):
7195         * extents.c (extent_at_mapper):
7196         * extents.c (extent_at_bytind):
7197         * extents.c (Fextent_at): Adapt to new lower-level interface. [9].
7198         * extents.c (Fextents_at): New primitive. [9].
7199         * extents.c (symbol_to_glyph_layout): [9].
7200         Support new primitive `extents-at'.
7201
7202
7203         * extents.c (get_text_property_bytind):
7204         extent_at_bytind has another arg.
7205         [9].
7206
7207         * extents.c (syms_of_extents): New primitive.
7208
7209         * file-coding.c (Fmake_coding_system): [1].
7210         * file-coding.c (subsidiary_coding_system): fix gcc warning
7211         * file-coding.c (syms_of_file_coding): [2].
7212
7213         * fileio.c (Fexpand_file_name):
7214         * fileio.c (Fsysnetunam):
7215         * fileio.c (Ffile_exists_p):
7216         * fileio.c (Ffile_executable_p):
7217         * fileio.c (Fverify_visited_file_modtime):
7218         Clean up GCPROing.
7219
7220         * fileio.c (syms_of_fileio): [2].
7221
7222         * filelock.c (lock_file_1):
7223         * filelock.c (current_lock_owner):
7224         * filelock.c (lock_if_free):
7225         * filelock.c (lock_file):
7226         * filelock.c (unlock_file):
7227         Clean up GCPROing.
7228
7229         * fns.c (concat): Fix gcc warning.
7230
7231         * fns.c (Fmember):
7232         * fns.c (Fold_member):
7233         * fns.c (Fmemq):
7234         * fns.c (Fold_memq):
7235         * fns.c (memq_no_quit):
7236         * fns.c (Fassoc):
7237         * fns.c (Fold_assoc):
7238         * fns.c (Fassq):
7239         * fns.c (Fold_assq):
7240         * fns.c (assq_no_quit):
7241         * fns.c (Frassoc):
7242         * fns.c (Fold_rassoc):
7243         * fns.c (Frassq):
7244         * fns.c (Fold_rassq):
7245         * fns.c (rassq_no_quit):
7246         * fns.c (Fdelete):
7247         * fns.c (Fold_delete):
7248         * fns.c (Fdelq):
7249         * fns.c (Fold_delq):
7250         * fns.c (delq_no_quit):
7251         * fns.c (Fremassoc):
7252         * fns.c (Fremassq):
7253         * fns.c (remassq_no_quit):
7254         * fns.c (Fremrassoc):
7255         * fns.c (Fremrassq):
7256         * fns.c (remrassq_no_quit):
7257         * fns.c (Freverse):
7258         * fns.c (mapcar1):
7259         [1].
7260
7261         * frame-msw.c (mswindows_init_frame_1):
7262         * frame-msw.c (mswindows_delete_frame):
7263         Register popups with dialog code so keyboard traversing works.
7264
7265         * frame-tty.c (tty_raise_frame_no_select): [1].
7266
7267         * frame-x.c:
7268         * frame-x.c (x_set_frame_text_value):
7269         * frame-x.c (x_set_frame_properties):
7270         * frame-x.c (x_create_widgets):
7271         [7].
7272
7273         * frame.c:
7274         * frame.c (Fmouse_pixel_position): Minor doc fixes.
7275
7276         * frame.h (wrap_frame): New.
7277         Macro like wrap_device.
7278
7279         * general.c:
7280         * general.c (SYMBOL):
7281         * general.c (syms_of_general):
7282         Major reorg.  This is now just a wrapper and symbols themselves
7283         are listed in general-slots.h.
7284
7285         * glyphs-eimage.c (tiff_instantiate): Need cast to fix warning.
7286         * glyphs-msw.c (mswindows_resource_instantiate): [5].
7287
7288         * glyphs-msw.c (mswindows_native_layout_instantiate):
7289         Add DS_CONTROL so keyboard traversal will work.
7290
7291         * glyphs-widget.c:
7292         * glyphs-widget.c (syms_of_glyphs_widget):
7293         Move some symbols to general-slots.h.
7294
7295         * glyphs-x.c:
7296         * glyphs-x.c (xbm_instantiate_1):
7297         * glyphs-x.c (x_xbm_instantiate):
7298         * glyphs-x.c (x_xface_instantiate):
7299         * glyphs-x.c (autodetect_instantiate):
7300         * glyphs-x.c (cursor_font_instantiate):
7301         * glyphs-x.c (x_update_widget):
7302         * glyphs-x.c (x_widget_instantiate):
7303         * glyphs.c (bitmap_to_lisp_data):
7304         * glyphs.c (pixmap_to_lisp_data):
7305         [7].
7306
7307         * glyphs.c (syms_of_glyphs):
7308         [2].
7309
7310         * gui-x.c:
7311         * gui-x.c (print_widget_value):
7312         * gui-x.c (menu_separator_style_and_to_external):
7313         * gui-x.c (add_accel_and_to_external):
7314         * gui-x.c (button_item_to_widget_value):
7315         * gui-x.c (gui_items_to_widget_values_1):
7316         * gui-x.c (gui_items_to_widget_values):
7317         * gui-x.c (syms_of_gui_x):
7318         * gui-x.c (vars_of_gui_x):
7319         Mule-ize entire file.  Move menu-no-selection-hook to gui.c.
7320         [9].
7321
7322         * gui-x.h:
7323         Muleize, prototype changes matching gui-x.c.
7324
7325         * gui.c:
7326         * gui.c (separator_string_p):
7327         * gui.c (gui_item_add_keyval_pair):
7328         * gui.c (make_gui_item_from_keywords_internal):
7329         * gui.c (signal_too_long_error):
7330         * gui.c (parse_gui_item_tree_item):
7331         * gui.c (syms_of_gui):
7332         * gui.c (vars_of_gui):
7333         * gui.h:
7334         menu-no-selection-hook moved here (used by MSWin).
7335         Move some symbols to general-slots.h.
7336         [6].
7337         [9].
7338
7339         * insdel.c (get_buffer_pos_char):
7340         * insdel.c (get_buffer_range_char):
7341         Add GC comments.
7342
7343         * keymap.c (keymap_lookup_directly):
7344         * keymap.c (keymap_store):
7345         * keymap.c (ensure_meta_prefix_char_keymapp):
7346         * keymap.c (describe_map):
7347         * keymap.h:
7348         Support new button modifiers.
7349
7350         * lisp-disunion.h (wrap_object):
7351         * lisp-disunion.h (XSETOBJ):
7352         Rename make_obj to wrap_object.
7353
7354         * lisp-union.h:
7355         * lisp-union.h (make_int):
7356         * lisp-union.h (make_char):
7357         Support wrap_object.
7358
7359         * lisp.h:
7360         * lisp.h (LIST_LOOP):
7361         * lisp.h (EXTERNAL_LIST_LOOP):
7362         * lisp.h (LIST_LOOP_2):
7363         * lisp.h (EXTERNAL_LIST_LOOP_1):
7364         * lisp.h (EXTERNAL_LIST_LOOP_2):
7365         * lisp.h (EXTERNAL_LIST_LOOP_3):
7366         * lisp.h (EXTERNAL_LIST_LOOP_4_NO_DECLARE):
7367         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
7368         * lisp.h (GET_EXTERNAL_LIST_LENGTH):
7369         * lisp.h (EXTERNAL_ALIST_LOOP_5):
7370         * lisp.h (EXTERNAL_ALIST_LOOP_6):
7371         * lisp.h (EXTERNAL_ALIST_LOOP_6_NO_DECLARE):
7372         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_5_NO_DECLARE):
7373         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_7):
7374         * lisp.h (struct Lisp_Symbol):
7375         * lisp.h (maybe_continuable_error_with_frob):
7376         Fix up section comments.
7377         Add new types for char to indicate usage.
7378         Delete symbols auto-generated from general-slots.h.
7379         Add prototypes for structured error functions.
7380         Add long comments describing looping macros and change interface
7381         so that lvalues are automatically declared.
7382         Add NO_DECLARE macro in case callers want to declare lvalues
7383         themselves.
7384
7385         * lread.c (read_syntax_error):
7386         * lread.c (continuable_read_syntax_error):
7387         * lread.c (read_structure):
7388         * lread.c (sequence_reader):
7389         * lread.c (read_list_conser):
7390         * lread.c (read_compiled_function):
7391         Rename syntax_error and continuable_syntax_error to avoid clash
7392         with same-named structured error functions.
7393
7394         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
7395         * menubar-msw.c (populate_menu_add_item):
7396         * menubar-msw.c (populate_or_checksum_helper):
7397         [5].
7398         [9].
7399
7400         * menubar-x.c:
7401         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
7402         Mule-ize whole file.
7403
7404         * menubar.c (Fnormalize_menu_item_name): Add optimization.
7405
7406         * mule-charset.c (Fmake_charset):
7407         * mule-wnnfns.c (Fwnn_set_param):
7408         [1].
7409
7410         * ntproc.c (create_child):
7411         * ntproc.c (Fwin32_set_current_locale):
7412         Add comments portending doom.
7413
7414         * objects-msw.c:
7415         * objects-msw.c (old_font_enum_callback_2):
7416         * objects-msw.c (font_enum_callback_1):
7417         * objects-msw.c (mswindows_enumerate_fonts):
7418         [5].
7419
7420         * objects-x.c:
7421         * objects-x.c (allocate_nearest_color):
7422         * objects-x.c (x_parse_nearest_color):
7423         * objects-x.c (x_initialize_color_instance):
7424         * objects-x.c (x_print_color_instance):
7425         * objects-x.c (x_finalize_color_instance):
7426         * objects-x.c (x_valid_color_name_p):
7427         * objects-x.c (x_initialize_font_instance):
7428         * objects-x.c (x_print_font_instance):
7429         * objects-x.c (valid_x_font_name_p):
7430         * objects-x.c (truename_via_FONT_prop):
7431         * objects-x.c (truename_via_random_props):
7432         * objects-x.c (truename_via_XListFonts):
7433         * objects-x.c (x_font_truename):
7434         * objects-x.c (x_font_instance_truename):
7435         * objects-x.c (x_font_instance_properties):
7436         * objects-x.c (x_list_fonts):
7437         * objects-x.c (x_find_charset_font):
7438         Mule-ize entire file.
7439         [7].
7440
7441         * objects-x.h:
7442         Mule-verify.
7443
7444         * print.c:
7445         * print.c (std_handle_out_external):
7446         * print.c (debug_print_no_newline):
7447         * print.c (syms_of_print):
7448         Output to all debugger kinds in debug-print.
7449         Fix console-output code under MSWin to actually work.
7450
7451         * process-nt.c (send_signal):
7452         * process-nt.c (nt_create_process):
7453         Use newer Unicode macros.
7454
7455         * process-unix.c (unix_create_process):
7456         * process-unix.c (unix_canonicalize_host_name):
7457         * process-unix.c (unix_open_network_stream):
7458         [7].
7459
7460         * scrollbar-x.c:
7461         Mule-verify.
7462
7463         * search.c (syms_of_search):
7464         [2].
7465
7466         * select-msw.c (mswindows_destroy_selection):
7467         Use LIST_LOOP_2.
7468
7469         * select-x.c (symbol_to_x_atom):
7470         [7].
7471
7472         * select.c (syms_of_select):
7473         [2].
7474
7475         * sound.c (Fplay_sound_file):
7476         [7].
7477
7478         * specifier.c:
7479         * specifier.c (decode_specifier_type):
7480         * specifier.c (Fvalid_specifier_locale_type_p):
7481         * specifier.c (check_valid_locale_or_locale_type):
7482         * specifier.c (decode_locale):
7483         * specifier.c (decode_locale_type):
7484         * specifier.c (decode_locale_list):
7485         * specifier.c (check_valid_domain):
7486         * specifier.c (decode_specifier_tag_set):
7487         * specifier.c (Fcanonicalize_tag_set):
7488         * specifier.c (Fdefine_specifier_tag):
7489         * specifier.c (Fspecifier_tag_predicate):
7490         * specifier.c (check_valid_inst_list):
7491         * specifier.c (check_valid_spec_list):
7492         * specifier.c (decode_how_to_add_specification):
7493         * specifier.c (check_modifiable_specifier):
7494         * specifier.c (specifier_add_spec):
7495         * specifier.c (boolean_validate):
7496         * specifier.c (display_table_validate):
7497         [9].
7498
7499         * specifier.c (syms_of_specifier):
7500         Move some symbols to general-slots.h.
7501         [2].
7502
7503         * symbols.c:
7504         * symbols.c (Fmapatoms):
7505         * symbols.c (Fapropos_internal):
7506         Add GCPROs.
7507
7508         * symbols.c (set_default_buffer_slot_variable):
7509         * symbols.c (set_default_console_slot_variable):
7510         [1].
7511
7512         * symbols.c (defsymbol_massage_name_1):
7513         * symbols.c (defkeyword_massage_name):
7514         * symbols.c (deferror_1):
7515         * symbols.c (deferror):
7516         * symbols.c (deferror_massage_name_and_message):
7517         * symeval.h:
7518         * symeval.h (DEFSYMBOL):
7519         Support DEFSYMBOL*, DEFKEYWORD, DEFERROR
7520
7521         * symbols.c (syms_of_symbols):
7522         [2].
7523
7524         * symsinit.h:
7525         * symsinit.h (init_win32): New.
7526         Also new is syms_of_dialog_mswindows.
7527
7528         * syswindows.h:
7529         Add new Unicode macros, missing Cygwin wide-char functions,
7530         convenience conversion macros for Qmswindows_tstr, macros for
7531         encapsulating required MSWin <-> Cygwin filename conversions,
7532         prototype for dynamically-extracted (not in NT 3.51) functions.
7533
7534         * toolbar-x.c:
7535         Mule-verify.
7536
7537         * tooltalk.c (Fadd_tooltalk_message_arg):
7538         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
7539         * tooltalk.c (Fadd_tooltalk_pattern_arg):
7540         [7].
7541
7542         * tooltalk.c (syms_of_tooltalk):
7543         [2].
7544
7545         * unexnt.c:
7546         * unexnt.c (unexec):
7547         Fix up headers, declaration of unexec() to be more standard.
7548
7549 2000-07-20  Martin Buchholz  <martin@xemacs.org>
7550
7551         * offix.h: Revert change to guard macros - they're used in offix.c!
7552
7553 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7554
7555         * lisp.h: Defsubred Fdelete.
7556
7557         * console-msw.h:  (msprinter_default_printer): Added.
7558
7559         * console-msw.c (msprinter_canonicalize_console_connection):
7560         (msprinter_canonicalize_device_connection): Added.
7561
7562         * device-msw.c (msprinter_default_printer):
7563         (Fmswingows_get_default_printer):
7564         (signal_enum_priner_error):
7565         (Fmswingows_printer_list): Added.
7566
7567 2000-07-19  Martin Buchholz <martin@xemacs.org>
7568
7569         * XEmacs 21.2.35 is released.
7570
7571 2000-07-19  Martin Buchholz  <martin@xemacs.org>
7572
7573         * select-x.c (x_handle_selection_request):
7574         Text selected in xemacs and pasted into xterm failed to appear.
7575         Spelling fixes and cosmetic changes.
7576
7577 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7578
7579         * event-msw.c (mswindows_drain_windows_queue): Correctly check for
7580         XEmacs frame (fix for doubling chars in dialog boxes).
7581
7582 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
7583
7584         * select.c (select_convert_in, select_convert_out):
7585         Don't call intern() every time.
7586
7587         * select.c (Qselect_convert_in, Qselect_convert_out): New.
7588         * select.c (vars_of_select): Initialise them.
7589
7590 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
7591
7592         * select.c (selection-coercible-types): New.
7593
7594         * select.c (own-selection-internal):
7595         * select.c (get-selection-internal):
7596         MULE bug fix - these should default to COMPOUND_TEXT and not
7597         STRING for MULE. I think.
7598
7599         * select.c (select_convert_out): Use selection-coercible-types
7600         to find types that we can attempt to perform coercions on.
7601
7602 2000-07-18  Martin Buchholz  <martin@xemacs.org>
7603
7604         * mule-wnnfns.c:
7605         * mule-canna.c:
7606         Add coding: cookie to identify encoding.
7607
7608         * mule-canna.c (CANNA_mode_keys): make static.
7609         Use proper prototypes, even for functions of no arguments.
7610         Remove external prototype for Fding().
7611
7612         * symsinit.h: Add missing prototype for reinit_vars_of_mule_wnn.
7613
7614         * select.c (syms_of_select): Add missing DEFSUBR.
7615
7616 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
7617
7618         * select.c (get_selection_internal, own_selection_internal):
7619         Make the type default to STRING, rather than placing a nil type
7620         into Vselection_alist.
7621
7622 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
7623
7624         * gpmevent.c (tty_selection_exists_p):
7625         * gpmevent.c (tty_own_selection):
7626         Updated parameter lists.
7627
7628 2000-07-15 Alastair J. Houghton <ajhoughton@lineone.net>
7629
7630         * select.h (selection-alist): Removed declaration.
7631
7632         * select.h (get_local_selection):
7633         * select.c (get_local_selection):
7634         Made static.
7635
7636         * select.h (convert_selection): Removed declaration.
7637         * select.c (convert_selection): Removed.
7638         This function belongs in Lisp.
7639
7640         * select.h (select_convert_in): Declare.
7641         * select.h (select_convert_out): Declare.
7642         * select.c (select_convert_in): New.
7643         * select.c (select_convert_out): New.
7644         New conversion functions for other files to call.
7645
7646         * select.h (select_notify_buffer_kill): Declare.
7647         * select.c (select_notify_buffer_kill): New.
7648         New functions that get called from kill-buffer.
7649
7650         * buffer.c (kill-buffer): Call select_notify_buffer_kill, rather than
7651         X-specific lisp code.
7652
7653         * select.h: Declare some of the lisp-visible functions for
7654         external use.
7655
7656         * select.c (clean_local_selection_data): Removed. This was
7657         a disgusting function, and previously should have been in
7658         select-x.c in any case. The functionality is now provided
7659         in select-convert-from-integer (select.el).
7660
7661         * select.c (available-selection-types): Fixed stupidity where
7662         INTEGER and ATOM got added twice. Also add STRING when we see an
7663         extent.
7664
7665         * select.c (get-selection-internal): Removed symbol stripping. No
7666         longer causes conversion when data comes from the internal cache.
7667
7668         * select.c (syms_of_select): Added new functions.
7669
7670         * select-x.c (motif_clipboard_cb): Use select_convert_out. Rewrote
7671         error checking - previously this called abort!
7672
7673         * select-x.c (x_own_selection): Changed comment.
7674
7675         * select-x.c (x_handle_selection_request): Use select_convert_out.
7676         Don't mess with selection-alist; it's an internal variable of select.c.
7677
7678         * select-x.c (x_get_foreign_selection): Use select_convert_in.
7679
7680         * select-x.c (x_handle_selection_clear): Use get-selection-timestamp,
7681         rather than messing with selection-alist.
7682
7683         * select-msw.c (mswindows_get_foreign_selection):
7684         Use TO_INTERNAL_FORMAT rather than hacking.
7685
7686 2000-07-14  Martin Buchholz  <martin@xemacs.org>
7687
7688         * process-unix.c (unix_open_multicast_group):
7689         (unix_open_multicast_group): Remove useless casts.
7690
7691 2000-07-13  Martin Buchholz  <martin@xemacs.org>
7692
7693         * sound.c (Fplay_sound): Fix `unused variable' warning.
7694
7695         * emacs.c (main): Use correct type for _environ on SCO5.
7696
7697 2000-07-12 Alastair J. Houghton <ajhoughton@lineone.net>
7698
7699         * console.h (own_selection_method):
7700         * console.h (selection_exists_p_method):
7701         * console.h (available_selection_types_method): New.
7702         * console.h (register_selection_data_type_method): New.
7703         * console.h (selection_data_type_name): New.
7704
7705         * console-msw.h (mswindows_destroy_selection): Declare it.  New
7706         function & alist to track GlobalAlloc()'d handles that need
7707         releasing when the clipboard data gets replaced or emptied.
7708
7709         * event-msw.c (mswindows_wnd_proc): Call it.
7710
7711         * lisp.h, general.c (Qappend): New symbol representing a
7712         `how-to-add' mode.
7713
7714         * select.c (own-selection-internal):
7715         * select.c (selection-exists-p):
7716         * select.c (available-selection-types): New.
7717         * select.c (register-selection-data-type): New.
7718         * select.c (selection-data-type-name): New.  New functions to deal
7719         with device-specific selection data formats.
7720         * select.c (selection-converter-out-alist): Renamed.
7721         * select.c (selection-converter-in-alist): New.
7722         * select.c (selection-appender-alist): New.  Added new alists.
7723         * select.c (syms_of_select, vars_of_select): Added new symbols &
7724         variables.
7725         * select.c (get_local_selection): Split.
7726         * select.c: Removed spurious type checking - selections may now be
7727         of any type, not just strings.
7728         * select.c (own-selection-internal):
7729
7730         * select.h, select.c (convert_selection): New. Created
7731         convert_selection() function based on get_local_selection().
7732         * select.h, select.c (QCF_*): New symbols representing mswindows
7733         clipboard formats.
7734         * select.h, select.c (Qreplace_all, Qreplace_existing): New
7735         symbols representing `how-to-add' modes.
7736
7737         * select-msw.c (x_sym_p): New.
7738         * select-msw.c (symbol_to_ms_cf): New.
7739         * select-msw.c (ms_cf_to_symbol): New. New functions to deal with
7740         symbols & clipboard formats. Can also handle string names.
7741         * select-msw.c (mswindows_own_selection):
7742         * select-msw.c (mswindows_selection_exists_p):
7743         Added `data-type' parameter. Use it.
7744         * select-msw.c (mswindows_available_selection_types): New.
7745         * select-msw.c (mswindows_register_selection_data_type): New.
7746         * select-msw.c (mswindows_selection_data_type_name): New.
7747         * select-msw.c (mswindows_own_selection):
7748         * select-msw.c (mswindows_get_foreign_selection):
7749         * select-msw.c (mswindows_selection_exists_p):  Rewrote.
7750         * select-msw.c (console_create_select_mswindows): Added new methods.
7751         * select-msw.c (mswindows_destroy_selection): New.
7752         * select-msw.c (Vhandle_alist): New list.
7753         * select-msw.c (mswindows_own_selection):
7754
7755         * select-x.c (x_own_selection):
7756         * select-x.c (x_selection_exists_p):
7757         * select-x.c: Added some comments about maybe using new
7758         functionality.
7759         * select-x.c (x_own_selection):
7760
7761         * specifier.c: Remove definition of Qappend (now in general.c)
7762         * specifier.c (syms_of_specifier): Remove Qappend.
7763
7764 2000-07-12  Martin Buchholz  <martin@xemacs.org>
7765
7766         * config.h.in: Add socklen_t.
7767
7768         * s/decosf4-0.h: No special compiler flags needed or desired.
7769         In particular, undefine _BSD for DEC OSF 4.0.
7770
7771 2000-07-07  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7772
7773         * redisplay-msw.c (msprinter_frame_output_end): Added.
7774         (console_type_create_redisplay_mswindows): Referred the above.
7775
7776         * frame.c (setup_frame_without_minibuffer): Do not create a
7777         default minibuffer frame on a printer device.
7778
7779         * frame-msw.c (apply_dc_geometry): Added.
7780         (msprinter_start_page):
7781         (msprinter_init_frame_3):
7782         (msprinter_eject_page): Use it.
7783
7784         * console-msw.h (struct msprinter_frame): Added pix_left and top,
7785         and removed residual duplex and orientation properties.
7786
7787 2000-07-11  Martin Buchholz  <martin@xemacs.org>
7788
7789         * eval.c (function_argcount): Work around a DEC CC compiler bug.
7790
7791         * unexalpha.c: Remove system prototypes from C sources!
7792
7793 2000-07-09  Adrian Aichner  <aichner@ecf.teradyne.com>
7794
7795         * eval.c: Remove references to M-x edit-options in DEFUNs for
7796         `defvar' and `defconst'.
7797
7798 2000-07-09  Martin Buchholz  <martin@xemacs.org>
7799
7800         * config.h.in: Remove SMART_INCLUDE hackery.
7801
7802         PostgreSQL hacking:
7803         * config.h.in: Don't use SMART_INCLUDE.
7804
7805         * postgresql.h: Include libpq-fe.h here.  Fix typo.
7806         * inline.c: Simply #include "postgresql.h"
7807         * postgresql.c:
7808         - Don't use SMART_INCLUDE
7809         - Use simply "const".
7810         - Use standard doc string conventions.
7811         - Use correct type for result of PQstatus.
7812
7813 2000-07-09  Martin Buchholz  <martin@xemacs.org>
7814
7815         * glyphs-x.c (x_xface_instantiate): Fix C++ compilation warnings.
7816
7817         C++ compilation changes.
7818         * config.h.in (EXTERN_C): Define.
7819         * config.h.in (not): This is also a C++ keyword.
7820         * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Enable C++ compilation.
7821         * cm.c: Use EXTERN_C.
7822         * redisplay-tty.c: Use EXTERN_C.
7823         * sysdep.c: Use EXTERN_C.  Remove Gould support.
7824
7825 2000-07-09  Martin Buchholz  <martin@xemacs.org>
7826
7827         * general.c: Remove duplicate definition for Qfunction.
7828
7829 2000-07-08  Ben Wing  <ben@xemacs.org>
7830
7831         * device-msw.c (msprinter_init_device):
7832         * device-msw.c (sync_printer_with_devmode):
7833         * device-msw.c (handle_devmode_changes):
7834         * device-msw.c (print_dialog_worker):
7835         * device-msw.c (Fmsprinter_apply_settings):
7836         * device-msw.c (hash_devmode):
7837         * device-msw.c (Fmsprinter_settings_despecialize):
7838         use Qmswindows_tstr, not Qctext.
7839
7840         * vm-limit.c (check_memory_limits):
7841         avoid infinite loop printing warning messages.
7842
7843 2000-07-05  Craig Lanning  <lanning@scra.org>
7844
7845         * Makefile.in.in: Add support for including the Windows resources
7846         when building with the cygwin and mingw targets.
7847
7848         * buffer.c: from Dan Holmsand, on Windows $PWD is most likely either
7849         not set or not correct.
7850         (directory_is_current_directory): Don't compile for WIN32_NATIVE.
7851         (init_initial_directory): Don't try to use $PWD on the
7852         WIN32_NATIVE target.
7853
7854         * s\cygwin32.h:
7855         [[Add -mwindows to eliminate console window.]] not required --ben
7856         (HAVE_NATIVE_SOUND): removed; now handled by configure.
7857         (MAIL_USE_POP): removed; now handled by configure.
7858
7859         * s\mingw32.h: [[Add -mwindows to eliminate console window.]] not in
7860         C_SWITCH_SYSTEM or it will affect lib-src progs. --ben
7861         (HAVE_NATIVE_SOUND): removed; now handled by configure.
7862         (MAIL_USE_POP): removed; now handled by configure.
7863         (ENCAPSULATE_STAT): from Dan Holmsand, added.
7864         (ENCAPSULATE_FSTAT): from Dan Holmsand, added.
7865         (DIRECTORY_SEP): from Dan Holmsand, use lisp variable instead of
7866         constant string.
7867         (HAVE_TIMEVAL): from Dan Holmsand, added; struct timeval is picked
7868         up from <winsock.h> via systime.h.
7869         (HAVE_GETPAGESIZE): from Dan Holmsand, added.
7870         (getpagesize): from Dan Holmsand, added.
7871         Added #endif which was left dangling by Ben's mega patch; added
7872         comment to help prevent this in the future.
7873
7874         * sysdll.c: added #include <windows.h> for WIN32_NATIVE case.
7875
7876 2000-07-05  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7877
7878         * console-msw.h (struct mswindows_device): Removed unnecessary
7879         cached device geometry values.
7880         Added update_tick and an accessor macro.
7881         (Lisp_Devmode): Added lrecord declaration.
7882         (struct msprinter_device): Contain devmode as a Lisp object.
7883         Added mswindows_get_selected_frame_hwnd();
7884
7885         * console.h (struct console_methods): Indentation nitpicking.
7886
7887         * device-msw.c (mswindows_init_device): Do not initialize geometry
7888         cache. Initialize update tick.
7889         (mswindows_device_system_metrics): Ask the device for its geometry.
7890         (global_free_2_maybe):
7891         (devmode_to_hglobal):
7892         (handle_printer_changes):
7893         (ensure_not_printing):
7894         (print_dialog_worker):
7895         (Fmsprinter_print_setup_dialog):
7896         (Fmsprinter_print_dialog):
7897         (plist_get_margin):
7898         (plist_set_margin):
7899         (Fmsprinter_page_setup_dialog): Added functions.
7900         (sync_printer_with_devmode):
7901         (handle_devmode_changes):
7902         (Fmsprinter_get_settings):
7903         (Fmsprinter_select_settings):
7904         (Fmsprinter_apply_settings):
7905         (allocate_devmode):
7906         (Fmsprinter_settings_copy):
7907         (Fmsprinter_settings_despecialize):
7908         (print_devmode):
7909         (finalize_devmode):
7910         (equal_devmode):
7911         (hash_devmode): Added functions
7912         (syms_of_device_mswindows): Init devmode lrecord class.
7913
7914         * device.h: Added an exfun for find-device.
7915
7916         * event-msw.c (mswindows_wnd_proc): Do not update the cached
7917         geometry; although, recreate the device compatible DC.
7918
7919         * frame-msw.c (mswindows_get_selected_frame_hwnd): Added.
7920         (msprinter_init_frame_3):
7921         (msprinter_frame_property):
7922         (msprinter_internal_frame_property_p):
7923         (msprinter_frame_properties):
7924         (msprinter_set_frame_properties): Removed 'orientation and 'duplex
7925         print job properties (will move to device settings).
7926
7927         * lisp.h: Added symbols.
7928
7929         * general.c (syms_of_general): Declared them.
7930
7931         * hash.c (string_hash): Added.
7932
7933         * lrecord.h (lrecord_type): Added devmode lrecord type.
7934
7935 2000-07-02  Mike Sperber <mike@xemacs.org>
7936
7937         * s/freebsd.h (INTERRUPTIBLE_OPEN): open *is* interruptible on
7938         FreeBSD 4.0.
7939
7940 2000-06-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
7941
7942         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
7943         integer.
7944
7945 2000-06-07  MORIOKA Tomohiko  <tomo@urania.m17n.org>
7946
7947         * data.c (Fstring_to_number): Don't recognize floating point if
7948         base is not 10.
7949
7950 2000-06-22  Martin Buchholz  <martin@xemacs.org>
7951
7952         * glyphs-widget.c (tab_control_query_geometry):
7953         (widget_query_geometry):
7954         (button_query_geometry):
7955         * glyphs.c (text_query_geometry):
7956         Enforce type correctness.
7957
7958 2000-06-18  Martin Buchholz  <martin@xemacs.org>
7959
7960         * s/decosf4-0.h (_etext): Use portable _etext instead of etext.
7961         * s/decosf4-0.h (_edata): Use portable _edata instead of edata.
7962
7963 2000-06-17  Martin Buchholz  <martin@xemacs.org>
7964
7965         * s/decosf4-0.h: Never #include "/usr/include/FOO.h" because this
7966         conflicts with gcc's fixincluded version of FOO.h.
7967
7968         * glyphs.h (image_instance_geometry): Remove trailing `,'
7969
7970 2000-06-08  Mike Alexander  <mta@arbortext.com>
7971
7972         (MAX_SHOVE_BUFFER_SIZE): Change to 512 to match stream buffer size
7973         (shove_thread): Don't write the same output twice
7974         (make_ntpipe_output_stream): Increase priority of shove thread
7975         (ntpipe_shove_writer): Call SwitchToThread to give shove thread a
7976         chance to run
7977         (ntpipe_shove_closer): Don't delete the pipe until we're done with
7978         it.
7979
7980 2000-06-12  Ben Wing  <ben@xemacs.org>
7981
7982         * s\mingw32.h (sigset):
7983         * s\windowsnt.h (sigset):
7984         rename msw_ to mswindows_ for consistency with general convention.
7985
7986 2000-06-12  Ben Wing  <ben@xemacs.org>
7987
7988         * console-msw.c:
7989         * console-msw.c (mswindows_get_console_hwnd):
7990         * console-msw.c (mswindows_ensure_console_allocated):
7991         * console-msw.c (mswindows_hide_console):
7992         * console-msw.c (mswindows_show_console):
7993         * console-msw.c (mswindows_ensure_console_buffered):
7994         * console-msw.c (mswindows_output_console_string):
7995         * console-msw.c (mswindows_windows9x_p):
7996         * console-msw.h:
7997         * device-msw.c (mswindows_get_workspace_coords):
7998         * device-msw.c (mswindows_device_system_metrics):
7999         * dialog-msw.c (mswindows_popup_dialog_box):
8000         * event-msw.c (mswindows_wnd_proc):
8001         * frame-msw.c (mswindows_size_frame_internal):
8002         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
8003         * menubar-msw.c (displayable_menu_item):
8004         * menubar-msw.c (mswindows_char_is_accelerator):
8005         * nt.c:
8006         * nt.c (mswindows_sigset):
8007         * nt.c (mswindows_sigrelse):
8008         * nt.c (mswindows_sigpause):
8009         * nt.c (mswindows_raise):
8010         * nt.c (timer_proc):
8011         * ntproc.c:
8012         * ntproc.c (find_child_console):
8013         * ntproc.c (sys_kill):
8014         * print.c:
8015         * print.c (std_handle_out_external):
8016         * process-nt.c (find_child_console):
8017         * process-nt.c (send_signal_the_95_way):
8018         * process-nt.c (ensure_console_window_exists):
8019         * process-nt.c (nt_create_process):
8020         * syssignal.h:
8021         rename msw_ to mswindows_ for consistency with general convention.
8022
8023         * emacs.c:
8024         * dumper.c:
8025         include nt.h, not syswindows.h.
8026
8027         * nt.c (mswindows_fstat):
8028         * nt.c (mswindows_stat):
8029         prefix mswindows_ instead of attempting to directly override the
8030         library functions.  fix declarations.
8031
8032         * nt.h:
8033         include syswindows.h.  move some sysdep.h stuff here.
8034
8035         * ntheap.h:
8036         include syswindows.h, not <windows.h>.
8037
8038         * ntplay.c:
8039         clean up headers.
8040
8041         * sysdep.c:
8042         clean up headers.
8043
8044         * sysdep.c (sys_fstat):
8045         * sysdep.c (sys_stat):
8046         call mswindows versions when appropriate.
8047
8048         * sysdep.h:
8049         move mswin decls to nt.h.
8050
8051         * syswindows.h:
8052         add long comment describing appropriate use of the various windows
8053         headers.
8054
8055 2000-06-11  Ben Wing  <ben@xemacs.org>
8056
8057         * device-x.c: Correct doc string for sixth arg of x-get-resource.
8058
8059 2000-06-10  Ben Wing  <ben@xemacs.org>
8060
8061         * Makefile.in.in (release):
8062         Correction to make sure xemacs.exe always dumped when correct.
8063
8064         * alloca.c:
8065         * balloon_help.c:
8066         [[[[3]]]]: Conditionalize on actual problem, not WINDOWSNT.
8067
8068         * buffer.c (set_buffer_internal):
8069         [[[[2]]]]: Remove HAVE_FEP code.
8070
8071         * buffer.c (init_initial_directory):
8072         [3].
8073
8074         * bytecode.c:
8075         [[[[4]]]]: limits.h standardly included in lisp.h; remove from
8076         individual files.
8077
8078         * callproc.c:
8079         * callproc.c (call_process_cleanup):
8080         * callproc.c (Fold_call_process_internal):
8081         * callproc.c (child_setup):
8082         * callproc.c (getenv_internal):
8083         * callproc.c (init_callproc):
8084         * callproc.c (vars_of_callproc):
8085         [[[[1]]]]: WINDOWSNT -> WIN32_NATIVE.
8086         __CYGWIN32__ -> CYGWIN.
8087         DOS_NT -> WIN32_NATIVE.
8088         Remove MSDOS support/references, converting to WIN32_NATIVE
8089           where correct.
8090         __MINGW32__ -> MINGW.
8091         Fix windows.h includes.
8092         Remove bogus HAVE_NTGUI.
8093
8094         * config.h.in:
8095         [2].
8096
8097         * console-msw.c:
8098         mswindows_message_outputted added for use in allowing startup
8099         errors on the console to be seen.
8100
8101         * console-msw.c (msw_ensure_console_allocated):
8102         * console-msw.c (msw_output_console_string):
8103         * console-msw.c (DHEADER):
8104         * console-msw.c (DOPAQUE_DATA):
8105         * console-msw.c (DEVENT):
8106         * console-msw.c (DCONS):
8107         * console-msw.c (DCONSCDR):
8108         * console-msw.c (DSTRING):
8109         * console-msw.c (DVECTOR):
8110         * console-msw.c (DSYMBOL):
8111         * console-msw.c (DSYMNAME):
8112         Fix warnings.
8113
8114         * console-stream.c (stream_init_console):
8115         Fix text/binary problems.
8116
8117         * device-msw.c:
8118         * device-msw.c (mswindows_finish_init_device):
8119         * device-msw.c (mswindows_delete_device):
8120         [1].
8121
8122         * device.c (handle_asynch_device_change):
8123         [3].
8124
8125         * dgif_lib.c:
8126         * dgif_lib.c (DGifOpenFileName):
8127         * dgif_lib.c (DGifOpenFileHandle):
8128         * dgif_lib.c (DGifGetLine):
8129         * dgif_lib.c (DGifGetPixel):
8130         Added config.h/lisp.h, fix up includes.
8131         [1].
8132
8133         * dired-msw.c:
8134         [4].
8135
8136         * dired.c:
8137         * dired.c (file_name_completion):
8138         * dired.c (Ffile_attributes):
8139         * dired.c (syms_of_dired):
8140         [1].
8141
8142         * dumper.c:
8143         * dumper.c (pdump_file_unmap):
8144         * dumper.c (pdump_load):
8145         [1].
8146
8147         * editfns.c:
8148         * editfns.c (Ftemp_directory):
8149         * editfns.c (user_login_name):
8150         * editfns.c (Fuser_real_login_name):
8151         * editfns.c (get_home_directory):
8152         [1].
8153
8154         * elhash.c (finish_marking_weak_hash_tables):
8155         [[[[5]]]]: Fix GCC warnings.
8156
8157         * emacs.c:
8158         * emacs.c (mswindows_handle_hardware_exceptions):
8159         * emacs.c (make_arg_list_1):
8160         * emacs.c (main_1):
8161         * emacs.c (Fkill_emacs):
8162         * emacs.c (Fdump_emacs):
8163         [1].
8164         Fix problems with nested crashes, add long comment.
8165
8166         * event-Xt.c (init_event_Xt_late):
8167         [1].
8168
8169         * event-msw.c:
8170         * event-msw.c (mswindows_dde_callback):
8171         * event-msw.c (mswindows_handle_sticky_modifiers):
8172         * event-msw.c (mswindows_wnd_proc):
8173         [1].
8174         [5].
8175
8176         * events.c (character_to_event):
8177         [1].
8178
8179         * fileio.c:
8180         * fileio.c (Ffile_name_directory):
8181         * fileio.c (Ffile_name_nondirectory):
8182         * fileio.c (directory_file_name):
8183         * fileio.c (Fexpand_file_name):
8184         * fileio.c (Fsubstitute_in_file_name):
8185         * fileio.c (Ffile_name_absolute_p):
8186         * fileio.c (check_executable):
8187         * fileio.c (Ffile_readable_p):
8188         * fileio.c (Ffile_accessible_directory_p):
8189         * fileio.c (Ffile_modes):
8190         * fileio.c (Funix_sync):
8191         * fileio.c (vars_of_fileio):
8192         [1]. [4].
8193
8194         [[[[7]]]]: Move CORRECT_DIR_SEPS to s\windowsnt.h.
8195
8196         Expand getdefdir defn.
8197         Fix bogus rename() comment.
8198
8199         [[[[6]]]]: Fix Windows includes w.r.t. removed nt\inc.  Attempt
8200         to use standard XEmacs include files, e.g. sysfile.h, rather
8201         than system-specific includes.
8202
8203         * fns.c:
8204         * fns.c (Fsubseq):
8205         [5]. [6].
8206
8207         * frame.c (vars_of_frame):
8208         [1].
8209
8210         * getloadavg.c:
8211         * getloadavg.c (getloadavg):
8212         [1]. [6].
8213         #ifdef XEMACS not defined on Cygwin.  Remove this; no need for it.
8214         (We don't use it elsewhere in the code; just add a comment.)
8215
8216         * gif_io.c:
8217         [6].
8218         Add config.h.
8219
8220         * glyphs-msw.c:
8221         * glyphs-msw.c (mswindows_resource_instantiate):
8222         [1].
8223
8224         * glyphs-x.c (x_native_layout_instantiate):
8225         [5].
8226
8227         * gui-msw.c (Fmswindows_shell_execute):
8228         [1].
8229
8230         * insdel.c:
8231         [4].
8232
8233         * lisp.h:
8234         [4]. [5].
8235
8236         * lread.c (locate_file_in_directory_mapper):
8237         [1].
8238
8239         * lstream.c:
8240         [4].
8241
8242         * mem-limits.h:
8243         * mem-limits.h (get_lim_data):
8244         [1].
8245
8246         * menubar-msw.c:
8247         [4].
8248
8249         * ndir.h:
8250         [1].
8251
8252         * nt.c:
8253         * nt.c (getwd):
8254         * nt.c (closedir):
8255         * nt.c (rva_to_section):
8256         * nt.c (mswindows_executable_type):
8257         [1]. [6].
8258         Fix closedir() defn.
8259
8260         * nt.h:
8261         [[[[8]]]]: *_OK defs moved to sysfile.h.
8262
8263         * ntproc.c:
8264         [6]. [7].
8265
8266         * objects-x.c:
8267         [4].
8268
8269         * print.c:
8270         * print.c (std_handle_out_external):
8271         [1]. [4].
8272
8273         * process-nt.c:
8274         * process-nt.c (nt_create_process):
8275         [6].
8276         try to fix process quoting somewhat.
8277
8278         * process-unix.c (unix_create_process):
8279         [1].
8280
8281         * process.c:
8282         * process.c (vars_of_process):
8283         Add Vnull_device.
8284
8285         * process.h:
8286         [1].
8287
8288         * realpath.c:
8289         * realpath.c (xrealpath):
8290         [1].
8291
8292         * redisplay-tty.c (init_tty_for_redisplay):
8293         [3].
8294
8295         * redisplay.c:
8296         [4]. [6].
8297
8298         * scrollbar-msw.c:
8299         [4].
8300
8301         * sheap.c:
8302         * sheap.c (more_static_core):
8303         * sheap.c (report_sheap_usage):
8304         [5]. [6].
8305
8306         * signal.c:
8307         * signal.c (alarm_signal):
8308         [1]. [6].
8309
8310         * sound.c:
8311         [6].
8312
8313         * strftime.c:
8314         * strftime.c (zone_name):
8315         [1]. [5].
8316
8317         * symsinit.h (init_sunpro):
8318         [1].
8319
8320         * syscommctrl.h:
8321         commctrl.h not in Cygwin b20.1.
8322
8323         * sysdep.c:
8324         * sysdep.c (endif):
8325         * sysdep.c (sys_subshell):
8326         * sysdep.c (init_baud_rate):
8327         * sysdep.c (emacs_get_tty):
8328         * sysdep.c (emacs_set_tty):
8329         * sysdep.c (tty_init_sys_modes_on_device):
8330         * sysdep.c (init_system_name):
8331         * sysdep.c (sys_open):
8332         * sysdep.c (interruptible_open):
8333         * sysdep.c (sys_fopen):
8334         * sysdep.c (sys_mkdir):
8335         * sysdep.c (sys_rename):
8336         * sysdep.c (get_process_times_1):
8337         [1]. [6].
8338
8339         * sysdep.h:
8340         [1].
8341
8342         * sysdir.h:
8343         * sysdir.h (DIRENTRY_NONEMPTY):
8344         [1]. [6].
8345
8346         * sysdll.c (dll_init):
8347         * sysdll.h:
8348         [1].
8349
8350         * sysfile.h:
8351         [1]. [6]. [8].
8352         added text/binary defs.
8353
8354         * sysfloat.h:
8355         [1].
8356
8357         * sysproc.h:
8358         * sysproc.h (EDESTADDRREQ):
8359         * sysproc.h (poll_fds_for_input):
8360         [1]. [6].
8361
8362         * syspwd.h:
8363         [6].
8364
8365         * syssignal.h:
8366         [1].
8367
8368         * systime.h:
8369         [1]. [6].
8370
8371         * systty.h:
8372         [1].
8373
8374         * syswindows.h:
8375         [1].
8376         Always define WIN32_LEAN_AND_MEAN.
8377
8378         * unexcw.c (unexec):
8379         [5].
8380
8381         * unexec.c:
8382         * unexec.c (copy_text_and_data):
8383         * unexec.c (adjust_lnnoptrs):
8384         [1].
8385
8386         * unexnt.c:
8387         * unexnt.c (_start):
8388         [1].
8389
8390 2000-06-07  Ben Wing  <ben@xemacs.org>
8391
8392         * mule-mcpath.c, mule-mcpath.h: Removed.  Old, crufty code that
8393         was used only as a model.  We've long since extracted any useful
8394         logic or code out of this. (I just did an exhaustive search.)
8395
8396         * s\msdos.h: Removed.
8397
8398         * s\windows95.h: Removed.
8399
8400 2000-06-10  Ben Wing  <ben@xemacs.org>
8401
8402         * s\cygwin32.h:
8403         [1]. [5].
8404         Don't use extern with fun defs.
8405
8406         * s\mingw32.h:
8407         [1]. [7].
8408         Remove nt\inc include.
8409         Remove getdisk, getdefdir. (The former is unused, the latter
8410         expanded in fileio.h.)
8411
8412         * s\windowsnt.h:
8413         * s\windowsnt.h (WIN32_NATIVE):
8414         * s\windowsnt.h (HAVE_STRCASECMP):
8415         [1]. [7].
8416         Add long comment about preprocessor changes.
8417         Remove getdisk, getdefdir. (The former is unused, the latter
8418         expanded in fileio.h.)
8419
8420 2000-06-10  Ben Wing  <ben@xemacs.org>
8421
8422         * m\arm.h:
8423         * m\delta.h:
8424         * m\intel386.h:
8425         * m\sequent.h:
8426         * m\template.h:
8427         * m\windowsnt.h:
8428         [1].
8429         Remove bogus/unused NO_SOCK_SIGIO.
8430
8431 2000-06-08  Hrvoje Niksic  <hniksic@iskon.hr>
8432
8433         * lisp.h (set_string_char): Call set_string_byte with a Bufbyte,
8434         not an Emchar.
8435
8436 2000-06-04  Mike Sperber <mike@xemacs.org>
8437
8438         * casetab.c (set_case_table): For `set-standard-case-table',
8439         actually deposit the new case tables where the rest of XEmacs can
8440         see them.
8441
8442 2000-06-05  Yoshiki Hayashi <yoshiki@xemacs.org>
8443
8444         * data.c (Faset): Don't cast XCHAR() to unsigned char.
8445
8446 2000-06-05  Ben Wing  <ben@xemacs.org>
8447
8448         * callproc.c (child_setup): Don't do close_load_descs() under
8449         MS Windows.  Put in a comment explaining why.
8450
8451 2000-05-28  Adrian Aichner  <aichner@ecf.teradyne.com>
8452
8453         * process-nt.c: Reverting patch "Fixing nt_create_process for MKS
8454         Toolkit shell" which breaks `kill-compilation' on Windows NT
8455         native, retaining STDERR handling improvements.
8456
8457 2000-06-01  Andreas Jaeger  <aj@suse.de>
8458
8459         * s/s390.h: Support for S390, based on a patch by Martin
8460         Schwidefsky <schwidefsky@de.ibm.com>.
8461
8462 2000-05-30  Andy Piper  <andy@xemacs.org>
8463
8464         * window.c (allocate_window):
8465         (make_dummy_parent):
8466         (Fset_window_configuration): use new hashtable type.
8467
8468         * glyphs.h (IMAGE_UNSPECIFIED_GEOMETRY):
8469         (struct image_instantiator_methods):
8470         (struct Lisp_Image_Instance): make instance geometry signed.
8471
8472         * glyphs.c (instantiate_image_instantiator):
8473         (image_instance_query_geometry):
8474         (image_instance_layout):
8475         (image_instance_layout):
8476         (query_string_geometry):
8477         (text_query_geometry):
8478         (image_instantiate):
8479         (image_instantiate):
8480         (cache_subwindow_instance_in_frame_maybe):
8481         (subwindow_query_geometry): make instance geometry signed.
8482
8483         * glyphs-widget.c (widget_query_geometry):
8484         (widget_layout):
8485         (button_query_geometry):
8486         (tree_view_query_geometry):
8487         (tab_control_query_geometry):
8488         (layout_query_geometry):
8489         (layout_layout):
8490         (native_layout_layout): make instance geometry signed.
8491
8492 2000-05-29  Olivier Galibert  <galibert@pobox.com>
8493
8494         * lisp.h: Add Qfull_assoc symbol and WEAK_LIST_FULL_ASSOC
8495         constant.
8496
8497         * general.c (syms_of_general): Add Qfull_assoc symbol.
8498
8499         * data.c (finish_marking_weak_lists): Mark full-assoc lists
8500         correctly.
8501         (decode_weak_list_type): Decode full-assoc type.
8502         (encode_weak_list_type): Encode full-assoc type.
8503         (Fmake_weak_list): Update doc string.
8504
8505 2000-05-30  Andy Piper  <andy@xemacs.org>
8506
8507         * elhash.h (hash_table_weakness): new KEY_VALUE weak hashtable.
8508
8509         * elhash.c (print_hash_table): new KEY_VALUE weak hashtable.
8510         (decode_hash_table_weakness): ditto.
8511         (Fhash_table_weakness): ditto.
8512         (Fhash_table_type): ditto.
8513         (finish_marking_weak_hash_tables): ditto.
8514         (hash_table_weakness_validate): ditto.
8515         (syms_of_elhash): ditto.
8516
8517 2000-05-28  Martin Buchholz <martin@xemacs.org>
8518
8519         * XEmacs 21.2.34 is released.
8520
8521 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
8522
8523         * redisplay.c (VERTICAL_CLIP): No longer reset when updating line
8524         start cache.
8525         (updating_line_start_cache): Gone.
8526         (regenerate_window): Replace resetting of VERTICAL_CLIP by
8527         generic code to force a minimum of 1 line laid out in the
8528         CMOTION_DISP case.
8529
8530 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
8531
8532         * glyphs.c (instantiate_image_instantiator): Check for initialized
8533         height & width no longer special cases IMAGE_NOTHING.
8534         (nothing_instantiate): Set height and width of instance.
8535
8536 2000-05-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
8537
8538         * unexelf.c (unexec): Search for ".data" section.
8539         Initialize new_data2_offset from old_data_index.
8540         Remove redundant check for ElfW.
8541
8542 2000-05-23  Andy Piper  <andy@xemacs.org>
8543
8544         * glyphs.c (get_image_instantiator_governing_domain): allow more
8545         specific domains as the governing domain rather than expecting an
8546         exact match. This fixes problems with layouts.
8547
8548 2000-05-22  Andy Piper  <andy@xemacs.org>
8549
8550         * redisplay-output.c (compare_runes): check for non-images
8551
8552         * glyphs.c (set_glyph_dirty_p): ditto.
8553         (update_glyph_cachel_data): ditto.
8554
8555         * glyphs-widget.c (layout_post_instantiate): ditto.
8556         (layout_post_instantiate): ditto.
8557
8558         * event-msw.c (mswindows_wnd_proc): warning removal.
8559
8560 2000-05-12  Craig Lanning  <CraigL@DyCon.com>
8561
8562         * s\mingw32.h: Added #undef for CLASH_DETECTION.
8563
8564         * syswindows.h: Moved PBS_SMOOTH definition to syscommctrl.h.
8565
8566         * syscommctrl.h (PBS_SMOOTH): Moved from syswindows.h.
8567
8568         * nt.c (rva_to_section): mingw32 needs rva_to_section.
8569         (mswindows_executable_type): mingw32 now has enough headers for
8570         this to work.
8571
8572 2000-05-20  Andy Piper  <andy@xemacs.org>
8573
8574         * console-msw.c (mswindows_output_last_error): ; -> ,
8575
8576 2000-05-12  Andy Piper  <andy@xemacs.org>
8577
8578         * console-msw.c (FROB): compare ints with ints.
8579
8580 2000-05-11  Andy Piper  <andy@xemacs.org>
8581
8582         * glyphs-x.c (x_finalize_image_instance): make minimal build
8583         happy.
8584
8585 2000-05-20  Ben Wing  <ben@xemacs.org>
8586
8587         * event-Xt.c:
8588         * event-Xt.c (vars_of_event_Xt):
8589         move modifier-keys-are-sticky to event-stream.c.
8590
8591         * event-msw.c:
8592         * event-msw.c (mswindows_enqueue_mouse_button_event):
8593         * event-msw.c (key_needs_default_processing_p):
8594         * event-msw.c (XEMSW_LCONTROL):
8595         * event-msw.c (mswindows_handle_sticky_modifiers):
8596         * event-msw.c (FROB):
8597         * event-msw.c (clear_sticky_modifiers):
8598         * event-msw.c (output_modifier_keyboard_state):
8599         * event-msw.c (output_alt_keyboard_state):
8600         * event-msw.c (mswindows_wnd_proc):
8601         * event-msw.c (mswindows_modifier_state):
8602         * event-msw.c (emacs_mswindows_handle_magic_event):
8603         implement sticky modifiers.
8604
8605         * event-stream.c:
8606         * event-stream.c (vars_of_event_stream):
8607         move modifier-keys-are-sticky here.
8608
8609         * lisp.h:
8610         add CHECK_FUNCTION.
8611
8612         * rangetab.c:
8613         implement map-range-table.
8614
8615
8616 2000-05-17  Yoshiki Hayashi  <yoshiki@xemacs.org>
8617
8618         * redisplay-tty.c (reset_tty_modes):
8619         (tty_redisplay_shutdown): Adjust argument type to
8620         tty_frame_output_end.
8621
8622 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
8623
8624         * eval.c (Fbacktrace): Don't output a line with only right
8625         parenthesis.
8626
8627 2000-05-17  Kenji Itoh  <keit@tpj.co.jp>
8628
8629         * postgresql.c (Fpq_connect_poll): Replace `PS' with `polling_status'.
8630         (Fpq_reset_poll): Ditto.
8631
8632 2000-05-16  Katsumi Yamaoka  <yamaoka@jpl.org>
8633
8634         * redisplay-tty.c: Replace tty_output_end with tty_frame_output_end.
8635
8636 2000-05-16  Ben Wing  <ben@xemacs.org>
8637
8638         * buffer.c:
8639         * buffer.c (dfc_convert_to/from_internal_format):
8640         * buffer.c (reinit_vars_of_buffer):
8641         Fix conversion functions to allow reentrancy.
8642
8643         * console-msw.c:
8644         * console-msw.c (mswindows_output_last_error):
8645         New fun, generally useful -- output a human-readable
8646         version of GetLastError() on the console.
8647
8648         * console-msw.h:
8649         * console-msw.h (struct mswindows_frame):
8650         Changes for DeferWindowPos.  Declare mswindows_output_last_error().
8651
8652         * console-stream.c (stream_output_begin):
8653         * console-stream.c (stream_output_end):
8654         * console-stream.c (stream_output_vertical_divider):
8655         * console-stream.c (stream_clear_region):
8656         * console-stream.c (stream_flash):
8657         * console-stream.c (console_type_create_stream):
8658         Delete blank stream methods, not needed.
8659
8660         * console.h (struct console_methods):
8661         Split begin/end methods into window and frame.
8662
8663         * event-msw.c:
8664         * event-msw.c (mswindows_handle_paint):
8665         * event-msw.c (output_alt_keyboard_state):
8666         * event-msw.c (mswindows_wnd_proc):
8667         * event-msw.c (vars_of_event_mswindows):
8668         Comment about problems with ignored-expose.
8669         Define mswindows-debug-events; not really implemented.
8670
8671         * frame-msw.c (mswindows_init_frame_1):
8672         random cleanups.
8673
8674         * glyphs-msw.c:
8675         * glyphs-msw.c (begin_defer_window_pos):
8676         * glyphs-msw.c (mswindows_unmap_subwindow):
8677         * glyphs-msw.c (mswindows_map_subwindow):
8678         * glyphs-msw.c (mswindows_resize_subwindow):
8679         Use DeferWindowPos to reduce flashing when mapping/unmapping.
8680
8681         * glyphs.c (make_image_instance_1):
8682         Fix crash.
8683
8684         * gutter.c (Fredisplay_gutter_area):
8685         Use new begin/end methods.
8686
8687         * lisp.h (Dynarr_new2):
8688         New creation fun.
8689
8690         * redisplay-msw.c:
8691         * redisplay-msw.c (mswindows_frame_output_begin):
8692         * redisplay-msw.c (mswindows_frame_output_end):
8693         * redisplay-msw.c (console_type_create_redisplay_mswindows):
8694         New begin/end methods -- handle DeferWindowPos.
8695
8696         * redisplay-output.c (redisplay_move_cursor):
8697         * redisplay-output.c (redraw_cursor_in_window):
8698         * redisplay-output.c (redisplay_update_line):
8699         * redisplay-output.c (redisplay_output_window):
8700         New begin/end methods.
8701
8702         * redisplay-tty.c:
8703         * redisplay-tty.c (tty_frame_output_begin):
8704         * redisplay-tty.c (tty_frame_output_end):
8705         * redisplay-tty.c (console_type_create_redisplay_tty):
8706         New begin/end methods.
8707
8708         * redisplay-x.c:
8709         * redisplay-x.c (x_window_output_begin):
8710         * redisplay-x.c (x_window_output_end):
8711         * redisplay-x.c (console_type_create_redisplay_x):
8712         New begin/end methods.
8713
8714         * redisplay.c (redisplay_frame):
8715         * redisplay.c (Fredisplay_echo_area):
8716         New begin/end methods.
8717         use MAYBE_DEVMETH for clear_frame; it may not exist.
8718
8719         * window.h (WINDOW_XFRAME):
8720         WINDOW_XFOO macros -- get locale and decode struct pointer.
8721
8722
8723 2000-05-12  Ben Wing  <ben@xemacs.org>
8724
8725         * emacs.c:
8726         * emacs.c (ensure_no_quitting_from_now_on):
8727         * emacs.c (fatal_error_signal):
8728         * emacs.c (mswindows_handle_hardware_exceptions):
8729         * emacs.c (main):
8730         * emacs.c (Fkill_emacs):
8731         * emacs.c (shut_down_emacs):
8732         * emacs.c (assert_failed):
8733         various improvements in fatal error handling.
8734
8735         * eval.c:
8736         move preparing_for_armageddon to emacs.c.
8737
8738         * lisp.h:
8739         declare fatal_error_in_progress.
8740
8741         * print.c:
8742         * print.c (std_handle_out_external):
8743         * print.c (std_handle_out_va):
8744         * print.c (stderr_out):
8745         * print.c (stdout_out):
8746         use console under mswin when no standard output.
8747         don't do code conversion during fatal error.
8748
8749         * scrollbar.c (Fscrollbar_page_up):
8750         * scrollbar.c (Fscrollbar_page_down):
8751         fix missing else.  reindent.
8752
8753 2000-05-11  Jan Vroonhof  <vroonhof@math.ethz.ch>
8754
8755         Emergency fix.
8756
8757         * glyphs.h (GLYPH_CACHEL_DESCENT):
8758         (GLYPH_CACHEL_DESCENT):
8759         (GLYPH_CACHEL_DESCENT):
8760         * glyphs.h (GLYPH_CACHEL_ASCENT): Match parameters to variables
8761         used in case these are inline functions.
8762         Use more absurd values to error check.
8763
8764         include window.h for error check functions.
8765
8766 2000-05-11  Ben Wing  <ben@xemacs.org>
8767
8768         * cmdloop.c (Freally_early_error_handler):
8769         Display message box under windows; otherwise, message will disappear
8770         before it can be viewed.
8771
8772         * console-msw.c:
8773         * console-msw.c (Fmswindows_message_box):
8774         * console-msw.c (FROB):
8775         * console-msw.c (syms_of_console_mswindows):
8776         Define new fun `mswindows-message-box'.
8777         #### I will merge this into `popup-dialog-box'; just give me
8778         a bit of time.
8779
8780         * general.c:
8781         * general.c (syms_of_general):
8782         Some new symbols used in `mswindows-message-box'.
8783
8784         * glyphs.c:
8785         * glyphs.c (Fset_image_instance_property):
8786         put warning in this fun.
8787
8788         * glyphs.h:
8789         * glyphs.h (GLYPH_CACHEL_WIDTH):
8790         * glyphs.h (GLYPH_CACHEL_ASCENT):
8791         * glyphs.h (GLYPH_CACHEL):
8792         * glyphs.h (GLYPH_CACHEL_GLYPH):
8793         define error-checking versions to try to catch a bug i've seen --
8794         redisplay gets in an infinite loop because the glyph width of the
8795         continuation glyph is 65535.
8796
8797         * lisp.h:
8798         Extern message-box stuff.
8799
8800         * window.c (allocate_window):
8801         * window.c (make_dummy_parent):
8802         * window.c (Fset_window_configuration):
8803         Use EQUAL not EQ for subwindow caches to make them work a bit
8804         better. (Something is still very broken.)
8805
8806
8807 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
8808
8809         * glyphs.c (image_instantiate): Suppress gcc warnings.
8810         (Fmake_image_instance): Fix doc string.
8811         * specifier.c (Fmake_specifier): Ditto.
8812
8813 2000-05-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
8814
8815         * paths.h.in (PATH_LOCK): Removed.
8816         * config.h.in (LOCKDIR_USER_DEFINED): Removed.
8817         * emacs.c (complex_vars_of_emacs): Remove configure-lock-directory.
8818
8819 2000-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
8820
8821         * fns.c (Ffeaturep): Update e-mail address in doc-string.
8822         Document (featurep '(and xemacs 21.02)).
8823
8824 2000-05-09  Ben Wing  <ben@xemacs.org>
8825
8826         * buffer.c (complex_vars_of_buffer):
8827         update modeline-format doc.
8828
8829         * device.h:
8830         comment about how DFW_DEVICE should be merged with DOMAIN_DEVICE.
8831
8832         * emacs.c:
8833         timeline of all released versions of Emacs, for use in creating
8834         authorship comments and in synching up.
8835
8836         * glyphs-widget.c (image_instantiator_buttons):
8837         * glyphs-widget.c (image_instantiator_edit_fields):
8838         * glyphs-widget.c (image_instantiator_combo_box):
8839         * glyphs-widget.c (image_instantiator_scrollbar):
8840         * glyphs-widget.c (image_instantiator_progress_guage):
8841         * glyphs-widget.c (image_instantiator_tree_view):
8842         * glyphs-widget.c (image_instantiator_tab_control):
8843         * glyphs-widget.c (image_instantiator_labels):
8844         * glyphs-widget.c (image_instantiator_layout):
8845         * glyphs-widget.c (image_instantiator_native_layout):
8846         rename decode_domain method to governing_domain.
8847
8848         * glyphs.c:
8849         * glyphs.c (Fvalid_image_instantiator_format_p): doc update.
8850         * glyphs.c (add_entry_to_device_ii_format_list):
8851         make sure we don't put an entry more than once into the list.
8852         * glyphs.c (check_instance_cache_mapper):
8853         *************************************************************
8854         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
8855         HAVE BEEN GETTING.
8856         *************************************************************
8857         * glyphs.c (get_image_instantiator_governing_domain):
8858         clean up, expand on new concept of governing domain.
8859         * glyphs.c (instantiate_image_instantiator):
8860         * glyphs.c (allocate_image_instance):
8861         use governing_domain instead of cache_domain in naming.
8862         * glyphs.c (Fvalid_image_instance_type_p): fix docs.
8863         * glyphs.c (make_image_instance_1):
8864         * glyphs.c (Fmake_image_instance):
8865         allow for any domain (not just device), and process the
8866         governing domain correctly.  very big doc fix.
8867         * glyphs.c (Fimage_instance_domain):
8868         new primitive, to retrieve the governing domain of an image instance.
8869         * glyphs.c (image_instantiate):
8870         use new governing_domain stuff.  this fixes a crash you could get
8871         by instantiating certain widget glyphs in frame locales. (should
8872         signal an error instead of crashing.)
8873         * glyphs.c (Fimage_specifier_p): move doc to make-image-specifier.
8874         * glyphs.c (Fglyphp): clean up doc.
8875         * glyphs.c (subwindow_governing_domain): renamed from *_decode_domain.
8876         * glyphs.c (syms_of_glyphs):
8877         declare Fimage_instance_domain, remove unused Qlayout_image_instance_p.
8878         * glyphs.c (image_instantiator_format_create): add some comments about
8879         bogus code.
8880         * glyphs.c (specifier_vars_of_glyphs): totally rewrite the doc string
8881         for current-display-table. (Apparently Hrjove implemented in 1998 a
8882         design I wrote up in 1996, but didn't update the doc string.)
8883
8884         * glyphs.h: clean up a doc string.
8885         * glyphs.h (governing_domain):
8886         * glyphs.h (struct image_instantiator_methods):
8887         changes for governing_domain stuff.
8888
8889         * gutter.c:
8890         * gutter.c (Fgutter_specifier_p):
8891         * gutter.c (Fgutter_size_specifier_p):
8892         * gutter.c (Fgutter_visible_specifier_p):
8893         * objects.c:
8894         * objects.c (Fcolor_specifier_p):
8895         * objects.c (Ffont_specifier_p):
8896         * objects.c (Fface_boolean_specifier_p):
8897         doc strings moved to make-*-specifier.
8898
8899         * redisplay.c (add_disp_table_entry_runes_1):
8900         * redisplay.c (generate_fstring_runes):
8901         * redisplay.c (screen):
8902         add random comments and doc strings.
8903
8904         * specifier.c:
8905         * specifier.c (Fmake_specifier):
8906         major overhaul of this doc string.
8907
8908         * specifier.c (Fvalid_specifier_domain_p):
8909         comment about the bogosity of image instances being domains.
8910         * specifier.c (decode_domain):
8911         now non-static, used in glyphs.c.
8912         * specifier.c (specifier_instance):
8913         comment about the bogosity of image instances being domains.
8914         * specifier.c (Fgeneric_specifier_p):
8915         move doc string to make-generic-specifier.
8916         * specifier.c (VALID_SINGLE_DISPTABLE_INSTANTIATOR_P):
8917         rebackslashify.
8918
8919         * specifier.h:
8920         * specifier.h (DOMAIN_FRAME):
8921         * specifier.h (DOMAIN_LIVE_P):
8922         * specifier.h (DOMAIN_XDEVICE):
8923         rebackslashify.
8924         add comments about problems with these macros.
8925         prototype for decode_domain.
8926
8927         * toolbar.c:
8928         * toolbar.c (Ftoolbar_specifier_p):
8929         move doc string to `make-toolbar-specifier'.
8930
8931         * window.c (window_unmap_subwindows_cache_mapper):
8932         *************************************************************
8933         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
8934         HAVE BEEN GETTING.
8935         *************************************************************
8936
8937 2000-05-09  Andy Piper  <andy@xemacs.org>
8938
8939         * glyphs.h: declare reset_frame_subwindow_instance_cache.
8940
8941         * window.c (Fset_window_configuration): reset the frame subwindow
8942         cache and re-initialize the window subwindow caches.
8943
8944         * glyphs.c (reset_frame_subwindow_instance_cache): new function.
8945
8946 2000-05-09  Ben Wing  <ben@xemacs.org>
8947
8948         * ntheap.c (recreate_heap): Changed unknown (VC6 only?) SIZE_T to
8949         DWORD.
8950
8951 2000-04-26  Mike Woolley  <mike@bulsara.com>
8952
8953         * ntheap.c: Changed recreate_heap to limit the amount reserved
8954         for the heap to that which is actually available. Also now
8955         displays a message box (with some dignostics) in the event that
8956         it still can't start.
8957
8958 2000-05-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
8959
8960         * callproc.c (Fold_call_process_internal): GCPRO path
8961
8962 2000-05-08  Jan Vroonhof  <jan@xemacs.org>
8963
8964         Patch by Bill Perry.
8965
8966         * scrollbar.c (Fscrollbar_page_up): Conditionalize on type of call
8967         back data instead of #ifdef.
8968         (Fscrollbar_page_down): ditto.
8969
8970 2000-05-07  Ben Wing  <ben@xemacs.org>
8971
8972         * buffer.h:
8973         Kludge for defining Qmswindows_tstr.
8974
8975         * nt.c:
8976         * nt.c (open_input_file):
8977         * nt.c (open_output_file):
8978         * nt.c (rva_to_section):
8979         * nt.c (mswindows_executable_type):
8980         Move all memory-mapped-file routines here (some were in unexnt.c,
8981         which is bad because they are used by process-nt.c, and unexnt
8982         won't be around when portable dumping).  Synched the above routines
8983         with FSF 20.6.
8984
8985         * nt.h:
8986         Removed ifdef'd out bogus code.
8987         Fixed some prototypes.
8988
8989         * nt.h (file_data):
8990         * nt.h (OFFSET_TO_RVA):
8991         * nt.h (RVA_TO_OFFSET):
8992         * nt.h (RVA_TO_PTR):
8993         Moved the memory-mapped-file structures, macros and prototypes
8994         here, to parallel nt.c.  ntheap.h should really be removed
8995         entirely, and it's a non-portable-dumper specific file.
8996
8997         * ntheap.h (round_to_next):
8998         Moved the memory-mapped-file structures, macros and prototypes
8999         to nt.h.
9000
9001         * ntproc.c (compare_env):
9002         Moved rva_to_section and mswindows_executable_type to nt.c.
9003         Moved compare_env to process-nt.c.
9004         ntproc.c will die, one day.
9005
9006         * ntproc.c (sys_spawnve):
9007         Account for win32_ -> mswindows_.
9008
9009         * process-nt.c:
9010         * process-nt.c (struct nt_process_data):
9011         * process-nt.c (ensure_console_window_exists):
9012         * process-nt.c (compare_env):
9013         * process-nt.c (nt_create_process):
9014         * process-nt.c (nt_kill_process_by_pid):
9015         * process-nt.c (syms_of_process_nt):
9016         * process-nt.c (vars_of_process_nt):
9017         Introduce variable `mswindows-quote-process-args', from FSF 20.6.
9018         Copy argument quoting code from FSF 20.6 (with appropriate Mule-ization
9019         changes).  Eliminate our old `nt-quote-process-args' mechanism.
9020         Synch up nt_create_process with FSF 20.6 sys_spawnve.
9021         Move compare_env here from ntproc.c.
9022
9023         * process.c (Fprocess_send_region):
9024         Takes an optional fourth argument, BUFFER, which should fix some
9025         problems with call-process.
9026
9027         * syscommctrl.h:
9028         Move ICC_BAR_CLASSES here from syswindows.h, to avoid a warning.
9029
9030         * syswindows.h:
9031         Move ICC_BAR_CLASSES to syscommctrl.h.
9032         Add preliminary macros for MSWindows/Mule.  More to come.
9033
9034         * unexnt.c:
9035         * unexnt.c (unexec):
9036         open_output_file moved to nt.c.
9037
9038
9039 2000-05-05  Andy Piper  <andy@xemacs.org>
9040
9041         * window.c (window_unmap_subwindows_cache_mapper): remove the dead
9042         instance from the frame cache also since GC may catch up too late
9043         to make frame deletion sane.
9044
9045 2000-05-04  Andy Piper  <andy@xemacs.org>
9046
9047         * glyphs-x.c (x_widget_instantiate): gcpro widget callbacks.
9048         (x_finalize_image_instance): ungcpro on deletion.
9049
9050         * glyphs.c (image_instantiator_format_create): give pointers a
9051         query geometry method so that the geometry is at least set.
9052
9053         * glyphs-x.c (image_instantiator_format_create_glyphs_x): only
9054         initialize layouts if using widgets.
9055
9056 2000-05-03  Andy Piper  <andy@xemacs.org>
9057
9058         * nt.c: remove bogus reference to sysmmsystem.h
9059
9060         * gui-x.c (popup_selection_callback): fix no selection abort.
9061
9062 2000-05-02  Andy Piper  <andy@xemacs.org>
9063
9064         * glyphs-msw.c (mswindows_update_widget): cope with nil text.
9065         (mswindows_widget_instantiate): ditto.
9066
9067         * glyphs-widget.c (initialize_widget_image_instance): initialize
9068         children correctly.
9069         (widget_instantiate): cope with children and items in the same
9070         instance.
9071
9072         * glyphs.c (mark_image_instance): cope with children as a first
9073         class member.
9074         (image_instance_equal): ditto.
9075         (image_instance_hash): ditto.
9076         (image_instance_changed): ditto.
9077
9078 2000-04-30  Andy Piper  <andy@xemacs.org>
9079
9080         * glyphs.c (subwindow_query_geometry): new function. Return some
9081         defaults.
9082         (subwindow_instantiate): don't assign dimensions if none have been
9083         given.
9084         (image_instantiator_format_create): add subwindow_query_geometry.
9085         (print_image_instance): cope with layouts as widgets.
9086
9087 2000-04-29  Andy Piper  <andy@xemacs.org>
9088
9089         * frame.c (delete_frame_internal): call
9090         free_frame_subwindow_instance_cache so that all subwindows are
9091         finalized before their parent.
9092         (mark_frame): remove subwindow_cachels.
9093         (Fmake_frame): remove subwindow_cachel manipulation.
9094         (allocate_frame_core): subwindow_instance_cache is a weak list.
9095         (delete_frame_internal): set subwindow_instance_cache to nil.
9096
9097         * glyphs-msw.c (mswindows_finalize_image_instance): make double
9098         finalization safe.
9099         (mswindows_finalize_image_instance): use the device
9100         not the domain as the domain may have died already.
9101
9102         * glyphs-x.c (x_finalize_image_instance): ditto.
9103         (x_subwindow_instantiate): remove SUBWINDOW_WIDTH &
9104         HEIGHT.
9105
9106         * redisplay-output.c (redisplay_unmap_subwindows): update for
9107         subwindow instance cache as a weak list.
9108         (redisplay_unmap_subwindows_maybe): ditto.
9109         (redisplay_unmap_subwindows_except_us): ditto.
9110
9111         * glyphs.c (unmap_subwindow): error checking will check the domain
9112         so don't deal with it here. Don't use cachels anymore.
9113         (map_subwindow): ditto.
9114         (update_subwindow_cachel_data): remove old accessor names.
9115         (subwindow_instantiate): remove SUBWINDOW_WIDTH & HEIGHT.
9116         (Fresize_subwindow): don't update cachel.
9117         (mark_subwindow_cachels):
9118         (update_subwindow_cachel_data):
9119         (add_subwindow_cachel):
9120         (get_subwindow_cachel_index):
9121         (update_subwindow_cachel):
9122         (reset_subwindow_cachels):
9123         (mark_subwindow_cachels_as_not_updated): deleted.
9124         (cache_subwindow_instance_in_frame_maybe): new function. Add a
9125         subwindow instance to the frame cache.
9126         (find_matching_subwindow): update for subwindow instance cache as
9127         a weak list.
9128         (update_widget_instances): ditto.
9129         (image_instance_type_to_mask):inlined.
9130         (free_frame_subwindow_instance_cache): new function. finalize all
9131         subwindows that are instantiated.
9132
9133         * glyphs.h (struct Lisp_Image_Instance): add display_data instead
9134         of cachel information.
9135         (IMAGE_INSTANCE_DISPLAY_X):
9136         (IMAGE_INSTANCE_DISPLAY_Y):
9137         (IMAGE_INSTANCE_DISPLAY_WIDTH):
9138         (IMAGE_INSTANCE_DISPLAY_HEIGHT):
9139         (XIMAGE_INSTANCE_DISPLAY_X):
9140         (XIMAGE_INSTANCE_DISPLAY_Y):
9141         (XIMAGE_INSTANCE_DISPLAY_WIDTH):
9142         (XIMAGE_INSTANCE_DISPLAY_HEIGHT): new accessors.
9143         remove subwindow_cachel structure and function references.
9144         (image_instance_type_to_mask): inline from glyphs.c
9145
9146         * redisplay.c (redisplay_frame): remove subwindow_cachel
9147         references.
9148
9149         * frame.h (struct frame): remove subwindow_cachels.
9150         (FRAME_SUBWINDOW_CACHE): access subwindow_instance_cache.
9151
9152         * frameslots.h: add subwindow_instance_cache.
9153
9154         * window.c (replace_window): check subwindow cache of replacement.
9155         (window_unmap_subwindows_cache_mapper):
9156         (window_unmap_subwindows): new functions. Unmap all subwindows
9157         cached on this window.
9158         (mark_window_as_deleted): unmap all subwindows.
9159
9160 2000-04-27  Andy Piper  <andy@xemacs.org>
9161
9162         * glyphs.h (IIFORMAT_METH_OR_GIVEN): cope with null meths.
9163
9164         * glyphs-widget.c (widget_layout): return something.
9165         (layout_layout): return something. Fail if not initialized.
9166         (layout_query_geometry): ditto.
9167         (image_instantiator_native_layout): new function. Initialized the
9168         native layout type.
9169         (widget_instantiate): don't do layout stuff here.
9170
9171         * glyphs.c (instantiate_image_instantiator): reorded calling or
9172         instantiate and post_instantiate with layout in between.
9173         (image_instance_layout): be more selective about deciding whether
9174         the layout has been done or not.
9175
9176         * glyphs.h (struct image_instantiator_methods): return a value
9177         from layout_method.
9178
9179 2000-04-26  Andy Piper  <andy@xemacs.org>
9180
9181         * glyphs.c (allocate_image_instance): make initial width and
9182         height unspecified. Set initialized to 0.
9183
9184         * syscommctrl.h new file. Encapsulates commctrl.h.
9185
9186         * syswindows.h new file. Encapsulates windows.h.
9187
9188         * ntplay.c: use new syswindows.h and syscommctrl.h header.
9189         * nt.c: ditto.
9190         * console-msw.h: ditto.
9191
9192         * redisplay-tty.c (tty_output_display_block): remove layout references.
9193
9194         * glyphs-msw.c (mswindows_widget_instantiate): use the domain
9195         window handle rather than just the frame.
9196
9197         * glyphs.c (mark_image_instance): remove layout references.
9198         (print_image_instance): ditto.
9199         (image_instance_equal): ditto.
9200         (image_instance_hash): ditto.
9201         (decode_image_instance_type): ditto.
9202         (encode_image_instance_type): ditto.
9203         (image_instantiate): ditto.
9204         (allocate_glyph): ditto.
9205         (Fimage_instance_height): ditto.
9206         (Fimage_instance_width): ditto.
9207         (update_subwindow): ditto.
9208
9209         * redisplay-x.c (x_output_display_block): recode for layouts as
9210         widgets.
9211
9212         * redisplay-output.c (redisplay_output_layout): recode for layouts
9213         as widgets.
9214         (compare_runes): remove layout references.
9215
9216         * redisplay-msw.c (mswindows_output_display_block): recode for
9217         layouts as widgets.
9218
9219         * glyphs-widget.c (image_instantiator_layout): remove
9220         layout_possible_dest_types.
9221         (layout_possible_dest_types): deleted.
9222
9223         * glyphs.h (image_instance_type): remove layout references.
9224         (struct Lisp_Image_Instance): ditto. Add initialized flag.
9225         (IMAGE_INSTANCE_INITIALIZED): new accessor.
9226         (XIMAGE_INSTANCE_INITIALIZED): ditto.
9227
9228 2000-04-25  Andy Piper  <andy@xemacs.org>
9229
9230         * glyphs-widget.c (image_instantiator_buttons):
9231         (image_instantiator_edit_fields):
9232         (image_instantiator_combo_box):
9233         (image_instantiator_scrollbar):
9234         (image_instantiator_progress_guage):
9235         (image_instantiator_tree_view):
9236         (image_instantiator_tab_control):
9237         (image_instantiator_labels):
9238         (image_instantiator_layout): call default post_instantiate method.
9239         (widget_post_instantiate): new function. Simply lays out the
9240         widgets.
9241
9242         * glyphs.h (struct image_instantiator_methods): add
9243         post_instantiate method.
9244
9245         * glyphs.c (instantiate_image_instantiator): add post_instantiate
9246         method calls.
9247
9248 2000-04-23  Andy Piper  <andy@xemacs.org>
9249
9250         * glyphs.h (struct image_instantiator_methods): add
9251         decode_domain_method.
9252         (struct Lisp_Image_Instance): remove subwindow frame - it can be
9253         derived from the domain.
9254         (IMAGE_INSTANCE_FRAME): new accessor.
9255         (XIMAGE_INSTANCE_FRAME): ditto.
9256
9257         * glyphs.c (print_image_instance): use IMAGE_INSTANCE_FRAME
9258         instead of _SUBWINDOW_FRAME.
9259         (finalize_image_instance): ditto.
9260         (Fimage_instance_foreground): ditto.
9261         (Fimage_instance_background): ditto.
9262         (image_instantiate): ditto.
9263         (update_subwindow_cachel): ditto.
9264         (update_subwindow): ditto.
9265         (unmap_subwindow): ditto.
9266         (map_subwindow): ditto
9267         (subwindow_instantiate): ditto.
9268         * glyphs-msw.c (mswindows_update_widget): ditto.
9269         (mswindows_progress_gauge_instantiate): ditto.
9270         (mswindows_tab_control_update): ditto.
9271         * glyphs-x.c (x_update_widget): ditto.
9272         (x_widget_instantiate): ditto.
9273         (x_tab_control_instantiate): ditto.
9274         (x_tab_control_update): ditto.
9275         * event-msw.c (mswindows_wnd_proc): ditto
9276
9277         * glyphs-widget.c (image_instantiator_layout): use
9278         subwindow_decode_domain.
9279         (image_instantiator_buttons): ditto.
9280         (image_instantiator_edit_fields): ditto.
9281         (image_instantiator_combo_box): ditto.
9282         (image_instantiator_scrollbar): ditto.
9283         (image_instantiator_progress_guage): ditto.
9284         (image_instantiator_tree_view): ditto.
9285         (image_instantiator_tab_control): ditto.
9286         (image_instantiator_labels): ditto.
9287         (image_instantiator_layout): ditto.
9288
9289         * glyphs.c: add instance error checking to many functions.
9290         (instantiate_image_instantiator): decode device from cache_domain.
9291         (image_instantiate): partially rewrite by using
9292         decode_image_instantiator_domain to determine what domain the
9293         instance needs to be cached in.
9294         (decode_image_instantiator_domain): new function. Determine what
9295         domain the image needs to be cached in.
9296         (check_window_subwindow_cache): new error checking function.
9297         (check_instance_cache_mapper): ditto.
9298         (check_image_instance_structure): ditto.
9299         (subwindow_decode_domain): new function. Encodes a window as a
9300         subwindow's cache domain.
9301         (image_instantiator_format_create): use it for text and
9302         subwindows.
9303
9304 2000-04-21  Andy Piper  <andy@xemacs.org>
9305
9306         * glyphs.c (image_instance_device): new function.
9307         (image_instance_frame): new function.
9308         (image_instance_window): new function.
9309         (image_instance_live_p): new function.
9310
9311         * window.c (mark_window_as_deleted): reset the subwindow_instance_
9312         cache to nil.
9313
9314         * glyphs.h (struct Lisp_Image_Instance): device->domain.
9315         (IMAGE_INSTANCE_DOMAIN): new accessor.
9316         (XIMAGE_INSTANCE_DOMAIN): ditto.
9317
9318         * glyphs-x.c (x_finalize_image_instance): device->domain.
9319
9320         * glyphs-msw.c (init_image_instance_geometry): device->domain.
9321         (mswindows_finalize_image_instance): ditto.
9322
9323         * glyphs-eimage.c (jpeg_instantiate): device->domain.
9324         (gif_instantiate): ditto.
9325         (png_instantiate): ditto.
9326         (tiff_instantiate): ditto.
9327
9328         * glyphs.c (instantiate_image_instantiator): use domain rather
9329         than device.
9330         (mark_image_instance): device -> domain.
9331         (print_image_instance): ditto.
9332         (finalize_image_instance): ditto.
9333         (image_instance_equal): ditto.
9334         (allocate_image_instance): ditto.
9335         (Fcolorize_image_instance): ditto.
9336         (query_string_geometry): ditto.
9337         (image_instantiate): ditto
9338         (query_string_font): ditto.
9339         (image_instantiate): ditto.
9340         (update_subwindow): ditto.
9341         (unmap_subwindow): ditto.
9342         (map_subwindow): ditto.
9343         (subwindow_instantiate): ditto.
9344
9345         * specifier.h (DOMAIN_DEVICE): new, semantically correct, decoder.
9346         (DOMAIN_FRAME): ditto.
9347         (DOMAIN_WINDOW): ditto.
9348         (DOMAIN_LIVE_P): ditto.
9349         (XDOMAIN_DEVICE): ditto.
9350         (XDOMAIN_FRAME): ditto.
9351         (XDOMAIN_WINDOW): ditto.
9352
9353         * specifier.c (Fvalid_specifier_domain_p): add image instances as
9354         a valid specifier domain.
9355
9356 2000-04-19  Andy Piper  <andy@xemacs.org>
9357
9358         * glyphs-widget.c (syms_of_glyphs_widget): remove
9359         widget-callback-current-channel.
9360         (vars_of_glyphs_widget): ditto.
9361         * glyphs.h: ditto
9362
9363         * gui.c (get_gui_callback): revert to previous behaviour.
9364
9365 2000-04-18  Andy Piper  <andy@xemacs.org>
9366
9367         * glyphs.h (struct Lisp_Image_Instance): add margin_width.
9368         (IMAGE_INSTANCE_MARGIN_WIDTH): new.
9369         (XIMAGE_INSTANCE_MARGIN_WIDTH): new.
9370
9371         * glyphs.c (image_instance_equal): add margin_width.
9372         (image_instance_hash): ditto.
9373
9374         * glyphs-widget.c (widget_instantiate): deal with margin-width.
9375         (layout_query_geometry): ditto.
9376         (layout_layout): ditto.
9377         (syms_of_glyphs_widget): add margin-width.
9378         (image_instantiator_layout): allow margin-width.
9379
9380         * glyphs.c (update_widget_instances): make a normal function.
9381         (syms_of_glyphs): remove Qupdate_widget_instances.
9382         * glyphs.h: ditto.
9383
9384         * gui-x.c (popup_selection_callback): use enqueue_magic_eval_event
9385         so that we don't corrupt ideas about the last event or
9386         command. Remove widget-callback-current-channel fiddling.
9387         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
9388
9389 2000-05-01  Martin Buchholz <martin@xemacs.org>
9390
9391         * XEmacs 21.2.33 is released.
9392
9393 2000-05-01  Yoshiki Hayashi  <yoshiki@xemacs.org>
9394
9395         * make-src-depend: Allow dots in header file name.
9396
9397 2000-05-01  Yoshiki Hayashi  <yoshiki@xmacs.org>
9398
9399         * mule-charset.h (struct charset_lookup): Add
9400         next_allocated_1_byte_leading_byte and
9401         next_allocated_2_byte_leading_byte.
9402         * mule-charset.c: Move above two variables so that those values
9403         will be dumped.
9404
9405 2000-04-26  Yoshiki Hayashi  <yoshiki@xemacs.org>
9406
9407         * insdel.c (find_charsets_in_bufbyte_string): Add Vcharset_ascii
9408         when string length is zero.
9409         (find_charsets_in_emchar_string): Ditto.
9410
9411 2000-04-29  Bjrn Torkelsson  <torkel@hpc2n.umu.se>
9412
9413         * lisp.h: extern Qdialog and Qmenubar.
9414
9415         * gui-x.c: added events.h.
9416                 also fixed typo which made the file uncompilable.
9417
9418         * general.c: Added Qmenubar and Qdialog
9419
9420 2000-04-28  Ben Wing  <ben@xemacs.org>
9421
9422         * frame-msw.c (mswindows_init_frame_1):
9423         * frame-msw.c (mswindows_mark_frame):
9424         * event-msw.c (mswindows_enqueue_dispatch_event):
9425         * console-msw.h:
9426         * console-msw.h (struct mswindows_frame):
9427         * console-msw.h (FRAME_MSWINDOWS_WIDGET_HASH_TABLE1):
9428         there are now three hash tables for callbacks.
9429         mswindows_enqueue_dispatch_event is no longer static.
9430
9431         * dialog-x.c (maybe_run_dbox_text_callback):
9432         * dialog-x.c (dbox_descriptor_to_widget_value):
9433         switch to new cons3 form for callbacks.
9434
9435         * glyphs-msw.c (mswindows_register_gui_item):
9436         * glyphs-msw.c (mswindows_widget_instantiate):
9437         * glyphs-msw.c (add_tree_item):
9438         * glyphs-msw.c (add_tab_item):
9439         new image instance parameter, so it can be passed to callback-ex.
9440         respect :callback-ex as well as :callback.
9441
9442         * glyphs-widget.c (VALID_GUI_KEYWORDS):
9443         add :callback-ex.
9444
9445         * glyphs.c (print_image_instance):
9446         prettify, e.g. now prints widget type.
9447
9448         * gui-x.h:
9449         certain funs have new image instance parameter.
9450
9451         * gui.c:
9452         * gui.c (get_gui_callback):
9453         * gui.c (gui_item_add_keyval_pair):
9454         * gui.c (gui_item_init):
9455         * gui.c (gui_add_item_keywords_to_plist):
9456         * gui.c (mark_gui_item):
9457         * gui.c (gui_item_hash):
9458         * gui.c (gui_item_equal):
9459         * gui.c (copy_gui_item):
9460         * gui.c (syms_of_gui):
9461         recognize callback-ex in a number of places.
9462         also, fix the annoying "can't get out of yes-no dialog" bug.
9463
9464         * gui.h:
9465         * gui.h (struct Lisp_Gui_Item):
9466         recognize callback-ex in a number of places.
9467
9468         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
9469         new parameter in button_item_to_widget_value.
9470
9471         * glyphs-x.c (x_update_widget):
9472         * glyphs-x.c (x_button_instantiate):
9473         * glyphs-x.c (x_button_update):
9474         * glyphs-x.c (x_progress_gauge_instantiate):
9475         * glyphs-x.c (x_edit_field_instantiate):
9476         * glyphs-x.c (x_combo_box_instantiate):
9477         * glyphs-x.c (x_tab_control_instantiate):
9478         * glyphs-x.c (x_label_instantiate):
9479         new image instance parameter in various places.
9480
9481         * event-Xt.c:
9482         * event-Xt.c (enqueue_Xt_dispatch_event):
9483         this fun gets exported.
9484
9485         * gui-msw.c:
9486         * gui-msw.c (mswindows_handle_gui_wm_command):
9487         handle both :callback and :callback-ex, and generate our own
9488         event because it's one of the callback-ex arguments.
9489
9490         * gui-x.c:
9491         * gui-x.c (popup_selection_callback):
9492         handle both :callback and :callback-ex, and generate our own
9493         event because it's one of the callback-ex arguments.
9494         * gui-x.c (button_item_to_widget_value):
9495         * gui-x.c (gui_items_to_widget_values_1):
9496         * gui-x.c (gui_item_children_to_widget_values):
9497         * gui-x.c (gui_items_to_widget_values):
9498         new image instance parameter in various places.
9499
9500         * fns.c (Freplace_list):
9501         fix small typo in doc string.
9502
9503         * lisp.h:
9504         declare enqueue_Xt_dispatch_event.
9505
9506 2000-04-28  Ben Wing  <ben@xemacs.org>
9507
9508         * buffer.c:
9509         * buffer.c (Frecord_buffer):
9510         * buffer.c (syms_of_buffer):
9511         delete record-buffer-hook.
9512
9513         * fns.c:
9514         * fns.c (Freplace_list):
9515         * fns.c (syms_of_fns):
9516         new primitive replace-list.
9517
9518         * frameslots.h:
9519         slot for old buffer-alist.
9520
9521         * lisp.h:
9522         exfun replace-list.
9523
9524         * redisplay.c:
9525         * redisplay.c (redisplay_frame):
9526         * redisplay.c (syms_of_redisplay):
9527         * redisplay.c (vars_of_redisplay):
9528         new hook buffer-list-changed-hook.
9529         call it.
9530
9531 2000-04-27  Ben Wing  <ben@xemacs.org>
9532
9533         * extents.h: extern in_modeline_generation.
9534
9535         * redisplay.c (generate_formatted_string_db): set
9536         in_modeline_generation.
9537
9538         * extents.c (extent_changed_for_redisplay): don't mark redisplay
9539         flags if in modeline generation.  otherwise frame-modified-tick
9540         is ticked far too often.
9541         Declare in_modeline_generation.
9542
9543 2000-04-26  Ben Wing  <ben@xemacs.org>
9544
9545         * emacs.c (vars_of_emacs): document quick-build "error-checking"
9546         option.
9547         (vars_of_emacs): add quick-build as an error-checking option.
9548         A bit kludgy, but there doesn't seem much point in creating
9549         a real var for this.
9550
9551         * config.h.in: put in an entry for QUICK_BUILD; remove NO_DOC_FILE.
9552
9553 2000-04-14  IKEYAMA Tomonori  <tomonori@suiyokai.org>
9554
9555         * redisplay.h (struct display_line): Add a new variable,
9556         line_continuation.
9557
9558         * redisplay.c (create_text_block): Set dl->line_continuation if
9559         the line continues.
9560         (create_string_text_block): Ditto.
9561         (regenerate_window_incrementally): Use line_continuation instead
9562         of searching continuation glyph.
9563         (add_margin_runes): Call add_glyph_rune.
9564         (add_glyph_rune): Handle margin glyph.
9565
9566 2000-04-20  Martin Buchholz  <martin@xemacs.org>
9567
9568         * filelock.c (fill_in_lock_file_name):
9569         ANSIfy.
9570         Check for IS_ANY_SEP instead of '/'.
9571         (lock_file_1):
9572         Avoid generating gratuitous garbage.  Call user_login_name() directly.
9573         Never check errno without first seeing that system call failed.
9574         (unlock_file): Add GCPRO.
9575         (Flock_buffer): Fix docstring.
9576         (Ffile_locked_p): Fix docstring.  Add GCPRO.
9577
9578 2000-04-19  Martin Buchholz  <martin@xemacs.org>
9579
9580         * sysdep.c (get_pty_max_bytes):
9581         Fix hangs on DEC OSF 4.0 when (process-send-string) sends
9582         strings longer than 252 bytes.
9583
9584         * md5.c: Unconditionally include ANSI header <limits.h>
9585
9586         * glyphs-x.c (convert_EImage_to_XImage):
9587         * lisp-union.h (union Lisp_Object):
9588         Use consistently the syntax #ifdef FEATURE, not #if FEATURE.
9589
9590 2000-04-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
9591
9592         * filelock.c (current_lock_owner): Remove unused variable o, p.
9593
9594 2000-04-17  Norbert Koch  <n.koch@eai-delta.de>
9595
9596         * callint.c: Remove multiply defined symbol Qlet
9597         (syms_of_callint): ditto.
9598
9599 2000-04-14  Andy Piper  <andy@xemacs.org>
9600
9601         * general.c (syms_of_general): add last-command, this-command, let
9602         and funcall.
9603
9604         * lisp.h: declare various symbols.
9605
9606         * glyphs.h: declare Qwidget_callback_current_channel;
9607
9608         * glyphs-widget.c (syms_of_glyphs_widget): add
9609         Qgui_callback_current_channel.
9610         (vars_of_glyphs_widget): add Vgui_callback_current_channel.
9611
9612         * gui-msw.c (mswindows_handle_gui_wm_command): bind
9613         widget-callback-current-channel when invoking the interactive
9614         arg. Also bind last-command and next-command when invoking the
9615         widget updates.
9616         * gui-x.c (popup_selection_callback): ditto.
9617
9618         * gui.c (get_gui_callback): massage args so that we are always
9619         calling eval. This allows us to add our own variable bindings
9620         outside.
9621
9622         * glyphs-x.c (x_button_instantiate): use
9623         gui_items_to_widget_values since this is GC safe.
9624         (x_progress_gauge_instantiate): ditto.
9625         (x_edit_field_instantiate): ditto.
9626         (x_label_instantiate): ditto.
9627
9628         * event-Xt.c (emacs_Xt_handle_magic_event): remove old printfs.
9629         (emacs_Xt_event_widget_focus_out): new function
9630         (emacs_Xt_event_widget_focus_in): new function. Set the keyboard
9631         focus.
9632         (emacs_Xt_event_add_widget_actions): new function. add focus
9633         functions as actions.
9634         (init_event_Xt_late): use it.
9635
9636 2000-04-14  Hrvoje Niksic  <hniksic@iskon.hr>
9637
9638         * event-stream.c (Fdispatch_event): Doc fix.
9639
9640 2000-03-29  SL Baur  <steve@musashimaru.m17n.org>
9641
9642         * postgresql.c: Remove all references to PQsetenv*.
9643
9644         * postgresql.h: Remove references to PGsetenvHandler object.
9645         * lrecord.h (lrecord_type): Ditto.
9646
9647 2000-04-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
9648
9649         * glyphs-msw.h (struct mswindows_image_instance_data): Added
9650         real_heigh and real_width members, and accessor macros for these.
9651
9652         * glyphs-msw.c (init_image_instance_geometry): New function.
9653         (init_image_instance_from_dibitmap): Use it.
9654         (mswindows_resource_instantiate): Use it.
9655         (init_image_instance_from_xbm_inline): Use it.
9656         (mswindows_initialize_image_instance_mask): Use real bitmap
9657         geometry.
9658         (mswindows_create_resized_bitmap): Ditto.
9659         (mswindows_create_resized_mask): Ditto.
9660
9661         * redisplay-msw.c (mswindows_output_dibitmap): Stretch real mask
9662         and bitmap to their surface size.
9663
9664 2000-04-11  Jan Vroonhof  <jan@xemacs.org>
9665
9666         * process-unix.c (unix_send_process): Guard against process MIA
9667         after Faccept_process_output.
9668
9669 2000-04-11  Ben Wing  <ben@xemacs.org>
9670
9671         * eval.c (unbind_to_hairy): fix brokenness introduced by
9672         nanosecond speed improvements.
9673
9674 2000-04-07  Raymond Toy  <toy@rtp.ericsson.se>
9675
9676         * sunplay.c (init_device): To play sounds correctly, the device
9677         apparently needs to be initialized at least once by XEmacs.  Make
9678         it so.
9679
9680 2000-04-10  IKEYAMA Tomonori  <tomonori@suiyokai.org>
9681
9682         * redisplay.c (add_margin_runes): Add text image glyph
9683           handling.
9684
9685 2000-04-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
9686
9687         * lisp.h (DOESNT_RETURN): Don't declare as volatile when
9688         gcc is newer than 2.5.
9689
9690 2000-04-06  Colin Rafferty  <colin@xemacs.org>
9691
9692         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF): Created.
9693
9694         * fns.c (size_bit_vector):
9695         * alloc.c (size_vector):
9696         (make_vector_internal):
9697         (make_bit_vector_internal):
9698         (sweep_bit_vectors_1):
9699         Replace calls to offsetof with FLEXIBLE_ARRAY_STRUCT_SIZEOF macro.
9700
9701 2000-04-06  Andy Piper  <andy@xemacs.org>
9702
9703         * gmalloc.c (malloc): undo previous change.
9704         (malloc): ditto.
9705         (free): ditto.
9706         (realloc): ditto.
9707
9708 2000-04-06  IKEYAMA Tomonori <tomonori@suiyokai.org>
9709
9710         * line-number.c (buffer_line_number): Revert to former version.
9711
9712 2000-04-06  Andy Piper  <andy@xemacs.org>
9713
9714         * gmalloc.c (malloc): add error checking.
9715         (malloc): ditto.
9716         (free): ditto.
9717         (realloc): ditto.
9718
9719         * dialog-x.c (dbox_descriptor_to_widget_value): add extra
9720         button_item_to_widget_value arg.
9721
9722         * glyphs-x.c (x_button_instantiate): add extra
9723         button_item_to_widget_value arg.
9724         (x_progress_gauge_instantiate): ditto.
9725         (x_edit_field_instantiate): ditto.
9726         (x_label_instantiate): ditto.
9727
9728         * gui-x.c (gui_items_to_widget_values_1): add extra
9729         button_item_to_widget_value arg.
9730         (button_item_to_widget_value): add extra menu_item_p arg.
9731
9732         * gui-x.h: change signature of button_item_to_widget_value.
9733
9734         * menubar-x.c (menu_item_descriptor_to_widget_value_1): add extra
9735         button_item_to_widget_value arg.
9736
9737 2000-04-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
9738
9739         * buffer.h (struct buffer): auto_save_modified should be long.
9740
9741 2000-04-05  Andy Piper  <andy@xemacs.org>
9742
9743         * glyphs-widget.c (widget_instantiate): pixwidth != pixheight
9744         type.
9745         (button_query_geometry): give a little more room so that athena
9746         buttons fit.
9747
9748 2000-04-05  Andy Piper  <andy@xemacs.org>
9749
9750         * faces.c (complex_vars_of_faces): The widget face should inherit
9751         the font of the gui-element face.
9752
9753 2000-04-04  Andy Piper  <andy@xemacs.org>
9754
9755         * glyphs-x.c (x_button_update): new function. unconditionally
9756         update a button's state when the instance is dirty.
9757         (image_instantiator_format_create_glyphs_x): add x_button_update.
9758         (x_widget_instantiate): remove old resize cruft.
9759
9760 2000-04-02  Andy Piper  <andy@xemacs.org>
9761
9762         * frame.c (change_frame_size_1): The introduction of gutters means
9763         that we need to allow 0 as a potential frame dimension.
9764
9765 2000-04-02  IKEYAMA Tomonori  <tomonori@suiyokai.org>
9766
9767         * redisplay.c (add_glyph_rune): Don't set 0 to bufpos for text
9768         image glyph if allow_cursor.
9769         (add_hscroll_rune): Don't allow cursor to border glyph.
9770         (create_text_block): Ditto.
9771
9772         * redisplay-output.c (redisplay_move_cursor): Do nothing even if
9773         text not in buffer.
9774         (redisplay_output_layout): Call ensure_face_cachel_complete for
9775         text image glyph.
9776
9777
9778 2000-03-16  IKEYAMA Tomonori  <tomonori@suiyokai.org>
9779
9780         * redisplay.c (add_glyph_rune): Adding text image as text runes.
9781
9782         * redisplay-output.c (redisplay_move_cursor): NO_CURSOR if text
9783         not in buffer
9784
9785         * redisplay-tty.c (tty_output_display_block): Delete the routine
9786         for text image glyph
9787         * redisplay-x.c (x_output_display_block): ditto
9788         * redisplay-msw.c (mswindows_output_display_block): ditto
9789
9790 2000-02-02  Mike Alexander  <mta@arbortext.com>
9791
9792         Note: Some of these were committed by accident as part of other
9793         patches.
9794
9795         * regex.c (regex_compile): Avoid compiler warnings.
9796
9797         * ntproc.c (sys_spawnve): Avoid compiler warnings.
9798
9799         * nt.h: Declare term_ntproc correctly.
9800
9801         * nt.c: Remove incorrect declaration of get_home_directory which
9802         is declared correctly in lisp.h.
9803
9804         * keymap.c (get_keyelt): Avoid compiler warnings.
9805         (raw_lookup_key_mapper): Avoid compiler warnings.
9806
9807         * gutter.c (gutter_was_visible): Add return statement to avoid warning.
9808
9809         * glyphs-eimage.c (png_instantiate): Avoid compiler warnings.
9810
9811         * filemode.c (mode_string): Avoid compiler warnings.
9812
9813         * file-coding.c (Fcoding_system_aliasee): Add return statement to
9814         avoid warning.
9815
9816         * events-mod.h: Undef some things that winuser.h defines differently.
9817
9818         * data.c (Faset): Avoid compiler warnings.
9819
9820         * alloc.c (Fmake_byte_code): Avoid compiler warnings.
9821
9822 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
9823
9824         * sound.c (Fplay_sound_file): Wrap ESD in start/stop_interrupts.
9825         Fall through to simple beep on error.
9826         Replace "extern" by real header file.
9827
9828         * linuxplay.c: Use nativesound.h
9829         (play_sound_data): Return error code. Be less verbose on error.
9830
9831         * sunplay.c: Use nativesound.h
9832         (play_sound_data): Return error code. Be less verbose on error.
9833
9834         * ntplay.c: Use nativesound.h
9835         (play_sound_data): Return fake error code
9836
9837         * sgiplay.c: Use nativesound.h
9838         (play_sound_data): Return error code
9839
9840         * hpplay.c: Use nativesound.h, partially implement
9841         new error code. Break compilation until finished.
9842         (play_sound_data): error code.
9843
9844         * nativesound.h (play_sound_file):
9845           (play_sound_data): Prototype in new header.
9846
9847 2000-03-31  Andy Piper  <andy@xemacs.org>
9848
9849         * glyphs-widget.c: (button_query_geometry): new function. Adjust
9850         for toggle and radio buttons.
9851         (image_instantiator_buttons): use it.
9852
9853 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
9854
9855         * scrollbar-x.c (x_update_vertical_scrollbar_callback):
9856         (x_update_horizontal_scrollbar_callback): Return if no mirror was
9857         found. Scrollbar event probably belonged to some old config.
9858
9859 2000-03-31  Andy Piper  <andy@xemacs.org>
9860
9861         * glyphs-widget.c (widget_instantiate): use LAYOUT_VERTICAL rather
9862         than 1.
9863         (initialize_widget_image_instance): default layout to
9864         LAYOUT_HORIZONTAL rather than 0.
9865         (widget_instantiate): reverse the item list at the end rather than
9866         every iteration.
9867         (layout_layout): re-code for the border text at the front of the
9868         item list rather than at the end.
9869         (layout_query_geometry): ditto. Pick up fixed and dynamic sizes
9870         provided by the user.
9871         (widget_query_geometry): comment.
9872
9873 2000-03-30  Andy Piper  <andy@xemacs.org>
9874
9875         * glyphs-widget.c (image_instantiator_layout): allow standard
9876         widget keywords in layouts.
9877
9878         * gutter.c (output_gutter): cope with nil gutter contents.
9879
9880         * frame.c (Fset_frame_properties): add gutter docs.
9881
9882 2000-03-29  Andy Piper  <andy@xemacs.org>
9883
9884         * toolbar-msw.c (TBSTYLE_FLAT): add.
9885         (mswindows_output_toolbar): minor fiddling.
9886
9887 2000-03-29  Andy Piper  <andy@xemacs.org>
9888
9889         * gutter.c (output_gutter): force gutter size recalculation if
9890         what we are trying to display won't fit.
9891         (update_gutter_geometry): new function. A per-gutter version of
9892         update_frame_gutter_geometry.
9893         (update_frame_gutter_geometry): use it.
9894         (redraw_exposed_gutter): add extra debugging output.
9895
9896 2000-03-28  Mike Alexander  <mta@arbortext.com>
9897
9898         * dumper.c: Declare pdump_hFile and pdump_hMap (Windows only)
9899         (pdump_file_unmap): Implement it on Windows
9900         (pdump_file_get): Save alocated handles for pdump_file_unmap
9901
9902 2000-03-28  Andy Piper  <andy@xemacs.org>
9903
9904         * gui.c (get_gui_callback): treat Quit specially.
9905
9906 2000-03-27  Andy Piper  <andy@xemacs.org>
9907
9908         * glyphs.c (image_instantiate): be careful to check in the same
9909         way we assigned.
9910
9911 2000-03-27  Didier Verna  <didier@xemacs.org>
9912
9913         * config.h.in: define the proper SMART_INCLUDE macro.
9914         handle renaming of `foo_h_path' to `foo_h_file'.
9915
9916         * database.c: ditto.
9917
9918         * emacs.c: ditto.
9919
9920         * linuxplay.c: ditto.
9921
9922         * terminfo.c: ditto.
9923
9924         * tooltalk.h: ditto.
9925
9926 2000-03-27  Andy Piper  <andy@xemacs.org>
9927
9928         * glyphs-msw.c (mswindows_update_widget): make sure the widget
9929         gets updated whenever the face might have changed.
9930
9931 2000-03-26  Mike Alexander  <mta@arbortext.com>
9932
9933         * dumper.c (pdump_resource_free): Fix the comment.
9934
9935 2000-03-21  Olivier Galibert  <galibert@pobox.com>
9936
9937         * input-method-xlib.c (XIM_init_frame): Remove painful warning.
9938
9939 2000-03-22  Mike Alexander  <mta@arbortext.com>
9940
9941         * dumper.c: Include Windows headers on Windows
9942         (pdump_resource_free): Add a body to the function
9943         (pdump_load): exe_name -> exe_path and add some comments.
9944
9945 2000-03-25  Mike Alexander  <mta@arbortext.com>
9946
9947         * gui.c (copy_gui_item_tree): Return a value in all cases
9948
9949 2000-03-21  Didier Verna  <didier@xemacs.org>
9950
9951         * config.h.in: move INCLUDE_GLUE_1 and INCLUDE_GLUE_2 here from
9952         lwlib/config.h.in.
9953         (SMART_INCLUDE): new macro.
9954         (POSTGRES_INCLUDE): new macro to include postgresql headers from
9955         the proper location.
9956
9957         * postgresql.c: use it.
9958
9959         * inline.c: ditto.
9960
9961 2000-03-24  Andy Piper  <andy@xemacs.org>
9962
9963         * gutter.c (redraw_exposed_gutters): must be "in display" when we
9964         do this.
9965
9966 2000-03-24  Andy Piper  <andy@xemacs.org>
9967
9968         * redisplay-output.c (compare_runes): use image_instance_changed
9969         to detect changes. Do not depend on glyphs_changed, only depend on
9970         dirtiness.
9971          (redisplay_output_layout): add debug messages.
9972         (compare_runes): ditto.
9973
9974         * glyphs.h: declare new functions.
9975         (struct Lisp_Image_Instance): remove percent and associated
9976         accessors.
9977
9978         * gui.h: declare new copying functions.
9979
9980         * gui.c (copy_gui_item_tree): new function.
9981         (copy_gui_item): new function.
9982         (gui_item_id_hash): revert to standard hash.
9983         (gui_item_hash): ditto.
9984         (gui_item_hash_internal): deleted.
9985         (mark_gui_item): mark value.
9986         (gui_item_add_keyval_pair): add value.
9987         (gui_item_init): ditto.
9988         (gui_add_item_keywords_to_plist): ditto.
9989         (gui_item_equal): ditto.
9990         (syms_of_gui): add Q_value.
9991
9992         * glyphs-x.c (x_progress_gauge_update): use pending items and
9993         value for setting the state.
9994         (x_update_widget): don't set items from pending here.
9995
9996         * glyphs-widget.c (update_widget): update items here.
9997         (progress_gauge_set_property): use items for storing value. Put
9998         new value in pending items.
9999
10000         * glyphs-msw.c (mswindows_progress_gauge_update): use pending
10001         items for new value. Convert percent -> value.
10002         (mswindows_tab_control_update): don't update items here.
10003
10004         * glyphs.c (Fupdate_widget_instances): use image_instance_changed.
10005         (update_subwindow): ditto.
10006         (image_instance_changed): new function. Compare hash values and
10007         past and present widget items.
10008         (image_instantiate): We more careful about where we instantiate
10009         things.
10010         (image_instantiate): add error checking.
10011
10012         * gutter.c (syms_of_gutter): use -hook.
10013
10014 2000-03-20  Yoshiki Hayashi  <yoshiki@xemacs.org>
10015
10016         * console-tty.c (Fset_console_tty_input_coding_system): Use
10017         Qkeyboard.
10018         (Fset_console_tty_output_coding_system): Use Qterminal.
10019         (tty_init_console): Use Qkeyboard and Qterminal.
10020
10021 2000-03-21  Ben Wing  <ben@xemacs.org>
10022
10023         * ntproc.c (create_child): remove bogus HAVE_NTGUI's.
10024         From Mike Alexander <mta@arbortext.com>.
10025
10026 2000-03-21  Ben Wing  <ben@xemacs.org>
10027
10028         * event-msw.c (mswindows_need_event): Horrible kludge to fix
10029         process brokenness.  Proper implementation to come.
10030         * callproc.c:
10031         Rename call-process-internal to old-call-process-internal.
10032         New impl. in process.el.
10033
10034 2000-03-21  Martin Buchholz  <martin@xemacs.org>
10035
10036         * Makefile.in.in: Coalesce HAVE_NATIVE_SOUND code fragments.
10037
10038 2000-03-20  Andy Piper  <andy@xemacs.org>
10039
10040         * glyphs.c (full_list_hash): make hashes of the same elements in
10041         different orders return different values.
10042
10043 2000-03-20  Martin Buchholz <martin@xemacs.org>
10044
10045         * XEmacs 21.2.32 is released.
10046
10047 2000-03-20  Martin Buchholz  <martin@xemacs.org>
10048
10049         * buffer.h (DFC_ALLOCA_USE_CONVERTED_DATA):
10050         (DFC_MALLOC_USE_CONVERTED_DATA):
10051         Add aliasing-safe casts to allow use with char* or unsigned char*
10052         lvalues.
10053
10054         * eldap.c (Fldap_open):
10055         (Fldap_search_basic):
10056         (Fldap_add):
10057         (Fldap_modify):
10058         Make C++-compilable.
10059         Make sure GCPRO'ed variables are initialized.
10060         Use temp variables to avoid repeated calls to Flength.
10061
10062 2000-03-16  Martin Buchholz  <martin@xemacs.org>
10063
10064         * sysfile.h:
10065         Make sure PATH_MAX is always defined.
10066         Include limits.h for PATH_MAX.
10067         Deprecate use of MAXPATHLEN.
10068
10069 2000-03-10  Martin Buchholz  <martin@xemacs.org>
10070
10071         * emacs.c: Add reinit_vars_of_fileio.
10072         * symsinit.h: Add reinit_vars_of_fileio.
10073         * fileio.c (reinit_vars_of_fileio): New.
10074         * fileio.c (Fmake_temp_name):
10075         Initialize temp_name random number from microseconds to make
10076         collisions even less likely.  Initialize always at process startup
10077         time.  (make-temp-name) used to return the same file name twice in
10078         a row when PDUMP.
10079         Random stylistic fiddling.
10080         Comment fixes.
10081
10082 2000-03-20  Andy Piper  <andy@xemacs.org>
10083
10084         * glyphs.c (image_instantiate): allow text glyphs to be
10085         instantiated in the minibuffer window.
10086
10087 2000-03-19  Andy Piper  <andy@xemacs.org>
10088
10089         * glyphs.c (image_instance_hash): be careful about which items we
10090         hash on.
10091
10092         * glyphs-widget.c (tab_control_set_property): record into pending
10093         items rather than the actual items.
10094
10095         * glyphs-x.c (x_update_widget): use pending items to update with.
10096
10097         * glyphs-msw.c (mswindows_tab_control_update): use pending items
10098         to update with.
10099
10100         * glyphs.c (mark_image_instance): mark pending items.
10101
10102         * window.c (Fset_window_configuration): record the buffer.
10103         (Fselect_window): totally revert previous change which breaks many
10104         things.
10105
10106 2000-03-18  Andy Piper  <andy@xemacs.org>
10107
10108         * glyphs-msw.c (mswindows_tab_control_update): force selected
10109         item.
10110
10111         * glyphs.c (image_instantiate): don't allow the minibuffer as a
10112         window domain cache, otherwise we get inconsistencies at
10113         startup. There is something fishy at startup which can lead to the
10114         minibuffer being the selected window when the gutter content is
10115         instantiated.
10116
10117         * gui.c (parse_gui_item_tree_list): add probably unnecessary
10118         gcpros.
10119         (parse_gui_item_tree_children): ditto.
10120         (parse_gui_item_tree_item): ditto.
10121
10122         * glyphs.c (Fupdate_widget_instances): return something.
10123
10124 2000-03-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
10125
10126         * window.c (Fselect_window): Undo 2000-03-17 change.
10127
10128 2000-03-17  SL Baur  <steve@musashimaru.m17n.org>
10129
10130         * postgresql.c (Fpq_setenv): Remove this turkey when linking
10131         against v7.0 libraries.  Insta-coredump city until the postgres
10132         folks fix it.
10133
10134 2000-03-17  Andy Piper  <andy@xemacs.org>
10135
10136         * faces.c (complex_vars_of_faces): don't give the widget face an
10137         inherited background pixmap.
10138
10139         * glyphs-msw.c (mswindows_tab_control_instantiate): select the
10140         selected item.
10141
10142         * event-stream.c (Fdispatch_non_command_events): return something.
10143
10144         * gutter.c (output_gutter): use widget face.
10145         (clear_gutter): ditto.
10146
10147         * NEWS: adjust again.
10148
10149         * window.c (Fselect_window): make sure this runs to completion to
10150         avoid oddities with Fset_window_configuration.
10151         (Fcurrent_window_configuration): in general do not save the
10152         minibuffer as the selected window.
10153
10154         * glyphs.h (IMAGE_INSTANCE_HASH_DEPTH): increase.
10155
10156 2000-03-16  Olivier Galibert  <galibert@pobox.com>
10157
10158         * emacs.c (Frunning_temacs_p): Revert previous patch.
10159         (main_1): Reinitialize running_temacs_argc if pdump_load succeeds.
10160
10161 2000-03-16  Andy Piper  <andy@xemacs.org>
10162
10163         * glyphs-x.c (x_tab_control_update): if no widget values then
10164         return.
10165
10166         * NEWS: update for new features.
10167
10168         * event-Xt.c (emacs_Xt_force_event_pending): new function. Post a
10169         synthetic event to the native system.
10170         (reinit_vars_of_event_Xt): set force_event_pending to
10171         emacs_Xt_force_event_pending.
10172
10173         * events.h (struct event_stream): add force_event_pending.
10174
10175         * specifier.c (recompute_one_cached_specifier_in_window): add
10176         comment.
10177
10178         * redisplay.c (redisplay_frame): don't call
10179         update_frame_subwindows. Reset subwindow cachels when
10180         subwindows_changed, removing this was an optimization too far.
10181
10182         * redisplay-output.c (compare_runes): reorganize so that we catch
10183         glyph changes when we want them. Set optimize_output when this
10184         would help layouts.
10185         (redisplay_output_layout): remove frame_really_changed, use
10186         optimize_output instead.
10187
10188         * redisplay-msw.c (mswindows_output_display_block): reset
10189         optimize_output after outputting a glyph.
10190         * redisplay-x.c (x_output_display_block): ditto.
10191         * redisplay-tty.c (tty_output_display_block): ditto.
10192
10193         * gutter.c: (specifier_vars_of_gutter): use new spec changed
10194         functions.
10195         (gutter_specs_changed): do specific gutter positions.
10196         (top_gutter_specs_changed): new function. Only update the
10197         specified gutter specs.
10198         (bottom_gutter_specs_changed): ditto.
10199         (left_gutter_specs_changed): ditto.
10200         (right_gutter_specs_changed): ditto.
10201
10202         * gui.c (gui_item_hash_internal): new function, does a real hash.
10203         (gui_item_id_hash): use it.
10204         (gui_item_hash): hash the eval'ed gui_item.
10205
10206         * gui-x.c (popup_selection_callback): send an eval event to call
10207         Fupdate_widget_instances.
10208
10209         * gui-msw.c (mswindows_handle_gui_wm_command): send an eval event
10210         to call Fupdate_widget_instances.
10211
10212         * glyphs.h (struct Lisp_Image_Instance): add optimize_output flag.
10213         (IMAGE_INSTANCE_OPTIMIZE_OUTPUT): access it.
10214
10215         * glyphs.c: (update_frame_subwindows): deleted.
10216         (Fupdate_widget_instances): new function for updating the dirty
10217         state of widgets that might have changed.
10218         (syms_of_glyphs): add Qupdate_widget_instances.
10219         (full_list_hash): hash a list completely.
10220         (image_instance_hash): use it for items and properties.
10221
10222         * frame-msw.c (mswindows_size_frame_internal): remove unused
10223         variable.
10224
10225         * faces.h (struct face_cachel): fix comment.
10226
10227         * event-stream.c (Fdispatch_non_command_events): new
10228         function. Process non-command events, forcing an event cycle
10229         beforehand.
10230         (syms_of_event_stream): declare.
10231         (event_stream_force_event_pending): new function. Force an event
10232         on the native event queue so that an event cycle will occur next
10233         time we check.
10234
10235         * event-msw.c:
10236         (struct ntpipe_shove_stream):
10237         (mswindows_enqueue_dispatch_event):
10238         (mswindows_dequeue_dispatch_event):
10239         (mswindows_cancel_dispatch_event):
10240         (mswindows_pump_outstanding_events):
10241         (mswindows_drain_windows_queue):
10242         (mswindows_handle_paint):
10243         (mswindows_wnd_proc):
10244         (mswindows_key_to_emacs_keysym):
10245         (get_process_input_waitable):
10246         (emacs_mswindows_delete_stream_pair): re-indent file.
10247         (mswindows_need_event): do not process further fds if the windows
10248         fd is set, otherwise you get endless XM_BUMPQUEUE cycles. This
10249         fixes the 100% cpu problem.
10250         (reinit_vars_of_event_mswindows): set force_event_pending to 0.
10251
10252 2000-03-15  Olivier Galibert  <galibert@pobox.com>
10253
10254         * alloc.h: New.
10255         * dumper.h: New.
10256         * dumper.c: New.
10257
10258         * emacs.c: Moved dump file searching to dumper.c.
10259         (Frunning_temacs_p): Fixed.
10260
10261         * alloc.c: Moved everything pdump-related to dumper.c.  Removed
10262         last_lrecord_type_index_assigned.
10263
10264 2000-02-20  Olivier Galibert  <galibert@pobox.com>
10265
10266         * symsinit.h: Added reinit parameter to init_console_stream
10267         declaration.
10268
10269         * lisp.h: Added file parameter to pdump_load declaration.
10270
10271         * emacs.c (main_1): Added -nd/--nodump-file and -sd/--show-dump-id
10272         support.  Added dump file searching.
10273
10274         * config.h.in: Added EMACS_PROGNAME.
10275
10276         * console-stream.c (init_console_stream): Fix reinitialisation
10277         when running from temacs.
10278
10279         * alloc.c (pdump): Add id support.
10280         (pdump_load): Add file parameter and signature/id support.
10281
10282         * Makefile.in.in: Add full pdump support.
10283
10284 2000-03-15  SL Baur  <steve@musashimaru.m17n.org>
10285
10286         * postgresql.c: Update documentation to reflect latest code
10287         status.
10288         (print_result): Show tuple counts in printed representation when
10289         appropriate.
10290         (Fpq_put_nbytes): MULE-ize.
10291         (Fpq_get_line_async): Ditto.
10292
10293 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
10294
10295         * postgresql.c (Fpq_lo_import): Fix return value.
10296         Suggested by: Kenji Itoh <keit@tpj.co.jp>.
10297
10298 2000-03-13  Ben Wing  <ben@xemacs.org>
10299
10300         * alloc.c (pdump_load):
10301         Fix compile warning under mswin.
10302
10303 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
10304
10305         * postgresql.c: Mule-ization, bug fixes.
10306         Use PG_CODING to encapsulate coding system name changes.
10307         Backport a version of TO_EXTERNAL format for 21.1/InfoDock.
10308         (pg-coding-system): Create.
10309
10310         (Fpq_conn_defaults): Mule-ize.
10311         (Fpq_connectdb): Mule-ize & bug fix.
10312         (Fpq_connect_start): Mule-ize.
10313         (Fpq_set_client_encoding): Mule-ize.
10314         (Fpq_finish): Document `DEAD' connection status.
10315         (Fpq_clear): Ditto.
10316         (Fpq_pgconn): Mule-ize.
10317         (Fpq_exec): Mule-ize & bug fix.
10318         (Fpq_send_query): Ditto.
10319         (Fpq_get_result): Ditto.
10320         (Fpq_res_status): Mule-ize.
10321         (Fpq_result_error_message): Mule-ize.
10322         (Fpq_ntuples): fix comments.
10323         (Fpq_fname): Mule-ize.
10324         (Fpq_fnumber): Mule-ize.
10325         (Fpq_ftype): fix comments.
10326         (Fpq_get_value): Mule-ize.
10327         (Fpq_cmd_status): Ditto.
10328         (Fpq_cmd_tuples): Ditto.
10329         (Fpq_oid_value): Ditto.
10330         (Fpq_notifies): Ditto.
10331         (Fpq_lo_import): Ditto.
10332         (Fpq_lo_export): Ditto.
10333         (Fpq_get_line): Ditto.
10334         (Fpq_put_line): Mule-ize and bug fix.
10335         (syms_of_postgresql): Fix ifdef'ing, add pg-coding-system.
10336
10337 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
10338
10339         * postgresql.c (vars_of_postgresql): Mule-ize.
10340         (Fpq_conn_defaults): Ditto.
10341
10342 2000-03-12  Ben Wing  <ben@xemacs.org>
10343
10344         * alloc.c (Fmake_byte_code):
10345         * alloc.c (debug_string_purity_print):
10346         * alloc.c (pdump_backtrace):
10347         * alloc.c (pdump_get_indirect_count):
10348         * alloc.c (pdump_register_sub):
10349         * alloc.c (pdump_register_object):
10350         * alloc.c (pdump_register_struct):
10351         * alloc.c (pdump_dump_data):
10352         * alloc.c (pdump_reloc_one):
10353         Minor cleanups.
10354
10355         * console-msw.c:
10356         * console-msw.c (GetConsoleHwnd):
10357         * console-msw.c (msw_hide_console):
10358         * console-msw.c (msw_show_console):
10359         * console-msw.c (msw_ensure_console_buffered):
10360         * console-msw.c (msw_output_console_string):
10361         * console-msw.c (console_type_create_mswindows):
10362
10363         a) Added functions to manipulate the console window for use with
10364         shell support.
10365
10366         b) Added support for writing text to the console, which is now
10367         used under Windows when xemacs is not being run non-interactively,
10368         to write text that would otherwise be destined for stdout because
10369         under these circumstances, text written to stdout tends to
10370         disappear and not be seen.
10371
10372         * console-msw.h:
10373         * event-Xt.c:
10374         * event-Xt.c (x_event_to_emacs_event):
10375         * event-Xt.c (describe_event_window):
10376         * events-mod.h (XEMACS_MOD_CONTROL):
10377         * events.c:
10378         * events.c (Fmake_event):
10379         * events.c (character_to_event):
10380         * events.c (event_to_character):
10381         * events.c (format_event_object):
10382         * events.c (Fevent_modifiers):
10383         * events.h:
10384         * events.h (struct key_data):
10385         * events.h (struct button_data):
10386         * events.h (struct misc_user_data):
10387         * frame-x.c (Fcde_start_drag_internal):
10388         * frame-x.c (Foffix_start_drag_internal):
10389         * gpmevent.c (Freceive_gpm_event):
10390         * keymap.c:
10391         * keymap.c (bucky_sym_to_bucky_bit):
10392         * keymap.c (control_meta_superify):
10393         * keymap.c (make_key_description):
10394         * keymap.c (keymap_lookup_directly):
10395         * keymap.c (create_bucky_submap):
10396         * keymap.c (keymap_store):
10397         * keymap.c (define_key_check_and_coerce_keysym):
10398         * keymap.c (define_key_parser):
10399         * keymap.c (define_key_alternate_name):
10400         * keymap.c (Fdefine_key):
10401         * keymap.c (raw_lookup_key_mapper):
10402         * keymap.c (struct map_keymap_unsorted_closure):
10403         * keymap.c (map_keymap_unsorted_mapper):
10404         * keymap.c (map_keymap_sort_predicate):
10405         * keymap.c (map_keymap_sorted):
10406         * keymap.c (accessible_keymaps_mapper_1):
10407         * keymap.c (where_is_recursive_mapper):
10408         * keymap.c (describe_map_mapper):
10409         * keymap.c (describe_map_sort_predicate):
10410         * keymap.c (describe_map):
10411         * keymap.c (complex_vars_of_keymap):
10412         And a number of other files, the key modifier preprocessor
10413         constants that xemacs uses have names that conflict with constants
10414         defined under MS Windows for other purposes, so they were renamed
10415         to begin with the prefix XEMACS_. The variables that hold such
10416         modifiers were changed to consistently be of type int to fix
10417         various compile warnings.
10418
10419         * console.c (complex_vars_of_console):
10420         * device.c:
10421         * device-msw.c:
10422         * device-msw.c (mswindows_finish_init_device):
10423         * device-msw.c (msw_get_workspace_coords):
10424         * device-msw.c (mswindows_device_system_metrics):
10425         and various other files, added support for a new
10426         device property called offset-workspace which returns the position
10427         of the upper left corner of the workspace area and goes along with
10428         the existing size-workspace property.
10429
10430         * dialog-msw.c:
10431         * dialog-msw.c (push_bufbyte_string_as_unicode):
10432         * dialog-msw.c (mswindows_popup_dialog_box):
10433         Added support for XEmacs-style accelerator specifications in
10434         button text.  Note: I didn't add support for this under X Windows,
10435         and somebody needs to do this.
10436
10437         * dialog.c:
10438         * dialog.c (Fpopup_dialog_box):
10439         Documented the support for accelerators that was just mentioned.
10440
10441         editfns.c (get_home_directory): Changed behavior under Windows
10442         when HOME not defined; former behavior was irretrievably broken.
10443
10444         * emacs.c:
10445         * emacs.c (main_1):
10446         * emacs.c (main):
10447         * minibuf.c (clear_echo_area_internal):
10448         * minibuf.c (echo_area_append):
10449         * print.c:
10450         * print.c (std_handle_out_external):
10451         * print.c (std_handle_out_va):
10452         * print.c (fatal):
10453         * print.c (write_string_to_stdio_stream):
10454         * print.c (output_string):
10455         * print.c (debug_print):
10456         * print.c (debug_backtrace):
10457         * print.c (debug_short_backtrace):
10458         Cleaned up the code that prints text to stdout so that this can be
10459         changed to output into a console window instead under MS Windows,
10460         as described above.
10461
10462         * eval.c:
10463         * eval.c (DEFEND_AGAINST_THROW_RECURSION):
10464         * eval.c (internal_catch):
10465         * eval.c (unwind_to_catch):
10466         * eval.c (throw_or_bomb_out):
10467         * eval.c (condition_case_1):
10468         * eval.c (signal_1):
10469         * eval.c (check_error_state_sanity):
10470         * eval.c (call_with_suspended_errors_1):
10471         * eval.c (call_with_suspended_errors):
10472         * eval.c (reinit_vars_of_eval):
10473         Added code to catch throw loops and check for a pesky bug that may
10474         be gone now.
10475
10476         * event-msw.c:
10477         * event-msw.c (key_needs_default_processing_p):
10478         * event-msw.c (mswindows_wnd_proc):
10479         * event-msw.c (mswindows_modifier_state):
10480         * event-msw.c (emacs_mswindows_quit_p):
10481         * event-msw.c (vars_of_event_mswindows):
10482         a) Added support for using the alt key to select menu items as is
10483         standard under MS Windows.  This is controlled using the variable
10484         menu-accelerator-enabled, just like under X Windows.  There is an
10485         option on the options menu to turn this support on.  I really
10486         think that it should be on by default under Windows, but I'm not
10487         going to make this change yet.
10488
10489         b)  Added support for dynamic display size changes under Windows.
10490
10491         * event-stream.c:
10492         * event-stream.c (maybe_echo_keys):
10493         * event-stream.c (Fnext_event):
10494         * event-stream.c (command_builder_find_leaf):
10495         * event-stream.c (lookup_command_event):
10496         * event-stream.c (execute_command_event):
10497         * event-stream.c (pre_command_hook):
10498         * event-stream.c (post_command_hook):
10499         * event-stream.c (syms_of_event_stream):
10500         * event-stream.c (vars_of_event_stream):
10501         * event-stream.c (complex_vars_of_event_stream):
10502         * events.h (struct command_builder):
10503
10504         a) Tried to clean up a little bit the horribly written x-specific
10505         accelerator code that crept into this file.  I moved this code
10506         into menubar-x.c where it belongs. I also needed to move the
10507         command builder structure into the file events.h because it is
10508         accessed directly by this accelerator code.  What I didn't do, but
10509         which should be done at some point, is to properly abstract this
10510         code using device methods instead of the kludgy way that it
10511         currently hooks into the event code.
10512
10513         b) Added the lisp variables this-command-properties and
10514         last-command- properties, which should be used to synchronize two
10515         adjacent commands in preference to playing games with the variable
10516         this-command, which is typically what happens.
10517
10518         c) Added some slightly nasty code to hook into the lisp support
10519         for shifted- motion-key selection.  This is actually necessary for
10520         somewhat complicated reasons, which are described in
10521         simple.el. (NB: I think the proper thing would be to have the code
10522         that calls the pre and post command hooks also call out to generic
10523         lisp functions in simple.el, where all built-in stuff could be
10524         added.  I will think about this more.)
10525
10526         * event-unixoid.c (poll_fds_for_input):
10527         * lread.c (readchar):
10528         * redisplay-tty.c (tty_clear_frame):
10529         * redisplay-x.c (x_get_gc):
10530         * signal.c (interrupt_signal):
10531         And a whole bunch of other files: fixed up places that printed
10532         directly to stderr to instead call the function stderr_out so that
10533         the changes I made under Windows work correctly.
10534
10535         * filemode.c (mode_string):
10536         Warning fixes.
10537
10538         * frame-msw.c:
10539         * frame-msw.c (mswindows_size_frame_internal):
10540         Fixed the computation of frame size and position to keep the frame
10541         within the workspace area, rather than within the physical
10542         dimensions of the screen, so that the frame doesn't overlap window
10543         manager decorations, such as the start menu and toolbar, typically
10544         at the bottom of the screen.
10545
10546         * frame.c (vars_of_frame):
10547         Changed the default frame title format under MS Windows to consist
10548         of buffername-XEmacs, which is standard under MS Windows.  I think
10549         it might be a good idea to change this everywhere because I think
10550         it is superior to the current frame title format, but this is the
10551         kind of change that is likely to cause some people to get annoyed,
10552         so I'm not making it.
10553
10554         * glyphs-eimage.c (png_instantiate): Fixed some compile warnings.
10555
10556         * gui-msw.c (mswindows_handle_gui_wm_command):
10557         Fixed compile warnings.
10558
10559         * gui-x.c:
10560         * gui-x.c (strdup_and_add_accel):
10561         * gui-x.c (button_item_to_widget_value):
10562         * gui-x.h:
10563         Added code to automatically put an accelerator onto the beginning
10564         of menu items that don't have one as is now the standard, and is
10565         described more later.  Also fixed things so that the menu item
10566         name can be an evaluated expression, again a new standard.
10567
10568         * gui.c:
10569         * gui.c (gui_item_add_keyval_pair):
10570         * gui.c (make_gui_item_from_keywords_internal):
10571         * gui.c (gui_add_item_keywords_to_plist):
10572         * gui.c (gui_item_accelerator):
10573         * gui.c (gui_name_accelerator):
10574         * gui.c (gui_item_included_p):
10575         * gui.c (gui_item_display_flush_left):
10576         * gui.c (gui_item_display_flush_right):
10577         * gui.c (parse_gui_item_tree_item):
10578         * gui.c (parse_gui_item_tree_children):
10579         * gui.c (parse_gui_item_tree_list):
10580         Mule-ized.  Cleanup.  GCPRO addition.
10581
10582         * line-number.c (buffer_line_number):
10583         * lisp.h:
10584         * lisp.h (EMACS_INT_MAX):
10585         Added the manifest constant EMACS_INT_MIN corresponding to the
10586         existing constant EMACS_INT_MAX.  This is partially to fix compile
10587         warnings under Windows, and partly for cleanliness.
10588
10589         * menubar-msw.c:
10590         * menubar-msw.c (REPLACE_ME_WITH_GLOBAL_VARIABLE_WHICH_CONTROLS_RIGHT_FLUSH):
10591         * menubar-msw.c (msw_translate_menu_or_dialog_item):
10592         * menubar-msw.c (displayable_menu_item):
10593         * menubar-msw.c (populate_menu_add_item):
10594         * menubar-msw.c (populate_or_checksum_helper):
10595         * menubar-msw.c (populate_menu):
10596         * menubar-msw.c (update_frame_menubar_maybe):
10597         * menubar-msw.c (prune_menubar):
10598         * menubar-msw.c (msw_char_is_accelerator):
10599         * menubar-msw.c (unsafe_handle_wm_initmenu_1):
10600         * menubar-msw.c (mswindows_handle_wm_command):
10601         * menubar-msw.c (mswindows_handle_wm_initmenupopup):
10602         * menubar-msw.c (mswindows_handle_wm_initmenu):
10603         * menubar-msw.c (mswindows_update_frame_menubars):
10604         * menubar-msw.c (mswindows_free_frame_menubars):
10605         * menubar-msw.c (mswindows_popup_menu):
10606         Fixed a bug in handling accelerators where an extra character
10607         would be displayed in the menu item.  Also generalized the
10608         function displayable_menu_item because it is now used by the
10609         dialog box code as well.  And finally, added code in the functions
10610         that create the menubar to extract a list of accelerators for the
10611         top level menubar, which is used in the event code to determine
10612         whether a particular alt-key combination should be used to invoke
10613         a menu item, or should be passed through to access the standard
10614         XEmacs keymap binding for this key combination.
10615
10616         Much needed GCPROing.
10617
10618         * menubar-x.c:
10619         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
10620         * menubar-x.c (menu_item_descriptor_to_widget_value):
10621         * menubar-x.c (restore_in_menu_callback):
10622         * menubar-x.c (x_popup_menu):
10623         * menubar-x.c (menu_move_up):
10624         * menubar-x.c (menu_move_down):
10625         * menubar-x.c (menu_move_left):
10626         * menubar-x.c (menu_move_right):
10627         * menubar-x.c (menu_select_item):
10628         * menubar-x.c (command_builder_operate_menu_accelerator):
10629         * menubar-x.c (menu_accelerator_junk_on_error):
10630         * menubar-x.c (command_builder_find_menu_accelerator):
10631         * menubar-x.c (Faccelerate_menu):
10632         * menubar.h:
10633         Moved a whole bunch of code here that was previously in
10634         event-stream.c as described above.  There is also code connected
10635         to the new standard of adding an accelerator to the beginning of
10636         menu items that don't have one as described above and below.
10637
10638         * menubar.c:
10639         * menubar.c (menu_parse_submenu_keywords):
10640         * menubar.c (Fmenu_find_real_submenu):
10641         * menubar.c (Fnormalize_menu_item_name):
10642         * menubar.c (syms_of_menubar):
10643         * menubar.c (vars_of_menubar):
10644         * menubar.c (complex_vars_of_menubar):
10645
10646         a) Cleaned up a bunch of documentation and improved it.
10647
10648         b) XEmacs now automatically adds an accelerator onto the beginning
10649         of any menu items that don't have one.  I did this because there
10650         will inevitably be some menu items on the main menubar that don't
10651         have accelerators on them because the package that adds that
10652         particular menu item hasn't yet been fixed up to have accelerators
10653         in them and it looked rather strange to have some items with and
10654         some items without accelerators, especially since even in items
10655         without accelerators, you can, at least under windows, still
10656         access the item through an accelerator corresponding to the first
10657         character in the item's name.  If people don't like this behavior,
10658         I can add a variable to turn it off optionally, but I'm not sure
10659         this is a good idea because we really do need to have accelerators
10660         on all of the menu items, and if a package doesn't like the
10661         accelerators being put on the first character, then it should put
10662         the accelerators where they belong.
10663
10664         c) I made a behavior change, which is that the descriptor that
10665         specifies the text of the menu item, which formerly was just a
10666         string, can now also be an evaluated expression.  This makes this
10667         descriptor parallel with all of the others, which could also be
10668         evaluated expressions.  This also obviates the need for the
10669         keyword :label, which was previously listed in the documentation
10670         as unimplemented, and which was for the same purpose.
10671
10672         d) GCPROing.
10673
10674         * ntproc.c:
10675         * ntproc.c (new_child):
10676         * ntproc.c (sys_spawnve):
10677         * ntproc.c (find_child_console):
10678         * ntproc.c (sys_kill):
10679         Fixed compile warnings.  By the way, this file should really go
10680         away entirely, and this will happen as soon as Kirill makes his
10681         final round of process cleanups, which affect the function
10682         call-process.
10683
10684         * process-nt.c:
10685         * process-nt.c (struct nt_process_data):
10686         * process-nt.c (find_process_from_pid):
10687         * process-nt.c (send_signal_the_nt_way):
10688         * process-nt.c (enable_child_signals):
10689         * process-nt.c (find_child_console):
10690         * process-nt.c (send_signal_the_95_way):
10691         * process-nt.c (nt_finalize_process_data):
10692         * process-nt.c (ensure_console_window_exists):
10693         * process-nt.c (nt_create_process):
10694         * process-nt.c (nt_kill_child_process):
10695         * process-nt.c (nt_kill_process_by_pid):
10696         * process-nt.c (nt_open_network_stream):
10697         * process-nt.c (vars_of_process_nt):
10698         Copied over code from Emacs 20.5 to correctly send signals to sub-
10699         processes under Windows 95.  Also added code to automatically
10700         create and hide console window when a sub-process is created under
10701         Windows 95, which obviates the need for the separate runemacs.exe
10702         executable, and finally implemented some variables that were
10703         implemented in Emacs 20.5, but previously not in XEmacs.  These
10704         include mswindows- start-process-share-console and
10705         mswindows-start-process-inherit-error-mode. (Both of these only
10706         apply to Windows 95.)
10707
10708         * regex.c (regex_compile): Fixed a compile warning.
10709
10710         * select-msw.c:
10711         * select-msw.c (mswindows_own_selection):
10712         * select-msw.c (mswindows_get_foreign_selection):
10713         * select-msw.c (mswindows_disown_selection):
10714         * select-msw.c (console_type_create_select_mswindows):
10715         * select-msw.c (syms_of_select_mswindows):
10716         Cleaned up the file and implemented the device method
10717         selection_exists_p, which had accidentally been left out.  Also
10718         removed four lisp functions that were remnants from before the
10719         time when the selection code was properly device abstracted.
10720         These functions are no longer needed because there are generic
10721         equivalents, and because they were added recently and don't exist
10722         in FSF Emacs, I don't think there's any problem with just deleting
10723         them.
10724
10725         * sysdep.c:
10726         * sysdep.c (sys_subshell):
10727         Fixed a compile warning, although in this case there's probably
10728         something wrong with this code, and it ought to be looked into
10729         more thoroughly by somebody who understands it.
10730
10731         * window.c:
10732         * window.c (Fwindow_text_area_height):
10733         * window.c (Fwindow_width):
10734         * window.c (Fwindow_full_width):
10735         * window.c (Fwindow_pixel_width):
10736         * window.c (debug_print_window):
10737         * window.c (syms_of_window):
10738         Added functions window-text-area-height and window-full-width,
10739         which are functions for returning various width and height
10740         characteristics of a window. (One of these functions is necessary
10741         for making the file dialog box work correctly, and the other one
10742         was added for completeness.)  Also added a table to the
10743         documentation for window-height which describes the entire scheme
10744         for accessing width and height characteristics of a window.
10745
10746 2000-03-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10747
10748         * nt.c (fstat): Added a comment for another problem with
10749         non-encapsulated [f]stat(), reported by Adrian Aichner
10750         <aichner@ecf.teradyne.com>.
10751
10752 2000-03-11  Andy Piper  <andy@xemacs.org>
10753
10754         * window.c (make_dummy_parent): initialize subwindow instance
10755         cache.
10756         (Fset_window_configuration): zero extent_modiff.
10757
10758 2000-03-10  Andy Piper  <andy@xemacs.org>
10759
10760         * redisplay.c (Fredraw_frame): reset the changed_set flags so that
10761         more changes can be triggered.
10762         (Fredisplay_frame): ditto.
10763         (Fredraw_device): ditto.
10764         (Fredisplay_device): ditto.
10765         (redisplay_frame): make non-static.
10766         (redisplay_frame): call update_frame_gutter_geometry outside of
10767         display proper.
10768
10769         * gutter.h: declare update_frame_gutter_geometry.
10770
10771         * redisplay.h: declare redisplay_frame.
10772
10773         * gutter.c (update_frame_gutter_geometry): move geometry changes
10774         in update_frame_gutters here. Geometry changes can only occur
10775         outside of redisplay.
10776         (update_frame_gutters): remove geometry change code.
10777         (Fredisplay_gutter_area): make sure that we are in display when we
10778         update and that we have flushed any size changes.
10779
10780 2000-03-11  Andy Piper  <andy@xemacs.org>
10781
10782         * alloc.c (pdump_dump_data): remove i & count shadows.
10783
10784 2000-02-27  Mike Alexander  <mta@arbortext.com>
10785
10786         * sysdep.h: Declare pdump_read_file
10787
10788         * sysdep.c (pdump_read_file): New function
10789
10790         * alloc.c (pdump_load): Call pdump_read_file to get the portable
10791         dump data
10792
10793 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
10794
10795         * lrecord.h: add `lrecord_type_pgsetenv'.
10796
10797 2000-03-08  SL Baur  <steve@musashimaru.m17n.org>
10798
10799         * symsinit.h: declare (vars|syms)_of* functions.
10800         * lrecord.h: add `lrecord_type_pgconn' and 'lrecord_type_pgresult'.
10801
10802 2000-03-06  SL Baur  <steve@musashimaru.m17n.org>
10803
10804         * config.h.in: Add symbols HAVE_POSTGRESQL and HAVE_POSTGRESQLV7
10805
10806         * inline.c: Include postgresql.h lrecord stuffs to placate buggy
10807         GCCs.
10808
10809         * emacs.c (main_1): Call postgres initialization code.
10810
10811         * postgresql.h: New file.  PostgreSQL RDBMS support.
10812         * postgresql.c: New file.
10813
10814 2000-03-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
10815
10816         * redisplay-output.c (redisplay_output_display_block): Disable
10817         redundant code.
10818
10819 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
10820
10821         * mule-canna.c (Fcanna_henkan_region): Translate doc-string.
10822         (Fcanna_henkan_next): Ditto.
10823         (Fcanna_bunsetu_henkou): Ditto.
10824         (Fcanna_henkan_kakutei): Ditto.
10825         (Fcanna_henkan_end): Ditto.
10826         (Fcanna_henkan_quit): Ditto.
10827         (Fcanna_henkan_next): Set retun value correctly.
10828         (c2mu): Use unsigned char instead of signed char.
10829
10830 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
10831
10832         * emacs.c (main_1): Always call syms_of_gui.
10833         * inline.c: include gui.h
10834
10835 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
10836
10837         * redisplay.c (Vvisible_bell): Renamed from visible_bell and
10838         converted to Lisp_Object.
10839         (Qtop_bottom): New variable.
10840         (syms_of_redisplay): Initialize it.
10841         * redisplay.h (Vvisible_bell): Ditto.
10842         * sound.c (ding): Ditto and check if Vvisible_bell is nil.
10843         * redisplay-x.c (x_flash): When Vvisible_bell is top-bottom,
10844         only flash top and bottom.
10845
10846 2000-03-08  Andy Piper  <andy@xemacs.org>
10847
10848         * buffer.c (Frename_buffer): record new buffer name the right way.
10849
10850 2000-03-08  Andy Piper  <andy@xemacs.org>
10851
10852         * glyphs.c (update_subwindow): increase hash depth so that widget
10853         items get picked up properly.
10854
10855         * redisplay-output.c (compare_runes): increase hash depth so that
10856         widget items get picked up properly.
10857
10858 2000-03-08  Andy Piper  <andy@xemacs.org>
10859
10860         * gutter.c (output_gutter): add some debug.
10861
10862         * glyphs.h (struct Lisp_Image_Instance): add display_hash.
10863         (IMAGE_INSTANCE_DISPLAY_HASH): new macro.
10864         (XIMAGE_INSTANCE_DISPLAY_HASH): ditto.
10865
10866         * redisplay-output.c (compare_runes): use display_hash to
10867         determine if glyphs really are not the same.
10868
10869         * glyphs.c (update_subwindow): check display_hash to see if
10870         anything really needs to be updated. If not then do
10871         nothing. Record the display_hash after updating.
10872         (image_instance_equal): compare the image_instance face also.
10873
10874 2000-03-07  Yoshiki Hayashi  <yoshiki@xemacs.org>
10875
10876         * redisplay.h: Fix comment style.
10877
10878 2000-03-08  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10879
10880         * consle-msw.h (struct mswindows_frame):
10881         Added new member paint_pending to indicate whether a WM_PAINT
10882         magic event has been queued for this frame.
10883
10884         * event-msw.c (mswindows_drain_windows_queue):
10885         Don't queue a WM_PAINT magic event if one is already queued.
10886         (emacs_mswindows_handle_magic_event): clear paint_pending flag.
10887
10888         * frame-msw.c (mswindows_init_frame_1): initialise paint_pending flag.
10889
10890 2000-03-07  Didier Verna  <didier@xemacs.org>
10891
10892         * dired.c: #include `regex.h' after `sysfile.h'.
10893
10894 2000-03-06  Martin Buchholz  <martin@xemacs.org>
10895
10896         * sound.c (init_nas_sound): Fix compiler warning.
10897
10898         * alloc.c (ALIASING_VOIDPP_DEREFERENCE): New.
10899         (FREE_STRUCT_P):
10900         (MARK_STRUCT_AS_FREE):
10901         (MARK_STRUCT_AS_NOT_FREE):
10902         Make `gcc -fstrict-aliasing' work properly.
10903
10904 2000-03-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10905
10906         * device-msw.c (mswindows_finish_init_device): Call CoInitialize().
10907         (mswindows_delete_device): Call CoUnnitialize().
10908
10909         * event-msw.c (mswindows_wnd_proc): WM_DROPFILES: Decode Shortcuts.
10910
10911 2000-02-25    <CraigL@DyCon.com>
10912
10913         * process-nt.c: MinGW now has <shellapi.h>, but still needs
10914         <errno.h>.
10915
10916         * sysdep.c: This extern declaration for environ prevents MinGW
10917         from finding the variable in CRTDLL.DLL.
10918
10919         * s\mingw32.h (PBS_SMOOTH): Removed, now defined in cygwin's
10920         windows headers.
10921         (SHGFI_EXETYPE): ..
10922         (WM_MOUSEWHEEL): ..
10923         (_WIN32_IE): Added, needed to get the TCS_BOTTOM and TCS_VERTICAL
10924         definitions.
10925         (MMRESULT): Removed, now defined in cygwin's windows headers.
10926         (TIMECAPS): ..
10927         (uid_t,gid_t,pid_t,ssize_t): ..
10928         (_timeb): Removed, MinGW defines both _timeb and timeb.
10929         (HAVE_H_ERRNO): Added.
10930         (HAVE_TZNAME): Added, configure is not detecting this.
10931
10932 2000-02-03  IKEYAMA Tomonori <tomonori@suiyokai.org>
10933
10934         * chartab.h (XCHAR_TABLE_VALUE_UNSAFE): New macro.
10935         * syntax.c (syntax_match): Use it.
10936
10937         * cmds.c: Import auto-fill-chars from FSF Emacs.
10938         (Vauto_fill_chars): New variables.
10939         (internal_self_insert): Check Vauto_fill_chars.
10940         (vars_of_cmds):
10941         Declare auto-fill-chars as a Lisp variable and initialize it.
10942
10943 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10944
10945         * fileio.c (Fmake_symbolic_link):
10946         (Ffile_symlink_p):
10947         Run handlers even if local machine doesn't have symlinks.
10948
10949 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10950
10951         * event-msw.c (mswindows_drain_windows_queue):
10952         Don't generate paint magic events for non-XEmacs frames.
10953
10954 2000-03-05  Andy Piper  <andy@xemacs.org>
10955
10956         * redisplay.c (redisplay_frame): generate_displayable_area and
10957         friends assumes that we are not in GC, we therefore have to make
10958         sure that this doesn't happen.
10959
10960         * gutter.c (calculate_gutter_size): generate_displayable_area
10961         assumes that we are not in GC, we therefore have to make sure that
10962         this doesn't happen.
10963
10964 2000-03-05  Martin Buchholz  <martin@xemacs.org>
10965
10966         * opaque.c (DEFINE_LRECORD_IMPLEMENTATION): opaque_ptr ==> opaque-ptr
10967
10968 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
10969
10970         * redisplay.c (regenerate_window): Make sure we set a sane value
10971         for end_pos even if we jump out of the loop.
10972         (regenerate_window): Answer Ben's question :-).
10973         (start_end_of_last_line): Add may_error argument.
10974         (start_of_last_line):
10975         (end_of_last_line): Pass may_error = 0.
10976         (end_of_last_line_may_error): New function.
10977         (pixel_to_glyph_translation): Use it, so we don't crash in
10978         event_to_glyph.
10979
10980 2000-03-04  Andy Piper  <andy@xemacs.org>
10981
10982         * window.h (struct window): add gutter_extent_modiff.
10983
10984         * window.c (allocate_window): zero out gutter_extent_modiff.
10985
10986         * redisplay.h: declare sync_display_line_structs.
10987
10988         * redisplay.c (add_glyph_rune): add a better comment.
10989
10990         * redisplay-output.c (sync_display_line_structs): made non-static.
10991         (compare_runes): remove unneccesary glyph cachel access.
10992
10993         * gutter.h: declare gutter_extent_signal_changed_region_maybe.
10994
10995         * gutter.c (output_gutter): don't output the gutter if extent
10996         changes only involve extents in buffers. use 4 sets of display
10997         lines.
10998         (gutter_extent_signal_changed_region_maybe): new function. Mark
10999         extents in gutters as changed.
11000         (update_frame_gutters): use 4 sets of display lines.
11001         (reset_gutter_display_lines): ditto.
11002         (free_frame_gutters): ditto.
11003         (redraw_exposed_gutter): force output of gutters.
11004
11005         * frame.h (struct frame): add 4 sets of gutter display lines.
11006
11007         * extents.c: (extent_changed_for_redisplay): signal changes to
11008         extents in strings in the gutter as well as extents in buffers.
11009
11010 2000-03-02  Andy Piper  <andy@xemacs.org>
11011
11012         * gutter.c (specifier_vars_of_gutter): cosmetic changes.
11013
11014         * frame.c (Fmake_frame): make sure the gutters get initialized
11015         after the frame is visible.
11016         (set_frame_selected_window): re-arrange compilation macros a
11017         little.
11018         (change_frame_size_1): mark gutters changed.
11019
11020         * device.c (Fset_device_class): mark gutters changed.
11021
11022 2000-03-01  Andy Piper  <andy@xemacs.org>
11023
11024         * window.c (window_top_frame_gutter_height): deleted.
11025         (window_bottom_frame_gutter_height): ditto.
11026         (window_left_frame_gutter_height): ditto.
11027         (window_right_frame_gutter_height): ditto.
11028         (window_top_gutter_height): don't use them.
11029         (window_bottom_gutter_height): ditto.
11030         (window_left_gutter_width): ditto.
11031         (window_right_gutter_width): ditto.
11032         (Fsplit_window): ditto.
11033         (Fwindow_pixel_edges): don't use border dimensions here.
11034
11035         * scrollbar.c (update_scrollbar_instance): don't take gutters into account.
11036         (update_scrollbar_instance): ditto.
11037
11038         * redisplay.c (generate_modeline): don't take gutters into account.
11039         (generate_modeline): ditto.
11040         (redisplay_frame): small gutter display optimization.
11041
11042         * redisplay-x.c (x_output_vertical_divider): don't take gutters into account.
11043
11044         * redisplay-msw.c (mswindows_output_vertical_divider): don't take
11045         gutters into account.
11046
11047         * gutter.h (WINDOW_REAL_*_GUTTER_BOUNDS): remove bogus checks
11048         for window position and type.
11049
11050         * gutter.c (get_gutter_coords): fix for frame gutters.
11051         (update_frame_gutters): update frame geometry if the gutters have
11052         changed.
11053         (init_frame_gutters): record current gutter geometries.
11054
11055         * glyphs-msw.c (mswindows_subwindow_instantiate): remove unused
11056         var.
11057         (mswindows_widget_instantiate): ditto.
11058
11059         * frame.h (struct frame): add current_gutter_bounds.
11060
11061         * frame.c (change_frame_size_1): position window and minibuffer
11062         appropriately taking into account the frame gutters.
11063
11064         * frame-x.c: (x_initialize_frame_size): take into account the
11065         frame gutters.
11066
11067 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
11068
11069         * emacs.c (data-directory):  Xref `locate-data-file' in docstring.
11070
11071 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
11072
11073         * alloc.c (dumpopaquevec): Increase dimension for --with-canna.
11074
11075 1999-12-30  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
11076
11077         * file-coding.c (reset_decoding_stream): Clear previous
11078         detection state when autodetect.
11079
11080 2000-02-29  Didier Verna  <didier@xemacs.org>
11081
11082         * extents.c (set_extent_glyph_1): don't require extents to be
11083         attached.
11084
11085 2000-02-27  Andy Piper  <andy@xemacs.org>
11086
11087         * gutter.c (Fset_default_gutter_position): don't default left and
11088         right gutter visibility to t.
11089         (Fset_default_gutter_position): run
11090         default-gutter-position-changed-hook.
11091         (syms_of_gutter): add default-gutter-position-changed-hook.
11092
11093 2000-02-26  Andy Piper  <andy@xemacs.org>
11094
11095         * specifier.c (Fmake_specifier): add gutter references.
11096
11097         * gutter.h (RAW_WINDOW_GUTTER): new macro.
11098
11099         * lisp.h: declare Fvalid_plist_p.
11100
11101         * gutter.c (gutter_geometry_changed_in_window): mark the modeline
11102         as changed.
11103         (default_gutter_visible_p_changed_in_window): invalidate gutter as
11104         well as its visibility so that it gets reconstructed.
11105         (construct_window_gutter_spec): new function. Construct a string
11106         to be displayed in the gutter from a plist of strings. Take care
11107         to only use elements that are declared as visible.
11108         (calculate_gutter_size): use RAW_WINDOW_GUTTER instead of
11109         WINDOW_GUTTER.
11110         (gutter_validate): allow plists of strings in the specifier.
11111         (gutter_specs_changed): construct the real_gutter from the gutter
11112         specs using construct_window_gutter_spec.
11113         (gutter_visible_validate): gutter-visible is a new specifier type.
11114         (Fgutter_visible_specifier_p): new function for the new specifier.
11115         (syms_of_gutter): declare gutter-visible and
11116         Fgutter_visible_specifier_p.
11117         (specifier_type_create_gutter): intitalize new gutter-visible
11118         specifier.
11119         (reinit_specifier_type_create_gutter): ditto.
11120         (specifier_vars_of_gutter): use new specifier type for gutter
11121         visibility.
11122         (init_frame_gutters): construct real_gutter correctly.
11123         (Fgutter_specifier_p): beef up documentation.
11124         (Fgutter_size_specifier_p): ditto.
11125
11126         * winslots.h: add real_gutter slots.
11127
11128 2000-02-25  Andy Piper  <andy@xemacs.org>
11129
11130         * device-msw.c: Be kind to older cygwin versions. From Raymond
11131         Toy <toy@rtp.ericsson.se>.
11132
11133         * gui-msw.c (Fmswindows_shell_execute): Remove things unknown to
11134         earlier cygwins. From Raymond Toy <toy@rtp.ericsson.se>.
11135
11136 2000-02-25  Martin Buchholz  <martin@xemacs.org>
11137
11138         * elhash.c (MARK_OBJ): Practice macro hygiene.
11139
11140 2000-02-24  Martin Buchholz  <martin@xemacs.org>
11141
11142         * miscplay.c: s/__inline__/inline/g;
11143         * glyphs-msw.c (set_mono_pixel): INLINE ==> static inline
11144         (get_device_compdc): INLINE ==> static inline
11145         * *.[ch]: Change INLINE to INLINE_HEADER globally.
11146         find -name '*.h' | \
11147         xargs global-replace \
11148         's/(^|(?<=[^A-Za-z0-9_]))INLINE((?=[^A-Za-z0-9_])|$)/INLINE_HEADER/g'
11149
11150 2000-02-25  Andy Piper  <andy@xemacs.org>
11151
11152         * window.c (window_top_frame_gutter_height): new function.
11153         (window_top_window_gutter_height): ditto.
11154         (window_top_gutter_height): use them.
11155         (window_bottom_frame_gutter_height): new function.
11156         (window_bottom_window_gutter_height): ditto.
11157         (window_bottom_gutter_height): use them.
11158         (window_left_window_gutter_width): new function.
11159         (window_left_frame_gutter_width): ditto.
11160         (window_left_gutter_width): use them.
11161         (window_right_window_gutter_width): new function.
11162         (window_right_frame_gutter_width): ditto.
11163         (window_right_gutter_width): use them.
11164         (window_pixel_height): new function. calulate window pixel height
11165         with frame gutter involvement.
11166         (Fsplit_window): calculate new sizes taking frame gutters into
11167         account.
11168         (window_char_height_to_pixel_height): don't include frame gutters.
11169         (window_char_height): use window_pixel_height.
11170         (window_pixheight): rename from window_pixel_height.
11171         (change_window_height): use it.
11172         (window_pixel_height_to_char_height): don't include frame gutters.
11173         (window_char_width_to_pixel_width): ditto.
11174
11175 2000-02-25  Andy Piper  <andy@xemacs.org>
11176
11177         * glyphs.h (IMAGE_INSTANCE_FACE): glyph might be nil, don't crash
11178         if it is.
11179
11180 2000-02-24  Martin Buchholz  <martin@xemacs.org>
11181
11182         * alloc.c (staticpro):
11183         (staticpro_nodump):
11184         (dumpstruct):
11185         (dumpopaque):
11186         (pdump_wire):
11187         (pdump_wire_list):
11188         (compact_string_chars):
11189         (pdump_dump_wired):
11190         Convert:  if (foo) abort();  ==>  assert (! foo);
11191
11192         * eldap.c (Fldap_search_basic):
11193         (Fldap_add):
11194         (Fldap_modify):
11195         (Fldap_delete):
11196         Fix compiler warnings, and possible crashes if (random) return
11197         value were to be used.
11198
11199 2000-02-21  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11200
11201         * device-msw.c: Workaround ResetDC failure.
11202
11203         * frame-msw.c (msprinter_init_frame_3): Added an assertion before
11204         applying a devmode.
11205
11206         * redisplay-msw.c (get_frame_dc): Added start_page_p.
11207         (mswindows_text_width): Do not start printer page.
11208
11209         * console-msw.h (CHECK_MSGDI_DEVICE): Added this and friends.
11210
11211         * glyphs-msw.c: Added image methods to msprinter console and
11212         msprinter-specific image instantiation.
11213
11214 2000-02-20  Mike Alexander  <mta@arbortext.com>
11215
11216         * select-msw.c (Fmswindows_set_clipboard): GC protect more things
11217         to avoid crashes when selection-sets-clipboard is on
11218         (mswindows_own_selection): ditto
11219
11220 2000-02-19  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11221
11222         * glyphs-msw.c:
11223         * redisplay-msw.c (get_frame_dc):
11224         (get_frame_compdc):
11225         * console-msw.h:
11226         * device-msw.c (mswindows_init_device):
11227         (mswindows_delete_device):
11228         (msprinter_init_device):
11229         (msprinter_delete_device):
11230         * frame-msw.c (mswindows_init_frame_1):
11231         (mswindows_delete_frame):
11232         (msprinter_init_frame_3):
11233         (msprinter_delete_frame): Move compatible DC to device object from
11234         frame object, for both mswindows and msprinter. Only one at a time
11235         is needed, it is a real waste to have one per frame!
11236
11237 2000-02-23  Andy Piper  <andy@xemacs.org>
11238
11239         * glyphs.c: add dynamic width and height elements.
11240         (image_instance_equal): ditto.
11241
11242         * glyphs-widget.c (widget_query_geometry): calculate width and
11243         height dynamically if required.
11244         (initialize_widget_image_instance): initialize dynamic dimensions.
11245         (widget_instantiate): pick-up dynamic dimensions.
11246
11247         * glyphs.h (struct Lisp_Image_Instance): add width and height for
11248         dynamic determination. Add appropriate macros.
11249
11250         * gutter.h (WINDOW_GUTTER_BORDER_WIDTH): make non-integer
11251         dimensions safe.
11252         (WINDOW_GUTTER_SIZE): ditto.
11253         (WINDOW_GUTTER_SIZE_INTERNAL): ditto.
11254
11255         * redisplay-msw.c (get_frame_compdc): gcc can't cope with this
11256         inline.
11257         (get_frame_dc): ditto.
11258
11259         * redisplay.h (GLOBAL_RESET_CHANGED_FLAGS): don't reset faces
11260         here.
11261
11262 2000-02-23  Martin Buchholz <martin@xemacs.org>
11263
11264         * XEmacs 21.2.31 is released.
11265
11266 2000-02-22  Ben Wing <ben@xemacs.org>
11267
11268         * ntheap.c (allocate_heap): Make sure `ptr' is initialized.
11269
11270 2000-02-22  Andy Piper  <andy@xemacs.org>
11271
11272         * glyphs-x.c (x_widget_instantiate): don't explicitly resize here.
11273
11274 2000-02-21  Mike Sperber <mike@xemacs.org>
11275
11276         * .dbxrc:
11277         * .gdbinit:
11278         * Makefile.in.in: Remove obsolete EMACSBOOTSTRAP... environment
11279         variables.
11280
11281 2000-02-21  Mike Sperber <mike@xemacs.org>
11282
11283         * s/aix4.h: Declare getaddrinfo broken for AIX 4, which it is.
11284
11285 2000-02-21  Martin Buchholz <martin@xemacs.org>
11286
11287         * XEmacs 21.2.30 is released.
11288
11289 2000-02-20  Martin Buchholz  <martin@xemacs.org>
11290
11291         Performance hacking.
11292         * *.c (syms_of_*):
11293         Add INIT_LRECORD_IMPLEMENTATION macros, paired with
11294         DEFINE_LRECORD_IMPLEMENTATION macros in the same file.
11295         * emacs.c (main_1):
11296         * lisp.h (DEFUN):
11297         * console.c (DEFVAR_CONSOLE_LOCAL_1):
11298         * buffer.c (DEFVAR_BUFFER_LOCAL_1):
11299         * symeval.h (DEFVAR_SYMVAL_FWD):
11300         * symbols.c (guts_of_unbound_marker):
11301         Make all c_readonly objects also lisp_readonly and marked for life.
11302         * lrecord.h (struct lrecord_implementation):
11303         Document flags better.
11304         * lrecord.h (DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION_WITH_PROPS):
11305         * lrecord.h (DECLARE_LRECORD):
11306         * lrecord.h (XSETRECORD):
11307         * lrecord.h (RECORDP):
11308         * lrecord.h (RECORD_TYPEP):
11309         * lrecord.h (RECORD_MARKER): New.
11310         * lrecord.h (error_check_*):
11311         * lrecord.h (CONCHECK_NONRECORD):
11312         * lrecord.h (MAKE_LRECORD_IMPLEMENTATION):
11313         * lrecord.h (INIT_LRECORD_IMPLEMENTATION): New.
11314         * lrecord.h (set_lheader_implementation):
11315         * lrecord.h (enum lrecord_type): New.
11316         * symeval.h (SYMBOL_VALUE_MAGIC_P):
11317         * alloc.c (disksave_object_finalization_1):
11318         * alloc.c (mark_object):
11319         * alloc.c (lrecord_type_index):
11320         * alloc.c (tick_lcrecord_stats):
11321         * alloc.c (Fgarbage_collect):
11322         * alloc.c (init_alloc_once_early):
11323         * alloc.c (pdump_load):
11324         * alloc.c (GC_CHECK_LHEADER_INVARIANTS): New.
11325         * alloc.c (lrecord_type_index): Delete.
11326         Make lisp object type indexes be constant.
11327           Makes (byte-compile) 5% faster.
11328         Put all marker functions into their own array.
11329           Makes (garbage-collect) 5% faster.
11330         Optimize SYMBOL_VALUE_MAGIC_P.
11331           Makes (byte-compile) 2-3% faster.
11332         * config.h.in (gc_checking_assert): New.
11333         * alloc.c: Use gc_checking_assert().
11334         * .dbxrc: Make compatible with new object type implementation.
11335         * .gdbinit: Make compatible with new object type implementation.
11336         * alloc.c: Delete all symbols defined only for debugging, such as
11337         Lisp_Type_Vector and lrecord_charset.
11338
11339 2000-02-21  Andy Piper  <andy@xemacs.org>
11340
11341         * gui-msw.c (Fmswindows_shell_execute): fix file location
11342         problems.
11343
11344         * buffer.c (Fkill_buffer): remove buffer from alist buffer
11345         unshowing so that set_window_buffer doesn't undo
11346         kill_buffer_hook's hard work.
11347
11348         * glyphs-widget.c (tab_control_query_geometry): don't count the
11349         first item when calculating geometry.
11350
11351         * glyphs.c (map_subwindow): remove redundant code.
11352         (update_frame_subwindows): be more circumspect about when to
11353         update subwindows.
11354
11355         * glyphs-x.c (x_update_widget): Properly fix sizing bug. Fix bug
11356         when items haven't changed. Update faces if faces have changed as
11357         well as just the widget face.
11358         (x_tab_control_update): Update faces if faces have changed as well
11359         as just the widget face.
11360
11361 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11362
11363         * device-msw.c: (mswindows_delete_device): Remove redundant DDE
11364         registration.
11365         (build_syscolor_string): Use mswindows_color_to_string to try to
11366         get a named color.
11367         (mswindows_device_system_metrics): Reverse the foreground and
11368         background colors so that they match the documentation.
11369
11370         * objects-msw.c: (mswindows_X_color_map): tweak some values so
11371         they match the default Windows palette.
11372         (mswindows_color_to_string): New function.
11373
11374 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11375
11376         * s/windowsnt.h: Only use __declspec(noreturn) with MSVC>=6.
11377
11378 2000-02-18  Olivier Galibert  <galibert@pobox.com>
11379
11380         * m/*, s/*: Removed obsolete DATA_SEG_BITS, PURE_SEG_BITS,
11381         WORD_MACHINE, SIGN_EXTEND_CHAR and EXPLICIT_SIGN_EXTEND.
11382
11383         * symbols.c (init_symbols_once_early): Removed obsolete
11384         DATA_SEG_BITS related kludge.
11385         (defvar_magic): Ditto.
11386
11387         * malloc.c: Removed obsolete DATA_SEG_BITS
11388         * ralloc.c: Ditto.
11389         * mem-limits.h: Ditto.
11390
11391         * Makefile.in.in: Removed obsolete HAVE_SHM
11392         * emacs.c: Ditto.
11393
11394 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11395
11396         *  device-msw.c (mswindows_delete_device): Free DDE string
11397         handles.
11398
11399 2000-02-16  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11400
11401         * keymap.c (get_keyelt):
11402         * unexnt.c (unexec):
11403         * vm-limit.c (memory_warnings):
11404         * ntheap.c (recreate_heap):
11405         * ntheap.h (UNINIT_PTR):
11406         * select-msw.c (Fmswindows_get_clipboard):
11407         (Fmswindows_set_clipboard):
11408         * objects-msw.h (MSWINDOWS_BAD_HFONT):
11409         * objects-msw.c:
11410         * menubar-msw.c (displayable_menu_item):
11411         * glyphs-msw.c:
11412         * glyphs-msw.h (IMAGE_INSTANCE_MSWINDOWS_MASK):
11413         * sysdep.c (sys_subshell):
11414         * process-nt.c (nt_create_process):
11415         * nt.c (normalize_filename):
11416         (dostounix_filename):
11417         (unixtodos_filename):
11418         * ntproc.c (win32_executable_type):
11419         * ntplay.c (play_sound_data_1):
11420         (play_sound_file):
11421         * editfns.c (get_home_directory):
11422         * event-msw.c (struct winsock_stream):
11423         (mswindows_dde_callback):
11424         * device-msw.c (msprinter_init_device):
11425         (msprinter_get_devmode_copy): Frobbed syntax frivolities.
11426
11427         * toolbar-msw.c (mswindows_free_frame_toolbars): Paramters to
11428         mswindows_clear_toolbar were swapped!
11429
11430         * objects-msw.c:(colormap_t):
11431         (fontmap_t):
11432         * emacs.c (struct standard_args): Fixed const jumble.
11433
11434         * glyphs-widget.c (update_widget): Fixed comparison notation.
11435
11436         * event-msw.c (mswindows_dde_callback): Removed extraneous ';'.
11437
11438         * s\windowsnt.h (DOESNT_RETURN): Defined to support the MSVC
11439         __declspec(noreturn) syntax.
11440
11441 2000-02-19  Martin Buchholz  <martin@xemacs.org>
11442
11443         * eldap.c (Fldap_open):
11444         (Fldap_search_basic):
11445         (Fldap_add):
11446         (Fldap_modify):
11447         Use new coding system conversion macros.
11448
11449 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
11450
11451         * console-tty.c (tty_init_console): Change MULE to FILE_CODING.
11452
11453 1999-11-27  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
11454
11455         * eldap.h (Fldap_search) Renamed from Fldap_search_internal:
11456         (Fldap_add, Fldap_modify, Fldap_delete): New functions
11457
11458         * eldap.c (Qadd, Qreplace): New constant symbols
11459         (Fldap_open): Use the LDAP_OPT_RESTART option to avoid
11460         interruptions by XEmacs signals
11461         Remove unnecessary calls to slow_down_interrupts and
11462         speed_up_interrupts
11463         (Fldap_search_basic): Renamed from Fldap_search_internal
11464         Added new optional parameter VERBOSE that triggers the
11465         display of progress messages
11466         Remove unnecessary calls to slow_down_interrupts and
11467         speed_up_interrupts
11468         LDAP result code analysis rewritten
11469         (Fldap_add, Fldap_modify, Fldap_delete): New functions
11470         (syms_of_eldap): Define the new symbols and functions
11471
11472
11473 2000-02-17  Martin Buchholz  <martin@xemacs.org>
11474
11475         * realpath.c: Determine PATH_MAX maximally portably.
11476
11477         * insdel.c (bytecount_to_charcount): Optimize.
11478         The function used to be optimized for entirely ASCII sequences.
11479         Now it is optimized for successive characters from the same
11480         charset.  This also wins big for _mostly_ ASCII sequences.
11481
11482         * fileio.c (Ffile_truename): convert return from realpath() using
11483         Qfile_name, not Qbinary.  Fixes obvious bug with non-ASCII symlinks.
11484         - Rewrite GCPROing slightly.
11485
11486         * sysdep.c (sys_open): Do filename conversion, like all other
11487         sys_* functions.  Fixes bug:
11488         (let ((file-name-coding-system 'iso-8859-2))
11489            (write-region x y latin2-name))
11490         ==> writes filename using internal encoding.
11491
11492 2000-02-18  Martin Buchholz  <martin@xemacs.org>
11493
11494         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Turn on c_readonly. Always const.
11495         * console.c (DEFVAR_CONSOLE_LOCAL_1): Turn on c_readonly. Always const.
11496         * symeval.h (DEFVAR_SYMVAL_FWD): Turn on c_readonly. Always const.
11497         * eval.c (lrecord_subr): Remove this_one_is_unmarkable.
11498         * symbols.c (lrecord_symbol_value_forward): Remove this_one_is_unmarkable.
11499         * symbols.c (guts_of_unbound_marker): Turn on c_readonly.
11500         * lrecord.h (UNMARKABLE_LRECORD_HEADER_P): Delete.
11501         (CONST_IF_NOT_DEBUG): Delete.
11502         * alloc.c (this_one_is_unmarkable): Delete.
11503         (mark_object): Don't check for this_one_is_unmarkable. Use the
11504         c_readonly flag instead.
11505         * lisp.h (DEFUN): Define a Lisp_Subr as c_readonly.
11506
11507 2000-02-18  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11508
11509         * event-msw.c (mswindows_drain_windows_queue):
11510         (emacs_mswindows_handle_magic_event): Remove attempt to optimise
11511         away redundant repaint events.
11512
11513 2000-02-17  Andy Piper  <andy@xemacs.org>
11514
11515         * redisplay.h: declare mark_redisplay_structs.
11516
11517         * redisplay.c (redisplay_window):
11518         (redisplay_frame): don't check subwindows_state_changed.
11519         (mark_redisplay): mark gutters here.
11520
11521         * glyphs.c: (instantiate_image_instantiator): always layout if we
11522         haven't done so already.
11523         (allocate_image_instance): don't mark as dirty.
11524         (update_subwindow): bind inhibit_quit.
11525
11526         * gutter.c (mark_gutters): new function.
11527
11528         * glyphs-x.c (x_update_widget): Always resize to get round a
11529         widget bug.
11530
11531         * glyphs-msw.c (mswindows_tab_control_update): remove `;' that was
11532         breaking absolutely everything.
11533
11534         * gutter.h: declare mark_gutters.
11535
11536 2000-02-16  Martin Buchholz <martin@xemacs.org>
11537
11538         * XEmacs 21.2.29 is released.
11539
11540 2000-02-15  Olivier Galibert  <galibert@pobox.com>
11541
11542         * fns.c (size_bit_vector): Fix computation of the size.
11543
11544 2000-02-15  Martin Buchholz  <martin@xemacs.org>
11545
11546         * *.[ch]: Change CONST to const globally.
11547         find -name '*.[ch]' | \
11548         xargs global-replace \
11549         's/(^|(?<=[^A-Za-z0-9_]))CONST((?=[^A-Za-z0-9_])|$)/const/g'
11550         - Remove vestigial references to CONST_IS_LOSING
11551
11552 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11553
11554         * event-msw.c (mswindows_drain_windows_queue): Remove hack to
11555         bailout early on quit. Enqueue WM_PAINT events as XEmacs magic
11556         events instead of dispatching them directly.
11557         (mswindows_handle_paint): New function to do repainting.
11558         (mswindows_wnd_proc):
11559         (emacs_mswindows_handle_magic_event): Call above function.
11560
11561 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11562
11563         * objects-msw.c (mswindows_create_font_variant): Return the new
11564         font handle.
11565         (initialize_font_instance): Get font metrics from the underlined
11566         variant of the font to cope with the case where the underlined
11567         font has a bigger descent.
11568
11569 2000-02-08   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
11570
11571         * gui.c (gui_item_accelerator): Return the first underlined
11572         character in item name.
11573
11574 2000-02-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11575
11576         * lisp.h: Added Qprinter.
11577
11578         * general.c (syms_of_general): Initialized it.
11579
11580         * redisplay-msw.c (get_frame_dc): Conditionally start a new page.
11581         (get_frame_dc):
11582         (get_frame_compdc): Made inline.
11583
11584         * console.h (struct console_methods): Added eject_page method.
11585
11586         * frame.h: Added FRAME_DISPLAY_P and friends.
11587         Aligned backslahes in many macros in more readable fashion.
11588         Added page_number to struct frame, and an accessor macro
11589         for it.
11590
11591         * defice.h: Added DEVICE_DISPLAY_P and friends.
11592
11593         * device.c (Fdevice_printer_p): Used these.
11594
11595         * frame.c (allocate_frame_core): Initialize page number.
11596         (Fprint_job_page_number):
11597         (Fprint_job_eject_page): Implemented.
11598
11599         * frame-msw.c (msprinter_eject_page): Added method.
11600         (msprinter_start_page): Added.
11601
11602         * window.c (Fwindow_truncated_p): Fixed docstring.
11603         (Fwindow_last_line_visible_height): Implemented.
11604
11605 2000-02-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
11606
11607         * frame.c (change_frame_size_1): Undo 2000-02-03 change.
11608
11609 1999-12-20  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
11610
11611         * syntax.c (scan_words): Always advance at least one character.
11612
11613 2000-02-13  Andy Piper  <andy@xemacs.org>
11614
11615         * redisplay.c (add_glyph_rune): call get_glyph_cachel_index here
11616         to make sure the glyph is in the cachels.
11617
11618         * glyphs.h (struct Lisp_Image_Instance): make layout_changed a
11619         global image instance flag.
11620         (IMAGE_INSTANCE_NEEDS_LAYOUT): new macro.
11621         (XIMAGE_INSTANCE_NEEDS_LAYOUT): ditto.
11622
11623         * glyphs.c (allocate_image_instance): set dirty bits correctly.
11624         (Fset_image_instance_property): mark layout as changed.
11625         (invalidate_glyph_geometry_maybe): mark layout as changed.
11626         (glyph_width): use new NEEDS_LAYOUT macro.
11627         (glyph_ascent): ditto.
11628         (glyph_descent): ditto.
11629         (glyph_height): ditto.
11630         (image_instance_layout): mark layout as clean after laying out.
11631         (update_subwindow): don't mark layout as clean here.
11632
11633         * glyphs-x.h (IMAGE_INSTANCE_X_WIDGET_ID): undo C++ changes, they
11634         should no longer be needed.
11635
11636         * glyphs-x.c (x_update_widget): sanitize asserts.
11637         (x_finalize_image_instance): sanitize assignment to widgets.
11638
11639         * glyphs-widget.c (widget_instantiate): don't need to clear the
11640         layout flag here.
11641
11642 2000-02-13  Martin Buchholz  <martin@xemacs.org>
11643
11644         * sysdep.c (getcwd): Use standard prototype.
11645         * sysdep.h (getcwd): Use standard prototype.
11646
11647         * fns.c (Fsubseq): Change parameters to more natural ANSI Lisp
11648         (sequence, start, end).
11649         Remove redundant type checking.
11650         (Fmapconcat): Remove useless GCPRO, a wrong-headed attempt (in
11651         view of `caller-protects') to avoid a crash where the real fix was
11652         found elsewhere.
11653
11654 2000-02-12  Martin Buchholz  <martin@xemacs.org>
11655
11656         * glyphs-x.c (x_finalize_image_instance): Compile error fixes.
11657
11658         * s/sol2.h: Remove feature macro initialization.
11659
11660         * alloc.c (alloc_lcrecord): Add more type checking assertions.
11661         (vector_hash): New.  Code from internal_hash.
11662         * lrecord.h:
11663         Fix up allocation subsystem comments.
11664
11665         * config.h.in: Add __EXTENSIONS__ for Solaris.
11666
11667         * systime.h (EMACS_GETTIMEOFDAY): New.
11668         (EMACS_GET_TIME): Use EMACS_GETTIMEOFDAY.
11669         Remove Solaris-specific code.
11670         Use void* for the (ignored) second arg for gettimeofday().
11671
11672         * elhash.c (hash_table_hash): Implement it, finally.
11673         * elhash.c:  Use hashcode_t.
11674
11675         * linuxplay.c (sighandler): Fix prototypes to use SIGTYPE.
11676         * sunplay.c (sighandler): Fix prototype to use SIGTYPE.
11677
11678         * lisp.h (STRETCHY_STRUCT_SIZEOF): Delete.
11679         * fns.c (size_bit_vector):
11680         * alloc.c (size_vector):
11681         (make_vector_internal):
11682         (make_bit_vector_internal):
11683         (sweep_bit_vectors_1):
11684         Replace calls to STRETCHY_STRUCT_SIZEOF with offsetof expression.
11685
11686 2000-02-10  Martin Buchholz  <martin@xemacs.org>
11687
11688         * s/aix4.h: #define MAP_FAILED if sys/mman.h didn't.
11689         Include strings.h to avoid warnings for bzero and strcasecmp.
11690
11691 2000-02-10  Olivier Galibert  <galibert@pobox.com>
11692
11693         * alloc.c: Move STRETCHY_STRUCT_SIZEOF from here...
11694         * lisp.h (STRETCHY_STRUCT_SIZEOF): ...to here
11695
11696         * fns.c (size_bit_vector): New.  Declare bit vectors as a
11697         sequence.
11698
11699 2000-02-10  Olivier Galibert  <galibert@pobox.com>
11700
11701         * symeval.h (struct symbol_value_magic): Remove "next" kludge and
11702         use a value field instead.
11703         (symbol_value_forward_forward): Use value field.
11704         (DEFVAR_SYMVAL_FWD): Use value field.
11705         (DEFVAR_SYMVAL_FWD_INT): Added.  Dumps the int with dumpopaque.
11706         (DEFVAR_INT): Use DEFVAR_SYMVAL_FWD_INT.
11707         (DEFVAR_CONST_INT): Ditto.
11708         (DEFVAR_BOOL): Ditto.
11709         (DEFVAR_CONST_BOOL): Ditto.
11710         (DEFVAR_INT_MAGIC): Ditto.
11711         (DEFVAR_BOOL_MAGIC): Ditto.
11712
11713         * symbols.c (guts_of_unbound_marker): Use value field.
11714         * console.c (DEFVAR_CONSOLE_LOCAL_1): Ditto.
11715         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Ditto.
11716
11717         * lisp.h: Declare dumpopaque and noninteractive1.
11718
11719         * alloc.c (dumpopaque): Added.
11720         (pdump_dump_opaquevec): Added.
11721         (pdump): Call pdump_dump_opaquevec to dump opaque data.
11722         (pdump_load): Reload opaque data.  Sync noninteractive1 with
11723         noninteractive.
11724
11725 2000-02-10  Andy Piper  <andy@xemacs.org>
11726
11727         * glyphs.c (image_instance_layout): if the size changes, mark it
11728         as such.
11729
11730         * redisplay-output.c (redisplay_output_layout): Update the
11731         subwindow here.
11732         (redisplay_output_subwindow): ditto.
11733
11734         * glyphs.c (update_subwindow): make sure we reset flags for
11735         layouts as well as everything else.
11736
11737         * glyphs-widget.c (layout_layout): don't need to set the instances
11738         dimensions here.
11739
11740 2000-02-09  Martin Buchholz  <martin@xemacs.org>
11741
11742         * device-x.c (x_init_device): Wrap calls to dll_*  in HAVE_SHLIB,
11743         not HAVE_DLOPEN, which is a lower-level thing.
11744
11745         * .cvsignore: Ignore gmon.out
11746
11747 2000-02-09  Hamish Macdonald <hamishm@lucent.com>
11748
11749         * .cvsignore: Ignore portable dumper xemacs.dmp file
11750
11751 2000-02-09  Andy Piper  <andy@xemacs.org>
11752
11753         * redisplay-output.c (redisplay_output_layout): be more clever
11754         about when we output based on the changed flags.
11755
11756         * glyphs.h (struct image_instantiator_methods): add update_method.
11757         (struct Lisp_Image_Instance): add changed flags. Declare new
11758         macros for manipulating them.
11759
11760         * glyphs.c (allocate_image_instance): renamed glyph -> parent.
11761         (image_instance_parent_glyph): find an image_instance's parent
11762         glyph or image_instance.
11763         (image_instance_layout): mark the size as changed.
11764         (set_image_instance_dirty_p): new function. mark an image
11765         instance, plus all of its parents, as dirty.
11766         (Fset_image_instance_property): use it.
11767         (Fglyph_animated_timeout_handler): use it.
11768         (update_subwindow): call update_widget and device methods for
11769         update_subwindow. Mark all changed flags as clean.
11770         (Fresize_subwindow): mark size as changed.
11771
11772         * glyphs-x.c (x_finalize_image_instance): try and detect gc
11773         failures.
11774         (x_update_subwindow): only resize subwindows here.
11775         (x_update_widget): new function. Update all changed properties of
11776         a widget.
11777         (x_resize_subwindow): deleted.
11778         (x_widget_set_property): deleted.
11779         (x_progress_gauge_set_property): deleted.
11780         (x_progress_gauge_update): new function. Implement recorded
11781         changes.
11782         (x_tab_control_update): ditto.
11783         (x_tab_control_set_property): deleted.
11784         (console_type_create_glyphs_x): declare new functions.
11785         (image_instantiator_format_create_glyphs_x): ditto.
11786
11787         * glyphs-widget.c (widget_set_property): mark text changed.
11788         (update_widget): new function. Update properties of a widget.
11789         (widget_instantiate): for layouts make sure we set their
11790         children's parent correctly.
11791         (tab_control_set_property): new function. Record changes that will
11792         take place under redisplay's control.
11793         (progress_gauge_set_property): ditto.
11794         (image_instantiator_progress_guage): declare new functions.
11795         (image_instantiator_tab_control): ditto.
11796
11797         * glyphs-msw.c (mswindows_update_subwindow): just do resizing here
11798         now.
11799         (mswindows_update_widget): new function. Update all properties on
11800         a widget that have changed.
11801         (mswindows_button_update): new function. Update a button's set
11802         state.
11803         (mswindows_tab_control_update): new function. Update the items in
11804         a tab.
11805         (mswindows_tab_control_set_property): deleted.
11806         (mswindows_progress_gauge_update): new function. Update the
11807         progress gauge's progress.
11808         (mswindows_widget_set_property): deleted. This is all done
11809         asynchronously now.
11810         (mswindows_progress_gauge_set_property): ditto.
11811         (console_type_create_glyphs_mswindows): declare new methods.
11812         (image_instantiator_format_create_glyphs_mswindows): ditto.
11813
11814         * frame-msw.c (msprinter_init_frame_1): Remove unused variables.
11815         (msprinter_set_frame_properties): ditto.
11816
11817         * console.h (struct console_methods): Add update_widget_method.
11818
11819 2000-02-09  Andy Piper  <andy@xemacs.org>
11820
11821         * gui-msw.c (Fmswindows_shell_execute): Make
11822         mswindows-shell-execute industrial strength.
11823
11824 2000-02-08  Martin Buchholz  <martin@xemacs.org>
11825
11826         * lrecord.h: Make macro argument `props' match member function `plist'.
11827         * fns.c (Fget):
11828         * fns.c (Fput):
11829         * fns.c (Fremprop):
11830         * fns.c (Fobject_plist):
11831         * alloc.c:
11832         * symbols.c:
11833         Object property list frobbing cleanup.
11834         - Allow any lisp object (compared with `eq'), not just symbols, as
11835           keys in object plists.
11836         - Move symbol plist frobbing into symbols.c, where it belongs.
11837         - Move string plist frobbing into alloc.c, where it belongs.
11838         - Everything's an lrecord now, so no need to test for symbolp, etc.
11839         - Fix up doc strings to refer to PROPERTY, not PROPNAME.
11840
11841         * extents.c: Reorder code to remove declarations.
11842
11843         * frame.h (store_in_alist): Remove useless declaration.
11844
11845 2000-02-07  Martin Buchholz  <martin@xemacs.org>
11846
11847         * event-Xt.c (x_has_keysym): Use XConvertCase only if available.
11848         * config.h.in: Add HAVE_XCONVERTCASE.
11849
11850 2000-02-07  Andy Piper  <andy@xemacs.org>
11851
11852         * glyphs.c (image_instance_layout): undo 2000-01-29 change since
11853         it breaks many things.
11854
11855 2000-02-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
11856
11857         * src/syntax.h (SYNTAX_START_P): Check whether the two chars
11858         actually can start a common comment type.
11859         * src/syntax.h (SYNTAX_END_P): ditto for end.
11860
11861 2000-02-07  Martin Buchholz <martin@xemacs.org>
11862
11863         * XEmacs 21.2.28 is released.
11864
11865 2000-02-06  Martin Buchholz  <martin@xemacs.org>
11866
11867         * event-Xt.c (x_keysym_to_character): New.
11868         (maybe_define_x_key_as_self_inserting_character): New.
11869         (x_has_keysym): New.
11870         Auto-define all keys on the keyboard as self-insert-key.
11871
11872 2000-02-02  Martin Buchholz  <martin@xemacs.org>
11873
11874         * menubar.c (vars_of_menubar): A small code simplification.
11875
11876         * minibuf.c (echo_area_append): Workaround egcs-20000131 c++ compiler bug
11877
11878         * ExternalShell.c:
11879         * ExternalClient.c:
11880         * EmacsShell-sub.c:
11881         * EmacsManager.c:
11882         * EmacsFrame.c:
11883         Use consistent style for specifying X resources.
11884
11885         * symbols.c (Fset): Further implement SYMVAL_LISP_MAGIC.
11886         This makes (dontusethis-set-symbol-value-handler) actually usable.
11887
11888         * lrecord.h (lrecord_decription_type):
11889         * alloc.c (pdump_register_sub):
11890         (pdump_dump_data):
11891         (pdump_reloc_one):
11892         Add XD_LISP_OBJECT_ARRAY to describe multiple Lisp_Objects.
11893         Comply with XEmacs coding style.
11894         All lrecord descriptions updated to use XD_LISP_OBJECT with 2
11895         args, and XD_LISP_OBJECT_ARRAY with 3 args.
11896
11897         * keymap.c (Faccessible_keymaps):
11898         Make (accessible-keymaps map "\C-h") do the Right Thing.
11899         Make (accessible-keymaps map []) do the Right Thing.
11900         Make (accessible-keymaps map "") do the Right Thing.
11901         (check_keymap_definition_loop): New function.
11902         (keymap_store_internal): Keep luser from shooting self in foot,
11903           via (define-key ctl-x-4-map "p" global-map).
11904         Remove fullness slot from struct Lisp_Keymap, since hash tables
11905         are now reliable.
11906         (print_keymap): Remove 'Yuck' factor by simply printing "size %d".
11907
11908 2000-01-30  Martin Buchholz  <martin@xemacs.org>
11909
11910         * redisplay.c (init_redisplay): Fix small memory leak.
11911         * elhash.h:
11912         * elhash.c (pdump_reorganize_hash_table):
11913         Rename from reorganize_hash_table. Change prototype.
11914         Reuse the original memory for hentries.  Save 100k.
11915         * alloc.c (PDUMP_READ): new macro.
11916         * alloc.c (pdump_load): Replace LISP_TO_VOID with higher-level macros.
11917         * alloc.c: No need to #ifndef before #undef.
11918
11919         * print.c: Allow debug_print() to print readably by modifying
11920         debug_print_readably.  Use consistent variable names.
11921
11922         * .dbxrc: Try to get things to work even if stopped in a function
11923         without source available by explicitly specifying source files.
11924 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11925
11926         * unexnt.c (_start): Removed bogus code which caused loading heap
11927         from differrent executable file.
11928         Removed bogus assignment to _fmode, which caused inconsistencies.
11929
11930 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11931
11932         * s\windowsnt.h: Removed lots of #if 0 blocks of Emacs heritage.
11933         Have spawnve encapsulation regard DONT_ENCAPSULATE.
11934         Do not preliminary `#define signal sigset'.
11935
11936         * systime.h: Do not prototype environ on windows nt and cygwin,
11937         this conflicts with system header.
11938
11939         * syssignal.h: Use correct define for WINDOWSNT
11940
11941         * sysdep.h: Do not prototype environ on windows nt, this conflicts
11942         with system header.
11943
11944         * sysdep.c (near start of file): Fixed commentary and rearranged
11945         ifdefs in readable order.
11946         (NEED_STARTS): Do not force NEED_STARTS when PDUMPing.
11947         (start_of_text):
11948         (end_of_text):
11949         (end_of_data): Do not compile in if using PDUMP.
11950
11951         * symsinit.h: Prototyped vars_of_nt().
11952
11953         * ntproc.c (windows9x_p): Added, instead of os_subtype.
11954         (find_child_console): Use it.
11955         (sys_kill): Use it.
11956
11957         * ntheap.h: Do not extern os_subtype.
11958
11959         * ntheap.c (cache_system_info): Do not cache unneeded:
11960         nt_major_version, nt_minor_version and os_subtype.
11961         (recreate_heap): Do not compile in when PDUMPing.
11962
11963         * nt.c (geteuid and friends): Use the new varibale
11964         nt_fake_unix_uid, instead of hashing fake uid out of NT RID.
11965         (init_user_info): Removed the above mentioned hackery.
11966         (fstat, stat): Do not compile in if using MSVC 5.0 and above -
11967         stat has been fixed in the C runtime.
11968         (vars_of_nt): Added, defined the nt_fake_unix_uid variable there.
11969
11970         * file-coding.c (struct file_coding_dump): Do not define
11971         ucs_to_mule_table in the struct if not MULE.
11972         (struct struct lrecord_description fcd_description_1): Do not dump
11973         the above.
11974
11975         * emacs.c (main_1): Call vars_of_nt().
11976         (right before Fdump_emacs_data): Don't need lastfile if using both
11977         portabe dumper and system malloc.
11978
11979         * alloc.c (Fmemory_limit): Conditionalized out.
11980         (pdump): Use OPEN_BINARY for the portable dump file.
11981         (pdump_load): Ditto.
11982
11983 2000-02-02  Mike Alexander  <mta@arbortext.com>
11984
11985         * nt.c (convert_time): Set tm_isdst before calling mktime and
11986         avoid calling it at all if the compiler supports 64 bit integers.
11987         Also initialize utc_base_ft before using it.
11988
11989 2000-02-03   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
11990
11991         * frame.c (change_frame_size_1): Take f->internal_border_width
11992         into consideration when calculating the width of the frame.
11993
11994 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11995
11996         * window.c (frame_min_height):
11997         (frame_size_valid_p):
11998         (frame_pixsize_valid_p): Added.
11999         (check_frame_size): Generalized.
12000
12001         * window.h: Prototyped the above.
12002
12003         * lisp.h:
12004         * general.c: Added Qbottom_margin, Qduplex, Qlandscape,
12005         Qleft_margin, Qorientation, Qportrait, Qright_margin, Qtop_margin.
12006         Deleted Vwin32_* and Vbinary_process_* unused variables.
12007
12008         * device-msw.c (msprinter_init_device): Do not get printer font
12009         list; Added DEVMODE functions.
12010
12011         * frame-msw.c: Added lots of printer code.
12012
12013         * faces.c: Moved 'left-margin and 'right-margin defsymbols to
12014         general.c.
12015
12016         * console-msw.h: Added more msprinter device private slots.
12017
12018 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12019
12020         * event-msw.c (key_needs_default_processing_p): Added.
12021         (mswindows_wnd_proc, WM_KEYUP, KEYDOWN): Call it.
12022
12023 2000-01-29  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12024
12025         * glyphs.c (image_instance_layout): Mark image instance as clean
12026         after layout.
12027         (glyph_dirty_p): Removed redundant function.
12028         (invalidate_glyph_geometry_maybe): Added.
12029         (update_glyph_cachel_data): Call it.
12030
12031         * glyphs.h: Prototyped it.
12032
12033         * redisplay.c (add_glyph_rune): Call it.
12034         (redisplay_window): Reset glyphs cachels when frame faces have
12035         changed, thus forcing recomputation of built-in border glyphs.
12036
12037 2000-01-30  Martin Buchholz  <martin@xemacs.org>
12038
12039         * Makefile.in.in: Make portable dumper and purify play well together.
12040         Add imperfect, but better than nothing, support for pdump.
12041         Remove xemacs.dmp when temacs is re-generated.
12042         Don't ignore errors when dumping xemacs.
12043
12044         * symbols.c (maybe_call_magic_handler): Remove one magic number.
12045
12046 2000-01-28  Andy Piper  <andy@xemacs.org>
12047
12048         * frame.c (allocate_frame_core): Use new Fset_window_buffer signature.
12049         (setup_normal_frame): ditto.
12050         (setup_frame_without_minibuffer): ditto.
12051         (setup_minibuffer_frame): ditto.
12052         (delete_frame_internal): ditto.
12053         (Fmake_frame_invisible): ditto.
12054         (Ficonify_frame): ditto.
12055
12056         * window.h: change Fset_window_buffer signature.
12057
12058         * window.c (Fsplit_window): Use new Fset_window_buffer signature.
12059         (Fset_window_buffer): allow recording of buffer if the window is
12060         the selected window.
12061         (window_loop): Use new Fset_window signature.
12062
12063 2000-01-23  Daniel Pittman  <daniel@danann.net>
12064
12065         * config.h.in: Added template for `HAVE_ATHENA_3D'
12066
12067 2000-01-29  Andy Piper  <andy@xemacs.org>
12068
12069         * glyphs-x.c (x_resize_subwindow): Try and catch bogus resizes.
12070
12071         * gutter.c (output_gutter): Don't output if the window isn't live.
12072
12073 2000-01-28  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12074
12075         * glyphs-msw.c (mswindows_unmap_subwindow): Fix of corrupted patch
12076         of 01/12/00: Moved SetFocus back here where it belongs.
12077
12078 2000-01-23  Andy Piper  <andy@xemacs.org>
12079
12080         * s/cygwin32.h: declare printer things.
12081
12082 2000-01-26  Andy Piper  <andy@xemacs.org>
12083
12084         * select.c (Fown_selection_internal): GCPRO bug fix from Mike
12085         Alexander.
12086
12087 2000-01-24  Andy Piper  <andy@xemacs.org>
12088
12089         * glyphs-msw.c (mswindows_locate_pixmap_file): Expand filename.
12090         (mswindows_button_instantiate): Make sure glyph is a pixmap.
12091
12092         * glyphs-widget.c (widget_instantiate): Avoid shadows.
12093
12094         * frame-msw.c (msprinter_init_frame_3): Nuke warning.
12095
12096         * glyphs-msw.c: (mswindows_string_to_color): remove declaration.
12097
12098         * redisplay-msw.c (mswindows_output_cursor): Avoid shadows.
12099         (mswindows_output_display_block): Avoid local shadows.
12100
12101         * event-msw.c (mswindows_enqueue_magic_event): Avoid shadows.
12102         (mswindows_enqueue_mouse_button_event): ditto.
12103         (mswindows_handle_gui_wm_command): remove declaration.
12104
12105         * console-msw.c (mswindows_canonicalize_console_connection): Avoid
12106         warnings.
12107
12108         * console-msw.h: Avoid shadows.
12109         (mswindows_get_toolbar_button_text):
12110         (emacs_mswindows_create_stream_pair):
12111         (emacs_mswindows_delete_stream_pair):
12112         (mswindows_handle_toolbar_wm_command): declare.
12113
12114         * device-msw.c (build_syscolor_string): Avoid shadows.
12115
12116 2000-01-23  Andy Piper  <andy@xemacs.org>
12117
12118         * glyphs-widget.c (widget_instantiate): reverse the items for
12119         layouts so that children are in the expected order.
12120
12121 2000-01-28  Martin Buchholz  <martin@xemacs.org>
12122
12123         * ralloc.c: safe_bcopy ==> memmove
12124         * gmalloc.c: Remove MEMMOVE_MISSING conditional code.
12125         * s/msdos.h: Remove BCOPY macros.
12126         * insdel.c (gap_right): Remove BCOPY conditional code.
12127         * insdel.c (gap_left): Remove BCOPY conditional code.
12128         XEmacs demands a working ANSI C compiler - hence memmove.
12129
12130         * regex.c (regex_compile): Remove accidental use of trigraphs.
12131
12132 2000-01-27  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12133
12134         * event-msw.c (mswindows_enqueue_misc_user_event): Initialize
12135         event timestamp.
12136
12137 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12138
12139         * event-msw.c (mswindows_drain_windows_queue): Added the
12140         parameter.
12141         (mswindows_need_event): Commented the call to
12142         mswindows_drain_windows_queue().
12143         (emacs_mswindows_quit_p): Lookup the windows for keyboard messages
12144         only.
12145
12146         * console-msw.h: Moved a few function prototypes here from
12147         event-msw.c.
12148
12149         * gui-msw.c (mswindows_handle_gui_wm_command): Changed the ID
12150         parameter from unsigned short to unsigned long.
12151         (Fmswindows_shell_execute): Added return value.
12152
12153 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
12154
12155         * sysdep.c (init_system_name):
12156           process-unix.c (unix_canonicalized_host_name):
12157         Don't call freeaddrinfo() if getaddrinfo() fails.
12158
12159         * process-unix.c (unix_open_unix_network_stream):
12160         Moved the code to get a port # into address loop.
12161
12162 2000-01-27  Martin Buchholz  <martin@xemacs.org>
12163
12164         * buffer.c (reinit_vars_of_buffer):
12165         The right place to initialize conversion_in_dynarr and
12166         conversion_out_dynarr.
12167
12168         * alloc.c (pdump): Use the real open() till sys_open() is functional.
12169
12170         * process-unix.c (unix_canonicalize_host_name): Muleize.
12171         (unix_open_network_stream): Muleize.
12172
12173         * buffer.h: Fix up prototypes for ralloc.c functions.
12174
12175 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
12176         * config.h.in: added HAVE_GETADDRINFO and HAVE_GETNAMEINFO
12177         * sysdep.c: In init_system_name(), add code to use getaddrinfo()
12178                 instead of gethostbyname()
12179         * process-unix.c: In unix_canonicalize_host_name() and
12180                 unix_open_network_stream(), add code to use getaddrinfo()
12181                 instead of gethostbyname().
12182
12183 2000-01-27  Daniel Pittman <daniel@danann.net>
12184
12185         * device-x.c (x_init_device): Warn at run-time if using Athena 3d
12186         libs when built with flat Athena.
12187
12188 2000-01-27  Martin Buchholz  <martin@xemacs.org>
12189
12190         * ralloc.c: Replace SIZE (conflicts with Windows headers) with size_t.
12191         Use coding standards for function prototypes.
12192
12193 2000-01-25  Martin Buchholz  <martin@xemacs.org>
12194
12195         * dialog-msw.c (push_lisp_string_as_unicode):
12196         * doc.c (unparesseuxify_doc_string):
12197         * dired.c (Fuser_name_completion_1):
12198         * dired.c (Fuser_name_all_completions):
12199         * dired.c (free_user_cache):
12200         * dired.c (user_name_completion):
12201         * console-x.c (get_display_arg_connection):
12202         * minibuf.c (clear_echo_area_internal):
12203         * minibuf.c (echo_area_append):
12204         * eldap.c (Fldap_open):
12205         * eldap.c (Fldap_search_internal):
12206         * frame-x.c (x_set_frame_text_value):
12207         * frame-x.c (x_set_frame_properties):
12208         * frame-x.c (x_create_widgets):
12209         * redisplay-tty.c (term_get_fkeys_1):
12210         * objects-x.c (x_parse_nearest_color):
12211         * objects-x.c (x_valid_color_name_p):
12212         * objects-x.c (x_initialize_font_instance):
12213         * objects-x.c (x_list_fonts):
12214         * objects-x.c (x_find_charset_font):
12215         * tooltalk.c (Fadd_tooltalk_message_arg):
12216         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
12217         * tooltalk.c (Fadd_tooltalk_pattern_arg):
12218         * process-unix.c (unix_create_process):
12219         * ntproc.c (sys_spawnve):
12220         * sound.c (Fplay_sound_file):
12221         * sound.c (Fplay_sound):
12222         * buffer.c (init_initial_directory):
12223         * buffer.c (init_buffer):
12224         * editfns.c (init_editfns):
12225         * editfns.c (Ftemp_directory):
12226         * editfns.c (Fuser_full_name):
12227         * editfns.c (uncache_home_directory):
12228         * editfns.c (get_home_directory):
12229         * editfns.c (Fuser_home_directory):
12230         * editfns.c (Fformat_time_string):
12231         * editfns.c (Fcurrent_time_string):
12232         * gui-x.c (button_item_to_widget_value):
12233         * database.c (Fopen_database):
12234         * event-Xt.c (x_to_emacs_keysym):
12235         * event-Xt.c (x_event_to_emacs_event):
12236         * event-Xt.c (describe_event_window):
12237         * event-msw.c (mswindows_wnd_proc):
12238         * glyphs-eimage.c (jpeg_instantiate):
12239         * glyphs-eimage.c (gif_instantiate):
12240         * glyphs-eimage.c (png_instantiate):
12241         * glyphs-eimage.c (tiff_instantiate):
12242         * glyphs-x.c (xbm_instantiate_1):
12243         * glyphs-x.c (x_xbm_instantiate):
12244         * glyphs-x.c (x_xface_instantiate):
12245         * glyphs-x.c (autodetect_instantiate):
12246         * glyphs-x.c (cursor_font_instantiate):
12247         * glyphs-x.c (x_widget_instantiate):
12248         * glyphs-x.c (x_widget_set_property):
12249         * glyphs-x.c (x_widget_property):
12250         * glyphs-x.c (BUILD_GLYPH_INST):
12251         * print.c (write_string_to_stdio_stream):
12252         * print.c (output_string):
12253         * print.c (Falternate_debugging_output):
12254         * print.c (Fexternal_debugging_output):
12255         * glyphs-msw.c (extract_xpm_color_names):
12256         * glyphs-msw.c (mswindows_xpm_instantiate):
12257         * glyphs-msw.c (bmp_instantiate):
12258         * glyphs-msw.c (resource_name_to_resource):
12259         * glyphs-msw.c (mswindows_resource_instantiate):
12260         * glyphs-msw.c (xbm_instantiate_1):
12261         * glyphs-msw.c (mswindows_xbm_instantiate):
12262         * glyphs-msw.c (mswindows_xface_instantiate):
12263         * glyphs-msw.c (mswindows_widget_instantiate):
12264         * glyphs-msw.c (add_tree_item):
12265         * glyphs-msw.c (add_tab_item):
12266         * glyphs-msw.c (mswindows_combo_box_instantiate):
12267         * glyphs-msw.c (mswindows_widget_property):
12268         * glyphs-msw.c (mswindows_combo_box_property):
12269         * glyphs-msw.c (mswindows_widget_set_property):
12270         * console.c (stuff_buffered_input):
12271         * objects-msw.c (mswindows_initialize_color_instance):
12272         * objects-msw.c (mswindows_valid_color_name_p):
12273         * objects-msw.c (mswindows_list_fonts):
12274         * objects-msw.c (mswindows_font_instance_truename):
12275         * bytecode.c (optimize_compiled_function):
12276         * select-x.c (symbol_to_x_atom):
12277         * select-x.c (x_atom_to_symbol):
12278         * select-x.c (hack_motif_clipboard_selection):
12279         * select-x.c (selection_data_to_lisp_data):
12280         * select-x.c (lisp_data_to_selection_data):
12281         * select-x.c (Fx_get_cutbuffer_internal):
12282         * select-x.c (Fx_store_cutbuffer_internal):
12283         * buffer.h (TO_EXTERNAL_FORMAT): New function.
12284         * buffer.h (TO_INTERNAL_FORMAT): New function.
12285         * emacs.c (make_arg_list_1):
12286         * emacs.c (make_argc_argv):
12287         * emacs.c (main_1):
12288         * emacs.c (Fdump_emacs):
12289         * emacs.c (split_string_by_emchar_1):
12290         * file-coding.h:
12291         * lisp.h:
12292         * lstream.h:
12293         * symsinit.h:
12294         * device-x.c (x_init_device):
12295         * device-x.c (Fx_valid_keysym_name_p):
12296         * device-x.c (Fx_get_font_path):
12297         * device-x.c (Fx_set_font_path):
12298         * glyphs.c (bitmap_to_lisp_data):
12299         * glyphs.c (pixmap_to_lisp_data):
12300         * alloc.c (make_ext_string): Use coding system arguments.  Update
12301         all callers.
12302         * alloc.c (build_string):
12303         * callproc.c (child_setup):
12304         * callproc.c (init_callproc):
12305         * fileio.c (lisp_strerror):
12306         * fileio.c (directory_file_name):
12307         * fileio.c (Fexpand_file_name):
12308         * fileio.c (Ffile_truename):
12309         * fileio.c (Fsysnetunam):
12310         * fileio.c (Fdo_auto_save):
12311         * sysdep.c (sys_readdir):
12312         * tests.c: New file.  Allow adding C tests.
12313         Replace GET_* macros with a more comprehensible and flexible
12314         interface, TO_INTERNAL_FORMAT() and TO_EXTERNAL_FORMAT().
12315         Modify all calls.
12316         Any coding system can be used to do format conversion.
12317         Eliminate enum external_data_format.
12318         Eliminate convert_to_external_format.
12319         Eliminate convert_to_internal_format.
12320         Make sure file-name, keyboard, terminal, and ctext are always
12321         defined as coding systems or aliases.  Make
12322         file-name-coding-system, terminal-coding-system, and
12323         keyboard-coding-system magical variables that are equivalent to
12324         defining the corresponding coding system aliases.
12325
12326         * file-coding.c (Fcoding_system_canonical_name_p): New function.
12327         * file-coding.c (Fcoding_system_alias_p): New function.
12328         * file-coding.c (Fcoding_system_aliasee): New function.
12329         * file-coding.c (append_suffix_to_symbol): New function.
12330         * file-coding.c (dangling_coding_system_alias_p): New function.
12331         * file-coding.c (Ffind_coding_system):
12332         * file-coding.c (Fcopy_coding_system):
12333         * file-coding.c (encode_coding_no_conversion):
12334         * file-coding.c (syms_of_file_coding):
12335         * file-coding.c (vars_of_file_coding):
12336         Rewrite coding system alias code.
12337         Allow nested aliases, like symbolic links.
12338         Allow redefinition of coding system aliases.
12339         Prevent existence of dangling coding system aliases.
12340
12341         * dired.c (Fuser_name_completion_1):
12342         * dired.c (Fuser_name_all_completions):
12343         A crash would happen if user did QUIT in the middle of building
12344         user_name_cache.  Remove redundant code in mainline and unwind_protect.
12345
12346         * lisp.h:
12347         * dynarr.c (Dynarr_min_size): Make static.  Increase value to 8.
12348
12349         * lstream.c (make_fixed_buffer_input_stream): Take a void *, not
12350         an unsigned char *.  Update all callers.
12351
12352 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12353
12354         * callproc.c (Fcall_process_internal): Ignore Vbinary-process_output.
12355
12356 2000-01-25  Martin Buchholz  <martin@xemacs.org>
12357
12358         * elhash.c (hentry_description): Use more portable definition.
12359         (resize_hash_table): Initialize new hentries using
12360         xnew_array_and_zero, thereby simplifying the code.
12361
12362         * mule-charset.c (make_charset): Make sure entire object is
12363         initialized, to avoid Purify warnings.
12364
12365         * alloc.c (resize_string): Fix unlikely crash with big strings.
12366
12367 2000-01-24  Martin Buchholz  <martin@xemacs.org>
12368
12369         * realpath.c (xrealpath):
12370         Don't call getwd().
12371
12372 2000-01-25  Martin Buchholz  <martin@xemacs.org>
12373
12374         * lread.c (read_bit_vector): Fix memory leak reading literal bit vectors.
12375
12376 1999-12-28  Max Matveev  <max@melbourne.sgi.com>
12377
12378         * unexelfsgi.c (unexec): Change the way we decide which segment
12379         should be extended.
12380
12381         Assumption that .bss section should be outside the PT_LOADable
12382         segment. On IRIX with version 6.2 and above, .bss (or .sbss, if
12383         it's present) is inside the 'data' segment. This would fail the
12384         test which was used to find a segment to grow and cover new
12385         heap. Instead of this assumption, I created another one - on IRIX
12386         the segment to grow should start below .bss and it's address
12387         should extent above the end of .bss. Once this segment is
12388         identified, it's grown to accommodate the new heap and new
12389         zero-length .bss section is added at the end of .data2.
12390
12391 2000-01-25  Martin Buchholz  <martin@xemacs.org>
12392
12393         * eval.c (Feval): Wrong number of arguments should use original
12394         function, not the indirect_function version of it.
12395
12396 2000-01-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
12397
12398         * glyphs-x.c (x_button_instantiate): Don't add image if
12399         it is not a pixmap.
12400         (x_locate_pixmap_file): Call Fexpand_file_name when file name
12401         is relative.
12402
12403 2000-01-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
12404
12405         * symeval.h (DEFVAR_LISP_MAGIC): Remove semicolon after macro
12406         declaration.
12407         (DEFVAR_INT_MAGIC): Ditto.
12408         (DEFVAR_BOOL_MAGIC): Ditto.
12409         * glyphs.h: Reindent backslash.
12410
12411 2000-01-24  Martin Buchholz  <martin@xemacs.org>
12412
12413         * glyphs-widget.c (layout_query_geometry):
12414         (layout_layout): Use correct types for gheight, gwidth.
12415
12416 2000-01-24  Martin Buchholz  <martin@xemacs.org>
12417
12418         * EmacsManager.c (QueryGeometry): Purified.
12419
12420 2000-01-23  Martin Buchholz  <martin@xemacs.org>
12421
12422         * alloc.c (make_float): Make sure entire object is initialized, to
12423         avoid Purify warnings.
12424         (pdump_register_sub): Remove useless assignment.
12425         (pdump): Use xmalloc, not malloc.
12426         (pdump_load): Use xmalloc, not malloc.
12427
12428 2000-01-23  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12429
12430         * callproc.c:
12431         * dired-msw.c:
12432         * fileio.c:
12433         * process-nt.c:
12434         * redisplay-msw.c:
12435         * sysdep.c: Removed redundant #include <windows.h>
12436
12437 2000-01-22  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12438
12439         * frame.c (delete_frame_internal): Do not delete device when its
12440         implementation so declares.
12441         (delete_frame_internal): Set device selected frame to nil when
12442         last frame goes away.
12443
12444         * device-msw.c (msprinter_device_system_metrics): Implemented.
12445         (mswindows_device_system_metrics): Added 'device-dpi property.
12446
12447         * device.c: (Fdevice_printer_p): Added.
12448         Added 'offset-workspace device metric.
12449
12450         * console.h (device_metrics): Declared DM_offset_workspace.
12451
12452 2000-01-23  Martin Buchholz  <martin@xemacs.org>
12453
12454         * fileio.c (Ffile_truename): Remove pointless and confusing
12455         initialization of elen.
12456
12457         * glyphs-widget.c: Compiler warning fixes.
12458
12459 2000-01-23  Gunnar Evermann  <ge204@eng.cam.ac.uk>
12460
12461         * process.h (PROCESS_LIVE_P): Modify to take a Lisp_Process
12462         instead of a Lisp_Object as argument to make it consistent with
12463         the other LIVE_P macros.
12464         (CHECK_LIVE_PROCESS): New macro.
12465
12466         * process.c: Declare Qprocess_live_p.
12467         (Fprocess_live_p): New function.
12468         (create_process): Use PROCESS_LIVE_P.
12469         (read_process_output): Ditto.
12470         (set_process_filter): Ditto.
12471         (Fdelete_process): Ditto.
12472         (kill_buffer_processes): Ditto
12473         (process_send_signal): Use CHECK_LIVE_PROCESS.
12474         (Fprocess_input_coding_system): Check whether process is still
12475         alive (fix PR#1061).
12476         (Fprocess_output_coding_system): Ditto.
12477         (Fprocess_coding_system): Ditto.
12478         (Fset_process_input_coding_system): Ditto.
12479         (Fset_process_output_coding_system): Ditto.
12480
12481 2000-01-23  Andy Piper  <andy@xemacs.org>
12482
12483         * glyphs.h (struct Lisp_Image_Instance): change format by unifying
12484         layout and widget.
12485
12486         * glyphs.c (mark_image_instance): take into account changed
12487         image_instance format.
12488         (image_instance_equal): ditto.
12489         (image_instance_hash): ditto.
12490
12491         * glyphs-widget.c (widget_instantiate): Incorporate layout
12492         instantiation here. Delay layout of the layout until later.
12493         (layout_instantiate): deleted.
12494         (layout_query_geometry): new function. get the geometry of a
12495         layout.
12496         (layout_layout): layout a layout dynamically.
12497         (image_instantiator_widget): New function - splitting up
12498         image_instantiator_format_create_glyphs_widget for netwinder
12499         compilation.
12500         (image_instantiator_buttons):
12501         (image_instantiator_edit_fields):
12502         (image_instantiator_combo_box):
12503         (image_instantiator_scrollbar):
12504         (image_instantiator_progress_guage):
12505         (image_instantiator_tree_view):
12506         (image_instantiator_tab_control):
12507         (image_instantiator_labels):
12508         (image_instantiator_layout): ditto.
12509         (image_instantiator_format_create_glyphs_widget): Call preceding
12510         functions.
12511
12512 2000-01-22  Martin Buchholz  <martin@xemacs.org>
12513
12514         * process.c (Fset_process_coding_system):
12515         * device-x.c (Fx_keysym_hash_table):
12516         Docstring fixes.
12517
12518         * lstream.c (Lstream_write): Return documented value, not 0.
12519
12520         * fileio.c (directory_file_name):
12521         (Fsubstitute_in_file_name):
12522         (Fsubstitute_insert_file_contents_internal):
12523         (Fwrite_region_internal):
12524         * emacs.c:
12525         * sysdep.c:
12526         * getloadavg.c:
12527         * systty.h:
12528         Remove vestigial APOLLO-conditional code.
12529
12530 2000-01-21  Martin Buchholz  <martin@xemacs.org>
12531
12532         * getpagesize.h: Add guard macros.
12533         * libsst.h: Add guard macros.
12534         * libst.h: Add guard macros.
12535         * line-number.h: Add guard macros.
12536         * ndir.h: Add guard macros.
12537         * sysfloat.h: Add guard macros.
12538         * sysfile.h: Add guard macros.
12539         * sysproc.h: Add guard macros.
12540         * syswait.h: Add guard macros.
12541         * xintrinsic.h: Add guard macros.
12542         * xintrinsicp.h: Add guard macros.
12543         * xmmanager.h: Add guard macros.
12544         * xmmanagerp.h: Add guard macros.
12545         * xmprimitive.h: Add guard macros.
12546         * xmu.h: Add guard macros.
12547         * gpmevent.h: Add copyright statement. Add guard macros.
12548         * miscplay.h: Add guard macros.
12549         * *.h: Use consistent C-standards-approved guard macro names.
12550
12551         * opaque.c (make_opaque): Switch parameter order.
12552         * opaque.h (make_opaque): Switch parameter order.
12553         Update all callers.
12554         * buffer.h (MAKE_MIRROR_TRT_TABLE): Use symbolic constant OPAQUE_CLEAR.
12555
12556         * config.h.in (type_checking_assert): Added.
12557         (bufpos_checking_assert): Added.
12558
12559 2000-01-21  Martin Buchholz  <martin@xemacs.org>
12560
12561         * alloc.c: Harmless pdump changes.
12562         - Use countof().
12563         - spell alignment correctly.
12564         * sysdep.c: Use countof()
12565
12566 2000-01-20  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12567
12568         * console.c (create_console): Use CONMETH_OR_GIVEN when calling
12569         initially_selected_for_input() console method, default to 0.
12570         (semi_canonicalize_console_connection): Try to delegate to
12571         canonicalize_console_connection if no such console method.
12572         (canonicalize_console_connection): Vice versa.
12573         (print_console): Do not print nil connection.
12574
12575         * console.h (XDEVIMPF_IS_A_PRINTER): Added.
12576         (XDEVIMPF_NO_AUTO_REDISPLAY): Added.
12577         (XDEVIMPF_FRAMELESS_OK): Added.
12578         (CONSOLE_INHERITS_METHOD): Added.
12579
12580         * console-msw.c (mswindows_canonicalize_console_connection):
12581         Added.
12582         (mswindows_canonicalize_device_connection): Added.
12583
12584         * console-msw.h (struct msprinter_device): Added this struct and
12585         accessor macros.
12586         (mswindows_device): Made fontlist a lisp object.
12587
12588         * device.c (semi_canonicalize_device_connection):  Try to delegate
12589         to canonicalize_device_connection if no such console method.
12590         (canonicalize_device_connection): Vice versa.
12591         (print_device): Do not print nil connection.
12592
12593         * device-msw.c (mswindows_init_device): Call InitCommonControls
12594         when have widgets.
12595         (mswindows_delete_device): Removed fontlist deallocation.
12596         (mswindows_mark_device): Added.
12597
12598         * events.c (event_equal): Added abort() at unreached code.
12599         (event_hash): Ditto.
12600
12601         * faces.c (complex_vars_of_faces): Added Qmsprinter to the list of
12602         fallback tags of Windows devices.
12603
12604         * general.c (syms_of_general): Initialized Qmsprinter.
12605
12606         * gutter.c (complex_vars_of_gutters): Added Qmsprinter to the list
12607         of fallback tags of Windows devices.
12608
12609         * lisp.h: Declared Qmsprinter.
12610
12611         * objects-msw.c (font_enum_callback_2): Rewrote to build lisp list
12612         of strings.
12613         (mswindows_list_fonts): Ditto.
12614         (mswindows_enumerate_fonts): Removed dependency on XDEVICE, so
12615         that it can be used by both mswindows and msprinter devices.
12616         (initialize_font_instance): Added.
12617         (mswindows_initialize_font_instance): Use it.
12618         (msprinter_initialize_font_instance): Added.
12619
12620         * redisplay.c (redisplay_device): Added the parameter AUTOMATIC
12621         and implementation flags check.
12622         (redisplay_without_hooks): Changed the call to the above.
12623         (Fredraw_device): Ditto.
12624         (Fredisplay_device): Ditto.
12625
12626         * redisplay-msw.c (get_frame_dc): Implemented.
12627         (get_frame_compdc): Implemented.
12628         (many functions): Use the two functions above to get device
12629         contexts, ether for a window or a printer.
12630
12631 2000-01-21  Olivier Galibert  <galibert@pobox.com>
12632
12633         * symbols.c (reinit_symbols_once_early): Put Qzero/Qnull_pointer
12634         initialization here.
12635         (init_symbols_once_early): Call it.
12636         * emacs.c (main_1): Call it.
12637         * symsinit.h: Declare it.
12638
12639 2000-01-19  Olivier Galibert  <galibert@pobox.com>
12640
12641         * alloc.c: Use a lrecord_header * in the backtrace instead of a
12642         Lisp_Object.
12643         (pdump_backtrace): Ditto.
12644         (pdump_register_object): Ditto.  Cleanup use of the pointers.
12645         (pdump_get_entry): Abort if trying to register a null pointer.
12646         (pdump_dump_data): Cleanup types when relocating.
12647         (pdump_dump_staticvec): Cleanup types w.r.t the reloc table.
12648         (pdump_dump_rtables): Remove bad casts.
12649         (pdump_load): Cleanup relocation w.r.t union type.  Use a
12650         Lisp_Object instead of a EMACS_INT for the hashtable
12651         reorganization.
12652
12653 2000-01-20  Martin Buchholz  <martin@xemacs.org>
12654
12655         * emacs.c (main_1): Rearrange morass of #ifdef's for correctness.
12656
12657         * callproc.c (call_process_cleanup): Isolate WINDOWSNT code for clarity.
12658
12659         * EmacsManager.c (GeometryManager): Avoid use of CPP for clarity.
12660
12661         * *.[ch]: global-replace 's/_of_xselect/_of_select_x/g' *.[ch]
12662
12663 2000-01-17  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12664
12665         * faces.h (FACE_STRIKETHRU_P): Added.
12666
12667         * glyphs-msw.c (mswindows_widget_hfont): Implemented, to take care
12668         of font variants.
12669
12670         * redisplay-msw.c (mswindows_apply_face_effects): Deleted.
12671         (mswindows_set_dc_font): New function, aware of font variants,
12672         separated from mswindows_update_dc.
12673
12674         * objects-msw.h (struct mswindows_font_instance_data): Added
12675         definition.
12676
12677         * objects-msw.c (mswindows_finalize_font_instance): Delete all
12678         cached fonts and the data structure.
12679         (mswindows_initialize_font_instance): Added creation of font data
12680         structure.
12681         (mswindows_print_font_instance): Print at least something.
12682         (mswindows_create_font_variant): Implemented.
12683         (mswindows_get_hfont): Implemented.
12684
12685 2000-01-13  Fabrice Popineau  <Fabrice.Popineau@supelec.fr>
12686
12687         * dired-msw.c: permute "sysdir.h" with "sysfile.h" because of
12688         prototyping problem with msvc.
12689
12690         * emacs.c (main_1): added syms_of_gui_mswindows() call
12691
12692         * gui-msw.c: added "mswindows-shell-execute" lisp subr and
12693         syms_of_gui_mswindows() function
12694
12695         * symsinit.h: added the prototype for syms_of_gui_mswindows()
12696
12697 2000-01-18  Martin Buchholz <martin@xemacs.org>
12698
12699         * XEmacs 21.2.27 is released.
12700
12701 2000-01-18  Martin Buchholz  <martin@xemacs.org>
12702
12703         * glyphs-eimage.c (struct tiff_error_struct):
12704         (tiff_error_func):
12705         (tiff_warning_func):
12706         #if HAVE_VSNPRINTF ==> #ifdef HAVE_VSNPRINTF
12707
12708         * unexmips.c:
12709         * unexhp9k3.c:
12710         * unexfreebsd.c:
12711         * unexec.c: Remove vestigial Lucid C code.
12712         * unexalpha.c:
12713         * unexaix.c:
12714         * termcap.c:
12715         * libsst.c: Ansify.
12716         Remove declarations of errno and strerror().
12717
12718         * eval.c (Fbacktrace): Small Purify-cation.  Fix docstring.
12719
12720         * .dbxrc (run-temacs): Use the horrible ${1+"$@"} instead of "$@".
12721
12722 2000-01-16  Martin Buchholz  <martin@xemacs.org>
12723
12724         * mule-charset.c (Fchar_octet): Resurrect from earlier in 1999.
12725         Optimize.
12726
12727 2000-01-14  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
12728
12729         * md5.c:
12730         * file-coding.c:
12731         * file-coding.h:
12732         Change enum eol_type to eol_type_t.
12733
12734 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
12735
12736         * gui.c (get_gui_callback): Check cons before accessing car.
12737
12738 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
12739
12740         * specifier.h (XSPECIFIER_TYPE): Add error checking version.
12741         (XSETSPECIFIER_TYPE): Ditto.
12742
12743 2000-01-17  Didier Verna  <didier@xemacs.org>
12744
12745         * redisplay.c (generate_fstring_runes): compute string size in
12746         characters, not bytes.
12747
12748 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
12749
12750         * window.c (Fwindow_minibuffer_p): Make WINDOW optional.
12751
12752 2000-01-14  Hrvoje Niksic  <hniksic@iskon.hr>
12753
12754         * print.c (print_error_message): Call print_prepare().
12755
12756 2000-01-14  Martin Buchholz  <martin@xemacs.org>
12757
12758         * .dbxrc: Renamed from dbxrc.
12759
12760         * events.c (event_to_character):
12761         Use `assert (foo)' instead of `if (!foo) abort()'
12762
12763         * .gdbinit (xtype): Add documentation.
12764         * .gdbinit (check-temacs): New function.
12765         * .gdbinit (check-xemacs): New function.
12766         * dbxrc (check-xemacs): New function.
12767         * dbxrc (check-xemacs): New function.
12768
12769 2000-01-14  Andy Piper  <andy@xemacs.org>
12770
12771         * glyphs-widget.c (widget_query_geometry): Make sure that we
12772         calculate default dimensions correctly.
12773
12774 2000-01-13  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12775
12776         * symsinit.h: Added prototype for reinit_vars_of_frame_mswindows.
12777
12778         * event-msw.c (vars_of_event_mswindows): Fixed a mistyped
12779         pdump_wire'd variable.
12780
12781         * emacs.c: (main_1): Conditionalized calls to
12782         reinit_vars_of_scrollbar_x and reinit_vars_of_module.
12783
12784 2000-01-13  Martin Buchholz  <martin@xemacs.org>
12785
12786         * window.c (Fset_window_configuration):
12787         * sysdep.c (_start):
12788         * input-method-motif.c (res):
12789         * event-Xt.c (Xt_process_to_emacs_event):
12790         Simple compiler warning fixes.
12791
12792         * bytecode.c (funcall_compiled_function): Use the original
12793         function symbol on the backtrace list in preference to the
12794         compiled_function object in error messages.
12795
12796 2000-01-13  Andy Piper  <andy@xemacs.org>
12797
12798         * glyphs-x.c (update_widget_face): Make sure we update the widget
12799         background as well as foreground.
12800
12801 2000-01-13  Andy Piper  <andy@xemacs.org>
12802
12803         * glyphs.h (struct Lisp_Image_Instance): Move justify and orient
12804         fields to subwindow.
12805         (IMAGE_INSTANCE_SUBWINDOW_JUSTIFY): new macro.
12806         (XIMAGE_INSTANCE_SUBWINDOW_JUSTIFY): ditto.
12807         (IMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
12808         (XIMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
12809
12810         * glyphs-widget.c (check_valid_tab_orientation): new function.
12811         (initialize_widget_image_instance): zero orientation and
12812         justification.
12813         (widget_instantiate): pick up orientation.
12814         (tab_control_query_geometry): return appropriate values for
12815         vertical tabs.
12816
12817         * glyphs-msw.c: (mswindows_tab_control_instantiate): assign
12818         appropriate creation flags for left, right and bottom tabs.
12819
12820         * s/cygwin32.h: add tab definitions.
12821
12822 2000-01-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12823
12824         * glyphs-msw.c (mswindows_unmap_subwindow): Set focus back to the
12825         frame upon hiding a subwindow.
12826         (mswindows_button_instantiate): Changed the push button style to
12827         BS_PUSHBUTTON.
12828         (mswindows_button_instantiate): Removed button BS_NOTIFY
12829         style.
12830         (mswindows_button_instantiate): Removed redundant check for
12831         a disabled gui item.
12832         (mswindows_button_instantiate): Made use of WS_TABSTOP
12833         consistent: "operable" controls (edit, button, tree, scroll) have
12834         this style, "display-only" ones (static, progress gauge) do
12835         not. This style is currently ignored by XEmacs though. Also,
12836         removed the WS_EX_CONTROLPARENT style - it is not for children,
12837         it is for their parents!
12838         (mswindows_edit_field_instantiate): Ditto.
12839         (mswindows_progress_gauge_instantiate): Ditto.
12840         (mswindows_tree_view_instantiate): Ditto.
12841         (mswindows_tab_control_instantiate): Ditto.
12842         (mswindows_scrollbar_instantiate): Ditto.
12843         (mswindows_combo_box_instantiate): Ditto.
12844         (mswindows_widget_instantiate): Added the WS_EX_CONTROLPARENT
12845         style to the "clip" window.
12846         (mswindows_button_instantiate): Removed compilation warning by
12847         equally typing terms of the ?: operator.
12848
12849 2000-01-12  Didier Verna  <didier@xemacs.org>
12850
12851         * redisplay.c (generate_fstring_runes): new parameter holding the
12852         last modeline-format extent.
12853         (add_glyph_to_fstring_db_runes): new parameter holding the glyph
12854         extent, fill the glyph block with it.
12855         (generate_fstring_runes): handle these parameters.
12856         (generate_formatted_string_db): ditto.
12857
12858         * keymap.c (get_relevant_keymaps): retreive the keymaps from the
12859         glyphs'extents in the modeline.
12860
12861 1999-01-11  Mike Woolley  <mike@bulsara.com>
12862
12863         * ntheap.c: Reduced the reserved heap space from 1Gb down to
12864         256Mb, as a workaround for the non-starting problem many people
12865         have experienced.
12866
12867 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
12868
12869         * console-tty.c (Fset_console_tty_output_coding_system):
12870         Force redrawing tty frame.
12871
12872 2000-01-10  Didier Verna  <didier@xemacs.org>
12873
12874         * redisplay.c (generate_fstring_runes): fix size computation bug.
12875
12876 2000-01-09  William M. Perry <wmperry@aventail.com>
12877
12878         * gpmevent.c: (gpm_next_event_cb): Don't return value from void function.
12879
12880 2000-01-09  Andy Piper  <andy@xemacs.org>
12881
12882         * glyphs-msw.c: index -> i to avoid shadows.
12883         (xbm_create_bitmap_from_data): make static.
12884         (check_valid_string_or_int): deleted.
12885         (mswindows_control_wnd_proc): message -> msg to avoid shadows.
12886
12887         * glyphs-x.c (x_update_subwindow): remove unused args.
12888
12889         * glyphs.c (glyph_image_instance): return the thing. Don't set the
12890         back pointer - this is done in allocate_image_instance.
12891         (query_string_font): return Qnil to make the compiler happy.
12892         (unmap_subwindow): set to ~0 to make the compiler happy.
12893         (glyph_query_geometry): comment out until used.
12894         (glyph_layout): ditto.
12895
12896 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
12897
12898         * insdel.c (signal_after_change): Remove extraneous unbind_to().