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