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