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