bbca0528728044003d4f7c084f22a1634ebbc6b8
[chise/xemacs-chise.git-] / src / ChangeLog
1 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2
3         * mule-charset.c (decode_builtin_char): Support mother charsets.
4
5 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
6
7         * mule-charset.c (Q94x94x60): New variable.
8         (charset_code_point): Support conversion `94x94x60'.
9         (Fmake_charset): Likewise.
10         (syms_of_mule_charset): Add new symbol `94x94x60'.
11
12         * char-ucs.h (CONVERSION_94x94x60): New macro.
13
14 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
15
16         * mule-charset.c (charset_code_point): Unify code about
17         `code-offset'.
18
19 2001-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
20
21         * mule-charset.c (charset_code_point): Merge code about builtin
22         characters into code about mother charsets; don't use
23         `range_charset_code_point'.
24         (range_charset_code_point): Deleted.
25
26 2001-12-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
27
28         * mule-charset.c (Qcode_offset): New variable.
29         (Fmake_charset): Use `XUINT' to get value of `min-code' and
30         `max-code'; accept new property `code-offset'.
31         (syms_of_mule_charset): Add new symbol `code-offset'.
32
33 2001-12-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
34
35         * mule-charset.c (range_charset_code_point): Fixed.
36
37 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
38
39         * mule-charset.c (decode_builtin_char): Change semantics of
40         code-offset of coded-charset.
41         (charset_code_point): Likewise.
42         (range_charset_code_point): Likewise.
43         (complex_vars_of_mule_charset): Modify for the change.
44
45 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
46
47         * mule-charset.c (Fencode_char): Reverse arguments.
48
49         * mule-charset.c (charset_code_point): Fixed.
50
51 2001-12-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
52
53         * mule-charset.c (Vcharset_mojikyo): Deleted.
54         (Vcharset_mojikyo_2022_1): Deleted.
55         (Vcharset_mojikyo_pj_{1..21}): Deleted.
56         (Qmin_code): New variable in UTF-2000.
57         (Qmax_code): Likewise.
58         (Qmother): Likewise.
59         (Qconversion): Likewise.
60         (Q94x60): Likewise.
61         (Qmojikyo): Deleted.
62         (Qmojikyo_2022_1): Deleted.
63         (Qmojikyo_pj_{1..22}): Deleted.
64         (mark_charset): Mark `cs->mother'.
65         (charset_description): Add description for `mother'.
66         (make_charset): Rename `ucs_{min|max}' to `{min|max}_code'; add
67         new arguments `mother' and `conversion'; use
68         `CHARSET_{MIN|MAX}_CODE' instead of `CHARSET_UCS_{MIN|MAX}'.
69         (charset_code_point): Moved from char-ucs.h; support `mother'
70         charset feature.
71         (range_charset_code_point): use `CHARSET_{MIN|MAX}_CODE' instead
72         of `CHARSET_UCS_{MIN|MAX}'; delete hard code for `mojikyo-2022-1'.
73         (Fmake_charset): Allow 3 and 4 as the value of `dimension' in
74         UTF-2000; allow 128 and 256 as the value of `chars' in UTF-2000;
75         allow 2 as the value of `graphic' in UTF-2000; add new properties
76         `min-code', `max-code', `mother', `conversion' in UTF-2000; don't
77         require `final' in UTF-2000; modify for `make_charset'.
78         (Fmake_reverse_direction_charset): use `CHARSET_{MIN|MAX}_CODE'
79         instead of `CHARSET_UCS_{MIN|MAX}'; modify for `make_charset'.
80         (Fcharset_property): Support `mother', `min-code' and `max-code'.
81         (Fencode_char): New function.
82         (syms_of_mule_charset): Add new builtin function `encode-char' in
83         UTF-2000; add new symbols `min-code', `max-code', `mother',
84         `conversion' and `94x60'; delete symbols `mojikyo',
85         `mojikyo-2022-1' and `mojikyo-pj-{1..21}'.
86         (complex_vars_of_mule_charset): Modify for `make_charset' change;
87         delete coded-charsets `mojikyo', `mojikyo-2022-1' and
88         `mojikyo-pj-{1..21}'; delete `DEF_MOJIKYO_PJ'.
89
90         * chartab.c (Fdefine_char): Use `XCHARSET_MAX_CODE' instead of
91         `XCHARSET_UCS_MAX'; regard `chinese-big5' as a base CCS.
92
93         * char-ucs.h (Vcharset_mojikyo): Deleted.
94         (Vcharset_mojikyo_2022_1): Deleted.
95         (LEADING_BYTE_MOJIKYO): Deleted.
96         (LEADING_BYTE_MOJIKYO_2022_1): Deleted.
97         (LEADING_BYTE_MOJIKYO_2022_2): Deleted.
98         (LEADING_BYTE_MOJIKYO_PJ_{1 .. 21}): Deleted.
99         (struct Lisp_Charset): Rename `ucs_{min|max}' to `{min|max}_code';
100         add new member `mother'; add new member `conversion'.
101         (CHARSET_MIN_CODE): Renamed from `CHARSET_UCS_MIN'.
102         (CHARSET_MAX_CODE): Renamed from `CHARSET_UCS_MAX'.
103         (CHARSET_MOTHER): New macro.
104         (CHARSET_CONVERSION): New macro.
105         (CONVERSION_IDENTICAL): New macro.
106         (CONVERSION_94x60): New macro.
107         (XCHARSET_MIN_CODE): Renamed from `CHARSET_MIN_CODE'.
108         (XCHARSET_MAX_CODE): Renamed from `CHARSET_MAX_CODE'.
109         (XCHARSET_MOTHER): New macro.
110         (XCHARSET_CONVERSION): New macro.
111         (MIN_CHAR_MOJIKYO): Deleted.
112         (MAX_CHAR_MOJIKYO): Deleted.
113         (DECODE_MOJIKYO_2022): Deleted.
114         (DECODE_CHAR): Delete hard code for builtin Mojikyo characters.
115         (charset_code_point): Changed to non-inline function.
116         (encode_char_1): Use `charset_code_point'.
117         (CHAR_TO_CHARC): Delete hard code for Mojikyo characters.
118
119 2001-12-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
120
121         * lread.c (read_compiled_function): Fix prototype.
122         (read_vector): Likewise.
123
124 2001-12-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
125
126         * lrecord.h (struct lrecord_header): Delete `older'.
127         (set_lheader_implementation): Delete code for `older'.
128         (set_lheader_older_implementation): Deleted.
129         (enum lrecord_type): Delete `lrecord_type_char_id_table'.
130         (OLDER_RECORD_P): Deleted.
131         (OLDER_RECORD_HEADER_P): Deleted.
132         (alloc_older_lcrecord): Deleted.
133         (alloc_older_lcrecord_type): Deleted.
134
135         * alloc.c (all_older_lcrecords): Deleted.
136         (alloc_older_lcrecord): Deleted.
137         (disksave_object_finalization_1): Delete code for older objects.
138         (mark_object): Don't use `OLDER_RECORD_HEADER_P'.
139         (reinit_alloc_once_early): Don't initialize `all_older_lcrecords'.
140
141 2001-12-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
142
143         * mule-charset.c (decoding_table_put_char): Use `make_vector'
144         instead of `make_older_vector'.
145         (put_char_ccs_code_point): Likewise.
146         (mark_charset): Mark `cs->decoding_table'.
147         (Fset_charset_mapping_table): Don't use `make_vector_newer'.
148
149         * lisp.h (make_older_vector): Deleted.
150         (make_vector_newer): Deleted.
151
152         * config.h.in (HAVE_GGC): Deleted.
153
154         * alloc.c (make_older_vector): Deleted.
155         (make_vector_newer_1): Deleted.
156         (make_vector_newer): Deleted.
157
158 2001-12-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
159
160         * mule-charset.c (Vcharset_ideograph_daikanwa_2): New variable.
161         (Qideograph_daikanwa_2): New variable.
162         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa-2'.
163         (complex_vars_of_mule_charset): Add new coded-charset
164         `ideograph-daikanwa-2'; use `LEADING_BYTE_DAIKANWA_3' instead of
165         `LEADING_BYTE_DAIKANWA'.
166
167         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): New macro.
168         (LEADING_BYTE_DAIKANWA_1): New macro.
169         (LEADING_BYTE_DAIKANWA_2): New macro.
170         (LEADING_BYTE_DAIKANWA_3): Renamed from `LEADING_BYTE_DAIKANWA'.
171
172 2001-12-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
173
174         * mule-charset.c (complex_vars_of_mule_charset): Change
175         DOC-strings and registry of `ideograph-daikanwa'; now it indicates
176         the second revised version.
177
178 2001-12-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
179
180         * mule-charset.c (Vcharset_ucs_smp): New variable.
181         (Vcharset_ucs_sip): New variable.
182         (Qucs_smp): New variable.
183         (Qucs_sip): New variable.
184         (encode_builtin_char_1): Treat MIN_CHAR_{SMP|SIP} to
185         MAX_CHAR_{SMP|SIP} as `ucs-{smp|sip}'.
186         (syms_of_mule_charset): Add new symbols `ucs-smp' and `ucs-sip'.
187         (complex_vars_of_mule_charset): Modify middle-DOC and registry of
188         `ucs-bmp'; add new coded-charset `ucs-smp' and `ucs-sip'; change
189         charset width of `ucs-cns', `ucs-jis', `ucs-ks' and `ucs-big5'.
190
191         * char-ucs.h (LEADING_BYTE_UCS_SMP): New macro.
192         (LEADING_BYTE_UCS_SIP): New macro.
193         (MIN_CHAR_SMP): New macro.
194         (MAX_CHAR_SMP): New macro.
195         (MIN_CHAR_SIP): New macro.
196         (MAX_CHAR_SIP): New macro.
197
198 2001-11-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
199
200         * dumper.c (PDUMP_HASH_SIZE): Increase the size of hash table when
201         utf-2000.
202
203 2001-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
204
205         * mule-charset.c (put_char_ccs_code_point): Return canonicalized
206         value; don't store value into `encoding_table' of `Lisp_Charset'.
207         (mark_charset): `encoding_table' was deleted.
208         (charset_description): Likewise.
209         (make_charset): Likewise.
210         (Fset_charset_mapping_table): Use `Fput_char_attribute' instead of
211         `put_char_ccs_code_point'.
212
213         * chartab.h (Fput_char_attribute): New EXFUN.
214
215         * chartab.c (Fchar_attribute_alist): Name space of CCS-attributes
216         is unified with normal symbol space.
217         (Fget_char_attribute): Likewise.
218         (Fput_char_attribute): Likewise; behavior of
219         `put_char_ccs_code_point' is changed.
220
221         * char-ucs.h: Include "elhash.h".
222         (Vchar_attribute_hash_table): New external variable.
223         (struct Lisp_Charset): Delete `encoding_table'.
224         (CHARSET_ENCODING_TABLE): New implementation; refer
225         `Vchar_attribute_hash_table' instead of `encoding_table' of struct
226         `Lisp_Charset'.
227
228 2001-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
229
230         * mule-charset.c (Fcharset_property): Return Qnil if CHARSET_FINAL
231         (cs) == 0.
232
233 2001-11-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
234
235         * text-coding.c (char_encode_big5): Prefer charset-g1 than
236         `chinese-big5'.
237
238 2001-11-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
239
240         * chartab.c (uint8_byte_table_description): New constant.
241         (uint8-byte-table): Use `uint8_byte_table_description'.
242         (uint16_byte_table_description): New constant.
243         (uint16-byte-table): Use `uint16_byte_table_description'.
244
245 2001-10-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
246
247         * mule-charset.c (complex_vars_of_mule_charset): Don't use builtin
248         range MIN_CHAR_BIG5_CDP .. MAX_CHAR_BIG5_CDP.
249
250 2001-10-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
251
252         * mule-charset.c (Vcharset_ucs_ks): New variable.
253         (Qucs_ks): New variable.
254         (syms_of_mule_charset): Add new symbol `ucs-ks'.
255         (complex_vars_of_mule_charset): Add new coded-charset `ucs-ks'.
256
257         * char-ucs.h (LEADING_BYTE_UCS_KS): New macro.
258
259 2001-10-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
260
261         * chartab.h (Fmake_char): New EXFUN; moved from chartab.c.
262         (Fdecode_char): Likewise.
263
264         * chartab.c: Move EXFUN for Fmake_char and Fdecode_char into
265         chartab.h.
266         (Fdefine_char): Modify for Fdecode_char.
267         (Ffind_char): Likewise.
268
269         * mule-charset.c (Fdecode_char): Add new optional argument
270         `defined-only'.
271         (Fdecode_builtin_char): Modify for `Fdecode_char'.
272
273 2001-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
274
275         * text-coding.c (mark_coding_system): Mark initial-charset-g0 and
276         -g1 of CODESYS_BIG5 in XEmacs UTF-2000.
277         (allocate_coding_system): Initialize initial-charsets of
278         CODESYS_BIG5 in XEmacs UTF-2000.
279         (Fmake_coding_system): Accept `charset-g0' and `charset-g1' for
280         CODESYS_BIG5 in XEmacs UTF-2000.
281         (decode_coding_big5): Use initial-charset-g0 and -g1 of
282         CODESYS_BIG5 in XEmacs UTF-2000; use `DECODE_DEFINED_CHAR'.
283
284         * mule-charset.c (Vcharset_ideograph_hanziku_{1 .. 12}): New
285         variables.
286         (Qideograph_hanziku_{1 .. 12}): Likewise.
287         (syms_of_mule_charset): Add new symbols `ideograph-hanziku-{1
288         .. 12}'.
289         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' to
290         `MAX_CHAR_BIG5_CDP' for `chinese-big5'; add news coded-charsets
291         `ideograph-hanziku-{1 .. 12}'.
292
293         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x200.
294         (LEADING_BYTE_HANZIKU_{1 .. 12}): New macros.
295         ({MIN|MAX}_CHAR_BIG5_CDP): New macros.
296         ({MIN|MAX}_CHAR_HANZIKU_{1 .. 12}): New macros.
297         (DECODE_DEFINED_CHAR): New inline function.
298         (DECODE_CHAR): Use `DECODE_DEFINED_CHAR'.
299
300 2001-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
301
302         * mule-charset.c (Vcharset_china3_jef): Renamed from
303         `Vcharset_japanese_jef_china3'.
304         (Qchina3_jef): Renamed from `Qjapanese_jef_china3'.
305         (encode_builtin_char_1): Rename `{MIN|MAX}_CHAR_CHINA3_JEF' from
306         `{MIN|MAX}_CHAR_JEF_CHINA3'..
307         (syms_of_mule_charset): Rename `china3-jef' from
308         `japanese-jef-china3'.
309         (complex_vars_of_mule_charset): Likewise; rename
310         `LEADING_BYTE_CHINA3_JEF' from `LEADING_BYTE_JEF_CHINA3'.
311
312         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Renamed from
313         `LEADING_BYTE_JEF_CHINA3'.
314         (MIN_CHAR_CHINA3_JEF): Renamed from `MIN_CHAR_JEF_CHINA3'.
315         (MAX_CHAR_CHINA3_JEF): Renamed from `MAX_CHAR_JEF_CHINA3'.
316
317 2001-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
318
319         * mule-charset.c (encode_builtin_char_1): Comment out special code
320         for MIN_CHAR_MOJIKYO_0 ... MAX_CHAR_MOJIKYO_0.
321
322         * char-ucs.h (MIN_CHAR_MOJIKYO_0): Comment out.
323         (MAX_CHAR_MOJIKYO_0): Comment out.
324         (MIN_CHAR_CBETA): Changed to 0x00E20000.
325         (MAX_CHAR_CBETA): Changed to 0x00E2FFFF.
326         (MIN_CHAR_JEF_CHINA3): Changed to 0x00E80000.
327         (MAX_CHAR_JEF_CHINA3): Changed to 0x00E8FFFF.
328
329 2001-10-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
330
331         * mule-charset.c (Vcharset_ideograph_cbeta): New variable.
332         (Qideograph_cbeta): New variable.
333         (encode_builtin_char_1): Comment out special code for
334         coded-charset `mojikyo' and `japanese-jef-china3'.
335         (syms_of_mule_charset): Add new symbol `ideograph-cbeta'.
336         (complex_vars_of_mule_charset): Add new coded-charset
337         `ideograph-cbeta'.
338
339         * char-ucs.h (LEADING_BYTE_CBETA): New macro.
340         (MIN_CHAR_CBETA): New macro.
341         (MAX_CHAR_CBETA): New macro.
342
343 2001-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
344
345         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x100.
346         (LEADING_BYTE_JEF_CHINA3): New macro.
347         (MIN_CHAR_JEF_CHINA3): New macro.
348         (MAX_CHAR_JEF_CHINA3): Likewise.
349         (DECODE_CHAR): Fixed.
350
351 2001-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
352
353         * mule-charset.c (Vcharset_japanese_jef_china3): New variable.
354         (Qjapanese_jef_china3): New variable.
355         (encode_builtin_char_1): Support `japanese-jef-china3'.
356         (syms_of_mule_charset): Add new symbol `japanese-jef-china3'.
357         (complex_vars_of_mule_charset): Add new coded-charset
358         `japanese-jef-china3'.
359
360 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
361
362         * chartab.c (XCHARSET_CELL_RANGE): New inline function.
363         (decode_char_table_range): Use `XCHARSET_CELL_RANGE'; accept 94^3,
364         94^4, 96^3, 96^4, 128^n and 256^n set.
365         (put_char_table): Use `XCHARSET_CELL_RANGE'.
366         (map_char_table): Likewise.
367
368 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
369
370         * chartab.c (get_char_table): Use `get_char_id_table' in XEmacs
371         UTF-2000.
372
373 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
374
375         * chartab.h (get_char_id_table): New inline function.
376
377         * chartab.c (get_char_id_table): Moved to chartab.h as an inline
378         function.
379
380 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
381
382         * chartab.h (decode_char_table_range): New prototype in XEmacs
383         UTF-2000.
384         (put_char_id_table): New inline function in XEmacs UTF-2000.
385
386         * chartab.c (put_char_id_table): Moved to chartab.h as an inline
387         function.
388         (decode_char_table_range): Delete static declaration in XEmacs
389         UTF-2000.
390
391 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
392
393         * chartab.c (put_char_id_table): Use `put_char_table'.
394
395 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
396
397         * chartab.c (map_over_uint8_byte_table): Delete argument `ccs'.
398         (map_over_uint16_byte_table): Likewise.
399         (map_over_byte_table): Likewise.
400         (map_char_table): Modify for `map_over_uint8_byte_table',
401         `map_over_uint16_byte_table' and `map_over_byte_table' in XEmacs
402         UTF-2000.
403
404 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
405
406         * chartab.c (struct map_char_table_for_charset_arg): New
407         structure.
408         (map_char_table_for_charset_fun): New function.
409         (map_char_table): Use `map_char_table' for encoding_table of
410         `range->charset'.
411
412 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
413
414         * chartab.c (map_char_table): Check a character is found in
415         range->charset instead of non default value is defined in
416         char-table when range is CHARTAB_RANGE_ROW.
417
418 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
419
420         * chartab.c (map_char_id_table): Deleted.
421         (Fmap_char_attribute): Use `map_char_table' instead of
422         `map_char_id_table'.
423
424 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
425
426         * syntax.h (SYNTAX_CODE_UNSAFE): New implementation in XEmacs
427         UTF-2000.
428         (update_syntax_table): Deleted in XEmacs UTF-2000.
429
430         * syntax.c (find_defun_start): Use `syntax_table' instead of
431         `mirror_syntax_table' in XEmacs UTF-2000.
432         (Fset_syntax_table): Don't use `mirror_syntax_table' in XEmacs
433         UTF-2000.
434         (Fchar_syntax): Use `syntax_table' instead of `mirror_table' in
435         XEmacs UTF-2000.
436         (Fmatching_paren): Likewise.
437         (scan_words): Use `syntax_table' instead of `mirror_syntax_table'
438         in XEmacs UTF-2000.
439         (find_start_of_comment): Likewise.
440         (find_end_of_comment): Likewise.
441         (Fforward_comment): Likewise.
442         (scan_lists): Likewise.
443         (char_quoted): Likewise.
444         (Fbackward_prefix_chars): Likewise.
445         (scan_sexps_forward): Likewise.
446         (update_just_this_syntax_table): Deleted in XEmacs UTF-2000.
447         (update_syntax_table): Likewise.
448
449         * search.c (skip_chars): Use `syntax_table' instead of
450         `mirror_syntax_table' in XEmacs UTF-2000.
451         (wordify): Likewise.
452         (Freplace_match): Likewise.
453
454         * regex.c (re_compile_fastmap): Use `syntax_table' instead of
455         `mirror_syntax_table' in XEmacs UTF-2000.
456         (WORDCHAR_P_UNSAFE): Likewise.
457         (re_match_2_internal): Likewise.
458
459         * font-lock.c (find_context): Use `buf->syntax_table' instead of
460         `buf->mirror_syntax_table' in XEmacs UTF-2000.
461
462         * cmds.c (internal_self_insert): Use `buf->syntax_table' instead
463         of `buf->mirror_syntax_table' in XEmacs UTF-2000.
464
465         * chartab.h (struct Lisp_Char_Table): Delete `mirror_table' in
466         XEmacs UTF-2000.
467
468         * chartab.c (mark_char_table): Don't mark `mirror_table' in XEmacs
469         UTF-2000.
470         (print_char_table): Print `default_value' in XEmacs UTF-2000.
471         (char_table_description): Delete `mirror_table' in XEmacs
472         UTF-2000.
473         (fill_char_table): Don't call `update_syntax_table' in XEmacs
474         UTF-2000.
475         (Fmake_char_table): Don't use `mirror_table' in XEmacs UTF-2000.
476         (Fcopy_char_table): Likewise.
477         (put_char_table): Don't call `update_syntax_table' in XEmacs
478         UTF-2000.
479
480         * casefiddle.c (casify_object): Use `buf->syntax_table' instead of
481         `buf->mirror_syntax_table' in XEmacs UTF-2000.
482         (casify_region_internal): Likewise.
483
484         * bufslots.h: Delete `mirror_syntax_table' in XEmacs UTF-2000.
485
486         * buffer.c (common_init_complex_vars_of_buffer): Don't use
487         `mirror_syntax_table' in XEmacs UTF-2000.
488
489         * abbrev.c (abbrev_match): Use `buf->syntax_table' instead of
490         `buf->mirror_syntax_table' in XEmacs UTF-2000.
491         (Fexpand_abbrev): Likewise.
492
493 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
494
495         * chartab.c (vars_of_chartab): Update `utf-2000-version' to 0.18.
496
497 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
498
499         * chartab.c (map_over_uint8_byte_table): Cancel temporary hack.
500         (map_over_uint16_byte_table): Likewise.
501         (map_over_byte_table): Likewise.
502         (get_char_id_table): Refer `cit->default_value'.
503         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
504         (map_char_id_table): Use `1 << 30' instead of `1 << 24' as number
505         of character-id ranges.
506         (mark_char_table): Mark `ct->default_value'.
507         (char_table_description): Add `default_value'.
508         (fill_char_table): Use `default_value'.
509         (decode_char_table_range): Decode `nil' as
510         `CHARTAB_RANGE_DEFAULT'.
511         (get_char_id_table): Refer `cit->default_value'.
512         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
513         (map_char_table): Support `CHARTAB_RANGE_DEFAULT'; cancel
514         temporary hack; check value of char-table is bound or not.
515         (slow_map_char_table_fun): Support `CHARTAB_RANGE_DEFAULT'.
516
517         * chartab.h (struct Lisp_Char_Table): Add new member
518         `default_value' in XEmacs UTF-2000.
519         (CHAR_TABLE_VALUE_UNSAFE): Use `default_value'.
520         (enum chartab_range_type): Add `CHARTAB_RANGE_DEFAULT' in XEmacs
521         UTF-2000.
522
523 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
524
525         * chartab.h (Lisp_Char_ID_Table): Deleted.
526
527         * chartab.c (char_table_description): Fix typo.
528         (Fmap_char_attribute): Use `Lisp_Char_Table' instead of
529         `Lisp_Char_ID_Table'.
530
531 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
532
533         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_TABLEP' instead of
534         `CHAR_ID_TABLE_P'.
535
536         * mule-charset.c (remove_char_ccs): Use `CHAR_TABLEP' instead of
537         `CHAR_ID_TABLE_P'.
538
539         * chartab.h (XCHAR_ID_TABLE): Deleted.
540         (XSETCHAR_ID_TABLE): Deleted.
541         (CHAR_ID_TABLE_P): Deleted.
542
543         * chartab.c (put_char_id_table): Use `CHAR_TABLEP' instead of
544         `CHAR_ID_TABLE_P'.
545         (Fget_composite_char): Likewise.
546         (put_char_table): Likewise.
547         (add_char_attribute_alist_mapper): Fixed.
548         (Fchar_attribute_alist): Use `CHAR_TABLEP' instead of
549         `CHAR_ID_TABLE_P'.
550         (Fget_char_attribute): Likewise.
551         (Fget_char_attribute): Likewise.
552         (Fmap_char_attribute): Likewise.
553
554         * char-ucs.h (charset_code_point): Use `CHAR_TABLEP' instead of
555         `CHAR_ID_TABLE_P'.
556         (encode_char_1): Likewise.
557
558 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
559
560         * text-coding.c (COMPOSE_ADD_CHAR): Use `XCHAR_TABLE' instead of
561         `XCHAR_ID_TABLE'.
562
563         * mule-charset.c (put_char_ccs_code_point): Use `XCHAR_TABLE'
564         instead of `XCHAR_ID_TABLE'.
565         (remove_char_ccs): Likewise.
566
567         * chartab.c (put_char_id_table): Use `XCHAR_TABLE' instead of
568         `XCHAR_ID_TABLE'.
569         (Fget_composite_char): Likewise.
570         (Fchar_variants): Likewise.
571         (put_char_table): Likewise.
572         (add_char_attribute_alist_mapper): Likewise.
573         (Fchar_attribute_alist): Likewise.
574         (Fget_char_attribute): Likewise.
575         (Fput_char_attribute): Likewise.
576         (Fmap_char_attribute): Likewise.
577         (Fmap_char_attribute): Likewise.
578
579         * char-ucs.h (charset_code_point): Use `XCHAR_TABLE' instead of
580         `XCHAR_ID_TABLE'.
581         (encode_char_1): Likewise.
582
583 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
584
585         * chartab.c (map_char_id_table): Use `Lisp_Char_Table' instead of
586         `Lisp_Char_ID_Table'.
587         (mark_char_id_table): Deleted.
588         (print_char_id_table): Likewise.
589         (char_id_table_equal): Likewise.
590         (char_id_table_hash): Likewise.
591         (char_id_table_description): Likewise.
592         (char_id_table): Likewise.
593         (make_char_id_table): Use `Fmake_char_table' and
594         `fill_char_table'.
595         (get_char_id_table): Use `Lisp_Char_Table' instead of
596         `Lisp_Char_ID_Table'.
597         (put_char_id_table): Likewise.
598         (Fput_char_attribute): Use `XCHAR_TABLE' instead of
599         `XCHAR_ID_TABLE'.
600         (Fremove_char_attribute): Likewise.
601         (syms_of_chartab): Don't define type `char-id-table'.
602
603         * chartab.h (struct Lisp_Char_ID_Table): Deleted.
604         (char_id_table): Likewise.
605         (GC_CHAR_ID_TABLE_P): Likewise.
606         (Lisp_Char_ID_Table): Use structure `Lisp_Char_Table'.
607         (XCHAR_ID_TABLE): Use `XCHAR_TABLE'.
608         (XSETCHAR_ID_TABLE): Use `XSETCHAR_TABLE'.
609         (CHAR_ID_TABLE_P): Use `CHAR_TABLEP'.
610         (get_char_id_table): Use `Lisp_Char_Table' instead of
611         `Lisp_Char_ID_Table'.
612         (put_char_id_table_0): Likewise.
613         (put_char_id_table): Likewise.
614
615 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
616
617         * chartab.h: Lisp_Byte_Table related codes are moved from
618         chartab.h.
619
620         * char-ucs.h: Move Lisp_Byte_Table related codes to chartab.h.
621
622 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
623
624         * chartab.h: Don't include "chartab.h".
625         (struct Lisp_Char_ID_Table): Moved from char-ucs.h.
626         (Lisp_Char_ID_Table): Likewise.
627         (char_id_table): Likewise.
628         (XCHAR_ID_TABLE): Likewise.
629         (XSETCHAR_ID_TABLE): Likewise.
630         (CHAR_ID_TABLE_P): Likewise.
631         (GC_CHAR_ID_TABLE_P): Likewise.
632         (get_char_id_table): Likewise.
633
634         * char-ucs.h: Include "chartab.h".
635         (struct Lisp_Char_ID_Table): Moved to chartab.h.
636         (Lisp_Char_ID_Table): Likewise.
637         (char_id_table): Likewise.
638         (XCHAR_ID_TABLE): Likewise.
639         (XSETCHAR_ID_TABLE): Likewise.
640         (CHAR_ID_TABLE_P): Likewise.
641         (GC_CHAR_ID_TABLE_P): Likewise.
642         (get_char_id_table): Likewise.
643
644 2001-09-01  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
645
646         * chartab.c (copy_uint8_byte_table): New function.
647         (copy_uint16_byte_table): New function.
648         (copy_byte_table): New function.
649         (map_over_uint8_byte_table): Modify to avoid huge numbers of
650         characters to call.
651         (map_over_uint16_byte_table): Likewise.
652         (map_over_byte_table): Likewise.
653         (get_byte_table): Move prototype to chartab.h.
654         (put_byte_table): Likewise.
655         (put_char_id_table_0): Moved to chartab.h.
656         (mark_char_table_entry): Don't define in XEmacs UTF-2000.
657         (char_table_entry_equal): Likewise.
658         (char_table_entry_hash): Likewise.
659         (char_table_entry_description): Likewise.
660         (char_table_entry): Likewise.
661         (make_char_table_entry): Likewise.
662         (copy_char_table_entry): Likewise.
663         (get_non_ascii_char_table_value): Likewise.
664         (map_over_charset_ascii): Likewise.
665         (map_over_charset_control_1): Likewise.
666         (map_over_charset_row): Likewise.
667         (map_over_other_charset): Likewise.
668         (mark_char_table): Modify for new structure in XEmacs UTF-2000.
669         (print_char_table): Likewise.
670         (char_table_equal): Likewise.
671         (char_table_hash): Likewise.
672         (char_table_description): Likewise.
673         (fill_char_table): Likewise.
674         (Fcopy_char_table): Likewise.
675         (get_char_table): Likewise.
676         (Fget_range_char_table): Likewise.
677         (put_char_table): Likewise.
678         (map_char_table): Likewise.
679         (syms_of_chartab): Don't define `char_table_entry' in XEmacs
680         UTF-2000.
681
682 2001-08-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
683
684         * cmds.c (vars_of_cmds): Use `put_char_id_table_0' for
685         `Vauto_fill_chars' in XEmacs UTF-2000.
686
687         * chartab.h (get_byte_table): New prototype [moved from
688         chartab.c].
689         (put_byte_table): Likewise [moved from chartab.c].
690         (put_char_id_table_0): New inline function [moved from chartab.c].
691         (struct Lisp_Char_Table_Entry): Don't define in XEmacs UTF-2000.
692         (Lisp_Char_Table_Entry): Likewise.
693         (char_table_entry): Likewise.
694         (XCHAR_TABLE_ENTRY): Likewise.
695         (XSETCHAR_TABLE_ENTRY): Likewise.
696         (CHAR_TABLE_ENTRYP): Likewise.
697         (CHECK_CHAR_TABLE_ENTRY): Likewise.
698         (NUM_ASCII_CHARS): Likewise.
699         (struct Lisp_Char_Table): New implementation in XEmacs UTF-2000.
700         (CHAR_TABLE_VALUE_UNSAFE): Likewise.
701
702 2001-08-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
703
704         * chartab.c (get_char_id_table): Change interface.
705         (put_char_id_table_0): New function.
706         (put_char_id_table): Change interface; new implementation.
707         (Fget_composite_char): Modify for interface change of
708         `get_char_id_table'.
709         (Fchar_variants): Likewise.
710         (add_char_attribute_alist_mapper): Likewise.
711         (Fchar_attribute_alist): Likewise.
712         (Fget_char_attribute): Likewise.
713         (Fput_char_attribute): Allow coded-charset or [CODED-CHARSET ROW]
714         as same as character as the first argument like `put-char-table';
715         modify for interface change of `put_char_id_table'.
716         (Fremove_char_attribute): Modify for interface change of
717         `put_char_id_table'.
718
719 2001-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
720
721         * text-coding.c: Sync up with XEmacs 21.2.41.
722         (COMPOSE_ADD_CHAR): Modify for interface change of
723         `get_char_id_table'.
724
725         * mule-charset.c (put_char_ccs_code_point): Modify for interface
726         change of `put_char_id_table'.
727         (remove_char_ccs): Likewise.
728
729         * chartab.h (put_char_id_table): Change interface.
730
731         * char-ucs.h (get_char_id_table): Change interface.
732         (charset_code_point): Modify for interface change of
733         `get_char_id_table'.
734         (encode_char_1): Likewise.
735
736 2001-08-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
737
738         * chartab.c (map_over_uint8_byte_table): Change arguments; add new
739         argument `ccs'.
740         (map_over_uint16_byte_table): Likewise.
741         (map_over_byte_table): Likewise.
742         (map_char_id_table): Add new argument `range' like
743         `map_char_table'.
744         (Fmap_char_attribute): Add new argument `range' like
745         `Fmap_char_table'.
746
747 2001-08-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
748
749         * chartab.c (map_over_uint8_byte_table): Change interface of
750         mapping function to use struct chartab_range instead of Emchar.
751         (map_over_uint16_byte_table): Likewise.
752         (map_over_byte_table): Likewise.
753         (map_char_id_table): Likewise.
754         (struct slow_map_char_id_table_arg): Deleted.
755         (slow_map_char_id_table_fun): Deleted.
756         (Fmap_char_attribute): Use struct `slow_map_char_table_arg' and
757         function `slow_map_char_table_fun' instead of struct
758         `slow_map_char_id_table_arg' and function
759         `slow_map_char_id_table_fun'.
760
761 2001-08-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
762
763         * mule-charset.c: Move char-it-table related codes to chartab.c.
764         (Vutf_2000_version): Moved to chartab.c.
765         (Fdefine_char): Likewise.
766         (Ffind_char): Likewise.
767         (syms_of_mule_charset): Move types `uint8-byte-table',
768         `uint16-byte-table', `byte-table' and `char-id-table' to
769         chartab.c; move functions `char_attribute_list,
770         `find_char_attribute_table, `char_attribute_alist,
771         `get_char_attribute, `put_char_attribute, `remove_char_attribute,
772         `map_char_attribute, `define_char, `find_char, `char_variants and
773         `get_composite_char to chartab.c; move symbols `=>ucs',
774         `->decomposition', `compat', `isolated', `initial', `medial',
775         `final', `vertical', `noBreak', `fraction', `super', `sub',
776         `circle', `square', `wide', `narrow', `small' and `font' to
777         chartab.c.
778         (vars_of_mule_charset): Move `utf-2000-version' to chartab.c; move
779         setting codes for `Vcharacter_composition_table' and
780         `Vcharacter_variant_table' to chartab.c.
781         (complex_vars_of_mule_charset): Move setting code for
782         `Vchar_attribute_hash_table' to chartab.c.
783
784         * chartab.h: Include "char-ucs.h" if --with-utf-2000 is specified.
785         (make_char_id_table): New prototype.
786         (put_char_id_table): Likewise.
787         (Fget_char_attribute): Likewise.
788
789         * chartab.c: Move char-id-table related code from mule-charset.c.
790         (Vutf_2000_version): Moved from mule-charset.c.
791
792         * char-ucs.h (Qucs): New external variable.
793         (put_char_ccs_code_point): New prototype.
794         (remove_char_ccs): Likewise.
795
796 2001-08-14  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
797
798         * mule-charset.c (Vcharset_ucs_jis): New variable.
799         (Qucs_jis): Likewise.
800         (syms_of_mule_charset): Add new symbol `ucs-jis'.
801         (complex_vars_of_mule_charset): Add new coded-charset `ucs-jis'.
802
803         * char-ucs.h (LEADING_BYTE_UCS_JIS): New macro.
804
805 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
806
807         * mule-charset.c (map_over_uint8_byte_table): New function.
808         (map_over_uint16_byte_table): Likewise.
809         (map_over_byte_table): Likewise.
810         (map_char_id_table): Likewise.
811         (slow_map_char_id_table_fun): Likewise.
812         (Fmap_char_attribute): Likewise.
813         (syms_of_mule_charset): Add new function `map-char-attribute'.
814
815 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
816
817         * mule-charset.c (Ffind_char): New function in XEmacs UTF-2000.
818         (syms_of_mule_charset): Add new function `find-char'.
819
820 2001-08-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
821
822         * mule-charset.c (Vcharset_chinese_big5_cdp): New variable in
823         XEmacs UTF-2000.
824         (Qchinese_big5_cdp): New variable in XEmacs UTF-2000.
825         (syms_of_mule_charset): Add new symbol `chinese-big5-cdp' in
826         XEmacs UTF-2000.
827         (complex_vars_of_mule_charset): Add new coded-charset
828         `chinese-big5-cdp' in XEmacs UTF-2000; change registry of
829         `ideograph-gt-pj-*'.
830
831         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5_CDP): New macro.
832
833 2001-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
834
835         * mule-charset.c (encode_builtin_char_1): Purge codes about
836         {MIN|MAX}_CHAR_{GREEK|CYRILLIC}; comment out code about
837         {MIN|MAX}_CHAR_HEBREW.
838         (complex_vars_of_mule_charset): Comment out {MIN|MAX}_CHAR_HEBREW;
839         don't use {MIN|MAX}_CHAR_HEBREW to define `hebrew-iso8859-8'.
840
841         * char-ucs.h (MIN_CHAR_GREEK): Purged.
842         (MAX_CHAR_GREEK): Purged.
843         (MIN_CHAR_CYRILLIC): Purged.
844         (MAX_CHAR_CYRILLIC): Purged.
845         (MIN_CHAR_HEBREW): Commented out.
846         (MAX_CHAR_HEBREW): Likewise.
847
848 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
849
850         * mule-charset.c (Qto_ucs): New variable.
851         (Fput_char_attribute): Treat `=>ucs' as same as `->ucs'.
852         (Fdefine_char): Likewise.
853         (syms_of_mule_charset): Add new symbol `=>ucs'.
854
855 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
856
857         * mule-charset.c (Fdecode_char): Fixed.
858
859 2001-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
860
861         * mule-charset.c (complex_vars_of_mule_charset): Modify registry
862         of latin-tcvn5712 to accept "tcvn5712.1993-1" as same as
863         "tcvn5712-1".
864
865 2001-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
866
867         * mule-charset.c (Vcharset_ucs_big5): New variable.
868         (Qucs_big5): Likewise.
869         (syms_of_mule_charset): Add new symbol `ucs-big5'.
870         (complex_vars_of_mule_charset): Add new coded-charset `ucs-big5'.
871
872         * char-ucs.h (LEADING_BYTE_UCS_BIG5): New macro.
873
874 2001-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
875
876         * mule-charset.c (decode_builtin_char): Check Big5 code range
877         which can be mapped to `chinese-big5-1' and `chinese-big5-2'.
878
879 2001-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
880
881         * mule-charset.c (Vcharset_chinese_gb12345): New variable.
882         (Qchinese_gb12345): Likewise.
883         (Fdecode_builtin_char): Fixed.
884         (syms_of_mule_charset): Add `chinese-gb12345'.
885         (complex_vars_of_mule_charset): Add coded-charset
886         `chinese-gb12345'.
887
888         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x70.
889         (LEADING_BYTE_CHINESE_GB12345): New macro.
890
891 2001-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
892
893         * mule-charset.c (Fdecode_builtin_char): Use `latin-viscii-lower'
894         and `latin-viscii-upper' for `latin-viscii'.
895
896 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
897
898         * mule-charset.c (Fdecode_builtin_char): Comment out
899         regularization code for ISO-IR GR representation.
900
901 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
902
903         * mule-charset.c (decode_builtin_char): New function; renamed from
904         `make_builtin_char'; return -1 instead of signal.
905         (Fdecode_builtin_char): Use `decode_builtin_char'.
906
907         * char-ucs.h (decode_builtin_char): New prototype; renamed from
908         `make_builtin_char'.
909         (DECODE_CHAR): Use `decode_builtin_char' instead of
910         `make_builtin_char'; use mapping table of `chinese-big5' for
911         `chinese-big5-{1,2}'.
912
913 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
914
915         * text-coding.c (char_encode_big5): New function.
916         (char_finish_big5): Likewise.
917         (reset_encoding_stream): Use `char_encode_big5' and
918         `char_finish_big5' for CODESYS_BIG5.
919         (mule_encode): Don't use `encode_coding_big5'.
920         (encode_coding_big5): Deleted.
921
922 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
923
924         * text-coding.c (BYTE_BIG5_TWO_BYTE_1_P): Support private area
925         0x81- in XEmacs UTF-2000.
926         (detect_coding_big5): Likewise.
927
928 2001-07-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
929
930         * mule-charset.c (Fdefine_char): Don't use a CCS property to
931         generate character-id if the CCS property does not have
932         corresponding predefined character.
933         (make_builtin_char): Return -1 if corresponding predefined
934         character is not found.
935         (Fdecode_char): Return nil if corresponding character is not
936         found.
937         (complex_vars_of_mule_charset): Change `ucs-cns' to 256^3-set and
938         don't map to builtin ucs space.
939
940 2001-07-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
941
942         * char-ucs.h (MAX_LEADING_BYTE_PRIVATE): Fixed.
943         (MAX_CHAR_GT): Changed to `(MIN_CHAR_GT + 66773)'.
944
945 2001-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
946
947         * mule-charset.c (Vcharset_ideograph_gt): New variable.
948         (Vcharset_ideograph_gt_pj_{1..11}): Likewise.
949         (Qideograph_gt): Likewise.
950         (Qideograph_gt_pj_{1..11}): Likewise.
951         (syms_of_mule_charset): Add `ideograph-gt', `ideograph-gt-pj-1',
952         `ideograph-gt-pj-2', ..., `ideograph-gt-pj-10' and
953         `ideograph-gt-pj-11'.
954         (complex_vars_of_mule_charset): Add coded-charset `ideograph-gt',
955         `ideograph-gt-pj-1', `ideograph-gt-pj-2', ...,
956         `ideograph-gt-pj-10' and `ideograph-gt-pj-11'.
957
958         * char-ucs.h (LEADING_BYTE_GT): New macro.
959         (LEADING_BYTE_GT_PJ_{1..11}): Likewise.
960         (MIN_CHAR_GT): Likewise.
961         (MAX_CHAR_GT): Likewise.
962
963 2001-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
964
965         * lisp-disunion.h (XCHARVAL): New implementation for UTF-2000 to
966         support U-60000000 .. U-7FFFFFFF with 32 bits architecture.
967
968         * doprnt.c (unsigned_int_converters): Add `c'.
969         (emacs_doprnt_1): Use `XUINT' for unsigned integers.
970
971         * char-ucs.h (MIN_CHAR_DAIKANWA): Don't refer `MIN_CHAR_MOJIKYO'.
972         (MAX_CHAR_DAIKANWA): Refer `MIN_CHAR_DAIKANWA' instead of
973         `MIN_CHAR_MOJIKYO'.
974         (MIN_CHAR_MOJIKYO_0): New macro; refer `MIN_CHAR_DAIKANWA'.
975         (MAX_CHAR_MOJIKYO_0): New macro.
976         (MIN_CHAR_MOJIKYO): Changed to 0x60000000.
977
978 2001-06-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
979
980         * mule-charset.c (Fdefine_char): Delete cemented out code.
981         (encode_builtin_char_1): Modify for new allocation of builtin
982         Mojikyo characters.
983
984         * lisp-disunion.h (XCHARVAL): Cast the argument into EMACS_UINT.
985
986 2001-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
987
988         * mule-charset.c (Vcharset_ucs_cns): New variable.
989         (Qucs_cns): New variable.
990         (syms_of_mule_charset): Add new symbol `ucs-cns'.
991         (complex_vars_of_mule_charset): Add new coded-charset `ucs-cns'.
992
993 2001-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
994
995         * char-ucs.h (LEADING_BYTE_UCS_CNS): New macro.
996
997 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
998
999         * search.c (search_buffer): Make `charset_base_code' as
1000         character-id >> 6 to eliminate the corresponding last byte in
1001         UTF-8 representation [I'm not sure it is right thing].
1002         (boyer_moore): Likewise.
1003
1004 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
1005
1006         * emacs.c (vars_of_emacs): Convert XEMACS_CODENAME to internal
1007         representation in MULE.
1008
1009 2000-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1010
1011         * text-coding.c (Fmake_coding_system): Use
1012         `EXTERNAL_PROPERTY_LIST_LOOP_3' instead of
1013         `EXTERNAL_PROPERTY_LIST_LOOP'.
1014
1015 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1016
1017         * text-coding.c (decode_output_utf8_partial_char): New function.
1018         (decode_coding_utf8): Use `decode_output_utf8_partial_char'.
1019
1020 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1021
1022         * text-coding.c (decode_coding_utf8): Output original byte
1023         sequence if it is broken; change order of conditions.
1024
1025         * mb-utf-8.h (REP_BYTES_BY_FIRST_BYTE): Use Bufbyte; reverse order
1026         of conditions.
1027
1028         * mb-multibyte.h (BYTE_ASCII_P):
1029         Use bit ops for char-signedness safety.
1030         (BYTE_C0_P): Use bit ops for char-signedness safety.
1031         (BYTE_C1_P): Use bit ops for char-signedness safety.
1032
1033         * character.h: (XCHAR_OR_CHAR_INT):
1034         Always use inline function.
1035         Remove redundant type checking assert() - XINT will abort quite
1036         nicely.
1037
1038 2000-11-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1039
1040         * text-coding.c: (Fencode_shift_jis_char):
1041         (Fencode_big5_char):
1042         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
1043         Replace 0 with '\0' when working with bytes.
1044         Replace initial "(" with "\(" in docstrings.
1045
1046         (Fmake_coding_system):
1047         When type is ccl and value is vector, register it with a proper
1048         symbol.  And checks whether the given ccl program is valid.
1049         (mule_decode): When calling ccl_driver, if src indicates
1050         NULL pointer, set an empty string instead.
1051         (mule_encode): Likewise.
1052
1053         (detect_eol_type):
1054         (detect_coding_sjis):
1055         (decode_coding_sjis):
1056         (detect_coding_big5):
1057         (decode_coding_big5):
1058         (detect_coding_ucs4):
1059         (decode_coding_ucs4):
1060         (detect_coding_utf8):
1061         (decode_coding_utf8):
1062         (detect_coding_iso2022):
1063         (decode_coding_iso2022):
1064         (decode_coding_no_conversion):
1065         (mule_decode):
1066         Make all detecting and decoding functions take an Extbyte * arg.
1067         (text_encode_generic):
1068         (encode_coding_big5):
1069         (encode_coding_no_conversion):
1070         (mule_encode):
1071         Make all encoding functions take a Bufbyte * arg.
1072         Use size_t instead of unsigned int for memory sizes.
1073         Only cast to unsigned char whenever dereferencing Extbyte *.
1074
1075         (struct lrecord_description fcd_description_1): Use countof.
1076         (complex_vars_of_file_coding):
1077         Use countof instead of sizeof.
1078         Use CHECK_NATNUM instead of CHECK_INT.
1079
1080 2000-11-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1081
1082         * mule-charset.c (Fget_char_attribute): Add new optional argument
1083         `default-value'.
1084         (put_char_ccs_code_point): Modify for `Fget_char_attribute'.
1085         (remove_char_ccs): Likewise.
1086
1087 2000-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1088
1089         * text-coding.c (char_encode_shift_jis): New implementation in
1090         UTF-2000.
1091         (decode_coding_big5): Use `DECODE_CHAR (Vcharset_chinese_big5,
1092         ...)'.
1093
1094         * mule-charset.c (Vcharset_chinese_big5): New variable in
1095         UTF-2000.
1096         (Qchinese_big5): New variable in UTF-2000.
1097         (BIG5_SAME_ROW): New macro in UTF-2000.
1098         (make_builtin_char): Use builtin characters of
1099         `Vcharset_chinese_big5_1' and `Vcharset_chinese_big5_2' as builtin
1100         characters of `Vcharset_chinese_big5'.
1101         (syms_of_mule_charset): Add new symbol `chinese-big5' in UTF-2000.
1102         (complex_vars_of_mule_charset): Add new coded-charset
1103         `chinese-big5' in UTF-2000.
1104
1105         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5): New macro.
1106         (Vcharset_chinese_big5): New external variable declaration.
1107         (Vcharset_japanese_jisx0208_1990): Likewise.
1108
1109 2000-07-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1110
1111         * mule-charset.c (expand_uint8_byte_table_to_uint16): New
1112         function.
1113         (put_byte_table): Use `expand_uint8_byte_table_to_uint16'.
1114
1115 2000-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1116
1117         * mule-charset.c (complex_vars_of_mule_charset): Define new macro
1118         `DEF_MOJIKYO_PJ' in UTF-2000; use `DEF_MOJIKYO_PJ' to define
1119         `mojikyo-pj-*'; add "MojikyoPJ-*" to charset-registry of
1120         `mojikyo-pj-*'.
1121
1122 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1123
1124         * text-coding.c (decode_coding_big5): Modify for UTF-2000.
1125
1126 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1127
1128         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1129         to 0.17.
1130
1131 2000-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1132
1133         * file-coding.c (ucs_to_char): Don't use `CHARSET_TYPE_*'; modify
1134         for `CHARSET_BY_ATTRIBUTES'.
1135         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
1136         `CHARSET_BY_ATTRIBUTES'.
1137
1138         * text-coding.c (struct decoding_stream): Rename member `CH' to
1139         `CPOS'.
1140         (reset_decoding_stream): Use `str->cpos' instead of `str->ch'.
1141         (decode_coding_sjis): Likewise.
1142         (decode_coding_big5): Likewise.
1143         (decode_coding_ucs4): Likewise.
1144         (decode_coding_utf8): Likewise.
1145         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
1146         `CHARSET_BY_ATTRIBUTES'.
1147         (decode_coding_iso2022): Use `str->cpos' instead of `str->ch'; use
1148         `str->counter'; decode 3, 4 bytes sets.
1149         (char_encode_iso2022): Don't use `BREAKUP_CHAR'; encode 3, 4 bytes
1150         sets.
1151         (decode_coding_no_conversion): Use `str->cpos' instead of
1152         `str->ch'.
1153
1154         * mule-charset.c (Vcharset_mojikyo_2022_1): New variable.
1155         (Qmojikyo_2022_1): New variable.
1156         (make_charset): Don't use `CHARSET_TYPE_*'.
1157         (range_charset_code_point): Support coded-charset
1158         `mojikyo-2022-1'.
1159         (encode_builtin_char_1): Modify for `CHARSET_BY_ATTRIBUTES'.
1160         (Fmake_charset): Don't use `CHARSET_TYPE_*'; modify for
1161         `CHARSET_BY_ATTRIBUTES'.
1162         (Fcharset_from_attributes): Don't use `CHARSET_TYPE_*'; modify for
1163         `CHARSET_BY_ATTRIBUTES'.
1164         (syms_of_mule_charset): Add new symbol `mojikyo-2022-1'.
1165         (complex_vars_of_mule_charset): Add new coded-charset
1166         `mojikyo-2022-1'.
1167
1168         * mule-charset.h (CHARSET_BY_ATTRIBUTES): New implementation and
1169         interface; changed to inline function.
1170
1171         * char-ucs.h (Vcharset_mojikyo_2022_1): New variable.
1172         (LEADING_BYTE_MOJIKYO_2022_1): New macro.
1173         (LEADING_BYTE_MOJIKYO_2022_2): New macro.
1174         (CHARSET_TYPE_94): Deleted.
1175         (CHARSET_TYPE_94X94): Deleted.
1176         (CHARSET_TYPE_96): Deleted.
1177         (CHARSET_TYPE_96X96): Deleted.
1178         (CHARSET_TYPE_128): Deleted.
1179         (CHARSET_TYPE_128X128): Deleted.
1180         (CHARSET_TYPE_256): Deleted.
1181         (CHARSET_TYPE_256X256): Deleted.
1182         (CHARSET_BY_ATTRIBUTES): New implementation and interface; changed
1183         to inline function.
1184         (DECODE_MOJIKYO_2022): New inline function.
1185         (DECODE_CHAR): Use `DECODE_MOJIKYO_2022'; decode
1186         `Vcharset_mojikyo_2022_1'.
1187
1188 2000-07-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1189
1190         * mule-charset.c (byte_table_same_value_p): Use `internal_equal'
1191         instead of `EQ'.
1192         (put_byte_table): Likewise.
1193         (char_id_table_equal): Use `get_byte_table' [new implementation].
1194
1195 2000-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1196
1197         * mule-charset.c: Include <limits.h> in UTF-2000.
1198         (BT_UINT8_MIN): New macro in UTF-2000.
1199         (BT_UINT8_MAX): New macro in UTF-2000.
1200         (BT_UINT8_t): New macro in UTF-2000.
1201         (BT_UINT8_nil): New macro in UTF-2000.
1202         (BT_UINT8_unbound): New macro in UTF-2000.
1203         (INT_UINT8_P): New inline function in UTF-2000.
1204         (UINT8_VALUE_P): New inline function in UTF-2000.
1205         (UINT8_ENCODE): New inline function in UTF-2000.
1206         (UINT8_DECODE): New inline function in UTF-2000.
1207         (mark_uint8_byte_table): New function in UTF-2000.
1208         (print_uint8_byte_table): New function in UTF-2000.
1209         (uint8_byte_table_equal): New function in UTF-2000.
1210         (uint8_byte_table_hash): New function in UTF-2000.
1211         (make_uint8_byte_table): New function in UTF-2000.
1212         (uint8_byte_table_same_value_p): New function in UTF-2000.
1213         (BT_UINT16_MIN): New macro in UTF-2000.
1214         (BT_UINT16_MAX): New macro in UTF-2000.
1215         (BT_UINT16_t): New macro in UTF-2000.
1216         (BT_UINT16_nil): New macro in UTF-2000.
1217         (BT_UINT16_unbound): New macro in UTF-2000.
1218         (INT_UINT16_P): New inline function in UTF-2000.
1219         (UINT16_VALUE_P): New inline function in UTF-2000.
1220         (UINT16_ENCODE): New inline function in UTF-2000.
1221         (UINT16_DECODE): New inline function in UTF-2000.
1222         (UINT8_TO_UINT16): New inline function in UTF-2000.
1223         (mark_uint16_byte_table): New function in UTF-2000.
1224         (print_uint16_byte_table): New function in UTF-2000.
1225         (uint16_byte_table_equal): New function in UTF-2000.
1226         (uint16_byte_table_hash): New function in UTF-2000.
1227         (make_uint16_byte_table): New function in UTF-2000.
1228         (uint16_byte_table_same_value_p): New function in UTF-2000.
1229         (print_byte_table): New function in UTF-2000.
1230         (byte-table): Use `print_byte_table' as printer.
1231         (make_byte_table): Delete second argument `older'.
1232         (byte_table_same_value_p): New function in UTF-2000.
1233         (copy_byte_table): Deleted.
1234         (get_byte_table): New function in UTF-2000.
1235         (put_byte_table): New function in UTF-2000.
1236         (print_char_id_table): New function in UTF-2000.
1237         (char-id-table): Use `print_char_id_table' as printer.
1238         (make_char_id_table): Delete second argument `older'.
1239         (get_char_id_table): Use `get_byte_table [new implementation].
1240         (put_char_id_table): Use `get_byte_table and `put_byte_table' [new
1241         implementation].
1242         (Ffind_char_attribute_table): New function in UTF-2000.
1243         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
1244         (syms_of_mule_charset): Add LRECORD_IMPLEMENTATION
1245         `uint8_byte_table' and `uint16_byte_table' in UTF-2000.
1246         (syms_of_mule_charset): Add new function
1247         `find-char-attribute-table' in UTF-2000.
1248
1249         * lrecord.h (enum lrecord_type): Add
1250         `lrecord_type_uint16_byte_table' and
1251         `lrecord_type_uint8_byte_table'.
1252
1253         * char-ucs.h (struct Lisp_Uint8_Byte_Table): New structure.
1254         (Lisp_Uint8_Byte_Table): New type.
1255         (XUINT8_BYTE_TABLE): New macro.
1256         (XSETUINT8_BYTE_TABLE): New macro.
1257         (UINT8_BYTE_TABLE_P): New macro.
1258         (GC_UINT8_BYTE_TABLE_P): New macro.
1259         (struct Lisp_Uint16_Byte_Table): New structure.
1260         (Lisp_Uint16_Byte_Table): New type.
1261         (XUINT16_BYTE_TABLE): New macro.
1262         (XSETUINT16_BYTE_TABLE): New macro.
1263         (UINT16_BYTE_TABLE_P): New macro.
1264         (GC_UINT16_BYTE_TABLE_P): New macro.
1265
1266 2000-07-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1267
1268         * mule-charset.c (Vcharacter_ideographic_radical_table): Deleted.
1269         (Vcharacter_ideographic_strokes_table): Deleted.
1270         (Vcharacter_total_strokes_table): Deleted.
1271         (Vcharacter_morohashi_daikanwa_table): Deleted.
1272         (Vcharacter_decomposition_table): Deleted.
1273         (Qname): Deleted because it is duplicated.
1274         (Qideographic_radical): Deleted.
1275         (Qideographic_strokes): Deleted.
1276         (Qtotal_strokes): Deleted.
1277         (Qmorohashi_daikanwa): Deleted.
1278         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' for
1279         `ideographic-radical', `ideographic-strokes', `total-strokes',
1280         `morohashi-daikanwa' and `->decomposition'.
1281         (Fget_char_attribute): Likewise.
1282         (Fput_char_attribute): Likewise; use `make-vector' instead of
1283         `make_older_vector' for `->decomposition' value.
1284         (Fdefine_char): Comment out code to check `morohashi-daikanwa' and
1285         `ideograph-daikanwa'.
1286         (syms_of_mule_charset): Delete builtin symbols `name',
1287         `ideographic-radical', `ideographic-strokes', `total-strokes' and
1288         `morohashi-daikanwa'.
1289         (vars_of_mule_charset): Don't setup
1290         `Vcharacter_ideographic_radical_table',
1291         `Vcharacter_ideographic_strokes_table',
1292         `Vcharacter_total_strokes_table',
1293         `Vcharacter_morohashi_daikanwa_table' and
1294         `Vcharacter_decomposition_table'.
1295
1296 2000-06-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1297
1298         * alloc.c: Use `HAVE_GGC' instead of `UTF2000' for
1299         `make_older_vector', `make_vector_newer_1' and
1300         `make_vector_newer'.
1301
1302         * lisp.h: Use `HAVE_GGC' instead of `UTF2000' for
1303         `make_older_vector' and `make_vector_newer'.
1304
1305         * config.h.in (HAVE_GGC): New macro.
1306
1307 2000-06-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1308
1309         * mule-charset.c (struct char_attribute_list_closure): New
1310         structure in UTF-2000.
1311         (add_char_attribute_to_list_mapper): New function in UTF-2000.
1312         (Fchar_attribute_list): Likewise.
1313         (Fset_charset_mapping_table): Use `make_vector_newer'.
1314         (Fdecode_builtin_char): New function in UTF-2000.
1315         (syms_of_mule_charset): Add new function `char-attribute-list' and
1316         `decode-builtin-char' in UTF-2000.
1317
1318         * lisp.h (make_vector_newer): New prototype.
1319
1320         * alloc.c (make_vector_newer_1): New function.
1321         (make_vector_newer): New function.
1322
1323 2000-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1324
1325         * char-ucs.h (MAX_CHAR_DAIKANWA): Changed to `(MIN_CHAR_MOJIKYO +
1326         50100)'.
1327
1328 2000-06-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1329
1330         * mule-charset.c (Vchar_attribute_hash_table): New variable.
1331         (Vcharacter_attribute_table): Deleted.
1332         (Vcharacter_name_table): Deleted.
1333         (put_char_attribute): Deleted.
1334         (remove_char_attribute): Deleted.
1335         (struct char_attribute_alist_closure): New structure.
1336         (add_char_attribute_alist_mapper): New function.
1337         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' instead
1338         of `Vcharacter_attribute_table' and `Vcharacter_name_table'.
1339         (Fget_char_attribute): Likewise.
1340         (Fput_char_attribute): Likewise.
1341         (Fremove_char_attribute): Use `Vchar_attribute_hash_table' instead
1342         of `remove_char_attribute'.
1343         (Fdefine_char): Return character.
1344         (vars_of_mule_charset): Don't setup `Vcharacter_attribute_table'
1345         and `Vcharacter_name_table'.
1346         (complex_vars_of_mule_charset): Likewise
1347         `Vchar_attribute_hash_table'.
1348
1349 2000-06-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1350
1351         * character.h (CHARC_CHARSET): New macro.
1352         (CHARC_CHARSET_ID): New macro.
1353         (CHARC_CODE_POINT): New macro.
1354         (CHARC_COLUMNS): New macro.
1355         (CHARC_TO_CHAR): New inline function.
1356         (CHARC_EQ): New inline function.
1357         (CHARC_ASCII_EQ): New inline function.
1358         (CHARC_IS_SPACE): New inline function.
1359         (ASCII_TO_CHARC): New inline function.
1360
1361         * char-ucs.h (encode_char_2): Deleted.
1362         (ENCODE_CHAR): Use `encode_char_1' again.
1363         (breakup_char_1): Likewise.
1364         (CHAR_TO_CHARC): New inline function.
1365
1366         * char-lb.h, char-1byte.h (CHAR_TO_CHARC): New inline function.
1367
1368 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1369
1370         * redisplay.c (add_emchar_rune): Use `ASCII_TO_CHARC',
1371         `CHAR_TO_CHARC' and `CHARC_CHARSET'.
1372         (create_text_block): Use `CHARC_ASCII_EQ' and `CHARC_IS_SPACE'.
1373         (generate_formatted_string_db): Use `CHARC_TO_CHAR'.
1374         (create_string_text_block): Use `CHARC_ASCII_EQ' and
1375         `CHARC_IS_SPACE'.
1376         (pixel_to_glyph_translation): Use `CHARC_ASCII_EQ'.
1377
1378         * redisplay-x.c (separate_textual_runs): Use `CHARC_CHARSET' and
1379         `CHARC_CODE_POINT'.
1380         (x_output_display_block): Use `CHARC_CHARSET' and
1381         `CHARC_ASCII_EQ'.
1382
1383         * redisplay-tty.c (tty_output_display_block): Use
1384         `CHARC_ASCII_EQ'.
1385         (tty_output_display_block): Likewise; use `ASCII_TO_CHARC'.
1386
1387         * redisplay-output.c (compare_runes): Use `CHARC_EQ'.
1388
1389         * insdel.c (find_charsets_in_charc_string): Use
1390         `CHARC_CHARSET_ID'.
1391         (charc_string_displayed_columns): Use `CHARC_COLUMNS'.
1392         (convert_bufbyte_string_into_charc_dynarr): Use `CHAR_TO_CHARC'.
1393         (convert_charc_string_into_bufbyte_dynarr): Use `CHARC_TO_CHAR'.
1394         (convert_charc_string_into_malloced_string): Likewise.
1395
1396 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1397
1398         * toolbar-x.c (x_output_toolbar_button): Use <Charc_dynarr *>
1399         instead of <Emchar_dynarr *> for buf; use
1400         `convert_bufbyte_string_into_charc_dynarr' instead of
1401         `convert_bufbyte_string_into_emchar_dynarr'; use
1402         `find_charsets_in_charc_string' instead of
1403         `find_charsets_in_emchar_string'.
1404
1405         * redisplay.h:
1406         - Include "character.h".
1407         (struct rune): New member `cglyph'; delete member `chr'.
1408
1409         * redisplay.c (redisplay_text_width_charc_string): New function;
1410         delete `redisplay_text_width_emchar_string'.
1411         (rtw_charc_dynarr): New variable; renamed from
1412         `rtw_emchar_dynarr'.
1413         (redisplay_text_width_string): Use `rtw_charc_dynarr' instead of
1414         `rtw_emchar_dynarr'; use
1415         `convert_bufbyte_string_into_charc_dynarr' instead of
1416         `convert_bufbyte_string_into_emchar_dynarr'; use
1417         `redisplay_text_width_charc_string' instead of
1418         `redisplay_text_width_emchar_string'.
1419         (redisplay_frame_text_width_string): Use `rtw_charc_dynarr'
1420         instead of `rtw_emchar_dynarr'; use
1421         `convert_bufbyte_string_into_charc_dynarr' instead of
1422         `convert_bufbyte_string_into_emchar_dynarr'.
1423         (add_emchar_rune): Add <Charc> instead of <Emchar>; use
1424         `redisplay_text_width_charc_string' instead of
1425         `redisplay_text_width_emchar_string'.
1426         (create_text_block): Modify for <struct rune> change.
1427         (generate_formatted_string_db): Likewise.
1428         (create_string_text_block): Likewise.
1429         (pixel_to_glyph_translation): Likewise.
1430
1431         * redisplay-x.c (separate_textual_runs): Use <const Charc *>
1432         instead of <const Emchar *>.
1433         (x_text_width): Likewise.
1434         (x_output_display_block): Use <Charc_dynarr *> instead
1435         <Emchar_dynarr *>; modify for <structure rune> change.
1436         (x_output_string): Use <Charc_dynarr *> instead of <Emchar_dynarr
1437         *>.
1438
1439         * redisplay-tty.c (tty_text_width): Use <const Charc *> instead of
1440         <const Emchar *>; use `charc_string_displayed_columns' instead of
1441         `emchar_string_displayed_columns'.
1442         (tty_output_display_block): Use <Charc_dynarr *> instead of
1443         <Emchar_dynarr *> for buf; modify for <structure rune> change; use
1444         `tty_output_charc_dynarr' instead of `tty_output_emchar_dynarr'.
1445         (tty_output_charc_dynarr_dynarr): New variable; renamed from
1446         `tty_output_emchar_dynarr_dynarr'.
1447         (tty_output_charc_dynarr): New function; delete
1448         `tty_output_charc_dynarr'.
1449
1450         * redisplay-output.c (compare_runes): Modify for `struct rune'.
1451         (redisplay_output_layout): Use <Charc_dynarr *> instead of
1452         <Emchar_dynarr *> for buf; use
1453         `convert_bufbyte_string_into_charc_dynarr' instead of
1454         `convert_bufbyte_string_into_emchar_dynarr'.
1455
1456         * frame.c (title_string_charc_dynarr): New variable; renamed from
1457         `title_string_emchar_dynarr'.
1458         (generate_title_string): Use `title_string_charc_dynarr' instead
1459         of `title_string_emchar_dynarr'; use
1460         `convert_charc_string_into_malloced_string' instead of
1461         `convert_emchar_string_into_malloced_string'.
1462         (init_frame): Use `title_string_charc_dynarr' instead of
1463         `title_string_emchar_dynarr'.
1464
1465         * console.h:
1466         - Include "character.h".
1467         (struct console_methods): Use <const Charc *> instead of <const
1468         Emchar *> in `text_width_method'; use <Charc_dynarr *> instead of
1469         <Emchar_dynarr *> in output_string_method.
1470
1471         * console-x.h (x_output_string): Use <Charc_dynarr *> instead of
1472         <Emchar_dynarr *>.
1473
1474         * console-stream.c (stream_text_width): Use <const Charc *>
1475         instead of <const Emchar *>.
1476
1477         * character.h (Charc_dynarr): New type.
1478
1479         * char-ucs.h (structure Charc): New structure; define new type
1480         `Charc'.
1481
1482         * char-lb.h (DECODE_CHAR): New inline function.
1483         (encode_char_1): New inline function.
1484         (ENCODE_CHAR): New macro.
1485         (structure Charc): New structure; define new type `Charc'.
1486
1487         * char-1byte.h (Vcharset_control_1): New macro.
1488         (Vcharset_latin_iso8859_1): New macro.
1489         (DECODE_CHAR): New inline function.
1490         (encode_char_1): New inline function.
1491         (ENCODE_CHAR): New macro.
1492         (structure Charc): New structure; define new type `Charc'.
1493
1494         * insdel.c (find_charsets_in_charc_string): New function; delete
1495         `find_charsets_in_emchar_string'.
1496         (charc_string_displayed_columns): New function; delete
1497         `emchar_string_displayed_columns'.
1498         (convert_bufbyte_string_into_charc_dynarr): New function; delete
1499         `convert_bufbyte_string_into_emchar_dynarr'.
1500         (convert_charc_string_into_bufbyte_dynarr): New function; delete
1501         `convert_charc_string_into_bufbyte_dynarr'.
1502         (convert_charc_string_into_malloced_string): New function; delete
1503         `convert_charc_string_into_malloced_string'.
1504
1505         * buffer.h (find_charsets_in_charc_string): New prototype; delete
1506         `find_charsets_in_emchar_string'.
1507         (charc_string_displayed_columns): New prototype; delete
1508         `emchar_string_displayed_columns'.
1509         (convert_charc_string_into_bufbyte_dynarr): New prototype; delete
1510         `convert_charc_string_into_bufbyte_dynarr'.
1511         (convert_charc_string_into_malloced_string): New prototype; delete
1512         `convert_charc_string_into_malloced_string'.
1513
1514 2000-06-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1515
1516         * select-x.c (Fx_store_cutbuffer_internal): Modify for UTF-2000.
1517
1518 2000-06-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1519
1520         * chartab.h (get_non_ascii_char_table_value): Use <Charset_ID>.
1521
1522         * char-ucs.h: Use <short> for <Charset_ID>.
1523
1524         * mule-charset.h, char-1byte.h: Use <unsigned char> for
1525         <Charset_ID>.
1526
1527 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1528
1529         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1530         to 0.16.
1531
1532 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1533
1534         * mule-charset.c (Vcharacter_morohashi_daikanwa_table): New
1535         variable.
1536         (Qmorohashi_daikanwa): New variable.
1537         (Fchar_attribute_alist): Use `Vcharacter_morohashi_daikanwa_table'
1538         for `morohashi-daikanwa' attribute.
1539         (Fget_char_attribute): Likewise.
1540         (Fput_char_attribute): Likewise.
1541         (Fdefine_char): Don't setup `morohashi-daikanwa' attribute if it
1542         has the same value of `ideograph-daikanwa'.
1543         (syms_of_mule_charset): Add new symbol `morohashi-daikanwa'.
1544         (vars_of_mule_charset): Setup
1545         `Vcharacter_morohashi_daikanwa_table'.
1546
1547 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1548
1549         * mule-charset.c (Fchar_attribute_alist): Add coded-charset
1550         attributes.
1551         (add_charset_to_list_mapper): Add `key' instead of
1552         `XCHARSET_NAME (value)' to return aliases.
1553
1554 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1555
1556         * mule-charset.c (Vcharacter_ideographic_radical_table): New
1557         variable.
1558         (Vcharacter_ideographic_strokes_table): New variable.
1559         (Qideographic_radical): New variable.
1560         (Qideographic_strokes): New variable.
1561         (Fchar_attribute_alist): Use
1562         `Vcharacter_ideographic_radical_table' for `ideographic-radical'
1563         attribute; use `Vcharacter_ideographic_strokes_table' for
1564         `ideographic-strokes' attribute.
1565         (Fget_char_attribute): Likewise.
1566         (Fput_char_attribute): Likewise.
1567         (syms_of_mule_charset): Add new symbol `ideographic-radical' and
1568         `ideographic-strokes'.
1569         (vars_of_mule_charset): Setup
1570         `Vcharacter_ideographic_radical_table' and
1571         `Vcharacter_ideographic_strokes_table'.
1572
1573 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1574
1575         * mule-charset.c (Vcharacter_total_strokes_table): New variable.
1576         (Qtotal_strokes): New variable.
1577         (Fchar_attribute_alist): Use `Vcharacter_total_strokes_table' for
1578         `total-strokes' attribute.
1579         (Fget_char_attribute): Likewise.
1580         (Fput_char_attribute): Likewise.
1581         (syms_of_mule_charset): Add new symbol `total-strokes'.
1582         (vars_of_mule_charset): Setup `Vcharacter_total_strokes_table'.
1583
1584 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1585
1586         * mule-charset.c (Vcharacter_decomposition_table): New variable.
1587         (Fchar_attribute_alist): Add `name' and `->decomposition' if they
1588         are found.
1589         (Fget_char_attribute): Use `Vcharacter_decomposition_table' for
1590         `->decomposition' attribute.
1591         (Fput_char_attribute): Likewise.
1592         (vars_of_mule_charset): Setup `Vcharacter_decomposition_table'.
1593
1594 2000-06-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1595
1596         * mule-charset.c (decoding_table_check_elements): New function.
1597         (Fset_charset_mapping_table): Use `decoding_table_check_elements'.
1598
1599 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1600
1601         * mule-charset.c (Fset_charset_mapping_table): Use
1602         `put_char_ccs_code_point'.
1603
1604 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1605
1606         * mule-charset.c (decoding_table_put_char): New inline function.
1607         (put_char_ccs_code_point): Use `decoding_table_put_char'.
1608
1609 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1610
1611         * mule-charset.c (CHARSET_BYTE_SIZE): New inline function.
1612         (XCHARSET_BYTE_SIZE): New macro.
1613         (decoding_table_remove_char): New inline function.
1614         (put_char_ccs_code_point): Use `XCHARSET_BYTE_SIZE'; use
1615         `decoding_table_remove_char'.
1616         (remove_char_ccs): Use `decoding_table_remove_char'.
1617         (Fset_charset_mapping_table): Use `CHARSET_BYTE_SIZE'.
1618
1619 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1620
1621         * mule-charset.c (Vcharacter_name_table): New variable.
1622         (Qname): New variable.
1623         (Fget_char_attribute): Use `Vcharacter_name_table' for `name'
1624         attribute.
1625         (Fput_char_attribute): Use function `put_char_ccs_code_point'; use
1626         `Vcharacter_name_table' for `name' attribute.
1627         (Fremove_char_attribute): Use function `remove_char_ccs'.
1628         (put_char_ccs_code_point): New function.
1629         (remove_char_ccs): New function.
1630         (syms_of_mule_charset): Add new symbol `name'.
1631         (vars_of_mule_charset): Setup `Vcharacter_name_table'.
1632
1633 2000-05-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1634
1635         * mule-charset.c (make_byte_table): Add new argument `older'.
1636         (make_char_id_table): Likewise.
1637         (copy_char_id_table): Comment out because it is not used.
1638         (put_char_id_table): Modify for `make_byte_table'.
1639         (Fput_char_attribute): Make encoding_table as older object;
1640         inherit older bit of `Vcharacter_composition_table'.
1641         (mark_charset): Don't mark `cs->encoding_table'.
1642         (vars_of_mule_charset): Make `Vcharacter_attribute_table' as a
1643         normal object; make `Vcharacter_composition_table' as an older
1644         object; delete staticpro for `Vcharacter_composition_table'; make
1645         `Vcharacter_variant_table' as a normal object.
1646
1647         * alloc.c (alloc_older_lcrecord): New function in UTF-2000.
1648         (mark_object): Don't check older object in UTF-2000.
1649
1650         * lrecord.h (struct lrecord_header): Add new member `older' in
1651         UTF-2000.
1652         (set_lheader_implementation): Setup `SLI_header->older' in
1653         UTF-2000.
1654         (set_lheader_older_implementation): New macro in UTF-2000.
1655         (OLDER_RECORD_P): New macro in UTF-2000.
1656         (OLDER_RECORD_HEADER_P): New macro in UTF-2000.
1657         (alloc_older_lcrecord): New prototype in UTF-2000.
1658         (alloc_older_lcrecord_type): New macro in UTF-2000.
1659
1660 2000-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1661
1662         * mule-charset.c (byte_table_description): Use
1663         `XD_LISP_OBJECT_ARRAY' instead of `XD_LISP_OBJECT'.
1664         (char_id_table_description): Delete bogus `, 1'.
1665         (Fget_char_attribute): Refer encoding_table of each coded-charset
1666         to get value of coded-charset attribute of a character.
1667         (Fput_char_attribute): Use `make_older_vector' instead of
1668         `make_vector'; use encoding_table of each coded-charset to store
1669         value of coded-charset attribute of a character.
1670         (Fremove_char_attribute): Use encoding_table of each coded-charset
1671         to store value of coded-charset attribute of a character.
1672         (mark_charset): Mark `cs->encoding_table'; don't mark
1673         `cs->decoding_table'.
1674         (charset_description): Add description of new member
1675         `encoding_table'.
1676         (make_charset): Initialize `encoding_table'.
1677
1678         * char-ucs.h (struct Lisp_Charset): Add new member
1679         `encoding_table'.
1680         (CHARSET_ENCODING_TABLE): New macro.
1681         (XCHARSET_ENCODING_TABLE): New macro.
1682         (charset_code_point): New implementation.
1683         (encode_char_1): Likewise.
1684
1685         * alloc.c (all_older_lcrecords): New variable in UTF-2000.
1686         (disksave_object_finalization_1): Call finalizers of
1687         `all_older_lcrecords' in UTF-2000.
1688         (make_older_vector): New function in UTF-2000.
1689         (reinit_alloc_once_early): Initialize `all_older_lcrecords' in
1690         UTF-2000.
1691
1692         * lisp.h (make_older_vector): New prototype in UTF-2000.
1693
1694 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1695
1696         * lrecord.h (enum lrecord_type): Rename
1697         `lrecord_type_char_code_table' to `lrecord_type_char_id_table'.
1698
1699         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_ID_TABLE_P' and
1700         `get_char_id_table' instead of `CHAR_CODE_TABLE_P' and
1701         `get_char_code_table'.
1702
1703         * mule-charset.c (mark_char_id_table): Renamed from
1704         `mark_char_code_table'.
1705         (char_id_table_equal): Renamed from `char_code_table_equal'.
1706         (char_id_table_hash): Renamed from `char_code_table_hash'.
1707         (make_char_id_table): Renamed from `make_char_code_table'.
1708         (copy_char_id_table): Renamed from `copy_char_code_table'.
1709         (get_char_id_table): Renamed from `get_char_code_table'.
1710         (put_char_id_table): Renamed from `put_char_code_table'.
1711         (to_char_id): Renamed from `to_char_code'.
1712
1713         * char-ucs.h (struct Lisp_Char_ID_Table): Renamed from
1714         `Lisp_Char_Code_Table'.
1715         (char_id_table): Renamed from `char_code_table'.
1716         (XCHAR_ID_TABLE): Renamed from `XCHAR_CODE_TABLE'.
1717         (XSETCHAR_ID_TABLE): Renamed from `XSETCHAR_CODE_TABLE'.
1718         (CHAR_ID_TABLE_P): Renamed from `CHAR_CODE_TABLE_P'.
1719         (GC_CHAR_ID_TABLE_P): Renamed from `GC_CHAR_CODE_TABLE_P'.
1720         (get_char_id_table): Renamed from `get_char_code_table'.
1721
1722 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1723
1724         * lrecord.h (enum lrecord_type): Rename
1725         `lrecord_type_char_byte_table' to `lrecord_type_byte_table'.
1726
1727         * mule-charset.c (mark_byte_table): Renamed from
1728         `mark_char_byte_table'.
1729         (byte_table_equal): Renamed from `char_byte_table_equal'.
1730         (byte_table_hash): Renamed from `byte_table_hash'.
1731         (make_byte_table): Renamed from `make_byte_table'.
1732         (copy_byte_table): Renamed from `copy_char_byte_table'.
1733
1734         * char-ucs.h (struct Lisp_Byte_Table): Renamed from
1735         `Lisp_Char_Byte_Table'.
1736         (byte_table): Renamed from `char_byte_table'.
1737         (XBYTE_TABLE): Renamed from `XCHAR_BYTE_TABLE'.
1738         (XSETBYTE_TABLE): Renamed from `XSET_CHAR_BYTE_TABLE'.
1739         (BYTE_TABLE_P): Renamed from `XBYTE_TABLE_P'.
1740         (GC_BYTE_TABLE_P): Renamed from `GC_CHAR_BYTE_TABLE_P'.
1741
1742 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1743
1744         * buffer.c (dfc_convert_to_external_format): Modify for UTF-2000.
1745         (dfc_convert_to_internal_format): Likewise.
1746         
1747         * text-coding.c (Fcoding_system_canonical_name_p): New function.
1748         * text-coding.c (Fcoding_system_alias_p): New function.
1749         * text-coding.c (Fcoding_system_aliasee): New function.
1750         * text-coding.c (append_suffix_to_symbol): New function.
1751         * text-coding.c (dangling_coding_system_alias_p): New function.
1752         * text-coding.c (Ffind_coding_system):
1753         * text-coding.c (Fcopy_coding_system):
1754         * text-coding.c (encode_coding_no_conversion):
1755         * text-coding.c (syms_of_file_coding):
1756         * text-coding.c (vars_of_file_coding):
1757         Rewrite coding system alias code.
1758         Allow nested aliases, like symbolic links.
1759         Allow redefinition of coding system aliases.
1760         Prevent existence of dangling coding system aliases.
1761         Eliminate convert_to_external_format.
1762         Eliminate convert_to_internal_format.
1763         
1764         * text-coding.c: Change enum eol_type to eol_type_t.
1765
1766 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1767
1768         * mule-charset.c (encode_builtin_char_1): Limit builtin-code-range
1769         of `mojikyo' to MIN_CHAR_MOJIKYO + 94 * 60 * 22.
1770
1771         * char-ucs.h (MAX_CHAR_MOJIKYO): Limit builtin-code-range to
1772         MIN_CHAR_MOJIKYO + 94 * 60 * 22.
1773
1774 2000-04-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1775
1776         * mule-charset.c (encode_builtin_char_1): Use `mojikyo' instead of
1777         `ideograph-daikanwa'.
1778
1779         * char-ucs.h (Vcharset_ucs): Deleted because it is not used.
1780         (Vcharset_ucs_bmp): Likewise.
1781         (Vcharset_mojikyo): Add new extern variable definition.
1782         (Vcharset_latin_iso8859_2): Deleted because it is not used.
1783         (Vcharset_latin_iso8859_3): Likewise.
1784         (Vcharset_latin_iso8859_4): Likewise.
1785         (Vcharset_latin_iso8859_9): Likewise.
1786         (Vcharset_latin_viscii_lower): Likewise.
1787         (Vcharset_latin_viscii_upper): Likewise.
1788         (DECODE_CHAR): If charset is `mojikyo-pj-N', corresponding
1789         `mojikyo' code-point is used to decode.
1790         (encode_char_2): New function [to convert `mojikyo' code-point to
1791         Mojikyo font encoding].
1792         (ENCODE_CHAR): Use `encode_char_2' instead of `encode_code_1'.
1793         (breakup_char_1): Likewise.
1794         (CHAR_CHARSET): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR'.
1795
1796 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1797
1798         * text-coding.c (Fmake_coding_system): Add document about
1799         `disable-composition' property.
1800
1801 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1802
1803         * text-coding.c (Qdisable_composition): New variable; delete
1804         `Qcomposite'.
1805         (Fmake_coding_system): Add new property `disable-composite';
1806         delete property `composite'.
1807         (COMPOSE_ADD_CHAR): Use `CODING_SYSTEM_DISABLE_COMPOSITION'
1808         instead of `!CODING_SYSTEM_COMPOSITE'.
1809         (syms_of_file_coding): Add new symbol `disable-composition';
1810         delete symbol `composite'.
1811
1812         * file-coding.h (struct Lisp_Coding_System): Add
1813         `disable_composition'; delete `enable_composition'.
1814         (CODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
1815         `CODING_SYSTEM_COMPOSITE'.
1816         (XCODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
1817         `XCODING_SYSTEM_COMPOSITE'.
1818
1819 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1820
1821         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1822         to 0.15.
1823
1824 2000-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1825
1826         * text-coding.c (Qcomposite): New variable.
1827         (Fmake_coding_system): Add new property `composite'.
1828         (struct decoding_stream): Add `combined_char_count',
1829         `combined_chars' and `combining_table' in UTF-2000.
1830         (COMPOSE_FLUSH_CHARS): New macro.
1831         (COMPOSE_ADD_CHAR): New macro.
1832         (reset_decoding_stream): Reset `str->combined_char_count' and
1833         `str->combining_table' in UTF-2000.
1834         (decode_coding_iso2022): Modify for character-decomposition.
1835         (syms_of_file_coding): Add new symbol `composite'.
1836
1837 2000-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1838
1839         * mule-charset.c (Vcharset_latin_tcvn5712): New variable.
1840         (Fput_char_attribute): Set up `Vcharacter_variant_table' instead
1841         of `Vcharacter_composition_table' if `->decomposition' property
1842         has only 1 element.
1843         (Qlatin_tcvn5712): New variable.
1844         (syms_of_mule_charset): Add new symbol `latin-tcvn5712'.
1845         (complex_vars_of_mule_charset): Add new coded-charset
1846         `latin-tcvn5712'.
1847
1848         * char-ucs.h (LEADING_BYTE_LATIN_TCVN5712): New macro.
1849
1850 2000-04-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1851
1852         * file-coding.h (struct Lisp_Coding_System): Add
1853         `enable_composition'.
1854         (CODING_SYSTEM_COMPOSITE): New macro.
1855         (XCODING_SYSTEM_COMPOSITE): New macro.
1856
1857 2000-03-17  MORIOKA Tomohiko  <tomo@m17n.org>
1858
1859         * mule-canna.c (c2mu): Fix problem with UTF-2000.
1860
1861 2000-03-16  MORIOKA Tomohiko  <tomo@m17n.org>
1862
1863         * mule-charset.c (Fput_char_attribute): Don't make mapping-table
1864         if ATTRIBUTE is `ucs' and character-id of CHARACTER = VALUE.
1865
1866 2000-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
1867
1868         * mule-charset.c (Vcharset_mojikyo): New variable.
1869         (Fdefine_char): Don't use coded-charset which does not have
1870         non-builtin character range to allocate character-id.
1871         (Qmojikyo): New variable.
1872         (syms_of_mule_charset): Add new symbol `mojikyo'.
1873         (complex_vars_of_mule_charset): Add new coded-charset `mojikyo'.
1874
1875         * char-ucs.h (LEADING_BYTE_DAIKANWA_EKANJI): New macro.
1876         (LEADING_BYTE_MOJIKYO): New macro.
1877         (MIN_CHAR_MOJIKYO): New macro.
1878         (MIN_CHAR_DAIKANWA): Use `MIN_CHAR_MOJIKYO'.
1879         (MAX_CHAR_MOJIKYO): New macro.
1880
1881 2000-02-12  MORIOKA Tomohiko  <tomo@m17n.org>
1882
1883         * mule-charset.c (remove_char_attribute): Fixed.
1884
1885 2000-02-08  MORIOKA Tomohiko  <tomo@m17n.org>
1886
1887         * mule-charset.c (remove_char_attribute): New function.
1888         (Fremove_char_attribute): New function.
1889         (encode_builtin_char_1): Comment out builtin-support for
1890         greek-iso8859-7 and cyrillic-iso8859-5.
1891         (Fdecode_char): Check `code' is an integer.
1892         (syms_of_mule_charset): Add `remove-char-attribute'.
1893         (MIN_CHAR_GREEK): Deleted.
1894         (MAX_CHAR_GREEK): Likewise.
1895         (MIN_CHAR_CYRILLIC): Likewise.
1896         (MAX_CHAR_CYRILLIC): Likewise.
1897         (complex_vars_of_mule_charset): Don't use MIN_CHAR_GREEK and
1898         MAX_CHAR_GREEK for `greek-iso8859-7'.
1899
1900         * char-ucs.h (MIN_CHAR_GREEK): Comment out.
1901         (MAX_CHAR_GREEK): Likewise.
1902         (MIN_CHAR_CYRILLIC): Likewise.
1903         (MAX_CHAR_CYRILLIC): Likewise.
1904
1905 2000-02-02  MORIOKA Tomohiko  <tomo@m17n.org>
1906
1907         * mule-charset.c (Fdefine_char): Fix problem when new code-point
1908         format is used without `ucs' property.
1909         (Fdecode_char): Fix problem with GR representation.
1910         (complex_vars_of_mule_charset): Don't use `MIN_CHAR_CYRILLIC' and
1911         `MAX_CHAR_CYRILLIC' as range of builtin `cyrillic-iso8859-5'.
1912
1913 2000-01-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
1914
1915         * mule-charset.c (make_builtin_char): New function.
1916         (encode_builtin_char_1): Check ISO-2022-charset is defined or not.
1917         (Fset_charset_mapping_table): Modify for new representation of
1918         code-point.
1919         (Fdecode_char): New function.
1920         (syms_of_mule_charset): Add new builtin function `decode-char' in
1921         UTF-2000.
1922
1923         * char-ucs.h (make_builtin_char): New prototype.
1924         (DECODE_CHAR): New inline function.
1925         (MAKE_CHAR): Use `DECODE_CHAR'.
1926
1927 2000-01-28  MORIOKA Tomohiko  <tomo@m17n.org>
1928
1929         * text-coding.c (parse_charset_conversion_specs): Use
1930         `XCHARSET_CHARS' and `XCHARSET_DIMENSION' instead of
1931         `XCHARSET_TYPE'.
1932         (iso2022_designate): Likewise.
1933
1934         * chartab.c (decode_char_table_range): Use `XCHARSET_CHARS' and
1935         `XCHARSET_DIMENSION' instead of `XCHARSET_TYPE'.
1936
1937         * mule-charset.c (Vcharset_ucs): New variable.
1938         (print_charset): Change design; use `CHARSET_CHARS' and
1939         `CHARSET_DIMENSION' instead of `CHARSET_TYPE'.
1940         (make_charset): Change signature to specify `chars' and
1941         `dimension' instead of `type'.
1942         (range_charset_code_point): Modify for 256^n-set.
1943         (encode_builtin_char_1): Encode as `ucs' in default.
1944         (Fmake_charset): Modify for `make_charset'.
1945         (Fmake_reverse_direction_charset): Likewise.
1946         (Fsplit_char): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR' in
1947         UTF-2000.
1948         (complex_vars_of_mule_charset): Add coded-charset `ucs'; modify
1949         for `make_charset'.
1950
1951         * char-ucs.h (Vcharset_ucs): New variable.
1952         (LEADING_BYTE_UCS): New macro.
1953         (struct Lisp_Charset): Delete `type'; change type of `dimension'
1954         and `chars' to `unsigned short' from `unsigned int'.
1955         (CHARSET_TYPE): Deleted.
1956         (XCHARSET_TYPE): Deleted.
1957
1958 2000-01-27  MORIOKA Tomohiko  <tomo@m17n.org>
1959
1960         * mule-charset.c (charset_code_point): Moved to char-ucs.h.
1961
1962         * char-ucs.h (charset_code_point): Moved from mule-charset.c.
1963         (ENCODE_CHAR): New macro.
1964
1965 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
1966
1967         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1968         to 0.14 (Kawachi-Katakami).
1969
1970 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
1971
1972         * text-coding.c (char_encode_shift_jis): Modify for
1973         `charset_code_point'.
1974         (char_encode_iso2022): Likewise.
1975
1976         * mule-charset.c (Fput_char_attribute): Use <Lisp_Object>
1977         (integer) instead of list of <Lisp_Object>s (integers) as the
1978         format of code-point of a coded-charset.
1979         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
1980         (encode_builtin_char_1): New function; delete
1981         `split_builtin_char'.
1982         (charset_code_point): Return <int> instead of <Lisp_Object>.
1983         (Fsplit_char): Don't use `SPLIT_CHAR'.
1984
1985         * char-ucs.h (encode_builtin_char_1): New prototype; delete
1986         prototype for `split_builtin_char'.
1987         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
1988         (charset_code_point): Likewise.
1989         (encode_char_1): New inline function; delete `SPLIT_CHAR'.
1990         (breakup_char_1): Use `encode_char_1' instead of `SPLIT_CHAR'.
1991
1992 2000-01-20  MORIOKA Tomohiko  <tomo@m17n.org>
1993
1994         * mule-charset.c (complex_vars_of_mule_charset): Don't define
1995         `japanese-jisx0208-1990' in non-UTF-2000 Mule.
1996
1997 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
1998
1999         * mule-charset.c (split_builtin_char): Don't support OBS_94x94.
2000
2001         * char-ucs.h (MIN_CHAR_OBS_94x94): Deleted.
2002         (MAX_CHAR_OBS_94x94): Deleted.
2003
2004 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2005
2006         * mule-charset.c (split_builtin_char): Use `MAX_CHAR_BMP'.
2007
2008         * char-ucs.h (MAX_CHAR_BMP): New macro.
2009
2010 2000-01-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2011
2012         * text-coding.c: Sync with r21-2-24.
2013
2014 2000-01-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
2015
2016         * file-coding.c: Modify for UTF-2000.
2017
2018 2000-01-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
2019
2020         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2021         to 0.13 (Takaida).
2022
2023 2000-01-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
2024
2025         * mule-charset.c (split_builtin_char): Delete builtin support for
2026         `katakana-jisx0201'.
2027         (complex_vars_of_mule_charset): Don't map `katakana-jisx0201' to
2028         BMP area in builtin representation.
2029
2030         * char-ucs.h (MAKE_CHAR): Delete builtin support for
2031         `Vcharset_katakana_jisx0201'.
2032
2033 1999-12-24  MORIOKA Tomohiko  <tomo@etl.go.jp>
2034
2035         * mule-charset.c (Vcharset_mojikyo_pj_[1 .. 21]): New variable.
2036         (Qisolated): New variable.
2037         (Qinitial): New variable.
2038         (Qmedial): New variable.
2039         (Qfinal): New variable.
2040         (Qvertical): New variable.
2041         (Qsmall): New variable.
2042         (to_char_code): Use `Qisolated', `Qinitial', `Qmedial', `Qfinal',
2043         `Qvertical' and `Qsmall'.
2044         (Qmojikyo_pj_[1 .. 21]): New variable.
2045         (syms_of_mule_charset): Add new symbols `isolated', `initial',
2046         `medial', `final', `vertical', `small' and `mojikyo-pj-[1 .. 21]'.
2047         (complex_vars_of_mule_charset): Add new charset `mojikyo-pj-[1
2048         .. 21]'.
2049
2050 1999-11-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
2051
2052         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x60.
2053         (LEADING_BYTE_MOJIKYO_PJ_[1 .. 21]): New macros.
2054         (MAX_LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 32)'.
2055
2056 1999-11-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
2057
2058         * mule-charset.c (Vcharset_japanese_jisx0208_1990): New variable.
2059         (Fdefine_char): Use Group 00 Plane 10 for non-coded variants of
2060         BMP.
2061         (Qjapanese_jisx0208_1990): New variable.
2062         (syms_of_mule_charset): Add new symbol `Qjapanese_jisx0208_1990'.
2063         (complex_vars_of_mule_charset): Add new coded-charset
2064         `japanese-jisx0208-1990'.
2065
2066         * char-ucs.h (LEADING_BYTE_JAPANESE_JISX0208_1990): New macro.
2067         (MIN_CHAR_JIS_X0208_1990): New macro.
2068         (MAX_CHAR_JIS_X0208_1990): New macro.
2069
2070 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2071
2072         * text-coding.c (char_encode_iso2022): Output `~' if ISO 2022
2073         coded-charset is not found.
2074
2075 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2076
2077         * mule-charset.c (Fget_char_attribute): Forgot to `CHECK_CHAR'.
2078         (Fdefine_char): Use `Fmake_char'.
2079
2080 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2081
2082         * mule-charset.c (Vcharset_ideograph_daikanwa): New variable.
2083         (Vcharset_hiragana_jisx0208): Deleted.
2084         (Vcharset_katakana_jisx0208): Deleted.
2085         (Qideograph_daikanwa): New variable.
2086         (Qhiragana_jisx0208): Deleted.
2087         (Qkatakana_jisx0208): Deleted.
2088         (split_builtin_char): Split `ideograph-daikanwa'.
2089         (Fsplit_char): New implementation for UTF-2000.
2090         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa';
2091         delete symbol `hiragana-jisx0208' and `katakana-jisx0208'.
2092         (complex_vars_of_mule_charset): Add new coded-charset
2093         `ideograph-daikanwa'; delete coded-charset `hiragana-jisx0208' and
2094         `katakana-jisx0208'.
2095
2096         * char-ucs.h (LEADING_BYTE_DAIKANWA): New macro.
2097         (LEADING_BYTE_HIRAGANA_JISX0208): Deleted.
2098         (LEADING_BYTE_KATAKANA_JISX0208): Deleted.
2099         (MIN_CHAR_DAIKANWA): New macro.
2100         (MAX_CHAR_DAIKANWA): New macro.
2101
2102 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2103
2104         * data.c (Fstring_to_number): Don't recognize floating point if
2105         base is not 10.
2106
2107 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2108
2109         * mule-charset.c (Fput_char_attribute): Forgot to `CHECK_CHAR'.
2110
2111 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2112
2113         * mule-charset.c (Qsquare): New variable.
2114         (to_char_code): Add `Qsquare'.
2115         (syms_of_mule_charset): Add new symbol `square'.
2116
2117 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2118
2119         * mule-charset.c (Qcircle): New variable.
2120         (to_char_code): Add `Qcircle'.
2121         (syms_of_mule_charset): Add new symbol `circle'.
2122
2123 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2124
2125         * mule-charset.c (Qfont): New variable.
2126         (to_char_code): Add `Qfont'.
2127         (syms_of_mule_charset): Add new symbol `font'.
2128
2129 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2130
2131         * mule-charset.c (Qsub): New variable.
2132         (to_char_code): Add `Qsub'.
2133         (syms_of_mule_charset): Add new symbol `sub'.
2134
2135 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2136
2137         * mule-charset.c (Fput_char_attribute): Convert each element of
2138         VALUE to GL position if ATTRIBUTE is a GR-set,
2139
2140 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2141
2142         * mule-charset.c (Fput_char_attribute): Allow GR code-point if a
2143         coded-charset is a GR-set.
2144
2145 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2146
2147         * mule-charset.c (Fput_char_attribute): Check each element of
2148         VALUE is a byte if ATTRIBUTE is a coded-charset or its name.
2149
2150 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2151
2152         * mule-charset.c (Vcharset_ethiopic_ucs): New variable in
2153         UTF-2000.
2154         (Qethiopic_ucs): New variable in UTF-2000.
2155         (syms_of_mule_charset): Add new symbol `ethiopic-ucs' in UTF-2000.
2156         (complex_vars_of_mule_charset): Add new coded-charset
2157         `ethiopic-ucs' in UTF-2000.
2158
2159         * char-ucs.h (LEADING_BYTE_ETHIOPIC_UCS): New macro.
2160         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
2161         9)'.
2162         (LEADING_BYTE_KATAKANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
2163         10)'.
2164         (LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 11)'.
2165
2166 1999-11-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
2167
2168         * mule-charset.c (Fset_charset_mapping_table): Fix problem with
2169         `ascii'.
2170
2171 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2172
2173         * mule-charset.c (Vcharacter_variant_table): New variable.
2174         (Q_ucs): New variable.
2175         (Fchar_variants): New function.
2176         (Fput_char_attribute): Register `->ucs' value to
2177         `Vcharacter_variant_table'.
2178         (syms_of_mule_charset): Add new function `char-variants' and new
2179         symbol `->ucs'.
2180         (vars_of_mule_charset): Setup `Vcharacter_variant_table'.
2181
2182 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2183
2184         * mule-charset.c (get_char_code_table): Allow negative character
2185         code.
2186         (put_char_code_table): Likewise.
2187         (Vcharacter_composition_table): New variable.
2188         (Q_decomposition): New variable.
2189         (Qwide): New variable.
2190         (Qnarrow): New variable.
2191         (Qcompat): New variable.
2192         (QnoBreak): New variable.
2193         (Qsuper): New variable.
2194         (Qfraction): New variable.
2195         (to_char_code): New function.
2196         (Fget_composite_char): New function.
2197         (Fput_char_attribute): Register `->decomposition' value to
2198         `Vcharacter_composition_table'.
2199         (syms_of_mule_charset): Add new function `get-composite-char', new
2200         symbol `->decomposition', `wide', `narrow', `compat', `noBreak',
2201         `super' and `fraction'.
2202         (vars_of_mule_charset): Setup `Vcharacter_composition_table'.
2203
2204 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2205
2206         * mule-charset.c (Fchar_attribute_alist): Check the argument is a
2207         character; copy the return value.
2208
2209 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2210
2211         * char-ucs.h (SPLIT_CHAR): Use `split_builtin_char'.
2212
2213         * mule-charset.c (range_charset_code_point): Must use make_int.
2214         (split_builtin_char): New function.
2215
2216 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2217
2218         * mule-charset.c (char_byte_table): Change name from
2219         "char-code-table" to "char-byte-table".
2220         (mark_char_code_table): New function.
2221         (char_code_table_equal): New function.
2222         (char_code_table_hash): New function.
2223         (char_code_table_description): New constant.
2224         (char_code_table): New type.
2225         (make_char_code_table): New function.
2226         (copy_char_code_table): New function.
2227         (get_char_code_table): Modify for `char_code_table' type.
2228         (put_char_code_table): Likewise.
2229         (vars_of_mule_charset): Update `utf-2000-version' to 0.12
2230         (Kashiwara).
2231
2232         * char-ucs.h (char_code_table): New type.
2233         (XCHAR_CODE_TABLE): New macro.
2234         (XSETCHAR_CODE_TABLE): New macro.
2235         (CHAR_CODE_TABLE_P): New macro.
2236         (GC_CHAR_CODE_TABLE_P): New macro.
2237         (struct Lisp_Char_Code_Table): New structure.
2238
2239 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2240
2241         * mule-charset.c (Fmake_charset): Setup byte_offset for
2242         {94|96}^n-set.
2243
2244 1999-11-09  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2245
2246         * mule-charset.c (Fdefine_char): Fix problem with non-UCS
2247         character.
2248
2249 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2250
2251         * char-ucs.h (SPLIT_CHAR): Don't make new cell if a charset slot
2252         is found.
2253
2254 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2255
2256         * mule-charset.c (Fget_char_attribute): If ATTRIBUTE is a name of
2257         charset, it is regarded as a charset.
2258         (put_char_attribute): New function in UTF-2000.
2259         (Fput_char_attribute): If ATTRIBUTE is a charset or a name of
2260         charset, mapping-table of the charset is modified.
2261         (Fdefine_char): New function in UTF-2000.
2262         (Fset_charset_mapping_table): Use `put_char_attribute' instead of
2263         `Fput_char_attribute'.
2264         (syms_of_mule_charset): Add new function `define-char' and new
2265         symbol `ucs' in UTF-2000.
2266         (vars_of_mule_charset): Update `utf-2000-version' to 0.11 (Shiki).
2267
2268 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
2269
2270         * mule-charset.c (Fcharset_name): Define `byte_offset' in
2271         non-UTF-2000 configuration.
2272
2273 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
2274
2275         * text-coding.c (char_encode_shift_jis): Use `charset_code_point'
2276         not to use `XCHARSET_ENCODING_TABLE (Vcharset_latin_jisx0201)'.
2277
2278         * mule-charset.c (mark_charset): `cs->encoding_table' has been
2279         deleted.
2280         (make_charset): Don't use `CHARSET_ENCODING_TABLE(cs)'.
2281         (Fset_charset_mapping_table): Likewise.
2282
2283         * char-ucs.h (struct Lisp_Charset): Delete `encoding_table'.
2284         (CHARSET_ENCODING_TABLE): Delete.
2285         (XCHARSET_ENCODING_TABLE): Delete.
2286         (charset_code_point): New interface.
2287
2288 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
2289
2290         * text-coding.c (char_encode_iso2022): Use `charset_code_point'
2291         instead of `charset_get_byte1' and `charset_get_byte2'.
2292
2293         * mule-charset.c, char-ucs.h (charset_get_byte1): Deleted.
2294         (charset_get_byte2): Deleted.
2295
2296 1999-10-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
2297
2298         * char-ucs.h (SPLIT_CHAR): New inline function.
2299         (breakup_char_1): Use `SPLIT_CHAR'.
2300
2301         * mule-charset.c (range_charset_code_point): New function.
2302         (charset_code_point): New function.
2303
2304         * char-ucs.h (range_charset_code_point): New interface.
2305         (breakup_char_1): Use `range_charset_code_point'.
2306
2307 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
2308
2309         * mule-charset.c (Fmake_charset): Delete unused local variable
2310         `code_offset'.
2311
2312         * char-ucs.h (Vcharacter_attribute_table): New extern variable.
2313         (breakup_char_1): Find a charset and code-point in
2314         `Vcharacter_attribute_table'.
2315
2316 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
2317
2318         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2319         to 0.10 (Yao).
2320
2321 1999-10-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
2322
2323         * mule-charset.c (Vcharacter_attribute_table): New variable.
2324         (Fchar_attribute_alist): New function.
2325         (Fget_char_attribute): New function.
2326         (Fput_char_attribute): New function.
2327         (Fset_charset_mapping_table): Setup `Vcharacter_attribute_table'
2328         too.
2329         (syms_of_mule_charset): Add new function `char-attribute-alist',
2330         `get-char-attribute' and `put-char-attribute'.
2331         (vars_of_mule_charset): Setup `Vcharacter_attribute_table'.
2332
2333 1999-10-19  MORIOKA Tomohiko  <tomo@etl.go.jp>
2334
2335         * mule-charset.c (Fmake_charset): Just use
2336         `get_unallocated_leading_byte'.
2337
2338         * char-ucs.h (LEADING_BYTE_*): Use ISO-IR numbers for official
2339         sets; don't use final-byte based number for private sets.
2340
2341 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2342
2343         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
2344         integer.
2345
2346 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2347
2348         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2349         to 0.9.
2350
2351 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2352
2353         * regex.c (compile_extended_range): Use `CHAR_CHARSET_ID' instead
2354         of `CHAR_LEADING_BYTE' in UTF-2000.
2355
2356         * insdel.c (find_charsets_in_bufbyte_string): Use
2357         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
2358         (find_charsets_in_emchar_string): Likewise.
2359
2360         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use
2361         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
2362
2363         * char-ucs.h (CHAR_LEADING_BYTE): Deleted.
2364         (CHAR_CHARSET_ID): New macro.
2365
2366 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2367
2368         * chartab.c (get_char_table): Don't use type `Charset_ID' for
2369         charset-id - MIN_LEADING_BYTE.
2370         (put_char_table): Likewise.
2371
2372 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2373
2374         * char-ucs.h (MIN_LEADING_BYTE): Changed to `-0x40'.
2375         (NUM_LEADING_BYTES): Changed to (80 * 3 - MIN_LEADING_BYTE).
2376         (CHARSET_LEADING_BYTE): Don't cast by `Bufbyte'.
2377         (CHARSET_ID_OFFSET): New macro.
2378         (LEADING_BYTE_CONTROL_1): Changed to (CHARSET_ID_OFFSET - 1).
2379         (LEADING_BYTE_UCS_BMP): Changed to (CHARSET_ID_OFFSET - 2).
2380         (LEADING_BYTE_LATIN_VISCII): Changed to (CHARSET_ID_OFFSET - 3).
2381         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
2382         4).
2383         (LEADING_BYTE_KATAKANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
2384         5).
2385         (MIN_LEADING_BYTE_PRIVATE): Changed to `MIN_LEADING_BYTE'.
2386         (MAX_LEADING_BYTE_PRIVATE): Changed to (CHARSET_ID_OFFSET - 6).
2387         (CHARSET_ID_OFFSET_94): Changed to (CHARSET_ID_OFFSET - '0').
2388         (CHARSET_ID_OFFSET_96): Changed to (CHARSET_ID_OFFSET_94 + 80).
2389         (CHARSET_ID_OFFSET_94x94): Changed to (CHARSET_ID_OFFSET_96 + 80).
2390
2391 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2392
2393         * mule-charset.c (next_allocated_leading_byte): New variable in
2394         UTF-2000.
2395         (next_allocated_1_byte_leading_byte): Don't define in UTF-2000.
2396         (next_allocated_2_byte_leading_byte): Don't define in UTF-2000.
2397         (get_unallocated_leading_byte): Simply use
2398         `next_allocated_leading_byte' [ignore dimension] in UTF-2000.
2399         (vars_of_mule_charset): Setup `next_allocated_leading_byte' in
2400         UTF-2000.
2401
2402         * char-ucs.h (MIN_LEADING_BYTE_PRIVATE): New macro.
2403         (MAX_LEADING_BYTE_PRIVATE): New macro.
2404         (MIN_LEADING_BYTE_OFFICIAL_2): Deleted.
2405         (MAX_LEADING_BYTE_OFFICIAL_2): Deleted.
2406
2407 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2408
2409         * mule-charset.c (Fmake_charset): Allocate final-byte based
2410         charset-id for 94-set, 96-set and 94x94-set.
2411
2412 1999-10-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2413
2414         * mule-charset.c (char_byte_table_equal): Fill braces to avoid
2415         ambiguous `else'.
2416         (Fmake_charset): Likewise.
2417         (complex_vars_of_mule_charset): Modify the font registry of
2418         `ucs-bmp' not to match `Ethiopic-Unicode'.
2419
2420 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2421
2422         * mule-charset.c (complex_vars_of_mule_charset): Add font
2423         registory of `ucs-bmp'.
2424
2425 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2426
2427         * text-coding.c (char_encode_iso2022): Ignore non-ISO-2022
2428         coded-charsets in `default-coded-charset-priority-list' when
2429         breaking up a character.
2430
2431         * mule-charset.c (Vcharset_latin_viscii): New variable.
2432         (Qlatin_viscii): New variable.
2433         (make_charset): Don't use `decoding_table'.
2434         (Fmake_charset): Regard graphic = 2 as 256^n-set; setup
2435         byte_offset.
2436         (Fset_charset_mapping_table): New implementation.
2437         (syms_of_mule_charset): Add new symbol `latin-viscii'.
2438         (complex_vars_of_mule_charset): Set `graphic' attribute of charset
2439         `ucs-bmp' and `latin_viscii' to 2; change font registry of charset
2440         `latin-viscii-lower' to "MULEVISCII-LOWER"; change font registry
2441         of charset `latin-viscii-upper' to "MULEVISCII-UPPER"; add new
2442         charset `latin_viscii'.
2443
2444         * char-ucs.h (LEADING_BYTE_LATIN_VISCII): New macro.
2445         (CHARSET_TYPE_94X94): Change to 1 from 2.
2446         (CHARSET_TYPE_96): Change to 2 from 1.
2447         (CHARSET_TYPE_128): New macro.
2448         (CHARSET_TYPE_128X128): Change to 5 from 4.
2449         (CHARSET_TYPE_256): New macro.
2450         (CHARSET_TYPE_256X256): Change to 7 from 5.
2451         (MAKE_CHAR): Use `XCHARSET_BYTE_OFFSET(charset)'.
2452
2453 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2454
2455         * text-coding.c (char_encode_shift_jis): Refer
2456         `XCHARSET_ENCODING_TABLE(Vcharset_latin_jisx0201)' instead of
2457         `XCHARSET_TO_BYTE1_TABLE(Vcharset_latin_jisx0201)'.
2458
2459         * mule-charset.c (mark_char_byte_table): New function in UTF-2000.
2460         (char_byte_table_equal): New function in UTF-2000.
2461         (char_byte_table_hash): New function in UTF-2000.
2462         (char_byte_table_description): New constant in UTF-2000.
2463         (char_byte_table): New type in UTF-2000.
2464         (make_char_byte_table): New function in UTF-2000.
2465         (copy_char_byte_table): New function in UTF-2000.
2466         (make_char_code_table): New macro in UTF-2000.
2467         (get_char_code_table): New function in UTF-2000.
2468         (put_char_code_table): New function in UTF-2000.
2469         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
2470         (charset_description): Add setting in UTF-2000.
2471         (make_charset): Setup `CHARSET_ENCODING_TABLE(cs)' instead of
2472         `CHARSET_TO_BYTE1_TABLE(cs)'.
2473         (charset_get_byte1): Refer `XCHARSET_ENCODING_TABLE(charset)'
2474         instead of `XCHARSET_TO_BYTE1_TABLE(charset)'.
2475         (charset_get_byte2): Refer `XCHARSET_ENCODING_TABLE(charset)'
2476         instead of `XCHARSET_TO_BYTE2_TABLE(charset)'.
2477         (Fset_charset_mapping_table): Setup `CHARSET_ENCODING_TABLE(cs)'
2478         instead of `CHARSET_TO_BYTE1_TABLE(cs)' and
2479         `CHARSET_TO_BYTE2_TABLE(cs)'.
2480
2481         * char-ucs.h (char_byte_table): New type.
2482         (XCHAR_BYTE_TABLE): New macro.
2483         (XSETCHAR_BYTE_TABLE): New macro.
2484         (CHAR_BYTE_TABLE_P): New macro.
2485         (GC_CHAR_BYTE_TABLE_P): New macro.
2486         (struct Lisp_Char_Byte_Table): New structure.
2487         (get_char_code_table): New interface.
2488         (Emchar_to_byte_table): Deleted.
2489         (get_byte_from_character_table): Deleted.
2490         (struct Lisp_Charset): Add `encoding_table'; delete
2491         `to_byte1_table' and `to_byte2_table'.
2492         (CHARSET_ENCODING_TABLE): New macro.
2493         (CHARSET_TO_BYTE1_TABLE): Deleted.
2494         (CHARSET_TO_BYTE2_TABLE): Deleted.
2495         (XCHARSET_ENCODING_TABLE): New macro.
2496         (XCHARSET_TO_BYTE1_TABLE): Deleted.
2497         (XCHARSET_TO_BYTE2_TABLE): Deleted.
2498
2499 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
2500
2501         * mule-charset.c (syms_of_mule_charset): Delete charset alias
2502         `vietnamese-viscii-*'.
2503
2504 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
2505
2506         * mule-charset.c (Qvietnamese_viscii_lower): New variable.
2507         (Qvietnamese_viscii_upper): New variable.
2508         (Fdefine_charset_alias): New function.
2509         (syms_of_mule_charset): Add new function `define-charset-alias'.
2510         (syms_of_mule_charset): Rename charset `vietnamese-viscii-*' to
2511         `latin-viscii-*'; define `vietnamese-viscii-*' as aliases for
2512         `latin-viscii-*'.
2513
2514 1999-10-04  MORIOKA Tomohiko  <tomo@etl.go.jp>
2515
2516         * char-ucs.h (MIN_CHAR_OBS_94x94): New macro.
2517         (MAX_CHAR_OBS_94x94): New macro.
2518         (breakup_char_1): Support obsolete XEmacs-UCS private code space
2519         for 94x94 sets.
2520
2521         * mule-charset.c (put_byte_from_character_table): Change unit size
2522         from 128 to 256.
2523         (mark_charset): Don't mark `cs->decoding_table' if `UTF2000' is
2524         not defined.
2525         (Fmake_reverse_direction_charset): Modify dummy argument of
2526         `make_charset' for non-UTF-2000 environment.
2527
2528 1999-10-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2529
2530         * char-ucs.h (MAKE_CHAR): Allow nested decoding-table.
2531
2532         * mule-charset.c (destroy_byte_from_character_table): New macro.
2533         (latin_jisx0201_to_ucs): Deleted.
2534         (latin_iso8859_2_to_ucs): Deleted.
2535         (latin_iso8859_3_to_ucs): Deleted.
2536         (latin_iso8859_4_to_ucs): Deleted.
2537         (latin_iso8859_9_to_ucs): Deleted.
2538         (latin_viscii_lower_to_ucs): Deleted.
2539         (latin_viscii_upper_to_ucs): Deleted.
2540         (mark_charset): Mark `cs->decoding_table'.
2541         (Fcharset_mapping_table): Fix DOC-string.
2542         (Fset_charset_mapping_table): New function.
2543         (syms_of_mule_charset): Add nwe function
2544         `set-charset-mapping-table'.
2545         (complex_vars_of_mule_charset): Don't setup and use
2546         `latin_*_to_ucs'.
2547
2548 1999-10-01  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2549
2550         * char-ucs.h (MAKE_CHAR): Check the result for range-represented
2551         charset.
2552
2553 1999-09-30  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2554
2555         * mule-charset.c (Vcharset_hiragana_jisx0208): New variable.
2556         (Vcharset_katakana_jisx0208): New variable.
2557         (Qhiragana_jisx0208): New variable.
2558         (Qkatakana_jisx0208): New variable.
2559         (make_charset): Add new argument `byte_offset'.
2560         (charset_get_byte1): Modify for new coded-charset definition; use
2561         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
2562         `XCHARSET_BYTE_OFFSET'.
2563         (Fmake_charset): Modify for `make_charset'.
2564         (Fmake_reverse_direction_charset): Likewise.
2565         (syms_of_mule_charset): Add new symbols `hiragana-jisx0208' and
2566         `katakana-jisx0208'.
2567         (complex_vars_of_mule_charset): Modify for `make_charset'; quote
2568         `.'  in font registry of charset `katakana-jisx0201',
2569         `latin-jisx0201', `vietnamese-viscii-lower' and
2570         `vietnamese-viscii-upper'; modify DOC-string of charset
2571         `japanese-jisx0208-1978' and `japanese-jisx0208'; modify font
2572         registry of charset `japanese-jisx0208' not to use font for JIS
2573         X0208:1990; add new charset `hiragana-jisx0208' and
2574         `katakana-jisx0208'.
2575
2576         * char-ucs.h (LEADING_BYTE_HIRAGANA_JISX0208): New macro.
2577         (LEADING_BYTE_KATAKANA_JISX0208): New macro.
2578         (struct Lisp_Charset): Add `byte_offset'.
2579         (CHARSET_BYTE_OFFSET): New macro.
2580         (XCHARSET_UCS_MIN): New macro.
2581         (XCHARSET_UCS_MAX): New macro.
2582         (XCHARSET_CODE_OFFSET): New macro.
2583         (XCHARSET_BYTE_OFFSET): New macro.
2584         (MIN_CHAR_HIRAGANA): New macro.
2585         (MAX_CHAR_HIRAGANA): New macro.
2586         (MIN_CHAR_KATAKANA): New macro.
2587         (MAX_CHAR_KATAKANA): New macro.
2588         (MAKE_CHAR): Modify for new coded-charset definition; use
2589         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
2590         `XCHARSET_BYTE_OFFSET'.
2591
2592 1999-09-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
2593
2594         * mule-charset.c (CHAR96): Deleted.
2595         (latin_jisx0201_to_ucs): Type is changed from array of <Emchar> to
2596         <Lisp_Object>.
2597         (latin_iso8859_2_to_ucs): Likewise.
2598         (latin_iso8859_3_to_ucs): Likewise.
2599         (latin_iso8859_4_to_ucs): Likewise.
2600         (latin_iso8859_9_to_ucs): Likewise.
2601         (latin_viscii_lower_to_ucs): Likewise.
2602         (latin_viscii_upper_to_ucs): Likewise.
2603         (latin_tcvn5712_to_ucs): Commented out.
2604         (make_charset): Change type of argument `decoding_table' from
2605         <Emchar*> to <Lisp_Object> [vector of characters].
2606         (Fmake_charset): Modify for `make_charset'.
2607         (Fmake_reverse_direction_charset): Likewise.
2608         (Fcharset_mapping_table): New function in UTF-2000.
2609         (syms_of_mule_charset): Setup `Fcharset_mapping_table' in
2610         UTF-2000.
2611         (complex_vars_of_mule_charset): Modify for type change of
2612         `*_to_ucs'; modify for `make_charset'.
2613
2614         * char-ucs.h (struct Lisp_Charset): Change type of
2615         `decoding_table' from <Emchar*> to <Lisp_Object>.
2616         (MAKE_CHAR): Modify for new specification of `decoding_table'.
2617
2618 1999-09-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
2619
2620         * mule-charset.c (Fmake_reverse_direction_charset): Fix compile
2621         error with non-UTF-2000-Mule.
2622
2623 1999-09-21  MORIOKA Tomohiko  <tomo@etl.go.jp>
2624
2625         * mule-charset.c (Vcharset_chinese_cns11643_3): Deleted [defined
2626         in lisp again].
2627         (Vcharset_chinese_cns11643_4): Likewise.
2628         (Vcharset_chinese_cns11643_5): Likewise.
2629         (Vcharset_chinese_cns11643_6): Likewise.
2630         (Vcharset_chinese_cns11643_7): Likewise.
2631         (Qchinese_cns11643_3): Likewise.
2632         (Qchinese_cns11643_4): Likewise.
2633         (Qchinese_cns11643_5): Likewise.
2634         (Qchinese_cns11643_6): Likewise.
2635         (Qchinese_cns11643_7): Likewise.
2636         (syms_of_mule_charset): Move definitions for `chinese-cns11643-3',
2637         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
2638         and `chinese-cns11643-7' to lisp/mule/chinese.el.
2639         (complex_vars_of_mule_charset): Likewise.
2640
2641 1999-09-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
2642
2643         * mule-charset.c (charset_get_byte1): Fix bug about 94- and
2644         96-set.
2645         (Fmake_reverse_direction_charset): Inherit CHARSET_DECODING_TABLE,
2646         CHARSET_UCS_MIN, CHARSET_UCS_MAX and CHARSET_CODE_OFFSET.
2647
2648 1999-09-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
2649
2650         * char-ucs.h (MIN_CHAR_HALFWIDTH_KATAKANA): Changed to 0xFF61 from
2651         0xFF60.
2652         (MAKE_CHAR): Change offset for katakana-jisx0201 to 33 from 0x20.
2653         (breakup_char_1): Likewise.
2654
2655         * text-coding.c (char_encode_iso2022): Keep designated charsets if
2656         one of them includes the specified character.
2657
2658 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
2659
2660         * mule-charset.c: Update `utf-2000-version' to 0.8 (Kami).
2661
2662 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
2663
2664         * char-ucs.h (MAKE_CHAR): Fix problem in 2-dimension charset.
2665
2666 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
2667
2668         * mule-charset.c (latin_iso8859_2_to_ucs NULL): Add pseudo
2669         definition for non-UTF-2000 Mule.
2670         (latin_iso8859_3_to_ucs): Likewise.
2671         (latin_iso8859_4_to_ucs): Likewise.
2672         (latin_iso8859_9_to_ucs): Likewise.
2673         (latin_jisx0201_to_ucs): Likewise.
2674         (MIN_CHAR_THAI): Likewise.
2675         (MAX_CHAR_THAI): Likewise.
2676         (MIN_CHAR_GREEK): Likewise.
2677         (MAX_CHAR_GREEK): Likewise.
2678         (MIN_CHAR_HEBREW): Likewise.
2679         (MAX_CHAR_HEBREW): Likewise.
2680         (MIN_CHAR_HALFWIDTH_KATAKANA): Likewise.
2681         (MAX_CHAR_HALFWIDTH_KATAKANA): Likewise.
2682         (MIN_CHAR_CYRILLIC): Likewise.
2683         (MAX_CHAR_CYRILLIC): Likewise.
2684
2685 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
2686
2687         * char-ucs.h (breakup_char_1): Use
2688         `Vdefault_coded_charset_priority_list' for hebrew-iso8859-8,
2689         thai-tis620 and katakana-jisx0201 area.
2690
2691 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2692
2693         * char-ucs.h (breakup_char_1): Use
2694         `Vdefault_coded_charset_priority_list' for cyrillic-iso8859-5
2695         area.
2696
2697         * text-coding.c (reset_encoding_stream): Fixed.
2698         (char_encode_ucs4): Delete `& 255'.
2699
2700         * char-ucs.h (breakup_char_1): Use
2701         `Vdefault_coded_charset_priority_list' for greek-iso8859-7 area.
2702
2703 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2704
2705         * file-coding.c (Fmake_coding_system): Don't set up
2706         `codesys->fixed.size'.
2707         (encode_coding_no_conversion): Don't refer
2708         `str->codesys->fixed.size'.
2709
2710 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2711
2712         * mule-charset.c, char-ucs.h (latin_a_char_to_charset): Deleted.
2713         (latin_a_char_to_byte1): Deleted.
2714         (latin_a_char_to_byte2): Deleted.
2715
2716 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2717
2718         * mule-charset.c (make_charset): Add new argument `ucs_min',
2719         `ucs_max' and `code_offset'.
2720         (charset_get_byte1): New implementation [delete specific charset
2721         depended implementations].
2722         (Fmake_charset): Modify for `make_charset'.
2723         (Fmake_reverse_direction_charset): Likewise.
2724         (complex_vars_of_mule_charset): Likewise.
2725
2726         * char-ucs.h (struct Lisp_Charset): Add `ucs_min', `ucs_max' and
2727         `code_offset'.
2728         (CHARSET_UCS_MIN): New macro.
2729         (CHARSET_UCS_MAX): New macro.
2730         (CHARSET_CODE_OFFSET): New macro.
2731         (MAKE_CHAR): Delete charset depended definitions [except
2732         katakana-jisx0201].
2733
2734 1999-09-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
2735
2736         * char-ucs.h (breakup_char_1): Use
2737         `Vdefault_coded_charset_priority_list' for C0-Controls,
2738         Basic-Latin, C1-Controls and Latin-1-Supplement area.
2739
2740 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2741
2742         * char-ucs.h (charset_get_byte1): New function.
2743         (XCHARSET_GET_BYTE1): Deleted.
2744         (charset_get_byte2): New function.
2745         (XCHARSET_GET_BYTE2): Deleted.
2746         (Vdefault_coded_charset_priority_list): New external variable.
2747         (breakup_char_1): Use `charset_get_byte1', `charset_get_byte2' and
2748         `Vdefault_preferred_coded_charset_list'.
2749
2750         * mule-charset.c (charset_get_byte1): New function.
2751         (charset_get_byte2): New function.
2752         (Vdefault_coded_charset_priority_list): New variable.
2753         (vars_of_mule_charset): Add new variable
2754         `default-coded-charset-priority-list'.
2755
2756 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2757
2758         * char-ucs.h (XCHARSET_GET_BYTE1): New inline function.
2759         (XCHARSET_GET_BYTE2): New inline function.
2760         (breakup_char_1): Use `XCHARSET_GET_BYTE1' and
2761         `XCHARSET_GET_BYTE2'.
2762
2763 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2764
2765         * mule-charset.c (make_charset): Initialize
2766         `CHARSET_TO_BYTE1_TABLE(cs)' and `CHARSET_TO_BYTE2_TABLE(cs)' by
2767         NULL if table is not defined.
2768
2769 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2770
2771         * text-coding.c (char_encode_shift_jis): Use
2772         `XCHARSET_TO_BYTE1_TABLE' for `Vcharset_latin_jisx0201' instead of
2773         `ucs_to_latin_jisx0201'.
2774
2775         * mule-charset.c (ucs_to_latin_jisx0201): Deleted.
2776         (ucs_to_latin_iso8859_2): Deleted.
2777         (ucs_to_latin_iso8859_3): Deleted.
2778         (ucs_to_latin_iso8859_4): Deleted.
2779         (ucs_to_latin_iso8859_9): Deleted.
2780         (ucs_to_latin_viscii_lower): Deleted.
2781         (ucs_to_latin_viscii_upper): Deleted.
2782         (ucs_to_latin_tcvn5712): Deleted.
2783         (make_charset): Add new argument `decoding_table'; set up
2784         `CHARSET_DECODING_TABLE(cs)' in UTF-2000; set up
2785         `CHARSET_TO_BYTE1_TABLE(cs)' for 94-set and 96-set if
2786         `decoding_table' is defined in UTF-2000.
2787         (Fmake_charset): Modify for `make_charset'.
2788         (Fmake_reverse_direction_charset): Likewise.
2789         (complex_vars_of_mule_charset): Likewise; delete `GENERATE_94_SET'
2790         and `GENERATE_96_SET'.
2791
2792         * char-ucs.h (latin_jisx0201_to_ucs): Deleted.
2793         (ucs_to_latin_jisx0201): Deleted.
2794         (latin_iso8859_2_to_ucs): Deleted.
2795         (ucs_to_latin_iso8859_2): Deleted.
2796         (latin_iso8859_3_to_ucs): Deleted.
2797         (ucs_to_latin_iso8859_3): Deleted.
2798         (latin_iso8859_4_to_ucs): Deleted.
2799         (ucs_to_latin_iso8859_4): Deleted.
2800         (latin_iso8859_9_to_ucs): Deleted.
2801         (ucs_to_latin_iso8859_9): Deleted.
2802         (latin_viscii_lower_to_ucs): Deleted.
2803         (ucs_to_latin_viscii_lower): Deleted.
2804         (latin_viscii_upper_to_ucs): Deleted.
2805         (ucs_to_latin_viscii_upper): Deleted.
2806         (struct Lisp_Charset): Renamed `encoding_table' to
2807         `to_byte1_table'; add `to_byte2_table'.
2808         (CHARSET_DECODING_TABLE): New macro.
2809         (CHARSET_TO_BYTE1_TABLE): New macro.
2810         (CHARSET_TO_BYTE2_TABLE): New macro.
2811         (XCHARSET_DECODING_TABLE): New macro.
2812         (XCHARSET_TO_BYTE1_TABLE): New macro.
2813         (XCHARSET_TO_BYTE2_TABLE): New macro.
2814         (MAKE_CHAR): Use `XCHARSET_DECODING_TABLE'; don't use `*_to_ucs'
2815         tables.
2816         (breakup_char_1): Use `XCHARSET_TO_BYTE1_TABLE' if it is defined;
2817         don't use `ucs_to_*' tables.
2818
2819 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2820
2821         * text-coding.c (Fmake_coding_system): Don't set up
2822         `codesys->fixed.size'.
2823         (encode_coding_no_conversion): Use `if' instead of `switch'.
2824
2825         * file-coding.h (struct Lisp_Coding_System): Delete `fixed.size'.
2826
2827 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2828
2829         * mule-charset.c (make_charset): Delete argument `rep_bytes'.
2830         (Fmake_charset): Modify for `make_charset'.
2831         (Fmake_reverse_direction_charset): Likewise.
2832         (complex_vars_of_mule_charset): Likewise.
2833
2834 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2835
2836         * text-coding.c (char_encode_shift_jis): Use table
2837         `ucs_to_latin_jisx0201' and BREAKUP_CHAR.
2838
2839 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2840
2841         * text-coding.c (text_encode_generic): Use `if' instead of
2842         `switch'.
2843         (decode_coding_sjis): Use `MAKE_CHAR' and `DECODE_ADD_UCS_CHAR' to
2844         decode JIS-Latin.
2845
2846 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2847
2848         * text-coding.c (encode_coding_sjis): Deleted.
2849         (char_encode_shift_jis): New function.
2850         (char_finish_shift_jis): New function.
2851         (reset_encoding_stream): Set up `encode_char' and `finish' for
2852         `CODESYS_UCS4' and `CODESYS_SHIFT_JIS'.
2853         (mule_encode): Use generic encoder for `CODESYS_SHIFT_JIS'.
2854         (char_encode_utf8): Treat `eol_type'.
2855
2856 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2857
2858         * file-coding.c (decode_coding_iso2022): Use
2859         `DECODE_ADD_UCS_CHAR'; don't use `XCHARSET_REP_BYTES'.
2860
2861 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2862
2863         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2864         to 0.7 (Hirano).
2865
2866 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2867
2868         * char-lb.h (CHAR_COLUMNS): New macro.
2869
2870 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2871
2872         * text-coding.c (char_encode_ucs4): New function.
2873         (char_finish_ucs4): New function.
2874         (encode_coding_ucs4): Deleted.
2875         (mule_encode): Use generic encoder for `CODESYS_UCS4'.
2876         (text_encode_generic): Delete local variable `charset' and `half'.
2877         (ucs_to_mule_table): Deleted.
2878         (mule_to_ucs_table): Deleted.
2879         (Fset_ucs_char): Deleted.
2880         (ucs_to_char): Deleted.
2881         (Fucs_char): Deleted.
2882         (Fset_char_ucs): Deleted.
2883         (Fchar_ucs): Deleted.
2884         (decode_ucs4): Deleted.
2885         (mule_char_to_ucs4): Deleted.
2886         (encode_ucs4): Deleted.
2887         (decode_coding_ucs4): Use `DECODE_ADD_UCS_CHAR'.
2888         (decode_coding_utf8): Likewise.
2889         (decode_coding_iso2022): Likewise; don't use `XCHARSET_REP_BYTES'.
2890         (char_encode_iso2022): Fixed.
2891         (syms_of_file_coding): Delete `Fset_ucs_char', `Fucs_char',
2892         `Fset_char_ucs' and `Fchar_ucs'.
2893         (complex_vars_of_file_coding): Don't initialize
2894         `ucs_to_mule_table'.
2895
2896         * objects-tty.c (tty_initialize_font_instance): Don't use
2897         `XCHARSET_COLUMNS'.
2898
2899         * mule-charset.c (make_charset): Don't set up CHARSET_REP_BYTES in
2900         UTF-2000.
2901
2902         * redisplay-tty.c (tty_output_display_block): Use `CHAR_COLUMNS'
2903         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
2904
2905         * insdel.c (bufbyte_string_displayed_columns): Use `CHAR_COLUMNS'
2906         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
2907         (emchar_string_displayed_columns): Likewise.
2908
2909         * indent.c (column_at_point): Use `CHAR_COLUMNS' instead of
2910         `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
2911         (string_column_at_point): Likewise.
2912         (Fmove_to_column): Likewise.
2913
2914         * char-ucs.h (struct Lisp_Charset): Delete `rep_bytes'; add
2915         `encoding_table' and `decoding_table'.
2916         (CHARSET_REP_BYTES): Deleted.
2917         (XCHARSET_REP_BYTES): Deleted.
2918         (XCHARSET_COLUMNS): Deleted.
2919         (CHAR_COLUMNS): New macro.
2920         (lookup_composite_char): Deleted unconditionally.
2921         (composite_char_string): Likewise.
2922
2923 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2924
2925         * char-ucs.h (Emchar_to_byte_table): New type.
2926         (get_byte_from_character_table): New function interface.
2927         (Vcharset_latin_jisx0201): New variable.
2928         (latin_jisx0201_to_ucs): New variable.
2929         (ucs_to_latin_jisx0201): New variable.
2930         (Vcharset_latin_iso8859_2): New variable.
2931         (latin_iso8859_2_to_ucs): New variable.
2932         (ucs_to_latin_iso8859_2): New variable.
2933         (Vcharset_latin_iso8859_3): New variable.
2934         (latin_iso8859_3_to_ucs): New variable.
2935         (ucs_to_latin_iso8859_3): New variable.
2936         (Vcharset_latin_iso8859_4): New variable.
2937         (latin_iso8859_4_to_ucs): New variable.
2938         (ucs_to_latin_iso8859_4): New variable.
2939         (Vcharset_latin_iso8859_9): New variable.
2940         (latin_iso8859_9_to_ucs): New variable.
2941         (ucs_to_latin_iso8859_9): New variable.
2942         (Vcharset_latin_viscii_lower): New variable.
2943         (latin_viscii_lower_to_ucs): New variable.
2944         (ucs_to_latin_viscii_lower): New variable.
2945         (Vcharset_latin_viscii_upper): New variable.
2946         (latin_viscii_upper_to_ucs): New variable.
2947         (ucs_to_latin_viscii_upper): New variable.
2948         (CHARSET_ID_OFFSET_94): Changed from 0x60 to 0x55.
2949         (LEADING_BYTE_LATIN_VISCII_LOWER): New macro.
2950         (LEADING_BYTE_LATIN_VISCII_UPPER): New macro.
2951         (MAKE_CHAR): Map `latin-iso8859-2', `latin-iso8859-3',
2952         `latin-iso8859-4', `latin-iso8859-9', `latin-jisx0201',
2953         `vietnamese-viscii-lower' and `vietnamese-viscii-upper' to BMP.
2954         (breakup_char_1): Use `ucs_to_latin_iso8859_2',
2955         `ucs_to_latin_iso8859_3', `ucs_to_latin_iso8859_4',
2956         `ucs_to_latin_iso8859_9', `ucs_to_latin_viscii_lower',
2957         `ucs_to_latin_viscii_upper' and `ucs_to_latin_jisx0201' tables.
2958
2959         * mule-charset.c (Vcharset_latin_viscii_lower): New variable.
2960         (Vcharset_latin_viscii_upper): New variable.
2961         (make_byte_from_character_table): New function.
2962         (put_byte_from_character_table): New function.
2963         (get_byte_from_character_table): New function.
2964         (CHAR96): New macro.
2965         (ucs_to_latin_jisx0201): New variable.
2966         (latin_jisx0201_to_ucs): New variable.
2967         (ucs_to_latin_iso8859_2): New variable.
2968         (latin_iso8859_2_to_ucs): New variable.
2969         (ucs_to_latin_iso8859_3): New variable.
2970         (latin_iso8859_3_to_ucs): New variable.
2971         (ucs_to_latin_iso8859_4): New variable.
2972         (latin_iso8859_4_to_ucs): New variable.
2973         (ucs_to_latin_iso8859_9): New variable.
2974         (latin_iso8859_9_to_ucs): New variable.
2975         (ucs_to_latin_viscii_lower): New variable.
2976         (latin_viscii_lower_to_ucs): New variable.
2977         (ucs_to_latin_viscii_upper): New variable.
2978         (latin_viscii_upper_to_ucs): New variable.
2979         (ucs_to_latin_tcvn5712): New variable.
2980         (latin_tcvn5712_to_ucs): New variable.
2981         (Qlatin_viscii_lower): New variable.
2982         (Qlatin_viscii_upper): New variable.
2983         (syms_of_mule_charset): Set up new symbol
2984         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'.
2985         (complex_vars_of_mule_charset): Set up new charset
2986         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'; new macro
2987         `GENERATE_94_SET' and `GENERATE_96_SET'; use them to generate
2988         `ucs_to_<CHARSET>' tables.
2989
2990 1999-09-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
2991
2992         * text-coding.c: New file.
2993
2994 1999-09-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
2995
2996         * mule-charset.c (Fmake_char): Fix problem of 256-set.
2997
2998         * char-ucs.h (Vcharset_ucs_bmp): New variable.
2999         (MAKE_CHAR): Modify for `ucs-bmp'.
3000         (breakup_char_1): Return `ucs-bmp' and code point of BMP for
3001         non-MULE characters of BMP.
3002
3003 1999-09-06  MORIOKA Tomohiko  <tomo@etl.go.jp>
3004
3005         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3006         to 0.6.
3007
3008 1999-09-05  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3009
3010         * lstream.h:
3011         - Include multibyte.h instead of character.h for `BYTE_ASCII_P'.
3012         - Include character.h for `CHAR_ASCII_P'.
3013
3014         * mb-multibyte.h (CHAR_MULTIBYTE_P): Moved from mule-charset.h.
3015
3016         * mule-charset.h (CHAR_MULTIBYTE_P): Moved to mb-multibyte.h.
3017         (CHAR_ASCII_P): Don't use `CHAR_MULTIBYTE_P'.
3018
3019         * mb-multibyte.h (BYTE_ASCII_P): Moved from char-ucs.h.
3020         (BYTE_C0_P): Likewise.
3021         (BYTE_C1_P): Likewise.
3022         (Lstream_get_emchar_1): Likewise.
3023         (Lstream_fput_emchar): Likewise.
3024         (Lstream_funget_emchar): Likewise.
3025         (copy_internal_to_external): Likewise.
3026         (copy_external_to_internal): Likewise.
3027
3028         * char-ucs.h (BYTE_ASCII_P): Moved to mb-multibyte.h.
3029         (BYTE_C0_P): Likewise.
3030         (BYTE_C1_P): Likewise.
3031         (Lstream_get_emchar_1): Likewise.
3032         (Lstream_fput_emchar): Likewise.
3033         (Lstream_funget_emchar): Likewise.
3034         (copy_internal_to_external): Likewise.
3035         (copy_external_to_internal): Likewise.
3036
3037         * mb-1byte.h (BYTE_ASCII_P): Moved from buffer.h.
3038         (REP_BYTES_BY_FIRST_BYTE): Likewise.
3039
3040         * buffer.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-1byte.h.
3041         (BYTE_ASCII_P): Moved to mb-1byte.h.
3042
3043 1999-09-04  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3044
3045         * mb-utf-8.h, mb-lb.h: Include mb-multibyte.h.
3046
3047         * multibyte.h: Include mb-1byte.h in unibyte-XEmacs.
3048         (MAX_EMCHAR_LEN): Moved to mb-1byte.h.
3049         (VALID_CHARPTR_P): Moved to mb-*byte.h.
3050         (VALIDATE_CHARPTR_BACKWARD): Likewise.
3051         (VALIDATE_CHARPTR_FORWARD): Likewise.
3052         (simple_charptr_emchar): Moved to mb-multibyte.h.
3053         (simple_set_charptr_emchar): Likewise.
3054         (simple_charptr_copy_char): Likewise.
3055         (non_ascii_charptr_emchar): Likewise.
3056         (non_ascii_set_charptr_emchar): Likewise.
3057         (non_ascii_charptr_copy_char): Likewise.
3058         (charptr_emchar): Moved to mb-*byte.h.
3059         (set_charptr_emchar): Likewise.
3060         (charptr_copy_char): Likewise.
3061
3062         * mb-1byte.h, mb-multibyte.h: New files.
3063
3064 1999-09-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3065
3066         * mb-utf-8.h (MULTIBYTE): New macro.
3067         (MAX_EMCHAR_LEN): Moved from buffer.h.
3068         (REP_BYTES_BY_FIRST_BYTE): Moved from char-ucs.h.
3069
3070         * char-ucs.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-utf-8.h.
3071
3072         * mb-lb.h, multibyte.h: New files.
3073
3074         * char-1byte.h (Charset_ID): Moved from buffer.h.
3075         (MIN_LEADING_BYTE): Likewise.
3076         (LEADING_BYTE_ASCII): Likewise.
3077         (NUM_LEADING_BYTES): Likewise.
3078         (CHARSETP): Likewise.
3079         (CHARSET_BY_LEADING_BYTE): Likewise.
3080         (XCHARSET_LEADING_BYTE): Likewise.
3081         (XCHARSET_GRAPHIC): Likewise.
3082         (XCHARSET_COLUMNS): Likewise.
3083         (XCHARSET_DIMENSION): Likewise.
3084         (CHAR_CHARSET): Likewise.
3085         (CHAR_LEADING_BYTE): Likewise.
3086         (BREAKUP_CHAR): Likewise.
3087         (Vcharset_ascii): Likewise.
3088
3089         * buffer.h: Include multibyte.h unconditionally.
3090         (VALID_CHARPTR_P): Moved to multibyte.h.
3091         (ASSERT_VALID_CHARPTR): Likewise.
3092         (REAL_INC_CHARPTR): Likewise.
3093         (REAL_INC_CHARBYTIND): Likewise.
3094         (REAL_DEC_CHARPTR): Likewise.
3095         (INC_CHARPTR): Likewise.
3096         (INC_CHARBYTIND): Likewise.
3097         (DEC_CHARPTR): Likewise.
3098         (VALIDATE_CHARPTR_BACKWARD): Likewise.
3099         (VALIDATE_CHARPTR_FORWARD): Likewise.
3100         (charptr_n_addr): Likewise.
3101         (MAX_EMCHAR_LEN): Moved to mb-*.h.
3102         (simple_charptr_emchar): Moved to multibyte.h.
3103         (simple_set_charptr_emchar): Likewise.
3104         (simple_charptr_copy_char): Likewise.
3105         (non_ascii_charptr_emchar): Likewise.
3106         (non_ascii_set_charptr_emchar): Likewise.
3107         (non_ascii_charptr_copy_char): Likewise.
3108         (charptr_emchar): Likewise.
3109         (set_charptr_emchar): Likewise.
3110         (charptr_copy_char): Likewise.
3111         (charptr_emchar_n): Likewise.
3112         (Charset_ID): Moved to char-1byte.h.
3113         (Vcharset_ascii): Likewise.
3114         (CHAR_CHARSET): Likewise.
3115         (CHAR_LEADING_BYTE): Likewise.
3116         (LEADING_BYTE_ASCII): Likewise.
3117         (NUM_LEADING_BYTES): Likewise.
3118         (MIN_LEADING_BYTE): 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         (BREAKUP_CHAR): Likewise.
3126
3127 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3128
3129         * character.h: Add document about interface for characters.
3130
3131         * char-ucs.h (CHAR_ASCII_P): Modify name of argument.
3132         (MAKE_CHAR): Delete comment about
3133         `FIELD2_TO_OFFICIAL_LEADING_BYTE' and
3134         `FIELD2_TO_PRIVATE_LEADING_BYTE'.
3135         (BREAKUP_CHAR): Modify name of arguments.
3136         (CHAR_CHARSET): Modify name of argument.
3137
3138         * buffer.h: Delete document about Emchar accessors.
3139
3140 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3141
3142         * character.h (CHAR_INTP): Moved from buffer.h
3143         (CHAR_OR_CHAR_INTP): Likewise.
3144         (XCHAR_OR_CHAR_INT): Likewise.
3145         (CHECK_CHAR_COERCE_INT): Likewise.
3146
3147         * buffer.h (CHAR_INTP): Moved to character.h
3148         (CHAR_OR_CHAR_INTP): Likewise.
3149         (XCHAR_OR_CHAR_INT): Likewise.
3150         (CHECK_CHAR_COERCE_INT): Likewise.
3151
3152 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3153
3154         * character.h:
3155         - Move definitions about UCS-2000 (UCS-4) to char-ucs.h.
3156         - Include char-1byte.h, char-lb.h or char-ucs.h.
3157
3158         * mb-utf-8.h (CHAR_ASCII_P): Moved to char-ucs.h.
3159
3160         * buffer.h: Include character unconditionally.
3161         (valid_char_p): Moved to char-*.h.
3162         (non_ascii_valid_char_p): Moved to char-lb.h.
3163
3164         * char-1byte.h, char-lb.h, char-ucs.h: New files.
3165
3166 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3167
3168         * mule-ccl.c (ccl_driver): Don't define `CCL_WriteMultibyteChar2'
3169         in UTF-2000 because it is not ported yet and not to use
3170         `FIELD2_TO_OFFICIAL_LEADING_BYTE', `MIN_LEADING_BYTE_OFFICIAL_2',
3171         `FIELD1_TO_OFFICIAL_LEADING_BYTE' and
3172         `FIELD1_TO_PRIVATE_LEADING_BYTE'.
3173
3174         * mb-utf-8.h (CHAR_MULTIBYTE_P): Moved from character.h.
3175         (CHAR_ASCII_P): Moved from character.h.
3176
3177         * character.h (CHAR_MULTIBYTE_P): Moved to mb-utf-8.h.
3178         (CHAR_ASCII_P): Likewise.
3179         (CHAR_FIELD1_MASK): Deleted.
3180         (CHAR_FIELD2_MASK): Deleted.
3181         (CHAR_FIELD3_MASK): Deleted.
3182         (MAX_CHAR_BASIC_LATIN): New macro.
3183         (CHAR_FIELD1): Deleted.
3184         (CHAR_FIELD2_INTERNAL): Deleted.
3185         (CHAR_FIELD3_INTERNAL): Deleted.
3186         (FIELD1_TO_PRIVATE_LEADING_BYTE): Deleted.
3187         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Deleted.
3188         (FIELD2_TO_PRIVATE_LEADING_BYTE): Deleted.
3189         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Deleted.
3190         (MIN_CHAR_FIELD1_OFFICIAL): Deleted.
3191         (MAX_CHAR_FIELD1_OFFICIAL): Deleted.
3192         (MIN_CHAR_FIELD2_PRIVATE): Deleted.
3193         (MAX_CHAR_FIELD2_PRIVATE): Deleted.
3194         (MIN_CHAR_FIELD1_PRIVATE): Deleted.
3195         (MAX_CHAR_FIELD1_PRIVATE): Deleted.
3196         (MULE_CHAR_PRIVATE_OFFSET): Deleted.
3197         (MIN_CHAR_PRIVATE_TYPE9N): Deleted.
3198         (MAX_CHAR_PRIVATE_TYPE9N): Deleted.
3199         (MIN_CHAR_PRIVATE_TYPE9NX9N): Deleted.
3200         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Deleted.
3201         (MIN_CHAR_COMPOSITION): Deleted.
3202         (breakup_char_1): Use `MAX_CHAR_BASIC_LATIN' instead of
3203         `CHAR_ASCII_P'; use `0x7f' instead of `CHAR_FIELD3_INTERNAL'.
3204
3205 1999-09-02  MORIOKA Tomohiko  <tomo@m17n.org>
3206
3207         * buffer.h: Include mb-utf-8.h in UTF-2000.
3208
3209         * character.h (BUFBYTE_FIRST_BYTE_P): Moved to mb-utf-8.h.
3210
3211         * mb-utf-8.h: New file.
3212
3213 1999-09-02  MORIOKA Tomohiko  <tomo@etl.go.jp>
3214
3215         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use `Charset_ID'
3216         instead of `int'.
3217
3218         * mule-charset.h, buffer.h (Charset_ID): New type.
3219
3220 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
3221
3222         * mule-canna.c (c2mu): Use `MAKE_CHAR',
3223         `Vcharset_japanese_jisx0212' and `Vcharset_japanese_jisx0208'
3224         instead of `MULE_CHAR_PRIVATE_OFFSET',
3225         `LEADING_BYTE_JAPANESE_JISX0212', `LEADING_BYTE_JAPANESE_JISX0208'
3226         and `FIELD1_TO_OFFICIAL_LEADING_BYTE'.
3227         (m2c): Use `BREAKUP_CHAR' and `XCHARSET_FINAL'.
3228
3229         * character.h (Vcharset_japanese_jisx0212): New variable
3230         definition.
3231
3232 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
3233
3234         * mule-charset.c (Vcharset_ucs_bmp): New variable in UTF-2000.
3235         (charset_by_attributes): Delete array about direction.
3236         (latin_a_char_to_charset): New variable in UTF-2000.
3237         (latin_a_char_to_byte1): New variable in UTF-2000.
3238         (latin_a_char_to_byte2): New variable in UTF-2000.
3239         (Qucs_bmp): New variable.
3240         (next_allocated_1_byte_leading_byte): Use `Charset_ID' instead of
3241         `Bufbyte'.
3242         (next_allocated_2_byte_leading_byte): Likewise.
3243         (non_ascii_set_charptr_emchar): Likewise.
3244         (make_charset): Likewise; add `CHARSET_TYPE_128X128' and
3245         `CHARSET_TYPE_256X256' in UTF-2000; modify for
3246         `charset_by_attributes'.
3247         (get_unallocated_leading_byte): Use `Charset_ID' instead of `int'.
3248         (char-charset): Use `CHAR_CHARSET' instead of `CHAR_LEADING_BYTE'
3249         and `CHARSET_BY_LEADING_BYTE'.
3250         (syms_of_mule_charset): Set up `ucs-bmp'; move setting of
3251         `utf-2000-version' to `vars_of_mule_charset'.
3252         (vars_of_mule_charset): Modify for `charset_by_attributes'; don't
3253         define `leading-code-private-11' in UTF-2000; move setting of
3254         `utf-2000-version' from `syms_of_mule_charset'.
3255         (complex_vars_of_mule_charset): Set up charset `ucs-bmp' in
3256         UTF-2000.
3257
3258         * character.h (Charset_ID): New type.
3259         (LEADING_BYTE_UCS_BMP): New macro.
3260         (LEADING_BYTE_CONTROL_1): Changed from 0x8F to 0x81.
3261         (CHARSET_ID_OFFSET_94): New macro.
3262         (MIN_CHARSET_ID_PRIVATE_94): New macro.
3263         (MAX_CHARSET_ID_PRIVATE_94): New macro.
3264         (LEADING_BYTE_ASCII): Changed to use CHARSET_ID_OFFSET_94 and
3265         final-byte.
3266         (LEADING_BYTE_KATAKANA_JISX0201): Likewise.
3267         (LEADING_BYTE_LATIN_JISX0201): Likewise.
3268         (CHARSET_ID_OFFSET_96): New macro.
3269         (LEADING_BYTE_LATIN_ISO8859_1): Changed to use
3270         CHARSET_ID_OFFSET_96 and final-byte.
3271         (LEADING_BYTE_LATIN_ISO8859_2): Likewise.
3272         (LEADING_BYTE_LATIN_ISO8859_3): Likewise.
3273         (LEADING_BYTE_LATIN_ISO8859_4): Likewise.
3274         (LEADING_BYTE_GREEK_ISO8859_7): Likewise.
3275         (LEADING_BYTE_ARABIC_ISO8859_6): Likewise.
3276         (LEADING_BYTE_HEBREW_ISO8859_8): Likewise.
3277         (LEADING_BYTE_CYRILLIC_ISO8859_5): Likewise.
3278         (LEADING_BYTE_LATIN_ISO8859_9): Likewise.
3279         (LEADING_BYTE_THAI_TIS620): Likewise.
3280         (MIN_LEADING_BYTE_PRIVATE_1): Changed from 0x0D0 to 0xD0.
3281         (MAX_LEADING_BYTE_PRIVATE_1): Changed from 0x11f to 0xDF.
3282         (CHARSET_ID_OFFSET_94x94): New macro.
3283         (LEADING_BYTE_CHINESE_BIG5_1): Changed to use
3284         CHARSET_ID_OFFSET_94x94 and final-byte.
3285         (LEADING_BYTE_CHINESE_BIG5_2): Likewise.
3286         (MIN_LEADING_BYTE_PRIVATE_2): Likewise.
3287         (MAX_LEADING_BYTE_PRIVATE_2): Likewise.
3288         (LEADING_BYTE_JAPANESE_JISX0208_1978): Likewise.
3289         (LEADING_BYTE_CHINESE_GB2312): Likewise.
3290         (LEADING_BYTE_JAPANESE_JISX0208): Likewise.
3291         (LEADING_BYTE_KOREAN_KSC5601): Likewise.
3292         (LEADING_BYTE_JAPANESE_JISX0212): Likewise.
3293         (LEADING_BYTE_CHINESE_CCITT_GB): Likewise.
3294         (LEADING_BYTE_CHINESE_CNS11643_*): Likewise.
3295         (LEADING_BYTE_KOREAN_KPS9566): Likewise.
3296         (CHARSET_TYPE_128X128): New macro.
3297         (CHARSET_TYPE_256X256): New macro.
3298         (XCHARSET_PRIVATE_P): Delete unconditionally.
3299         (charset_by_attributes): Delete array about direction.
3300         (CHARSET_BY_LEADING_BYTE): Use `Charset_ID' instead of `int'.
3301         (CHARSET_BY_ATTRIBUTES): Modify for `charset_by_attributes'.
3302         (MIN_CHAR_94): New macro.
3303         (MAX_CHAR_94): New macro.
3304         (MIN_CHAR_96): New macro.
3305         (MAX_CHAR_96): New macro.
3306         (MIN_CHAR_94x94): New macro.
3307         (MAX_CHAR_94x94): New macro.
3308         (MIN_CHAR_96x96): New macro.
3309         (MAX_CHAR_96x96): New macro.
3310         (FIELD1_TO_PRIVATE_LEADING_BYTE): Use `CHARSET_ID_OFFSET_94x94'.
3311         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
3312         (FIELD2_TO_PRIVATE_LEADING_BYTE): Use `(MIN_LEADING_BYTE_PRIVATE_1
3313         - 32)'.
3314         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Use `LEADING_BYTE_ASCII'.
3315         (MIN_CHAR_FIELD2_OFFICIAL): Deleted.
3316         (MAX_CHAR_FIELD2_OFFICIAL): Deleted.
3317         (MIN_CHAR_OFFICIAL_TYPE9N): Deleted.
3318         (MAX_CHAR_PRIVATE_TYPE9N): Changed.
3319         (MAKE_CHAR): Use `XCHARSET_FINAL' instead of
3320         `XCHARSET_LEADING_BYTE' to make code-point.
3321         (latin_a_char_to_charset): New variable.
3322         (latin_a_char_to_byte1): New variable.
3323         (latin_a_char_to_byte2): New variable.
3324         (breakup_char_1): Use `latin_a_char_to_{charset|byte1|byte2}' for
3325         Latin Extended-A; use `CHARSET_BY_ATTRIBUTES' instead of
3326         `CHARSET_BY_LEADING_BYTE' to get charset for ISO-2022 characters.
3327
3328         * insdel.c (find_charsets_in_bufbyte_string): Use `Charset_ID'
3329         instead of `unsigned char'; use `MIN_LEADING_BYTE' instead of 128.
3330         (find_charsets_in_emchar_string): Likewise.
3331         (vars_of_insdel): Don't define local variable `i' in UTF-2000.
3332
3333         * file-coding.c (Fdecode_big5_char): Use `Charset_ID' instead of
3334         `int'.
3335         (decode_coding_iso2022): Likewise.
3336
3337         * toolbar-x.c (x_output_toolbar_button): Use `Charset_ID' instead
3338         of `unsigned char'.
3339
3340         * redisplay.c (redisplay_text_width_emchar_string): Use
3341         `Charset_ID' instead of `unsigned char'.
3342         (redisplay_frame_text_width_string): Likewise.
3343
3344         * glyphs.c (glyph_height_internal): Use `Charset_ID' instead of
3345         `unsigned char'.
3346
3347         * faces.h, faces.c (ensure_face_cachel_complete): Use `Charset_ID'
3348         instead of `unsigned char'.
3349         (face_cachel_charset_font_metric_info): Likewise.
3350
3351         * chartab.c (print_char_table): Use `Charset_ID' instead of `int'.
3352         (get_non_ascii_char_table_value): Likewise.
3353         (get_char_table): Likewise.
3354         (put_char_table): Likewise.
3355         (map_over_other_charset): Likewise.
3356         (map_char_table): Likewise.
3357
3358         * buffer.h (find_charsets_in_bufbyte_string): Use `Charset_ID'
3359         instead of `unsigned char'.
3360
3361 1999-08-31  MORIOKA Tomohiko  <tomo@etl.go.jp>
3362
3363         * character.h (PRE_LEADING_BYTE_PRIVATE_1): Deleted.
3364         (PRE_LEADING_BYTE_PRIVATE_2): Deleted.
3365
3366         * mule-charset.c (leading_code_private_11): Don't define in
3367         UTF-2000.
3368
3369         * mule-ccl.c (ccl_driver): Don't define `CCL_ReadMultibyteChar2'
3370         in UTF-2000 because it is not ported yet and not to use
3371         `PRE_LEADING_BYTE_PRIVATE_1' and `PRE_LEADING_BYTE_PRIVATE_2'.
3372
3373 1999-08-30  MORIOKA Tomohiko  <tomo@etl.go.jp>
3374
3375         * character.h (LEADING_BYTE_COMPOSITE): Deleted.
3376
3377 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3378
3379         * regex.c (re_compile_fastmap): Don't use `LEADING_BYTE_PREFIX_P'
3380         in UTF-2000.
3381
3382         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use int instead
3383         of unsigned char to store leading-byte.
3384
3385         * chartab.c (get_non_ascii_char_table_value): Don't use
3386         `BREAKUP_CHAR_1_UNSAFE' in UTF-2000.
3387
3388         * file-coding.c (encode_coding_big5): Delete bogus implementation
3389         in UTF2000.
3390
3391         * character.h (LEADING_BYTE_*): Delete definition for
3392         non-UTF-2000.
3393         (LEADING_BYTE_PRIVATE_P): Deleted unconditionally.
3394         (LEADING_BYTE_PREFIX_P): Deleted.
3395         (PRIVATE_LEADING_BYTE_PREFIX): Deleted.
3396         (BUFBYTE_FIRST_BYTE_P): Delete definition for non-UTF-2000.
3397         (BUFBYTE_LEADING_BYTE_P): Deleted.
3398         (CHARSET_PRIVATE_P): Deleted unconditionally.
3399         (rep_bytes_by_first_byte): Deleted unconditionally.
3400         (REP_BYTES_BY_FIRST_BYTE): Delete definition for non-UTF-2000.
3401         (FIELD1_TO_PRIVATE_LEADING_BYTE): Likewise.
3402         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
3403         (FIELD2_TO_PRIVATE_LEADING_BYTE): Likewise.
3404         (CHAR_FIELD2): Deleted.
3405         (CHAR_FIELD3): Deleted.
3406         (MAKE_CHAR): Delete definition for non-UTF-2000.
3407         (BREAKUP_CHAR_1_UNSAFE): Deleted.
3408         (breakup_char_1): New implementation.
3409         (CHAR_CHARSET): Use `BREAKUP_CHAR'.
3410         (CHAR_LEADING_BYTE): Use `CHAR_CHARSET'.
3411
3412 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3413
3414         * character.h (REP_BYTES_BY_FIRST_BYTE): Change order of
3415         condition.
3416
3417 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3418
3419         * character.h (LEADING_BYTE_PRIVATE_P): Don't define in UTF2000.
3420         (CHARSET_PRIVATE_P): Likewise.
3421         (XCHARSET_PRIVATE_P): Likewise.
3422         (MAKE_CHAR): Don't use XCHARSET_PRIVATE_P in UTF2000.
3423
3424         * file-coding.c (encode_coding_ucs4): Delete bogus implement in
3425         UTF2000.
3426         (decode_coding_iso2022): Don't use XCHARSET_PRIVATE_P in UTF2000.
3427
3428 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3429
3430         * character.h (LEADING_BYTE_*): Changed in UTF2000.
3431         (NUM_LEADING_BYTES): Changed from 128 to 256.
3432         (FIELD1_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
3433         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Change value to 0x80 in
3434         UTF2000.
3435         (FIELD2_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
3436
3437         * mule-charset.c (Vcharset_chinese_cns11643_3): New variable in
3438         UTF2000.
3439         (Vcharset_chinese_cns11643_4): New variable in UTF2000.
3440         (Vcharset_chinese_cns11643_5): New variable in UTF2000.
3441         (Vcharset_chinese_cns11643_6): New variable in UTF2000.
3442         (Vcharset_chinese_cns11643_7): New variable in UTF2000.
3443         (Qchinese_cns11643_3): New variable in UTF2000.
3444         (Qchinese_cns11643_4): New variable in UTF2000.
3445         (Qchinese_cns11643_5): New variable in UTF2000.
3446         (Qchinese_cns11643_6): New variable in UTF2000.
3447         (Qchinese_cns11643_7): New variable in UTF2000.
3448         (syms_of_mule_charset): Define `chinese-cns11643-3',
3449         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
3450         and `chinese-cns11643-7' in UTF2000.
3451         (vars_of_mule_charset): Initialize
3452         next_allocated_2_byte_leading_byte by LEADING_BYTE_CHINESE_BIG5_2
3453         + 1 in UTF2000.
3454         (complex_vars_of_mule_charset): Setup charset
3455         `chinese-cns11643-3', `chinese-cns11643-4', `chinese-cns11643-5',
3456         `chinese-cns11643-6' and `chinese-cns11643-7' in UTF2000.
3457
3458 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3459
3460         * mule-charset.c: Move setting for `leading-code-private-11' from
3461         `syms_of_mule_charset' to `vars_of_mule_charset'.
3462
3463 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3464
3465         * mule-charset.h (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE'
3466         and `NUM_LEADING_BYTES' in assert.
3467
3468 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3469
3470         * character.h (charset_by_leading_byte): Use `NUM_LEADING_BYTES'
3471         instead of 128.
3472         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' and
3473         `NUM_LEADING_BYTES' instead of 128.
3474
3475 1999-08-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
3476
3477         * mule-charset.h (charset_by_leading_byte): Use
3478         `NUM_LEADING_BYTES' instead of 128.
3479         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' instead of 128.
3480
3481         * mule-charset.c (charset_by_leading_byte): Use
3482         `NUM_LEADING_BYTES' instead of 128.
3483         (make_charset): Use `MIN_LEADING_BYTE' instead of 128.
3484
3485         * faces.h (FACE_CACHEL_FONT): Use `MIN_LEADING_BYTE' instead of
3486         128.
3487
3488 1999-08-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
3489
3490         * mule-charset.c (syms_of_mule_charset): Update to
3491         0.4 (Shin-Imamiya).
3492
3493 1999-07-13 Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
3494
3495         * file-coding.c (encode_coding_sjis): New implementation for
3496         UTF2000.  (decode_coding_sjis): Ditto.
3497
3498 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
3499
3500         * mule-charset.c, character.h (Bytecount rep_bytes_by_first_byte):
3501         Don't define in UTF2000.
3502
3503         * character.h: Include mule-charset.h if CHAR_IS_UCS4 is not
3504         defined.
3505
3506         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
3507         mule-ccl.c, lstream.h, buffer.h: Include character.h in every
3508         MULE.
3509
3510 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
3511
3512         * config.h.in (CHAR_IS_UCS4): New macro.
3513
3514         * mule-charset.c (rep_bytes_by_first_byte): Modify for
3515         conventional MULE representation.
3516         (syms_of_mule_charset): Update to 0.3 (Imamiya).
3517
3518         * mule-charset.h: Reverted to original.
3519
3520         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
3521         mule-ccl.c, lstream.h, buffer.h: Use "character.h" instead of
3522         "mule-charset.h" if CHAR_IS_UCS4 is defined.
3523
3524         * character.h: New file.
3525
3526         * file-coding.c (Fmake_coding_system): Set 1 to
3527         `codesys->fixed.size' if TYPE is `no-conversion' and UTF2000 is
3528         defined.
3529         (encode_coding_no_conversion): New implementation for UTF2000.
3530
3531         * file-coding.h (struct Lisp_Coding_System): Add new member
3532         `fixed.size'.
3533
3534 1999-06-16  MORIOKA Tomohiko  <tomo@etl.go.jp>
3535
3536         * file-coding.c (decode_coding_iso2022): Code-point arguments of
3537         `MAKE_CHAR' must be smaller than 0x80 in UTF2000.
3538         (encode_coding_iso2022): New implementation for UTF2000.
3539
3540 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3541
3542         * mule-canna.c (c2mu): New implementation for UTF2000.
3543         (m2c): Likewise.
3544
3545 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3546
3547         * file-coding.c (encode_coding_no_conversion): Modify for UTF2000.
3548
3549 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3550
3551         * file-coding.c (reset_encoding_stream): Set 0 to
3552         `str->iso2022.current_char_boundary' in UTF2000.
3553         (encode_utf8): Don't define in UTF2000.
3554         (encode_coding_utf8): New implementation for UTF-8 representation
3555         of UTF2000.
3556         (complex_vars_of_file_coding): Define coding-system `utf-8'.
3557
3558 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3559
3560         * mule.c (vars_of_mule): Provide `utf-2000' in UTF2000.
3561
3562         * mule-charset.h (BUFBYTE_FIRST_BYTE_P): Modify for UTF-8 in
3563         UTF2000.
3564         (REP_BYTES_BY_FIRST_BYTE): Likewise.
3565
3566         * buffer.h (non_ascii_valid_char_p): Don't define in UTF2000.
3567
3568         * mule-charset.c (non_ascii_set_charptr_emchar): Don't define
3569         local variables `lb', `c1', `c2' and `charset' in UTF2000; encode
3570         as UTF-8 in UTF2000.
3571         (non_ascii_charptr_emchar): Decode as UTF-8 in UTF2000.
3572         (non_ascii_valid_char_p): Don't define in UTF2000.
3573         (non_ascii_charptr_copy_char): Add case 5 and 6 in UTF2000.
3574         (Lstream_get_emchar_1): Likewise.
3575         (utf-2000-version): New variable in UTF2000.
3576
3577         * lread.c (read_escape): Add new reader `u'.
3578
3579         * insdel.c (three_to_one_table): Don't define in UTF2000.
3580         (bufpos_to_bytind_func): Use `buf->text->mule_size' instead of
3581         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
3582         UTF2000.
3583         (bytind_to_bufpos_func): Likewise.
3584         (buffer_mule_signal_inserted_region): Likewise.
3585         (vars_of_insdel): Don't initialize `three_to_one_table'.
3586         (init_buffer_text): Use `buf->text->mule_size' instead of
3587         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
3588         UTF2000.
3589
3590         * file-coding.c (DECODE_ADD_BINARY_CHAR): New implementation for
3591         UTF-8 representation in UTF2000.
3592         (DECODE_ADD_UCS_CHAR): New macro in UTF2000.
3593         (decode_ucs4): Use `DECODE_ADD_UCS_CHAR' in UTF2000.
3594         (decode_coding_iso2022): Don't define local variable `lb' in
3595         UTF2000; don't use LEADING_BYTE in UTF2000; use
3596         `DECODE_ADD_UCS_CHAR' in UTF2000.
3597         (convert_to_external_format): Decode as UTF-8 in UTF2000.
3598
3599         * config.h.in (UTF2000): New macro.
3600
3601         * buffer.h (struct buffer_text): Add new member `mule_size' and
3602         don't add `mule_shifter' and `mule_three_p' in UTF2000.
3603         (valid_char_p): Return always 1 in UTF2000.
3604         (MAX_EMCHAR_LEN): 6 in UTF2000.
3605         (three_to_one_table): Don't define in UTF2000.
3606         (real_bufpos_to_bytind): Modify for UTF-8 representation in
3607         UTF2000.
3608         (real_bytind_to_bufpos): Likewise.
3609
3610         * alloc.c (Fmake_string): Add case 5 and 6 for UTF2000.
3611
3612 1999-06-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3613
3614         * mule-charset.c (rep_bytes_by_first_byte): Modified for character
3615         representation change.
3616         (Vutf_2000_version): New variable.
3617         (leading_code_private_11): New variable.
3618         (syms_of_mule_charset): Add new variables `utf-2000-version' and
3619         `leading-code-private-11'.
3620
3621         * mule-charset.h (LEADING_BYTE_CHINESE_CCITT_GB): New macro.
3622         (LEADING_BYTE_CHINESE_BIG5_1): Changed to 0x96 temporally.
3623         (LEADING_BYTE_CHINESE_CNS11643_1): Changed to 0x97.
3624         (LEADING_BYTE_CHINESE_CNS11643_2): Changed to 0x98.
3625         (LEADING_BYTE_CHINESE_CNS11643_3): New macro.
3626         (LEADING_BYTE_CHINESE_CNS11643_4): Likewise.
3627         (LEADING_BYTE_CHINESE_CNS11643_5): Likewise.
3628         (LEADING_BYTE_CHINESE_CNS11643_6): Likewise.
3629         (LEADING_BYTE_CHINESE_CNS11643_7): Likewise [but not used].
3630         (LEADING_BYTE_CHINESE_BIG5_2): Changed to 0x9D temporally.
3631         (LEADING_BYTE_KOREAN_KPS9566): New macro [but not used].
3632         (CHAR_FIELD1_MASK): Changed to (0x7F << 14).
3633         (MIN_CHAR_GREEK): New macro.
3634         (MAX_CHAR_GREEK): New macro.
3635         (MIN_CHAR_CYRILLIC): New macro.
3636         (MAX_CHAR_CYRILLIC): New macro.
3637         (MIN_CHAR_HEBREW): New macro.
3638         (MAX_CHAR_HEBREW): New macro.
3639         (MIN_CHAR_THAI): New macro.
3640         (MAX_CHAR_THAI): New macro.
3641         (MIN_CHAR_HALFWIDTH_KATAKANA): New macro.
3642         (MAX_CHAR_HALFWIDTH_KATAKANA): New macro.
3643         (CHAR_FIELD2_INTERNAL): New macro [renamed from `CHAR_FIELD2'.
3644         (CHAR_FIELD3_INTERNAL): New macro [renamed from `CHAR_FIELD3'.
3645         (FIELD1_TO_PRIVATE_LEADING_BYTE): Changed to 0xc0.
3646         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Changed to 0x50.
3647         (CHAR_FIELD2): New inline function.
3648         (CHAR_FIELD3): New inline function.
3649         (MULE_CHAR_PRIVATE_OFFSET): New macro.
3650         (MIN_CHAR_OFFICIAL_TYPE9N): Shifted to `MULE_CHAR_PRIVATE_OFFSET'.
3651         (MIN_CHAR_PRIVATE_TYPE9N): Likewise.
3652         (MIN_CHAR_PRIVATE_TYPE9NX9N): Likewise.
3653         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Likewise.
3654         (MIN_CHAR_COMPOSITION): Likewise.
3655         (CHAR_LEADING_BYTE): Modified for character representation change.
3656         (MAKE_CHAR): Likewise.
3657
3658         * lisp.h (Vcharset_latin_iso8859_1): New variable.
3659         (Vcharset_greek_iso8859_7): Likewise.
3660         (Vcharset_cyrillic_iso8859_5): Likewise.
3661         (Vcharset_hebrew_iso8859_8): Likewise.
3662         (Vcharset_thai_tis620): Likewise.
3663         (Vcharset_katakana_jisx0201): Likewise.
3664
3665 2001-01-26  Martin Buchholz <martin@xemacs.org>
3666
3667         * XEmacs 21.2.43 "Terspichore" is released.
3668
3669 2001-01-25  Martin Buchholz  <martin@xemacs.org>
3670
3671         Type fiddling for window_config.saved_windows_count
3672         * window.c (struct window_config): 
3673         Make saved_windows_count member unsigned.
3674         * window.c (sizeof_window_config_for_n_windows): 
3675         Make parameter unsigned.
3676         * window.c (mark_window_config):
3677         * window.c (window_config_equal):
3678         * window.c (free_window_configuration):
3679         * window.c (Fset_window_configuration):
3680         * window.c (count_windows):
3681         * window.c (Fcurrent_window_configuration):
3682         * window.c (reinit_vars_of_window):
3683         Update all callers and users.
3684
3685 2001-01-25  Martin Buchholz  <martin@xemacs.org>
3686
3687         Alignment correctness for flexible arrays.
3688         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF):
3689         Make alignment-correct. Add interesting comments.
3690         * alloc.c (size_vector):
3691         * alloc.c (make_vector_internal):
3692         * alloc.c (make_bit_vector_internal):
3693         * alloc.c (sweep_bit_vectors_1):
3694         * fns.c (size_bit_vector):
3695         Update all callers of FLEXIBLE_ARRAY_STRUCT_SIZEOF to add new arg.
3696         * window.c (sizeof_window_config_for_n_windows): 
3697         Use FLEXIBLE_ARRAY_STRUCT_SIZEOF.
3698
3699 2001-01-24  Martin Buchholz  <martin@xemacs.org>
3700
3701         * lread.c (read1): Rename `fexp', which is #defined in SGI's math.h
3702
3703 2001-01-23  Andy Piper  <andy@xemacs.org>
3704
3705         * select.c (Fown_selection_internal): pass owned_p
3706
3707         * select-msw.c (mswindows_own_selection): New Signature.
3708
3709         * console.h (struct console_methods): add owned_p to
3710         _own_selection.
3711
3712         * select-x.c (x_own_selection): pass owned_p
3713         (hack_motif_clipboard_selection): use owned_p
3714         (vars_of_select_x): new variable -
3715         x_selection_strict_motif_ownership.
3716
3717 2001-01-23  Martin Buchholz  <martin@xemacs.org>
3718
3719         * specifier.h (specifier_data_offset): Remove pointless parens.
3720         * glyphs.h (IMAGE_SPECIFIER_DATA): Likewise.
3721
3722 2001-01-24  Martin Buchholz  <martin@xemacs.org>
3723
3724         Make Lisp_Object sizeof methods be alignment-correct.
3725         pdump must restore objects to the same alignment as the C compiler
3726         assumes.  It really matters on SGIs.
3727         * lstream.c (aligned_sizeof_lstream): New.
3728         (sizeof_lstream): Use aligned_sizeof_lstream.
3729         (Lstream_new): Likewise.
3730         * opaque.c (aligned_sizeof_opaque): New.
3731         (sizeof_opaque): Use aligned_sizeof_opaque.
3732         (make_opaque): Likewise.
3733         * specifier.c (aligned_sizeof_specifier): New.
3734         (sizeof_specifier): Use aligned_sizeof_specifier.
3735         (make_specifier_internal): Likewise.
3736
3737 2001-01-23  Martin Buchholz  <martin@xemacs.org>
3738
3739         * lstream.h (struct lstream): Use max_align_t for trailing data.
3740         * specifier.h (struct Lisp_Specifier): Likewise.
3741
3742 2001-01-22  Martin Buchholz  <martin@xemacs.org>
3743
3744         * mule-ccl.c (CCL_Extension): Renamed from CCL_Extention.
3745         (CCL_SUCCESS): Kludge to prevent Sun cc compiler warnings.
3746         (CCL_SUSPEND): Likewise.
3747         (CCL_INVALID_CMD): Likewise.
3748         (CCL_CALL_FOR_MAP_INSTRUCTION): Likewise.
3749         (ccl_driver): Likewise.
3750         (CCL_WRITE_CHAR): Macro hygiene.
3751         (CCL_WRITE_STRING): Macro hygiene.
3752
3753 2001-01-22  Martin Buchholz  <martin@xemacs.org>
3754
3755         Port "portable" dumper to SunOS 4 and HP-UX.
3756         * s/aix4.h (AIX4): Move MAP_FAILED definition elsewhere.
3757         * emacs.c (main): PDUMP implies no RUN_TIME_REMAP.
3758         * dumper.c (pdump_file_get): Define MAP_FAILED if not already defined.
3759
3760 2001-01-22  Martin Buchholz  <martin@xemacs.org>
3761
3762         * lisp.h (ALIGNOF): A better definition for C++.
3763
3764 2001-01-20  Martin Buchholz  <martin@xemacs.org>
3765
3766         Macro hygiene.
3767         Fix printf warnings: int format, long int arg.
3768         * regex.c (DECLARE_DESTINATION): Use DECLARE_NOTHING.
3769         (PUSH_FAILURE_POINT): Use correct printf formats.
3770         (POP_FAILURE_POINT): Use correct printf formats.  
3771         Use do {...} while (0)
3772
3773 2001-01-20  Martin Buchholz <martin@xemacs.org>
3774
3775         * XEmacs 21.2.42 "Poseidon" is released.
3776
3777 2001-01-20  Martin Buchholz  <martin@xemacs.org>
3778
3779         * console-x.h: typo fix du jour.  Remove #if 0'ed code.
3780
3781 2001-01-19  Martin Buchholz  <martin@xemacs.org>
3782
3783         De-kludgify FIXED_TYPE free list frobbing.
3784         Fix crashes on 64-bit platforms introduced by my patch of 2001-01-13.
3785         * alloc.c (DECLARE_FIXED_TYPE_ALLOC): Use Lisp_Free.
3786         * alloc.c (ALLOCATE_FIXED_TYPE_1): Use new definitions.
3787         * alloc.c (Lisp_Free): New pseudo lisp object definition.
3788         * alloc.c (LRECORD_FREE_P): New.
3789         * alloc.c (MARK_LRECORD_AS_FREE): New.
3790         * alloc.c (MARK_LRECORD_AS_NOT_FREE): New.
3791         * alloc.c (STRUCT_FREE_P): Deleted.
3792         * alloc.c (MARK_STRUCT_AS_FREE): Deleted.
3793         * alloc.c (MARK_STRUCT_AS_NOT_FREE): Deleted.
3794         * alloc.c (STRING_CHARS_FREE_P): New.
3795         * alloc.c (MARK_STRING_CHARS_AS_FREE): New.
3796         * alloc.c (PUT_FIXED_TYPE_ON_FREE_LIST): Use new definitions.
3797         * alloc.c (FREE_FIXED_TYPE): Use new definitions.
3798         * alloc.c (STRING_CHARS_FREE_P): Use new definitions.
3799         * alloc.c (resize_string): Use new definitions.
3800         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Use new definitions.
3801         * alloc.c (verify_string_chars_integrity): Use new definitions.
3802         * alloc.c (compact_string_chars): Use new definitions.
3803         * alloc.c: Update monster comments.
3804         * lrecord.h (lrecord_type): Add some new lrecord types for
3805         alloc.c's use.
3806
3807 2001-01-18  Martin Buchholz  <martin@xemacs.org>
3808
3809         Improve alignment hackery.
3810         * lisp.h (ALIGNOF): Better definition for the non-gcc case.
3811         (max_align_t): Moved from opaque.h - general purpose.
3812         (ALIGN_PTR): Use size_t, not long.
3813         * opaque.h (max_align_t): Move to lisp.h.
3814
3815 2001-01-18  Norbert Koch  <nk@LF.net>
3816
3817         * gui.h: Fix and add prototypes to fix build problems.
3818
3819 2001-01-18  Martin Buchholz  <martin@xemacs.org>
3820
3821         temacs is going away, so `dump-temacs' is now a bad name.
3822         * .dbxrc (dump-temacs): Rename to `dmp'.
3823         * .gdbinit (dump-temacs): Rename to `dmp'.
3824
3825 2001-01-17  Andy Piper  <andy@xemacs.org>
3826
3827         * glyphs.c (print_image_instance): comment to make martin happy.
3828
3829         * glyphs-x.c (x_redisplay_widget): update faces after a frame
3830         change.
3831
3832         * glyphs-msw.c (mswindows_redisplay_widget): add code to cope with
3833         activation.
3834         (mswindows_tab_control_redisplay): warning suppression.
3835
3836         * glyphs-widget.c (widget_update): re-write to cope with updated
3837         items.
3838         (widget_instantiate): use new gui_item functions.
3839         (tab_control_update): deleted.
3840         (progress_gauge_update): deleted.
3841         (image_instantiator_progress_guage): take out update reference.
3842         (image_instantiator_tree_view): ditto.
3843         (image_instantiator_tab_control): ditto.
3844
3845         * gui.c (widget_gui_parse_item_keywords): new function. Do things
3846         Right the new way.
3847         (gui_item_add_keyval_pair): re-write to cope with descriptors and
3848         return whether anything was changed.
3849         (update_gui_item_keywords): as it sounds.
3850
3851         * gui.h: declare widget_gui_parse_item_keywords.
3852
3853         * fns.c (safe_copy_tree): new function taken from Fcopy_tree.
3854         (Fcopy_tree): use it. Stops infloop death in bogus instantiators.
3855
3856 2001-01-17  Martin Buchholz <martin@xemacs.org>
3857
3858         * XEmacs 21.2.41 "Polyhymnia" is released.
3859
3860 2001-01-16  Didier Verna  <didier@xemacs.org>
3861
3862         * glyphs.c (image_instantiate): don't use fallbacks when
3863         instantiating a face's background pixmap by inheritance.
3864
3865 2001-01-14  Mike Sperber <mike@xemacs.org>
3866
3867         * sysdep.c (start_of_data): PDUMP implies ORDINARY_LINK.
3868         Conditionalize accordingly.
3869
3870 2001-01-16  Martin Buchholz  <martin@xemacs.org>
3871
3872         * dumper.c (pdump_file_get): Fix a compiler warning.
3873
3874 2001-01-15  Martin Buchholz  <martin@xemacs.org>
3875
3876         Make Purify happy when pdumping.
3877         * symbols.c (Fmake_variable_buffer_local): Make Purify happy, by
3878         iniitalizing all bits of new lisp object memory.
3879         * symbols.c (Fmake_local_variable): Likewise.
3880         * symbols.c (Fdontusethis_set_symbol_value_handler): Likewise.
3881         * symbols.c (Fdefvaralias): Likewise.
3882         * mule-charset.c (vars_of_mule_charset): Likewise.
3883
3884 2001-01-15  Martin Buchholz  <martin@xemacs.org>
3885         Add the `-nd' flag when running pre-dump operations under the debugger.
3886         * .dbxrc (run-temacs): Add `-nd'.
3887         * .dbxrc (update-elc): Likewise.
3888         * .dbxrc (dump-temacs): Likewise.
3889         * .gdbinit (run-temacs): Likewise.
3890         * .gdbinit (check-temacs): Likewise.
3891         * .gdbinit (update-elc): Likewise.
3892         * .gdbinit (dump-temacs): Likewise.
3893
3894 2001-01-14  Martin Buchholz  <martin@xemacs.org>
3895
3896         Allow building 64-bit executables on AIX with GNU malloc, e.g.
3897         export OBJECT_MODE=64
3898         configure --pdump --use-union-type=no
3899         * m/ibmrs6000.h (DATA_START): Define for 64-bit world.
3900         * gmalloc.c (__default_morecore): Remove pre-ANSI cruft.
3901
3902         * miscplay.c (sndcnv8U_2mono):
3903         Avoid two uses of `++' in the same expression.
3904         Suppresses a GCC warning.
3905
3906 2001-01-13  Martin Buchholz  <martin@xemacs.org>
3907
3908         Make sure future compilers don't miscompile alloc.c.
3909         * alloc.c:
3910         (MARK_STRUCT_AS_FREE): Make aliasing-optimization-resistant.
3911         (MARK_STRUCT_AS_NOT_FREE): Make aliasing-optimization-resistant.
3912
3913 2001-01-12  Martin Buchholz  <martin@xemacs.org>
3914
3915         * dumper.c: A little post-pdump-rename comment fixup.
3916
3917 2001-01-09  Jerry James  <james@eecs.ku.edu>
3918
3919         * lisp-disunion.h: Change LISP_TO_CVOID arg to match its use.
3920
3921 2001-01-13  Martin Buchholz  <martin@xemacs.org>
3922
3923         * *.[ch]: Globally rename symbols using the following `pdump-rename'
3924         script:
3925         #!/bin/sh
3926         replace_symbol () {
3927           (findn texi$; findn [ch]$) | xargs g -lw "$1" | xargs global-replace 's/(?<!_)\b'$1'\b(?!_)/'$2'/g'
3928         }
3929
3930         replace_symbol pdump_wire_lists pdump_weak_object_chains
3931         replace_symbol pdump_wire_list dump_add_weak_object_chain
3932
3933         replace_symbol pdump_wires pdump_root_objects
3934         replace_symbol pdump_wire dump_add_root_object
3935
3936         replace_symbol pdump_dump_wired pdump_dump_from_root_objects
3937         replace_symbol pdump_dump_structs pdump_dump_from_root_struct_ptrs
3938
3939         replace_symbol dumpstructinfos pdump_root_struct_ptrs
3940         replace_symbol dumpstructinfo_dynarr pdump_root_struct_ptr_dynarr
3941         replace_symbol dumpstructinfo pdump_root_struct_ptr
3942         replace_symbol dumpstruct dump_add_root_struct_ptr
3943
3944         replace_symbol dumpopaque dump_add_opaque
3945         replace_symbol dumpopaqueinfo_dynarr pdump_opaque_dynarr
3946         replace_symbol dumpopaqueinfos pdump_opaques
3947         replace_symbol dumpopaqueinfo pdump_opaque
3948
3949         replace_symbol nb_structdump nb_root_struct_ptrs
3950         replace_symbol nb_opaquedump nb_opaques
3951
3952         replace_symbol align_table pdump_align_table
3953         replace_symbol dump_header pdump_header
3954
3955         replace_symbol DUMP_SIGNATURE_LEN PDUMP_SIGNATURE_LEN
3956         replace_symbol DUMP_SIGNATURE PDUMP_SIGNATURE
3957
3958
3959 2001-01-12  Martin Buchholz  <martin@xemacs.org>
3960
3961         * s/aix4.h: Keep the C for AIX compiler from overaggressively
3962         optimizing bytecount_to_charcount().
3963
3964 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
3965
3966         * config.h.in:
3967         (HAVE_DLFCN_H): Removed.
3968         * sysdll.c: Remove HAVE__DLOPEN, HAVE_DLFCN_H.
3969
3970 2001-01-06  Martin Buchholz  <martin@xemacs.org>
3971
3972         Portable dumper maintainability improvements.
3973         * alloc.c (staticpro):
3974         * alloc.c (staticpro_nodump):
3975         * alloc.c (garbage_collect_1):
3976         * alloc.c (reinit_alloc_once_early):
3977         * alloc.c (init_alloc_once_early):
3978         * alloc.c: Move dumper functions to alloc.c.
3979         * dumper.c (pdump_backtrace):
3980         * dumper.c (pdump_dump_structs):
3981         * dumper.c (pdump_dump_opaques):
3982         * dumper.c (pdump_dump_rtables):
3983         * dumper.c (pdump_dump_wired):
3984         * dumper.c (pdump):
3985         * dumper.c (pdump_load_check):
3986         * dumper.c (pdump_load_finish):
3987         * dumper.c (pdump_file_unmap):
3988         * dumper.c (pdump_file_get):
3989         * dumper.c (pdump_resource_free):
3990         * dumper.c (pdump_resource_get):
3991         * dumper.c (pdump_file_free):
3992         * dumper.c (pdump_file_try):
3993         * dumper.c (pdump_load):
3994         Remove fixed size limits on staticpro(), staticpro_nodump(),
3995         dumpopaque(), dumpstruct() by using Dynarrs instead of static C arrays.
3996         Remove custom code for dumping lrecord_implementations_table - use
3997         dumpopaque instead.
3998         Remove (most of the) custom code for dumping staticpros - dump it
3999         like any other dynarr.
4000
4001         * alloc.h: Removed.  No longer useful, since dumper now more self-contained.
4002         * dumper.c: Moved functions from alloc.c.
4003         * alloc.c (dumpstruct): Moved to dumper.c.
4004         * alloc.c (dumpopaque): Likewise.
4005         * alloc.c (pdump_wire): Likewise.
4006         * alloc.c (pdump_wire_list): Likewise.
4007
4008         * lisp.h (Dynarr_sizeof): New.
4009         * lisp.h (Dynarr_begin): New.  Very slightly C++oid.
4010         * lisp.h (Dynarr_end): New.  Very slightly C++oid.
4011         * lisp.h (Lisp_Object_ptr_dynarr): New.  For staticpros.
4012
4013         * lisp.h (dumpstruct): Define to nothing if not PDUMPing.
4014         * lisp.h (dumpopaque): ditto.
4015         * lisp.h (pdump_wire): ditto.
4016         * lisp.h (pdump_wire_list): ditto.
4017
4018 2001-01-09  Martin Buchholz  <martin@xemacs.org>
4019
4020         * make-src-depend (PrintPatternDeps):
4021         Use `sort' to make output independent of perl version.
4022
4023 2001-01-08  Martin Buchholz  <martin@xemacs.org>
4024
4025         Port to Netbsd 1.5.
4026         * unexelf.c: Remove (never used) bogus Netbsd-specific cruft.
4027         * s/netbsd.c: Use unexelf.o if __ELF__ is defined.
4028
4029 2001-01-03  Didier Verna  <didier@xemacs.org>
4030
4031         * event-stream.c (emacs_handle_focus_change_preliminary): ensure
4032         that `focus_frame' is alive before thinking of calling
4033         `redisplay_redraw_cursor' on it.
4034
4035 2001-01-08  Martin Buchholz <martin@xemacs.org>
4036
4037         * XEmacs 21.2.40 is released.
4038
4039 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
4040
4041         * regex.c: Replace PREFETCH with REGEX_PREFETCH.
4042
4043 2001-01-06  Martin Buchholz  <martin@xemacs.org>
4044
4045         * alloc.c (dbg_valmask): Make const.
4046         * alloc.c (dbg_typemask): Make const.
4047         * alloc.c (dbg_USE_UNION_TYPE): Make const.
4048         * alloc.c (dbg_valbits): Make const.
4049         * alloc.c (dbg_gctypebits): Make const.
4050
4051 2001-01-06  Stephen J. Turnbull  <stephen@xemacs.org>
4052
4053         * redisplay-x.c (x_bevel_area):
4054         redisplay.h (struct rune):
4055         Typo fixes in comments.
4056
4057 2001-01-05  Andy Piper  <andy@xemacs.org>
4058
4059         * glyphs-x.c (x_redisplay_widget): use size changed for offset
4060         adjustment.
4061
4062         * menubar.c (menubar_visible_p_changed): don't mark frame changed.
4063
4064 2001-01-05  Martin Buchholz  <martin@xemacs.org>
4065
4066         * alloc.c (pure-bytes-used): Remove unused mendacious variable.
4067
4068         * mule-ccl.c (stack_idx_of_map_multiple):
4069         Non const global data must not be initialized!
4070         Found by MIYASHITA Hisashi.
4071
4072 2001-01-02  Andy Piper  <andy@xemacs.org>
4073
4074         * frame.c (change_frame_size): make sure frame size is always
4075         marked as changed.
4076
4077         * glyphs.c (image_instance_layout): minor code reuse.
4078
4079         * window.c (Fcurrent_window_configuration): revert previous
4080         change.
4081
4082 2001-01-02  Martin Buchholz  <martin@xemacs.org>
4083
4084         * glyphs.h:
4085         * glyphs.c (make_image_instance_cache_hash_table): Use ANSI prototypes.
4086
4087 2000-12-31  Andy Piper  <andy@xemacs.org>
4088
4089         * glyphs-x.c (x_unmap_subwindow): return focus to enclosing frame
4090         when widget gets unmapped.
4091
4092         * event-Xt.c (emacs_Xt_handle_widget_losing_focus): new
4093         function. Make sure widgets losing focus don't just drop it.
4094         (handle_focus_event_1): record the widget with focus.
4095
4096 2000-12-31  Andy Piper  <andy@xemacs.org>
4097
4098         * window.c (allocate_window): use
4099         make_image_instance_cache_hash_table.
4100         (make_dummy_parent): ditto.
4101         (Fset_window_configuration): ditto.
4102
4103         * glyphs.h (INSTANTIATOR_TYPE): new macro.  declare new functions.
4104
4105         * glyphs.c (process_image_string_instantiator): use
4106         INSTANTIATOR_TYPE.
4107         (get_image_instantiator_governing_domain): ditto.
4108         (normalize_image_instantiator): ditto.
4109         (instantiate_image_instantiator): ditto.
4110         (make_image_instance_1): ditto.
4111         (image_instantiate): ditto. Key on glyph *and* instantiator type.
4112         (instantiator_eq_equal): new function for use with instance hash
4113         tables.
4114         (instantiator_eq_hash): ditto.
4115         (make_image_instance_cache_hash_table): create a suitable hash
4116         table for storing image instances.
4117
4118         * elhash.h (hash_table_weakness): new internal weakness type
4119         HASH_TABLE_KEY_CAR_VALUE_WEAK.
4120         declare new functions.
4121
4122         * elhash.c (finish_marking_weak_hash_tables): introduce yet
4123         another weakness type for glyphs.
4124         (make_standard_lisp_hash_table): new function split out from
4125         make_general_lisp_hash_table.
4126         (make_lisp_hash_table): call make_standard_lisp_hash_table.
4127         (hash_table_instantiate): ditto.
4128         (Fmake_hash_table): ditto.
4129
4130 2000-12-31  Martin Buchholz <martin@xemacs.org>
4131
4132         * XEmacs 21.2.39 is released.
4133
4134 2000-12-29  Andy Piper  <andy@xemacs.org>
4135
4136         * menubar.c (menubar_visible_p_changed): signal the frame changed.
4137
4138         * glyphs-x.c (x_redisplay_widget): Re-calculate widget offsets if
4139         the frame has changed so that we pick up geometry changes such as
4140         menubar visibility.
4141
4142 2000-12-28  Andy Piper  <andy@xemacs.org>
4143
4144         * lastfile.c (my_ebss): make a char array so we can pad the
4145         bss. Fixes cygwin unexec.
4146
4147         * unexcw.c: invert BROKEN_GDB to NO_DEBUG.
4148
4149 2000-12-26  Andy Piper  <andy@xemacs.org>
4150
4151         * event-Xt.c (emacs_Xt_force_event_pending): add some verbose
4152         comments and try and be more precise about a non-/SIGIO world.
4153         (emacs_Xt_event_pending_p): use XtAppPending under cygwin and non
4154         SIGIO.
4155
4156         * redisplay-output.c (redisplay_normalize_glyph_area): make sure
4157         we don't normalize to zero width or height.
4158
4159 2000-12-24  Andy Piper  <andy@xemacs.org>
4160
4161         * Makefile.in.in (ldflags): add -mwindows when appropriate.
4162
4163 2000-08-18  Golubev I. N.  <gin@mo.msk.ru>
4164
4165         * s/sco5.h: SCO 5 has pty support.
4166
4167 2000-07-20  Kazuyuki IENAGA <ienaga@xemacs.org>
4168
4169         * input-method-xlib.c: supports both XIM_XLIB and USE_XFONTSET.
4170         input-method-xlib.c contains whole contents of input-method-xfs.c,
4171         so we can use input-method-xlib.c's code for USE_XFONTSET
4172         using #ifdefs.
4173         * input-method-xfs.c: removed.
4174
4175 2000-12-20  Stephen Turnbull  <stephen@xemacs.org>
4176
4177         * file-coding.h (enum coding_category_type): reorder enumerators to
4178         make autodetection safer.  Make CODING_CATEGORY_LAST an enumerator
4179         (now one greater than largest real coding_category_type enumerator).
4180         * file-coding.c (coding_category_symbol, coding_category_by_priority,
4181         coding_category_system, fcd_descriptihon_1, decode_coding_category,
4182         Fcoding_category_list, Fset_coding_priority_list,
4183         Fcoding_priority_list, coding_system_from_mask, Fdetect_coding_region,
4184         vars_of_file_coding): adjust for change in CODING_CATEGORY_LAST.
4185
4186 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
4187
4188         * redisplay-output.c (redisplay_clear_top_of_window): Remove static.
4189         * redisplay-output.c (redisplay_output_window): Clear top of window
4190         when face is changed.
4191         * redisplay-x.c (x_redraw_exposed_window): Call
4192         redisplay_clear_top_of_window.
4193         * redisplay.h: Publish redisplay_clear_top_of_window.
4194
4195 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
4196
4197         * buffer.c (Fkill_buffer): Map over all devices.
4198         * window.c (window_loop): Remove UNSHOW_BUFFER code.
4199         (list_windows): New function.
4200         (list_all_windows): Ditto.
4201         (Freplace_buffer_in_windows): Use them.
4202
4203 2000-02-02   Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
4204
4205         * database.c (berkdb_subtype): Recognize new subtype `queue'.
4206         (Fopen_database): Use `db_create' instead of `db_open'.
4207         (syms_of_database): Initialize Qqueue.
4208
4209 2000-12-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
4210
4211         * buffer.c (common_init_complex_vars_of_buffer): Initialize
4212         buffer_local_face_property.
4213         * buffer.h (struct buffer): New member buffer_local_face_property.
4214         * window.c (Fset_window_buffer):  Mark window's face as changed
4215         when buffer has buffer local face.
4216         * window.h (MARK_WINDOW_FACES_CHANGED): New macro.
4217         * objects.c (color_after_change): Set buffer_local_face_property
4218         when locale of face specifier is buffer.
4219         * objects.c (font_after_change): Ditto.
4220         * objects.c (face_boolean_after_change): Ditto.
4221         * glyphs.c (image_after_change): Ditto.
4222
4223 2000-12-09  Dan Holmsand  <dan@eyebee.com>
4224
4225         * nt.c (mswindows_fstat): Report file permissions, volume serial
4226         number, etc. Code adapted from FSF Emacs 20.7.
4227
4228 2000-12-09  Dan Holmsand  <dan@eyebee.com>
4229
4230         * sysfile.h (lstat): Make lstat an alias for xemacs_stat instead
4231         of stat when we don't have symbolic links, to make sure
4232         mswindows_stat is called on mswindows.
4233
4234 2000-12-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
4235
4236         * alloca.c: Define malloc to xmalloc only when built with XEmacs.
4237
4238 2000-12-12  Martin Buchholz  <martin@xemacs.org>
4239
4240         * doprnt.c (emacs_doprnt_1): More printing fixes.
4241         Make printing of numbers compatible with libc and FSF Emacs.
4242         BUG was: (format "%6.3f" 1.2) ==>"1.200000"
4243         Use the system printf to do most of the hard work of formatting,
4244         instead of doprnt_1().
4245         Calculate memory to allocate for format string.
4246         Remove arbitrary limit on precision, e.g. (format "%.1000f" 3.14)
4247         (doprnt_1): Cleaner code and documentation.
4248
4249 2000-12-01  Jerry James  <james@eecs.ukans.edu>
4250
4251         * Makefile.in.in: Use the loop variable to install headers.
4252
4253 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
4254
4255         * window.c (Fsplit_window): Don't invalidate face cache.
4256
4257 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
4258
4259         * minibuf.c (Fall_completions): Undo the previous change
4260         which removed checking elements start with space.
4261
4262 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
4263
4264         * mule-canna.c: Didier suppression.
4265
4266 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
4267
4268         * mule-canna.c: rename static unsigned char buf[] to key_buffer
4269         (warning suppression).  Add English comment translations.
4270
4271 2000-12-05  Martin Buchholz  <martin@xemacs.org>
4272
4273         * unexelfsgi.c (unexec): Better test for mmap failure.
4274
4275 2000-12-05  Martin Buchholz <martin@xemacs.org>
4276
4277         * XEmacs 21.2.38 is released.
4278
4279 2000-12-05  Martin Buchholz  <martin@xemacs.org>
4280
4281         * redisplay.c (bar-cursor): Make a user variable.
4282
4283         * symsinit.h: Add init_postgresql_from_environment.
4284
4285 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
4286
4287         * regex.c: Convert to clean C.
4288
4289 2000-12-05  Dan Holmsand  <dan@eyebee.com>
4290
4291         * realpath.c:
4292         Don't #include sysfile.h. Revert to duplicating PATH_MAX
4293         initialization.
4294         (sys_readlink): renamed to system_readlink to avoid conflict with
4295         the other sys_readlink.
4296
4297 2000-12-04  Hiroaki Abe  <h-abe@pc.highway.ne.jp>
4298
4299         * dumper.c (pdump_file_get): Correct uses of pdump_fd.
4300
4301 2000-12-04  Stephen J. Turnbull  <stephen@xemacs.org>
4302
4303         * postgresql.c (init_postgresql_from_environment): new function.
4304         (vars_of_postgresql): Move code initializing Lisp variables out and
4305         into init_postgresql_from_environment.
4306         emacs.c (main_1): Call init_postgresql_from_environment if and only
4307         if running a dumped XEmacs.
4308
4309 2000-08-31  Dan Holmsand  <dan@eyebee.com>
4310
4311         * buffer.c: Make find-file-compare-truenames default to true on
4312         windows.
4313
4314         * realpath.c (win32_abs_start):
4315         (cygwin_readlink):
4316         (win32_readlink): New functions.
4317         (xrealpath): Return really real filenames on windows.
4318
4319         * fileio.c (Ffile_truename): Make file-truename work on windows.
4320
4321 2000-11-29  Didier Verna  <didier@xemacs.org>
4322
4323         * faces.c (MAYBE_UNFROB_BACKGROUND_PIXMAP): new macro.
4324         * faces.c (update_face_cachel_data): use it.
4325         * faces.c (add_face_cachel): use it. Complete background pixmap
4326         frobbing in face cache if `update_face_cachel_data' has not done so.
4327
4328 2000-11-29  Yoshiki Hayashi  <yoshiki@xemacs.org>
4329
4330         * search.c (string_match_1): Don't set last_thing_searched
4331         when search failed.
4332
4333 2000-11-27  Yoshiki Hayashi  <yoshiki@xemacs.org>
4334
4335         * buffer.c: Include casetab.h
4336         (common_init_complex_vars_of_buffer): Use new case-table object.
4337         * buffer.h: Include casetab.h
4338         * buffer.h (MAKE_TRT_TABLE): Use generic char-table.
4339         (DOWNCASE_TABLE_OF): Ditto.
4340         * bufslots.h: Remove char-tables and add case-table.
4341         * casetab.c: Include casetab.h
4342         (CASE_TABLE_P): Removed.
4343         (mark_case_table): New function.
4344         (allocate_case_table): New function.
4345         (Fcase_table_p): Use new case-table.
4346         (case_table_char): New function.
4347         (Fget_case_table): Ditto.
4348         (Fput_case_table): Ditto.
4349         (Fput_case_table_pair): Ditto.
4350         (Fcopy_case_table): Ditto.
4351         (Fcurrent_case_table): Return case-table.
4352         (Fstandard_case_table): Return case-table.
4353         (Fset_case_table): Fix doc-string.
4354         (set_case_table): Use case-table
4355         (syms_of_casetab): DEFSUBR new functions.
4356         (complex_vars_of_casetab): Set up standard case-table.
4357         * casetab.h: New file.
4358         * editfns.c: Include casetab.h
4359         (Fcompare_buffer_substrings): Use case-table.
4360         * inline.c: Include casetab.h
4361         * lisp.h: Remove bogus extern.
4362         * lrecord.h (lrecord_type): Add lrecord_type_case_table.
4363         * search.c: Include casetab.h
4364         (TRANSLATE_ASCII): Removed.
4365         (TRANSLATE): Unconditionally translate character.
4366         (looking_at_1): Use case-table.
4367         (string_match_1): Ditto.
4368         (fast_string_match): Ditto.
4369         (search_command): Ditto.
4370         (search_buffer): Separate boyer_moore.  Check whether
4371         boyer_moore is possible.
4372         (simple_search): New function.
4373         (boyer_moore): Separated from search_buffer. Translate char.
4374
4375 2000-11-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
4376
4377         * regex.c (RE_TR_ASCII): Removed.
4378         (RE_TRANSLATE): Unconditionally use TRT_TABLE.
4379         (PATFETCH): Call PATFETCH_RAW.
4380         (PATFETCH_RAW): Fetch Emchar.
4381         (PATUNFETCH): Decrement charptr.
4382         (GET_BUFFER_SPACE): Rename b to buf_end.
4383         (BUF_PUSH): Ditto.
4384         (BUF_PUSH_2): Ditto.
4385         (BUF_PUSH_3): Ditto.
4386         (EXTEND_BUFFER): Ditto.
4387         (SET_LIST_BIT): Ditto.
4388         (regex_compile): Ditto.  Translate non ASCII char.
4389         (compile_range): Ditto.
4390         (re_search_2): Ditto.
4391         (re_match_2_internal): Compare Emchar.
4392         (bcmp_translate): Ditto.
4393
4394 2000-11-29  Stephen J. Turnbull  <turnbull@xemacs.org>
4395
4396         * lisp.h (basic char/int typedefs):  comment improvement.
4397
4398 2000-11-24  Stephen J. Turnbull  <turnbull@xemacs.org>
4399
4400         * emacs.c (main_1):  unconditional pdump unstomping; don't save and
4401         unstomp inhibit_site_lisp.  Improve comments.
4402
4403 2000-11-22  Stephen J. Turnbull  <turnbull@xemacs.org>
4404
4405         * mule-charset.c (Fcharset_property):  improve type checking, comments.
4406
4407 2000-11-28  Andy Piper  <andy@xemacs.org>
4408
4409         * redisplay-output.c (redisplay_output_subwindow): make sure we do
4410         clipped display for windows in the gutter also.
4411         (redisplay_display_boxes_in_window_p): change semantics of return
4412         codes to be more intuitive.
4413
4414         * gutter.h: declare display_boxes_in_gutter_p.
4415
4416         * gutter.c (display_boxes_in_gutter_p): new function for
4417         redisplay.
4418
4419 2000-11-22  Andy Piper  <andy@xemacs.org>
4420
4421         * glyphs-x.c (image_instantiator_format_create_glyphs_x): change
4422         autodetect domain.
4423
4424 2000-11-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
4425
4426         * callproc.c (Fold_call_process_internal):
4427         * gpm.c (Freceive_gpm_event):
4428         (tty_get_foreign_selection): Might be just warning supression.
4429         * fileio.c (Fwrite_region_internal):
4430         (Fset_visited_file_modtime):
4431         * keymap.c (event_matches_key_specifier_p):
4432         Initialize GCPROed variable.
4433
4434         * menubar-x.c (command_builder_find_menu_accelerator):
4435         Initialize before use.
4436
4437 2000-11-23  Andy Piper  <andy@xemacs.org>
4438
4439         * unexcw.c (unexec): make the resulting executable executable.
4440
4441 2000-11-21  Martin Buchholz  <martin@xemacs.org>
4442
4443         * doc.c (get_doc_string):
4444         Use size_t, not int, for result of XSTRING_LENGTH.
4445
4446         * cmds.c (Fdelete_char):
4447         * cmds.c (Fpoint_at_eol):
4448         * cmds.c (Fself_insert_command):
4449         Use EMACS_INT, not int, for result of XINT.
4450         Someday, someone will want to insert more than 2**31 identical characters.
4451
4452         * cmds.c (Fdelete_char):
4453         * cmds.c (Fdelete_backward_char):
4454         * syntax.c (Fforward_word):
4455         * syntax.c (Fforward_comment):
4456         Make COUNT argument optional, for consistency with forward-char et al.
4457
4458 2000-11-22  Martin Buchholz  <martin@xemacs.org>
4459
4460         * lisp.h:
4461         * print.c (long_to_string):
4462         Return a useful value: the pointer at end of data written.
4463
4464         * doprnt.c:
4465         Use `static const char * const' for constant strings.
4466         (union printf_arg): Delete `i', `ui' members.
4467         (get_doprnt_args):
4468         (emacs_doprnt_1):
4469         Fix LP64 platform bug: (format "%d" most-positive-fixnum) ==> "-1"
4470         Do all printf-ing via the `l' specifier.
4471         Use EMACS_INT instead of int.
4472         Optimize.
4473
4474 2000-11-20  Didier Verna  <didier@xemacs.org>
4475
4476         * faces.c (update_face_cachel_data): don't frob the background
4477         pixmap when the window is being created. The face is needed but
4478         does not exist yet.
4479
4480 2000-11-20  Andy Piper  <andy@xemacs.org>
4481
4482         * unexcw.c (copy_executable_and_dump_data_section): Only do bss
4483         messing with a debug environment.
4484
4485 2000-11-20  Martin Buchholz  <martin@xemacs.org>
4486
4487         * emacs.c (__sti__iflPNGFile_c___): Pedantically correct prototype.
4488
4489 2000-11-20  Martin Buchholz  <martin@xemacs.org>
4490
4491         * casetab.c (Fcase_table_p): Fix compile error and crash.
4492
4493 2000-11-18  Philip Aston  <philipa@mail.com>
4494
4495         * s/cygwin32.h: Cygwin has SVR4-like pty support.
4496
4497 2000-11-18  Martin Buchholz  <martin@xemacs.org>
4498
4499         * fileio.c (Fexpand_file_name): GCPRO bug!  Protect `handler'.
4500         * filelock.c (lock_file): GCPRO bug! Initialize all GCPROed vars!
4501
4502 2000-11-17  Martin Buchholz  <martin@xemacs.org>
4503
4504         * config.h.in: Define HAVE_ELF_H if elf.h exists.
4505         * unexelf.c: Use HAVE_ELF_H.
4506         * unexelfsgi.c: Fix bug with dumped xemacs stdout/stderr not working.
4507         I copied FSF Emacs 20.7 unexelf.c to unexelfsgi.c and ANSIfied it.
4508         Max Matveev <makc@sgi.com> removed non-SGI-relevant parts and tested.
4509         Greg Harrington <greg_harrington@hotmail.com> provided a machine
4510         for testing.
4511         So this is an unexelfsgi.c from a different line of development.
4512
4513 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
4514
4515         * regex.c (RE_TR_ASCII): New function.
4516         (RE_TRANSLATE): Call it.
4517
4518 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
4519
4520         * buffer.h (TRT_TABLE_OF): Remove assert.
4521         (IN_TRT_TABLE_DOMAIN): Removed.
4522
4523 2000-11-16  Gunnar Evermann  <ge204@eng.cam.ac.uk>
4524
4525         * free-hook.c (log_gcpro):
4526         (show_gcprohist): Add support for GCPRO5.
4527
4528 2000-11-08  Stephen J. Turnbull  <stephen@xemacs.org>
4529
4530         * emacs.c (main_1): Improve -sd error message when --pdump=no.
4531
4532 2000-11-16  Olivier Galibert  <galibert@xemacs.org>
4533
4534         * symeval.h: Declare flush_all_buffer_local_cache.
4535
4536         * symbols.c: Change XD_LO_RESET_NIL into XD_LISP_OBJECTs.
4537         (flush_buffer_local_cache): Added.
4538         (flush_all_buffer_local_cache): Added.
4539
4540         * lrecord.h: Remove unused XD_LO_RESET_NIL.
4541
4542         * dumper.c (pdump_register_sub): Remove unused XD_LO_RESET_NIL.
4543         (pdump_dump_data): Ditto.
4544         (pdump_reloc_one): Ditto.
4545         (pdump): Remove unused pdump_qnil.  Flush buffer local caches
4546         before dumping.
4547
4548
4549 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
4550
4551         * buffer.c: Remove if 0'ed entry.
4552         * buffer.h: Rewrite TRT to use char-table.
4553         * bufslots.h: Remove mirror tables.
4554         * casetab.c: Remove mirror tables.
4555         (CASE_TABLE_P): New macro.
4556         (Fcase_table_p): Element of a case table is string or char-table.
4557         (make_mirror_trt_table): Removed.
4558         (set_case_table): Setup char-table from strings for backward
4559         compatibility.
4560         * dired.c (Fdirectory_files):
4561         * dired-msw.c: (mswindows_get_files):
4562         * lisp.h: Change prototype of re_pattern_buffer.
4563         * regex.c: (RE_TRANSLATE): New macro.
4564         (TRANSLATE_P): Ditto.
4565         Change translate to type RE_TRANSLATE_TYPE.
4566         * regex.h: Define RE_TRANSLATE_TYPE
4567         * search.c (TRANSLATE): New macro.
4568         (TRANSLATE_ASCII): New macro.
4569         Translate table is changed to Lisp_Object.
4570         (signal_failure): Inhibit return.
4571
4572 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
4573
4574         * device-msw.c:
4575         * eldap.c:
4576         * event-Xt.c:
4577         * event-stream.c:
4578         * print.c:
4579         Do UNGCPRO before return.
4580
4581 2000-11-14  Martin Buchholz <martin@xemacs.org>
4582
4583         * XEmacs 21.2.37 is released.
4584
4585 2000-11-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
4586
4587         * fileio.c (Finsert_file_contents_internal): UNGCPRO before return.
4588         Add comments about discarded return value.
4589
4590 2000-11-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
4591
4592         * callint.c:
4593         * event-stream.c: Fix comments.  Remove some #if 0'ed part.
4594
4595 2000-10-27  Andy Piper  <andy@xemacs.org>
4596
4597         * gutter.c (Fset_default_gutter_position): default left and right
4598         gutters to visible.
4599         (calculate_gutter_size): calculate resonable heuristic for left
4600         and right gutter sizes.
4601         (specifier_vars_of_gutter): change left and right gutter sizes to
4602         autodetect.
4603         (calculate_gutter_size_from_display_lines): new function.
4604         (output_gutter): check for resizing on left and right gutters.
4605         (clear_gutter): don't special case top and left gutters.
4606         (specifier_vars_of_gutter): use new signature for
4607         set_specifier_caching.
4608
4609         * glyphs-x.c (x_redisplay_widget): spelling fix.
4610         * glyphs.c (specifier_vars_of_glyphs):
4611         * menubar.c (specifier_vars_of_menubar):
4612         * redisplay.c (specifier_vars_of_redisplay):
4613         * toolbar.c (specifier_vars_of_toolbar):
4614         * window.c (specifier_vars_of_window):
4615         * scrollbar.c (specifier_vars_of_scrollbar):
4616         (complex_vars_of_scrollbar): use new signature for
4617         set_specifier_caching.
4618
4619         * specifier.c (set_specifier_caching): include recompute flag.
4620         (recompute_one_cached_specifier_in_window): always recompute if
4621         flag set.
4622         (recompute_one_cached_specifier_in_frame): ditto.
4623
4624         * specifier.h (struct specifier_caching): add recompute flag.
4625
4626 2000-10-24  Andy Piper  <andy@xemacs.org>
4627
4628         * unexcw.c (copy_executable_and_dump_data_section): add new
4629         BSS_PAD_SIZE so that we can re-instate a mini-bss. This keeps gdb
4630         5.0 happy.
4631
4632 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
4633
4634         * console-x.h (x_device): New member modifier_release_time.
4635         * event-Xt.c (x_handle_sticky_modifiers):
4636         Bound interval modifier keys are sticky.
4637         * event-stream.c (Vmodifier_keys_sticky_time): New variable.
4638         * events.h: extern it.
4639
4640 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
4641
4642         * cmdloop.c (Fcommand_loop_1): Just add C-g to event queue.
4643
4644 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
4645
4646         * event-stream.c (execute_command_event): Preserve current_events
4647         and the like when event is misc-user-event.
4648         Inhibit quit during the call to maybe_echo_keys.
4649
4650 2000-10-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
4651
4652         * filelock.c (lock_buffer): Cope with kill-buffer. Don't create a
4653         symlink when buffer is killed.
4654         (inhibit_clash_detection): New variable.
4655
4656 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
4657
4658         * console.c (Fset_input_method): Trigger redisplay on tty.
4659
4660 2000-11-07  Martin Buchholz  <martin@xemacs.org>
4661
4662         * process.c (Fprocess_status): Revert to previous behavior:
4663         (process-status "nosuchprocess") ==> nil
4664
4665 2000-11-06  Martin Buchholz  <martin@xemacs.org>
4666
4667         * mule-charset.h (CHARSET_BY_LEADING_BYTE):
4668         Work around another GCC 2.95.2 optimizer bug.
4669
4670 2000-11-02  Martin Buchholz  <martin@xemacs.org>
4671
4672         * process.c (Fget_process): Use LIST_LOOP_2.
4673         (kill_buffer_processes): Use LIST_LOOP_2.
4674
4675         * minibuf.c (Fall_completions):
4676         Delete old non-functional code for FSF fourth argument.
4677
4678         * frame.c (frame_matches_frame_spec):
4679         Renamed from `frame_matches_frametype'.  Update all callers.
4680         (device_matches_device_spec):
4681         Renamed from 'device_matches_console_spec'.  Update all callers.
4682
4683         * doc.c (Fsubstitute_command_keys):
4684         Remove buffer overflow crash.  Small code cleanups.
4685
4686         * casetab.c (check_case_table): Simpler code.
4687
4688         * window.c (Freplace_buffer_in_windows):
4689         Give this the same WHICH-FRAMES and WHICH-DEVICES parameters
4690         (and similar implementation) as Fdelete_windows_on.
4691         Update all callers.
4692
4693         * alloc.c (Fmake_list):
4694         * alloc.c (make_vector):
4695         * alloc.c (Fmake_vector):
4696         * alloc.c (make_bit_vector):
4697         * alloc.c (Fmake_bit_vector):
4698         * alloc.c (Fbit_vector):
4699         * alloc.c (Fmake_string):
4700         * alloc.c (Fpurecopy):
4701         * alloc.c (Fmemory_limit):
4702         * buffer.c:
4703         * buffer.c (Fget_buffer):
4704         * buffer.c (Fkill_buffer):
4705         * buffer.c (complex_vars_of_buffer):
4706         * bytecode.c (Fcompiled_function_stack_depth):
4707         * callint.c (Fprefix_numeric_value):
4708         * event-stream.c:
4709         * event-stream.c (Fread_key_sequence):
4710         * casetab.c:
4711         * casetab.c (Fcase_table_p):
4712         * casetab.c (check_case_table):
4713         * casetab.c (Fset_case_table):
4714         * casetab.c (Fset_standard_case_table):
4715         * chartab.c:
4716         * chartab.c (Fchar_table_type):
4717         * chartab.c (Freset_char_table):
4718         * chartab.c (Fget_char_table):
4719         * chartab.c (Fget_range_char_table):
4720         * chartab.c (Fput_char_table):
4721         * chartab.c (Fmap_char_table):
4722         * chartab.c (Fcategory_table_p):
4723         * chartab.c (Fcheck_category_at):
4724         * chartab.c (Fchar_in_category_p):
4725         * chartab.c (Fcategory_table):
4726         * chartab.c (Fcopy_category_table):
4727         * chartab.c (Fset_category_table):
4728         * chartab.c (Fcategory_designator_p):
4729         * chartab.c (Fcategory_table_value_p):
4730         * cmds.c (Fdelete_char):
4731         * cmds.c (Fdelete_backward_char):
4732         * cmds.c (Fself_insert_command):
4733         * cmds.c (Fself_insert_internal):
4734         * console.c (Fvalid_console_type_p):
4735         * console.c (Fcdfw_console):
4736         * console.c (Fconsole_type):
4737         * console.c (Fconsole_name):
4738         * console.c (Fconsole_device_list):
4739         * console.c (Fconsole_on_window_system_p):
4740         * data.c:
4741         * data.c (Feq):
4742         * data.c (Fold_eq):
4743         * data.c (Fsubr_interactive):
4744         * data.c (Fchar_to_int):
4745         * data.c (Fint_to_char):
4746         * data.c (Fsetcar):
4747         * data.c (Fsetcdr):
4748         * data.c (Fnumber_to_string):
4749         * data.c (Fstring_to_number):
4750         * data.c (Frem):
4751         * database.c (mark_database):
4752         * database.c (finalize_database):
4753         * database.c (Fdatabase_live_p):
4754         * database.c (Fdatabasep):
4755         * device-x.c (Fx_get_resource):
4756         * device.c (Fdfw_device):
4757         * dired.c:
4758         * dired.c (Ffile_name_completion):
4759         * dired.c (Ffile_name_all_completions):
4760         * dired.c (Fuser_name_completion):
4761         * dired.c (Fuser_name_completion_1):
4762         * dired.c (Fuser_name_all_completions):
4763         * doc.c (Fdocumentation):
4764         * doc.c (Fdocumentation_property):
4765         * doc.c (Fsubstitute_command_keys):
4766         * editfns.c:
4767         * editfns.c (Fchar_to_string):
4768         * editfns.c (Fstring_to_char):
4769         * editfns.c (Ftemp_directory):
4770         * editfns.c (Finsert_char):
4771         * editfns.c (Fbuffer_substring_no_properties):
4772         * editfns.c (Fnarrow_to_region):
4773         * editfns.c (Fchar_equal):
4774         * editfns.c (Fchar_Equal):
4775         * editfns.c (Ftranspose_regions):
4776         * emacs.c (Fdump_emacs):
4777         * eval.c (Fthrow):
4778         * eval.c (Fcommand_execute):
4779         * eval.c (Fautoload):
4780         * eval.c (Fbacktrace):
4781         * eval.c (Fbacktrace_frame):
4782         * events.c:
4783         * events.c (Fcopy_event):
4784         * events.c (Fcharacter_to_event):
4785         * events.c (Fevent_button):
4786         * events.c (Fevent_process):
4787         * extents.c:
4788         * extents.c (Fnext_extent_change):
4789         * extents.c (Fextent_property):
4790         * faces.c (Ffacep):
4791         * faces.c (Fmake_face):
4792         * file-coding.c:
4793         * file-coding.c (Fencode_shift_jis_char):
4794         * file-coding.c (Fencode_big5_char):
4795         * fileio.c (Ffile_name_directory):
4796         * fileio.c (Ffile_name_nondirectory):
4797         * fileio.c (Ffile_name_as_directory):
4798         * fileio.c (Fdirectory_file_name):
4799         * fileio.c (Ffile_truename):
4800         * fileio.c (Fsubstitute_in_file_name):
4801         * fileio.c (Ffile_modes):
4802         * fileio.c (Fset_file_modes):
4803         * fileio.c (Fset_default_file_modes):
4804         * fileio.c (Fverify_visited_file_modtime):
4805         * floatfns.c (Facos):
4806         * floatfns.c (Fasin):
4807         * floatfns.c (Fatan):
4808         * floatfns.c (Fcos):
4809         * floatfns.c (Fsin):
4810         * floatfns.c (Ftan):
4811         * floatfns.c (Fbessel_j0):
4812         * floatfns.c (Fbessel_j1):
4813         * floatfns.c (Fbessel_jn):
4814         * floatfns.c (Fbessel_y0):
4815         * floatfns.c (Fbessel_y1):
4816         * floatfns.c (Fbessel_yn):
4817         * floatfns.c (Ferf):
4818         * floatfns.c (Ferfc):
4819         * floatfns.c (Flog_gamma):
4820         * floatfns.c (Fexp):
4821         * floatfns.c (Fexpt):
4822         * floatfns.c (Flog):
4823         * floatfns.c (Flog10):
4824         * floatfns.c (Fsqrt):
4825         * floatfns.c (Fcube_root):
4826         * floatfns.c (Facosh):
4827         * floatfns.c (Fasinh):
4828         * floatfns.c (Fatanh):
4829         * floatfns.c (Fcosh):
4830         * floatfns.c (Fsinh):
4831         * floatfns.c (Ftanh):
4832         * floatfns.c (Fabs):
4833         * floatfns.c (Ffloat):
4834         * floatfns.c (Flogb):
4835         * floatfns.c (Fceiling):
4836         * floatfns.c (Ffloor):
4837         * floatfns.c (Fround):
4838         * floatfns.c (Ftruncate):
4839         * floatfns.c (Ffceiling):
4840         * floatfns.c (Fffloor):
4841         * floatfns.c (Ffround):
4842         * floatfns.c (Fftruncate):
4843         * fns.c (Fstring_equal):
4844         * fns.c (Fstring_lessp):
4845         * fns.c (concat2):
4846         * fns.c (concat3):
4847         * fns.c (vconcat2):
4848         * fns.c (vconcat3):
4849         * fns.c (Fsubstring):
4850         * fns.c (Fassoc):
4851         * fns.c (Fold_assoc):
4852         * fns.c (assoc_no_quit):
4853         * fns.c (Fassq):
4854         * fns.c (Fold_assq):
4855         * fns.c (assq_no_quit):
4856         * fns.c (Frassoc):
4857         * fns.c (Fold_rassoc):
4858         * fns.c (Frassq):
4859         * fns.c (Fold_rassq):
4860         * fns.c (rassq_no_quit):
4861         * fns.c (Fremassoc):
4862         * fns.c (remassoc_no_quit):
4863         * fns.c (Fremassq):
4864         * fns.c (remassq_no_quit):
4865         * fns.c (Fremrassoc):
4866         * fns.c (Fremrassq):
4867         * fns.c (remrassq_no_quit):
4868         * fns.c (Fsort):
4869         * fns.c (Fplist_get):
4870         * fns.c (Fplist_put):
4871         * fns.c (Fplist_remprop):
4872         * fns.c (Fplist_member):
4873         * fns.c (Flax_plist_get):
4874         * fns.c (Flax_plist_put):
4875         * fns.c (Flax_plist_remprop):
4876         * fns.c (Flax_plist_member):
4877         * fns.c (Fequal):
4878         * fns.c (Fold_equal):
4879         * fns.c (Frequire):
4880         * fns.c (Fbase64_encode_region):
4881         * fns.c (Fbase64_encode_string):
4882         * fns.c (Fbase64_decode_region):
4883         * frame.c:
4884         * frame.c (frame_matches_frame_spec):
4885         * frame.c (device_matches_device_spec):
4886         * frame.c (next_frame):
4887         * frame.c (previous_frame):
4888         * frame.c (Fnext_frame):
4889         * frame.c (Fprevious_frame):
4890         * frame.c (Fframe_property):
4891         * frame.c (Fset_frame_height):
4892         * frame.c (Fset_frame_size):
4893         * frame.h:
4894         * glyphs.c:
4895         * glyphs.c (if):
4896         * glyphs.c (decode_error_behavior_flag):
4897         * glyphs.c (Fmake_image_instance):
4898         * indent.c (Findent_to):
4899         * intl.c (Fignore_defer_gettext):
4900         * keymap.c (Fkeymapp):
4901         * keymap.c (Flookup_key):
4902         * lread.c:
4903         * lread.c (Fload_internal):
4904         * lread.c (Feval_buffer):
4905         * lread.c (Feval_region):
4906         * macros.c (Fexecute_kbd_macro):
4907         * marker.c (set_marker_internal):
4908         * marker.c (Fset_marker):
4909         * marker.c (set_marker_restricted):
4910         * marker.c (Fcopy_marker):
4911         * marker.c (noseeum_copy_marker):
4912         * menubar.c:
4913         * menubar.c (Fpopup_menu):
4914         * minibuf.c:
4915         * mule-charset.c (Fcharset_name):
4916         * mule-charset.c (Fchar_charset):
4917         * mule-charset.c (Fchar_octet):
4918         * mule-charset.c (Fsplit_char):
4919         * mule-wnnfns.c (Fwnn_open):
4920         * mule-wnnfns.c (Fwnn_dict_comment):
4921         * mule-wnnfns.c (Fwnn_quit_henkan):
4922         * mule-wnnfns.c (Fwnn_word_toroku):
4923         * mule-wnnfns.c (Fwnn_word_sakujo):
4924         * mule-wnnfns.c (Fwnn_word_use):
4925         * mule-wnnfns.c (Fwnn_hindo_set):
4926         * objects.c:
4927         * objects.c (Fmake_color_instance):
4928         * objects.c (Fmake_font_instance):
4929         * print.c (Fwrite_char):
4930         * process.c:
4931         * process.c (mark_process):
4932         * process.c (print_process):
4933         * process.c (get_process_from_usid):
4934         * process.c (Fprocessp):
4935         * process.c (Fprocess_live_p):
4936         * process.c (Fget_process):
4937         * process.c (Fget_buffer_process):
4938         * process.c (get_process):
4939         * process.c (Fprocess_id):
4940         * process.c (Fprocess_name):
4941         * process.c (Fprocess_command):
4942         * process.c (init_process_io_handles):
4943         * process.c (start_process_unwind):
4944         * process.c (Fstart_process_internal):
4945         * process.c (Fopen_multicast_group_internal):
4946         * process.c (Fset_process_window_size):
4947         * process.c (read_process_output):
4948         * process.c (send_process):
4949         * process.c (Fprocess_tty_name):
4950         * process.c (Fset_process_buffer):
4951         * process.c (Fprocess_buffer):
4952         * process.c (Fprocess_mark):
4953         * process.c (set_process_filter):
4954         * process.c (Fset_process_filter):
4955         * process.c (Fprocess_filter):
4956         * process.c (Fprocess_send_region):
4957         * process.c (Fprocess_send_string):
4958         * process.c (exec_sentinel):
4959         * process.c (Fset_process_sentinel):
4960         * process.c (Fprocess_sentinel):
4961         * process.c (status_notify):
4962         * process.c (Fprocess_status):
4963         * process.c (Fprocess_exit_status):
4964         * process.c (process_send_signal):
4965         * process.c (Fprocess_send_eof):
4966         * process.c (deactivate_process):
4967         * process.c (remove_process):
4968         * process.c (Fdelete_process):
4969         * process.c (kill_buffer_processes):
4970         * process.c (Fprocess_kill_without_query):
4971         * process.c (Fprocess_kill_without_query_p):
4972         * rangetab.c:
4973         * rangetab.c (Fget_range_table):
4974         * rangetab.c (Fput_range_table):
4975         * rangetab.c (Fremove_range_table):
4976         * rangetab.c (Fclear_range_table):
4977         * search.c:
4978         * search.c (Fskip_chars_forward):
4979         * search.c (Fskip_chars_backward):
4980         * search.c (Fskip_syntax_forward):
4981         * search.c (Fskip_syntax_backward):
4982         * search.c (search_command):
4983         * search.c (Freplace_match):
4984         * search.c (Fregexp_quote):
4985         * select.c (Fown_selection_internal):
4986         * select.c (Fselection_owner_p):
4987         * select.c (Fselection_exists_p):
4988         * select.c (Fget_selection_internal):
4989         * specifier.c:
4990         * symbols.c:
4991         * symbols.c (Fintern):
4992         * symbols.c (Fintern_soft):
4993         * symbols.c (Funintern):
4994         * symbols.c (Fapropos_internal):
4995         * symbols.c (Fset_default):
4996         * syntax.c:
4997         * syntax.c (Fsyntax_table_p):
4998         * syntax.c (Fcopy_syntax_table):
4999         * syntax.c (Fset_syntax_table):
5000         * syntax.c (Fchar_syntax):
5001         * syntax.c (syntax_match):
5002         * syntax.c (Fmatching_paren):
5003         * syntax.c (Fforward_word):
5004         * syntax.c (scan_lists):
5005         * syntax.c (Fscan_lists):
5006         * syntax.c (Fscan_sexps):
5007         * syntax.c (Fparse_partial_sexp):
5008         * toolbar.c (Fcheck_toolbar_button_syntax):
5009         * tooltalk.doc:
5010         * window.c:
5011         * window.c (Fwindowp):
5012         * window.c (Fwindow_live_p):
5013         * window.c (Fwindow_point):
5014         * window.c (Fdelete_window):
5015         * window.c (Fnext_window):
5016         * window.c (Fprevious_window):
5017         * window.c (Fother_window):
5018         * window.c (window_loop):
5019         * window.c (Fget_lru_window):
5020         * window.c (Fsplit_window):
5021         * window.c (Fenlarge_window):
5022         * window.c (Fenlarge_window_pixels):
5023         * window.c (Fshrink_window):
5024         * window.c (Fshrink_window_pixels):
5025         * window.c (change_window_height):
5026         * window.c (Fwindow_configuration_p):
5027         * window.c (Fcurrent_window_configuration):
5028         * window.h:
5029         * casefiddle.c (casify_object):
5030         * casefiddle.c (Fupcase):
5031         * casefiddle.c (Fdowncase):
5032         * casefiddle.c (Fcapitalize):
5033         * casefiddle.c (Fupcase_initials):
5034         * casefiddle.c (casify_region_internal):
5035         * casefiddle.c (casify_region):
5036         * casefiddle.c (Fupcase_region):
5037         * casefiddle.c (Fdowncase_region):
5038         * casefiddle.c (Fcapitalize_region):
5039         * casefiddle.c (Fupcase_initials_region):
5040         * casefiddle.c (Fupcase_word):
5041         * casefiddle.c (Fdowncase_word):
5042         * casefiddle.c (Fcapitalize_word):
5043         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
5044         Replace 0 with '\0' when working with bytes.
5045         Replace initial "(" with "\(" in docstrings.
5046
5047 2000-11-01  Martin Buchholz  <martin@xemacs.org>
5048
5049         * config.h.in: Handle alloca with Compaq C on Alpha Linux.
5050
5051         * m/alpha.h: Let configure handle SYSTEM_MALLOC on Linux.
5052
5053 2000-10-31  Martin Buchholz  <martin@xemacs.org>
5054
5055         * eldap.c (print_ldap): 64-bit cleaner.  Fixes warning.
5056
5057 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
5058
5059         * doprnt.c (emacs_do_prnt_1): Format (format "%01.2d" 10)
5060         correctly.
5061
5062 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
5063
5064         * fileio.c (Vauto_save_list_file_prefix): Moved from startup.el.
5065         (inhibit_auto_save_session): New variable.
5066         (vars_of_fileio): Declare and initialize them.
5067         * fileio.c (Fdo_auto_save): Don't create session file if
5068         Vinhibit_auto_save_session or Vauto_save_list_file_prefix is non-nil.
5069
5070 2000-10-31  Martin Buchholz  <martin@xemacs.org>
5071
5072         * sgiplay.c (play_internal): C++ compilability.
5073         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Remove unused var `SFTB_prev'.
5074         * callproc.c (Fold_call_process_internal):
5075         Remove unused vars `env', `first'.
5076         * scrollbar.c (update_scrollbar_instance):
5077         #### unused var `current_window'.
5078         * redisplay-tty.c: Put currently unused vars insert_mode_on,
5079         etc. within #ifdef NOT_YET.
5080         * emacs.c: #### unused vars `initial_argc', `initial_argv'.
5081         * dialog-x.c (dbox_descriptor_to_widget_value): ### unused var `title'.
5082         * specifier.c (specifier_instance):
5083         #### unused var `tag'.
5084         Use WINDOW_BUFFER, FRAME_DEVICE instead of their expansion.
5085
5086 2000-10-27  Martin Buchholz  <martin@xemacs.org>
5087
5088         * fns.c (Fbutlast):
5089         * fns.c (list_sort):
5090         * fns.c (Ffillarray):
5091         * fns.c (bytecode_nconc2):
5092         * fns.c (Fnconc):
5093         * fns.c (mapcar1):
5094         * fns.c (Fmapconcat):
5095         Be pedantically 64-bit correct.  For the time when someone will
5096         want to have a list with length > 2**32.
5097
5098         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
5099         Work around MIPSpro compiler bug.
5100
5101         * process-unix.c (unix_kill_child_process): Add snarky comment.
5102         * process-unix.c (try_to_initialize_subtty):  Oops, `=' ==> `=='
5103
5104         * config.h.in: Oops, _getpt ==> _getpty
5105
5106 2000-10-26  Martin Buchholz  <martin@xemacs.org>
5107
5108         * config.h.in:
5109         * regex.c:
5110         Use void*, not char*, as return type of alloca().
5111
5112         * alloc.c (free_marker): Side effect inside assert expression!
5113
5114 2000-10-16  MIYASHITA Hisashi  <himi@m17n.org>
5115
5116         * mule-charset.c (Fset_charset_ccl_program): To check
5117         if the given ccl program is valid, use setup_ccl_program()
5118         instead of CHECK_VECTOR().
5119         (Fmake_charset): Likewise.
5120
5121 2000-10-20  Golubev I. N.  <gin@mo.msk.ru>
5122
5123         * faces.c (get_extent_fragment_face_cache_index):
5124         Fix cachel.merged_faces memory leak.
5125
5126 2000-10-14  MIYASHITA Hisashi  <himi@m17n.org>
5127
5128         * mule-ccl.c (ccl_driver)<CCL_DECODE_SJIS>:
5129         Reset MSB of octets obtained by DECODE_SJIS
5130         because of the incompatibility with Emacs.
5131         (ccl_driver)<CCL_ENCODE_SJIS>:
5132         Set MSB of octets before passing them to
5133         ENCODE_SJIS because of the incompatibility
5134         with Emacs.
5135
5136 2000-10-18   Daiki Ueno  <ueno@unixuser.org>
5137
5138         * lrecord.h (DECLARE_TYPECHECK_LRECORD): Abolish.
5139         (DECLARE_LRECORD): Undo the last change.
5140         (DECLARE_EXTERNAL_LRECORD): Expand typechecking stuff.
5141
5142 2000-10-17   Daiki Ueno  <ueno@unixuser.org>
5143
5144         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Connect
5145         the implementation to lrecord_implementations_table.
5146
5147 2000-10-14   Daiki Ueno  <ueno@unixuser.org>
5148
5149         * lrecord.h (MAKE_EXTERNAL_LRECORD_IMPLEMENTATION): Don't set the
5150         initial value of `lrecord_type_##c_name' and
5151         `lrecord_##c_name.lrecord_type_index'; discard "const" qualifier.
5152         (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): New macro.
5153         [ERROR_CHECK_TYPECHECK] (DECLARE_TYPECHECK_LRECORD): New macro.
5154         [ERROR_CHECK_TYPECHECK] (DECLARE_LRECORD): Use it.
5155         [ERROR_CHECK_TYPECHECK] (DECLARE_EXTERNAL_LRECORD): Use it.
5156
5157 2000-10-17  Martin Buchholz  <martin@xemacs.org>
5158
5159         * miscplay.c (sndcnv8S_2mono):
5160         (sndcnv2monounsigned):
5161         (sndcnvULaw_2linear):
5162         (sndcnv16swap):
5163         Remove implementation-defined behavior.
5164
5165 2000-10-12  Martin Buchholz  <martin@xemacs.org>
5166
5167         * input-method-xlib.c: Warning suppression.
5168
5169 2000-10-05  MIYASHITA Hisashi  <himi@m17n.org>
5170
5171         * mule-ccl.c: Sync up with Emacs 21.0.90.
5172         (ccl_driver)<CCL_TranslateCharacter>: Disabled.
5173         Do nothing.
5174         (ccl_driver)<CCL_TranslateCharacterConstTbl>:
5175         Likewise.
5176         (ccl_driver[WriteMultibyteChar2]): Bug fix.
5177         Use MAX_LEADING_BYTE_OFFICIAL_2 instead of
5178         MIN_LEADING_BYTE_OFFICIAL_2 to check whether the
5179         leading char belongs to official 2-dimensional charset.
5180         (CCL_WRITE_CHAR): When CCL_MODE_ENCODING,
5181         write the given character as is.  Otherwise,
5182         if it is a multibyte char, convert it by
5183         non_ascii_set_charptr_emchar, then write it.
5184         (CCL_WRITE_STRING): Likewise.
5185         (ccl_get_compiled_code): New function.
5186         (setup_ccl_program): When ccl_prog is invalid,
5187         return -1.
5188         (Fregister_code_conversion_map): New function.
5189         (syms_of_mule_ccl): defsubr Fregister_code_conversion_map.
5190
5191         * mule-ccl.h: Sync up with Emacs 21.0.90.
5192         (Fregister_ccl_program): export it.
5193
5194         * redisplay-msw.c (separate_textual_runs):
5195         If ccl program is not valid, don't do ccl conversion.
5196
5197         * redisplay-x.c (separate_textual_runs): Ditto.
5198
5199         * file-coding.c (Fmake_coding_system):
5200         When type is ccl and value is vector, register it
5201         with a proper symbol.  And checks whether the
5202         given ccl program is valid.
5203         (mule_decode): When calling ccl_driver, if src indicates
5204         NULL pointer, set an empty string instead.
5205         (mule_encode): Likewise.
5206
5207 2000-10-11  Martin Buchholz  <martin@xemacs.org>
5208
5209         The following large batch of changes gets us back to a state of
5210         C++ compilability.  Extbyte is now a char, which means that
5211         Extbyte * and Bufbyte * cannot be freely interchanged - a win!
5212
5213         * tooltalk.c (Fset_tooltalk_message_attribute): Type correctness.
5214
5215         * sound.c (Fplay_sound): Type correctness.
5216
5217         * select-x.c (hack_motif_clipboard_selection): Type correctness.
5218         (x_get_window_property): Type correctness.
5219         (receive_incremental_selection): unsigned char ==> Extbyte
5220         (selection_data_to_lisp_data): unsigned char ==> Extbyte
5221         (Fx_get_cutbuffer_internal): unsigned char ==> Extbyte
5222         (Fx_store_cutbuffer_internal): Type correctness.
5223
5224         * process-unix.c (try_to_initialize_subtty): Type correctness.
5225
5226         * objects-x.c (x_print_color_instance): Type correctness.
5227         (x_print_font_instance): Type correctness.
5228         (x_list_fonts): SExtbyte ==> Extbyte.
5229         (valid_x_font_name_p): SExtbyte ==> Extbyte.
5230         (x_find_charset_font): SExtbyte ==> Extbyte.
5231         Use TO_INTERNAL_FORMAT.  build_string ==> make_string.
5232         (truename_via_XListFonts): SExtbyte ==> Extbyte.
5233         (x_font_instance_properties): Use TO_INTERNAL_FORMAT.
5234         Use bufbyte_strcmp.
5235
5236         * mule-charset.h (LEADING_BYTE_PREFIX_P): unsigned char ==> Bufbyte
5237         (PRIVATE_LEADING_BYTE_PREFIX): Add paranoia cast.
5238         (BYTE_ASCII_P): Use bit ops for char-signedness safety.
5239         (BYTE_C0_P): Use bit ops for char-signedness safety.
5240         (BYTE_C1_P): Use bit ops for char-signedness safety.
5241         (CHARSET_BY_LEADING_BYTE):
5242         (CHARSET_BY_ATTRIBUTES):
5243         Always use inline function.
5244         Use type_checking_assert.
5245         Hide chlook.
5246
5247         * mule-charset.c (non_ascii_charptr_copy_char):
5248         Modify to work with both ASCII and non-ASCII characters.
5249         Improve docs and variable names.
5250         Replace over-clever fall-through switch with a simple loop.
5251         (Lstream_get_emchar_1):
5252         Replace over-clever fall-through switch with a simple loop.
5253
5254         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
5255         Warning suppression.
5256
5257         * lstream.h (Lstream_get_emchar): BYTE_ASCII_P cannot be used on
5258         the return value of Lstream_getc, which could be EOF as well.
5259
5260         * lstream.c (Lstream_raw_read): Now returns ssize_t, not int.
5261
5262         * lisp.h: Make Extbyte a char, not unsigned char, so that external
5263         APIs can be used on Extbytes without casts.  Risky!
5264         (SExtbyte): Remove.
5265         (UExtbyte): Remove.
5266
5267         * input-method-xlib.c (XIM_init_device):
5268         Use Xlib.h instead of IntrinsicP.h.
5269         Use HAVE_XREGISTERIMINSTANTIATECALLBACK instead of THIS_IS_X11R6,
5270         which will break in X11R7.
5271         Use XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE,
5272         to call XRegisterIMInstantiateCallback with correct types.
5273
5274         * gui-x.c (button_item_to_widget_value): Type correctness.
5275
5276         * glyphs.c (bitmap_to_lisp_data):  Type correctness.
5277
5278         * glyphs-x.c (pixmap_from_xbm_inline): Type correctness.
5279         (xbm_instantiate_1): Type correctness.
5280         (BUILD_GLYPH_INST):  Type correctness.
5281
5282         * fileio.c (Fsubstitute_in_file_name): Type correctness.
5283
5284         * file-coding.c:
5285         (decode_coding_sjis):
5286         (decode_coding_big5):
5287         (decode_coding_ucs4):
5288         (decode_coding_utf8):
5289         (decode_coding_iso2022):
5290         (decode_coding_no_conversion):
5291         Make all decoding functions take an Extbyte * arg.
5292         (encode_coding_sjis):
5293         (encode_coding_big5):
5294         (encode_coding_ucs4):
5295         (encode_coding_utf8):
5296         (encode_coding_iso2022):
5297         (encode_coding_no_conversion):
5298         Make all encoding functions take a Bufbyte * arg.
5299         Use size_t instead of unsigned int for memory sizes.
5300         Only cast to unsigned char whenever dereferencing Extbyte *.
5301
5302         * doc.c (unparesseuxify_doc_string): Type correctness.
5303
5304         * console-x.c (split_up_display_spec):
5305         Rewrite without using details of internal string representation.
5306         (x_semi_canonicalize_device_connection): Type correctness.
5307
5308         * config.h.in:
5309         (HAVE_XREGISTERIMINSTANTIATECALLBACK): New.
5310         (XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE): New.
5311         (HAVE_XFREE386): Removed.
5312
5313         * buffer.h (DEC_CHARPTR): `const' correctness.
5314         (bufbyte_strcmp): New.
5315         (bufbyte_memcmp): New.
5316
5317         * buffer.c (dfc_convert_to_internal_format): Extbyte ==> Bufbyte
5318
5319         * buffer.h (XCHAR_OR_CHAR_INT):
5320         Always use inline function.
5321         Remove redundant type checking assert() - XINT will abort quite nicely.
5322
5323 2000-10-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
5324
5325         * search.c (Freplace_match): Set newtext to an empty string.
5326
5327 2000-10-10  Martin Buchholz  <martin@xemacs.org>
5328
5329         * s/decosf1-3.h: Remove #include of stropts.h
5330         * s/ptx.h: Remove #include of stropts.h
5331         * s/usg5-4.h: Remove #include of stropts.h
5332         * sysproc.h:
5333         * config.h.in:
5334         Use stropts.h, not sys/stropts.h.
5335         Use strtio.h, not sys/strtio.h.
5336
5337 2000-10-04  Martin Buchholz <martin@xemacs.org>
5338
5339         * XEmacs 21.2.36 is released.
5340
5341 2000-09-21  Andy Piper  <andy@xemacs.org>
5342
5343         * glyphs-x.c (x_redisplay_widget): make sure non-structural
5344         changes still involve copying the widget tree.
5345         (update_widget_face): make sure a change is register in the widget
5346         tree. Call update_tab_widget_face appropriately.
5347         (update_tab_widget_face): ditto.
5348         (x_tab_control_redisplay): make sure non-structural changes still
5349         involve copying the widget tree.
5350
5351 2000-08-31   Daiki Ueno  <ueno@unixuser.org>
5352
5353         * lread.c (locate_file): Check the path element is non-nil.
5354
5355 2000-10-02  Martin Buchholz  <martin@xemacs.org>
5356
5357         * lisp.h: Warning suppression for SCO compilers.
5358
5359         * redisplay-tty.c (reset_tty_modes): Fix crash.
5360         E.g. from xemacs running on X: (delete-device (make-device 'tty nil))
5361
5362 2000-09-27  Martin Buchholz  <martin@xemacs.org>
5363
5364         Big signal/process handling overhaul.  Bugs fixed:
5365         M-x shell, type `sleep 10000', M-x comint-interrupt-subjob and
5366         M-x comint-kill-subjob should work for both values nil and t of
5367         process-connection-type. It was broken on most platforms.
5368         Testing on Irix and Cygwin still needed.  Other plaforms tested.
5369         * sysdep.c: Move #include of stropts.h into sysproc.h.  Use pid_t.
5370         * process-unix.c: Signal/Process handling overhaul.
5371         (pty_name): make 64 bytes, as `expect' does, for paranoia.
5372         (allocate_pty): Use all available modern methods of allocating
5373         ptys, falling back to old style BSD allocation as a last resort.
5374         Use allegedly more secure Unix98 pty allocation by default.
5375         (allocate_pty_the_old_fashioned_way): New. the last resort.
5376         (unix_create_process): Push ptem, ldterm, ttcompat where
5377         available.  Autoconfiscate.
5378         (try_to_initialize_subtty): New.
5379         (unix_kill_child_process): Proper signal handling for ptys on most
5380         platforms, using special knowledge of AIX, BSD, etc...
5381         (unix_create_process): Always disconnect_controlling_terminal() for
5382         subprocesses, whether using ptys or not.
5383         * process.h: Remove old getpt-dependent PTY code.
5384         * process.c (Fprocess_send_signal): New, obvious generic function.
5385         (decode_signal): New.
5386         (Finterrupt_process):
5387         (Fkill_process):
5388         (Fquit_process):
5389         (Fstop_process):
5390         (Fcontinue_process):
5391         (Fsignal_process): Use decode_signal.
5392         (process_send_signal):
5393         Many docstring corrections.
5394         Allow any signal to be sent to a process object.
5395         * config.h.in: Add symbols for big signal/process overhaul.
5396         * syssignal.h (EMACS_KILLPG): Use HAVE_KILLPG. Use `pid', not `gid'.
5397         * sysproc.h: Include process-related headers, where available:
5398         sys/stropts.h sys/strtio.h pty.h libutil.h
5399         * s/irix4-0.h:
5400         * s/irix5-0.h:
5401         * s/cygwin32.h:
5402         * s/gnu.h:
5403         * s/linux.h:
5404         * s/hpux.h:
5405         * s/aix3-1.h:
5406         Remove old S&M pty stuff.
5407         * console-tty.c (tty_init_console): Use pid_t, not int, for pids.
5408         * systty.h: Simplify cpp hackery, improve comments.
5409         Favor BSD ioctl(TIOCGPGRP) over Posix tcgetpgrp().
5410
5411         * editfns.c (Fformat_time_string):
5412         Be a little more paranoid with the return value of ctime.
5413
5414         * fileio.c (check_executable):
5415         (check_writable):
5416         Use symbolic constants X_OK, W_OK.
5417
5418         * console-x.c (split_up_display_spec): Fix a warning.
5419
5420 2000-10-02  Martin Buchholz  <martin@xemacs.org>
5421
5422         * gui-x.c (add_accel_and_to_external): strlen ==> XSTRING_LENGTH
5423         * ntproc.c (sys_spawnve): make_string ==> build_string
5424         Small clarity improvements.
5425
5426 2000-09-30  Martin Buchholz  <martin@xemacs.org>
5427
5428         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY): Warning removal.
5429
5430         * s/windowsnt.h (HAVE_STRCASECMP): Remove.
5431
5432         * config.h.in (HAVE_STRCASECMP): Remove.
5433
5434 2000-09-29  Martin Buchholz  <martin@xemacs.org>
5435
5436         * redisplay-output.c (redisplay_output_pixmap):
5437         Cleaner and possibly more 64-bit correct code.
5438
5439 2000-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
5440
5441         * dumper.c (pdump_load_finish): move restoration of
5442         `noninteractive1' to emacs.c (main_1).
5443         * emacs.c (main_1): protect LISP-visible command-line flags
5444         from pdump_load().
5445
5446 2000-09-26  Stephen J. Turnbull  <stephen@xemacs.org>
5447
5448         * Makefile.in.in (versionclean):  Use EXE_TARGET and
5449         DUMP_TARGET instead of literal program names.
5450
5451 2000-09-20  Martin Buchholz  <martin@xemacs.org>
5452
5453         * Makefile.in.in: Recent purify's require absolute paths for cache-dir.
5454
5455 2000-09-19  Martin Buchholz  <martin@xemacs.org>
5456
5457         * *: Spelling mega-patch
5458
5459 2000-09-19  Martin Buchholz  <martin@xemacs.org>
5460
5461         * fns.c (bad_bad_turtle):
5462         Delete "Eek!" comment, since we fixed the bug to which it refers.
5463
5464 2000-09-16  Martin Buchholz  <martin@xemacs.org>
5465
5466         * alloca.c: Replace REGISTER with register.
5467
5468 2000-09-16   Daiki Ueno  <ueno@unixuser.org>
5469
5470         * file-coding.c (ucs_to_char): Use countof.
5471
5472 2000-09-16  Martin Buchholz  <martin@xemacs.org>
5473
5474         * file-coding.c: (ucs_to_char):
5475         (complex_vars_of_file_coding):
5476         Use countof instead of sizeof.
5477         Use CHECK_NATNUM instead of CHECK_INT.
5478
5479         * sysdep.c (strcasecmp): Remove.
5480         * device-x.c (ascii_strcasecmp): New.
5481         * device-x.c (Fx_get_resource): Use ascii_strcasecmp.
5482         Avoid using non-standard non-portable strcasecmp.
5483
5484 2000-09-16  Martin Buchholz  <martin@xemacs.org>
5485
5486         * Makefile.in.in (mostlyclean): remove reference to prefix-args.
5487         * font-lock.c: remove reference to emacsfns.h.
5488         * search.c: small doc improvement.
5489         * event-Xt.c: correct file names in comments.
5490         * console-x.h Correct file names in comments.
5491         * frame.c: Correct file names in comments.
5492         * event-stream.c: remove Energize from comments.
5493
5494 2000-09-15  Martin Buchholz  <martin@xemacs.org>
5495
5496         * symeval.h (DEFERROR_STANDARD):
5497         (DEFERROR):
5498         (DEFSYMBOL):
5499         (DEFSYMBOL_NO_DUMP):
5500         (DEFSYMBOL_MULTIWORD_PREDICATE):
5501         (DEFSYMBOL_MULTIWORD_PREDICATE_NO_DUMP):
5502         (DEFKEYWORD):
5503         The construct &##name is not sensible C.
5504         Fixes compilation errors with Unixware native compiler.
5505
5506 2000-09-14  Martin Buchholz  <martin@xemacs.org>
5507
5508         * frame.c (device_matches_console_spec): no longer takes a `frame' arg
5509         (next_frame_internal): Removed.  We now just have next_frame.
5510         (next_frame):
5511         Write a simpler and cleaner one-pass algorithm.
5512         Remove called_from_delete_device arg and #ifdefed-out code.
5513         (previous_frame):
5514         Renamed from prev_frame.  Update callers.
5515         Cleaned up to have an analogous implementation to next_frame.
5516         (other_visible_frames_internal): Remove the
5517         called_from_delete_device bogus arg, and hence, remove this
5518         function.  Just use other_visible_frames().
5519
5520         * window.c (Fnext_window):
5521         Prettify docstring.
5522         Since next_frame() is guaranteed to return a frame, remove check
5523         for nil inserted in previous patch.
5524         (Fprevious_window):
5525         Prettify docstring.
5526         Make code look more like Fnext_window.
5527         (window_loop):
5528         Respect the `console' arg when iterating through windows.
5529         Fixes bug: (get-buffer-window buffer t device) not respecting
5530         the `device' arg.
5531         This function needs more work, as others have pointed out.
5532
5533         * frame.h: Rename prev_frame to previous_frame.
5534         device_matches_console_spec no longer takes a `frame' arg.
5535
5536         * s/gnu.h:
5537         * s/linux.h:
5538         * s/hpux.h:
5539         Use EMACS_BLOCK_SIGNAL instead of sigblock.
5540         From "Golubev I. N." <gin@mo.msk.ru>.
5541
5542         * make-src-depend: Fix typo.
5543
5544 2000-09-13  Martin Buchholz  <martin@xemacs.org>
5545
5546         * window.c (Fnext_window):
5547         next_frame() might return nil, not a frame.
5548         Fixes this crash:
5549         (gdb) run -eval '(progn  (make-device (quote x) "polgar:0") (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
5550
5551         * frame.c (next_frame_internal):
5552         We've passed a frame if we've passed its device.
5553         Fixes this crash:
5554         (gdb) run -eval '(progn (make-frame nil (make-device (quote x) "polgar:0")) (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
5555 Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245, RECORD_TYPEP (obj, lrecord_type_frame)
5556
5557 2000-09-11  Jonathan Harris  <jhar@tardis.ed.ac.uk>
5558
5559         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
5560         Allow option to suppress accelerators in menu/dialog items.
5561         (populate_or_checksum_helper): Pass dialog title through above.
5562
5563 2000-09-10  Jonathan Harris  <jhar@tardis.ed.ac.uk>
5564
5565         * event-msw.c (mswindows_key_to_emacs_keysym):
5566         Add "pause" key, fix "menu" key.
5567
5568 2000-09-09  Martin Buchholz  <martin@xemacs.org>
5569
5570         * eval.c (reinit_vars_of_eval):
5571         Increase max_lisp_eval_depth to 1000,
5572         required for thai-xtis.el to byte-compile under some circumstances.
5573
5574 2000-09-04  Martin Buchholz  <martin@xemacs.org>
5575
5576         * event-Xt.c (x_to_emacs_keysym): Increase size of `buffer' to 513.
5577         From Kenichi Handa.
5578
5579 2000-09-01  Martin Buchholz  <martin@xemacs.org>
5580
5581         * make-src-depend: Make the generated Makefiles smaller.
5582
5583         * s/hpux.h (SETUP_SLAVE_PTY):
5584         Provide a %d in the format string for the errno argument.
5585
5586         * editfns.c (Ftemp_directory):
5587         Warning fix.
5588         Avoid buffer overrun on very long file name.
5589
5590         * input-method-xlib.c (XIM_init_device):
5591         6th parameter of XRegisterIMInstantiateCallback has different
5592         pointer types on different OSes, so simply cast to (void *).
5593
5594         * unexhp9k800.c: Warning fixes.  Fiddly changes.
5595
5596         * sysdll.c (dll_open):
5597         shl_load will hang hard if passed a NULL filename.
5598         Simply return NULL for compatibility with dlopen.
5599         * sysdll.c: Conform to XEmacs coding standards.
5600
5601         * sysdep.c (get_pty_max_bytes):
5602         Support pty input lines longer than 512 bytes on HP-UX 10.20.
5603
5604 2000-08-31  Martin Buchholz  <martin@xemacs.org>
5605
5606         * tooltalk.c: Add #include <syssignal.h>
5607
5608 2000-08-12  Alexandre Oliva  <aoliva@redhat.com>
5609
5610         * s/hpux.h: Don't use undefined function sigunblock().
5611
5612 2000-08-31  Martin Buchholz  <martin@xemacs.org>
5613
5614         * config.h.in: Add HAVE_BALLOON_HELP.
5615         * emacs.c: Use HAVE_BALLOON_HELP.
5616         * Makefile.in.in (x_objs):
5617         Make Balloon Help conditional on finding shape.h.
5618
5619 2000-08-23  Yoshiki Hayashi  <yoshiki@xemacs.org>
5620
5621         * syntax.c (regex_emacs_buffer_p): New variable.
5622         * syntax.h (regex_emacs_buffer_p): extern.
5623         * search.c (looking_at_1):
5624         (string_match_1):
5625         (fast_string_match):
5626         (search_buffer): Set regex_emacs_buffer_p.
5627         * regex.c (re_match_2_internal): Reference regex_emacs_buffer_p
5628         when before_dot, at_dot, after_dot.
5629
5630 2000-08-23  Andy Piper  <andy@xemacs.org>
5631
5632         * gui-x.c (popup_selection_callback): Only set action_occurred
5633         when we really have an image instance.
5634         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
5635
5636 2000-08-23  Andy Piper  <andy@xemacs.org>
5637
5638         * gui-msw.c (mswindows_handle_gui_wm_command): set
5639         action_occurred.
5640         * gui-x.c (popup_selection_callback): ditto.
5641
5642         * glyphs.h (IMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): new accessor.
5643         (XIMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): ditto.
5644         (struct Lisp_Image_Instance): add action_occurred flag.
5645
5646         * glyphs.c (redisplay_subwindow): use action_occurred flag.
5647         (image_instance_changed): ditto.
5648         (reset_frame_subwindow_instance_cache): only unmap windows - do
5649         not remove them from the cache also.
5650
5651         * glyphs-widget.c (tab_control_update): better debug.
5652         (progress_gauge_update): ditto.
5653         (layout_update): ditto.
5654         (layout_instantiate): ditto.
5655         (tab_control_order_only_changed): cope with null pending items.
5656
5657         * glyphs-msw.c (mswindows_tab_control_redisplay): add better
5658         debug. Force selection of an item when an action occurred. Cope
5659         with null pending_items.
5660         (mswindows_progress_gauge_redisplay): better debug.
5661         * glyphs-x.c (x_tab_control_redisplay): ditto.
5662
5663         * redisplay.c (redisplay_frame): reset the frame cache if the
5664         frame is garbaged.
5665
5666         * window.c (Fset_window_configuration): potentially re-enable
5667         frame cache reset.
5668         (window_unmap_subwindows): need to finalize instances here since
5669         it is only used in mark_window_as_deleted.
5670
5671 2000-08-22  Stephen J. Turnbull  <stephen@xemacs.org>
5672
5673         * nas.c (SndOpenDataForReading):
5674         nas.c (WaveOpenDataForReading):
5675         nas.c (readChunk): {BIG,LITTLE}_ENDIAN -> NAS_{BIG,LITTLE}_ENDIAN.
5676         Somehow escaped from the 2000-08-14 patch.
5677
5678 2000-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
5679
5680         * nas.c:  Preprocessor trickery to use NAS_LITTLE_ENDIAN instead
5681         of LITTLE_ENDIAN (conflicts with glibc, at least) in NAS <= 1.2p5.
5682
5683 2000-08-21  Andy Piper  <andy@xemacs.org>
5684
5685         * glyphs-x.c (x_map_subwindow): Minor optimization - only map the
5686         window if it is not already displayed.
5687
5688         * glyphs-msw.c (mswindows_map_subwindow): only map the window if
5689         it is not already displayed.
5690
5691         * window.c (Fset_window_configuration): don't reset the frame
5692         cache.
5693
5694         * glyphs.c (unmap_subwindow_instance_cache_mapper): only remove
5695         instances from the frame cache if we are actually finalizing them.
5696         (reset_frame_subwindow_instance_cache): reset frame cache only
5697         after unmapping everything.
5698         (map_subwindow): set displayed flag after mapping.
5699
5700 2000-08-21  Martin Buchholz  <martin@xemacs.org>
5701
5702         * data.c (indirect_function):
5703         Rename ERRORP to non-misleading VOID_FUNCTION_ERRORP.
5704
5705         * eval.c (function_argcount):
5706         Use original function when signaling errors.
5707
5708 2000-08-18  Andy Piper  <andy@xemacs.org>
5709
5710         * frame.c (delete_frame_internal): use new
5711         free_frame_subwindow_instances name.
5712
5713         * glyphs-msw.c (mswindows_tab_control_instantiate): verify index.
5714         (add_tab_item): make return type correct.
5715         (mswindows_tab_control_instantiate): assert index of tab.
5716         (mswindows_tab_control_redisplay): Re-code to use
5717         gui_item_equal_sans_selected and gui_item_list_find_selected.
5718
5719         * glyphs-widget.c (tab_control_update): Correct comment.
5720
5721         * window.c (window_unmap_subwindows): use new
5722         unmap_subwindow_instance_cache_mapper.
5723         (window_unmap_subwindows_cache_mapper): deleted.
5724         (Fset_window_configuration): comparisons should now be with
5725         EQ. Preserve the subwindow instance cache across configuration
5726         changes.
5727         (allocate_window): ditto.
5728         (make_dummy_parent): ditto.
5729
5730         * glyphs.c (free_frame_subwindow_instances): rename from
5731         free_frame_subwindow_instance_cache. finalize all instances rather
5732         than just those in the display cache.
5733         (finalize_all_subwindow_instances): walk windows unmapping and
5734         finalizing subwindows.
5735         (unmap_subwindow_instance_cache_mapper): moved from
5736         window.c. Allow finalization as well as unmapping.
5737
5738         * gui.c (gui_item_list_find_selected): new function.
5739
5740         * gui.h (gui_item_list_find_selected): declare.
5741
5742         * glyphs-x.c (x_tab_control_redisplay): pick tab
5743         explicitly. Re-code to use gui_item_equal_sans_selected and
5744         gui_item_list_find_selected.
5745
5746         * glyphs-x.h: add lwlib-utils.h
5747
5748         * buffer.c (Frecord_buffer): undo previous change.
5749
5750 2000-08-09  Vin Shelton  <acs@xemacs.org>
5751
5752         * config.h.in, s/gnu.h, s/hpux.h, s/linux.h: Use UNIX98 PTYs if
5753         possible.  Create temporary files more securely.  The patch was
5754         generated by Torsten Duwe <duwe@caldera.de>, Florian Weimer
5755         <Florian.Weimer@RUS.Uni-Stuttgart.DE> and Olaf Kirch.  See
5756         http://www.xemacs.org/list-archives/xemacs-patches/200007/msg00123.html
5757         for details.
5758
5759 2000-08-07  Ben Wing  <ben@xemacs.org>
5760
5761         * getloadavg.c: remove duplicate (and windows-breaking)
5762         includes of fcntl.h and sys/file.h.
5763
5764         * nt.c: remove duplicate getloadavg() definition.
5765
5766         * sysdll.h (Qdll_filename_encoding): add missing stand-in
5767         encodings.
5768
5769 2000-08-07  Gunnar Evermann  <ge204@eng.cam.ac.uk>
5770
5771         * eval.c (function_argcount): If function needs to be autoloaded
5772         actually use the loaded definition.
5773         GCPRO function.
5774
5775 2000-08-05  Ben Wing  <ben@xemacs.org>
5776
5777         * getloadavg.c: add prototype for getloadavg().  remove
5778         duplicate WIN32_NATIVE/CYGWIN code (already in the middle
5779         of the code).  remove duplicate header includes.
5780
5781         * s\cygwin32.h, s\mingw32.h: remove stray NO_ARG_ARRAY.
5782
5783         * s\cygwin32.h, s\mingw32.h, m\windowsnt.h:
5784         don't define LOAD_AVE_TYPE/LOAD_AVE_CVT because we have no
5785         useful load average.
5786
5787         * alloc.c (reinit_alloc_once_early): removed references to
5788         VIRT_ADDR_VARIES, malloc_sbrk_used/free, and data-bytes-used/free.
5789         the lisp vars are the only things referencing the malloc_sbrk_*
5790         vars, and they were already if 0'd out.  these vars only exist
5791         in the older malloc.c, which is basically unused, and they're
5792         only for informational purposes.
5793
5794         * m\*.h: removed useless VIRT_ADDR_VARIES.
5795
5796         * m\powerpc.h: removed stray NO_ARG_ARRAY.
5797
5798 2000-04-26  IKEYAMA Tomonori  <tomonori@suiyokai.org>
5799
5800         * redisplay-msw.c (mswindows_output_dibitmap): Set foreground
5801         color if the image is a mono pixmap.
5802
5803 2000-07-30  Ben Wing  <ben@xemacs.org>
5804
5805         * Makefile.in.in (release):
5806         Remove stray @.
5807
5808         * buffer.c (directory_is_current_directory):
5809         * dired-msw.c (mswindows_get_files):
5810         * dired.c:
5811         * dired.c (Fdirectory_files):
5812         * dired.c (file_name_completion_stat):
5813         * dired.c (Ffile_attributes):
5814         [[[[1]]]]: Rename stat() -> xemacs_stat() and eliminate nasty
5815         preprocessor tricks, to avoid problems on some machines
5816         (e.g. SCO).
5817
5818         * callproc.c (egetenv): GC docs.
5819
5820         * console-msw.h:
5821         * console-msw.h (struct mswindows_dialog_id):
5822         * lrecord.h (lrecord_type):
5823         New object for use with MSW dialogs.
5824
5825         * console.h (struct console_methods):
5826         New enable/disable frame methods, for proper modal dialogs.
5827
5828         * device-msw.c (msprinter_default_printer): Fix to follow
5829         proper Mule conventions.
5830
5831         * device-msw.c:
5832         * device-msw.c (signal_open_printer_error):
5833         * device-msw.c (msprinter_init_device):
5834         * device-msw.c (ensure_not_printing):
5835         * device-msw.c (plist_get_margin):
5836         * device-msw.c (Fmsprinter_select_settings):
5837         * device-msw.c (finalize_devmode):
5838         * device-msw.c (Fmsprinter_settings_despecialize):
5839         * device-msw.c (signal_enum_priner_error):
5840         * extents.c (decode_extent):
5841         * extents.c (decode_map_extents_flags):
5842         * extents.c (decode_extent_at_flag):
5843         * extents.c (Fextent_at):
5844         * extents.c (Fextents_at):
5845         * extents.c (symbol_to_glyph_layout):
5846         [[[[2]]]] Use structured errors.
5847
5848         * dialog-msw.c:
5849         * dialog-msw.c (mswindows_is_dialog_msg):
5850         * dialog-msw.c (mark_mswindows_dialog_id):
5851         * dialog-msw.c (dialog_proc):
5852         * dialog-msw.c (handle_question_dialog_box):
5853         * dialog-msw.c (syms_of_dialog_mswindows):
5854         Define new object to clean up marking; use it as a dialog identifier.
5855         Call new delete-dialog-box-hook.
5856
5857         * dialog-x.c (dbox_selection_callback):
5858         * dialog-x.c (dbox_descriptor_to_widget_value):
5859         * dialog-x.c (x_make_dialog_box_internal):
5860         Call new delete-dialog-box-hook.
5861         Return an id.
5862
5863         * dialog.c:
5864         * dialog.c (syms_of_dialog):
5865         * dialog.c (vars_of_dialog):
5866         Define new delete-dialog-box-hook, for use w/modal dialog boxes.
5867
5868         * eval.c:
5869         * eval.c (signal_call_debugger):
5870         when noninteractive, output stack traces on the console instead
5871         of in a (never-seen) buffer.
5872
5873         * eval.c (signal_type_error):
5874         * eval.c (invalid_argument_2):
5875         * lisp.h:
5876         new funs for use w/structured errors.
5877
5878         * event-Xt.c:
5879         * event-Xt.c (x_to_emacs_keysym):
5880         * event-Xt.c (describe_event):
5881         * event-Xt.c (emacs_Xt_event_handler):
5882         * event-Xt.c (vars_of_event_Xt):
5883         * event-msw.c:
5884         * event-msw.c (mswindows_wnd_proc):
5885         * event-msw.c (vars_of_event_mswindows):
5886         rename {x,mswindows}-debug-events to debug-{}-events for
5887         consistency with other debug-foo variables.
5888
5889         * event-stream.c:
5890         document next-event more clearly.
5891
5892         * fileio.c (Ffile_name_directory):
5893         * fileio.c (Ffile_name_nondirectory):
5894         * fileio.c (Funhandled_file_name_directory):
5895         * fileio.c (file_name_as_directory):
5896         * fileio.c (Ffile_name_as_directory):
5897         * fileio.c (directory_file_name):
5898         * fileio.c (Fdirectory_file_name):
5899         * fileio.c (Fmake_temp_name):
5900         * fileio.c (Ffile_truename):
5901         * fileio.c (Fsubstitute_in_file_name):
5902         * fileio.c (expand_and_dir_to_file):
5903         * fileio.c (barf_or_query_if_file_exists):
5904         * fileio.c (check_executable):
5905         * fileio.c (Ffile_exists_p):
5906         * fileio.c (Ffile_writable_p):
5907         * fileio.c (Ffile_directory_p):
5908         * fileio.c (Ffile_regular_p):
5909         * fileio.c (Ffile_modes):
5910         * fileio.c (Ffile_newer_than_file_p):
5911         * fileio.c (Fverify_visited_file_modtime):
5912         * fileio.c (Fset_visited_file_modtime):
5913         * fileio.c (auto_save_1):
5914         (1). (2).
5915         fix up gcpro's.
5916
5917         * frame-msw.c:
5918         * frame-msw.c (mswindows_init_frame_1):
5919         * frame-msw.c (mswindows_enable_frame):
5920         * frame-msw.c (error_frame_unsizable):
5921         * frame-msw.c (msprinter_init_frame_1):
5922         * frame-msw.c (msprinter_init_frame_3):
5923         * frame-msw.c (console_type_create_frame_mswindows):
5924         (2).
5925         implement new enable/disable frame methods.
5926
5927         * frame-x.c:
5928         * frame-x.c (x_enable_frame):
5929         * frame-x.c (console_type_create_frame_x):
5930         implement new enable/disable frame methods.
5931
5932         * frame.c:
5933         * frame.c (Fdisable_frame):
5934         * frame.c (syms_of_frame):
5935         * frame.h (struct frame):
5936         implement new enable/disable frame methods/functions.
5937
5938         * general-slots.h:
5939         add initial-focus.
5940
5941         * glyphs-msw.c (mswindows_widget_instantiate):
5942         comment that initial-focus should be implemented.
5943
5944         * glyphs-widget.c:
5945         * glyphs-widget.c (check_valid_instantiator):
5946         * glyphs-widget.c (check_valid_orientation):
5947         * glyphs-widget.c (check_valid_tab_orientation):
5948         * glyphs-widget.c (check_valid_justification):
5949         * glyphs-widget.c (check_valid_border):
5950         * glyphs-widget.c (check_valid_callback):
5951         * glyphs-widget.c (check_valid_int_or_function):
5952         * glyphs-widget.c (check_valid_string_or_vector):
5953         * glyphs-widget.c (check_valid_item_list_1):
5954         * glyphs-widget.c (widget_validate):
5955         * glyphs-widget.c (combo_box_validate):
5956         * glyphs-widget.c (widget_instantiate):
5957         * glyphs-widget.c (syms_of_glyphs_widget):
5958         * glyphs-widget.c (VALID_WIDGET_KEYWORDS):
5959         * glyphs-widget.c (image_instantiator_combo_box):
5960         * glyphs-widget.c (image_instantiator_scrollbar):
5961         * glyphs-widget.c (image_instantiator_tab_control):
5962         * glyphs-widget.c (VALID_LAYOUT_KEYWORDS):
5963         (2).
5964         support (unimplemented) keyword initial-focus.
5965         reindent long macros.
5966
5967         * glyphs-x.c (x_redisplay_widget):
5968         * glyphs-x.c (x_button_instantiate):
5969         * glyphs-x.c (x_button_redisplay):
5970         * glyphs-x.c (x_progress_gauge_instantiate):
5971         * glyphs-x.c (x_edit_field_instantiate):
5972         * glyphs-x.c (x_combo_box_instantiate):
5973         * glyphs-x.c (x_tab_control_instantiate):
5974         * glyphs-x.c (x_label_instantiate):
5975         * gui-x.c:
5976         * gui-x.c (button_item_to_widget_value):
5977         * gui-x.c (gui_items_to_widget_values_1):
5978         * gui-x.c (gui_item_children_to_widget_values):
5979         * gui-x.c (gui_items_to_widget_values):
5980         * gui-x.h:
5981         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
5982         add new flag to gui-parsing routines to indicate whether
5983         accelerator specs should be supported.
5984
5985         * glyphs.c (syms_of_glyphs): use DEFSYMBOL.
5986
5987         * glyphs.h (struct Lisp_Image_Instance):
5988         * glyphs.h (IMAGE_INSTANCE_WANTS_INITIAL_FOCUS):
5989         add initial-focus flag.
5990
5991         * gui.c:
5992         * gui.c (syms_of_gui):
5993         * gui.c (vars_of_gui):
5994         clean up menu-no-selection-hook.
5995
5996         * gui.h:
5997         support delete-dialog-box-hook.
5998
5999         * lread.c (Fload_internal):
6000         * lread.c (locate_file_in_directory_mapper):
6001         (1).
6002
6003         * lrecord.h:
6004         * lrecord.h (struct toolbar_button):
6005         * lrecord.h (syms_of_toolbar):
6006         document how to create a new object.
6007
6008         * menubar-msw.c (mswindows_char_is_accelerator):
6009         may be called on frames w/o menus.
6010
6011         * menubar.c (vars_of_menubar):
6012         clean up :filter docs.
6013
6014         * nt.c (readdir):
6015         * ntproc.c:
6016         (1).
6017
6018         * process-nt.c:
6019         * process-nt.c (validate_signal_number):
6020         * process-nt.c (signal_cannot_launch):
6021         * process-nt.c (nt_create_process):
6022         * process-nt.c (nt_send_process):
6023         * process-nt.c (nt_kill_child_process):
6024         * process-nt.c (nt_open_network_stream):
6025         * process-nt.c (syms_of_process_nt):
6026         (2).
6027         delete quote-handling.  call new lisp code that does it better.
6028
6029         * process-unix.c (connect_to_file_descriptor):
6030         * process-unix.c (allocate_pty):
6031         * process-unix.c (unix_send_process):
6032         * process-unix.c (unix_kill_child_process):
6033         * process-unix.c (unix_open_network_stream):
6034         * process-unix.c (unix_open_multicast_group):
6035         (1). (2).
6036
6037         * process.c:
6038         * process.c (Fstart_process_internal):
6039         (2).  need to canonicalize process path even if absolute.
6040
6041         * select-msw.c (symbol_to_ms_cf):
6042         * select-msw.c (ms_cf_to_symbol):
6043         * select-msw.c (cf_is_autofreed):
6044         * select-msw.c (mswindows_destroy_selection):
6045         * select.c:
6046         * select.c (syms_of_select):
6047         * select.h:
6048         support dibv5, fix bugs. (from Mike Alexander)
6049
6050         * select.c (Fget_selection_internal):
6051         * select.c (select_convert_out):
6052
6053         * sysdep.c:
6054         * sysdep.c (xemacs_stat):
6055         renamed.
6056
6057         * sysdep.c (mkdir):
6058         * sysdep.c (rmdir):
6059         but keep original stat() here because we provide encapsulation
6060         around these funs.
6061
6062         * sysfile.h:
6063         * sysfile.h (fstat):
6064         remove stat garbage.
6065
6066         * syswindows.h:
6067         fix X/MSW conflict.
6068         don't include tchar.h.  it's inappropriate because it makes
6069         compile-time distinctions when we want runtime distinctions.
6070         (we provide our own tchar replacements)
6071
6072         * toolbar.c:
6073         use default object printer for toolbar-button.
6074
6075         * unexcw.c:
6076         make sure we don't encapsulate.
6077
6078         * window.c (vars_of_window):
6079         emphasize that temp-buffer-show-hook is obsolete.
6080
6081 2000-08-05  Martin Buchholz  <martin@xemacs.org>
6082
6083         * glyphs.c (image_instance_hash): HASH2 wants EMACS_INT args.
6084         (Fimage_instance_subwindow_id): make_int wants EMACS_INT arg.
6085
6086         * events.c (Fevent_timestamp_lessp):
6087         Not 64-bit clean.  Use EMACS_INT, not int.
6088
6089 2000-06-05  Andrew Begel <abegel@cs.berkeley.edu>
6090
6091         * lrecord.h (lrecord_types): Changed lrecord_type_count to an
6092         unsigned int and changed the last enum to
6093         lrecord_type_last_built_in_type.
6094         (lrecord_implementations_table): changed prototype to know how
6095         long the array is supposed to be.
6096         (lrecord_type_count): new unsigned int to keep track of the
6097         current number of lisp lrecord types.
6098         (DEFINE_EXTERNAL_LRECORD):
6099         (DECLARE_EXTERNAL_LRECORD): Added these two for external
6100         dynamic-modules to declare new lisp types. They are the same
6101         as the non-EXTERNAL forms, but declare an lrecord_type unsigned
6102         int for each new type, and increment lrecord_type_count by 1.
6103
6104         * alloc.c (lrecord_implementations_table): Changed to reference
6105         lrecord_type_last_built_in_type for the size of the array.
6106         Moved MODULE_DEFINABLE_TYPE_COUNT to lrecord.h.
6107
6108 2000-08-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
6109
6110         * glyphs.h (check_valid_item_list): Renamed from
6111         check_valid_item_list_1.
6112
6113 2000-08-01 Alastair J. Houghton <ajhoughton@lineone.net>
6114
6115         * select.c (Qselect_coerce): New.
6116         * select.c (Vselection_coercion_alist): New.
6117         * select.c (syms_of_select): Declare.
6118         * select.c (get-selection-internal): Use it.
6119         Use the new select-coerce functionality.
6120
6121         * select.c (select_coerce): New.
6122         * select.h (select_coerce): Declare.
6123         New function to coerce one type of data into another.
6124
6125 2000-08-03  Martin Buchholz  <martin@xemacs.org>
6126
6127         * callproc.c (Fcall_process_internal):
6128         (Fcall_process_internal):
6129         * process-unix.c (unix_create_process):
6130         Save and restore the value of errno, so that error messages are accurate.
6131
6132 2000-08-01  Martin Buchholz  <martin@xemacs.org>
6133
6134         * elhash.c (print_hash_table):
6135         Fix printing of hash tables to also use `key-and-value' instead of `t'.
6136         Prettify docstrings and indentation.
6137
6138 2000-07-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
6139
6140         * window.c (Fwindow_pixel_edges): Subtract frame border and
6141         gutter size.
6142
6143 2000-07-31  Andy Piper  <andy@xemacs.org>
6144
6145         * buffer.c (Frecord_buffer): make absolutely sure that redisplay
6146         will acknowledge the change.
6147
6148         * glyphs.h: declare tab_control_order_only_changed.
6149
6150         * glyphs-x.c (x_tab_control_redisplay): use
6151         tab_control_order_only_changed.
6152
6153         * glyphs-widget.c (tab_control_order_only_changed): new function.
6154
6155         * glyphs-msw.c (mswindows_tab_control_redisplay): use
6156         tab_control_order_only_changed.
6157
6158         * gui.c (gui_item_equal_sans_selected): new function.
6159         (gui_item_equal): use it.
6160
6161         * glyphs-msw.c (mswindows_combo_box_instantiate): deprecate
6162         :properties in favor of :items..
6163
6164         * glyphs-widget.c (check_valid_item_list): rename from
6165         check_valid_item_list_1.
6166         (check_valid_item_list_1): renamed.
6167         (combo_box_validate): deprecate :properties in favor of :items.
6168         (widget_instantiate): ditto.
6169         (tab_control_update): ditto.
6170         (image_instantiator_combo_box): ditto.
6171         (image_instantiator_tree_view): ditto.
6172         (image_instantiator_tab_control): ditto.
6173         (layout_post_instantiate): remove dead code.
6174
6175         * print.c (debug_print_no_newline): only write to debugger if in
6176         WIN32_NATIVE.
6177
6178         * elhash.c (Fmake_hash_table): update doc string.
6179
6180         * event-msw.c (mswindows_wnd_proc): don't allow processing of
6181         messages whilst in GC. This at least stops XEmacs crashing but has
6182         the potential for wierd behaviour.
6183
6184 2000-07-31  Martin Buchholz  <martin@xemacs.org>
6185
6186         * config.h.in:
6187         Make existence of s&m files optional.
6188
6189         * s/bsd386.h: Remove HAVE_GETLOADAVG.
6190         * s/freebsd.h: Remove HAVE_GETLOADAVG.
6191         * s/gnu.h: Remove HAVE_GETLOADAVG.
6192         * s/netbsd.h: Remove HAVE_GETLOADAVG.
6193         * s/sol2.h: Remove HAVE_GETLOADAVG.
6194         * lisp.h: Remove getloadavg() declaration.
6195         * fns.c:
6196         Include <sys/loadavg.h> if available.
6197         Don't declare our own getloadavg() if HAVE_GETLOADAVG.
6198         * config.h.in:  Group together getloadavg()-related macros.
6199         Use only configure-time tests to detect getloadavg().
6200
6201 2000-07-30  Martin Buchholz  <martin@xemacs.org>
6202
6203         * Makefile.in.in (TransientEmacsShell.o): Fix race condition.
6204
6205 2000-07-25  Andy Piper  <andy@xemacs.org>
6206
6207         * syswindows.h: add tchar.h for native builds.
6208
6209         * frame.c (syms_of_frame): remove set-glyph-image.
6210
6211         * general-slots.h: add Qset_glyph_image.
6212
6213         * glyphs-widget.c (layout_update): add domain arg to
6214         set-glyph-image.
6215         (syms_of_glyphs_widget): remove set-glyph-image.
6216
6217 2000-07-23  Ben Wing  <ben@xemacs.org>
6218
6219         * dialog-msw.c (vars_of_dialog_mswindows): need to staticpro
6220         Vpopup_frame_list.
6221
6222 2000-07-22  Andy Piper  <andy@xemacs.org>
6223
6224         * symsinit.h: add syms_of_win32().
6225
6226         * gui-msw.c (syms_of_gui_mswindows): remove
6227         Fmswindows_shell_execute.
6228         (Fmswindows_shell_execute): moved to win32.c.
6229
6230         * emacs.c (main_1): add syms_of_win32 ().
6231
6232         * win32.c (init_potentially_nonexistent_functions): rewrite in
6233         compiler-friendly terms.
6234         (Fmswindows_shell_execute): move here from gui-msw.c.
6235         (syms_of_win32): new.
6236
6237         * device-msw.c (Fmswindows_printer_list): clean up args to
6238         EnumPrinters.
6239         Don't include tchar under cygwin or mingw.
6240         (msprinter_default_printer): make cygwin-friendly.
6241
6242 2000-07-21  Andy Piper  <andy@xemacs.org>
6243
6244         * glyphs-widget.c (image_instantiator_tree_view): use tab
6245         control's update function.
6246         (layout_property): new function. Retrieve items.
6247
6248         * glyphs-msw.c (mswindows_tree_view_redisplay): new
6249         function. Re-populate the tree view from the pending items.
6250
6251         * glyphs.c (instantiate_image_instantiator): Make sure the domain
6252         is designated the parent if the domain is an image instance. This
6253         is needed so that dirtiness can be cascade up the hierarchy and
6254         thus for layout children to be redisplayed correctly.
6255         (allocate_image_instance): rename glyph -> parent.
6256
6257         * redisplay.h: change redisplay_output_layout signature.
6258
6259         * redisplay-msw.c (mswindows_output_display_block): use domain
6260         arg.
6261
6262         * redisplay-x.c (x_output_display_block): use domain arg.
6263
6264 2000-07-10  Andy Piper  <andy@xemacs.org>
6265
6266         * window.c (Fset_window_configuration): add comment.
6267
6268         * redisplay-output.c (compare_runes):
6269         (redisplay_output_subwindow): redisplay rather than update subwindow.
6270         (redisplay_output_layout): ditto.
6271
6272         * redisplay-msw.c (mswindows_frame_output_end):
6273         (mswindows_frame_output_end): make defer window pos optional.
6274
6275         * lisp.h: add Flast.
6276
6277         * glyphs.h (struct image_instantiator_methods): add dest_mask top
6278         normalize method. Change update method to be for changed
6279         instantiators. Add redisplay method. Change signature of layout
6280         method.
6281         (struct Lisp_Image_Instance): add instantiator.
6282         (IMAGE_INSTANCE_INSTANTIATOR): new.
6283         (IMAGE_INSTANCE_SUBWINDOW_FACE): new.
6284         (XIMAGE_INSTANCE_INSTANTIATOR): new.
6285         (XIMAGE_INSTANCE_SUBWINDOW_FACE): new.
6286
6287         * glyphs.c:
6288         (find_instantiator_differences): new function.
6289         (Fset_instantiator_property): new convenience function.
6290         (check_image_instance_structure): strictly check for vector
6291         instantiators.
6292         (normalize_image_instantiator): make non-static.
6293         (instantiate_image_instantiator): pass on dest_mask and use new
6294         signatures for image_instance_layout and friends.
6295         (mark_image_instance): mark the instantiator. Mark the subwindow
6296         face not the widget face.
6297         (image_instance_equal): add instantiator.
6298         (image_instance_hash): ditto.
6299         (allocate_image_instance): ditto.
6300         (Fset_image_instance_property): removed.
6301         (Fimage_instance_file_name): ditto.
6302         (Fcolorize_image_instance): ditto.
6303         (image_instance_layout): add offsets to be set.
6304         (update_image_instance): new function. update an image instance
6305         from its changed instantiator.
6306         (inherit_normalize): add dest_mask.
6307         (xbm_normalize): ditto.
6308         (xface_normalize): ditto.
6309         (xpm_normalize): ditto.
6310         (text_update): set_property -> update.
6311         (image_instantiate): use the glyph identity as a hash key, not the
6312         instantiator.
6313         (glyph_width): use new image_instance_layout signature.
6314         (glyph_ascent): ditto.
6315         (glyph_descent): ditto.
6316         (glyph_height): ditto.
6317         (glyph_query_geometry): ressurrect.
6318         (glyph_layout): ditto.
6319         (redisplay_subwindow): update -> redisplay.
6320         (syms_of_glyphs): add Fset_instantiator_property.
6321         (image_instantiator_format_create): set_property -> update.
6322
6323         * glyphs-x.c:
6324         (autodetect_normalize): add dest_maks to signature.
6325         (x_redisplay_subwindow): update -> redisplay.
6326         (x_redisplay_widget): ditto.
6327         (x_button_redisplay): ditto.
6328         (x_progress_gauge_redisplay): ditto.
6329         (x_tab_control_redisplay): ditto. Rewrite to cope with changed
6330         stacking order.
6331         (console_type_create_glyphs_x): update -> redisplay.
6332         (image_instantiator_format_create_glyphs_x): ditto.
6333
6334         * glyphs-widget.c:
6335         (check_valid_instantiator): disallow glyphs in the instantiator,
6336         they must now be vectors.
6337         (check_valid_instantiator_list): ditto.
6338         (glyph_instantiator_to_glyph): use internal symbol rather than
6339         intern.
6340         (widget_update): renamed from widget_set_property. Call cascaded
6341         update methods.
6342         (redisplay_widget): renamed from update_widget.
6343         (widget_layout): image_instance_layout now takes position as well
6344         as size.
6345         (widget_normalize): ditto.
6346         (widget_instantiate): ditto.
6347         (tab_control_query_geometry) ditto.:
6348         (tab_control_update): renamed from tab_control_set_property.
6349         (progress_gauge_update): set_property -> update.
6350         (layout_normalize): rewrite so that child instantiators are
6351         normalized also.
6352         (layout_update): new function. Create glyphs from the normalized
6353         children and cope with any other layout keywords. We do not
6354         instantiate children here that will be take care of by
6355         redisplay_output_layout.
6356         (layout_instantiate): call layout_update and not much else.
6357         (layout_post_instantiate): not sure whether this is needed
6358         anymore.
6359         (layout_query_geometry): query glyph geometry rather than
6360         image_instance geometry.
6361         (layout_layout): set offsets from pass in parameters. Use glyph
6362         geometry and layout functions rather than image instance ones.
6363         (native_layout_layout): ditto.
6364         (syms_of_glyphs_widget): add make-glyph and set-glyph-image.
6365         (image_instantiator_widget): set_property -> update.
6366         (image_instantiator_buttons): ditto.
6367         (image_instantiator_progress_guage): ditto.
6368         (image_instantiator_tab_control): ditto.
6369         (VALID_LAYOUT_KEYWORDS): instantiators must now be vectors.
6370         (image_instantiator_layout): add update method.
6371
6372         * glyphs-msw.c (bmp_normalize):
6373         (mswindows_resource_normalize): add dest_mask so that it can be
6374         proprogated by layout_normalize.
6375         (begin_defer_window_pos): make optional because it may not be the
6376         right thing to do and it introduces differences with X.
6377         (mswindows_unmap_subwindow): ditto.
6378         (mswindows_map_subwindow): ditto.
6379         (mswindows_redisplay_subwindow): renamed from
6380         mswindows_update_subwindow.
6381         (mswindows_redisplay_widget): ditto.
6382         (mswindows_button_redisplay): renamed from
6383         mswindows_button_update. Update is now what the instantiation
6384         function does for a changed instantiator.
6385         (mswindows_progress_gauge_instantiate): set the progress value
6386         here if appropriate.
6387         (mswindows_tab_control_redisplay): cope with re-ordering of the
6388         members of the tab widget by simply selecting the new top
6389         widget. This makes things appear ok if you click on a tab.
6390         (mswindows_combo_box_instantiate): image_instance_layout now takes
6391         position as well as size.
6392         (mswindows_progress_gauge_redisplay): renamed from
6393         mswindows_progress_gauge_update.
6394         (console_type_create_glyphs_mswindows): fix update -> redisplay.
6395         (image_instantiator_format_create_glyphs_mswindows): ditto.
6396
6397         * glyphs-eimage.c (jpeg_normalize):
6398         (gif_normalize):
6399         (png_normalize):
6400         (tiff_normalize): add dest_mask so that it can be proprogated by
6401         layout_normalize.
6402
6403         * elhash.c:
6404         (print_hash_table):
6405         (hash_table_weakness_validate):
6406         (decode_hash_table_weakness):
6407         (Fhash_table_weakness):
6408         (Fhash_table_type):
6409         (syms_of_elhash): use Ben's naming scheme for hashtable types..
6410
6411         * console.h (struct console_methods): move update_* to
6412         redisplay_*.
6413
6414 2000-07-20  Ben Wing  <ben@xemacs.org>
6415
6416         * *.[ch] (XSETOBJ): remove unused middle argument.
6417         lisp-disunion.h: correct wrap_object() to one argument.
6418
6419 2000-07-15  Ben Wing  <ben@xemacs.org>
6420
6421         * s/cygwin32.h:
6422         * s/cygwin32.h (CYGWIN_CONV_PATH):
6423         Add missing logb prototype for v1.1.
6424         Use post-b20 names and alias to pre-b20 names when pre-b20.
6425
6426         * s/windowsnt.h: [5].
6427
6428 2000-07-15  Ben Wing  <ben@xemacs.org>
6429
6430         * Makefile.in.in (x_objs):
6431         * Makefile.in.in (sheap_objs):
6432         * Makefile.in.in (objs):
6433         added win32.o, cosmetic cleanups.
6434
6435         * alloc.c (Fmake_byte_code):
6436         [[[1]]]: Changes for new LIST_LOOP, EXTERNAL_LIST_LOOP,
6437         etc. macros which declare their own args now.
6438
6439         * alloc.c (syms_of_alloc):
6440         [[[2]]]: Use DEFSYMBOL, DEFKEYWORD, DEFERROR and friends.
6441
6442         * buffer.c:
6443         Moved buffer-dedicated-frame, set-buffer-dedicated-frame into lisp.
6444
6445         * buffer.c (Fget_file_buffer):
6446         Fixed GCPRO problem.
6447
6448         * buffer.c (get_truename_buffer):
6449         Fixed comment about GC checking.
6450
6451         * buffer.c (syms_of_buffer):
6452         Undeclared those dedicated frame funs.
6453         [2].
6454
6455         * buffer.h:
6456         Define convenience macros for internal/external conversions.
6457         [[[3]]]: Define codesys aliases Qcommand_argument_encoding
6458         and Qenvironment_variable_encoding for cleaner code.
6459
6460         * bufslots.h:
6461         Remove dedicated-frame; in lisp.
6462
6463         * bytecode.c (funcall_compiled_function):
6464         [1].
6465
6466         * bytecode.c (syms_of_bytecode):
6467         [2].
6468
6469         * console-msw.c:
6470         * console-msw.c (mswindows_show_console): Rewrote.
6471
6472         * console-msw.c (Fmswindows_debugging_output): New.
6473         Sends to OutputDebugString (special MSWin debugger interface).
6474
6475         * console-msw.c (Fmswindows_message_box):
6476         Fixed stupid bugs so it works when called from kill-emacs.
6477
6478         * console-msw.c (syms_of_console_mswindows):
6479         Declare Fmswindows_debugging_output.
6480
6481         * console-msw.h:
6482         New MSWin prototypes.
6483
6484         * console-msw.h (struct mswindows_frame):
6485         New entry last-click-mods for improved button-modifier support.
6486
6487         * console-msw.h (FRAME_MSWINDOWS_POPUP):
6488         New struct entry `popup' with corresponding accessor.
6489
6490         * console-x.c:
6491         * console-x.c (split_up_display_spec):
6492         * console-x.c (get_display_arg_connection):
6493         * console-x.c (x_semi_canonicalize_console_connection):
6494         * console-x.c (x_canonicalize_device_connection):
6495         [[[6]]]: Change char to more specific type.
6496         [[[8]]]: Make use of abstracting codesys aliases defined in [3], [4];
6497
6498         * console-x.c (x_semi_canonicalize_console_connection):
6499         * console-x.c (x_canonicalize_device_connection):
6500         [[[9]]]: Fix up error signalling to use new structured error system.
6501
6502         * console-x.h:
6503         [[[4]]]: Define codesys aliases:
6504         Qlwlib_encoding, Qx_atom_name_encoding, Qx_font_name_encoding,
6505         Qx_color_name_encoding, Qx_display_name_encoding.
6506
6507         * console.h (struct console_methods):
6508         New method make_dialog_box_internal supersedes older
6509         popup_dialog_box method.
6510
6511         * data.c:
6512         Define many new errors, part of new structured errors.
6513
6514         * data.c (init_errors_once_early):
6515         * data.c (syms_of_data):
6516         [2].
6517
6518         * device-msw.c (mswindows_init_device):
6519         [[[5]]]: Cleanup to support NT 3.51.
6520
6521         * device-msw.c (decode_devmode): Cleanup.
6522
6523         * device-msw.c (mswindows_handle_print_setup_dialog_box):
6524         * device-msw.c (mswindows_handle_print_dialog_box):
6525         * device-msw.c (mswindows_handle_page_setup_dialog_box):
6526         * device-msw.c (syms_of_device_mswindows):
6527         Delete the dialog box primitives recently introduced by Kirill and
6528         instead interface to general dialog box interface.
6529
6530         * device-x.c:
6531         * device-x.c (compute_x_app_name):
6532         * device-x.c (x_init_device):
6533         * device-x.c (Fx_valid_keysym_name_p):
6534         * device-x.c (Fx_set_font_path):
6535         [6].
6536         [7].
6537
6538         * device.h (wrap_device): New.
6539         First of its kind; meant to replace XSETDEVICE.
6540
6541         * dialog-msw.c: Many file-dialog symbols.
6542
6543         * dialog-msw.c (mswindows_register_popup_frame): New.
6544         * dialog-msw.c (mswindows_is_dialog_msg): New.
6545         For supporting kbd traversal in dialog boxes.
6546
6547         * dialog-msw.c (dialog_proc):
6548         Support hitting ESC in dialogs.
6549
6550         * dialog-msw.c (struct):
6551         Common dialog box errors.
6552
6553         * dialog-msw.c (handle_file_dialog_box): New.
6554         Add file dialog code.
6555
6556         * dialog-msw.c (handle_question_dialog_box):
6557         Redo existing code to support new question dialog syntax.
6558
6559         * dialog-msw.c (console_type_create_dialog_mswindows):
6560         We support new dialog console method.
6561
6562         * dialog-msw.c (syms_of_dialog_mswindows):
6563         * dialog-msw.c (vars_of_dialog_mswindows):
6564         New file dialog symbols, vars.
6565
6566         * dialog-x.c:
6567         * dialog-x.c (maybe_run_dbox_text_callback):
6568         * dialog-x.c (dbox_descriptor_to_widget_value):
6569         * dialog-x.c (x_make_dialog_box_internal):
6570         * dialog-x.c (console_type_create_dialog_x):
6571         Mule-ize entire file.
6572         Redo to support question dialog syntax.
6573         [6].
6574
6575         * dialog.c:
6576         * dialog.c (Fmake_dialog_box_internal):
6577         * dialog.c (syms_of_dialog):
6578         Kill old popup-dialog-box, replace with new primitive.
6579         Just call device method or signal error.
6580
6581         * eldap.c (Fldap_open):
6582         * eldap.c (Fldap_search_basic):
6583         * eldap.c (Fldap_add):
6584         * eldap.c (Fldap_modify):
6585         [1].
6586         [7].
6587
6588         * emacs.c:
6589         * emacs.c (make_arg_list_1):
6590         * emacs.c (make_arg_list):
6591         Mule-ize call to dll_init().
6592         [6].
6593         [8].
6594
6595         * emacs.c (make_argc_argv):
6596         * emacs.c (free_argc_argv):
6597         * emacs.c (init_cmdargs):
6598         * emacs.c (main_1):
6599         * emacs.c (Fkill_emacs):
6600         * emacs.c (Fdump_emacs):
6601         Update comments about what can be used in syms_* etc.
6602         Call init_win32() when necessary.
6603         Fix up MS Win dialog box in kill-buffer to actually work right.
6604         [7].
6605
6606         * eval.c:
6607         * eval.c (For):
6608         * eval.c (Fand):
6609         * eval.c (Fprogn):
6610         * eval.c (Fprog1):
6611         * eval.c (Fprog2):
6612         * eval.c (FletX):
6613         * eval.c (Flet):
6614         * eval.c (condition_case_3):
6615         * eval.c (Feval):
6616         * eval.c (function_argcount):
6617         * eval.c (funcall_lambda):
6618         [1].
6619
6620         * eval.c (type_error): New.
6621         * eval.c (maybe_type_error): New.
6622         * eval.c (continuable_type_error): New.
6623         * eval.c (maybe_continuable_type_error): New.
6624         * eval.c (type_error_with_frob): New.
6625         * eval.c (maybe_type_error_with_frob): New.
6626         * eval.c (continuable_type_error_with_frob): New.
6627         * eval.c (maybe_continuable_type_error_with_frob): New.
6628         New functions for use with structured errors.
6629
6630         * event-Xt.c:
6631         * event-Xt.c (x_event_to_emacs_event):
6632         Buttons are now modifiers too.
6633
6634         * event-Xt.c (emacs_Xt_current_event_timestamp):
6635         Implement new event method.
6636         * event-Xt.c (reinit_vars_of_event_Xt): Set it.
6637
6638         * event-msw.c:
6639         * event-msw.c (ntpipe_shove_writer): [5].
6640         * event-msw.c (mswindows_enqueue_mouse_button_event):
6641         * event-msw.c (mswindows_drain_windows_queue):
6642         * event-msw.c (mswindows_wnd_proc): [7].
6643         * event-msw.c (mswindows_current_layout_has_AltGr): [5].
6644         * event-msw.c (mswindows_modifier_state):
6645         Throughout: support new button modifiers.
6646
6647         * event-msw.c (emacs_mswindows_current_event_timestamp):
6648         Implement new event method.
6649         * event-msw.c (reinit_vars_of_event_mswindows): Set it.
6650
6651         * event-stream.c:
6652         * event-stream.c (event_stream_current_event_timestamp): New.
6653         * event-stream.c (maybe_kbd_translate): New functionality.
6654         * event-stream.c (vars_of_event_stream):
6655         Document new kbd-translate-table functionality.
6656
6657         * event-stream.c (Fcurrent_event_timestamp): New.
6658         New primitive for use in fabricated events.
6659         * event-stream.c (syms_of_event_stream): [2]. Declare new primitive.
6660
6661         * events-mod.h (XEMACS_MOD_BUTTON1): new button modifiers.
6662
6663         * events.c:
6664         * events.c (Fmake_event):
6665         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY):
6666         [1].
6667         [9].
6668
6669         * events.c (format_event_object): fix gcc warnings.
6670
6671         * events.c (Fevent_timestamp): Document new primitives.
6672
6673         * events.c (TIMESTAMP_HALFSPACE): New.
6674
6675         * events.c (Fevent_timestamp_lessp): New.  New primitive for
6676         comparing timestamps correctly (half-space algorithm).
6677
6678         * events.c (Fevent_modifier_bits): Doc fix.
6679
6680         * events.c (Fevent_modifiers): Major doc addition.
6681         * events.c (event_x_y_pixel_internal): Typo fix.
6682         * events.c (syms_of_events): Declare new primitives.
6683
6684         * events.h:
6685         Update long comment for button modifiers, timestamps.
6686
6687         * events.h (struct event_stream):
6688         New current_event_timestamp method.
6689
6690         * extents.c:
6691         * extents.c (extent_in_region_p):
6692         * extents.c (decode_extent):
6693         * extents.c (Fset_extent_parent):
6694         * extents.c (decode_map_extents_flags):
6695         Fix gcc warnings.
6696         [9].
6697
6698         * extents.c (struct extent_at_arg):
6699         * extents.c (decode_extent_at_flag):
6700         * extents.c (extent_at_mapper):
6701         * extents.c (extent_at_bytind):
6702         * extents.c (Fextent_at): Adapt to new lower-level interface. [9].
6703         * extents.c (Fextents_at): New primitive. [9].
6704         * extents.c (symbol_to_glyph_layout): [9].
6705         Support new primitive `extents-at'.
6706
6707
6708         * extents.c (get_text_property_bytind):
6709         extent_at_bytind has another arg.
6710         [9].
6711
6712         * extents.c (syms_of_extents): New primitive.
6713
6714         * file-coding.c (Fmake_coding_system): [1].
6715         * file-coding.c (subsidiary_coding_system): fix gcc warning
6716         * file-coding.c (syms_of_file_coding): [2].
6717
6718         * fileio.c (Fexpand_file_name):
6719         * fileio.c (Fsysnetunam):
6720         * fileio.c (Ffile_exists_p):
6721         * fileio.c (Ffile_executable_p):
6722         * fileio.c (Fverify_visited_file_modtime):
6723         Clean up GCPROing.
6724
6725         * fileio.c (syms_of_fileio): [2].
6726
6727         * filelock.c (lock_file_1):
6728         * filelock.c (current_lock_owner):
6729         * filelock.c (lock_if_free):
6730         * filelock.c (lock_file):
6731         * filelock.c (unlock_file):
6732         Clean up GCPROing.
6733
6734         * fns.c (concat): Fix gcc warning.
6735
6736         * fns.c (Fmember):
6737         * fns.c (Fold_member):
6738         * fns.c (Fmemq):
6739         * fns.c (Fold_memq):
6740         * fns.c (memq_no_quit):
6741         * fns.c (Fassoc):
6742         * fns.c (Fold_assoc):
6743         * fns.c (Fassq):
6744         * fns.c (Fold_assq):
6745         * fns.c (assq_no_quit):
6746         * fns.c (Frassoc):
6747         * fns.c (Fold_rassoc):
6748         * fns.c (Frassq):
6749         * fns.c (Fold_rassq):
6750         * fns.c (rassq_no_quit):
6751         * fns.c (Fdelete):
6752         * fns.c (Fold_delete):
6753         * fns.c (Fdelq):
6754         * fns.c (Fold_delq):
6755         * fns.c (delq_no_quit):
6756         * fns.c (Fremassoc):
6757         * fns.c (Fremassq):
6758         * fns.c (remassq_no_quit):
6759         * fns.c (Fremrassoc):
6760         * fns.c (Fremrassq):
6761         * fns.c (remrassq_no_quit):
6762         * fns.c (Freverse):
6763         * fns.c (mapcar1):
6764         [1].
6765
6766         * frame-msw.c (mswindows_init_frame_1):
6767         * frame-msw.c (mswindows_delete_frame):
6768         Register popups with dialog code so keyboard traversing works.
6769
6770         * frame-tty.c (tty_raise_frame_no_select): [1].
6771
6772         * frame-x.c:
6773         * frame-x.c (x_set_frame_text_value):
6774         * frame-x.c (x_set_frame_properties):
6775         * frame-x.c (x_create_widgets):
6776         [7].
6777
6778         * frame.c:
6779         * frame.c (Fmouse_pixel_position): Minor doc fixes.
6780
6781         * frame.h (wrap_frame): New.
6782         Macro like wrap_device.
6783
6784         * general.c:
6785         * general.c (SYMBOL):
6786         * general.c (syms_of_general):
6787         Major reorg.  This is now just a wrapper and symbols themselves
6788         are listed in general-slots.h.
6789
6790         * glyphs-eimage.c (tiff_instantiate): Need cast to fix warning.
6791         * glyphs-msw.c (mswindows_resource_instantiate): [5].
6792
6793         * glyphs-msw.c (mswindows_native_layout_instantiate):
6794         Add DS_CONTROL so keyboard traversal will work.
6795
6796         * glyphs-widget.c:
6797         * glyphs-widget.c (syms_of_glyphs_widget):
6798         Move some symbols to general-slots.h.
6799
6800         * glyphs-x.c:
6801         * glyphs-x.c (xbm_instantiate_1):
6802         * glyphs-x.c (x_xbm_instantiate):
6803         * glyphs-x.c (x_xface_instantiate):
6804         * glyphs-x.c (autodetect_instantiate):
6805         * glyphs-x.c (cursor_font_instantiate):
6806         * glyphs-x.c (x_update_widget):
6807         * glyphs-x.c (x_widget_instantiate):
6808         * glyphs.c (bitmap_to_lisp_data):
6809         * glyphs.c (pixmap_to_lisp_data):
6810         [7].
6811
6812         * glyphs.c (syms_of_glyphs):
6813         [2].
6814
6815         * gui-x.c:
6816         * gui-x.c (print_widget_value):
6817         * gui-x.c (menu_separator_style_and_to_external):
6818         * gui-x.c (add_accel_and_to_external):
6819         * gui-x.c (button_item_to_widget_value):
6820         * gui-x.c (gui_items_to_widget_values_1):
6821         * gui-x.c (gui_items_to_widget_values):
6822         * gui-x.c (syms_of_gui_x):
6823         * gui-x.c (vars_of_gui_x):
6824         Mule-ize entire file.  Move menu-no-selection-hook to gui.c.
6825         [9].
6826
6827         * gui-x.h:
6828         Muleize, prototype changes matching gui-x.c.
6829
6830         * gui.c:
6831         * gui.c (separator_string_p):
6832         * gui.c (gui_item_add_keyval_pair):
6833         * gui.c (make_gui_item_from_keywords_internal):
6834         * gui.c (signal_too_long_error):
6835         * gui.c (parse_gui_item_tree_item):
6836         * gui.c (syms_of_gui):
6837         * gui.c (vars_of_gui):
6838         * gui.h:
6839         menu-no-selection-hook moved here (used by MSWin).
6840         Move some symbols to general-slots.h.
6841         [6].
6842         [9].
6843
6844         * insdel.c (get_buffer_pos_char):
6845         * insdel.c (get_buffer_range_char):
6846         Add GC comments.
6847
6848         * keymap.c (keymap_lookup_directly):
6849         * keymap.c (keymap_store):
6850         * keymap.c (ensure_meta_prefix_char_keymapp):
6851         * keymap.c (describe_map):
6852         * keymap.h:
6853         Support new button modifiers.
6854
6855         * lisp-disunion.h (wrap_object):
6856         * lisp-disunion.h (XSETOBJ):
6857         Rename make_obj to wrap_object.
6858
6859         * lisp-union.h:
6860         * lisp-union.h (make_int):
6861         * lisp-union.h (make_char):
6862         Support wrap_object.
6863
6864         * lisp.h:
6865         * lisp.h (LIST_LOOP):
6866         * lisp.h (EXTERNAL_LIST_LOOP):
6867         * lisp.h (LIST_LOOP_2):
6868         * lisp.h (EXTERNAL_LIST_LOOP_1):
6869         * lisp.h (EXTERNAL_LIST_LOOP_2):
6870         * lisp.h (EXTERNAL_LIST_LOOP_3):
6871         * lisp.h (EXTERNAL_LIST_LOOP_4_NO_DECLARE):
6872         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
6873         * lisp.h (GET_EXTERNAL_LIST_LENGTH):
6874         * lisp.h (EXTERNAL_ALIST_LOOP_5):
6875         * lisp.h (EXTERNAL_ALIST_LOOP_6):
6876         * lisp.h (EXTERNAL_ALIST_LOOP_6_NO_DECLARE):
6877         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_5_NO_DECLARE):
6878         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_7):
6879         * lisp.h (struct Lisp_Symbol):
6880         * lisp.h (maybe_continuable_error_with_frob):
6881         Fix up section comments.
6882         Add new types for char to indicate usage.
6883         Delete symbols auto-generated from general-slots.h.
6884         Add prototypes for structured error functions.
6885         Add long comments describing looping macros and change interface
6886         so that lvalues are automatically declared.
6887         Add NO_DECLARE macro in case callers want to declare lvalues
6888         themselves.
6889
6890         * lread.c (read_syntax_error):
6891         * lread.c (continuable_read_syntax_error):
6892         * lread.c (read_structure):
6893         * lread.c (sequence_reader):
6894         * lread.c (read_list_conser):
6895         * lread.c (read_compiled_function):
6896         Rename syntax_error and continuable_syntax_error to avoid clash
6897         with same-named structured error functions.
6898
6899         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
6900         * menubar-msw.c (populate_menu_add_item):
6901         * menubar-msw.c (populate_or_checksum_helper):
6902         [5].
6903         [9].
6904
6905         * menubar-x.c:
6906         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
6907         Mule-ize whole file.
6908
6909         * menubar.c (Fnormalize_menu_item_name): Add optimization.
6910
6911         * mule-charset.c (Fmake_charset):
6912         * mule-wnnfns.c (Fwnn_set_param):
6913         [1].
6914
6915         * ntproc.c (create_child):
6916         * ntproc.c (Fwin32_set_current_locale):
6917         Add comments portending doom.
6918
6919         * objects-msw.c:
6920         * objects-msw.c (old_font_enum_callback_2):
6921         * objects-msw.c (font_enum_callback_1):
6922         * objects-msw.c (mswindows_enumerate_fonts):
6923         [5].
6924
6925         * objects-x.c:
6926         * objects-x.c (allocate_nearest_color):
6927         * objects-x.c (x_parse_nearest_color):
6928         * objects-x.c (x_initialize_color_instance):
6929         * objects-x.c (x_print_color_instance):
6930         * objects-x.c (x_finalize_color_instance):
6931         * objects-x.c (x_valid_color_name_p):
6932         * objects-x.c (x_initialize_font_instance):
6933         * objects-x.c (x_print_font_instance):
6934         * objects-x.c (valid_x_font_name_p):
6935         * objects-x.c (truename_via_FONT_prop):
6936         * objects-x.c (truename_via_random_props):
6937         * objects-x.c (truename_via_XListFonts):
6938         * objects-x.c (x_font_truename):
6939         * objects-x.c (x_font_instance_truename):
6940         * objects-x.c (x_font_instance_properties):
6941         * objects-x.c (x_list_fonts):
6942         * objects-x.c (x_find_charset_font):
6943         Mule-ize entire file.
6944         [7].
6945
6946         * objects-x.h:
6947         Mule-verify.
6948
6949         * print.c:
6950         * print.c (std_handle_out_external):
6951         * print.c (debug_print_no_newline):
6952         * print.c (syms_of_print):
6953         Output to all debugger kinds in debug-print.
6954         Fix console-output code under MSWin to actually work.
6955
6956         * process-nt.c (send_signal):
6957         * process-nt.c (nt_create_process):
6958         Use newer Unicode macros.
6959
6960         * process-unix.c (unix_create_process):
6961         * process-unix.c (unix_canonicalize_host_name):
6962         * process-unix.c (unix_open_network_stream):
6963         [7].
6964
6965         * scrollbar-x.c:
6966         Mule-verify.
6967
6968         * search.c (syms_of_search):
6969         [2].
6970
6971         * select-msw.c (mswindows_destroy_selection):
6972         Use LIST_LOOP_2.
6973
6974         * select-x.c (symbol_to_x_atom):
6975         [7].
6976
6977         * select.c (syms_of_select):
6978         [2].
6979
6980         * sound.c (Fplay_sound_file):
6981         [7].
6982
6983         * specifier.c:
6984         * specifier.c (decode_specifier_type):
6985         * specifier.c (Fvalid_specifier_locale_type_p):
6986         * specifier.c (check_valid_locale_or_locale_type):
6987         * specifier.c (decode_locale):
6988         * specifier.c (decode_locale_type):
6989         * specifier.c (decode_locale_list):
6990         * specifier.c (check_valid_domain):
6991         * specifier.c (decode_specifier_tag_set):
6992         * specifier.c (Fcanonicalize_tag_set):
6993         * specifier.c (Fdefine_specifier_tag):
6994         * specifier.c (Fspecifier_tag_predicate):
6995         * specifier.c (check_valid_inst_list):
6996         * specifier.c (check_valid_spec_list):
6997         * specifier.c (decode_how_to_add_specification):
6998         * specifier.c (check_modifiable_specifier):
6999         * specifier.c (specifier_add_spec):
7000         * specifier.c (boolean_validate):
7001         * specifier.c (display_table_validate):
7002         [9].
7003
7004         * specifier.c (syms_of_specifier):
7005         Move some symbols to general-slots.h.
7006         [2].
7007
7008         * symbols.c:
7009         * symbols.c (Fmapatoms):
7010         * symbols.c (Fapropos_internal):
7011         Add GCPROs.
7012
7013         * symbols.c (set_default_buffer_slot_variable):
7014         * symbols.c (set_default_console_slot_variable):
7015         [1].
7016
7017         * symbols.c (defsymbol_massage_name_1):
7018         * symbols.c (defkeyword_massage_name):
7019         * symbols.c (deferror_1):
7020         * symbols.c (deferror):
7021         * symbols.c (deferror_massage_name_and_message):
7022         * symeval.h:
7023         * symeval.h (DEFSYMBOL):
7024         Support DEFSYMBOL*, DEFKEYWORD, DEFERROR
7025
7026         * symbols.c (syms_of_symbols):
7027         [2].
7028
7029         * symsinit.h:
7030         * symsinit.h (init_win32): New.
7031         Also new is syms_of_dialog_mswindows.
7032
7033         * syswindows.h:
7034         Add new Unicode macros, missing Cygwin wide-char functions,
7035         convenience conversion macros for Qmswindows_tstr, macros for
7036         encapsulating required MSWin <-> Cygwin filename conversions,
7037         prototype for dynamically-extracted (not in NT 3.51) functions.
7038
7039         * toolbar-x.c:
7040         Mule-verify.
7041
7042         * tooltalk.c (Fadd_tooltalk_message_arg):
7043         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
7044         * tooltalk.c (Fadd_tooltalk_pattern_arg):
7045         [7].
7046
7047         * tooltalk.c (syms_of_tooltalk):
7048         [2].
7049
7050         * unexnt.c:
7051         * unexnt.c (unexec):
7052         Fix up headers, declaration of unexec() to be more standard.
7053
7054 2000-07-20  Martin Buchholz  <martin@xemacs.org>
7055
7056         * offix.h: Revert change to guard macros - they're used in offix.c!
7057
7058 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7059
7060         * lisp.h: Defsubred Fdelete.
7061
7062         * console-msw.h:  (msprinter_default_printer): Added.
7063
7064         * console-msw.c (msprinter_canonicalize_console_connection):
7065         (msprinter_canonicalize_device_connection): Added.
7066
7067         * device-msw.c (msprinter_default_printer):
7068         (Fmswingows_get_default_printer):
7069         (signal_enum_priner_error):
7070         (Fmswingows_printer_list): Added.
7071
7072 2000-07-19  Martin Buchholz <martin@xemacs.org>
7073
7074         * XEmacs 21.2.35 is released.
7075
7076 2000-07-19  Martin Buchholz  <martin@xemacs.org>
7077
7078         * select-x.c (x_handle_selection_request):
7079         Text selected in xemacs and pasted into xterm failed to appear.
7080         Spelling fixes and cosmetic changes.
7081
7082 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7083
7084         * event-msw.c (mswindows_drain_windows_queue): Correctly check for
7085         XEmacs frame (fix for doubling chars in dialog boxes).
7086
7087 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
7088
7089         * select.c (select_convert_in, select_convert_out):
7090         Don't call intern() every time.
7091
7092         * select.c (Qselect_convert_in, Qselect_convert_out): New.
7093         * select.c (vars_of_select): Initialise them.
7094
7095 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
7096
7097         * select.c (selection-coercible-types): New.
7098
7099         * select.c (own-selection-internal):
7100         * select.c (get-selection-internal):
7101         MULE bug fix - these should default to COMPOUND_TEXT and not
7102         STRING for MULE. I think.
7103
7104         * select.c (select_convert_out): Use selection-coercible-types
7105         to find types that we can attempt to perform coercions on.
7106
7107 2000-07-18  Martin Buchholz  <martin@xemacs.org>
7108
7109         * mule-wnnfns.c:
7110         * mule-canna.c:
7111         Add coding: cookie to identify encoding.
7112
7113         * mule-canna.c (CANNA_mode_keys): make static.
7114         Use proper prototypes, even for functions of no arguments.
7115         Remove external prototype for Fding().
7116
7117         * symsinit.h: Add missing prototype for reinit_vars_of_mule_wnn.
7118
7119         * select.c (syms_of_select): Add missing DEFSUBR.
7120
7121 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
7122
7123         * select.c (get_selection_internal, own_selection_internal):
7124         Make the type default to STRING, rather than placing a nil type
7125         into Vselection_alist.
7126
7127 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
7128
7129         * gpmevent.c (tty_selection_exists_p):
7130         * gpmevent.c (tty_own_selection):
7131         Updated parameter lists.
7132
7133 2000-07-15 Alastair J. Houghton <ajhoughton@lineone.net>
7134
7135         * select.h (selection-alist): Removed declaration.
7136
7137         * select.h (get_local_selection):
7138         * select.c (get_local_selection):
7139         Made static.
7140
7141         * select.h (convert_selection): Removed declaration.
7142         * select.c (convert_selection): Removed.
7143         This function belongs in Lisp.
7144
7145         * select.h (select_convert_in): Declare.
7146         * select.h (select_convert_out): Declare.
7147         * select.c (select_convert_in): New.
7148         * select.c (select_convert_out): New.
7149         New conversion functions for other files to call.
7150
7151         * select.h (select_notify_buffer_kill): Declare.
7152         * select.c (select_notify_buffer_kill): New.
7153         New functions that get called from kill-buffer.
7154
7155         * buffer.c (kill-buffer): Call select_notify_buffer_kill, rather than
7156         X-specific lisp code.
7157
7158         * select.h: Declare some of the lisp-visible functions for
7159         external use.
7160
7161         * select.c (clean_local_selection_data): Removed. This was
7162         a disgusting function, and previously should have been in
7163         select-x.c in any case. The functionality is now provided
7164         in select-convert-from-integer (select.el).
7165
7166         * select.c (available-selection-types): Fixed stupidity where
7167         INTEGER and ATOM got added twice. Also add STRING when we see an
7168         extent.
7169
7170         * select.c (get-selection-internal): Removed symbol stripping. No
7171         longer causes conversion when data comes from the internal cache.
7172
7173         * select.c (syms_of_select): Added new functions.
7174
7175         * select-x.c (motif_clipboard_cb): Use select_convert_out. Rewrote
7176         error checking - previously this called abort!
7177
7178         * select-x.c (x_own_selection): Changed comment.
7179
7180         * select-x.c (x_handle_selection_request): Use select_convert_out.
7181         Don't mess with selection-alist; it's an internal variable of select.c.
7182
7183         * select-x.c (x_get_foreign_selection): Use select_convert_in.
7184
7185         * select-x.c (x_handle_selection_clear): Use get-selection-timestamp,
7186         rather than messing with selection-alist.
7187
7188         * select-msw.c (mswindows_get_foreign_selection):
7189         Use TO_INTERNAL_FORMAT rather than hacking.
7190
7191 2000-07-14  Martin Buchholz  <martin@xemacs.org>
7192
7193         * process-unix.c (unix_open_multicast_group):
7194         (unix_open_multicast_group): Remove useless casts.
7195
7196 2000-07-13  Martin Buchholz  <martin@xemacs.org>
7197
7198         * sound.c (Fplay_sound): Fix `unused variable' warning.
7199
7200         * emacs.c (main): Use correct type for _environ on SCO5.
7201
7202 2000-07-12 Alastair J. Houghton <ajhoughton@lineone.net>
7203
7204         * console.h (own_selection_method):
7205         * console.h (selection_exists_p_method):
7206         * console.h (available_selection_types_method): New.
7207         * console.h (register_selection_data_type_method): New.
7208         * console.h (selection_data_type_name): New.
7209
7210         * console-msw.h (mswindows_destroy_selection): Declare it.  New
7211         function & alist to track GlobalAlloc()'d handles that need
7212         releasing when the clipboard data gets replaced or emptied.
7213
7214         * event-msw.c (mswindows_wnd_proc): Call it.
7215
7216         * lisp.h, general.c (Qappend): New symbol representing a
7217         `how-to-add' mode.
7218
7219         * select.c (own-selection-internal):
7220         * select.c (selection-exists-p):
7221         * select.c (available-selection-types): New.
7222         * select.c (register-selection-data-type): New.
7223         * select.c (selection-data-type-name): New.  New functions to deal
7224         with device-specific selection data formats.
7225         * select.c (selection-converter-out-alist): Renamed.
7226         * select.c (selection-converter-in-alist): New.
7227         * select.c (selection-appender-alist): New.  Added new alists.
7228         * select.c (syms_of_select, vars_of_select): Added new symbols &
7229         variables.
7230         * select.c (get_local_selection): Split.
7231         * select.c: Removed spurious type checking - selections may now be
7232         of any type, not just strings.
7233         * select.c (own-selection-internal):
7234
7235         * select.h, select.c (convert_selection): New. Created
7236         convert_selection() function based on get_local_selection().
7237         * select.h, select.c (QCF_*): New symbols representing mswindows
7238         clipboard formats.
7239         * select.h, select.c (Qreplace_all, Qreplace_existing): New
7240         symbols representing `how-to-add' modes.
7241
7242         * select-msw.c (x_sym_p): New.
7243         * select-msw.c (symbol_to_ms_cf): New.
7244         * select-msw.c (ms_cf_to_symbol): New. New functions to deal with
7245         symbols & clipboard formats. Can also handle string names.
7246         * select-msw.c (mswindows_own_selection):
7247         * select-msw.c (mswindows_selection_exists_p):
7248         Added `data-type' parameter. Use it.
7249         * select-msw.c (mswindows_available_selection_types): New.
7250         * select-msw.c (mswindows_register_selection_data_type): New.
7251         * select-msw.c (mswindows_selection_data_type_name): New.
7252         * select-msw.c (mswindows_own_selection):
7253         * select-msw.c (mswindows_get_foreign_selection):
7254         * select-msw.c (mswindows_selection_exists_p):  Rewrote.
7255         * select-msw.c (console_create_select_mswindows): Added new methods.
7256         * select-msw.c (mswindows_destroy_selection): New.
7257         * select-msw.c (Vhandle_alist): New list.
7258         * select-msw.c (mswindows_own_selection):
7259
7260         * select-x.c (x_own_selection):
7261         * select-x.c (x_selection_exists_p):
7262         * select-x.c: Added some comments about maybe using new
7263         functionality.
7264         * select-x.c (x_own_selection):
7265
7266         * specifier.c: Remove definition of Qappend (now in general.c)
7267         * specifier.c (syms_of_specifier): Remove Qappend.
7268
7269 2000-07-12  Martin Buchholz  <martin@xemacs.org>
7270
7271         * config.h.in: Add socklen_t.
7272
7273         * s/decosf4-0.h: No special compiler flags needed or desired.
7274         In particular, undefine _BSD for DEC OSF 4.0.
7275
7276 2000-07-07  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7277
7278         * redisplay-msw.c (msprinter_frame_output_end): Added.
7279         (console_type_create_redisplay_mswindows): Referred the above.
7280
7281         * frame.c (setup_frame_without_minibuffer): Do not create a
7282         default minibuffer frame on a printer device.
7283
7284         * frame-msw.c (apply_dc_geometry): Added.
7285         (msprinter_start_page):
7286         (msprinter_init_frame_3):
7287         (msprinter_eject_page): Use it.
7288
7289         * console-msw.h (struct msprinter_frame): Added pix_left and top,
7290         and removed residual duplex and orientation properties.
7291
7292 2000-07-11  Martin Buchholz  <martin@xemacs.org>
7293
7294         * eval.c (function_argcount): Work around a DEC CC compiler bug.
7295
7296         * unexalpha.c: Remove system prototypes from C sources!
7297
7298 2000-07-09  Adrian Aichner  <aichner@ecf.teradyne.com>
7299
7300         * eval.c: Remove references to M-x edit-options in DEFUNs for
7301         `defvar' and `defconst'.
7302
7303 2000-07-09  Martin Buchholz  <martin@xemacs.org>
7304
7305         * config.h.in: Remove SMART_INCLUDE hackery.
7306
7307         PostgreSQL hacking:
7308         * config.h.in: Don't use SMART_INCLUDE.
7309
7310         * postgresql.h: Include libpq-fe.h here.  Fix typo.
7311         * inline.c: Simply #include "postgresql.h"
7312         * postgresql.c:
7313         - Don't use SMART_INCLUDE
7314         - Use simply "const".
7315         - Use standard doc string conventions.
7316         - Use correct type for result of PQstatus.
7317
7318 2000-07-09  Martin Buchholz  <martin@xemacs.org>
7319
7320         * glyphs-x.c (x_xface_instantiate): Fix C++ compilation warnings.
7321
7322         C++ compilation changes.
7323         * config.h.in (EXTERN_C): Define.
7324         * config.h.in (not): This is also a C++ keyword.
7325         * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Enable C++ compilation.
7326         * cm.c: Use EXTERN_C.
7327         * redisplay-tty.c: Use EXTERN_C.
7328         * sysdep.c: Use EXTERN_C.  Remove Gould support.
7329
7330 2000-07-09  Martin Buchholz  <martin@xemacs.org>
7331
7332         * general.c: Remove duplicate definition for Qfunction.
7333
7334 2000-07-08  Ben Wing  <ben@xemacs.org>
7335
7336         * device-msw.c (msprinter_init_device):
7337         * device-msw.c (sync_printer_with_devmode):
7338         * device-msw.c (handle_devmode_changes):
7339         * device-msw.c (print_dialog_worker):
7340         * device-msw.c (Fmsprinter_apply_settings):
7341         * device-msw.c (hash_devmode):
7342         * device-msw.c (Fmsprinter_settings_despecialize):
7343         use Qmswindows_tstr, not Qctext.
7344
7345         * vm-limit.c (check_memory_limits):
7346         avoid infinite loop printing warning messages.
7347
7348 2000-07-05  Craig Lanning  <lanning@scra.org>
7349
7350         * Makefile.in.in: Add support for including the Windows resources
7351         when building with the cygwin and mingw targets.
7352
7353         * buffer.c: from Dan Holmsand, on Windows $PWD is most likely either
7354         not set or not correct.
7355         (directory_is_current_directory): Don't compile for WIN32_NATIVE.
7356         (init_initial_directory): Don't try to use $PWD on the
7357         WIN32_NATIVE target.
7358
7359         * s\cygwin32.h:
7360         [[Add -mwindows to eliminate console window.]] not required --ben
7361         (HAVE_NATIVE_SOUND): removed; now handled by configure.
7362         (MAIL_USE_POP): removed; now handled by configure.
7363
7364         * s\mingw32.h: [[Add -mwindows to eliminate console window.]] not in
7365         C_SWITCH_SYSTEM or it will affect lib-src progs. --ben
7366         (HAVE_NATIVE_SOUND): removed; now handled by configure.
7367         (MAIL_USE_POP): removed; now handled by configure.
7368         (ENCAPSULATE_STAT): from Dan Holmsand, added.
7369         (ENCAPSULATE_FSTAT): from Dan Holmsand, added.
7370         (DIRECTORY_SEP): from Dan Holmsand, use lisp variable instead of
7371         constant string.
7372         (HAVE_TIMEVAL): from Dan Holmsand, added; struct timeval is picked
7373         up from <winsock.h> via systime.h.
7374         (HAVE_GETPAGESIZE): from Dan Holmsand, added.
7375         (getpagesize): from Dan Holmsand, added.
7376         Added #endif which was left dangling by Ben's mega patch; added
7377         comment to help prevent this in the future.
7378
7379         * sysdll.c: added #include <windows.h> for WIN32_NATIVE case.
7380
7381 2000-07-05  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7382
7383         * console-msw.h (struct mswindows_device): Removed unnecessary
7384         cached device geometry values.
7385         Added update_tick and an accessor macro.
7386         (Lisp_Devmode): Added lrecord declaration.
7387         (struct msprinter_device): Contain devmode as a Lisp object.
7388         Added mswindows_get_selected_frame_hwnd();
7389
7390         * console.h (struct console_methods): Indentation nitpicking.
7391
7392         * device-msw.c (mswindows_init_device): Do not initialize geometry
7393         cache. Initialize update tick.
7394         (mswindows_device_system_metrics): Ask the device for its geometry.
7395         (global_free_2_maybe):
7396         (devmode_to_hglobal):
7397         (handle_printer_changes):
7398         (ensure_not_printing):
7399         (print_dialog_worker):
7400         (Fmsprinter_print_setup_dialog):
7401         (Fmsprinter_print_dialog):
7402         (plist_get_margin):
7403         (plist_set_margin):
7404         (Fmsprinter_page_setup_dialog): Added functions.
7405         (sync_printer_with_devmode):
7406         (handle_devmode_changes):
7407         (Fmsprinter_get_settings):
7408         (Fmsprinter_select_settings):
7409         (Fmsprinter_apply_settings):
7410         (allocate_devmode):
7411         (Fmsprinter_settings_copy):
7412         (Fmsprinter_settings_despecialize):
7413         (print_devmode):
7414         (finalize_devmode):
7415         (equal_devmode):
7416         (hash_devmode): Added functions
7417         (syms_of_device_mswindows): Init devmode lrecord class.
7418
7419         * device.h: Added an exfun for find-device.
7420
7421         * event-msw.c (mswindows_wnd_proc): Do not update the cached
7422         geometry; although, recreate the device compatible DC.
7423
7424         * frame-msw.c (mswindows_get_selected_frame_hwnd): Added.
7425         (msprinter_init_frame_3):
7426         (msprinter_frame_property):
7427         (msprinter_internal_frame_property_p):
7428         (msprinter_frame_properties):
7429         (msprinter_set_frame_properties): Removed 'orientation and 'duplex
7430         print job properties (will move to device settings).
7431
7432         * lisp.h: Added symbols.
7433
7434         * general.c (syms_of_general): Declared them.
7435
7436         * hash.c (string_hash): Added.
7437
7438         * lrecord.h (lrecord_type): Added devmode lrecord type.
7439
7440 2000-07-02  Mike Sperber <mike@xemacs.org>
7441
7442         * s/freebsd.h (INTERRUPTIBLE_OPEN): open *is* interruptible on
7443         FreeBSD 4.0.
7444
7445 2000-06-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
7446
7447         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
7448         integer.
7449
7450 2000-06-07  MORIOKA Tomohiko  <tomo@urania.m17n.org>
7451
7452         * data.c (Fstring_to_number): Don't recognize floating point if
7453         base is not 10.
7454
7455 2000-06-22  Martin Buchholz  <martin@xemacs.org>
7456
7457         * glyphs-widget.c (tab_control_query_geometry):
7458         (widget_query_geometry):
7459         (button_query_geometry):
7460         * glyphs.c (text_query_geometry):
7461         Enforce type correctness.
7462
7463 2000-06-18  Martin Buchholz  <martin@xemacs.org>
7464
7465         * s/decosf4-0.h (_etext): Use portable _etext instead of etext.
7466         * s/decosf4-0.h (_edata): Use portable _edata instead of edata.
7467
7468 2000-06-17  Martin Buchholz  <martin@xemacs.org>
7469
7470         * s/decosf4-0.h: Never #include "/usr/include/FOO.h" because this
7471         conflicts with gcc's fixincluded version of FOO.h.
7472
7473         * glyphs.h (image_instance_geometry): Remove trailing `,'
7474
7475 2000-06-08  Mike Alexander  <mta@arbortext.com>
7476
7477         (MAX_SHOVE_BUFFER_SIZE): Change to 512 to match stream buffer size
7478         (shove_thread): Don't write the same output twice
7479         (make_ntpipe_output_stream): Increase priority of shove thread
7480         (ntpipe_shove_writer): Call SwitchToThread to give shove thread a
7481         chance to run
7482         (ntpipe_shove_closer): Don't delete the pipe until we're done with
7483         it.
7484
7485 2000-06-12  Ben Wing  <ben@xemacs.org>
7486
7487         * s\mingw32.h (sigset):
7488         * s\windowsnt.h (sigset):
7489         rename msw_ to mswindows_ for consistency with general convention.
7490
7491 2000-06-12  Ben Wing  <ben@xemacs.org>
7492
7493         * console-msw.c:
7494         * console-msw.c (mswindows_get_console_hwnd):
7495         * console-msw.c (mswindows_ensure_console_allocated):
7496         * console-msw.c (mswindows_hide_console):
7497         * console-msw.c (mswindows_show_console):
7498         * console-msw.c (mswindows_ensure_console_buffered):
7499         * console-msw.c (mswindows_output_console_string):
7500         * console-msw.c (mswindows_windows9x_p):
7501         * console-msw.h:
7502         * device-msw.c (mswindows_get_workspace_coords):
7503         * device-msw.c (mswindows_device_system_metrics):
7504         * dialog-msw.c (mswindows_popup_dialog_box):
7505         * event-msw.c (mswindows_wnd_proc):
7506         * frame-msw.c (mswindows_size_frame_internal):
7507         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
7508         * menubar-msw.c (displayable_menu_item):
7509         * menubar-msw.c (mswindows_char_is_accelerator):
7510         * nt.c:
7511         * nt.c (mswindows_sigset):
7512         * nt.c (mswindows_sigrelse):
7513         * nt.c (mswindows_sigpause):
7514         * nt.c (mswindows_raise):
7515         * nt.c (timer_proc):
7516         * ntproc.c:
7517         * ntproc.c (find_child_console):
7518         * ntproc.c (sys_kill):
7519         * print.c:
7520         * print.c (std_handle_out_external):
7521         * process-nt.c (find_child_console):
7522         * process-nt.c (send_signal_the_95_way):
7523         * process-nt.c (ensure_console_window_exists):
7524         * process-nt.c (nt_create_process):
7525         * syssignal.h:
7526         rename msw_ to mswindows_ for consistency with general convention.
7527
7528         * emacs.c:
7529         * dumper.c:
7530         include nt.h, not syswindows.h.
7531
7532         * nt.c (mswindows_fstat):
7533         * nt.c (mswindows_stat):
7534         prefix mswindows_ instead of attempting to directly override the
7535         library functions.  fix declarations.
7536
7537         * nt.h:
7538         include syswindows.h.  move some sysdep.h stuff here.
7539
7540         * ntheap.h:
7541         include syswindows.h, not <windows.h>.
7542
7543         * ntplay.c:
7544         clean up headers.
7545
7546         * sysdep.c:
7547         clean up headers.
7548
7549         * sysdep.c (sys_fstat):
7550         * sysdep.c (sys_stat):
7551         call mswindows versions when appropriate.
7552
7553         * sysdep.h:
7554         move mswin decls to nt.h.
7555
7556         * syswindows.h:
7557         add long comment describing appropriate use of the various windows
7558         headers.
7559
7560 2000-06-11  Ben Wing  <ben@xemacs.org>
7561
7562         * device-x.c: Correct doc string for sixth arg of x-get-resource.
7563
7564 2000-06-10  Ben Wing  <ben@xemacs.org>
7565
7566         * Makefile.in.in (release):
7567         Correction to make sure xemacs.exe always dumped when correct.
7568
7569         * alloca.c:
7570         * balloon_help.c:
7571         [[[[3]]]]: Conditionalize on actual problem, not WINDOWSNT.
7572
7573         * buffer.c (set_buffer_internal):
7574         [[[[2]]]]: Remove HAVE_FEP code.
7575
7576         * buffer.c (init_initial_directory):
7577         [3].
7578
7579         * bytecode.c:
7580         [[[[4]]]]: limits.h standardly included in lisp.h; remove from
7581         individual files.
7582
7583         * callproc.c:
7584         * callproc.c (call_process_cleanup):
7585         * callproc.c (Fold_call_process_internal):
7586         * callproc.c (child_setup):
7587         * callproc.c (getenv_internal):
7588         * callproc.c (init_callproc):
7589         * callproc.c (vars_of_callproc):
7590         [[[[1]]]]: WINDOWSNT -> WIN32_NATIVE.
7591         __CYGWIN32__ -> CYGWIN.
7592         DOS_NT -> WIN32_NATIVE.
7593         Remove MSDOS support/references, converting to WIN32_NATIVE
7594           where correct.
7595         __MINGW32__ -> MINGW.
7596         Fix windows.h includes.
7597         Remove bogus HAVE_NTGUI.
7598
7599         * config.h.in:
7600         [2].
7601
7602         * console-msw.c:
7603         mswindows_message_outputted added for use in allowing startup
7604         errors on the console to be seen.
7605
7606         * console-msw.c (msw_ensure_console_allocated):
7607         * console-msw.c (msw_output_console_string):
7608         * console-msw.c (DHEADER):
7609         * console-msw.c (DOPAQUE_DATA):
7610         * console-msw.c (DEVENT):
7611         * console-msw.c (DCONS):
7612         * console-msw.c (DCONSCDR):
7613         * console-msw.c (DSTRING):
7614         * console-msw.c (DVECTOR):
7615         * console-msw.c (DSYMBOL):
7616         * console-msw.c (DSYMNAME):
7617         Fix warnings.
7618
7619         * console-stream.c (stream_init_console):
7620         Fix text/binary problems.
7621
7622         * device-msw.c:
7623         * device-msw.c (mswindows_finish_init_device):
7624         * device-msw.c (mswindows_delete_device):
7625         [1].
7626
7627         * device.c (handle_asynch_device_change):
7628         [3].
7629
7630         * dgif_lib.c:
7631         * dgif_lib.c (DGifOpenFileName):
7632         * dgif_lib.c (DGifOpenFileHandle):
7633         * dgif_lib.c (DGifGetLine):
7634         * dgif_lib.c (DGifGetPixel):
7635         Added config.h/lisp.h, fix up includes.
7636         [1].
7637
7638         * dired-msw.c:
7639         [4].
7640
7641         * dired.c:
7642         * dired.c (file_name_completion):
7643         * dired.c (Ffile_attributes):
7644         * dired.c (syms_of_dired):
7645         [1].
7646
7647         * dumper.c:
7648         * dumper.c (pdump_file_unmap):
7649         * dumper.c (pdump_load):
7650         [1].
7651
7652         * editfns.c:
7653         * editfns.c (Ftemp_directory):
7654         * editfns.c (user_login_name):
7655         * editfns.c (Fuser_real_login_name):
7656         * editfns.c (get_home_directory):
7657         [1].
7658
7659         * elhash.c (finish_marking_weak_hash_tables):
7660         [[[[5]]]]: Fix GCC warnings.
7661
7662         * emacs.c:
7663         * emacs.c (mswindows_handle_hardware_exceptions):
7664         * emacs.c (make_arg_list_1):
7665         * emacs.c (main_1):
7666         * emacs.c (Fkill_emacs):
7667         * emacs.c (Fdump_emacs):
7668         [1].
7669         Fix problems with nested crashes, add long comment.
7670
7671         * event-Xt.c (init_event_Xt_late):
7672         [1].
7673
7674         * event-msw.c:
7675         * event-msw.c (mswindows_dde_callback):
7676         * event-msw.c (mswindows_handle_sticky_modifiers):
7677         * event-msw.c (mswindows_wnd_proc):
7678         [1].
7679         [5].
7680
7681         * events.c (character_to_event):
7682         [1].
7683
7684         * fileio.c:
7685         * fileio.c (Ffile_name_directory):
7686         * fileio.c (Ffile_name_nondirectory):
7687         * fileio.c (directory_file_name):
7688         * fileio.c (Fexpand_file_name):
7689         * fileio.c (Fsubstitute_in_file_name):
7690         * fileio.c (Ffile_name_absolute_p):
7691         * fileio.c (check_executable):
7692         * fileio.c (Ffile_readable_p):
7693         * fileio.c (Ffile_accessible_directory_p):
7694         * fileio.c (Ffile_modes):
7695         * fileio.c (Funix_sync):
7696         * fileio.c (vars_of_fileio):
7697         [1]. [4].
7698
7699         [[[[7]]]]: Move CORRECT_DIR_SEPS to s\windowsnt.h.
7700
7701         Expand getdefdir defn.
7702         Fix bogus rename() comment.
7703
7704         [[[[6]]]]: Fix Windows includes w.r.t. removed nt\inc.  Attempt
7705         to use standard XEmacs include files, e.g. sysfile.h, rather
7706         than system-specific includes.
7707
7708         * fns.c:
7709         * fns.c (Fsubseq):
7710         [5]. [6].
7711
7712         * frame.c (vars_of_frame):
7713         [1].
7714
7715         * getloadavg.c:
7716         * getloadavg.c (getloadavg):
7717         [1]. [6].
7718         #ifdef XEMACS not defined on Cygwin.  Remove this; no need for it.
7719         (We don't use it elsewhere in the code; just add a comment.)
7720
7721         * gif_io.c:
7722         [6].
7723         Add config.h.
7724
7725         * glyphs-msw.c:
7726         * glyphs-msw.c (mswindows_resource_instantiate):
7727         [1].
7728
7729         * glyphs-x.c (x_native_layout_instantiate):
7730         [5].
7731
7732         * gui-msw.c (Fmswindows_shell_execute):
7733         [1].
7734
7735         * insdel.c:
7736         [4].
7737
7738         * lisp.h:
7739         [4]. [5].
7740
7741         * lread.c (locate_file_in_directory_mapper):
7742         [1].
7743
7744         * lstream.c:
7745         [4].
7746
7747         * mem-limits.h:
7748         * mem-limits.h (get_lim_data):
7749         [1].
7750
7751         * menubar-msw.c:
7752         [4].
7753
7754         * ndir.h:
7755         [1].
7756
7757         * nt.c:
7758         * nt.c (getwd):
7759         * nt.c (closedir):
7760         * nt.c (rva_to_section):
7761         * nt.c (mswindows_executable_type):
7762         [1]. [6].
7763         Fix closedir() defn.
7764
7765         * nt.h:
7766         [[[[8]]]]: *_OK defs moved to sysfile.h.
7767
7768         * ntproc.c:
7769         [6]. [7].
7770
7771         * objects-x.c:
7772         [4].
7773
7774         * print.c:
7775         * print.c (std_handle_out_external):
7776         [1]. [4].
7777
7778         * process-nt.c:
7779         * process-nt.c (nt_create_process):
7780         [6].
7781         try to fix process quoting somewhat.
7782
7783         * process-unix.c (unix_create_process):
7784         [1].
7785
7786         * process.c:
7787         * process.c (vars_of_process):
7788         Add Vnull_device.
7789
7790         * process.h:
7791         [1].
7792
7793         * realpath.c:
7794         * realpath.c (xrealpath):
7795         [1].
7796
7797         * redisplay-tty.c (init_tty_for_redisplay):
7798         [3].
7799
7800         * redisplay.c:
7801         [4]. [6].
7802
7803         * scrollbar-msw.c:
7804         [4].
7805
7806         * sheap.c:
7807         * sheap.c (more_static_core):
7808         * sheap.c (report_sheap_usage):
7809         [5]. [6].
7810
7811         * signal.c:
7812         * signal.c (alarm_signal):
7813         [1]. [6].
7814
7815         * sound.c:
7816         [6].
7817
7818         * strftime.c:
7819         * strftime.c (zone_name):
7820         [1]. [5].
7821
7822         * symsinit.h (init_sunpro):
7823         [1].
7824
7825         * syscommctrl.h:
7826         commctrl.h not in Cygwin b20.1.
7827
7828         * sysdep.c:
7829         * sysdep.c (endif):
7830         * sysdep.c (sys_subshell):
7831         * sysdep.c (init_baud_rate):
7832         * sysdep.c (emacs_get_tty):
7833         * sysdep.c (emacs_set_tty):
7834         * sysdep.c (tty_init_sys_modes_on_device):
7835         * sysdep.c (init_system_name):
7836         * sysdep.c (sys_open):
7837         * sysdep.c (interruptible_open):
7838         * sysdep.c (sys_fopen):
7839         * sysdep.c (sys_mkdir):
7840         * sysdep.c (sys_rename):
7841         * sysdep.c (get_process_times_1):
7842         [1]. [6].
7843
7844         * sysdep.h:
7845         [1].
7846
7847         * sysdir.h:
7848         * sysdir.h (DIRENTRY_NONEMPTY):
7849         [1]. [6].
7850
7851         * sysdll.c (dll_init):
7852         * sysdll.h:
7853         [1].
7854
7855         * sysfile.h:
7856         [1]. [6]. [8].
7857         added text/binary defs.
7858
7859         * sysfloat.h:
7860         [1].
7861
7862         * sysproc.h:
7863         * sysproc.h (EDESTADDRREQ):
7864         * sysproc.h (poll_fds_for_input):
7865         [1]. [6].
7866
7867         * syspwd.h:
7868         [6].
7869
7870         * syssignal.h:
7871         [1].
7872
7873         * systime.h:
7874         [1]. [6].
7875
7876         * systty.h:
7877         [1].
7878
7879         * syswindows.h:
7880         [1].
7881         Always define WIN32_LEAN_AND_MEAN.
7882
7883         * unexcw.c (unexec):
7884         [5].
7885
7886         * unexec.c:
7887         * unexec.c (copy_text_and_data):
7888         * unexec.c (adjust_lnnoptrs):
7889         [1].
7890
7891         * unexnt.c:
7892         * unexnt.c (_start):
7893         [1].
7894
7895 2000-06-07  Ben Wing  <ben@xemacs.org>
7896
7897         * mule-mcpath.c, mule-mcpath.h: Removed.  Old, crufty code that
7898         was used only as a model.  We've long since extracted any useful
7899         logic or code out of this. (I just did an exhaustive search.)
7900
7901         * s\msdos.h: Removed.
7902
7903         * s\windows95.h: Removed.
7904
7905 2000-06-10  Ben Wing  <ben@xemacs.org>
7906
7907         * s\cygwin32.h:
7908         [1]. [5].
7909         Don't use extern with fun defs.
7910
7911         * s\mingw32.h:
7912         [1]. [7].
7913         Remove nt\inc include.
7914         Remove getdisk, getdefdir. (The former is unused, the latter
7915         expanded in fileio.h.)
7916
7917         * s\windowsnt.h:
7918         * s\windowsnt.h (WIN32_NATIVE):
7919         * s\windowsnt.h (HAVE_STRCASECMP):
7920         [1]. [7].
7921         Add long comment about preprocessor changes.
7922         Remove getdisk, getdefdir. (The former is unused, the latter
7923         expanded in fileio.h.)
7924
7925 2000-06-10  Ben Wing  <ben@xemacs.org>
7926
7927         * m\arm.h:
7928         * m\delta.h:
7929         * m\intel386.h:
7930         * m\sequent.h:
7931         * m\template.h:
7932         * m\windowsnt.h:
7933         [1].
7934         Remove bogus/unused NO_SOCK_SIGIO.
7935
7936 2000-06-08  Hrvoje Niksic  <hniksic@iskon.hr>
7937
7938         * lisp.h (set_string_char): Call set_string_byte with a Bufbyte,
7939         not an Emchar.
7940
7941 2000-06-04  Mike Sperber <mike@xemacs.org>
7942
7943         * casetab.c (set_case_table): For `set-standard-case-table',
7944         actually deposit the new case tables where the rest of XEmacs can
7945         see them.
7946
7947 2000-06-05  Yoshiki Hayashi <yoshiki@xemacs.org>
7948
7949         * data.c (Faset): Don't cast XCHAR() to unsigned char.
7950
7951 2000-06-05  Ben Wing  <ben@xemacs.org>
7952
7953         * callproc.c (child_setup): Don't do close_load_descs() under
7954         MS Windows.  Put in a comment explaining why.
7955
7956 2000-05-28  Adrian Aichner  <aichner@ecf.teradyne.com>
7957
7958         * process-nt.c: Reverting patch "Fixing nt_create_process for MKS
7959         Toolkit shell" which breaks `kill-compilation' on Windows NT
7960         native, retaining STDERR handling improvements.
7961
7962 2000-06-01  Andreas Jaeger  <aj@suse.de>
7963
7964         * s/s390.h: Support for S390, based on a patch by Martin
7965         Schwidefsky <schwidefsky@de.ibm.com>.
7966
7967 2000-05-30  Andy Piper  <andy@xemacs.org>
7968
7969         * window.c (allocate_window):
7970         (make_dummy_parent):
7971         (Fset_window_configuration): use new hashtable type.
7972
7973         * glyphs.h (IMAGE_UNSPECIFIED_GEOMETRY):
7974         (struct image_instantiator_methods):
7975         (struct Lisp_Image_Instance): make instance geometry signed.
7976
7977         * glyphs.c (instantiate_image_instantiator):
7978         (image_instance_query_geometry):
7979         (image_instance_layout):
7980         (image_instance_layout):
7981         (query_string_geometry):
7982         (text_query_geometry):
7983         (image_instantiate):
7984         (image_instantiate):
7985         (cache_subwindow_instance_in_frame_maybe):
7986         (subwindow_query_geometry): make instance geometry signed.
7987
7988         * glyphs-widget.c (widget_query_geometry):
7989         (widget_layout):
7990         (button_query_geometry):
7991         (tree_view_query_geometry):
7992         (tab_control_query_geometry):
7993         (layout_query_geometry):
7994         (layout_layout):
7995         (native_layout_layout): make instance geometry signed.
7996
7997 2000-05-29  Olivier Galibert  <galibert@pobox.com>
7998
7999         * lisp.h: Add Qfull_assoc symbol and WEAK_LIST_FULL_ASSOC
8000         constant.
8001
8002         * general.c (syms_of_general): Add Qfull_assoc symbol.
8003
8004         * data.c (finish_marking_weak_lists): Mark full-assoc lists
8005         correctly.
8006         (decode_weak_list_type): Decode full-assoc type.
8007         (encode_weak_list_type): Encode full-assoc type.
8008         (Fmake_weak_list): Update doc string.
8009
8010 2000-05-30  Andy Piper  <andy@xemacs.org>
8011
8012         * elhash.h (hash_table_weakness): new KEY_VALUE weak hashtable.
8013
8014         * elhash.c (print_hash_table): new KEY_VALUE weak hashtable.
8015         (decode_hash_table_weakness): ditto.
8016         (Fhash_table_weakness): ditto.
8017         (Fhash_table_type): ditto.
8018         (finish_marking_weak_hash_tables): ditto.
8019         (hash_table_weakness_validate): ditto.
8020         (syms_of_elhash): ditto.
8021
8022 2000-05-28  Martin Buchholz <martin@xemacs.org>
8023
8024         * XEmacs 21.2.34 is released.
8025
8026 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
8027
8028         * redisplay.c (VERTICAL_CLIP): No longer reset when updating line
8029         start cache.
8030         (updating_line_start_cache): Gone.
8031         (regenerate_window): Replace resetting of VERTICAL_CLIP by
8032         generic code to force a minimum of 1 line laid out in the
8033         CMOTION_DISP case.
8034
8035 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
8036
8037         * glyphs.c (instantiate_image_instantiator): Check for initialized
8038         height & width no longer special cases IMAGE_NOTHING.
8039         (nothing_instantiate): Set height and width of instance.
8040
8041 2000-05-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
8042
8043         * unexelf.c (unexec): Search for ".data" section.
8044         Initialize new_data2_offset from old_data_index.
8045         Remove redundant check for ElfW.
8046
8047 2000-05-23  Andy Piper  <andy@xemacs.org>
8048
8049         * glyphs.c (get_image_instantiator_governing_domain): allow more
8050         specific domains as the governing domain rather than expecting an
8051         exact match. This fixes problems with layouts.
8052
8053 2000-05-22  Andy Piper  <andy@xemacs.org>
8054
8055         * redisplay-output.c (compare_runes): check for non-images
8056
8057         * glyphs.c (set_glyph_dirty_p): ditto.
8058         (update_glyph_cachel_data): ditto.
8059
8060         * glyphs-widget.c (layout_post_instantiate): ditto.
8061         (layout_post_instantiate): ditto.
8062
8063         * event-msw.c (mswindows_wnd_proc): warning removal.
8064
8065 2000-05-12  Craig Lanning  <CraigL@DyCon.com>
8066
8067         * s\mingw32.h: Added #undef for CLASH_DETECTION.
8068
8069         * syswindows.h: Moved PBS_SMOOTH definition to syscommctrl.h.
8070
8071         * syscommctrl.h (PBS_SMOOTH): Moved from syswindows.h.
8072
8073         * nt.c (rva_to_section): mingw32 needs rva_to_section.
8074         (mswindows_executable_type): mingw32 now has enough headers for
8075         this to work.
8076
8077 2000-05-20  Andy Piper  <andy@xemacs.org>
8078
8079         * console-msw.c (mswindows_output_last_error): ; -> ,
8080
8081 2000-05-12  Andy Piper  <andy@xemacs.org>
8082
8083         * console-msw.c (FROB): compare ints with ints.
8084
8085 2000-05-11  Andy Piper  <andy@xemacs.org>
8086
8087         * glyphs-x.c (x_finalize_image_instance): make minimal build
8088         happy.
8089
8090 2000-05-20  Ben Wing  <ben@xemacs.org>
8091
8092         * event-Xt.c:
8093         * event-Xt.c (vars_of_event_Xt):
8094         move modifier-keys-are-sticky to event-stream.c.
8095
8096         * event-msw.c:
8097         * event-msw.c (mswindows_enqueue_mouse_button_event):
8098         * event-msw.c (key_needs_default_processing_p):
8099         * event-msw.c (XEMSW_LCONTROL):
8100         * event-msw.c (mswindows_handle_sticky_modifiers):
8101         * event-msw.c (FROB):
8102         * event-msw.c (clear_sticky_modifiers):
8103         * event-msw.c (output_modifier_keyboard_state):
8104         * event-msw.c (output_alt_keyboard_state):
8105         * event-msw.c (mswindows_wnd_proc):
8106         * event-msw.c (mswindows_modifier_state):
8107         * event-msw.c (emacs_mswindows_handle_magic_event):
8108         implement sticky modifiers.
8109
8110         * event-stream.c:
8111         * event-stream.c (vars_of_event_stream):
8112         move modifier-keys-are-sticky here.
8113
8114         * lisp.h:
8115         add CHECK_FUNCTION.
8116
8117         * rangetab.c:
8118         implement map-range-table.
8119
8120
8121 2000-05-17  Yoshiki Hayashi  <yoshiki@xemacs.org>
8122
8123         * redisplay-tty.c (reset_tty_modes):
8124         (tty_redisplay_shutdown): Adjust argument type to
8125         tty_frame_output_end.
8126
8127 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
8128
8129         * eval.c (Fbacktrace): Don't output a line with only right
8130         parenthesis.
8131
8132 2000-05-17  Kenji Itoh  <keit@tpj.co.jp>
8133
8134         * postgresql.c (Fpq_connect_poll): Replace `PS' with `polling_status'.
8135         (Fpq_reset_poll): Ditto.
8136
8137 2000-05-16  Katsumi Yamaoka  <yamaoka@jpl.org>
8138
8139         * redisplay-tty.c: Replace tty_output_end with tty_frame_output_end.
8140
8141 2000-05-16  Ben Wing  <ben@xemacs.org>
8142
8143         * buffer.c:
8144         * buffer.c (dfc_convert_to/from_internal_format):
8145         * buffer.c (reinit_vars_of_buffer):
8146         Fix conversion functions to allow reentrancy.
8147
8148         * console-msw.c:
8149         * console-msw.c (mswindows_output_last_error):
8150         New fun, generally useful -- output a human-readable
8151         version of GetLastError() on the console.
8152
8153         * console-msw.h:
8154         * console-msw.h (struct mswindows_frame):
8155         Changes for DeferWindowPos.  Declare mswindows_output_last_error().
8156
8157         * console-stream.c (stream_output_begin):
8158         * console-stream.c (stream_output_end):
8159         * console-stream.c (stream_output_vertical_divider):
8160         * console-stream.c (stream_clear_region):
8161         * console-stream.c (stream_flash):
8162         * console-stream.c (console_type_create_stream):
8163         Delete blank stream methods, not needed.
8164
8165         * console.h (struct console_methods):
8166         Split begin/end methods into window and frame.
8167
8168         * event-msw.c:
8169         * event-msw.c (mswindows_handle_paint):
8170         * event-msw.c (output_alt_keyboard_state):
8171         * event-msw.c (mswindows_wnd_proc):
8172         * event-msw.c (vars_of_event_mswindows):
8173         Comment about problems with ignored-expose.
8174         Define mswindows-debug-events; not really implemented.
8175
8176         * frame-msw.c (mswindows_init_frame_1):
8177         random cleanups.
8178
8179         * glyphs-msw.c:
8180         * glyphs-msw.c (begin_defer_window_pos):
8181         * glyphs-msw.c (mswindows_unmap_subwindow):
8182         * glyphs-msw.c (mswindows_map_subwindow):
8183         * glyphs-msw.c (mswindows_resize_subwindow):
8184         Use DeferWindowPos to reduce flashing when mapping/unmapping.
8185
8186         * glyphs.c (make_image_instance_1):
8187         Fix crash.
8188
8189         * gutter.c (Fredisplay_gutter_area):
8190         Use new begin/end methods.
8191
8192         * lisp.h (Dynarr_new2):
8193         New creation fun.
8194
8195         * redisplay-msw.c:
8196         * redisplay-msw.c (mswindows_frame_output_begin):
8197         * redisplay-msw.c (mswindows_frame_output_end):
8198         * redisplay-msw.c (console_type_create_redisplay_mswindows):
8199         New begin/end methods -- handle DeferWindowPos.
8200
8201         * redisplay-output.c (redisplay_move_cursor):
8202         * redisplay-output.c (redraw_cursor_in_window):
8203         * redisplay-output.c (redisplay_update_line):
8204         * redisplay-output.c (redisplay_output_window):
8205         New begin/end methods.
8206
8207         * redisplay-tty.c:
8208         * redisplay-tty.c (tty_frame_output_begin):
8209         * redisplay-tty.c (tty_frame_output_end):
8210         * redisplay-tty.c (console_type_create_redisplay_tty):
8211         New begin/end methods.
8212
8213         * redisplay-x.c:
8214         * redisplay-x.c (x_window_output_begin):
8215         * redisplay-x.c (x_window_output_end):
8216         * redisplay-x.c (console_type_create_redisplay_x):
8217         New begin/end methods.
8218
8219         * redisplay.c (redisplay_frame):
8220         * redisplay.c (Fredisplay_echo_area):
8221         New begin/end methods.
8222         use MAYBE_DEVMETH for clear_frame; it may not exist.
8223
8224         * window.h (WINDOW_XFRAME):
8225         WINDOW_XFOO macros -- get locale and decode struct pointer.
8226
8227
8228 2000-05-12  Ben Wing  <ben@xemacs.org>
8229
8230         * emacs.c:
8231         * emacs.c (ensure_no_quitting_from_now_on):
8232         * emacs.c (fatal_error_signal):
8233         * emacs.c (mswindows_handle_hardware_exceptions):
8234         * emacs.c (main):
8235         * emacs.c (Fkill_emacs):
8236         * emacs.c (shut_down_emacs):
8237         * emacs.c (assert_failed):
8238         various improvements in fatal error handling.
8239
8240         * eval.c:
8241         move preparing_for_armageddon to emacs.c.
8242
8243         * lisp.h:
8244         declare fatal_error_in_progress.
8245
8246         * print.c:
8247         * print.c (std_handle_out_external):
8248         * print.c (std_handle_out_va):
8249         * print.c (stderr_out):
8250         * print.c (stdout_out):
8251         use console under mswin when no standard output.
8252         don't do code conversion during fatal error.
8253
8254         * scrollbar.c (Fscrollbar_page_up):
8255         * scrollbar.c (Fscrollbar_page_down):
8256         fix missing else.  reindent.
8257
8258 2000-05-11  Jan Vroonhof  <vroonhof@math.ethz.ch>
8259
8260         Emergency fix.
8261
8262         * glyphs.h (GLYPH_CACHEL_DESCENT):
8263         (GLYPH_CACHEL_DESCENT):
8264         (GLYPH_CACHEL_DESCENT):
8265         * glyphs.h (GLYPH_CACHEL_ASCENT): Match parameters to variables
8266         used in case these are inline functions.
8267         Use more absurd values to error check.
8268
8269         include window.h for error check functions.
8270
8271 2000-05-11  Ben Wing  <ben@xemacs.org>
8272
8273         * cmdloop.c (Freally_early_error_handler):
8274         Display message box under windows; otherwise, message will disappear
8275         before it can be viewed.
8276
8277         * console-msw.c:
8278         * console-msw.c (Fmswindows_message_box):
8279         * console-msw.c (FROB):
8280         * console-msw.c (syms_of_console_mswindows):
8281         Define new fun `mswindows-message-box'.
8282         #### I will merge this into `popup-dialog-box'; just give me
8283         a bit of time.
8284
8285         * general.c:
8286         * general.c (syms_of_general):
8287         Some new symbols used in `mswindows-message-box'.
8288
8289         * glyphs.c:
8290         * glyphs.c (Fset_image_instance_property):
8291         put warning in this fun.
8292
8293         * glyphs.h:
8294         * glyphs.h (GLYPH_CACHEL_WIDTH):
8295         * glyphs.h (GLYPH_CACHEL_ASCENT):
8296         * glyphs.h (GLYPH_CACHEL):
8297         * glyphs.h (GLYPH_CACHEL_GLYPH):
8298         define error-checking versions to try to catch a bug i've seen --
8299         redisplay gets in an infinite loop because the glyph width of the
8300         continuation glyph is 65535.
8301
8302         * lisp.h:
8303         Extern message-box stuff.
8304
8305         * window.c (allocate_window):
8306         * window.c (make_dummy_parent):
8307         * window.c (Fset_window_configuration):
8308         Use EQUAL not EQ for subwindow caches to make them work a bit
8309         better. (Something is still very broken.)
8310
8311
8312 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
8313
8314         * glyphs.c (image_instantiate): Suppress gcc warnings.
8315         (Fmake_image_instance): Fix doc string.
8316         * specifier.c (Fmake_specifier): Ditto.
8317
8318 2000-05-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
8319
8320         * paths.h.in (PATH_LOCK): Removed.
8321         * config.h.in (LOCKDIR_USER_DEFINED): Removed.
8322         * emacs.c (complex_vars_of_emacs): Remove configure-lock-directory.
8323
8324 2000-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
8325
8326         * fns.c (Ffeaturep): Update e-mail address in doc-string.
8327         Document (featurep '(and xemacs 21.02)).
8328
8329 2000-05-09  Ben Wing  <ben@xemacs.org>
8330
8331         * buffer.c (complex_vars_of_buffer):
8332         update modeline-format doc.
8333
8334         * device.h:
8335         comment about how DFW_DEVICE should be merged with DOMAIN_DEVICE.
8336
8337         * emacs.c:
8338         timeline of all released versions of Emacs, for use in creating
8339         authorship comments and in synching up.
8340
8341         * glyphs-widget.c (image_instantiator_buttons):
8342         * glyphs-widget.c (image_instantiator_edit_fields):
8343         * glyphs-widget.c (image_instantiator_combo_box):
8344         * glyphs-widget.c (image_instantiator_scrollbar):
8345         * glyphs-widget.c (image_instantiator_progress_guage):
8346         * glyphs-widget.c (image_instantiator_tree_view):
8347         * glyphs-widget.c (image_instantiator_tab_control):
8348         * glyphs-widget.c (image_instantiator_labels):
8349         * glyphs-widget.c (image_instantiator_layout):
8350         * glyphs-widget.c (image_instantiator_native_layout):
8351         rename decode_domain method to governing_domain.
8352
8353         * glyphs.c:
8354         * glyphs.c (Fvalid_image_instantiator_format_p): doc update.
8355         * glyphs.c (add_entry_to_device_ii_format_list):
8356         make sure we don't put an entry more than once into the list.
8357         * glyphs.c (check_instance_cache_mapper):
8358         *************************************************************
8359         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
8360         HAVE BEEN GETTING.
8361         *************************************************************
8362         * glyphs.c (get_image_instantiator_governing_domain):
8363         clean up, expand on new concept of governing domain.
8364         * glyphs.c (instantiate_image_instantiator):
8365         * glyphs.c (allocate_image_instance):
8366         use governing_domain instead of cache_domain in naming.
8367         * glyphs.c (Fvalid_image_instance_type_p): fix docs.
8368         * glyphs.c (make_image_instance_1):
8369         * glyphs.c (Fmake_image_instance):
8370         allow for any domain (not just device), and process the
8371         governing domain correctly.  very big doc fix.
8372         * glyphs.c (Fimage_instance_domain):
8373         new primitive, to retrieve the governing domain of an image instance.
8374         * glyphs.c (image_instantiate):
8375         use new governing_domain stuff.  this fixes a crash you could get
8376         by instantiating certain widget glyphs in frame locales. (should
8377         signal an error instead of crashing.)
8378         * glyphs.c (Fimage_specifier_p): move doc to make-image-specifier.
8379         * glyphs.c (Fglyphp): clean up doc.
8380         * glyphs.c (subwindow_governing_domain): renamed from *_decode_domain.
8381         * glyphs.c (syms_of_glyphs):
8382         declare Fimage_instance_domain, remove unused Qlayout_image_instance_p.
8383         * glyphs.c (image_instantiator_format_create): add some comments about
8384         bogus code.
8385         * glyphs.c (specifier_vars_of_glyphs): totally rewrite the doc string
8386         for current-display-table. (Apparently Hrjove implemented in 1998 a
8387         design I wrote up in 1996, but didn't update the doc string.)
8388
8389         * glyphs.h: clean up a doc string.
8390         * glyphs.h (governing_domain):
8391         * glyphs.h (struct image_instantiator_methods):
8392         changes for governing_domain stuff.
8393
8394         * gutter.c:
8395         * gutter.c (Fgutter_specifier_p):
8396         * gutter.c (Fgutter_size_specifier_p):
8397         * gutter.c (Fgutter_visible_specifier_p):
8398         * objects.c:
8399         * objects.c (Fcolor_specifier_p):
8400         * objects.c (Ffont_specifier_p):
8401         * objects.c (Fface_boolean_specifier_p):
8402         doc strings moved to make-*-specifier.
8403
8404         * redisplay.c (add_disp_table_entry_runes_1):
8405         * redisplay.c (generate_fstring_runes):
8406         * redisplay.c (screen):
8407         add random comments and doc strings.
8408
8409         * specifier.c:
8410         * specifier.c (Fmake_specifier):
8411         major overhaul of this doc string.
8412
8413         * specifier.c (Fvalid_specifier_domain_p):
8414         comment about the bogosity of image instances being domains.
8415         * specifier.c (decode_domain):
8416         now non-static, used in glyphs.c.
8417         * specifier.c (specifier_instance):
8418         comment about the bogosity of image instances being domains.
8419         * specifier.c (Fgeneric_specifier_p):
8420         move doc string to make-generic-specifier.
8421         * specifier.c (VALID_SINGLE_DISPTABLE_INSTANTIATOR_P):
8422         rebackslashify.
8423
8424         * specifier.h:
8425         * specifier.h (DOMAIN_FRAME):
8426         * specifier.h (DOMAIN_LIVE_P):
8427         * specifier.h (DOMAIN_XDEVICE):
8428         rebackslashify.
8429         add comments about problems with these macros.
8430         prototype for decode_domain.
8431
8432         * toolbar.c:
8433         * toolbar.c (Ftoolbar_specifier_p):
8434         move doc string to `make-toolbar-specifier'.
8435
8436         * window.c (window_unmap_subwindows_cache_mapper):
8437         *************************************************************
8438         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
8439         HAVE BEEN GETTING.
8440         *************************************************************
8441
8442 2000-05-09  Andy Piper  <andy@xemacs.org>
8443
8444         * glyphs.h: declare reset_frame_subwindow_instance_cache.
8445
8446         * window.c (Fset_window_configuration): reset the frame subwindow
8447         cache and re-initialize the window subwindow caches.
8448
8449         * glyphs.c (reset_frame_subwindow_instance_cache): new function.
8450
8451 2000-05-09  Ben Wing  <ben@xemacs.org>
8452
8453         * ntheap.c (recreate_heap): Changed unknown (VC6 only?) SIZE_T to
8454         DWORD.
8455
8456 2000-04-26  Mike Woolley  <mike@bulsara.com>
8457
8458         * ntheap.c: Changed recreate_heap to limit the amount reserved
8459         for the heap to that which is actually available. Also now
8460         displays a message box (with some dignostics) in the event that
8461         it still can't start.
8462
8463 2000-05-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
8464
8465         * callproc.c (Fold_call_process_internal): GCPRO path
8466
8467 2000-05-08  Jan Vroonhof  <jan@xemacs.org>
8468
8469         Patch by Bill Perry.
8470
8471         * scrollbar.c (Fscrollbar_page_up): Conditionalize on type of call
8472         back data instead of #ifdef.
8473         (Fscrollbar_page_down): ditto.
8474
8475 2000-05-07  Ben Wing  <ben@xemacs.org>
8476
8477         * buffer.h:
8478         Kludge for defining Qmswindows_tstr.
8479
8480         * nt.c:
8481         * nt.c (open_input_file):
8482         * nt.c (open_output_file):
8483         * nt.c (rva_to_section):
8484         * nt.c (mswindows_executable_type):
8485         Move all memory-mapped-file routines here (some were in unexnt.c,
8486         which is bad because they are used by process-nt.c, and unexnt
8487         won't be around when portable dumping).  Synched the above routines
8488         with FSF 20.6.
8489
8490         * nt.h:
8491         Removed ifdef'd out bogus code.
8492         Fixed some prototypes.
8493
8494         * nt.h (file_data):
8495         * nt.h (OFFSET_TO_RVA):
8496         * nt.h (RVA_TO_OFFSET):
8497         * nt.h (RVA_TO_PTR):
8498         Moved the memory-mapped-file structures, macros and prototypes
8499         here, to parallel nt.c.  ntheap.h should really be removed
8500         entirely, and it's a non-portable-dumper specific file.
8501
8502         * ntheap.h (round_to_next):
8503         Moved the memory-mapped-file structures, macros and prototypes
8504         to nt.h.
8505
8506         * ntproc.c (compare_env):
8507         Moved rva_to_section and mswindows_executable_type to nt.c.
8508         Moved compare_env to process-nt.c.
8509         ntproc.c will die, one day.
8510
8511         * ntproc.c (sys_spawnve):
8512         Account for win32_ -> mswindows_.
8513
8514         * process-nt.c:
8515         * process-nt.c (struct nt_process_data):
8516         * process-nt.c (ensure_console_window_exists):
8517         * process-nt.c (compare_env):
8518         * process-nt.c (nt_create_process):
8519         * process-nt.c (nt_kill_process_by_pid):
8520         * process-nt.c (syms_of_process_nt):
8521         * process-nt.c (vars_of_process_nt):
8522         Introduce variable `mswindows-quote-process-args', from FSF 20.6.
8523         Copy argument quoting code from FSF 20.6 (with appropriate Mule-ization
8524         changes).  Eliminate our old `nt-quote-process-args' mechanism.
8525         Synch up nt_create_process with FSF 20.6 sys_spawnve.
8526         Move compare_env here from ntproc.c.
8527
8528         * process.c (Fprocess_send_region):
8529         Takes an optional fourth argument, BUFFER, which should fix some
8530         problems with call-process.
8531
8532         * syscommctrl.h:
8533         Move ICC_BAR_CLASSES here from syswindows.h, to avoid a warning.
8534
8535         * syswindows.h:
8536         Move ICC_BAR_CLASSES to syscommctrl.h.
8537         Add preliminary macros for MSWindows/Mule.  More to come.
8538
8539         * unexnt.c:
8540         * unexnt.c (unexec):
8541         open_output_file moved to nt.c.
8542
8543
8544 2000-05-05  Andy Piper  <andy@xemacs.org>
8545
8546         * window.c (window_unmap_subwindows_cache_mapper): remove the dead
8547         instance from the frame cache also since GC may catch up too late
8548         to make frame deletion sane.
8549
8550 2000-05-04  Andy Piper  <andy@xemacs.org>
8551
8552         * glyphs-x.c (x_widget_instantiate): gcpro widget callbacks.
8553         (x_finalize_image_instance): ungcpro on deletion.
8554
8555         * glyphs.c (image_instantiator_format_create): give pointers a
8556         query geometry method so that the geometry is at least set.
8557
8558         * glyphs-x.c (image_instantiator_format_create_glyphs_x): only
8559         initialize layouts if using widgets.
8560
8561 2000-05-03  Andy Piper  <andy@xemacs.org>
8562
8563         * nt.c: remove bogus reference to sysmmsystem.h
8564
8565         * gui-x.c (popup_selection_callback): fix no selection abort.
8566
8567 2000-05-02  Andy Piper  <andy@xemacs.org>
8568
8569         * glyphs-msw.c (mswindows_update_widget): cope with nil text.
8570         (mswindows_widget_instantiate): ditto.
8571
8572         * glyphs-widget.c (initialize_widget_image_instance): initialize
8573         children correctly.
8574         (widget_instantiate): cope with children and items in the same
8575         instance.
8576
8577         * glyphs.c (mark_image_instance): cope with children as a first
8578         class member.
8579         (image_instance_equal): ditto.
8580         (image_instance_hash): ditto.
8581         (image_instance_changed): ditto.
8582
8583 2000-04-30  Andy Piper  <andy@xemacs.org>
8584
8585         * glyphs.c (subwindow_query_geometry): new function. Return some
8586         defaults.
8587         (subwindow_instantiate): don't assign dimensions if none have been
8588         given.
8589         (image_instantiator_format_create): add subwindow_query_geometry.
8590         (print_image_instance): cope with layouts as widgets.
8591
8592 2000-04-29  Andy Piper  <andy@xemacs.org>
8593
8594         * frame.c (delete_frame_internal): call
8595         free_frame_subwindow_instance_cache so that all subwindows are
8596         finalized before their parent.
8597         (mark_frame): remove subwindow_cachels.
8598         (Fmake_frame): remove subwindow_cachel manipulation.
8599         (allocate_frame_core): subwindow_instance_cache is a weak list.
8600         (delete_frame_internal): set subwindow_instance_cache to nil.
8601
8602         * glyphs-msw.c (mswindows_finalize_image_instance): make double
8603         finalization safe.
8604         (mswindows_finalize_image_instance): use the device
8605         not the domain as the domain may have died already.
8606
8607         * glyphs-x.c (x_finalize_image_instance): ditto.
8608         (x_subwindow_instantiate): remove SUBWINDOW_WIDTH &
8609         HEIGHT.
8610
8611         * redisplay-output.c (redisplay_unmap_subwindows): update for
8612         subwindow instance cache as a weak list.
8613         (redisplay_unmap_subwindows_maybe): ditto.
8614         (redisplay_unmap_subwindows_except_us): ditto.
8615
8616         * glyphs.c (unmap_subwindow): error checking will check the domain
8617         so don't deal with it here. Don't use cachels anymore.
8618         (map_subwindow): ditto.
8619         (update_subwindow_cachel_data): remove old accessor names.
8620         (subwindow_instantiate): remove SUBWINDOW_WIDTH & HEIGHT.
8621         (Fresize_subwindow): don't update cachel.
8622         (mark_subwindow_cachels):
8623         (update_subwindow_cachel_data):
8624         (add_subwindow_cachel):
8625         (get_subwindow_cachel_index):
8626         (update_subwindow_cachel):
8627         (reset_subwindow_cachels):
8628         (mark_subwindow_cachels_as_not_updated): deleted.
8629         (cache_subwindow_instance_in_frame_maybe): new function. Add a
8630         subwindow instance to the frame cache.
8631         (find_matching_subwindow): update for subwindow instance cache as
8632         a weak list.
8633         (update_widget_instances): ditto.
8634         (image_instance_type_to_mask):inlined.
8635         (free_frame_subwindow_instance_cache): new function. finalize all
8636         subwindows that are instantiated.
8637
8638         * glyphs.h (struct Lisp_Image_Instance): add display_data instead
8639         of cachel information.
8640         (IMAGE_INSTANCE_DISPLAY_X):
8641         (IMAGE_INSTANCE_DISPLAY_Y):
8642         (IMAGE_INSTANCE_DISPLAY_WIDTH):
8643         (IMAGE_INSTANCE_DISPLAY_HEIGHT):
8644         (XIMAGE_INSTANCE_DISPLAY_X):
8645         (XIMAGE_INSTANCE_DISPLAY_Y):
8646         (XIMAGE_INSTANCE_DISPLAY_WIDTH):
8647         (XIMAGE_INSTANCE_DISPLAY_HEIGHT): new accessors.
8648         remove subwindow_cachel structure and function references.
8649         (image_instance_type_to_mask): inline from glyphs.c
8650
8651         * redisplay.c (redisplay_frame): remove subwindow_cachel
8652         references.
8653
8654         * frame.h (struct frame): remove subwindow_cachels.
8655         (FRAME_SUBWINDOW_CACHE): access subwindow_instance_cache.
8656
8657         * frameslots.h: add subwindow_instance_cache.
8658
8659         * window.c (replace_window): check subwindow cache of replacement.
8660         (window_unmap_subwindows_cache_mapper):
8661         (window_unmap_subwindows): new functions. Unmap all subwindows
8662         cached on this window.
8663         (mark_window_as_deleted): unmap all subwindows.
8664
8665 2000-04-27  Andy Piper  <andy@xemacs.org>
8666
8667         * glyphs.h (IIFORMAT_METH_OR_GIVEN): cope with null meths.
8668
8669         * glyphs-widget.c (widget_layout): return something.
8670         (layout_layout): return something. Fail if not initialized.
8671         (layout_query_geometry): ditto.
8672         (image_instantiator_native_layout): new function. Initialized the
8673         native layout type.
8674         (widget_instantiate): don't do layout stuff here.
8675
8676         * glyphs.c (instantiate_image_instantiator): reorded calling or
8677         instantiate and post_instantiate with layout in between.
8678         (image_instance_layout): be more selective about deciding whether
8679         the layout has been done or not.
8680
8681         * glyphs.h (struct image_instantiator_methods): return a value
8682         from layout_method.
8683
8684 2000-04-26  Andy Piper  <andy@xemacs.org>
8685
8686         * glyphs.c (allocate_image_instance): make initial width and
8687         height unspecified. Set initialized to 0.
8688
8689         * syscommctrl.h new file. Encapsulates commctrl.h.
8690
8691         * syswindows.h new file. Encapsulates windows.h.
8692
8693         * ntplay.c: use new syswindows.h and syscommctrl.h header.
8694         * nt.c: ditto.
8695         * console-msw.h: ditto.
8696
8697         * redisplay-tty.c (tty_output_display_block): remove layout references.
8698
8699         * glyphs-msw.c (mswindows_widget_instantiate): use the domain
8700         window handle rather than just the frame.
8701
8702         * glyphs.c (mark_image_instance): remove layout references.
8703         (print_image_instance): ditto.
8704         (image_instance_equal): ditto.
8705         (image_instance_hash): ditto.
8706         (decode_image_instance_type): ditto.
8707         (encode_image_instance_type): ditto.
8708         (image_instantiate): ditto.
8709         (allocate_glyph): ditto.
8710         (Fimage_instance_height): ditto.
8711         (Fimage_instance_width): ditto.
8712         (update_subwindow): ditto.
8713
8714         * redisplay-x.c (x_output_display_block): recode for layouts as
8715         widgets.
8716
8717         * redisplay-output.c (redisplay_output_layout): recode for layouts
8718         as widgets.
8719         (compare_runes): remove layout references.
8720
8721         * redisplay-msw.c (mswindows_output_display_block): recode for
8722         layouts as widgets.
8723
8724         * glyphs-widget.c (image_instantiator_layout): remove
8725         layout_possible_dest_types.
8726         (layout_possible_dest_types): deleted.
8727
8728         * glyphs.h (image_instance_type): remove layout references.
8729         (struct Lisp_Image_Instance): ditto. Add initialized flag.
8730         (IMAGE_INSTANCE_INITIALIZED): new accessor.
8731         (XIMAGE_INSTANCE_INITIALIZED): ditto.
8732
8733 2000-04-25  Andy Piper  <andy@xemacs.org>
8734
8735         * glyphs-widget.c (image_instantiator_buttons):
8736         (image_instantiator_edit_fields):
8737         (image_instantiator_combo_box):
8738         (image_instantiator_scrollbar):
8739         (image_instantiator_progress_guage):
8740         (image_instantiator_tree_view):
8741         (image_instantiator_tab_control):
8742         (image_instantiator_labels):
8743         (image_instantiator_layout): call default post_instantiate method.
8744         (widget_post_instantiate): new function. Simply lays out the
8745         widgets.
8746
8747         * glyphs.h (struct image_instantiator_methods): add
8748         post_instantiate method.
8749
8750         * glyphs.c (instantiate_image_instantiator): add post_instantiate
8751         method calls.
8752
8753 2000-04-23  Andy Piper  <andy@xemacs.org>
8754
8755         * glyphs.h (struct image_instantiator_methods): add
8756         decode_domain_method.
8757         (struct Lisp_Image_Instance): remove subwindow frame - it can be
8758         derived from the domain.
8759         (IMAGE_INSTANCE_FRAME): new accessor.
8760         (XIMAGE_INSTANCE_FRAME): ditto.
8761
8762         * glyphs.c (print_image_instance): use IMAGE_INSTANCE_FRAME
8763         instead of _SUBWINDOW_FRAME.
8764         (finalize_image_instance): ditto.
8765         (Fimage_instance_foreground): ditto.
8766         (Fimage_instance_background): ditto.
8767         (image_instantiate): ditto.
8768         (update_subwindow_cachel): ditto.
8769         (update_subwindow): ditto.
8770         (unmap_subwindow): ditto.
8771         (map_subwindow): ditto
8772         (subwindow_instantiate): ditto.
8773         * glyphs-msw.c (mswindows_update_widget): ditto.
8774         (mswindows_progress_gauge_instantiate): ditto.
8775         (mswindows_tab_control_update): ditto.
8776         * glyphs-x.c (x_update_widget): ditto.
8777         (x_widget_instantiate): ditto.
8778         (x_tab_control_instantiate): ditto.
8779         (x_tab_control_update): ditto.
8780         * event-msw.c (mswindows_wnd_proc): ditto
8781
8782         * glyphs-widget.c (image_instantiator_layout): use
8783         subwindow_decode_domain.
8784         (image_instantiator_buttons): ditto.
8785         (image_instantiator_edit_fields): ditto.
8786         (image_instantiator_combo_box): ditto.
8787         (image_instantiator_scrollbar): ditto.
8788         (image_instantiator_progress_guage): ditto.
8789         (image_instantiator_tree_view): ditto.
8790         (image_instantiator_tab_control): ditto.
8791         (image_instantiator_labels): ditto.
8792         (image_instantiator_layout): ditto.
8793
8794         * glyphs.c: add instance error checking to many functions.
8795         (instantiate_image_instantiator): decode device from cache_domain.
8796         (image_instantiate): partially rewrite by using
8797         decode_image_instantiator_domain to determine what domain the
8798         instance needs to be cached in.
8799         (decode_image_instantiator_domain): new function. Determine what
8800         domain the image needs to be cached in.
8801         (check_window_subwindow_cache): new error checking function.
8802         (check_instance_cache_mapper): ditto.
8803         (check_image_instance_structure): ditto.
8804         (subwindow_decode_domain): new function. Encodes a window as a
8805         subwindow's cache domain.
8806         (image_instantiator_format_create): use it for text and
8807         subwindows.
8808
8809 2000-04-21  Andy Piper  <andy@xemacs.org>
8810
8811         * glyphs.c (image_instance_device): new function.
8812         (image_instance_frame): new function.
8813         (image_instance_window): new function.
8814         (image_instance_live_p): new function.
8815
8816         * window.c (mark_window_as_deleted): reset the subwindow_instance_
8817         cache to nil.
8818
8819         * glyphs.h (struct Lisp_Image_Instance): device->domain.
8820         (IMAGE_INSTANCE_DOMAIN): new accessor.
8821         (XIMAGE_INSTANCE_DOMAIN): ditto.
8822
8823         * glyphs-x.c (x_finalize_image_instance): device->domain.
8824
8825         * glyphs-msw.c (init_image_instance_geometry): device->domain.
8826         (mswindows_finalize_image_instance): ditto.
8827
8828         * glyphs-eimage.c (jpeg_instantiate): device->domain.
8829         (gif_instantiate): ditto.
8830         (png_instantiate): ditto.
8831         (tiff_instantiate): ditto.
8832
8833         * glyphs.c (instantiate_image_instantiator): use domain rather
8834         than device.
8835         (mark_image_instance): device -> domain.
8836         (print_image_instance): ditto.
8837         (finalize_image_instance): ditto.
8838         (image_instance_equal): ditto.
8839         (allocate_image_instance): ditto.
8840         (Fcolorize_image_instance): ditto.
8841         (query_string_geometry): ditto.
8842         (image_instantiate): ditto
8843         (query_string_font): ditto.
8844         (image_instantiate): ditto.
8845         (update_subwindow): ditto.
8846         (unmap_subwindow): ditto.
8847         (map_subwindow): ditto.
8848         (subwindow_instantiate): ditto.
8849
8850         * specifier.h (DOMAIN_DEVICE): new, semantically correct, decoder.
8851         (DOMAIN_FRAME): ditto.
8852         (DOMAIN_WINDOW): ditto.
8853         (DOMAIN_LIVE_P): ditto.
8854         (XDOMAIN_DEVICE): ditto.
8855         (XDOMAIN_FRAME): ditto.
8856         (XDOMAIN_WINDOW): ditto.
8857
8858         * specifier.c (Fvalid_specifier_domain_p): add image instances as
8859         a valid specifier domain.
8860
8861 2000-04-19  Andy Piper  <andy@xemacs.org>
8862
8863         * glyphs-widget.c (syms_of_glyphs_widget): remove
8864         widget-callback-current-channel.
8865         (vars_of_glyphs_widget): ditto.
8866         * glyphs.h: ditto
8867
8868         * gui.c (get_gui_callback): revert to previous behaviour.
8869
8870 2000-04-18  Andy Piper  <andy@xemacs.org>
8871
8872         * glyphs.h (struct Lisp_Image_Instance): add margin_width.
8873         (IMAGE_INSTANCE_MARGIN_WIDTH): new.
8874         (XIMAGE_INSTANCE_MARGIN_WIDTH): new.
8875
8876         * glyphs.c (image_instance_equal): add margin_width.
8877         (image_instance_hash): ditto.
8878
8879         * glyphs-widget.c (widget_instantiate): deal with margin-width.
8880         (layout_query_geometry): ditto.
8881         (layout_layout): ditto.
8882         (syms_of_glyphs_widget): add margin-width.
8883         (image_instantiator_layout): allow margin-width.
8884
8885         * glyphs.c (update_widget_instances): make a normal function.
8886         (syms_of_glyphs): remove Qupdate_widget_instances.
8887         * glyphs.h: ditto.
8888
8889         * gui-x.c (popup_selection_callback): use enqueue_magic_eval_event
8890         so that we don't corrupt ideas about the last event or
8891         command. Remove widget-callback-current-channel fiddling.
8892         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
8893
8894 2000-05-01  Martin Buchholz <martin@xemacs.org>
8895
8896         * XEmacs 21.2.33 is released.
8897
8898 2000-05-01  Yoshiki Hayashi  <yoshiki@xemacs.org>
8899
8900         * make-src-depend: Allow dots in header file name.
8901
8902 2000-05-01  Yoshiki Hayashi  <yoshiki@xmacs.org>
8903
8904         * mule-charset.h (struct charset_lookup): Add
8905         next_allocated_1_byte_leading_byte and
8906         next_allocated_2_byte_leading_byte.
8907         * mule-charset.c: Move above two variables so that those values
8908         will be dumped.
8909
8910 2000-04-26  Yoshiki Hayashi  <yoshiki@xemacs.org>
8911
8912         * insdel.c (find_charsets_in_bufbyte_string): Add Vcharset_ascii
8913         when string length is zero.
8914         (find_charsets_in_emchar_string): Ditto.
8915
8916 2000-04-29  Bjrn Torkelsson  <torkel@hpc2n.umu.se>
8917
8918         * lisp.h: extern Qdialog and Qmenubar.
8919
8920         * gui-x.c: added events.h.
8921                 also fixed typo which made the file uncompilable.
8922
8923         * general.c: Added Qmenubar and Qdialog
8924
8925 2000-04-28  Ben Wing  <ben@xemacs.org>
8926
8927         * frame-msw.c (mswindows_init_frame_1):
8928         * frame-msw.c (mswindows_mark_frame):
8929         * event-msw.c (mswindows_enqueue_dispatch_event):
8930         * console-msw.h:
8931         * console-msw.h (struct mswindows_frame):
8932         * console-msw.h (FRAME_MSWINDOWS_WIDGET_HASH_TABLE1):
8933         there are now three hash tables for callbacks.
8934         mswindows_enqueue_dispatch_event is no longer static.
8935
8936         * dialog-x.c (maybe_run_dbox_text_callback):
8937         * dialog-x.c (dbox_descriptor_to_widget_value):
8938         switch to new cons3 form for callbacks.
8939
8940         * glyphs-msw.c (mswindows_register_gui_item):
8941         * glyphs-msw.c (mswindows_widget_instantiate):
8942         * glyphs-msw.c (add_tree_item):
8943         * glyphs-msw.c (add_tab_item):
8944         new image instance parameter, so it can be passed to callback-ex.
8945         respect :callback-ex as well as :callback.
8946
8947         * glyphs-widget.c (VALID_GUI_KEYWORDS):
8948         add :callback-ex.
8949
8950         * glyphs.c (print_image_instance):
8951         prettify, e.g. now prints widget type.
8952
8953         * gui-x.h:
8954         certain funs have new image instance parameter.
8955
8956         * gui.c:
8957         * gui.c (get_gui_callback):
8958         * gui.c (gui_item_add_keyval_pair):
8959         * gui.c (gui_item_init):
8960         * gui.c (gui_add_item_keywords_to_plist):
8961         * gui.c (mark_gui_item):
8962         * gui.c (gui_item_hash):
8963         * gui.c (gui_item_equal):
8964         * gui.c (copy_gui_item):
8965         * gui.c (syms_of_gui):
8966         recognize callback-ex in a number of places.
8967         also, fix the annoying "can't get out of yes-no dialog" bug.
8968
8969         * gui.h:
8970         * gui.h (struct Lisp_Gui_Item):
8971         recognize callback-ex in a number of places.
8972
8973         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
8974         new parameter in button_item_to_widget_value.
8975
8976         * glyphs-x.c (x_update_widget):
8977         * glyphs-x.c (x_button_instantiate):
8978         * glyphs-x.c (x_button_update):
8979         * glyphs-x.c (x_progress_gauge_instantiate):
8980         * glyphs-x.c (x_edit_field_instantiate):
8981         * glyphs-x.c (x_combo_box_instantiate):
8982         * glyphs-x.c (x_tab_control_instantiate):
8983         * glyphs-x.c (x_label_instantiate):
8984         new image instance parameter in various places.
8985
8986         * event-Xt.c:
8987         * event-Xt.c (enqueue_Xt_dispatch_event):
8988         this fun gets exported.
8989
8990         * gui-msw.c:
8991         * gui-msw.c (mswindows_handle_gui_wm_command):
8992         handle both :callback and :callback-ex, and generate our own
8993         event because it's one of the callback-ex arguments.
8994
8995         * gui-x.c:
8996         * gui-x.c (popup_selection_callback):
8997         handle both :callback and :callback-ex, and generate our own
8998         event because it's one of the callback-ex arguments.
8999         * gui-x.c (button_item_to_widget_value):
9000         * gui-x.c (gui_items_to_widget_values_1):
9001         * gui-x.c (gui_item_children_to_widget_values):
9002         * gui-x.c (gui_items_to_widget_values):
9003         new image instance parameter in various places.
9004
9005         * fns.c (Freplace_list):
9006         fix small typo in doc string.
9007
9008         * lisp.h:
9009         declare enqueue_Xt_dispatch_event.
9010
9011 2000-04-28  Ben Wing  <ben@xemacs.org>
9012
9013         * buffer.c:
9014         * buffer.c (Frecord_buffer):
9015         * buffer.c (syms_of_buffer):
9016         delete record-buffer-hook.
9017
9018         * fns.c:
9019         * fns.c (Freplace_list):
9020         * fns.c (syms_of_fns):
9021         new primitive replace-list.
9022
9023         * frameslots.h:
9024         slot for old buffer-alist.
9025
9026         * lisp.h:
9027         exfun replace-list.
9028
9029         * redisplay.c:
9030         * redisplay.c (redisplay_frame):
9031         * redisplay.c (syms_of_redisplay):
9032         * redisplay.c (vars_of_redisplay):
9033         new hook buffer-list-changed-hook.
9034         call it.
9035
9036 2000-04-27  Ben Wing  <ben@xemacs.org>
9037
9038         * extents.h: extern in_modeline_generation.
9039
9040         * redisplay.c (generate_formatted_string_db): set
9041         in_modeline_generation.
9042
9043         * extents.c (extent_changed_for_redisplay): don't mark redisplay
9044         flags if in modeline generation.  otherwise frame-modified-tick
9045         is ticked far too often.
9046         Declare in_modeline_generation.
9047
9048 2000-04-26  Ben Wing  <ben@xemacs.org>
9049
9050         * emacs.c (vars_of_emacs): document quick-build "error-checking"
9051         option.
9052         (vars_of_emacs): add quick-build as an error-checking option.
9053         A bit kludgy, but there doesn't seem much point in creating
9054         a real var for this.
9055
9056         * config.h.in: put in an entry for QUICK_BUILD; remove NO_DOC_FILE.
9057
9058 2000-04-14  IKEYAMA Tomonori  <tomonori@suiyokai.org>
9059
9060         * redisplay.h (struct display_line): Add a new variable,
9061         line_continuation.
9062
9063         * redisplay.c (create_text_block): Set dl->line_continuation if
9064         the line continues.
9065         (create_string_text_block): Ditto.
9066         (regenerate_window_incrementally): Use line_continuation instead
9067         of searching continuation glyph.
9068         (add_margin_runes): Call add_glyph_rune.
9069         (add_glyph_rune): Handle margin glyph.
9070
9071 2000-04-20  Martin Buchholz  <martin@xemacs.org>
9072
9073         * filelock.c (fill_in_lock_file_name):
9074         ANSIfy.
9075         Check for IS_ANY_SEP instead of '/'.
9076         (lock_file_1):
9077         Avoid generating gratuitous garbage.  Call user_login_name() directly.
9078         Never check errno without first seeing that system call failed.
9079         (unlock_file): Add GCPRO.
9080         (Flock_buffer): Fix docstring.
9081         (Ffile_locked_p): Fix docstring.  Add GCPRO.
9082
9083 2000-04-19  Martin Buchholz  <martin@xemacs.org>
9084
9085         * sysdep.c (get_pty_max_bytes):
9086         Fix hangs on DEC OSF 4.0 when (process-send-string) sends
9087         strings longer than 252 bytes.
9088
9089         * md5.c: Unconditionally include ANSI header <limits.h>
9090
9091         * glyphs-x.c (convert_EImage_to_XImage):
9092         * lisp-union.h (union Lisp_Object):
9093         Use consistently the syntax #ifdef FEATURE, not #if FEATURE.
9094
9095 2000-04-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
9096
9097         * filelock.c (current_lock_owner): Remove unused variable o, p.
9098
9099 2000-04-17  Norbert Koch  <n.koch@eai-delta.de>
9100
9101         * callint.c: Remove multiply defined symbol Qlet
9102         (syms_of_callint): ditto.
9103
9104 2000-04-14  Andy Piper  <andy@xemacs.org>
9105
9106         * general.c (syms_of_general): add last-command, this-command, let
9107         and funcall.
9108
9109         * lisp.h: declare various symbols.
9110
9111         * glyphs.h: declare Qwidget_callback_current_channel;
9112
9113         * glyphs-widget.c (syms_of_glyphs_widget): add
9114         Qgui_callback_current_channel.
9115         (vars_of_glyphs_widget): add Vgui_callback_current_channel.
9116
9117         * gui-msw.c (mswindows_handle_gui_wm_command): bind
9118         widget-callback-current-channel when invoking the interactive
9119         arg. Also bind last-command and next-command when invoking the
9120         widget updates.
9121         * gui-x.c (popup_selection_callback): ditto.
9122
9123         * gui.c (get_gui_callback): massage args so that we are always
9124         calling eval. This allows us to add our own variable bindings
9125         outside.
9126
9127         * glyphs-x.c (x_button_instantiate): use
9128         gui_items_to_widget_values since this is GC safe.
9129         (x_progress_gauge_instantiate): ditto.
9130         (x_edit_field_instantiate): ditto.
9131         (x_label_instantiate): ditto.
9132
9133         * event-Xt.c (emacs_Xt_handle_magic_event): remove old printfs.
9134         (emacs_Xt_event_widget_focus_out): new function
9135         (emacs_Xt_event_widget_focus_in): new function. Set the keyboard
9136         focus.
9137         (emacs_Xt_event_add_widget_actions): new function. add focus
9138         functions as actions.
9139         (init_event_Xt_late): use it.
9140
9141 2000-04-14  Hrvoje Niksic  <hniksic@iskon.hr>
9142
9143         * event-stream.c (Fdispatch_event): Doc fix.
9144
9145 2000-03-29  SL Baur  <steve@musashimaru.m17n.org>
9146
9147         * postgresql.c: Remove all references to PQsetenv*.
9148
9149         * postgresql.h: Remove references to PGsetenvHandler object.
9150         * lrecord.h (lrecord_type): Ditto.
9151
9152 2000-04-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
9153
9154         * glyphs-msw.h (struct mswindows_image_instance_data): Added
9155         real_heigh and real_width members, and accessor macros for these.
9156
9157         * glyphs-msw.c (init_image_instance_geometry): New function.
9158         (init_image_instance_from_dibitmap): Use it.
9159         (mswindows_resource_instantiate): Use it.
9160         (init_image_instance_from_xbm_inline): Use it.
9161         (mswindows_initialize_image_instance_mask): Use real bitmap
9162         geometry.
9163         (mswindows_create_resized_bitmap): Ditto.
9164         (mswindows_create_resized_mask): Ditto.
9165
9166         * redisplay-msw.c (mswindows_output_dibitmap): Stretch real mask
9167         and bitmap to their surface size.
9168
9169 2000-04-11  Jan Vroonhof  <jan@xemacs.org>
9170
9171         * process-unix.c (unix_send_process): Guard against process MIA
9172         after Faccept_process_output.
9173
9174 2000-04-11  Ben Wing  <ben@xemacs.org>
9175
9176         * eval.c (unbind_to_hairy): fix brokenness introduced by
9177         nanosecond speed improvements.
9178
9179 2000-04-07  Raymond Toy  <toy@rtp.ericsson.se>
9180
9181         * sunplay.c (init_device): To play sounds correctly, the device
9182         apparently needs to be initialized at least once by XEmacs.  Make
9183         it so.
9184
9185 2000-04-10  IKEYAMA Tomonori  <tomonori@suiyokai.org>
9186
9187         * redisplay.c (add_margin_runes): Add text image glyph
9188           handling.
9189
9190 2000-04-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
9191
9192         * lisp.h (DOESNT_RETURN): Don't declare as volatile when
9193         gcc is newer than 2.5.
9194
9195 2000-04-06  Colin Rafferty  <colin@xemacs.org>
9196
9197         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF): Created.
9198
9199         * fns.c (size_bit_vector):
9200         * alloc.c (size_vector):
9201         (make_vector_internal):
9202         (make_bit_vector_internal):
9203         (sweep_bit_vectors_1):
9204         Replace calls to offsetof with FLEXIBLE_ARRAY_STRUCT_SIZEOF macro.
9205
9206 2000-04-06  Andy Piper  <andy@xemacs.org>
9207
9208         * gmalloc.c (malloc): undo previous change.
9209         (malloc): ditto.
9210         (free): ditto.
9211         (realloc): ditto.
9212
9213 2000-04-06  IKEYAMA Tomonori <tomonori@suiyokai.org>
9214
9215         * line-number.c (buffer_line_number): Revert to former version.
9216
9217 2000-04-06  Andy Piper  <andy@xemacs.org>
9218
9219         * gmalloc.c (malloc): add error checking.
9220         (malloc): ditto.
9221         (free): ditto.
9222         (realloc): ditto.
9223
9224         * dialog-x.c (dbox_descriptor_to_widget_value): add extra
9225         button_item_to_widget_value arg.
9226
9227         * glyphs-x.c (x_button_instantiate): add extra
9228         button_item_to_widget_value arg.
9229         (x_progress_gauge_instantiate): ditto.
9230         (x_edit_field_instantiate): ditto.
9231         (x_label_instantiate): ditto.
9232
9233         * gui-x.c (gui_items_to_widget_values_1): add extra
9234         button_item_to_widget_value arg.
9235         (button_item_to_widget_value): add extra menu_item_p arg.
9236
9237         * gui-x.h: change signature of button_item_to_widget_value.
9238
9239         * menubar-x.c (menu_item_descriptor_to_widget_value_1): add extra
9240         button_item_to_widget_value arg.
9241
9242 2000-04-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
9243
9244         * buffer.h (struct buffer): auto_save_modified should be long.
9245
9246 2000-04-05  Andy Piper  <andy@xemacs.org>
9247
9248         * glyphs-widget.c (widget_instantiate): pixwidth != pixheight
9249         type.
9250         (button_query_geometry): give a little more room so that athena
9251         buttons fit.
9252
9253 2000-04-05  Andy Piper  <andy@xemacs.org>
9254
9255         * faces.c (complex_vars_of_faces): The widget face should inherit
9256         the font of the gui-element face.
9257
9258 2000-04-04  Andy Piper  <andy@xemacs.org>
9259
9260         * glyphs-x.c (x_button_update): new function. unconditionally
9261         update a button's state when the instance is dirty.
9262         (image_instantiator_format_create_glyphs_x): add x_button_update.
9263         (x_widget_instantiate): remove old resize cruft.
9264
9265 2000-04-02  Andy Piper  <andy@xemacs.org>
9266
9267         * frame.c (change_frame_size_1): The introduction of gutters means
9268         that we need to allow 0 as a potential frame dimension.
9269
9270 2000-04-02  IKEYAMA Tomonori  <tomonori@suiyokai.org>
9271
9272         * redisplay.c (add_glyph_rune): Don't set 0 to bufpos for text
9273         image glyph if allow_cursor.
9274         (add_hscroll_rune): Don't allow cursor to border glyph.
9275         (create_text_block): Ditto.
9276
9277         * redisplay-output.c (redisplay_move_cursor): Do nothing even if
9278         text not in buffer.
9279         (redisplay_output_layout): Call ensure_face_cachel_complete for
9280         text image glyph.
9281
9282
9283 2000-03-16  IKEYAMA Tomonori  <tomonori@suiyokai.org>
9284
9285         * redisplay.c (add_glyph_rune): Adding text image as text runes.
9286
9287         * redisplay-output.c (redisplay_move_cursor): NO_CURSOR if text
9288         not in buffer
9289
9290         * redisplay-tty.c (tty_output_display_block): Delete the routine
9291         for text image glyph
9292         * redisplay-x.c (x_output_display_block): ditto
9293         * redisplay-msw.c (mswindows_output_display_block): ditto
9294
9295 2000-02-02  Mike Alexander  <mta@arbortext.com>
9296
9297         Note: Some of these were committed by accident as part of other
9298         patches.
9299
9300         * regex.c (regex_compile): Avoid compiler warnings.
9301
9302         * ntproc.c (sys_spawnve): Avoid compiler warnings.
9303
9304         * nt.h: Declare term_ntproc correctly.
9305
9306         * nt.c: Remove incorrect declaration of get_home_directory which
9307         is declared correctly in lisp.h.
9308
9309         * keymap.c (get_keyelt): Avoid compiler warnings.
9310         (raw_lookup_key_mapper): Avoid compiler warnings.
9311
9312         * gutter.c (gutter_was_visible): Add return statement to avoid warning.
9313
9314         * glyphs-eimage.c (png_instantiate): Avoid compiler warnings.
9315
9316         * filemode.c (mode_string): Avoid compiler warnings.
9317
9318         * file-coding.c (Fcoding_system_aliasee): Add return statement to
9319         avoid warning.
9320
9321         * events-mod.h: Undef some things that winuser.h defines differently.
9322
9323         * data.c (Faset): Avoid compiler warnings.
9324
9325         * alloc.c (Fmake_byte_code): Avoid compiler warnings.
9326
9327 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
9328
9329         * sound.c (Fplay_sound_file): Wrap ESD in start/stop_interrupts.
9330         Fall through to simple beep on error.
9331         Replace "extern" by real header file.
9332
9333         * linuxplay.c: Use nativesound.h
9334         (play_sound_data): Return error code. Be less verbose on error.
9335
9336         * sunplay.c: Use nativesound.h
9337         (play_sound_data): Return error code. Be less verbose on error.
9338
9339         * ntplay.c: Use nativesound.h
9340         (play_sound_data): Return fake error code
9341
9342         * sgiplay.c: Use nativesound.h
9343         (play_sound_data): Return error code
9344
9345         * hpplay.c: Use nativesound.h, partially implement
9346         new error code. Break compilation until finished.
9347         (play_sound_data): error code.
9348
9349         * nativesound.h (play_sound_file):
9350           (play_sound_data): Prototype in new header.
9351
9352 2000-03-31  Andy Piper  <andy@xemacs.org>
9353
9354         * glyphs-widget.c: (button_query_geometry): new function. Adjust
9355         for toggle and radio buttons.
9356         (image_instantiator_buttons): use it.
9357
9358 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
9359
9360         * scrollbar-x.c (x_update_vertical_scrollbar_callback):
9361         (x_update_horizontal_scrollbar_callback): Return if no mirror was
9362         found. Scrollbar event probably belonged to some old config.
9363
9364 2000-03-31  Andy Piper  <andy@xemacs.org>
9365
9366         * glyphs-widget.c (widget_instantiate): use LAYOUT_VERTICAL rather
9367         than 1.
9368         (initialize_widget_image_instance): default layout to
9369         LAYOUT_HORIZONTAL rather than 0.
9370         (widget_instantiate): reverse the item list at the end rather than
9371         every iteration.
9372         (layout_layout): re-code for the border text at the front of the
9373         item list rather than at the end.
9374         (layout_query_geometry): ditto. Pick up fixed and dynamic sizes
9375         provided by the user.
9376         (widget_query_geometry): comment.
9377
9378 2000-03-30  Andy Piper  <andy@xemacs.org>
9379
9380         * glyphs-widget.c (image_instantiator_layout): allow standard
9381         widget keywords in layouts.
9382
9383         * gutter.c (output_gutter): cope with nil gutter contents.
9384
9385         * frame.c (Fset_frame_properties): add gutter docs.
9386
9387 2000-03-29  Andy Piper  <andy@xemacs.org>
9388
9389         * toolbar-msw.c (TBSTYLE_FLAT): add.
9390         (mswindows_output_toolbar): minor fiddling.
9391
9392 2000-03-29  Andy Piper  <andy@xemacs.org>
9393
9394         * gutter.c (output_gutter): force gutter size recalculation if
9395         what we are trying to display won't fit.
9396         (update_gutter_geometry): new function. A per-gutter version of
9397         update_frame_gutter_geometry.
9398         (update_frame_gutter_geometry): use it.
9399         (redraw_exposed_gutter): add extra debugging output.
9400
9401 2000-03-28  Mike Alexander  <mta@arbortext.com>
9402
9403         * dumper.c: Declare pdump_hFile and pdump_hMap (Windows only)
9404         (pdump_file_unmap): Implement it on Windows
9405         (pdump_file_get): Save alocated handles for pdump_file_unmap
9406
9407 2000-03-28  Andy Piper  <andy@xemacs.org>
9408
9409         * gui.c (get_gui_callback): treat Quit specially.
9410
9411 2000-03-27  Andy Piper  <andy@xemacs.org>
9412
9413         * glyphs.c (image_instantiate): be careful to check in the same
9414         way we assigned.
9415
9416 2000-03-27  Didier Verna  <didier@xemacs.org>
9417
9418         * config.h.in: define the proper SMART_INCLUDE macro.
9419         handle renaming of `foo_h_path' to `foo_h_file'.
9420
9421         * database.c: ditto.
9422
9423         * emacs.c: ditto.
9424
9425         * linuxplay.c: ditto.
9426
9427         * terminfo.c: ditto.
9428
9429         * tooltalk.h: ditto.
9430
9431 2000-03-27  Andy Piper  <andy@xemacs.org>
9432
9433         * glyphs-msw.c (mswindows_update_widget): make sure the widget
9434         gets updated whenever the face might have changed.
9435
9436 2000-03-26  Mike Alexander  <mta@arbortext.com>
9437
9438         * dumper.c (pdump_resource_free): Fix the comment.
9439
9440 2000-03-21  Olivier Galibert  <galibert@pobox.com>
9441
9442         * input-method-xlib.c (XIM_init_frame): Remove painful warning.
9443
9444 2000-03-22  Mike Alexander  <mta@arbortext.com>
9445
9446         * dumper.c: Include Windows headers on Windows
9447         (pdump_resource_free): Add a body to the function
9448         (pdump_load): exe_name -> exe_path and add some comments.
9449
9450 2000-03-25  Mike Alexander  <mta@arbortext.com>
9451
9452         * gui.c (copy_gui_item_tree): Return a value in all cases
9453
9454 2000-03-21  Didier Verna  <didier@xemacs.org>
9455
9456         * config.h.in: move INCLUDE_GLUE_1 and INCLUDE_GLUE_2 here from
9457         lwlib/config.h.in.
9458         (SMART_INCLUDE): new macro.
9459         (POSTGRES_INCLUDE): new macro to include postgresql headers from
9460         the proper location.
9461
9462         * postgresql.c: use it.
9463
9464         * inline.c: ditto.
9465
9466 2000-03-24  Andy Piper  <andy@xemacs.org>
9467
9468         * gutter.c (redraw_exposed_gutters): must be "in display" when we
9469         do this.
9470
9471 2000-03-24  Andy Piper  <andy@xemacs.org>
9472
9473         * redisplay-output.c (compare_runes): use image_instance_changed
9474         to detect changes. Do not depend on glyphs_changed, only depend on
9475         dirtiness.
9476          (redisplay_output_layout): add debug messages.
9477         (compare_runes): ditto.
9478
9479         * glyphs.h: declare new functions.
9480         (struct Lisp_Image_Instance): remove percent and associated
9481         accessors.
9482
9483         * gui.h: declare new copying functions.
9484
9485         * gui.c (copy_gui_item_tree): new function.
9486         (copy_gui_item): new function.
9487         (gui_item_id_hash): revert to standard hash.
9488         (gui_item_hash): ditto.
9489         (gui_item_hash_internal): deleted.
9490         (mark_gui_item): mark value.
9491         (gui_item_add_keyval_pair): add value.
9492         (gui_item_init): ditto.
9493         (gui_add_item_keywords_to_plist): ditto.
9494         (gui_item_equal): ditto.
9495         (syms_of_gui): add Q_value.
9496
9497         * glyphs-x.c (x_progress_gauge_update): use pending items and
9498         value for setting the state.
9499         (x_update_widget): don't set items from pending here.
9500
9501         * glyphs-widget.c (update_widget): update items here.
9502         (progress_gauge_set_property): use items for storing value. Put
9503         new value in pending items.
9504
9505         * glyphs-msw.c (mswindows_progress_gauge_update): use pending
9506         items for new value. Convert percent -> value.
9507         (mswindows_tab_control_update): don't update items here.
9508
9509         * glyphs.c (Fupdate_widget_instances): use image_instance_changed.
9510         (update_subwindow): ditto.
9511         (image_instance_changed): new function. Compare hash values and
9512         past and present widget items.
9513         (image_instantiate): We more careful about where we instantiate
9514         things.
9515         (image_instantiate): add error checking.
9516
9517         * gutter.c (syms_of_gutter): use -hook.
9518
9519 2000-03-20  Yoshiki Hayashi  <yoshiki@xemacs.org>
9520
9521         * console-tty.c (Fset_console_tty_input_coding_system): Use
9522         Qkeyboard.
9523         (Fset_console_tty_output_coding_system): Use Qterminal.
9524         (tty_init_console): Use Qkeyboard and Qterminal.
9525
9526 2000-03-21  Ben Wing  <ben@xemacs.org>
9527
9528         * ntproc.c (create_child): remove bogus HAVE_NTGUI's.
9529         From Mike Alexander <mta@arbortext.com>.
9530
9531 2000-03-21  Ben Wing  <ben@xemacs.org>
9532
9533         * event-msw.c (mswindows_need_event): Horrible kludge to fix
9534         process brokenness.  Proper implementation to come.
9535         * callproc.c:
9536         Rename call-process-internal to old-call-process-internal.
9537         New impl. in process.el.
9538
9539 2000-03-21  Martin Buchholz  <martin@xemacs.org>
9540
9541         * Makefile.in.in: Coalesce HAVE_NATIVE_SOUND code fragments.
9542
9543 2000-03-20  Andy Piper  <andy@xemacs.org>
9544
9545         * glyphs.c (full_list_hash): make hashes of the same elements in
9546         different orders return different values.
9547
9548 2000-03-20  Martin Buchholz <martin@xemacs.org>
9549
9550         * XEmacs 21.2.32 is released.
9551
9552 2000-03-20  Martin Buchholz  <martin@xemacs.org>
9553
9554         * buffer.h (DFC_ALLOCA_USE_CONVERTED_DATA):
9555         (DFC_MALLOC_USE_CONVERTED_DATA):
9556         Add aliasing-safe casts to allow use with char* or unsigned char*
9557         lvalues.
9558
9559         * eldap.c (Fldap_open):
9560         (Fldap_search_basic):
9561         (Fldap_add):
9562         (Fldap_modify):
9563         Make C++-compilable.
9564         Make sure GCPRO'ed variables are initialized.
9565         Use temp variables to avoid repeated calls to Flength.
9566
9567 2000-03-16  Martin Buchholz  <martin@xemacs.org>
9568
9569         * sysfile.h:
9570         Make sure PATH_MAX is always defined.
9571         Include limits.h for PATH_MAX.
9572         Deprecate use of MAXPATHLEN.
9573
9574 2000-03-10  Martin Buchholz  <martin@xemacs.org>
9575
9576         * emacs.c: Add reinit_vars_of_fileio.
9577         * symsinit.h: Add reinit_vars_of_fileio.
9578         * fileio.c (reinit_vars_of_fileio): New.
9579         * fileio.c (Fmake_temp_name):
9580         Initialize temp_name random number from microseconds to make
9581         collisions even less likely.  Initialize always at process startup
9582         time.  (make-temp-name) used to return the same file name twice in
9583         a row when PDUMP.
9584         Random stylistic fiddling.
9585         Comment fixes.
9586
9587 2000-03-20  Andy Piper  <andy@xemacs.org>
9588
9589         * glyphs.c (image_instantiate): allow text glyphs to be
9590         instantiated in the minibuffer window.
9591
9592 2000-03-19  Andy Piper  <andy@xemacs.org>
9593
9594         * glyphs.c (image_instance_hash): be careful about which items we
9595         hash on.
9596
9597         * glyphs-widget.c (tab_control_set_property): record into pending
9598         items rather than the actual items.
9599
9600         * glyphs-x.c (x_update_widget): use pending items to update with.
9601
9602         * glyphs-msw.c (mswindows_tab_control_update): use pending items
9603         to update with.
9604
9605         * glyphs.c (mark_image_instance): mark pending items.
9606
9607         * window.c (Fset_window_configuration): record the buffer.
9608         (Fselect_window): totally revert previous change which breaks many
9609         things.
9610
9611 2000-03-18  Andy Piper  <andy@xemacs.org>
9612
9613         * glyphs-msw.c (mswindows_tab_control_update): force selected
9614         item.
9615
9616         * glyphs.c (image_instantiate): don't allow the minibuffer as a
9617         window domain cache, otherwise we get inconsistencies at
9618         startup. There is something fishy at startup which can lead to the
9619         minibuffer being the selected window when the gutter content is
9620         instantiated.
9621
9622         * gui.c (parse_gui_item_tree_list): add probably unnecessary
9623         gcpros.
9624         (parse_gui_item_tree_children): ditto.
9625         (parse_gui_item_tree_item): ditto.
9626
9627         * glyphs.c (Fupdate_widget_instances): return something.
9628
9629 2000-03-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
9630
9631         * window.c (Fselect_window): Undo 2000-03-17 change.
9632
9633 2000-03-17  SL Baur  <steve@musashimaru.m17n.org>
9634
9635         * postgresql.c (Fpq_setenv): Remove this turkey when linking
9636         against v7.0 libraries.  Insta-coredump city until the postgres
9637         folks fix it.
9638
9639 2000-03-17  Andy Piper  <andy@xemacs.org>
9640
9641         * faces.c (complex_vars_of_faces): don't give the widget face an
9642         inherited background pixmap.
9643
9644         * glyphs-msw.c (mswindows_tab_control_instantiate): select the
9645         selected item.
9646
9647         * event-stream.c (Fdispatch_non_command_events): return something.
9648
9649         * gutter.c (output_gutter): use widget face.
9650         (clear_gutter): ditto.
9651
9652         * NEWS: adjust again.
9653
9654         * window.c (Fselect_window): make sure this runs to completion to
9655         avoid oddities with Fset_window_configuration.
9656         (Fcurrent_window_configuration): in general do not save the
9657         minibuffer as the selected window.
9658
9659         * glyphs.h (IMAGE_INSTANCE_HASH_DEPTH): increase.
9660
9661 2000-03-16  Olivier Galibert  <galibert@pobox.com>
9662
9663         * emacs.c (Frunning_temacs_p): Revert previous patch.
9664         (main_1): Reinitialize running_temacs_argc if pdump_load succeeds.
9665
9666 2000-03-16  Andy Piper  <andy@xemacs.org>
9667
9668         * glyphs-x.c (x_tab_control_update): if no widget values then
9669         return.
9670
9671         * NEWS: update for new features.
9672
9673         * event-Xt.c (emacs_Xt_force_event_pending): new function. Post a
9674         synthetic event to the native system.
9675         (reinit_vars_of_event_Xt): set force_event_pending to
9676         emacs_Xt_force_event_pending.
9677
9678         * events.h (struct event_stream): add force_event_pending.
9679
9680         * specifier.c (recompute_one_cached_specifier_in_window): add
9681         comment.
9682
9683         * redisplay.c (redisplay_frame): don't call
9684         update_frame_subwindows. Reset subwindow cachels when
9685         subwindows_changed, removing this was an optimization too far.
9686
9687         * redisplay-output.c (compare_runes): reorganize so that we catch
9688         glyph changes when we want them. Set optimize_output when this
9689         would help layouts.
9690         (redisplay_output_layout): remove frame_really_changed, use
9691         optimize_output instead.
9692
9693         * redisplay-msw.c (mswindows_output_display_block): reset
9694         optimize_output after outputting a glyph.
9695         * redisplay-x.c (x_output_display_block): ditto.
9696         * redisplay-tty.c (tty_output_display_block): ditto.
9697
9698         * gutter.c: (specifier_vars_of_gutter): use new spec changed
9699         functions.
9700         (gutter_specs_changed): do specific gutter positions.
9701         (top_gutter_specs_changed): new function. Only update the
9702         specified gutter specs.
9703         (bottom_gutter_specs_changed): ditto.
9704         (left_gutter_specs_changed): ditto.
9705         (right_gutter_specs_changed): ditto.
9706
9707         * gui.c (gui_item_hash_internal): new function, does a real hash.
9708         (gui_item_id_hash): use it.
9709         (gui_item_hash): hash the eval'ed gui_item.
9710
9711         * gui-x.c (popup_selection_callback): send an eval event to call
9712         Fupdate_widget_instances.
9713
9714         * gui-msw.c (mswindows_handle_gui_wm_command): send an eval event
9715         to call Fupdate_widget_instances.
9716
9717         * glyphs.h (struct Lisp_Image_Instance): add optimize_output flag.
9718         (IMAGE_INSTANCE_OPTIMIZE_OUTPUT): access it.
9719
9720         * glyphs.c: (update_frame_subwindows): deleted.
9721         (Fupdate_widget_instances): new function for updating the dirty
9722         state of widgets that might have changed.
9723         (syms_of_glyphs): add Qupdate_widget_instances.
9724         (full_list_hash): hash a list completely.
9725         (image_instance_hash): use it for items and properties.
9726
9727         * frame-msw.c (mswindows_size_frame_internal): remove unused
9728         variable.
9729
9730         * faces.h (struct face_cachel): fix comment.
9731
9732         * event-stream.c (Fdispatch_non_command_events): new
9733         function. Process non-command events, forcing an event cycle
9734         beforehand.
9735         (syms_of_event_stream): declare.
9736         (event_stream_force_event_pending): new function. Force an event
9737         on the native event queue so that an event cycle will occur next
9738         time we check.
9739
9740         * event-msw.c:
9741         (struct ntpipe_shove_stream):
9742         (mswindows_enqueue_dispatch_event):
9743         (mswindows_dequeue_dispatch_event):
9744         (mswindows_cancel_dispatch_event):
9745         (mswindows_pump_outstanding_events):
9746         (mswindows_drain_windows_queue):
9747         (mswindows_handle_paint):
9748         (mswindows_wnd_proc):
9749         (mswindows_key_to_emacs_keysym):
9750         (get_process_input_waitable):
9751         (emacs_mswindows_delete_stream_pair): re-indent file.
9752         (mswindows_need_event): do not process further fds if the windows
9753         fd is set, otherwise you get endless XM_BUMPQUEUE cycles. This
9754         fixes the 100% cpu problem.
9755         (reinit_vars_of_event_mswindows): set force_event_pending to 0.
9756
9757 2000-03-15  Olivier Galibert  <galibert@pobox.com>
9758
9759         * alloc.h: New.
9760         * dumper.h: New.
9761         * dumper.c: New.
9762
9763         * emacs.c: Moved dump file searching to dumper.c.
9764         (Frunning_temacs_p): Fixed.
9765
9766         * alloc.c: Moved everything pdump-related to dumper.c.  Removed
9767         last_lrecord_type_index_assigned.
9768
9769 2000-02-20  Olivier Galibert  <galibert@pobox.com>
9770
9771         * symsinit.h: Added reinit parameter to init_console_stream
9772         declaration.
9773
9774         * lisp.h: Added file parameter to pdump_load declaration.
9775
9776         * emacs.c (main_1): Added -nd/--nodump-file and -sd/--show-dump-id
9777         support.  Added dump file searching.
9778
9779         * config.h.in: Added EMACS_PROGNAME.
9780
9781         * console-stream.c (init_console_stream): Fix reinitialisation
9782         when running from temacs.
9783
9784         * alloc.c (pdump): Add id support.
9785         (pdump_load): Add file parameter and signature/id support.
9786
9787         * Makefile.in.in: Add full pdump support.
9788
9789 2000-03-15  SL Baur  <steve@musashimaru.m17n.org>
9790
9791         * postgresql.c: Update documentation to reflect latest code
9792         status.
9793         (print_result): Show tuple counts in printed representation when
9794         appropriate.
9795         (Fpq_put_nbytes): MULE-ize.
9796         (Fpq_get_line_async): Ditto.
9797
9798 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
9799
9800         * postgresql.c (Fpq_lo_import): Fix return value.
9801         Suggested by: Kenji Itoh <keit@tpj.co.jp>.
9802
9803 2000-03-13  Ben Wing  <ben@xemacs.org>
9804
9805         * alloc.c (pdump_load):
9806         Fix compile warning under mswin.
9807
9808 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
9809
9810         * postgresql.c: Mule-ization, bug fixes.
9811         Use PG_CODING to encapsulate coding system name changes.
9812         Backport a version of TO_EXTERNAL format for 21.1/InfoDock.
9813         (pg-coding-system): Create.
9814
9815         (Fpq_conn_defaults): Mule-ize.
9816         (Fpq_connectdb): Mule-ize & bug fix.
9817         (Fpq_connect_start): Mule-ize.
9818         (Fpq_set_client_encoding): Mule-ize.
9819         (Fpq_finish): Document `DEAD' connection status.
9820         (Fpq_clear): Ditto.
9821         (Fpq_pgconn): Mule-ize.
9822         (Fpq_exec): Mule-ize & bug fix.
9823         (Fpq_send_query): Ditto.
9824         (Fpq_get_result): Ditto.
9825         (Fpq_res_status): Mule-ize.
9826         (Fpq_result_error_message): Mule-ize.
9827         (Fpq_ntuples): fix comments.
9828         (Fpq_fname): Mule-ize.
9829         (Fpq_fnumber): Mule-ize.
9830         (Fpq_ftype): fix comments.
9831         (Fpq_get_value): Mule-ize.
9832         (Fpq_cmd_status): Ditto.
9833         (Fpq_cmd_tuples): Ditto.
9834         (Fpq_oid_value): Ditto.
9835         (Fpq_notifies): Ditto.
9836         (Fpq_lo_import): Ditto.
9837         (Fpq_lo_export): Ditto.
9838         (Fpq_get_line): Ditto.
9839         (Fpq_put_line): Mule-ize and bug fix.
9840         (syms_of_postgresql): Fix ifdef'ing, add pg-coding-system.
9841
9842 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
9843
9844         * postgresql.c (vars_of_postgresql): Mule-ize.
9845         (Fpq_conn_defaults): Ditto.
9846
9847 2000-03-12  Ben Wing  <ben@xemacs.org>
9848
9849         * alloc.c (Fmake_byte_code):
9850         * alloc.c (debug_string_purity_print):
9851         * alloc.c (pdump_backtrace):
9852         * alloc.c (pdump_get_indirect_count):
9853         * alloc.c (pdump_register_sub):
9854         * alloc.c (pdump_register_object):
9855         * alloc.c (pdump_register_struct):
9856         * alloc.c (pdump_dump_data):
9857         * alloc.c (pdump_reloc_one):
9858         Minor cleanups.
9859
9860         * console-msw.c:
9861         * console-msw.c (GetConsoleHwnd):
9862         * console-msw.c (msw_hide_console):
9863         * console-msw.c (msw_show_console):
9864         * console-msw.c (msw_ensure_console_buffered):
9865         * console-msw.c (msw_output_console_string):
9866         * console-msw.c (console_type_create_mswindows):
9867
9868         a) Added functions to manipulate the console window for use with
9869         shell support.
9870
9871         b) Added support for writing text to the console, which is now
9872         used under Windows when xemacs is not being run non-interactively,
9873         to write text that would otherwise be destined for stdout because
9874         under these circumstances, text written to stdout tends to
9875         disappear and not be seen.
9876
9877         * console-msw.h:
9878         * event-Xt.c:
9879         * event-Xt.c (x_event_to_emacs_event):
9880         * event-Xt.c (describe_event_window):
9881         * events-mod.h (XEMACS_MOD_CONTROL):
9882         * events.c:
9883         * events.c (Fmake_event):
9884         * events.c (character_to_event):
9885         * events.c (event_to_character):
9886         * events.c (format_event_object):
9887         * events.c (Fevent_modifiers):
9888         * events.h:
9889         * events.h (struct key_data):
9890         * events.h (struct button_data):
9891         * events.h (struct misc_user_data):
9892         * frame-x.c (Fcde_start_drag_internal):
9893         * frame-x.c (Foffix_start_drag_internal):
9894         * gpmevent.c (Freceive_gpm_event):
9895         * keymap.c:
9896         * keymap.c (bucky_sym_to_bucky_bit):
9897         * keymap.c (control_meta_superify):
9898         * keymap.c (make_key_description):
9899         * keymap.c (keymap_lookup_directly):
9900         * keymap.c (create_bucky_submap):
9901         * keymap.c (keymap_store):
9902         * keymap.c (define_key_check_and_coerce_keysym):
9903         * keymap.c (define_key_parser):
9904         * keymap.c (define_key_alternate_name):
9905         * keymap.c (Fdefine_key):
9906         * keymap.c (raw_lookup_key_mapper):
9907         * keymap.c (struct map_keymap_unsorted_closure):
9908         * keymap.c (map_keymap_unsorted_mapper):
9909         * keymap.c (map_keymap_sort_predicate):
9910         * keymap.c (map_keymap_sorted):
9911         * keymap.c (accessible_keymaps_mapper_1):
9912         * keymap.c (where_is_recursive_mapper):
9913         * keymap.c (describe_map_mapper):
9914         * keymap.c (describe_map_sort_predicate):
9915         * keymap.c (describe_map):
9916         * keymap.c (complex_vars_of_keymap):
9917         And a number of other files, the key modifier preprocessor
9918         constants that xemacs uses have names that conflict with constants
9919         defined under MS Windows for other purposes, so they were renamed
9920         to begin with the prefix XEMACS_. The variables that hold such
9921         modifiers were changed to consistently be of type int to fix
9922         various compile warnings.
9923
9924         * console.c (complex_vars_of_console):
9925         * device.c:
9926         * device-msw.c:
9927         * device-msw.c (mswindows_finish_init_device):
9928         * device-msw.c (msw_get_workspace_coords):
9929         * device-msw.c (mswindows_device_system_metrics):
9930         and various other files, added support for a new
9931         device property called offset-workspace which returns the position
9932         of the upper left corner of the workspace area and goes along with
9933         the existing size-workspace property.
9934
9935         * dialog-msw.c:
9936         * dialog-msw.c (push_bufbyte_string_as_unicode):
9937         * dialog-msw.c (mswindows_popup_dialog_box):
9938         Added support for XEmacs-style accelerator specifications in
9939         button text.  Note: I didn't add support for this under X Windows,
9940         and somebody needs to do this.
9941
9942         * dialog.c:
9943         * dialog.c (Fpopup_dialog_box):
9944         Documented the support for accelerators that was just mentioned.
9945
9946         editfns.c (get_home_directory): Changed behavior under Windows
9947         when HOME not defined; former behavior was irretrievably broken.
9948
9949         * emacs.c:
9950         * emacs.c (main_1):
9951         * emacs.c (main):
9952         * minibuf.c (clear_echo_area_internal):
9953         * minibuf.c (echo_area_append):
9954         * print.c:
9955         * print.c (std_handle_out_external):
9956         * print.c (std_handle_out_va):
9957         * print.c (fatal):
9958         * print.c (write_string_to_stdio_stream):
9959         * print.c (output_string):
9960         * print.c (debug_print):
9961         * print.c (debug_backtrace):
9962         * print.c (debug_short_backtrace):
9963         Cleaned up the code that prints text to stdout so that this can be
9964         changed to output into a console window instead under MS Windows,
9965         as described above.
9966
9967         * eval.c:
9968         * eval.c (DEFEND_AGAINST_THROW_RECURSION):
9969         * eval.c (internal_catch):
9970         * eval.c (unwind_to_catch):
9971         * eval.c (throw_or_bomb_out):
9972         * eval.c (condition_case_1):
9973         * eval.c (signal_1):
9974         * eval.c (check_error_state_sanity):
9975         * eval.c (call_with_suspended_errors_1):
9976         * eval.c (call_with_suspended_errors):
9977         * eval.c (reinit_vars_of_eval):
9978         Added code to catch throw loops and check for a pesky bug that may
9979         be gone now.
9980
9981         * event-msw.c:
9982         * event-msw.c (key_needs_default_processing_p):
9983         * event-msw.c (mswindows_wnd_proc):
9984         * event-msw.c (mswindows_modifier_state):
9985         * event-msw.c (emacs_mswindows_quit_p):
9986         * event-msw.c (vars_of_event_mswindows):
9987         a) Added support for using the alt key to select menu items as is
9988         standard under MS Windows.  This is controlled using the variable
9989         menu-accelerator-enabled, just like under X Windows.  There is an
9990         option on the options menu to turn this support on.  I really
9991         think that it should be on by default under Windows, but I'm not
9992         going to make this change yet.
9993
9994         b)  Added support for dynamic display size changes under Windows.
9995
9996         * event-stream.c:
9997         * event-stream.c (maybe_echo_keys):
9998         * event-stream.c (Fnext_event):
9999         * event-stream.c (command_builder_find_leaf):
10000         * event-stream.c (lookup_command_event):
10001         * event-stream.c (execute_command_event):
10002         * event-stream.c (pre_command_hook):
10003         * event-stream.c (post_command_hook):
10004         * event-stream.c (syms_of_event_stream):
10005         * event-stream.c (vars_of_event_stream):
10006         * event-stream.c (complex_vars_of_event_stream):
10007         * events.h (struct command_builder):
10008
10009         a) Tried to clean up a little bit the horribly written x-specific
10010         accelerator code that crept into this file.  I moved this code
10011         into menubar-x.c where it belongs. I also needed to move the
10012         command builder structure into the file events.h because it is
10013         accessed directly by this accelerator code.  What I didn't do, but
10014         which should be done at some point, is to properly abstract this
10015         code using device methods instead of the kludgy way that it
10016         currently hooks into the event code.
10017
10018         b) Added the lisp variables this-command-properties and
10019         last-command- properties, which should be used to synchronize two
10020         adjacent commands in preference to playing games with the variable
10021         this-command, which is typically what happens.
10022
10023         c) Added some slightly nasty code to hook into the lisp support
10024         for shifted- motion-key selection.  This is actually necessary for
10025         somewhat complicated reasons, which are described in
10026         simple.el. (NB: I think the proper thing would be to have the code
10027         that calls the pre and post command hooks also call out to generic
10028         lisp functions in simple.el, where all built-in stuff could be
10029         added.  I will think about this more.)
10030
10031         * event-unixoid.c (poll_fds_for_input):
10032         * lread.c (readchar):
10033         * redisplay-tty.c (tty_clear_frame):
10034         * redisplay-x.c (x_get_gc):
10035         * signal.c (interrupt_signal):
10036         And a whole bunch of other files: fixed up places that printed
10037         directly to stderr to instead call the function stderr_out so that
10038         the changes I made under Windows work correctly.
10039
10040         * filemode.c (mode_string):
10041         Warning fixes.
10042
10043         * frame-msw.c:
10044         * frame-msw.c (mswindows_size_frame_internal):
10045         Fixed the computation of frame size and position to keep the frame
10046         within the workspace area, rather than within the physical
10047         dimensions of the screen, so that the frame doesn't overlap window
10048         manager decorations, such as the start menu and toolbar, typically
10049         at the bottom of the screen.
10050
10051         * frame.c (vars_of_frame):
10052         Changed the default frame title format under MS Windows to consist
10053         of buffername-XEmacs, which is standard under MS Windows.  I think
10054         it might be a good idea to change this everywhere because I think
10055         it is superior to the current frame title format, but this is the
10056         kind of change that is likely to cause some people to get annoyed,
10057         so I'm not making it.
10058
10059         * glyphs-eimage.c (png_instantiate): Fixed some compile warnings.
10060
10061         * gui-msw.c (mswindows_handle_gui_wm_command):
10062         Fixed compile warnings.
10063
10064         * gui-x.c:
10065         * gui-x.c (strdup_and_add_accel):
10066         * gui-x.c (button_item_to_widget_value):
10067         * gui-x.h:
10068         Added code to automatically put an accelerator onto the beginning
10069         of menu items that don't have one as is now the standard, and is
10070         described more later.  Also fixed things so that the menu item
10071         name can be an evaluated expression, again a new standard.
10072
10073         * gui.c:
10074         * gui.c (gui_item_add_keyval_pair):
10075         * gui.c (make_gui_item_from_keywords_internal):
10076         * gui.c (gui_add_item_keywords_to_plist):
10077         * gui.c (gui_item_accelerator):
10078         * gui.c (gui_name_accelerator):
10079         * gui.c (gui_item_included_p):
10080         * gui.c (gui_item_display_flush_left):
10081         * gui.c (gui_item_display_flush_right):
10082         * gui.c (parse_gui_item_tree_item):
10083         * gui.c (parse_gui_item_tree_children):
10084         * gui.c (parse_gui_item_tree_list):
10085         Mule-ized.  Cleanup.  GCPRO addition.
10086
10087         * line-number.c (buffer_line_number):
10088         * lisp.h:
10089         * lisp.h (EMACS_INT_MAX):
10090         Added the manifest constant EMACS_INT_MIN corresponding to the
10091         existing constant EMACS_INT_MAX.  This is partially to fix compile
10092         warnings under Windows, and partly for cleanliness.
10093
10094         * menubar-msw.c:
10095         * menubar-msw.c (REPLACE_ME_WITH_GLOBAL_VARIABLE_WHICH_CONTROLS_RIGHT_FLUSH):
10096         * menubar-msw.c (msw_translate_menu_or_dialog_item):
10097         * menubar-msw.c (displayable_menu_item):
10098         * menubar-msw.c (populate_menu_add_item):
10099         * menubar-msw.c (populate_or_checksum_helper):
10100         * menubar-msw.c (populate_menu):
10101         * menubar-msw.c (update_frame_menubar_maybe):
10102         * menubar-msw.c (prune_menubar):
10103         * menubar-msw.c (msw_char_is_accelerator):
10104         * menubar-msw.c (unsafe_handle_wm_initmenu_1):
10105         * menubar-msw.c (mswindows_handle_wm_command):
10106         * menubar-msw.c (mswindows_handle_wm_initmenupopup):
10107         * menubar-msw.c (mswindows_handle_wm_initmenu):
10108         * menubar-msw.c (mswindows_update_frame_menubars):
10109         * menubar-msw.c (mswindows_free_frame_menubars):
10110         * menubar-msw.c (mswindows_popup_menu):
10111         Fixed a bug in handling accelerators where an extra character
10112         would be displayed in the menu item.  Also generalized the
10113         function displayable_menu_item because it is now used by the
10114         dialog box code as well.  And finally, added code in the functions
10115         that create the menubar to extract a list of accelerators for the
10116         top level menubar, which is used in the event code to determine
10117         whether a particular alt-key combination should be used to invoke
10118         a menu item, or should be passed through to access the standard
10119         XEmacs keymap binding for this key combination.
10120
10121         Much needed GCPROing.
10122
10123         * menubar-x.c:
10124         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
10125         * menubar-x.c (menu_item_descriptor_to_widget_value):
10126         * menubar-x.c (restore_in_menu_callback):
10127         * menubar-x.c (x_popup_menu):
10128         * menubar-x.c (menu_move_up):
10129         * menubar-x.c (menu_move_down):
10130         * menubar-x.c (menu_move_left):
10131         * menubar-x.c (menu_move_right):
10132         * menubar-x.c (menu_select_item):
10133         * menubar-x.c (command_builder_operate_menu_accelerator):
10134         * menubar-x.c (menu_accelerator_junk_on_error):
10135         * menubar-x.c (command_builder_find_menu_accelerator):
10136         * menubar-x.c (Faccelerate_menu):
10137         * menubar.h:
10138         Moved a whole bunch of code here that was previously in
10139         event-stream.c as described above.  There is also code connected
10140         to the new standard of adding an accelerator to the beginning of
10141         menu items that don't have one as described above and below.
10142
10143         * menubar.c:
10144         * menubar.c (menu_parse_submenu_keywords):
10145         * menubar.c (Fmenu_find_real_submenu):
10146         * menubar.c (Fnormalize_menu_item_name):
10147         * menubar.c (syms_of_menubar):
10148         * menubar.c (vars_of_menubar):
10149         * menubar.c (complex_vars_of_menubar):
10150
10151         a) Cleaned up a bunch of documentation and improved it.
10152
10153         b) XEmacs now automatically adds an accelerator onto the beginning
10154         of any menu items that don't have one.  I did this because there
10155         will inevitably be some menu items on the main menubar that don't
10156         have accelerators on them because the package that adds that
10157         particular menu item hasn't yet been fixed up to have accelerators
10158         in them and it looked rather strange to have some items with and
10159         some items without accelerators, especially since even in items
10160         without accelerators, you can, at least under windows, still
10161         access the item through an accelerator corresponding to the first
10162         character in the item's name.  If people don't like this behavior,
10163         I can add a variable to turn it off optionally, but I'm not sure
10164         this is a good idea because we really do need to have accelerators
10165         on all of the menu items, and if a package doesn't like the
10166         accelerators being put on the first character, then it should put
10167         the accelerators where they belong.
10168
10169         c) I made a behavior change, which is that the descriptor that
10170         specifies the text of the menu item, which formerly was just a
10171         string, can now also be an evaluated expression.  This makes this
10172         descriptor parallel with all of the others, which could also be
10173         evaluated expressions.  This also obviates the need for the
10174         keyword :label, which was previously listed in the documentation
10175         as unimplemented, and which was for the same purpose.
10176
10177         d) GCPROing.
10178
10179         * ntproc.c:
10180         * ntproc.c (new_child):
10181         * ntproc.c (sys_spawnve):
10182         * ntproc.c (find_child_console):
10183         * ntproc.c (sys_kill):
10184         Fixed compile warnings.  By the way, this file should really go
10185         away entirely, and this will happen as soon as Kirill makes his
10186         final round of process cleanups, which affect the function
10187         call-process.
10188
10189         * process-nt.c:
10190         * process-nt.c (struct nt_process_data):
10191         * process-nt.c (find_process_from_pid):
10192         * process-nt.c (send_signal_the_nt_way):
10193         * process-nt.c (enable_child_signals):
10194         * process-nt.c (find_child_console):
10195         * process-nt.c (send_signal_the_95_way):
10196         * process-nt.c (nt_finalize_process_data):
10197         * process-nt.c (ensure_console_window_exists):
10198         * process-nt.c (nt_create_process):
10199         * process-nt.c (nt_kill_child_process):
10200         * process-nt.c (nt_kill_process_by_pid):
10201         * process-nt.c (nt_open_network_stream):
10202         * process-nt.c (vars_of_process_nt):
10203         Copied over code from Emacs 20.5 to correctly send signals to sub-
10204         processes under Windows 95.  Also added code to automatically
10205         create and hide console window when a sub-process is created under
10206         Windows 95, which obviates the need for the separate runemacs.exe
10207         executable, and finally implemented some variables that were
10208         implemented in Emacs 20.5, but previously not in XEmacs.  These
10209         include mswindows- start-process-share-console and
10210         mswindows-start-process-inherit-error-mode. (Both of these only
10211         apply to Windows 95.)
10212
10213         * regex.c (regex_compile): Fixed a compile warning.
10214
10215         * select-msw.c:
10216         * select-msw.c (mswindows_own_selection):
10217         * select-msw.c (mswindows_get_foreign_selection):
10218         * select-msw.c (mswindows_disown_selection):
10219         * select-msw.c (console_type_create_select_mswindows):
10220         * select-msw.c (syms_of_select_mswindows):
10221         Cleaned up the file and implemented the device method
10222         selection_exists_p, which had accidentally been left out.  Also
10223         removed four lisp functions that were remnants from before the
10224         time when the selection code was properly device abstracted.
10225         These functions are no longer needed because there are generic
10226         equivalents, and because they were added recently and don't exist
10227         in FSF Emacs, I don't think there's any problem with just deleting
10228         them.
10229
10230         * sysdep.c:
10231         * sysdep.c (sys_subshell):
10232         Fixed a compile warning, although in this case there's probably
10233         something wrong with this code, and it ought to be looked into
10234         more thoroughly by somebody who understands it.
10235
10236         * window.c:
10237         * window.c (Fwindow_text_area_height):
10238         * window.c (Fwindow_width):
10239         * window.c (Fwindow_full_width):
10240         * window.c (Fwindow_pixel_width):
10241         * window.c (debug_print_window):
10242         * window.c (syms_of_window):
10243         Added functions window-text-area-height and window-full-width,
10244         which are functions for returning various width and height
10245         characteristics of a window. (One of these functions is necessary
10246         for making the file dialog box work correctly, and the other one
10247         was added for completeness.)  Also added a table to the
10248         documentation for window-height which describes the entire scheme
10249         for accessing width and height characteristics of a window.
10250
10251 2000-03-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10252
10253         * nt.c (fstat): Added a comment for another problem with
10254         non-encapsulated [f]stat(), reported by Adrian Aichner
10255         <aichner@ecf.teradyne.com>.
10256
10257 2000-03-11  Andy Piper  <andy@xemacs.org>
10258
10259         * window.c (make_dummy_parent): initialize subwindow instance
10260         cache.
10261         (Fset_window_configuration): zero extent_modiff.
10262
10263 2000-03-10  Andy Piper  <andy@xemacs.org>
10264
10265         * redisplay.c (Fredraw_frame): reset the changed_set flags so that
10266         more changes can be triggered.
10267         (Fredisplay_frame): ditto.
10268         (Fredraw_device): ditto.
10269         (Fredisplay_device): ditto.
10270         (redisplay_frame): make non-static.
10271         (redisplay_frame): call update_frame_gutter_geometry outside of
10272         display proper.
10273
10274         * gutter.h: declare update_frame_gutter_geometry.
10275
10276         * redisplay.h: declare redisplay_frame.
10277
10278         * gutter.c (update_frame_gutter_geometry): move geometry changes
10279         in update_frame_gutters here. Geometry changes can only occur
10280         outside of redisplay.
10281         (update_frame_gutters): remove geometry change code.
10282         (Fredisplay_gutter_area): make sure that we are in display when we
10283         update and that we have flushed any size changes.
10284
10285 2000-03-11  Andy Piper  <andy@xemacs.org>
10286
10287         * alloc.c (pdump_dump_data): remove i & count shadows.
10288
10289 2000-02-27  Mike Alexander  <mta@arbortext.com>
10290
10291         * sysdep.h: Declare pdump_read_file
10292
10293         * sysdep.c (pdump_read_file): New function
10294
10295         * alloc.c (pdump_load): Call pdump_read_file to get the portable
10296         dump data
10297
10298 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
10299
10300         * lrecord.h: add `lrecord_type_pgsetenv'.
10301
10302 2000-03-08  SL Baur  <steve@musashimaru.m17n.org>
10303
10304         * symsinit.h: declare (vars|syms)_of* functions.
10305         * lrecord.h: add `lrecord_type_pgconn' and 'lrecord_type_pgresult'.
10306
10307 2000-03-06  SL Baur  <steve@musashimaru.m17n.org>
10308
10309         * config.h.in: Add symbols HAVE_POSTGRESQL and HAVE_POSTGRESQLV7
10310
10311         * inline.c: Include postgresql.h lrecord stuffs to placate buggy
10312         GCCs.
10313
10314         * emacs.c (main_1): Call postgres initialization code.
10315
10316         * postgresql.h: New file.  PostgreSQL RDBMS support.
10317         * postgresql.c: New file.
10318
10319 2000-03-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
10320
10321         * redisplay-output.c (redisplay_output_display_block): Disable
10322         redundant code.
10323
10324 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
10325
10326         * mule-canna.c (Fcanna_henkan_region): Translate doc-string.
10327         (Fcanna_henkan_next): Ditto.
10328         (Fcanna_bunsetu_henkou): Ditto.
10329         (Fcanna_henkan_kakutei): Ditto.
10330         (Fcanna_henkan_end): Ditto.
10331         (Fcanna_henkan_quit): Ditto.
10332         (Fcanna_henkan_next): Set retun value correctly.
10333         (c2mu): Use unsigned char instead of signed char.
10334
10335 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
10336
10337         * emacs.c (main_1): Always call syms_of_gui.
10338         * inline.c: include gui.h
10339
10340 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
10341
10342         * redisplay.c (Vvisible_bell): Renamed from visible_bell and
10343         converted to Lisp_Object.
10344         (Qtop_bottom): New variable.
10345         (syms_of_redisplay): Initialize it.
10346         * redisplay.h (Vvisible_bell): Ditto.
10347         * sound.c (ding): Ditto and check if Vvisible_bell is nil.
10348         * redisplay-x.c (x_flash): When Vvisible_bell is top-bottom,
10349         only flash top and bottom.
10350
10351 2000-03-08  Andy Piper  <andy@xemacs.org>
10352
10353         * buffer.c (Frename_buffer): record new buffer name the right way.
10354
10355 2000-03-08  Andy Piper  <andy@xemacs.org>
10356
10357         * glyphs.c (update_subwindow): increase hash depth so that widget
10358         items get picked up properly.
10359
10360         * redisplay-output.c (compare_runes): increase hash depth so that
10361         widget items get picked up properly.
10362
10363 2000-03-08  Andy Piper  <andy@xemacs.org>
10364
10365         * gutter.c (output_gutter): add some debug.
10366
10367         * glyphs.h (struct Lisp_Image_Instance): add display_hash.
10368         (IMAGE_INSTANCE_DISPLAY_HASH): new macro.
10369         (XIMAGE_INSTANCE_DISPLAY_HASH): ditto.
10370
10371         * redisplay-output.c (compare_runes): use display_hash to
10372         determine if glyphs really are not the same.
10373
10374         * glyphs.c (update_subwindow): check display_hash to see if
10375         anything really needs to be updated. If not then do
10376         nothing. Record the display_hash after updating.
10377         (image_instance_equal): compare the image_instance face also.
10378
10379 2000-03-07  Yoshiki Hayashi  <yoshiki@xemacs.org>
10380
10381         * redisplay.h: Fix comment style.
10382
10383 2000-03-08  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10384
10385         * consle-msw.h (struct mswindows_frame):
10386         Added new member paint_pending to indicate whether a WM_PAINT
10387         magic event has been queued for this frame.
10388
10389         * event-msw.c (mswindows_drain_windows_queue):
10390         Don't queue a WM_PAINT magic event if one is already queued.
10391         (emacs_mswindows_handle_magic_event): clear paint_pending flag.
10392
10393         * frame-msw.c (mswindows_init_frame_1): initialise paint_pending flag.
10394
10395 2000-03-07  Didier Verna  <didier@xemacs.org>
10396
10397         * dired.c: #include `regex.h' after `sysfile.h'.
10398
10399 2000-03-06  Martin Buchholz  <martin@xemacs.org>
10400
10401         * sound.c (init_nas_sound): Fix compiler warning.
10402
10403         * alloc.c (ALIASING_VOIDPP_DEREFERENCE): New.
10404         (FREE_STRUCT_P):
10405         (MARK_STRUCT_AS_FREE):
10406         (MARK_STRUCT_AS_NOT_FREE):
10407         Make `gcc -fstrict-aliasing' work properly.
10408
10409 2000-03-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10410
10411         * device-msw.c (mswindows_finish_init_device): Call CoInitialize().
10412         (mswindows_delete_device): Call CoUnnitialize().
10413
10414         * event-msw.c (mswindows_wnd_proc): WM_DROPFILES: Decode Shortcuts.
10415
10416 2000-02-25    <CraigL@DyCon.com>
10417
10418         * process-nt.c: MinGW now has <shellapi.h>, but still needs
10419         <errno.h>.
10420
10421         * sysdep.c: This extern declaration for environ prevents MinGW
10422         from finding the variable in CRTDLL.DLL.
10423
10424         * s\mingw32.h (PBS_SMOOTH): Removed, now defined in cygwin's
10425         windows headers.
10426         (SHGFI_EXETYPE): ..
10427         (WM_MOUSEWHEEL): ..
10428         (_WIN32_IE): Added, needed to get the TCS_BOTTOM and TCS_VERTICAL
10429         definitions.
10430         (MMRESULT): Removed, now defined in cygwin's windows headers.
10431         (TIMECAPS): ..
10432         (uid_t,gid_t,pid_t,ssize_t): ..
10433         (_timeb): Removed, MinGW defines both _timeb and timeb.
10434         (HAVE_H_ERRNO): Added.
10435         (HAVE_TZNAME): Added, configure is not detecting this.
10436
10437 2000-02-03  IKEYAMA Tomonori <tomonori@suiyokai.org>
10438
10439         * chartab.h (XCHAR_TABLE_VALUE_UNSAFE): New macro.
10440         * syntax.c (syntax_match): Use it.
10441
10442         * cmds.c: Import auto-fill-chars from FSF Emacs.
10443         (Vauto_fill_chars): New variables.
10444         (internal_self_insert): Check Vauto_fill_chars.
10445         (vars_of_cmds):
10446         Declare auto-fill-chars as a Lisp variable and initialize it.
10447
10448 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10449
10450         * fileio.c (Fmake_symbolic_link):
10451         (Ffile_symlink_p):
10452         Run handlers even if local machine doesn't have symlinks.
10453
10454 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10455
10456         * event-msw.c (mswindows_drain_windows_queue):
10457         Don't generate paint magic events for non-XEmacs frames.
10458
10459 2000-03-05  Andy Piper  <andy@xemacs.org>
10460
10461         * redisplay.c (redisplay_frame): generate_displayable_area and
10462         friends assumes that we are not in GC, we therefore have to make
10463         sure that this doesn't happen.
10464
10465         * gutter.c (calculate_gutter_size): generate_displayable_area
10466         assumes that we are not in GC, we therefore have to make sure that
10467         this doesn't happen.
10468
10469 2000-03-05  Martin Buchholz  <martin@xemacs.org>
10470
10471         * opaque.c (DEFINE_LRECORD_IMPLEMENTATION): opaque_ptr ==> opaque-ptr
10472
10473 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
10474
10475         * redisplay.c (regenerate_window): Make sure we set a sane value
10476         for end_pos even if we jump out of the loop.
10477         (regenerate_window): Answer Ben's question :-).
10478         (start_end_of_last_line): Add may_error argument.
10479         (start_of_last_line):
10480         (end_of_last_line): Pass may_error = 0.
10481         (end_of_last_line_may_error): New function.
10482         (pixel_to_glyph_translation): Use it, so we don't crash in
10483         event_to_glyph.
10484
10485 2000-03-04  Andy Piper  <andy@xemacs.org>
10486
10487         * window.h (struct window): add gutter_extent_modiff.
10488
10489         * window.c (allocate_window): zero out gutter_extent_modiff.
10490
10491         * redisplay.h: declare sync_display_line_structs.
10492
10493         * redisplay.c (add_glyph_rune): add a better comment.
10494
10495         * redisplay-output.c (sync_display_line_structs): made non-static.
10496         (compare_runes): remove unneccesary glyph cachel access.
10497
10498         * gutter.h: declare gutter_extent_signal_changed_region_maybe.
10499
10500         * gutter.c (output_gutter): don't output the gutter if extent
10501         changes only involve extents in buffers. use 4 sets of display
10502         lines.
10503         (gutter_extent_signal_changed_region_maybe): new function. Mark
10504         extents in gutters as changed.
10505         (update_frame_gutters): use 4 sets of display lines.
10506         (reset_gutter_display_lines): ditto.
10507         (free_frame_gutters): ditto.
10508         (redraw_exposed_gutter): force output of gutters.
10509
10510         * frame.h (struct frame): add 4 sets of gutter display lines.
10511
10512         * extents.c: (extent_changed_for_redisplay): signal changes to
10513         extents in strings in the gutter as well as extents in buffers.
10514
10515 2000-03-02  Andy Piper  <andy@xemacs.org>
10516
10517         * gutter.c (specifier_vars_of_gutter): cosmetic changes.
10518
10519         * frame.c (Fmake_frame): make sure the gutters get initialized
10520         after the frame is visible.
10521         (set_frame_selected_window): re-arrange compilation macros a
10522         little.
10523         (change_frame_size_1): mark gutters changed.
10524
10525         * device.c (Fset_device_class): mark gutters changed.
10526
10527 2000-03-01  Andy Piper  <andy@xemacs.org>
10528
10529         * window.c (window_top_frame_gutter_height): deleted.
10530         (window_bottom_frame_gutter_height): ditto.
10531         (window_left_frame_gutter_height): ditto.
10532         (window_right_frame_gutter_height): ditto.
10533         (window_top_gutter_height): don't use them.
10534         (window_bottom_gutter_height): ditto.
10535         (window_left_gutter_width): ditto.
10536         (window_right_gutter_width): ditto.
10537         (Fsplit_window): ditto.
10538         (Fwindow_pixel_edges): don't use border dimensions here.
10539
10540         * scrollbar.c (update_scrollbar_instance): don't take gutters into account.
10541         (update_scrollbar_instance): ditto.
10542
10543         * redisplay.c (generate_modeline): don't take gutters into account.
10544         (generate_modeline): ditto.
10545         (redisplay_frame): small gutter display optimization.
10546
10547         * redisplay-x.c (x_output_vertical_divider): don't take gutters into account.
10548
10549         * redisplay-msw.c (mswindows_output_vertical_divider): don't take
10550         gutters into account.
10551
10552         * gutter.h (WINDOW_REAL_*_GUTTER_BOUNDS): remove bogus checks
10553         for window position and type.
10554
10555         * gutter.c (get_gutter_coords): fix for frame gutters.
10556         (update_frame_gutters): update frame geometry if the gutters have
10557         changed.
10558         (init_frame_gutters): record current gutter geometries.
10559
10560         * glyphs-msw.c (mswindows_subwindow_instantiate): remove unused
10561         var.
10562         (mswindows_widget_instantiate): ditto.
10563
10564         * frame.h (struct frame): add current_gutter_bounds.
10565
10566         * frame.c (change_frame_size_1): position window and minibuffer
10567         appropriately taking into account the frame gutters.
10568
10569         * frame-x.c: (x_initialize_frame_size): take into account the
10570         frame gutters.
10571
10572 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
10573
10574         * emacs.c (data-directory):  Xref `locate-data-file' in docstring.
10575
10576 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
10577
10578         * alloc.c (dumpopaquevec): Increase dimension for --with-canna.
10579
10580 1999-12-30  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
10581
10582         * file-coding.c (reset_decoding_stream): Clear previous
10583         detection state when autodetect.
10584
10585 2000-02-29  Didier Verna  <didier@xemacs.org>
10586
10587         * extents.c (set_extent_glyph_1): don't require extents to be
10588         attached.
10589
10590 2000-02-27  Andy Piper  <andy@xemacs.org>
10591
10592         * gutter.c (Fset_default_gutter_position): don't default left and
10593         right gutter visibility to t.
10594         (Fset_default_gutter_position): run
10595         default-gutter-position-changed-hook.
10596         (syms_of_gutter): add default-gutter-position-changed-hook.
10597
10598 2000-02-26  Andy Piper  <andy@xemacs.org>
10599
10600         * specifier.c (Fmake_specifier): add gutter references.
10601
10602         * gutter.h (RAW_WINDOW_GUTTER): new macro.
10603
10604         * lisp.h: declare Fvalid_plist_p.
10605
10606         * gutter.c (gutter_geometry_changed_in_window): mark the modeline
10607         as changed.
10608         (default_gutter_visible_p_changed_in_window): invalidate gutter as
10609         well as its visibility so that it gets reconstructed.
10610         (construct_window_gutter_spec): new function. Construct a string
10611         to be displayed in the gutter from a plist of strings. Take care
10612         to only use elements that are declared as visible.
10613         (calculate_gutter_size): use RAW_WINDOW_GUTTER instead of
10614         WINDOW_GUTTER.
10615         (gutter_validate): allow plists of strings in the specifier.
10616         (gutter_specs_changed): construct the real_gutter from the gutter
10617         specs using construct_window_gutter_spec.
10618         (gutter_visible_validate): gutter-visible is a new specifier type.
10619         (Fgutter_visible_specifier_p): new function for the new specifier.
10620         (syms_of_gutter): declare gutter-visible and
10621         Fgutter_visible_specifier_p.
10622         (specifier_type_create_gutter): intitalize new gutter-visible
10623         specifier.
10624         (reinit_specifier_type_create_gutter): ditto.
10625         (specifier_vars_of_gutter): use new specifier type for gutter
10626         visibility.
10627         (init_frame_gutters): construct real_gutter correctly.
10628         (Fgutter_specifier_p): beef up documentation.
10629         (Fgutter_size_specifier_p): ditto.
10630
10631         * winslots.h: add real_gutter slots.
10632
10633 2000-02-25  Andy Piper  <andy@xemacs.org>
10634
10635         * device-msw.c: Be kind to older cygwin versions. From Raymond
10636         Toy <toy@rtp.ericsson.se>.
10637
10638         * gui-msw.c (Fmswindows_shell_execute): Remove things unknown to
10639         earlier cygwins. From Raymond Toy <toy@rtp.ericsson.se>.
10640
10641 2000-02-25  Martin Buchholz  <martin@xemacs.org>
10642
10643         * elhash.c (MARK_OBJ): Practice macro hygiene.
10644
10645 2000-02-24  Martin Buchholz  <martin@xemacs.org>
10646
10647         * miscplay.c: s/__inline__/inline/g;
10648         * glyphs-msw.c (set_mono_pixel): INLINE ==> static inline
10649         (get_device_compdc): INLINE ==> static inline
10650         * *.[ch]: Change INLINE to INLINE_HEADER globally.
10651         find -name '*.h' | \
10652         xargs global-replace \
10653         's/(^|(?<=[^A-Za-z0-9_]))INLINE((?=[^A-Za-z0-9_])|$)/INLINE_HEADER/g'
10654
10655 2000-02-25  Andy Piper  <andy@xemacs.org>
10656
10657         * window.c (window_top_frame_gutter_height): new function.
10658         (window_top_window_gutter_height): ditto.
10659         (window_top_gutter_height): use them.
10660         (window_bottom_frame_gutter_height): new function.
10661         (window_bottom_window_gutter_height): ditto.
10662         (window_bottom_gutter_height): use them.
10663         (window_left_window_gutter_width): new function.
10664         (window_left_frame_gutter_width): ditto.
10665         (window_left_gutter_width): use them.
10666         (window_right_window_gutter_width): new function.
10667         (window_right_frame_gutter_width): ditto.
10668         (window_right_gutter_width): use them.
10669         (window_pixel_height): new function. calulate window pixel height
10670         with frame gutter involvement.
10671         (Fsplit_window): calculate new sizes taking frame gutters into
10672         account.
10673         (window_char_height_to_pixel_height): don't include frame gutters.
10674         (window_char_height): use window_pixel_height.
10675         (window_pixheight): rename from window_pixel_height.
10676         (change_window_height): use it.
10677         (window_pixel_height_to_char_height): don't include frame gutters.
10678         (window_char_width_to_pixel_width): ditto.
10679
10680 2000-02-25  Andy Piper  <andy@xemacs.org>
10681
10682         * glyphs.h (IMAGE_INSTANCE_FACE): glyph might be nil, don't crash
10683         if it is.
10684
10685 2000-02-24  Martin Buchholz  <martin@xemacs.org>
10686
10687         * alloc.c (staticpro):
10688         (staticpro_nodump):
10689         (dumpstruct):
10690         (dumpopaque):
10691         (pdump_wire):
10692         (pdump_wire_list):
10693         (compact_string_chars):
10694         (pdump_dump_wired):
10695         Convert:  if (foo) abort();  ==>  assert (! foo);
10696
10697         * eldap.c (Fldap_search_basic):
10698         (Fldap_add):
10699         (Fldap_modify):
10700         (Fldap_delete):
10701         Fix compiler warnings, and possible crashes if (random) return
10702         value were to be used.
10703
10704 2000-02-21  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10705
10706         * device-msw.c: Workaround ResetDC failure.
10707
10708         * frame-msw.c (msprinter_init_frame_3): Added an assertion before
10709         applying a devmode.
10710
10711         * redisplay-msw.c (get_frame_dc): Added start_page_p.
10712         (mswindows_text_width): Do not start printer page.
10713
10714         * console-msw.h (CHECK_MSGDI_DEVICE): Added this and friends.
10715
10716         * glyphs-msw.c: Added image methods to msprinter console and
10717         msprinter-specific image instantiation.
10718
10719 2000-02-20  Mike Alexander  <mta@arbortext.com>
10720
10721         * select-msw.c (Fmswindows_set_clipboard): GC protect more things
10722         to avoid crashes when selection-sets-clipboard is on
10723         (mswindows_own_selection): ditto
10724
10725 2000-02-19  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10726
10727         * glyphs-msw.c:
10728         * redisplay-msw.c (get_frame_dc):
10729         (get_frame_compdc):
10730         * console-msw.h:
10731         * device-msw.c (mswindows_init_device):
10732         (mswindows_delete_device):
10733         (msprinter_init_device):
10734         (msprinter_delete_device):
10735         * frame-msw.c (mswindows_init_frame_1):
10736         (mswindows_delete_frame):
10737         (msprinter_init_frame_3):
10738         (msprinter_delete_frame): Move compatible DC to device object from
10739         frame object, for both mswindows and msprinter. Only one at a time
10740         is needed, it is a real waste to have one per frame!
10741
10742 2000-02-23  Andy Piper  <andy@xemacs.org>
10743
10744         * glyphs.c: add dynamic width and height elements.
10745         (image_instance_equal): ditto.
10746
10747         * glyphs-widget.c (widget_query_geometry): calculate width and
10748         height dynamically if required.
10749         (initialize_widget_image_instance): initialize dynamic dimensions.
10750         (widget_instantiate): pick-up dynamic dimensions.
10751
10752         * glyphs.h (struct Lisp_Image_Instance): add width and height for
10753         dynamic determination. Add appropriate macros.
10754
10755         * gutter.h (WINDOW_GUTTER_BORDER_WIDTH): make non-integer
10756         dimensions safe.
10757         (WINDOW_GUTTER_SIZE): ditto.
10758         (WINDOW_GUTTER_SIZE_INTERNAL): ditto.
10759
10760         * redisplay-msw.c (get_frame_compdc): gcc can't cope with this
10761         inline.
10762         (get_frame_dc): ditto.
10763
10764         * redisplay.h (GLOBAL_RESET_CHANGED_FLAGS): don't reset faces
10765         here.
10766
10767 2000-02-23  Martin Buchholz <martin@xemacs.org>
10768
10769         * XEmacs 21.2.31 is released.
10770
10771 2000-02-22  Ben Wing <ben@xemacs.org>
10772
10773         * ntheap.c (allocate_heap): Make sure `ptr' is initialized.
10774
10775 2000-02-22  Andy Piper  <andy@xemacs.org>
10776
10777         * glyphs-x.c (x_widget_instantiate): don't explicitly resize here.
10778
10779 2000-02-21  Mike Sperber <mike@xemacs.org>
10780
10781         * .dbxrc:
10782         * .gdbinit:
10783         * Makefile.in.in: Remove obsolete EMACSBOOTSTRAP... environment
10784         variables.
10785
10786 2000-02-21  Mike Sperber <mike@xemacs.org>
10787
10788         * s/aix4.h: Declare getaddrinfo broken for AIX 4, which it is.
10789
10790 2000-02-21  Martin Buchholz <martin@xemacs.org>
10791
10792         * XEmacs 21.2.30 is released.
10793
10794 2000-02-20  Martin Buchholz  <martin@xemacs.org>
10795
10796         Performance hacking.
10797         * *.c (syms_of_*):
10798         Add INIT_LRECORD_IMPLEMENTATION macros, paired with
10799         DEFINE_LRECORD_IMPLEMENTATION macros in the same file.
10800         * emacs.c (main_1):
10801         * lisp.h (DEFUN):
10802         * console.c (DEFVAR_CONSOLE_LOCAL_1):
10803         * buffer.c (DEFVAR_BUFFER_LOCAL_1):
10804         * symeval.h (DEFVAR_SYMVAL_FWD):
10805         * symbols.c (guts_of_unbound_marker):
10806         Make all c_readonly objects also lisp_readonly and marked for life.
10807         * lrecord.h (struct lrecord_implementation):
10808         Document flags better.
10809         * lrecord.h (DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION_WITH_PROPS):
10810         * lrecord.h (DECLARE_LRECORD):
10811         * lrecord.h (XSETRECORD):
10812         * lrecord.h (RECORDP):
10813         * lrecord.h (RECORD_TYPEP):
10814         * lrecord.h (RECORD_MARKER): New.
10815         * lrecord.h (error_check_*):
10816         * lrecord.h (CONCHECK_NONRECORD):
10817         * lrecord.h (MAKE_LRECORD_IMPLEMENTATION):
10818         * lrecord.h (INIT_LRECORD_IMPLEMENTATION): New.
10819         * lrecord.h (set_lheader_implementation):
10820         * lrecord.h (enum lrecord_type): New.
10821         * symeval.h (SYMBOL_VALUE_MAGIC_P):
10822         * alloc.c (disksave_object_finalization_1):
10823         * alloc.c (mark_object):
10824         * alloc.c (lrecord_type_index):
10825         * alloc.c (tick_lcrecord_stats):
10826         * alloc.c (Fgarbage_collect):
10827         * alloc.c (init_alloc_once_early):
10828         * alloc.c (pdump_load):
10829         * alloc.c (GC_CHECK_LHEADER_INVARIANTS): New.
10830         * alloc.c (lrecord_type_index): Delete.
10831         Make lisp object type indexes be constant.
10832           Makes (byte-compile) 5% faster.
10833         Put all marker functions into their own array.
10834           Makes (garbage-collect) 5% faster.
10835         Optimize SYMBOL_VALUE_MAGIC_P.
10836           Makes (byte-compile) 2-3% faster.
10837         * config.h.in (gc_checking_assert): New.
10838         * alloc.c: Use gc_checking_assert().
10839         * .dbxrc: Make compatible with new object type implementation.
10840         * .gdbinit: Make compatible with new object type implementation.
10841         * alloc.c: Delete all symbols defined only for debugging, such as
10842         Lisp_Type_Vector and lrecord_charset.
10843
10844 2000-02-21  Andy Piper  <andy@xemacs.org>
10845
10846         * gui-msw.c (Fmswindows_shell_execute): fix file location
10847         problems.
10848
10849         * buffer.c (Fkill_buffer): remove buffer from alist buffer
10850         unshowing so that set_window_buffer doesn't undo
10851         kill_buffer_hook's hard work.
10852
10853         * glyphs-widget.c (tab_control_query_geometry): don't count the
10854         first item when calculating geometry.
10855
10856         * glyphs.c (map_subwindow): remove redundant code.
10857         (update_frame_subwindows): be more circumspect about when to
10858         update subwindows.
10859
10860         * glyphs-x.c (x_update_widget): Properly fix sizing bug. Fix bug
10861         when items haven't changed. Update faces if faces have changed as
10862         well as just the widget face.
10863         (x_tab_control_update): Update faces if faces have changed as well
10864         as just the widget face.
10865
10866 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10867
10868         * device-msw.c: (mswindows_delete_device): Remove redundant DDE
10869         registration.
10870         (build_syscolor_string): Use mswindows_color_to_string to try to
10871         get a named color.
10872         (mswindows_device_system_metrics): Reverse the foreground and
10873         background colors so that they match the documentation.
10874
10875         * objects-msw.c: (mswindows_X_color_map): tweak some values so
10876         they match the default Windows palette.
10877         (mswindows_color_to_string): New function.
10878
10879 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10880
10881         * s/windowsnt.h: Only use __declspec(noreturn) with MSVC>=6.
10882
10883 2000-02-18  Olivier Galibert  <galibert@pobox.com>
10884
10885         * m/*, s/*: Removed obsolete DATA_SEG_BITS, PURE_SEG_BITS,
10886         WORD_MACHINE, SIGN_EXTEND_CHAR and EXPLICIT_SIGN_EXTEND.
10887
10888         * symbols.c (init_symbols_once_early): Removed obsolete
10889         DATA_SEG_BITS related kludge.
10890         (defvar_magic): Ditto.
10891
10892         * malloc.c: Removed obsolete DATA_SEG_BITS
10893         * ralloc.c: Ditto.
10894         * mem-limits.h: Ditto.
10895
10896         * Makefile.in.in: Removed obsolete HAVE_SHM
10897         * emacs.c: Ditto.
10898
10899 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10900
10901         *  device-msw.c (mswindows_delete_device): Free DDE string
10902         handles.
10903
10904 2000-02-16  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10905
10906         * keymap.c (get_keyelt):
10907         * unexnt.c (unexec):
10908         * vm-limit.c (memory_warnings):
10909         * ntheap.c (recreate_heap):
10910         * ntheap.h (UNINIT_PTR):
10911         * select-msw.c (Fmswindows_get_clipboard):
10912         (Fmswindows_set_clipboard):
10913         * objects-msw.h (MSWINDOWS_BAD_HFONT):
10914         * objects-msw.c:
10915         * menubar-msw.c (displayable_menu_item):
10916         * glyphs-msw.c:
10917         * glyphs-msw.h (IMAGE_INSTANCE_MSWINDOWS_MASK):
10918         * sysdep.c (sys_subshell):
10919         * process-nt.c (nt_create_process):
10920         * nt.c (normalize_filename):
10921         (dostounix_filename):
10922         (unixtodos_filename):
10923         * ntproc.c (win32_executable_type):
10924         * ntplay.c (play_sound_data_1):
10925         (play_sound_file):
10926         * editfns.c (get_home_directory):
10927         * event-msw.c (struct winsock_stream):
10928         (mswindows_dde_callback):
10929         * device-msw.c (msprinter_init_device):
10930         (msprinter_get_devmode_copy): Frobbed syntax frivolities.
10931
10932         * toolbar-msw.c (mswindows_free_frame_toolbars): Paramters to
10933         mswindows_clear_toolbar were swapped!
10934
10935         * objects-msw.c:(colormap_t):
10936         (fontmap_t):
10937         * emacs.c (struct standard_args): Fixed const jumble.
10938
10939         * glyphs-widget.c (update_widget): Fixed comparison notation.
10940
10941         * event-msw.c (mswindows_dde_callback): Removed extraneous ';'.
10942
10943         * s\windowsnt.h (DOESNT_RETURN): Defined to support the MSVC
10944         __declspec(noreturn) syntax.
10945
10946 2000-02-19  Martin Buchholz  <martin@xemacs.org>
10947
10948         * eldap.c (Fldap_open):
10949         (Fldap_search_basic):
10950         (Fldap_add):
10951         (Fldap_modify):
10952         Use new coding system conversion macros.
10953
10954 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
10955
10956         * console-tty.c (tty_init_console): Change MULE to FILE_CODING.
10957
10958 1999-11-27  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
10959
10960         * eldap.h (Fldap_search) Renamed from Fldap_search_internal:
10961         (Fldap_add, Fldap_modify, Fldap_delete): New functions
10962
10963         * eldap.c (Qadd, Qreplace): New constant symbols
10964         (Fldap_open): Use the LDAP_OPT_RESTART option to avoid
10965         interruptions by XEmacs signals
10966         Remove unnecessary calls to slow_down_interrupts and
10967         speed_up_interrupts
10968         (Fldap_search_basic): Renamed from Fldap_search_internal
10969         Added new optional parameter VERBOSE that triggers the
10970         display of progress messages
10971         Remove unnecessary calls to slow_down_interrupts and
10972         speed_up_interrupts
10973         LDAP result code analysis rewritten
10974         (Fldap_add, Fldap_modify, Fldap_delete): New functions
10975         (syms_of_eldap): Define the new symbols and functions
10976
10977
10978 2000-02-17  Martin Buchholz  <martin@xemacs.org>
10979
10980         * realpath.c: Determine PATH_MAX maximally portably.
10981
10982         * insdel.c (bytecount_to_charcount): Optimize.
10983         The function used to be optimized for entirely ASCII sequences.
10984         Now it is optimized for successive characters from the same
10985         charset.  This also wins big for _mostly_ ASCII sequences.
10986
10987         * fileio.c (Ffile_truename): convert return from realpath() using
10988         Qfile_name, not Qbinary.  Fixes obvious bug with non-ASCII symlinks.
10989         - Rewrite GCPROing slightly.
10990
10991         * sysdep.c (sys_open): Do filename conversion, like all other
10992         sys_* functions.  Fixes bug:
10993         (let ((file-name-coding-system 'iso-8859-2))
10994            (write-region x y latin2-name))
10995         ==> writes filename using internal encoding.
10996
10997 2000-02-18  Martin Buchholz  <martin@xemacs.org>
10998
10999         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Turn on c_readonly. Always const.
11000         * console.c (DEFVAR_CONSOLE_LOCAL_1): Turn on c_readonly. Always const.
11001         * symeval.h (DEFVAR_SYMVAL_FWD): Turn on c_readonly. Always const.
11002         * eval.c (lrecord_subr): Remove this_one_is_unmarkable.
11003         * symbols.c (lrecord_symbol_value_forward): Remove this_one_is_unmarkable.
11004         * symbols.c (guts_of_unbound_marker): Turn on c_readonly.
11005         * lrecord.h (UNMARKABLE_LRECORD_HEADER_P): Delete.
11006         (CONST_IF_NOT_DEBUG): Delete.
11007         * alloc.c (this_one_is_unmarkable): Delete.
11008         (mark_object): Don't check for this_one_is_unmarkable. Use the
11009         c_readonly flag instead.
11010         * lisp.h (DEFUN): Define a Lisp_Subr as c_readonly.
11011
11012 2000-02-18  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11013
11014         * event-msw.c (mswindows_drain_windows_queue):
11015         (emacs_mswindows_handle_magic_event): Remove attempt to optimise
11016         away redundant repaint events.
11017
11018 2000-02-17  Andy Piper  <andy@xemacs.org>
11019
11020         * redisplay.h: declare mark_redisplay_structs.
11021
11022         * redisplay.c (redisplay_window):
11023         (redisplay_frame): don't check subwindows_state_changed.
11024         (mark_redisplay): mark gutters here.
11025
11026         * glyphs.c: (instantiate_image_instantiator): always layout if we
11027         haven't done so already.
11028         (allocate_image_instance): don't mark as dirty.
11029         (update_subwindow): bind inhibit_quit.
11030
11031         * gutter.c (mark_gutters): new function.
11032
11033         * glyphs-x.c (x_update_widget): Always resize to get round a
11034         widget bug.
11035
11036         * glyphs-msw.c (mswindows_tab_control_update): remove `;' that was
11037         breaking absolutely everything.
11038
11039         * gutter.h: declare mark_gutters.
11040
11041 2000-02-16  Martin Buchholz <martin@xemacs.org>
11042
11043         * XEmacs 21.2.29 is released.
11044
11045 2000-02-15  Olivier Galibert  <galibert@pobox.com>
11046
11047         * fns.c (size_bit_vector): Fix computation of the size.
11048
11049 2000-02-15  Martin Buchholz  <martin@xemacs.org>
11050
11051         * *.[ch]: Change CONST to const globally.
11052         find -name '*.[ch]' | \
11053         xargs global-replace \
11054         's/(^|(?<=[^A-Za-z0-9_]))CONST((?=[^A-Za-z0-9_])|$)/const/g'
11055         - Remove vestigial references to CONST_IS_LOSING
11056
11057 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11058
11059         * event-msw.c (mswindows_drain_windows_queue): Remove hack to
11060         bailout early on quit. Enqueue WM_PAINT events as XEmacs magic
11061         events instead of dispatching them directly.
11062         (mswindows_handle_paint): New function to do repainting.
11063         (mswindows_wnd_proc):
11064         (emacs_mswindows_handle_magic_event): Call above function.
11065
11066 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11067
11068         * objects-msw.c (mswindows_create_font_variant): Return the new
11069         font handle.
11070         (initialize_font_instance): Get font metrics from the underlined
11071         variant of the font to cope with the case where the underlined
11072         font has a bigger descent.
11073
11074 2000-02-08   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
11075
11076         * gui.c (gui_item_accelerator): Return the first underlined
11077         character in item name.
11078
11079 2000-02-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11080
11081         * lisp.h: Added Qprinter.
11082
11083         * general.c (syms_of_general): Initialized it.
11084
11085         * redisplay-msw.c (get_frame_dc): Conditionally start a new page.
11086         (get_frame_dc):
11087         (get_frame_compdc): Made inline.
11088
11089         * console.h (struct console_methods): Added eject_page method.
11090
11091         * frame.h: Added FRAME_DISPLAY_P and friends.
11092         Aligned backslahes in many macros in more readable fashion.
11093         Added page_number to struct frame, and an accessor macro
11094         for it.
11095
11096         * defice.h: Added DEVICE_DISPLAY_P and friends.
11097
11098         * device.c (Fdevice_printer_p): Used these.
11099
11100         * frame.c (allocate_frame_core): Initialize page number.
11101         (Fprint_job_page_number):
11102         (Fprint_job_eject_page): Implemented.
11103
11104         * frame-msw.c (msprinter_eject_page): Added method.
11105         (msprinter_start_page): Added.
11106
11107         * window.c (Fwindow_truncated_p): Fixed docstring.
11108         (Fwindow_last_line_visible_height): Implemented.
11109
11110 2000-02-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
11111
11112         * frame.c (change_frame_size_1): Undo 2000-02-03 change.
11113
11114 1999-12-20  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
11115
11116         * syntax.c (scan_words): Always advance at least one character.
11117
11118 2000-02-13  Andy Piper  <andy@xemacs.org>
11119
11120         * redisplay.c (add_glyph_rune): call get_glyph_cachel_index here
11121         to make sure the glyph is in the cachels.
11122
11123         * glyphs.h (struct Lisp_Image_Instance): make layout_changed a
11124         global image instance flag.
11125         (IMAGE_INSTANCE_NEEDS_LAYOUT): new macro.
11126         (XIMAGE_INSTANCE_NEEDS_LAYOUT): ditto.
11127
11128         * glyphs.c (allocate_image_instance): set dirty bits correctly.
11129         (Fset_image_instance_property): mark layout as changed.
11130         (invalidate_glyph_geometry_maybe): mark layout as changed.
11131         (glyph_width): use new NEEDS_LAYOUT macro.
11132         (glyph_ascent): ditto.
11133         (glyph_descent): ditto.
11134         (glyph_height): ditto.
11135         (image_instance_layout): mark layout as clean after laying out.
11136         (update_subwindow): don't mark layout as clean here.
11137
11138         * glyphs-x.h (IMAGE_INSTANCE_X_WIDGET_ID): undo C++ changes, they
11139         should no longer be needed.
11140
11141         * glyphs-x.c (x_update_widget): sanitize asserts.
11142         (x_finalize_image_instance): sanitize assignment to widgets.
11143
11144         * glyphs-widget.c (widget_instantiate): don't need to clear the
11145         layout flag here.
11146
11147 2000-02-13  Martin Buchholz  <martin@xemacs.org>
11148
11149         * sysdep.c (getcwd): Use standard prototype.
11150         * sysdep.h (getcwd): Use standard prototype.
11151
11152         * fns.c (Fsubseq): Change parameters to more natural ANSI Lisp
11153         (sequence, start, end).
11154         Remove redundant type checking.
11155         (Fmapconcat): Remove useless GCPRO, a wrong-headed attempt (in
11156         view of `caller-protects') to avoid a crash where the real fix was
11157         found elsewhere.
11158
11159 2000-02-12  Martin Buchholz  <martin@xemacs.org>
11160
11161         * glyphs-x.c (x_finalize_image_instance): Compile error fixes.
11162
11163         * s/sol2.h: Remove feature macro initialization.
11164
11165         * alloc.c (alloc_lcrecord): Add more type checking assertions.
11166         (vector_hash): New.  Code from internal_hash.
11167         * lrecord.h:
11168         Fix up allocation subsystem comments.
11169
11170         * config.h.in: Add __EXTENSIONS__ for Solaris.
11171
11172         * systime.h (EMACS_GETTIMEOFDAY): New.
11173         (EMACS_GET_TIME): Use EMACS_GETTIMEOFDAY.
11174         Remove Solaris-specific code.
11175         Use void* for the (ignored) second arg for gettimeofday().
11176
11177         * elhash.c (hash_table_hash): Implement it, finally.
11178         * elhash.c:  Use hashcode_t.
11179
11180         * linuxplay.c (sighandler): Fix prototypes to use SIGTYPE.
11181         * sunplay.c (sighandler): Fix prototype to use SIGTYPE.
11182
11183         * lisp.h (STRETCHY_STRUCT_SIZEOF): Delete.
11184         * fns.c (size_bit_vector):
11185         * alloc.c (size_vector):
11186         (make_vector_internal):
11187         (make_bit_vector_internal):
11188         (sweep_bit_vectors_1):
11189         Replace calls to STRETCHY_STRUCT_SIZEOF with offsetof expression.
11190
11191 2000-02-10  Martin Buchholz  <martin@xemacs.org>
11192
11193         * s/aix4.h: #define MAP_FAILED if sys/mman.h didn't.
11194         Include strings.h to avoid warnings for bzero and strcasecmp.
11195
11196 2000-02-10  Olivier Galibert  <galibert@pobox.com>
11197
11198         * alloc.c: Move STRETCHY_STRUCT_SIZEOF from here...
11199         * lisp.h (STRETCHY_STRUCT_SIZEOF): ...to here
11200
11201         * fns.c (size_bit_vector): New.  Declare bit vectors as a
11202         sequence.
11203
11204 2000-02-10  Olivier Galibert  <galibert@pobox.com>
11205
11206         * symeval.h (struct symbol_value_magic): Remove "next" kludge and
11207         use a value field instead.
11208         (symbol_value_forward_forward): Use value field.
11209         (DEFVAR_SYMVAL_FWD): Use value field.
11210         (DEFVAR_SYMVAL_FWD_INT): Added.  Dumps the int with dumpopaque.
11211         (DEFVAR_INT): Use DEFVAR_SYMVAL_FWD_INT.
11212         (DEFVAR_CONST_INT): Ditto.
11213         (DEFVAR_BOOL): Ditto.
11214         (DEFVAR_CONST_BOOL): Ditto.
11215         (DEFVAR_INT_MAGIC): Ditto.
11216         (DEFVAR_BOOL_MAGIC): Ditto.
11217
11218         * symbols.c (guts_of_unbound_marker): Use value field.
11219         * console.c (DEFVAR_CONSOLE_LOCAL_1): Ditto.
11220         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Ditto.
11221
11222         * lisp.h: Declare dumpopaque and noninteractive1.
11223
11224         * alloc.c (dumpopaque): Added.
11225         (pdump_dump_opaquevec): Added.
11226         (pdump): Call pdump_dump_opaquevec to dump opaque data.
11227         (pdump_load): Reload opaque data.  Sync noninteractive1 with
11228         noninteractive.
11229
11230 2000-02-10  Andy Piper  <andy@xemacs.org>
11231
11232         * glyphs.c (image_instance_layout): if the size changes, mark it
11233         as such.
11234
11235         * redisplay-output.c (redisplay_output_layout): Update the
11236         subwindow here.
11237         (redisplay_output_subwindow): ditto.
11238
11239         * glyphs.c (update_subwindow): make sure we reset flags for
11240         layouts as well as everything else.
11241
11242         * glyphs-widget.c (layout_layout): don't need to set the instances
11243         dimensions here.
11244
11245 2000-02-09  Martin Buchholz  <martin@xemacs.org>
11246
11247         * device-x.c (x_init_device): Wrap calls to dll_*  in HAVE_SHLIB,
11248         not HAVE_DLOPEN, which is a lower-level thing.
11249
11250         * .cvsignore: Ignore gmon.out
11251
11252 2000-02-09  Hamish Macdonald <hamishm@lucent.com>
11253
11254         * .cvsignore: Ignore portable dumper xemacs.dmp file
11255
11256 2000-02-09  Andy Piper  <andy@xemacs.org>
11257
11258         * redisplay-output.c (redisplay_output_layout): be more clever
11259         about when we output based on the changed flags.
11260
11261         * glyphs.h (struct image_instantiator_methods): add update_method.
11262         (struct Lisp_Image_Instance): add changed flags. Declare new
11263         macros for manipulating them.
11264
11265         * glyphs.c (allocate_image_instance): renamed glyph -> parent.
11266         (image_instance_parent_glyph): find an image_instance's parent
11267         glyph or image_instance.
11268         (image_instance_layout): mark the size as changed.
11269         (set_image_instance_dirty_p): new function. mark an image
11270         instance, plus all of its parents, as dirty.
11271         (Fset_image_instance_property): use it.
11272         (Fglyph_animated_timeout_handler): use it.
11273         (update_subwindow): call update_widget and device methods for
11274         update_subwindow. Mark all changed flags as clean.
11275         (Fresize_subwindow): mark size as changed.
11276
11277         * glyphs-x.c (x_finalize_image_instance): try and detect gc
11278         failures.
11279         (x_update_subwindow): only resize subwindows here.
11280         (x_update_widget): new function. Update all changed properties of
11281         a widget.
11282         (x_resize_subwindow): deleted.
11283         (x_widget_set_property): deleted.
11284         (x_progress_gauge_set_property): deleted.
11285         (x_progress_gauge_update): new function. Implement recorded
11286         changes.
11287         (x_tab_control_update): ditto.
11288         (x_tab_control_set_property): deleted.
11289         (console_type_create_glyphs_x): declare new functions.
11290         (image_instantiator_format_create_glyphs_x): ditto.
11291
11292         * glyphs-widget.c (widget_set_property): mark text changed.
11293         (update_widget): new function. Update properties of a widget.
11294         (widget_instantiate): for layouts make sure we set their
11295         children's parent correctly.
11296         (tab_control_set_property): new function. Record changes that will
11297         take place under redisplay's control.
11298         (progress_gauge_set_property): ditto.
11299         (image_instantiator_progress_guage): declare new functions.
11300         (image_instantiator_tab_control): ditto.
11301
11302         * glyphs-msw.c (mswindows_update_subwindow): just do resizing here
11303         now.
11304         (mswindows_update_widget): new function. Update all properties on
11305         a widget that have changed.
11306         (mswindows_button_update): new function. Update a button's set
11307         state.
11308         (mswindows_tab_control_update): new function. Update the items in
11309         a tab.
11310         (mswindows_tab_control_set_property): deleted.
11311         (mswindows_progress_gauge_update): new function. Update the
11312         progress gauge's progress.
11313         (mswindows_widget_set_property): deleted. This is all done
11314         asynchronously now.
11315         (mswindows_progress_gauge_set_property): ditto.
11316         (console_type_create_glyphs_mswindows): declare new methods.
11317         (image_instantiator_format_create_glyphs_mswindows): ditto.
11318
11319         * frame-msw.c (msprinter_init_frame_1): Remove unused variables.
11320         (msprinter_set_frame_properties): ditto.
11321
11322         * console.h (struct console_methods): Add update_widget_method.
11323
11324 2000-02-09  Andy Piper  <andy@xemacs.org>
11325
11326         * gui-msw.c (Fmswindows_shell_execute): Make
11327         mswindows-shell-execute industrial strength.
11328
11329 2000-02-08  Martin Buchholz  <martin@xemacs.org>
11330
11331         * lrecord.h: Make macro argument `props' match member function `plist'.
11332         * fns.c (Fget):
11333         * fns.c (Fput):
11334         * fns.c (Fremprop):
11335         * fns.c (Fobject_plist):
11336         * alloc.c:
11337         * symbols.c:
11338         Object property list frobbing cleanup.
11339         - Allow any lisp object (compared with `eq'), not just symbols, as
11340           keys in object plists.
11341         - Move symbol plist frobbing into symbols.c, where it belongs.
11342         - Move string plist frobbing into alloc.c, where it belongs.
11343         - Everything's an lrecord now, so no need to test for symbolp, etc.
11344         - Fix up doc strings to refer to PROPERTY, not PROPNAME.
11345
11346         * extents.c: Reorder code to remove declarations.
11347
11348         * frame.h (store_in_alist): Remove useless declaration.
11349
11350 2000-02-07  Martin Buchholz  <martin@xemacs.org>
11351
11352         * event-Xt.c (x_has_keysym): Use XConvertCase only if available.
11353         * config.h.in: Add HAVE_XCONVERTCASE.
11354
11355 2000-02-07  Andy Piper  <andy@xemacs.org>
11356
11357         * glyphs.c (image_instance_layout): undo 2000-01-29 change since
11358         it breaks many things.
11359
11360 2000-02-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
11361
11362         * src/syntax.h (SYNTAX_START_P): Check whether the two chars
11363         actually can start a common comment type.
11364         * src/syntax.h (SYNTAX_END_P): ditto for end.
11365
11366 2000-02-07  Martin Buchholz <martin@xemacs.org>
11367
11368         * XEmacs 21.2.28 is released.
11369
11370 2000-02-06  Martin Buchholz  <martin@xemacs.org>
11371
11372         * event-Xt.c (x_keysym_to_character): New.
11373         (maybe_define_x_key_as_self_inserting_character): New.
11374         (x_has_keysym): New.
11375         Auto-define all keys on the keyboard as self-insert-key.
11376
11377 2000-02-02  Martin Buchholz  <martin@xemacs.org>
11378
11379         * menubar.c (vars_of_menubar): A small code simplification.
11380
11381         * minibuf.c (echo_area_append): Workaround egcs-20000131 c++ compiler bug
11382
11383         * ExternalShell.c:
11384         * ExternalClient.c:
11385         * EmacsShell-sub.c:
11386         * EmacsManager.c:
11387         * EmacsFrame.c:
11388         Use consistent style for specifying X resources.
11389
11390         * symbols.c (Fset): Further implement SYMVAL_LISP_MAGIC.
11391         This makes (dontusethis-set-symbol-value-handler) actually usable.
11392
11393         * lrecord.h (lrecord_decription_type):
11394         * alloc.c (pdump_register_sub):
11395         (pdump_dump_data):
11396         (pdump_reloc_one):
11397         Add XD_LISP_OBJECT_ARRAY to describe multiple Lisp_Objects.
11398         Comply with XEmacs coding style.
11399         All lrecord descriptions updated to use XD_LISP_OBJECT with 2
11400         args, and XD_LISP_OBJECT_ARRAY with 3 args.
11401
11402         * keymap.c (Faccessible_keymaps):
11403         Make (accessible-keymaps map "\C-h") do the Right Thing.
11404         Make (accessible-keymaps map []) do the Right Thing.
11405         Make (accessible-keymaps map "") do the Right Thing.
11406         (check_keymap_definition_loop): New function.
11407         (keymap_store_internal): Keep luser from shooting self in foot,
11408           via (define-key ctl-x-4-map "p" global-map).
11409         Remove fullness slot from struct Lisp_Keymap, since hash tables
11410         are now reliable.
11411         (print_keymap): Remove 'Yuck' factor by simply printing "size %d".
11412
11413 2000-01-30  Martin Buchholz  <martin@xemacs.org>
11414
11415         * redisplay.c (init_redisplay): Fix small memory leak.
11416         * elhash.h:
11417         * elhash.c (pdump_reorganize_hash_table):
11418         Rename from reorganize_hash_table. Change prototype.
11419         Reuse the original memory for hentries.  Save 100k.
11420         * alloc.c (PDUMP_READ): new macro.
11421         * alloc.c (pdump_load): Replace LISP_TO_VOID with higher-level macros.
11422         * alloc.c: No need to #ifndef before #undef.
11423
11424         * print.c: Allow debug_print() to print readably by modifying
11425         debug_print_readably.  Use consistent variable names.
11426
11427         * .dbxrc: Try to get things to work even if stopped in a function
11428         without source available by explicitly specifying source files.
11429 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11430
11431         * unexnt.c (_start): Removed bogus code which caused loading heap
11432         from differrent executable file.
11433         Removed bogus assignment to _fmode, which caused inconsistencies.
11434
11435 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11436
11437         * s\windowsnt.h: Removed lots of #if 0 blocks of Emacs heritage.
11438         Have spawnve encapsulation regard DONT_ENCAPSULATE.
11439         Do not preliminary `#define signal sigset'.
11440
11441         * systime.h: Do not prototype environ on windows nt and cygwin,
11442         this conflicts with system header.
11443
11444         * syssignal.h: Use correct define for WINDOWSNT
11445
11446         * sysdep.h: Do not prototype environ on windows nt, this conflicts
11447         with system header.
11448
11449         * sysdep.c (near start of file): Fixed commentary and rearranged
11450         ifdefs in readable order.
11451         (NEED_STARTS): Do not force NEED_STARTS when PDUMPing.
11452         (start_of_text):
11453         (end_of_text):
11454         (end_of_data): Do not compile in if using PDUMP.
11455
11456         * symsinit.h: Prototyped vars_of_nt().
11457
11458         * ntproc.c (windows9x_p): Added, instead of os_subtype.
11459         (find_child_console): Use it.
11460         (sys_kill): Use it.
11461
11462         * ntheap.h: Do not extern os_subtype.
11463
11464         * ntheap.c (cache_system_info): Do not cache unneeded:
11465         nt_major_version, nt_minor_version and os_subtype.
11466         (recreate_heap): Do not compile in when PDUMPing.
11467
11468         * nt.c (geteuid and friends): Use the new varibale
11469         nt_fake_unix_uid, instead of hashing fake uid out of NT RID.
11470         (init_user_info): Removed the above mentioned hackery.
11471         (fstat, stat): Do not compile in if using MSVC 5.0 and above -
11472         stat has been fixed in the C runtime.
11473         (vars_of_nt): Added, defined the nt_fake_unix_uid variable there.
11474
11475         * file-coding.c (struct file_coding_dump): Do not define
11476         ucs_to_mule_table in the struct if not MULE.
11477         (struct struct lrecord_description fcd_description_1): Do not dump
11478         the above.
11479
11480         * emacs.c (main_1): Call vars_of_nt().
11481         (right before Fdump_emacs_data): Don't need lastfile if using both
11482         portabe dumper and system malloc.
11483
11484         * alloc.c (Fmemory_limit): Conditionalized out.
11485         (pdump): Use OPEN_BINARY for the portable dump file.
11486         (pdump_load): Ditto.
11487
11488 2000-02-02  Mike Alexander  <mta@arbortext.com>
11489
11490         * nt.c (convert_time): Set tm_isdst before calling mktime and
11491         avoid calling it at all if the compiler supports 64 bit integers.
11492         Also initialize utc_base_ft before using it.
11493
11494 2000-02-03   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
11495
11496         * frame.c (change_frame_size_1): Take f->internal_border_width
11497         into consideration when calculating the width of the frame.
11498
11499 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11500
11501         * window.c (frame_min_height):
11502         (frame_size_valid_p):
11503         (frame_pixsize_valid_p): Added.
11504         (check_frame_size): Generalized.
11505
11506         * window.h: Prototyped the above.
11507
11508         * lisp.h:
11509         * general.c: Added Qbottom_margin, Qduplex, Qlandscape,
11510         Qleft_margin, Qorientation, Qportrait, Qright_margin, Qtop_margin.
11511         Deleted Vwin32_* and Vbinary_process_* unused variables.
11512
11513         * device-msw.c (msprinter_init_device): Do not get printer font
11514         list; Added DEVMODE functions.
11515
11516         * frame-msw.c: Added lots of printer code.
11517
11518         * faces.c: Moved 'left-margin and 'right-margin defsymbols to
11519         general.c.
11520
11521         * console-msw.h: Added more msprinter device private slots.
11522
11523 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11524
11525         * event-msw.c (key_needs_default_processing_p): Added.
11526         (mswindows_wnd_proc, WM_KEYUP, KEYDOWN): Call it.
11527
11528 2000-01-29  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11529
11530         * glyphs.c (image_instance_layout): Mark image instance as clean
11531         after layout.
11532         (glyph_dirty_p): Removed redundant function.
11533         (invalidate_glyph_geometry_maybe): Added.
11534         (update_glyph_cachel_data): Call it.
11535
11536         * glyphs.h: Prototyped it.
11537
11538         * redisplay.c (add_glyph_rune): Call it.
11539         (redisplay_window): Reset glyphs cachels when frame faces have
11540         changed, thus forcing recomputation of built-in border glyphs.
11541
11542 2000-01-30  Martin Buchholz  <martin@xemacs.org>
11543
11544         * Makefile.in.in: Make portable dumper and purify play well together.
11545         Add imperfect, but better than nothing, support for pdump.
11546         Remove xemacs.dmp when temacs is re-generated.
11547         Don't ignore errors when dumping xemacs.
11548
11549         * symbols.c (maybe_call_magic_handler): Remove one magic number.
11550
11551 2000-01-28  Andy Piper  <andy@xemacs.org>
11552
11553         * frame.c (allocate_frame_core): Use new Fset_window_buffer signature.
11554         (setup_normal_frame): ditto.
11555         (setup_frame_without_minibuffer): ditto.
11556         (setup_minibuffer_frame): ditto.
11557         (delete_frame_internal): ditto.
11558         (Fmake_frame_invisible): ditto.
11559         (Ficonify_frame): ditto.
11560
11561         * window.h: change Fset_window_buffer signature.
11562
11563         * window.c (Fsplit_window): Use new Fset_window_buffer signature.
11564         (Fset_window_buffer): allow recording of buffer if the window is
11565         the selected window.
11566         (window_loop): Use new Fset_window signature.
11567
11568 2000-01-23  Daniel Pittman  <daniel@danann.net>
11569
11570         * config.h.in: Added template for `HAVE_ATHENA_3D'
11571
11572 2000-01-29  Andy Piper  <andy@xemacs.org>
11573
11574         * glyphs-x.c (x_resize_subwindow): Try and catch bogus resizes.
11575
11576         * gutter.c (output_gutter): Don't output if the window isn't live.
11577
11578 2000-01-28  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11579
11580         * glyphs-msw.c (mswindows_unmap_subwindow): Fix of corrupted patch
11581         of 01/12/00: Moved SetFocus back here where it belongs.
11582
11583 2000-01-23  Andy Piper  <andy@xemacs.org>
11584
11585         * s/cygwin32.h: declare printer things.
11586
11587 2000-01-26  Andy Piper  <andy@xemacs.org>
11588
11589         * select.c (Fown_selection_internal): GCPRO bug fix from Mike
11590         Alexander.
11591
11592 2000-01-24  Andy Piper  <andy@xemacs.org>
11593
11594         * glyphs-msw.c (mswindows_locate_pixmap_file): Expand filename.
11595         (mswindows_button_instantiate): Make sure glyph is a pixmap.
11596
11597         * glyphs-widget.c (widget_instantiate): Avoid shadows.
11598
11599         * frame-msw.c (msprinter_init_frame_3): Nuke warning.
11600
11601         * glyphs-msw.c: (mswindows_string_to_color): remove declaration.
11602
11603         * redisplay-msw.c (mswindows_output_cursor): Avoid shadows.
11604         (mswindows_output_display_block): Avoid local shadows.
11605
11606         * event-msw.c (mswindows_enqueue_magic_event): Avoid shadows.
11607         (mswindows_enqueue_mouse_button_event): ditto.
11608         (mswindows_handle_gui_wm_command): remove declaration.
11609
11610         * console-msw.c (mswindows_canonicalize_console_connection): Avoid
11611         warnings.
11612
11613         * console-msw.h: Avoid shadows.
11614         (mswindows_get_toolbar_button_text):
11615         (emacs_mswindows_create_stream_pair):
11616         (emacs_mswindows_delete_stream_pair):
11617         (mswindows_handle_toolbar_wm_command): declare.
11618
11619         * device-msw.c (build_syscolor_string): Avoid shadows.
11620
11621 2000-01-23  Andy Piper  <andy@xemacs.org>
11622
11623         * glyphs-widget.c (widget_instantiate): reverse the items for
11624         layouts so that children are in the expected order.
11625
11626 2000-01-28  Martin Buchholz  <martin@xemacs.org>
11627
11628         * ralloc.c: safe_bcopy ==> memmove
11629         * gmalloc.c: Remove MEMMOVE_MISSING conditional code.
11630         * s/msdos.h: Remove BCOPY macros.
11631         * insdel.c (gap_right): Remove BCOPY conditional code.
11632         * insdel.c (gap_left): Remove BCOPY conditional code.
11633         XEmacs demands a working ANSI C compiler - hence memmove.
11634
11635         * regex.c (regex_compile): Remove accidental use of trigraphs.
11636
11637 2000-01-27  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11638
11639         * event-msw.c (mswindows_enqueue_misc_user_event): Initialize
11640         event timestamp.
11641
11642 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11643
11644         * event-msw.c (mswindows_drain_windows_queue): Added the
11645         parameter.
11646         (mswindows_need_event): Commented the call to
11647         mswindows_drain_windows_queue().
11648         (emacs_mswindows_quit_p): Lookup the windows for keyboard messages
11649         only.
11650
11651         * console-msw.h: Moved a few function prototypes here from
11652         event-msw.c.
11653
11654         * gui-msw.c (mswindows_handle_gui_wm_command): Changed the ID
11655         parameter from unsigned short to unsigned long.
11656         (Fmswindows_shell_execute): Added return value.
11657
11658 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
11659
11660         * sysdep.c (init_system_name):
11661           process-unix.c (unix_canonicalized_host_name):
11662         Don't call freeaddrinfo() if getaddrinfo() fails.
11663
11664         * process-unix.c (unix_open_unix_network_stream):
11665         Moved the code to get a port # into address loop.
11666
11667 2000-01-27  Martin Buchholz  <martin@xemacs.org>
11668
11669         * buffer.c (reinit_vars_of_buffer):
11670         The right place to initialize conversion_in_dynarr and
11671         conversion_out_dynarr.
11672
11673         * alloc.c (pdump): Use the real open() till sys_open() is functional.
11674
11675         * process-unix.c (unix_canonicalize_host_name): Muleize.
11676         (unix_open_network_stream): Muleize.
11677
11678         * buffer.h: Fix up prototypes for ralloc.c functions.
11679
11680 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
11681         * config.h.in: added HAVE_GETADDRINFO and HAVE_GETNAMEINFO
11682         * sysdep.c: In init_system_name(), add code to use getaddrinfo()
11683                 instead of gethostbyname()
11684         * process-unix.c: In unix_canonicalize_host_name() and
11685                 unix_open_network_stream(), add code to use getaddrinfo()
11686                 instead of gethostbyname().
11687
11688 2000-01-27  Daniel Pittman <daniel@danann.net>
11689
11690         * device-x.c (x_init_device): Warn at run-time if using Athena 3d
11691         libs when built with flat Athena.
11692
11693 2000-01-27  Martin Buchholz  <martin@xemacs.org>
11694
11695         * ralloc.c: Replace SIZE (conflicts with Windows headers) with size_t.
11696         Use coding standards for function prototypes.
11697
11698 2000-01-25  Martin Buchholz  <martin@xemacs.org>
11699
11700         * dialog-msw.c (push_lisp_string_as_unicode):
11701         * doc.c (unparesseuxify_doc_string):
11702         * dired.c (Fuser_name_completion_1):
11703         * dired.c (Fuser_name_all_completions):
11704         * dired.c (free_user_cache):
11705         * dired.c (user_name_completion):
11706         * console-x.c (get_display_arg_connection):
11707         * minibuf.c (clear_echo_area_internal):
11708         * minibuf.c (echo_area_append):
11709         * eldap.c (Fldap_open):
11710         * eldap.c (Fldap_search_internal):
11711         * frame-x.c (x_set_frame_text_value):
11712         * frame-x.c (x_set_frame_properties):
11713         * frame-x.c (x_create_widgets):
11714         * redisplay-tty.c (term_get_fkeys_1):
11715         * objects-x.c (x_parse_nearest_color):
11716         * objects-x.c (x_valid_color_name_p):
11717         * objects-x.c (x_initialize_font_instance):
11718         * objects-x.c (x_list_fonts):
11719         * objects-x.c (x_find_charset_font):
11720         * tooltalk.c (Fadd_tooltalk_message_arg):
11721         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
11722         * tooltalk.c (Fadd_tooltalk_pattern_arg):
11723         * process-unix.c (unix_create_process):
11724         * ntproc.c (sys_spawnve):
11725         * sound.c (Fplay_sound_file):
11726         * sound.c (Fplay_sound):
11727         * buffer.c (init_initial_directory):
11728         * buffer.c (init_buffer):
11729         * editfns.c (init_editfns):
11730         * editfns.c (Ftemp_directory):
11731         * editfns.c (Fuser_full_name):
11732         * editfns.c (uncache_home_directory):
11733         * editfns.c (get_home_directory):
11734         * editfns.c (Fuser_home_directory):
11735         * editfns.c (Fformat_time_string):
11736         * editfns.c (Fcurrent_time_string):
11737         * gui-x.c (button_item_to_widget_value):
11738         * database.c (Fopen_database):
11739         * event-Xt.c (x_to_emacs_keysym):
11740         * event-Xt.c (x_event_to_emacs_event):
11741         * event-Xt.c (describe_event_window):
11742         * event-msw.c (mswindows_wnd_proc):
11743         * glyphs-eimage.c (jpeg_instantiate):
11744         * glyphs-eimage.c (gif_instantiate):
11745         * glyphs-eimage.c (png_instantiate):
11746         * glyphs-eimage.c (tiff_instantiate):
11747         * glyphs-x.c (xbm_instantiate_1):
11748         * glyphs-x.c (x_xbm_instantiate):
11749         * glyphs-x.c (x_xface_instantiate):
11750         * glyphs-x.c (autodetect_instantiate):
11751         * glyphs-x.c (cursor_font_instantiate):
11752         * glyphs-x.c (x_widget_instantiate):
11753         * glyphs-x.c (x_widget_set_property):
11754         * glyphs-x.c (x_widget_property):
11755         * glyphs-x.c (BUILD_GLYPH_INST):
11756         * print.c (write_string_to_stdio_stream):
11757         * print.c (output_string):
11758         * print.c (Falternate_debugging_output):
11759         * print.c (Fexternal_debugging_output):
11760         * glyphs-msw.c (extract_xpm_color_names):
11761         * glyphs-msw.c (mswindows_xpm_instantiate):
11762         * glyphs-msw.c (bmp_instantiate):
11763         * glyphs-msw.c (resource_name_to_resource):
11764         * glyphs-msw.c (mswindows_resource_instantiate):
11765         * glyphs-msw.c (xbm_instantiate_1):
11766         * glyphs-msw.c (mswindows_xbm_instantiate):
11767         * glyphs-msw.c (mswindows_xface_instantiate):
11768         * glyphs-msw.c (mswindows_widget_instantiate):
11769         * glyphs-msw.c (add_tree_item):
11770         * glyphs-msw.c (add_tab_item):
11771         * glyphs-msw.c (mswindows_combo_box_instantiate):
11772         * glyphs-msw.c (mswindows_widget_property):
11773         * glyphs-msw.c (mswindows_combo_box_property):
11774         * glyphs-msw.c (mswindows_widget_set_property):
11775         * console.c (stuff_buffered_input):
11776         * objects-msw.c (mswindows_initialize_color_instance):
11777         * objects-msw.c (mswindows_valid_color_name_p):
11778         * objects-msw.c (mswindows_list_fonts):
11779         * objects-msw.c (mswindows_font_instance_truename):
11780         * bytecode.c (optimize_compiled_function):
11781         * select-x.c (symbol_to_x_atom):
11782         * select-x.c (x_atom_to_symbol):
11783         * select-x.c (hack_motif_clipboard_selection):
11784         * select-x.c (selection_data_to_lisp_data):
11785         * select-x.c (lisp_data_to_selection_data):
11786         * select-x.c (Fx_get_cutbuffer_internal):
11787         * select-x.c (Fx_store_cutbuffer_internal):
11788         * buffer.h (TO_EXTERNAL_FORMAT): New function.
11789         * buffer.h (TO_INTERNAL_FORMAT): New function.
11790         * emacs.c (make_arg_list_1):
11791         * emacs.c (make_argc_argv):
11792         * emacs.c (main_1):
11793         * emacs.c (Fdump_emacs):
11794         * emacs.c (split_string_by_emchar_1):
11795         * file-coding.h:
11796         * lisp.h:
11797         * lstream.h:
11798         * symsinit.h:
11799         * device-x.c (x_init_device):
11800         * device-x.c (Fx_valid_keysym_name_p):
11801         * device-x.c (Fx_get_font_path):
11802         * device-x.c (Fx_set_font_path):
11803         * glyphs.c (bitmap_to_lisp_data):
11804         * glyphs.c (pixmap_to_lisp_data):
11805         * alloc.c (make_ext_string): Use coding system arguments.  Update
11806         all callers.
11807         * alloc.c (build_string):
11808         * callproc.c (child_setup):
11809         * callproc.c (init_callproc):
11810         * fileio.c (lisp_strerror):
11811         * fileio.c (directory_file_name):
11812         * fileio.c (Fexpand_file_name):
11813         * fileio.c (Ffile_truename):
11814         * fileio.c (Fsysnetunam):
11815         * fileio.c (Fdo_auto_save):
11816         * sysdep.c (sys_readdir):
11817         * tests.c: New file.  Allow adding C tests.
11818         Replace GET_* macros with a more comprehensible and flexible
11819         interface, TO_INTERNAL_FORMAT() and TO_EXTERNAL_FORMAT().
11820         Modify all calls.
11821         Any coding system can be used to do format conversion.
11822         Eliminate enum external_data_format.
11823         Eliminate convert_to_external_format.
11824         Eliminate convert_to_internal_format.
11825         Make sure file-name, keyboard, terminal, and ctext are always
11826         defined as coding systems or aliases.  Make
11827         file-name-coding-system, terminal-coding-system, and
11828         keyboard-coding-system magical variables that are equivalent to
11829         defining the corresponding coding system aliases.
11830
11831         * file-coding.c (Fcoding_system_canonical_name_p): New function.
11832         * file-coding.c (Fcoding_system_alias_p): New function.
11833         * file-coding.c (Fcoding_system_aliasee): New function.
11834         * file-coding.c (append_suffix_to_symbol): New function.
11835         * file-coding.c (dangling_coding_system_alias_p): New function.
11836         * file-coding.c (Ffind_coding_system):
11837         * file-coding.c (Fcopy_coding_system):
11838         * file-coding.c (encode_coding_no_conversion):
11839         * file-coding.c (syms_of_file_coding):
11840         * file-coding.c (vars_of_file_coding):
11841         Rewrite coding system alias code.
11842         Allow nested aliases, like symbolic links.
11843         Allow redefinition of coding system aliases.
11844         Prevent existence of dangling coding system aliases.
11845
11846         * dired.c (Fuser_name_completion_1):
11847         * dired.c (Fuser_name_all_completions):
11848         A crash would happen if user did QUIT in the middle of building
11849         user_name_cache.  Remove redundant code in mainline and unwind_protect.
11850
11851         * lisp.h:
11852         * dynarr.c (Dynarr_min_size): Make static.  Increase value to 8.
11853
11854         * lstream.c (make_fixed_buffer_input_stream): Take a void *, not
11855         an unsigned char *.  Update all callers.
11856
11857 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11858
11859         * callproc.c (Fcall_process_internal): Ignore Vbinary-process_output.
11860
11861 2000-01-25  Martin Buchholz  <martin@xemacs.org>
11862
11863         * elhash.c (hentry_description): Use more portable definition.
11864         (resize_hash_table): Initialize new hentries using
11865         xnew_array_and_zero, thereby simplifying the code.
11866
11867         * mule-charset.c (make_charset): Make sure entire object is
11868         initialized, to avoid Purify warnings.
11869
11870         * alloc.c (resize_string): Fix unlikely crash with big strings.
11871
11872 2000-01-24  Martin Buchholz  <martin@xemacs.org>
11873
11874         * realpath.c (xrealpath):
11875         Don't call getwd().
11876
11877 2000-01-25  Martin Buchholz  <martin@xemacs.org>
11878
11879         * lread.c (read_bit_vector): Fix memory leak reading literal bit vectors.
11880
11881 1999-12-28  Max Matveev  <max@melbourne.sgi.com>
11882
11883         * unexelfsgi.c (unexec): Change the way we decide which segment
11884         should be extended.
11885
11886         Assumption that .bss section should be outside the PT_LOADable
11887         segment. On IRIX with version 6.2 and above, .bss (or .sbss, if
11888         it's present) is inside the 'data' segment. This would fail the
11889         test which was used to find a segment to grow and cover new
11890         heap. Instead of this assumption, I created another one - on IRIX
11891         the segment to grow should start below .bss and it's address
11892         should extent above the end of .bss. Once this segment is
11893         identified, it's grown to accommodate the new heap and new
11894         zero-length .bss section is added at the end of .data2.
11895
11896 2000-01-25  Martin Buchholz  <martin@xemacs.org>
11897
11898         * eval.c (Feval): Wrong number of arguments should use original
11899         function, not the indirect_function version of it.
11900
11901 2000-01-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
11902
11903         * glyphs-x.c (x_button_instantiate): Don't add image if
11904         it is not a pixmap.
11905         (x_locate_pixmap_file): Call Fexpand_file_name when file name
11906         is relative.
11907
11908 2000-01-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
11909
11910         * symeval.h (DEFVAR_LISP_MAGIC): Remove semicolon after macro
11911         declaration.
11912         (DEFVAR_INT_MAGIC): Ditto.
11913         (DEFVAR_BOOL_MAGIC): Ditto.
11914         * glyphs.h: Reindent backslash.
11915
11916 2000-01-24  Martin Buchholz  <martin@xemacs.org>
11917
11918         * glyphs-widget.c (layout_query_geometry):
11919         (layout_layout): Use correct types for gheight, gwidth.
11920
11921 2000-01-24  Martin Buchholz  <martin@xemacs.org>
11922
11923         * EmacsManager.c (QueryGeometry): Purified.
11924
11925 2000-01-23  Martin Buchholz  <martin@xemacs.org>
11926
11927         * alloc.c (make_float): Make sure entire object is initialized, to
11928         avoid Purify warnings.
11929         (pdump_register_sub): Remove useless assignment.
11930         (pdump): Use xmalloc, not malloc.
11931         (pdump_load): Use xmalloc, not malloc.
11932
11933 2000-01-23  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11934
11935         * callproc.c:
11936         * dired-msw.c:
11937         * fileio.c:
11938         * process-nt.c:
11939         * redisplay-msw.c:
11940         * sysdep.c: Removed redundant #include <windows.h>
11941
11942 2000-01-22  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11943
11944         * frame.c (delete_frame_internal): Do not delete device when its
11945         implementation so declares.
11946         (delete_frame_internal): Set device selected frame to nil when
11947         last frame goes away.
11948
11949         * device-msw.c (msprinter_device_system_metrics): Implemented.
11950         (mswindows_device_system_metrics): Added 'device-dpi property.
11951
11952         * device.c: (Fdevice_printer_p): Added.
11953         Added 'offset-workspace device metric.
11954
11955         * console.h (device_metrics): Declared DM_offset_workspace.
11956
11957 2000-01-23  Martin Buchholz  <martin@xemacs.org>
11958
11959         * fileio.c (Ffile_truename): Remove pointless and confusing
11960         initialization of elen.
11961
11962         * glyphs-widget.c: Compiler warning fixes.
11963
11964 2000-01-23  Gunnar Evermann  <ge204@eng.cam.ac.uk>
11965
11966         * process.h (PROCESS_LIVE_P): Modify to take a Lisp_Process
11967         instead of a Lisp_Object as argument to make it consistent with
11968         the other LIVE_P macros.
11969         (CHECK_LIVE_PROCESS): New macro.
11970
11971         * process.c: Declare Qprocess_live_p.
11972         (Fprocess_live_p): New function.
11973         (create_process): Use PROCESS_LIVE_P.
11974         (read_process_output): Ditto.
11975         (set_process_filter): Ditto.
11976         (Fdelete_process): Ditto.
11977         (kill_buffer_processes): Ditto
11978         (process_send_signal): Use CHECK_LIVE_PROCESS.
11979         (Fprocess_input_coding_system): Check whether process is still
11980         alive (fix PR#1061).
11981         (Fprocess_output_coding_system): Ditto.
11982         (Fprocess_coding_system): Ditto.
11983         (Fset_process_input_coding_system): Ditto.
11984         (Fset_process_output_coding_system): Ditto.
11985
11986 2000-01-23  Andy Piper  <andy@xemacs.org>
11987
11988         * glyphs.h (struct Lisp_Image_Instance): change format by unifying
11989         layout and widget.
11990
11991         * glyphs.c (mark_image_instance): take into account changed
11992         image_instance format.
11993         (image_instance_equal): ditto.
11994         (image_instance_hash): ditto.
11995
11996         * glyphs-widget.c (widget_instantiate): Incorporate layout
11997         instantiation here. Delay layout of the layout until later.
11998         (layout_instantiate): deleted.
11999         (layout_query_geometry): new function. get the geometry of a
12000         layout.
12001         (layout_layout): layout a layout dynamically.
12002         (image_instantiator_widget): New function - splitting up
12003         image_instantiator_format_create_glyphs_widget for netwinder
12004         compilation.
12005         (image_instantiator_buttons):
12006         (image_instantiator_edit_fields):
12007         (image_instantiator_combo_box):
12008         (image_instantiator_scrollbar):
12009         (image_instantiator_progress_guage):
12010         (image_instantiator_tree_view):
12011         (image_instantiator_tab_control):
12012         (image_instantiator_labels):
12013         (image_instantiator_layout): ditto.
12014         (image_instantiator_format_create_glyphs_widget): Call preceding
12015         functions.
12016
12017 2000-01-22  Martin Buchholz  <martin@xemacs.org>
12018
12019         * process.c (Fset_process_coding_system):
12020         * device-x.c (Fx_keysym_hash_table):
12021         Docstring fixes.
12022
12023         * lstream.c (Lstream_write): Return documented value, not 0.
12024
12025         * fileio.c (directory_file_name):
12026         (Fsubstitute_in_file_name):
12027         (Fsubstitute_insert_file_contents_internal):
12028         (Fwrite_region_internal):
12029         * emacs.c:
12030         * sysdep.c:
12031         * getloadavg.c:
12032         * systty.h:
12033         Remove vestigial APOLLO-conditional code.
12034
12035 2000-01-21  Martin Buchholz  <martin@xemacs.org>
12036
12037         * getpagesize.h: Add guard macros.
12038         * libsst.h: Add guard macros.
12039         * libst.h: Add guard macros.
12040         * line-number.h: Add guard macros.
12041         * ndir.h: Add guard macros.
12042         * sysfloat.h: Add guard macros.
12043         * sysfile.h: Add guard macros.
12044         * sysproc.h: Add guard macros.
12045         * syswait.h: Add guard macros.
12046         * xintrinsic.h: Add guard macros.
12047         * xintrinsicp.h: Add guard macros.
12048         * xmmanager.h: Add guard macros.
12049         * xmmanagerp.h: Add guard macros.
12050         * xmprimitive.h: Add guard macros.
12051         * xmu.h: Add guard macros.
12052         * gpmevent.h: Add copyright statement. Add guard macros.
12053         * miscplay.h: Add guard macros.
12054         * *.h: Use consistent C-standards-approved guard macro names.
12055
12056         * opaque.c (make_opaque): Switch parameter order.
12057         * opaque.h (make_opaque): Switch parameter order.
12058         Update all callers.
12059         * buffer.h (MAKE_MIRROR_TRT_TABLE): Use symbolic constant OPAQUE_CLEAR.
12060
12061         * config.h.in (type_checking_assert): Added.
12062         (bufpos_checking_assert): Added.
12063
12064 2000-01-21  Martin Buchholz  <martin@xemacs.org>
12065
12066         * alloc.c: Harmless pdump changes.
12067         - Use countof().
12068         - spell alignment correctly.
12069         * sysdep.c: Use countof()
12070
12071 2000-01-20  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12072
12073         * console.c (create_console): Use CONMETH_OR_GIVEN when calling
12074         initially_selected_for_input() console method, default to 0.
12075         (semi_canonicalize_console_connection): Try to delegate to
12076         canonicalize_console_connection if no such console method.
12077         (canonicalize_console_connection): Vice versa.
12078         (print_console): Do not print nil connection.
12079
12080         * console.h (XDEVIMPF_IS_A_PRINTER): Added.
12081         (XDEVIMPF_NO_AUTO_REDISPLAY): Added.
12082         (XDEVIMPF_FRAMELESS_OK): Added.
12083         (CONSOLE_INHERITS_METHOD): Added.
12084
12085         * console-msw.c (mswindows_canonicalize_console_connection):
12086         Added.
12087         (mswindows_canonicalize_device_connection): Added.
12088
12089         * console-msw.h (struct msprinter_device): Added this struct and
12090         accessor macros.
12091         (mswindows_device): Made fontlist a lisp object.
12092
12093         * device.c (semi_canonicalize_device_connection):  Try to delegate
12094         to canonicalize_device_connection if no such console method.
12095         (canonicalize_device_connection): Vice versa.
12096         (print_device): Do not print nil connection.
12097
12098         * device-msw.c (mswindows_init_device): Call InitCommonControls
12099         when have widgets.
12100         (mswindows_delete_device): Removed fontlist deallocation.
12101         (mswindows_mark_device): Added.
12102
12103         * events.c (event_equal): Added abort() at unreached code.
12104         (event_hash): Ditto.
12105
12106         * faces.c (complex_vars_of_faces): Added Qmsprinter to the list of
12107         fallback tags of Windows devices.
12108
12109         * general.c (syms_of_general): Initialized Qmsprinter.
12110
12111         * gutter.c (complex_vars_of_gutters): Added Qmsprinter to the list
12112         of fallback tags of Windows devices.
12113
12114         * lisp.h: Declared Qmsprinter.
12115
12116         * objects-msw.c (font_enum_callback_2): Rewrote to build lisp list
12117         of strings.
12118         (mswindows_list_fonts): Ditto.
12119         (mswindows_enumerate_fonts): Removed dependency on XDEVICE, so
12120         that it can be used by both mswindows and msprinter devices.
12121         (initialize_font_instance): Added.
12122         (mswindows_initialize_font_instance): Use it.
12123         (msprinter_initialize_font_instance): Added.
12124
12125         * redisplay.c (redisplay_device): Added the parameter AUTOMATIC
12126         and implementation flags check.
12127         (redisplay_without_hooks): Changed the call to the above.
12128         (Fredraw_device): Ditto.
12129         (Fredisplay_device): Ditto.
12130
12131         * redisplay-msw.c (get_frame_dc): Implemented.
12132         (get_frame_compdc): Implemented.
12133         (many functions): Use the two functions above to get device
12134         contexts, ether for a window or a printer.
12135
12136 2000-01-21  Olivier Galibert  <galibert@pobox.com>
12137
12138         * symbols.c (reinit_symbols_once_early): Put Qzero/Qnull_pointer
12139         initialization here.
12140         (init_symbols_once_early): Call it.
12141         * emacs.c (main_1): Call it.
12142         * symsinit.h: Declare it.
12143
12144 2000-01-19  Olivier Galibert  <galibert@pobox.com>
12145
12146         * alloc.c: Use a lrecord_header * in the backtrace instead of a
12147         Lisp_Object.
12148         (pdump_backtrace): Ditto.
12149         (pdump_register_object): Ditto.  Cleanup use of the pointers.
12150         (pdump_get_entry): Abort if trying to register a null pointer.
12151         (pdump_dump_data): Cleanup types when relocating.
12152         (pdump_dump_staticvec): Cleanup types w.r.t the reloc table.
12153         (pdump_dump_rtables): Remove bad casts.
12154         (pdump_load): Cleanup relocation w.r.t union type.  Use a
12155         Lisp_Object instead of a EMACS_INT for the hashtable
12156         reorganization.
12157
12158 2000-01-20  Martin Buchholz  <martin@xemacs.org>
12159
12160         * emacs.c (main_1): Rearrange morass of #ifdef's for correctness.
12161
12162         * callproc.c (call_process_cleanup): Isolate WINDOWSNT code for clarity.
12163
12164         * EmacsManager.c (GeometryManager): Avoid use of CPP for clarity.
12165
12166         * *.[ch]: global-replace 's/_of_xselect/_of_select_x/g' *.[ch]
12167
12168 2000-01-17  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12169
12170         * faces.h (FACE_STRIKETHRU_P): Added.
12171
12172         * glyphs-msw.c (mswindows_widget_hfont): Implemented, to take care
12173         of font variants.
12174
12175         * redisplay-msw.c (mswindows_apply_face_effects): Deleted.
12176         (mswindows_set_dc_font): New function, aware of font variants,
12177         separated from mswindows_update_dc.
12178
12179         * objects-msw.h (struct mswindows_font_instance_data): Added
12180         definition.
12181
12182         * objects-msw.c (mswindows_finalize_font_instance): Delete all
12183         cached fonts and the data structure.
12184         (mswindows_initialize_font_instance): Added creation of font data
12185         structure.
12186         (mswindows_print_font_instance): Print at least something.
12187         (mswindows_create_font_variant): Implemented.
12188         (mswindows_get_hfont): Implemented.
12189
12190 2000-01-13  Fabrice Popineau  <Fabrice.Popineau@supelec.fr>
12191
12192         * dired-msw.c: permute "sysdir.h" with "sysfile.h" because of
12193         prototyping problem with msvc.
12194
12195         * emacs.c (main_1): added syms_of_gui_mswindows() call
12196
12197         * gui-msw.c: added "mswindows-shell-execute" lisp subr and
12198         syms_of_gui_mswindows() function
12199
12200         * symsinit.h: added the prototype for syms_of_gui_mswindows()
12201
12202 2000-01-18  Martin Buchholz <martin@xemacs.org>
12203
12204         * XEmacs 21.2.27 is released.
12205
12206 2000-01-18  Martin Buchholz  <martin@xemacs.org>
12207
12208         * glyphs-eimage.c (struct tiff_error_struct):
12209         (tiff_error_func):
12210         (tiff_warning_func):
12211         #if HAVE_VSNPRINTF ==> #ifdef HAVE_VSNPRINTF
12212
12213         * unexmips.c:
12214         * unexhp9k3.c:
12215         * unexfreebsd.c:
12216         * unexec.c: Remove vestigial Lucid C code.
12217         * unexalpha.c:
12218         * unexaix.c:
12219         * termcap.c:
12220         * libsst.c: Ansify.
12221         Remove declarations of errno and strerror().
12222
12223         * eval.c (Fbacktrace): Small Purify-cation.  Fix docstring.
12224
12225         * .dbxrc (run-temacs): Use the horrible ${1+"$@"} instead of "$@".
12226
12227 2000-01-16  Martin Buchholz  <martin@xemacs.org>
12228
12229         * mule-charset.c (Fchar_octet): Resurrect from earlier in 1999.
12230         Optimize.
12231
12232 2000-01-14  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
12233
12234         * md5.c:
12235         * file-coding.c:
12236         * file-coding.h:
12237         Change enum eol_type to eol_type_t.
12238
12239 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
12240
12241         * gui.c (get_gui_callback): Check cons before accessing car.
12242
12243 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
12244
12245         * specifier.h (XSPECIFIER_TYPE): Add error checking version.
12246         (XSETSPECIFIER_TYPE): Ditto.
12247
12248 2000-01-17  Didier Verna  <didier@xemacs.org>
12249
12250         * redisplay.c (generate_fstring_runes): compute string size in
12251         characters, not bytes.
12252
12253 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
12254
12255         * window.c (Fwindow_minibuffer_p): Make WINDOW optional.
12256
12257 2000-01-14  Hrvoje Niksic  <hniksic@iskon.hr>
12258
12259         * print.c (print_error_message): Call print_prepare().
12260
12261 2000-01-14  Martin Buchholz  <martin@xemacs.org>
12262
12263         * .dbxrc: Renamed from dbxrc.
12264
12265         * events.c (event_to_character):
12266         Use `assert (foo)' instead of `if (!foo) abort()'
12267
12268         * .gdbinit (xtype): Add documentation.
12269         * .gdbinit (check-temacs): New function.
12270         * .gdbinit (check-xemacs): New function.
12271         * dbxrc (check-xemacs): New function.
12272         * dbxrc (check-xemacs): New function.
12273
12274 2000-01-14  Andy Piper  <andy@xemacs.org>
12275
12276         * glyphs-widget.c (widget_query_geometry): Make sure that we
12277         calculate default dimensions correctly.
12278
12279 2000-01-13  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12280
12281         * symsinit.h: Added prototype for reinit_vars_of_frame_mswindows.
12282
12283         * event-msw.c (vars_of_event_mswindows): Fixed a mistyped
12284         pdump_wire'd variable.
12285
12286         * emacs.c: (main_1): Conditionalized calls to
12287         reinit_vars_of_scrollbar_x and reinit_vars_of_module.
12288
12289 2000-01-13  Martin Buchholz  <martin@xemacs.org>
12290
12291         * window.c (Fset_window_configuration):
12292         * sysdep.c (_start):
12293         * input-method-motif.c (res):
12294         * event-Xt.c (Xt_process_to_emacs_event):
12295         Simple compiler warning fixes.
12296
12297         * bytecode.c (funcall_compiled_function): Use the original
12298         function symbol on the backtrace list in preference to the
12299         compiled_function object in error messages.
12300
12301 2000-01-13  Andy Piper  <andy@xemacs.org>
12302
12303         * glyphs-x.c (update_widget_face): Make sure we update the widget
12304         background as well as foreground.
12305
12306 2000-01-13  Andy Piper  <andy@xemacs.org>
12307
12308         * glyphs.h (struct Lisp_Image_Instance): Move justify and orient
12309         fields to subwindow.
12310         (IMAGE_INSTANCE_SUBWINDOW_JUSTIFY): new macro.
12311         (XIMAGE_INSTANCE_SUBWINDOW_JUSTIFY): ditto.
12312         (IMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
12313         (XIMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
12314
12315         * glyphs-widget.c (check_valid_tab_orientation): new function.
12316         (initialize_widget_image_instance): zero orientation and
12317         justification.
12318         (widget_instantiate): pick up orientation.
12319         (tab_control_query_geometry): return appropriate values for
12320         vertical tabs.
12321
12322         * glyphs-msw.c: (mswindows_tab_control_instantiate): assign
12323         appropriate creation flags for left, right and bottom tabs.
12324
12325         * s/cygwin32.h: add tab definitions.
12326
12327 2000-01-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12328
12329         * glyphs-msw.c (mswindows_unmap_subwindow): Set focus back to the
12330         frame upon hiding a subwindow.
12331         (mswindows_button_instantiate): Changed the push button style to
12332         BS_PUSHBUTTON.
12333         (mswindows_button_instantiate): Removed button BS_NOTIFY
12334         style.
12335         (mswindows_button_instantiate): Removed redundant check for
12336         a disabled gui item.
12337         (mswindows_button_instantiate): Made use of WS_TABSTOP
12338         consistent: "operable" controls (edit, button, tree, scroll) have
12339         this style, "display-only" ones (static, progress gauge) do
12340         not. This style is currently ignored by XEmacs though. Also,
12341         removed the WS_EX_CONTROLPARENT style - it is not for children,
12342         it is for their parents!
12343         (mswindows_edit_field_instantiate): Ditto.
12344         (mswindows_progress_gauge_instantiate): Ditto.
12345         (mswindows_tree_view_instantiate): Ditto.
12346         (mswindows_tab_control_instantiate): Ditto.
12347         (mswindows_scrollbar_instantiate): Ditto.
12348         (mswindows_combo_box_instantiate): Ditto.
12349         (mswindows_widget_instantiate): Added the WS_EX_CONTROLPARENT
12350         style to the "clip" window.
12351         (mswindows_button_instantiate): Removed compilation warning by
12352         equally typing terms of the ?: operator.
12353
12354 2000-01-12  Didier Verna  <didier@xemacs.org>
12355
12356         * redisplay.c (generate_fstring_runes): new parameter holding the
12357         last modeline-format extent.
12358         (add_glyph_to_fstring_db_runes): new parameter holding the glyph
12359         extent, fill the glyph block with it.
12360         (generate_fstring_runes): handle these parameters.
12361         (generate_formatted_string_db): ditto.
12362
12363         * keymap.c (get_relevant_keymaps): retreive the keymaps from the
12364         glyphs'extents in the modeline.
12365
12366 1999-01-11  Mike Woolley  <mike@bulsara.com>
12367
12368         * ntheap.c: Reduced the reserved heap space from 1Gb down to
12369         256Mb, as a workaround for the non-starting problem many people
12370         have experienced.
12371
12372 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
12373
12374         * console-tty.c (Fset_console_tty_output_coding_system):
12375         Force redrawing tty frame.
12376
12377 2000-01-10  Didier Verna  <didier@xemacs.org>
12378
12379         * redisplay.c (generate_fstring_runes): fix size computation bug.
12380
12381 2000-01-09  William M. Perry <wmperry@aventail.com>
12382
12383         * gpmevent.c: (gpm_next_event_cb): Don't return value from void function.
12384
12385 2000-01-09  Andy Piper  <andy@xemacs.org>
12386
12387         * glyphs-msw.c: index -> i to avoid shadows.
12388         (xbm_create_bitmap_from_data): make static.
12389         (check_valid_string_or_int): deleted.
12390         (mswindows_control_wnd_proc): message -> msg to avoid shadows.
12391
12392         * glyphs-x.c (x_update_subwindow): remove unused args.
12393
12394         * glyphs.c (glyph_image_instance): return the thing. Don't set the
12395         back pointer - this is done in allocate_image_instance.
12396         (query_string_font): return Qnil to make the compiler happy.
12397         (unmap_subwindow): set to ~0 to make the compiler happy.
12398         (glyph_query_geometry): comment out until used.
12399         (glyph_layout): ditto.
12400
12401 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
12402
12403         * insdel.c (signal_after_change): Remove extraneous unbind_to().