e63234d9d44591172a78a1b1a3c72cb678c0f767
[chise/xemacs-chise.git] / src / ChangeLog
1 2002-04-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2
3         * mule-charset.c (complex_vars_of_mule_charset): Use "big5-0" as
4         the XLFD registry-encoding name of `chinese-big5'.
5
6 2002-04-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
7
8         * mule-charset.c (Vcharset_chinese_big5_cdp): Deleted.
9         (Qchinese_big5_cdp): Deleted.
10         (syms_of_mule_charset): Delete symbol `chinese-big5-cdp'.
11         (complex_vars_of_mule_charset): Delete coded-charset
12         `chinese-big5-cdp'.
13
14         * char-ucs.h (CHARSET_ID_OFFSET): Deleted.
15         (LEADING_BYTE_*): Use `MIN_LEADING_BYTE + n' instead of
16         `CHARSET_ID_OFFSET - n' for private CCS.
17         (LEADING_BYTE_CHINESE_BIG5_CDP): Deleted.
18         (MIN_LEADING_BYTE_PRIVATE): Use `(MIN_LEADING_BYTE + 97)' instead
19         of `MIN_LEADING_BYTE'.
20         (MAX_LEADING_BYTE_PRIVATE): Use `-1' instead of
21         `(CHARSET_ID_OFFSET - 97)'.
22         (MIN_CHAR_BIG5_CDP): Deleted.
23         (MAX_CHAR_BIG5_CDP): Deleted.
24
25 2002-01-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
26
27         * mule-charset.c (Fmake_charset): Modify DOC-string for UTF-2000
28         extension.
29
30 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
31
32         * mule-charset.c (decode_builtin_char): Support mother charsets.
33
34 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
35
36         * mule-charset.c (Q94x94x60): New variable.
37         (charset_code_point): Support conversion `94x94x60'.
38         (Fmake_charset): Likewise.
39         (syms_of_mule_charset): Add new symbol `94x94x60'.
40
41         * char-ucs.h (CONVERSION_94x94x60): New macro.
42
43 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
44
45         * mule-charset.c (charset_code_point): Unify code about
46         `code-offset'.
47
48 2001-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
49
50         * mule-charset.c (charset_code_point): Merge code about builtin
51         characters into code about mother charsets; don't use
52         `range_charset_code_point'.
53         (range_charset_code_point): Deleted.
54
55 2001-12-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
56
57         * mule-charset.c (Qcode_offset): New variable.
58         (Fmake_charset): Use `XUINT' to get value of `min-code' and
59         `max-code'; accept new property `code-offset'.
60         (syms_of_mule_charset): Add new symbol `code-offset'.
61
62 2001-12-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
63
64         * mule-charset.c (range_charset_code_point): Fixed.
65
66 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
67
68         * mule-charset.c (decode_builtin_char): Change semantics of
69         code-offset of coded-charset.
70         (charset_code_point): Likewise.
71         (range_charset_code_point): Likewise.
72         (complex_vars_of_mule_charset): Modify for the change.
73
74 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
75
76         * mule-charset.c (Fencode_char): Reverse arguments.
77
78         * mule-charset.c (charset_code_point): Fixed.
79
80 2001-12-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
81
82         * mule-charset.c (Vcharset_mojikyo): Deleted.
83         (Vcharset_mojikyo_2022_1): Deleted.
84         (Vcharset_mojikyo_pj_{1..21}): Deleted.
85         (Qmin_code): New variable in UTF-2000.
86         (Qmax_code): Likewise.
87         (Qmother): Likewise.
88         (Qconversion): Likewise.
89         (Q94x60): Likewise.
90         (Qmojikyo): Deleted.
91         (Qmojikyo_2022_1): Deleted.
92         (Qmojikyo_pj_{1..22}): Deleted.
93         (mark_charset): Mark `cs->mother'.
94         (charset_description): Add description for `mother'.
95         (make_charset): Rename `ucs_{min|max}' to `{min|max}_code'; add
96         new arguments `mother' and `conversion'; use
97         `CHARSET_{MIN|MAX}_CODE' instead of `CHARSET_UCS_{MIN|MAX}'.
98         (charset_code_point): Moved from char-ucs.h; support `mother'
99         charset feature.
100         (range_charset_code_point): use `CHARSET_{MIN|MAX}_CODE' instead
101         of `CHARSET_UCS_{MIN|MAX}'; delete hard code for `mojikyo-2022-1'.
102         (Fmake_charset): Allow 3 and 4 as the value of `dimension' in
103         UTF-2000; allow 128 and 256 as the value of `chars' in UTF-2000;
104         allow 2 as the value of `graphic' in UTF-2000; add new properties
105         `min-code', `max-code', `mother', `conversion' in UTF-2000; don't
106         require `final' in UTF-2000; modify for `make_charset'.
107         (Fmake_reverse_direction_charset): use `CHARSET_{MIN|MAX}_CODE'
108         instead of `CHARSET_UCS_{MIN|MAX}'; modify for `make_charset'.
109         (Fcharset_property): Support `mother', `min-code' and `max-code'.
110         (Fencode_char): New function.
111         (syms_of_mule_charset): Add new builtin function `encode-char' in
112         UTF-2000; add new symbols `min-code', `max-code', `mother',
113         `conversion' and `94x60'; delete symbols `mojikyo',
114         `mojikyo-2022-1' and `mojikyo-pj-{1..21}'.
115         (complex_vars_of_mule_charset): Modify for `make_charset' change;
116         delete coded-charsets `mojikyo', `mojikyo-2022-1' and
117         `mojikyo-pj-{1..21}'; delete `DEF_MOJIKYO_PJ'.
118
119         * chartab.c (Fdefine_char): Use `XCHARSET_MAX_CODE' instead of
120         `XCHARSET_UCS_MAX'; regard `chinese-big5' as a base CCS.
121
122         * char-ucs.h (Vcharset_mojikyo): Deleted.
123         (Vcharset_mojikyo_2022_1): Deleted.
124         (LEADING_BYTE_MOJIKYO): Deleted.
125         (LEADING_BYTE_MOJIKYO_2022_1): Deleted.
126         (LEADING_BYTE_MOJIKYO_2022_2): Deleted.
127         (LEADING_BYTE_MOJIKYO_PJ_{1 .. 21}): Deleted.
128         (struct Lisp_Charset): Rename `ucs_{min|max}' to `{min|max}_code';
129         add new member `mother'; add new member `conversion'.
130         (CHARSET_MIN_CODE): Renamed from `CHARSET_UCS_MIN'.
131         (CHARSET_MAX_CODE): Renamed from `CHARSET_UCS_MAX'.
132         (CHARSET_MOTHER): New macro.
133         (CHARSET_CONVERSION): New macro.
134         (CONVERSION_IDENTICAL): New macro.
135         (CONVERSION_94x60): New macro.
136         (XCHARSET_MIN_CODE): Renamed from `CHARSET_MIN_CODE'.
137         (XCHARSET_MAX_CODE): Renamed from `CHARSET_MAX_CODE'.
138         (XCHARSET_MOTHER): New macro.
139         (XCHARSET_CONVERSION): New macro.
140         (MIN_CHAR_MOJIKYO): Deleted.
141         (MAX_CHAR_MOJIKYO): Deleted.
142         (DECODE_MOJIKYO_2022): Deleted.
143         (DECODE_CHAR): Delete hard code for builtin Mojikyo characters.
144         (charset_code_point): Changed to non-inline function.
145         (encode_char_1): Use `charset_code_point'.
146         (CHAR_TO_CHARC): Delete hard code for Mojikyo characters.
147
148 2001-12-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
149
150         * lread.c (read_compiled_function): Fix prototype.
151         (read_vector): Likewise.
152
153 2001-12-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
154
155         * lrecord.h (struct lrecord_header): Delete `older'.
156         (set_lheader_implementation): Delete code for `older'.
157         (set_lheader_older_implementation): Deleted.
158         (enum lrecord_type): Delete `lrecord_type_char_id_table'.
159         (OLDER_RECORD_P): Deleted.
160         (OLDER_RECORD_HEADER_P): Deleted.
161         (alloc_older_lcrecord): Deleted.
162         (alloc_older_lcrecord_type): Deleted.
163
164         * alloc.c (all_older_lcrecords): Deleted.
165         (alloc_older_lcrecord): Deleted.
166         (disksave_object_finalization_1): Delete code for older objects.
167         (mark_object): Don't use `OLDER_RECORD_HEADER_P'.
168         (reinit_alloc_once_early): Don't initialize `all_older_lcrecords'.
169
170 2001-12-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
171
172         * mule-charset.c (decoding_table_put_char): Use `make_vector'
173         instead of `make_older_vector'.
174         (put_char_ccs_code_point): Likewise.
175         (mark_charset): Mark `cs->decoding_table'.
176         (Fset_charset_mapping_table): Don't use `make_vector_newer'.
177
178         * lisp.h (make_older_vector): Deleted.
179         (make_vector_newer): Deleted.
180
181         * config.h.in (HAVE_GGC): Deleted.
182
183         * alloc.c (make_older_vector): Deleted.
184         (make_vector_newer_1): Deleted.
185         (make_vector_newer): Deleted.
186
187 2001-12-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
188
189         * mule-charset.c (Vcharset_ideograph_daikanwa_2): New variable.
190         (Qideograph_daikanwa_2): New variable.
191         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa-2'.
192         (complex_vars_of_mule_charset): Add new coded-charset
193         `ideograph-daikanwa-2'; use `LEADING_BYTE_DAIKANWA_3' instead of
194         `LEADING_BYTE_DAIKANWA'.
195
196         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): New macro.
197         (LEADING_BYTE_DAIKANWA_1): New macro.
198         (LEADING_BYTE_DAIKANWA_2): New macro.
199         (LEADING_BYTE_DAIKANWA_3): Renamed from `LEADING_BYTE_DAIKANWA'.
200
201 2001-12-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
202
203         * mule-charset.c (complex_vars_of_mule_charset): Change
204         DOC-strings and registry of `ideograph-daikanwa'; now it indicates
205         the second revised version.
206
207 2001-12-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
208
209         * mule-charset.c (Vcharset_ucs_smp): New variable.
210         (Vcharset_ucs_sip): New variable.
211         (Qucs_smp): New variable.
212         (Qucs_sip): New variable.
213         (encode_builtin_char_1): Treat MIN_CHAR_{SMP|SIP} to
214         MAX_CHAR_{SMP|SIP} as `ucs-{smp|sip}'.
215         (syms_of_mule_charset): Add new symbols `ucs-smp' and `ucs-sip'.
216         (complex_vars_of_mule_charset): Modify middle-DOC and registry of
217         `ucs-bmp'; add new coded-charset `ucs-smp' and `ucs-sip'; change
218         charset width of `ucs-cns', `ucs-jis', `ucs-ks' and `ucs-big5'.
219
220         * char-ucs.h (LEADING_BYTE_UCS_SMP): New macro.
221         (LEADING_BYTE_UCS_SIP): New macro.
222         (MIN_CHAR_SMP): New macro.
223         (MAX_CHAR_SMP): New macro.
224         (MIN_CHAR_SIP): New macro.
225         (MAX_CHAR_SIP): New macro.
226
227 2001-11-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
228
229         * dumper.c (PDUMP_HASH_SIZE): Increase the size of hash table when
230         utf-2000.
231
232 2001-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
233
234         * mule-charset.c (put_char_ccs_code_point): Return canonicalized
235         value; don't store value into `encoding_table' of `Lisp_Charset'.
236         (mark_charset): `encoding_table' was deleted.
237         (charset_description): Likewise.
238         (make_charset): Likewise.
239         (Fset_charset_mapping_table): Use `Fput_char_attribute' instead of
240         `put_char_ccs_code_point'.
241
242         * chartab.h (Fput_char_attribute): New EXFUN.
243
244         * chartab.c (Fchar_attribute_alist): Name space of CCS-attributes
245         is unified with normal symbol space.
246         (Fget_char_attribute): Likewise.
247         (Fput_char_attribute): Likewise; behavior of
248         `put_char_ccs_code_point' is changed.
249
250         * char-ucs.h: Include "elhash.h".
251         (Vchar_attribute_hash_table): New external variable.
252         (struct Lisp_Charset): Delete `encoding_table'.
253         (CHARSET_ENCODING_TABLE): New implementation; refer
254         `Vchar_attribute_hash_table' instead of `encoding_table' of struct
255         `Lisp_Charset'.
256
257 2001-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
258
259         * mule-charset.c (Fcharset_property): Return Qnil if CHARSET_FINAL
260         (cs) == 0.
261
262 2001-11-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
263
264         * text-coding.c (char_encode_big5): Prefer charset-g1 than
265         `chinese-big5'.
266
267 2001-11-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
268
269         * chartab.c (uint8_byte_table_description): New constant.
270         (uint8-byte-table): Use `uint8_byte_table_description'.
271         (uint16_byte_table_description): New constant.
272         (uint16-byte-table): Use `uint16_byte_table_description'.
273
274 2001-10-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
275
276         * mule-charset.c (complex_vars_of_mule_charset): Don't use builtin
277         range MIN_CHAR_BIG5_CDP .. MAX_CHAR_BIG5_CDP.
278
279 2001-10-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
280
281         * mule-charset.c (Vcharset_ucs_ks): New variable.
282         (Qucs_ks): New variable.
283         (syms_of_mule_charset): Add new symbol `ucs-ks'.
284         (complex_vars_of_mule_charset): Add new coded-charset `ucs-ks'.
285
286         * char-ucs.h (LEADING_BYTE_UCS_KS): New macro.
287
288 2001-10-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
289
290         * chartab.h (Fmake_char): New EXFUN; moved from chartab.c.
291         (Fdecode_char): Likewise.
292
293         * chartab.c: Move EXFUN for Fmake_char and Fdecode_char into
294         chartab.h.
295         (Fdefine_char): Modify for Fdecode_char.
296         (Ffind_char): Likewise.
297
298         * mule-charset.c (Fdecode_char): Add new optional argument
299         `defined-only'.
300         (Fdecode_builtin_char): Modify for `Fdecode_char'.
301
302 2001-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
303
304         * text-coding.c (mark_coding_system): Mark initial-charset-g0 and
305         -g1 of CODESYS_BIG5 in XEmacs UTF-2000.
306         (allocate_coding_system): Initialize initial-charsets of
307         CODESYS_BIG5 in XEmacs UTF-2000.
308         (Fmake_coding_system): Accept `charset-g0' and `charset-g1' for
309         CODESYS_BIG5 in XEmacs UTF-2000.
310         (decode_coding_big5): Use initial-charset-g0 and -g1 of
311         CODESYS_BIG5 in XEmacs UTF-2000; use `DECODE_DEFINED_CHAR'.
312
313         * mule-charset.c (Vcharset_ideograph_hanziku_{1 .. 12}): New
314         variables.
315         (Qideograph_hanziku_{1 .. 12}): Likewise.
316         (syms_of_mule_charset): Add new symbols `ideograph-hanziku-{1
317         .. 12}'.
318         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' to
319         `MAX_CHAR_BIG5_CDP' for `chinese-big5'; add news coded-charsets
320         `ideograph-hanziku-{1 .. 12}'.
321
322         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x200.
323         (LEADING_BYTE_HANZIKU_{1 .. 12}): New macros.
324         ({MIN|MAX}_CHAR_BIG5_CDP): New macros.
325         ({MIN|MAX}_CHAR_HANZIKU_{1 .. 12}): New macros.
326         (DECODE_DEFINED_CHAR): New inline function.
327         (DECODE_CHAR): Use `DECODE_DEFINED_CHAR'.
328
329 2001-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
330
331         * mule-charset.c (Vcharset_china3_jef): Renamed from
332         `Vcharset_japanese_jef_china3'.
333         (Qchina3_jef): Renamed from `Qjapanese_jef_china3'.
334         (encode_builtin_char_1): Rename `{MIN|MAX}_CHAR_CHINA3_JEF' from
335         `{MIN|MAX}_CHAR_JEF_CHINA3'..
336         (syms_of_mule_charset): Rename `china3-jef' from
337         `japanese-jef-china3'.
338         (complex_vars_of_mule_charset): Likewise; rename
339         `LEADING_BYTE_CHINA3_JEF' from `LEADING_BYTE_JEF_CHINA3'.
340
341         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Renamed from
342         `LEADING_BYTE_JEF_CHINA3'.
343         (MIN_CHAR_CHINA3_JEF): Renamed from `MIN_CHAR_JEF_CHINA3'.
344         (MAX_CHAR_CHINA3_JEF): Renamed from `MAX_CHAR_JEF_CHINA3'.
345
346 2001-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
347
348         * mule-charset.c (encode_builtin_char_1): Comment out special code
349         for MIN_CHAR_MOJIKYO_0 ... MAX_CHAR_MOJIKYO_0.
350
351         * char-ucs.h (MIN_CHAR_MOJIKYO_0): Comment out.
352         (MAX_CHAR_MOJIKYO_0): Comment out.
353         (MIN_CHAR_CBETA): Changed to 0x00E20000.
354         (MAX_CHAR_CBETA): Changed to 0x00E2FFFF.
355         (MIN_CHAR_JEF_CHINA3): Changed to 0x00E80000.
356         (MAX_CHAR_JEF_CHINA3): Changed to 0x00E8FFFF.
357
358 2001-10-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
359
360         * mule-charset.c (Vcharset_ideograph_cbeta): New variable.
361         (Qideograph_cbeta): New variable.
362         (encode_builtin_char_1): Comment out special code for
363         coded-charset `mojikyo' and `japanese-jef-china3'.
364         (syms_of_mule_charset): Add new symbol `ideograph-cbeta'.
365         (complex_vars_of_mule_charset): Add new coded-charset
366         `ideograph-cbeta'.
367
368         * char-ucs.h (LEADING_BYTE_CBETA): New macro.
369         (MIN_CHAR_CBETA): New macro.
370         (MAX_CHAR_CBETA): New macro.
371
372 2001-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
373
374         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x100.
375         (LEADING_BYTE_JEF_CHINA3): New macro.
376         (MIN_CHAR_JEF_CHINA3): New macro.
377         (MAX_CHAR_JEF_CHINA3): Likewise.
378         (DECODE_CHAR): Fixed.
379
380 2001-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
381
382         * mule-charset.c (Vcharset_japanese_jef_china3): New variable.
383         (Qjapanese_jef_china3): New variable.
384         (encode_builtin_char_1): Support `japanese-jef-china3'.
385         (syms_of_mule_charset): Add new symbol `japanese-jef-china3'.
386         (complex_vars_of_mule_charset): Add new coded-charset
387         `japanese-jef-china3'.
388
389 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
390
391         * chartab.c (XCHARSET_CELL_RANGE): New inline function.
392         (decode_char_table_range): Use `XCHARSET_CELL_RANGE'; accept 94^3,
393         94^4, 96^3, 96^4, 128^n and 256^n set.
394         (put_char_table): Use `XCHARSET_CELL_RANGE'.
395         (map_char_table): Likewise.
396
397 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
398
399         * chartab.c (get_char_table): Use `get_char_id_table' in XEmacs
400         UTF-2000.
401
402 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
403
404         * chartab.h (get_char_id_table): New inline function.
405
406         * chartab.c (get_char_id_table): Moved to chartab.h as an inline
407         function.
408
409 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
410
411         * chartab.h (decode_char_table_range): New prototype in XEmacs
412         UTF-2000.
413         (put_char_id_table): New inline function in XEmacs UTF-2000.
414
415         * chartab.c (put_char_id_table): Moved to chartab.h as an inline
416         function.
417         (decode_char_table_range): Delete static declaration in XEmacs
418         UTF-2000.
419
420 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
421
422         * chartab.c (put_char_id_table): Use `put_char_table'.
423
424 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
425
426         * chartab.c (map_over_uint8_byte_table): Delete argument `ccs'.
427         (map_over_uint16_byte_table): Likewise.
428         (map_over_byte_table): Likewise.
429         (map_char_table): Modify for `map_over_uint8_byte_table',
430         `map_over_uint16_byte_table' and `map_over_byte_table' in XEmacs
431         UTF-2000.
432
433 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
434
435         * chartab.c (struct map_char_table_for_charset_arg): New
436         structure.
437         (map_char_table_for_charset_fun): New function.
438         (map_char_table): Use `map_char_table' for encoding_table of
439         `range->charset'.
440
441 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
442
443         * chartab.c (map_char_table): Check a character is found in
444         range->charset instead of non default value is defined in
445         char-table when range is CHARTAB_RANGE_ROW.
446
447 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
448
449         * chartab.c (map_char_id_table): Deleted.
450         (Fmap_char_attribute): Use `map_char_table' instead of
451         `map_char_id_table'.
452
453 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
454
455         * syntax.h (SYNTAX_CODE_UNSAFE): New implementation in XEmacs
456         UTF-2000.
457         (update_syntax_table): Deleted in XEmacs UTF-2000.
458
459         * syntax.c (find_defun_start): Use `syntax_table' instead of
460         `mirror_syntax_table' in XEmacs UTF-2000.
461         (Fset_syntax_table): Don't use `mirror_syntax_table' in XEmacs
462         UTF-2000.
463         (Fchar_syntax): Use `syntax_table' instead of `mirror_table' in
464         XEmacs UTF-2000.
465         (Fmatching_paren): Likewise.
466         (scan_words): Use `syntax_table' instead of `mirror_syntax_table'
467         in XEmacs UTF-2000.
468         (find_start_of_comment): Likewise.
469         (find_end_of_comment): Likewise.
470         (Fforward_comment): Likewise.
471         (scan_lists): Likewise.
472         (char_quoted): Likewise.
473         (Fbackward_prefix_chars): Likewise.
474         (scan_sexps_forward): Likewise.
475         (update_just_this_syntax_table): Deleted in XEmacs UTF-2000.
476         (update_syntax_table): Likewise.
477
478         * search.c (skip_chars): Use `syntax_table' instead of
479         `mirror_syntax_table' in XEmacs UTF-2000.
480         (wordify): Likewise.
481         (Freplace_match): Likewise.
482
483         * regex.c (re_compile_fastmap): Use `syntax_table' instead of
484         `mirror_syntax_table' in XEmacs UTF-2000.
485         (WORDCHAR_P_UNSAFE): Likewise.
486         (re_match_2_internal): Likewise.
487
488         * font-lock.c (find_context): Use `buf->syntax_table' instead of
489         `buf->mirror_syntax_table' in XEmacs UTF-2000.
490
491         * cmds.c (internal_self_insert): Use `buf->syntax_table' instead
492         of `buf->mirror_syntax_table' in XEmacs UTF-2000.
493
494         * chartab.h (struct Lisp_Char_Table): Delete `mirror_table' in
495         XEmacs UTF-2000.
496
497         * chartab.c (mark_char_table): Don't mark `mirror_table' in XEmacs
498         UTF-2000.
499         (print_char_table): Print `default_value' in XEmacs UTF-2000.
500         (char_table_description): Delete `mirror_table' in XEmacs
501         UTF-2000.
502         (fill_char_table): Don't call `update_syntax_table' in XEmacs
503         UTF-2000.
504         (Fmake_char_table): Don't use `mirror_table' in XEmacs UTF-2000.
505         (Fcopy_char_table): Likewise.
506         (put_char_table): Don't call `update_syntax_table' in XEmacs
507         UTF-2000.
508
509         * casefiddle.c (casify_object): Use `buf->syntax_table' instead of
510         `buf->mirror_syntax_table' in XEmacs UTF-2000.
511         (casify_region_internal): Likewise.
512
513         * bufslots.h: Delete `mirror_syntax_table' in XEmacs UTF-2000.
514
515         * buffer.c (common_init_complex_vars_of_buffer): Don't use
516         `mirror_syntax_table' in XEmacs UTF-2000.
517
518         * abbrev.c (abbrev_match): Use `buf->syntax_table' instead of
519         `buf->mirror_syntax_table' in XEmacs UTF-2000.
520         (Fexpand_abbrev): Likewise.
521
522 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
523
524         * chartab.c (vars_of_chartab): Update `utf-2000-version' to 0.18.
525
526 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
527
528         * chartab.c (map_over_uint8_byte_table): Cancel temporary hack.
529         (map_over_uint16_byte_table): Likewise.
530         (map_over_byte_table): Likewise.
531         (get_char_id_table): Refer `cit->default_value'.
532         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
533         (map_char_id_table): Use `1 << 30' instead of `1 << 24' as number
534         of character-id ranges.
535         (mark_char_table): Mark `ct->default_value'.
536         (char_table_description): Add `default_value'.
537         (fill_char_table): Use `default_value'.
538         (decode_char_table_range): Decode `nil' as
539         `CHARTAB_RANGE_DEFAULT'.
540         (get_char_id_table): Refer `cit->default_value'.
541         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
542         (map_char_table): Support `CHARTAB_RANGE_DEFAULT'; cancel
543         temporary hack; check value of char-table is bound or not.
544         (slow_map_char_table_fun): Support `CHARTAB_RANGE_DEFAULT'.
545
546         * chartab.h (struct Lisp_Char_Table): Add new member
547         `default_value' in XEmacs UTF-2000.
548         (CHAR_TABLE_VALUE_UNSAFE): Use `default_value'.
549         (enum chartab_range_type): Add `CHARTAB_RANGE_DEFAULT' in XEmacs
550         UTF-2000.
551
552 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
553
554         * chartab.h (Lisp_Char_ID_Table): Deleted.
555
556         * chartab.c (char_table_description): Fix typo.
557         (Fmap_char_attribute): Use `Lisp_Char_Table' instead of
558         `Lisp_Char_ID_Table'.
559
560 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
561
562         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_TABLEP' instead of
563         `CHAR_ID_TABLE_P'.
564
565         * mule-charset.c (remove_char_ccs): Use `CHAR_TABLEP' instead of
566         `CHAR_ID_TABLE_P'.
567
568         * chartab.h (XCHAR_ID_TABLE): Deleted.
569         (XSETCHAR_ID_TABLE): Deleted.
570         (CHAR_ID_TABLE_P): Deleted.
571
572         * chartab.c (put_char_id_table): Use `CHAR_TABLEP' instead of
573         `CHAR_ID_TABLE_P'.
574         (Fget_composite_char): Likewise.
575         (put_char_table): Likewise.
576         (add_char_attribute_alist_mapper): Fixed.
577         (Fchar_attribute_alist): Use `CHAR_TABLEP' instead of
578         `CHAR_ID_TABLE_P'.
579         (Fget_char_attribute): Likewise.
580         (Fget_char_attribute): Likewise.
581         (Fmap_char_attribute): Likewise.
582
583         * char-ucs.h (charset_code_point): Use `CHAR_TABLEP' instead of
584         `CHAR_ID_TABLE_P'.
585         (encode_char_1): Likewise.
586
587 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
588
589         * text-coding.c (COMPOSE_ADD_CHAR): Use `XCHAR_TABLE' instead of
590         `XCHAR_ID_TABLE'.
591
592         * mule-charset.c (put_char_ccs_code_point): Use `XCHAR_TABLE'
593         instead of `XCHAR_ID_TABLE'.
594         (remove_char_ccs): Likewise.
595
596         * chartab.c (put_char_id_table): Use `XCHAR_TABLE' instead of
597         `XCHAR_ID_TABLE'.
598         (Fget_composite_char): Likewise.
599         (Fchar_variants): Likewise.
600         (put_char_table): Likewise.
601         (add_char_attribute_alist_mapper): Likewise.
602         (Fchar_attribute_alist): Likewise.
603         (Fget_char_attribute): Likewise.
604         (Fput_char_attribute): Likewise.
605         (Fmap_char_attribute): Likewise.
606         (Fmap_char_attribute): Likewise.
607
608         * char-ucs.h (charset_code_point): Use `XCHAR_TABLE' instead of
609         `XCHAR_ID_TABLE'.
610         (encode_char_1): Likewise.
611
612 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
613
614         * chartab.c (map_char_id_table): Use `Lisp_Char_Table' instead of
615         `Lisp_Char_ID_Table'.
616         (mark_char_id_table): Deleted.
617         (print_char_id_table): Likewise.
618         (char_id_table_equal): Likewise.
619         (char_id_table_hash): Likewise.
620         (char_id_table_description): Likewise.
621         (char_id_table): Likewise.
622         (make_char_id_table): Use `Fmake_char_table' and
623         `fill_char_table'.
624         (get_char_id_table): Use `Lisp_Char_Table' instead of
625         `Lisp_Char_ID_Table'.
626         (put_char_id_table): Likewise.
627         (Fput_char_attribute): Use `XCHAR_TABLE' instead of
628         `XCHAR_ID_TABLE'.
629         (Fremove_char_attribute): Likewise.
630         (syms_of_chartab): Don't define type `char-id-table'.
631
632         * chartab.h (struct Lisp_Char_ID_Table): Deleted.
633         (char_id_table): Likewise.
634         (GC_CHAR_ID_TABLE_P): Likewise.
635         (Lisp_Char_ID_Table): Use structure `Lisp_Char_Table'.
636         (XCHAR_ID_TABLE): Use `XCHAR_TABLE'.
637         (XSETCHAR_ID_TABLE): Use `XSETCHAR_TABLE'.
638         (CHAR_ID_TABLE_P): Use `CHAR_TABLEP'.
639         (get_char_id_table): Use `Lisp_Char_Table' instead of
640         `Lisp_Char_ID_Table'.
641         (put_char_id_table_0): Likewise.
642         (put_char_id_table): Likewise.
643
644 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
645
646         * chartab.h: Lisp_Byte_Table related codes are moved from
647         chartab.h.
648
649         * char-ucs.h: Move Lisp_Byte_Table related codes to chartab.h.
650
651 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
652
653         * chartab.h: Don't include "chartab.h".
654         (struct Lisp_Char_ID_Table): Moved from char-ucs.h.
655         (Lisp_Char_ID_Table): Likewise.
656         (char_id_table): Likewise.
657         (XCHAR_ID_TABLE): Likewise.
658         (XSETCHAR_ID_TABLE): Likewise.
659         (CHAR_ID_TABLE_P): Likewise.
660         (GC_CHAR_ID_TABLE_P): Likewise.
661         (get_char_id_table): Likewise.
662
663         * char-ucs.h: Include "chartab.h".
664         (struct Lisp_Char_ID_Table): Moved to chartab.h.
665         (Lisp_Char_ID_Table): Likewise.
666         (char_id_table): Likewise.
667         (XCHAR_ID_TABLE): Likewise.
668         (XSETCHAR_ID_TABLE): Likewise.
669         (CHAR_ID_TABLE_P): Likewise.
670         (GC_CHAR_ID_TABLE_P): Likewise.
671         (get_char_id_table): Likewise.
672
673 2001-09-01  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
674
675         * chartab.c (copy_uint8_byte_table): New function.
676         (copy_uint16_byte_table): New function.
677         (copy_byte_table): New function.
678         (map_over_uint8_byte_table): Modify to avoid huge numbers of
679         characters to call.
680         (map_over_uint16_byte_table): Likewise.
681         (map_over_byte_table): Likewise.
682         (get_byte_table): Move prototype to chartab.h.
683         (put_byte_table): Likewise.
684         (put_char_id_table_0): Moved to chartab.h.
685         (mark_char_table_entry): Don't define in XEmacs UTF-2000.
686         (char_table_entry_equal): Likewise.
687         (char_table_entry_hash): Likewise.
688         (char_table_entry_description): Likewise.
689         (char_table_entry): Likewise.
690         (make_char_table_entry): Likewise.
691         (copy_char_table_entry): Likewise.
692         (get_non_ascii_char_table_value): Likewise.
693         (map_over_charset_ascii): Likewise.
694         (map_over_charset_control_1): Likewise.
695         (map_over_charset_row): Likewise.
696         (map_over_other_charset): Likewise.
697         (mark_char_table): Modify for new structure in XEmacs UTF-2000.
698         (print_char_table): Likewise.
699         (char_table_equal): Likewise.
700         (char_table_hash): Likewise.
701         (char_table_description): Likewise.
702         (fill_char_table): Likewise.
703         (Fcopy_char_table): Likewise.
704         (get_char_table): Likewise.
705         (Fget_range_char_table): Likewise.
706         (put_char_table): Likewise.
707         (map_char_table): Likewise.
708         (syms_of_chartab): Don't define `char_table_entry' in XEmacs
709         UTF-2000.
710
711 2001-08-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
712
713         * cmds.c (vars_of_cmds): Use `put_char_id_table_0' for
714         `Vauto_fill_chars' in XEmacs UTF-2000.
715
716         * chartab.h (get_byte_table): New prototype [moved from
717         chartab.c].
718         (put_byte_table): Likewise [moved from chartab.c].
719         (put_char_id_table_0): New inline function [moved from chartab.c].
720         (struct Lisp_Char_Table_Entry): Don't define in XEmacs UTF-2000.
721         (Lisp_Char_Table_Entry): Likewise.
722         (char_table_entry): Likewise.
723         (XCHAR_TABLE_ENTRY): Likewise.
724         (XSETCHAR_TABLE_ENTRY): Likewise.
725         (CHAR_TABLE_ENTRYP): Likewise.
726         (CHECK_CHAR_TABLE_ENTRY): Likewise.
727         (NUM_ASCII_CHARS): Likewise.
728         (struct Lisp_Char_Table): New implementation in XEmacs UTF-2000.
729         (CHAR_TABLE_VALUE_UNSAFE): Likewise.
730
731 2001-08-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
732
733         * chartab.c (get_char_id_table): Change interface.
734         (put_char_id_table_0): New function.
735         (put_char_id_table): Change interface; new implementation.
736         (Fget_composite_char): Modify for interface change of
737         `get_char_id_table'.
738         (Fchar_variants): Likewise.
739         (add_char_attribute_alist_mapper): Likewise.
740         (Fchar_attribute_alist): Likewise.
741         (Fget_char_attribute): Likewise.
742         (Fput_char_attribute): Allow coded-charset or [CODED-CHARSET ROW]
743         as same as character as the first argument like `put-char-table';
744         modify for interface change of `put_char_id_table'.
745         (Fremove_char_attribute): Modify for interface change of
746         `put_char_id_table'.
747
748 2001-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
749
750         * text-coding.c: Sync up with XEmacs 21.2.41.
751         (COMPOSE_ADD_CHAR): Modify for interface change of
752         `get_char_id_table'.
753
754         * mule-charset.c (put_char_ccs_code_point): Modify for interface
755         change of `put_char_id_table'.
756         (remove_char_ccs): Likewise.
757
758         * chartab.h (put_char_id_table): Change interface.
759
760         * char-ucs.h (get_char_id_table): Change interface.
761         (charset_code_point): Modify for interface change of
762         `get_char_id_table'.
763         (encode_char_1): Likewise.
764
765 2001-08-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
766
767         * chartab.c (map_over_uint8_byte_table): Change arguments; add new
768         argument `ccs'.
769         (map_over_uint16_byte_table): Likewise.
770         (map_over_byte_table): Likewise.
771         (map_char_id_table): Add new argument `range' like
772         `map_char_table'.
773         (Fmap_char_attribute): Add new argument `range' like
774         `Fmap_char_table'.
775
776 2001-08-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
777
778         * chartab.c (map_over_uint8_byte_table): Change interface of
779         mapping function to use struct chartab_range instead of Emchar.
780         (map_over_uint16_byte_table): Likewise.
781         (map_over_byte_table): Likewise.
782         (map_char_id_table): Likewise.
783         (struct slow_map_char_id_table_arg): Deleted.
784         (slow_map_char_id_table_fun): Deleted.
785         (Fmap_char_attribute): Use struct `slow_map_char_table_arg' and
786         function `slow_map_char_table_fun' instead of struct
787         `slow_map_char_id_table_arg' and function
788         `slow_map_char_id_table_fun'.
789
790 2001-08-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
791
792         * mule-charset.c: Move char-it-table related codes to chartab.c.
793         (Vutf_2000_version): Moved to chartab.c.
794         (Fdefine_char): Likewise.
795         (Ffind_char): Likewise.
796         (syms_of_mule_charset): Move types `uint8-byte-table',
797         `uint16-byte-table', `byte-table' and `char-id-table' to
798         chartab.c; move functions `char_attribute_list,
799         `find_char_attribute_table, `char_attribute_alist,
800         `get_char_attribute, `put_char_attribute, `remove_char_attribute,
801         `map_char_attribute, `define_char, `find_char, `char_variants and
802         `get_composite_char to chartab.c; move symbols `=>ucs',
803         `->decomposition', `compat', `isolated', `initial', `medial',
804         `final', `vertical', `noBreak', `fraction', `super', `sub',
805         `circle', `square', `wide', `narrow', `small' and `font' to
806         chartab.c.
807         (vars_of_mule_charset): Move `utf-2000-version' to chartab.c; move
808         setting codes for `Vcharacter_composition_table' and
809         `Vcharacter_variant_table' to chartab.c.
810         (complex_vars_of_mule_charset): Move setting code for
811         `Vchar_attribute_hash_table' to chartab.c.
812
813         * chartab.h: Include "char-ucs.h" if --with-utf-2000 is specified.
814         (make_char_id_table): New prototype.
815         (put_char_id_table): Likewise.
816         (Fget_char_attribute): Likewise.
817
818         * chartab.c: Move char-id-table related code from mule-charset.c.
819         (Vutf_2000_version): Moved from mule-charset.c.
820
821         * char-ucs.h (Qucs): New external variable.
822         (put_char_ccs_code_point): New prototype.
823         (remove_char_ccs): Likewise.
824
825 2001-08-14  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
826
827         * mule-charset.c (Vcharset_ucs_jis): New variable.
828         (Qucs_jis): Likewise.
829         (syms_of_mule_charset): Add new symbol `ucs-jis'.
830         (complex_vars_of_mule_charset): Add new coded-charset `ucs-jis'.
831
832         * char-ucs.h (LEADING_BYTE_UCS_JIS): New macro.
833
834 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
835
836         * mule-charset.c (map_over_uint8_byte_table): New function.
837         (map_over_uint16_byte_table): Likewise.
838         (map_over_byte_table): Likewise.
839         (map_char_id_table): Likewise.
840         (slow_map_char_id_table_fun): Likewise.
841         (Fmap_char_attribute): Likewise.
842         (syms_of_mule_charset): Add new function `map-char-attribute'.
843
844 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
845
846         * mule-charset.c (Ffind_char): New function in XEmacs UTF-2000.
847         (syms_of_mule_charset): Add new function `find-char'.
848
849 2001-08-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
850
851         * mule-charset.c (Vcharset_chinese_big5_cdp): New variable in
852         XEmacs UTF-2000.
853         (Qchinese_big5_cdp): New variable in XEmacs UTF-2000.
854         (syms_of_mule_charset): Add new symbol `chinese-big5-cdp' in
855         XEmacs UTF-2000.
856         (complex_vars_of_mule_charset): Add new coded-charset
857         `chinese-big5-cdp' in XEmacs UTF-2000; change registry of
858         `ideograph-gt-pj-*'.
859
860         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5_CDP): New macro.
861
862 2001-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
863
864         * mule-charset.c (encode_builtin_char_1): Purge codes about
865         {MIN|MAX}_CHAR_{GREEK|CYRILLIC}; comment out code about
866         {MIN|MAX}_CHAR_HEBREW.
867         (complex_vars_of_mule_charset): Comment out {MIN|MAX}_CHAR_HEBREW;
868         don't use {MIN|MAX}_CHAR_HEBREW to define `hebrew-iso8859-8'.
869
870         * char-ucs.h (MIN_CHAR_GREEK): Purged.
871         (MAX_CHAR_GREEK): Purged.
872         (MIN_CHAR_CYRILLIC): Purged.
873         (MAX_CHAR_CYRILLIC): Purged.
874         (MIN_CHAR_HEBREW): Commented out.
875         (MAX_CHAR_HEBREW): Likewise.
876
877 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
878
879         * mule-charset.c (Qto_ucs): New variable.
880         (Fput_char_attribute): Treat `=>ucs' as same as `->ucs'.
881         (Fdefine_char): Likewise.
882         (syms_of_mule_charset): Add new symbol `=>ucs'.
883
884 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
885
886         * mule-charset.c (Fdecode_char): Fixed.
887
888 2001-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
889
890         * mule-charset.c (complex_vars_of_mule_charset): Modify registry
891         of latin-tcvn5712 to accept "tcvn5712.1993-1" as same as
892         "tcvn5712-1".
893
894 2001-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
895
896         * mule-charset.c (Vcharset_ucs_big5): New variable.
897         (Qucs_big5): Likewise.
898         (syms_of_mule_charset): Add new symbol `ucs-big5'.
899         (complex_vars_of_mule_charset): Add new coded-charset `ucs-big5'.
900
901         * char-ucs.h (LEADING_BYTE_UCS_BIG5): New macro.
902
903 2001-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
904
905         * mule-charset.c (decode_builtin_char): Check Big5 code range
906         which can be mapped to `chinese-big5-1' and `chinese-big5-2'.
907
908 2001-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
909
910         * mule-charset.c (Vcharset_chinese_gb12345): New variable.
911         (Qchinese_gb12345): Likewise.
912         (Fdecode_builtin_char): Fixed.
913         (syms_of_mule_charset): Add `chinese-gb12345'.
914         (complex_vars_of_mule_charset): Add coded-charset
915         `chinese-gb12345'.
916
917         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x70.
918         (LEADING_BYTE_CHINESE_GB12345): New macro.
919
920 2001-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
921
922         * mule-charset.c (Fdecode_builtin_char): Use `latin-viscii-lower'
923         and `latin-viscii-upper' for `latin-viscii'.
924
925 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
926
927         * mule-charset.c (Fdecode_builtin_char): Comment out
928         regularization code for ISO-IR GR representation.
929
930 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
931
932         * mule-charset.c (decode_builtin_char): New function; renamed from
933         `make_builtin_char'; return -1 instead of signal.
934         (Fdecode_builtin_char): Use `decode_builtin_char'.
935
936         * char-ucs.h (decode_builtin_char): New prototype; renamed from
937         `make_builtin_char'.
938         (DECODE_CHAR): Use `decode_builtin_char' instead of
939         `make_builtin_char'; use mapping table of `chinese-big5' for
940         `chinese-big5-{1,2}'.
941
942 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
943
944         * text-coding.c (char_encode_big5): New function.
945         (char_finish_big5): Likewise.
946         (reset_encoding_stream): Use `char_encode_big5' and
947         `char_finish_big5' for CODESYS_BIG5.
948         (mule_encode): Don't use `encode_coding_big5'.
949         (encode_coding_big5): Deleted.
950
951 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
952
953         * text-coding.c (BYTE_BIG5_TWO_BYTE_1_P): Support private area
954         0x81- in XEmacs UTF-2000.
955         (detect_coding_big5): Likewise.
956
957 2001-07-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
958
959         * mule-charset.c (Fdefine_char): Don't use a CCS property to
960         generate character-id if the CCS property does not have
961         corresponding predefined character.
962         (make_builtin_char): Return -1 if corresponding predefined
963         character is not found.
964         (Fdecode_char): Return nil if corresponding character is not
965         found.
966         (complex_vars_of_mule_charset): Change `ucs-cns' to 256^3-set and
967         don't map to builtin ucs space.
968
969 2001-07-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
970
971         * char-ucs.h (MAX_LEADING_BYTE_PRIVATE): Fixed.
972         (MAX_CHAR_GT): Changed to `(MIN_CHAR_GT + 66773)'.
973
974 2001-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
975
976         * mule-charset.c (Vcharset_ideograph_gt): New variable.
977         (Vcharset_ideograph_gt_pj_{1..11}): Likewise.
978         (Qideograph_gt): Likewise.
979         (Qideograph_gt_pj_{1..11}): Likewise.
980         (syms_of_mule_charset): Add `ideograph-gt', `ideograph-gt-pj-1',
981         `ideograph-gt-pj-2', ..., `ideograph-gt-pj-10' and
982         `ideograph-gt-pj-11'.
983         (complex_vars_of_mule_charset): Add coded-charset `ideograph-gt',
984         `ideograph-gt-pj-1', `ideograph-gt-pj-2', ...,
985         `ideograph-gt-pj-10' and `ideograph-gt-pj-11'.
986
987         * char-ucs.h (LEADING_BYTE_GT): New macro.
988         (LEADING_BYTE_GT_PJ_{1..11}): Likewise.
989         (MIN_CHAR_GT): Likewise.
990         (MAX_CHAR_GT): Likewise.
991
992 2001-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
993
994         * lisp-disunion.h (XCHARVAL): New implementation for UTF-2000 to
995         support U-60000000 .. U-7FFFFFFF with 32 bits architecture.
996
997         * doprnt.c (unsigned_int_converters): Add `c'.
998         (emacs_doprnt_1): Use `XUINT' for unsigned integers.
999
1000         * char-ucs.h (MIN_CHAR_DAIKANWA): Don't refer `MIN_CHAR_MOJIKYO'.
1001         (MAX_CHAR_DAIKANWA): Refer `MIN_CHAR_DAIKANWA' instead of
1002         `MIN_CHAR_MOJIKYO'.
1003         (MIN_CHAR_MOJIKYO_0): New macro; refer `MIN_CHAR_DAIKANWA'.
1004         (MAX_CHAR_MOJIKYO_0): New macro.
1005         (MIN_CHAR_MOJIKYO): Changed to 0x60000000.
1006
1007 2001-06-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1008
1009         * mule-charset.c (Fdefine_char): Delete cemented out code.
1010         (encode_builtin_char_1): Modify for new allocation of builtin
1011         Mojikyo characters.
1012
1013         * lisp-disunion.h (XCHARVAL): Cast the argument into EMACS_UINT.
1014
1015 2001-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1016
1017         * mule-charset.c (Vcharset_ucs_cns): New variable.
1018         (Qucs_cns): New variable.
1019         (syms_of_mule_charset): Add new symbol `ucs-cns'.
1020         (complex_vars_of_mule_charset): Add new coded-charset `ucs-cns'.
1021
1022 2001-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1023
1024         * char-ucs.h (LEADING_BYTE_UCS_CNS): New macro.
1025
1026 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
1027
1028         * search.c (search_buffer): Make `charset_base_code' as
1029         character-id >> 6 to eliminate the corresponding last byte in
1030         UTF-8 representation [I'm not sure it is right thing].
1031         (boyer_moore): Likewise.
1032
1033 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
1034
1035         * emacs.c (vars_of_emacs): Convert XEMACS_CODENAME to internal
1036         representation in MULE.
1037
1038 2000-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1039
1040         * text-coding.c (Fmake_coding_system): Use
1041         `EXTERNAL_PROPERTY_LIST_LOOP_3' instead of
1042         `EXTERNAL_PROPERTY_LIST_LOOP'.
1043
1044 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1045
1046         * text-coding.c (decode_output_utf8_partial_char): New function.
1047         (decode_coding_utf8): Use `decode_output_utf8_partial_char'.
1048
1049 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1050
1051         * text-coding.c (decode_coding_utf8): Output original byte
1052         sequence if it is broken; change order of conditions.
1053
1054         * mb-utf-8.h (REP_BYTES_BY_FIRST_BYTE): Use Bufbyte; reverse order
1055         of conditions.
1056
1057         * mb-multibyte.h (BYTE_ASCII_P):
1058         Use bit ops for char-signedness safety.
1059         (BYTE_C0_P): Use bit ops for char-signedness safety.
1060         (BYTE_C1_P): Use bit ops for char-signedness safety.
1061
1062         * character.h: (XCHAR_OR_CHAR_INT):
1063         Always use inline function.
1064         Remove redundant type checking assert() - XINT will abort quite
1065         nicely.
1066
1067 2000-11-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1068
1069         * text-coding.c: (Fencode_shift_jis_char):
1070         (Fencode_big5_char):
1071         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
1072         Replace 0 with '\0' when working with bytes.
1073         Replace initial "(" with "\(" in docstrings.
1074
1075         (Fmake_coding_system):
1076         When type is ccl and value is vector, register it with a proper
1077         symbol.  And checks whether the given ccl program is valid.
1078         (mule_decode): When calling ccl_driver, if src indicates
1079         NULL pointer, set an empty string instead.
1080         (mule_encode): Likewise.
1081
1082         (detect_eol_type):
1083         (detect_coding_sjis):
1084         (decode_coding_sjis):
1085         (detect_coding_big5):
1086         (decode_coding_big5):
1087         (detect_coding_ucs4):
1088         (decode_coding_ucs4):
1089         (detect_coding_utf8):
1090         (decode_coding_utf8):
1091         (detect_coding_iso2022):
1092         (decode_coding_iso2022):
1093         (decode_coding_no_conversion):
1094         (mule_decode):
1095         Make all detecting and decoding functions take an Extbyte * arg.
1096         (text_encode_generic):
1097         (encode_coding_big5):
1098         (encode_coding_no_conversion):
1099         (mule_encode):
1100         Make all encoding functions take a Bufbyte * arg.
1101         Use size_t instead of unsigned int for memory sizes.
1102         Only cast to unsigned char whenever dereferencing Extbyte *.
1103
1104         (struct lrecord_description fcd_description_1): Use countof.
1105         (complex_vars_of_file_coding):
1106         Use countof instead of sizeof.
1107         Use CHECK_NATNUM instead of CHECK_INT.
1108
1109 2000-11-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1110
1111         * mule-charset.c (Fget_char_attribute): Add new optional argument
1112         `default-value'.
1113         (put_char_ccs_code_point): Modify for `Fget_char_attribute'.
1114         (remove_char_ccs): Likewise.
1115
1116 2000-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1117
1118         * text-coding.c (char_encode_shift_jis): New implementation in
1119         UTF-2000.
1120         (decode_coding_big5): Use `DECODE_CHAR (Vcharset_chinese_big5,
1121         ...)'.
1122
1123         * mule-charset.c (Vcharset_chinese_big5): New variable in
1124         UTF-2000.
1125         (Qchinese_big5): New variable in UTF-2000.
1126         (BIG5_SAME_ROW): New macro in UTF-2000.
1127         (make_builtin_char): Use builtin characters of
1128         `Vcharset_chinese_big5_1' and `Vcharset_chinese_big5_2' as builtin
1129         characters of `Vcharset_chinese_big5'.
1130         (syms_of_mule_charset): Add new symbol `chinese-big5' in UTF-2000.
1131         (complex_vars_of_mule_charset): Add new coded-charset
1132         `chinese-big5' in UTF-2000.
1133
1134         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5): New macro.
1135         (Vcharset_chinese_big5): New external variable declaration.
1136         (Vcharset_japanese_jisx0208_1990): Likewise.
1137
1138 2000-07-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1139
1140         * mule-charset.c (expand_uint8_byte_table_to_uint16): New
1141         function.
1142         (put_byte_table): Use `expand_uint8_byte_table_to_uint16'.
1143
1144 2000-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1145
1146         * mule-charset.c (complex_vars_of_mule_charset): Define new macro
1147         `DEF_MOJIKYO_PJ' in UTF-2000; use `DEF_MOJIKYO_PJ' to define
1148         `mojikyo-pj-*'; add "MojikyoPJ-*" to charset-registry of
1149         `mojikyo-pj-*'.
1150
1151 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1152
1153         * text-coding.c (decode_coding_big5): Modify for UTF-2000.
1154
1155 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1156
1157         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1158         to 0.17.
1159
1160 2000-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1161
1162         * file-coding.c (ucs_to_char): Don't use `CHARSET_TYPE_*'; modify
1163         for `CHARSET_BY_ATTRIBUTES'.
1164         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
1165         `CHARSET_BY_ATTRIBUTES'.
1166
1167         * text-coding.c (struct decoding_stream): Rename member `CH' to
1168         `CPOS'.
1169         (reset_decoding_stream): Use `str->cpos' instead of `str->ch'.
1170         (decode_coding_sjis): Likewise.
1171         (decode_coding_big5): Likewise.
1172         (decode_coding_ucs4): Likewise.
1173         (decode_coding_utf8): Likewise.
1174         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
1175         `CHARSET_BY_ATTRIBUTES'.
1176         (decode_coding_iso2022): Use `str->cpos' instead of `str->ch'; use
1177         `str->counter'; decode 3, 4 bytes sets.
1178         (char_encode_iso2022): Don't use `BREAKUP_CHAR'; encode 3, 4 bytes
1179         sets.
1180         (decode_coding_no_conversion): Use `str->cpos' instead of
1181         `str->ch'.
1182
1183         * mule-charset.c (Vcharset_mojikyo_2022_1): New variable.
1184         (Qmojikyo_2022_1): New variable.
1185         (make_charset): Don't use `CHARSET_TYPE_*'.
1186         (range_charset_code_point): Support coded-charset
1187         `mojikyo-2022-1'.
1188         (encode_builtin_char_1): Modify for `CHARSET_BY_ATTRIBUTES'.
1189         (Fmake_charset): Don't use `CHARSET_TYPE_*'; modify for
1190         `CHARSET_BY_ATTRIBUTES'.
1191         (Fcharset_from_attributes): Don't use `CHARSET_TYPE_*'; modify for
1192         `CHARSET_BY_ATTRIBUTES'.
1193         (syms_of_mule_charset): Add new symbol `mojikyo-2022-1'.
1194         (complex_vars_of_mule_charset): Add new coded-charset
1195         `mojikyo-2022-1'.
1196
1197         * mule-charset.h (CHARSET_BY_ATTRIBUTES): New implementation and
1198         interface; changed to inline function.
1199
1200         * char-ucs.h (Vcharset_mojikyo_2022_1): New variable.
1201         (LEADING_BYTE_MOJIKYO_2022_1): New macro.
1202         (LEADING_BYTE_MOJIKYO_2022_2): New macro.
1203         (CHARSET_TYPE_94): Deleted.
1204         (CHARSET_TYPE_94X94): Deleted.
1205         (CHARSET_TYPE_96): Deleted.
1206         (CHARSET_TYPE_96X96): Deleted.
1207         (CHARSET_TYPE_128): Deleted.
1208         (CHARSET_TYPE_128X128): Deleted.
1209         (CHARSET_TYPE_256): Deleted.
1210         (CHARSET_TYPE_256X256): Deleted.
1211         (CHARSET_BY_ATTRIBUTES): New implementation and interface; changed
1212         to inline function.
1213         (DECODE_MOJIKYO_2022): New inline function.
1214         (DECODE_CHAR): Use `DECODE_MOJIKYO_2022'; decode
1215         `Vcharset_mojikyo_2022_1'.
1216
1217 2000-07-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1218
1219         * mule-charset.c (byte_table_same_value_p): Use `internal_equal'
1220         instead of `EQ'.
1221         (put_byte_table): Likewise.
1222         (char_id_table_equal): Use `get_byte_table' [new implementation].
1223
1224 2000-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1225
1226         * mule-charset.c: Include <limits.h> in UTF-2000.
1227         (BT_UINT8_MIN): New macro in UTF-2000.
1228         (BT_UINT8_MAX): New macro in UTF-2000.
1229         (BT_UINT8_t): New macro in UTF-2000.
1230         (BT_UINT8_nil): New macro in UTF-2000.
1231         (BT_UINT8_unbound): New macro in UTF-2000.
1232         (INT_UINT8_P): New inline function in UTF-2000.
1233         (UINT8_VALUE_P): New inline function in UTF-2000.
1234         (UINT8_ENCODE): New inline function in UTF-2000.
1235         (UINT8_DECODE): New inline function in UTF-2000.
1236         (mark_uint8_byte_table): New function in UTF-2000.
1237         (print_uint8_byte_table): New function in UTF-2000.
1238         (uint8_byte_table_equal): New function in UTF-2000.
1239         (uint8_byte_table_hash): New function in UTF-2000.
1240         (make_uint8_byte_table): New function in UTF-2000.
1241         (uint8_byte_table_same_value_p): New function in UTF-2000.
1242         (BT_UINT16_MIN): New macro in UTF-2000.
1243         (BT_UINT16_MAX): New macro in UTF-2000.
1244         (BT_UINT16_t): New macro in UTF-2000.
1245         (BT_UINT16_nil): New macro in UTF-2000.
1246         (BT_UINT16_unbound): New macro in UTF-2000.
1247         (INT_UINT16_P): New inline function in UTF-2000.
1248         (UINT16_VALUE_P): New inline function in UTF-2000.
1249         (UINT16_ENCODE): New inline function in UTF-2000.
1250         (UINT16_DECODE): New inline function in UTF-2000.
1251         (UINT8_TO_UINT16): New inline function in UTF-2000.
1252         (mark_uint16_byte_table): New function in UTF-2000.
1253         (print_uint16_byte_table): New function in UTF-2000.
1254         (uint16_byte_table_equal): New function in UTF-2000.
1255         (uint16_byte_table_hash): New function in UTF-2000.
1256         (make_uint16_byte_table): New function in UTF-2000.
1257         (uint16_byte_table_same_value_p): New function in UTF-2000.
1258         (print_byte_table): New function in UTF-2000.
1259         (byte-table): Use `print_byte_table' as printer.
1260         (make_byte_table): Delete second argument `older'.
1261         (byte_table_same_value_p): New function in UTF-2000.
1262         (copy_byte_table): Deleted.
1263         (get_byte_table): New function in UTF-2000.
1264         (put_byte_table): New function in UTF-2000.
1265         (print_char_id_table): New function in UTF-2000.
1266         (char-id-table): Use `print_char_id_table' as printer.
1267         (make_char_id_table): Delete second argument `older'.
1268         (get_char_id_table): Use `get_byte_table [new implementation].
1269         (put_char_id_table): Use `get_byte_table and `put_byte_table' [new
1270         implementation].
1271         (Ffind_char_attribute_table): New function in UTF-2000.
1272         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
1273         (syms_of_mule_charset): Add LRECORD_IMPLEMENTATION
1274         `uint8_byte_table' and `uint16_byte_table' in UTF-2000.
1275         (syms_of_mule_charset): Add new function
1276         `find-char-attribute-table' in UTF-2000.
1277
1278         * lrecord.h (enum lrecord_type): Add
1279         `lrecord_type_uint16_byte_table' and
1280         `lrecord_type_uint8_byte_table'.
1281
1282         * char-ucs.h (struct Lisp_Uint8_Byte_Table): New structure.
1283         (Lisp_Uint8_Byte_Table): New type.
1284         (XUINT8_BYTE_TABLE): New macro.
1285         (XSETUINT8_BYTE_TABLE): New macro.
1286         (UINT8_BYTE_TABLE_P): New macro.
1287         (GC_UINT8_BYTE_TABLE_P): New macro.
1288         (struct Lisp_Uint16_Byte_Table): New structure.
1289         (Lisp_Uint16_Byte_Table): New type.
1290         (XUINT16_BYTE_TABLE): New macro.
1291         (XSETUINT16_BYTE_TABLE): New macro.
1292         (UINT16_BYTE_TABLE_P): New macro.
1293         (GC_UINT16_BYTE_TABLE_P): New macro.
1294
1295 2000-07-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1296
1297         * mule-charset.c (Vcharacter_ideographic_radical_table): Deleted.
1298         (Vcharacter_ideographic_strokes_table): Deleted.
1299         (Vcharacter_total_strokes_table): Deleted.
1300         (Vcharacter_morohashi_daikanwa_table): Deleted.
1301         (Vcharacter_decomposition_table): Deleted.
1302         (Qname): Deleted because it is duplicated.
1303         (Qideographic_radical): Deleted.
1304         (Qideographic_strokes): Deleted.
1305         (Qtotal_strokes): Deleted.
1306         (Qmorohashi_daikanwa): Deleted.
1307         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' for
1308         `ideographic-radical', `ideographic-strokes', `total-strokes',
1309         `morohashi-daikanwa' and `->decomposition'.
1310         (Fget_char_attribute): Likewise.
1311         (Fput_char_attribute): Likewise; use `make-vector' instead of
1312         `make_older_vector' for `->decomposition' value.
1313         (Fdefine_char): Comment out code to check `morohashi-daikanwa' and
1314         `ideograph-daikanwa'.
1315         (syms_of_mule_charset): Delete builtin symbols `name',
1316         `ideographic-radical', `ideographic-strokes', `total-strokes' and
1317         `morohashi-daikanwa'.
1318         (vars_of_mule_charset): Don't setup
1319         `Vcharacter_ideographic_radical_table',
1320         `Vcharacter_ideographic_strokes_table',
1321         `Vcharacter_total_strokes_table',
1322         `Vcharacter_morohashi_daikanwa_table' and
1323         `Vcharacter_decomposition_table'.
1324
1325 2000-06-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1326
1327         * alloc.c: Use `HAVE_GGC' instead of `UTF2000' for
1328         `make_older_vector', `make_vector_newer_1' and
1329         `make_vector_newer'.
1330
1331         * lisp.h: Use `HAVE_GGC' instead of `UTF2000' for
1332         `make_older_vector' and `make_vector_newer'.
1333
1334         * config.h.in (HAVE_GGC): New macro.
1335
1336 2000-06-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1337
1338         * mule-charset.c (struct char_attribute_list_closure): New
1339         structure in UTF-2000.
1340         (add_char_attribute_to_list_mapper): New function in UTF-2000.
1341         (Fchar_attribute_list): Likewise.
1342         (Fset_charset_mapping_table): Use `make_vector_newer'.
1343         (Fdecode_builtin_char): New function in UTF-2000.
1344         (syms_of_mule_charset): Add new function `char-attribute-list' and
1345         `decode-builtin-char' in UTF-2000.
1346
1347         * lisp.h (make_vector_newer): New prototype.
1348
1349         * alloc.c (make_vector_newer_1): New function.
1350         (make_vector_newer): New function.
1351
1352 2000-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1353
1354         * char-ucs.h (MAX_CHAR_DAIKANWA): Changed to `(MIN_CHAR_MOJIKYO +
1355         50100)'.
1356
1357 2000-06-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1358
1359         * mule-charset.c (Vchar_attribute_hash_table): New variable.
1360         (Vcharacter_attribute_table): Deleted.
1361         (Vcharacter_name_table): Deleted.
1362         (put_char_attribute): Deleted.
1363         (remove_char_attribute): Deleted.
1364         (struct char_attribute_alist_closure): New structure.
1365         (add_char_attribute_alist_mapper): New function.
1366         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' instead
1367         of `Vcharacter_attribute_table' and `Vcharacter_name_table'.
1368         (Fget_char_attribute): Likewise.
1369         (Fput_char_attribute): Likewise.
1370         (Fremove_char_attribute): Use `Vchar_attribute_hash_table' instead
1371         of `remove_char_attribute'.
1372         (Fdefine_char): Return character.
1373         (vars_of_mule_charset): Don't setup `Vcharacter_attribute_table'
1374         and `Vcharacter_name_table'.
1375         (complex_vars_of_mule_charset): Likewise
1376         `Vchar_attribute_hash_table'.
1377
1378 2000-06-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1379
1380         * character.h (CHARC_CHARSET): New macro.
1381         (CHARC_CHARSET_ID): New macro.
1382         (CHARC_CODE_POINT): New macro.
1383         (CHARC_COLUMNS): New macro.
1384         (CHARC_TO_CHAR): New inline function.
1385         (CHARC_EQ): New inline function.
1386         (CHARC_ASCII_EQ): New inline function.
1387         (CHARC_IS_SPACE): New inline function.
1388         (ASCII_TO_CHARC): New inline function.
1389
1390         * char-ucs.h (encode_char_2): Deleted.
1391         (ENCODE_CHAR): Use `encode_char_1' again.
1392         (breakup_char_1): Likewise.
1393         (CHAR_TO_CHARC): New inline function.
1394
1395         * char-lb.h, char-1byte.h (CHAR_TO_CHARC): New inline function.
1396
1397 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1398
1399         * redisplay.c (add_emchar_rune): Use `ASCII_TO_CHARC',
1400         `CHAR_TO_CHARC' and `CHARC_CHARSET'.
1401         (create_text_block): Use `CHARC_ASCII_EQ' and `CHARC_IS_SPACE'.
1402         (generate_formatted_string_db): Use `CHARC_TO_CHAR'.
1403         (create_string_text_block): Use `CHARC_ASCII_EQ' and
1404         `CHARC_IS_SPACE'.
1405         (pixel_to_glyph_translation): Use `CHARC_ASCII_EQ'.
1406
1407         * redisplay-x.c (separate_textual_runs): Use `CHARC_CHARSET' and
1408         `CHARC_CODE_POINT'.
1409         (x_output_display_block): Use `CHARC_CHARSET' and
1410         `CHARC_ASCII_EQ'.
1411
1412         * redisplay-tty.c (tty_output_display_block): Use
1413         `CHARC_ASCII_EQ'.
1414         (tty_output_display_block): Likewise; use `ASCII_TO_CHARC'.
1415
1416         * redisplay-output.c (compare_runes): Use `CHARC_EQ'.
1417
1418         * insdel.c (find_charsets_in_charc_string): Use
1419         `CHARC_CHARSET_ID'.
1420         (charc_string_displayed_columns): Use `CHARC_COLUMNS'.
1421         (convert_bufbyte_string_into_charc_dynarr): Use `CHAR_TO_CHARC'.
1422         (convert_charc_string_into_bufbyte_dynarr): Use `CHARC_TO_CHAR'.
1423         (convert_charc_string_into_malloced_string): Likewise.
1424
1425 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1426
1427         * toolbar-x.c (x_output_toolbar_button): Use <Charc_dynarr *>
1428         instead of <Emchar_dynarr *> for buf; use
1429         `convert_bufbyte_string_into_charc_dynarr' instead of
1430         `convert_bufbyte_string_into_emchar_dynarr'; use
1431         `find_charsets_in_charc_string' instead of
1432         `find_charsets_in_emchar_string'.
1433
1434         * redisplay.h:
1435         - Include "character.h".
1436         (struct rune): New member `cglyph'; delete member `chr'.
1437
1438         * redisplay.c (redisplay_text_width_charc_string): New function;
1439         delete `redisplay_text_width_emchar_string'.
1440         (rtw_charc_dynarr): New variable; renamed from
1441         `rtw_emchar_dynarr'.
1442         (redisplay_text_width_string): Use `rtw_charc_dynarr' instead of
1443         `rtw_emchar_dynarr'; use
1444         `convert_bufbyte_string_into_charc_dynarr' instead of
1445         `convert_bufbyte_string_into_emchar_dynarr'; use
1446         `redisplay_text_width_charc_string' instead of
1447         `redisplay_text_width_emchar_string'.
1448         (redisplay_frame_text_width_string): Use `rtw_charc_dynarr'
1449         instead of `rtw_emchar_dynarr'; use
1450         `convert_bufbyte_string_into_charc_dynarr' instead of
1451         `convert_bufbyte_string_into_emchar_dynarr'.
1452         (add_emchar_rune): Add <Charc> instead of <Emchar>; use
1453         `redisplay_text_width_charc_string' instead of
1454         `redisplay_text_width_emchar_string'.
1455         (create_text_block): Modify for <struct rune> change.
1456         (generate_formatted_string_db): Likewise.
1457         (create_string_text_block): Likewise.
1458         (pixel_to_glyph_translation): Likewise.
1459
1460         * redisplay-x.c (separate_textual_runs): Use <const Charc *>
1461         instead of <const Emchar *>.
1462         (x_text_width): Likewise.
1463         (x_output_display_block): Use <Charc_dynarr *> instead
1464         <Emchar_dynarr *>; modify for <structure rune> change.
1465         (x_output_string): Use <Charc_dynarr *> instead of <Emchar_dynarr
1466         *>.
1467
1468         * redisplay-tty.c (tty_text_width): Use <const Charc *> instead of
1469         <const Emchar *>; use `charc_string_displayed_columns' instead of
1470         `emchar_string_displayed_columns'.
1471         (tty_output_display_block): Use <Charc_dynarr *> instead of
1472         <Emchar_dynarr *> for buf; modify for <structure rune> change; use
1473         `tty_output_charc_dynarr' instead of `tty_output_emchar_dynarr'.
1474         (tty_output_charc_dynarr_dynarr): New variable; renamed from
1475         `tty_output_emchar_dynarr_dynarr'.
1476         (tty_output_charc_dynarr): New function; delete
1477         `tty_output_charc_dynarr'.
1478
1479         * redisplay-output.c (compare_runes): Modify for `struct rune'.
1480         (redisplay_output_layout): Use <Charc_dynarr *> instead of
1481         <Emchar_dynarr *> for buf; use
1482         `convert_bufbyte_string_into_charc_dynarr' instead of
1483         `convert_bufbyte_string_into_emchar_dynarr'.
1484
1485         * frame.c (title_string_charc_dynarr): New variable; renamed from
1486         `title_string_emchar_dynarr'.
1487         (generate_title_string): Use `title_string_charc_dynarr' instead
1488         of `title_string_emchar_dynarr'; use
1489         `convert_charc_string_into_malloced_string' instead of
1490         `convert_emchar_string_into_malloced_string'.
1491         (init_frame): Use `title_string_charc_dynarr' instead of
1492         `title_string_emchar_dynarr'.
1493
1494         * console.h:
1495         - Include "character.h".
1496         (struct console_methods): Use <const Charc *> instead of <const
1497         Emchar *> in `text_width_method'; use <Charc_dynarr *> instead of
1498         <Emchar_dynarr *> in output_string_method.
1499
1500         * console-x.h (x_output_string): Use <Charc_dynarr *> instead of
1501         <Emchar_dynarr *>.
1502
1503         * console-stream.c (stream_text_width): Use <const Charc *>
1504         instead of <const Emchar *>.
1505
1506         * character.h (Charc_dynarr): New type.
1507
1508         * char-ucs.h (structure Charc): New structure; define new type
1509         `Charc'.
1510
1511         * char-lb.h (DECODE_CHAR): New inline function.
1512         (encode_char_1): New inline function.
1513         (ENCODE_CHAR): New macro.
1514         (structure Charc): New structure; define new type `Charc'.
1515
1516         * char-1byte.h (Vcharset_control_1): New macro.
1517         (Vcharset_latin_iso8859_1): New macro.
1518         (DECODE_CHAR): New inline function.
1519         (encode_char_1): New inline function.
1520         (ENCODE_CHAR): New macro.
1521         (structure Charc): New structure; define new type `Charc'.
1522
1523         * insdel.c (find_charsets_in_charc_string): New function; delete
1524         `find_charsets_in_emchar_string'.
1525         (charc_string_displayed_columns): New function; delete
1526         `emchar_string_displayed_columns'.
1527         (convert_bufbyte_string_into_charc_dynarr): New function; delete
1528         `convert_bufbyte_string_into_emchar_dynarr'.
1529         (convert_charc_string_into_bufbyte_dynarr): New function; delete
1530         `convert_charc_string_into_bufbyte_dynarr'.
1531         (convert_charc_string_into_malloced_string): New function; delete
1532         `convert_charc_string_into_malloced_string'.
1533
1534         * buffer.h (find_charsets_in_charc_string): New prototype; delete
1535         `find_charsets_in_emchar_string'.
1536         (charc_string_displayed_columns): New prototype; delete
1537         `emchar_string_displayed_columns'.
1538         (convert_charc_string_into_bufbyte_dynarr): New prototype; delete
1539         `convert_charc_string_into_bufbyte_dynarr'.
1540         (convert_charc_string_into_malloced_string): New prototype; delete
1541         `convert_charc_string_into_malloced_string'.
1542
1543 2000-06-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1544
1545         * select-x.c (Fx_store_cutbuffer_internal): Modify for UTF-2000.
1546
1547 2000-06-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1548
1549         * chartab.h (get_non_ascii_char_table_value): Use <Charset_ID>.
1550
1551         * char-ucs.h: Use <short> for <Charset_ID>.
1552
1553         * mule-charset.h, char-1byte.h: Use <unsigned char> for
1554         <Charset_ID>.
1555
1556 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1557
1558         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1559         to 0.16.
1560
1561 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1562
1563         * mule-charset.c (Vcharacter_morohashi_daikanwa_table): New
1564         variable.
1565         (Qmorohashi_daikanwa): New variable.
1566         (Fchar_attribute_alist): Use `Vcharacter_morohashi_daikanwa_table'
1567         for `morohashi-daikanwa' attribute.
1568         (Fget_char_attribute): Likewise.
1569         (Fput_char_attribute): Likewise.
1570         (Fdefine_char): Don't setup `morohashi-daikanwa' attribute if it
1571         has the same value of `ideograph-daikanwa'.
1572         (syms_of_mule_charset): Add new symbol `morohashi-daikanwa'.
1573         (vars_of_mule_charset): Setup
1574         `Vcharacter_morohashi_daikanwa_table'.
1575
1576 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1577
1578         * mule-charset.c (Fchar_attribute_alist): Add coded-charset
1579         attributes.
1580         (add_charset_to_list_mapper): Add `key' instead of
1581         `XCHARSET_NAME (value)' to return aliases.
1582
1583 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1584
1585         * mule-charset.c (Vcharacter_ideographic_radical_table): New
1586         variable.
1587         (Vcharacter_ideographic_strokes_table): New variable.
1588         (Qideographic_radical): New variable.
1589         (Qideographic_strokes): New variable.
1590         (Fchar_attribute_alist): Use
1591         `Vcharacter_ideographic_radical_table' for `ideographic-radical'
1592         attribute; use `Vcharacter_ideographic_strokes_table' for
1593         `ideographic-strokes' attribute.
1594         (Fget_char_attribute): Likewise.
1595         (Fput_char_attribute): Likewise.
1596         (syms_of_mule_charset): Add new symbol `ideographic-radical' and
1597         `ideographic-strokes'.
1598         (vars_of_mule_charset): Setup
1599         `Vcharacter_ideographic_radical_table' and
1600         `Vcharacter_ideographic_strokes_table'.
1601
1602 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1603
1604         * mule-charset.c (Vcharacter_total_strokes_table): New variable.
1605         (Qtotal_strokes): New variable.
1606         (Fchar_attribute_alist): Use `Vcharacter_total_strokes_table' for
1607         `total-strokes' attribute.
1608         (Fget_char_attribute): Likewise.
1609         (Fput_char_attribute): Likewise.
1610         (syms_of_mule_charset): Add new symbol `total-strokes'.
1611         (vars_of_mule_charset): Setup `Vcharacter_total_strokes_table'.
1612
1613 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1614
1615         * mule-charset.c (Vcharacter_decomposition_table): New variable.
1616         (Fchar_attribute_alist): Add `name' and `->decomposition' if they
1617         are found.
1618         (Fget_char_attribute): Use `Vcharacter_decomposition_table' for
1619         `->decomposition' attribute.
1620         (Fput_char_attribute): Likewise.
1621         (vars_of_mule_charset): Setup `Vcharacter_decomposition_table'.
1622
1623 2000-06-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1624
1625         * mule-charset.c (decoding_table_check_elements): New function.
1626         (Fset_charset_mapping_table): Use `decoding_table_check_elements'.
1627
1628 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1629
1630         * mule-charset.c (Fset_charset_mapping_table): Use
1631         `put_char_ccs_code_point'.
1632
1633 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1634
1635         * mule-charset.c (decoding_table_put_char): New inline function.
1636         (put_char_ccs_code_point): Use `decoding_table_put_char'.
1637
1638 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1639
1640         * mule-charset.c (CHARSET_BYTE_SIZE): New inline function.
1641         (XCHARSET_BYTE_SIZE): New macro.
1642         (decoding_table_remove_char): New inline function.
1643         (put_char_ccs_code_point): Use `XCHARSET_BYTE_SIZE'; use
1644         `decoding_table_remove_char'.
1645         (remove_char_ccs): Use `decoding_table_remove_char'.
1646         (Fset_charset_mapping_table): Use `CHARSET_BYTE_SIZE'.
1647
1648 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1649
1650         * mule-charset.c (Vcharacter_name_table): New variable.
1651         (Qname): New variable.
1652         (Fget_char_attribute): Use `Vcharacter_name_table' for `name'
1653         attribute.
1654         (Fput_char_attribute): Use function `put_char_ccs_code_point'; use
1655         `Vcharacter_name_table' for `name' attribute.
1656         (Fremove_char_attribute): Use function `remove_char_ccs'.
1657         (put_char_ccs_code_point): New function.
1658         (remove_char_ccs): New function.
1659         (syms_of_mule_charset): Add new symbol `name'.
1660         (vars_of_mule_charset): Setup `Vcharacter_name_table'.
1661
1662 2000-05-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1663
1664         * mule-charset.c (make_byte_table): Add new argument `older'.
1665         (make_char_id_table): Likewise.
1666         (copy_char_id_table): Comment out because it is not used.
1667         (put_char_id_table): Modify for `make_byte_table'.
1668         (Fput_char_attribute): Make encoding_table as older object;
1669         inherit older bit of `Vcharacter_composition_table'.
1670         (mark_charset): Don't mark `cs->encoding_table'.
1671         (vars_of_mule_charset): Make `Vcharacter_attribute_table' as a
1672         normal object; make `Vcharacter_composition_table' as an older
1673         object; delete staticpro for `Vcharacter_composition_table'; make
1674         `Vcharacter_variant_table' as a normal object.
1675
1676         * alloc.c (alloc_older_lcrecord): New function in UTF-2000.
1677         (mark_object): Don't check older object in UTF-2000.
1678
1679         * lrecord.h (struct lrecord_header): Add new member `older' in
1680         UTF-2000.
1681         (set_lheader_implementation): Setup `SLI_header->older' in
1682         UTF-2000.
1683         (set_lheader_older_implementation): New macro in UTF-2000.
1684         (OLDER_RECORD_P): New macro in UTF-2000.
1685         (OLDER_RECORD_HEADER_P): New macro in UTF-2000.
1686         (alloc_older_lcrecord): New prototype in UTF-2000.
1687         (alloc_older_lcrecord_type): New macro in UTF-2000.
1688
1689 2000-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1690
1691         * mule-charset.c (byte_table_description): Use
1692         `XD_LISP_OBJECT_ARRAY' instead of `XD_LISP_OBJECT'.
1693         (char_id_table_description): Delete bogus `, 1'.
1694         (Fget_char_attribute): Refer encoding_table of each coded-charset
1695         to get value of coded-charset attribute of a character.
1696         (Fput_char_attribute): Use `make_older_vector' instead of
1697         `make_vector'; use encoding_table of each coded-charset to store
1698         value of coded-charset attribute of a character.
1699         (Fremove_char_attribute): Use encoding_table of each coded-charset
1700         to store value of coded-charset attribute of a character.
1701         (mark_charset): Mark `cs->encoding_table'; don't mark
1702         `cs->decoding_table'.
1703         (charset_description): Add description of new member
1704         `encoding_table'.
1705         (make_charset): Initialize `encoding_table'.
1706
1707         * char-ucs.h (struct Lisp_Charset): Add new member
1708         `encoding_table'.
1709         (CHARSET_ENCODING_TABLE): New macro.
1710         (XCHARSET_ENCODING_TABLE): New macro.
1711         (charset_code_point): New implementation.
1712         (encode_char_1): Likewise.
1713
1714         * alloc.c (all_older_lcrecords): New variable in UTF-2000.
1715         (disksave_object_finalization_1): Call finalizers of
1716         `all_older_lcrecords' in UTF-2000.
1717         (make_older_vector): New function in UTF-2000.
1718         (reinit_alloc_once_early): Initialize `all_older_lcrecords' in
1719         UTF-2000.
1720
1721         * lisp.h (make_older_vector): New prototype in UTF-2000.
1722
1723 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1724
1725         * lrecord.h (enum lrecord_type): Rename
1726         `lrecord_type_char_code_table' to `lrecord_type_char_id_table'.
1727
1728         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_ID_TABLE_P' and
1729         `get_char_id_table' instead of `CHAR_CODE_TABLE_P' and
1730         `get_char_code_table'.
1731
1732         * mule-charset.c (mark_char_id_table): Renamed from
1733         `mark_char_code_table'.
1734         (char_id_table_equal): Renamed from `char_code_table_equal'.
1735         (char_id_table_hash): Renamed from `char_code_table_hash'.
1736         (make_char_id_table): Renamed from `make_char_code_table'.
1737         (copy_char_id_table): Renamed from `copy_char_code_table'.
1738         (get_char_id_table): Renamed from `get_char_code_table'.
1739         (put_char_id_table): Renamed from `put_char_code_table'.
1740         (to_char_id): Renamed from `to_char_code'.
1741
1742         * char-ucs.h (struct Lisp_Char_ID_Table): Renamed from
1743         `Lisp_Char_Code_Table'.
1744         (char_id_table): Renamed from `char_code_table'.
1745         (XCHAR_ID_TABLE): Renamed from `XCHAR_CODE_TABLE'.
1746         (XSETCHAR_ID_TABLE): Renamed from `XSETCHAR_CODE_TABLE'.
1747         (CHAR_ID_TABLE_P): Renamed from `CHAR_CODE_TABLE_P'.
1748         (GC_CHAR_ID_TABLE_P): Renamed from `GC_CHAR_CODE_TABLE_P'.
1749         (get_char_id_table): Renamed from `get_char_code_table'.
1750
1751 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1752
1753         * lrecord.h (enum lrecord_type): Rename
1754         `lrecord_type_char_byte_table' to `lrecord_type_byte_table'.
1755
1756         * mule-charset.c (mark_byte_table): Renamed from
1757         `mark_char_byte_table'.
1758         (byte_table_equal): Renamed from `char_byte_table_equal'.
1759         (byte_table_hash): Renamed from `byte_table_hash'.
1760         (make_byte_table): Renamed from `make_byte_table'.
1761         (copy_byte_table): Renamed from `copy_char_byte_table'.
1762
1763         * char-ucs.h (struct Lisp_Byte_Table): Renamed from
1764         `Lisp_Char_Byte_Table'.
1765         (byte_table): Renamed from `char_byte_table'.
1766         (XBYTE_TABLE): Renamed from `XCHAR_BYTE_TABLE'.
1767         (XSETBYTE_TABLE): Renamed from `XSET_CHAR_BYTE_TABLE'.
1768         (BYTE_TABLE_P): Renamed from `XBYTE_TABLE_P'.
1769         (GC_BYTE_TABLE_P): Renamed from `GC_CHAR_BYTE_TABLE_P'.
1770
1771 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1772
1773         * buffer.c (dfc_convert_to_external_format): Modify for UTF-2000.
1774         (dfc_convert_to_internal_format): Likewise.
1775         
1776         * text-coding.c (Fcoding_system_canonical_name_p): New function.
1777         * text-coding.c (Fcoding_system_alias_p): New function.
1778         * text-coding.c (Fcoding_system_aliasee): New function.
1779         * text-coding.c (append_suffix_to_symbol): New function.
1780         * text-coding.c (dangling_coding_system_alias_p): New function.
1781         * text-coding.c (Ffind_coding_system):
1782         * text-coding.c (Fcopy_coding_system):
1783         * text-coding.c (encode_coding_no_conversion):
1784         * text-coding.c (syms_of_file_coding):
1785         * text-coding.c (vars_of_file_coding):
1786         Rewrite coding system alias code.
1787         Allow nested aliases, like symbolic links.
1788         Allow redefinition of coding system aliases.
1789         Prevent existence of dangling coding system aliases.
1790         Eliminate convert_to_external_format.
1791         Eliminate convert_to_internal_format.
1792         
1793         * text-coding.c: Change enum eol_type to eol_type_t.
1794
1795 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1796
1797         * mule-charset.c (encode_builtin_char_1): Limit builtin-code-range
1798         of `mojikyo' to MIN_CHAR_MOJIKYO + 94 * 60 * 22.
1799
1800         * char-ucs.h (MAX_CHAR_MOJIKYO): Limit builtin-code-range to
1801         MIN_CHAR_MOJIKYO + 94 * 60 * 22.
1802
1803 2000-04-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1804
1805         * mule-charset.c (encode_builtin_char_1): Use `mojikyo' instead of
1806         `ideograph-daikanwa'.
1807
1808         * char-ucs.h (Vcharset_ucs): Deleted because it is not used.
1809         (Vcharset_ucs_bmp): Likewise.
1810         (Vcharset_mojikyo): Add new extern variable definition.
1811         (Vcharset_latin_iso8859_2): Deleted because it is not used.
1812         (Vcharset_latin_iso8859_3): Likewise.
1813         (Vcharset_latin_iso8859_4): Likewise.
1814         (Vcharset_latin_iso8859_9): Likewise.
1815         (Vcharset_latin_viscii_lower): Likewise.
1816         (Vcharset_latin_viscii_upper): Likewise.
1817         (DECODE_CHAR): If charset is `mojikyo-pj-N', corresponding
1818         `mojikyo' code-point is used to decode.
1819         (encode_char_2): New function [to convert `mojikyo' code-point to
1820         Mojikyo font encoding].
1821         (ENCODE_CHAR): Use `encode_char_2' instead of `encode_code_1'.
1822         (breakup_char_1): Likewise.
1823         (CHAR_CHARSET): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR'.
1824
1825 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1826
1827         * text-coding.c (Fmake_coding_system): Add document about
1828         `disable-composition' property.
1829
1830 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1831
1832         * text-coding.c (Qdisable_composition): New variable; delete
1833         `Qcomposite'.
1834         (Fmake_coding_system): Add new property `disable-composite';
1835         delete property `composite'.
1836         (COMPOSE_ADD_CHAR): Use `CODING_SYSTEM_DISABLE_COMPOSITION'
1837         instead of `!CODING_SYSTEM_COMPOSITE'.
1838         (syms_of_file_coding): Add new symbol `disable-composition';
1839         delete symbol `composite'.
1840
1841         * file-coding.h (struct Lisp_Coding_System): Add
1842         `disable_composition'; delete `enable_composition'.
1843         (CODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
1844         `CODING_SYSTEM_COMPOSITE'.
1845         (XCODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
1846         `XCODING_SYSTEM_COMPOSITE'.
1847
1848 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1849
1850         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1851         to 0.15.
1852
1853 2000-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1854
1855         * text-coding.c (Qcomposite): New variable.
1856         (Fmake_coding_system): Add new property `composite'.
1857         (struct decoding_stream): Add `combined_char_count',
1858         `combined_chars' and `combining_table' in UTF-2000.
1859         (COMPOSE_FLUSH_CHARS): New macro.
1860         (COMPOSE_ADD_CHAR): New macro.
1861         (reset_decoding_stream): Reset `str->combined_char_count' and
1862         `str->combining_table' in UTF-2000.
1863         (decode_coding_iso2022): Modify for character-decomposition.
1864         (syms_of_file_coding): Add new symbol `composite'.
1865
1866 2000-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1867
1868         * mule-charset.c (Vcharset_latin_tcvn5712): New variable.
1869         (Fput_char_attribute): Set up `Vcharacter_variant_table' instead
1870         of `Vcharacter_composition_table' if `->decomposition' property
1871         has only 1 element.
1872         (Qlatin_tcvn5712): New variable.
1873         (syms_of_mule_charset): Add new symbol `latin-tcvn5712'.
1874         (complex_vars_of_mule_charset): Add new coded-charset
1875         `latin-tcvn5712'.
1876
1877         * char-ucs.h (LEADING_BYTE_LATIN_TCVN5712): New macro.
1878
1879 2000-04-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1880
1881         * file-coding.h (struct Lisp_Coding_System): Add
1882         `enable_composition'.
1883         (CODING_SYSTEM_COMPOSITE): New macro.
1884         (XCODING_SYSTEM_COMPOSITE): New macro.
1885
1886 2000-03-17  MORIOKA Tomohiko  <tomo@m17n.org>
1887
1888         * mule-canna.c (c2mu): Fix problem with UTF-2000.
1889
1890 2000-03-16  MORIOKA Tomohiko  <tomo@m17n.org>
1891
1892         * mule-charset.c (Fput_char_attribute): Don't make mapping-table
1893         if ATTRIBUTE is `ucs' and character-id of CHARACTER = VALUE.
1894
1895 2000-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
1896
1897         * mule-charset.c (Vcharset_mojikyo): New variable.
1898         (Fdefine_char): Don't use coded-charset which does not have
1899         non-builtin character range to allocate character-id.
1900         (Qmojikyo): New variable.
1901         (syms_of_mule_charset): Add new symbol `mojikyo'.
1902         (complex_vars_of_mule_charset): Add new coded-charset `mojikyo'.
1903
1904         * char-ucs.h (LEADING_BYTE_DAIKANWA_EKANJI): New macro.
1905         (LEADING_BYTE_MOJIKYO): New macro.
1906         (MIN_CHAR_MOJIKYO): New macro.
1907         (MIN_CHAR_DAIKANWA): Use `MIN_CHAR_MOJIKYO'.
1908         (MAX_CHAR_MOJIKYO): New macro.
1909
1910 2000-02-12  MORIOKA Tomohiko  <tomo@m17n.org>
1911
1912         * mule-charset.c (remove_char_attribute): Fixed.
1913
1914 2000-02-08  MORIOKA Tomohiko  <tomo@m17n.org>
1915
1916         * mule-charset.c (remove_char_attribute): New function.
1917         (Fremove_char_attribute): New function.
1918         (encode_builtin_char_1): Comment out builtin-support for
1919         greek-iso8859-7 and cyrillic-iso8859-5.
1920         (Fdecode_char): Check `code' is an integer.
1921         (syms_of_mule_charset): Add `remove-char-attribute'.
1922         (MIN_CHAR_GREEK): Deleted.
1923         (MAX_CHAR_GREEK): Likewise.
1924         (MIN_CHAR_CYRILLIC): Likewise.
1925         (MAX_CHAR_CYRILLIC): Likewise.
1926         (complex_vars_of_mule_charset): Don't use MIN_CHAR_GREEK and
1927         MAX_CHAR_GREEK for `greek-iso8859-7'.
1928
1929         * char-ucs.h (MIN_CHAR_GREEK): Comment out.
1930         (MAX_CHAR_GREEK): Likewise.
1931         (MIN_CHAR_CYRILLIC): Likewise.
1932         (MAX_CHAR_CYRILLIC): Likewise.
1933
1934 2000-02-02  MORIOKA Tomohiko  <tomo@m17n.org>
1935
1936         * mule-charset.c (Fdefine_char): Fix problem when new code-point
1937         format is used without `ucs' property.
1938         (Fdecode_char): Fix problem with GR representation.
1939         (complex_vars_of_mule_charset): Don't use `MIN_CHAR_CYRILLIC' and
1940         `MAX_CHAR_CYRILLIC' as range of builtin `cyrillic-iso8859-5'.
1941
1942 2000-01-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
1943
1944         * mule-charset.c (make_builtin_char): New function.
1945         (encode_builtin_char_1): Check ISO-2022-charset is defined or not.
1946         (Fset_charset_mapping_table): Modify for new representation of
1947         code-point.
1948         (Fdecode_char): New function.
1949         (syms_of_mule_charset): Add new builtin function `decode-char' in
1950         UTF-2000.
1951
1952         * char-ucs.h (make_builtin_char): New prototype.
1953         (DECODE_CHAR): New inline function.
1954         (MAKE_CHAR): Use `DECODE_CHAR'.
1955
1956 2000-01-28  MORIOKA Tomohiko  <tomo@m17n.org>
1957
1958         * text-coding.c (parse_charset_conversion_specs): Use
1959         `XCHARSET_CHARS' and `XCHARSET_DIMENSION' instead of
1960         `XCHARSET_TYPE'.
1961         (iso2022_designate): Likewise.
1962
1963         * chartab.c (decode_char_table_range): Use `XCHARSET_CHARS' and
1964         `XCHARSET_DIMENSION' instead of `XCHARSET_TYPE'.
1965
1966         * mule-charset.c (Vcharset_ucs): New variable.
1967         (print_charset): Change design; use `CHARSET_CHARS' and
1968         `CHARSET_DIMENSION' instead of `CHARSET_TYPE'.
1969         (make_charset): Change signature to specify `chars' and
1970         `dimension' instead of `type'.
1971         (range_charset_code_point): Modify for 256^n-set.
1972         (encode_builtin_char_1): Encode as `ucs' in default.
1973         (Fmake_charset): Modify for `make_charset'.
1974         (Fmake_reverse_direction_charset): Likewise.
1975         (Fsplit_char): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR' in
1976         UTF-2000.
1977         (complex_vars_of_mule_charset): Add coded-charset `ucs'; modify
1978         for `make_charset'.
1979
1980         * char-ucs.h (Vcharset_ucs): New variable.
1981         (LEADING_BYTE_UCS): New macro.
1982         (struct Lisp_Charset): Delete `type'; change type of `dimension'
1983         and `chars' to `unsigned short' from `unsigned int'.
1984         (CHARSET_TYPE): Deleted.
1985         (XCHARSET_TYPE): Deleted.
1986
1987 2000-01-27  MORIOKA Tomohiko  <tomo@m17n.org>
1988
1989         * mule-charset.c (charset_code_point): Moved to char-ucs.h.
1990
1991         * char-ucs.h (charset_code_point): Moved from mule-charset.c.
1992         (ENCODE_CHAR): New macro.
1993
1994 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
1995
1996         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1997         to 0.14 (Kawachi-Katakami).
1998
1999 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
2000
2001         * text-coding.c (char_encode_shift_jis): Modify for
2002         `charset_code_point'.
2003         (char_encode_iso2022): Likewise.
2004
2005         * mule-charset.c (Fput_char_attribute): Use <Lisp_Object>
2006         (integer) instead of list of <Lisp_Object>s (integers) as the
2007         format of code-point of a coded-charset.
2008         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
2009         (encode_builtin_char_1): New function; delete
2010         `split_builtin_char'.
2011         (charset_code_point): Return <int> instead of <Lisp_Object>.
2012         (Fsplit_char): Don't use `SPLIT_CHAR'.
2013
2014         * char-ucs.h (encode_builtin_char_1): New prototype; delete
2015         prototype for `split_builtin_char'.
2016         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
2017         (charset_code_point): Likewise.
2018         (encode_char_1): New inline function; delete `SPLIT_CHAR'.
2019         (breakup_char_1): Use `encode_char_1' instead of `SPLIT_CHAR'.
2020
2021 2000-01-20  MORIOKA Tomohiko  <tomo@m17n.org>
2022
2023         * mule-charset.c (complex_vars_of_mule_charset): Don't define
2024         `japanese-jisx0208-1990' in non-UTF-2000 Mule.
2025
2026 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2027
2028         * mule-charset.c (split_builtin_char): Don't support OBS_94x94.
2029
2030         * char-ucs.h (MIN_CHAR_OBS_94x94): Deleted.
2031         (MAX_CHAR_OBS_94x94): Deleted.
2032
2033 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2034
2035         * mule-charset.c (split_builtin_char): Use `MAX_CHAR_BMP'.
2036
2037         * char-ucs.h (MAX_CHAR_BMP): New macro.
2038
2039 2000-01-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2040
2041         * text-coding.c: Sync with r21-2-24.
2042
2043 2000-01-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
2044
2045         * file-coding.c: Modify for UTF-2000.
2046
2047 2000-01-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
2048
2049         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2050         to 0.13 (Takaida).
2051
2052 2000-01-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
2053
2054         * mule-charset.c (split_builtin_char): Delete builtin support for
2055         `katakana-jisx0201'.
2056         (complex_vars_of_mule_charset): Don't map `katakana-jisx0201' to
2057         BMP area in builtin representation.
2058
2059         * char-ucs.h (MAKE_CHAR): Delete builtin support for
2060         `Vcharset_katakana_jisx0201'.
2061
2062 1999-12-24  MORIOKA Tomohiko  <tomo@etl.go.jp>
2063
2064         * mule-charset.c (Vcharset_mojikyo_pj_[1 .. 21]): New variable.
2065         (Qisolated): New variable.
2066         (Qinitial): New variable.
2067         (Qmedial): New variable.
2068         (Qfinal): New variable.
2069         (Qvertical): New variable.
2070         (Qsmall): New variable.
2071         (to_char_code): Use `Qisolated', `Qinitial', `Qmedial', `Qfinal',
2072         `Qvertical' and `Qsmall'.
2073         (Qmojikyo_pj_[1 .. 21]): New variable.
2074         (syms_of_mule_charset): Add new symbols `isolated', `initial',
2075         `medial', `final', `vertical', `small' and `mojikyo-pj-[1 .. 21]'.
2076         (complex_vars_of_mule_charset): Add new charset `mojikyo-pj-[1
2077         .. 21]'.
2078
2079 1999-11-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
2080
2081         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x60.
2082         (LEADING_BYTE_MOJIKYO_PJ_[1 .. 21]): New macros.
2083         (MAX_LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 32)'.
2084
2085 1999-11-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
2086
2087         * mule-charset.c (Vcharset_japanese_jisx0208_1990): New variable.
2088         (Fdefine_char): Use Group 00 Plane 10 for non-coded variants of
2089         BMP.
2090         (Qjapanese_jisx0208_1990): New variable.
2091         (syms_of_mule_charset): Add new symbol `Qjapanese_jisx0208_1990'.
2092         (complex_vars_of_mule_charset): Add new coded-charset
2093         `japanese-jisx0208-1990'.
2094
2095         * char-ucs.h (LEADING_BYTE_JAPANESE_JISX0208_1990): New macro.
2096         (MIN_CHAR_JIS_X0208_1990): New macro.
2097         (MAX_CHAR_JIS_X0208_1990): New macro.
2098
2099 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2100
2101         * text-coding.c (char_encode_iso2022): Output `~' if ISO 2022
2102         coded-charset is not found.
2103
2104 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2105
2106         * mule-charset.c (Fget_char_attribute): Forgot to `CHECK_CHAR'.
2107         (Fdefine_char): Use `Fmake_char'.
2108
2109 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2110
2111         * mule-charset.c (Vcharset_ideograph_daikanwa): New variable.
2112         (Vcharset_hiragana_jisx0208): Deleted.
2113         (Vcharset_katakana_jisx0208): Deleted.
2114         (Qideograph_daikanwa): New variable.
2115         (Qhiragana_jisx0208): Deleted.
2116         (Qkatakana_jisx0208): Deleted.
2117         (split_builtin_char): Split `ideograph-daikanwa'.
2118         (Fsplit_char): New implementation for UTF-2000.
2119         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa';
2120         delete symbol `hiragana-jisx0208' and `katakana-jisx0208'.
2121         (complex_vars_of_mule_charset): Add new coded-charset
2122         `ideograph-daikanwa'; delete coded-charset `hiragana-jisx0208' and
2123         `katakana-jisx0208'.
2124
2125         * char-ucs.h (LEADING_BYTE_DAIKANWA): New macro.
2126         (LEADING_BYTE_HIRAGANA_JISX0208): Deleted.
2127         (LEADING_BYTE_KATAKANA_JISX0208): Deleted.
2128         (MIN_CHAR_DAIKANWA): New macro.
2129         (MAX_CHAR_DAIKANWA): New macro.
2130
2131 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2132
2133         * data.c (Fstring_to_number): Don't recognize floating point if
2134         base is not 10.
2135
2136 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2137
2138         * mule-charset.c (Fput_char_attribute): Forgot to `CHECK_CHAR'.
2139
2140 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2141
2142         * mule-charset.c (Qsquare): New variable.
2143         (to_char_code): Add `Qsquare'.
2144         (syms_of_mule_charset): Add new symbol `square'.
2145
2146 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2147
2148         * mule-charset.c (Qcircle): New variable.
2149         (to_char_code): Add `Qcircle'.
2150         (syms_of_mule_charset): Add new symbol `circle'.
2151
2152 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2153
2154         * mule-charset.c (Qfont): New variable.
2155         (to_char_code): Add `Qfont'.
2156         (syms_of_mule_charset): Add new symbol `font'.
2157
2158 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2159
2160         * mule-charset.c (Qsub): New variable.
2161         (to_char_code): Add `Qsub'.
2162         (syms_of_mule_charset): Add new symbol `sub'.
2163
2164 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2165
2166         * mule-charset.c (Fput_char_attribute): Convert each element of
2167         VALUE to GL position if ATTRIBUTE is a GR-set,
2168
2169 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2170
2171         * mule-charset.c (Fput_char_attribute): Allow GR code-point if a
2172         coded-charset is a GR-set.
2173
2174 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2175
2176         * mule-charset.c (Fput_char_attribute): Check each element of
2177         VALUE is a byte if ATTRIBUTE is a coded-charset or its name.
2178
2179 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2180
2181         * mule-charset.c (Vcharset_ethiopic_ucs): New variable in
2182         UTF-2000.
2183         (Qethiopic_ucs): New variable in UTF-2000.
2184         (syms_of_mule_charset): Add new symbol `ethiopic-ucs' in UTF-2000.
2185         (complex_vars_of_mule_charset): Add new coded-charset
2186         `ethiopic-ucs' in UTF-2000.
2187
2188         * char-ucs.h (LEADING_BYTE_ETHIOPIC_UCS): New macro.
2189         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
2190         9)'.
2191         (LEADING_BYTE_KATAKANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
2192         10)'.
2193         (LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 11)'.
2194
2195 1999-11-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
2196
2197         * mule-charset.c (Fset_charset_mapping_table): Fix problem with
2198         `ascii'.
2199
2200 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2201
2202         * mule-charset.c (Vcharacter_variant_table): New variable.
2203         (Q_ucs): New variable.
2204         (Fchar_variants): New function.
2205         (Fput_char_attribute): Register `->ucs' value to
2206         `Vcharacter_variant_table'.
2207         (syms_of_mule_charset): Add new function `char-variants' and new
2208         symbol `->ucs'.
2209         (vars_of_mule_charset): Setup `Vcharacter_variant_table'.
2210
2211 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2212
2213         * mule-charset.c (get_char_code_table): Allow negative character
2214         code.
2215         (put_char_code_table): Likewise.
2216         (Vcharacter_composition_table): New variable.
2217         (Q_decomposition): New variable.
2218         (Qwide): New variable.
2219         (Qnarrow): New variable.
2220         (Qcompat): New variable.
2221         (QnoBreak): New variable.
2222         (Qsuper): New variable.
2223         (Qfraction): New variable.
2224         (to_char_code): New function.
2225         (Fget_composite_char): New function.
2226         (Fput_char_attribute): Register `->decomposition' value to
2227         `Vcharacter_composition_table'.
2228         (syms_of_mule_charset): Add new function `get-composite-char', new
2229         symbol `->decomposition', `wide', `narrow', `compat', `noBreak',
2230         `super' and `fraction'.
2231         (vars_of_mule_charset): Setup `Vcharacter_composition_table'.
2232
2233 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2234
2235         * mule-charset.c (Fchar_attribute_alist): Check the argument is a
2236         character; copy the return value.
2237
2238 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2239
2240         * char-ucs.h (SPLIT_CHAR): Use `split_builtin_char'.
2241
2242         * mule-charset.c (range_charset_code_point): Must use make_int.
2243         (split_builtin_char): New function.
2244
2245 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2246
2247         * mule-charset.c (char_byte_table): Change name from
2248         "char-code-table" to "char-byte-table".
2249         (mark_char_code_table): New function.
2250         (char_code_table_equal): New function.
2251         (char_code_table_hash): New function.
2252         (char_code_table_description): New constant.
2253         (char_code_table): New type.
2254         (make_char_code_table): New function.
2255         (copy_char_code_table): New function.
2256         (get_char_code_table): Modify for `char_code_table' type.
2257         (put_char_code_table): Likewise.
2258         (vars_of_mule_charset): Update `utf-2000-version' to 0.12
2259         (Kashiwara).
2260
2261         * char-ucs.h (char_code_table): New type.
2262         (XCHAR_CODE_TABLE): New macro.
2263         (XSETCHAR_CODE_TABLE): New macro.
2264         (CHAR_CODE_TABLE_P): New macro.
2265         (GC_CHAR_CODE_TABLE_P): New macro.
2266         (struct Lisp_Char_Code_Table): New structure.
2267
2268 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2269
2270         * mule-charset.c (Fmake_charset): Setup byte_offset for
2271         {94|96}^n-set.
2272
2273 1999-11-09  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2274
2275         * mule-charset.c (Fdefine_char): Fix problem with non-UCS
2276         character.
2277
2278 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2279
2280         * char-ucs.h (SPLIT_CHAR): Don't make new cell if a charset slot
2281         is found.
2282
2283 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2284
2285         * mule-charset.c (Fget_char_attribute): If ATTRIBUTE is a name of
2286         charset, it is regarded as a charset.
2287         (put_char_attribute): New function in UTF-2000.
2288         (Fput_char_attribute): If ATTRIBUTE is a charset or a name of
2289         charset, mapping-table of the charset is modified.
2290         (Fdefine_char): New function in UTF-2000.
2291         (Fset_charset_mapping_table): Use `put_char_attribute' instead of
2292         `Fput_char_attribute'.
2293         (syms_of_mule_charset): Add new function `define-char' and new
2294         symbol `ucs' in UTF-2000.
2295         (vars_of_mule_charset): Update `utf-2000-version' to 0.11 (Shiki).
2296
2297 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
2298
2299         * mule-charset.c (Fcharset_name): Define `byte_offset' in
2300         non-UTF-2000 configuration.
2301
2302 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
2303
2304         * text-coding.c (char_encode_shift_jis): Use `charset_code_point'
2305         not to use `XCHARSET_ENCODING_TABLE (Vcharset_latin_jisx0201)'.
2306
2307         * mule-charset.c (mark_charset): `cs->encoding_table' has been
2308         deleted.
2309         (make_charset): Don't use `CHARSET_ENCODING_TABLE(cs)'.
2310         (Fset_charset_mapping_table): Likewise.
2311
2312         * char-ucs.h (struct Lisp_Charset): Delete `encoding_table'.
2313         (CHARSET_ENCODING_TABLE): Delete.
2314         (XCHARSET_ENCODING_TABLE): Delete.
2315         (charset_code_point): New interface.
2316
2317 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
2318
2319         * text-coding.c (char_encode_iso2022): Use `charset_code_point'
2320         instead of `charset_get_byte1' and `charset_get_byte2'.
2321
2322         * mule-charset.c, char-ucs.h (charset_get_byte1): Deleted.
2323         (charset_get_byte2): Deleted.
2324
2325 1999-10-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
2326
2327         * char-ucs.h (SPLIT_CHAR): New inline function.
2328         (breakup_char_1): Use `SPLIT_CHAR'.
2329
2330         * mule-charset.c (range_charset_code_point): New function.
2331         (charset_code_point): New function.
2332
2333         * char-ucs.h (range_charset_code_point): New interface.
2334         (breakup_char_1): Use `range_charset_code_point'.
2335
2336 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
2337
2338         * mule-charset.c (Fmake_charset): Delete unused local variable
2339         `code_offset'.
2340
2341         * char-ucs.h (Vcharacter_attribute_table): New extern variable.
2342         (breakup_char_1): Find a charset and code-point in
2343         `Vcharacter_attribute_table'.
2344
2345 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
2346
2347         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2348         to 0.10 (Yao).
2349
2350 1999-10-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
2351
2352         * mule-charset.c (Vcharacter_attribute_table): New variable.
2353         (Fchar_attribute_alist): New function.
2354         (Fget_char_attribute): New function.
2355         (Fput_char_attribute): New function.
2356         (Fset_charset_mapping_table): Setup `Vcharacter_attribute_table'
2357         too.
2358         (syms_of_mule_charset): Add new function `char-attribute-alist',
2359         `get-char-attribute' and `put-char-attribute'.
2360         (vars_of_mule_charset): Setup `Vcharacter_attribute_table'.
2361
2362 1999-10-19  MORIOKA Tomohiko  <tomo@etl.go.jp>
2363
2364         * mule-charset.c (Fmake_charset): Just use
2365         `get_unallocated_leading_byte'.
2366
2367         * char-ucs.h (LEADING_BYTE_*): Use ISO-IR numbers for official
2368         sets; don't use final-byte based number for private sets.
2369
2370 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2371
2372         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
2373         integer.
2374
2375 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2376
2377         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2378         to 0.9.
2379
2380 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2381
2382         * regex.c (compile_extended_range): Use `CHAR_CHARSET_ID' instead
2383         of `CHAR_LEADING_BYTE' in UTF-2000.
2384
2385         * insdel.c (find_charsets_in_bufbyte_string): Use
2386         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
2387         (find_charsets_in_emchar_string): Likewise.
2388
2389         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use
2390         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
2391
2392         * char-ucs.h (CHAR_LEADING_BYTE): Deleted.
2393         (CHAR_CHARSET_ID): New macro.
2394
2395 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2396
2397         * chartab.c (get_char_table): Don't use type `Charset_ID' for
2398         charset-id - MIN_LEADING_BYTE.
2399         (put_char_table): Likewise.
2400
2401 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2402
2403         * char-ucs.h (MIN_LEADING_BYTE): Changed to `-0x40'.
2404         (NUM_LEADING_BYTES): Changed to (80 * 3 - MIN_LEADING_BYTE).
2405         (CHARSET_LEADING_BYTE): Don't cast by `Bufbyte'.
2406         (CHARSET_ID_OFFSET): New macro.
2407         (LEADING_BYTE_CONTROL_1): Changed to (CHARSET_ID_OFFSET - 1).
2408         (LEADING_BYTE_UCS_BMP): Changed to (CHARSET_ID_OFFSET - 2).
2409         (LEADING_BYTE_LATIN_VISCII): Changed to (CHARSET_ID_OFFSET - 3).
2410         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
2411         4).
2412         (LEADING_BYTE_KATAKANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
2413         5).
2414         (MIN_LEADING_BYTE_PRIVATE): Changed to `MIN_LEADING_BYTE'.
2415         (MAX_LEADING_BYTE_PRIVATE): Changed to (CHARSET_ID_OFFSET - 6).
2416         (CHARSET_ID_OFFSET_94): Changed to (CHARSET_ID_OFFSET - '0').
2417         (CHARSET_ID_OFFSET_96): Changed to (CHARSET_ID_OFFSET_94 + 80).
2418         (CHARSET_ID_OFFSET_94x94): Changed to (CHARSET_ID_OFFSET_96 + 80).
2419
2420 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2421
2422         * mule-charset.c (next_allocated_leading_byte): New variable in
2423         UTF-2000.
2424         (next_allocated_1_byte_leading_byte): Don't define in UTF-2000.
2425         (next_allocated_2_byte_leading_byte): Don't define in UTF-2000.
2426         (get_unallocated_leading_byte): Simply use
2427         `next_allocated_leading_byte' [ignore dimension] in UTF-2000.
2428         (vars_of_mule_charset): Setup `next_allocated_leading_byte' in
2429         UTF-2000.
2430
2431         * char-ucs.h (MIN_LEADING_BYTE_PRIVATE): New macro.
2432         (MAX_LEADING_BYTE_PRIVATE): New macro.
2433         (MIN_LEADING_BYTE_OFFICIAL_2): Deleted.
2434         (MAX_LEADING_BYTE_OFFICIAL_2): Deleted.
2435
2436 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2437
2438         * mule-charset.c (Fmake_charset): Allocate final-byte based
2439         charset-id for 94-set, 96-set and 94x94-set.
2440
2441 1999-10-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2442
2443         * mule-charset.c (char_byte_table_equal): Fill braces to avoid
2444         ambiguous `else'.
2445         (Fmake_charset): Likewise.
2446         (complex_vars_of_mule_charset): Modify the font registry of
2447         `ucs-bmp' not to match `Ethiopic-Unicode'.
2448
2449 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2450
2451         * mule-charset.c (complex_vars_of_mule_charset): Add font
2452         registory of `ucs-bmp'.
2453
2454 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2455
2456         * text-coding.c (char_encode_iso2022): Ignore non-ISO-2022
2457         coded-charsets in `default-coded-charset-priority-list' when
2458         breaking up a character.
2459
2460         * mule-charset.c (Vcharset_latin_viscii): New variable.
2461         (Qlatin_viscii): New variable.
2462         (make_charset): Don't use `decoding_table'.
2463         (Fmake_charset): Regard graphic = 2 as 256^n-set; setup
2464         byte_offset.
2465         (Fset_charset_mapping_table): New implementation.
2466         (syms_of_mule_charset): Add new symbol `latin-viscii'.
2467         (complex_vars_of_mule_charset): Set `graphic' attribute of charset
2468         `ucs-bmp' and `latin_viscii' to 2; change font registry of charset
2469         `latin-viscii-lower' to "MULEVISCII-LOWER"; change font registry
2470         of charset `latin-viscii-upper' to "MULEVISCII-UPPER"; add new
2471         charset `latin_viscii'.
2472
2473         * char-ucs.h (LEADING_BYTE_LATIN_VISCII): New macro.
2474         (CHARSET_TYPE_94X94): Change to 1 from 2.
2475         (CHARSET_TYPE_96): Change to 2 from 1.
2476         (CHARSET_TYPE_128): New macro.
2477         (CHARSET_TYPE_128X128): Change to 5 from 4.
2478         (CHARSET_TYPE_256): New macro.
2479         (CHARSET_TYPE_256X256): Change to 7 from 5.
2480         (MAKE_CHAR): Use `XCHARSET_BYTE_OFFSET(charset)'.
2481
2482 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2483
2484         * text-coding.c (char_encode_shift_jis): Refer
2485         `XCHARSET_ENCODING_TABLE(Vcharset_latin_jisx0201)' instead of
2486         `XCHARSET_TO_BYTE1_TABLE(Vcharset_latin_jisx0201)'.
2487
2488         * mule-charset.c (mark_char_byte_table): New function in UTF-2000.
2489         (char_byte_table_equal): New function in UTF-2000.
2490         (char_byte_table_hash): New function in UTF-2000.
2491         (char_byte_table_description): New constant in UTF-2000.
2492         (char_byte_table): New type in UTF-2000.
2493         (make_char_byte_table): New function in UTF-2000.
2494         (copy_char_byte_table): New function in UTF-2000.
2495         (make_char_code_table): New macro in UTF-2000.
2496         (get_char_code_table): New function in UTF-2000.
2497         (put_char_code_table): New function in UTF-2000.
2498         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
2499         (charset_description): Add setting in UTF-2000.
2500         (make_charset): Setup `CHARSET_ENCODING_TABLE(cs)' instead of
2501         `CHARSET_TO_BYTE1_TABLE(cs)'.
2502         (charset_get_byte1): Refer `XCHARSET_ENCODING_TABLE(charset)'
2503         instead of `XCHARSET_TO_BYTE1_TABLE(charset)'.
2504         (charset_get_byte2): Refer `XCHARSET_ENCODING_TABLE(charset)'
2505         instead of `XCHARSET_TO_BYTE2_TABLE(charset)'.
2506         (Fset_charset_mapping_table): Setup `CHARSET_ENCODING_TABLE(cs)'
2507         instead of `CHARSET_TO_BYTE1_TABLE(cs)' and
2508         `CHARSET_TO_BYTE2_TABLE(cs)'.
2509
2510         * char-ucs.h (char_byte_table): New type.
2511         (XCHAR_BYTE_TABLE): New macro.
2512         (XSETCHAR_BYTE_TABLE): New macro.
2513         (CHAR_BYTE_TABLE_P): New macro.
2514         (GC_CHAR_BYTE_TABLE_P): New macro.
2515         (struct Lisp_Char_Byte_Table): New structure.
2516         (get_char_code_table): New interface.
2517         (Emchar_to_byte_table): Deleted.
2518         (get_byte_from_character_table): Deleted.
2519         (struct Lisp_Charset): Add `encoding_table'; delete
2520         `to_byte1_table' and `to_byte2_table'.
2521         (CHARSET_ENCODING_TABLE): New macro.
2522         (CHARSET_TO_BYTE1_TABLE): Deleted.
2523         (CHARSET_TO_BYTE2_TABLE): Deleted.
2524         (XCHARSET_ENCODING_TABLE): New macro.
2525         (XCHARSET_TO_BYTE1_TABLE): Deleted.
2526         (XCHARSET_TO_BYTE2_TABLE): Deleted.
2527
2528 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
2529
2530         * mule-charset.c (syms_of_mule_charset): Delete charset alias
2531         `vietnamese-viscii-*'.
2532
2533 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
2534
2535         * mule-charset.c (Qvietnamese_viscii_lower): New variable.
2536         (Qvietnamese_viscii_upper): New variable.
2537         (Fdefine_charset_alias): New function.
2538         (syms_of_mule_charset): Add new function `define-charset-alias'.
2539         (syms_of_mule_charset): Rename charset `vietnamese-viscii-*' to
2540         `latin-viscii-*'; define `vietnamese-viscii-*' as aliases for
2541         `latin-viscii-*'.
2542
2543 1999-10-04  MORIOKA Tomohiko  <tomo@etl.go.jp>
2544
2545         * char-ucs.h (MIN_CHAR_OBS_94x94): New macro.
2546         (MAX_CHAR_OBS_94x94): New macro.
2547         (breakup_char_1): Support obsolete XEmacs-UCS private code space
2548         for 94x94 sets.
2549
2550         * mule-charset.c (put_byte_from_character_table): Change unit size
2551         from 128 to 256.
2552         (mark_charset): Don't mark `cs->decoding_table' if `UTF2000' is
2553         not defined.
2554         (Fmake_reverse_direction_charset): Modify dummy argument of
2555         `make_charset' for non-UTF-2000 environment.
2556
2557 1999-10-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2558
2559         * char-ucs.h (MAKE_CHAR): Allow nested decoding-table.
2560
2561         * mule-charset.c (destroy_byte_from_character_table): New macro.
2562         (latin_jisx0201_to_ucs): Deleted.
2563         (latin_iso8859_2_to_ucs): Deleted.
2564         (latin_iso8859_3_to_ucs): Deleted.
2565         (latin_iso8859_4_to_ucs): Deleted.
2566         (latin_iso8859_9_to_ucs): Deleted.
2567         (latin_viscii_lower_to_ucs): Deleted.
2568         (latin_viscii_upper_to_ucs): Deleted.
2569         (mark_charset): Mark `cs->decoding_table'.
2570         (Fcharset_mapping_table): Fix DOC-string.
2571         (Fset_charset_mapping_table): New function.
2572         (syms_of_mule_charset): Add nwe function
2573         `set-charset-mapping-table'.
2574         (complex_vars_of_mule_charset): Don't setup and use
2575         `latin_*_to_ucs'.
2576
2577 1999-10-01  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2578
2579         * char-ucs.h (MAKE_CHAR): Check the result for range-represented
2580         charset.
2581
2582 1999-09-30  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2583
2584         * mule-charset.c (Vcharset_hiragana_jisx0208): New variable.
2585         (Vcharset_katakana_jisx0208): New variable.
2586         (Qhiragana_jisx0208): New variable.
2587         (Qkatakana_jisx0208): New variable.
2588         (make_charset): Add new argument `byte_offset'.
2589         (charset_get_byte1): Modify for new coded-charset definition; use
2590         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
2591         `XCHARSET_BYTE_OFFSET'.
2592         (Fmake_charset): Modify for `make_charset'.
2593         (Fmake_reverse_direction_charset): Likewise.
2594         (syms_of_mule_charset): Add new symbols `hiragana-jisx0208' and
2595         `katakana-jisx0208'.
2596         (complex_vars_of_mule_charset): Modify for `make_charset'; quote
2597         `.'  in font registry of charset `katakana-jisx0201',
2598         `latin-jisx0201', `vietnamese-viscii-lower' and
2599         `vietnamese-viscii-upper'; modify DOC-string of charset
2600         `japanese-jisx0208-1978' and `japanese-jisx0208'; modify font
2601         registry of charset `japanese-jisx0208' not to use font for JIS
2602         X0208:1990; add new charset `hiragana-jisx0208' and
2603         `katakana-jisx0208'.
2604
2605         * char-ucs.h (LEADING_BYTE_HIRAGANA_JISX0208): New macro.
2606         (LEADING_BYTE_KATAKANA_JISX0208): New macro.
2607         (struct Lisp_Charset): Add `byte_offset'.
2608         (CHARSET_BYTE_OFFSET): New macro.
2609         (XCHARSET_UCS_MIN): New macro.
2610         (XCHARSET_UCS_MAX): New macro.
2611         (XCHARSET_CODE_OFFSET): New macro.
2612         (XCHARSET_BYTE_OFFSET): New macro.
2613         (MIN_CHAR_HIRAGANA): New macro.
2614         (MAX_CHAR_HIRAGANA): New macro.
2615         (MIN_CHAR_KATAKANA): New macro.
2616         (MAX_CHAR_KATAKANA): New macro.
2617         (MAKE_CHAR): Modify for new coded-charset definition; use
2618         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
2619         `XCHARSET_BYTE_OFFSET'.
2620
2621 1999-09-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
2622
2623         * mule-charset.c (CHAR96): Deleted.
2624         (latin_jisx0201_to_ucs): Type is changed from array of <Emchar> to
2625         <Lisp_Object>.
2626         (latin_iso8859_2_to_ucs): Likewise.
2627         (latin_iso8859_3_to_ucs): Likewise.
2628         (latin_iso8859_4_to_ucs): Likewise.
2629         (latin_iso8859_9_to_ucs): Likewise.
2630         (latin_viscii_lower_to_ucs): Likewise.
2631         (latin_viscii_upper_to_ucs): Likewise.
2632         (latin_tcvn5712_to_ucs): Commented out.
2633         (make_charset): Change type of argument `decoding_table' from
2634         <Emchar*> to <Lisp_Object> [vector of characters].
2635         (Fmake_charset): Modify for `make_charset'.
2636         (Fmake_reverse_direction_charset): Likewise.
2637         (Fcharset_mapping_table): New function in UTF-2000.
2638         (syms_of_mule_charset): Setup `Fcharset_mapping_table' in
2639         UTF-2000.
2640         (complex_vars_of_mule_charset): Modify for type change of
2641         `*_to_ucs'; modify for `make_charset'.
2642
2643         * char-ucs.h (struct Lisp_Charset): Change type of
2644         `decoding_table' from <Emchar*> to <Lisp_Object>.
2645         (MAKE_CHAR): Modify for new specification of `decoding_table'.
2646
2647 1999-09-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
2648
2649         * mule-charset.c (Fmake_reverse_direction_charset): Fix compile
2650         error with non-UTF-2000-Mule.
2651
2652 1999-09-21  MORIOKA Tomohiko  <tomo@etl.go.jp>
2653
2654         * mule-charset.c (Vcharset_chinese_cns11643_3): Deleted [defined
2655         in lisp again].
2656         (Vcharset_chinese_cns11643_4): Likewise.
2657         (Vcharset_chinese_cns11643_5): Likewise.
2658         (Vcharset_chinese_cns11643_6): Likewise.
2659         (Vcharset_chinese_cns11643_7): Likewise.
2660         (Qchinese_cns11643_3): Likewise.
2661         (Qchinese_cns11643_4): Likewise.
2662         (Qchinese_cns11643_5): Likewise.
2663         (Qchinese_cns11643_6): Likewise.
2664         (Qchinese_cns11643_7): Likewise.
2665         (syms_of_mule_charset): Move definitions for `chinese-cns11643-3',
2666         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
2667         and `chinese-cns11643-7' to lisp/mule/chinese.el.
2668         (complex_vars_of_mule_charset): Likewise.
2669
2670 1999-09-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
2671
2672         * mule-charset.c (charset_get_byte1): Fix bug about 94- and
2673         96-set.
2674         (Fmake_reverse_direction_charset): Inherit CHARSET_DECODING_TABLE,
2675         CHARSET_UCS_MIN, CHARSET_UCS_MAX and CHARSET_CODE_OFFSET.
2676
2677 1999-09-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
2678
2679         * char-ucs.h (MIN_CHAR_HALFWIDTH_KATAKANA): Changed to 0xFF61 from
2680         0xFF60.
2681         (MAKE_CHAR): Change offset for katakana-jisx0201 to 33 from 0x20.
2682         (breakup_char_1): Likewise.
2683
2684         * text-coding.c (char_encode_iso2022): Keep designated charsets if
2685         one of them includes the specified character.
2686
2687 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
2688
2689         * mule-charset.c: Update `utf-2000-version' to 0.8 (Kami).
2690
2691 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
2692
2693         * char-ucs.h (MAKE_CHAR): Fix problem in 2-dimension charset.
2694
2695 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
2696
2697         * mule-charset.c (latin_iso8859_2_to_ucs NULL): Add pseudo
2698         definition for non-UTF-2000 Mule.
2699         (latin_iso8859_3_to_ucs): Likewise.
2700         (latin_iso8859_4_to_ucs): Likewise.
2701         (latin_iso8859_9_to_ucs): Likewise.
2702         (latin_jisx0201_to_ucs): Likewise.
2703         (MIN_CHAR_THAI): Likewise.
2704         (MAX_CHAR_THAI): Likewise.
2705         (MIN_CHAR_GREEK): Likewise.
2706         (MAX_CHAR_GREEK): Likewise.
2707         (MIN_CHAR_HEBREW): Likewise.
2708         (MAX_CHAR_HEBREW): Likewise.
2709         (MIN_CHAR_HALFWIDTH_KATAKANA): Likewise.
2710         (MAX_CHAR_HALFWIDTH_KATAKANA): Likewise.
2711         (MIN_CHAR_CYRILLIC): Likewise.
2712         (MAX_CHAR_CYRILLIC): Likewise.
2713
2714 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
2715
2716         * char-ucs.h (breakup_char_1): Use
2717         `Vdefault_coded_charset_priority_list' for hebrew-iso8859-8,
2718         thai-tis620 and katakana-jisx0201 area.
2719
2720 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2721
2722         * char-ucs.h (breakup_char_1): Use
2723         `Vdefault_coded_charset_priority_list' for cyrillic-iso8859-5
2724         area.
2725
2726         * text-coding.c (reset_encoding_stream): Fixed.
2727         (char_encode_ucs4): Delete `& 255'.
2728
2729         * char-ucs.h (breakup_char_1): Use
2730         `Vdefault_coded_charset_priority_list' for greek-iso8859-7 area.
2731
2732 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2733
2734         * file-coding.c (Fmake_coding_system): Don't set up
2735         `codesys->fixed.size'.
2736         (encode_coding_no_conversion): Don't refer
2737         `str->codesys->fixed.size'.
2738
2739 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2740
2741         * mule-charset.c, char-ucs.h (latin_a_char_to_charset): Deleted.
2742         (latin_a_char_to_byte1): Deleted.
2743         (latin_a_char_to_byte2): Deleted.
2744
2745 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2746
2747         * mule-charset.c (make_charset): Add new argument `ucs_min',
2748         `ucs_max' and `code_offset'.
2749         (charset_get_byte1): New implementation [delete specific charset
2750         depended implementations].
2751         (Fmake_charset): Modify for `make_charset'.
2752         (Fmake_reverse_direction_charset): Likewise.
2753         (complex_vars_of_mule_charset): Likewise.
2754
2755         * char-ucs.h (struct Lisp_Charset): Add `ucs_min', `ucs_max' and
2756         `code_offset'.
2757         (CHARSET_UCS_MIN): New macro.
2758         (CHARSET_UCS_MAX): New macro.
2759         (CHARSET_CODE_OFFSET): New macro.
2760         (MAKE_CHAR): Delete charset depended definitions [except
2761         katakana-jisx0201].
2762
2763 1999-09-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
2764
2765         * char-ucs.h (breakup_char_1): Use
2766         `Vdefault_coded_charset_priority_list' for C0-Controls,
2767         Basic-Latin, C1-Controls and Latin-1-Supplement area.
2768
2769 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2770
2771         * char-ucs.h (charset_get_byte1): New function.
2772         (XCHARSET_GET_BYTE1): Deleted.
2773         (charset_get_byte2): New function.
2774         (XCHARSET_GET_BYTE2): Deleted.
2775         (Vdefault_coded_charset_priority_list): New external variable.
2776         (breakup_char_1): Use `charset_get_byte1', `charset_get_byte2' and
2777         `Vdefault_preferred_coded_charset_list'.
2778
2779         * mule-charset.c (charset_get_byte1): New function.
2780         (charset_get_byte2): New function.
2781         (Vdefault_coded_charset_priority_list): New variable.
2782         (vars_of_mule_charset): Add new variable
2783         `default-coded-charset-priority-list'.
2784
2785 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2786
2787         * char-ucs.h (XCHARSET_GET_BYTE1): New inline function.
2788         (XCHARSET_GET_BYTE2): New inline function.
2789         (breakup_char_1): Use `XCHARSET_GET_BYTE1' and
2790         `XCHARSET_GET_BYTE2'.
2791
2792 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2793
2794         * mule-charset.c (make_charset): Initialize
2795         `CHARSET_TO_BYTE1_TABLE(cs)' and `CHARSET_TO_BYTE2_TABLE(cs)' by
2796         NULL if table is not defined.
2797
2798 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2799
2800         * text-coding.c (char_encode_shift_jis): Use
2801         `XCHARSET_TO_BYTE1_TABLE' for `Vcharset_latin_jisx0201' instead of
2802         `ucs_to_latin_jisx0201'.
2803
2804         * mule-charset.c (ucs_to_latin_jisx0201): Deleted.
2805         (ucs_to_latin_iso8859_2): Deleted.
2806         (ucs_to_latin_iso8859_3): Deleted.
2807         (ucs_to_latin_iso8859_4): Deleted.
2808         (ucs_to_latin_iso8859_9): Deleted.
2809         (ucs_to_latin_viscii_lower): Deleted.
2810         (ucs_to_latin_viscii_upper): Deleted.
2811         (ucs_to_latin_tcvn5712): Deleted.
2812         (make_charset): Add new argument `decoding_table'; set up
2813         `CHARSET_DECODING_TABLE(cs)' in UTF-2000; set up
2814         `CHARSET_TO_BYTE1_TABLE(cs)' for 94-set and 96-set if
2815         `decoding_table' is defined in UTF-2000.
2816         (Fmake_charset): Modify for `make_charset'.
2817         (Fmake_reverse_direction_charset): Likewise.
2818         (complex_vars_of_mule_charset): Likewise; delete `GENERATE_94_SET'
2819         and `GENERATE_96_SET'.
2820
2821         * char-ucs.h (latin_jisx0201_to_ucs): Deleted.
2822         (ucs_to_latin_jisx0201): Deleted.
2823         (latin_iso8859_2_to_ucs): Deleted.
2824         (ucs_to_latin_iso8859_2): Deleted.
2825         (latin_iso8859_3_to_ucs): Deleted.
2826         (ucs_to_latin_iso8859_3): Deleted.
2827         (latin_iso8859_4_to_ucs): Deleted.
2828         (ucs_to_latin_iso8859_4): Deleted.
2829         (latin_iso8859_9_to_ucs): Deleted.
2830         (ucs_to_latin_iso8859_9): Deleted.
2831         (latin_viscii_lower_to_ucs): Deleted.
2832         (ucs_to_latin_viscii_lower): Deleted.
2833         (latin_viscii_upper_to_ucs): Deleted.
2834         (ucs_to_latin_viscii_upper): Deleted.
2835         (struct Lisp_Charset): Renamed `encoding_table' to
2836         `to_byte1_table'; add `to_byte2_table'.
2837         (CHARSET_DECODING_TABLE): New macro.
2838         (CHARSET_TO_BYTE1_TABLE): New macro.
2839         (CHARSET_TO_BYTE2_TABLE): New macro.
2840         (XCHARSET_DECODING_TABLE): New macro.
2841         (XCHARSET_TO_BYTE1_TABLE): New macro.
2842         (XCHARSET_TO_BYTE2_TABLE): New macro.
2843         (MAKE_CHAR): Use `XCHARSET_DECODING_TABLE'; don't use `*_to_ucs'
2844         tables.
2845         (breakup_char_1): Use `XCHARSET_TO_BYTE1_TABLE' if it is defined;
2846         don't use `ucs_to_*' tables.
2847
2848 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2849
2850         * text-coding.c (Fmake_coding_system): Don't set up
2851         `codesys->fixed.size'.
2852         (encode_coding_no_conversion): Use `if' instead of `switch'.
2853
2854         * file-coding.h (struct Lisp_Coding_System): Delete `fixed.size'.
2855
2856 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2857
2858         * mule-charset.c (make_charset): Delete argument `rep_bytes'.
2859         (Fmake_charset): Modify for `make_charset'.
2860         (Fmake_reverse_direction_charset): Likewise.
2861         (complex_vars_of_mule_charset): Likewise.
2862
2863 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2864
2865         * text-coding.c (char_encode_shift_jis): Use table
2866         `ucs_to_latin_jisx0201' and BREAKUP_CHAR.
2867
2868 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2869
2870         * text-coding.c (text_encode_generic): Use `if' instead of
2871         `switch'.
2872         (decode_coding_sjis): Use `MAKE_CHAR' and `DECODE_ADD_UCS_CHAR' to
2873         decode JIS-Latin.
2874
2875 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2876
2877         * text-coding.c (encode_coding_sjis): Deleted.
2878         (char_encode_shift_jis): New function.
2879         (char_finish_shift_jis): New function.
2880         (reset_encoding_stream): Set up `encode_char' and `finish' for
2881         `CODESYS_UCS4' and `CODESYS_SHIFT_JIS'.
2882         (mule_encode): Use generic encoder for `CODESYS_SHIFT_JIS'.
2883         (char_encode_utf8): Treat `eol_type'.
2884
2885 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2886
2887         * file-coding.c (decode_coding_iso2022): Use
2888         `DECODE_ADD_UCS_CHAR'; don't use `XCHARSET_REP_BYTES'.
2889
2890 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2891
2892         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2893         to 0.7 (Hirano).
2894
2895 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2896
2897         * char-lb.h (CHAR_COLUMNS): New macro.
2898
2899 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2900
2901         * text-coding.c (char_encode_ucs4): New function.
2902         (char_finish_ucs4): New function.
2903         (encode_coding_ucs4): Deleted.
2904         (mule_encode): Use generic encoder for `CODESYS_UCS4'.
2905         (text_encode_generic): Delete local variable `charset' and `half'.
2906         (ucs_to_mule_table): Deleted.
2907         (mule_to_ucs_table): Deleted.
2908         (Fset_ucs_char): Deleted.
2909         (ucs_to_char): Deleted.
2910         (Fucs_char): Deleted.
2911         (Fset_char_ucs): Deleted.
2912         (Fchar_ucs): Deleted.
2913         (decode_ucs4): Deleted.
2914         (mule_char_to_ucs4): Deleted.
2915         (encode_ucs4): Deleted.
2916         (decode_coding_ucs4): Use `DECODE_ADD_UCS_CHAR'.
2917         (decode_coding_utf8): Likewise.
2918         (decode_coding_iso2022): Likewise; don't use `XCHARSET_REP_BYTES'.
2919         (char_encode_iso2022): Fixed.
2920         (syms_of_file_coding): Delete `Fset_ucs_char', `Fucs_char',
2921         `Fset_char_ucs' and `Fchar_ucs'.
2922         (complex_vars_of_file_coding): Don't initialize
2923         `ucs_to_mule_table'.
2924
2925         * objects-tty.c (tty_initialize_font_instance): Don't use
2926         `XCHARSET_COLUMNS'.
2927
2928         * mule-charset.c (make_charset): Don't set up CHARSET_REP_BYTES in
2929         UTF-2000.
2930
2931         * redisplay-tty.c (tty_output_display_block): Use `CHAR_COLUMNS'
2932         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
2933
2934         * insdel.c (bufbyte_string_displayed_columns): Use `CHAR_COLUMNS'
2935         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
2936         (emchar_string_displayed_columns): Likewise.
2937
2938         * indent.c (column_at_point): Use `CHAR_COLUMNS' instead of
2939         `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
2940         (string_column_at_point): Likewise.
2941         (Fmove_to_column): Likewise.
2942
2943         * char-ucs.h (struct Lisp_Charset): Delete `rep_bytes'; add
2944         `encoding_table' and `decoding_table'.
2945         (CHARSET_REP_BYTES): Deleted.
2946         (XCHARSET_REP_BYTES): Deleted.
2947         (XCHARSET_COLUMNS): Deleted.
2948         (CHAR_COLUMNS): New macro.
2949         (lookup_composite_char): Deleted unconditionally.
2950         (composite_char_string): Likewise.
2951
2952 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2953
2954         * char-ucs.h (Emchar_to_byte_table): New type.
2955         (get_byte_from_character_table): New function interface.
2956         (Vcharset_latin_jisx0201): New variable.
2957         (latin_jisx0201_to_ucs): New variable.
2958         (ucs_to_latin_jisx0201): New variable.
2959         (Vcharset_latin_iso8859_2): New variable.
2960         (latin_iso8859_2_to_ucs): New variable.
2961         (ucs_to_latin_iso8859_2): New variable.
2962         (Vcharset_latin_iso8859_3): New variable.
2963         (latin_iso8859_3_to_ucs): New variable.
2964         (ucs_to_latin_iso8859_3): New variable.
2965         (Vcharset_latin_iso8859_4): New variable.
2966         (latin_iso8859_4_to_ucs): New variable.
2967         (ucs_to_latin_iso8859_4): New variable.
2968         (Vcharset_latin_iso8859_9): New variable.
2969         (latin_iso8859_9_to_ucs): New variable.
2970         (ucs_to_latin_iso8859_9): New variable.
2971         (Vcharset_latin_viscii_lower): New variable.
2972         (latin_viscii_lower_to_ucs): New variable.
2973         (ucs_to_latin_viscii_lower): New variable.
2974         (Vcharset_latin_viscii_upper): New variable.
2975         (latin_viscii_upper_to_ucs): New variable.
2976         (ucs_to_latin_viscii_upper): New variable.
2977         (CHARSET_ID_OFFSET_94): Changed from 0x60 to 0x55.
2978         (LEADING_BYTE_LATIN_VISCII_LOWER): New macro.
2979         (LEADING_BYTE_LATIN_VISCII_UPPER): New macro.
2980         (MAKE_CHAR): Map `latin-iso8859-2', `latin-iso8859-3',
2981         `latin-iso8859-4', `latin-iso8859-9', `latin-jisx0201',
2982         `vietnamese-viscii-lower' and `vietnamese-viscii-upper' to BMP.
2983         (breakup_char_1): Use `ucs_to_latin_iso8859_2',
2984         `ucs_to_latin_iso8859_3', `ucs_to_latin_iso8859_4',
2985         `ucs_to_latin_iso8859_9', `ucs_to_latin_viscii_lower',
2986         `ucs_to_latin_viscii_upper' and `ucs_to_latin_jisx0201' tables.
2987
2988         * mule-charset.c (Vcharset_latin_viscii_lower): New variable.
2989         (Vcharset_latin_viscii_upper): New variable.
2990         (make_byte_from_character_table): New function.
2991         (put_byte_from_character_table): New function.
2992         (get_byte_from_character_table): New function.
2993         (CHAR96): New macro.
2994         (ucs_to_latin_jisx0201): New variable.
2995         (latin_jisx0201_to_ucs): New variable.
2996         (ucs_to_latin_iso8859_2): New variable.
2997         (latin_iso8859_2_to_ucs): New variable.
2998         (ucs_to_latin_iso8859_3): New variable.
2999         (latin_iso8859_3_to_ucs): New variable.
3000         (ucs_to_latin_iso8859_4): New variable.
3001         (latin_iso8859_4_to_ucs): New variable.
3002         (ucs_to_latin_iso8859_9): New variable.
3003         (latin_iso8859_9_to_ucs): New variable.
3004         (ucs_to_latin_viscii_lower): New variable.
3005         (latin_viscii_lower_to_ucs): New variable.
3006         (ucs_to_latin_viscii_upper): New variable.
3007         (latin_viscii_upper_to_ucs): New variable.
3008         (ucs_to_latin_tcvn5712): New variable.
3009         (latin_tcvn5712_to_ucs): New variable.
3010         (Qlatin_viscii_lower): New variable.
3011         (Qlatin_viscii_upper): New variable.
3012         (syms_of_mule_charset): Set up new symbol
3013         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'.
3014         (complex_vars_of_mule_charset): Set up new charset
3015         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'; new macro
3016         `GENERATE_94_SET' and `GENERATE_96_SET'; use them to generate
3017         `ucs_to_<CHARSET>' tables.
3018
3019 1999-09-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
3020
3021         * text-coding.c: New file.
3022
3023 1999-09-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
3024
3025         * mule-charset.c (Fmake_char): Fix problem of 256-set.
3026
3027         * char-ucs.h (Vcharset_ucs_bmp): New variable.
3028         (MAKE_CHAR): Modify for `ucs-bmp'.
3029         (breakup_char_1): Return `ucs-bmp' and code point of BMP for
3030         non-MULE characters of BMP.
3031
3032 1999-09-06  MORIOKA Tomohiko  <tomo@etl.go.jp>
3033
3034         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3035         to 0.6.
3036
3037 1999-09-05  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3038
3039         * lstream.h:
3040         - Include multibyte.h instead of character.h for `BYTE_ASCII_P'.
3041         - Include character.h for `CHAR_ASCII_P'.
3042
3043         * mb-multibyte.h (CHAR_MULTIBYTE_P): Moved from mule-charset.h.
3044
3045         * mule-charset.h (CHAR_MULTIBYTE_P): Moved to mb-multibyte.h.
3046         (CHAR_ASCII_P): Don't use `CHAR_MULTIBYTE_P'.
3047
3048         * mb-multibyte.h (BYTE_ASCII_P): Moved from char-ucs.h.
3049         (BYTE_C0_P): Likewise.
3050         (BYTE_C1_P): Likewise.
3051         (Lstream_get_emchar_1): Likewise.
3052         (Lstream_fput_emchar): Likewise.
3053         (Lstream_funget_emchar): Likewise.
3054         (copy_internal_to_external): Likewise.
3055         (copy_external_to_internal): Likewise.
3056
3057         * char-ucs.h (BYTE_ASCII_P): Moved to mb-multibyte.h.
3058         (BYTE_C0_P): Likewise.
3059         (BYTE_C1_P): Likewise.
3060         (Lstream_get_emchar_1): Likewise.
3061         (Lstream_fput_emchar): Likewise.
3062         (Lstream_funget_emchar): Likewise.
3063         (copy_internal_to_external): Likewise.
3064         (copy_external_to_internal): Likewise.
3065
3066         * mb-1byte.h (BYTE_ASCII_P): Moved from buffer.h.
3067         (REP_BYTES_BY_FIRST_BYTE): Likewise.
3068
3069         * buffer.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-1byte.h.
3070         (BYTE_ASCII_P): Moved to mb-1byte.h.
3071
3072 1999-09-04  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3073
3074         * mb-utf-8.h, mb-lb.h: Include mb-multibyte.h.
3075
3076         * multibyte.h: Include mb-1byte.h in unibyte-XEmacs.
3077         (MAX_EMCHAR_LEN): Moved to mb-1byte.h.
3078         (VALID_CHARPTR_P): Moved to mb-*byte.h.
3079         (VALIDATE_CHARPTR_BACKWARD): Likewise.
3080         (VALIDATE_CHARPTR_FORWARD): Likewise.
3081         (simple_charptr_emchar): Moved to mb-multibyte.h.
3082         (simple_set_charptr_emchar): Likewise.
3083         (simple_charptr_copy_char): Likewise.
3084         (non_ascii_charptr_emchar): Likewise.
3085         (non_ascii_set_charptr_emchar): Likewise.
3086         (non_ascii_charptr_copy_char): Likewise.
3087         (charptr_emchar): Moved to mb-*byte.h.
3088         (set_charptr_emchar): Likewise.
3089         (charptr_copy_char): Likewise.
3090
3091         * mb-1byte.h, mb-multibyte.h: New files.
3092
3093 1999-09-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3094
3095         * mb-utf-8.h (MULTIBYTE): New macro.
3096         (MAX_EMCHAR_LEN): Moved from buffer.h.
3097         (REP_BYTES_BY_FIRST_BYTE): Moved from char-ucs.h.
3098
3099         * char-ucs.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-utf-8.h.
3100
3101         * mb-lb.h, multibyte.h: New files.
3102
3103         * char-1byte.h (Charset_ID): Moved from buffer.h.
3104         (MIN_LEADING_BYTE): Likewise.
3105         (LEADING_BYTE_ASCII): Likewise.
3106         (NUM_LEADING_BYTES): Likewise.
3107         (CHARSETP): Likewise.
3108         (CHARSET_BY_LEADING_BYTE): Likewise.
3109         (XCHARSET_LEADING_BYTE): Likewise.
3110         (XCHARSET_GRAPHIC): Likewise.
3111         (XCHARSET_COLUMNS): Likewise.
3112         (XCHARSET_DIMENSION): Likewise.
3113         (CHAR_CHARSET): Likewise.
3114         (CHAR_LEADING_BYTE): Likewise.
3115         (BREAKUP_CHAR): Likewise.
3116         (Vcharset_ascii): Likewise.
3117
3118         * buffer.h: Include multibyte.h unconditionally.
3119         (VALID_CHARPTR_P): Moved to multibyte.h.
3120         (ASSERT_VALID_CHARPTR): Likewise.
3121         (REAL_INC_CHARPTR): Likewise.
3122         (REAL_INC_CHARBYTIND): Likewise.
3123         (REAL_DEC_CHARPTR): Likewise.
3124         (INC_CHARPTR): Likewise.
3125         (INC_CHARBYTIND): Likewise.
3126         (DEC_CHARPTR): Likewise.
3127         (VALIDATE_CHARPTR_BACKWARD): Likewise.
3128         (VALIDATE_CHARPTR_FORWARD): Likewise.
3129         (charptr_n_addr): Likewise.
3130         (MAX_EMCHAR_LEN): Moved to mb-*.h.
3131         (simple_charptr_emchar): Moved to multibyte.h.
3132         (simple_set_charptr_emchar): Likewise.
3133         (simple_charptr_copy_char): Likewise.
3134         (non_ascii_charptr_emchar): Likewise.
3135         (non_ascii_set_charptr_emchar): Likewise.
3136         (non_ascii_charptr_copy_char): Likewise.
3137         (charptr_emchar): Likewise.
3138         (set_charptr_emchar): Likewise.
3139         (charptr_copy_char): Likewise.
3140         (charptr_emchar_n): Likewise.
3141         (Charset_ID): Moved to char-1byte.h.
3142         (Vcharset_ascii): Likewise.
3143         (CHAR_CHARSET): Likewise.
3144         (CHAR_LEADING_BYTE): Likewise.
3145         (LEADING_BYTE_ASCII): Likewise.
3146         (NUM_LEADING_BYTES): Likewise.
3147         (MIN_LEADING_BYTE): Likewise.
3148         (CHARSETP): Likewise.
3149         (CHARSET_BY_LEADING_BYTE): Likewise.
3150         (XCHARSET_LEADING_BYTE): Likewise.
3151         (XCHARSET_GRAPHIC): Likewise.
3152         (XCHARSET_COLUMNS): Likewise.
3153         (XCHARSET_DIMENSION): Likewise.
3154         (BREAKUP_CHAR): Likewise.
3155
3156 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3157
3158         * character.h: Add document about interface for characters.
3159
3160         * char-ucs.h (CHAR_ASCII_P): Modify name of argument.
3161         (MAKE_CHAR): Delete comment about
3162         `FIELD2_TO_OFFICIAL_LEADING_BYTE' and
3163         `FIELD2_TO_PRIVATE_LEADING_BYTE'.
3164         (BREAKUP_CHAR): Modify name of arguments.
3165         (CHAR_CHARSET): Modify name of argument.
3166
3167         * buffer.h: Delete document about Emchar accessors.
3168
3169 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3170
3171         * character.h (CHAR_INTP): Moved from buffer.h
3172         (CHAR_OR_CHAR_INTP): Likewise.
3173         (XCHAR_OR_CHAR_INT): Likewise.
3174         (CHECK_CHAR_COERCE_INT): Likewise.
3175
3176         * buffer.h (CHAR_INTP): Moved to character.h
3177         (CHAR_OR_CHAR_INTP): Likewise.
3178         (XCHAR_OR_CHAR_INT): Likewise.
3179         (CHECK_CHAR_COERCE_INT): Likewise.
3180
3181 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3182
3183         * character.h:
3184         - Move definitions about UCS-2000 (UCS-4) to char-ucs.h.
3185         - Include char-1byte.h, char-lb.h or char-ucs.h.
3186
3187         * mb-utf-8.h (CHAR_ASCII_P): Moved to char-ucs.h.
3188
3189         * buffer.h: Include character unconditionally.
3190         (valid_char_p): Moved to char-*.h.
3191         (non_ascii_valid_char_p): Moved to char-lb.h.
3192
3193         * char-1byte.h, char-lb.h, char-ucs.h: New files.
3194
3195 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3196
3197         * mule-ccl.c (ccl_driver): Don't define `CCL_WriteMultibyteChar2'
3198         in UTF-2000 because it is not ported yet and not to use
3199         `FIELD2_TO_OFFICIAL_LEADING_BYTE', `MIN_LEADING_BYTE_OFFICIAL_2',
3200         `FIELD1_TO_OFFICIAL_LEADING_BYTE' and
3201         `FIELD1_TO_PRIVATE_LEADING_BYTE'.
3202
3203         * mb-utf-8.h (CHAR_MULTIBYTE_P): Moved from character.h.
3204         (CHAR_ASCII_P): Moved from character.h.
3205
3206         * character.h (CHAR_MULTIBYTE_P): Moved to mb-utf-8.h.
3207         (CHAR_ASCII_P): Likewise.
3208         (CHAR_FIELD1_MASK): Deleted.
3209         (CHAR_FIELD2_MASK): Deleted.
3210         (CHAR_FIELD3_MASK): Deleted.
3211         (MAX_CHAR_BASIC_LATIN): New macro.
3212         (CHAR_FIELD1): Deleted.
3213         (CHAR_FIELD2_INTERNAL): Deleted.
3214         (CHAR_FIELD3_INTERNAL): Deleted.
3215         (FIELD1_TO_PRIVATE_LEADING_BYTE): Deleted.
3216         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Deleted.
3217         (FIELD2_TO_PRIVATE_LEADING_BYTE): Deleted.
3218         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Deleted.
3219         (MIN_CHAR_FIELD1_OFFICIAL): Deleted.
3220         (MAX_CHAR_FIELD1_OFFICIAL): Deleted.
3221         (MIN_CHAR_FIELD2_PRIVATE): Deleted.
3222         (MAX_CHAR_FIELD2_PRIVATE): Deleted.
3223         (MIN_CHAR_FIELD1_PRIVATE): Deleted.
3224         (MAX_CHAR_FIELD1_PRIVATE): Deleted.
3225         (MULE_CHAR_PRIVATE_OFFSET): Deleted.
3226         (MIN_CHAR_PRIVATE_TYPE9N): Deleted.
3227         (MAX_CHAR_PRIVATE_TYPE9N): Deleted.
3228         (MIN_CHAR_PRIVATE_TYPE9NX9N): Deleted.
3229         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Deleted.
3230         (MIN_CHAR_COMPOSITION): Deleted.
3231         (breakup_char_1): Use `MAX_CHAR_BASIC_LATIN' instead of
3232         `CHAR_ASCII_P'; use `0x7f' instead of `CHAR_FIELD3_INTERNAL'.
3233
3234 1999-09-02  MORIOKA Tomohiko  <tomo@m17n.org>
3235
3236         * buffer.h: Include mb-utf-8.h in UTF-2000.
3237
3238         * character.h (BUFBYTE_FIRST_BYTE_P): Moved to mb-utf-8.h.
3239
3240         * mb-utf-8.h: New file.
3241
3242 1999-09-02  MORIOKA Tomohiko  <tomo@etl.go.jp>
3243
3244         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use `Charset_ID'
3245         instead of `int'.
3246
3247         * mule-charset.h, buffer.h (Charset_ID): New type.
3248
3249 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
3250
3251         * mule-canna.c (c2mu): Use `MAKE_CHAR',
3252         `Vcharset_japanese_jisx0212' and `Vcharset_japanese_jisx0208'
3253         instead of `MULE_CHAR_PRIVATE_OFFSET',
3254         `LEADING_BYTE_JAPANESE_JISX0212', `LEADING_BYTE_JAPANESE_JISX0208'
3255         and `FIELD1_TO_OFFICIAL_LEADING_BYTE'.
3256         (m2c): Use `BREAKUP_CHAR' and `XCHARSET_FINAL'.
3257
3258         * character.h (Vcharset_japanese_jisx0212): New variable
3259         definition.
3260
3261 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
3262
3263         * mule-charset.c (Vcharset_ucs_bmp): New variable in UTF-2000.
3264         (charset_by_attributes): Delete array about direction.
3265         (latin_a_char_to_charset): New variable in UTF-2000.
3266         (latin_a_char_to_byte1): New variable in UTF-2000.
3267         (latin_a_char_to_byte2): New variable in UTF-2000.
3268         (Qucs_bmp): New variable.
3269         (next_allocated_1_byte_leading_byte): Use `Charset_ID' instead of
3270         `Bufbyte'.
3271         (next_allocated_2_byte_leading_byte): Likewise.
3272         (non_ascii_set_charptr_emchar): Likewise.
3273         (make_charset): Likewise; add `CHARSET_TYPE_128X128' and
3274         `CHARSET_TYPE_256X256' in UTF-2000; modify for
3275         `charset_by_attributes'.
3276         (get_unallocated_leading_byte): Use `Charset_ID' instead of `int'.
3277         (char-charset): Use `CHAR_CHARSET' instead of `CHAR_LEADING_BYTE'
3278         and `CHARSET_BY_LEADING_BYTE'.
3279         (syms_of_mule_charset): Set up `ucs-bmp'; move setting of
3280         `utf-2000-version' to `vars_of_mule_charset'.
3281         (vars_of_mule_charset): Modify for `charset_by_attributes'; don't
3282         define `leading-code-private-11' in UTF-2000; move setting of
3283         `utf-2000-version' from `syms_of_mule_charset'.
3284         (complex_vars_of_mule_charset): Set up charset `ucs-bmp' in
3285         UTF-2000.
3286
3287         * character.h (Charset_ID): New type.
3288         (LEADING_BYTE_UCS_BMP): New macro.
3289         (LEADING_BYTE_CONTROL_1): Changed from 0x8F to 0x81.
3290         (CHARSET_ID_OFFSET_94): New macro.
3291         (MIN_CHARSET_ID_PRIVATE_94): New macro.
3292         (MAX_CHARSET_ID_PRIVATE_94): New macro.
3293         (LEADING_BYTE_ASCII): Changed to use CHARSET_ID_OFFSET_94 and
3294         final-byte.
3295         (LEADING_BYTE_KATAKANA_JISX0201): Likewise.
3296         (LEADING_BYTE_LATIN_JISX0201): Likewise.
3297         (CHARSET_ID_OFFSET_96): New macro.
3298         (LEADING_BYTE_LATIN_ISO8859_1): Changed to use
3299         CHARSET_ID_OFFSET_96 and final-byte.
3300         (LEADING_BYTE_LATIN_ISO8859_2): Likewise.
3301         (LEADING_BYTE_LATIN_ISO8859_3): Likewise.
3302         (LEADING_BYTE_LATIN_ISO8859_4): Likewise.
3303         (LEADING_BYTE_GREEK_ISO8859_7): Likewise.
3304         (LEADING_BYTE_ARABIC_ISO8859_6): Likewise.
3305         (LEADING_BYTE_HEBREW_ISO8859_8): Likewise.
3306         (LEADING_BYTE_CYRILLIC_ISO8859_5): Likewise.
3307         (LEADING_BYTE_LATIN_ISO8859_9): Likewise.
3308         (LEADING_BYTE_THAI_TIS620): Likewise.
3309         (MIN_LEADING_BYTE_PRIVATE_1): Changed from 0x0D0 to 0xD0.
3310         (MAX_LEADING_BYTE_PRIVATE_1): Changed from 0x11f to 0xDF.
3311         (CHARSET_ID_OFFSET_94x94): New macro.
3312         (LEADING_BYTE_CHINESE_BIG5_1): Changed to use
3313         CHARSET_ID_OFFSET_94x94 and final-byte.
3314         (LEADING_BYTE_CHINESE_BIG5_2): Likewise.
3315         (MIN_LEADING_BYTE_PRIVATE_2): Likewise.
3316         (MAX_LEADING_BYTE_PRIVATE_2): Likewise.
3317         (LEADING_BYTE_JAPANESE_JISX0208_1978): Likewise.
3318         (LEADING_BYTE_CHINESE_GB2312): Likewise.
3319         (LEADING_BYTE_JAPANESE_JISX0208): Likewise.
3320         (LEADING_BYTE_KOREAN_KSC5601): Likewise.
3321         (LEADING_BYTE_JAPANESE_JISX0212): Likewise.
3322         (LEADING_BYTE_CHINESE_CCITT_GB): Likewise.
3323         (LEADING_BYTE_CHINESE_CNS11643_*): Likewise.
3324         (LEADING_BYTE_KOREAN_KPS9566): Likewise.
3325         (CHARSET_TYPE_128X128): New macro.
3326         (CHARSET_TYPE_256X256): New macro.
3327         (XCHARSET_PRIVATE_P): Delete unconditionally.
3328         (charset_by_attributes): Delete array about direction.
3329         (CHARSET_BY_LEADING_BYTE): Use `Charset_ID' instead of `int'.
3330         (CHARSET_BY_ATTRIBUTES): Modify for `charset_by_attributes'.
3331         (MIN_CHAR_94): New macro.
3332         (MAX_CHAR_94): New macro.
3333         (MIN_CHAR_96): New macro.
3334         (MAX_CHAR_96): New macro.
3335         (MIN_CHAR_94x94): New macro.
3336         (MAX_CHAR_94x94): New macro.
3337         (MIN_CHAR_96x96): New macro.
3338         (MAX_CHAR_96x96): New macro.
3339         (FIELD1_TO_PRIVATE_LEADING_BYTE): Use `CHARSET_ID_OFFSET_94x94'.
3340         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
3341         (FIELD2_TO_PRIVATE_LEADING_BYTE): Use `(MIN_LEADING_BYTE_PRIVATE_1
3342         - 32)'.
3343         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Use `LEADING_BYTE_ASCII'.
3344         (MIN_CHAR_FIELD2_OFFICIAL): Deleted.
3345         (MAX_CHAR_FIELD2_OFFICIAL): Deleted.
3346         (MIN_CHAR_OFFICIAL_TYPE9N): Deleted.
3347         (MAX_CHAR_PRIVATE_TYPE9N): Changed.
3348         (MAKE_CHAR): Use `XCHARSET_FINAL' instead of
3349         `XCHARSET_LEADING_BYTE' to make code-point.
3350         (latin_a_char_to_charset): New variable.
3351         (latin_a_char_to_byte1): New variable.
3352         (latin_a_char_to_byte2): New variable.
3353         (breakup_char_1): Use `latin_a_char_to_{charset|byte1|byte2}' for
3354         Latin Extended-A; use `CHARSET_BY_ATTRIBUTES' instead of
3355         `CHARSET_BY_LEADING_BYTE' to get charset for ISO-2022 characters.
3356
3357         * insdel.c (find_charsets_in_bufbyte_string): Use `Charset_ID'
3358         instead of `unsigned char'; use `MIN_LEADING_BYTE' instead of 128.
3359         (find_charsets_in_emchar_string): Likewise.
3360         (vars_of_insdel): Don't define local variable `i' in UTF-2000.
3361
3362         * file-coding.c (Fdecode_big5_char): Use `Charset_ID' instead of
3363         `int'.
3364         (decode_coding_iso2022): Likewise.
3365
3366         * toolbar-x.c (x_output_toolbar_button): Use `Charset_ID' instead
3367         of `unsigned char'.
3368
3369         * redisplay.c (redisplay_text_width_emchar_string): Use
3370         `Charset_ID' instead of `unsigned char'.
3371         (redisplay_frame_text_width_string): Likewise.
3372
3373         * glyphs.c (glyph_height_internal): Use `Charset_ID' instead of
3374         `unsigned char'.
3375
3376         * faces.h, faces.c (ensure_face_cachel_complete): Use `Charset_ID'
3377         instead of `unsigned char'.
3378         (face_cachel_charset_font_metric_info): Likewise.
3379
3380         * chartab.c (print_char_table): Use `Charset_ID' instead of `int'.
3381         (get_non_ascii_char_table_value): Likewise.
3382         (get_char_table): Likewise.
3383         (put_char_table): Likewise.
3384         (map_over_other_charset): Likewise.
3385         (map_char_table): Likewise.
3386
3387         * buffer.h (find_charsets_in_bufbyte_string): Use `Charset_ID'
3388         instead of `unsigned char'.
3389
3390 1999-08-31  MORIOKA Tomohiko  <tomo@etl.go.jp>
3391
3392         * character.h (PRE_LEADING_BYTE_PRIVATE_1): Deleted.
3393         (PRE_LEADING_BYTE_PRIVATE_2): Deleted.
3394
3395         * mule-charset.c (leading_code_private_11): Don't define in
3396         UTF-2000.
3397
3398         * mule-ccl.c (ccl_driver): Don't define `CCL_ReadMultibyteChar2'
3399         in UTF-2000 because it is not ported yet and not to use
3400         `PRE_LEADING_BYTE_PRIVATE_1' and `PRE_LEADING_BYTE_PRIVATE_2'.
3401
3402 1999-08-30  MORIOKA Tomohiko  <tomo@etl.go.jp>
3403
3404         * character.h (LEADING_BYTE_COMPOSITE): Deleted.
3405
3406 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3407
3408         * regex.c (re_compile_fastmap): Don't use `LEADING_BYTE_PREFIX_P'
3409         in UTF-2000.
3410
3411         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use int instead
3412         of unsigned char to store leading-byte.
3413
3414         * chartab.c (get_non_ascii_char_table_value): Don't use
3415         `BREAKUP_CHAR_1_UNSAFE' in UTF-2000.
3416
3417         * file-coding.c (encode_coding_big5): Delete bogus implementation
3418         in UTF2000.
3419
3420         * character.h (LEADING_BYTE_*): Delete definition for
3421         non-UTF-2000.
3422         (LEADING_BYTE_PRIVATE_P): Deleted unconditionally.
3423         (LEADING_BYTE_PREFIX_P): Deleted.
3424         (PRIVATE_LEADING_BYTE_PREFIX): Deleted.
3425         (BUFBYTE_FIRST_BYTE_P): Delete definition for non-UTF-2000.
3426         (BUFBYTE_LEADING_BYTE_P): Deleted.
3427         (CHARSET_PRIVATE_P): Deleted unconditionally.
3428         (rep_bytes_by_first_byte): Deleted unconditionally.
3429         (REP_BYTES_BY_FIRST_BYTE): Delete definition for non-UTF-2000.
3430         (FIELD1_TO_PRIVATE_LEADING_BYTE): Likewise.
3431         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
3432         (FIELD2_TO_PRIVATE_LEADING_BYTE): Likewise.
3433         (CHAR_FIELD2): Deleted.
3434         (CHAR_FIELD3): Deleted.
3435         (MAKE_CHAR): Delete definition for non-UTF-2000.
3436         (BREAKUP_CHAR_1_UNSAFE): Deleted.
3437         (breakup_char_1): New implementation.
3438         (CHAR_CHARSET): Use `BREAKUP_CHAR'.
3439         (CHAR_LEADING_BYTE): Use `CHAR_CHARSET'.
3440
3441 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3442
3443         * character.h (REP_BYTES_BY_FIRST_BYTE): Change order of
3444         condition.
3445
3446 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3447
3448         * character.h (LEADING_BYTE_PRIVATE_P): Don't define in UTF2000.
3449         (CHARSET_PRIVATE_P): Likewise.
3450         (XCHARSET_PRIVATE_P): Likewise.
3451         (MAKE_CHAR): Don't use XCHARSET_PRIVATE_P in UTF2000.
3452
3453         * file-coding.c (encode_coding_ucs4): Delete bogus implement in
3454         UTF2000.
3455         (decode_coding_iso2022): Don't use XCHARSET_PRIVATE_P in UTF2000.
3456
3457 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3458
3459         * character.h (LEADING_BYTE_*): Changed in UTF2000.
3460         (NUM_LEADING_BYTES): Changed from 128 to 256.
3461         (FIELD1_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
3462         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Change value to 0x80 in
3463         UTF2000.
3464         (FIELD2_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
3465
3466         * mule-charset.c (Vcharset_chinese_cns11643_3): New variable in
3467         UTF2000.
3468         (Vcharset_chinese_cns11643_4): New variable in UTF2000.
3469         (Vcharset_chinese_cns11643_5): New variable in UTF2000.
3470         (Vcharset_chinese_cns11643_6): New variable in UTF2000.
3471         (Vcharset_chinese_cns11643_7): New variable in UTF2000.
3472         (Qchinese_cns11643_3): New variable in UTF2000.
3473         (Qchinese_cns11643_4): New variable in UTF2000.
3474         (Qchinese_cns11643_5): New variable in UTF2000.
3475         (Qchinese_cns11643_6): New variable in UTF2000.
3476         (Qchinese_cns11643_7): New variable in UTF2000.
3477         (syms_of_mule_charset): Define `chinese-cns11643-3',
3478         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
3479         and `chinese-cns11643-7' in UTF2000.
3480         (vars_of_mule_charset): Initialize
3481         next_allocated_2_byte_leading_byte by LEADING_BYTE_CHINESE_BIG5_2
3482         + 1 in UTF2000.
3483         (complex_vars_of_mule_charset): Setup charset
3484         `chinese-cns11643-3', `chinese-cns11643-4', `chinese-cns11643-5',
3485         `chinese-cns11643-6' and `chinese-cns11643-7' in UTF2000.
3486
3487 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3488
3489         * mule-charset.c: Move setting for `leading-code-private-11' from
3490         `syms_of_mule_charset' to `vars_of_mule_charset'.
3491
3492 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3493
3494         * mule-charset.h (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE'
3495         and `NUM_LEADING_BYTES' in assert.
3496
3497 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3498
3499         * character.h (charset_by_leading_byte): Use `NUM_LEADING_BYTES'
3500         instead of 128.
3501         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' and
3502         `NUM_LEADING_BYTES' instead of 128.
3503
3504 1999-08-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
3505
3506         * mule-charset.h (charset_by_leading_byte): Use
3507         `NUM_LEADING_BYTES' instead of 128.
3508         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' instead of 128.
3509
3510         * mule-charset.c (charset_by_leading_byte): Use
3511         `NUM_LEADING_BYTES' instead of 128.
3512         (make_charset): Use `MIN_LEADING_BYTE' instead of 128.
3513
3514         * faces.h (FACE_CACHEL_FONT): Use `MIN_LEADING_BYTE' instead of
3515         128.
3516
3517 1999-08-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
3518
3519         * mule-charset.c (syms_of_mule_charset): Update to
3520         0.4 (Shin-Imamiya).
3521
3522 1999-07-13 Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
3523
3524         * file-coding.c (encode_coding_sjis): New implementation for
3525         UTF2000.  (decode_coding_sjis): Ditto.
3526
3527 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
3528
3529         * mule-charset.c, character.h (Bytecount rep_bytes_by_first_byte):
3530         Don't define in UTF2000.
3531
3532         * character.h: Include mule-charset.h if CHAR_IS_UCS4 is not
3533         defined.
3534
3535         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
3536         mule-ccl.c, lstream.h, buffer.h: Include character.h in every
3537         MULE.
3538
3539 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
3540
3541         * config.h.in (CHAR_IS_UCS4): New macro.
3542
3543         * mule-charset.c (rep_bytes_by_first_byte): Modify for
3544         conventional MULE representation.
3545         (syms_of_mule_charset): Update to 0.3 (Imamiya).
3546
3547         * mule-charset.h: Reverted to original.
3548
3549         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
3550         mule-ccl.c, lstream.h, buffer.h: Use "character.h" instead of
3551         "mule-charset.h" if CHAR_IS_UCS4 is defined.
3552
3553         * character.h: New file.
3554
3555         * file-coding.c (Fmake_coding_system): Set 1 to
3556         `codesys->fixed.size' if TYPE is `no-conversion' and UTF2000 is
3557         defined.
3558         (encode_coding_no_conversion): New implementation for UTF2000.
3559
3560         * file-coding.h (struct Lisp_Coding_System): Add new member
3561         `fixed.size'.
3562
3563 1999-06-16  MORIOKA Tomohiko  <tomo@etl.go.jp>
3564
3565         * file-coding.c (decode_coding_iso2022): Code-point arguments of
3566         `MAKE_CHAR' must be smaller than 0x80 in UTF2000.
3567         (encode_coding_iso2022): New implementation for UTF2000.
3568
3569 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3570
3571         * mule-canna.c (c2mu): New implementation for UTF2000.
3572         (m2c): Likewise.
3573
3574 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3575
3576         * file-coding.c (encode_coding_no_conversion): Modify for UTF2000.
3577
3578 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3579
3580         * file-coding.c (reset_encoding_stream): Set 0 to
3581         `str->iso2022.current_char_boundary' in UTF2000.
3582         (encode_utf8): Don't define in UTF2000.
3583         (encode_coding_utf8): New implementation for UTF-8 representation
3584         of UTF2000.
3585         (complex_vars_of_file_coding): Define coding-system `utf-8'.
3586
3587 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3588
3589         * mule.c (vars_of_mule): Provide `utf-2000' in UTF2000.
3590
3591         * mule-charset.h (BUFBYTE_FIRST_BYTE_P): Modify for UTF-8 in
3592         UTF2000.
3593         (REP_BYTES_BY_FIRST_BYTE): Likewise.
3594
3595         * buffer.h (non_ascii_valid_char_p): Don't define in UTF2000.
3596
3597         * mule-charset.c (non_ascii_set_charptr_emchar): Don't define
3598         local variables `lb', `c1', `c2' and `charset' in UTF2000; encode
3599         as UTF-8 in UTF2000.
3600         (non_ascii_charptr_emchar): Decode as UTF-8 in UTF2000.
3601         (non_ascii_valid_char_p): Don't define in UTF2000.
3602         (non_ascii_charptr_copy_char): Add case 5 and 6 in UTF2000.
3603         (Lstream_get_emchar_1): Likewise.
3604         (utf-2000-version): New variable in UTF2000.
3605
3606         * lread.c (read_escape): Add new reader `u'.
3607
3608         * insdel.c (three_to_one_table): Don't define in UTF2000.
3609         (bufpos_to_bytind_func): Use `buf->text->mule_size' instead of
3610         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
3611         UTF2000.
3612         (bytind_to_bufpos_func): Likewise.
3613         (buffer_mule_signal_inserted_region): Likewise.
3614         (vars_of_insdel): Don't initialize `three_to_one_table'.
3615         (init_buffer_text): Use `buf->text->mule_size' instead of
3616         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
3617         UTF2000.
3618
3619         * file-coding.c (DECODE_ADD_BINARY_CHAR): New implementation for
3620         UTF-8 representation in UTF2000.
3621         (DECODE_ADD_UCS_CHAR): New macro in UTF2000.
3622         (decode_ucs4): Use `DECODE_ADD_UCS_CHAR' in UTF2000.
3623         (decode_coding_iso2022): Don't define local variable `lb' in
3624         UTF2000; don't use LEADING_BYTE in UTF2000; use
3625         `DECODE_ADD_UCS_CHAR' in UTF2000.
3626         (convert_to_external_format): Decode as UTF-8 in UTF2000.
3627
3628         * config.h.in (UTF2000): New macro.
3629
3630         * buffer.h (struct buffer_text): Add new member `mule_size' and
3631         don't add `mule_shifter' and `mule_three_p' in UTF2000.
3632         (valid_char_p): Return always 1 in UTF2000.
3633         (MAX_EMCHAR_LEN): 6 in UTF2000.
3634         (three_to_one_table): Don't define in UTF2000.
3635         (real_bufpos_to_bytind): Modify for UTF-8 representation in
3636         UTF2000.
3637         (real_bytind_to_bufpos): Likewise.
3638
3639         * alloc.c (Fmake_string): Add case 5 and 6 for UTF2000.
3640
3641 1999-06-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3642
3643         * mule-charset.c (rep_bytes_by_first_byte): Modified for character
3644         representation change.
3645         (Vutf_2000_version): New variable.
3646         (leading_code_private_11): New variable.
3647         (syms_of_mule_charset): Add new variables `utf-2000-version' and
3648         `leading-code-private-11'.
3649
3650         * mule-charset.h (LEADING_BYTE_CHINESE_CCITT_GB): New macro.
3651         (LEADING_BYTE_CHINESE_BIG5_1): Changed to 0x96 temporally.
3652         (LEADING_BYTE_CHINESE_CNS11643_1): Changed to 0x97.
3653         (LEADING_BYTE_CHINESE_CNS11643_2): Changed to 0x98.
3654         (LEADING_BYTE_CHINESE_CNS11643_3): New macro.
3655         (LEADING_BYTE_CHINESE_CNS11643_4): Likewise.
3656         (LEADING_BYTE_CHINESE_CNS11643_5): Likewise.
3657         (LEADING_BYTE_CHINESE_CNS11643_6): Likewise.
3658         (LEADING_BYTE_CHINESE_CNS11643_7): Likewise [but not used].
3659         (LEADING_BYTE_CHINESE_BIG5_2): Changed to 0x9D temporally.
3660         (LEADING_BYTE_KOREAN_KPS9566): New macro [but not used].
3661         (CHAR_FIELD1_MASK): Changed to (0x7F << 14).
3662         (MIN_CHAR_GREEK): New macro.
3663         (MAX_CHAR_GREEK): New macro.
3664         (MIN_CHAR_CYRILLIC): New macro.
3665         (MAX_CHAR_CYRILLIC): New macro.
3666         (MIN_CHAR_HEBREW): New macro.
3667         (MAX_CHAR_HEBREW): New macro.
3668         (MIN_CHAR_THAI): New macro.
3669         (MAX_CHAR_THAI): New macro.
3670         (MIN_CHAR_HALFWIDTH_KATAKANA): New macro.
3671         (MAX_CHAR_HALFWIDTH_KATAKANA): New macro.
3672         (CHAR_FIELD2_INTERNAL): New macro [renamed from `CHAR_FIELD2'.
3673         (CHAR_FIELD3_INTERNAL): New macro [renamed from `CHAR_FIELD3'.
3674         (FIELD1_TO_PRIVATE_LEADING_BYTE): Changed to 0xc0.
3675         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Changed to 0x50.
3676         (CHAR_FIELD2): New inline function.
3677         (CHAR_FIELD3): New inline function.
3678         (MULE_CHAR_PRIVATE_OFFSET): New macro.
3679         (MIN_CHAR_OFFICIAL_TYPE9N): Shifted to `MULE_CHAR_PRIVATE_OFFSET'.
3680         (MIN_CHAR_PRIVATE_TYPE9N): Likewise.
3681         (MIN_CHAR_PRIVATE_TYPE9NX9N): Likewise.
3682         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Likewise.
3683         (MIN_CHAR_COMPOSITION): Likewise.
3684         (CHAR_LEADING_BYTE): Modified for character representation change.
3685         (MAKE_CHAR): Likewise.
3686
3687         * lisp.h (Vcharset_latin_iso8859_1): New variable.
3688         (Vcharset_greek_iso8859_7): Likewise.
3689         (Vcharset_cyrillic_iso8859_5): Likewise.
3690         (Vcharset_hebrew_iso8859_8): Likewise.
3691         (Vcharset_thai_tis620): Likewise.
3692         (Vcharset_katakana_jisx0201): Likewise.
3693
3694 2001-02-08  Martin Buchholz <martin@xemacs.org>
3695
3696         * XEmacs 21.2.44 "Thalia" is released.
3697
3698 2001-02-06  Martin Buchholz  <martin@xemacs.org>
3699
3700         Fixes crashes in kill-emacs on some systems.
3701         * process-unix.c (unix_kill_child_process):
3702         It's OK for kill() to fail with ESRCH.
3703
3704 2001-02-07  Martin Buchholz  <martin@xemacs.org>
3705
3706         Contortions to make .gdbinit tricks work on most systems.
3707         * alloc.c (dbg_inhibit_dbg_symbol_deletion): Keep debugger info.
3708         * alloc.c (dbg_valmask): Make non-const.
3709         * alloc.c (dbg_typemask): Make non-const.
3710         * alloc.c (dbg_USE_UNION_TYPE): Make non-const.
3711         * alloc.c (dbg_valbits): Make non-const.
3712         * alloc.c (dbg_gctypebits): Make non-const.
3713         * .gdbinit (decode_object): Make it work with AIX cc.
3714
3715 2001-02-06  Martin Buchholz  <martin@xemacs.org>
3716
3717         * elhash.c (make_general_lisp_hash_table):
3718         Use simpler and more efficient calloc to clear entries.
3719
3720 2001-02-07  Martin Buchholz  <martin@xemacs.org>
3721
3722         * window.c (window_scroll): Work around an AIX C compiler bug.
3723         Fixes 'scroll-up' does nothing problem with xlC.
3724
3725 2001-02-05  Martin Buchholz  <martin@xemacs.org>
3726
3727         * .gdbinit: Remove obsolete comment.
3728
3729 2001-01-31  Mike Alexander  <mta@arbortext.com>
3730
3731         * select.c (Fown_selection_internal): Set owned_p for device
3732         method correctly.
3733
3734 2001-02-01  Martin Buchholz  <martin@xemacs.org>
3735
3736         Port to g++ 2.97.
3737         "not" cannot be used as a macro name as it is an operator in C++
3738         * config.h.in: Stop #defining `not'.
3739         * chartab.c (check_category_char): not ==> not_p
3740         * chartab.h: Likewise.
3741         * regex.c (re_match_2_internal): Likewise.
3742
3743 2001-02-02  Martin Buchholz  <martin@xemacs.org>
3744
3745         * lisp-disunion.h: Fix up comments.
3746
3747 2001-01-31  Martin Buchholz  <martin@xemacs.org>
3748
3749         * keymap.c (define_key_check_and_coerce_keysym):
3750         (syms_of_keymap):
3751         Support mouse-6 and mouse-7 bindings in the obvious way.
3752
3753 2001-02-01  Martin Buchholz  <martin@xemacs.org>
3754
3755         * m/hp9000s300.h (UNEXEC): Check for HPUX, not !BSD.
3756
3757 2001-01-30  Martin Buchholz  <martin@xemacs.org>
3758
3759         Previous patch changing DEFVAR_INT to use EMACS_INT was incomplete.
3760         Previous patch missed DEFVAR_INT_MAGIC.
3761         Make sure future DEFVAR_foo use correct types.
3762         * symeval.h (DEFVAR_SYMVAL_FWD_FIXNUM): New.
3763         * (DEFVAR_SYMVAL_FWD_INT): Add type checking.
3764         * (DEFVAR_SYMVAL_FWD_OBJECT): Add type checking.
3765         * (DEFVAR_INT_MAGIC): Use DEFVAR_SYMVAL_FWD_FIXNUM.
3766         * (DEFVAR_INT): Likewise.
3767         * redisplay.c (vertical_clip): Should be of type Fixnum.
3768         * redisplay.c (horizontal_clip): Likewise.
3769         * lisp.h (dump_add_opaque_int): New.
3770         (dump_add_opaque_fixnum): New.
3771
3772 2001-01-29  Andy Piper  <andy@xemacs.org>
3773
3774         * glyphs-widget.c (check_valid_int_or_function): allow symbols
3775         since they can be eval'ed
3776
3777 2001-01-29  Martin Buchholz  <martin@xemacs.org>
3778
3779         * lisp.h (ALIGNOF): Make it work on non-gcc C++ compilers.
3780         Oops, XEmacs redefines `class'.  Use `typename' instead.
3781
3782 2001-01-28  Martin Buchholz  <martin@xemacs.org>
3783
3784         * dumper.c: Fix C++ compile errors.
3785
3786 2001-01-29  Martin Buchholz  <martin@xemacs.org>
3787
3788         * tparam.c: Use correct prototypes.
3789
3790 2001-01-28  Martin Buchholz  <martin@xemacs.org>
3791
3792         * sysproc.h: #include util.h for NetBSD's openpty.
3793
3794 2001-01-27  Martin Buchholz  <martin@xemacs.org>
3795
3796         More 64-bit correctness.
3797         The C value of a DEFVAR_INT should be of type EMACS_INT, not int.
3798         Use a typedef `fixnum' for the type used for DEFVAR_INT.
3799         Fix up comments.
3800         This finally finishes the 64-bit SGI port.
3801         Fixes things like (let ((gc-cons-threshold most-positive-fixnum)) ...).
3802         * symbols.c: Fix up comments and type casts.
3803         * symbols.c (do_symval_forwarding): s/int/Fixnum/g
3804         * symbols.c (store_symval_forwarding): s/int/Fixnum/g
3805         * symeval.h (Fixnum): New type.
3806         * symeval.h (symbol_value_type): Fix up comment.
3807
3808         * commands.h:
3809         * nt.c:
3810         * emacs.c:
3811         * data.c:
3812         * redisplay.c:
3813         * abbrev.c:
3814         * dired-msw.c:
3815         * event-Xt.c:
3816         * eldap.c:
3817         * window.c:
3818         * sound.c:
3819         * event-stream.c:
3820         * eval.c:
3821         * buffer.c:
3822         * mule-canna.c: A million DEFVAR_INTs here...
3823         * mule-canna.c (count_char): s/int */Fixnum */g in arglist.
3824         * extents.c:
3825         * cmdloop.c:
3826         * lisp.h:
3827         * select-x.c:
3828         * console-x.h:
3829         * event-msw.c:
3830         * mule-wnnfns.c:
3831         * hpplay.c:
3832         * ralloc.c:
3833         * alloc.c:
3834         * keymap.c:
3835         * profile.c:
3836         s/int/Fixnum/g in DEFVAR_INT declarations.
3837
3838 2001-01-26  Martin Buchholz  <martin@xemacs.org>
3839
3840         Port pdump to SGI alignment-sensitive environment.
3841         Lisp Object sizeof methods now return aligned sizes.  Rely on that.
3842         Eliminate is_lrecord since Lisp_Objects sizeof methods are now all
3843         properly aligned.
3844         Define and use aligned reading and writing macros.
3845         Use buffered stdio instead of posix i/o for faster dumping.
3846         Eliminate kludgy 256 byte space for header.
3847         Read and write from dump file using structs for alignment safety.
3848         * dumper.c (pdump_align_stream): New.
3849         * dumper.c (PDUMP_ALIGN_OUTPUT): New.
3850         * dumper.c (PDUMP_READ_ALIGNED): New.
3851         * dumper.c (PDUMP_WRITE_ALIGNED): New.
3852         * dumper.c (pdump_static_Lisp_Object): New struct.
3853         * dumper.c (pdump_static_pointer): New struct.
3854         * dumper.c (pdump_entry_list_element): Remove is_lrecord member.
3855         * dumper.c (pdump_add_entry): Remove is_lrecord parameter.
3856         * dumper.c (pdump_dump_data): Rely on sizeof method alignment.
3857         * dumper.c (pdump_allocate_offset): Rely on sizeof method alignment.
3858
3859         * dumper.c (pdump_backtrace):
3860         * dumper.c (pdump_get_indirect_count):
3861         * dumper.c (pdump_register_object):
3862         * dumper.c (pdump_register_struct):
3863         * dumper.c (pdump_reloc_one):
3864         * dumper.c (pdump_scan_by_alignment):
3865         * dumper.c (pdump_dump_from_root_struct_ptrs):
3866         * dumper.c (pdump_dump_opaques):
3867         * dumper.c (pdump_dump_rtables):
3868         * dumper.c (pdump_dump_from_root_objects):
3869         * dumper.c (pdump):
3870         * dumper.c (pdump_load_finish):
3871         Use aligned reading and writing.
3872
3873         * dumper.c (pdump_free): Make static.
3874         * dumper.c (pdump_hFile): Likewise.
3875         * dumper.c (pdump_hMap): Likewise.
3876
3877 2001-01-26  Martin Buchholz <martin@xemacs.org>
3878
3879         * XEmacs 21.2.43 "Terspichore" is released.
3880
3881 2001-01-25  Martin Buchholz  <martin@xemacs.org>
3882
3883         Type fiddling for window_config.saved_windows_count
3884         * window.c (struct window_config): 
3885         Make saved_windows_count member unsigned.
3886         * window.c (sizeof_window_config_for_n_windows): 
3887         Make parameter unsigned.
3888         * window.c (mark_window_config):
3889         * window.c (window_config_equal):
3890         * window.c (free_window_configuration):
3891         * window.c (Fset_window_configuration):
3892         * window.c (count_windows):
3893         * window.c (Fcurrent_window_configuration):
3894         * window.c (reinit_vars_of_window):
3895         Update all callers and users.
3896
3897 2001-01-25  Martin Buchholz  <martin@xemacs.org>
3898
3899         Alignment correctness for flexible arrays.
3900         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF):
3901         Make alignment-correct. Add interesting comments.
3902         * alloc.c (size_vector):
3903         * alloc.c (make_vector_internal):
3904         * alloc.c (make_bit_vector_internal):
3905         * alloc.c (sweep_bit_vectors_1):
3906         * fns.c (size_bit_vector):
3907         Update all callers of FLEXIBLE_ARRAY_STRUCT_SIZEOF to add new arg.
3908         * window.c (sizeof_window_config_for_n_windows): 
3909         Use FLEXIBLE_ARRAY_STRUCT_SIZEOF.
3910
3911 2001-01-24  Martin Buchholz  <martin@xemacs.org>
3912
3913         * lread.c (read1): Rename `fexp', which is #defined in SGI's math.h
3914
3915 2001-01-23  Andy Piper  <andy@xemacs.org>
3916
3917         * select.c (Fown_selection_internal): pass owned_p
3918
3919         * select-msw.c (mswindows_own_selection): New Signature.
3920
3921         * console.h (struct console_methods): add owned_p to
3922         _own_selection.
3923
3924         * select-x.c (x_own_selection): pass owned_p
3925         (hack_motif_clipboard_selection): use owned_p
3926         (vars_of_select_x): new variable -
3927         x_selection_strict_motif_ownership.
3928
3929 2001-01-23  Martin Buchholz  <martin@xemacs.org>
3930
3931         * specifier.h (specifier_data_offset): Remove pointless parens.
3932         * glyphs.h (IMAGE_SPECIFIER_DATA): Likewise.
3933
3934 2001-01-24  Martin Buchholz  <martin@xemacs.org>
3935
3936         Make Lisp_Object sizeof methods be alignment-correct.
3937         pdump must restore objects to the same alignment as the C compiler
3938         assumes.  It really matters on SGIs.
3939         * lstream.c (aligned_sizeof_lstream): New.
3940         (sizeof_lstream): Use aligned_sizeof_lstream.
3941         (Lstream_new): Likewise.
3942         * opaque.c (aligned_sizeof_opaque): New.
3943         (sizeof_opaque): Use aligned_sizeof_opaque.
3944         (make_opaque): Likewise.
3945         * specifier.c (aligned_sizeof_specifier): New.
3946         (sizeof_specifier): Use aligned_sizeof_specifier.
3947         (make_specifier_internal): Likewise.
3948
3949 2001-01-23  Martin Buchholz  <martin@xemacs.org>
3950
3951         * lstream.h (struct lstream): Use max_align_t for trailing data.
3952         * specifier.h (struct Lisp_Specifier): Likewise.
3953
3954 2001-01-22  Martin Buchholz  <martin@xemacs.org>
3955
3956         * mule-ccl.c (CCL_Extension): Renamed from CCL_Extention.
3957         (CCL_SUCCESS): Kludge to prevent Sun cc compiler warnings.
3958         (CCL_SUSPEND): Likewise.
3959         (CCL_INVALID_CMD): Likewise.
3960         (CCL_CALL_FOR_MAP_INSTRUCTION): Likewise.
3961         (ccl_driver): Likewise.
3962         (CCL_WRITE_CHAR): Macro hygiene.
3963         (CCL_WRITE_STRING): Macro hygiene.
3964
3965 2001-01-22  Martin Buchholz  <martin@xemacs.org>
3966
3967         Port "portable" dumper to SunOS 4 and HP-UX.
3968         * s/aix4.h (AIX4): Move MAP_FAILED definition elsewhere.
3969         * emacs.c (main): PDUMP implies no RUN_TIME_REMAP.
3970         * dumper.c (pdump_file_get): Define MAP_FAILED if not already defined.
3971
3972 2001-01-22  Martin Buchholz  <martin@xemacs.org>
3973
3974         * lisp.h (ALIGNOF): A better definition for C++.
3975
3976 2001-01-20  Martin Buchholz  <martin@xemacs.org>
3977
3978         Macro hygiene.
3979         Fix printf warnings: int format, long int arg.
3980         * regex.c (DECLARE_DESTINATION): Use DECLARE_NOTHING.
3981         (PUSH_FAILURE_POINT): Use correct printf formats.
3982         (POP_FAILURE_POINT): Use correct printf formats.  
3983         Use do {...} while (0)
3984
3985 2001-01-20  Martin Buchholz <martin@xemacs.org>
3986
3987         * XEmacs 21.2.42 "Poseidon" is released.
3988
3989 2001-01-20  Martin Buchholz  <martin@xemacs.org>
3990
3991         * console-x.h: typo fix du jour.  Remove #if 0'ed code.
3992
3993 2001-01-19  Martin Buchholz  <martin@xemacs.org>
3994
3995         De-kludgify FIXED_TYPE free list frobbing.
3996         Fix crashes on 64-bit platforms introduced by my patch of 2001-01-13.
3997         * alloc.c (DECLARE_FIXED_TYPE_ALLOC): Use Lisp_Free.
3998         * alloc.c (ALLOCATE_FIXED_TYPE_1): Use new definitions.
3999         * alloc.c (Lisp_Free): New pseudo lisp object definition.
4000         * alloc.c (LRECORD_FREE_P): New.
4001         * alloc.c (MARK_LRECORD_AS_FREE): New.
4002         * alloc.c (MARK_LRECORD_AS_NOT_FREE): New.
4003         * alloc.c (STRUCT_FREE_P): Deleted.
4004         * alloc.c (MARK_STRUCT_AS_FREE): Deleted.
4005         * alloc.c (MARK_STRUCT_AS_NOT_FREE): Deleted.
4006         * alloc.c (STRING_CHARS_FREE_P): New.
4007         * alloc.c (MARK_STRING_CHARS_AS_FREE): New.
4008         * alloc.c (PUT_FIXED_TYPE_ON_FREE_LIST): Use new definitions.
4009         * alloc.c (FREE_FIXED_TYPE): Use new definitions.
4010         * alloc.c (STRING_CHARS_FREE_P): Use new definitions.
4011         * alloc.c (resize_string): Use new definitions.
4012         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Use new definitions.
4013         * alloc.c (verify_string_chars_integrity): Use new definitions.
4014         * alloc.c (compact_string_chars): Use new definitions.
4015         * alloc.c: Update monster comments.
4016         * lrecord.h (lrecord_type): Add some new lrecord types for
4017         alloc.c's use.
4018
4019 2001-01-18  Martin Buchholz  <martin@xemacs.org>
4020
4021         Improve alignment hackery.
4022         * lisp.h (ALIGNOF): Better definition for the non-gcc case.
4023         (max_align_t): Moved from opaque.h - general purpose.
4024         (ALIGN_PTR): Use size_t, not long.
4025         * opaque.h (max_align_t): Move to lisp.h.
4026
4027 2001-01-18  Norbert Koch  <nk@LF.net>
4028
4029         * gui.h: Fix and add prototypes to fix build problems.
4030
4031 2001-01-18  Martin Buchholz  <martin@xemacs.org>
4032
4033         temacs is going away, so `dump-temacs' is now a bad name.
4034         * .dbxrc (dump-temacs): Rename to `dmp'.
4035         * .gdbinit (dump-temacs): Rename to `dmp'.
4036
4037 2001-01-17  Andy Piper  <andy@xemacs.org>
4038
4039         * glyphs.c (print_image_instance): comment to make martin happy.
4040
4041         * glyphs-x.c (x_redisplay_widget): update faces after a frame
4042         change.
4043
4044         * glyphs-msw.c (mswindows_redisplay_widget): add code to cope with
4045         activation.
4046         (mswindows_tab_control_redisplay): warning suppression.
4047
4048         * glyphs-widget.c (widget_update): re-write to cope with updated
4049         items.
4050         (widget_instantiate): use new gui_item functions.
4051         (tab_control_update): deleted.
4052         (progress_gauge_update): deleted.
4053         (image_instantiator_progress_guage): take out update reference.
4054         (image_instantiator_tree_view): ditto.
4055         (image_instantiator_tab_control): ditto.
4056
4057         * gui.c (widget_gui_parse_item_keywords): new function. Do things
4058         Right the new way.
4059         (gui_item_add_keyval_pair): re-write to cope with descriptors and
4060         return whether anything was changed.
4061         (update_gui_item_keywords): as it sounds.
4062
4063         * gui.h: declare widget_gui_parse_item_keywords.
4064
4065         * fns.c (safe_copy_tree): new function taken from Fcopy_tree.
4066         (Fcopy_tree): use it. Stops infloop death in bogus instantiators.
4067
4068 2001-01-17  Martin Buchholz <martin@xemacs.org>
4069
4070         * XEmacs 21.2.41 "Polyhymnia" is released.
4071
4072 2001-01-16  Didier Verna  <didier@xemacs.org>
4073
4074         * glyphs.c (image_instantiate): don't use fallbacks when
4075         instantiating a face's background pixmap by inheritance.
4076
4077 2001-01-14  Mike Sperber <mike@xemacs.org>
4078
4079         * sysdep.c (start_of_data): PDUMP implies ORDINARY_LINK.
4080         Conditionalize accordingly.
4081
4082 2001-01-16  Martin Buchholz  <martin@xemacs.org>
4083
4084         * dumper.c (pdump_file_get): Fix a compiler warning.
4085
4086 2001-01-15  Martin Buchholz  <martin@xemacs.org>
4087
4088         Make Purify happy when pdumping.
4089         * symbols.c (Fmake_variable_buffer_local): Make Purify happy, by
4090         iniitalizing all bits of new lisp object memory.
4091         * symbols.c (Fmake_local_variable): Likewise.
4092         * symbols.c (Fdontusethis_set_symbol_value_handler): Likewise.
4093         * symbols.c (Fdefvaralias): Likewise.
4094         * mule-charset.c (vars_of_mule_charset): Likewise.
4095
4096 2001-01-15  Martin Buchholz  <martin@xemacs.org>
4097         Add the `-nd' flag when running pre-dump operations under the debugger.
4098         * .dbxrc (run-temacs): Add `-nd'.
4099         * .dbxrc (update-elc): Likewise.
4100         * .dbxrc (dump-temacs): Likewise.
4101         * .gdbinit (run-temacs): Likewise.
4102         * .gdbinit (check-temacs): Likewise.
4103         * .gdbinit (update-elc): Likewise.
4104         * .gdbinit (dump-temacs): Likewise.
4105
4106 2001-01-14  Martin Buchholz  <martin@xemacs.org>
4107
4108         Allow building 64-bit executables on AIX with GNU malloc, e.g.
4109         export OBJECT_MODE=64
4110         configure --pdump --use-union-type=no
4111         * m/ibmrs6000.h (DATA_START): Define for 64-bit world.
4112         * gmalloc.c (__default_morecore): Remove pre-ANSI cruft.
4113
4114         * miscplay.c (sndcnv8U_2mono):
4115         Avoid two uses of `++' in the same expression.
4116         Suppresses a GCC warning.
4117
4118 2001-01-13  Martin Buchholz  <martin@xemacs.org>
4119
4120         Make sure future compilers don't miscompile alloc.c.
4121         * alloc.c:
4122         (MARK_STRUCT_AS_FREE): Make aliasing-optimization-resistant.
4123         (MARK_STRUCT_AS_NOT_FREE): Make aliasing-optimization-resistant.
4124
4125 2001-01-12  Martin Buchholz  <martin@xemacs.org>
4126
4127         * dumper.c: A little post-pdump-rename comment fixup.
4128
4129 2001-01-09  Jerry James  <james@eecs.ku.edu>
4130
4131         * lisp-disunion.h: Change LISP_TO_CVOID arg to match its use.
4132
4133 2001-01-13  Martin Buchholz  <martin@xemacs.org>
4134
4135         * *.[ch]: Globally rename symbols using the following `pdump-rename'
4136         script:
4137         #!/bin/sh
4138         replace_symbol () {
4139           (findn texi$; findn [ch]$) | xargs g -lw "$1" | xargs global-replace 's/(?<!_)\b'$1'\b(?!_)/'$2'/g'
4140         }
4141
4142         replace_symbol pdump_wire_lists pdump_weak_object_chains
4143         replace_symbol pdump_wire_list dump_add_weak_object_chain
4144
4145         replace_symbol pdump_wires pdump_root_objects
4146         replace_symbol pdump_wire dump_add_root_object
4147
4148         replace_symbol pdump_dump_wired pdump_dump_from_root_objects
4149         replace_symbol pdump_dump_structs pdump_dump_from_root_struct_ptrs
4150
4151         replace_symbol dumpstructinfos pdump_root_struct_ptrs
4152         replace_symbol dumpstructinfo_dynarr pdump_root_struct_ptr_dynarr
4153         replace_symbol dumpstructinfo pdump_root_struct_ptr
4154         replace_symbol dumpstruct dump_add_root_struct_ptr
4155
4156         replace_symbol dumpopaque dump_add_opaque
4157         replace_symbol dumpopaqueinfo_dynarr pdump_opaque_dynarr
4158         replace_symbol dumpopaqueinfos pdump_opaques
4159         replace_symbol dumpopaqueinfo pdump_opaque
4160
4161         replace_symbol nb_structdump nb_root_struct_ptrs
4162         replace_symbol nb_opaquedump nb_opaques
4163
4164         replace_symbol align_table pdump_align_table
4165         replace_symbol dump_header pdump_header
4166
4167         replace_symbol DUMP_SIGNATURE_LEN PDUMP_SIGNATURE_LEN
4168         replace_symbol DUMP_SIGNATURE PDUMP_SIGNATURE
4169
4170
4171 2001-01-12  Martin Buchholz  <martin@xemacs.org>
4172
4173         * s/aix4.h: Keep the C for AIX compiler from overaggressively
4174         optimizing bytecount_to_charcount().
4175
4176 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
4177
4178         * config.h.in:
4179         (HAVE_DLFCN_H): Removed.
4180         * sysdll.c: Remove HAVE__DLOPEN, HAVE_DLFCN_H.
4181
4182 2001-01-06  Martin Buchholz  <martin@xemacs.org>
4183
4184         Portable dumper maintainability improvements.
4185         * alloc.c (staticpro):
4186         * alloc.c (staticpro_nodump):
4187         * alloc.c (garbage_collect_1):
4188         * alloc.c (reinit_alloc_once_early):
4189         * alloc.c (init_alloc_once_early):
4190         * alloc.c: Move dumper functions to alloc.c.
4191         * dumper.c (pdump_backtrace):
4192         * dumper.c (pdump_dump_structs):
4193         * dumper.c (pdump_dump_opaques):
4194         * dumper.c (pdump_dump_rtables):
4195         * dumper.c (pdump_dump_wired):
4196         * dumper.c (pdump):
4197         * dumper.c (pdump_load_check):
4198         * dumper.c (pdump_load_finish):
4199         * dumper.c (pdump_file_unmap):
4200         * dumper.c (pdump_file_get):
4201         * dumper.c (pdump_resource_free):
4202         * dumper.c (pdump_resource_get):
4203         * dumper.c (pdump_file_free):
4204         * dumper.c (pdump_file_try):
4205         * dumper.c (pdump_load):
4206         Remove fixed size limits on staticpro(), staticpro_nodump(),
4207         dumpopaque(), dumpstruct() by using Dynarrs instead of static C arrays.
4208         Remove custom code for dumping lrecord_implementations_table - use
4209         dumpopaque instead.
4210         Remove (most of the) custom code for dumping staticpros - dump it
4211         like any other dynarr.
4212
4213         * alloc.h: Removed.  No longer useful, since dumper now more self-contained.
4214         * dumper.c: Moved functions from alloc.c.
4215         * alloc.c (dumpstruct): Moved to dumper.c.
4216         * alloc.c (dumpopaque): Likewise.
4217         * alloc.c (pdump_wire): Likewise.
4218         * alloc.c (pdump_wire_list): Likewise.
4219
4220         * lisp.h (Dynarr_sizeof): New.
4221         * lisp.h (Dynarr_begin): New.  Very slightly C++oid.
4222         * lisp.h (Dynarr_end): New.  Very slightly C++oid.
4223         * lisp.h (Lisp_Object_ptr_dynarr): New.  For staticpros.
4224
4225         * lisp.h (dumpstruct): Define to nothing if not PDUMPing.
4226         * lisp.h (dumpopaque): ditto.
4227         * lisp.h (pdump_wire): ditto.
4228         * lisp.h (pdump_wire_list): ditto.
4229
4230 2001-01-09  Martin Buchholz  <martin@xemacs.org>
4231
4232         * make-src-depend (PrintPatternDeps):
4233         Use `sort' to make output independent of perl version.
4234
4235 2001-01-08  Martin Buchholz  <martin@xemacs.org>
4236
4237         Port to Netbsd 1.5.
4238         * unexelf.c: Remove (never used) bogus Netbsd-specific cruft.
4239         * s/netbsd.c: Use unexelf.o if __ELF__ is defined.
4240
4241 2001-01-03  Didier Verna  <didier@xemacs.org>
4242
4243         * event-stream.c (emacs_handle_focus_change_preliminary): ensure
4244         that `focus_frame' is alive before thinking of calling
4245         `redisplay_redraw_cursor' on it.
4246
4247 2001-01-08  Martin Buchholz <martin@xemacs.org>
4248
4249         * XEmacs 21.2.40 is released.
4250
4251 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
4252
4253         * regex.c: Replace PREFETCH with REGEX_PREFETCH.
4254
4255 2001-01-06  Martin Buchholz  <martin@xemacs.org>
4256
4257         * alloc.c (dbg_valmask): Make const.
4258         * alloc.c (dbg_typemask): Make const.
4259         * alloc.c (dbg_USE_UNION_TYPE): Make const.
4260         * alloc.c (dbg_valbits): Make const.
4261         * alloc.c (dbg_gctypebits): Make const.
4262
4263 2001-01-06  Stephen J. Turnbull  <stephen@xemacs.org>
4264
4265         * redisplay-x.c (x_bevel_area):
4266         redisplay.h (struct rune):
4267         Typo fixes in comments.
4268
4269 2001-01-05  Andy Piper  <andy@xemacs.org>
4270
4271         * glyphs-x.c (x_redisplay_widget): use size changed for offset
4272         adjustment.
4273
4274         * menubar.c (menubar_visible_p_changed): don't mark frame changed.
4275
4276 2001-01-05  Martin Buchholz  <martin@xemacs.org>
4277
4278         * alloc.c (pure-bytes-used): Remove unused mendacious variable.
4279
4280         * mule-ccl.c (stack_idx_of_map_multiple):
4281         Non const global data must not be initialized!
4282         Found by MIYASHITA Hisashi.
4283
4284 2001-01-02  Andy Piper  <andy@xemacs.org>
4285
4286         * frame.c (change_frame_size): make sure frame size is always
4287         marked as changed.
4288
4289         * glyphs.c (image_instance_layout): minor code reuse.
4290
4291         * window.c (Fcurrent_window_configuration): revert previous
4292         change.
4293
4294 2001-01-02  Martin Buchholz  <martin@xemacs.org>
4295
4296         * glyphs.h:
4297         * glyphs.c (make_image_instance_cache_hash_table): Use ANSI prototypes.
4298
4299 2000-12-31  Andy Piper  <andy@xemacs.org>
4300
4301         * glyphs-x.c (x_unmap_subwindow): return focus to enclosing frame
4302         when widget gets unmapped.
4303
4304         * event-Xt.c (emacs_Xt_handle_widget_losing_focus): new
4305         function. Make sure widgets losing focus don't just drop it.
4306         (handle_focus_event_1): record the widget with focus.
4307
4308 2000-12-31  Andy Piper  <andy@xemacs.org>
4309
4310         * window.c (allocate_window): use
4311         make_image_instance_cache_hash_table.
4312         (make_dummy_parent): ditto.
4313         (Fset_window_configuration): ditto.
4314
4315         * glyphs.h (INSTANTIATOR_TYPE): new macro.  declare new functions.
4316
4317         * glyphs.c (process_image_string_instantiator): use
4318         INSTANTIATOR_TYPE.
4319         (get_image_instantiator_governing_domain): ditto.
4320         (normalize_image_instantiator): ditto.
4321         (instantiate_image_instantiator): ditto.
4322         (make_image_instance_1): ditto.
4323         (image_instantiate): ditto. Key on glyph *and* instantiator type.
4324         (instantiator_eq_equal): new function for use with instance hash
4325         tables.
4326         (instantiator_eq_hash): ditto.
4327         (make_image_instance_cache_hash_table): create a suitable hash
4328         table for storing image instances.
4329
4330         * elhash.h (hash_table_weakness): new internal weakness type
4331         HASH_TABLE_KEY_CAR_VALUE_WEAK.
4332         declare new functions.
4333
4334         * elhash.c (finish_marking_weak_hash_tables): introduce yet
4335         another weakness type for glyphs.
4336         (make_standard_lisp_hash_table): new function split out from
4337         make_general_lisp_hash_table.
4338         (make_lisp_hash_table): call make_standard_lisp_hash_table.
4339         (hash_table_instantiate): ditto.
4340         (Fmake_hash_table): ditto.
4341
4342 2000-12-31  Martin Buchholz <martin@xemacs.org>
4343
4344         * XEmacs 21.2.39 is released.
4345
4346 2000-12-29  Andy Piper  <andy@xemacs.org>
4347
4348         * menubar.c (menubar_visible_p_changed): signal the frame changed.
4349
4350         * glyphs-x.c (x_redisplay_widget): Re-calculate widget offsets if
4351         the frame has changed so that we pick up geometry changes such as
4352         menubar visibility.
4353
4354 2000-12-28  Andy Piper  <andy@xemacs.org>
4355
4356         * lastfile.c (my_ebss): make a char array so we can pad the
4357         bss. Fixes cygwin unexec.
4358
4359         * unexcw.c: invert BROKEN_GDB to NO_DEBUG.
4360
4361 2000-12-26  Andy Piper  <andy@xemacs.org>
4362
4363         * event-Xt.c (emacs_Xt_force_event_pending): add some verbose
4364         comments and try and be more precise about a non-/SIGIO world.
4365         (emacs_Xt_event_pending_p): use XtAppPending under cygwin and non
4366         SIGIO.
4367
4368         * redisplay-output.c (redisplay_normalize_glyph_area): make sure
4369         we don't normalize to zero width or height.
4370
4371 2000-12-24  Andy Piper  <andy@xemacs.org>
4372
4373         * Makefile.in.in (ldflags): add -mwindows when appropriate.
4374
4375 2000-08-18  Golubev I. N.  <gin@mo.msk.ru>
4376
4377         * s/sco5.h: SCO 5 has pty support.
4378
4379 2000-07-20  Kazuyuki IENAGA <ienaga@xemacs.org>
4380
4381         * input-method-xlib.c: supports both XIM_XLIB and USE_XFONTSET.
4382         input-method-xlib.c contains whole contents of input-method-xfs.c,
4383         so we can use input-method-xlib.c's code for USE_XFONTSET
4384         using #ifdefs.
4385         * input-method-xfs.c: removed.
4386
4387 2000-12-20  Stephen Turnbull  <stephen@xemacs.org>
4388
4389         * file-coding.h (enum coding_category_type): reorder enumerators to
4390         make autodetection safer.  Make CODING_CATEGORY_LAST an enumerator
4391         (now one greater than largest real coding_category_type enumerator).
4392         * file-coding.c (coding_category_symbol, coding_category_by_priority,
4393         coding_category_system, fcd_descriptihon_1, decode_coding_category,
4394         Fcoding_category_list, Fset_coding_priority_list,
4395         Fcoding_priority_list, coding_system_from_mask, Fdetect_coding_region,
4396         vars_of_file_coding): adjust for change in CODING_CATEGORY_LAST.
4397
4398 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
4399
4400         * redisplay-output.c (redisplay_clear_top_of_window): Remove static.
4401         * redisplay-output.c (redisplay_output_window): Clear top of window
4402         when face is changed.
4403         * redisplay-x.c (x_redraw_exposed_window): Call
4404         redisplay_clear_top_of_window.
4405         * redisplay.h: Publish redisplay_clear_top_of_window.
4406
4407 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
4408
4409         * buffer.c (Fkill_buffer): Map over all devices.
4410         * window.c (window_loop): Remove UNSHOW_BUFFER code.
4411         (list_windows): New function.
4412         (list_all_windows): Ditto.
4413         (Freplace_buffer_in_windows): Use them.
4414
4415 2000-02-02   Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
4416
4417         * database.c (berkdb_subtype): Recognize new subtype `queue'.
4418         (Fopen_database): Use `db_create' instead of `db_open'.
4419         (syms_of_database): Initialize Qqueue.
4420
4421 2000-12-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
4422
4423         * buffer.c (common_init_complex_vars_of_buffer): Initialize
4424         buffer_local_face_property.
4425         * buffer.h (struct buffer): New member buffer_local_face_property.
4426         * window.c (Fset_window_buffer):  Mark window's face as changed
4427         when buffer has buffer local face.
4428         * window.h (MARK_WINDOW_FACES_CHANGED): New macro.
4429         * objects.c (color_after_change): Set buffer_local_face_property
4430         when locale of face specifier is buffer.
4431         * objects.c (font_after_change): Ditto.
4432         * objects.c (face_boolean_after_change): Ditto.
4433         * glyphs.c (image_after_change): Ditto.
4434
4435 2000-12-09  Dan Holmsand  <dan@eyebee.com>
4436
4437         * nt.c (mswindows_fstat): Report file permissions, volume serial
4438         number, etc. Code adapted from FSF Emacs 20.7.
4439
4440 2000-12-09  Dan Holmsand  <dan@eyebee.com>
4441
4442         * sysfile.h (lstat): Make lstat an alias for xemacs_stat instead
4443         of stat when we don't have symbolic links, to make sure
4444         mswindows_stat is called on mswindows.
4445
4446 2000-12-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
4447
4448         * alloca.c: Define malloc to xmalloc only when built with XEmacs.
4449
4450 2000-12-12  Martin Buchholz  <martin@xemacs.org>
4451
4452         * doprnt.c (emacs_doprnt_1): More printing fixes.
4453         Make printing of numbers compatible with libc and FSF Emacs.
4454         BUG was: (format "%6.3f" 1.2) ==>"1.200000"
4455         Use the system printf to do most of the hard work of formatting,
4456         instead of doprnt_1().
4457         Calculate memory to allocate for format string.
4458         Remove arbitrary limit on precision, e.g. (format "%.1000f" 3.14)
4459         (doprnt_1): Cleaner code and documentation.
4460
4461 2000-12-01  Jerry James  <james@eecs.ukans.edu>
4462
4463         * Makefile.in.in: Use the loop variable to install headers.
4464
4465 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
4466
4467         * window.c (Fsplit_window): Don't invalidate face cache.
4468
4469 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
4470
4471         * minibuf.c (Fall_completions): Undo the previous change
4472         which removed checking elements start with space.
4473
4474 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
4475
4476         * mule-canna.c: Didier suppression.
4477
4478 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
4479
4480         * mule-canna.c: rename static unsigned char buf[] to key_buffer
4481         (warning suppression).  Add English comment translations.
4482
4483 2000-12-05  Martin Buchholz  <martin@xemacs.org>
4484
4485         * unexelfsgi.c (unexec): Better test for mmap failure.
4486
4487 2000-12-05  Martin Buchholz <martin@xemacs.org>
4488
4489         * XEmacs 21.2.38 is released.
4490
4491 2000-12-05  Martin Buchholz  <martin@xemacs.org>
4492
4493         * redisplay.c (bar-cursor): Make a user variable.
4494
4495         * symsinit.h: Add init_postgresql_from_environment.
4496
4497 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
4498
4499         * regex.c: Convert to clean C.
4500
4501 2000-12-05  Dan Holmsand  <dan@eyebee.com>
4502
4503         * realpath.c:
4504         Don't #include sysfile.h. Revert to duplicating PATH_MAX
4505         initialization.
4506         (sys_readlink): renamed to system_readlink to avoid conflict with
4507         the other sys_readlink.
4508
4509 2000-12-04  Hiroaki Abe  <h-abe@pc.highway.ne.jp>
4510
4511         * dumper.c (pdump_file_get): Correct uses of pdump_fd.
4512
4513 2000-12-04  Stephen J. Turnbull  <stephen@xemacs.org>
4514
4515         * postgresql.c (init_postgresql_from_environment): new function.
4516         (vars_of_postgresql): Move code initializing Lisp variables out and
4517         into init_postgresql_from_environment.
4518         emacs.c (main_1): Call init_postgresql_from_environment if and only
4519         if running a dumped XEmacs.
4520
4521 2000-08-31  Dan Holmsand  <dan@eyebee.com>
4522
4523         * buffer.c: Make find-file-compare-truenames default to true on
4524         windows.
4525
4526         * realpath.c (win32_abs_start):
4527         (cygwin_readlink):
4528         (win32_readlink): New functions.
4529         (xrealpath): Return really real filenames on windows.
4530
4531         * fileio.c (Ffile_truename): Make file-truename work on windows.
4532
4533 2000-11-29  Didier Verna  <didier@xemacs.org>
4534
4535         * faces.c (MAYBE_UNFROB_BACKGROUND_PIXMAP): new macro.
4536         * faces.c (update_face_cachel_data): use it.
4537         * faces.c (add_face_cachel): use it. Complete background pixmap
4538         frobbing in face cache if `update_face_cachel_data' has not done so.
4539
4540 2000-11-29  Yoshiki Hayashi  <yoshiki@xemacs.org>
4541
4542         * search.c (string_match_1): Don't set last_thing_searched
4543         when search failed.
4544
4545 2000-11-27  Yoshiki Hayashi  <yoshiki@xemacs.org>
4546
4547         * buffer.c: Include casetab.h
4548         (common_init_complex_vars_of_buffer): Use new case-table object.
4549         * buffer.h: Include casetab.h
4550         * buffer.h (MAKE_TRT_TABLE): Use generic char-table.
4551         (DOWNCASE_TABLE_OF): Ditto.
4552         * bufslots.h: Remove char-tables and add case-table.
4553         * casetab.c: Include casetab.h
4554         (CASE_TABLE_P): Removed.
4555         (mark_case_table): New function.
4556         (allocate_case_table): New function.
4557         (Fcase_table_p): Use new case-table.
4558         (case_table_char): New function.
4559         (Fget_case_table): Ditto.
4560         (Fput_case_table): Ditto.
4561         (Fput_case_table_pair): Ditto.
4562         (Fcopy_case_table): Ditto.
4563         (Fcurrent_case_table): Return case-table.
4564         (Fstandard_case_table): Return case-table.
4565         (Fset_case_table): Fix doc-string.
4566         (set_case_table): Use case-table
4567         (syms_of_casetab): DEFSUBR new functions.
4568         (complex_vars_of_casetab): Set up standard case-table.
4569         * casetab.h: New file.
4570         * editfns.c: Include casetab.h
4571         (Fcompare_buffer_substrings): Use case-table.
4572         * inline.c: Include casetab.h
4573         * lisp.h: Remove bogus extern.
4574         * lrecord.h (lrecord_type): Add lrecord_type_case_table.
4575         * search.c: Include casetab.h
4576         (TRANSLATE_ASCII): Removed.
4577         (TRANSLATE): Unconditionally translate character.
4578         (looking_at_1): Use case-table.
4579         (string_match_1): Ditto.
4580         (fast_string_match): Ditto.
4581         (search_command): Ditto.
4582         (search_buffer): Separate boyer_moore.  Check whether
4583         boyer_moore is possible.
4584         (simple_search): New function.
4585         (boyer_moore): Separated from search_buffer. Translate char.
4586
4587 2000-11-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
4588
4589         * regex.c (RE_TR_ASCII): Removed.
4590         (RE_TRANSLATE): Unconditionally use TRT_TABLE.
4591         (PATFETCH): Call PATFETCH_RAW.
4592         (PATFETCH_RAW): Fetch Emchar.
4593         (PATUNFETCH): Decrement charptr.
4594         (GET_BUFFER_SPACE): Rename b to buf_end.
4595         (BUF_PUSH): Ditto.
4596         (BUF_PUSH_2): Ditto.
4597         (BUF_PUSH_3): Ditto.
4598         (EXTEND_BUFFER): Ditto.
4599         (SET_LIST_BIT): Ditto.
4600         (regex_compile): Ditto.  Translate non ASCII char.
4601         (compile_range): Ditto.
4602         (re_search_2): Ditto.
4603         (re_match_2_internal): Compare Emchar.
4604         (bcmp_translate): Ditto.
4605
4606 2000-11-29  Stephen J. Turnbull  <turnbull@xemacs.org>
4607
4608         * lisp.h (basic char/int typedefs):  comment improvement.
4609
4610 2000-11-24  Stephen J. Turnbull  <turnbull@xemacs.org>
4611
4612         * emacs.c (main_1):  unconditional pdump unstomping; don't save and
4613         unstomp inhibit_site_lisp.  Improve comments.
4614
4615 2000-11-22  Stephen J. Turnbull  <turnbull@xemacs.org>
4616
4617         * mule-charset.c (Fcharset_property):  improve type checking, comments.
4618
4619 2000-11-28  Andy Piper  <andy@xemacs.org>
4620
4621         * redisplay-output.c (redisplay_output_subwindow): make sure we do
4622         clipped display for windows in the gutter also.
4623         (redisplay_display_boxes_in_window_p): change semantics of return
4624         codes to be more intuitive.
4625
4626         * gutter.h: declare display_boxes_in_gutter_p.
4627
4628         * gutter.c (display_boxes_in_gutter_p): new function for
4629         redisplay.
4630
4631 2000-11-22  Andy Piper  <andy@xemacs.org>
4632
4633         * glyphs-x.c (image_instantiator_format_create_glyphs_x): change
4634         autodetect domain.
4635
4636 2000-11-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
4637
4638         * callproc.c (Fold_call_process_internal):
4639         * gpm.c (Freceive_gpm_event):
4640         (tty_get_foreign_selection): Might be just warning supression.
4641         * fileio.c (Fwrite_region_internal):
4642         (Fset_visited_file_modtime):
4643         * keymap.c (event_matches_key_specifier_p):
4644         Initialize GCPROed variable.
4645
4646         * menubar-x.c (command_builder_find_menu_accelerator):
4647         Initialize before use.
4648
4649 2000-11-23  Andy Piper  <andy@xemacs.org>
4650
4651         * unexcw.c (unexec): make the resulting executable executable.
4652
4653 2000-11-21  Martin Buchholz  <martin@xemacs.org>
4654
4655         * doc.c (get_doc_string):
4656         Use size_t, not int, for result of XSTRING_LENGTH.
4657
4658         * cmds.c (Fdelete_char):
4659         * cmds.c (Fpoint_at_eol):
4660         * cmds.c (Fself_insert_command):
4661         Use EMACS_INT, not int, for result of XINT.
4662         Someday, someone will want to insert more than 2**31 identical characters.
4663
4664         * cmds.c (Fdelete_char):
4665         * cmds.c (Fdelete_backward_char):
4666         * syntax.c (Fforward_word):
4667         * syntax.c (Fforward_comment):
4668         Make COUNT argument optional, for consistency with forward-char et al.
4669
4670 2000-11-22  Martin Buchholz  <martin@xemacs.org>
4671
4672         * lisp.h:
4673         * print.c (long_to_string):
4674         Return a useful value: the pointer at end of data written.
4675
4676         * doprnt.c:
4677         Use `static const char * const' for constant strings.
4678         (union printf_arg): Delete `i', `ui' members.
4679         (get_doprnt_args):
4680         (emacs_doprnt_1):
4681         Fix LP64 platform bug: (format "%d" most-positive-fixnum) ==> "-1"
4682         Do all printf-ing via the `l' specifier.
4683         Use EMACS_INT instead of int.
4684         Optimize.
4685
4686 2000-11-20  Didier Verna  <didier@xemacs.org>
4687
4688         * faces.c (update_face_cachel_data): don't frob the background
4689         pixmap when the window is being created. The face is needed but
4690         does not exist yet.
4691
4692 2000-11-20  Andy Piper  <andy@xemacs.org>
4693
4694         * unexcw.c (copy_executable_and_dump_data_section): Only do bss
4695         messing with a debug environment.
4696
4697 2000-11-20  Martin Buchholz  <martin@xemacs.org>
4698
4699         * emacs.c (__sti__iflPNGFile_c___): Pedantically correct prototype.
4700
4701 2000-11-20  Martin Buchholz  <martin@xemacs.org>
4702
4703         * casetab.c (Fcase_table_p): Fix compile error and crash.
4704
4705 2000-11-18  Philip Aston  <philipa@mail.com>
4706
4707         * s/cygwin32.h: Cygwin has SVR4-like pty support.
4708
4709 2000-11-18  Martin Buchholz  <martin@xemacs.org>
4710
4711         * fileio.c (Fexpand_file_name): GCPRO bug!  Protect `handler'.
4712         * filelock.c (lock_file): GCPRO bug! Initialize all GCPROed vars!
4713
4714 2000-11-17  Martin Buchholz  <martin@xemacs.org>
4715
4716         * config.h.in: Define HAVE_ELF_H if elf.h exists.
4717         * unexelf.c: Use HAVE_ELF_H.
4718         * unexelfsgi.c: Fix bug with dumped xemacs stdout/stderr not working.
4719         I copied FSF Emacs 20.7 unexelf.c to unexelfsgi.c and ANSIfied it.
4720         Max Matveev <makc@sgi.com> removed non-SGI-relevant parts and tested.
4721         Greg Harrington <greg_harrington@hotmail.com> provided a machine
4722         for testing.
4723         So this is an unexelfsgi.c from a different line of development.
4724
4725 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
4726
4727         * regex.c (RE_TR_ASCII): New function.
4728         (RE_TRANSLATE): Call it.
4729
4730 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
4731
4732         * buffer.h (TRT_TABLE_OF): Remove assert.
4733         (IN_TRT_TABLE_DOMAIN): Removed.
4734
4735 2000-11-16  Gunnar Evermann  <ge204@eng.cam.ac.uk>
4736
4737         * free-hook.c (log_gcpro):
4738         (show_gcprohist): Add support for GCPRO5.
4739
4740 2000-11-08  Stephen J. Turnbull  <stephen@xemacs.org>
4741
4742         * emacs.c (main_1): Improve -sd error message when --pdump=no.
4743
4744 2000-11-16  Olivier Galibert  <galibert@xemacs.org>
4745
4746         * symeval.h: Declare flush_all_buffer_local_cache.
4747
4748         * symbols.c: Change XD_LO_RESET_NIL into XD_LISP_OBJECTs.
4749         (flush_buffer_local_cache): Added.
4750         (flush_all_buffer_local_cache): Added.
4751
4752         * lrecord.h: Remove unused XD_LO_RESET_NIL.
4753
4754         * dumper.c (pdump_register_sub): Remove unused XD_LO_RESET_NIL.
4755         (pdump_dump_data): Ditto.
4756         (pdump_reloc_one): Ditto.
4757         (pdump): Remove unused pdump_qnil.  Flush buffer local caches
4758         before dumping.
4759
4760
4761 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
4762
4763         * buffer.c: Remove if 0'ed entry.
4764         * buffer.h: Rewrite TRT to use char-table.
4765         * bufslots.h: Remove mirror tables.
4766         * casetab.c: Remove mirror tables.
4767         (CASE_TABLE_P): New macro.
4768         (Fcase_table_p): Element of a case table is string or char-table.
4769         (make_mirror_trt_table): Removed.
4770         (set_case_table): Setup char-table from strings for backward
4771         compatibility.
4772         * dired.c (Fdirectory_files):
4773         * dired-msw.c: (mswindows_get_files):
4774         * lisp.h: Change prototype of re_pattern_buffer.
4775         * regex.c: (RE_TRANSLATE): New macro.
4776         (TRANSLATE_P): Ditto.
4777         Change translate to type RE_TRANSLATE_TYPE.
4778         * regex.h: Define RE_TRANSLATE_TYPE
4779         * search.c (TRANSLATE): New macro.
4780         (TRANSLATE_ASCII): New macro.
4781         Translate table is changed to Lisp_Object.
4782         (signal_failure): Inhibit return.
4783
4784 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
4785
4786         * device-msw.c:
4787         * eldap.c:
4788         * event-Xt.c:
4789         * event-stream.c:
4790         * print.c:
4791         Do UNGCPRO before return.
4792
4793 2000-11-14  Martin Buchholz <martin@xemacs.org>
4794
4795         * XEmacs 21.2.37 is released.
4796
4797 2000-11-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
4798
4799         * fileio.c (Finsert_file_contents_internal): UNGCPRO before return.
4800         Add comments about discarded return value.
4801
4802 2000-11-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
4803
4804         * callint.c:
4805         * event-stream.c: Fix comments.  Remove some #if 0'ed part.
4806
4807 2000-10-27  Andy Piper  <andy@xemacs.org>
4808
4809         * gutter.c (Fset_default_gutter_position): default left and right
4810         gutters to visible.
4811         (calculate_gutter_size): calculate resonable heuristic for left
4812         and right gutter sizes.
4813         (specifier_vars_of_gutter): change left and right gutter sizes to
4814         autodetect.
4815         (calculate_gutter_size_from_display_lines): new function.
4816         (output_gutter): check for resizing on left and right gutters.
4817         (clear_gutter): don't special case top and left gutters.
4818         (specifier_vars_of_gutter): use new signature for
4819         set_specifier_caching.
4820
4821         * glyphs-x.c (x_redisplay_widget): spelling fix.
4822         * glyphs.c (specifier_vars_of_glyphs):
4823         * menubar.c (specifier_vars_of_menubar):
4824         * redisplay.c (specifier_vars_of_redisplay):
4825         * toolbar.c (specifier_vars_of_toolbar):
4826         * window.c (specifier_vars_of_window):
4827         * scrollbar.c (specifier_vars_of_scrollbar):
4828         (complex_vars_of_scrollbar): use new signature for
4829         set_specifier_caching.
4830
4831         * specifier.c (set_specifier_caching): include recompute flag.
4832         (recompute_one_cached_specifier_in_window): always recompute if
4833         flag set.
4834         (recompute_one_cached_specifier_in_frame): ditto.
4835
4836         * specifier.h (struct specifier_caching): add recompute flag.
4837
4838 2000-10-24  Andy Piper  <andy@xemacs.org>
4839
4840         * unexcw.c (copy_executable_and_dump_data_section): add new
4841         BSS_PAD_SIZE so that we can re-instate a mini-bss. This keeps gdb
4842         5.0 happy.
4843
4844 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
4845
4846         * console-x.h (x_device): New member modifier_release_time.
4847         * event-Xt.c (x_handle_sticky_modifiers):
4848         Bound interval modifier keys are sticky.
4849         * event-stream.c (Vmodifier_keys_sticky_time): New variable.
4850         * events.h: extern it.
4851
4852 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
4853
4854         * cmdloop.c (Fcommand_loop_1): Just add C-g to event queue.
4855
4856 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
4857
4858         * event-stream.c (execute_command_event): Preserve current_events
4859         and the like when event is misc-user-event.
4860         Inhibit quit during the call to maybe_echo_keys.
4861
4862 2000-10-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
4863
4864         * filelock.c (lock_buffer): Cope with kill-buffer. Don't create a
4865         symlink when buffer is killed.
4866         (inhibit_clash_detection): New variable.
4867
4868 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
4869
4870         * console.c (Fset_input_method): Trigger redisplay on tty.
4871
4872 2000-11-07  Martin Buchholz  <martin@xemacs.org>
4873
4874         * process.c (Fprocess_status): Revert to previous behavior:
4875         (process-status "nosuchprocess") ==> nil
4876
4877 2000-11-06  Martin Buchholz  <martin@xemacs.org>
4878
4879         * mule-charset.h (CHARSET_BY_LEADING_BYTE):
4880         Work around another GCC 2.95.2 optimizer bug.
4881
4882 2000-11-02  Martin Buchholz  <martin@xemacs.org>
4883
4884         * process.c (Fget_process): Use LIST_LOOP_2.
4885         (kill_buffer_processes): Use LIST_LOOP_2.
4886
4887         * minibuf.c (Fall_completions):
4888         Delete old non-functional code for FSF fourth argument.
4889
4890         * frame.c (frame_matches_frame_spec):
4891         Renamed from `frame_matches_frametype'.  Update all callers.
4892         (device_matches_device_spec):
4893         Renamed from 'device_matches_console_spec'.  Update all callers.
4894
4895         * doc.c (Fsubstitute_command_keys):
4896         Remove buffer overflow crash.  Small code cleanups.
4897
4898         * casetab.c (check_case_table): Simpler code.
4899
4900         * window.c (Freplace_buffer_in_windows):
4901         Give this the same WHICH-FRAMES and WHICH-DEVICES parameters
4902         (and similar implementation) as Fdelete_windows_on.
4903         Update all callers.
4904
4905         * alloc.c (Fmake_list):
4906         * alloc.c (make_vector):
4907         * alloc.c (Fmake_vector):
4908         * alloc.c (make_bit_vector):
4909         * alloc.c (Fmake_bit_vector):
4910         * alloc.c (Fbit_vector):
4911         * alloc.c (Fmake_string):
4912         * alloc.c (Fpurecopy):
4913         * alloc.c (Fmemory_limit):
4914         * buffer.c:
4915         * buffer.c (Fget_buffer):
4916         * buffer.c (Fkill_buffer):
4917         * buffer.c (complex_vars_of_buffer):
4918         * bytecode.c (Fcompiled_function_stack_depth):
4919         * callint.c (Fprefix_numeric_value):
4920         * event-stream.c:
4921         * event-stream.c (Fread_key_sequence):
4922         * casetab.c:
4923         * casetab.c (Fcase_table_p):
4924         * casetab.c (check_case_table):
4925         * casetab.c (Fset_case_table):
4926         * casetab.c (Fset_standard_case_table):
4927         * chartab.c:
4928         * chartab.c (Fchar_table_type):
4929         * chartab.c (Freset_char_table):
4930         * chartab.c (Fget_char_table):
4931         * chartab.c (Fget_range_char_table):
4932         * chartab.c (Fput_char_table):
4933         * chartab.c (Fmap_char_table):
4934         * chartab.c (Fcategory_table_p):
4935         * chartab.c (Fcheck_category_at):
4936         * chartab.c (Fchar_in_category_p):
4937         * chartab.c (Fcategory_table):
4938         * chartab.c (Fcopy_category_table):
4939         * chartab.c (Fset_category_table):
4940         * chartab.c (Fcategory_designator_p):
4941         * chartab.c (Fcategory_table_value_p):
4942         * cmds.c (Fdelete_char):
4943         * cmds.c (Fdelete_backward_char):
4944         * cmds.c (Fself_insert_command):
4945         * cmds.c (Fself_insert_internal):
4946         * console.c (Fvalid_console_type_p):
4947         * console.c (Fcdfw_console):
4948         * console.c (Fconsole_type):
4949         * console.c (Fconsole_name):
4950         * console.c (Fconsole_device_list):
4951         * console.c (Fconsole_on_window_system_p):
4952         * data.c:
4953         * data.c (Feq):
4954         * data.c (Fold_eq):
4955         * data.c (Fsubr_interactive):
4956         * data.c (Fchar_to_int):
4957         * data.c (Fint_to_char):
4958         * data.c (Fsetcar):
4959         * data.c (Fsetcdr):
4960         * data.c (Fnumber_to_string):
4961         * data.c (Fstring_to_number):
4962         * data.c (Frem):
4963         * database.c (mark_database):
4964         * database.c (finalize_database):
4965         * database.c (Fdatabase_live_p):
4966         * database.c (Fdatabasep):
4967         * device-x.c (Fx_get_resource):
4968         * device.c (Fdfw_device):
4969         * dired.c:
4970         * dired.c (Ffile_name_completion):
4971         * dired.c (Ffile_name_all_completions):
4972         * dired.c (Fuser_name_completion):
4973         * dired.c (Fuser_name_completion_1):
4974         * dired.c (Fuser_name_all_completions):
4975         * doc.c (Fdocumentation):
4976         * doc.c (Fdocumentation_property):
4977         * doc.c (Fsubstitute_command_keys):
4978         * editfns.c:
4979         * editfns.c (Fchar_to_string):
4980         * editfns.c (Fstring_to_char):
4981         * editfns.c (Ftemp_directory):
4982         * editfns.c (Finsert_char):
4983         * editfns.c (Fbuffer_substring_no_properties):
4984         * editfns.c (Fnarrow_to_region):
4985         * editfns.c (Fchar_equal):
4986         * editfns.c (Fchar_Equal):
4987         * editfns.c (Ftranspose_regions):
4988         * emacs.c (Fdump_emacs):
4989         * eval.c (Fthrow):
4990         * eval.c (Fcommand_execute):
4991         * eval.c (Fautoload):
4992         * eval.c (Fbacktrace):
4993         * eval.c (Fbacktrace_frame):
4994         * events.c:
4995         * events.c (Fcopy_event):
4996         * events.c (Fcharacter_to_event):
4997         * events.c (Fevent_button):
4998         * events.c (Fevent_process):
4999         * extents.c:
5000         * extents.c (Fnext_extent_change):
5001         * extents.c (Fextent_property):
5002         * faces.c (Ffacep):
5003         * faces.c (Fmake_face):
5004         * file-coding.c:
5005         * file-coding.c (Fencode_shift_jis_char):
5006         * file-coding.c (Fencode_big5_char):
5007         * fileio.c (Ffile_name_directory):
5008         * fileio.c (Ffile_name_nondirectory):
5009         * fileio.c (Ffile_name_as_directory):
5010         * fileio.c (Fdirectory_file_name):
5011         * fileio.c (Ffile_truename):
5012         * fileio.c (Fsubstitute_in_file_name):
5013         * fileio.c (Ffile_modes):
5014         * fileio.c (Fset_file_modes):
5015         * fileio.c (Fset_default_file_modes):
5016         * fileio.c (Fverify_visited_file_modtime):
5017         * floatfns.c (Facos):
5018         * floatfns.c (Fasin):
5019         * floatfns.c (Fatan):
5020         * floatfns.c (Fcos):
5021         * floatfns.c (Fsin):
5022         * floatfns.c (Ftan):
5023         * floatfns.c (Fbessel_j0):
5024         * floatfns.c (Fbessel_j1):
5025         * floatfns.c (Fbessel_jn):
5026         * floatfns.c (Fbessel_y0):
5027         * floatfns.c (Fbessel_y1):
5028         * floatfns.c (Fbessel_yn):
5029         * floatfns.c (Ferf):
5030         * floatfns.c (Ferfc):
5031         * floatfns.c (Flog_gamma):
5032         * floatfns.c (Fexp):
5033         * floatfns.c (Fexpt):
5034         * floatfns.c (Flog):
5035         * floatfns.c (Flog10):
5036         * floatfns.c (Fsqrt):
5037         * floatfns.c (Fcube_root):
5038         * floatfns.c (Facosh):
5039         * floatfns.c (Fasinh):
5040         * floatfns.c (Fatanh):
5041         * floatfns.c (Fcosh):
5042         * floatfns.c (Fsinh):
5043         * floatfns.c (Ftanh):
5044         * floatfns.c (Fabs):
5045         * floatfns.c (Ffloat):
5046         * floatfns.c (Flogb):
5047         * floatfns.c (Fceiling):
5048         * floatfns.c (Ffloor):
5049         * floatfns.c (Fround):
5050         * floatfns.c (Ftruncate):
5051         * floatfns.c (Ffceiling):
5052         * floatfns.c (Fffloor):
5053         * floatfns.c (Ffround):
5054         * floatfns.c (Fftruncate):
5055         * fns.c (Fstring_equal):
5056         * fns.c (Fstring_lessp):
5057         * fns.c (concat2):
5058         * fns.c (concat3):
5059         * fns.c (vconcat2):
5060         * fns.c (vconcat3):
5061         * fns.c (Fsubstring):
5062         * fns.c (Fassoc):
5063         * fns.c (Fold_assoc):
5064         * fns.c (assoc_no_quit):
5065         * fns.c (Fassq):
5066         * fns.c (Fold_assq):
5067         * fns.c (assq_no_quit):
5068         * fns.c (Frassoc):
5069         * fns.c (Fold_rassoc):
5070         * fns.c (Frassq):
5071         * fns.c (Fold_rassq):
5072         * fns.c (rassq_no_quit):
5073         * fns.c (Fremassoc):
5074         * fns.c (remassoc_no_quit):
5075         * fns.c (Fremassq):
5076         * fns.c (remassq_no_quit):
5077         * fns.c (Fremrassoc):
5078         * fns.c (Fremrassq):
5079         * fns.c (remrassq_no_quit):
5080         * fns.c (Fsort):
5081         * fns.c (Fplist_get):
5082         * fns.c (Fplist_put):
5083         * fns.c (Fplist_remprop):
5084         * fns.c (Fplist_member):
5085         * fns.c (Flax_plist_get):
5086         * fns.c (Flax_plist_put):
5087         * fns.c (Flax_plist_remprop):
5088         * fns.c (Flax_plist_member):
5089         * fns.c (Fequal):
5090         * fns.c (Fold_equal):
5091         * fns.c (Frequire):
5092         * fns.c (Fbase64_encode_region):
5093         * fns.c (Fbase64_encode_string):
5094         * fns.c (Fbase64_decode_region):
5095         * frame.c:
5096         * frame.c (frame_matches_frame_spec):
5097         * frame.c (device_matches_device_spec):
5098         * frame.c (next_frame):
5099         * frame.c (previous_frame):
5100         * frame.c (Fnext_frame):
5101         * frame.c (Fprevious_frame):
5102         * frame.c (Fframe_property):
5103         * frame.c (Fset_frame_height):
5104         * frame.c (Fset_frame_size):
5105         * frame.h:
5106         * glyphs.c:
5107         * glyphs.c (if):
5108         * glyphs.c (decode_error_behavior_flag):
5109         * glyphs.c (Fmake_image_instance):
5110         * indent.c (Findent_to):
5111         * intl.c (Fignore_defer_gettext):
5112         * keymap.c (Fkeymapp):
5113         * keymap.c (Flookup_key):
5114         * lread.c:
5115         * lread.c (Fload_internal):
5116         * lread.c (Feval_buffer):
5117         * lread.c (Feval_region):
5118         * macros.c (Fexecute_kbd_macro):
5119         * marker.c (set_marker_internal):
5120         * marker.c (Fset_marker):
5121         * marker.c (set_marker_restricted):
5122         * marker.c (Fcopy_marker):
5123         * marker.c (noseeum_copy_marker):
5124         * menubar.c:
5125         * menubar.c (Fpopup_menu):
5126         * minibuf.c:
5127         * mule-charset.c (Fcharset_name):
5128         * mule-charset.c (Fchar_charset):
5129         * mule-charset.c (Fchar_octet):
5130         * mule-charset.c (Fsplit_char):
5131         * mule-wnnfns.c (Fwnn_open):
5132         * mule-wnnfns.c (Fwnn_dict_comment):
5133         * mule-wnnfns.c (Fwnn_quit_henkan):
5134         * mule-wnnfns.c (Fwnn_word_toroku):
5135         * mule-wnnfns.c (Fwnn_word_sakujo):
5136         * mule-wnnfns.c (Fwnn_word_use):
5137         * mule-wnnfns.c (Fwnn_hindo_set):
5138         * objects.c:
5139         * objects.c (Fmake_color_instance):
5140         * objects.c (Fmake_font_instance):
5141         * print.c (Fwrite_char):
5142         * process.c:
5143         * process.c (mark_process):
5144         * process.c (print_process):
5145         * process.c (get_process_from_usid):
5146         * process.c (Fprocessp):
5147         * process.c (Fprocess_live_p):
5148         * process.c (Fget_process):
5149         * process.c (Fget_buffer_process):
5150         * process.c (get_process):
5151         * process.c (Fprocess_id):
5152         * process.c (Fprocess_name):
5153         * process.c (Fprocess_command):
5154         * process.c (init_process_io_handles):
5155         * process.c (start_process_unwind):
5156         * process.c (Fstart_process_internal):
5157         * process.c (Fopen_multicast_group_internal):
5158         * process.c (Fset_process_window_size):
5159         * process.c (read_process_output):
5160         * process.c (send_process):
5161         * process.c (Fprocess_tty_name):
5162         * process.c (Fset_process_buffer):
5163         * process.c (Fprocess_buffer):
5164         * process.c (Fprocess_mark):
5165         * process.c (set_process_filter):
5166         * process.c (Fset_process_filter):
5167         * process.c (Fprocess_filter):
5168         * process.c (Fprocess_send_region):
5169         * process.c (Fprocess_send_string):
5170         * process.c (exec_sentinel):
5171         * process.c (Fset_process_sentinel):
5172         * process.c (Fprocess_sentinel):
5173         * process.c (status_notify):
5174         * process.c (Fprocess_status):
5175         * process.c (Fprocess_exit_status):
5176         * process.c (process_send_signal):
5177         * process.c (Fprocess_send_eof):
5178         * process.c (deactivate_process):
5179         * process.c (remove_process):
5180         * process.c (Fdelete_process):
5181         * process.c (kill_buffer_processes):
5182         * process.c (Fprocess_kill_without_query):
5183         * process.c (Fprocess_kill_without_query_p):
5184         * rangetab.c:
5185         * rangetab.c (Fget_range_table):
5186         * rangetab.c (Fput_range_table):
5187         * rangetab.c (Fremove_range_table):
5188         * rangetab.c (Fclear_range_table):
5189         * search.c:
5190         * search.c (Fskip_chars_forward):
5191         * search.c (Fskip_chars_backward):
5192         * search.c (Fskip_syntax_forward):
5193         * search.c (Fskip_syntax_backward):
5194         * search.c (search_command):
5195         * search.c (Freplace_match):
5196         * search.c (Fregexp_quote):
5197         * select.c (Fown_selection_internal):
5198         * select.c (Fselection_owner_p):
5199         * select.c (Fselection_exists_p):
5200         * select.c (Fget_selection_internal):
5201         * specifier.c:
5202         * symbols.c:
5203         * symbols.c (Fintern):
5204         * symbols.c (Fintern_soft):
5205         * symbols.c (Funintern):
5206         * symbols.c (Fapropos_internal):
5207         * symbols.c (Fset_default):
5208         * syntax.c:
5209         * syntax.c (Fsyntax_table_p):
5210         * syntax.c (Fcopy_syntax_table):
5211         * syntax.c (Fset_syntax_table):
5212         * syntax.c (Fchar_syntax):
5213         * syntax.c (syntax_match):
5214         * syntax.c (Fmatching_paren):
5215         * syntax.c (Fforward_word):
5216         * syntax.c (scan_lists):
5217         * syntax.c (Fscan_lists):
5218         * syntax.c (Fscan_sexps):
5219         * syntax.c (Fparse_partial_sexp):
5220         * toolbar.c (Fcheck_toolbar_button_syntax):
5221         * tooltalk.doc:
5222         * window.c:
5223         * window.c (Fwindowp):
5224         * window.c (Fwindow_live_p):
5225         * window.c (Fwindow_point):
5226         * window.c (Fdelete_window):
5227         * window.c (Fnext_window):
5228         * window.c (Fprevious_window):
5229         * window.c (Fother_window):
5230         * window.c (window_loop):
5231         * window.c (Fget_lru_window):
5232         * window.c (Fsplit_window):
5233         * window.c (Fenlarge_window):
5234         * window.c (Fenlarge_window_pixels):
5235         * window.c (Fshrink_window):
5236         * window.c (Fshrink_window_pixels):
5237         * window.c (change_window_height):
5238         * window.c (Fwindow_configuration_p):
5239         * window.c (Fcurrent_window_configuration):
5240         * window.h:
5241         * casefiddle.c (casify_object):
5242         * casefiddle.c (Fupcase):
5243         * casefiddle.c (Fdowncase):
5244         * casefiddle.c (Fcapitalize):
5245         * casefiddle.c (Fupcase_initials):
5246         * casefiddle.c (casify_region_internal):
5247         * casefiddle.c (casify_region):
5248         * casefiddle.c (Fupcase_region):
5249         * casefiddle.c (Fdowncase_region):
5250         * casefiddle.c (Fcapitalize_region):
5251         * casefiddle.c (Fupcase_initials_region):
5252         * casefiddle.c (Fupcase_word):
5253         * casefiddle.c (Fdowncase_word):
5254         * casefiddle.c (Fcapitalize_word):
5255         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
5256         Replace 0 with '\0' when working with bytes.
5257         Replace initial "(" with "\(" in docstrings.
5258
5259 2000-11-01  Martin Buchholz  <martin@xemacs.org>
5260
5261         * config.h.in: Handle alloca with Compaq C on Alpha Linux.
5262
5263         * m/alpha.h: Let configure handle SYSTEM_MALLOC on Linux.
5264
5265 2000-10-31  Martin Buchholz  <martin@xemacs.org>
5266
5267         * eldap.c (print_ldap): 64-bit cleaner.  Fixes warning.
5268
5269 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
5270
5271         * doprnt.c (emacs_do_prnt_1): Format (format "%01.2d" 10)
5272         correctly.
5273
5274 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
5275
5276         * fileio.c (Vauto_save_list_file_prefix): Moved from startup.el.
5277         (inhibit_auto_save_session): New variable.
5278         (vars_of_fileio): Declare and initialize them.
5279         * fileio.c (Fdo_auto_save): Don't create session file if
5280         Vinhibit_auto_save_session or Vauto_save_list_file_prefix is non-nil.
5281
5282 2000-10-31  Martin Buchholz  <martin@xemacs.org>
5283
5284         * sgiplay.c (play_internal): C++ compilability.
5285         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Remove unused var `SFTB_prev'.
5286         * callproc.c (Fold_call_process_internal):
5287         Remove unused vars `env', `first'.
5288         * scrollbar.c (update_scrollbar_instance):
5289         #### unused var `current_window'.
5290         * redisplay-tty.c: Put currently unused vars insert_mode_on,
5291         etc. within #ifdef NOT_YET.
5292         * emacs.c: #### unused vars `initial_argc', `initial_argv'.
5293         * dialog-x.c (dbox_descriptor_to_widget_value): ### unused var `title'.
5294         * specifier.c (specifier_instance):
5295         #### unused var `tag'.
5296         Use WINDOW_BUFFER, FRAME_DEVICE instead of their expansion.
5297
5298 2000-10-27  Martin Buchholz  <martin@xemacs.org>
5299
5300         * fns.c (Fbutlast):
5301         * fns.c (list_sort):
5302         * fns.c (Ffillarray):
5303         * fns.c (bytecode_nconc2):
5304         * fns.c (Fnconc):
5305         * fns.c (mapcar1):
5306         * fns.c (Fmapconcat):
5307         Be pedantically 64-bit correct.  For the time when someone will
5308         want to have a list with length > 2**32.
5309
5310         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
5311         Work around MIPSpro compiler bug.
5312
5313         * process-unix.c (unix_kill_child_process): Add snarky comment.
5314         * process-unix.c (try_to_initialize_subtty):  Oops, `=' ==> `=='
5315
5316         * config.h.in: Oops, _getpt ==> _getpty
5317
5318 2000-10-26  Martin Buchholz  <martin@xemacs.org>
5319
5320         * config.h.in:
5321         * regex.c:
5322         Use void*, not char*, as return type of alloca().
5323
5324         * alloc.c (free_marker): Side effect inside assert expression!
5325
5326 2000-10-16  MIYASHITA Hisashi  <himi@m17n.org>
5327
5328         * mule-charset.c (Fset_charset_ccl_program): To check
5329         if the given ccl program is valid, use setup_ccl_program()
5330         instead of CHECK_VECTOR().
5331         (Fmake_charset): Likewise.
5332
5333 2000-10-20  Golubev I. N.  <gin@mo.msk.ru>
5334
5335         * faces.c (get_extent_fragment_face_cache_index):
5336         Fix cachel.merged_faces memory leak.
5337
5338 2000-10-14  MIYASHITA Hisashi  <himi@m17n.org>
5339
5340         * mule-ccl.c (ccl_driver)<CCL_DECODE_SJIS>:
5341         Reset MSB of octets obtained by DECODE_SJIS
5342         because of the incompatibility with Emacs.
5343         (ccl_driver)<CCL_ENCODE_SJIS>:
5344         Set MSB of octets before passing them to
5345         ENCODE_SJIS because of the incompatibility
5346         with Emacs.
5347
5348 2000-10-18   Daiki Ueno  <ueno@unixuser.org>
5349
5350         * lrecord.h (DECLARE_TYPECHECK_LRECORD): Abolish.
5351         (DECLARE_LRECORD): Undo the last change.
5352         (DECLARE_EXTERNAL_LRECORD): Expand typechecking stuff.
5353
5354 2000-10-17   Daiki Ueno  <ueno@unixuser.org>
5355
5356         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Connect
5357         the implementation to lrecord_implementations_table.
5358
5359 2000-10-14   Daiki Ueno  <ueno@unixuser.org>
5360
5361         * lrecord.h (MAKE_EXTERNAL_LRECORD_IMPLEMENTATION): Don't set the
5362         initial value of `lrecord_type_##c_name' and
5363         `lrecord_##c_name.lrecord_type_index'; discard "const" qualifier.
5364         (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): New macro.
5365         [ERROR_CHECK_TYPECHECK] (DECLARE_TYPECHECK_LRECORD): New macro.
5366         [ERROR_CHECK_TYPECHECK] (DECLARE_LRECORD): Use it.
5367         [ERROR_CHECK_TYPECHECK] (DECLARE_EXTERNAL_LRECORD): Use it.
5368
5369 2000-10-17  Martin Buchholz  <martin@xemacs.org>
5370
5371         * miscplay.c (sndcnv8S_2mono):
5372         (sndcnv2monounsigned):
5373         (sndcnvULaw_2linear):
5374         (sndcnv16swap):
5375         Remove implementation-defined behavior.
5376
5377 2000-10-12  Martin Buchholz  <martin@xemacs.org>
5378
5379         * input-method-xlib.c: Warning suppression.
5380
5381 2000-10-05  MIYASHITA Hisashi  <himi@m17n.org>
5382
5383         * mule-ccl.c: Sync up with Emacs 21.0.90.
5384         (ccl_driver)<CCL_TranslateCharacter>: Disabled.
5385         Do nothing.
5386         (ccl_driver)<CCL_TranslateCharacterConstTbl>:
5387         Likewise.
5388         (ccl_driver[WriteMultibyteChar2]): Bug fix.
5389         Use MAX_LEADING_BYTE_OFFICIAL_2 instead of
5390         MIN_LEADING_BYTE_OFFICIAL_2 to check whether the
5391         leading char belongs to official 2-dimensional charset.
5392         (CCL_WRITE_CHAR): When CCL_MODE_ENCODING,
5393         write the given character as is.  Otherwise,
5394         if it is a multibyte char, convert it by
5395         non_ascii_set_charptr_emchar, then write it.
5396         (CCL_WRITE_STRING): Likewise.
5397         (ccl_get_compiled_code): New function.
5398         (setup_ccl_program): When ccl_prog is invalid,
5399         return -1.
5400         (Fregister_code_conversion_map): New function.
5401         (syms_of_mule_ccl): defsubr Fregister_code_conversion_map.
5402
5403         * mule-ccl.h: Sync up with Emacs 21.0.90.
5404         (Fregister_ccl_program): export it.
5405
5406         * redisplay-msw.c (separate_textual_runs):
5407         If ccl program is not valid, don't do ccl conversion.
5408
5409         * redisplay-x.c (separate_textual_runs): Ditto.
5410
5411         * file-coding.c (Fmake_coding_system):
5412         When type is ccl and value is vector, register it
5413         with a proper symbol.  And checks whether the
5414         given ccl program is valid.
5415         (mule_decode): When calling ccl_driver, if src indicates
5416         NULL pointer, set an empty string instead.
5417         (mule_encode): Likewise.
5418
5419 2000-10-11  Martin Buchholz  <martin@xemacs.org>
5420
5421         The following large batch of changes gets us back to a state of
5422         C++ compilability.  Extbyte is now a char, which means that
5423         Extbyte * and Bufbyte * cannot be freely interchanged - a win!
5424
5425         * tooltalk.c (Fset_tooltalk_message_attribute): Type correctness.
5426
5427         * sound.c (Fplay_sound): Type correctness.
5428
5429         * select-x.c (hack_motif_clipboard_selection): Type correctness.
5430         (x_get_window_property): Type correctness.
5431         (receive_incremental_selection): unsigned char ==> Extbyte
5432         (selection_data_to_lisp_data): unsigned char ==> Extbyte
5433         (Fx_get_cutbuffer_internal): unsigned char ==> Extbyte
5434         (Fx_store_cutbuffer_internal): Type correctness.
5435
5436         * process-unix.c (try_to_initialize_subtty): Type correctness.
5437
5438         * objects-x.c (x_print_color_instance): Type correctness.
5439         (x_print_font_instance): Type correctness.
5440         (x_list_fonts): SExtbyte ==> Extbyte.
5441         (valid_x_font_name_p): SExtbyte ==> Extbyte.
5442         (x_find_charset_font): SExtbyte ==> Extbyte.
5443         Use TO_INTERNAL_FORMAT.  build_string ==> make_string.
5444         (truename_via_XListFonts): SExtbyte ==> Extbyte.
5445         (x_font_instance_properties): Use TO_INTERNAL_FORMAT.
5446         Use bufbyte_strcmp.
5447
5448         * mule-charset.h (LEADING_BYTE_PREFIX_P): unsigned char ==> Bufbyte
5449         (PRIVATE_LEADING_BYTE_PREFIX): Add paranoia cast.
5450         (BYTE_ASCII_P): Use bit ops for char-signedness safety.
5451         (BYTE_C0_P): Use bit ops for char-signedness safety.
5452         (BYTE_C1_P): Use bit ops for char-signedness safety.
5453         (CHARSET_BY_LEADING_BYTE):
5454         (CHARSET_BY_ATTRIBUTES):
5455         Always use inline function.
5456         Use type_checking_assert.
5457         Hide chlook.
5458
5459         * mule-charset.c (non_ascii_charptr_copy_char):
5460         Modify to work with both ASCII and non-ASCII characters.
5461         Improve docs and variable names.
5462         Replace over-clever fall-through switch with a simple loop.
5463         (Lstream_get_emchar_1):
5464         Replace over-clever fall-through switch with a simple loop.
5465
5466         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
5467         Warning suppression.
5468
5469         * lstream.h (Lstream_get_emchar): BYTE_ASCII_P cannot be used on
5470         the return value of Lstream_getc, which could be EOF as well.
5471
5472         * lstream.c (Lstream_raw_read): Now returns ssize_t, not int.
5473
5474         * lisp.h: Make Extbyte a char, not unsigned char, so that external
5475         APIs can be used on Extbytes without casts.  Risky!
5476         (SExtbyte): Remove.
5477         (UExtbyte): Remove.
5478
5479         * input-method-xlib.c (XIM_init_device):
5480         Use Xlib.h instead of IntrinsicP.h.
5481         Use HAVE_XREGISTERIMINSTANTIATECALLBACK instead of THIS_IS_X11R6,
5482         which will break in X11R7.
5483         Use XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE,
5484         to call XRegisterIMInstantiateCallback with correct types.
5485
5486         * gui-x.c (button_item_to_widget_value): Type correctness.
5487
5488         * glyphs.c (bitmap_to_lisp_data):  Type correctness.
5489
5490         * glyphs-x.c (pixmap_from_xbm_inline): Type correctness.
5491         (xbm_instantiate_1): Type correctness.
5492         (BUILD_GLYPH_INST):  Type correctness.
5493
5494         * fileio.c (Fsubstitute_in_file_name): Type correctness.
5495
5496         * file-coding.c:
5497         (decode_coding_sjis):
5498         (decode_coding_big5):
5499         (decode_coding_ucs4):
5500         (decode_coding_utf8):
5501         (decode_coding_iso2022):
5502         (decode_coding_no_conversion):
5503         Make all decoding functions take an Extbyte * arg.
5504         (encode_coding_sjis):
5505         (encode_coding_big5):
5506         (encode_coding_ucs4):
5507         (encode_coding_utf8):
5508         (encode_coding_iso2022):
5509         (encode_coding_no_conversion):
5510         Make all encoding functions take a Bufbyte * arg.
5511         Use size_t instead of unsigned int for memory sizes.
5512         Only cast to unsigned char whenever dereferencing Extbyte *.
5513
5514         * doc.c (unparesseuxify_doc_string): Type correctness.
5515
5516         * console-x.c (split_up_display_spec):
5517         Rewrite without using details of internal string representation.
5518         (x_semi_canonicalize_device_connection): Type correctness.
5519
5520         * config.h.in:
5521         (HAVE_XREGISTERIMINSTANTIATECALLBACK): New.
5522         (XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE): New.
5523         (HAVE_XFREE386): Removed.
5524
5525         * buffer.h (DEC_CHARPTR): `const' correctness.
5526         (bufbyte_strcmp): New.
5527         (bufbyte_memcmp): New.
5528
5529         * buffer.c (dfc_convert_to_internal_format): Extbyte ==> Bufbyte
5530
5531         * buffer.h (XCHAR_OR_CHAR_INT):
5532         Always use inline function.
5533         Remove redundant type checking assert() - XINT will abort quite nicely.
5534
5535 2000-10-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
5536
5537         * search.c (Freplace_match): Set newtext to an empty string.
5538
5539 2000-10-10  Martin Buchholz  <martin@xemacs.org>
5540
5541         * s/decosf1-3.h: Remove #include of stropts.h
5542         * s/ptx.h: Remove #include of stropts.h
5543         * s/usg5-4.h: Remove #include of stropts.h
5544         * sysproc.h:
5545         * config.h.in:
5546         Use stropts.h, not sys/stropts.h.
5547         Use strtio.h, not sys/strtio.h.
5548
5549 2000-10-04  Martin Buchholz <martin@xemacs.org>
5550
5551         * XEmacs 21.2.36 is released.
5552
5553 2000-09-21  Andy Piper  <andy@xemacs.org>
5554
5555         * glyphs-x.c (x_redisplay_widget): make sure non-structural
5556         changes still involve copying the widget tree.
5557         (update_widget_face): make sure a change is register in the widget
5558         tree. Call update_tab_widget_face appropriately.
5559         (update_tab_widget_face): ditto.
5560         (x_tab_control_redisplay): make sure non-structural changes still
5561         involve copying the widget tree.
5562
5563 2000-08-31   Daiki Ueno  <ueno@unixuser.org>
5564
5565         * lread.c (locate_file): Check the path element is non-nil.
5566
5567 2000-10-02  Martin Buchholz  <martin@xemacs.org>
5568
5569         * lisp.h: Warning suppression for SCO compilers.
5570
5571         * redisplay-tty.c (reset_tty_modes): Fix crash.
5572         E.g. from xemacs running on X: (delete-device (make-device 'tty nil))
5573
5574 2000-09-27  Martin Buchholz  <martin@xemacs.org>
5575
5576         Big signal/process handling overhaul.  Bugs fixed:
5577         M-x shell, type `sleep 10000', M-x comint-interrupt-subjob and
5578         M-x comint-kill-subjob should work for both values nil and t of
5579         process-connection-type. It was broken on most platforms.
5580         Testing on Irix and Cygwin still needed.  Other plaforms tested.
5581         * sysdep.c: Move #include of stropts.h into sysproc.h.  Use pid_t.
5582         * process-unix.c: Signal/Process handling overhaul.
5583         (pty_name): make 64 bytes, as `expect' does, for paranoia.
5584         (allocate_pty): Use all available modern methods of allocating
5585         ptys, falling back to old style BSD allocation as a last resort.
5586         Use allegedly more secure Unix98 pty allocation by default.
5587         (allocate_pty_the_old_fashioned_way): New. the last resort.
5588         (unix_create_process): Push ptem, ldterm, ttcompat where
5589         available.  Autoconfiscate.
5590         (try_to_initialize_subtty): New.
5591         (unix_kill_child_process): Proper signal handling for ptys on most
5592         platforms, using special knowledge of AIX, BSD, etc...
5593         (unix_create_process): Always disconnect_controlling_terminal() for
5594         subprocesses, whether using ptys or not.
5595         * process.h: Remove old getpt-dependent PTY code.
5596         * process.c (Fprocess_send_signal): New, obvious generic function.
5597         (decode_signal): New.
5598         (Finterrupt_process):
5599         (Fkill_process):
5600         (Fquit_process):
5601         (Fstop_process):
5602         (Fcontinue_process):
5603         (Fsignal_process): Use decode_signal.
5604         (process_send_signal):
5605         Many docstring corrections.
5606         Allow any signal to be sent to a process object.
5607         * config.h.in: Add symbols for big signal/process overhaul.
5608         * syssignal.h (EMACS_KILLPG): Use HAVE_KILLPG. Use `pid', not `gid'.
5609         * sysproc.h: Include process-related headers, where available:
5610         sys/stropts.h sys/strtio.h pty.h libutil.h
5611         * s/irix4-0.h:
5612         * s/irix5-0.h:
5613         * s/cygwin32.h:
5614         * s/gnu.h:
5615         * s/linux.h:
5616         * s/hpux.h:
5617         * s/aix3-1.h:
5618         Remove old S&M pty stuff.
5619         * console-tty.c (tty_init_console): Use pid_t, not int, for pids.
5620         * systty.h: Simplify cpp hackery, improve comments.
5621         Favor BSD ioctl(TIOCGPGRP) over Posix tcgetpgrp().
5622
5623         * editfns.c (Fformat_time_string):
5624         Be a little more paranoid with the return value of ctime.
5625
5626         * fileio.c (check_executable):
5627         (check_writable):
5628         Use symbolic constants X_OK, W_OK.
5629
5630         * console-x.c (split_up_display_spec): Fix a warning.
5631
5632 2000-10-02  Martin Buchholz  <martin@xemacs.org>
5633
5634         * gui-x.c (add_accel_and_to_external): strlen ==> XSTRING_LENGTH
5635         * ntproc.c (sys_spawnve): make_string ==> build_string
5636         Small clarity improvements.
5637
5638 2000-09-30  Martin Buchholz  <martin@xemacs.org>
5639
5640         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY): Warning removal.
5641
5642         * s/windowsnt.h (HAVE_STRCASECMP): Remove.
5643
5644         * config.h.in (HAVE_STRCASECMP): Remove.
5645
5646 2000-09-29  Martin Buchholz  <martin@xemacs.org>
5647
5648         * redisplay-output.c (redisplay_output_pixmap):
5649         Cleaner and possibly more 64-bit correct code.
5650
5651 2000-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
5652
5653         * dumper.c (pdump_load_finish): move restoration of
5654         `noninteractive1' to emacs.c (main_1).
5655         * emacs.c (main_1): protect LISP-visible command-line flags
5656         from pdump_load().
5657
5658 2000-09-26  Stephen J. Turnbull  <stephen@xemacs.org>
5659
5660         * Makefile.in.in (versionclean):  Use EXE_TARGET and
5661         DUMP_TARGET instead of literal program names.
5662
5663 2000-09-20  Martin Buchholz  <martin@xemacs.org>
5664
5665         * Makefile.in.in: Recent purify's require absolute paths for cache-dir.
5666
5667 2000-09-19  Martin Buchholz  <martin@xemacs.org>
5668
5669         * *: Spelling mega-patch
5670
5671 2000-09-19  Martin Buchholz  <martin@xemacs.org>
5672
5673         * fns.c (bad_bad_turtle):
5674         Delete "Eek!" comment, since we fixed the bug to which it refers.
5675
5676 2000-09-16  Martin Buchholz  <martin@xemacs.org>
5677
5678         * alloca.c: Replace REGISTER with register.
5679
5680 2000-09-16   Daiki Ueno  <ueno@unixuser.org>
5681
5682         * file-coding.c (ucs_to_char): Use countof.
5683
5684 2000-09-16  Martin Buchholz  <martin@xemacs.org>
5685
5686         * file-coding.c: (ucs_to_char):
5687         (complex_vars_of_file_coding):
5688         Use countof instead of sizeof.
5689         Use CHECK_NATNUM instead of CHECK_INT.
5690
5691         * sysdep.c (strcasecmp): Remove.
5692         * device-x.c (ascii_strcasecmp): New.
5693         * device-x.c (Fx_get_resource): Use ascii_strcasecmp.
5694         Avoid using non-standard non-portable strcasecmp.
5695
5696 2000-09-16  Martin Buchholz  <martin@xemacs.org>
5697
5698         * Makefile.in.in (mostlyclean): remove reference to prefix-args.
5699         * font-lock.c: remove reference to emacsfns.h.
5700         * search.c: small doc improvement.
5701         * event-Xt.c: correct file names in comments.
5702         * console-x.h Correct file names in comments.
5703         * frame.c: Correct file names in comments.
5704         * event-stream.c: remove Energize from comments.
5705
5706 2000-09-15  Martin Buchholz  <martin@xemacs.org>
5707
5708         * symeval.h (DEFERROR_STANDARD):
5709         (DEFERROR):
5710         (DEFSYMBOL):
5711         (DEFSYMBOL_NO_DUMP):
5712         (DEFSYMBOL_MULTIWORD_PREDICATE):
5713         (DEFSYMBOL_MULTIWORD_PREDICATE_NO_DUMP):
5714         (DEFKEYWORD):
5715         The construct &##name is not sensible C.
5716         Fixes compilation errors with Unixware native compiler.
5717
5718 2000-09-14  Martin Buchholz  <martin@xemacs.org>
5719
5720         * frame.c (device_matches_console_spec): no longer takes a `frame' arg
5721         (next_frame_internal): Removed.  We now just have next_frame.
5722         (next_frame):
5723         Write a simpler and cleaner one-pass algorithm.
5724         Remove called_from_delete_device arg and #ifdefed-out code.
5725         (previous_frame):
5726         Renamed from prev_frame.  Update callers.
5727         Cleaned up to have an analogous implementation to next_frame.
5728         (other_visible_frames_internal): Remove the
5729         called_from_delete_device bogus arg, and hence, remove this
5730         function.  Just use other_visible_frames().
5731
5732         * window.c (Fnext_window):
5733         Prettify docstring.
5734         Since next_frame() is guaranteed to return a frame, remove check
5735         for nil inserted in previous patch.
5736         (Fprevious_window):
5737         Prettify docstring.
5738         Make code look more like Fnext_window.
5739         (window_loop):
5740         Respect the `console' arg when iterating through windows.
5741         Fixes bug: (get-buffer-window buffer t device) not respecting
5742         the `device' arg.
5743         This function needs more work, as others have pointed out.
5744
5745         * frame.h: Rename prev_frame to previous_frame.
5746         device_matches_console_spec no longer takes a `frame' arg.
5747
5748         * s/gnu.h:
5749         * s/linux.h:
5750         * s/hpux.h:
5751         Use EMACS_BLOCK_SIGNAL instead of sigblock.
5752         From "Golubev I. N." <gin@mo.msk.ru>.
5753
5754         * make-src-depend: Fix typo.
5755
5756 2000-09-13  Martin Buchholz  <martin@xemacs.org>
5757
5758         * window.c (Fnext_window):
5759         next_frame() might return nil, not a frame.
5760         Fixes this crash:
5761         (gdb) run -eval '(progn  (make-device (quote x) "polgar:0") (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
5762
5763         * frame.c (next_frame_internal):
5764         We've passed a frame if we've passed its device.
5765         Fixes this crash:
5766         (gdb) run -eval '(progn (make-frame nil (make-device (quote x) "polgar:0")) (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
5767 Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245, RECORD_TYPEP (obj, lrecord_type_frame)
5768
5769 2000-09-11  Jonathan Harris  <jhar@tardis.ed.ac.uk>
5770
5771         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
5772         Allow option to suppress accelerators in menu/dialog items.
5773         (populate_or_checksum_helper): Pass dialog title through above.
5774
5775 2000-09-10  Jonathan Harris  <jhar@tardis.ed.ac.uk>
5776
5777         * event-msw.c (mswindows_key_to_emacs_keysym):
5778         Add "pause" key, fix "menu" key.
5779
5780 2000-09-09  Martin Buchholz  <martin@xemacs.org>
5781
5782         * eval.c (reinit_vars_of_eval):
5783         Increase max_lisp_eval_depth to 1000,
5784         required for thai-xtis.el to byte-compile under some circumstances.
5785
5786 2000-09-04  Martin Buchholz  <martin@xemacs.org>
5787
5788         * event-Xt.c (x_to_emacs_keysym): Increase size of `buffer' to 513.
5789         From Kenichi Handa.
5790
5791 2000-09-01  Martin Buchholz  <martin@xemacs.org>
5792
5793         * make-src-depend: Make the generated Makefiles smaller.
5794
5795         * s/hpux.h (SETUP_SLAVE_PTY):
5796         Provide a %d in the format string for the errno argument.
5797
5798         * editfns.c (Ftemp_directory):
5799         Warning fix.
5800         Avoid buffer overrun on very long file name.
5801
5802         * input-method-xlib.c (XIM_init_device):
5803         6th parameter of XRegisterIMInstantiateCallback has different
5804         pointer types on different OSes, so simply cast to (void *).
5805
5806         * unexhp9k800.c: Warning fixes.  Fiddly changes.
5807
5808         * sysdll.c (dll_open):
5809         shl_load will hang hard if passed a NULL filename.
5810         Simply return NULL for compatibility with dlopen.
5811         * sysdll.c: Conform to XEmacs coding standards.
5812
5813         * sysdep.c (get_pty_max_bytes):
5814         Support pty input lines longer than 512 bytes on HP-UX 10.20.
5815
5816 2000-08-31  Martin Buchholz  <martin@xemacs.org>
5817
5818         * tooltalk.c: Add #include <syssignal.h>
5819
5820 2000-08-12  Alexandre Oliva  <aoliva@redhat.com>
5821
5822         * s/hpux.h: Don't use undefined function sigunblock().
5823
5824 2000-08-31  Martin Buchholz  <martin@xemacs.org>
5825
5826         * config.h.in: Add HAVE_BALLOON_HELP.
5827         * emacs.c: Use HAVE_BALLOON_HELP.
5828         * Makefile.in.in (x_objs):
5829         Make Balloon Help conditional on finding shape.h.
5830
5831 2000-08-23  Yoshiki Hayashi  <yoshiki@xemacs.org>
5832
5833         * syntax.c (regex_emacs_buffer_p): New variable.
5834         * syntax.h (regex_emacs_buffer_p): extern.
5835         * search.c (looking_at_1):
5836         (string_match_1):
5837         (fast_string_match):
5838         (search_buffer): Set regex_emacs_buffer_p.
5839         * regex.c (re_match_2_internal): Reference regex_emacs_buffer_p
5840         when before_dot, at_dot, after_dot.
5841
5842 2000-08-23  Andy Piper  <andy@xemacs.org>
5843
5844         * gui-x.c (popup_selection_callback): Only set action_occurred
5845         when we really have an image instance.
5846         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
5847
5848 2000-08-23  Andy Piper  <andy@xemacs.org>
5849
5850         * gui-msw.c (mswindows_handle_gui_wm_command): set
5851         action_occurred.
5852         * gui-x.c (popup_selection_callback): ditto.
5853
5854         * glyphs.h (IMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): new accessor.
5855         (XIMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): ditto.
5856         (struct Lisp_Image_Instance): add action_occurred flag.
5857
5858         * glyphs.c (redisplay_subwindow): use action_occurred flag.
5859         (image_instance_changed): ditto.
5860         (reset_frame_subwindow_instance_cache): only unmap windows - do
5861         not remove them from the cache also.
5862
5863         * glyphs-widget.c (tab_control_update): better debug.
5864         (progress_gauge_update): ditto.
5865         (layout_update): ditto.
5866         (layout_instantiate): ditto.
5867         (tab_control_order_only_changed): cope with null pending items.
5868
5869         * glyphs-msw.c (mswindows_tab_control_redisplay): add better
5870         debug. Force selection of an item when an action occurred. Cope
5871         with null pending_items.
5872         (mswindows_progress_gauge_redisplay): better debug.
5873         * glyphs-x.c (x_tab_control_redisplay): ditto.
5874
5875         * redisplay.c (redisplay_frame): reset the frame cache if the
5876         frame is garbaged.
5877
5878         * window.c (Fset_window_configuration): potentially re-enable
5879         frame cache reset.
5880         (window_unmap_subwindows): need to finalize instances here since
5881         it is only used in mark_window_as_deleted.
5882
5883 2000-08-22  Stephen J. Turnbull  <stephen@xemacs.org>
5884
5885         * nas.c (SndOpenDataForReading):
5886         nas.c (WaveOpenDataForReading):
5887         nas.c (readChunk): {BIG,LITTLE}_ENDIAN -> NAS_{BIG,LITTLE}_ENDIAN.
5888         Somehow escaped from the 2000-08-14 patch.
5889
5890 2000-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
5891
5892         * nas.c:  Preprocessor trickery to use NAS_LITTLE_ENDIAN instead
5893         of LITTLE_ENDIAN (conflicts with glibc, at least) in NAS <= 1.2p5.
5894
5895 2000-08-21  Andy Piper  <andy@xemacs.org>
5896
5897         * glyphs-x.c (x_map_subwindow): Minor optimization - only map the
5898         window if it is not already displayed.
5899
5900         * glyphs-msw.c (mswindows_map_subwindow): only map the window if
5901         it is not already displayed.
5902
5903         * window.c (Fset_window_configuration): don't reset the frame
5904         cache.
5905
5906         * glyphs.c (unmap_subwindow_instance_cache_mapper): only remove
5907         instances from the frame cache if we are actually finalizing them.
5908         (reset_frame_subwindow_instance_cache): reset frame cache only
5909         after unmapping everything.
5910         (map_subwindow): set displayed flag after mapping.
5911
5912 2000-08-21  Martin Buchholz  <martin@xemacs.org>
5913
5914         * data.c (indirect_function):
5915         Rename ERRORP to non-misleading VOID_FUNCTION_ERRORP.
5916
5917         * eval.c (function_argcount):
5918         Use original function when signaling errors.
5919
5920 2000-08-18  Andy Piper  <andy@xemacs.org>
5921
5922         * frame.c (delete_frame_internal): use new
5923         free_frame_subwindow_instances name.
5924
5925         * glyphs-msw.c (mswindows_tab_control_instantiate): verify index.
5926         (add_tab_item): make return type correct.
5927         (mswindows_tab_control_instantiate): assert index of tab.
5928         (mswindows_tab_control_redisplay): Re-code to use
5929         gui_item_equal_sans_selected and gui_item_list_find_selected.
5930
5931         * glyphs-widget.c (tab_control_update): Correct comment.
5932
5933         * window.c (window_unmap_subwindows): use new
5934         unmap_subwindow_instance_cache_mapper.
5935         (window_unmap_subwindows_cache_mapper): deleted.
5936         (Fset_window_configuration): comparisons should now be with
5937         EQ. Preserve the subwindow instance cache across configuration
5938         changes.
5939         (allocate_window): ditto.
5940         (make_dummy_parent): ditto.
5941
5942         * glyphs.c (free_frame_subwindow_instances): rename from
5943         free_frame_subwindow_instance_cache. finalize all instances rather
5944         than just those in the display cache.
5945         (finalize_all_subwindow_instances): walk windows unmapping and
5946         finalizing subwindows.
5947         (unmap_subwindow_instance_cache_mapper): moved from
5948         window.c. Allow finalization as well as unmapping.
5949
5950         * gui.c (gui_item_list_find_selected): new function.
5951
5952         * gui.h (gui_item_list_find_selected): declare.
5953
5954         * glyphs-x.c (x_tab_control_redisplay): pick tab
5955         explicitly. Re-code to use gui_item_equal_sans_selected and
5956         gui_item_list_find_selected.
5957
5958         * glyphs-x.h: add lwlib-utils.h
5959
5960         * buffer.c (Frecord_buffer): undo previous change.
5961
5962 2000-08-09  Vin Shelton  <acs@xemacs.org>
5963
5964         * config.h.in, s/gnu.h, s/hpux.h, s/linux.h: Use UNIX98 PTYs if
5965         possible.  Create temporary files more securely.  The patch was
5966         generated by Torsten Duwe <duwe@caldera.de>, Florian Weimer
5967         <Florian.Weimer@RUS.Uni-Stuttgart.DE> and Olaf Kirch.  See
5968         http://www.xemacs.org/list-archives/xemacs-patches/200007/msg00123.html
5969         for details.
5970
5971 2000-08-07  Ben Wing  <ben@xemacs.org>
5972
5973         * getloadavg.c: remove duplicate (and windows-breaking)
5974         includes of fcntl.h and sys/file.h.
5975
5976         * nt.c: remove duplicate getloadavg() definition.
5977
5978         * sysdll.h (Qdll_filename_encoding): add missing stand-in
5979         encodings.
5980
5981 2000-08-07  Gunnar Evermann  <ge204@eng.cam.ac.uk>
5982
5983         * eval.c (function_argcount): If function needs to be autoloaded
5984         actually use the loaded definition.
5985         GCPRO function.
5986
5987 2000-08-05  Ben Wing  <ben@xemacs.org>
5988
5989         * getloadavg.c: add prototype for getloadavg().  remove
5990         duplicate WIN32_NATIVE/CYGWIN code (already in the middle
5991         of the code).  remove duplicate header includes.
5992
5993         * s\cygwin32.h, s\mingw32.h: remove stray NO_ARG_ARRAY.
5994
5995         * s\cygwin32.h, s\mingw32.h, m\windowsnt.h:
5996         don't define LOAD_AVE_TYPE/LOAD_AVE_CVT because we have no
5997         useful load average.
5998
5999         * alloc.c (reinit_alloc_once_early): removed references to
6000         VIRT_ADDR_VARIES, malloc_sbrk_used/free, and data-bytes-used/free.
6001         the lisp vars are the only things referencing the malloc_sbrk_*
6002         vars, and they were already if 0'd out.  these vars only exist
6003         in the older malloc.c, which is basically unused, and they're
6004         only for informational purposes.
6005
6006         * m\*.h: removed useless VIRT_ADDR_VARIES.
6007
6008         * m\powerpc.h: removed stray NO_ARG_ARRAY.
6009
6010 2000-04-26  IKEYAMA Tomonori  <tomonori@suiyokai.org>
6011
6012         * redisplay-msw.c (mswindows_output_dibitmap): Set foreground
6013         color if the image is a mono pixmap.
6014
6015 2000-07-30  Ben Wing  <ben@xemacs.org>
6016
6017         * Makefile.in.in (release):
6018         Remove stray @.
6019
6020         * buffer.c (directory_is_current_directory):
6021         * dired-msw.c (mswindows_get_files):
6022         * dired.c:
6023         * dired.c (Fdirectory_files):
6024         * dired.c (file_name_completion_stat):
6025         * dired.c (Ffile_attributes):
6026         [[[[1]]]]: Rename stat() -> xemacs_stat() and eliminate nasty
6027         preprocessor tricks, to avoid problems on some machines
6028         (e.g. SCO).
6029
6030         * callproc.c (egetenv): GC docs.
6031
6032         * console-msw.h:
6033         * console-msw.h (struct mswindows_dialog_id):
6034         * lrecord.h (lrecord_type):
6035         New object for use with MSW dialogs.
6036
6037         * console.h (struct console_methods):
6038         New enable/disable frame methods, for proper modal dialogs.
6039
6040         * device-msw.c (msprinter_default_printer): Fix to follow
6041         proper Mule conventions.
6042
6043         * device-msw.c:
6044         * device-msw.c (signal_open_printer_error):
6045         * device-msw.c (msprinter_init_device):
6046         * device-msw.c (ensure_not_printing):
6047         * device-msw.c (plist_get_margin):
6048         * device-msw.c (Fmsprinter_select_settings):
6049         * device-msw.c (finalize_devmode):
6050         * device-msw.c (Fmsprinter_settings_despecialize):
6051         * device-msw.c (signal_enum_priner_error):
6052         * extents.c (decode_extent):
6053         * extents.c (decode_map_extents_flags):
6054         * extents.c (decode_extent_at_flag):
6055         * extents.c (Fextent_at):
6056         * extents.c (Fextents_at):
6057         * extents.c (symbol_to_glyph_layout):
6058         [[[[2]]]] Use structured errors.
6059
6060         * dialog-msw.c:
6061         * dialog-msw.c (mswindows_is_dialog_msg):
6062         * dialog-msw.c (mark_mswindows_dialog_id):
6063         * dialog-msw.c (dialog_proc):
6064         * dialog-msw.c (handle_question_dialog_box):
6065         * dialog-msw.c (syms_of_dialog_mswindows):
6066         Define new object to clean up marking; use it as a dialog identifier.
6067         Call new delete-dialog-box-hook.
6068
6069         * dialog-x.c (dbox_selection_callback):
6070         * dialog-x.c (dbox_descriptor_to_widget_value):
6071         * dialog-x.c (x_make_dialog_box_internal):
6072         Call new delete-dialog-box-hook.
6073         Return an id.
6074
6075         * dialog.c:
6076         * dialog.c (syms_of_dialog):
6077         * dialog.c (vars_of_dialog):
6078         Define new delete-dialog-box-hook, for use w/modal dialog boxes.
6079
6080         * eval.c:
6081         * eval.c (signal_call_debugger):
6082         when noninteractive, output stack traces on the console instead
6083         of in a (never-seen) buffer.
6084
6085         * eval.c (signal_type_error):
6086         * eval.c (invalid_argument_2):
6087         * lisp.h:
6088         new funs for use w/structured errors.
6089
6090         * event-Xt.c:
6091         * event-Xt.c (x_to_emacs_keysym):
6092         * event-Xt.c (describe_event):
6093         * event-Xt.c (emacs_Xt_event_handler):
6094         * event-Xt.c (vars_of_event_Xt):
6095         * event-msw.c:
6096         * event-msw.c (mswindows_wnd_proc):
6097         * event-msw.c (vars_of_event_mswindows):
6098         rename {x,mswindows}-debug-events to debug-{}-events for
6099         consistency with other debug-foo variables.
6100
6101         * event-stream.c:
6102         document next-event more clearly.
6103
6104         * fileio.c (Ffile_name_directory):
6105         * fileio.c (Ffile_name_nondirectory):
6106         * fileio.c (Funhandled_file_name_directory):
6107         * fileio.c (file_name_as_directory):
6108         * fileio.c (Ffile_name_as_directory):
6109         * fileio.c (directory_file_name):
6110         * fileio.c (Fdirectory_file_name):
6111         * fileio.c (Fmake_temp_name):
6112         * fileio.c (Ffile_truename):
6113         * fileio.c (Fsubstitute_in_file_name):
6114         * fileio.c (expand_and_dir_to_file):
6115         * fileio.c (barf_or_query_if_file_exists):
6116         * fileio.c (check_executable):
6117         * fileio.c (Ffile_exists_p):
6118         * fileio.c (Ffile_writable_p):
6119         * fileio.c (Ffile_directory_p):
6120         * fileio.c (Ffile_regular_p):
6121         * fileio.c (Ffile_modes):
6122         * fileio.c (Ffile_newer_than_file_p):
6123         * fileio.c (Fverify_visited_file_modtime):
6124         * fileio.c (Fset_visited_file_modtime):
6125         * fileio.c (auto_save_1):
6126         (1). (2).
6127         fix up gcpro's.
6128
6129         * frame-msw.c:
6130         * frame-msw.c (mswindows_init_frame_1):
6131         * frame-msw.c (mswindows_enable_frame):
6132         * frame-msw.c (error_frame_unsizable):
6133         * frame-msw.c (msprinter_init_frame_1):
6134         * frame-msw.c (msprinter_init_frame_3):
6135         * frame-msw.c (console_type_create_frame_mswindows):
6136         (2).
6137         implement new enable/disable frame methods.
6138
6139         * frame-x.c:
6140         * frame-x.c (x_enable_frame):
6141         * frame-x.c (console_type_create_frame_x):
6142         implement new enable/disable frame methods.
6143
6144         * frame.c:
6145         * frame.c (Fdisable_frame):
6146         * frame.c (syms_of_frame):
6147         * frame.h (struct frame):
6148         implement new enable/disable frame methods/functions.
6149
6150         * general-slots.h:
6151         add initial-focus.
6152
6153         * glyphs-msw.c (mswindows_widget_instantiate):
6154         comment that initial-focus should be implemented.
6155
6156         * glyphs-widget.c:
6157         * glyphs-widget.c (check_valid_instantiator):
6158         * glyphs-widget.c (check_valid_orientation):
6159         * glyphs-widget.c (check_valid_tab_orientation):
6160         * glyphs-widget.c (check_valid_justification):
6161         * glyphs-widget.c (check_valid_border):
6162         * glyphs-widget.c (check_valid_callback):
6163         * glyphs-widget.c (check_valid_int_or_function):
6164         * glyphs-widget.c (check_valid_string_or_vector):
6165         * glyphs-widget.c (check_valid_item_list_1):
6166         * glyphs-widget.c (widget_validate):
6167         * glyphs-widget.c (combo_box_validate):
6168         * glyphs-widget.c (widget_instantiate):
6169         * glyphs-widget.c (syms_of_glyphs_widget):
6170         * glyphs-widget.c (VALID_WIDGET_KEYWORDS):
6171         * glyphs-widget.c (image_instantiator_combo_box):
6172         * glyphs-widget.c (image_instantiator_scrollbar):
6173         * glyphs-widget.c (image_instantiator_tab_control):
6174         * glyphs-widget.c (VALID_LAYOUT_KEYWORDS):
6175         (2).
6176         support (unimplemented) keyword initial-focus.
6177         reindent long macros.
6178
6179         * glyphs-x.c (x_redisplay_widget):
6180         * glyphs-x.c (x_button_instantiate):
6181         * glyphs-x.c (x_button_redisplay):
6182         * glyphs-x.c (x_progress_gauge_instantiate):
6183         * glyphs-x.c (x_edit_field_instantiate):
6184         * glyphs-x.c (x_combo_box_instantiate):
6185         * glyphs-x.c (x_tab_control_instantiate):
6186         * glyphs-x.c (x_label_instantiate):
6187         * gui-x.c:
6188         * gui-x.c (button_item_to_widget_value):
6189         * gui-x.c (gui_items_to_widget_values_1):
6190         * gui-x.c (gui_item_children_to_widget_values):
6191         * gui-x.c (gui_items_to_widget_values):
6192         * gui-x.h:
6193         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
6194         add new flag to gui-parsing routines to indicate whether
6195         accelerator specs should be supported.
6196
6197         * glyphs.c (syms_of_glyphs): use DEFSYMBOL.
6198
6199         * glyphs.h (struct Lisp_Image_Instance):
6200         * glyphs.h (IMAGE_INSTANCE_WANTS_INITIAL_FOCUS):
6201         add initial-focus flag.
6202
6203         * gui.c:
6204         * gui.c (syms_of_gui):
6205         * gui.c (vars_of_gui):
6206         clean up menu-no-selection-hook.
6207
6208         * gui.h:
6209         support delete-dialog-box-hook.
6210
6211         * lread.c (Fload_internal):
6212         * lread.c (locate_file_in_directory_mapper):
6213         (1).
6214
6215         * lrecord.h:
6216         * lrecord.h (struct toolbar_button):
6217         * lrecord.h (syms_of_toolbar):
6218         document how to create a new object.
6219
6220         * menubar-msw.c (mswindows_char_is_accelerator):
6221         may be called on frames w/o menus.
6222
6223         * menubar.c (vars_of_menubar):
6224         clean up :filter docs.
6225
6226         * nt.c (readdir):
6227         * ntproc.c:
6228         (1).
6229
6230         * process-nt.c:
6231         * process-nt.c (validate_signal_number):
6232         * process-nt.c (signal_cannot_launch):
6233         * process-nt.c (nt_create_process):
6234         * process-nt.c (nt_send_process):
6235         * process-nt.c (nt_kill_child_process):
6236         * process-nt.c (nt_open_network_stream):
6237         * process-nt.c (syms_of_process_nt):
6238         (2).
6239         delete quote-handling.  call new lisp code that does it better.
6240
6241         * process-unix.c (connect_to_file_descriptor):
6242         * process-unix.c (allocate_pty):
6243         * process-unix.c (unix_send_process):
6244         * process-unix.c (unix_kill_child_process):
6245         * process-unix.c (unix_open_network_stream):
6246         * process-unix.c (unix_open_multicast_group):
6247         (1). (2).
6248
6249         * process.c:
6250         * process.c (Fstart_process_internal):
6251         (2).  need to canonicalize process path even if absolute.
6252
6253         * select-msw.c (symbol_to_ms_cf):
6254         * select-msw.c (ms_cf_to_symbol):
6255         * select-msw.c (cf_is_autofreed):
6256         * select-msw.c (mswindows_destroy_selection):
6257         * select.c:
6258         * select.c (syms_of_select):
6259         * select.h:
6260         support dibv5, fix bugs. (from Mike Alexander)
6261
6262         * select.c (Fget_selection_internal):
6263         * select.c (select_convert_out):
6264
6265         * sysdep.c:
6266         * sysdep.c (xemacs_stat):
6267         renamed.
6268
6269         * sysdep.c (mkdir):
6270         * sysdep.c (rmdir):
6271         but keep original stat() here because we provide encapsulation
6272         around these funs.
6273
6274         * sysfile.h:
6275         * sysfile.h (fstat):
6276         remove stat garbage.
6277
6278         * syswindows.h:
6279         fix X/MSW conflict.
6280         don't include tchar.h.  it's inappropriate because it makes
6281         compile-time distinctions when we want runtime distinctions.
6282         (we provide our own tchar replacements)
6283
6284         * toolbar.c:
6285         use default object printer for toolbar-button.
6286
6287         * unexcw.c:
6288         make sure we don't encapsulate.
6289
6290         * window.c (vars_of_window):
6291         emphasize that temp-buffer-show-hook is obsolete.
6292
6293 2000-08-05  Martin Buchholz  <martin@xemacs.org>
6294
6295         * glyphs.c (image_instance_hash): HASH2 wants EMACS_INT args.
6296         (Fimage_instance_subwindow_id): make_int wants EMACS_INT arg.
6297
6298         * events.c (Fevent_timestamp_lessp):
6299         Not 64-bit clean.  Use EMACS_INT, not int.
6300
6301 2000-06-05  Andrew Begel <abegel@cs.berkeley.edu>
6302
6303         * lrecord.h (lrecord_types): Changed lrecord_type_count to an
6304         unsigned int and changed the last enum to
6305         lrecord_type_last_built_in_type.
6306         (lrecord_implementations_table): changed prototype to know how
6307         long the array is supposed to be.
6308         (lrecord_type_count): new unsigned int to keep track of the
6309         current number of lisp lrecord types.
6310         (DEFINE_EXTERNAL_LRECORD):
6311         (DECLARE_EXTERNAL_LRECORD): Added these two for external
6312         dynamic-modules to declare new lisp types. They are the same
6313         as the non-EXTERNAL forms, but declare an lrecord_type unsigned
6314         int for each new type, and increment lrecord_type_count by 1.
6315
6316         * alloc.c (lrecord_implementations_table): Changed to reference
6317         lrecord_type_last_built_in_type for the size of the array.
6318         Moved MODULE_DEFINABLE_TYPE_COUNT to lrecord.h.
6319
6320 2000-08-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
6321
6322         * glyphs.h (check_valid_item_list): Renamed from
6323         check_valid_item_list_1.
6324
6325 2000-08-01 Alastair J. Houghton <ajhoughton@lineone.net>
6326
6327         * select.c (Qselect_coerce): New.
6328         * select.c (Vselection_coercion_alist): New.
6329         * select.c (syms_of_select): Declare.
6330         * select.c (get-selection-internal): Use it.
6331         Use the new select-coerce functionality.
6332
6333         * select.c (select_coerce): New.
6334         * select.h (select_coerce): Declare.
6335         New function to coerce one type of data into another.
6336
6337 2000-08-03  Martin Buchholz  <martin@xemacs.org>
6338
6339         * callproc.c (Fcall_process_internal):
6340         (Fcall_process_internal):
6341         * process-unix.c (unix_create_process):
6342         Save and restore the value of errno, so that error messages are accurate.
6343
6344 2000-08-01  Martin Buchholz  <martin@xemacs.org>
6345
6346         * elhash.c (print_hash_table):
6347         Fix printing of hash tables to also use `key-and-value' instead of `t'.
6348         Prettify docstrings and indentation.
6349
6350 2000-07-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
6351
6352         * window.c (Fwindow_pixel_edges): Subtract frame border and
6353         gutter size.
6354
6355 2000-07-31  Andy Piper  <andy@xemacs.org>
6356
6357         * buffer.c (Frecord_buffer): make absolutely sure that redisplay
6358         will acknowledge the change.
6359
6360         * glyphs.h: declare tab_control_order_only_changed.
6361
6362         * glyphs-x.c (x_tab_control_redisplay): use
6363         tab_control_order_only_changed.
6364
6365         * glyphs-widget.c (tab_control_order_only_changed): new function.
6366
6367         * glyphs-msw.c (mswindows_tab_control_redisplay): use
6368         tab_control_order_only_changed.
6369
6370         * gui.c (gui_item_equal_sans_selected): new function.
6371         (gui_item_equal): use it.
6372
6373         * glyphs-msw.c (mswindows_combo_box_instantiate): deprecate
6374         :properties in favor of :items..
6375
6376         * glyphs-widget.c (check_valid_item_list): rename from
6377         check_valid_item_list_1.
6378         (check_valid_item_list_1): renamed.
6379         (combo_box_validate): deprecate :properties in favor of :items.
6380         (widget_instantiate): ditto.
6381         (tab_control_update): ditto.
6382         (image_instantiator_combo_box): ditto.
6383         (image_instantiator_tree_view): ditto.
6384         (image_instantiator_tab_control): ditto.
6385         (layout_post_instantiate): remove dead code.
6386
6387         * print.c (debug_print_no_newline): only write to debugger if in
6388         WIN32_NATIVE.
6389
6390         * elhash.c (Fmake_hash_table): update doc string.
6391
6392         * event-msw.c (mswindows_wnd_proc): don't allow processing of
6393         messages whilst in GC. This at least stops XEmacs crashing but has
6394         the potential for wierd behaviour.
6395
6396 2000-07-31  Martin Buchholz  <martin@xemacs.org>
6397
6398         * config.h.in:
6399         Make existence of s&m files optional.
6400
6401         * s/bsd386.h: Remove HAVE_GETLOADAVG.
6402         * s/freebsd.h: Remove HAVE_GETLOADAVG.
6403         * s/gnu.h: Remove HAVE_GETLOADAVG.
6404         * s/netbsd.h: Remove HAVE_GETLOADAVG.
6405         * s/sol2.h: Remove HAVE_GETLOADAVG.
6406         * lisp.h: Remove getloadavg() declaration.
6407         * fns.c:
6408         Include <sys/loadavg.h> if available.
6409         Don't declare our own getloadavg() if HAVE_GETLOADAVG.
6410         * config.h.in:  Group together getloadavg()-related macros.
6411         Use only configure-time tests to detect getloadavg().
6412
6413 2000-07-30  Martin Buchholz  <martin@xemacs.org>
6414
6415         * Makefile.in.in (TransientEmacsShell.o): Fix race condition.
6416
6417 2000-07-25  Andy Piper  <andy@xemacs.org>
6418
6419         * syswindows.h: add tchar.h for native builds.
6420
6421         * frame.c (syms_of_frame): remove set-glyph-image.
6422
6423         * general-slots.h: add Qset_glyph_image.
6424
6425         * glyphs-widget.c (layout_update): add domain arg to
6426         set-glyph-image.
6427         (syms_of_glyphs_widget): remove set-glyph-image.
6428
6429 2000-07-23  Ben Wing  <ben@xemacs.org>
6430
6431         * dialog-msw.c (vars_of_dialog_mswindows): need to staticpro
6432         Vpopup_frame_list.
6433
6434 2000-07-22  Andy Piper  <andy@xemacs.org>
6435
6436         * symsinit.h: add syms_of_win32().
6437
6438         * gui-msw.c (syms_of_gui_mswindows): remove
6439         Fmswindows_shell_execute.
6440         (Fmswindows_shell_execute): moved to win32.c.
6441
6442         * emacs.c (main_1): add syms_of_win32 ().
6443
6444         * win32.c (init_potentially_nonexistent_functions): rewrite in
6445         compiler-friendly terms.
6446         (Fmswindows_shell_execute): move here from gui-msw.c.
6447         (syms_of_win32): new.
6448
6449         * device-msw.c (Fmswindows_printer_list): clean up args to
6450         EnumPrinters.
6451         Don't include tchar under cygwin or mingw.
6452         (msprinter_default_printer): make cygwin-friendly.
6453
6454 2000-07-21  Andy Piper  <andy@xemacs.org>
6455
6456         * glyphs-widget.c (image_instantiator_tree_view): use tab
6457         control's update function.
6458         (layout_property): new function. Retrieve items.
6459
6460         * glyphs-msw.c (mswindows_tree_view_redisplay): new
6461         function. Re-populate the tree view from the pending items.
6462
6463         * glyphs.c (instantiate_image_instantiator): Make sure the domain
6464         is designated the parent if the domain is an image instance. This
6465         is needed so that dirtiness can be cascade up the hierarchy and
6466         thus for layout children to be redisplayed correctly.
6467         (allocate_image_instance): rename glyph -> parent.
6468
6469         * redisplay.h: change redisplay_output_layout signature.
6470
6471         * redisplay-msw.c (mswindows_output_display_block): use domain
6472         arg.
6473
6474         * redisplay-x.c (x_output_display_block): use domain arg.
6475
6476 2000-07-10  Andy Piper  <andy@xemacs.org>
6477
6478         * window.c (Fset_window_configuration): add comment.
6479
6480         * redisplay-output.c (compare_runes):
6481         (redisplay_output_subwindow): redisplay rather than update subwindow.
6482         (redisplay_output_layout): ditto.
6483
6484         * redisplay-msw.c (mswindows_frame_output_end):
6485         (mswindows_frame_output_end): make defer window pos optional.
6486
6487         * lisp.h: add Flast.
6488
6489         * glyphs.h (struct image_instantiator_methods): add dest_mask top
6490         normalize method. Change update method to be for changed
6491         instantiators. Add redisplay method. Change signature of layout
6492         method.
6493         (struct Lisp_Image_Instance): add instantiator.
6494         (IMAGE_INSTANCE_INSTANTIATOR): new.
6495         (IMAGE_INSTANCE_SUBWINDOW_FACE): new.
6496         (XIMAGE_INSTANCE_INSTANTIATOR): new.
6497         (XIMAGE_INSTANCE_SUBWINDOW_FACE): new.
6498
6499         * glyphs.c:
6500         (find_instantiator_differences): new function.
6501         (Fset_instantiator_property): new convenience function.
6502         (check_image_instance_structure): strictly check for vector
6503         instantiators.
6504         (normalize_image_instantiator): make non-static.
6505         (instantiate_image_instantiator): pass on dest_mask and use new
6506         signatures for image_instance_layout and friends.
6507         (mark_image_instance): mark the instantiator. Mark the subwindow
6508         face not the widget face.
6509         (image_instance_equal): add instantiator.
6510         (image_instance_hash): ditto.
6511         (allocate_image_instance): ditto.
6512         (Fset_image_instance_property): removed.
6513         (Fimage_instance_file_name): ditto.
6514         (Fcolorize_image_instance): ditto.
6515         (image_instance_layout): add offsets to be set.
6516         (update_image_instance): new function. update an image instance
6517         from its changed instantiator.
6518         (inherit_normalize): add dest_mask.
6519         (xbm_normalize): ditto.
6520         (xface_normalize): ditto.
6521         (xpm_normalize): ditto.
6522         (text_update): set_property -> update.
6523         (image_instantiate): use the glyph identity as a hash key, not the
6524         instantiator.
6525         (glyph_width): use new image_instance_layout signature.
6526         (glyph_ascent): ditto.
6527         (glyph_descent): ditto.
6528         (glyph_height): ditto.
6529         (glyph_query_geometry): ressurrect.
6530         (glyph_layout): ditto.
6531         (redisplay_subwindow): update -> redisplay.
6532         (syms_of_glyphs): add Fset_instantiator_property.
6533         (image_instantiator_format_create): set_property -> update.
6534
6535         * glyphs-x.c:
6536         (autodetect_normalize): add dest_maks to signature.
6537         (x_redisplay_subwindow): update -> redisplay.
6538         (x_redisplay_widget): ditto.
6539         (x_button_redisplay): ditto.
6540         (x_progress_gauge_redisplay): ditto.
6541         (x_tab_control_redisplay): ditto. Rewrite to cope with changed
6542         stacking order.
6543         (console_type_create_glyphs_x): update -> redisplay.
6544         (image_instantiator_format_create_glyphs_x): ditto.
6545
6546         * glyphs-widget.c:
6547         (check_valid_instantiator): disallow glyphs in the instantiator,
6548         they must now be vectors.
6549         (check_valid_instantiator_list): ditto.
6550         (glyph_instantiator_to_glyph): use internal symbol rather than
6551         intern.
6552         (widget_update): renamed from widget_set_property. Call cascaded
6553         update methods.
6554         (redisplay_widget): renamed from update_widget.
6555         (widget_layout): image_instance_layout now takes position as well
6556         as size.
6557         (widget_normalize): ditto.
6558         (widget_instantiate): ditto.
6559         (tab_control_query_geometry) ditto.:
6560         (tab_control_update): renamed from tab_control_set_property.
6561         (progress_gauge_update): set_property -> update.
6562         (layout_normalize): rewrite so that child instantiators are
6563         normalized also.
6564         (layout_update): new function. Create glyphs from the normalized
6565         children and cope with any other layout keywords. We do not
6566         instantiate children here that will be take care of by
6567         redisplay_output_layout.
6568         (layout_instantiate): call layout_update and not much else.
6569         (layout_post_instantiate): not sure whether this is needed
6570         anymore.
6571         (layout_query_geometry): query glyph geometry rather than
6572         image_instance geometry.
6573         (layout_layout): set offsets from pass in parameters. Use glyph
6574         geometry and layout functions rather than image instance ones.
6575         (native_layout_layout): ditto.
6576         (syms_of_glyphs_widget): add make-glyph and set-glyph-image.
6577         (image_instantiator_widget): set_property -> update.
6578         (image_instantiator_buttons): ditto.
6579         (image_instantiator_progress_guage): ditto.
6580         (image_instantiator_tab_control): ditto.
6581         (VALID_LAYOUT_KEYWORDS): instantiators must now be vectors.
6582         (image_instantiator_layout): add update method.
6583
6584         * glyphs-msw.c (bmp_normalize):
6585         (mswindows_resource_normalize): add dest_mask so that it can be
6586         proprogated by layout_normalize.
6587         (begin_defer_window_pos): make optional because it may not be the
6588         right thing to do and it introduces differences with X.
6589         (mswindows_unmap_subwindow): ditto.
6590         (mswindows_map_subwindow): ditto.
6591         (mswindows_redisplay_subwindow): renamed from
6592         mswindows_update_subwindow.
6593         (mswindows_redisplay_widget): ditto.
6594         (mswindows_button_redisplay): renamed from
6595         mswindows_button_update. Update is now what the instantiation
6596         function does for a changed instantiator.
6597         (mswindows_progress_gauge_instantiate): set the progress value
6598         here if appropriate.
6599         (mswindows_tab_control_redisplay): cope with re-ordering of the
6600         members of the tab widget by simply selecting the new top
6601         widget. This makes things appear ok if you click on a tab.
6602         (mswindows_combo_box_instantiate): image_instance_layout now takes
6603         position as well as size.
6604         (mswindows_progress_gauge_redisplay): renamed from
6605         mswindows_progress_gauge_update.
6606         (console_type_create_glyphs_mswindows): fix update -> redisplay.
6607         (image_instantiator_format_create_glyphs_mswindows): ditto.
6608
6609         * glyphs-eimage.c (jpeg_normalize):
6610         (gif_normalize):
6611         (png_normalize):
6612         (tiff_normalize): add dest_mask so that it can be proprogated by
6613         layout_normalize.
6614
6615         * elhash.c:
6616         (print_hash_table):
6617         (hash_table_weakness_validate):
6618         (decode_hash_table_weakness):
6619         (Fhash_table_weakness):
6620         (Fhash_table_type):
6621         (syms_of_elhash): use Ben's naming scheme for hashtable types..
6622
6623         * console.h (struct console_methods): move update_* to
6624         redisplay_*.
6625
6626 2000-07-20  Ben Wing  <ben@xemacs.org>
6627
6628         * *.[ch] (XSETOBJ): remove unused middle argument.
6629         lisp-disunion.h: correct wrap_object() to one argument.
6630
6631 2000-07-15  Ben Wing  <ben@xemacs.org>
6632
6633         * s/cygwin32.h:
6634         * s/cygwin32.h (CYGWIN_CONV_PATH):
6635         Add missing logb prototype for v1.1.
6636         Use post-b20 names and alias to pre-b20 names when pre-b20.
6637
6638         * s/windowsnt.h: [5].
6639
6640 2000-07-15  Ben Wing  <ben@xemacs.org>
6641
6642         * Makefile.in.in (x_objs):
6643         * Makefile.in.in (sheap_objs):
6644         * Makefile.in.in (objs):
6645         added win32.o, cosmetic cleanups.
6646
6647         * alloc.c (Fmake_byte_code):
6648         [[[1]]]: Changes for new LIST_LOOP, EXTERNAL_LIST_LOOP,
6649         etc. macros which declare their own args now.
6650
6651         * alloc.c (syms_of_alloc):
6652         [[[2]]]: Use DEFSYMBOL, DEFKEYWORD, DEFERROR and friends.
6653
6654         * buffer.c:
6655         Moved buffer-dedicated-frame, set-buffer-dedicated-frame into lisp.
6656
6657         * buffer.c (Fget_file_buffer):
6658         Fixed GCPRO problem.
6659
6660         * buffer.c (get_truename_buffer):
6661         Fixed comment about GC checking.
6662
6663         * buffer.c (syms_of_buffer):
6664         Undeclared those dedicated frame funs.
6665         [2].
6666
6667         * buffer.h:
6668         Define convenience macros for internal/external conversions.
6669         [[[3]]]: Define codesys aliases Qcommand_argument_encoding
6670         and Qenvironment_variable_encoding for cleaner code.
6671
6672         * bufslots.h:
6673         Remove dedicated-frame; in lisp.
6674
6675         * bytecode.c (funcall_compiled_function):
6676         [1].
6677
6678         * bytecode.c (syms_of_bytecode):
6679         [2].
6680
6681         * console-msw.c:
6682         * console-msw.c (mswindows_show_console): Rewrote.
6683
6684         * console-msw.c (Fmswindows_debugging_output): New.
6685         Sends to OutputDebugString (special MSWin debugger interface).
6686
6687         * console-msw.c (Fmswindows_message_box):
6688         Fixed stupid bugs so it works when called from kill-emacs.
6689
6690         * console-msw.c (syms_of_console_mswindows):
6691         Declare Fmswindows_debugging_output.
6692
6693         * console-msw.h:
6694         New MSWin prototypes.
6695
6696         * console-msw.h (struct mswindows_frame):
6697         New entry last-click-mods for improved button-modifier support.
6698
6699         * console-msw.h (FRAME_MSWINDOWS_POPUP):
6700         New struct entry `popup' with corresponding accessor.
6701
6702         * console-x.c:
6703         * console-x.c (split_up_display_spec):
6704         * console-x.c (get_display_arg_connection):
6705         * console-x.c (x_semi_canonicalize_console_connection):
6706         * console-x.c (x_canonicalize_device_connection):
6707         [[[6]]]: Change char to more specific type.
6708         [[[8]]]: Make use of abstracting codesys aliases defined in [3], [4];
6709
6710         * console-x.c (x_semi_canonicalize_console_connection):
6711         * console-x.c (x_canonicalize_device_connection):
6712         [[[9]]]: Fix up error signalling to use new structured error system.
6713
6714         * console-x.h:
6715         [[[4]]]: Define codesys aliases:
6716         Qlwlib_encoding, Qx_atom_name_encoding, Qx_font_name_encoding,
6717         Qx_color_name_encoding, Qx_display_name_encoding.
6718
6719         * console.h (struct console_methods):
6720         New method make_dialog_box_internal supersedes older
6721         popup_dialog_box method.
6722
6723         * data.c:
6724         Define many new errors, part of new structured errors.
6725
6726         * data.c (init_errors_once_early):
6727         * data.c (syms_of_data):
6728         [2].
6729
6730         * device-msw.c (mswindows_init_device):
6731         [[[5]]]: Cleanup to support NT 3.51.
6732
6733         * device-msw.c (decode_devmode): Cleanup.
6734
6735         * device-msw.c (mswindows_handle_print_setup_dialog_box):
6736         * device-msw.c (mswindows_handle_print_dialog_box):
6737         * device-msw.c (mswindows_handle_page_setup_dialog_box):
6738         * device-msw.c (syms_of_device_mswindows):
6739         Delete the dialog box primitives recently introduced by Kirill and
6740         instead interface to general dialog box interface.
6741
6742         * device-x.c:
6743         * device-x.c (compute_x_app_name):
6744         * device-x.c (x_init_device):
6745         * device-x.c (Fx_valid_keysym_name_p):
6746         * device-x.c (Fx_set_font_path):
6747         [6].
6748         [7].
6749
6750         * device.h (wrap_device): New.
6751         First of its kind; meant to replace XSETDEVICE.
6752
6753         * dialog-msw.c: Many file-dialog symbols.
6754
6755         * dialog-msw.c (mswindows_register_popup_frame): New.
6756         * dialog-msw.c (mswindows_is_dialog_msg): New.
6757         For supporting kbd traversal in dialog boxes.
6758
6759         * dialog-msw.c (dialog_proc):
6760         Support hitting ESC in dialogs.
6761
6762         * dialog-msw.c (struct):
6763         Common dialog box errors.
6764
6765         * dialog-msw.c (handle_file_dialog_box): New.
6766         Add file dialog code.
6767
6768         * dialog-msw.c (handle_question_dialog_box):
6769         Redo existing code to support new question dialog syntax.
6770
6771         * dialog-msw.c (console_type_create_dialog_mswindows):
6772         We support new dialog console method.
6773
6774         * dialog-msw.c (syms_of_dialog_mswindows):
6775         * dialog-msw.c (vars_of_dialog_mswindows):
6776         New file dialog symbols, vars.
6777
6778         * dialog-x.c:
6779         * dialog-x.c (maybe_run_dbox_text_callback):
6780         * dialog-x.c (dbox_descriptor_to_widget_value):
6781         * dialog-x.c (x_make_dialog_box_internal):
6782         * dialog-x.c (console_type_create_dialog_x):
6783         Mule-ize entire file.
6784         Redo to support question dialog syntax.
6785         [6].
6786
6787         * dialog.c:
6788         * dialog.c (Fmake_dialog_box_internal):
6789         * dialog.c (syms_of_dialog):
6790         Kill old popup-dialog-box, replace with new primitive.
6791         Just call device method or signal error.
6792
6793         * eldap.c (Fldap_open):
6794         * eldap.c (Fldap_search_basic):
6795         * eldap.c (Fldap_add):
6796         * eldap.c (Fldap_modify):
6797         [1].
6798         [7].
6799
6800         * emacs.c:
6801         * emacs.c (make_arg_list_1):
6802         * emacs.c (make_arg_list):
6803         Mule-ize call to dll_init().
6804         [6].
6805         [8].
6806
6807         * emacs.c (make_argc_argv):
6808         * emacs.c (free_argc_argv):
6809         * emacs.c (init_cmdargs):
6810         * emacs.c (main_1):
6811         * emacs.c (Fkill_emacs):
6812         * emacs.c (Fdump_emacs):
6813         Update comments about what can be used in syms_* etc.
6814         Call init_win32() when necessary.
6815         Fix up MS Win dialog box in kill-buffer to actually work right.
6816         [7].
6817
6818         * eval.c:
6819         * eval.c (For):
6820         * eval.c (Fand):
6821         * eval.c (Fprogn):
6822         * eval.c (Fprog1):
6823         * eval.c (Fprog2):
6824         * eval.c (FletX):
6825         * eval.c (Flet):
6826         * eval.c (condition_case_3):
6827         * eval.c (Feval):
6828         * eval.c (function_argcount):
6829         * eval.c (funcall_lambda):
6830         [1].
6831
6832         * eval.c (type_error): New.
6833         * eval.c (maybe_type_error): New.
6834         * eval.c (continuable_type_error): New.
6835         * eval.c (maybe_continuable_type_error): New.
6836         * eval.c (type_error_with_frob): New.
6837         * eval.c (maybe_type_error_with_frob): New.
6838         * eval.c (continuable_type_error_with_frob): New.
6839         * eval.c (maybe_continuable_type_error_with_frob): New.
6840         New functions for use with structured errors.
6841
6842         * event-Xt.c:
6843         * event-Xt.c (x_event_to_emacs_event):
6844         Buttons are now modifiers too.
6845
6846         * event-Xt.c (emacs_Xt_current_event_timestamp):
6847         Implement new event method.
6848         * event-Xt.c (reinit_vars_of_event_Xt): Set it.
6849
6850         * event-msw.c:
6851         * event-msw.c (ntpipe_shove_writer): [5].
6852         * event-msw.c (mswindows_enqueue_mouse_button_event):
6853         * event-msw.c (mswindows_drain_windows_queue):
6854         * event-msw.c (mswindows_wnd_proc): [7].
6855         * event-msw.c (mswindows_current_layout_has_AltGr): [5].
6856         * event-msw.c (mswindows_modifier_state):
6857         Throughout: support new button modifiers.
6858
6859         * event-msw.c (emacs_mswindows_current_event_timestamp):
6860         Implement new event method.
6861         * event-msw.c (reinit_vars_of_event_mswindows): Set it.
6862
6863         * event-stream.c:
6864         * event-stream.c (event_stream_current_event_timestamp): New.
6865         * event-stream.c (maybe_kbd_translate): New functionality.
6866         * event-stream.c (vars_of_event_stream):
6867         Document new kbd-translate-table functionality.
6868
6869         * event-stream.c (Fcurrent_event_timestamp): New.
6870         New primitive for use in fabricated events.
6871         * event-stream.c (syms_of_event_stream): [2]. Declare new primitive.
6872
6873         * events-mod.h (XEMACS_MOD_BUTTON1): new button modifiers.
6874
6875         * events.c:
6876         * events.c (Fmake_event):
6877         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY):
6878         [1].
6879         [9].
6880
6881         * events.c (format_event_object): fix gcc warnings.
6882
6883         * events.c (Fevent_timestamp): Document new primitives.
6884
6885         * events.c (TIMESTAMP_HALFSPACE): New.
6886
6887         * events.c (Fevent_timestamp_lessp): New.  New primitive for
6888         comparing timestamps correctly (half-space algorithm).
6889
6890         * events.c (Fevent_modifier_bits): Doc fix.
6891
6892         * events.c (Fevent_modifiers): Major doc addition.
6893         * events.c (event_x_y_pixel_internal): Typo fix.
6894         * events.c (syms_of_events): Declare new primitives.
6895
6896         * events.h:
6897         Update long comment for button modifiers, timestamps.
6898
6899         * events.h (struct event_stream):
6900         New current_event_timestamp method.
6901
6902         * extents.c:
6903         * extents.c (extent_in_region_p):
6904         * extents.c (decode_extent):
6905         * extents.c (Fset_extent_parent):
6906         * extents.c (decode_map_extents_flags):
6907         Fix gcc warnings.
6908         [9].
6909
6910         * extents.c (struct extent_at_arg):
6911         * extents.c (decode_extent_at_flag):
6912         * extents.c (extent_at_mapper):
6913         * extents.c (extent_at_bytind):
6914         * extents.c (Fextent_at): Adapt to new lower-level interface. [9].
6915         * extents.c (Fextents_at): New primitive. [9].
6916         * extents.c (symbol_to_glyph_layout): [9].
6917         Support new primitive `extents-at'.
6918
6919
6920         * extents.c (get_text_property_bytind):
6921         extent_at_bytind has another arg.
6922         [9].
6923
6924         * extents.c (syms_of_extents): New primitive.
6925
6926         * file-coding.c (Fmake_coding_system): [1].
6927         * file-coding.c (subsidiary_coding_system): fix gcc warning
6928         * file-coding.c (syms_of_file_coding): [2].
6929
6930         * fileio.c (Fexpand_file_name):
6931         * fileio.c (Fsysnetunam):
6932         * fileio.c (Ffile_exists_p):
6933         * fileio.c (Ffile_executable_p):
6934         * fileio.c (Fverify_visited_file_modtime):
6935         Clean up GCPROing.
6936
6937         * fileio.c (syms_of_fileio): [2].
6938
6939         * filelock.c (lock_file_1):
6940         * filelock.c (current_lock_owner):
6941         * filelock.c (lock_if_free):
6942         * filelock.c (lock_file):
6943         * filelock.c (unlock_file):
6944         Clean up GCPROing.
6945
6946         * fns.c (concat): Fix gcc warning.
6947
6948         * fns.c (Fmember):
6949         * fns.c (Fold_member):
6950         * fns.c (Fmemq):
6951         * fns.c (Fold_memq):
6952         * fns.c (memq_no_quit):
6953         * fns.c (Fassoc):
6954         * fns.c (Fold_assoc):
6955         * fns.c (Fassq):
6956         * fns.c (Fold_assq):
6957         * fns.c (assq_no_quit):
6958         * fns.c (Frassoc):
6959         * fns.c (Fold_rassoc):
6960         * fns.c (Frassq):
6961         * fns.c (Fold_rassq):
6962         * fns.c (rassq_no_quit):
6963         * fns.c (Fdelete):
6964         * fns.c (Fold_delete):
6965         * fns.c (Fdelq):
6966         * fns.c (Fold_delq):
6967         * fns.c (delq_no_quit):
6968         * fns.c (Fremassoc):
6969         * fns.c (Fremassq):
6970         * fns.c (remassq_no_quit):
6971         * fns.c (Fremrassoc):
6972         * fns.c (Fremrassq):
6973         * fns.c (remrassq_no_quit):
6974         * fns.c (Freverse):
6975         * fns.c (mapcar1):
6976         [1].
6977
6978         * frame-msw.c (mswindows_init_frame_1):
6979         * frame-msw.c (mswindows_delete_frame):
6980         Register popups with dialog code so keyboard traversing works.
6981
6982         * frame-tty.c (tty_raise_frame_no_select): [1].
6983
6984         * frame-x.c:
6985         * frame-x.c (x_set_frame_text_value):
6986         * frame-x.c (x_set_frame_properties):
6987         * frame-x.c (x_create_widgets):
6988         [7].
6989
6990         * frame.c:
6991         * frame.c (Fmouse_pixel_position): Minor doc fixes.
6992
6993         * frame.h (wrap_frame): New.
6994         Macro like wrap_device.
6995
6996         * general.c:
6997         * general.c (SYMBOL):
6998         * general.c (syms_of_general):
6999         Major reorg.  This is now just a wrapper and symbols themselves
7000         are listed in general-slots.h.
7001
7002         * glyphs-eimage.c (tiff_instantiate): Need cast to fix warning.
7003         * glyphs-msw.c (mswindows_resource_instantiate): [5].
7004
7005         * glyphs-msw.c (mswindows_native_layout_instantiate):
7006         Add DS_CONTROL so keyboard traversal will work.
7007
7008         * glyphs-widget.c:
7009         * glyphs-widget.c (syms_of_glyphs_widget):
7010         Move some symbols to general-slots.h.
7011
7012         * glyphs-x.c:
7013         * glyphs-x.c (xbm_instantiate_1):
7014         * glyphs-x.c (x_xbm_instantiate):
7015         * glyphs-x.c (x_xface_instantiate):
7016         * glyphs-x.c (autodetect_instantiate):
7017         * glyphs-x.c (cursor_font_instantiate):
7018         * glyphs-x.c (x_update_widget):
7019         * glyphs-x.c (x_widget_instantiate):
7020         * glyphs.c (bitmap_to_lisp_data):
7021         * glyphs.c (pixmap_to_lisp_data):
7022         [7].
7023
7024         * glyphs.c (syms_of_glyphs):
7025         [2].
7026
7027         * gui-x.c:
7028         * gui-x.c (print_widget_value):
7029         * gui-x.c (menu_separator_style_and_to_external):
7030         * gui-x.c (add_accel_and_to_external):
7031         * gui-x.c (button_item_to_widget_value):
7032         * gui-x.c (gui_items_to_widget_values_1):
7033         * gui-x.c (gui_items_to_widget_values):
7034         * gui-x.c (syms_of_gui_x):
7035         * gui-x.c (vars_of_gui_x):
7036         Mule-ize entire file.  Move menu-no-selection-hook to gui.c.
7037         [9].
7038
7039         * gui-x.h:
7040         Muleize, prototype changes matching gui-x.c.
7041
7042         * gui.c:
7043         * gui.c (separator_string_p):
7044         * gui.c (gui_item_add_keyval_pair):
7045         * gui.c (make_gui_item_from_keywords_internal):
7046         * gui.c (signal_too_long_error):
7047         * gui.c (parse_gui_item_tree_item):
7048         * gui.c (syms_of_gui):
7049         * gui.c (vars_of_gui):
7050         * gui.h:
7051         menu-no-selection-hook moved here (used by MSWin).
7052         Move some symbols to general-slots.h.
7053         [6].
7054         [9].
7055
7056         * insdel.c (get_buffer_pos_char):
7057         * insdel.c (get_buffer_range_char):
7058         Add GC comments.
7059
7060         * keymap.c (keymap_lookup_directly):
7061         * keymap.c (keymap_store):
7062         * keymap.c (ensure_meta_prefix_char_keymapp):
7063         * keymap.c (describe_map):
7064         * keymap.h:
7065         Support new button modifiers.
7066
7067         * lisp-disunion.h (wrap_object):
7068         * lisp-disunion.h (XSETOBJ):
7069         Rename make_obj to wrap_object.
7070
7071         * lisp-union.h:
7072         * lisp-union.h (make_int):
7073         * lisp-union.h (make_char):
7074         Support wrap_object.
7075
7076         * lisp.h:
7077         * lisp.h (LIST_LOOP):
7078         * lisp.h (EXTERNAL_LIST_LOOP):
7079         * lisp.h (LIST_LOOP_2):
7080         * lisp.h (EXTERNAL_LIST_LOOP_1):
7081         * lisp.h (EXTERNAL_LIST_LOOP_2):
7082         * lisp.h (EXTERNAL_LIST_LOOP_3):
7083         * lisp.h (EXTERNAL_LIST_LOOP_4_NO_DECLARE):
7084         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
7085         * lisp.h (GET_EXTERNAL_LIST_LENGTH):
7086         * lisp.h (EXTERNAL_ALIST_LOOP_5):
7087         * lisp.h (EXTERNAL_ALIST_LOOP_6):
7088         * lisp.h (EXTERNAL_ALIST_LOOP_6_NO_DECLARE):
7089         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_5_NO_DECLARE):
7090         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_7):
7091         * lisp.h (struct Lisp_Symbol):
7092         * lisp.h (maybe_continuable_error_with_frob):
7093         Fix up section comments.
7094         Add new types for char to indicate usage.
7095         Delete symbols auto-generated from general-slots.h.
7096         Add prototypes for structured error functions.
7097         Add long comments describing looping macros and change interface
7098         so that lvalues are automatically declared.
7099         Add NO_DECLARE macro in case callers want to declare lvalues
7100         themselves.
7101
7102         * lread.c (read_syntax_error):
7103         * lread.c (continuable_read_syntax_error):
7104         * lread.c (read_structure):
7105         * lread.c (sequence_reader):
7106         * lread.c (read_list_conser):
7107         * lread.c (read_compiled_function):
7108         Rename syntax_error and continuable_syntax_error to avoid clash
7109         with same-named structured error functions.
7110
7111         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
7112         * menubar-msw.c (populate_menu_add_item):
7113         * menubar-msw.c (populate_or_checksum_helper):
7114         [5].
7115         [9].
7116
7117         * menubar-x.c:
7118         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
7119         Mule-ize whole file.
7120
7121         * menubar.c (Fnormalize_menu_item_name): Add optimization.
7122
7123         * mule-charset.c (Fmake_charset):
7124         * mule-wnnfns.c (Fwnn_set_param):
7125         [1].
7126
7127         * ntproc.c (create_child):
7128         * ntproc.c (Fwin32_set_current_locale):
7129         Add comments portending doom.
7130
7131         * objects-msw.c:
7132         * objects-msw.c (old_font_enum_callback_2):
7133         * objects-msw.c (font_enum_callback_1):
7134         * objects-msw.c (mswindows_enumerate_fonts):
7135         [5].
7136
7137         * objects-x.c:
7138         * objects-x.c (allocate_nearest_color):
7139         * objects-x.c (x_parse_nearest_color):
7140         * objects-x.c (x_initialize_color_instance):
7141         * objects-x.c (x_print_color_instance):
7142         * objects-x.c (x_finalize_color_instance):
7143         * objects-x.c (x_valid_color_name_p):
7144         * objects-x.c (x_initialize_font_instance):
7145         * objects-x.c (x_print_font_instance):
7146         * objects-x.c (valid_x_font_name_p):
7147         * objects-x.c (truename_via_FONT_prop):
7148         * objects-x.c (truename_via_random_props):
7149         * objects-x.c (truename_via_XListFonts):
7150         * objects-x.c (x_font_truename):
7151         * objects-x.c (x_font_instance_truename):
7152         * objects-x.c (x_font_instance_properties):
7153         * objects-x.c (x_list_fonts):
7154         * objects-x.c (x_find_charset_font):
7155         Mule-ize entire file.
7156         [7].
7157
7158         * objects-x.h:
7159         Mule-verify.
7160
7161         * print.c:
7162         * print.c (std_handle_out_external):
7163         * print.c (debug_print_no_newline):
7164         * print.c (syms_of_print):
7165         Output to all debugger kinds in debug-print.
7166         Fix console-output code under MSWin to actually work.
7167
7168         * process-nt.c (send_signal):
7169         * process-nt.c (nt_create_process):
7170         Use newer Unicode macros.
7171
7172         * process-unix.c (unix_create_process):
7173         * process-unix.c (unix_canonicalize_host_name):
7174         * process-unix.c (unix_open_network_stream):
7175         [7].
7176
7177         * scrollbar-x.c:
7178         Mule-verify.
7179
7180         * search.c (syms_of_search):
7181         [2].
7182
7183         * select-msw.c (mswindows_destroy_selection):
7184         Use LIST_LOOP_2.
7185
7186         * select-x.c (symbol_to_x_atom):
7187         [7].
7188
7189         * select.c (syms_of_select):
7190         [2].
7191
7192         * sound.c (Fplay_sound_file):
7193         [7].
7194
7195         * specifier.c:
7196         * specifier.c (decode_specifier_type):
7197         * specifier.c (Fvalid_specifier_locale_type_p):
7198         * specifier.c (check_valid_locale_or_locale_type):
7199         * specifier.c (decode_locale):
7200         * specifier.c (decode_locale_type):
7201         * specifier.c (decode_locale_list):
7202         * specifier.c (check_valid_domain):
7203         * specifier.c (decode_specifier_tag_set):
7204         * specifier.c (Fcanonicalize_tag_set):
7205         * specifier.c (Fdefine_specifier_tag):
7206         * specifier.c (Fspecifier_tag_predicate):
7207         * specifier.c (check_valid_inst_list):
7208         * specifier.c (check_valid_spec_list):
7209         * specifier.c (decode_how_to_add_specification):
7210         * specifier.c (check_modifiable_specifier):
7211         * specifier.c (specifier_add_spec):
7212         * specifier.c (boolean_validate):
7213         * specifier.c (display_table_validate):
7214         [9].
7215
7216         * specifier.c (syms_of_specifier):
7217         Move some symbols to general-slots.h.
7218         [2].
7219
7220         * symbols.c:
7221         * symbols.c (Fmapatoms):
7222         * symbols.c (Fapropos_internal):
7223         Add GCPROs.
7224
7225         * symbols.c (set_default_buffer_slot_variable):
7226         * symbols.c (set_default_console_slot_variable):
7227         [1].
7228
7229         * symbols.c (defsymbol_massage_name_1):
7230         * symbols.c (defkeyword_massage_name):
7231         * symbols.c (deferror_1):
7232         * symbols.c (deferror):
7233         * symbols.c (deferror_massage_name_and_message):
7234         * symeval.h:
7235         * symeval.h (DEFSYMBOL):
7236         Support DEFSYMBOL*, DEFKEYWORD, DEFERROR
7237
7238         * symbols.c (syms_of_symbols):
7239         [2].
7240
7241         * symsinit.h:
7242         * symsinit.h (init_win32): New.
7243         Also new is syms_of_dialog_mswindows.
7244
7245         * syswindows.h:
7246         Add new Unicode macros, missing Cygwin wide-char functions,
7247         convenience conversion macros for Qmswindows_tstr, macros for
7248         encapsulating required MSWin <-> Cygwin filename conversions,
7249         prototype for dynamically-extracted (not in NT 3.51) functions.
7250
7251         * toolbar-x.c:
7252         Mule-verify.
7253
7254         * tooltalk.c (Fadd_tooltalk_message_arg):
7255         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
7256         * tooltalk.c (Fadd_tooltalk_pattern_arg):
7257         [7].
7258
7259         * tooltalk.c (syms_of_tooltalk):
7260         [2].
7261
7262         * unexnt.c:
7263         * unexnt.c (unexec):
7264         Fix up headers, declaration of unexec() to be more standard.
7265
7266 2000-07-20  Martin Buchholz  <martin@xemacs.org>
7267
7268         * offix.h: Revert change to guard macros - they're used in offix.c!
7269
7270 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7271
7272         * lisp.h: Defsubred Fdelete.
7273
7274         * console-msw.h:  (msprinter_default_printer): Added.
7275
7276         * console-msw.c (msprinter_canonicalize_console_connection):
7277         (msprinter_canonicalize_device_connection): Added.
7278
7279         * device-msw.c (msprinter_default_printer):
7280         (Fmswingows_get_default_printer):
7281         (signal_enum_priner_error):
7282         (Fmswingows_printer_list): Added.
7283
7284 2000-07-19  Martin Buchholz <martin@xemacs.org>
7285
7286         * XEmacs 21.2.35 is released.
7287
7288 2000-07-19  Martin Buchholz  <martin@xemacs.org>
7289
7290         * select-x.c (x_handle_selection_request):
7291         Text selected in xemacs and pasted into xterm failed to appear.
7292         Spelling fixes and cosmetic changes.
7293
7294 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7295
7296         * event-msw.c (mswindows_drain_windows_queue): Correctly check for
7297         XEmacs frame (fix for doubling chars in dialog boxes).
7298
7299 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
7300
7301         * select.c (select_convert_in, select_convert_out):
7302         Don't call intern() every time.
7303
7304         * select.c (Qselect_convert_in, Qselect_convert_out): New.
7305         * select.c (vars_of_select): Initialise them.
7306
7307 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
7308
7309         * select.c (selection-coercible-types): New.
7310
7311         * select.c (own-selection-internal):
7312         * select.c (get-selection-internal):
7313         MULE bug fix - these should default to COMPOUND_TEXT and not
7314         STRING for MULE. I think.
7315
7316         * select.c (select_convert_out): Use selection-coercible-types
7317         to find types that we can attempt to perform coercions on.
7318
7319 2000-07-18  Martin Buchholz  <martin@xemacs.org>
7320
7321         * mule-wnnfns.c:
7322         * mule-canna.c:
7323         Add coding: cookie to identify encoding.
7324
7325         * mule-canna.c (CANNA_mode_keys): make static.
7326         Use proper prototypes, even for functions of no arguments.
7327         Remove external prototype for Fding().
7328
7329         * symsinit.h: Add missing prototype for reinit_vars_of_mule_wnn.
7330
7331         * select.c (syms_of_select): Add missing DEFSUBR.
7332
7333 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
7334
7335         * select.c (get_selection_internal, own_selection_internal):
7336         Make the type default to STRING, rather than placing a nil type
7337         into Vselection_alist.
7338
7339 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
7340
7341         * gpmevent.c (tty_selection_exists_p):
7342         * gpmevent.c (tty_own_selection):
7343         Updated parameter lists.
7344
7345 2000-07-15 Alastair J. Houghton <ajhoughton@lineone.net>
7346
7347         * select.h (selection-alist): Removed declaration.
7348
7349         * select.h (get_local_selection):
7350         * select.c (get_local_selection):
7351         Made static.
7352
7353         * select.h (convert_selection): Removed declaration.
7354         * select.c (convert_selection): Removed.
7355         This function belongs in Lisp.
7356
7357         * select.h (select_convert_in): Declare.
7358         * select.h (select_convert_out): Declare.
7359         * select.c (select_convert_in): New.
7360         * select.c (select_convert_out): New.
7361         New conversion functions for other files to call.
7362
7363         * select.h (select_notify_buffer_kill): Declare.
7364         * select.c (select_notify_buffer_kill): New.
7365         New functions that get called from kill-buffer.
7366
7367         * buffer.c (kill-buffer): Call select_notify_buffer_kill, rather than
7368         X-specific lisp code.
7369
7370         * select.h: Declare some of the lisp-visible functions for
7371         external use.
7372
7373         * select.c (clean_local_selection_data): Removed. This was
7374         a disgusting function, and previously should have been in
7375         select-x.c in any case. The functionality is now provided
7376         in select-convert-from-integer (select.el).
7377
7378         * select.c (available-selection-types): Fixed stupidity where
7379         INTEGER and ATOM got added twice. Also add STRING when we see an
7380         extent.
7381
7382         * select.c (get-selection-internal): Removed symbol stripping. No
7383         longer causes conversion when data comes from the internal cache.
7384
7385         * select.c (syms_of_select): Added new functions.
7386
7387         * select-x.c (motif_clipboard_cb): Use select_convert_out. Rewrote
7388         error checking - previously this called abort!
7389
7390         * select-x.c (x_own_selection): Changed comment.
7391
7392         * select-x.c (x_handle_selection_request): Use select_convert_out.
7393         Don't mess with selection-alist; it's an internal variable of select.c.
7394
7395         * select-x.c (x_get_foreign_selection): Use select_convert_in.
7396
7397         * select-x.c (x_handle_selection_clear): Use get-selection-timestamp,
7398         rather than messing with selection-alist.
7399
7400         * select-msw.c (mswindows_get_foreign_selection):
7401         Use TO_INTERNAL_FORMAT rather than hacking.
7402
7403 2000-07-14  Martin Buchholz  <martin@xemacs.org>
7404
7405         * process-unix.c (unix_open_multicast_group):
7406         (unix_open_multicast_group): Remove useless casts.
7407
7408 2000-07-13  Martin Buchholz  <martin@xemacs.org>
7409
7410         * sound.c (Fplay_sound): Fix `unused variable' warning.
7411
7412         * emacs.c (main): Use correct type for _environ on SCO5.
7413
7414 2000-07-12 Alastair J. Houghton <ajhoughton@lineone.net>
7415
7416         * console.h (own_selection_method):
7417         * console.h (selection_exists_p_method):
7418         * console.h (available_selection_types_method): New.
7419         * console.h (register_selection_data_type_method): New.
7420         * console.h (selection_data_type_name): New.
7421
7422         * console-msw.h (mswindows_destroy_selection): Declare it.  New
7423         function & alist to track GlobalAlloc()'d handles that need
7424         releasing when the clipboard data gets replaced or emptied.
7425
7426         * event-msw.c (mswindows_wnd_proc): Call it.
7427
7428         * lisp.h, general.c (Qappend): New symbol representing a
7429         `how-to-add' mode.
7430
7431         * select.c (own-selection-internal):
7432         * select.c (selection-exists-p):
7433         * select.c (available-selection-types): New.
7434         * select.c (register-selection-data-type): New.
7435         * select.c (selection-data-type-name): New.  New functions to deal
7436         with device-specific selection data formats.
7437         * select.c (selection-converter-out-alist): Renamed.
7438         * select.c (selection-converter-in-alist): New.
7439         * select.c (selection-appender-alist): New.  Added new alists.
7440         * select.c (syms_of_select, vars_of_select): Added new symbols &
7441         variables.
7442         * select.c (get_local_selection): Split.
7443         * select.c: Removed spurious type checking - selections may now be
7444         of any type, not just strings.
7445         * select.c (own-selection-internal):
7446
7447         * select.h, select.c (convert_selection): New. Created
7448         convert_selection() function based on get_local_selection().
7449         * select.h, select.c (QCF_*): New symbols representing mswindows
7450         clipboard formats.
7451         * select.h, select.c (Qreplace_all, Qreplace_existing): New
7452         symbols representing `how-to-add' modes.
7453
7454         * select-msw.c (x_sym_p): New.
7455         * select-msw.c (symbol_to_ms_cf): New.
7456         * select-msw.c (ms_cf_to_symbol): New. New functions to deal with
7457         symbols & clipboard formats. Can also handle string names.
7458         * select-msw.c (mswindows_own_selection):
7459         * select-msw.c (mswindows_selection_exists_p):
7460         Added `data-type' parameter. Use it.
7461         * select-msw.c (mswindows_available_selection_types): New.
7462         * select-msw.c (mswindows_register_selection_data_type): New.
7463         * select-msw.c (mswindows_selection_data_type_name): New.
7464         * select-msw.c (mswindows_own_selection):
7465         * select-msw.c (mswindows_get_foreign_selection):
7466         * select-msw.c (mswindows_selection_exists_p):  Rewrote.
7467         * select-msw.c (console_create_select_mswindows): Added new methods.
7468         * select-msw.c (mswindows_destroy_selection): New.
7469         * select-msw.c (Vhandle_alist): New list.
7470         * select-msw.c (mswindows_own_selection):
7471
7472         * select-x.c (x_own_selection):
7473         * select-x.c (x_selection_exists_p):
7474         * select-x.c: Added some comments about maybe using new
7475         functionality.
7476         * select-x.c (x_own_selection):
7477
7478         * specifier.c: Remove definition of Qappend (now in general.c)
7479         * specifier.c (syms_of_specifier): Remove Qappend.
7480
7481 2000-07-12  Martin Buchholz  <martin@xemacs.org>
7482
7483         * config.h.in: Add socklen_t.
7484
7485         * s/decosf4-0.h: No special compiler flags needed or desired.
7486         In particular, undefine _BSD for DEC OSF 4.0.
7487
7488 2000-07-07  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7489
7490         * redisplay-msw.c (msprinter_frame_output_end): Added.
7491         (console_type_create_redisplay_mswindows): Referred the above.
7492
7493         * frame.c (setup_frame_without_minibuffer): Do not create a
7494         default minibuffer frame on a printer device.
7495
7496         * frame-msw.c (apply_dc_geometry): Added.
7497         (msprinter_start_page):
7498         (msprinter_init_frame_3):
7499         (msprinter_eject_page): Use it.
7500
7501         * console-msw.h (struct msprinter_frame): Added pix_left and top,
7502         and removed residual duplex and orientation properties.
7503
7504 2000-07-11  Martin Buchholz  <martin@xemacs.org>
7505
7506         * eval.c (function_argcount): Work around a DEC CC compiler bug.
7507
7508         * unexalpha.c: Remove system prototypes from C sources!
7509
7510 2000-07-09  Adrian Aichner  <aichner@ecf.teradyne.com>
7511
7512         * eval.c: Remove references to M-x edit-options in DEFUNs for
7513         `defvar' and `defconst'.
7514
7515 2000-07-09  Martin Buchholz  <martin@xemacs.org>
7516
7517         * config.h.in: Remove SMART_INCLUDE hackery.
7518
7519         PostgreSQL hacking:
7520         * config.h.in: Don't use SMART_INCLUDE.
7521
7522         * postgresql.h: Include libpq-fe.h here.  Fix typo.
7523         * inline.c: Simply #include "postgresql.h"
7524         * postgresql.c:
7525         - Don't use SMART_INCLUDE
7526         - Use simply "const".
7527         - Use standard doc string conventions.
7528         - Use correct type for result of PQstatus.
7529
7530 2000-07-09  Martin Buchholz  <martin@xemacs.org>
7531
7532         * glyphs-x.c (x_xface_instantiate): Fix C++ compilation warnings.
7533
7534         C++ compilation changes.
7535         * config.h.in (EXTERN_C): Define.
7536         * config.h.in (not): This is also a C++ keyword.
7537         * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Enable C++ compilation.
7538         * cm.c: Use EXTERN_C.
7539         * redisplay-tty.c: Use EXTERN_C.
7540         * sysdep.c: Use EXTERN_C.  Remove Gould support.
7541
7542 2000-07-09  Martin Buchholz  <martin@xemacs.org>
7543
7544         * general.c: Remove duplicate definition for Qfunction.
7545
7546 2000-07-08  Ben Wing  <ben@xemacs.org>
7547
7548         * device-msw.c (msprinter_init_device):
7549         * device-msw.c (sync_printer_with_devmode):
7550         * device-msw.c (handle_devmode_changes):
7551         * device-msw.c (print_dialog_worker):
7552         * device-msw.c (Fmsprinter_apply_settings):
7553         * device-msw.c (hash_devmode):
7554         * device-msw.c (Fmsprinter_settings_despecialize):
7555         use Qmswindows_tstr, not Qctext.
7556
7557         * vm-limit.c (check_memory_limits):
7558         avoid infinite loop printing warning messages.
7559
7560 2000-07-05  Craig Lanning  <lanning@scra.org>
7561
7562         * Makefile.in.in: Add support for including the Windows resources
7563         when building with the cygwin and mingw targets.
7564
7565         * buffer.c: from Dan Holmsand, on Windows $PWD is most likely either
7566         not set or not correct.
7567         (directory_is_current_directory): Don't compile for WIN32_NATIVE.
7568         (init_initial_directory): Don't try to use $PWD on the
7569         WIN32_NATIVE target.
7570
7571         * s\cygwin32.h:
7572         [[Add -mwindows to eliminate console window.]] not required --ben
7573         (HAVE_NATIVE_SOUND): removed; now handled by configure.
7574         (MAIL_USE_POP): removed; now handled by configure.
7575
7576         * s\mingw32.h: [[Add -mwindows to eliminate console window.]] not in
7577         C_SWITCH_SYSTEM or it will affect lib-src progs. --ben
7578         (HAVE_NATIVE_SOUND): removed; now handled by configure.
7579         (MAIL_USE_POP): removed; now handled by configure.
7580         (ENCAPSULATE_STAT): from Dan Holmsand, added.
7581         (ENCAPSULATE_FSTAT): from Dan Holmsand, added.
7582         (DIRECTORY_SEP): from Dan Holmsand, use lisp variable instead of
7583         constant string.
7584         (HAVE_TIMEVAL): from Dan Holmsand, added; struct timeval is picked
7585         up from <winsock.h> via systime.h.
7586         (HAVE_GETPAGESIZE): from Dan Holmsand, added.
7587         (getpagesize): from Dan Holmsand, added.
7588         Added #endif which was left dangling by Ben's mega patch; added
7589         comment to help prevent this in the future.
7590
7591         * sysdll.c: added #include <windows.h> for WIN32_NATIVE case.
7592
7593 2000-07-05  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7594
7595         * console-msw.h (struct mswindows_device): Removed unnecessary
7596         cached device geometry values.
7597         Added update_tick and an accessor macro.
7598         (Lisp_Devmode): Added lrecord declaration.
7599         (struct msprinter_device): Contain devmode as a Lisp object.
7600         Added mswindows_get_selected_frame_hwnd();
7601
7602         * console.h (struct console_methods): Indentation nitpicking.
7603
7604         * device-msw.c (mswindows_init_device): Do not initialize geometry
7605         cache. Initialize update tick.
7606         (mswindows_device_system_metrics): Ask the device for its geometry.
7607         (global_free_2_maybe):
7608         (devmode_to_hglobal):
7609         (handle_printer_changes):
7610         (ensure_not_printing):
7611         (print_dialog_worker):
7612         (Fmsprinter_print_setup_dialog):
7613         (Fmsprinter_print_dialog):
7614         (plist_get_margin):
7615         (plist_set_margin):
7616         (Fmsprinter_page_setup_dialog): Added functions.
7617         (sync_printer_with_devmode):
7618         (handle_devmode_changes):
7619         (Fmsprinter_get_settings):
7620         (Fmsprinter_select_settings):
7621         (Fmsprinter_apply_settings):
7622         (allocate_devmode):
7623         (Fmsprinter_settings_copy):
7624         (Fmsprinter_settings_despecialize):
7625         (print_devmode):
7626         (finalize_devmode):
7627         (equal_devmode):
7628         (hash_devmode): Added functions
7629         (syms_of_device_mswindows): Init devmode lrecord class.
7630
7631         * device.h: Added an exfun for find-device.
7632
7633         * event-msw.c (mswindows_wnd_proc): Do not update the cached
7634         geometry; although, recreate the device compatible DC.
7635
7636         * frame-msw.c (mswindows_get_selected_frame_hwnd): Added.
7637         (msprinter_init_frame_3):
7638         (msprinter_frame_property):
7639         (msprinter_internal_frame_property_p):
7640         (msprinter_frame_properties):
7641         (msprinter_set_frame_properties): Removed 'orientation and 'duplex
7642         print job properties (will move to device settings).
7643
7644         * lisp.h: Added symbols.
7645
7646         * general.c (syms_of_general): Declared them.
7647
7648         * hash.c (string_hash): Added.
7649
7650         * lrecord.h (lrecord_type): Added devmode lrecord type.
7651
7652 2000-07-02  Mike Sperber <mike@xemacs.org>
7653
7654         * s/freebsd.h (INTERRUPTIBLE_OPEN): open *is* interruptible on
7655         FreeBSD 4.0.
7656
7657 2000-06-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
7658
7659         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
7660         integer.
7661
7662 2000-06-07  MORIOKA Tomohiko  <tomo@urania.m17n.org>
7663
7664         * data.c (Fstring_to_number): Don't recognize floating point if
7665         base is not 10.
7666
7667 2000-06-22  Martin Buchholz  <martin@xemacs.org>
7668
7669         * glyphs-widget.c (tab_control_query_geometry):
7670         (widget_query_geometry):
7671         (button_query_geometry):
7672         * glyphs.c (text_query_geometry):
7673         Enforce type correctness.
7674
7675 2000-06-18  Martin Buchholz  <martin@xemacs.org>
7676
7677         * s/decosf4-0.h (_etext): Use portable _etext instead of etext.
7678         * s/decosf4-0.h (_edata): Use portable _edata instead of edata.
7679
7680 2000-06-17  Martin Buchholz  <martin@xemacs.org>
7681
7682         * s/decosf4-0.h: Never #include "/usr/include/FOO.h" because this
7683         conflicts with gcc's fixincluded version of FOO.h.
7684
7685         * glyphs.h (image_instance_geometry): Remove trailing `,'
7686
7687 2000-06-08  Mike Alexander  <mta@arbortext.com>
7688
7689         (MAX_SHOVE_BUFFER_SIZE): Change to 512 to match stream buffer size
7690         (shove_thread): Don't write the same output twice
7691         (make_ntpipe_output_stream): Increase priority of shove thread
7692         (ntpipe_shove_writer): Call SwitchToThread to give shove thread a
7693         chance to run
7694         (ntpipe_shove_closer): Don't delete the pipe until we're done with
7695         it.
7696
7697 2000-06-12  Ben Wing  <ben@xemacs.org>
7698
7699         * s\mingw32.h (sigset):
7700         * s\windowsnt.h (sigset):
7701         rename msw_ to mswindows_ for consistency with general convention.
7702
7703 2000-06-12  Ben Wing  <ben@xemacs.org>
7704
7705         * console-msw.c:
7706         * console-msw.c (mswindows_get_console_hwnd):
7707         * console-msw.c (mswindows_ensure_console_allocated):
7708         * console-msw.c (mswindows_hide_console):
7709         * console-msw.c (mswindows_show_console):
7710         * console-msw.c (mswindows_ensure_console_buffered):
7711         * console-msw.c (mswindows_output_console_string):
7712         * console-msw.c (mswindows_windows9x_p):
7713         * console-msw.h:
7714         * device-msw.c (mswindows_get_workspace_coords):
7715         * device-msw.c (mswindows_device_system_metrics):
7716         * dialog-msw.c (mswindows_popup_dialog_box):
7717         * event-msw.c (mswindows_wnd_proc):
7718         * frame-msw.c (mswindows_size_frame_internal):
7719         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
7720         * menubar-msw.c (displayable_menu_item):
7721         * menubar-msw.c (mswindows_char_is_accelerator):
7722         * nt.c:
7723         * nt.c (mswindows_sigset):
7724         * nt.c (mswindows_sigrelse):
7725         * nt.c (mswindows_sigpause):
7726         * nt.c (mswindows_raise):
7727         * nt.c (timer_proc):
7728         * ntproc.c:
7729         * ntproc.c (find_child_console):
7730         * ntproc.c (sys_kill):
7731         * print.c:
7732         * print.c (std_handle_out_external):
7733         * process-nt.c (find_child_console):
7734         * process-nt.c (send_signal_the_95_way):
7735         * process-nt.c (ensure_console_window_exists):
7736         * process-nt.c (nt_create_process):
7737         * syssignal.h:
7738         rename msw_ to mswindows_ for consistency with general convention.
7739
7740         * emacs.c:
7741         * dumper.c:
7742         include nt.h, not syswindows.h.
7743
7744         * nt.c (mswindows_fstat):
7745         * nt.c (mswindows_stat):
7746         prefix mswindows_ instead of attempting to directly override the
7747         library functions.  fix declarations.
7748
7749         * nt.h:
7750         include syswindows.h.  move some sysdep.h stuff here.
7751
7752         * ntheap.h:
7753         include syswindows.h, not <windows.h>.
7754
7755         * ntplay.c:
7756         clean up headers.
7757
7758         * sysdep.c:
7759         clean up headers.
7760
7761         * sysdep.c (sys_fstat):
7762         * sysdep.c (sys_stat):
7763         call mswindows versions when appropriate.
7764
7765         * sysdep.h:
7766         move mswin decls to nt.h.
7767
7768         * syswindows.h:
7769         add long comment describing appropriate use of the various windows
7770         headers.
7771
7772 2000-06-11  Ben Wing  <ben@xemacs.org>
7773
7774         * device-x.c: Correct doc string for sixth arg of x-get-resource.
7775
7776 2000-06-10  Ben Wing  <ben@xemacs.org>
7777
7778         * Makefile.in.in (release):
7779         Correction to make sure xemacs.exe always dumped when correct.
7780
7781         * alloca.c:
7782         * balloon_help.c:
7783         [[[[3]]]]: Conditionalize on actual problem, not WINDOWSNT.
7784
7785         * buffer.c (set_buffer_internal):
7786         [[[[2]]]]: Remove HAVE_FEP code.
7787
7788         * buffer.c (init_initial_directory):
7789         [3].
7790
7791         * bytecode.c:
7792         [[[[4]]]]: limits.h standardly included in lisp.h; remove from
7793         individual files.
7794
7795         * callproc.c:
7796         * callproc.c (call_process_cleanup):
7797         * callproc.c (Fold_call_process_internal):
7798         * callproc.c (child_setup):
7799         * callproc.c (getenv_internal):
7800         * callproc.c (init_callproc):
7801         * callproc.c (vars_of_callproc):
7802         [[[[1]]]]: WINDOWSNT -> WIN32_NATIVE.
7803         __CYGWIN32__ -> CYGWIN.
7804         DOS_NT -> WIN32_NATIVE.
7805         Remove MSDOS support/references, converting to WIN32_NATIVE
7806           where correct.
7807         __MINGW32__ -> MINGW.
7808         Fix windows.h includes.
7809         Remove bogus HAVE_NTGUI.
7810
7811         * config.h.in:
7812         [2].
7813
7814         * console-msw.c:
7815         mswindows_message_outputted added for use in allowing startup
7816         errors on the console to be seen.
7817
7818         * console-msw.c (msw_ensure_console_allocated):
7819         * console-msw.c (msw_output_console_string):
7820         * console-msw.c (DHEADER):
7821         * console-msw.c (DOPAQUE_DATA):
7822         * console-msw.c (DEVENT):
7823         * console-msw.c (DCONS):
7824         * console-msw.c (DCONSCDR):
7825         * console-msw.c (DSTRING):
7826         * console-msw.c (DVECTOR):
7827         * console-msw.c (DSYMBOL):
7828         * console-msw.c (DSYMNAME):
7829         Fix warnings.
7830
7831         * console-stream.c (stream_init_console):
7832         Fix text/binary problems.
7833
7834         * device-msw.c:
7835         * device-msw.c (mswindows_finish_init_device):
7836         * device-msw.c (mswindows_delete_device):
7837         [1].
7838
7839         * device.c (handle_asynch_device_change):
7840         [3].
7841
7842         * dgif_lib.c:
7843         * dgif_lib.c (DGifOpenFileName):
7844         * dgif_lib.c (DGifOpenFileHandle):
7845         * dgif_lib.c (DGifGetLine):
7846         * dgif_lib.c (DGifGetPixel):
7847         Added config.h/lisp.h, fix up includes.
7848         [1].
7849
7850         * dired-msw.c:
7851         [4].
7852
7853         * dired.c:
7854         * dired.c (file_name_completion):
7855         * dired.c (Ffile_attributes):
7856         * dired.c (syms_of_dired):
7857         [1].
7858
7859         * dumper.c:
7860         * dumper.c (pdump_file_unmap):
7861         * dumper.c (pdump_load):
7862         [1].
7863
7864         * editfns.c:
7865         * editfns.c (Ftemp_directory):
7866         * editfns.c (user_login_name):
7867         * editfns.c (Fuser_real_login_name):
7868         * editfns.c (get_home_directory):
7869         [1].
7870
7871         * elhash.c (finish_marking_weak_hash_tables):
7872         [[[[5]]]]: Fix GCC warnings.
7873
7874         * emacs.c:
7875         * emacs.c (mswindows_handle_hardware_exceptions):
7876         * emacs.c (make_arg_list_1):
7877         * emacs.c (main_1):
7878         * emacs.c (Fkill_emacs):
7879         * emacs.c (Fdump_emacs):
7880         [1].
7881         Fix problems with nested crashes, add long comment.
7882
7883         * event-Xt.c (init_event_Xt_late):
7884         [1].
7885
7886         * event-msw.c:
7887         * event-msw.c (mswindows_dde_callback):
7888         * event-msw.c (mswindows_handle_sticky_modifiers):
7889         * event-msw.c (mswindows_wnd_proc):
7890         [1].
7891         [5].
7892
7893         * events.c (character_to_event):
7894         [1].
7895
7896         * fileio.c:
7897         * fileio.c (Ffile_name_directory):
7898         * fileio.c (Ffile_name_nondirectory):
7899         * fileio.c (directory_file_name):
7900         * fileio.c (Fexpand_file_name):
7901         * fileio.c (Fsubstitute_in_file_name):
7902         * fileio.c (Ffile_name_absolute_p):
7903         * fileio.c (check_executable):
7904         * fileio.c (Ffile_readable_p):
7905         * fileio.c (Ffile_accessible_directory_p):
7906         * fileio.c (Ffile_modes):
7907         * fileio.c (Funix_sync):
7908         * fileio.c (vars_of_fileio):
7909         [1]. [4].
7910
7911         [[[[7]]]]: Move CORRECT_DIR_SEPS to s\windowsnt.h.
7912
7913         Expand getdefdir defn.
7914         Fix bogus rename() comment.
7915
7916         [[[[6]]]]: Fix Windows includes w.r.t. removed nt\inc.  Attempt
7917         to use standard XEmacs include files, e.g. sysfile.h, rather
7918         than system-specific includes.
7919
7920         * fns.c:
7921         * fns.c (Fsubseq):
7922         [5]. [6].
7923
7924         * frame.c (vars_of_frame):
7925         [1].
7926
7927         * getloadavg.c:
7928         * getloadavg.c (getloadavg):
7929         [1]. [6].
7930         #ifdef XEMACS not defined on Cygwin.  Remove this; no need for it.
7931         (We don't use it elsewhere in the code; just add a comment.)
7932
7933         * gif_io.c:
7934         [6].
7935         Add config.h.
7936
7937         * glyphs-msw.c:
7938         * glyphs-msw.c (mswindows_resource_instantiate):
7939         [1].
7940
7941         * glyphs-x.c (x_native_layout_instantiate):
7942         [5].
7943
7944         * gui-msw.c (Fmswindows_shell_execute):
7945         [1].
7946
7947         * insdel.c:
7948         [4].
7949
7950         * lisp.h:
7951         [4]. [5].
7952
7953         * lread.c (locate_file_in_directory_mapper):
7954         [1].
7955
7956         * lstream.c:
7957         [4].
7958
7959         * mem-limits.h:
7960         * mem-limits.h (get_lim_data):
7961         [1].
7962
7963         * menubar-msw.c:
7964         [4].
7965
7966         * ndir.h:
7967         [1].
7968
7969         * nt.c:
7970         * nt.c (getwd):
7971         * nt.c (closedir):
7972         * nt.c (rva_to_section):
7973         * nt.c (mswindows_executable_type):
7974         [1]. [6].
7975         Fix closedir() defn.
7976
7977         * nt.h:
7978         [[[[8]]]]: *_OK defs moved to sysfile.h.
7979
7980         * ntproc.c:
7981         [6]. [7].
7982
7983         * objects-x.c:
7984         [4].
7985
7986         * print.c:
7987         * print.c (std_handle_out_external):
7988         [1]. [4].
7989
7990         * process-nt.c:
7991         * process-nt.c (nt_create_process):
7992         [6].
7993         try to fix process quoting somewhat.
7994
7995         * process-unix.c (unix_create_process):
7996         [1].
7997
7998         * process.c:
7999         * process.c (vars_of_process):
8000         Add Vnull_device.
8001
8002         * process.h:
8003         [1].
8004
8005         * realpath.c:
8006         * realpath.c (xrealpath):
8007         [1].
8008
8009         * redisplay-tty.c (init_tty_for_redisplay):
8010         [3].
8011
8012         * redisplay.c:
8013         [4]. [6].
8014
8015         * scrollbar-msw.c:
8016         [4].
8017
8018         * sheap.c:
8019         * sheap.c (more_static_core):
8020         * sheap.c (report_sheap_usage):
8021         [5]. [6].
8022
8023         * signal.c:
8024         * signal.c (alarm_signal):
8025         [1]. [6].
8026
8027         * sound.c:
8028         [6].
8029
8030         * strftime.c:
8031         * strftime.c (zone_name):
8032         [1]. [5].
8033
8034         * symsinit.h (init_sunpro):
8035         [1].
8036
8037         * syscommctrl.h:
8038         commctrl.h not in Cygwin b20.1.
8039
8040         * sysdep.c:
8041         * sysdep.c (endif):
8042         * sysdep.c (sys_subshell):
8043         * sysdep.c (init_baud_rate):
8044         * sysdep.c (emacs_get_tty):
8045         * sysdep.c (emacs_set_tty):
8046         * sysdep.c (tty_init_sys_modes_on_device):
8047         * sysdep.c (init_system_name):
8048         * sysdep.c (sys_open):
8049         * sysdep.c (interruptible_open):
8050         * sysdep.c (sys_fopen):
8051         * sysdep.c (sys_mkdir):
8052         * sysdep.c (sys_rename):
8053         * sysdep.c (get_process_times_1):
8054         [1]. [6].
8055
8056         * sysdep.h:
8057         [1].
8058
8059         * sysdir.h:
8060         * sysdir.h (DIRENTRY_NONEMPTY):
8061         [1]. [6].
8062
8063         * sysdll.c (dll_init):
8064         * sysdll.h:
8065         [1].
8066
8067         * sysfile.h:
8068         [1]. [6]. [8].
8069         added text/binary defs.
8070
8071         * sysfloat.h:
8072         [1].
8073
8074         * sysproc.h:
8075         * sysproc.h (EDESTADDRREQ):
8076         * sysproc.h (poll_fds_for_input):
8077         [1]. [6].
8078
8079         * syspwd.h:
8080         [6].
8081
8082         * syssignal.h:
8083         [1].
8084
8085         * systime.h:
8086         [1]. [6].
8087
8088         * systty.h:
8089         [1].
8090
8091         * syswindows.h:
8092         [1].
8093         Always define WIN32_LEAN_AND_MEAN.
8094
8095         * unexcw.c (unexec):
8096         [5].
8097
8098         * unexec.c:
8099         * unexec.c (copy_text_and_data):
8100         * unexec.c (adjust_lnnoptrs):
8101         [1].
8102
8103         * unexnt.c:
8104         * unexnt.c (_start):
8105         [1].
8106
8107 2000-06-07  Ben Wing  <ben@xemacs.org>
8108
8109         * mule-mcpath.c, mule-mcpath.h: Removed.  Old, crufty code that
8110         was used only as a model.  We've long since extracted any useful
8111         logic or code out of this. (I just did an exhaustive search.)
8112
8113         * s\msdos.h: Removed.
8114
8115         * s\windows95.h: Removed.
8116
8117 2000-06-10  Ben Wing  <ben@xemacs.org>
8118
8119         * s\cygwin32.h:
8120         [1]. [5].
8121         Don't use extern with fun defs.
8122
8123         * s\mingw32.h:
8124         [1]. [7].
8125         Remove nt\inc include.
8126         Remove getdisk, getdefdir. (The former is unused, the latter
8127         expanded in fileio.h.)
8128
8129         * s\windowsnt.h:
8130         * s\windowsnt.h (WIN32_NATIVE):
8131         * s\windowsnt.h (HAVE_STRCASECMP):
8132         [1]. [7].
8133         Add long comment about preprocessor changes.
8134         Remove getdisk, getdefdir. (The former is unused, the latter
8135         expanded in fileio.h.)
8136
8137 2000-06-10  Ben Wing  <ben@xemacs.org>
8138
8139         * m\arm.h:
8140         * m\delta.h:
8141         * m\intel386.h:
8142         * m\sequent.h:
8143         * m\template.h:
8144         * m\windowsnt.h:
8145         [1].
8146         Remove bogus/unused NO_SOCK_SIGIO.
8147
8148 2000-06-08  Hrvoje Niksic  <hniksic@iskon.hr>
8149
8150         * lisp.h (set_string_char): Call set_string_byte with a Bufbyte,
8151         not an Emchar.
8152
8153 2000-06-04  Mike Sperber <mike@xemacs.org>
8154
8155         * casetab.c (set_case_table): For `set-standard-case-table',
8156         actually deposit the new case tables where the rest of XEmacs can
8157         see them.
8158
8159 2000-06-05  Yoshiki Hayashi <yoshiki@xemacs.org>
8160
8161         * data.c (Faset): Don't cast XCHAR() to unsigned char.
8162
8163 2000-06-05  Ben Wing  <ben@xemacs.org>
8164
8165         * callproc.c (child_setup): Don't do close_load_descs() under
8166         MS Windows.  Put in a comment explaining why.
8167
8168 2000-05-28  Adrian Aichner  <aichner@ecf.teradyne.com>
8169
8170         * process-nt.c: Reverting patch "Fixing nt_create_process for MKS
8171         Toolkit shell" which breaks `kill-compilation' on Windows NT
8172         native, retaining STDERR handling improvements.
8173
8174 2000-06-01  Andreas Jaeger  <aj@suse.de>
8175
8176         * s/s390.h: Support for S390, based on a patch by Martin
8177         Schwidefsky <schwidefsky@de.ibm.com>.
8178
8179 2000-05-30  Andy Piper  <andy@xemacs.org>
8180
8181         * window.c (allocate_window):
8182         (make_dummy_parent):
8183         (Fset_window_configuration): use new hashtable type.
8184
8185         * glyphs.h (IMAGE_UNSPECIFIED_GEOMETRY):
8186         (struct image_instantiator_methods):
8187         (struct Lisp_Image_Instance): make instance geometry signed.
8188
8189         * glyphs.c (instantiate_image_instantiator):
8190         (image_instance_query_geometry):
8191         (image_instance_layout):
8192         (image_instance_layout):
8193         (query_string_geometry):
8194         (text_query_geometry):
8195         (image_instantiate):
8196         (image_instantiate):
8197         (cache_subwindow_instance_in_frame_maybe):
8198         (subwindow_query_geometry): make instance geometry signed.
8199
8200         * glyphs-widget.c (widget_query_geometry):
8201         (widget_layout):
8202         (button_query_geometry):
8203         (tree_view_query_geometry):
8204         (tab_control_query_geometry):
8205         (layout_query_geometry):
8206         (layout_layout):
8207         (native_layout_layout): make instance geometry signed.
8208
8209 2000-05-29  Olivier Galibert  <galibert@pobox.com>
8210
8211         * lisp.h: Add Qfull_assoc symbol and WEAK_LIST_FULL_ASSOC
8212         constant.
8213
8214         * general.c (syms_of_general): Add Qfull_assoc symbol.
8215
8216         * data.c (finish_marking_weak_lists): Mark full-assoc lists
8217         correctly.
8218         (decode_weak_list_type): Decode full-assoc type.
8219         (encode_weak_list_type): Encode full-assoc type.
8220         (Fmake_weak_list): Update doc string.
8221
8222 2000-05-30  Andy Piper  <andy@xemacs.org>
8223
8224         * elhash.h (hash_table_weakness): new KEY_VALUE weak hashtable.
8225
8226         * elhash.c (print_hash_table): new KEY_VALUE weak hashtable.
8227         (decode_hash_table_weakness): ditto.
8228         (Fhash_table_weakness): ditto.
8229         (Fhash_table_type): ditto.
8230         (finish_marking_weak_hash_tables): ditto.
8231         (hash_table_weakness_validate): ditto.
8232         (syms_of_elhash): ditto.
8233
8234 2000-05-28  Martin Buchholz <martin@xemacs.org>
8235
8236         * XEmacs 21.2.34 is released.
8237
8238 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
8239
8240         * redisplay.c (VERTICAL_CLIP): No longer reset when updating line
8241         start cache.
8242         (updating_line_start_cache): Gone.
8243         (regenerate_window): Replace resetting of VERTICAL_CLIP by
8244         generic code to force a minimum of 1 line laid out in the
8245         CMOTION_DISP case.
8246
8247 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
8248
8249         * glyphs.c (instantiate_image_instantiator): Check for initialized
8250         height & width no longer special cases IMAGE_NOTHING.
8251         (nothing_instantiate): Set height and width of instance.
8252
8253 2000-05-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
8254
8255         * unexelf.c (unexec): Search for ".data" section.
8256         Initialize new_data2_offset from old_data_index.
8257         Remove redundant check for ElfW.
8258
8259 2000-05-23  Andy Piper  <andy@xemacs.org>
8260
8261         * glyphs.c (get_image_instantiator_governing_domain): allow more
8262         specific domains as the governing domain rather than expecting an
8263         exact match. This fixes problems with layouts.
8264
8265 2000-05-22  Andy Piper  <andy@xemacs.org>
8266
8267         * redisplay-output.c (compare_runes): check for non-images
8268
8269         * glyphs.c (set_glyph_dirty_p): ditto.
8270         (update_glyph_cachel_data): ditto.
8271
8272         * glyphs-widget.c (layout_post_instantiate): ditto.
8273         (layout_post_instantiate): ditto.
8274
8275         * event-msw.c (mswindows_wnd_proc): warning removal.
8276
8277 2000-05-12  Craig Lanning  <CraigL@DyCon.com>
8278
8279         * s\mingw32.h: Added #undef for CLASH_DETECTION.
8280
8281         * syswindows.h: Moved PBS_SMOOTH definition to syscommctrl.h.
8282
8283         * syscommctrl.h (PBS_SMOOTH): Moved from syswindows.h.
8284
8285         * nt.c (rva_to_section): mingw32 needs rva_to_section.
8286         (mswindows_executable_type): mingw32 now has enough headers for
8287         this to work.
8288
8289 2000-05-20  Andy Piper  <andy@xemacs.org>
8290
8291         * console-msw.c (mswindows_output_last_error): ; -> ,
8292
8293 2000-05-12  Andy Piper  <andy@xemacs.org>
8294
8295         * console-msw.c (FROB): compare ints with ints.
8296
8297 2000-05-11  Andy Piper  <andy@xemacs.org>
8298
8299         * glyphs-x.c (x_finalize_image_instance): make minimal build
8300         happy.
8301
8302 2000-05-20  Ben Wing  <ben@xemacs.org>
8303
8304         * event-Xt.c:
8305         * event-Xt.c (vars_of_event_Xt):
8306         move modifier-keys-are-sticky to event-stream.c.
8307
8308         * event-msw.c:
8309         * event-msw.c (mswindows_enqueue_mouse_button_event):
8310         * event-msw.c (key_needs_default_processing_p):
8311         * event-msw.c (XEMSW_LCONTROL):
8312         * event-msw.c (mswindows_handle_sticky_modifiers):
8313         * event-msw.c (FROB):
8314         * event-msw.c (clear_sticky_modifiers):
8315         * event-msw.c (output_modifier_keyboard_state):
8316         * event-msw.c (output_alt_keyboard_state):
8317         * event-msw.c (mswindows_wnd_proc):
8318         * event-msw.c (mswindows_modifier_state):
8319         * event-msw.c (emacs_mswindows_handle_magic_event):
8320         implement sticky modifiers.
8321
8322         * event-stream.c:
8323         * event-stream.c (vars_of_event_stream):
8324         move modifier-keys-are-sticky here.
8325
8326         * lisp.h:
8327         add CHECK_FUNCTION.
8328
8329         * rangetab.c:
8330         implement map-range-table.
8331
8332
8333 2000-05-17  Yoshiki Hayashi  <yoshiki@xemacs.org>
8334
8335         * redisplay-tty.c (reset_tty_modes):
8336         (tty_redisplay_shutdown): Adjust argument type to
8337         tty_frame_output_end.
8338
8339 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
8340
8341         * eval.c (Fbacktrace): Don't output a line with only right
8342         parenthesis.
8343
8344 2000-05-17  Kenji Itoh  <keit@tpj.co.jp>
8345
8346         * postgresql.c (Fpq_connect_poll): Replace `PS' with `polling_status'.
8347         (Fpq_reset_poll): Ditto.
8348
8349 2000-05-16  Katsumi Yamaoka  <yamaoka@jpl.org>
8350
8351         * redisplay-tty.c: Replace tty_output_end with tty_frame_output_end.
8352
8353 2000-05-16  Ben Wing  <ben@xemacs.org>
8354
8355         * buffer.c:
8356         * buffer.c (dfc_convert_to/from_internal_format):
8357         * buffer.c (reinit_vars_of_buffer):
8358         Fix conversion functions to allow reentrancy.
8359
8360         * console-msw.c:
8361         * console-msw.c (mswindows_output_last_error):
8362         New fun, generally useful -- output a human-readable
8363         version of GetLastError() on the console.
8364
8365         * console-msw.h:
8366         * console-msw.h (struct mswindows_frame):
8367         Changes for DeferWindowPos.  Declare mswindows_output_last_error().
8368
8369         * console-stream.c (stream_output_begin):
8370         * console-stream.c (stream_output_end):
8371         * console-stream.c (stream_output_vertical_divider):
8372         * console-stream.c (stream_clear_region):
8373         * console-stream.c (stream_flash):
8374         * console-stream.c (console_type_create_stream):
8375         Delete blank stream methods, not needed.
8376
8377         * console.h (struct console_methods):
8378         Split begin/end methods into window and frame.
8379
8380         * event-msw.c:
8381         * event-msw.c (mswindows_handle_paint):
8382         * event-msw.c (output_alt_keyboard_state):
8383         * event-msw.c (mswindows_wnd_proc):
8384         * event-msw.c (vars_of_event_mswindows):
8385         Comment about problems with ignored-expose.
8386         Define mswindows-debug-events; not really implemented.
8387
8388         * frame-msw.c (mswindows_init_frame_1):
8389         random cleanups.
8390
8391         * glyphs-msw.c:
8392         * glyphs-msw.c (begin_defer_window_pos):
8393         * glyphs-msw.c (mswindows_unmap_subwindow):
8394         * glyphs-msw.c (mswindows_map_subwindow):
8395         * glyphs-msw.c (mswindows_resize_subwindow):
8396         Use DeferWindowPos to reduce flashing when mapping/unmapping.
8397
8398         * glyphs.c (make_image_instance_1):
8399         Fix crash.
8400
8401         * gutter.c (Fredisplay_gutter_area):
8402         Use new begin/end methods.
8403
8404         * lisp.h (Dynarr_new2):
8405         New creation fun.
8406
8407         * redisplay-msw.c:
8408         * redisplay-msw.c (mswindows_frame_output_begin):
8409         * redisplay-msw.c (mswindows_frame_output_end):
8410         * redisplay-msw.c (console_type_create_redisplay_mswindows):
8411         New begin/end methods -- handle DeferWindowPos.
8412
8413         * redisplay-output.c (redisplay_move_cursor):
8414         * redisplay-output.c (redraw_cursor_in_window):
8415         * redisplay-output.c (redisplay_update_line):
8416         * redisplay-output.c (redisplay_output_window):
8417         New begin/end methods.
8418
8419         * redisplay-tty.c:
8420         * redisplay-tty.c (tty_frame_output_begin):
8421         * redisplay-tty.c (tty_frame_output_end):
8422         * redisplay-tty.c (console_type_create_redisplay_tty):
8423         New begin/end methods.
8424
8425         * redisplay-x.c:
8426         * redisplay-x.c (x_window_output_begin):
8427         * redisplay-x.c (x_window_output_end):
8428         * redisplay-x.c (console_type_create_redisplay_x):
8429         New begin/end methods.
8430
8431         * redisplay.c (redisplay_frame):
8432         * redisplay.c (Fredisplay_echo_area):
8433         New begin/end methods.
8434         use MAYBE_DEVMETH for clear_frame; it may not exist.
8435
8436         * window.h (WINDOW_XFRAME):
8437         WINDOW_XFOO macros -- get locale and decode struct pointer.
8438
8439
8440 2000-05-12  Ben Wing  <ben@xemacs.org>
8441
8442         * emacs.c:
8443         * emacs.c (ensure_no_quitting_from_now_on):
8444         * emacs.c (fatal_error_signal):
8445         * emacs.c (mswindows_handle_hardware_exceptions):
8446         * emacs.c (main):
8447         * emacs.c (Fkill_emacs):
8448         * emacs.c (shut_down_emacs):
8449         * emacs.c (assert_failed):
8450         various improvements in fatal error handling.
8451
8452         * eval.c:
8453         move preparing_for_armageddon to emacs.c.
8454
8455         * lisp.h:
8456         declare fatal_error_in_progress.
8457
8458         * print.c:
8459         * print.c (std_handle_out_external):
8460         * print.c (std_handle_out_va):
8461         * print.c (stderr_out):
8462         * print.c (stdout_out):
8463         use console under mswin when no standard output.
8464         don't do code conversion during fatal error.
8465
8466         * scrollbar.c (Fscrollbar_page_up):
8467         * scrollbar.c (Fscrollbar_page_down):
8468         fix missing else.  reindent.
8469
8470 2000-05-11  Jan Vroonhof  <vroonhof@math.ethz.ch>
8471
8472         Emergency fix.
8473
8474         * glyphs.h (GLYPH_CACHEL_DESCENT):
8475         (GLYPH_CACHEL_DESCENT):
8476         (GLYPH_CACHEL_DESCENT):
8477         * glyphs.h (GLYPH_CACHEL_ASCENT): Match parameters to variables
8478         used in case these are inline functions.
8479         Use more absurd values to error check.
8480
8481         include window.h for error check functions.
8482
8483 2000-05-11  Ben Wing  <ben@xemacs.org>
8484
8485         * cmdloop.c (Freally_early_error_handler):
8486         Display message box under windows; otherwise, message will disappear
8487         before it can be viewed.
8488
8489         * console-msw.c:
8490         * console-msw.c (Fmswindows_message_box):
8491         * console-msw.c (FROB):
8492         * console-msw.c (syms_of_console_mswindows):
8493         Define new fun `mswindows-message-box'.
8494         #### I will merge this into `popup-dialog-box'; just give me
8495         a bit of time.
8496
8497         * general.c:
8498         * general.c (syms_of_general):
8499         Some new symbols used in `mswindows-message-box'.
8500
8501         * glyphs.c:
8502         * glyphs.c (Fset_image_instance_property):
8503         put warning in this fun.
8504
8505         * glyphs.h:
8506         * glyphs.h (GLYPH_CACHEL_WIDTH):
8507         * glyphs.h (GLYPH_CACHEL_ASCENT):
8508         * glyphs.h (GLYPH_CACHEL):
8509         * glyphs.h (GLYPH_CACHEL_GLYPH):
8510         define error-checking versions to try to catch a bug i've seen --
8511         redisplay gets in an infinite loop because the glyph width of the
8512         continuation glyph is 65535.
8513
8514         * lisp.h:
8515         Extern message-box stuff.
8516
8517         * window.c (allocate_window):
8518         * window.c (make_dummy_parent):
8519         * window.c (Fset_window_configuration):
8520         Use EQUAL not EQ for subwindow caches to make them work a bit
8521         better. (Something is still very broken.)
8522
8523
8524 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
8525
8526         * glyphs.c (image_instantiate): Suppress gcc warnings.
8527         (Fmake_image_instance): Fix doc string.
8528         * specifier.c (Fmake_specifier): Ditto.
8529
8530 2000-05-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
8531
8532         * paths.h.in (PATH_LOCK): Removed.
8533         * config.h.in (LOCKDIR_USER_DEFINED): Removed.
8534         * emacs.c (complex_vars_of_emacs): Remove configure-lock-directory.
8535
8536 2000-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
8537
8538         * fns.c (Ffeaturep): Update e-mail address in doc-string.
8539         Document (featurep '(and xemacs 21.02)).
8540
8541 2000-05-09  Ben Wing  <ben@xemacs.org>
8542
8543         * buffer.c (complex_vars_of_buffer):
8544         update modeline-format doc.
8545
8546         * device.h:
8547         comment about how DFW_DEVICE should be merged with DOMAIN_DEVICE.
8548
8549         * emacs.c:
8550         timeline of all released versions of Emacs, for use in creating
8551         authorship comments and in synching up.
8552
8553         * glyphs-widget.c (image_instantiator_buttons):
8554         * glyphs-widget.c (image_instantiator_edit_fields):
8555         * glyphs-widget.c (image_instantiator_combo_box):
8556         * glyphs-widget.c (image_instantiator_scrollbar):
8557         * glyphs-widget.c (image_instantiator_progress_guage):
8558         * glyphs-widget.c (image_instantiator_tree_view):
8559         * glyphs-widget.c (image_instantiator_tab_control):
8560         * glyphs-widget.c (image_instantiator_labels):
8561         * glyphs-widget.c (image_instantiator_layout):
8562         * glyphs-widget.c (image_instantiator_native_layout):
8563         rename decode_domain method to governing_domain.
8564
8565         * glyphs.c:
8566         * glyphs.c (Fvalid_image_instantiator_format_p): doc update.
8567         * glyphs.c (add_entry_to_device_ii_format_list):
8568         make sure we don't put an entry more than once into the list.
8569         * glyphs.c (check_instance_cache_mapper):
8570         *************************************************************
8571         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
8572         HAVE BEEN GETTING.
8573         *************************************************************
8574         * glyphs.c (get_image_instantiator_governing_domain):
8575         clean up, expand on new concept of governing domain.
8576         * glyphs.c (instantiate_image_instantiator):
8577         * glyphs.c (allocate_image_instance):
8578         use governing_domain instead of cache_domain in naming.
8579         * glyphs.c (Fvalid_image_instance_type_p): fix docs.
8580         * glyphs.c (make_image_instance_1):
8581         * glyphs.c (Fmake_image_instance):
8582         allow for any domain (not just device), and process the
8583         governing domain correctly.  very big doc fix.
8584         * glyphs.c (Fimage_instance_domain):
8585         new primitive, to retrieve the governing domain of an image instance.
8586         * glyphs.c (image_instantiate):
8587         use new governing_domain stuff.  this fixes a crash you could get
8588         by instantiating certain widget glyphs in frame locales. (should
8589         signal an error instead of crashing.)
8590         * glyphs.c (Fimage_specifier_p): move doc to make-image-specifier.
8591         * glyphs.c (Fglyphp): clean up doc.
8592         * glyphs.c (subwindow_governing_domain): renamed from *_decode_domain.
8593         * glyphs.c (syms_of_glyphs):
8594         declare Fimage_instance_domain, remove unused Qlayout_image_instance_p.
8595         * glyphs.c (image_instantiator_format_create): add some comments about
8596         bogus code.
8597         * glyphs.c (specifier_vars_of_glyphs): totally rewrite the doc string
8598         for current-display-table. (Apparently Hrjove implemented in 1998 a
8599         design I wrote up in 1996, but didn't update the doc string.)
8600
8601         * glyphs.h: clean up a doc string.
8602         * glyphs.h (governing_domain):
8603         * glyphs.h (struct image_instantiator_methods):
8604         changes for governing_domain stuff.
8605
8606         * gutter.c:
8607         * gutter.c (Fgutter_specifier_p):
8608         * gutter.c (Fgutter_size_specifier_p):
8609         * gutter.c (Fgutter_visible_specifier_p):
8610         * objects.c:
8611         * objects.c (Fcolor_specifier_p):
8612         * objects.c (Ffont_specifier_p):
8613         * objects.c (Fface_boolean_specifier_p):
8614         doc strings moved to make-*-specifier.
8615
8616         * redisplay.c (add_disp_table_entry_runes_1):
8617         * redisplay.c (generate_fstring_runes):
8618         * redisplay.c (screen):
8619         add random comments and doc strings.
8620
8621         * specifier.c:
8622         * specifier.c (Fmake_specifier):
8623         major overhaul of this doc string.
8624
8625         * specifier.c (Fvalid_specifier_domain_p):
8626         comment about the bogosity of image instances being domains.
8627         * specifier.c (decode_domain):
8628         now non-static, used in glyphs.c.
8629         * specifier.c (specifier_instance):
8630         comment about the bogosity of image instances being domains.
8631         * specifier.c (Fgeneric_specifier_p):
8632         move doc string to make-generic-specifier.
8633         * specifier.c (VALID_SINGLE_DISPTABLE_INSTANTIATOR_P):
8634         rebackslashify.
8635
8636         * specifier.h:
8637         * specifier.h (DOMAIN_FRAME):
8638         * specifier.h (DOMAIN_LIVE_P):
8639         * specifier.h (DOMAIN_XDEVICE):
8640         rebackslashify.
8641         add comments about problems with these macros.
8642         prototype for decode_domain.
8643
8644         * toolbar.c:
8645         * toolbar.c (Ftoolbar_specifier_p):
8646         move doc string to `make-toolbar-specifier'.
8647
8648         * window.c (window_unmap_subwindows_cache_mapper):
8649         *************************************************************
8650         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
8651         HAVE BEEN GETTING.
8652         *************************************************************
8653
8654 2000-05-09  Andy Piper  <andy@xemacs.org>
8655
8656         * glyphs.h: declare reset_frame_subwindow_instance_cache.
8657
8658         * window.c (Fset_window_configuration): reset the frame subwindow
8659         cache and re-initialize the window subwindow caches.
8660
8661         * glyphs.c (reset_frame_subwindow_instance_cache): new function.
8662
8663 2000-05-09  Ben Wing  <ben@xemacs.org>
8664
8665         * ntheap.c (recreate_heap): Changed unknown (VC6 only?) SIZE_T to
8666         DWORD.
8667
8668 2000-04-26  Mike Woolley  <mike@bulsara.com>
8669
8670         * ntheap.c: Changed recreate_heap to limit the amount reserved
8671         for the heap to that which is actually available. Also now
8672         displays a message box (with some dignostics) in the event that
8673         it still can't start.
8674
8675 2000-05-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
8676
8677         * callproc.c (Fold_call_process_internal): GCPRO path
8678
8679 2000-05-08  Jan Vroonhof  <jan@xemacs.org>
8680
8681         Patch by Bill Perry.
8682
8683         * scrollbar.c (Fscrollbar_page_up): Conditionalize on type of call
8684         back data instead of #ifdef.
8685         (Fscrollbar_page_down): ditto.
8686
8687 2000-05-07  Ben Wing  <ben@xemacs.org>
8688
8689         * buffer.h:
8690         Kludge for defining Qmswindows_tstr.
8691
8692         * nt.c:
8693         * nt.c (open_input_file):
8694         * nt.c (open_output_file):
8695         * nt.c (rva_to_section):
8696         * nt.c (mswindows_executable_type):
8697         Move all memory-mapped-file routines here (some were in unexnt.c,
8698         which is bad because they are used by process-nt.c, and unexnt
8699         won't be around when portable dumping).  Synched the above routines
8700         with FSF 20.6.
8701
8702         * nt.h:
8703         Removed ifdef'd out bogus code.
8704         Fixed some prototypes.
8705
8706         * nt.h (file_data):
8707         * nt.h (OFFSET_TO_RVA):
8708         * nt.h (RVA_TO_OFFSET):
8709         * nt.h (RVA_TO_PTR):
8710         Moved the memory-mapped-file structures, macros and prototypes
8711         here, to parallel nt.c.  ntheap.h should really be removed
8712         entirely, and it's a non-portable-dumper specific file.
8713
8714         * ntheap.h (round_to_next):
8715         Moved the memory-mapped-file structures, macros and prototypes
8716         to nt.h.
8717
8718         * ntproc.c (compare_env):
8719         Moved rva_to_section and mswindows_executable_type to nt.c.
8720         Moved compare_env to process-nt.c.
8721         ntproc.c will die, one day.
8722
8723         * ntproc.c (sys_spawnve):
8724         Account for win32_ -> mswindows_.
8725
8726         * process-nt.c:
8727         * process-nt.c (struct nt_process_data):
8728         * process-nt.c (ensure_console_window_exists):
8729         * process-nt.c (compare_env):
8730         * process-nt.c (nt_create_process):
8731         * process-nt.c (nt_kill_process_by_pid):
8732         * process-nt.c (syms_of_process_nt):
8733         * process-nt.c (vars_of_process_nt):
8734         Introduce variable `mswindows-quote-process-args', from FSF 20.6.
8735         Copy argument quoting code from FSF 20.6 (with appropriate Mule-ization
8736         changes).  Eliminate our old `nt-quote-process-args' mechanism.
8737         Synch up nt_create_process with FSF 20.6 sys_spawnve.
8738         Move compare_env here from ntproc.c.
8739
8740         * process.c (Fprocess_send_region):
8741         Takes an optional fourth argument, BUFFER, which should fix some
8742         problems with call-process.
8743
8744         * syscommctrl.h:
8745         Move ICC_BAR_CLASSES here from syswindows.h, to avoid a warning.
8746
8747         * syswindows.h:
8748         Move ICC_BAR_CLASSES to syscommctrl.h.
8749         Add preliminary macros for MSWindows/Mule.  More to come.
8750
8751         * unexnt.c:
8752         * unexnt.c (unexec):
8753         open_output_file moved to nt.c.
8754
8755
8756 2000-05-05  Andy Piper  <andy@xemacs.org>
8757
8758         * window.c (window_unmap_subwindows_cache_mapper): remove the dead
8759         instance from the frame cache also since GC may catch up too late
8760         to make frame deletion sane.
8761
8762 2000-05-04  Andy Piper  <andy@xemacs.org>
8763
8764         * glyphs-x.c (x_widget_instantiate): gcpro widget callbacks.
8765         (x_finalize_image_instance): ungcpro on deletion.
8766
8767         * glyphs.c (image_instantiator_format_create): give pointers a
8768         query geometry method so that the geometry is at least set.
8769
8770         * glyphs-x.c (image_instantiator_format_create_glyphs_x): only
8771         initialize layouts if using widgets.
8772
8773 2000-05-03  Andy Piper  <andy@xemacs.org>
8774
8775         * nt.c: remove bogus reference to sysmmsystem.h
8776
8777         * gui-x.c (popup_selection_callback): fix no selection abort.
8778
8779 2000-05-02  Andy Piper  <andy@xemacs.org>
8780
8781         * glyphs-msw.c (mswindows_update_widget): cope with nil text.
8782         (mswindows_widget_instantiate): ditto.
8783
8784         * glyphs-widget.c (initialize_widget_image_instance): initialize
8785         children correctly.
8786         (widget_instantiate): cope with children and items in the same
8787         instance.
8788
8789         * glyphs.c (mark_image_instance): cope with children as a first
8790         class member.
8791         (image_instance_equal): ditto.
8792         (image_instance_hash): ditto.
8793         (image_instance_changed): ditto.
8794
8795 2000-04-30  Andy Piper  <andy@xemacs.org>
8796
8797         * glyphs.c (subwindow_query_geometry): new function. Return some
8798         defaults.
8799         (subwindow_instantiate): don't assign dimensions if none have been
8800         given.
8801         (image_instantiator_format_create): add subwindow_query_geometry.
8802         (print_image_instance): cope with layouts as widgets.
8803
8804 2000-04-29  Andy Piper  <andy@xemacs.org>
8805
8806         * frame.c (delete_frame_internal): call
8807         free_frame_subwindow_instance_cache so that all subwindows are
8808         finalized before their parent.
8809         (mark_frame): remove subwindow_cachels.
8810         (Fmake_frame): remove subwindow_cachel manipulation.
8811         (allocate_frame_core): subwindow_instance_cache is a weak list.
8812         (delete_frame_internal): set subwindow_instance_cache to nil.
8813
8814         * glyphs-msw.c (mswindows_finalize_image_instance): make double
8815         finalization safe.
8816         (mswindows_finalize_image_instance): use the device
8817         not the domain as the domain may have died already.
8818
8819         * glyphs-x.c (x_finalize_image_instance): ditto.
8820         (x_subwindow_instantiate): remove SUBWINDOW_WIDTH &
8821         HEIGHT.
8822
8823         * redisplay-output.c (redisplay_unmap_subwindows): update for
8824         subwindow instance cache as a weak list.
8825         (redisplay_unmap_subwindows_maybe): ditto.
8826         (redisplay_unmap_subwindows_except_us): ditto.
8827
8828         * glyphs.c (unmap_subwindow): error checking will check the domain
8829         so don't deal with it here. Don't use cachels anymore.
8830         (map_subwindow): ditto.
8831         (update_subwindow_cachel_data): remove old accessor names.
8832         (subwindow_instantiate): remove SUBWINDOW_WIDTH & HEIGHT.
8833         (Fresize_subwindow): don't update cachel.
8834         (mark_subwindow_cachels):
8835         (update_subwindow_cachel_data):
8836         (add_subwindow_cachel):
8837         (get_subwindow_cachel_index):
8838         (update_subwindow_cachel):
8839         (reset_subwindow_cachels):
8840         (mark_subwindow_cachels_as_not_updated): deleted.
8841         (cache_subwindow_instance_in_frame_maybe): new function. Add a
8842         subwindow instance to the frame cache.
8843         (find_matching_subwindow): update for subwindow instance cache as
8844         a weak list.
8845         (update_widget_instances): ditto.
8846         (image_instance_type_to_mask):inlined.
8847         (free_frame_subwindow_instance_cache): new function. finalize all
8848         subwindows that are instantiated.
8849
8850         * glyphs.h (struct Lisp_Image_Instance): add display_data instead
8851         of cachel information.
8852         (IMAGE_INSTANCE_DISPLAY_X):
8853         (IMAGE_INSTANCE_DISPLAY_Y):
8854         (IMAGE_INSTANCE_DISPLAY_WIDTH):
8855         (IMAGE_INSTANCE_DISPLAY_HEIGHT):
8856         (XIMAGE_INSTANCE_DISPLAY_X):
8857         (XIMAGE_INSTANCE_DISPLAY_Y):
8858         (XIMAGE_INSTANCE_DISPLAY_WIDTH):
8859         (XIMAGE_INSTANCE_DISPLAY_HEIGHT): new accessors.
8860         remove subwindow_cachel structure and function references.
8861         (image_instance_type_to_mask): inline from glyphs.c
8862
8863         * redisplay.c (redisplay_frame): remove subwindow_cachel
8864         references.
8865
8866         * frame.h (struct frame): remove subwindow_cachels.
8867         (FRAME_SUBWINDOW_CACHE): access subwindow_instance_cache.
8868
8869         * frameslots.h: add subwindow_instance_cache.
8870
8871         * window.c (replace_window): check subwindow cache of replacement.
8872         (window_unmap_subwindows_cache_mapper):
8873         (window_unmap_subwindows): new functions. Unmap all subwindows
8874         cached on this window.
8875         (mark_window_as_deleted): unmap all subwindows.
8876
8877 2000-04-27  Andy Piper  <andy@xemacs.org>
8878
8879         * glyphs.h (IIFORMAT_METH_OR_GIVEN): cope with null meths.
8880
8881         * glyphs-widget.c (widget_layout): return something.
8882         (layout_layout): return something. Fail if not initialized.
8883         (layout_query_geometry): ditto.
8884         (image_instantiator_native_layout): new function. Initialized the
8885         native layout type.
8886         (widget_instantiate): don't do layout stuff here.
8887
8888         * glyphs.c (instantiate_image_instantiator): reorded calling or
8889         instantiate and post_instantiate with layout in between.
8890         (image_instance_layout): be more selective about deciding whether
8891         the layout has been done or not.
8892
8893         * glyphs.h (struct image_instantiator_methods): return a value
8894         from layout_method.
8895
8896 2000-04-26  Andy Piper  <andy@xemacs.org>
8897
8898         * glyphs.c (allocate_image_instance): make initial width and
8899         height unspecified. Set initialized to 0.
8900
8901         * syscommctrl.h new file. Encapsulates commctrl.h.
8902
8903         * syswindows.h new file. Encapsulates windows.h.
8904
8905         * ntplay.c: use new syswindows.h and syscommctrl.h header.
8906         * nt.c: ditto.
8907         * console-msw.h: ditto.
8908
8909         * redisplay-tty.c (tty_output_display_block): remove layout references.
8910
8911         * glyphs-msw.c (mswindows_widget_instantiate): use the domain
8912         window handle rather than just the frame.
8913
8914         * glyphs.c (mark_image_instance): remove layout references.
8915         (print_image_instance): ditto.
8916         (image_instance_equal): ditto.
8917         (image_instance_hash): ditto.
8918         (decode_image_instance_type): ditto.
8919         (encode_image_instance_type): ditto.
8920         (image_instantiate): ditto.
8921         (allocate_glyph): ditto.
8922         (Fimage_instance_height): ditto.
8923         (Fimage_instance_width): ditto.
8924         (update_subwindow): ditto.
8925
8926         * redisplay-x.c (x_output_display_block): recode for layouts as
8927         widgets.
8928
8929         * redisplay-output.c (redisplay_output_layout): recode for layouts
8930         as widgets.
8931         (compare_runes): remove layout references.
8932
8933         * redisplay-msw.c (mswindows_output_display_block): recode for
8934         layouts as widgets.
8935
8936         * glyphs-widget.c (image_instantiator_layout): remove
8937         layout_possible_dest_types.
8938         (layout_possible_dest_types): deleted.
8939
8940         * glyphs.h (image_instance_type): remove layout references.
8941         (struct Lisp_Image_Instance): ditto. Add initialized flag.
8942         (IMAGE_INSTANCE_INITIALIZED): new accessor.
8943         (XIMAGE_INSTANCE_INITIALIZED): ditto.
8944
8945 2000-04-25  Andy Piper  <andy@xemacs.org>
8946
8947         * glyphs-widget.c (image_instantiator_buttons):
8948         (image_instantiator_edit_fields):
8949         (image_instantiator_combo_box):
8950         (image_instantiator_scrollbar):
8951         (image_instantiator_progress_guage):
8952         (image_instantiator_tree_view):
8953         (image_instantiator_tab_control):
8954         (image_instantiator_labels):
8955         (image_instantiator_layout): call default post_instantiate method.
8956         (widget_post_instantiate): new function. Simply lays out the
8957         widgets.
8958
8959         * glyphs.h (struct image_instantiator_methods): add
8960         post_instantiate method.
8961
8962         * glyphs.c (instantiate_image_instantiator): add post_instantiate
8963         method calls.
8964
8965 2000-04-23  Andy Piper  <andy@xemacs.org>
8966
8967         * glyphs.h (struct image_instantiator_methods): add
8968         decode_domain_method.
8969         (struct Lisp_Image_Instance): remove subwindow frame - it can be
8970         derived from the domain.
8971         (IMAGE_INSTANCE_FRAME): new accessor.
8972         (XIMAGE_INSTANCE_FRAME): ditto.
8973
8974         * glyphs.c (print_image_instance): use IMAGE_INSTANCE_FRAME
8975         instead of _SUBWINDOW_FRAME.
8976         (finalize_image_instance): ditto.
8977         (Fimage_instance_foreground): ditto.
8978         (Fimage_instance_background): ditto.
8979         (image_instantiate): ditto.
8980         (update_subwindow_cachel): ditto.
8981         (update_subwindow): ditto.
8982         (unmap_subwindow): ditto.
8983         (map_subwindow): ditto
8984         (subwindow_instantiate): ditto.
8985         * glyphs-msw.c (mswindows_update_widget): ditto.
8986         (mswindows_progress_gauge_instantiate): ditto.
8987         (mswindows_tab_control_update): ditto.
8988         * glyphs-x.c (x_update_widget): ditto.
8989         (x_widget_instantiate): ditto.
8990         (x_tab_control_instantiate): ditto.
8991         (x_tab_control_update): ditto.
8992         * event-msw.c (mswindows_wnd_proc): ditto
8993
8994         * glyphs-widget.c (image_instantiator_layout): use
8995         subwindow_decode_domain.
8996         (image_instantiator_buttons): ditto.
8997         (image_instantiator_edit_fields): ditto.
8998         (image_instantiator_combo_box): ditto.
8999         (image_instantiator_scrollbar): ditto.
9000         (image_instantiator_progress_guage): ditto.
9001         (image_instantiator_tree_view): ditto.
9002         (image_instantiator_tab_control): ditto.
9003         (image_instantiator_labels): ditto.
9004         (image_instantiator_layout): ditto.
9005
9006         * glyphs.c: add instance error checking to many functions.
9007         (instantiate_image_instantiator): decode device from cache_domain.
9008         (image_instantiate): partially rewrite by using
9009         decode_image_instantiator_domain to determine what domain the
9010         instance needs to be cached in.
9011         (decode_image_instantiator_domain): new function. Determine what
9012         domain the image needs to be cached in.
9013         (check_window_subwindow_cache): new error checking function.
9014         (check_instance_cache_mapper): ditto.
9015         (check_image_instance_structure): ditto.
9016         (subwindow_decode_domain): new function. Encodes a window as a
9017         subwindow's cache domain.
9018         (image_instantiator_format_create): use it for text and
9019         subwindows.
9020
9021 2000-04-21  Andy Piper  <andy@xemacs.org>
9022
9023         * glyphs.c (image_instance_device): new function.
9024         (image_instance_frame): new function.
9025         (image_instance_window): new function.
9026         (image_instance_live_p): new function.
9027
9028         * window.c (mark_window_as_deleted): reset the subwindow_instance_
9029         cache to nil.
9030
9031         * glyphs.h (struct Lisp_Image_Instance): device->domain.
9032         (IMAGE_INSTANCE_DOMAIN): new accessor.
9033         (XIMAGE_INSTANCE_DOMAIN): ditto.
9034
9035         * glyphs-x.c (x_finalize_image_instance): device->domain.
9036
9037         * glyphs-msw.c (init_image_instance_geometry): device->domain.
9038         (mswindows_finalize_image_instance): ditto.
9039
9040         * glyphs-eimage.c (jpeg_instantiate): device->domain.
9041         (gif_instantiate): ditto.
9042         (png_instantiate): ditto.
9043         (tiff_instantiate): ditto.
9044
9045         * glyphs.c (instantiate_image_instantiator): use domain rather
9046         than device.
9047         (mark_image_instance): device -> domain.
9048         (print_image_instance): ditto.
9049         (finalize_image_instance): ditto.
9050         (image_instance_equal): ditto.
9051         (allocate_image_instance): ditto.
9052         (Fcolorize_image_instance): ditto.
9053         (query_string_geometry): ditto.
9054         (image_instantiate): ditto
9055         (query_string_font): ditto.
9056         (image_instantiate): ditto.
9057         (update_subwindow): ditto.
9058         (unmap_subwindow): ditto.
9059         (map_subwindow): ditto.
9060         (subwindow_instantiate): ditto.
9061
9062         * specifier.h (DOMAIN_DEVICE): new, semantically correct, decoder.
9063         (DOMAIN_FRAME): ditto.
9064         (DOMAIN_WINDOW): ditto.
9065         (DOMAIN_LIVE_P): ditto.
9066         (XDOMAIN_DEVICE): ditto.
9067         (XDOMAIN_FRAME): ditto.
9068         (XDOMAIN_WINDOW): ditto.
9069
9070         * specifier.c (Fvalid_specifier_domain_p): add image instances as
9071         a valid specifier domain.
9072
9073 2000-04-19  Andy Piper  <andy@xemacs.org>
9074
9075         * glyphs-widget.c (syms_of_glyphs_widget): remove
9076         widget-callback-current-channel.
9077         (vars_of_glyphs_widget): ditto.
9078         * glyphs.h: ditto
9079
9080         * gui.c (get_gui_callback): revert to previous behaviour.
9081
9082 2000-04-18  Andy Piper  <andy@xemacs.org>
9083
9084         * glyphs.h (struct Lisp_Image_Instance): add margin_width.
9085         (IMAGE_INSTANCE_MARGIN_WIDTH): new.
9086         (XIMAGE_INSTANCE_MARGIN_WIDTH): new.
9087
9088         * glyphs.c (image_instance_equal): add margin_width.
9089         (image_instance_hash): ditto.
9090
9091         * glyphs-widget.c (widget_instantiate): deal with margin-width.
9092         (layout_query_geometry): ditto.
9093         (layout_layout): ditto.
9094         (syms_of_glyphs_widget): add margin-width.
9095         (image_instantiator_layout): allow margin-width.
9096
9097         * glyphs.c (update_widget_instances): make a normal function.
9098         (syms_of_glyphs): remove Qupdate_widget_instances.
9099         * glyphs.h: ditto.
9100
9101         * gui-x.c (popup_selection_callback): use enqueue_magic_eval_event
9102         so that we don't corrupt ideas about the last event or
9103         command. Remove widget-callback-current-channel fiddling.
9104         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
9105
9106 2000-05-01  Martin Buchholz <martin@xemacs.org>
9107
9108         * XEmacs 21.2.33 is released.
9109
9110 2000-05-01  Yoshiki Hayashi  <yoshiki@xemacs.org>
9111
9112         * make-src-depend: Allow dots in header file name.
9113
9114 2000-05-01  Yoshiki Hayashi  <yoshiki@xmacs.org>
9115
9116         * mule-charset.h (struct charset_lookup): Add
9117         next_allocated_1_byte_leading_byte and
9118         next_allocated_2_byte_leading_byte.
9119         * mule-charset.c: Move above two variables so that those values
9120         will be dumped.
9121
9122 2000-04-26  Yoshiki Hayashi  <yoshiki@xemacs.org>
9123
9124         * insdel.c (find_charsets_in_bufbyte_string): Add Vcharset_ascii
9125         when string length is zero.
9126         (find_charsets_in_emchar_string): Ditto.
9127
9128 2000-04-29  Bjrn Torkelsson  <torkel@hpc2n.umu.se>
9129
9130         * lisp.h: extern Qdialog and Qmenubar.
9131
9132         * gui-x.c: added events.h.
9133                 also fixed typo which made the file uncompilable.
9134
9135         * general.c: Added Qmenubar and Qdialog
9136
9137 2000-04-28  Ben Wing  <ben@xemacs.org>
9138
9139         * frame-msw.c (mswindows_init_frame_1):
9140         * frame-msw.c (mswindows_mark_frame):
9141         * event-msw.c (mswindows_enqueue_dispatch_event):
9142         * console-msw.h:
9143         * console-msw.h (struct mswindows_frame):
9144         * console-msw.h (FRAME_MSWINDOWS_WIDGET_HASH_TABLE1):
9145         there are now three hash tables for callbacks.
9146         mswindows_enqueue_dispatch_event is no longer static.
9147
9148         * dialog-x.c (maybe_run_dbox_text_callback):
9149         * dialog-x.c (dbox_descriptor_to_widget_value):
9150         switch to new cons3 form for callbacks.
9151
9152         * glyphs-msw.c (mswindows_register_gui_item):
9153         * glyphs-msw.c (mswindows_widget_instantiate):
9154         * glyphs-msw.c (add_tree_item):
9155         * glyphs-msw.c (add_tab_item):
9156         new image instance parameter, so it can be passed to callback-ex.
9157         respect :callback-ex as well as :callback.
9158
9159         * glyphs-widget.c (VALID_GUI_KEYWORDS):
9160         add :callback-ex.
9161
9162         * glyphs.c (print_image_instance):
9163         prettify, e.g. now prints widget type.
9164
9165         * gui-x.h:
9166         certain funs have new image instance parameter.
9167
9168         * gui.c:
9169         * gui.c (get_gui_callback):
9170         * gui.c (gui_item_add_keyval_pair):
9171         * gui.c (gui_item_init):
9172         * gui.c (gui_add_item_keywords_to_plist):
9173         * gui.c (mark_gui_item):
9174         * gui.c (gui_item_hash):
9175         * gui.c (gui_item_equal):
9176         * gui.c (copy_gui_item):
9177         * gui.c (syms_of_gui):
9178         recognize callback-ex in a number of places.
9179         also, fix the annoying "can't get out of yes-no dialog" bug.
9180
9181         * gui.h:
9182         * gui.h (struct Lisp_Gui_Item):
9183         recognize callback-ex in a number of places.
9184
9185         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
9186         new parameter in button_item_to_widget_value.
9187
9188         * glyphs-x.c (x_update_widget):
9189         * glyphs-x.c (x_button_instantiate):
9190         * glyphs-x.c (x_button_update):
9191         * glyphs-x.c (x_progress_gauge_instantiate):
9192         * glyphs-x.c (x_edit_field_instantiate):
9193         * glyphs-x.c (x_combo_box_instantiate):
9194         * glyphs-x.c (x_tab_control_instantiate):
9195         * glyphs-x.c (x_label_instantiate):
9196         new image instance parameter in various places.
9197
9198         * event-Xt.c:
9199         * event-Xt.c (enqueue_Xt_dispatch_event):
9200         this fun gets exported.
9201
9202         * gui-msw.c:
9203         * gui-msw.c (mswindows_handle_gui_wm_command):
9204         handle both :callback and :callback-ex, and generate our own
9205         event because it's one of the callback-ex arguments.
9206
9207         * gui-x.c:
9208         * gui-x.c (popup_selection_callback):
9209         handle both :callback and :callback-ex, and generate our own
9210         event because it's one of the callback-ex arguments.
9211         * gui-x.c (button_item_to_widget_value):
9212         * gui-x.c (gui_items_to_widget_values_1):
9213         * gui-x.c (gui_item_children_to_widget_values):
9214         * gui-x.c (gui_items_to_widget_values):
9215         new image instance parameter in various places.
9216
9217         * fns.c (Freplace_list):
9218         fix small typo in doc string.
9219
9220         * lisp.h:
9221         declare enqueue_Xt_dispatch_event.
9222
9223 2000-04-28  Ben Wing  <ben@xemacs.org>
9224
9225         * buffer.c:
9226         * buffer.c (Frecord_buffer):
9227         * buffer.c (syms_of_buffer):
9228         delete record-buffer-hook.
9229
9230         * fns.c:
9231         * fns.c (Freplace_list):
9232         * fns.c (syms_of_fns):
9233         new primitive replace-list.
9234
9235         * frameslots.h:
9236         slot for old buffer-alist.
9237
9238         * lisp.h:
9239         exfun replace-list.
9240
9241         * redisplay.c:
9242         * redisplay.c (redisplay_frame):
9243         * redisplay.c (syms_of_redisplay):
9244         * redisplay.c (vars_of_redisplay):
9245         new hook buffer-list-changed-hook.
9246         call it.
9247
9248 2000-04-27  Ben Wing  <ben@xemacs.org>
9249
9250         * extents.h: extern in_modeline_generation.
9251
9252         * redisplay.c (generate_formatted_string_db): set
9253         in_modeline_generation.
9254
9255         * extents.c (extent_changed_for_redisplay): don't mark redisplay
9256         flags if in modeline generation.  otherwise frame-modified-tick
9257         is ticked far too often.
9258         Declare in_modeline_generation.
9259
9260 2000-04-26  Ben Wing  <ben@xemacs.org>
9261
9262         * emacs.c (vars_of_emacs): document quick-build "error-checking"
9263         option.
9264         (vars_of_emacs): add quick-build as an error-checking option.
9265         A bit kludgy, but there doesn't seem much point in creating
9266         a real var for this.
9267
9268         * config.h.in: put in an entry for QUICK_BUILD; remove NO_DOC_FILE.
9269
9270 2000-04-14  IKEYAMA Tomonori  <tomonori@suiyokai.org>
9271
9272         * redisplay.h (struct display_line): Add a new variable,
9273         line_continuation.
9274
9275         * redisplay.c (create_text_block): Set dl->line_continuation if
9276         the line continues.
9277         (create_string_text_block): Ditto.
9278         (regenerate_window_incrementally): Use line_continuation instead
9279         of searching continuation glyph.
9280         (add_margin_runes): Call add_glyph_rune.
9281         (add_glyph_rune): Handle margin glyph.
9282
9283 2000-04-20  Martin Buchholz  <martin@xemacs.org>
9284
9285         * filelock.c (fill_in_lock_file_name):
9286         ANSIfy.
9287         Check for IS_ANY_SEP instead of '/'.
9288         (lock_file_1):
9289         Avoid generating gratuitous garbage.  Call user_login_name() directly.
9290         Never check errno without first seeing that system call failed.
9291         (unlock_file): Add GCPRO.
9292         (Flock_buffer): Fix docstring.
9293         (Ffile_locked_p): Fix docstring.  Add GCPRO.
9294
9295 2000-04-19  Martin Buchholz  <martin@xemacs.org>
9296
9297         * sysdep.c (get_pty_max_bytes):
9298         Fix hangs on DEC OSF 4.0 when (process-send-string) sends
9299         strings longer than 252 bytes.
9300
9301         * md5.c: Unconditionally include ANSI header <limits.h>
9302
9303         * glyphs-x.c (convert_EImage_to_XImage):
9304         * lisp-union.h (union Lisp_Object):
9305         Use consistently the syntax #ifdef FEATURE, not #if FEATURE.
9306
9307 2000-04-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
9308
9309         * filelock.c (current_lock_owner): Remove unused variable o, p.
9310
9311 2000-04-17  Norbert Koch  <n.koch@eai-delta.de>
9312
9313         * callint.c: Remove multiply defined symbol Qlet
9314         (syms_of_callint): ditto.
9315
9316 2000-04-14  Andy Piper  <andy@xemacs.org>
9317
9318         * general.c (syms_of_general): add last-command, this-command, let
9319         and funcall.
9320
9321         * lisp.h: declare various symbols.
9322
9323         * glyphs.h: declare Qwidget_callback_current_channel;
9324
9325         * glyphs-widget.c (syms_of_glyphs_widget): add
9326         Qgui_callback_current_channel.
9327         (vars_of_glyphs_widget): add Vgui_callback_current_channel.
9328
9329         * gui-msw.c (mswindows_handle_gui_wm_command): bind
9330         widget-callback-current-channel when invoking the interactive
9331         arg. Also bind last-command and next-command when invoking the
9332         widget updates.
9333         * gui-x.c (popup_selection_callback): ditto.
9334
9335         * gui.c (get_gui_callback): massage args so that we are always
9336         calling eval. This allows us to add our own variable bindings
9337         outside.
9338
9339         * glyphs-x.c (x_button_instantiate): use
9340         gui_items_to_widget_values since this is GC safe.
9341         (x_progress_gauge_instantiate): ditto.
9342         (x_edit_field_instantiate): ditto.
9343         (x_label_instantiate): ditto.
9344
9345         * event-Xt.c (emacs_Xt_handle_magic_event): remove old printfs.
9346         (emacs_Xt_event_widget_focus_out): new function
9347         (emacs_Xt_event_widget_focus_in): new function. Set the keyboard
9348         focus.
9349         (emacs_Xt_event_add_widget_actions): new function. add focus
9350         functions as actions.
9351         (init_event_Xt_late): use it.
9352
9353 2000-04-14  Hrvoje Niksic  <hniksic@iskon.hr>
9354
9355         * event-stream.c (Fdispatch_event): Doc fix.
9356
9357 2000-03-29  SL Baur  <steve@musashimaru.m17n.org>
9358
9359         * postgresql.c: Remove all references to PQsetenv*.
9360
9361         * postgresql.h: Remove references to PGsetenvHandler object.
9362         * lrecord.h (lrecord_type): Ditto.
9363
9364 2000-04-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
9365
9366         * glyphs-msw.h (struct mswindows_image_instance_data): Added
9367         real_heigh and real_width members, and accessor macros for these.
9368
9369         * glyphs-msw.c (init_image_instance_geometry): New function.
9370         (init_image_instance_from_dibitmap): Use it.
9371         (mswindows_resource_instantiate): Use it.
9372         (init_image_instance_from_xbm_inline): Use it.
9373         (mswindows_initialize_image_instance_mask): Use real bitmap
9374         geometry.
9375         (mswindows_create_resized_bitmap): Ditto.
9376         (mswindows_create_resized_mask): Ditto.
9377
9378         * redisplay-msw.c (mswindows_output_dibitmap): Stretch real mask
9379         and bitmap to their surface size.
9380
9381 2000-04-11  Jan Vroonhof  <jan@xemacs.org>
9382
9383         * process-unix.c (unix_send_process): Guard against process MIA
9384         after Faccept_process_output.
9385
9386 2000-04-11  Ben Wing  <ben@xemacs.org>
9387
9388         * eval.c (unbind_to_hairy): fix brokenness introduced by
9389         nanosecond speed improvements.
9390
9391 2000-04-07  Raymond Toy  <toy@rtp.ericsson.se>
9392
9393         * sunplay.c (init_device): To play sounds correctly, the device
9394         apparently needs to be initialized at least once by XEmacs.  Make
9395         it so.
9396
9397 2000-04-10  IKEYAMA Tomonori  <tomonori@suiyokai.org>
9398
9399         * redisplay.c (add_margin_runes): Add text image glyph
9400           handling.
9401
9402 2000-04-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
9403
9404         * lisp.h (DOESNT_RETURN): Don't declare as volatile when
9405         gcc is newer than 2.5.
9406
9407 2000-04-06  Colin Rafferty  <colin@xemacs.org>
9408
9409         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF): Created.
9410
9411         * fns.c (size_bit_vector):
9412         * alloc.c (size_vector):
9413         (make_vector_internal):
9414         (make_bit_vector_internal):
9415         (sweep_bit_vectors_1):
9416         Replace calls to offsetof with FLEXIBLE_ARRAY_STRUCT_SIZEOF macro.
9417
9418 2000-04-06  Andy Piper  <andy@xemacs.org>
9419
9420         * gmalloc.c (malloc): undo previous change.
9421         (malloc): ditto.
9422         (free): ditto.
9423         (realloc): ditto.
9424
9425 2000-04-06  IKEYAMA Tomonori <tomonori@suiyokai.org>
9426
9427         * line-number.c (buffer_line_number): Revert to former version.
9428
9429 2000-04-06  Andy Piper  <andy@xemacs.org>
9430
9431         * gmalloc.c (malloc): add error checking.
9432         (malloc): ditto.
9433         (free): ditto.
9434         (realloc): ditto.
9435
9436         * dialog-x.c (dbox_descriptor_to_widget_value): add extra
9437         button_item_to_widget_value arg.
9438
9439         * glyphs-x.c (x_button_instantiate): add extra
9440         button_item_to_widget_value arg.
9441         (x_progress_gauge_instantiate): ditto.
9442         (x_edit_field_instantiate): ditto.
9443         (x_label_instantiate): ditto.
9444
9445         * gui-x.c (gui_items_to_widget_values_1): add extra
9446         button_item_to_widget_value arg.
9447         (button_item_to_widget_value): add extra menu_item_p arg.
9448
9449         * gui-x.h: change signature of button_item_to_widget_value.
9450
9451         * menubar-x.c (menu_item_descriptor_to_widget_value_1): add extra
9452         button_item_to_widget_value arg.
9453
9454 2000-04-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
9455
9456         * buffer.h (struct buffer): auto_save_modified should be long.
9457
9458 2000-04-05  Andy Piper  <andy@xemacs.org>
9459
9460         * glyphs-widget.c (widget_instantiate): pixwidth != pixheight
9461         type.
9462         (button_query_geometry): give a little more room so that athena
9463         buttons fit.
9464
9465 2000-04-05  Andy Piper  <andy@xemacs.org>
9466
9467         * faces.c (complex_vars_of_faces): The widget face should inherit
9468         the font of the gui-element face.
9469
9470 2000-04-04  Andy Piper  <andy@xemacs.org>
9471
9472         * glyphs-x.c (x_button_update): new function. unconditionally
9473         update a button's state when the instance is dirty.
9474         (image_instantiator_format_create_glyphs_x): add x_button_update.
9475         (x_widget_instantiate): remove old resize cruft.
9476
9477 2000-04-02  Andy Piper  <andy@xemacs.org>
9478
9479         * frame.c (change_frame_size_1): The introduction of gutters means
9480         that we need to allow 0 as a potential frame dimension.
9481
9482 2000-04-02  IKEYAMA Tomonori  <tomonori@suiyokai.org>
9483
9484         * redisplay.c (add_glyph_rune): Don't set 0 to bufpos for text
9485         image glyph if allow_cursor.
9486         (add_hscroll_rune): Don't allow cursor to border glyph.
9487         (create_text_block): Ditto.
9488
9489         * redisplay-output.c (redisplay_move_cursor): Do nothing even if
9490         text not in buffer.
9491         (redisplay_output_layout): Call ensure_face_cachel_complete for
9492         text image glyph.
9493
9494
9495 2000-03-16  IKEYAMA Tomonori  <tomonori@suiyokai.org>
9496
9497         * redisplay.c (add_glyph_rune): Adding text image as text runes.
9498
9499         * redisplay-output.c (redisplay_move_cursor): NO_CURSOR if text
9500         not in buffer
9501
9502         * redisplay-tty.c (tty_output_display_block): Delete the routine
9503         for text image glyph
9504         * redisplay-x.c (x_output_display_block): ditto
9505         * redisplay-msw.c (mswindows_output_display_block): ditto
9506
9507 2000-02-02  Mike Alexander  <mta@arbortext.com>
9508
9509         Note: Some of these were committed by accident as part of other
9510         patches.
9511
9512         * regex.c (regex_compile): Avoid compiler warnings.
9513
9514         * ntproc.c (sys_spawnve): Avoid compiler warnings.
9515
9516         * nt.h: Declare term_ntproc correctly.
9517
9518         * nt.c: Remove incorrect declaration of get_home_directory which
9519         is declared correctly in lisp.h.
9520
9521         * keymap.c (get_keyelt): Avoid compiler warnings.
9522         (raw_lookup_key_mapper): Avoid compiler warnings.
9523
9524         * gutter.c (gutter_was_visible): Add return statement to avoid warning.
9525
9526         * glyphs-eimage.c (png_instantiate): Avoid compiler warnings.
9527
9528         * filemode.c (mode_string): Avoid compiler warnings.
9529
9530         * file-coding.c (Fcoding_system_aliasee): Add return statement to
9531         avoid warning.
9532
9533         * events-mod.h: Undef some things that winuser.h defines differently.
9534
9535         * data.c (Faset): Avoid compiler warnings.
9536
9537         * alloc.c (Fmake_byte_code): Avoid compiler warnings.
9538
9539 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
9540
9541         * sound.c (Fplay_sound_file): Wrap ESD in start/stop_interrupts.
9542         Fall through to simple beep on error.
9543         Replace "extern" by real header file.
9544
9545         * linuxplay.c: Use nativesound.h
9546         (play_sound_data): Return error code. Be less verbose on error.
9547
9548         * sunplay.c: Use nativesound.h
9549         (play_sound_data): Return error code. Be less verbose on error.
9550
9551         * ntplay.c: Use nativesound.h
9552         (play_sound_data): Return fake error code
9553
9554         * sgiplay.c: Use nativesound.h
9555         (play_sound_data): Return error code
9556
9557         * hpplay.c: Use nativesound.h, partially implement
9558         new error code. Break compilation until finished.
9559         (play_sound_data): error code.
9560
9561         * nativesound.h (play_sound_file):
9562           (play_sound_data): Prototype in new header.
9563
9564 2000-03-31  Andy Piper  <andy@xemacs.org>
9565
9566         * glyphs-widget.c: (button_query_geometry): new function. Adjust
9567         for toggle and radio buttons.
9568         (image_instantiator_buttons): use it.
9569
9570 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
9571
9572         * scrollbar-x.c (x_update_vertical_scrollbar_callback):
9573         (x_update_horizontal_scrollbar_callback): Return if no mirror was
9574         found. Scrollbar event probably belonged to some old config.
9575
9576 2000-03-31  Andy Piper  <andy@xemacs.org>
9577
9578         * glyphs-widget.c (widget_instantiate): use LAYOUT_VERTICAL rather
9579         than 1.
9580         (initialize_widget_image_instance): default layout to
9581         LAYOUT_HORIZONTAL rather than 0.
9582         (widget_instantiate): reverse the item list at the end rather than
9583         every iteration.
9584         (layout_layout): re-code for the border text at the front of the
9585         item list rather than at the end.
9586         (layout_query_geometry): ditto. Pick up fixed and dynamic sizes
9587         provided by the user.
9588         (widget_query_geometry): comment.
9589
9590 2000-03-30  Andy Piper  <andy@xemacs.org>
9591
9592         * glyphs-widget.c (image_instantiator_layout): allow standard
9593         widget keywords in layouts.
9594
9595         * gutter.c (output_gutter): cope with nil gutter contents.
9596
9597         * frame.c (Fset_frame_properties): add gutter docs.
9598
9599 2000-03-29  Andy Piper  <andy@xemacs.org>
9600
9601         * toolbar-msw.c (TBSTYLE_FLAT): add.
9602         (mswindows_output_toolbar): minor fiddling.
9603
9604 2000-03-29  Andy Piper  <andy@xemacs.org>
9605
9606         * gutter.c (output_gutter): force gutter size recalculation if
9607         what we are trying to display won't fit.
9608         (update_gutter_geometry): new function. A per-gutter version of
9609         update_frame_gutter_geometry.
9610         (update_frame_gutter_geometry): use it.
9611         (redraw_exposed_gutter): add extra debugging output.
9612
9613 2000-03-28  Mike Alexander  <mta@arbortext.com>
9614
9615         * dumper.c: Declare pdump_hFile and pdump_hMap (Windows only)
9616         (pdump_file_unmap): Implement it on Windows
9617         (pdump_file_get): Save alocated handles for pdump_file_unmap
9618
9619 2000-03-28  Andy Piper  <andy@xemacs.org>
9620
9621         * gui.c (get_gui_callback): treat Quit specially.
9622
9623 2000-03-27  Andy Piper  <andy@xemacs.org>
9624
9625         * glyphs.c (image_instantiate): be careful to check in the same
9626         way we assigned.
9627
9628 2000-03-27  Didier Verna  <didier@xemacs.org>
9629
9630         * config.h.in: define the proper SMART_INCLUDE macro.
9631         handle renaming of `foo_h_path' to `foo_h_file'.
9632
9633         * database.c: ditto.
9634
9635         * emacs.c: ditto.
9636
9637         * linuxplay.c: ditto.
9638
9639         * terminfo.c: ditto.
9640
9641         * tooltalk.h: ditto.
9642
9643 2000-03-27  Andy Piper  <andy@xemacs.org>
9644
9645         * glyphs-msw.c (mswindows_update_widget): make sure the widget
9646         gets updated whenever the face might have changed.
9647
9648 2000-03-26  Mike Alexander  <mta@arbortext.com>
9649
9650         * dumper.c (pdump_resource_free): Fix the comment.
9651
9652 2000-03-21  Olivier Galibert  <galibert@pobox.com>
9653
9654         * input-method-xlib.c (XIM_init_frame): Remove painful warning.
9655
9656 2000-03-22  Mike Alexander  <mta@arbortext.com>
9657
9658         * dumper.c: Include Windows headers on Windows
9659         (pdump_resource_free): Add a body to the function
9660         (pdump_load): exe_name -> exe_path and add some comments.
9661
9662 2000-03-25  Mike Alexander  <mta@arbortext.com>
9663
9664         * gui.c (copy_gui_item_tree): Return a value in all cases
9665
9666 2000-03-21  Didier Verna  <didier@xemacs.org>
9667
9668         * config.h.in: move INCLUDE_GLUE_1 and INCLUDE_GLUE_2 here from
9669         lwlib/config.h.in.
9670         (SMART_INCLUDE): new macro.
9671         (POSTGRES_INCLUDE): new macro to include postgresql headers from
9672         the proper location.
9673
9674         * postgresql.c: use it.
9675
9676         * inline.c: ditto.
9677
9678 2000-03-24  Andy Piper  <andy@xemacs.org>
9679
9680         * gutter.c (redraw_exposed_gutters): must be "in display" when we
9681         do this.
9682
9683 2000-03-24  Andy Piper  <andy@xemacs.org>
9684
9685         * redisplay-output.c (compare_runes): use image_instance_changed
9686         to detect changes. Do not depend on glyphs_changed, only depend on
9687         dirtiness.
9688          (redisplay_output_layout): add debug messages.
9689         (compare_runes): ditto.
9690
9691         * glyphs.h: declare new functions.
9692         (struct Lisp_Image_Instance): remove percent and associated
9693         accessors.
9694
9695         * gui.h: declare new copying functions.
9696
9697         * gui.c (copy_gui_item_tree): new function.
9698         (copy_gui_item): new function.
9699         (gui_item_id_hash): revert to standard hash.
9700         (gui_item_hash): ditto.
9701         (gui_item_hash_internal): deleted.
9702         (mark_gui_item): mark value.
9703         (gui_item_add_keyval_pair): add value.
9704         (gui_item_init): ditto.
9705         (gui_add_item_keywords_to_plist): ditto.
9706         (gui_item_equal): ditto.
9707         (syms_of_gui): add Q_value.
9708
9709         * glyphs-x.c (x_progress_gauge_update): use pending items and
9710         value for setting the state.
9711         (x_update_widget): don't set items from pending here.
9712
9713         * glyphs-widget.c (update_widget): update items here.
9714         (progress_gauge_set_property): use items for storing value. Put
9715         new value in pending items.
9716
9717         * glyphs-msw.c (mswindows_progress_gauge_update): use pending
9718         items for new value. Convert percent -> value.
9719         (mswindows_tab_control_update): don't update items here.
9720
9721         * glyphs.c (Fupdate_widget_instances): use image_instance_changed.
9722         (update_subwindow): ditto.
9723         (image_instance_changed): new function. Compare hash values and
9724         past and present widget items.
9725         (image_instantiate): We more careful about where we instantiate
9726         things.
9727         (image_instantiate): add error checking.
9728
9729         * gutter.c (syms_of_gutter): use -hook.
9730
9731 2000-03-20  Yoshiki Hayashi  <yoshiki@xemacs.org>
9732
9733         * console-tty.c (Fset_console_tty_input_coding_system): Use
9734         Qkeyboard.
9735         (Fset_console_tty_output_coding_system): Use Qterminal.
9736         (tty_init_console): Use Qkeyboard and Qterminal.
9737
9738 2000-03-21  Ben Wing  <ben@xemacs.org>
9739
9740         * ntproc.c (create_child): remove bogus HAVE_NTGUI's.
9741         From Mike Alexander <mta@arbortext.com>.
9742
9743 2000-03-21  Ben Wing  <ben@xemacs.org>
9744
9745         * event-msw.c (mswindows_need_event): Horrible kludge to fix
9746         process brokenness.  Proper implementation to come.
9747         * callproc.c:
9748         Rename call-process-internal to old-call-process-internal.
9749         New impl. in process.el.
9750
9751 2000-03-21  Martin Buchholz  <martin@xemacs.org>
9752
9753         * Makefile.in.in: Coalesce HAVE_NATIVE_SOUND code fragments.
9754
9755 2000-03-20  Andy Piper  <andy@xemacs.org>
9756
9757         * glyphs.c (full_list_hash): make hashes of the same elements in
9758         different orders return different values.
9759
9760 2000-03-20  Martin Buchholz <martin@xemacs.org>
9761
9762         * XEmacs 21.2.32 is released.
9763
9764 2000-03-20  Martin Buchholz  <martin@xemacs.org>
9765
9766         * buffer.h (DFC_ALLOCA_USE_CONVERTED_DATA):
9767         (DFC_MALLOC_USE_CONVERTED_DATA):
9768         Add aliasing-safe casts to allow use with char* or unsigned char*
9769         lvalues.
9770
9771         * eldap.c (Fldap_open):
9772         (Fldap_search_basic):
9773         (Fldap_add):
9774         (Fldap_modify):
9775         Make C++-compilable.
9776         Make sure GCPRO'ed variables are initialized.
9777         Use temp variables to avoid repeated calls to Flength.
9778
9779 2000-03-16  Martin Buchholz  <martin@xemacs.org>
9780
9781         * sysfile.h:
9782         Make sure PATH_MAX is always defined.
9783         Include limits.h for PATH_MAX.
9784         Deprecate use of MAXPATHLEN.
9785
9786 2000-03-10  Martin Buchholz  <martin@xemacs.org>
9787
9788         * emacs.c: Add reinit_vars_of_fileio.
9789         * symsinit.h: Add reinit_vars_of_fileio.
9790         * fileio.c (reinit_vars_of_fileio): New.
9791         * fileio.c (Fmake_temp_name):
9792         Initialize temp_name random number from microseconds to make
9793         collisions even less likely.  Initialize always at process startup
9794         time.  (make-temp-name) used to return the same file name twice in
9795         a row when PDUMP.
9796         Random stylistic fiddling.
9797         Comment fixes.
9798
9799 2000-03-20  Andy Piper  <andy@xemacs.org>
9800
9801         * glyphs.c (image_instantiate): allow text glyphs to be
9802         instantiated in the minibuffer window.
9803
9804 2000-03-19  Andy Piper  <andy@xemacs.org>
9805
9806         * glyphs.c (image_instance_hash): be careful about which items we
9807         hash on.
9808
9809         * glyphs-widget.c (tab_control_set_property): record into pending
9810         items rather than the actual items.
9811
9812         * glyphs-x.c (x_update_widget): use pending items to update with.
9813
9814         * glyphs-msw.c (mswindows_tab_control_update): use pending items
9815         to update with.
9816
9817         * glyphs.c (mark_image_instance): mark pending items.
9818
9819         * window.c (Fset_window_configuration): record the buffer.
9820         (Fselect_window): totally revert previous change which breaks many
9821         things.
9822
9823 2000-03-18  Andy Piper  <andy@xemacs.org>
9824
9825         * glyphs-msw.c (mswindows_tab_control_update): force selected
9826         item.
9827
9828         * glyphs.c (image_instantiate): don't allow the minibuffer as a
9829         window domain cache, otherwise we get inconsistencies at
9830         startup. There is something fishy at startup which can lead to the
9831         minibuffer being the selected window when the gutter content is
9832         instantiated.
9833
9834         * gui.c (parse_gui_item_tree_list): add probably unnecessary
9835         gcpros.
9836         (parse_gui_item_tree_children): ditto.
9837         (parse_gui_item_tree_item): ditto.
9838
9839         * glyphs.c (Fupdate_widget_instances): return something.
9840
9841 2000-03-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
9842
9843         * window.c (Fselect_window): Undo 2000-03-17 change.
9844
9845 2000-03-17  SL Baur  <steve@musashimaru.m17n.org>
9846
9847         * postgresql.c (Fpq_setenv): Remove this turkey when linking
9848         against v7.0 libraries.  Insta-coredump city until the postgres
9849         folks fix it.
9850
9851 2000-03-17  Andy Piper  <andy@xemacs.org>
9852
9853         * faces.c (complex_vars_of_faces): don't give the widget face an
9854         inherited background pixmap.
9855
9856         * glyphs-msw.c (mswindows_tab_control_instantiate): select the
9857         selected item.
9858
9859         * event-stream.c (Fdispatch_non_command_events): return something.
9860
9861         * gutter.c (output_gutter): use widget face.
9862         (clear_gutter): ditto.
9863
9864         * NEWS: adjust again.
9865
9866         * window.c (Fselect_window): make sure this runs to completion to
9867         avoid oddities with Fset_window_configuration.
9868         (Fcurrent_window_configuration): in general do not save the
9869         minibuffer as the selected window.
9870
9871         * glyphs.h (IMAGE_INSTANCE_HASH_DEPTH): increase.
9872
9873 2000-03-16  Olivier Galibert  <galibert@pobox.com>
9874
9875         * emacs.c (Frunning_temacs_p): Revert previous patch.
9876         (main_1): Reinitialize running_temacs_argc if pdump_load succeeds.
9877
9878 2000-03-16  Andy Piper  <andy@xemacs.org>
9879
9880         * glyphs-x.c (x_tab_control_update): if no widget values then
9881         return.
9882
9883         * NEWS: update for new features.
9884
9885         * event-Xt.c (emacs_Xt_force_event_pending): new function. Post a
9886         synthetic event to the native system.
9887         (reinit_vars_of_event_Xt): set force_event_pending to
9888         emacs_Xt_force_event_pending.
9889
9890         * events.h (struct event_stream): add force_event_pending.
9891
9892         * specifier.c (recompute_one_cached_specifier_in_window): add
9893         comment.
9894
9895         * redisplay.c (redisplay_frame): don't call
9896         update_frame_subwindows. Reset subwindow cachels when
9897         subwindows_changed, removing this was an optimization too far.
9898
9899         * redisplay-output.c (compare_runes): reorganize so that we catch
9900         glyph changes when we want them. Set optimize_output when this
9901         would help layouts.
9902         (redisplay_output_layout): remove frame_really_changed, use
9903         optimize_output instead.
9904
9905         * redisplay-msw.c (mswindows_output_display_block): reset
9906         optimize_output after outputting a glyph.
9907         * redisplay-x.c (x_output_display_block): ditto.
9908         * redisplay-tty.c (tty_output_display_block): ditto.
9909
9910         * gutter.c: (specifier_vars_of_gutter): use new spec changed
9911         functions.
9912         (gutter_specs_changed): do specific gutter positions.
9913         (top_gutter_specs_changed): new function. Only update the
9914         specified gutter specs.
9915         (bottom_gutter_specs_changed): ditto.
9916         (left_gutter_specs_changed): ditto.
9917         (right_gutter_specs_changed): ditto.
9918
9919         * gui.c (gui_item_hash_internal): new function, does a real hash.
9920         (gui_item_id_hash): use it.
9921         (gui_item_hash): hash the eval'ed gui_item.
9922
9923         * gui-x.c (popup_selection_callback): send an eval event to call
9924         Fupdate_widget_instances.
9925
9926         * gui-msw.c (mswindows_handle_gui_wm_command): send an eval event
9927         to call Fupdate_widget_instances.
9928
9929         * glyphs.h (struct Lisp_Image_Instance): add optimize_output flag.
9930         (IMAGE_INSTANCE_OPTIMIZE_OUTPUT): access it.
9931
9932         * glyphs.c: (update_frame_subwindows): deleted.
9933         (Fupdate_widget_instances): new function for updating the dirty
9934         state of widgets that might have changed.
9935         (syms_of_glyphs): add Qupdate_widget_instances.
9936         (full_list_hash): hash a list completely.
9937         (image_instance_hash): use it for items and properties.
9938
9939         * frame-msw.c (mswindows_size_frame_internal): remove unused
9940         variable.
9941
9942         * faces.h (struct face_cachel): fix comment.
9943
9944         * event-stream.c (Fdispatch_non_command_events): new
9945         function. Process non-command events, forcing an event cycle
9946         beforehand.
9947         (syms_of_event_stream): declare.
9948         (event_stream_force_event_pending): new function. Force an event
9949         on the native event queue so that an event cycle will occur next
9950         time we check.
9951
9952         * event-msw.c:
9953         (struct ntpipe_shove_stream):
9954         (mswindows_enqueue_dispatch_event):
9955         (mswindows_dequeue_dispatch_event):
9956         (mswindows_cancel_dispatch_event):
9957         (mswindows_pump_outstanding_events):
9958         (mswindows_drain_windows_queue):
9959         (mswindows_handle_paint):
9960         (mswindows_wnd_proc):
9961         (mswindows_key_to_emacs_keysym):
9962         (get_process_input_waitable):
9963         (emacs_mswindows_delete_stream_pair): re-indent file.
9964         (mswindows_need_event): do not process further fds if the windows
9965         fd is set, otherwise you get endless XM_BUMPQUEUE cycles. This
9966         fixes the 100% cpu problem.
9967         (reinit_vars_of_event_mswindows): set force_event_pending to 0.
9968
9969 2000-03-15  Olivier Galibert  <galibert@pobox.com>
9970
9971         * alloc.h: New.
9972         * dumper.h: New.
9973         * dumper.c: New.
9974
9975         * emacs.c: Moved dump file searching to dumper.c.
9976         (Frunning_temacs_p): Fixed.
9977
9978         * alloc.c: Moved everything pdump-related to dumper.c.  Removed
9979         last_lrecord_type_index_assigned.
9980
9981 2000-02-20  Olivier Galibert  <galibert@pobox.com>
9982
9983         * symsinit.h: Added reinit parameter to init_console_stream
9984         declaration.
9985
9986         * lisp.h: Added file parameter to pdump_load declaration.
9987
9988         * emacs.c (main_1): Added -nd/--nodump-file and -sd/--show-dump-id
9989         support.  Added dump file searching.
9990
9991         * config.h.in: Added EMACS_PROGNAME.
9992
9993         * console-stream.c (init_console_stream): Fix reinitialisation
9994         when running from temacs.
9995
9996         * alloc.c (pdump): Add id support.
9997         (pdump_load): Add file parameter and signature/id support.
9998
9999         * Makefile.in.in: Add full pdump support.
10000
10001 2000-03-15  SL Baur  <steve@musashimaru.m17n.org>
10002
10003         * postgresql.c: Update documentation to reflect latest code
10004         status.
10005         (print_result): Show tuple counts in printed representation when
10006         appropriate.
10007         (Fpq_put_nbytes): MULE-ize.
10008         (Fpq_get_line_async): Ditto.
10009
10010 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
10011
10012         * postgresql.c (Fpq_lo_import): Fix return value.
10013         Suggested by: Kenji Itoh <keit@tpj.co.jp>.
10014
10015 2000-03-13  Ben Wing  <ben@xemacs.org>
10016
10017         * alloc.c (pdump_load):
10018         Fix compile warning under mswin.
10019
10020 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
10021
10022         * postgresql.c: Mule-ization, bug fixes.
10023         Use PG_CODING to encapsulate coding system name changes.
10024         Backport a version of TO_EXTERNAL format for 21.1/InfoDock.
10025         (pg-coding-system): Create.
10026
10027         (Fpq_conn_defaults): Mule-ize.
10028         (Fpq_connectdb): Mule-ize & bug fix.
10029         (Fpq_connect_start): Mule-ize.
10030         (Fpq_set_client_encoding): Mule-ize.
10031         (Fpq_finish): Document `DEAD' connection status.
10032         (Fpq_clear): Ditto.
10033         (Fpq_pgconn): Mule-ize.
10034         (Fpq_exec): Mule-ize & bug fix.
10035         (Fpq_send_query): Ditto.
10036         (Fpq_get_result): Ditto.
10037         (Fpq_res_status): Mule-ize.
10038         (Fpq_result_error_message): Mule-ize.
10039         (Fpq_ntuples): fix comments.
10040         (Fpq_fname): Mule-ize.
10041         (Fpq_fnumber): Mule-ize.
10042         (Fpq_ftype): fix comments.
10043         (Fpq_get_value): Mule-ize.
10044         (Fpq_cmd_status): Ditto.
10045         (Fpq_cmd_tuples): Ditto.
10046         (Fpq_oid_value): Ditto.
10047         (Fpq_notifies): Ditto.
10048         (Fpq_lo_import): Ditto.
10049         (Fpq_lo_export): Ditto.
10050         (Fpq_get_line): Ditto.
10051         (Fpq_put_line): Mule-ize and bug fix.
10052         (syms_of_postgresql): Fix ifdef'ing, add pg-coding-system.
10053
10054 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
10055
10056         * postgresql.c (vars_of_postgresql): Mule-ize.
10057         (Fpq_conn_defaults): Ditto.
10058
10059 2000-03-12  Ben Wing  <ben@xemacs.org>
10060
10061         * alloc.c (Fmake_byte_code):
10062         * alloc.c (debug_string_purity_print):
10063         * alloc.c (pdump_backtrace):
10064         * alloc.c (pdump_get_indirect_count):
10065         * alloc.c (pdump_register_sub):
10066         * alloc.c (pdump_register_object):
10067         * alloc.c (pdump_register_struct):
10068         * alloc.c (pdump_dump_data):
10069         * alloc.c (pdump_reloc_one):
10070         Minor cleanups.
10071
10072         * console-msw.c:
10073         * console-msw.c (GetConsoleHwnd):
10074         * console-msw.c (msw_hide_console):
10075         * console-msw.c (msw_show_console):
10076         * console-msw.c (msw_ensure_console_buffered):
10077         * console-msw.c (msw_output_console_string):
10078         * console-msw.c (console_type_create_mswindows):
10079
10080         a) Added functions to manipulate the console window for use with
10081         shell support.
10082
10083         b) Added support for writing text to the console, which is now
10084         used under Windows when xemacs is not being run non-interactively,
10085         to write text that would otherwise be destined for stdout because
10086         under these circumstances, text written to stdout tends to
10087         disappear and not be seen.
10088
10089         * console-msw.h:
10090         * event-Xt.c:
10091         * event-Xt.c (x_event_to_emacs_event):
10092         * event-Xt.c (describe_event_window):
10093         * events-mod.h (XEMACS_MOD_CONTROL):
10094         * events.c:
10095         * events.c (Fmake_event):
10096         * events.c (character_to_event):
10097         * events.c (event_to_character):
10098         * events.c (format_event_object):
10099         * events.c (Fevent_modifiers):
10100         * events.h:
10101         * events.h (struct key_data):
10102         * events.h (struct button_data):
10103         * events.h (struct misc_user_data):
10104         * frame-x.c (Fcde_start_drag_internal):
10105         * frame-x.c (Foffix_start_drag_internal):
10106         * gpmevent.c (Freceive_gpm_event):
10107         * keymap.c:
10108         * keymap.c (bucky_sym_to_bucky_bit):
10109         * keymap.c (control_meta_superify):
10110         * keymap.c (make_key_description):
10111         * keymap.c (keymap_lookup_directly):
10112         * keymap.c (create_bucky_submap):
10113         * keymap.c (keymap_store):
10114         * keymap.c (define_key_check_and_coerce_keysym):
10115         * keymap.c (define_key_parser):
10116         * keymap.c (define_key_alternate_name):
10117         * keymap.c (Fdefine_key):
10118         * keymap.c (raw_lookup_key_mapper):
10119         * keymap.c (struct map_keymap_unsorted_closure):
10120         * keymap.c (map_keymap_unsorted_mapper):
10121         * keymap.c (map_keymap_sort_predicate):
10122         * keymap.c (map_keymap_sorted):
10123         * keymap.c (accessible_keymaps_mapper_1):
10124         * keymap.c (where_is_recursive_mapper):
10125         * keymap.c (describe_map_mapper):
10126         * keymap.c (describe_map_sort_predicate):
10127         * keymap.c (describe_map):
10128         * keymap.c (complex_vars_of_keymap):
10129         And a number of other files, the key modifier preprocessor
10130         constants that xemacs uses have names that conflict with constants
10131         defined under MS Windows for other purposes, so they were renamed
10132         to begin with the prefix XEMACS_. The variables that hold such
10133         modifiers were changed to consistently be of type int to fix
10134         various compile warnings.
10135
10136         * console.c (complex_vars_of_console):
10137         * device.c:
10138         * device-msw.c:
10139         * device-msw.c (mswindows_finish_init_device):
10140         * device-msw.c (msw_get_workspace_coords):
10141         * device-msw.c (mswindows_device_system_metrics):
10142         and various other files, added support for a new
10143         device property called offset-workspace which returns the position
10144         of the upper left corner of the workspace area and goes along with
10145         the existing size-workspace property.
10146
10147         * dialog-msw.c:
10148         * dialog-msw.c (push_bufbyte_string_as_unicode):
10149         * dialog-msw.c (mswindows_popup_dialog_box):
10150         Added support for XEmacs-style accelerator specifications in
10151         button text.  Note: I didn't add support for this under X Windows,
10152         and somebody needs to do this.
10153
10154         * dialog.c:
10155         * dialog.c (Fpopup_dialog_box):
10156         Documented the support for accelerators that was just mentioned.
10157
10158         editfns.c (get_home_directory): Changed behavior under Windows
10159         when HOME not defined; former behavior was irretrievably broken.
10160
10161         * emacs.c:
10162         * emacs.c (main_1):
10163         * emacs.c (main):
10164         * minibuf.c (clear_echo_area_internal):
10165         * minibuf.c (echo_area_append):
10166         * print.c:
10167         * print.c (std_handle_out_external):
10168         * print.c (std_handle_out_va):
10169         * print.c (fatal):
10170         * print.c (write_string_to_stdio_stream):
10171         * print.c (output_string):
10172         * print.c (debug_print):
10173         * print.c (debug_backtrace):
10174         * print.c (debug_short_backtrace):
10175         Cleaned up the code that prints text to stdout so that this can be
10176         changed to output into a console window instead under MS Windows,
10177         as described above.
10178
10179         * eval.c:
10180         * eval.c (DEFEND_AGAINST_THROW_RECURSION):
10181         * eval.c (internal_catch):
10182         * eval.c (unwind_to_catch):
10183         * eval.c (throw_or_bomb_out):
10184         * eval.c (condition_case_1):
10185         * eval.c (signal_1):
10186         * eval.c (check_error_state_sanity):
10187         * eval.c (call_with_suspended_errors_1):
10188         * eval.c (call_with_suspended_errors):
10189         * eval.c (reinit_vars_of_eval):
10190         Added code to catch throw loops and check for a pesky bug that may
10191         be gone now.
10192
10193         * event-msw.c:
10194         * event-msw.c (key_needs_default_processing_p):
10195         * event-msw.c (mswindows_wnd_proc):
10196         * event-msw.c (mswindows_modifier_state):
10197         * event-msw.c (emacs_mswindows_quit_p):
10198         * event-msw.c (vars_of_event_mswindows):
10199         a) Added support for using the alt key to select menu items as is
10200         standard under MS Windows.  This is controlled using the variable
10201         menu-accelerator-enabled, just like under X Windows.  There is an
10202         option on the options menu to turn this support on.  I really
10203         think that it should be on by default under Windows, but I'm not
10204         going to make this change yet.
10205
10206         b)  Added support for dynamic display size changes under Windows.
10207
10208         * event-stream.c:
10209         * event-stream.c (maybe_echo_keys):
10210         * event-stream.c (Fnext_event):
10211         * event-stream.c (command_builder_find_leaf):
10212         * event-stream.c (lookup_command_event):
10213         * event-stream.c (execute_command_event):
10214         * event-stream.c (pre_command_hook):
10215         * event-stream.c (post_command_hook):
10216         * event-stream.c (syms_of_event_stream):
10217         * event-stream.c (vars_of_event_stream):
10218         * event-stream.c (complex_vars_of_event_stream):
10219         * events.h (struct command_builder):
10220
10221         a) Tried to clean up a little bit the horribly written x-specific
10222         accelerator code that crept into this file.  I moved this code
10223         into menubar-x.c where it belongs. I also needed to move the
10224         command builder structure into the file events.h because it is
10225         accessed directly by this accelerator code.  What I didn't do, but
10226         which should be done at some point, is to properly abstract this
10227         code using device methods instead of the kludgy way that it
10228         currently hooks into the event code.
10229
10230         b) Added the lisp variables this-command-properties and
10231         last-command- properties, which should be used to synchronize two
10232         adjacent commands in preference to playing games with the variable
10233         this-command, which is typically what happens.
10234
10235         c) Added some slightly nasty code to hook into the lisp support
10236         for shifted- motion-key selection.  This is actually necessary for
10237         somewhat complicated reasons, which are described in
10238         simple.el. (NB: I think the proper thing would be to have the code
10239         that calls the pre and post command hooks also call out to generic
10240         lisp functions in simple.el, where all built-in stuff could be
10241         added.  I will think about this more.)
10242
10243         * event-unixoid.c (poll_fds_for_input):
10244         * lread.c (readchar):
10245         * redisplay-tty.c (tty_clear_frame):
10246         * redisplay-x.c (x_get_gc):
10247         * signal.c (interrupt_signal):
10248         And a whole bunch of other files: fixed up places that printed
10249         directly to stderr to instead call the function stderr_out so that
10250         the changes I made under Windows work correctly.
10251
10252         * filemode.c (mode_string):
10253         Warning fixes.
10254
10255         * frame-msw.c:
10256         * frame-msw.c (mswindows_size_frame_internal):
10257         Fixed the computation of frame size and position to keep the frame
10258         within the workspace area, rather than within the physical
10259         dimensions of the screen, so that the frame doesn't overlap window
10260         manager decorations, such as the start menu and toolbar, typically
10261         at the bottom of the screen.
10262
10263         * frame.c (vars_of_frame):
10264         Changed the default frame title format under MS Windows to consist
10265         of buffername-XEmacs, which is standard under MS Windows.  I think
10266         it might be a good idea to change this everywhere because I think
10267         it is superior to the current frame title format, but this is the
10268         kind of change that is likely to cause some people to get annoyed,
10269         so I'm not making it.
10270
10271         * glyphs-eimage.c (png_instantiate): Fixed some compile warnings.
10272
10273         * gui-msw.c (mswindows_handle_gui_wm_command):
10274         Fixed compile warnings.
10275
10276         * gui-x.c:
10277         * gui-x.c (strdup_and_add_accel):
10278         * gui-x.c (button_item_to_widget_value):
10279         * gui-x.h:
10280         Added code to automatically put an accelerator onto the beginning
10281         of menu items that don't have one as is now the standard, and is
10282         described more later.  Also fixed things so that the menu item
10283         name can be an evaluated expression, again a new standard.
10284
10285         * gui.c:
10286         * gui.c (gui_item_add_keyval_pair):
10287         * gui.c (make_gui_item_from_keywords_internal):
10288         * gui.c (gui_add_item_keywords_to_plist):
10289         * gui.c (gui_item_accelerator):
10290         * gui.c (gui_name_accelerator):
10291         * gui.c (gui_item_included_p):
10292         * gui.c (gui_item_display_flush_left):
10293         * gui.c (gui_item_display_flush_right):
10294         * gui.c (parse_gui_item_tree_item):
10295         * gui.c (parse_gui_item_tree_children):
10296         * gui.c (parse_gui_item_tree_list):
10297         Mule-ized.  Cleanup.  GCPRO addition.
10298
10299         * line-number.c (buffer_line_number):
10300         * lisp.h:
10301         * lisp.h (EMACS_INT_MAX):
10302         Added the manifest constant EMACS_INT_MIN corresponding to the
10303         existing constant EMACS_INT_MAX.  This is partially to fix compile
10304         warnings under Windows, and partly for cleanliness.
10305
10306         * menubar-msw.c:
10307         * menubar-msw.c (REPLACE_ME_WITH_GLOBAL_VARIABLE_WHICH_CONTROLS_RIGHT_FLUSH):
10308         * menubar-msw.c (msw_translate_menu_or_dialog_item):
10309         * menubar-msw.c (displayable_menu_item):
10310         * menubar-msw.c (populate_menu_add_item):
10311         * menubar-msw.c (populate_or_checksum_helper):
10312         * menubar-msw.c (populate_menu):
10313         * menubar-msw.c (update_frame_menubar_maybe):
10314         * menubar-msw.c (prune_menubar):
10315         * menubar-msw.c (msw_char_is_accelerator):
10316         * menubar-msw.c (unsafe_handle_wm_initmenu_1):
10317         * menubar-msw.c (mswindows_handle_wm_command):
10318         * menubar-msw.c (mswindows_handle_wm_initmenupopup):
10319         * menubar-msw.c (mswindows_handle_wm_initmenu):
10320         * menubar-msw.c (mswindows_update_frame_menubars):
10321         * menubar-msw.c (mswindows_free_frame_menubars):
10322         * menubar-msw.c (mswindows_popup_menu):
10323         Fixed a bug in handling accelerators where an extra character
10324         would be displayed in the menu item.  Also generalized the
10325         function displayable_menu_item because it is now used by the
10326         dialog box code as well.  And finally, added code in the functions
10327         that create the menubar to extract a list of accelerators for the
10328         top level menubar, which is used in the event code to determine
10329         whether a particular alt-key combination should be used to invoke
10330         a menu item, or should be passed through to access the standard
10331         XEmacs keymap binding for this key combination.
10332
10333         Much needed GCPROing.
10334
10335         * menubar-x.c:
10336         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
10337         * menubar-x.c (menu_item_descriptor_to_widget_value):
10338         * menubar-x.c (restore_in_menu_callback):
10339         * menubar-x.c (x_popup_menu):
10340         * menubar-x.c (menu_move_up):
10341         * menubar-x.c (menu_move_down):
10342         * menubar-x.c (menu_move_left):
10343         * menubar-x.c (menu_move_right):
10344         * menubar-x.c (menu_select_item):
10345         * menubar-x.c (command_builder_operate_menu_accelerator):
10346         * menubar-x.c (menu_accelerator_junk_on_error):
10347         * menubar-x.c (command_builder_find_menu_accelerator):
10348         * menubar-x.c (Faccelerate_menu):
10349         * menubar.h:
10350         Moved a whole bunch of code here that was previously in
10351         event-stream.c as described above.  There is also code connected
10352         to the new standard of adding an accelerator to the beginning of
10353         menu items that don't have one as described above and below.
10354
10355         * menubar.c:
10356         * menubar.c (menu_parse_submenu_keywords):
10357         * menubar.c (Fmenu_find_real_submenu):
10358         * menubar.c (Fnormalize_menu_item_name):
10359         * menubar.c (syms_of_menubar):
10360         * menubar.c (vars_of_menubar):
10361         * menubar.c (complex_vars_of_menubar):
10362
10363         a) Cleaned up a bunch of documentation and improved it.
10364
10365         b) XEmacs now automatically adds an accelerator onto the beginning
10366         of any menu items that don't have one.  I did this because there
10367         will inevitably be some menu items on the main menubar that don't
10368         have accelerators on them because the package that adds that
10369         particular menu item hasn't yet been fixed up to have accelerators
10370         in them and it looked rather strange to have some items with and
10371         some items without accelerators, especially since even in items
10372         without accelerators, you can, at least under windows, still
10373         access the item through an accelerator corresponding to the first
10374         character in the item's name.  If people don't like this behavior,
10375         I can add a variable to turn it off optionally, but I'm not sure
10376         this is a good idea because we really do need to have accelerators
10377         on all of the menu items, and if a package doesn't like the
10378         accelerators being put on the first character, then it should put
10379         the accelerators where they belong.
10380
10381         c) I made a behavior change, which is that the descriptor that
10382         specifies the text of the menu item, which formerly was just a
10383         string, can now also be an evaluated expression.  This makes this
10384         descriptor parallel with all of the others, which could also be
10385         evaluated expressions.  This also obviates the need for the
10386         keyword :label, which was previously listed in the documentation
10387         as unimplemented, and which was for the same purpose.
10388
10389         d) GCPROing.
10390
10391         * ntproc.c:
10392         * ntproc.c (new_child):
10393         * ntproc.c (sys_spawnve):
10394         * ntproc.c (find_child_console):
10395         * ntproc.c (sys_kill):
10396         Fixed compile warnings.  By the way, this file should really go
10397         away entirely, and this will happen as soon as Kirill makes his
10398         final round of process cleanups, which affect the function
10399         call-process.
10400
10401         * process-nt.c:
10402         * process-nt.c (struct nt_process_data):
10403         * process-nt.c (find_process_from_pid):
10404         * process-nt.c (send_signal_the_nt_way):
10405         * process-nt.c (enable_child_signals):
10406         * process-nt.c (find_child_console):
10407         * process-nt.c (send_signal_the_95_way):
10408         * process-nt.c (nt_finalize_process_data):
10409         * process-nt.c (ensure_console_window_exists):
10410         * process-nt.c (nt_create_process):
10411         * process-nt.c (nt_kill_child_process):
10412         * process-nt.c (nt_kill_process_by_pid):
10413         * process-nt.c (nt_open_network_stream):
10414         * process-nt.c (vars_of_process_nt):
10415         Copied over code from Emacs 20.5 to correctly send signals to sub-
10416         processes under Windows 95.  Also added code to automatically
10417         create and hide console window when a sub-process is created under
10418         Windows 95, which obviates the need for the separate runemacs.exe
10419         executable, and finally implemented some variables that were
10420         implemented in Emacs 20.5, but previously not in XEmacs.  These
10421         include mswindows- start-process-share-console and
10422         mswindows-start-process-inherit-error-mode. (Both of these only
10423         apply to Windows 95.)
10424
10425         * regex.c (regex_compile): Fixed a compile warning.
10426
10427         * select-msw.c:
10428         * select-msw.c (mswindows_own_selection):
10429         * select-msw.c (mswindows_get_foreign_selection):
10430         * select-msw.c (mswindows_disown_selection):
10431         * select-msw.c (console_type_create_select_mswindows):
10432         * select-msw.c (syms_of_select_mswindows):
10433         Cleaned up the file and implemented the device method
10434         selection_exists_p, which had accidentally been left out.  Also
10435         removed four lisp functions that were remnants from before the
10436         time when the selection code was properly device abstracted.
10437         These functions are no longer needed because there are generic
10438         equivalents, and because they were added recently and don't exist
10439         in FSF Emacs, I don't think there's any problem with just deleting
10440         them.
10441
10442         * sysdep.c:
10443         * sysdep.c (sys_subshell):
10444         Fixed a compile warning, although in this case there's probably
10445         something wrong with this code, and it ought to be looked into
10446         more thoroughly by somebody who understands it.
10447
10448         * window.c:
10449         * window.c (Fwindow_text_area_height):
10450         * window.c (Fwindow_width):
10451         * window.c (Fwindow_full_width):
10452         * window.c (Fwindow_pixel_width):
10453         * window.c (debug_print_window):
10454         * window.c (syms_of_window):
10455         Added functions window-text-area-height and window-full-width,
10456         which are functions for returning various width and height
10457         characteristics of a window. (One of these functions is necessary
10458         for making the file dialog box work correctly, and the other one
10459         was added for completeness.)  Also added a table to the
10460         documentation for window-height which describes the entire scheme
10461         for accessing width and height characteristics of a window.
10462
10463 2000-03-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10464
10465         * nt.c (fstat): Added a comment for another problem with
10466         non-encapsulated [f]stat(), reported by Adrian Aichner
10467         <aichner@ecf.teradyne.com>.
10468
10469 2000-03-11  Andy Piper  <andy@xemacs.org>
10470
10471         * window.c (make_dummy_parent): initialize subwindow instance
10472         cache.
10473         (Fset_window_configuration): zero extent_modiff.
10474
10475 2000-03-10  Andy Piper  <andy@xemacs.org>
10476
10477         * redisplay.c (Fredraw_frame): reset the changed_set flags so that
10478         more changes can be triggered.
10479         (Fredisplay_frame): ditto.
10480         (Fredraw_device): ditto.
10481         (Fredisplay_device): ditto.
10482         (redisplay_frame): make non-static.
10483         (redisplay_frame): call update_frame_gutter_geometry outside of
10484         display proper.
10485
10486         * gutter.h: declare update_frame_gutter_geometry.
10487
10488         * redisplay.h: declare redisplay_frame.
10489
10490         * gutter.c (update_frame_gutter_geometry): move geometry changes
10491         in update_frame_gutters here. Geometry changes can only occur
10492         outside of redisplay.
10493         (update_frame_gutters): remove geometry change code.
10494         (Fredisplay_gutter_area): make sure that we are in display when we
10495         update and that we have flushed any size changes.
10496
10497 2000-03-11  Andy Piper  <andy@xemacs.org>
10498
10499         * alloc.c (pdump_dump_data): remove i & count shadows.
10500
10501 2000-02-27  Mike Alexander  <mta@arbortext.com>
10502
10503         * sysdep.h: Declare pdump_read_file
10504
10505         * sysdep.c (pdump_read_file): New function
10506
10507         * alloc.c (pdump_load): Call pdump_read_file to get the portable
10508         dump data
10509
10510 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
10511
10512         * lrecord.h: add `lrecord_type_pgsetenv'.
10513
10514 2000-03-08  SL Baur  <steve@musashimaru.m17n.org>
10515
10516         * symsinit.h: declare (vars|syms)_of* functions.
10517         * lrecord.h: add `lrecord_type_pgconn' and 'lrecord_type_pgresult'.
10518
10519 2000-03-06  SL Baur  <steve@musashimaru.m17n.org>
10520
10521         * config.h.in: Add symbols HAVE_POSTGRESQL and HAVE_POSTGRESQLV7
10522
10523         * inline.c: Include postgresql.h lrecord stuffs to placate buggy
10524         GCCs.
10525
10526         * emacs.c (main_1): Call postgres initialization code.
10527
10528         * postgresql.h: New file.  PostgreSQL RDBMS support.
10529         * postgresql.c: New file.
10530
10531 2000-03-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
10532
10533         * redisplay-output.c (redisplay_output_display_block): Disable
10534         redundant code.
10535
10536 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
10537
10538         * mule-canna.c (Fcanna_henkan_region): Translate doc-string.
10539         (Fcanna_henkan_next): Ditto.
10540         (Fcanna_bunsetu_henkou): Ditto.
10541         (Fcanna_henkan_kakutei): Ditto.
10542         (Fcanna_henkan_end): Ditto.
10543         (Fcanna_henkan_quit): Ditto.
10544         (Fcanna_henkan_next): Set retun value correctly.
10545         (c2mu): Use unsigned char instead of signed char.
10546
10547 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
10548
10549         * emacs.c (main_1): Always call syms_of_gui.
10550         * inline.c: include gui.h
10551
10552 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
10553
10554         * redisplay.c (Vvisible_bell): Renamed from visible_bell and
10555         converted to Lisp_Object.
10556         (Qtop_bottom): New variable.
10557         (syms_of_redisplay): Initialize it.
10558         * redisplay.h (Vvisible_bell): Ditto.
10559         * sound.c (ding): Ditto and check if Vvisible_bell is nil.
10560         * redisplay-x.c (x_flash): When Vvisible_bell is top-bottom,
10561         only flash top and bottom.
10562
10563 2000-03-08  Andy Piper  <andy@xemacs.org>
10564
10565         * buffer.c (Frename_buffer): record new buffer name the right way.
10566
10567 2000-03-08  Andy Piper  <andy@xemacs.org>
10568
10569         * glyphs.c (update_subwindow): increase hash depth so that widget
10570         items get picked up properly.
10571
10572         * redisplay-output.c (compare_runes): increase hash depth so that
10573         widget items get picked up properly.
10574
10575 2000-03-08  Andy Piper  <andy@xemacs.org>
10576
10577         * gutter.c (output_gutter): add some debug.
10578
10579         * glyphs.h (struct Lisp_Image_Instance): add display_hash.
10580         (IMAGE_INSTANCE_DISPLAY_HASH): new macro.
10581         (XIMAGE_INSTANCE_DISPLAY_HASH): ditto.
10582
10583         * redisplay-output.c (compare_runes): use display_hash to
10584         determine if glyphs really are not the same.
10585
10586         * glyphs.c (update_subwindow): check display_hash to see if
10587         anything really needs to be updated. If not then do
10588         nothing. Record the display_hash after updating.
10589         (image_instance_equal): compare the image_instance face also.
10590
10591 2000-03-07  Yoshiki Hayashi  <yoshiki@xemacs.org>
10592
10593         * redisplay.h: Fix comment style.
10594
10595 2000-03-08  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10596
10597         * consle-msw.h (struct mswindows_frame):
10598         Added new member paint_pending to indicate whether a WM_PAINT
10599         magic event has been queued for this frame.
10600
10601         * event-msw.c (mswindows_drain_windows_queue):
10602         Don't queue a WM_PAINT magic event if one is already queued.
10603         (emacs_mswindows_handle_magic_event): clear paint_pending flag.
10604
10605         * frame-msw.c (mswindows_init_frame_1): initialise paint_pending flag.
10606
10607 2000-03-07  Didier Verna  <didier@xemacs.org>
10608
10609         * dired.c: #include `regex.h' after `sysfile.h'.
10610
10611 2000-03-06  Martin Buchholz  <martin@xemacs.org>
10612
10613         * sound.c (init_nas_sound): Fix compiler warning.
10614
10615         * alloc.c (ALIASING_VOIDPP_DEREFERENCE): New.
10616         (FREE_STRUCT_P):
10617         (MARK_STRUCT_AS_FREE):
10618         (MARK_STRUCT_AS_NOT_FREE):
10619         Make `gcc -fstrict-aliasing' work properly.
10620
10621 2000-03-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10622
10623         * device-msw.c (mswindows_finish_init_device): Call CoInitialize().
10624         (mswindows_delete_device): Call CoUnnitialize().
10625
10626         * event-msw.c (mswindows_wnd_proc): WM_DROPFILES: Decode Shortcuts.
10627
10628 2000-02-25    <CraigL@DyCon.com>
10629
10630         * process-nt.c: MinGW now has <shellapi.h>, but still needs
10631         <errno.h>.
10632
10633         * sysdep.c: This extern declaration for environ prevents MinGW
10634         from finding the variable in CRTDLL.DLL.
10635
10636         * s\mingw32.h (PBS_SMOOTH): Removed, now defined in cygwin's
10637         windows headers.
10638         (SHGFI_EXETYPE): ..
10639         (WM_MOUSEWHEEL): ..
10640         (_WIN32_IE): Added, needed to get the TCS_BOTTOM and TCS_VERTICAL
10641         definitions.
10642         (MMRESULT): Removed, now defined in cygwin's windows headers.
10643         (TIMECAPS): ..
10644         (uid_t,gid_t,pid_t,ssize_t): ..
10645         (_timeb): Removed, MinGW defines both _timeb and timeb.
10646         (HAVE_H_ERRNO): Added.
10647         (HAVE_TZNAME): Added, configure is not detecting this.
10648
10649 2000-02-03  IKEYAMA Tomonori <tomonori@suiyokai.org>
10650
10651         * chartab.h (XCHAR_TABLE_VALUE_UNSAFE): New macro.
10652         * syntax.c (syntax_match): Use it.
10653
10654         * cmds.c: Import auto-fill-chars from FSF Emacs.
10655         (Vauto_fill_chars): New variables.
10656         (internal_self_insert): Check Vauto_fill_chars.
10657         (vars_of_cmds):
10658         Declare auto-fill-chars as a Lisp variable and initialize it.
10659
10660 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10661
10662         * fileio.c (Fmake_symbolic_link):
10663         (Ffile_symlink_p):
10664         Run handlers even if local machine doesn't have symlinks.
10665
10666 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10667
10668         * event-msw.c (mswindows_drain_windows_queue):
10669         Don't generate paint magic events for non-XEmacs frames.
10670
10671 2000-03-05  Andy Piper  <andy@xemacs.org>
10672
10673         * redisplay.c (redisplay_frame): generate_displayable_area and
10674         friends assumes that we are not in GC, we therefore have to make
10675         sure that this doesn't happen.
10676
10677         * gutter.c (calculate_gutter_size): generate_displayable_area
10678         assumes that we are not in GC, we therefore have to make sure that
10679         this doesn't happen.
10680
10681 2000-03-05  Martin Buchholz  <martin@xemacs.org>
10682
10683         * opaque.c (DEFINE_LRECORD_IMPLEMENTATION): opaque_ptr ==> opaque-ptr
10684
10685 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
10686
10687         * redisplay.c (regenerate_window): Make sure we set a sane value
10688         for end_pos even if we jump out of the loop.
10689         (regenerate_window): Answer Ben's question :-).
10690         (start_end_of_last_line): Add may_error argument.
10691         (start_of_last_line):
10692         (end_of_last_line): Pass may_error = 0.
10693         (end_of_last_line_may_error): New function.
10694         (pixel_to_glyph_translation): Use it, so we don't crash in
10695         event_to_glyph.
10696
10697 2000-03-04  Andy Piper  <andy@xemacs.org>
10698
10699         * window.h (struct window): add gutter_extent_modiff.
10700
10701         * window.c (allocate_window): zero out gutter_extent_modiff.
10702
10703         * redisplay.h: declare sync_display_line_structs.
10704
10705         * redisplay.c (add_glyph_rune): add a better comment.
10706
10707         * redisplay-output.c (sync_display_line_structs): made non-static.
10708         (compare_runes): remove unneccesary glyph cachel access.
10709
10710         * gutter.h: declare gutter_extent_signal_changed_region_maybe.
10711
10712         * gutter.c (output_gutter): don't output the gutter if extent
10713         changes only involve extents in buffers. use 4 sets of display
10714         lines.
10715         (gutter_extent_signal_changed_region_maybe): new function. Mark
10716         extents in gutters as changed.
10717         (update_frame_gutters): use 4 sets of display lines.
10718         (reset_gutter_display_lines): ditto.
10719         (free_frame_gutters): ditto.
10720         (redraw_exposed_gutter): force output of gutters.
10721
10722         * frame.h (struct frame): add 4 sets of gutter display lines.
10723
10724         * extents.c: (extent_changed_for_redisplay): signal changes to
10725         extents in strings in the gutter as well as extents in buffers.
10726
10727 2000-03-02  Andy Piper  <andy@xemacs.org>
10728
10729         * gutter.c (specifier_vars_of_gutter): cosmetic changes.
10730
10731         * frame.c (Fmake_frame): make sure the gutters get initialized
10732         after the frame is visible.
10733         (set_frame_selected_window): re-arrange compilation macros a
10734         little.
10735         (change_frame_size_1): mark gutters changed.
10736
10737         * device.c (Fset_device_class): mark gutters changed.
10738
10739 2000-03-01  Andy Piper  <andy@xemacs.org>
10740
10741         * window.c (window_top_frame_gutter_height): deleted.
10742         (window_bottom_frame_gutter_height): ditto.
10743         (window_left_frame_gutter_height): ditto.
10744         (window_right_frame_gutter_height): ditto.
10745         (window_top_gutter_height): don't use them.
10746         (window_bottom_gutter_height): ditto.
10747         (window_left_gutter_width): ditto.
10748         (window_right_gutter_width): ditto.
10749         (Fsplit_window): ditto.
10750         (Fwindow_pixel_edges): don't use border dimensions here.
10751
10752         * scrollbar.c (update_scrollbar_instance): don't take gutters into account.
10753         (update_scrollbar_instance): ditto.
10754
10755         * redisplay.c (generate_modeline): don't take gutters into account.
10756         (generate_modeline): ditto.
10757         (redisplay_frame): small gutter display optimization.
10758
10759         * redisplay-x.c (x_output_vertical_divider): don't take gutters into account.
10760
10761         * redisplay-msw.c (mswindows_output_vertical_divider): don't take
10762         gutters into account.
10763
10764         * gutter.h (WINDOW_REAL_*_GUTTER_BOUNDS): remove bogus checks
10765         for window position and type.
10766
10767         * gutter.c (get_gutter_coords): fix for frame gutters.
10768         (update_frame_gutters): update frame geometry if the gutters have
10769         changed.
10770         (init_frame_gutters): record current gutter geometries.
10771
10772         * glyphs-msw.c (mswindows_subwindow_instantiate): remove unused
10773         var.
10774         (mswindows_widget_instantiate): ditto.
10775
10776         * frame.h (struct frame): add current_gutter_bounds.
10777
10778         * frame.c (change_frame_size_1): position window and minibuffer
10779         appropriately taking into account the frame gutters.
10780
10781         * frame-x.c: (x_initialize_frame_size): take into account the
10782         frame gutters.
10783
10784 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
10785
10786         * emacs.c (data-directory):  Xref `locate-data-file' in docstring.
10787
10788 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
10789
10790         * alloc.c (dumpopaquevec): Increase dimension for --with-canna.
10791
10792 1999-12-30  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
10793
10794         * file-coding.c (reset_decoding_stream): Clear previous
10795         detection state when autodetect.
10796
10797 2000-02-29  Didier Verna  <didier@xemacs.org>
10798
10799         * extents.c (set_extent_glyph_1): don't require extents to be
10800         attached.
10801
10802 2000-02-27  Andy Piper  <andy@xemacs.org>
10803
10804         * gutter.c (Fset_default_gutter_position): don't default left and
10805         right gutter visibility to t.
10806         (Fset_default_gutter_position): run
10807         default-gutter-position-changed-hook.
10808         (syms_of_gutter): add default-gutter-position-changed-hook.
10809
10810 2000-02-26  Andy Piper  <andy@xemacs.org>
10811
10812         * specifier.c (Fmake_specifier): add gutter references.
10813
10814         * gutter.h (RAW_WINDOW_GUTTER): new macro.
10815
10816         * lisp.h: declare Fvalid_plist_p.
10817
10818         * gutter.c (gutter_geometry_changed_in_window): mark the modeline
10819         as changed.
10820         (default_gutter_visible_p_changed_in_window): invalidate gutter as
10821         well as its visibility so that it gets reconstructed.
10822         (construct_window_gutter_spec): new function. Construct a string
10823         to be displayed in the gutter from a plist of strings. Take care
10824         to only use elements that are declared as visible.
10825         (calculate_gutter_size): use RAW_WINDOW_GUTTER instead of
10826         WINDOW_GUTTER.
10827         (gutter_validate): allow plists of strings in the specifier.
10828         (gutter_specs_changed): construct the real_gutter from the gutter
10829         specs using construct_window_gutter_spec.
10830         (gutter_visible_validate): gutter-visible is a new specifier type.
10831         (Fgutter_visible_specifier_p): new function for the new specifier.
10832         (syms_of_gutter): declare gutter-visible and
10833         Fgutter_visible_specifier_p.
10834         (specifier_type_create_gutter): intitalize new gutter-visible
10835         specifier.
10836         (reinit_specifier_type_create_gutter): ditto.
10837         (specifier_vars_of_gutter): use new specifier type for gutter
10838         visibility.
10839         (init_frame_gutters): construct real_gutter correctly.
10840         (Fgutter_specifier_p): beef up documentation.
10841         (Fgutter_size_specifier_p): ditto.
10842
10843         * winslots.h: add real_gutter slots.
10844
10845 2000-02-25  Andy Piper  <andy@xemacs.org>
10846
10847         * device-msw.c: Be kind to older cygwin versions. From Raymond
10848         Toy <toy@rtp.ericsson.se>.
10849
10850         * gui-msw.c (Fmswindows_shell_execute): Remove things unknown to
10851         earlier cygwins. From Raymond Toy <toy@rtp.ericsson.se>.
10852
10853 2000-02-25  Martin Buchholz  <martin@xemacs.org>
10854
10855         * elhash.c (MARK_OBJ): Practice macro hygiene.
10856
10857 2000-02-24  Martin Buchholz  <martin@xemacs.org>
10858
10859         * miscplay.c: s/__inline__/inline/g;
10860         * glyphs-msw.c (set_mono_pixel): INLINE ==> static inline
10861         (get_device_compdc): INLINE ==> static inline
10862         * *.[ch]: Change INLINE to INLINE_HEADER globally.
10863         find -name '*.h' | \
10864         xargs global-replace \
10865         's/(^|(?<=[^A-Za-z0-9_]))INLINE((?=[^A-Za-z0-9_])|$)/INLINE_HEADER/g'
10866
10867 2000-02-25  Andy Piper  <andy@xemacs.org>
10868
10869         * window.c (window_top_frame_gutter_height): new function.
10870         (window_top_window_gutter_height): ditto.
10871         (window_top_gutter_height): use them.
10872         (window_bottom_frame_gutter_height): new function.
10873         (window_bottom_window_gutter_height): ditto.
10874         (window_bottom_gutter_height): use them.
10875         (window_left_window_gutter_width): new function.
10876         (window_left_frame_gutter_width): ditto.
10877         (window_left_gutter_width): use them.
10878         (window_right_window_gutter_width): new function.
10879         (window_right_frame_gutter_width): ditto.
10880         (window_right_gutter_width): use them.
10881         (window_pixel_height): new function. calulate window pixel height
10882         with frame gutter involvement.
10883         (Fsplit_window): calculate new sizes taking frame gutters into
10884         account.
10885         (window_char_height_to_pixel_height): don't include frame gutters.
10886         (window_char_height): use window_pixel_height.
10887         (window_pixheight): rename from window_pixel_height.
10888         (change_window_height): use it.
10889         (window_pixel_height_to_char_height): don't include frame gutters.
10890         (window_char_width_to_pixel_width): ditto.
10891
10892 2000-02-25  Andy Piper  <andy@xemacs.org>
10893
10894         * glyphs.h (IMAGE_INSTANCE_FACE): glyph might be nil, don't crash
10895         if it is.
10896
10897 2000-02-24  Martin Buchholz  <martin@xemacs.org>
10898
10899         * alloc.c (staticpro):
10900         (staticpro_nodump):
10901         (dumpstruct):
10902         (dumpopaque):
10903         (pdump_wire):
10904         (pdump_wire_list):
10905         (compact_string_chars):
10906         (pdump_dump_wired):
10907         Convert:  if (foo) abort();  ==>  assert (! foo);
10908
10909         * eldap.c (Fldap_search_basic):
10910         (Fldap_add):
10911         (Fldap_modify):
10912         (Fldap_delete):
10913         Fix compiler warnings, and possible crashes if (random) return
10914         value were to be used.
10915
10916 2000-02-21  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10917
10918         * device-msw.c: Workaround ResetDC failure.
10919
10920         * frame-msw.c (msprinter_init_frame_3): Added an assertion before
10921         applying a devmode.
10922
10923         * redisplay-msw.c (get_frame_dc): Added start_page_p.
10924         (mswindows_text_width): Do not start printer page.
10925
10926         * console-msw.h (CHECK_MSGDI_DEVICE): Added this and friends.
10927
10928         * glyphs-msw.c: Added image methods to msprinter console and
10929         msprinter-specific image instantiation.
10930
10931 2000-02-20  Mike Alexander  <mta@arbortext.com>
10932
10933         * select-msw.c (Fmswindows_set_clipboard): GC protect more things
10934         to avoid crashes when selection-sets-clipboard is on
10935         (mswindows_own_selection): ditto
10936
10937 2000-02-19  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10938
10939         * glyphs-msw.c:
10940         * redisplay-msw.c (get_frame_dc):
10941         (get_frame_compdc):
10942         * console-msw.h:
10943         * device-msw.c (mswindows_init_device):
10944         (mswindows_delete_device):
10945         (msprinter_init_device):
10946         (msprinter_delete_device):
10947         * frame-msw.c (mswindows_init_frame_1):
10948         (mswindows_delete_frame):
10949         (msprinter_init_frame_3):
10950         (msprinter_delete_frame): Move compatible DC to device object from
10951         frame object, for both mswindows and msprinter. Only one at a time
10952         is needed, it is a real waste to have one per frame!
10953
10954 2000-02-23  Andy Piper  <andy@xemacs.org>
10955
10956         * glyphs.c: add dynamic width and height elements.
10957         (image_instance_equal): ditto.
10958
10959         * glyphs-widget.c (widget_query_geometry): calculate width and
10960         height dynamically if required.
10961         (initialize_widget_image_instance): initialize dynamic dimensions.
10962         (widget_instantiate): pick-up dynamic dimensions.
10963
10964         * glyphs.h (struct Lisp_Image_Instance): add width and height for
10965         dynamic determination. Add appropriate macros.
10966
10967         * gutter.h (WINDOW_GUTTER_BORDER_WIDTH): make non-integer
10968         dimensions safe.
10969         (WINDOW_GUTTER_SIZE): ditto.
10970         (WINDOW_GUTTER_SIZE_INTERNAL): ditto.
10971
10972         * redisplay-msw.c (get_frame_compdc): gcc can't cope with this
10973         inline.
10974         (get_frame_dc): ditto.
10975
10976         * redisplay.h (GLOBAL_RESET_CHANGED_FLAGS): don't reset faces
10977         here.
10978
10979 2000-02-23  Martin Buchholz <martin@xemacs.org>
10980
10981         * XEmacs 21.2.31 is released.
10982
10983 2000-02-22  Ben Wing <ben@xemacs.org>
10984
10985         * ntheap.c (allocate_heap): Make sure `ptr' is initialized.
10986
10987 2000-02-22  Andy Piper  <andy@xemacs.org>
10988
10989         * glyphs-x.c (x_widget_instantiate): don't explicitly resize here.
10990
10991 2000-02-21  Mike Sperber <mike@xemacs.org>
10992
10993         * .dbxrc:
10994         * .gdbinit:
10995         * Makefile.in.in: Remove obsolete EMACSBOOTSTRAP... environment
10996         variables.
10997
10998 2000-02-21  Mike Sperber <mike@xemacs.org>
10999
11000         * s/aix4.h: Declare getaddrinfo broken for AIX 4, which it is.
11001
11002 2000-02-21  Martin Buchholz <martin@xemacs.org>
11003
11004         * XEmacs 21.2.30 is released.
11005
11006 2000-02-20  Martin Buchholz  <martin@xemacs.org>
11007
11008         Performance hacking.
11009         * *.c (syms_of_*):
11010         Add INIT_LRECORD_IMPLEMENTATION macros, paired with
11011         DEFINE_LRECORD_IMPLEMENTATION macros in the same file.
11012         * emacs.c (main_1):
11013         * lisp.h (DEFUN):
11014         * console.c (DEFVAR_CONSOLE_LOCAL_1):
11015         * buffer.c (DEFVAR_BUFFER_LOCAL_1):
11016         * symeval.h (DEFVAR_SYMVAL_FWD):
11017         * symbols.c (guts_of_unbound_marker):
11018         Make all c_readonly objects also lisp_readonly and marked for life.
11019         * lrecord.h (struct lrecord_implementation):
11020         Document flags better.
11021         * lrecord.h (DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION_WITH_PROPS):
11022         * lrecord.h (DECLARE_LRECORD):
11023         * lrecord.h (XSETRECORD):
11024         * lrecord.h (RECORDP):
11025         * lrecord.h (RECORD_TYPEP):
11026         * lrecord.h (RECORD_MARKER): New.
11027         * lrecord.h (error_check_*):
11028         * lrecord.h (CONCHECK_NONRECORD):
11029         * lrecord.h (MAKE_LRECORD_IMPLEMENTATION):
11030         * lrecord.h (INIT_LRECORD_IMPLEMENTATION): New.
11031         * lrecord.h (set_lheader_implementation):
11032         * lrecord.h (enum lrecord_type): New.
11033         * symeval.h (SYMBOL_VALUE_MAGIC_P):
11034         * alloc.c (disksave_object_finalization_1):
11035         * alloc.c (mark_object):
11036         * alloc.c (lrecord_type_index):
11037         * alloc.c (tick_lcrecord_stats):
11038         * alloc.c (Fgarbage_collect):
11039         * alloc.c (init_alloc_once_early):
11040         * alloc.c (pdump_load):
11041         * alloc.c (GC_CHECK_LHEADER_INVARIANTS): New.
11042         * alloc.c (lrecord_type_index): Delete.
11043         Make lisp object type indexes be constant.
11044           Makes (byte-compile) 5% faster.
11045         Put all marker functions into their own array.
11046           Makes (garbage-collect) 5% faster.
11047         Optimize SYMBOL_VALUE_MAGIC_P.
11048           Makes (byte-compile) 2-3% faster.
11049         * config.h.in (gc_checking_assert): New.
11050         * alloc.c: Use gc_checking_assert().
11051         * .dbxrc: Make compatible with new object type implementation.
11052         * .gdbinit: Make compatible with new object type implementation.
11053         * alloc.c: Delete all symbols defined only for debugging, such as
11054         Lisp_Type_Vector and lrecord_charset.
11055
11056 2000-02-21  Andy Piper  <andy@xemacs.org>
11057
11058         * gui-msw.c (Fmswindows_shell_execute): fix file location
11059         problems.
11060
11061         * buffer.c (Fkill_buffer): remove buffer from alist buffer
11062         unshowing so that set_window_buffer doesn't undo
11063         kill_buffer_hook's hard work.
11064
11065         * glyphs-widget.c (tab_control_query_geometry): don't count the
11066         first item when calculating geometry.
11067
11068         * glyphs.c (map_subwindow): remove redundant code.
11069         (update_frame_subwindows): be more circumspect about when to
11070         update subwindows.
11071
11072         * glyphs-x.c (x_update_widget): Properly fix sizing bug. Fix bug
11073         when items haven't changed. Update faces if faces have changed as
11074         well as just the widget face.
11075         (x_tab_control_update): Update faces if faces have changed as well
11076         as just the widget face.
11077
11078 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11079
11080         * device-msw.c: (mswindows_delete_device): Remove redundant DDE
11081         registration.
11082         (build_syscolor_string): Use mswindows_color_to_string to try to
11083         get a named color.
11084         (mswindows_device_system_metrics): Reverse the foreground and
11085         background colors so that they match the documentation.
11086
11087         * objects-msw.c: (mswindows_X_color_map): tweak some values so
11088         they match the default Windows palette.
11089         (mswindows_color_to_string): New function.
11090
11091 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11092
11093         * s/windowsnt.h: Only use __declspec(noreturn) with MSVC>=6.
11094
11095 2000-02-18  Olivier Galibert  <galibert@pobox.com>
11096
11097         * m/*, s/*: Removed obsolete DATA_SEG_BITS, PURE_SEG_BITS,
11098         WORD_MACHINE, SIGN_EXTEND_CHAR and EXPLICIT_SIGN_EXTEND.
11099
11100         * symbols.c (init_symbols_once_early): Removed obsolete
11101         DATA_SEG_BITS related kludge.
11102         (defvar_magic): Ditto.
11103
11104         * malloc.c: Removed obsolete DATA_SEG_BITS
11105         * ralloc.c: Ditto.
11106         * mem-limits.h: Ditto.
11107
11108         * Makefile.in.in: Removed obsolete HAVE_SHM
11109         * emacs.c: Ditto.
11110
11111 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11112
11113         *  device-msw.c (mswindows_delete_device): Free DDE string
11114         handles.
11115
11116 2000-02-16  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11117
11118         * keymap.c (get_keyelt):
11119         * unexnt.c (unexec):
11120         * vm-limit.c (memory_warnings):
11121         * ntheap.c (recreate_heap):
11122         * ntheap.h (UNINIT_PTR):
11123         * select-msw.c (Fmswindows_get_clipboard):
11124         (Fmswindows_set_clipboard):
11125         * objects-msw.h (MSWINDOWS_BAD_HFONT):
11126         * objects-msw.c:
11127         * menubar-msw.c (displayable_menu_item):
11128         * glyphs-msw.c:
11129         * glyphs-msw.h (IMAGE_INSTANCE_MSWINDOWS_MASK):
11130         * sysdep.c (sys_subshell):
11131         * process-nt.c (nt_create_process):
11132         * nt.c (normalize_filename):
11133         (dostounix_filename):
11134         (unixtodos_filename):
11135         * ntproc.c (win32_executable_type):
11136         * ntplay.c (play_sound_data_1):
11137         (play_sound_file):
11138         * editfns.c (get_home_directory):
11139         * event-msw.c (struct winsock_stream):
11140         (mswindows_dde_callback):
11141         * device-msw.c (msprinter_init_device):
11142         (msprinter_get_devmode_copy): Frobbed syntax frivolities.
11143
11144         * toolbar-msw.c (mswindows_free_frame_toolbars): Paramters to
11145         mswindows_clear_toolbar were swapped!
11146
11147         * objects-msw.c:(colormap_t):
11148         (fontmap_t):
11149         * emacs.c (struct standard_args): Fixed const jumble.
11150
11151         * glyphs-widget.c (update_widget): Fixed comparison notation.
11152
11153         * event-msw.c (mswindows_dde_callback): Removed extraneous ';'.
11154
11155         * s\windowsnt.h (DOESNT_RETURN): Defined to support the MSVC
11156         __declspec(noreturn) syntax.
11157
11158 2000-02-19  Martin Buchholz  <martin@xemacs.org>
11159
11160         * eldap.c (Fldap_open):
11161         (Fldap_search_basic):
11162         (Fldap_add):
11163         (Fldap_modify):
11164         Use new coding system conversion macros.
11165
11166 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
11167
11168         * console-tty.c (tty_init_console): Change MULE to FILE_CODING.
11169
11170 1999-11-27  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
11171
11172         * eldap.h (Fldap_search) Renamed from Fldap_search_internal:
11173         (Fldap_add, Fldap_modify, Fldap_delete): New functions
11174
11175         * eldap.c (Qadd, Qreplace): New constant symbols
11176         (Fldap_open): Use the LDAP_OPT_RESTART option to avoid
11177         interruptions by XEmacs signals
11178         Remove unnecessary calls to slow_down_interrupts and
11179         speed_up_interrupts
11180         (Fldap_search_basic): Renamed from Fldap_search_internal
11181         Added new optional parameter VERBOSE that triggers the
11182         display of progress messages
11183         Remove unnecessary calls to slow_down_interrupts and
11184         speed_up_interrupts
11185         LDAP result code analysis rewritten
11186         (Fldap_add, Fldap_modify, Fldap_delete): New functions
11187         (syms_of_eldap): Define the new symbols and functions
11188
11189
11190 2000-02-17  Martin Buchholz  <martin@xemacs.org>
11191
11192         * realpath.c: Determine PATH_MAX maximally portably.
11193
11194         * insdel.c (bytecount_to_charcount): Optimize.
11195         The function used to be optimized for entirely ASCII sequences.
11196         Now it is optimized for successive characters from the same
11197         charset.  This also wins big for _mostly_ ASCII sequences.
11198
11199         * fileio.c (Ffile_truename): convert return from realpath() using
11200         Qfile_name, not Qbinary.  Fixes obvious bug with non-ASCII symlinks.
11201         - Rewrite GCPROing slightly.
11202
11203         * sysdep.c (sys_open): Do filename conversion, like all other
11204         sys_* functions.  Fixes bug:
11205         (let ((file-name-coding-system 'iso-8859-2))
11206            (write-region x y latin2-name))
11207         ==> writes filename using internal encoding.
11208
11209 2000-02-18  Martin Buchholz  <martin@xemacs.org>
11210
11211         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Turn on c_readonly. Always const.
11212         * console.c (DEFVAR_CONSOLE_LOCAL_1): Turn on c_readonly. Always const.
11213         * symeval.h (DEFVAR_SYMVAL_FWD): Turn on c_readonly. Always const.
11214         * eval.c (lrecord_subr): Remove this_one_is_unmarkable.
11215         * symbols.c (lrecord_symbol_value_forward): Remove this_one_is_unmarkable.
11216         * symbols.c (guts_of_unbound_marker): Turn on c_readonly.
11217         * lrecord.h (UNMARKABLE_LRECORD_HEADER_P): Delete.
11218         (CONST_IF_NOT_DEBUG): Delete.
11219         * alloc.c (this_one_is_unmarkable): Delete.
11220         (mark_object): Don't check for this_one_is_unmarkable. Use the
11221         c_readonly flag instead.
11222         * lisp.h (DEFUN): Define a Lisp_Subr as c_readonly.
11223
11224 2000-02-18  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11225
11226         * event-msw.c (mswindows_drain_windows_queue):
11227         (emacs_mswindows_handle_magic_event): Remove attempt to optimise
11228         away redundant repaint events.
11229
11230 2000-02-17  Andy Piper  <andy@xemacs.org>
11231
11232         * redisplay.h: declare mark_redisplay_structs.
11233
11234         * redisplay.c (redisplay_window):
11235         (redisplay_frame): don't check subwindows_state_changed.
11236         (mark_redisplay): mark gutters here.
11237
11238         * glyphs.c: (instantiate_image_instantiator): always layout if we
11239         haven't done so already.
11240         (allocate_image_instance): don't mark as dirty.
11241         (update_subwindow): bind inhibit_quit.
11242
11243         * gutter.c (mark_gutters): new function.
11244
11245         * glyphs-x.c (x_update_widget): Always resize to get round a
11246         widget bug.
11247
11248         * glyphs-msw.c (mswindows_tab_control_update): remove `;' that was
11249         breaking absolutely everything.
11250
11251         * gutter.h: declare mark_gutters.
11252
11253 2000-02-16  Martin Buchholz <martin@xemacs.org>
11254
11255         * XEmacs 21.2.29 is released.
11256
11257 2000-02-15  Olivier Galibert  <galibert@pobox.com>
11258
11259         * fns.c (size_bit_vector): Fix computation of the size.
11260
11261 2000-02-15  Martin Buchholz  <martin@xemacs.org>
11262
11263         * *.[ch]: Change CONST to const globally.
11264         find -name '*.[ch]' | \
11265         xargs global-replace \
11266         's/(^|(?<=[^A-Za-z0-9_]))CONST((?=[^A-Za-z0-9_])|$)/const/g'
11267         - Remove vestigial references to CONST_IS_LOSING
11268
11269 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11270
11271         * event-msw.c (mswindows_drain_windows_queue): Remove hack to
11272         bailout early on quit. Enqueue WM_PAINT events as XEmacs magic
11273         events instead of dispatching them directly.
11274         (mswindows_handle_paint): New function to do repainting.
11275         (mswindows_wnd_proc):
11276         (emacs_mswindows_handle_magic_event): Call above function.
11277
11278 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11279
11280         * objects-msw.c (mswindows_create_font_variant): Return the new
11281         font handle.
11282         (initialize_font_instance): Get font metrics from the underlined
11283         variant of the font to cope with the case where the underlined
11284         font has a bigger descent.
11285
11286 2000-02-08   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
11287
11288         * gui.c (gui_item_accelerator): Return the first underlined
11289         character in item name.
11290
11291 2000-02-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11292
11293         * lisp.h: Added Qprinter.
11294
11295         * general.c (syms_of_general): Initialized it.
11296
11297         * redisplay-msw.c (get_frame_dc): Conditionally start a new page.
11298         (get_frame_dc):
11299         (get_frame_compdc): Made inline.
11300
11301         * console.h (struct console_methods): Added eject_page method.
11302
11303         * frame.h: Added FRAME_DISPLAY_P and friends.
11304         Aligned backslahes in many macros in more readable fashion.
11305         Added page_number to struct frame, and an accessor macro
11306         for it.
11307
11308         * defice.h: Added DEVICE_DISPLAY_P and friends.
11309
11310         * device.c (Fdevice_printer_p): Used these.
11311
11312         * frame.c (allocate_frame_core): Initialize page number.
11313         (Fprint_job_page_number):
11314         (Fprint_job_eject_page): Implemented.
11315
11316         * frame-msw.c (msprinter_eject_page): Added method.
11317         (msprinter_start_page): Added.
11318
11319         * window.c (Fwindow_truncated_p): Fixed docstring.
11320         (Fwindow_last_line_visible_height): Implemented.
11321
11322 2000-02-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
11323
11324         * frame.c (change_frame_size_1): Undo 2000-02-03 change.
11325
11326 1999-12-20  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
11327
11328         * syntax.c (scan_words): Always advance at least one character.
11329
11330 2000-02-13  Andy Piper  <andy@xemacs.org>
11331
11332         * redisplay.c (add_glyph_rune): call get_glyph_cachel_index here
11333         to make sure the glyph is in the cachels.
11334
11335         * glyphs.h (struct Lisp_Image_Instance): make layout_changed a
11336         global image instance flag.
11337         (IMAGE_INSTANCE_NEEDS_LAYOUT): new macro.
11338         (XIMAGE_INSTANCE_NEEDS_LAYOUT): ditto.
11339
11340         * glyphs.c (allocate_image_instance): set dirty bits correctly.
11341         (Fset_image_instance_property): mark layout as changed.
11342         (invalidate_glyph_geometry_maybe): mark layout as changed.
11343         (glyph_width): use new NEEDS_LAYOUT macro.
11344         (glyph_ascent): ditto.
11345         (glyph_descent): ditto.
11346         (glyph_height): ditto.
11347         (image_instance_layout): mark layout as clean after laying out.
11348         (update_subwindow): don't mark layout as clean here.
11349
11350         * glyphs-x.h (IMAGE_INSTANCE_X_WIDGET_ID): undo C++ changes, they
11351         should no longer be needed.
11352
11353         * glyphs-x.c (x_update_widget): sanitize asserts.
11354         (x_finalize_image_instance): sanitize assignment to widgets.
11355
11356         * glyphs-widget.c (widget_instantiate): don't need to clear the
11357         layout flag here.
11358
11359 2000-02-13  Martin Buchholz  <martin@xemacs.org>
11360
11361         * sysdep.c (getcwd): Use standard prototype.
11362         * sysdep.h (getcwd): Use standard prototype.
11363
11364         * fns.c (Fsubseq): Change parameters to more natural ANSI Lisp
11365         (sequence, start, end).
11366         Remove redundant type checking.
11367         (Fmapconcat): Remove useless GCPRO, a wrong-headed attempt (in
11368         view of `caller-protects') to avoid a crash where the real fix was
11369         found elsewhere.
11370
11371 2000-02-12  Martin Buchholz  <martin@xemacs.org>
11372
11373         * glyphs-x.c (x_finalize_image_instance): Compile error fixes.
11374
11375         * s/sol2.h: Remove feature macro initialization.
11376
11377         * alloc.c (alloc_lcrecord): Add more type checking assertions.
11378         (vector_hash): New.  Code from internal_hash.
11379         * lrecord.h:
11380         Fix up allocation subsystem comments.
11381
11382         * config.h.in: Add __EXTENSIONS__ for Solaris.
11383
11384         * systime.h (EMACS_GETTIMEOFDAY): New.
11385         (EMACS_GET_TIME): Use EMACS_GETTIMEOFDAY.
11386         Remove Solaris-specific code.
11387         Use void* for the (ignored) second arg for gettimeofday().
11388
11389         * elhash.c (hash_table_hash): Implement it, finally.
11390         * elhash.c:  Use hashcode_t.
11391
11392         * linuxplay.c (sighandler): Fix prototypes to use SIGTYPE.
11393         * sunplay.c (sighandler): Fix prototype to use SIGTYPE.
11394
11395         * lisp.h (STRETCHY_STRUCT_SIZEOF): Delete.
11396         * fns.c (size_bit_vector):
11397         * alloc.c (size_vector):
11398         (make_vector_internal):
11399         (make_bit_vector_internal):
11400         (sweep_bit_vectors_1):
11401         Replace calls to STRETCHY_STRUCT_SIZEOF with offsetof expression.
11402
11403 2000-02-10  Martin Buchholz  <martin@xemacs.org>
11404
11405         * s/aix4.h: #define MAP_FAILED if sys/mman.h didn't.
11406         Include strings.h to avoid warnings for bzero and strcasecmp.
11407
11408 2000-02-10  Olivier Galibert  <galibert@pobox.com>
11409
11410         * alloc.c: Move STRETCHY_STRUCT_SIZEOF from here...
11411         * lisp.h (STRETCHY_STRUCT_SIZEOF): ...to here
11412
11413         * fns.c (size_bit_vector): New.  Declare bit vectors as a
11414         sequence.
11415
11416 2000-02-10  Olivier Galibert  <galibert@pobox.com>
11417
11418         * symeval.h (struct symbol_value_magic): Remove "next" kludge and
11419         use a value field instead.
11420         (symbol_value_forward_forward): Use value field.
11421         (DEFVAR_SYMVAL_FWD): Use value field.
11422         (DEFVAR_SYMVAL_FWD_INT): Added.  Dumps the int with dumpopaque.
11423         (DEFVAR_INT): Use DEFVAR_SYMVAL_FWD_INT.
11424         (DEFVAR_CONST_INT): Ditto.
11425         (DEFVAR_BOOL): Ditto.
11426         (DEFVAR_CONST_BOOL): Ditto.
11427         (DEFVAR_INT_MAGIC): Ditto.
11428         (DEFVAR_BOOL_MAGIC): Ditto.
11429
11430         * symbols.c (guts_of_unbound_marker): Use value field.
11431         * console.c (DEFVAR_CONSOLE_LOCAL_1): Ditto.
11432         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Ditto.
11433
11434         * lisp.h: Declare dumpopaque and noninteractive1.
11435
11436         * alloc.c (dumpopaque): Added.
11437         (pdump_dump_opaquevec): Added.
11438         (pdump): Call pdump_dump_opaquevec to dump opaque data.
11439         (pdump_load): Reload opaque data.  Sync noninteractive1 with
11440         noninteractive.
11441
11442 2000-02-10  Andy Piper  <andy@xemacs.org>
11443
11444         * glyphs.c (image_instance_layout): if the size changes, mark it
11445         as such.
11446
11447         * redisplay-output.c (redisplay_output_layout): Update the
11448         subwindow here.
11449         (redisplay_output_subwindow): ditto.
11450
11451         * glyphs.c (update_subwindow): make sure we reset flags for
11452         layouts as well as everything else.
11453
11454         * glyphs-widget.c (layout_layout): don't need to set the instances
11455         dimensions here.
11456
11457 2000-02-09  Martin Buchholz  <martin@xemacs.org>
11458
11459         * device-x.c (x_init_device): Wrap calls to dll_*  in HAVE_SHLIB,
11460         not HAVE_DLOPEN, which is a lower-level thing.
11461
11462         * .cvsignore: Ignore gmon.out
11463
11464 2000-02-09  Hamish Macdonald <hamishm@lucent.com>
11465
11466         * .cvsignore: Ignore portable dumper xemacs.dmp file
11467
11468 2000-02-09  Andy Piper  <andy@xemacs.org>
11469
11470         * redisplay-output.c (redisplay_output_layout): be more clever
11471         about when we output based on the changed flags.
11472
11473         * glyphs.h (struct image_instantiator_methods): add update_method.
11474         (struct Lisp_Image_Instance): add changed flags. Declare new
11475         macros for manipulating them.
11476
11477         * glyphs.c (allocate_image_instance): renamed glyph -> parent.
11478         (image_instance_parent_glyph): find an image_instance's parent
11479         glyph or image_instance.
11480         (image_instance_layout): mark the size as changed.
11481         (set_image_instance_dirty_p): new function. mark an image
11482         instance, plus all of its parents, as dirty.
11483         (Fset_image_instance_property): use it.
11484         (Fglyph_animated_timeout_handler): use it.
11485         (update_subwindow): call update_widget and device methods for
11486         update_subwindow. Mark all changed flags as clean.
11487         (Fresize_subwindow): mark size as changed.
11488
11489         * glyphs-x.c (x_finalize_image_instance): try and detect gc
11490         failures.
11491         (x_update_subwindow): only resize subwindows here.
11492         (x_update_widget): new function. Update all changed properties of
11493         a widget.
11494         (x_resize_subwindow): deleted.
11495         (x_widget_set_property): deleted.
11496         (x_progress_gauge_set_property): deleted.
11497         (x_progress_gauge_update): new function. Implement recorded
11498         changes.
11499         (x_tab_control_update): ditto.
11500         (x_tab_control_set_property): deleted.
11501         (console_type_create_glyphs_x): declare new functions.
11502         (image_instantiator_format_create_glyphs_x): ditto.
11503
11504         * glyphs-widget.c (widget_set_property): mark text changed.
11505         (update_widget): new function. Update properties of a widget.
11506         (widget_instantiate): for layouts make sure we set their
11507         children's parent correctly.
11508         (tab_control_set_property): new function. Record changes that will
11509         take place under redisplay's control.
11510         (progress_gauge_set_property): ditto.
11511         (image_instantiator_progress_guage): declare new functions.
11512         (image_instantiator_tab_control): ditto.
11513
11514         * glyphs-msw.c (mswindows_update_subwindow): just do resizing here
11515         now.
11516         (mswindows_update_widget): new function. Update all properties on
11517         a widget that have changed.
11518         (mswindows_button_update): new function. Update a button's set
11519         state.
11520         (mswindows_tab_control_update): new function. Update the items in
11521         a tab.
11522         (mswindows_tab_control_set_property): deleted.
11523         (mswindows_progress_gauge_update): new function. Update the
11524         progress gauge's progress.
11525         (mswindows_widget_set_property): deleted. This is all done
11526         asynchronously now.
11527         (mswindows_progress_gauge_set_property): ditto.
11528         (console_type_create_glyphs_mswindows): declare new methods.
11529         (image_instantiator_format_create_glyphs_mswindows): ditto.
11530
11531         * frame-msw.c (msprinter_init_frame_1): Remove unused variables.
11532         (msprinter_set_frame_properties): ditto.
11533
11534         * console.h (struct console_methods): Add update_widget_method.
11535
11536 2000-02-09  Andy Piper  <andy@xemacs.org>
11537
11538         * gui-msw.c (Fmswindows_shell_execute): Make
11539         mswindows-shell-execute industrial strength.
11540
11541 2000-02-08  Martin Buchholz  <martin@xemacs.org>
11542
11543         * lrecord.h: Make macro argument `props' match member function `plist'.
11544         * fns.c (Fget):
11545         * fns.c (Fput):
11546         * fns.c (Fremprop):
11547         * fns.c (Fobject_plist):
11548         * alloc.c:
11549         * symbols.c:
11550         Object property list frobbing cleanup.
11551         - Allow any lisp object (compared with `eq'), not just symbols, as
11552           keys in object plists.
11553         - Move symbol plist frobbing into symbols.c, where it belongs.
11554         - Move string plist frobbing into alloc.c, where it belongs.
11555         - Everything's an lrecord now, so no need to test for symbolp, etc.
11556         - Fix up doc strings to refer to PROPERTY, not PROPNAME.
11557
11558         * extents.c: Reorder code to remove declarations.
11559
11560         * frame.h (store_in_alist): Remove useless declaration.
11561
11562 2000-02-07  Martin Buchholz  <martin@xemacs.org>
11563
11564         * event-Xt.c (x_has_keysym): Use XConvertCase only if available.
11565         * config.h.in: Add HAVE_XCONVERTCASE.
11566
11567 2000-02-07  Andy Piper  <andy@xemacs.org>
11568
11569         * glyphs.c (image_instance_layout): undo 2000-01-29 change since
11570         it breaks many things.
11571
11572 2000-02-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
11573
11574         * src/syntax.h (SYNTAX_START_P): Check whether the two chars
11575         actually can start a common comment type.
11576         * src/syntax.h (SYNTAX_END_P): ditto for end.
11577
11578 2000-02-07  Martin Buchholz <martin@xemacs.org>
11579
11580         * XEmacs 21.2.28 is released.
11581
11582 2000-02-06  Martin Buchholz  <martin@xemacs.org>
11583
11584         * event-Xt.c (x_keysym_to_character): New.
11585         (maybe_define_x_key_as_self_inserting_character): New.
11586         (x_has_keysym): New.
11587         Auto-define all keys on the keyboard as self-insert-key.
11588
11589 2000-02-02  Martin Buchholz  <martin@xemacs.org>
11590
11591         * menubar.c (vars_of_menubar): A small code simplification.
11592
11593         * minibuf.c (echo_area_append): Workaround egcs-20000131 c++ compiler bug
11594
11595         * ExternalShell.c:
11596         * ExternalClient.c:
11597         * EmacsShell-sub.c:
11598         * EmacsManager.c:
11599         * EmacsFrame.c:
11600         Use consistent style for specifying X resources.
11601
11602         * symbols.c (Fset): Further implement SYMVAL_LISP_MAGIC.
11603         This makes (dontusethis-set-symbol-value-handler) actually usable.
11604
11605         * lrecord.h (lrecord_decription_type):
11606         * alloc.c (pdump_register_sub):
11607         (pdump_dump_data):
11608         (pdump_reloc_one):
11609         Add XD_LISP_OBJECT_ARRAY to describe multiple Lisp_Objects.
11610         Comply with XEmacs coding style.
11611         All lrecord descriptions updated to use XD_LISP_OBJECT with 2
11612         args, and XD_LISP_OBJECT_ARRAY with 3 args.
11613
11614         * keymap.c (Faccessible_keymaps):
11615         Make (accessible-keymaps map "\C-h") do the Right Thing.
11616         Make (accessible-keymaps map []) do the Right Thing.
11617         Make (accessible-keymaps map "") do the Right Thing.
11618         (check_keymap_definition_loop): New function.
11619         (keymap_store_internal): Keep luser from shooting self in foot,
11620           via (define-key ctl-x-4-map "p" global-map).
11621         Remove fullness slot from struct Lisp_Keymap, since hash tables
11622         are now reliable.
11623         (print_keymap): Remove 'Yuck' factor by simply printing "size %d".
11624
11625 2000-01-30  Martin Buchholz  <martin@xemacs.org>
11626
11627         * redisplay.c (init_redisplay): Fix small memory leak.
11628         * elhash.h:
11629         * elhash.c (pdump_reorganize_hash_table):
11630         Rename from reorganize_hash_table. Change prototype.
11631         Reuse the original memory for hentries.  Save 100k.
11632         * alloc.c (PDUMP_READ): new macro.
11633         * alloc.c (pdump_load): Replace LISP_TO_VOID with higher-level macros.
11634         * alloc.c: No need to #ifndef before #undef.
11635
11636         * print.c: Allow debug_print() to print readably by modifying
11637         debug_print_readably.  Use consistent variable names.
11638
11639         * .dbxrc: Try to get things to work even if stopped in a function
11640         without source available by explicitly specifying source files.
11641 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11642
11643         * unexnt.c (_start): Removed bogus code which caused loading heap
11644         from differrent executable file.
11645         Removed bogus assignment to _fmode, which caused inconsistencies.
11646
11647 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11648
11649         * s\windowsnt.h: Removed lots of #if 0 blocks of Emacs heritage.
11650         Have spawnve encapsulation regard DONT_ENCAPSULATE.
11651         Do not preliminary `#define signal sigset'.
11652
11653         * systime.h: Do not prototype environ on windows nt and cygwin,
11654         this conflicts with system header.
11655
11656         * syssignal.h: Use correct define for WINDOWSNT
11657
11658         * sysdep.h: Do not prototype environ on windows nt, this conflicts
11659         with system header.
11660
11661         * sysdep.c (near start of file): Fixed commentary and rearranged
11662         ifdefs in readable order.
11663         (NEED_STARTS): Do not force NEED_STARTS when PDUMPing.
11664         (start_of_text):
11665         (end_of_text):
11666         (end_of_data): Do not compile in if using PDUMP.
11667
11668         * symsinit.h: Prototyped vars_of_nt().
11669
11670         * ntproc.c (windows9x_p): Added, instead of os_subtype.
11671         (find_child_console): Use it.
11672         (sys_kill): Use it.
11673
11674         * ntheap.h: Do not extern os_subtype.
11675
11676         * ntheap.c (cache_system_info): Do not cache unneeded:
11677         nt_major_version, nt_minor_version and os_subtype.
11678         (recreate_heap): Do not compile in when PDUMPing.
11679
11680         * nt.c (geteuid and friends): Use the new varibale
11681         nt_fake_unix_uid, instead of hashing fake uid out of NT RID.
11682         (init_user_info): Removed the above mentioned hackery.
11683         (fstat, stat): Do not compile in if using MSVC 5.0 and above -
11684         stat has been fixed in the C runtime.
11685         (vars_of_nt): Added, defined the nt_fake_unix_uid variable there.
11686
11687         * file-coding.c (struct file_coding_dump): Do not define
11688         ucs_to_mule_table in the struct if not MULE.
11689         (struct struct lrecord_description fcd_description_1): Do not dump
11690         the above.
11691
11692         * emacs.c (main_1): Call vars_of_nt().
11693         (right before Fdump_emacs_data): Don't need lastfile if using both
11694         portabe dumper and system malloc.
11695
11696         * alloc.c (Fmemory_limit): Conditionalized out.
11697         (pdump): Use OPEN_BINARY for the portable dump file.
11698         (pdump_load): Ditto.
11699
11700 2000-02-02  Mike Alexander  <mta@arbortext.com>
11701
11702         * nt.c (convert_time): Set tm_isdst before calling mktime and
11703         avoid calling it at all if the compiler supports 64 bit integers.
11704         Also initialize utc_base_ft before using it.
11705
11706 2000-02-03   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
11707
11708         * frame.c (change_frame_size_1): Take f->internal_border_width
11709         into consideration when calculating the width of the frame.
11710
11711 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11712
11713         * window.c (frame_min_height):
11714         (frame_size_valid_p):
11715         (frame_pixsize_valid_p): Added.
11716         (check_frame_size): Generalized.
11717
11718         * window.h: Prototyped the above.
11719
11720         * lisp.h:
11721         * general.c: Added Qbottom_margin, Qduplex, Qlandscape,
11722         Qleft_margin, Qorientation, Qportrait, Qright_margin, Qtop_margin.
11723         Deleted Vwin32_* and Vbinary_process_* unused variables.
11724
11725         * device-msw.c (msprinter_init_device): Do not get printer font
11726         list; Added DEVMODE functions.
11727
11728         * frame-msw.c: Added lots of printer code.
11729
11730         * faces.c: Moved 'left-margin and 'right-margin defsymbols to
11731         general.c.
11732
11733         * console-msw.h: Added more msprinter device private slots.
11734
11735 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11736
11737         * event-msw.c (key_needs_default_processing_p): Added.
11738         (mswindows_wnd_proc, WM_KEYUP, KEYDOWN): Call it.
11739
11740 2000-01-29  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11741
11742         * glyphs.c (image_instance_layout): Mark image instance as clean
11743         after layout.
11744         (glyph_dirty_p): Removed redundant function.
11745         (invalidate_glyph_geometry_maybe): Added.
11746         (update_glyph_cachel_data): Call it.
11747
11748         * glyphs.h: Prototyped it.
11749
11750         * redisplay.c (add_glyph_rune): Call it.
11751         (redisplay_window): Reset glyphs cachels when frame faces have
11752         changed, thus forcing recomputation of built-in border glyphs.
11753
11754 2000-01-30  Martin Buchholz  <martin@xemacs.org>
11755
11756         * Makefile.in.in: Make portable dumper and purify play well together.
11757         Add imperfect, but better than nothing, support for pdump.
11758         Remove xemacs.dmp when temacs is re-generated.
11759         Don't ignore errors when dumping xemacs.
11760
11761         * symbols.c (maybe_call_magic_handler): Remove one magic number.
11762
11763 2000-01-28  Andy Piper  <andy@xemacs.org>
11764
11765         * frame.c (allocate_frame_core): Use new Fset_window_buffer signature.
11766         (setup_normal_frame): ditto.
11767         (setup_frame_without_minibuffer): ditto.
11768         (setup_minibuffer_frame): ditto.
11769         (delete_frame_internal): ditto.
11770         (Fmake_frame_invisible): ditto.
11771         (Ficonify_frame): ditto.
11772
11773         * window.h: change Fset_window_buffer signature.
11774
11775         * window.c (Fsplit_window): Use new Fset_window_buffer signature.
11776         (Fset_window_buffer): allow recording of buffer if the window is
11777         the selected window.
11778         (window_loop): Use new Fset_window signature.
11779
11780 2000-01-23  Daniel Pittman  <daniel@danann.net>
11781
11782         * config.h.in: Added template for `HAVE_ATHENA_3D'
11783
11784 2000-01-29  Andy Piper  <andy@xemacs.org>
11785
11786         * glyphs-x.c (x_resize_subwindow): Try and catch bogus resizes.
11787
11788         * gutter.c (output_gutter): Don't output if the window isn't live.
11789
11790 2000-01-28  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11791
11792         * glyphs-msw.c (mswindows_unmap_subwindow): Fix of corrupted patch
11793         of 01/12/00: Moved SetFocus back here where it belongs.
11794
11795 2000-01-23  Andy Piper  <andy@xemacs.org>
11796
11797         * s/cygwin32.h: declare printer things.
11798
11799 2000-01-26  Andy Piper  <andy@xemacs.org>
11800
11801         * select.c (Fown_selection_internal): GCPRO bug fix from Mike
11802         Alexander.
11803
11804 2000-01-24  Andy Piper  <andy@xemacs.org>
11805
11806         * glyphs-msw.c (mswindows_locate_pixmap_file): Expand filename.
11807         (mswindows_button_instantiate): Make sure glyph is a pixmap.
11808
11809         * glyphs-widget.c (widget_instantiate): Avoid shadows.
11810
11811         * frame-msw.c (msprinter_init_frame_3): Nuke warning.
11812
11813         * glyphs-msw.c: (mswindows_string_to_color): remove declaration.
11814
11815         * redisplay-msw.c (mswindows_output_cursor): Avoid shadows.
11816         (mswindows_output_display_block): Avoid local shadows.
11817
11818         * event-msw.c (mswindows_enqueue_magic_event): Avoid shadows.
11819         (mswindows_enqueue_mouse_button_event): ditto.
11820         (mswindows_handle_gui_wm_command): remove declaration.
11821
11822         * console-msw.c (mswindows_canonicalize_console_connection): Avoid
11823         warnings.
11824
11825         * console-msw.h: Avoid shadows.
11826         (mswindows_get_toolbar_button_text):
11827         (emacs_mswindows_create_stream_pair):
11828         (emacs_mswindows_delete_stream_pair):
11829         (mswindows_handle_toolbar_wm_command): declare.
11830
11831         * device-msw.c (build_syscolor_string): Avoid shadows.
11832
11833 2000-01-23  Andy Piper  <andy@xemacs.org>
11834
11835         * glyphs-widget.c (widget_instantiate): reverse the items for
11836         layouts so that children are in the expected order.
11837
11838 2000-01-28  Martin Buchholz  <martin@xemacs.org>
11839
11840         * ralloc.c: safe_bcopy ==> memmove
11841         * gmalloc.c: Remove MEMMOVE_MISSING conditional code.
11842         * s/msdos.h: Remove BCOPY macros.
11843         * insdel.c (gap_right): Remove BCOPY conditional code.
11844         * insdel.c (gap_left): Remove BCOPY conditional code.
11845         XEmacs demands a working ANSI C compiler - hence memmove.
11846
11847         * regex.c (regex_compile): Remove accidental use of trigraphs.
11848
11849 2000-01-27  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11850
11851         * event-msw.c (mswindows_enqueue_misc_user_event): Initialize
11852         event timestamp.
11853
11854 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11855
11856         * event-msw.c (mswindows_drain_windows_queue): Added the
11857         parameter.
11858         (mswindows_need_event): Commented the call to
11859         mswindows_drain_windows_queue().
11860         (emacs_mswindows_quit_p): Lookup the windows for keyboard messages
11861         only.
11862
11863         * console-msw.h: Moved a few function prototypes here from
11864         event-msw.c.
11865
11866         * gui-msw.c (mswindows_handle_gui_wm_command): Changed the ID
11867         parameter from unsigned short to unsigned long.
11868         (Fmswindows_shell_execute): Added return value.
11869
11870 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
11871
11872         * sysdep.c (init_system_name):
11873           process-unix.c (unix_canonicalized_host_name):
11874         Don't call freeaddrinfo() if getaddrinfo() fails.
11875
11876         * process-unix.c (unix_open_unix_network_stream):
11877         Moved the code to get a port # into address loop.
11878
11879 2000-01-27  Martin Buchholz  <martin@xemacs.org>
11880
11881         * buffer.c (reinit_vars_of_buffer):
11882         The right place to initialize conversion_in_dynarr and
11883         conversion_out_dynarr.
11884
11885         * alloc.c (pdump): Use the real open() till sys_open() is functional.
11886
11887         * process-unix.c (unix_canonicalize_host_name): Muleize.
11888         (unix_open_network_stream): Muleize.
11889
11890         * buffer.h: Fix up prototypes for ralloc.c functions.
11891
11892 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
11893         * config.h.in: added HAVE_GETADDRINFO and HAVE_GETNAMEINFO
11894         * sysdep.c: In init_system_name(), add code to use getaddrinfo()
11895                 instead of gethostbyname()
11896         * process-unix.c: In unix_canonicalize_host_name() and
11897                 unix_open_network_stream(), add code to use getaddrinfo()
11898                 instead of gethostbyname().
11899
11900 2000-01-27  Daniel Pittman <daniel@danann.net>
11901
11902         * device-x.c (x_init_device): Warn at run-time if using Athena 3d
11903         libs when built with flat Athena.
11904
11905 2000-01-27  Martin Buchholz  <martin@xemacs.org>
11906
11907         * ralloc.c: Replace SIZE (conflicts with Windows headers) with size_t.
11908         Use coding standards for function prototypes.
11909
11910 2000-01-25  Martin Buchholz  <martin@xemacs.org>
11911
11912         * dialog-msw.c (push_lisp_string_as_unicode):
11913         * doc.c (unparesseuxify_doc_string):
11914         * dired.c (Fuser_name_completion_1):
11915         * dired.c (Fuser_name_all_completions):
11916         * dired.c (free_user_cache):
11917         * dired.c (user_name_completion):
11918         * console-x.c (get_display_arg_connection):
11919         * minibuf.c (clear_echo_area_internal):
11920         * minibuf.c (echo_area_append):
11921         * eldap.c (Fldap_open):
11922         * eldap.c (Fldap_search_internal):
11923         * frame-x.c (x_set_frame_text_value):
11924         * frame-x.c (x_set_frame_properties):
11925         * frame-x.c (x_create_widgets):
11926         * redisplay-tty.c (term_get_fkeys_1):
11927         * objects-x.c (x_parse_nearest_color):
11928         * objects-x.c (x_valid_color_name_p):
11929         * objects-x.c (x_initialize_font_instance):
11930         * objects-x.c (x_list_fonts):
11931         * objects-x.c (x_find_charset_font):
11932         * tooltalk.c (Fadd_tooltalk_message_arg):
11933         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
11934         * tooltalk.c (Fadd_tooltalk_pattern_arg):
11935         * process-unix.c (unix_create_process):
11936         * ntproc.c (sys_spawnve):
11937         * sound.c (Fplay_sound_file):
11938         * sound.c (Fplay_sound):
11939         * buffer.c (init_initial_directory):
11940         * buffer.c (init_buffer):
11941         * editfns.c (init_editfns):
11942         * editfns.c (Ftemp_directory):
11943         * editfns.c (Fuser_full_name):
11944         * editfns.c (uncache_home_directory):
11945         * editfns.c (get_home_directory):
11946         * editfns.c (Fuser_home_directory):
11947         * editfns.c (Fformat_time_string):
11948         * editfns.c (Fcurrent_time_string):
11949         * gui-x.c (button_item_to_widget_value):
11950         * database.c (Fopen_database):
11951         * event-Xt.c (x_to_emacs_keysym):
11952         * event-Xt.c (x_event_to_emacs_event):
11953         * event-Xt.c (describe_event_window):
11954         * event-msw.c (mswindows_wnd_proc):
11955         * glyphs-eimage.c (jpeg_instantiate):
11956         * glyphs-eimage.c (gif_instantiate):
11957         * glyphs-eimage.c (png_instantiate):
11958         * glyphs-eimage.c (tiff_instantiate):
11959         * glyphs-x.c (xbm_instantiate_1):
11960         * glyphs-x.c (x_xbm_instantiate):
11961         * glyphs-x.c (x_xface_instantiate):
11962         * glyphs-x.c (autodetect_instantiate):
11963         * glyphs-x.c (cursor_font_instantiate):
11964         * glyphs-x.c (x_widget_instantiate):
11965         * glyphs-x.c (x_widget_set_property):
11966         * glyphs-x.c (x_widget_property):
11967         * glyphs-x.c (BUILD_GLYPH_INST):
11968         * print.c (write_string_to_stdio_stream):
11969         * print.c (output_string):
11970         * print.c (Falternate_debugging_output):
11971         * print.c (Fexternal_debugging_output):
11972         * glyphs-msw.c (extract_xpm_color_names):
11973         * glyphs-msw.c (mswindows_xpm_instantiate):
11974         * glyphs-msw.c (bmp_instantiate):
11975         * glyphs-msw.c (resource_name_to_resource):
11976         * glyphs-msw.c (mswindows_resource_instantiate):
11977         * glyphs-msw.c (xbm_instantiate_1):
11978         * glyphs-msw.c (mswindows_xbm_instantiate):
11979         * glyphs-msw.c (mswindows_xface_instantiate):
11980         * glyphs-msw.c (mswindows_widget_instantiate):
11981         * glyphs-msw.c (add_tree_item):
11982         * glyphs-msw.c (add_tab_item):
11983         * glyphs-msw.c (mswindows_combo_box_instantiate):
11984         * glyphs-msw.c (mswindows_widget_property):
11985         * glyphs-msw.c (mswindows_combo_box_property):
11986         * glyphs-msw.c (mswindows_widget_set_property):
11987         * console.c (stuff_buffered_input):
11988         * objects-msw.c (mswindows_initialize_color_instance):
11989         * objects-msw.c (mswindows_valid_color_name_p):
11990         * objects-msw.c (mswindows_list_fonts):
11991         * objects-msw.c (mswindows_font_instance_truename):
11992         * bytecode.c (optimize_compiled_function):
11993         * select-x.c (symbol_to_x_atom):
11994         * select-x.c (x_atom_to_symbol):
11995         * select-x.c (hack_motif_clipboard_selection):
11996         * select-x.c (selection_data_to_lisp_data):
11997         * select-x.c (lisp_data_to_selection_data):
11998         * select-x.c (Fx_get_cutbuffer_internal):
11999         * select-x.c (Fx_store_cutbuffer_internal):
12000         * buffer.h (TO_EXTERNAL_FORMAT): New function.
12001         * buffer.h (TO_INTERNAL_FORMAT): New function.
12002         * emacs.c (make_arg_list_1):
12003         * emacs.c (make_argc_argv):
12004         * emacs.c (main_1):
12005         * emacs.c (Fdump_emacs):
12006         * emacs.c (split_string_by_emchar_1):
12007         * file-coding.h:
12008         * lisp.h:
12009         * lstream.h:
12010         * symsinit.h:
12011         * device-x.c (x_init_device):
12012         * device-x.c (Fx_valid_keysym_name_p):
12013         * device-x.c (Fx_get_font_path):
12014         * device-x.c (Fx_set_font_path):
12015         * glyphs.c (bitmap_to_lisp_data):
12016         * glyphs.c (pixmap_to_lisp_data):
12017         * alloc.c (make_ext_string): Use coding system arguments.  Update
12018         all callers.
12019         * alloc.c (build_string):
12020         * callproc.c (child_setup):
12021         * callproc.c (init_callproc):
12022         * fileio.c (lisp_strerror):
12023         * fileio.c (directory_file_name):
12024         * fileio.c (Fexpand_file_name):
12025         * fileio.c (Ffile_truename):
12026         * fileio.c (Fsysnetunam):
12027         * fileio.c (Fdo_auto_save):
12028         * sysdep.c (sys_readdir):
12029         * tests.c: New file.  Allow adding C tests.
12030         Replace GET_* macros with a more comprehensible and flexible
12031         interface, TO_INTERNAL_FORMAT() and TO_EXTERNAL_FORMAT().
12032         Modify all calls.
12033         Any coding system can be used to do format conversion.
12034         Eliminate enum external_data_format.
12035         Eliminate convert_to_external_format.
12036         Eliminate convert_to_internal_format.
12037         Make sure file-name, keyboard, terminal, and ctext are always
12038         defined as coding systems or aliases.  Make
12039         file-name-coding-system, terminal-coding-system, and
12040         keyboard-coding-system magical variables that are equivalent to
12041         defining the corresponding coding system aliases.
12042
12043         * file-coding.c (Fcoding_system_canonical_name_p): New function.
12044         * file-coding.c (Fcoding_system_alias_p): New function.
12045         * file-coding.c (Fcoding_system_aliasee): New function.
12046         * file-coding.c (append_suffix_to_symbol): New function.
12047         * file-coding.c (dangling_coding_system_alias_p): New function.
12048         * file-coding.c (Ffind_coding_system):
12049         * file-coding.c (Fcopy_coding_system):
12050         * file-coding.c (encode_coding_no_conversion):
12051         * file-coding.c (syms_of_file_coding):
12052         * file-coding.c (vars_of_file_coding):
12053         Rewrite coding system alias code.
12054         Allow nested aliases, like symbolic links.
12055         Allow redefinition of coding system aliases.
12056         Prevent existence of dangling coding system aliases.
12057
12058         * dired.c (Fuser_name_completion_1):
12059         * dired.c (Fuser_name_all_completions):
12060         A crash would happen if user did QUIT in the middle of building
12061         user_name_cache.  Remove redundant code in mainline and unwind_protect.
12062
12063         * lisp.h:
12064         * dynarr.c (Dynarr_min_size): Make static.  Increase value to 8.
12065
12066         * lstream.c (make_fixed_buffer_input_stream): Take a void *, not
12067         an unsigned char *.  Update all callers.
12068
12069 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12070
12071         * callproc.c (Fcall_process_internal): Ignore Vbinary-process_output.
12072
12073 2000-01-25  Martin Buchholz  <martin@xemacs.org>
12074
12075         * elhash.c (hentry_description): Use more portable definition.
12076         (resize_hash_table): Initialize new hentries using
12077         xnew_array_and_zero, thereby simplifying the code.
12078
12079         * mule-charset.c (make_charset): Make sure entire object is
12080         initialized, to avoid Purify warnings.
12081
12082         * alloc.c (resize_string): Fix unlikely crash with big strings.
12083
12084 2000-01-24  Martin Buchholz  <martin@xemacs.org>
12085
12086         * realpath.c (xrealpath):
12087         Don't call getwd().
12088
12089 2000-01-25  Martin Buchholz  <martin@xemacs.org>
12090
12091         * lread.c (read_bit_vector): Fix memory leak reading literal bit vectors.
12092
12093 1999-12-28  Max Matveev  <max@melbourne.sgi.com>
12094
12095         * unexelfsgi.c (unexec): Change the way we decide which segment
12096         should be extended.
12097
12098         Assumption that .bss section should be outside the PT_LOADable
12099         segment. On IRIX with version 6.2 and above, .bss (or .sbss, if
12100         it's present) is inside the 'data' segment. This would fail the
12101         test which was used to find a segment to grow and cover new
12102         heap. Instead of this assumption, I created another one - on IRIX
12103         the segment to grow should start below .bss and it's address
12104         should extent above the end of .bss. Once this segment is
12105         identified, it's grown to accommodate the new heap and new
12106         zero-length .bss section is added at the end of .data2.
12107
12108 2000-01-25  Martin Buchholz  <martin@xemacs.org>
12109
12110         * eval.c (Feval): Wrong number of arguments should use original
12111         function, not the indirect_function version of it.
12112
12113 2000-01-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
12114
12115         * glyphs-x.c (x_button_instantiate): Don't add image if
12116         it is not a pixmap.
12117         (x_locate_pixmap_file): Call Fexpand_file_name when file name
12118         is relative.
12119
12120 2000-01-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
12121
12122         * symeval.h (DEFVAR_LISP_MAGIC): Remove semicolon after macro
12123         declaration.
12124         (DEFVAR_INT_MAGIC): Ditto.
12125         (DEFVAR_BOOL_MAGIC): Ditto.
12126         * glyphs.h: Reindent backslash.
12127
12128 2000-01-24  Martin Buchholz  <martin@xemacs.org>
12129
12130         * glyphs-widget.c (layout_query_geometry):
12131         (layout_layout): Use correct types for gheight, gwidth.
12132
12133 2000-01-24  Martin Buchholz  <martin@xemacs.org>
12134
12135         * EmacsManager.c (QueryGeometry): Purified.
12136
12137 2000-01-23  Martin Buchholz  <martin@xemacs.org>
12138
12139         * alloc.c (make_float): Make sure entire object is initialized, to
12140         avoid Purify warnings.
12141         (pdump_register_sub): Remove useless assignment.
12142         (pdump): Use xmalloc, not malloc.
12143         (pdump_load): Use xmalloc, not malloc.
12144
12145 2000-01-23  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12146
12147         * callproc.c:
12148         * dired-msw.c:
12149         * fileio.c:
12150         * process-nt.c:
12151         * redisplay-msw.c:
12152         * sysdep.c: Removed redundant #include <windows.h>
12153
12154 2000-01-22  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12155
12156         * frame.c (delete_frame_internal): Do not delete device when its
12157         implementation so declares.
12158         (delete_frame_internal): Set device selected frame to nil when
12159         last frame goes away.
12160
12161         * device-msw.c (msprinter_device_system_metrics): Implemented.
12162         (mswindows_device_system_metrics): Added 'device-dpi property.
12163
12164         * device.c: (Fdevice_printer_p): Added.
12165         Added 'offset-workspace device metric.
12166
12167         * console.h (device_metrics): Declared DM_offset_workspace.
12168
12169 2000-01-23  Martin Buchholz  <martin@xemacs.org>
12170
12171         * fileio.c (Ffile_truename): Remove pointless and confusing
12172         initialization of elen.
12173
12174         * glyphs-widget.c: Compiler warning fixes.
12175
12176 2000-01-23  Gunnar Evermann  <ge204@eng.cam.ac.uk>
12177
12178         * process.h (PROCESS_LIVE_P): Modify to take a Lisp_Process
12179         instead of a Lisp_Object as argument to make it consistent with
12180         the other LIVE_P macros.
12181         (CHECK_LIVE_PROCESS): New macro.
12182
12183         * process.c: Declare Qprocess_live_p.
12184         (Fprocess_live_p): New function.
12185         (create_process): Use PROCESS_LIVE_P.
12186         (read_process_output): Ditto.
12187         (set_process_filter): Ditto.
12188         (Fdelete_process): Ditto.
12189         (kill_buffer_processes): Ditto
12190         (process_send_signal): Use CHECK_LIVE_PROCESS.
12191         (Fprocess_input_coding_system): Check whether process is still
12192         alive (fix PR#1061).
12193         (Fprocess_output_coding_system): Ditto.
12194         (Fprocess_coding_system): Ditto.
12195         (Fset_process_input_coding_system): Ditto.
12196         (Fset_process_output_coding_system): Ditto.
12197
12198 2000-01-23  Andy Piper  <andy@xemacs.org>
12199
12200         * glyphs.h (struct Lisp_Image_Instance): change format by unifying
12201         layout and widget.
12202
12203         * glyphs.c (mark_image_instance): take into account changed
12204         image_instance format.
12205         (image_instance_equal): ditto.
12206         (image_instance_hash): ditto.
12207
12208         * glyphs-widget.c (widget_instantiate): Incorporate layout
12209         instantiation here. Delay layout of the layout until later.
12210         (layout_instantiate): deleted.
12211         (layout_query_geometry): new function. get the geometry of a
12212         layout.
12213         (layout_layout): layout a layout dynamically.
12214         (image_instantiator_widget): New function - splitting up
12215         image_instantiator_format_create_glyphs_widget for netwinder
12216         compilation.
12217         (image_instantiator_buttons):
12218         (image_instantiator_edit_fields):
12219         (image_instantiator_combo_box):
12220         (image_instantiator_scrollbar):
12221         (image_instantiator_progress_guage):
12222         (image_instantiator_tree_view):
12223         (image_instantiator_tab_control):
12224         (image_instantiator_labels):
12225         (image_instantiator_layout): ditto.
12226         (image_instantiator_format_create_glyphs_widget): Call preceding
12227         functions.
12228
12229 2000-01-22  Martin Buchholz  <martin@xemacs.org>
12230
12231         * process.c (Fset_process_coding_system):
12232         * device-x.c (Fx_keysym_hash_table):
12233         Docstring fixes.
12234
12235         * lstream.c (Lstream_write): Return documented value, not 0.
12236
12237         * fileio.c (directory_file_name):
12238         (Fsubstitute_in_file_name):
12239         (Fsubstitute_insert_file_contents_internal):
12240         (Fwrite_region_internal):
12241         * emacs.c:
12242         * sysdep.c:
12243         * getloadavg.c:
12244         * systty.h:
12245         Remove vestigial APOLLO-conditional code.
12246
12247 2000-01-21  Martin Buchholz  <martin@xemacs.org>
12248
12249         * getpagesize.h: Add guard macros.
12250         * libsst.h: Add guard macros.
12251         * libst.h: Add guard macros.
12252         * line-number.h: Add guard macros.
12253         * ndir.h: Add guard macros.
12254         * sysfloat.h: Add guard macros.
12255         * sysfile.h: Add guard macros.
12256         * sysproc.h: Add guard macros.
12257         * syswait.h: Add guard macros.
12258         * xintrinsic.h: Add guard macros.
12259         * xintrinsicp.h: Add guard macros.
12260         * xmmanager.h: Add guard macros.
12261         * xmmanagerp.h: Add guard macros.
12262         * xmprimitive.h: Add guard macros.
12263         * xmu.h: Add guard macros.
12264         * gpmevent.h: Add copyright statement. Add guard macros.
12265         * miscplay.h: Add guard macros.
12266         * *.h: Use consistent C-standards-approved guard macro names.
12267
12268         * opaque.c (make_opaque): Switch parameter order.
12269         * opaque.h (make_opaque): Switch parameter order.
12270         Update all callers.
12271         * buffer.h (MAKE_MIRROR_TRT_TABLE): Use symbolic constant OPAQUE_CLEAR.
12272
12273         * config.h.in (type_checking_assert): Added.
12274         (bufpos_checking_assert): Added.
12275
12276 2000-01-21  Martin Buchholz  <martin@xemacs.org>
12277
12278         * alloc.c: Harmless pdump changes.
12279         - Use countof().
12280         - spell alignment correctly.
12281         * sysdep.c: Use countof()
12282
12283 2000-01-20  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12284
12285         * console.c (create_console): Use CONMETH_OR_GIVEN when calling
12286         initially_selected_for_input() console method, default to 0.
12287         (semi_canonicalize_console_connection): Try to delegate to
12288         canonicalize_console_connection if no such console method.
12289         (canonicalize_console_connection): Vice versa.
12290         (print_console): Do not print nil connection.
12291
12292         * console.h (XDEVIMPF_IS_A_PRINTER): Added.
12293         (XDEVIMPF_NO_AUTO_REDISPLAY): Added.
12294         (XDEVIMPF_FRAMELESS_OK): Added.
12295         (CONSOLE_INHERITS_METHOD): Added.
12296
12297         * console-msw.c (mswindows_canonicalize_console_connection):
12298         Added.
12299         (mswindows_canonicalize_device_connection): Added.
12300
12301         * console-msw.h (struct msprinter_device): Added this struct and
12302         accessor macros.
12303         (mswindows_device): Made fontlist a lisp object.
12304
12305         * device.c (semi_canonicalize_device_connection):  Try to delegate
12306         to canonicalize_device_connection if no such console method.
12307         (canonicalize_device_connection): Vice versa.
12308         (print_device): Do not print nil connection.
12309
12310         * device-msw.c (mswindows_init_device): Call InitCommonControls
12311         when have widgets.
12312         (mswindows_delete_device): Removed fontlist deallocation.
12313         (mswindows_mark_device): Added.
12314
12315         * events.c (event_equal): Added abort() at unreached code.
12316         (event_hash): Ditto.
12317
12318         * faces.c (complex_vars_of_faces): Added Qmsprinter to the list of
12319         fallback tags of Windows devices.
12320
12321         * general.c (syms_of_general): Initialized Qmsprinter.
12322
12323         * gutter.c (complex_vars_of_gutters): Added Qmsprinter to the list
12324         of fallback tags of Windows devices.
12325
12326         * lisp.h: Declared Qmsprinter.
12327
12328         * objects-msw.c (font_enum_callback_2): Rewrote to build lisp list
12329         of strings.
12330         (mswindows_list_fonts): Ditto.
12331         (mswindows_enumerate_fonts): Removed dependency on XDEVICE, so
12332         that it can be used by both mswindows and msprinter devices.
12333         (initialize_font_instance): Added.
12334         (mswindows_initialize_font_instance): Use it.
12335         (msprinter_initialize_font_instance): Added.
12336
12337         * redisplay.c (redisplay_device): Added the parameter AUTOMATIC
12338         and implementation flags check.
12339         (redisplay_without_hooks): Changed the call to the above.
12340         (Fredraw_device): Ditto.
12341         (Fredisplay_device): Ditto.
12342
12343         * redisplay-msw.c (get_frame_dc): Implemented.
12344         (get_frame_compdc): Implemented.
12345         (many functions): Use the two functions above to get device
12346         contexts, ether for a window or a printer.
12347
12348 2000-01-21  Olivier Galibert  <galibert@pobox.com>
12349
12350         * symbols.c (reinit_symbols_once_early): Put Qzero/Qnull_pointer
12351         initialization here.
12352         (init_symbols_once_early): Call it.
12353         * emacs.c (main_1): Call it.
12354         * symsinit.h: Declare it.
12355
12356 2000-01-19  Olivier Galibert  <galibert@pobox.com>
12357
12358         * alloc.c: Use a lrecord_header * in the backtrace instead of a
12359         Lisp_Object.
12360         (pdump_backtrace): Ditto.
12361         (pdump_register_object): Ditto.  Cleanup use of the pointers.
12362         (pdump_get_entry): Abort if trying to register a null pointer.
12363         (pdump_dump_data): Cleanup types when relocating.
12364         (pdump_dump_staticvec): Cleanup types w.r.t the reloc table.
12365         (pdump_dump_rtables): Remove bad casts.
12366         (pdump_load): Cleanup relocation w.r.t union type.  Use a
12367         Lisp_Object instead of a EMACS_INT for the hashtable
12368         reorganization.
12369
12370 2000-01-20  Martin Buchholz  <martin@xemacs.org>
12371
12372         * emacs.c (main_1): Rearrange morass of #ifdef's for correctness.
12373
12374         * callproc.c (call_process_cleanup): Isolate WINDOWSNT code for clarity.
12375
12376         * EmacsManager.c (GeometryManager): Avoid use of CPP for clarity.
12377
12378         * *.[ch]: global-replace 's/_of_xselect/_of_select_x/g' *.[ch]
12379
12380 2000-01-17  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12381
12382         * faces.h (FACE_STRIKETHRU_P): Added.
12383
12384         * glyphs-msw.c (mswindows_widget_hfont): Implemented, to take care
12385         of font variants.
12386
12387         * redisplay-msw.c (mswindows_apply_face_effects): Deleted.
12388         (mswindows_set_dc_font): New function, aware of font variants,
12389         separated from mswindows_update_dc.
12390
12391         * objects-msw.h (struct mswindows_font_instance_data): Added
12392         definition.
12393
12394         * objects-msw.c (mswindows_finalize_font_instance): Delete all
12395         cached fonts and the data structure.
12396         (mswindows_initialize_font_instance): Added creation of font data
12397         structure.
12398         (mswindows_print_font_instance): Print at least something.
12399         (mswindows_create_font_variant): Implemented.
12400         (mswindows_get_hfont): Implemented.
12401
12402 2000-01-13  Fabrice Popineau  <Fabrice.Popineau@supelec.fr>
12403
12404         * dired-msw.c: permute "sysdir.h" with "sysfile.h" because of
12405         prototyping problem with msvc.
12406
12407         * emacs.c (main_1): added syms_of_gui_mswindows() call
12408
12409         * gui-msw.c: added "mswindows-shell-execute" lisp subr and
12410         syms_of_gui_mswindows() function
12411
12412         * symsinit.h: added the prototype for syms_of_gui_mswindows()
12413
12414 2000-01-18  Martin Buchholz <martin@xemacs.org>
12415
12416         * XEmacs 21.2.27 is released.
12417
12418 2000-01-18  Martin Buchholz  <martin@xemacs.org>
12419
12420         * glyphs-eimage.c (struct tiff_error_struct):
12421         (tiff_error_func):
12422         (tiff_warning_func):
12423         #if HAVE_VSNPRINTF ==> #ifdef HAVE_VSNPRINTF
12424
12425         * unexmips.c:
12426         * unexhp9k3.c:
12427         * unexfreebsd.c:
12428         * unexec.c: Remove vestigial Lucid C code.
12429         * unexalpha.c:
12430         * unexaix.c:
12431         * termcap.c:
12432         * libsst.c: Ansify.
12433         Remove declarations of errno and strerror().
12434
12435         * eval.c (Fbacktrace): Small Purify-cation.  Fix docstring.
12436
12437         * .dbxrc (run-temacs): Use the horrible ${1+"$@"} instead of "$@".
12438
12439 2000-01-16  Martin Buchholz  <martin@xemacs.org>
12440
12441         * mule-charset.c (Fchar_octet): Resurrect from earlier in 1999.
12442         Optimize.
12443
12444 2000-01-14  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
12445
12446         * md5.c:
12447         * file-coding.c:
12448         * file-coding.h:
12449         Change enum eol_type to eol_type_t.
12450
12451 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
12452
12453         * gui.c (get_gui_callback): Check cons before accessing car.
12454
12455 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
12456
12457         * specifier.h (XSPECIFIER_TYPE): Add error checking version.
12458         (XSETSPECIFIER_TYPE): Ditto.
12459
12460 2000-01-17  Didier Verna  <didier@xemacs.org>
12461
12462         * redisplay.c (generate_fstring_runes): compute string size in
12463         characters, not bytes.
12464
12465 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
12466
12467         * window.c (Fwindow_minibuffer_p): Make WINDOW optional.
12468
12469 2000-01-14  Hrvoje Niksic  <hniksic@iskon.hr>
12470
12471         * print.c (print_error_message): Call print_prepare().
12472
12473 2000-01-14  Martin Buchholz  <martin@xemacs.org>
12474
12475         * .dbxrc: Renamed from dbxrc.
12476
12477         * events.c (event_to_character):
12478         Use `assert (foo)' instead of `if (!foo) abort()'
12479
12480         * .gdbinit (xtype): Add documentation.
12481         * .gdbinit (check-temacs): New function.
12482         * .gdbinit (check-xemacs): New function.
12483         * dbxrc (check-xemacs): New function.
12484         * dbxrc (check-xemacs): New function.
12485
12486 2000-01-14  Andy Piper  <andy@xemacs.org>
12487
12488         * glyphs-widget.c (widget_query_geometry): Make sure that we
12489         calculate default dimensions correctly.
12490
12491 2000-01-13  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12492
12493         * symsinit.h: Added prototype for reinit_vars_of_frame_mswindows.
12494
12495         * event-msw.c (vars_of_event_mswindows): Fixed a mistyped
12496         pdump_wire'd variable.
12497
12498         * emacs.c: (main_1): Conditionalized calls to
12499         reinit_vars_of_scrollbar_x and reinit_vars_of_module.
12500
12501 2000-01-13  Martin Buchholz  <martin@xemacs.org>
12502
12503         * window.c (Fset_window_configuration):
12504         * sysdep.c (_start):
12505         * input-method-motif.c (res):
12506         * event-Xt.c (Xt_process_to_emacs_event):
12507         Simple compiler warning fixes.
12508
12509         * bytecode.c (funcall_compiled_function): Use the original
12510         function symbol on the backtrace list in preference to the
12511         compiled_function object in error messages.
12512
12513 2000-01-13  Andy Piper  <andy@xemacs.org>
12514
12515         * glyphs-x.c (update_widget_face): Make sure we update the widget
12516         background as well as foreground.
12517
12518 2000-01-13  Andy Piper  <andy@xemacs.org>
12519
12520         * glyphs.h (struct Lisp_Image_Instance): Move justify and orient
12521         fields to subwindow.
12522         (IMAGE_INSTANCE_SUBWINDOW_JUSTIFY): new macro.
12523         (XIMAGE_INSTANCE_SUBWINDOW_JUSTIFY): ditto.
12524         (IMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
12525         (XIMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
12526
12527         * glyphs-widget.c (check_valid_tab_orientation): new function.
12528         (initialize_widget_image_instance): zero orientation and
12529         justification.
12530         (widget_instantiate): pick up orientation.
12531         (tab_control_query_geometry): return appropriate values for
12532         vertical tabs.
12533
12534         * glyphs-msw.c: (mswindows_tab_control_instantiate): assign
12535         appropriate creation flags for left, right and bottom tabs.
12536
12537         * s/cygwin32.h: add tab definitions.
12538
12539 2000-01-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12540
12541         * glyphs-msw.c (mswindows_unmap_subwindow): Set focus back to the
12542         frame upon hiding a subwindow.
12543         (mswindows_button_instantiate): Changed the push button style to
12544         BS_PUSHBUTTON.
12545         (mswindows_button_instantiate): Removed button BS_NOTIFY
12546         style.
12547         (mswindows_button_instantiate): Removed redundant check for
12548         a disabled gui item.
12549         (mswindows_button_instantiate): Made use of WS_TABSTOP
12550         consistent: "operable" controls (edit, button, tree, scroll) have
12551         this style, "display-only" ones (static, progress gauge) do
12552         not. This style is currently ignored by XEmacs though. Also,
12553         removed the WS_EX_CONTROLPARENT style - it is not for children,
12554         it is for their parents!
12555         (mswindows_edit_field_instantiate): Ditto.
12556         (mswindows_progress_gauge_instantiate): Ditto.
12557         (mswindows_tree_view_instantiate): Ditto.
12558         (mswindows_tab_control_instantiate): Ditto.
12559         (mswindows_scrollbar_instantiate): Ditto.
12560         (mswindows_combo_box_instantiate): Ditto.
12561         (mswindows_widget_instantiate): Added the WS_EX_CONTROLPARENT
12562         style to the "clip" window.
12563         (mswindows_button_instantiate): Removed compilation warning by
12564         equally typing terms of the ?: operator.
12565
12566 2000-01-12  Didier Verna  <didier@xemacs.org>
12567
12568         * redisplay.c (generate_fstring_runes): new parameter holding the
12569         last modeline-format extent.
12570         (add_glyph_to_fstring_db_runes): new parameter holding the glyph
12571         extent, fill the glyph block with it.
12572         (generate_fstring_runes): handle these parameters.
12573         (generate_formatted_string_db): ditto.
12574
12575         * keymap.c (get_relevant_keymaps): retreive the keymaps from the
12576         glyphs'extents in the modeline.
12577
12578 1999-01-11  Mike Woolley  <mike@bulsara.com>
12579
12580         * ntheap.c: Reduced the reserved heap space from 1Gb down to
12581         256Mb, as a workaround for the non-starting problem many people
12582         have experienced.
12583
12584 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
12585
12586         * console-tty.c (Fset_console_tty_output_coding_system):
12587         Force redrawing tty frame.
12588
12589 2000-01-10  Didier Verna  <didier@xemacs.org>
12590
12591         * redisplay.c (generate_fstring_runes): fix size computation bug.
12592
12593 2000-01-09  William M. Perry <wmperry@aventail.com>
12594
12595         * gpmevent.c: (gpm_next_event_cb): Don't return value from void function.
12596
12597 2000-01-09  Andy Piper  <andy@xemacs.org>
12598
12599         * glyphs-msw.c: index -> i to avoid shadows.
12600         (xbm_create_bitmap_from_data): make static.
12601         (check_valid_string_or_int): deleted.
12602         (mswindows_control_wnd_proc): message -> msg to avoid shadows.
12603
12604         * glyphs-x.c (x_update_subwindow): remove unused args.
12605
12606         * glyphs.c (glyph_image_instance): return the thing. Don't set the
12607         back pointer - this is done in allocate_image_instance.
12608         (query_string_font): return Qnil to make the compiler happy.
12609         (unmap_subwindow): set to ~0 to make the compiler happy.
12610         (glyph_query_geometry): comment out until used.
12611         (glyph_layout): ditto.
12612
12613 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
12614
12615         * insdel.c (signal_after_change): Remove extraneous unbind_to().