(GT-30254): New character.
[chise/xemacs-chise.git] / src / ChangeLog
1 2002-04-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2
3         * mule-charset.c (decode_builtin_char): Use `decode_builtin_char'
4         instead of `DECODE_CHAR' for mother; don't use special code for
5         chinese-big5 to use code space of chinese-big5-1 and
6         chinese-big5-2.
7         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' and
8         `MAX_CHAR_BIG5_CDP' for chinese-big5.
9
10         * char-ucs.h (MIN_CHAR_BIG5_CDP): Revival.
11         (MAX_CHAR_BIG5_CDP): Revival.
12
13 2002-04-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
14
15         * mule-charset.c (complex_vars_of_mule_charset): Use "big5-0" as
16         the XLFD registry-encoding name of `chinese-big5'.
17
18 2002-04-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
19
20         * mule-charset.c (Vcharset_chinese_big5_cdp): Deleted.
21         (Qchinese_big5_cdp): Deleted.
22         (syms_of_mule_charset): Delete symbol `chinese-big5-cdp'.
23         (complex_vars_of_mule_charset): Delete coded-charset
24         `chinese-big5-cdp'.
25
26         * char-ucs.h (CHARSET_ID_OFFSET): Deleted.
27         (LEADING_BYTE_*): Use `MIN_LEADING_BYTE + n' instead of
28         `CHARSET_ID_OFFSET - n' for private CCS.
29         (LEADING_BYTE_CHINESE_BIG5_CDP): Deleted.
30         (MIN_LEADING_BYTE_PRIVATE): Use `(MIN_LEADING_BYTE + 97)' instead
31         of `MIN_LEADING_BYTE'.
32         (MAX_LEADING_BYTE_PRIVATE): Use `-1' instead of
33         `(CHARSET_ID_OFFSET - 97)'.
34         (MIN_CHAR_BIG5_CDP): Deleted.
35         (MAX_CHAR_BIG5_CDP): Deleted.
36
37 2002-01-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
38
39         * mule-charset.c (Fmake_charset): Modify DOC-string for UTF-2000
40         extension.
41
42 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
43
44         * mule-charset.c (decode_builtin_char): Support mother charsets.
45
46 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
47
48         * mule-charset.c (Q94x94x60): New variable.
49         (charset_code_point): Support conversion `94x94x60'.
50         (Fmake_charset): Likewise.
51         (syms_of_mule_charset): Add new symbol `94x94x60'.
52
53         * char-ucs.h (CONVERSION_94x94x60): New macro.
54
55 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
56
57         * mule-charset.c (charset_code_point): Unify code about
58         `code-offset'.
59
60 2001-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
61
62         * mule-charset.c (charset_code_point): Merge code about builtin
63         characters into code about mother charsets; don't use
64         `range_charset_code_point'.
65         (range_charset_code_point): Deleted.
66
67 2001-12-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
68
69         * mule-charset.c (Qcode_offset): New variable.
70         (Fmake_charset): Use `XUINT' to get value of `min-code' and
71         `max-code'; accept new property `code-offset'.
72         (syms_of_mule_charset): Add new symbol `code-offset'.
73
74 2001-12-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
75
76         * mule-charset.c (range_charset_code_point): Fixed.
77
78 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
79
80         * mule-charset.c (decode_builtin_char): Change semantics of
81         code-offset of coded-charset.
82         (charset_code_point): Likewise.
83         (range_charset_code_point): Likewise.
84         (complex_vars_of_mule_charset): Modify for the change.
85
86 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
87
88         * mule-charset.c (Fencode_char): Reverse arguments.
89
90         * mule-charset.c (charset_code_point): Fixed.
91
92 2001-12-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
93
94         * mule-charset.c (Vcharset_mojikyo): Deleted.
95         (Vcharset_mojikyo_2022_1): Deleted.
96         (Vcharset_mojikyo_pj_{1..21}): Deleted.
97         (Qmin_code): New variable in UTF-2000.
98         (Qmax_code): Likewise.
99         (Qmother): Likewise.
100         (Qconversion): Likewise.
101         (Q94x60): Likewise.
102         (Qmojikyo): Deleted.
103         (Qmojikyo_2022_1): Deleted.
104         (Qmojikyo_pj_{1..22}): Deleted.
105         (mark_charset): Mark `cs->mother'.
106         (charset_description): Add description for `mother'.
107         (make_charset): Rename `ucs_{min|max}' to `{min|max}_code'; add
108         new arguments `mother' and `conversion'; use
109         `CHARSET_{MIN|MAX}_CODE' instead of `CHARSET_UCS_{MIN|MAX}'.
110         (charset_code_point): Moved from char-ucs.h; support `mother'
111         charset feature.
112         (range_charset_code_point): use `CHARSET_{MIN|MAX}_CODE' instead
113         of `CHARSET_UCS_{MIN|MAX}'; delete hard code for `mojikyo-2022-1'.
114         (Fmake_charset): Allow 3 and 4 as the value of `dimension' in
115         UTF-2000; allow 128 and 256 as the value of `chars' in UTF-2000;
116         allow 2 as the value of `graphic' in UTF-2000; add new properties
117         `min-code', `max-code', `mother', `conversion' in UTF-2000; don't
118         require `final' in UTF-2000; modify for `make_charset'.
119         (Fmake_reverse_direction_charset): use `CHARSET_{MIN|MAX}_CODE'
120         instead of `CHARSET_UCS_{MIN|MAX}'; modify for `make_charset'.
121         (Fcharset_property): Support `mother', `min-code' and `max-code'.
122         (Fencode_char): New function.
123         (syms_of_mule_charset): Add new builtin function `encode-char' in
124         UTF-2000; add new symbols `min-code', `max-code', `mother',
125         `conversion' and `94x60'; delete symbols `mojikyo',
126         `mojikyo-2022-1' and `mojikyo-pj-{1..21}'.
127         (complex_vars_of_mule_charset): Modify for `make_charset' change;
128         delete coded-charsets `mojikyo', `mojikyo-2022-1' and
129         `mojikyo-pj-{1..21}'; delete `DEF_MOJIKYO_PJ'.
130
131         * chartab.c (Fdefine_char): Use `XCHARSET_MAX_CODE' instead of
132         `XCHARSET_UCS_MAX'; regard `chinese-big5' as a base CCS.
133
134         * char-ucs.h (Vcharset_mojikyo): Deleted.
135         (Vcharset_mojikyo_2022_1): Deleted.
136         (LEADING_BYTE_MOJIKYO): Deleted.
137         (LEADING_BYTE_MOJIKYO_2022_1): Deleted.
138         (LEADING_BYTE_MOJIKYO_2022_2): Deleted.
139         (LEADING_BYTE_MOJIKYO_PJ_{1 .. 21}): Deleted.
140         (struct Lisp_Charset): Rename `ucs_{min|max}' to `{min|max}_code';
141         add new member `mother'; add new member `conversion'.
142         (CHARSET_MIN_CODE): Renamed from `CHARSET_UCS_MIN'.
143         (CHARSET_MAX_CODE): Renamed from `CHARSET_UCS_MAX'.
144         (CHARSET_MOTHER): New macro.
145         (CHARSET_CONVERSION): New macro.
146         (CONVERSION_IDENTICAL): New macro.
147         (CONVERSION_94x60): New macro.
148         (XCHARSET_MIN_CODE): Renamed from `CHARSET_MIN_CODE'.
149         (XCHARSET_MAX_CODE): Renamed from `CHARSET_MAX_CODE'.
150         (XCHARSET_MOTHER): New macro.
151         (XCHARSET_CONVERSION): New macro.
152         (MIN_CHAR_MOJIKYO): Deleted.
153         (MAX_CHAR_MOJIKYO): Deleted.
154         (DECODE_MOJIKYO_2022): Deleted.
155         (DECODE_CHAR): Delete hard code for builtin Mojikyo characters.
156         (charset_code_point): Changed to non-inline function.
157         (encode_char_1): Use `charset_code_point'.
158         (CHAR_TO_CHARC): Delete hard code for Mojikyo characters.
159
160 2001-12-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
161
162         * lread.c (read_compiled_function): Fix prototype.
163         (read_vector): Likewise.
164
165 2001-12-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
166
167         * lrecord.h (struct lrecord_header): Delete `older'.
168         (set_lheader_implementation): Delete code for `older'.
169         (set_lheader_older_implementation): Deleted.
170         (enum lrecord_type): Delete `lrecord_type_char_id_table'.
171         (OLDER_RECORD_P): Deleted.
172         (OLDER_RECORD_HEADER_P): Deleted.
173         (alloc_older_lcrecord): Deleted.
174         (alloc_older_lcrecord_type): Deleted.
175
176         * alloc.c (all_older_lcrecords): Deleted.
177         (alloc_older_lcrecord): Deleted.
178         (disksave_object_finalization_1): Delete code for older objects.
179         (mark_object): Don't use `OLDER_RECORD_HEADER_P'.
180         (reinit_alloc_once_early): Don't initialize `all_older_lcrecords'.
181
182 2001-12-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
183
184         * mule-charset.c (decoding_table_put_char): Use `make_vector'
185         instead of `make_older_vector'.
186         (put_char_ccs_code_point): Likewise.
187         (mark_charset): Mark `cs->decoding_table'.
188         (Fset_charset_mapping_table): Don't use `make_vector_newer'.
189
190         * lisp.h (make_older_vector): Deleted.
191         (make_vector_newer): Deleted.
192
193         * config.h.in (HAVE_GGC): Deleted.
194
195         * alloc.c (make_older_vector): Deleted.
196         (make_vector_newer_1): Deleted.
197         (make_vector_newer): Deleted.
198
199 2001-12-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
200
201         * mule-charset.c (Vcharset_ideograph_daikanwa_2): New variable.
202         (Qideograph_daikanwa_2): New variable.
203         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa-2'.
204         (complex_vars_of_mule_charset): Add new coded-charset
205         `ideograph-daikanwa-2'; use `LEADING_BYTE_DAIKANWA_3' instead of
206         `LEADING_BYTE_DAIKANWA'.
207
208         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): New macro.
209         (LEADING_BYTE_DAIKANWA_1): New macro.
210         (LEADING_BYTE_DAIKANWA_2): New macro.
211         (LEADING_BYTE_DAIKANWA_3): Renamed from `LEADING_BYTE_DAIKANWA'.
212
213 2001-12-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
214
215         * mule-charset.c (complex_vars_of_mule_charset): Change
216         DOC-strings and registry of `ideograph-daikanwa'; now it indicates
217         the second revised version.
218
219 2001-12-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
220
221         * mule-charset.c (Vcharset_ucs_smp): New variable.
222         (Vcharset_ucs_sip): New variable.
223         (Qucs_smp): New variable.
224         (Qucs_sip): New variable.
225         (encode_builtin_char_1): Treat MIN_CHAR_{SMP|SIP} to
226         MAX_CHAR_{SMP|SIP} as `ucs-{smp|sip}'.
227         (syms_of_mule_charset): Add new symbols `ucs-smp' and `ucs-sip'.
228         (complex_vars_of_mule_charset): Modify middle-DOC and registry of
229         `ucs-bmp'; add new coded-charset `ucs-smp' and `ucs-sip'; change
230         charset width of `ucs-cns', `ucs-jis', `ucs-ks' and `ucs-big5'.
231
232         * char-ucs.h (LEADING_BYTE_UCS_SMP): New macro.
233         (LEADING_BYTE_UCS_SIP): New macro.
234         (MIN_CHAR_SMP): New macro.
235         (MAX_CHAR_SMP): New macro.
236         (MIN_CHAR_SIP): New macro.
237         (MAX_CHAR_SIP): New macro.
238
239 2001-11-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
240
241         * dumper.c (PDUMP_HASH_SIZE): Increase the size of hash table when
242         utf-2000.
243
244 2001-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
245
246         * mule-charset.c (put_char_ccs_code_point): Return canonicalized
247         value; don't store value into `encoding_table' of `Lisp_Charset'.
248         (mark_charset): `encoding_table' was deleted.
249         (charset_description): Likewise.
250         (make_charset): Likewise.
251         (Fset_charset_mapping_table): Use `Fput_char_attribute' instead of
252         `put_char_ccs_code_point'.
253
254         * chartab.h (Fput_char_attribute): New EXFUN.
255
256         * chartab.c (Fchar_attribute_alist): Name space of CCS-attributes
257         is unified with normal symbol space.
258         (Fget_char_attribute): Likewise.
259         (Fput_char_attribute): Likewise; behavior of
260         `put_char_ccs_code_point' is changed.
261
262         * char-ucs.h: Include "elhash.h".
263         (Vchar_attribute_hash_table): New external variable.
264         (struct Lisp_Charset): Delete `encoding_table'.
265         (CHARSET_ENCODING_TABLE): New implementation; refer
266         `Vchar_attribute_hash_table' instead of `encoding_table' of struct
267         `Lisp_Charset'.
268
269 2001-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
270
271         * mule-charset.c (Fcharset_property): Return Qnil if CHARSET_FINAL
272         (cs) == 0.
273
274 2001-11-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
275
276         * text-coding.c (char_encode_big5): Prefer charset-g1 than
277         `chinese-big5'.
278
279 2001-11-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
280
281         * chartab.c (uint8_byte_table_description): New constant.
282         (uint8-byte-table): Use `uint8_byte_table_description'.
283         (uint16_byte_table_description): New constant.
284         (uint16-byte-table): Use `uint16_byte_table_description'.
285
286 2001-10-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
287
288         * mule-charset.c (complex_vars_of_mule_charset): Don't use builtin
289         range MIN_CHAR_BIG5_CDP .. MAX_CHAR_BIG5_CDP.
290
291 2001-10-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
292
293         * mule-charset.c (Vcharset_ucs_ks): New variable.
294         (Qucs_ks): New variable.
295         (syms_of_mule_charset): Add new symbol `ucs-ks'.
296         (complex_vars_of_mule_charset): Add new coded-charset `ucs-ks'.
297
298         * char-ucs.h (LEADING_BYTE_UCS_KS): New macro.
299
300 2001-10-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
301
302         * chartab.h (Fmake_char): New EXFUN; moved from chartab.c.
303         (Fdecode_char): Likewise.
304
305         * chartab.c: Move EXFUN for Fmake_char and Fdecode_char into
306         chartab.h.
307         (Fdefine_char): Modify for Fdecode_char.
308         (Ffind_char): Likewise.
309
310         * mule-charset.c (Fdecode_char): Add new optional argument
311         `defined-only'.
312         (Fdecode_builtin_char): Modify for `Fdecode_char'.
313
314 2001-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
315
316         * text-coding.c (mark_coding_system): Mark initial-charset-g0 and
317         -g1 of CODESYS_BIG5 in XEmacs UTF-2000.
318         (allocate_coding_system): Initialize initial-charsets of
319         CODESYS_BIG5 in XEmacs UTF-2000.
320         (Fmake_coding_system): Accept `charset-g0' and `charset-g1' for
321         CODESYS_BIG5 in XEmacs UTF-2000.
322         (decode_coding_big5): Use initial-charset-g0 and -g1 of
323         CODESYS_BIG5 in XEmacs UTF-2000; use `DECODE_DEFINED_CHAR'.
324
325         * mule-charset.c (Vcharset_ideograph_hanziku_{1 .. 12}): New
326         variables.
327         (Qideograph_hanziku_{1 .. 12}): Likewise.
328         (syms_of_mule_charset): Add new symbols `ideograph-hanziku-{1
329         .. 12}'.
330         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' to
331         `MAX_CHAR_BIG5_CDP' for `chinese-big5'; add news coded-charsets
332         `ideograph-hanziku-{1 .. 12}'.
333
334         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x200.
335         (LEADING_BYTE_HANZIKU_{1 .. 12}): New macros.
336         ({MIN|MAX}_CHAR_BIG5_CDP): New macros.
337         ({MIN|MAX}_CHAR_HANZIKU_{1 .. 12}): New macros.
338         (DECODE_DEFINED_CHAR): New inline function.
339         (DECODE_CHAR): Use `DECODE_DEFINED_CHAR'.
340
341 2001-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
342
343         * mule-charset.c (Vcharset_china3_jef): Renamed from
344         `Vcharset_japanese_jef_china3'.
345         (Qchina3_jef): Renamed from `Qjapanese_jef_china3'.
346         (encode_builtin_char_1): Rename `{MIN|MAX}_CHAR_CHINA3_JEF' from
347         `{MIN|MAX}_CHAR_JEF_CHINA3'..
348         (syms_of_mule_charset): Rename `china3-jef' from
349         `japanese-jef-china3'.
350         (complex_vars_of_mule_charset): Likewise; rename
351         `LEADING_BYTE_CHINA3_JEF' from `LEADING_BYTE_JEF_CHINA3'.
352
353         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Renamed from
354         `LEADING_BYTE_JEF_CHINA3'.
355         (MIN_CHAR_CHINA3_JEF): Renamed from `MIN_CHAR_JEF_CHINA3'.
356         (MAX_CHAR_CHINA3_JEF): Renamed from `MAX_CHAR_JEF_CHINA3'.
357
358 2001-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
359
360         * mule-charset.c (encode_builtin_char_1): Comment out special code
361         for MIN_CHAR_MOJIKYO_0 ... MAX_CHAR_MOJIKYO_0.
362
363         * char-ucs.h (MIN_CHAR_MOJIKYO_0): Comment out.
364         (MAX_CHAR_MOJIKYO_0): Comment out.
365         (MIN_CHAR_CBETA): Changed to 0x00E20000.
366         (MAX_CHAR_CBETA): Changed to 0x00E2FFFF.
367         (MIN_CHAR_JEF_CHINA3): Changed to 0x00E80000.
368         (MAX_CHAR_JEF_CHINA3): Changed to 0x00E8FFFF.
369
370 2001-10-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
371
372         * mule-charset.c (Vcharset_ideograph_cbeta): New variable.
373         (Qideograph_cbeta): New variable.
374         (encode_builtin_char_1): Comment out special code for
375         coded-charset `mojikyo' and `japanese-jef-china3'.
376         (syms_of_mule_charset): Add new symbol `ideograph-cbeta'.
377         (complex_vars_of_mule_charset): Add new coded-charset
378         `ideograph-cbeta'.
379
380         * char-ucs.h (LEADING_BYTE_CBETA): New macro.
381         (MIN_CHAR_CBETA): New macro.
382         (MAX_CHAR_CBETA): New macro.
383
384 2001-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
385
386         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x100.
387         (LEADING_BYTE_JEF_CHINA3): New macro.
388         (MIN_CHAR_JEF_CHINA3): New macro.
389         (MAX_CHAR_JEF_CHINA3): Likewise.
390         (DECODE_CHAR): Fixed.
391
392 2001-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
393
394         * mule-charset.c (Vcharset_japanese_jef_china3): New variable.
395         (Qjapanese_jef_china3): New variable.
396         (encode_builtin_char_1): Support `japanese-jef-china3'.
397         (syms_of_mule_charset): Add new symbol `japanese-jef-china3'.
398         (complex_vars_of_mule_charset): Add new coded-charset
399         `japanese-jef-china3'.
400
401 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
402
403         * chartab.c (XCHARSET_CELL_RANGE): New inline function.
404         (decode_char_table_range): Use `XCHARSET_CELL_RANGE'; accept 94^3,
405         94^4, 96^3, 96^4, 128^n and 256^n set.
406         (put_char_table): Use `XCHARSET_CELL_RANGE'.
407         (map_char_table): Likewise.
408
409 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
410
411         * chartab.c (get_char_table): Use `get_char_id_table' in XEmacs
412         UTF-2000.
413
414 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
415
416         * chartab.h (get_char_id_table): New inline function.
417
418         * chartab.c (get_char_id_table): Moved to chartab.h as an inline
419         function.
420
421 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
422
423         * chartab.h (decode_char_table_range): New prototype in XEmacs
424         UTF-2000.
425         (put_char_id_table): New inline function in XEmacs UTF-2000.
426
427         * chartab.c (put_char_id_table): Moved to chartab.h as an inline
428         function.
429         (decode_char_table_range): Delete static declaration in XEmacs
430         UTF-2000.
431
432 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
433
434         * chartab.c (put_char_id_table): Use `put_char_table'.
435
436 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
437
438         * chartab.c (map_over_uint8_byte_table): Delete argument `ccs'.
439         (map_over_uint16_byte_table): Likewise.
440         (map_over_byte_table): Likewise.
441         (map_char_table): Modify for `map_over_uint8_byte_table',
442         `map_over_uint16_byte_table' and `map_over_byte_table' in XEmacs
443         UTF-2000.
444
445 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
446
447         * chartab.c (struct map_char_table_for_charset_arg): New
448         structure.
449         (map_char_table_for_charset_fun): New function.
450         (map_char_table): Use `map_char_table' for encoding_table of
451         `range->charset'.
452
453 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
454
455         * chartab.c (map_char_table): Check a character is found in
456         range->charset instead of non default value is defined in
457         char-table when range is CHARTAB_RANGE_ROW.
458
459 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
460
461         * chartab.c (map_char_id_table): Deleted.
462         (Fmap_char_attribute): Use `map_char_table' instead of
463         `map_char_id_table'.
464
465 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
466
467         * syntax.h (SYNTAX_CODE_UNSAFE): New implementation in XEmacs
468         UTF-2000.
469         (update_syntax_table): Deleted in XEmacs UTF-2000.
470
471         * syntax.c (find_defun_start): Use `syntax_table' instead of
472         `mirror_syntax_table' in XEmacs UTF-2000.
473         (Fset_syntax_table): Don't use `mirror_syntax_table' in XEmacs
474         UTF-2000.
475         (Fchar_syntax): Use `syntax_table' instead of `mirror_table' in
476         XEmacs UTF-2000.
477         (Fmatching_paren): Likewise.
478         (scan_words): Use `syntax_table' instead of `mirror_syntax_table'
479         in XEmacs UTF-2000.
480         (find_start_of_comment): Likewise.
481         (find_end_of_comment): Likewise.
482         (Fforward_comment): Likewise.
483         (scan_lists): Likewise.
484         (char_quoted): Likewise.
485         (Fbackward_prefix_chars): Likewise.
486         (scan_sexps_forward): Likewise.
487         (update_just_this_syntax_table): Deleted in XEmacs UTF-2000.
488         (update_syntax_table): Likewise.
489
490         * search.c (skip_chars): Use `syntax_table' instead of
491         `mirror_syntax_table' in XEmacs UTF-2000.
492         (wordify): Likewise.
493         (Freplace_match): Likewise.
494
495         * regex.c (re_compile_fastmap): Use `syntax_table' instead of
496         `mirror_syntax_table' in XEmacs UTF-2000.
497         (WORDCHAR_P_UNSAFE): Likewise.
498         (re_match_2_internal): Likewise.
499
500         * font-lock.c (find_context): Use `buf->syntax_table' instead of
501         `buf->mirror_syntax_table' in XEmacs UTF-2000.
502
503         * cmds.c (internal_self_insert): Use `buf->syntax_table' instead
504         of `buf->mirror_syntax_table' in XEmacs UTF-2000.
505
506         * chartab.h (struct Lisp_Char_Table): Delete `mirror_table' in
507         XEmacs UTF-2000.
508
509         * chartab.c (mark_char_table): Don't mark `mirror_table' in XEmacs
510         UTF-2000.
511         (print_char_table): Print `default_value' in XEmacs UTF-2000.
512         (char_table_description): Delete `mirror_table' in XEmacs
513         UTF-2000.
514         (fill_char_table): Don't call `update_syntax_table' in XEmacs
515         UTF-2000.
516         (Fmake_char_table): Don't use `mirror_table' in XEmacs UTF-2000.
517         (Fcopy_char_table): Likewise.
518         (put_char_table): Don't call `update_syntax_table' in XEmacs
519         UTF-2000.
520
521         * casefiddle.c (casify_object): Use `buf->syntax_table' instead of
522         `buf->mirror_syntax_table' in XEmacs UTF-2000.
523         (casify_region_internal): Likewise.
524
525         * bufslots.h: Delete `mirror_syntax_table' in XEmacs UTF-2000.
526
527         * buffer.c (common_init_complex_vars_of_buffer): Don't use
528         `mirror_syntax_table' in XEmacs UTF-2000.
529
530         * abbrev.c (abbrev_match): Use `buf->syntax_table' instead of
531         `buf->mirror_syntax_table' in XEmacs UTF-2000.
532         (Fexpand_abbrev): Likewise.
533
534 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
535
536         * chartab.c (vars_of_chartab): Update `utf-2000-version' to 0.18.
537
538 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
539
540         * chartab.c (map_over_uint8_byte_table): Cancel temporary hack.
541         (map_over_uint16_byte_table): Likewise.
542         (map_over_byte_table): Likewise.
543         (get_char_id_table): Refer `cit->default_value'.
544         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
545         (map_char_id_table): Use `1 << 30' instead of `1 << 24' as number
546         of character-id ranges.
547         (mark_char_table): Mark `ct->default_value'.
548         (char_table_description): Add `default_value'.
549         (fill_char_table): Use `default_value'.
550         (decode_char_table_range): Decode `nil' as
551         `CHARTAB_RANGE_DEFAULT'.
552         (get_char_id_table): Refer `cit->default_value'.
553         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
554         (map_char_table): Support `CHARTAB_RANGE_DEFAULT'; cancel
555         temporary hack; check value of char-table is bound or not.
556         (slow_map_char_table_fun): Support `CHARTAB_RANGE_DEFAULT'.
557
558         * chartab.h (struct Lisp_Char_Table): Add new member
559         `default_value' in XEmacs UTF-2000.
560         (CHAR_TABLE_VALUE_UNSAFE): Use `default_value'.
561         (enum chartab_range_type): Add `CHARTAB_RANGE_DEFAULT' in XEmacs
562         UTF-2000.
563
564 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
565
566         * chartab.h (Lisp_Char_ID_Table): Deleted.
567
568         * chartab.c (char_table_description): Fix typo.
569         (Fmap_char_attribute): Use `Lisp_Char_Table' instead of
570         `Lisp_Char_ID_Table'.
571
572 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
573
574         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_TABLEP' instead of
575         `CHAR_ID_TABLE_P'.
576
577         * mule-charset.c (remove_char_ccs): Use `CHAR_TABLEP' instead of
578         `CHAR_ID_TABLE_P'.
579
580         * chartab.h (XCHAR_ID_TABLE): Deleted.
581         (XSETCHAR_ID_TABLE): Deleted.
582         (CHAR_ID_TABLE_P): Deleted.
583
584         * chartab.c (put_char_id_table): Use `CHAR_TABLEP' instead of
585         `CHAR_ID_TABLE_P'.
586         (Fget_composite_char): Likewise.
587         (put_char_table): Likewise.
588         (add_char_attribute_alist_mapper): Fixed.
589         (Fchar_attribute_alist): Use `CHAR_TABLEP' instead of
590         `CHAR_ID_TABLE_P'.
591         (Fget_char_attribute): Likewise.
592         (Fget_char_attribute): Likewise.
593         (Fmap_char_attribute): Likewise.
594
595         * char-ucs.h (charset_code_point): Use `CHAR_TABLEP' instead of
596         `CHAR_ID_TABLE_P'.
597         (encode_char_1): Likewise.
598
599 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
600
601         * text-coding.c (COMPOSE_ADD_CHAR): Use `XCHAR_TABLE' instead of
602         `XCHAR_ID_TABLE'.
603
604         * mule-charset.c (put_char_ccs_code_point): Use `XCHAR_TABLE'
605         instead of `XCHAR_ID_TABLE'.
606         (remove_char_ccs): Likewise.
607
608         * chartab.c (put_char_id_table): Use `XCHAR_TABLE' instead of
609         `XCHAR_ID_TABLE'.
610         (Fget_composite_char): Likewise.
611         (Fchar_variants): Likewise.
612         (put_char_table): Likewise.
613         (add_char_attribute_alist_mapper): Likewise.
614         (Fchar_attribute_alist): Likewise.
615         (Fget_char_attribute): Likewise.
616         (Fput_char_attribute): Likewise.
617         (Fmap_char_attribute): Likewise.
618         (Fmap_char_attribute): Likewise.
619
620         * char-ucs.h (charset_code_point): Use `XCHAR_TABLE' instead of
621         `XCHAR_ID_TABLE'.
622         (encode_char_1): Likewise.
623
624 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
625
626         * chartab.c (map_char_id_table): Use `Lisp_Char_Table' instead of
627         `Lisp_Char_ID_Table'.
628         (mark_char_id_table): Deleted.
629         (print_char_id_table): Likewise.
630         (char_id_table_equal): Likewise.
631         (char_id_table_hash): Likewise.
632         (char_id_table_description): Likewise.
633         (char_id_table): Likewise.
634         (make_char_id_table): Use `Fmake_char_table' and
635         `fill_char_table'.
636         (get_char_id_table): Use `Lisp_Char_Table' instead of
637         `Lisp_Char_ID_Table'.
638         (put_char_id_table): Likewise.
639         (Fput_char_attribute): Use `XCHAR_TABLE' instead of
640         `XCHAR_ID_TABLE'.
641         (Fremove_char_attribute): Likewise.
642         (syms_of_chartab): Don't define type `char-id-table'.
643
644         * chartab.h (struct Lisp_Char_ID_Table): Deleted.
645         (char_id_table): Likewise.
646         (GC_CHAR_ID_TABLE_P): Likewise.
647         (Lisp_Char_ID_Table): Use structure `Lisp_Char_Table'.
648         (XCHAR_ID_TABLE): Use `XCHAR_TABLE'.
649         (XSETCHAR_ID_TABLE): Use `XSETCHAR_TABLE'.
650         (CHAR_ID_TABLE_P): Use `CHAR_TABLEP'.
651         (get_char_id_table): Use `Lisp_Char_Table' instead of
652         `Lisp_Char_ID_Table'.
653         (put_char_id_table_0): Likewise.
654         (put_char_id_table): Likewise.
655
656 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
657
658         * chartab.h: Lisp_Byte_Table related codes are moved from
659         chartab.h.
660
661         * char-ucs.h: Move Lisp_Byte_Table related codes to chartab.h.
662
663 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
664
665         * chartab.h: Don't include "chartab.h".
666         (struct Lisp_Char_ID_Table): Moved from char-ucs.h.
667         (Lisp_Char_ID_Table): Likewise.
668         (char_id_table): Likewise.
669         (XCHAR_ID_TABLE): Likewise.
670         (XSETCHAR_ID_TABLE): Likewise.
671         (CHAR_ID_TABLE_P): Likewise.
672         (GC_CHAR_ID_TABLE_P): Likewise.
673         (get_char_id_table): Likewise.
674
675         * char-ucs.h: Include "chartab.h".
676         (struct Lisp_Char_ID_Table): Moved to chartab.h.
677         (Lisp_Char_ID_Table): Likewise.
678         (char_id_table): Likewise.
679         (XCHAR_ID_TABLE): Likewise.
680         (XSETCHAR_ID_TABLE): Likewise.
681         (CHAR_ID_TABLE_P): Likewise.
682         (GC_CHAR_ID_TABLE_P): Likewise.
683         (get_char_id_table): Likewise.
684
685 2001-09-01  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
686
687         * chartab.c (copy_uint8_byte_table): New function.
688         (copy_uint16_byte_table): New function.
689         (copy_byte_table): New function.
690         (map_over_uint8_byte_table): Modify to avoid huge numbers of
691         characters to call.
692         (map_over_uint16_byte_table): Likewise.
693         (map_over_byte_table): Likewise.
694         (get_byte_table): Move prototype to chartab.h.
695         (put_byte_table): Likewise.
696         (put_char_id_table_0): Moved to chartab.h.
697         (mark_char_table_entry): Don't define in XEmacs UTF-2000.
698         (char_table_entry_equal): Likewise.
699         (char_table_entry_hash): Likewise.
700         (char_table_entry_description): Likewise.
701         (char_table_entry): Likewise.
702         (make_char_table_entry): Likewise.
703         (copy_char_table_entry): Likewise.
704         (get_non_ascii_char_table_value): Likewise.
705         (map_over_charset_ascii): Likewise.
706         (map_over_charset_control_1): Likewise.
707         (map_over_charset_row): Likewise.
708         (map_over_other_charset): Likewise.
709         (mark_char_table): Modify for new structure in XEmacs UTF-2000.
710         (print_char_table): Likewise.
711         (char_table_equal): Likewise.
712         (char_table_hash): Likewise.
713         (char_table_description): Likewise.
714         (fill_char_table): Likewise.
715         (Fcopy_char_table): Likewise.
716         (get_char_table): Likewise.
717         (Fget_range_char_table): Likewise.
718         (put_char_table): Likewise.
719         (map_char_table): Likewise.
720         (syms_of_chartab): Don't define `char_table_entry' in XEmacs
721         UTF-2000.
722
723 2001-08-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
724
725         * cmds.c (vars_of_cmds): Use `put_char_id_table_0' for
726         `Vauto_fill_chars' in XEmacs UTF-2000.
727
728         * chartab.h (get_byte_table): New prototype [moved from
729         chartab.c].
730         (put_byte_table): Likewise [moved from chartab.c].
731         (put_char_id_table_0): New inline function [moved from chartab.c].
732         (struct Lisp_Char_Table_Entry): Don't define in XEmacs UTF-2000.
733         (Lisp_Char_Table_Entry): Likewise.
734         (char_table_entry): Likewise.
735         (XCHAR_TABLE_ENTRY): Likewise.
736         (XSETCHAR_TABLE_ENTRY): Likewise.
737         (CHAR_TABLE_ENTRYP): Likewise.
738         (CHECK_CHAR_TABLE_ENTRY): Likewise.
739         (NUM_ASCII_CHARS): Likewise.
740         (struct Lisp_Char_Table): New implementation in XEmacs UTF-2000.
741         (CHAR_TABLE_VALUE_UNSAFE): Likewise.
742
743 2001-08-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
744
745         * chartab.c (get_char_id_table): Change interface.
746         (put_char_id_table_0): New function.
747         (put_char_id_table): Change interface; new implementation.
748         (Fget_composite_char): Modify for interface change of
749         `get_char_id_table'.
750         (Fchar_variants): Likewise.
751         (add_char_attribute_alist_mapper): Likewise.
752         (Fchar_attribute_alist): Likewise.
753         (Fget_char_attribute): Likewise.
754         (Fput_char_attribute): Allow coded-charset or [CODED-CHARSET ROW]
755         as same as character as the first argument like `put-char-table';
756         modify for interface change of `put_char_id_table'.
757         (Fremove_char_attribute): Modify for interface change of
758         `put_char_id_table'.
759
760 2001-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
761
762         * text-coding.c: Sync up with XEmacs 21.2.41.
763         (COMPOSE_ADD_CHAR): Modify for interface change of
764         `get_char_id_table'.
765
766         * mule-charset.c (put_char_ccs_code_point): Modify for interface
767         change of `put_char_id_table'.
768         (remove_char_ccs): Likewise.
769
770         * chartab.h (put_char_id_table): Change interface.
771
772         * char-ucs.h (get_char_id_table): Change interface.
773         (charset_code_point): Modify for interface change of
774         `get_char_id_table'.
775         (encode_char_1): Likewise.
776
777 2001-08-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
778
779         * chartab.c (map_over_uint8_byte_table): Change arguments; add new
780         argument `ccs'.
781         (map_over_uint16_byte_table): Likewise.
782         (map_over_byte_table): Likewise.
783         (map_char_id_table): Add new argument `range' like
784         `map_char_table'.
785         (Fmap_char_attribute): Add new argument `range' like
786         `Fmap_char_table'.
787
788 2001-08-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
789
790         * chartab.c (map_over_uint8_byte_table): Change interface of
791         mapping function to use struct chartab_range instead of Emchar.
792         (map_over_uint16_byte_table): Likewise.
793         (map_over_byte_table): Likewise.
794         (map_char_id_table): Likewise.
795         (struct slow_map_char_id_table_arg): Deleted.
796         (slow_map_char_id_table_fun): Deleted.
797         (Fmap_char_attribute): Use struct `slow_map_char_table_arg' and
798         function `slow_map_char_table_fun' instead of struct
799         `slow_map_char_id_table_arg' and function
800         `slow_map_char_id_table_fun'.
801
802 2001-08-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
803
804         * mule-charset.c: Move char-it-table related codes to chartab.c.
805         (Vutf_2000_version): Moved to chartab.c.
806         (Fdefine_char): Likewise.
807         (Ffind_char): Likewise.
808         (syms_of_mule_charset): Move types `uint8-byte-table',
809         `uint16-byte-table', `byte-table' and `char-id-table' to
810         chartab.c; move functions `char_attribute_list,
811         `find_char_attribute_table, `char_attribute_alist,
812         `get_char_attribute, `put_char_attribute, `remove_char_attribute,
813         `map_char_attribute, `define_char, `find_char, `char_variants and
814         `get_composite_char to chartab.c; move symbols `=>ucs',
815         `->decomposition', `compat', `isolated', `initial', `medial',
816         `final', `vertical', `noBreak', `fraction', `super', `sub',
817         `circle', `square', `wide', `narrow', `small' and `font' to
818         chartab.c.
819         (vars_of_mule_charset): Move `utf-2000-version' to chartab.c; move
820         setting codes for `Vcharacter_composition_table' and
821         `Vcharacter_variant_table' to chartab.c.
822         (complex_vars_of_mule_charset): Move setting code for
823         `Vchar_attribute_hash_table' to chartab.c.
824
825         * chartab.h: Include "char-ucs.h" if --with-utf-2000 is specified.
826         (make_char_id_table): New prototype.
827         (put_char_id_table): Likewise.
828         (Fget_char_attribute): Likewise.
829
830         * chartab.c: Move char-id-table related code from mule-charset.c.
831         (Vutf_2000_version): Moved from mule-charset.c.
832
833         * char-ucs.h (Qucs): New external variable.
834         (put_char_ccs_code_point): New prototype.
835         (remove_char_ccs): Likewise.
836
837 2001-08-14  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
838
839         * mule-charset.c (Vcharset_ucs_jis): New variable.
840         (Qucs_jis): Likewise.
841         (syms_of_mule_charset): Add new symbol `ucs-jis'.
842         (complex_vars_of_mule_charset): Add new coded-charset `ucs-jis'.
843
844         * char-ucs.h (LEADING_BYTE_UCS_JIS): New macro.
845
846 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
847
848         * mule-charset.c (map_over_uint8_byte_table): New function.
849         (map_over_uint16_byte_table): Likewise.
850         (map_over_byte_table): Likewise.
851         (map_char_id_table): Likewise.
852         (slow_map_char_id_table_fun): Likewise.
853         (Fmap_char_attribute): Likewise.
854         (syms_of_mule_charset): Add new function `map-char-attribute'.
855
856 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
857
858         * mule-charset.c (Ffind_char): New function in XEmacs UTF-2000.
859         (syms_of_mule_charset): Add new function `find-char'.
860
861 2001-08-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
862
863         * mule-charset.c (Vcharset_chinese_big5_cdp): New variable in
864         XEmacs UTF-2000.
865         (Qchinese_big5_cdp): New variable in XEmacs UTF-2000.
866         (syms_of_mule_charset): Add new symbol `chinese-big5-cdp' in
867         XEmacs UTF-2000.
868         (complex_vars_of_mule_charset): Add new coded-charset
869         `chinese-big5-cdp' in XEmacs UTF-2000; change registry of
870         `ideograph-gt-pj-*'.
871
872         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5_CDP): New macro.
873
874 2001-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
875
876         * mule-charset.c (encode_builtin_char_1): Purge codes about
877         {MIN|MAX}_CHAR_{GREEK|CYRILLIC}; comment out code about
878         {MIN|MAX}_CHAR_HEBREW.
879         (complex_vars_of_mule_charset): Comment out {MIN|MAX}_CHAR_HEBREW;
880         don't use {MIN|MAX}_CHAR_HEBREW to define `hebrew-iso8859-8'.
881
882         * char-ucs.h (MIN_CHAR_GREEK): Purged.
883         (MAX_CHAR_GREEK): Purged.
884         (MIN_CHAR_CYRILLIC): Purged.
885         (MAX_CHAR_CYRILLIC): Purged.
886         (MIN_CHAR_HEBREW): Commented out.
887         (MAX_CHAR_HEBREW): Likewise.
888
889 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
890
891         * mule-charset.c (Qto_ucs): New variable.
892         (Fput_char_attribute): Treat `=>ucs' as same as `->ucs'.
893         (Fdefine_char): Likewise.
894         (syms_of_mule_charset): Add new symbol `=>ucs'.
895
896 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
897
898         * mule-charset.c (Fdecode_char): Fixed.
899
900 2001-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
901
902         * mule-charset.c (complex_vars_of_mule_charset): Modify registry
903         of latin-tcvn5712 to accept "tcvn5712.1993-1" as same as
904         "tcvn5712-1".
905
906 2001-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
907
908         * mule-charset.c (Vcharset_ucs_big5): New variable.
909         (Qucs_big5): Likewise.
910         (syms_of_mule_charset): Add new symbol `ucs-big5'.
911         (complex_vars_of_mule_charset): Add new coded-charset `ucs-big5'.
912
913         * char-ucs.h (LEADING_BYTE_UCS_BIG5): New macro.
914
915 2001-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
916
917         * mule-charset.c (decode_builtin_char): Check Big5 code range
918         which can be mapped to `chinese-big5-1' and `chinese-big5-2'.
919
920 2001-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
921
922         * mule-charset.c (Vcharset_chinese_gb12345): New variable.
923         (Qchinese_gb12345): Likewise.
924         (Fdecode_builtin_char): Fixed.
925         (syms_of_mule_charset): Add `chinese-gb12345'.
926         (complex_vars_of_mule_charset): Add coded-charset
927         `chinese-gb12345'.
928
929         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x70.
930         (LEADING_BYTE_CHINESE_GB12345): New macro.
931
932 2001-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
933
934         * mule-charset.c (Fdecode_builtin_char): Use `latin-viscii-lower'
935         and `latin-viscii-upper' for `latin-viscii'.
936
937 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
938
939         * mule-charset.c (Fdecode_builtin_char): Comment out
940         regularization code for ISO-IR GR representation.
941
942 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
943
944         * mule-charset.c (decode_builtin_char): New function; renamed from
945         `make_builtin_char'; return -1 instead of signal.
946         (Fdecode_builtin_char): Use `decode_builtin_char'.
947
948         * char-ucs.h (decode_builtin_char): New prototype; renamed from
949         `make_builtin_char'.
950         (DECODE_CHAR): Use `decode_builtin_char' instead of
951         `make_builtin_char'; use mapping table of `chinese-big5' for
952         `chinese-big5-{1,2}'.
953
954 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
955
956         * text-coding.c (char_encode_big5): New function.
957         (char_finish_big5): Likewise.
958         (reset_encoding_stream): Use `char_encode_big5' and
959         `char_finish_big5' for CODESYS_BIG5.
960         (mule_encode): Don't use `encode_coding_big5'.
961         (encode_coding_big5): Deleted.
962
963 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
964
965         * text-coding.c (BYTE_BIG5_TWO_BYTE_1_P): Support private area
966         0x81- in XEmacs UTF-2000.
967         (detect_coding_big5): Likewise.
968
969 2001-07-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
970
971         * mule-charset.c (Fdefine_char): Don't use a CCS property to
972         generate character-id if the CCS property does not have
973         corresponding predefined character.
974         (make_builtin_char): Return -1 if corresponding predefined
975         character is not found.
976         (Fdecode_char): Return nil if corresponding character is not
977         found.
978         (complex_vars_of_mule_charset): Change `ucs-cns' to 256^3-set and
979         don't map to builtin ucs space.
980
981 2001-07-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
982
983         * char-ucs.h (MAX_LEADING_BYTE_PRIVATE): Fixed.
984         (MAX_CHAR_GT): Changed to `(MIN_CHAR_GT + 66773)'.
985
986 2001-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
987
988         * mule-charset.c (Vcharset_ideograph_gt): New variable.
989         (Vcharset_ideograph_gt_pj_{1..11}): Likewise.
990         (Qideograph_gt): Likewise.
991         (Qideograph_gt_pj_{1..11}): Likewise.
992         (syms_of_mule_charset): Add `ideograph-gt', `ideograph-gt-pj-1',
993         `ideograph-gt-pj-2', ..., `ideograph-gt-pj-10' and
994         `ideograph-gt-pj-11'.
995         (complex_vars_of_mule_charset): Add coded-charset `ideograph-gt',
996         `ideograph-gt-pj-1', `ideograph-gt-pj-2', ...,
997         `ideograph-gt-pj-10' and `ideograph-gt-pj-11'.
998
999         * char-ucs.h (LEADING_BYTE_GT): New macro.
1000         (LEADING_BYTE_GT_PJ_{1..11}): Likewise.
1001         (MIN_CHAR_GT): Likewise.
1002         (MAX_CHAR_GT): Likewise.
1003
1004 2001-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1005
1006         * lisp-disunion.h (XCHARVAL): New implementation for UTF-2000 to
1007         support U-60000000 .. U-7FFFFFFF with 32 bits architecture.
1008
1009         * doprnt.c (unsigned_int_converters): Add `c'.
1010         (emacs_doprnt_1): Use `XUINT' for unsigned integers.
1011
1012         * char-ucs.h (MIN_CHAR_DAIKANWA): Don't refer `MIN_CHAR_MOJIKYO'.
1013         (MAX_CHAR_DAIKANWA): Refer `MIN_CHAR_DAIKANWA' instead of
1014         `MIN_CHAR_MOJIKYO'.
1015         (MIN_CHAR_MOJIKYO_0): New macro; refer `MIN_CHAR_DAIKANWA'.
1016         (MAX_CHAR_MOJIKYO_0): New macro.
1017         (MIN_CHAR_MOJIKYO): Changed to 0x60000000.
1018
1019 2001-06-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1020
1021         * mule-charset.c (Fdefine_char): Delete cemented out code.
1022         (encode_builtin_char_1): Modify for new allocation of builtin
1023         Mojikyo characters.
1024
1025         * lisp-disunion.h (XCHARVAL): Cast the argument into EMACS_UINT.
1026
1027 2001-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1028
1029         * mule-charset.c (Vcharset_ucs_cns): New variable.
1030         (Qucs_cns): New variable.
1031         (syms_of_mule_charset): Add new symbol `ucs-cns'.
1032         (complex_vars_of_mule_charset): Add new coded-charset `ucs-cns'.
1033
1034 2001-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1035
1036         * char-ucs.h (LEADING_BYTE_UCS_CNS): New macro.
1037
1038 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
1039
1040         * search.c (search_buffer): Make `charset_base_code' as
1041         character-id >> 6 to eliminate the corresponding last byte in
1042         UTF-8 representation [I'm not sure it is right thing].
1043         (boyer_moore): Likewise.
1044
1045 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
1046
1047         * emacs.c (vars_of_emacs): Convert XEMACS_CODENAME to internal
1048         representation in MULE.
1049
1050 2000-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1051
1052         * text-coding.c (Fmake_coding_system): Use
1053         `EXTERNAL_PROPERTY_LIST_LOOP_3' instead of
1054         `EXTERNAL_PROPERTY_LIST_LOOP'.
1055
1056 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1057
1058         * text-coding.c (decode_output_utf8_partial_char): New function.
1059         (decode_coding_utf8): Use `decode_output_utf8_partial_char'.
1060
1061 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1062
1063         * text-coding.c (decode_coding_utf8): Output original byte
1064         sequence if it is broken; change order of conditions.
1065
1066         * mb-utf-8.h (REP_BYTES_BY_FIRST_BYTE): Use Bufbyte; reverse order
1067         of conditions.
1068
1069         * mb-multibyte.h (BYTE_ASCII_P):
1070         Use bit ops for char-signedness safety.
1071         (BYTE_C0_P): Use bit ops for char-signedness safety.
1072         (BYTE_C1_P): Use bit ops for char-signedness safety.
1073
1074         * character.h: (XCHAR_OR_CHAR_INT):
1075         Always use inline function.
1076         Remove redundant type checking assert() - XINT will abort quite
1077         nicely.
1078
1079 2000-11-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1080
1081         * text-coding.c: (Fencode_shift_jis_char):
1082         (Fencode_big5_char):
1083         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
1084         Replace 0 with '\0' when working with bytes.
1085         Replace initial "(" with "\(" in docstrings.
1086
1087         (Fmake_coding_system):
1088         When type is ccl and value is vector, register it with a proper
1089         symbol.  And checks whether the given ccl program is valid.
1090         (mule_decode): When calling ccl_driver, if src indicates
1091         NULL pointer, set an empty string instead.
1092         (mule_encode): Likewise.
1093
1094         (detect_eol_type):
1095         (detect_coding_sjis):
1096         (decode_coding_sjis):
1097         (detect_coding_big5):
1098         (decode_coding_big5):
1099         (detect_coding_ucs4):
1100         (decode_coding_ucs4):
1101         (detect_coding_utf8):
1102         (decode_coding_utf8):
1103         (detect_coding_iso2022):
1104         (decode_coding_iso2022):
1105         (decode_coding_no_conversion):
1106         (mule_decode):
1107         Make all detecting and decoding functions take an Extbyte * arg.
1108         (text_encode_generic):
1109         (encode_coding_big5):
1110         (encode_coding_no_conversion):
1111         (mule_encode):
1112         Make all encoding functions take a Bufbyte * arg.
1113         Use size_t instead of unsigned int for memory sizes.
1114         Only cast to unsigned char whenever dereferencing Extbyte *.
1115
1116         (struct lrecord_description fcd_description_1): Use countof.
1117         (complex_vars_of_file_coding):
1118         Use countof instead of sizeof.
1119         Use CHECK_NATNUM instead of CHECK_INT.
1120
1121 2000-11-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1122
1123         * mule-charset.c (Fget_char_attribute): Add new optional argument
1124         `default-value'.
1125         (put_char_ccs_code_point): Modify for `Fget_char_attribute'.
1126         (remove_char_ccs): Likewise.
1127
1128 2000-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1129
1130         * text-coding.c (char_encode_shift_jis): New implementation in
1131         UTF-2000.
1132         (decode_coding_big5): Use `DECODE_CHAR (Vcharset_chinese_big5,
1133         ...)'.
1134
1135         * mule-charset.c (Vcharset_chinese_big5): New variable in
1136         UTF-2000.
1137         (Qchinese_big5): New variable in UTF-2000.
1138         (BIG5_SAME_ROW): New macro in UTF-2000.
1139         (make_builtin_char): Use builtin characters of
1140         `Vcharset_chinese_big5_1' and `Vcharset_chinese_big5_2' as builtin
1141         characters of `Vcharset_chinese_big5'.
1142         (syms_of_mule_charset): Add new symbol `chinese-big5' in UTF-2000.
1143         (complex_vars_of_mule_charset): Add new coded-charset
1144         `chinese-big5' in UTF-2000.
1145
1146         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5): New macro.
1147         (Vcharset_chinese_big5): New external variable declaration.
1148         (Vcharset_japanese_jisx0208_1990): Likewise.
1149
1150 2000-07-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1151
1152         * mule-charset.c (expand_uint8_byte_table_to_uint16): New
1153         function.
1154         (put_byte_table): Use `expand_uint8_byte_table_to_uint16'.
1155
1156 2000-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1157
1158         * mule-charset.c (complex_vars_of_mule_charset): Define new macro
1159         `DEF_MOJIKYO_PJ' in UTF-2000; use `DEF_MOJIKYO_PJ' to define
1160         `mojikyo-pj-*'; add "MojikyoPJ-*" to charset-registry of
1161         `mojikyo-pj-*'.
1162
1163 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1164
1165         * text-coding.c (decode_coding_big5): Modify for UTF-2000.
1166
1167 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1168
1169         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1170         to 0.17.
1171
1172 2000-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1173
1174         * file-coding.c (ucs_to_char): Don't use `CHARSET_TYPE_*'; modify
1175         for `CHARSET_BY_ATTRIBUTES'.
1176         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
1177         `CHARSET_BY_ATTRIBUTES'.
1178
1179         * text-coding.c (struct decoding_stream): Rename member `CH' to
1180         `CPOS'.
1181         (reset_decoding_stream): Use `str->cpos' instead of `str->ch'.
1182         (decode_coding_sjis): Likewise.
1183         (decode_coding_big5): Likewise.
1184         (decode_coding_ucs4): Likewise.
1185         (decode_coding_utf8): Likewise.
1186         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
1187         `CHARSET_BY_ATTRIBUTES'.
1188         (decode_coding_iso2022): Use `str->cpos' instead of `str->ch'; use
1189         `str->counter'; decode 3, 4 bytes sets.
1190         (char_encode_iso2022): Don't use `BREAKUP_CHAR'; encode 3, 4 bytes
1191         sets.
1192         (decode_coding_no_conversion): Use `str->cpos' instead of
1193         `str->ch'.
1194
1195         * mule-charset.c (Vcharset_mojikyo_2022_1): New variable.
1196         (Qmojikyo_2022_1): New variable.
1197         (make_charset): Don't use `CHARSET_TYPE_*'.
1198         (range_charset_code_point): Support coded-charset
1199         `mojikyo-2022-1'.
1200         (encode_builtin_char_1): Modify for `CHARSET_BY_ATTRIBUTES'.
1201         (Fmake_charset): Don't use `CHARSET_TYPE_*'; modify for
1202         `CHARSET_BY_ATTRIBUTES'.
1203         (Fcharset_from_attributes): Don't use `CHARSET_TYPE_*'; modify for
1204         `CHARSET_BY_ATTRIBUTES'.
1205         (syms_of_mule_charset): Add new symbol `mojikyo-2022-1'.
1206         (complex_vars_of_mule_charset): Add new coded-charset
1207         `mojikyo-2022-1'.
1208
1209         * mule-charset.h (CHARSET_BY_ATTRIBUTES): New implementation and
1210         interface; changed to inline function.
1211
1212         * char-ucs.h (Vcharset_mojikyo_2022_1): New variable.
1213         (LEADING_BYTE_MOJIKYO_2022_1): New macro.
1214         (LEADING_BYTE_MOJIKYO_2022_2): New macro.
1215         (CHARSET_TYPE_94): Deleted.
1216         (CHARSET_TYPE_94X94): Deleted.
1217         (CHARSET_TYPE_96): Deleted.
1218         (CHARSET_TYPE_96X96): Deleted.
1219         (CHARSET_TYPE_128): Deleted.
1220         (CHARSET_TYPE_128X128): Deleted.
1221         (CHARSET_TYPE_256): Deleted.
1222         (CHARSET_TYPE_256X256): Deleted.
1223         (CHARSET_BY_ATTRIBUTES): New implementation and interface; changed
1224         to inline function.
1225         (DECODE_MOJIKYO_2022): New inline function.
1226         (DECODE_CHAR): Use `DECODE_MOJIKYO_2022'; decode
1227         `Vcharset_mojikyo_2022_1'.
1228
1229 2000-07-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1230
1231         * mule-charset.c (byte_table_same_value_p): Use `internal_equal'
1232         instead of `EQ'.
1233         (put_byte_table): Likewise.
1234         (char_id_table_equal): Use `get_byte_table' [new implementation].
1235
1236 2000-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1237
1238         * mule-charset.c: Include <limits.h> in UTF-2000.
1239         (BT_UINT8_MIN): New macro in UTF-2000.
1240         (BT_UINT8_MAX): New macro in UTF-2000.
1241         (BT_UINT8_t): New macro in UTF-2000.
1242         (BT_UINT8_nil): New macro in UTF-2000.
1243         (BT_UINT8_unbound): New macro in UTF-2000.
1244         (INT_UINT8_P): New inline function in UTF-2000.
1245         (UINT8_VALUE_P): New inline function in UTF-2000.
1246         (UINT8_ENCODE): New inline function in UTF-2000.
1247         (UINT8_DECODE): New inline function in UTF-2000.
1248         (mark_uint8_byte_table): New function in UTF-2000.
1249         (print_uint8_byte_table): New function in UTF-2000.
1250         (uint8_byte_table_equal): New function in UTF-2000.
1251         (uint8_byte_table_hash): New function in UTF-2000.
1252         (make_uint8_byte_table): New function in UTF-2000.
1253         (uint8_byte_table_same_value_p): New function in UTF-2000.
1254         (BT_UINT16_MIN): New macro in UTF-2000.
1255         (BT_UINT16_MAX): New macro in UTF-2000.
1256         (BT_UINT16_t): New macro in UTF-2000.
1257         (BT_UINT16_nil): New macro in UTF-2000.
1258         (BT_UINT16_unbound): New macro in UTF-2000.
1259         (INT_UINT16_P): New inline function in UTF-2000.
1260         (UINT16_VALUE_P): New inline function in UTF-2000.
1261         (UINT16_ENCODE): New inline function in UTF-2000.
1262         (UINT16_DECODE): New inline function in UTF-2000.
1263         (UINT8_TO_UINT16): New inline function in UTF-2000.
1264         (mark_uint16_byte_table): New function in UTF-2000.
1265         (print_uint16_byte_table): New function in UTF-2000.
1266         (uint16_byte_table_equal): New function in UTF-2000.
1267         (uint16_byte_table_hash): New function in UTF-2000.
1268         (make_uint16_byte_table): New function in UTF-2000.
1269         (uint16_byte_table_same_value_p): New function in UTF-2000.
1270         (print_byte_table): New function in UTF-2000.
1271         (byte-table): Use `print_byte_table' as printer.
1272         (make_byte_table): Delete second argument `older'.
1273         (byte_table_same_value_p): New function in UTF-2000.
1274         (copy_byte_table): Deleted.
1275         (get_byte_table): New function in UTF-2000.
1276         (put_byte_table): New function in UTF-2000.
1277         (print_char_id_table): New function in UTF-2000.
1278         (char-id-table): Use `print_char_id_table' as printer.
1279         (make_char_id_table): Delete second argument `older'.
1280         (get_char_id_table): Use `get_byte_table [new implementation].
1281         (put_char_id_table): Use `get_byte_table and `put_byte_table' [new
1282         implementation].
1283         (Ffind_char_attribute_table): New function in UTF-2000.
1284         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
1285         (syms_of_mule_charset): Add LRECORD_IMPLEMENTATION
1286         `uint8_byte_table' and `uint16_byte_table' in UTF-2000.
1287         (syms_of_mule_charset): Add new function
1288         `find-char-attribute-table' in UTF-2000.
1289
1290         * lrecord.h (enum lrecord_type): Add
1291         `lrecord_type_uint16_byte_table' and
1292         `lrecord_type_uint8_byte_table'.
1293
1294         * char-ucs.h (struct Lisp_Uint8_Byte_Table): New structure.
1295         (Lisp_Uint8_Byte_Table): New type.
1296         (XUINT8_BYTE_TABLE): New macro.
1297         (XSETUINT8_BYTE_TABLE): New macro.
1298         (UINT8_BYTE_TABLE_P): New macro.
1299         (GC_UINT8_BYTE_TABLE_P): New macro.
1300         (struct Lisp_Uint16_Byte_Table): New structure.
1301         (Lisp_Uint16_Byte_Table): New type.
1302         (XUINT16_BYTE_TABLE): New macro.
1303         (XSETUINT16_BYTE_TABLE): New macro.
1304         (UINT16_BYTE_TABLE_P): New macro.
1305         (GC_UINT16_BYTE_TABLE_P): New macro.
1306
1307 2000-07-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1308
1309         * mule-charset.c (Vcharacter_ideographic_radical_table): Deleted.
1310         (Vcharacter_ideographic_strokes_table): Deleted.
1311         (Vcharacter_total_strokes_table): Deleted.
1312         (Vcharacter_morohashi_daikanwa_table): Deleted.
1313         (Vcharacter_decomposition_table): Deleted.
1314         (Qname): Deleted because it is duplicated.
1315         (Qideographic_radical): Deleted.
1316         (Qideographic_strokes): Deleted.
1317         (Qtotal_strokes): Deleted.
1318         (Qmorohashi_daikanwa): Deleted.
1319         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' for
1320         `ideographic-radical', `ideographic-strokes', `total-strokes',
1321         `morohashi-daikanwa' and `->decomposition'.
1322         (Fget_char_attribute): Likewise.
1323         (Fput_char_attribute): Likewise; use `make-vector' instead of
1324         `make_older_vector' for `->decomposition' value.
1325         (Fdefine_char): Comment out code to check `morohashi-daikanwa' and
1326         `ideograph-daikanwa'.
1327         (syms_of_mule_charset): Delete builtin symbols `name',
1328         `ideographic-radical', `ideographic-strokes', `total-strokes' and
1329         `morohashi-daikanwa'.
1330         (vars_of_mule_charset): Don't setup
1331         `Vcharacter_ideographic_radical_table',
1332         `Vcharacter_ideographic_strokes_table',
1333         `Vcharacter_total_strokes_table',
1334         `Vcharacter_morohashi_daikanwa_table' and
1335         `Vcharacter_decomposition_table'.
1336
1337 2000-06-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1338
1339         * alloc.c: Use `HAVE_GGC' instead of `UTF2000' for
1340         `make_older_vector', `make_vector_newer_1' and
1341         `make_vector_newer'.
1342
1343         * lisp.h: Use `HAVE_GGC' instead of `UTF2000' for
1344         `make_older_vector' and `make_vector_newer'.
1345
1346         * config.h.in (HAVE_GGC): New macro.
1347
1348 2000-06-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1349
1350         * mule-charset.c (struct char_attribute_list_closure): New
1351         structure in UTF-2000.
1352         (add_char_attribute_to_list_mapper): New function in UTF-2000.
1353         (Fchar_attribute_list): Likewise.
1354         (Fset_charset_mapping_table): Use `make_vector_newer'.
1355         (Fdecode_builtin_char): New function in UTF-2000.
1356         (syms_of_mule_charset): Add new function `char-attribute-list' and
1357         `decode-builtin-char' in UTF-2000.
1358
1359         * lisp.h (make_vector_newer): New prototype.
1360
1361         * alloc.c (make_vector_newer_1): New function.
1362         (make_vector_newer): New function.
1363
1364 2000-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1365
1366         * char-ucs.h (MAX_CHAR_DAIKANWA): Changed to `(MIN_CHAR_MOJIKYO +
1367         50100)'.
1368
1369 2000-06-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1370
1371         * mule-charset.c (Vchar_attribute_hash_table): New variable.
1372         (Vcharacter_attribute_table): Deleted.
1373         (Vcharacter_name_table): Deleted.
1374         (put_char_attribute): Deleted.
1375         (remove_char_attribute): Deleted.
1376         (struct char_attribute_alist_closure): New structure.
1377         (add_char_attribute_alist_mapper): New function.
1378         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' instead
1379         of `Vcharacter_attribute_table' and `Vcharacter_name_table'.
1380         (Fget_char_attribute): Likewise.
1381         (Fput_char_attribute): Likewise.
1382         (Fremove_char_attribute): Use `Vchar_attribute_hash_table' instead
1383         of `remove_char_attribute'.
1384         (Fdefine_char): Return character.
1385         (vars_of_mule_charset): Don't setup `Vcharacter_attribute_table'
1386         and `Vcharacter_name_table'.
1387         (complex_vars_of_mule_charset): Likewise
1388         `Vchar_attribute_hash_table'.
1389
1390 2000-06-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1391
1392         * character.h (CHARC_CHARSET): New macro.
1393         (CHARC_CHARSET_ID): New macro.
1394         (CHARC_CODE_POINT): New macro.
1395         (CHARC_COLUMNS): New macro.
1396         (CHARC_TO_CHAR): New inline function.
1397         (CHARC_EQ): New inline function.
1398         (CHARC_ASCII_EQ): New inline function.
1399         (CHARC_IS_SPACE): New inline function.
1400         (ASCII_TO_CHARC): New inline function.
1401
1402         * char-ucs.h (encode_char_2): Deleted.
1403         (ENCODE_CHAR): Use `encode_char_1' again.
1404         (breakup_char_1): Likewise.
1405         (CHAR_TO_CHARC): New inline function.
1406
1407         * char-lb.h, char-1byte.h (CHAR_TO_CHARC): New inline function.
1408
1409 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1410
1411         * redisplay.c (add_emchar_rune): Use `ASCII_TO_CHARC',
1412         `CHAR_TO_CHARC' and `CHARC_CHARSET'.
1413         (create_text_block): Use `CHARC_ASCII_EQ' and `CHARC_IS_SPACE'.
1414         (generate_formatted_string_db): Use `CHARC_TO_CHAR'.
1415         (create_string_text_block): Use `CHARC_ASCII_EQ' and
1416         `CHARC_IS_SPACE'.
1417         (pixel_to_glyph_translation): Use `CHARC_ASCII_EQ'.
1418
1419         * redisplay-x.c (separate_textual_runs): Use `CHARC_CHARSET' and
1420         `CHARC_CODE_POINT'.
1421         (x_output_display_block): Use `CHARC_CHARSET' and
1422         `CHARC_ASCII_EQ'.
1423
1424         * redisplay-tty.c (tty_output_display_block): Use
1425         `CHARC_ASCII_EQ'.
1426         (tty_output_display_block): Likewise; use `ASCII_TO_CHARC'.
1427
1428         * redisplay-output.c (compare_runes): Use `CHARC_EQ'.
1429
1430         * insdel.c (find_charsets_in_charc_string): Use
1431         `CHARC_CHARSET_ID'.
1432         (charc_string_displayed_columns): Use `CHARC_COLUMNS'.
1433         (convert_bufbyte_string_into_charc_dynarr): Use `CHAR_TO_CHARC'.
1434         (convert_charc_string_into_bufbyte_dynarr): Use `CHARC_TO_CHAR'.
1435         (convert_charc_string_into_malloced_string): Likewise.
1436
1437 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1438
1439         * toolbar-x.c (x_output_toolbar_button): Use <Charc_dynarr *>
1440         instead of <Emchar_dynarr *> for buf; use
1441         `convert_bufbyte_string_into_charc_dynarr' instead of
1442         `convert_bufbyte_string_into_emchar_dynarr'; use
1443         `find_charsets_in_charc_string' instead of
1444         `find_charsets_in_emchar_string'.
1445
1446         * redisplay.h:
1447         - Include "character.h".
1448         (struct rune): New member `cglyph'; delete member `chr'.
1449
1450         * redisplay.c (redisplay_text_width_charc_string): New function;
1451         delete `redisplay_text_width_emchar_string'.
1452         (rtw_charc_dynarr): New variable; renamed from
1453         `rtw_emchar_dynarr'.
1454         (redisplay_text_width_string): Use `rtw_charc_dynarr' instead of
1455         `rtw_emchar_dynarr'; use
1456         `convert_bufbyte_string_into_charc_dynarr' instead of
1457         `convert_bufbyte_string_into_emchar_dynarr'; use
1458         `redisplay_text_width_charc_string' instead of
1459         `redisplay_text_width_emchar_string'.
1460         (redisplay_frame_text_width_string): Use `rtw_charc_dynarr'
1461         instead of `rtw_emchar_dynarr'; use
1462         `convert_bufbyte_string_into_charc_dynarr' instead of
1463         `convert_bufbyte_string_into_emchar_dynarr'.
1464         (add_emchar_rune): Add <Charc> instead of <Emchar>; use
1465         `redisplay_text_width_charc_string' instead of
1466         `redisplay_text_width_emchar_string'.
1467         (create_text_block): Modify for <struct rune> change.
1468         (generate_formatted_string_db): Likewise.
1469         (create_string_text_block): Likewise.
1470         (pixel_to_glyph_translation): Likewise.
1471
1472         * redisplay-x.c (separate_textual_runs): Use <const Charc *>
1473         instead of <const Emchar *>.
1474         (x_text_width): Likewise.
1475         (x_output_display_block): Use <Charc_dynarr *> instead
1476         <Emchar_dynarr *>; modify for <structure rune> change.
1477         (x_output_string): Use <Charc_dynarr *> instead of <Emchar_dynarr
1478         *>.
1479
1480         * redisplay-tty.c (tty_text_width): Use <const Charc *> instead of
1481         <const Emchar *>; use `charc_string_displayed_columns' instead of
1482         `emchar_string_displayed_columns'.
1483         (tty_output_display_block): Use <Charc_dynarr *> instead of
1484         <Emchar_dynarr *> for buf; modify for <structure rune> change; use
1485         `tty_output_charc_dynarr' instead of `tty_output_emchar_dynarr'.
1486         (tty_output_charc_dynarr_dynarr): New variable; renamed from
1487         `tty_output_emchar_dynarr_dynarr'.
1488         (tty_output_charc_dynarr): New function; delete
1489         `tty_output_charc_dynarr'.
1490
1491         * redisplay-output.c (compare_runes): Modify for `struct rune'.
1492         (redisplay_output_layout): Use <Charc_dynarr *> instead of
1493         <Emchar_dynarr *> for buf; use
1494         `convert_bufbyte_string_into_charc_dynarr' instead of
1495         `convert_bufbyte_string_into_emchar_dynarr'.
1496
1497         * frame.c (title_string_charc_dynarr): New variable; renamed from
1498         `title_string_emchar_dynarr'.
1499         (generate_title_string): Use `title_string_charc_dynarr' instead
1500         of `title_string_emchar_dynarr'; use
1501         `convert_charc_string_into_malloced_string' instead of
1502         `convert_emchar_string_into_malloced_string'.
1503         (init_frame): Use `title_string_charc_dynarr' instead of
1504         `title_string_emchar_dynarr'.
1505
1506         * console.h:
1507         - Include "character.h".
1508         (struct console_methods): Use <const Charc *> instead of <const
1509         Emchar *> in `text_width_method'; use <Charc_dynarr *> instead of
1510         <Emchar_dynarr *> in output_string_method.
1511
1512         * console-x.h (x_output_string): Use <Charc_dynarr *> instead of
1513         <Emchar_dynarr *>.
1514
1515         * console-stream.c (stream_text_width): Use <const Charc *>
1516         instead of <const Emchar *>.
1517
1518         * character.h (Charc_dynarr): New type.
1519
1520         * char-ucs.h (structure Charc): New structure; define new type
1521         `Charc'.
1522
1523         * char-lb.h (DECODE_CHAR): New inline function.
1524         (encode_char_1): New inline function.
1525         (ENCODE_CHAR): New macro.
1526         (structure Charc): New structure; define new type `Charc'.
1527
1528         * char-1byte.h (Vcharset_control_1): New macro.
1529         (Vcharset_latin_iso8859_1): New macro.
1530         (DECODE_CHAR): New inline function.
1531         (encode_char_1): New inline function.
1532         (ENCODE_CHAR): New macro.
1533         (structure Charc): New structure; define new type `Charc'.
1534
1535         * insdel.c (find_charsets_in_charc_string): New function; delete
1536         `find_charsets_in_emchar_string'.
1537         (charc_string_displayed_columns): New function; delete
1538         `emchar_string_displayed_columns'.
1539         (convert_bufbyte_string_into_charc_dynarr): New function; delete
1540         `convert_bufbyte_string_into_emchar_dynarr'.
1541         (convert_charc_string_into_bufbyte_dynarr): New function; delete
1542         `convert_charc_string_into_bufbyte_dynarr'.
1543         (convert_charc_string_into_malloced_string): New function; delete
1544         `convert_charc_string_into_malloced_string'.
1545
1546         * buffer.h (find_charsets_in_charc_string): New prototype; delete
1547         `find_charsets_in_emchar_string'.
1548         (charc_string_displayed_columns): New prototype; delete
1549         `emchar_string_displayed_columns'.
1550         (convert_charc_string_into_bufbyte_dynarr): New prototype; delete
1551         `convert_charc_string_into_bufbyte_dynarr'.
1552         (convert_charc_string_into_malloced_string): New prototype; delete
1553         `convert_charc_string_into_malloced_string'.
1554
1555 2000-06-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1556
1557         * select-x.c (Fx_store_cutbuffer_internal): Modify for UTF-2000.
1558
1559 2000-06-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1560
1561         * chartab.h (get_non_ascii_char_table_value): Use <Charset_ID>.
1562
1563         * char-ucs.h: Use <short> for <Charset_ID>.
1564
1565         * mule-charset.h, char-1byte.h: Use <unsigned char> for
1566         <Charset_ID>.
1567
1568 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1569
1570         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1571         to 0.16.
1572
1573 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1574
1575         * mule-charset.c (Vcharacter_morohashi_daikanwa_table): New
1576         variable.
1577         (Qmorohashi_daikanwa): New variable.
1578         (Fchar_attribute_alist): Use `Vcharacter_morohashi_daikanwa_table'
1579         for `morohashi-daikanwa' attribute.
1580         (Fget_char_attribute): Likewise.
1581         (Fput_char_attribute): Likewise.
1582         (Fdefine_char): Don't setup `morohashi-daikanwa' attribute if it
1583         has the same value of `ideograph-daikanwa'.
1584         (syms_of_mule_charset): Add new symbol `morohashi-daikanwa'.
1585         (vars_of_mule_charset): Setup
1586         `Vcharacter_morohashi_daikanwa_table'.
1587
1588 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1589
1590         * mule-charset.c (Fchar_attribute_alist): Add coded-charset
1591         attributes.
1592         (add_charset_to_list_mapper): Add `key' instead of
1593         `XCHARSET_NAME (value)' to return aliases.
1594
1595 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1596
1597         * mule-charset.c (Vcharacter_ideographic_radical_table): New
1598         variable.
1599         (Vcharacter_ideographic_strokes_table): New variable.
1600         (Qideographic_radical): New variable.
1601         (Qideographic_strokes): New variable.
1602         (Fchar_attribute_alist): Use
1603         `Vcharacter_ideographic_radical_table' for `ideographic-radical'
1604         attribute; use `Vcharacter_ideographic_strokes_table' for
1605         `ideographic-strokes' attribute.
1606         (Fget_char_attribute): Likewise.
1607         (Fput_char_attribute): Likewise.
1608         (syms_of_mule_charset): Add new symbol `ideographic-radical' and
1609         `ideographic-strokes'.
1610         (vars_of_mule_charset): Setup
1611         `Vcharacter_ideographic_radical_table' and
1612         `Vcharacter_ideographic_strokes_table'.
1613
1614 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1615
1616         * mule-charset.c (Vcharacter_total_strokes_table): New variable.
1617         (Qtotal_strokes): New variable.
1618         (Fchar_attribute_alist): Use `Vcharacter_total_strokes_table' for
1619         `total-strokes' attribute.
1620         (Fget_char_attribute): Likewise.
1621         (Fput_char_attribute): Likewise.
1622         (syms_of_mule_charset): Add new symbol `total-strokes'.
1623         (vars_of_mule_charset): Setup `Vcharacter_total_strokes_table'.
1624
1625 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1626
1627         * mule-charset.c (Vcharacter_decomposition_table): New variable.
1628         (Fchar_attribute_alist): Add `name' and `->decomposition' if they
1629         are found.
1630         (Fget_char_attribute): Use `Vcharacter_decomposition_table' for
1631         `->decomposition' attribute.
1632         (Fput_char_attribute): Likewise.
1633         (vars_of_mule_charset): Setup `Vcharacter_decomposition_table'.
1634
1635 2000-06-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1636
1637         * mule-charset.c (decoding_table_check_elements): New function.
1638         (Fset_charset_mapping_table): Use `decoding_table_check_elements'.
1639
1640 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1641
1642         * mule-charset.c (Fset_charset_mapping_table): Use
1643         `put_char_ccs_code_point'.
1644
1645 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1646
1647         * mule-charset.c (decoding_table_put_char): New inline function.
1648         (put_char_ccs_code_point): Use `decoding_table_put_char'.
1649
1650 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1651
1652         * mule-charset.c (CHARSET_BYTE_SIZE): New inline function.
1653         (XCHARSET_BYTE_SIZE): New macro.
1654         (decoding_table_remove_char): New inline function.
1655         (put_char_ccs_code_point): Use `XCHARSET_BYTE_SIZE'; use
1656         `decoding_table_remove_char'.
1657         (remove_char_ccs): Use `decoding_table_remove_char'.
1658         (Fset_charset_mapping_table): Use `CHARSET_BYTE_SIZE'.
1659
1660 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1661
1662         * mule-charset.c (Vcharacter_name_table): New variable.
1663         (Qname): New variable.
1664         (Fget_char_attribute): Use `Vcharacter_name_table' for `name'
1665         attribute.
1666         (Fput_char_attribute): Use function `put_char_ccs_code_point'; use
1667         `Vcharacter_name_table' for `name' attribute.
1668         (Fremove_char_attribute): Use function `remove_char_ccs'.
1669         (put_char_ccs_code_point): New function.
1670         (remove_char_ccs): New function.
1671         (syms_of_mule_charset): Add new symbol `name'.
1672         (vars_of_mule_charset): Setup `Vcharacter_name_table'.
1673
1674 2000-05-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1675
1676         * mule-charset.c (make_byte_table): Add new argument `older'.
1677         (make_char_id_table): Likewise.
1678         (copy_char_id_table): Comment out because it is not used.
1679         (put_char_id_table): Modify for `make_byte_table'.
1680         (Fput_char_attribute): Make encoding_table as older object;
1681         inherit older bit of `Vcharacter_composition_table'.
1682         (mark_charset): Don't mark `cs->encoding_table'.
1683         (vars_of_mule_charset): Make `Vcharacter_attribute_table' as a
1684         normal object; make `Vcharacter_composition_table' as an older
1685         object; delete staticpro for `Vcharacter_composition_table'; make
1686         `Vcharacter_variant_table' as a normal object.
1687
1688         * alloc.c (alloc_older_lcrecord): New function in UTF-2000.
1689         (mark_object): Don't check older object in UTF-2000.
1690
1691         * lrecord.h (struct lrecord_header): Add new member `older' in
1692         UTF-2000.
1693         (set_lheader_implementation): Setup `SLI_header->older' in
1694         UTF-2000.
1695         (set_lheader_older_implementation): New macro in UTF-2000.
1696         (OLDER_RECORD_P): New macro in UTF-2000.
1697         (OLDER_RECORD_HEADER_P): New macro in UTF-2000.
1698         (alloc_older_lcrecord): New prototype in UTF-2000.
1699         (alloc_older_lcrecord_type): New macro in UTF-2000.
1700
1701 2000-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1702
1703         * mule-charset.c (byte_table_description): Use
1704         `XD_LISP_OBJECT_ARRAY' instead of `XD_LISP_OBJECT'.
1705         (char_id_table_description): Delete bogus `, 1'.
1706         (Fget_char_attribute): Refer encoding_table of each coded-charset
1707         to get value of coded-charset attribute of a character.
1708         (Fput_char_attribute): Use `make_older_vector' instead of
1709         `make_vector'; use encoding_table of each coded-charset to store
1710         value of coded-charset attribute of a character.
1711         (Fremove_char_attribute): Use encoding_table of each coded-charset
1712         to store value of coded-charset attribute of a character.
1713         (mark_charset): Mark `cs->encoding_table'; don't mark
1714         `cs->decoding_table'.
1715         (charset_description): Add description of new member
1716         `encoding_table'.
1717         (make_charset): Initialize `encoding_table'.
1718
1719         * char-ucs.h (struct Lisp_Charset): Add new member
1720         `encoding_table'.
1721         (CHARSET_ENCODING_TABLE): New macro.
1722         (XCHARSET_ENCODING_TABLE): New macro.
1723         (charset_code_point): New implementation.
1724         (encode_char_1): Likewise.
1725
1726         * alloc.c (all_older_lcrecords): New variable in UTF-2000.
1727         (disksave_object_finalization_1): Call finalizers of
1728         `all_older_lcrecords' in UTF-2000.
1729         (make_older_vector): New function in UTF-2000.
1730         (reinit_alloc_once_early): Initialize `all_older_lcrecords' in
1731         UTF-2000.
1732
1733         * lisp.h (make_older_vector): New prototype in UTF-2000.
1734
1735 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1736
1737         * lrecord.h (enum lrecord_type): Rename
1738         `lrecord_type_char_code_table' to `lrecord_type_char_id_table'.
1739
1740         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_ID_TABLE_P' and
1741         `get_char_id_table' instead of `CHAR_CODE_TABLE_P' and
1742         `get_char_code_table'.
1743
1744         * mule-charset.c (mark_char_id_table): Renamed from
1745         `mark_char_code_table'.
1746         (char_id_table_equal): Renamed from `char_code_table_equal'.
1747         (char_id_table_hash): Renamed from `char_code_table_hash'.
1748         (make_char_id_table): Renamed from `make_char_code_table'.
1749         (copy_char_id_table): Renamed from `copy_char_code_table'.
1750         (get_char_id_table): Renamed from `get_char_code_table'.
1751         (put_char_id_table): Renamed from `put_char_code_table'.
1752         (to_char_id): Renamed from `to_char_code'.
1753
1754         * char-ucs.h (struct Lisp_Char_ID_Table): Renamed from
1755         `Lisp_Char_Code_Table'.
1756         (char_id_table): Renamed from `char_code_table'.
1757         (XCHAR_ID_TABLE): Renamed from `XCHAR_CODE_TABLE'.
1758         (XSETCHAR_ID_TABLE): Renamed from `XSETCHAR_CODE_TABLE'.
1759         (CHAR_ID_TABLE_P): Renamed from `CHAR_CODE_TABLE_P'.
1760         (GC_CHAR_ID_TABLE_P): Renamed from `GC_CHAR_CODE_TABLE_P'.
1761         (get_char_id_table): Renamed from `get_char_code_table'.
1762
1763 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1764
1765         * lrecord.h (enum lrecord_type): Rename
1766         `lrecord_type_char_byte_table' to `lrecord_type_byte_table'.
1767
1768         * mule-charset.c (mark_byte_table): Renamed from
1769         `mark_char_byte_table'.
1770         (byte_table_equal): Renamed from `char_byte_table_equal'.
1771         (byte_table_hash): Renamed from `byte_table_hash'.
1772         (make_byte_table): Renamed from `make_byte_table'.
1773         (copy_byte_table): Renamed from `copy_char_byte_table'.
1774
1775         * char-ucs.h (struct Lisp_Byte_Table): Renamed from
1776         `Lisp_Char_Byte_Table'.
1777         (byte_table): Renamed from `char_byte_table'.
1778         (XBYTE_TABLE): Renamed from `XCHAR_BYTE_TABLE'.
1779         (XSETBYTE_TABLE): Renamed from `XSET_CHAR_BYTE_TABLE'.
1780         (BYTE_TABLE_P): Renamed from `XBYTE_TABLE_P'.
1781         (GC_BYTE_TABLE_P): Renamed from `GC_CHAR_BYTE_TABLE_P'.
1782
1783 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1784
1785         * buffer.c (dfc_convert_to_external_format): Modify for UTF-2000.
1786         (dfc_convert_to_internal_format): Likewise.
1787         
1788         * text-coding.c (Fcoding_system_canonical_name_p): New function.
1789         * text-coding.c (Fcoding_system_alias_p): New function.
1790         * text-coding.c (Fcoding_system_aliasee): New function.
1791         * text-coding.c (append_suffix_to_symbol): New function.
1792         * text-coding.c (dangling_coding_system_alias_p): New function.
1793         * text-coding.c (Ffind_coding_system):
1794         * text-coding.c (Fcopy_coding_system):
1795         * text-coding.c (encode_coding_no_conversion):
1796         * text-coding.c (syms_of_file_coding):
1797         * text-coding.c (vars_of_file_coding):
1798         Rewrite coding system alias code.
1799         Allow nested aliases, like symbolic links.
1800         Allow redefinition of coding system aliases.
1801         Prevent existence of dangling coding system aliases.
1802         Eliminate convert_to_external_format.
1803         Eliminate convert_to_internal_format.
1804         
1805         * text-coding.c: Change enum eol_type to eol_type_t.
1806
1807 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1808
1809         * mule-charset.c (encode_builtin_char_1): Limit builtin-code-range
1810         of `mojikyo' to MIN_CHAR_MOJIKYO + 94 * 60 * 22.
1811
1812         * char-ucs.h (MAX_CHAR_MOJIKYO): Limit builtin-code-range to
1813         MIN_CHAR_MOJIKYO + 94 * 60 * 22.
1814
1815 2000-04-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1816
1817         * mule-charset.c (encode_builtin_char_1): Use `mojikyo' instead of
1818         `ideograph-daikanwa'.
1819
1820         * char-ucs.h (Vcharset_ucs): Deleted because it is not used.
1821         (Vcharset_ucs_bmp): Likewise.
1822         (Vcharset_mojikyo): Add new extern variable definition.
1823         (Vcharset_latin_iso8859_2): Deleted because it is not used.
1824         (Vcharset_latin_iso8859_3): Likewise.
1825         (Vcharset_latin_iso8859_4): Likewise.
1826         (Vcharset_latin_iso8859_9): Likewise.
1827         (Vcharset_latin_viscii_lower): Likewise.
1828         (Vcharset_latin_viscii_upper): Likewise.
1829         (DECODE_CHAR): If charset is `mojikyo-pj-N', corresponding
1830         `mojikyo' code-point is used to decode.
1831         (encode_char_2): New function [to convert `mojikyo' code-point to
1832         Mojikyo font encoding].
1833         (ENCODE_CHAR): Use `encode_char_2' instead of `encode_code_1'.
1834         (breakup_char_1): Likewise.
1835         (CHAR_CHARSET): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR'.
1836
1837 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1838
1839         * text-coding.c (Fmake_coding_system): Add document about
1840         `disable-composition' property.
1841
1842 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1843
1844         * text-coding.c (Qdisable_composition): New variable; delete
1845         `Qcomposite'.
1846         (Fmake_coding_system): Add new property `disable-composite';
1847         delete property `composite'.
1848         (COMPOSE_ADD_CHAR): Use `CODING_SYSTEM_DISABLE_COMPOSITION'
1849         instead of `!CODING_SYSTEM_COMPOSITE'.
1850         (syms_of_file_coding): Add new symbol `disable-composition';
1851         delete symbol `composite'.
1852
1853         * file-coding.h (struct Lisp_Coding_System): Add
1854         `disable_composition'; delete `enable_composition'.
1855         (CODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
1856         `CODING_SYSTEM_COMPOSITE'.
1857         (XCODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
1858         `XCODING_SYSTEM_COMPOSITE'.
1859
1860 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1861
1862         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1863         to 0.15.
1864
1865 2000-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1866
1867         * text-coding.c (Qcomposite): New variable.
1868         (Fmake_coding_system): Add new property `composite'.
1869         (struct decoding_stream): Add `combined_char_count',
1870         `combined_chars' and `combining_table' in UTF-2000.
1871         (COMPOSE_FLUSH_CHARS): New macro.
1872         (COMPOSE_ADD_CHAR): New macro.
1873         (reset_decoding_stream): Reset `str->combined_char_count' and
1874         `str->combining_table' in UTF-2000.
1875         (decode_coding_iso2022): Modify for character-decomposition.
1876         (syms_of_file_coding): Add new symbol `composite'.
1877
1878 2000-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1879
1880         * mule-charset.c (Vcharset_latin_tcvn5712): New variable.
1881         (Fput_char_attribute): Set up `Vcharacter_variant_table' instead
1882         of `Vcharacter_composition_table' if `->decomposition' property
1883         has only 1 element.
1884         (Qlatin_tcvn5712): New variable.
1885         (syms_of_mule_charset): Add new symbol `latin-tcvn5712'.
1886         (complex_vars_of_mule_charset): Add new coded-charset
1887         `latin-tcvn5712'.
1888
1889         * char-ucs.h (LEADING_BYTE_LATIN_TCVN5712): New macro.
1890
1891 2000-04-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1892
1893         * file-coding.h (struct Lisp_Coding_System): Add
1894         `enable_composition'.
1895         (CODING_SYSTEM_COMPOSITE): New macro.
1896         (XCODING_SYSTEM_COMPOSITE): New macro.
1897
1898 2000-03-17  MORIOKA Tomohiko  <tomo@m17n.org>
1899
1900         * mule-canna.c (c2mu): Fix problem with UTF-2000.
1901
1902 2000-03-16  MORIOKA Tomohiko  <tomo@m17n.org>
1903
1904         * mule-charset.c (Fput_char_attribute): Don't make mapping-table
1905         if ATTRIBUTE is `ucs' and character-id of CHARACTER = VALUE.
1906
1907 2000-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
1908
1909         * mule-charset.c (Vcharset_mojikyo): New variable.
1910         (Fdefine_char): Don't use coded-charset which does not have
1911         non-builtin character range to allocate character-id.
1912         (Qmojikyo): New variable.
1913         (syms_of_mule_charset): Add new symbol `mojikyo'.
1914         (complex_vars_of_mule_charset): Add new coded-charset `mojikyo'.
1915
1916         * char-ucs.h (LEADING_BYTE_DAIKANWA_EKANJI): New macro.
1917         (LEADING_BYTE_MOJIKYO): New macro.
1918         (MIN_CHAR_MOJIKYO): New macro.
1919         (MIN_CHAR_DAIKANWA): Use `MIN_CHAR_MOJIKYO'.
1920         (MAX_CHAR_MOJIKYO): New macro.
1921
1922 2000-02-12  MORIOKA Tomohiko  <tomo@m17n.org>
1923
1924         * mule-charset.c (remove_char_attribute): Fixed.
1925
1926 2000-02-08  MORIOKA Tomohiko  <tomo@m17n.org>
1927
1928         * mule-charset.c (remove_char_attribute): New function.
1929         (Fremove_char_attribute): New function.
1930         (encode_builtin_char_1): Comment out builtin-support for
1931         greek-iso8859-7 and cyrillic-iso8859-5.
1932         (Fdecode_char): Check `code' is an integer.
1933         (syms_of_mule_charset): Add `remove-char-attribute'.
1934         (MIN_CHAR_GREEK): Deleted.
1935         (MAX_CHAR_GREEK): Likewise.
1936         (MIN_CHAR_CYRILLIC): Likewise.
1937         (MAX_CHAR_CYRILLIC): Likewise.
1938         (complex_vars_of_mule_charset): Don't use MIN_CHAR_GREEK and
1939         MAX_CHAR_GREEK for `greek-iso8859-7'.
1940
1941         * char-ucs.h (MIN_CHAR_GREEK): Comment out.
1942         (MAX_CHAR_GREEK): Likewise.
1943         (MIN_CHAR_CYRILLIC): Likewise.
1944         (MAX_CHAR_CYRILLIC): Likewise.
1945
1946 2000-02-02  MORIOKA Tomohiko  <tomo@m17n.org>
1947
1948         * mule-charset.c (Fdefine_char): Fix problem when new code-point
1949         format is used without `ucs' property.
1950         (Fdecode_char): Fix problem with GR representation.
1951         (complex_vars_of_mule_charset): Don't use `MIN_CHAR_CYRILLIC' and
1952         `MAX_CHAR_CYRILLIC' as range of builtin `cyrillic-iso8859-5'.
1953
1954 2000-01-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
1955
1956         * mule-charset.c (make_builtin_char): New function.
1957         (encode_builtin_char_1): Check ISO-2022-charset is defined or not.
1958         (Fset_charset_mapping_table): Modify for new representation of
1959         code-point.
1960         (Fdecode_char): New function.
1961         (syms_of_mule_charset): Add new builtin function `decode-char' in
1962         UTF-2000.
1963
1964         * char-ucs.h (make_builtin_char): New prototype.
1965         (DECODE_CHAR): New inline function.
1966         (MAKE_CHAR): Use `DECODE_CHAR'.
1967
1968 2000-01-28  MORIOKA Tomohiko  <tomo@m17n.org>
1969
1970         * text-coding.c (parse_charset_conversion_specs): Use
1971         `XCHARSET_CHARS' and `XCHARSET_DIMENSION' instead of
1972         `XCHARSET_TYPE'.
1973         (iso2022_designate): Likewise.
1974
1975         * chartab.c (decode_char_table_range): Use `XCHARSET_CHARS' and
1976         `XCHARSET_DIMENSION' instead of `XCHARSET_TYPE'.
1977
1978         * mule-charset.c (Vcharset_ucs): New variable.
1979         (print_charset): Change design; use `CHARSET_CHARS' and
1980         `CHARSET_DIMENSION' instead of `CHARSET_TYPE'.
1981         (make_charset): Change signature to specify `chars' and
1982         `dimension' instead of `type'.
1983         (range_charset_code_point): Modify for 256^n-set.
1984         (encode_builtin_char_1): Encode as `ucs' in default.
1985         (Fmake_charset): Modify for `make_charset'.
1986         (Fmake_reverse_direction_charset): Likewise.
1987         (Fsplit_char): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR' in
1988         UTF-2000.
1989         (complex_vars_of_mule_charset): Add coded-charset `ucs'; modify
1990         for `make_charset'.
1991
1992         * char-ucs.h (Vcharset_ucs): New variable.
1993         (LEADING_BYTE_UCS): New macro.
1994         (struct Lisp_Charset): Delete `type'; change type of `dimension'
1995         and `chars' to `unsigned short' from `unsigned int'.
1996         (CHARSET_TYPE): Deleted.
1997         (XCHARSET_TYPE): Deleted.
1998
1999 2000-01-27  MORIOKA Tomohiko  <tomo@m17n.org>
2000
2001         * mule-charset.c (charset_code_point): Moved to char-ucs.h.
2002
2003         * char-ucs.h (charset_code_point): Moved from mule-charset.c.
2004         (ENCODE_CHAR): New macro.
2005
2006 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
2007
2008         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2009         to 0.14 (Kawachi-Katakami).
2010
2011 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
2012
2013         * text-coding.c (char_encode_shift_jis): Modify for
2014         `charset_code_point'.
2015         (char_encode_iso2022): Likewise.
2016
2017         * mule-charset.c (Fput_char_attribute): Use <Lisp_Object>
2018         (integer) instead of list of <Lisp_Object>s (integers) as the
2019         format of code-point of a coded-charset.
2020         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
2021         (encode_builtin_char_1): New function; delete
2022         `split_builtin_char'.
2023         (charset_code_point): Return <int> instead of <Lisp_Object>.
2024         (Fsplit_char): Don't use `SPLIT_CHAR'.
2025
2026         * char-ucs.h (encode_builtin_char_1): New prototype; delete
2027         prototype for `split_builtin_char'.
2028         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
2029         (charset_code_point): Likewise.
2030         (encode_char_1): New inline function; delete `SPLIT_CHAR'.
2031         (breakup_char_1): Use `encode_char_1' instead of `SPLIT_CHAR'.
2032
2033 2000-01-20  MORIOKA Tomohiko  <tomo@m17n.org>
2034
2035         * mule-charset.c (complex_vars_of_mule_charset): Don't define
2036         `japanese-jisx0208-1990' in non-UTF-2000 Mule.
2037
2038 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2039
2040         * mule-charset.c (split_builtin_char): Don't support OBS_94x94.
2041
2042         * char-ucs.h (MIN_CHAR_OBS_94x94): Deleted.
2043         (MAX_CHAR_OBS_94x94): Deleted.
2044
2045 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2046
2047         * mule-charset.c (split_builtin_char): Use `MAX_CHAR_BMP'.
2048
2049         * char-ucs.h (MAX_CHAR_BMP): New macro.
2050
2051 2000-01-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2052
2053         * text-coding.c: Sync with r21-2-24.
2054
2055 2000-01-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
2056
2057         * file-coding.c: Modify for UTF-2000.
2058
2059 2000-01-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
2060
2061         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2062         to 0.13 (Takaida).
2063
2064 2000-01-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
2065
2066         * mule-charset.c (split_builtin_char): Delete builtin support for
2067         `katakana-jisx0201'.
2068         (complex_vars_of_mule_charset): Don't map `katakana-jisx0201' to
2069         BMP area in builtin representation.
2070
2071         * char-ucs.h (MAKE_CHAR): Delete builtin support for
2072         `Vcharset_katakana_jisx0201'.
2073
2074 1999-12-24  MORIOKA Tomohiko  <tomo@etl.go.jp>
2075
2076         * mule-charset.c (Vcharset_mojikyo_pj_[1 .. 21]): New variable.
2077         (Qisolated): New variable.
2078         (Qinitial): New variable.
2079         (Qmedial): New variable.
2080         (Qfinal): New variable.
2081         (Qvertical): New variable.
2082         (Qsmall): New variable.
2083         (to_char_code): Use `Qisolated', `Qinitial', `Qmedial', `Qfinal',
2084         `Qvertical' and `Qsmall'.
2085         (Qmojikyo_pj_[1 .. 21]): New variable.
2086         (syms_of_mule_charset): Add new symbols `isolated', `initial',
2087         `medial', `final', `vertical', `small' and `mojikyo-pj-[1 .. 21]'.
2088         (complex_vars_of_mule_charset): Add new charset `mojikyo-pj-[1
2089         .. 21]'.
2090
2091 1999-11-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
2092
2093         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x60.
2094         (LEADING_BYTE_MOJIKYO_PJ_[1 .. 21]): New macros.
2095         (MAX_LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 32)'.
2096
2097 1999-11-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
2098
2099         * mule-charset.c (Vcharset_japanese_jisx0208_1990): New variable.
2100         (Fdefine_char): Use Group 00 Plane 10 for non-coded variants of
2101         BMP.
2102         (Qjapanese_jisx0208_1990): New variable.
2103         (syms_of_mule_charset): Add new symbol `Qjapanese_jisx0208_1990'.
2104         (complex_vars_of_mule_charset): Add new coded-charset
2105         `japanese-jisx0208-1990'.
2106
2107         * char-ucs.h (LEADING_BYTE_JAPANESE_JISX0208_1990): New macro.
2108         (MIN_CHAR_JIS_X0208_1990): New macro.
2109         (MAX_CHAR_JIS_X0208_1990): New macro.
2110
2111 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2112
2113         * text-coding.c (char_encode_iso2022): Output `~' if ISO 2022
2114         coded-charset is not found.
2115
2116 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2117
2118         * mule-charset.c (Fget_char_attribute): Forgot to `CHECK_CHAR'.
2119         (Fdefine_char): Use `Fmake_char'.
2120
2121 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2122
2123         * mule-charset.c (Vcharset_ideograph_daikanwa): New variable.
2124         (Vcharset_hiragana_jisx0208): Deleted.
2125         (Vcharset_katakana_jisx0208): Deleted.
2126         (Qideograph_daikanwa): New variable.
2127         (Qhiragana_jisx0208): Deleted.
2128         (Qkatakana_jisx0208): Deleted.
2129         (split_builtin_char): Split `ideograph-daikanwa'.
2130         (Fsplit_char): New implementation for UTF-2000.
2131         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa';
2132         delete symbol `hiragana-jisx0208' and `katakana-jisx0208'.
2133         (complex_vars_of_mule_charset): Add new coded-charset
2134         `ideograph-daikanwa'; delete coded-charset `hiragana-jisx0208' and
2135         `katakana-jisx0208'.
2136
2137         * char-ucs.h (LEADING_BYTE_DAIKANWA): New macro.
2138         (LEADING_BYTE_HIRAGANA_JISX0208): Deleted.
2139         (LEADING_BYTE_KATAKANA_JISX0208): Deleted.
2140         (MIN_CHAR_DAIKANWA): New macro.
2141         (MAX_CHAR_DAIKANWA): New macro.
2142
2143 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2144
2145         * data.c (Fstring_to_number): Don't recognize floating point if
2146         base is not 10.
2147
2148 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2149
2150         * mule-charset.c (Fput_char_attribute): Forgot to `CHECK_CHAR'.
2151
2152 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2153
2154         * mule-charset.c (Qsquare): New variable.
2155         (to_char_code): Add `Qsquare'.
2156         (syms_of_mule_charset): Add new symbol `square'.
2157
2158 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2159
2160         * mule-charset.c (Qcircle): New variable.
2161         (to_char_code): Add `Qcircle'.
2162         (syms_of_mule_charset): Add new symbol `circle'.
2163
2164 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2165
2166         * mule-charset.c (Qfont): New variable.
2167         (to_char_code): Add `Qfont'.
2168         (syms_of_mule_charset): Add new symbol `font'.
2169
2170 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2171
2172         * mule-charset.c (Qsub): New variable.
2173         (to_char_code): Add `Qsub'.
2174         (syms_of_mule_charset): Add new symbol `sub'.
2175
2176 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2177
2178         * mule-charset.c (Fput_char_attribute): Convert each element of
2179         VALUE to GL position if ATTRIBUTE is a GR-set,
2180
2181 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2182
2183         * mule-charset.c (Fput_char_attribute): Allow GR code-point if a
2184         coded-charset is a GR-set.
2185
2186 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2187
2188         * mule-charset.c (Fput_char_attribute): Check each element of
2189         VALUE is a byte if ATTRIBUTE is a coded-charset or its name.
2190
2191 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2192
2193         * mule-charset.c (Vcharset_ethiopic_ucs): New variable in
2194         UTF-2000.
2195         (Qethiopic_ucs): New variable in UTF-2000.
2196         (syms_of_mule_charset): Add new symbol `ethiopic-ucs' in UTF-2000.
2197         (complex_vars_of_mule_charset): Add new coded-charset
2198         `ethiopic-ucs' in UTF-2000.
2199
2200         * char-ucs.h (LEADING_BYTE_ETHIOPIC_UCS): New macro.
2201         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
2202         9)'.
2203         (LEADING_BYTE_KATAKANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
2204         10)'.
2205         (LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 11)'.
2206
2207 1999-11-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
2208
2209         * mule-charset.c (Fset_charset_mapping_table): Fix problem with
2210         `ascii'.
2211
2212 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2213
2214         * mule-charset.c (Vcharacter_variant_table): New variable.
2215         (Q_ucs): New variable.
2216         (Fchar_variants): New function.
2217         (Fput_char_attribute): Register `->ucs' value to
2218         `Vcharacter_variant_table'.
2219         (syms_of_mule_charset): Add new function `char-variants' and new
2220         symbol `->ucs'.
2221         (vars_of_mule_charset): Setup `Vcharacter_variant_table'.
2222
2223 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2224
2225         * mule-charset.c (get_char_code_table): Allow negative character
2226         code.
2227         (put_char_code_table): Likewise.
2228         (Vcharacter_composition_table): New variable.
2229         (Q_decomposition): New variable.
2230         (Qwide): New variable.
2231         (Qnarrow): New variable.
2232         (Qcompat): New variable.
2233         (QnoBreak): New variable.
2234         (Qsuper): New variable.
2235         (Qfraction): New variable.
2236         (to_char_code): New function.
2237         (Fget_composite_char): New function.
2238         (Fput_char_attribute): Register `->decomposition' value to
2239         `Vcharacter_composition_table'.
2240         (syms_of_mule_charset): Add new function `get-composite-char', new
2241         symbol `->decomposition', `wide', `narrow', `compat', `noBreak',
2242         `super' and `fraction'.
2243         (vars_of_mule_charset): Setup `Vcharacter_composition_table'.
2244
2245 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2246
2247         * mule-charset.c (Fchar_attribute_alist): Check the argument is a
2248         character; copy the return value.
2249
2250 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2251
2252         * char-ucs.h (SPLIT_CHAR): Use `split_builtin_char'.
2253
2254         * mule-charset.c (range_charset_code_point): Must use make_int.
2255         (split_builtin_char): New function.
2256
2257 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2258
2259         * mule-charset.c (char_byte_table): Change name from
2260         "char-code-table" to "char-byte-table".
2261         (mark_char_code_table): New function.
2262         (char_code_table_equal): New function.
2263         (char_code_table_hash): New function.
2264         (char_code_table_description): New constant.
2265         (char_code_table): New type.
2266         (make_char_code_table): New function.
2267         (copy_char_code_table): New function.
2268         (get_char_code_table): Modify for `char_code_table' type.
2269         (put_char_code_table): Likewise.
2270         (vars_of_mule_charset): Update `utf-2000-version' to 0.12
2271         (Kashiwara).
2272
2273         * char-ucs.h (char_code_table): New type.
2274         (XCHAR_CODE_TABLE): New macro.
2275         (XSETCHAR_CODE_TABLE): New macro.
2276         (CHAR_CODE_TABLE_P): New macro.
2277         (GC_CHAR_CODE_TABLE_P): New macro.
2278         (struct Lisp_Char_Code_Table): New structure.
2279
2280 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2281
2282         * mule-charset.c (Fmake_charset): Setup byte_offset for
2283         {94|96}^n-set.
2284
2285 1999-11-09  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2286
2287         * mule-charset.c (Fdefine_char): Fix problem with non-UCS
2288         character.
2289
2290 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2291
2292         * char-ucs.h (SPLIT_CHAR): Don't make new cell if a charset slot
2293         is found.
2294
2295 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2296
2297         * mule-charset.c (Fget_char_attribute): If ATTRIBUTE is a name of
2298         charset, it is regarded as a charset.
2299         (put_char_attribute): New function in UTF-2000.
2300         (Fput_char_attribute): If ATTRIBUTE is a charset or a name of
2301         charset, mapping-table of the charset is modified.
2302         (Fdefine_char): New function in UTF-2000.
2303         (Fset_charset_mapping_table): Use `put_char_attribute' instead of
2304         `Fput_char_attribute'.
2305         (syms_of_mule_charset): Add new function `define-char' and new
2306         symbol `ucs' in UTF-2000.
2307         (vars_of_mule_charset): Update `utf-2000-version' to 0.11 (Shiki).
2308
2309 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
2310
2311         * mule-charset.c (Fcharset_name): Define `byte_offset' in
2312         non-UTF-2000 configuration.
2313
2314 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
2315
2316         * text-coding.c (char_encode_shift_jis): Use `charset_code_point'
2317         not to use `XCHARSET_ENCODING_TABLE (Vcharset_latin_jisx0201)'.
2318
2319         * mule-charset.c (mark_charset): `cs->encoding_table' has been
2320         deleted.
2321         (make_charset): Don't use `CHARSET_ENCODING_TABLE(cs)'.
2322         (Fset_charset_mapping_table): Likewise.
2323
2324         * char-ucs.h (struct Lisp_Charset): Delete `encoding_table'.
2325         (CHARSET_ENCODING_TABLE): Delete.
2326         (XCHARSET_ENCODING_TABLE): Delete.
2327         (charset_code_point): New interface.
2328
2329 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
2330
2331         * text-coding.c (char_encode_iso2022): Use `charset_code_point'
2332         instead of `charset_get_byte1' and `charset_get_byte2'.
2333
2334         * mule-charset.c, char-ucs.h (charset_get_byte1): Deleted.
2335         (charset_get_byte2): Deleted.
2336
2337 1999-10-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
2338
2339         * char-ucs.h (SPLIT_CHAR): New inline function.
2340         (breakup_char_1): Use `SPLIT_CHAR'.
2341
2342         * mule-charset.c (range_charset_code_point): New function.
2343         (charset_code_point): New function.
2344
2345         * char-ucs.h (range_charset_code_point): New interface.
2346         (breakup_char_1): Use `range_charset_code_point'.
2347
2348 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
2349
2350         * mule-charset.c (Fmake_charset): Delete unused local variable
2351         `code_offset'.
2352
2353         * char-ucs.h (Vcharacter_attribute_table): New extern variable.
2354         (breakup_char_1): Find a charset and code-point in
2355         `Vcharacter_attribute_table'.
2356
2357 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
2358
2359         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2360         to 0.10 (Yao).
2361
2362 1999-10-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
2363
2364         * mule-charset.c (Vcharacter_attribute_table): New variable.
2365         (Fchar_attribute_alist): New function.
2366         (Fget_char_attribute): New function.
2367         (Fput_char_attribute): New function.
2368         (Fset_charset_mapping_table): Setup `Vcharacter_attribute_table'
2369         too.
2370         (syms_of_mule_charset): Add new function `char-attribute-alist',
2371         `get-char-attribute' and `put-char-attribute'.
2372         (vars_of_mule_charset): Setup `Vcharacter_attribute_table'.
2373
2374 1999-10-19  MORIOKA Tomohiko  <tomo@etl.go.jp>
2375
2376         * mule-charset.c (Fmake_charset): Just use
2377         `get_unallocated_leading_byte'.
2378
2379         * char-ucs.h (LEADING_BYTE_*): Use ISO-IR numbers for official
2380         sets; don't use final-byte based number for private sets.
2381
2382 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2383
2384         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
2385         integer.
2386
2387 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2388
2389         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2390         to 0.9.
2391
2392 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2393
2394         * regex.c (compile_extended_range): Use `CHAR_CHARSET_ID' instead
2395         of `CHAR_LEADING_BYTE' in UTF-2000.
2396
2397         * insdel.c (find_charsets_in_bufbyte_string): Use
2398         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
2399         (find_charsets_in_emchar_string): Likewise.
2400
2401         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use
2402         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
2403
2404         * char-ucs.h (CHAR_LEADING_BYTE): Deleted.
2405         (CHAR_CHARSET_ID): New macro.
2406
2407 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2408
2409         * chartab.c (get_char_table): Don't use type `Charset_ID' for
2410         charset-id - MIN_LEADING_BYTE.
2411         (put_char_table): Likewise.
2412
2413 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2414
2415         * char-ucs.h (MIN_LEADING_BYTE): Changed to `-0x40'.
2416         (NUM_LEADING_BYTES): Changed to (80 * 3 - MIN_LEADING_BYTE).
2417         (CHARSET_LEADING_BYTE): Don't cast by `Bufbyte'.
2418         (CHARSET_ID_OFFSET): New macro.
2419         (LEADING_BYTE_CONTROL_1): Changed to (CHARSET_ID_OFFSET - 1).
2420         (LEADING_BYTE_UCS_BMP): Changed to (CHARSET_ID_OFFSET - 2).
2421         (LEADING_BYTE_LATIN_VISCII): Changed to (CHARSET_ID_OFFSET - 3).
2422         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
2423         4).
2424         (LEADING_BYTE_KATAKANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
2425         5).
2426         (MIN_LEADING_BYTE_PRIVATE): Changed to `MIN_LEADING_BYTE'.
2427         (MAX_LEADING_BYTE_PRIVATE): Changed to (CHARSET_ID_OFFSET - 6).
2428         (CHARSET_ID_OFFSET_94): Changed to (CHARSET_ID_OFFSET - '0').
2429         (CHARSET_ID_OFFSET_96): Changed to (CHARSET_ID_OFFSET_94 + 80).
2430         (CHARSET_ID_OFFSET_94x94): Changed to (CHARSET_ID_OFFSET_96 + 80).
2431
2432 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2433
2434         * mule-charset.c (next_allocated_leading_byte): New variable in
2435         UTF-2000.
2436         (next_allocated_1_byte_leading_byte): Don't define in UTF-2000.
2437         (next_allocated_2_byte_leading_byte): Don't define in UTF-2000.
2438         (get_unallocated_leading_byte): Simply use
2439         `next_allocated_leading_byte' [ignore dimension] in UTF-2000.
2440         (vars_of_mule_charset): Setup `next_allocated_leading_byte' in
2441         UTF-2000.
2442
2443         * char-ucs.h (MIN_LEADING_BYTE_PRIVATE): New macro.
2444         (MAX_LEADING_BYTE_PRIVATE): New macro.
2445         (MIN_LEADING_BYTE_OFFICIAL_2): Deleted.
2446         (MAX_LEADING_BYTE_OFFICIAL_2): Deleted.
2447
2448 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2449
2450         * mule-charset.c (Fmake_charset): Allocate final-byte based
2451         charset-id for 94-set, 96-set and 94x94-set.
2452
2453 1999-10-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2454
2455         * mule-charset.c (char_byte_table_equal): Fill braces to avoid
2456         ambiguous `else'.
2457         (Fmake_charset): Likewise.
2458         (complex_vars_of_mule_charset): Modify the font registry of
2459         `ucs-bmp' not to match `Ethiopic-Unicode'.
2460
2461 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2462
2463         * mule-charset.c (complex_vars_of_mule_charset): Add font
2464         registory of `ucs-bmp'.
2465
2466 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2467
2468         * text-coding.c (char_encode_iso2022): Ignore non-ISO-2022
2469         coded-charsets in `default-coded-charset-priority-list' when
2470         breaking up a character.
2471
2472         * mule-charset.c (Vcharset_latin_viscii): New variable.
2473         (Qlatin_viscii): New variable.
2474         (make_charset): Don't use `decoding_table'.
2475         (Fmake_charset): Regard graphic = 2 as 256^n-set; setup
2476         byte_offset.
2477         (Fset_charset_mapping_table): New implementation.
2478         (syms_of_mule_charset): Add new symbol `latin-viscii'.
2479         (complex_vars_of_mule_charset): Set `graphic' attribute of charset
2480         `ucs-bmp' and `latin_viscii' to 2; change font registry of charset
2481         `latin-viscii-lower' to "MULEVISCII-LOWER"; change font registry
2482         of charset `latin-viscii-upper' to "MULEVISCII-UPPER"; add new
2483         charset `latin_viscii'.
2484
2485         * char-ucs.h (LEADING_BYTE_LATIN_VISCII): New macro.
2486         (CHARSET_TYPE_94X94): Change to 1 from 2.
2487         (CHARSET_TYPE_96): Change to 2 from 1.
2488         (CHARSET_TYPE_128): New macro.
2489         (CHARSET_TYPE_128X128): Change to 5 from 4.
2490         (CHARSET_TYPE_256): New macro.
2491         (CHARSET_TYPE_256X256): Change to 7 from 5.
2492         (MAKE_CHAR): Use `XCHARSET_BYTE_OFFSET(charset)'.
2493
2494 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2495
2496         * text-coding.c (char_encode_shift_jis): Refer
2497         `XCHARSET_ENCODING_TABLE(Vcharset_latin_jisx0201)' instead of
2498         `XCHARSET_TO_BYTE1_TABLE(Vcharset_latin_jisx0201)'.
2499
2500         * mule-charset.c (mark_char_byte_table): New function in UTF-2000.
2501         (char_byte_table_equal): New function in UTF-2000.
2502         (char_byte_table_hash): New function in UTF-2000.
2503         (char_byte_table_description): New constant in UTF-2000.
2504         (char_byte_table): New type in UTF-2000.
2505         (make_char_byte_table): New function in UTF-2000.
2506         (copy_char_byte_table): New function in UTF-2000.
2507         (make_char_code_table): New macro in UTF-2000.
2508         (get_char_code_table): New function in UTF-2000.
2509         (put_char_code_table): New function in UTF-2000.
2510         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
2511         (charset_description): Add setting in UTF-2000.
2512         (make_charset): Setup `CHARSET_ENCODING_TABLE(cs)' instead of
2513         `CHARSET_TO_BYTE1_TABLE(cs)'.
2514         (charset_get_byte1): Refer `XCHARSET_ENCODING_TABLE(charset)'
2515         instead of `XCHARSET_TO_BYTE1_TABLE(charset)'.
2516         (charset_get_byte2): Refer `XCHARSET_ENCODING_TABLE(charset)'
2517         instead of `XCHARSET_TO_BYTE2_TABLE(charset)'.
2518         (Fset_charset_mapping_table): Setup `CHARSET_ENCODING_TABLE(cs)'
2519         instead of `CHARSET_TO_BYTE1_TABLE(cs)' and
2520         `CHARSET_TO_BYTE2_TABLE(cs)'.
2521
2522         * char-ucs.h (char_byte_table): New type.
2523         (XCHAR_BYTE_TABLE): New macro.
2524         (XSETCHAR_BYTE_TABLE): New macro.
2525         (CHAR_BYTE_TABLE_P): New macro.
2526         (GC_CHAR_BYTE_TABLE_P): New macro.
2527         (struct Lisp_Char_Byte_Table): New structure.
2528         (get_char_code_table): New interface.
2529         (Emchar_to_byte_table): Deleted.
2530         (get_byte_from_character_table): Deleted.
2531         (struct Lisp_Charset): Add `encoding_table'; delete
2532         `to_byte1_table' and `to_byte2_table'.
2533         (CHARSET_ENCODING_TABLE): New macro.
2534         (CHARSET_TO_BYTE1_TABLE): Deleted.
2535         (CHARSET_TO_BYTE2_TABLE): Deleted.
2536         (XCHARSET_ENCODING_TABLE): New macro.
2537         (XCHARSET_TO_BYTE1_TABLE): Deleted.
2538         (XCHARSET_TO_BYTE2_TABLE): Deleted.
2539
2540 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
2541
2542         * mule-charset.c (syms_of_mule_charset): Delete charset alias
2543         `vietnamese-viscii-*'.
2544
2545 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
2546
2547         * mule-charset.c (Qvietnamese_viscii_lower): New variable.
2548         (Qvietnamese_viscii_upper): New variable.
2549         (Fdefine_charset_alias): New function.
2550         (syms_of_mule_charset): Add new function `define-charset-alias'.
2551         (syms_of_mule_charset): Rename charset `vietnamese-viscii-*' to
2552         `latin-viscii-*'; define `vietnamese-viscii-*' as aliases for
2553         `latin-viscii-*'.
2554
2555 1999-10-04  MORIOKA Tomohiko  <tomo@etl.go.jp>
2556
2557         * char-ucs.h (MIN_CHAR_OBS_94x94): New macro.
2558         (MAX_CHAR_OBS_94x94): New macro.
2559         (breakup_char_1): Support obsolete XEmacs-UCS private code space
2560         for 94x94 sets.
2561
2562         * mule-charset.c (put_byte_from_character_table): Change unit size
2563         from 128 to 256.
2564         (mark_charset): Don't mark `cs->decoding_table' if `UTF2000' is
2565         not defined.
2566         (Fmake_reverse_direction_charset): Modify dummy argument of
2567         `make_charset' for non-UTF-2000 environment.
2568
2569 1999-10-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2570
2571         * char-ucs.h (MAKE_CHAR): Allow nested decoding-table.
2572
2573         * mule-charset.c (destroy_byte_from_character_table): New macro.
2574         (latin_jisx0201_to_ucs): Deleted.
2575         (latin_iso8859_2_to_ucs): Deleted.
2576         (latin_iso8859_3_to_ucs): Deleted.
2577         (latin_iso8859_4_to_ucs): Deleted.
2578         (latin_iso8859_9_to_ucs): Deleted.
2579         (latin_viscii_lower_to_ucs): Deleted.
2580         (latin_viscii_upper_to_ucs): Deleted.
2581         (mark_charset): Mark `cs->decoding_table'.
2582         (Fcharset_mapping_table): Fix DOC-string.
2583         (Fset_charset_mapping_table): New function.
2584         (syms_of_mule_charset): Add nwe function
2585         `set-charset-mapping-table'.
2586         (complex_vars_of_mule_charset): Don't setup and use
2587         `latin_*_to_ucs'.
2588
2589 1999-10-01  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2590
2591         * char-ucs.h (MAKE_CHAR): Check the result for range-represented
2592         charset.
2593
2594 1999-09-30  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2595
2596         * mule-charset.c (Vcharset_hiragana_jisx0208): New variable.
2597         (Vcharset_katakana_jisx0208): New variable.
2598         (Qhiragana_jisx0208): New variable.
2599         (Qkatakana_jisx0208): New variable.
2600         (make_charset): Add new argument `byte_offset'.
2601         (charset_get_byte1): Modify for new coded-charset definition; use
2602         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
2603         `XCHARSET_BYTE_OFFSET'.
2604         (Fmake_charset): Modify for `make_charset'.
2605         (Fmake_reverse_direction_charset): Likewise.
2606         (syms_of_mule_charset): Add new symbols `hiragana-jisx0208' and
2607         `katakana-jisx0208'.
2608         (complex_vars_of_mule_charset): Modify for `make_charset'; quote
2609         `.'  in font registry of charset `katakana-jisx0201',
2610         `latin-jisx0201', `vietnamese-viscii-lower' and
2611         `vietnamese-viscii-upper'; modify DOC-string of charset
2612         `japanese-jisx0208-1978' and `japanese-jisx0208'; modify font
2613         registry of charset `japanese-jisx0208' not to use font for JIS
2614         X0208:1990; add new charset `hiragana-jisx0208' and
2615         `katakana-jisx0208'.
2616
2617         * char-ucs.h (LEADING_BYTE_HIRAGANA_JISX0208): New macro.
2618         (LEADING_BYTE_KATAKANA_JISX0208): New macro.
2619         (struct Lisp_Charset): Add `byte_offset'.
2620         (CHARSET_BYTE_OFFSET): New macro.
2621         (XCHARSET_UCS_MIN): New macro.
2622         (XCHARSET_UCS_MAX): New macro.
2623         (XCHARSET_CODE_OFFSET): New macro.
2624         (XCHARSET_BYTE_OFFSET): New macro.
2625         (MIN_CHAR_HIRAGANA): New macro.
2626         (MAX_CHAR_HIRAGANA): New macro.
2627         (MIN_CHAR_KATAKANA): New macro.
2628         (MAX_CHAR_KATAKANA): New macro.
2629         (MAKE_CHAR): Modify for new coded-charset definition; use
2630         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
2631         `XCHARSET_BYTE_OFFSET'.
2632
2633 1999-09-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
2634
2635         * mule-charset.c (CHAR96): Deleted.
2636         (latin_jisx0201_to_ucs): Type is changed from array of <Emchar> to
2637         <Lisp_Object>.
2638         (latin_iso8859_2_to_ucs): Likewise.
2639         (latin_iso8859_3_to_ucs): Likewise.
2640         (latin_iso8859_4_to_ucs): Likewise.
2641         (latin_iso8859_9_to_ucs): Likewise.
2642         (latin_viscii_lower_to_ucs): Likewise.
2643         (latin_viscii_upper_to_ucs): Likewise.
2644         (latin_tcvn5712_to_ucs): Commented out.
2645         (make_charset): Change type of argument `decoding_table' from
2646         <Emchar*> to <Lisp_Object> [vector of characters].
2647         (Fmake_charset): Modify for `make_charset'.
2648         (Fmake_reverse_direction_charset): Likewise.
2649         (Fcharset_mapping_table): New function in UTF-2000.
2650         (syms_of_mule_charset): Setup `Fcharset_mapping_table' in
2651         UTF-2000.
2652         (complex_vars_of_mule_charset): Modify for type change of
2653         `*_to_ucs'; modify for `make_charset'.
2654
2655         * char-ucs.h (struct Lisp_Charset): Change type of
2656         `decoding_table' from <Emchar*> to <Lisp_Object>.
2657         (MAKE_CHAR): Modify for new specification of `decoding_table'.
2658
2659 1999-09-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
2660
2661         * mule-charset.c (Fmake_reverse_direction_charset): Fix compile
2662         error with non-UTF-2000-Mule.
2663
2664 1999-09-21  MORIOKA Tomohiko  <tomo@etl.go.jp>
2665
2666         * mule-charset.c (Vcharset_chinese_cns11643_3): Deleted [defined
2667         in lisp again].
2668         (Vcharset_chinese_cns11643_4): Likewise.
2669         (Vcharset_chinese_cns11643_5): Likewise.
2670         (Vcharset_chinese_cns11643_6): Likewise.
2671         (Vcharset_chinese_cns11643_7): Likewise.
2672         (Qchinese_cns11643_3): Likewise.
2673         (Qchinese_cns11643_4): Likewise.
2674         (Qchinese_cns11643_5): Likewise.
2675         (Qchinese_cns11643_6): Likewise.
2676         (Qchinese_cns11643_7): Likewise.
2677         (syms_of_mule_charset): Move definitions for `chinese-cns11643-3',
2678         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
2679         and `chinese-cns11643-7' to lisp/mule/chinese.el.
2680         (complex_vars_of_mule_charset): Likewise.
2681
2682 1999-09-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
2683
2684         * mule-charset.c (charset_get_byte1): Fix bug about 94- and
2685         96-set.
2686         (Fmake_reverse_direction_charset): Inherit CHARSET_DECODING_TABLE,
2687         CHARSET_UCS_MIN, CHARSET_UCS_MAX and CHARSET_CODE_OFFSET.
2688
2689 1999-09-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
2690
2691         * char-ucs.h (MIN_CHAR_HALFWIDTH_KATAKANA): Changed to 0xFF61 from
2692         0xFF60.
2693         (MAKE_CHAR): Change offset for katakana-jisx0201 to 33 from 0x20.
2694         (breakup_char_1): Likewise.
2695
2696         * text-coding.c (char_encode_iso2022): Keep designated charsets if
2697         one of them includes the specified character.
2698
2699 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
2700
2701         * mule-charset.c: Update `utf-2000-version' to 0.8 (Kami).
2702
2703 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
2704
2705         * char-ucs.h (MAKE_CHAR): Fix problem in 2-dimension charset.
2706
2707 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
2708
2709         * mule-charset.c (latin_iso8859_2_to_ucs NULL): Add pseudo
2710         definition for non-UTF-2000 Mule.
2711         (latin_iso8859_3_to_ucs): Likewise.
2712         (latin_iso8859_4_to_ucs): Likewise.
2713         (latin_iso8859_9_to_ucs): Likewise.
2714         (latin_jisx0201_to_ucs): Likewise.
2715         (MIN_CHAR_THAI): Likewise.
2716         (MAX_CHAR_THAI): Likewise.
2717         (MIN_CHAR_GREEK): Likewise.
2718         (MAX_CHAR_GREEK): Likewise.
2719         (MIN_CHAR_HEBREW): Likewise.
2720         (MAX_CHAR_HEBREW): Likewise.
2721         (MIN_CHAR_HALFWIDTH_KATAKANA): Likewise.
2722         (MAX_CHAR_HALFWIDTH_KATAKANA): Likewise.
2723         (MIN_CHAR_CYRILLIC): Likewise.
2724         (MAX_CHAR_CYRILLIC): Likewise.
2725
2726 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
2727
2728         * char-ucs.h (breakup_char_1): Use
2729         `Vdefault_coded_charset_priority_list' for hebrew-iso8859-8,
2730         thai-tis620 and katakana-jisx0201 area.
2731
2732 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2733
2734         * char-ucs.h (breakup_char_1): Use
2735         `Vdefault_coded_charset_priority_list' for cyrillic-iso8859-5
2736         area.
2737
2738         * text-coding.c (reset_encoding_stream): Fixed.
2739         (char_encode_ucs4): Delete `& 255'.
2740
2741         * char-ucs.h (breakup_char_1): Use
2742         `Vdefault_coded_charset_priority_list' for greek-iso8859-7 area.
2743
2744 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2745
2746         * file-coding.c (Fmake_coding_system): Don't set up
2747         `codesys->fixed.size'.
2748         (encode_coding_no_conversion): Don't refer
2749         `str->codesys->fixed.size'.
2750
2751 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2752
2753         * mule-charset.c, char-ucs.h (latin_a_char_to_charset): Deleted.
2754         (latin_a_char_to_byte1): Deleted.
2755         (latin_a_char_to_byte2): Deleted.
2756
2757 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2758
2759         * mule-charset.c (make_charset): Add new argument `ucs_min',
2760         `ucs_max' and `code_offset'.
2761         (charset_get_byte1): New implementation [delete specific charset
2762         depended implementations].
2763         (Fmake_charset): Modify for `make_charset'.
2764         (Fmake_reverse_direction_charset): Likewise.
2765         (complex_vars_of_mule_charset): Likewise.
2766
2767         * char-ucs.h (struct Lisp_Charset): Add `ucs_min', `ucs_max' and
2768         `code_offset'.
2769         (CHARSET_UCS_MIN): New macro.
2770         (CHARSET_UCS_MAX): New macro.
2771         (CHARSET_CODE_OFFSET): New macro.
2772         (MAKE_CHAR): Delete charset depended definitions [except
2773         katakana-jisx0201].
2774
2775 1999-09-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
2776
2777         * char-ucs.h (breakup_char_1): Use
2778         `Vdefault_coded_charset_priority_list' for C0-Controls,
2779         Basic-Latin, C1-Controls and Latin-1-Supplement area.
2780
2781 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2782
2783         * char-ucs.h (charset_get_byte1): New function.
2784         (XCHARSET_GET_BYTE1): Deleted.
2785         (charset_get_byte2): New function.
2786         (XCHARSET_GET_BYTE2): Deleted.
2787         (Vdefault_coded_charset_priority_list): New external variable.
2788         (breakup_char_1): Use `charset_get_byte1', `charset_get_byte2' and
2789         `Vdefault_preferred_coded_charset_list'.
2790
2791         * mule-charset.c (charset_get_byte1): New function.
2792         (charset_get_byte2): New function.
2793         (Vdefault_coded_charset_priority_list): New variable.
2794         (vars_of_mule_charset): Add new variable
2795         `default-coded-charset-priority-list'.
2796
2797 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2798
2799         * char-ucs.h (XCHARSET_GET_BYTE1): New inline function.
2800         (XCHARSET_GET_BYTE2): New inline function.
2801         (breakup_char_1): Use `XCHARSET_GET_BYTE1' and
2802         `XCHARSET_GET_BYTE2'.
2803
2804 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2805
2806         * mule-charset.c (make_charset): Initialize
2807         `CHARSET_TO_BYTE1_TABLE(cs)' and `CHARSET_TO_BYTE2_TABLE(cs)' by
2808         NULL if table is not defined.
2809
2810 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2811
2812         * text-coding.c (char_encode_shift_jis): Use
2813         `XCHARSET_TO_BYTE1_TABLE' for `Vcharset_latin_jisx0201' instead of
2814         `ucs_to_latin_jisx0201'.
2815
2816         * mule-charset.c (ucs_to_latin_jisx0201): Deleted.
2817         (ucs_to_latin_iso8859_2): Deleted.
2818         (ucs_to_latin_iso8859_3): Deleted.
2819         (ucs_to_latin_iso8859_4): Deleted.
2820         (ucs_to_latin_iso8859_9): Deleted.
2821         (ucs_to_latin_viscii_lower): Deleted.
2822         (ucs_to_latin_viscii_upper): Deleted.
2823         (ucs_to_latin_tcvn5712): Deleted.
2824         (make_charset): Add new argument `decoding_table'; set up
2825         `CHARSET_DECODING_TABLE(cs)' in UTF-2000; set up
2826         `CHARSET_TO_BYTE1_TABLE(cs)' for 94-set and 96-set if
2827         `decoding_table' is defined in UTF-2000.
2828         (Fmake_charset): Modify for `make_charset'.
2829         (Fmake_reverse_direction_charset): Likewise.
2830         (complex_vars_of_mule_charset): Likewise; delete `GENERATE_94_SET'
2831         and `GENERATE_96_SET'.
2832
2833         * char-ucs.h (latin_jisx0201_to_ucs): Deleted.
2834         (ucs_to_latin_jisx0201): Deleted.
2835         (latin_iso8859_2_to_ucs): Deleted.
2836         (ucs_to_latin_iso8859_2): Deleted.
2837         (latin_iso8859_3_to_ucs): Deleted.
2838         (ucs_to_latin_iso8859_3): Deleted.
2839         (latin_iso8859_4_to_ucs): Deleted.
2840         (ucs_to_latin_iso8859_4): Deleted.
2841         (latin_iso8859_9_to_ucs): Deleted.
2842         (ucs_to_latin_iso8859_9): Deleted.
2843         (latin_viscii_lower_to_ucs): Deleted.
2844         (ucs_to_latin_viscii_lower): Deleted.
2845         (latin_viscii_upper_to_ucs): Deleted.
2846         (ucs_to_latin_viscii_upper): Deleted.
2847         (struct Lisp_Charset): Renamed `encoding_table' to
2848         `to_byte1_table'; add `to_byte2_table'.
2849         (CHARSET_DECODING_TABLE): New macro.
2850         (CHARSET_TO_BYTE1_TABLE): New macro.
2851         (CHARSET_TO_BYTE2_TABLE): New macro.
2852         (XCHARSET_DECODING_TABLE): New macro.
2853         (XCHARSET_TO_BYTE1_TABLE): New macro.
2854         (XCHARSET_TO_BYTE2_TABLE): New macro.
2855         (MAKE_CHAR): Use `XCHARSET_DECODING_TABLE'; don't use `*_to_ucs'
2856         tables.
2857         (breakup_char_1): Use `XCHARSET_TO_BYTE1_TABLE' if it is defined;
2858         don't use `ucs_to_*' tables.
2859
2860 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2861
2862         * text-coding.c (Fmake_coding_system): Don't set up
2863         `codesys->fixed.size'.
2864         (encode_coding_no_conversion): Use `if' instead of `switch'.
2865
2866         * file-coding.h (struct Lisp_Coding_System): Delete `fixed.size'.
2867
2868 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2869
2870         * mule-charset.c (make_charset): Delete argument `rep_bytes'.
2871         (Fmake_charset): Modify for `make_charset'.
2872         (Fmake_reverse_direction_charset): Likewise.
2873         (complex_vars_of_mule_charset): Likewise.
2874
2875 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2876
2877         * text-coding.c (char_encode_shift_jis): Use table
2878         `ucs_to_latin_jisx0201' and BREAKUP_CHAR.
2879
2880 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2881
2882         * text-coding.c (text_encode_generic): Use `if' instead of
2883         `switch'.
2884         (decode_coding_sjis): Use `MAKE_CHAR' and `DECODE_ADD_UCS_CHAR' to
2885         decode JIS-Latin.
2886
2887 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2888
2889         * text-coding.c (encode_coding_sjis): Deleted.
2890         (char_encode_shift_jis): New function.
2891         (char_finish_shift_jis): New function.
2892         (reset_encoding_stream): Set up `encode_char' and `finish' for
2893         `CODESYS_UCS4' and `CODESYS_SHIFT_JIS'.
2894         (mule_encode): Use generic encoder for `CODESYS_SHIFT_JIS'.
2895         (char_encode_utf8): Treat `eol_type'.
2896
2897 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2898
2899         * file-coding.c (decode_coding_iso2022): Use
2900         `DECODE_ADD_UCS_CHAR'; don't use `XCHARSET_REP_BYTES'.
2901
2902 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2903
2904         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2905         to 0.7 (Hirano).
2906
2907 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2908
2909         * char-lb.h (CHAR_COLUMNS): New macro.
2910
2911 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2912
2913         * text-coding.c (char_encode_ucs4): New function.
2914         (char_finish_ucs4): New function.
2915         (encode_coding_ucs4): Deleted.
2916         (mule_encode): Use generic encoder for `CODESYS_UCS4'.
2917         (text_encode_generic): Delete local variable `charset' and `half'.
2918         (ucs_to_mule_table): Deleted.
2919         (mule_to_ucs_table): Deleted.
2920         (Fset_ucs_char): Deleted.
2921         (ucs_to_char): Deleted.
2922         (Fucs_char): Deleted.
2923         (Fset_char_ucs): Deleted.
2924         (Fchar_ucs): Deleted.
2925         (decode_ucs4): Deleted.
2926         (mule_char_to_ucs4): Deleted.
2927         (encode_ucs4): Deleted.
2928         (decode_coding_ucs4): Use `DECODE_ADD_UCS_CHAR'.
2929         (decode_coding_utf8): Likewise.
2930         (decode_coding_iso2022): Likewise; don't use `XCHARSET_REP_BYTES'.
2931         (char_encode_iso2022): Fixed.
2932         (syms_of_file_coding): Delete `Fset_ucs_char', `Fucs_char',
2933         `Fset_char_ucs' and `Fchar_ucs'.
2934         (complex_vars_of_file_coding): Don't initialize
2935         `ucs_to_mule_table'.
2936
2937         * objects-tty.c (tty_initialize_font_instance): Don't use
2938         `XCHARSET_COLUMNS'.
2939
2940         * mule-charset.c (make_charset): Don't set up CHARSET_REP_BYTES in
2941         UTF-2000.
2942
2943         * redisplay-tty.c (tty_output_display_block): Use `CHAR_COLUMNS'
2944         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
2945
2946         * insdel.c (bufbyte_string_displayed_columns): Use `CHAR_COLUMNS'
2947         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
2948         (emchar_string_displayed_columns): Likewise.
2949
2950         * indent.c (column_at_point): Use `CHAR_COLUMNS' instead of
2951         `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
2952         (string_column_at_point): Likewise.
2953         (Fmove_to_column): Likewise.
2954
2955         * char-ucs.h (struct Lisp_Charset): Delete `rep_bytes'; add
2956         `encoding_table' and `decoding_table'.
2957         (CHARSET_REP_BYTES): Deleted.
2958         (XCHARSET_REP_BYTES): Deleted.
2959         (XCHARSET_COLUMNS): Deleted.
2960         (CHAR_COLUMNS): New macro.
2961         (lookup_composite_char): Deleted unconditionally.
2962         (composite_char_string): Likewise.
2963
2964 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2965
2966         * char-ucs.h (Emchar_to_byte_table): New type.
2967         (get_byte_from_character_table): New function interface.
2968         (Vcharset_latin_jisx0201): New variable.
2969         (latin_jisx0201_to_ucs): New variable.
2970         (ucs_to_latin_jisx0201): New variable.
2971         (Vcharset_latin_iso8859_2): New variable.
2972         (latin_iso8859_2_to_ucs): New variable.
2973         (ucs_to_latin_iso8859_2): New variable.
2974         (Vcharset_latin_iso8859_3): New variable.
2975         (latin_iso8859_3_to_ucs): New variable.
2976         (ucs_to_latin_iso8859_3): New variable.
2977         (Vcharset_latin_iso8859_4): New variable.
2978         (latin_iso8859_4_to_ucs): New variable.
2979         (ucs_to_latin_iso8859_4): New variable.
2980         (Vcharset_latin_iso8859_9): New variable.
2981         (latin_iso8859_9_to_ucs): New variable.
2982         (ucs_to_latin_iso8859_9): New variable.
2983         (Vcharset_latin_viscii_lower): New variable.
2984         (latin_viscii_lower_to_ucs): New variable.
2985         (ucs_to_latin_viscii_lower): New variable.
2986         (Vcharset_latin_viscii_upper): New variable.
2987         (latin_viscii_upper_to_ucs): New variable.
2988         (ucs_to_latin_viscii_upper): New variable.
2989         (CHARSET_ID_OFFSET_94): Changed from 0x60 to 0x55.
2990         (LEADING_BYTE_LATIN_VISCII_LOWER): New macro.
2991         (LEADING_BYTE_LATIN_VISCII_UPPER): New macro.
2992         (MAKE_CHAR): Map `latin-iso8859-2', `latin-iso8859-3',
2993         `latin-iso8859-4', `latin-iso8859-9', `latin-jisx0201',
2994         `vietnamese-viscii-lower' and `vietnamese-viscii-upper' to BMP.
2995         (breakup_char_1): Use `ucs_to_latin_iso8859_2',
2996         `ucs_to_latin_iso8859_3', `ucs_to_latin_iso8859_4',
2997         `ucs_to_latin_iso8859_9', `ucs_to_latin_viscii_lower',
2998         `ucs_to_latin_viscii_upper' and `ucs_to_latin_jisx0201' tables.
2999
3000         * mule-charset.c (Vcharset_latin_viscii_lower): New variable.
3001         (Vcharset_latin_viscii_upper): New variable.
3002         (make_byte_from_character_table): New function.
3003         (put_byte_from_character_table): New function.
3004         (get_byte_from_character_table): New function.
3005         (CHAR96): New macro.
3006         (ucs_to_latin_jisx0201): New variable.
3007         (latin_jisx0201_to_ucs): New variable.
3008         (ucs_to_latin_iso8859_2): New variable.
3009         (latin_iso8859_2_to_ucs): New variable.
3010         (ucs_to_latin_iso8859_3): New variable.
3011         (latin_iso8859_3_to_ucs): New variable.
3012         (ucs_to_latin_iso8859_4): New variable.
3013         (latin_iso8859_4_to_ucs): New variable.
3014         (ucs_to_latin_iso8859_9): New variable.
3015         (latin_iso8859_9_to_ucs): New variable.
3016         (ucs_to_latin_viscii_lower): New variable.
3017         (latin_viscii_lower_to_ucs): New variable.
3018         (ucs_to_latin_viscii_upper): New variable.
3019         (latin_viscii_upper_to_ucs): New variable.
3020         (ucs_to_latin_tcvn5712): New variable.
3021         (latin_tcvn5712_to_ucs): New variable.
3022         (Qlatin_viscii_lower): New variable.
3023         (Qlatin_viscii_upper): New variable.
3024         (syms_of_mule_charset): Set up new symbol
3025         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'.
3026         (complex_vars_of_mule_charset): Set up new charset
3027         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'; new macro
3028         `GENERATE_94_SET' and `GENERATE_96_SET'; use them to generate
3029         `ucs_to_<CHARSET>' tables.
3030
3031 1999-09-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
3032
3033         * text-coding.c: New file.
3034
3035 1999-09-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
3036
3037         * mule-charset.c (Fmake_char): Fix problem of 256-set.
3038
3039         * char-ucs.h (Vcharset_ucs_bmp): New variable.
3040         (MAKE_CHAR): Modify for `ucs-bmp'.
3041         (breakup_char_1): Return `ucs-bmp' and code point of BMP for
3042         non-MULE characters of BMP.
3043
3044 1999-09-06  MORIOKA Tomohiko  <tomo@etl.go.jp>
3045
3046         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3047         to 0.6.
3048
3049 1999-09-05  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3050
3051         * lstream.h:
3052         - Include multibyte.h instead of character.h for `BYTE_ASCII_P'.
3053         - Include character.h for `CHAR_ASCII_P'.
3054
3055         * mb-multibyte.h (CHAR_MULTIBYTE_P): Moved from mule-charset.h.
3056
3057         * mule-charset.h (CHAR_MULTIBYTE_P): Moved to mb-multibyte.h.
3058         (CHAR_ASCII_P): Don't use `CHAR_MULTIBYTE_P'.
3059
3060         * mb-multibyte.h (BYTE_ASCII_P): Moved from char-ucs.h.
3061         (BYTE_C0_P): Likewise.
3062         (BYTE_C1_P): Likewise.
3063         (Lstream_get_emchar_1): Likewise.
3064         (Lstream_fput_emchar): Likewise.
3065         (Lstream_funget_emchar): Likewise.
3066         (copy_internal_to_external): Likewise.
3067         (copy_external_to_internal): Likewise.
3068
3069         * char-ucs.h (BYTE_ASCII_P): Moved to mb-multibyte.h.
3070         (BYTE_C0_P): Likewise.
3071         (BYTE_C1_P): Likewise.
3072         (Lstream_get_emchar_1): Likewise.
3073         (Lstream_fput_emchar): Likewise.
3074         (Lstream_funget_emchar): Likewise.
3075         (copy_internal_to_external): Likewise.
3076         (copy_external_to_internal): Likewise.
3077
3078         * mb-1byte.h (BYTE_ASCII_P): Moved from buffer.h.
3079         (REP_BYTES_BY_FIRST_BYTE): Likewise.
3080
3081         * buffer.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-1byte.h.
3082         (BYTE_ASCII_P): Moved to mb-1byte.h.
3083
3084 1999-09-04  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3085
3086         * mb-utf-8.h, mb-lb.h: Include mb-multibyte.h.
3087
3088         * multibyte.h: Include mb-1byte.h in unibyte-XEmacs.
3089         (MAX_EMCHAR_LEN): Moved to mb-1byte.h.
3090         (VALID_CHARPTR_P): Moved to mb-*byte.h.
3091         (VALIDATE_CHARPTR_BACKWARD): Likewise.
3092         (VALIDATE_CHARPTR_FORWARD): Likewise.
3093         (simple_charptr_emchar): Moved to mb-multibyte.h.
3094         (simple_set_charptr_emchar): Likewise.
3095         (simple_charptr_copy_char): Likewise.
3096         (non_ascii_charptr_emchar): Likewise.
3097         (non_ascii_set_charptr_emchar): Likewise.
3098         (non_ascii_charptr_copy_char): Likewise.
3099         (charptr_emchar): Moved to mb-*byte.h.
3100         (set_charptr_emchar): Likewise.
3101         (charptr_copy_char): Likewise.
3102
3103         * mb-1byte.h, mb-multibyte.h: New files.
3104
3105 1999-09-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3106
3107         * mb-utf-8.h (MULTIBYTE): New macro.
3108         (MAX_EMCHAR_LEN): Moved from buffer.h.
3109         (REP_BYTES_BY_FIRST_BYTE): Moved from char-ucs.h.
3110
3111         * char-ucs.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-utf-8.h.
3112
3113         * mb-lb.h, multibyte.h: New files.
3114
3115         * char-1byte.h (Charset_ID): Moved from buffer.h.
3116         (MIN_LEADING_BYTE): Likewise.
3117         (LEADING_BYTE_ASCII): Likewise.
3118         (NUM_LEADING_BYTES): Likewise.
3119         (CHARSETP): Likewise.
3120         (CHARSET_BY_LEADING_BYTE): Likewise.
3121         (XCHARSET_LEADING_BYTE): Likewise.
3122         (XCHARSET_GRAPHIC): Likewise.
3123         (XCHARSET_COLUMNS): Likewise.
3124         (XCHARSET_DIMENSION): Likewise.
3125         (CHAR_CHARSET): Likewise.
3126         (CHAR_LEADING_BYTE): Likewise.
3127         (BREAKUP_CHAR): Likewise.
3128         (Vcharset_ascii): Likewise.
3129
3130         * buffer.h: Include multibyte.h unconditionally.
3131         (VALID_CHARPTR_P): Moved to multibyte.h.
3132         (ASSERT_VALID_CHARPTR): Likewise.
3133         (REAL_INC_CHARPTR): Likewise.
3134         (REAL_INC_CHARBYTIND): Likewise.
3135         (REAL_DEC_CHARPTR): Likewise.
3136         (INC_CHARPTR): Likewise.
3137         (INC_CHARBYTIND): Likewise.
3138         (DEC_CHARPTR): Likewise.
3139         (VALIDATE_CHARPTR_BACKWARD): Likewise.
3140         (VALIDATE_CHARPTR_FORWARD): Likewise.
3141         (charptr_n_addr): Likewise.
3142         (MAX_EMCHAR_LEN): Moved to mb-*.h.
3143         (simple_charptr_emchar): Moved to multibyte.h.
3144         (simple_set_charptr_emchar): Likewise.
3145         (simple_charptr_copy_char): Likewise.
3146         (non_ascii_charptr_emchar): Likewise.
3147         (non_ascii_set_charptr_emchar): Likewise.
3148         (non_ascii_charptr_copy_char): Likewise.
3149         (charptr_emchar): Likewise.
3150         (set_charptr_emchar): Likewise.
3151         (charptr_copy_char): Likewise.
3152         (charptr_emchar_n): Likewise.
3153         (Charset_ID): Moved to char-1byte.h.
3154         (Vcharset_ascii): Likewise.
3155         (CHAR_CHARSET): Likewise.
3156         (CHAR_LEADING_BYTE): Likewise.
3157         (LEADING_BYTE_ASCII): Likewise.
3158         (NUM_LEADING_BYTES): Likewise.
3159         (MIN_LEADING_BYTE): Likewise.
3160         (CHARSETP): Likewise.
3161         (CHARSET_BY_LEADING_BYTE): Likewise.
3162         (XCHARSET_LEADING_BYTE): Likewise.
3163         (XCHARSET_GRAPHIC): Likewise.
3164         (XCHARSET_COLUMNS): Likewise.
3165         (XCHARSET_DIMENSION): Likewise.
3166         (BREAKUP_CHAR): Likewise.
3167
3168 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3169
3170         * character.h: Add document about interface for characters.
3171
3172         * char-ucs.h (CHAR_ASCII_P): Modify name of argument.
3173         (MAKE_CHAR): Delete comment about
3174         `FIELD2_TO_OFFICIAL_LEADING_BYTE' and
3175         `FIELD2_TO_PRIVATE_LEADING_BYTE'.
3176         (BREAKUP_CHAR): Modify name of arguments.
3177         (CHAR_CHARSET): Modify name of argument.
3178
3179         * buffer.h: Delete document about Emchar accessors.
3180
3181 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3182
3183         * character.h (CHAR_INTP): Moved from buffer.h
3184         (CHAR_OR_CHAR_INTP): Likewise.
3185         (XCHAR_OR_CHAR_INT): Likewise.
3186         (CHECK_CHAR_COERCE_INT): Likewise.
3187
3188         * buffer.h (CHAR_INTP): Moved to character.h
3189         (CHAR_OR_CHAR_INTP): Likewise.
3190         (XCHAR_OR_CHAR_INT): Likewise.
3191         (CHECK_CHAR_COERCE_INT): Likewise.
3192
3193 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3194
3195         * character.h:
3196         - Move definitions about UCS-2000 (UCS-4) to char-ucs.h.
3197         - Include char-1byte.h, char-lb.h or char-ucs.h.
3198
3199         * mb-utf-8.h (CHAR_ASCII_P): Moved to char-ucs.h.
3200
3201         * buffer.h: Include character unconditionally.
3202         (valid_char_p): Moved to char-*.h.
3203         (non_ascii_valid_char_p): Moved to char-lb.h.
3204
3205         * char-1byte.h, char-lb.h, char-ucs.h: New files.
3206
3207 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3208
3209         * mule-ccl.c (ccl_driver): Don't define `CCL_WriteMultibyteChar2'
3210         in UTF-2000 because it is not ported yet and not to use
3211         `FIELD2_TO_OFFICIAL_LEADING_BYTE', `MIN_LEADING_BYTE_OFFICIAL_2',
3212         `FIELD1_TO_OFFICIAL_LEADING_BYTE' and
3213         `FIELD1_TO_PRIVATE_LEADING_BYTE'.
3214
3215         * mb-utf-8.h (CHAR_MULTIBYTE_P): Moved from character.h.
3216         (CHAR_ASCII_P): Moved from character.h.
3217
3218         * character.h (CHAR_MULTIBYTE_P): Moved to mb-utf-8.h.
3219         (CHAR_ASCII_P): Likewise.
3220         (CHAR_FIELD1_MASK): Deleted.
3221         (CHAR_FIELD2_MASK): Deleted.
3222         (CHAR_FIELD3_MASK): Deleted.
3223         (MAX_CHAR_BASIC_LATIN): New macro.
3224         (CHAR_FIELD1): Deleted.
3225         (CHAR_FIELD2_INTERNAL): Deleted.
3226         (CHAR_FIELD3_INTERNAL): Deleted.
3227         (FIELD1_TO_PRIVATE_LEADING_BYTE): Deleted.
3228         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Deleted.
3229         (FIELD2_TO_PRIVATE_LEADING_BYTE): Deleted.
3230         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Deleted.
3231         (MIN_CHAR_FIELD1_OFFICIAL): Deleted.
3232         (MAX_CHAR_FIELD1_OFFICIAL): Deleted.
3233         (MIN_CHAR_FIELD2_PRIVATE): Deleted.
3234         (MAX_CHAR_FIELD2_PRIVATE): Deleted.
3235         (MIN_CHAR_FIELD1_PRIVATE): Deleted.
3236         (MAX_CHAR_FIELD1_PRIVATE): Deleted.
3237         (MULE_CHAR_PRIVATE_OFFSET): Deleted.
3238         (MIN_CHAR_PRIVATE_TYPE9N): Deleted.
3239         (MAX_CHAR_PRIVATE_TYPE9N): Deleted.
3240         (MIN_CHAR_PRIVATE_TYPE9NX9N): Deleted.
3241         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Deleted.
3242         (MIN_CHAR_COMPOSITION): Deleted.
3243         (breakup_char_1): Use `MAX_CHAR_BASIC_LATIN' instead of
3244         `CHAR_ASCII_P'; use `0x7f' instead of `CHAR_FIELD3_INTERNAL'.
3245
3246 1999-09-02  MORIOKA Tomohiko  <tomo@m17n.org>
3247
3248         * buffer.h: Include mb-utf-8.h in UTF-2000.
3249
3250         * character.h (BUFBYTE_FIRST_BYTE_P): Moved to mb-utf-8.h.
3251
3252         * mb-utf-8.h: New file.
3253
3254 1999-09-02  MORIOKA Tomohiko  <tomo@etl.go.jp>
3255
3256         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use `Charset_ID'
3257         instead of `int'.
3258
3259         * mule-charset.h, buffer.h (Charset_ID): New type.
3260
3261 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
3262
3263         * mule-canna.c (c2mu): Use `MAKE_CHAR',
3264         `Vcharset_japanese_jisx0212' and `Vcharset_japanese_jisx0208'
3265         instead of `MULE_CHAR_PRIVATE_OFFSET',
3266         `LEADING_BYTE_JAPANESE_JISX0212', `LEADING_BYTE_JAPANESE_JISX0208'
3267         and `FIELD1_TO_OFFICIAL_LEADING_BYTE'.
3268         (m2c): Use `BREAKUP_CHAR' and `XCHARSET_FINAL'.
3269
3270         * character.h (Vcharset_japanese_jisx0212): New variable
3271         definition.
3272
3273 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
3274
3275         * mule-charset.c (Vcharset_ucs_bmp): New variable in UTF-2000.
3276         (charset_by_attributes): Delete array about direction.
3277         (latin_a_char_to_charset): New variable in UTF-2000.
3278         (latin_a_char_to_byte1): New variable in UTF-2000.
3279         (latin_a_char_to_byte2): New variable in UTF-2000.
3280         (Qucs_bmp): New variable.
3281         (next_allocated_1_byte_leading_byte): Use `Charset_ID' instead of
3282         `Bufbyte'.
3283         (next_allocated_2_byte_leading_byte): Likewise.
3284         (non_ascii_set_charptr_emchar): Likewise.
3285         (make_charset): Likewise; add `CHARSET_TYPE_128X128' and
3286         `CHARSET_TYPE_256X256' in UTF-2000; modify for
3287         `charset_by_attributes'.
3288         (get_unallocated_leading_byte): Use `Charset_ID' instead of `int'.
3289         (char-charset): Use `CHAR_CHARSET' instead of `CHAR_LEADING_BYTE'
3290         and `CHARSET_BY_LEADING_BYTE'.
3291         (syms_of_mule_charset): Set up `ucs-bmp'; move setting of
3292         `utf-2000-version' to `vars_of_mule_charset'.
3293         (vars_of_mule_charset): Modify for `charset_by_attributes'; don't
3294         define `leading-code-private-11' in UTF-2000; move setting of
3295         `utf-2000-version' from `syms_of_mule_charset'.
3296         (complex_vars_of_mule_charset): Set up charset `ucs-bmp' in
3297         UTF-2000.
3298
3299         * character.h (Charset_ID): New type.
3300         (LEADING_BYTE_UCS_BMP): New macro.
3301         (LEADING_BYTE_CONTROL_1): Changed from 0x8F to 0x81.
3302         (CHARSET_ID_OFFSET_94): New macro.
3303         (MIN_CHARSET_ID_PRIVATE_94): New macro.
3304         (MAX_CHARSET_ID_PRIVATE_94): New macro.
3305         (LEADING_BYTE_ASCII): Changed to use CHARSET_ID_OFFSET_94 and
3306         final-byte.
3307         (LEADING_BYTE_KATAKANA_JISX0201): Likewise.
3308         (LEADING_BYTE_LATIN_JISX0201): Likewise.
3309         (CHARSET_ID_OFFSET_96): New macro.
3310         (LEADING_BYTE_LATIN_ISO8859_1): Changed to use
3311         CHARSET_ID_OFFSET_96 and final-byte.
3312         (LEADING_BYTE_LATIN_ISO8859_2): Likewise.
3313         (LEADING_BYTE_LATIN_ISO8859_3): Likewise.
3314         (LEADING_BYTE_LATIN_ISO8859_4): Likewise.
3315         (LEADING_BYTE_GREEK_ISO8859_7): Likewise.
3316         (LEADING_BYTE_ARABIC_ISO8859_6): Likewise.
3317         (LEADING_BYTE_HEBREW_ISO8859_8): Likewise.
3318         (LEADING_BYTE_CYRILLIC_ISO8859_5): Likewise.
3319         (LEADING_BYTE_LATIN_ISO8859_9): Likewise.
3320         (LEADING_BYTE_THAI_TIS620): Likewise.
3321         (MIN_LEADING_BYTE_PRIVATE_1): Changed from 0x0D0 to 0xD0.
3322         (MAX_LEADING_BYTE_PRIVATE_1): Changed from 0x11f to 0xDF.
3323         (CHARSET_ID_OFFSET_94x94): New macro.
3324         (LEADING_BYTE_CHINESE_BIG5_1): Changed to use
3325         CHARSET_ID_OFFSET_94x94 and final-byte.
3326         (LEADING_BYTE_CHINESE_BIG5_2): Likewise.
3327         (MIN_LEADING_BYTE_PRIVATE_2): Likewise.
3328         (MAX_LEADING_BYTE_PRIVATE_2): Likewise.
3329         (LEADING_BYTE_JAPANESE_JISX0208_1978): Likewise.
3330         (LEADING_BYTE_CHINESE_GB2312): Likewise.
3331         (LEADING_BYTE_JAPANESE_JISX0208): Likewise.
3332         (LEADING_BYTE_KOREAN_KSC5601): Likewise.
3333         (LEADING_BYTE_JAPANESE_JISX0212): Likewise.
3334         (LEADING_BYTE_CHINESE_CCITT_GB): Likewise.
3335         (LEADING_BYTE_CHINESE_CNS11643_*): Likewise.
3336         (LEADING_BYTE_KOREAN_KPS9566): Likewise.
3337         (CHARSET_TYPE_128X128): New macro.
3338         (CHARSET_TYPE_256X256): New macro.
3339         (XCHARSET_PRIVATE_P): Delete unconditionally.
3340         (charset_by_attributes): Delete array about direction.
3341         (CHARSET_BY_LEADING_BYTE): Use `Charset_ID' instead of `int'.
3342         (CHARSET_BY_ATTRIBUTES): Modify for `charset_by_attributes'.
3343         (MIN_CHAR_94): New macro.
3344         (MAX_CHAR_94): New macro.
3345         (MIN_CHAR_96): New macro.
3346         (MAX_CHAR_96): New macro.
3347         (MIN_CHAR_94x94): New macro.
3348         (MAX_CHAR_94x94): New macro.
3349         (MIN_CHAR_96x96): New macro.
3350         (MAX_CHAR_96x96): New macro.
3351         (FIELD1_TO_PRIVATE_LEADING_BYTE): Use `CHARSET_ID_OFFSET_94x94'.
3352         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
3353         (FIELD2_TO_PRIVATE_LEADING_BYTE): Use `(MIN_LEADING_BYTE_PRIVATE_1
3354         - 32)'.
3355         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Use `LEADING_BYTE_ASCII'.
3356         (MIN_CHAR_FIELD2_OFFICIAL): Deleted.
3357         (MAX_CHAR_FIELD2_OFFICIAL): Deleted.
3358         (MIN_CHAR_OFFICIAL_TYPE9N): Deleted.
3359         (MAX_CHAR_PRIVATE_TYPE9N): Changed.
3360         (MAKE_CHAR): Use `XCHARSET_FINAL' instead of
3361         `XCHARSET_LEADING_BYTE' to make code-point.
3362         (latin_a_char_to_charset): New variable.
3363         (latin_a_char_to_byte1): New variable.
3364         (latin_a_char_to_byte2): New variable.
3365         (breakup_char_1): Use `latin_a_char_to_{charset|byte1|byte2}' for
3366         Latin Extended-A; use `CHARSET_BY_ATTRIBUTES' instead of
3367         `CHARSET_BY_LEADING_BYTE' to get charset for ISO-2022 characters.
3368
3369         * insdel.c (find_charsets_in_bufbyte_string): Use `Charset_ID'
3370         instead of `unsigned char'; use `MIN_LEADING_BYTE' instead of 128.
3371         (find_charsets_in_emchar_string): Likewise.
3372         (vars_of_insdel): Don't define local variable `i' in UTF-2000.
3373
3374         * file-coding.c (Fdecode_big5_char): Use `Charset_ID' instead of
3375         `int'.
3376         (decode_coding_iso2022): Likewise.
3377
3378         * toolbar-x.c (x_output_toolbar_button): Use `Charset_ID' instead
3379         of `unsigned char'.
3380
3381         * redisplay.c (redisplay_text_width_emchar_string): Use
3382         `Charset_ID' instead of `unsigned char'.
3383         (redisplay_frame_text_width_string): Likewise.
3384
3385         * glyphs.c (glyph_height_internal): Use `Charset_ID' instead of
3386         `unsigned char'.
3387
3388         * faces.h, faces.c (ensure_face_cachel_complete): Use `Charset_ID'
3389         instead of `unsigned char'.
3390         (face_cachel_charset_font_metric_info): Likewise.
3391
3392         * chartab.c (print_char_table): Use `Charset_ID' instead of `int'.
3393         (get_non_ascii_char_table_value): Likewise.
3394         (get_char_table): Likewise.
3395         (put_char_table): Likewise.
3396         (map_over_other_charset): Likewise.
3397         (map_char_table): Likewise.
3398
3399         * buffer.h (find_charsets_in_bufbyte_string): Use `Charset_ID'
3400         instead of `unsigned char'.
3401
3402 1999-08-31  MORIOKA Tomohiko  <tomo@etl.go.jp>
3403
3404         * character.h (PRE_LEADING_BYTE_PRIVATE_1): Deleted.
3405         (PRE_LEADING_BYTE_PRIVATE_2): Deleted.
3406
3407         * mule-charset.c (leading_code_private_11): Don't define in
3408         UTF-2000.
3409
3410         * mule-ccl.c (ccl_driver): Don't define `CCL_ReadMultibyteChar2'
3411         in UTF-2000 because it is not ported yet and not to use
3412         `PRE_LEADING_BYTE_PRIVATE_1' and `PRE_LEADING_BYTE_PRIVATE_2'.
3413
3414 1999-08-30  MORIOKA Tomohiko  <tomo@etl.go.jp>
3415
3416         * character.h (LEADING_BYTE_COMPOSITE): Deleted.
3417
3418 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3419
3420         * regex.c (re_compile_fastmap): Don't use `LEADING_BYTE_PREFIX_P'
3421         in UTF-2000.
3422
3423         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use int instead
3424         of unsigned char to store leading-byte.
3425
3426         * chartab.c (get_non_ascii_char_table_value): Don't use
3427         `BREAKUP_CHAR_1_UNSAFE' in UTF-2000.
3428
3429         * file-coding.c (encode_coding_big5): Delete bogus implementation
3430         in UTF2000.
3431
3432         * character.h (LEADING_BYTE_*): Delete definition for
3433         non-UTF-2000.
3434         (LEADING_BYTE_PRIVATE_P): Deleted unconditionally.
3435         (LEADING_BYTE_PREFIX_P): Deleted.
3436         (PRIVATE_LEADING_BYTE_PREFIX): Deleted.
3437         (BUFBYTE_FIRST_BYTE_P): Delete definition for non-UTF-2000.
3438         (BUFBYTE_LEADING_BYTE_P): Deleted.
3439         (CHARSET_PRIVATE_P): Deleted unconditionally.
3440         (rep_bytes_by_first_byte): Deleted unconditionally.
3441         (REP_BYTES_BY_FIRST_BYTE): Delete definition for non-UTF-2000.
3442         (FIELD1_TO_PRIVATE_LEADING_BYTE): Likewise.
3443         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
3444         (FIELD2_TO_PRIVATE_LEADING_BYTE): Likewise.
3445         (CHAR_FIELD2): Deleted.
3446         (CHAR_FIELD3): Deleted.
3447         (MAKE_CHAR): Delete definition for non-UTF-2000.
3448         (BREAKUP_CHAR_1_UNSAFE): Deleted.
3449         (breakup_char_1): New implementation.
3450         (CHAR_CHARSET): Use `BREAKUP_CHAR'.
3451         (CHAR_LEADING_BYTE): Use `CHAR_CHARSET'.
3452
3453 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3454
3455         * character.h (REP_BYTES_BY_FIRST_BYTE): Change order of
3456         condition.
3457
3458 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3459
3460         * character.h (LEADING_BYTE_PRIVATE_P): Don't define in UTF2000.
3461         (CHARSET_PRIVATE_P): Likewise.
3462         (XCHARSET_PRIVATE_P): Likewise.
3463         (MAKE_CHAR): Don't use XCHARSET_PRIVATE_P in UTF2000.
3464
3465         * file-coding.c (encode_coding_ucs4): Delete bogus implement in
3466         UTF2000.
3467         (decode_coding_iso2022): Don't use XCHARSET_PRIVATE_P in UTF2000.
3468
3469 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3470
3471         * character.h (LEADING_BYTE_*): Changed in UTF2000.
3472         (NUM_LEADING_BYTES): Changed from 128 to 256.
3473         (FIELD1_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
3474         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Change value to 0x80 in
3475         UTF2000.
3476         (FIELD2_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
3477
3478         * mule-charset.c (Vcharset_chinese_cns11643_3): New variable in
3479         UTF2000.
3480         (Vcharset_chinese_cns11643_4): New variable in UTF2000.
3481         (Vcharset_chinese_cns11643_5): New variable in UTF2000.
3482         (Vcharset_chinese_cns11643_6): New variable in UTF2000.
3483         (Vcharset_chinese_cns11643_7): New variable in UTF2000.
3484         (Qchinese_cns11643_3): New variable in UTF2000.
3485         (Qchinese_cns11643_4): New variable in UTF2000.
3486         (Qchinese_cns11643_5): New variable in UTF2000.
3487         (Qchinese_cns11643_6): New variable in UTF2000.
3488         (Qchinese_cns11643_7): New variable in UTF2000.
3489         (syms_of_mule_charset): Define `chinese-cns11643-3',
3490         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
3491         and `chinese-cns11643-7' in UTF2000.
3492         (vars_of_mule_charset): Initialize
3493         next_allocated_2_byte_leading_byte by LEADING_BYTE_CHINESE_BIG5_2
3494         + 1 in UTF2000.
3495         (complex_vars_of_mule_charset): Setup charset
3496         `chinese-cns11643-3', `chinese-cns11643-4', `chinese-cns11643-5',
3497         `chinese-cns11643-6' and `chinese-cns11643-7' in UTF2000.
3498
3499 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3500
3501         * mule-charset.c: Move setting for `leading-code-private-11' from
3502         `syms_of_mule_charset' to `vars_of_mule_charset'.
3503
3504 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3505
3506         * mule-charset.h (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE'
3507         and `NUM_LEADING_BYTES' in assert.
3508
3509 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3510
3511         * character.h (charset_by_leading_byte): Use `NUM_LEADING_BYTES'
3512         instead of 128.
3513         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' and
3514         `NUM_LEADING_BYTES' instead of 128.
3515
3516 1999-08-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
3517
3518         * mule-charset.h (charset_by_leading_byte): Use
3519         `NUM_LEADING_BYTES' instead of 128.
3520         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' instead of 128.
3521
3522         * mule-charset.c (charset_by_leading_byte): Use
3523         `NUM_LEADING_BYTES' instead of 128.
3524         (make_charset): Use `MIN_LEADING_BYTE' instead of 128.
3525
3526         * faces.h (FACE_CACHEL_FONT): Use `MIN_LEADING_BYTE' instead of
3527         128.
3528
3529 1999-08-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
3530
3531         * mule-charset.c (syms_of_mule_charset): Update to
3532         0.4 (Shin-Imamiya).
3533
3534 1999-07-13 Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
3535
3536         * file-coding.c (encode_coding_sjis): New implementation for
3537         UTF2000.  (decode_coding_sjis): Ditto.
3538
3539 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
3540
3541         * mule-charset.c, character.h (Bytecount rep_bytes_by_first_byte):
3542         Don't define in UTF2000.
3543
3544         * character.h: Include mule-charset.h if CHAR_IS_UCS4 is not
3545         defined.
3546
3547         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
3548         mule-ccl.c, lstream.h, buffer.h: Include character.h in every
3549         MULE.
3550
3551 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
3552
3553         * config.h.in (CHAR_IS_UCS4): New macro.
3554
3555         * mule-charset.c (rep_bytes_by_first_byte): Modify for
3556         conventional MULE representation.
3557         (syms_of_mule_charset): Update to 0.3 (Imamiya).
3558
3559         * mule-charset.h: Reverted to original.
3560
3561         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
3562         mule-ccl.c, lstream.h, buffer.h: Use "character.h" instead of
3563         "mule-charset.h" if CHAR_IS_UCS4 is defined.
3564
3565         * character.h: New file.
3566
3567         * file-coding.c (Fmake_coding_system): Set 1 to
3568         `codesys->fixed.size' if TYPE is `no-conversion' and UTF2000 is
3569         defined.
3570         (encode_coding_no_conversion): New implementation for UTF2000.
3571
3572         * file-coding.h (struct Lisp_Coding_System): Add new member
3573         `fixed.size'.
3574
3575 1999-06-16  MORIOKA Tomohiko  <tomo@etl.go.jp>
3576
3577         * file-coding.c (decode_coding_iso2022): Code-point arguments of
3578         `MAKE_CHAR' must be smaller than 0x80 in UTF2000.
3579         (encode_coding_iso2022): New implementation for UTF2000.
3580
3581 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3582
3583         * mule-canna.c (c2mu): New implementation for UTF2000.
3584         (m2c): Likewise.
3585
3586 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3587
3588         * file-coding.c (encode_coding_no_conversion): Modify for UTF2000.
3589
3590 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3591
3592         * file-coding.c (reset_encoding_stream): Set 0 to
3593         `str->iso2022.current_char_boundary' in UTF2000.
3594         (encode_utf8): Don't define in UTF2000.
3595         (encode_coding_utf8): New implementation for UTF-8 representation
3596         of UTF2000.
3597         (complex_vars_of_file_coding): Define coding-system `utf-8'.
3598
3599 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3600
3601         * mule.c (vars_of_mule): Provide `utf-2000' in UTF2000.
3602
3603         * mule-charset.h (BUFBYTE_FIRST_BYTE_P): Modify for UTF-8 in
3604         UTF2000.
3605         (REP_BYTES_BY_FIRST_BYTE): Likewise.
3606
3607         * buffer.h (non_ascii_valid_char_p): Don't define in UTF2000.
3608
3609         * mule-charset.c (non_ascii_set_charptr_emchar): Don't define
3610         local variables `lb', `c1', `c2' and `charset' in UTF2000; encode
3611         as UTF-8 in UTF2000.
3612         (non_ascii_charptr_emchar): Decode as UTF-8 in UTF2000.
3613         (non_ascii_valid_char_p): Don't define in UTF2000.
3614         (non_ascii_charptr_copy_char): Add case 5 and 6 in UTF2000.
3615         (Lstream_get_emchar_1): Likewise.
3616         (utf-2000-version): New variable in UTF2000.
3617
3618         * lread.c (read_escape): Add new reader `u'.
3619
3620         * insdel.c (three_to_one_table): Don't define in UTF2000.
3621         (bufpos_to_bytind_func): Use `buf->text->mule_size' instead of
3622         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
3623         UTF2000.
3624         (bytind_to_bufpos_func): Likewise.
3625         (buffer_mule_signal_inserted_region): Likewise.
3626         (vars_of_insdel): Don't initialize `three_to_one_table'.
3627         (init_buffer_text): Use `buf->text->mule_size' instead of
3628         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
3629         UTF2000.
3630
3631         * file-coding.c (DECODE_ADD_BINARY_CHAR): New implementation for
3632         UTF-8 representation in UTF2000.
3633         (DECODE_ADD_UCS_CHAR): New macro in UTF2000.
3634         (decode_ucs4): Use `DECODE_ADD_UCS_CHAR' in UTF2000.
3635         (decode_coding_iso2022): Don't define local variable `lb' in
3636         UTF2000; don't use LEADING_BYTE in UTF2000; use
3637         `DECODE_ADD_UCS_CHAR' in UTF2000.
3638         (convert_to_external_format): Decode as UTF-8 in UTF2000.
3639
3640         * config.h.in (UTF2000): New macro.
3641
3642         * buffer.h (struct buffer_text): Add new member `mule_size' and
3643         don't add `mule_shifter' and `mule_three_p' in UTF2000.
3644         (valid_char_p): Return always 1 in UTF2000.
3645         (MAX_EMCHAR_LEN): 6 in UTF2000.
3646         (three_to_one_table): Don't define in UTF2000.
3647         (real_bufpos_to_bytind): Modify for UTF-8 representation in
3648         UTF2000.
3649         (real_bytind_to_bufpos): Likewise.
3650
3651         * alloc.c (Fmake_string): Add case 5 and 6 for UTF2000.
3652
3653 1999-06-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3654
3655         * mule-charset.c (rep_bytes_by_first_byte): Modified for character
3656         representation change.
3657         (Vutf_2000_version): New variable.
3658         (leading_code_private_11): New variable.
3659         (syms_of_mule_charset): Add new variables `utf-2000-version' and
3660         `leading-code-private-11'.
3661
3662         * mule-charset.h (LEADING_BYTE_CHINESE_CCITT_GB): New macro.
3663         (LEADING_BYTE_CHINESE_BIG5_1): Changed to 0x96 temporally.
3664         (LEADING_BYTE_CHINESE_CNS11643_1): Changed to 0x97.
3665         (LEADING_BYTE_CHINESE_CNS11643_2): Changed to 0x98.
3666         (LEADING_BYTE_CHINESE_CNS11643_3): New macro.
3667         (LEADING_BYTE_CHINESE_CNS11643_4): Likewise.
3668         (LEADING_BYTE_CHINESE_CNS11643_5): Likewise.
3669         (LEADING_BYTE_CHINESE_CNS11643_6): Likewise.
3670         (LEADING_BYTE_CHINESE_CNS11643_7): Likewise [but not used].
3671         (LEADING_BYTE_CHINESE_BIG5_2): Changed to 0x9D temporally.
3672         (LEADING_BYTE_KOREAN_KPS9566): New macro [but not used].
3673         (CHAR_FIELD1_MASK): Changed to (0x7F << 14).
3674         (MIN_CHAR_GREEK): New macro.
3675         (MAX_CHAR_GREEK): New macro.
3676         (MIN_CHAR_CYRILLIC): New macro.
3677         (MAX_CHAR_CYRILLIC): New macro.
3678         (MIN_CHAR_HEBREW): New macro.
3679         (MAX_CHAR_HEBREW): New macro.
3680         (MIN_CHAR_THAI): New macro.
3681         (MAX_CHAR_THAI): New macro.
3682         (MIN_CHAR_HALFWIDTH_KATAKANA): New macro.
3683         (MAX_CHAR_HALFWIDTH_KATAKANA): New macro.
3684         (CHAR_FIELD2_INTERNAL): New macro [renamed from `CHAR_FIELD2'.
3685         (CHAR_FIELD3_INTERNAL): New macro [renamed from `CHAR_FIELD3'.
3686         (FIELD1_TO_PRIVATE_LEADING_BYTE): Changed to 0xc0.
3687         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Changed to 0x50.
3688         (CHAR_FIELD2): New inline function.
3689         (CHAR_FIELD3): New inline function.
3690         (MULE_CHAR_PRIVATE_OFFSET): New macro.
3691         (MIN_CHAR_OFFICIAL_TYPE9N): Shifted to `MULE_CHAR_PRIVATE_OFFSET'.
3692         (MIN_CHAR_PRIVATE_TYPE9N): Likewise.
3693         (MIN_CHAR_PRIVATE_TYPE9NX9N): Likewise.
3694         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Likewise.
3695         (MIN_CHAR_COMPOSITION): Likewise.
3696         (CHAR_LEADING_BYTE): Modified for character representation change.
3697         (MAKE_CHAR): Likewise.
3698
3699         * lisp.h (Vcharset_latin_iso8859_1): New variable.
3700         (Vcharset_greek_iso8859_7): Likewise.
3701         (Vcharset_cyrillic_iso8859_5): Likewise.
3702         (Vcharset_hebrew_iso8859_8): Likewise.
3703         (Vcharset_thai_tis620): Likewise.
3704         (Vcharset_katakana_jisx0201): Likewise.
3705
3706 2001-02-08  Martin Buchholz <martin@xemacs.org>
3707
3708         * XEmacs 21.2.44 "Thalia" is released.
3709
3710 2001-02-06  Martin Buchholz  <martin@xemacs.org>
3711
3712         Fixes crashes in kill-emacs on some systems.
3713         * process-unix.c (unix_kill_child_process):
3714         It's OK for kill() to fail with ESRCH.
3715
3716 2001-02-07  Martin Buchholz  <martin@xemacs.org>
3717
3718         Contortions to make .gdbinit tricks work on most systems.
3719         * alloc.c (dbg_inhibit_dbg_symbol_deletion): Keep debugger info.
3720         * alloc.c (dbg_valmask): Make non-const.
3721         * alloc.c (dbg_typemask): Make non-const.
3722         * alloc.c (dbg_USE_UNION_TYPE): Make non-const.
3723         * alloc.c (dbg_valbits): Make non-const.
3724         * alloc.c (dbg_gctypebits): Make non-const.
3725         * .gdbinit (decode_object): Make it work with AIX cc.
3726
3727 2001-02-06  Martin Buchholz  <martin@xemacs.org>
3728
3729         * elhash.c (make_general_lisp_hash_table):
3730         Use simpler and more efficient calloc to clear entries.
3731
3732 2001-02-07  Martin Buchholz  <martin@xemacs.org>
3733
3734         * window.c (window_scroll): Work around an AIX C compiler bug.
3735         Fixes 'scroll-up' does nothing problem with xlC.
3736
3737 2001-02-05  Martin Buchholz  <martin@xemacs.org>
3738
3739         * .gdbinit: Remove obsolete comment.
3740
3741 2001-01-31  Mike Alexander  <mta@arbortext.com>
3742
3743         * select.c (Fown_selection_internal): Set owned_p for device
3744         method correctly.
3745
3746 2001-02-01  Martin Buchholz  <martin@xemacs.org>
3747
3748         Port to g++ 2.97.
3749         "not" cannot be used as a macro name as it is an operator in C++
3750         * config.h.in: Stop #defining `not'.
3751         * chartab.c (check_category_char): not ==> not_p
3752         * chartab.h: Likewise.
3753         * regex.c (re_match_2_internal): Likewise.
3754
3755 2001-02-02  Martin Buchholz  <martin@xemacs.org>
3756
3757         * lisp-disunion.h: Fix up comments.
3758
3759 2001-01-31  Martin Buchholz  <martin@xemacs.org>
3760
3761         * keymap.c (define_key_check_and_coerce_keysym):
3762         (syms_of_keymap):
3763         Support mouse-6 and mouse-7 bindings in the obvious way.
3764
3765 2001-02-01  Martin Buchholz  <martin@xemacs.org>
3766
3767         * m/hp9000s300.h (UNEXEC): Check for HPUX, not !BSD.
3768
3769 2001-01-30  Martin Buchholz  <martin@xemacs.org>
3770
3771         Previous patch changing DEFVAR_INT to use EMACS_INT was incomplete.
3772         Previous patch missed DEFVAR_INT_MAGIC.
3773         Make sure future DEFVAR_foo use correct types.
3774         * symeval.h (DEFVAR_SYMVAL_FWD_FIXNUM): New.
3775         * (DEFVAR_SYMVAL_FWD_INT): Add type checking.
3776         * (DEFVAR_SYMVAL_FWD_OBJECT): Add type checking.
3777         * (DEFVAR_INT_MAGIC): Use DEFVAR_SYMVAL_FWD_FIXNUM.
3778         * (DEFVAR_INT): Likewise.
3779         * redisplay.c (vertical_clip): Should be of type Fixnum.
3780         * redisplay.c (horizontal_clip): Likewise.
3781         * lisp.h (dump_add_opaque_int): New.
3782         (dump_add_opaque_fixnum): New.
3783
3784 2001-01-29  Andy Piper  <andy@xemacs.org>
3785
3786         * glyphs-widget.c (check_valid_int_or_function): allow symbols
3787         since they can be eval'ed
3788
3789 2001-01-29  Martin Buchholz  <martin@xemacs.org>
3790
3791         * lisp.h (ALIGNOF): Make it work on non-gcc C++ compilers.
3792         Oops, XEmacs redefines `class'.  Use `typename' instead.
3793
3794 2001-01-28  Martin Buchholz  <martin@xemacs.org>
3795
3796         * dumper.c: Fix C++ compile errors.
3797
3798 2001-01-29  Martin Buchholz  <martin@xemacs.org>
3799
3800         * tparam.c: Use correct prototypes.
3801
3802 2001-01-28  Martin Buchholz  <martin@xemacs.org>
3803
3804         * sysproc.h: #include util.h for NetBSD's openpty.
3805
3806 2001-01-27  Martin Buchholz  <martin@xemacs.org>
3807
3808         More 64-bit correctness.
3809         The C value of a DEFVAR_INT should be of type EMACS_INT, not int.
3810         Use a typedef `fixnum' for the type used for DEFVAR_INT.
3811         Fix up comments.
3812         This finally finishes the 64-bit SGI port.
3813         Fixes things like (let ((gc-cons-threshold most-positive-fixnum)) ...).
3814         * symbols.c: Fix up comments and type casts.
3815         * symbols.c (do_symval_forwarding): s/int/Fixnum/g
3816         * symbols.c (store_symval_forwarding): s/int/Fixnum/g
3817         * symeval.h (Fixnum): New type.
3818         * symeval.h (symbol_value_type): Fix up comment.
3819
3820         * commands.h:
3821         * nt.c:
3822         * emacs.c:
3823         * data.c:
3824         * redisplay.c:
3825         * abbrev.c:
3826         * dired-msw.c:
3827         * event-Xt.c:
3828         * eldap.c:
3829         * window.c:
3830         * sound.c:
3831         * event-stream.c:
3832         * eval.c:
3833         * buffer.c:
3834         * mule-canna.c: A million DEFVAR_INTs here...
3835         * mule-canna.c (count_char): s/int */Fixnum */g in arglist.
3836         * extents.c:
3837         * cmdloop.c:
3838         * lisp.h:
3839         * select-x.c:
3840         * console-x.h:
3841         * event-msw.c:
3842         * mule-wnnfns.c:
3843         * hpplay.c:
3844         * ralloc.c:
3845         * alloc.c:
3846         * keymap.c:
3847         * profile.c:
3848         s/int/Fixnum/g in DEFVAR_INT declarations.
3849
3850 2001-01-26  Martin Buchholz  <martin@xemacs.org>
3851
3852         Port pdump to SGI alignment-sensitive environment.
3853         Lisp Object sizeof methods now return aligned sizes.  Rely on that.
3854         Eliminate is_lrecord since Lisp_Objects sizeof methods are now all
3855         properly aligned.
3856         Define and use aligned reading and writing macros.
3857         Use buffered stdio instead of posix i/o for faster dumping.
3858         Eliminate kludgy 256 byte space for header.
3859         Read and write from dump file using structs for alignment safety.
3860         * dumper.c (pdump_align_stream): New.
3861         * dumper.c (PDUMP_ALIGN_OUTPUT): New.
3862         * dumper.c (PDUMP_READ_ALIGNED): New.
3863         * dumper.c (PDUMP_WRITE_ALIGNED): New.
3864         * dumper.c (pdump_static_Lisp_Object): New struct.
3865         * dumper.c (pdump_static_pointer): New struct.
3866         * dumper.c (pdump_entry_list_element): Remove is_lrecord member.
3867         * dumper.c (pdump_add_entry): Remove is_lrecord parameter.
3868         * dumper.c (pdump_dump_data): Rely on sizeof method alignment.
3869         * dumper.c (pdump_allocate_offset): Rely on sizeof method alignment.
3870
3871         * dumper.c (pdump_backtrace):
3872         * dumper.c (pdump_get_indirect_count):
3873         * dumper.c (pdump_register_object):
3874         * dumper.c (pdump_register_struct):
3875         * dumper.c (pdump_reloc_one):
3876         * dumper.c (pdump_scan_by_alignment):
3877         * dumper.c (pdump_dump_from_root_struct_ptrs):
3878         * dumper.c (pdump_dump_opaques):
3879         * dumper.c (pdump_dump_rtables):
3880         * dumper.c (pdump_dump_from_root_objects):
3881         * dumper.c (pdump):
3882         * dumper.c (pdump_load_finish):
3883         Use aligned reading and writing.
3884
3885         * dumper.c (pdump_free): Make static.
3886         * dumper.c (pdump_hFile): Likewise.
3887         * dumper.c (pdump_hMap): Likewise.
3888
3889 2001-01-26  Martin Buchholz <martin@xemacs.org>
3890
3891         * XEmacs 21.2.43 "Terspichore" is released.
3892
3893 2001-01-25  Martin Buchholz  <martin@xemacs.org>
3894
3895         Type fiddling for window_config.saved_windows_count
3896         * window.c (struct window_config): 
3897         Make saved_windows_count member unsigned.
3898         * window.c (sizeof_window_config_for_n_windows): 
3899         Make parameter unsigned.
3900         * window.c (mark_window_config):
3901         * window.c (window_config_equal):
3902         * window.c (free_window_configuration):
3903         * window.c (Fset_window_configuration):
3904         * window.c (count_windows):
3905         * window.c (Fcurrent_window_configuration):
3906         * window.c (reinit_vars_of_window):
3907         Update all callers and users.
3908
3909 2001-01-25  Martin Buchholz  <martin@xemacs.org>
3910
3911         Alignment correctness for flexible arrays.
3912         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF):
3913         Make alignment-correct. Add interesting comments.
3914         * alloc.c (size_vector):
3915         * alloc.c (make_vector_internal):
3916         * alloc.c (make_bit_vector_internal):
3917         * alloc.c (sweep_bit_vectors_1):
3918         * fns.c (size_bit_vector):
3919         Update all callers of FLEXIBLE_ARRAY_STRUCT_SIZEOF to add new arg.
3920         * window.c (sizeof_window_config_for_n_windows): 
3921         Use FLEXIBLE_ARRAY_STRUCT_SIZEOF.
3922
3923 2001-01-24  Martin Buchholz  <martin@xemacs.org>
3924
3925         * lread.c (read1): Rename `fexp', which is #defined in SGI's math.h
3926
3927 2001-01-23  Andy Piper  <andy@xemacs.org>
3928
3929         * select.c (Fown_selection_internal): pass owned_p
3930
3931         * select-msw.c (mswindows_own_selection): New Signature.
3932
3933         * console.h (struct console_methods): add owned_p to
3934         _own_selection.
3935
3936         * select-x.c (x_own_selection): pass owned_p
3937         (hack_motif_clipboard_selection): use owned_p
3938         (vars_of_select_x): new variable -
3939         x_selection_strict_motif_ownership.
3940
3941 2001-01-23  Martin Buchholz  <martin@xemacs.org>
3942
3943         * specifier.h (specifier_data_offset): Remove pointless parens.
3944         * glyphs.h (IMAGE_SPECIFIER_DATA): Likewise.
3945
3946 2001-01-24  Martin Buchholz  <martin@xemacs.org>
3947
3948         Make Lisp_Object sizeof methods be alignment-correct.
3949         pdump must restore objects to the same alignment as the C compiler
3950         assumes.  It really matters on SGIs.
3951         * lstream.c (aligned_sizeof_lstream): New.
3952         (sizeof_lstream): Use aligned_sizeof_lstream.
3953         (Lstream_new): Likewise.
3954         * opaque.c (aligned_sizeof_opaque): New.
3955         (sizeof_opaque): Use aligned_sizeof_opaque.
3956         (make_opaque): Likewise.
3957         * specifier.c (aligned_sizeof_specifier): New.
3958         (sizeof_specifier): Use aligned_sizeof_specifier.
3959         (make_specifier_internal): Likewise.
3960
3961 2001-01-23  Martin Buchholz  <martin@xemacs.org>
3962
3963         * lstream.h (struct lstream): Use max_align_t for trailing data.
3964         * specifier.h (struct Lisp_Specifier): Likewise.
3965
3966 2001-01-22  Martin Buchholz  <martin@xemacs.org>
3967
3968         * mule-ccl.c (CCL_Extension): Renamed from CCL_Extention.
3969         (CCL_SUCCESS): Kludge to prevent Sun cc compiler warnings.
3970         (CCL_SUSPEND): Likewise.
3971         (CCL_INVALID_CMD): Likewise.
3972         (CCL_CALL_FOR_MAP_INSTRUCTION): Likewise.
3973         (ccl_driver): Likewise.
3974         (CCL_WRITE_CHAR): Macro hygiene.
3975         (CCL_WRITE_STRING): Macro hygiene.
3976
3977 2001-01-22  Martin Buchholz  <martin@xemacs.org>
3978
3979         Port "portable" dumper to SunOS 4 and HP-UX.
3980         * s/aix4.h (AIX4): Move MAP_FAILED definition elsewhere.
3981         * emacs.c (main): PDUMP implies no RUN_TIME_REMAP.
3982         * dumper.c (pdump_file_get): Define MAP_FAILED if not already defined.
3983
3984 2001-01-22  Martin Buchholz  <martin@xemacs.org>
3985
3986         * lisp.h (ALIGNOF): A better definition for C++.
3987
3988 2001-01-20  Martin Buchholz  <martin@xemacs.org>
3989
3990         Macro hygiene.
3991         Fix printf warnings: int format, long int arg.
3992         * regex.c (DECLARE_DESTINATION): Use DECLARE_NOTHING.
3993         (PUSH_FAILURE_POINT): Use correct printf formats.
3994         (POP_FAILURE_POINT): Use correct printf formats.  
3995         Use do {...} while (0)
3996
3997 2001-01-20  Martin Buchholz <martin@xemacs.org>
3998
3999         * XEmacs 21.2.42 "Poseidon" is released.
4000
4001 2001-01-20  Martin Buchholz  <martin@xemacs.org>
4002
4003         * console-x.h: typo fix du jour.  Remove #if 0'ed code.
4004
4005 2001-01-19  Martin Buchholz  <martin@xemacs.org>
4006
4007         De-kludgify FIXED_TYPE free list frobbing.
4008         Fix crashes on 64-bit platforms introduced by my patch of 2001-01-13.
4009         * alloc.c (DECLARE_FIXED_TYPE_ALLOC): Use Lisp_Free.
4010         * alloc.c (ALLOCATE_FIXED_TYPE_1): Use new definitions.
4011         * alloc.c (Lisp_Free): New pseudo lisp object definition.
4012         * alloc.c (LRECORD_FREE_P): New.
4013         * alloc.c (MARK_LRECORD_AS_FREE): New.
4014         * alloc.c (MARK_LRECORD_AS_NOT_FREE): New.
4015         * alloc.c (STRUCT_FREE_P): Deleted.
4016         * alloc.c (MARK_STRUCT_AS_FREE): Deleted.
4017         * alloc.c (MARK_STRUCT_AS_NOT_FREE): Deleted.
4018         * alloc.c (STRING_CHARS_FREE_P): New.
4019         * alloc.c (MARK_STRING_CHARS_AS_FREE): New.
4020         * alloc.c (PUT_FIXED_TYPE_ON_FREE_LIST): Use new definitions.
4021         * alloc.c (FREE_FIXED_TYPE): Use new definitions.
4022         * alloc.c (STRING_CHARS_FREE_P): Use new definitions.
4023         * alloc.c (resize_string): Use new definitions.
4024         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Use new definitions.
4025         * alloc.c (verify_string_chars_integrity): Use new definitions.
4026         * alloc.c (compact_string_chars): Use new definitions.
4027         * alloc.c: Update monster comments.
4028         * lrecord.h (lrecord_type): Add some new lrecord types for
4029         alloc.c's use.
4030
4031 2001-01-18  Martin Buchholz  <martin@xemacs.org>
4032
4033         Improve alignment hackery.
4034         * lisp.h (ALIGNOF): Better definition for the non-gcc case.
4035         (max_align_t): Moved from opaque.h - general purpose.
4036         (ALIGN_PTR): Use size_t, not long.
4037         * opaque.h (max_align_t): Move to lisp.h.
4038
4039 2001-01-18  Norbert Koch  <nk@LF.net>
4040
4041         * gui.h: Fix and add prototypes to fix build problems.
4042
4043 2001-01-18  Martin Buchholz  <martin@xemacs.org>
4044
4045         temacs is going away, so `dump-temacs' is now a bad name.
4046         * .dbxrc (dump-temacs): Rename to `dmp'.
4047         * .gdbinit (dump-temacs): Rename to `dmp'.
4048
4049 2001-01-17  Andy Piper  <andy@xemacs.org>
4050
4051         * glyphs.c (print_image_instance): comment to make martin happy.
4052
4053         * glyphs-x.c (x_redisplay_widget): update faces after a frame
4054         change.
4055
4056         * glyphs-msw.c (mswindows_redisplay_widget): add code to cope with
4057         activation.
4058         (mswindows_tab_control_redisplay): warning suppression.
4059
4060         * glyphs-widget.c (widget_update): re-write to cope with updated
4061         items.
4062         (widget_instantiate): use new gui_item functions.
4063         (tab_control_update): deleted.
4064         (progress_gauge_update): deleted.
4065         (image_instantiator_progress_guage): take out update reference.
4066         (image_instantiator_tree_view): ditto.
4067         (image_instantiator_tab_control): ditto.
4068
4069         * gui.c (widget_gui_parse_item_keywords): new function. Do things
4070         Right the new way.
4071         (gui_item_add_keyval_pair): re-write to cope with descriptors and
4072         return whether anything was changed.
4073         (update_gui_item_keywords): as it sounds.
4074
4075         * gui.h: declare widget_gui_parse_item_keywords.
4076
4077         * fns.c (safe_copy_tree): new function taken from Fcopy_tree.
4078         (Fcopy_tree): use it. Stops infloop death in bogus instantiators.
4079
4080 2001-01-17  Martin Buchholz <martin@xemacs.org>
4081
4082         * XEmacs 21.2.41 "Polyhymnia" is released.
4083
4084 2001-01-16  Didier Verna  <didier@xemacs.org>
4085
4086         * glyphs.c (image_instantiate): don't use fallbacks when
4087         instantiating a face's background pixmap by inheritance.
4088
4089 2001-01-14  Mike Sperber <mike@xemacs.org>
4090
4091         * sysdep.c (start_of_data): PDUMP implies ORDINARY_LINK.
4092         Conditionalize accordingly.
4093
4094 2001-01-16  Martin Buchholz  <martin@xemacs.org>
4095
4096         * dumper.c (pdump_file_get): Fix a compiler warning.
4097
4098 2001-01-15  Martin Buchholz  <martin@xemacs.org>
4099
4100         Make Purify happy when pdumping.
4101         * symbols.c (Fmake_variable_buffer_local): Make Purify happy, by
4102         iniitalizing all bits of new lisp object memory.
4103         * symbols.c (Fmake_local_variable): Likewise.
4104         * symbols.c (Fdontusethis_set_symbol_value_handler): Likewise.
4105         * symbols.c (Fdefvaralias): Likewise.
4106         * mule-charset.c (vars_of_mule_charset): Likewise.
4107
4108 2001-01-15  Martin Buchholz  <martin@xemacs.org>
4109         Add the `-nd' flag when running pre-dump operations under the debugger.
4110         * .dbxrc (run-temacs): Add `-nd'.
4111         * .dbxrc (update-elc): Likewise.
4112         * .dbxrc (dump-temacs): Likewise.
4113         * .gdbinit (run-temacs): Likewise.
4114         * .gdbinit (check-temacs): Likewise.
4115         * .gdbinit (update-elc): Likewise.
4116         * .gdbinit (dump-temacs): Likewise.
4117
4118 2001-01-14  Martin Buchholz  <martin@xemacs.org>
4119
4120         Allow building 64-bit executables on AIX with GNU malloc, e.g.
4121         export OBJECT_MODE=64
4122         configure --pdump --use-union-type=no
4123         * m/ibmrs6000.h (DATA_START): Define for 64-bit world.
4124         * gmalloc.c (__default_morecore): Remove pre-ANSI cruft.
4125
4126         * miscplay.c (sndcnv8U_2mono):
4127         Avoid two uses of `++' in the same expression.
4128         Suppresses a GCC warning.
4129
4130 2001-01-13  Martin Buchholz  <martin@xemacs.org>
4131
4132         Make sure future compilers don't miscompile alloc.c.
4133         * alloc.c:
4134         (MARK_STRUCT_AS_FREE): Make aliasing-optimization-resistant.
4135         (MARK_STRUCT_AS_NOT_FREE): Make aliasing-optimization-resistant.
4136
4137 2001-01-12  Martin Buchholz  <martin@xemacs.org>
4138
4139         * dumper.c: A little post-pdump-rename comment fixup.
4140
4141 2001-01-09  Jerry James  <james@eecs.ku.edu>
4142
4143         * lisp-disunion.h: Change LISP_TO_CVOID arg to match its use.
4144
4145 2001-01-13  Martin Buchholz  <martin@xemacs.org>
4146
4147         * *.[ch]: Globally rename symbols using the following `pdump-rename'
4148         script:
4149         #!/bin/sh
4150         replace_symbol () {
4151           (findn texi$; findn [ch]$) | xargs g -lw "$1" | xargs global-replace 's/(?<!_)\b'$1'\b(?!_)/'$2'/g'
4152         }
4153
4154         replace_symbol pdump_wire_lists pdump_weak_object_chains
4155         replace_symbol pdump_wire_list dump_add_weak_object_chain
4156
4157         replace_symbol pdump_wires pdump_root_objects
4158         replace_symbol pdump_wire dump_add_root_object
4159
4160         replace_symbol pdump_dump_wired pdump_dump_from_root_objects
4161         replace_symbol pdump_dump_structs pdump_dump_from_root_struct_ptrs
4162
4163         replace_symbol dumpstructinfos pdump_root_struct_ptrs
4164         replace_symbol dumpstructinfo_dynarr pdump_root_struct_ptr_dynarr
4165         replace_symbol dumpstructinfo pdump_root_struct_ptr
4166         replace_symbol dumpstruct dump_add_root_struct_ptr
4167
4168         replace_symbol dumpopaque dump_add_opaque
4169         replace_symbol dumpopaqueinfo_dynarr pdump_opaque_dynarr
4170         replace_symbol dumpopaqueinfos pdump_opaques
4171         replace_symbol dumpopaqueinfo pdump_opaque
4172
4173         replace_symbol nb_structdump nb_root_struct_ptrs
4174         replace_symbol nb_opaquedump nb_opaques
4175
4176         replace_symbol align_table pdump_align_table
4177         replace_symbol dump_header pdump_header
4178
4179         replace_symbol DUMP_SIGNATURE_LEN PDUMP_SIGNATURE_LEN
4180         replace_symbol DUMP_SIGNATURE PDUMP_SIGNATURE
4181
4182
4183 2001-01-12  Martin Buchholz  <martin@xemacs.org>
4184
4185         * s/aix4.h: Keep the C for AIX compiler from overaggressively
4186         optimizing bytecount_to_charcount().
4187
4188 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
4189
4190         * config.h.in:
4191         (HAVE_DLFCN_H): Removed.
4192         * sysdll.c: Remove HAVE__DLOPEN, HAVE_DLFCN_H.
4193
4194 2001-01-06  Martin Buchholz  <martin@xemacs.org>
4195
4196         Portable dumper maintainability improvements.
4197         * alloc.c (staticpro):
4198         * alloc.c (staticpro_nodump):
4199         * alloc.c (garbage_collect_1):
4200         * alloc.c (reinit_alloc_once_early):
4201         * alloc.c (init_alloc_once_early):
4202         * alloc.c: Move dumper functions to alloc.c.
4203         * dumper.c (pdump_backtrace):
4204         * dumper.c (pdump_dump_structs):
4205         * dumper.c (pdump_dump_opaques):
4206         * dumper.c (pdump_dump_rtables):
4207         * dumper.c (pdump_dump_wired):
4208         * dumper.c (pdump):
4209         * dumper.c (pdump_load_check):
4210         * dumper.c (pdump_load_finish):
4211         * dumper.c (pdump_file_unmap):
4212         * dumper.c (pdump_file_get):
4213         * dumper.c (pdump_resource_free):
4214         * dumper.c (pdump_resource_get):
4215         * dumper.c (pdump_file_free):
4216         * dumper.c (pdump_file_try):
4217         * dumper.c (pdump_load):
4218         Remove fixed size limits on staticpro(), staticpro_nodump(),
4219         dumpopaque(), dumpstruct() by using Dynarrs instead of static C arrays.
4220         Remove custom code for dumping lrecord_implementations_table - use
4221         dumpopaque instead.
4222         Remove (most of the) custom code for dumping staticpros - dump it
4223         like any other dynarr.
4224
4225         * alloc.h: Removed.  No longer useful, since dumper now more self-contained.
4226         * dumper.c: Moved functions from alloc.c.
4227         * alloc.c (dumpstruct): Moved to dumper.c.
4228         * alloc.c (dumpopaque): Likewise.
4229         * alloc.c (pdump_wire): Likewise.
4230         * alloc.c (pdump_wire_list): Likewise.
4231
4232         * lisp.h (Dynarr_sizeof): New.
4233         * lisp.h (Dynarr_begin): New.  Very slightly C++oid.
4234         * lisp.h (Dynarr_end): New.  Very slightly C++oid.
4235         * lisp.h (Lisp_Object_ptr_dynarr): New.  For staticpros.
4236
4237         * lisp.h (dumpstruct): Define to nothing if not PDUMPing.
4238         * lisp.h (dumpopaque): ditto.
4239         * lisp.h (pdump_wire): ditto.
4240         * lisp.h (pdump_wire_list): ditto.
4241
4242 2001-01-09  Martin Buchholz  <martin@xemacs.org>
4243
4244         * make-src-depend (PrintPatternDeps):
4245         Use `sort' to make output independent of perl version.
4246
4247 2001-01-08  Martin Buchholz  <martin@xemacs.org>
4248
4249         Port to Netbsd 1.5.
4250         * unexelf.c: Remove (never used) bogus Netbsd-specific cruft.
4251         * s/netbsd.c: Use unexelf.o if __ELF__ is defined.
4252
4253 2001-01-03  Didier Verna  <didier@xemacs.org>
4254
4255         * event-stream.c (emacs_handle_focus_change_preliminary): ensure
4256         that `focus_frame' is alive before thinking of calling
4257         `redisplay_redraw_cursor' on it.
4258
4259 2001-01-08  Martin Buchholz <martin@xemacs.org>
4260
4261         * XEmacs 21.2.40 is released.
4262
4263 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
4264
4265         * regex.c: Replace PREFETCH with REGEX_PREFETCH.
4266
4267 2001-01-06  Martin Buchholz  <martin@xemacs.org>
4268
4269         * alloc.c (dbg_valmask): Make const.
4270         * alloc.c (dbg_typemask): Make const.
4271         * alloc.c (dbg_USE_UNION_TYPE): Make const.
4272         * alloc.c (dbg_valbits): Make const.
4273         * alloc.c (dbg_gctypebits): Make const.
4274
4275 2001-01-06  Stephen J. Turnbull  <stephen@xemacs.org>
4276
4277         * redisplay-x.c (x_bevel_area):
4278         redisplay.h (struct rune):
4279         Typo fixes in comments.
4280
4281 2001-01-05  Andy Piper  <andy@xemacs.org>
4282
4283         * glyphs-x.c (x_redisplay_widget): use size changed for offset
4284         adjustment.
4285
4286         * menubar.c (menubar_visible_p_changed): don't mark frame changed.
4287
4288 2001-01-05  Martin Buchholz  <martin@xemacs.org>
4289
4290         * alloc.c (pure-bytes-used): Remove unused mendacious variable.
4291
4292         * mule-ccl.c (stack_idx_of_map_multiple):
4293         Non const global data must not be initialized!
4294         Found by MIYASHITA Hisashi.
4295
4296 2001-01-02  Andy Piper  <andy@xemacs.org>
4297
4298         * frame.c (change_frame_size): make sure frame size is always
4299         marked as changed.
4300
4301         * glyphs.c (image_instance_layout): minor code reuse.
4302
4303         * window.c (Fcurrent_window_configuration): revert previous
4304         change.
4305
4306 2001-01-02  Martin Buchholz  <martin@xemacs.org>
4307
4308         * glyphs.h:
4309         * glyphs.c (make_image_instance_cache_hash_table): Use ANSI prototypes.
4310
4311 2000-12-31  Andy Piper  <andy@xemacs.org>
4312
4313         * glyphs-x.c (x_unmap_subwindow): return focus to enclosing frame
4314         when widget gets unmapped.
4315
4316         * event-Xt.c (emacs_Xt_handle_widget_losing_focus): new
4317         function. Make sure widgets losing focus don't just drop it.
4318         (handle_focus_event_1): record the widget with focus.
4319
4320 2000-12-31  Andy Piper  <andy@xemacs.org>
4321
4322         * window.c (allocate_window): use
4323         make_image_instance_cache_hash_table.
4324         (make_dummy_parent): ditto.
4325         (Fset_window_configuration): ditto.
4326
4327         * glyphs.h (INSTANTIATOR_TYPE): new macro.  declare new functions.
4328
4329         * glyphs.c (process_image_string_instantiator): use
4330         INSTANTIATOR_TYPE.
4331         (get_image_instantiator_governing_domain): ditto.
4332         (normalize_image_instantiator): ditto.
4333         (instantiate_image_instantiator): ditto.
4334         (make_image_instance_1): ditto.
4335         (image_instantiate): ditto. Key on glyph *and* instantiator type.
4336         (instantiator_eq_equal): new function for use with instance hash
4337         tables.
4338         (instantiator_eq_hash): ditto.
4339         (make_image_instance_cache_hash_table): create a suitable hash
4340         table for storing image instances.
4341
4342         * elhash.h (hash_table_weakness): new internal weakness type
4343         HASH_TABLE_KEY_CAR_VALUE_WEAK.
4344         declare new functions.
4345
4346         * elhash.c (finish_marking_weak_hash_tables): introduce yet
4347         another weakness type for glyphs.
4348         (make_standard_lisp_hash_table): new function split out from
4349         make_general_lisp_hash_table.
4350         (make_lisp_hash_table): call make_standard_lisp_hash_table.
4351         (hash_table_instantiate): ditto.
4352         (Fmake_hash_table): ditto.
4353
4354 2000-12-31  Martin Buchholz <martin@xemacs.org>
4355
4356         * XEmacs 21.2.39 is released.
4357
4358 2000-12-29  Andy Piper  <andy@xemacs.org>
4359
4360         * menubar.c (menubar_visible_p_changed): signal the frame changed.
4361
4362         * glyphs-x.c (x_redisplay_widget): Re-calculate widget offsets if
4363         the frame has changed so that we pick up geometry changes such as
4364         menubar visibility.
4365
4366 2000-12-28  Andy Piper  <andy@xemacs.org>
4367
4368         * lastfile.c (my_ebss): make a char array so we can pad the
4369         bss. Fixes cygwin unexec.
4370
4371         * unexcw.c: invert BROKEN_GDB to NO_DEBUG.
4372
4373 2000-12-26  Andy Piper  <andy@xemacs.org>
4374
4375         * event-Xt.c (emacs_Xt_force_event_pending): add some verbose
4376         comments and try and be more precise about a non-/SIGIO world.
4377         (emacs_Xt_event_pending_p): use XtAppPending under cygwin and non
4378         SIGIO.
4379
4380         * redisplay-output.c (redisplay_normalize_glyph_area): make sure
4381         we don't normalize to zero width or height.
4382
4383 2000-12-24  Andy Piper  <andy@xemacs.org>
4384
4385         * Makefile.in.in (ldflags): add -mwindows when appropriate.
4386
4387 2000-08-18  Golubev I. N.  <gin@mo.msk.ru>
4388
4389         * s/sco5.h: SCO 5 has pty support.
4390
4391 2000-07-20  Kazuyuki IENAGA <ienaga@xemacs.org>
4392
4393         * input-method-xlib.c: supports both XIM_XLIB and USE_XFONTSET.
4394         input-method-xlib.c contains whole contents of input-method-xfs.c,
4395         so we can use input-method-xlib.c's code for USE_XFONTSET
4396         using #ifdefs.
4397         * input-method-xfs.c: removed.
4398
4399 2000-12-20  Stephen Turnbull  <stephen@xemacs.org>
4400
4401         * file-coding.h (enum coding_category_type): reorder enumerators to
4402         make autodetection safer.  Make CODING_CATEGORY_LAST an enumerator
4403         (now one greater than largest real coding_category_type enumerator).
4404         * file-coding.c (coding_category_symbol, coding_category_by_priority,
4405         coding_category_system, fcd_descriptihon_1, decode_coding_category,
4406         Fcoding_category_list, Fset_coding_priority_list,
4407         Fcoding_priority_list, coding_system_from_mask, Fdetect_coding_region,
4408         vars_of_file_coding): adjust for change in CODING_CATEGORY_LAST.
4409
4410 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
4411
4412         * redisplay-output.c (redisplay_clear_top_of_window): Remove static.
4413         * redisplay-output.c (redisplay_output_window): Clear top of window
4414         when face is changed.
4415         * redisplay-x.c (x_redraw_exposed_window): Call
4416         redisplay_clear_top_of_window.
4417         * redisplay.h: Publish redisplay_clear_top_of_window.
4418
4419 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
4420
4421         * buffer.c (Fkill_buffer): Map over all devices.
4422         * window.c (window_loop): Remove UNSHOW_BUFFER code.
4423         (list_windows): New function.
4424         (list_all_windows): Ditto.
4425         (Freplace_buffer_in_windows): Use them.
4426
4427 2000-02-02   Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
4428
4429         * database.c (berkdb_subtype): Recognize new subtype `queue'.
4430         (Fopen_database): Use `db_create' instead of `db_open'.
4431         (syms_of_database): Initialize Qqueue.
4432
4433 2000-12-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
4434
4435         * buffer.c (common_init_complex_vars_of_buffer): Initialize
4436         buffer_local_face_property.
4437         * buffer.h (struct buffer): New member buffer_local_face_property.
4438         * window.c (Fset_window_buffer):  Mark window's face as changed
4439         when buffer has buffer local face.
4440         * window.h (MARK_WINDOW_FACES_CHANGED): New macro.
4441         * objects.c (color_after_change): Set buffer_local_face_property
4442         when locale of face specifier is buffer.
4443         * objects.c (font_after_change): Ditto.
4444         * objects.c (face_boolean_after_change): Ditto.
4445         * glyphs.c (image_after_change): Ditto.
4446
4447 2000-12-09  Dan Holmsand  <dan@eyebee.com>
4448
4449         * nt.c (mswindows_fstat): Report file permissions, volume serial
4450         number, etc. Code adapted from FSF Emacs 20.7.
4451
4452 2000-12-09  Dan Holmsand  <dan@eyebee.com>
4453
4454         * sysfile.h (lstat): Make lstat an alias for xemacs_stat instead
4455         of stat when we don't have symbolic links, to make sure
4456         mswindows_stat is called on mswindows.
4457
4458 2000-12-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
4459
4460         * alloca.c: Define malloc to xmalloc only when built with XEmacs.
4461
4462 2000-12-12  Martin Buchholz  <martin@xemacs.org>
4463
4464         * doprnt.c (emacs_doprnt_1): More printing fixes.
4465         Make printing of numbers compatible with libc and FSF Emacs.
4466         BUG was: (format "%6.3f" 1.2) ==>"1.200000"
4467         Use the system printf to do most of the hard work of formatting,
4468         instead of doprnt_1().
4469         Calculate memory to allocate for format string.
4470         Remove arbitrary limit on precision, e.g. (format "%.1000f" 3.14)
4471         (doprnt_1): Cleaner code and documentation.
4472
4473 2000-12-01  Jerry James  <james@eecs.ukans.edu>
4474
4475         * Makefile.in.in: Use the loop variable to install headers.
4476
4477 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
4478
4479         * window.c (Fsplit_window): Don't invalidate face cache.
4480
4481 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
4482
4483         * minibuf.c (Fall_completions): Undo the previous change
4484         which removed checking elements start with space.
4485
4486 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
4487
4488         * mule-canna.c: Didier suppression.
4489
4490 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
4491
4492         * mule-canna.c: rename static unsigned char buf[] to key_buffer
4493         (warning suppression).  Add English comment translations.
4494
4495 2000-12-05  Martin Buchholz  <martin@xemacs.org>
4496
4497         * unexelfsgi.c (unexec): Better test for mmap failure.
4498
4499 2000-12-05  Martin Buchholz <martin@xemacs.org>
4500
4501         * XEmacs 21.2.38 is released.
4502
4503 2000-12-05  Martin Buchholz  <martin@xemacs.org>
4504
4505         * redisplay.c (bar-cursor): Make a user variable.
4506
4507         * symsinit.h: Add init_postgresql_from_environment.
4508
4509 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
4510
4511         * regex.c: Convert to clean C.
4512
4513 2000-12-05  Dan Holmsand  <dan@eyebee.com>
4514
4515         * realpath.c:
4516         Don't #include sysfile.h. Revert to duplicating PATH_MAX
4517         initialization.
4518         (sys_readlink): renamed to system_readlink to avoid conflict with
4519         the other sys_readlink.
4520
4521 2000-12-04  Hiroaki Abe  <h-abe@pc.highway.ne.jp>
4522
4523         * dumper.c (pdump_file_get): Correct uses of pdump_fd.
4524
4525 2000-12-04  Stephen J. Turnbull  <stephen@xemacs.org>
4526
4527         * postgresql.c (init_postgresql_from_environment): new function.
4528         (vars_of_postgresql): Move code initializing Lisp variables out and
4529         into init_postgresql_from_environment.
4530         emacs.c (main_1): Call init_postgresql_from_environment if and only
4531         if running a dumped XEmacs.
4532
4533 2000-08-31  Dan Holmsand  <dan@eyebee.com>
4534
4535         * buffer.c: Make find-file-compare-truenames default to true on
4536         windows.
4537
4538         * realpath.c (win32_abs_start):
4539         (cygwin_readlink):
4540         (win32_readlink): New functions.
4541         (xrealpath): Return really real filenames on windows.
4542
4543         * fileio.c (Ffile_truename): Make file-truename work on windows.
4544
4545 2000-11-29  Didier Verna  <didier@xemacs.org>
4546
4547         * faces.c (MAYBE_UNFROB_BACKGROUND_PIXMAP): new macro.
4548         * faces.c (update_face_cachel_data): use it.
4549         * faces.c (add_face_cachel): use it. Complete background pixmap
4550         frobbing in face cache if `update_face_cachel_data' has not done so.
4551
4552 2000-11-29  Yoshiki Hayashi  <yoshiki@xemacs.org>
4553
4554         * search.c (string_match_1): Don't set last_thing_searched
4555         when search failed.
4556
4557 2000-11-27  Yoshiki Hayashi  <yoshiki@xemacs.org>
4558
4559         * buffer.c: Include casetab.h
4560         (common_init_complex_vars_of_buffer): Use new case-table object.
4561         * buffer.h: Include casetab.h
4562         * buffer.h (MAKE_TRT_TABLE): Use generic char-table.
4563         (DOWNCASE_TABLE_OF): Ditto.
4564         * bufslots.h: Remove char-tables and add case-table.
4565         * casetab.c: Include casetab.h
4566         (CASE_TABLE_P): Removed.
4567         (mark_case_table): New function.
4568         (allocate_case_table): New function.
4569         (Fcase_table_p): Use new case-table.
4570         (case_table_char): New function.
4571         (Fget_case_table): Ditto.
4572         (Fput_case_table): Ditto.
4573         (Fput_case_table_pair): Ditto.
4574         (Fcopy_case_table): Ditto.
4575         (Fcurrent_case_table): Return case-table.
4576         (Fstandard_case_table): Return case-table.
4577         (Fset_case_table): Fix doc-string.
4578         (set_case_table): Use case-table
4579         (syms_of_casetab): DEFSUBR new functions.
4580         (complex_vars_of_casetab): Set up standard case-table.
4581         * casetab.h: New file.
4582         * editfns.c: Include casetab.h
4583         (Fcompare_buffer_substrings): Use case-table.
4584         * inline.c: Include casetab.h
4585         * lisp.h: Remove bogus extern.
4586         * lrecord.h (lrecord_type): Add lrecord_type_case_table.
4587         * search.c: Include casetab.h
4588         (TRANSLATE_ASCII): Removed.
4589         (TRANSLATE): Unconditionally translate character.
4590         (looking_at_1): Use case-table.
4591         (string_match_1): Ditto.
4592         (fast_string_match): Ditto.
4593         (search_command): Ditto.
4594         (search_buffer): Separate boyer_moore.  Check whether
4595         boyer_moore is possible.
4596         (simple_search): New function.
4597         (boyer_moore): Separated from search_buffer. Translate char.
4598
4599 2000-11-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
4600
4601         * regex.c (RE_TR_ASCII): Removed.
4602         (RE_TRANSLATE): Unconditionally use TRT_TABLE.
4603         (PATFETCH): Call PATFETCH_RAW.
4604         (PATFETCH_RAW): Fetch Emchar.
4605         (PATUNFETCH): Decrement charptr.
4606         (GET_BUFFER_SPACE): Rename b to buf_end.
4607         (BUF_PUSH): Ditto.
4608         (BUF_PUSH_2): Ditto.
4609         (BUF_PUSH_3): Ditto.
4610         (EXTEND_BUFFER): Ditto.
4611         (SET_LIST_BIT): Ditto.
4612         (regex_compile): Ditto.  Translate non ASCII char.
4613         (compile_range): Ditto.
4614         (re_search_2): Ditto.
4615         (re_match_2_internal): Compare Emchar.
4616         (bcmp_translate): Ditto.
4617
4618 2000-11-29  Stephen J. Turnbull  <turnbull@xemacs.org>
4619
4620         * lisp.h (basic char/int typedefs):  comment improvement.
4621
4622 2000-11-24  Stephen J. Turnbull  <turnbull@xemacs.org>
4623
4624         * emacs.c (main_1):  unconditional pdump unstomping; don't save and
4625         unstomp inhibit_site_lisp.  Improve comments.
4626
4627 2000-11-22  Stephen J. Turnbull  <turnbull@xemacs.org>
4628
4629         * mule-charset.c (Fcharset_property):  improve type checking, comments.
4630
4631 2000-11-28  Andy Piper  <andy@xemacs.org>
4632
4633         * redisplay-output.c (redisplay_output_subwindow): make sure we do
4634         clipped display for windows in the gutter also.
4635         (redisplay_display_boxes_in_window_p): change semantics of return
4636         codes to be more intuitive.
4637
4638         * gutter.h: declare display_boxes_in_gutter_p.
4639
4640         * gutter.c (display_boxes_in_gutter_p): new function for
4641         redisplay.
4642
4643 2000-11-22  Andy Piper  <andy@xemacs.org>
4644
4645         * glyphs-x.c (image_instantiator_format_create_glyphs_x): change
4646         autodetect domain.
4647
4648 2000-11-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
4649
4650         * callproc.c (Fold_call_process_internal):
4651         * gpm.c (Freceive_gpm_event):
4652         (tty_get_foreign_selection): Might be just warning supression.
4653         * fileio.c (Fwrite_region_internal):
4654         (Fset_visited_file_modtime):
4655         * keymap.c (event_matches_key_specifier_p):
4656         Initialize GCPROed variable.
4657
4658         * menubar-x.c (command_builder_find_menu_accelerator):
4659         Initialize before use.
4660
4661 2000-11-23  Andy Piper  <andy@xemacs.org>
4662
4663         * unexcw.c (unexec): make the resulting executable executable.
4664
4665 2000-11-21  Martin Buchholz  <martin@xemacs.org>
4666
4667         * doc.c (get_doc_string):
4668         Use size_t, not int, for result of XSTRING_LENGTH.
4669
4670         * cmds.c (Fdelete_char):
4671         * cmds.c (Fpoint_at_eol):
4672         * cmds.c (Fself_insert_command):
4673         Use EMACS_INT, not int, for result of XINT.
4674         Someday, someone will want to insert more than 2**31 identical characters.
4675
4676         * cmds.c (Fdelete_char):
4677         * cmds.c (Fdelete_backward_char):
4678         * syntax.c (Fforward_word):
4679         * syntax.c (Fforward_comment):
4680         Make COUNT argument optional, for consistency with forward-char et al.
4681
4682 2000-11-22  Martin Buchholz  <martin@xemacs.org>
4683
4684         * lisp.h:
4685         * print.c (long_to_string):
4686         Return a useful value: the pointer at end of data written.
4687
4688         * doprnt.c:
4689         Use `static const char * const' for constant strings.
4690         (union printf_arg): Delete `i', `ui' members.
4691         (get_doprnt_args):
4692         (emacs_doprnt_1):
4693         Fix LP64 platform bug: (format "%d" most-positive-fixnum) ==> "-1"
4694         Do all printf-ing via the `l' specifier.
4695         Use EMACS_INT instead of int.
4696         Optimize.
4697
4698 2000-11-20  Didier Verna  <didier@xemacs.org>
4699
4700         * faces.c (update_face_cachel_data): don't frob the background
4701         pixmap when the window is being created. The face is needed but
4702         does not exist yet.
4703
4704 2000-11-20  Andy Piper  <andy@xemacs.org>
4705
4706         * unexcw.c (copy_executable_and_dump_data_section): Only do bss
4707         messing with a debug environment.
4708
4709 2000-11-20  Martin Buchholz  <martin@xemacs.org>
4710
4711         * emacs.c (__sti__iflPNGFile_c___): Pedantically correct prototype.
4712
4713 2000-11-20  Martin Buchholz  <martin@xemacs.org>
4714
4715         * casetab.c (Fcase_table_p): Fix compile error and crash.
4716
4717 2000-11-18  Philip Aston  <philipa@mail.com>
4718
4719         * s/cygwin32.h: Cygwin has SVR4-like pty support.
4720
4721 2000-11-18  Martin Buchholz  <martin@xemacs.org>
4722
4723         * fileio.c (Fexpand_file_name): GCPRO bug!  Protect `handler'.
4724         * filelock.c (lock_file): GCPRO bug! Initialize all GCPROed vars!
4725
4726 2000-11-17  Martin Buchholz  <martin@xemacs.org>
4727
4728         * config.h.in: Define HAVE_ELF_H if elf.h exists.
4729         * unexelf.c: Use HAVE_ELF_H.
4730         * unexelfsgi.c: Fix bug with dumped xemacs stdout/stderr not working.
4731         I copied FSF Emacs 20.7 unexelf.c to unexelfsgi.c and ANSIfied it.
4732         Max Matveev <makc@sgi.com> removed non-SGI-relevant parts and tested.
4733         Greg Harrington <greg_harrington@hotmail.com> provided a machine
4734         for testing.
4735         So this is an unexelfsgi.c from a different line of development.
4736
4737 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
4738
4739         * regex.c (RE_TR_ASCII): New function.
4740         (RE_TRANSLATE): Call it.
4741
4742 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
4743
4744         * buffer.h (TRT_TABLE_OF): Remove assert.
4745         (IN_TRT_TABLE_DOMAIN): Removed.
4746
4747 2000-11-16  Gunnar Evermann  <ge204@eng.cam.ac.uk>
4748
4749         * free-hook.c (log_gcpro):
4750         (show_gcprohist): Add support for GCPRO5.
4751
4752 2000-11-08  Stephen J. Turnbull  <stephen@xemacs.org>
4753
4754         * emacs.c (main_1): Improve -sd error message when --pdump=no.
4755
4756 2000-11-16  Olivier Galibert  <galibert@xemacs.org>
4757
4758         * symeval.h: Declare flush_all_buffer_local_cache.
4759
4760         * symbols.c: Change XD_LO_RESET_NIL into XD_LISP_OBJECTs.
4761         (flush_buffer_local_cache): Added.
4762         (flush_all_buffer_local_cache): Added.
4763
4764         * lrecord.h: Remove unused XD_LO_RESET_NIL.
4765
4766         * dumper.c (pdump_register_sub): Remove unused XD_LO_RESET_NIL.
4767         (pdump_dump_data): Ditto.
4768         (pdump_reloc_one): Ditto.
4769         (pdump): Remove unused pdump_qnil.  Flush buffer local caches
4770         before dumping.
4771
4772
4773 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
4774
4775         * buffer.c: Remove if 0'ed entry.
4776         * buffer.h: Rewrite TRT to use char-table.
4777         * bufslots.h: Remove mirror tables.
4778         * casetab.c: Remove mirror tables.
4779         (CASE_TABLE_P): New macro.
4780         (Fcase_table_p): Element of a case table is string or char-table.
4781         (make_mirror_trt_table): Removed.
4782         (set_case_table): Setup char-table from strings for backward
4783         compatibility.
4784         * dired.c (Fdirectory_files):
4785         * dired-msw.c: (mswindows_get_files):
4786         * lisp.h: Change prototype of re_pattern_buffer.
4787         * regex.c: (RE_TRANSLATE): New macro.
4788         (TRANSLATE_P): Ditto.
4789         Change translate to type RE_TRANSLATE_TYPE.
4790         * regex.h: Define RE_TRANSLATE_TYPE
4791         * search.c (TRANSLATE): New macro.
4792         (TRANSLATE_ASCII): New macro.
4793         Translate table is changed to Lisp_Object.
4794         (signal_failure): Inhibit return.
4795
4796 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
4797
4798         * device-msw.c:
4799         * eldap.c:
4800         * event-Xt.c:
4801         * event-stream.c:
4802         * print.c:
4803         Do UNGCPRO before return.
4804
4805 2000-11-14  Martin Buchholz <martin@xemacs.org>
4806
4807         * XEmacs 21.2.37 is released.
4808
4809 2000-11-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
4810
4811         * fileio.c (Finsert_file_contents_internal): UNGCPRO before return.
4812         Add comments about discarded return value.
4813
4814 2000-11-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
4815
4816         * callint.c:
4817         * event-stream.c: Fix comments.  Remove some #if 0'ed part.
4818
4819 2000-10-27  Andy Piper  <andy@xemacs.org>
4820
4821         * gutter.c (Fset_default_gutter_position): default left and right
4822         gutters to visible.
4823         (calculate_gutter_size): calculate resonable heuristic for left
4824         and right gutter sizes.
4825         (specifier_vars_of_gutter): change left and right gutter sizes to
4826         autodetect.
4827         (calculate_gutter_size_from_display_lines): new function.
4828         (output_gutter): check for resizing on left and right gutters.
4829         (clear_gutter): don't special case top and left gutters.
4830         (specifier_vars_of_gutter): use new signature for
4831         set_specifier_caching.
4832
4833         * glyphs-x.c (x_redisplay_widget): spelling fix.
4834         * glyphs.c (specifier_vars_of_glyphs):
4835         * menubar.c (specifier_vars_of_menubar):
4836         * redisplay.c (specifier_vars_of_redisplay):
4837         * toolbar.c (specifier_vars_of_toolbar):
4838         * window.c (specifier_vars_of_window):
4839         * scrollbar.c (specifier_vars_of_scrollbar):
4840         (complex_vars_of_scrollbar): use new signature for
4841         set_specifier_caching.
4842
4843         * specifier.c (set_specifier_caching): include recompute flag.
4844         (recompute_one_cached_specifier_in_window): always recompute if
4845         flag set.
4846         (recompute_one_cached_specifier_in_frame): ditto.
4847
4848         * specifier.h (struct specifier_caching): add recompute flag.
4849
4850 2000-10-24  Andy Piper  <andy@xemacs.org>
4851
4852         * unexcw.c (copy_executable_and_dump_data_section): add new
4853         BSS_PAD_SIZE so that we can re-instate a mini-bss. This keeps gdb
4854         5.0 happy.
4855
4856 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
4857
4858         * console-x.h (x_device): New member modifier_release_time.
4859         * event-Xt.c (x_handle_sticky_modifiers):
4860         Bound interval modifier keys are sticky.
4861         * event-stream.c (Vmodifier_keys_sticky_time): New variable.
4862         * events.h: extern it.
4863
4864 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
4865
4866         * cmdloop.c (Fcommand_loop_1): Just add C-g to event queue.
4867
4868 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
4869
4870         * event-stream.c (execute_command_event): Preserve current_events
4871         and the like when event is misc-user-event.
4872         Inhibit quit during the call to maybe_echo_keys.
4873
4874 2000-10-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
4875
4876         * filelock.c (lock_buffer): Cope with kill-buffer. Don't create a
4877         symlink when buffer is killed.
4878         (inhibit_clash_detection): New variable.
4879
4880 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
4881
4882         * console.c (Fset_input_method): Trigger redisplay on tty.
4883
4884 2000-11-07  Martin Buchholz  <martin@xemacs.org>
4885
4886         * process.c (Fprocess_status): Revert to previous behavior:
4887         (process-status "nosuchprocess") ==> nil
4888
4889 2000-11-06  Martin Buchholz  <martin@xemacs.org>
4890
4891         * mule-charset.h (CHARSET_BY_LEADING_BYTE):
4892         Work around another GCC 2.95.2 optimizer bug.
4893
4894 2000-11-02  Martin Buchholz  <martin@xemacs.org>
4895
4896         * process.c (Fget_process): Use LIST_LOOP_2.
4897         (kill_buffer_processes): Use LIST_LOOP_2.
4898
4899         * minibuf.c (Fall_completions):
4900         Delete old non-functional code for FSF fourth argument.
4901
4902         * frame.c (frame_matches_frame_spec):
4903         Renamed from `frame_matches_frametype'.  Update all callers.
4904         (device_matches_device_spec):
4905         Renamed from 'device_matches_console_spec'.  Update all callers.
4906
4907         * doc.c (Fsubstitute_command_keys):
4908         Remove buffer overflow crash.  Small code cleanups.
4909
4910         * casetab.c (check_case_table): Simpler code.
4911
4912         * window.c (Freplace_buffer_in_windows):
4913         Give this the same WHICH-FRAMES and WHICH-DEVICES parameters
4914         (and similar implementation) as Fdelete_windows_on.
4915         Update all callers.
4916
4917         * alloc.c (Fmake_list):
4918         * alloc.c (make_vector):
4919         * alloc.c (Fmake_vector):
4920         * alloc.c (make_bit_vector):
4921         * alloc.c (Fmake_bit_vector):
4922         * alloc.c (Fbit_vector):
4923         * alloc.c (Fmake_string):
4924         * alloc.c (Fpurecopy):
4925         * alloc.c (Fmemory_limit):
4926         * buffer.c:
4927         * buffer.c (Fget_buffer):
4928         * buffer.c (Fkill_buffer):
4929         * buffer.c (complex_vars_of_buffer):
4930         * bytecode.c (Fcompiled_function_stack_depth):
4931         * callint.c (Fprefix_numeric_value):
4932         * event-stream.c:
4933         * event-stream.c (Fread_key_sequence):
4934         * casetab.c:
4935         * casetab.c (Fcase_table_p):
4936         * casetab.c (check_case_table):
4937         * casetab.c (Fset_case_table):
4938         * casetab.c (Fset_standard_case_table):
4939         * chartab.c:
4940         * chartab.c (Fchar_table_type):
4941         * chartab.c (Freset_char_table):
4942         * chartab.c (Fget_char_table):
4943         * chartab.c (Fget_range_char_table):
4944         * chartab.c (Fput_char_table):
4945         * chartab.c (Fmap_char_table):
4946         * chartab.c (Fcategory_table_p):
4947         * chartab.c (Fcheck_category_at):
4948         * chartab.c (Fchar_in_category_p):
4949         * chartab.c (Fcategory_table):
4950         * chartab.c (Fcopy_category_table):
4951         * chartab.c (Fset_category_table):
4952         * chartab.c (Fcategory_designator_p):
4953         * chartab.c (Fcategory_table_value_p):
4954         * cmds.c (Fdelete_char):
4955         * cmds.c (Fdelete_backward_char):
4956         * cmds.c (Fself_insert_command):
4957         * cmds.c (Fself_insert_internal):
4958         * console.c (Fvalid_console_type_p):
4959         * console.c (Fcdfw_console):
4960         * console.c (Fconsole_type):
4961         * console.c (Fconsole_name):
4962         * console.c (Fconsole_device_list):
4963         * console.c (Fconsole_on_window_system_p):
4964         * data.c:
4965         * data.c (Feq):
4966         * data.c (Fold_eq):
4967         * data.c (Fsubr_interactive):
4968         * data.c (Fchar_to_int):
4969         * data.c (Fint_to_char):
4970         * data.c (Fsetcar):
4971         * data.c (Fsetcdr):
4972         * data.c (Fnumber_to_string):
4973         * data.c (Fstring_to_number):
4974         * data.c (Frem):
4975         * database.c (mark_database):
4976         * database.c (finalize_database):
4977         * database.c (Fdatabase_live_p):
4978         * database.c (Fdatabasep):
4979         * device-x.c (Fx_get_resource):
4980         * device.c (Fdfw_device):
4981         * dired.c:
4982         * dired.c (Ffile_name_completion):
4983         * dired.c (Ffile_name_all_completions):
4984         * dired.c (Fuser_name_completion):
4985         * dired.c (Fuser_name_completion_1):
4986         * dired.c (Fuser_name_all_completions):
4987         * doc.c (Fdocumentation):
4988         * doc.c (Fdocumentation_property):
4989         * doc.c (Fsubstitute_command_keys):
4990         * editfns.c:
4991         * editfns.c (Fchar_to_string):
4992         * editfns.c (Fstring_to_char):
4993         * editfns.c (Ftemp_directory):
4994         * editfns.c (Finsert_char):
4995         * editfns.c (Fbuffer_substring_no_properties):
4996         * editfns.c (Fnarrow_to_region):
4997         * editfns.c (Fchar_equal):
4998         * editfns.c (Fchar_Equal):
4999         * editfns.c (Ftranspose_regions):
5000         * emacs.c (Fdump_emacs):
5001         * eval.c (Fthrow):
5002         * eval.c (Fcommand_execute):
5003         * eval.c (Fautoload):
5004         * eval.c (Fbacktrace):
5005         * eval.c (Fbacktrace_frame):
5006         * events.c:
5007         * events.c (Fcopy_event):
5008         * events.c (Fcharacter_to_event):
5009         * events.c (Fevent_button):
5010         * events.c (Fevent_process):
5011         * extents.c:
5012         * extents.c (Fnext_extent_change):
5013         * extents.c (Fextent_property):
5014         * faces.c (Ffacep):
5015         * faces.c (Fmake_face):
5016         * file-coding.c:
5017         * file-coding.c (Fencode_shift_jis_char):
5018         * file-coding.c (Fencode_big5_char):
5019         * fileio.c (Ffile_name_directory):
5020         * fileio.c (Ffile_name_nondirectory):
5021         * fileio.c (Ffile_name_as_directory):
5022         * fileio.c (Fdirectory_file_name):
5023         * fileio.c (Ffile_truename):
5024         * fileio.c (Fsubstitute_in_file_name):
5025         * fileio.c (Ffile_modes):
5026         * fileio.c (Fset_file_modes):
5027         * fileio.c (Fset_default_file_modes):
5028         * fileio.c (Fverify_visited_file_modtime):
5029         * floatfns.c (Facos):
5030         * floatfns.c (Fasin):
5031         * floatfns.c (Fatan):
5032         * floatfns.c (Fcos):
5033         * floatfns.c (Fsin):
5034         * floatfns.c (Ftan):
5035         * floatfns.c (Fbessel_j0):
5036         * floatfns.c (Fbessel_j1):
5037         * floatfns.c (Fbessel_jn):
5038         * floatfns.c (Fbessel_y0):
5039         * floatfns.c (Fbessel_y1):
5040         * floatfns.c (Fbessel_yn):
5041         * floatfns.c (Ferf):
5042         * floatfns.c (Ferfc):
5043         * floatfns.c (Flog_gamma):
5044         * floatfns.c (Fexp):
5045         * floatfns.c (Fexpt):
5046         * floatfns.c (Flog):
5047         * floatfns.c (Flog10):
5048         * floatfns.c (Fsqrt):
5049         * floatfns.c (Fcube_root):
5050         * floatfns.c (Facosh):
5051         * floatfns.c (Fasinh):
5052         * floatfns.c (Fatanh):
5053         * floatfns.c (Fcosh):
5054         * floatfns.c (Fsinh):
5055         * floatfns.c (Ftanh):
5056         * floatfns.c (Fabs):
5057         * floatfns.c (Ffloat):
5058         * floatfns.c (Flogb):
5059         * floatfns.c (Fceiling):
5060         * floatfns.c (Ffloor):
5061         * floatfns.c (Fround):
5062         * floatfns.c (Ftruncate):
5063         * floatfns.c (Ffceiling):
5064         * floatfns.c (Fffloor):
5065         * floatfns.c (Ffround):
5066         * floatfns.c (Fftruncate):
5067         * fns.c (Fstring_equal):
5068         * fns.c (Fstring_lessp):
5069         * fns.c (concat2):
5070         * fns.c (concat3):
5071         * fns.c (vconcat2):
5072         * fns.c (vconcat3):
5073         * fns.c (Fsubstring):
5074         * fns.c (Fassoc):
5075         * fns.c (Fold_assoc):
5076         * fns.c (assoc_no_quit):
5077         * fns.c (Fassq):
5078         * fns.c (Fold_assq):
5079         * fns.c (assq_no_quit):
5080         * fns.c (Frassoc):
5081         * fns.c (Fold_rassoc):
5082         * fns.c (Frassq):
5083         * fns.c (Fold_rassq):
5084         * fns.c (rassq_no_quit):
5085         * fns.c (Fremassoc):
5086         * fns.c (remassoc_no_quit):
5087         * fns.c (Fremassq):
5088         * fns.c (remassq_no_quit):
5089         * fns.c (Fremrassoc):
5090         * fns.c (Fremrassq):
5091         * fns.c (remrassq_no_quit):
5092         * fns.c (Fsort):
5093         * fns.c (Fplist_get):
5094         * fns.c (Fplist_put):
5095         * fns.c (Fplist_remprop):
5096         * fns.c (Fplist_member):
5097         * fns.c (Flax_plist_get):
5098         * fns.c (Flax_plist_put):
5099         * fns.c (Flax_plist_remprop):
5100         * fns.c (Flax_plist_member):
5101         * fns.c (Fequal):
5102         * fns.c (Fold_equal):
5103         * fns.c (Frequire):
5104         * fns.c (Fbase64_encode_region):
5105         * fns.c (Fbase64_encode_string):
5106         * fns.c (Fbase64_decode_region):
5107         * frame.c:
5108         * frame.c (frame_matches_frame_spec):
5109         * frame.c (device_matches_device_spec):
5110         * frame.c (next_frame):
5111         * frame.c (previous_frame):
5112         * frame.c (Fnext_frame):
5113         * frame.c (Fprevious_frame):
5114         * frame.c (Fframe_property):
5115         * frame.c (Fset_frame_height):
5116         * frame.c (Fset_frame_size):
5117         * frame.h:
5118         * glyphs.c:
5119         * glyphs.c (if):
5120         * glyphs.c (decode_error_behavior_flag):
5121         * glyphs.c (Fmake_image_instance):
5122         * indent.c (Findent_to):
5123         * intl.c (Fignore_defer_gettext):
5124         * keymap.c (Fkeymapp):
5125         * keymap.c (Flookup_key):
5126         * lread.c:
5127         * lread.c (Fload_internal):
5128         * lread.c (Feval_buffer):
5129         * lread.c (Feval_region):
5130         * macros.c (Fexecute_kbd_macro):
5131         * marker.c (set_marker_internal):
5132         * marker.c (Fset_marker):
5133         * marker.c (set_marker_restricted):
5134         * marker.c (Fcopy_marker):
5135         * marker.c (noseeum_copy_marker):
5136         * menubar.c:
5137         * menubar.c (Fpopup_menu):
5138         * minibuf.c:
5139         * mule-charset.c (Fcharset_name):
5140         * mule-charset.c (Fchar_charset):
5141         * mule-charset.c (Fchar_octet):
5142         * mule-charset.c (Fsplit_char):
5143         * mule-wnnfns.c (Fwnn_open):
5144         * mule-wnnfns.c (Fwnn_dict_comment):
5145         * mule-wnnfns.c (Fwnn_quit_henkan):
5146         * mule-wnnfns.c (Fwnn_word_toroku):
5147         * mule-wnnfns.c (Fwnn_word_sakujo):
5148         * mule-wnnfns.c (Fwnn_word_use):
5149         * mule-wnnfns.c (Fwnn_hindo_set):
5150         * objects.c:
5151         * objects.c (Fmake_color_instance):
5152         * objects.c (Fmake_font_instance):
5153         * print.c (Fwrite_char):
5154         * process.c:
5155         * process.c (mark_process):
5156         * process.c (print_process):
5157         * process.c (get_process_from_usid):
5158         * process.c (Fprocessp):
5159         * process.c (Fprocess_live_p):
5160         * process.c (Fget_process):
5161         * process.c (Fget_buffer_process):
5162         * process.c (get_process):
5163         * process.c (Fprocess_id):
5164         * process.c (Fprocess_name):
5165         * process.c (Fprocess_command):
5166         * process.c (init_process_io_handles):
5167         * process.c (start_process_unwind):
5168         * process.c (Fstart_process_internal):
5169         * process.c (Fopen_multicast_group_internal):
5170         * process.c (Fset_process_window_size):
5171         * process.c (read_process_output):
5172         * process.c (send_process):
5173         * process.c (Fprocess_tty_name):
5174         * process.c (Fset_process_buffer):
5175         * process.c (Fprocess_buffer):
5176         * process.c (Fprocess_mark):
5177         * process.c (set_process_filter):
5178         * process.c (Fset_process_filter):
5179         * process.c (Fprocess_filter):
5180         * process.c (Fprocess_send_region):
5181         * process.c (Fprocess_send_string):
5182         * process.c (exec_sentinel):
5183         * process.c (Fset_process_sentinel):
5184         * process.c (Fprocess_sentinel):
5185         * process.c (status_notify):
5186         * process.c (Fprocess_status):
5187         * process.c (Fprocess_exit_status):
5188         * process.c (process_send_signal):
5189         * process.c (Fprocess_send_eof):
5190         * process.c (deactivate_process):
5191         * process.c (remove_process):
5192         * process.c (Fdelete_process):
5193         * process.c (kill_buffer_processes):
5194         * process.c (Fprocess_kill_without_query):
5195         * process.c (Fprocess_kill_without_query_p):
5196         * rangetab.c:
5197         * rangetab.c (Fget_range_table):
5198         * rangetab.c (Fput_range_table):
5199         * rangetab.c (Fremove_range_table):
5200         * rangetab.c (Fclear_range_table):
5201         * search.c:
5202         * search.c (Fskip_chars_forward):
5203         * search.c (Fskip_chars_backward):
5204         * search.c (Fskip_syntax_forward):
5205         * search.c (Fskip_syntax_backward):
5206         * search.c (search_command):
5207         * search.c (Freplace_match):
5208         * search.c (Fregexp_quote):
5209         * select.c (Fown_selection_internal):
5210         * select.c (Fselection_owner_p):
5211         * select.c (Fselection_exists_p):
5212         * select.c (Fget_selection_internal):
5213         * specifier.c:
5214         * symbols.c:
5215         * symbols.c (Fintern):
5216         * symbols.c (Fintern_soft):
5217         * symbols.c (Funintern):
5218         * symbols.c (Fapropos_internal):
5219         * symbols.c (Fset_default):
5220         * syntax.c:
5221         * syntax.c (Fsyntax_table_p):
5222         * syntax.c (Fcopy_syntax_table):
5223         * syntax.c (Fset_syntax_table):
5224         * syntax.c (Fchar_syntax):
5225         * syntax.c (syntax_match):
5226         * syntax.c (Fmatching_paren):
5227         * syntax.c (Fforward_word):
5228         * syntax.c (scan_lists):
5229         * syntax.c (Fscan_lists):
5230         * syntax.c (Fscan_sexps):
5231         * syntax.c (Fparse_partial_sexp):
5232         * toolbar.c (Fcheck_toolbar_button_syntax):
5233         * tooltalk.doc:
5234         * window.c:
5235         * window.c (Fwindowp):
5236         * window.c (Fwindow_live_p):
5237         * window.c (Fwindow_point):
5238         * window.c (Fdelete_window):
5239         * window.c (Fnext_window):
5240         * window.c (Fprevious_window):
5241         * window.c (Fother_window):
5242         * window.c (window_loop):
5243         * window.c (Fget_lru_window):
5244         * window.c (Fsplit_window):
5245         * window.c (Fenlarge_window):
5246         * window.c (Fenlarge_window_pixels):
5247         * window.c (Fshrink_window):
5248         * window.c (Fshrink_window_pixels):
5249         * window.c (change_window_height):
5250         * window.c (Fwindow_configuration_p):
5251         * window.c (Fcurrent_window_configuration):
5252         * window.h:
5253         * casefiddle.c (casify_object):
5254         * casefiddle.c (Fupcase):
5255         * casefiddle.c (Fdowncase):
5256         * casefiddle.c (Fcapitalize):
5257         * casefiddle.c (Fupcase_initials):
5258         * casefiddle.c (casify_region_internal):
5259         * casefiddle.c (casify_region):
5260         * casefiddle.c (Fupcase_region):
5261         * casefiddle.c (Fdowncase_region):
5262         * casefiddle.c (Fcapitalize_region):
5263         * casefiddle.c (Fupcase_initials_region):
5264         * casefiddle.c (Fupcase_word):
5265         * casefiddle.c (Fdowncase_word):
5266         * casefiddle.c (Fcapitalize_word):
5267         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
5268         Replace 0 with '\0' when working with bytes.
5269         Replace initial "(" with "\(" in docstrings.
5270
5271 2000-11-01  Martin Buchholz  <martin@xemacs.org>
5272
5273         * config.h.in: Handle alloca with Compaq C on Alpha Linux.
5274
5275         * m/alpha.h: Let configure handle SYSTEM_MALLOC on Linux.
5276
5277 2000-10-31  Martin Buchholz  <martin@xemacs.org>
5278
5279         * eldap.c (print_ldap): 64-bit cleaner.  Fixes warning.
5280
5281 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
5282
5283         * doprnt.c (emacs_do_prnt_1): Format (format "%01.2d" 10)
5284         correctly.
5285
5286 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
5287
5288         * fileio.c (Vauto_save_list_file_prefix): Moved from startup.el.
5289         (inhibit_auto_save_session): New variable.
5290         (vars_of_fileio): Declare and initialize them.
5291         * fileio.c (Fdo_auto_save): Don't create session file if
5292         Vinhibit_auto_save_session or Vauto_save_list_file_prefix is non-nil.
5293
5294 2000-10-31  Martin Buchholz  <martin@xemacs.org>
5295
5296         * sgiplay.c (play_internal): C++ compilability.
5297         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Remove unused var `SFTB_prev'.
5298         * callproc.c (Fold_call_process_internal):
5299         Remove unused vars `env', `first'.
5300         * scrollbar.c (update_scrollbar_instance):
5301         #### unused var `current_window'.
5302         * redisplay-tty.c: Put currently unused vars insert_mode_on,
5303         etc. within #ifdef NOT_YET.
5304         * emacs.c: #### unused vars `initial_argc', `initial_argv'.
5305         * dialog-x.c (dbox_descriptor_to_widget_value): ### unused var `title'.
5306         * specifier.c (specifier_instance):
5307         #### unused var `tag'.
5308         Use WINDOW_BUFFER, FRAME_DEVICE instead of their expansion.
5309
5310 2000-10-27  Martin Buchholz  <martin@xemacs.org>
5311
5312         * fns.c (Fbutlast):
5313         * fns.c (list_sort):
5314         * fns.c (Ffillarray):
5315         * fns.c (bytecode_nconc2):
5316         * fns.c (Fnconc):
5317         * fns.c (mapcar1):
5318         * fns.c (Fmapconcat):
5319         Be pedantically 64-bit correct.  For the time when someone will
5320         want to have a list with length > 2**32.
5321
5322         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
5323         Work around MIPSpro compiler bug.
5324
5325         * process-unix.c (unix_kill_child_process): Add snarky comment.
5326         * process-unix.c (try_to_initialize_subtty):  Oops, `=' ==> `=='
5327
5328         * config.h.in: Oops, _getpt ==> _getpty
5329
5330 2000-10-26  Martin Buchholz  <martin@xemacs.org>
5331
5332         * config.h.in:
5333         * regex.c:
5334         Use void*, not char*, as return type of alloca().
5335
5336         * alloc.c (free_marker): Side effect inside assert expression!
5337
5338 2000-10-16  MIYASHITA Hisashi  <himi@m17n.org>
5339
5340         * mule-charset.c (Fset_charset_ccl_program): To check
5341         if the given ccl program is valid, use setup_ccl_program()
5342         instead of CHECK_VECTOR().
5343         (Fmake_charset): Likewise.
5344
5345 2000-10-20  Golubev I. N.  <gin@mo.msk.ru>
5346
5347         * faces.c (get_extent_fragment_face_cache_index):
5348         Fix cachel.merged_faces memory leak.
5349
5350 2000-10-14  MIYASHITA Hisashi  <himi@m17n.org>
5351
5352         * mule-ccl.c (ccl_driver)<CCL_DECODE_SJIS>:
5353         Reset MSB of octets obtained by DECODE_SJIS
5354         because of the incompatibility with Emacs.
5355         (ccl_driver)<CCL_ENCODE_SJIS>:
5356         Set MSB of octets before passing them to
5357         ENCODE_SJIS because of the incompatibility
5358         with Emacs.
5359
5360 2000-10-18   Daiki Ueno  <ueno@unixuser.org>
5361
5362         * lrecord.h (DECLARE_TYPECHECK_LRECORD): Abolish.
5363         (DECLARE_LRECORD): Undo the last change.
5364         (DECLARE_EXTERNAL_LRECORD): Expand typechecking stuff.
5365
5366 2000-10-17   Daiki Ueno  <ueno@unixuser.org>
5367
5368         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Connect
5369         the implementation to lrecord_implementations_table.
5370
5371 2000-10-14   Daiki Ueno  <ueno@unixuser.org>
5372
5373         * lrecord.h (MAKE_EXTERNAL_LRECORD_IMPLEMENTATION): Don't set the
5374         initial value of `lrecord_type_##c_name' and
5375         `lrecord_##c_name.lrecord_type_index'; discard "const" qualifier.
5376         (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): New macro.
5377         [ERROR_CHECK_TYPECHECK] (DECLARE_TYPECHECK_LRECORD): New macro.
5378         [ERROR_CHECK_TYPECHECK] (DECLARE_LRECORD): Use it.
5379         [ERROR_CHECK_TYPECHECK] (DECLARE_EXTERNAL_LRECORD): Use it.
5380
5381 2000-10-17  Martin Buchholz  <martin@xemacs.org>
5382
5383         * miscplay.c (sndcnv8S_2mono):
5384         (sndcnv2monounsigned):
5385         (sndcnvULaw_2linear):
5386         (sndcnv16swap):
5387         Remove implementation-defined behavior.
5388
5389 2000-10-12  Martin Buchholz  <martin@xemacs.org>
5390
5391         * input-method-xlib.c: Warning suppression.
5392
5393 2000-10-05  MIYASHITA Hisashi  <himi@m17n.org>
5394
5395         * mule-ccl.c: Sync up with Emacs 21.0.90.
5396         (ccl_driver)<CCL_TranslateCharacter>: Disabled.
5397         Do nothing.
5398         (ccl_driver)<CCL_TranslateCharacterConstTbl>:
5399         Likewise.
5400         (ccl_driver[WriteMultibyteChar2]): Bug fix.
5401         Use MAX_LEADING_BYTE_OFFICIAL_2 instead of
5402         MIN_LEADING_BYTE_OFFICIAL_2 to check whether the
5403         leading char belongs to official 2-dimensional charset.
5404         (CCL_WRITE_CHAR): When CCL_MODE_ENCODING,
5405         write the given character as is.  Otherwise,
5406         if it is a multibyte char, convert it by
5407         non_ascii_set_charptr_emchar, then write it.
5408         (CCL_WRITE_STRING): Likewise.
5409         (ccl_get_compiled_code): New function.
5410         (setup_ccl_program): When ccl_prog is invalid,
5411         return -1.
5412         (Fregister_code_conversion_map): New function.
5413         (syms_of_mule_ccl): defsubr Fregister_code_conversion_map.
5414
5415         * mule-ccl.h: Sync up with Emacs 21.0.90.
5416         (Fregister_ccl_program): export it.
5417
5418         * redisplay-msw.c (separate_textual_runs):
5419         If ccl program is not valid, don't do ccl conversion.
5420
5421         * redisplay-x.c (separate_textual_runs): Ditto.
5422
5423         * file-coding.c (Fmake_coding_system):
5424         When type is ccl and value is vector, register it
5425         with a proper symbol.  And checks whether the
5426         given ccl program is valid.
5427         (mule_decode): When calling ccl_driver, if src indicates
5428         NULL pointer, set an empty string instead.
5429         (mule_encode): Likewise.
5430
5431 2000-10-11  Martin Buchholz  <martin@xemacs.org>
5432
5433         The following large batch of changes gets us back to a state of
5434         C++ compilability.  Extbyte is now a char, which means that
5435         Extbyte * and Bufbyte * cannot be freely interchanged - a win!
5436
5437         * tooltalk.c (Fset_tooltalk_message_attribute): Type correctness.
5438
5439         * sound.c (Fplay_sound): Type correctness.
5440
5441         * select-x.c (hack_motif_clipboard_selection): Type correctness.
5442         (x_get_window_property): Type correctness.
5443         (receive_incremental_selection): unsigned char ==> Extbyte
5444         (selection_data_to_lisp_data): unsigned char ==> Extbyte
5445         (Fx_get_cutbuffer_internal): unsigned char ==> Extbyte
5446         (Fx_store_cutbuffer_internal): Type correctness.
5447
5448         * process-unix.c (try_to_initialize_subtty): Type correctness.
5449
5450         * objects-x.c (x_print_color_instance): Type correctness.
5451         (x_print_font_instance): Type correctness.
5452         (x_list_fonts): SExtbyte ==> Extbyte.
5453         (valid_x_font_name_p): SExtbyte ==> Extbyte.
5454         (x_find_charset_font): SExtbyte ==> Extbyte.
5455         Use TO_INTERNAL_FORMAT.  build_string ==> make_string.
5456         (truename_via_XListFonts): SExtbyte ==> Extbyte.
5457         (x_font_instance_properties): Use TO_INTERNAL_FORMAT.
5458         Use bufbyte_strcmp.
5459
5460         * mule-charset.h (LEADING_BYTE_PREFIX_P): unsigned char ==> Bufbyte
5461         (PRIVATE_LEADING_BYTE_PREFIX): Add paranoia cast.
5462         (BYTE_ASCII_P): Use bit ops for char-signedness safety.
5463         (BYTE_C0_P): Use bit ops for char-signedness safety.
5464         (BYTE_C1_P): Use bit ops for char-signedness safety.
5465         (CHARSET_BY_LEADING_BYTE):
5466         (CHARSET_BY_ATTRIBUTES):
5467         Always use inline function.
5468         Use type_checking_assert.
5469         Hide chlook.
5470
5471         * mule-charset.c (non_ascii_charptr_copy_char):
5472         Modify to work with both ASCII and non-ASCII characters.
5473         Improve docs and variable names.
5474         Replace over-clever fall-through switch with a simple loop.
5475         (Lstream_get_emchar_1):
5476         Replace over-clever fall-through switch with a simple loop.
5477
5478         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
5479         Warning suppression.
5480
5481         * lstream.h (Lstream_get_emchar): BYTE_ASCII_P cannot be used on
5482         the return value of Lstream_getc, which could be EOF as well.
5483
5484         * lstream.c (Lstream_raw_read): Now returns ssize_t, not int.
5485
5486         * lisp.h: Make Extbyte a char, not unsigned char, so that external
5487         APIs can be used on Extbytes without casts.  Risky!
5488         (SExtbyte): Remove.
5489         (UExtbyte): Remove.
5490
5491         * input-method-xlib.c (XIM_init_device):
5492         Use Xlib.h instead of IntrinsicP.h.
5493         Use HAVE_XREGISTERIMINSTANTIATECALLBACK instead of THIS_IS_X11R6,
5494         which will break in X11R7.
5495         Use XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE,
5496         to call XRegisterIMInstantiateCallback with correct types.
5497
5498         * gui-x.c (button_item_to_widget_value): Type correctness.
5499
5500         * glyphs.c (bitmap_to_lisp_data):  Type correctness.
5501
5502         * glyphs-x.c (pixmap_from_xbm_inline): Type correctness.
5503         (xbm_instantiate_1): Type correctness.
5504         (BUILD_GLYPH_INST):  Type correctness.
5505
5506         * fileio.c (Fsubstitute_in_file_name): Type correctness.
5507
5508         * file-coding.c:
5509         (decode_coding_sjis):
5510         (decode_coding_big5):
5511         (decode_coding_ucs4):
5512         (decode_coding_utf8):
5513         (decode_coding_iso2022):
5514         (decode_coding_no_conversion):
5515         Make all decoding functions take an Extbyte * arg.
5516         (encode_coding_sjis):
5517         (encode_coding_big5):
5518         (encode_coding_ucs4):
5519         (encode_coding_utf8):
5520         (encode_coding_iso2022):
5521         (encode_coding_no_conversion):
5522         Make all encoding functions take a Bufbyte * arg.
5523         Use size_t instead of unsigned int for memory sizes.
5524         Only cast to unsigned char whenever dereferencing Extbyte *.
5525
5526         * doc.c (unparesseuxify_doc_string): Type correctness.
5527
5528         * console-x.c (split_up_display_spec):
5529         Rewrite without using details of internal string representation.
5530         (x_semi_canonicalize_device_connection): Type correctness.
5531
5532         * config.h.in:
5533         (HAVE_XREGISTERIMINSTANTIATECALLBACK): New.
5534         (XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE): New.
5535         (HAVE_XFREE386): Removed.
5536
5537         * buffer.h (DEC_CHARPTR): `const' correctness.
5538         (bufbyte_strcmp): New.
5539         (bufbyte_memcmp): New.
5540
5541         * buffer.c (dfc_convert_to_internal_format): Extbyte ==> Bufbyte
5542
5543         * buffer.h (XCHAR_OR_CHAR_INT):
5544         Always use inline function.
5545         Remove redundant type checking assert() - XINT will abort quite nicely.
5546
5547 2000-10-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
5548
5549         * search.c (Freplace_match): Set newtext to an empty string.
5550
5551 2000-10-10  Martin Buchholz  <martin@xemacs.org>
5552
5553         * s/decosf1-3.h: Remove #include of stropts.h
5554         * s/ptx.h: Remove #include of stropts.h
5555         * s/usg5-4.h: Remove #include of stropts.h
5556         * sysproc.h:
5557         * config.h.in:
5558         Use stropts.h, not sys/stropts.h.
5559         Use strtio.h, not sys/strtio.h.
5560
5561 2000-10-04  Martin Buchholz <martin@xemacs.org>
5562
5563         * XEmacs 21.2.36 is released.
5564
5565 2000-09-21  Andy Piper  <andy@xemacs.org>
5566
5567         * glyphs-x.c (x_redisplay_widget): make sure non-structural
5568         changes still involve copying the widget tree.
5569         (update_widget_face): make sure a change is register in the widget
5570         tree. Call update_tab_widget_face appropriately.
5571         (update_tab_widget_face): ditto.
5572         (x_tab_control_redisplay): make sure non-structural changes still
5573         involve copying the widget tree.
5574
5575 2000-08-31   Daiki Ueno  <ueno@unixuser.org>
5576
5577         * lread.c (locate_file): Check the path element is non-nil.
5578
5579 2000-10-02  Martin Buchholz  <martin@xemacs.org>
5580
5581         * lisp.h: Warning suppression for SCO compilers.
5582
5583         * redisplay-tty.c (reset_tty_modes): Fix crash.
5584         E.g. from xemacs running on X: (delete-device (make-device 'tty nil))
5585
5586 2000-09-27  Martin Buchholz  <martin@xemacs.org>
5587
5588         Big signal/process handling overhaul.  Bugs fixed:
5589         M-x shell, type `sleep 10000', M-x comint-interrupt-subjob and
5590         M-x comint-kill-subjob should work for both values nil and t of
5591         process-connection-type. It was broken on most platforms.
5592         Testing on Irix and Cygwin still needed.  Other plaforms tested.
5593         * sysdep.c: Move #include of stropts.h into sysproc.h.  Use pid_t.
5594         * process-unix.c: Signal/Process handling overhaul.
5595         (pty_name): make 64 bytes, as `expect' does, for paranoia.
5596         (allocate_pty): Use all available modern methods of allocating
5597         ptys, falling back to old style BSD allocation as a last resort.
5598         Use allegedly more secure Unix98 pty allocation by default.
5599         (allocate_pty_the_old_fashioned_way): New. the last resort.
5600         (unix_create_process): Push ptem, ldterm, ttcompat where
5601         available.  Autoconfiscate.
5602         (try_to_initialize_subtty): New.
5603         (unix_kill_child_process): Proper signal handling for ptys on most
5604         platforms, using special knowledge of AIX, BSD, etc...
5605         (unix_create_process): Always disconnect_controlling_terminal() for
5606         subprocesses, whether using ptys or not.
5607         * process.h: Remove old getpt-dependent PTY code.
5608         * process.c (Fprocess_send_signal): New, obvious generic function.
5609         (decode_signal): New.
5610         (Finterrupt_process):
5611         (Fkill_process):
5612         (Fquit_process):
5613         (Fstop_process):
5614         (Fcontinue_process):
5615         (Fsignal_process): Use decode_signal.
5616         (process_send_signal):
5617         Many docstring corrections.
5618         Allow any signal to be sent to a process object.
5619         * config.h.in: Add symbols for big signal/process overhaul.
5620         * syssignal.h (EMACS_KILLPG): Use HAVE_KILLPG. Use `pid', not `gid'.
5621         * sysproc.h: Include process-related headers, where available:
5622         sys/stropts.h sys/strtio.h pty.h libutil.h
5623         * s/irix4-0.h:
5624         * s/irix5-0.h:
5625         * s/cygwin32.h:
5626         * s/gnu.h:
5627         * s/linux.h:
5628         * s/hpux.h:
5629         * s/aix3-1.h:
5630         Remove old S&M pty stuff.
5631         * console-tty.c (tty_init_console): Use pid_t, not int, for pids.
5632         * systty.h: Simplify cpp hackery, improve comments.
5633         Favor BSD ioctl(TIOCGPGRP) over Posix tcgetpgrp().
5634
5635         * editfns.c (Fformat_time_string):
5636         Be a little more paranoid with the return value of ctime.
5637
5638         * fileio.c (check_executable):
5639         (check_writable):
5640         Use symbolic constants X_OK, W_OK.
5641
5642         * console-x.c (split_up_display_spec): Fix a warning.
5643
5644 2000-10-02  Martin Buchholz  <martin@xemacs.org>
5645
5646         * gui-x.c (add_accel_and_to_external): strlen ==> XSTRING_LENGTH
5647         * ntproc.c (sys_spawnve): make_string ==> build_string
5648         Small clarity improvements.
5649
5650 2000-09-30  Martin Buchholz  <martin@xemacs.org>
5651
5652         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY): Warning removal.
5653
5654         * s/windowsnt.h (HAVE_STRCASECMP): Remove.
5655
5656         * config.h.in (HAVE_STRCASECMP): Remove.
5657
5658 2000-09-29  Martin Buchholz  <martin@xemacs.org>
5659
5660         * redisplay-output.c (redisplay_output_pixmap):
5661         Cleaner and possibly more 64-bit correct code.
5662
5663 2000-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
5664
5665         * dumper.c (pdump_load_finish): move restoration of
5666         `noninteractive1' to emacs.c (main_1).
5667         * emacs.c (main_1): protect LISP-visible command-line flags
5668         from pdump_load().
5669
5670 2000-09-26  Stephen J. Turnbull  <stephen@xemacs.org>
5671
5672         * Makefile.in.in (versionclean):  Use EXE_TARGET and
5673         DUMP_TARGET instead of literal program names.
5674
5675 2000-09-20  Martin Buchholz  <martin@xemacs.org>
5676
5677         * Makefile.in.in: Recent purify's require absolute paths for cache-dir.
5678
5679 2000-09-19  Martin Buchholz  <martin@xemacs.org>
5680
5681         * *: Spelling mega-patch
5682
5683 2000-09-19  Martin Buchholz  <martin@xemacs.org>
5684
5685         * fns.c (bad_bad_turtle):
5686         Delete "Eek!" comment, since we fixed the bug to which it refers.
5687
5688 2000-09-16  Martin Buchholz  <martin@xemacs.org>
5689
5690         * alloca.c: Replace REGISTER with register.
5691
5692 2000-09-16   Daiki Ueno  <ueno@unixuser.org>
5693
5694         * file-coding.c (ucs_to_char): Use countof.
5695
5696 2000-09-16  Martin Buchholz  <martin@xemacs.org>
5697
5698         * file-coding.c: (ucs_to_char):
5699         (complex_vars_of_file_coding):
5700         Use countof instead of sizeof.
5701         Use CHECK_NATNUM instead of CHECK_INT.
5702
5703         * sysdep.c (strcasecmp): Remove.
5704         * device-x.c (ascii_strcasecmp): New.
5705         * device-x.c (Fx_get_resource): Use ascii_strcasecmp.
5706         Avoid using non-standard non-portable strcasecmp.
5707
5708 2000-09-16  Martin Buchholz  <martin@xemacs.org>
5709
5710         * Makefile.in.in (mostlyclean): remove reference to prefix-args.
5711         * font-lock.c: remove reference to emacsfns.h.
5712         * search.c: small doc improvement.
5713         * event-Xt.c: correct file names in comments.
5714         * console-x.h Correct file names in comments.
5715         * frame.c: Correct file names in comments.
5716         * event-stream.c: remove Energize from comments.
5717
5718 2000-09-15  Martin Buchholz  <martin@xemacs.org>
5719
5720         * symeval.h (DEFERROR_STANDARD):
5721         (DEFERROR):
5722         (DEFSYMBOL):
5723         (DEFSYMBOL_NO_DUMP):
5724         (DEFSYMBOL_MULTIWORD_PREDICATE):
5725         (DEFSYMBOL_MULTIWORD_PREDICATE_NO_DUMP):
5726         (DEFKEYWORD):
5727         The construct &##name is not sensible C.
5728         Fixes compilation errors with Unixware native compiler.
5729
5730 2000-09-14  Martin Buchholz  <martin@xemacs.org>
5731
5732         * frame.c (device_matches_console_spec): no longer takes a `frame' arg
5733         (next_frame_internal): Removed.  We now just have next_frame.
5734         (next_frame):
5735         Write a simpler and cleaner one-pass algorithm.
5736         Remove called_from_delete_device arg and #ifdefed-out code.
5737         (previous_frame):
5738         Renamed from prev_frame.  Update callers.
5739         Cleaned up to have an analogous implementation to next_frame.
5740         (other_visible_frames_internal): Remove the
5741         called_from_delete_device bogus arg, and hence, remove this
5742         function.  Just use other_visible_frames().
5743
5744         * window.c (Fnext_window):
5745         Prettify docstring.
5746         Since next_frame() is guaranteed to return a frame, remove check
5747         for nil inserted in previous patch.
5748         (Fprevious_window):
5749         Prettify docstring.
5750         Make code look more like Fnext_window.
5751         (window_loop):
5752         Respect the `console' arg when iterating through windows.
5753         Fixes bug: (get-buffer-window buffer t device) not respecting
5754         the `device' arg.
5755         This function needs more work, as others have pointed out.
5756
5757         * frame.h: Rename prev_frame to previous_frame.
5758         device_matches_console_spec no longer takes a `frame' arg.
5759
5760         * s/gnu.h:
5761         * s/linux.h:
5762         * s/hpux.h:
5763         Use EMACS_BLOCK_SIGNAL instead of sigblock.
5764         From "Golubev I. N." <gin@mo.msk.ru>.
5765
5766         * make-src-depend: Fix typo.
5767
5768 2000-09-13  Martin Buchholz  <martin@xemacs.org>
5769
5770         * window.c (Fnext_window):
5771         next_frame() might return nil, not a frame.
5772         Fixes this crash:
5773         (gdb) run -eval '(progn  (make-device (quote x) "polgar:0") (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
5774
5775         * frame.c (next_frame_internal):
5776         We've passed a frame if we've passed its device.
5777         Fixes this crash:
5778         (gdb) run -eval '(progn (make-frame nil (make-device (quote x) "polgar:0")) (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
5779 Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245, RECORD_TYPEP (obj, lrecord_type_frame)
5780
5781 2000-09-11  Jonathan Harris  <jhar@tardis.ed.ac.uk>
5782
5783         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
5784         Allow option to suppress accelerators in menu/dialog items.
5785         (populate_or_checksum_helper): Pass dialog title through above.
5786
5787 2000-09-10  Jonathan Harris  <jhar@tardis.ed.ac.uk>
5788
5789         * event-msw.c (mswindows_key_to_emacs_keysym):
5790         Add "pause" key, fix "menu" key.
5791
5792 2000-09-09  Martin Buchholz  <martin@xemacs.org>
5793
5794         * eval.c (reinit_vars_of_eval):
5795         Increase max_lisp_eval_depth to 1000,
5796         required for thai-xtis.el to byte-compile under some circumstances.
5797
5798 2000-09-04  Martin Buchholz  <martin@xemacs.org>
5799
5800         * event-Xt.c (x_to_emacs_keysym): Increase size of `buffer' to 513.
5801         From Kenichi Handa.
5802
5803 2000-09-01  Martin Buchholz  <martin@xemacs.org>
5804
5805         * make-src-depend: Make the generated Makefiles smaller.
5806
5807         * s/hpux.h (SETUP_SLAVE_PTY):
5808         Provide a %d in the format string for the errno argument.
5809
5810         * editfns.c (Ftemp_directory):
5811         Warning fix.
5812         Avoid buffer overrun on very long file name.
5813
5814         * input-method-xlib.c (XIM_init_device):
5815         6th parameter of XRegisterIMInstantiateCallback has different
5816         pointer types on different OSes, so simply cast to (void *).
5817
5818         * unexhp9k800.c: Warning fixes.  Fiddly changes.
5819
5820         * sysdll.c (dll_open):
5821         shl_load will hang hard if passed a NULL filename.
5822         Simply return NULL for compatibility with dlopen.
5823         * sysdll.c: Conform to XEmacs coding standards.
5824
5825         * sysdep.c (get_pty_max_bytes):
5826         Support pty input lines longer than 512 bytes on HP-UX 10.20.
5827
5828 2000-08-31  Martin Buchholz  <martin@xemacs.org>
5829
5830         * tooltalk.c: Add #include <syssignal.h>
5831
5832 2000-08-12  Alexandre Oliva  <aoliva@redhat.com>
5833
5834         * s/hpux.h: Don't use undefined function sigunblock().
5835
5836 2000-08-31  Martin Buchholz  <martin@xemacs.org>
5837
5838         * config.h.in: Add HAVE_BALLOON_HELP.
5839         * emacs.c: Use HAVE_BALLOON_HELP.
5840         * Makefile.in.in (x_objs):
5841         Make Balloon Help conditional on finding shape.h.
5842
5843 2000-08-23  Yoshiki Hayashi  <yoshiki@xemacs.org>
5844
5845         * syntax.c (regex_emacs_buffer_p): New variable.
5846         * syntax.h (regex_emacs_buffer_p): extern.
5847         * search.c (looking_at_1):
5848         (string_match_1):
5849         (fast_string_match):
5850         (search_buffer): Set regex_emacs_buffer_p.
5851         * regex.c (re_match_2_internal): Reference regex_emacs_buffer_p
5852         when before_dot, at_dot, after_dot.
5853
5854 2000-08-23  Andy Piper  <andy@xemacs.org>
5855
5856         * gui-x.c (popup_selection_callback): Only set action_occurred
5857         when we really have an image instance.
5858         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
5859
5860 2000-08-23  Andy Piper  <andy@xemacs.org>
5861
5862         * gui-msw.c (mswindows_handle_gui_wm_command): set
5863         action_occurred.
5864         * gui-x.c (popup_selection_callback): ditto.
5865
5866         * glyphs.h (IMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): new accessor.
5867         (XIMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): ditto.
5868         (struct Lisp_Image_Instance): add action_occurred flag.
5869
5870         * glyphs.c (redisplay_subwindow): use action_occurred flag.
5871         (image_instance_changed): ditto.
5872         (reset_frame_subwindow_instance_cache): only unmap windows - do
5873         not remove them from the cache also.
5874
5875         * glyphs-widget.c (tab_control_update): better debug.
5876         (progress_gauge_update): ditto.
5877         (layout_update): ditto.
5878         (layout_instantiate): ditto.
5879         (tab_control_order_only_changed): cope with null pending items.
5880
5881         * glyphs-msw.c (mswindows_tab_control_redisplay): add better
5882         debug. Force selection of an item when an action occurred. Cope
5883         with null pending_items.
5884         (mswindows_progress_gauge_redisplay): better debug.
5885         * glyphs-x.c (x_tab_control_redisplay): ditto.
5886
5887         * redisplay.c (redisplay_frame): reset the frame cache if the
5888         frame is garbaged.
5889
5890         * window.c (Fset_window_configuration): potentially re-enable
5891         frame cache reset.
5892         (window_unmap_subwindows): need to finalize instances here since
5893         it is only used in mark_window_as_deleted.
5894
5895 2000-08-22  Stephen J. Turnbull  <stephen@xemacs.org>
5896
5897         * nas.c (SndOpenDataForReading):
5898         nas.c (WaveOpenDataForReading):
5899         nas.c (readChunk): {BIG,LITTLE}_ENDIAN -> NAS_{BIG,LITTLE}_ENDIAN.
5900         Somehow escaped from the 2000-08-14 patch.
5901
5902 2000-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
5903
5904         * nas.c:  Preprocessor trickery to use NAS_LITTLE_ENDIAN instead
5905         of LITTLE_ENDIAN (conflicts with glibc, at least) in NAS <= 1.2p5.
5906
5907 2000-08-21  Andy Piper  <andy@xemacs.org>
5908
5909         * glyphs-x.c (x_map_subwindow): Minor optimization - only map the
5910         window if it is not already displayed.
5911
5912         * glyphs-msw.c (mswindows_map_subwindow): only map the window if
5913         it is not already displayed.
5914
5915         * window.c (Fset_window_configuration): don't reset the frame
5916         cache.
5917
5918         * glyphs.c (unmap_subwindow_instance_cache_mapper): only remove
5919         instances from the frame cache if we are actually finalizing them.
5920         (reset_frame_subwindow_instance_cache): reset frame cache only
5921         after unmapping everything.
5922         (map_subwindow): set displayed flag after mapping.
5923
5924 2000-08-21  Martin Buchholz  <martin@xemacs.org>
5925
5926         * data.c (indirect_function):
5927         Rename ERRORP to non-misleading VOID_FUNCTION_ERRORP.
5928
5929         * eval.c (function_argcount):
5930         Use original function when signaling errors.
5931
5932 2000-08-18  Andy Piper  <andy@xemacs.org>
5933
5934         * frame.c (delete_frame_internal): use new
5935         free_frame_subwindow_instances name.
5936
5937         * glyphs-msw.c (mswindows_tab_control_instantiate): verify index.
5938         (add_tab_item): make return type correct.
5939         (mswindows_tab_control_instantiate): assert index of tab.
5940         (mswindows_tab_control_redisplay): Re-code to use
5941         gui_item_equal_sans_selected and gui_item_list_find_selected.
5942
5943         * glyphs-widget.c (tab_control_update): Correct comment.
5944
5945         * window.c (window_unmap_subwindows): use new
5946         unmap_subwindow_instance_cache_mapper.
5947         (window_unmap_subwindows_cache_mapper): deleted.
5948         (Fset_window_configuration): comparisons should now be with
5949         EQ. Preserve the subwindow instance cache across configuration
5950         changes.
5951         (allocate_window): ditto.
5952         (make_dummy_parent): ditto.
5953
5954         * glyphs.c (free_frame_subwindow_instances): rename from
5955         free_frame_subwindow_instance_cache. finalize all instances rather
5956         than just those in the display cache.
5957         (finalize_all_subwindow_instances): walk windows unmapping and
5958         finalizing subwindows.
5959         (unmap_subwindow_instance_cache_mapper): moved from
5960         window.c. Allow finalization as well as unmapping.
5961
5962         * gui.c (gui_item_list_find_selected): new function.
5963
5964         * gui.h (gui_item_list_find_selected): declare.
5965
5966         * glyphs-x.c (x_tab_control_redisplay): pick tab
5967         explicitly. Re-code to use gui_item_equal_sans_selected and
5968         gui_item_list_find_selected.
5969
5970         * glyphs-x.h: add lwlib-utils.h
5971
5972         * buffer.c (Frecord_buffer): undo previous change.
5973
5974 2000-08-09  Vin Shelton  <acs@xemacs.org>
5975
5976         * config.h.in, s/gnu.h, s/hpux.h, s/linux.h: Use UNIX98 PTYs if
5977         possible.  Create temporary files more securely.  The patch was
5978         generated by Torsten Duwe <duwe@caldera.de>, Florian Weimer
5979         <Florian.Weimer@RUS.Uni-Stuttgart.DE> and Olaf Kirch.  See
5980         http://www.xemacs.org/list-archives/xemacs-patches/200007/msg00123.html
5981         for details.
5982
5983 2000-08-07  Ben Wing  <ben@xemacs.org>
5984
5985         * getloadavg.c: remove duplicate (and windows-breaking)
5986         includes of fcntl.h and sys/file.h.
5987
5988         * nt.c: remove duplicate getloadavg() definition.
5989
5990         * sysdll.h (Qdll_filename_encoding): add missing stand-in
5991         encodings.
5992
5993 2000-08-07  Gunnar Evermann  <ge204@eng.cam.ac.uk>
5994
5995         * eval.c (function_argcount): If function needs to be autoloaded
5996         actually use the loaded definition.
5997         GCPRO function.
5998
5999 2000-08-05  Ben Wing  <ben@xemacs.org>
6000
6001         * getloadavg.c: add prototype for getloadavg().  remove
6002         duplicate WIN32_NATIVE/CYGWIN code (already in the middle
6003         of the code).  remove duplicate header includes.
6004
6005         * s\cygwin32.h, s\mingw32.h: remove stray NO_ARG_ARRAY.
6006
6007         * s\cygwin32.h, s\mingw32.h, m\windowsnt.h:
6008         don't define LOAD_AVE_TYPE/LOAD_AVE_CVT because we have no
6009         useful load average.
6010
6011         * alloc.c (reinit_alloc_once_early): removed references to
6012         VIRT_ADDR_VARIES, malloc_sbrk_used/free, and data-bytes-used/free.
6013         the lisp vars are the only things referencing the malloc_sbrk_*
6014         vars, and they were already if 0'd out.  these vars only exist
6015         in the older malloc.c, which is basically unused, and they're
6016         only for informational purposes.
6017
6018         * m\*.h: removed useless VIRT_ADDR_VARIES.
6019
6020         * m\powerpc.h: removed stray NO_ARG_ARRAY.
6021
6022 2000-04-26  IKEYAMA Tomonori  <tomonori@suiyokai.org>
6023
6024         * redisplay-msw.c (mswindows_output_dibitmap): Set foreground
6025         color if the image is a mono pixmap.
6026
6027 2000-07-30  Ben Wing  <ben@xemacs.org>
6028
6029         * Makefile.in.in (release):
6030         Remove stray @.
6031
6032         * buffer.c (directory_is_current_directory):
6033         * dired-msw.c (mswindows_get_files):
6034         * dired.c:
6035         * dired.c (Fdirectory_files):
6036         * dired.c (file_name_completion_stat):
6037         * dired.c (Ffile_attributes):
6038         [[[[1]]]]: Rename stat() -> xemacs_stat() and eliminate nasty
6039         preprocessor tricks, to avoid problems on some machines
6040         (e.g. SCO).
6041
6042         * callproc.c (egetenv): GC docs.
6043
6044         * console-msw.h:
6045         * console-msw.h (struct mswindows_dialog_id):
6046         * lrecord.h (lrecord_type):
6047         New object for use with MSW dialogs.
6048
6049         * console.h (struct console_methods):
6050         New enable/disable frame methods, for proper modal dialogs.
6051
6052         * device-msw.c (msprinter_default_printer): Fix to follow
6053         proper Mule conventions.
6054
6055         * device-msw.c:
6056         * device-msw.c (signal_open_printer_error):
6057         * device-msw.c (msprinter_init_device):
6058         * device-msw.c (ensure_not_printing):
6059         * device-msw.c (plist_get_margin):
6060         * device-msw.c (Fmsprinter_select_settings):
6061         * device-msw.c (finalize_devmode):
6062         * device-msw.c (Fmsprinter_settings_despecialize):
6063         * device-msw.c (signal_enum_priner_error):
6064         * extents.c (decode_extent):
6065         * extents.c (decode_map_extents_flags):
6066         * extents.c (decode_extent_at_flag):
6067         * extents.c (Fextent_at):
6068         * extents.c (Fextents_at):
6069         * extents.c (symbol_to_glyph_layout):
6070         [[[[2]]]] Use structured errors.
6071
6072         * dialog-msw.c:
6073         * dialog-msw.c (mswindows_is_dialog_msg):
6074         * dialog-msw.c (mark_mswindows_dialog_id):
6075         * dialog-msw.c (dialog_proc):
6076         * dialog-msw.c (handle_question_dialog_box):
6077         * dialog-msw.c (syms_of_dialog_mswindows):
6078         Define new object to clean up marking; use it as a dialog identifier.
6079         Call new delete-dialog-box-hook.
6080
6081         * dialog-x.c (dbox_selection_callback):
6082         * dialog-x.c (dbox_descriptor_to_widget_value):
6083         * dialog-x.c (x_make_dialog_box_internal):
6084         Call new delete-dialog-box-hook.
6085         Return an id.
6086
6087         * dialog.c:
6088         * dialog.c (syms_of_dialog):
6089         * dialog.c (vars_of_dialog):
6090         Define new delete-dialog-box-hook, for use w/modal dialog boxes.
6091
6092         * eval.c:
6093         * eval.c (signal_call_debugger):
6094         when noninteractive, output stack traces on the console instead
6095         of in a (never-seen) buffer.
6096
6097         * eval.c (signal_type_error):
6098         * eval.c (invalid_argument_2):
6099         * lisp.h:
6100         new funs for use w/structured errors.
6101
6102         * event-Xt.c:
6103         * event-Xt.c (x_to_emacs_keysym):
6104         * event-Xt.c (describe_event):
6105         * event-Xt.c (emacs_Xt_event_handler):
6106         * event-Xt.c (vars_of_event_Xt):
6107         * event-msw.c:
6108         * event-msw.c (mswindows_wnd_proc):
6109         * event-msw.c (vars_of_event_mswindows):
6110         rename {x,mswindows}-debug-events to debug-{}-events for
6111         consistency with other debug-foo variables.
6112
6113         * event-stream.c:
6114         document next-event more clearly.
6115
6116         * fileio.c (Ffile_name_directory):
6117         * fileio.c (Ffile_name_nondirectory):
6118         * fileio.c (Funhandled_file_name_directory):
6119         * fileio.c (file_name_as_directory):
6120         * fileio.c (Ffile_name_as_directory):
6121         * fileio.c (directory_file_name):
6122         * fileio.c (Fdirectory_file_name):
6123         * fileio.c (Fmake_temp_name):
6124         * fileio.c (Ffile_truename):
6125         * fileio.c (Fsubstitute_in_file_name):
6126         * fileio.c (expand_and_dir_to_file):
6127         * fileio.c (barf_or_query_if_file_exists):
6128         * fileio.c (check_executable):
6129         * fileio.c (Ffile_exists_p):
6130         * fileio.c (Ffile_writable_p):
6131         * fileio.c (Ffile_directory_p):
6132         * fileio.c (Ffile_regular_p):
6133         * fileio.c (Ffile_modes):
6134         * fileio.c (Ffile_newer_than_file_p):
6135         * fileio.c (Fverify_visited_file_modtime):
6136         * fileio.c (Fset_visited_file_modtime):
6137         * fileio.c (auto_save_1):
6138         (1). (2).
6139         fix up gcpro's.
6140
6141         * frame-msw.c:
6142         * frame-msw.c (mswindows_init_frame_1):
6143         * frame-msw.c (mswindows_enable_frame):
6144         * frame-msw.c (error_frame_unsizable):
6145         * frame-msw.c (msprinter_init_frame_1):
6146         * frame-msw.c (msprinter_init_frame_3):
6147         * frame-msw.c (console_type_create_frame_mswindows):
6148         (2).
6149         implement new enable/disable frame methods.
6150
6151         * frame-x.c:
6152         * frame-x.c (x_enable_frame):
6153         * frame-x.c (console_type_create_frame_x):
6154         implement new enable/disable frame methods.
6155
6156         * frame.c:
6157         * frame.c (Fdisable_frame):
6158         * frame.c (syms_of_frame):
6159         * frame.h (struct frame):
6160         implement new enable/disable frame methods/functions.
6161
6162         * general-slots.h:
6163         add initial-focus.
6164
6165         * glyphs-msw.c (mswindows_widget_instantiate):
6166         comment that initial-focus should be implemented.
6167
6168         * glyphs-widget.c:
6169         * glyphs-widget.c (check_valid_instantiator):
6170         * glyphs-widget.c (check_valid_orientation):
6171         * glyphs-widget.c (check_valid_tab_orientation):
6172         * glyphs-widget.c (check_valid_justification):
6173         * glyphs-widget.c (check_valid_border):
6174         * glyphs-widget.c (check_valid_callback):
6175         * glyphs-widget.c (check_valid_int_or_function):
6176         * glyphs-widget.c (check_valid_string_or_vector):
6177         * glyphs-widget.c (check_valid_item_list_1):
6178         * glyphs-widget.c (widget_validate):
6179         * glyphs-widget.c (combo_box_validate):
6180         * glyphs-widget.c (widget_instantiate):
6181         * glyphs-widget.c (syms_of_glyphs_widget):
6182         * glyphs-widget.c (VALID_WIDGET_KEYWORDS):
6183         * glyphs-widget.c (image_instantiator_combo_box):
6184         * glyphs-widget.c (image_instantiator_scrollbar):
6185         * glyphs-widget.c (image_instantiator_tab_control):
6186         * glyphs-widget.c (VALID_LAYOUT_KEYWORDS):
6187         (2).
6188         support (unimplemented) keyword initial-focus.
6189         reindent long macros.
6190
6191         * glyphs-x.c (x_redisplay_widget):
6192         * glyphs-x.c (x_button_instantiate):
6193         * glyphs-x.c (x_button_redisplay):
6194         * glyphs-x.c (x_progress_gauge_instantiate):
6195         * glyphs-x.c (x_edit_field_instantiate):
6196         * glyphs-x.c (x_combo_box_instantiate):
6197         * glyphs-x.c (x_tab_control_instantiate):
6198         * glyphs-x.c (x_label_instantiate):
6199         * gui-x.c:
6200         * gui-x.c (button_item_to_widget_value):
6201         * gui-x.c (gui_items_to_widget_values_1):
6202         * gui-x.c (gui_item_children_to_widget_values):
6203         * gui-x.c (gui_items_to_widget_values):
6204         * gui-x.h:
6205         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
6206         add new flag to gui-parsing routines to indicate whether
6207         accelerator specs should be supported.
6208
6209         * glyphs.c (syms_of_glyphs): use DEFSYMBOL.
6210
6211         * glyphs.h (struct Lisp_Image_Instance):
6212         * glyphs.h (IMAGE_INSTANCE_WANTS_INITIAL_FOCUS):
6213         add initial-focus flag.
6214
6215         * gui.c:
6216         * gui.c (syms_of_gui):
6217         * gui.c (vars_of_gui):
6218         clean up menu-no-selection-hook.
6219
6220         * gui.h:
6221         support delete-dialog-box-hook.
6222
6223         * lread.c (Fload_internal):
6224         * lread.c (locate_file_in_directory_mapper):
6225         (1).
6226
6227         * lrecord.h:
6228         * lrecord.h (struct toolbar_button):
6229         * lrecord.h (syms_of_toolbar):
6230         document how to create a new object.
6231
6232         * menubar-msw.c (mswindows_char_is_accelerator):
6233         may be called on frames w/o menus.
6234
6235         * menubar.c (vars_of_menubar):
6236         clean up :filter docs.
6237
6238         * nt.c (readdir):
6239         * ntproc.c:
6240         (1).
6241
6242         * process-nt.c:
6243         * process-nt.c (validate_signal_number):
6244         * process-nt.c (signal_cannot_launch):
6245         * process-nt.c (nt_create_process):
6246         * process-nt.c (nt_send_process):
6247         * process-nt.c (nt_kill_child_process):
6248         * process-nt.c (nt_open_network_stream):
6249         * process-nt.c (syms_of_process_nt):
6250         (2).
6251         delete quote-handling.  call new lisp code that does it better.
6252
6253         * process-unix.c (connect_to_file_descriptor):
6254         * process-unix.c (allocate_pty):
6255         * process-unix.c (unix_send_process):
6256         * process-unix.c (unix_kill_child_process):
6257         * process-unix.c (unix_open_network_stream):
6258         * process-unix.c (unix_open_multicast_group):
6259         (1). (2).
6260
6261         * process.c:
6262         * process.c (Fstart_process_internal):
6263         (2).  need to canonicalize process path even if absolute.
6264
6265         * select-msw.c (symbol_to_ms_cf):
6266         * select-msw.c (ms_cf_to_symbol):
6267         * select-msw.c (cf_is_autofreed):
6268         * select-msw.c (mswindows_destroy_selection):
6269         * select.c:
6270         * select.c (syms_of_select):
6271         * select.h:
6272         support dibv5, fix bugs. (from Mike Alexander)
6273
6274         * select.c (Fget_selection_internal):
6275         * select.c (select_convert_out):
6276
6277         * sysdep.c:
6278         * sysdep.c (xemacs_stat):
6279         renamed.
6280
6281         * sysdep.c (mkdir):
6282         * sysdep.c (rmdir):
6283         but keep original stat() here because we provide encapsulation
6284         around these funs.
6285
6286         * sysfile.h:
6287         * sysfile.h (fstat):
6288         remove stat garbage.
6289
6290         * syswindows.h:
6291         fix X/MSW conflict.
6292         don't include tchar.h.  it's inappropriate because it makes
6293         compile-time distinctions when we want runtime distinctions.
6294         (we provide our own tchar replacements)
6295
6296         * toolbar.c:
6297         use default object printer for toolbar-button.
6298
6299         * unexcw.c:
6300         make sure we don't encapsulate.
6301
6302         * window.c (vars_of_window):
6303         emphasize that temp-buffer-show-hook is obsolete.
6304
6305 2000-08-05  Martin Buchholz  <martin@xemacs.org>
6306
6307         * glyphs.c (image_instance_hash): HASH2 wants EMACS_INT args.
6308         (Fimage_instance_subwindow_id): make_int wants EMACS_INT arg.
6309
6310         * events.c (Fevent_timestamp_lessp):
6311         Not 64-bit clean.  Use EMACS_INT, not int.
6312
6313 2000-06-05  Andrew Begel <abegel@cs.berkeley.edu>
6314
6315         * lrecord.h (lrecord_types): Changed lrecord_type_count to an
6316         unsigned int and changed the last enum to
6317         lrecord_type_last_built_in_type.
6318         (lrecord_implementations_table): changed prototype to know how
6319         long the array is supposed to be.
6320         (lrecord_type_count): new unsigned int to keep track of the
6321         current number of lisp lrecord types.
6322         (DEFINE_EXTERNAL_LRECORD):
6323         (DECLARE_EXTERNAL_LRECORD): Added these two for external
6324         dynamic-modules to declare new lisp types. They are the same
6325         as the non-EXTERNAL forms, but declare an lrecord_type unsigned
6326         int for each new type, and increment lrecord_type_count by 1.
6327
6328         * alloc.c (lrecord_implementations_table): Changed to reference
6329         lrecord_type_last_built_in_type for the size of the array.
6330         Moved MODULE_DEFINABLE_TYPE_COUNT to lrecord.h.
6331
6332 2000-08-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
6333
6334         * glyphs.h (check_valid_item_list): Renamed from
6335         check_valid_item_list_1.
6336
6337 2000-08-01 Alastair J. Houghton <ajhoughton@lineone.net>
6338
6339         * select.c (Qselect_coerce): New.
6340         * select.c (Vselection_coercion_alist): New.
6341         * select.c (syms_of_select): Declare.
6342         * select.c (get-selection-internal): Use it.
6343         Use the new select-coerce functionality.
6344
6345         * select.c (select_coerce): New.
6346         * select.h (select_coerce): Declare.
6347         New function to coerce one type of data into another.
6348
6349 2000-08-03  Martin Buchholz  <martin@xemacs.org>
6350
6351         * callproc.c (Fcall_process_internal):
6352         (Fcall_process_internal):
6353         * process-unix.c (unix_create_process):
6354         Save and restore the value of errno, so that error messages are accurate.
6355
6356 2000-08-01  Martin Buchholz  <martin@xemacs.org>
6357
6358         * elhash.c (print_hash_table):
6359         Fix printing of hash tables to also use `key-and-value' instead of `t'.
6360         Prettify docstrings and indentation.
6361
6362 2000-07-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
6363
6364         * window.c (Fwindow_pixel_edges): Subtract frame border and
6365         gutter size.
6366
6367 2000-07-31  Andy Piper  <andy@xemacs.org>
6368
6369         * buffer.c (Frecord_buffer): make absolutely sure that redisplay
6370         will acknowledge the change.
6371
6372         * glyphs.h: declare tab_control_order_only_changed.
6373
6374         * glyphs-x.c (x_tab_control_redisplay): use
6375         tab_control_order_only_changed.
6376
6377         * glyphs-widget.c (tab_control_order_only_changed): new function.
6378
6379         * glyphs-msw.c (mswindows_tab_control_redisplay): use
6380         tab_control_order_only_changed.
6381
6382         * gui.c (gui_item_equal_sans_selected): new function.
6383         (gui_item_equal): use it.
6384
6385         * glyphs-msw.c (mswindows_combo_box_instantiate): deprecate
6386         :properties in favor of :items..
6387
6388         * glyphs-widget.c (check_valid_item_list): rename from
6389         check_valid_item_list_1.
6390         (check_valid_item_list_1): renamed.
6391         (combo_box_validate): deprecate :properties in favor of :items.
6392         (widget_instantiate): ditto.
6393         (tab_control_update): ditto.
6394         (image_instantiator_combo_box): ditto.
6395         (image_instantiator_tree_view): ditto.
6396         (image_instantiator_tab_control): ditto.
6397         (layout_post_instantiate): remove dead code.
6398
6399         * print.c (debug_print_no_newline): only write to debugger if in
6400         WIN32_NATIVE.
6401
6402         * elhash.c (Fmake_hash_table): update doc string.
6403
6404         * event-msw.c (mswindows_wnd_proc): don't allow processing of
6405         messages whilst in GC. This at least stops XEmacs crashing but has
6406         the potential for wierd behaviour.
6407
6408 2000-07-31  Martin Buchholz  <martin@xemacs.org>
6409
6410         * config.h.in:
6411         Make existence of s&m files optional.
6412
6413         * s/bsd386.h: Remove HAVE_GETLOADAVG.
6414         * s/freebsd.h: Remove HAVE_GETLOADAVG.
6415         * s/gnu.h: Remove HAVE_GETLOADAVG.
6416         * s/netbsd.h: Remove HAVE_GETLOADAVG.
6417         * s/sol2.h: Remove HAVE_GETLOADAVG.
6418         * lisp.h: Remove getloadavg() declaration.
6419         * fns.c:
6420         Include <sys/loadavg.h> if available.
6421         Don't declare our own getloadavg() if HAVE_GETLOADAVG.
6422         * config.h.in:  Group together getloadavg()-related macros.
6423         Use only configure-time tests to detect getloadavg().
6424
6425 2000-07-30  Martin Buchholz  <martin@xemacs.org>
6426
6427         * Makefile.in.in (TransientEmacsShell.o): Fix race condition.
6428
6429 2000-07-25  Andy Piper  <andy@xemacs.org>
6430
6431         * syswindows.h: add tchar.h for native builds.
6432
6433         * frame.c (syms_of_frame): remove set-glyph-image.
6434
6435         * general-slots.h: add Qset_glyph_image.
6436
6437         * glyphs-widget.c (layout_update): add domain arg to
6438         set-glyph-image.
6439         (syms_of_glyphs_widget): remove set-glyph-image.
6440
6441 2000-07-23  Ben Wing  <ben@xemacs.org>
6442
6443         * dialog-msw.c (vars_of_dialog_mswindows): need to staticpro
6444         Vpopup_frame_list.
6445
6446 2000-07-22  Andy Piper  <andy@xemacs.org>
6447
6448         * symsinit.h: add syms_of_win32().
6449
6450         * gui-msw.c (syms_of_gui_mswindows): remove
6451         Fmswindows_shell_execute.
6452         (Fmswindows_shell_execute): moved to win32.c.
6453
6454         * emacs.c (main_1): add syms_of_win32 ().
6455
6456         * win32.c (init_potentially_nonexistent_functions): rewrite in
6457         compiler-friendly terms.
6458         (Fmswindows_shell_execute): move here from gui-msw.c.
6459         (syms_of_win32): new.
6460
6461         * device-msw.c (Fmswindows_printer_list): clean up args to
6462         EnumPrinters.
6463         Don't include tchar under cygwin or mingw.
6464         (msprinter_default_printer): make cygwin-friendly.
6465
6466 2000-07-21  Andy Piper  <andy@xemacs.org>
6467
6468         * glyphs-widget.c (image_instantiator_tree_view): use tab
6469         control's update function.
6470         (layout_property): new function. Retrieve items.
6471
6472         * glyphs-msw.c (mswindows_tree_view_redisplay): new
6473         function. Re-populate the tree view from the pending items.
6474
6475         * glyphs.c (instantiate_image_instantiator): Make sure the domain
6476         is designated the parent if the domain is an image instance. This
6477         is needed so that dirtiness can be cascade up the hierarchy and
6478         thus for layout children to be redisplayed correctly.
6479         (allocate_image_instance): rename glyph -> parent.
6480
6481         * redisplay.h: change redisplay_output_layout signature.
6482
6483         * redisplay-msw.c (mswindows_output_display_block): use domain
6484         arg.
6485
6486         * redisplay-x.c (x_output_display_block): use domain arg.
6487
6488 2000-07-10  Andy Piper  <andy@xemacs.org>
6489
6490         * window.c (Fset_window_configuration): add comment.
6491
6492         * redisplay-output.c (compare_runes):
6493         (redisplay_output_subwindow): redisplay rather than update subwindow.
6494         (redisplay_output_layout): ditto.
6495
6496         * redisplay-msw.c (mswindows_frame_output_end):
6497         (mswindows_frame_output_end): make defer window pos optional.
6498
6499         * lisp.h: add Flast.
6500
6501         * glyphs.h (struct image_instantiator_methods): add dest_mask top
6502         normalize method. Change update method to be for changed
6503         instantiators. Add redisplay method. Change signature of layout
6504         method.
6505         (struct Lisp_Image_Instance): add instantiator.
6506         (IMAGE_INSTANCE_INSTANTIATOR): new.
6507         (IMAGE_INSTANCE_SUBWINDOW_FACE): new.
6508         (XIMAGE_INSTANCE_INSTANTIATOR): new.
6509         (XIMAGE_INSTANCE_SUBWINDOW_FACE): new.
6510
6511         * glyphs.c:
6512         (find_instantiator_differences): new function.
6513         (Fset_instantiator_property): new convenience function.
6514         (check_image_instance_structure): strictly check for vector
6515         instantiators.
6516         (normalize_image_instantiator): make non-static.
6517         (instantiate_image_instantiator): pass on dest_mask and use new
6518         signatures for image_instance_layout and friends.
6519         (mark_image_instance): mark the instantiator. Mark the subwindow
6520         face not the widget face.
6521         (image_instance_equal): add instantiator.
6522         (image_instance_hash): ditto.
6523         (allocate_image_instance): ditto.
6524         (Fset_image_instance_property): removed.
6525         (Fimage_instance_file_name): ditto.
6526         (Fcolorize_image_instance): ditto.
6527         (image_instance_layout): add offsets to be set.
6528         (update_image_instance): new function. update an image instance
6529         from its changed instantiator.
6530         (inherit_normalize): add dest_mask.
6531         (xbm_normalize): ditto.
6532         (xface_normalize): ditto.
6533         (xpm_normalize): ditto.
6534         (text_update): set_property -> update.
6535         (image_instantiate): use the glyph identity as a hash key, not the
6536         instantiator.
6537         (glyph_width): use new image_instance_layout signature.
6538         (glyph_ascent): ditto.
6539         (glyph_descent): ditto.
6540         (glyph_height): ditto.
6541         (glyph_query_geometry): ressurrect.
6542         (glyph_layout): ditto.
6543         (redisplay_subwindow): update -> redisplay.
6544         (syms_of_glyphs): add Fset_instantiator_property.
6545         (image_instantiator_format_create): set_property -> update.
6546
6547         * glyphs-x.c:
6548         (autodetect_normalize): add dest_maks to signature.
6549         (x_redisplay_subwindow): update -> redisplay.
6550         (x_redisplay_widget): ditto.
6551         (x_button_redisplay): ditto.
6552         (x_progress_gauge_redisplay): ditto.
6553         (x_tab_control_redisplay): ditto. Rewrite to cope with changed
6554         stacking order.
6555         (console_type_create_glyphs_x): update -> redisplay.
6556         (image_instantiator_format_create_glyphs_x): ditto.
6557
6558         * glyphs-widget.c:
6559         (check_valid_instantiator): disallow glyphs in the instantiator,
6560         they must now be vectors.
6561         (check_valid_instantiator_list): ditto.
6562         (glyph_instantiator_to_glyph): use internal symbol rather than
6563         intern.
6564         (widget_update): renamed from widget_set_property. Call cascaded
6565         update methods.
6566         (redisplay_widget): renamed from update_widget.
6567         (widget_layout): image_instance_layout now takes position as well
6568         as size.
6569         (widget_normalize): ditto.
6570         (widget_instantiate): ditto.
6571         (tab_control_query_geometry) ditto.:
6572         (tab_control_update): renamed from tab_control_set_property.
6573         (progress_gauge_update): set_property -> update.
6574         (layout_normalize): rewrite so that child instantiators are
6575         normalized also.
6576         (layout_update): new function. Create glyphs from the normalized
6577         children and cope with any other layout keywords. We do not
6578         instantiate children here that will be take care of by
6579         redisplay_output_layout.
6580         (layout_instantiate): call layout_update and not much else.
6581         (layout_post_instantiate): not sure whether this is needed
6582         anymore.
6583         (layout_query_geometry): query glyph geometry rather than
6584         image_instance geometry.
6585         (layout_layout): set offsets from pass in parameters. Use glyph
6586         geometry and layout functions rather than image instance ones.
6587         (native_layout_layout): ditto.
6588         (syms_of_glyphs_widget): add make-glyph and set-glyph-image.
6589         (image_instantiator_widget): set_property -> update.
6590         (image_instantiator_buttons): ditto.
6591         (image_instantiator_progress_guage): ditto.
6592         (image_instantiator_tab_control): ditto.
6593         (VALID_LAYOUT_KEYWORDS): instantiators must now be vectors.
6594         (image_instantiator_layout): add update method.
6595
6596         * glyphs-msw.c (bmp_normalize):
6597         (mswindows_resource_normalize): add dest_mask so that it can be
6598         proprogated by layout_normalize.
6599         (begin_defer_window_pos): make optional because it may not be the
6600         right thing to do and it introduces differences with X.
6601         (mswindows_unmap_subwindow): ditto.
6602         (mswindows_map_subwindow): ditto.
6603         (mswindows_redisplay_subwindow): renamed from
6604         mswindows_update_subwindow.
6605         (mswindows_redisplay_widget): ditto.
6606         (mswindows_button_redisplay): renamed from
6607         mswindows_button_update. Update is now what the instantiation
6608         function does for a changed instantiator.
6609         (mswindows_progress_gauge_instantiate): set the progress value
6610         here if appropriate.
6611         (mswindows_tab_control_redisplay): cope with re-ordering of the
6612         members of the tab widget by simply selecting the new top
6613         widget. This makes things appear ok if you click on a tab.
6614         (mswindows_combo_box_instantiate): image_instance_layout now takes
6615         position as well as size.
6616         (mswindows_progress_gauge_redisplay): renamed from
6617         mswindows_progress_gauge_update.
6618         (console_type_create_glyphs_mswindows): fix update -> redisplay.
6619         (image_instantiator_format_create_glyphs_mswindows): ditto.
6620
6621         * glyphs-eimage.c (jpeg_normalize):
6622         (gif_normalize):
6623         (png_normalize):
6624         (tiff_normalize): add dest_mask so that it can be proprogated by
6625         layout_normalize.
6626
6627         * elhash.c:
6628         (print_hash_table):
6629         (hash_table_weakness_validate):
6630         (decode_hash_table_weakness):
6631         (Fhash_table_weakness):
6632         (Fhash_table_type):
6633         (syms_of_elhash): use Ben's naming scheme for hashtable types..
6634
6635         * console.h (struct console_methods): move update_* to
6636         redisplay_*.
6637
6638 2000-07-20  Ben Wing  <ben@xemacs.org>
6639
6640         * *.[ch] (XSETOBJ): remove unused middle argument.
6641         lisp-disunion.h: correct wrap_object() to one argument.
6642
6643 2000-07-15  Ben Wing  <ben@xemacs.org>
6644
6645         * s/cygwin32.h:
6646         * s/cygwin32.h (CYGWIN_CONV_PATH):
6647         Add missing logb prototype for v1.1.
6648         Use post-b20 names and alias to pre-b20 names when pre-b20.
6649
6650         * s/windowsnt.h: [5].
6651
6652 2000-07-15  Ben Wing  <ben@xemacs.org>
6653
6654         * Makefile.in.in (x_objs):
6655         * Makefile.in.in (sheap_objs):
6656         * Makefile.in.in (objs):
6657         added win32.o, cosmetic cleanups.
6658
6659         * alloc.c (Fmake_byte_code):
6660         [[[1]]]: Changes for new LIST_LOOP, EXTERNAL_LIST_LOOP,
6661         etc. macros which declare their own args now.
6662
6663         * alloc.c (syms_of_alloc):
6664         [[[2]]]: Use DEFSYMBOL, DEFKEYWORD, DEFERROR and friends.
6665
6666         * buffer.c:
6667         Moved buffer-dedicated-frame, set-buffer-dedicated-frame into lisp.
6668
6669         * buffer.c (Fget_file_buffer):
6670         Fixed GCPRO problem.
6671
6672         * buffer.c (get_truename_buffer):
6673         Fixed comment about GC checking.
6674
6675         * buffer.c (syms_of_buffer):
6676         Undeclared those dedicated frame funs.
6677         [2].
6678
6679         * buffer.h:
6680         Define convenience macros for internal/external conversions.
6681         [[[3]]]: Define codesys aliases Qcommand_argument_encoding
6682         and Qenvironment_variable_encoding for cleaner code.
6683
6684         * bufslots.h:
6685         Remove dedicated-frame; in lisp.
6686
6687         * bytecode.c (funcall_compiled_function):
6688         [1].
6689
6690         * bytecode.c (syms_of_bytecode):
6691         [2].
6692
6693         * console-msw.c:
6694         * console-msw.c (mswindows_show_console): Rewrote.
6695
6696         * console-msw.c (Fmswindows_debugging_output): New.
6697         Sends to OutputDebugString (special MSWin debugger interface).
6698
6699         * console-msw.c (Fmswindows_message_box):
6700         Fixed stupid bugs so it works when called from kill-emacs.
6701
6702         * console-msw.c (syms_of_console_mswindows):
6703         Declare Fmswindows_debugging_output.
6704
6705         * console-msw.h:
6706         New MSWin prototypes.
6707
6708         * console-msw.h (struct mswindows_frame):
6709         New entry last-click-mods for improved button-modifier support.
6710
6711         * console-msw.h (FRAME_MSWINDOWS_POPUP):
6712         New struct entry `popup' with corresponding accessor.
6713
6714         * console-x.c:
6715         * console-x.c (split_up_display_spec):
6716         * console-x.c (get_display_arg_connection):
6717         * console-x.c (x_semi_canonicalize_console_connection):
6718         * console-x.c (x_canonicalize_device_connection):
6719         [[[6]]]: Change char to more specific type.
6720         [[[8]]]: Make use of abstracting codesys aliases defined in [3], [4];
6721
6722         * console-x.c (x_semi_canonicalize_console_connection):
6723         * console-x.c (x_canonicalize_device_connection):
6724         [[[9]]]: Fix up error signalling to use new structured error system.
6725
6726         * console-x.h:
6727         [[[4]]]: Define codesys aliases:
6728         Qlwlib_encoding, Qx_atom_name_encoding, Qx_font_name_encoding,
6729         Qx_color_name_encoding, Qx_display_name_encoding.
6730
6731         * console.h (struct console_methods):
6732         New method make_dialog_box_internal supersedes older
6733         popup_dialog_box method.
6734
6735         * data.c:
6736         Define many new errors, part of new structured errors.
6737
6738         * data.c (init_errors_once_early):
6739         * data.c (syms_of_data):
6740         [2].
6741
6742         * device-msw.c (mswindows_init_device):
6743         [[[5]]]: Cleanup to support NT 3.51.
6744
6745         * device-msw.c (decode_devmode): Cleanup.
6746
6747         * device-msw.c (mswindows_handle_print_setup_dialog_box):
6748         * device-msw.c (mswindows_handle_print_dialog_box):
6749         * device-msw.c (mswindows_handle_page_setup_dialog_box):
6750         * device-msw.c (syms_of_device_mswindows):
6751         Delete the dialog box primitives recently introduced by Kirill and
6752         instead interface to general dialog box interface.
6753
6754         * device-x.c:
6755         * device-x.c (compute_x_app_name):
6756         * device-x.c (x_init_device):
6757         * device-x.c (Fx_valid_keysym_name_p):
6758         * device-x.c (Fx_set_font_path):
6759         [6].
6760         [7].
6761
6762         * device.h (wrap_device): New.
6763         First of its kind; meant to replace XSETDEVICE.
6764
6765         * dialog-msw.c: Many file-dialog symbols.
6766
6767         * dialog-msw.c (mswindows_register_popup_frame): New.
6768         * dialog-msw.c (mswindows_is_dialog_msg): New.
6769         For supporting kbd traversal in dialog boxes.
6770
6771         * dialog-msw.c (dialog_proc):
6772         Support hitting ESC in dialogs.
6773
6774         * dialog-msw.c (struct):
6775         Common dialog box errors.
6776
6777         * dialog-msw.c (handle_file_dialog_box): New.
6778         Add file dialog code.
6779
6780         * dialog-msw.c (handle_question_dialog_box):
6781         Redo existing code to support new question dialog syntax.
6782
6783         * dialog-msw.c (console_type_create_dialog_mswindows):
6784         We support new dialog console method.
6785
6786         * dialog-msw.c (syms_of_dialog_mswindows):
6787         * dialog-msw.c (vars_of_dialog_mswindows):
6788         New file dialog symbols, vars.
6789
6790         * dialog-x.c:
6791         * dialog-x.c (maybe_run_dbox_text_callback):
6792         * dialog-x.c (dbox_descriptor_to_widget_value):
6793         * dialog-x.c (x_make_dialog_box_internal):
6794         * dialog-x.c (console_type_create_dialog_x):
6795         Mule-ize entire file.
6796         Redo to support question dialog syntax.
6797         [6].
6798
6799         * dialog.c:
6800         * dialog.c (Fmake_dialog_box_internal):
6801         * dialog.c (syms_of_dialog):
6802         Kill old popup-dialog-box, replace with new primitive.
6803         Just call device method or signal error.
6804
6805         * eldap.c (Fldap_open):
6806         * eldap.c (Fldap_search_basic):
6807         * eldap.c (Fldap_add):
6808         * eldap.c (Fldap_modify):
6809         [1].
6810         [7].
6811
6812         * emacs.c:
6813         * emacs.c (make_arg_list_1):
6814         * emacs.c (make_arg_list):
6815         Mule-ize call to dll_init().
6816         [6].
6817         [8].
6818
6819         * emacs.c (make_argc_argv):
6820         * emacs.c (free_argc_argv):
6821         * emacs.c (init_cmdargs):
6822         * emacs.c (main_1):
6823         * emacs.c (Fkill_emacs):
6824         * emacs.c (Fdump_emacs):
6825         Update comments about what can be used in syms_* etc.
6826         Call init_win32() when necessary.
6827         Fix up MS Win dialog box in kill-buffer to actually work right.
6828         [7].
6829
6830         * eval.c:
6831         * eval.c (For):
6832         * eval.c (Fand):
6833         * eval.c (Fprogn):
6834         * eval.c (Fprog1):
6835         * eval.c (Fprog2):
6836         * eval.c (FletX):
6837         * eval.c (Flet):
6838         * eval.c (condition_case_3):
6839         * eval.c (Feval):
6840         * eval.c (function_argcount):
6841         * eval.c (funcall_lambda):
6842         [1].
6843
6844         * eval.c (type_error): New.
6845         * eval.c (maybe_type_error): New.
6846         * eval.c (continuable_type_error): New.
6847         * eval.c (maybe_continuable_type_error): New.
6848         * eval.c (type_error_with_frob): New.
6849         * eval.c (maybe_type_error_with_frob): New.
6850         * eval.c (continuable_type_error_with_frob): New.
6851         * eval.c (maybe_continuable_type_error_with_frob): New.
6852         New functions for use with structured errors.
6853
6854         * event-Xt.c:
6855         * event-Xt.c (x_event_to_emacs_event):
6856         Buttons are now modifiers too.
6857
6858         * event-Xt.c (emacs_Xt_current_event_timestamp):
6859         Implement new event method.
6860         * event-Xt.c (reinit_vars_of_event_Xt): Set it.
6861
6862         * event-msw.c:
6863         * event-msw.c (ntpipe_shove_writer): [5].
6864         * event-msw.c (mswindows_enqueue_mouse_button_event):
6865         * event-msw.c (mswindows_drain_windows_queue):
6866         * event-msw.c (mswindows_wnd_proc): [7].
6867         * event-msw.c (mswindows_current_layout_has_AltGr): [5].
6868         * event-msw.c (mswindows_modifier_state):
6869         Throughout: support new button modifiers.
6870
6871         * event-msw.c (emacs_mswindows_current_event_timestamp):
6872         Implement new event method.
6873         * event-msw.c (reinit_vars_of_event_mswindows): Set it.
6874
6875         * event-stream.c:
6876         * event-stream.c (event_stream_current_event_timestamp): New.
6877         * event-stream.c (maybe_kbd_translate): New functionality.
6878         * event-stream.c (vars_of_event_stream):
6879         Document new kbd-translate-table functionality.
6880
6881         * event-stream.c (Fcurrent_event_timestamp): New.
6882         New primitive for use in fabricated events.
6883         * event-stream.c (syms_of_event_stream): [2]. Declare new primitive.
6884
6885         * events-mod.h (XEMACS_MOD_BUTTON1): new button modifiers.
6886
6887         * events.c:
6888         * events.c (Fmake_event):
6889         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY):
6890         [1].
6891         [9].
6892
6893         * events.c (format_event_object): fix gcc warnings.
6894
6895         * events.c (Fevent_timestamp): Document new primitives.
6896
6897         * events.c (TIMESTAMP_HALFSPACE): New.
6898
6899         * events.c (Fevent_timestamp_lessp): New.  New primitive for
6900         comparing timestamps correctly (half-space algorithm).
6901
6902         * events.c (Fevent_modifier_bits): Doc fix.
6903
6904         * events.c (Fevent_modifiers): Major doc addition.
6905         * events.c (event_x_y_pixel_internal): Typo fix.
6906         * events.c (syms_of_events): Declare new primitives.
6907
6908         * events.h:
6909         Update long comment for button modifiers, timestamps.
6910
6911         * events.h (struct event_stream):
6912         New current_event_timestamp method.
6913
6914         * extents.c:
6915         * extents.c (extent_in_region_p):
6916         * extents.c (decode_extent):
6917         * extents.c (Fset_extent_parent):
6918         * extents.c (decode_map_extents_flags):
6919         Fix gcc warnings.
6920         [9].
6921
6922         * extents.c (struct extent_at_arg):
6923         * extents.c (decode_extent_at_flag):
6924         * extents.c (extent_at_mapper):
6925         * extents.c (extent_at_bytind):
6926         * extents.c (Fextent_at): Adapt to new lower-level interface. [9].
6927         * extents.c (Fextents_at): New primitive. [9].
6928         * extents.c (symbol_to_glyph_layout): [9].
6929         Support new primitive `extents-at'.
6930
6931
6932         * extents.c (get_text_property_bytind):
6933         extent_at_bytind has another arg.
6934         [9].
6935
6936         * extents.c (syms_of_extents): New primitive.
6937
6938         * file-coding.c (Fmake_coding_system): [1].
6939         * file-coding.c (subsidiary_coding_system): fix gcc warning
6940         * file-coding.c (syms_of_file_coding): [2].
6941
6942         * fileio.c (Fexpand_file_name):
6943         * fileio.c (Fsysnetunam):
6944         * fileio.c (Ffile_exists_p):
6945         * fileio.c (Ffile_executable_p):
6946         * fileio.c (Fverify_visited_file_modtime):
6947         Clean up GCPROing.
6948
6949         * fileio.c (syms_of_fileio): [2].
6950
6951         * filelock.c (lock_file_1):
6952         * filelock.c (current_lock_owner):
6953         * filelock.c (lock_if_free):
6954         * filelock.c (lock_file):
6955         * filelock.c (unlock_file):
6956         Clean up GCPROing.
6957
6958         * fns.c (concat): Fix gcc warning.
6959
6960         * fns.c (Fmember):
6961         * fns.c (Fold_member):
6962         * fns.c (Fmemq):
6963         * fns.c (Fold_memq):
6964         * fns.c (memq_no_quit):
6965         * fns.c (Fassoc):
6966         * fns.c (Fold_assoc):
6967         * fns.c (Fassq):
6968         * fns.c (Fold_assq):
6969         * fns.c (assq_no_quit):
6970         * fns.c (Frassoc):
6971         * fns.c (Fold_rassoc):
6972         * fns.c (Frassq):
6973         * fns.c (Fold_rassq):
6974         * fns.c (rassq_no_quit):
6975         * fns.c (Fdelete):
6976         * fns.c (Fold_delete):
6977         * fns.c (Fdelq):
6978         * fns.c (Fold_delq):
6979         * fns.c (delq_no_quit):
6980         * fns.c (Fremassoc):
6981         * fns.c (Fremassq):
6982         * fns.c (remassq_no_quit):
6983         * fns.c (Fremrassoc):
6984         * fns.c (Fremrassq):
6985         * fns.c (remrassq_no_quit):
6986         * fns.c (Freverse):
6987         * fns.c (mapcar1):
6988         [1].
6989
6990         * frame-msw.c (mswindows_init_frame_1):
6991         * frame-msw.c (mswindows_delete_frame):
6992         Register popups with dialog code so keyboard traversing works.
6993
6994         * frame-tty.c (tty_raise_frame_no_select): [1].
6995
6996         * frame-x.c:
6997         * frame-x.c (x_set_frame_text_value):
6998         * frame-x.c (x_set_frame_properties):
6999         * frame-x.c (x_create_widgets):
7000         [7].
7001
7002         * frame.c:
7003         * frame.c (Fmouse_pixel_position): Minor doc fixes.
7004
7005         * frame.h (wrap_frame): New.
7006         Macro like wrap_device.
7007
7008         * general.c:
7009         * general.c (SYMBOL):
7010         * general.c (syms_of_general):
7011         Major reorg.  This is now just a wrapper and symbols themselves
7012         are listed in general-slots.h.
7013
7014         * glyphs-eimage.c (tiff_instantiate): Need cast to fix warning.
7015         * glyphs-msw.c (mswindows_resource_instantiate): [5].
7016
7017         * glyphs-msw.c (mswindows_native_layout_instantiate):
7018         Add DS_CONTROL so keyboard traversal will work.
7019
7020         * glyphs-widget.c:
7021         * glyphs-widget.c (syms_of_glyphs_widget):
7022         Move some symbols to general-slots.h.
7023
7024         * glyphs-x.c:
7025         * glyphs-x.c (xbm_instantiate_1):
7026         * glyphs-x.c (x_xbm_instantiate):
7027         * glyphs-x.c (x_xface_instantiate):
7028         * glyphs-x.c (autodetect_instantiate):
7029         * glyphs-x.c (cursor_font_instantiate):
7030         * glyphs-x.c (x_update_widget):
7031         * glyphs-x.c (x_widget_instantiate):
7032         * glyphs.c (bitmap_to_lisp_data):
7033         * glyphs.c (pixmap_to_lisp_data):
7034         [7].
7035
7036         * glyphs.c (syms_of_glyphs):
7037         [2].
7038
7039         * gui-x.c:
7040         * gui-x.c (print_widget_value):
7041         * gui-x.c (menu_separator_style_and_to_external):
7042         * gui-x.c (add_accel_and_to_external):
7043         * gui-x.c (button_item_to_widget_value):
7044         * gui-x.c (gui_items_to_widget_values_1):
7045         * gui-x.c (gui_items_to_widget_values):
7046         * gui-x.c (syms_of_gui_x):
7047         * gui-x.c (vars_of_gui_x):
7048         Mule-ize entire file.  Move menu-no-selection-hook to gui.c.
7049         [9].
7050
7051         * gui-x.h:
7052         Muleize, prototype changes matching gui-x.c.
7053
7054         * gui.c:
7055         * gui.c (separator_string_p):
7056         * gui.c (gui_item_add_keyval_pair):
7057         * gui.c (make_gui_item_from_keywords_internal):
7058         * gui.c (signal_too_long_error):
7059         * gui.c (parse_gui_item_tree_item):
7060         * gui.c (syms_of_gui):
7061         * gui.c (vars_of_gui):
7062         * gui.h:
7063         menu-no-selection-hook moved here (used by MSWin).
7064         Move some symbols to general-slots.h.
7065         [6].
7066         [9].
7067
7068         * insdel.c (get_buffer_pos_char):
7069         * insdel.c (get_buffer_range_char):
7070         Add GC comments.
7071
7072         * keymap.c (keymap_lookup_directly):
7073         * keymap.c (keymap_store):
7074         * keymap.c (ensure_meta_prefix_char_keymapp):
7075         * keymap.c (describe_map):
7076         * keymap.h:
7077         Support new button modifiers.
7078
7079         * lisp-disunion.h (wrap_object):
7080         * lisp-disunion.h (XSETOBJ):
7081         Rename make_obj to wrap_object.
7082
7083         * lisp-union.h:
7084         * lisp-union.h (make_int):
7085         * lisp-union.h (make_char):
7086         Support wrap_object.
7087
7088         * lisp.h:
7089         * lisp.h (LIST_LOOP):
7090         * lisp.h (EXTERNAL_LIST_LOOP):
7091         * lisp.h (LIST_LOOP_2):
7092         * lisp.h (EXTERNAL_LIST_LOOP_1):
7093         * lisp.h (EXTERNAL_LIST_LOOP_2):
7094         * lisp.h (EXTERNAL_LIST_LOOP_3):
7095         * lisp.h (EXTERNAL_LIST_LOOP_4_NO_DECLARE):
7096         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
7097         * lisp.h (GET_EXTERNAL_LIST_LENGTH):
7098         * lisp.h (EXTERNAL_ALIST_LOOP_5):
7099         * lisp.h (EXTERNAL_ALIST_LOOP_6):
7100         * lisp.h (EXTERNAL_ALIST_LOOP_6_NO_DECLARE):
7101         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_5_NO_DECLARE):
7102         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_7):
7103         * lisp.h (struct Lisp_Symbol):
7104         * lisp.h (maybe_continuable_error_with_frob):
7105         Fix up section comments.
7106         Add new types for char to indicate usage.
7107         Delete symbols auto-generated from general-slots.h.
7108         Add prototypes for structured error functions.
7109         Add long comments describing looping macros and change interface
7110         so that lvalues are automatically declared.
7111         Add NO_DECLARE macro in case callers want to declare lvalues
7112         themselves.
7113
7114         * lread.c (read_syntax_error):
7115         * lread.c (continuable_read_syntax_error):
7116         * lread.c (read_structure):
7117         * lread.c (sequence_reader):
7118         * lread.c (read_list_conser):
7119         * lread.c (read_compiled_function):
7120         Rename syntax_error and continuable_syntax_error to avoid clash
7121         with same-named structured error functions.
7122
7123         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
7124         * menubar-msw.c (populate_menu_add_item):
7125         * menubar-msw.c (populate_or_checksum_helper):
7126         [5].
7127         [9].
7128
7129         * menubar-x.c:
7130         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
7131         Mule-ize whole file.
7132
7133         * menubar.c (Fnormalize_menu_item_name): Add optimization.
7134
7135         * mule-charset.c (Fmake_charset):
7136         * mule-wnnfns.c (Fwnn_set_param):
7137         [1].
7138
7139         * ntproc.c (create_child):
7140         * ntproc.c (Fwin32_set_current_locale):
7141         Add comments portending doom.
7142
7143         * objects-msw.c:
7144         * objects-msw.c (old_font_enum_callback_2):
7145         * objects-msw.c (font_enum_callback_1):
7146         * objects-msw.c (mswindows_enumerate_fonts):
7147         [5].
7148
7149         * objects-x.c:
7150         * objects-x.c (allocate_nearest_color):
7151         * objects-x.c (x_parse_nearest_color):
7152         * objects-x.c (x_initialize_color_instance):
7153         * objects-x.c (x_print_color_instance):
7154         * objects-x.c (x_finalize_color_instance):
7155         * objects-x.c (x_valid_color_name_p):
7156         * objects-x.c (x_initialize_font_instance):
7157         * objects-x.c (x_print_font_instance):
7158         * objects-x.c (valid_x_font_name_p):
7159         * objects-x.c (truename_via_FONT_prop):
7160         * objects-x.c (truename_via_random_props):
7161         * objects-x.c (truename_via_XListFonts):
7162         * objects-x.c (x_font_truename):
7163         * objects-x.c (x_font_instance_truename):
7164         * objects-x.c (x_font_instance_properties):
7165         * objects-x.c (x_list_fonts):
7166         * objects-x.c (x_find_charset_font):
7167         Mule-ize entire file.
7168         [7].
7169
7170         * objects-x.h:
7171         Mule-verify.
7172
7173         * print.c:
7174         * print.c (std_handle_out_external):
7175         * print.c (debug_print_no_newline):
7176         * print.c (syms_of_print):
7177         Output to all debugger kinds in debug-print.
7178         Fix console-output code under MSWin to actually work.
7179
7180         * process-nt.c (send_signal):
7181         * process-nt.c (nt_create_process):
7182         Use newer Unicode macros.
7183
7184         * process-unix.c (unix_create_process):
7185         * process-unix.c (unix_canonicalize_host_name):
7186         * process-unix.c (unix_open_network_stream):
7187         [7].
7188
7189         * scrollbar-x.c:
7190         Mule-verify.
7191
7192         * search.c (syms_of_search):
7193         [2].
7194
7195         * select-msw.c (mswindows_destroy_selection):
7196         Use LIST_LOOP_2.
7197
7198         * select-x.c (symbol_to_x_atom):
7199         [7].
7200
7201         * select.c (syms_of_select):
7202         [2].
7203
7204         * sound.c (Fplay_sound_file):
7205         [7].
7206
7207         * specifier.c:
7208         * specifier.c (decode_specifier_type):
7209         * specifier.c (Fvalid_specifier_locale_type_p):
7210         * specifier.c (check_valid_locale_or_locale_type):
7211         * specifier.c (decode_locale):
7212         * specifier.c (decode_locale_type):
7213         * specifier.c (decode_locale_list):
7214         * specifier.c (check_valid_domain):
7215         * specifier.c (decode_specifier_tag_set):
7216         * specifier.c (Fcanonicalize_tag_set):
7217         * specifier.c (Fdefine_specifier_tag):
7218         * specifier.c (Fspecifier_tag_predicate):
7219         * specifier.c (check_valid_inst_list):
7220         * specifier.c (check_valid_spec_list):
7221         * specifier.c (decode_how_to_add_specification):
7222         * specifier.c (check_modifiable_specifier):
7223         * specifier.c (specifier_add_spec):
7224         * specifier.c (boolean_validate):
7225         * specifier.c (display_table_validate):
7226         [9].
7227
7228         * specifier.c (syms_of_specifier):
7229         Move some symbols to general-slots.h.
7230         [2].
7231
7232         * symbols.c:
7233         * symbols.c (Fmapatoms):
7234         * symbols.c (Fapropos_internal):
7235         Add GCPROs.
7236
7237         * symbols.c (set_default_buffer_slot_variable):
7238         * symbols.c (set_default_console_slot_variable):
7239         [1].
7240
7241         * symbols.c (defsymbol_massage_name_1):
7242         * symbols.c (defkeyword_massage_name):
7243         * symbols.c (deferror_1):
7244         * symbols.c (deferror):
7245         * symbols.c (deferror_massage_name_and_message):
7246         * symeval.h:
7247         * symeval.h (DEFSYMBOL):
7248         Support DEFSYMBOL*, DEFKEYWORD, DEFERROR
7249
7250         * symbols.c (syms_of_symbols):
7251         [2].
7252
7253         * symsinit.h:
7254         * symsinit.h (init_win32): New.
7255         Also new is syms_of_dialog_mswindows.
7256
7257         * syswindows.h:
7258         Add new Unicode macros, missing Cygwin wide-char functions,
7259         convenience conversion macros for Qmswindows_tstr, macros for
7260         encapsulating required MSWin <-> Cygwin filename conversions,
7261         prototype for dynamically-extracted (not in NT 3.51) functions.
7262
7263         * toolbar-x.c:
7264         Mule-verify.
7265
7266         * tooltalk.c (Fadd_tooltalk_message_arg):
7267         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
7268         * tooltalk.c (Fadd_tooltalk_pattern_arg):
7269         [7].
7270
7271         * tooltalk.c (syms_of_tooltalk):
7272         [2].
7273
7274         * unexnt.c:
7275         * unexnt.c (unexec):
7276         Fix up headers, declaration of unexec() to be more standard.
7277
7278 2000-07-20  Martin Buchholz  <martin@xemacs.org>
7279
7280         * offix.h: Revert change to guard macros - they're used in offix.c!
7281
7282 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7283
7284         * lisp.h: Defsubred Fdelete.
7285
7286         * console-msw.h:  (msprinter_default_printer): Added.
7287
7288         * console-msw.c (msprinter_canonicalize_console_connection):
7289         (msprinter_canonicalize_device_connection): Added.
7290
7291         * device-msw.c (msprinter_default_printer):
7292         (Fmswingows_get_default_printer):
7293         (signal_enum_priner_error):
7294         (Fmswingows_printer_list): Added.
7295
7296 2000-07-19  Martin Buchholz <martin@xemacs.org>
7297
7298         * XEmacs 21.2.35 is released.
7299
7300 2000-07-19  Martin Buchholz  <martin@xemacs.org>
7301
7302         * select-x.c (x_handle_selection_request):
7303         Text selected in xemacs and pasted into xterm failed to appear.
7304         Spelling fixes and cosmetic changes.
7305
7306 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7307
7308         * event-msw.c (mswindows_drain_windows_queue): Correctly check for
7309         XEmacs frame (fix for doubling chars in dialog boxes).
7310
7311 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
7312
7313         * select.c (select_convert_in, select_convert_out):
7314         Don't call intern() every time.
7315
7316         * select.c (Qselect_convert_in, Qselect_convert_out): New.
7317         * select.c (vars_of_select): Initialise them.
7318
7319 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
7320
7321         * select.c (selection-coercible-types): New.
7322
7323         * select.c (own-selection-internal):
7324         * select.c (get-selection-internal):
7325         MULE bug fix - these should default to COMPOUND_TEXT and not
7326         STRING for MULE. I think.
7327
7328         * select.c (select_convert_out): Use selection-coercible-types
7329         to find types that we can attempt to perform coercions on.
7330
7331 2000-07-18  Martin Buchholz  <martin@xemacs.org>
7332
7333         * mule-wnnfns.c:
7334         * mule-canna.c:
7335         Add coding: cookie to identify encoding.
7336
7337         * mule-canna.c (CANNA_mode_keys): make static.
7338         Use proper prototypes, even for functions of no arguments.
7339         Remove external prototype for Fding().
7340
7341         * symsinit.h: Add missing prototype for reinit_vars_of_mule_wnn.
7342
7343         * select.c (syms_of_select): Add missing DEFSUBR.
7344
7345 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
7346
7347         * select.c (get_selection_internal, own_selection_internal):
7348         Make the type default to STRING, rather than placing a nil type
7349         into Vselection_alist.
7350
7351 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
7352
7353         * gpmevent.c (tty_selection_exists_p):
7354         * gpmevent.c (tty_own_selection):
7355         Updated parameter lists.
7356
7357 2000-07-15 Alastair J. Houghton <ajhoughton@lineone.net>
7358
7359         * select.h (selection-alist): Removed declaration.
7360
7361         * select.h (get_local_selection):
7362         * select.c (get_local_selection):
7363         Made static.
7364
7365         * select.h (convert_selection): Removed declaration.
7366         * select.c (convert_selection): Removed.
7367         This function belongs in Lisp.
7368
7369         * select.h (select_convert_in): Declare.
7370         * select.h (select_convert_out): Declare.
7371         * select.c (select_convert_in): New.
7372         * select.c (select_convert_out): New.
7373         New conversion functions for other files to call.
7374
7375         * select.h (select_notify_buffer_kill): Declare.
7376         * select.c (select_notify_buffer_kill): New.
7377         New functions that get called from kill-buffer.
7378
7379         * buffer.c (kill-buffer): Call select_notify_buffer_kill, rather than
7380         X-specific lisp code.
7381
7382         * select.h: Declare some of the lisp-visible functions for
7383         external use.
7384
7385         * select.c (clean_local_selection_data): Removed. This was
7386         a disgusting function, and previously should have been in
7387         select-x.c in any case. The functionality is now provided
7388         in select-convert-from-integer (select.el).
7389
7390         * select.c (available-selection-types): Fixed stupidity where
7391         INTEGER and ATOM got added twice. Also add STRING when we see an
7392         extent.
7393
7394         * select.c (get-selection-internal): Removed symbol stripping. No
7395         longer causes conversion when data comes from the internal cache.
7396
7397         * select.c (syms_of_select): Added new functions.
7398
7399         * select-x.c (motif_clipboard_cb): Use select_convert_out. Rewrote
7400         error checking - previously this called abort!
7401
7402         * select-x.c (x_own_selection): Changed comment.
7403
7404         * select-x.c (x_handle_selection_request): Use select_convert_out.
7405         Don't mess with selection-alist; it's an internal variable of select.c.
7406
7407         * select-x.c (x_get_foreign_selection): Use select_convert_in.
7408
7409         * select-x.c (x_handle_selection_clear): Use get-selection-timestamp,
7410         rather than messing with selection-alist.
7411
7412         * select-msw.c (mswindows_get_foreign_selection):
7413         Use TO_INTERNAL_FORMAT rather than hacking.
7414
7415 2000-07-14  Martin Buchholz  <martin@xemacs.org>
7416
7417         * process-unix.c (unix_open_multicast_group):
7418         (unix_open_multicast_group): Remove useless casts.
7419
7420 2000-07-13  Martin Buchholz  <martin@xemacs.org>
7421
7422         * sound.c (Fplay_sound): Fix `unused variable' warning.
7423
7424         * emacs.c (main): Use correct type for _environ on SCO5.
7425
7426 2000-07-12 Alastair J. Houghton <ajhoughton@lineone.net>
7427
7428         * console.h (own_selection_method):
7429         * console.h (selection_exists_p_method):
7430         * console.h (available_selection_types_method): New.
7431         * console.h (register_selection_data_type_method): New.
7432         * console.h (selection_data_type_name): New.
7433
7434         * console-msw.h (mswindows_destroy_selection): Declare it.  New
7435         function & alist to track GlobalAlloc()'d handles that need
7436         releasing when the clipboard data gets replaced or emptied.
7437
7438         * event-msw.c (mswindows_wnd_proc): Call it.
7439
7440         * lisp.h, general.c (Qappend): New symbol representing a
7441         `how-to-add' mode.
7442
7443         * select.c (own-selection-internal):
7444         * select.c (selection-exists-p):
7445         * select.c (available-selection-types): New.
7446         * select.c (register-selection-data-type): New.
7447         * select.c (selection-data-type-name): New.  New functions to deal
7448         with device-specific selection data formats.
7449         * select.c (selection-converter-out-alist): Renamed.
7450         * select.c (selection-converter-in-alist): New.
7451         * select.c (selection-appender-alist): New.  Added new alists.
7452         * select.c (syms_of_select, vars_of_select): Added new symbols &
7453         variables.
7454         * select.c (get_local_selection): Split.
7455         * select.c: Removed spurious type checking - selections may now be
7456         of any type, not just strings.
7457         * select.c (own-selection-internal):
7458
7459         * select.h, select.c (convert_selection): New. Created
7460         convert_selection() function based on get_local_selection().
7461         * select.h, select.c (QCF_*): New symbols representing mswindows
7462         clipboard formats.
7463         * select.h, select.c (Qreplace_all, Qreplace_existing): New
7464         symbols representing `how-to-add' modes.
7465
7466         * select-msw.c (x_sym_p): New.
7467         * select-msw.c (symbol_to_ms_cf): New.
7468         * select-msw.c (ms_cf_to_symbol): New. New functions to deal with
7469         symbols & clipboard formats. Can also handle string names.
7470         * select-msw.c (mswindows_own_selection):
7471         * select-msw.c (mswindows_selection_exists_p):
7472         Added `data-type' parameter. Use it.
7473         * select-msw.c (mswindows_available_selection_types): New.
7474         * select-msw.c (mswindows_register_selection_data_type): New.
7475         * select-msw.c (mswindows_selection_data_type_name): New.
7476         * select-msw.c (mswindows_own_selection):
7477         * select-msw.c (mswindows_get_foreign_selection):
7478         * select-msw.c (mswindows_selection_exists_p):  Rewrote.
7479         * select-msw.c (console_create_select_mswindows): Added new methods.
7480         * select-msw.c (mswindows_destroy_selection): New.
7481         * select-msw.c (Vhandle_alist): New list.
7482         * select-msw.c (mswindows_own_selection):
7483
7484         * select-x.c (x_own_selection):
7485         * select-x.c (x_selection_exists_p):
7486         * select-x.c: Added some comments about maybe using new
7487         functionality.
7488         * select-x.c (x_own_selection):
7489
7490         * specifier.c: Remove definition of Qappend (now in general.c)
7491         * specifier.c (syms_of_specifier): Remove Qappend.
7492
7493 2000-07-12  Martin Buchholz  <martin@xemacs.org>
7494
7495         * config.h.in: Add socklen_t.
7496
7497         * s/decosf4-0.h: No special compiler flags needed or desired.
7498         In particular, undefine _BSD for DEC OSF 4.0.
7499
7500 2000-07-07  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7501
7502         * redisplay-msw.c (msprinter_frame_output_end): Added.
7503         (console_type_create_redisplay_mswindows): Referred the above.
7504
7505         * frame.c (setup_frame_without_minibuffer): Do not create a
7506         default minibuffer frame on a printer device.
7507
7508         * frame-msw.c (apply_dc_geometry): Added.
7509         (msprinter_start_page):
7510         (msprinter_init_frame_3):
7511         (msprinter_eject_page): Use it.
7512
7513         * console-msw.h (struct msprinter_frame): Added pix_left and top,
7514         and removed residual duplex and orientation properties.
7515
7516 2000-07-11  Martin Buchholz  <martin@xemacs.org>
7517
7518         * eval.c (function_argcount): Work around a DEC CC compiler bug.
7519
7520         * unexalpha.c: Remove system prototypes from C sources!
7521
7522 2000-07-09  Adrian Aichner  <aichner@ecf.teradyne.com>
7523
7524         * eval.c: Remove references to M-x edit-options in DEFUNs for
7525         `defvar' and `defconst'.
7526
7527 2000-07-09  Martin Buchholz  <martin@xemacs.org>
7528
7529         * config.h.in: Remove SMART_INCLUDE hackery.
7530
7531         PostgreSQL hacking:
7532         * config.h.in: Don't use SMART_INCLUDE.
7533
7534         * postgresql.h: Include libpq-fe.h here.  Fix typo.
7535         * inline.c: Simply #include "postgresql.h"
7536         * postgresql.c:
7537         - Don't use SMART_INCLUDE
7538         - Use simply "const".
7539         - Use standard doc string conventions.
7540         - Use correct type for result of PQstatus.
7541
7542 2000-07-09  Martin Buchholz  <martin@xemacs.org>
7543
7544         * glyphs-x.c (x_xface_instantiate): Fix C++ compilation warnings.
7545
7546         C++ compilation changes.
7547         * config.h.in (EXTERN_C): Define.
7548         * config.h.in (not): This is also a C++ keyword.
7549         * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Enable C++ compilation.
7550         * cm.c: Use EXTERN_C.
7551         * redisplay-tty.c: Use EXTERN_C.
7552         * sysdep.c: Use EXTERN_C.  Remove Gould support.
7553
7554 2000-07-09  Martin Buchholz  <martin@xemacs.org>
7555
7556         * general.c: Remove duplicate definition for Qfunction.
7557
7558 2000-07-08  Ben Wing  <ben@xemacs.org>
7559
7560         * device-msw.c (msprinter_init_device):
7561         * device-msw.c (sync_printer_with_devmode):
7562         * device-msw.c (handle_devmode_changes):
7563         * device-msw.c (print_dialog_worker):
7564         * device-msw.c (Fmsprinter_apply_settings):
7565         * device-msw.c (hash_devmode):
7566         * device-msw.c (Fmsprinter_settings_despecialize):
7567         use Qmswindows_tstr, not Qctext.
7568
7569         * vm-limit.c (check_memory_limits):
7570         avoid infinite loop printing warning messages.
7571
7572 2000-07-05  Craig Lanning  <lanning@scra.org>
7573
7574         * Makefile.in.in: Add support for including the Windows resources
7575         when building with the cygwin and mingw targets.
7576
7577         * buffer.c: from Dan Holmsand, on Windows $PWD is most likely either
7578         not set or not correct.
7579         (directory_is_current_directory): Don't compile for WIN32_NATIVE.
7580         (init_initial_directory): Don't try to use $PWD on the
7581         WIN32_NATIVE target.
7582
7583         * s\cygwin32.h:
7584         [[Add -mwindows to eliminate console window.]] not required --ben
7585         (HAVE_NATIVE_SOUND): removed; now handled by configure.
7586         (MAIL_USE_POP): removed; now handled by configure.
7587
7588         * s\mingw32.h: [[Add -mwindows to eliminate console window.]] not in
7589         C_SWITCH_SYSTEM or it will affect lib-src progs. --ben
7590         (HAVE_NATIVE_SOUND): removed; now handled by configure.
7591         (MAIL_USE_POP): removed; now handled by configure.
7592         (ENCAPSULATE_STAT): from Dan Holmsand, added.
7593         (ENCAPSULATE_FSTAT): from Dan Holmsand, added.
7594         (DIRECTORY_SEP): from Dan Holmsand, use lisp variable instead of
7595         constant string.
7596         (HAVE_TIMEVAL): from Dan Holmsand, added; struct timeval is picked
7597         up from <winsock.h> via systime.h.
7598         (HAVE_GETPAGESIZE): from Dan Holmsand, added.
7599         (getpagesize): from Dan Holmsand, added.
7600         Added #endif which was left dangling by Ben's mega patch; added
7601         comment to help prevent this in the future.
7602
7603         * sysdll.c: added #include <windows.h> for WIN32_NATIVE case.
7604
7605 2000-07-05  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7606
7607         * console-msw.h (struct mswindows_device): Removed unnecessary
7608         cached device geometry values.
7609         Added update_tick and an accessor macro.
7610         (Lisp_Devmode): Added lrecord declaration.
7611         (struct msprinter_device): Contain devmode as a Lisp object.
7612         Added mswindows_get_selected_frame_hwnd();
7613
7614         * console.h (struct console_methods): Indentation nitpicking.
7615
7616         * device-msw.c (mswindows_init_device): Do not initialize geometry
7617         cache. Initialize update tick.
7618         (mswindows_device_system_metrics): Ask the device for its geometry.
7619         (global_free_2_maybe):
7620         (devmode_to_hglobal):
7621         (handle_printer_changes):
7622         (ensure_not_printing):
7623         (print_dialog_worker):
7624         (Fmsprinter_print_setup_dialog):
7625         (Fmsprinter_print_dialog):
7626         (plist_get_margin):
7627         (plist_set_margin):
7628         (Fmsprinter_page_setup_dialog): Added functions.
7629         (sync_printer_with_devmode):
7630         (handle_devmode_changes):
7631         (Fmsprinter_get_settings):
7632         (Fmsprinter_select_settings):
7633         (Fmsprinter_apply_settings):
7634         (allocate_devmode):
7635         (Fmsprinter_settings_copy):
7636         (Fmsprinter_settings_despecialize):
7637         (print_devmode):
7638         (finalize_devmode):
7639         (equal_devmode):
7640         (hash_devmode): Added functions
7641         (syms_of_device_mswindows): Init devmode lrecord class.
7642
7643         * device.h: Added an exfun for find-device.
7644
7645         * event-msw.c (mswindows_wnd_proc): Do not update the cached
7646         geometry; although, recreate the device compatible DC.
7647
7648         * frame-msw.c (mswindows_get_selected_frame_hwnd): Added.
7649         (msprinter_init_frame_3):
7650         (msprinter_frame_property):
7651         (msprinter_internal_frame_property_p):
7652         (msprinter_frame_properties):
7653         (msprinter_set_frame_properties): Removed 'orientation and 'duplex
7654         print job properties (will move to device settings).
7655
7656         * lisp.h: Added symbols.
7657
7658         * general.c (syms_of_general): Declared them.
7659
7660         * hash.c (string_hash): Added.
7661
7662         * lrecord.h (lrecord_type): Added devmode lrecord type.
7663
7664 2000-07-02  Mike Sperber <mike@xemacs.org>
7665
7666         * s/freebsd.h (INTERRUPTIBLE_OPEN): open *is* interruptible on
7667         FreeBSD 4.0.
7668
7669 2000-06-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
7670
7671         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
7672         integer.
7673
7674 2000-06-07  MORIOKA Tomohiko  <tomo@urania.m17n.org>
7675
7676         * data.c (Fstring_to_number): Don't recognize floating point if
7677         base is not 10.
7678
7679 2000-06-22  Martin Buchholz  <martin@xemacs.org>
7680
7681         * glyphs-widget.c (tab_control_query_geometry):
7682         (widget_query_geometry):
7683         (button_query_geometry):
7684         * glyphs.c (text_query_geometry):
7685         Enforce type correctness.
7686
7687 2000-06-18  Martin Buchholz  <martin@xemacs.org>
7688
7689         * s/decosf4-0.h (_etext): Use portable _etext instead of etext.
7690         * s/decosf4-0.h (_edata): Use portable _edata instead of edata.
7691
7692 2000-06-17  Martin Buchholz  <martin@xemacs.org>
7693
7694         * s/decosf4-0.h: Never #include "/usr/include/FOO.h" because this
7695         conflicts with gcc's fixincluded version of FOO.h.
7696
7697         * glyphs.h (image_instance_geometry): Remove trailing `,'
7698
7699 2000-06-08  Mike Alexander  <mta@arbortext.com>
7700
7701         (MAX_SHOVE_BUFFER_SIZE): Change to 512 to match stream buffer size
7702         (shove_thread): Don't write the same output twice
7703         (make_ntpipe_output_stream): Increase priority of shove thread
7704         (ntpipe_shove_writer): Call SwitchToThread to give shove thread a
7705         chance to run
7706         (ntpipe_shove_closer): Don't delete the pipe until we're done with
7707         it.
7708
7709 2000-06-12  Ben Wing  <ben@xemacs.org>
7710
7711         * s\mingw32.h (sigset):
7712         * s\windowsnt.h (sigset):
7713         rename msw_ to mswindows_ for consistency with general convention.
7714
7715 2000-06-12  Ben Wing  <ben@xemacs.org>
7716
7717         * console-msw.c:
7718         * console-msw.c (mswindows_get_console_hwnd):
7719         * console-msw.c (mswindows_ensure_console_allocated):
7720         * console-msw.c (mswindows_hide_console):
7721         * console-msw.c (mswindows_show_console):
7722         * console-msw.c (mswindows_ensure_console_buffered):
7723         * console-msw.c (mswindows_output_console_string):
7724         * console-msw.c (mswindows_windows9x_p):
7725         * console-msw.h:
7726         * device-msw.c (mswindows_get_workspace_coords):
7727         * device-msw.c (mswindows_device_system_metrics):
7728         * dialog-msw.c (mswindows_popup_dialog_box):
7729         * event-msw.c (mswindows_wnd_proc):
7730         * frame-msw.c (mswindows_size_frame_internal):
7731         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
7732         * menubar-msw.c (displayable_menu_item):
7733         * menubar-msw.c (mswindows_char_is_accelerator):
7734         * nt.c:
7735         * nt.c (mswindows_sigset):
7736         * nt.c (mswindows_sigrelse):
7737         * nt.c (mswindows_sigpause):
7738         * nt.c (mswindows_raise):
7739         * nt.c (timer_proc):
7740         * ntproc.c:
7741         * ntproc.c (find_child_console):
7742         * ntproc.c (sys_kill):
7743         * print.c:
7744         * print.c (std_handle_out_external):
7745         * process-nt.c (find_child_console):
7746         * process-nt.c (send_signal_the_95_way):
7747         * process-nt.c (ensure_console_window_exists):
7748         * process-nt.c (nt_create_process):
7749         * syssignal.h:
7750         rename msw_ to mswindows_ for consistency with general convention.
7751
7752         * emacs.c:
7753         * dumper.c:
7754         include nt.h, not syswindows.h.
7755
7756         * nt.c (mswindows_fstat):
7757         * nt.c (mswindows_stat):
7758         prefix mswindows_ instead of attempting to directly override the
7759         library functions.  fix declarations.
7760
7761         * nt.h:
7762         include syswindows.h.  move some sysdep.h stuff here.
7763
7764         * ntheap.h:
7765         include syswindows.h, not <windows.h>.
7766
7767         * ntplay.c:
7768         clean up headers.
7769
7770         * sysdep.c:
7771         clean up headers.
7772
7773         * sysdep.c (sys_fstat):
7774         * sysdep.c (sys_stat):
7775         call mswindows versions when appropriate.
7776
7777         * sysdep.h:
7778         move mswin decls to nt.h.
7779
7780         * syswindows.h:
7781         add long comment describing appropriate use of the various windows
7782         headers.
7783
7784 2000-06-11  Ben Wing  <ben@xemacs.org>
7785
7786         * device-x.c: Correct doc string for sixth arg of x-get-resource.
7787
7788 2000-06-10  Ben Wing  <ben@xemacs.org>
7789
7790         * Makefile.in.in (release):
7791         Correction to make sure xemacs.exe always dumped when correct.
7792
7793         * alloca.c:
7794         * balloon_help.c:
7795         [[[[3]]]]: Conditionalize on actual problem, not WINDOWSNT.
7796
7797         * buffer.c (set_buffer_internal):
7798         [[[[2]]]]: Remove HAVE_FEP code.
7799
7800         * buffer.c (init_initial_directory):
7801         [3].
7802
7803         * bytecode.c:
7804         [[[[4]]]]: limits.h standardly included in lisp.h; remove from
7805         individual files.
7806
7807         * callproc.c:
7808         * callproc.c (call_process_cleanup):
7809         * callproc.c (Fold_call_process_internal):
7810         * callproc.c (child_setup):
7811         * callproc.c (getenv_internal):
7812         * callproc.c (init_callproc):
7813         * callproc.c (vars_of_callproc):
7814         [[[[1]]]]: WINDOWSNT -> WIN32_NATIVE.
7815         __CYGWIN32__ -> CYGWIN.
7816         DOS_NT -> WIN32_NATIVE.
7817         Remove MSDOS support/references, converting to WIN32_NATIVE
7818           where correct.
7819         __MINGW32__ -> MINGW.
7820         Fix windows.h includes.
7821         Remove bogus HAVE_NTGUI.
7822
7823         * config.h.in:
7824         [2].
7825
7826         * console-msw.c:
7827         mswindows_message_outputted added for use in allowing startup
7828         errors on the console to be seen.
7829
7830         * console-msw.c (msw_ensure_console_allocated):
7831         * console-msw.c (msw_output_console_string):
7832         * console-msw.c (DHEADER):
7833         * console-msw.c (DOPAQUE_DATA):
7834         * console-msw.c (DEVENT):
7835         * console-msw.c (DCONS):
7836         * console-msw.c (DCONSCDR):
7837         * console-msw.c (DSTRING):
7838         * console-msw.c (DVECTOR):
7839         * console-msw.c (DSYMBOL):
7840         * console-msw.c (DSYMNAME):
7841         Fix warnings.
7842
7843         * console-stream.c (stream_init_console):
7844         Fix text/binary problems.
7845
7846         * device-msw.c:
7847         * device-msw.c (mswindows_finish_init_device):
7848         * device-msw.c (mswindows_delete_device):
7849         [1].
7850
7851         * device.c (handle_asynch_device_change):
7852         [3].
7853
7854         * dgif_lib.c:
7855         * dgif_lib.c (DGifOpenFileName):
7856         * dgif_lib.c (DGifOpenFileHandle):
7857         * dgif_lib.c (DGifGetLine):
7858         * dgif_lib.c (DGifGetPixel):
7859         Added config.h/lisp.h, fix up includes.
7860         [1].
7861
7862         * dired-msw.c:
7863         [4].
7864
7865         * dired.c:
7866         * dired.c (file_name_completion):
7867         * dired.c (Ffile_attributes):
7868         * dired.c (syms_of_dired):
7869         [1].
7870
7871         * dumper.c:
7872         * dumper.c (pdump_file_unmap):
7873         * dumper.c (pdump_load):
7874         [1].
7875
7876         * editfns.c:
7877         * editfns.c (Ftemp_directory):
7878         * editfns.c (user_login_name):
7879         * editfns.c (Fuser_real_login_name):
7880         * editfns.c (get_home_directory):
7881         [1].
7882
7883         * elhash.c (finish_marking_weak_hash_tables):
7884         [[[[5]]]]: Fix GCC warnings.
7885
7886         * emacs.c:
7887         * emacs.c (mswindows_handle_hardware_exceptions):
7888         * emacs.c (make_arg_list_1):
7889         * emacs.c (main_1):
7890         * emacs.c (Fkill_emacs):
7891         * emacs.c (Fdump_emacs):
7892         [1].
7893         Fix problems with nested crashes, add long comment.
7894
7895         * event-Xt.c (init_event_Xt_late):
7896         [1].
7897
7898         * event-msw.c:
7899         * event-msw.c (mswindows_dde_callback):
7900         * event-msw.c (mswindows_handle_sticky_modifiers):
7901         * event-msw.c (mswindows_wnd_proc):
7902         [1].
7903         [5].
7904
7905         * events.c (character_to_event):
7906         [1].
7907
7908         * fileio.c:
7909         * fileio.c (Ffile_name_directory):
7910         * fileio.c (Ffile_name_nondirectory):
7911         * fileio.c (directory_file_name):
7912         * fileio.c (Fexpand_file_name):
7913         * fileio.c (Fsubstitute_in_file_name):
7914         * fileio.c (Ffile_name_absolute_p):
7915         * fileio.c (check_executable):
7916         * fileio.c (Ffile_readable_p):
7917         * fileio.c (Ffile_accessible_directory_p):
7918         * fileio.c (Ffile_modes):
7919         * fileio.c (Funix_sync):
7920         * fileio.c (vars_of_fileio):
7921         [1]. [4].
7922
7923         [[[[7]]]]: Move CORRECT_DIR_SEPS to s\windowsnt.h.
7924
7925         Expand getdefdir defn.
7926         Fix bogus rename() comment.
7927
7928         [[[[6]]]]: Fix Windows includes w.r.t. removed nt\inc.  Attempt
7929         to use standard XEmacs include files, e.g. sysfile.h, rather
7930         than system-specific includes.
7931
7932         * fns.c:
7933         * fns.c (Fsubseq):
7934         [5]. [6].
7935
7936         * frame.c (vars_of_frame):
7937         [1].
7938
7939         * getloadavg.c:
7940         * getloadavg.c (getloadavg):
7941         [1]. [6].
7942         #ifdef XEMACS not defined on Cygwin.  Remove this; no need for it.
7943         (We don't use it elsewhere in the code; just add a comment.)
7944
7945         * gif_io.c:
7946         [6].
7947         Add config.h.
7948
7949         * glyphs-msw.c:
7950         * glyphs-msw.c (mswindows_resource_instantiate):
7951         [1].
7952
7953         * glyphs-x.c (x_native_layout_instantiate):
7954         [5].
7955
7956         * gui-msw.c (Fmswindows_shell_execute):
7957         [1].
7958
7959         * insdel.c:
7960         [4].
7961
7962         * lisp.h:
7963         [4]. [5].
7964
7965         * lread.c (locate_file_in_directory_mapper):
7966         [1].
7967
7968         * lstream.c:
7969         [4].
7970
7971         * mem-limits.h:
7972         * mem-limits.h (get_lim_data):
7973         [1].
7974
7975         * menubar-msw.c:
7976         [4].
7977
7978         * ndir.h:
7979         [1].
7980
7981         * nt.c:
7982         * nt.c (getwd):
7983         * nt.c (closedir):
7984         * nt.c (rva_to_section):
7985         * nt.c (mswindows_executable_type):
7986         [1]. [6].
7987         Fix closedir() defn.
7988
7989         * nt.h:
7990         [[[[8]]]]: *_OK defs moved to sysfile.h.
7991
7992         * ntproc.c:
7993         [6]. [7].
7994
7995         * objects-x.c:
7996         [4].
7997
7998         * print.c:
7999         * print.c (std_handle_out_external):
8000         [1]. [4].
8001
8002         * process-nt.c:
8003         * process-nt.c (nt_create_process):
8004         [6].
8005         try to fix process quoting somewhat.
8006
8007         * process-unix.c (unix_create_process):
8008         [1].
8009
8010         * process.c:
8011         * process.c (vars_of_process):
8012         Add Vnull_device.
8013
8014         * process.h:
8015         [1].
8016
8017         * realpath.c:
8018         * realpath.c (xrealpath):
8019         [1].
8020
8021         * redisplay-tty.c (init_tty_for_redisplay):
8022         [3].
8023
8024         * redisplay.c:
8025         [4]. [6].
8026
8027         * scrollbar-msw.c:
8028         [4].
8029
8030         * sheap.c:
8031         * sheap.c (more_static_core):
8032         * sheap.c (report_sheap_usage):
8033         [5]. [6].
8034
8035         * signal.c:
8036         * signal.c (alarm_signal):
8037         [1]. [6].
8038
8039         * sound.c:
8040         [6].
8041
8042         * strftime.c:
8043         * strftime.c (zone_name):
8044         [1]. [5].
8045
8046         * symsinit.h (init_sunpro):
8047         [1].
8048
8049         * syscommctrl.h:
8050         commctrl.h not in Cygwin b20.1.
8051
8052         * sysdep.c:
8053         * sysdep.c (endif):
8054         * sysdep.c (sys_subshell):
8055         * sysdep.c (init_baud_rate):
8056         * sysdep.c (emacs_get_tty):
8057         * sysdep.c (emacs_set_tty):
8058         * sysdep.c (tty_init_sys_modes_on_device):
8059         * sysdep.c (init_system_name):
8060         * sysdep.c (sys_open):
8061         * sysdep.c (interruptible_open):
8062         * sysdep.c (sys_fopen):
8063         * sysdep.c (sys_mkdir):
8064         * sysdep.c (sys_rename):
8065         * sysdep.c (get_process_times_1):
8066         [1]. [6].
8067
8068         * sysdep.h:
8069         [1].
8070
8071         * sysdir.h:
8072         * sysdir.h (DIRENTRY_NONEMPTY):
8073         [1]. [6].
8074
8075         * sysdll.c (dll_init):
8076         * sysdll.h:
8077         [1].
8078
8079         * sysfile.h:
8080         [1]. [6]. [8].
8081         added text/binary defs.
8082
8083         * sysfloat.h:
8084         [1].
8085
8086         * sysproc.h:
8087         * sysproc.h (EDESTADDRREQ):
8088         * sysproc.h (poll_fds_for_input):
8089         [1]. [6].
8090
8091         * syspwd.h:
8092         [6].
8093
8094         * syssignal.h:
8095         [1].
8096
8097         * systime.h:
8098         [1]. [6].
8099
8100         * systty.h:
8101         [1].
8102
8103         * syswindows.h:
8104         [1].
8105         Always define WIN32_LEAN_AND_MEAN.
8106
8107         * unexcw.c (unexec):
8108         [5].
8109
8110         * unexec.c:
8111         * unexec.c (copy_text_and_data):
8112         * unexec.c (adjust_lnnoptrs):
8113         [1].
8114
8115         * unexnt.c:
8116         * unexnt.c (_start):
8117         [1].
8118
8119 2000-06-07  Ben Wing  <ben@xemacs.org>
8120
8121         * mule-mcpath.c, mule-mcpath.h: Removed.  Old, crufty code that
8122         was used only as a model.  We've long since extracted any useful
8123         logic or code out of this. (I just did an exhaustive search.)
8124
8125         * s\msdos.h: Removed.
8126
8127         * s\windows95.h: Removed.
8128
8129 2000-06-10  Ben Wing  <ben@xemacs.org>
8130
8131         * s\cygwin32.h:
8132         [1]. [5].
8133         Don't use extern with fun defs.
8134
8135         * s\mingw32.h:
8136         [1]. [7].
8137         Remove nt\inc include.
8138         Remove getdisk, getdefdir. (The former is unused, the latter
8139         expanded in fileio.h.)
8140
8141         * s\windowsnt.h:
8142         * s\windowsnt.h (WIN32_NATIVE):
8143         * s\windowsnt.h (HAVE_STRCASECMP):
8144         [1]. [7].
8145         Add long comment about preprocessor changes.
8146         Remove getdisk, getdefdir. (The former is unused, the latter
8147         expanded in fileio.h.)
8148
8149 2000-06-10  Ben Wing  <ben@xemacs.org>
8150
8151         * m\arm.h:
8152         * m\delta.h:
8153         * m\intel386.h:
8154         * m\sequent.h:
8155         * m\template.h:
8156         * m\windowsnt.h:
8157         [1].
8158         Remove bogus/unused NO_SOCK_SIGIO.
8159
8160 2000-06-08  Hrvoje Niksic  <hniksic@iskon.hr>
8161
8162         * lisp.h (set_string_char): Call set_string_byte with a Bufbyte,
8163         not an Emchar.
8164
8165 2000-06-04  Mike Sperber <mike@xemacs.org>
8166
8167         * casetab.c (set_case_table): For `set-standard-case-table',
8168         actually deposit the new case tables where the rest of XEmacs can
8169         see them.
8170
8171 2000-06-05  Yoshiki Hayashi <yoshiki@xemacs.org>
8172
8173         * data.c (Faset): Don't cast XCHAR() to unsigned char.
8174
8175 2000-06-05  Ben Wing  <ben@xemacs.org>
8176
8177         * callproc.c (child_setup): Don't do close_load_descs() under
8178         MS Windows.  Put in a comment explaining why.
8179
8180 2000-05-28  Adrian Aichner  <aichner@ecf.teradyne.com>
8181
8182         * process-nt.c: Reverting patch "Fixing nt_create_process for MKS
8183         Toolkit shell" which breaks `kill-compilation' on Windows NT
8184         native, retaining STDERR handling improvements.
8185
8186 2000-06-01  Andreas Jaeger  <aj@suse.de>
8187
8188         * s/s390.h: Support for S390, based on a patch by Martin
8189         Schwidefsky <schwidefsky@de.ibm.com>.
8190
8191 2000-05-30  Andy Piper  <andy@xemacs.org>
8192
8193         * window.c (allocate_window):
8194         (make_dummy_parent):
8195         (Fset_window_configuration): use new hashtable type.
8196
8197         * glyphs.h (IMAGE_UNSPECIFIED_GEOMETRY):
8198         (struct image_instantiator_methods):
8199         (struct Lisp_Image_Instance): make instance geometry signed.
8200
8201         * glyphs.c (instantiate_image_instantiator):
8202         (image_instance_query_geometry):
8203         (image_instance_layout):
8204         (image_instance_layout):
8205         (query_string_geometry):
8206         (text_query_geometry):
8207         (image_instantiate):
8208         (image_instantiate):
8209         (cache_subwindow_instance_in_frame_maybe):
8210         (subwindow_query_geometry): make instance geometry signed.
8211
8212         * glyphs-widget.c (widget_query_geometry):
8213         (widget_layout):
8214         (button_query_geometry):
8215         (tree_view_query_geometry):
8216         (tab_control_query_geometry):
8217         (layout_query_geometry):
8218         (layout_layout):
8219         (native_layout_layout): make instance geometry signed.
8220
8221 2000-05-29  Olivier Galibert  <galibert@pobox.com>
8222
8223         * lisp.h: Add Qfull_assoc symbol and WEAK_LIST_FULL_ASSOC
8224         constant.
8225
8226         * general.c (syms_of_general): Add Qfull_assoc symbol.
8227
8228         * data.c (finish_marking_weak_lists): Mark full-assoc lists
8229         correctly.
8230         (decode_weak_list_type): Decode full-assoc type.
8231         (encode_weak_list_type): Encode full-assoc type.
8232         (Fmake_weak_list): Update doc string.
8233
8234 2000-05-30  Andy Piper  <andy@xemacs.org>
8235
8236         * elhash.h (hash_table_weakness): new KEY_VALUE weak hashtable.
8237
8238         * elhash.c (print_hash_table): new KEY_VALUE weak hashtable.
8239         (decode_hash_table_weakness): ditto.
8240         (Fhash_table_weakness): ditto.
8241         (Fhash_table_type): ditto.
8242         (finish_marking_weak_hash_tables): ditto.
8243         (hash_table_weakness_validate): ditto.
8244         (syms_of_elhash): ditto.
8245
8246 2000-05-28  Martin Buchholz <martin@xemacs.org>
8247
8248         * XEmacs 21.2.34 is released.
8249
8250 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
8251
8252         * redisplay.c (VERTICAL_CLIP): No longer reset when updating line
8253         start cache.
8254         (updating_line_start_cache): Gone.
8255         (regenerate_window): Replace resetting of VERTICAL_CLIP by
8256         generic code to force a minimum of 1 line laid out in the
8257         CMOTION_DISP case.
8258
8259 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
8260
8261         * glyphs.c (instantiate_image_instantiator): Check for initialized
8262         height & width no longer special cases IMAGE_NOTHING.
8263         (nothing_instantiate): Set height and width of instance.
8264
8265 2000-05-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
8266
8267         * unexelf.c (unexec): Search for ".data" section.
8268         Initialize new_data2_offset from old_data_index.
8269         Remove redundant check for ElfW.
8270
8271 2000-05-23  Andy Piper  <andy@xemacs.org>
8272
8273         * glyphs.c (get_image_instantiator_governing_domain): allow more
8274         specific domains as the governing domain rather than expecting an
8275         exact match. This fixes problems with layouts.
8276
8277 2000-05-22  Andy Piper  <andy@xemacs.org>
8278
8279         * redisplay-output.c (compare_runes): check for non-images
8280
8281         * glyphs.c (set_glyph_dirty_p): ditto.
8282         (update_glyph_cachel_data): ditto.
8283
8284         * glyphs-widget.c (layout_post_instantiate): ditto.
8285         (layout_post_instantiate): ditto.
8286
8287         * event-msw.c (mswindows_wnd_proc): warning removal.
8288
8289 2000-05-12  Craig Lanning  <CraigL@DyCon.com>
8290
8291         * s\mingw32.h: Added #undef for CLASH_DETECTION.
8292
8293         * syswindows.h: Moved PBS_SMOOTH definition to syscommctrl.h.
8294
8295         * syscommctrl.h (PBS_SMOOTH): Moved from syswindows.h.
8296
8297         * nt.c (rva_to_section): mingw32 needs rva_to_section.
8298         (mswindows_executable_type): mingw32 now has enough headers for
8299         this to work.
8300
8301 2000-05-20  Andy Piper  <andy@xemacs.org>
8302
8303         * console-msw.c (mswindows_output_last_error): ; -> ,
8304
8305 2000-05-12  Andy Piper  <andy@xemacs.org>
8306
8307         * console-msw.c (FROB): compare ints with ints.
8308
8309 2000-05-11  Andy Piper  <andy@xemacs.org>
8310
8311         * glyphs-x.c (x_finalize_image_instance): make minimal build
8312         happy.
8313
8314 2000-05-20  Ben Wing  <ben@xemacs.org>
8315
8316         * event-Xt.c:
8317         * event-Xt.c (vars_of_event_Xt):
8318         move modifier-keys-are-sticky to event-stream.c.
8319
8320         * event-msw.c:
8321         * event-msw.c (mswindows_enqueue_mouse_button_event):
8322         * event-msw.c (key_needs_default_processing_p):
8323         * event-msw.c (XEMSW_LCONTROL):
8324         * event-msw.c (mswindows_handle_sticky_modifiers):
8325         * event-msw.c (FROB):
8326         * event-msw.c (clear_sticky_modifiers):
8327         * event-msw.c (output_modifier_keyboard_state):
8328         * event-msw.c (output_alt_keyboard_state):
8329         * event-msw.c (mswindows_wnd_proc):
8330         * event-msw.c (mswindows_modifier_state):
8331         * event-msw.c (emacs_mswindows_handle_magic_event):
8332         implement sticky modifiers.
8333
8334         * event-stream.c:
8335         * event-stream.c (vars_of_event_stream):
8336         move modifier-keys-are-sticky here.
8337
8338         * lisp.h:
8339         add CHECK_FUNCTION.
8340
8341         * rangetab.c:
8342         implement map-range-table.
8343
8344
8345 2000-05-17  Yoshiki Hayashi  <yoshiki@xemacs.org>
8346
8347         * redisplay-tty.c (reset_tty_modes):
8348         (tty_redisplay_shutdown): Adjust argument type to
8349         tty_frame_output_end.
8350
8351 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
8352
8353         * eval.c (Fbacktrace): Don't output a line with only right
8354         parenthesis.
8355
8356 2000-05-17  Kenji Itoh  <keit@tpj.co.jp>
8357
8358         * postgresql.c (Fpq_connect_poll): Replace `PS' with `polling_status'.
8359         (Fpq_reset_poll): Ditto.
8360
8361 2000-05-16  Katsumi Yamaoka  <yamaoka@jpl.org>
8362
8363         * redisplay-tty.c: Replace tty_output_end with tty_frame_output_end.
8364
8365 2000-05-16  Ben Wing  <ben@xemacs.org>
8366
8367         * buffer.c:
8368         * buffer.c (dfc_convert_to/from_internal_format):
8369         * buffer.c (reinit_vars_of_buffer):
8370         Fix conversion functions to allow reentrancy.
8371
8372         * console-msw.c:
8373         * console-msw.c (mswindows_output_last_error):
8374         New fun, generally useful -- output a human-readable
8375         version of GetLastError() on the console.
8376
8377         * console-msw.h:
8378         * console-msw.h (struct mswindows_frame):
8379         Changes for DeferWindowPos.  Declare mswindows_output_last_error().
8380
8381         * console-stream.c (stream_output_begin):
8382         * console-stream.c (stream_output_end):
8383         * console-stream.c (stream_output_vertical_divider):
8384         * console-stream.c (stream_clear_region):
8385         * console-stream.c (stream_flash):
8386         * console-stream.c (console_type_create_stream):
8387         Delete blank stream methods, not needed.
8388
8389         * console.h (struct console_methods):
8390         Split begin/end methods into window and frame.
8391
8392         * event-msw.c:
8393         * event-msw.c (mswindows_handle_paint):
8394         * event-msw.c (output_alt_keyboard_state):
8395         * event-msw.c (mswindows_wnd_proc):
8396         * event-msw.c (vars_of_event_mswindows):
8397         Comment about problems with ignored-expose.
8398         Define mswindows-debug-events; not really implemented.
8399
8400         * frame-msw.c (mswindows_init_frame_1):
8401         random cleanups.
8402
8403         * glyphs-msw.c:
8404         * glyphs-msw.c (begin_defer_window_pos):
8405         * glyphs-msw.c (mswindows_unmap_subwindow):
8406         * glyphs-msw.c (mswindows_map_subwindow):
8407         * glyphs-msw.c (mswindows_resize_subwindow):
8408         Use DeferWindowPos to reduce flashing when mapping/unmapping.
8409
8410         * glyphs.c (make_image_instance_1):
8411         Fix crash.
8412
8413         * gutter.c (Fredisplay_gutter_area):
8414         Use new begin/end methods.
8415
8416         * lisp.h (Dynarr_new2):
8417         New creation fun.
8418
8419         * redisplay-msw.c:
8420         * redisplay-msw.c (mswindows_frame_output_begin):
8421         * redisplay-msw.c (mswindows_frame_output_end):
8422         * redisplay-msw.c (console_type_create_redisplay_mswindows):
8423         New begin/end methods -- handle DeferWindowPos.
8424
8425         * redisplay-output.c (redisplay_move_cursor):
8426         * redisplay-output.c (redraw_cursor_in_window):
8427         * redisplay-output.c (redisplay_update_line):
8428         * redisplay-output.c (redisplay_output_window):
8429         New begin/end methods.
8430
8431         * redisplay-tty.c:
8432         * redisplay-tty.c (tty_frame_output_begin):
8433         * redisplay-tty.c (tty_frame_output_end):
8434         * redisplay-tty.c (console_type_create_redisplay_tty):
8435         New begin/end methods.
8436
8437         * redisplay-x.c:
8438         * redisplay-x.c (x_window_output_begin):
8439         * redisplay-x.c (x_window_output_end):
8440         * redisplay-x.c (console_type_create_redisplay_x):
8441         New begin/end methods.
8442
8443         * redisplay.c (redisplay_frame):
8444         * redisplay.c (Fredisplay_echo_area):
8445         New begin/end methods.
8446         use MAYBE_DEVMETH for clear_frame; it may not exist.
8447
8448         * window.h (WINDOW_XFRAME):
8449         WINDOW_XFOO macros -- get locale and decode struct pointer.
8450
8451
8452 2000-05-12  Ben Wing  <ben@xemacs.org>
8453
8454         * emacs.c:
8455         * emacs.c (ensure_no_quitting_from_now_on):
8456         * emacs.c (fatal_error_signal):
8457         * emacs.c (mswindows_handle_hardware_exceptions):
8458         * emacs.c (main):
8459         * emacs.c (Fkill_emacs):
8460         * emacs.c (shut_down_emacs):
8461         * emacs.c (assert_failed):
8462         various improvements in fatal error handling.
8463
8464         * eval.c:
8465         move preparing_for_armageddon to emacs.c.
8466
8467         * lisp.h:
8468         declare fatal_error_in_progress.
8469
8470         * print.c:
8471         * print.c (std_handle_out_external):
8472         * print.c (std_handle_out_va):
8473         * print.c (stderr_out):
8474         * print.c (stdout_out):
8475         use console under mswin when no standard output.
8476         don't do code conversion during fatal error.
8477
8478         * scrollbar.c (Fscrollbar_page_up):
8479         * scrollbar.c (Fscrollbar_page_down):
8480         fix missing else.  reindent.
8481
8482 2000-05-11  Jan Vroonhof  <vroonhof@math.ethz.ch>
8483
8484         Emergency fix.
8485
8486         * glyphs.h (GLYPH_CACHEL_DESCENT):
8487         (GLYPH_CACHEL_DESCENT):
8488         (GLYPH_CACHEL_DESCENT):
8489         * glyphs.h (GLYPH_CACHEL_ASCENT): Match parameters to variables
8490         used in case these are inline functions.
8491         Use more absurd values to error check.
8492
8493         include window.h for error check functions.
8494
8495 2000-05-11  Ben Wing  <ben@xemacs.org>
8496
8497         * cmdloop.c (Freally_early_error_handler):
8498         Display message box under windows; otherwise, message will disappear
8499         before it can be viewed.
8500
8501         * console-msw.c:
8502         * console-msw.c (Fmswindows_message_box):
8503         * console-msw.c (FROB):
8504         * console-msw.c (syms_of_console_mswindows):
8505         Define new fun `mswindows-message-box'.
8506         #### I will merge this into `popup-dialog-box'; just give me
8507         a bit of time.
8508
8509         * general.c:
8510         * general.c (syms_of_general):
8511         Some new symbols used in `mswindows-message-box'.
8512
8513         * glyphs.c:
8514         * glyphs.c (Fset_image_instance_property):
8515         put warning in this fun.
8516
8517         * glyphs.h:
8518         * glyphs.h (GLYPH_CACHEL_WIDTH):
8519         * glyphs.h (GLYPH_CACHEL_ASCENT):
8520         * glyphs.h (GLYPH_CACHEL):
8521         * glyphs.h (GLYPH_CACHEL_GLYPH):
8522         define error-checking versions to try to catch a bug i've seen --
8523         redisplay gets in an infinite loop because the glyph width of the
8524         continuation glyph is 65535.
8525
8526         * lisp.h:
8527         Extern message-box stuff.
8528
8529         * window.c (allocate_window):
8530         * window.c (make_dummy_parent):
8531         * window.c (Fset_window_configuration):
8532         Use EQUAL not EQ for subwindow caches to make them work a bit
8533         better. (Something is still very broken.)
8534
8535
8536 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
8537
8538         * glyphs.c (image_instantiate): Suppress gcc warnings.
8539         (Fmake_image_instance): Fix doc string.
8540         * specifier.c (Fmake_specifier): Ditto.
8541
8542 2000-05-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
8543
8544         * paths.h.in (PATH_LOCK): Removed.
8545         * config.h.in (LOCKDIR_USER_DEFINED): Removed.
8546         * emacs.c (complex_vars_of_emacs): Remove configure-lock-directory.
8547
8548 2000-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
8549
8550         * fns.c (Ffeaturep): Update e-mail address in doc-string.
8551         Document (featurep '(and xemacs 21.02)).
8552
8553 2000-05-09  Ben Wing  <ben@xemacs.org>
8554
8555         * buffer.c (complex_vars_of_buffer):
8556         update modeline-format doc.
8557
8558         * device.h:
8559         comment about how DFW_DEVICE should be merged with DOMAIN_DEVICE.
8560
8561         * emacs.c:
8562         timeline of all released versions of Emacs, for use in creating
8563         authorship comments and in synching up.
8564
8565         * glyphs-widget.c (image_instantiator_buttons):
8566         * glyphs-widget.c (image_instantiator_edit_fields):
8567         * glyphs-widget.c (image_instantiator_combo_box):
8568         * glyphs-widget.c (image_instantiator_scrollbar):
8569         * glyphs-widget.c (image_instantiator_progress_guage):
8570         * glyphs-widget.c (image_instantiator_tree_view):
8571         * glyphs-widget.c (image_instantiator_tab_control):
8572         * glyphs-widget.c (image_instantiator_labels):
8573         * glyphs-widget.c (image_instantiator_layout):
8574         * glyphs-widget.c (image_instantiator_native_layout):
8575         rename decode_domain method to governing_domain.
8576
8577         * glyphs.c:
8578         * glyphs.c (Fvalid_image_instantiator_format_p): doc update.
8579         * glyphs.c (add_entry_to_device_ii_format_list):
8580         make sure we don't put an entry more than once into the list.
8581         * glyphs.c (check_instance_cache_mapper):
8582         *************************************************************
8583         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
8584         HAVE BEEN GETTING.
8585         *************************************************************
8586         * glyphs.c (get_image_instantiator_governing_domain):
8587         clean up, expand on new concept of governing domain.
8588         * glyphs.c (instantiate_image_instantiator):
8589         * glyphs.c (allocate_image_instance):
8590         use governing_domain instead of cache_domain in naming.
8591         * glyphs.c (Fvalid_image_instance_type_p): fix docs.
8592         * glyphs.c (make_image_instance_1):
8593         * glyphs.c (Fmake_image_instance):
8594         allow for any domain (not just device), and process the
8595         governing domain correctly.  very big doc fix.
8596         * glyphs.c (Fimage_instance_domain):
8597         new primitive, to retrieve the governing domain of an image instance.
8598         * glyphs.c (image_instantiate):
8599         use new governing_domain stuff.  this fixes a crash you could get
8600         by instantiating certain widget glyphs in frame locales. (should
8601         signal an error instead of crashing.)
8602         * glyphs.c (Fimage_specifier_p): move doc to make-image-specifier.
8603         * glyphs.c (Fglyphp): clean up doc.
8604         * glyphs.c (subwindow_governing_domain): renamed from *_decode_domain.
8605         * glyphs.c (syms_of_glyphs):
8606         declare Fimage_instance_domain, remove unused Qlayout_image_instance_p.
8607         * glyphs.c (image_instantiator_format_create): add some comments about
8608         bogus code.
8609         * glyphs.c (specifier_vars_of_glyphs): totally rewrite the doc string
8610         for current-display-table. (Apparently Hrjove implemented in 1998 a
8611         design I wrote up in 1996, but didn't update the doc string.)
8612
8613         * glyphs.h: clean up a doc string.
8614         * glyphs.h (governing_domain):
8615         * glyphs.h (struct image_instantiator_methods):
8616         changes for governing_domain stuff.
8617
8618         * gutter.c:
8619         * gutter.c (Fgutter_specifier_p):
8620         * gutter.c (Fgutter_size_specifier_p):
8621         * gutter.c (Fgutter_visible_specifier_p):
8622         * objects.c:
8623         * objects.c (Fcolor_specifier_p):
8624         * objects.c (Ffont_specifier_p):
8625         * objects.c (Fface_boolean_specifier_p):
8626         doc strings moved to make-*-specifier.
8627
8628         * redisplay.c (add_disp_table_entry_runes_1):
8629         * redisplay.c (generate_fstring_runes):
8630         * redisplay.c (screen):
8631         add random comments and doc strings.
8632
8633         * specifier.c:
8634         * specifier.c (Fmake_specifier):
8635         major overhaul of this doc string.
8636
8637         * specifier.c (Fvalid_specifier_domain_p):
8638         comment about the bogosity of image instances being domains.
8639         * specifier.c (decode_domain):
8640         now non-static, used in glyphs.c.
8641         * specifier.c (specifier_instance):
8642         comment about the bogosity of image instances being domains.
8643         * specifier.c (Fgeneric_specifier_p):
8644         move doc string to make-generic-specifier.
8645         * specifier.c (VALID_SINGLE_DISPTABLE_INSTANTIATOR_P):
8646         rebackslashify.
8647
8648         * specifier.h:
8649         * specifier.h (DOMAIN_FRAME):
8650         * specifier.h (DOMAIN_LIVE_P):
8651         * specifier.h (DOMAIN_XDEVICE):
8652         rebackslashify.
8653         add comments about problems with these macros.
8654         prototype for decode_domain.
8655
8656         * toolbar.c:
8657         * toolbar.c (Ftoolbar_specifier_p):
8658         move doc string to `make-toolbar-specifier'.
8659
8660         * window.c (window_unmap_subwindows_cache_mapper):
8661         *************************************************************
8662         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
8663         HAVE BEEN GETTING.
8664         *************************************************************
8665
8666 2000-05-09  Andy Piper  <andy@xemacs.org>
8667
8668         * glyphs.h: declare reset_frame_subwindow_instance_cache.
8669
8670         * window.c (Fset_window_configuration): reset the frame subwindow
8671         cache and re-initialize the window subwindow caches.
8672
8673         * glyphs.c (reset_frame_subwindow_instance_cache): new function.
8674
8675 2000-05-09  Ben Wing  <ben@xemacs.org>
8676
8677         * ntheap.c (recreate_heap): Changed unknown (VC6 only?) SIZE_T to
8678         DWORD.
8679
8680 2000-04-26  Mike Woolley  <mike@bulsara.com>
8681
8682         * ntheap.c: Changed recreate_heap to limit the amount reserved
8683         for the heap to that which is actually available. Also now
8684         displays a message box (with some dignostics) in the event that
8685         it still can't start.
8686
8687 2000-05-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
8688
8689         * callproc.c (Fold_call_process_internal): GCPRO path
8690
8691 2000-05-08  Jan Vroonhof  <jan@xemacs.org>
8692
8693         Patch by Bill Perry.
8694
8695         * scrollbar.c (Fscrollbar_page_up): Conditionalize on type of call
8696         back data instead of #ifdef.
8697         (Fscrollbar_page_down): ditto.
8698
8699 2000-05-07  Ben Wing  <ben@xemacs.org>
8700
8701         * buffer.h:
8702         Kludge for defining Qmswindows_tstr.
8703
8704         * nt.c:
8705         * nt.c (open_input_file):
8706         * nt.c (open_output_file):
8707         * nt.c (rva_to_section):
8708         * nt.c (mswindows_executable_type):
8709         Move all memory-mapped-file routines here (some were in unexnt.c,
8710         which is bad because they are used by process-nt.c, and unexnt
8711         won't be around when portable dumping).  Synched the above routines
8712         with FSF 20.6.
8713
8714         * nt.h:
8715         Removed ifdef'd out bogus code.
8716         Fixed some prototypes.
8717
8718         * nt.h (file_data):
8719         * nt.h (OFFSET_TO_RVA):
8720         * nt.h (RVA_TO_OFFSET):
8721         * nt.h (RVA_TO_PTR):
8722         Moved the memory-mapped-file structures, macros and prototypes
8723         here, to parallel nt.c.  ntheap.h should really be removed
8724         entirely, and it's a non-portable-dumper specific file.
8725
8726         * ntheap.h (round_to_next):
8727         Moved the memory-mapped-file structures, macros and prototypes
8728         to nt.h.
8729
8730         * ntproc.c (compare_env):
8731         Moved rva_to_section and mswindows_executable_type to nt.c.
8732         Moved compare_env to process-nt.c.
8733         ntproc.c will die, one day.
8734
8735         * ntproc.c (sys_spawnve):
8736         Account for win32_ -> mswindows_.
8737
8738         * process-nt.c:
8739         * process-nt.c (struct nt_process_data):
8740         * process-nt.c (ensure_console_window_exists):
8741         * process-nt.c (compare_env):
8742         * process-nt.c (nt_create_process):
8743         * process-nt.c (nt_kill_process_by_pid):
8744         * process-nt.c (syms_of_process_nt):
8745         * process-nt.c (vars_of_process_nt):
8746         Introduce variable `mswindows-quote-process-args', from FSF 20.6.
8747         Copy argument quoting code from FSF 20.6 (with appropriate Mule-ization
8748         changes).  Eliminate our old `nt-quote-process-args' mechanism.
8749         Synch up nt_create_process with FSF 20.6 sys_spawnve.
8750         Move compare_env here from ntproc.c.
8751
8752         * process.c (Fprocess_send_region):
8753         Takes an optional fourth argument, BUFFER, which should fix some
8754         problems with call-process.
8755
8756         * syscommctrl.h:
8757         Move ICC_BAR_CLASSES here from syswindows.h, to avoid a warning.
8758
8759         * syswindows.h:
8760         Move ICC_BAR_CLASSES to syscommctrl.h.
8761         Add preliminary macros for MSWindows/Mule.  More to come.
8762
8763         * unexnt.c:
8764         * unexnt.c (unexec):
8765         open_output_file moved to nt.c.
8766
8767
8768 2000-05-05  Andy Piper  <andy@xemacs.org>
8769
8770         * window.c (window_unmap_subwindows_cache_mapper): remove the dead
8771         instance from the frame cache also since GC may catch up too late
8772         to make frame deletion sane.
8773
8774 2000-05-04  Andy Piper  <andy@xemacs.org>
8775
8776         * glyphs-x.c (x_widget_instantiate): gcpro widget callbacks.
8777         (x_finalize_image_instance): ungcpro on deletion.
8778
8779         * glyphs.c (image_instantiator_format_create): give pointers a
8780         query geometry method so that the geometry is at least set.
8781
8782         * glyphs-x.c (image_instantiator_format_create_glyphs_x): only
8783         initialize layouts if using widgets.
8784
8785 2000-05-03  Andy Piper  <andy@xemacs.org>
8786
8787         * nt.c: remove bogus reference to sysmmsystem.h
8788
8789         * gui-x.c (popup_selection_callback): fix no selection abort.
8790
8791 2000-05-02  Andy Piper  <andy@xemacs.org>
8792
8793         * glyphs-msw.c (mswindows_update_widget): cope with nil text.
8794         (mswindows_widget_instantiate): ditto.
8795
8796         * glyphs-widget.c (initialize_widget_image_instance): initialize
8797         children correctly.
8798         (widget_instantiate): cope with children and items in the same
8799         instance.
8800
8801         * glyphs.c (mark_image_instance): cope with children as a first
8802         class member.
8803         (image_instance_equal): ditto.
8804         (image_instance_hash): ditto.
8805         (image_instance_changed): ditto.
8806
8807 2000-04-30  Andy Piper  <andy@xemacs.org>
8808
8809         * glyphs.c (subwindow_query_geometry): new function. Return some
8810         defaults.
8811         (subwindow_instantiate): don't assign dimensions if none have been
8812         given.
8813         (image_instantiator_format_create): add subwindow_query_geometry.
8814         (print_image_instance): cope with layouts as widgets.
8815
8816 2000-04-29  Andy Piper  <andy@xemacs.org>
8817
8818         * frame.c (delete_frame_internal): call
8819         free_frame_subwindow_instance_cache so that all subwindows are
8820         finalized before their parent.
8821         (mark_frame): remove subwindow_cachels.
8822         (Fmake_frame): remove subwindow_cachel manipulation.
8823         (allocate_frame_core): subwindow_instance_cache is a weak list.
8824         (delete_frame_internal): set subwindow_instance_cache to nil.
8825
8826         * glyphs-msw.c (mswindows_finalize_image_instance): make double
8827         finalization safe.
8828         (mswindows_finalize_image_instance): use the device
8829         not the domain as the domain may have died already.
8830
8831         * glyphs-x.c (x_finalize_image_instance): ditto.
8832         (x_subwindow_instantiate): remove SUBWINDOW_WIDTH &
8833         HEIGHT.
8834
8835         * redisplay-output.c (redisplay_unmap_subwindows): update for
8836         subwindow instance cache as a weak list.
8837         (redisplay_unmap_subwindows_maybe): ditto.
8838         (redisplay_unmap_subwindows_except_us): ditto.
8839
8840         * glyphs.c (unmap_subwindow): error checking will check the domain
8841         so don't deal with it here. Don't use cachels anymore.
8842         (map_subwindow): ditto.
8843         (update_subwindow_cachel_data): remove old accessor names.
8844         (subwindow_instantiate): remove SUBWINDOW_WIDTH & HEIGHT.
8845         (Fresize_subwindow): don't update cachel.
8846         (mark_subwindow_cachels):
8847         (update_subwindow_cachel_data):
8848         (add_subwindow_cachel):
8849         (get_subwindow_cachel_index):
8850         (update_subwindow_cachel):
8851         (reset_subwindow_cachels):
8852         (mark_subwindow_cachels_as_not_updated): deleted.
8853         (cache_subwindow_instance_in_frame_maybe): new function. Add a
8854         subwindow instance to the frame cache.
8855         (find_matching_subwindow): update for subwindow instance cache as
8856         a weak list.
8857         (update_widget_instances): ditto.
8858         (image_instance_type_to_mask):inlined.
8859         (free_frame_subwindow_instance_cache): new function. finalize all
8860         subwindows that are instantiated.
8861
8862         * glyphs.h (struct Lisp_Image_Instance): add display_data instead
8863         of cachel information.
8864         (IMAGE_INSTANCE_DISPLAY_X):
8865         (IMAGE_INSTANCE_DISPLAY_Y):
8866         (IMAGE_INSTANCE_DISPLAY_WIDTH):
8867         (IMAGE_INSTANCE_DISPLAY_HEIGHT):
8868         (XIMAGE_INSTANCE_DISPLAY_X):
8869         (XIMAGE_INSTANCE_DISPLAY_Y):
8870         (XIMAGE_INSTANCE_DISPLAY_WIDTH):
8871         (XIMAGE_INSTANCE_DISPLAY_HEIGHT): new accessors.
8872         remove subwindow_cachel structure and function references.
8873         (image_instance_type_to_mask): inline from glyphs.c
8874
8875         * redisplay.c (redisplay_frame): remove subwindow_cachel
8876         references.
8877
8878         * frame.h (struct frame): remove subwindow_cachels.
8879         (FRAME_SUBWINDOW_CACHE): access subwindow_instance_cache.
8880
8881         * frameslots.h: add subwindow_instance_cache.
8882
8883         * window.c (replace_window): check subwindow cache of replacement.
8884         (window_unmap_subwindows_cache_mapper):
8885         (window_unmap_subwindows): new functions. Unmap all subwindows
8886         cached on this window.
8887         (mark_window_as_deleted): unmap all subwindows.
8888
8889 2000-04-27  Andy Piper  <andy@xemacs.org>
8890
8891         * glyphs.h (IIFORMAT_METH_OR_GIVEN): cope with null meths.
8892
8893         * glyphs-widget.c (widget_layout): return something.
8894         (layout_layout): return something. Fail if not initialized.
8895         (layout_query_geometry): ditto.
8896         (image_instantiator_native_layout): new function. Initialized the
8897         native layout type.
8898         (widget_instantiate): don't do layout stuff here.
8899
8900         * glyphs.c (instantiate_image_instantiator): reorded calling or
8901         instantiate and post_instantiate with layout in between.
8902         (image_instance_layout): be more selective about deciding whether
8903         the layout has been done or not.
8904
8905         * glyphs.h (struct image_instantiator_methods): return a value
8906         from layout_method.
8907
8908 2000-04-26  Andy Piper  <andy@xemacs.org>
8909
8910         * glyphs.c (allocate_image_instance): make initial width and
8911         height unspecified. Set initialized to 0.
8912
8913         * syscommctrl.h new file. Encapsulates commctrl.h.
8914
8915         * syswindows.h new file. Encapsulates windows.h.
8916
8917         * ntplay.c: use new syswindows.h and syscommctrl.h header.
8918         * nt.c: ditto.
8919         * console-msw.h: ditto.
8920
8921         * redisplay-tty.c (tty_output_display_block): remove layout references.
8922
8923         * glyphs-msw.c (mswindows_widget_instantiate): use the domain
8924         window handle rather than just the frame.
8925
8926         * glyphs.c (mark_image_instance): remove layout references.
8927         (print_image_instance): ditto.
8928         (image_instance_equal): ditto.
8929         (image_instance_hash): ditto.
8930         (decode_image_instance_type): ditto.
8931         (encode_image_instance_type): ditto.
8932         (image_instantiate): ditto.
8933         (allocate_glyph): ditto.
8934         (Fimage_instance_height): ditto.
8935         (Fimage_instance_width): ditto.
8936         (update_subwindow): ditto.
8937
8938         * redisplay-x.c (x_output_display_block): recode for layouts as
8939         widgets.
8940
8941         * redisplay-output.c (redisplay_output_layout): recode for layouts
8942         as widgets.
8943         (compare_runes): remove layout references.
8944
8945         * redisplay-msw.c (mswindows_output_display_block): recode for
8946         layouts as widgets.
8947
8948         * glyphs-widget.c (image_instantiator_layout): remove
8949         layout_possible_dest_types.
8950         (layout_possible_dest_types): deleted.
8951
8952         * glyphs.h (image_instance_type): remove layout references.
8953         (struct Lisp_Image_Instance): ditto. Add initialized flag.
8954         (IMAGE_INSTANCE_INITIALIZED): new accessor.
8955         (XIMAGE_INSTANCE_INITIALIZED): ditto.
8956
8957 2000-04-25  Andy Piper  <andy@xemacs.org>
8958
8959         * glyphs-widget.c (image_instantiator_buttons):
8960         (image_instantiator_edit_fields):
8961         (image_instantiator_combo_box):
8962         (image_instantiator_scrollbar):
8963         (image_instantiator_progress_guage):
8964         (image_instantiator_tree_view):
8965         (image_instantiator_tab_control):
8966         (image_instantiator_labels):
8967         (image_instantiator_layout): call default post_instantiate method.
8968         (widget_post_instantiate): new function. Simply lays out the
8969         widgets.
8970
8971         * glyphs.h (struct image_instantiator_methods): add
8972         post_instantiate method.
8973
8974         * glyphs.c (instantiate_image_instantiator): add post_instantiate
8975         method calls.
8976
8977 2000-04-23  Andy Piper  <andy@xemacs.org>
8978
8979         * glyphs.h (struct image_instantiator_methods): add
8980         decode_domain_method.
8981         (struct Lisp_Image_Instance): remove subwindow frame - it can be
8982         derived from the domain.
8983         (IMAGE_INSTANCE_FRAME): new accessor.
8984         (XIMAGE_INSTANCE_FRAME): ditto.
8985
8986         * glyphs.c (print_image_instance): use IMAGE_INSTANCE_FRAME
8987         instead of _SUBWINDOW_FRAME.
8988         (finalize_image_instance): ditto.
8989         (Fimage_instance_foreground): ditto.
8990         (Fimage_instance_background): ditto.
8991         (image_instantiate): ditto.
8992         (update_subwindow_cachel): ditto.
8993         (update_subwindow): ditto.
8994         (unmap_subwindow): ditto.
8995         (map_subwindow): ditto
8996         (subwindow_instantiate): ditto.
8997         * glyphs-msw.c (mswindows_update_widget): ditto.
8998         (mswindows_progress_gauge_instantiate): ditto.
8999         (mswindows_tab_control_update): ditto.
9000         * glyphs-x.c (x_update_widget): ditto.
9001         (x_widget_instantiate): ditto.
9002         (x_tab_control_instantiate): ditto.
9003         (x_tab_control_update): ditto.
9004         * event-msw.c (mswindows_wnd_proc): ditto
9005
9006         * glyphs-widget.c (image_instantiator_layout): use
9007         subwindow_decode_domain.
9008         (image_instantiator_buttons): ditto.
9009         (image_instantiator_edit_fields): ditto.
9010         (image_instantiator_combo_box): ditto.
9011         (image_instantiator_scrollbar): ditto.
9012         (image_instantiator_progress_guage): ditto.
9013         (image_instantiator_tree_view): ditto.
9014         (image_instantiator_tab_control): ditto.
9015         (image_instantiator_labels): ditto.
9016         (image_instantiator_layout): ditto.
9017
9018         * glyphs.c: add instance error checking to many functions.
9019         (instantiate_image_instantiator): decode device from cache_domain.
9020         (image_instantiate): partially rewrite by using
9021         decode_image_instantiator_domain to determine what domain the
9022         instance needs to be cached in.
9023         (decode_image_instantiator_domain): new function. Determine what
9024         domain the image needs to be cached in.
9025         (check_window_subwindow_cache): new error checking function.
9026         (check_instance_cache_mapper): ditto.
9027         (check_image_instance_structure): ditto.
9028         (subwindow_decode_domain): new function. Encodes a window as a
9029         subwindow's cache domain.
9030         (image_instantiator_format_create): use it for text and
9031         subwindows.
9032
9033 2000-04-21  Andy Piper  <andy@xemacs.org>
9034
9035         * glyphs.c (image_instance_device): new function.
9036         (image_instance_frame): new function.
9037         (image_instance_window): new function.
9038         (image_instance_live_p): new function.
9039
9040         * window.c (mark_window_as_deleted): reset the subwindow_instance_
9041         cache to nil.
9042
9043         * glyphs.h (struct Lisp_Image_Instance): device->domain.
9044         (IMAGE_INSTANCE_DOMAIN): new accessor.
9045         (XIMAGE_INSTANCE_DOMAIN): ditto.
9046
9047         * glyphs-x.c (x_finalize_image_instance): device->domain.
9048
9049         * glyphs-msw.c (init_image_instance_geometry): device->domain.
9050         (mswindows_finalize_image_instance): ditto.
9051
9052         * glyphs-eimage.c (jpeg_instantiate): device->domain.
9053         (gif_instantiate): ditto.
9054         (png_instantiate): ditto.
9055         (tiff_instantiate): ditto.
9056
9057         * glyphs.c (instantiate_image_instantiator): use domain rather
9058         than device.
9059         (mark_image_instance): device -> domain.
9060         (print_image_instance): ditto.
9061         (finalize_image_instance): ditto.
9062         (image_instance_equal): ditto.
9063         (allocate_image_instance): ditto.
9064         (Fcolorize_image_instance): ditto.
9065         (query_string_geometry): ditto.
9066         (image_instantiate): ditto
9067         (query_string_font): ditto.
9068         (image_instantiate): ditto.
9069         (update_subwindow): ditto.
9070         (unmap_subwindow): ditto.
9071         (map_subwindow): ditto.
9072         (subwindow_instantiate): ditto.
9073
9074         * specifier.h (DOMAIN_DEVICE): new, semantically correct, decoder.
9075         (DOMAIN_FRAME): ditto.
9076         (DOMAIN_WINDOW): ditto.
9077         (DOMAIN_LIVE_P): ditto.
9078         (XDOMAIN_DEVICE): ditto.
9079         (XDOMAIN_FRAME): ditto.
9080         (XDOMAIN_WINDOW): ditto.
9081
9082         * specifier.c (Fvalid_specifier_domain_p): add image instances as
9083         a valid specifier domain.
9084
9085 2000-04-19  Andy Piper  <andy@xemacs.org>
9086
9087         * glyphs-widget.c (syms_of_glyphs_widget): remove
9088         widget-callback-current-channel.
9089         (vars_of_glyphs_widget): ditto.
9090         * glyphs.h: ditto
9091
9092         * gui.c (get_gui_callback): revert to previous behaviour.
9093
9094 2000-04-18  Andy Piper  <andy@xemacs.org>
9095
9096         * glyphs.h (struct Lisp_Image_Instance): add margin_width.
9097         (IMAGE_INSTANCE_MARGIN_WIDTH): new.
9098         (XIMAGE_INSTANCE_MARGIN_WIDTH): new.
9099
9100         * glyphs.c (image_instance_equal): add margin_width.
9101         (image_instance_hash): ditto.
9102
9103         * glyphs-widget.c (widget_instantiate): deal with margin-width.
9104         (layout_query_geometry): ditto.
9105         (layout_layout): ditto.
9106         (syms_of_glyphs_widget): add margin-width.
9107         (image_instantiator_layout): allow margin-width.
9108
9109         * glyphs.c (update_widget_instances): make a normal function.
9110         (syms_of_glyphs): remove Qupdate_widget_instances.
9111         * glyphs.h: ditto.
9112
9113         * gui-x.c (popup_selection_callback): use enqueue_magic_eval_event
9114         so that we don't corrupt ideas about the last event or
9115         command. Remove widget-callback-current-channel fiddling.
9116         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
9117
9118 2000-05-01  Martin Buchholz <martin@xemacs.org>
9119
9120         * XEmacs 21.2.33 is released.
9121
9122 2000-05-01  Yoshiki Hayashi  <yoshiki@xemacs.org>
9123
9124         * make-src-depend: Allow dots in header file name.
9125
9126 2000-05-01  Yoshiki Hayashi  <yoshiki@xmacs.org>
9127
9128         * mule-charset.h (struct charset_lookup): Add
9129         next_allocated_1_byte_leading_byte and
9130         next_allocated_2_byte_leading_byte.
9131         * mule-charset.c: Move above two variables so that those values
9132         will be dumped.
9133
9134 2000-04-26  Yoshiki Hayashi  <yoshiki@xemacs.org>
9135
9136         * insdel.c (find_charsets_in_bufbyte_string): Add Vcharset_ascii
9137         when string length is zero.
9138         (find_charsets_in_emchar_string): Ditto.
9139
9140 2000-04-29  Bjrn Torkelsson  <torkel@hpc2n.umu.se>
9141
9142         * lisp.h: extern Qdialog and Qmenubar.
9143
9144         * gui-x.c: added events.h.
9145                 also fixed typo which made the file uncompilable.
9146
9147         * general.c: Added Qmenubar and Qdialog
9148
9149 2000-04-28  Ben Wing  <ben@xemacs.org>
9150
9151         * frame-msw.c (mswindows_init_frame_1):
9152         * frame-msw.c (mswindows_mark_frame):
9153         * event-msw.c (mswindows_enqueue_dispatch_event):
9154         * console-msw.h:
9155         * console-msw.h (struct mswindows_frame):
9156         * console-msw.h (FRAME_MSWINDOWS_WIDGET_HASH_TABLE1):
9157         there are now three hash tables for callbacks.
9158         mswindows_enqueue_dispatch_event is no longer static.
9159
9160         * dialog-x.c (maybe_run_dbox_text_callback):
9161         * dialog-x.c (dbox_descriptor_to_widget_value):
9162         switch to new cons3 form for callbacks.
9163
9164         * glyphs-msw.c (mswindows_register_gui_item):
9165         * glyphs-msw.c (mswindows_widget_instantiate):
9166         * glyphs-msw.c (add_tree_item):
9167         * glyphs-msw.c (add_tab_item):
9168         new image instance parameter, so it can be passed to callback-ex.
9169         respect :callback-ex as well as :callback.
9170
9171         * glyphs-widget.c (VALID_GUI_KEYWORDS):
9172         add :callback-ex.
9173
9174         * glyphs.c (print_image_instance):
9175         prettify, e.g. now prints widget type.
9176
9177         * gui-x.h:
9178         certain funs have new image instance parameter.
9179
9180         * gui.c:
9181         * gui.c (get_gui_callback):
9182         * gui.c (gui_item_add_keyval_pair):
9183         * gui.c (gui_item_init):
9184         * gui.c (gui_add_item_keywords_to_plist):
9185         * gui.c (mark_gui_item):
9186         * gui.c (gui_item_hash):
9187         * gui.c (gui_item_equal):
9188         * gui.c (copy_gui_item):
9189         * gui.c (syms_of_gui):
9190         recognize callback-ex in a number of places.
9191         also, fix the annoying "can't get out of yes-no dialog" bug.
9192
9193         * gui.h:
9194         * gui.h (struct Lisp_Gui_Item):
9195         recognize callback-ex in a number of places.
9196
9197         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
9198         new parameter in button_item_to_widget_value.
9199
9200         * glyphs-x.c (x_update_widget):
9201         * glyphs-x.c (x_button_instantiate):
9202         * glyphs-x.c (x_button_update):
9203         * glyphs-x.c (x_progress_gauge_instantiate):
9204         * glyphs-x.c (x_edit_field_instantiate):
9205         * glyphs-x.c (x_combo_box_instantiate):
9206         * glyphs-x.c (x_tab_control_instantiate):
9207         * glyphs-x.c (x_label_instantiate):
9208         new image instance parameter in various places.
9209
9210         * event-Xt.c:
9211         * event-Xt.c (enqueue_Xt_dispatch_event):
9212         this fun gets exported.
9213
9214         * gui-msw.c:
9215         * gui-msw.c (mswindows_handle_gui_wm_command):
9216         handle both :callback and :callback-ex, and generate our own
9217         event because it's one of the callback-ex arguments.
9218
9219         * gui-x.c:
9220         * gui-x.c (popup_selection_callback):
9221         handle both :callback and :callback-ex, and generate our own
9222         event because it's one of the callback-ex arguments.
9223         * gui-x.c (button_item_to_widget_value):
9224         * gui-x.c (gui_items_to_widget_values_1):
9225         * gui-x.c (gui_item_children_to_widget_values):
9226         * gui-x.c (gui_items_to_widget_values):
9227         new image instance parameter in various places.
9228
9229         * fns.c (Freplace_list):
9230         fix small typo in doc string.
9231
9232         * lisp.h:
9233         declare enqueue_Xt_dispatch_event.
9234
9235 2000-04-28  Ben Wing  <ben@xemacs.org>
9236
9237         * buffer.c:
9238         * buffer.c (Frecord_buffer):
9239         * buffer.c (syms_of_buffer):
9240         delete record-buffer-hook.
9241
9242         * fns.c:
9243         * fns.c (Freplace_list):
9244         * fns.c (syms_of_fns):
9245         new primitive replace-list.
9246
9247         * frameslots.h:
9248         slot for old buffer-alist.
9249
9250         * lisp.h:
9251         exfun replace-list.
9252
9253         * redisplay.c:
9254         * redisplay.c (redisplay_frame):
9255         * redisplay.c (syms_of_redisplay):
9256         * redisplay.c (vars_of_redisplay):
9257         new hook buffer-list-changed-hook.
9258         call it.
9259
9260 2000-04-27  Ben Wing  <ben@xemacs.org>
9261
9262         * extents.h: extern in_modeline_generation.
9263
9264         * redisplay.c (generate_formatted_string_db): set
9265         in_modeline_generation.
9266
9267         * extents.c (extent_changed_for_redisplay): don't mark redisplay
9268         flags if in modeline generation.  otherwise frame-modified-tick
9269         is ticked far too often.
9270         Declare in_modeline_generation.
9271
9272 2000-04-26  Ben Wing  <ben@xemacs.org>
9273
9274         * emacs.c (vars_of_emacs): document quick-build "error-checking"
9275         option.
9276         (vars_of_emacs): add quick-build as an error-checking option.
9277         A bit kludgy, but there doesn't seem much point in creating
9278         a real var for this.
9279
9280         * config.h.in: put in an entry for QUICK_BUILD; remove NO_DOC_FILE.
9281
9282 2000-04-14  IKEYAMA Tomonori  <tomonori@suiyokai.org>
9283
9284         * redisplay.h (struct display_line): Add a new variable,
9285         line_continuation.
9286
9287         * redisplay.c (create_text_block): Set dl->line_continuation if
9288         the line continues.
9289         (create_string_text_block): Ditto.
9290         (regenerate_window_incrementally): Use line_continuation instead
9291         of searching continuation glyph.
9292         (add_margin_runes): Call add_glyph_rune.
9293         (add_glyph_rune): Handle margin glyph.
9294
9295 2000-04-20  Martin Buchholz  <martin@xemacs.org>
9296
9297         * filelock.c (fill_in_lock_file_name):
9298         ANSIfy.
9299         Check for IS_ANY_SEP instead of '/'.
9300         (lock_file_1):
9301         Avoid generating gratuitous garbage.  Call user_login_name() directly.
9302         Never check errno without first seeing that system call failed.
9303         (unlock_file): Add GCPRO.
9304         (Flock_buffer): Fix docstring.
9305         (Ffile_locked_p): Fix docstring.  Add GCPRO.
9306
9307 2000-04-19  Martin Buchholz  <martin@xemacs.org>
9308
9309         * sysdep.c (get_pty_max_bytes):
9310         Fix hangs on DEC OSF 4.0 when (process-send-string) sends
9311         strings longer than 252 bytes.
9312
9313         * md5.c: Unconditionally include ANSI header <limits.h>
9314
9315         * glyphs-x.c (convert_EImage_to_XImage):
9316         * lisp-union.h (union Lisp_Object):
9317         Use consistently the syntax #ifdef FEATURE, not #if FEATURE.
9318
9319 2000-04-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
9320
9321         * filelock.c (current_lock_owner): Remove unused variable o, p.
9322
9323 2000-04-17  Norbert Koch  <n.koch@eai-delta.de>
9324
9325         * callint.c: Remove multiply defined symbol Qlet
9326         (syms_of_callint): ditto.
9327
9328 2000-04-14  Andy Piper  <andy@xemacs.org>
9329
9330         * general.c (syms_of_general): add last-command, this-command, let
9331         and funcall.
9332
9333         * lisp.h: declare various symbols.
9334
9335         * glyphs.h: declare Qwidget_callback_current_channel;
9336
9337         * glyphs-widget.c (syms_of_glyphs_widget): add
9338         Qgui_callback_current_channel.
9339         (vars_of_glyphs_widget): add Vgui_callback_current_channel.
9340
9341         * gui-msw.c (mswindows_handle_gui_wm_command): bind
9342         widget-callback-current-channel when invoking the interactive
9343         arg. Also bind last-command and next-command when invoking the
9344         widget updates.
9345         * gui-x.c (popup_selection_callback): ditto.
9346
9347         * gui.c (get_gui_callback): massage args so that we are always
9348         calling eval. This allows us to add our own variable bindings
9349         outside.
9350
9351         * glyphs-x.c (x_button_instantiate): use
9352         gui_items_to_widget_values since this is GC safe.
9353         (x_progress_gauge_instantiate): ditto.
9354         (x_edit_field_instantiate): ditto.
9355         (x_label_instantiate): ditto.
9356
9357         * event-Xt.c (emacs_Xt_handle_magic_event): remove old printfs.
9358         (emacs_Xt_event_widget_focus_out): new function
9359         (emacs_Xt_event_widget_focus_in): new function. Set the keyboard
9360         focus.
9361         (emacs_Xt_event_add_widget_actions): new function. add focus
9362         functions as actions.
9363         (init_event_Xt_late): use it.
9364
9365 2000-04-14  Hrvoje Niksic  <hniksic@iskon.hr>
9366
9367         * event-stream.c (Fdispatch_event): Doc fix.
9368
9369 2000-03-29  SL Baur  <steve@musashimaru.m17n.org>
9370
9371         * postgresql.c: Remove all references to PQsetenv*.
9372
9373         * postgresql.h: Remove references to PGsetenvHandler object.
9374         * lrecord.h (lrecord_type): Ditto.
9375
9376 2000-04-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
9377
9378         * glyphs-msw.h (struct mswindows_image_instance_data): Added
9379         real_heigh and real_width members, and accessor macros for these.
9380
9381         * glyphs-msw.c (init_image_instance_geometry): New function.
9382         (init_image_instance_from_dibitmap): Use it.
9383         (mswindows_resource_instantiate): Use it.
9384         (init_image_instance_from_xbm_inline): Use it.
9385         (mswindows_initialize_image_instance_mask): Use real bitmap
9386         geometry.
9387         (mswindows_create_resized_bitmap): Ditto.
9388         (mswindows_create_resized_mask): Ditto.
9389
9390         * redisplay-msw.c (mswindows_output_dibitmap): Stretch real mask
9391         and bitmap to their surface size.
9392
9393 2000-04-11  Jan Vroonhof  <jan@xemacs.org>
9394
9395         * process-unix.c (unix_send_process): Guard against process MIA
9396         after Faccept_process_output.
9397
9398 2000-04-11  Ben Wing  <ben@xemacs.org>
9399
9400         * eval.c (unbind_to_hairy): fix brokenness introduced by
9401         nanosecond speed improvements.
9402
9403 2000-04-07  Raymond Toy  <toy@rtp.ericsson.se>
9404
9405         * sunplay.c (init_device): To play sounds correctly, the device
9406         apparently needs to be initialized at least once by XEmacs.  Make
9407         it so.
9408
9409 2000-04-10  IKEYAMA Tomonori  <tomonori@suiyokai.org>
9410
9411         * redisplay.c (add_margin_runes): Add text image glyph
9412           handling.
9413
9414 2000-04-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
9415
9416         * lisp.h (DOESNT_RETURN): Don't declare as volatile when
9417         gcc is newer than 2.5.
9418
9419 2000-04-06  Colin Rafferty  <colin@xemacs.org>
9420
9421         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF): Created.
9422
9423         * fns.c (size_bit_vector):
9424         * alloc.c (size_vector):
9425         (make_vector_internal):
9426         (make_bit_vector_internal):
9427         (sweep_bit_vectors_1):
9428         Replace calls to offsetof with FLEXIBLE_ARRAY_STRUCT_SIZEOF macro.
9429
9430 2000-04-06  Andy Piper  <andy@xemacs.org>
9431
9432         * gmalloc.c (malloc): undo previous change.
9433         (malloc): ditto.
9434         (free): ditto.
9435         (realloc): ditto.
9436
9437 2000-04-06  IKEYAMA Tomonori <tomonori@suiyokai.org>
9438
9439         * line-number.c (buffer_line_number): Revert to former version.
9440
9441 2000-04-06  Andy Piper  <andy@xemacs.org>
9442
9443         * gmalloc.c (malloc): add error checking.
9444         (malloc): ditto.
9445         (free): ditto.
9446         (realloc): ditto.
9447
9448         * dialog-x.c (dbox_descriptor_to_widget_value): add extra
9449         button_item_to_widget_value arg.
9450
9451         * glyphs-x.c (x_button_instantiate): add extra
9452         button_item_to_widget_value arg.
9453         (x_progress_gauge_instantiate): ditto.
9454         (x_edit_field_instantiate): ditto.
9455         (x_label_instantiate): ditto.
9456
9457         * gui-x.c (gui_items_to_widget_values_1): add extra
9458         button_item_to_widget_value arg.
9459         (button_item_to_widget_value): add extra menu_item_p arg.
9460
9461         * gui-x.h: change signature of button_item_to_widget_value.
9462
9463         * menubar-x.c (menu_item_descriptor_to_widget_value_1): add extra
9464         button_item_to_widget_value arg.
9465
9466 2000-04-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
9467
9468         * buffer.h (struct buffer): auto_save_modified should be long.
9469
9470 2000-04-05  Andy Piper  <andy@xemacs.org>
9471
9472         * glyphs-widget.c (widget_instantiate): pixwidth != pixheight
9473         type.
9474         (button_query_geometry): give a little more room so that athena
9475         buttons fit.
9476
9477 2000-04-05  Andy Piper  <andy@xemacs.org>
9478
9479         * faces.c (complex_vars_of_faces): The widget face should inherit
9480         the font of the gui-element face.
9481
9482 2000-04-04  Andy Piper  <andy@xemacs.org>
9483
9484         * glyphs-x.c (x_button_update): new function. unconditionally
9485         update a button's state when the instance is dirty.
9486         (image_instantiator_format_create_glyphs_x): add x_button_update.
9487         (x_widget_instantiate): remove old resize cruft.
9488
9489 2000-04-02  Andy Piper  <andy@xemacs.org>
9490
9491         * frame.c (change_frame_size_1): The introduction of gutters means
9492         that we need to allow 0 as a potential frame dimension.
9493
9494 2000-04-02  IKEYAMA Tomonori  <tomonori@suiyokai.org>
9495
9496         * redisplay.c (add_glyph_rune): Don't set 0 to bufpos for text
9497         image glyph if allow_cursor.
9498         (add_hscroll_rune): Don't allow cursor to border glyph.
9499         (create_text_block): Ditto.
9500
9501         * redisplay-output.c (redisplay_move_cursor): Do nothing even if
9502         text not in buffer.
9503         (redisplay_output_layout): Call ensure_face_cachel_complete for
9504         text image glyph.
9505
9506
9507 2000-03-16  IKEYAMA Tomonori  <tomonori@suiyokai.org>
9508
9509         * redisplay.c (add_glyph_rune): Adding text image as text runes.
9510
9511         * redisplay-output.c (redisplay_move_cursor): NO_CURSOR if text
9512         not in buffer
9513
9514         * redisplay-tty.c (tty_output_display_block): Delete the routine
9515         for text image glyph
9516         * redisplay-x.c (x_output_display_block): ditto
9517         * redisplay-msw.c (mswindows_output_display_block): ditto
9518
9519 2000-02-02  Mike Alexander  <mta@arbortext.com>
9520
9521         Note: Some of these were committed by accident as part of other
9522         patches.
9523
9524         * regex.c (regex_compile): Avoid compiler warnings.
9525
9526         * ntproc.c (sys_spawnve): Avoid compiler warnings.
9527
9528         * nt.h: Declare term_ntproc correctly.
9529
9530         * nt.c: Remove incorrect declaration of get_home_directory which
9531         is declared correctly in lisp.h.
9532
9533         * keymap.c (get_keyelt): Avoid compiler warnings.
9534         (raw_lookup_key_mapper): Avoid compiler warnings.
9535
9536         * gutter.c (gutter_was_visible): Add return statement to avoid warning.
9537
9538         * glyphs-eimage.c (png_instantiate): Avoid compiler warnings.
9539
9540         * filemode.c (mode_string): Avoid compiler warnings.
9541
9542         * file-coding.c (Fcoding_system_aliasee): Add return statement to
9543         avoid warning.
9544
9545         * events-mod.h: Undef some things that winuser.h defines differently.
9546
9547         * data.c (Faset): Avoid compiler warnings.
9548
9549         * alloc.c (Fmake_byte_code): Avoid compiler warnings.
9550
9551 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
9552
9553         * sound.c (Fplay_sound_file): Wrap ESD in start/stop_interrupts.
9554         Fall through to simple beep on error.
9555         Replace "extern" by real header file.
9556
9557         * linuxplay.c: Use nativesound.h
9558         (play_sound_data): Return error code. Be less verbose on error.
9559
9560         * sunplay.c: Use nativesound.h
9561         (play_sound_data): Return error code. Be less verbose on error.
9562
9563         * ntplay.c: Use nativesound.h
9564         (play_sound_data): Return fake error code
9565
9566         * sgiplay.c: Use nativesound.h
9567         (play_sound_data): Return error code
9568
9569         * hpplay.c: Use nativesound.h, partially implement
9570         new error code. Break compilation until finished.
9571         (play_sound_data): error code.
9572
9573         * nativesound.h (play_sound_file):
9574           (play_sound_data): Prototype in new header.
9575
9576 2000-03-31  Andy Piper  <andy@xemacs.org>
9577
9578         * glyphs-widget.c: (button_query_geometry): new function. Adjust
9579         for toggle and radio buttons.
9580         (image_instantiator_buttons): use it.
9581
9582 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
9583
9584         * scrollbar-x.c (x_update_vertical_scrollbar_callback):
9585         (x_update_horizontal_scrollbar_callback): Return if no mirror was
9586         found. Scrollbar event probably belonged to some old config.
9587
9588 2000-03-31  Andy Piper  <andy@xemacs.org>
9589
9590         * glyphs-widget.c (widget_instantiate): use LAYOUT_VERTICAL rather
9591         than 1.
9592         (initialize_widget_image_instance): default layout to
9593         LAYOUT_HORIZONTAL rather than 0.
9594         (widget_instantiate): reverse the item list at the end rather than
9595         every iteration.
9596         (layout_layout): re-code for the border text at the front of the
9597         item list rather than at the end.
9598         (layout_query_geometry): ditto. Pick up fixed and dynamic sizes
9599         provided by the user.
9600         (widget_query_geometry): comment.
9601
9602 2000-03-30  Andy Piper  <andy@xemacs.org>
9603
9604         * glyphs-widget.c (image_instantiator_layout): allow standard
9605         widget keywords in layouts.
9606
9607         * gutter.c (output_gutter): cope with nil gutter contents.
9608
9609         * frame.c (Fset_frame_properties): add gutter docs.
9610
9611 2000-03-29  Andy Piper  <andy@xemacs.org>
9612
9613         * toolbar-msw.c (TBSTYLE_FLAT): add.
9614         (mswindows_output_toolbar): minor fiddling.
9615
9616 2000-03-29  Andy Piper  <andy@xemacs.org>
9617
9618         * gutter.c (output_gutter): force gutter size recalculation if
9619         what we are trying to display won't fit.
9620         (update_gutter_geometry): new function. A per-gutter version of
9621         update_frame_gutter_geometry.
9622         (update_frame_gutter_geometry): use it.
9623         (redraw_exposed_gutter): add extra debugging output.
9624
9625 2000-03-28  Mike Alexander  <mta@arbortext.com>
9626
9627         * dumper.c: Declare pdump_hFile and pdump_hMap (Windows only)
9628         (pdump_file_unmap): Implement it on Windows
9629         (pdump_file_get): Save alocated handles for pdump_file_unmap
9630
9631 2000-03-28  Andy Piper  <andy@xemacs.org>
9632
9633         * gui.c (get_gui_callback): treat Quit specially.
9634
9635 2000-03-27  Andy Piper  <andy@xemacs.org>
9636
9637         * glyphs.c (image_instantiate): be careful to check in the same
9638         way we assigned.
9639
9640 2000-03-27  Didier Verna  <didier@xemacs.org>
9641
9642         * config.h.in: define the proper SMART_INCLUDE macro.
9643         handle renaming of `foo_h_path' to `foo_h_file'.
9644
9645         * database.c: ditto.
9646
9647         * emacs.c: ditto.
9648
9649         * linuxplay.c: ditto.
9650
9651         * terminfo.c: ditto.
9652
9653         * tooltalk.h: ditto.
9654
9655 2000-03-27  Andy Piper  <andy@xemacs.org>
9656
9657         * glyphs-msw.c (mswindows_update_widget): make sure the widget
9658         gets updated whenever the face might have changed.
9659
9660 2000-03-26  Mike Alexander  <mta@arbortext.com>
9661
9662         * dumper.c (pdump_resource_free): Fix the comment.
9663
9664 2000-03-21  Olivier Galibert  <galibert@pobox.com>
9665
9666         * input-method-xlib.c (XIM_init_frame): Remove painful warning.
9667
9668 2000-03-22  Mike Alexander  <mta@arbortext.com>
9669
9670         * dumper.c: Include Windows headers on Windows
9671         (pdump_resource_free): Add a body to the function
9672         (pdump_load): exe_name -> exe_path and add some comments.
9673
9674 2000-03-25  Mike Alexander  <mta@arbortext.com>
9675
9676         * gui.c (copy_gui_item_tree): Return a value in all cases
9677
9678 2000-03-21  Didier Verna  <didier@xemacs.org>
9679
9680         * config.h.in: move INCLUDE_GLUE_1 and INCLUDE_GLUE_2 here from
9681         lwlib/config.h.in.
9682         (SMART_INCLUDE): new macro.
9683         (POSTGRES_INCLUDE): new macro to include postgresql headers from
9684         the proper location.
9685
9686         * postgresql.c: use it.
9687
9688         * inline.c: ditto.
9689
9690 2000-03-24  Andy Piper  <andy@xemacs.org>
9691
9692         * gutter.c (redraw_exposed_gutters): must be "in display" when we
9693         do this.
9694
9695 2000-03-24  Andy Piper  <andy@xemacs.org>
9696
9697         * redisplay-output.c (compare_runes): use image_instance_changed
9698         to detect changes. Do not depend on glyphs_changed, only depend on
9699         dirtiness.
9700          (redisplay_output_layout): add debug messages.
9701         (compare_runes): ditto.
9702
9703         * glyphs.h: declare new functions.
9704         (struct Lisp_Image_Instance): remove percent and associated
9705         accessors.
9706
9707         * gui.h: declare new copying functions.
9708
9709         * gui.c (copy_gui_item_tree): new function.
9710         (copy_gui_item): new function.
9711         (gui_item_id_hash): revert to standard hash.
9712         (gui_item_hash): ditto.
9713         (gui_item_hash_internal): deleted.
9714         (mark_gui_item): mark value.
9715         (gui_item_add_keyval_pair): add value.
9716         (gui_item_init): ditto.
9717         (gui_add_item_keywords_to_plist): ditto.
9718         (gui_item_equal): ditto.
9719         (syms_of_gui): add Q_value.
9720
9721         * glyphs-x.c (x_progress_gauge_update): use pending items and
9722         value for setting the state.
9723         (x_update_widget): don't set items from pending here.
9724
9725         * glyphs-widget.c (update_widget): update items here.
9726         (progress_gauge_set_property): use items for storing value. Put
9727         new value in pending items.
9728
9729         * glyphs-msw.c (mswindows_progress_gauge_update): use pending
9730         items for new value. Convert percent -> value.
9731         (mswindows_tab_control_update): don't update items here.
9732
9733         * glyphs.c (Fupdate_widget_instances): use image_instance_changed.
9734         (update_subwindow): ditto.
9735         (image_instance_changed): new function. Compare hash values and
9736         past and present widget items.
9737         (image_instantiate): We more careful about where we instantiate
9738         things.
9739         (image_instantiate): add error checking.
9740
9741         * gutter.c (syms_of_gutter): use -hook.
9742
9743 2000-03-20  Yoshiki Hayashi  <yoshiki@xemacs.org>
9744
9745         * console-tty.c (Fset_console_tty_input_coding_system): Use
9746         Qkeyboard.
9747         (Fset_console_tty_output_coding_system): Use Qterminal.
9748         (tty_init_console): Use Qkeyboard and Qterminal.
9749
9750 2000-03-21  Ben Wing  <ben@xemacs.org>
9751
9752         * ntproc.c (create_child): remove bogus HAVE_NTGUI's.
9753         From Mike Alexander <mta@arbortext.com>.
9754
9755 2000-03-21  Ben Wing  <ben@xemacs.org>
9756
9757         * event-msw.c (mswindows_need_event): Horrible kludge to fix
9758         process brokenness.  Proper implementation to come.
9759         * callproc.c:
9760         Rename call-process-internal to old-call-process-internal.
9761         New impl. in process.el.
9762
9763 2000-03-21  Martin Buchholz  <martin@xemacs.org>
9764
9765         * Makefile.in.in: Coalesce HAVE_NATIVE_SOUND code fragments.
9766
9767 2000-03-20  Andy Piper  <andy@xemacs.org>
9768
9769         * glyphs.c (full_list_hash): make hashes of the same elements in
9770         different orders return different values.
9771
9772 2000-03-20  Martin Buchholz <martin@xemacs.org>
9773
9774         * XEmacs 21.2.32 is released.
9775
9776 2000-03-20  Martin Buchholz  <martin@xemacs.org>
9777
9778         * buffer.h (DFC_ALLOCA_USE_CONVERTED_DATA):
9779         (DFC_MALLOC_USE_CONVERTED_DATA):
9780         Add aliasing-safe casts to allow use with char* or unsigned char*
9781         lvalues.
9782
9783         * eldap.c (Fldap_open):
9784         (Fldap_search_basic):
9785         (Fldap_add):
9786         (Fldap_modify):
9787         Make C++-compilable.
9788         Make sure GCPRO'ed variables are initialized.
9789         Use temp variables to avoid repeated calls to Flength.
9790
9791 2000-03-16  Martin Buchholz  <martin@xemacs.org>
9792
9793         * sysfile.h:
9794         Make sure PATH_MAX is always defined.
9795         Include limits.h for PATH_MAX.
9796         Deprecate use of MAXPATHLEN.
9797
9798 2000-03-10  Martin Buchholz  <martin@xemacs.org>
9799
9800         * emacs.c: Add reinit_vars_of_fileio.
9801         * symsinit.h: Add reinit_vars_of_fileio.
9802         * fileio.c (reinit_vars_of_fileio): New.
9803         * fileio.c (Fmake_temp_name):
9804         Initialize temp_name random number from microseconds to make
9805         collisions even less likely.  Initialize always at process startup
9806         time.  (make-temp-name) used to return the same file name twice in
9807         a row when PDUMP.
9808         Random stylistic fiddling.
9809         Comment fixes.
9810
9811 2000-03-20  Andy Piper  <andy@xemacs.org>
9812
9813         * glyphs.c (image_instantiate): allow text glyphs to be
9814         instantiated in the minibuffer window.
9815
9816 2000-03-19  Andy Piper  <andy@xemacs.org>
9817
9818         * glyphs.c (image_instance_hash): be careful about which items we
9819         hash on.
9820
9821         * glyphs-widget.c (tab_control_set_property): record into pending
9822         items rather than the actual items.
9823
9824         * glyphs-x.c (x_update_widget): use pending items to update with.
9825
9826         * glyphs-msw.c (mswindows_tab_control_update): use pending items
9827         to update with.
9828
9829         * glyphs.c (mark_image_instance): mark pending items.
9830
9831         * window.c (Fset_window_configuration): record the buffer.
9832         (Fselect_window): totally revert previous change which breaks many
9833         things.
9834
9835 2000-03-18  Andy Piper  <andy@xemacs.org>
9836
9837         * glyphs-msw.c (mswindows_tab_control_update): force selected
9838         item.
9839
9840         * glyphs.c (image_instantiate): don't allow the minibuffer as a
9841         window domain cache, otherwise we get inconsistencies at
9842         startup. There is something fishy at startup which can lead to the
9843         minibuffer being the selected window when the gutter content is
9844         instantiated.
9845
9846         * gui.c (parse_gui_item_tree_list): add probably unnecessary
9847         gcpros.
9848         (parse_gui_item_tree_children): ditto.
9849         (parse_gui_item_tree_item): ditto.
9850
9851         * glyphs.c (Fupdate_widget_instances): return something.
9852
9853 2000-03-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
9854
9855         * window.c (Fselect_window): Undo 2000-03-17 change.
9856
9857 2000-03-17  SL Baur  <steve@musashimaru.m17n.org>
9858
9859         * postgresql.c (Fpq_setenv): Remove this turkey when linking
9860         against v7.0 libraries.  Insta-coredump city until the postgres
9861         folks fix it.
9862
9863 2000-03-17  Andy Piper  <andy@xemacs.org>
9864
9865         * faces.c (complex_vars_of_faces): don't give the widget face an
9866         inherited background pixmap.
9867
9868         * glyphs-msw.c (mswindows_tab_control_instantiate): select the
9869         selected item.
9870
9871         * event-stream.c (Fdispatch_non_command_events): return something.
9872
9873         * gutter.c (output_gutter): use widget face.
9874         (clear_gutter): ditto.
9875
9876         * NEWS: adjust again.
9877
9878         * window.c (Fselect_window): make sure this runs to completion to
9879         avoid oddities with Fset_window_configuration.
9880         (Fcurrent_window_configuration): in general do not save the
9881         minibuffer as the selected window.
9882
9883         * glyphs.h (IMAGE_INSTANCE_HASH_DEPTH): increase.
9884
9885 2000-03-16  Olivier Galibert  <galibert@pobox.com>
9886
9887         * emacs.c (Frunning_temacs_p): Revert previous patch.
9888         (main_1): Reinitialize running_temacs_argc if pdump_load succeeds.
9889
9890 2000-03-16  Andy Piper  <andy@xemacs.org>
9891
9892         * glyphs-x.c (x_tab_control_update): if no widget values then
9893         return.
9894
9895         * NEWS: update for new features.
9896
9897         * event-Xt.c (emacs_Xt_force_event_pending): new function. Post a
9898         synthetic event to the native system.
9899         (reinit_vars_of_event_Xt): set force_event_pending to
9900         emacs_Xt_force_event_pending.
9901
9902         * events.h (struct event_stream): add force_event_pending.
9903
9904         * specifier.c (recompute_one_cached_specifier_in_window): add
9905         comment.
9906
9907         * redisplay.c (redisplay_frame): don't call
9908         update_frame_subwindows. Reset subwindow cachels when
9909         subwindows_changed, removing this was an optimization too far.
9910
9911         * redisplay-output.c (compare_runes): reorganize so that we catch
9912         glyph changes when we want them. Set optimize_output when this
9913         would help layouts.
9914         (redisplay_output_layout): remove frame_really_changed, use
9915         optimize_output instead.
9916
9917         * redisplay-msw.c (mswindows_output_display_block): reset
9918         optimize_output after outputting a glyph.
9919         * redisplay-x.c (x_output_display_block): ditto.
9920         * redisplay-tty.c (tty_output_display_block): ditto.
9921
9922         * gutter.c: (specifier_vars_of_gutter): use new spec changed
9923         functions.
9924         (gutter_specs_changed): do specific gutter positions.
9925         (top_gutter_specs_changed): new function. Only update the
9926         specified gutter specs.
9927         (bottom_gutter_specs_changed): ditto.
9928         (left_gutter_specs_changed): ditto.
9929         (right_gutter_specs_changed): ditto.
9930
9931         * gui.c (gui_item_hash_internal): new function, does a real hash.
9932         (gui_item_id_hash): use it.
9933         (gui_item_hash): hash the eval'ed gui_item.
9934
9935         * gui-x.c (popup_selection_callback): send an eval event to call
9936         Fupdate_widget_instances.
9937
9938         * gui-msw.c (mswindows_handle_gui_wm_command): send an eval event
9939         to call Fupdate_widget_instances.
9940
9941         * glyphs.h (struct Lisp_Image_Instance): add optimize_output flag.
9942         (IMAGE_INSTANCE_OPTIMIZE_OUTPUT): access it.
9943
9944         * glyphs.c: (update_frame_subwindows): deleted.
9945         (Fupdate_widget_instances): new function for updating the dirty
9946         state of widgets that might have changed.
9947         (syms_of_glyphs): add Qupdate_widget_instances.
9948         (full_list_hash): hash a list completely.
9949         (image_instance_hash): use it for items and properties.
9950
9951         * frame-msw.c (mswindows_size_frame_internal): remove unused
9952         variable.
9953
9954         * faces.h (struct face_cachel): fix comment.
9955
9956         * event-stream.c (Fdispatch_non_command_events): new
9957         function. Process non-command events, forcing an event cycle
9958         beforehand.
9959         (syms_of_event_stream): declare.
9960         (event_stream_force_event_pending): new function. Force an event
9961         on the native event queue so that an event cycle will occur next
9962         time we check.
9963
9964         * event-msw.c:
9965         (struct ntpipe_shove_stream):
9966         (mswindows_enqueue_dispatch_event):
9967         (mswindows_dequeue_dispatch_event):
9968         (mswindows_cancel_dispatch_event):
9969         (mswindows_pump_outstanding_events):
9970         (mswindows_drain_windows_queue):
9971         (mswindows_handle_paint):
9972         (mswindows_wnd_proc):
9973         (mswindows_key_to_emacs_keysym):
9974         (get_process_input_waitable):
9975         (emacs_mswindows_delete_stream_pair): re-indent file.
9976         (mswindows_need_event): do not process further fds if the windows
9977         fd is set, otherwise you get endless XM_BUMPQUEUE cycles. This
9978         fixes the 100% cpu problem.
9979         (reinit_vars_of_event_mswindows): set force_event_pending to 0.
9980
9981 2000-03-15  Olivier Galibert  <galibert@pobox.com>
9982
9983         * alloc.h: New.
9984         * dumper.h: New.
9985         * dumper.c: New.
9986
9987         * emacs.c: Moved dump file searching to dumper.c.
9988         (Frunning_temacs_p): Fixed.
9989
9990         * alloc.c: Moved everything pdump-related to dumper.c.  Removed
9991         last_lrecord_type_index_assigned.
9992
9993 2000-02-20  Olivier Galibert  <galibert@pobox.com>
9994
9995         * symsinit.h: Added reinit parameter to init_console_stream
9996         declaration.
9997
9998         * lisp.h: Added file parameter to pdump_load declaration.
9999
10000         * emacs.c (main_1): Added -nd/--nodump-file and -sd/--show-dump-id
10001         support.  Added dump file searching.
10002
10003         * config.h.in: Added EMACS_PROGNAME.
10004
10005         * console-stream.c (init_console_stream): Fix reinitialisation
10006         when running from temacs.
10007
10008         * alloc.c (pdump): Add id support.
10009         (pdump_load): Add file parameter and signature/id support.
10010
10011         * Makefile.in.in: Add full pdump support.
10012
10013 2000-03-15  SL Baur  <steve@musashimaru.m17n.org>
10014
10015         * postgresql.c: Update documentation to reflect latest code
10016         status.
10017         (print_result): Show tuple counts in printed representation when
10018         appropriate.
10019         (Fpq_put_nbytes): MULE-ize.
10020         (Fpq_get_line_async): Ditto.
10021
10022 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
10023
10024         * postgresql.c (Fpq_lo_import): Fix return value.
10025         Suggested by: Kenji Itoh <keit@tpj.co.jp>.
10026
10027 2000-03-13  Ben Wing  <ben@xemacs.org>
10028
10029         * alloc.c (pdump_load):
10030         Fix compile warning under mswin.
10031
10032 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
10033
10034         * postgresql.c: Mule-ization, bug fixes.
10035         Use PG_CODING to encapsulate coding system name changes.
10036         Backport a version of TO_EXTERNAL format for 21.1/InfoDock.
10037         (pg-coding-system): Create.
10038
10039         (Fpq_conn_defaults): Mule-ize.
10040         (Fpq_connectdb): Mule-ize & bug fix.
10041         (Fpq_connect_start): Mule-ize.
10042         (Fpq_set_client_encoding): Mule-ize.
10043         (Fpq_finish): Document `DEAD' connection status.
10044         (Fpq_clear): Ditto.
10045         (Fpq_pgconn): Mule-ize.
10046         (Fpq_exec): Mule-ize & bug fix.
10047         (Fpq_send_query): Ditto.
10048         (Fpq_get_result): Ditto.
10049         (Fpq_res_status): Mule-ize.
10050         (Fpq_result_error_message): Mule-ize.
10051         (Fpq_ntuples): fix comments.
10052         (Fpq_fname): Mule-ize.
10053         (Fpq_fnumber): Mule-ize.
10054         (Fpq_ftype): fix comments.
10055         (Fpq_get_value): Mule-ize.
10056         (Fpq_cmd_status): Ditto.
10057         (Fpq_cmd_tuples): Ditto.
10058         (Fpq_oid_value): Ditto.
10059         (Fpq_notifies): Ditto.
10060         (Fpq_lo_import): Ditto.
10061         (Fpq_lo_export): Ditto.
10062         (Fpq_get_line): Ditto.
10063         (Fpq_put_line): Mule-ize and bug fix.
10064         (syms_of_postgresql): Fix ifdef'ing, add pg-coding-system.
10065
10066 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
10067
10068         * postgresql.c (vars_of_postgresql): Mule-ize.
10069         (Fpq_conn_defaults): Ditto.
10070
10071 2000-03-12  Ben Wing  <ben@xemacs.org>
10072
10073         * alloc.c (Fmake_byte_code):
10074         * alloc.c (debug_string_purity_print):
10075         * alloc.c (pdump_backtrace):
10076         * alloc.c (pdump_get_indirect_count):
10077         * alloc.c (pdump_register_sub):
10078         * alloc.c (pdump_register_object):
10079         * alloc.c (pdump_register_struct):
10080         * alloc.c (pdump_dump_data):
10081         * alloc.c (pdump_reloc_one):
10082         Minor cleanups.
10083
10084         * console-msw.c:
10085         * console-msw.c (GetConsoleHwnd):
10086         * console-msw.c (msw_hide_console):
10087         * console-msw.c (msw_show_console):
10088         * console-msw.c (msw_ensure_console_buffered):
10089         * console-msw.c (msw_output_console_string):
10090         * console-msw.c (console_type_create_mswindows):
10091
10092         a) Added functions to manipulate the console window for use with
10093         shell support.
10094
10095         b) Added support for writing text to the console, which is now
10096         used under Windows when xemacs is not being run non-interactively,
10097         to write text that would otherwise be destined for stdout because
10098         under these circumstances, text written to stdout tends to
10099         disappear and not be seen.
10100
10101         * console-msw.h:
10102         * event-Xt.c:
10103         * event-Xt.c (x_event_to_emacs_event):
10104         * event-Xt.c (describe_event_window):
10105         * events-mod.h (XEMACS_MOD_CONTROL):
10106         * events.c:
10107         * events.c (Fmake_event):
10108         * events.c (character_to_event):
10109         * events.c (event_to_character):
10110         * events.c (format_event_object):
10111         * events.c (Fevent_modifiers):
10112         * events.h:
10113         * events.h (struct key_data):
10114         * events.h (struct button_data):
10115         * events.h (struct misc_user_data):
10116         * frame-x.c (Fcde_start_drag_internal):
10117         * frame-x.c (Foffix_start_drag_internal):
10118         * gpmevent.c (Freceive_gpm_event):
10119         * keymap.c:
10120         * keymap.c (bucky_sym_to_bucky_bit):
10121         * keymap.c (control_meta_superify):
10122         * keymap.c (make_key_description):
10123         * keymap.c (keymap_lookup_directly):
10124         * keymap.c (create_bucky_submap):
10125         * keymap.c (keymap_store):
10126         * keymap.c (define_key_check_and_coerce_keysym):
10127         * keymap.c (define_key_parser):
10128         * keymap.c (define_key_alternate_name):
10129         * keymap.c (Fdefine_key):
10130         * keymap.c (raw_lookup_key_mapper):
10131         * keymap.c (struct map_keymap_unsorted_closure):
10132         * keymap.c (map_keymap_unsorted_mapper):
10133         * keymap.c (map_keymap_sort_predicate):
10134         * keymap.c (map_keymap_sorted):
10135         * keymap.c (accessible_keymaps_mapper_1):
10136         * keymap.c (where_is_recursive_mapper):
10137         * keymap.c (describe_map_mapper):
10138         * keymap.c (describe_map_sort_predicate):
10139         * keymap.c (describe_map):
10140         * keymap.c (complex_vars_of_keymap):
10141         And a number of other files, the key modifier preprocessor
10142         constants that xemacs uses have names that conflict with constants
10143         defined under MS Windows for other purposes, so they were renamed
10144         to begin with the prefix XEMACS_. The variables that hold such
10145         modifiers were changed to consistently be of type int to fix
10146         various compile warnings.
10147
10148         * console.c (complex_vars_of_console):
10149         * device.c:
10150         * device-msw.c:
10151         * device-msw.c (mswindows_finish_init_device):
10152         * device-msw.c (msw_get_workspace_coords):
10153         * device-msw.c (mswindows_device_system_metrics):
10154         and various other files, added support for a new
10155         device property called offset-workspace which returns the position
10156         of the upper left corner of the workspace area and goes along with
10157         the existing size-workspace property.
10158
10159         * dialog-msw.c:
10160         * dialog-msw.c (push_bufbyte_string_as_unicode):
10161         * dialog-msw.c (mswindows_popup_dialog_box):
10162         Added support for XEmacs-style accelerator specifications in
10163         button text.  Note: I didn't add support for this under X Windows,
10164         and somebody needs to do this.
10165
10166         * dialog.c:
10167         * dialog.c (Fpopup_dialog_box):
10168         Documented the support for accelerators that was just mentioned.
10169
10170         editfns.c (get_home_directory): Changed behavior under Windows
10171         when HOME not defined; former behavior was irretrievably broken.
10172
10173         * emacs.c:
10174         * emacs.c (main_1):
10175         * emacs.c (main):
10176         * minibuf.c (clear_echo_area_internal):
10177         * minibuf.c (echo_area_append):
10178         * print.c:
10179         * print.c (std_handle_out_external):
10180         * print.c (std_handle_out_va):
10181         * print.c (fatal):
10182         * print.c (write_string_to_stdio_stream):
10183         * print.c (output_string):
10184         * print.c (debug_print):
10185         * print.c (debug_backtrace):
10186         * print.c (debug_short_backtrace):
10187         Cleaned up the code that prints text to stdout so that this can be
10188         changed to output into a console window instead under MS Windows,
10189         as described above.
10190
10191         * eval.c:
10192         * eval.c (DEFEND_AGAINST_THROW_RECURSION):
10193         * eval.c (internal_catch):
10194         * eval.c (unwind_to_catch):
10195         * eval.c (throw_or_bomb_out):
10196         * eval.c (condition_case_1):
10197         * eval.c (signal_1):
10198         * eval.c (check_error_state_sanity):
10199         * eval.c (call_with_suspended_errors_1):
10200         * eval.c (call_with_suspended_errors):
10201         * eval.c (reinit_vars_of_eval):
10202         Added code to catch throw loops and check for a pesky bug that may
10203         be gone now.
10204
10205         * event-msw.c:
10206         * event-msw.c (key_needs_default_processing_p):
10207         * event-msw.c (mswindows_wnd_proc):
10208         * event-msw.c (mswindows_modifier_state):
10209         * event-msw.c (emacs_mswindows_quit_p):
10210         * event-msw.c (vars_of_event_mswindows):
10211         a) Added support for using the alt key to select menu items as is
10212         standard under MS Windows.  This is controlled using the variable
10213         menu-accelerator-enabled, just like under X Windows.  There is an
10214         option on the options menu to turn this support on.  I really
10215         think that it should be on by default under Windows, but I'm not
10216         going to make this change yet.
10217
10218         b)  Added support for dynamic display size changes under Windows.
10219
10220         * event-stream.c:
10221         * event-stream.c (maybe_echo_keys):
10222         * event-stream.c (Fnext_event):
10223         * event-stream.c (command_builder_find_leaf):
10224         * event-stream.c (lookup_command_event):
10225         * event-stream.c (execute_command_event):
10226         * event-stream.c (pre_command_hook):
10227         * event-stream.c (post_command_hook):
10228         * event-stream.c (syms_of_event_stream):
10229         * event-stream.c (vars_of_event_stream):
10230         * event-stream.c (complex_vars_of_event_stream):
10231         * events.h (struct command_builder):
10232
10233         a) Tried to clean up a little bit the horribly written x-specific
10234         accelerator code that crept into this file.  I moved this code
10235         into menubar-x.c where it belongs. I also needed to move the
10236         command builder structure into the file events.h because it is
10237         accessed directly by this accelerator code.  What I didn't do, but
10238         which should be done at some point, is to properly abstract this
10239         code using device methods instead of the kludgy way that it
10240         currently hooks into the event code.
10241
10242         b) Added the lisp variables this-command-properties and
10243         last-command- properties, which should be used to synchronize two
10244         adjacent commands in preference to playing games with the variable
10245         this-command, which is typically what happens.
10246
10247         c) Added some slightly nasty code to hook into the lisp support
10248         for shifted- motion-key selection.  This is actually necessary for
10249         somewhat complicated reasons, which are described in
10250         simple.el. (NB: I think the proper thing would be to have the code
10251         that calls the pre and post command hooks also call out to generic
10252         lisp functions in simple.el, where all built-in stuff could be
10253         added.  I will think about this more.)
10254
10255         * event-unixoid.c (poll_fds_for_input):
10256         * lread.c (readchar):
10257         * redisplay-tty.c (tty_clear_frame):
10258         * redisplay-x.c (x_get_gc):
10259         * signal.c (interrupt_signal):
10260         And a whole bunch of other files: fixed up places that printed
10261         directly to stderr to instead call the function stderr_out so that
10262         the changes I made under Windows work correctly.
10263
10264         * filemode.c (mode_string):
10265         Warning fixes.
10266
10267         * frame-msw.c:
10268         * frame-msw.c (mswindows_size_frame_internal):
10269         Fixed the computation of frame size and position to keep the frame
10270         within the workspace area, rather than within the physical
10271         dimensions of the screen, so that the frame doesn't overlap window
10272         manager decorations, such as the start menu and toolbar, typically
10273         at the bottom of the screen.
10274
10275         * frame.c (vars_of_frame):
10276         Changed the default frame title format under MS Windows to consist
10277         of buffername-XEmacs, which is standard under MS Windows.  I think
10278         it might be a good idea to change this everywhere because I think
10279         it is superior to the current frame title format, but this is the
10280         kind of change that is likely to cause some people to get annoyed,
10281         so I'm not making it.
10282
10283         * glyphs-eimage.c (png_instantiate): Fixed some compile warnings.
10284
10285         * gui-msw.c (mswindows_handle_gui_wm_command):
10286         Fixed compile warnings.
10287
10288         * gui-x.c:
10289         * gui-x.c (strdup_and_add_accel):
10290         * gui-x.c (button_item_to_widget_value):
10291         * gui-x.h:
10292         Added code to automatically put an accelerator onto the beginning
10293         of menu items that don't have one as is now the standard, and is
10294         described more later.  Also fixed things so that the menu item
10295         name can be an evaluated expression, again a new standard.
10296
10297         * gui.c:
10298         * gui.c (gui_item_add_keyval_pair):
10299         * gui.c (make_gui_item_from_keywords_internal):
10300         * gui.c (gui_add_item_keywords_to_plist):
10301         * gui.c (gui_item_accelerator):
10302         * gui.c (gui_name_accelerator):
10303         * gui.c (gui_item_included_p):
10304         * gui.c (gui_item_display_flush_left):
10305         * gui.c (gui_item_display_flush_right):
10306         * gui.c (parse_gui_item_tree_item):
10307         * gui.c (parse_gui_item_tree_children):
10308         * gui.c (parse_gui_item_tree_list):
10309         Mule-ized.  Cleanup.  GCPRO addition.
10310
10311         * line-number.c (buffer_line_number):
10312         * lisp.h:
10313         * lisp.h (EMACS_INT_MAX):
10314         Added the manifest constant EMACS_INT_MIN corresponding to the
10315         existing constant EMACS_INT_MAX.  This is partially to fix compile
10316         warnings under Windows, and partly for cleanliness.
10317
10318         * menubar-msw.c:
10319         * menubar-msw.c (REPLACE_ME_WITH_GLOBAL_VARIABLE_WHICH_CONTROLS_RIGHT_FLUSH):
10320         * menubar-msw.c (msw_translate_menu_or_dialog_item):
10321         * menubar-msw.c (displayable_menu_item):
10322         * menubar-msw.c (populate_menu_add_item):
10323         * menubar-msw.c (populate_or_checksum_helper):
10324         * menubar-msw.c (populate_menu):
10325         * menubar-msw.c (update_frame_menubar_maybe):
10326         * menubar-msw.c (prune_menubar):
10327         * menubar-msw.c (msw_char_is_accelerator):
10328         * menubar-msw.c (unsafe_handle_wm_initmenu_1):
10329         * menubar-msw.c (mswindows_handle_wm_command):
10330         * menubar-msw.c (mswindows_handle_wm_initmenupopup):
10331         * menubar-msw.c (mswindows_handle_wm_initmenu):
10332         * menubar-msw.c (mswindows_update_frame_menubars):
10333         * menubar-msw.c (mswindows_free_frame_menubars):
10334         * menubar-msw.c (mswindows_popup_menu):
10335         Fixed a bug in handling accelerators where an extra character
10336         would be displayed in the menu item.  Also generalized the
10337         function displayable_menu_item because it is now used by the
10338         dialog box code as well.  And finally, added code in the functions
10339         that create the menubar to extract a list of accelerators for the
10340         top level menubar, which is used in the event code to determine
10341         whether a particular alt-key combination should be used to invoke
10342         a menu item, or should be passed through to access the standard
10343         XEmacs keymap binding for this key combination.
10344
10345         Much needed GCPROing.
10346
10347         * menubar-x.c:
10348         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
10349         * menubar-x.c (menu_item_descriptor_to_widget_value):
10350         * menubar-x.c (restore_in_menu_callback):
10351         * menubar-x.c (x_popup_menu):
10352         * menubar-x.c (menu_move_up):
10353         * menubar-x.c (menu_move_down):
10354         * menubar-x.c (menu_move_left):
10355         * menubar-x.c (menu_move_right):
10356         * menubar-x.c (menu_select_item):
10357         * menubar-x.c (command_builder_operate_menu_accelerator):
10358         * menubar-x.c (menu_accelerator_junk_on_error):
10359         * menubar-x.c (command_builder_find_menu_accelerator):
10360         * menubar-x.c (Faccelerate_menu):
10361         * menubar.h:
10362         Moved a whole bunch of code here that was previously in
10363         event-stream.c as described above.  There is also code connected
10364         to the new standard of adding an accelerator to the beginning of
10365         menu items that don't have one as described above and below.
10366
10367         * menubar.c:
10368         * menubar.c (menu_parse_submenu_keywords):
10369         * menubar.c (Fmenu_find_real_submenu):
10370         * menubar.c (Fnormalize_menu_item_name):
10371         * menubar.c (syms_of_menubar):
10372         * menubar.c (vars_of_menubar):
10373         * menubar.c (complex_vars_of_menubar):
10374
10375         a) Cleaned up a bunch of documentation and improved it.
10376
10377         b) XEmacs now automatically adds an accelerator onto the beginning
10378         of any menu items that don't have one.  I did this because there
10379         will inevitably be some menu items on the main menubar that don't
10380         have accelerators on them because the package that adds that
10381         particular menu item hasn't yet been fixed up to have accelerators
10382         in them and it looked rather strange to have some items with and
10383         some items without accelerators, especially since even in items
10384         without accelerators, you can, at least under windows, still
10385         access the item through an accelerator corresponding to the first
10386         character in the item's name.  If people don't like this behavior,
10387         I can add a variable to turn it off optionally, but I'm not sure
10388         this is a good idea because we really do need to have accelerators
10389         on all of the menu items, and if a package doesn't like the
10390         accelerators being put on the first character, then it should put
10391         the accelerators where they belong.
10392
10393         c) I made a behavior change, which is that the descriptor that
10394         specifies the text of the menu item, which formerly was just a
10395         string, can now also be an evaluated expression.  This makes this
10396         descriptor parallel with all of the others, which could also be
10397         evaluated expressions.  This also obviates the need for the
10398         keyword :label, which was previously listed in the documentation
10399         as unimplemented, and which was for the same purpose.
10400
10401         d) GCPROing.
10402
10403         * ntproc.c:
10404         * ntproc.c (new_child):
10405         * ntproc.c (sys_spawnve):
10406         * ntproc.c (find_child_console):
10407         * ntproc.c (sys_kill):
10408         Fixed compile warnings.  By the way, this file should really go
10409         away entirely, and this will happen as soon as Kirill makes his
10410         final round of process cleanups, which affect the function
10411         call-process.
10412
10413         * process-nt.c:
10414         * process-nt.c (struct nt_process_data):
10415         * process-nt.c (find_process_from_pid):
10416         * process-nt.c (send_signal_the_nt_way):
10417         * process-nt.c (enable_child_signals):
10418         * process-nt.c (find_child_console):
10419         * process-nt.c (send_signal_the_95_way):
10420         * process-nt.c (nt_finalize_process_data):
10421         * process-nt.c (ensure_console_window_exists):
10422         * process-nt.c (nt_create_process):
10423         * process-nt.c (nt_kill_child_process):
10424         * process-nt.c (nt_kill_process_by_pid):
10425         * process-nt.c (nt_open_network_stream):
10426         * process-nt.c (vars_of_process_nt):
10427         Copied over code from Emacs 20.5 to correctly send signals to sub-
10428         processes under Windows 95.  Also added code to automatically
10429         create and hide console window when a sub-process is created under
10430         Windows 95, which obviates the need for the separate runemacs.exe
10431         executable, and finally implemented some variables that were
10432         implemented in Emacs 20.5, but previously not in XEmacs.  These
10433         include mswindows- start-process-share-console and
10434         mswindows-start-process-inherit-error-mode. (Both of these only
10435         apply to Windows 95.)
10436
10437         * regex.c (regex_compile): Fixed a compile warning.
10438
10439         * select-msw.c:
10440         * select-msw.c (mswindows_own_selection):
10441         * select-msw.c (mswindows_get_foreign_selection):
10442         * select-msw.c (mswindows_disown_selection):
10443         * select-msw.c (console_type_create_select_mswindows):
10444         * select-msw.c (syms_of_select_mswindows):
10445         Cleaned up the file and implemented the device method
10446         selection_exists_p, which had accidentally been left out.  Also
10447         removed four lisp functions that were remnants from before the
10448         time when the selection code was properly device abstracted.
10449         These functions are no longer needed because there are generic
10450         equivalents, and because they were added recently and don't exist
10451         in FSF Emacs, I don't think there's any problem with just deleting
10452         them.
10453
10454         * sysdep.c:
10455         * sysdep.c (sys_subshell):
10456         Fixed a compile warning, although in this case there's probably
10457         something wrong with this code, and it ought to be looked into
10458         more thoroughly by somebody who understands it.
10459
10460         * window.c:
10461         * window.c (Fwindow_text_area_height):
10462         * window.c (Fwindow_width):
10463         * window.c (Fwindow_full_width):
10464         * window.c (Fwindow_pixel_width):
10465         * window.c (debug_print_window):
10466         * window.c (syms_of_window):
10467         Added functions window-text-area-height and window-full-width,
10468         which are functions for returning various width and height
10469         characteristics of a window. (One of these functions is necessary
10470         for making the file dialog box work correctly, and the other one
10471         was added for completeness.)  Also added a table to the
10472         documentation for window-height which describes the entire scheme
10473         for accessing width and height characteristics of a window.
10474
10475 2000-03-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10476
10477         * nt.c (fstat): Added a comment for another problem with
10478         non-encapsulated [f]stat(), reported by Adrian Aichner
10479         <aichner@ecf.teradyne.com>.
10480
10481 2000-03-11  Andy Piper  <andy@xemacs.org>
10482
10483         * window.c (make_dummy_parent): initialize subwindow instance
10484         cache.
10485         (Fset_window_configuration): zero extent_modiff.
10486
10487 2000-03-10  Andy Piper  <andy@xemacs.org>
10488
10489         * redisplay.c (Fredraw_frame): reset the changed_set flags so that
10490         more changes can be triggered.
10491         (Fredisplay_frame): ditto.
10492         (Fredraw_device): ditto.
10493         (Fredisplay_device): ditto.
10494         (redisplay_frame): make non-static.
10495         (redisplay_frame): call update_frame_gutter_geometry outside of
10496         display proper.
10497
10498         * gutter.h: declare update_frame_gutter_geometry.
10499
10500         * redisplay.h: declare redisplay_frame.
10501
10502         * gutter.c (update_frame_gutter_geometry): move geometry changes
10503         in update_frame_gutters here. Geometry changes can only occur
10504         outside of redisplay.
10505         (update_frame_gutters): remove geometry change code.
10506         (Fredisplay_gutter_area): make sure that we are in display when we
10507         update and that we have flushed any size changes.
10508
10509 2000-03-11  Andy Piper  <andy@xemacs.org>
10510
10511         * alloc.c (pdump_dump_data): remove i & count shadows.
10512
10513 2000-02-27  Mike Alexander  <mta@arbortext.com>
10514
10515         * sysdep.h: Declare pdump_read_file
10516
10517         * sysdep.c (pdump_read_file): New function
10518
10519         * alloc.c (pdump_load): Call pdump_read_file to get the portable
10520         dump data
10521
10522 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
10523
10524         * lrecord.h: add `lrecord_type_pgsetenv'.
10525
10526 2000-03-08  SL Baur  <steve@musashimaru.m17n.org>
10527
10528         * symsinit.h: declare (vars|syms)_of* functions.
10529         * lrecord.h: add `lrecord_type_pgconn' and 'lrecord_type_pgresult'.
10530
10531 2000-03-06  SL Baur  <steve@musashimaru.m17n.org>
10532
10533         * config.h.in: Add symbols HAVE_POSTGRESQL and HAVE_POSTGRESQLV7
10534
10535         * inline.c: Include postgresql.h lrecord stuffs to placate buggy
10536         GCCs.
10537
10538         * emacs.c (main_1): Call postgres initialization code.
10539
10540         * postgresql.h: New file.  PostgreSQL RDBMS support.
10541         * postgresql.c: New file.
10542
10543 2000-03-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
10544
10545         * redisplay-output.c (redisplay_output_display_block): Disable
10546         redundant code.
10547
10548 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
10549
10550         * mule-canna.c (Fcanna_henkan_region): Translate doc-string.
10551         (Fcanna_henkan_next): Ditto.
10552         (Fcanna_bunsetu_henkou): Ditto.
10553         (Fcanna_henkan_kakutei): Ditto.
10554         (Fcanna_henkan_end): Ditto.
10555         (Fcanna_henkan_quit): Ditto.
10556         (Fcanna_henkan_next): Set retun value correctly.
10557         (c2mu): Use unsigned char instead of signed char.
10558
10559 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
10560
10561         * emacs.c (main_1): Always call syms_of_gui.
10562         * inline.c: include gui.h
10563
10564 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
10565
10566         * redisplay.c (Vvisible_bell): Renamed from visible_bell and
10567         converted to Lisp_Object.
10568         (Qtop_bottom): New variable.
10569         (syms_of_redisplay): Initialize it.
10570         * redisplay.h (Vvisible_bell): Ditto.
10571         * sound.c (ding): Ditto and check if Vvisible_bell is nil.
10572         * redisplay-x.c (x_flash): When Vvisible_bell is top-bottom,
10573         only flash top and bottom.
10574
10575 2000-03-08  Andy Piper  <andy@xemacs.org>
10576
10577         * buffer.c (Frename_buffer): record new buffer name the right way.
10578
10579 2000-03-08  Andy Piper  <andy@xemacs.org>
10580
10581         * glyphs.c (update_subwindow): increase hash depth so that widget
10582         items get picked up properly.
10583
10584         * redisplay-output.c (compare_runes): increase hash depth so that
10585         widget items get picked up properly.
10586
10587 2000-03-08  Andy Piper  <andy@xemacs.org>
10588
10589         * gutter.c (output_gutter): add some debug.
10590
10591         * glyphs.h (struct Lisp_Image_Instance): add display_hash.
10592         (IMAGE_INSTANCE_DISPLAY_HASH): new macro.
10593         (XIMAGE_INSTANCE_DISPLAY_HASH): ditto.
10594
10595         * redisplay-output.c (compare_runes): use display_hash to
10596         determine if glyphs really are not the same.
10597
10598         * glyphs.c (update_subwindow): check display_hash to see if
10599         anything really needs to be updated. If not then do
10600         nothing. Record the display_hash after updating.
10601         (image_instance_equal): compare the image_instance face also.
10602
10603 2000-03-07  Yoshiki Hayashi  <yoshiki@xemacs.org>
10604
10605         * redisplay.h: Fix comment style.
10606
10607 2000-03-08  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10608
10609         * consle-msw.h (struct mswindows_frame):
10610         Added new member paint_pending to indicate whether a WM_PAINT
10611         magic event has been queued for this frame.
10612
10613         * event-msw.c (mswindows_drain_windows_queue):
10614         Don't queue a WM_PAINT magic event if one is already queued.
10615         (emacs_mswindows_handle_magic_event): clear paint_pending flag.
10616
10617         * frame-msw.c (mswindows_init_frame_1): initialise paint_pending flag.
10618
10619 2000-03-07  Didier Verna  <didier@xemacs.org>
10620
10621         * dired.c: #include `regex.h' after `sysfile.h'.
10622
10623 2000-03-06  Martin Buchholz  <martin@xemacs.org>
10624
10625         * sound.c (init_nas_sound): Fix compiler warning.
10626
10627         * alloc.c (ALIASING_VOIDPP_DEREFERENCE): New.
10628         (FREE_STRUCT_P):
10629         (MARK_STRUCT_AS_FREE):
10630         (MARK_STRUCT_AS_NOT_FREE):
10631         Make `gcc -fstrict-aliasing' work properly.
10632
10633 2000-03-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10634
10635         * device-msw.c (mswindows_finish_init_device): Call CoInitialize().
10636         (mswindows_delete_device): Call CoUnnitialize().
10637
10638         * event-msw.c (mswindows_wnd_proc): WM_DROPFILES: Decode Shortcuts.
10639
10640 2000-02-25    <CraigL@DyCon.com>
10641
10642         * process-nt.c: MinGW now has <shellapi.h>, but still needs
10643         <errno.h>.
10644
10645         * sysdep.c: This extern declaration for environ prevents MinGW
10646         from finding the variable in CRTDLL.DLL.
10647
10648         * s\mingw32.h (PBS_SMOOTH): Removed, now defined in cygwin's
10649         windows headers.
10650         (SHGFI_EXETYPE): ..
10651         (WM_MOUSEWHEEL): ..
10652         (_WIN32_IE): Added, needed to get the TCS_BOTTOM and TCS_VERTICAL
10653         definitions.
10654         (MMRESULT): Removed, now defined in cygwin's windows headers.
10655         (TIMECAPS): ..
10656         (uid_t,gid_t,pid_t,ssize_t): ..
10657         (_timeb): Removed, MinGW defines both _timeb and timeb.
10658         (HAVE_H_ERRNO): Added.
10659         (HAVE_TZNAME): Added, configure is not detecting this.
10660
10661 2000-02-03  IKEYAMA Tomonori <tomonori@suiyokai.org>
10662
10663         * chartab.h (XCHAR_TABLE_VALUE_UNSAFE): New macro.
10664         * syntax.c (syntax_match): Use it.
10665
10666         * cmds.c: Import auto-fill-chars from FSF Emacs.
10667         (Vauto_fill_chars): New variables.
10668         (internal_self_insert): Check Vauto_fill_chars.
10669         (vars_of_cmds):
10670         Declare auto-fill-chars as a Lisp variable and initialize it.
10671
10672 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10673
10674         * fileio.c (Fmake_symbolic_link):
10675         (Ffile_symlink_p):
10676         Run handlers even if local machine doesn't have symlinks.
10677
10678 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10679
10680         * event-msw.c (mswindows_drain_windows_queue):
10681         Don't generate paint magic events for non-XEmacs frames.
10682
10683 2000-03-05  Andy Piper  <andy@xemacs.org>
10684
10685         * redisplay.c (redisplay_frame): generate_displayable_area and
10686         friends assumes that we are not in GC, we therefore have to make
10687         sure that this doesn't happen.
10688
10689         * gutter.c (calculate_gutter_size): generate_displayable_area
10690         assumes that we are not in GC, we therefore have to make sure that
10691         this doesn't happen.
10692
10693 2000-03-05  Martin Buchholz  <martin@xemacs.org>
10694
10695         * opaque.c (DEFINE_LRECORD_IMPLEMENTATION): opaque_ptr ==> opaque-ptr
10696
10697 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
10698
10699         * redisplay.c (regenerate_window): Make sure we set a sane value
10700         for end_pos even if we jump out of the loop.
10701         (regenerate_window): Answer Ben's question :-).
10702         (start_end_of_last_line): Add may_error argument.
10703         (start_of_last_line):
10704         (end_of_last_line): Pass may_error = 0.
10705         (end_of_last_line_may_error): New function.
10706         (pixel_to_glyph_translation): Use it, so we don't crash in
10707         event_to_glyph.
10708
10709 2000-03-04  Andy Piper  <andy@xemacs.org>
10710
10711         * window.h (struct window): add gutter_extent_modiff.
10712
10713         * window.c (allocate_window): zero out gutter_extent_modiff.
10714
10715         * redisplay.h: declare sync_display_line_structs.
10716
10717         * redisplay.c (add_glyph_rune): add a better comment.
10718
10719         * redisplay-output.c (sync_display_line_structs): made non-static.
10720         (compare_runes): remove unneccesary glyph cachel access.
10721
10722         * gutter.h: declare gutter_extent_signal_changed_region_maybe.
10723
10724         * gutter.c (output_gutter): don't output the gutter if extent
10725         changes only involve extents in buffers. use 4 sets of display
10726         lines.
10727         (gutter_extent_signal_changed_region_maybe): new function. Mark
10728         extents in gutters as changed.
10729         (update_frame_gutters): use 4 sets of display lines.
10730         (reset_gutter_display_lines): ditto.
10731         (free_frame_gutters): ditto.
10732         (redraw_exposed_gutter): force output of gutters.
10733
10734         * frame.h (struct frame): add 4 sets of gutter display lines.
10735
10736         * extents.c: (extent_changed_for_redisplay): signal changes to
10737         extents in strings in the gutter as well as extents in buffers.
10738
10739 2000-03-02  Andy Piper  <andy@xemacs.org>
10740
10741         * gutter.c (specifier_vars_of_gutter): cosmetic changes.
10742
10743         * frame.c (Fmake_frame): make sure the gutters get initialized
10744         after the frame is visible.
10745         (set_frame_selected_window): re-arrange compilation macros a
10746         little.
10747         (change_frame_size_1): mark gutters changed.
10748
10749         * device.c (Fset_device_class): mark gutters changed.
10750
10751 2000-03-01  Andy Piper  <andy@xemacs.org>
10752
10753         * window.c (window_top_frame_gutter_height): deleted.
10754         (window_bottom_frame_gutter_height): ditto.
10755         (window_left_frame_gutter_height): ditto.
10756         (window_right_frame_gutter_height): ditto.
10757         (window_top_gutter_height): don't use them.
10758         (window_bottom_gutter_height): ditto.
10759         (window_left_gutter_width): ditto.
10760         (window_right_gutter_width): ditto.
10761         (Fsplit_window): ditto.
10762         (Fwindow_pixel_edges): don't use border dimensions here.
10763
10764         * scrollbar.c (update_scrollbar_instance): don't take gutters into account.
10765         (update_scrollbar_instance): ditto.
10766
10767         * redisplay.c (generate_modeline): don't take gutters into account.
10768         (generate_modeline): ditto.
10769         (redisplay_frame): small gutter display optimization.
10770
10771         * redisplay-x.c (x_output_vertical_divider): don't take gutters into account.
10772
10773         * redisplay-msw.c (mswindows_output_vertical_divider): don't take
10774         gutters into account.
10775
10776         * gutter.h (WINDOW_REAL_*_GUTTER_BOUNDS): remove bogus checks
10777         for window position and type.
10778
10779         * gutter.c (get_gutter_coords): fix for frame gutters.
10780         (update_frame_gutters): update frame geometry if the gutters have
10781         changed.
10782         (init_frame_gutters): record current gutter geometries.
10783
10784         * glyphs-msw.c (mswindows_subwindow_instantiate): remove unused
10785         var.
10786         (mswindows_widget_instantiate): ditto.
10787
10788         * frame.h (struct frame): add current_gutter_bounds.
10789
10790         * frame.c (change_frame_size_1): position window and minibuffer
10791         appropriately taking into account the frame gutters.
10792
10793         * frame-x.c: (x_initialize_frame_size): take into account the
10794         frame gutters.
10795
10796 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
10797
10798         * emacs.c (data-directory):  Xref `locate-data-file' in docstring.
10799
10800 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
10801
10802         * alloc.c (dumpopaquevec): Increase dimension for --with-canna.
10803
10804 1999-12-30  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
10805
10806         * file-coding.c (reset_decoding_stream): Clear previous
10807         detection state when autodetect.
10808
10809 2000-02-29  Didier Verna  <didier@xemacs.org>
10810
10811         * extents.c (set_extent_glyph_1): don't require extents to be
10812         attached.
10813
10814 2000-02-27  Andy Piper  <andy@xemacs.org>
10815
10816         * gutter.c (Fset_default_gutter_position): don't default left and
10817         right gutter visibility to t.
10818         (Fset_default_gutter_position): run
10819         default-gutter-position-changed-hook.
10820         (syms_of_gutter): add default-gutter-position-changed-hook.
10821
10822 2000-02-26  Andy Piper  <andy@xemacs.org>
10823
10824         * specifier.c (Fmake_specifier): add gutter references.
10825
10826         * gutter.h (RAW_WINDOW_GUTTER): new macro.
10827
10828         * lisp.h: declare Fvalid_plist_p.
10829
10830         * gutter.c (gutter_geometry_changed_in_window): mark the modeline
10831         as changed.
10832         (default_gutter_visible_p_changed_in_window): invalidate gutter as
10833         well as its visibility so that it gets reconstructed.
10834         (construct_window_gutter_spec): new function. Construct a string
10835         to be displayed in the gutter from a plist of strings. Take care
10836         to only use elements that are declared as visible.
10837         (calculate_gutter_size): use RAW_WINDOW_GUTTER instead of
10838         WINDOW_GUTTER.
10839         (gutter_validate): allow plists of strings in the specifier.
10840         (gutter_specs_changed): construct the real_gutter from the gutter
10841         specs using construct_window_gutter_spec.
10842         (gutter_visible_validate): gutter-visible is a new specifier type.
10843         (Fgutter_visible_specifier_p): new function for the new specifier.
10844         (syms_of_gutter): declare gutter-visible and
10845         Fgutter_visible_specifier_p.
10846         (specifier_type_create_gutter): intitalize new gutter-visible
10847         specifier.
10848         (reinit_specifier_type_create_gutter): ditto.
10849         (specifier_vars_of_gutter): use new specifier type for gutter
10850         visibility.
10851         (init_frame_gutters): construct real_gutter correctly.
10852         (Fgutter_specifier_p): beef up documentation.
10853         (Fgutter_size_specifier_p): ditto.
10854
10855         * winslots.h: add real_gutter slots.
10856
10857 2000-02-25  Andy Piper  <andy@xemacs.org>
10858
10859         * device-msw.c: Be kind to older cygwin versions. From Raymond
10860         Toy <toy@rtp.ericsson.se>.
10861
10862         * gui-msw.c (Fmswindows_shell_execute): Remove things unknown to
10863         earlier cygwins. From Raymond Toy <toy@rtp.ericsson.se>.
10864
10865 2000-02-25  Martin Buchholz  <martin@xemacs.org>
10866
10867         * elhash.c (MARK_OBJ): Practice macro hygiene.
10868
10869 2000-02-24  Martin Buchholz  <martin@xemacs.org>
10870
10871         * miscplay.c: s/__inline__/inline/g;
10872         * glyphs-msw.c (set_mono_pixel): INLINE ==> static inline
10873         (get_device_compdc): INLINE ==> static inline
10874         * *.[ch]: Change INLINE to INLINE_HEADER globally.
10875         find -name '*.h' | \
10876         xargs global-replace \
10877         's/(^|(?<=[^A-Za-z0-9_]))INLINE((?=[^A-Za-z0-9_])|$)/INLINE_HEADER/g'
10878
10879 2000-02-25  Andy Piper  <andy@xemacs.org>
10880
10881         * window.c (window_top_frame_gutter_height): new function.
10882         (window_top_window_gutter_height): ditto.
10883         (window_top_gutter_height): use them.
10884         (window_bottom_frame_gutter_height): new function.
10885         (window_bottom_window_gutter_height): ditto.
10886         (window_bottom_gutter_height): use them.
10887         (window_left_window_gutter_width): new function.
10888         (window_left_frame_gutter_width): ditto.
10889         (window_left_gutter_width): use them.
10890         (window_right_window_gutter_width): new function.
10891         (window_right_frame_gutter_width): ditto.
10892         (window_right_gutter_width): use them.
10893         (window_pixel_height): new function. calulate window pixel height
10894         with frame gutter involvement.
10895         (Fsplit_window): calculate new sizes taking frame gutters into
10896         account.
10897         (window_char_height_to_pixel_height): don't include frame gutters.
10898         (window_char_height): use window_pixel_height.
10899         (window_pixheight): rename from window_pixel_height.
10900         (change_window_height): use it.
10901         (window_pixel_height_to_char_height): don't include frame gutters.
10902         (window_char_width_to_pixel_width): ditto.
10903
10904 2000-02-25  Andy Piper  <andy@xemacs.org>
10905
10906         * glyphs.h (IMAGE_INSTANCE_FACE): glyph might be nil, don't crash
10907         if it is.
10908
10909 2000-02-24  Martin Buchholz  <martin@xemacs.org>
10910
10911         * alloc.c (staticpro):
10912         (staticpro_nodump):
10913         (dumpstruct):
10914         (dumpopaque):
10915         (pdump_wire):
10916         (pdump_wire_list):
10917         (compact_string_chars):
10918         (pdump_dump_wired):
10919         Convert:  if (foo) abort();  ==>  assert (! foo);
10920
10921         * eldap.c (Fldap_search_basic):
10922         (Fldap_add):
10923         (Fldap_modify):
10924         (Fldap_delete):
10925         Fix compiler warnings, and possible crashes if (random) return
10926         value were to be used.
10927
10928 2000-02-21  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10929
10930         * device-msw.c: Workaround ResetDC failure.
10931
10932         * frame-msw.c (msprinter_init_frame_3): Added an assertion before
10933         applying a devmode.
10934
10935         * redisplay-msw.c (get_frame_dc): Added start_page_p.
10936         (mswindows_text_width): Do not start printer page.
10937
10938         * console-msw.h (CHECK_MSGDI_DEVICE): Added this and friends.
10939
10940         * glyphs-msw.c: Added image methods to msprinter console and
10941         msprinter-specific image instantiation.
10942
10943 2000-02-20  Mike Alexander  <mta@arbortext.com>
10944
10945         * select-msw.c (Fmswindows_set_clipboard): GC protect more things
10946         to avoid crashes when selection-sets-clipboard is on
10947         (mswindows_own_selection): ditto
10948
10949 2000-02-19  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10950
10951         * glyphs-msw.c:
10952         * redisplay-msw.c (get_frame_dc):
10953         (get_frame_compdc):
10954         * console-msw.h:
10955         * device-msw.c (mswindows_init_device):
10956         (mswindows_delete_device):
10957         (msprinter_init_device):
10958         (msprinter_delete_device):
10959         * frame-msw.c (mswindows_init_frame_1):
10960         (mswindows_delete_frame):
10961         (msprinter_init_frame_3):
10962         (msprinter_delete_frame): Move compatible DC to device object from
10963         frame object, for both mswindows and msprinter. Only one at a time
10964         is needed, it is a real waste to have one per frame!
10965
10966 2000-02-23  Andy Piper  <andy@xemacs.org>
10967
10968         * glyphs.c: add dynamic width and height elements.
10969         (image_instance_equal): ditto.
10970
10971         * glyphs-widget.c (widget_query_geometry): calculate width and
10972         height dynamically if required.
10973         (initialize_widget_image_instance): initialize dynamic dimensions.
10974         (widget_instantiate): pick-up dynamic dimensions.
10975
10976         * glyphs.h (struct Lisp_Image_Instance): add width and height for
10977         dynamic determination. Add appropriate macros.
10978
10979         * gutter.h (WINDOW_GUTTER_BORDER_WIDTH): make non-integer
10980         dimensions safe.
10981         (WINDOW_GUTTER_SIZE): ditto.
10982         (WINDOW_GUTTER_SIZE_INTERNAL): ditto.
10983
10984         * redisplay-msw.c (get_frame_compdc): gcc can't cope with this
10985         inline.
10986         (get_frame_dc): ditto.
10987
10988         * redisplay.h (GLOBAL_RESET_CHANGED_FLAGS): don't reset faces
10989         here.
10990
10991 2000-02-23  Martin Buchholz <martin@xemacs.org>
10992
10993         * XEmacs 21.2.31 is released.
10994
10995 2000-02-22  Ben Wing <ben@xemacs.org>
10996
10997         * ntheap.c (allocate_heap): Make sure `ptr' is initialized.
10998
10999 2000-02-22  Andy Piper  <andy@xemacs.org>
11000
11001         * glyphs-x.c (x_widget_instantiate): don't explicitly resize here.
11002
11003 2000-02-21  Mike Sperber <mike@xemacs.org>
11004
11005         * .dbxrc:
11006         * .gdbinit:
11007         * Makefile.in.in: Remove obsolete EMACSBOOTSTRAP... environment
11008         variables.
11009
11010 2000-02-21  Mike Sperber <mike@xemacs.org>
11011
11012         * s/aix4.h: Declare getaddrinfo broken for AIX 4, which it is.
11013
11014 2000-02-21  Martin Buchholz <martin@xemacs.org>
11015
11016         * XEmacs 21.2.30 is released.
11017
11018 2000-02-20  Martin Buchholz  <martin@xemacs.org>
11019
11020         Performance hacking.
11021         * *.c (syms_of_*):
11022         Add INIT_LRECORD_IMPLEMENTATION macros, paired with
11023         DEFINE_LRECORD_IMPLEMENTATION macros in the same file.
11024         * emacs.c (main_1):
11025         * lisp.h (DEFUN):
11026         * console.c (DEFVAR_CONSOLE_LOCAL_1):
11027         * buffer.c (DEFVAR_BUFFER_LOCAL_1):
11028         * symeval.h (DEFVAR_SYMVAL_FWD):
11029         * symbols.c (guts_of_unbound_marker):
11030         Make all c_readonly objects also lisp_readonly and marked for life.
11031         * lrecord.h (struct lrecord_implementation):
11032         Document flags better.
11033         * lrecord.h (DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION_WITH_PROPS):
11034         * lrecord.h (DECLARE_LRECORD):
11035         * lrecord.h (XSETRECORD):
11036         * lrecord.h (RECORDP):
11037         * lrecord.h (RECORD_TYPEP):
11038         * lrecord.h (RECORD_MARKER): New.
11039         * lrecord.h (error_check_*):
11040         * lrecord.h (CONCHECK_NONRECORD):
11041         * lrecord.h (MAKE_LRECORD_IMPLEMENTATION):
11042         * lrecord.h (INIT_LRECORD_IMPLEMENTATION): New.
11043         * lrecord.h (set_lheader_implementation):
11044         * lrecord.h (enum lrecord_type): New.
11045         * symeval.h (SYMBOL_VALUE_MAGIC_P):
11046         * alloc.c (disksave_object_finalization_1):
11047         * alloc.c (mark_object):
11048         * alloc.c (lrecord_type_index):
11049         * alloc.c (tick_lcrecord_stats):
11050         * alloc.c (Fgarbage_collect):
11051         * alloc.c (init_alloc_once_early):
11052         * alloc.c (pdump_load):
11053         * alloc.c (GC_CHECK_LHEADER_INVARIANTS): New.
11054         * alloc.c (lrecord_type_index): Delete.
11055         Make lisp object type indexes be constant.
11056           Makes (byte-compile) 5% faster.
11057         Put all marker functions into their own array.
11058           Makes (garbage-collect) 5% faster.
11059         Optimize SYMBOL_VALUE_MAGIC_P.
11060           Makes (byte-compile) 2-3% faster.
11061         * config.h.in (gc_checking_assert): New.
11062         * alloc.c: Use gc_checking_assert().
11063         * .dbxrc: Make compatible with new object type implementation.
11064         * .gdbinit: Make compatible with new object type implementation.
11065         * alloc.c: Delete all symbols defined only for debugging, such as
11066         Lisp_Type_Vector and lrecord_charset.
11067
11068 2000-02-21  Andy Piper  <andy@xemacs.org>
11069
11070         * gui-msw.c (Fmswindows_shell_execute): fix file location
11071         problems.
11072
11073         * buffer.c (Fkill_buffer): remove buffer from alist buffer
11074         unshowing so that set_window_buffer doesn't undo
11075         kill_buffer_hook's hard work.
11076
11077         * glyphs-widget.c (tab_control_query_geometry): don't count the
11078         first item when calculating geometry.
11079
11080         * glyphs.c (map_subwindow): remove redundant code.
11081         (update_frame_subwindows): be more circumspect about when to
11082         update subwindows.
11083
11084         * glyphs-x.c (x_update_widget): Properly fix sizing bug. Fix bug
11085         when items haven't changed. Update faces if faces have changed as
11086         well as just the widget face.
11087         (x_tab_control_update): Update faces if faces have changed as well
11088         as just the widget face.
11089
11090 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11091
11092         * device-msw.c: (mswindows_delete_device): Remove redundant DDE
11093         registration.
11094         (build_syscolor_string): Use mswindows_color_to_string to try to
11095         get a named color.
11096         (mswindows_device_system_metrics): Reverse the foreground and
11097         background colors so that they match the documentation.
11098
11099         * objects-msw.c: (mswindows_X_color_map): tweak some values so
11100         they match the default Windows palette.
11101         (mswindows_color_to_string): New function.
11102
11103 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11104
11105         * s/windowsnt.h: Only use __declspec(noreturn) with MSVC>=6.
11106
11107 2000-02-18  Olivier Galibert  <galibert@pobox.com>
11108
11109         * m/*, s/*: Removed obsolete DATA_SEG_BITS, PURE_SEG_BITS,
11110         WORD_MACHINE, SIGN_EXTEND_CHAR and EXPLICIT_SIGN_EXTEND.
11111
11112         * symbols.c (init_symbols_once_early): Removed obsolete
11113         DATA_SEG_BITS related kludge.
11114         (defvar_magic): Ditto.
11115
11116         * malloc.c: Removed obsolete DATA_SEG_BITS
11117         * ralloc.c: Ditto.
11118         * mem-limits.h: Ditto.
11119
11120         * Makefile.in.in: Removed obsolete HAVE_SHM
11121         * emacs.c: Ditto.
11122
11123 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11124
11125         *  device-msw.c (mswindows_delete_device): Free DDE string
11126         handles.
11127
11128 2000-02-16  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11129
11130         * keymap.c (get_keyelt):
11131         * unexnt.c (unexec):
11132         * vm-limit.c (memory_warnings):
11133         * ntheap.c (recreate_heap):
11134         * ntheap.h (UNINIT_PTR):
11135         * select-msw.c (Fmswindows_get_clipboard):
11136         (Fmswindows_set_clipboard):
11137         * objects-msw.h (MSWINDOWS_BAD_HFONT):
11138         * objects-msw.c:
11139         * menubar-msw.c (displayable_menu_item):
11140         * glyphs-msw.c:
11141         * glyphs-msw.h (IMAGE_INSTANCE_MSWINDOWS_MASK):
11142         * sysdep.c (sys_subshell):
11143         * process-nt.c (nt_create_process):
11144         * nt.c (normalize_filename):
11145         (dostounix_filename):
11146         (unixtodos_filename):
11147         * ntproc.c (win32_executable_type):
11148         * ntplay.c (play_sound_data_1):
11149         (play_sound_file):
11150         * editfns.c (get_home_directory):
11151         * event-msw.c (struct winsock_stream):
11152         (mswindows_dde_callback):
11153         * device-msw.c (msprinter_init_device):
11154         (msprinter_get_devmode_copy): Frobbed syntax frivolities.
11155
11156         * toolbar-msw.c (mswindows_free_frame_toolbars): Paramters to
11157         mswindows_clear_toolbar were swapped!
11158
11159         * objects-msw.c:(colormap_t):
11160         (fontmap_t):
11161         * emacs.c (struct standard_args): Fixed const jumble.
11162
11163         * glyphs-widget.c (update_widget): Fixed comparison notation.
11164
11165         * event-msw.c (mswindows_dde_callback): Removed extraneous ';'.
11166
11167         * s\windowsnt.h (DOESNT_RETURN): Defined to support the MSVC
11168         __declspec(noreturn) syntax.
11169
11170 2000-02-19  Martin Buchholz  <martin@xemacs.org>
11171
11172         * eldap.c (Fldap_open):
11173         (Fldap_search_basic):
11174         (Fldap_add):
11175         (Fldap_modify):
11176         Use new coding system conversion macros.
11177
11178 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
11179
11180         * console-tty.c (tty_init_console): Change MULE to FILE_CODING.
11181
11182 1999-11-27  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
11183
11184         * eldap.h (Fldap_search) Renamed from Fldap_search_internal:
11185         (Fldap_add, Fldap_modify, Fldap_delete): New functions
11186
11187         * eldap.c (Qadd, Qreplace): New constant symbols
11188         (Fldap_open): Use the LDAP_OPT_RESTART option to avoid
11189         interruptions by XEmacs signals
11190         Remove unnecessary calls to slow_down_interrupts and
11191         speed_up_interrupts
11192         (Fldap_search_basic): Renamed from Fldap_search_internal
11193         Added new optional parameter VERBOSE that triggers the
11194         display of progress messages
11195         Remove unnecessary calls to slow_down_interrupts and
11196         speed_up_interrupts
11197         LDAP result code analysis rewritten
11198         (Fldap_add, Fldap_modify, Fldap_delete): New functions
11199         (syms_of_eldap): Define the new symbols and functions
11200
11201
11202 2000-02-17  Martin Buchholz  <martin@xemacs.org>
11203
11204         * realpath.c: Determine PATH_MAX maximally portably.
11205
11206         * insdel.c (bytecount_to_charcount): Optimize.
11207         The function used to be optimized for entirely ASCII sequences.
11208         Now it is optimized for successive characters from the same
11209         charset.  This also wins big for _mostly_ ASCII sequences.
11210
11211         * fileio.c (Ffile_truename): convert return from realpath() using
11212         Qfile_name, not Qbinary.  Fixes obvious bug with non-ASCII symlinks.
11213         - Rewrite GCPROing slightly.
11214
11215         * sysdep.c (sys_open): Do filename conversion, like all other
11216         sys_* functions.  Fixes bug:
11217         (let ((file-name-coding-system 'iso-8859-2))
11218            (write-region x y latin2-name))
11219         ==> writes filename using internal encoding.
11220
11221 2000-02-18  Martin Buchholz  <martin@xemacs.org>
11222
11223         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Turn on c_readonly. Always const.
11224         * console.c (DEFVAR_CONSOLE_LOCAL_1): Turn on c_readonly. Always const.
11225         * symeval.h (DEFVAR_SYMVAL_FWD): Turn on c_readonly. Always const.
11226         * eval.c (lrecord_subr): Remove this_one_is_unmarkable.
11227         * symbols.c (lrecord_symbol_value_forward): Remove this_one_is_unmarkable.
11228         * symbols.c (guts_of_unbound_marker): Turn on c_readonly.
11229         * lrecord.h (UNMARKABLE_LRECORD_HEADER_P): Delete.
11230         (CONST_IF_NOT_DEBUG): Delete.
11231         * alloc.c (this_one_is_unmarkable): Delete.
11232         (mark_object): Don't check for this_one_is_unmarkable. Use the
11233         c_readonly flag instead.
11234         * lisp.h (DEFUN): Define a Lisp_Subr as c_readonly.
11235
11236 2000-02-18  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11237
11238         * event-msw.c (mswindows_drain_windows_queue):
11239         (emacs_mswindows_handle_magic_event): Remove attempt to optimise
11240         away redundant repaint events.
11241
11242 2000-02-17  Andy Piper  <andy@xemacs.org>
11243
11244         * redisplay.h: declare mark_redisplay_structs.
11245
11246         * redisplay.c (redisplay_window):
11247         (redisplay_frame): don't check subwindows_state_changed.
11248         (mark_redisplay): mark gutters here.
11249
11250         * glyphs.c: (instantiate_image_instantiator): always layout if we
11251         haven't done so already.
11252         (allocate_image_instance): don't mark as dirty.
11253         (update_subwindow): bind inhibit_quit.
11254
11255         * gutter.c (mark_gutters): new function.
11256
11257         * glyphs-x.c (x_update_widget): Always resize to get round a
11258         widget bug.
11259
11260         * glyphs-msw.c (mswindows_tab_control_update): remove `;' that was
11261         breaking absolutely everything.
11262
11263         * gutter.h: declare mark_gutters.
11264
11265 2000-02-16  Martin Buchholz <martin@xemacs.org>
11266
11267         * XEmacs 21.2.29 is released.
11268
11269 2000-02-15  Olivier Galibert  <galibert@pobox.com>
11270
11271         * fns.c (size_bit_vector): Fix computation of the size.
11272
11273 2000-02-15  Martin Buchholz  <martin@xemacs.org>
11274
11275         * *.[ch]: Change CONST to const globally.
11276         find -name '*.[ch]' | \
11277         xargs global-replace \
11278         's/(^|(?<=[^A-Za-z0-9_]))CONST((?=[^A-Za-z0-9_])|$)/const/g'
11279         - Remove vestigial references to CONST_IS_LOSING
11280
11281 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11282
11283         * event-msw.c (mswindows_drain_windows_queue): Remove hack to
11284         bailout early on quit. Enqueue WM_PAINT events as XEmacs magic
11285         events instead of dispatching them directly.
11286         (mswindows_handle_paint): New function to do repainting.
11287         (mswindows_wnd_proc):
11288         (emacs_mswindows_handle_magic_event): Call above function.
11289
11290 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11291
11292         * objects-msw.c (mswindows_create_font_variant): Return the new
11293         font handle.
11294         (initialize_font_instance): Get font metrics from the underlined
11295         variant of the font to cope with the case where the underlined
11296         font has a bigger descent.
11297
11298 2000-02-08   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
11299
11300         * gui.c (gui_item_accelerator): Return the first underlined
11301         character in item name.
11302
11303 2000-02-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11304
11305         * lisp.h: Added Qprinter.
11306
11307         * general.c (syms_of_general): Initialized it.
11308
11309         * redisplay-msw.c (get_frame_dc): Conditionally start a new page.
11310         (get_frame_dc):
11311         (get_frame_compdc): Made inline.
11312
11313         * console.h (struct console_methods): Added eject_page method.
11314
11315         * frame.h: Added FRAME_DISPLAY_P and friends.
11316         Aligned backslahes in many macros in more readable fashion.
11317         Added page_number to struct frame, and an accessor macro
11318         for it.
11319
11320         * defice.h: Added DEVICE_DISPLAY_P and friends.
11321
11322         * device.c (Fdevice_printer_p): Used these.
11323
11324         * frame.c (allocate_frame_core): Initialize page number.
11325         (Fprint_job_page_number):
11326         (Fprint_job_eject_page): Implemented.
11327
11328         * frame-msw.c (msprinter_eject_page): Added method.
11329         (msprinter_start_page): Added.
11330
11331         * window.c (Fwindow_truncated_p): Fixed docstring.
11332         (Fwindow_last_line_visible_height): Implemented.
11333
11334 2000-02-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
11335
11336         * frame.c (change_frame_size_1): Undo 2000-02-03 change.
11337
11338 1999-12-20  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
11339
11340         * syntax.c (scan_words): Always advance at least one character.
11341
11342 2000-02-13  Andy Piper  <andy@xemacs.org>
11343
11344         * redisplay.c (add_glyph_rune): call get_glyph_cachel_index here
11345         to make sure the glyph is in the cachels.
11346
11347         * glyphs.h (struct Lisp_Image_Instance): make layout_changed a
11348         global image instance flag.
11349         (IMAGE_INSTANCE_NEEDS_LAYOUT): new macro.
11350         (XIMAGE_INSTANCE_NEEDS_LAYOUT): ditto.
11351
11352         * glyphs.c (allocate_image_instance): set dirty bits correctly.
11353         (Fset_image_instance_property): mark layout as changed.
11354         (invalidate_glyph_geometry_maybe): mark layout as changed.
11355         (glyph_width): use new NEEDS_LAYOUT macro.
11356         (glyph_ascent): ditto.
11357         (glyph_descent): ditto.
11358         (glyph_height): ditto.
11359         (image_instance_layout): mark layout as clean after laying out.
11360         (update_subwindow): don't mark layout as clean here.
11361
11362         * glyphs-x.h (IMAGE_INSTANCE_X_WIDGET_ID): undo C++ changes, they
11363         should no longer be needed.
11364
11365         * glyphs-x.c (x_update_widget): sanitize asserts.
11366         (x_finalize_image_instance): sanitize assignment to widgets.
11367
11368         * glyphs-widget.c (widget_instantiate): don't need to clear the
11369         layout flag here.
11370
11371 2000-02-13  Martin Buchholz  <martin@xemacs.org>
11372
11373         * sysdep.c (getcwd): Use standard prototype.
11374         * sysdep.h (getcwd): Use standard prototype.
11375
11376         * fns.c (Fsubseq): Change parameters to more natural ANSI Lisp
11377         (sequence, start, end).
11378         Remove redundant type checking.
11379         (Fmapconcat): Remove useless GCPRO, a wrong-headed attempt (in
11380         view of `caller-protects') to avoid a crash where the real fix was
11381         found elsewhere.
11382
11383 2000-02-12  Martin Buchholz  <martin@xemacs.org>
11384
11385         * glyphs-x.c (x_finalize_image_instance): Compile error fixes.
11386
11387         * s/sol2.h: Remove feature macro initialization.
11388
11389         * alloc.c (alloc_lcrecord): Add more type checking assertions.
11390         (vector_hash): New.  Code from internal_hash.
11391         * lrecord.h:
11392         Fix up allocation subsystem comments.
11393
11394         * config.h.in: Add __EXTENSIONS__ for Solaris.
11395
11396         * systime.h (EMACS_GETTIMEOFDAY): New.
11397         (EMACS_GET_TIME): Use EMACS_GETTIMEOFDAY.
11398         Remove Solaris-specific code.
11399         Use void* for the (ignored) second arg for gettimeofday().
11400
11401         * elhash.c (hash_table_hash): Implement it, finally.
11402         * elhash.c:  Use hashcode_t.
11403
11404         * linuxplay.c (sighandler): Fix prototypes to use SIGTYPE.
11405         * sunplay.c (sighandler): Fix prototype to use SIGTYPE.
11406
11407         * lisp.h (STRETCHY_STRUCT_SIZEOF): Delete.
11408         * fns.c (size_bit_vector):
11409         * alloc.c (size_vector):
11410         (make_vector_internal):
11411         (make_bit_vector_internal):
11412         (sweep_bit_vectors_1):
11413         Replace calls to STRETCHY_STRUCT_SIZEOF with offsetof expression.
11414
11415 2000-02-10  Martin Buchholz  <martin@xemacs.org>
11416
11417         * s/aix4.h: #define MAP_FAILED if sys/mman.h didn't.
11418         Include strings.h to avoid warnings for bzero and strcasecmp.
11419
11420 2000-02-10  Olivier Galibert  <galibert@pobox.com>
11421
11422         * alloc.c: Move STRETCHY_STRUCT_SIZEOF from here...
11423         * lisp.h (STRETCHY_STRUCT_SIZEOF): ...to here
11424
11425         * fns.c (size_bit_vector): New.  Declare bit vectors as a
11426         sequence.
11427
11428 2000-02-10  Olivier Galibert  <galibert@pobox.com>
11429
11430         * symeval.h (struct symbol_value_magic): Remove "next" kludge and
11431         use a value field instead.
11432         (symbol_value_forward_forward): Use value field.
11433         (DEFVAR_SYMVAL_FWD): Use value field.
11434         (DEFVAR_SYMVAL_FWD_INT): Added.  Dumps the int with dumpopaque.
11435         (DEFVAR_INT): Use DEFVAR_SYMVAL_FWD_INT.
11436         (DEFVAR_CONST_INT): Ditto.
11437         (DEFVAR_BOOL): Ditto.
11438         (DEFVAR_CONST_BOOL): Ditto.
11439         (DEFVAR_INT_MAGIC): Ditto.
11440         (DEFVAR_BOOL_MAGIC): Ditto.
11441
11442         * symbols.c (guts_of_unbound_marker): Use value field.
11443         * console.c (DEFVAR_CONSOLE_LOCAL_1): Ditto.
11444         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Ditto.
11445
11446         * lisp.h: Declare dumpopaque and noninteractive1.
11447
11448         * alloc.c (dumpopaque): Added.
11449         (pdump_dump_opaquevec): Added.
11450         (pdump): Call pdump_dump_opaquevec to dump opaque data.
11451         (pdump_load): Reload opaque data.  Sync noninteractive1 with
11452         noninteractive.
11453
11454 2000-02-10  Andy Piper  <andy@xemacs.org>
11455
11456         * glyphs.c (image_instance_layout): if the size changes, mark it
11457         as such.
11458
11459         * redisplay-output.c (redisplay_output_layout): Update the
11460         subwindow here.
11461         (redisplay_output_subwindow): ditto.
11462
11463         * glyphs.c (update_subwindow): make sure we reset flags for
11464         layouts as well as everything else.
11465
11466         * glyphs-widget.c (layout_layout): don't need to set the instances
11467         dimensions here.
11468
11469 2000-02-09  Martin Buchholz  <martin@xemacs.org>
11470
11471         * device-x.c (x_init_device): Wrap calls to dll_*  in HAVE_SHLIB,
11472         not HAVE_DLOPEN, which is a lower-level thing.
11473
11474         * .cvsignore: Ignore gmon.out
11475
11476 2000-02-09  Hamish Macdonald <hamishm@lucent.com>
11477
11478         * .cvsignore: Ignore portable dumper xemacs.dmp file
11479
11480 2000-02-09  Andy Piper  <andy@xemacs.org>
11481
11482         * redisplay-output.c (redisplay_output_layout): be more clever
11483         about when we output based on the changed flags.
11484
11485         * glyphs.h (struct image_instantiator_methods): add update_method.
11486         (struct Lisp_Image_Instance): add changed flags. Declare new
11487         macros for manipulating them.
11488
11489         * glyphs.c (allocate_image_instance): renamed glyph -> parent.
11490         (image_instance_parent_glyph): find an image_instance's parent
11491         glyph or image_instance.
11492         (image_instance_layout): mark the size as changed.
11493         (set_image_instance_dirty_p): new function. mark an image
11494         instance, plus all of its parents, as dirty.
11495         (Fset_image_instance_property): use it.
11496         (Fglyph_animated_timeout_handler): use it.
11497         (update_subwindow): call update_widget and device methods for
11498         update_subwindow. Mark all changed flags as clean.
11499         (Fresize_subwindow): mark size as changed.
11500
11501         * glyphs-x.c (x_finalize_image_instance): try and detect gc
11502         failures.
11503         (x_update_subwindow): only resize subwindows here.
11504         (x_update_widget): new function. Update all changed properties of
11505         a widget.
11506         (x_resize_subwindow): deleted.
11507         (x_widget_set_property): deleted.
11508         (x_progress_gauge_set_property): deleted.
11509         (x_progress_gauge_update): new function. Implement recorded
11510         changes.
11511         (x_tab_control_update): ditto.
11512         (x_tab_control_set_property): deleted.
11513         (console_type_create_glyphs_x): declare new functions.
11514         (image_instantiator_format_create_glyphs_x): ditto.
11515
11516         * glyphs-widget.c (widget_set_property): mark text changed.
11517         (update_widget): new function. Update properties of a widget.
11518         (widget_instantiate): for layouts make sure we set their
11519         children's parent correctly.
11520         (tab_control_set_property): new function. Record changes that will
11521         take place under redisplay's control.
11522         (progress_gauge_set_property): ditto.
11523         (image_instantiator_progress_guage): declare new functions.
11524         (image_instantiator_tab_control): ditto.
11525
11526         * glyphs-msw.c (mswindows_update_subwindow): just do resizing here
11527         now.
11528         (mswindows_update_widget): new function. Update all properties on
11529         a widget that have changed.
11530         (mswindows_button_update): new function. Update a button's set
11531         state.
11532         (mswindows_tab_control_update): new function. Update the items in
11533         a tab.
11534         (mswindows_tab_control_set_property): deleted.
11535         (mswindows_progress_gauge_update): new function. Update the
11536         progress gauge's progress.
11537         (mswindows_widget_set_property): deleted. This is all done
11538         asynchronously now.
11539         (mswindows_progress_gauge_set_property): ditto.
11540         (console_type_create_glyphs_mswindows): declare new methods.
11541         (image_instantiator_format_create_glyphs_mswindows): ditto.
11542
11543         * frame-msw.c (msprinter_init_frame_1): Remove unused variables.
11544         (msprinter_set_frame_properties): ditto.
11545
11546         * console.h (struct console_methods): Add update_widget_method.
11547
11548 2000-02-09  Andy Piper  <andy@xemacs.org>
11549
11550         * gui-msw.c (Fmswindows_shell_execute): Make
11551         mswindows-shell-execute industrial strength.
11552
11553 2000-02-08  Martin Buchholz  <martin@xemacs.org>
11554
11555         * lrecord.h: Make macro argument `props' match member function `plist'.
11556         * fns.c (Fget):
11557         * fns.c (Fput):
11558         * fns.c (Fremprop):
11559         * fns.c (Fobject_plist):
11560         * alloc.c:
11561         * symbols.c:
11562         Object property list frobbing cleanup.
11563         - Allow any lisp object (compared with `eq'), not just symbols, as
11564           keys in object plists.
11565         - Move symbol plist frobbing into symbols.c, where it belongs.
11566         - Move string plist frobbing into alloc.c, where it belongs.
11567         - Everything's an lrecord now, so no need to test for symbolp, etc.
11568         - Fix up doc strings to refer to PROPERTY, not PROPNAME.
11569
11570         * extents.c: Reorder code to remove declarations.
11571
11572         * frame.h (store_in_alist): Remove useless declaration.
11573
11574 2000-02-07  Martin Buchholz  <martin@xemacs.org>
11575
11576         * event-Xt.c (x_has_keysym): Use XConvertCase only if available.
11577         * config.h.in: Add HAVE_XCONVERTCASE.
11578
11579 2000-02-07  Andy Piper  <andy@xemacs.org>
11580
11581         * glyphs.c (image_instance_layout): undo 2000-01-29 change since
11582         it breaks many things.
11583
11584 2000-02-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
11585
11586         * src/syntax.h (SYNTAX_START_P): Check whether the two chars
11587         actually can start a common comment type.
11588         * src/syntax.h (SYNTAX_END_P): ditto for end.
11589
11590 2000-02-07  Martin Buchholz <martin@xemacs.org>
11591
11592         * XEmacs 21.2.28 is released.
11593
11594 2000-02-06  Martin Buchholz  <martin@xemacs.org>
11595
11596         * event-Xt.c (x_keysym_to_character): New.
11597         (maybe_define_x_key_as_self_inserting_character): New.
11598         (x_has_keysym): New.
11599         Auto-define all keys on the keyboard as self-insert-key.
11600
11601 2000-02-02  Martin Buchholz  <martin@xemacs.org>
11602
11603         * menubar.c (vars_of_menubar): A small code simplification.
11604
11605         * minibuf.c (echo_area_append): Workaround egcs-20000131 c++ compiler bug
11606
11607         * ExternalShell.c:
11608         * ExternalClient.c:
11609         * EmacsShell-sub.c:
11610         * EmacsManager.c:
11611         * EmacsFrame.c:
11612         Use consistent style for specifying X resources.
11613
11614         * symbols.c (Fset): Further implement SYMVAL_LISP_MAGIC.
11615         This makes (dontusethis-set-symbol-value-handler) actually usable.
11616
11617         * lrecord.h (lrecord_decription_type):
11618         * alloc.c (pdump_register_sub):
11619         (pdump_dump_data):
11620         (pdump_reloc_one):
11621         Add XD_LISP_OBJECT_ARRAY to describe multiple Lisp_Objects.
11622         Comply with XEmacs coding style.
11623         All lrecord descriptions updated to use XD_LISP_OBJECT with 2
11624         args, and XD_LISP_OBJECT_ARRAY with 3 args.
11625
11626         * keymap.c (Faccessible_keymaps):
11627         Make (accessible-keymaps map "\C-h") do the Right Thing.
11628         Make (accessible-keymaps map []) do the Right Thing.
11629         Make (accessible-keymaps map "") do the Right Thing.
11630         (check_keymap_definition_loop): New function.
11631         (keymap_store_internal): Keep luser from shooting self in foot,
11632           via (define-key ctl-x-4-map "p" global-map).
11633         Remove fullness slot from struct Lisp_Keymap, since hash tables
11634         are now reliable.
11635         (print_keymap): Remove 'Yuck' factor by simply printing "size %d".
11636
11637 2000-01-30  Martin Buchholz  <martin@xemacs.org>
11638
11639         * redisplay.c (init_redisplay): Fix small memory leak.
11640         * elhash.h:
11641         * elhash.c (pdump_reorganize_hash_table):
11642         Rename from reorganize_hash_table. Change prototype.
11643         Reuse the original memory for hentries.  Save 100k.
11644         * alloc.c (PDUMP_READ): new macro.
11645         * alloc.c (pdump_load): Replace LISP_TO_VOID with higher-level macros.
11646         * alloc.c: No need to #ifndef before #undef.
11647
11648         * print.c: Allow debug_print() to print readably by modifying
11649         debug_print_readably.  Use consistent variable names.
11650
11651         * .dbxrc: Try to get things to work even if stopped in a function
11652         without source available by explicitly specifying source files.
11653 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11654
11655         * unexnt.c (_start): Removed bogus code which caused loading heap
11656         from differrent executable file.
11657         Removed bogus assignment to _fmode, which caused inconsistencies.
11658
11659 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11660
11661         * s\windowsnt.h: Removed lots of #if 0 blocks of Emacs heritage.
11662         Have spawnve encapsulation regard DONT_ENCAPSULATE.
11663         Do not preliminary `#define signal sigset'.
11664
11665         * systime.h: Do not prototype environ on windows nt and cygwin,
11666         this conflicts with system header.
11667
11668         * syssignal.h: Use correct define for WINDOWSNT
11669
11670         * sysdep.h: Do not prototype environ on windows nt, this conflicts
11671         with system header.
11672
11673         * sysdep.c (near start of file): Fixed commentary and rearranged
11674         ifdefs in readable order.
11675         (NEED_STARTS): Do not force NEED_STARTS when PDUMPing.
11676         (start_of_text):
11677         (end_of_text):
11678         (end_of_data): Do not compile in if using PDUMP.
11679
11680         * symsinit.h: Prototyped vars_of_nt().
11681
11682         * ntproc.c (windows9x_p): Added, instead of os_subtype.
11683         (find_child_console): Use it.
11684         (sys_kill): Use it.
11685
11686         * ntheap.h: Do not extern os_subtype.
11687
11688         * ntheap.c (cache_system_info): Do not cache unneeded:
11689         nt_major_version, nt_minor_version and os_subtype.
11690         (recreate_heap): Do not compile in when PDUMPing.
11691
11692         * nt.c (geteuid and friends): Use the new varibale
11693         nt_fake_unix_uid, instead of hashing fake uid out of NT RID.
11694         (init_user_info): Removed the above mentioned hackery.
11695         (fstat, stat): Do not compile in if using MSVC 5.0 and above -
11696         stat has been fixed in the C runtime.
11697         (vars_of_nt): Added, defined the nt_fake_unix_uid variable there.
11698
11699         * file-coding.c (struct file_coding_dump): Do not define
11700         ucs_to_mule_table in the struct if not MULE.
11701         (struct struct lrecord_description fcd_description_1): Do not dump
11702         the above.
11703
11704         * emacs.c (main_1): Call vars_of_nt().
11705         (right before Fdump_emacs_data): Don't need lastfile if using both
11706         portabe dumper and system malloc.
11707
11708         * alloc.c (Fmemory_limit): Conditionalized out.
11709         (pdump): Use OPEN_BINARY for the portable dump file.
11710         (pdump_load): Ditto.
11711
11712 2000-02-02  Mike Alexander  <mta@arbortext.com>
11713
11714         * nt.c (convert_time): Set tm_isdst before calling mktime and
11715         avoid calling it at all if the compiler supports 64 bit integers.
11716         Also initialize utc_base_ft before using it.
11717
11718 2000-02-03   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
11719
11720         * frame.c (change_frame_size_1): Take f->internal_border_width
11721         into consideration when calculating the width of the frame.
11722
11723 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11724
11725         * window.c (frame_min_height):
11726         (frame_size_valid_p):
11727         (frame_pixsize_valid_p): Added.
11728         (check_frame_size): Generalized.
11729
11730         * window.h: Prototyped the above.
11731
11732         * lisp.h:
11733         * general.c: Added Qbottom_margin, Qduplex, Qlandscape,
11734         Qleft_margin, Qorientation, Qportrait, Qright_margin, Qtop_margin.
11735         Deleted Vwin32_* and Vbinary_process_* unused variables.
11736
11737         * device-msw.c (msprinter_init_device): Do not get printer font
11738         list; Added DEVMODE functions.
11739
11740         * frame-msw.c: Added lots of printer code.
11741
11742         * faces.c: Moved 'left-margin and 'right-margin defsymbols to
11743         general.c.
11744
11745         * console-msw.h: Added more msprinter device private slots.
11746
11747 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11748
11749         * event-msw.c (key_needs_default_processing_p): Added.
11750         (mswindows_wnd_proc, WM_KEYUP, KEYDOWN): Call it.
11751
11752 2000-01-29  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11753
11754         * glyphs.c (image_instance_layout): Mark image instance as clean
11755         after layout.
11756         (glyph_dirty_p): Removed redundant function.
11757         (invalidate_glyph_geometry_maybe): Added.
11758         (update_glyph_cachel_data): Call it.
11759
11760         * glyphs.h: Prototyped it.
11761
11762         * redisplay.c (add_glyph_rune): Call it.
11763         (redisplay_window): Reset glyphs cachels when frame faces have
11764         changed, thus forcing recomputation of built-in border glyphs.
11765
11766 2000-01-30  Martin Buchholz  <martin@xemacs.org>
11767
11768         * Makefile.in.in: Make portable dumper and purify play well together.
11769         Add imperfect, but better than nothing, support for pdump.
11770         Remove xemacs.dmp when temacs is re-generated.
11771         Don't ignore errors when dumping xemacs.
11772
11773         * symbols.c (maybe_call_magic_handler): Remove one magic number.
11774
11775 2000-01-28  Andy Piper  <andy@xemacs.org>
11776
11777         * frame.c (allocate_frame_core): Use new Fset_window_buffer signature.
11778         (setup_normal_frame): ditto.
11779         (setup_frame_without_minibuffer): ditto.
11780         (setup_minibuffer_frame): ditto.
11781         (delete_frame_internal): ditto.
11782         (Fmake_frame_invisible): ditto.
11783         (Ficonify_frame): ditto.
11784
11785         * window.h: change Fset_window_buffer signature.
11786
11787         * window.c (Fsplit_window): Use new Fset_window_buffer signature.
11788         (Fset_window_buffer): allow recording of buffer if the window is
11789         the selected window.
11790         (window_loop): Use new Fset_window signature.
11791
11792 2000-01-23  Daniel Pittman  <daniel@danann.net>
11793
11794         * config.h.in: Added template for `HAVE_ATHENA_3D'
11795
11796 2000-01-29  Andy Piper  <andy@xemacs.org>
11797
11798         * glyphs-x.c (x_resize_subwindow): Try and catch bogus resizes.
11799
11800         * gutter.c (output_gutter): Don't output if the window isn't live.
11801
11802 2000-01-28  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11803
11804         * glyphs-msw.c (mswindows_unmap_subwindow): Fix of corrupted patch
11805         of 01/12/00: Moved SetFocus back here where it belongs.
11806
11807 2000-01-23  Andy Piper  <andy@xemacs.org>
11808
11809         * s/cygwin32.h: declare printer things.
11810
11811 2000-01-26  Andy Piper  <andy@xemacs.org>
11812
11813         * select.c (Fown_selection_internal): GCPRO bug fix from Mike
11814         Alexander.
11815
11816 2000-01-24  Andy Piper  <andy@xemacs.org>
11817
11818         * glyphs-msw.c (mswindows_locate_pixmap_file): Expand filename.
11819         (mswindows_button_instantiate): Make sure glyph is a pixmap.
11820
11821         * glyphs-widget.c (widget_instantiate): Avoid shadows.
11822
11823         * frame-msw.c (msprinter_init_frame_3): Nuke warning.
11824
11825         * glyphs-msw.c: (mswindows_string_to_color): remove declaration.
11826
11827         * redisplay-msw.c (mswindows_output_cursor): Avoid shadows.
11828         (mswindows_output_display_block): Avoid local shadows.
11829
11830         * event-msw.c (mswindows_enqueue_magic_event): Avoid shadows.
11831         (mswindows_enqueue_mouse_button_event): ditto.
11832         (mswindows_handle_gui_wm_command): remove declaration.
11833
11834         * console-msw.c (mswindows_canonicalize_console_connection): Avoid
11835         warnings.
11836
11837         * console-msw.h: Avoid shadows.
11838         (mswindows_get_toolbar_button_text):
11839         (emacs_mswindows_create_stream_pair):
11840         (emacs_mswindows_delete_stream_pair):
11841         (mswindows_handle_toolbar_wm_command): declare.
11842
11843         * device-msw.c (build_syscolor_string): Avoid shadows.
11844
11845 2000-01-23  Andy Piper  <andy@xemacs.org>
11846
11847         * glyphs-widget.c (widget_instantiate): reverse the items for
11848         layouts so that children are in the expected order.
11849
11850 2000-01-28  Martin Buchholz  <martin@xemacs.org>
11851
11852         * ralloc.c: safe_bcopy ==> memmove
11853         * gmalloc.c: Remove MEMMOVE_MISSING conditional code.
11854         * s/msdos.h: Remove BCOPY macros.
11855         * insdel.c (gap_right): Remove BCOPY conditional code.
11856         * insdel.c (gap_left): Remove BCOPY conditional code.
11857         XEmacs demands a working ANSI C compiler - hence memmove.
11858
11859         * regex.c (regex_compile): Remove accidental use of trigraphs.
11860
11861 2000-01-27  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11862
11863         * event-msw.c (mswindows_enqueue_misc_user_event): Initialize
11864         event timestamp.
11865
11866 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11867
11868         * event-msw.c (mswindows_drain_windows_queue): Added the
11869         parameter.
11870         (mswindows_need_event): Commented the call to
11871         mswindows_drain_windows_queue().
11872         (emacs_mswindows_quit_p): Lookup the windows for keyboard messages
11873         only.
11874
11875         * console-msw.h: Moved a few function prototypes here from
11876         event-msw.c.
11877
11878         * gui-msw.c (mswindows_handle_gui_wm_command): Changed the ID
11879         parameter from unsigned short to unsigned long.
11880         (Fmswindows_shell_execute): Added return value.
11881
11882 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
11883
11884         * sysdep.c (init_system_name):
11885           process-unix.c (unix_canonicalized_host_name):
11886         Don't call freeaddrinfo() if getaddrinfo() fails.
11887
11888         * process-unix.c (unix_open_unix_network_stream):
11889         Moved the code to get a port # into address loop.
11890
11891 2000-01-27  Martin Buchholz  <martin@xemacs.org>
11892
11893         * buffer.c (reinit_vars_of_buffer):
11894         The right place to initialize conversion_in_dynarr and
11895         conversion_out_dynarr.
11896
11897         * alloc.c (pdump): Use the real open() till sys_open() is functional.
11898
11899         * process-unix.c (unix_canonicalize_host_name): Muleize.
11900         (unix_open_network_stream): Muleize.
11901
11902         * buffer.h: Fix up prototypes for ralloc.c functions.
11903
11904 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
11905         * config.h.in: added HAVE_GETADDRINFO and HAVE_GETNAMEINFO
11906         * sysdep.c: In init_system_name(), add code to use getaddrinfo()
11907                 instead of gethostbyname()
11908         * process-unix.c: In unix_canonicalize_host_name() and
11909                 unix_open_network_stream(), add code to use getaddrinfo()
11910                 instead of gethostbyname().
11911
11912 2000-01-27  Daniel Pittman <daniel@danann.net>
11913
11914         * device-x.c (x_init_device): Warn at run-time if using Athena 3d
11915         libs when built with flat Athena.
11916
11917 2000-01-27  Martin Buchholz  <martin@xemacs.org>
11918
11919         * ralloc.c: Replace SIZE (conflicts with Windows headers) with size_t.
11920         Use coding standards for function prototypes.
11921
11922 2000-01-25  Martin Buchholz  <martin@xemacs.org>
11923
11924         * dialog-msw.c (push_lisp_string_as_unicode):
11925         * doc.c (unparesseuxify_doc_string):
11926         * dired.c (Fuser_name_completion_1):
11927         * dired.c (Fuser_name_all_completions):
11928         * dired.c (free_user_cache):
11929         * dired.c (user_name_completion):
11930         * console-x.c (get_display_arg_connection):
11931         * minibuf.c (clear_echo_area_internal):
11932         * minibuf.c (echo_area_append):
11933         * eldap.c (Fldap_open):
11934         * eldap.c (Fldap_search_internal):
11935         * frame-x.c (x_set_frame_text_value):
11936         * frame-x.c (x_set_frame_properties):
11937         * frame-x.c (x_create_widgets):
11938         * redisplay-tty.c (term_get_fkeys_1):
11939         * objects-x.c (x_parse_nearest_color):
11940         * objects-x.c (x_valid_color_name_p):
11941         * objects-x.c (x_initialize_font_instance):
11942         * objects-x.c (x_list_fonts):
11943         * objects-x.c (x_find_charset_font):
11944         * tooltalk.c (Fadd_tooltalk_message_arg):
11945         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
11946         * tooltalk.c (Fadd_tooltalk_pattern_arg):
11947         * process-unix.c (unix_create_process):
11948         * ntproc.c (sys_spawnve):
11949         * sound.c (Fplay_sound_file):
11950         * sound.c (Fplay_sound):
11951         * buffer.c (init_initial_directory):
11952         * buffer.c (init_buffer):
11953         * editfns.c (init_editfns):
11954         * editfns.c (Ftemp_directory):
11955         * editfns.c (Fuser_full_name):
11956         * editfns.c (uncache_home_directory):
11957         * editfns.c (get_home_directory):
11958         * editfns.c (Fuser_home_directory):
11959         * editfns.c (Fformat_time_string):
11960         * editfns.c (Fcurrent_time_string):
11961         * gui-x.c (button_item_to_widget_value):
11962         * database.c (Fopen_database):
11963         * event-Xt.c (x_to_emacs_keysym):
11964         * event-Xt.c (x_event_to_emacs_event):
11965         * event-Xt.c (describe_event_window):
11966         * event-msw.c (mswindows_wnd_proc):
11967         * glyphs-eimage.c (jpeg_instantiate):
11968         * glyphs-eimage.c (gif_instantiate):
11969         * glyphs-eimage.c (png_instantiate):
11970         * glyphs-eimage.c (tiff_instantiate):
11971         * glyphs-x.c (xbm_instantiate_1):
11972         * glyphs-x.c (x_xbm_instantiate):
11973         * glyphs-x.c (x_xface_instantiate):
11974         * glyphs-x.c (autodetect_instantiate):
11975         * glyphs-x.c (cursor_font_instantiate):
11976         * glyphs-x.c (x_widget_instantiate):
11977         * glyphs-x.c (x_widget_set_property):
11978         * glyphs-x.c (x_widget_property):
11979         * glyphs-x.c (BUILD_GLYPH_INST):
11980         * print.c (write_string_to_stdio_stream):
11981         * print.c (output_string):
11982         * print.c (Falternate_debugging_output):
11983         * print.c (Fexternal_debugging_output):
11984         * glyphs-msw.c (extract_xpm_color_names):
11985         * glyphs-msw.c (mswindows_xpm_instantiate):
11986         * glyphs-msw.c (bmp_instantiate):
11987         * glyphs-msw.c (resource_name_to_resource):
11988         * glyphs-msw.c (mswindows_resource_instantiate):
11989         * glyphs-msw.c (xbm_instantiate_1):
11990         * glyphs-msw.c (mswindows_xbm_instantiate):
11991         * glyphs-msw.c (mswindows_xface_instantiate):
11992         * glyphs-msw.c (mswindows_widget_instantiate):
11993         * glyphs-msw.c (add_tree_item):
11994         * glyphs-msw.c (add_tab_item):
11995         * glyphs-msw.c (mswindows_combo_box_instantiate):
11996         * glyphs-msw.c (mswindows_widget_property):
11997         * glyphs-msw.c (mswindows_combo_box_property):
11998         * glyphs-msw.c (mswindows_widget_set_property):
11999         * console.c (stuff_buffered_input):
12000         * objects-msw.c (mswindows_initialize_color_instance):
12001         * objects-msw.c (mswindows_valid_color_name_p):
12002         * objects-msw.c (mswindows_list_fonts):
12003         * objects-msw.c (mswindows_font_instance_truename):
12004         * bytecode.c (optimize_compiled_function):
12005         * select-x.c (symbol_to_x_atom):
12006         * select-x.c (x_atom_to_symbol):
12007         * select-x.c (hack_motif_clipboard_selection):
12008         * select-x.c (selection_data_to_lisp_data):
12009         * select-x.c (lisp_data_to_selection_data):
12010         * select-x.c (Fx_get_cutbuffer_internal):
12011         * select-x.c (Fx_store_cutbuffer_internal):
12012         * buffer.h (TO_EXTERNAL_FORMAT): New function.
12013         * buffer.h (TO_INTERNAL_FORMAT): New function.
12014         * emacs.c (make_arg_list_1):
12015         * emacs.c (make_argc_argv):
12016         * emacs.c (main_1):
12017         * emacs.c (Fdump_emacs):
12018         * emacs.c (split_string_by_emchar_1):
12019         * file-coding.h:
12020         * lisp.h:
12021         * lstream.h:
12022         * symsinit.h:
12023         * device-x.c (x_init_device):
12024         * device-x.c (Fx_valid_keysym_name_p):
12025         * device-x.c (Fx_get_font_path):
12026         * device-x.c (Fx_set_font_path):
12027         * glyphs.c (bitmap_to_lisp_data):
12028         * glyphs.c (pixmap_to_lisp_data):
12029         * alloc.c (make_ext_string): Use coding system arguments.  Update
12030         all callers.
12031         * alloc.c (build_string):
12032         * callproc.c (child_setup):
12033         * callproc.c (init_callproc):
12034         * fileio.c (lisp_strerror):
12035         * fileio.c (directory_file_name):
12036         * fileio.c (Fexpand_file_name):
12037         * fileio.c (Ffile_truename):
12038         * fileio.c (Fsysnetunam):
12039         * fileio.c (Fdo_auto_save):
12040         * sysdep.c (sys_readdir):
12041         * tests.c: New file.  Allow adding C tests.
12042         Replace GET_* macros with a more comprehensible and flexible
12043         interface, TO_INTERNAL_FORMAT() and TO_EXTERNAL_FORMAT().
12044         Modify all calls.
12045         Any coding system can be used to do format conversion.
12046         Eliminate enum external_data_format.
12047         Eliminate convert_to_external_format.
12048         Eliminate convert_to_internal_format.
12049         Make sure file-name, keyboard, terminal, and ctext are always
12050         defined as coding systems or aliases.  Make
12051         file-name-coding-system, terminal-coding-system, and
12052         keyboard-coding-system magical variables that are equivalent to
12053         defining the corresponding coding system aliases.
12054
12055         * file-coding.c (Fcoding_system_canonical_name_p): New function.
12056         * file-coding.c (Fcoding_system_alias_p): New function.
12057         * file-coding.c (Fcoding_system_aliasee): New function.
12058         * file-coding.c (append_suffix_to_symbol): New function.
12059         * file-coding.c (dangling_coding_system_alias_p): New function.
12060         * file-coding.c (Ffind_coding_system):
12061         * file-coding.c (Fcopy_coding_system):
12062         * file-coding.c (encode_coding_no_conversion):
12063         * file-coding.c (syms_of_file_coding):
12064         * file-coding.c (vars_of_file_coding):
12065         Rewrite coding system alias code.
12066         Allow nested aliases, like symbolic links.
12067         Allow redefinition of coding system aliases.
12068         Prevent existence of dangling coding system aliases.
12069
12070         * dired.c (Fuser_name_completion_1):
12071         * dired.c (Fuser_name_all_completions):
12072         A crash would happen if user did QUIT in the middle of building
12073         user_name_cache.  Remove redundant code in mainline and unwind_protect.
12074
12075         * lisp.h:
12076         * dynarr.c (Dynarr_min_size): Make static.  Increase value to 8.
12077
12078         * lstream.c (make_fixed_buffer_input_stream): Take a void *, not
12079         an unsigned char *.  Update all callers.
12080
12081 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12082
12083         * callproc.c (Fcall_process_internal): Ignore Vbinary-process_output.
12084
12085 2000-01-25  Martin Buchholz  <martin@xemacs.org>
12086
12087         * elhash.c (hentry_description): Use more portable definition.
12088         (resize_hash_table): Initialize new hentries using
12089         xnew_array_and_zero, thereby simplifying the code.
12090
12091         * mule-charset.c (make_charset): Make sure entire object is
12092         initialized, to avoid Purify warnings.
12093
12094         * alloc.c (resize_string): Fix unlikely crash with big strings.
12095
12096 2000-01-24  Martin Buchholz  <martin@xemacs.org>
12097
12098         * realpath.c (xrealpath):
12099         Don't call getwd().
12100
12101 2000-01-25  Martin Buchholz  <martin@xemacs.org>
12102
12103         * lread.c (read_bit_vector): Fix memory leak reading literal bit vectors.
12104
12105 1999-12-28  Max Matveev  <max@melbourne.sgi.com>
12106
12107         * unexelfsgi.c (unexec): Change the way we decide which segment
12108         should be extended.
12109
12110         Assumption that .bss section should be outside the PT_LOADable
12111         segment. On IRIX with version 6.2 and above, .bss (or .sbss, if
12112         it's present) is inside the 'data' segment. This would fail the
12113         test which was used to find a segment to grow and cover new
12114         heap. Instead of this assumption, I created another one - on IRIX
12115         the segment to grow should start below .bss and it's address
12116         should extent above the end of .bss. Once this segment is
12117         identified, it's grown to accommodate the new heap and new
12118         zero-length .bss section is added at the end of .data2.
12119
12120 2000-01-25  Martin Buchholz  <martin@xemacs.org>
12121
12122         * eval.c (Feval): Wrong number of arguments should use original
12123         function, not the indirect_function version of it.
12124
12125 2000-01-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
12126
12127         * glyphs-x.c (x_button_instantiate): Don't add image if
12128         it is not a pixmap.
12129         (x_locate_pixmap_file): Call Fexpand_file_name when file name
12130         is relative.
12131
12132 2000-01-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
12133
12134         * symeval.h (DEFVAR_LISP_MAGIC): Remove semicolon after macro
12135         declaration.
12136         (DEFVAR_INT_MAGIC): Ditto.
12137         (DEFVAR_BOOL_MAGIC): Ditto.
12138         * glyphs.h: Reindent backslash.
12139
12140 2000-01-24  Martin Buchholz  <martin@xemacs.org>
12141
12142         * glyphs-widget.c (layout_query_geometry):
12143         (layout_layout): Use correct types for gheight, gwidth.
12144
12145 2000-01-24  Martin Buchholz  <martin@xemacs.org>
12146
12147         * EmacsManager.c (QueryGeometry): Purified.
12148
12149 2000-01-23  Martin Buchholz  <martin@xemacs.org>
12150
12151         * alloc.c (make_float): Make sure entire object is initialized, to
12152         avoid Purify warnings.
12153         (pdump_register_sub): Remove useless assignment.
12154         (pdump): Use xmalloc, not malloc.
12155         (pdump_load): Use xmalloc, not malloc.
12156
12157 2000-01-23  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12158
12159         * callproc.c:
12160         * dired-msw.c:
12161         * fileio.c:
12162         * process-nt.c:
12163         * redisplay-msw.c:
12164         * sysdep.c: Removed redundant #include <windows.h>
12165
12166 2000-01-22  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12167
12168         * frame.c (delete_frame_internal): Do not delete device when its
12169         implementation so declares.
12170         (delete_frame_internal): Set device selected frame to nil when
12171         last frame goes away.
12172
12173         * device-msw.c (msprinter_device_system_metrics): Implemented.
12174         (mswindows_device_system_metrics): Added 'device-dpi property.
12175
12176         * device.c: (Fdevice_printer_p): Added.
12177         Added 'offset-workspace device metric.
12178
12179         * console.h (device_metrics): Declared DM_offset_workspace.
12180
12181 2000-01-23  Martin Buchholz  <martin@xemacs.org>
12182
12183         * fileio.c (Ffile_truename): Remove pointless and confusing
12184         initialization of elen.
12185
12186         * glyphs-widget.c: Compiler warning fixes.
12187
12188 2000-01-23  Gunnar Evermann  <ge204@eng.cam.ac.uk>
12189
12190         * process.h (PROCESS_LIVE_P): Modify to take a Lisp_Process
12191         instead of a Lisp_Object as argument to make it consistent with
12192         the other LIVE_P macros.
12193         (CHECK_LIVE_PROCESS): New macro.
12194
12195         * process.c: Declare Qprocess_live_p.
12196         (Fprocess_live_p): New function.
12197         (create_process): Use PROCESS_LIVE_P.
12198         (read_process_output): Ditto.
12199         (set_process_filter): Ditto.
12200         (Fdelete_process): Ditto.
12201         (kill_buffer_processes): Ditto
12202         (process_send_signal): Use CHECK_LIVE_PROCESS.
12203         (Fprocess_input_coding_system): Check whether process is still
12204         alive (fix PR#1061).
12205         (Fprocess_output_coding_system): Ditto.
12206         (Fprocess_coding_system): Ditto.
12207         (Fset_process_input_coding_system): Ditto.
12208         (Fset_process_output_coding_system): Ditto.
12209
12210 2000-01-23  Andy Piper  <andy@xemacs.org>
12211
12212         * glyphs.h (struct Lisp_Image_Instance): change format by unifying
12213         layout and widget.
12214
12215         * glyphs.c (mark_image_instance): take into account changed
12216         image_instance format.
12217         (image_instance_equal): ditto.
12218         (image_instance_hash): ditto.
12219
12220         * glyphs-widget.c (widget_instantiate): Incorporate layout
12221         instantiation here. Delay layout of the layout until later.
12222         (layout_instantiate): deleted.
12223         (layout_query_geometry): new function. get the geometry of a
12224         layout.
12225         (layout_layout): layout a layout dynamically.
12226         (image_instantiator_widget): New function - splitting up
12227         image_instantiator_format_create_glyphs_widget for netwinder
12228         compilation.
12229         (image_instantiator_buttons):
12230         (image_instantiator_edit_fields):
12231         (image_instantiator_combo_box):
12232         (image_instantiator_scrollbar):
12233         (image_instantiator_progress_guage):
12234         (image_instantiator_tree_view):
12235         (image_instantiator_tab_control):
12236         (image_instantiator_labels):
12237         (image_instantiator_layout): ditto.
12238         (image_instantiator_format_create_glyphs_widget): Call preceding
12239         functions.
12240
12241 2000-01-22  Martin Buchholz  <martin@xemacs.org>
12242
12243         * process.c (Fset_process_coding_system):
12244         * device-x.c (Fx_keysym_hash_table):
12245         Docstring fixes.
12246
12247         * lstream.c (Lstream_write): Return documented value, not 0.
12248
12249         * fileio.c (directory_file_name):
12250         (Fsubstitute_in_file_name):
12251         (Fsubstitute_insert_file_contents_internal):
12252         (Fwrite_region_internal):
12253         * emacs.c:
12254         * sysdep.c:
12255         * getloadavg.c:
12256         * systty.h:
12257         Remove vestigial APOLLO-conditional code.
12258
12259 2000-01-21  Martin Buchholz  <martin@xemacs.org>
12260
12261         * getpagesize.h: Add guard macros.
12262         * libsst.h: Add guard macros.
12263         * libst.h: Add guard macros.
12264         * line-number.h: Add guard macros.
12265         * ndir.h: Add guard macros.
12266         * sysfloat.h: Add guard macros.
12267         * sysfile.h: Add guard macros.
12268         * sysproc.h: Add guard macros.
12269         * syswait.h: Add guard macros.
12270         * xintrinsic.h: Add guard macros.
12271         * xintrinsicp.h: Add guard macros.
12272         * xmmanager.h: Add guard macros.
12273         * xmmanagerp.h: Add guard macros.
12274         * xmprimitive.h: Add guard macros.
12275         * xmu.h: Add guard macros.
12276         * gpmevent.h: Add copyright statement. Add guard macros.
12277         * miscplay.h: Add guard macros.
12278         * *.h: Use consistent C-standards-approved guard macro names.
12279
12280         * opaque.c (make_opaque): Switch parameter order.
12281         * opaque.h (make_opaque): Switch parameter order.
12282         Update all callers.
12283         * buffer.h (MAKE_MIRROR_TRT_TABLE): Use symbolic constant OPAQUE_CLEAR.
12284
12285         * config.h.in (type_checking_assert): Added.
12286         (bufpos_checking_assert): Added.
12287
12288 2000-01-21  Martin Buchholz  <martin@xemacs.org>
12289
12290         * alloc.c: Harmless pdump changes.
12291         - Use countof().
12292         - spell alignment correctly.
12293         * sysdep.c: Use countof()
12294
12295 2000-01-20  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12296
12297         * console.c (create_console): Use CONMETH_OR_GIVEN when calling
12298         initially_selected_for_input() console method, default to 0.
12299         (semi_canonicalize_console_connection): Try to delegate to
12300         canonicalize_console_connection if no such console method.
12301         (canonicalize_console_connection): Vice versa.
12302         (print_console): Do not print nil connection.
12303
12304         * console.h (XDEVIMPF_IS_A_PRINTER): Added.
12305         (XDEVIMPF_NO_AUTO_REDISPLAY): Added.
12306         (XDEVIMPF_FRAMELESS_OK): Added.
12307         (CONSOLE_INHERITS_METHOD): Added.
12308
12309         * console-msw.c (mswindows_canonicalize_console_connection):
12310         Added.
12311         (mswindows_canonicalize_device_connection): Added.
12312
12313         * console-msw.h (struct msprinter_device): Added this struct and
12314         accessor macros.
12315         (mswindows_device): Made fontlist a lisp object.
12316
12317         * device.c (semi_canonicalize_device_connection):  Try to delegate
12318         to canonicalize_device_connection if no such console method.
12319         (canonicalize_device_connection): Vice versa.
12320         (print_device): Do not print nil connection.
12321
12322         * device-msw.c (mswindows_init_device): Call InitCommonControls
12323         when have widgets.
12324         (mswindows_delete_device): Removed fontlist deallocation.
12325         (mswindows_mark_device): Added.
12326
12327         * events.c (event_equal): Added abort() at unreached code.
12328         (event_hash): Ditto.
12329
12330         * faces.c (complex_vars_of_faces): Added Qmsprinter to the list of
12331         fallback tags of Windows devices.
12332
12333         * general.c (syms_of_general): Initialized Qmsprinter.
12334
12335         * gutter.c (complex_vars_of_gutters): Added Qmsprinter to the list
12336         of fallback tags of Windows devices.
12337
12338         * lisp.h: Declared Qmsprinter.
12339
12340         * objects-msw.c (font_enum_callback_2): Rewrote to build lisp list
12341         of strings.
12342         (mswindows_list_fonts): Ditto.
12343         (mswindows_enumerate_fonts): Removed dependency on XDEVICE, so
12344         that it can be used by both mswindows and msprinter devices.
12345         (initialize_font_instance): Added.
12346         (mswindows_initialize_font_instance): Use it.
12347         (msprinter_initialize_font_instance): Added.
12348
12349         * redisplay.c (redisplay_device): Added the parameter AUTOMATIC
12350         and implementation flags check.
12351         (redisplay_without_hooks): Changed the call to the above.
12352         (Fredraw_device): Ditto.
12353         (Fredisplay_device): Ditto.
12354
12355         * redisplay-msw.c (get_frame_dc): Implemented.
12356         (get_frame_compdc): Implemented.
12357         (many functions): Use the two functions above to get device
12358         contexts, ether for a window or a printer.
12359
12360 2000-01-21  Olivier Galibert  <galibert@pobox.com>
12361
12362         * symbols.c (reinit_symbols_once_early): Put Qzero/Qnull_pointer
12363         initialization here.
12364         (init_symbols_once_early): Call it.
12365         * emacs.c (main_1): Call it.
12366         * symsinit.h: Declare it.
12367
12368 2000-01-19  Olivier Galibert  <galibert@pobox.com>
12369
12370         * alloc.c: Use a lrecord_header * in the backtrace instead of a
12371         Lisp_Object.
12372         (pdump_backtrace): Ditto.
12373         (pdump_register_object): Ditto.  Cleanup use of the pointers.
12374         (pdump_get_entry): Abort if trying to register a null pointer.
12375         (pdump_dump_data): Cleanup types when relocating.
12376         (pdump_dump_staticvec): Cleanup types w.r.t the reloc table.
12377         (pdump_dump_rtables): Remove bad casts.
12378         (pdump_load): Cleanup relocation w.r.t union type.  Use a
12379         Lisp_Object instead of a EMACS_INT for the hashtable
12380         reorganization.
12381
12382 2000-01-20  Martin Buchholz  <martin@xemacs.org>
12383
12384         * emacs.c (main_1): Rearrange morass of #ifdef's for correctness.
12385
12386         * callproc.c (call_process_cleanup): Isolate WINDOWSNT code for clarity.
12387
12388         * EmacsManager.c (GeometryManager): Avoid use of CPP for clarity.
12389
12390         * *.[ch]: global-replace 's/_of_xselect/_of_select_x/g' *.[ch]
12391
12392 2000-01-17  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12393
12394         * faces.h (FACE_STRIKETHRU_P): Added.
12395
12396         * glyphs-msw.c (mswindows_widget_hfont): Implemented, to take care
12397         of font variants.
12398
12399         * redisplay-msw.c (mswindows_apply_face_effects): Deleted.
12400         (mswindows_set_dc_font): New function, aware of font variants,
12401         separated from mswindows_update_dc.
12402
12403         * objects-msw.h (struct mswindows_font_instance_data): Added
12404         definition.
12405
12406         * objects-msw.c (mswindows_finalize_font_instance): Delete all
12407         cached fonts and the data structure.
12408         (mswindows_initialize_font_instance): Added creation of font data
12409         structure.
12410         (mswindows_print_font_instance): Print at least something.
12411         (mswindows_create_font_variant): Implemented.
12412         (mswindows_get_hfont): Implemented.
12413
12414 2000-01-13  Fabrice Popineau  <Fabrice.Popineau@supelec.fr>
12415
12416         * dired-msw.c: permute "sysdir.h" with "sysfile.h" because of
12417         prototyping problem with msvc.
12418
12419         * emacs.c (main_1): added syms_of_gui_mswindows() call
12420
12421         * gui-msw.c: added "mswindows-shell-execute" lisp subr and
12422         syms_of_gui_mswindows() function
12423
12424         * symsinit.h: added the prototype for syms_of_gui_mswindows()
12425
12426 2000-01-18  Martin Buchholz <martin@xemacs.org>
12427
12428         * XEmacs 21.2.27 is released.
12429
12430 2000-01-18  Martin Buchholz  <martin@xemacs.org>
12431
12432         * glyphs-eimage.c (struct tiff_error_struct):
12433         (tiff_error_func):
12434         (tiff_warning_func):
12435         #if HAVE_VSNPRINTF ==> #ifdef HAVE_VSNPRINTF
12436
12437         * unexmips.c:
12438         * unexhp9k3.c:
12439         * unexfreebsd.c:
12440         * unexec.c: Remove vestigial Lucid C code.
12441         * unexalpha.c:
12442         * unexaix.c:
12443         * termcap.c:
12444         * libsst.c: Ansify.
12445         Remove declarations of errno and strerror().
12446
12447         * eval.c (Fbacktrace): Small Purify-cation.  Fix docstring.
12448
12449         * .dbxrc (run-temacs): Use the horrible ${1+"$@"} instead of "$@".
12450
12451 2000-01-16  Martin Buchholz  <martin@xemacs.org>
12452
12453         * mule-charset.c (Fchar_octet): Resurrect from earlier in 1999.
12454         Optimize.
12455
12456 2000-01-14  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
12457
12458         * md5.c:
12459         * file-coding.c:
12460         * file-coding.h:
12461         Change enum eol_type to eol_type_t.
12462
12463 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
12464
12465         * gui.c (get_gui_callback): Check cons before accessing car.
12466
12467 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
12468
12469         * specifier.h (XSPECIFIER_TYPE): Add error checking version.
12470         (XSETSPECIFIER_TYPE): Ditto.
12471
12472 2000-01-17  Didier Verna  <didier@xemacs.org>
12473
12474         * redisplay.c (generate_fstring_runes): compute string size in
12475         characters, not bytes.
12476
12477 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
12478
12479         * window.c (Fwindow_minibuffer_p): Make WINDOW optional.
12480
12481 2000-01-14  Hrvoje Niksic  <hniksic@iskon.hr>
12482
12483         * print.c (print_error_message): Call print_prepare().
12484
12485 2000-01-14  Martin Buchholz  <martin@xemacs.org>
12486
12487         * .dbxrc: Renamed from dbxrc.
12488
12489         * events.c (event_to_character):
12490         Use `assert (foo)' instead of `if (!foo) abort()'
12491
12492         * .gdbinit (xtype): Add documentation.
12493         * .gdbinit (check-temacs): New function.
12494         * .gdbinit (check-xemacs): New function.
12495         * dbxrc (check-xemacs): New function.
12496         * dbxrc (check-xemacs): New function.
12497
12498 2000-01-14  Andy Piper  <andy@xemacs.org>
12499
12500         * glyphs-widget.c (widget_query_geometry): Make sure that we
12501         calculate default dimensions correctly.
12502
12503 2000-01-13  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12504
12505         * symsinit.h: Added prototype for reinit_vars_of_frame_mswindows.
12506
12507         * event-msw.c (vars_of_event_mswindows): Fixed a mistyped
12508         pdump_wire'd variable.
12509
12510         * emacs.c: (main_1): Conditionalized calls to
12511         reinit_vars_of_scrollbar_x and reinit_vars_of_module.
12512
12513 2000-01-13  Martin Buchholz  <martin@xemacs.org>
12514
12515         * window.c (Fset_window_configuration):
12516         * sysdep.c (_start):
12517         * input-method-motif.c (res):
12518         * event-Xt.c (Xt_process_to_emacs_event):
12519         Simple compiler warning fixes.
12520
12521         * bytecode.c (funcall_compiled_function): Use the original
12522         function symbol on the backtrace list in preference to the
12523         compiled_function object in error messages.
12524
12525 2000-01-13  Andy Piper  <andy@xemacs.org>
12526
12527         * glyphs-x.c (update_widget_face): Make sure we update the widget
12528         background as well as foreground.
12529
12530 2000-01-13  Andy Piper  <andy@xemacs.org>
12531
12532         * glyphs.h (struct Lisp_Image_Instance): Move justify and orient
12533         fields to subwindow.
12534         (IMAGE_INSTANCE_SUBWINDOW_JUSTIFY): new macro.
12535         (XIMAGE_INSTANCE_SUBWINDOW_JUSTIFY): ditto.
12536         (IMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
12537         (XIMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
12538
12539         * glyphs-widget.c (check_valid_tab_orientation): new function.
12540         (initialize_widget_image_instance): zero orientation and
12541         justification.
12542         (widget_instantiate): pick up orientation.
12543         (tab_control_query_geometry): return appropriate values for
12544         vertical tabs.
12545
12546         * glyphs-msw.c: (mswindows_tab_control_instantiate): assign
12547         appropriate creation flags for left, right and bottom tabs.
12548
12549         * s/cygwin32.h: add tab definitions.
12550
12551 2000-01-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12552
12553         * glyphs-msw.c (mswindows_unmap_subwindow): Set focus back to the
12554         frame upon hiding a subwindow.
12555         (mswindows_button_instantiate): Changed the push button style to
12556         BS_PUSHBUTTON.
12557         (mswindows_button_instantiate): Removed button BS_NOTIFY
12558         style.
12559         (mswindows_button_instantiate): Removed redundant check for
12560         a disabled gui item.
12561         (mswindows_button_instantiate): Made use of WS_TABSTOP
12562         consistent: "operable" controls (edit, button, tree, scroll) have
12563         this style, "display-only" ones (static, progress gauge) do
12564         not. This style is currently ignored by XEmacs though. Also,
12565         removed the WS_EX_CONTROLPARENT style - it is not for children,
12566         it is for their parents!
12567         (mswindows_edit_field_instantiate): Ditto.
12568         (mswindows_progress_gauge_instantiate): Ditto.
12569         (mswindows_tree_view_instantiate): Ditto.
12570         (mswindows_tab_control_instantiate): Ditto.
12571         (mswindows_scrollbar_instantiate): Ditto.
12572         (mswindows_combo_box_instantiate): Ditto.
12573         (mswindows_widget_instantiate): Added the WS_EX_CONTROLPARENT
12574         style to the "clip" window.
12575         (mswindows_button_instantiate): Removed compilation warning by
12576         equally typing terms of the ?: operator.
12577
12578 2000-01-12  Didier Verna  <didier@xemacs.org>
12579
12580         * redisplay.c (generate_fstring_runes): new parameter holding the
12581         last modeline-format extent.
12582         (add_glyph_to_fstring_db_runes): new parameter holding the glyph
12583         extent, fill the glyph block with it.
12584         (generate_fstring_runes): handle these parameters.
12585         (generate_formatted_string_db): ditto.
12586
12587         * keymap.c (get_relevant_keymaps): retreive the keymaps from the
12588         glyphs'extents in the modeline.
12589
12590 1999-01-11  Mike Woolley  <mike@bulsara.com>
12591
12592         * ntheap.c: Reduced the reserved heap space from 1Gb down to
12593         256Mb, as a workaround for the non-starting problem many people
12594         have experienced.
12595
12596 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
12597
12598         * console-tty.c (Fset_console_tty_output_coding_system):
12599         Force redrawing tty frame.
12600
12601 2000-01-10  Didier Verna  <didier@xemacs.org>
12602
12603         * redisplay.c (generate_fstring_runes): fix size computation bug.
12604
12605 2000-01-09  William M. Perry <wmperry@aventail.com>
12606
12607         * gpmevent.c: (gpm_next_event_cb): Don't return value from void function.
12608
12609 2000-01-09  Andy Piper  <andy@xemacs.org>
12610
12611         * glyphs-msw.c: index -> i to avoid shadows.
12612         (xbm_create_bitmap_from_data): make static.
12613         (check_valid_string_or_int): deleted.
12614         (mswindows_control_wnd_proc): message -> msg to avoid shadows.
12615
12616         * glyphs-x.c (x_update_subwindow): remove unused args.
12617
12618         * glyphs.c (glyph_image_instance): return the thing. Don't set the
12619         back pointer - this is done in allocate_image_instance.
12620         (query_string_font): return Qnil to make the compiler happy.
12621         (unmap_subwindow): set to ~0 to make the compiler happy.
12622         (glyph_query_geometry): comment out until used.
12623         (glyph_layout): ditto.
12624
12625 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
12626
12627         * insdel.c (signal_after_change): Remove extraneous unbind_to().