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