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