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