d4db3f7ebcba82c2cd8df040f6ae9a652555bf9e
[chise/xemacs-chise.git] / src / ChangeLog
1 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2
3         * mule-charset.c (charset_code_point): Unify code about
4         `code-offset'.
5
6 2001-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
7
8         * mule-charset.c (charset_code_point): Merge code about builtin
9         characters into code about mother charsets; don't use
10         `range_charset_code_point'.
11         (range_charset_code_point): Deleted.
12
13 2001-12-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
14
15         * mule-charset.c (Qcode_offset): New variable.
16         (Fmake_charset): Use `XUINT' to get value of `min-code' and
17         `max-code'; accept new property `code-offset'.
18         (syms_of_mule_charset): Add new symbol `code-offset'.
19
20 2001-12-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
21
22         * mule-charset.c (range_charset_code_point): Fixed.
23
24 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
25
26         * mule-charset.c (decode_builtin_char): Change semantics of
27         code-offset of coded-charset.
28         (charset_code_point): Likewise.
29         (range_charset_code_point): Likewise.
30         (complex_vars_of_mule_charset): Modify for the change.
31
32 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
33
34         * mule-charset.c (Fencode_char): Reverse arguments.
35
36         * mule-charset.c (charset_code_point): Fixed.
37
38 2001-12-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
39
40         * mule-charset.c (Vcharset_mojikyo): Deleted.
41         (Vcharset_mojikyo_2022_1): Deleted.
42         (Vcharset_mojikyo_pj_{1..21}): Deleted.
43         (Qmin_code): New variable in UTF-2000.
44         (Qmax_code): Likewise.
45         (Qmother): Likewise.
46         (Qconversion): Likewise.
47         (Q94x60): Likewise.
48         (Qmojikyo): Deleted.
49         (Qmojikyo_2022_1): Deleted.
50         (Qmojikyo_pj_{1..22}): Deleted.
51         (mark_charset): Mark `cs->mother'.
52         (charset_description): Add description for `mother'.
53         (make_charset): Rename `ucs_{min|max}' to `{min|max}_code'; add
54         new arguments `mother' and `conversion'; use
55         `CHARSET_{MIN|MAX}_CODE' instead of `CHARSET_UCS_{MIN|MAX}'.
56         (charset_code_point): Moved from char-ucs.h; support `mother'
57         charset feature.
58         (range_charset_code_point): use `CHARSET_{MIN|MAX}_CODE' instead
59         of `CHARSET_UCS_{MIN|MAX}'; delete hard code for `mojikyo-2022-1'.
60         (Fmake_charset): Allow 3 and 4 as the value of `dimension' in
61         UTF-2000; allow 128 and 256 as the value of `chars' in UTF-2000;
62         allow 2 as the value of `graphic' in UTF-2000; add new properties
63         `min-code', `max-code', `mother', `conversion' in UTF-2000; don't
64         require `final' in UTF-2000; modify for `make_charset'.
65         (Fmake_reverse_direction_charset): use `CHARSET_{MIN|MAX}_CODE'
66         instead of `CHARSET_UCS_{MIN|MAX}'; modify for `make_charset'.
67         (Fcharset_property): Support `mother', `min-code' and `max-code'.
68         (Fencode_char): New function.
69         (syms_of_mule_charset): Add new builtin function `encode-char' in
70         UTF-2000; add new symbols `min-code', `max-code', `mother',
71         `conversion' and `94x60'; delete symbols `mojikyo',
72         `mojikyo-2022-1' and `mojikyo-pj-{1..21}'.
73         (complex_vars_of_mule_charset): Modify for `make_charset' change;
74         delete coded-charsets `mojikyo', `mojikyo-2022-1' and
75         `mojikyo-pj-{1..21}'; delete `DEF_MOJIKYO_PJ'.
76
77         * chartab.c (Fdefine_char): Use `XCHARSET_MAX_CODE' instead of
78         `XCHARSET_UCS_MAX'; regard `chinese-big5' as a base CCS.
79
80         * char-ucs.h (Vcharset_mojikyo): Deleted.
81         (Vcharset_mojikyo_2022_1): Deleted.
82         (LEADING_BYTE_MOJIKYO): Deleted.
83         (LEADING_BYTE_MOJIKYO_2022_1): Deleted.
84         (LEADING_BYTE_MOJIKYO_2022_2): Deleted.
85         (LEADING_BYTE_MOJIKYO_PJ_{1 .. 21}): Deleted.
86         (struct Lisp_Charset): Rename `ucs_{min|max}' to `{min|max}_code';
87         add new member `mother'; add new member `conversion'.
88         (CHARSET_MIN_CODE): Renamed from `CHARSET_UCS_MIN'.
89         (CHARSET_MAX_CODE): Renamed from `CHARSET_UCS_MAX'.
90         (CHARSET_MOTHER): New macro.
91         (CHARSET_CONVERSION): New macro.
92         (CONVERSION_IDENTICAL): New macro.
93         (CONVERSION_94x60): New macro.
94         (XCHARSET_MIN_CODE): Renamed from `CHARSET_MIN_CODE'.
95         (XCHARSET_MAX_CODE): Renamed from `CHARSET_MAX_CODE'.
96         (XCHARSET_MOTHER): New macro.
97         (XCHARSET_CONVERSION): New macro.
98         (MIN_CHAR_MOJIKYO): Deleted.
99         (MAX_CHAR_MOJIKYO): Deleted.
100         (DECODE_MOJIKYO_2022): Deleted.
101         (DECODE_CHAR): Delete hard code for builtin Mojikyo characters.
102         (charset_code_point): Changed to non-inline function.
103         (encode_char_1): Use `charset_code_point'.
104         (CHAR_TO_CHARC): Delete hard code for Mojikyo characters.
105
106 2001-12-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
107
108         * lread.c (read_compiled_function): Fix prototype.
109         (read_vector): Likewise.
110
111 2001-12-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
112
113         * lrecord.h (struct lrecord_header): Delete `older'.
114         (set_lheader_implementation): Delete code for `older'.
115         (set_lheader_older_implementation): Deleted.
116         (enum lrecord_type): Delete `lrecord_type_char_id_table'.
117         (OLDER_RECORD_P): Deleted.
118         (OLDER_RECORD_HEADER_P): Deleted.
119         (alloc_older_lcrecord): Deleted.
120         (alloc_older_lcrecord_type): Deleted.
121
122         * alloc.c (all_older_lcrecords): Deleted.
123         (alloc_older_lcrecord): Deleted.
124         (disksave_object_finalization_1): Delete code for older objects.
125         (mark_object): Don't use `OLDER_RECORD_HEADER_P'.
126         (reinit_alloc_once_early): Don't initialize `all_older_lcrecords'.
127
128 2001-12-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
129
130         * mule-charset.c (decoding_table_put_char): Use `make_vector'
131         instead of `make_older_vector'.
132         (put_char_ccs_code_point): Likewise.
133         (mark_charset): Mark `cs->decoding_table'.
134         (Fset_charset_mapping_table): Don't use `make_vector_newer'.
135
136         * lisp.h (make_older_vector): Deleted.
137         (make_vector_newer): Deleted.
138
139         * config.h.in (HAVE_GGC): Deleted.
140
141         * alloc.c (make_older_vector): Deleted.
142         (make_vector_newer_1): Deleted.
143         (make_vector_newer): Deleted.
144
145 2001-12-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
146
147         * mule-charset.c (Vcharset_ideograph_daikanwa_2): New variable.
148         (Qideograph_daikanwa_2): New variable.
149         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa-2'.
150         (complex_vars_of_mule_charset): Add new coded-charset
151         `ideograph-daikanwa-2'; use `LEADING_BYTE_DAIKANWA_3' instead of
152         `LEADING_BYTE_DAIKANWA'.
153
154         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): New macro.
155         (LEADING_BYTE_DAIKANWA_1): New macro.
156         (LEADING_BYTE_DAIKANWA_2): New macro.
157         (LEADING_BYTE_DAIKANWA_3): Renamed from `LEADING_BYTE_DAIKANWA'.
158
159 2001-12-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
160
161         * mule-charset.c (complex_vars_of_mule_charset): Change
162         DOC-strings and registry of `ideograph-daikanwa'; now it indicates
163         the second revised version.
164
165 2001-12-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
166
167         * mule-charset.c (Vcharset_ucs_smp): New variable.
168         (Vcharset_ucs_sip): New variable.
169         (Qucs_smp): New variable.
170         (Qucs_sip): New variable.
171         (encode_builtin_char_1): Treat MIN_CHAR_{SMP|SIP} to
172         MAX_CHAR_{SMP|SIP} as `ucs-{smp|sip}'.
173         (syms_of_mule_charset): Add new symbols `ucs-smp' and `ucs-sip'.
174         (complex_vars_of_mule_charset): Modify middle-DOC and registry of
175         `ucs-bmp'; add new coded-charset `ucs-smp' and `ucs-sip'; change
176         charset width of `ucs-cns', `ucs-jis', `ucs-ks' and `ucs-big5'.
177
178         * char-ucs.h (LEADING_BYTE_UCS_SMP): New macro.
179         (LEADING_BYTE_UCS_SIP): New macro.
180         (MIN_CHAR_SMP): New macro.
181         (MAX_CHAR_SMP): New macro.
182         (MIN_CHAR_SIP): New macro.
183         (MAX_CHAR_SIP): New macro.
184
185 2001-11-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
186
187         * dumper.c (PDUMP_HASH_SIZE): Increase the size of hash table when
188         utf-2000.
189
190 2001-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
191
192         * mule-charset.c (put_char_ccs_code_point): Return canonicalized
193         value; don't store value into `encoding_table' of `Lisp_Charset'.
194         (mark_charset): `encoding_table' was deleted.
195         (charset_description): Likewise.
196         (make_charset): Likewise.
197         (Fset_charset_mapping_table): Use `Fput_char_attribute' instead of
198         `put_char_ccs_code_point'.
199
200         * chartab.h (Fput_char_attribute): New EXFUN.
201
202         * chartab.c (Fchar_attribute_alist): Name space of CCS-attributes
203         is unified with normal symbol space.
204         (Fget_char_attribute): Likewise.
205         (Fput_char_attribute): Likewise; behavior of
206         `put_char_ccs_code_point' is changed.
207
208         * char-ucs.h: Include "elhash.h".
209         (Vchar_attribute_hash_table): New external variable.
210         (struct Lisp_Charset): Delete `encoding_table'.
211         (CHARSET_ENCODING_TABLE): New implementation; refer
212         `Vchar_attribute_hash_table' instead of `encoding_table' of struct
213         `Lisp_Charset'.
214
215 2001-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
216
217         * mule-charset.c (Fcharset_property): Return Qnil if CHARSET_FINAL
218         (cs) == 0.
219
220 2001-11-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
221
222         * text-coding.c (char_encode_big5): Prefer charset-g1 than
223         `chinese-big5'.
224
225 2001-11-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
226
227         * chartab.c (uint8_byte_table_description): New constant.
228         (uint8-byte-table): Use `uint8_byte_table_description'.
229         (uint16_byte_table_description): New constant.
230         (uint16-byte-table): Use `uint16_byte_table_description'.
231
232 2001-10-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
233
234         * mule-charset.c (complex_vars_of_mule_charset): Don't use builtin
235         range MIN_CHAR_BIG5_CDP .. MAX_CHAR_BIG5_CDP.
236
237 2001-10-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
238
239         * mule-charset.c (Vcharset_ucs_ks): New variable.
240         (Qucs_ks): New variable.
241         (syms_of_mule_charset): Add new symbol `ucs-ks'.
242         (complex_vars_of_mule_charset): Add new coded-charset `ucs-ks'.
243
244         * char-ucs.h (LEADING_BYTE_UCS_KS): New macro.
245
246 2001-10-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
247
248         * chartab.h (Fmake_char): New EXFUN; moved from chartab.c.
249         (Fdecode_char): Likewise.
250
251         * chartab.c: Move EXFUN for Fmake_char and Fdecode_char into
252         chartab.h.
253         (Fdefine_char): Modify for Fdecode_char.
254         (Ffind_char): Likewise.
255
256         * mule-charset.c (Fdecode_char): Add new optional argument
257         `defined-only'.
258         (Fdecode_builtin_char): Modify for `Fdecode_char'.
259
260 2001-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
261
262         * text-coding.c (mark_coding_system): Mark initial-charset-g0 and
263         -g1 of CODESYS_BIG5 in XEmacs UTF-2000.
264         (allocate_coding_system): Initialize initial-charsets of
265         CODESYS_BIG5 in XEmacs UTF-2000.
266         (Fmake_coding_system): Accept `charset-g0' and `charset-g1' for
267         CODESYS_BIG5 in XEmacs UTF-2000.
268         (decode_coding_big5): Use initial-charset-g0 and -g1 of
269         CODESYS_BIG5 in XEmacs UTF-2000; use `DECODE_DEFINED_CHAR'.
270
271         * mule-charset.c (Vcharset_ideograph_hanziku_{1 .. 12}): New
272         variables.
273         (Qideograph_hanziku_{1 .. 12}): Likewise.
274         (syms_of_mule_charset): Add new symbols `ideograph-hanziku-{1
275         .. 12}'.
276         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' to
277         `MAX_CHAR_BIG5_CDP' for `chinese-big5'; add news coded-charsets
278         `ideograph-hanziku-{1 .. 12}'.
279
280         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x200.
281         (LEADING_BYTE_HANZIKU_{1 .. 12}): New macros.
282         ({MIN|MAX}_CHAR_BIG5_CDP): New macros.
283         ({MIN|MAX}_CHAR_HANZIKU_{1 .. 12}): New macros.
284         (DECODE_DEFINED_CHAR): New inline function.
285         (DECODE_CHAR): Use `DECODE_DEFINED_CHAR'.
286
287 2001-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
288
289         * mule-charset.c (Vcharset_china3_jef): Renamed from
290         `Vcharset_japanese_jef_china3'.
291         (Qchina3_jef): Renamed from `Qjapanese_jef_china3'.
292         (encode_builtin_char_1): Rename `{MIN|MAX}_CHAR_CHINA3_JEF' from
293         `{MIN|MAX}_CHAR_JEF_CHINA3'..
294         (syms_of_mule_charset): Rename `china3-jef' from
295         `japanese-jef-china3'.
296         (complex_vars_of_mule_charset): Likewise; rename
297         `LEADING_BYTE_CHINA3_JEF' from `LEADING_BYTE_JEF_CHINA3'.
298
299         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Renamed from
300         `LEADING_BYTE_JEF_CHINA3'.
301         (MIN_CHAR_CHINA3_JEF): Renamed from `MIN_CHAR_JEF_CHINA3'.
302         (MAX_CHAR_CHINA3_JEF): Renamed from `MAX_CHAR_JEF_CHINA3'.
303
304 2001-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
305
306         * mule-charset.c (encode_builtin_char_1): Comment out special code
307         for MIN_CHAR_MOJIKYO_0 ... MAX_CHAR_MOJIKYO_0.
308
309         * char-ucs.h (MIN_CHAR_MOJIKYO_0): Comment out.
310         (MAX_CHAR_MOJIKYO_0): Comment out.
311         (MIN_CHAR_CBETA): Changed to 0x00E20000.
312         (MAX_CHAR_CBETA): Changed to 0x00E2FFFF.
313         (MIN_CHAR_JEF_CHINA3): Changed to 0x00E80000.
314         (MAX_CHAR_JEF_CHINA3): Changed to 0x00E8FFFF.
315
316 2001-10-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
317
318         * mule-charset.c (Vcharset_ideograph_cbeta): New variable.
319         (Qideograph_cbeta): New variable.
320         (encode_builtin_char_1): Comment out special code for
321         coded-charset `mojikyo' and `japanese-jef-china3'.
322         (syms_of_mule_charset): Add new symbol `ideograph-cbeta'.
323         (complex_vars_of_mule_charset): Add new coded-charset
324         `ideograph-cbeta'.
325
326         * char-ucs.h (LEADING_BYTE_CBETA): New macro.
327         (MIN_CHAR_CBETA): New macro.
328         (MAX_CHAR_CBETA): New macro.
329
330 2001-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
331
332         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x100.
333         (LEADING_BYTE_JEF_CHINA3): New macro.
334         (MIN_CHAR_JEF_CHINA3): New macro.
335         (MAX_CHAR_JEF_CHINA3): Likewise.
336         (DECODE_CHAR): Fixed.
337
338 2001-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
339
340         * mule-charset.c (Vcharset_japanese_jef_china3): New variable.
341         (Qjapanese_jef_china3): New variable.
342         (encode_builtin_char_1): Support `japanese-jef-china3'.
343         (syms_of_mule_charset): Add new symbol `japanese-jef-china3'.
344         (complex_vars_of_mule_charset): Add new coded-charset
345         `japanese-jef-china3'.
346
347 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
348
349         * chartab.c (XCHARSET_CELL_RANGE): New inline function.
350         (decode_char_table_range): Use `XCHARSET_CELL_RANGE'; accept 94^3,
351         94^4, 96^3, 96^4, 128^n and 256^n set.
352         (put_char_table): Use `XCHARSET_CELL_RANGE'.
353         (map_char_table): Likewise.
354
355 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
356
357         * chartab.c (get_char_table): Use `get_char_id_table' in XEmacs
358         UTF-2000.
359
360 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
361
362         * chartab.h (get_char_id_table): New inline function.
363
364         * chartab.c (get_char_id_table): Moved to chartab.h as an inline
365         function.
366
367 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
368
369         * chartab.h (decode_char_table_range): New prototype in XEmacs
370         UTF-2000.
371         (put_char_id_table): New inline function in XEmacs UTF-2000.
372
373         * chartab.c (put_char_id_table): Moved to chartab.h as an inline
374         function.
375         (decode_char_table_range): Delete static declaration in XEmacs
376         UTF-2000.
377
378 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
379
380         * chartab.c (put_char_id_table): Use `put_char_table'.
381
382 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
383
384         * chartab.c (map_over_uint8_byte_table): Delete argument `ccs'.
385         (map_over_uint16_byte_table): Likewise.
386         (map_over_byte_table): Likewise.
387         (map_char_table): Modify for `map_over_uint8_byte_table',
388         `map_over_uint16_byte_table' and `map_over_byte_table' in XEmacs
389         UTF-2000.
390
391 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
392
393         * chartab.c (struct map_char_table_for_charset_arg): New
394         structure.
395         (map_char_table_for_charset_fun): New function.
396         (map_char_table): Use `map_char_table' for encoding_table of
397         `range->charset'.
398
399 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
400
401         * chartab.c (map_char_table): Check a character is found in
402         range->charset instead of non default value is defined in
403         char-table when range is CHARTAB_RANGE_ROW.
404
405 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
406
407         * chartab.c (map_char_id_table): Deleted.
408         (Fmap_char_attribute): Use `map_char_table' instead of
409         `map_char_id_table'.
410
411 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
412
413         * syntax.h (SYNTAX_CODE_UNSAFE): New implementation in XEmacs
414         UTF-2000.
415         (update_syntax_table): Deleted in XEmacs UTF-2000.
416
417         * syntax.c (find_defun_start): Use `syntax_table' instead of
418         `mirror_syntax_table' in XEmacs UTF-2000.
419         (Fset_syntax_table): Don't use `mirror_syntax_table' in XEmacs
420         UTF-2000.
421         (Fchar_syntax): Use `syntax_table' instead of `mirror_table' in
422         XEmacs UTF-2000.
423         (Fmatching_paren): Likewise.
424         (scan_words): Use `syntax_table' instead of `mirror_syntax_table'
425         in XEmacs UTF-2000.
426         (find_start_of_comment): Likewise.
427         (find_end_of_comment): Likewise.
428         (Fforward_comment): Likewise.
429         (scan_lists): Likewise.
430         (char_quoted): Likewise.
431         (Fbackward_prefix_chars): Likewise.
432         (scan_sexps_forward): Likewise.
433         (update_just_this_syntax_table): Deleted in XEmacs UTF-2000.
434         (update_syntax_table): Likewise.
435
436         * search.c (skip_chars): Use `syntax_table' instead of
437         `mirror_syntax_table' in XEmacs UTF-2000.
438         (wordify): Likewise.
439         (Freplace_match): Likewise.
440
441         * regex.c (re_compile_fastmap): Use `syntax_table' instead of
442         `mirror_syntax_table' in XEmacs UTF-2000.
443         (WORDCHAR_P_UNSAFE): Likewise.
444         (re_match_2_internal): Likewise.
445
446         * font-lock.c (find_context): Use `buf->syntax_table' instead of
447         `buf->mirror_syntax_table' in XEmacs UTF-2000.
448
449         * cmds.c (internal_self_insert): Use `buf->syntax_table' instead
450         of `buf->mirror_syntax_table' in XEmacs UTF-2000.
451
452         * chartab.h (struct Lisp_Char_Table): Delete `mirror_table' in
453         XEmacs UTF-2000.
454
455         * chartab.c (mark_char_table): Don't mark `mirror_table' in XEmacs
456         UTF-2000.
457         (print_char_table): Print `default_value' in XEmacs UTF-2000.
458         (char_table_description): Delete `mirror_table' in XEmacs
459         UTF-2000.
460         (fill_char_table): Don't call `update_syntax_table' in XEmacs
461         UTF-2000.
462         (Fmake_char_table): Don't use `mirror_table' in XEmacs UTF-2000.
463         (Fcopy_char_table): Likewise.
464         (put_char_table): Don't call `update_syntax_table' in XEmacs
465         UTF-2000.
466
467         * casefiddle.c (casify_object): Use `buf->syntax_table' instead of
468         `buf->mirror_syntax_table' in XEmacs UTF-2000.
469         (casify_region_internal): Likewise.
470
471         * bufslots.h: Delete `mirror_syntax_table' in XEmacs UTF-2000.
472
473         * buffer.c (common_init_complex_vars_of_buffer): Don't use
474         `mirror_syntax_table' in XEmacs UTF-2000.
475
476         * abbrev.c (abbrev_match): Use `buf->syntax_table' instead of
477         `buf->mirror_syntax_table' in XEmacs UTF-2000.
478         (Fexpand_abbrev): Likewise.
479
480 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
481
482         * chartab.c (vars_of_chartab): Update `utf-2000-version' to 0.18.
483
484 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
485
486         * chartab.c (map_over_uint8_byte_table): Cancel temporary hack.
487         (map_over_uint16_byte_table): Likewise.
488         (map_over_byte_table): Likewise.
489         (get_char_id_table): Refer `cit->default_value'.
490         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
491         (map_char_id_table): Use `1 << 30' instead of `1 << 24' as number
492         of character-id ranges.
493         (mark_char_table): Mark `ct->default_value'.
494         (char_table_description): Add `default_value'.
495         (fill_char_table): Use `default_value'.
496         (decode_char_table_range): Decode `nil' as
497         `CHARTAB_RANGE_DEFAULT'.
498         (get_char_id_table): Refer `cit->default_value'.
499         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
500         (map_char_table): Support `CHARTAB_RANGE_DEFAULT'; cancel
501         temporary hack; check value of char-table is bound or not.
502         (slow_map_char_table_fun): Support `CHARTAB_RANGE_DEFAULT'.
503
504         * chartab.h (struct Lisp_Char_Table): Add new member
505         `default_value' in XEmacs UTF-2000.
506         (CHAR_TABLE_VALUE_UNSAFE): Use `default_value'.
507         (enum chartab_range_type): Add `CHARTAB_RANGE_DEFAULT' in XEmacs
508         UTF-2000.
509
510 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
511
512         * chartab.h (Lisp_Char_ID_Table): Deleted.
513
514         * chartab.c (char_table_description): Fix typo.
515         (Fmap_char_attribute): Use `Lisp_Char_Table' instead of
516         `Lisp_Char_ID_Table'.
517
518 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
519
520         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_TABLEP' instead of
521         `CHAR_ID_TABLE_P'.
522
523         * mule-charset.c (remove_char_ccs): Use `CHAR_TABLEP' instead of
524         `CHAR_ID_TABLE_P'.
525
526         * chartab.h (XCHAR_ID_TABLE): Deleted.
527         (XSETCHAR_ID_TABLE): Deleted.
528         (CHAR_ID_TABLE_P): Deleted.
529
530         * chartab.c (put_char_id_table): Use `CHAR_TABLEP' instead of
531         `CHAR_ID_TABLE_P'.
532         (Fget_composite_char): Likewise.
533         (put_char_table): Likewise.
534         (add_char_attribute_alist_mapper): Fixed.
535         (Fchar_attribute_alist): Use `CHAR_TABLEP' instead of
536         `CHAR_ID_TABLE_P'.
537         (Fget_char_attribute): Likewise.
538         (Fget_char_attribute): Likewise.
539         (Fmap_char_attribute): Likewise.
540
541         * char-ucs.h (charset_code_point): Use `CHAR_TABLEP' instead of
542         `CHAR_ID_TABLE_P'.
543         (encode_char_1): Likewise.
544
545 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
546
547         * text-coding.c (COMPOSE_ADD_CHAR): Use `XCHAR_TABLE' instead of
548         `XCHAR_ID_TABLE'.
549
550         * mule-charset.c (put_char_ccs_code_point): Use `XCHAR_TABLE'
551         instead of `XCHAR_ID_TABLE'.
552         (remove_char_ccs): Likewise.
553
554         * chartab.c (put_char_id_table): Use `XCHAR_TABLE' instead of
555         `XCHAR_ID_TABLE'.
556         (Fget_composite_char): Likewise.
557         (Fchar_variants): Likewise.
558         (put_char_table): Likewise.
559         (add_char_attribute_alist_mapper): Likewise.
560         (Fchar_attribute_alist): Likewise.
561         (Fget_char_attribute): Likewise.
562         (Fput_char_attribute): Likewise.
563         (Fmap_char_attribute): Likewise.
564         (Fmap_char_attribute): Likewise.
565
566         * char-ucs.h (charset_code_point): Use `XCHAR_TABLE' instead of
567         `XCHAR_ID_TABLE'.
568         (encode_char_1): Likewise.
569
570 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
571
572         * chartab.c (map_char_id_table): Use `Lisp_Char_Table' instead of
573         `Lisp_Char_ID_Table'.
574         (mark_char_id_table): Deleted.
575         (print_char_id_table): Likewise.
576         (char_id_table_equal): Likewise.
577         (char_id_table_hash): Likewise.
578         (char_id_table_description): Likewise.
579         (char_id_table): Likewise.
580         (make_char_id_table): Use `Fmake_char_table' and
581         `fill_char_table'.
582         (get_char_id_table): Use `Lisp_Char_Table' instead of
583         `Lisp_Char_ID_Table'.
584         (put_char_id_table): Likewise.
585         (Fput_char_attribute): Use `XCHAR_TABLE' instead of
586         `XCHAR_ID_TABLE'.
587         (Fremove_char_attribute): Likewise.
588         (syms_of_chartab): Don't define type `char-id-table'.
589
590         * chartab.h (struct Lisp_Char_ID_Table): Deleted.
591         (char_id_table): Likewise.
592         (GC_CHAR_ID_TABLE_P): Likewise.
593         (Lisp_Char_ID_Table): Use structure `Lisp_Char_Table'.
594         (XCHAR_ID_TABLE): Use `XCHAR_TABLE'.
595         (XSETCHAR_ID_TABLE): Use `XSETCHAR_TABLE'.
596         (CHAR_ID_TABLE_P): Use `CHAR_TABLEP'.
597         (get_char_id_table): Use `Lisp_Char_Table' instead of
598         `Lisp_Char_ID_Table'.
599         (put_char_id_table_0): Likewise.
600         (put_char_id_table): Likewise.
601
602 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
603
604         * chartab.h: Lisp_Byte_Table related codes are moved from
605         chartab.h.
606
607         * char-ucs.h: Move Lisp_Byte_Table related codes to chartab.h.
608
609 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
610
611         * chartab.h: Don't include "chartab.h".
612         (struct Lisp_Char_ID_Table): Moved from char-ucs.h.
613         (Lisp_Char_ID_Table): Likewise.
614         (char_id_table): Likewise.
615         (XCHAR_ID_TABLE): Likewise.
616         (XSETCHAR_ID_TABLE): Likewise.
617         (CHAR_ID_TABLE_P): Likewise.
618         (GC_CHAR_ID_TABLE_P): Likewise.
619         (get_char_id_table): Likewise.
620
621         * char-ucs.h: Include "chartab.h".
622         (struct Lisp_Char_ID_Table): Moved to chartab.h.
623         (Lisp_Char_ID_Table): Likewise.
624         (char_id_table): Likewise.
625         (XCHAR_ID_TABLE): Likewise.
626         (XSETCHAR_ID_TABLE): Likewise.
627         (CHAR_ID_TABLE_P): Likewise.
628         (GC_CHAR_ID_TABLE_P): Likewise.
629         (get_char_id_table): Likewise.
630
631 2001-09-01  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
632
633         * chartab.c (copy_uint8_byte_table): New function.
634         (copy_uint16_byte_table): New function.
635         (copy_byte_table): New function.
636         (map_over_uint8_byte_table): Modify to avoid huge numbers of
637         characters to call.
638         (map_over_uint16_byte_table): Likewise.
639         (map_over_byte_table): Likewise.
640         (get_byte_table): Move prototype to chartab.h.
641         (put_byte_table): Likewise.
642         (put_char_id_table_0): Moved to chartab.h.
643         (mark_char_table_entry): Don't define in XEmacs UTF-2000.
644         (char_table_entry_equal): Likewise.
645         (char_table_entry_hash): Likewise.
646         (char_table_entry_description): Likewise.
647         (char_table_entry): Likewise.
648         (make_char_table_entry): Likewise.
649         (copy_char_table_entry): Likewise.
650         (get_non_ascii_char_table_value): Likewise.
651         (map_over_charset_ascii): Likewise.
652         (map_over_charset_control_1): Likewise.
653         (map_over_charset_row): Likewise.
654         (map_over_other_charset): Likewise.
655         (mark_char_table): Modify for new structure in XEmacs UTF-2000.
656         (print_char_table): Likewise.
657         (char_table_equal): Likewise.
658         (char_table_hash): Likewise.
659         (char_table_description): Likewise.
660         (fill_char_table): Likewise.
661         (Fcopy_char_table): Likewise.
662         (get_char_table): Likewise.
663         (Fget_range_char_table): Likewise.
664         (put_char_table): Likewise.
665         (map_char_table): Likewise.
666         (syms_of_chartab): Don't define `char_table_entry' in XEmacs
667         UTF-2000.
668
669 2001-08-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
670
671         * cmds.c (vars_of_cmds): Use `put_char_id_table_0' for
672         `Vauto_fill_chars' in XEmacs UTF-2000.
673
674         * chartab.h (get_byte_table): New prototype [moved from
675         chartab.c].
676         (put_byte_table): Likewise [moved from chartab.c].
677         (put_char_id_table_0): New inline function [moved from chartab.c].
678         (struct Lisp_Char_Table_Entry): Don't define in XEmacs UTF-2000.
679         (Lisp_Char_Table_Entry): Likewise.
680         (char_table_entry): Likewise.
681         (XCHAR_TABLE_ENTRY): Likewise.
682         (XSETCHAR_TABLE_ENTRY): Likewise.
683         (CHAR_TABLE_ENTRYP): Likewise.
684         (CHECK_CHAR_TABLE_ENTRY): Likewise.
685         (NUM_ASCII_CHARS): Likewise.
686         (struct Lisp_Char_Table): New implementation in XEmacs UTF-2000.
687         (CHAR_TABLE_VALUE_UNSAFE): Likewise.
688
689 2001-08-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
690
691         * chartab.c (get_char_id_table): Change interface.
692         (put_char_id_table_0): New function.
693         (put_char_id_table): Change interface; new implementation.
694         (Fget_composite_char): Modify for interface change of
695         `get_char_id_table'.
696         (Fchar_variants): Likewise.
697         (add_char_attribute_alist_mapper): Likewise.
698         (Fchar_attribute_alist): Likewise.
699         (Fget_char_attribute): Likewise.
700         (Fput_char_attribute): Allow coded-charset or [CODED-CHARSET ROW]
701         as same as character as the first argument like `put-char-table';
702         modify for interface change of `put_char_id_table'.
703         (Fremove_char_attribute): Modify for interface change of
704         `put_char_id_table'.
705
706 2001-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
707
708         * text-coding.c: Sync up with XEmacs 21.2.41.
709         (COMPOSE_ADD_CHAR): Modify for interface change of
710         `get_char_id_table'.
711
712         * mule-charset.c (put_char_ccs_code_point): Modify for interface
713         change of `put_char_id_table'.
714         (remove_char_ccs): Likewise.
715
716         * chartab.h (put_char_id_table): Change interface.
717
718         * char-ucs.h (get_char_id_table): Change interface.
719         (charset_code_point): Modify for interface change of
720         `get_char_id_table'.
721         (encode_char_1): Likewise.
722
723 2001-08-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
724
725         * chartab.c (map_over_uint8_byte_table): Change arguments; add new
726         argument `ccs'.
727         (map_over_uint16_byte_table): Likewise.
728         (map_over_byte_table): Likewise.
729         (map_char_id_table): Add new argument `range' like
730         `map_char_table'.
731         (Fmap_char_attribute): Add new argument `range' like
732         `Fmap_char_table'.
733
734 2001-08-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
735
736         * chartab.c (map_over_uint8_byte_table): Change interface of
737         mapping function to use struct chartab_range instead of Emchar.
738         (map_over_uint16_byte_table): Likewise.
739         (map_over_byte_table): Likewise.
740         (map_char_id_table): Likewise.
741         (struct slow_map_char_id_table_arg): Deleted.
742         (slow_map_char_id_table_fun): Deleted.
743         (Fmap_char_attribute): Use struct `slow_map_char_table_arg' and
744         function `slow_map_char_table_fun' instead of struct
745         `slow_map_char_id_table_arg' and function
746         `slow_map_char_id_table_fun'.
747
748 2001-08-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
749
750         * mule-charset.c: Move char-it-table related codes to chartab.c.
751         (Vutf_2000_version): Moved to chartab.c.
752         (Fdefine_char): Likewise.
753         (Ffind_char): Likewise.
754         (syms_of_mule_charset): Move types `uint8-byte-table',
755         `uint16-byte-table', `byte-table' and `char-id-table' to
756         chartab.c; move functions `char_attribute_list,
757         `find_char_attribute_table, `char_attribute_alist,
758         `get_char_attribute, `put_char_attribute, `remove_char_attribute,
759         `map_char_attribute, `define_char, `find_char, `char_variants and
760         `get_composite_char to chartab.c; move symbols `=>ucs',
761         `->decomposition', `compat', `isolated', `initial', `medial',
762         `final', `vertical', `noBreak', `fraction', `super', `sub',
763         `circle', `square', `wide', `narrow', `small' and `font' to
764         chartab.c.
765         (vars_of_mule_charset): Move `utf-2000-version' to chartab.c; move
766         setting codes for `Vcharacter_composition_table' and
767         `Vcharacter_variant_table' to chartab.c.
768         (complex_vars_of_mule_charset): Move setting code for
769         `Vchar_attribute_hash_table' to chartab.c.
770
771         * chartab.h: Include "char-ucs.h" if --with-utf-2000 is specified.
772         (make_char_id_table): New prototype.
773         (put_char_id_table): Likewise.
774         (Fget_char_attribute): Likewise.
775
776         * chartab.c: Move char-id-table related code from mule-charset.c.
777         (Vutf_2000_version): Moved from mule-charset.c.
778
779         * char-ucs.h (Qucs): New external variable.
780         (put_char_ccs_code_point): New prototype.
781         (remove_char_ccs): Likewise.
782
783 2001-08-14  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
784
785         * mule-charset.c (Vcharset_ucs_jis): New variable.
786         (Qucs_jis): Likewise.
787         (syms_of_mule_charset): Add new symbol `ucs-jis'.
788         (complex_vars_of_mule_charset): Add new coded-charset `ucs-jis'.
789
790         * char-ucs.h (LEADING_BYTE_UCS_JIS): New macro.
791
792 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
793
794         * mule-charset.c (map_over_uint8_byte_table): New function.
795         (map_over_uint16_byte_table): Likewise.
796         (map_over_byte_table): Likewise.
797         (map_char_id_table): Likewise.
798         (slow_map_char_id_table_fun): Likewise.
799         (Fmap_char_attribute): Likewise.
800         (syms_of_mule_charset): Add new function `map-char-attribute'.
801
802 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
803
804         * mule-charset.c (Ffind_char): New function in XEmacs UTF-2000.
805         (syms_of_mule_charset): Add new function `find-char'.
806
807 2001-08-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
808
809         * mule-charset.c (Vcharset_chinese_big5_cdp): New variable in
810         XEmacs UTF-2000.
811         (Qchinese_big5_cdp): New variable in XEmacs UTF-2000.
812         (syms_of_mule_charset): Add new symbol `chinese-big5-cdp' in
813         XEmacs UTF-2000.
814         (complex_vars_of_mule_charset): Add new coded-charset
815         `chinese-big5-cdp' in XEmacs UTF-2000; change registry of
816         `ideograph-gt-pj-*'.
817
818         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5_CDP): New macro.
819
820 2001-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
821
822         * mule-charset.c (encode_builtin_char_1): Purge codes about
823         {MIN|MAX}_CHAR_{GREEK|CYRILLIC}; comment out code about
824         {MIN|MAX}_CHAR_HEBREW.
825         (complex_vars_of_mule_charset): Comment out {MIN|MAX}_CHAR_HEBREW;
826         don't use {MIN|MAX}_CHAR_HEBREW to define `hebrew-iso8859-8'.
827
828         * char-ucs.h (MIN_CHAR_GREEK): Purged.
829         (MAX_CHAR_GREEK): Purged.
830         (MIN_CHAR_CYRILLIC): Purged.
831         (MAX_CHAR_CYRILLIC): Purged.
832         (MIN_CHAR_HEBREW): Commented out.
833         (MAX_CHAR_HEBREW): Likewise.
834
835 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
836
837         * mule-charset.c (Qto_ucs): New variable.
838         (Fput_char_attribute): Treat `=>ucs' as same as `->ucs'.
839         (Fdefine_char): Likewise.
840         (syms_of_mule_charset): Add new symbol `=>ucs'.
841
842 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
843
844         * mule-charset.c (Fdecode_char): Fixed.
845
846 2001-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
847
848         * mule-charset.c (complex_vars_of_mule_charset): Modify registry
849         of latin-tcvn5712 to accept "tcvn5712.1993-1" as same as
850         "tcvn5712-1".
851
852 2001-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
853
854         * mule-charset.c (Vcharset_ucs_big5): New variable.
855         (Qucs_big5): Likewise.
856         (syms_of_mule_charset): Add new symbol `ucs-big5'.
857         (complex_vars_of_mule_charset): Add new coded-charset `ucs-big5'.
858
859         * char-ucs.h (LEADING_BYTE_UCS_BIG5): New macro.
860
861 2001-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
862
863         * mule-charset.c (decode_builtin_char): Check Big5 code range
864         which can be mapped to `chinese-big5-1' and `chinese-big5-2'.
865
866 2001-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
867
868         * mule-charset.c (Vcharset_chinese_gb12345): New variable.
869         (Qchinese_gb12345): Likewise.
870         (Fdecode_builtin_char): Fixed.
871         (syms_of_mule_charset): Add `chinese-gb12345'.
872         (complex_vars_of_mule_charset): Add coded-charset
873         `chinese-gb12345'.
874
875         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x70.
876         (LEADING_BYTE_CHINESE_GB12345): New macro.
877
878 2001-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
879
880         * mule-charset.c (Fdecode_builtin_char): Use `latin-viscii-lower'
881         and `latin-viscii-upper' for `latin-viscii'.
882
883 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
884
885         * mule-charset.c (Fdecode_builtin_char): Comment out
886         regularization code for ISO-IR GR representation.
887
888 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
889
890         * mule-charset.c (decode_builtin_char): New function; renamed from
891         `make_builtin_char'; return -1 instead of signal.
892         (Fdecode_builtin_char): Use `decode_builtin_char'.
893
894         * char-ucs.h (decode_builtin_char): New prototype; renamed from
895         `make_builtin_char'.
896         (DECODE_CHAR): Use `decode_builtin_char' instead of
897         `make_builtin_char'; use mapping table of `chinese-big5' for
898         `chinese-big5-{1,2}'.
899
900 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
901
902         * text-coding.c (char_encode_big5): New function.
903         (char_finish_big5): Likewise.
904         (reset_encoding_stream): Use `char_encode_big5' and
905         `char_finish_big5' for CODESYS_BIG5.
906         (mule_encode): Don't use `encode_coding_big5'.
907         (encode_coding_big5): Deleted.
908
909 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
910
911         * text-coding.c (BYTE_BIG5_TWO_BYTE_1_P): Support private area
912         0x81- in XEmacs UTF-2000.
913         (detect_coding_big5): Likewise.
914
915 2001-07-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
916
917         * mule-charset.c (Fdefine_char): Don't use a CCS property to
918         generate character-id if the CCS property does not have
919         corresponding predefined character.
920         (make_builtin_char): Return -1 if corresponding predefined
921         character is not found.
922         (Fdecode_char): Return nil if corresponding character is not
923         found.
924         (complex_vars_of_mule_charset): Change `ucs-cns' to 256^3-set and
925         don't map to builtin ucs space.
926
927 2001-07-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
928
929         * char-ucs.h (MAX_LEADING_BYTE_PRIVATE): Fixed.
930         (MAX_CHAR_GT): Changed to `(MIN_CHAR_GT + 66773)'.
931
932 2001-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
933
934         * mule-charset.c (Vcharset_ideograph_gt): New variable.
935         (Vcharset_ideograph_gt_pj_{1..11}): Likewise.
936         (Qideograph_gt): Likewise.
937         (Qideograph_gt_pj_{1..11}): Likewise.
938         (syms_of_mule_charset): Add `ideograph-gt', `ideograph-gt-pj-1',
939         `ideograph-gt-pj-2', ..., `ideograph-gt-pj-10' and
940         `ideograph-gt-pj-11'.
941         (complex_vars_of_mule_charset): Add coded-charset `ideograph-gt',
942         `ideograph-gt-pj-1', `ideograph-gt-pj-2', ...,
943         `ideograph-gt-pj-10' and `ideograph-gt-pj-11'.
944
945         * char-ucs.h (LEADING_BYTE_GT): New macro.
946         (LEADING_BYTE_GT_PJ_{1..11}): Likewise.
947         (MIN_CHAR_GT): Likewise.
948         (MAX_CHAR_GT): Likewise.
949
950 2001-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
951
952         * lisp-disunion.h (XCHARVAL): New implementation for UTF-2000 to
953         support U-60000000 .. U-7FFFFFFF with 32 bits architecture.
954
955         * doprnt.c (unsigned_int_converters): Add `c'.
956         (emacs_doprnt_1): Use `XUINT' for unsigned integers.
957
958         * char-ucs.h (MIN_CHAR_DAIKANWA): Don't refer `MIN_CHAR_MOJIKYO'.
959         (MAX_CHAR_DAIKANWA): Refer `MIN_CHAR_DAIKANWA' instead of
960         `MIN_CHAR_MOJIKYO'.
961         (MIN_CHAR_MOJIKYO_0): New macro; refer `MIN_CHAR_DAIKANWA'.
962         (MAX_CHAR_MOJIKYO_0): New macro.
963         (MIN_CHAR_MOJIKYO): Changed to 0x60000000.
964
965 2001-06-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
966
967         * mule-charset.c (Fdefine_char): Delete cemented out code.
968         (encode_builtin_char_1): Modify for new allocation of builtin
969         Mojikyo characters.
970
971         * lisp-disunion.h (XCHARVAL): Cast the argument into EMACS_UINT.
972
973 2001-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
974
975         * mule-charset.c (Vcharset_ucs_cns): New variable.
976         (Qucs_cns): New variable.
977         (syms_of_mule_charset): Add new symbol `ucs-cns'.
978         (complex_vars_of_mule_charset): Add new coded-charset `ucs-cns'.
979
980 2001-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
981
982         * char-ucs.h (LEADING_BYTE_UCS_CNS): New macro.
983
984 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
985
986         * search.c (search_buffer): Make `charset_base_code' as
987         character-id >> 6 to eliminate the corresponding last byte in
988         UTF-8 representation [I'm not sure it is right thing].
989         (boyer_moore): Likewise.
990
991 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
992
993         * emacs.c (vars_of_emacs): Convert XEMACS_CODENAME to internal
994         representation in MULE.
995
996 2000-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
997
998         * text-coding.c (Fmake_coding_system): Use
999         `EXTERNAL_PROPERTY_LIST_LOOP_3' instead of
1000         `EXTERNAL_PROPERTY_LIST_LOOP'.
1001
1002 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1003
1004         * text-coding.c (decode_output_utf8_partial_char): New function.
1005         (decode_coding_utf8): Use `decode_output_utf8_partial_char'.
1006
1007 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1008
1009         * text-coding.c (decode_coding_utf8): Output original byte
1010         sequence if it is broken; change order of conditions.
1011
1012         * mb-utf-8.h (REP_BYTES_BY_FIRST_BYTE): Use Bufbyte; reverse order
1013         of conditions.
1014
1015         * mb-multibyte.h (BYTE_ASCII_P):
1016         Use bit ops for char-signedness safety.
1017         (BYTE_C0_P): Use bit ops for char-signedness safety.
1018         (BYTE_C1_P): Use bit ops for char-signedness safety.
1019
1020         * character.h: (XCHAR_OR_CHAR_INT):
1021         Always use inline function.
1022         Remove redundant type checking assert() - XINT will abort quite
1023         nicely.
1024
1025 2000-11-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1026
1027         * text-coding.c: (Fencode_shift_jis_char):
1028         (Fencode_big5_char):
1029         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
1030         Replace 0 with '\0' when working with bytes.
1031         Replace initial "(" with "\(" in docstrings.
1032
1033         (Fmake_coding_system):
1034         When type is ccl and value is vector, register it with a proper
1035         symbol.  And checks whether the given ccl program is valid.
1036         (mule_decode): When calling ccl_driver, if src indicates
1037         NULL pointer, set an empty string instead.
1038         (mule_encode): Likewise.
1039
1040         (detect_eol_type):
1041         (detect_coding_sjis):
1042         (decode_coding_sjis):
1043         (detect_coding_big5):
1044         (decode_coding_big5):
1045         (detect_coding_ucs4):
1046         (decode_coding_ucs4):
1047         (detect_coding_utf8):
1048         (decode_coding_utf8):
1049         (detect_coding_iso2022):
1050         (decode_coding_iso2022):
1051         (decode_coding_no_conversion):
1052         (mule_decode):
1053         Make all detecting and decoding functions take an Extbyte * arg.
1054         (text_encode_generic):
1055         (encode_coding_big5):
1056         (encode_coding_no_conversion):
1057         (mule_encode):
1058         Make all encoding functions take a Bufbyte * arg.
1059         Use size_t instead of unsigned int for memory sizes.
1060         Only cast to unsigned char whenever dereferencing Extbyte *.
1061
1062         (struct lrecord_description fcd_description_1): Use countof.
1063         (complex_vars_of_file_coding):
1064         Use countof instead of sizeof.
1065         Use CHECK_NATNUM instead of CHECK_INT.
1066
1067 2000-11-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1068
1069         * mule-charset.c (Fget_char_attribute): Add new optional argument
1070         `default-value'.
1071         (put_char_ccs_code_point): Modify for `Fget_char_attribute'.
1072         (remove_char_ccs): Likewise.
1073
1074 2000-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1075
1076         * text-coding.c (char_encode_shift_jis): New implementation in
1077         UTF-2000.
1078         (decode_coding_big5): Use `DECODE_CHAR (Vcharset_chinese_big5,
1079         ...)'.
1080
1081         * mule-charset.c (Vcharset_chinese_big5): New variable in
1082         UTF-2000.
1083         (Qchinese_big5): New variable in UTF-2000.
1084         (BIG5_SAME_ROW): New macro in UTF-2000.
1085         (make_builtin_char): Use builtin characters of
1086         `Vcharset_chinese_big5_1' and `Vcharset_chinese_big5_2' as builtin
1087         characters of `Vcharset_chinese_big5'.
1088         (syms_of_mule_charset): Add new symbol `chinese-big5' in UTF-2000.
1089         (complex_vars_of_mule_charset): Add new coded-charset
1090         `chinese-big5' in UTF-2000.
1091
1092         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5): New macro.
1093         (Vcharset_chinese_big5): New external variable declaration.
1094         (Vcharset_japanese_jisx0208_1990): Likewise.
1095
1096 2000-07-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1097
1098         * mule-charset.c (expand_uint8_byte_table_to_uint16): New
1099         function.
1100         (put_byte_table): Use `expand_uint8_byte_table_to_uint16'.
1101
1102 2000-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1103
1104         * mule-charset.c (complex_vars_of_mule_charset): Define new macro
1105         `DEF_MOJIKYO_PJ' in UTF-2000; use `DEF_MOJIKYO_PJ' to define
1106         `mojikyo-pj-*'; add "MojikyoPJ-*" to charset-registry of
1107         `mojikyo-pj-*'.
1108
1109 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1110
1111         * text-coding.c (decode_coding_big5): Modify for UTF-2000.
1112
1113 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1114
1115         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1116         to 0.17.
1117
1118 2000-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1119
1120         * file-coding.c (ucs_to_char): Don't use `CHARSET_TYPE_*'; modify
1121         for `CHARSET_BY_ATTRIBUTES'.
1122         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
1123         `CHARSET_BY_ATTRIBUTES'.
1124
1125         * text-coding.c (struct decoding_stream): Rename member `CH' to
1126         `CPOS'.
1127         (reset_decoding_stream): Use `str->cpos' instead of `str->ch'.
1128         (decode_coding_sjis): Likewise.
1129         (decode_coding_big5): Likewise.
1130         (decode_coding_ucs4): Likewise.
1131         (decode_coding_utf8): Likewise.
1132         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
1133         `CHARSET_BY_ATTRIBUTES'.
1134         (decode_coding_iso2022): Use `str->cpos' instead of `str->ch'; use
1135         `str->counter'; decode 3, 4 bytes sets.
1136         (char_encode_iso2022): Don't use `BREAKUP_CHAR'; encode 3, 4 bytes
1137         sets.
1138         (decode_coding_no_conversion): Use `str->cpos' instead of
1139         `str->ch'.
1140
1141         * mule-charset.c (Vcharset_mojikyo_2022_1): New variable.
1142         (Qmojikyo_2022_1): New variable.
1143         (make_charset): Don't use `CHARSET_TYPE_*'.
1144         (range_charset_code_point): Support coded-charset
1145         `mojikyo-2022-1'.
1146         (encode_builtin_char_1): Modify for `CHARSET_BY_ATTRIBUTES'.
1147         (Fmake_charset): Don't use `CHARSET_TYPE_*'; modify for
1148         `CHARSET_BY_ATTRIBUTES'.
1149         (Fcharset_from_attributes): Don't use `CHARSET_TYPE_*'; modify for
1150         `CHARSET_BY_ATTRIBUTES'.
1151         (syms_of_mule_charset): Add new symbol `mojikyo-2022-1'.
1152         (complex_vars_of_mule_charset): Add new coded-charset
1153         `mojikyo-2022-1'.
1154
1155         * mule-charset.h (CHARSET_BY_ATTRIBUTES): New implementation and
1156         interface; changed to inline function.
1157
1158         * char-ucs.h (Vcharset_mojikyo_2022_1): New variable.
1159         (LEADING_BYTE_MOJIKYO_2022_1): New macro.
1160         (LEADING_BYTE_MOJIKYO_2022_2): New macro.
1161         (CHARSET_TYPE_94): Deleted.
1162         (CHARSET_TYPE_94X94): Deleted.
1163         (CHARSET_TYPE_96): Deleted.
1164         (CHARSET_TYPE_96X96): Deleted.
1165         (CHARSET_TYPE_128): Deleted.
1166         (CHARSET_TYPE_128X128): Deleted.
1167         (CHARSET_TYPE_256): Deleted.
1168         (CHARSET_TYPE_256X256): Deleted.
1169         (CHARSET_BY_ATTRIBUTES): New implementation and interface; changed
1170         to inline function.
1171         (DECODE_MOJIKYO_2022): New inline function.
1172         (DECODE_CHAR): Use `DECODE_MOJIKYO_2022'; decode
1173         `Vcharset_mojikyo_2022_1'.
1174
1175 2000-07-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1176
1177         * mule-charset.c (byte_table_same_value_p): Use `internal_equal'
1178         instead of `EQ'.
1179         (put_byte_table): Likewise.
1180         (char_id_table_equal): Use `get_byte_table' [new implementation].
1181
1182 2000-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1183
1184         * mule-charset.c: Include <limits.h> in UTF-2000.
1185         (BT_UINT8_MIN): New macro in UTF-2000.
1186         (BT_UINT8_MAX): New macro in UTF-2000.
1187         (BT_UINT8_t): New macro in UTF-2000.
1188         (BT_UINT8_nil): New macro in UTF-2000.
1189         (BT_UINT8_unbound): New macro in UTF-2000.
1190         (INT_UINT8_P): New inline function in UTF-2000.
1191         (UINT8_VALUE_P): New inline function in UTF-2000.
1192         (UINT8_ENCODE): New inline function in UTF-2000.
1193         (UINT8_DECODE): New inline function in UTF-2000.
1194         (mark_uint8_byte_table): New function in UTF-2000.
1195         (print_uint8_byte_table): New function in UTF-2000.
1196         (uint8_byte_table_equal): New function in UTF-2000.
1197         (uint8_byte_table_hash): New function in UTF-2000.
1198         (make_uint8_byte_table): New function in UTF-2000.
1199         (uint8_byte_table_same_value_p): New function in UTF-2000.
1200         (BT_UINT16_MIN): New macro in UTF-2000.
1201         (BT_UINT16_MAX): New macro in UTF-2000.
1202         (BT_UINT16_t): New macro in UTF-2000.
1203         (BT_UINT16_nil): New macro in UTF-2000.
1204         (BT_UINT16_unbound): New macro in UTF-2000.
1205         (INT_UINT16_P): New inline function in UTF-2000.
1206         (UINT16_VALUE_P): New inline function in UTF-2000.
1207         (UINT16_ENCODE): New inline function in UTF-2000.
1208         (UINT16_DECODE): New inline function in UTF-2000.
1209         (UINT8_TO_UINT16): New inline function in UTF-2000.
1210         (mark_uint16_byte_table): New function in UTF-2000.
1211         (print_uint16_byte_table): New function in UTF-2000.
1212         (uint16_byte_table_equal): New function in UTF-2000.
1213         (uint16_byte_table_hash): New function in UTF-2000.
1214         (make_uint16_byte_table): New function in UTF-2000.
1215         (uint16_byte_table_same_value_p): New function in UTF-2000.
1216         (print_byte_table): New function in UTF-2000.
1217         (byte-table): Use `print_byte_table' as printer.
1218         (make_byte_table): Delete second argument `older'.
1219         (byte_table_same_value_p): New function in UTF-2000.
1220         (copy_byte_table): Deleted.
1221         (get_byte_table): New function in UTF-2000.
1222         (put_byte_table): New function in UTF-2000.
1223         (print_char_id_table): New function in UTF-2000.
1224         (char-id-table): Use `print_char_id_table' as printer.
1225         (make_char_id_table): Delete second argument `older'.
1226         (get_char_id_table): Use `get_byte_table [new implementation].
1227         (put_char_id_table): Use `get_byte_table and `put_byte_table' [new
1228         implementation].
1229         (Ffind_char_attribute_table): New function in UTF-2000.
1230         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
1231         (syms_of_mule_charset): Add LRECORD_IMPLEMENTATION
1232         `uint8_byte_table' and `uint16_byte_table' in UTF-2000.
1233         (syms_of_mule_charset): Add new function
1234         `find-char-attribute-table' in UTF-2000.
1235
1236         * lrecord.h (enum lrecord_type): Add
1237         `lrecord_type_uint16_byte_table' and
1238         `lrecord_type_uint8_byte_table'.
1239
1240         * char-ucs.h (struct Lisp_Uint8_Byte_Table): New structure.
1241         (Lisp_Uint8_Byte_Table): New type.
1242         (XUINT8_BYTE_TABLE): New macro.
1243         (XSETUINT8_BYTE_TABLE): New macro.
1244         (UINT8_BYTE_TABLE_P): New macro.
1245         (GC_UINT8_BYTE_TABLE_P): New macro.
1246         (struct Lisp_Uint16_Byte_Table): New structure.
1247         (Lisp_Uint16_Byte_Table): New type.
1248         (XUINT16_BYTE_TABLE): New macro.
1249         (XSETUINT16_BYTE_TABLE): New macro.
1250         (UINT16_BYTE_TABLE_P): New macro.
1251         (GC_UINT16_BYTE_TABLE_P): New macro.
1252
1253 2000-07-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1254
1255         * mule-charset.c (Vcharacter_ideographic_radical_table): Deleted.
1256         (Vcharacter_ideographic_strokes_table): Deleted.
1257         (Vcharacter_total_strokes_table): Deleted.
1258         (Vcharacter_morohashi_daikanwa_table): Deleted.
1259         (Vcharacter_decomposition_table): Deleted.
1260         (Qname): Deleted because it is duplicated.
1261         (Qideographic_radical): Deleted.
1262         (Qideographic_strokes): Deleted.
1263         (Qtotal_strokes): Deleted.
1264         (Qmorohashi_daikanwa): Deleted.
1265         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' for
1266         `ideographic-radical', `ideographic-strokes', `total-strokes',
1267         `morohashi-daikanwa' and `->decomposition'.
1268         (Fget_char_attribute): Likewise.
1269         (Fput_char_attribute): Likewise; use `make-vector' instead of
1270         `make_older_vector' for `->decomposition' value.
1271         (Fdefine_char): Comment out code to check `morohashi-daikanwa' and
1272         `ideograph-daikanwa'.
1273         (syms_of_mule_charset): Delete builtin symbols `name',
1274         `ideographic-radical', `ideographic-strokes', `total-strokes' and
1275         `morohashi-daikanwa'.
1276         (vars_of_mule_charset): Don't setup
1277         `Vcharacter_ideographic_radical_table',
1278         `Vcharacter_ideographic_strokes_table',
1279         `Vcharacter_total_strokes_table',
1280         `Vcharacter_morohashi_daikanwa_table' and
1281         `Vcharacter_decomposition_table'.
1282
1283 2000-06-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1284
1285         * alloc.c: Use `HAVE_GGC' instead of `UTF2000' for
1286         `make_older_vector', `make_vector_newer_1' and
1287         `make_vector_newer'.
1288
1289         * lisp.h: Use `HAVE_GGC' instead of `UTF2000' for
1290         `make_older_vector' and `make_vector_newer'.
1291
1292         * config.h.in (HAVE_GGC): New macro.
1293
1294 2000-06-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1295
1296         * mule-charset.c (struct char_attribute_list_closure): New
1297         structure in UTF-2000.
1298         (add_char_attribute_to_list_mapper): New function in UTF-2000.
1299         (Fchar_attribute_list): Likewise.
1300         (Fset_charset_mapping_table): Use `make_vector_newer'.
1301         (Fdecode_builtin_char): New function in UTF-2000.
1302         (syms_of_mule_charset): Add new function `char-attribute-list' and
1303         `decode-builtin-char' in UTF-2000.
1304
1305         * lisp.h (make_vector_newer): New prototype.
1306
1307         * alloc.c (make_vector_newer_1): New function.
1308         (make_vector_newer): New function.
1309
1310 2000-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1311
1312         * char-ucs.h (MAX_CHAR_DAIKANWA): Changed to `(MIN_CHAR_MOJIKYO +
1313         50100)'.
1314
1315 2000-06-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1316
1317         * mule-charset.c (Vchar_attribute_hash_table): New variable.
1318         (Vcharacter_attribute_table): Deleted.
1319         (Vcharacter_name_table): Deleted.
1320         (put_char_attribute): Deleted.
1321         (remove_char_attribute): Deleted.
1322         (struct char_attribute_alist_closure): New structure.
1323         (add_char_attribute_alist_mapper): New function.
1324         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' instead
1325         of `Vcharacter_attribute_table' and `Vcharacter_name_table'.
1326         (Fget_char_attribute): Likewise.
1327         (Fput_char_attribute): Likewise.
1328         (Fremove_char_attribute): Use `Vchar_attribute_hash_table' instead
1329         of `remove_char_attribute'.
1330         (Fdefine_char): Return character.
1331         (vars_of_mule_charset): Don't setup `Vcharacter_attribute_table'
1332         and `Vcharacter_name_table'.
1333         (complex_vars_of_mule_charset): Likewise
1334         `Vchar_attribute_hash_table'.
1335
1336 2000-06-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1337
1338         * character.h (CHARC_CHARSET): New macro.
1339         (CHARC_CHARSET_ID): New macro.
1340         (CHARC_CODE_POINT): New macro.
1341         (CHARC_COLUMNS): New macro.
1342         (CHARC_TO_CHAR): New inline function.
1343         (CHARC_EQ): New inline function.
1344         (CHARC_ASCII_EQ): New inline function.
1345         (CHARC_IS_SPACE): New inline function.
1346         (ASCII_TO_CHARC): New inline function.
1347
1348         * char-ucs.h (encode_char_2): Deleted.
1349         (ENCODE_CHAR): Use `encode_char_1' again.
1350         (breakup_char_1): Likewise.
1351         (CHAR_TO_CHARC): New inline function.
1352
1353         * char-lb.h, char-1byte.h (CHAR_TO_CHARC): New inline function.
1354
1355 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1356
1357         * redisplay.c (add_emchar_rune): Use `ASCII_TO_CHARC',
1358         `CHAR_TO_CHARC' and `CHARC_CHARSET'.
1359         (create_text_block): Use `CHARC_ASCII_EQ' and `CHARC_IS_SPACE'.
1360         (generate_formatted_string_db): Use `CHARC_TO_CHAR'.
1361         (create_string_text_block): Use `CHARC_ASCII_EQ' and
1362         `CHARC_IS_SPACE'.
1363         (pixel_to_glyph_translation): Use `CHARC_ASCII_EQ'.
1364
1365         * redisplay-x.c (separate_textual_runs): Use `CHARC_CHARSET' and
1366         `CHARC_CODE_POINT'.
1367         (x_output_display_block): Use `CHARC_CHARSET' and
1368         `CHARC_ASCII_EQ'.
1369
1370         * redisplay-tty.c (tty_output_display_block): Use
1371         `CHARC_ASCII_EQ'.
1372         (tty_output_display_block): Likewise; use `ASCII_TO_CHARC'.
1373
1374         * redisplay-output.c (compare_runes): Use `CHARC_EQ'.
1375
1376         * insdel.c (find_charsets_in_charc_string): Use
1377         `CHARC_CHARSET_ID'.
1378         (charc_string_displayed_columns): Use `CHARC_COLUMNS'.
1379         (convert_bufbyte_string_into_charc_dynarr): Use `CHAR_TO_CHARC'.
1380         (convert_charc_string_into_bufbyte_dynarr): Use `CHARC_TO_CHAR'.
1381         (convert_charc_string_into_malloced_string): Likewise.
1382
1383 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1384
1385         * toolbar-x.c (x_output_toolbar_button): Use <Charc_dynarr *>
1386         instead of <Emchar_dynarr *> for buf; use
1387         `convert_bufbyte_string_into_charc_dynarr' instead of
1388         `convert_bufbyte_string_into_emchar_dynarr'; use
1389         `find_charsets_in_charc_string' instead of
1390         `find_charsets_in_emchar_string'.
1391
1392         * redisplay.h:
1393         - Include "character.h".
1394         (struct rune): New member `cglyph'; delete member `chr'.
1395
1396         * redisplay.c (redisplay_text_width_charc_string): New function;
1397         delete `redisplay_text_width_emchar_string'.
1398         (rtw_charc_dynarr): New variable; renamed from
1399         `rtw_emchar_dynarr'.
1400         (redisplay_text_width_string): Use `rtw_charc_dynarr' instead of
1401         `rtw_emchar_dynarr'; use
1402         `convert_bufbyte_string_into_charc_dynarr' instead of
1403         `convert_bufbyte_string_into_emchar_dynarr'; use
1404         `redisplay_text_width_charc_string' instead of
1405         `redisplay_text_width_emchar_string'.
1406         (redisplay_frame_text_width_string): Use `rtw_charc_dynarr'
1407         instead of `rtw_emchar_dynarr'; use
1408         `convert_bufbyte_string_into_charc_dynarr' instead of
1409         `convert_bufbyte_string_into_emchar_dynarr'.
1410         (add_emchar_rune): Add <Charc> instead of <Emchar>; use
1411         `redisplay_text_width_charc_string' instead of
1412         `redisplay_text_width_emchar_string'.
1413         (create_text_block): Modify for <struct rune> change.
1414         (generate_formatted_string_db): Likewise.
1415         (create_string_text_block): Likewise.
1416         (pixel_to_glyph_translation): Likewise.
1417
1418         * redisplay-x.c (separate_textual_runs): Use <const Charc *>
1419         instead of <const Emchar *>.
1420         (x_text_width): Likewise.
1421         (x_output_display_block): Use <Charc_dynarr *> instead
1422         <Emchar_dynarr *>; modify for <structure rune> change.
1423         (x_output_string): Use <Charc_dynarr *> instead of <Emchar_dynarr
1424         *>.
1425
1426         * redisplay-tty.c (tty_text_width): Use <const Charc *> instead of
1427         <const Emchar *>; use `charc_string_displayed_columns' instead of
1428         `emchar_string_displayed_columns'.
1429         (tty_output_display_block): Use <Charc_dynarr *> instead of
1430         <Emchar_dynarr *> for buf; modify for <structure rune> change; use
1431         `tty_output_charc_dynarr' instead of `tty_output_emchar_dynarr'.
1432         (tty_output_charc_dynarr_dynarr): New variable; renamed from
1433         `tty_output_emchar_dynarr_dynarr'.
1434         (tty_output_charc_dynarr): New function; delete
1435         `tty_output_charc_dynarr'.
1436
1437         * redisplay-output.c (compare_runes): Modify for `struct rune'.
1438         (redisplay_output_layout): Use <Charc_dynarr *> instead of
1439         <Emchar_dynarr *> for buf; use
1440         `convert_bufbyte_string_into_charc_dynarr' instead of
1441         `convert_bufbyte_string_into_emchar_dynarr'.
1442
1443         * frame.c (title_string_charc_dynarr): New variable; renamed from
1444         `title_string_emchar_dynarr'.
1445         (generate_title_string): Use `title_string_charc_dynarr' instead
1446         of `title_string_emchar_dynarr'; use
1447         `convert_charc_string_into_malloced_string' instead of
1448         `convert_emchar_string_into_malloced_string'.
1449         (init_frame): Use `title_string_charc_dynarr' instead of
1450         `title_string_emchar_dynarr'.
1451
1452         * console.h:
1453         - Include "character.h".
1454         (struct console_methods): Use <const Charc *> instead of <const
1455         Emchar *> in `text_width_method'; use <Charc_dynarr *> instead of
1456         <Emchar_dynarr *> in output_string_method.
1457
1458         * console-x.h (x_output_string): Use <Charc_dynarr *> instead of
1459         <Emchar_dynarr *>.
1460
1461         * console-stream.c (stream_text_width): Use <const Charc *>
1462         instead of <const Emchar *>.
1463
1464         * character.h (Charc_dynarr): New type.
1465
1466         * char-ucs.h (structure Charc): New structure; define new type
1467         `Charc'.
1468
1469         * char-lb.h (DECODE_CHAR): New inline function.
1470         (encode_char_1): New inline function.
1471         (ENCODE_CHAR): New macro.
1472         (structure Charc): New structure; define new type `Charc'.
1473
1474         * char-1byte.h (Vcharset_control_1): New macro.
1475         (Vcharset_latin_iso8859_1): New macro.
1476         (DECODE_CHAR): New inline function.
1477         (encode_char_1): New inline function.
1478         (ENCODE_CHAR): New macro.
1479         (structure Charc): New structure; define new type `Charc'.
1480
1481         * insdel.c (find_charsets_in_charc_string): New function; delete
1482         `find_charsets_in_emchar_string'.
1483         (charc_string_displayed_columns): New function; delete
1484         `emchar_string_displayed_columns'.
1485         (convert_bufbyte_string_into_charc_dynarr): New function; delete
1486         `convert_bufbyte_string_into_emchar_dynarr'.
1487         (convert_charc_string_into_bufbyte_dynarr): New function; delete
1488         `convert_charc_string_into_bufbyte_dynarr'.
1489         (convert_charc_string_into_malloced_string): New function; delete
1490         `convert_charc_string_into_malloced_string'.
1491
1492         * buffer.h (find_charsets_in_charc_string): New prototype; delete
1493         `find_charsets_in_emchar_string'.
1494         (charc_string_displayed_columns): New prototype; delete
1495         `emchar_string_displayed_columns'.
1496         (convert_charc_string_into_bufbyte_dynarr): New prototype; delete
1497         `convert_charc_string_into_bufbyte_dynarr'.
1498         (convert_charc_string_into_malloced_string): New prototype; delete
1499         `convert_charc_string_into_malloced_string'.
1500
1501 2000-06-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1502
1503         * select-x.c (Fx_store_cutbuffer_internal): Modify for UTF-2000.
1504
1505 2000-06-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1506
1507         * chartab.h (get_non_ascii_char_table_value): Use <Charset_ID>.
1508
1509         * char-ucs.h: Use <short> for <Charset_ID>.
1510
1511         * mule-charset.h, char-1byte.h: Use <unsigned char> for
1512         <Charset_ID>.
1513
1514 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1515
1516         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1517         to 0.16.
1518
1519 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1520
1521         * mule-charset.c (Vcharacter_morohashi_daikanwa_table): New
1522         variable.
1523         (Qmorohashi_daikanwa): New variable.
1524         (Fchar_attribute_alist): Use `Vcharacter_morohashi_daikanwa_table'
1525         for `morohashi-daikanwa' attribute.
1526         (Fget_char_attribute): Likewise.
1527         (Fput_char_attribute): Likewise.
1528         (Fdefine_char): Don't setup `morohashi-daikanwa' attribute if it
1529         has the same value of `ideograph-daikanwa'.
1530         (syms_of_mule_charset): Add new symbol `morohashi-daikanwa'.
1531         (vars_of_mule_charset): Setup
1532         `Vcharacter_morohashi_daikanwa_table'.
1533
1534 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1535
1536         * mule-charset.c (Fchar_attribute_alist): Add coded-charset
1537         attributes.
1538         (add_charset_to_list_mapper): Add `key' instead of
1539         `XCHARSET_NAME (value)' to return aliases.
1540
1541 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1542
1543         * mule-charset.c (Vcharacter_ideographic_radical_table): New
1544         variable.
1545         (Vcharacter_ideographic_strokes_table): New variable.
1546         (Qideographic_radical): New variable.
1547         (Qideographic_strokes): New variable.
1548         (Fchar_attribute_alist): Use
1549         `Vcharacter_ideographic_radical_table' for `ideographic-radical'
1550         attribute; use `Vcharacter_ideographic_strokes_table' for
1551         `ideographic-strokes' attribute.
1552         (Fget_char_attribute): Likewise.
1553         (Fput_char_attribute): Likewise.
1554         (syms_of_mule_charset): Add new symbol `ideographic-radical' and
1555         `ideographic-strokes'.
1556         (vars_of_mule_charset): Setup
1557         `Vcharacter_ideographic_radical_table' and
1558         `Vcharacter_ideographic_strokes_table'.
1559
1560 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1561
1562         * mule-charset.c (Vcharacter_total_strokes_table): New variable.
1563         (Qtotal_strokes): New variable.
1564         (Fchar_attribute_alist): Use `Vcharacter_total_strokes_table' for
1565         `total-strokes' attribute.
1566         (Fget_char_attribute): Likewise.
1567         (Fput_char_attribute): Likewise.
1568         (syms_of_mule_charset): Add new symbol `total-strokes'.
1569         (vars_of_mule_charset): Setup `Vcharacter_total_strokes_table'.
1570
1571 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1572
1573         * mule-charset.c (Vcharacter_decomposition_table): New variable.
1574         (Fchar_attribute_alist): Add `name' and `->decomposition' if they
1575         are found.
1576         (Fget_char_attribute): Use `Vcharacter_decomposition_table' for
1577         `->decomposition' attribute.
1578         (Fput_char_attribute): Likewise.
1579         (vars_of_mule_charset): Setup `Vcharacter_decomposition_table'.
1580
1581 2000-06-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1582
1583         * mule-charset.c (decoding_table_check_elements): New function.
1584         (Fset_charset_mapping_table): Use `decoding_table_check_elements'.
1585
1586 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1587
1588         * mule-charset.c (Fset_charset_mapping_table): Use
1589         `put_char_ccs_code_point'.
1590
1591 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1592
1593         * mule-charset.c (decoding_table_put_char): New inline function.
1594         (put_char_ccs_code_point): Use `decoding_table_put_char'.
1595
1596 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1597
1598         * mule-charset.c (CHARSET_BYTE_SIZE): New inline function.
1599         (XCHARSET_BYTE_SIZE): New macro.
1600         (decoding_table_remove_char): New inline function.
1601         (put_char_ccs_code_point): Use `XCHARSET_BYTE_SIZE'; use
1602         `decoding_table_remove_char'.
1603         (remove_char_ccs): Use `decoding_table_remove_char'.
1604         (Fset_charset_mapping_table): Use `CHARSET_BYTE_SIZE'.
1605
1606 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1607
1608         * mule-charset.c (Vcharacter_name_table): New variable.
1609         (Qname): New variable.
1610         (Fget_char_attribute): Use `Vcharacter_name_table' for `name'
1611         attribute.
1612         (Fput_char_attribute): Use function `put_char_ccs_code_point'; use
1613         `Vcharacter_name_table' for `name' attribute.
1614         (Fremove_char_attribute): Use function `remove_char_ccs'.
1615         (put_char_ccs_code_point): New function.
1616         (remove_char_ccs): New function.
1617         (syms_of_mule_charset): Add new symbol `name'.
1618         (vars_of_mule_charset): Setup `Vcharacter_name_table'.
1619
1620 2000-05-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1621
1622         * mule-charset.c (make_byte_table): Add new argument `older'.
1623         (make_char_id_table): Likewise.
1624         (copy_char_id_table): Comment out because it is not used.
1625         (put_char_id_table): Modify for `make_byte_table'.
1626         (Fput_char_attribute): Make encoding_table as older object;
1627         inherit older bit of `Vcharacter_composition_table'.
1628         (mark_charset): Don't mark `cs->encoding_table'.
1629         (vars_of_mule_charset): Make `Vcharacter_attribute_table' as a
1630         normal object; make `Vcharacter_composition_table' as an older
1631         object; delete staticpro for `Vcharacter_composition_table'; make
1632         `Vcharacter_variant_table' as a normal object.
1633
1634         * alloc.c (alloc_older_lcrecord): New function in UTF-2000.
1635         (mark_object): Don't check older object in UTF-2000.
1636
1637         * lrecord.h (struct lrecord_header): Add new member `older' in
1638         UTF-2000.
1639         (set_lheader_implementation): Setup `SLI_header->older' in
1640         UTF-2000.
1641         (set_lheader_older_implementation): New macro in UTF-2000.
1642         (OLDER_RECORD_P): New macro in UTF-2000.
1643         (OLDER_RECORD_HEADER_P): New macro in UTF-2000.
1644         (alloc_older_lcrecord): New prototype in UTF-2000.
1645         (alloc_older_lcrecord_type): New macro in UTF-2000.
1646
1647 2000-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1648
1649         * mule-charset.c (byte_table_description): Use
1650         `XD_LISP_OBJECT_ARRAY' instead of `XD_LISP_OBJECT'.
1651         (char_id_table_description): Delete bogus `, 1'.
1652         (Fget_char_attribute): Refer encoding_table of each coded-charset
1653         to get value of coded-charset attribute of a character.
1654         (Fput_char_attribute): Use `make_older_vector' instead of
1655         `make_vector'; use encoding_table of each coded-charset to store
1656         value of coded-charset attribute of a character.
1657         (Fremove_char_attribute): Use encoding_table of each coded-charset
1658         to store value of coded-charset attribute of a character.
1659         (mark_charset): Mark `cs->encoding_table'; don't mark
1660         `cs->decoding_table'.
1661         (charset_description): Add description of new member
1662         `encoding_table'.
1663         (make_charset): Initialize `encoding_table'.
1664
1665         * char-ucs.h (struct Lisp_Charset): Add new member
1666         `encoding_table'.
1667         (CHARSET_ENCODING_TABLE): New macro.
1668         (XCHARSET_ENCODING_TABLE): New macro.
1669         (charset_code_point): New implementation.
1670         (encode_char_1): Likewise.
1671
1672         * alloc.c (all_older_lcrecords): New variable in UTF-2000.
1673         (disksave_object_finalization_1): Call finalizers of
1674         `all_older_lcrecords' in UTF-2000.
1675         (make_older_vector): New function in UTF-2000.
1676         (reinit_alloc_once_early): Initialize `all_older_lcrecords' in
1677         UTF-2000.
1678
1679         * lisp.h (make_older_vector): New prototype in UTF-2000.
1680
1681 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1682
1683         * lrecord.h (enum lrecord_type): Rename
1684         `lrecord_type_char_code_table' to `lrecord_type_char_id_table'.
1685
1686         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_ID_TABLE_P' and
1687         `get_char_id_table' instead of `CHAR_CODE_TABLE_P' and
1688         `get_char_code_table'.
1689
1690         * mule-charset.c (mark_char_id_table): Renamed from
1691         `mark_char_code_table'.
1692         (char_id_table_equal): Renamed from `char_code_table_equal'.
1693         (char_id_table_hash): Renamed from `char_code_table_hash'.
1694         (make_char_id_table): Renamed from `make_char_code_table'.
1695         (copy_char_id_table): Renamed from `copy_char_code_table'.
1696         (get_char_id_table): Renamed from `get_char_code_table'.
1697         (put_char_id_table): Renamed from `put_char_code_table'.
1698         (to_char_id): Renamed from `to_char_code'.
1699
1700         * char-ucs.h (struct Lisp_Char_ID_Table): Renamed from
1701         `Lisp_Char_Code_Table'.
1702         (char_id_table): Renamed from `char_code_table'.
1703         (XCHAR_ID_TABLE): Renamed from `XCHAR_CODE_TABLE'.
1704         (XSETCHAR_ID_TABLE): Renamed from `XSETCHAR_CODE_TABLE'.
1705         (CHAR_ID_TABLE_P): Renamed from `CHAR_CODE_TABLE_P'.
1706         (GC_CHAR_ID_TABLE_P): Renamed from `GC_CHAR_CODE_TABLE_P'.
1707         (get_char_id_table): Renamed from `get_char_code_table'.
1708
1709 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1710
1711         * lrecord.h (enum lrecord_type): Rename
1712         `lrecord_type_char_byte_table' to `lrecord_type_byte_table'.
1713
1714         * mule-charset.c (mark_byte_table): Renamed from
1715         `mark_char_byte_table'.
1716         (byte_table_equal): Renamed from `char_byte_table_equal'.
1717         (byte_table_hash): Renamed from `byte_table_hash'.
1718         (make_byte_table): Renamed from `make_byte_table'.
1719         (copy_byte_table): Renamed from `copy_char_byte_table'.
1720
1721         * char-ucs.h (struct Lisp_Byte_Table): Renamed from
1722         `Lisp_Char_Byte_Table'.
1723         (byte_table): Renamed from `char_byte_table'.
1724         (XBYTE_TABLE): Renamed from `XCHAR_BYTE_TABLE'.
1725         (XSETBYTE_TABLE): Renamed from `XSET_CHAR_BYTE_TABLE'.
1726         (BYTE_TABLE_P): Renamed from `XBYTE_TABLE_P'.
1727         (GC_BYTE_TABLE_P): Renamed from `GC_CHAR_BYTE_TABLE_P'.
1728
1729 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1730
1731         * buffer.c (dfc_convert_to_external_format): Modify for UTF-2000.
1732         (dfc_convert_to_internal_format): Likewise.
1733         
1734         * text-coding.c (Fcoding_system_canonical_name_p): New function.
1735         * text-coding.c (Fcoding_system_alias_p): New function.
1736         * text-coding.c (Fcoding_system_aliasee): New function.
1737         * text-coding.c (append_suffix_to_symbol): New function.
1738         * text-coding.c (dangling_coding_system_alias_p): New function.
1739         * text-coding.c (Ffind_coding_system):
1740         * text-coding.c (Fcopy_coding_system):
1741         * text-coding.c (encode_coding_no_conversion):
1742         * text-coding.c (syms_of_file_coding):
1743         * text-coding.c (vars_of_file_coding):
1744         Rewrite coding system alias code.
1745         Allow nested aliases, like symbolic links.
1746         Allow redefinition of coding system aliases.
1747         Prevent existence of dangling coding system aliases.
1748         Eliminate convert_to_external_format.
1749         Eliminate convert_to_internal_format.
1750         
1751         * text-coding.c: Change enum eol_type to eol_type_t.
1752
1753 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1754
1755         * mule-charset.c (encode_builtin_char_1): Limit builtin-code-range
1756         of `mojikyo' to MIN_CHAR_MOJIKYO + 94 * 60 * 22.
1757
1758         * char-ucs.h (MAX_CHAR_MOJIKYO): Limit builtin-code-range to
1759         MIN_CHAR_MOJIKYO + 94 * 60 * 22.
1760
1761 2000-04-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1762
1763         * mule-charset.c (encode_builtin_char_1): Use `mojikyo' instead of
1764         `ideograph-daikanwa'.
1765
1766         * char-ucs.h (Vcharset_ucs): Deleted because it is not used.
1767         (Vcharset_ucs_bmp): Likewise.
1768         (Vcharset_mojikyo): Add new extern variable definition.
1769         (Vcharset_latin_iso8859_2): Deleted because it is not used.
1770         (Vcharset_latin_iso8859_3): Likewise.
1771         (Vcharset_latin_iso8859_4): Likewise.
1772         (Vcharset_latin_iso8859_9): Likewise.
1773         (Vcharset_latin_viscii_lower): Likewise.
1774         (Vcharset_latin_viscii_upper): Likewise.
1775         (DECODE_CHAR): If charset is `mojikyo-pj-N', corresponding
1776         `mojikyo' code-point is used to decode.
1777         (encode_char_2): New function [to convert `mojikyo' code-point to
1778         Mojikyo font encoding].
1779         (ENCODE_CHAR): Use `encode_char_2' instead of `encode_code_1'.
1780         (breakup_char_1): Likewise.
1781         (CHAR_CHARSET): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR'.
1782
1783 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1784
1785         * text-coding.c (Fmake_coding_system): Add document about
1786         `disable-composition' property.
1787
1788 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1789
1790         * text-coding.c (Qdisable_composition): New variable; delete
1791         `Qcomposite'.
1792         (Fmake_coding_system): Add new property `disable-composite';
1793         delete property `composite'.
1794         (COMPOSE_ADD_CHAR): Use `CODING_SYSTEM_DISABLE_COMPOSITION'
1795         instead of `!CODING_SYSTEM_COMPOSITE'.
1796         (syms_of_file_coding): Add new symbol `disable-composition';
1797         delete symbol `composite'.
1798
1799         * file-coding.h (struct Lisp_Coding_System): Add
1800         `disable_composition'; delete `enable_composition'.
1801         (CODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
1802         `CODING_SYSTEM_COMPOSITE'.
1803         (XCODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
1804         `XCODING_SYSTEM_COMPOSITE'.
1805
1806 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1807
1808         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1809         to 0.15.
1810
1811 2000-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1812
1813         * text-coding.c (Qcomposite): New variable.
1814         (Fmake_coding_system): Add new property `composite'.
1815         (struct decoding_stream): Add `combined_char_count',
1816         `combined_chars' and `combining_table' in UTF-2000.
1817         (COMPOSE_FLUSH_CHARS): New macro.
1818         (COMPOSE_ADD_CHAR): New macro.
1819         (reset_decoding_stream): Reset `str->combined_char_count' and
1820         `str->combining_table' in UTF-2000.
1821         (decode_coding_iso2022): Modify for character-decomposition.
1822         (syms_of_file_coding): Add new symbol `composite'.
1823
1824 2000-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1825
1826         * mule-charset.c (Vcharset_latin_tcvn5712): New variable.
1827         (Fput_char_attribute): Set up `Vcharacter_variant_table' instead
1828         of `Vcharacter_composition_table' if `->decomposition' property
1829         has only 1 element.
1830         (Qlatin_tcvn5712): New variable.
1831         (syms_of_mule_charset): Add new symbol `latin-tcvn5712'.
1832         (complex_vars_of_mule_charset): Add new coded-charset
1833         `latin-tcvn5712'.
1834
1835         * char-ucs.h (LEADING_BYTE_LATIN_TCVN5712): New macro.
1836
1837 2000-04-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1838
1839         * file-coding.h (struct Lisp_Coding_System): Add
1840         `enable_composition'.
1841         (CODING_SYSTEM_COMPOSITE): New macro.
1842         (XCODING_SYSTEM_COMPOSITE): New macro.
1843
1844 2000-03-17  MORIOKA Tomohiko  <tomo@m17n.org>
1845
1846         * mule-canna.c (c2mu): Fix problem with UTF-2000.
1847
1848 2000-03-16  MORIOKA Tomohiko  <tomo@m17n.org>
1849
1850         * mule-charset.c (Fput_char_attribute): Don't make mapping-table
1851         if ATTRIBUTE is `ucs' and character-id of CHARACTER = VALUE.
1852
1853 2000-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
1854
1855         * mule-charset.c (Vcharset_mojikyo): New variable.
1856         (Fdefine_char): Don't use coded-charset which does not have
1857         non-builtin character range to allocate character-id.
1858         (Qmojikyo): New variable.
1859         (syms_of_mule_charset): Add new symbol `mojikyo'.
1860         (complex_vars_of_mule_charset): Add new coded-charset `mojikyo'.
1861
1862         * char-ucs.h (LEADING_BYTE_DAIKANWA_EKANJI): New macro.
1863         (LEADING_BYTE_MOJIKYO): New macro.
1864         (MIN_CHAR_MOJIKYO): New macro.
1865         (MIN_CHAR_DAIKANWA): Use `MIN_CHAR_MOJIKYO'.
1866         (MAX_CHAR_MOJIKYO): New macro.
1867
1868 2000-02-12  MORIOKA Tomohiko  <tomo@m17n.org>
1869
1870         * mule-charset.c (remove_char_attribute): Fixed.
1871
1872 2000-02-08  MORIOKA Tomohiko  <tomo@m17n.org>
1873
1874         * mule-charset.c (remove_char_attribute): New function.
1875         (Fremove_char_attribute): New function.
1876         (encode_builtin_char_1): Comment out builtin-support for
1877         greek-iso8859-7 and cyrillic-iso8859-5.
1878         (Fdecode_char): Check `code' is an integer.
1879         (syms_of_mule_charset): Add `remove-char-attribute'.
1880         (MIN_CHAR_GREEK): Deleted.
1881         (MAX_CHAR_GREEK): Likewise.
1882         (MIN_CHAR_CYRILLIC): Likewise.
1883         (MAX_CHAR_CYRILLIC): Likewise.
1884         (complex_vars_of_mule_charset): Don't use MIN_CHAR_GREEK and
1885         MAX_CHAR_GREEK for `greek-iso8859-7'.
1886
1887         * char-ucs.h (MIN_CHAR_GREEK): Comment out.
1888         (MAX_CHAR_GREEK): Likewise.
1889         (MIN_CHAR_CYRILLIC): Likewise.
1890         (MAX_CHAR_CYRILLIC): Likewise.
1891
1892 2000-02-02  MORIOKA Tomohiko  <tomo@m17n.org>
1893
1894         * mule-charset.c (Fdefine_char): Fix problem when new code-point
1895         format is used without `ucs' property.
1896         (Fdecode_char): Fix problem with GR representation.
1897         (complex_vars_of_mule_charset): Don't use `MIN_CHAR_CYRILLIC' and
1898         `MAX_CHAR_CYRILLIC' as range of builtin `cyrillic-iso8859-5'.
1899
1900 2000-01-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
1901
1902         * mule-charset.c (make_builtin_char): New function.
1903         (encode_builtin_char_1): Check ISO-2022-charset is defined or not.
1904         (Fset_charset_mapping_table): Modify for new representation of
1905         code-point.
1906         (Fdecode_char): New function.
1907         (syms_of_mule_charset): Add new builtin function `decode-char' in
1908         UTF-2000.
1909
1910         * char-ucs.h (make_builtin_char): New prototype.
1911         (DECODE_CHAR): New inline function.
1912         (MAKE_CHAR): Use `DECODE_CHAR'.
1913
1914 2000-01-28  MORIOKA Tomohiko  <tomo@m17n.org>
1915
1916         * text-coding.c (parse_charset_conversion_specs): Use
1917         `XCHARSET_CHARS' and `XCHARSET_DIMENSION' instead of
1918         `XCHARSET_TYPE'.
1919         (iso2022_designate): Likewise.
1920
1921         * chartab.c (decode_char_table_range): Use `XCHARSET_CHARS' and
1922         `XCHARSET_DIMENSION' instead of `XCHARSET_TYPE'.
1923
1924         * mule-charset.c (Vcharset_ucs): New variable.
1925         (print_charset): Change design; use `CHARSET_CHARS' and
1926         `CHARSET_DIMENSION' instead of `CHARSET_TYPE'.
1927         (make_charset): Change signature to specify `chars' and
1928         `dimension' instead of `type'.
1929         (range_charset_code_point): Modify for 256^n-set.
1930         (encode_builtin_char_1): Encode as `ucs' in default.
1931         (Fmake_charset): Modify for `make_charset'.
1932         (Fmake_reverse_direction_charset): Likewise.
1933         (Fsplit_char): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR' in
1934         UTF-2000.
1935         (complex_vars_of_mule_charset): Add coded-charset `ucs'; modify
1936         for `make_charset'.
1937
1938         * char-ucs.h (Vcharset_ucs): New variable.
1939         (LEADING_BYTE_UCS): New macro.
1940         (struct Lisp_Charset): Delete `type'; change type of `dimension'
1941         and `chars' to `unsigned short' from `unsigned int'.
1942         (CHARSET_TYPE): Deleted.
1943         (XCHARSET_TYPE): Deleted.
1944
1945 2000-01-27  MORIOKA Tomohiko  <tomo@m17n.org>
1946
1947         * mule-charset.c (charset_code_point): Moved to char-ucs.h.
1948
1949         * char-ucs.h (charset_code_point): Moved from mule-charset.c.
1950         (ENCODE_CHAR): New macro.
1951
1952 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
1953
1954         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1955         to 0.14 (Kawachi-Katakami).
1956
1957 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
1958
1959         * text-coding.c (char_encode_shift_jis): Modify for
1960         `charset_code_point'.
1961         (char_encode_iso2022): Likewise.
1962
1963         * mule-charset.c (Fput_char_attribute): Use <Lisp_Object>
1964         (integer) instead of list of <Lisp_Object>s (integers) as the
1965         format of code-point of a coded-charset.
1966         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
1967         (encode_builtin_char_1): New function; delete
1968         `split_builtin_char'.
1969         (charset_code_point): Return <int> instead of <Lisp_Object>.
1970         (Fsplit_char): Don't use `SPLIT_CHAR'.
1971
1972         * char-ucs.h (encode_builtin_char_1): New prototype; delete
1973         prototype for `split_builtin_char'.
1974         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
1975         (charset_code_point): Likewise.
1976         (encode_char_1): New inline function; delete `SPLIT_CHAR'.
1977         (breakup_char_1): Use `encode_char_1' instead of `SPLIT_CHAR'.
1978
1979 2000-01-20  MORIOKA Tomohiko  <tomo@m17n.org>
1980
1981         * mule-charset.c (complex_vars_of_mule_charset): Don't define
1982         `japanese-jisx0208-1990' in non-UTF-2000 Mule.
1983
1984 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
1985
1986         * mule-charset.c (split_builtin_char): Don't support OBS_94x94.
1987
1988         * char-ucs.h (MIN_CHAR_OBS_94x94): Deleted.
1989         (MAX_CHAR_OBS_94x94): Deleted.
1990
1991 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
1992
1993         * mule-charset.c (split_builtin_char): Use `MAX_CHAR_BMP'.
1994
1995         * char-ucs.h (MAX_CHAR_BMP): New macro.
1996
1997 2000-01-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
1998
1999         * text-coding.c: Sync with r21-2-24.
2000
2001 2000-01-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
2002
2003         * file-coding.c: Modify for UTF-2000.
2004
2005 2000-01-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
2006
2007         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2008         to 0.13 (Takaida).
2009
2010 2000-01-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
2011
2012         * mule-charset.c (split_builtin_char): Delete builtin support for
2013         `katakana-jisx0201'.
2014         (complex_vars_of_mule_charset): Don't map `katakana-jisx0201' to
2015         BMP area in builtin representation.
2016
2017         * char-ucs.h (MAKE_CHAR): Delete builtin support for
2018         `Vcharset_katakana_jisx0201'.
2019
2020 1999-12-24  MORIOKA Tomohiko  <tomo@etl.go.jp>
2021
2022         * mule-charset.c (Vcharset_mojikyo_pj_[1 .. 21]): New variable.
2023         (Qisolated): New variable.
2024         (Qinitial): New variable.
2025         (Qmedial): New variable.
2026         (Qfinal): New variable.
2027         (Qvertical): New variable.
2028         (Qsmall): New variable.
2029         (to_char_code): Use `Qisolated', `Qinitial', `Qmedial', `Qfinal',
2030         `Qvertical' and `Qsmall'.
2031         (Qmojikyo_pj_[1 .. 21]): New variable.
2032         (syms_of_mule_charset): Add new symbols `isolated', `initial',
2033         `medial', `final', `vertical', `small' and `mojikyo-pj-[1 .. 21]'.
2034         (complex_vars_of_mule_charset): Add new charset `mojikyo-pj-[1
2035         .. 21]'.
2036
2037 1999-11-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
2038
2039         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x60.
2040         (LEADING_BYTE_MOJIKYO_PJ_[1 .. 21]): New macros.
2041         (MAX_LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 32)'.
2042
2043 1999-11-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
2044
2045         * mule-charset.c (Vcharset_japanese_jisx0208_1990): New variable.
2046         (Fdefine_char): Use Group 00 Plane 10 for non-coded variants of
2047         BMP.
2048         (Qjapanese_jisx0208_1990): New variable.
2049         (syms_of_mule_charset): Add new symbol `Qjapanese_jisx0208_1990'.
2050         (complex_vars_of_mule_charset): Add new coded-charset
2051         `japanese-jisx0208-1990'.
2052
2053         * char-ucs.h (LEADING_BYTE_JAPANESE_JISX0208_1990): New macro.
2054         (MIN_CHAR_JIS_X0208_1990): New macro.
2055         (MAX_CHAR_JIS_X0208_1990): New macro.
2056
2057 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2058
2059         * text-coding.c (char_encode_iso2022): Output `~' if ISO 2022
2060         coded-charset is not found.
2061
2062 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2063
2064         * mule-charset.c (Fget_char_attribute): Forgot to `CHECK_CHAR'.
2065         (Fdefine_char): Use `Fmake_char'.
2066
2067 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2068
2069         * mule-charset.c (Vcharset_ideograph_daikanwa): New variable.
2070         (Vcharset_hiragana_jisx0208): Deleted.
2071         (Vcharset_katakana_jisx0208): Deleted.
2072         (Qideograph_daikanwa): New variable.
2073         (Qhiragana_jisx0208): Deleted.
2074         (Qkatakana_jisx0208): Deleted.
2075         (split_builtin_char): Split `ideograph-daikanwa'.
2076         (Fsplit_char): New implementation for UTF-2000.
2077         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa';
2078         delete symbol `hiragana-jisx0208' and `katakana-jisx0208'.
2079         (complex_vars_of_mule_charset): Add new coded-charset
2080         `ideograph-daikanwa'; delete coded-charset `hiragana-jisx0208' and
2081         `katakana-jisx0208'.
2082
2083         * char-ucs.h (LEADING_BYTE_DAIKANWA): New macro.
2084         (LEADING_BYTE_HIRAGANA_JISX0208): Deleted.
2085         (LEADING_BYTE_KATAKANA_JISX0208): Deleted.
2086         (MIN_CHAR_DAIKANWA): New macro.
2087         (MAX_CHAR_DAIKANWA): New macro.
2088
2089 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2090
2091         * data.c (Fstring_to_number): Don't recognize floating point if
2092         base is not 10.
2093
2094 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2095
2096         * mule-charset.c (Fput_char_attribute): Forgot to `CHECK_CHAR'.
2097
2098 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2099
2100         * mule-charset.c (Qsquare): New variable.
2101         (to_char_code): Add `Qsquare'.
2102         (syms_of_mule_charset): Add new symbol `square'.
2103
2104 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2105
2106         * mule-charset.c (Qcircle): New variable.
2107         (to_char_code): Add `Qcircle'.
2108         (syms_of_mule_charset): Add new symbol `circle'.
2109
2110 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2111
2112         * mule-charset.c (Qfont): New variable.
2113         (to_char_code): Add `Qfont'.
2114         (syms_of_mule_charset): Add new symbol `font'.
2115
2116 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2117
2118         * mule-charset.c (Qsub): New variable.
2119         (to_char_code): Add `Qsub'.
2120         (syms_of_mule_charset): Add new symbol `sub'.
2121
2122 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2123
2124         * mule-charset.c (Fput_char_attribute): Convert each element of
2125         VALUE to GL position if ATTRIBUTE is a GR-set,
2126
2127 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2128
2129         * mule-charset.c (Fput_char_attribute): Allow GR code-point if a
2130         coded-charset is a GR-set.
2131
2132 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2133
2134         * mule-charset.c (Fput_char_attribute): Check each element of
2135         VALUE is a byte if ATTRIBUTE is a coded-charset or its name.
2136
2137 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2138
2139         * mule-charset.c (Vcharset_ethiopic_ucs): New variable in
2140         UTF-2000.
2141         (Qethiopic_ucs): New variable in UTF-2000.
2142         (syms_of_mule_charset): Add new symbol `ethiopic-ucs' in UTF-2000.
2143         (complex_vars_of_mule_charset): Add new coded-charset
2144         `ethiopic-ucs' in UTF-2000.
2145
2146         * char-ucs.h (LEADING_BYTE_ETHIOPIC_UCS): New macro.
2147         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
2148         9)'.
2149         (LEADING_BYTE_KATAKANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
2150         10)'.
2151         (LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 11)'.
2152
2153 1999-11-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
2154
2155         * mule-charset.c (Fset_charset_mapping_table): Fix problem with
2156         `ascii'.
2157
2158 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2159
2160         * mule-charset.c (Vcharacter_variant_table): New variable.
2161         (Q_ucs): New variable.
2162         (Fchar_variants): New function.
2163         (Fput_char_attribute): Register `->ucs' value to
2164         `Vcharacter_variant_table'.
2165         (syms_of_mule_charset): Add new function `char-variants' and new
2166         symbol `->ucs'.
2167         (vars_of_mule_charset): Setup `Vcharacter_variant_table'.
2168
2169 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2170
2171         * mule-charset.c (get_char_code_table): Allow negative character
2172         code.
2173         (put_char_code_table): Likewise.
2174         (Vcharacter_composition_table): New variable.
2175         (Q_decomposition): New variable.
2176         (Qwide): New variable.
2177         (Qnarrow): New variable.
2178         (Qcompat): New variable.
2179         (QnoBreak): New variable.
2180         (Qsuper): New variable.
2181         (Qfraction): New variable.
2182         (to_char_code): New function.
2183         (Fget_composite_char): New function.
2184         (Fput_char_attribute): Register `->decomposition' value to
2185         `Vcharacter_composition_table'.
2186         (syms_of_mule_charset): Add new function `get-composite-char', new
2187         symbol `->decomposition', `wide', `narrow', `compat', `noBreak',
2188         `super' and `fraction'.
2189         (vars_of_mule_charset): Setup `Vcharacter_composition_table'.
2190
2191 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2192
2193         * mule-charset.c (Fchar_attribute_alist): Check the argument is a
2194         character; copy the return value.
2195
2196 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2197
2198         * char-ucs.h (SPLIT_CHAR): Use `split_builtin_char'.
2199
2200         * mule-charset.c (range_charset_code_point): Must use make_int.
2201         (split_builtin_char): New function.
2202
2203 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2204
2205         * mule-charset.c (char_byte_table): Change name from
2206         "char-code-table" to "char-byte-table".
2207         (mark_char_code_table): New function.
2208         (char_code_table_equal): New function.
2209         (char_code_table_hash): New function.
2210         (char_code_table_description): New constant.
2211         (char_code_table): New type.
2212         (make_char_code_table): New function.
2213         (copy_char_code_table): New function.
2214         (get_char_code_table): Modify for `char_code_table' type.
2215         (put_char_code_table): Likewise.
2216         (vars_of_mule_charset): Update `utf-2000-version' to 0.12
2217         (Kashiwara).
2218
2219         * char-ucs.h (char_code_table): New type.
2220         (XCHAR_CODE_TABLE): New macro.
2221         (XSETCHAR_CODE_TABLE): New macro.
2222         (CHAR_CODE_TABLE_P): New macro.
2223         (GC_CHAR_CODE_TABLE_P): New macro.
2224         (struct Lisp_Char_Code_Table): New structure.
2225
2226 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2227
2228         * mule-charset.c (Fmake_charset): Setup byte_offset for
2229         {94|96}^n-set.
2230
2231 1999-11-09  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2232
2233         * mule-charset.c (Fdefine_char): Fix problem with non-UCS
2234         character.
2235
2236 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2237
2238         * char-ucs.h (SPLIT_CHAR): Don't make new cell if a charset slot
2239         is found.
2240
2241 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2242
2243         * mule-charset.c (Fget_char_attribute): If ATTRIBUTE is a name of
2244         charset, it is regarded as a charset.
2245         (put_char_attribute): New function in UTF-2000.
2246         (Fput_char_attribute): If ATTRIBUTE is a charset or a name of
2247         charset, mapping-table of the charset is modified.
2248         (Fdefine_char): New function in UTF-2000.
2249         (Fset_charset_mapping_table): Use `put_char_attribute' instead of
2250         `Fput_char_attribute'.
2251         (syms_of_mule_charset): Add new function `define-char' and new
2252         symbol `ucs' in UTF-2000.
2253         (vars_of_mule_charset): Update `utf-2000-version' to 0.11 (Shiki).
2254
2255 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
2256
2257         * mule-charset.c (Fcharset_name): Define `byte_offset' in
2258         non-UTF-2000 configuration.
2259
2260 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
2261
2262         * text-coding.c (char_encode_shift_jis): Use `charset_code_point'
2263         not to use `XCHARSET_ENCODING_TABLE (Vcharset_latin_jisx0201)'.
2264
2265         * mule-charset.c (mark_charset): `cs->encoding_table' has been
2266         deleted.
2267         (make_charset): Don't use `CHARSET_ENCODING_TABLE(cs)'.
2268         (Fset_charset_mapping_table): Likewise.
2269
2270         * char-ucs.h (struct Lisp_Charset): Delete `encoding_table'.
2271         (CHARSET_ENCODING_TABLE): Delete.
2272         (XCHARSET_ENCODING_TABLE): Delete.
2273         (charset_code_point): New interface.
2274
2275 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
2276
2277         * text-coding.c (char_encode_iso2022): Use `charset_code_point'
2278         instead of `charset_get_byte1' and `charset_get_byte2'.
2279
2280         * mule-charset.c, char-ucs.h (charset_get_byte1): Deleted.
2281         (charset_get_byte2): Deleted.
2282
2283 1999-10-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
2284
2285         * char-ucs.h (SPLIT_CHAR): New inline function.
2286         (breakup_char_1): Use `SPLIT_CHAR'.
2287
2288         * mule-charset.c (range_charset_code_point): New function.
2289         (charset_code_point): New function.
2290
2291         * char-ucs.h (range_charset_code_point): New interface.
2292         (breakup_char_1): Use `range_charset_code_point'.
2293
2294 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
2295
2296         * mule-charset.c (Fmake_charset): Delete unused local variable
2297         `code_offset'.
2298
2299         * char-ucs.h (Vcharacter_attribute_table): New extern variable.
2300         (breakup_char_1): Find a charset and code-point in
2301         `Vcharacter_attribute_table'.
2302
2303 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
2304
2305         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2306         to 0.10 (Yao).
2307
2308 1999-10-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
2309
2310         * mule-charset.c (Vcharacter_attribute_table): New variable.
2311         (Fchar_attribute_alist): New function.
2312         (Fget_char_attribute): New function.
2313         (Fput_char_attribute): New function.
2314         (Fset_charset_mapping_table): Setup `Vcharacter_attribute_table'
2315         too.
2316         (syms_of_mule_charset): Add new function `char-attribute-alist',
2317         `get-char-attribute' and `put-char-attribute'.
2318         (vars_of_mule_charset): Setup `Vcharacter_attribute_table'.
2319
2320 1999-10-19  MORIOKA Tomohiko  <tomo@etl.go.jp>
2321
2322         * mule-charset.c (Fmake_charset): Just use
2323         `get_unallocated_leading_byte'.
2324
2325         * char-ucs.h (LEADING_BYTE_*): Use ISO-IR numbers for official
2326         sets; don't use final-byte based number for private sets.
2327
2328 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2329
2330         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
2331         integer.
2332
2333 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2334
2335         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2336         to 0.9.
2337
2338 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2339
2340         * regex.c (compile_extended_range): Use `CHAR_CHARSET_ID' instead
2341         of `CHAR_LEADING_BYTE' in UTF-2000.
2342
2343         * insdel.c (find_charsets_in_bufbyte_string): Use
2344         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
2345         (find_charsets_in_emchar_string): Likewise.
2346
2347         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use
2348         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
2349
2350         * char-ucs.h (CHAR_LEADING_BYTE): Deleted.
2351         (CHAR_CHARSET_ID): New macro.
2352
2353 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2354
2355         * chartab.c (get_char_table): Don't use type `Charset_ID' for
2356         charset-id - MIN_LEADING_BYTE.
2357         (put_char_table): Likewise.
2358
2359 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2360
2361         * char-ucs.h (MIN_LEADING_BYTE): Changed to `-0x40'.
2362         (NUM_LEADING_BYTES): Changed to (80 * 3 - MIN_LEADING_BYTE).
2363         (CHARSET_LEADING_BYTE): Don't cast by `Bufbyte'.
2364         (CHARSET_ID_OFFSET): New macro.
2365         (LEADING_BYTE_CONTROL_1): Changed to (CHARSET_ID_OFFSET - 1).
2366         (LEADING_BYTE_UCS_BMP): Changed to (CHARSET_ID_OFFSET - 2).
2367         (LEADING_BYTE_LATIN_VISCII): Changed to (CHARSET_ID_OFFSET - 3).
2368         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
2369         4).
2370         (LEADING_BYTE_KATAKANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
2371         5).
2372         (MIN_LEADING_BYTE_PRIVATE): Changed to `MIN_LEADING_BYTE'.
2373         (MAX_LEADING_BYTE_PRIVATE): Changed to (CHARSET_ID_OFFSET - 6).
2374         (CHARSET_ID_OFFSET_94): Changed to (CHARSET_ID_OFFSET - '0').
2375         (CHARSET_ID_OFFSET_96): Changed to (CHARSET_ID_OFFSET_94 + 80).
2376         (CHARSET_ID_OFFSET_94x94): Changed to (CHARSET_ID_OFFSET_96 + 80).
2377
2378 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2379
2380         * mule-charset.c (next_allocated_leading_byte): New variable in
2381         UTF-2000.
2382         (next_allocated_1_byte_leading_byte): Don't define in UTF-2000.
2383         (next_allocated_2_byte_leading_byte): Don't define in UTF-2000.
2384         (get_unallocated_leading_byte): Simply use
2385         `next_allocated_leading_byte' [ignore dimension] in UTF-2000.
2386         (vars_of_mule_charset): Setup `next_allocated_leading_byte' in
2387         UTF-2000.
2388
2389         * char-ucs.h (MIN_LEADING_BYTE_PRIVATE): New macro.
2390         (MAX_LEADING_BYTE_PRIVATE): New macro.
2391         (MIN_LEADING_BYTE_OFFICIAL_2): Deleted.
2392         (MAX_LEADING_BYTE_OFFICIAL_2): Deleted.
2393
2394 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2395
2396         * mule-charset.c (Fmake_charset): Allocate final-byte based
2397         charset-id for 94-set, 96-set and 94x94-set.
2398
2399 1999-10-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2400
2401         * mule-charset.c (char_byte_table_equal): Fill braces to avoid
2402         ambiguous `else'.
2403         (Fmake_charset): Likewise.
2404         (complex_vars_of_mule_charset): Modify the font registry of
2405         `ucs-bmp' not to match `Ethiopic-Unicode'.
2406
2407 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2408
2409         * mule-charset.c (complex_vars_of_mule_charset): Add font
2410         registory of `ucs-bmp'.
2411
2412 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2413
2414         * text-coding.c (char_encode_iso2022): Ignore non-ISO-2022
2415         coded-charsets in `default-coded-charset-priority-list' when
2416         breaking up a character.
2417
2418         * mule-charset.c (Vcharset_latin_viscii): New variable.
2419         (Qlatin_viscii): New variable.
2420         (make_charset): Don't use `decoding_table'.
2421         (Fmake_charset): Regard graphic = 2 as 256^n-set; setup
2422         byte_offset.
2423         (Fset_charset_mapping_table): New implementation.
2424         (syms_of_mule_charset): Add new symbol `latin-viscii'.
2425         (complex_vars_of_mule_charset): Set `graphic' attribute of charset
2426         `ucs-bmp' and `latin_viscii' to 2; change font registry of charset
2427         `latin-viscii-lower' to "MULEVISCII-LOWER"; change font registry
2428         of charset `latin-viscii-upper' to "MULEVISCII-UPPER"; add new
2429         charset `latin_viscii'.
2430
2431         * char-ucs.h (LEADING_BYTE_LATIN_VISCII): New macro.
2432         (CHARSET_TYPE_94X94): Change to 1 from 2.
2433         (CHARSET_TYPE_96): Change to 2 from 1.
2434         (CHARSET_TYPE_128): New macro.
2435         (CHARSET_TYPE_128X128): Change to 5 from 4.
2436         (CHARSET_TYPE_256): New macro.
2437         (CHARSET_TYPE_256X256): Change to 7 from 5.
2438         (MAKE_CHAR): Use `XCHARSET_BYTE_OFFSET(charset)'.
2439
2440 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2441
2442         * text-coding.c (char_encode_shift_jis): Refer
2443         `XCHARSET_ENCODING_TABLE(Vcharset_latin_jisx0201)' instead of
2444         `XCHARSET_TO_BYTE1_TABLE(Vcharset_latin_jisx0201)'.
2445
2446         * mule-charset.c (mark_char_byte_table): New function in UTF-2000.
2447         (char_byte_table_equal): New function in UTF-2000.
2448         (char_byte_table_hash): New function in UTF-2000.
2449         (char_byte_table_description): New constant in UTF-2000.
2450         (char_byte_table): New type in UTF-2000.
2451         (make_char_byte_table): New function in UTF-2000.
2452         (copy_char_byte_table): New function in UTF-2000.
2453         (make_char_code_table): New macro in UTF-2000.
2454         (get_char_code_table): New function in UTF-2000.
2455         (put_char_code_table): New function in UTF-2000.
2456         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
2457         (charset_description): Add setting in UTF-2000.
2458         (make_charset): Setup `CHARSET_ENCODING_TABLE(cs)' instead of
2459         `CHARSET_TO_BYTE1_TABLE(cs)'.
2460         (charset_get_byte1): Refer `XCHARSET_ENCODING_TABLE(charset)'
2461         instead of `XCHARSET_TO_BYTE1_TABLE(charset)'.
2462         (charset_get_byte2): Refer `XCHARSET_ENCODING_TABLE(charset)'
2463         instead of `XCHARSET_TO_BYTE2_TABLE(charset)'.
2464         (Fset_charset_mapping_table): Setup `CHARSET_ENCODING_TABLE(cs)'
2465         instead of `CHARSET_TO_BYTE1_TABLE(cs)' and
2466         `CHARSET_TO_BYTE2_TABLE(cs)'.
2467
2468         * char-ucs.h (char_byte_table): New type.
2469         (XCHAR_BYTE_TABLE): New macro.
2470         (XSETCHAR_BYTE_TABLE): New macro.
2471         (CHAR_BYTE_TABLE_P): New macro.
2472         (GC_CHAR_BYTE_TABLE_P): New macro.
2473         (struct Lisp_Char_Byte_Table): New structure.
2474         (get_char_code_table): New interface.
2475         (Emchar_to_byte_table): Deleted.
2476         (get_byte_from_character_table): Deleted.
2477         (struct Lisp_Charset): Add `encoding_table'; delete
2478         `to_byte1_table' and `to_byte2_table'.
2479         (CHARSET_ENCODING_TABLE): New macro.
2480         (CHARSET_TO_BYTE1_TABLE): Deleted.
2481         (CHARSET_TO_BYTE2_TABLE): Deleted.
2482         (XCHARSET_ENCODING_TABLE): New macro.
2483         (XCHARSET_TO_BYTE1_TABLE): Deleted.
2484         (XCHARSET_TO_BYTE2_TABLE): Deleted.
2485
2486 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
2487
2488         * mule-charset.c (syms_of_mule_charset): Delete charset alias
2489         `vietnamese-viscii-*'.
2490
2491 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
2492
2493         * mule-charset.c (Qvietnamese_viscii_lower): New variable.
2494         (Qvietnamese_viscii_upper): New variable.
2495         (Fdefine_charset_alias): New function.
2496         (syms_of_mule_charset): Add new function `define-charset-alias'.
2497         (syms_of_mule_charset): Rename charset `vietnamese-viscii-*' to
2498         `latin-viscii-*'; define `vietnamese-viscii-*' as aliases for
2499         `latin-viscii-*'.
2500
2501 1999-10-04  MORIOKA Tomohiko  <tomo@etl.go.jp>
2502
2503         * char-ucs.h (MIN_CHAR_OBS_94x94): New macro.
2504         (MAX_CHAR_OBS_94x94): New macro.
2505         (breakup_char_1): Support obsolete XEmacs-UCS private code space
2506         for 94x94 sets.
2507
2508         * mule-charset.c (put_byte_from_character_table): Change unit size
2509         from 128 to 256.
2510         (mark_charset): Don't mark `cs->decoding_table' if `UTF2000' is
2511         not defined.
2512         (Fmake_reverse_direction_charset): Modify dummy argument of
2513         `make_charset' for non-UTF-2000 environment.
2514
2515 1999-10-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2516
2517         * char-ucs.h (MAKE_CHAR): Allow nested decoding-table.
2518
2519         * mule-charset.c (destroy_byte_from_character_table): New macro.
2520         (latin_jisx0201_to_ucs): Deleted.
2521         (latin_iso8859_2_to_ucs): Deleted.
2522         (latin_iso8859_3_to_ucs): Deleted.
2523         (latin_iso8859_4_to_ucs): Deleted.
2524         (latin_iso8859_9_to_ucs): Deleted.
2525         (latin_viscii_lower_to_ucs): Deleted.
2526         (latin_viscii_upper_to_ucs): Deleted.
2527         (mark_charset): Mark `cs->decoding_table'.
2528         (Fcharset_mapping_table): Fix DOC-string.
2529         (Fset_charset_mapping_table): New function.
2530         (syms_of_mule_charset): Add nwe function
2531         `set-charset-mapping-table'.
2532         (complex_vars_of_mule_charset): Don't setup and use
2533         `latin_*_to_ucs'.
2534
2535 1999-10-01  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2536
2537         * char-ucs.h (MAKE_CHAR): Check the result for range-represented
2538         charset.
2539
2540 1999-09-30  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2541
2542         * mule-charset.c (Vcharset_hiragana_jisx0208): New variable.
2543         (Vcharset_katakana_jisx0208): New variable.
2544         (Qhiragana_jisx0208): New variable.
2545         (Qkatakana_jisx0208): New variable.
2546         (make_charset): Add new argument `byte_offset'.
2547         (charset_get_byte1): Modify for new coded-charset definition; use
2548         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
2549         `XCHARSET_BYTE_OFFSET'.
2550         (Fmake_charset): Modify for `make_charset'.
2551         (Fmake_reverse_direction_charset): Likewise.
2552         (syms_of_mule_charset): Add new symbols `hiragana-jisx0208' and
2553         `katakana-jisx0208'.
2554         (complex_vars_of_mule_charset): Modify for `make_charset'; quote
2555         `.'  in font registry of charset `katakana-jisx0201',
2556         `latin-jisx0201', `vietnamese-viscii-lower' and
2557         `vietnamese-viscii-upper'; modify DOC-string of charset
2558         `japanese-jisx0208-1978' and `japanese-jisx0208'; modify font
2559         registry of charset `japanese-jisx0208' not to use font for JIS
2560         X0208:1990; add new charset `hiragana-jisx0208' and
2561         `katakana-jisx0208'.
2562
2563         * char-ucs.h (LEADING_BYTE_HIRAGANA_JISX0208): New macro.
2564         (LEADING_BYTE_KATAKANA_JISX0208): New macro.
2565         (struct Lisp_Charset): Add `byte_offset'.
2566         (CHARSET_BYTE_OFFSET): New macro.
2567         (XCHARSET_UCS_MIN): New macro.
2568         (XCHARSET_UCS_MAX): New macro.
2569         (XCHARSET_CODE_OFFSET): New macro.
2570         (XCHARSET_BYTE_OFFSET): New macro.
2571         (MIN_CHAR_HIRAGANA): New macro.
2572         (MAX_CHAR_HIRAGANA): New macro.
2573         (MIN_CHAR_KATAKANA): New macro.
2574         (MAX_CHAR_KATAKANA): New macro.
2575         (MAKE_CHAR): Modify for new coded-charset definition; use
2576         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
2577         `XCHARSET_BYTE_OFFSET'.
2578
2579 1999-09-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
2580
2581         * mule-charset.c (CHAR96): Deleted.
2582         (latin_jisx0201_to_ucs): Type is changed from array of <Emchar> to
2583         <Lisp_Object>.
2584         (latin_iso8859_2_to_ucs): Likewise.
2585         (latin_iso8859_3_to_ucs): Likewise.
2586         (latin_iso8859_4_to_ucs): Likewise.
2587         (latin_iso8859_9_to_ucs): Likewise.
2588         (latin_viscii_lower_to_ucs): Likewise.
2589         (latin_viscii_upper_to_ucs): Likewise.
2590         (latin_tcvn5712_to_ucs): Commented out.
2591         (make_charset): Change type of argument `decoding_table' from
2592         <Emchar*> to <Lisp_Object> [vector of characters].
2593         (Fmake_charset): Modify for `make_charset'.
2594         (Fmake_reverse_direction_charset): Likewise.
2595         (Fcharset_mapping_table): New function in UTF-2000.
2596         (syms_of_mule_charset): Setup `Fcharset_mapping_table' in
2597         UTF-2000.
2598         (complex_vars_of_mule_charset): Modify for type change of
2599         `*_to_ucs'; modify for `make_charset'.
2600
2601         * char-ucs.h (struct Lisp_Charset): Change type of
2602         `decoding_table' from <Emchar*> to <Lisp_Object>.
2603         (MAKE_CHAR): Modify for new specification of `decoding_table'.
2604
2605 1999-09-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
2606
2607         * mule-charset.c (Fmake_reverse_direction_charset): Fix compile
2608         error with non-UTF-2000-Mule.
2609
2610 1999-09-21  MORIOKA Tomohiko  <tomo@etl.go.jp>
2611
2612         * mule-charset.c (Vcharset_chinese_cns11643_3): Deleted [defined
2613         in lisp again].
2614         (Vcharset_chinese_cns11643_4): Likewise.
2615         (Vcharset_chinese_cns11643_5): Likewise.
2616         (Vcharset_chinese_cns11643_6): Likewise.
2617         (Vcharset_chinese_cns11643_7): Likewise.
2618         (Qchinese_cns11643_3): Likewise.
2619         (Qchinese_cns11643_4): Likewise.
2620         (Qchinese_cns11643_5): Likewise.
2621         (Qchinese_cns11643_6): Likewise.
2622         (Qchinese_cns11643_7): Likewise.
2623         (syms_of_mule_charset): Move definitions for `chinese-cns11643-3',
2624         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
2625         and `chinese-cns11643-7' to lisp/mule/chinese.el.
2626         (complex_vars_of_mule_charset): Likewise.
2627
2628 1999-09-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
2629
2630         * mule-charset.c (charset_get_byte1): Fix bug about 94- and
2631         96-set.
2632         (Fmake_reverse_direction_charset): Inherit CHARSET_DECODING_TABLE,
2633         CHARSET_UCS_MIN, CHARSET_UCS_MAX and CHARSET_CODE_OFFSET.
2634
2635 1999-09-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
2636
2637         * char-ucs.h (MIN_CHAR_HALFWIDTH_KATAKANA): Changed to 0xFF61 from
2638         0xFF60.
2639         (MAKE_CHAR): Change offset for katakana-jisx0201 to 33 from 0x20.
2640         (breakup_char_1): Likewise.
2641
2642         * text-coding.c (char_encode_iso2022): Keep designated charsets if
2643         one of them includes the specified character.
2644
2645 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
2646
2647         * mule-charset.c: Update `utf-2000-version' to 0.8 (Kami).
2648
2649 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
2650
2651         * char-ucs.h (MAKE_CHAR): Fix problem in 2-dimension charset.
2652
2653 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
2654
2655         * mule-charset.c (latin_iso8859_2_to_ucs NULL): Add pseudo
2656         definition for non-UTF-2000 Mule.
2657         (latin_iso8859_3_to_ucs): Likewise.
2658         (latin_iso8859_4_to_ucs): Likewise.
2659         (latin_iso8859_9_to_ucs): Likewise.
2660         (latin_jisx0201_to_ucs): Likewise.
2661         (MIN_CHAR_THAI): Likewise.
2662         (MAX_CHAR_THAI): Likewise.
2663         (MIN_CHAR_GREEK): Likewise.
2664         (MAX_CHAR_GREEK): Likewise.
2665         (MIN_CHAR_HEBREW): Likewise.
2666         (MAX_CHAR_HEBREW): Likewise.
2667         (MIN_CHAR_HALFWIDTH_KATAKANA): Likewise.
2668         (MAX_CHAR_HALFWIDTH_KATAKANA): Likewise.
2669         (MIN_CHAR_CYRILLIC): Likewise.
2670         (MAX_CHAR_CYRILLIC): Likewise.
2671
2672 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
2673
2674         * char-ucs.h (breakup_char_1): Use
2675         `Vdefault_coded_charset_priority_list' for hebrew-iso8859-8,
2676         thai-tis620 and katakana-jisx0201 area.
2677
2678 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2679
2680         * char-ucs.h (breakup_char_1): Use
2681         `Vdefault_coded_charset_priority_list' for cyrillic-iso8859-5
2682         area.
2683
2684         * text-coding.c (reset_encoding_stream): Fixed.
2685         (char_encode_ucs4): Delete `& 255'.
2686
2687         * char-ucs.h (breakup_char_1): Use
2688         `Vdefault_coded_charset_priority_list' for greek-iso8859-7 area.
2689
2690 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2691
2692         * file-coding.c (Fmake_coding_system): Don't set up
2693         `codesys->fixed.size'.
2694         (encode_coding_no_conversion): Don't refer
2695         `str->codesys->fixed.size'.
2696
2697 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2698
2699         * mule-charset.c, char-ucs.h (latin_a_char_to_charset): Deleted.
2700         (latin_a_char_to_byte1): Deleted.
2701         (latin_a_char_to_byte2): Deleted.
2702
2703 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2704
2705         * mule-charset.c (make_charset): Add new argument `ucs_min',
2706         `ucs_max' and `code_offset'.
2707         (charset_get_byte1): New implementation [delete specific charset
2708         depended implementations].
2709         (Fmake_charset): Modify for `make_charset'.
2710         (Fmake_reverse_direction_charset): Likewise.
2711         (complex_vars_of_mule_charset): Likewise.
2712
2713         * char-ucs.h (struct Lisp_Charset): Add `ucs_min', `ucs_max' and
2714         `code_offset'.
2715         (CHARSET_UCS_MIN): New macro.
2716         (CHARSET_UCS_MAX): New macro.
2717         (CHARSET_CODE_OFFSET): New macro.
2718         (MAKE_CHAR): Delete charset depended definitions [except
2719         katakana-jisx0201].
2720
2721 1999-09-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
2722
2723         * char-ucs.h (breakup_char_1): Use
2724         `Vdefault_coded_charset_priority_list' for C0-Controls,
2725         Basic-Latin, C1-Controls and Latin-1-Supplement area.
2726
2727 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2728
2729         * char-ucs.h (charset_get_byte1): New function.
2730         (XCHARSET_GET_BYTE1): Deleted.
2731         (charset_get_byte2): New function.
2732         (XCHARSET_GET_BYTE2): Deleted.
2733         (Vdefault_coded_charset_priority_list): New external variable.
2734         (breakup_char_1): Use `charset_get_byte1', `charset_get_byte2' and
2735         `Vdefault_preferred_coded_charset_list'.
2736
2737         * mule-charset.c (charset_get_byte1): New function.
2738         (charset_get_byte2): New function.
2739         (Vdefault_coded_charset_priority_list): New variable.
2740         (vars_of_mule_charset): Add new variable
2741         `default-coded-charset-priority-list'.
2742
2743 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2744
2745         * char-ucs.h (XCHARSET_GET_BYTE1): New inline function.
2746         (XCHARSET_GET_BYTE2): New inline function.
2747         (breakup_char_1): Use `XCHARSET_GET_BYTE1' and
2748         `XCHARSET_GET_BYTE2'.
2749
2750 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2751
2752         * mule-charset.c (make_charset): Initialize
2753         `CHARSET_TO_BYTE1_TABLE(cs)' and `CHARSET_TO_BYTE2_TABLE(cs)' by
2754         NULL if table is not defined.
2755
2756 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2757
2758         * text-coding.c (char_encode_shift_jis): Use
2759         `XCHARSET_TO_BYTE1_TABLE' for `Vcharset_latin_jisx0201' instead of
2760         `ucs_to_latin_jisx0201'.
2761
2762         * mule-charset.c (ucs_to_latin_jisx0201): Deleted.
2763         (ucs_to_latin_iso8859_2): Deleted.
2764         (ucs_to_latin_iso8859_3): Deleted.
2765         (ucs_to_latin_iso8859_4): Deleted.
2766         (ucs_to_latin_iso8859_9): Deleted.
2767         (ucs_to_latin_viscii_lower): Deleted.
2768         (ucs_to_latin_viscii_upper): Deleted.
2769         (ucs_to_latin_tcvn5712): Deleted.
2770         (make_charset): Add new argument `decoding_table'; set up
2771         `CHARSET_DECODING_TABLE(cs)' in UTF-2000; set up
2772         `CHARSET_TO_BYTE1_TABLE(cs)' for 94-set and 96-set if
2773         `decoding_table' is defined in UTF-2000.
2774         (Fmake_charset): Modify for `make_charset'.
2775         (Fmake_reverse_direction_charset): Likewise.
2776         (complex_vars_of_mule_charset): Likewise; delete `GENERATE_94_SET'
2777         and `GENERATE_96_SET'.
2778
2779         * char-ucs.h (latin_jisx0201_to_ucs): Deleted.
2780         (ucs_to_latin_jisx0201): Deleted.
2781         (latin_iso8859_2_to_ucs): Deleted.
2782         (ucs_to_latin_iso8859_2): Deleted.
2783         (latin_iso8859_3_to_ucs): Deleted.
2784         (ucs_to_latin_iso8859_3): Deleted.
2785         (latin_iso8859_4_to_ucs): Deleted.
2786         (ucs_to_latin_iso8859_4): Deleted.
2787         (latin_iso8859_9_to_ucs): Deleted.
2788         (ucs_to_latin_iso8859_9): Deleted.
2789         (latin_viscii_lower_to_ucs): Deleted.
2790         (ucs_to_latin_viscii_lower): Deleted.
2791         (latin_viscii_upper_to_ucs): Deleted.
2792         (ucs_to_latin_viscii_upper): Deleted.
2793         (struct Lisp_Charset): Renamed `encoding_table' to
2794         `to_byte1_table'; add `to_byte2_table'.
2795         (CHARSET_DECODING_TABLE): New macro.
2796         (CHARSET_TO_BYTE1_TABLE): New macro.
2797         (CHARSET_TO_BYTE2_TABLE): New macro.
2798         (XCHARSET_DECODING_TABLE): New macro.
2799         (XCHARSET_TO_BYTE1_TABLE): New macro.
2800         (XCHARSET_TO_BYTE2_TABLE): New macro.
2801         (MAKE_CHAR): Use `XCHARSET_DECODING_TABLE'; don't use `*_to_ucs'
2802         tables.
2803         (breakup_char_1): Use `XCHARSET_TO_BYTE1_TABLE' if it is defined;
2804         don't use `ucs_to_*' tables.
2805
2806 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2807
2808         * text-coding.c (Fmake_coding_system): Don't set up
2809         `codesys->fixed.size'.
2810         (encode_coding_no_conversion): Use `if' instead of `switch'.
2811
2812         * file-coding.h (struct Lisp_Coding_System): Delete `fixed.size'.
2813
2814 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2815
2816         * mule-charset.c (make_charset): Delete argument `rep_bytes'.
2817         (Fmake_charset): Modify for `make_charset'.
2818         (Fmake_reverse_direction_charset): Likewise.
2819         (complex_vars_of_mule_charset): Likewise.
2820
2821 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2822
2823         * text-coding.c (char_encode_shift_jis): Use table
2824         `ucs_to_latin_jisx0201' and BREAKUP_CHAR.
2825
2826 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2827
2828         * text-coding.c (text_encode_generic): Use `if' instead of
2829         `switch'.
2830         (decode_coding_sjis): Use `MAKE_CHAR' and `DECODE_ADD_UCS_CHAR' to
2831         decode JIS-Latin.
2832
2833 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2834
2835         * text-coding.c (encode_coding_sjis): Deleted.
2836         (char_encode_shift_jis): New function.
2837         (char_finish_shift_jis): New function.
2838         (reset_encoding_stream): Set up `encode_char' and `finish' for
2839         `CODESYS_UCS4' and `CODESYS_SHIFT_JIS'.
2840         (mule_encode): Use generic encoder for `CODESYS_SHIFT_JIS'.
2841         (char_encode_utf8): Treat `eol_type'.
2842
2843 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2844
2845         * file-coding.c (decode_coding_iso2022): Use
2846         `DECODE_ADD_UCS_CHAR'; don't use `XCHARSET_REP_BYTES'.
2847
2848 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2849
2850         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2851         to 0.7 (Hirano).
2852
2853 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2854
2855         * char-lb.h (CHAR_COLUMNS): New macro.
2856
2857 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2858
2859         * text-coding.c (char_encode_ucs4): New function.
2860         (char_finish_ucs4): New function.
2861         (encode_coding_ucs4): Deleted.
2862         (mule_encode): Use generic encoder for `CODESYS_UCS4'.
2863         (text_encode_generic): Delete local variable `charset' and `half'.
2864         (ucs_to_mule_table): Deleted.
2865         (mule_to_ucs_table): Deleted.
2866         (Fset_ucs_char): Deleted.
2867         (ucs_to_char): Deleted.
2868         (Fucs_char): Deleted.
2869         (Fset_char_ucs): Deleted.
2870         (Fchar_ucs): Deleted.
2871         (decode_ucs4): Deleted.
2872         (mule_char_to_ucs4): Deleted.
2873         (encode_ucs4): Deleted.
2874         (decode_coding_ucs4): Use `DECODE_ADD_UCS_CHAR'.
2875         (decode_coding_utf8): Likewise.
2876         (decode_coding_iso2022): Likewise; don't use `XCHARSET_REP_BYTES'.
2877         (char_encode_iso2022): Fixed.
2878         (syms_of_file_coding): Delete `Fset_ucs_char', `Fucs_char',
2879         `Fset_char_ucs' and `Fchar_ucs'.
2880         (complex_vars_of_file_coding): Don't initialize
2881         `ucs_to_mule_table'.
2882
2883         * objects-tty.c (tty_initialize_font_instance): Don't use
2884         `XCHARSET_COLUMNS'.
2885
2886         * mule-charset.c (make_charset): Don't set up CHARSET_REP_BYTES in
2887         UTF-2000.
2888
2889         * redisplay-tty.c (tty_output_display_block): Use `CHAR_COLUMNS'
2890         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
2891
2892         * insdel.c (bufbyte_string_displayed_columns): Use `CHAR_COLUMNS'
2893         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
2894         (emchar_string_displayed_columns): Likewise.
2895
2896         * indent.c (column_at_point): Use `CHAR_COLUMNS' instead of
2897         `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
2898         (string_column_at_point): Likewise.
2899         (Fmove_to_column): Likewise.
2900
2901         * char-ucs.h (struct Lisp_Charset): Delete `rep_bytes'; add
2902         `encoding_table' and `decoding_table'.
2903         (CHARSET_REP_BYTES): Deleted.
2904         (XCHARSET_REP_BYTES): Deleted.
2905         (XCHARSET_COLUMNS): Deleted.
2906         (CHAR_COLUMNS): New macro.
2907         (lookup_composite_char): Deleted unconditionally.
2908         (composite_char_string): Likewise.
2909
2910 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2911
2912         * char-ucs.h (Emchar_to_byte_table): New type.
2913         (get_byte_from_character_table): New function interface.
2914         (Vcharset_latin_jisx0201): New variable.
2915         (latin_jisx0201_to_ucs): New variable.
2916         (ucs_to_latin_jisx0201): New variable.
2917         (Vcharset_latin_iso8859_2): New variable.
2918         (latin_iso8859_2_to_ucs): New variable.
2919         (ucs_to_latin_iso8859_2): New variable.
2920         (Vcharset_latin_iso8859_3): New variable.
2921         (latin_iso8859_3_to_ucs): New variable.
2922         (ucs_to_latin_iso8859_3): New variable.
2923         (Vcharset_latin_iso8859_4): New variable.
2924         (latin_iso8859_4_to_ucs): New variable.
2925         (ucs_to_latin_iso8859_4): New variable.
2926         (Vcharset_latin_iso8859_9): New variable.
2927         (latin_iso8859_9_to_ucs): New variable.
2928         (ucs_to_latin_iso8859_9): New variable.
2929         (Vcharset_latin_viscii_lower): New variable.
2930         (latin_viscii_lower_to_ucs): New variable.
2931         (ucs_to_latin_viscii_lower): New variable.
2932         (Vcharset_latin_viscii_upper): New variable.
2933         (latin_viscii_upper_to_ucs): New variable.
2934         (ucs_to_latin_viscii_upper): New variable.
2935         (CHARSET_ID_OFFSET_94): Changed from 0x60 to 0x55.
2936         (LEADING_BYTE_LATIN_VISCII_LOWER): New macro.
2937         (LEADING_BYTE_LATIN_VISCII_UPPER): New macro.
2938         (MAKE_CHAR): Map `latin-iso8859-2', `latin-iso8859-3',
2939         `latin-iso8859-4', `latin-iso8859-9', `latin-jisx0201',
2940         `vietnamese-viscii-lower' and `vietnamese-viscii-upper' to BMP.
2941         (breakup_char_1): Use `ucs_to_latin_iso8859_2',
2942         `ucs_to_latin_iso8859_3', `ucs_to_latin_iso8859_4',
2943         `ucs_to_latin_iso8859_9', `ucs_to_latin_viscii_lower',
2944         `ucs_to_latin_viscii_upper' and `ucs_to_latin_jisx0201' tables.
2945
2946         * mule-charset.c (Vcharset_latin_viscii_lower): New variable.
2947         (Vcharset_latin_viscii_upper): New variable.
2948         (make_byte_from_character_table): New function.
2949         (put_byte_from_character_table): New function.
2950         (get_byte_from_character_table): New function.
2951         (CHAR96): New macro.
2952         (ucs_to_latin_jisx0201): New variable.
2953         (latin_jisx0201_to_ucs): New variable.
2954         (ucs_to_latin_iso8859_2): New variable.
2955         (latin_iso8859_2_to_ucs): New variable.
2956         (ucs_to_latin_iso8859_3): New variable.
2957         (latin_iso8859_3_to_ucs): New variable.
2958         (ucs_to_latin_iso8859_4): New variable.
2959         (latin_iso8859_4_to_ucs): New variable.
2960         (ucs_to_latin_iso8859_9): New variable.
2961         (latin_iso8859_9_to_ucs): New variable.
2962         (ucs_to_latin_viscii_lower): New variable.
2963         (latin_viscii_lower_to_ucs): New variable.
2964         (ucs_to_latin_viscii_upper): New variable.
2965         (latin_viscii_upper_to_ucs): New variable.
2966         (ucs_to_latin_tcvn5712): New variable.
2967         (latin_tcvn5712_to_ucs): New variable.
2968         (Qlatin_viscii_lower): New variable.
2969         (Qlatin_viscii_upper): New variable.
2970         (syms_of_mule_charset): Set up new symbol
2971         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'.
2972         (complex_vars_of_mule_charset): Set up new charset
2973         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'; new macro
2974         `GENERATE_94_SET' and `GENERATE_96_SET'; use them to generate
2975         `ucs_to_<CHARSET>' tables.
2976
2977 1999-09-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
2978
2979         * text-coding.c: New file.
2980
2981 1999-09-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
2982
2983         * mule-charset.c (Fmake_char): Fix problem of 256-set.
2984
2985         * char-ucs.h (Vcharset_ucs_bmp): New variable.
2986         (MAKE_CHAR): Modify for `ucs-bmp'.
2987         (breakup_char_1): Return `ucs-bmp' and code point of BMP for
2988         non-MULE characters of BMP.
2989
2990 1999-09-06  MORIOKA Tomohiko  <tomo@etl.go.jp>
2991
2992         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2993         to 0.6.
2994
2995 1999-09-05  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2996
2997         * lstream.h:
2998         - Include multibyte.h instead of character.h for `BYTE_ASCII_P'.
2999         - Include character.h for `CHAR_ASCII_P'.
3000
3001         * mb-multibyte.h (CHAR_MULTIBYTE_P): Moved from mule-charset.h.
3002
3003         * mule-charset.h (CHAR_MULTIBYTE_P): Moved to mb-multibyte.h.
3004         (CHAR_ASCII_P): Don't use `CHAR_MULTIBYTE_P'.
3005
3006         * mb-multibyte.h (BYTE_ASCII_P): Moved from char-ucs.h.
3007         (BYTE_C0_P): Likewise.
3008         (BYTE_C1_P): Likewise.
3009         (Lstream_get_emchar_1): Likewise.
3010         (Lstream_fput_emchar): Likewise.
3011         (Lstream_funget_emchar): Likewise.
3012         (copy_internal_to_external): Likewise.
3013         (copy_external_to_internal): Likewise.
3014
3015         * char-ucs.h (BYTE_ASCII_P): Moved to mb-multibyte.h.
3016         (BYTE_C0_P): Likewise.
3017         (BYTE_C1_P): Likewise.
3018         (Lstream_get_emchar_1): Likewise.
3019         (Lstream_fput_emchar): Likewise.
3020         (Lstream_funget_emchar): Likewise.
3021         (copy_internal_to_external): Likewise.
3022         (copy_external_to_internal): Likewise.
3023
3024         * mb-1byte.h (BYTE_ASCII_P): Moved from buffer.h.
3025         (REP_BYTES_BY_FIRST_BYTE): Likewise.
3026
3027         * buffer.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-1byte.h.
3028         (BYTE_ASCII_P): Moved to mb-1byte.h.
3029
3030 1999-09-04  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3031
3032         * mb-utf-8.h, mb-lb.h: Include mb-multibyte.h.
3033
3034         * multibyte.h: Include mb-1byte.h in unibyte-XEmacs.
3035         (MAX_EMCHAR_LEN): Moved to mb-1byte.h.
3036         (VALID_CHARPTR_P): Moved to mb-*byte.h.
3037         (VALIDATE_CHARPTR_BACKWARD): Likewise.
3038         (VALIDATE_CHARPTR_FORWARD): Likewise.
3039         (simple_charptr_emchar): Moved to mb-multibyte.h.
3040         (simple_set_charptr_emchar): Likewise.
3041         (simple_charptr_copy_char): Likewise.
3042         (non_ascii_charptr_emchar): Likewise.
3043         (non_ascii_set_charptr_emchar): Likewise.
3044         (non_ascii_charptr_copy_char): Likewise.
3045         (charptr_emchar): Moved to mb-*byte.h.
3046         (set_charptr_emchar): Likewise.
3047         (charptr_copy_char): Likewise.
3048
3049         * mb-1byte.h, mb-multibyte.h: New files.
3050
3051 1999-09-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3052
3053         * mb-utf-8.h (MULTIBYTE): New macro.
3054         (MAX_EMCHAR_LEN): Moved from buffer.h.
3055         (REP_BYTES_BY_FIRST_BYTE): Moved from char-ucs.h.
3056
3057         * char-ucs.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-utf-8.h.
3058
3059         * mb-lb.h, multibyte.h: New files.
3060
3061         * char-1byte.h (Charset_ID): Moved from buffer.h.
3062         (MIN_LEADING_BYTE): Likewise.
3063         (LEADING_BYTE_ASCII): Likewise.
3064         (NUM_LEADING_BYTES): Likewise.
3065         (CHARSETP): Likewise.
3066         (CHARSET_BY_LEADING_BYTE): Likewise.
3067         (XCHARSET_LEADING_BYTE): Likewise.
3068         (XCHARSET_GRAPHIC): Likewise.
3069         (XCHARSET_COLUMNS): Likewise.
3070         (XCHARSET_DIMENSION): Likewise.
3071         (CHAR_CHARSET): Likewise.
3072         (CHAR_LEADING_BYTE): Likewise.
3073         (BREAKUP_CHAR): Likewise.
3074         (Vcharset_ascii): Likewise.
3075
3076         * buffer.h: Include multibyte.h unconditionally.
3077         (VALID_CHARPTR_P): Moved to multibyte.h.
3078         (ASSERT_VALID_CHARPTR): Likewise.
3079         (REAL_INC_CHARPTR): Likewise.
3080         (REAL_INC_CHARBYTIND): Likewise.
3081         (REAL_DEC_CHARPTR): Likewise.
3082         (INC_CHARPTR): Likewise.
3083         (INC_CHARBYTIND): Likewise.
3084         (DEC_CHARPTR): Likewise.
3085         (VALIDATE_CHARPTR_BACKWARD): Likewise.
3086         (VALIDATE_CHARPTR_FORWARD): Likewise.
3087         (charptr_n_addr): Likewise.
3088         (MAX_EMCHAR_LEN): Moved to mb-*.h.
3089         (simple_charptr_emchar): Moved to multibyte.h.
3090         (simple_set_charptr_emchar): Likewise.
3091         (simple_charptr_copy_char): Likewise.
3092         (non_ascii_charptr_emchar): Likewise.
3093         (non_ascii_set_charptr_emchar): Likewise.
3094         (non_ascii_charptr_copy_char): Likewise.
3095         (charptr_emchar): Likewise.
3096         (set_charptr_emchar): Likewise.
3097         (charptr_copy_char): Likewise.
3098         (charptr_emchar_n): Likewise.
3099         (Charset_ID): Moved to char-1byte.h.
3100         (Vcharset_ascii): Likewise.
3101         (CHAR_CHARSET): Likewise.
3102         (CHAR_LEADING_BYTE): Likewise.
3103         (LEADING_BYTE_ASCII): Likewise.
3104         (NUM_LEADING_BYTES): Likewise.
3105         (MIN_LEADING_BYTE): Likewise.
3106         (CHARSETP): Likewise.
3107         (CHARSET_BY_LEADING_BYTE): Likewise.
3108         (XCHARSET_LEADING_BYTE): Likewise.
3109         (XCHARSET_GRAPHIC): Likewise.
3110         (XCHARSET_COLUMNS): Likewise.
3111         (XCHARSET_DIMENSION): Likewise.
3112         (BREAKUP_CHAR): Likewise.
3113
3114 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3115
3116         * character.h: Add document about interface for characters.
3117
3118         * char-ucs.h (CHAR_ASCII_P): Modify name of argument.
3119         (MAKE_CHAR): Delete comment about
3120         `FIELD2_TO_OFFICIAL_LEADING_BYTE' and
3121         `FIELD2_TO_PRIVATE_LEADING_BYTE'.
3122         (BREAKUP_CHAR): Modify name of arguments.
3123         (CHAR_CHARSET): Modify name of argument.
3124
3125         * buffer.h: Delete document about Emchar accessors.
3126
3127 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3128
3129         * character.h (CHAR_INTP): Moved from buffer.h
3130         (CHAR_OR_CHAR_INTP): Likewise.
3131         (XCHAR_OR_CHAR_INT): Likewise.
3132         (CHECK_CHAR_COERCE_INT): Likewise.
3133
3134         * buffer.h (CHAR_INTP): Moved to character.h
3135         (CHAR_OR_CHAR_INTP): Likewise.
3136         (XCHAR_OR_CHAR_INT): Likewise.
3137         (CHECK_CHAR_COERCE_INT): Likewise.
3138
3139 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3140
3141         * character.h:
3142         - Move definitions about UCS-2000 (UCS-4) to char-ucs.h.
3143         - Include char-1byte.h, char-lb.h or char-ucs.h.
3144
3145         * mb-utf-8.h (CHAR_ASCII_P): Moved to char-ucs.h.
3146
3147         * buffer.h: Include character unconditionally.
3148         (valid_char_p): Moved to char-*.h.
3149         (non_ascii_valid_char_p): Moved to char-lb.h.
3150
3151         * char-1byte.h, char-lb.h, char-ucs.h: New files.
3152
3153 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3154
3155         * mule-ccl.c (ccl_driver): Don't define `CCL_WriteMultibyteChar2'
3156         in UTF-2000 because it is not ported yet and not to use
3157         `FIELD2_TO_OFFICIAL_LEADING_BYTE', `MIN_LEADING_BYTE_OFFICIAL_2',
3158         `FIELD1_TO_OFFICIAL_LEADING_BYTE' and
3159         `FIELD1_TO_PRIVATE_LEADING_BYTE'.
3160
3161         * mb-utf-8.h (CHAR_MULTIBYTE_P): Moved from character.h.
3162         (CHAR_ASCII_P): Moved from character.h.
3163
3164         * character.h (CHAR_MULTIBYTE_P): Moved to mb-utf-8.h.
3165         (CHAR_ASCII_P): Likewise.
3166         (CHAR_FIELD1_MASK): Deleted.
3167         (CHAR_FIELD2_MASK): Deleted.
3168         (CHAR_FIELD3_MASK): Deleted.
3169         (MAX_CHAR_BASIC_LATIN): New macro.
3170         (CHAR_FIELD1): Deleted.
3171         (CHAR_FIELD2_INTERNAL): Deleted.
3172         (CHAR_FIELD3_INTERNAL): Deleted.
3173         (FIELD1_TO_PRIVATE_LEADING_BYTE): Deleted.
3174         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Deleted.
3175         (FIELD2_TO_PRIVATE_LEADING_BYTE): Deleted.
3176         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Deleted.
3177         (MIN_CHAR_FIELD1_OFFICIAL): Deleted.
3178         (MAX_CHAR_FIELD1_OFFICIAL): Deleted.
3179         (MIN_CHAR_FIELD2_PRIVATE): Deleted.
3180         (MAX_CHAR_FIELD2_PRIVATE): Deleted.
3181         (MIN_CHAR_FIELD1_PRIVATE): Deleted.
3182         (MAX_CHAR_FIELD1_PRIVATE): Deleted.
3183         (MULE_CHAR_PRIVATE_OFFSET): Deleted.
3184         (MIN_CHAR_PRIVATE_TYPE9N): Deleted.
3185         (MAX_CHAR_PRIVATE_TYPE9N): Deleted.
3186         (MIN_CHAR_PRIVATE_TYPE9NX9N): Deleted.
3187         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Deleted.
3188         (MIN_CHAR_COMPOSITION): Deleted.
3189         (breakup_char_1): Use `MAX_CHAR_BASIC_LATIN' instead of
3190         `CHAR_ASCII_P'; use `0x7f' instead of `CHAR_FIELD3_INTERNAL'.
3191
3192 1999-09-02  MORIOKA Tomohiko  <tomo@m17n.org>
3193
3194         * buffer.h: Include mb-utf-8.h in UTF-2000.
3195
3196         * character.h (BUFBYTE_FIRST_BYTE_P): Moved to mb-utf-8.h.
3197
3198         * mb-utf-8.h: New file.
3199
3200 1999-09-02  MORIOKA Tomohiko  <tomo@etl.go.jp>
3201
3202         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use `Charset_ID'
3203         instead of `int'.
3204
3205         * mule-charset.h, buffer.h (Charset_ID): New type.
3206
3207 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
3208
3209         * mule-canna.c (c2mu): Use `MAKE_CHAR',
3210         `Vcharset_japanese_jisx0212' and `Vcharset_japanese_jisx0208'
3211         instead of `MULE_CHAR_PRIVATE_OFFSET',
3212         `LEADING_BYTE_JAPANESE_JISX0212', `LEADING_BYTE_JAPANESE_JISX0208'
3213         and `FIELD1_TO_OFFICIAL_LEADING_BYTE'.
3214         (m2c): Use `BREAKUP_CHAR' and `XCHARSET_FINAL'.
3215
3216         * character.h (Vcharset_japanese_jisx0212): New variable
3217         definition.
3218
3219 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
3220
3221         * mule-charset.c (Vcharset_ucs_bmp): New variable in UTF-2000.
3222         (charset_by_attributes): Delete array about direction.
3223         (latin_a_char_to_charset): New variable in UTF-2000.
3224         (latin_a_char_to_byte1): New variable in UTF-2000.
3225         (latin_a_char_to_byte2): New variable in UTF-2000.
3226         (Qucs_bmp): New variable.
3227         (next_allocated_1_byte_leading_byte): Use `Charset_ID' instead of
3228         `Bufbyte'.
3229         (next_allocated_2_byte_leading_byte): Likewise.
3230         (non_ascii_set_charptr_emchar): Likewise.
3231         (make_charset): Likewise; add `CHARSET_TYPE_128X128' and
3232         `CHARSET_TYPE_256X256' in UTF-2000; modify for
3233         `charset_by_attributes'.
3234         (get_unallocated_leading_byte): Use `Charset_ID' instead of `int'.
3235         (char-charset): Use `CHAR_CHARSET' instead of `CHAR_LEADING_BYTE'
3236         and `CHARSET_BY_LEADING_BYTE'.
3237         (syms_of_mule_charset): Set up `ucs-bmp'; move setting of
3238         `utf-2000-version' to `vars_of_mule_charset'.
3239         (vars_of_mule_charset): Modify for `charset_by_attributes'; don't
3240         define `leading-code-private-11' in UTF-2000; move setting of
3241         `utf-2000-version' from `syms_of_mule_charset'.
3242         (complex_vars_of_mule_charset): Set up charset `ucs-bmp' in
3243         UTF-2000.
3244
3245         * character.h (Charset_ID): New type.
3246         (LEADING_BYTE_UCS_BMP): New macro.
3247         (LEADING_BYTE_CONTROL_1): Changed from 0x8F to 0x81.
3248         (CHARSET_ID_OFFSET_94): New macro.
3249         (MIN_CHARSET_ID_PRIVATE_94): New macro.
3250         (MAX_CHARSET_ID_PRIVATE_94): New macro.
3251         (LEADING_BYTE_ASCII): Changed to use CHARSET_ID_OFFSET_94 and
3252         final-byte.
3253         (LEADING_BYTE_KATAKANA_JISX0201): Likewise.
3254         (LEADING_BYTE_LATIN_JISX0201): Likewise.
3255         (CHARSET_ID_OFFSET_96): New macro.
3256         (LEADING_BYTE_LATIN_ISO8859_1): Changed to use
3257         CHARSET_ID_OFFSET_96 and final-byte.
3258         (LEADING_BYTE_LATIN_ISO8859_2): Likewise.
3259         (LEADING_BYTE_LATIN_ISO8859_3): Likewise.
3260         (LEADING_BYTE_LATIN_ISO8859_4): Likewise.
3261         (LEADING_BYTE_GREEK_ISO8859_7): Likewise.
3262         (LEADING_BYTE_ARABIC_ISO8859_6): Likewise.
3263         (LEADING_BYTE_HEBREW_ISO8859_8): Likewise.
3264         (LEADING_BYTE_CYRILLIC_ISO8859_5): Likewise.
3265         (LEADING_BYTE_LATIN_ISO8859_9): Likewise.
3266         (LEADING_BYTE_THAI_TIS620): Likewise.
3267         (MIN_LEADING_BYTE_PRIVATE_1): Changed from 0x0D0 to 0xD0.
3268         (MAX_LEADING_BYTE_PRIVATE_1): Changed from 0x11f to 0xDF.
3269         (CHARSET_ID_OFFSET_94x94): New macro.
3270         (LEADING_BYTE_CHINESE_BIG5_1): Changed to use
3271         CHARSET_ID_OFFSET_94x94 and final-byte.
3272         (LEADING_BYTE_CHINESE_BIG5_2): Likewise.
3273         (MIN_LEADING_BYTE_PRIVATE_2): Likewise.
3274         (MAX_LEADING_BYTE_PRIVATE_2): Likewise.
3275         (LEADING_BYTE_JAPANESE_JISX0208_1978): Likewise.
3276         (LEADING_BYTE_CHINESE_GB2312): Likewise.
3277         (LEADING_BYTE_JAPANESE_JISX0208): Likewise.
3278         (LEADING_BYTE_KOREAN_KSC5601): Likewise.
3279         (LEADING_BYTE_JAPANESE_JISX0212): Likewise.
3280         (LEADING_BYTE_CHINESE_CCITT_GB): Likewise.
3281         (LEADING_BYTE_CHINESE_CNS11643_*): Likewise.
3282         (LEADING_BYTE_KOREAN_KPS9566): Likewise.
3283         (CHARSET_TYPE_128X128): New macro.
3284         (CHARSET_TYPE_256X256): New macro.
3285         (XCHARSET_PRIVATE_P): Delete unconditionally.
3286         (charset_by_attributes): Delete array about direction.
3287         (CHARSET_BY_LEADING_BYTE): Use `Charset_ID' instead of `int'.
3288         (CHARSET_BY_ATTRIBUTES): Modify for `charset_by_attributes'.
3289         (MIN_CHAR_94): New macro.
3290         (MAX_CHAR_94): New macro.
3291         (MIN_CHAR_96): New macro.
3292         (MAX_CHAR_96): New macro.
3293         (MIN_CHAR_94x94): New macro.
3294         (MAX_CHAR_94x94): New macro.
3295         (MIN_CHAR_96x96): New macro.
3296         (MAX_CHAR_96x96): New macro.
3297         (FIELD1_TO_PRIVATE_LEADING_BYTE): Use `CHARSET_ID_OFFSET_94x94'.
3298         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
3299         (FIELD2_TO_PRIVATE_LEADING_BYTE): Use `(MIN_LEADING_BYTE_PRIVATE_1
3300         - 32)'.
3301         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Use `LEADING_BYTE_ASCII'.
3302         (MIN_CHAR_FIELD2_OFFICIAL): Deleted.
3303         (MAX_CHAR_FIELD2_OFFICIAL): Deleted.
3304         (MIN_CHAR_OFFICIAL_TYPE9N): Deleted.
3305         (MAX_CHAR_PRIVATE_TYPE9N): Changed.
3306         (MAKE_CHAR): Use `XCHARSET_FINAL' instead of
3307         `XCHARSET_LEADING_BYTE' to make code-point.
3308         (latin_a_char_to_charset): New variable.
3309         (latin_a_char_to_byte1): New variable.
3310         (latin_a_char_to_byte2): New variable.
3311         (breakup_char_1): Use `latin_a_char_to_{charset|byte1|byte2}' for
3312         Latin Extended-A; use `CHARSET_BY_ATTRIBUTES' instead of
3313         `CHARSET_BY_LEADING_BYTE' to get charset for ISO-2022 characters.
3314
3315         * insdel.c (find_charsets_in_bufbyte_string): Use `Charset_ID'
3316         instead of `unsigned char'; use `MIN_LEADING_BYTE' instead of 128.
3317         (find_charsets_in_emchar_string): Likewise.
3318         (vars_of_insdel): Don't define local variable `i' in UTF-2000.
3319
3320         * file-coding.c (Fdecode_big5_char): Use `Charset_ID' instead of
3321         `int'.
3322         (decode_coding_iso2022): Likewise.
3323
3324         * toolbar-x.c (x_output_toolbar_button): Use `Charset_ID' instead
3325         of `unsigned char'.
3326
3327         * redisplay.c (redisplay_text_width_emchar_string): Use
3328         `Charset_ID' instead of `unsigned char'.
3329         (redisplay_frame_text_width_string): Likewise.
3330
3331         * glyphs.c (glyph_height_internal): Use `Charset_ID' instead of
3332         `unsigned char'.
3333
3334         * faces.h, faces.c (ensure_face_cachel_complete): Use `Charset_ID'
3335         instead of `unsigned char'.
3336         (face_cachel_charset_font_metric_info): Likewise.
3337
3338         * chartab.c (print_char_table): Use `Charset_ID' instead of `int'.
3339         (get_non_ascii_char_table_value): Likewise.
3340         (get_char_table): Likewise.
3341         (put_char_table): Likewise.
3342         (map_over_other_charset): Likewise.
3343         (map_char_table): Likewise.
3344
3345         * buffer.h (find_charsets_in_bufbyte_string): Use `Charset_ID'
3346         instead of `unsigned char'.
3347
3348 1999-08-31  MORIOKA Tomohiko  <tomo@etl.go.jp>
3349
3350         * character.h (PRE_LEADING_BYTE_PRIVATE_1): Deleted.
3351         (PRE_LEADING_BYTE_PRIVATE_2): Deleted.
3352
3353         * mule-charset.c (leading_code_private_11): Don't define in
3354         UTF-2000.
3355
3356         * mule-ccl.c (ccl_driver): Don't define `CCL_ReadMultibyteChar2'
3357         in UTF-2000 because it is not ported yet and not to use
3358         `PRE_LEADING_BYTE_PRIVATE_1' and `PRE_LEADING_BYTE_PRIVATE_2'.
3359
3360 1999-08-30  MORIOKA Tomohiko  <tomo@etl.go.jp>
3361
3362         * character.h (LEADING_BYTE_COMPOSITE): Deleted.
3363
3364 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3365
3366         * regex.c (re_compile_fastmap): Don't use `LEADING_BYTE_PREFIX_P'
3367         in UTF-2000.
3368
3369         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use int instead
3370         of unsigned char to store leading-byte.
3371
3372         * chartab.c (get_non_ascii_char_table_value): Don't use
3373         `BREAKUP_CHAR_1_UNSAFE' in UTF-2000.
3374
3375         * file-coding.c (encode_coding_big5): Delete bogus implementation
3376         in UTF2000.
3377
3378         * character.h (LEADING_BYTE_*): Delete definition for
3379         non-UTF-2000.
3380         (LEADING_BYTE_PRIVATE_P): Deleted unconditionally.
3381         (LEADING_BYTE_PREFIX_P): Deleted.
3382         (PRIVATE_LEADING_BYTE_PREFIX): Deleted.
3383         (BUFBYTE_FIRST_BYTE_P): Delete definition for non-UTF-2000.
3384         (BUFBYTE_LEADING_BYTE_P): Deleted.
3385         (CHARSET_PRIVATE_P): Deleted unconditionally.
3386         (rep_bytes_by_first_byte): Deleted unconditionally.
3387         (REP_BYTES_BY_FIRST_BYTE): Delete definition for non-UTF-2000.
3388         (FIELD1_TO_PRIVATE_LEADING_BYTE): Likewise.
3389         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
3390         (FIELD2_TO_PRIVATE_LEADING_BYTE): Likewise.
3391         (CHAR_FIELD2): Deleted.
3392         (CHAR_FIELD3): Deleted.
3393         (MAKE_CHAR): Delete definition for non-UTF-2000.
3394         (BREAKUP_CHAR_1_UNSAFE): Deleted.
3395         (breakup_char_1): New implementation.
3396         (CHAR_CHARSET): Use `BREAKUP_CHAR'.
3397         (CHAR_LEADING_BYTE): Use `CHAR_CHARSET'.
3398
3399 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3400
3401         * character.h (REP_BYTES_BY_FIRST_BYTE): Change order of
3402         condition.
3403
3404 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3405
3406         * character.h (LEADING_BYTE_PRIVATE_P): Don't define in UTF2000.
3407         (CHARSET_PRIVATE_P): Likewise.
3408         (XCHARSET_PRIVATE_P): Likewise.
3409         (MAKE_CHAR): Don't use XCHARSET_PRIVATE_P in UTF2000.
3410
3411         * file-coding.c (encode_coding_ucs4): Delete bogus implement in
3412         UTF2000.
3413         (decode_coding_iso2022): Don't use XCHARSET_PRIVATE_P in UTF2000.
3414
3415 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3416
3417         * character.h (LEADING_BYTE_*): Changed in UTF2000.
3418         (NUM_LEADING_BYTES): Changed from 128 to 256.
3419         (FIELD1_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
3420         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Change value to 0x80 in
3421         UTF2000.
3422         (FIELD2_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
3423
3424         * mule-charset.c (Vcharset_chinese_cns11643_3): New variable in
3425         UTF2000.
3426         (Vcharset_chinese_cns11643_4): New variable in UTF2000.
3427         (Vcharset_chinese_cns11643_5): New variable in UTF2000.
3428         (Vcharset_chinese_cns11643_6): New variable in UTF2000.
3429         (Vcharset_chinese_cns11643_7): New variable in UTF2000.
3430         (Qchinese_cns11643_3): New variable in UTF2000.
3431         (Qchinese_cns11643_4): New variable in UTF2000.
3432         (Qchinese_cns11643_5): New variable in UTF2000.
3433         (Qchinese_cns11643_6): New variable in UTF2000.
3434         (Qchinese_cns11643_7): New variable in UTF2000.
3435         (syms_of_mule_charset): Define `chinese-cns11643-3',
3436         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
3437         and `chinese-cns11643-7' in UTF2000.
3438         (vars_of_mule_charset): Initialize
3439         next_allocated_2_byte_leading_byte by LEADING_BYTE_CHINESE_BIG5_2
3440         + 1 in UTF2000.
3441         (complex_vars_of_mule_charset): Setup charset
3442         `chinese-cns11643-3', `chinese-cns11643-4', `chinese-cns11643-5',
3443         `chinese-cns11643-6' and `chinese-cns11643-7' in UTF2000.
3444
3445 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3446
3447         * mule-charset.c: Move setting for `leading-code-private-11' from
3448         `syms_of_mule_charset' to `vars_of_mule_charset'.
3449
3450 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3451
3452         * mule-charset.h (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE'
3453         and `NUM_LEADING_BYTES' in assert.
3454
3455 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3456
3457         * character.h (charset_by_leading_byte): Use `NUM_LEADING_BYTES'
3458         instead of 128.
3459         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' and
3460         `NUM_LEADING_BYTES' instead of 128.
3461
3462 1999-08-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
3463
3464         * mule-charset.h (charset_by_leading_byte): Use
3465         `NUM_LEADING_BYTES' instead of 128.
3466         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' instead of 128.
3467
3468         * mule-charset.c (charset_by_leading_byte): Use
3469         `NUM_LEADING_BYTES' instead of 128.
3470         (make_charset): Use `MIN_LEADING_BYTE' instead of 128.
3471
3472         * faces.h (FACE_CACHEL_FONT): Use `MIN_LEADING_BYTE' instead of
3473         128.
3474
3475 1999-08-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
3476
3477         * mule-charset.c (syms_of_mule_charset): Update to
3478         0.4 (Shin-Imamiya).
3479
3480 1999-07-13 Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
3481
3482         * file-coding.c (encode_coding_sjis): New implementation for
3483         UTF2000.  (decode_coding_sjis): Ditto.
3484
3485 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
3486
3487         * mule-charset.c, character.h (Bytecount rep_bytes_by_first_byte):
3488         Don't define in UTF2000.
3489
3490         * character.h: Include mule-charset.h if CHAR_IS_UCS4 is not
3491         defined.
3492
3493         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
3494         mule-ccl.c, lstream.h, buffer.h: Include character.h in every
3495         MULE.
3496
3497 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
3498
3499         * config.h.in (CHAR_IS_UCS4): New macro.
3500
3501         * mule-charset.c (rep_bytes_by_first_byte): Modify for
3502         conventional MULE representation.
3503         (syms_of_mule_charset): Update to 0.3 (Imamiya).
3504
3505         * mule-charset.h: Reverted to original.
3506
3507         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
3508         mule-ccl.c, lstream.h, buffer.h: Use "character.h" instead of
3509         "mule-charset.h" if CHAR_IS_UCS4 is defined.
3510
3511         * character.h: New file.
3512
3513         * file-coding.c (Fmake_coding_system): Set 1 to
3514         `codesys->fixed.size' if TYPE is `no-conversion' and UTF2000 is
3515         defined.
3516         (encode_coding_no_conversion): New implementation for UTF2000.
3517
3518         * file-coding.h (struct Lisp_Coding_System): Add new member
3519         `fixed.size'.
3520
3521 1999-06-16  MORIOKA Tomohiko  <tomo@etl.go.jp>
3522
3523         * file-coding.c (decode_coding_iso2022): Code-point arguments of
3524         `MAKE_CHAR' must be smaller than 0x80 in UTF2000.
3525         (encode_coding_iso2022): New implementation for UTF2000.
3526
3527 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3528
3529         * mule-canna.c (c2mu): New implementation for UTF2000.
3530         (m2c): Likewise.
3531
3532 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3533
3534         * file-coding.c (encode_coding_no_conversion): Modify for UTF2000.
3535
3536 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3537
3538         * file-coding.c (reset_encoding_stream): Set 0 to
3539         `str->iso2022.current_char_boundary' in UTF2000.
3540         (encode_utf8): Don't define in UTF2000.
3541         (encode_coding_utf8): New implementation for UTF-8 representation
3542         of UTF2000.
3543         (complex_vars_of_file_coding): Define coding-system `utf-8'.
3544
3545 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3546
3547         * mule.c (vars_of_mule): Provide `utf-2000' in UTF2000.
3548
3549         * mule-charset.h (BUFBYTE_FIRST_BYTE_P): Modify for UTF-8 in
3550         UTF2000.
3551         (REP_BYTES_BY_FIRST_BYTE): Likewise.
3552
3553         * buffer.h (non_ascii_valid_char_p): Don't define in UTF2000.
3554
3555         * mule-charset.c (non_ascii_set_charptr_emchar): Don't define
3556         local variables `lb', `c1', `c2' and `charset' in UTF2000; encode
3557         as UTF-8 in UTF2000.
3558         (non_ascii_charptr_emchar): Decode as UTF-8 in UTF2000.
3559         (non_ascii_valid_char_p): Don't define in UTF2000.
3560         (non_ascii_charptr_copy_char): Add case 5 and 6 in UTF2000.
3561         (Lstream_get_emchar_1): Likewise.
3562         (utf-2000-version): New variable in UTF2000.
3563
3564         * lread.c (read_escape): Add new reader `u'.
3565
3566         * insdel.c (three_to_one_table): Don't define in UTF2000.
3567         (bufpos_to_bytind_func): Use `buf->text->mule_size' instead of
3568         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
3569         UTF2000.
3570         (bytind_to_bufpos_func): Likewise.
3571         (buffer_mule_signal_inserted_region): Likewise.
3572         (vars_of_insdel): Don't initialize `three_to_one_table'.
3573         (init_buffer_text): Use `buf->text->mule_size' instead of
3574         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
3575         UTF2000.
3576
3577         * file-coding.c (DECODE_ADD_BINARY_CHAR): New implementation for
3578         UTF-8 representation in UTF2000.
3579         (DECODE_ADD_UCS_CHAR): New macro in UTF2000.
3580         (decode_ucs4): Use `DECODE_ADD_UCS_CHAR' in UTF2000.
3581         (decode_coding_iso2022): Don't define local variable `lb' in
3582         UTF2000; don't use LEADING_BYTE in UTF2000; use
3583         `DECODE_ADD_UCS_CHAR' in UTF2000.
3584         (convert_to_external_format): Decode as UTF-8 in UTF2000.
3585
3586         * config.h.in (UTF2000): New macro.
3587
3588         * buffer.h (struct buffer_text): Add new member `mule_size' and
3589         don't add `mule_shifter' and `mule_three_p' in UTF2000.
3590         (valid_char_p): Return always 1 in UTF2000.
3591         (MAX_EMCHAR_LEN): 6 in UTF2000.
3592         (three_to_one_table): Don't define in UTF2000.
3593         (real_bufpos_to_bytind): Modify for UTF-8 representation in
3594         UTF2000.
3595         (real_bytind_to_bufpos): Likewise.
3596
3597         * alloc.c (Fmake_string): Add case 5 and 6 for UTF2000.
3598
3599 1999-06-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3600
3601         * mule-charset.c (rep_bytes_by_first_byte): Modified for character
3602         representation change.
3603         (Vutf_2000_version): New variable.
3604         (leading_code_private_11): New variable.
3605         (syms_of_mule_charset): Add new variables `utf-2000-version' and
3606         `leading-code-private-11'.
3607
3608         * mule-charset.h (LEADING_BYTE_CHINESE_CCITT_GB): New macro.
3609         (LEADING_BYTE_CHINESE_BIG5_1): Changed to 0x96 temporally.
3610         (LEADING_BYTE_CHINESE_CNS11643_1): Changed to 0x97.
3611         (LEADING_BYTE_CHINESE_CNS11643_2): Changed to 0x98.
3612         (LEADING_BYTE_CHINESE_CNS11643_3): New macro.
3613         (LEADING_BYTE_CHINESE_CNS11643_4): Likewise.
3614         (LEADING_BYTE_CHINESE_CNS11643_5): Likewise.
3615         (LEADING_BYTE_CHINESE_CNS11643_6): Likewise.
3616         (LEADING_BYTE_CHINESE_CNS11643_7): Likewise [but not used].
3617         (LEADING_BYTE_CHINESE_BIG5_2): Changed to 0x9D temporally.
3618         (LEADING_BYTE_KOREAN_KPS9566): New macro [but not used].
3619         (CHAR_FIELD1_MASK): Changed to (0x7F << 14).
3620         (MIN_CHAR_GREEK): New macro.
3621         (MAX_CHAR_GREEK): New macro.
3622         (MIN_CHAR_CYRILLIC): New macro.
3623         (MAX_CHAR_CYRILLIC): New macro.
3624         (MIN_CHAR_HEBREW): New macro.
3625         (MAX_CHAR_HEBREW): New macro.
3626         (MIN_CHAR_THAI): New macro.
3627         (MAX_CHAR_THAI): New macro.
3628         (MIN_CHAR_HALFWIDTH_KATAKANA): New macro.
3629         (MAX_CHAR_HALFWIDTH_KATAKANA): New macro.
3630         (CHAR_FIELD2_INTERNAL): New macro [renamed from `CHAR_FIELD2'.
3631         (CHAR_FIELD3_INTERNAL): New macro [renamed from `CHAR_FIELD3'.
3632         (FIELD1_TO_PRIVATE_LEADING_BYTE): Changed to 0xc0.
3633         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Changed to 0x50.
3634         (CHAR_FIELD2): New inline function.
3635         (CHAR_FIELD3): New inline function.
3636         (MULE_CHAR_PRIVATE_OFFSET): New macro.
3637         (MIN_CHAR_OFFICIAL_TYPE9N): Shifted to `MULE_CHAR_PRIVATE_OFFSET'.
3638         (MIN_CHAR_PRIVATE_TYPE9N): Likewise.
3639         (MIN_CHAR_PRIVATE_TYPE9NX9N): Likewise.
3640         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Likewise.
3641         (MIN_CHAR_COMPOSITION): Likewise.
3642         (CHAR_LEADING_BYTE): Modified for character representation change.
3643         (MAKE_CHAR): Likewise.
3644
3645         * lisp.h (Vcharset_latin_iso8859_1): New variable.
3646         (Vcharset_greek_iso8859_7): Likewise.
3647         (Vcharset_cyrillic_iso8859_5): Likewise.
3648         (Vcharset_hebrew_iso8859_8): Likewise.
3649         (Vcharset_thai_tis620): Likewise.
3650         (Vcharset_katakana_jisx0201): Likewise.
3651
3652 2001-01-26  Martin Buchholz <martin@xemacs.org>
3653
3654         * XEmacs 21.2.43 "Terspichore" is released.
3655
3656 2001-01-25  Martin Buchholz  <martin@xemacs.org>
3657
3658         Type fiddling for window_config.saved_windows_count
3659         * window.c (struct window_config): 
3660         Make saved_windows_count member unsigned.
3661         * window.c (sizeof_window_config_for_n_windows): 
3662         Make parameter unsigned.
3663         * window.c (mark_window_config):
3664         * window.c (window_config_equal):
3665         * window.c (free_window_configuration):
3666         * window.c (Fset_window_configuration):
3667         * window.c (count_windows):
3668         * window.c (Fcurrent_window_configuration):
3669         * window.c (reinit_vars_of_window):
3670         Update all callers and users.
3671
3672 2001-01-25  Martin Buchholz  <martin@xemacs.org>
3673
3674         Alignment correctness for flexible arrays.
3675         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF):
3676         Make alignment-correct. Add interesting comments.
3677         * alloc.c (size_vector):
3678         * alloc.c (make_vector_internal):
3679         * alloc.c (make_bit_vector_internal):
3680         * alloc.c (sweep_bit_vectors_1):
3681         * fns.c (size_bit_vector):
3682         Update all callers of FLEXIBLE_ARRAY_STRUCT_SIZEOF to add new arg.
3683         * window.c (sizeof_window_config_for_n_windows): 
3684         Use FLEXIBLE_ARRAY_STRUCT_SIZEOF.
3685
3686 2001-01-24  Martin Buchholz  <martin@xemacs.org>
3687
3688         * lread.c (read1): Rename `fexp', which is #defined in SGI's math.h
3689
3690 2001-01-23  Andy Piper  <andy@xemacs.org>
3691
3692         * select.c (Fown_selection_internal): pass owned_p
3693
3694         * select-msw.c (mswindows_own_selection): New Signature.
3695
3696         * console.h (struct console_methods): add owned_p to
3697         _own_selection.
3698
3699         * select-x.c (x_own_selection): pass owned_p
3700         (hack_motif_clipboard_selection): use owned_p
3701         (vars_of_select_x): new variable -
3702         x_selection_strict_motif_ownership.
3703
3704 2001-01-23  Martin Buchholz  <martin@xemacs.org>
3705
3706         * specifier.h (specifier_data_offset): Remove pointless parens.
3707         * glyphs.h (IMAGE_SPECIFIER_DATA): Likewise.
3708
3709 2001-01-24  Martin Buchholz  <martin@xemacs.org>
3710
3711         Make Lisp_Object sizeof methods be alignment-correct.
3712         pdump must restore objects to the same alignment as the C compiler
3713         assumes.  It really matters on SGIs.
3714         * lstream.c (aligned_sizeof_lstream): New.
3715         (sizeof_lstream): Use aligned_sizeof_lstream.
3716         (Lstream_new): Likewise.
3717         * opaque.c (aligned_sizeof_opaque): New.
3718         (sizeof_opaque): Use aligned_sizeof_opaque.
3719         (make_opaque): Likewise.
3720         * specifier.c (aligned_sizeof_specifier): New.
3721         (sizeof_specifier): Use aligned_sizeof_specifier.
3722         (make_specifier_internal): Likewise.
3723
3724 2001-01-23  Martin Buchholz  <martin@xemacs.org>
3725
3726         * lstream.h (struct lstream): Use max_align_t for trailing data.
3727         * specifier.h (struct Lisp_Specifier): Likewise.
3728
3729 2001-01-22  Martin Buchholz  <martin@xemacs.org>
3730
3731         * mule-ccl.c (CCL_Extension): Renamed from CCL_Extention.
3732         (CCL_SUCCESS): Kludge to prevent Sun cc compiler warnings.
3733         (CCL_SUSPEND): Likewise.
3734         (CCL_INVALID_CMD): Likewise.
3735         (CCL_CALL_FOR_MAP_INSTRUCTION): Likewise.
3736         (ccl_driver): Likewise.
3737         (CCL_WRITE_CHAR): Macro hygiene.
3738         (CCL_WRITE_STRING): Macro hygiene.
3739
3740 2001-01-22  Martin Buchholz  <martin@xemacs.org>
3741
3742         Port "portable" dumper to SunOS 4 and HP-UX.
3743         * s/aix4.h (AIX4): Move MAP_FAILED definition elsewhere.
3744         * emacs.c (main): PDUMP implies no RUN_TIME_REMAP.
3745         * dumper.c (pdump_file_get): Define MAP_FAILED if not already defined.
3746
3747 2001-01-22  Martin Buchholz  <martin@xemacs.org>
3748
3749         * lisp.h (ALIGNOF): A better definition for C++.
3750
3751 2001-01-20  Martin Buchholz  <martin@xemacs.org>
3752
3753         Macro hygiene.
3754         Fix printf warnings: int format, long int arg.
3755         * regex.c (DECLARE_DESTINATION): Use DECLARE_NOTHING.
3756         (PUSH_FAILURE_POINT): Use correct printf formats.
3757         (POP_FAILURE_POINT): Use correct printf formats.  
3758         Use do {...} while (0)
3759
3760 2001-01-20  Martin Buchholz <martin@xemacs.org>
3761
3762         * XEmacs 21.2.42 "Poseidon" is released.
3763
3764 2001-01-20  Martin Buchholz  <martin@xemacs.org>
3765
3766         * console-x.h: typo fix du jour.  Remove #if 0'ed code.
3767
3768 2001-01-19  Martin Buchholz  <martin@xemacs.org>
3769
3770         De-kludgify FIXED_TYPE free list frobbing.
3771         Fix crashes on 64-bit platforms introduced by my patch of 2001-01-13.
3772         * alloc.c (DECLARE_FIXED_TYPE_ALLOC): Use Lisp_Free.
3773         * alloc.c (ALLOCATE_FIXED_TYPE_1): Use new definitions.
3774         * alloc.c (Lisp_Free): New pseudo lisp object definition.
3775         * alloc.c (LRECORD_FREE_P): New.
3776         * alloc.c (MARK_LRECORD_AS_FREE): New.
3777         * alloc.c (MARK_LRECORD_AS_NOT_FREE): New.
3778         * alloc.c (STRUCT_FREE_P): Deleted.
3779         * alloc.c (MARK_STRUCT_AS_FREE): Deleted.
3780         * alloc.c (MARK_STRUCT_AS_NOT_FREE): Deleted.
3781         * alloc.c (STRING_CHARS_FREE_P): New.
3782         * alloc.c (MARK_STRING_CHARS_AS_FREE): New.
3783         * alloc.c (PUT_FIXED_TYPE_ON_FREE_LIST): Use new definitions.
3784         * alloc.c (FREE_FIXED_TYPE): Use new definitions.
3785         * alloc.c (STRING_CHARS_FREE_P): Use new definitions.
3786         * alloc.c (resize_string): Use new definitions.
3787         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Use new definitions.
3788         * alloc.c (verify_string_chars_integrity): Use new definitions.
3789         * alloc.c (compact_string_chars): Use new definitions.
3790         * alloc.c: Update monster comments.
3791         * lrecord.h (lrecord_type): Add some new lrecord types for
3792         alloc.c's use.
3793
3794 2001-01-18  Martin Buchholz  <martin@xemacs.org>
3795
3796         Improve alignment hackery.
3797         * lisp.h (ALIGNOF): Better definition for the non-gcc case.
3798         (max_align_t): Moved from opaque.h - general purpose.
3799         (ALIGN_PTR): Use size_t, not long.
3800         * opaque.h (max_align_t): Move to lisp.h.
3801
3802 2001-01-18  Norbert Koch  <nk@LF.net>
3803
3804         * gui.h: Fix and add prototypes to fix build problems.
3805
3806 2001-01-18  Martin Buchholz  <martin@xemacs.org>
3807
3808         temacs is going away, so `dump-temacs' is now a bad name.
3809         * .dbxrc (dump-temacs): Rename to `dmp'.
3810         * .gdbinit (dump-temacs): Rename to `dmp'.
3811
3812 2001-01-17  Andy Piper  <andy@xemacs.org>
3813
3814         * glyphs.c (print_image_instance): comment to make martin happy.
3815
3816         * glyphs-x.c (x_redisplay_widget): update faces after a frame
3817         change.
3818
3819         * glyphs-msw.c (mswindows_redisplay_widget): add code to cope with
3820         activation.
3821         (mswindows_tab_control_redisplay): warning suppression.
3822
3823         * glyphs-widget.c (widget_update): re-write to cope with updated
3824         items.
3825         (widget_instantiate): use new gui_item functions.
3826         (tab_control_update): deleted.
3827         (progress_gauge_update): deleted.
3828         (image_instantiator_progress_guage): take out update reference.
3829         (image_instantiator_tree_view): ditto.
3830         (image_instantiator_tab_control): ditto.
3831
3832         * gui.c (widget_gui_parse_item_keywords): new function. Do things
3833         Right the new way.
3834         (gui_item_add_keyval_pair): re-write to cope with descriptors and
3835         return whether anything was changed.
3836         (update_gui_item_keywords): as it sounds.
3837
3838         * gui.h: declare widget_gui_parse_item_keywords.
3839
3840         * fns.c (safe_copy_tree): new function taken from Fcopy_tree.
3841         (Fcopy_tree): use it. Stops infloop death in bogus instantiators.
3842
3843 2001-01-17  Martin Buchholz <martin@xemacs.org>
3844
3845         * XEmacs 21.2.41 "Polyhymnia" is released.
3846
3847 2001-01-16  Didier Verna  <didier@xemacs.org>
3848
3849         * glyphs.c (image_instantiate): don't use fallbacks when
3850         instantiating a face's background pixmap by inheritance.
3851
3852 2001-01-14  Mike Sperber <mike@xemacs.org>
3853
3854         * sysdep.c (start_of_data): PDUMP implies ORDINARY_LINK.
3855         Conditionalize accordingly.
3856
3857 2001-01-16  Martin Buchholz  <martin@xemacs.org>
3858
3859         * dumper.c (pdump_file_get): Fix a compiler warning.
3860
3861 2001-01-15  Martin Buchholz  <martin@xemacs.org>
3862
3863         Make Purify happy when pdumping.
3864         * symbols.c (Fmake_variable_buffer_local): Make Purify happy, by
3865         iniitalizing all bits of new lisp object memory.
3866         * symbols.c (Fmake_local_variable): Likewise.
3867         * symbols.c (Fdontusethis_set_symbol_value_handler): Likewise.
3868         * symbols.c (Fdefvaralias): Likewise.
3869         * mule-charset.c (vars_of_mule_charset): Likewise.
3870
3871 2001-01-15  Martin Buchholz  <martin@xemacs.org>
3872         Add the `-nd' flag when running pre-dump operations under the debugger.
3873         * .dbxrc (run-temacs): Add `-nd'.
3874         * .dbxrc (update-elc): Likewise.
3875         * .dbxrc (dump-temacs): Likewise.
3876         * .gdbinit (run-temacs): Likewise.
3877         * .gdbinit (check-temacs): Likewise.
3878         * .gdbinit (update-elc): Likewise.
3879         * .gdbinit (dump-temacs): Likewise.
3880
3881 2001-01-14  Martin Buchholz  <martin@xemacs.org>
3882
3883         Allow building 64-bit executables on AIX with GNU malloc, e.g.
3884         export OBJECT_MODE=64
3885         configure --pdump --use-union-type=no
3886         * m/ibmrs6000.h (DATA_START): Define for 64-bit world.
3887         * gmalloc.c (__default_morecore): Remove pre-ANSI cruft.
3888
3889         * miscplay.c (sndcnv8U_2mono):
3890         Avoid two uses of `++' in the same expression.
3891         Suppresses a GCC warning.
3892
3893 2001-01-13  Martin Buchholz  <martin@xemacs.org>
3894
3895         Make sure future compilers don't miscompile alloc.c.
3896         * alloc.c:
3897         (MARK_STRUCT_AS_FREE): Make aliasing-optimization-resistant.
3898         (MARK_STRUCT_AS_NOT_FREE): Make aliasing-optimization-resistant.
3899
3900 2001-01-12  Martin Buchholz  <martin@xemacs.org>
3901
3902         * dumper.c: A little post-pdump-rename comment fixup.
3903
3904 2001-01-09  Jerry James  <james@eecs.ku.edu>
3905
3906         * lisp-disunion.h: Change LISP_TO_CVOID arg to match its use.
3907
3908 2001-01-13  Martin Buchholz  <martin@xemacs.org>
3909
3910         * *.[ch]: Globally rename symbols using the following `pdump-rename'
3911         script:
3912         #!/bin/sh
3913         replace_symbol () {
3914           (findn texi$; findn [ch]$) | xargs g -lw "$1" | xargs global-replace 's/(?<!_)\b'$1'\b(?!_)/'$2'/g'
3915         }
3916
3917         replace_symbol pdump_wire_lists pdump_weak_object_chains
3918         replace_symbol pdump_wire_list dump_add_weak_object_chain
3919
3920         replace_symbol pdump_wires pdump_root_objects
3921         replace_symbol pdump_wire dump_add_root_object
3922
3923         replace_symbol pdump_dump_wired pdump_dump_from_root_objects
3924         replace_symbol pdump_dump_structs pdump_dump_from_root_struct_ptrs
3925
3926         replace_symbol dumpstructinfos pdump_root_struct_ptrs
3927         replace_symbol dumpstructinfo_dynarr pdump_root_struct_ptr_dynarr
3928         replace_symbol dumpstructinfo pdump_root_struct_ptr
3929         replace_symbol dumpstruct dump_add_root_struct_ptr
3930
3931         replace_symbol dumpopaque dump_add_opaque
3932         replace_symbol dumpopaqueinfo_dynarr pdump_opaque_dynarr
3933         replace_symbol dumpopaqueinfos pdump_opaques
3934         replace_symbol dumpopaqueinfo pdump_opaque
3935
3936         replace_symbol nb_structdump nb_root_struct_ptrs
3937         replace_symbol nb_opaquedump nb_opaques
3938
3939         replace_symbol align_table pdump_align_table
3940         replace_symbol dump_header pdump_header
3941
3942         replace_symbol DUMP_SIGNATURE_LEN PDUMP_SIGNATURE_LEN
3943         replace_symbol DUMP_SIGNATURE PDUMP_SIGNATURE
3944
3945
3946 2001-01-12  Martin Buchholz  <martin@xemacs.org>
3947
3948         * s/aix4.h: Keep the C for AIX compiler from overaggressively
3949         optimizing bytecount_to_charcount().
3950
3951 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
3952
3953         * config.h.in:
3954         (HAVE_DLFCN_H): Removed.
3955         * sysdll.c: Remove HAVE__DLOPEN, HAVE_DLFCN_H.
3956
3957 2001-01-06  Martin Buchholz  <martin@xemacs.org>
3958
3959         Portable dumper maintainability improvements.
3960         * alloc.c (staticpro):
3961         * alloc.c (staticpro_nodump):
3962         * alloc.c (garbage_collect_1):
3963         * alloc.c (reinit_alloc_once_early):
3964         * alloc.c (init_alloc_once_early):
3965         * alloc.c: Move dumper functions to alloc.c.
3966         * dumper.c (pdump_backtrace):
3967         * dumper.c (pdump_dump_structs):
3968         * dumper.c (pdump_dump_opaques):
3969         * dumper.c (pdump_dump_rtables):
3970         * dumper.c (pdump_dump_wired):
3971         * dumper.c (pdump):
3972         * dumper.c (pdump_load_check):
3973         * dumper.c (pdump_load_finish):
3974         * dumper.c (pdump_file_unmap):
3975         * dumper.c (pdump_file_get):
3976         * dumper.c (pdump_resource_free):
3977         * dumper.c (pdump_resource_get):
3978         * dumper.c (pdump_file_free):
3979         * dumper.c (pdump_file_try):
3980         * dumper.c (pdump_load):
3981         Remove fixed size limits on staticpro(), staticpro_nodump(),
3982         dumpopaque(), dumpstruct() by using Dynarrs instead of static C arrays.
3983         Remove custom code for dumping lrecord_implementations_table - use
3984         dumpopaque instead.
3985         Remove (most of the) custom code for dumping staticpros - dump it
3986         like any other dynarr.
3987
3988         * alloc.h: Removed.  No longer useful, since dumper now more self-contained.
3989         * dumper.c: Moved functions from alloc.c.
3990         * alloc.c (dumpstruct): Moved to dumper.c.
3991         * alloc.c (dumpopaque): Likewise.
3992         * alloc.c (pdump_wire): Likewise.
3993         * alloc.c (pdump_wire_list): Likewise.
3994
3995         * lisp.h (Dynarr_sizeof): New.
3996         * lisp.h (Dynarr_begin): New.  Very slightly C++oid.
3997         * lisp.h (Dynarr_end): New.  Very slightly C++oid.
3998         * lisp.h (Lisp_Object_ptr_dynarr): New.  For staticpros.
3999
4000         * lisp.h (dumpstruct): Define to nothing if not PDUMPing.
4001         * lisp.h (dumpopaque): ditto.
4002         * lisp.h (pdump_wire): ditto.
4003         * lisp.h (pdump_wire_list): ditto.
4004
4005 2001-01-09  Martin Buchholz  <martin@xemacs.org>
4006
4007         * make-src-depend (PrintPatternDeps):
4008         Use `sort' to make output independent of perl version.
4009
4010 2001-01-08  Martin Buchholz  <martin@xemacs.org>
4011
4012         Port to Netbsd 1.5.
4013         * unexelf.c: Remove (never used) bogus Netbsd-specific cruft.
4014         * s/netbsd.c: Use unexelf.o if __ELF__ is defined.
4015
4016 2001-01-03  Didier Verna  <didier@xemacs.org>
4017
4018         * event-stream.c (emacs_handle_focus_change_preliminary): ensure
4019         that `focus_frame' is alive before thinking of calling
4020         `redisplay_redraw_cursor' on it.
4021
4022 2001-01-08  Martin Buchholz <martin@xemacs.org>
4023
4024         * XEmacs 21.2.40 is released.
4025
4026 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
4027
4028         * regex.c: Replace PREFETCH with REGEX_PREFETCH.
4029
4030 2001-01-06  Martin Buchholz  <martin@xemacs.org>
4031
4032         * alloc.c (dbg_valmask): Make const.
4033         * alloc.c (dbg_typemask): Make const.
4034         * alloc.c (dbg_USE_UNION_TYPE): Make const.
4035         * alloc.c (dbg_valbits): Make const.
4036         * alloc.c (dbg_gctypebits): Make const.
4037
4038 2001-01-06  Stephen J. Turnbull  <stephen@xemacs.org>
4039
4040         * redisplay-x.c (x_bevel_area):
4041         redisplay.h (struct rune):
4042         Typo fixes in comments.
4043
4044 2001-01-05  Andy Piper  <andy@xemacs.org>
4045
4046         * glyphs-x.c (x_redisplay_widget): use size changed for offset
4047         adjustment.
4048
4049         * menubar.c (menubar_visible_p_changed): don't mark frame changed.
4050
4051 2001-01-05  Martin Buchholz  <martin@xemacs.org>
4052
4053         * alloc.c (pure-bytes-used): Remove unused mendacious variable.
4054
4055         * mule-ccl.c (stack_idx_of_map_multiple):
4056         Non const global data must not be initialized!
4057         Found by MIYASHITA Hisashi.
4058
4059 2001-01-02  Andy Piper  <andy@xemacs.org>
4060
4061         * frame.c (change_frame_size): make sure frame size is always
4062         marked as changed.
4063
4064         * glyphs.c (image_instance_layout): minor code reuse.
4065
4066         * window.c (Fcurrent_window_configuration): revert previous
4067         change.
4068
4069 2001-01-02  Martin Buchholz  <martin@xemacs.org>
4070
4071         * glyphs.h:
4072         * glyphs.c (make_image_instance_cache_hash_table): Use ANSI prototypes.
4073
4074 2000-12-31  Andy Piper  <andy@xemacs.org>
4075
4076         * glyphs-x.c (x_unmap_subwindow): return focus to enclosing frame
4077         when widget gets unmapped.
4078
4079         * event-Xt.c (emacs_Xt_handle_widget_losing_focus): new
4080         function. Make sure widgets losing focus don't just drop it.
4081         (handle_focus_event_1): record the widget with focus.
4082
4083 2000-12-31  Andy Piper  <andy@xemacs.org>
4084
4085         * window.c (allocate_window): use
4086         make_image_instance_cache_hash_table.
4087         (make_dummy_parent): ditto.
4088         (Fset_window_configuration): ditto.
4089
4090         * glyphs.h (INSTANTIATOR_TYPE): new macro.  declare new functions.
4091
4092         * glyphs.c (process_image_string_instantiator): use
4093         INSTANTIATOR_TYPE.
4094         (get_image_instantiator_governing_domain): ditto.
4095         (normalize_image_instantiator): ditto.
4096         (instantiate_image_instantiator): ditto.
4097         (make_image_instance_1): ditto.
4098         (image_instantiate): ditto. Key on glyph *and* instantiator type.
4099         (instantiator_eq_equal): new function for use with instance hash
4100         tables.
4101         (instantiator_eq_hash): ditto.
4102         (make_image_instance_cache_hash_table): create a suitable hash
4103         table for storing image instances.
4104
4105         * elhash.h (hash_table_weakness): new internal weakness type
4106         HASH_TABLE_KEY_CAR_VALUE_WEAK.
4107         declare new functions.
4108
4109         * elhash.c (finish_marking_weak_hash_tables): introduce yet
4110         another weakness type for glyphs.
4111         (make_standard_lisp_hash_table): new function split out from
4112         make_general_lisp_hash_table.
4113         (make_lisp_hash_table): call make_standard_lisp_hash_table.
4114         (hash_table_instantiate): ditto.
4115         (Fmake_hash_table): ditto.
4116
4117 2000-12-31  Martin Buchholz <martin@xemacs.org>
4118
4119         * XEmacs 21.2.39 is released.
4120
4121 2000-12-29  Andy Piper  <andy@xemacs.org>
4122
4123         * menubar.c (menubar_visible_p_changed): signal the frame changed.
4124
4125         * glyphs-x.c (x_redisplay_widget): Re-calculate widget offsets if
4126         the frame has changed so that we pick up geometry changes such as
4127         menubar visibility.
4128
4129 2000-12-28  Andy Piper  <andy@xemacs.org>
4130
4131         * lastfile.c (my_ebss): make a char array so we can pad the
4132         bss. Fixes cygwin unexec.
4133
4134         * unexcw.c: invert BROKEN_GDB to NO_DEBUG.
4135
4136 2000-12-26  Andy Piper  <andy@xemacs.org>
4137
4138         * event-Xt.c (emacs_Xt_force_event_pending): add some verbose
4139         comments and try and be more precise about a non-/SIGIO world.
4140         (emacs_Xt_event_pending_p): use XtAppPending under cygwin and non
4141         SIGIO.
4142
4143         * redisplay-output.c (redisplay_normalize_glyph_area): make sure
4144         we don't normalize to zero width or height.
4145
4146 2000-12-24  Andy Piper  <andy@xemacs.org>
4147
4148         * Makefile.in.in (ldflags): add -mwindows when appropriate.
4149
4150 2000-08-18  Golubev I. N.  <gin@mo.msk.ru>
4151
4152         * s/sco5.h: SCO 5 has pty support.
4153
4154 2000-07-20  Kazuyuki IENAGA <ienaga@xemacs.org>
4155
4156         * input-method-xlib.c: supports both XIM_XLIB and USE_XFONTSET.
4157         input-method-xlib.c contains whole contents of input-method-xfs.c,
4158         so we can use input-method-xlib.c's code for USE_XFONTSET
4159         using #ifdefs.
4160         * input-method-xfs.c: removed.
4161
4162 2000-12-20  Stephen Turnbull  <stephen@xemacs.org>
4163
4164         * file-coding.h (enum coding_category_type): reorder enumerators to
4165         make autodetection safer.  Make CODING_CATEGORY_LAST an enumerator
4166         (now one greater than largest real coding_category_type enumerator).
4167         * file-coding.c (coding_category_symbol, coding_category_by_priority,
4168         coding_category_system, fcd_descriptihon_1, decode_coding_category,
4169         Fcoding_category_list, Fset_coding_priority_list,
4170         Fcoding_priority_list, coding_system_from_mask, Fdetect_coding_region,
4171         vars_of_file_coding): adjust for change in CODING_CATEGORY_LAST.
4172
4173 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
4174
4175         * redisplay-output.c (redisplay_clear_top_of_window): Remove static.
4176         * redisplay-output.c (redisplay_output_window): Clear top of window
4177         when face is changed.
4178         * redisplay-x.c (x_redraw_exposed_window): Call
4179         redisplay_clear_top_of_window.
4180         * redisplay.h: Publish redisplay_clear_top_of_window.
4181
4182 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
4183
4184         * buffer.c (Fkill_buffer): Map over all devices.
4185         * window.c (window_loop): Remove UNSHOW_BUFFER code.
4186         (list_windows): New function.
4187         (list_all_windows): Ditto.
4188         (Freplace_buffer_in_windows): Use them.
4189
4190 2000-02-02   Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
4191
4192         * database.c (berkdb_subtype): Recognize new subtype `queue'.
4193         (Fopen_database): Use `db_create' instead of `db_open'.
4194         (syms_of_database): Initialize Qqueue.
4195
4196 2000-12-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
4197
4198         * buffer.c (common_init_complex_vars_of_buffer): Initialize
4199         buffer_local_face_property.
4200         * buffer.h (struct buffer): New member buffer_local_face_property.
4201         * window.c (Fset_window_buffer):  Mark window's face as changed
4202         when buffer has buffer local face.
4203         * window.h (MARK_WINDOW_FACES_CHANGED): New macro.
4204         * objects.c (color_after_change): Set buffer_local_face_property
4205         when locale of face specifier is buffer.
4206         * objects.c (font_after_change): Ditto.
4207         * objects.c (face_boolean_after_change): Ditto.
4208         * glyphs.c (image_after_change): Ditto.
4209
4210 2000-12-09  Dan Holmsand  <dan@eyebee.com>
4211
4212         * nt.c (mswindows_fstat): Report file permissions, volume serial
4213         number, etc. Code adapted from FSF Emacs 20.7.
4214
4215 2000-12-09  Dan Holmsand  <dan@eyebee.com>
4216
4217         * sysfile.h (lstat): Make lstat an alias for xemacs_stat instead
4218         of stat when we don't have symbolic links, to make sure
4219         mswindows_stat is called on mswindows.
4220
4221 2000-12-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
4222
4223         * alloca.c: Define malloc to xmalloc only when built with XEmacs.
4224
4225 2000-12-12  Martin Buchholz  <martin@xemacs.org>
4226
4227         * doprnt.c (emacs_doprnt_1): More printing fixes.
4228         Make printing of numbers compatible with libc and FSF Emacs.
4229         BUG was: (format "%6.3f" 1.2) ==>"1.200000"
4230         Use the system printf to do most of the hard work of formatting,
4231         instead of doprnt_1().
4232         Calculate memory to allocate for format string.
4233         Remove arbitrary limit on precision, e.g. (format "%.1000f" 3.14)
4234         (doprnt_1): Cleaner code and documentation.
4235
4236 2000-12-01  Jerry James  <james@eecs.ukans.edu>
4237
4238         * Makefile.in.in: Use the loop variable to install headers.
4239
4240 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
4241
4242         * window.c (Fsplit_window): Don't invalidate face cache.
4243
4244 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
4245
4246         * minibuf.c (Fall_completions): Undo the previous change
4247         which removed checking elements start with space.
4248
4249 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
4250
4251         * mule-canna.c: Didier suppression.
4252
4253 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
4254
4255         * mule-canna.c: rename static unsigned char buf[] to key_buffer
4256         (warning suppression).  Add English comment translations.
4257
4258 2000-12-05  Martin Buchholz  <martin@xemacs.org>
4259
4260         * unexelfsgi.c (unexec): Better test for mmap failure.
4261
4262 2000-12-05  Martin Buchholz <martin@xemacs.org>
4263
4264         * XEmacs 21.2.38 is released.
4265
4266 2000-12-05  Martin Buchholz  <martin@xemacs.org>
4267
4268         * redisplay.c (bar-cursor): Make a user variable.
4269
4270         * symsinit.h: Add init_postgresql_from_environment.
4271
4272 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
4273
4274         * regex.c: Convert to clean C.
4275
4276 2000-12-05  Dan Holmsand  <dan@eyebee.com>
4277
4278         * realpath.c:
4279         Don't #include sysfile.h. Revert to duplicating PATH_MAX
4280         initialization.
4281         (sys_readlink): renamed to system_readlink to avoid conflict with
4282         the other sys_readlink.
4283
4284 2000-12-04  Hiroaki Abe  <h-abe@pc.highway.ne.jp>
4285
4286         * dumper.c (pdump_file_get): Correct uses of pdump_fd.
4287
4288 2000-12-04  Stephen J. Turnbull  <stephen@xemacs.org>
4289
4290         * postgresql.c (init_postgresql_from_environment): new function.
4291         (vars_of_postgresql): Move code initializing Lisp variables out and
4292         into init_postgresql_from_environment.
4293         emacs.c (main_1): Call init_postgresql_from_environment if and only
4294         if running a dumped XEmacs.
4295
4296 2000-08-31  Dan Holmsand  <dan@eyebee.com>
4297
4298         * buffer.c: Make find-file-compare-truenames default to true on
4299         windows.
4300
4301         * realpath.c (win32_abs_start):
4302         (cygwin_readlink):
4303         (win32_readlink): New functions.
4304         (xrealpath): Return really real filenames on windows.
4305
4306         * fileio.c (Ffile_truename): Make file-truename work on windows.
4307
4308 2000-11-29  Didier Verna  <didier@xemacs.org>
4309
4310         * faces.c (MAYBE_UNFROB_BACKGROUND_PIXMAP): new macro.
4311         * faces.c (update_face_cachel_data): use it.
4312         * faces.c (add_face_cachel): use it. Complete background pixmap
4313         frobbing in face cache if `update_face_cachel_data' has not done so.
4314
4315 2000-11-29  Yoshiki Hayashi  <yoshiki@xemacs.org>
4316
4317         * search.c (string_match_1): Don't set last_thing_searched
4318         when search failed.
4319
4320 2000-11-27  Yoshiki Hayashi  <yoshiki@xemacs.org>
4321
4322         * buffer.c: Include casetab.h
4323         (common_init_complex_vars_of_buffer): Use new case-table object.
4324         * buffer.h: Include casetab.h
4325         * buffer.h (MAKE_TRT_TABLE): Use generic char-table.
4326         (DOWNCASE_TABLE_OF): Ditto.
4327         * bufslots.h: Remove char-tables and add case-table.
4328         * casetab.c: Include casetab.h
4329         (CASE_TABLE_P): Removed.
4330         (mark_case_table): New function.
4331         (allocate_case_table): New function.
4332         (Fcase_table_p): Use new case-table.
4333         (case_table_char): New function.
4334         (Fget_case_table): Ditto.
4335         (Fput_case_table): Ditto.
4336         (Fput_case_table_pair): Ditto.
4337         (Fcopy_case_table): Ditto.
4338         (Fcurrent_case_table): Return case-table.
4339         (Fstandard_case_table): Return case-table.
4340         (Fset_case_table): Fix doc-string.
4341         (set_case_table): Use case-table
4342         (syms_of_casetab): DEFSUBR new functions.
4343         (complex_vars_of_casetab): Set up standard case-table.
4344         * casetab.h: New file.
4345         * editfns.c: Include casetab.h
4346         (Fcompare_buffer_substrings): Use case-table.
4347         * inline.c: Include casetab.h
4348         * lisp.h: Remove bogus extern.
4349         * lrecord.h (lrecord_type): Add lrecord_type_case_table.
4350         * search.c: Include casetab.h
4351         (TRANSLATE_ASCII): Removed.
4352         (TRANSLATE): Unconditionally translate character.
4353         (looking_at_1): Use case-table.
4354         (string_match_1): Ditto.
4355         (fast_string_match): Ditto.
4356         (search_command): Ditto.
4357         (search_buffer): Separate boyer_moore.  Check whether
4358         boyer_moore is possible.
4359         (simple_search): New function.
4360         (boyer_moore): Separated from search_buffer. Translate char.
4361
4362 2000-11-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
4363
4364         * regex.c (RE_TR_ASCII): Removed.
4365         (RE_TRANSLATE): Unconditionally use TRT_TABLE.
4366         (PATFETCH): Call PATFETCH_RAW.
4367         (PATFETCH_RAW): Fetch Emchar.
4368         (PATUNFETCH): Decrement charptr.
4369         (GET_BUFFER_SPACE): Rename b to buf_end.
4370         (BUF_PUSH): Ditto.
4371         (BUF_PUSH_2): Ditto.
4372         (BUF_PUSH_3): Ditto.
4373         (EXTEND_BUFFER): Ditto.
4374         (SET_LIST_BIT): Ditto.
4375         (regex_compile): Ditto.  Translate non ASCII char.
4376         (compile_range): Ditto.
4377         (re_search_2): Ditto.
4378         (re_match_2_internal): Compare Emchar.
4379         (bcmp_translate): Ditto.
4380
4381 2000-11-29  Stephen J. Turnbull  <turnbull@xemacs.org>
4382
4383         * lisp.h (basic char/int typedefs):  comment improvement.
4384
4385 2000-11-24  Stephen J. Turnbull  <turnbull@xemacs.org>
4386
4387         * emacs.c (main_1):  unconditional pdump unstomping; don't save and
4388         unstomp inhibit_site_lisp.  Improve comments.
4389
4390 2000-11-22  Stephen J. Turnbull  <turnbull@xemacs.org>
4391
4392         * mule-charset.c (Fcharset_property):  improve type checking, comments.
4393
4394 2000-11-28  Andy Piper  <andy@xemacs.org>
4395
4396         * redisplay-output.c (redisplay_output_subwindow): make sure we do
4397         clipped display for windows in the gutter also.
4398         (redisplay_display_boxes_in_window_p): change semantics of return
4399         codes to be more intuitive.
4400
4401         * gutter.h: declare display_boxes_in_gutter_p.
4402
4403         * gutter.c (display_boxes_in_gutter_p): new function for
4404         redisplay.
4405
4406 2000-11-22  Andy Piper  <andy@xemacs.org>
4407
4408         * glyphs-x.c (image_instantiator_format_create_glyphs_x): change
4409         autodetect domain.
4410
4411 2000-11-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
4412
4413         * callproc.c (Fold_call_process_internal):
4414         * gpm.c (Freceive_gpm_event):
4415         (tty_get_foreign_selection): Might be just warning supression.
4416         * fileio.c (Fwrite_region_internal):
4417         (Fset_visited_file_modtime):
4418         * keymap.c (event_matches_key_specifier_p):
4419         Initialize GCPROed variable.
4420
4421         * menubar-x.c (command_builder_find_menu_accelerator):
4422         Initialize before use.
4423
4424 2000-11-23  Andy Piper  <andy@xemacs.org>
4425
4426         * unexcw.c (unexec): make the resulting executable executable.
4427
4428 2000-11-21  Martin Buchholz  <martin@xemacs.org>
4429
4430         * doc.c (get_doc_string):
4431         Use size_t, not int, for result of XSTRING_LENGTH.
4432
4433         * cmds.c (Fdelete_char):
4434         * cmds.c (Fpoint_at_eol):
4435         * cmds.c (Fself_insert_command):
4436         Use EMACS_INT, not int, for result of XINT.
4437         Someday, someone will want to insert more than 2**31 identical characters.
4438
4439         * cmds.c (Fdelete_char):
4440         * cmds.c (Fdelete_backward_char):
4441         * syntax.c (Fforward_word):
4442         * syntax.c (Fforward_comment):
4443         Make COUNT argument optional, for consistency with forward-char et al.
4444
4445 2000-11-22  Martin Buchholz  <martin@xemacs.org>
4446
4447         * lisp.h:
4448         * print.c (long_to_string):
4449         Return a useful value: the pointer at end of data written.
4450
4451         * doprnt.c:
4452         Use `static const char * const' for constant strings.
4453         (union printf_arg): Delete `i', `ui' members.
4454         (get_doprnt_args):
4455         (emacs_doprnt_1):
4456         Fix LP64 platform bug: (format "%d" most-positive-fixnum) ==> "-1"
4457         Do all printf-ing via the `l' specifier.
4458         Use EMACS_INT instead of int.
4459         Optimize.
4460
4461 2000-11-20  Didier Verna  <didier@xemacs.org>
4462
4463         * faces.c (update_face_cachel_data): don't frob the background
4464         pixmap when the window is being created. The face is needed but
4465         does not exist yet.
4466
4467 2000-11-20  Andy Piper  <andy@xemacs.org>
4468
4469         * unexcw.c (copy_executable_and_dump_data_section): Only do bss
4470         messing with a debug environment.
4471
4472 2000-11-20  Martin Buchholz  <martin@xemacs.org>
4473
4474         * emacs.c (__sti__iflPNGFile_c___): Pedantically correct prototype.
4475
4476 2000-11-20  Martin Buchholz  <martin@xemacs.org>
4477
4478         * casetab.c (Fcase_table_p): Fix compile error and crash.
4479
4480 2000-11-18  Philip Aston  <philipa@mail.com>
4481
4482         * s/cygwin32.h: Cygwin has SVR4-like pty support.
4483
4484 2000-11-18  Martin Buchholz  <martin@xemacs.org>
4485
4486         * fileio.c (Fexpand_file_name): GCPRO bug!  Protect `handler'.
4487         * filelock.c (lock_file): GCPRO bug! Initialize all GCPROed vars!
4488
4489 2000-11-17  Martin Buchholz  <martin@xemacs.org>
4490
4491         * config.h.in: Define HAVE_ELF_H if elf.h exists.
4492         * unexelf.c: Use HAVE_ELF_H.
4493         * unexelfsgi.c: Fix bug with dumped xemacs stdout/stderr not working.
4494         I copied FSF Emacs 20.7 unexelf.c to unexelfsgi.c and ANSIfied it.
4495         Max Matveev <makc@sgi.com> removed non-SGI-relevant parts and tested.
4496         Greg Harrington <greg_harrington@hotmail.com> provided a machine
4497         for testing.
4498         So this is an unexelfsgi.c from a different line of development.
4499
4500 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
4501
4502         * regex.c (RE_TR_ASCII): New function.
4503         (RE_TRANSLATE): Call it.
4504
4505 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
4506
4507         * buffer.h (TRT_TABLE_OF): Remove assert.
4508         (IN_TRT_TABLE_DOMAIN): Removed.
4509
4510 2000-11-16  Gunnar Evermann  <ge204@eng.cam.ac.uk>
4511
4512         * free-hook.c (log_gcpro):
4513         (show_gcprohist): Add support for GCPRO5.
4514
4515 2000-11-08  Stephen J. Turnbull  <stephen@xemacs.org>
4516
4517         * emacs.c (main_1): Improve -sd error message when --pdump=no.
4518
4519 2000-11-16  Olivier Galibert  <galibert@xemacs.org>
4520
4521         * symeval.h: Declare flush_all_buffer_local_cache.
4522
4523         * symbols.c: Change XD_LO_RESET_NIL into XD_LISP_OBJECTs.
4524         (flush_buffer_local_cache): Added.
4525         (flush_all_buffer_local_cache): Added.
4526
4527         * lrecord.h: Remove unused XD_LO_RESET_NIL.
4528
4529         * dumper.c (pdump_register_sub): Remove unused XD_LO_RESET_NIL.
4530         (pdump_dump_data): Ditto.
4531         (pdump_reloc_one): Ditto.
4532         (pdump): Remove unused pdump_qnil.  Flush buffer local caches
4533         before dumping.
4534
4535
4536 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
4537
4538         * buffer.c: Remove if 0'ed entry.
4539         * buffer.h: Rewrite TRT to use char-table.
4540         * bufslots.h: Remove mirror tables.
4541         * casetab.c: Remove mirror tables.
4542         (CASE_TABLE_P): New macro.
4543         (Fcase_table_p): Element of a case table is string or char-table.
4544         (make_mirror_trt_table): Removed.
4545         (set_case_table): Setup char-table from strings for backward
4546         compatibility.
4547         * dired.c (Fdirectory_files):
4548         * dired-msw.c: (mswindows_get_files):
4549         * lisp.h: Change prototype of re_pattern_buffer.
4550         * regex.c: (RE_TRANSLATE): New macro.
4551         (TRANSLATE_P): Ditto.
4552         Change translate to type RE_TRANSLATE_TYPE.
4553         * regex.h: Define RE_TRANSLATE_TYPE
4554         * search.c (TRANSLATE): New macro.
4555         (TRANSLATE_ASCII): New macro.
4556         Translate table is changed to Lisp_Object.
4557         (signal_failure): Inhibit return.
4558
4559 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
4560
4561         * device-msw.c:
4562         * eldap.c:
4563         * event-Xt.c:
4564         * event-stream.c:
4565         * print.c:
4566         Do UNGCPRO before return.
4567
4568 2000-11-14  Martin Buchholz <martin@xemacs.org>
4569
4570         * XEmacs 21.2.37 is released.
4571
4572 2000-11-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
4573
4574         * fileio.c (Finsert_file_contents_internal): UNGCPRO before return.
4575         Add comments about discarded return value.
4576
4577 2000-11-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
4578
4579         * callint.c:
4580         * event-stream.c: Fix comments.  Remove some #if 0'ed part.
4581
4582 2000-10-27  Andy Piper  <andy@xemacs.org>
4583
4584         * gutter.c (Fset_default_gutter_position): default left and right
4585         gutters to visible.
4586         (calculate_gutter_size): calculate resonable heuristic for left
4587         and right gutter sizes.
4588         (specifier_vars_of_gutter): change left and right gutter sizes to
4589         autodetect.
4590         (calculate_gutter_size_from_display_lines): new function.
4591         (output_gutter): check for resizing on left and right gutters.
4592         (clear_gutter): don't special case top and left gutters.
4593         (specifier_vars_of_gutter): use new signature for
4594         set_specifier_caching.
4595
4596         * glyphs-x.c (x_redisplay_widget): spelling fix.
4597         * glyphs.c (specifier_vars_of_glyphs):
4598         * menubar.c (specifier_vars_of_menubar):
4599         * redisplay.c (specifier_vars_of_redisplay):
4600         * toolbar.c (specifier_vars_of_toolbar):
4601         * window.c (specifier_vars_of_window):
4602         * scrollbar.c (specifier_vars_of_scrollbar):
4603         (complex_vars_of_scrollbar): use new signature for
4604         set_specifier_caching.
4605
4606         * specifier.c (set_specifier_caching): include recompute flag.
4607         (recompute_one_cached_specifier_in_window): always recompute if
4608         flag set.
4609         (recompute_one_cached_specifier_in_frame): ditto.
4610
4611         * specifier.h (struct specifier_caching): add recompute flag.
4612
4613 2000-10-24  Andy Piper  <andy@xemacs.org>
4614
4615         * unexcw.c (copy_executable_and_dump_data_section): add new
4616         BSS_PAD_SIZE so that we can re-instate a mini-bss. This keeps gdb
4617         5.0 happy.
4618
4619 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
4620
4621         * console-x.h (x_device): New member modifier_release_time.
4622         * event-Xt.c (x_handle_sticky_modifiers):
4623         Bound interval modifier keys are sticky.
4624         * event-stream.c (Vmodifier_keys_sticky_time): New variable.
4625         * events.h: extern it.
4626
4627 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
4628
4629         * cmdloop.c (Fcommand_loop_1): Just add C-g to event queue.
4630
4631 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
4632
4633         * event-stream.c (execute_command_event): Preserve current_events
4634         and the like when event is misc-user-event.
4635         Inhibit quit during the call to maybe_echo_keys.
4636
4637 2000-10-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
4638
4639         * filelock.c (lock_buffer): Cope with kill-buffer. Don't create a
4640         symlink when buffer is killed.
4641         (inhibit_clash_detection): New variable.
4642
4643 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
4644
4645         * console.c (Fset_input_method): Trigger redisplay on tty.
4646
4647 2000-11-07  Martin Buchholz  <martin@xemacs.org>
4648
4649         * process.c (Fprocess_status): Revert to previous behavior:
4650         (process-status "nosuchprocess") ==> nil
4651
4652 2000-11-06  Martin Buchholz  <martin@xemacs.org>
4653
4654         * mule-charset.h (CHARSET_BY_LEADING_BYTE):
4655         Work around another GCC 2.95.2 optimizer bug.
4656
4657 2000-11-02  Martin Buchholz  <martin@xemacs.org>
4658
4659         * process.c (Fget_process): Use LIST_LOOP_2.
4660         (kill_buffer_processes): Use LIST_LOOP_2.
4661
4662         * minibuf.c (Fall_completions):
4663         Delete old non-functional code for FSF fourth argument.
4664
4665         * frame.c (frame_matches_frame_spec):
4666         Renamed from `frame_matches_frametype'.  Update all callers.
4667         (device_matches_device_spec):
4668         Renamed from 'device_matches_console_spec'.  Update all callers.
4669
4670         * doc.c (Fsubstitute_command_keys):
4671         Remove buffer overflow crash.  Small code cleanups.
4672
4673         * casetab.c (check_case_table): Simpler code.
4674
4675         * window.c (Freplace_buffer_in_windows):
4676         Give this the same WHICH-FRAMES and WHICH-DEVICES parameters
4677         (and similar implementation) as Fdelete_windows_on.
4678         Update all callers.
4679
4680         * alloc.c (Fmake_list):
4681         * alloc.c (make_vector):
4682         * alloc.c (Fmake_vector):
4683         * alloc.c (make_bit_vector):
4684         * alloc.c (Fmake_bit_vector):
4685         * alloc.c (Fbit_vector):
4686         * alloc.c (Fmake_string):
4687         * alloc.c (Fpurecopy):
4688         * alloc.c (Fmemory_limit):
4689         * buffer.c:
4690         * buffer.c (Fget_buffer):
4691         * buffer.c (Fkill_buffer):
4692         * buffer.c (complex_vars_of_buffer):
4693         * bytecode.c (Fcompiled_function_stack_depth):
4694         * callint.c (Fprefix_numeric_value):
4695         * event-stream.c:
4696         * event-stream.c (Fread_key_sequence):
4697         * casetab.c:
4698         * casetab.c (Fcase_table_p):
4699         * casetab.c (check_case_table):
4700         * casetab.c (Fset_case_table):
4701         * casetab.c (Fset_standard_case_table):
4702         * chartab.c:
4703         * chartab.c (Fchar_table_type):
4704         * chartab.c (Freset_char_table):
4705         * chartab.c (Fget_char_table):
4706         * chartab.c (Fget_range_char_table):
4707         * chartab.c (Fput_char_table):
4708         * chartab.c (Fmap_char_table):
4709         * chartab.c (Fcategory_table_p):
4710         * chartab.c (Fcheck_category_at):
4711         * chartab.c (Fchar_in_category_p):
4712         * chartab.c (Fcategory_table):
4713         * chartab.c (Fcopy_category_table):
4714         * chartab.c (Fset_category_table):
4715         * chartab.c (Fcategory_designator_p):
4716         * chartab.c (Fcategory_table_value_p):
4717         * cmds.c (Fdelete_char):
4718         * cmds.c (Fdelete_backward_char):
4719         * cmds.c (Fself_insert_command):
4720         * cmds.c (Fself_insert_internal):
4721         * console.c (Fvalid_console_type_p):
4722         * console.c (Fcdfw_console):
4723         * console.c (Fconsole_type):
4724         * console.c (Fconsole_name):
4725         * console.c (Fconsole_device_list):
4726         * console.c (Fconsole_on_window_system_p):
4727         * data.c:
4728         * data.c (Feq):
4729         * data.c (Fold_eq):
4730         * data.c (Fsubr_interactive):
4731         * data.c (Fchar_to_int):
4732         * data.c (Fint_to_char):
4733         * data.c (Fsetcar):
4734         * data.c (Fsetcdr):
4735         * data.c (Fnumber_to_string):
4736         * data.c (Fstring_to_number):
4737         * data.c (Frem):
4738         * database.c (mark_database):
4739         * database.c (finalize_database):
4740         * database.c (Fdatabase_live_p):
4741         * database.c (Fdatabasep):
4742         * device-x.c (Fx_get_resource):
4743         * device.c (Fdfw_device):
4744         * dired.c:
4745         * dired.c (Ffile_name_completion):
4746         * dired.c (Ffile_name_all_completions):
4747         * dired.c (Fuser_name_completion):
4748         * dired.c (Fuser_name_completion_1):
4749         * dired.c (Fuser_name_all_completions):
4750         * doc.c (Fdocumentation):
4751         * doc.c (Fdocumentation_property):
4752         * doc.c (Fsubstitute_command_keys):
4753         * editfns.c:
4754         * editfns.c (Fchar_to_string):
4755         * editfns.c (Fstring_to_char):
4756         * editfns.c (Ftemp_directory):
4757         * editfns.c (Finsert_char):
4758         * editfns.c (Fbuffer_substring_no_properties):
4759         * editfns.c (Fnarrow_to_region):
4760         * editfns.c (Fchar_equal):
4761         * editfns.c (Fchar_Equal):
4762         * editfns.c (Ftranspose_regions):
4763         * emacs.c (Fdump_emacs):
4764         * eval.c (Fthrow):
4765         * eval.c (Fcommand_execute):
4766         * eval.c (Fautoload):
4767         * eval.c (Fbacktrace):
4768         * eval.c (Fbacktrace_frame):
4769         * events.c:
4770         * events.c (Fcopy_event):
4771         * events.c (Fcharacter_to_event):
4772         * events.c (Fevent_button):
4773         * events.c (Fevent_process):
4774         * extents.c:
4775         * extents.c (Fnext_extent_change):
4776         * extents.c (Fextent_property):
4777         * faces.c (Ffacep):
4778         * faces.c (Fmake_face):
4779         * file-coding.c:
4780         * file-coding.c (Fencode_shift_jis_char):
4781         * file-coding.c (Fencode_big5_char):
4782         * fileio.c (Ffile_name_directory):
4783         * fileio.c (Ffile_name_nondirectory):
4784         * fileio.c (Ffile_name_as_directory):
4785         * fileio.c (Fdirectory_file_name):
4786         * fileio.c (Ffile_truename):
4787         * fileio.c (Fsubstitute_in_file_name):
4788         * fileio.c (Ffile_modes):
4789         * fileio.c (Fset_file_modes):
4790         * fileio.c (Fset_default_file_modes):
4791         * fileio.c (Fverify_visited_file_modtime):
4792         * floatfns.c (Facos):
4793         * floatfns.c (Fasin):
4794         * floatfns.c (Fatan):
4795         * floatfns.c (Fcos):
4796         * floatfns.c (Fsin):
4797         * floatfns.c (Ftan):
4798         * floatfns.c (Fbessel_j0):
4799         * floatfns.c (Fbessel_j1):
4800         * floatfns.c (Fbessel_jn):
4801         * floatfns.c (Fbessel_y0):
4802         * floatfns.c (Fbessel_y1):
4803         * floatfns.c (Fbessel_yn):
4804         * floatfns.c (Ferf):
4805         * floatfns.c (Ferfc):
4806         * floatfns.c (Flog_gamma):
4807         * floatfns.c (Fexp):
4808         * floatfns.c (Fexpt):
4809         * floatfns.c (Flog):
4810         * floatfns.c (Flog10):
4811         * floatfns.c (Fsqrt):
4812         * floatfns.c (Fcube_root):
4813         * floatfns.c (Facosh):
4814         * floatfns.c (Fasinh):
4815         * floatfns.c (Fatanh):
4816         * floatfns.c (Fcosh):
4817         * floatfns.c (Fsinh):
4818         * floatfns.c (Ftanh):
4819         * floatfns.c (Fabs):
4820         * floatfns.c (Ffloat):
4821         * floatfns.c (Flogb):
4822         * floatfns.c (Fceiling):
4823         * floatfns.c (Ffloor):
4824         * floatfns.c (Fround):
4825         * floatfns.c (Ftruncate):
4826         * floatfns.c (Ffceiling):
4827         * floatfns.c (Fffloor):
4828         * floatfns.c (Ffround):
4829         * floatfns.c (Fftruncate):
4830         * fns.c (Fstring_equal):
4831         * fns.c (Fstring_lessp):
4832         * fns.c (concat2):
4833         * fns.c (concat3):
4834         * fns.c (vconcat2):
4835         * fns.c (vconcat3):
4836         * fns.c (Fsubstring):
4837         * fns.c (Fassoc):
4838         * fns.c (Fold_assoc):
4839         * fns.c (assoc_no_quit):
4840         * fns.c (Fassq):
4841         * fns.c (Fold_assq):
4842         * fns.c (assq_no_quit):
4843         * fns.c (Frassoc):
4844         * fns.c (Fold_rassoc):
4845         * fns.c (Frassq):
4846         * fns.c (Fold_rassq):
4847         * fns.c (rassq_no_quit):
4848         * fns.c (Fremassoc):
4849         * fns.c (remassoc_no_quit):
4850         * fns.c (Fremassq):
4851         * fns.c (remassq_no_quit):
4852         * fns.c (Fremrassoc):
4853         * fns.c (Fremrassq):
4854         * fns.c (remrassq_no_quit):
4855         * fns.c (Fsort):
4856         * fns.c (Fplist_get):
4857         * fns.c (Fplist_put):
4858         * fns.c (Fplist_remprop):
4859         * fns.c (Fplist_member):
4860         * fns.c (Flax_plist_get):
4861         * fns.c (Flax_plist_put):
4862         * fns.c (Flax_plist_remprop):
4863         * fns.c (Flax_plist_member):
4864         * fns.c (Fequal):
4865         * fns.c (Fold_equal):
4866         * fns.c (Frequire):
4867         * fns.c (Fbase64_encode_region):
4868         * fns.c (Fbase64_encode_string):
4869         * fns.c (Fbase64_decode_region):
4870         * frame.c:
4871         * frame.c (frame_matches_frame_spec):
4872         * frame.c (device_matches_device_spec):
4873         * frame.c (next_frame):
4874         * frame.c (previous_frame):
4875         * frame.c (Fnext_frame):
4876         * frame.c (Fprevious_frame):
4877         * frame.c (Fframe_property):
4878         * frame.c (Fset_frame_height):
4879         * frame.c (Fset_frame_size):
4880         * frame.h:
4881         * glyphs.c:
4882         * glyphs.c (if):
4883         * glyphs.c (decode_error_behavior_flag):
4884         * glyphs.c (Fmake_image_instance):
4885         * indent.c (Findent_to):
4886         * intl.c (Fignore_defer_gettext):
4887         * keymap.c (Fkeymapp):
4888         * keymap.c (Flookup_key):
4889         * lread.c:
4890         * lread.c (Fload_internal):
4891         * lread.c (Feval_buffer):
4892         * lread.c (Feval_region):
4893         * macros.c (Fexecute_kbd_macro):
4894         * marker.c (set_marker_internal):
4895         * marker.c (Fset_marker):
4896         * marker.c (set_marker_restricted):
4897         * marker.c (Fcopy_marker):
4898         * marker.c (noseeum_copy_marker):
4899         * menubar.c:
4900         * menubar.c (Fpopup_menu):
4901         * minibuf.c:
4902         * mule-charset.c (Fcharset_name):
4903         * mule-charset.c (Fchar_charset):
4904         * mule-charset.c (Fchar_octet):
4905         * mule-charset.c (Fsplit_char):
4906         * mule-wnnfns.c (Fwnn_open):
4907         * mule-wnnfns.c (Fwnn_dict_comment):
4908         * mule-wnnfns.c (Fwnn_quit_henkan):
4909         * mule-wnnfns.c (Fwnn_word_toroku):
4910         * mule-wnnfns.c (Fwnn_word_sakujo):
4911         * mule-wnnfns.c (Fwnn_word_use):
4912         * mule-wnnfns.c (Fwnn_hindo_set):
4913         * objects.c:
4914         * objects.c (Fmake_color_instance):
4915         * objects.c (Fmake_font_instance):
4916         * print.c (Fwrite_char):
4917         * process.c:
4918         * process.c (mark_process):
4919         * process.c (print_process):
4920         * process.c (get_process_from_usid):
4921         * process.c (Fprocessp):
4922         * process.c (Fprocess_live_p):
4923         * process.c (Fget_process):
4924         * process.c (Fget_buffer_process):
4925         * process.c (get_process):
4926         * process.c (Fprocess_id):
4927         * process.c (Fprocess_name):
4928         * process.c (Fprocess_command):
4929         * process.c (init_process_io_handles):
4930         * process.c (start_process_unwind):
4931         * process.c (Fstart_process_internal):
4932         * process.c (Fopen_multicast_group_internal):
4933         * process.c (Fset_process_window_size):
4934         * process.c (read_process_output):
4935         * process.c (send_process):
4936         * process.c (Fprocess_tty_name):
4937         * process.c (Fset_process_buffer):
4938         * process.c (Fprocess_buffer):
4939         * process.c (Fprocess_mark):
4940         * process.c (set_process_filter):
4941         * process.c (Fset_process_filter):
4942         * process.c (Fprocess_filter):
4943         * process.c (Fprocess_send_region):
4944         * process.c (Fprocess_send_string):
4945         * process.c (exec_sentinel):
4946         * process.c (Fset_process_sentinel):
4947         * process.c (Fprocess_sentinel):
4948         * process.c (status_notify):
4949         * process.c (Fprocess_status):
4950         * process.c (Fprocess_exit_status):
4951         * process.c (process_send_signal):
4952         * process.c (Fprocess_send_eof):
4953         * process.c (deactivate_process):
4954         * process.c (remove_process):
4955         * process.c (Fdelete_process):
4956         * process.c (kill_buffer_processes):
4957         * process.c (Fprocess_kill_without_query):
4958         * process.c (Fprocess_kill_without_query_p):
4959         * rangetab.c:
4960         * rangetab.c (Fget_range_table):
4961         * rangetab.c (Fput_range_table):
4962         * rangetab.c (Fremove_range_table):
4963         * rangetab.c (Fclear_range_table):
4964         * search.c:
4965         * search.c (Fskip_chars_forward):
4966         * search.c (Fskip_chars_backward):
4967         * search.c (Fskip_syntax_forward):
4968         * search.c (Fskip_syntax_backward):
4969         * search.c (search_command):
4970         * search.c (Freplace_match):
4971         * search.c (Fregexp_quote):
4972         * select.c (Fown_selection_internal):
4973         * select.c (Fselection_owner_p):
4974         * select.c (Fselection_exists_p):
4975         * select.c (Fget_selection_internal):
4976         * specifier.c:
4977         * symbols.c:
4978         * symbols.c (Fintern):
4979         * symbols.c (Fintern_soft):
4980         * symbols.c (Funintern):
4981         * symbols.c (Fapropos_internal):
4982         * symbols.c (Fset_default):
4983         * syntax.c:
4984         * syntax.c (Fsyntax_table_p):
4985         * syntax.c (Fcopy_syntax_table):
4986         * syntax.c (Fset_syntax_table):
4987         * syntax.c (Fchar_syntax):
4988         * syntax.c (syntax_match):
4989         * syntax.c (Fmatching_paren):
4990         * syntax.c (Fforward_word):
4991         * syntax.c (scan_lists):
4992         * syntax.c (Fscan_lists):
4993         * syntax.c (Fscan_sexps):
4994         * syntax.c (Fparse_partial_sexp):
4995         * toolbar.c (Fcheck_toolbar_button_syntax):
4996         * tooltalk.doc:
4997         * window.c:
4998         * window.c (Fwindowp):
4999         * window.c (Fwindow_live_p):
5000         * window.c (Fwindow_point):
5001         * window.c (Fdelete_window):
5002         * window.c (Fnext_window):
5003         * window.c (Fprevious_window):
5004         * window.c (Fother_window):
5005         * window.c (window_loop):
5006         * window.c (Fget_lru_window):
5007         * window.c (Fsplit_window):
5008         * window.c (Fenlarge_window):
5009         * window.c (Fenlarge_window_pixels):
5010         * window.c (Fshrink_window):
5011         * window.c (Fshrink_window_pixels):
5012         * window.c (change_window_height):
5013         * window.c (Fwindow_configuration_p):
5014         * window.c (Fcurrent_window_configuration):
5015         * window.h:
5016         * casefiddle.c (casify_object):
5017         * casefiddle.c (Fupcase):
5018         * casefiddle.c (Fdowncase):
5019         * casefiddle.c (Fcapitalize):
5020         * casefiddle.c (Fupcase_initials):
5021         * casefiddle.c (casify_region_internal):
5022         * casefiddle.c (casify_region):
5023         * casefiddle.c (Fupcase_region):
5024         * casefiddle.c (Fdowncase_region):
5025         * casefiddle.c (Fcapitalize_region):
5026         * casefiddle.c (Fupcase_initials_region):
5027         * casefiddle.c (Fupcase_word):
5028         * casefiddle.c (Fdowncase_word):
5029         * casefiddle.c (Fcapitalize_word):
5030         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
5031         Replace 0 with '\0' when working with bytes.
5032         Replace initial "(" with "\(" in docstrings.
5033
5034 2000-11-01  Martin Buchholz  <martin@xemacs.org>
5035
5036         * config.h.in: Handle alloca with Compaq C on Alpha Linux.
5037
5038         * m/alpha.h: Let configure handle SYSTEM_MALLOC on Linux.
5039
5040 2000-10-31  Martin Buchholz  <martin@xemacs.org>
5041
5042         * eldap.c (print_ldap): 64-bit cleaner.  Fixes warning.
5043
5044 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
5045
5046         * doprnt.c (emacs_do_prnt_1): Format (format "%01.2d" 10)
5047         correctly.
5048
5049 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
5050
5051         * fileio.c (Vauto_save_list_file_prefix): Moved from startup.el.
5052         (inhibit_auto_save_session): New variable.
5053         (vars_of_fileio): Declare and initialize them.
5054         * fileio.c (Fdo_auto_save): Don't create session file if
5055         Vinhibit_auto_save_session or Vauto_save_list_file_prefix is non-nil.
5056
5057 2000-10-31  Martin Buchholz  <martin@xemacs.org>
5058
5059         * sgiplay.c (play_internal): C++ compilability.
5060         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Remove unused var `SFTB_prev'.
5061         * callproc.c (Fold_call_process_internal):
5062         Remove unused vars `env', `first'.
5063         * scrollbar.c (update_scrollbar_instance):
5064         #### unused var `current_window'.
5065         * redisplay-tty.c: Put currently unused vars insert_mode_on,
5066         etc. within #ifdef NOT_YET.
5067         * emacs.c: #### unused vars `initial_argc', `initial_argv'.
5068         * dialog-x.c (dbox_descriptor_to_widget_value): ### unused var `title'.
5069         * specifier.c (specifier_instance):
5070         #### unused var `tag'.
5071         Use WINDOW_BUFFER, FRAME_DEVICE instead of their expansion.
5072
5073 2000-10-27  Martin Buchholz  <martin@xemacs.org>
5074
5075         * fns.c (Fbutlast):
5076         * fns.c (list_sort):
5077         * fns.c (Ffillarray):
5078         * fns.c (bytecode_nconc2):
5079         * fns.c (Fnconc):
5080         * fns.c (mapcar1):
5081         * fns.c (Fmapconcat):
5082         Be pedantically 64-bit correct.  For the time when someone will
5083         want to have a list with length > 2**32.
5084
5085         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
5086         Work around MIPSpro compiler bug.
5087
5088         * process-unix.c (unix_kill_child_process): Add snarky comment.
5089         * process-unix.c (try_to_initialize_subtty):  Oops, `=' ==> `=='
5090
5091         * config.h.in: Oops, _getpt ==> _getpty
5092
5093 2000-10-26  Martin Buchholz  <martin@xemacs.org>
5094
5095         * config.h.in:
5096         * regex.c:
5097         Use void*, not char*, as return type of alloca().
5098
5099         * alloc.c (free_marker): Side effect inside assert expression!
5100
5101 2000-10-16  MIYASHITA Hisashi  <himi@m17n.org>
5102
5103         * mule-charset.c (Fset_charset_ccl_program): To check
5104         if the given ccl program is valid, use setup_ccl_program()
5105         instead of CHECK_VECTOR().
5106         (Fmake_charset): Likewise.
5107
5108 2000-10-20  Golubev I. N.  <gin@mo.msk.ru>
5109
5110         * faces.c (get_extent_fragment_face_cache_index):
5111         Fix cachel.merged_faces memory leak.
5112
5113 2000-10-14  MIYASHITA Hisashi  <himi@m17n.org>
5114
5115         * mule-ccl.c (ccl_driver)<CCL_DECODE_SJIS>:
5116         Reset MSB of octets obtained by DECODE_SJIS
5117         because of the incompatibility with Emacs.
5118         (ccl_driver)<CCL_ENCODE_SJIS>:
5119         Set MSB of octets before passing them to
5120         ENCODE_SJIS because of the incompatibility
5121         with Emacs.
5122
5123 2000-10-18   Daiki Ueno  <ueno@unixuser.org>
5124
5125         * lrecord.h (DECLARE_TYPECHECK_LRECORD): Abolish.
5126         (DECLARE_LRECORD): Undo the last change.
5127         (DECLARE_EXTERNAL_LRECORD): Expand typechecking stuff.
5128
5129 2000-10-17   Daiki Ueno  <ueno@unixuser.org>
5130
5131         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Connect
5132         the implementation to lrecord_implementations_table.
5133
5134 2000-10-14   Daiki Ueno  <ueno@unixuser.org>
5135
5136         * lrecord.h (MAKE_EXTERNAL_LRECORD_IMPLEMENTATION): Don't set the
5137         initial value of `lrecord_type_##c_name' and
5138         `lrecord_##c_name.lrecord_type_index'; discard "const" qualifier.
5139         (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): New macro.
5140         [ERROR_CHECK_TYPECHECK] (DECLARE_TYPECHECK_LRECORD): New macro.
5141         [ERROR_CHECK_TYPECHECK] (DECLARE_LRECORD): Use it.
5142         [ERROR_CHECK_TYPECHECK] (DECLARE_EXTERNAL_LRECORD): Use it.
5143
5144 2000-10-17  Martin Buchholz  <martin@xemacs.org>
5145
5146         * miscplay.c (sndcnv8S_2mono):
5147         (sndcnv2monounsigned):
5148         (sndcnvULaw_2linear):
5149         (sndcnv16swap):
5150         Remove implementation-defined behavior.
5151
5152 2000-10-12  Martin Buchholz  <martin@xemacs.org>
5153
5154         * input-method-xlib.c: Warning suppression.
5155
5156 2000-10-05  MIYASHITA Hisashi  <himi@m17n.org>
5157
5158         * mule-ccl.c: Sync up with Emacs 21.0.90.
5159         (ccl_driver)<CCL_TranslateCharacter>: Disabled.
5160         Do nothing.
5161         (ccl_driver)<CCL_TranslateCharacterConstTbl>:
5162         Likewise.
5163         (ccl_driver[WriteMultibyteChar2]): Bug fix.
5164         Use MAX_LEADING_BYTE_OFFICIAL_2 instead of
5165         MIN_LEADING_BYTE_OFFICIAL_2 to check whether the
5166         leading char belongs to official 2-dimensional charset.
5167         (CCL_WRITE_CHAR): When CCL_MODE_ENCODING,
5168         write the given character as is.  Otherwise,
5169         if it is a multibyte char, convert it by
5170         non_ascii_set_charptr_emchar, then write it.
5171         (CCL_WRITE_STRING): Likewise.
5172         (ccl_get_compiled_code): New function.
5173         (setup_ccl_program): When ccl_prog is invalid,
5174         return -1.
5175         (Fregister_code_conversion_map): New function.
5176         (syms_of_mule_ccl): defsubr Fregister_code_conversion_map.
5177
5178         * mule-ccl.h: Sync up with Emacs 21.0.90.
5179         (Fregister_ccl_program): export it.
5180
5181         * redisplay-msw.c (separate_textual_runs):
5182         If ccl program is not valid, don't do ccl conversion.
5183
5184         * redisplay-x.c (separate_textual_runs): Ditto.
5185
5186         * file-coding.c (Fmake_coding_system):
5187         When type is ccl and value is vector, register it
5188         with a proper symbol.  And checks whether the
5189         given ccl program is valid.
5190         (mule_decode): When calling ccl_driver, if src indicates
5191         NULL pointer, set an empty string instead.
5192         (mule_encode): Likewise.
5193
5194 2000-10-11  Martin Buchholz  <martin@xemacs.org>
5195
5196         The following large batch of changes gets us back to a state of
5197         C++ compilability.  Extbyte is now a char, which means that
5198         Extbyte * and Bufbyte * cannot be freely interchanged - a win!
5199
5200         * tooltalk.c (Fset_tooltalk_message_attribute): Type correctness.
5201
5202         * sound.c (Fplay_sound): Type correctness.
5203
5204         * select-x.c (hack_motif_clipboard_selection): Type correctness.
5205         (x_get_window_property): Type correctness.
5206         (receive_incremental_selection): unsigned char ==> Extbyte
5207         (selection_data_to_lisp_data): unsigned char ==> Extbyte
5208         (Fx_get_cutbuffer_internal): unsigned char ==> Extbyte
5209         (Fx_store_cutbuffer_internal): Type correctness.
5210
5211         * process-unix.c (try_to_initialize_subtty): Type correctness.
5212
5213         * objects-x.c (x_print_color_instance): Type correctness.
5214         (x_print_font_instance): Type correctness.
5215         (x_list_fonts): SExtbyte ==> Extbyte.
5216         (valid_x_font_name_p): SExtbyte ==> Extbyte.
5217         (x_find_charset_font): SExtbyte ==> Extbyte.
5218         Use TO_INTERNAL_FORMAT.  build_string ==> make_string.
5219         (truename_via_XListFonts): SExtbyte ==> Extbyte.
5220         (x_font_instance_properties): Use TO_INTERNAL_FORMAT.
5221         Use bufbyte_strcmp.
5222
5223         * mule-charset.h (LEADING_BYTE_PREFIX_P): unsigned char ==> Bufbyte
5224         (PRIVATE_LEADING_BYTE_PREFIX): Add paranoia cast.
5225         (BYTE_ASCII_P): Use bit ops for char-signedness safety.
5226         (BYTE_C0_P): Use bit ops for char-signedness safety.
5227         (BYTE_C1_P): Use bit ops for char-signedness safety.
5228         (CHARSET_BY_LEADING_BYTE):
5229         (CHARSET_BY_ATTRIBUTES):
5230         Always use inline function.
5231         Use type_checking_assert.
5232         Hide chlook.
5233
5234         * mule-charset.c (non_ascii_charptr_copy_char):
5235         Modify to work with both ASCII and non-ASCII characters.
5236         Improve docs and variable names.
5237         Replace over-clever fall-through switch with a simple loop.
5238         (Lstream_get_emchar_1):
5239         Replace over-clever fall-through switch with a simple loop.
5240
5241         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
5242         Warning suppression.
5243
5244         * lstream.h (Lstream_get_emchar): BYTE_ASCII_P cannot be used on
5245         the return value of Lstream_getc, which could be EOF as well.
5246
5247         * lstream.c (Lstream_raw_read): Now returns ssize_t, not int.
5248
5249         * lisp.h: Make Extbyte a char, not unsigned char, so that external
5250         APIs can be used on Extbytes without casts.  Risky!
5251         (SExtbyte): Remove.
5252         (UExtbyte): Remove.
5253
5254         * input-method-xlib.c (XIM_init_device):
5255         Use Xlib.h instead of IntrinsicP.h.
5256         Use HAVE_XREGISTERIMINSTANTIATECALLBACK instead of THIS_IS_X11R6,
5257         which will break in X11R7.
5258         Use XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE,
5259         to call XRegisterIMInstantiateCallback with correct types.
5260
5261         * gui-x.c (button_item_to_widget_value): Type correctness.
5262
5263         * glyphs.c (bitmap_to_lisp_data):  Type correctness.
5264
5265         * glyphs-x.c (pixmap_from_xbm_inline): Type correctness.
5266         (xbm_instantiate_1): Type correctness.
5267         (BUILD_GLYPH_INST):  Type correctness.
5268
5269         * fileio.c (Fsubstitute_in_file_name): Type correctness.
5270
5271         * file-coding.c:
5272         (decode_coding_sjis):
5273         (decode_coding_big5):
5274         (decode_coding_ucs4):
5275         (decode_coding_utf8):
5276         (decode_coding_iso2022):
5277         (decode_coding_no_conversion):
5278         Make all decoding functions take an Extbyte * arg.
5279         (encode_coding_sjis):
5280         (encode_coding_big5):
5281         (encode_coding_ucs4):
5282         (encode_coding_utf8):
5283         (encode_coding_iso2022):
5284         (encode_coding_no_conversion):
5285         Make all encoding functions take a Bufbyte * arg.
5286         Use size_t instead of unsigned int for memory sizes.
5287         Only cast to unsigned char whenever dereferencing Extbyte *.
5288
5289         * doc.c (unparesseuxify_doc_string): Type correctness.
5290
5291         * console-x.c (split_up_display_spec):
5292         Rewrite without using details of internal string representation.
5293         (x_semi_canonicalize_device_connection): Type correctness.
5294
5295         * config.h.in:
5296         (HAVE_XREGISTERIMINSTANTIATECALLBACK): New.
5297         (XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE): New.
5298         (HAVE_XFREE386): Removed.
5299
5300         * buffer.h (DEC_CHARPTR): `const' correctness.
5301         (bufbyte_strcmp): New.
5302         (bufbyte_memcmp): New.
5303
5304         * buffer.c (dfc_convert_to_internal_format): Extbyte ==> Bufbyte
5305
5306         * buffer.h (XCHAR_OR_CHAR_INT):
5307         Always use inline function.
5308         Remove redundant type checking assert() - XINT will abort quite nicely.
5309
5310 2000-10-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
5311
5312         * search.c (Freplace_match): Set newtext to an empty string.
5313
5314 2000-10-10  Martin Buchholz  <martin@xemacs.org>
5315
5316         * s/decosf1-3.h: Remove #include of stropts.h
5317         * s/ptx.h: Remove #include of stropts.h
5318         * s/usg5-4.h: Remove #include of stropts.h
5319         * sysproc.h:
5320         * config.h.in:
5321         Use stropts.h, not sys/stropts.h.
5322         Use strtio.h, not sys/strtio.h.
5323
5324 2000-10-04  Martin Buchholz <martin@xemacs.org>
5325
5326         * XEmacs 21.2.36 is released.
5327
5328 2000-09-21  Andy Piper  <andy@xemacs.org>
5329
5330         * glyphs-x.c (x_redisplay_widget): make sure non-structural
5331         changes still involve copying the widget tree.
5332         (update_widget_face): make sure a change is register in the widget
5333         tree. Call update_tab_widget_face appropriately.
5334         (update_tab_widget_face): ditto.
5335         (x_tab_control_redisplay): make sure non-structural changes still
5336         involve copying the widget tree.
5337
5338 2000-08-31   Daiki Ueno  <ueno@unixuser.org>
5339
5340         * lread.c (locate_file): Check the path element is non-nil.
5341
5342 2000-10-02  Martin Buchholz  <martin@xemacs.org>
5343
5344         * lisp.h: Warning suppression for SCO compilers.
5345
5346         * redisplay-tty.c (reset_tty_modes): Fix crash.
5347         E.g. from xemacs running on X: (delete-device (make-device 'tty nil))
5348
5349 2000-09-27  Martin Buchholz  <martin@xemacs.org>
5350
5351         Big signal/process handling overhaul.  Bugs fixed:
5352         M-x shell, type `sleep 10000', M-x comint-interrupt-subjob and
5353         M-x comint-kill-subjob should work for both values nil and t of
5354         process-connection-type. It was broken on most platforms.
5355         Testing on Irix and Cygwin still needed.  Other plaforms tested.
5356         * sysdep.c: Move #include of stropts.h into sysproc.h.  Use pid_t.
5357         * process-unix.c: Signal/Process handling overhaul.
5358         (pty_name): make 64 bytes, as `expect' does, for paranoia.
5359         (allocate_pty): Use all available modern methods of allocating
5360         ptys, falling back to old style BSD allocation as a last resort.
5361         Use allegedly more secure Unix98 pty allocation by default.
5362         (allocate_pty_the_old_fashioned_way): New. the last resort.
5363         (unix_create_process): Push ptem, ldterm, ttcompat where
5364         available.  Autoconfiscate.
5365         (try_to_initialize_subtty): New.
5366         (unix_kill_child_process): Proper signal handling for ptys on most
5367         platforms, using special knowledge of AIX, BSD, etc...
5368         (unix_create_process): Always disconnect_controlling_terminal() for
5369         subprocesses, whether using ptys or not.
5370         * process.h: Remove old getpt-dependent PTY code.
5371         * process.c (Fprocess_send_signal): New, obvious generic function.
5372         (decode_signal): New.
5373         (Finterrupt_process):
5374         (Fkill_process):
5375         (Fquit_process):
5376         (Fstop_process):
5377         (Fcontinue_process):
5378         (Fsignal_process): Use decode_signal.
5379         (process_send_signal):
5380         Many docstring corrections.
5381         Allow any signal to be sent to a process object.
5382         * config.h.in: Add symbols for big signal/process overhaul.
5383         * syssignal.h (EMACS_KILLPG): Use HAVE_KILLPG. Use `pid', not `gid'.
5384         * sysproc.h: Include process-related headers, where available:
5385         sys/stropts.h sys/strtio.h pty.h libutil.h
5386         * s/irix4-0.h:
5387         * s/irix5-0.h:
5388         * s/cygwin32.h:
5389         * s/gnu.h:
5390         * s/linux.h:
5391         * s/hpux.h:
5392         * s/aix3-1.h:
5393         Remove old S&M pty stuff.
5394         * console-tty.c (tty_init_console): Use pid_t, not int, for pids.
5395         * systty.h: Simplify cpp hackery, improve comments.
5396         Favor BSD ioctl(TIOCGPGRP) over Posix tcgetpgrp().
5397
5398         * editfns.c (Fformat_time_string):
5399         Be a little more paranoid with the return value of ctime.
5400
5401         * fileio.c (check_executable):
5402         (check_writable):
5403         Use symbolic constants X_OK, W_OK.
5404
5405         * console-x.c (split_up_display_spec): Fix a warning.
5406
5407 2000-10-02  Martin Buchholz  <martin@xemacs.org>
5408
5409         * gui-x.c (add_accel_and_to_external): strlen ==> XSTRING_LENGTH
5410         * ntproc.c (sys_spawnve): make_string ==> build_string
5411         Small clarity improvements.
5412
5413 2000-09-30  Martin Buchholz  <martin@xemacs.org>
5414
5415         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY): Warning removal.
5416
5417         * s/windowsnt.h (HAVE_STRCASECMP): Remove.
5418
5419         * config.h.in (HAVE_STRCASECMP): Remove.
5420
5421 2000-09-29  Martin Buchholz  <martin@xemacs.org>
5422
5423         * redisplay-output.c (redisplay_output_pixmap):
5424         Cleaner and possibly more 64-bit correct code.
5425
5426 2000-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
5427
5428         * dumper.c (pdump_load_finish): move restoration of
5429         `noninteractive1' to emacs.c (main_1).
5430         * emacs.c (main_1): protect LISP-visible command-line flags
5431         from pdump_load().
5432
5433 2000-09-26  Stephen J. Turnbull  <stephen@xemacs.org>
5434
5435         * Makefile.in.in (versionclean):  Use EXE_TARGET and
5436         DUMP_TARGET instead of literal program names.
5437
5438 2000-09-20  Martin Buchholz  <martin@xemacs.org>
5439
5440         * Makefile.in.in: Recent purify's require absolute paths for cache-dir.
5441
5442 2000-09-19  Martin Buchholz  <martin@xemacs.org>
5443
5444         * *: Spelling mega-patch
5445
5446 2000-09-19  Martin Buchholz  <martin@xemacs.org>
5447
5448         * fns.c (bad_bad_turtle):
5449         Delete "Eek!" comment, since we fixed the bug to which it refers.
5450
5451 2000-09-16  Martin Buchholz  <martin@xemacs.org>
5452
5453         * alloca.c: Replace REGISTER with register.
5454
5455 2000-09-16   Daiki Ueno  <ueno@unixuser.org>
5456
5457         * file-coding.c (ucs_to_char): Use countof.
5458
5459 2000-09-16  Martin Buchholz  <martin@xemacs.org>
5460
5461         * file-coding.c: (ucs_to_char):
5462         (complex_vars_of_file_coding):
5463         Use countof instead of sizeof.
5464         Use CHECK_NATNUM instead of CHECK_INT.
5465
5466         * sysdep.c (strcasecmp): Remove.
5467         * device-x.c (ascii_strcasecmp): New.
5468         * device-x.c (Fx_get_resource): Use ascii_strcasecmp.
5469         Avoid using non-standard non-portable strcasecmp.
5470
5471 2000-09-16  Martin Buchholz  <martin@xemacs.org>
5472
5473         * Makefile.in.in (mostlyclean): remove reference to prefix-args.
5474         * font-lock.c: remove reference to emacsfns.h.
5475         * search.c: small doc improvement.
5476         * event-Xt.c: correct file names in comments.
5477         * console-x.h Correct file names in comments.
5478         * frame.c: Correct file names in comments.
5479         * event-stream.c: remove Energize from comments.
5480
5481 2000-09-15  Martin Buchholz  <martin@xemacs.org>
5482
5483         * symeval.h (DEFERROR_STANDARD):
5484         (DEFERROR):
5485         (DEFSYMBOL):
5486         (DEFSYMBOL_NO_DUMP):
5487         (DEFSYMBOL_MULTIWORD_PREDICATE):
5488         (DEFSYMBOL_MULTIWORD_PREDICATE_NO_DUMP):
5489         (DEFKEYWORD):
5490         The construct &##name is not sensible C.
5491         Fixes compilation errors with Unixware native compiler.
5492
5493 2000-09-14  Martin Buchholz  <martin@xemacs.org>
5494
5495         * frame.c (device_matches_console_spec): no longer takes a `frame' arg
5496         (next_frame_internal): Removed.  We now just have next_frame.
5497         (next_frame):
5498         Write a simpler and cleaner one-pass algorithm.
5499         Remove called_from_delete_device arg and #ifdefed-out code.
5500         (previous_frame):
5501         Renamed from prev_frame.  Update callers.
5502         Cleaned up to have an analogous implementation to next_frame.
5503         (other_visible_frames_internal): Remove the
5504         called_from_delete_device bogus arg, and hence, remove this
5505         function.  Just use other_visible_frames().
5506
5507         * window.c (Fnext_window):
5508         Prettify docstring.
5509         Since next_frame() is guaranteed to return a frame, remove check
5510         for nil inserted in previous patch.
5511         (Fprevious_window):
5512         Prettify docstring.
5513         Make code look more like Fnext_window.
5514         (window_loop):
5515         Respect the `console' arg when iterating through windows.
5516         Fixes bug: (get-buffer-window buffer t device) not respecting
5517         the `device' arg.
5518         This function needs more work, as others have pointed out.
5519
5520         * frame.h: Rename prev_frame to previous_frame.
5521         device_matches_console_spec no longer takes a `frame' arg.
5522
5523         * s/gnu.h:
5524         * s/linux.h:
5525         * s/hpux.h:
5526         Use EMACS_BLOCK_SIGNAL instead of sigblock.
5527         From "Golubev I. N." <gin@mo.msk.ru>.
5528
5529         * make-src-depend: Fix typo.
5530
5531 2000-09-13  Martin Buchholz  <martin@xemacs.org>
5532
5533         * window.c (Fnext_window):
5534         next_frame() might return nil, not a frame.
5535         Fixes this crash:
5536         (gdb) run -eval '(progn  (make-device (quote x) "polgar:0") (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
5537
5538         * frame.c (next_frame_internal):
5539         We've passed a frame if we've passed its device.
5540         Fixes this crash:
5541         (gdb) run -eval '(progn (make-frame nil (make-device (quote x) "polgar:0")) (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
5542 Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245, RECORD_TYPEP (obj, lrecord_type_frame)
5543
5544 2000-09-11  Jonathan Harris  <jhar@tardis.ed.ac.uk>
5545
5546         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
5547         Allow option to suppress accelerators in menu/dialog items.
5548         (populate_or_checksum_helper): Pass dialog title through above.
5549
5550 2000-09-10  Jonathan Harris  <jhar@tardis.ed.ac.uk>
5551
5552         * event-msw.c (mswindows_key_to_emacs_keysym):
5553         Add "pause" key, fix "menu" key.
5554
5555 2000-09-09  Martin Buchholz  <martin@xemacs.org>
5556
5557         * eval.c (reinit_vars_of_eval):
5558         Increase max_lisp_eval_depth to 1000,
5559         required for thai-xtis.el to byte-compile under some circumstances.
5560
5561 2000-09-04  Martin Buchholz  <martin@xemacs.org>
5562
5563         * event-Xt.c (x_to_emacs_keysym): Increase size of `buffer' to 513.
5564         From Kenichi Handa.
5565
5566 2000-09-01  Martin Buchholz  <martin@xemacs.org>
5567
5568         * make-src-depend: Make the generated Makefiles smaller.
5569
5570         * s/hpux.h (SETUP_SLAVE_PTY):
5571         Provide a %d in the format string for the errno argument.
5572
5573         * editfns.c (Ftemp_directory):
5574         Warning fix.
5575         Avoid buffer overrun on very long file name.
5576
5577         * input-method-xlib.c (XIM_init_device):
5578         6th parameter of XRegisterIMInstantiateCallback has different
5579         pointer types on different OSes, so simply cast to (void *).
5580
5581         * unexhp9k800.c: Warning fixes.  Fiddly changes.
5582
5583         * sysdll.c (dll_open):
5584         shl_load will hang hard if passed a NULL filename.
5585         Simply return NULL for compatibility with dlopen.
5586         * sysdll.c: Conform to XEmacs coding standards.
5587
5588         * sysdep.c (get_pty_max_bytes):
5589         Support pty input lines longer than 512 bytes on HP-UX 10.20.
5590
5591 2000-08-31  Martin Buchholz  <martin@xemacs.org>
5592
5593         * tooltalk.c: Add #include <syssignal.h>
5594
5595 2000-08-12  Alexandre Oliva  <aoliva@redhat.com>
5596
5597         * s/hpux.h: Don't use undefined function sigunblock().
5598
5599 2000-08-31  Martin Buchholz  <martin@xemacs.org>
5600
5601         * config.h.in: Add HAVE_BALLOON_HELP.
5602         * emacs.c: Use HAVE_BALLOON_HELP.
5603         * Makefile.in.in (x_objs):
5604         Make Balloon Help conditional on finding shape.h.
5605
5606 2000-08-23  Yoshiki Hayashi  <yoshiki@xemacs.org>
5607
5608         * syntax.c (regex_emacs_buffer_p): New variable.
5609         * syntax.h (regex_emacs_buffer_p): extern.
5610         * search.c (looking_at_1):
5611         (string_match_1):
5612         (fast_string_match):
5613         (search_buffer): Set regex_emacs_buffer_p.
5614         * regex.c (re_match_2_internal): Reference regex_emacs_buffer_p
5615         when before_dot, at_dot, after_dot.
5616
5617 2000-08-23  Andy Piper  <andy@xemacs.org>
5618
5619         * gui-x.c (popup_selection_callback): Only set action_occurred
5620         when we really have an image instance.
5621         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
5622
5623 2000-08-23  Andy Piper  <andy@xemacs.org>
5624
5625         * gui-msw.c (mswindows_handle_gui_wm_command): set
5626         action_occurred.
5627         * gui-x.c (popup_selection_callback): ditto.
5628
5629         * glyphs.h (IMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): new accessor.
5630         (XIMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): ditto.
5631         (struct Lisp_Image_Instance): add action_occurred flag.
5632
5633         * glyphs.c (redisplay_subwindow): use action_occurred flag.
5634         (image_instance_changed): ditto.
5635         (reset_frame_subwindow_instance_cache): only unmap windows - do
5636         not remove them from the cache also.
5637
5638         * glyphs-widget.c (tab_control_update): better debug.
5639         (progress_gauge_update): ditto.
5640         (layout_update): ditto.
5641         (layout_instantiate): ditto.
5642         (tab_control_order_only_changed): cope with null pending items.
5643
5644         * glyphs-msw.c (mswindows_tab_control_redisplay): add better
5645         debug. Force selection of an item when an action occurred. Cope
5646         with null pending_items.
5647         (mswindows_progress_gauge_redisplay): better debug.
5648         * glyphs-x.c (x_tab_control_redisplay): ditto.
5649
5650         * redisplay.c (redisplay_frame): reset the frame cache if the
5651         frame is garbaged.
5652
5653         * window.c (Fset_window_configuration): potentially re-enable
5654         frame cache reset.
5655         (window_unmap_subwindows): need to finalize instances here since
5656         it is only used in mark_window_as_deleted.
5657
5658 2000-08-22  Stephen J. Turnbull  <stephen@xemacs.org>
5659
5660         * nas.c (SndOpenDataForReading):
5661         nas.c (WaveOpenDataForReading):
5662         nas.c (readChunk): {BIG,LITTLE}_ENDIAN -> NAS_{BIG,LITTLE}_ENDIAN.
5663         Somehow escaped from the 2000-08-14 patch.
5664
5665 2000-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
5666
5667         * nas.c:  Preprocessor trickery to use NAS_LITTLE_ENDIAN instead
5668         of LITTLE_ENDIAN (conflicts with glibc, at least) in NAS <= 1.2p5.
5669
5670 2000-08-21  Andy Piper  <andy@xemacs.org>
5671
5672         * glyphs-x.c (x_map_subwindow): Minor optimization - only map the
5673         window if it is not already displayed.
5674
5675         * glyphs-msw.c (mswindows_map_subwindow): only map the window if
5676         it is not already displayed.
5677
5678         * window.c (Fset_window_configuration): don't reset the frame
5679         cache.
5680
5681         * glyphs.c (unmap_subwindow_instance_cache_mapper): only remove
5682         instances from the frame cache if we are actually finalizing them.
5683         (reset_frame_subwindow_instance_cache): reset frame cache only
5684         after unmapping everything.
5685         (map_subwindow): set displayed flag after mapping.
5686
5687 2000-08-21  Martin Buchholz  <martin@xemacs.org>
5688
5689         * data.c (indirect_function):
5690         Rename ERRORP to non-misleading VOID_FUNCTION_ERRORP.
5691
5692         * eval.c (function_argcount):
5693         Use original function when signaling errors.
5694
5695 2000-08-18  Andy Piper  <andy@xemacs.org>
5696
5697         * frame.c (delete_frame_internal): use new
5698         free_frame_subwindow_instances name.
5699
5700         * glyphs-msw.c (mswindows_tab_control_instantiate): verify index.
5701         (add_tab_item): make return type correct.
5702         (mswindows_tab_control_instantiate): assert index of tab.
5703         (mswindows_tab_control_redisplay): Re-code to use
5704         gui_item_equal_sans_selected and gui_item_list_find_selected.
5705
5706         * glyphs-widget.c (tab_control_update): Correct comment.
5707
5708         * window.c (window_unmap_subwindows): use new
5709         unmap_subwindow_instance_cache_mapper.
5710         (window_unmap_subwindows_cache_mapper): deleted.
5711         (Fset_window_configuration): comparisons should now be with
5712         EQ. Preserve the subwindow instance cache across configuration
5713         changes.
5714         (allocate_window): ditto.
5715         (make_dummy_parent): ditto.
5716
5717         * glyphs.c (free_frame_subwindow_instances): rename from
5718         free_frame_subwindow_instance_cache. finalize all instances rather
5719         than just those in the display cache.
5720         (finalize_all_subwindow_instances): walk windows unmapping and
5721         finalizing subwindows.
5722         (unmap_subwindow_instance_cache_mapper): moved from
5723         window.c. Allow finalization as well as unmapping.
5724
5725         * gui.c (gui_item_list_find_selected): new function.
5726
5727         * gui.h (gui_item_list_find_selected): declare.
5728
5729         * glyphs-x.c (x_tab_control_redisplay): pick tab
5730         explicitly. Re-code to use gui_item_equal_sans_selected and
5731         gui_item_list_find_selected.
5732
5733         * glyphs-x.h: add lwlib-utils.h
5734
5735         * buffer.c (Frecord_buffer): undo previous change.
5736
5737 2000-08-09  Vin Shelton  <acs@xemacs.org>
5738
5739         * config.h.in, s/gnu.h, s/hpux.h, s/linux.h: Use UNIX98 PTYs if
5740         possible.  Create temporary files more securely.  The patch was
5741         generated by Torsten Duwe <duwe@caldera.de>, Florian Weimer
5742         <Florian.Weimer@RUS.Uni-Stuttgart.DE> and Olaf Kirch.  See
5743         http://www.xemacs.org/list-archives/xemacs-patches/200007/msg00123.html
5744         for details.
5745
5746 2000-08-07  Ben Wing  <ben@xemacs.org>
5747
5748         * getloadavg.c: remove duplicate (and windows-breaking)
5749         includes of fcntl.h and sys/file.h.
5750
5751         * nt.c: remove duplicate getloadavg() definition.
5752
5753         * sysdll.h (Qdll_filename_encoding): add missing stand-in
5754         encodings.
5755
5756 2000-08-07  Gunnar Evermann  <ge204@eng.cam.ac.uk>
5757
5758         * eval.c (function_argcount): If function needs to be autoloaded
5759         actually use the loaded definition.
5760         GCPRO function.
5761
5762 2000-08-05  Ben Wing  <ben@xemacs.org>
5763
5764         * getloadavg.c: add prototype for getloadavg().  remove
5765         duplicate WIN32_NATIVE/CYGWIN code (already in the middle
5766         of the code).  remove duplicate header includes.
5767
5768         * s\cygwin32.h, s\mingw32.h: remove stray NO_ARG_ARRAY.
5769
5770         * s\cygwin32.h, s\mingw32.h, m\windowsnt.h:
5771         don't define LOAD_AVE_TYPE/LOAD_AVE_CVT because we have no
5772         useful load average.
5773
5774         * alloc.c (reinit_alloc_once_early): removed references to
5775         VIRT_ADDR_VARIES, malloc_sbrk_used/free, and data-bytes-used/free.
5776         the lisp vars are the only things referencing the malloc_sbrk_*
5777         vars, and they were already if 0'd out.  these vars only exist
5778         in the older malloc.c, which is basically unused, and they're
5779         only for informational purposes.
5780
5781         * m\*.h: removed useless VIRT_ADDR_VARIES.
5782
5783         * m\powerpc.h: removed stray NO_ARG_ARRAY.
5784
5785 2000-04-26  IKEYAMA Tomonori  <tomonori@suiyokai.org>
5786
5787         * redisplay-msw.c (mswindows_output_dibitmap): Set foreground
5788         color if the image is a mono pixmap.
5789
5790 2000-07-30  Ben Wing  <ben@xemacs.org>
5791
5792         * Makefile.in.in (release):
5793         Remove stray @.
5794
5795         * buffer.c (directory_is_current_directory):
5796         * dired-msw.c (mswindows_get_files):
5797         * dired.c:
5798         * dired.c (Fdirectory_files):
5799         * dired.c (file_name_completion_stat):
5800         * dired.c (Ffile_attributes):
5801         [[[[1]]]]: Rename stat() -> xemacs_stat() and eliminate nasty
5802         preprocessor tricks, to avoid problems on some machines
5803         (e.g. SCO).
5804
5805         * callproc.c (egetenv): GC docs.
5806
5807         * console-msw.h:
5808         * console-msw.h (struct mswindows_dialog_id):
5809         * lrecord.h (lrecord_type):
5810         New object for use with MSW dialogs.
5811
5812         * console.h (struct console_methods):
5813         New enable/disable frame methods, for proper modal dialogs.
5814
5815         * device-msw.c (msprinter_default_printer): Fix to follow
5816         proper Mule conventions.
5817
5818         * device-msw.c:
5819         * device-msw.c (signal_open_printer_error):
5820         * device-msw.c (msprinter_init_device):
5821         * device-msw.c (ensure_not_printing):
5822         * device-msw.c (plist_get_margin):
5823         * device-msw.c (Fmsprinter_select_settings):
5824         * device-msw.c (finalize_devmode):
5825         * device-msw.c (Fmsprinter_settings_despecialize):
5826         * device-msw.c (signal_enum_priner_error):
5827         * extents.c (decode_extent):
5828         * extents.c (decode_map_extents_flags):
5829         * extents.c (decode_extent_at_flag):
5830         * extents.c (Fextent_at):
5831         * extents.c (Fextents_at):
5832         * extents.c (symbol_to_glyph_layout):
5833         [[[[2]]]] Use structured errors.
5834
5835         * dialog-msw.c:
5836         * dialog-msw.c (mswindows_is_dialog_msg):
5837         * dialog-msw.c (mark_mswindows_dialog_id):
5838         * dialog-msw.c (dialog_proc):
5839         * dialog-msw.c (handle_question_dialog_box):
5840         * dialog-msw.c (syms_of_dialog_mswindows):
5841         Define new object to clean up marking; use it as a dialog identifier.
5842         Call new delete-dialog-box-hook.
5843
5844         * dialog-x.c (dbox_selection_callback):
5845         * dialog-x.c (dbox_descriptor_to_widget_value):
5846         * dialog-x.c (x_make_dialog_box_internal):
5847         Call new delete-dialog-box-hook.
5848         Return an id.
5849
5850         * dialog.c:
5851         * dialog.c (syms_of_dialog):
5852         * dialog.c (vars_of_dialog):
5853         Define new delete-dialog-box-hook, for use w/modal dialog boxes.
5854
5855         * eval.c:
5856         * eval.c (signal_call_debugger):
5857         when noninteractive, output stack traces on the console instead
5858         of in a (never-seen) buffer.
5859
5860         * eval.c (signal_type_error):
5861         * eval.c (invalid_argument_2):
5862         * lisp.h:
5863         new funs for use w/structured errors.
5864
5865         * event-Xt.c:
5866         * event-Xt.c (x_to_emacs_keysym):
5867         * event-Xt.c (describe_event):
5868         * event-Xt.c (emacs_Xt_event_handler):
5869         * event-Xt.c (vars_of_event_Xt):
5870         * event-msw.c:
5871         * event-msw.c (mswindows_wnd_proc):
5872         * event-msw.c (vars_of_event_mswindows):
5873         rename {x,mswindows}-debug-events to debug-{}-events for
5874         consistency with other debug-foo variables.
5875
5876         * event-stream.c:
5877         document next-event more clearly.
5878
5879         * fileio.c (Ffile_name_directory):
5880         * fileio.c (Ffile_name_nondirectory):
5881         * fileio.c (Funhandled_file_name_directory):
5882         * fileio.c (file_name_as_directory):
5883         * fileio.c (Ffile_name_as_directory):
5884         * fileio.c (directory_file_name):
5885         * fileio.c (Fdirectory_file_name):
5886         * fileio.c (Fmake_temp_name):
5887         * fileio.c (Ffile_truename):
5888         * fileio.c (Fsubstitute_in_file_name):
5889         * fileio.c (expand_and_dir_to_file):
5890         * fileio.c (barf_or_query_if_file_exists):
5891         * fileio.c (check_executable):
5892         * fileio.c (Ffile_exists_p):
5893         * fileio.c (Ffile_writable_p):
5894         * fileio.c (Ffile_directory_p):
5895         * fileio.c (Ffile_regular_p):
5896         * fileio.c (Ffile_modes):
5897         * fileio.c (Ffile_newer_than_file_p):
5898         * fileio.c (Fverify_visited_file_modtime):
5899         * fileio.c (Fset_visited_file_modtime):
5900         * fileio.c (auto_save_1):
5901         (1). (2).
5902         fix up gcpro's.
5903
5904         * frame-msw.c:
5905         * frame-msw.c (mswindows_init_frame_1):
5906         * frame-msw.c (mswindows_enable_frame):
5907         * frame-msw.c (error_frame_unsizable):
5908         * frame-msw.c (msprinter_init_frame_1):
5909         * frame-msw.c (msprinter_init_frame_3):
5910         * frame-msw.c (console_type_create_frame_mswindows):
5911         (2).
5912         implement new enable/disable frame methods.
5913
5914         * frame-x.c:
5915         * frame-x.c (x_enable_frame):
5916         * frame-x.c (console_type_create_frame_x):
5917         implement new enable/disable frame methods.
5918
5919         * frame.c:
5920         * frame.c (Fdisable_frame):
5921         * frame.c (syms_of_frame):
5922         * frame.h (struct frame):
5923         implement new enable/disable frame methods/functions.
5924
5925         * general-slots.h:
5926         add initial-focus.
5927
5928         * glyphs-msw.c (mswindows_widget_instantiate):
5929         comment that initial-focus should be implemented.
5930
5931         * glyphs-widget.c:
5932         * glyphs-widget.c (check_valid_instantiator):
5933         * glyphs-widget.c (check_valid_orientation):
5934         * glyphs-widget.c (check_valid_tab_orientation):
5935         * glyphs-widget.c (check_valid_justification):
5936         * glyphs-widget.c (check_valid_border):
5937         * glyphs-widget.c (check_valid_callback):
5938         * glyphs-widget.c (check_valid_int_or_function):
5939         * glyphs-widget.c (check_valid_string_or_vector):
5940         * glyphs-widget.c (check_valid_item_list_1):
5941         * glyphs-widget.c (widget_validate):
5942         * glyphs-widget.c (combo_box_validate):
5943         * glyphs-widget.c (widget_instantiate):
5944         * glyphs-widget.c (syms_of_glyphs_widget):
5945         * glyphs-widget.c (VALID_WIDGET_KEYWORDS):
5946         * glyphs-widget.c (image_instantiator_combo_box):
5947         * glyphs-widget.c (image_instantiator_scrollbar):
5948         * glyphs-widget.c (image_instantiator_tab_control):
5949         * glyphs-widget.c (VALID_LAYOUT_KEYWORDS):
5950         (2).
5951         support (unimplemented) keyword initial-focus.
5952         reindent long macros.
5953
5954         * glyphs-x.c (x_redisplay_widget):
5955         * glyphs-x.c (x_button_instantiate):
5956         * glyphs-x.c (x_button_redisplay):
5957         * glyphs-x.c (x_progress_gauge_instantiate):
5958         * glyphs-x.c (x_edit_field_instantiate):
5959         * glyphs-x.c (x_combo_box_instantiate):
5960         * glyphs-x.c (x_tab_control_instantiate):
5961         * glyphs-x.c (x_label_instantiate):
5962         * gui-x.c:
5963         * gui-x.c (button_item_to_widget_value):
5964         * gui-x.c (gui_items_to_widget_values_1):
5965         * gui-x.c (gui_item_children_to_widget_values):
5966         * gui-x.c (gui_items_to_widget_values):
5967         * gui-x.h:
5968         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
5969         add new flag to gui-parsing routines to indicate whether
5970         accelerator specs should be supported.
5971
5972         * glyphs.c (syms_of_glyphs): use DEFSYMBOL.
5973
5974         * glyphs.h (struct Lisp_Image_Instance):
5975         * glyphs.h (IMAGE_INSTANCE_WANTS_INITIAL_FOCUS):
5976         add initial-focus flag.
5977
5978         * gui.c:
5979         * gui.c (syms_of_gui):
5980         * gui.c (vars_of_gui):
5981         clean up menu-no-selection-hook.
5982
5983         * gui.h:
5984         support delete-dialog-box-hook.
5985
5986         * lread.c (Fload_internal):
5987         * lread.c (locate_file_in_directory_mapper):
5988         (1).
5989
5990         * lrecord.h:
5991         * lrecord.h (struct toolbar_button):
5992         * lrecord.h (syms_of_toolbar):
5993         document how to create a new object.
5994
5995         * menubar-msw.c (mswindows_char_is_accelerator):
5996         may be called on frames w/o menus.
5997
5998         * menubar.c (vars_of_menubar):
5999         clean up :filter docs.
6000
6001         * nt.c (readdir):
6002         * ntproc.c:
6003         (1).
6004
6005         * process-nt.c:
6006         * process-nt.c (validate_signal_number):
6007         * process-nt.c (signal_cannot_launch):
6008         * process-nt.c (nt_create_process):
6009         * process-nt.c (nt_send_process):
6010         * process-nt.c (nt_kill_child_process):
6011         * process-nt.c (nt_open_network_stream):
6012         * process-nt.c (syms_of_process_nt):
6013         (2).
6014         delete quote-handling.  call new lisp code that does it better.
6015
6016         * process-unix.c (connect_to_file_descriptor):
6017         * process-unix.c (allocate_pty):
6018         * process-unix.c (unix_send_process):
6019         * process-unix.c (unix_kill_child_process):
6020         * process-unix.c (unix_open_network_stream):
6021         * process-unix.c (unix_open_multicast_group):
6022         (1). (2).
6023
6024         * process.c:
6025         * process.c (Fstart_process_internal):
6026         (2).  need to canonicalize process path even if absolute.
6027
6028         * select-msw.c (symbol_to_ms_cf):
6029         * select-msw.c (ms_cf_to_symbol):
6030         * select-msw.c (cf_is_autofreed):
6031         * select-msw.c (mswindows_destroy_selection):
6032         * select.c:
6033         * select.c (syms_of_select):
6034         * select.h:
6035         support dibv5, fix bugs. (from Mike Alexander)
6036
6037         * select.c (Fget_selection_internal):
6038         * select.c (select_convert_out):
6039
6040         * sysdep.c:
6041         * sysdep.c (xemacs_stat):
6042         renamed.
6043
6044         * sysdep.c (mkdir):
6045         * sysdep.c (rmdir):
6046         but keep original stat() here because we provide encapsulation
6047         around these funs.
6048
6049         * sysfile.h:
6050         * sysfile.h (fstat):
6051         remove stat garbage.
6052
6053         * syswindows.h:
6054         fix X/MSW conflict.
6055         don't include tchar.h.  it's inappropriate because it makes
6056         compile-time distinctions when we want runtime distinctions.
6057         (we provide our own tchar replacements)
6058
6059         * toolbar.c:
6060         use default object printer for toolbar-button.
6061
6062         * unexcw.c:
6063         make sure we don't encapsulate.
6064
6065         * window.c (vars_of_window):
6066         emphasize that temp-buffer-show-hook is obsolete.
6067
6068 2000-08-05  Martin Buchholz  <martin@xemacs.org>
6069
6070         * glyphs.c (image_instance_hash): HASH2 wants EMACS_INT args.
6071         (Fimage_instance_subwindow_id): make_int wants EMACS_INT arg.
6072
6073         * events.c (Fevent_timestamp_lessp):
6074         Not 64-bit clean.  Use EMACS_INT, not int.
6075
6076 2000-06-05  Andrew Begel <abegel@cs.berkeley.edu>
6077
6078         * lrecord.h (lrecord_types): Changed lrecord_type_count to an
6079         unsigned int and changed the last enum to
6080         lrecord_type_last_built_in_type.
6081         (lrecord_implementations_table): changed prototype to know how
6082         long the array is supposed to be.
6083         (lrecord_type_count): new unsigned int to keep track of the
6084         current number of lisp lrecord types.
6085         (DEFINE_EXTERNAL_LRECORD):
6086         (DECLARE_EXTERNAL_LRECORD): Added these two for external
6087         dynamic-modules to declare new lisp types. They are the same
6088         as the non-EXTERNAL forms, but declare an lrecord_type unsigned
6089         int for each new type, and increment lrecord_type_count by 1.
6090
6091         * alloc.c (lrecord_implementations_table): Changed to reference
6092         lrecord_type_last_built_in_type for the size of the array.
6093         Moved MODULE_DEFINABLE_TYPE_COUNT to lrecord.h.
6094
6095 2000-08-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
6096
6097         * glyphs.h (check_valid_item_list): Renamed from
6098         check_valid_item_list_1.
6099
6100 2000-08-01 Alastair J. Houghton <ajhoughton@lineone.net>
6101
6102         * select.c (Qselect_coerce): New.
6103         * select.c (Vselection_coercion_alist): New.
6104         * select.c (syms_of_select): Declare.
6105         * select.c (get-selection-internal): Use it.
6106         Use the new select-coerce functionality.
6107
6108         * select.c (select_coerce): New.
6109         * select.h (select_coerce): Declare.
6110         New function to coerce one type of data into another.
6111
6112 2000-08-03  Martin Buchholz  <martin@xemacs.org>
6113
6114         * callproc.c (Fcall_process_internal):
6115         (Fcall_process_internal):
6116         * process-unix.c (unix_create_process):
6117         Save and restore the value of errno, so that error messages are accurate.
6118
6119 2000-08-01  Martin Buchholz  <martin@xemacs.org>
6120
6121         * elhash.c (print_hash_table):
6122         Fix printing of hash tables to also use `key-and-value' instead of `t'.
6123         Prettify docstrings and indentation.
6124
6125 2000-07-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
6126
6127         * window.c (Fwindow_pixel_edges): Subtract frame border and
6128         gutter size.
6129
6130 2000-07-31  Andy Piper  <andy@xemacs.org>
6131
6132         * buffer.c (Frecord_buffer): make absolutely sure that redisplay
6133         will acknowledge the change.
6134
6135         * glyphs.h: declare tab_control_order_only_changed.
6136
6137         * glyphs-x.c (x_tab_control_redisplay): use
6138         tab_control_order_only_changed.
6139
6140         * glyphs-widget.c (tab_control_order_only_changed): new function.
6141
6142         * glyphs-msw.c (mswindows_tab_control_redisplay): use
6143         tab_control_order_only_changed.
6144
6145         * gui.c (gui_item_equal_sans_selected): new function.
6146         (gui_item_equal): use it.
6147
6148         * glyphs-msw.c (mswindows_combo_box_instantiate): deprecate
6149         :properties in favor of :items..
6150
6151         * glyphs-widget.c (check_valid_item_list): rename from
6152         check_valid_item_list_1.
6153         (check_valid_item_list_1): renamed.
6154         (combo_box_validate): deprecate :properties in favor of :items.
6155         (widget_instantiate): ditto.
6156         (tab_control_update): ditto.
6157         (image_instantiator_combo_box): ditto.
6158         (image_instantiator_tree_view): ditto.
6159         (image_instantiator_tab_control): ditto.
6160         (layout_post_instantiate): remove dead code.
6161
6162         * print.c (debug_print_no_newline): only write to debugger if in
6163         WIN32_NATIVE.
6164
6165         * elhash.c (Fmake_hash_table): update doc string.
6166
6167         * event-msw.c (mswindows_wnd_proc): don't allow processing of
6168         messages whilst in GC. This at least stops XEmacs crashing but has
6169         the potential for wierd behaviour.
6170
6171 2000-07-31  Martin Buchholz  <martin@xemacs.org>
6172
6173         * config.h.in:
6174         Make existence of s&m files optional.
6175
6176         * s/bsd386.h: Remove HAVE_GETLOADAVG.
6177         * s/freebsd.h: Remove HAVE_GETLOADAVG.
6178         * s/gnu.h: Remove HAVE_GETLOADAVG.
6179         * s/netbsd.h: Remove HAVE_GETLOADAVG.
6180         * s/sol2.h: Remove HAVE_GETLOADAVG.
6181         * lisp.h: Remove getloadavg() declaration.
6182         * fns.c:
6183         Include <sys/loadavg.h> if available.
6184         Don't declare our own getloadavg() if HAVE_GETLOADAVG.
6185         * config.h.in:  Group together getloadavg()-related macros.
6186         Use only configure-time tests to detect getloadavg().
6187
6188 2000-07-30  Martin Buchholz  <martin@xemacs.org>
6189
6190         * Makefile.in.in (TransientEmacsShell.o): Fix race condition.
6191
6192 2000-07-25  Andy Piper  <andy@xemacs.org>
6193
6194         * syswindows.h: add tchar.h for native builds.
6195
6196         * frame.c (syms_of_frame): remove set-glyph-image.
6197
6198         * general-slots.h: add Qset_glyph_image.
6199
6200         * glyphs-widget.c (layout_update): add domain arg to
6201         set-glyph-image.
6202         (syms_of_glyphs_widget): remove set-glyph-image.
6203
6204 2000-07-23  Ben Wing  <ben@xemacs.org>
6205
6206         * dialog-msw.c (vars_of_dialog_mswindows): need to staticpro
6207         Vpopup_frame_list.
6208
6209 2000-07-22  Andy Piper  <andy@xemacs.org>
6210
6211         * symsinit.h: add syms_of_win32().
6212
6213         * gui-msw.c (syms_of_gui_mswindows): remove
6214         Fmswindows_shell_execute.
6215         (Fmswindows_shell_execute): moved to win32.c.
6216
6217         * emacs.c (main_1): add syms_of_win32 ().
6218
6219         * win32.c (init_potentially_nonexistent_functions): rewrite in
6220         compiler-friendly terms.
6221         (Fmswindows_shell_execute): move here from gui-msw.c.
6222         (syms_of_win32): new.
6223
6224         * device-msw.c (Fmswindows_printer_list): clean up args to
6225         EnumPrinters.
6226         Don't include tchar under cygwin or mingw.
6227         (msprinter_default_printer): make cygwin-friendly.
6228
6229 2000-07-21  Andy Piper  <andy@xemacs.org>
6230
6231         * glyphs-widget.c (image_instantiator_tree_view): use tab
6232         control's update function.
6233         (layout_property): new function. Retrieve items.
6234
6235         * glyphs-msw.c (mswindows_tree_view_redisplay): new
6236         function. Re-populate the tree view from the pending items.
6237
6238         * glyphs.c (instantiate_image_instantiator): Make sure the domain
6239         is designated the parent if the domain is an image instance. This
6240         is needed so that dirtiness can be cascade up the hierarchy and
6241         thus for layout children to be redisplayed correctly.
6242         (allocate_image_instance): rename glyph -> parent.
6243
6244         * redisplay.h: change redisplay_output_layout signature.
6245
6246         * redisplay-msw.c (mswindows_output_display_block): use domain
6247         arg.
6248
6249         * redisplay-x.c (x_output_display_block): use domain arg.
6250
6251 2000-07-10  Andy Piper  <andy@xemacs.org>
6252
6253         * window.c (Fset_window_configuration): add comment.
6254
6255         * redisplay-output.c (compare_runes):
6256         (redisplay_output_subwindow): redisplay rather than update subwindow.
6257         (redisplay_output_layout): ditto.
6258
6259         * redisplay-msw.c (mswindows_frame_output_end):
6260         (mswindows_frame_output_end): make defer window pos optional.
6261
6262         * lisp.h: add Flast.
6263
6264         * glyphs.h (struct image_instantiator_methods): add dest_mask top
6265         normalize method. Change update method to be for changed
6266         instantiators. Add redisplay method. Change signature of layout
6267         method.
6268         (struct Lisp_Image_Instance): add instantiator.
6269         (IMAGE_INSTANCE_INSTANTIATOR): new.
6270         (IMAGE_INSTANCE_SUBWINDOW_FACE): new.
6271         (XIMAGE_INSTANCE_INSTANTIATOR): new.
6272         (XIMAGE_INSTANCE_SUBWINDOW_FACE): new.
6273
6274         * glyphs.c:
6275         (find_instantiator_differences): new function.
6276         (Fset_instantiator_property): new convenience function.
6277         (check_image_instance_structure): strictly check for vector
6278         instantiators.
6279         (normalize_image_instantiator): make non-static.
6280         (instantiate_image_instantiator): pass on dest_mask and use new
6281         signatures for image_instance_layout and friends.
6282         (mark_image_instance): mark the instantiator. Mark the subwindow
6283         face not the widget face.
6284         (image_instance_equal): add instantiator.
6285         (image_instance_hash): ditto.
6286         (allocate_image_instance): ditto.
6287         (Fset_image_instance_property): removed.
6288         (Fimage_instance_file_name): ditto.
6289         (Fcolorize_image_instance): ditto.
6290         (image_instance_layout): add offsets to be set.
6291         (update_image_instance): new function. update an image instance
6292         from its changed instantiator.
6293         (inherit_normalize): add dest_mask.
6294         (xbm_normalize): ditto.
6295         (xface_normalize): ditto.
6296         (xpm_normalize): ditto.
6297         (text_update): set_property -> update.
6298         (image_instantiate): use the glyph identity as a hash key, not the
6299         instantiator.
6300         (glyph_width): use new image_instance_layout signature.
6301         (glyph_ascent): ditto.
6302         (glyph_descent): ditto.
6303         (glyph_height): ditto.
6304         (glyph_query_geometry): ressurrect.
6305         (glyph_layout): ditto.
6306         (redisplay_subwindow): update -> redisplay.
6307         (syms_of_glyphs): add Fset_instantiator_property.
6308         (image_instantiator_format_create): set_property -> update.
6309
6310         * glyphs-x.c:
6311         (autodetect_normalize): add dest_maks to signature.
6312         (x_redisplay_subwindow): update -> redisplay.
6313         (x_redisplay_widget): ditto.
6314         (x_button_redisplay): ditto.
6315         (x_progress_gauge_redisplay): ditto.
6316         (x_tab_control_redisplay): ditto. Rewrite to cope with changed
6317         stacking order.
6318         (console_type_create_glyphs_x): update -> redisplay.
6319         (image_instantiator_format_create_glyphs_x): ditto.
6320
6321         * glyphs-widget.c:
6322         (check_valid_instantiator): disallow glyphs in the instantiator,
6323         they must now be vectors.
6324         (check_valid_instantiator_list): ditto.
6325         (glyph_instantiator_to_glyph): use internal symbol rather than
6326         intern.
6327         (widget_update): renamed from widget_set_property. Call cascaded
6328         update methods.
6329         (redisplay_widget): renamed from update_widget.
6330         (widget_layout): image_instance_layout now takes position as well
6331         as size.
6332         (widget_normalize): ditto.
6333         (widget_instantiate): ditto.
6334         (tab_control_query_geometry) ditto.:
6335         (tab_control_update): renamed from tab_control_set_property.
6336         (progress_gauge_update): set_property -> update.
6337         (layout_normalize): rewrite so that child instantiators are
6338         normalized also.
6339         (layout_update): new function. Create glyphs from the normalized
6340         children and cope with any other layout keywords. We do not
6341         instantiate children here that will be take care of by
6342         redisplay_output_layout.
6343         (layout_instantiate): call layout_update and not much else.
6344         (layout_post_instantiate): not sure whether this is needed
6345         anymore.
6346         (layout_query_geometry): query glyph geometry rather than
6347         image_instance geometry.
6348         (layout_layout): set offsets from pass in parameters. Use glyph
6349         geometry and layout functions rather than image instance ones.
6350         (native_layout_layout): ditto.
6351         (syms_of_glyphs_widget): add make-glyph and set-glyph-image.
6352         (image_instantiator_widget): set_property -> update.
6353         (image_instantiator_buttons): ditto.
6354         (image_instantiator_progress_guage): ditto.
6355         (image_instantiator_tab_control): ditto.
6356         (VALID_LAYOUT_KEYWORDS): instantiators must now be vectors.
6357         (image_instantiator_layout): add update method.
6358
6359         * glyphs-msw.c (bmp_normalize):
6360         (mswindows_resource_normalize): add dest_mask so that it can be
6361         proprogated by layout_normalize.
6362         (begin_defer_window_pos): make optional because it may not be the
6363         right thing to do and it introduces differences with X.
6364         (mswindows_unmap_subwindow): ditto.
6365         (mswindows_map_subwindow): ditto.
6366         (mswindows_redisplay_subwindow): renamed from
6367         mswindows_update_subwindow.
6368         (mswindows_redisplay_widget): ditto.
6369         (mswindows_button_redisplay): renamed from
6370         mswindows_button_update. Update is now what the instantiation
6371         function does for a changed instantiator.
6372         (mswindows_progress_gauge_instantiate): set the progress value
6373         here if appropriate.
6374         (mswindows_tab_control_redisplay): cope with re-ordering of the
6375         members of the tab widget by simply selecting the new top
6376         widget. This makes things appear ok if you click on a tab.
6377         (mswindows_combo_box_instantiate): image_instance_layout now takes
6378         position as well as size.
6379         (mswindows_progress_gauge_redisplay): renamed from
6380         mswindows_progress_gauge_update.
6381         (console_type_create_glyphs_mswindows): fix update -> redisplay.
6382         (image_instantiator_format_create_glyphs_mswindows): ditto.
6383
6384         * glyphs-eimage.c (jpeg_normalize):
6385         (gif_normalize):
6386         (png_normalize):
6387         (tiff_normalize): add dest_mask so that it can be proprogated by
6388         layout_normalize.
6389
6390         * elhash.c:
6391         (print_hash_table):
6392         (hash_table_weakness_validate):
6393         (decode_hash_table_weakness):
6394         (Fhash_table_weakness):
6395         (Fhash_table_type):
6396         (syms_of_elhash): use Ben's naming scheme for hashtable types..
6397
6398         * console.h (struct console_methods): move update_* to
6399         redisplay_*.
6400
6401 2000-07-20  Ben Wing  <ben@xemacs.org>
6402
6403         * *.[ch] (XSETOBJ): remove unused middle argument.
6404         lisp-disunion.h: correct wrap_object() to one argument.
6405
6406 2000-07-15  Ben Wing  <ben@xemacs.org>
6407
6408         * s/cygwin32.h:
6409         * s/cygwin32.h (CYGWIN_CONV_PATH):
6410         Add missing logb prototype for v1.1.
6411         Use post-b20 names and alias to pre-b20 names when pre-b20.
6412
6413         * s/windowsnt.h: [5].
6414
6415 2000-07-15  Ben Wing  <ben@xemacs.org>
6416
6417         * Makefile.in.in (x_objs):
6418         * Makefile.in.in (sheap_objs):
6419         * Makefile.in.in (objs):
6420         added win32.o, cosmetic cleanups.
6421
6422         * alloc.c (Fmake_byte_code):
6423         [[[1]]]: Changes for new LIST_LOOP, EXTERNAL_LIST_LOOP,
6424         etc. macros which declare their own args now.
6425
6426         * alloc.c (syms_of_alloc):
6427         [[[2]]]: Use DEFSYMBOL, DEFKEYWORD, DEFERROR and friends.
6428
6429         * buffer.c:
6430         Moved buffer-dedicated-frame, set-buffer-dedicated-frame into lisp.
6431
6432         * buffer.c (Fget_file_buffer):
6433         Fixed GCPRO problem.
6434
6435         * buffer.c (get_truename_buffer):
6436         Fixed comment about GC checking.
6437
6438         * buffer.c (syms_of_buffer):
6439         Undeclared those dedicated frame funs.
6440         [2].
6441
6442         * buffer.h:
6443         Define convenience macros for internal/external conversions.
6444         [[[3]]]: Define codesys aliases Qcommand_argument_encoding
6445         and Qenvironment_variable_encoding for cleaner code.
6446
6447         * bufslots.h:
6448         Remove dedicated-frame; in lisp.
6449
6450         * bytecode.c (funcall_compiled_function):
6451         [1].
6452
6453         * bytecode.c (syms_of_bytecode):
6454         [2].
6455
6456         * console-msw.c:
6457         * console-msw.c (mswindows_show_console): Rewrote.
6458
6459         * console-msw.c (Fmswindows_debugging_output): New.
6460         Sends to OutputDebugString (special MSWin debugger interface).
6461
6462         * console-msw.c (Fmswindows_message_box):
6463         Fixed stupid bugs so it works when called from kill-emacs.
6464
6465         * console-msw.c (syms_of_console_mswindows):
6466         Declare Fmswindows_debugging_output.
6467
6468         * console-msw.h:
6469         New MSWin prototypes.
6470
6471         * console-msw.h (struct mswindows_frame):
6472         New entry last-click-mods for improved button-modifier support.
6473
6474         * console-msw.h (FRAME_MSWINDOWS_POPUP):
6475         New struct entry `popup' with corresponding accessor.
6476
6477         * console-x.c:
6478         * console-x.c (split_up_display_spec):
6479         * console-x.c (get_display_arg_connection):
6480         * console-x.c (x_semi_canonicalize_console_connection):
6481         * console-x.c (x_canonicalize_device_connection):
6482         [[[6]]]: Change char to more specific type.
6483         [[[8]]]: Make use of abstracting codesys aliases defined in [3], [4];
6484
6485         * console-x.c (x_semi_canonicalize_console_connection):
6486         * console-x.c (x_canonicalize_device_connection):
6487         [[[9]]]: Fix up error signalling to use new structured error system.
6488
6489         * console-x.h:
6490         [[[4]]]: Define codesys aliases:
6491         Qlwlib_encoding, Qx_atom_name_encoding, Qx_font_name_encoding,
6492         Qx_color_name_encoding, Qx_display_name_encoding.
6493
6494         * console.h (struct console_methods):
6495         New method make_dialog_box_internal supersedes older
6496         popup_dialog_box method.
6497
6498         * data.c:
6499         Define many new errors, part of new structured errors.
6500
6501         * data.c (init_errors_once_early):
6502         * data.c (syms_of_data):
6503         [2].
6504
6505         * device-msw.c (mswindows_init_device):
6506         [[[5]]]: Cleanup to support NT 3.51.
6507
6508         * device-msw.c (decode_devmode): Cleanup.
6509
6510         * device-msw.c (mswindows_handle_print_setup_dialog_box):
6511         * device-msw.c (mswindows_handle_print_dialog_box):
6512         * device-msw.c (mswindows_handle_page_setup_dialog_box):
6513         * device-msw.c (syms_of_device_mswindows):
6514         Delete the dialog box primitives recently introduced by Kirill and
6515         instead interface to general dialog box interface.
6516
6517         * device-x.c:
6518         * device-x.c (compute_x_app_name):
6519         * device-x.c (x_init_device):
6520         * device-x.c (Fx_valid_keysym_name_p):
6521         * device-x.c (Fx_set_font_path):
6522         [6].
6523         [7].
6524
6525         * device.h (wrap_device): New.
6526         First of its kind; meant to replace XSETDEVICE.
6527
6528         * dialog-msw.c: Many file-dialog symbols.
6529
6530         * dialog-msw.c (mswindows_register_popup_frame): New.
6531         * dialog-msw.c (mswindows_is_dialog_msg): New.
6532         For supporting kbd traversal in dialog boxes.
6533
6534         * dialog-msw.c (dialog_proc):
6535         Support hitting ESC in dialogs.
6536
6537         * dialog-msw.c (struct):
6538         Common dialog box errors.
6539
6540         * dialog-msw.c (handle_file_dialog_box): New.
6541         Add file dialog code.
6542
6543         * dialog-msw.c (handle_question_dialog_box):
6544         Redo existing code to support new question dialog syntax.
6545
6546         * dialog-msw.c (console_type_create_dialog_mswindows):
6547         We support new dialog console method.
6548
6549         * dialog-msw.c (syms_of_dialog_mswindows):
6550         * dialog-msw.c (vars_of_dialog_mswindows):
6551         New file dialog symbols, vars.
6552
6553         * dialog-x.c:
6554         * dialog-x.c (maybe_run_dbox_text_callback):
6555         * dialog-x.c (dbox_descriptor_to_widget_value):
6556         * dialog-x.c (x_make_dialog_box_internal):
6557         * dialog-x.c (console_type_create_dialog_x):
6558         Mule-ize entire file.
6559         Redo to support question dialog syntax.
6560         [6].
6561
6562         * dialog.c:
6563         * dialog.c (Fmake_dialog_box_internal):
6564         * dialog.c (syms_of_dialog):
6565         Kill old popup-dialog-box, replace with new primitive.
6566         Just call device method or signal error.
6567
6568         * eldap.c (Fldap_open):
6569         * eldap.c (Fldap_search_basic):
6570         * eldap.c (Fldap_add):
6571         * eldap.c (Fldap_modify):
6572         [1].
6573         [7].
6574
6575         * emacs.c:
6576         * emacs.c (make_arg_list_1):
6577         * emacs.c (make_arg_list):
6578         Mule-ize call to dll_init().
6579         [6].
6580         [8].
6581
6582         * emacs.c (make_argc_argv):
6583         * emacs.c (free_argc_argv):
6584         * emacs.c (init_cmdargs):
6585         * emacs.c (main_1):
6586         * emacs.c (Fkill_emacs):
6587         * emacs.c (Fdump_emacs):
6588         Update comments about what can be used in syms_* etc.
6589         Call init_win32() when necessary.
6590         Fix up MS Win dialog box in kill-buffer to actually work right.
6591         [7].
6592
6593         * eval.c:
6594         * eval.c (For):
6595         * eval.c (Fand):
6596         * eval.c (Fprogn):
6597         * eval.c (Fprog1):
6598         * eval.c (Fprog2):
6599         * eval.c (FletX):
6600         * eval.c (Flet):
6601         * eval.c (condition_case_3):
6602         * eval.c (Feval):
6603         * eval.c (function_argcount):
6604         * eval.c (funcall_lambda):
6605         [1].
6606
6607         * eval.c (type_error): New.
6608         * eval.c (maybe_type_error): New.
6609         * eval.c (continuable_type_error): New.
6610         * eval.c (maybe_continuable_type_error): New.
6611         * eval.c (type_error_with_frob): New.
6612         * eval.c (maybe_type_error_with_frob): New.
6613         * eval.c (continuable_type_error_with_frob): New.
6614         * eval.c (maybe_continuable_type_error_with_frob): New.
6615         New functions for use with structured errors.
6616
6617         * event-Xt.c:
6618         * event-Xt.c (x_event_to_emacs_event):
6619         Buttons are now modifiers too.
6620
6621         * event-Xt.c (emacs_Xt_current_event_timestamp):
6622         Implement new event method.
6623         * event-Xt.c (reinit_vars_of_event_Xt): Set it.
6624
6625         * event-msw.c:
6626         * event-msw.c (ntpipe_shove_writer): [5].
6627         * event-msw.c (mswindows_enqueue_mouse_button_event):
6628         * event-msw.c (mswindows_drain_windows_queue):
6629         * event-msw.c (mswindows_wnd_proc): [7].
6630         * event-msw.c (mswindows_current_layout_has_AltGr): [5].
6631         * event-msw.c (mswindows_modifier_state):
6632         Throughout: support new button modifiers.
6633
6634         * event-msw.c (emacs_mswindows_current_event_timestamp):
6635         Implement new event method.
6636         * event-msw.c (reinit_vars_of_event_mswindows): Set it.
6637
6638         * event-stream.c:
6639         * event-stream.c (event_stream_current_event_timestamp): New.
6640         * event-stream.c (maybe_kbd_translate): New functionality.
6641         * event-stream.c (vars_of_event_stream):
6642         Document new kbd-translate-table functionality.
6643
6644         * event-stream.c (Fcurrent_event_timestamp): New.
6645         New primitive for use in fabricated events.
6646         * event-stream.c (syms_of_event_stream): [2]. Declare new primitive.
6647
6648         * events-mod.h (XEMACS_MOD_BUTTON1): new button modifiers.
6649
6650         * events.c:
6651         * events.c (Fmake_event):
6652         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY):
6653         [1].
6654         [9].
6655
6656         * events.c (format_event_object): fix gcc warnings.
6657
6658         * events.c (Fevent_timestamp): Document new primitives.
6659
6660         * events.c (TIMESTAMP_HALFSPACE): New.
6661
6662         * events.c (Fevent_timestamp_lessp): New.  New primitive for
6663         comparing timestamps correctly (half-space algorithm).
6664
6665         * events.c (Fevent_modifier_bits): Doc fix.
6666
6667         * events.c (Fevent_modifiers): Major doc addition.
6668         * events.c (event_x_y_pixel_internal): Typo fix.
6669         * events.c (syms_of_events): Declare new primitives.
6670
6671         * events.h:
6672         Update long comment for button modifiers, timestamps.
6673
6674         * events.h (struct event_stream):
6675         New current_event_timestamp method.
6676
6677         * extents.c:
6678         * extents.c (extent_in_region_p):
6679         * extents.c (decode_extent):
6680         * extents.c (Fset_extent_parent):
6681         * extents.c (decode_map_extents_flags):
6682         Fix gcc warnings.
6683         [9].
6684
6685         * extents.c (struct extent_at_arg):
6686         * extents.c (decode_extent_at_flag):
6687         * extents.c (extent_at_mapper):
6688         * extents.c (extent_at_bytind):
6689         * extents.c (Fextent_at): Adapt to new lower-level interface. [9].
6690         * extents.c (Fextents_at): New primitive. [9].
6691         * extents.c (symbol_to_glyph_layout): [9].
6692         Support new primitive `extents-at'.
6693
6694
6695         * extents.c (get_text_property_bytind):
6696         extent_at_bytind has another arg.
6697         [9].
6698
6699         * extents.c (syms_of_extents): New primitive.
6700
6701         * file-coding.c (Fmake_coding_system): [1].
6702         * file-coding.c (subsidiary_coding_system): fix gcc warning
6703         * file-coding.c (syms_of_file_coding): [2].
6704
6705         * fileio.c (Fexpand_file_name):
6706         * fileio.c (Fsysnetunam):
6707         * fileio.c (Ffile_exists_p):
6708         * fileio.c (Ffile_executable_p):
6709         * fileio.c (Fverify_visited_file_modtime):
6710         Clean up GCPROing.
6711
6712         * fileio.c (syms_of_fileio): [2].
6713
6714         * filelock.c (lock_file_1):
6715         * filelock.c (current_lock_owner):
6716         * filelock.c (lock_if_free):
6717         * filelock.c (lock_file):
6718         * filelock.c (unlock_file):
6719         Clean up GCPROing.
6720
6721         * fns.c (concat): Fix gcc warning.
6722
6723         * fns.c (Fmember):
6724         * fns.c (Fold_member):
6725         * fns.c (Fmemq):
6726         * fns.c (Fold_memq):
6727         * fns.c (memq_no_quit):
6728         * fns.c (Fassoc):
6729         * fns.c (Fold_assoc):
6730         * fns.c (Fassq):
6731         * fns.c (Fold_assq):
6732         * fns.c (assq_no_quit):
6733         * fns.c (Frassoc):
6734         * fns.c (Fold_rassoc):
6735         * fns.c (Frassq):
6736         * fns.c (Fold_rassq):
6737         * fns.c (rassq_no_quit):
6738         * fns.c (Fdelete):
6739         * fns.c (Fold_delete):
6740         * fns.c (Fdelq):
6741         * fns.c (Fold_delq):
6742         * fns.c (delq_no_quit):
6743         * fns.c (Fremassoc):
6744         * fns.c (Fremassq):
6745         * fns.c (remassq_no_quit):
6746         * fns.c (Fremrassoc):
6747         * fns.c (Fremrassq):
6748         * fns.c (remrassq_no_quit):
6749         * fns.c (Freverse):
6750         * fns.c (mapcar1):
6751         [1].
6752
6753         * frame-msw.c (mswindows_init_frame_1):
6754         * frame-msw.c (mswindows_delete_frame):
6755         Register popups with dialog code so keyboard traversing works.
6756
6757         * frame-tty.c (tty_raise_frame_no_select): [1].
6758
6759         * frame-x.c:
6760         * frame-x.c (x_set_frame_text_value):
6761         * frame-x.c (x_set_frame_properties):
6762         * frame-x.c (x_create_widgets):
6763         [7].
6764
6765         * frame.c:
6766         * frame.c (Fmouse_pixel_position): Minor doc fixes.
6767
6768         * frame.h (wrap_frame): New.
6769         Macro like wrap_device.
6770
6771         * general.c:
6772         * general.c (SYMBOL):
6773         * general.c (syms_of_general):
6774         Major reorg.  This is now just a wrapper and symbols themselves
6775         are listed in general-slots.h.
6776
6777         * glyphs-eimage.c (tiff_instantiate): Need cast to fix warning.
6778         * glyphs-msw.c (mswindows_resource_instantiate): [5].
6779
6780         * glyphs-msw.c (mswindows_native_layout_instantiate):
6781         Add DS_CONTROL so keyboard traversal will work.
6782
6783         * glyphs-widget.c:
6784         * glyphs-widget.c (syms_of_glyphs_widget):
6785         Move some symbols to general-slots.h.
6786
6787         * glyphs-x.c:
6788         * glyphs-x.c (xbm_instantiate_1):
6789         * glyphs-x.c (x_xbm_instantiate):
6790         * glyphs-x.c (x_xface_instantiate):
6791         * glyphs-x.c (autodetect_instantiate):
6792         * glyphs-x.c (cursor_font_instantiate):
6793         * glyphs-x.c (x_update_widget):
6794         * glyphs-x.c (x_widget_instantiate):
6795         * glyphs.c (bitmap_to_lisp_data):
6796         * glyphs.c (pixmap_to_lisp_data):
6797         [7].
6798
6799         * glyphs.c (syms_of_glyphs):
6800         [2].
6801
6802         * gui-x.c:
6803         * gui-x.c (print_widget_value):
6804         * gui-x.c (menu_separator_style_and_to_external):
6805         * gui-x.c (add_accel_and_to_external):
6806         * gui-x.c (button_item_to_widget_value):
6807         * gui-x.c (gui_items_to_widget_values_1):
6808         * gui-x.c (gui_items_to_widget_values):
6809         * gui-x.c (syms_of_gui_x):
6810         * gui-x.c (vars_of_gui_x):
6811         Mule-ize entire file.  Move menu-no-selection-hook to gui.c.
6812         [9].
6813
6814         * gui-x.h:
6815         Muleize, prototype changes matching gui-x.c.
6816
6817         * gui.c:
6818         * gui.c (separator_string_p):
6819         * gui.c (gui_item_add_keyval_pair):
6820         * gui.c (make_gui_item_from_keywords_internal):
6821         * gui.c (signal_too_long_error):
6822         * gui.c (parse_gui_item_tree_item):
6823         * gui.c (syms_of_gui):
6824         * gui.c (vars_of_gui):
6825         * gui.h:
6826         menu-no-selection-hook moved here (used by MSWin).
6827         Move some symbols to general-slots.h.
6828         [6].
6829         [9].
6830
6831         * insdel.c (get_buffer_pos_char):
6832         * insdel.c (get_buffer_range_char):
6833         Add GC comments.
6834
6835         * keymap.c (keymap_lookup_directly):
6836         * keymap.c (keymap_store):
6837         * keymap.c (ensure_meta_prefix_char_keymapp):
6838         * keymap.c (describe_map):
6839         * keymap.h:
6840         Support new button modifiers.
6841
6842         * lisp-disunion.h (wrap_object):
6843         * lisp-disunion.h (XSETOBJ):
6844         Rename make_obj to wrap_object.
6845
6846         * lisp-union.h:
6847         * lisp-union.h (make_int):
6848         * lisp-union.h (make_char):
6849         Support wrap_object.
6850
6851         * lisp.h:
6852         * lisp.h (LIST_LOOP):
6853         * lisp.h (EXTERNAL_LIST_LOOP):
6854         * lisp.h (LIST_LOOP_2):
6855         * lisp.h (EXTERNAL_LIST_LOOP_1):
6856         * lisp.h (EXTERNAL_LIST_LOOP_2):
6857         * lisp.h (EXTERNAL_LIST_LOOP_3):
6858         * lisp.h (EXTERNAL_LIST_LOOP_4_NO_DECLARE):
6859         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
6860         * lisp.h (GET_EXTERNAL_LIST_LENGTH):
6861         * lisp.h (EXTERNAL_ALIST_LOOP_5):
6862         * lisp.h (EXTERNAL_ALIST_LOOP_6):
6863         * lisp.h (EXTERNAL_ALIST_LOOP_6_NO_DECLARE):
6864         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_5_NO_DECLARE):
6865         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_7):
6866         * lisp.h (struct Lisp_Symbol):
6867         * lisp.h (maybe_continuable_error_with_frob):
6868         Fix up section comments.
6869         Add new types for char to indicate usage.
6870         Delete symbols auto-generated from general-slots.h.
6871         Add prototypes for structured error functions.
6872         Add long comments describing looping macros and change interface
6873         so that lvalues are automatically declared.
6874         Add NO_DECLARE macro in case callers want to declare lvalues
6875         themselves.
6876
6877         * lread.c (read_syntax_error):
6878         * lread.c (continuable_read_syntax_error):
6879         * lread.c (read_structure):
6880         * lread.c (sequence_reader):
6881         * lread.c (read_list_conser):
6882         * lread.c (read_compiled_function):
6883         Rename syntax_error and continuable_syntax_error to avoid clash
6884         with same-named structured error functions.
6885
6886         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
6887         * menubar-msw.c (populate_menu_add_item):
6888         * menubar-msw.c (populate_or_checksum_helper):
6889         [5].
6890         [9].
6891
6892         * menubar-x.c:
6893         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
6894         Mule-ize whole file.
6895
6896         * menubar.c (Fnormalize_menu_item_name): Add optimization.
6897
6898         * mule-charset.c (Fmake_charset):
6899         * mule-wnnfns.c (Fwnn_set_param):
6900         [1].
6901
6902         * ntproc.c (create_child):
6903         * ntproc.c (Fwin32_set_current_locale):
6904         Add comments portending doom.
6905
6906         * objects-msw.c:
6907         * objects-msw.c (old_font_enum_callback_2):
6908         * objects-msw.c (font_enum_callback_1):
6909         * objects-msw.c (mswindows_enumerate_fonts):
6910         [5].
6911
6912         * objects-x.c:
6913         * objects-x.c (allocate_nearest_color):
6914         * objects-x.c (x_parse_nearest_color):
6915         * objects-x.c (x_initialize_color_instance):
6916         * objects-x.c (x_print_color_instance):
6917         * objects-x.c (x_finalize_color_instance):
6918         * objects-x.c (x_valid_color_name_p):
6919         * objects-x.c (x_initialize_font_instance):
6920         * objects-x.c (x_print_font_instance):
6921         * objects-x.c (valid_x_font_name_p):
6922         * objects-x.c (truename_via_FONT_prop):
6923         * objects-x.c (truename_via_random_props):
6924         * objects-x.c (truename_via_XListFonts):
6925         * objects-x.c (x_font_truename):
6926         * objects-x.c (x_font_instance_truename):
6927         * objects-x.c (x_font_instance_properties):
6928         * objects-x.c (x_list_fonts):
6929         * objects-x.c (x_find_charset_font):
6930         Mule-ize entire file.
6931         [7].
6932
6933         * objects-x.h:
6934         Mule-verify.
6935
6936         * print.c:
6937         * print.c (std_handle_out_external):
6938         * print.c (debug_print_no_newline):
6939         * print.c (syms_of_print):
6940         Output to all debugger kinds in debug-print.
6941         Fix console-output code under MSWin to actually work.
6942
6943         * process-nt.c (send_signal):
6944         * process-nt.c (nt_create_process):
6945         Use newer Unicode macros.
6946
6947         * process-unix.c (unix_create_process):
6948         * process-unix.c (unix_canonicalize_host_name):
6949         * process-unix.c (unix_open_network_stream):
6950         [7].
6951
6952         * scrollbar-x.c:
6953         Mule-verify.
6954
6955         * search.c (syms_of_search):
6956         [2].
6957
6958         * select-msw.c (mswindows_destroy_selection):
6959         Use LIST_LOOP_2.
6960
6961         * select-x.c (symbol_to_x_atom):
6962         [7].
6963
6964         * select.c (syms_of_select):
6965         [2].
6966
6967         * sound.c (Fplay_sound_file):
6968         [7].
6969
6970         * specifier.c:
6971         * specifier.c (decode_specifier_type):
6972         * specifier.c (Fvalid_specifier_locale_type_p):
6973         * specifier.c (check_valid_locale_or_locale_type):
6974         * specifier.c (decode_locale):
6975         * specifier.c (decode_locale_type):
6976         * specifier.c (decode_locale_list):
6977         * specifier.c (check_valid_domain):
6978         * specifier.c (decode_specifier_tag_set):
6979         * specifier.c (Fcanonicalize_tag_set):
6980         * specifier.c (Fdefine_specifier_tag):
6981         * specifier.c (Fspecifier_tag_predicate):
6982         * specifier.c (check_valid_inst_list):
6983         * specifier.c (check_valid_spec_list):
6984         * specifier.c (decode_how_to_add_specification):
6985         * specifier.c (check_modifiable_specifier):
6986         * specifier.c (specifier_add_spec):
6987         * specifier.c (boolean_validate):
6988         * specifier.c (display_table_validate):
6989         [9].
6990
6991         * specifier.c (syms_of_specifier):
6992         Move some symbols to general-slots.h.
6993         [2].
6994
6995         * symbols.c:
6996         * symbols.c (Fmapatoms):
6997         * symbols.c (Fapropos_internal):
6998         Add GCPROs.
6999
7000         * symbols.c (set_default_buffer_slot_variable):
7001         * symbols.c (set_default_console_slot_variable):
7002         [1].
7003
7004         * symbols.c (defsymbol_massage_name_1):
7005         * symbols.c (defkeyword_massage_name):
7006         * symbols.c (deferror_1):
7007         * symbols.c (deferror):
7008         * symbols.c (deferror_massage_name_and_message):
7009         * symeval.h:
7010         * symeval.h (DEFSYMBOL):
7011         Support DEFSYMBOL*, DEFKEYWORD, DEFERROR
7012
7013         * symbols.c (syms_of_symbols):
7014         [2].
7015
7016         * symsinit.h:
7017         * symsinit.h (init_win32): New.
7018         Also new is syms_of_dialog_mswindows.
7019
7020         * syswindows.h:
7021         Add new Unicode macros, missing Cygwin wide-char functions,
7022         convenience conversion macros for Qmswindows_tstr, macros for
7023         encapsulating required MSWin <-> Cygwin filename conversions,
7024         prototype for dynamically-extracted (not in NT 3.51) functions.
7025
7026         * toolbar-x.c:
7027         Mule-verify.
7028
7029         * tooltalk.c (Fadd_tooltalk_message_arg):
7030         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
7031         * tooltalk.c (Fadd_tooltalk_pattern_arg):
7032         [7].
7033
7034         * tooltalk.c (syms_of_tooltalk):
7035         [2].
7036
7037         * unexnt.c:
7038         * unexnt.c (unexec):
7039         Fix up headers, declaration of unexec() to be more standard.
7040
7041 2000-07-20  Martin Buchholz  <martin@xemacs.org>
7042
7043         * offix.h: Revert change to guard macros - they're used in offix.c!
7044
7045 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7046
7047         * lisp.h: Defsubred Fdelete.
7048
7049         * console-msw.h:  (msprinter_default_printer): Added.
7050
7051         * console-msw.c (msprinter_canonicalize_console_connection):
7052         (msprinter_canonicalize_device_connection): Added.
7053
7054         * device-msw.c (msprinter_default_printer):
7055         (Fmswingows_get_default_printer):
7056         (signal_enum_priner_error):
7057         (Fmswingows_printer_list): Added.
7058
7059 2000-07-19  Martin Buchholz <martin@xemacs.org>
7060
7061         * XEmacs 21.2.35 is released.
7062
7063 2000-07-19  Martin Buchholz  <martin@xemacs.org>
7064
7065         * select-x.c (x_handle_selection_request):
7066         Text selected in xemacs and pasted into xterm failed to appear.
7067         Spelling fixes and cosmetic changes.
7068
7069 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7070
7071         * event-msw.c (mswindows_drain_windows_queue): Correctly check for
7072         XEmacs frame (fix for doubling chars in dialog boxes).
7073
7074 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
7075
7076         * select.c (select_convert_in, select_convert_out):
7077         Don't call intern() every time.
7078
7079         * select.c (Qselect_convert_in, Qselect_convert_out): New.
7080         * select.c (vars_of_select): Initialise them.
7081
7082 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
7083
7084         * select.c (selection-coercible-types): New.
7085
7086         * select.c (own-selection-internal):
7087         * select.c (get-selection-internal):
7088         MULE bug fix - these should default to COMPOUND_TEXT and not
7089         STRING for MULE. I think.
7090
7091         * select.c (select_convert_out): Use selection-coercible-types
7092         to find types that we can attempt to perform coercions on.
7093
7094 2000-07-18  Martin Buchholz  <martin@xemacs.org>
7095
7096         * mule-wnnfns.c:
7097         * mule-canna.c:
7098         Add coding: cookie to identify encoding.
7099
7100         * mule-canna.c (CANNA_mode_keys): make static.
7101         Use proper prototypes, even for functions of no arguments.
7102         Remove external prototype for Fding().
7103
7104         * symsinit.h: Add missing prototype for reinit_vars_of_mule_wnn.
7105
7106         * select.c (syms_of_select): Add missing DEFSUBR.
7107
7108 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
7109
7110         * select.c (get_selection_internal, own_selection_internal):
7111         Make the type default to STRING, rather than placing a nil type
7112         into Vselection_alist.
7113
7114 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
7115
7116         * gpmevent.c (tty_selection_exists_p):
7117         * gpmevent.c (tty_own_selection):
7118         Updated parameter lists.
7119
7120 2000-07-15 Alastair J. Houghton <ajhoughton@lineone.net>
7121
7122         * select.h (selection-alist): Removed declaration.
7123
7124         * select.h (get_local_selection):
7125         * select.c (get_local_selection):
7126         Made static.
7127
7128         * select.h (convert_selection): Removed declaration.
7129         * select.c (convert_selection): Removed.
7130         This function belongs in Lisp.
7131
7132         * select.h (select_convert_in): Declare.
7133         * select.h (select_convert_out): Declare.
7134         * select.c (select_convert_in): New.
7135         * select.c (select_convert_out): New.
7136         New conversion functions for other files to call.
7137
7138         * select.h (select_notify_buffer_kill): Declare.
7139         * select.c (select_notify_buffer_kill): New.
7140         New functions that get called from kill-buffer.
7141
7142         * buffer.c (kill-buffer): Call select_notify_buffer_kill, rather than
7143         X-specific lisp code.
7144
7145         * select.h: Declare some of the lisp-visible functions for
7146         external use.
7147
7148         * select.c (clean_local_selection_data): Removed. This was
7149         a disgusting function, and previously should have been in
7150         select-x.c in any case. The functionality is now provided
7151         in select-convert-from-integer (select.el).
7152
7153         * select.c (available-selection-types): Fixed stupidity where
7154         INTEGER and ATOM got added twice. Also add STRING when we see an
7155         extent.
7156
7157         * select.c (get-selection-internal): Removed symbol stripping. No
7158         longer causes conversion when data comes from the internal cache.
7159
7160         * select.c (syms_of_select): Added new functions.
7161
7162         * select-x.c (motif_clipboard_cb): Use select_convert_out. Rewrote
7163         error checking - previously this called abort!
7164
7165         * select-x.c (x_own_selection): Changed comment.
7166
7167         * select-x.c (x_handle_selection_request): Use select_convert_out.
7168         Don't mess with selection-alist; it's an internal variable of select.c.
7169
7170         * select-x.c (x_get_foreign_selection): Use select_convert_in.
7171
7172         * select-x.c (x_handle_selection_clear): Use get-selection-timestamp,
7173         rather than messing with selection-alist.
7174
7175         * select-msw.c (mswindows_get_foreign_selection):
7176         Use TO_INTERNAL_FORMAT rather than hacking.
7177
7178 2000-07-14  Martin Buchholz  <martin@xemacs.org>
7179
7180         * process-unix.c (unix_open_multicast_group):
7181         (unix_open_multicast_group): Remove useless casts.
7182
7183 2000-07-13  Martin Buchholz  <martin@xemacs.org>
7184
7185         * sound.c (Fplay_sound): Fix `unused variable' warning.
7186
7187         * emacs.c (main): Use correct type for _environ on SCO5.
7188
7189 2000-07-12 Alastair J. Houghton <ajhoughton@lineone.net>
7190
7191         * console.h (own_selection_method):
7192         * console.h (selection_exists_p_method):
7193         * console.h (available_selection_types_method): New.
7194         * console.h (register_selection_data_type_method): New.
7195         * console.h (selection_data_type_name): New.
7196
7197         * console-msw.h (mswindows_destroy_selection): Declare it.  New
7198         function & alist to track GlobalAlloc()'d handles that need
7199         releasing when the clipboard data gets replaced or emptied.
7200
7201         * event-msw.c (mswindows_wnd_proc): Call it.
7202
7203         * lisp.h, general.c (Qappend): New symbol representing a
7204         `how-to-add' mode.
7205
7206         * select.c (own-selection-internal):
7207         * select.c (selection-exists-p):
7208         * select.c (available-selection-types): New.
7209         * select.c (register-selection-data-type): New.
7210         * select.c (selection-data-type-name): New.  New functions to deal
7211         with device-specific selection data formats.
7212         * select.c (selection-converter-out-alist): Renamed.
7213         * select.c (selection-converter-in-alist): New.
7214         * select.c (selection-appender-alist): New.  Added new alists.
7215         * select.c (syms_of_select, vars_of_select): Added new symbols &
7216         variables.
7217         * select.c (get_local_selection): Split.
7218         * select.c: Removed spurious type checking - selections may now be
7219         of any type, not just strings.
7220         * select.c (own-selection-internal):
7221
7222         * select.h, select.c (convert_selection): New. Created
7223         convert_selection() function based on get_local_selection().
7224         * select.h, select.c (QCF_*): New symbols representing mswindows
7225         clipboard formats.
7226         * select.h, select.c (Qreplace_all, Qreplace_existing): New
7227         symbols representing `how-to-add' modes.
7228
7229         * select-msw.c (x_sym_p): New.
7230         * select-msw.c (symbol_to_ms_cf): New.
7231         * select-msw.c (ms_cf_to_symbol): New. New functions to deal with
7232         symbols & clipboard formats. Can also handle string names.
7233         * select-msw.c (mswindows_own_selection):
7234         * select-msw.c (mswindows_selection_exists_p):
7235         Added `data-type' parameter. Use it.
7236         * select-msw.c (mswindows_available_selection_types): New.
7237         * select-msw.c (mswindows_register_selection_data_type): New.
7238         * select-msw.c (mswindows_selection_data_type_name): New.
7239         * select-msw.c (mswindows_own_selection):
7240         * select-msw.c (mswindows_get_foreign_selection):
7241         * select-msw.c (mswindows_selection_exists_p):  Rewrote.
7242         * select-msw.c (console_create_select_mswindows): Added new methods.
7243         * select-msw.c (mswindows_destroy_selection): New.
7244         * select-msw.c (Vhandle_alist): New list.
7245         * select-msw.c (mswindows_own_selection):
7246
7247         * select-x.c (x_own_selection):
7248         * select-x.c (x_selection_exists_p):
7249         * select-x.c: Added some comments about maybe using new
7250         functionality.
7251         * select-x.c (x_own_selection):
7252
7253         * specifier.c: Remove definition of Qappend (now in general.c)
7254         * specifier.c (syms_of_specifier): Remove Qappend.
7255
7256 2000-07-12  Martin Buchholz  <martin@xemacs.org>
7257
7258         * config.h.in: Add socklen_t.
7259
7260         * s/decosf4-0.h: No special compiler flags needed or desired.
7261         In particular, undefine _BSD for DEC OSF 4.0.
7262
7263 2000-07-07  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7264
7265         * redisplay-msw.c (msprinter_frame_output_end): Added.
7266         (console_type_create_redisplay_mswindows): Referred the above.
7267
7268         * frame.c (setup_frame_without_minibuffer): Do not create a
7269         default minibuffer frame on a printer device.
7270
7271         * frame-msw.c (apply_dc_geometry): Added.
7272         (msprinter_start_page):
7273         (msprinter_init_frame_3):
7274         (msprinter_eject_page): Use it.
7275
7276         * console-msw.h (struct msprinter_frame): Added pix_left and top,
7277         and removed residual duplex and orientation properties.
7278
7279 2000-07-11  Martin Buchholz  <martin@xemacs.org>
7280
7281         * eval.c (function_argcount): Work around a DEC CC compiler bug.
7282
7283         * unexalpha.c: Remove system prototypes from C sources!
7284
7285 2000-07-09  Adrian Aichner  <aichner@ecf.teradyne.com>
7286
7287         * eval.c: Remove references to M-x edit-options in DEFUNs for
7288         `defvar' and `defconst'.
7289
7290 2000-07-09  Martin Buchholz  <martin@xemacs.org>
7291
7292         * config.h.in: Remove SMART_INCLUDE hackery.
7293
7294         PostgreSQL hacking:
7295         * config.h.in: Don't use SMART_INCLUDE.
7296
7297         * postgresql.h: Include libpq-fe.h here.  Fix typo.
7298         * inline.c: Simply #include "postgresql.h"
7299         * postgresql.c:
7300         - Don't use SMART_INCLUDE
7301         - Use simply "const".
7302         - Use standard doc string conventions.
7303         - Use correct type for result of PQstatus.
7304
7305 2000-07-09  Martin Buchholz  <martin@xemacs.org>
7306
7307         * glyphs-x.c (x_xface_instantiate): Fix C++ compilation warnings.
7308
7309         C++ compilation changes.
7310         * config.h.in (EXTERN_C): Define.
7311         * config.h.in (not): This is also a C++ keyword.
7312         * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Enable C++ compilation.
7313         * cm.c: Use EXTERN_C.
7314         * redisplay-tty.c: Use EXTERN_C.
7315         * sysdep.c: Use EXTERN_C.  Remove Gould support.
7316
7317 2000-07-09  Martin Buchholz  <martin@xemacs.org>
7318
7319         * general.c: Remove duplicate definition for Qfunction.
7320
7321 2000-07-08  Ben Wing  <ben@xemacs.org>
7322
7323         * device-msw.c (msprinter_init_device):
7324         * device-msw.c (sync_printer_with_devmode):
7325         * device-msw.c (handle_devmode_changes):
7326         * device-msw.c (print_dialog_worker):
7327         * device-msw.c (Fmsprinter_apply_settings):
7328         * device-msw.c (hash_devmode):
7329         * device-msw.c (Fmsprinter_settings_despecialize):
7330         use Qmswindows_tstr, not Qctext.
7331
7332         * vm-limit.c (check_memory_limits):
7333         avoid infinite loop printing warning messages.
7334
7335 2000-07-05  Craig Lanning  <lanning@scra.org>
7336
7337         * Makefile.in.in: Add support for including the Windows resources
7338         when building with the cygwin and mingw targets.
7339
7340         * buffer.c: from Dan Holmsand, on Windows $PWD is most likely either
7341         not set or not correct.
7342         (directory_is_current_directory): Don't compile for WIN32_NATIVE.
7343         (init_initial_directory): Don't try to use $PWD on the
7344         WIN32_NATIVE target.
7345
7346         * s\cygwin32.h:
7347         [[Add -mwindows to eliminate console window.]] not required --ben
7348         (HAVE_NATIVE_SOUND): removed; now handled by configure.
7349         (MAIL_USE_POP): removed; now handled by configure.
7350
7351         * s\mingw32.h: [[Add -mwindows to eliminate console window.]] not in
7352         C_SWITCH_SYSTEM or it will affect lib-src progs. --ben
7353         (HAVE_NATIVE_SOUND): removed; now handled by configure.
7354         (MAIL_USE_POP): removed; now handled by configure.
7355         (ENCAPSULATE_STAT): from Dan Holmsand, added.
7356         (ENCAPSULATE_FSTAT): from Dan Holmsand, added.
7357         (DIRECTORY_SEP): from Dan Holmsand, use lisp variable instead of
7358         constant string.
7359         (HAVE_TIMEVAL): from Dan Holmsand, added; struct timeval is picked
7360         up from <winsock.h> via systime.h.
7361         (HAVE_GETPAGESIZE): from Dan Holmsand, added.
7362         (getpagesize): from Dan Holmsand, added.
7363         Added #endif which was left dangling by Ben's mega patch; added
7364         comment to help prevent this in the future.
7365
7366         * sysdll.c: added #include <windows.h> for WIN32_NATIVE case.
7367
7368 2000-07-05  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7369
7370         * console-msw.h (struct mswindows_device): Removed unnecessary
7371         cached device geometry values.
7372         Added update_tick and an accessor macro.
7373         (Lisp_Devmode): Added lrecord declaration.
7374         (struct msprinter_device): Contain devmode as a Lisp object.
7375         Added mswindows_get_selected_frame_hwnd();
7376
7377         * console.h (struct console_methods): Indentation nitpicking.
7378
7379         * device-msw.c (mswindows_init_device): Do not initialize geometry
7380         cache. Initialize update tick.
7381         (mswindows_device_system_metrics): Ask the device for its geometry.
7382         (global_free_2_maybe):
7383         (devmode_to_hglobal):
7384         (handle_printer_changes):
7385         (ensure_not_printing):
7386         (print_dialog_worker):
7387         (Fmsprinter_print_setup_dialog):
7388         (Fmsprinter_print_dialog):
7389         (plist_get_margin):
7390         (plist_set_margin):
7391         (Fmsprinter_page_setup_dialog): Added functions.
7392         (sync_printer_with_devmode):
7393         (handle_devmode_changes):
7394         (Fmsprinter_get_settings):
7395         (Fmsprinter_select_settings):
7396         (Fmsprinter_apply_settings):
7397         (allocate_devmode):
7398         (Fmsprinter_settings_copy):
7399         (Fmsprinter_settings_despecialize):
7400         (print_devmode):
7401         (finalize_devmode):
7402         (equal_devmode):
7403         (hash_devmode): Added functions
7404         (syms_of_device_mswindows): Init devmode lrecord class.
7405
7406         * device.h: Added an exfun for find-device.
7407
7408         * event-msw.c (mswindows_wnd_proc): Do not update the cached
7409         geometry; although, recreate the device compatible DC.
7410
7411         * frame-msw.c (mswindows_get_selected_frame_hwnd): Added.
7412         (msprinter_init_frame_3):
7413         (msprinter_frame_property):
7414         (msprinter_internal_frame_property_p):
7415         (msprinter_frame_properties):
7416         (msprinter_set_frame_properties): Removed 'orientation and 'duplex
7417         print job properties (will move to device settings).
7418
7419         * lisp.h: Added symbols.
7420
7421         * general.c (syms_of_general): Declared them.
7422
7423         * hash.c (string_hash): Added.
7424
7425         * lrecord.h (lrecord_type): Added devmode lrecord type.
7426
7427 2000-07-02  Mike Sperber <mike@xemacs.org>
7428
7429         * s/freebsd.h (INTERRUPTIBLE_OPEN): open *is* interruptible on
7430         FreeBSD 4.0.
7431
7432 2000-06-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
7433
7434         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
7435         integer.
7436
7437 2000-06-07  MORIOKA Tomohiko  <tomo@urania.m17n.org>
7438
7439         * data.c (Fstring_to_number): Don't recognize floating point if
7440         base is not 10.
7441
7442 2000-06-22  Martin Buchholz  <martin@xemacs.org>
7443
7444         * glyphs-widget.c (tab_control_query_geometry):
7445         (widget_query_geometry):
7446         (button_query_geometry):
7447         * glyphs.c (text_query_geometry):
7448         Enforce type correctness.
7449
7450 2000-06-18  Martin Buchholz  <martin@xemacs.org>
7451
7452         * s/decosf4-0.h (_etext): Use portable _etext instead of etext.
7453         * s/decosf4-0.h (_edata): Use portable _edata instead of edata.
7454
7455 2000-06-17  Martin Buchholz  <martin@xemacs.org>
7456
7457         * s/decosf4-0.h: Never #include "/usr/include/FOO.h" because this
7458         conflicts with gcc's fixincluded version of FOO.h.
7459
7460         * glyphs.h (image_instance_geometry): Remove trailing `,'
7461
7462 2000-06-08  Mike Alexander  <mta@arbortext.com>
7463
7464         (MAX_SHOVE_BUFFER_SIZE): Change to 512 to match stream buffer size
7465         (shove_thread): Don't write the same output twice
7466         (make_ntpipe_output_stream): Increase priority of shove thread
7467         (ntpipe_shove_writer): Call SwitchToThread to give shove thread a
7468         chance to run
7469         (ntpipe_shove_closer): Don't delete the pipe until we're done with
7470         it.
7471
7472 2000-06-12  Ben Wing  <ben@xemacs.org>
7473
7474         * s\mingw32.h (sigset):
7475         * s\windowsnt.h (sigset):
7476         rename msw_ to mswindows_ for consistency with general convention.
7477
7478 2000-06-12  Ben Wing  <ben@xemacs.org>
7479
7480         * console-msw.c:
7481         * console-msw.c (mswindows_get_console_hwnd):
7482         * console-msw.c (mswindows_ensure_console_allocated):
7483         * console-msw.c (mswindows_hide_console):
7484         * console-msw.c (mswindows_show_console):
7485         * console-msw.c (mswindows_ensure_console_buffered):
7486         * console-msw.c (mswindows_output_console_string):
7487         * console-msw.c (mswindows_windows9x_p):
7488         * console-msw.h:
7489         * device-msw.c (mswindows_get_workspace_coords):
7490         * device-msw.c (mswindows_device_system_metrics):
7491         * dialog-msw.c (mswindows_popup_dialog_box):
7492         * event-msw.c (mswindows_wnd_proc):
7493         * frame-msw.c (mswindows_size_frame_internal):
7494         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
7495         * menubar-msw.c (displayable_menu_item):
7496         * menubar-msw.c (mswindows_char_is_accelerator):
7497         * nt.c:
7498         * nt.c (mswindows_sigset):
7499         * nt.c (mswindows_sigrelse):
7500         * nt.c (mswindows_sigpause):
7501         * nt.c (mswindows_raise):
7502         * nt.c (timer_proc):
7503         * ntproc.c:
7504         * ntproc.c (find_child_console):
7505         * ntproc.c (sys_kill):
7506         * print.c:
7507         * print.c (std_handle_out_external):
7508         * process-nt.c (find_child_console):
7509         * process-nt.c (send_signal_the_95_way):
7510         * process-nt.c (ensure_console_window_exists):
7511         * process-nt.c (nt_create_process):
7512         * syssignal.h:
7513         rename msw_ to mswindows_ for consistency with general convention.
7514
7515         * emacs.c:
7516         * dumper.c:
7517         include nt.h, not syswindows.h.
7518
7519         * nt.c (mswindows_fstat):
7520         * nt.c (mswindows_stat):
7521         prefix mswindows_ instead of attempting to directly override the
7522         library functions.  fix declarations.
7523
7524         * nt.h:
7525         include syswindows.h.  move some sysdep.h stuff here.
7526
7527         * ntheap.h:
7528         include syswindows.h, not <windows.h>.
7529
7530         * ntplay.c:
7531         clean up headers.
7532
7533         * sysdep.c:
7534         clean up headers.
7535
7536         * sysdep.c (sys_fstat):
7537         * sysdep.c (sys_stat):
7538         call mswindows versions when appropriate.
7539
7540         * sysdep.h:
7541         move mswin decls to nt.h.
7542
7543         * syswindows.h:
7544         add long comment describing appropriate use of the various windows
7545         headers.
7546
7547 2000-06-11  Ben Wing  <ben@xemacs.org>
7548
7549         * device-x.c: Correct doc string for sixth arg of x-get-resource.
7550
7551 2000-06-10  Ben Wing  <ben@xemacs.org>
7552
7553         * Makefile.in.in (release):
7554         Correction to make sure xemacs.exe always dumped when correct.
7555
7556         * alloca.c:
7557         * balloon_help.c:
7558         [[[[3]]]]: Conditionalize on actual problem, not WINDOWSNT.
7559
7560         * buffer.c (set_buffer_internal):
7561         [[[[2]]]]: Remove HAVE_FEP code.
7562
7563         * buffer.c (init_initial_directory):
7564         [3].
7565
7566         * bytecode.c:
7567         [[[[4]]]]: limits.h standardly included in lisp.h; remove from
7568         individual files.
7569
7570         * callproc.c:
7571         * callproc.c (call_process_cleanup):
7572         * callproc.c (Fold_call_process_internal):
7573         * callproc.c (child_setup):
7574         * callproc.c (getenv_internal):
7575         * callproc.c (init_callproc):
7576         * callproc.c (vars_of_callproc):
7577         [[[[1]]]]: WINDOWSNT -> WIN32_NATIVE.
7578         __CYGWIN32__ -> CYGWIN.
7579         DOS_NT -> WIN32_NATIVE.
7580         Remove MSDOS support/references, converting to WIN32_NATIVE
7581           where correct.
7582         __MINGW32__ -> MINGW.
7583         Fix windows.h includes.
7584         Remove bogus HAVE_NTGUI.
7585
7586         * config.h.in:
7587         [2].
7588
7589         * console-msw.c:
7590         mswindows_message_outputted added for use in allowing startup
7591         errors on the console to be seen.
7592
7593         * console-msw.c (msw_ensure_console_allocated):
7594         * console-msw.c (msw_output_console_string):
7595         * console-msw.c (DHEADER):
7596         * console-msw.c (DOPAQUE_DATA):
7597         * console-msw.c (DEVENT):
7598         * console-msw.c (DCONS):
7599         * console-msw.c (DCONSCDR):
7600         * console-msw.c (DSTRING):
7601         * console-msw.c (DVECTOR):
7602         * console-msw.c (DSYMBOL):
7603         * console-msw.c (DSYMNAME):
7604         Fix warnings.
7605
7606         * console-stream.c (stream_init_console):
7607         Fix text/binary problems.
7608
7609         * device-msw.c:
7610         * device-msw.c (mswindows_finish_init_device):
7611         * device-msw.c (mswindows_delete_device):
7612         [1].
7613
7614         * device.c (handle_asynch_device_change):
7615         [3].
7616
7617         * dgif_lib.c:
7618         * dgif_lib.c (DGifOpenFileName):
7619         * dgif_lib.c (DGifOpenFileHandle):
7620         * dgif_lib.c (DGifGetLine):
7621         * dgif_lib.c (DGifGetPixel):
7622         Added config.h/lisp.h, fix up includes.
7623         [1].
7624
7625         * dired-msw.c:
7626         [4].
7627
7628         * dired.c:
7629         * dired.c (file_name_completion):
7630         * dired.c (Ffile_attributes):
7631         * dired.c (syms_of_dired):
7632         [1].
7633
7634         * dumper.c:
7635         * dumper.c (pdump_file_unmap):
7636         * dumper.c (pdump_load):
7637         [1].
7638
7639         * editfns.c:
7640         * editfns.c (Ftemp_directory):
7641         * editfns.c (user_login_name):
7642         * editfns.c (Fuser_real_login_name):
7643         * editfns.c (get_home_directory):
7644         [1].
7645
7646         * elhash.c (finish_marking_weak_hash_tables):
7647         [[[[5]]]]: Fix GCC warnings.
7648
7649         * emacs.c:
7650         * emacs.c (mswindows_handle_hardware_exceptions):
7651         * emacs.c (make_arg_list_1):
7652         * emacs.c (main_1):
7653         * emacs.c (Fkill_emacs):
7654         * emacs.c (Fdump_emacs):
7655         [1].
7656         Fix problems with nested crashes, add long comment.
7657
7658         * event-Xt.c (init_event_Xt_late):
7659         [1].
7660
7661         * event-msw.c:
7662         * event-msw.c (mswindows_dde_callback):
7663         * event-msw.c (mswindows_handle_sticky_modifiers):
7664         * event-msw.c (mswindows_wnd_proc):
7665         [1].
7666         [5].
7667
7668         * events.c (character_to_event):
7669         [1].
7670
7671         * fileio.c:
7672         * fileio.c (Ffile_name_directory):
7673         * fileio.c (Ffile_name_nondirectory):
7674         * fileio.c (directory_file_name):
7675         * fileio.c (Fexpand_file_name):
7676         * fileio.c (Fsubstitute_in_file_name):
7677         * fileio.c (Ffile_name_absolute_p):
7678         * fileio.c (check_executable):
7679         * fileio.c (Ffile_readable_p):
7680         * fileio.c (Ffile_accessible_directory_p):
7681         * fileio.c (Ffile_modes):
7682         * fileio.c (Funix_sync):
7683         * fileio.c (vars_of_fileio):
7684         [1]. [4].
7685
7686         [[[[7]]]]: Move CORRECT_DIR_SEPS to s\windowsnt.h.
7687
7688         Expand getdefdir defn.
7689         Fix bogus rename() comment.
7690
7691         [[[[6]]]]: Fix Windows includes w.r.t. removed nt\inc.  Attempt
7692         to use standard XEmacs include files, e.g. sysfile.h, rather
7693         than system-specific includes.
7694
7695         * fns.c:
7696         * fns.c (Fsubseq):
7697         [5]. [6].
7698
7699         * frame.c (vars_of_frame):
7700         [1].
7701
7702         * getloadavg.c:
7703         * getloadavg.c (getloadavg):
7704         [1]. [6].
7705         #ifdef XEMACS not defined on Cygwin.  Remove this; no need for it.
7706         (We don't use it elsewhere in the code; just add a comment.)
7707
7708         * gif_io.c:
7709         [6].
7710         Add config.h.
7711
7712         * glyphs-msw.c:
7713         * glyphs-msw.c (mswindows_resource_instantiate):
7714         [1].
7715
7716         * glyphs-x.c (x_native_layout_instantiate):
7717         [5].
7718
7719         * gui-msw.c (Fmswindows_shell_execute):
7720         [1].
7721
7722         * insdel.c:
7723         [4].
7724
7725         * lisp.h:
7726         [4]. [5].
7727
7728         * lread.c (locate_file_in_directory_mapper):
7729         [1].
7730
7731         * lstream.c:
7732         [4].
7733
7734         * mem-limits.h:
7735         * mem-limits.h (get_lim_data):
7736         [1].
7737
7738         * menubar-msw.c:
7739         [4].
7740
7741         * ndir.h:
7742         [1].
7743
7744         * nt.c:
7745         * nt.c (getwd):
7746         * nt.c (closedir):
7747         * nt.c (rva_to_section):
7748         * nt.c (mswindows_executable_type):
7749         [1]. [6].
7750         Fix closedir() defn.
7751
7752         * nt.h:
7753         [[[[8]]]]: *_OK defs moved to sysfile.h.
7754
7755         * ntproc.c:
7756         [6]. [7].
7757
7758         * objects-x.c:
7759         [4].
7760
7761         * print.c:
7762         * print.c (std_handle_out_external):
7763         [1]. [4].
7764
7765         * process-nt.c:
7766         * process-nt.c (nt_create_process):
7767         [6].
7768         try to fix process quoting somewhat.
7769
7770         * process-unix.c (unix_create_process):
7771         [1].
7772
7773         * process.c:
7774         * process.c (vars_of_process):
7775         Add Vnull_device.
7776
7777         * process.h:
7778         [1].
7779
7780         * realpath.c:
7781         * realpath.c (xrealpath):
7782         [1].
7783
7784         * redisplay-tty.c (init_tty_for_redisplay):
7785         [3].
7786
7787         * redisplay.c:
7788         [4]. [6].
7789
7790         * scrollbar-msw.c:
7791         [4].
7792
7793         * sheap.c:
7794         * sheap.c (more_static_core):
7795         * sheap.c (report_sheap_usage):
7796         [5]. [6].
7797
7798         * signal.c:
7799         * signal.c (alarm_signal):
7800         [1]. [6].
7801
7802         * sound.c:
7803         [6].
7804
7805         * strftime.c:
7806         * strftime.c (zone_name):
7807         [1]. [5].
7808
7809         * symsinit.h (init_sunpro):
7810         [1].
7811
7812         * syscommctrl.h:
7813         commctrl.h not in Cygwin b20.1.
7814
7815         * sysdep.c:
7816         * sysdep.c (endif):
7817         * sysdep.c (sys_subshell):
7818         * sysdep.c (init_baud_rate):
7819         * sysdep.c (emacs_get_tty):
7820         * sysdep.c (emacs_set_tty):
7821         * sysdep.c (tty_init_sys_modes_on_device):
7822         * sysdep.c (init_system_name):
7823         * sysdep.c (sys_open):
7824         * sysdep.c (interruptible_open):
7825         * sysdep.c (sys_fopen):
7826         * sysdep.c (sys_mkdir):
7827         * sysdep.c (sys_rename):
7828         * sysdep.c (get_process_times_1):
7829         [1]. [6].
7830
7831         * sysdep.h:
7832         [1].
7833
7834         * sysdir.h:
7835         * sysdir.h (DIRENTRY_NONEMPTY):
7836         [1]. [6].
7837
7838         * sysdll.c (dll_init):
7839         * sysdll.h:
7840         [1].
7841
7842         * sysfile.h:
7843         [1]. [6]. [8].
7844         added text/binary defs.
7845
7846         * sysfloat.h:
7847         [1].
7848
7849         * sysproc.h:
7850         * sysproc.h (EDESTADDRREQ):
7851         * sysproc.h (poll_fds_for_input):
7852         [1]. [6].
7853
7854         * syspwd.h:
7855         [6].
7856
7857         * syssignal.h:
7858         [1].
7859
7860         * systime.h:
7861         [1]. [6].
7862
7863         * systty.h:
7864         [1].
7865
7866         * syswindows.h:
7867         [1].
7868         Always define WIN32_LEAN_AND_MEAN.
7869
7870         * unexcw.c (unexec):
7871         [5].
7872
7873         * unexec.c:
7874         * unexec.c (copy_text_and_data):
7875         * unexec.c (adjust_lnnoptrs):
7876         [1].
7877
7878         * unexnt.c:
7879         * unexnt.c (_start):
7880         [1].
7881
7882 2000-06-07  Ben Wing  <ben@xemacs.org>
7883
7884         * mule-mcpath.c, mule-mcpath.h: Removed.  Old, crufty code that
7885         was used only as a model.  We've long since extracted any useful
7886         logic or code out of this. (I just did an exhaustive search.)
7887
7888         * s\msdos.h: Removed.
7889
7890         * s\windows95.h: Removed.
7891
7892 2000-06-10  Ben Wing  <ben@xemacs.org>
7893
7894         * s\cygwin32.h:
7895         [1]. [5].
7896         Don't use extern with fun defs.
7897
7898         * s\mingw32.h:
7899         [1]. [7].
7900         Remove nt\inc include.
7901         Remove getdisk, getdefdir. (The former is unused, the latter
7902         expanded in fileio.h.)
7903
7904         * s\windowsnt.h:
7905         * s\windowsnt.h (WIN32_NATIVE):
7906         * s\windowsnt.h (HAVE_STRCASECMP):
7907         [1]. [7].
7908         Add long comment about preprocessor changes.
7909         Remove getdisk, getdefdir. (The former is unused, the latter
7910         expanded in fileio.h.)
7911
7912 2000-06-10  Ben Wing  <ben@xemacs.org>
7913
7914         * m\arm.h:
7915         * m\delta.h:
7916         * m\intel386.h:
7917         * m\sequent.h:
7918         * m\template.h:
7919         * m\windowsnt.h:
7920         [1].
7921         Remove bogus/unused NO_SOCK_SIGIO.
7922
7923 2000-06-08  Hrvoje Niksic  <hniksic@iskon.hr>
7924
7925         * lisp.h (set_string_char): Call set_string_byte with a Bufbyte,
7926         not an Emchar.
7927
7928 2000-06-04  Mike Sperber <mike@xemacs.org>
7929
7930         * casetab.c (set_case_table): For `set-standard-case-table',
7931         actually deposit the new case tables where the rest of XEmacs can
7932         see them.
7933
7934 2000-06-05  Yoshiki Hayashi <yoshiki@xemacs.org>
7935
7936         * data.c (Faset): Don't cast XCHAR() to unsigned char.
7937
7938 2000-06-05  Ben Wing  <ben@xemacs.org>
7939
7940         * callproc.c (child_setup): Don't do close_load_descs() under
7941         MS Windows.  Put in a comment explaining why.
7942
7943 2000-05-28  Adrian Aichner  <aichner@ecf.teradyne.com>
7944
7945         * process-nt.c: Reverting patch "Fixing nt_create_process for MKS
7946         Toolkit shell" which breaks `kill-compilation' on Windows NT
7947         native, retaining STDERR handling improvements.
7948
7949 2000-06-01  Andreas Jaeger  <aj@suse.de>
7950
7951         * s/s390.h: Support for S390, based on a patch by Martin
7952         Schwidefsky <schwidefsky@de.ibm.com>.
7953
7954 2000-05-30  Andy Piper  <andy@xemacs.org>
7955
7956         * window.c (allocate_window):
7957         (make_dummy_parent):
7958         (Fset_window_configuration): use new hashtable type.
7959
7960         * glyphs.h (IMAGE_UNSPECIFIED_GEOMETRY):
7961         (struct image_instantiator_methods):
7962         (struct Lisp_Image_Instance): make instance geometry signed.
7963
7964         * glyphs.c (instantiate_image_instantiator):
7965         (image_instance_query_geometry):
7966         (image_instance_layout):
7967         (image_instance_layout):
7968         (query_string_geometry):
7969         (text_query_geometry):
7970         (image_instantiate):
7971         (image_instantiate):
7972         (cache_subwindow_instance_in_frame_maybe):
7973         (subwindow_query_geometry): make instance geometry signed.
7974
7975         * glyphs-widget.c (widget_query_geometry):
7976         (widget_layout):
7977         (button_query_geometry):
7978         (tree_view_query_geometry):
7979         (tab_control_query_geometry):
7980         (layout_query_geometry):
7981         (layout_layout):
7982         (native_layout_layout): make instance geometry signed.
7983
7984 2000-05-29  Olivier Galibert  <galibert@pobox.com>
7985
7986         * lisp.h: Add Qfull_assoc symbol and WEAK_LIST_FULL_ASSOC
7987         constant.
7988
7989         * general.c (syms_of_general): Add Qfull_assoc symbol.
7990
7991         * data.c (finish_marking_weak_lists): Mark full-assoc lists
7992         correctly.
7993         (decode_weak_list_type): Decode full-assoc type.
7994         (encode_weak_list_type): Encode full-assoc type.
7995         (Fmake_weak_list): Update doc string.
7996
7997 2000-05-30  Andy Piper  <andy@xemacs.org>
7998
7999         * elhash.h (hash_table_weakness): new KEY_VALUE weak hashtable.
8000
8001         * elhash.c (print_hash_table): new KEY_VALUE weak hashtable.
8002         (decode_hash_table_weakness): ditto.
8003         (Fhash_table_weakness): ditto.
8004         (Fhash_table_type): ditto.
8005         (finish_marking_weak_hash_tables): ditto.
8006         (hash_table_weakness_validate): ditto.
8007         (syms_of_elhash): ditto.
8008
8009 2000-05-28  Martin Buchholz <martin@xemacs.org>
8010
8011         * XEmacs 21.2.34 is released.
8012
8013 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
8014
8015         * redisplay.c (VERTICAL_CLIP): No longer reset when updating line
8016         start cache.
8017         (updating_line_start_cache): Gone.
8018         (regenerate_window): Replace resetting of VERTICAL_CLIP by
8019         generic code to force a minimum of 1 line laid out in the
8020         CMOTION_DISP case.
8021
8022 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
8023
8024         * glyphs.c (instantiate_image_instantiator): Check for initialized
8025         height & width no longer special cases IMAGE_NOTHING.
8026         (nothing_instantiate): Set height and width of instance.
8027
8028 2000-05-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
8029
8030         * unexelf.c (unexec): Search for ".data" section.
8031         Initialize new_data2_offset from old_data_index.
8032         Remove redundant check for ElfW.
8033
8034 2000-05-23  Andy Piper  <andy@xemacs.org>
8035
8036         * glyphs.c (get_image_instantiator_governing_domain): allow more
8037         specific domains as the governing domain rather than expecting an
8038         exact match. This fixes problems with layouts.
8039
8040 2000-05-22  Andy Piper  <andy@xemacs.org>
8041
8042         * redisplay-output.c (compare_runes): check for non-images
8043
8044         * glyphs.c (set_glyph_dirty_p): ditto.
8045         (update_glyph_cachel_data): ditto.
8046
8047         * glyphs-widget.c (layout_post_instantiate): ditto.
8048         (layout_post_instantiate): ditto.
8049
8050         * event-msw.c (mswindows_wnd_proc): warning removal.
8051
8052 2000-05-12  Craig Lanning  <CraigL@DyCon.com>
8053
8054         * s\mingw32.h: Added #undef for CLASH_DETECTION.
8055
8056         * syswindows.h: Moved PBS_SMOOTH definition to syscommctrl.h.
8057
8058         * syscommctrl.h (PBS_SMOOTH): Moved from syswindows.h.
8059
8060         * nt.c (rva_to_section): mingw32 needs rva_to_section.
8061         (mswindows_executable_type): mingw32 now has enough headers for
8062         this to work.
8063
8064 2000-05-20  Andy Piper  <andy@xemacs.org>
8065
8066         * console-msw.c (mswindows_output_last_error): ; -> ,
8067
8068 2000-05-12  Andy Piper  <andy@xemacs.org>
8069
8070         * console-msw.c (FROB): compare ints with ints.
8071
8072 2000-05-11  Andy Piper  <andy@xemacs.org>
8073
8074         * glyphs-x.c (x_finalize_image_instance): make minimal build
8075         happy.
8076
8077 2000-05-20  Ben Wing  <ben@xemacs.org>
8078
8079         * event-Xt.c:
8080         * event-Xt.c (vars_of_event_Xt):
8081         move modifier-keys-are-sticky to event-stream.c.
8082
8083         * event-msw.c:
8084         * event-msw.c (mswindows_enqueue_mouse_button_event):
8085         * event-msw.c (key_needs_default_processing_p):
8086         * event-msw.c (XEMSW_LCONTROL):
8087         * event-msw.c (mswindows_handle_sticky_modifiers):
8088         * event-msw.c (FROB):
8089         * event-msw.c (clear_sticky_modifiers):
8090         * event-msw.c (output_modifier_keyboard_state):
8091         * event-msw.c (output_alt_keyboard_state):
8092         * event-msw.c (mswindows_wnd_proc):
8093         * event-msw.c (mswindows_modifier_state):
8094         * event-msw.c (emacs_mswindows_handle_magic_event):
8095         implement sticky modifiers.
8096
8097         * event-stream.c:
8098         * event-stream.c (vars_of_event_stream):
8099         move modifier-keys-are-sticky here.
8100
8101         * lisp.h:
8102         add CHECK_FUNCTION.
8103
8104         * rangetab.c:
8105         implement map-range-table.
8106
8107
8108 2000-05-17  Yoshiki Hayashi  <yoshiki@xemacs.org>
8109
8110         * redisplay-tty.c (reset_tty_modes):
8111         (tty_redisplay_shutdown): Adjust argument type to
8112         tty_frame_output_end.
8113
8114 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
8115
8116         * eval.c (Fbacktrace): Don't output a line with only right
8117         parenthesis.
8118
8119 2000-05-17  Kenji Itoh  <keit@tpj.co.jp>
8120
8121         * postgresql.c (Fpq_connect_poll): Replace `PS' with `polling_status'.
8122         (Fpq_reset_poll): Ditto.
8123
8124 2000-05-16  Katsumi Yamaoka  <yamaoka@jpl.org>
8125
8126         * redisplay-tty.c: Replace tty_output_end with tty_frame_output_end.
8127
8128 2000-05-16  Ben Wing  <ben@xemacs.org>
8129
8130         * buffer.c:
8131         * buffer.c (dfc_convert_to/from_internal_format):
8132         * buffer.c (reinit_vars_of_buffer):
8133         Fix conversion functions to allow reentrancy.
8134
8135         * console-msw.c:
8136         * console-msw.c (mswindows_output_last_error):
8137         New fun, generally useful -- output a human-readable
8138         version of GetLastError() on the console.
8139
8140         * console-msw.h:
8141         * console-msw.h (struct mswindows_frame):
8142         Changes for DeferWindowPos.  Declare mswindows_output_last_error().
8143
8144         * console-stream.c (stream_output_begin):
8145         * console-stream.c (stream_output_end):
8146         * console-stream.c (stream_output_vertical_divider):
8147         * console-stream.c (stream_clear_region):
8148         * console-stream.c (stream_flash):
8149         * console-stream.c (console_type_create_stream):
8150         Delete blank stream methods, not needed.
8151
8152         * console.h (struct console_methods):
8153         Split begin/end methods into window and frame.
8154
8155         * event-msw.c:
8156         * event-msw.c (mswindows_handle_paint):
8157         * event-msw.c (output_alt_keyboard_state):
8158         * event-msw.c (mswindows_wnd_proc):
8159         * event-msw.c (vars_of_event_mswindows):
8160         Comment about problems with ignored-expose.
8161         Define mswindows-debug-events; not really implemented.
8162
8163         * frame-msw.c (mswindows_init_frame_1):
8164         random cleanups.
8165
8166         * glyphs-msw.c:
8167         * glyphs-msw.c (begin_defer_window_pos):
8168         * glyphs-msw.c (mswindows_unmap_subwindow):
8169         * glyphs-msw.c (mswindows_map_subwindow):
8170         * glyphs-msw.c (mswindows_resize_subwindow):
8171         Use DeferWindowPos to reduce flashing when mapping/unmapping.
8172
8173         * glyphs.c (make_image_instance_1):
8174         Fix crash.
8175
8176         * gutter.c (Fredisplay_gutter_area):
8177         Use new begin/end methods.
8178
8179         * lisp.h (Dynarr_new2):
8180         New creation fun.
8181
8182         * redisplay-msw.c:
8183         * redisplay-msw.c (mswindows_frame_output_begin):
8184         * redisplay-msw.c (mswindows_frame_output_end):
8185         * redisplay-msw.c (console_type_create_redisplay_mswindows):
8186         New begin/end methods -- handle DeferWindowPos.
8187
8188         * redisplay-output.c (redisplay_move_cursor):
8189         * redisplay-output.c (redraw_cursor_in_window):
8190         * redisplay-output.c (redisplay_update_line):
8191         * redisplay-output.c (redisplay_output_window):
8192         New begin/end methods.
8193
8194         * redisplay-tty.c:
8195         * redisplay-tty.c (tty_frame_output_begin):
8196         * redisplay-tty.c (tty_frame_output_end):
8197         * redisplay-tty.c (console_type_create_redisplay_tty):
8198         New begin/end methods.
8199
8200         * redisplay-x.c:
8201         * redisplay-x.c (x_window_output_begin):
8202         * redisplay-x.c (x_window_output_end):
8203         * redisplay-x.c (console_type_create_redisplay_x):
8204         New begin/end methods.
8205
8206         * redisplay.c (redisplay_frame):
8207         * redisplay.c (Fredisplay_echo_area):
8208         New begin/end methods.
8209         use MAYBE_DEVMETH for clear_frame; it may not exist.
8210
8211         * window.h (WINDOW_XFRAME):
8212         WINDOW_XFOO macros -- get locale and decode struct pointer.
8213
8214
8215 2000-05-12  Ben Wing  <ben@xemacs.org>
8216
8217         * emacs.c:
8218         * emacs.c (ensure_no_quitting_from_now_on):
8219         * emacs.c (fatal_error_signal):
8220         * emacs.c (mswindows_handle_hardware_exceptions):
8221         * emacs.c (main):
8222         * emacs.c (Fkill_emacs):
8223         * emacs.c (shut_down_emacs):
8224         * emacs.c (assert_failed):
8225         various improvements in fatal error handling.
8226
8227         * eval.c:
8228         move preparing_for_armageddon to emacs.c.
8229
8230         * lisp.h:
8231         declare fatal_error_in_progress.
8232
8233         * print.c:
8234         * print.c (std_handle_out_external):
8235         * print.c (std_handle_out_va):
8236         * print.c (stderr_out):
8237         * print.c (stdout_out):
8238         use console under mswin when no standard output.
8239         don't do code conversion during fatal error.
8240
8241         * scrollbar.c (Fscrollbar_page_up):
8242         * scrollbar.c (Fscrollbar_page_down):
8243         fix missing else.  reindent.
8244
8245 2000-05-11  Jan Vroonhof  <vroonhof@math.ethz.ch>
8246
8247         Emergency fix.
8248
8249         * glyphs.h (GLYPH_CACHEL_DESCENT):
8250         (GLYPH_CACHEL_DESCENT):
8251         (GLYPH_CACHEL_DESCENT):
8252         * glyphs.h (GLYPH_CACHEL_ASCENT): Match parameters to variables
8253         used in case these are inline functions.
8254         Use more absurd values to error check.
8255
8256         include window.h for error check functions.
8257
8258 2000-05-11  Ben Wing  <ben@xemacs.org>
8259
8260         * cmdloop.c (Freally_early_error_handler):
8261         Display message box under windows; otherwise, message will disappear
8262         before it can be viewed.
8263
8264         * console-msw.c:
8265         * console-msw.c (Fmswindows_message_box):
8266         * console-msw.c (FROB):
8267         * console-msw.c (syms_of_console_mswindows):
8268         Define new fun `mswindows-message-box'.
8269         #### I will merge this into `popup-dialog-box'; just give me
8270         a bit of time.
8271
8272         * general.c:
8273         * general.c (syms_of_general):
8274         Some new symbols used in `mswindows-message-box'.
8275
8276         * glyphs.c:
8277         * glyphs.c (Fset_image_instance_property):
8278         put warning in this fun.
8279
8280         * glyphs.h:
8281         * glyphs.h (GLYPH_CACHEL_WIDTH):
8282         * glyphs.h (GLYPH_CACHEL_ASCENT):
8283         * glyphs.h (GLYPH_CACHEL):
8284         * glyphs.h (GLYPH_CACHEL_GLYPH):
8285         define error-checking versions to try to catch a bug i've seen --
8286         redisplay gets in an infinite loop because the glyph width of the
8287         continuation glyph is 65535.
8288
8289         * lisp.h:
8290         Extern message-box stuff.
8291
8292         * window.c (allocate_window):
8293         * window.c (make_dummy_parent):
8294         * window.c (Fset_window_configuration):
8295         Use EQUAL not EQ for subwindow caches to make them work a bit
8296         better. (Something is still very broken.)
8297
8298
8299 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
8300
8301         * glyphs.c (image_instantiate): Suppress gcc warnings.
8302         (Fmake_image_instance): Fix doc string.
8303         * specifier.c (Fmake_specifier): Ditto.
8304
8305 2000-05-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
8306
8307         * paths.h.in (PATH_LOCK): Removed.
8308         * config.h.in (LOCKDIR_USER_DEFINED): Removed.
8309         * emacs.c (complex_vars_of_emacs): Remove configure-lock-directory.
8310
8311 2000-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
8312
8313         * fns.c (Ffeaturep): Update e-mail address in doc-string.
8314         Document (featurep '(and xemacs 21.02)).
8315
8316 2000-05-09  Ben Wing  <ben@xemacs.org>
8317
8318         * buffer.c (complex_vars_of_buffer):
8319         update modeline-format doc.
8320
8321         * device.h:
8322         comment about how DFW_DEVICE should be merged with DOMAIN_DEVICE.
8323
8324         * emacs.c:
8325         timeline of all released versions of Emacs, for use in creating
8326         authorship comments and in synching up.
8327
8328         * glyphs-widget.c (image_instantiator_buttons):
8329         * glyphs-widget.c (image_instantiator_edit_fields):
8330         * glyphs-widget.c (image_instantiator_combo_box):
8331         * glyphs-widget.c (image_instantiator_scrollbar):
8332         * glyphs-widget.c (image_instantiator_progress_guage):
8333         * glyphs-widget.c (image_instantiator_tree_view):
8334         * glyphs-widget.c (image_instantiator_tab_control):
8335         * glyphs-widget.c (image_instantiator_labels):
8336         * glyphs-widget.c (image_instantiator_layout):
8337         * glyphs-widget.c (image_instantiator_native_layout):
8338         rename decode_domain method to governing_domain.
8339
8340         * glyphs.c:
8341         * glyphs.c (Fvalid_image_instantiator_format_p): doc update.
8342         * glyphs.c (add_entry_to_device_ii_format_list):
8343         make sure we don't put an entry more than once into the list.
8344         * glyphs.c (check_instance_cache_mapper):
8345         *************************************************************
8346         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
8347         HAVE BEEN GETTING.
8348         *************************************************************
8349         * glyphs.c (get_image_instantiator_governing_domain):
8350         clean up, expand on new concept of governing domain.
8351         * glyphs.c (instantiate_image_instantiator):
8352         * glyphs.c (allocate_image_instance):
8353         use governing_domain instead of cache_domain in naming.
8354         * glyphs.c (Fvalid_image_instance_type_p): fix docs.
8355         * glyphs.c (make_image_instance_1):
8356         * glyphs.c (Fmake_image_instance):
8357         allow for any domain (not just device), and process the
8358         governing domain correctly.  very big doc fix.
8359         * glyphs.c (Fimage_instance_domain):
8360         new primitive, to retrieve the governing domain of an image instance.
8361         * glyphs.c (image_instantiate):
8362         use new governing_domain stuff.  this fixes a crash you could get
8363         by instantiating certain widget glyphs in frame locales. (should
8364         signal an error instead of crashing.)
8365         * glyphs.c (Fimage_specifier_p): move doc to make-image-specifier.
8366         * glyphs.c (Fglyphp): clean up doc.
8367         * glyphs.c (subwindow_governing_domain): renamed from *_decode_domain.
8368         * glyphs.c (syms_of_glyphs):
8369         declare Fimage_instance_domain, remove unused Qlayout_image_instance_p.
8370         * glyphs.c (image_instantiator_format_create): add some comments about
8371         bogus code.
8372         * glyphs.c (specifier_vars_of_glyphs): totally rewrite the doc string
8373         for current-display-table. (Apparently Hrjove implemented in 1998 a
8374         design I wrote up in 1996, but didn't update the doc string.)
8375
8376         * glyphs.h: clean up a doc string.
8377         * glyphs.h (governing_domain):
8378         * glyphs.h (struct image_instantiator_methods):
8379         changes for governing_domain stuff.
8380
8381         * gutter.c:
8382         * gutter.c (Fgutter_specifier_p):
8383         * gutter.c (Fgutter_size_specifier_p):
8384         * gutter.c (Fgutter_visible_specifier_p):
8385         * objects.c:
8386         * objects.c (Fcolor_specifier_p):
8387         * objects.c (Ffont_specifier_p):
8388         * objects.c (Fface_boolean_specifier_p):
8389         doc strings moved to make-*-specifier.
8390
8391         * redisplay.c (add_disp_table_entry_runes_1):
8392         * redisplay.c (generate_fstring_runes):
8393         * redisplay.c (screen):
8394         add random comments and doc strings.
8395
8396         * specifier.c:
8397         * specifier.c (Fmake_specifier):
8398         major overhaul of this doc string.
8399
8400         * specifier.c (Fvalid_specifier_domain_p):
8401         comment about the bogosity of image instances being domains.
8402         * specifier.c (decode_domain):
8403         now non-static, used in glyphs.c.
8404         * specifier.c (specifier_instance):
8405         comment about the bogosity of image instances being domains.
8406         * specifier.c (Fgeneric_specifier_p):
8407         move doc string to make-generic-specifier.
8408         * specifier.c (VALID_SINGLE_DISPTABLE_INSTANTIATOR_P):
8409         rebackslashify.
8410
8411         * specifier.h:
8412         * specifier.h (DOMAIN_FRAME):
8413         * specifier.h (DOMAIN_LIVE_P):
8414         * specifier.h (DOMAIN_XDEVICE):
8415         rebackslashify.
8416         add comments about problems with these macros.
8417         prototype for decode_domain.
8418
8419         * toolbar.c:
8420         * toolbar.c (Ftoolbar_specifier_p):
8421         move doc string to `make-toolbar-specifier'.
8422
8423         * window.c (window_unmap_subwindows_cache_mapper):
8424         *************************************************************
8425         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
8426         HAVE BEEN GETTING.
8427         *************************************************************
8428
8429 2000-05-09  Andy Piper  <andy@xemacs.org>
8430
8431         * glyphs.h: declare reset_frame_subwindow_instance_cache.
8432
8433         * window.c (Fset_window_configuration): reset the frame subwindow
8434         cache and re-initialize the window subwindow caches.
8435
8436         * glyphs.c (reset_frame_subwindow_instance_cache): new function.
8437
8438 2000-05-09  Ben Wing  <ben@xemacs.org>
8439
8440         * ntheap.c (recreate_heap): Changed unknown (VC6 only?) SIZE_T to
8441         DWORD.
8442
8443 2000-04-26  Mike Woolley  <mike@bulsara.com>
8444
8445         * ntheap.c: Changed recreate_heap to limit the amount reserved
8446         for the heap to that which is actually available. Also now
8447         displays a message box (with some dignostics) in the event that
8448         it still can't start.
8449
8450 2000-05-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
8451
8452         * callproc.c (Fold_call_process_internal): GCPRO path
8453
8454 2000-05-08  Jan Vroonhof  <jan@xemacs.org>
8455
8456         Patch by Bill Perry.
8457
8458         * scrollbar.c (Fscrollbar_page_up): Conditionalize on type of call
8459         back data instead of #ifdef.
8460         (Fscrollbar_page_down): ditto.
8461
8462 2000-05-07  Ben Wing  <ben@xemacs.org>
8463
8464         * buffer.h:
8465         Kludge for defining Qmswindows_tstr.
8466
8467         * nt.c:
8468         * nt.c (open_input_file):
8469         * nt.c (open_output_file):
8470         * nt.c (rva_to_section):
8471         * nt.c (mswindows_executable_type):
8472         Move all memory-mapped-file routines here (some were in unexnt.c,
8473         which is bad because they are used by process-nt.c, and unexnt
8474         won't be around when portable dumping).  Synched the above routines
8475         with FSF 20.6.
8476
8477         * nt.h:
8478         Removed ifdef'd out bogus code.
8479         Fixed some prototypes.
8480
8481         * nt.h (file_data):
8482         * nt.h (OFFSET_TO_RVA):
8483         * nt.h (RVA_TO_OFFSET):
8484         * nt.h (RVA_TO_PTR):
8485         Moved the memory-mapped-file structures, macros and prototypes
8486         here, to parallel nt.c.  ntheap.h should really be removed
8487         entirely, and it's a non-portable-dumper specific file.
8488
8489         * ntheap.h (round_to_next):
8490         Moved the memory-mapped-file structures, macros and prototypes
8491         to nt.h.
8492
8493         * ntproc.c (compare_env):
8494         Moved rva_to_section and mswindows_executable_type to nt.c.
8495         Moved compare_env to process-nt.c.
8496         ntproc.c will die, one day.
8497
8498         * ntproc.c (sys_spawnve):
8499         Account for win32_ -> mswindows_.
8500
8501         * process-nt.c:
8502         * process-nt.c (struct nt_process_data):
8503         * process-nt.c (ensure_console_window_exists):
8504         * process-nt.c (compare_env):
8505         * process-nt.c (nt_create_process):
8506         * process-nt.c (nt_kill_process_by_pid):
8507         * process-nt.c (syms_of_process_nt):
8508         * process-nt.c (vars_of_process_nt):
8509         Introduce variable `mswindows-quote-process-args', from FSF 20.6.
8510         Copy argument quoting code from FSF 20.6 (with appropriate Mule-ization
8511         changes).  Eliminate our old `nt-quote-process-args' mechanism.
8512         Synch up nt_create_process with FSF 20.6 sys_spawnve.
8513         Move compare_env here from ntproc.c.
8514
8515         * process.c (Fprocess_send_region):
8516         Takes an optional fourth argument, BUFFER, which should fix some
8517         problems with call-process.
8518
8519         * syscommctrl.h:
8520         Move ICC_BAR_CLASSES here from syswindows.h, to avoid a warning.
8521
8522         * syswindows.h:
8523         Move ICC_BAR_CLASSES to syscommctrl.h.
8524         Add preliminary macros for MSWindows/Mule.  More to come.
8525
8526         * unexnt.c:
8527         * unexnt.c (unexec):
8528         open_output_file moved to nt.c.
8529
8530
8531 2000-05-05  Andy Piper  <andy@xemacs.org>
8532
8533         * window.c (window_unmap_subwindows_cache_mapper): remove the dead
8534         instance from the frame cache also since GC may catch up too late
8535         to make frame deletion sane.
8536
8537 2000-05-04  Andy Piper  <andy@xemacs.org>
8538
8539         * glyphs-x.c (x_widget_instantiate): gcpro widget callbacks.
8540         (x_finalize_image_instance): ungcpro on deletion.
8541
8542         * glyphs.c (image_instantiator_format_create): give pointers a
8543         query geometry method so that the geometry is at least set.
8544
8545         * glyphs-x.c (image_instantiator_format_create_glyphs_x): only
8546         initialize layouts if using widgets.
8547
8548 2000-05-03  Andy Piper  <andy@xemacs.org>
8549
8550         * nt.c: remove bogus reference to sysmmsystem.h
8551
8552         * gui-x.c (popup_selection_callback): fix no selection abort.
8553
8554 2000-05-02  Andy Piper  <andy@xemacs.org>
8555
8556         * glyphs-msw.c (mswindows_update_widget): cope with nil text.
8557         (mswindows_widget_instantiate): ditto.
8558
8559         * glyphs-widget.c (initialize_widget_image_instance): initialize
8560         children correctly.
8561         (widget_instantiate): cope with children and items in the same
8562         instance.
8563
8564         * glyphs.c (mark_image_instance): cope with children as a first
8565         class member.
8566         (image_instance_equal): ditto.
8567         (image_instance_hash): ditto.
8568         (image_instance_changed): ditto.
8569
8570 2000-04-30  Andy Piper  <andy@xemacs.org>
8571
8572         * glyphs.c (subwindow_query_geometry): new function. Return some
8573         defaults.
8574         (subwindow_instantiate): don't assign dimensions if none have been
8575         given.
8576         (image_instantiator_format_create): add subwindow_query_geometry.
8577         (print_image_instance): cope with layouts as widgets.
8578
8579 2000-04-29  Andy Piper  <andy@xemacs.org>
8580
8581         * frame.c (delete_frame_internal): call
8582         free_frame_subwindow_instance_cache so that all subwindows are
8583         finalized before their parent.
8584         (mark_frame): remove subwindow_cachels.
8585         (Fmake_frame): remove subwindow_cachel manipulation.
8586         (allocate_frame_core): subwindow_instance_cache is a weak list.
8587         (delete_frame_internal): set subwindow_instance_cache to nil.
8588
8589         * glyphs-msw.c (mswindows_finalize_image_instance): make double
8590         finalization safe.
8591         (mswindows_finalize_image_instance): use the device
8592         not the domain as the domain may have died already.
8593
8594         * glyphs-x.c (x_finalize_image_instance): ditto.
8595         (x_subwindow_instantiate): remove SUBWINDOW_WIDTH &
8596         HEIGHT.
8597
8598         * redisplay-output.c (redisplay_unmap_subwindows): update for
8599         subwindow instance cache as a weak list.
8600         (redisplay_unmap_subwindows_maybe): ditto.
8601         (redisplay_unmap_subwindows_except_us): ditto.
8602
8603         * glyphs.c (unmap_subwindow): error checking will check the domain
8604         so don't deal with it here. Don't use cachels anymore.
8605         (map_subwindow): ditto.
8606         (update_subwindow_cachel_data): remove old accessor names.
8607         (subwindow_instantiate): remove SUBWINDOW_WIDTH & HEIGHT.
8608         (Fresize_subwindow): don't update cachel.
8609         (mark_subwindow_cachels):
8610         (update_subwindow_cachel_data):
8611         (add_subwindow_cachel):
8612         (get_subwindow_cachel_index):
8613         (update_subwindow_cachel):
8614         (reset_subwindow_cachels):
8615         (mark_subwindow_cachels_as_not_updated): deleted.
8616         (cache_subwindow_instance_in_frame_maybe): new function. Add a
8617         subwindow instance to the frame cache.
8618         (find_matching_subwindow): update for subwindow instance cache as
8619         a weak list.
8620         (update_widget_instances): ditto.
8621         (image_instance_type_to_mask):inlined.
8622         (free_frame_subwindow_instance_cache): new function. finalize all
8623         subwindows that are instantiated.
8624
8625         * glyphs.h (struct Lisp_Image_Instance): add display_data instead
8626         of cachel information.
8627         (IMAGE_INSTANCE_DISPLAY_X):
8628         (IMAGE_INSTANCE_DISPLAY_Y):
8629         (IMAGE_INSTANCE_DISPLAY_WIDTH):
8630         (IMAGE_INSTANCE_DISPLAY_HEIGHT):
8631         (XIMAGE_INSTANCE_DISPLAY_X):
8632         (XIMAGE_INSTANCE_DISPLAY_Y):
8633         (XIMAGE_INSTANCE_DISPLAY_WIDTH):
8634         (XIMAGE_INSTANCE_DISPLAY_HEIGHT): new accessors.
8635         remove subwindow_cachel structure and function references.
8636         (image_instance_type_to_mask): inline from glyphs.c
8637
8638         * redisplay.c (redisplay_frame): remove subwindow_cachel
8639         references.
8640
8641         * frame.h (struct frame): remove subwindow_cachels.
8642         (FRAME_SUBWINDOW_CACHE): access subwindow_instance_cache.
8643
8644         * frameslots.h: add subwindow_instance_cache.
8645
8646         * window.c (replace_window): check subwindow cache of replacement.
8647         (window_unmap_subwindows_cache_mapper):
8648         (window_unmap_subwindows): new functions. Unmap all subwindows
8649         cached on this window.
8650         (mark_window_as_deleted): unmap all subwindows.
8651
8652 2000-04-27  Andy Piper  <andy@xemacs.org>
8653
8654         * glyphs.h (IIFORMAT_METH_OR_GIVEN): cope with null meths.
8655
8656         * glyphs-widget.c (widget_layout): return something.
8657         (layout_layout): return something. Fail if not initialized.
8658         (layout_query_geometry): ditto.
8659         (image_instantiator_native_layout): new function. Initialized the
8660         native layout type.
8661         (widget_instantiate): don't do layout stuff here.
8662
8663         * glyphs.c (instantiate_image_instantiator): reorded calling or
8664         instantiate and post_instantiate with layout in between.
8665         (image_instance_layout): be more selective about deciding whether
8666         the layout has been done or not.
8667
8668         * glyphs.h (struct image_instantiator_methods): return a value
8669         from layout_method.
8670
8671 2000-04-26  Andy Piper  <andy@xemacs.org>
8672
8673         * glyphs.c (allocate_image_instance): make initial width and
8674         height unspecified. Set initialized to 0.
8675
8676         * syscommctrl.h new file. Encapsulates commctrl.h.
8677
8678         * syswindows.h new file. Encapsulates windows.h.
8679
8680         * ntplay.c: use new syswindows.h and syscommctrl.h header.
8681         * nt.c: ditto.
8682         * console-msw.h: ditto.
8683
8684         * redisplay-tty.c (tty_output_display_block): remove layout references.
8685
8686         * glyphs-msw.c (mswindows_widget_instantiate): use the domain
8687         window handle rather than just the frame.
8688
8689         * glyphs.c (mark_image_instance): remove layout references.
8690         (print_image_instance): ditto.
8691         (image_instance_equal): ditto.
8692         (image_instance_hash): ditto.
8693         (decode_image_instance_type): ditto.
8694         (encode_image_instance_type): ditto.
8695         (image_instantiate): ditto.
8696         (allocate_glyph): ditto.
8697         (Fimage_instance_height): ditto.
8698         (Fimage_instance_width): ditto.
8699         (update_subwindow): ditto.
8700
8701         * redisplay-x.c (x_output_display_block): recode for layouts as
8702         widgets.
8703
8704         * redisplay-output.c (redisplay_output_layout): recode for layouts
8705         as widgets.
8706         (compare_runes): remove layout references.
8707
8708         * redisplay-msw.c (mswindows_output_display_block): recode for
8709         layouts as widgets.
8710
8711         * glyphs-widget.c (image_instantiator_layout): remove
8712         layout_possible_dest_types.
8713         (layout_possible_dest_types): deleted.
8714
8715         * glyphs.h (image_instance_type): remove layout references.
8716         (struct Lisp_Image_Instance): ditto. Add initialized flag.
8717         (IMAGE_INSTANCE_INITIALIZED): new accessor.
8718         (XIMAGE_INSTANCE_INITIALIZED): ditto.
8719
8720 2000-04-25  Andy Piper  <andy@xemacs.org>
8721
8722         * glyphs-widget.c (image_instantiator_buttons):
8723         (image_instantiator_edit_fields):
8724         (image_instantiator_combo_box):
8725         (image_instantiator_scrollbar):
8726         (image_instantiator_progress_guage):
8727         (image_instantiator_tree_view):
8728         (image_instantiator_tab_control):
8729         (image_instantiator_labels):
8730         (image_instantiator_layout): call default post_instantiate method.
8731         (widget_post_instantiate): new function. Simply lays out the
8732         widgets.
8733
8734         * glyphs.h (struct image_instantiator_methods): add
8735         post_instantiate method.
8736
8737         * glyphs.c (instantiate_image_instantiator): add post_instantiate
8738         method calls.
8739
8740 2000-04-23  Andy Piper  <andy@xemacs.org>
8741
8742         * glyphs.h (struct image_instantiator_methods): add
8743         decode_domain_method.
8744         (struct Lisp_Image_Instance): remove subwindow frame - it can be
8745         derived from the domain.
8746         (IMAGE_INSTANCE_FRAME): new accessor.
8747         (XIMAGE_INSTANCE_FRAME): ditto.
8748
8749         * glyphs.c (print_image_instance): use IMAGE_INSTANCE_FRAME
8750         instead of _SUBWINDOW_FRAME.
8751         (finalize_image_instance): ditto.
8752         (Fimage_instance_foreground): ditto.
8753         (Fimage_instance_background): ditto.
8754         (image_instantiate): ditto.
8755         (update_subwindow_cachel): ditto.
8756         (update_subwindow): ditto.
8757         (unmap_subwindow): ditto.
8758         (map_subwindow): ditto
8759         (subwindow_instantiate): ditto.
8760         * glyphs-msw.c (mswindows_update_widget): ditto.
8761         (mswindows_progress_gauge_instantiate): ditto.
8762         (mswindows_tab_control_update): ditto.
8763         * glyphs-x.c (x_update_widget): ditto.
8764         (x_widget_instantiate): ditto.
8765         (x_tab_control_instantiate): ditto.
8766         (x_tab_control_update): ditto.
8767         * event-msw.c (mswindows_wnd_proc): ditto
8768
8769         * glyphs-widget.c (image_instantiator_layout): use
8770         subwindow_decode_domain.
8771         (image_instantiator_buttons): ditto.
8772         (image_instantiator_edit_fields): ditto.
8773         (image_instantiator_combo_box): ditto.
8774         (image_instantiator_scrollbar): ditto.
8775         (image_instantiator_progress_guage): ditto.
8776         (image_instantiator_tree_view): ditto.
8777         (image_instantiator_tab_control): ditto.
8778         (image_instantiator_labels): ditto.
8779         (image_instantiator_layout): ditto.
8780
8781         * glyphs.c: add instance error checking to many functions.
8782         (instantiate_image_instantiator): decode device from cache_domain.
8783         (image_instantiate): partially rewrite by using
8784         decode_image_instantiator_domain to determine what domain the
8785         instance needs to be cached in.
8786         (decode_image_instantiator_domain): new function. Determine what
8787         domain the image needs to be cached in.
8788         (check_window_subwindow_cache): new error checking function.
8789         (check_instance_cache_mapper): ditto.
8790         (check_image_instance_structure): ditto.
8791         (subwindow_decode_domain): new function. Encodes a window as a
8792         subwindow's cache domain.
8793         (image_instantiator_format_create): use it for text and
8794         subwindows.
8795
8796 2000-04-21  Andy Piper  <andy@xemacs.org>
8797
8798         * glyphs.c (image_instance_device): new function.
8799         (image_instance_frame): new function.
8800         (image_instance_window): new function.
8801         (image_instance_live_p): new function.
8802
8803         * window.c (mark_window_as_deleted): reset the subwindow_instance_
8804         cache to nil.
8805
8806         * glyphs.h (struct Lisp_Image_Instance): device->domain.
8807         (IMAGE_INSTANCE_DOMAIN): new accessor.
8808         (XIMAGE_INSTANCE_DOMAIN): ditto.
8809
8810         * glyphs-x.c (x_finalize_image_instance): device->domain.
8811
8812         * glyphs-msw.c (init_image_instance_geometry): device->domain.
8813         (mswindows_finalize_image_instance): ditto.
8814
8815         * glyphs-eimage.c (jpeg_instantiate): device->domain.
8816         (gif_instantiate): ditto.
8817         (png_instantiate): ditto.
8818         (tiff_instantiate): ditto.
8819
8820         * glyphs.c (instantiate_image_instantiator): use domain rather
8821         than device.
8822         (mark_image_instance): device -> domain.
8823         (print_image_instance): ditto.
8824         (finalize_image_instance): ditto.
8825         (image_instance_equal): ditto.
8826         (allocate_image_instance): ditto.
8827         (Fcolorize_image_instance): ditto.
8828         (query_string_geometry): ditto.
8829         (image_instantiate): ditto
8830         (query_string_font): ditto.
8831         (image_instantiate): ditto.
8832         (update_subwindow): ditto.
8833         (unmap_subwindow): ditto.
8834         (map_subwindow): ditto.
8835         (subwindow_instantiate): ditto.
8836
8837         * specifier.h (DOMAIN_DEVICE): new, semantically correct, decoder.
8838         (DOMAIN_FRAME): ditto.
8839         (DOMAIN_WINDOW): ditto.
8840         (DOMAIN_LIVE_P): ditto.
8841         (XDOMAIN_DEVICE): ditto.
8842         (XDOMAIN_FRAME): ditto.
8843         (XDOMAIN_WINDOW): ditto.
8844
8845         * specifier.c (Fvalid_specifier_domain_p): add image instances as
8846         a valid specifier domain.
8847
8848 2000-04-19  Andy Piper  <andy@xemacs.org>
8849
8850         * glyphs-widget.c (syms_of_glyphs_widget): remove
8851         widget-callback-current-channel.
8852         (vars_of_glyphs_widget): ditto.
8853         * glyphs.h: ditto
8854
8855         * gui.c (get_gui_callback): revert to previous behaviour.
8856
8857 2000-04-18  Andy Piper  <andy@xemacs.org>
8858
8859         * glyphs.h (struct Lisp_Image_Instance): add margin_width.
8860         (IMAGE_INSTANCE_MARGIN_WIDTH): new.
8861         (XIMAGE_INSTANCE_MARGIN_WIDTH): new.
8862
8863         * glyphs.c (image_instance_equal): add margin_width.
8864         (image_instance_hash): ditto.
8865
8866         * glyphs-widget.c (widget_instantiate): deal with margin-width.
8867         (layout_query_geometry): ditto.
8868         (layout_layout): ditto.
8869         (syms_of_glyphs_widget): add margin-width.
8870         (image_instantiator_layout): allow margin-width.
8871
8872         * glyphs.c (update_widget_instances): make a normal function.
8873         (syms_of_glyphs): remove Qupdate_widget_instances.
8874         * glyphs.h: ditto.
8875
8876         * gui-x.c (popup_selection_callback): use enqueue_magic_eval_event
8877         so that we don't corrupt ideas about the last event or
8878         command. Remove widget-callback-current-channel fiddling.
8879         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
8880
8881 2000-05-01  Martin Buchholz <martin@xemacs.org>
8882
8883         * XEmacs 21.2.33 is released.
8884
8885 2000-05-01  Yoshiki Hayashi  <yoshiki@xemacs.org>
8886
8887         * make-src-depend: Allow dots in header file name.
8888
8889 2000-05-01  Yoshiki Hayashi  <yoshiki@xmacs.org>
8890
8891         * mule-charset.h (struct charset_lookup): Add
8892         next_allocated_1_byte_leading_byte and
8893         next_allocated_2_byte_leading_byte.
8894         * mule-charset.c: Move above two variables so that those values
8895         will be dumped.
8896
8897 2000-04-26  Yoshiki Hayashi  <yoshiki@xemacs.org>
8898
8899         * insdel.c (find_charsets_in_bufbyte_string): Add Vcharset_ascii
8900         when string length is zero.
8901         (find_charsets_in_emchar_string): Ditto.
8902
8903 2000-04-29  Bjrn Torkelsson  <torkel@hpc2n.umu.se>
8904
8905         * lisp.h: extern Qdialog and Qmenubar.
8906
8907         * gui-x.c: added events.h.
8908                 also fixed typo which made the file uncompilable.
8909
8910         * general.c: Added Qmenubar and Qdialog
8911
8912 2000-04-28  Ben Wing  <ben@xemacs.org>
8913
8914         * frame-msw.c (mswindows_init_frame_1):
8915         * frame-msw.c (mswindows_mark_frame):
8916         * event-msw.c (mswindows_enqueue_dispatch_event):
8917         * console-msw.h:
8918         * console-msw.h (struct mswindows_frame):
8919         * console-msw.h (FRAME_MSWINDOWS_WIDGET_HASH_TABLE1):
8920         there are now three hash tables for callbacks.
8921         mswindows_enqueue_dispatch_event is no longer static.
8922
8923         * dialog-x.c (maybe_run_dbox_text_callback):
8924         * dialog-x.c (dbox_descriptor_to_widget_value):
8925         switch to new cons3 form for callbacks.
8926
8927         * glyphs-msw.c (mswindows_register_gui_item):
8928         * glyphs-msw.c (mswindows_widget_instantiate):
8929         * glyphs-msw.c (add_tree_item):
8930         * glyphs-msw.c (add_tab_item):
8931         new image instance parameter, so it can be passed to callback-ex.
8932         respect :callback-ex as well as :callback.
8933
8934         * glyphs-widget.c (VALID_GUI_KEYWORDS):
8935         add :callback-ex.
8936
8937         * glyphs.c (print_image_instance):
8938         prettify, e.g. now prints widget type.
8939
8940         * gui-x.h:
8941         certain funs have new image instance parameter.
8942
8943         * gui.c:
8944         * gui.c (get_gui_callback):
8945         * gui.c (gui_item_add_keyval_pair):
8946         * gui.c (gui_item_init):
8947         * gui.c (gui_add_item_keywords_to_plist):
8948         * gui.c (mark_gui_item):
8949         * gui.c (gui_item_hash):
8950         * gui.c (gui_item_equal):
8951         * gui.c (copy_gui_item):
8952         * gui.c (syms_of_gui):
8953         recognize callback-ex in a number of places.
8954         also, fix the annoying "can't get out of yes-no dialog" bug.
8955
8956         * gui.h:
8957         * gui.h (struct Lisp_Gui_Item):
8958         recognize callback-ex in a number of places.
8959
8960         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
8961         new parameter in button_item_to_widget_value.
8962
8963         * glyphs-x.c (x_update_widget):
8964         * glyphs-x.c (x_button_instantiate):
8965         * glyphs-x.c (x_button_update):
8966         * glyphs-x.c (x_progress_gauge_instantiate):
8967         * glyphs-x.c (x_edit_field_instantiate):
8968         * glyphs-x.c (x_combo_box_instantiate):
8969         * glyphs-x.c (x_tab_control_instantiate):
8970         * glyphs-x.c (x_label_instantiate):
8971         new image instance parameter in various places.
8972
8973         * event-Xt.c:
8974         * event-Xt.c (enqueue_Xt_dispatch_event):
8975         this fun gets exported.
8976
8977         * gui-msw.c:
8978         * gui-msw.c (mswindows_handle_gui_wm_command):
8979         handle both :callback and :callback-ex, and generate our own
8980         event because it's one of the callback-ex arguments.
8981
8982         * gui-x.c:
8983         * gui-x.c (popup_selection_callback):
8984         handle both :callback and :callback-ex, and generate our own
8985         event because it's one of the callback-ex arguments.
8986         * gui-x.c (button_item_to_widget_value):
8987         * gui-x.c (gui_items_to_widget_values_1):
8988         * gui-x.c (gui_item_children_to_widget_values):
8989         * gui-x.c (gui_items_to_widget_values):
8990         new image instance parameter in various places.
8991
8992         * fns.c (Freplace_list):
8993         fix small typo in doc string.
8994
8995         * lisp.h:
8996         declare enqueue_Xt_dispatch_event.
8997
8998 2000-04-28  Ben Wing  <ben@xemacs.org>
8999
9000         * buffer.c:
9001         * buffer.c (Frecord_buffer):
9002         * buffer.c (syms_of_buffer):
9003         delete record-buffer-hook.
9004
9005         * fns.c:
9006         * fns.c (Freplace_list):
9007         * fns.c (syms_of_fns):
9008         new primitive replace-list.
9009
9010         * frameslots.h:
9011         slot for old buffer-alist.
9012
9013         * lisp.h:
9014         exfun replace-list.
9015
9016         * redisplay.c:
9017         * redisplay.c (redisplay_frame):
9018         * redisplay.c (syms_of_redisplay):
9019         * redisplay.c (vars_of_redisplay):
9020         new hook buffer-list-changed-hook.
9021         call it.
9022
9023 2000-04-27  Ben Wing  <ben@xemacs.org>
9024
9025         * extents.h: extern in_modeline_generation.
9026
9027         * redisplay.c (generate_formatted_string_db): set
9028         in_modeline_generation.
9029
9030         * extents.c (extent_changed_for_redisplay): don't mark redisplay
9031         flags if in modeline generation.  otherwise frame-modified-tick
9032         is ticked far too often.
9033         Declare in_modeline_generation.
9034
9035 2000-04-26  Ben Wing  <ben@xemacs.org>
9036
9037         * emacs.c (vars_of_emacs): document quick-build "error-checking"
9038         option.
9039         (vars_of_emacs): add quick-build as an error-checking option.
9040         A bit kludgy, but there doesn't seem much point in creating
9041         a real var for this.
9042
9043         * config.h.in: put in an entry for QUICK_BUILD; remove NO_DOC_FILE.
9044
9045 2000-04-14  IKEYAMA Tomonori  <tomonori@suiyokai.org>
9046
9047         * redisplay.h (struct display_line): Add a new variable,
9048         line_continuation.
9049
9050         * redisplay.c (create_text_block): Set dl->line_continuation if
9051         the line continues.
9052         (create_string_text_block): Ditto.
9053         (regenerate_window_incrementally): Use line_continuation instead
9054         of searching continuation glyph.
9055         (add_margin_runes): Call add_glyph_rune.
9056         (add_glyph_rune): Handle margin glyph.
9057
9058 2000-04-20  Martin Buchholz  <martin@xemacs.org>
9059
9060         * filelock.c (fill_in_lock_file_name):
9061         ANSIfy.
9062         Check for IS_ANY_SEP instead of '/'.
9063         (lock_file_1):
9064         Avoid generating gratuitous garbage.  Call user_login_name() directly.
9065         Never check errno without first seeing that system call failed.
9066         (unlock_file): Add GCPRO.
9067         (Flock_buffer): Fix docstring.
9068         (Ffile_locked_p): Fix docstring.  Add GCPRO.
9069
9070 2000-04-19  Martin Buchholz  <martin@xemacs.org>
9071
9072         * sysdep.c (get_pty_max_bytes):
9073         Fix hangs on DEC OSF 4.0 when (process-send-string) sends
9074         strings longer than 252 bytes.
9075
9076         * md5.c: Unconditionally include ANSI header <limits.h>
9077
9078         * glyphs-x.c (convert_EImage_to_XImage):
9079         * lisp-union.h (union Lisp_Object):
9080         Use consistently the syntax #ifdef FEATURE, not #if FEATURE.
9081
9082 2000-04-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
9083
9084         * filelock.c (current_lock_owner): Remove unused variable o, p.
9085
9086 2000-04-17  Norbert Koch  <n.koch@eai-delta.de>
9087
9088         * callint.c: Remove multiply defined symbol Qlet
9089         (syms_of_callint): ditto.
9090
9091 2000-04-14  Andy Piper  <andy@xemacs.org>
9092
9093         * general.c (syms_of_general): add last-command, this-command, let
9094         and funcall.
9095
9096         * lisp.h: declare various symbols.
9097
9098         * glyphs.h: declare Qwidget_callback_current_channel;
9099
9100         * glyphs-widget.c (syms_of_glyphs_widget): add
9101         Qgui_callback_current_channel.
9102         (vars_of_glyphs_widget): add Vgui_callback_current_channel.
9103
9104         * gui-msw.c (mswindows_handle_gui_wm_command): bind
9105         widget-callback-current-channel when invoking the interactive
9106         arg. Also bind last-command and next-command when invoking the
9107         widget updates.
9108         * gui-x.c (popup_selection_callback): ditto.
9109
9110         * gui.c (get_gui_callback): massage args so that we are always
9111         calling eval. This allows us to add our own variable bindings
9112         outside.
9113
9114         * glyphs-x.c (x_button_instantiate): use
9115         gui_items_to_widget_values since this is GC safe.
9116         (x_progress_gauge_instantiate): ditto.
9117         (x_edit_field_instantiate): ditto.
9118         (x_label_instantiate): ditto.
9119
9120         * event-Xt.c (emacs_Xt_handle_magic_event): remove old printfs.
9121         (emacs_Xt_event_widget_focus_out): new function
9122         (emacs_Xt_event_widget_focus_in): new function. Set the keyboard
9123         focus.
9124         (emacs_Xt_event_add_widget_actions): new function. add focus
9125         functions as actions.
9126         (init_event_Xt_late): use it.
9127
9128 2000-04-14  Hrvoje Niksic  <hniksic@iskon.hr>
9129
9130         * event-stream.c (Fdispatch_event): Doc fix.
9131
9132 2000-03-29  SL Baur  <steve@musashimaru.m17n.org>
9133
9134         * postgresql.c: Remove all references to PQsetenv*.
9135
9136         * postgresql.h: Remove references to PGsetenvHandler object.
9137         * lrecord.h (lrecord_type): Ditto.
9138
9139 2000-04-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
9140
9141         * glyphs-msw.h (struct mswindows_image_instance_data): Added
9142         real_heigh and real_width members, and accessor macros for these.
9143
9144         * glyphs-msw.c (init_image_instance_geometry): New function.
9145         (init_image_instance_from_dibitmap): Use it.
9146         (mswindows_resource_instantiate): Use it.
9147         (init_image_instance_from_xbm_inline): Use it.
9148         (mswindows_initialize_image_instance_mask): Use real bitmap
9149         geometry.
9150         (mswindows_create_resized_bitmap): Ditto.
9151         (mswindows_create_resized_mask): Ditto.
9152
9153         * redisplay-msw.c (mswindows_output_dibitmap): Stretch real mask
9154         and bitmap to their surface size.
9155
9156 2000-04-11  Jan Vroonhof  <jan@xemacs.org>
9157
9158         * process-unix.c (unix_send_process): Guard against process MIA
9159         after Faccept_process_output.
9160
9161 2000-04-11  Ben Wing  <ben@xemacs.org>
9162
9163         * eval.c (unbind_to_hairy): fix brokenness introduced by
9164         nanosecond speed improvements.
9165
9166 2000-04-07  Raymond Toy  <toy@rtp.ericsson.se>
9167
9168         * sunplay.c (init_device): To play sounds correctly, the device
9169         apparently needs to be initialized at least once by XEmacs.  Make
9170         it so.
9171
9172 2000-04-10  IKEYAMA Tomonori  <tomonori@suiyokai.org>
9173
9174         * redisplay.c (add_margin_runes): Add text image glyph
9175           handling.
9176
9177 2000-04-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
9178
9179         * lisp.h (DOESNT_RETURN): Don't declare as volatile when
9180         gcc is newer than 2.5.
9181
9182 2000-04-06  Colin Rafferty  <colin@xemacs.org>
9183
9184         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF): Created.
9185
9186         * fns.c (size_bit_vector):
9187         * alloc.c (size_vector):
9188         (make_vector_internal):
9189         (make_bit_vector_internal):
9190         (sweep_bit_vectors_1):
9191         Replace calls to offsetof with FLEXIBLE_ARRAY_STRUCT_SIZEOF macro.
9192
9193 2000-04-06  Andy Piper  <andy@xemacs.org>
9194
9195         * gmalloc.c (malloc): undo previous change.
9196         (malloc): ditto.
9197         (free): ditto.
9198         (realloc): ditto.
9199
9200 2000-04-06  IKEYAMA Tomonori <tomonori@suiyokai.org>
9201
9202         * line-number.c (buffer_line_number): Revert to former version.
9203
9204 2000-04-06  Andy Piper  <andy@xemacs.org>
9205
9206         * gmalloc.c (malloc): add error checking.
9207         (malloc): ditto.
9208         (free): ditto.
9209         (realloc): ditto.
9210
9211         * dialog-x.c (dbox_descriptor_to_widget_value): add extra
9212         button_item_to_widget_value arg.
9213
9214         * glyphs-x.c (x_button_instantiate): add extra
9215         button_item_to_widget_value arg.
9216         (x_progress_gauge_instantiate): ditto.
9217         (x_edit_field_instantiate): ditto.
9218         (x_label_instantiate): ditto.
9219
9220         * gui-x.c (gui_items_to_widget_values_1): add extra
9221         button_item_to_widget_value arg.
9222         (button_item_to_widget_value): add extra menu_item_p arg.
9223
9224         * gui-x.h: change signature of button_item_to_widget_value.
9225
9226         * menubar-x.c (menu_item_descriptor_to_widget_value_1): add extra
9227         button_item_to_widget_value arg.
9228
9229 2000-04-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
9230
9231         * buffer.h (struct buffer): auto_save_modified should be long.
9232
9233 2000-04-05  Andy Piper  <andy@xemacs.org>
9234
9235         * glyphs-widget.c (widget_instantiate): pixwidth != pixheight
9236         type.
9237         (button_query_geometry): give a little more room so that athena
9238         buttons fit.
9239
9240 2000-04-05  Andy Piper  <andy@xemacs.org>
9241
9242         * faces.c (complex_vars_of_faces): The widget face should inherit
9243         the font of the gui-element face.
9244
9245 2000-04-04  Andy Piper  <andy@xemacs.org>
9246
9247         * glyphs-x.c (x_button_update): new function. unconditionally
9248         update a button's state when the instance is dirty.
9249         (image_instantiator_format_create_glyphs_x): add x_button_update.
9250         (x_widget_instantiate): remove old resize cruft.
9251
9252 2000-04-02  Andy Piper  <andy@xemacs.org>
9253
9254         * frame.c (change_frame_size_1): The introduction of gutters means
9255         that we need to allow 0 as a potential frame dimension.
9256
9257 2000-04-02  IKEYAMA Tomonori  <tomonori@suiyokai.org>
9258
9259         * redisplay.c (add_glyph_rune): Don't set 0 to bufpos for text
9260         image glyph if allow_cursor.
9261         (add_hscroll_rune): Don't allow cursor to border glyph.
9262         (create_text_block): Ditto.
9263
9264         * redisplay-output.c (redisplay_move_cursor): Do nothing even if
9265         text not in buffer.
9266         (redisplay_output_layout): Call ensure_face_cachel_complete for
9267         text image glyph.
9268
9269
9270 2000-03-16  IKEYAMA Tomonori  <tomonori@suiyokai.org>
9271
9272         * redisplay.c (add_glyph_rune): Adding text image as text runes.
9273
9274         * redisplay-output.c (redisplay_move_cursor): NO_CURSOR if text
9275         not in buffer
9276
9277         * redisplay-tty.c (tty_output_display_block): Delete the routine
9278         for text image glyph
9279         * redisplay-x.c (x_output_display_block): ditto
9280         * redisplay-msw.c (mswindows_output_display_block): ditto
9281
9282 2000-02-02  Mike Alexander  <mta@arbortext.com>
9283
9284         Note: Some of these were committed by accident as part of other
9285         patches.
9286
9287         * regex.c (regex_compile): Avoid compiler warnings.
9288
9289         * ntproc.c (sys_spawnve): Avoid compiler warnings.
9290
9291         * nt.h: Declare term_ntproc correctly.
9292
9293         * nt.c: Remove incorrect declaration of get_home_directory which
9294         is declared correctly in lisp.h.
9295
9296         * keymap.c (get_keyelt): Avoid compiler warnings.
9297         (raw_lookup_key_mapper): Avoid compiler warnings.
9298
9299         * gutter.c (gutter_was_visible): Add return statement to avoid warning.
9300
9301         * glyphs-eimage.c (png_instantiate): Avoid compiler warnings.
9302
9303         * filemode.c (mode_string): Avoid compiler warnings.
9304
9305         * file-coding.c (Fcoding_system_aliasee): Add return statement to
9306         avoid warning.
9307
9308         * events-mod.h: Undef some things that winuser.h defines differently.
9309
9310         * data.c (Faset): Avoid compiler warnings.
9311
9312         * alloc.c (Fmake_byte_code): Avoid compiler warnings.
9313
9314 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
9315
9316         * sound.c (Fplay_sound_file): Wrap ESD in start/stop_interrupts.
9317         Fall through to simple beep on error.
9318         Replace "extern" by real header file.
9319
9320         * linuxplay.c: Use nativesound.h
9321         (play_sound_data): Return error code. Be less verbose on error.
9322
9323         * sunplay.c: Use nativesound.h
9324         (play_sound_data): Return error code. Be less verbose on error.
9325
9326         * ntplay.c: Use nativesound.h
9327         (play_sound_data): Return fake error code
9328
9329         * sgiplay.c: Use nativesound.h
9330         (play_sound_data): Return error code
9331
9332         * hpplay.c: Use nativesound.h, partially implement
9333         new error code. Break compilation until finished.
9334         (play_sound_data): error code.
9335
9336         * nativesound.h (play_sound_file):
9337           (play_sound_data): Prototype in new header.
9338
9339 2000-03-31  Andy Piper  <andy@xemacs.org>
9340
9341         * glyphs-widget.c: (button_query_geometry): new function. Adjust
9342         for toggle and radio buttons.
9343         (image_instantiator_buttons): use it.
9344
9345 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
9346
9347         * scrollbar-x.c (x_update_vertical_scrollbar_callback):
9348         (x_update_horizontal_scrollbar_callback): Return if no mirror was
9349         found. Scrollbar event probably belonged to some old config.
9350
9351 2000-03-31  Andy Piper  <andy@xemacs.org>
9352
9353         * glyphs-widget.c (widget_instantiate): use LAYOUT_VERTICAL rather
9354         than 1.
9355         (initialize_widget_image_instance): default layout to
9356         LAYOUT_HORIZONTAL rather than 0.
9357         (widget_instantiate): reverse the item list at the end rather than
9358         every iteration.
9359         (layout_layout): re-code for the border text at the front of the
9360         item list rather than at the end.
9361         (layout_query_geometry): ditto. Pick up fixed and dynamic sizes
9362         provided by the user.
9363         (widget_query_geometry): comment.
9364
9365 2000-03-30  Andy Piper  <andy@xemacs.org>
9366
9367         * glyphs-widget.c (image_instantiator_layout): allow standard
9368         widget keywords in layouts.
9369
9370         * gutter.c (output_gutter): cope with nil gutter contents.
9371
9372         * frame.c (Fset_frame_properties): add gutter docs.
9373
9374 2000-03-29  Andy Piper  <andy@xemacs.org>
9375
9376         * toolbar-msw.c (TBSTYLE_FLAT): add.
9377         (mswindows_output_toolbar): minor fiddling.
9378
9379 2000-03-29  Andy Piper  <andy@xemacs.org>
9380
9381         * gutter.c (output_gutter): force gutter size recalculation if
9382         what we are trying to display won't fit.
9383         (update_gutter_geometry): new function. A per-gutter version of
9384         update_frame_gutter_geometry.
9385         (update_frame_gutter_geometry): use it.
9386         (redraw_exposed_gutter): add extra debugging output.
9387
9388 2000-03-28  Mike Alexander  <mta@arbortext.com>
9389
9390         * dumper.c: Declare pdump_hFile and pdump_hMap (Windows only)
9391         (pdump_file_unmap): Implement it on Windows
9392         (pdump_file_get): Save alocated handles for pdump_file_unmap
9393
9394 2000-03-28  Andy Piper  <andy@xemacs.org>
9395
9396         * gui.c (get_gui_callback): treat Quit specially.
9397
9398 2000-03-27  Andy Piper  <andy@xemacs.org>
9399
9400         * glyphs.c (image_instantiate): be careful to check in the same
9401         way we assigned.
9402
9403 2000-03-27  Didier Verna  <didier@xemacs.org>
9404
9405         * config.h.in: define the proper SMART_INCLUDE macro.
9406         handle renaming of `foo_h_path' to `foo_h_file'.
9407
9408         * database.c: ditto.
9409
9410         * emacs.c: ditto.
9411
9412         * linuxplay.c: ditto.
9413
9414         * terminfo.c: ditto.
9415
9416         * tooltalk.h: ditto.
9417
9418 2000-03-27  Andy Piper  <andy@xemacs.org>
9419
9420         * glyphs-msw.c (mswindows_update_widget): make sure the widget
9421         gets updated whenever the face might have changed.
9422
9423 2000-03-26  Mike Alexander  <mta@arbortext.com>
9424
9425         * dumper.c (pdump_resource_free): Fix the comment.
9426
9427 2000-03-21  Olivier Galibert  <galibert@pobox.com>
9428
9429         * input-method-xlib.c (XIM_init_frame): Remove painful warning.
9430
9431 2000-03-22  Mike Alexander  <mta@arbortext.com>
9432
9433         * dumper.c: Include Windows headers on Windows
9434         (pdump_resource_free): Add a body to the function
9435         (pdump_load): exe_name -> exe_path and add some comments.
9436
9437 2000-03-25  Mike Alexander  <mta@arbortext.com>
9438
9439         * gui.c (copy_gui_item_tree): Return a value in all cases
9440
9441 2000-03-21  Didier Verna  <didier@xemacs.org>
9442
9443         * config.h.in: move INCLUDE_GLUE_1 and INCLUDE_GLUE_2 here from
9444         lwlib/config.h.in.
9445         (SMART_INCLUDE): new macro.
9446         (POSTGRES_INCLUDE): new macro to include postgresql headers from
9447         the proper location.
9448
9449         * postgresql.c: use it.
9450
9451         * inline.c: ditto.
9452
9453 2000-03-24  Andy Piper  <andy@xemacs.org>
9454
9455         * gutter.c (redraw_exposed_gutters): must be "in display" when we
9456         do this.
9457
9458 2000-03-24  Andy Piper  <andy@xemacs.org>
9459
9460         * redisplay-output.c (compare_runes): use image_instance_changed
9461         to detect changes. Do not depend on glyphs_changed, only depend on
9462         dirtiness.
9463          (redisplay_output_layout): add debug messages.
9464         (compare_runes): ditto.
9465
9466         * glyphs.h: declare new functions.
9467         (struct Lisp_Image_Instance): remove percent and associated
9468         accessors.
9469
9470         * gui.h: declare new copying functions.
9471
9472         * gui.c (copy_gui_item_tree): new function.
9473         (copy_gui_item): new function.
9474         (gui_item_id_hash): revert to standard hash.
9475         (gui_item_hash): ditto.
9476         (gui_item_hash_internal): deleted.
9477         (mark_gui_item): mark value.
9478         (gui_item_add_keyval_pair): add value.
9479         (gui_item_init): ditto.
9480         (gui_add_item_keywords_to_plist): ditto.
9481         (gui_item_equal): ditto.
9482         (syms_of_gui): add Q_value.
9483
9484         * glyphs-x.c (x_progress_gauge_update): use pending items and
9485         value for setting the state.
9486         (x_update_widget): don't set items from pending here.
9487
9488         * glyphs-widget.c (update_widget): update items here.
9489         (progress_gauge_set_property): use items for storing value. Put
9490         new value in pending items.
9491
9492         * glyphs-msw.c (mswindows_progress_gauge_update): use pending
9493         items for new value. Convert percent -> value.
9494         (mswindows_tab_control_update): don't update items here.
9495
9496         * glyphs.c (Fupdate_widget_instances): use image_instance_changed.
9497         (update_subwindow): ditto.
9498         (image_instance_changed): new function. Compare hash values and
9499         past and present widget items.
9500         (image_instantiate): We more careful about where we instantiate
9501         things.
9502         (image_instantiate): add error checking.
9503
9504         * gutter.c (syms_of_gutter): use -hook.
9505
9506 2000-03-20  Yoshiki Hayashi  <yoshiki@xemacs.org>
9507
9508         * console-tty.c (Fset_console_tty_input_coding_system): Use
9509         Qkeyboard.
9510         (Fset_console_tty_output_coding_system): Use Qterminal.
9511         (tty_init_console): Use Qkeyboard and Qterminal.
9512
9513 2000-03-21  Ben Wing  <ben@xemacs.org>
9514
9515         * ntproc.c (create_child): remove bogus HAVE_NTGUI's.
9516         From Mike Alexander <mta@arbortext.com>.
9517
9518 2000-03-21  Ben Wing  <ben@xemacs.org>
9519
9520         * event-msw.c (mswindows_need_event): Horrible kludge to fix
9521         process brokenness.  Proper implementation to come.
9522         * callproc.c:
9523         Rename call-process-internal to old-call-process-internal.
9524         New impl. in process.el.
9525
9526 2000-03-21  Martin Buchholz  <martin@xemacs.org>
9527
9528         * Makefile.in.in: Coalesce HAVE_NATIVE_SOUND code fragments.
9529
9530 2000-03-20  Andy Piper  <andy@xemacs.org>
9531
9532         * glyphs.c (full_list_hash): make hashes of the same elements in
9533         different orders return different values.
9534
9535 2000-03-20  Martin Buchholz <martin@xemacs.org>
9536
9537         * XEmacs 21.2.32 is released.
9538
9539 2000-03-20  Martin Buchholz  <martin@xemacs.org>
9540
9541         * buffer.h (DFC_ALLOCA_USE_CONVERTED_DATA):
9542         (DFC_MALLOC_USE_CONVERTED_DATA):
9543         Add aliasing-safe casts to allow use with char* or unsigned char*
9544         lvalues.
9545
9546         * eldap.c (Fldap_open):
9547         (Fldap_search_basic):
9548         (Fldap_add):
9549         (Fldap_modify):
9550         Make C++-compilable.
9551         Make sure GCPRO'ed variables are initialized.
9552         Use temp variables to avoid repeated calls to Flength.
9553
9554 2000-03-16  Martin Buchholz  <martin@xemacs.org>
9555
9556         * sysfile.h:
9557         Make sure PATH_MAX is always defined.
9558         Include limits.h for PATH_MAX.
9559         Deprecate use of MAXPATHLEN.
9560
9561 2000-03-10  Martin Buchholz  <martin@xemacs.org>
9562
9563         * emacs.c: Add reinit_vars_of_fileio.
9564         * symsinit.h: Add reinit_vars_of_fileio.
9565         * fileio.c (reinit_vars_of_fileio): New.
9566         * fileio.c (Fmake_temp_name):
9567         Initialize temp_name random number from microseconds to make
9568         collisions even less likely.  Initialize always at process startup
9569         time.  (make-temp-name) used to return the same file name twice in
9570         a row when PDUMP.
9571         Random stylistic fiddling.
9572         Comment fixes.
9573
9574 2000-03-20  Andy Piper  <andy@xemacs.org>
9575
9576         * glyphs.c (image_instantiate): allow text glyphs to be
9577         instantiated in the minibuffer window.
9578
9579 2000-03-19  Andy Piper  <andy@xemacs.org>
9580
9581         * glyphs.c (image_instance_hash): be careful about which items we
9582         hash on.
9583
9584         * glyphs-widget.c (tab_control_set_property): record into pending
9585         items rather than the actual items.
9586
9587         * glyphs-x.c (x_update_widget): use pending items to update with.
9588
9589         * glyphs-msw.c (mswindows_tab_control_update): use pending items
9590         to update with.
9591
9592         * glyphs.c (mark_image_instance): mark pending items.
9593
9594         * window.c (Fset_window_configuration): record the buffer.
9595         (Fselect_window): totally revert previous change which breaks many
9596         things.
9597
9598 2000-03-18  Andy Piper  <andy@xemacs.org>
9599
9600         * glyphs-msw.c (mswindows_tab_control_update): force selected
9601         item.
9602
9603         * glyphs.c (image_instantiate): don't allow the minibuffer as a
9604         window domain cache, otherwise we get inconsistencies at
9605         startup. There is something fishy at startup which can lead to the
9606         minibuffer being the selected window when the gutter content is
9607         instantiated.
9608
9609         * gui.c (parse_gui_item_tree_list): add probably unnecessary
9610         gcpros.
9611         (parse_gui_item_tree_children): ditto.
9612         (parse_gui_item_tree_item): ditto.
9613
9614         * glyphs.c (Fupdate_widget_instances): return something.
9615
9616 2000-03-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
9617
9618         * window.c (Fselect_window): Undo 2000-03-17 change.
9619
9620 2000-03-17  SL Baur  <steve@musashimaru.m17n.org>
9621
9622         * postgresql.c (Fpq_setenv): Remove this turkey when linking
9623         against v7.0 libraries.  Insta-coredump city until the postgres
9624         folks fix it.
9625
9626 2000-03-17  Andy Piper  <andy@xemacs.org>
9627
9628         * faces.c (complex_vars_of_faces): don't give the widget face an
9629         inherited background pixmap.
9630
9631         * glyphs-msw.c (mswindows_tab_control_instantiate): select the
9632         selected item.
9633
9634         * event-stream.c (Fdispatch_non_command_events): return something.
9635
9636         * gutter.c (output_gutter): use widget face.
9637         (clear_gutter): ditto.
9638
9639         * NEWS: adjust again.
9640
9641         * window.c (Fselect_window): make sure this runs to completion to
9642         avoid oddities with Fset_window_configuration.
9643         (Fcurrent_window_configuration): in general do not save the
9644         minibuffer as the selected window.
9645
9646         * glyphs.h (IMAGE_INSTANCE_HASH_DEPTH): increase.
9647
9648 2000-03-16  Olivier Galibert  <galibert@pobox.com>
9649
9650         * emacs.c (Frunning_temacs_p): Revert previous patch.
9651         (main_1): Reinitialize running_temacs_argc if pdump_load succeeds.
9652
9653 2000-03-16  Andy Piper  <andy@xemacs.org>
9654
9655         * glyphs-x.c (x_tab_control_update): if no widget values then
9656         return.
9657
9658         * NEWS: update for new features.
9659
9660         * event-Xt.c (emacs_Xt_force_event_pending): new function. Post a
9661         synthetic event to the native system.
9662         (reinit_vars_of_event_Xt): set force_event_pending to
9663         emacs_Xt_force_event_pending.
9664
9665         * events.h (struct event_stream): add force_event_pending.
9666
9667         * specifier.c (recompute_one_cached_specifier_in_window): add
9668         comment.
9669
9670         * redisplay.c (redisplay_frame): don't call
9671         update_frame_subwindows. Reset subwindow cachels when
9672         subwindows_changed, removing this was an optimization too far.
9673
9674         * redisplay-output.c (compare_runes): reorganize so that we catch
9675         glyph changes when we want them. Set optimize_output when this
9676         would help layouts.
9677         (redisplay_output_layout): remove frame_really_changed, use
9678         optimize_output instead.
9679
9680         * redisplay-msw.c (mswindows_output_display_block): reset
9681         optimize_output after outputting a glyph.
9682         * redisplay-x.c (x_output_display_block): ditto.
9683         * redisplay-tty.c (tty_output_display_block): ditto.
9684
9685         * gutter.c: (specifier_vars_of_gutter): use new spec changed
9686         functions.
9687         (gutter_specs_changed): do specific gutter positions.
9688         (top_gutter_specs_changed): new function. Only update the
9689         specified gutter specs.
9690         (bottom_gutter_specs_changed): ditto.
9691         (left_gutter_specs_changed): ditto.
9692         (right_gutter_specs_changed): ditto.
9693
9694         * gui.c (gui_item_hash_internal): new function, does a real hash.
9695         (gui_item_id_hash): use it.
9696         (gui_item_hash): hash the eval'ed gui_item.
9697
9698         * gui-x.c (popup_selection_callback): send an eval event to call
9699         Fupdate_widget_instances.
9700
9701         * gui-msw.c (mswindows_handle_gui_wm_command): send an eval event
9702         to call Fupdate_widget_instances.
9703
9704         * glyphs.h (struct Lisp_Image_Instance): add optimize_output flag.
9705         (IMAGE_INSTANCE_OPTIMIZE_OUTPUT): access it.
9706
9707         * glyphs.c: (update_frame_subwindows): deleted.
9708         (Fupdate_widget_instances): new function for updating the dirty
9709         state of widgets that might have changed.
9710         (syms_of_glyphs): add Qupdate_widget_instances.
9711         (full_list_hash): hash a list completely.
9712         (image_instance_hash): use it for items and properties.
9713
9714         * frame-msw.c (mswindows_size_frame_internal): remove unused
9715         variable.
9716
9717         * faces.h (struct face_cachel): fix comment.
9718
9719         * event-stream.c (Fdispatch_non_command_events): new
9720         function. Process non-command events, forcing an event cycle
9721         beforehand.
9722         (syms_of_event_stream): declare.
9723         (event_stream_force_event_pending): new function. Force an event
9724         on the native event queue so that an event cycle will occur next
9725         time we check.
9726
9727         * event-msw.c:
9728         (struct ntpipe_shove_stream):
9729         (mswindows_enqueue_dispatch_event):
9730         (mswindows_dequeue_dispatch_event):
9731         (mswindows_cancel_dispatch_event):
9732         (mswindows_pump_outstanding_events):
9733         (mswindows_drain_windows_queue):
9734         (mswindows_handle_paint):
9735         (mswindows_wnd_proc):
9736         (mswindows_key_to_emacs_keysym):
9737         (get_process_input_waitable):
9738         (emacs_mswindows_delete_stream_pair): re-indent file.
9739         (mswindows_need_event): do not process further fds if the windows
9740         fd is set, otherwise you get endless XM_BUMPQUEUE cycles. This
9741         fixes the 100% cpu problem.
9742         (reinit_vars_of_event_mswindows): set force_event_pending to 0.
9743
9744 2000-03-15  Olivier Galibert  <galibert@pobox.com>
9745
9746         * alloc.h: New.
9747         * dumper.h: New.
9748         * dumper.c: New.
9749
9750         * emacs.c: Moved dump file searching to dumper.c.
9751         (Frunning_temacs_p): Fixed.
9752
9753         * alloc.c: Moved everything pdump-related to dumper.c.  Removed
9754         last_lrecord_type_index_assigned.
9755
9756 2000-02-20  Olivier Galibert  <galibert@pobox.com>
9757
9758         * symsinit.h: Added reinit parameter to init_console_stream
9759         declaration.
9760
9761         * lisp.h: Added file parameter to pdump_load declaration.
9762
9763         * emacs.c (main_1): Added -nd/--nodump-file and -sd/--show-dump-id
9764         support.  Added dump file searching.
9765
9766         * config.h.in: Added EMACS_PROGNAME.
9767
9768         * console-stream.c (init_console_stream): Fix reinitialisation
9769         when running from temacs.
9770
9771         * alloc.c (pdump): Add id support.
9772         (pdump_load): Add file parameter and signature/id support.
9773
9774         * Makefile.in.in: Add full pdump support.
9775
9776 2000-03-15  SL Baur  <steve@musashimaru.m17n.org>
9777
9778         * postgresql.c: Update documentation to reflect latest code
9779         status.
9780         (print_result): Show tuple counts in printed representation when
9781         appropriate.
9782         (Fpq_put_nbytes): MULE-ize.
9783         (Fpq_get_line_async): Ditto.
9784
9785 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
9786
9787         * postgresql.c (Fpq_lo_import): Fix return value.
9788         Suggested by: Kenji Itoh <keit@tpj.co.jp>.
9789
9790 2000-03-13  Ben Wing  <ben@xemacs.org>
9791
9792         * alloc.c (pdump_load):
9793         Fix compile warning under mswin.
9794
9795 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
9796
9797         * postgresql.c: Mule-ization, bug fixes.
9798         Use PG_CODING to encapsulate coding system name changes.
9799         Backport a version of TO_EXTERNAL format for 21.1/InfoDock.
9800         (pg-coding-system): Create.
9801
9802         (Fpq_conn_defaults): Mule-ize.
9803         (Fpq_connectdb): Mule-ize & bug fix.
9804         (Fpq_connect_start): Mule-ize.
9805         (Fpq_set_client_encoding): Mule-ize.
9806         (Fpq_finish): Document `DEAD' connection status.
9807         (Fpq_clear): Ditto.
9808         (Fpq_pgconn): Mule-ize.
9809         (Fpq_exec): Mule-ize & bug fix.
9810         (Fpq_send_query): Ditto.
9811         (Fpq_get_result): Ditto.
9812         (Fpq_res_status): Mule-ize.
9813         (Fpq_result_error_message): Mule-ize.
9814         (Fpq_ntuples): fix comments.
9815         (Fpq_fname): Mule-ize.
9816         (Fpq_fnumber): Mule-ize.
9817         (Fpq_ftype): fix comments.
9818         (Fpq_get_value): Mule-ize.
9819         (Fpq_cmd_status): Ditto.
9820         (Fpq_cmd_tuples): Ditto.
9821         (Fpq_oid_value): Ditto.
9822         (Fpq_notifies): Ditto.
9823         (Fpq_lo_import): Ditto.
9824         (Fpq_lo_export): Ditto.
9825         (Fpq_get_line): Ditto.
9826         (Fpq_put_line): Mule-ize and bug fix.
9827         (syms_of_postgresql): Fix ifdef'ing, add pg-coding-system.
9828
9829 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
9830
9831         * postgresql.c (vars_of_postgresql): Mule-ize.
9832         (Fpq_conn_defaults): Ditto.
9833
9834 2000-03-12  Ben Wing  <ben@xemacs.org>
9835
9836         * alloc.c (Fmake_byte_code):
9837         * alloc.c (debug_string_purity_print):
9838         * alloc.c (pdump_backtrace):
9839         * alloc.c (pdump_get_indirect_count):
9840         * alloc.c (pdump_register_sub):
9841         * alloc.c (pdump_register_object):
9842         * alloc.c (pdump_register_struct):
9843         * alloc.c (pdump_dump_data):
9844         * alloc.c (pdump_reloc_one):
9845         Minor cleanups.
9846
9847         * console-msw.c:
9848         * console-msw.c (GetConsoleHwnd):
9849         * console-msw.c (msw_hide_console):
9850         * console-msw.c (msw_show_console):
9851         * console-msw.c (msw_ensure_console_buffered):
9852         * console-msw.c (msw_output_console_string):
9853         * console-msw.c (console_type_create_mswindows):
9854
9855         a) Added functions to manipulate the console window for use with
9856         shell support.
9857
9858         b) Added support for writing text to the console, which is now
9859         used under Windows when xemacs is not being run non-interactively,
9860         to write text that would otherwise be destined for stdout because
9861         under these circumstances, text written to stdout tends to
9862         disappear and not be seen.
9863
9864         * console-msw.h:
9865         * event-Xt.c:
9866         * event-Xt.c (x_event_to_emacs_event):
9867         * event-Xt.c (describe_event_window):
9868         * events-mod.h (XEMACS_MOD_CONTROL):
9869         * events.c:
9870         * events.c (Fmake_event):
9871         * events.c (character_to_event):
9872         * events.c (event_to_character):
9873         * events.c (format_event_object):
9874         * events.c (Fevent_modifiers):
9875         * events.h:
9876         * events.h (struct key_data):
9877         * events.h (struct button_data):
9878         * events.h (struct misc_user_data):
9879         * frame-x.c (Fcde_start_drag_internal):
9880         * frame-x.c (Foffix_start_drag_internal):
9881         * gpmevent.c (Freceive_gpm_event):
9882         * keymap.c:
9883         * keymap.c (bucky_sym_to_bucky_bit):
9884         * keymap.c (control_meta_superify):
9885         * keymap.c (make_key_description):
9886         * keymap.c (keymap_lookup_directly):
9887         * keymap.c (create_bucky_submap):
9888         * keymap.c (keymap_store):
9889         * keymap.c (define_key_check_and_coerce_keysym):
9890         * keymap.c (define_key_parser):
9891         * keymap.c (define_key_alternate_name):
9892         * keymap.c (Fdefine_key):
9893         * keymap.c (raw_lookup_key_mapper):
9894         * keymap.c (struct map_keymap_unsorted_closure):
9895         * keymap.c (map_keymap_unsorted_mapper):
9896         * keymap.c (map_keymap_sort_predicate):
9897         * keymap.c (map_keymap_sorted):
9898         * keymap.c (accessible_keymaps_mapper_1):
9899         * keymap.c (where_is_recursive_mapper):
9900         * keymap.c (describe_map_mapper):
9901         * keymap.c (describe_map_sort_predicate):
9902         * keymap.c (describe_map):
9903         * keymap.c (complex_vars_of_keymap):
9904         And a number of other files, the key modifier preprocessor
9905         constants that xemacs uses have names that conflict with constants
9906         defined under MS Windows for other purposes, so they were renamed
9907         to begin with the prefix XEMACS_. The variables that hold such
9908         modifiers were changed to consistently be of type int to fix
9909         various compile warnings.
9910
9911         * console.c (complex_vars_of_console):
9912         * device.c:
9913         * device-msw.c:
9914         * device-msw.c (mswindows_finish_init_device):
9915         * device-msw.c (msw_get_workspace_coords):
9916         * device-msw.c (mswindows_device_system_metrics):
9917         and various other files, added support for a new
9918         device property called offset-workspace which returns the position
9919         of the upper left corner of the workspace area and goes along with
9920         the existing size-workspace property.
9921
9922         * dialog-msw.c:
9923         * dialog-msw.c (push_bufbyte_string_as_unicode):
9924         * dialog-msw.c (mswindows_popup_dialog_box):
9925         Added support for XEmacs-style accelerator specifications in
9926         button text.  Note: I didn't add support for this under X Windows,
9927         and somebody needs to do this.
9928
9929         * dialog.c:
9930         * dialog.c (Fpopup_dialog_box):
9931         Documented the support for accelerators that was just mentioned.
9932
9933         editfns.c (get_home_directory): Changed behavior under Windows
9934         when HOME not defined; former behavior was irretrievably broken.
9935
9936         * emacs.c:
9937         * emacs.c (main_1):
9938         * emacs.c (main):
9939         * minibuf.c (clear_echo_area_internal):
9940         * minibuf.c (echo_area_append):
9941         * print.c:
9942         * print.c (std_handle_out_external):
9943         * print.c (std_handle_out_va):
9944         * print.c (fatal):
9945         * print.c (write_string_to_stdio_stream):
9946         * print.c (output_string):
9947         * print.c (debug_print):
9948         * print.c (debug_backtrace):
9949         * print.c (debug_short_backtrace):
9950         Cleaned up the code that prints text to stdout so that this can be
9951         changed to output into a console window instead under MS Windows,
9952         as described above.
9953
9954         * eval.c:
9955         * eval.c (DEFEND_AGAINST_THROW_RECURSION):
9956         * eval.c (internal_catch):
9957         * eval.c (unwind_to_catch):
9958         * eval.c (throw_or_bomb_out):
9959         * eval.c (condition_case_1):
9960         * eval.c (signal_1):
9961         * eval.c (check_error_state_sanity):
9962         * eval.c (call_with_suspended_errors_1):
9963         * eval.c (call_with_suspended_errors):
9964         * eval.c (reinit_vars_of_eval):
9965         Added code to catch throw loops and check for a pesky bug that may
9966         be gone now.
9967
9968         * event-msw.c:
9969         * event-msw.c (key_needs_default_processing_p):
9970         * event-msw.c (mswindows_wnd_proc):
9971         * event-msw.c (mswindows_modifier_state):
9972         * event-msw.c (emacs_mswindows_quit_p):
9973         * event-msw.c (vars_of_event_mswindows):
9974         a) Added support for using the alt key to select menu items as is
9975         standard under MS Windows.  This is controlled using the variable
9976         menu-accelerator-enabled, just like under X Windows.  There is an
9977         option on the options menu to turn this support on.  I really
9978         think that it should be on by default under Windows, but I'm not
9979         going to make this change yet.
9980
9981         b)  Added support for dynamic display size changes under Windows.
9982
9983         * event-stream.c:
9984         * event-stream.c (maybe_echo_keys):
9985         * event-stream.c (Fnext_event):
9986         * event-stream.c (command_builder_find_leaf):
9987         * event-stream.c (lookup_command_event):
9988         * event-stream.c (execute_command_event):
9989         * event-stream.c (pre_command_hook):
9990         * event-stream.c (post_command_hook):
9991         * event-stream.c (syms_of_event_stream):
9992         * event-stream.c (vars_of_event_stream):
9993         * event-stream.c (complex_vars_of_event_stream):
9994         * events.h (struct command_builder):
9995
9996         a) Tried to clean up a little bit the horribly written x-specific
9997         accelerator code that crept into this file.  I moved this code
9998         into menubar-x.c where it belongs. I also needed to move the
9999         command builder structure into the file events.h because it is
10000         accessed directly by this accelerator code.  What I didn't do, but
10001         which should be done at some point, is to properly abstract this
10002         code using device methods instead of the kludgy way that it
10003         currently hooks into the event code.
10004
10005         b) Added the lisp variables this-command-properties and
10006         last-command- properties, which should be used to synchronize two
10007         adjacent commands in preference to playing games with the variable
10008         this-command, which is typically what happens.
10009
10010         c) Added some slightly nasty code to hook into the lisp support
10011         for shifted- motion-key selection.  This is actually necessary for
10012         somewhat complicated reasons, which are described in
10013         simple.el. (NB: I think the proper thing would be to have the code
10014         that calls the pre and post command hooks also call out to generic
10015         lisp functions in simple.el, where all built-in stuff could be
10016         added.  I will think about this more.)
10017
10018         * event-unixoid.c (poll_fds_for_input):
10019         * lread.c (readchar):
10020         * redisplay-tty.c (tty_clear_frame):
10021         * redisplay-x.c (x_get_gc):
10022         * signal.c (interrupt_signal):
10023         And a whole bunch of other files: fixed up places that printed
10024         directly to stderr to instead call the function stderr_out so that
10025         the changes I made under Windows work correctly.
10026
10027         * filemode.c (mode_string):
10028         Warning fixes.
10029
10030         * frame-msw.c:
10031         * frame-msw.c (mswindows_size_frame_internal):
10032         Fixed the computation of frame size and position to keep the frame
10033         within the workspace area, rather than within the physical
10034         dimensions of the screen, so that the frame doesn't overlap window
10035         manager decorations, such as the start menu and toolbar, typically
10036         at the bottom of the screen.
10037
10038         * frame.c (vars_of_frame):
10039         Changed the default frame title format under MS Windows to consist
10040         of buffername-XEmacs, which is standard under MS Windows.  I think
10041         it might be a good idea to change this everywhere because I think
10042         it is superior to the current frame title format, but this is the
10043         kind of change that is likely to cause some people to get annoyed,
10044         so I'm not making it.
10045
10046         * glyphs-eimage.c (png_instantiate): Fixed some compile warnings.
10047
10048         * gui-msw.c (mswindows_handle_gui_wm_command):
10049         Fixed compile warnings.
10050
10051         * gui-x.c:
10052         * gui-x.c (strdup_and_add_accel):
10053         * gui-x.c (button_item_to_widget_value):
10054         * gui-x.h:
10055         Added code to automatically put an accelerator onto the beginning
10056         of menu items that don't have one as is now the standard, and is
10057         described more later.  Also fixed things so that the menu item
10058         name can be an evaluated expression, again a new standard.
10059
10060         * gui.c:
10061         * gui.c (gui_item_add_keyval_pair):
10062         * gui.c (make_gui_item_from_keywords_internal):
10063         * gui.c (gui_add_item_keywords_to_plist):
10064         * gui.c (gui_item_accelerator):
10065         * gui.c (gui_name_accelerator):
10066         * gui.c (gui_item_included_p):
10067         * gui.c (gui_item_display_flush_left):
10068         * gui.c (gui_item_display_flush_right):
10069         * gui.c (parse_gui_item_tree_item):
10070         * gui.c (parse_gui_item_tree_children):
10071         * gui.c (parse_gui_item_tree_list):
10072         Mule-ized.  Cleanup.  GCPRO addition.
10073
10074         * line-number.c (buffer_line_number):
10075         * lisp.h:
10076         * lisp.h (EMACS_INT_MAX):
10077         Added the manifest constant EMACS_INT_MIN corresponding to the
10078         existing constant EMACS_INT_MAX.  This is partially to fix compile
10079         warnings under Windows, and partly for cleanliness.
10080
10081         * menubar-msw.c:
10082         * menubar-msw.c (REPLACE_ME_WITH_GLOBAL_VARIABLE_WHICH_CONTROLS_RIGHT_FLUSH):
10083         * menubar-msw.c (msw_translate_menu_or_dialog_item):
10084         * menubar-msw.c (displayable_menu_item):
10085         * menubar-msw.c (populate_menu_add_item):
10086         * menubar-msw.c (populate_or_checksum_helper):
10087         * menubar-msw.c (populate_menu):
10088         * menubar-msw.c (update_frame_menubar_maybe):
10089         * menubar-msw.c (prune_menubar):
10090         * menubar-msw.c (msw_char_is_accelerator):
10091         * menubar-msw.c (unsafe_handle_wm_initmenu_1):
10092         * menubar-msw.c (mswindows_handle_wm_command):
10093         * menubar-msw.c (mswindows_handle_wm_initmenupopup):
10094         * menubar-msw.c (mswindows_handle_wm_initmenu):
10095         * menubar-msw.c (mswindows_update_frame_menubars):
10096         * menubar-msw.c (mswindows_free_frame_menubars):
10097         * menubar-msw.c (mswindows_popup_menu):
10098         Fixed a bug in handling accelerators where an extra character
10099         would be displayed in the menu item.  Also generalized the
10100         function displayable_menu_item because it is now used by the
10101         dialog box code as well.  And finally, added code in the functions
10102         that create the menubar to extract a list of accelerators for the
10103         top level menubar, which is used in the event code to determine
10104         whether a particular alt-key combination should be used to invoke
10105         a menu item, or should be passed through to access the standard
10106         XEmacs keymap binding for this key combination.
10107
10108         Much needed GCPROing.
10109
10110         * menubar-x.c:
10111         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
10112         * menubar-x.c (menu_item_descriptor_to_widget_value):
10113         * menubar-x.c (restore_in_menu_callback):
10114         * menubar-x.c (x_popup_menu):
10115         * menubar-x.c (menu_move_up):
10116         * menubar-x.c (menu_move_down):
10117         * menubar-x.c (menu_move_left):
10118         * menubar-x.c (menu_move_right):
10119         * menubar-x.c (menu_select_item):
10120         * menubar-x.c (command_builder_operate_menu_accelerator):
10121         * menubar-x.c (menu_accelerator_junk_on_error):
10122         * menubar-x.c (command_builder_find_menu_accelerator):
10123         * menubar-x.c (Faccelerate_menu):
10124         * menubar.h:
10125         Moved a whole bunch of code here that was previously in
10126         event-stream.c as described above.  There is also code connected
10127         to the new standard of adding an accelerator to the beginning of
10128         menu items that don't have one as described above and below.
10129
10130         * menubar.c:
10131         * menubar.c (menu_parse_submenu_keywords):
10132         * menubar.c (Fmenu_find_real_submenu):
10133         * menubar.c (Fnormalize_menu_item_name):
10134         * menubar.c (syms_of_menubar):
10135         * menubar.c (vars_of_menubar):
10136         * menubar.c (complex_vars_of_menubar):
10137
10138         a) Cleaned up a bunch of documentation and improved it.
10139
10140         b) XEmacs now automatically adds an accelerator onto the beginning
10141         of any menu items that don't have one.  I did this because there
10142         will inevitably be some menu items on the main menubar that don't
10143         have accelerators on them because the package that adds that
10144         particular menu item hasn't yet been fixed up to have accelerators
10145         in them and it looked rather strange to have some items with and
10146         some items without accelerators, especially since even in items
10147         without accelerators, you can, at least under windows, still
10148         access the item through an accelerator corresponding to the first
10149         character in the item's name.  If people don't like this behavior,
10150         I can add a variable to turn it off optionally, but I'm not sure
10151         this is a good idea because we really do need to have accelerators
10152         on all of the menu items, and if a package doesn't like the
10153         accelerators being put on the first character, then it should put
10154         the accelerators where they belong.
10155
10156         c) I made a behavior change, which is that the descriptor that
10157         specifies the text of the menu item, which formerly was just a
10158         string, can now also be an evaluated expression.  This makes this
10159         descriptor parallel with all of the others, which could also be
10160         evaluated expressions.  This also obviates the need for the
10161         keyword :label, which was previously listed in the documentation
10162         as unimplemented, and which was for the same purpose.
10163
10164         d) GCPROing.
10165
10166         * ntproc.c:
10167         * ntproc.c (new_child):
10168         * ntproc.c (sys_spawnve):
10169         * ntproc.c (find_child_console):
10170         * ntproc.c (sys_kill):
10171         Fixed compile warnings.  By the way, this file should really go
10172         away entirely, and this will happen as soon as Kirill makes his
10173         final round of process cleanups, which affect the function
10174         call-process.
10175
10176         * process-nt.c:
10177         * process-nt.c (struct nt_process_data):
10178         * process-nt.c (find_process_from_pid):
10179         * process-nt.c (send_signal_the_nt_way):
10180         * process-nt.c (enable_child_signals):
10181         * process-nt.c (find_child_console):
10182         * process-nt.c (send_signal_the_95_way):
10183         * process-nt.c (nt_finalize_process_data):
10184         * process-nt.c (ensure_console_window_exists):
10185         * process-nt.c (nt_create_process):
10186         * process-nt.c (nt_kill_child_process):
10187         * process-nt.c (nt_kill_process_by_pid):
10188         * process-nt.c (nt_open_network_stream):
10189         * process-nt.c (vars_of_process_nt):
10190         Copied over code from Emacs 20.5 to correctly send signals to sub-
10191         processes under Windows 95.  Also added code to automatically
10192         create and hide console window when a sub-process is created under
10193         Windows 95, which obviates the need for the separate runemacs.exe
10194         executable, and finally implemented some variables that were
10195         implemented in Emacs 20.5, but previously not in XEmacs.  These
10196         include mswindows- start-process-share-console and
10197         mswindows-start-process-inherit-error-mode. (Both of these only
10198         apply to Windows 95.)
10199
10200         * regex.c (regex_compile): Fixed a compile warning.
10201
10202         * select-msw.c:
10203         * select-msw.c (mswindows_own_selection):
10204         * select-msw.c (mswindows_get_foreign_selection):
10205         * select-msw.c (mswindows_disown_selection):
10206         * select-msw.c (console_type_create_select_mswindows):
10207         * select-msw.c (syms_of_select_mswindows):
10208         Cleaned up the file and implemented the device method
10209         selection_exists_p, which had accidentally been left out.  Also
10210         removed four lisp functions that were remnants from before the
10211         time when the selection code was properly device abstracted.
10212         These functions are no longer needed because there are generic
10213         equivalents, and because they were added recently and don't exist
10214         in FSF Emacs, I don't think there's any problem with just deleting
10215         them.
10216
10217         * sysdep.c:
10218         * sysdep.c (sys_subshell):
10219         Fixed a compile warning, although in this case there's probably
10220         something wrong with this code, and it ought to be looked into
10221         more thoroughly by somebody who understands it.
10222
10223         * window.c:
10224         * window.c (Fwindow_text_area_height):
10225         * window.c (Fwindow_width):
10226         * window.c (Fwindow_full_width):
10227         * window.c (Fwindow_pixel_width):
10228         * window.c (debug_print_window):
10229         * window.c (syms_of_window):
10230         Added functions window-text-area-height and window-full-width,
10231         which are functions for returning various width and height
10232         characteristics of a window. (One of these functions is necessary
10233         for making the file dialog box work correctly, and the other one
10234         was added for completeness.)  Also added a table to the
10235         documentation for window-height which describes the entire scheme
10236         for accessing width and height characteristics of a window.
10237
10238 2000-03-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10239
10240         * nt.c (fstat): Added a comment for another problem with
10241         non-encapsulated [f]stat(), reported by Adrian Aichner
10242         <aichner@ecf.teradyne.com>.
10243
10244 2000-03-11  Andy Piper  <andy@xemacs.org>
10245
10246         * window.c (make_dummy_parent): initialize subwindow instance
10247         cache.
10248         (Fset_window_configuration): zero extent_modiff.
10249
10250 2000-03-10  Andy Piper  <andy@xemacs.org>
10251
10252         * redisplay.c (Fredraw_frame): reset the changed_set flags so that
10253         more changes can be triggered.
10254         (Fredisplay_frame): ditto.
10255         (Fredraw_device): ditto.
10256         (Fredisplay_device): ditto.
10257         (redisplay_frame): make non-static.
10258         (redisplay_frame): call update_frame_gutter_geometry outside of
10259         display proper.
10260
10261         * gutter.h: declare update_frame_gutter_geometry.
10262
10263         * redisplay.h: declare redisplay_frame.
10264
10265         * gutter.c (update_frame_gutter_geometry): move geometry changes
10266         in update_frame_gutters here. Geometry changes can only occur
10267         outside of redisplay.
10268         (update_frame_gutters): remove geometry change code.
10269         (Fredisplay_gutter_area): make sure that we are in display when we
10270         update and that we have flushed any size changes.
10271
10272 2000-03-11  Andy Piper  <andy@xemacs.org>
10273
10274         * alloc.c (pdump_dump_data): remove i & count shadows.
10275
10276 2000-02-27  Mike Alexander  <mta@arbortext.com>
10277
10278         * sysdep.h: Declare pdump_read_file
10279
10280         * sysdep.c (pdump_read_file): New function
10281
10282         * alloc.c (pdump_load): Call pdump_read_file to get the portable
10283         dump data
10284
10285 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
10286
10287         * lrecord.h: add `lrecord_type_pgsetenv'.
10288
10289 2000-03-08  SL Baur  <steve@musashimaru.m17n.org>
10290
10291         * symsinit.h: declare (vars|syms)_of* functions.
10292         * lrecord.h: add `lrecord_type_pgconn' and 'lrecord_type_pgresult'.
10293
10294 2000-03-06  SL Baur  <steve@musashimaru.m17n.org>
10295
10296         * config.h.in: Add symbols HAVE_POSTGRESQL and HAVE_POSTGRESQLV7
10297
10298         * inline.c: Include postgresql.h lrecord stuffs to placate buggy
10299         GCCs.
10300
10301         * emacs.c (main_1): Call postgres initialization code.
10302
10303         * postgresql.h: New file.  PostgreSQL RDBMS support.
10304         * postgresql.c: New file.
10305
10306 2000-03-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
10307
10308         * redisplay-output.c (redisplay_output_display_block): Disable
10309         redundant code.
10310
10311 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
10312
10313         * mule-canna.c (Fcanna_henkan_region): Translate doc-string.
10314         (Fcanna_henkan_next): Ditto.
10315         (Fcanna_bunsetu_henkou): Ditto.
10316         (Fcanna_henkan_kakutei): Ditto.
10317         (Fcanna_henkan_end): Ditto.
10318         (Fcanna_henkan_quit): Ditto.
10319         (Fcanna_henkan_next): Set retun value correctly.
10320         (c2mu): Use unsigned char instead of signed char.
10321
10322 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
10323
10324         * emacs.c (main_1): Always call syms_of_gui.
10325         * inline.c: include gui.h
10326
10327 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
10328
10329         * redisplay.c (Vvisible_bell): Renamed from visible_bell and
10330         converted to Lisp_Object.
10331         (Qtop_bottom): New variable.
10332         (syms_of_redisplay): Initialize it.
10333         * redisplay.h (Vvisible_bell): Ditto.
10334         * sound.c (ding): Ditto and check if Vvisible_bell is nil.
10335         * redisplay-x.c (x_flash): When Vvisible_bell is top-bottom,
10336         only flash top and bottom.
10337
10338 2000-03-08  Andy Piper  <andy@xemacs.org>
10339
10340         * buffer.c (Frename_buffer): record new buffer name the right way.
10341
10342 2000-03-08  Andy Piper  <andy@xemacs.org>
10343
10344         * glyphs.c (update_subwindow): increase hash depth so that widget
10345         items get picked up properly.
10346
10347         * redisplay-output.c (compare_runes): increase hash depth so that
10348         widget items get picked up properly.
10349
10350 2000-03-08  Andy Piper  <andy@xemacs.org>
10351
10352         * gutter.c (output_gutter): add some debug.
10353
10354         * glyphs.h (struct Lisp_Image_Instance): add display_hash.
10355         (IMAGE_INSTANCE_DISPLAY_HASH): new macro.
10356         (XIMAGE_INSTANCE_DISPLAY_HASH): ditto.
10357
10358         * redisplay-output.c (compare_runes): use display_hash to
10359         determine if glyphs really are not the same.
10360
10361         * glyphs.c (update_subwindow): check display_hash to see if
10362         anything really needs to be updated. If not then do
10363         nothing. Record the display_hash after updating.
10364         (image_instance_equal): compare the image_instance face also.
10365
10366 2000-03-07  Yoshiki Hayashi  <yoshiki@xemacs.org>
10367
10368         * redisplay.h: Fix comment style.
10369
10370 2000-03-08  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10371
10372         * consle-msw.h (struct mswindows_frame):
10373         Added new member paint_pending to indicate whether a WM_PAINT
10374         magic event has been queued for this frame.
10375
10376         * event-msw.c (mswindows_drain_windows_queue):
10377         Don't queue a WM_PAINT magic event if one is already queued.
10378         (emacs_mswindows_handle_magic_event): clear paint_pending flag.
10379
10380         * frame-msw.c (mswindows_init_frame_1): initialise paint_pending flag.
10381
10382 2000-03-07  Didier Verna  <didier@xemacs.org>
10383
10384         * dired.c: #include `regex.h' after `sysfile.h'.
10385
10386 2000-03-06  Martin Buchholz  <martin@xemacs.org>
10387
10388         * sound.c (init_nas_sound): Fix compiler warning.
10389
10390         * alloc.c (ALIASING_VOIDPP_DEREFERENCE): New.
10391         (FREE_STRUCT_P):
10392         (MARK_STRUCT_AS_FREE):
10393         (MARK_STRUCT_AS_NOT_FREE):
10394         Make `gcc -fstrict-aliasing' work properly.
10395
10396 2000-03-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10397
10398         * device-msw.c (mswindows_finish_init_device): Call CoInitialize().
10399         (mswindows_delete_device): Call CoUnnitialize().
10400
10401         * event-msw.c (mswindows_wnd_proc): WM_DROPFILES: Decode Shortcuts.
10402
10403 2000-02-25    <CraigL@DyCon.com>
10404
10405         * process-nt.c: MinGW now has <shellapi.h>, but still needs
10406         <errno.h>.
10407
10408         * sysdep.c: This extern declaration for environ prevents MinGW
10409         from finding the variable in CRTDLL.DLL.
10410
10411         * s\mingw32.h (PBS_SMOOTH): Removed, now defined in cygwin's
10412         windows headers.
10413         (SHGFI_EXETYPE): ..
10414         (WM_MOUSEWHEEL): ..
10415         (_WIN32_IE): Added, needed to get the TCS_BOTTOM and TCS_VERTICAL
10416         definitions.
10417         (MMRESULT): Removed, now defined in cygwin's windows headers.
10418         (TIMECAPS): ..
10419         (uid_t,gid_t,pid_t,ssize_t): ..
10420         (_timeb): Removed, MinGW defines both _timeb and timeb.
10421         (HAVE_H_ERRNO): Added.
10422         (HAVE_TZNAME): Added, configure is not detecting this.
10423
10424 2000-02-03  IKEYAMA Tomonori <tomonori@suiyokai.org>
10425
10426         * chartab.h (XCHAR_TABLE_VALUE_UNSAFE): New macro.
10427         * syntax.c (syntax_match): Use it.
10428
10429         * cmds.c: Import auto-fill-chars from FSF Emacs.
10430         (Vauto_fill_chars): New variables.
10431         (internal_self_insert): Check Vauto_fill_chars.
10432         (vars_of_cmds):
10433         Declare auto-fill-chars as a Lisp variable and initialize it.
10434
10435 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10436
10437         * fileio.c (Fmake_symbolic_link):
10438         (Ffile_symlink_p):
10439         Run handlers even if local machine doesn't have symlinks.
10440
10441 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10442
10443         * event-msw.c (mswindows_drain_windows_queue):
10444         Don't generate paint magic events for non-XEmacs frames.
10445
10446 2000-03-05  Andy Piper  <andy@xemacs.org>
10447
10448         * redisplay.c (redisplay_frame): generate_displayable_area and
10449         friends assumes that we are not in GC, we therefore have to make
10450         sure that this doesn't happen.
10451
10452         * gutter.c (calculate_gutter_size): generate_displayable_area
10453         assumes that we are not in GC, we therefore have to make sure that
10454         this doesn't happen.
10455
10456 2000-03-05  Martin Buchholz  <martin@xemacs.org>
10457
10458         * opaque.c (DEFINE_LRECORD_IMPLEMENTATION): opaque_ptr ==> opaque-ptr
10459
10460 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
10461
10462         * redisplay.c (regenerate_window): Make sure we set a sane value
10463         for end_pos even if we jump out of the loop.
10464         (regenerate_window): Answer Ben's question :-).
10465         (start_end_of_last_line): Add may_error argument.
10466         (start_of_last_line):
10467         (end_of_last_line): Pass may_error = 0.
10468         (end_of_last_line_may_error): New function.
10469         (pixel_to_glyph_translation): Use it, so we don't crash in
10470         event_to_glyph.
10471
10472 2000-03-04  Andy Piper  <andy@xemacs.org>
10473
10474         * window.h (struct window): add gutter_extent_modiff.
10475
10476         * window.c (allocate_window): zero out gutter_extent_modiff.
10477
10478         * redisplay.h: declare sync_display_line_structs.
10479
10480         * redisplay.c (add_glyph_rune): add a better comment.
10481
10482         * redisplay-output.c (sync_display_line_structs): made non-static.
10483         (compare_runes): remove unneccesary glyph cachel access.
10484
10485         * gutter.h: declare gutter_extent_signal_changed_region_maybe.
10486
10487         * gutter.c (output_gutter): don't output the gutter if extent
10488         changes only involve extents in buffers. use 4 sets of display
10489         lines.
10490         (gutter_extent_signal_changed_region_maybe): new function. Mark
10491         extents in gutters as changed.
10492         (update_frame_gutters): use 4 sets of display lines.
10493         (reset_gutter_display_lines): ditto.
10494         (free_frame_gutters): ditto.
10495         (redraw_exposed_gutter): force output of gutters.
10496
10497         * frame.h (struct frame): add 4 sets of gutter display lines.
10498
10499         * extents.c: (extent_changed_for_redisplay): signal changes to
10500         extents in strings in the gutter as well as extents in buffers.
10501
10502 2000-03-02  Andy Piper  <andy@xemacs.org>
10503
10504         * gutter.c (specifier_vars_of_gutter): cosmetic changes.
10505
10506         * frame.c (Fmake_frame): make sure the gutters get initialized
10507         after the frame is visible.
10508         (set_frame_selected_window): re-arrange compilation macros a
10509         little.
10510         (change_frame_size_1): mark gutters changed.
10511
10512         * device.c (Fset_device_class): mark gutters changed.
10513
10514 2000-03-01  Andy Piper  <andy@xemacs.org>
10515
10516         * window.c (window_top_frame_gutter_height): deleted.
10517         (window_bottom_frame_gutter_height): ditto.
10518         (window_left_frame_gutter_height): ditto.
10519         (window_right_frame_gutter_height): ditto.
10520         (window_top_gutter_height): don't use them.
10521         (window_bottom_gutter_height): ditto.
10522         (window_left_gutter_width): ditto.
10523         (window_right_gutter_width): ditto.
10524         (Fsplit_window): ditto.
10525         (Fwindow_pixel_edges): don't use border dimensions here.
10526
10527         * scrollbar.c (update_scrollbar_instance): don't take gutters into account.
10528         (update_scrollbar_instance): ditto.
10529
10530         * redisplay.c (generate_modeline): don't take gutters into account.
10531         (generate_modeline): ditto.
10532         (redisplay_frame): small gutter display optimization.
10533
10534         * redisplay-x.c (x_output_vertical_divider): don't take gutters into account.
10535
10536         * redisplay-msw.c (mswindows_output_vertical_divider): don't take
10537         gutters into account.
10538
10539         * gutter.h (WINDOW_REAL_*_GUTTER_BOUNDS): remove bogus checks
10540         for window position and type.
10541
10542         * gutter.c (get_gutter_coords): fix for frame gutters.
10543         (update_frame_gutters): update frame geometry if the gutters have
10544         changed.
10545         (init_frame_gutters): record current gutter geometries.
10546
10547         * glyphs-msw.c (mswindows_subwindow_instantiate): remove unused
10548         var.
10549         (mswindows_widget_instantiate): ditto.
10550
10551         * frame.h (struct frame): add current_gutter_bounds.
10552
10553         * frame.c (change_frame_size_1): position window and minibuffer
10554         appropriately taking into account the frame gutters.
10555
10556         * frame-x.c: (x_initialize_frame_size): take into account the
10557         frame gutters.
10558
10559 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
10560
10561         * emacs.c (data-directory):  Xref `locate-data-file' in docstring.
10562
10563 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
10564
10565         * alloc.c (dumpopaquevec): Increase dimension for --with-canna.
10566
10567 1999-12-30  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
10568
10569         * file-coding.c (reset_decoding_stream): Clear previous
10570         detection state when autodetect.
10571
10572 2000-02-29  Didier Verna  <didier@xemacs.org>
10573
10574         * extents.c (set_extent_glyph_1): don't require extents to be
10575         attached.
10576
10577 2000-02-27  Andy Piper  <andy@xemacs.org>
10578
10579         * gutter.c (Fset_default_gutter_position): don't default left and
10580         right gutter visibility to t.
10581         (Fset_default_gutter_position): run
10582         default-gutter-position-changed-hook.
10583         (syms_of_gutter): add default-gutter-position-changed-hook.
10584
10585 2000-02-26  Andy Piper  <andy@xemacs.org>
10586
10587         * specifier.c (Fmake_specifier): add gutter references.
10588
10589         * gutter.h (RAW_WINDOW_GUTTER): new macro.
10590
10591         * lisp.h: declare Fvalid_plist_p.
10592
10593         * gutter.c (gutter_geometry_changed_in_window): mark the modeline
10594         as changed.
10595         (default_gutter_visible_p_changed_in_window): invalidate gutter as
10596         well as its visibility so that it gets reconstructed.
10597         (construct_window_gutter_spec): new function. Construct a string
10598         to be displayed in the gutter from a plist of strings. Take care
10599         to only use elements that are declared as visible.
10600         (calculate_gutter_size): use RAW_WINDOW_GUTTER instead of
10601         WINDOW_GUTTER.
10602         (gutter_validate): allow plists of strings in the specifier.
10603         (gutter_specs_changed): construct the real_gutter from the gutter
10604         specs using construct_window_gutter_spec.
10605         (gutter_visible_validate): gutter-visible is a new specifier type.
10606         (Fgutter_visible_specifier_p): new function for the new specifier.
10607         (syms_of_gutter): declare gutter-visible and
10608         Fgutter_visible_specifier_p.
10609         (specifier_type_create_gutter): intitalize new gutter-visible
10610         specifier.
10611         (reinit_specifier_type_create_gutter): ditto.
10612         (specifier_vars_of_gutter): use new specifier type for gutter
10613         visibility.
10614         (init_frame_gutters): construct real_gutter correctly.
10615         (Fgutter_specifier_p): beef up documentation.
10616         (Fgutter_size_specifier_p): ditto.
10617
10618         * winslots.h: add real_gutter slots.
10619
10620 2000-02-25  Andy Piper  <andy@xemacs.org>
10621
10622         * device-msw.c: Be kind to older cygwin versions. From Raymond
10623         Toy <toy@rtp.ericsson.se>.
10624
10625         * gui-msw.c (Fmswindows_shell_execute): Remove things unknown to
10626         earlier cygwins. From Raymond Toy <toy@rtp.ericsson.se>.
10627
10628 2000-02-25  Martin Buchholz  <martin@xemacs.org>
10629
10630         * elhash.c (MARK_OBJ): Practice macro hygiene.
10631
10632 2000-02-24  Martin Buchholz  <martin@xemacs.org>
10633
10634         * miscplay.c: s/__inline__/inline/g;
10635         * glyphs-msw.c (set_mono_pixel): INLINE ==> static inline
10636         (get_device_compdc): INLINE ==> static inline
10637         * *.[ch]: Change INLINE to INLINE_HEADER globally.
10638         find -name '*.h' | \
10639         xargs global-replace \
10640         's/(^|(?<=[^A-Za-z0-9_]))INLINE((?=[^A-Za-z0-9_])|$)/INLINE_HEADER/g'
10641
10642 2000-02-25  Andy Piper  <andy@xemacs.org>
10643
10644         * window.c (window_top_frame_gutter_height): new function.
10645         (window_top_window_gutter_height): ditto.
10646         (window_top_gutter_height): use them.
10647         (window_bottom_frame_gutter_height): new function.
10648         (window_bottom_window_gutter_height): ditto.
10649         (window_bottom_gutter_height): use them.
10650         (window_left_window_gutter_width): new function.
10651         (window_left_frame_gutter_width): ditto.
10652         (window_left_gutter_width): use them.
10653         (window_right_window_gutter_width): new function.
10654         (window_right_frame_gutter_width): ditto.
10655         (window_right_gutter_width): use them.
10656         (window_pixel_height): new function. calulate window pixel height
10657         with frame gutter involvement.
10658         (Fsplit_window): calculate new sizes taking frame gutters into
10659         account.
10660         (window_char_height_to_pixel_height): don't include frame gutters.
10661         (window_char_height): use window_pixel_height.
10662         (window_pixheight): rename from window_pixel_height.
10663         (change_window_height): use it.
10664         (window_pixel_height_to_char_height): don't include frame gutters.
10665         (window_char_width_to_pixel_width): ditto.
10666
10667 2000-02-25  Andy Piper  <andy@xemacs.org>
10668
10669         * glyphs.h (IMAGE_INSTANCE_FACE): glyph might be nil, don't crash
10670         if it is.
10671
10672 2000-02-24  Martin Buchholz  <martin@xemacs.org>
10673
10674         * alloc.c (staticpro):
10675         (staticpro_nodump):
10676         (dumpstruct):
10677         (dumpopaque):
10678         (pdump_wire):
10679         (pdump_wire_list):
10680         (compact_string_chars):
10681         (pdump_dump_wired):
10682         Convert:  if (foo) abort();  ==>  assert (! foo);
10683
10684         * eldap.c (Fldap_search_basic):
10685         (Fldap_add):
10686         (Fldap_modify):
10687         (Fldap_delete):
10688         Fix compiler warnings, and possible crashes if (random) return
10689         value were to be used.
10690
10691 2000-02-21  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10692
10693         * device-msw.c: Workaround ResetDC failure.
10694
10695         * frame-msw.c (msprinter_init_frame_3): Added an assertion before
10696         applying a devmode.
10697
10698         * redisplay-msw.c (get_frame_dc): Added start_page_p.
10699         (mswindows_text_width): Do not start printer page.
10700
10701         * console-msw.h (CHECK_MSGDI_DEVICE): Added this and friends.
10702
10703         * glyphs-msw.c: Added image methods to msprinter console and
10704         msprinter-specific image instantiation.
10705
10706 2000-02-20  Mike Alexander  <mta@arbortext.com>
10707
10708         * select-msw.c (Fmswindows_set_clipboard): GC protect more things
10709         to avoid crashes when selection-sets-clipboard is on
10710         (mswindows_own_selection): ditto
10711
10712 2000-02-19  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10713
10714         * glyphs-msw.c:
10715         * redisplay-msw.c (get_frame_dc):
10716         (get_frame_compdc):
10717         * console-msw.h:
10718         * device-msw.c (mswindows_init_device):
10719         (mswindows_delete_device):
10720         (msprinter_init_device):
10721         (msprinter_delete_device):
10722         * frame-msw.c (mswindows_init_frame_1):
10723         (mswindows_delete_frame):
10724         (msprinter_init_frame_3):
10725         (msprinter_delete_frame): Move compatible DC to device object from
10726         frame object, for both mswindows and msprinter. Only one at a time
10727         is needed, it is a real waste to have one per frame!
10728
10729 2000-02-23  Andy Piper  <andy@xemacs.org>
10730
10731         * glyphs.c: add dynamic width and height elements.
10732         (image_instance_equal): ditto.
10733
10734         * glyphs-widget.c (widget_query_geometry): calculate width and
10735         height dynamically if required.
10736         (initialize_widget_image_instance): initialize dynamic dimensions.
10737         (widget_instantiate): pick-up dynamic dimensions.
10738
10739         * glyphs.h (struct Lisp_Image_Instance): add width and height for
10740         dynamic determination. Add appropriate macros.
10741
10742         * gutter.h (WINDOW_GUTTER_BORDER_WIDTH): make non-integer
10743         dimensions safe.
10744         (WINDOW_GUTTER_SIZE): ditto.
10745         (WINDOW_GUTTER_SIZE_INTERNAL): ditto.
10746
10747         * redisplay-msw.c (get_frame_compdc): gcc can't cope with this
10748         inline.
10749         (get_frame_dc): ditto.
10750
10751         * redisplay.h (GLOBAL_RESET_CHANGED_FLAGS): don't reset faces
10752         here.
10753
10754 2000-02-23  Martin Buchholz <martin@xemacs.org>
10755
10756         * XEmacs 21.2.31 is released.
10757
10758 2000-02-22  Ben Wing <ben@xemacs.org>
10759
10760         * ntheap.c (allocate_heap): Make sure `ptr' is initialized.
10761
10762 2000-02-22  Andy Piper  <andy@xemacs.org>
10763
10764         * glyphs-x.c (x_widget_instantiate): don't explicitly resize here.
10765
10766 2000-02-21  Mike Sperber <mike@xemacs.org>
10767
10768         * .dbxrc:
10769         * .gdbinit:
10770         * Makefile.in.in: Remove obsolete EMACSBOOTSTRAP... environment
10771         variables.
10772
10773 2000-02-21  Mike Sperber <mike@xemacs.org>
10774
10775         * s/aix4.h: Declare getaddrinfo broken for AIX 4, which it is.
10776
10777 2000-02-21  Martin Buchholz <martin@xemacs.org>
10778
10779         * XEmacs 21.2.30 is released.
10780
10781 2000-02-20  Martin Buchholz  <martin@xemacs.org>
10782
10783         Performance hacking.
10784         * *.c (syms_of_*):
10785         Add INIT_LRECORD_IMPLEMENTATION macros, paired with
10786         DEFINE_LRECORD_IMPLEMENTATION macros in the same file.
10787         * emacs.c (main_1):
10788         * lisp.h (DEFUN):
10789         * console.c (DEFVAR_CONSOLE_LOCAL_1):
10790         * buffer.c (DEFVAR_BUFFER_LOCAL_1):
10791         * symeval.h (DEFVAR_SYMVAL_FWD):
10792         * symbols.c (guts_of_unbound_marker):
10793         Make all c_readonly objects also lisp_readonly and marked for life.
10794         * lrecord.h (struct lrecord_implementation):
10795         Document flags better.
10796         * lrecord.h (DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION_WITH_PROPS):
10797         * lrecord.h (DECLARE_LRECORD):
10798         * lrecord.h (XSETRECORD):
10799         * lrecord.h (RECORDP):
10800         * lrecord.h (RECORD_TYPEP):
10801         * lrecord.h (RECORD_MARKER): New.
10802         * lrecord.h (error_check_*):
10803         * lrecord.h (CONCHECK_NONRECORD):
10804         * lrecord.h (MAKE_LRECORD_IMPLEMENTATION):
10805         * lrecord.h (INIT_LRECORD_IMPLEMENTATION): New.
10806         * lrecord.h (set_lheader_implementation):
10807         * lrecord.h (enum lrecord_type): New.
10808         * symeval.h (SYMBOL_VALUE_MAGIC_P):
10809         * alloc.c (disksave_object_finalization_1):
10810         * alloc.c (mark_object):
10811         * alloc.c (lrecord_type_index):
10812         * alloc.c (tick_lcrecord_stats):
10813         * alloc.c (Fgarbage_collect):
10814         * alloc.c (init_alloc_once_early):
10815         * alloc.c (pdump_load):
10816         * alloc.c (GC_CHECK_LHEADER_INVARIANTS): New.
10817         * alloc.c (lrecord_type_index): Delete.
10818         Make lisp object type indexes be constant.
10819           Makes (byte-compile) 5% faster.
10820         Put all marker functions into their own array.
10821           Makes (garbage-collect) 5% faster.
10822         Optimize SYMBOL_VALUE_MAGIC_P.
10823           Makes (byte-compile) 2-3% faster.
10824         * config.h.in (gc_checking_assert): New.
10825         * alloc.c: Use gc_checking_assert().
10826         * .dbxrc: Make compatible with new object type implementation.
10827         * .gdbinit: Make compatible with new object type implementation.
10828         * alloc.c: Delete all symbols defined only for debugging, such as
10829         Lisp_Type_Vector and lrecord_charset.
10830
10831 2000-02-21  Andy Piper  <andy@xemacs.org>
10832
10833         * gui-msw.c (Fmswindows_shell_execute): fix file location
10834         problems.
10835
10836         * buffer.c (Fkill_buffer): remove buffer from alist buffer
10837         unshowing so that set_window_buffer doesn't undo
10838         kill_buffer_hook's hard work.
10839
10840         * glyphs-widget.c (tab_control_query_geometry): don't count the
10841         first item when calculating geometry.
10842
10843         * glyphs.c (map_subwindow): remove redundant code.
10844         (update_frame_subwindows): be more circumspect about when to
10845         update subwindows.
10846
10847         * glyphs-x.c (x_update_widget): Properly fix sizing bug. Fix bug
10848         when items haven't changed. Update faces if faces have changed as
10849         well as just the widget face.
10850         (x_tab_control_update): Update faces if faces have changed as well
10851         as just the widget face.
10852
10853 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10854
10855         * device-msw.c: (mswindows_delete_device): Remove redundant DDE
10856         registration.
10857         (build_syscolor_string): Use mswindows_color_to_string to try to
10858         get a named color.
10859         (mswindows_device_system_metrics): Reverse the foreground and
10860         background colors so that they match the documentation.
10861
10862         * objects-msw.c: (mswindows_X_color_map): tweak some values so
10863         they match the default Windows palette.
10864         (mswindows_color_to_string): New function.
10865
10866 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10867
10868         * s/windowsnt.h: Only use __declspec(noreturn) with MSVC>=6.
10869
10870 2000-02-18  Olivier Galibert  <galibert@pobox.com>
10871
10872         * m/*, s/*: Removed obsolete DATA_SEG_BITS, PURE_SEG_BITS,
10873         WORD_MACHINE, SIGN_EXTEND_CHAR and EXPLICIT_SIGN_EXTEND.
10874
10875         * symbols.c (init_symbols_once_early): Removed obsolete
10876         DATA_SEG_BITS related kludge.
10877         (defvar_magic): Ditto.
10878
10879         * malloc.c: Removed obsolete DATA_SEG_BITS
10880         * ralloc.c: Ditto.
10881         * mem-limits.h: Ditto.
10882
10883         * Makefile.in.in: Removed obsolete HAVE_SHM
10884         * emacs.c: Ditto.
10885
10886 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10887
10888         *  device-msw.c (mswindows_delete_device): Free DDE string
10889         handles.
10890
10891 2000-02-16  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10892
10893         * keymap.c (get_keyelt):
10894         * unexnt.c (unexec):
10895         * vm-limit.c (memory_warnings):
10896         * ntheap.c (recreate_heap):
10897         * ntheap.h (UNINIT_PTR):
10898         * select-msw.c (Fmswindows_get_clipboard):
10899         (Fmswindows_set_clipboard):
10900         * objects-msw.h (MSWINDOWS_BAD_HFONT):
10901         * objects-msw.c:
10902         * menubar-msw.c (displayable_menu_item):
10903         * glyphs-msw.c:
10904         * glyphs-msw.h (IMAGE_INSTANCE_MSWINDOWS_MASK):
10905         * sysdep.c (sys_subshell):
10906         * process-nt.c (nt_create_process):
10907         * nt.c (normalize_filename):
10908         (dostounix_filename):
10909         (unixtodos_filename):
10910         * ntproc.c (win32_executable_type):
10911         * ntplay.c (play_sound_data_1):
10912         (play_sound_file):
10913         * editfns.c (get_home_directory):
10914         * event-msw.c (struct winsock_stream):
10915         (mswindows_dde_callback):
10916         * device-msw.c (msprinter_init_device):
10917         (msprinter_get_devmode_copy): Frobbed syntax frivolities.
10918
10919         * toolbar-msw.c (mswindows_free_frame_toolbars): Paramters to
10920         mswindows_clear_toolbar were swapped!
10921
10922         * objects-msw.c:(colormap_t):
10923         (fontmap_t):
10924         * emacs.c (struct standard_args): Fixed const jumble.
10925
10926         * glyphs-widget.c (update_widget): Fixed comparison notation.
10927
10928         * event-msw.c (mswindows_dde_callback): Removed extraneous ';'.
10929
10930         * s\windowsnt.h (DOESNT_RETURN): Defined to support the MSVC
10931         __declspec(noreturn) syntax.
10932
10933 2000-02-19  Martin Buchholz  <martin@xemacs.org>
10934
10935         * eldap.c (Fldap_open):
10936         (Fldap_search_basic):
10937         (Fldap_add):
10938         (Fldap_modify):
10939         Use new coding system conversion macros.
10940
10941 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
10942
10943         * console-tty.c (tty_init_console): Change MULE to FILE_CODING.
10944
10945 1999-11-27  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
10946
10947         * eldap.h (Fldap_search) Renamed from Fldap_search_internal:
10948         (Fldap_add, Fldap_modify, Fldap_delete): New functions
10949
10950         * eldap.c (Qadd, Qreplace): New constant symbols
10951         (Fldap_open): Use the LDAP_OPT_RESTART option to avoid
10952         interruptions by XEmacs signals
10953         Remove unnecessary calls to slow_down_interrupts and
10954         speed_up_interrupts
10955         (Fldap_search_basic): Renamed from Fldap_search_internal
10956         Added new optional parameter VERBOSE that triggers the
10957         display of progress messages
10958         Remove unnecessary calls to slow_down_interrupts and
10959         speed_up_interrupts
10960         LDAP result code analysis rewritten
10961         (Fldap_add, Fldap_modify, Fldap_delete): New functions
10962         (syms_of_eldap): Define the new symbols and functions
10963
10964
10965 2000-02-17  Martin Buchholz  <martin@xemacs.org>
10966
10967         * realpath.c: Determine PATH_MAX maximally portably.
10968
10969         * insdel.c (bytecount_to_charcount): Optimize.
10970         The function used to be optimized for entirely ASCII sequences.
10971         Now it is optimized for successive characters from the same
10972         charset.  This also wins big for _mostly_ ASCII sequences.
10973
10974         * fileio.c (Ffile_truename): convert return from realpath() using
10975         Qfile_name, not Qbinary.  Fixes obvious bug with non-ASCII symlinks.
10976         - Rewrite GCPROing slightly.
10977
10978         * sysdep.c (sys_open): Do filename conversion, like all other
10979         sys_* functions.  Fixes bug:
10980         (let ((file-name-coding-system 'iso-8859-2))
10981            (write-region x y latin2-name))
10982         ==> writes filename using internal encoding.
10983
10984 2000-02-18  Martin Buchholz  <martin@xemacs.org>
10985
10986         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Turn on c_readonly. Always const.
10987         * console.c (DEFVAR_CONSOLE_LOCAL_1): Turn on c_readonly. Always const.
10988         * symeval.h (DEFVAR_SYMVAL_FWD): Turn on c_readonly. Always const.
10989         * eval.c (lrecord_subr): Remove this_one_is_unmarkable.
10990         * symbols.c (lrecord_symbol_value_forward): Remove this_one_is_unmarkable.
10991         * symbols.c (guts_of_unbound_marker): Turn on c_readonly.
10992         * lrecord.h (UNMARKABLE_LRECORD_HEADER_P): Delete.
10993         (CONST_IF_NOT_DEBUG): Delete.
10994         * alloc.c (this_one_is_unmarkable): Delete.
10995         (mark_object): Don't check for this_one_is_unmarkable. Use the
10996         c_readonly flag instead.
10997         * lisp.h (DEFUN): Define a Lisp_Subr as c_readonly.
10998
10999 2000-02-18  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11000
11001         * event-msw.c (mswindows_drain_windows_queue):
11002         (emacs_mswindows_handle_magic_event): Remove attempt to optimise
11003         away redundant repaint events.
11004
11005 2000-02-17  Andy Piper  <andy@xemacs.org>
11006
11007         * redisplay.h: declare mark_redisplay_structs.
11008
11009         * redisplay.c (redisplay_window):
11010         (redisplay_frame): don't check subwindows_state_changed.
11011         (mark_redisplay): mark gutters here.
11012
11013         * glyphs.c: (instantiate_image_instantiator): always layout if we
11014         haven't done so already.
11015         (allocate_image_instance): don't mark as dirty.
11016         (update_subwindow): bind inhibit_quit.
11017
11018         * gutter.c (mark_gutters): new function.
11019
11020         * glyphs-x.c (x_update_widget): Always resize to get round a
11021         widget bug.
11022
11023         * glyphs-msw.c (mswindows_tab_control_update): remove `;' that was
11024         breaking absolutely everything.
11025
11026         * gutter.h: declare mark_gutters.
11027
11028 2000-02-16  Martin Buchholz <martin@xemacs.org>
11029
11030         * XEmacs 21.2.29 is released.
11031
11032 2000-02-15  Olivier Galibert  <galibert@pobox.com>
11033
11034         * fns.c (size_bit_vector): Fix computation of the size.
11035
11036 2000-02-15  Martin Buchholz  <martin@xemacs.org>
11037
11038         * *.[ch]: Change CONST to const globally.
11039         find -name '*.[ch]' | \
11040         xargs global-replace \
11041         's/(^|(?<=[^A-Za-z0-9_]))CONST((?=[^A-Za-z0-9_])|$)/const/g'
11042         - Remove vestigial references to CONST_IS_LOSING
11043
11044 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11045
11046         * event-msw.c (mswindows_drain_windows_queue): Remove hack to
11047         bailout early on quit. Enqueue WM_PAINT events as XEmacs magic
11048         events instead of dispatching them directly.
11049         (mswindows_handle_paint): New function to do repainting.
11050         (mswindows_wnd_proc):
11051         (emacs_mswindows_handle_magic_event): Call above function.
11052
11053 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11054
11055         * objects-msw.c (mswindows_create_font_variant): Return the new
11056         font handle.
11057         (initialize_font_instance): Get font metrics from the underlined
11058         variant of the font to cope with the case where the underlined
11059         font has a bigger descent.
11060
11061 2000-02-08   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
11062
11063         * gui.c (gui_item_accelerator): Return the first underlined
11064         character in item name.
11065
11066 2000-02-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11067
11068         * lisp.h: Added Qprinter.
11069
11070         * general.c (syms_of_general): Initialized it.
11071
11072         * redisplay-msw.c (get_frame_dc): Conditionally start a new page.
11073         (get_frame_dc):
11074         (get_frame_compdc): Made inline.
11075
11076         * console.h (struct console_methods): Added eject_page method.
11077
11078         * frame.h: Added FRAME_DISPLAY_P and friends.
11079         Aligned backslahes in many macros in more readable fashion.
11080         Added page_number to struct frame, and an accessor macro
11081         for it.
11082
11083         * defice.h: Added DEVICE_DISPLAY_P and friends.
11084
11085         * device.c (Fdevice_printer_p): Used these.
11086
11087         * frame.c (allocate_frame_core): Initialize page number.
11088         (Fprint_job_page_number):
11089         (Fprint_job_eject_page): Implemented.
11090
11091         * frame-msw.c (msprinter_eject_page): Added method.
11092         (msprinter_start_page): Added.
11093
11094         * window.c (Fwindow_truncated_p): Fixed docstring.
11095         (Fwindow_last_line_visible_height): Implemented.
11096
11097 2000-02-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
11098
11099         * frame.c (change_frame_size_1): Undo 2000-02-03 change.
11100
11101 1999-12-20  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
11102
11103         * syntax.c (scan_words): Always advance at least one character.
11104
11105 2000-02-13  Andy Piper  <andy@xemacs.org>
11106
11107         * redisplay.c (add_glyph_rune): call get_glyph_cachel_index here
11108         to make sure the glyph is in the cachels.
11109
11110         * glyphs.h (struct Lisp_Image_Instance): make layout_changed a
11111         global image instance flag.
11112         (IMAGE_INSTANCE_NEEDS_LAYOUT): new macro.
11113         (XIMAGE_INSTANCE_NEEDS_LAYOUT): ditto.
11114
11115         * glyphs.c (allocate_image_instance): set dirty bits correctly.
11116         (Fset_image_instance_property): mark layout as changed.
11117         (invalidate_glyph_geometry_maybe): mark layout as changed.
11118         (glyph_width): use new NEEDS_LAYOUT macro.
11119         (glyph_ascent): ditto.
11120         (glyph_descent): ditto.
11121         (glyph_height): ditto.
11122         (image_instance_layout): mark layout as clean after laying out.
11123         (update_subwindow): don't mark layout as clean here.
11124
11125         * glyphs-x.h (IMAGE_INSTANCE_X_WIDGET_ID): undo C++ changes, they
11126         should no longer be needed.
11127
11128         * glyphs-x.c (x_update_widget): sanitize asserts.
11129         (x_finalize_image_instance): sanitize assignment to widgets.
11130
11131         * glyphs-widget.c (widget_instantiate): don't need to clear the
11132         layout flag here.
11133
11134 2000-02-13  Martin Buchholz  <martin@xemacs.org>
11135
11136         * sysdep.c (getcwd): Use standard prototype.
11137         * sysdep.h (getcwd): Use standard prototype.
11138
11139         * fns.c (Fsubseq): Change parameters to more natural ANSI Lisp
11140         (sequence, start, end).
11141         Remove redundant type checking.
11142         (Fmapconcat): Remove useless GCPRO, a wrong-headed attempt (in
11143         view of `caller-protects') to avoid a crash where the real fix was
11144         found elsewhere.
11145
11146 2000-02-12  Martin Buchholz  <martin@xemacs.org>
11147
11148         * glyphs-x.c (x_finalize_image_instance): Compile error fixes.
11149
11150         * s/sol2.h: Remove feature macro initialization.
11151
11152         * alloc.c (alloc_lcrecord): Add more type checking assertions.
11153         (vector_hash): New.  Code from internal_hash.
11154         * lrecord.h:
11155         Fix up allocation subsystem comments.
11156
11157         * config.h.in: Add __EXTENSIONS__ for Solaris.
11158
11159         * systime.h (EMACS_GETTIMEOFDAY): New.
11160         (EMACS_GET_TIME): Use EMACS_GETTIMEOFDAY.
11161         Remove Solaris-specific code.
11162         Use void* for the (ignored) second arg for gettimeofday().
11163
11164         * elhash.c (hash_table_hash): Implement it, finally.
11165         * elhash.c:  Use hashcode_t.
11166
11167         * linuxplay.c (sighandler): Fix prototypes to use SIGTYPE.
11168         * sunplay.c (sighandler): Fix prototype to use SIGTYPE.
11169
11170         * lisp.h (STRETCHY_STRUCT_SIZEOF): Delete.
11171         * fns.c (size_bit_vector):
11172         * alloc.c (size_vector):
11173         (make_vector_internal):
11174         (make_bit_vector_internal):
11175         (sweep_bit_vectors_1):
11176         Replace calls to STRETCHY_STRUCT_SIZEOF with offsetof expression.
11177
11178 2000-02-10  Martin Buchholz  <martin@xemacs.org>
11179
11180         * s/aix4.h: #define MAP_FAILED if sys/mman.h didn't.
11181         Include strings.h to avoid warnings for bzero and strcasecmp.
11182
11183 2000-02-10  Olivier Galibert  <galibert@pobox.com>
11184
11185         * alloc.c: Move STRETCHY_STRUCT_SIZEOF from here...
11186         * lisp.h (STRETCHY_STRUCT_SIZEOF): ...to here
11187
11188         * fns.c (size_bit_vector): New.  Declare bit vectors as a
11189         sequence.
11190
11191 2000-02-10  Olivier Galibert  <galibert@pobox.com>
11192
11193         * symeval.h (struct symbol_value_magic): Remove "next" kludge and
11194         use a value field instead.
11195         (symbol_value_forward_forward): Use value field.
11196         (DEFVAR_SYMVAL_FWD): Use value field.
11197         (DEFVAR_SYMVAL_FWD_INT): Added.  Dumps the int with dumpopaque.
11198         (DEFVAR_INT): Use DEFVAR_SYMVAL_FWD_INT.
11199         (DEFVAR_CONST_INT): Ditto.
11200         (DEFVAR_BOOL): Ditto.
11201         (DEFVAR_CONST_BOOL): Ditto.
11202         (DEFVAR_INT_MAGIC): Ditto.
11203         (DEFVAR_BOOL_MAGIC): Ditto.
11204
11205         * symbols.c (guts_of_unbound_marker): Use value field.
11206         * console.c (DEFVAR_CONSOLE_LOCAL_1): Ditto.
11207         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Ditto.
11208
11209         * lisp.h: Declare dumpopaque and noninteractive1.
11210
11211         * alloc.c (dumpopaque): Added.
11212         (pdump_dump_opaquevec): Added.
11213         (pdump): Call pdump_dump_opaquevec to dump opaque data.
11214         (pdump_load): Reload opaque data.  Sync noninteractive1 with
11215         noninteractive.
11216
11217 2000-02-10  Andy Piper  <andy@xemacs.org>
11218
11219         * glyphs.c (image_instance_layout): if the size changes, mark it
11220         as such.
11221
11222         * redisplay-output.c (redisplay_output_layout): Update the
11223         subwindow here.
11224         (redisplay_output_subwindow): ditto.
11225
11226         * glyphs.c (update_subwindow): make sure we reset flags for
11227         layouts as well as everything else.
11228
11229         * glyphs-widget.c (layout_layout): don't need to set the instances
11230         dimensions here.
11231
11232 2000-02-09  Martin Buchholz  <martin@xemacs.org>
11233
11234         * device-x.c (x_init_device): Wrap calls to dll_*  in HAVE_SHLIB,
11235         not HAVE_DLOPEN, which is a lower-level thing.
11236
11237         * .cvsignore: Ignore gmon.out
11238
11239 2000-02-09  Hamish Macdonald <hamishm@lucent.com>
11240
11241         * .cvsignore: Ignore portable dumper xemacs.dmp file
11242
11243 2000-02-09  Andy Piper  <andy@xemacs.org>
11244
11245         * redisplay-output.c (redisplay_output_layout): be more clever
11246         about when we output based on the changed flags.
11247
11248         * glyphs.h (struct image_instantiator_methods): add update_method.
11249         (struct Lisp_Image_Instance): add changed flags. Declare new
11250         macros for manipulating them.
11251
11252         * glyphs.c (allocate_image_instance): renamed glyph -> parent.
11253         (image_instance_parent_glyph): find an image_instance's parent
11254         glyph or image_instance.
11255         (image_instance_layout): mark the size as changed.
11256         (set_image_instance_dirty_p): new function. mark an image
11257         instance, plus all of its parents, as dirty.
11258         (Fset_image_instance_property): use it.
11259         (Fglyph_animated_timeout_handler): use it.
11260         (update_subwindow): call update_widget and device methods for
11261         update_subwindow. Mark all changed flags as clean.
11262         (Fresize_subwindow): mark size as changed.
11263
11264         * glyphs-x.c (x_finalize_image_instance): try and detect gc
11265         failures.
11266         (x_update_subwindow): only resize subwindows here.
11267         (x_update_widget): new function. Update all changed properties of
11268         a widget.
11269         (x_resize_subwindow): deleted.
11270         (x_widget_set_property): deleted.
11271         (x_progress_gauge_set_property): deleted.
11272         (x_progress_gauge_update): new function. Implement recorded
11273         changes.
11274         (x_tab_control_update): ditto.
11275         (x_tab_control_set_property): deleted.
11276         (console_type_create_glyphs_x): declare new functions.
11277         (image_instantiator_format_create_glyphs_x): ditto.
11278
11279         * glyphs-widget.c (widget_set_property): mark text changed.
11280         (update_widget): new function. Update properties of a widget.
11281         (widget_instantiate): for layouts make sure we set their
11282         children's parent correctly.
11283         (tab_control_set_property): new function. Record changes that will
11284         take place under redisplay's control.
11285         (progress_gauge_set_property): ditto.
11286         (image_instantiator_progress_guage): declare new functions.
11287         (image_instantiator_tab_control): ditto.
11288
11289         * glyphs-msw.c (mswindows_update_subwindow): just do resizing here
11290         now.
11291         (mswindows_update_widget): new function. Update all properties on
11292         a widget that have changed.
11293         (mswindows_button_update): new function. Update a button's set
11294         state.
11295         (mswindows_tab_control_update): new function. Update the items in
11296         a tab.
11297         (mswindows_tab_control_set_property): deleted.
11298         (mswindows_progress_gauge_update): new function. Update the
11299         progress gauge's progress.
11300         (mswindows_widget_set_property): deleted. This is all done
11301         asynchronously now.
11302         (mswindows_progress_gauge_set_property): ditto.
11303         (console_type_create_glyphs_mswindows): declare new methods.
11304         (image_instantiator_format_create_glyphs_mswindows): ditto.
11305
11306         * frame-msw.c (msprinter_init_frame_1): Remove unused variables.
11307         (msprinter_set_frame_properties): ditto.
11308
11309         * console.h (struct console_methods): Add update_widget_method.
11310
11311 2000-02-09  Andy Piper  <andy@xemacs.org>
11312
11313         * gui-msw.c (Fmswindows_shell_execute): Make
11314         mswindows-shell-execute industrial strength.
11315
11316 2000-02-08  Martin Buchholz  <martin@xemacs.org>
11317
11318         * lrecord.h: Make macro argument `props' match member function `plist'.
11319         * fns.c (Fget):
11320         * fns.c (Fput):
11321         * fns.c (Fremprop):
11322         * fns.c (Fobject_plist):
11323         * alloc.c:
11324         * symbols.c:
11325         Object property list frobbing cleanup.
11326         - Allow any lisp object (compared with `eq'), not just symbols, as
11327           keys in object plists.
11328         - Move symbol plist frobbing into symbols.c, where it belongs.
11329         - Move string plist frobbing into alloc.c, where it belongs.
11330         - Everything's an lrecord now, so no need to test for symbolp, etc.
11331         - Fix up doc strings to refer to PROPERTY, not PROPNAME.
11332
11333         * extents.c: Reorder code to remove declarations.
11334
11335         * frame.h (store_in_alist): Remove useless declaration.
11336
11337 2000-02-07  Martin Buchholz  <martin@xemacs.org>
11338
11339         * event-Xt.c (x_has_keysym): Use XConvertCase only if available.
11340         * config.h.in: Add HAVE_XCONVERTCASE.
11341
11342 2000-02-07  Andy Piper  <andy@xemacs.org>
11343
11344         * glyphs.c (image_instance_layout): undo 2000-01-29 change since
11345         it breaks many things.
11346
11347 2000-02-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
11348
11349         * src/syntax.h (SYNTAX_START_P): Check whether the two chars
11350         actually can start a common comment type.
11351         * src/syntax.h (SYNTAX_END_P): ditto for end.
11352
11353 2000-02-07  Martin Buchholz <martin@xemacs.org>
11354
11355         * XEmacs 21.2.28 is released.
11356
11357 2000-02-06  Martin Buchholz  <martin@xemacs.org>
11358
11359         * event-Xt.c (x_keysym_to_character): New.
11360         (maybe_define_x_key_as_self_inserting_character): New.
11361         (x_has_keysym): New.
11362         Auto-define all keys on the keyboard as self-insert-key.
11363
11364 2000-02-02  Martin Buchholz  <martin@xemacs.org>
11365
11366         * menubar.c (vars_of_menubar): A small code simplification.
11367
11368         * minibuf.c (echo_area_append): Workaround egcs-20000131 c++ compiler bug
11369
11370         * ExternalShell.c:
11371         * ExternalClient.c:
11372         * EmacsShell-sub.c:
11373         * EmacsManager.c:
11374         * EmacsFrame.c:
11375         Use consistent style for specifying X resources.
11376
11377         * symbols.c (Fset): Further implement SYMVAL_LISP_MAGIC.
11378         This makes (dontusethis-set-symbol-value-handler) actually usable.
11379
11380         * lrecord.h (lrecord_decription_type):
11381         * alloc.c (pdump_register_sub):
11382         (pdump_dump_data):
11383         (pdump_reloc_one):
11384         Add XD_LISP_OBJECT_ARRAY to describe multiple Lisp_Objects.
11385         Comply with XEmacs coding style.
11386         All lrecord descriptions updated to use XD_LISP_OBJECT with 2
11387         args, and XD_LISP_OBJECT_ARRAY with 3 args.
11388
11389         * keymap.c (Faccessible_keymaps):
11390         Make (accessible-keymaps map "\C-h") do the Right Thing.
11391         Make (accessible-keymaps map []) do the Right Thing.
11392         Make (accessible-keymaps map "") do the Right Thing.
11393         (check_keymap_definition_loop): New function.
11394         (keymap_store_internal): Keep luser from shooting self in foot,
11395           via (define-key ctl-x-4-map "p" global-map).
11396         Remove fullness slot from struct Lisp_Keymap, since hash tables
11397         are now reliable.
11398         (print_keymap): Remove 'Yuck' factor by simply printing "size %d".
11399
11400 2000-01-30  Martin Buchholz  <martin@xemacs.org>
11401
11402         * redisplay.c (init_redisplay): Fix small memory leak.
11403         * elhash.h:
11404         * elhash.c (pdump_reorganize_hash_table):
11405         Rename from reorganize_hash_table. Change prototype.
11406         Reuse the original memory for hentries.  Save 100k.
11407         * alloc.c (PDUMP_READ): new macro.
11408         * alloc.c (pdump_load): Replace LISP_TO_VOID with higher-level macros.
11409         * alloc.c: No need to #ifndef before #undef.
11410
11411         * print.c: Allow debug_print() to print readably by modifying
11412         debug_print_readably.  Use consistent variable names.
11413
11414         * .dbxrc: Try to get things to work even if stopped in a function
11415         without source available by explicitly specifying source files.
11416 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11417
11418         * unexnt.c (_start): Removed bogus code which caused loading heap
11419         from differrent executable file.
11420         Removed bogus assignment to _fmode, which caused inconsistencies.
11421
11422 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11423
11424         * s\windowsnt.h: Removed lots of #if 0 blocks of Emacs heritage.
11425         Have spawnve encapsulation regard DONT_ENCAPSULATE.
11426         Do not preliminary `#define signal sigset'.
11427
11428         * systime.h: Do not prototype environ on windows nt and cygwin,
11429         this conflicts with system header.
11430
11431         * syssignal.h: Use correct define for WINDOWSNT
11432
11433         * sysdep.h: Do not prototype environ on windows nt, this conflicts
11434         with system header.
11435
11436         * sysdep.c (near start of file): Fixed commentary and rearranged
11437         ifdefs in readable order.
11438         (NEED_STARTS): Do not force NEED_STARTS when PDUMPing.
11439         (start_of_text):
11440         (end_of_text):
11441         (end_of_data): Do not compile in if using PDUMP.
11442
11443         * symsinit.h: Prototyped vars_of_nt().
11444
11445         * ntproc.c (windows9x_p): Added, instead of os_subtype.
11446         (find_child_console): Use it.
11447         (sys_kill): Use it.
11448
11449         * ntheap.h: Do not extern os_subtype.
11450
11451         * ntheap.c (cache_system_info): Do not cache unneeded:
11452         nt_major_version, nt_minor_version and os_subtype.
11453         (recreate_heap): Do not compile in when PDUMPing.
11454
11455         * nt.c (geteuid and friends): Use the new varibale
11456         nt_fake_unix_uid, instead of hashing fake uid out of NT RID.
11457         (init_user_info): Removed the above mentioned hackery.
11458         (fstat, stat): Do not compile in if using MSVC 5.0 and above -
11459         stat has been fixed in the C runtime.
11460         (vars_of_nt): Added, defined the nt_fake_unix_uid variable there.
11461
11462         * file-coding.c (struct file_coding_dump): Do not define
11463         ucs_to_mule_table in the struct if not MULE.
11464         (struct struct lrecord_description fcd_description_1): Do not dump
11465         the above.
11466
11467         * emacs.c (main_1): Call vars_of_nt().
11468         (right before Fdump_emacs_data): Don't need lastfile if using both
11469         portabe dumper and system malloc.
11470
11471         * alloc.c (Fmemory_limit): Conditionalized out.
11472         (pdump): Use OPEN_BINARY for the portable dump file.
11473         (pdump_load): Ditto.
11474
11475 2000-02-02  Mike Alexander  <mta@arbortext.com>
11476
11477         * nt.c (convert_time): Set tm_isdst before calling mktime and
11478         avoid calling it at all if the compiler supports 64 bit integers.
11479         Also initialize utc_base_ft before using it.
11480
11481 2000-02-03   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
11482
11483         * frame.c (change_frame_size_1): Take f->internal_border_width
11484         into consideration when calculating the width of the frame.
11485
11486 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11487
11488         * window.c (frame_min_height):
11489         (frame_size_valid_p):
11490         (frame_pixsize_valid_p): Added.
11491         (check_frame_size): Generalized.
11492
11493         * window.h: Prototyped the above.
11494
11495         * lisp.h:
11496         * general.c: Added Qbottom_margin, Qduplex, Qlandscape,
11497         Qleft_margin, Qorientation, Qportrait, Qright_margin, Qtop_margin.
11498         Deleted Vwin32_* and Vbinary_process_* unused variables.
11499
11500         * device-msw.c (msprinter_init_device): Do not get printer font
11501         list; Added DEVMODE functions.
11502
11503         * frame-msw.c: Added lots of printer code.
11504
11505         * faces.c: Moved 'left-margin and 'right-margin defsymbols to
11506         general.c.
11507
11508         * console-msw.h: Added more msprinter device private slots.
11509
11510 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11511
11512         * event-msw.c (key_needs_default_processing_p): Added.
11513         (mswindows_wnd_proc, WM_KEYUP, KEYDOWN): Call it.
11514
11515 2000-01-29  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11516
11517         * glyphs.c (image_instance_layout): Mark image instance as clean
11518         after layout.
11519         (glyph_dirty_p): Removed redundant function.
11520         (invalidate_glyph_geometry_maybe): Added.
11521         (update_glyph_cachel_data): Call it.
11522
11523         * glyphs.h: Prototyped it.
11524
11525         * redisplay.c (add_glyph_rune): Call it.
11526         (redisplay_window): Reset glyphs cachels when frame faces have
11527         changed, thus forcing recomputation of built-in border glyphs.
11528
11529 2000-01-30  Martin Buchholz  <martin@xemacs.org>
11530
11531         * Makefile.in.in: Make portable dumper and purify play well together.
11532         Add imperfect, but better than nothing, support for pdump.
11533         Remove xemacs.dmp when temacs is re-generated.
11534         Don't ignore errors when dumping xemacs.
11535
11536         * symbols.c (maybe_call_magic_handler): Remove one magic number.
11537
11538 2000-01-28  Andy Piper  <andy@xemacs.org>
11539
11540         * frame.c (allocate_frame_core): Use new Fset_window_buffer signature.
11541         (setup_normal_frame): ditto.
11542         (setup_frame_without_minibuffer): ditto.
11543         (setup_minibuffer_frame): ditto.
11544         (delete_frame_internal): ditto.
11545         (Fmake_frame_invisible): ditto.
11546         (Ficonify_frame): ditto.
11547
11548         * window.h: change Fset_window_buffer signature.
11549
11550         * window.c (Fsplit_window): Use new Fset_window_buffer signature.
11551         (Fset_window_buffer): allow recording of buffer if the window is
11552         the selected window.
11553         (window_loop): Use new Fset_window signature.
11554
11555 2000-01-23  Daniel Pittman  <daniel@danann.net>
11556
11557         * config.h.in: Added template for `HAVE_ATHENA_3D'
11558
11559 2000-01-29  Andy Piper  <andy@xemacs.org>
11560
11561         * glyphs-x.c (x_resize_subwindow): Try and catch bogus resizes.
11562
11563         * gutter.c (output_gutter): Don't output if the window isn't live.
11564
11565 2000-01-28  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11566
11567         * glyphs-msw.c (mswindows_unmap_subwindow): Fix of corrupted patch
11568         of 01/12/00: Moved SetFocus back here where it belongs.
11569
11570 2000-01-23  Andy Piper  <andy@xemacs.org>
11571
11572         * s/cygwin32.h: declare printer things.
11573
11574 2000-01-26  Andy Piper  <andy@xemacs.org>
11575
11576         * select.c (Fown_selection_internal): GCPRO bug fix from Mike
11577         Alexander.
11578
11579 2000-01-24  Andy Piper  <andy@xemacs.org>
11580
11581         * glyphs-msw.c (mswindows_locate_pixmap_file): Expand filename.
11582         (mswindows_button_instantiate): Make sure glyph is a pixmap.
11583
11584         * glyphs-widget.c (widget_instantiate): Avoid shadows.
11585
11586         * frame-msw.c (msprinter_init_frame_3): Nuke warning.
11587
11588         * glyphs-msw.c: (mswindows_string_to_color): remove declaration.
11589
11590         * redisplay-msw.c (mswindows_output_cursor): Avoid shadows.
11591         (mswindows_output_display_block): Avoid local shadows.
11592
11593         * event-msw.c (mswindows_enqueue_magic_event): Avoid shadows.
11594         (mswindows_enqueue_mouse_button_event): ditto.
11595         (mswindows_handle_gui_wm_command): remove declaration.
11596
11597         * console-msw.c (mswindows_canonicalize_console_connection): Avoid
11598         warnings.
11599
11600         * console-msw.h: Avoid shadows.
11601         (mswindows_get_toolbar_button_text):
11602         (emacs_mswindows_create_stream_pair):
11603         (emacs_mswindows_delete_stream_pair):
11604         (mswindows_handle_toolbar_wm_command): declare.
11605
11606         * device-msw.c (build_syscolor_string): Avoid shadows.
11607
11608 2000-01-23  Andy Piper  <andy@xemacs.org>
11609
11610         * glyphs-widget.c (widget_instantiate): reverse the items for
11611         layouts so that children are in the expected order.
11612
11613 2000-01-28  Martin Buchholz  <martin@xemacs.org>
11614
11615         * ralloc.c: safe_bcopy ==> memmove
11616         * gmalloc.c: Remove MEMMOVE_MISSING conditional code.
11617         * s/msdos.h: Remove BCOPY macros.
11618         * insdel.c (gap_right): Remove BCOPY conditional code.
11619         * insdel.c (gap_left): Remove BCOPY conditional code.
11620         XEmacs demands a working ANSI C compiler - hence memmove.
11621
11622         * regex.c (regex_compile): Remove accidental use of trigraphs.
11623
11624 2000-01-27  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11625
11626         * event-msw.c (mswindows_enqueue_misc_user_event): Initialize
11627         event timestamp.
11628
11629 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11630
11631         * event-msw.c (mswindows_drain_windows_queue): Added the
11632         parameter.
11633         (mswindows_need_event): Commented the call to
11634         mswindows_drain_windows_queue().
11635         (emacs_mswindows_quit_p): Lookup the windows for keyboard messages
11636         only.
11637
11638         * console-msw.h: Moved a few function prototypes here from
11639         event-msw.c.
11640
11641         * gui-msw.c (mswindows_handle_gui_wm_command): Changed the ID
11642         parameter from unsigned short to unsigned long.
11643         (Fmswindows_shell_execute): Added return value.
11644
11645 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
11646
11647         * sysdep.c (init_system_name):
11648           process-unix.c (unix_canonicalized_host_name):
11649         Don't call freeaddrinfo() if getaddrinfo() fails.
11650
11651         * process-unix.c (unix_open_unix_network_stream):
11652         Moved the code to get a port # into address loop.
11653
11654 2000-01-27  Martin Buchholz  <martin@xemacs.org>
11655
11656         * buffer.c (reinit_vars_of_buffer):
11657         The right place to initialize conversion_in_dynarr and
11658         conversion_out_dynarr.
11659
11660         * alloc.c (pdump): Use the real open() till sys_open() is functional.
11661
11662         * process-unix.c (unix_canonicalize_host_name): Muleize.
11663         (unix_open_network_stream): Muleize.
11664
11665         * buffer.h: Fix up prototypes for ralloc.c functions.
11666
11667 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
11668         * config.h.in: added HAVE_GETADDRINFO and HAVE_GETNAMEINFO
11669         * sysdep.c: In init_system_name(), add code to use getaddrinfo()
11670                 instead of gethostbyname()
11671         * process-unix.c: In unix_canonicalize_host_name() and
11672                 unix_open_network_stream(), add code to use getaddrinfo()
11673                 instead of gethostbyname().
11674
11675 2000-01-27  Daniel Pittman <daniel@danann.net>
11676
11677         * device-x.c (x_init_device): Warn at run-time if using Athena 3d
11678         libs when built with flat Athena.
11679
11680 2000-01-27  Martin Buchholz  <martin@xemacs.org>
11681
11682         * ralloc.c: Replace SIZE (conflicts with Windows headers) with size_t.
11683         Use coding standards for function prototypes.
11684
11685 2000-01-25  Martin Buchholz  <martin@xemacs.org>
11686
11687         * dialog-msw.c (push_lisp_string_as_unicode):
11688         * doc.c (unparesseuxify_doc_string):
11689         * dired.c (Fuser_name_completion_1):
11690         * dired.c (Fuser_name_all_completions):
11691         * dired.c (free_user_cache):
11692         * dired.c (user_name_completion):
11693         * console-x.c (get_display_arg_connection):
11694         * minibuf.c (clear_echo_area_internal):
11695         * minibuf.c (echo_area_append):
11696         * eldap.c (Fldap_open):
11697         * eldap.c (Fldap_search_internal):
11698         * frame-x.c (x_set_frame_text_value):
11699         * frame-x.c (x_set_frame_properties):
11700         * frame-x.c (x_create_widgets):
11701         * redisplay-tty.c (term_get_fkeys_1):
11702         * objects-x.c (x_parse_nearest_color):
11703         * objects-x.c (x_valid_color_name_p):
11704         * objects-x.c (x_initialize_font_instance):
11705         * objects-x.c (x_list_fonts):
11706         * objects-x.c (x_find_charset_font):
11707         * tooltalk.c (Fadd_tooltalk_message_arg):
11708         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
11709         * tooltalk.c (Fadd_tooltalk_pattern_arg):
11710         * process-unix.c (unix_create_process):
11711         * ntproc.c (sys_spawnve):
11712         * sound.c (Fplay_sound_file):
11713         * sound.c (Fplay_sound):
11714         * buffer.c (init_initial_directory):
11715         * buffer.c (init_buffer):
11716         * editfns.c (init_editfns):
11717         * editfns.c (Ftemp_directory):
11718         * editfns.c (Fuser_full_name):
11719         * editfns.c (uncache_home_directory):
11720         * editfns.c (get_home_directory):
11721         * editfns.c (Fuser_home_directory):
11722         * editfns.c (Fformat_time_string):
11723         * editfns.c (Fcurrent_time_string):
11724         * gui-x.c (button_item_to_widget_value):
11725         * database.c (Fopen_database):
11726         * event-Xt.c (x_to_emacs_keysym):
11727         * event-Xt.c (x_event_to_emacs_event):
11728         * event-Xt.c (describe_event_window):
11729         * event-msw.c (mswindows_wnd_proc):
11730         * glyphs-eimage.c (jpeg_instantiate):
11731         * glyphs-eimage.c (gif_instantiate):
11732         * glyphs-eimage.c (png_instantiate):
11733         * glyphs-eimage.c (tiff_instantiate):
11734         * glyphs-x.c (xbm_instantiate_1):
11735         * glyphs-x.c (x_xbm_instantiate):
11736         * glyphs-x.c (x_xface_instantiate):
11737         * glyphs-x.c (autodetect_instantiate):
11738         * glyphs-x.c (cursor_font_instantiate):
11739         * glyphs-x.c (x_widget_instantiate):
11740         * glyphs-x.c (x_widget_set_property):
11741         * glyphs-x.c (x_widget_property):
11742         * glyphs-x.c (BUILD_GLYPH_INST):
11743         * print.c (write_string_to_stdio_stream):
11744         * print.c (output_string):
11745         * print.c (Falternate_debugging_output):
11746         * print.c (Fexternal_debugging_output):
11747         * glyphs-msw.c (extract_xpm_color_names):
11748         * glyphs-msw.c (mswindows_xpm_instantiate):
11749         * glyphs-msw.c (bmp_instantiate):
11750         * glyphs-msw.c (resource_name_to_resource):
11751         * glyphs-msw.c (mswindows_resource_instantiate):
11752         * glyphs-msw.c (xbm_instantiate_1):
11753         * glyphs-msw.c (mswindows_xbm_instantiate):
11754         * glyphs-msw.c (mswindows_xface_instantiate):
11755         * glyphs-msw.c (mswindows_widget_instantiate):
11756         * glyphs-msw.c (add_tree_item):
11757         * glyphs-msw.c (add_tab_item):
11758         * glyphs-msw.c (mswindows_combo_box_instantiate):
11759         * glyphs-msw.c (mswindows_widget_property):
11760         * glyphs-msw.c (mswindows_combo_box_property):
11761         * glyphs-msw.c (mswindows_widget_set_property):
11762         * console.c (stuff_buffered_input):
11763         * objects-msw.c (mswindows_initialize_color_instance):
11764         * objects-msw.c (mswindows_valid_color_name_p):
11765         * objects-msw.c (mswindows_list_fonts):
11766         * objects-msw.c (mswindows_font_instance_truename):
11767         * bytecode.c (optimize_compiled_function):
11768         * select-x.c (symbol_to_x_atom):
11769         * select-x.c (x_atom_to_symbol):
11770         * select-x.c (hack_motif_clipboard_selection):
11771         * select-x.c (selection_data_to_lisp_data):
11772         * select-x.c (lisp_data_to_selection_data):
11773         * select-x.c (Fx_get_cutbuffer_internal):
11774         * select-x.c (Fx_store_cutbuffer_internal):
11775         * buffer.h (TO_EXTERNAL_FORMAT): New function.
11776         * buffer.h (TO_INTERNAL_FORMAT): New function.
11777         * emacs.c (make_arg_list_1):
11778         * emacs.c (make_argc_argv):
11779         * emacs.c (main_1):
11780         * emacs.c (Fdump_emacs):
11781         * emacs.c (split_string_by_emchar_1):
11782         * file-coding.h:
11783         * lisp.h:
11784         * lstream.h:
11785         * symsinit.h:
11786         * device-x.c (x_init_device):
11787         * device-x.c (Fx_valid_keysym_name_p):
11788         * device-x.c (Fx_get_font_path):
11789         * device-x.c (Fx_set_font_path):
11790         * glyphs.c (bitmap_to_lisp_data):
11791         * glyphs.c (pixmap_to_lisp_data):
11792         * alloc.c (make_ext_string): Use coding system arguments.  Update
11793         all callers.
11794         * alloc.c (build_string):
11795         * callproc.c (child_setup):
11796         * callproc.c (init_callproc):
11797         * fileio.c (lisp_strerror):
11798         * fileio.c (directory_file_name):
11799         * fileio.c (Fexpand_file_name):
11800         * fileio.c (Ffile_truename):
11801         * fileio.c (Fsysnetunam):
11802         * fileio.c (Fdo_auto_save):
11803         * sysdep.c (sys_readdir):
11804         * tests.c: New file.  Allow adding C tests.
11805         Replace GET_* macros with a more comprehensible and flexible
11806         interface, TO_INTERNAL_FORMAT() and TO_EXTERNAL_FORMAT().
11807         Modify all calls.
11808         Any coding system can be used to do format conversion.
11809         Eliminate enum external_data_format.
11810         Eliminate convert_to_external_format.
11811         Eliminate convert_to_internal_format.
11812         Make sure file-name, keyboard, terminal, and ctext are always
11813         defined as coding systems or aliases.  Make
11814         file-name-coding-system, terminal-coding-system, and
11815         keyboard-coding-system magical variables that are equivalent to
11816         defining the corresponding coding system aliases.
11817
11818         * file-coding.c (Fcoding_system_canonical_name_p): New function.
11819         * file-coding.c (Fcoding_system_alias_p): New function.
11820         * file-coding.c (Fcoding_system_aliasee): New function.
11821         * file-coding.c (append_suffix_to_symbol): New function.
11822         * file-coding.c (dangling_coding_system_alias_p): New function.
11823         * file-coding.c (Ffind_coding_system):
11824         * file-coding.c (Fcopy_coding_system):
11825         * file-coding.c (encode_coding_no_conversion):
11826         * file-coding.c (syms_of_file_coding):
11827         * file-coding.c (vars_of_file_coding):
11828         Rewrite coding system alias code.
11829         Allow nested aliases, like symbolic links.
11830         Allow redefinition of coding system aliases.
11831         Prevent existence of dangling coding system aliases.
11832
11833         * dired.c (Fuser_name_completion_1):
11834         * dired.c (Fuser_name_all_completions):
11835         A crash would happen if user did QUIT in the middle of building
11836         user_name_cache.  Remove redundant code in mainline and unwind_protect.
11837
11838         * lisp.h:
11839         * dynarr.c (Dynarr_min_size): Make static.  Increase value to 8.
11840
11841         * lstream.c (make_fixed_buffer_input_stream): Take a void *, not
11842         an unsigned char *.  Update all callers.
11843
11844 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11845
11846         * callproc.c (Fcall_process_internal): Ignore Vbinary-process_output.
11847
11848 2000-01-25  Martin Buchholz  <martin@xemacs.org>
11849
11850         * elhash.c (hentry_description): Use more portable definition.
11851         (resize_hash_table): Initialize new hentries using
11852         xnew_array_and_zero, thereby simplifying the code.
11853
11854         * mule-charset.c (make_charset): Make sure entire object is
11855         initialized, to avoid Purify warnings.
11856
11857         * alloc.c (resize_string): Fix unlikely crash with big strings.
11858
11859 2000-01-24  Martin Buchholz  <martin@xemacs.org>
11860
11861         * realpath.c (xrealpath):
11862         Don't call getwd().
11863
11864 2000-01-25  Martin Buchholz  <martin@xemacs.org>
11865
11866         * lread.c (read_bit_vector): Fix memory leak reading literal bit vectors.
11867
11868 1999-12-28  Max Matveev  <max@melbourne.sgi.com>
11869
11870         * unexelfsgi.c (unexec): Change the way we decide which segment
11871         should be extended.
11872
11873         Assumption that .bss section should be outside the PT_LOADable
11874         segment. On IRIX with version 6.2 and above, .bss (or .sbss, if
11875         it's present) is inside the 'data' segment. This would fail the
11876         test which was used to find a segment to grow and cover new
11877         heap. Instead of this assumption, I created another one - on IRIX
11878         the segment to grow should start below .bss and it's address
11879         should extent above the end of .bss. Once this segment is
11880         identified, it's grown to accommodate the new heap and new
11881         zero-length .bss section is added at the end of .data2.
11882
11883 2000-01-25  Martin Buchholz  <martin@xemacs.org>
11884
11885         * eval.c (Feval): Wrong number of arguments should use original
11886         function, not the indirect_function version of it.
11887
11888 2000-01-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
11889
11890         * glyphs-x.c (x_button_instantiate): Don't add image if
11891         it is not a pixmap.
11892         (x_locate_pixmap_file): Call Fexpand_file_name when file name
11893         is relative.
11894
11895 2000-01-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
11896
11897         * symeval.h (DEFVAR_LISP_MAGIC): Remove semicolon after macro
11898         declaration.
11899         (DEFVAR_INT_MAGIC): Ditto.
11900         (DEFVAR_BOOL_MAGIC): Ditto.
11901         * glyphs.h: Reindent backslash.
11902
11903 2000-01-24  Martin Buchholz  <martin@xemacs.org>
11904
11905         * glyphs-widget.c (layout_query_geometry):
11906         (layout_layout): Use correct types for gheight, gwidth.
11907
11908 2000-01-24  Martin Buchholz  <martin@xemacs.org>
11909
11910         * EmacsManager.c (QueryGeometry): Purified.
11911
11912 2000-01-23  Martin Buchholz  <martin@xemacs.org>
11913
11914         * alloc.c (make_float): Make sure entire object is initialized, to
11915         avoid Purify warnings.
11916         (pdump_register_sub): Remove useless assignment.
11917         (pdump): Use xmalloc, not malloc.
11918         (pdump_load): Use xmalloc, not malloc.
11919
11920 2000-01-23  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11921
11922         * callproc.c:
11923         * dired-msw.c:
11924         * fileio.c:
11925         * process-nt.c:
11926         * redisplay-msw.c:
11927         * sysdep.c: Removed redundant #include <windows.h>
11928
11929 2000-01-22  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11930
11931         * frame.c (delete_frame_internal): Do not delete device when its
11932         implementation so declares.
11933         (delete_frame_internal): Set device selected frame to nil when
11934         last frame goes away.
11935
11936         * device-msw.c (msprinter_device_system_metrics): Implemented.
11937         (mswindows_device_system_metrics): Added 'device-dpi property.
11938
11939         * device.c: (Fdevice_printer_p): Added.
11940         Added 'offset-workspace device metric.
11941
11942         * console.h (device_metrics): Declared DM_offset_workspace.
11943
11944 2000-01-23  Martin Buchholz  <martin@xemacs.org>
11945
11946         * fileio.c (Ffile_truename): Remove pointless and confusing
11947         initialization of elen.
11948
11949         * glyphs-widget.c: Compiler warning fixes.
11950
11951 2000-01-23  Gunnar Evermann  <ge204@eng.cam.ac.uk>
11952
11953         * process.h (PROCESS_LIVE_P): Modify to take a Lisp_Process
11954         instead of a Lisp_Object as argument to make it consistent with
11955         the other LIVE_P macros.
11956         (CHECK_LIVE_PROCESS): New macro.
11957
11958         * process.c: Declare Qprocess_live_p.
11959         (Fprocess_live_p): New function.
11960         (create_process): Use PROCESS_LIVE_P.
11961         (read_process_output): Ditto.
11962         (set_process_filter): Ditto.
11963         (Fdelete_process): Ditto.
11964         (kill_buffer_processes): Ditto
11965         (process_send_signal): Use CHECK_LIVE_PROCESS.
11966         (Fprocess_input_coding_system): Check whether process is still
11967         alive (fix PR#1061).
11968         (Fprocess_output_coding_system): Ditto.
11969         (Fprocess_coding_system): Ditto.
11970         (Fset_process_input_coding_system): Ditto.
11971         (Fset_process_output_coding_system): Ditto.
11972
11973 2000-01-23  Andy Piper  <andy@xemacs.org>
11974
11975         * glyphs.h (struct Lisp_Image_Instance): change format by unifying
11976         layout and widget.
11977
11978         * glyphs.c (mark_image_instance): take into account changed
11979         image_instance format.
11980         (image_instance_equal): ditto.
11981         (image_instance_hash): ditto.
11982
11983         * glyphs-widget.c (widget_instantiate): Incorporate layout
11984         instantiation here. Delay layout of the layout until later.
11985         (layout_instantiate): deleted.
11986         (layout_query_geometry): new function. get the geometry of a
11987         layout.
11988         (layout_layout): layout a layout dynamically.
11989         (image_instantiator_widget): New function - splitting up
11990         image_instantiator_format_create_glyphs_widget for netwinder
11991         compilation.
11992         (image_instantiator_buttons):
11993         (image_instantiator_edit_fields):
11994         (image_instantiator_combo_box):
11995         (image_instantiator_scrollbar):
11996         (image_instantiator_progress_guage):
11997         (image_instantiator_tree_view):
11998         (image_instantiator_tab_control):
11999         (image_instantiator_labels):
12000         (image_instantiator_layout): ditto.
12001         (image_instantiator_format_create_glyphs_widget): Call preceding
12002         functions.
12003
12004 2000-01-22  Martin Buchholz  <martin@xemacs.org>
12005
12006         * process.c (Fset_process_coding_system):
12007         * device-x.c (Fx_keysym_hash_table):
12008         Docstring fixes.
12009
12010         * lstream.c (Lstream_write): Return documented value, not 0.
12011
12012         * fileio.c (directory_file_name):
12013         (Fsubstitute_in_file_name):
12014         (Fsubstitute_insert_file_contents_internal):
12015         (Fwrite_region_internal):
12016         * emacs.c:
12017         * sysdep.c:
12018         * getloadavg.c:
12019         * systty.h:
12020         Remove vestigial APOLLO-conditional code.
12021
12022 2000-01-21  Martin Buchholz  <martin@xemacs.org>
12023
12024         * getpagesize.h: Add guard macros.
12025         * libsst.h: Add guard macros.
12026         * libst.h: Add guard macros.
12027         * line-number.h: Add guard macros.
12028         * ndir.h: Add guard macros.
12029         * sysfloat.h: Add guard macros.
12030         * sysfile.h: Add guard macros.
12031         * sysproc.h: Add guard macros.
12032         * syswait.h: Add guard macros.
12033         * xintrinsic.h: Add guard macros.
12034         * xintrinsicp.h: Add guard macros.
12035         * xmmanager.h: Add guard macros.
12036         * xmmanagerp.h: Add guard macros.
12037         * xmprimitive.h: Add guard macros.
12038         * xmu.h: Add guard macros.
12039         * gpmevent.h: Add copyright statement. Add guard macros.
12040         * miscplay.h: Add guard macros.
12041         * *.h: Use consistent C-standards-approved guard macro names.
12042
12043         * opaque.c (make_opaque): Switch parameter order.
12044         * opaque.h (make_opaque): Switch parameter order.
12045         Update all callers.
12046         * buffer.h (MAKE_MIRROR_TRT_TABLE): Use symbolic constant OPAQUE_CLEAR.
12047
12048         * config.h.in (type_checking_assert): Added.
12049         (bufpos_checking_assert): Added.
12050
12051 2000-01-21  Martin Buchholz  <martin@xemacs.org>
12052
12053         * alloc.c: Harmless pdump changes.
12054         - Use countof().
12055         - spell alignment correctly.
12056         * sysdep.c: Use countof()
12057
12058 2000-01-20  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12059
12060         * console.c (create_console): Use CONMETH_OR_GIVEN when calling
12061         initially_selected_for_input() console method, default to 0.
12062         (semi_canonicalize_console_connection): Try to delegate to
12063         canonicalize_console_connection if no such console method.
12064         (canonicalize_console_connection): Vice versa.
12065         (print_console): Do not print nil connection.
12066
12067         * console.h (XDEVIMPF_IS_A_PRINTER): Added.
12068         (XDEVIMPF_NO_AUTO_REDISPLAY): Added.
12069         (XDEVIMPF_FRAMELESS_OK): Added.
12070         (CONSOLE_INHERITS_METHOD): Added.
12071
12072         * console-msw.c (mswindows_canonicalize_console_connection):
12073         Added.
12074         (mswindows_canonicalize_device_connection): Added.
12075
12076         * console-msw.h (struct msprinter_device): Added this struct and
12077         accessor macros.
12078         (mswindows_device): Made fontlist a lisp object.
12079
12080         * device.c (semi_canonicalize_device_connection):  Try to delegate
12081         to canonicalize_device_connection if no such console method.
12082         (canonicalize_device_connection): Vice versa.
12083         (print_device): Do not print nil connection.
12084
12085         * device-msw.c (mswindows_init_device): Call InitCommonControls
12086         when have widgets.
12087         (mswindows_delete_device): Removed fontlist deallocation.
12088         (mswindows_mark_device): Added.
12089
12090         * events.c (event_equal): Added abort() at unreached code.
12091         (event_hash): Ditto.
12092
12093         * faces.c (complex_vars_of_faces): Added Qmsprinter to the list of
12094         fallback tags of Windows devices.
12095
12096         * general.c (syms_of_general): Initialized Qmsprinter.
12097
12098         * gutter.c (complex_vars_of_gutters): Added Qmsprinter to the list
12099         of fallback tags of Windows devices.
12100
12101         * lisp.h: Declared Qmsprinter.
12102
12103         * objects-msw.c (font_enum_callback_2): Rewrote to build lisp list
12104         of strings.
12105         (mswindows_list_fonts): Ditto.
12106         (mswindows_enumerate_fonts): Removed dependency on XDEVICE, so
12107         that it can be used by both mswindows and msprinter devices.
12108         (initialize_font_instance): Added.
12109         (mswindows_initialize_font_instance): Use it.
12110         (msprinter_initialize_font_instance): Added.
12111
12112         * redisplay.c (redisplay_device): Added the parameter AUTOMATIC
12113         and implementation flags check.
12114         (redisplay_without_hooks): Changed the call to the above.
12115         (Fredraw_device): Ditto.
12116         (Fredisplay_device): Ditto.
12117
12118         * redisplay-msw.c (get_frame_dc): Implemented.
12119         (get_frame_compdc): Implemented.
12120         (many functions): Use the two functions above to get device
12121         contexts, ether for a window or a printer.
12122
12123 2000-01-21  Olivier Galibert  <galibert@pobox.com>
12124
12125         * symbols.c (reinit_symbols_once_early): Put Qzero/Qnull_pointer
12126         initialization here.
12127         (init_symbols_once_early): Call it.
12128         * emacs.c (main_1): Call it.
12129         * symsinit.h: Declare it.
12130
12131 2000-01-19  Olivier Galibert  <galibert@pobox.com>
12132
12133         * alloc.c: Use a lrecord_header * in the backtrace instead of a
12134         Lisp_Object.
12135         (pdump_backtrace): Ditto.
12136         (pdump_register_object): Ditto.  Cleanup use of the pointers.
12137         (pdump_get_entry): Abort if trying to register a null pointer.
12138         (pdump_dump_data): Cleanup types when relocating.
12139         (pdump_dump_staticvec): Cleanup types w.r.t the reloc table.
12140         (pdump_dump_rtables): Remove bad casts.
12141         (pdump_load): Cleanup relocation w.r.t union type.  Use a
12142         Lisp_Object instead of a EMACS_INT for the hashtable
12143         reorganization.
12144
12145 2000-01-20  Martin Buchholz  <martin@xemacs.org>
12146
12147         * emacs.c (main_1): Rearrange morass of #ifdef's for correctness.
12148
12149         * callproc.c (call_process_cleanup): Isolate WINDOWSNT code for clarity.
12150
12151         * EmacsManager.c (GeometryManager): Avoid use of CPP for clarity.
12152
12153         * *.[ch]: global-replace 's/_of_xselect/_of_select_x/g' *.[ch]
12154
12155 2000-01-17  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12156
12157         * faces.h (FACE_STRIKETHRU_P): Added.
12158
12159         * glyphs-msw.c (mswindows_widget_hfont): Implemented, to take care
12160         of font variants.
12161
12162         * redisplay-msw.c (mswindows_apply_face_effects): Deleted.
12163         (mswindows_set_dc_font): New function, aware of font variants,
12164         separated from mswindows_update_dc.
12165
12166         * objects-msw.h (struct mswindows_font_instance_data): Added
12167         definition.
12168
12169         * objects-msw.c (mswindows_finalize_font_instance): Delete all
12170         cached fonts and the data structure.
12171         (mswindows_initialize_font_instance): Added creation of font data
12172         structure.
12173         (mswindows_print_font_instance): Print at least something.
12174         (mswindows_create_font_variant): Implemented.
12175         (mswindows_get_hfont): Implemented.
12176
12177 2000-01-13  Fabrice Popineau  <Fabrice.Popineau@supelec.fr>
12178
12179         * dired-msw.c: permute "sysdir.h" with "sysfile.h" because of
12180         prototyping problem with msvc.
12181
12182         * emacs.c (main_1): added syms_of_gui_mswindows() call
12183
12184         * gui-msw.c: added "mswindows-shell-execute" lisp subr and
12185         syms_of_gui_mswindows() function
12186
12187         * symsinit.h: added the prototype for syms_of_gui_mswindows()
12188
12189 2000-01-18  Martin Buchholz <martin@xemacs.org>
12190
12191         * XEmacs 21.2.27 is released.
12192
12193 2000-01-18  Martin Buchholz  <martin@xemacs.org>
12194
12195         * glyphs-eimage.c (struct tiff_error_struct):
12196         (tiff_error_func):
12197         (tiff_warning_func):
12198         #if HAVE_VSNPRINTF ==> #ifdef HAVE_VSNPRINTF
12199
12200         * unexmips.c:
12201         * unexhp9k3.c:
12202         * unexfreebsd.c:
12203         * unexec.c: Remove vestigial Lucid C code.
12204         * unexalpha.c:
12205         * unexaix.c:
12206         * termcap.c:
12207         * libsst.c: Ansify.
12208         Remove declarations of errno and strerror().
12209
12210         * eval.c (Fbacktrace): Small Purify-cation.  Fix docstring.
12211
12212         * .dbxrc (run-temacs): Use the horrible ${1+"$@"} instead of "$@".
12213
12214 2000-01-16  Martin Buchholz  <martin@xemacs.org>
12215
12216         * mule-charset.c (Fchar_octet): Resurrect from earlier in 1999.
12217         Optimize.
12218
12219 2000-01-14  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
12220
12221         * md5.c:
12222         * file-coding.c:
12223         * file-coding.h:
12224         Change enum eol_type to eol_type_t.
12225
12226 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
12227
12228         * gui.c (get_gui_callback): Check cons before accessing car.
12229
12230 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
12231
12232         * specifier.h (XSPECIFIER_TYPE): Add error checking version.
12233         (XSETSPECIFIER_TYPE): Ditto.
12234
12235 2000-01-17  Didier Verna  <didier@xemacs.org>
12236
12237         * redisplay.c (generate_fstring_runes): compute string size in
12238         characters, not bytes.
12239
12240 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
12241
12242         * window.c (Fwindow_minibuffer_p): Make WINDOW optional.
12243
12244 2000-01-14  Hrvoje Niksic  <hniksic@iskon.hr>
12245
12246         * print.c (print_error_message): Call print_prepare().
12247
12248 2000-01-14  Martin Buchholz  <martin@xemacs.org>
12249
12250         * .dbxrc: Renamed from dbxrc.
12251
12252         * events.c (event_to_character):
12253         Use `assert (foo)' instead of `if (!foo) abort()'
12254
12255         * .gdbinit (xtype): Add documentation.
12256         * .gdbinit (check-temacs): New function.
12257         * .gdbinit (check-xemacs): New function.
12258         * dbxrc (check-xemacs): New function.
12259         * dbxrc (check-xemacs): New function.
12260
12261 2000-01-14  Andy Piper  <andy@xemacs.org>
12262
12263         * glyphs-widget.c (widget_query_geometry): Make sure that we
12264         calculate default dimensions correctly.
12265
12266 2000-01-13  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12267
12268         * symsinit.h: Added prototype for reinit_vars_of_frame_mswindows.
12269
12270         * event-msw.c (vars_of_event_mswindows): Fixed a mistyped
12271         pdump_wire'd variable.
12272
12273         * emacs.c: (main_1): Conditionalized calls to
12274         reinit_vars_of_scrollbar_x and reinit_vars_of_module.
12275
12276 2000-01-13  Martin Buchholz  <martin@xemacs.org>
12277
12278         * window.c (Fset_window_configuration):
12279         * sysdep.c (_start):
12280         * input-method-motif.c (res):
12281         * event-Xt.c (Xt_process_to_emacs_event):
12282         Simple compiler warning fixes.
12283
12284         * bytecode.c (funcall_compiled_function): Use the original
12285         function symbol on the backtrace list in preference to the
12286         compiled_function object in error messages.
12287
12288 2000-01-13  Andy Piper  <andy@xemacs.org>
12289
12290         * glyphs-x.c (update_widget_face): Make sure we update the widget
12291         background as well as foreground.
12292
12293 2000-01-13  Andy Piper  <andy@xemacs.org>
12294
12295         * glyphs.h (struct Lisp_Image_Instance): Move justify and orient
12296         fields to subwindow.
12297         (IMAGE_INSTANCE_SUBWINDOW_JUSTIFY): new macro.
12298         (XIMAGE_INSTANCE_SUBWINDOW_JUSTIFY): ditto.
12299         (IMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
12300         (XIMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
12301
12302         * glyphs-widget.c (check_valid_tab_orientation): new function.
12303         (initialize_widget_image_instance): zero orientation and
12304         justification.
12305         (widget_instantiate): pick up orientation.
12306         (tab_control_query_geometry): return appropriate values for
12307         vertical tabs.
12308
12309         * glyphs-msw.c: (mswindows_tab_control_instantiate): assign
12310         appropriate creation flags for left, right and bottom tabs.
12311
12312         * s/cygwin32.h: add tab definitions.
12313
12314 2000-01-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12315
12316         * glyphs-msw.c (mswindows_unmap_subwindow): Set focus back to the
12317         frame upon hiding a subwindow.
12318         (mswindows_button_instantiate): Changed the push button style to
12319         BS_PUSHBUTTON.
12320         (mswindows_button_instantiate): Removed button BS_NOTIFY
12321         style.
12322         (mswindows_button_instantiate): Removed redundant check for
12323         a disabled gui item.
12324         (mswindows_button_instantiate): Made use of WS_TABSTOP
12325         consistent: "operable" controls (edit, button, tree, scroll) have
12326         this style, "display-only" ones (static, progress gauge) do
12327         not. This style is currently ignored by XEmacs though. Also,
12328         removed the WS_EX_CONTROLPARENT style - it is not for children,
12329         it is for their parents!
12330         (mswindows_edit_field_instantiate): Ditto.
12331         (mswindows_progress_gauge_instantiate): Ditto.
12332         (mswindows_tree_view_instantiate): Ditto.
12333         (mswindows_tab_control_instantiate): Ditto.
12334         (mswindows_scrollbar_instantiate): Ditto.
12335         (mswindows_combo_box_instantiate): Ditto.
12336         (mswindows_widget_instantiate): Added the WS_EX_CONTROLPARENT
12337         style to the "clip" window.
12338         (mswindows_button_instantiate): Removed compilation warning by
12339         equally typing terms of the ?: operator.
12340
12341 2000-01-12  Didier Verna  <didier@xemacs.org>
12342
12343         * redisplay.c (generate_fstring_runes): new parameter holding the
12344         last modeline-format extent.
12345         (add_glyph_to_fstring_db_runes): new parameter holding the glyph
12346         extent, fill the glyph block with it.
12347         (generate_fstring_runes): handle these parameters.
12348         (generate_formatted_string_db): ditto.
12349
12350         * keymap.c (get_relevant_keymaps): retreive the keymaps from the
12351         glyphs'extents in the modeline.
12352
12353 1999-01-11  Mike Woolley  <mike@bulsara.com>
12354
12355         * ntheap.c: Reduced the reserved heap space from 1Gb down to
12356         256Mb, as a workaround for the non-starting problem many people
12357         have experienced.
12358
12359 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
12360
12361         * console-tty.c (Fset_console_tty_output_coding_system):
12362         Force redrawing tty frame.
12363
12364 2000-01-10  Didier Verna  <didier@xemacs.org>
12365
12366         * redisplay.c (generate_fstring_runes): fix size computation bug.
12367
12368 2000-01-09  William M. Perry <wmperry@aventail.com>
12369
12370         * gpmevent.c: (gpm_next_event_cb): Don't return value from void function.
12371
12372 2000-01-09  Andy Piper  <andy@xemacs.org>
12373
12374         * glyphs-msw.c: index -> i to avoid shadows.
12375         (xbm_create_bitmap_from_data): make static.
12376         (check_valid_string_or_int): deleted.
12377         (mswindows_control_wnd_proc): message -> msg to avoid shadows.
12378
12379         * glyphs-x.c (x_update_subwindow): remove unused args.
12380
12381         * glyphs.c (glyph_image_instance): return the thing. Don't set the
12382         back pointer - this is done in allocate_image_instance.
12383         (query_string_font): return Qnil to make the compiler happy.
12384         (unmap_subwindow): set to ~0 to make the compiler happy.
12385         (glyph_query_geometry): comment out until used.
12386         (glyph_layout): ditto.
12387
12388 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
12389
12390         * insdel.c (signal_after_change): Remove extraneous unbind_to().