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