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