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