update.
[chise/xemacs-chise.git] / src / ChangeLog
1 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2
3         * lrecord.h (enum lrecord_type): Rename
4         `lrecord_type_char_byte_table' to `lrecord_type_byte_table'.
5
6         * mule-charset.c (mark_byte_table): Renamed from
7         `mark_char_byte_table'.
8         (byte_table_equal): Renamed from `char_byte_table_equal'.
9         (byte_table_hash): Renamed from `byte_table_hash'.
10         (make_byte_table): Renamed from `make_byte_table'.
11         (copy_byte_table): Renamed from `copy_char_byte_table'.
12
13         * char-ucs.h (struct Lisp_Byte_Table): Renamed from
14         `Lisp_Char_Byte_Table'.
15         (byte_table): Renamed from `char_byte_table'.
16         (XBYTE_TABLE): Renamed from `XCHAR_BYTE_TABLE'.
17         (XSETBYTE_TABLE): Renamed from `XSET_CHAR_BYTE_TABLE'.
18         (BYTE_TABLE_P): Renamed from `XBYTE_TABLE_P'.
19         (GC_BYTE_TABLE_P): Renamed from `GC_CHAR_BYTE_TABLE_P'.
20
21 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
22
23         * buffer.c (dfc_convert_to_external_format): Modify for UTF-2000.
24         (dfc_convert_to_internal_format): Likewise.
25         
26         * text-coding.c (Fcoding_system_canonical_name_p): New function.
27         * text-coding.c (Fcoding_system_alias_p): New function.
28         * text-coding.c (Fcoding_system_aliasee): New function.
29         * text-coding.c (append_suffix_to_symbol): New function.
30         * text-coding.c (dangling_coding_system_alias_p): New function.
31         * text-coding.c (Ffind_coding_system):
32         * text-coding.c (Fcopy_coding_system):
33         * text-coding.c (encode_coding_no_conversion):
34         * text-coding.c (syms_of_file_coding):
35         * text-coding.c (vars_of_file_coding):
36         Rewrite coding system alias code.
37         Allow nested aliases, like symbolic links.
38         Allow redefinition of coding system aliases.
39         Prevent existence of dangling coding system aliases.
40         Eliminate convert_to_external_format.
41         Eliminate convert_to_internal_format.
42         
43         * text-coding.c: Change enum eol_type to eol_type_t.
44
45 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
46
47         * mule-charset.c (encode_builtin_char_1): Limit builtin-code-range
48         of `mojikyo' to MIN_CHAR_MOJIKYO + 94 * 60 * 22.
49
50         * char-ucs.h (MAX_CHAR_MOJIKYO): Limit builtin-code-range to
51         MIN_CHAR_MOJIKYO + 94 * 60 * 22.
52
53 2000-04-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
54
55         * mule-charset.c (encode_builtin_char_1): Use `mojikyo' instead of
56         `ideograph-daikanwa'.
57
58         * char-ucs.h (Vcharset_ucs): Deleted because it is not used.
59         (Vcharset_ucs_bmp): Likewise.
60         (Vcharset_mojikyo): Add new extern variable definition.
61         (Vcharset_latin_iso8859_2): Deleted because it is not used.
62         (Vcharset_latin_iso8859_3): Likewise.
63         (Vcharset_latin_iso8859_4): Likewise.
64         (Vcharset_latin_iso8859_9): Likewise.
65         (Vcharset_latin_viscii_lower): Likewise.
66         (Vcharset_latin_viscii_upper): Likewise.
67         (DECODE_CHAR): If charset is `mojikyo-pj-N', corresponding
68         `mojikyo' code-point is used to decode.
69         (encode_char_2): New function [to convert `mojikyo' code-point to
70         Mojikyo font encoding].
71         (ENCODE_CHAR): Use `encode_char_2' instead of `encode_code_1'.
72         (breakup_char_1): Likewise.
73         (CHAR_CHARSET): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR'.
74
75 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
76
77         * text-coding.c (Fmake_coding_system): Add document about
78         `disable-composition' property.
79
80 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
81
82         * text-coding.c (Qdisable_composition): New variable; delete
83         `Qcomposite'.
84         (Fmake_coding_system): Add new property `disable-composite';
85         delete property `composite'.
86         (COMPOSE_ADD_CHAR): Use `CODING_SYSTEM_DISABLE_COMPOSITION'
87         instead of `!CODING_SYSTEM_COMPOSITE'.
88         (syms_of_file_coding): Add new symbol `disable-composition';
89         delete symbol `composite'.
90
91         * file-coding.h (struct Lisp_Coding_System): Add
92         `disable_composition'; delete `enable_composition'.
93         (CODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
94         `CODING_SYSTEM_COMPOSITE'.
95         (XCODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
96         `XCODING_SYSTEM_COMPOSITE'.
97
98 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
99
100         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
101         to 0.15.
102
103 2000-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
104
105         * text-coding.c (Qcomposite): New variable.
106         (Fmake_coding_system): Add new property `composite'.
107         (struct decoding_stream): Add `combined_char_count',
108         `combined_chars' and `combining_table' in UTF-2000.
109         (COMPOSE_FLUSH_CHARS): New macro.
110         (COMPOSE_ADD_CHAR): New macro.
111         (reset_decoding_stream): Reset `str->combined_char_count' and
112         `str->combining_table' in UTF-2000.
113         (decode_coding_iso2022): Modify for character-decomposition.
114         (syms_of_file_coding): Add new symbol `composite'.
115
116 2000-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
117
118         * mule-charset.c (Vcharset_latin_tcvn5712): New variable.
119         (Fput_char_attribute): Set up `Vcharacter_variant_table' instead
120         of `Vcharacter_composition_table' if `->decomposition' property
121         has only 1 element.
122         (Qlatin_tcvn5712): New variable.
123         (syms_of_mule_charset): Add new symbol `latin-tcvn5712'.
124         (complex_vars_of_mule_charset): Add new coded-charset
125         `latin-tcvn5712'.
126
127         * char-ucs.h (LEADING_BYTE_LATIN_TCVN5712): New macro.
128
129 2000-04-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
130
131         * file-coding.h (struct Lisp_Coding_System): Add
132         `enable_composition'.
133         (CODING_SYSTEM_COMPOSITE): New macro.
134         (XCODING_SYSTEM_COMPOSITE): New macro.
135
136 2000-03-17  MORIOKA Tomohiko  <tomo@m17n.org>
137
138         * mule-canna.c (c2mu): Fix problem with UTF-2000.
139
140 2000-03-16  MORIOKA Tomohiko  <tomo@m17n.org>
141
142         * mule-charset.c (Fput_char_attribute): Don't make mapping-table
143         if ATTRIBUTE is `ucs' and character-id of CHARACTER = VALUE.
144
145 2000-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
146
147         * mule-charset.c (Vcharset_mojikyo): New variable.
148         (Fdefine_char): Don't use coded-charset which does not have
149         non-builtin character range to allocate character-id.
150         (Qmojikyo): New variable.
151         (syms_of_mule_charset): Add new symbol `mojikyo'.
152         (complex_vars_of_mule_charset): Add new coded-charset `mojikyo'.
153
154         * char-ucs.h (LEADING_BYTE_DAIKANWA_EKANJI): New macro.
155         (LEADING_BYTE_MOJIKYO): New macro.
156         (MIN_CHAR_MOJIKYO): New macro.
157         (MIN_CHAR_DAIKANWA): Use `MIN_CHAR_MOJIKYO'.
158         (MAX_CHAR_MOJIKYO): New macro.
159
160 2000-02-12  MORIOKA Tomohiko  <tomo@m17n.org>
161
162         * mule-charset.c (remove_char_attribute): Fixed.
163
164 2000-02-08  MORIOKA Tomohiko  <tomo@m17n.org>
165
166         * mule-charset.c (remove_char_attribute): New function.
167         (Fremove_char_attribute): New function.
168         (encode_builtin_char_1): Comment out builtin-support for
169         greek-iso8859-7 and cyrillic-iso8859-5.
170         (Fdecode_char): Check `code' is an integer.
171         (syms_of_mule_charset): Add `remove-char-attribute'.
172         (MIN_CHAR_GREEK): Deleted.
173         (MAX_CHAR_GREEK): Likewise.
174         (MIN_CHAR_CYRILLIC): Likewise.
175         (MAX_CHAR_CYRILLIC): Likewise.
176         (complex_vars_of_mule_charset): Don't use MIN_CHAR_GREEK and
177         MAX_CHAR_GREEK for `greek-iso8859-7'.
178
179         * char-ucs.h (MIN_CHAR_GREEK): Comment out.
180         (MAX_CHAR_GREEK): Likewise.
181         (MIN_CHAR_CYRILLIC): Likewise.
182         (MAX_CHAR_CYRILLIC): Likewise.
183
184 2000-02-02  MORIOKA Tomohiko  <tomo@m17n.org>
185
186         * mule-charset.c (Fdefine_char): Fix problem when new code-point
187         format is used without `ucs' property.
188         (Fdecode_char): Fix problem with GR representation.
189         (complex_vars_of_mule_charset): Don't use `MIN_CHAR_CYRILLIC' and
190         `MAX_CHAR_CYRILLIC' as range of builtin `cyrillic-iso8859-5'.
191
192 2000-01-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
193
194         * mule-charset.c (make_builtin_char): New function.
195         (encode_builtin_char_1): Check ISO-2022-charset is defined or not.
196         (Fset_charset_mapping_table): Modify for new representation of
197         code-point.
198         (Fdecode_char): New function.
199         (syms_of_mule_charset): Add new builtin function `decode-char' in
200         UTF-2000.
201
202         * char-ucs.h (make_builtin_char): New prototype.
203         (DECODE_CHAR): New inline function.
204         (MAKE_CHAR): Use `DECODE_CHAR'.
205
206 2000-01-28  MORIOKA Tomohiko  <tomo@m17n.org>
207
208         * text-coding.c (parse_charset_conversion_specs): Use
209         `XCHARSET_CHARS' and `XCHARSET_DIMENSION' instead of
210         `XCHARSET_TYPE'.
211         (iso2022_designate): Likewise.
212
213         * chartab.c (decode_char_table_range): Use `XCHARSET_CHARS' and
214         `XCHARSET_DIMENSION' instead of `XCHARSET_TYPE'.
215
216         * mule-charset.c (Vcharset_ucs): New variable.
217         (print_charset): Change design; use `CHARSET_CHARS' and
218         `CHARSET_DIMENSION' instead of `CHARSET_TYPE'.
219         (make_charset): Change signature to specify `chars' and
220         `dimension' instead of `type'.
221         (range_charset_code_point): Modify for 256^n-set.
222         (encode_builtin_char_1): Encode as `ucs' in default.
223         (Fmake_charset): Modify for `make_charset'.
224         (Fmake_reverse_direction_charset): Likewise.
225         (Fsplit_char): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR' in
226         UTF-2000.
227         (complex_vars_of_mule_charset): Add coded-charset `ucs'; modify
228         for `make_charset'.
229
230         * char-ucs.h (Vcharset_ucs): New variable.
231         (LEADING_BYTE_UCS): New macro.
232         (struct Lisp_Charset): Delete `type'; change type of `dimension'
233         and `chars' to `unsigned short' from `unsigned int'.
234         (CHARSET_TYPE): Deleted.
235         (XCHARSET_TYPE): Deleted.
236
237 2000-01-27  MORIOKA Tomohiko  <tomo@m17n.org>
238
239         * mule-charset.c (charset_code_point): Moved to char-ucs.h.
240
241         * char-ucs.h (charset_code_point): Moved from mule-charset.c.
242         (ENCODE_CHAR): New macro.
243
244 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
245
246         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
247         to 0.14 (Kawachi-Katakami).
248
249 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
250
251         * text-coding.c (char_encode_shift_jis): Modify for
252         `charset_code_point'.
253         (char_encode_iso2022): Likewise.
254
255         * mule-charset.c (Fput_char_attribute): Use <Lisp_Object>
256         (integer) instead of list of <Lisp_Object>s (integers) as the
257         format of code-point of a coded-charset.
258         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
259         (encode_builtin_char_1): New function; delete
260         `split_builtin_char'.
261         (charset_code_point): Return <int> instead of <Lisp_Object>.
262         (Fsplit_char): Don't use `SPLIT_CHAR'.
263
264         * char-ucs.h (encode_builtin_char_1): New prototype; delete
265         prototype for `split_builtin_char'.
266         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
267         (charset_code_point): Likewise.
268         (encode_char_1): New inline function; delete `SPLIT_CHAR'.
269         (breakup_char_1): Use `encode_char_1' instead of `SPLIT_CHAR'.
270
271 2000-01-20  MORIOKA Tomohiko  <tomo@m17n.org>
272
273         * mule-charset.c (complex_vars_of_mule_charset): Don't define
274         `japanese-jisx0208-1990' in non-UTF-2000 Mule.
275
276 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
277
278         * mule-charset.c (split_builtin_char): Don't support OBS_94x94.
279
280         * char-ucs.h (MIN_CHAR_OBS_94x94): Deleted.
281         (MAX_CHAR_OBS_94x94): Deleted.
282
283 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
284
285         * mule-charset.c (split_builtin_char): Use `MAX_CHAR_BMP'.
286
287         * char-ucs.h (MAX_CHAR_BMP): New macro.
288
289 2000-01-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
290
291         * text-coding.c: Sync with r21-2-24.
292
293 2000-01-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
294
295         * file-coding.c: Modify for UTF-2000.
296
297 2000-01-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
298
299         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
300         to 0.13 (Takaida).
301
302 2000-01-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
303
304         * mule-charset.c (split_builtin_char): Delete builtin support for
305         `katakana-jisx0201'.
306         (complex_vars_of_mule_charset): Don't map `katakana-jisx0201' to
307         BMP area in builtin representation.
308
309         * char-ucs.h (MAKE_CHAR): Delete builtin support for
310         `Vcharset_katakana_jisx0201'.
311
312 1999-12-24  MORIOKA Tomohiko  <tomo@etl.go.jp>
313
314         * mule-charset.c (Vcharset_mojikyo_pj_[1 .. 21]): New variable.
315         (Qisolated): New variable.
316         (Qinitial): New variable.
317         (Qmedial): New variable.
318         (Qfinal): New variable.
319         (Qvertical): New variable.
320         (Qsmall): New variable.
321         (to_char_code): Use `Qisolated', `Qinitial', `Qmedial', `Qfinal',
322         `Qvertical' and `Qsmall'.
323         (Qmojikyo_pj_[1 .. 21]): New variable.
324         (syms_of_mule_charset): Add new symbols `isolated', `initial',
325         `medial', `final', `vertical', `small' and `mojikyo-pj-[1 .. 21]'.
326         (complex_vars_of_mule_charset): Add new charset `mojikyo-pj-[1
327         .. 21]'.
328
329 1999-11-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
330
331         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x60.
332         (LEADING_BYTE_MOJIKYO_PJ_[1 .. 21]): New macros.
333         (MAX_LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 32)'.
334
335 1999-11-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
336
337         * mule-charset.c (Vcharset_japanese_jisx0208_1990): New variable.
338         (Fdefine_char): Use Group 00 Plane 10 for non-coded variants of
339         BMP.
340         (Qjapanese_jisx0208_1990): New variable.
341         (syms_of_mule_charset): Add new symbol `Qjapanese_jisx0208_1990'.
342         (complex_vars_of_mule_charset): Add new coded-charset
343         `japanese-jisx0208-1990'.
344
345         * char-ucs.h (LEADING_BYTE_JAPANESE_JISX0208_1990): New macro.
346         (MIN_CHAR_JIS_X0208_1990): New macro.
347         (MAX_CHAR_JIS_X0208_1990): New macro.
348
349 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
350
351         * text-coding.c (char_encode_iso2022): Output `~' if ISO 2022
352         coded-charset is not found.
353
354 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
355
356         * mule-charset.c (Fget_char_attribute): Forgot to `CHECK_CHAR'.
357         (Fdefine_char): Use `Fmake_char'.
358
359 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
360
361         * mule-charset.c (Vcharset_ideograph_daikanwa): New variable.
362         (Vcharset_hiragana_jisx0208): Deleted.
363         (Vcharset_katakana_jisx0208): Deleted.
364         (Qideograph_daikanwa): New variable.
365         (Qhiragana_jisx0208): Deleted.
366         (Qkatakana_jisx0208): Deleted.
367         (split_builtin_char): Split `ideograph-daikanwa'.
368         (Fsplit_char): New implementation for UTF-2000.
369         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa';
370         delete symbol `hiragana-jisx0208' and `katakana-jisx0208'.
371         (complex_vars_of_mule_charset): Add new coded-charset
372         `ideograph-daikanwa'; delete coded-charset `hiragana-jisx0208' and
373         `katakana-jisx0208'.
374
375         * char-ucs.h (LEADING_BYTE_DAIKANWA): New macro.
376         (LEADING_BYTE_HIRAGANA_JISX0208): Deleted.
377         (LEADING_BYTE_KATAKANA_JISX0208): Deleted.
378         (MIN_CHAR_DAIKANWA): New macro.
379         (MAX_CHAR_DAIKANWA): New macro.
380
381 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
382
383         * data.c (Fstring_to_number): Don't recognize floating point if
384         base is not 10.
385
386 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
387
388         * mule-charset.c (Fput_char_attribute): Forgot to `CHECK_CHAR'.
389
390 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
391
392         * mule-charset.c (Qsquare): New variable.
393         (to_char_code): Add `Qsquare'.
394         (syms_of_mule_charset): Add new symbol `square'.
395
396 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
397
398         * mule-charset.c (Qcircle): New variable.
399         (to_char_code): Add `Qcircle'.
400         (syms_of_mule_charset): Add new symbol `circle'.
401
402 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
403
404         * mule-charset.c (Qfont): New variable.
405         (to_char_code): Add `Qfont'.
406         (syms_of_mule_charset): Add new symbol `font'.
407
408 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
409
410         * mule-charset.c (Qsub): New variable.
411         (to_char_code): Add `Qsub'.
412         (syms_of_mule_charset): Add new symbol `sub'.
413
414 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
415
416         * mule-charset.c (Fput_char_attribute): Convert each element of
417         VALUE to GL position if ATTRIBUTE is a GR-set,
418
419 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
420
421         * mule-charset.c (Fput_char_attribute): Allow GR code-point if a
422         coded-charset is a GR-set.
423
424 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
425
426         * mule-charset.c (Fput_char_attribute): Check each element of
427         VALUE is a byte if ATTRIBUTE is a coded-charset or its name.
428
429 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
430
431         * mule-charset.c (Vcharset_ethiopic_ucs): New variable in
432         UTF-2000.
433         (Qethiopic_ucs): New variable in UTF-2000.
434         (syms_of_mule_charset): Add new symbol `ethiopic-ucs' in UTF-2000.
435         (complex_vars_of_mule_charset): Add new coded-charset
436         `ethiopic-ucs' in UTF-2000.
437
438         * char-ucs.h (LEADING_BYTE_ETHIOPIC_UCS): New macro.
439         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
440         9)'.
441         (LEADING_BYTE_KATAKANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
442         10)'.
443         (LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 11)'.
444
445 1999-11-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
446
447         * mule-charset.c (Fset_charset_mapping_table): Fix problem with
448         `ascii'.
449
450 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
451
452         * mule-charset.c (Vcharacter_variant_table): New variable.
453         (Q_ucs): New variable.
454         (Fchar_variants): New function.
455         (Fput_char_attribute): Register `->ucs' value to
456         `Vcharacter_variant_table'.
457         (syms_of_mule_charset): Add new function `char-variants' and new
458         symbol `->ucs'.
459         (vars_of_mule_charset): Setup `Vcharacter_variant_table'.
460
461 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
462
463         * mule-charset.c (get_char_code_table): Allow negative character
464         code.
465         (put_char_code_table): Likewise.
466         (Vcharacter_composition_table): New variable.
467         (Q_decomposition): New variable.
468         (Qwide): New variable.
469         (Qnarrow): New variable.
470         (Qcompat): New variable.
471         (QnoBreak): New variable.
472         (Qsuper): New variable.
473         (Qfraction): New variable.
474         (to_char_code): New function.
475         (Fget_composite_char): New function.
476         (Fput_char_attribute): Register `->decomposition' value to
477         `Vcharacter_composition_table'.
478         (syms_of_mule_charset): Add new function `get-composite-char', new
479         symbol `->decomposition', `wide', `narrow', `compat', `noBreak',
480         `super' and `fraction'.
481         (vars_of_mule_charset): Setup `Vcharacter_composition_table'.
482
483 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
484
485         * mule-charset.c (Fchar_attribute_alist): Check the argument is a
486         character; copy the return value.
487
488 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
489
490         * char-ucs.h (SPLIT_CHAR): Use `split_builtin_char'.
491
492         * mule-charset.c (range_charset_code_point): Must use make_int.
493         (split_builtin_char): New function.
494
495 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
496
497         * mule-charset.c (char_byte_table): Change name from
498         "char-code-table" to "char-byte-table".
499         (mark_char_code_table): New function.
500         (char_code_table_equal): New function.
501         (char_code_table_hash): New function.
502         (char_code_table_description): New constant.
503         (char_code_table): New type.
504         (make_char_code_table): New function.
505         (copy_char_code_table): New function.
506         (get_char_code_table): Modify for `char_code_table' type.
507         (put_char_code_table): Likewise.
508         (vars_of_mule_charset): Update `utf-2000-version' to 0.12
509         (Kashiwara).
510
511         * char-ucs.h (char_code_table): New type.
512         (XCHAR_CODE_TABLE): New macro.
513         (XSETCHAR_CODE_TABLE): New macro.
514         (CHAR_CODE_TABLE_P): New macro.
515         (GC_CHAR_CODE_TABLE_P): New macro.
516         (struct Lisp_Char_Code_Table): New structure.
517
518 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
519
520         * mule-charset.c (Fmake_charset): Setup byte_offset for
521         {94|96}^n-set.
522
523 1999-11-09  MORIOKA Tomohiko  <tomo@urania.m17n.org>
524
525         * mule-charset.c (Fdefine_char): Fix problem with non-UCS
526         character.
527
528 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
529
530         * char-ucs.h (SPLIT_CHAR): Don't make new cell if a charset slot
531         is found.
532
533 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
534
535         * mule-charset.c (Fget_char_attribute): If ATTRIBUTE is a name of
536         charset, it is regarded as a charset.
537         (put_char_attribute): New function in UTF-2000.
538         (Fput_char_attribute): If ATTRIBUTE is a charset or a name of
539         charset, mapping-table of the charset is modified.
540         (Fdefine_char): New function in UTF-2000.
541         (Fset_charset_mapping_table): Use `put_char_attribute' instead of
542         `Fput_char_attribute'.
543         (syms_of_mule_charset): Add new function `define-char' and new
544         symbol `ucs' in UTF-2000.
545         (vars_of_mule_charset): Update `utf-2000-version' to 0.11 (Shiki).
546
547 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
548
549         * mule-charset.c (Fcharset_name): Define `byte_offset' in
550         non-UTF-2000 configuration.
551
552 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
553
554         * text-coding.c (char_encode_shift_jis): Use `charset_code_point'
555         not to use `XCHARSET_ENCODING_TABLE (Vcharset_latin_jisx0201)'.
556
557         * mule-charset.c (mark_charset): `cs->encoding_table' has been
558         deleted.
559         (make_charset): Don't use `CHARSET_ENCODING_TABLE(cs)'.
560         (Fset_charset_mapping_table): Likewise.
561
562         * char-ucs.h (struct Lisp_Charset): Delete `encoding_table'.
563         (CHARSET_ENCODING_TABLE): Delete.
564         (XCHARSET_ENCODING_TABLE): Delete.
565         (charset_code_point): New interface.
566
567 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
568
569         * text-coding.c (char_encode_iso2022): Use `charset_code_point'
570         instead of `charset_get_byte1' and `charset_get_byte2'.
571
572         * mule-charset.c, char-ucs.h (charset_get_byte1): Deleted.
573         (charset_get_byte2): Deleted.
574
575 1999-10-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
576
577         * char-ucs.h (SPLIT_CHAR): New inline function.
578         (breakup_char_1): Use `SPLIT_CHAR'.
579
580         * mule-charset.c (range_charset_code_point): New function.
581         (charset_code_point): New function.
582
583         * char-ucs.h (range_charset_code_point): New interface.
584         (breakup_char_1): Use `range_charset_code_point'.
585
586 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
587
588         * mule-charset.c (Fmake_charset): Delete unused local variable
589         `code_offset'.
590
591         * char-ucs.h (Vcharacter_attribute_table): New extern variable.
592         (breakup_char_1): Find a charset and code-point in
593         `Vcharacter_attribute_table'.
594
595 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
596
597         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
598         to 0.10 (Yao).
599
600 1999-10-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
601
602         * mule-charset.c (Vcharacter_attribute_table): New variable.
603         (Fchar_attribute_alist): New function.
604         (Fget_char_attribute): New function.
605         (Fput_char_attribute): New function.
606         (Fset_charset_mapping_table): Setup `Vcharacter_attribute_table'
607         too.
608         (syms_of_mule_charset): Add new function `char-attribute-alist',
609         `get-char-attribute' and `put-char-attribute'.
610         (vars_of_mule_charset): Setup `Vcharacter_attribute_table'.
611
612 1999-10-19  MORIOKA Tomohiko  <tomo@etl.go.jp>
613
614         * mule-charset.c (Fmake_charset): Just use
615         `get_unallocated_leading_byte'.
616
617         * char-ucs.h (LEADING_BYTE_*): Use ISO-IR numbers for official
618         sets; don't use final-byte based number for private sets.
619
620 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
621
622         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
623         integer.
624
625 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
626
627         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
628         to 0.9.
629
630 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
631
632         * regex.c (compile_extended_range): Use `CHAR_CHARSET_ID' instead
633         of `CHAR_LEADING_BYTE' in UTF-2000.
634
635         * insdel.c (find_charsets_in_bufbyte_string): Use
636         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
637         (find_charsets_in_emchar_string): Likewise.
638
639         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use
640         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
641
642         * char-ucs.h (CHAR_LEADING_BYTE): Deleted.
643         (CHAR_CHARSET_ID): New macro.
644
645 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
646
647         * chartab.c (get_char_table): Don't use type `Charset_ID' for
648         charset-id - MIN_LEADING_BYTE.
649         (put_char_table): Likewise.
650
651 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
652
653         * char-ucs.h (MIN_LEADING_BYTE): Changed to `-0x40'.
654         (NUM_LEADING_BYTES): Changed to (80 * 3 - MIN_LEADING_BYTE).
655         (CHARSET_LEADING_BYTE): Don't cast by `Bufbyte'.
656         (CHARSET_ID_OFFSET): New macro.
657         (LEADING_BYTE_CONTROL_1): Changed to (CHARSET_ID_OFFSET - 1).
658         (LEADING_BYTE_UCS_BMP): Changed to (CHARSET_ID_OFFSET - 2).
659         (LEADING_BYTE_LATIN_VISCII): Changed to (CHARSET_ID_OFFSET - 3).
660         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
661         4).
662         (LEADING_BYTE_KATAKANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
663         5).
664         (MIN_LEADING_BYTE_PRIVATE): Changed to `MIN_LEADING_BYTE'.
665         (MAX_LEADING_BYTE_PRIVATE): Changed to (CHARSET_ID_OFFSET - 6).
666         (CHARSET_ID_OFFSET_94): Changed to (CHARSET_ID_OFFSET - '0').
667         (CHARSET_ID_OFFSET_96): Changed to (CHARSET_ID_OFFSET_94 + 80).
668         (CHARSET_ID_OFFSET_94x94): Changed to (CHARSET_ID_OFFSET_96 + 80).
669
670 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
671
672         * mule-charset.c (next_allocated_leading_byte): New variable in
673         UTF-2000.
674         (next_allocated_1_byte_leading_byte): Don't define in UTF-2000.
675         (next_allocated_2_byte_leading_byte): Don't define in UTF-2000.
676         (get_unallocated_leading_byte): Simply use
677         `next_allocated_leading_byte' [ignore dimension] in UTF-2000.
678         (vars_of_mule_charset): Setup `next_allocated_leading_byte' in
679         UTF-2000.
680
681         * char-ucs.h (MIN_LEADING_BYTE_PRIVATE): New macro.
682         (MAX_LEADING_BYTE_PRIVATE): New macro.
683         (MIN_LEADING_BYTE_OFFICIAL_2): Deleted.
684         (MAX_LEADING_BYTE_OFFICIAL_2): Deleted.
685
686 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
687
688         * mule-charset.c (Fmake_charset): Allocate final-byte based
689         charset-id for 94-set, 96-set and 94x94-set.
690
691 1999-10-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
692
693         * mule-charset.c (char_byte_table_equal): Fill braces to avoid
694         ambiguous `else'.
695         (Fmake_charset): Likewise.
696         (complex_vars_of_mule_charset): Modify the font registry of
697         `ucs-bmp' not to match `Ethiopic-Unicode'.
698
699 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
700
701         * mule-charset.c (complex_vars_of_mule_charset): Add font
702         registory of `ucs-bmp'.
703
704 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
705
706         * text-coding.c (char_encode_iso2022): Ignore non-ISO-2022
707         coded-charsets in `default-coded-charset-priority-list' when
708         breaking up a character.
709
710         * mule-charset.c (Vcharset_latin_viscii): New variable.
711         (Qlatin_viscii): New variable.
712         (make_charset): Don't use `decoding_table'.
713         (Fmake_charset): Regard graphic = 2 as 256^n-set; setup
714         byte_offset.
715         (Fset_charset_mapping_table): New implementation.
716         (syms_of_mule_charset): Add new symbol `latin-viscii'.
717         (complex_vars_of_mule_charset): Set `graphic' attribute of charset
718         `ucs-bmp' and `latin_viscii' to 2; change font registry of charset
719         `latin-viscii-lower' to "MULEVISCII-LOWER"; change font registry
720         of charset `latin-viscii-upper' to "MULEVISCII-UPPER"; add new
721         charset `latin_viscii'.
722
723         * char-ucs.h (LEADING_BYTE_LATIN_VISCII): New macro.
724         (CHARSET_TYPE_94X94): Change to 1 from 2.
725         (CHARSET_TYPE_96): Change to 2 from 1.
726         (CHARSET_TYPE_128): New macro.
727         (CHARSET_TYPE_128X128): Change to 5 from 4.
728         (CHARSET_TYPE_256): New macro.
729         (CHARSET_TYPE_256X256): Change to 7 from 5.
730         (MAKE_CHAR): Use `XCHARSET_BYTE_OFFSET(charset)'.
731
732 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
733
734         * text-coding.c (char_encode_shift_jis): Refer
735         `XCHARSET_ENCODING_TABLE(Vcharset_latin_jisx0201)' instead of
736         `XCHARSET_TO_BYTE1_TABLE(Vcharset_latin_jisx0201)'.
737
738         * mule-charset.c (mark_char_byte_table): New function in UTF-2000.
739         (char_byte_table_equal): New function in UTF-2000.
740         (char_byte_table_hash): New function in UTF-2000.
741         (char_byte_table_description): New constant in UTF-2000.
742         (char_byte_table): New type in UTF-2000.
743         (make_char_byte_table): New function in UTF-2000.
744         (copy_char_byte_table): New function in UTF-2000.
745         (make_char_code_table): New macro in UTF-2000.
746         (get_char_code_table): New function in UTF-2000.
747         (put_char_code_table): New function in UTF-2000.
748         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
749         (charset_description): Add setting in UTF-2000.
750         (make_charset): Setup `CHARSET_ENCODING_TABLE(cs)' instead of
751         `CHARSET_TO_BYTE1_TABLE(cs)'.
752         (charset_get_byte1): Refer `XCHARSET_ENCODING_TABLE(charset)'
753         instead of `XCHARSET_TO_BYTE1_TABLE(charset)'.
754         (charset_get_byte2): Refer `XCHARSET_ENCODING_TABLE(charset)'
755         instead of `XCHARSET_TO_BYTE2_TABLE(charset)'.
756         (Fset_charset_mapping_table): Setup `CHARSET_ENCODING_TABLE(cs)'
757         instead of `CHARSET_TO_BYTE1_TABLE(cs)' and
758         `CHARSET_TO_BYTE2_TABLE(cs)'.
759
760         * char-ucs.h (char_byte_table): New type.
761         (XCHAR_BYTE_TABLE): New macro.
762         (XSETCHAR_BYTE_TABLE): New macro.
763         (CHAR_BYTE_TABLE_P): New macro.
764         (GC_CHAR_BYTE_TABLE_P): New macro.
765         (struct Lisp_Char_Byte_Table): New structure.
766         (get_char_code_table): New interface.
767         (Emchar_to_byte_table): Deleted.
768         (get_byte_from_character_table): Deleted.
769         (struct Lisp_Charset): Add `encoding_table'; delete
770         `to_byte1_table' and `to_byte2_table'.
771         (CHARSET_ENCODING_TABLE): New macro.
772         (CHARSET_TO_BYTE1_TABLE): Deleted.
773         (CHARSET_TO_BYTE2_TABLE): Deleted.
774         (XCHARSET_ENCODING_TABLE): New macro.
775         (XCHARSET_TO_BYTE1_TABLE): Deleted.
776         (XCHARSET_TO_BYTE2_TABLE): Deleted.
777
778 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
779
780         * mule-charset.c (syms_of_mule_charset): Delete charset alias
781         `vietnamese-viscii-*'.
782
783 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
784
785         * mule-charset.c (Qvietnamese_viscii_lower): New variable.
786         (Qvietnamese_viscii_upper): New variable.
787         (Fdefine_charset_alias): New function.
788         (syms_of_mule_charset): Add new function `define-charset-alias'.
789         (syms_of_mule_charset): Rename charset `vietnamese-viscii-*' to
790         `latin-viscii-*'; define `vietnamese-viscii-*' as aliases for
791         `latin-viscii-*'.
792
793 1999-10-04  MORIOKA Tomohiko  <tomo@etl.go.jp>
794
795         * char-ucs.h (MIN_CHAR_OBS_94x94): New macro.
796         (MAX_CHAR_OBS_94x94): New macro.
797         (breakup_char_1): Support obsolete XEmacs-UCS private code space
798         for 94x94 sets.
799
800         * mule-charset.c (put_byte_from_character_table): Change unit size
801         from 128 to 256.
802         (mark_charset): Don't mark `cs->decoding_table' if `UTF2000' is
803         not defined.
804         (Fmake_reverse_direction_charset): Modify dummy argument of
805         `make_charset' for non-UTF-2000 environment.
806
807 1999-10-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
808
809         * char-ucs.h (MAKE_CHAR): Allow nested decoding-table.
810
811         * mule-charset.c (destroy_byte_from_character_table): New macro.
812         (latin_jisx0201_to_ucs): Deleted.
813         (latin_iso8859_2_to_ucs): Deleted.
814         (latin_iso8859_3_to_ucs): Deleted.
815         (latin_iso8859_4_to_ucs): Deleted.
816         (latin_iso8859_9_to_ucs): Deleted.
817         (latin_viscii_lower_to_ucs): Deleted.
818         (latin_viscii_upper_to_ucs): Deleted.
819         (mark_charset): Mark `cs->decoding_table'.
820         (Fcharset_mapping_table): Fix DOC-string.
821         (Fset_charset_mapping_table): New function.
822         (syms_of_mule_charset): Add nwe function
823         `set-charset-mapping-table'.
824         (complex_vars_of_mule_charset): Don't setup and use
825         `latin_*_to_ucs'.
826
827 1999-10-01  MORIOKA Tomohiko  <tomo@urania.m17n.org>
828
829         * char-ucs.h (MAKE_CHAR): Check the result for range-represented
830         charset.
831
832 1999-09-30  MORIOKA Tomohiko  <tomo@urania.m17n.org>
833
834         * mule-charset.c (Vcharset_hiragana_jisx0208): New variable.
835         (Vcharset_katakana_jisx0208): New variable.
836         (Qhiragana_jisx0208): New variable.
837         (Qkatakana_jisx0208): New variable.
838         (make_charset): Add new argument `byte_offset'.
839         (charset_get_byte1): Modify for new coded-charset definition; use
840         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
841         `XCHARSET_BYTE_OFFSET'.
842         (Fmake_charset): Modify for `make_charset'.
843         (Fmake_reverse_direction_charset): Likewise.
844         (syms_of_mule_charset): Add new symbols `hiragana-jisx0208' and
845         `katakana-jisx0208'.
846         (complex_vars_of_mule_charset): Modify for `make_charset'; quote
847         `.'  in font registry of charset `katakana-jisx0201',
848         `latin-jisx0201', `vietnamese-viscii-lower' and
849         `vietnamese-viscii-upper'; modify DOC-string of charset
850         `japanese-jisx0208-1978' and `japanese-jisx0208'; modify font
851         registry of charset `japanese-jisx0208' not to use font for JIS
852         X0208:1990; add new charset `hiragana-jisx0208' and
853         `katakana-jisx0208'.
854
855         * char-ucs.h (LEADING_BYTE_HIRAGANA_JISX0208): New macro.
856         (LEADING_BYTE_KATAKANA_JISX0208): New macro.
857         (struct Lisp_Charset): Add `byte_offset'.
858         (CHARSET_BYTE_OFFSET): New macro.
859         (XCHARSET_UCS_MIN): New macro.
860         (XCHARSET_UCS_MAX): New macro.
861         (XCHARSET_CODE_OFFSET): New macro.
862         (XCHARSET_BYTE_OFFSET): New macro.
863         (MIN_CHAR_HIRAGANA): New macro.
864         (MAX_CHAR_HIRAGANA): New macro.
865         (MIN_CHAR_KATAKANA): New macro.
866         (MAX_CHAR_KATAKANA): New macro.
867         (MAKE_CHAR): Modify for new coded-charset definition; use
868         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
869         `XCHARSET_BYTE_OFFSET'.
870
871 1999-09-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
872
873         * mule-charset.c (CHAR96): Deleted.
874         (latin_jisx0201_to_ucs): Type is changed from array of <Emchar> to
875         <Lisp_Object>.
876         (latin_iso8859_2_to_ucs): Likewise.
877         (latin_iso8859_3_to_ucs): Likewise.
878         (latin_iso8859_4_to_ucs): Likewise.
879         (latin_iso8859_9_to_ucs): Likewise.
880         (latin_viscii_lower_to_ucs): Likewise.
881         (latin_viscii_upper_to_ucs): Likewise.
882         (latin_tcvn5712_to_ucs): Commented out.
883         (make_charset): Change type of argument `decoding_table' from
884         <Emchar*> to <Lisp_Object> [vector of characters].
885         (Fmake_charset): Modify for `make_charset'.
886         (Fmake_reverse_direction_charset): Likewise.
887         (Fcharset_mapping_table): New function in UTF-2000.
888         (syms_of_mule_charset): Setup `Fcharset_mapping_table' in
889         UTF-2000.
890         (complex_vars_of_mule_charset): Modify for type change of
891         `*_to_ucs'; modify for `make_charset'.
892
893         * char-ucs.h (struct Lisp_Charset): Change type of
894         `decoding_table' from <Emchar*> to <Lisp_Object>.
895         (MAKE_CHAR): Modify for new specification of `decoding_table'.
896
897 1999-09-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
898
899         * mule-charset.c (Fmake_reverse_direction_charset): Fix compile
900         error with non-UTF-2000-Mule.
901
902 1999-09-21  MORIOKA Tomohiko  <tomo@etl.go.jp>
903
904         * mule-charset.c (Vcharset_chinese_cns11643_3): Deleted [defined
905         in lisp again].
906         (Vcharset_chinese_cns11643_4): Likewise.
907         (Vcharset_chinese_cns11643_5): Likewise.
908         (Vcharset_chinese_cns11643_6): Likewise.
909         (Vcharset_chinese_cns11643_7): Likewise.
910         (Qchinese_cns11643_3): Likewise.
911         (Qchinese_cns11643_4): Likewise.
912         (Qchinese_cns11643_5): Likewise.
913         (Qchinese_cns11643_6): Likewise.
914         (Qchinese_cns11643_7): Likewise.
915         (syms_of_mule_charset): Move definitions for `chinese-cns11643-3',
916         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
917         and `chinese-cns11643-7' to lisp/mule/chinese.el.
918         (complex_vars_of_mule_charset): Likewise.
919
920 1999-09-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
921
922         * mule-charset.c (charset_get_byte1): Fix bug about 94- and
923         96-set.
924         (Fmake_reverse_direction_charset): Inherit CHARSET_DECODING_TABLE,
925         CHARSET_UCS_MIN, CHARSET_UCS_MAX and CHARSET_CODE_OFFSET.
926
927 1999-09-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
928
929         * char-ucs.h (MIN_CHAR_HALFWIDTH_KATAKANA): Changed to 0xFF61 from
930         0xFF60.
931         (MAKE_CHAR): Change offset for katakana-jisx0201 to 33 from 0x20.
932         (breakup_char_1): Likewise.
933
934         * text-coding.c (char_encode_iso2022): Keep designated charsets if
935         one of them includes the specified character.
936
937 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
938
939         * mule-charset.c: Update `utf-2000-version' to 0.8 (Kami).
940
941 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
942
943         * char-ucs.h (MAKE_CHAR): Fix problem in 2-dimension charset.
944
945 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
946
947         * mule-charset.c (latin_iso8859_2_to_ucs NULL): Add pseudo
948         definition for non-UTF-2000 Mule.
949         (latin_iso8859_3_to_ucs): Likewise.
950         (latin_iso8859_4_to_ucs): Likewise.
951         (latin_iso8859_9_to_ucs): Likewise.
952         (latin_jisx0201_to_ucs): Likewise.
953         (MIN_CHAR_THAI): Likewise.
954         (MAX_CHAR_THAI): Likewise.
955         (MIN_CHAR_GREEK): Likewise.
956         (MAX_CHAR_GREEK): Likewise.
957         (MIN_CHAR_HEBREW): Likewise.
958         (MAX_CHAR_HEBREW): Likewise.
959         (MIN_CHAR_HALFWIDTH_KATAKANA): Likewise.
960         (MAX_CHAR_HALFWIDTH_KATAKANA): Likewise.
961         (MIN_CHAR_CYRILLIC): Likewise.
962         (MAX_CHAR_CYRILLIC): Likewise.
963
964 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
965
966         * char-ucs.h (breakup_char_1): Use
967         `Vdefault_coded_charset_priority_list' for hebrew-iso8859-8,
968         thai-tis620 and katakana-jisx0201 area.
969
970 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
971
972         * char-ucs.h (breakup_char_1): Use
973         `Vdefault_coded_charset_priority_list' for cyrillic-iso8859-5
974         area.
975
976         * text-coding.c (reset_encoding_stream): Fixed.
977         (char_encode_ucs4): Delete `& 255'.
978
979         * char-ucs.h (breakup_char_1): Use
980         `Vdefault_coded_charset_priority_list' for greek-iso8859-7 area.
981
982 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
983
984         * file-coding.c (Fmake_coding_system): Don't set up
985         `codesys->fixed.size'.
986         (encode_coding_no_conversion): Don't refer
987         `str->codesys->fixed.size'.
988
989 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
990
991         * mule-charset.c, char-ucs.h (latin_a_char_to_charset): Deleted.
992         (latin_a_char_to_byte1): Deleted.
993         (latin_a_char_to_byte2): Deleted.
994
995 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
996
997         * mule-charset.c (make_charset): Add new argument `ucs_min',
998         `ucs_max' and `code_offset'.
999         (charset_get_byte1): New implementation [delete specific charset
1000         depended implementations].
1001         (Fmake_charset): Modify for `make_charset'.
1002         (Fmake_reverse_direction_charset): Likewise.
1003         (complex_vars_of_mule_charset): Likewise.
1004
1005         * char-ucs.h (struct Lisp_Charset): Add `ucs_min', `ucs_max' and
1006         `code_offset'.
1007         (CHARSET_UCS_MIN): New macro.
1008         (CHARSET_UCS_MAX): New macro.
1009         (CHARSET_CODE_OFFSET): New macro.
1010         (MAKE_CHAR): Delete charset depended definitions [except
1011         katakana-jisx0201].
1012
1013 1999-09-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
1014
1015         * char-ucs.h (breakup_char_1): Use
1016         `Vdefault_coded_charset_priority_list' for C0-Controls,
1017         Basic-Latin, C1-Controls and Latin-1-Supplement area.
1018
1019 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1020
1021         * char-ucs.h (charset_get_byte1): New function.
1022         (XCHARSET_GET_BYTE1): Deleted.
1023         (charset_get_byte2): New function.
1024         (XCHARSET_GET_BYTE2): Deleted.
1025         (Vdefault_coded_charset_priority_list): New external variable.
1026         (breakup_char_1): Use `charset_get_byte1', `charset_get_byte2' and
1027         `Vdefault_preferred_coded_charset_list'.
1028
1029         * mule-charset.c (charset_get_byte1): New function.
1030         (charset_get_byte2): New function.
1031         (Vdefault_coded_charset_priority_list): New variable.
1032         (vars_of_mule_charset): Add new variable
1033         `default-coded-charset-priority-list'.
1034
1035 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1036
1037         * char-ucs.h (XCHARSET_GET_BYTE1): New inline function.
1038         (XCHARSET_GET_BYTE2): New inline function.
1039         (breakup_char_1): Use `XCHARSET_GET_BYTE1' and
1040         `XCHARSET_GET_BYTE2'.
1041
1042 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1043
1044         * mule-charset.c (make_charset): Initialize
1045         `CHARSET_TO_BYTE1_TABLE(cs)' and `CHARSET_TO_BYTE2_TABLE(cs)' by
1046         NULL if table is not defined.
1047
1048 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1049
1050         * text-coding.c (char_encode_shift_jis): Use
1051         `XCHARSET_TO_BYTE1_TABLE' for `Vcharset_latin_jisx0201' instead of
1052         `ucs_to_latin_jisx0201'.
1053
1054         * mule-charset.c (ucs_to_latin_jisx0201): Deleted.
1055         (ucs_to_latin_iso8859_2): Deleted.
1056         (ucs_to_latin_iso8859_3): Deleted.
1057         (ucs_to_latin_iso8859_4): Deleted.
1058         (ucs_to_latin_iso8859_9): Deleted.
1059         (ucs_to_latin_viscii_lower): Deleted.
1060         (ucs_to_latin_viscii_upper): Deleted.
1061         (ucs_to_latin_tcvn5712): Deleted.
1062         (make_charset): Add new argument `decoding_table'; set up
1063         `CHARSET_DECODING_TABLE(cs)' in UTF-2000; set up
1064         `CHARSET_TO_BYTE1_TABLE(cs)' for 94-set and 96-set if
1065         `decoding_table' is defined in UTF-2000.
1066         (Fmake_charset): Modify for `make_charset'.
1067         (Fmake_reverse_direction_charset): Likewise.
1068         (complex_vars_of_mule_charset): Likewise; delete `GENERATE_94_SET'
1069         and `GENERATE_96_SET'.
1070
1071         * char-ucs.h (latin_jisx0201_to_ucs): Deleted.
1072         (ucs_to_latin_jisx0201): Deleted.
1073         (latin_iso8859_2_to_ucs): Deleted.
1074         (ucs_to_latin_iso8859_2): Deleted.
1075         (latin_iso8859_3_to_ucs): Deleted.
1076         (ucs_to_latin_iso8859_3): Deleted.
1077         (latin_iso8859_4_to_ucs): Deleted.
1078         (ucs_to_latin_iso8859_4): Deleted.
1079         (latin_iso8859_9_to_ucs): Deleted.
1080         (ucs_to_latin_iso8859_9): Deleted.
1081         (latin_viscii_lower_to_ucs): Deleted.
1082         (ucs_to_latin_viscii_lower): Deleted.
1083         (latin_viscii_upper_to_ucs): Deleted.
1084         (ucs_to_latin_viscii_upper): Deleted.
1085         (struct Lisp_Charset): Renamed `encoding_table' to
1086         `to_byte1_table'; add `to_byte2_table'.
1087         (CHARSET_DECODING_TABLE): New macro.
1088         (CHARSET_TO_BYTE1_TABLE): New macro.
1089         (CHARSET_TO_BYTE2_TABLE): New macro.
1090         (XCHARSET_DECODING_TABLE): New macro.
1091         (XCHARSET_TO_BYTE1_TABLE): New macro.
1092         (XCHARSET_TO_BYTE2_TABLE): New macro.
1093         (MAKE_CHAR): Use `XCHARSET_DECODING_TABLE'; don't use `*_to_ucs'
1094         tables.
1095         (breakup_char_1): Use `XCHARSET_TO_BYTE1_TABLE' if it is defined;
1096         don't use `ucs_to_*' tables.
1097
1098 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1099
1100         * text-coding.c (Fmake_coding_system): Don't set up
1101         `codesys->fixed.size'.
1102         (encode_coding_no_conversion): Use `if' instead of `switch'.
1103
1104         * file-coding.h (struct Lisp_Coding_System): Delete `fixed.size'.
1105
1106 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
1107
1108         * mule-charset.c (make_charset): Delete argument `rep_bytes'.
1109         (Fmake_charset): Modify for `make_charset'.
1110         (Fmake_reverse_direction_charset): Likewise.
1111         (complex_vars_of_mule_charset): Likewise.
1112
1113 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
1114
1115         * text-coding.c (char_encode_shift_jis): Use table
1116         `ucs_to_latin_jisx0201' and BREAKUP_CHAR.
1117
1118 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
1119
1120         * text-coding.c (text_encode_generic): Use `if' instead of
1121         `switch'.
1122         (decode_coding_sjis): Use `MAKE_CHAR' and `DECODE_ADD_UCS_CHAR' to
1123         decode JIS-Latin.
1124
1125 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
1126
1127         * text-coding.c (encode_coding_sjis): Deleted.
1128         (char_encode_shift_jis): New function.
1129         (char_finish_shift_jis): New function.
1130         (reset_encoding_stream): Set up `encode_char' and `finish' for
1131         `CODESYS_UCS4' and `CODESYS_SHIFT_JIS'.
1132         (mule_encode): Use generic encoder for `CODESYS_SHIFT_JIS'.
1133         (char_encode_utf8): Treat `eol_type'.
1134
1135 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
1136
1137         * file-coding.c (decode_coding_iso2022): Use
1138         `DECODE_ADD_UCS_CHAR'; don't use `XCHARSET_REP_BYTES'.
1139
1140 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
1141
1142         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1143         to 0.7 (Hirano).
1144
1145 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
1146
1147         * char-lb.h (CHAR_COLUMNS): New macro.
1148
1149 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
1150
1151         * text-coding.c (char_encode_ucs4): New function.
1152         (char_finish_ucs4): New function.
1153         (encode_coding_ucs4): Deleted.
1154         (mule_encode): Use generic encoder for `CODESYS_UCS4'.
1155         (text_encode_generic): Delete local variable `charset' and `half'.
1156         (ucs_to_mule_table): Deleted.
1157         (mule_to_ucs_table): Deleted.
1158         (Fset_ucs_char): Deleted.
1159         (ucs_to_char): Deleted.
1160         (Fucs_char): Deleted.
1161         (Fset_char_ucs): Deleted.
1162         (Fchar_ucs): Deleted.
1163         (decode_ucs4): Deleted.
1164         (mule_char_to_ucs4): Deleted.
1165         (encode_ucs4): Deleted.
1166         (decode_coding_ucs4): Use `DECODE_ADD_UCS_CHAR'.
1167         (decode_coding_utf8): Likewise.
1168         (decode_coding_iso2022): Likewise; don't use `XCHARSET_REP_BYTES'.
1169         (char_encode_iso2022): Fixed.
1170         (syms_of_file_coding): Delete `Fset_ucs_char', `Fucs_char',
1171         `Fset_char_ucs' and `Fchar_ucs'.
1172         (complex_vars_of_file_coding): Don't initialize
1173         `ucs_to_mule_table'.
1174
1175         * objects-tty.c (tty_initialize_font_instance): Don't use
1176         `XCHARSET_COLUMNS'.
1177
1178         * mule-charset.c (make_charset): Don't set up CHARSET_REP_BYTES in
1179         UTF-2000.
1180
1181         * redisplay-tty.c (tty_output_display_block): Use `CHAR_COLUMNS'
1182         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
1183
1184         * insdel.c (bufbyte_string_displayed_columns): Use `CHAR_COLUMNS'
1185         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
1186         (emchar_string_displayed_columns): Likewise.
1187
1188         * indent.c (column_at_point): Use `CHAR_COLUMNS' instead of
1189         `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
1190         (string_column_at_point): Likewise.
1191         (Fmove_to_column): Likewise.
1192
1193         * char-ucs.h (struct Lisp_Charset): Delete `rep_bytes'; add
1194         `encoding_table' and `decoding_table'.
1195         (CHARSET_REP_BYTES): Deleted.
1196         (XCHARSET_REP_BYTES): Deleted.
1197         (XCHARSET_COLUMNS): Deleted.
1198         (CHAR_COLUMNS): New macro.
1199         (lookup_composite_char): Deleted unconditionally.
1200         (composite_char_string): Likewise.
1201
1202 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
1203
1204         * char-ucs.h (Emchar_to_byte_table): New type.
1205         (get_byte_from_character_table): New function interface.
1206         (Vcharset_latin_jisx0201): New variable.
1207         (latin_jisx0201_to_ucs): New variable.
1208         (ucs_to_latin_jisx0201): New variable.
1209         (Vcharset_latin_iso8859_2): New variable.
1210         (latin_iso8859_2_to_ucs): New variable.
1211         (ucs_to_latin_iso8859_2): New variable.
1212         (Vcharset_latin_iso8859_3): New variable.
1213         (latin_iso8859_3_to_ucs): New variable.
1214         (ucs_to_latin_iso8859_3): New variable.
1215         (Vcharset_latin_iso8859_4): New variable.
1216         (latin_iso8859_4_to_ucs): New variable.
1217         (ucs_to_latin_iso8859_4): New variable.
1218         (Vcharset_latin_iso8859_9): New variable.
1219         (latin_iso8859_9_to_ucs): New variable.
1220         (ucs_to_latin_iso8859_9): New variable.
1221         (Vcharset_latin_viscii_lower): New variable.
1222         (latin_viscii_lower_to_ucs): New variable.
1223         (ucs_to_latin_viscii_lower): New variable.
1224         (Vcharset_latin_viscii_upper): New variable.
1225         (latin_viscii_upper_to_ucs): New variable.
1226         (ucs_to_latin_viscii_upper): New variable.
1227         (CHARSET_ID_OFFSET_94): Changed from 0x60 to 0x55.
1228         (LEADING_BYTE_LATIN_VISCII_LOWER): New macro.
1229         (LEADING_BYTE_LATIN_VISCII_UPPER): New macro.
1230         (MAKE_CHAR): Map `latin-iso8859-2', `latin-iso8859-3',
1231         `latin-iso8859-4', `latin-iso8859-9', `latin-jisx0201',
1232         `vietnamese-viscii-lower' and `vietnamese-viscii-upper' to BMP.
1233         (breakup_char_1): Use `ucs_to_latin_iso8859_2',
1234         `ucs_to_latin_iso8859_3', `ucs_to_latin_iso8859_4',
1235         `ucs_to_latin_iso8859_9', `ucs_to_latin_viscii_lower',
1236         `ucs_to_latin_viscii_upper' and `ucs_to_latin_jisx0201' tables.
1237
1238         * mule-charset.c (Vcharset_latin_viscii_lower): New variable.
1239         (Vcharset_latin_viscii_upper): New variable.
1240         (make_byte_from_character_table): New function.
1241         (put_byte_from_character_table): New function.
1242         (get_byte_from_character_table): New function.
1243         (CHAR96): New macro.
1244         (ucs_to_latin_jisx0201): New variable.
1245         (latin_jisx0201_to_ucs): New variable.
1246         (ucs_to_latin_iso8859_2): New variable.
1247         (latin_iso8859_2_to_ucs): New variable.
1248         (ucs_to_latin_iso8859_3): New variable.
1249         (latin_iso8859_3_to_ucs): New variable.
1250         (ucs_to_latin_iso8859_4): New variable.
1251         (latin_iso8859_4_to_ucs): New variable.
1252         (ucs_to_latin_iso8859_9): New variable.
1253         (latin_iso8859_9_to_ucs): New variable.
1254         (ucs_to_latin_viscii_lower): New variable.
1255         (latin_viscii_lower_to_ucs): New variable.
1256         (ucs_to_latin_viscii_upper): New variable.
1257         (latin_viscii_upper_to_ucs): New variable.
1258         (ucs_to_latin_tcvn5712): New variable.
1259         (latin_tcvn5712_to_ucs): New variable.
1260         (Qlatin_viscii_lower): New variable.
1261         (Qlatin_viscii_upper): New variable.
1262         (syms_of_mule_charset): Set up new symbol
1263         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'.
1264         (complex_vars_of_mule_charset): Set up new charset
1265         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'; new macro
1266         `GENERATE_94_SET' and `GENERATE_96_SET'; use them to generate
1267         `ucs_to_<CHARSET>' tables.
1268
1269 1999-09-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
1270
1271         * text-coding.c: New file.
1272
1273 1999-09-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
1274
1275         * mule-charset.c (Fmake_char): Fix problem of 256-set.
1276
1277         * char-ucs.h (Vcharset_ucs_bmp): New variable.
1278         (MAKE_CHAR): Modify for `ucs-bmp'.
1279         (breakup_char_1): Return `ucs-bmp' and code point of BMP for
1280         non-MULE characters of BMP.
1281
1282 1999-09-06  MORIOKA Tomohiko  <tomo@etl.go.jp>
1283
1284         * mule-charset.c (vars_of_mule_charset):
1285         Update `utf-2000-version' to 0.6.
1286
1287 1999-09-05  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1288
1289         * lstream.h:
1290         - Include multibyte.h instead of character.h for `BYTE_ASCII_P'.
1291         - Include character.h for `CHAR_ASCII_P'.
1292
1293         * mb-multibyte.h (CHAR_MULTIBYTE_P): Moved from mule-charset.h.
1294
1295         * mule-charset.h (CHAR_MULTIBYTE_P): Moved to mb-multibyte.h.
1296         (CHAR_ASCII_P): Don't use `CHAR_MULTIBYTE_P'.
1297
1298         * mb-multibyte.h (BYTE_ASCII_P): Moved from char-ucs.h.
1299         (BYTE_C0_P): Likewise.
1300         (BYTE_C1_P): Likewise.
1301         (Lstream_get_emchar_1): Likewise.
1302         (Lstream_fput_emchar): Likewise.
1303         (Lstream_funget_emchar): Likewise.
1304         (copy_internal_to_external): Likewise.
1305         (copy_external_to_internal): Likewise.
1306
1307         * char-ucs.h (BYTE_ASCII_P): Moved to mb-multibyte.h.
1308         (BYTE_C0_P): Likewise.
1309         (BYTE_C1_P): Likewise.
1310         (Lstream_get_emchar_1): Likewise.
1311         (Lstream_fput_emchar): Likewise.
1312         (Lstream_funget_emchar): Likewise.
1313         (copy_internal_to_external): Likewise.
1314         (copy_external_to_internal): Likewise.
1315
1316         * mb-1byte.h (BYTE_ASCII_P): Moved from buffer.h.
1317         (REP_BYTES_BY_FIRST_BYTE): Likewise.
1318
1319         * buffer.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-1byte.h.
1320         (BYTE_ASCII_P): Moved to mb-1byte.h.
1321
1322 1999-09-04  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1323
1324         * mb-utf-8.h, mb-lb.h: Include mb-multibyte.h.
1325
1326         * multibyte.h: Include mb-1byte.h in unibyte-XEmacs.
1327         (MAX_EMCHAR_LEN): Moved to mb-1byte.h.
1328         (VALID_CHARPTR_P): Moved to mb-*byte.h.
1329         (VALIDATE_CHARPTR_BACKWARD): Likewise.
1330         (VALIDATE_CHARPTR_FORWARD): Likewise.
1331         (simple_charptr_emchar): Moved to mb-multibyte.h.
1332         (simple_set_charptr_emchar): Likewise.
1333         (simple_charptr_copy_char): Likewise.
1334         (non_ascii_charptr_emchar): Likewise.
1335         (non_ascii_set_charptr_emchar): Likewise.
1336         (non_ascii_charptr_copy_char): Likewise.
1337         (charptr_emchar): Moved to mb-*byte.h.
1338         (set_charptr_emchar): Likewise.
1339         (charptr_copy_char): Likewise.
1340
1341         * mb-1byte.h, mb-multibyte.h: New files.
1342
1343 1999-09-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1344
1345         * mb-utf-8.h (MULTIBYTE): New macro.
1346         (MAX_EMCHAR_LEN): Moved from buffer.h.
1347         (REP_BYTES_BY_FIRST_BYTE): Moved from char-ucs.h.
1348
1349         * char-ucs.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-utf-8.h.
1350
1351         * mb-lb.h, multibyte.h: New files.
1352
1353         * char-1byte.h (Charset_ID): Moved from buffer.h.
1354         (MIN_LEADING_BYTE): Likewise.
1355         (LEADING_BYTE_ASCII): Likewise.
1356         (NUM_LEADING_BYTES): Likewise.
1357         (CHARSETP): Likewise.
1358         (CHARSET_BY_LEADING_BYTE): Likewise.
1359         (XCHARSET_LEADING_BYTE): Likewise.
1360         (XCHARSET_GRAPHIC): Likewise.
1361         (XCHARSET_COLUMNS): Likewise.
1362         (XCHARSET_DIMENSION): Likewise.
1363         (CHAR_CHARSET): Likewise.
1364         (CHAR_LEADING_BYTE): Likewise.
1365         (BREAKUP_CHAR): Likewise.
1366         (Vcharset_ascii): Likewise.
1367
1368         * buffer.h: Include multibyte.h unconditionally.
1369         (VALID_CHARPTR_P): Moved to multibyte.h.
1370         (ASSERT_VALID_CHARPTR): Likewise.
1371         (REAL_INC_CHARPTR): Likewise.
1372         (REAL_INC_CHARBYTIND): Likewise.
1373         (REAL_DEC_CHARPTR): Likewise.
1374         (INC_CHARPTR): Likewise.
1375         (INC_CHARBYTIND): Likewise.
1376         (DEC_CHARPTR): Likewise.
1377         (VALIDATE_CHARPTR_BACKWARD): Likewise.
1378         (VALIDATE_CHARPTR_FORWARD): Likewise.
1379         (charptr_n_addr): Likewise.
1380         (MAX_EMCHAR_LEN): Moved to mb-*.h.
1381         (simple_charptr_emchar): Moved to multibyte.h.
1382         (simple_set_charptr_emchar): Likewise.
1383         (simple_charptr_copy_char): Likewise.
1384         (non_ascii_charptr_emchar): Likewise.
1385         (non_ascii_set_charptr_emchar): Likewise.
1386         (non_ascii_charptr_copy_char): Likewise.
1387         (charptr_emchar): Likewise.
1388         (set_charptr_emchar): Likewise.
1389         (charptr_copy_char): Likewise.
1390         (charptr_emchar_n): Likewise.
1391         (Charset_ID): Moved to char-1byte.h.
1392         (Vcharset_ascii): Likewise.
1393         (CHAR_CHARSET): Likewise.
1394         (CHAR_LEADING_BYTE): Likewise.
1395         (LEADING_BYTE_ASCII): Likewise.
1396         (NUM_LEADING_BYTES): Likewise.
1397         (MIN_LEADING_BYTE): Likewise.
1398         (CHARSETP): Likewise.
1399         (CHARSET_BY_LEADING_BYTE): Likewise.
1400         (XCHARSET_LEADING_BYTE): Likewise.
1401         (XCHARSET_GRAPHIC): Likewise.
1402         (XCHARSET_COLUMNS): Likewise.
1403         (XCHARSET_DIMENSION): Likewise.
1404         (BREAKUP_CHAR): Likewise.
1405
1406 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1407
1408         * character.h: Add document about interface for characters.
1409
1410         * char-ucs.h (CHAR_ASCII_P): Modify name of argument.
1411         (MAKE_CHAR): Delete comment about
1412         `FIELD2_TO_OFFICIAL_LEADING_BYTE' and
1413         `FIELD2_TO_PRIVATE_LEADING_BYTE'.
1414         (BREAKUP_CHAR): Modify name of arguments.
1415         (CHAR_CHARSET): Modify name of argument.
1416
1417         * buffer.h: Delete document about Emchar accessors.
1418
1419 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1420
1421         * character.h (CHAR_INTP): Moved from buffer.h
1422         (CHAR_OR_CHAR_INTP): Likewise.
1423         (XCHAR_OR_CHAR_INT): Likewise.
1424         (CHECK_CHAR_COERCE_INT): Likewise.
1425
1426         * buffer.h (CHAR_INTP): Moved to character.h
1427         (CHAR_OR_CHAR_INTP): Likewise.
1428         (XCHAR_OR_CHAR_INT): Likewise.
1429         (CHECK_CHAR_COERCE_INT): Likewise.
1430
1431 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1432
1433         * character.h:
1434         - Move definitions about UCS-2000 (UCS-4) to char-ucs.h.
1435         - Include char-1byte.h, char-lb.h or char-ucs.h.
1436
1437         * mb-utf-8.h (CHAR_ASCII_P): Moved to char-ucs.h.
1438
1439         * buffer.h: Include character unconditionally.
1440         (valid_char_p): Moved to char-*.h.
1441         (non_ascii_valid_char_p): Moved to char-lb.h.
1442
1443         * char-1byte.h, char-lb.h, char-ucs.h: New files.
1444
1445 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1446
1447         * mule-ccl.c (ccl_driver): Don't define `CCL_WriteMultibyteChar2'
1448         in UTF-2000 because it is not ported yet and not to use
1449         `FIELD2_TO_OFFICIAL_LEADING_BYTE', `MIN_LEADING_BYTE_OFFICIAL_2',
1450         `FIELD1_TO_OFFICIAL_LEADING_BYTE' and
1451         `FIELD1_TO_PRIVATE_LEADING_BYTE'.
1452
1453         * mb-utf-8.h (CHAR_MULTIBYTE_P): Moved from character.h.
1454         (CHAR_ASCII_P): Moved from character.h.
1455
1456         * character.h (CHAR_MULTIBYTE_P): Moved to mb-utf-8.h.
1457         (CHAR_ASCII_P): Likewise.
1458         (CHAR_FIELD1_MASK): Deleted.
1459         (CHAR_FIELD2_MASK): Deleted.
1460         (CHAR_FIELD3_MASK): Deleted.
1461         (MAX_CHAR_BASIC_LATIN): New macro.
1462         (CHAR_FIELD1): Deleted.
1463         (CHAR_FIELD2_INTERNAL): Deleted.
1464         (CHAR_FIELD3_INTERNAL): Deleted.
1465         (FIELD1_TO_PRIVATE_LEADING_BYTE): Deleted.
1466         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Deleted.
1467         (FIELD2_TO_PRIVATE_LEADING_BYTE): Deleted.
1468         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Deleted.
1469         (MIN_CHAR_FIELD1_OFFICIAL): Deleted.
1470         (MAX_CHAR_FIELD1_OFFICIAL): Deleted.
1471         (MIN_CHAR_FIELD2_PRIVATE): Deleted.
1472         (MAX_CHAR_FIELD2_PRIVATE): Deleted.
1473         (MIN_CHAR_FIELD1_PRIVATE): Deleted.
1474         (MAX_CHAR_FIELD1_PRIVATE): Deleted.
1475         (MULE_CHAR_PRIVATE_OFFSET): Deleted.
1476         (MIN_CHAR_PRIVATE_TYPE9N): Deleted.
1477         (MAX_CHAR_PRIVATE_TYPE9N): Deleted.
1478         (MIN_CHAR_PRIVATE_TYPE9NX9N): Deleted.
1479         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Deleted.
1480         (MIN_CHAR_COMPOSITION): Deleted.
1481         (breakup_char_1): Use `MAX_CHAR_BASIC_LATIN' instead of
1482         `CHAR_ASCII_P'; use `0x7f' instead of `CHAR_FIELD3_INTERNAL'.
1483
1484 1999-09-02  MORIOKA Tomohiko  <tomo@m17n.org>
1485
1486         * buffer.h: Include mb-utf-8.h in UTF-2000.
1487
1488         * character.h (BUFBYTE_FIRST_BYTE_P): Moved to mb-utf-8.h.
1489
1490         * mb-utf-8.h: New file.
1491
1492 1999-09-02  MORIOKA Tomohiko  <tomo@etl.go.jp>
1493
1494         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use `Charset_ID'
1495         instead of `int'.
1496
1497         * mule-charset.h, buffer.h (Charset_ID): New type.
1498
1499 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
1500
1501         * mule-canna.c (c2mu): Use `MAKE_CHAR',
1502         `Vcharset_japanese_jisx0212' and `Vcharset_japanese_jisx0208'
1503         instead of `MULE_CHAR_PRIVATE_OFFSET',
1504         `LEADING_BYTE_JAPANESE_JISX0212', `LEADING_BYTE_JAPANESE_JISX0208'
1505         and `FIELD1_TO_OFFICIAL_LEADING_BYTE'.
1506         (m2c): Use `BREAKUP_CHAR' and `XCHARSET_FINAL'.
1507
1508         * character.h (Vcharset_japanese_jisx0212): New variable
1509         definition.
1510
1511 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
1512
1513         * mule-charset.c (Vcharset_ucs_bmp): New variable in UTF-2000.
1514         (charset_by_attributes): Delete array about direction.
1515         (latin_a_char_to_charset): New variable in UTF-2000.
1516         (latin_a_char_to_byte1): New variable in UTF-2000.
1517         (latin_a_char_to_byte2): New variable in UTF-2000.
1518         (Qucs_bmp): New variable.
1519         (next_allocated_1_byte_leading_byte): Use `Charset_ID' instead of
1520         `Bufbyte'.
1521         (next_allocated_2_byte_leading_byte): Likewise.
1522         (non_ascii_set_charptr_emchar): Likewise.
1523         (make_charset): Likewise; add `CHARSET_TYPE_128X128' and
1524         `CHARSET_TYPE_256X256' in UTF-2000; modify for
1525         `charset_by_attributes'.
1526         (get_unallocated_leading_byte): Use `Charset_ID' instead of `int'.
1527         (char-charset): Use `CHAR_CHARSET' instead of `CHAR_LEADING_BYTE'
1528         and `CHARSET_BY_LEADING_BYTE'.
1529         (syms_of_mule_charset): Set up `ucs-bmp'; move setting of
1530         `utf-2000-version' to `vars_of_mule_charset'.
1531         (vars_of_mule_charset): Modify for `charset_by_attributes'; don't
1532         define `leading-code-private-11' in UTF-2000; move setting of
1533         `utf-2000-version' from `syms_of_mule_charset'.
1534         (complex_vars_of_mule_charset): Set up charset `ucs-bmp' in
1535         UTF-2000.
1536
1537         * character.h (Charset_ID): New type.
1538         (LEADING_BYTE_UCS_BMP): New macro.
1539         (LEADING_BYTE_CONTROL_1): Changed from 0x8F to 0x81.
1540         (CHARSET_ID_OFFSET_94): New macro.
1541         (MIN_CHARSET_ID_PRIVATE_94): New macro.
1542         (MAX_CHARSET_ID_PRIVATE_94): New macro.
1543         (LEADING_BYTE_ASCII): Changed to use CHARSET_ID_OFFSET_94 and
1544         final-byte.
1545         (LEADING_BYTE_KATAKANA_JISX0201): Likewise.
1546         (LEADING_BYTE_LATIN_JISX0201): Likewise.
1547         (CHARSET_ID_OFFSET_96): New macro.
1548         (LEADING_BYTE_LATIN_ISO8859_1): Changed to use
1549         CHARSET_ID_OFFSET_96 and final-byte.
1550         (LEADING_BYTE_LATIN_ISO8859_2): Likewise.
1551         (LEADING_BYTE_LATIN_ISO8859_3): Likewise.
1552         (LEADING_BYTE_LATIN_ISO8859_4): Likewise.
1553         (LEADING_BYTE_GREEK_ISO8859_7): Likewise.
1554         (LEADING_BYTE_ARABIC_ISO8859_6): Likewise.
1555         (LEADING_BYTE_HEBREW_ISO8859_8): Likewise.
1556         (LEADING_BYTE_CYRILLIC_ISO8859_5): Likewise.
1557         (LEADING_BYTE_LATIN_ISO8859_9): Likewise.
1558         (LEADING_BYTE_THAI_TIS620): Likewise.
1559         (MIN_LEADING_BYTE_PRIVATE_1): Changed from 0x0D0 to 0xD0.
1560         (MAX_LEADING_BYTE_PRIVATE_1): Changed from 0x11f to 0xDF.
1561         (CHARSET_ID_OFFSET_94x94): New macro.
1562         (LEADING_BYTE_CHINESE_BIG5_1): Changed to use
1563         CHARSET_ID_OFFSET_94x94 and final-byte.
1564         (LEADING_BYTE_CHINESE_BIG5_2): Likewise.
1565         (MIN_LEADING_BYTE_PRIVATE_2): Likewise.
1566         (MAX_LEADING_BYTE_PRIVATE_2): Likewise.
1567         (LEADING_BYTE_JAPANESE_JISX0208_1978): Likewise.
1568         (LEADING_BYTE_CHINESE_GB2312): Likewise.
1569         (LEADING_BYTE_JAPANESE_JISX0208): Likewise.
1570         (LEADING_BYTE_KOREAN_KSC5601): Likewise.
1571         (LEADING_BYTE_JAPANESE_JISX0212): Likewise.
1572         (LEADING_BYTE_CHINESE_CCITT_GB): Likewise.
1573         (LEADING_BYTE_CHINESE_CNS11643_*): Likewise.
1574         (LEADING_BYTE_KOREAN_KPS9566): Likewise.
1575         (CHARSET_TYPE_128X128): New macro.
1576         (CHARSET_TYPE_256X256): New macro.
1577         (XCHARSET_PRIVATE_P): Delete unconditionally.
1578         (charset_by_attributes): Delete array about direction.
1579         (CHARSET_BY_LEADING_BYTE): Use `Charset_ID' instead of `int'.
1580         (CHARSET_BY_ATTRIBUTES): Modify for `charset_by_attributes'.
1581         (MIN_CHAR_94): New macro.
1582         (MAX_CHAR_94): New macro.
1583         (MIN_CHAR_96): New macro.
1584         (MAX_CHAR_96): New macro.
1585         (MIN_CHAR_94x94): New macro.
1586         (MAX_CHAR_94x94): New macro.
1587         (MIN_CHAR_96x96): New macro.
1588         (MAX_CHAR_96x96): New macro.
1589         (FIELD1_TO_PRIVATE_LEADING_BYTE): Use `CHARSET_ID_OFFSET_94x94'.
1590         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
1591         (FIELD2_TO_PRIVATE_LEADING_BYTE): Use `(MIN_LEADING_BYTE_PRIVATE_1
1592         - 32)'.
1593         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Use `LEADING_BYTE_ASCII'.
1594         (MIN_CHAR_FIELD2_OFFICIAL): Deleted.
1595         (MAX_CHAR_FIELD2_OFFICIAL): Deleted.
1596         (MIN_CHAR_OFFICIAL_TYPE9N): Deleted.
1597         (MAX_CHAR_PRIVATE_TYPE9N): Changed.
1598         (MAKE_CHAR): Use `XCHARSET_FINAL' instead of
1599         `XCHARSET_LEADING_BYTE' to make code-point.
1600         (latin_a_char_to_charset): New variable.
1601         (latin_a_char_to_byte1): New variable.
1602         (latin_a_char_to_byte2): New variable.
1603         (breakup_char_1): Use `latin_a_char_to_{charset|byte1|byte2}' for
1604         Latin Extended-A; use `CHARSET_BY_ATTRIBUTES' instead of
1605         `CHARSET_BY_LEADING_BYTE' to get charset for ISO-2022 characters.
1606
1607         * insdel.c (find_charsets_in_bufbyte_string): Use `Charset_ID'
1608         instead of `unsigned char'; use `MIN_LEADING_BYTE' instead of 128.
1609         (find_charsets_in_emchar_string): Likewise.
1610         (vars_of_insdel): Don't define local variable `i' in UTF-2000.
1611
1612         * file-coding.c (Fdecode_big5_char): Use `Charset_ID' instead of
1613         `int'.
1614         (decode_coding_iso2022): Likewise.
1615
1616         * toolbar-x.c (x_output_toolbar_button): Use `Charset_ID' instead
1617         of `unsigned char'.
1618
1619         * redisplay.c (redisplay_text_width_emchar_string): Use
1620         `Charset_ID' instead of `unsigned char'.
1621         (redisplay_frame_text_width_string): Likewise.
1622
1623         * glyphs.c (glyph_height_internal): Use `Charset_ID' instead of
1624         `unsigned char'.
1625
1626         * faces.h, faces.c (ensure_face_cachel_complete): Use `Charset_ID'
1627         instead of `unsigned char'.
1628         (face_cachel_charset_font_metric_info): Likewise.
1629
1630         * chartab.c (print_char_table): Use `Charset_ID' instead of `int'.
1631         (get_non_ascii_char_table_value): Likewise.
1632         (get_char_table): Likewise.
1633         (put_char_table): Likewise.
1634         (map_over_other_charset): Likewise.
1635         (map_char_table): Likewise.
1636
1637         * buffer.h (find_charsets_in_bufbyte_string): Use `Charset_ID'
1638         instead of `unsigned char'.
1639
1640 1999-08-31  MORIOKA Tomohiko  <tomo@etl.go.jp>
1641
1642         * character.h (PRE_LEADING_BYTE_PRIVATE_1): Deleted.
1643         (PRE_LEADING_BYTE_PRIVATE_2): Deleted.
1644
1645         * mule-charset.c (leading_code_private_11): Don't define in
1646         UTF-2000.
1647
1648         * mule-ccl.c (ccl_driver): Don't define `CCL_ReadMultibyteChar2'
1649         in UTF-2000 because it is not ported yet and not to use
1650         `PRE_LEADING_BYTE_PRIVATE_1' and `PRE_LEADING_BYTE_PRIVATE_2'.
1651
1652 1999-08-30  MORIOKA Tomohiko  <tomo@etl.go.jp>
1653
1654         * character.h (LEADING_BYTE_COMPOSITE): Deleted.
1655
1656 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
1657
1658         * regex.c (re_compile_fastmap): Don't use `LEADING_BYTE_PREFIX_P'
1659         in UTF-2000.
1660
1661         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use int instead
1662         of unsigned char to store leading-byte.
1663
1664         * chartab.c (get_non_ascii_char_table_value): Don't use
1665         `BREAKUP_CHAR_1_UNSAFE' in UTF-2000.
1666
1667         * file-coding.c (encode_coding_big5): Delete bogus implementation
1668         in UTF2000.
1669
1670         * character.h (LEADING_BYTE_*): Delete definition for
1671         non-UTF-2000.
1672         (LEADING_BYTE_PRIVATE_P): Deleted unconditionally.
1673         (LEADING_BYTE_PREFIX_P): Deleted.
1674         (PRIVATE_LEADING_BYTE_PREFIX): Deleted.
1675         (BUFBYTE_FIRST_BYTE_P): Delete definition for non-UTF-2000.
1676         (BUFBYTE_LEADING_BYTE_P): Deleted.
1677         (CHARSET_PRIVATE_P): Deleted unconditionally.
1678         (rep_bytes_by_first_byte): Deleted unconditionally.
1679         (REP_BYTES_BY_FIRST_BYTE): Delete definition for non-UTF-2000.
1680         (FIELD1_TO_PRIVATE_LEADING_BYTE): Likewise.
1681         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
1682         (FIELD2_TO_PRIVATE_LEADING_BYTE): Likewise.
1683         (CHAR_FIELD2): Deleted.
1684         (CHAR_FIELD3): Deleted.
1685         (MAKE_CHAR): Delete definition for non-UTF-2000.
1686         (BREAKUP_CHAR_1_UNSAFE): Deleted.
1687         (breakup_char_1): New implementation.
1688         (CHAR_CHARSET): Use `BREAKUP_CHAR'.
1689         (CHAR_LEADING_BYTE): Use `CHAR_CHARSET'.
1690
1691 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
1692
1693         * character.h (REP_BYTES_BY_FIRST_BYTE): Change order of
1694         condition.
1695
1696 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
1697
1698         * character.h (LEADING_BYTE_PRIVATE_P): Don't define in UTF2000.
1699         (CHARSET_PRIVATE_P): Likewise.
1700         (XCHARSET_PRIVATE_P): Likewise.
1701         (MAKE_CHAR): Don't use XCHARSET_PRIVATE_P in UTF2000.
1702
1703         * file-coding.c (encode_coding_ucs4): Delete bogus implement in
1704         UTF2000.
1705         (decode_coding_iso2022): Don't use XCHARSET_PRIVATE_P in UTF2000.
1706
1707 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
1708
1709         * character.h (LEADING_BYTE_*): Changed in UTF2000.
1710         (NUM_LEADING_BYTES): Changed from 128 to 256.
1711         (FIELD1_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
1712         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Change value to 0x80 in
1713         UTF2000.
1714         (FIELD2_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
1715
1716         * mule-charset.c (Vcharset_chinese_cns11643_3): New variable in
1717         UTF2000.
1718         (Vcharset_chinese_cns11643_4): New variable in UTF2000.
1719         (Vcharset_chinese_cns11643_5): New variable in UTF2000.
1720         (Vcharset_chinese_cns11643_6): New variable in UTF2000.
1721         (Vcharset_chinese_cns11643_7): New variable in UTF2000.
1722         (Qchinese_cns11643_3): New variable in UTF2000.
1723         (Qchinese_cns11643_4): New variable in UTF2000.
1724         (Qchinese_cns11643_5): New variable in UTF2000.
1725         (Qchinese_cns11643_6): New variable in UTF2000.
1726         (Qchinese_cns11643_7): New variable in UTF2000.
1727         (syms_of_mule_charset): Define `chinese-cns11643-3',
1728         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
1729         and `chinese-cns11643-7' in UTF2000.
1730         (vars_of_mule_charset): Initialize
1731         next_allocated_2_byte_leading_byte by LEADING_BYTE_CHINESE_BIG5_2
1732         + 1 in UTF2000.
1733         (complex_vars_of_mule_charset): Setup charset
1734         `chinese-cns11643-3', `chinese-cns11643-4', `chinese-cns11643-5',
1735         `chinese-cns11643-6' and `chinese-cns11643-7' in UTF2000.
1736
1737 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
1738
1739         * mule-charset.c: Move setting for `leading-code-private-11' from
1740         `syms_of_mule_charset' to `vars_of_mule_charset'.
1741
1742 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
1743
1744         * mule-charset.h (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE'
1745         and `NUM_LEADING_BYTES' in assert.
1746
1747 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
1748
1749         * character.h (charset_by_leading_byte): Use `NUM_LEADING_BYTES'
1750         instead of 128.
1751         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' and
1752         `NUM_LEADING_BYTES' instead of 128.
1753
1754 1999-08-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
1755
1756         * mule-charset.h (charset_by_leading_byte): Use
1757         `NUM_LEADING_BYTES' instead of 128.
1758         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' instead of 128.
1759
1760         * mule-charset.c (charset_by_leading_byte): Use
1761         `NUM_LEADING_BYTES' instead of 128.
1762         (make_charset): Use `MIN_LEADING_BYTE' instead of 128.
1763
1764         * faces.h (FACE_CACHEL_FONT): Use `MIN_LEADING_BYTE' instead of
1765         128.
1766
1767 1999-08-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
1768
1769         * mule-charset.c (syms_of_mule_charset): Update to
1770         0.4 (Shin-Imamiya).
1771
1772 1999-07-13 Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
1773
1774         * file-coding.c (encode_coding_sjis): New implementation for
1775         UTF2000.  (decode_coding_sjis): Ditto.
1776
1777 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
1778
1779         * mule-charset.c, character.h (Bytecount rep_bytes_by_first_byte):
1780         Don't define in UTF2000.
1781
1782         * character.h: Include mule-charset.h if CHAR_IS_UCS4 is not
1783         defined.
1784
1785         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
1786         mule-ccl.c, lstream.h, buffer.h: Include character.h in every
1787         MULE.
1788
1789 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
1790
1791         * config.h.in (CHAR_IS_UCS4): New macro.
1792
1793         * mule-charset.c (rep_bytes_by_first_byte): Modify for
1794         conventional MULE representation.
1795         (syms_of_mule_charset): Update to 0.3 (Imamiya).
1796
1797         * mule-charset.h: Reverted to original.
1798
1799         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
1800         mule-ccl.c, lstream.h, buffer.h: Use "character.h" instead of
1801         "mule-charset.h" if CHAR_IS_UCS4 is defined.
1802
1803         * character.h: New file.
1804
1805         * file-coding.c (Fmake_coding_system): Set 1 to
1806         `codesys->fixed.size' if TYPE is `no-conversion' and UTF2000 is
1807         defined.
1808         (encode_coding_no_conversion): New implementation for UTF2000.
1809
1810         * file-coding.h (struct Lisp_Coding_System): Add new member
1811         `fixed.size'.
1812
1813 1999-06-16  MORIOKA Tomohiko  <tomo@etl.go.jp>
1814
1815         * file-coding.c (decode_coding_iso2022): Code-point arguments of
1816         `MAKE_CHAR' must be smaller than 0x80 in UTF2000.
1817         (encode_coding_iso2022): New implementation for UTF2000.
1818
1819 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
1820
1821         * mule-canna.c (c2mu): New implementation for UTF2000.
1822         (m2c): Likewise.
1823
1824 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
1825
1826         * file-coding.c (encode_coding_no_conversion): Modify for UTF2000.
1827
1828 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
1829
1830         * file-coding.c (reset_encoding_stream): Set 0 to
1831         `str->iso2022.current_char_boundary' in UTF2000.
1832         (encode_utf8): Don't define in UTF2000.
1833         (encode_coding_utf8): New implementation for UTF-8 representation
1834         of UTF2000.
1835         (complex_vars_of_file_coding): Define coding-system `utf-8'.
1836
1837 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
1838
1839         * mule.c (vars_of_mule): Provide `utf-2000' in UTF2000.
1840
1841         * mule-charset.h (BUFBYTE_FIRST_BYTE_P): Modify for UTF-8 in
1842         UTF2000.
1843         (REP_BYTES_BY_FIRST_BYTE): Likewise.
1844
1845         * buffer.h (non_ascii_valid_char_p): Don't define in UTF2000.
1846
1847         * mule-charset.c (non_ascii_set_charptr_emchar): Don't define
1848         local variables `lb', `c1', `c2' and `charset' in UTF2000; encode
1849         as UTF-8 in UTF2000.
1850         (non_ascii_charptr_emchar): Decode as UTF-8 in UTF2000.
1851         (non_ascii_valid_char_p): Don't define in UTF2000.
1852         (non_ascii_charptr_copy_char): Add case 5 and 6 in UTF2000.
1853         (Lstream_get_emchar_1): Likewise.
1854         (utf-2000-version): New variable in UTF2000.
1855
1856         * lread.c (read_escape): Add new reader `u'.
1857
1858         * insdel.c (three_to_one_table): Don't define in UTF2000.
1859         (bufpos_to_bytind_func): Use `buf->text->mule_size' instead of
1860         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
1861         UTF2000.
1862         (bytind_to_bufpos_func): Likewise.
1863         (buffer_mule_signal_inserted_region): Likewise.
1864         (vars_of_insdel): Don't initialize `three_to_one_table'.
1865         (init_buffer_text): Use `buf->text->mule_size' instead of
1866         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
1867         UTF2000.
1868
1869         * file-coding.c (DECODE_ADD_BINARY_CHAR): New implementation for
1870         UTF-8 representation in UTF2000.
1871         (DECODE_ADD_UCS_CHAR): New macro in UTF2000.
1872         (decode_ucs4): Use `DECODE_ADD_UCS_CHAR' in UTF2000.
1873         (decode_coding_iso2022): Don't define local variable `lb' in
1874         UTF2000; don't use LEADING_BYTE in UTF2000; use
1875         `DECODE_ADD_UCS_CHAR' in UTF2000.
1876         (convert_to_external_format): Decode as UTF-8 in UTF2000.
1877
1878         * config.h.in (UTF2000): New macro.
1879
1880         * buffer.h (struct buffer_text): Add new member `mule_size' and
1881         don't add `mule_shifter' and `mule_three_p' in UTF2000.
1882         (valid_char_p): Return always 1 in UTF2000.
1883         (MAX_EMCHAR_LEN): 6 in UTF2000.
1884         (three_to_one_table): Don't define in UTF2000.
1885         (real_bufpos_to_bytind): Modify for UTF-8 representation in
1886         UTF2000.
1887         (real_bytind_to_bufpos): Likewise.
1888
1889         * alloc.c (Fmake_string): Add case 5 and 6 for UTF2000.
1890
1891 1999-06-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
1892
1893         * mule-charset.c (rep_bytes_by_first_byte): Modified for character
1894         representation change.
1895         (Vutf_2000_version): New variable.
1896         (leading_code_private_11): New variable.
1897         (syms_of_mule_charset): Add new variables `utf-2000-version' and
1898         `leading-code-private-11'.
1899
1900         * mule-charset.h (LEADING_BYTE_CHINESE_CCITT_GB): New macro.
1901         (LEADING_BYTE_CHINESE_BIG5_1): Changed to 0x96 temporally.
1902         (LEADING_BYTE_CHINESE_CNS11643_1): Changed to 0x97.
1903         (LEADING_BYTE_CHINESE_CNS11643_2): Changed to 0x98.
1904         (LEADING_BYTE_CHINESE_CNS11643_3): New macro.
1905         (LEADING_BYTE_CHINESE_CNS11643_4): Likewise.
1906         (LEADING_BYTE_CHINESE_CNS11643_5): Likewise.
1907         (LEADING_BYTE_CHINESE_CNS11643_6): Likewise.
1908         (LEADING_BYTE_CHINESE_CNS11643_7): Likewise [but not used].
1909         (LEADING_BYTE_CHINESE_BIG5_2): Changed to 0x9D temporally.
1910         (LEADING_BYTE_KOREAN_KPS9566): New macro [but not used].
1911         (CHAR_FIELD1_MASK): Changed to (0x7F << 14).
1912         (MIN_CHAR_GREEK): New macro.
1913         (MAX_CHAR_GREEK): New macro.
1914         (MIN_CHAR_CYRILLIC): New macro.
1915         (MAX_CHAR_CYRILLIC): New macro.
1916         (MIN_CHAR_HEBREW): New macro.
1917         (MAX_CHAR_HEBREW): New macro.
1918         (MIN_CHAR_THAI): New macro.
1919         (MAX_CHAR_THAI): New macro.
1920         (MIN_CHAR_HALFWIDTH_KATAKANA): New macro.
1921         (MAX_CHAR_HALFWIDTH_KATAKANA): New macro.
1922         (CHAR_FIELD2_INTERNAL): New macro [renamed from `CHAR_FIELD2'.
1923         (CHAR_FIELD3_INTERNAL): New macro [renamed from `CHAR_FIELD3'.
1924         (FIELD1_TO_PRIVATE_LEADING_BYTE): Changed to 0xc0.
1925         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Changed to 0x50.
1926         (CHAR_FIELD2): New inline function.
1927         (CHAR_FIELD3): New inline function.
1928         (MULE_CHAR_PRIVATE_OFFSET): New macro.
1929         (MIN_CHAR_OFFICIAL_TYPE9N): Shifted to `MULE_CHAR_PRIVATE_OFFSET'.
1930         (MIN_CHAR_PRIVATE_TYPE9N): Likewise.
1931         (MIN_CHAR_PRIVATE_TYPE9NX9N): Likewise.
1932         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Likewise.
1933         (MIN_CHAR_COMPOSITION): Likewise.
1934         (CHAR_LEADING_BYTE): Modified for character representation change.
1935         (MAKE_CHAR): Likewise.
1936
1937         * lisp.h (Vcharset_latin_iso8859_1): New variable.
1938         (Vcharset_greek_iso8859_7): Likewise.
1939         (Vcharset_cyrillic_iso8859_5): Likewise.
1940         (Vcharset_hebrew_iso8859_8): Likewise.
1941         (Vcharset_thai_tis620): Likewise.
1942         (Vcharset_katakana_jisx0201): Likewise.
1943
1944 2000-05-01  Martin Buchholz <martin@xemacs.org>
1945
1946         * XEmacs 21.2.33 is released.
1947
1948 2000-05-01  Yoshiki Hayashi  <yoshiki@xemacs.org>
1949
1950         * make-src-depend: Allow dots in header file name.
1951
1952 2000-05-01  Yoshiki Hayashi  <yoshiki@xmacs.org>
1953
1954         * mule-charset.h (struct charset_lookup): Add
1955         next_allocated_1_byte_leading_byte and
1956         next_allocated_2_byte_leading_byte.
1957         * mule-charset.c: Move above two variables so that those values
1958         will be dumped.
1959
1960 2000-04-26  Yoshiki Hayashi  <yoshiki@xemacs.org>
1961
1962         * insdel.c (find_charsets_in_bufbyte_string): Add Vcharset_ascii
1963         when string length is zero.
1964         (find_charsets_in_emchar_string): Ditto.
1965
1966 2000-04-29  Bjrn Torkelsson  <torkel@hpc2n.umu.se>
1967
1968         * lisp.h: extern Qdialog and Qmenubar.
1969
1970         * gui-x.c: added events.h.
1971                 also fixed typo which made the file uncompilable.
1972
1973         * general.c: Added Qmenubar and Qdialog
1974
1975 2000-04-28  Ben Wing  <ben@xemacs.org>
1976
1977         * frame-msw.c (mswindows_init_frame_1):
1978         * frame-msw.c (mswindows_mark_frame):
1979         * event-msw.c (mswindows_enqueue_dispatch_event):
1980         * console-msw.h:
1981         * console-msw.h (struct mswindows_frame):
1982         * console-msw.h (FRAME_MSWINDOWS_WIDGET_HASH_TABLE1):
1983         there are now three hash tables for callbacks.
1984         mswindows_enqueue_dispatch_event is no longer static.
1985         
1986         * dialog-x.c (maybe_run_dbox_text_callback):
1987         * dialog-x.c (dbox_descriptor_to_widget_value):
1988         switch to new cons3 form for callbacks.
1989         
1990         * glyphs-msw.c (mswindows_register_gui_item):
1991         * glyphs-msw.c (mswindows_widget_instantiate):
1992         * glyphs-msw.c (add_tree_item):
1993         * glyphs-msw.c (add_tab_item):
1994         new image instance parameter, so it can be passed to callback-ex.
1995         respect :callback-ex as well as :callback.
1996         
1997         * glyphs-widget.c (VALID_GUI_KEYWORDS):
1998         add :callback-ex.
1999         
2000         * glyphs.c (print_image_instance):
2001         prettify, e.g. now prints widget type.
2002         
2003         * gui-x.h:
2004         certain funs have new image instance parameter.
2005         
2006         * gui.c:
2007         * gui.c (get_gui_callback):
2008         * gui.c (gui_item_add_keyval_pair):
2009         * gui.c (gui_item_init):
2010         * gui.c (gui_add_item_keywords_to_plist):
2011         * gui.c (mark_gui_item):
2012         * gui.c (gui_item_hash):
2013         * gui.c (gui_item_equal):
2014         * gui.c (copy_gui_item):
2015         * gui.c (syms_of_gui):
2016         recognize callback-ex in a number of places.
2017         also, fix the annoying "can't get out of yes-no dialog" bug.
2018         
2019         * gui.h:
2020         * gui.h (struct Lisp_Gui_Item):
2021         recognize callback-ex in a number of places.
2022
2023         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
2024         new parameter in button_item_to_widget_value.
2025         
2026         * glyphs-x.c (x_update_widget):
2027         * glyphs-x.c (x_button_instantiate):
2028         * glyphs-x.c (x_button_update):
2029         * glyphs-x.c (x_progress_gauge_instantiate):
2030         * glyphs-x.c (x_edit_field_instantiate):
2031         * glyphs-x.c (x_combo_box_instantiate):
2032         * glyphs-x.c (x_tab_control_instantiate):
2033         * glyphs-x.c (x_label_instantiate):
2034         new image instance parameter in various places.
2035         
2036         * event-Xt.c:
2037         * event-Xt.c (enqueue_Xt_dispatch_event):
2038         this fun gets exported.
2039         
2040         * gui-msw.c:
2041         * gui-msw.c (mswindows_handle_gui_wm_command):
2042         handle both :callback and :callback-ex, and generate our own
2043         event because it's one of the callback-ex arguments.
2044         
2045         * gui-x.c:
2046         * gui-x.c (popup_selection_callback):
2047         handle both :callback and :callback-ex, and generate our own
2048         event because it's one of the callback-ex arguments.
2049         * gui-x.c (button_item_to_widget_value):
2050         * gui-x.c (gui_items_to_widget_values_1):
2051         * gui-x.c (gui_item_children_to_widget_values):
2052         * gui-x.c (gui_items_to_widget_values):
2053         new image instance parameter in various places.
2054
2055         * fns.c (Freplace_list):
2056         fix small typo in doc string.
2057         
2058         * lisp.h:
2059         declare enqueue_Xt_dispatch_event.
2060
2061 2000-04-28  Ben Wing  <ben@xemacs.org>
2062
2063         * buffer.c:
2064         * buffer.c (Frecord_buffer):
2065         * buffer.c (syms_of_buffer):
2066         delete record-buffer-hook.
2067         
2068         * fns.c:
2069         * fns.c (Freplace_list):
2070         * fns.c (syms_of_fns):
2071         new primitive replace-list.
2072         
2073         * frameslots.h:
2074         slot for old buffer-alist.
2075         
2076         * lisp.h:
2077         exfun replace-list.
2078         
2079         * redisplay.c:
2080         * redisplay.c (redisplay_frame):
2081         * redisplay.c (syms_of_redisplay):
2082         * redisplay.c (vars_of_redisplay):
2083         new hook buffer-list-changed-hook.
2084         call it.
2085
2086 2000-04-27  Ben Wing  <ben@xemacs.org>
2087
2088         * extents.h: extern in_modeline_generation.
2089
2090         * redisplay.c (generate_formatted_string_db): set
2091         in_modeline_generation.
2092
2093         * extents.c (extent_changed_for_redisplay): don't mark redisplay
2094         flags if in modeline generation.  otherwise frame-modified-tick
2095         is ticked far too often.
2096         Declare in_modeline_generation.
2097
2098 2000-04-26  Ben Wing  <ben@xemacs.org>
2099
2100         * emacs.c (vars_of_emacs): document quick-build "error-checking"
2101         option.
2102         (vars_of_emacs): add quick-build as an error-checking option.
2103         A bit kludgy, but there doesn't seem much point in creating
2104         a real var for this.
2105
2106         * config.h.in: put in an entry for QUICK_BUILD; remove NO_DOC_FILE.
2107
2108 2000-04-14  IKEYAMA Tomonori  <tomonori@suiyokai.org>
2109
2110         * redisplay.h (struct display_line): Add a new variable,
2111         line_continuation.
2112
2113         * redisplay.c (create_text_block): Set dl->line_continuation if
2114         the line continues.
2115         (create_string_text_block): Ditto.
2116         (regenerate_window_incrementally): Use line_continuation instead
2117         of searching continuation glyph.
2118         (add_margin_runes): Call add_glyph_rune.
2119         (add_glyph_rune): Handle margin glyph.
2120
2121 2000-04-20  Martin Buchholz  <martin@xemacs.org>
2122
2123         * filelock.c (fill_in_lock_file_name): 
2124         ANSIfy.
2125         Check for IS_ANY_SEP instead of '/'.
2126         (lock_file_1): 
2127         Avoid generating gratuitous garbage.  Call user_login_name() directly.
2128         Never check errno without first seeing that system call failed.
2129         (unlock_file): Add GCPRO.
2130         (Flock_buffer): Fix docstring.
2131         (Ffile_locked_p): Fix docstring.  Add GCPRO.
2132
2133 2000-04-19  Martin Buchholz  <martin@xemacs.org>
2134
2135         * sysdep.c (get_pty_max_bytes): 
2136         Fix hangs on DEC OSF 4.0 when (process-send-string) sends
2137         strings longer than 252 bytes.
2138
2139         * md5.c: Unconditionally include ANSI header <limits.h>
2140
2141         * glyphs-x.c (convert_EImage_to_XImage): 
2142         * lisp-union.h (union Lisp_Object): 
2143         Use consistently the syntax #ifdef FEATURE, not #if FEATURE.
2144
2145 2000-04-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
2146
2147         * filelock.c (current_lock_owner): Remove unused variable o, p.
2148
2149 2000-04-17  Norbert Koch  <n.koch@eai-delta.de>
2150
2151         * callint.c: Remove multiply defined symbol Qlet
2152         (syms_of_callint): ditto.
2153
2154 2000-04-14  Andy Piper  <andy@xemacs.org>
2155
2156         * general.c (syms_of_general): add last-command, this-command, let
2157         and funcall.
2158
2159         * lisp.h: declare various symbols.
2160
2161         * glyphs.h: declare Qwidget_callback_current_channel;
2162
2163         * glyphs-widget.c (syms_of_glyphs_widget): add
2164         Qgui_callback_current_channel.
2165         (vars_of_glyphs_widget): add Vgui_callback_current_channel.
2166
2167         * gui-msw.c (mswindows_handle_gui_wm_command): bind
2168         widget-callback-current-channel when invoking the interactive
2169         arg. Also bind last-command and next-command when invoking the
2170         widget updates.
2171         * gui-x.c (popup_selection_callback): ditto.
2172
2173         * gui.c (get_gui_callback): massage args so that we are always
2174         calling eval. This allows us to add our own variable bindings
2175         outside.
2176
2177         * glyphs-x.c (x_button_instantiate): use
2178         gui_items_to_widget_values since this is GC safe.
2179         (x_progress_gauge_instantiate): ditto.
2180         (x_edit_field_instantiate): ditto.
2181         (x_label_instantiate): ditto.
2182
2183         * event-Xt.c (emacs_Xt_handle_magic_event): remove old printfs.
2184         (emacs_Xt_event_widget_focus_out): new function
2185         (emacs_Xt_event_widget_focus_in): new function. Set the keyboard
2186         focus.
2187         (emacs_Xt_event_add_widget_actions): new function. add focus
2188         functions as actions.
2189         (init_event_Xt_late): use it.
2190
2191 2000-04-14  Hrvoje Niksic  <hniksic@iskon.hr>
2192
2193         * event-stream.c (Fdispatch_event): Doc fix.
2194
2195 2000-03-29  SL Baur  <steve@musashimaru.m17n.org>
2196
2197         * postgresql.c: Remove all references to PQsetenv*.
2198
2199         * postgresql.h: Remove references to PGsetenvHandler object.
2200         * lrecord.h (lrecord_type): Ditto.
2201
2202 2000-04-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
2203
2204         * glyphs-msw.h (struct mswindows_image_instance_data): Added
2205         real_heigh and real_width members, and accessor macros for these.
2206
2207         * glyphs-msw.c (init_image_instance_geometry): New function.
2208         (init_image_instance_from_dibitmap): Use it.
2209         (mswindows_resource_instantiate): Use it.
2210         (init_image_instance_from_xbm_inline): Use it.
2211         (mswindows_initialize_image_instance_mask): Use real bitmap
2212         geometry.
2213         (mswindows_create_resized_bitmap): Ditto.
2214         (mswindows_create_resized_mask): Ditto.
2215         
2216         * redisplay-msw.c (mswindows_output_dibitmap): Stretch real mask
2217         and bitmap to their surface size.
2218
2219 2000-04-11  Jan Vroonhof  <jan@xemacs.org>
2220
2221         * process-unix.c (unix_send_process): Guard against process MIA
2222         after Faccept_process_output.
2223
2224 2000-04-11  Ben Wing  <ben@xemacs.org>
2225
2226         * eval.c (unbind_to_hairy): fix brokenness introduced by
2227         nanosecond speed improvements.
2228
2229 2000-04-07  Raymond Toy  <toy@rtp.ericsson.se>
2230
2231         * sunplay.c (init_device): To play sounds correctly, the device
2232         apparently needs to be initialized at least once by XEmacs.  Make
2233         it so.
2234
2235 2000-04-10  IKEYAMA Tomonori  <tomonori@suiyokai.org>
2236
2237         * redisplay.c (add_margin_runes): Add text image glyph
2238           handling.
2239
2240 2000-04-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
2241
2242         * lisp.h (DOESNT_RETURN): Don't declare as volatile when
2243         gcc is newer than 2.5.
2244
2245 2000-04-06  Colin Rafferty  <colin@xemacs.org>
2246
2247         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF): Created.
2248         
2249         * fns.c (size_bit_vector):
2250         * alloc.c (size_vector):
2251         (make_vector_internal):
2252         (make_bit_vector_internal):
2253         (sweep_bit_vectors_1):
2254         Replace calls to offsetof with FLEXIBLE_ARRAY_STRUCT_SIZEOF macro.
2255
2256 2000-04-06  Andy Piper  <andy@xemacs.org>
2257
2258         * gmalloc.c (malloc): undo previous change.
2259         (malloc): ditto.
2260         (free): ditto.
2261         (realloc): ditto.
2262
2263 2000-04-06  IKEYAMA Tomonori <tomonori@suiyokai.org>
2264
2265         * line-number.c (buffer_line_number): Revert to former version.
2266
2267 2000-04-06  Andy Piper  <andy@xemacs.org>
2268
2269         * gmalloc.c (malloc): add error checking.
2270         (malloc): ditto.
2271         (free): ditto.
2272         (realloc): ditto.
2273
2274         * dialog-x.c (dbox_descriptor_to_widget_value): add extra
2275         button_item_to_widget_value arg.
2276
2277         * glyphs-x.c (x_button_instantiate): add extra
2278         button_item_to_widget_value arg.
2279         (x_progress_gauge_instantiate): ditto.
2280         (x_edit_field_instantiate): ditto.
2281         (x_label_instantiate): ditto.
2282
2283         * gui-x.c (gui_items_to_widget_values_1): add extra
2284         button_item_to_widget_value arg.
2285         (button_item_to_widget_value): add extra menu_item_p arg.
2286
2287         * gui-x.h: change signature of button_item_to_widget_value.
2288
2289         * menubar-x.c (menu_item_descriptor_to_widget_value_1): add extra
2290         button_item_to_widget_value arg.
2291
2292 2000-04-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
2293
2294         * buffer.h (struct buffer): auto_save_modified should be long.
2295
2296 2000-04-05  Andy Piper  <andy@xemacs.org>
2297
2298         * glyphs-widget.c (widget_instantiate): pixwidth != pixheight
2299         type.
2300         (button_query_geometry): give a little more room so that athena
2301         buttons fit.
2302
2303 2000-04-05  Andy Piper  <andy@xemacs.org>
2304
2305         * faces.c (complex_vars_of_faces): The widget face should inherit
2306         the font of the gui-element face.
2307
2308 2000-04-04  Andy Piper  <andy@xemacs.org>
2309
2310         * glyphs-x.c (x_button_update): new function. unconditionally
2311         update a button's state when the instance is dirty.
2312         (image_instantiator_format_create_glyphs_x): add x_button_update.
2313         (x_widget_instantiate): remove old resize cruft.
2314
2315 2000-04-02  Andy Piper  <andy@xemacs.org>
2316
2317         * frame.c (change_frame_size_1): The introduction of gutters means
2318         that we need to allow 0 as a potential frame dimension.
2319
2320 2000-04-02  IKEYAMA Tomonori  <tomonori@suiyokai.org>
2321
2322         * redisplay.c (add_glyph_rune): Don't set 0 to bufpos for text
2323         image glyph if allow_cursor.
2324         (add_hscroll_rune): Don't allow cursor to border glyph.
2325         (create_text_block): Ditto.
2326
2327         * redisplay-output.c (redisplay_move_cursor): Do nothing even if
2328         text not in buffer.
2329         (redisplay_output_layout): Call ensure_face_cachel_complete for
2330         text image glyph.
2331
2332
2333 2000-03-16  IKEYAMA Tomonori  <tomonori@suiyokai.org>
2334
2335         * redisplay.c (add_glyph_rune): Adding text image as text runes.
2336
2337         * redisplay-output.c (redisplay_move_cursor): NO_CURSOR if text
2338         not in buffer
2339
2340         * redisplay-tty.c (tty_output_display_block): Delete the routine
2341         for text image glyph
2342         * redisplay-x.c (x_output_display_block): ditto
2343         * redisplay-msw.c (mswindows_output_display_block): ditto
2344
2345 2000-02-02  Mike Alexander  <mta@arbortext.com>
2346
2347         Note: Some of these were committed by accident as part of other
2348         patches.
2349         
2350         * regex.c (regex_compile): Avoid compiler warnings.
2351
2352         * ntproc.c (sys_spawnve): Avoid compiler warnings.
2353
2354         * nt.h: Declare term_ntproc correctly.
2355
2356         * nt.c: Remove incorrect declaration of get_home_directory which
2357         is declared correctly in lisp.h.
2358
2359         * keymap.c (get_keyelt): Avoid compiler warnings.
2360         (raw_lookup_key_mapper): Avoid compiler warnings.
2361
2362         * gutter.c (gutter_was_visible): Add return statement to avoid warning.
2363
2364         * glyphs-eimage.c (png_instantiate): Avoid compiler warnings.
2365
2366         * filemode.c (mode_string): Avoid compiler warnings.
2367
2368         * file-coding.c (Fcoding_system_aliasee): Add return statement to
2369         avoid warning.
2370
2371         * events-mod.h: Undef some things that winuser.h defines differently.
2372
2373         * data.c (Faset): Avoid compiler warnings.
2374
2375         * alloc.c (Fmake_byte_code): Avoid compiler warnings.
2376
2377 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
2378
2379         * sound.c (Fplay_sound_file): Wrap ESD in start/stop_interrupts.
2380         Fall through to simple beep on error.
2381         Replace "extern" by real header file.
2382
2383         * linuxplay.c: Use nativesound.h
2384         (play_sound_data): Return error code. Be less verbose on error.
2385
2386         * sunplay.c: Use nativesound.h
2387         (play_sound_data): Return error code. Be less verbose on error.
2388
2389         * ntplay.c: Use nativesound.h
2390         (play_sound_data): Return fake error code
2391
2392         * sgiplay.c: Use nativesound.h
2393         (play_sound_data): Return error code
2394
2395         * hpplay.c: Use nativesound.h, partially implement
2396         new error code. Break compilation until finished.
2397         (play_sound_data): error code.
2398
2399         * nativesound.h (play_sound_file): 
2400           (play_sound_data): Prototype in new header.
2401
2402 2000-03-31  Andy Piper  <andy@xemacs.org>
2403
2404         * glyphs-widget.c: (button_query_geometry): new function. Adjust
2405         for toggle and radio buttons.
2406         (image_instantiator_buttons): use it.
2407
2408 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
2409
2410         * scrollbar-x.c (x_update_vertical_scrollbar_callback): 
2411         (x_update_horizontal_scrollbar_callback): Return if no mirror was
2412         found. Scrollbar event probably belonged to some old config.
2413
2414 2000-03-31  Andy Piper  <andy@xemacs.org>
2415
2416         * glyphs-widget.c (widget_instantiate): use LAYOUT_VERTICAL rather
2417         than 1.
2418         (initialize_widget_image_instance): default layout to
2419         LAYOUT_HORIZONTAL rather than 0.
2420         (widget_instantiate): reverse the item list at the end rather than
2421         every iteration.
2422         (layout_layout): re-code for the border text at the front of the
2423         item list rather than at the end.
2424         (layout_query_geometry): ditto. Pick up fixed and dynamic sizes
2425         provided by the user.
2426         (widget_query_geometry): comment.
2427
2428 2000-03-30  Andy Piper  <andy@xemacs.org>
2429
2430         * glyphs-widget.c (image_instantiator_layout): allow standard
2431         widget keywords in layouts.
2432
2433         * gutter.c (output_gutter): cope with nil gutter contents.
2434
2435         * frame.c (Fset_frame_properties): add gutter docs.
2436
2437 2000-03-29  Andy Piper  <andy@xemacs.org>
2438
2439         * toolbar-msw.c (TBSTYLE_FLAT): add.
2440         (mswindows_output_toolbar): minor fiddling.
2441
2442 2000-03-29  Andy Piper  <andy@xemacs.org>
2443
2444         * gutter.c (output_gutter): force gutter size recalculation if
2445         what we are trying to display won't fit.
2446         (update_gutter_geometry): new function. A per-gutter version of
2447         update_frame_gutter_geometry.
2448         (update_frame_gutter_geometry): use it.
2449         (redraw_exposed_gutter): add extra debugging output.
2450
2451 2000-03-28  Mike Alexander  <mta@arbortext.com>
2452
2453         * dumper.c: Declare pdump_hFile and pdump_hMap (Windows only)
2454         (pdump_file_unmap): Implement it on Windows
2455         (pdump_file_get): Save alocated handles for pdump_file_unmap
2456
2457 2000-03-28  Andy Piper  <andy@xemacs.org>
2458
2459         * gui.c (get_gui_callback): treat Quit specially.
2460
2461 2000-03-27  Andy Piper  <andy@xemacs.org>
2462
2463         * glyphs.c (image_instantiate): be careful to check in the same
2464         way we assigned.
2465
2466 2000-03-27  Didier Verna  <didier@xemacs.org>
2467
2468         * config.h.in: define the proper SMART_INCLUDE macro.
2469         handle renaming of `foo_h_path' to `foo_h_file'.
2470
2471         * database.c: ditto.
2472
2473         * emacs.c: ditto.
2474
2475         * linuxplay.c: ditto.
2476
2477         * terminfo.c: ditto.
2478
2479         * tooltalk.h: ditto.
2480
2481 2000-03-27  Andy Piper  <andy@xemacs.org>
2482
2483         * glyphs-msw.c (mswindows_update_widget): make sure the widget
2484         gets updated whenever the face might have changed.
2485
2486 2000-03-26  Mike Alexander  <mta@arbortext.com>
2487
2488         * dumper.c (pdump_resource_free): Fix the comment.
2489
2490 2000-03-21  Olivier Galibert  <galibert@pobox.com>
2491
2492         * input-method-xlib.c (XIM_init_frame): Remove painful warning.
2493
2494 2000-03-22  Mike Alexander  <mta@arbortext.com>
2495
2496         * dumper.c: Include Windows headers on Windows
2497         (pdump_resource_free): Add a body to the function
2498         (pdump_load): exe_name -> exe_path and add some comments.
2499
2500 2000-03-25  Mike Alexander  <mta@arbortext.com>
2501
2502         * gui.c (copy_gui_item_tree): Return a value in all cases
2503
2504 2000-03-21  Didier Verna  <didier@xemacs.org>
2505
2506         * config.h.in: move INCLUDE_GLUE_1 and INCLUDE_GLUE_2 here from
2507         lwlib/config.h.in.
2508         (SMART_INCLUDE): new macro.
2509         (POSTGRES_INCLUDE): new macro to include postgresql headers from
2510         the proper location.
2511
2512         * postgresql.c: use it.
2513
2514         * inline.c: ditto.
2515
2516 2000-03-24  Andy Piper  <andy@xemacs.org>
2517
2518         * gutter.c (redraw_exposed_gutters): must be "in display" when we
2519         do this.
2520
2521 2000-03-24  Andy Piper  <andy@xemacs.org>
2522
2523         * redisplay-output.c (compare_runes): use image_instance_changed
2524         to detect changes. Do not depend on glyphs_changed, only depend on
2525         dirtiness.
2526          (redisplay_output_layout): add debug messages.
2527         (compare_runes): ditto.
2528
2529         * glyphs.h: declare new functions.
2530         (struct Lisp_Image_Instance): remove percent and associated
2531         accessors.
2532
2533         * gui.h: declare new copying functions.
2534
2535         * gui.c (copy_gui_item_tree): new function.
2536         (copy_gui_item): new function.
2537         (gui_item_id_hash): revert to standard hash.
2538         (gui_item_hash): ditto.
2539         (gui_item_hash_internal): deleted.
2540         (mark_gui_item): mark value.
2541         (gui_item_add_keyval_pair): add value.
2542         (gui_item_init): ditto.
2543         (gui_add_item_keywords_to_plist): ditto.
2544         (gui_item_equal): ditto.
2545         (syms_of_gui): add Q_value.
2546
2547         * glyphs-x.c (x_progress_gauge_update): use pending items and
2548         value for setting the state.
2549         (x_update_widget): don't set items from pending here.
2550
2551         * glyphs-widget.c (update_widget): update items here.
2552         (progress_gauge_set_property): use items for storing value. Put
2553         new value in pending items.
2554
2555         * glyphs-msw.c (mswindows_progress_gauge_update): use pending
2556         items for new value. Convert percent -> value.
2557         (mswindows_tab_control_update): don't update items here.
2558
2559         * glyphs.c (Fupdate_widget_instances): use image_instance_changed.
2560         (update_subwindow): ditto.
2561         (image_instance_changed): new function. Compare hash values and
2562         past and present widget items.
2563         (image_instantiate): We more careful about where we instantiate
2564         things.
2565         (image_instantiate): add error checking.
2566
2567         * gutter.c (syms_of_gutter): use -hook.
2568
2569 2000-03-20  Yoshiki Hayashi  <yoshiki@xemacs.org>
2570
2571         * console-tty.c (Fset_console_tty_input_coding_system): Use
2572         Qkeyboard.
2573         (Fset_console_tty_output_coding_system): Use Qterminal.
2574         (tty_init_console): Use Qkeyboard and Qterminal.
2575
2576 2000-03-21  Ben Wing  <ben@xemacs.org>
2577
2578         * ntproc.c (create_child): remove bogus HAVE_NTGUI's.
2579         From Mike Alexander <mta@arbortext.com>.
2580
2581 2000-03-21  Ben Wing  <ben@xemacs.org>
2582
2583         * event-msw.c (mswindows_need_event): Horrible kludge to fix
2584         process brokenness.  Proper implementation to come.
2585         * callproc.c:
2586         Rename call-process-internal to old-call-process-internal.
2587         New impl. in process.el.
2588
2589 2000-03-21  Martin Buchholz  <martin@xemacs.org>
2590
2591         * Makefile.in.in: Coalesce HAVE_NATIVE_SOUND code fragments.
2592
2593 2000-03-20  Andy Piper  <andy@xemacs.org>
2594
2595         * glyphs.c (full_list_hash): make hashes of the same elements in
2596         different orders return different values.
2597
2598 2000-03-20  Martin Buchholz <martin@xemacs.org>
2599
2600         * XEmacs 21.2.32 is released.
2601
2602 2000-03-20  Martin Buchholz  <martin@xemacs.org>
2603
2604         * buffer.h (DFC_ALLOCA_USE_CONVERTED_DATA):
2605         (DFC_MALLOC_USE_CONVERTED_DATA):
2606         Add aliasing-safe casts to allow use with char* or unsigned char*
2607         lvalues.
2608
2609         * eldap.c (Fldap_open):
2610         (Fldap_search_basic):
2611         (Fldap_add):
2612         (Fldap_modify):
2613         Make C++-compilable.
2614         Make sure GCPRO'ed variables are initialized.
2615         Use temp variables to avoid repeated calls to Flength.
2616
2617 2000-03-16  Martin Buchholz  <martin@xemacs.org>
2618
2619         * sysfile.h:
2620         Make sure PATH_MAX is always defined.
2621         Include limits.h for PATH_MAX.
2622         Deprecate use of MAXPATHLEN.
2623
2624 2000-03-10  Martin Buchholz  <martin@xemacs.org>
2625
2626         * emacs.c: Add reinit_vars_of_fileio.
2627         * symsinit.h: Add reinit_vars_of_fileio.
2628         * fileio.c (reinit_vars_of_fileio): New.
2629         * fileio.c (Fmake_temp_name):
2630         Initialize temp_name random number from microseconds to make
2631         collisions even less likely.  Initialize always at process startup
2632         time.  (make-temp-name) used to return the same file name twice in
2633         a row when PDUMP.
2634         Random stylistic fiddling.
2635         Comment fixes.
2636
2637 2000-03-20  Andy Piper  <andy@xemacs.org>
2638
2639         * glyphs.c (image_instantiate): allow text glyphs to be
2640         instantiated in the minibuffer window.
2641
2642 2000-03-19  Andy Piper  <andy@xemacs.org>
2643
2644         * glyphs.c (image_instance_hash): be careful about which items we
2645         hash on.
2646
2647         * glyphs-widget.c (tab_control_set_property): record into pending
2648         items rather than the actual items.
2649
2650         * glyphs-x.c (x_update_widget): use pending items to update with.
2651
2652         * glyphs-msw.c (mswindows_tab_control_update): use pending items
2653         to update with.
2654
2655         * glyphs.c (mark_image_instance): mark pending items.
2656
2657         * window.c (Fset_window_configuration): record the buffer.
2658         (Fselect_window): totally revert previous change which breaks many
2659         things.
2660
2661 2000-03-18  Andy Piper  <andy@xemacs.org>
2662
2663         * glyphs-msw.c (mswindows_tab_control_update): force selected
2664         item.
2665
2666         * glyphs.c (image_instantiate): don't allow the minibuffer as a
2667         window domain cache, otherwise we get inconsistencies at
2668         startup. There is something fishy at startup which can lead to the
2669         minibuffer being the selected window when the gutter content is
2670         instantiated.
2671
2672         * gui.c (parse_gui_item_tree_list): add probably unneccessary
2673         gcpros.
2674         (parse_gui_item_tree_children): ditto.
2675         (parse_gui_item_tree_item): ditto.
2676
2677         * glyphs.c (Fupdate_widget_instances): return something.
2678
2679 2000-03-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
2680
2681         * window.c (Fselect_window): Undo 2000-03-17 change.
2682
2683 2000-03-17  SL Baur  <steve@musashimaru.m17n.org>
2684
2685         * postgresql.c (Fpq_setenv): Remove this turkey when linking
2686         against v7.0 libraries.  Insta-coredump city until the postgres
2687         folks fix it.
2688
2689 2000-03-17  Andy Piper  <andy@xemacs.org>
2690
2691         * faces.c (complex_vars_of_faces): don't give the widget face an
2692         inherited background pixmap.
2693
2694         * glyphs-msw.c (mswindows_tab_control_instantiate): select the
2695         selected item.
2696
2697         * event-stream.c (Fdispatch_non_command_events): return something.
2698
2699         * gutter.c (output_gutter): use widget face.
2700         (clear_gutter): ditto.
2701
2702         * NEWS: adjust again.
2703
2704         * window.c (Fselect_window): make sure this runs to completion to
2705         avoid oddities with Fset_window_configuration.
2706         (Fcurrent_window_configuration): in general do not save the
2707         minibuffer as the selected window.
2708
2709         * glyphs.h (IMAGE_INSTANCE_HASH_DEPTH): increase.
2710
2711 2000-03-16  Olivier Galibert  <galibert@pobox.com>
2712
2713         * emacs.c (Frunning_temacs_p): Revert previous patch.
2714         (main_1): Reinitialize running_temacs_argc if pdump_load succeeds.
2715
2716 2000-03-16  Andy Piper  <andy@xemacs.org>
2717
2718         * glyphs-x.c (x_tab_control_update): if no widget values then
2719         return.
2720
2721         * NEWS: update for new features.
2722
2723         * event-Xt.c (emacs_Xt_force_event_pending): new function. Post a
2724         synthetic event to the native system.
2725         (reinit_vars_of_event_Xt): set force_event_pending to
2726         emacs_Xt_force_event_pending.
2727
2728         * events.h (struct event_stream): add force_event_pending.
2729
2730         * specifier.c (recompute_one_cached_specifier_in_window): add
2731         comment.
2732
2733         * redisplay.c (redisplay_frame): don't call
2734         update_frame_subwindows. Reset subwindow cachels when
2735         subwindows_changed, removing this was an optimization too far.
2736
2737         * redisplay-output.c (compare_runes): reorganize so that we catch
2738         glyph changes when we want them. Set optimize_output when this
2739         would help layouts.
2740         (redisplay_output_layout): remove frame_really_changed, use
2741         optimize_output instead.
2742
2743         * redisplay-msw.c (mswindows_output_display_block): reset
2744         optimize_output after outputting a glyph.
2745         * redisplay-x.c (x_output_display_block): ditto.
2746         * redisplay-tty.c (tty_output_display_block): ditto.
2747
2748         * gutter.c: (specifier_vars_of_gutter): use new spec changed
2749         functions.
2750         (gutter_specs_changed): do specific gutter positions.
2751         (top_gutter_specs_changed): new function. Only update the
2752         specified gutter specs.
2753         (bottom_gutter_specs_changed): ditto.
2754         (left_gutter_specs_changed): ditto.
2755         (right_gutter_specs_changed): ditto.
2756
2757         * gui.c (gui_item_hash_internal): new function, does a real hash.
2758         (gui_item_id_hash): use it.
2759         (gui_item_hash): hash the eval'ed gui_item.
2760
2761         * gui-x.c (popup_selection_callback): send an eval event to call
2762         Fupdate_widget_instances.
2763
2764         * gui-msw.c (mswindows_handle_gui_wm_command): send an eval event
2765         to call Fupdate_widget_instances.
2766
2767         * glyphs.h (struct Lisp_Image_Instance): add optimize_output flag.
2768         (IMAGE_INSTANCE_OPTIMIZE_OUTPUT): access it.
2769
2770         * glyphs.c: (update_frame_subwindows): deleted.
2771         (Fupdate_widget_instances): new function for updating the dirty
2772         state of widgets that might have changed.
2773         (syms_of_glyphs): add Qupdate_widget_instances.
2774         (full_list_hash): hash a list completely.
2775         (image_instance_hash): use it for items and properties.
2776
2777         * frame-msw.c (mswindows_size_frame_internal): remove unused
2778         variable.
2779
2780         * faces.h (struct face_cachel): fix comment.
2781
2782         * event-stream.c (Fdispatch_non_command_events): new
2783         function. Process non-command events, forcing an event cycle
2784         beforehand.
2785         (syms_of_event_stream): declare.
2786         (event_stream_force_event_pending): new function. Force an event
2787         on the native event queue so that an event cycle will occur next
2788         time we check.
2789
2790         * event-msw.c:
2791         (struct ntpipe_shove_stream):
2792         (mswindows_enqueue_dispatch_event):
2793         (mswindows_dequeue_dispatch_event):
2794         (mswindows_cancel_dispatch_event):
2795         (mswindows_pump_outstanding_events):
2796         (mswindows_drain_windows_queue):
2797         (mswindows_handle_paint):
2798         (mswindows_wnd_proc):
2799         (mswindows_key_to_emacs_keysym):
2800         (get_process_input_waitable):
2801         (emacs_mswindows_delete_stream_pair): re-indent file.
2802         (mswindows_need_event): do not process further fds if the windows
2803         fd is set, otherwise you get endless XM_BUMPQUEUE cycles. This
2804         fixes the 100% cpu problem.
2805         (reinit_vars_of_event_mswindows): set force_event_pending to 0.
2806
2807 2000-03-15  Olivier Galibert  <galibert@pobox.com>
2808
2809         * alloc.h: New.
2810         * dumper.h: New.
2811         * dumper.c: New.
2812
2813         * emacs.c: Moved dump file searching to dumper.c.
2814         (Frunning_temacs_p): Fixed.
2815
2816         * alloc.c: Moved everything pdump-related to dumper.c.  Removed
2817         last_lrecord_type_index_assigned.
2818
2819 2000-02-20  Olivier Galibert  <galibert@pobox.com>
2820
2821         * symsinit.h: Added reinit parameter to init_console_stream
2822         declaration.
2823
2824         * lisp.h: Added file parameter to pdump_load declaration.
2825
2826         * emacs.c (main_1): Added -nd/--nodump-file and -sd/--show-dump-id
2827         support.  Added dump file searching.
2828
2829         * config.h.in: Added EMACS_PROGNAME.
2830
2831         * console-stream.c (init_console_stream): Fix reinitialisation
2832         when running from temacs.
2833
2834         * alloc.c (pdump): Add id support.
2835         (pdump_load): Add file parameter and signature/id support.
2836
2837         * Makefile.in.in: Add full pdump support.
2838
2839 2000-03-15  SL Baur  <steve@musashimaru.m17n.org>
2840
2841         * postgresql.c: Update documentation to reflect latest code
2842         status.
2843         (print_result): Show tuple counts in printed representation when
2844         appropriate.
2845         (Fpq_put_nbytes): MULE-ize.
2846         (Fpq_get_line_async): Ditto.
2847
2848 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
2849
2850         * postgresql.c (Fpq_lo_import): Fix return value.
2851         Suggested by: Kenji Itoh <keit@tpj.co.jp>.
2852
2853 2000-03-13  Ben Wing  <ben@xemacs.org>
2854
2855         * alloc.c (pdump_load):
2856         Fix compile warning under mswin.
2857
2858 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
2859
2860         * postgresql.c: Mule-ization, bug fixes.
2861         Use PG_CODING to encapsulate coding system name changes.
2862         Backport a version of TO_EXTERNAL format for 21.1/InfoDock.
2863         (pg-coding-system): Create.
2864
2865         (Fpq_conn_defaults): Mule-ize.
2866         (Fpq_connectdb): Mule-ize & bug fix.
2867         (Fpq_connect_start): Mule-ize.
2868         (Fpq_set_client_encoding): Mule-ize.
2869         (Fpq_finish): Document `DEAD' connection status.
2870         (Fpq_clear): Ditto.
2871         (Fpq_pgconn): Mule-ize.
2872         (Fpq_exec): Mule-ize & bug fix.
2873         (Fpq_send_query): Ditto.
2874         (Fpq_get_result): Ditto.
2875         (Fpq_res_status): Mule-ize.
2876         (Fpq_result_error_message): Mule-ize.
2877         (Fpq_ntuples): fix comments.
2878         (Fpq_fname): Mule-ize.
2879         (Fpq_fnumber): Mule-ize.
2880         (Fpq_ftype): fix comments.
2881         (Fpq_get_value): Mule-ize.
2882         (Fpq_cmd_status): Ditto.
2883         (Fpq_cmd_tuples): Ditto.
2884         (Fpq_oid_value): Ditto.
2885         (Fpq_notifies): Ditto.
2886         (Fpq_lo_import): Ditto.
2887         (Fpq_lo_export): Ditto.
2888         (Fpq_get_line): Ditto.
2889         (Fpq_put_line): Mule-ize and bug fix.
2890         (syms_of_postgresql): Fix ifdef'ing, add pg-coding-system.
2891
2892 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
2893
2894         * postgresql.c (vars_of_postgresql): Mule-ize.
2895         (Fpq_conn_defaults): Ditto.
2896
2897 2000-03-12  Ben Wing  <ben@xemacs.org>
2898
2899         * alloc.c (Fmake_byte_code):
2900         * alloc.c (debug_string_purity_print):
2901         * alloc.c (pdump_backtrace):
2902         * alloc.c (pdump_get_indirect_count):
2903         * alloc.c (pdump_register_sub):
2904         * alloc.c (pdump_register_object):
2905         * alloc.c (pdump_register_struct):
2906         * alloc.c (pdump_dump_data):
2907         * alloc.c (pdump_reloc_one):
2908         Minor cleanups.
2909
2910         * console-msw.c:
2911         * console-msw.c (GetConsoleHwnd):
2912         * console-msw.c (msw_hide_console):
2913         * console-msw.c (msw_show_console):
2914         * console-msw.c (msw_ensure_console_buffered):
2915         * console-msw.c (msw_output_console_string):
2916         * console-msw.c (console_type_create_mswindows):
2917
2918         a) Added functions to manipulate the console window for use with
2919         shell support.
2920
2921         b) Added support for writing text to the console, which is now
2922         used under Windows when xemacs is not being run non-interactively,
2923         to write text that would otherwise be destined for stdout because
2924         under these circumstances, text written to stdout tends to
2925         disappear and not be seen.
2926
2927         * console-msw.h:
2928         * event-Xt.c:
2929         * event-Xt.c (x_event_to_emacs_event):
2930         * event-Xt.c (describe_event_window):
2931         * events-mod.h (XEMACS_MOD_CONTROL):
2932         * events.c:
2933         * events.c (Fmake_event):
2934         * events.c (character_to_event):
2935         * events.c (event_to_character):
2936         * events.c (format_event_object):
2937         * events.c (Fevent_modifiers):
2938         * events.h:
2939         * events.h (struct key_data):
2940         * events.h (struct button_data):
2941         * events.h (struct misc_user_data):
2942         * frame-x.c (Fcde_start_drag_internal):
2943         * frame-x.c (Foffix_start_drag_internal):
2944         * gpmevent.c (Freceive_gpm_event):
2945         * keymap.c:
2946         * keymap.c (bucky_sym_to_bucky_bit):
2947         * keymap.c (control_meta_superify):
2948         * keymap.c (make_key_description):
2949         * keymap.c (keymap_lookup_directly):
2950         * keymap.c (create_bucky_submap):
2951         * keymap.c (keymap_store):
2952         * keymap.c (define_key_check_and_coerce_keysym):
2953         * keymap.c (define_key_parser):
2954         * keymap.c (define_key_alternate_name):
2955         * keymap.c (Fdefine_key):
2956         * keymap.c (raw_lookup_key_mapper):
2957         * keymap.c (struct map_keymap_unsorted_closure):
2958         * keymap.c (map_keymap_unsorted_mapper):
2959         * keymap.c (map_keymap_sort_predicate):
2960         * keymap.c (map_keymap_sorted):
2961         * keymap.c (accessible_keymaps_mapper_1):
2962         * keymap.c (where_is_recursive_mapper):
2963         * keymap.c (describe_map_mapper):
2964         * keymap.c (describe_map_sort_predicate):
2965         * keymap.c (describe_map):
2966         * keymap.c (complex_vars_of_keymap):
2967         And a number of other files, the key modifier preprocessor
2968         constants that xemacs uses have names that conflict with constants
2969         defined under MS Windows for other purposes, so they were renamed
2970         to begin with the prefix XEMACS_. The variables that hold such
2971         modifiers were changed to consistently be of type int to fix
2972         various compile warnings.
2973
2974         * console.c (complex_vars_of_console):
2975         * device.c:
2976         * device-msw.c:
2977         * device-msw.c (mswindows_finish_init_device):
2978         * device-msw.c (msw_get_workspace_coords):
2979         * device-msw.c (mswindows_device_system_metrics):
2980         and various other files, added support for a new
2981         device property called offset-workspace which returns the position
2982         of the upper left corner of the workspace area and goes along with
2983         the existing size-workspace property.
2984
2985         * dialog-msw.c:
2986         * dialog-msw.c (push_bufbyte_string_as_unicode):
2987         * dialog-msw.c (mswindows_popup_dialog_box):
2988         Added support for XEmacs-style accelerator specifications in
2989         button text.  Note: I didn't add support for this under X Windows,
2990         and somebody needs to do this.
2991
2992         * dialog.c:
2993         * dialog.c (Fpopup_dialog_box):
2994         Documented the support for accelerators that was just mentioned.
2995
2996         editfns.c (get_home_directory): Changed behavior under Windows
2997         when HOME not defined; former behavior was irretrievably broken.
2998
2999         * emacs.c:
3000         * emacs.c (main_1):
3001         * emacs.c (main):
3002         * minibuf.c (clear_echo_area_internal):
3003         * minibuf.c (echo_area_append):
3004         * print.c:
3005         * print.c (std_handle_out_external):
3006         * print.c (std_handle_out_va):
3007         * print.c (fatal):
3008         * print.c (write_string_to_stdio_stream):
3009         * print.c (output_string):
3010         * print.c (debug_print):
3011         * print.c (debug_backtrace):
3012         * print.c (debug_short_backtrace):
3013         Cleaned up the code that prints text to stdout so that this can be
3014         changed to output into a console window instead under MS Windows,
3015         as described above.
3016
3017         * eval.c:
3018         * eval.c (DEFEND_AGAINST_THROW_RECURSION):
3019         * eval.c (internal_catch):
3020         * eval.c (unwind_to_catch):
3021         * eval.c (throw_or_bomb_out):
3022         * eval.c (condition_case_1):
3023         * eval.c (signal_1):
3024         * eval.c (check_error_state_sanity):
3025         * eval.c (call_with_suspended_errors_1):
3026         * eval.c (call_with_suspended_errors):
3027         * eval.c (reinit_vars_of_eval):
3028         Added code to catch throw loops and check for a pesky bug that may
3029         be gone now.
3030
3031         * event-msw.c:
3032         * event-msw.c (key_needs_default_processing_p):
3033         * event-msw.c (mswindows_wnd_proc):
3034         * event-msw.c (mswindows_modifier_state):
3035         * event-msw.c (emacs_mswindows_quit_p):
3036         * event-msw.c (vars_of_event_mswindows):
3037         a) Added support for using the alt key to select menu items as is
3038         standard under MS Windows.  This is controlled using the variable
3039         menu-accelerator-enabled, just like under X Windows.  There is an
3040         option on the options menu to turn this support on.  I really
3041         think that it should be on by default under Windows, but I'm not
3042         going to make this change yet.
3043
3044         b)  Added support for dynamic display size changes under Windows.
3045
3046         * event-stream.c:
3047         * event-stream.c (maybe_echo_keys):
3048         * event-stream.c (Fnext_event):
3049         * event-stream.c (command_builder_find_leaf):
3050         * event-stream.c (lookup_command_event):
3051         * event-stream.c (execute_command_event):
3052         * event-stream.c (pre_command_hook):
3053         * event-stream.c (post_command_hook):
3054         * event-stream.c (syms_of_event_stream):
3055         * event-stream.c (vars_of_event_stream):
3056         * event-stream.c (complex_vars_of_event_stream):
3057         * events.h (struct command_builder):
3058
3059         a) Tried to clean up a little bit the horribly written x-specific
3060         accelerator code that crept into this file.  I moved this code
3061         into menubar-x.c where it belongs. I also needed to move the
3062         command builder structure into the file events.h because it is
3063         accessed directly by this accelerator code.  What I didn't do, but
3064         which should be done at some point, is to properly abstract this
3065         code using device methods instead of the kludgy way that it
3066         currently hooks into the event code.
3067
3068         b) Added the lisp variables this-command-properties and
3069         last-command- properties, which should be used to synchronize two
3070         adjacent commands in preference to playing games with the variable
3071         this-command, which is typically what happens.
3072
3073         c) Added some slightly nasty code to hook into the lisp support
3074         for shifted- motion-key selection.  This is actually necessary for
3075         somewhat complicated reasons, which are described in
3076         simple.el. (NB: I think the proper thing would be to have the code
3077         that calls the pre and post command hooks also call out to generic
3078         lisp functions in simple.el, where all built-in stuff could be
3079         added.  I will think about this more.)
3080
3081         * event-unixoid.c (poll_fds_for_input):
3082         * lread.c (readchar):
3083         * redisplay-tty.c (tty_clear_frame):
3084         * redisplay-x.c (x_get_gc):
3085         * signal.c (interrupt_signal):
3086         And a whole bunch of other files: fixed up places that printed
3087         directly to stderr to instead call the function stderr_out so that
3088         the changes I made under Windows work correctly.
3089
3090         * filemode.c (mode_string):
3091         Warning fixes.
3092
3093         * frame-msw.c:
3094         * frame-msw.c (mswindows_size_frame_internal):
3095         Fixed the computation of frame size and position to keep the frame
3096         within the workspace area, rather than within the physical
3097         dimensions of the screen, so that the frame doesn't overlap window
3098         manager decorations, such as the start menu and toolbar, typically
3099         at the bottom of the screen.
3100
3101         * frame.c (vars_of_frame):
3102         Changed the default frame title format under MS Windows to consist
3103         of buffername-XEmacs, which is standard under MS Windows.  I think
3104         it might be a good idea to change this everywhere because I think
3105         it is superior to the current frame title format, but this is the
3106         kind of change that is likely to cause some people to get annoyed,
3107         so I'm not making it.
3108
3109         * glyphs-eimage.c (png_instantiate): Fixed some compile warnings.
3110
3111         * gui-msw.c (mswindows_handle_gui_wm_command):
3112         Fixed compile warnings.
3113
3114         * gui-x.c:
3115         * gui-x.c (strdup_and_add_accel):
3116         * gui-x.c (button_item_to_widget_value):
3117         * gui-x.h:
3118         Added code to automatically put an accelerator onto the beginning
3119         of menu items that don't have one as is now the standard, and is
3120         described more later.  Also fixed things so that the menu item
3121         name can be an evaluated expression, again a new standard.
3122
3123         * gui.c:
3124         * gui.c (gui_item_add_keyval_pair):
3125         * gui.c (make_gui_item_from_keywords_internal):
3126         * gui.c (gui_add_item_keywords_to_plist):
3127         * gui.c (gui_item_accelerator):
3128         * gui.c (gui_name_accelerator):
3129         * gui.c (gui_item_included_p):
3130         * gui.c (gui_item_display_flush_left):
3131         * gui.c (gui_item_display_flush_right):
3132         * gui.c (parse_gui_item_tree_item):
3133         * gui.c (parse_gui_item_tree_children):
3134         * gui.c (parse_gui_item_tree_list):
3135         Mule-ized.  Cleanup.  GCPRO addition.
3136
3137         * line-number.c (buffer_line_number):
3138         * lisp.h:
3139         * lisp.h (EMACS_INT_MAX):
3140         Added the manifest constant EMACS_INT_MIN corresponding to the
3141         existing constant EMACS_INT_MAX.  This is partially to fix compile
3142         warnings under Windows, and partly for cleanliness.
3143
3144         * menubar-msw.c:
3145         * menubar-msw.c (REPLACE_ME_WITH_GLOBAL_VARIABLE_WHICH_CONTROLS_RIGHT_FLUSH):
3146         * menubar-msw.c (msw_translate_menu_or_dialog_item):
3147         * menubar-msw.c (displayable_menu_item):
3148         * menubar-msw.c (populate_menu_add_item):
3149         * menubar-msw.c (populate_or_checksum_helper):
3150         * menubar-msw.c (populate_menu):
3151         * menubar-msw.c (update_frame_menubar_maybe):
3152         * menubar-msw.c (prune_menubar):
3153         * menubar-msw.c (msw_char_is_accelerator):
3154         * menubar-msw.c (unsafe_handle_wm_initmenu_1):
3155         * menubar-msw.c (mswindows_handle_wm_command):
3156         * menubar-msw.c (mswindows_handle_wm_initmenupopup):
3157         * menubar-msw.c (mswindows_handle_wm_initmenu):
3158         * menubar-msw.c (mswindows_update_frame_menubars):
3159         * menubar-msw.c (mswindows_free_frame_menubars):
3160         * menubar-msw.c (mswindows_popup_menu):
3161         Fixed a bug in handling accelerators where an extra character
3162         would be displayed in the menu item.  Also generalized the
3163         function displayable_menu_item because it is now used by the
3164         dialog box code as well.  And finally, added code in the functions
3165         that create the menubar to extract a list of accelerators for the
3166         top level menubar, which is used in the event code to determine
3167         whether a particular alt-key combination should be used to invoke
3168         a menu item, or should be passed through to access the standard
3169         XEmacs keymap binding for this key combination.
3170
3171         Much needed GCPROing.
3172
3173         * menubar-x.c:
3174         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
3175         * menubar-x.c (menu_item_descriptor_to_widget_value):
3176         * menubar-x.c (restore_in_menu_callback):
3177         * menubar-x.c (x_popup_menu):
3178         * menubar-x.c (menu_move_up):
3179         * menubar-x.c (menu_move_down):
3180         * menubar-x.c (menu_move_left):
3181         * menubar-x.c (menu_move_right):
3182         * menubar-x.c (menu_select_item):
3183         * menubar-x.c (command_builder_operate_menu_accelerator):
3184         * menubar-x.c (menu_accelerator_junk_on_error):
3185         * menubar-x.c (command_builder_find_menu_accelerator):
3186         * menubar-x.c (Faccelerate_menu):
3187         * menubar.h:
3188         Moved a whole bunch of code here that was previously in
3189         event-stream.c as described above.  There is also code connected
3190         to the new standard of adding an accelerator to the beginning of
3191         menu items that don't have one as described above and below.
3192
3193         * menubar.c:
3194         * menubar.c (menu_parse_submenu_keywords):
3195         * menubar.c (Fmenu_find_real_submenu):
3196         * menubar.c (Fnormalize_menu_item_name):
3197         * menubar.c (syms_of_menubar):
3198         * menubar.c (vars_of_menubar):
3199         * menubar.c (complex_vars_of_menubar):
3200
3201         a) Cleaned up a bunch of documentation and improved it.
3202
3203         b) XEmacs now automatically adds an accelerator onto the beginning
3204         of any menu items that don't have one.  I did this because there
3205         will inevitably be some menu items on the main menubar that don't
3206         have accelerators on them because the package that adds that
3207         particular menu item hasn't yet been fixed up to have accelerators
3208         in them and it looked rather strange to have some items with and
3209         some items without accelerators, especially since even in items
3210         without accelerators, you can, at least under windows, still
3211         access the item through an accelerator corresponding to the first
3212         character in the item's name.  If people don't like this behavior,
3213         I can add a variable to turn it off optionally, but I'm not sure
3214         this is a good idea because we really do need to have accelerators
3215         on all of the menu items, and if a package doesn't like the
3216         accelerators being put on the first character, then it should put
3217         the accelerators where they belong.
3218
3219         c) I made a behavior change, which is that the descriptor that
3220         specifies the text of the menu item, which formerly was just a
3221         string, can now also be an evaluated expression.  This makes this
3222         descriptor parallel with all of the others, which could also be
3223         evaluated expressions.  This also obviates the need for the
3224         keyword :label, which was previously listed in the documentation
3225         as unimplemented, and which was for the same purpose.
3226
3227         d) GCPROing.
3228
3229         * ntproc.c:
3230         * ntproc.c (new_child):
3231         * ntproc.c (sys_spawnve):
3232         * ntproc.c (find_child_console):
3233         * ntproc.c (sys_kill):
3234         Fixed compile warnings.  By the way, this file should really go
3235         away entirely, and this will happen as soon as Kirill makes his
3236         final round of process cleanups, which affect the function
3237         call-process.
3238
3239         * process-nt.c:
3240         * process-nt.c (struct nt_process_data):
3241         * process-nt.c (find_process_from_pid):
3242         * process-nt.c (send_signal_the_nt_way):
3243         * process-nt.c (enable_child_signals):
3244         * process-nt.c (find_child_console):
3245         * process-nt.c (send_signal_the_95_way):
3246         * process-nt.c (nt_finalize_process_data):
3247         * process-nt.c (ensure_console_window_exists):
3248         * process-nt.c (nt_create_process):
3249         * process-nt.c (nt_kill_child_process):
3250         * process-nt.c (nt_kill_process_by_pid):
3251         * process-nt.c (nt_open_network_stream):
3252         * process-nt.c (vars_of_process_nt):
3253         Copied over code from Emacs 20.5 to correctly send signals to sub-
3254         processes under Windows 95.  Also added code to automatically
3255         create and hide console window when a sub-process is created under
3256         Windows 95, which obviates the need for the separate runemacs.exe
3257         executable, and finally implemented some variables that were
3258         implemented in Emacs 20.5, but previously not in XEmacs.  These
3259         include mswindows- start-process-share-console and
3260         mswindows-start-process-inherit-error-mode. (Both of these only
3261         apply to Windows 95.)
3262
3263         * regex.c (regex_compile): Fixed a compile warning.
3264
3265         * select-msw.c:
3266         * select-msw.c (mswindows_own_selection):
3267         * select-msw.c (mswindows_get_foreign_selection):
3268         * select-msw.c (mswindows_disown_selection):
3269         * select-msw.c (console_type_create_select_mswindows):
3270         * select-msw.c (syms_of_select_mswindows):
3271         Cleaned up the file and implemented the device method
3272         selection_exists_p, which had accidentally been left out.  Also
3273         removed four lisp functions that were remnants from before the
3274         time when the selection code was properly device abstracted.
3275         These functions are no longer needed because there are generic
3276         equivalents, and because they were added recently and don't exist
3277         in FSF Emacs, I don't think there's any problem with just deleting
3278         them.
3279
3280         * sysdep.c:
3281         * sysdep.c (sys_subshell):
3282         Fixed a compile warning, although in this case there's probably
3283         something wrong with this code, and it ought to be looked into
3284         more thoroughly by somebody who understands it.
3285
3286         * window.c:
3287         * window.c (Fwindow_text_area_height):
3288         * window.c (Fwindow_width):
3289         * window.c (Fwindow_full_width):
3290         * window.c (Fwindow_pixel_width):
3291         * window.c (debug_print_window):
3292         * window.c (syms_of_window):
3293         Added functions window-text-area-height and window-full-width,
3294         which are functions for returning various width and height
3295         characteristics of a window. (One of these functions is necessary
3296         for making the file dialog box work correctly, and the other one
3297         was added for completeness.)  Also added a table to the
3298         documentation for window-height which describes the entire scheme
3299         for accessing width and height characteristics of a window.
3300
3301 2000-03-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
3302
3303         * nt.c (fstat): Added a comment for another problem with
3304         non-encapsulated [f]stat(), reported by Adrian Aichner
3305         <aichner@ecf.teradyne.com>.
3306
3307 2000-03-11  Andy Piper  <andy@xemacs.org>
3308
3309         * window.c (make_dummy_parent): initialize subwindow instance
3310         cache.
3311         (Fset_window_configuration): zero extent_modiff.
3312
3313 2000-03-10  Andy Piper  <andy@xemacs.org>
3314
3315         * redisplay.c (Fredraw_frame): reset the changed_set flags so that
3316         more changes can be triggered.
3317         (Fredisplay_frame): ditto.
3318         (Fredraw_device): ditto.
3319         (Fredisplay_device): ditto.
3320         (redisplay_frame): make non-static.
3321         (redisplay_frame): call update_frame_gutter_geometry outside of
3322         display proper.
3323
3324         * gutter.h: declare update_frame_gutter_geometry.
3325
3326         * redisplay.h: declare redisplay_frame.
3327
3328         * gutter.c (update_frame_gutter_geometry): move geometry changes
3329         in update_frame_gutters here. Geometry changes can only occur
3330         outside of redisplay.
3331         (update_frame_gutters): remove geometry change code.
3332         (Fredisplay_gutter_area): make sure that we are in display when we
3333         update and that we have flushed any size changes.
3334
3335 2000-03-11  Andy Piper  <andy@xemacs.org>
3336
3337         * alloc.c (pdump_dump_data): remove i & count shadows.
3338
3339 2000-02-27  Mike Alexander  <mta@arbortext.com>
3340
3341         * sysdep.h: Declare pdump_read_file
3342
3343         * sysdep.c (pdump_read_file): New function
3344
3345         * alloc.c (pdump_load): Call pdump_read_file to get the portable
3346         dump data
3347
3348 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
3349
3350         * lrecord.h: add `lrecord_type_pgsetenv'.
3351
3352 2000-03-08  SL Baur  <steve@musashimaru.m17n.org>
3353
3354         * symsinit.h: declare (vars|syms)_of* functions.
3355         * lrecord.h: add `lrecord_type_pgconn' and 'lrecord_type_pgresult'.
3356
3357 2000-03-06  SL Baur  <steve@musashimaru.m17n.org>
3358
3359         * config.h.in: Add symbols HAVE_POSTGRESQL and HAVE_POSTGRESQLV7
3360
3361         * inline.c: Include postgresql.h lrecord stuffs to placate buggy
3362         GCCs.
3363
3364         * emacs.c (main_1): Call postgres initialization code.
3365
3366         * postgresql.h: New file.  PostgreSQL RDBMS support.
3367         * postgresql.c: New file.
3368
3369 2000-03-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
3370
3371         * redisplay-output.c (redisplay_output_display_block): Disable
3372         redundant code.
3373
3374 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
3375
3376         * mule-canna.c (Fcanna_henkan_region): Translate doc-string.
3377         (Fcanna_henkan_next): Ditto.
3378         (Fcanna_bunsetu_henkou): Ditto.
3379         (Fcanna_henkan_kakutei): Ditto.
3380         (Fcanna_henkan_end): Ditto.
3381         (Fcanna_henkan_quit): Ditto.
3382         (Fcanna_henkan_next): Set retun value correctly.
3383         (c2mu): Use unsigned char instead of signed char.
3384
3385 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
3386
3387         * emacs.c (main_1): Always call syms_of_gui.
3388         * inline.c: include gui.h
3389
3390 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
3391
3392         * redisplay.c (Vvisible_bell): Renamed from visible_bell and
3393         converted to Lisp_Object.
3394         (Qtop_bottom): New variable.
3395         (syms_of_redisplay): Initialize it.
3396         * redisplay.h (Vvisible_bell): Ditto.
3397         * sound.c (ding): Ditto and check if Vvisible_bell is nil.
3398         * redisplay-x.c (x_flash): When Vvisible_bell is top-bottom,
3399         only flash top and bottom.
3400
3401 2000-03-08  Andy Piper  <andy@xemacs.org>
3402
3403         * buffer.c (Frename_buffer): record new buffer name the right way.
3404
3405 2000-03-08  Andy Piper  <andy@xemacs.org>
3406
3407         * glyphs.c (update_subwindow): increase hash depth so that widget
3408         items get picked up properly.
3409
3410         * redisplay-output.c (compare_runes): increase hash depth so that
3411         widget items get picked up properly.
3412
3413 2000-03-08  Andy Piper  <andy@xemacs.org>
3414
3415         * gutter.c (output_gutter): add some debug.
3416
3417         * glyphs.h (struct Lisp_Image_Instance): add display_hash.
3418         (IMAGE_INSTANCE_DISPLAY_HASH): new macro.
3419         (XIMAGE_INSTANCE_DISPLAY_HASH): ditto.
3420
3421         * redisplay-output.c (compare_runes): use display_hash to
3422         determine if glyphs really are not the same.
3423
3424         * glyphs.c (update_subwindow): check display_hash to see if
3425         anything really needs to be updated. If not then do
3426         nothing. Record the display_hash after updating.
3427         (image_instance_equal): compare the image_instance face also.
3428
3429 2000-03-07  Yoshiki Hayashi  <yoshiki@xemacs.org>
3430
3431         * redisplay.h: Fix comment style.
3432
3433 2000-03-08  Jonathan Harris  <jhar@tardis.ed.ac.uk>
3434
3435         * consle-msw.h (struct mswindows_frame):
3436         Added new member paint_pending to indicate whether a WM_PAINT
3437         magic event has been queued for this frame.
3438
3439         * event-msw.c (mswindows_drain_windows_queue):
3440         Don't queue a WM_PAINT magic event if one is already queued.
3441         (emacs_mswindows_handle_magic_event): clear paint_pending flag.
3442
3443         * frame-msw.c (mswindows_init_frame_1): initialise paint_pending flag.
3444
3445 2000-03-07  Didier Verna  <didier@xemacs.org>
3446
3447         * dired.c: #include `regex.h' after `sysfile.h'.
3448
3449 2000-03-06  Martin Buchholz  <martin@xemacs.org>
3450
3451         * sound.c (init_nas_sound): Fix compiler warning.
3452
3453         * alloc.c (ALIASING_VOIDPP_DEREFERENCE): New.
3454         (FREE_STRUCT_P):
3455         (MARK_STRUCT_AS_FREE):
3456         (MARK_STRUCT_AS_NOT_FREE):
3457         Make `gcc -fstrict-aliasing' work properly.
3458
3459 2000-03-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>
3460
3461         * device-msw.c (mswindows_finish_init_device): Call CoInitialize().
3462         (mswindows_delete_device): Call CoUnnitialize().
3463
3464         * event-msw.c (mswindows_wnd_proc): WM_DROPFILES: Decode Shortcuts.
3465
3466 2000-02-25    <CraigL@DyCon.com>
3467
3468         * process-nt.c: MinGW now has <shellapi.h>, but still needs
3469         <errno.h>.
3470
3471         * sysdep.c: This extern declaration for environ prevents MinGW
3472         from finding the variable in CRTDLL.DLL.
3473
3474         * s\mingw32.h (PBS_SMOOTH): Removed, now defined in cygwin's
3475         windows headers.
3476         (SHGFI_EXETYPE): ..
3477         (WM_MOUSEWHEEL): ..
3478         (_WIN32_IE): Added, needed to get the TCS_BOTTOM and TCS_VERTICAL
3479         definitions.
3480         (MMRESULT): Removed, now defined in cygwin's windows headers.
3481         (TIMECAPS): ..
3482         (uid_t,gid_t,pid_t,ssize_t): ..
3483         (_timeb): Removed, MinGW defines both _timeb and timeb.
3484         (HAVE_H_ERRNO): Added.
3485         (HAVE_TZNAME): Added, configure is not detecting this.
3486
3487 2000-02-03  IKEYAMA Tomonori <tomonori@suiyokai.org>
3488
3489         * chartab.h (XCHAR_TABLE_VALUE_UNSAFE): New macro.
3490         * syntax.c (syntax_match): Use it.
3491
3492         * cmds.c: Import auto-fill-chars from FSF Emacs.
3493         (Vauto_fill_chars): New variables.
3494         (internal_self_insert): Check Vauto_fill_chars.
3495         (vars_of_cmds):
3496         Declare auto-fill-chars as a Lisp variable and initialize it.
3497
3498 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
3499
3500         * fileio.c (Fmake_symbolic_link):
3501         (Ffile_symlink_p):
3502         Run handlers even if local machine doesn't have symlinks.
3503
3504 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
3505
3506         * event-msw.c (mswindows_drain_windows_queue):
3507         Don't generate paint magic events for non-XEmacs frames.
3508
3509 2000-03-05  Andy Piper  <andy@xemacs.org>
3510
3511         * redisplay.c (redisplay_frame): generate_displayable_area and
3512         friends assumes that we are not in GC, we therefore have to make
3513         sure that this doesn't happen.
3514
3515         * gutter.c (calculate_gutter_size): generate_displayable_area
3516         assumes that we are not in GC, we therefore have to make sure that
3517         this doesn't happen.
3518
3519 2000-03-05  Martin Buchholz  <martin@xemacs.org>
3520
3521         * opaque.c (DEFINE_LRECORD_IMPLEMENTATION): opaque_ptr ==> opaque-ptr
3522
3523 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
3524
3525         * redisplay.c (regenerate_window): Make sure we set a sane value
3526         for end_pos even if we jump out of the loop.
3527         (regenerate_window): Answer Ben's question :-).
3528         (start_end_of_last_line): Add may_error argument.
3529         (start_of_last_line):
3530         (end_of_last_line): Pass may_error = 0.
3531         (end_of_last_line_may_error): New function.
3532         (pixel_to_glyph_translation): Use it, so we don't crash in
3533         event_to_glyph.
3534
3535 2000-03-04  Andy Piper  <andy@xemacs.org>
3536
3537         * window.h (struct window): add gutter_extent_modiff.
3538
3539         * window.c (allocate_window): zero out gutter_extent_modiff.
3540
3541         * redisplay.h: declare sync_display_line_structs.
3542
3543         * redisplay.c (add_glyph_rune): add a better comment.
3544
3545         * redisplay-output.c (sync_display_line_structs): made non-static.
3546         (compare_runes): remove unneccesary glyph cachel access.
3547
3548         * gutter.h: declare gutter_extent_signal_changed_region_maybe.
3549
3550         * gutter.c (output_gutter): don't output the gutter if extent
3551         changes only involve extents in buffers. use 4 sets of display
3552         lines.
3553         (gutter_extent_signal_changed_region_maybe): new function. Mark
3554         extents in gutters as changed.
3555         (update_frame_gutters): use 4 sets of display lines.
3556         (reset_gutter_display_lines): ditto.
3557         (free_frame_gutters): ditto.
3558         (redraw_exposed_gutter): force output of gutters.
3559
3560         * frame.h (struct frame): add 4 sets of gutter display lines.
3561
3562         * extents.c: (extent_changed_for_redisplay): signal changes to
3563         extents in strings in the gutter as well as extents in buffers.
3564
3565 2000-03-02  Andy Piper  <andy@xemacs.org>
3566
3567         * gutter.c (specifier_vars_of_gutter): cosmetic changes.
3568
3569         * frame.c (Fmake_frame): make sure the gutters get initialized
3570         after the frame is visible.
3571         (set_frame_selected_window): re-arrange compilation macros a
3572         little.
3573         (change_frame_size_1): mark gutters changed.
3574
3575         * device.c (Fset_device_class): mark gutters changed.
3576
3577 2000-03-01  Andy Piper  <andy@xemacs.org>
3578
3579         * window.c (window_top_frame_gutter_height): deleted.
3580         (window_bottom_frame_gutter_height): ditto.
3581         (window_left_frame_gutter_height): ditto.
3582         (window_right_frame_gutter_height): ditto.
3583         (window_top_gutter_height): don't use them.
3584         (window_bottom_gutter_height): ditto.
3585         (window_left_gutter_width): ditto.
3586         (window_right_gutter_width): ditto.
3587         (Fsplit_window): ditto.
3588         (Fwindow_pixel_edges): don't use border dimensions here.
3589
3590         * scrollbar.c (update_scrollbar_instance): don't take gutters into account.
3591         (update_scrollbar_instance): ditto.
3592
3593         * redisplay.c (generate_modeline): don't take gutters into account.
3594         (generate_modeline): ditto.
3595         (redisplay_frame): small gutter display optimisation.
3596
3597         * redisplay-x.c (x_output_vertical_divider): don't take gutters into account.
3598
3599         * redisplay-msw.c (mswindows_output_vertical_divider): don't take
3600         gutters into account.
3601
3602         * gutter.h (WINDOW_REAL_*_GUTTER_BOUNDS): remove bogus checks
3603         for window position and type.
3604
3605         * gutter.c (get_gutter_coords): fix for frame gutters.
3606         (update_frame_gutters): update frame geometry if the gutters have
3607         changed.
3608         (init_frame_gutters): record current gutter geometries.
3609
3610         * glyphs-msw.c (mswindows_subwindow_instantiate): remove unused
3611         var.
3612         (mswindows_widget_instantiate): ditto.
3613
3614         * frame.h (struct frame): add current_gutter_bounds.
3615
3616         * frame.c (change_frame_size_1): position window and minibuffer
3617         appropriately taking into account the frame gutters.
3618
3619         * frame-x.c: (x_initialize_frame_size): take into account the
3620         frame gutters.
3621
3622 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
3623
3624         * emacs.c (data-directory):  Xref `locate-data-file' in docstring.
3625
3626 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
3627
3628         * alloc.c (dumpopaquevec): Increase dimension for --with-canna.
3629
3630 1999-12-30  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
3631
3632         * file-coding.c (reset_decoding_stream): Clear previous
3633         detection state when autodetect.
3634
3635 2000-02-29  Didier Verna  <didier@xemacs.org>
3636
3637         * extents.c (set_extent_glyph_1): don't require extents to be
3638         attached.
3639
3640 2000-02-27  Andy Piper  <andy@xemacs.org>
3641
3642         * gutter.c (Fset_default_gutter_position): don't default left and
3643         right gutter visibility to t.
3644         (Fset_default_gutter_position): run
3645         default-gutter-position-changed-hook.
3646         (syms_of_gutter): add default-gutter-position-changed-hook.
3647
3648 2000-02-26  Andy Piper  <andy@xemacs.org>
3649
3650         * specifier.c (Fmake_specifier): add gutter references.
3651
3652         * gutter.h (RAW_WINDOW_GUTTER): new macro.
3653
3654         * lisp.h: declare Fvalid_plist_p.
3655
3656         * gutter.c (gutter_geometry_changed_in_window): mark the modeline
3657         as changed.
3658         (default_gutter_visible_p_changed_in_window): invalidate gutter as
3659         well as its visibility so that it gets reconstructed.
3660         (construct_window_gutter_spec): new function. Construct a string
3661         to be displayed in the gutter from a plist of strings. Take care
3662         to only use elements that are declared as visible.
3663         (calculate_gutter_size): use RAW_WINDOW_GUTTER instead of
3664         WINDOW_GUTTER.
3665         (gutter_validate): allow plists of strings in the specifier.
3666         (gutter_specs_changed): construct the real_gutter from the gutter
3667         specs using construct_window_gutter_spec.
3668         (gutter_visible_validate): gutter-visible is a new specifier type.
3669         (Fgutter_visible_specifier_p): new function for the new specifier.
3670         (syms_of_gutter): declare gutter-visible and
3671         Fgutter_visible_specifier_p.
3672         (specifier_type_create_gutter): intitalize new gutter-visible
3673         specifier.
3674         (reinit_specifier_type_create_gutter): ditto.
3675         (specifier_vars_of_gutter): use new specifier type for gutter
3676         visibility.
3677         (init_frame_gutters): construct real_gutter correctly.
3678         (Fgutter_specifier_p): beef up documentation.
3679         (Fgutter_size_specifier_p): ditto.
3680
3681         * winslots.h: add real_gutter slots.
3682
3683 2000-02-25  Andy Piper  <andy@xemacs.org>
3684
3685         * device-msw.c: Be kind to older cygwin versions. From Raymond
3686         Toy <toy@rtp.ericsson.se>.
3687
3688         * gui-msw.c (Fmswindows_shell_execute): Remove things unknown to
3689         earlier cygwins. From Raymond Toy <toy@rtp.ericsson.se>.
3690
3691 2000-02-25  Martin Buchholz  <martin@xemacs.org>
3692
3693         * elhash.c (MARK_OBJ): Practice macro hygiene.
3694
3695 2000-02-24  Martin Buchholz  <martin@xemacs.org>
3696
3697         * miscplay.c: s/__inline__/inline/g;
3698         * glyphs-msw.c (set_mono_pixel): INLINE ==> static inline
3699         (get_device_compdc): INLINE ==> static inline
3700         * *.[ch]: Change INLINE to INLINE_HEADER globally.
3701         find -name '*.h' | \
3702         xargs global-replace \
3703         's/(^|(?<=[^A-Za-z0-9_]))INLINE((?=[^A-Za-z0-9_])|$)/INLINE_HEADER/g'
3704
3705 2000-02-25  Andy Piper  <andy@xemacs.org>
3706
3707         * window.c (window_top_frame_gutter_height): new function.
3708         (window_top_window_gutter_height): ditto.
3709         (window_top_gutter_height): use them.
3710         (window_bottom_frame_gutter_height): new function.
3711         (window_bottom_window_gutter_height): ditto.
3712         (window_bottom_gutter_height): use them.
3713         (window_left_window_gutter_width): new function.
3714         (window_left_frame_gutter_width): ditto.
3715         (window_left_gutter_width): use them.
3716         (window_right_window_gutter_width): new function.
3717         (window_right_frame_gutter_width): ditto.
3718         (window_right_gutter_width): use them.
3719         (window_pixel_height): new function. calulate window pixel height
3720         with frame gutter involvement.
3721         (Fsplit_window): calculate new sizes taking frame gutters into
3722         account.
3723         (window_char_height_to_pixel_height): don't include frame gutters.
3724         (window_char_height): use window_pixel_height.
3725         (window_pixheight): rename from window_pixel_height.
3726         (change_window_height): use it.
3727         (window_pixel_height_to_char_height): don't include frame gutters.
3728         (window_char_width_to_pixel_width): ditto.
3729
3730 2000-02-25  Andy Piper  <andy@xemacs.org>
3731
3732         * glyphs.h (IMAGE_INSTANCE_FACE): glyph might be nil, don't crash
3733         if it is.
3734
3735 2000-02-24  Martin Buchholz  <martin@xemacs.org>
3736
3737         * alloc.c (staticpro):
3738         (staticpro_nodump):
3739         (dumpstruct):
3740         (dumpopaque):
3741         (pdump_wire):
3742         (pdump_wire_list):
3743         (compact_string_chars):
3744         (pdump_dump_wired):
3745         Convert:  if (foo) abort();  ==>  assert (! foo);
3746
3747         * eldap.c (Fldap_search_basic):
3748         (Fldap_add):
3749         (Fldap_modify):
3750         (Fldap_delete):
3751         Fix compiler warnings, and possible crashes if (random) return
3752         value were to be used.
3753
3754 2000-02-21  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
3755
3756         * device-msw.c: Workaround ResetDC failure.
3757
3758         * frame-msw.c (msprinter_init_frame_3): Added an assertion before
3759         applying a devmode.
3760
3761         * redisplay-msw.c (get_frame_dc): Added start_page_p.
3762         (mswindows_text_width): Do not start printer page.
3763
3764         * console-msw.h (CHECK_MSGDI_DEVICE): Added this and friends.
3765
3766         * glyphs-msw.c: Added image methods to msprinter console and
3767         msprinter-specific image instantiation.
3768
3769 2000-02-20  Mike Alexander  <mta@arbortext.com>
3770
3771         * select-msw.c (Fmswindows_set_clipboard): GC protect more things
3772         to avoid crashes when selection-sets-clipboard is on
3773         (mswindows_own_selection): ditto
3774
3775 2000-02-19  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
3776
3777         * glyphs-msw.c:
3778         * redisplay-msw.c (get_frame_dc):
3779         (get_frame_compdc):
3780         * console-msw.h:
3781         * device-msw.c (mswindows_init_device):
3782         (mswindows_delete_device):
3783         (msprinter_init_device):
3784         (msprinter_delete_device):
3785         * frame-msw.c (mswindows_init_frame_1):
3786         (mswindows_delete_frame):
3787         (msprinter_init_frame_3):
3788         (msprinter_delete_frame): Move compatible DC to device object from
3789         frame object, for both mswindows and msprinter. Only one at a time
3790         is needed, it is a real waste to have one per frame!
3791
3792 2000-02-23  Andy Piper  <andy@xemacs.org>
3793
3794         * glyphs.c: add dynamic width and height elements.
3795         (image_instance_equal): ditto.
3796
3797         * glyphs-widget.c (widget_query_geometry): calculate width and
3798         height dynamically if required.
3799         (initialize_widget_image_instance): initialize dynamic dimensions.
3800         (widget_instantiate): pick-up dynamic dimensions.
3801
3802         * glyphs.h (struct Lisp_Image_Instance): add width and height for
3803         dynamic determination. Add appropriate macros.
3804
3805         * gutter.h (WINDOW_GUTTER_BORDER_WIDTH): make non-integer
3806         dimensions safe.
3807         (WINDOW_GUTTER_SIZE): ditto.
3808         (WINDOW_GUTTER_SIZE_INTERNAL): ditto.
3809
3810         * redisplay-msw.c (get_frame_compdc): gcc can't cope with this
3811         inline.
3812         (get_frame_dc): ditto.
3813
3814         * redisplay.h (GLOBAL_RESET_CHANGED_FLAGS): don't reset faces
3815         here.
3816
3817 2000-02-23  Martin Buchholz <martin@xemacs.org>
3818
3819         * XEmacs 21.2.31 is released.
3820
3821 2000-02-22  Ben Wing <ben@xemacs.org>
3822
3823         * ntheap.c (allocate_heap): Make sure `ptr' is initialized.
3824
3825 2000-02-22  Andy Piper  <andy@xemacs.org>
3826
3827         * glyphs-x.c (x_widget_instantiate): don't explicitly resize here.
3828
3829 2000-02-21  Mike Sperber <mike@xemacs.org>
3830
3831         * .dbxrc:
3832         * .gdbinit:
3833         * Makefile.in.in: Remove obsolete EMACSBOOTSTRAP... environment
3834         variables.
3835
3836 2000-02-21  Mike Sperber <mike@xemacs.org>
3837
3838         * s/aix4.h: Declare getaddrinfo broken for AIX 4, which it is.
3839
3840 2000-02-21  Martin Buchholz <martin@xemacs.org>
3841
3842         * XEmacs 21.2.30 is released.
3843
3844 2000-02-20  Martin Buchholz  <martin@xemacs.org>
3845
3846         Performance hacking.
3847         * *.c (syms_of_*):
3848         Add INIT_LRECORD_IMPLEMENTATION macros, paired with
3849         DEFINE_LRECORD_IMPLEMENTATION macros in the same file.
3850         * emacs.c (main_1):
3851         * lisp.h (DEFUN):
3852         * console.c (DEFVAR_CONSOLE_LOCAL_1):
3853         * buffer.c (DEFVAR_BUFFER_LOCAL_1):
3854         * symeval.h (DEFVAR_SYMVAL_FWD):
3855         * symbols.c (guts_of_unbound_marker):
3856         Make all c_readonly objects also lisp_readonly and marked for life.
3857         * lrecord.h (struct lrecord_implementation):
3858         Document flags better.
3859         * lrecord.h (DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION_WITH_PROPS):
3860         * lrecord.h (DECLARE_LRECORD):
3861         * lrecord.h (XSETRECORD):
3862         * lrecord.h (RECORDP):
3863         * lrecord.h (RECORD_TYPEP):
3864         * lrecord.h (RECORD_MARKER): New.
3865         * lrecord.h (error_check_*):
3866         * lrecord.h (CONCHECK_NONRECORD):
3867         * lrecord.h (MAKE_LRECORD_IMPLEMENTATION):
3868         * lrecord.h (INIT_LRECORD_IMPLEMENTATION): New.
3869         * lrecord.h (set_lheader_implementation):
3870         * lrecord.h (enum lrecord_type): New.
3871         * symeval.h (SYMBOL_VALUE_MAGIC_P):
3872         * alloc.c (disksave_object_finalization_1):
3873         * alloc.c (mark_object):
3874         * alloc.c (lrecord_type_index):
3875         * alloc.c (tick_lcrecord_stats):
3876         * alloc.c (Fgarbage_collect):
3877         * alloc.c (init_alloc_once_early):
3878         * alloc.c (pdump_load):
3879         * alloc.c (GC_CHECK_LHEADER_INVARIANTS): New.
3880         * alloc.c (lrecord_type_index): Delete.
3881         Make lisp object type indexes be constant.
3882           Makes (byte-compile) 5% faster.
3883         Put all marker functions into their own array.
3884           Makes (garbage-collect) 5% faster.
3885         Optimize SYMBOL_VALUE_MAGIC_P.
3886           Makes (byte-compile) 2-3% faster.
3887         * config.h.in (gc_checking_assert): New.
3888         * alloc.c: Use gc_checking_assert().
3889         * .dbxrc: Make compatible with new object type implementation.
3890         * .gdbinit: Make compatible with new object type implementation.
3891         * alloc.c: Delete all symbols defined only for debugging, such as
3892         Lisp_Type_Vector and lrecord_charset.
3893
3894 2000-02-21  Andy Piper  <andy@xemacs.org>
3895
3896         * gui-msw.c (Fmswindows_shell_execute): fix file location
3897         problems.
3898
3899         * buffer.c (Fkill_buffer): remove buffer from alist buffer
3900         unshowing so that set_window_buffer doesn't undo
3901         kill_buffer_hook's hard work.
3902
3903         * glyphs-widget.c (tab_control_query_geometry): don't count the
3904         first item when calculating geometry.
3905
3906         * glyphs.c (map_subwindow): remove redundant code.
3907         (update_frame_subwindows): be more circumspect about when to
3908         update subwindows.
3909
3910         * glyphs-x.c (x_update_widget): Properly fix sizing bug. Fix bug
3911         when items haven't changed. Update faces if faces have changed as
3912         well as just the widget face.
3913         (x_tab_control_update): Update faces if faces have changed as well
3914         as just the widget face.
3915
3916 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
3917
3918         * device-msw.c: (mswindows_delete_device): Remove redundant DDE
3919         registration.
3920         (build_syscolor_string): Use mswindows_color_to_string to try to
3921         get a named color.
3922         (mswindows_device_system_metrics): Reverse the foreground and
3923         background colors so that they match the documentation.
3924
3925         * objects-msw.c: (mswindows_X_color_map): tweak some values so
3926         they match the default Windows palette.
3927         (mswindows_color_to_string): New function.
3928
3929 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
3930
3931         * s/windowsnt.h: Only use __declspec(noreturn) with MSVC>=6.
3932
3933 2000-02-18  Olivier Galibert  <galibert@pobox.com>
3934
3935         * m/*, s/*: Removed obsolete DATA_SEG_BITS, PURE_SEG_BITS,
3936         WORD_MACHINE, SIGN_EXTEND_CHAR and EXPLICIT_SIGN_EXTEND.
3937
3938         * symbols.c (init_symbols_once_early): Removed obsolete
3939         DATA_SEG_BITS related kludge.
3940         (defvar_magic): Ditto.
3941
3942         * malloc.c: Removed obsolete DATA_SEG_BITS
3943         * ralloc.c: Ditto.
3944         * mem-limits.h: Ditto.
3945
3946         * Makefile.in.in: Removed obsolete HAVE_SHM
3947         * emacs.c: Ditto.
3948
3949 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
3950
3951         *  device-msw.c (mswindows_delete_device): Free DDE string
3952         handles.
3953
3954 2000-02-16  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
3955
3956         * keymap.c (get_keyelt):
3957         * unexnt.c (unexec):
3958         * vm-limit.c (memory_warnings):
3959         * ntheap.c (recreate_heap):
3960         * ntheap.h (UNINIT_PTR):
3961         * select-msw.c (Fmswindows_get_clipboard):
3962         (Fmswindows_set_clipboard):
3963         * objects-msw.h (MSWINDOWS_BAD_HFONT):
3964         * objects-msw.c:
3965         * menubar-msw.c (displayable_menu_item):
3966         * glyphs-msw.c:
3967         * glyphs-msw.h (IMAGE_INSTANCE_MSWINDOWS_MASK):
3968         * sysdep.c (sys_subshell):
3969         * process-nt.c (nt_create_process):
3970         * nt.c (normalize_filename):
3971         (dostounix_filename):
3972         (unixtodos_filename):
3973         * ntproc.c (win32_executable_type):
3974         * ntplay.c (play_sound_data_1):
3975         (play_sound_file):
3976         * editfns.c (get_home_directory):
3977         * event-msw.c (struct winsock_stream):
3978         (mswindows_dde_callback):
3979         * device-msw.c (msprinter_init_device):
3980         (msprinter_get_devmode_copy): Frobbed syntax frivolities.
3981
3982         * toolbar-msw.c (mswindows_free_frame_toolbars): Paramters to
3983         mswindows_clear_toolbar were swapped!
3984
3985         * objects-msw.c:(colormap_t):
3986         (fontmap_t):
3987         * emacs.c (struct standard_args): Fixed const jumble.
3988
3989         * glyphs-widget.c (update_widget): Fixed comparison notation.
3990
3991         * event-msw.c (mswindows_dde_callback): Removed extraneous ';'.
3992
3993         * s\windowsnt.h (DOESNT_RETURN): Defined to support the MSVC
3994         __declspec(noreturn) syntax.
3995
3996 2000-02-19  Martin Buchholz  <martin@xemacs.org>
3997
3998         * eldap.c (Fldap_open):
3999         (Fldap_search_basic):
4000         (Fldap_add):
4001         (Fldap_modify):
4002         Use new coding system conversion macros.
4003
4004 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
4005
4006         * console-tty.c (tty_init_console): Change MULE to FILE_CODING.
4007
4008 1999-11-27  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
4009
4010         * eldap.h (Fldap_search) Renamed from Fldap_search_internal:
4011         (Fldap_add, Fldap_modify, Fldap_delete): New functions
4012
4013         * eldap.c (Qadd, Qreplace): New constant symbols
4014         (Fldap_open): Use the LDAP_OPT_RESTART option to avoid
4015         interruptions by XEmacs signals
4016         Remove unnecessary calls to slow_down_interrupts and
4017         speed_up_interrupts
4018         (Fldap_search_basic): Renamed from Fldap_search_internal
4019         Added new optional parameter VERBOSE that triggers the
4020         display of progress messages
4021         Remove unnecessary calls to slow_down_interrupts and
4022         speed_up_interrupts
4023         LDAP result code analysis rewritten
4024         (Fldap_add, Fldap_modify, Fldap_delete): New functions
4025         (syms_of_eldap): Define the new symbols and functions
4026
4027
4028 2000-02-17  Martin Buchholz  <martin@xemacs.org>
4029
4030         * realpath.c: Determine PATH_MAX maximally portably.
4031
4032         * insdel.c (bytecount_to_charcount): Optimize.
4033         The function used to be optimized for entirely ASCII sequences.
4034         Now it is optimized for successive characters from the same
4035         charset.  This also wins big for _mostly_ ASCII sequences.
4036
4037         * fileio.c (Ffile_truename): convert return from realpath() using
4038         Qfile_name, not Qbinary.  Fixes obvious bug with non-ASCII symlinks.
4039         - Rewrite GCPROing slightly.
4040
4041         * sysdep.c (sys_open): Do filename conversion, like all other
4042         sys_* functions.  Fixes bug:
4043         (let ((file-name-coding-system 'iso-8859-2))
4044            (write-region x y latin2-name))
4045         ==> writes filename using internal encoding.
4046
4047 2000-02-18  Martin Buchholz  <martin@xemacs.org>
4048
4049         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Turn on c_readonly. Always const.
4050         * console.c (DEFVAR_CONSOLE_LOCAL_1): Turn on c_readonly. Always const.
4051         * symeval.h (DEFVAR_SYMVAL_FWD): Turn on c_readonly. Always const.
4052         * eval.c (lrecord_subr): Remove this_one_is_unmarkable.
4053         * symbols.c (lrecord_symbol_value_forward): Remove this_one_is_unmarkable.
4054         * symbols.c (guts_of_unbound_marker): Turn on c_readonly.
4055         * lrecord.h (UNMARKABLE_LRECORD_HEADER_P): Delete.
4056         (CONST_IF_NOT_DEBUG): Delete.
4057         * alloc.c (this_one_is_unmarkable): Delete.
4058         (mark_object): Don't check for this_one_is_unmarkable. Use the
4059         c_readonly flag instead.
4060         * lisp.h (DEFUN): Define a Lisp_Subr as c_readonly.
4061
4062 2000-02-18  Jonathan Harris  <jhar@tardis.ed.ac.uk>
4063
4064         * event-msw.c (mswindows_drain_windows_queue):
4065         (emacs_mswindows_handle_magic_event): Remove attempt to optimise
4066         away redundant repaint events.
4067
4068 2000-02-17  Andy Piper  <andy@xemacs.org>
4069
4070         * redisplay.h: declare mark_redisplay_structs.
4071
4072         * redisplay.c (redisplay_window):
4073         (redisplay_frame): don't check subwindows_state_changed.
4074         (mark_redisplay): mark gutters here.
4075
4076         * glyphs.c: (instantiate_image_instantiator): always layout if we
4077         haven't done so already.
4078         (allocate_image_instance): don't mark as dirty.
4079         (update_subwindow): bind inhibit_quit.
4080
4081         * gutter.c (mark_gutters): new function.
4082
4083         * glyphs-x.c (x_update_widget): Always resize to get round a
4084         widget bug.
4085
4086         * glyphs-msw.c (mswindows_tab_control_update): remove `;' that was
4087         breaking absolutely everything.
4088
4089         * gutter.h: declare mark_gutters.
4090
4091 2000-02-16  Martin Buchholz <martin@xemacs.org>
4092
4093         * XEmacs 21.2.29 is released.
4094
4095 2000-02-15  Olivier Galibert  <galibert@pobox.com>
4096
4097         * fns.c (size_bit_vector): Fix computation of the size.
4098
4099 2000-02-15  Martin Buchholz  <martin@xemacs.org>
4100
4101         * *.[ch]: Change CONST to const globally.
4102         find -name '*.[ch]' | \
4103         xargs global-replace \
4104         's/(^|(?<=[^A-Za-z0-9_]))CONST((?=[^A-Za-z0-9_])|$)/const/g'
4105         - Remove vestigial references to CONST_IS_LOSING
4106
4107 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
4108
4109         * event-msw.c (mswindows_drain_windows_queue): Remove hack to
4110         bailout early on quit. Enqueue WM_PAINT events as XEmacs magic
4111         events instead of dispatching them directly.
4112         (mswindows_handle_paint): New function to do repainting.
4113         (mswindows_wnd_proc):
4114         (emacs_mswindows_handle_magic_event): Call above function.
4115
4116 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
4117
4118         * objects-msw.c (mswindows_create_font_variant): Return the new
4119         font handle.
4120         (initialize_font_instance): Get font metrics from the underlined
4121         variant of the font to cope with the case where the underlined
4122         font has a bigger descent.
4123
4124 2000-02-08   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
4125
4126         * gui.c (gui_item_accelerator): Return the first underlined
4127         character in item name.
4128
4129 2000-02-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
4130
4131         * lisp.h: Added Qprinter.
4132
4133         * general.c (syms_of_general): Initialized it.
4134
4135         * redisplay-msw.c (get_frame_dc): Conditionally start a new page.
4136         (get_frame_dc):
4137         (get_frame_compdc): Made inline.
4138
4139         * console.h (struct console_methods): Added eject_page method.
4140
4141         * frame.h: Added FRAME_DISPLAY_P and friends.
4142         Aligned backslahes in many macros in more readable fashion.
4143         Added page_number to struct frame, and an accessor macro
4144         for it.
4145
4146         * defice.h: Added DEVICE_DISPLAY_P and friends.
4147
4148         * device.c (Fdevice_printer_p): Used these.
4149
4150         * frame.c (allocate_frame_core): Initialize page number.
4151         (Fprint_job_page_number):
4152         (Fprint_job_eject_page): Implemented.
4153
4154         * frame-msw.c (msprinter_eject_page): Added method.
4155         (msprinter_start_page): Added.
4156
4157         * window.c (Fwindow_truncated_p): Fixed docstring.
4158         (Fwindow_last_line_visible_height): Implemented.
4159
4160 2000-02-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
4161
4162         * frame.c (change_frame_size_1): Undo 2000-02-03 change.
4163
4164 1999-12-20  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
4165
4166         * syntax.c (scan_words): Always advance at least one character.
4167
4168 2000-02-13  Andy Piper  <andy@xemacs.org>
4169
4170         * redisplay.c (add_glyph_rune): call get_glyph_cachel_index here
4171         to make sure the glyph is in the cachels.
4172
4173         * glyphs.h (struct Lisp_Image_Instance): make layout_changed a
4174         global image instance flag.
4175         (IMAGE_INSTANCE_NEEDS_LAYOUT): new macro.
4176         (XIMAGE_INSTANCE_NEEDS_LAYOUT): ditto.
4177
4178         * glyphs.c (allocate_image_instance): set dirty bits correctly.
4179         (Fset_image_instance_property): mark layout as changed.
4180         (invalidate_glyph_geometry_maybe): mark layout as changed.
4181         (glyph_width): use new NEEDS_LAYOUT macro.
4182         (glyph_ascent): ditto.
4183         (glyph_descent): ditto.
4184         (glyph_height): ditto.
4185         (image_instance_layout): mark layout as clean after laying out.
4186         (update_subwindow): don't mark layout as clean here.
4187
4188         * glyphs-x.h (IMAGE_INSTANCE_X_WIDGET_ID): undo C++ changes, they
4189         should no longer be needed.
4190
4191         * glyphs-x.c (x_update_widget): sanitize asserts.
4192         (x_finalize_image_instance): sanitize assignment to widgets.
4193
4194         * glyphs-widget.c (widget_instantiate): don't need to clear the
4195         layout flag here.
4196
4197 2000-02-13  Martin Buchholz  <martin@xemacs.org>
4198
4199         * sysdep.c (getcwd): Use standard prototype.
4200         * sysdep.h (getcwd): Use standard prototype.
4201
4202         * fns.c (Fsubseq): Change parameters to more natural ANSI Lisp
4203         (sequence, start, end).
4204         Remove redundant type checking.
4205         (Fmapconcat): Remove useless GCPRO, a wrong-headed attempt (in
4206         view of `caller-protects') to avoid a crash where the real fix was
4207         found elsewhere.
4208
4209 2000-02-12  Martin Buchholz  <martin@xemacs.org>
4210
4211         * glyphs-x.c (x_finalize_image_instance): Compile error fixes.
4212
4213         * s/sol2.h: Remove feature macro initialization.
4214
4215         * alloc.c (alloc_lcrecord): Add more type checking assertions.
4216         (vector_hash): New.  Code from internal_hash.
4217         * lrecord.h:
4218         Fix up allocation subsystem comments.
4219
4220         * config.h.in: Add __EXTENSIONS__ for Solaris.
4221
4222         * systime.h (EMACS_GETTIMEOFDAY): New.
4223         (EMACS_GET_TIME): Use EMACS_GETTIMEOFDAY.
4224         Remove Solaris-specific code.
4225         Use void* for the (ignored) second arg for gettimeofday().
4226
4227         * elhash.c (hash_table_hash): Implement it, finally.
4228         * elhash.c:  Use hashcode_t.
4229
4230         * linuxplay.c (sighandler): Fix prototypes to use SIGTYPE.
4231         * sunplay.c (sighandler): Fix prototype to use SIGTYPE.
4232
4233         * lisp.h (STRETCHY_STRUCT_SIZEOF): Delete.
4234         * fns.c (size_bit_vector):
4235         * alloc.c (size_vector):
4236         (make_vector_internal):
4237         (make_bit_vector_internal):
4238         (sweep_bit_vectors_1):
4239         Replace calls to STRETCHY_STRUCT_SIZEOF with offsetof expression.
4240
4241 2000-02-10  Martin Buchholz  <martin@xemacs.org>
4242
4243         * s/aix4.h: #define MAP_FAILED if sys/mman.h didn't.
4244         Include strings.h to avoid warnings for bzero and strcasecmp.
4245
4246 2000-02-10  Olivier Galibert  <galibert@pobox.com>
4247
4248         * alloc.c: Move STRETCHY_STRUCT_SIZEOF from here...
4249         * lisp.h (STRETCHY_STRUCT_SIZEOF): ...to here
4250
4251         * fns.c (size_bit_vector): New.  Declare bit vectors as a
4252         sequence.
4253
4254 2000-02-10  Olivier Galibert  <galibert@pobox.com>
4255
4256         * symeval.h (struct symbol_value_magic): Remove "next" kludge and
4257         use a value field instead.
4258         (symbol_value_forward_forward): Use value field.
4259         (DEFVAR_SYMVAL_FWD): Use value field.
4260         (DEFVAR_SYMVAL_FWD_INT): Added.  Dumps the int with dumpopaque.
4261         (DEFVAR_INT): Use DEFVAR_SYMVAL_FWD_INT.
4262         (DEFVAR_CONST_INT): Ditto.
4263         (DEFVAR_BOOL): Ditto.
4264         (DEFVAR_CONST_BOOL): Ditto.
4265         (DEFVAR_INT_MAGIC): Ditto.
4266         (DEFVAR_BOOL_MAGIC): Ditto.
4267
4268         * symbols.c (guts_of_unbound_marker): Use value field.
4269         * console.c (DEFVAR_CONSOLE_LOCAL_1): Ditto.
4270         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Ditto.
4271
4272         * lisp.h: Declare dumpopaque and noninteractive1.
4273
4274         * alloc.c (dumpopaque): Added.
4275         (pdump_dump_opaquevec): Added.
4276         (pdump): Call pdump_dump_opaquevec to dump opaque data.
4277         (pdump_load): Reload opaque data.  Sync noninteractive1 with
4278         noninteractive.
4279
4280 2000-02-10  Andy Piper  <andy@xemacs.org>
4281
4282         * glyphs.c (image_instance_layout): if the size changes, mark it
4283         as such.
4284
4285         * redisplay-output.c (redisplay_output_layout): Update the
4286         subwindow here.
4287         (redisplay_output_subwindow): ditto.
4288
4289         * glyphs.c (update_subwindow): make sure we reset flags for
4290         layouts as well as everything else.
4291
4292         * glyphs-widget.c (layout_layout): don't need to set the instances
4293         dimensions here.
4294
4295 2000-02-09  Martin Buchholz  <martin@xemacs.org>
4296
4297         * device-x.c (x_init_device): Wrap calls to dll_*  in HAVE_SHLIB,
4298         not HAVE_DLOPEN, which is a lower-level thing.
4299
4300         * .cvsignore: Ignore gmon.out
4301
4302 2000-02-09  Hamish Macdonald <hamishm@lucent.com>
4303
4304         * .cvsignore: Ignore portable dumper xemacs.dmp file
4305
4306 2000-02-09  Andy Piper  <andy@xemacs.org>
4307
4308         * redisplay-output.c (redisplay_output_layout): be more clever
4309         about when we output based on the changed flags.
4310
4311         * glyphs.h (struct image_instantiator_methods): add update_method.
4312         (struct Lisp_Image_Instance): add changed flags. Declare new
4313         macros for manipulating them.
4314
4315         * glyphs.c (allocate_image_instance): renamed glyph -> parent.
4316         (image_instance_parent_glyph): find an image_instance's parent
4317         glyph or image_instance.
4318         (image_instance_layout): mark the size as changed.
4319         (set_image_instance_dirty_p): new function. mark an image
4320         instance, plus all of its parents, as dirty.
4321         (Fset_image_instance_property): use it.
4322         (Fglyph_animated_timeout_handler): use it.
4323         (update_subwindow): call update_widget and device methods for
4324         update_subwindow. Mark all changed flags as clean.
4325         (Fresize_subwindow): mark size as changed.
4326
4327         * glyphs-x.c (x_finalize_image_instance): try and detect gc
4328         failures.
4329         (x_update_subwindow): only resize subwindows here.
4330         (x_update_widget): new function. Update all changed properties of
4331         a widget.
4332         (x_resize_subwindow): deleted.
4333         (x_widget_set_property): deleted.
4334         (x_progress_gauge_set_property): deleted.
4335         (x_progress_gauge_update): new function. Implement recorded
4336         changes.
4337         (x_tab_control_update): ditto.
4338         (x_tab_control_set_property): deleted.
4339         (console_type_create_glyphs_x): declare new functions.
4340         (image_instantiator_format_create_glyphs_x): ditto.
4341
4342         * glyphs-widget.c (widget_set_property): mark text changed.
4343         (update_widget): new function. Update properties of a widget.
4344         (widget_instantiate): for layouts make sure we set their
4345         children's parent correctly.
4346         (tab_control_set_property): new function. Record changes that will
4347         take place under redisplay's control.
4348         (progress_gauge_set_property): ditto.
4349         (image_instantiator_progress_guage): declare new functions.
4350         (image_instantiator_tab_control): ditto.
4351
4352         * glyphs-msw.c (mswindows_update_subwindow): just do resizing here
4353         now.
4354         (mswindows_update_widget): new function. Update all properties on
4355         a widget that have changed.
4356         (mswindows_button_update): new function. Update a button's set
4357         state.
4358         (mswindows_tab_control_update): new function. Update the items in
4359         a tab.
4360         (mswindows_tab_control_set_property): deleted.
4361         (mswindows_progress_gauge_update): new function. Update the
4362         progress gauge's progress.
4363         (mswindows_widget_set_property): deleted. This is all done
4364         asynchronously now.
4365         (mswindows_progress_gauge_set_property): ditto.
4366         (console_type_create_glyphs_mswindows): declare new methods.
4367         (image_instantiator_format_create_glyphs_mswindows): ditto.
4368
4369         * frame-msw.c (msprinter_init_frame_1): Remove unused variables.
4370         (msprinter_set_frame_properties): ditto.
4371
4372         * console.h (struct console_methods): Add update_widget_method.
4373
4374 2000-02-09  Andy Piper  <andy@xemacs.org>
4375
4376         * gui-msw.c (Fmswindows_shell_execute): Make
4377         mswindows-shell-execute industrial strength.
4378
4379 2000-02-08  Martin Buchholz  <martin@xemacs.org>
4380
4381         * lrecord.h: Make macro argument `props' match member function `plist'.
4382         * fns.c (Fget):
4383         * fns.c (Fput):
4384         * fns.c (Fremprop):
4385         * fns.c (Fobject_plist):
4386         * alloc.c:
4387         * symbols.c:
4388         Object property list frobbing cleanup.
4389         - Allow any lisp object (compared with `eq'), not just symbols, as
4390           keys in object plists.
4391         - Move symbol plist frobbing into symbols.c, where it belongs.
4392         - Move string plist frobbing into alloc.c, where it belongs.
4393         - Everything's an lrecord now, so no need to test for symbolp, etc.
4394         - Fix up doc strings to refer to PROPERTY, not PROPNAME.
4395
4396         * extents.c: Reorder code to remove declarations.
4397
4398         * frame.h (store_in_alist): Remove useless declaration.
4399
4400 2000-02-07  Martin Buchholz  <martin@xemacs.org>
4401
4402         * event-Xt.c (x_has_keysym): Use XConvertCase only if available.
4403         * config.h.in: Add HAVE_XCONVERTCASE.
4404
4405 2000-02-07  Andy Piper  <andy@xemacs.org>
4406
4407         * glyphs.c (image_instance_layout): undo 2000-01-29 change since
4408         it breaks many things.
4409
4410 2000-02-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
4411
4412         * src/syntax.h (SYNTAX_START_P): Check whether the two chars
4413         actually can start a common comment type.
4414         * src/syntax.h (SYNTAX_END_P): ditto for end.
4415
4416 2000-02-07  Martin Buchholz <martin@xemacs.org>
4417
4418         * XEmacs 21.2.28 is released.
4419
4420 2000-02-06  Martin Buchholz  <martin@xemacs.org>
4421
4422         * event-Xt.c (x_keysym_to_character): New.
4423         (maybe_define_x_key_as_self_inserting_character): New.
4424         (x_has_keysym): New.
4425         Auto-define all keys on the keyboard as self-insert-key.
4426
4427 2000-02-02  Martin Buchholz  <martin@xemacs.org>
4428
4429         * menubar.c (vars_of_menubar): A small code simplification.
4430
4431         * minibuf.c (echo_area_append): Workaround egcs-20000131 c++ compiler bug
4432
4433         * ExternalShell.c:
4434         * ExternalClient.c:
4435         * EmacsShell-sub.c:
4436         * EmacsManager.c:
4437         * EmacsFrame.c:
4438         Use consistent style for specifying X resources.
4439
4440         * symbols.c (Fset): Further implement SYMVAL_LISP_MAGIC.
4441         This makes (dontusethis-set-symbol-value-handler) actually usable.
4442
4443         * lrecord.h (lrecord_decription_type):
4444         * alloc.c (pdump_register_sub):
4445         (pdump_dump_data):
4446         (pdump_reloc_one):
4447         Add XD_LISP_OBJECT_ARRAY to describe multiple Lisp_Objects.
4448         Comply with XEmacs coding style.
4449         All lrecord descriptions updated to use XD_LISP_OBJECT with 2
4450         args, and XD_LISP_OBJECT_ARRAY with 3 args.
4451
4452         * keymap.c (Faccessible_keymaps):
4453         Make (accessible-keymaps map "\C-h") do the Right Thing.
4454         Make (accessible-keymaps map []) do the Right Thing.
4455         Make (accessible-keymaps map "") do the Right Thing.
4456         (check_keymap_definition_loop): New function.
4457         (keymap_store_internal): Keep luser from shooting self in foot,
4458           via (define-key ctl-x-4-map "p" global-map).
4459         Remove fullness slot from struct Lisp_Keymap, since hash tables
4460         are now reliable.
4461         (print_keymap): Remove 'Yuck' factor by simply printing "size %d".
4462
4463 2000-01-30  Martin Buchholz  <martin@xemacs.org>
4464
4465         * redisplay.c (init_redisplay): Fix small memory leak.
4466         * elhash.h:
4467         * elhash.c (pdump_reorganize_hash_table):
4468         Rename from reorganize_hash_table. Change prototype.
4469         Reuse the original memory for hentries.  Save 100k.
4470         * alloc.c (PDUMP_READ): new macro.
4471         * alloc.c (pdump_load): Replace LISP_TO_VOID with higher-level macros.
4472         * alloc.c: No need to #ifndef before #undef.
4473
4474         * print.c: Allow debug_print() to print readably by modifying
4475         debug_print_readably.  Use consistent variable names.
4476
4477         * .dbxrc: Try to get things to work even if stopped in a function
4478         without source available by explicitly specifying source files.
4479 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
4480
4481         * unexnt.c (_start): Removed bogus code which caused loading heap
4482         from differrent executable file.
4483         Removed bogus assignment to _fmode, which caused inconsistencies.
4484
4485 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
4486
4487         * s\windowsnt.h: Removed lots of #if 0 blocks of Emacs heritage.
4488         Have spawnve encapsulation regard DONT_ENCAPSULATE.
4489         Do not preliminary `#define signal sigset'.
4490
4491         * systime.h: Do not prototype environ on windows nt and cygwin,
4492         this conflicts with system header.
4493
4494         * syssignal.h: Use correct define for WINDOWSNT
4495
4496         * sysdep.h: Do not prototype environ on windows nt, this conflicts
4497         with system header.
4498
4499         * sysdep.c (near start of file): Fixed commentary and rearranged
4500         ifdefs in readable order.
4501         (NEED_STARTS): Do not force NEED_STARTS when PDUMPing.
4502         (start_of_text):
4503         (end_of_text):
4504         (end_of_data): Do not compile in if using PDUMP.
4505
4506         * symsinit.h: Protptyped vars_of_nt().
4507
4508         * ntproc.c (windows9x_p): Added, instead of os_subtype.
4509         (find_child_console): Use it.
4510         (sys_kill): Use it.
4511
4512         * ntheap.h: Do not extern os_subtype.
4513
4514         * ntheap.c (cache_system_info): Do not cache unneeded:
4515         nt_major_version, nt_minor_version and os_subtype.
4516         (recreate_heap): Do not compile in when PDUMPing.
4517
4518         * nt.c (geteuid and friends): Use the new varibale
4519         nt_fake_unix_uid, instead of hashing fake uid out of NT RID.
4520         (init_user_info): Removed the above mentioned hackery.
4521         (fstat, stat): Do not compile in if using MSVC 5.0 and above -
4522         stat has been fixed in the C runtime.
4523         (vars_of_nt): Added, defined the nt_fake_unix_uid variable there.
4524
4525         * file-coding.c (struct file_coding_dump): Do not define
4526         ucs_to_mule_table in the struct if not MULE.
4527         (struct struct lrecord_description fcd_description_1): Do not dump
4528         the above.
4529
4530         * emacs.c (main_1): Call vars_of_nt().
4531         (right before Fdump_emacs_data): Don't need lastfile if using both
4532         portabe dumper and system malloc.
4533
4534         * alloc.c (Fmemory_limit): Conditionalized out.
4535         (pdump): Use OPEN_BINARY for the portable dump file.
4536         (pdump_load): Ditto.
4537
4538 2000-02-02  Mike Alexander  <mta@arbortext.com>
4539
4540         * nt.c (convert_time): Set tm_isdst before calling mktime and
4541         avoid calling it at all if the compiler supports 64 bit integers.
4542         Also initialize utc_base_ft before using it.
4543
4544 2000-02-03   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
4545
4546         * frame.c (change_frame_size_1): Take f->internal_border_width
4547         into consideration when calculating the width of the frame.
4548
4549 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
4550
4551         * window.c (frame_min_height):
4552         (frame_size_valid_p):
4553         (frame_pixsize_valid_p): Added.
4554         (check_frame_size): Generalized.
4555
4556         * window.h: Prototyped the above.
4557
4558         * lisp.h:
4559         * general.c: Added Qbottom_margin, Qduplex, Qlandscape,
4560         Qleft_margin, Qorientation, Qportrait, Qright_margin, Qtop_margin.
4561         Deleted Vwin32_* and Vbinary_process_* unused variables.
4562
4563         * device-msw.c (msprinter_init_device): Do not get printer font
4564         list; Added DEVMODE functions.
4565
4566         * frame-msw.c: Added lots of printer code.
4567
4568         * faces.c: Moved 'left-margin and 'right-margin defsymbols to
4569         general.c.
4570
4571         * console-msw.h: Added more msprinter device private slots.
4572
4573 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
4574
4575         * event-msw.c (key_needs_default_processing_p): Added.
4576         (mswindows_wnd_proc, WM_KEYUP, KEYDOWN): Call it.
4577
4578 2000-01-29  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
4579
4580         * glyphs.c (image_instance_layout): Mark image instance as clean
4581         after layout.
4582         (glyph_dirty_p): Removed redundant function.
4583         (invalidate_glyph_geometry_maybe): Added.
4584         (update_glyph_cachel_data): Call it.
4585
4586         * glyphs.h: Prototyped it.
4587
4588         * redisplay.c (add_glyph_rune): Call it.
4589         (redisplay_window): Reset glyphs cachels when frame faces has
4590         changed, thus forcing recomputation of built-in border glyphs.
4591
4592 2000-01-30  Martin Buchholz  <martin@xemacs.org>
4593
4594         * Makefile.in.in: Make portable dumper and purify play well together.
4595         Add imperfect, but better than nothing, support for pdump.
4596         Remove xemacs.dmp when temacs is re-generated.
4597         Don't ignore errors when dumping xemacs.
4598
4599         * symbols.c (maybe_call_magic_handler): Remove one magic number.
4600
4601 2000-01-28  Andy Piper  <andy@xemacs.org>
4602
4603         * frame.c (allocate_frame_core): Use new Fset_window_buffer signature.
4604         (setup_normal_frame): ditto.
4605         (setup_frame_without_minibuffer): ditto.
4606         (setup_minibuffer_frame): ditto.
4607         (delete_frame_internal): ditto.
4608         (Fmake_frame_invisible): ditto.
4609         (Ficonify_frame): ditto.
4610
4611         * window.h: change Fset_window_buffer signature.
4612
4613         * window.c (Fsplit_window): Use new Fset_window_buffer signature.
4614         (Fset_window_buffer): allow recording of buffer if the window is
4615         the selected window.
4616         (window_loop): Use new Fset_window signature.
4617
4618 2000-01-23  Daniel Pittman  <daniel@danann.net>
4619
4620         * config.h.in: Added template for `HAVE_ATHENA_3D'
4621
4622 2000-01-29  Andy Piper  <andy@xemacs.org>
4623
4624         * glyphs-x.c (x_resize_subwindow): Try and catch bogus resizes.
4625
4626         * gutter.c (output_gutter): Don't output if the window isn't live.
4627
4628 2000-01-28  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
4629
4630         * glyphs-msw.c (mswindows_unmap_subwindow): Fix of corrupted patch
4631         of 01/12/00: Moved SetFocus back here where it belongs.
4632
4633 2000-01-23  Andy Piper  <andy@xemacs.org>
4634
4635         * s/cygwin32.h: declare printer things.
4636
4637 2000-01-26  Andy Piper  <andy@xemacs.org>
4638
4639         * select.c (Fown_selection_internal): GCPRO bug fix from Mike
4640         Alexander.
4641
4642 2000-01-24  Andy Piper  <andy@xemacs.org>
4643
4644         * glyphs-msw.c (mswindows_locate_pixmap_file): Expand filename.
4645         (mswindows_button_instantiate): Make sure glyph is a pixmap.
4646
4647         * glyphs-widget.c (widget_instantiate): Avoid shadows.
4648
4649         * frame-msw.c (msprinter_init_frame_3): Nuke warning.
4650
4651         * glyphs-msw.c: (mswindows_string_to_color): remove declaration.
4652
4653         * redisplay-msw.c (mswindows_output_cursor): Avoid shadows.
4654         (mswindows_output_display_block): Avoid local shadows.
4655
4656         * event-msw.c (mswindows_enqueue_magic_event): Avoid shadows.
4657         (mswindows_enqueue_mouse_button_event): ditto.
4658         (mswindows_handle_gui_wm_command): remove declaration.
4659
4660         * console-msw.c (mswindows_canonicalize_console_connection): Avoid
4661         warnings.
4662
4663         * console-msw.h: Avoid shadows.
4664         (mswindows_get_toolbar_button_text):
4665         (emacs_mswindows_create_stream_pair):
4666         (emacs_mswindows_delete_stream_pair):
4667         (mswindows_handle_toolbar_wm_command): declare.
4668
4669         * device-msw.c (build_syscolor_string): Avoid shadows.
4670
4671 2000-01-23  Andy Piper  <andy@xemacs.org>
4672
4673         * glyphs-widget.c (widget_instantiate): reverse the items for
4674         layouts so that children are in the expected order.
4675
4676 2000-01-28  Martin Buchholz  <martin@xemacs.org>
4677
4678         * ralloc.c: safe_bcopy ==> memmove
4679         * gmalloc.c: Remove MEMMOVE_MISSING conditional code.
4680         * s/msdos.h: Remove BCOPY macros.
4681         * insdel.c (gap_right): Remove BCOPY conditional code.
4682         * insdel.c (gap_left): Remove BCOPY conditional code.
4683         XEmacs demands a working ANSI C compiler - hence memmove.
4684
4685         * regex.c (regex_compile): Remove accidental use of trigraphs.
4686
4687 2000-01-27  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
4688
4689         * event-msw.c (mswindows_enqueue_misc_user_event): Initialize
4690         event timestamp.
4691
4692 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
4693
4694         * event-msw.c (mswindows_drain_windows_queue): Added the
4695         parameter.
4696         (mswindows_need_event): Commented the call to
4697         mswindows_drain_windows_queue().
4698         (emacs_mswindows_quit_p): Lookup the windows for keyboard messages
4699         only.
4700
4701         * console-msw.h: Moved a few function prototypes here from
4702         event-msw.c.
4703
4704         * gui-msw.c (mswindows_handle_gui_wm_command): Changed the ID
4705         parameter from unsigned short to unsigned long.
4706         (Fmswindows_shell_execute): Added return value.
4707
4708 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
4709
4710         * sysdep.c (init_system_name):
4711           process-unix.c (unix_canonicalized_host_name):
4712         Don't call freeaddrinfo() if getaddrinfo() fails.
4713
4714         * process-unix.c (unix_open_unix_network_stream):
4715         Moved the code to get a port # into address loop.
4716
4717 2000-01-27  Martin Buchholz  <martin@xemacs.org>
4718
4719         * buffer.c (reinit_vars_of_buffer):
4720         The right place to initialize conversion_in_dynarr and
4721         conversion_out_dynarr.
4722
4723         * alloc.c (pdump): Use the real open() till sys_open() is functional.
4724
4725         * process-unix.c (unix_canonicalize_host_name): Muleize.
4726         (unix_open_network_stream): Muleize.
4727
4728         * buffer.h: Fix up prototypes for ralloc.c functions.
4729
4730 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
4731         * config.h.in: added HAVE_GETADDRINFO and HAVE_GETNAMEINFO
4732         * sysdep.c: In init_system_name(), add code to use getaddrinfo()
4733                 instead of gethostbyname()
4734         * process-unix.c: In unix_canonicalize_host_name() and
4735                 unix_open_network_stream(), add code to use getaddrinfo()
4736                 instead of gethostbyname().
4737
4738 2000-01-27  Daniel Pittman <daniel@danann.net>
4739
4740         * device-x.c (x_init_device): Warn at run-time if using Athena 3d
4741         libs when built with flat Athena.
4742
4743 2000-01-27  Martin Buchholz  <martin@xemacs.org>
4744
4745         * ralloc.c: Replace SIZE (conflicts with Windows headers) with size_t.
4746         Use coding standards for function prototypes.
4747
4748 2000-01-25  Martin Buchholz  <martin@xemacs.org>
4749
4750         * dialog-msw.c (push_lisp_string_as_unicode):
4751         * doc.c (unparesseuxify_doc_string):
4752         * dired.c (Fuser_name_completion_1):
4753         * dired.c (Fuser_name_all_completions):
4754         * dired.c (free_user_cache):
4755         * dired.c (user_name_completion):
4756         * console-x.c (get_display_arg_connection):
4757         * minibuf.c (clear_echo_area_internal):
4758         * minibuf.c (echo_area_append):
4759         * eldap.c (Fldap_open):
4760         * eldap.c (Fldap_search_internal):
4761         * frame-x.c (x_set_frame_text_value):
4762         * frame-x.c (x_set_frame_properties):
4763         * frame-x.c (x_create_widgets):
4764         * redisplay-tty.c (term_get_fkeys_1):
4765         * objects-x.c (x_parse_nearest_color):
4766         * objects-x.c (x_valid_color_name_p):
4767         * objects-x.c (x_initialize_font_instance):
4768         * objects-x.c (x_list_fonts):
4769         * objects-x.c (x_find_charset_font):
4770         * tooltalk.c (Fadd_tooltalk_message_arg):
4771         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
4772         * tooltalk.c (Fadd_tooltalk_pattern_arg):
4773         * process-unix.c (unix_create_process):
4774         * ntproc.c (sys_spawnve):
4775         * sound.c (Fplay_sound_file):
4776         * sound.c (Fplay_sound):
4777         * buffer.c (init_initial_directory):
4778         * buffer.c (init_buffer):
4779         * editfns.c (init_editfns):
4780         * editfns.c (Ftemp_directory):
4781         * editfns.c (Fuser_full_name):
4782         * editfns.c (uncache_home_directory):
4783         * editfns.c (get_home_directory):
4784         * editfns.c (Fuser_home_directory):
4785         * editfns.c (Fformat_time_string):
4786         * editfns.c (Fcurrent_time_string):
4787         * gui-x.c (button_item_to_widget_value):
4788         * database.c (Fopen_database):
4789         * event-Xt.c (x_to_emacs_keysym):
4790         * event-Xt.c (x_event_to_emacs_event):
4791         * event-Xt.c (describe_event_window):
4792         * event-msw.c (mswindows_wnd_proc):
4793         * glyphs-eimage.c (jpeg_instantiate):
4794         * glyphs-eimage.c (gif_instantiate):
4795         * glyphs-eimage.c (png_instantiate):
4796         * glyphs-eimage.c (tiff_instantiate):
4797         * glyphs-x.c (xbm_instantiate_1):
4798         * glyphs-x.c (x_xbm_instantiate):
4799         * glyphs-x.c (x_xface_instantiate):
4800         * glyphs-x.c (autodetect_instantiate):
4801         * glyphs-x.c (cursor_font_instantiate):
4802         * glyphs-x.c (x_widget_instantiate):
4803         * glyphs-x.c (x_widget_set_property):
4804         * glyphs-x.c (x_widget_property):
4805         * glyphs-x.c (BUILD_GLYPH_INST):
4806         * print.c (write_string_to_stdio_stream):
4807         * print.c (output_string):
4808         * print.c (Falternate_debugging_output):
4809         * print.c (Fexternal_debugging_output):
4810         * glyphs-msw.c (extract_xpm_color_names):
4811         * glyphs-msw.c (mswindows_xpm_instantiate):
4812         * glyphs-msw.c (bmp_instantiate):
4813         * glyphs-msw.c (resource_name_to_resource):
4814         * glyphs-msw.c (mswindows_resource_instantiate):
4815         * glyphs-msw.c (xbm_instantiate_1):
4816         * glyphs-msw.c (mswindows_xbm_instantiate):
4817         * glyphs-msw.c (mswindows_xface_instantiate):
4818         * glyphs-msw.c (mswindows_widget_instantiate):
4819         * glyphs-msw.c (add_tree_item):
4820         * glyphs-msw.c (add_tab_item):
4821         * glyphs-msw.c (mswindows_combo_box_instantiate):
4822         * glyphs-msw.c (mswindows_widget_property):
4823         * glyphs-msw.c (mswindows_combo_box_property):
4824         * glyphs-msw.c (mswindows_widget_set_property):
4825         * console.c (stuff_buffered_input):
4826         * objects-msw.c (mswindows_initialize_color_instance):
4827         * objects-msw.c (mswindows_valid_color_name_p):
4828         * objects-msw.c (mswindows_list_fonts):
4829         * objects-msw.c (mswindows_font_instance_truename):
4830         * bytecode.c (optimize_compiled_function):
4831         * select-x.c (symbol_to_x_atom):
4832         * select-x.c (x_atom_to_symbol):
4833         * select-x.c (hack_motif_clipboard_selection):
4834         * select-x.c (selection_data_to_lisp_data):
4835         * select-x.c (lisp_data_to_selection_data):
4836         * select-x.c (Fx_get_cutbuffer_internal):
4837         * select-x.c (Fx_store_cutbuffer_internal):
4838         * buffer.h (TO_EXTERNAL_FORMAT): New function.
4839         * buffer.h (TO_INTERNAL_FORMAT): New function.
4840         * emacs.c (make_arg_list_1):
4841         * emacs.c (make_argc_argv):
4842         * emacs.c (main_1):
4843         * emacs.c (Fdump_emacs):
4844         * emacs.c (split_string_by_emchar_1):
4845         * file-coding.h:
4846         * lisp.h:
4847         * lstream.h:
4848         * symsinit.h:
4849         * device-x.c (x_init_device):
4850         * device-x.c (Fx_valid_keysym_name_p):
4851         * device-x.c (Fx_get_font_path):
4852         * device-x.c (Fx_set_font_path):
4853         * glyphs.c (bitmap_to_lisp_data):
4854         * glyphs.c (pixmap_to_lisp_data):
4855         * alloc.c (make_ext_string): Use coding system arguments.  Update
4856         all callers.
4857         * alloc.c (build_string):
4858         * callproc.c (child_setup):
4859         * callproc.c (init_callproc):
4860         * fileio.c (lisp_strerror):
4861         * fileio.c (directory_file_name):
4862         * fileio.c (Fexpand_file_name):
4863         * fileio.c (Ffile_truename):
4864         * fileio.c (Fsysnetunam):
4865         * fileio.c (Fdo_auto_save):
4866         * sysdep.c (sys_readdir):
4867         * tests.c: New file.  Allow adding C tests.
4868         Replace GET_* macros with a more comprehensible and flexible
4869         interface, TO_INTERNAL_FORMAT() and TO_EXTERNAL_FORMAT().
4870         Modify all calls.
4871         Any coding system can be used to do format conversion.
4872         Eliminate enum external_data_format.
4873         Eliminate convert_to_external_format.
4874         Eliminate convert_to_internal_format.
4875         Make sure file-name, keyboard, terminal, and ctext are always
4876         defined as coding systems or aliases.  Make
4877         file-name-coding-system, terminal-coding-system, and
4878         keyboard-coding-system magical variables that are equivalent to
4879         defining the corresponding coding system aliases.
4880
4881         * file-coding.c (Fcoding_system_canonical_name_p): New function.
4882         * file-coding.c (Fcoding_system_alias_p): New function.
4883         * file-coding.c (Fcoding_system_aliasee): New function.
4884         * file-coding.c (append_suffix_to_symbol): New function.
4885         * file-coding.c (dangling_coding_system_alias_p): New function.
4886         * file-coding.c (Ffind_coding_system):
4887         * file-coding.c (Fcopy_coding_system):
4888         * file-coding.c (encode_coding_no_conversion):
4889         * file-coding.c (syms_of_file_coding):
4890         * file-coding.c (vars_of_file_coding):
4891         Rewrite coding system alias code.
4892         Allow nested aliases, like symbolic links.
4893         Allow redefinition of coding system aliases.
4894         Prevent existence of dangling coding system aliases.
4895
4896         * dired.c (Fuser_name_completion_1):
4897         * dired.c (Fuser_name_all_completions):
4898         A crash would happen if user did QUIT in the middle of building
4899         user_name_cache.  Remove redundant code in mainline and unwind_protect.
4900
4901         * lisp.h:
4902         * dynarr.c (Dynarr_min_size): Make static.  Increase value to 8.
4903
4904         * lstream.c (make_fixed_buffer_input_stream): Take a void *, not
4905         an unsigned char *.  Update all callers.
4906
4907 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
4908
4909         * callproc.c (Fcall_process_internal): Ignore Vbinary-process_output.
4910
4911 2000-01-25  Martin Buchholz  <martin@xemacs.org>
4912
4913         * elhash.c (hentry_description): Use more portable definition.
4914         (resize_hash_table): Initialize new hentries using
4915         xnew_array_and_zero, thereby simplifying the code.
4916
4917         * mule-charset.c (make_charset): Make sure entire object is
4918         intialized, to avoid Purify warnings.
4919
4920         * alloc.c (resize_string): Fix unlikely crash with big strings.
4921
4922 2000-01-24  Martin Buchholz  <martin@xemacs.org>
4923
4924         * realpath.c (xrealpath):
4925         Don't call getwd().
4926
4927 2000-01-25  Martin Buchholz  <martin@xemacs.org>
4928
4929         * lread.c (read_bit_vector): Fix memory leak reading literal bit vectors.
4930
4931 1999-12-28  Max Matveev  <max@melbourne.sgi.com>
4932
4933         * unexelfsgi.c (unexec): Change the way we decide which segment
4934         should be extended.
4935
4936         Assumption that .bss section should be outside the PT_LOADable
4937         segment. On IRIX with version 6.2 and above, .bss (or .sbss, if
4938         it's present) is inside the 'data' segment. This would fail the
4939         test which was used to find a segment to grow and cover new
4940         heap. Instead of this assumption, I created another one - on IRIX
4941         the segment to grow should start below .bss and it's address
4942         should extent above the end of .bss. Once this segment is
4943         identified, it's grown to accommodate the new heap and new
4944         zero-length .bss section is added at the end of .data2.
4945
4946 2000-01-25  Martin Buchholz  <martin@xemacs.org>
4947
4948         * eval.c (Feval): Wrong number of arguments should use original
4949         function, not the indirect_function version of it.
4950
4951 2000-01-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
4952
4953         * glyphs-x.c (x_button_instantiate): Don't add image if
4954         it is not a pixmap.
4955         (x_locate_pixmap_file): Call Fexpand_file_name when file name
4956         is relative.
4957
4958 2000-01-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
4959
4960         * symeval.h (DEFVAR_LISP_MAGIC): Remove semicolon after macro
4961         declaration.
4962         (DEFVAR_INT_MAGIC): Ditto.
4963         (DEFVAR_BOOL_MAGIC): Ditto.
4964         * glyphs.h: Reindent backslash.
4965
4966 2000-01-24  Martin Buchholz  <martin@xemacs.org>
4967
4968         * glyphs-widget.c (layout_query_geometry):
4969         (layout_layout): Use correct types for gheight, gwidth.
4970
4971 2000-01-24  Martin Buchholz  <martin@xemacs.org>
4972
4973         * EmacsManager.c (QueryGeometry): Purified.
4974
4975 2000-01-23  Martin Buchholz  <martin@xemacs.org>
4976
4977         * alloc.c (make_float): Make sure entire object is intialized, to
4978         avoid Purify warnings.
4979         (pdump_register_sub): Remove useless assignment.
4980         (pdump): Use xmalloc, not malloc.
4981         (pdump_load): Use xmalloc, not malloc.
4982
4983 2000-01-23  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
4984
4985         * callproc.c:
4986         * dired-msw.c:
4987         * fileio.c:
4988         * process-nt.c:
4989         * redisplay-msw.c:
4990         * sysdep.c: Removed redundant #include <windows.h>
4991
4992 2000-01-22  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
4993
4994         * frame.c (delete_frame_internal): Do not delete device when its
4995         implementation so declares.
4996         (delete_frame_internal): Set device selected frame to nil when
4997         last frame goes away.
4998
4999         * device-msw.c (msprinter_device_system_metrics): Implemented.
5000         (mswindows_device_system_metrics): Added 'device-dpi property.
5001
5002         * device.c: (Fdevice_printer_p): Added.
5003         Added 'offset-workspace device metric.
5004
5005         * console.h (device_metrics): Declared DM_offset_workspace.
5006
5007 2000-01-23  Martin Buchholz  <martin@xemacs.org>
5008
5009         * fileio.c (Ffile_truename): Remove pointless and confusing
5010         initialization of elen.
5011
5012         * glyphs-widget.c: Compiler warning fixes.
5013
5014 2000-01-23  Gunnar Evermann  <ge204@eng.cam.ac.uk>
5015
5016         * process.h (PROCESS_LIVE_P): Modify to take a Lisp_Process
5017         instead of a Lisp_Object as argument to make it consistent with
5018         the other LIVE_P macros.
5019         (CHECK_LIVE_PROCESS): New macro.
5020
5021         * process.c: Declare Qprocess_live_p.
5022         (Fprocess_live_p): New function.
5023         (create_process): Use PROCESS_LIVE_P.
5024         (read_process_output): Ditto.
5025         (set_process_filter): Ditto.
5026         (Fdelete_process): Ditto.
5027         (kill_buffer_processes): Ditto
5028         (process_send_signal): Use CHECK_LIVE_PROCESS.
5029         (Fprocess_input_coding_system): Check whether process is still
5030         alive (fix PR#1061).
5031         (Fprocess_output_coding_system): Ditto.
5032         (Fprocess_coding_system): Ditto.
5033         (Fset_process_input_coding_system): Ditto.
5034         (Fset_process_output_coding_system): Ditto.
5035
5036 2000-01-23  Andy Piper  <andy@xemacs.org>
5037
5038         * glyphs.h (struct Lisp_Image_Instance): change format by unifying
5039         layout and widget.
5040
5041         * glyphs.c (mark_image_instance): take into account changed
5042         image_instance format.
5043         (image_instance_equal): ditto.
5044         (image_instance_hash): ditto.
5045
5046         * glyphs-widget.c (widget_instantiate): Incorporate layout
5047         instantiation here. Delay layout of the layout until later.
5048         (layout_instantiate): deleted.
5049         (layout_query_geometry): new function. get the geometry of a
5050         layout.
5051         (layout_layout): layout a layout dynamically.
5052         (image_instantiator_widget): New function - splitting up
5053         image_instantiator_format_create_glyphs_widget for netwinder
5054         compilation.
5055         (image_instantiator_buttons):
5056         (image_instantiator_edit_fields):
5057         (image_instantiator_combo_box):
5058         (image_instantiator_scrollbar):
5059         (image_instantiator_progress_guage):
5060         (image_instantiator_tree_view):
5061         (image_instantiator_tab_control):
5062         (image_instantiator_labels):
5063         (image_instantiator_layout): ditto.
5064         (image_instantiator_format_create_glyphs_widget): Call preceeding
5065         functions.
5066
5067 2000-01-22  Martin Buchholz  <martin@xemacs.org>
5068
5069         * process.c (Fset_process_coding_system):
5070         * device-x.c (Fx_keysym_hash_table):
5071         Docstring fixes.
5072
5073         * lstream.c (Lstream_write): Return documented value, not 0.
5074
5075         * fileio.c (directory_file_name):
5076         (Fsubstitute_in_file_name):
5077         (Fsubstitute_insert_file_contents_internal):
5078         (Fwrite_region_internal):
5079         * emacs.c:
5080         * sysdep.c:
5081         * getloadavg.c:
5082         * systty.h:
5083         Remove vestigial APOLLO-conditional code.
5084
5085 2000-01-21  Martin Buchholz  <martin@xemacs.org>
5086
5087         * getpagesize.h: Add guard macros.
5088         * libsst.h: Add guard macros.
5089         * libst.h: Add guard macros.
5090         * line-number.h: Add guard macros.
5091         * ndir.h: Add guard macros.
5092         * sysfloat.h: Add guard macros.
5093         * sysfile.h: Add guard macros.
5094         * sysproc.h: Add guard macros.
5095         * syswait.h: Add guard macros.
5096         * xintrinsic.h: Add guard macros.
5097         * xintrinsicp.h: Add guard macros.
5098         * xmmanager.h: Add guard macros.
5099         * xmmanagerp.h: Add guard macros.
5100         * xmprimitive.h: Add guard macros.
5101         * xmu.h: Add guard macros.
5102         * gpmevent.h: Add copyright statement. Add guard macros.
5103         * miscplay.h: Add guard macros.
5104         * *.h: Use consistent C-standards-approved guard macro names.
5105
5106         * opaque.c (make_opaque): Switch parameter order.
5107         * opaque.h (make_opaque): Switch parameter order.
5108         Update all callers.
5109         * buffer.h (MAKE_MIRROR_TRT_TABLE): Use symbolic constant OPAQUE_CLEAR.
5110
5111         * config.h.in (type_checking_assert): Added.
5112         (bufpos_checking_assert): Added.
5113
5114 2000-01-21  Martin Buchholz  <martin@xemacs.org>
5115
5116         * alloc.c: Harmless pdump changes.
5117         - Use countof().
5118         - spell alignment correctly.
5119         * sysdep.c: Use countof()
5120
5121 2000-01-20  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
5122
5123         * console.c (create_console): Use CONMETH_OR_GIVEN when calling
5124         initially_selected_for_input() console method, default to 0.
5125         (semi_canonicalize_console_connection): Try to delegate to
5126         canonicalize_console_connection if no such console method.
5127         (canonicalize_console_connection): Vice versa.
5128         (print_console): Do not print nil connection.
5129
5130         * console.h (XDEVIMPF_IS_A_PRINTER): Added.
5131         (XDEVIMPF_NO_AUTO_REDISPLAY): Added.
5132         (XDEVIMPF_FRAMELESS_OK): Added.
5133         (CONSOLE_INHERITS_METHOD): Added.
5134
5135         * console-msw.c (mswindows_canonicalize_console_connection):
5136         Added.
5137         (mswindows_canonicalize_device_connection): Added.
5138
5139         * console-msw.h (struct msprinter_device): Added this struct and
5140         accessor macros.
5141         (mswindows_device): Made fontlist a lisp object.
5142
5143         * device.c (semi_canonicalize_device_connection):  Try to delegate
5144         to canonicalize_device_connection if no such console method.
5145         (canonicalize_device_connection): Vice versa.
5146         (print_device): Do not print nil connection.
5147
5148         * device-msw.c (mswindows_init_device): Call InitCommonControls
5149         when have widgets.
5150         (mswindows_delete_device): Removed fontlist deallocation.
5151         (mswindows_mark_device): Added.
5152
5153         * events.c (event_equal): Added abort() at unreached code.
5154         (event_hash): Ditto.
5155
5156         * faces.c (complex_vars_of_faces): Added Qmsprinter to the list of
5157         fallback tags of Windows devices.
5158
5159         * general.c (syms_of_general): Initialized Qmsprinter.
5160
5161         * gutter.c (complex_vars_of_gutters): Added Qmsprinter to the list
5162         of fallback tags of Windows devices.
5163
5164         * lisp.h: Declared Qmsprinter.
5165
5166         * objects-msw.c (font_enum_callback_2): Rewrote to build lisp list
5167         of strings.
5168         (mswindows_list_fonts): Ditto.
5169         (mswindows_enumerate_fonts): Removed dependency on XDEVICE, so
5170         that it can be used by both mswindows and msprinter devices.
5171         (initialize_font_instance): Added.
5172         (mswindows_initialize_font_instance): Use it.
5173         (msprinter_initialize_font_instance): Added.
5174
5175         * redisplay.c (redisplay_device): Added the parameter AUTOMATIC
5176         and implementation flags check.
5177         (redisplay_without_hooks): Changed the call to the above.
5178         (Fredraw_device): Ditto.
5179         (Fredisplay_device): Ditto.
5180
5181         * redisplay-msw.c (get_frame_dc): Implemented.
5182         (get_frame_compdc): Implemented.
5183         (many functions): Use the two functions above to get device
5184         contexts, ether for a window or a printer.
5185
5186 2000-01-21  Olivier Galibert  <galibert@pobox.com>
5187
5188         * symbols.c (reinit_symbols_once_early): Put Qzero/Qnull_pointer
5189         initialization here.
5190         (init_symbols_once_early): Call it.
5191         * emacs.c (main_1): Call it.
5192         * symsinit.h: Declare it.
5193
5194 2000-01-19  Olivier Galibert  <galibert@pobox.com>
5195
5196         * alloc.c: Use a lrecord_header * in the backtrace instead of a
5197         Lisp_Object.
5198         (pdump_backtrace): Ditto.
5199         (pdump_register_object): Ditto.  Cleanup use of the pointers.
5200         (pdump_get_entry): Abort if trying to register a null pointer.
5201         (pdump_dump_data): Cleanup types when relocating.
5202         (pdump_dump_staticvec): Cleanup types w.r.t the reloc table.
5203         (pdump_dump_rtables): Remove bad casts.
5204         (pdump_load): Cleanup relocation w.r.t union type.  Use a
5205         Lisp_Object instead of a EMACS_INT for the hashtable
5206         reorganization.
5207
5208 2000-01-20  Martin Buchholz  <martin@xemacs.org>
5209
5210         * emacs.c (main_1): Rearrange morass of #ifdef's for correctness.
5211
5212         * callproc.c (call_process_cleanup): Isolate WINDOWSNT code for clarity.
5213
5214         * EmacsManager.c (GeometryManager): Avoid use of CPP for clarity.
5215
5216         * *.[ch]: global-replace 's/_of_xselect/_of_select_x/g' *.[ch]
5217
5218 2000-01-17  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
5219
5220         * faces.h (FACE_STRIKETHRU_P): Added.
5221
5222         * glyphs-msw.c (mswindows_widget_hfont): Implemented, to take care
5223         of font variants.
5224
5225         * redisplay-msw.c (mswindows_apply_face_effects): Deleted.
5226         (mswindows_set_dc_font): New function, aware of font variants,
5227         separated from mswindows_update_dc.
5228
5229         * objects-msw.h (struct mswindows_font_instance_data): Added
5230         definition.
5231
5232         * objects-msw.c (mswindows_finalize_font_instance): Delete all
5233         cached fonts and the data structure.
5234         (mswindows_initialize_font_instance): Added creation of font data
5235         structure.
5236         (mswindows_print_font_instance): Print at least something.
5237         (mswindows_create_font_variant): Implemented.
5238         (mswindows_get_hfont): Implemented.
5239
5240 2000-01-13  Fabrice Popineau  <Fabrice.Popineau@supelec.fr>
5241
5242         * dired-msw.c: permute "sysdir.h" with "sysfile.h" because of
5243         prototyping problem with msvc.
5244
5245         * emacs.c (main_1): added syms_of_gui_mswindows() call
5246
5247         * gui-msw.c: added "mswindows-shell-execute" lisp subr and
5248         syms_of_gui_mswindows() function
5249
5250         * symsinit.h: added the prototype for syms_of_gui_mswindows()
5251
5252 2000-01-18  Martin Buchholz <martin@xemacs.org>
5253
5254         * XEmacs 21.2.27 is released.
5255
5256 2000-01-18  Martin Buchholz  <martin@xemacs.org>
5257
5258         * glyphs-eimage.c (struct tiff_error_struct):
5259         (tiff_error_func):
5260         (tiff_warning_func):
5261         #if HAVE_VSNPRINTF ==> #ifdef HAVE_VSNPRINTF
5262
5263         * unexmips.c:
5264         * unexhp9k3.c:
5265         * unexfreebsd.c:
5266         * unexec.c: Remove vestigial Lucid C code.
5267         * unexalpha.c:
5268         * unexaix.c:
5269         * termcap.c:
5270         * libsst.c: Ansify.
5271         Remove declarations of errno and strerror().
5272
5273         * eval.c (Fbacktrace): Small Purify-cation.  Fix docstring.
5274
5275         * .dbxrc (run-temacs): Use the horrible ${1+"$@"} instead of "$@".
5276
5277 2000-01-16  Martin Buchholz  <martin@xemacs.org>
5278
5279         * mule-charset.c (Fchar_octet): Resurrect from earlier in 1999.
5280         Optimize.
5281
5282 2000-01-14  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
5283
5284         * md5.c:
5285         * file-coding.c:
5286         * file-coding.h:
5287         Change enum eol_type to eol_type_t.
5288
5289 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
5290
5291         * gui.c (get_gui_callback): Check cons before accessing car.
5292
5293 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
5294
5295         * specifier.h (XSPECIFIER_TYPE): Add error checking version.
5296         (XSETSPECIFIER_TYPE): Ditto.
5297
5298 2000-01-17  Didier Verna  <didier@xemacs.org>
5299
5300         * redisplay.c (generate_fstring_runes): compute string size in
5301         characters, not bytes.
5302
5303 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
5304
5305         * window.c (Fwindow_minibuffer_p): Make WINDOW optional.
5306
5307 2000-01-14  Hrvoje Niksic  <hniksic@iskon.hr>
5308
5309         * print.c (print_error_message): Call print_prepare().
5310
5311 2000-01-14  Martin Buchholz  <martin@xemacs.org>
5312
5313         * .dbxrc: Renamed from dbxrc.
5314
5315         * events.c (event_to_character):
5316         Use `assert (foo)' instead of `if (!foo) abort()'
5317
5318         * .gdbinit (xtype): Add documentation.
5319         * .gdbinit (check-temacs): New function.
5320         * .gdbinit (check-xemacs): New function.
5321         * dbxrc (check-xemacs): New function.
5322         * dbxrc (check-xemacs): New function.
5323
5324 2000-01-14  Andy Piper  <andy@xemacs.org>
5325
5326         * glyphs-widget.c (widget_query_geometry): Make sure that we
5327         calculate default dimensions correctly.
5328
5329 2000-01-13  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
5330
5331         * symsinit.h: Added prototype for reinit_vars_of_frame_mswindows.
5332
5333         * event-msw.c (vars_of_event_mswindows): Fixed a mistyped
5334         pdump_wire'd variable.
5335
5336         * emacs.c: (main_1): Conditionalized calls to
5337         reinit_vars_of_scrollbar_x and reinit_vars_of_module.
5338
5339 2000-01-13  Martin Buchholz  <martin@xemacs.org>
5340
5341         * window.c (Fset_window_configuration):
5342         * sysdep.c (_start):
5343         * input-method-motif.c (res):
5344         * event-Xt.c (Xt_process_to_emacs_event):
5345         Simple compiler warning fixes.
5346
5347         * bytecode.c (funcall_compiled_function): Use the original
5348         function symbol on the backtrace list in preference to the
5349         compiled_function object in error messages.
5350
5351 2000-01-13  Andy Piper  <andy@xemacs.org>
5352
5353         * glyphs-x.c (update_widget_face): Make sure we update the widget
5354         background as well as foreground.
5355
5356 2000-01-13  Andy Piper  <andy@xemacs.org>
5357
5358         * glyphs.h (struct Lisp_Image_Instance): Move justify and orient
5359         fields to subwindow.
5360         (IMAGE_INSTANCE_SUBWINDOW_JUSTIFY): new macro.
5361         (XIMAGE_INSTANCE_SUBWINDOW_JUSTIFY): ditto.
5362         (IMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
5363         (XIMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
5364
5365         * glyphs-widget.c (check_valid_tab_orientation): new function.
5366         (initialize_widget_image_instance): zero orientation and
5367         justification.
5368         (widget_instantiate): pick up orientation.
5369         (tab_control_query_geometry): return appropriate values for
5370         vertical tabs.
5371
5372         * glyphs-msw.c: (mswindows_tab_control_instantiate): assign
5373         appropriate creation flags for left, right and bottom tabs.
5374
5375         * s/cygwin32.h: add tab definitions.
5376
5377 2000-01-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
5378
5379         * glyphs-msw.c (mswindows_unmap_subwindow): Set focus back to the
5380         frame upon hiding a subwindow.
5381         (mswindows_button_instantiate): Changed the push button style to
5382         BS_PUSHBUTTON.
5383         (mswindows_button_instantiate): Removed button BS_NOTIFY
5384         style.
5385         (mswindows_button_instantiate): Removed redundant check for
5386         a disabled gui item.
5387         (mswindows_button_instantiate): Made use of WS_TABSTOP
5388         consistent: "operable" controls (edit, button, tree, scroll) have
5389         this style, "display-only" ones (static, progress gauge) do
5390         not. This style is currently ignored by XEmacs though. Also,
5391         removed the WS_EX_CONTROLPARENT style - it is not for children,
5392         it is for their parents!
5393         (mswindows_edit_field_instantiate): Ditto.
5394         (mswindows_progress_gauge_instantiate): Ditto.
5395         (mswindows_tree_view_instantiate): Ditto.
5396         (mswindows_tab_control_instantiate): Ditto.
5397         (mswindows_scrollbar_instantiate): Ditto.
5398         (mswindows_combo_box_instantiate): Ditto.
5399         (mswindows_widget_instantiate): Added the WS_EX_CONTROLPARENT
5400         style to the "clip" window.
5401         (mswindows_button_instantiate): Removed compilation warning by
5402         equally typing terms of the ?: operator.
5403
5404 2000-01-12  Didier Verna  <didier@xemacs.org>
5405
5406         * redisplay.c (generate_fstring_runes): new parameter holding the
5407         last modeline-format extent.
5408         (add_glyph_to_fstring_db_runes): new parameter holding the glyph
5409         extent, fill the glyph block with it.
5410         (generate_fstring_runes): handle these parameters.
5411         (generate_formatted_string_db): ditto.
5412
5413         * keymap.c (get_relevant_keymaps): retreive the keymaps from the
5414         glyphs'extents in the modeline.
5415
5416 1999-01-11  Mike Woolley  <mike@bulsara.com>
5417
5418         * ntheap.c: Reduced the reserved heap space from 1Gb down to
5419         256Mb, as a workaround for the non-starting problem many people
5420         have experienced.
5421
5422 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
5423
5424         * console-tty.c (Fset_console_tty_output_coding_system):
5425         Force redrawing tty frame.
5426
5427 2000-01-10  Didier Verna  <didier@xemacs.org>
5428
5429         * redisplay.c (generate_fstring_runes): fix size computation bug.
5430
5431 2000-01-09  William M. Perry <wmperry@aventail.com>
5432
5433         * gpmevent.c: (gpm_next_event_cb): Don't return value from void function.
5434
5435 2000-01-09  Andy Piper  <andy@xemacs.org>
5436
5437         * glyphs-msw.c: index -> i to avoid shadows.
5438         (xbm_create_bitmap_from_data): make static.
5439         (check_valid_string_or_int): deleted.
5440         (mswindows_control_wnd_proc): message -> msg to avoid shadows.
5441
5442         * glyphs-x.c (x_update_subwindow): remove unused args.
5443
5444         * glyphs.c (glyph_image_instance): return the thing. Don't set the
5445         back pointer - this is done in allocate_image_instance.
5446         (query_string_font): return Qnil to make the compiler happy.
5447         (unmap_subwindow): set to ~0 to make the compiler happy.
5448         (glyph_query_geometry): comment out until used.
5449         (glyph_layout): ditto.
5450
5451 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
5452
5453         * insdel.c (signal_after_change): Remove extraneous unbind_to().