update.
[chise/xemacs-chise.git] / src / ChangeLog
1 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2
3         * mule-charset.c (char_byte_table): Change name from
4         "char-code-table" to "char-byte-table".
5         (mark_char_code_table): New function.
6         (char_code_table_equal): New function.
7         (char_code_table_hash): New function.
8         (char_code_table_description): New constant.
9         (char_code_table): New type.
10         (make_char_code_table): New function.
11         (copy_char_code_table): New function.
12         (get_char_code_table): Modify for `char_code_table' type.
13         (put_char_code_table): Likewise.
14         (vars_of_mule_charset): Update `utf-2000-version' to 0.12
15         (Kashiwara).
16
17         * char-ucs.h (char_code_table): New type.
18         (XCHAR_CODE_TABLE): New macro.
19         (XSETCHAR_CODE_TABLE): New macro.
20         (CHAR_CODE_TABLE_P): New macro.
21         (GC_CHAR_CODE_TABLE_P): New macro.
22         (struct Lisp_Char_Code_Table): New structure.
23
24 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
25
26         * mule-charset.c (Fmake_charset): Setup byte_offset for
27         {94|96}^n-set.
28
29 1999-11-09  MORIOKA Tomohiko  <tomo@urania.m17n.org>
30
31         * mule-charset.c (Fdefine_char): Fix problem with non-UCS
32         character.
33
34 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
35
36         * char-ucs.h (SPLIT_CHAR): Don't make new cell if a charset slot
37         is found.
38
39 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
40
41         * mule-charset.c (Fget_char_attribute): If ATTRIBUTE is a name of
42         charset, it is regarded as a charset.
43         (put_char_attribute): New function in UTF-2000.
44         (Fput_char_attribute): If ATTRIBUTE is a charset or a name of
45         charset, mapping-table of the charset is modified.
46         (Fdefine_char): New function in UTF-2000.
47         (Fset_charset_mapping_table): Use `put_char_attribute' instead of
48         `Fput_char_attribute'.
49         (syms_of_mule_charset): Add new function `define-char' and new
50         symbol `ucs' in UTF-2000.
51         (vars_of_mule_charset): Update `utf-2000-version' to 0.11 (Shiki).
52
53 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
54
55         * mule-charset.c (Fcharset_name): Define `byte_offset' in
56         non-UTF-2000 configuration.
57
58 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
59
60         * text-coding.c (char_encode_shift_jis): Use `charset_code_point'
61         not to use `XCHARSET_ENCODING_TABLE (Vcharset_latin_jisx0201)'.
62
63         * mule-charset.c (mark_charset): `cs->encoding_table' has been
64         deleted.
65         (make_charset): Don't use `CHARSET_ENCODING_TABLE(cs)'.
66         (Fset_charset_mapping_table): Likewise.
67
68         * char-ucs.h (struct Lisp_Charset): Delete `encoding_table'.
69         (CHARSET_ENCODING_TABLE): Delete.
70         (XCHARSET_ENCODING_TABLE): Delete.
71         (charset_code_point): New interface.
72
73 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
74
75         * text-coding.c (char_encode_iso2022): Use `charset_code_point'
76         instead of `charset_get_byte1' and `charset_get_byte2'.
77
78         * mule-charset.c, char-ucs.h (charset_get_byte1): Deleted.
79         (charset_get_byte2): Deleted.
80
81 1999-10-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
82
83         * char-ucs.h (SPLIT_CHAR): New inline function.
84         (breakup_char_1): Use `SPLIT_CHAR'.
85
86         * mule-charset.c (range_charset_code_point): New function.
87         (charset_code_point): New function.
88
89         * char-ucs.h (range_charset_code_point): New interface.
90         (breakup_char_1): Use `range_charset_code_point'.
91
92 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
93
94         * mule-charset.c (Fmake_charset): Delete unused local variable
95         `code_offset'.
96
97         * char-ucs.h (Vcharacter_attribute_table): New extern variable.
98         (breakup_char_1): Find a charset and code-point in
99         `Vcharacter_attribute_table'.
100
101 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
102
103         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
104         to 0.10 (Yao).
105
106 1999-10-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
107
108         * mule-charset.c (Vcharacter_attribute_table): New variable.
109         (Fchar_attribute_alist): New function.
110         (Fget_char_attribute): New function.
111         (Fput_char_attribute): New function.
112         (Fset_charset_mapping_table): Setup `Vcharacter_attribute_table'
113         too.
114         (syms_of_mule_charset): Add new function `char-attribute-alist',
115         `get-char-attribute' and `put-char-attribute'.
116         (vars_of_mule_charset): Setup `Vcharacter_attribute_table'.
117
118 1999-10-19  MORIOKA Tomohiko  <tomo@etl.go.jp>
119
120         * mule-charset.c (Fmake_charset): Just use
121         `get_unallocated_leading_byte'.
122
123         * char-ucs.h (LEADING_BYTE_*): Use ISO-IR numbers for official
124         sets; don't use final-byte based number for private sets.
125
126 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
127
128         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
129         integer.
130
131 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
132
133         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
134         to 0.9.
135
136 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
137
138         * regex.c (compile_extended_range): Use `CHAR_CHARSET_ID' instead
139         of `CHAR_LEADING_BYTE' in UTF-2000.
140
141         * insdel.c (find_charsets_in_bufbyte_string): Use
142         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
143         (find_charsets_in_emchar_string): Likewise.
144
145         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use
146         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
147
148         * char-ucs.h (CHAR_LEADING_BYTE): Deleted.
149         (CHAR_CHARSET_ID): New macro.
150
151 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
152
153         * chartab.c (get_char_table): Don't use type `Charset_ID' for
154         charset-id - MIN_LEADING_BYTE.
155         (put_char_table): Likewise.
156
157 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
158
159         * char-ucs.h (MIN_LEADING_BYTE): Changed to `-0x40'.
160         (NUM_LEADING_BYTES): Changed to (80 * 3 - MIN_LEADING_BYTE).
161         (CHARSET_LEADING_BYTE): Don't cast by `Bufbyte'.
162         (CHARSET_ID_OFFSET): New macro.
163         (LEADING_BYTE_CONTROL_1): Changed to (CHARSET_ID_OFFSET - 1).
164         (LEADING_BYTE_UCS_BMP): Changed to (CHARSET_ID_OFFSET - 2).
165         (LEADING_BYTE_LATIN_VISCII): Changed to (CHARSET_ID_OFFSET - 3).
166         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
167         4).
168         (LEADING_BYTE_KATAKANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
169         5).
170         (MIN_LEADING_BYTE_PRIVATE): Changed to `MIN_LEADING_BYTE'.
171         (MAX_LEADING_BYTE_PRIVATE): Changed to (CHARSET_ID_OFFSET - 6).
172         (CHARSET_ID_OFFSET_94): Changed to (CHARSET_ID_OFFSET - '0').
173         (CHARSET_ID_OFFSET_96): Changed to (CHARSET_ID_OFFSET_94 + 80).
174         (CHARSET_ID_OFFSET_94x94): Changed to (CHARSET_ID_OFFSET_96 + 80).
175
176 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
177
178         * mule-charset.c (next_allocated_leading_byte): New variable in
179         UTF-2000.
180         (next_allocated_1_byte_leading_byte): Don't define in UTF-2000.
181         (next_allocated_2_byte_leading_byte): Don't define in UTF-2000.
182         (get_unallocated_leading_byte): Simply use
183         `next_allocated_leading_byte' [ignore dimension] in UTF-2000.
184         (vars_of_mule_charset): Setup `next_allocated_leading_byte' in
185         UTF-2000.
186
187         * char-ucs.h (MIN_LEADING_BYTE_PRIVATE): New macro.
188         (MAX_LEADING_BYTE_PRIVATE): New macro.
189         (MIN_LEADING_BYTE_OFFICIAL_2): Deleted.
190         (MAX_LEADING_BYTE_OFFICIAL_2): Deleted.
191
192 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
193
194         * mule-charset.c (Fmake_charset): Allocate final-byte based
195         charset-id for 94-set, 96-set and 94x94-set.
196
197 1999-10-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
198
199         * mule-charset.c (char_byte_table_equal): Fill braces to avoid
200         ambiguous `else'.
201         (Fmake_charset): Likewise.
202         (complex_vars_of_mule_charset): Modify the font registry of
203         `ucs-bmp' not to match `Ethiopic-Unicode'.
204
205 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
206
207         * mule-charset.c (complex_vars_of_mule_charset): Add font
208         registory of `ucs-bmp'.
209
210 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
211
212         * text-coding.c (char_encode_iso2022): Ignore non-ISO-2022
213         coded-charsets in `default-coded-charset-priority-list' when
214         breaking up a character.
215
216         * mule-charset.c (Vcharset_latin_viscii): New variable.
217         (Qlatin_viscii): New variable.
218         (make_charset): Don't use `decoding_table'.
219         (Fmake_charset): Regard graphic = 2 as 256^n-set; setup
220         byte_offset.
221         (Fset_charset_mapping_table): New implementation.
222         (syms_of_mule_charset): Add new symbol `latin-viscii'.
223         (complex_vars_of_mule_charset): Set `graphic' attribute of charset
224         `ucs-bmp' and `latin_viscii' to 2; change font registry of charset
225         `latin-viscii-lower' to "MULEVISCII-LOWER"; change font registry
226         of charset `latin-viscii-upper' to "MULEVISCII-UPPER"; add new
227         charset `latin_viscii'.
228
229         * char-ucs.h (LEADING_BYTE_LATIN_VISCII): New macro.
230         (CHARSET_TYPE_94X94): Change to 1 from 2.
231         (CHARSET_TYPE_96): Change to 2 from 1.
232         (CHARSET_TYPE_128): New macro.
233         (CHARSET_TYPE_128X128): Change to 5 from 4.
234         (CHARSET_TYPE_256): New macro.
235         (CHARSET_TYPE_256X256): Change to 7 from 5.
236         (MAKE_CHAR): Use `XCHARSET_BYTE_OFFSET(charset)'.
237
238 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
239
240         * text-coding.c (char_encode_shift_jis): Refer
241         `XCHARSET_ENCODING_TABLE(Vcharset_latin_jisx0201)' instead of
242         `XCHARSET_TO_BYTE1_TABLE(Vcharset_latin_jisx0201)'.
243
244         * mule-charset.c (mark_char_byte_table): New function in UTF-2000.
245         (char_byte_table_equal): New function in UTF-2000.
246         (char_byte_table_hash): New function in UTF-2000.
247         (char_byte_table_description): New constant in UTF-2000.
248         (char_byte_table): New type in UTF-2000.
249         (make_char_byte_table): New function in UTF-2000.
250         (copy_char_byte_table): New function in UTF-2000.
251         (make_char_code_table): New macro in UTF-2000.
252         (get_char_code_table): New function in UTF-2000.
253         (put_char_code_table): New function in UTF-2000.
254         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
255         (charset_description): Add setting in UTF-2000.
256         (make_charset): Setup `CHARSET_ENCODING_TABLE(cs)' instead of
257         `CHARSET_TO_BYTE1_TABLE(cs)'.
258         (charset_get_byte1): Refer `XCHARSET_ENCODING_TABLE(charset)'
259         instead of `XCHARSET_TO_BYTE1_TABLE(charset)'.
260         (charset_get_byte2): Refer `XCHARSET_ENCODING_TABLE(charset)'
261         instead of `XCHARSET_TO_BYTE2_TABLE(charset)'.
262         (Fset_charset_mapping_table): Setup `CHARSET_ENCODING_TABLE(cs)'
263         instead of `CHARSET_TO_BYTE1_TABLE(cs)' and
264         `CHARSET_TO_BYTE2_TABLE(cs)'.
265
266         * char-ucs.h (char_byte_table): New type.
267         (XCHAR_BYTE_TABLE): New macro.
268         (XSETCHAR_BYTE_TABLE): New macro.
269         (CHAR_BYTE_TABLE_P): New macro.
270         (GC_CHAR_BYTE_TABLE_P): New macro.
271         (struct Lisp_Char_Byte_Table): New structure.
272         (get_char_code_table): New interface.
273         (Emchar_to_byte_table): Deleted.
274         (get_byte_from_character_table): Deleted.
275         (struct Lisp_Charset): Add `encoding_table'; delete
276         `to_byte1_table' and `to_byte2_table'.
277         (CHARSET_ENCODING_TABLE): New macro.
278         (CHARSET_TO_BYTE1_TABLE): Deleted.
279         (CHARSET_TO_BYTE2_TABLE): Deleted.
280         (XCHARSET_ENCODING_TABLE): New macro.
281         (XCHARSET_TO_BYTE1_TABLE): Deleted.
282         (XCHARSET_TO_BYTE2_TABLE): Deleted.
283
284 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
285
286         * mule-charset.c (syms_of_mule_charset): Delete charset alias
287         `vietnamese-viscii-*'.
288
289 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
290
291         * mule-charset.c (Qvietnamese_viscii_lower): New variable.
292         (Qvietnamese_viscii_upper): New variable.
293         (Fdefine_charset_alias): New function.
294         (syms_of_mule_charset): Add new function `define-charset-alias'.
295         (syms_of_mule_charset): Rename charset `vietnamese-viscii-*' to
296         `latin-viscii-*'; define `vietnamese-viscii-*' as aliases for
297         `latin-viscii-*'.
298
299 1999-10-04  MORIOKA Tomohiko  <tomo@etl.go.jp>
300
301         * char-ucs.h (MIN_CHAR_OBS_94x94): New macro.
302         (MAX_CHAR_OBS_94x94): New macro.
303         (breakup_char_1): Support obsolete XEmacs-UCS private code space
304         for 94x94 sets.
305
306         * mule-charset.c (put_byte_from_character_table): Change unit size
307         from 128 to 256.
308         (mark_charset): Don't mark `cs->decoding_table' if `UTF2000' is
309         not defined.
310         (Fmake_reverse_direction_charset): Modify dummy argument of
311         `make_charset' for non-UTF-2000 environment.
312
313 1999-10-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
314
315         * char-ucs.h (MAKE_CHAR): Allow nested decoding-table.
316
317         * mule-charset.c (destroy_byte_from_character_table): New macro.
318         (latin_jisx0201_to_ucs): Deleted.
319         (latin_iso8859_2_to_ucs): Deleted.
320         (latin_iso8859_3_to_ucs): Deleted.
321         (latin_iso8859_4_to_ucs): Deleted.
322         (latin_iso8859_9_to_ucs): Deleted.
323         (latin_viscii_lower_to_ucs): Deleted.
324         (latin_viscii_upper_to_ucs): Deleted.
325         (mark_charset): Mark `cs->decoding_table'.
326         (Fcharset_mapping_table): Fix DOC-string.
327         (Fset_charset_mapping_table): New function.
328         (syms_of_mule_charset): Add nwe function
329         `set-charset-mapping-table'.
330         (complex_vars_of_mule_charset): Don't setup and use
331         `latin_*_to_ucs'.
332
333 1999-10-01  MORIOKA Tomohiko  <tomo@urania.m17n.org>
334
335         * char-ucs.h (MAKE_CHAR): Check the result for range-represented
336         charset.
337
338 1999-09-30  MORIOKA Tomohiko  <tomo@urania.m17n.org>
339
340         * mule-charset.c (Vcharset_hiragana_jisx0208): New variable.
341         (Vcharset_katakana_jisx0208): New variable.
342         (Qhiragana_jisx0208): New variable.
343         (Qkatakana_jisx0208): New variable.
344         (make_charset): Add new argument `byte_offset'.
345         (charset_get_byte1): Modify for new coded-charset definition; use
346         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
347         `XCHARSET_BYTE_OFFSET'.
348         (Fmake_charset): Modify for `make_charset'.
349         (Fmake_reverse_direction_charset): Likewise.
350         (syms_of_mule_charset): Add new symbols `hiragana-jisx0208' and
351         `katakana-jisx0208'.
352         (complex_vars_of_mule_charset): Modify for `make_charset'; quote
353         `.'  in font registry of charset `katakana-jisx0201',
354         `latin-jisx0201', `vietnamese-viscii-lower' and
355         `vietnamese-viscii-upper'; modify DOC-string of charset
356         `japanese-jisx0208-1978' and `japanese-jisx0208'; modify font
357         registry of charset `japanese-jisx0208' not to use font for JIS
358         X0208:1990; add new charset `hiragana-jisx0208' and
359         `katakana-jisx0208'.
360
361         * char-ucs.h (LEADING_BYTE_HIRAGANA_JISX0208): New macro.
362         (LEADING_BYTE_KATAKANA_JISX0208): New macro.
363         (struct Lisp_Charset): Add `byte_offset'.
364         (CHARSET_BYTE_OFFSET): New macro.
365         (XCHARSET_UCS_MIN): New macro.
366         (XCHARSET_UCS_MAX): New macro.
367         (XCHARSET_CODE_OFFSET): New macro.
368         (XCHARSET_BYTE_OFFSET): New macro.
369         (MIN_CHAR_HIRAGANA): New macro.
370         (MAX_CHAR_HIRAGANA): New macro.
371         (MIN_CHAR_KATAKANA): New macro.
372         (MAX_CHAR_KATAKANA): New macro.
373         (MAKE_CHAR): Modify for new coded-charset definition; use
374         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
375         `XCHARSET_BYTE_OFFSET'.
376
377 1999-09-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
378
379         * mule-charset.c (CHAR96): Deleted.
380         (latin_jisx0201_to_ucs): Type is changed from array of <Emchar> to
381         <Lisp_Object>.
382         (latin_iso8859_2_to_ucs): Likewise.
383         (latin_iso8859_3_to_ucs): Likewise.
384         (latin_iso8859_4_to_ucs): Likewise.
385         (latin_iso8859_9_to_ucs): Likewise.
386         (latin_viscii_lower_to_ucs): Likewise.
387         (latin_viscii_upper_to_ucs): Likewise.
388         (latin_tcvn5712_to_ucs): Commented out.
389         (make_charset): Change type of argument `decoding_table' from
390         <Emchar*> to <Lisp_Object> [vector of characters].
391         (Fmake_charset): Modify for `make_charset'.
392         (Fmake_reverse_direction_charset): Likewise.
393         (Fcharset_mapping_table): New function in UTF-2000.
394         (syms_of_mule_charset): Setup `Fcharset_mapping_table' in
395         UTF-2000.
396         (complex_vars_of_mule_charset): Modify for type change of
397         `*_to_ucs'; modify for `make_charset'.
398
399         * char-ucs.h (struct Lisp_Charset): Change type of
400         `decoding_table' from <Emchar*> to <Lisp_Object>.
401         (MAKE_CHAR): Modify for new specification of `decoding_table'.
402
403 1999-09-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
404
405         * mule-charset.c (Fmake_reverse_direction_charset): Fix compile
406         error with non-UTF-2000-Mule.
407
408 1999-09-21  MORIOKA Tomohiko  <tomo@etl.go.jp>
409
410         * mule-charset.c (Vcharset_chinese_cns11643_3): Deleted [defined
411         in lisp again].
412         (Vcharset_chinese_cns11643_4): Likewise.
413         (Vcharset_chinese_cns11643_5): Likewise.
414         (Vcharset_chinese_cns11643_6): Likewise.
415         (Vcharset_chinese_cns11643_7): Likewise.
416         (Qchinese_cns11643_3): Likewise.
417         (Qchinese_cns11643_4): Likewise.
418         (Qchinese_cns11643_5): Likewise.
419         (Qchinese_cns11643_6): Likewise.
420         (Qchinese_cns11643_7): Likewise.
421         (syms_of_mule_charset): Move definitions for `chinese-cns11643-3',
422         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
423         and `chinese-cns11643-7' to lisp/mule/chinese.el.
424         (complex_vars_of_mule_charset): Likewise.
425
426 1999-09-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
427
428         * mule-charset.c (charset_get_byte1): Fix bug about 94- and
429         96-set.
430         (Fmake_reverse_direction_charset): Inherit CHARSET_DECODING_TABLE,
431         CHARSET_UCS_MIN, CHARSET_UCS_MAX and CHARSET_CODE_OFFSET.
432
433 1999-09-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
434
435         * char-ucs.h (MIN_CHAR_HALFWIDTH_KATAKANA): Changed to 0xFF61 from
436         0xFF60.
437         (MAKE_CHAR): Change offset for katakana-jisx0201 to 33 from 0x20.
438         (breakup_char_1): Likewise.
439
440         * text-coding.c (char_encode_iso2022): Keep designated charsets if
441         one of them includes the specified character.
442
443 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
444
445         * mule-charset.c: Update `utf-2000-version' to 0.8 (Kami).
446
447 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
448
449         * char-ucs.h (MAKE_CHAR): Fix problem in 2-dimension charset.
450
451 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
452
453         * mule-charset.c (latin_iso8859_2_to_ucs NULL): Add pseudo
454         definition for non-UTF-2000 Mule.
455         (latin_iso8859_3_to_ucs): Likewise.
456         (latin_iso8859_4_to_ucs): Likewise.
457         (latin_iso8859_9_to_ucs): Likewise.
458         (latin_jisx0201_to_ucs): Likewise.
459         (MIN_CHAR_THAI): Likewise.
460         (MAX_CHAR_THAI): Likewise.
461         (MIN_CHAR_GREEK): Likewise.
462         (MAX_CHAR_GREEK): Likewise.
463         (MIN_CHAR_HEBREW): Likewise.
464         (MAX_CHAR_HEBREW): Likewise.
465         (MIN_CHAR_HALFWIDTH_KATAKANA): Likewise.
466         (MAX_CHAR_HALFWIDTH_KATAKANA): Likewise.
467         (MIN_CHAR_CYRILLIC): Likewise.
468         (MAX_CHAR_CYRILLIC): Likewise.
469
470 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
471
472         * char-ucs.h (breakup_char_1): Use
473         `Vdefault_coded_charset_priority_list' for hebrew-iso8859-8,
474         thai-tis620 and katakana-jisx0201 area.
475
476 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
477
478         * char-ucs.h (breakup_char_1): Use
479         `Vdefault_coded_charset_priority_list' for cyrillic-iso8859-5
480         area.
481
482         * text-coding.c (reset_encoding_stream): Fixed.
483         (char_encode_ucs4): Delete `& 255'.
484
485         * char-ucs.h (breakup_char_1): Use
486         `Vdefault_coded_charset_priority_list' for greek-iso8859-7 area.
487
488 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
489
490         * file-coding.c (Fmake_coding_system): Don't set up
491         `codesys->fixed.size'.
492         (encode_coding_no_conversion): Don't refer
493         `str->codesys->fixed.size'.
494
495 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
496
497         * mule-charset.c, char-ucs.h (latin_a_char_to_charset): Deleted.
498         (latin_a_char_to_byte1): Deleted.
499         (latin_a_char_to_byte2): Deleted.
500
501 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
502
503         * mule-charset.c (make_charset): Add new argument `ucs_min',
504         `ucs_max' and `code_offset'.
505         (charset_get_byte1): New implementation [delete specific charset
506         depended implementations].
507         (Fmake_charset): Modify for `make_charset'.
508         (Fmake_reverse_direction_charset): Likewise.
509         (complex_vars_of_mule_charset): Likewise.
510
511         * char-ucs.h (struct Lisp_Charset): Add `ucs_min', `ucs_max' and
512         `code_offset'.
513         (CHARSET_UCS_MIN): New macro.
514         (CHARSET_UCS_MAX): New macro.
515         (CHARSET_CODE_OFFSET): New macro.
516         (MAKE_CHAR): Delete charset depended definitions [except
517         katakana-jisx0201].
518
519 1999-09-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
520
521         * char-ucs.h (breakup_char_1): Use
522         `Vdefault_coded_charset_priority_list' for C0-Controls,
523         Basic-Latin, C1-Controls and Latin-1-Supplement area.
524
525 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
526
527         * char-ucs.h (charset_get_byte1): New function.
528         (XCHARSET_GET_BYTE1): Deleted.
529         (charset_get_byte2): New function.
530         (XCHARSET_GET_BYTE2): Deleted.
531         (Vdefault_coded_charset_priority_list): New external variable.
532         (breakup_char_1): Use `charset_get_byte1', `charset_get_byte2' and
533         `Vdefault_preferred_coded_charset_list'.
534
535         * mule-charset.c (charset_get_byte1): New function.
536         (charset_get_byte2): New function.
537         (Vdefault_coded_charset_priority_list): New variable.
538         (vars_of_mule_charset): Add new variable
539         `default-coded-charset-priority-list'.
540
541 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
542
543         * char-ucs.h (XCHARSET_GET_BYTE1): New inline function.
544         (XCHARSET_GET_BYTE2): New inline function.
545         (breakup_char_1): Use `XCHARSET_GET_BYTE1' and
546         `XCHARSET_GET_BYTE2'.
547
548 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
549
550         * mule-charset.c (make_charset): Initialize
551         `CHARSET_TO_BYTE1_TABLE(cs)' and `CHARSET_TO_BYTE2_TABLE(cs)' by
552         NULL if table is not defined.
553
554 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
555
556         * text-coding.c (char_encode_shift_jis): Use
557         `XCHARSET_TO_BYTE1_TABLE' for `Vcharset_latin_jisx0201' instead of
558         `ucs_to_latin_jisx0201'.
559
560         * mule-charset.c (ucs_to_latin_jisx0201): Deleted.
561         (ucs_to_latin_iso8859_2): Deleted.
562         (ucs_to_latin_iso8859_3): Deleted.
563         (ucs_to_latin_iso8859_4): Deleted.
564         (ucs_to_latin_iso8859_9): Deleted.
565         (ucs_to_latin_viscii_lower): Deleted.
566         (ucs_to_latin_viscii_upper): Deleted.
567         (ucs_to_latin_tcvn5712): Deleted.
568         (make_charset): Add new argument `decoding_table'; set up
569         `CHARSET_DECODING_TABLE(cs)' in UTF-2000; set up
570         `CHARSET_TO_BYTE1_TABLE(cs)' for 94-set and 96-set if
571         `decoding_table' is defined in UTF-2000.
572         (Fmake_charset): Modify for `make_charset'.
573         (Fmake_reverse_direction_charset): Likewise.
574         (complex_vars_of_mule_charset): Likewise; delete `GENERATE_94_SET'
575         and `GENERATE_96_SET'.
576
577         * char-ucs.h (latin_jisx0201_to_ucs): Deleted.
578         (ucs_to_latin_jisx0201): Deleted.
579         (latin_iso8859_2_to_ucs): Deleted.
580         (ucs_to_latin_iso8859_2): Deleted.
581         (latin_iso8859_3_to_ucs): Deleted.
582         (ucs_to_latin_iso8859_3): Deleted.
583         (latin_iso8859_4_to_ucs): Deleted.
584         (ucs_to_latin_iso8859_4): Deleted.
585         (latin_iso8859_9_to_ucs): Deleted.
586         (ucs_to_latin_iso8859_9): Deleted.
587         (latin_viscii_lower_to_ucs): Deleted.
588         (ucs_to_latin_viscii_lower): Deleted.
589         (latin_viscii_upper_to_ucs): Deleted.
590         (ucs_to_latin_viscii_upper): Deleted.
591         (struct Lisp_Charset): Renamed `encoding_table' to
592         `to_byte1_table'; add `to_byte2_table'.
593         (CHARSET_DECODING_TABLE): New macro.
594         (CHARSET_TO_BYTE1_TABLE): New macro.
595         (CHARSET_TO_BYTE2_TABLE): New macro.
596         (XCHARSET_DECODING_TABLE): New macro.
597         (XCHARSET_TO_BYTE1_TABLE): New macro.
598         (XCHARSET_TO_BYTE2_TABLE): New macro.
599         (MAKE_CHAR): Use `XCHARSET_DECODING_TABLE'; don't use `*_to_ucs'
600         tables.
601         (breakup_char_1): Use `XCHARSET_TO_BYTE1_TABLE' if it is defined;
602         don't use `ucs_to_*' tables.
603
604 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
605
606         * text-coding.c (Fmake_coding_system): Don't set up
607         `codesys->fixed.size'.
608         (encode_coding_no_conversion): Use `if' instead of `switch'.
609
610         * file-coding.h (struct Lisp_Coding_System): Delete `fixed.size'.
611
612 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
613
614         * mule-charset.c (make_charset): Delete argument `rep_bytes'.
615         (Fmake_charset): Modify for `make_charset'.
616         (Fmake_reverse_direction_charset): Likewise.
617         (complex_vars_of_mule_charset): Likewise.
618
619 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
620
621         * text-coding.c (char_encode_shift_jis): Use table
622         `ucs_to_latin_jisx0201' and BREAKUP_CHAR.
623
624 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
625
626         * text-coding.c (text_encode_generic): Use `if' instead of
627         `switch'.
628         (decode_coding_sjis): Use `MAKE_CHAR' and `DECODE_ADD_UCS_CHAR' to
629         decode JIS-Latin.
630
631 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
632
633         * text-coding.c (encode_coding_sjis): Deleted.
634         (char_encode_shift_jis): New function.
635         (char_finish_shift_jis): New function.
636         (reset_encoding_stream): Set up `encode_char' and `finish' for
637         `CODESYS_UCS4' and `CODESYS_SHIFT_JIS'.
638         (mule_encode): Use generic encoder for `CODESYS_SHIFT_JIS'.
639         (char_encode_utf8): Treat `eol_type'.
640
641 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
642
643         * file-coding.c (decode_coding_iso2022): Use
644         `DECODE_ADD_UCS_CHAR'; don't use `XCHARSET_REP_BYTES'.
645
646 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
647
648         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
649         to 0.7 (Hirano).
650
651 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
652
653         * char-lb.h (CHAR_COLUMNS): New macro.
654
655 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
656
657         * text-coding.c (char_encode_ucs4): New function.
658         (char_finish_ucs4): New function.
659         (encode_coding_ucs4): Deleted.
660         (mule_encode): Use generic encoder for `CODESYS_UCS4'.
661         (text_encode_generic): Delete local variable `charset' and `half'.
662         (ucs_to_mule_table): Deleted.
663         (mule_to_ucs_table): Deleted.
664         (Fset_ucs_char): Deleted.
665         (ucs_to_char): Deleted.
666         (Fucs_char): Deleted.
667         (Fset_char_ucs): Deleted.
668         (Fchar_ucs): Deleted.
669         (decode_ucs4): Deleted.
670         (mule_char_to_ucs4): Deleted.
671         (encode_ucs4): Deleted.
672         (decode_coding_ucs4): Use `DECODE_ADD_UCS_CHAR'.
673         (decode_coding_utf8): Likewise.
674         (decode_coding_iso2022): Likewise; don't use `XCHARSET_REP_BYTES'.
675         (char_encode_iso2022): Fixed.
676         (syms_of_file_coding): Delete `Fset_ucs_char', `Fucs_char',
677         `Fset_char_ucs' and `Fchar_ucs'.
678         (complex_vars_of_file_coding): Don't initialize
679         `ucs_to_mule_table'.
680
681         * objects-tty.c (tty_initialize_font_instance): Don't use
682         `XCHARSET_COLUMNS'.
683
684         * mule-charset.c (make_charset): Don't set up CHARSET_REP_BYTES in
685         UTF-2000.
686
687         * redisplay-tty.c (tty_output_display_block): Use `CHAR_COLUMNS'
688         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
689
690         * insdel.c (bufbyte_string_displayed_columns): Use `CHAR_COLUMNS'
691         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
692         (emchar_string_displayed_columns): Likewise.
693
694         * indent.c (column_at_point): Use `CHAR_COLUMNS' instead of
695         `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
696         (string_column_at_point): Likewise.
697         (Fmove_to_column): Likewise.
698
699         * char-ucs.h (struct Lisp_Charset): Delete `rep_bytes'; add
700         `encoding_table' and `decoding_table'.
701         (CHARSET_REP_BYTES): Deleted.
702         (XCHARSET_REP_BYTES): Deleted.
703         (XCHARSET_COLUMNS): Deleted.
704         (CHAR_COLUMNS): New macro.
705         (lookup_composite_char): Deleted unconditionally.
706         (composite_char_string): Likewise.
707
708 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
709
710         * char-ucs.h (Emchar_to_byte_table): New type.
711         (get_byte_from_character_table): New function interface.
712         (Vcharset_latin_jisx0201): New variable.
713         (latin_jisx0201_to_ucs): New variable.
714         (ucs_to_latin_jisx0201): New variable.
715         (Vcharset_latin_iso8859_2): New variable.
716         (latin_iso8859_2_to_ucs): New variable.
717         (ucs_to_latin_iso8859_2): New variable.
718         (Vcharset_latin_iso8859_3): New variable.
719         (latin_iso8859_3_to_ucs): New variable.
720         (ucs_to_latin_iso8859_3): New variable.
721         (Vcharset_latin_iso8859_4): New variable.
722         (latin_iso8859_4_to_ucs): New variable.
723         (ucs_to_latin_iso8859_4): New variable.
724         (Vcharset_latin_iso8859_9): New variable.
725         (latin_iso8859_9_to_ucs): New variable.
726         (ucs_to_latin_iso8859_9): New variable.
727         (Vcharset_latin_viscii_lower): New variable.
728         (latin_viscii_lower_to_ucs): New variable.
729         (ucs_to_latin_viscii_lower): New variable.
730         (Vcharset_latin_viscii_upper): New variable.
731         (latin_viscii_upper_to_ucs): New variable.
732         (ucs_to_latin_viscii_upper): New variable.
733         (CHARSET_ID_OFFSET_94): Changed from 0x60 to 0x55.
734         (LEADING_BYTE_LATIN_VISCII_LOWER): New macro.
735         (LEADING_BYTE_LATIN_VISCII_UPPER): New macro.
736         (MAKE_CHAR): Map `latin-iso8859-2', `latin-iso8859-3',
737         `latin-iso8859-4', `latin-iso8859-9', `latin-jisx0201',
738         `vietnamese-viscii-lower' and `vietnamese-viscii-upper' to BMP.
739         (breakup_char_1): Use `ucs_to_latin_iso8859_2',
740         `ucs_to_latin_iso8859_3', `ucs_to_latin_iso8859_4',
741         `ucs_to_latin_iso8859_9', `ucs_to_latin_viscii_lower',
742         `ucs_to_latin_viscii_upper' and `ucs_to_latin_jisx0201' tables.
743
744         * mule-charset.c (Vcharset_latin_viscii_lower): New variable.
745         (Vcharset_latin_viscii_upper): New variable.
746         (make_byte_from_character_table): New function.
747         (put_byte_from_character_table): New function.
748         (get_byte_from_character_table): New function.
749         (CHAR96): New macro.
750         (ucs_to_latin_jisx0201): New variable.
751         (latin_jisx0201_to_ucs): New variable.
752         (ucs_to_latin_iso8859_2): New variable.
753         (latin_iso8859_2_to_ucs): New variable.
754         (ucs_to_latin_iso8859_3): New variable.
755         (latin_iso8859_3_to_ucs): New variable.
756         (ucs_to_latin_iso8859_4): New variable.
757         (latin_iso8859_4_to_ucs): New variable.
758         (ucs_to_latin_iso8859_9): New variable.
759         (latin_iso8859_9_to_ucs): New variable.
760         (ucs_to_latin_viscii_lower): New variable.
761         (latin_viscii_lower_to_ucs): New variable.
762         (ucs_to_latin_viscii_upper): New variable.
763         (latin_viscii_upper_to_ucs): New variable.
764         (ucs_to_latin_tcvn5712): New variable.
765         (latin_tcvn5712_to_ucs): New variable.
766         (Qlatin_viscii_lower): New variable.
767         (Qlatin_viscii_upper): New variable.
768         (syms_of_mule_charset): Set up new symbol
769         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'.
770         (complex_vars_of_mule_charset): Set up new charset
771         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'; new macro
772         `GENERATE_94_SET' and `GENERATE_96_SET'; use them to generate
773         `ucs_to_<CHARSET>' tables.
774
775 1999-09-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
776
777         * text-coding.c: New file.
778
779 1999-09-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
780
781         * mule-charset.c (Fmake_char): Fix problem of 256-set.
782
783         * char-ucs.h (Vcharset_ucs_bmp): New variable.
784         (MAKE_CHAR): Modify for `ucs-bmp'.
785         (breakup_char_1): Return `ucs-bmp' and code point of BMP for
786         non-MULE characters of BMP.
787
788 1999-09-06  MORIOKA Tomohiko  <tomo@etl.go.jp>
789
790         * mule-charset.c (vars_of_mule_charset):
791         Update `utf-2000-version' to 0.6.
792
793 1999-09-05  MORIOKA Tomohiko  <tomo@urania.m17n.org>
794
795         * lstream.h:
796         - Include multibyte.h instead of character.h for `BYTE_ASCII_P'.
797         - Include character.h for `CHAR_ASCII_P'.
798
799         * mb-multibyte.h (CHAR_MULTIBYTE_P): Moved from mule-charset.h.
800
801         * mule-charset.h (CHAR_MULTIBYTE_P): Moved to mb-multibyte.h.
802         (CHAR_ASCII_P): Don't use `CHAR_MULTIBYTE_P'.
803
804         * mb-multibyte.h (BYTE_ASCII_P): Moved from char-ucs.h.
805         (BYTE_C0_P): Likewise.
806         (BYTE_C1_P): Likewise.
807         (Lstream_get_emchar_1): Likewise.
808         (Lstream_fput_emchar): Likewise.
809         (Lstream_funget_emchar): Likewise.
810         (copy_internal_to_external): Likewise.
811         (copy_external_to_internal): Likewise.
812
813         * char-ucs.h (BYTE_ASCII_P): Moved to mb-multibyte.h.
814         (BYTE_C0_P): Likewise.
815         (BYTE_C1_P): Likewise.
816         (Lstream_get_emchar_1): Likewise.
817         (Lstream_fput_emchar): Likewise.
818         (Lstream_funget_emchar): Likewise.
819         (copy_internal_to_external): Likewise.
820         (copy_external_to_internal): Likewise.
821
822         * mb-1byte.h (BYTE_ASCII_P): Moved from buffer.h.
823         (REP_BYTES_BY_FIRST_BYTE): Likewise.
824
825         * buffer.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-1byte.h.
826         (BYTE_ASCII_P): Moved to mb-1byte.h.
827
828 1999-09-04  MORIOKA Tomohiko  <tomo@urania.m17n.org>
829
830         * mb-utf-8.h, mb-lb.h: Include mb-multibyte.h.
831
832         * multibyte.h: Include mb-1byte.h in unibyte-XEmacs.
833         (MAX_EMCHAR_LEN): Moved to mb-1byte.h.
834         (VALID_CHARPTR_P): Moved to mb-*byte.h.
835         (VALIDATE_CHARPTR_BACKWARD): Likewise.
836         (VALIDATE_CHARPTR_FORWARD): Likewise.
837         (simple_charptr_emchar): Moved to mb-multibyte.h.
838         (simple_set_charptr_emchar): Likewise.
839         (simple_charptr_copy_char): Likewise.
840         (non_ascii_charptr_emchar): Likewise.
841         (non_ascii_set_charptr_emchar): Likewise.
842         (non_ascii_charptr_copy_char): Likewise.
843         (charptr_emchar): Moved to mb-*byte.h.
844         (set_charptr_emchar): Likewise.
845         (charptr_copy_char): Likewise.
846
847         * mb-1byte.h, mb-multibyte.h: New files.
848
849 1999-09-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
850
851         * mb-utf-8.h (MULTIBYTE): New macro.
852         (MAX_EMCHAR_LEN): Moved from buffer.h.
853         (REP_BYTES_BY_FIRST_BYTE): Moved from char-ucs.h.
854
855         * char-ucs.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-utf-8.h.
856
857         * mb-lb.h, multibyte.h: New files.
858
859         * char-1byte.h (Charset_ID): Moved from buffer.h.
860         (MIN_LEADING_BYTE): Likewise.
861         (LEADING_BYTE_ASCII): Likewise.
862         (NUM_LEADING_BYTES): Likewise.
863         (CHARSETP): Likewise.
864         (CHARSET_BY_LEADING_BYTE): Likewise.
865         (XCHARSET_LEADING_BYTE): Likewise.
866         (XCHARSET_GRAPHIC): Likewise.
867         (XCHARSET_COLUMNS): Likewise.
868         (XCHARSET_DIMENSION): Likewise.
869         (CHAR_CHARSET): Likewise.
870         (CHAR_LEADING_BYTE): Likewise.
871         (BREAKUP_CHAR): Likewise.
872         (Vcharset_ascii): Likewise.
873
874         * buffer.h: Include multibyte.h unconditionally.
875         (VALID_CHARPTR_P): Moved to multibyte.h.
876         (ASSERT_VALID_CHARPTR): Likewise.
877         (REAL_INC_CHARPTR): Likewise.
878         (REAL_INC_CHARBYTIND): Likewise.
879         (REAL_DEC_CHARPTR): Likewise.
880         (INC_CHARPTR): Likewise.
881         (INC_CHARBYTIND): Likewise.
882         (DEC_CHARPTR): Likewise.
883         (VALIDATE_CHARPTR_BACKWARD): Likewise.
884         (VALIDATE_CHARPTR_FORWARD): Likewise.
885         (charptr_n_addr): Likewise.
886         (MAX_EMCHAR_LEN): Moved to mb-*.h.
887         (simple_charptr_emchar): Moved to multibyte.h.
888         (simple_set_charptr_emchar): Likewise.
889         (simple_charptr_copy_char): Likewise.
890         (non_ascii_charptr_emchar): Likewise.
891         (non_ascii_set_charptr_emchar): Likewise.
892         (non_ascii_charptr_copy_char): Likewise.
893         (charptr_emchar): Likewise.
894         (set_charptr_emchar): Likewise.
895         (charptr_copy_char): Likewise.
896         (charptr_emchar_n): Likewise.
897         (Charset_ID): Moved to char-1byte.h.
898         (Vcharset_ascii): Likewise.
899         (CHAR_CHARSET): Likewise.
900         (CHAR_LEADING_BYTE): Likewise.
901         (LEADING_BYTE_ASCII): Likewise.
902         (NUM_LEADING_BYTES): Likewise.
903         (MIN_LEADING_BYTE): Likewise.
904         (CHARSETP): Likewise.
905         (CHARSET_BY_LEADING_BYTE): Likewise.
906         (XCHARSET_LEADING_BYTE): Likewise.
907         (XCHARSET_GRAPHIC): Likewise.
908         (XCHARSET_COLUMNS): Likewise.
909         (XCHARSET_DIMENSION): Likewise.
910         (BREAKUP_CHAR): Likewise.
911
912 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
913
914         * character.h: Add document about interface for characters.
915
916         * char-ucs.h (CHAR_ASCII_P): Modify name of argument.
917         (MAKE_CHAR): Delete comment about
918         `FIELD2_TO_OFFICIAL_LEADING_BYTE' and
919         `FIELD2_TO_PRIVATE_LEADING_BYTE'.
920         (BREAKUP_CHAR): Modify name of arguments.
921         (CHAR_CHARSET): Modify name of argument.
922
923         * buffer.h: Delete document about Emchar accessors.
924
925 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
926
927         * character.h (CHAR_INTP): Moved from buffer.h
928         (CHAR_OR_CHAR_INTP): Likewise.
929         (XCHAR_OR_CHAR_INT): Likewise.
930         (CHECK_CHAR_COERCE_INT): Likewise.
931
932         * buffer.h (CHAR_INTP): Moved to character.h
933         (CHAR_OR_CHAR_INTP): Likewise.
934         (XCHAR_OR_CHAR_INT): Likewise.
935         (CHECK_CHAR_COERCE_INT): Likewise.
936
937 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
938
939         * character.h:
940         - Move definitions about UCS-2000 (UCS-4) to char-ucs.h.
941         - Include char-1byte.h, char-lb.h or char-ucs.h.
942
943         * mb-utf-8.h (CHAR_ASCII_P): Moved to char-ucs.h.
944
945         * buffer.h: Include character unconditionally.
946         (valid_char_p): Moved to char-*.h.
947         (non_ascii_valid_char_p): Moved to char-lb.h.
948
949         * char-1byte.h, char-lb.h, char-ucs.h: New files.
950
951 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
952
953         * mule-ccl.c (ccl_driver): Don't define `CCL_WriteMultibyteChar2'
954         in UTF-2000 because it is not ported yet and not to use
955         `FIELD2_TO_OFFICIAL_LEADING_BYTE', `MIN_LEADING_BYTE_OFFICIAL_2',
956         `FIELD1_TO_OFFICIAL_LEADING_BYTE' and
957         `FIELD1_TO_PRIVATE_LEADING_BYTE'.
958
959         * mb-utf-8.h (CHAR_MULTIBYTE_P): Moved from character.h.
960         (CHAR_ASCII_P): Moved from character.h.
961
962         * character.h (CHAR_MULTIBYTE_P): Moved to mb-utf-8.h.
963         (CHAR_ASCII_P): Likewise.
964         (CHAR_FIELD1_MASK): Deleted.
965         (CHAR_FIELD2_MASK): Deleted.
966         (CHAR_FIELD3_MASK): Deleted.
967         (MAX_CHAR_BASIC_LATIN): New macro.
968         (CHAR_FIELD1): Deleted.
969         (CHAR_FIELD2_INTERNAL): Deleted.
970         (CHAR_FIELD3_INTERNAL): Deleted.
971         (FIELD1_TO_PRIVATE_LEADING_BYTE): Deleted.
972         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Deleted.
973         (FIELD2_TO_PRIVATE_LEADING_BYTE): Deleted.
974         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Deleted.
975         (MIN_CHAR_FIELD1_OFFICIAL): Deleted.
976         (MAX_CHAR_FIELD1_OFFICIAL): Deleted.
977         (MIN_CHAR_FIELD2_PRIVATE): Deleted.
978         (MAX_CHAR_FIELD2_PRIVATE): Deleted.
979         (MIN_CHAR_FIELD1_PRIVATE): Deleted.
980         (MAX_CHAR_FIELD1_PRIVATE): Deleted.
981         (MULE_CHAR_PRIVATE_OFFSET): Deleted.
982         (MIN_CHAR_PRIVATE_TYPE9N): Deleted.
983         (MAX_CHAR_PRIVATE_TYPE9N): Deleted.
984         (MIN_CHAR_PRIVATE_TYPE9NX9N): Deleted.
985         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Deleted.
986         (MIN_CHAR_COMPOSITION): Deleted.
987         (breakup_char_1): Use `MAX_CHAR_BASIC_LATIN' instead of
988         `CHAR_ASCII_P'; use `0x7f' instead of `CHAR_FIELD3_INTERNAL'.
989
990 1999-09-02  MORIOKA Tomohiko  <tomo@m17n.org>
991
992         * buffer.h: Include mb-utf-8.h in UTF-2000.
993
994         * character.h (BUFBYTE_FIRST_BYTE_P): Moved to mb-utf-8.h.
995
996         * mb-utf-8.h: New file.
997
998 1999-09-02  MORIOKA Tomohiko  <tomo@etl.go.jp>
999
1000         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use `Charset_ID'
1001         instead of `int'.
1002
1003         * mule-charset.h, buffer.h (Charset_ID): New type.
1004
1005 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
1006
1007         * mule-canna.c (c2mu): Use `MAKE_CHAR',
1008         `Vcharset_japanese_jisx0212' and `Vcharset_japanese_jisx0208'
1009         instead of `MULE_CHAR_PRIVATE_OFFSET',
1010         `LEADING_BYTE_JAPANESE_JISX0212', `LEADING_BYTE_JAPANESE_JISX0208'
1011         and `FIELD1_TO_OFFICIAL_LEADING_BYTE'.
1012         (m2c): Use `BREAKUP_CHAR' and `XCHARSET_FINAL'.
1013
1014         * character.h (Vcharset_japanese_jisx0212): New variable
1015         definition.
1016
1017 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
1018
1019         * mule-charset.c (Vcharset_ucs_bmp): New variable in UTF-2000.
1020         (charset_by_attributes): Delete array about direction.
1021         (latin_a_char_to_charset): New variable in UTF-2000.
1022         (latin_a_char_to_byte1): New variable in UTF-2000.
1023         (latin_a_char_to_byte2): New variable in UTF-2000.
1024         (Qucs_bmp): New variable.
1025         (next_allocated_1_byte_leading_byte): Use `Charset_ID' instead of
1026         `Bufbyte'.
1027         (next_allocated_2_byte_leading_byte): Likewise.
1028         (non_ascii_set_charptr_emchar): Likewise.
1029         (make_charset): Likewise; add `CHARSET_TYPE_128X128' and
1030         `CHARSET_TYPE_256X256' in UTF-2000; modify for
1031         `charset_by_attributes'.
1032         (get_unallocated_leading_byte): Use `Charset_ID' instead of `int'.
1033         (char-charset): Use `CHAR_CHARSET' instead of `CHAR_LEADING_BYTE'
1034         and `CHARSET_BY_LEADING_BYTE'.
1035         (syms_of_mule_charset): Set up `ucs-bmp'; move setting of
1036         `utf-2000-version' to `vars_of_mule_charset'.
1037         (vars_of_mule_charset): Modify for `charset_by_attributes'; don't
1038         define `leading-code-private-11' in UTF-2000; move setting of
1039         `utf-2000-version' from `syms_of_mule_charset'.
1040         (complex_vars_of_mule_charset): Set up charset `ucs-bmp' in
1041         UTF-2000.
1042
1043         * character.h (Charset_ID): New type.
1044         (LEADING_BYTE_UCS_BMP): New macro.
1045         (LEADING_BYTE_CONTROL_1): Changed from 0x8F to 0x81.
1046         (CHARSET_ID_OFFSET_94): New macro.
1047         (MIN_CHARSET_ID_PRIVATE_94): New macro.
1048         (MAX_CHARSET_ID_PRIVATE_94): New macro.
1049         (LEADING_BYTE_ASCII): Changed to use CHARSET_ID_OFFSET_94 and
1050         final-byte.
1051         (LEADING_BYTE_KATAKANA_JISX0201): Likewise.
1052         (LEADING_BYTE_LATIN_JISX0201): Likewise.
1053         (CHARSET_ID_OFFSET_96): New macro.
1054         (LEADING_BYTE_LATIN_ISO8859_1): Changed to use
1055         CHARSET_ID_OFFSET_96 and final-byte.
1056         (LEADING_BYTE_LATIN_ISO8859_2): Likewise.
1057         (LEADING_BYTE_LATIN_ISO8859_3): Likewise.
1058         (LEADING_BYTE_LATIN_ISO8859_4): Likewise.
1059         (LEADING_BYTE_GREEK_ISO8859_7): Likewise.
1060         (LEADING_BYTE_ARABIC_ISO8859_6): Likewise.
1061         (LEADING_BYTE_HEBREW_ISO8859_8): Likewise.
1062         (LEADING_BYTE_CYRILLIC_ISO8859_5): Likewise.
1063         (LEADING_BYTE_LATIN_ISO8859_9): Likewise.
1064         (LEADING_BYTE_THAI_TIS620): Likewise.
1065         (MIN_LEADING_BYTE_PRIVATE_1): Changed from 0x0D0 to 0xD0.
1066         (MAX_LEADING_BYTE_PRIVATE_1): Changed from 0x11f to 0xDF.
1067         (CHARSET_ID_OFFSET_94x94): New macro.
1068         (LEADING_BYTE_CHINESE_BIG5_1): Changed to use
1069         CHARSET_ID_OFFSET_94x94 and final-byte.
1070         (LEADING_BYTE_CHINESE_BIG5_2): Likewise.
1071         (MIN_LEADING_BYTE_PRIVATE_2): Likewise.
1072         (MAX_LEADING_BYTE_PRIVATE_2): Likewise.
1073         (LEADING_BYTE_JAPANESE_JISX0208_1978): Likewise.
1074         (LEADING_BYTE_CHINESE_GB2312): Likewise.
1075         (LEADING_BYTE_JAPANESE_JISX0208): Likewise.
1076         (LEADING_BYTE_KOREAN_KSC5601): Likewise.
1077         (LEADING_BYTE_JAPANESE_JISX0212): Likewise.
1078         (LEADING_BYTE_CHINESE_CCITT_GB): Likewise.
1079         (LEADING_BYTE_CHINESE_CNS11643_*): Likewise.
1080         (LEADING_BYTE_KOREAN_KPS9566): Likewise.
1081         (CHARSET_TYPE_128X128): New macro.
1082         (CHARSET_TYPE_256X256): New macro.
1083         (XCHARSET_PRIVATE_P): Delete unconditionally.
1084         (charset_by_attributes): Delete array about direction.
1085         (CHARSET_BY_LEADING_BYTE): Use `Charset_ID' instead of `int'.
1086         (CHARSET_BY_ATTRIBUTES): Modify for `charset_by_attributes'.
1087         (MIN_CHAR_94): New macro.
1088         (MAX_CHAR_94): New macro.
1089         (MIN_CHAR_96): New macro.
1090         (MAX_CHAR_96): New macro.
1091         (MIN_CHAR_94x94): New macro.
1092         (MAX_CHAR_94x94): New macro.
1093         (MIN_CHAR_96x96): New macro.
1094         (MAX_CHAR_96x96): New macro.
1095         (FIELD1_TO_PRIVATE_LEADING_BYTE): Use `CHARSET_ID_OFFSET_94x94'.
1096         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
1097         (FIELD2_TO_PRIVATE_LEADING_BYTE): Use `(MIN_LEADING_BYTE_PRIVATE_1
1098         - 32)'.
1099         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Use `LEADING_BYTE_ASCII'.
1100         (MIN_CHAR_FIELD2_OFFICIAL): Deleted.
1101         (MAX_CHAR_FIELD2_OFFICIAL): Deleted.
1102         (MIN_CHAR_OFFICIAL_TYPE9N): Deleted.
1103         (MAX_CHAR_PRIVATE_TYPE9N): Changed.
1104         (MAKE_CHAR): Use `XCHARSET_FINAL' instead of
1105         `XCHARSET_LEADING_BYTE' to make code-point.
1106         (latin_a_char_to_charset): New variable.
1107         (latin_a_char_to_byte1): New variable.
1108         (latin_a_char_to_byte2): New variable.
1109         (breakup_char_1): Use `latin_a_char_to_{charset|byte1|byte2}' for
1110         Latin Extended-A; use `CHARSET_BY_ATTRIBUTES' instead of
1111         `CHARSET_BY_LEADING_BYTE' to get charset for ISO-2022 characters.
1112
1113         * insdel.c (find_charsets_in_bufbyte_string): Use `Charset_ID'
1114         instead of `unsigned char'; use `MIN_LEADING_BYTE' instead of 128.
1115         (find_charsets_in_emchar_string): Likewise.
1116         (vars_of_insdel): Don't define local variable `i' in UTF-2000.
1117
1118         * file-coding.c (Fdecode_big5_char): Use `Charset_ID' instead of
1119         `int'.
1120         (decode_coding_iso2022): Likewise.
1121
1122         * toolbar-x.c (x_output_toolbar_button): Use `Charset_ID' instead
1123         of `unsigned char'.
1124
1125         * redisplay.c (redisplay_text_width_emchar_string): Use
1126         `Charset_ID' instead of `unsigned char'.
1127         (redisplay_frame_text_width_string): Likewise.
1128
1129         * glyphs.c (glyph_height_internal): Use `Charset_ID' instead of
1130         `unsigned char'.
1131
1132         * faces.h, faces.c (ensure_face_cachel_complete): Use `Charset_ID'
1133         instead of `unsigned char'.
1134         (face_cachel_charset_font_metric_info): Likewise.
1135
1136         * chartab.c (print_char_table): Use `Charset_ID' instead of `int'.
1137         (get_non_ascii_char_table_value): Likewise.
1138         (get_char_table): Likewise.
1139         (put_char_table): Likewise.
1140         (map_over_other_charset): Likewise.
1141         (map_char_table): Likewise.
1142
1143         * buffer.h (find_charsets_in_bufbyte_string): Use `Charset_ID'
1144         instead of `unsigned char'.
1145
1146 1999-08-31  MORIOKA Tomohiko  <tomo@etl.go.jp>
1147
1148         * character.h (PRE_LEADING_BYTE_PRIVATE_1): Deleted.
1149         (PRE_LEADING_BYTE_PRIVATE_2): Deleted.
1150
1151         * mule-charset.c (leading_code_private_11): Don't define in
1152         UTF-2000.
1153
1154         * mule-ccl.c (ccl_driver): Don't define `CCL_ReadMultibyteChar2'
1155         in UTF-2000 because it is not ported yet and not to use
1156         `PRE_LEADING_BYTE_PRIVATE_1' and `PRE_LEADING_BYTE_PRIVATE_2'.
1157
1158 1999-08-30  MORIOKA Tomohiko  <tomo@etl.go.jp>
1159
1160         * character.h (LEADING_BYTE_COMPOSITE): Deleted.
1161
1162 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
1163
1164         * regex.c (re_compile_fastmap): Don't use `LEADING_BYTE_PREFIX_P'
1165         in UTF-2000.
1166
1167         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use int instead
1168         of unsigned char to store leading-byte.
1169
1170         * chartab.c (get_non_ascii_char_table_value): Don't use
1171         `BREAKUP_CHAR_1_UNSAFE' in UTF-2000.
1172
1173         * file-coding.c (encode_coding_big5): Delete bogus implementation
1174         in UTF2000.
1175
1176         * character.h (LEADING_BYTE_*): Delete definition for
1177         non-UTF-2000.
1178         (LEADING_BYTE_PRIVATE_P): Deleted unconditionally.
1179         (LEADING_BYTE_PREFIX_P): Deleted.
1180         (PRIVATE_LEADING_BYTE_PREFIX): Deleted.
1181         (BUFBYTE_FIRST_BYTE_P): Delete definition for non-UTF-2000.
1182         (BUFBYTE_LEADING_BYTE_P): Deleted.
1183         (CHARSET_PRIVATE_P): Deleted unconditionally.
1184         (rep_bytes_by_first_byte): Deleted unconditionally.
1185         (REP_BYTES_BY_FIRST_BYTE): Delete definition for non-UTF-2000.
1186         (FIELD1_TO_PRIVATE_LEADING_BYTE): Likewise.
1187         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
1188         (FIELD2_TO_PRIVATE_LEADING_BYTE): Likewise.
1189         (CHAR_FIELD2): Deleted.
1190         (CHAR_FIELD3): Deleted.
1191         (MAKE_CHAR): Delete definition for non-UTF-2000.
1192         (BREAKUP_CHAR_1_UNSAFE): Deleted.
1193         (breakup_char_1): New implementation.
1194         (CHAR_CHARSET): Use `BREAKUP_CHAR'.
1195         (CHAR_LEADING_BYTE): Use `CHAR_CHARSET'.
1196
1197 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
1198
1199         * character.h (REP_BYTES_BY_FIRST_BYTE): Change order of
1200         condition.
1201
1202 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
1203
1204         * character.h (LEADING_BYTE_PRIVATE_P): Don't define in UTF2000.
1205         (CHARSET_PRIVATE_P): Likewise.
1206         (XCHARSET_PRIVATE_P): Likewise.
1207         (MAKE_CHAR): Don't use XCHARSET_PRIVATE_P in UTF2000.
1208
1209         * file-coding.c (encode_coding_ucs4): Delete bogus implement in
1210         UTF2000.
1211         (decode_coding_iso2022): Don't use XCHARSET_PRIVATE_P in UTF2000.
1212
1213 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
1214
1215         * character.h (LEADING_BYTE_*): Changed in UTF2000.
1216         (NUM_LEADING_BYTES): Changed from 128 to 256.
1217         (FIELD1_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
1218         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Change value to 0x80 in
1219         UTF2000.
1220         (FIELD2_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
1221
1222         * mule-charset.c (Vcharset_chinese_cns11643_3): New variable in
1223         UTF2000.
1224         (Vcharset_chinese_cns11643_4): New variable in UTF2000.
1225         (Vcharset_chinese_cns11643_5): New variable in UTF2000.
1226         (Vcharset_chinese_cns11643_6): New variable in UTF2000.
1227         (Vcharset_chinese_cns11643_7): New variable in UTF2000.
1228         (Qchinese_cns11643_3): New variable in UTF2000.
1229         (Qchinese_cns11643_4): New variable in UTF2000.
1230         (Qchinese_cns11643_5): New variable in UTF2000.
1231         (Qchinese_cns11643_6): New variable in UTF2000.
1232         (Qchinese_cns11643_7): New variable in UTF2000.
1233         (syms_of_mule_charset): Define `chinese-cns11643-3',
1234         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
1235         and `chinese-cns11643-7' in UTF2000.
1236         (vars_of_mule_charset): Initialize
1237         next_allocated_2_byte_leading_byte by LEADING_BYTE_CHINESE_BIG5_2
1238         + 1 in UTF2000.
1239         (complex_vars_of_mule_charset): Setup charset
1240         `chinese-cns11643-3', `chinese-cns11643-4', `chinese-cns11643-5',
1241         `chinese-cns11643-6' and `chinese-cns11643-7' in UTF2000.
1242
1243 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
1244
1245         * mule-charset.c: Move setting for `leading-code-private-11' from
1246         `syms_of_mule_charset' to `vars_of_mule_charset'.
1247
1248 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
1249
1250         * mule-charset.h (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE'
1251         and `NUM_LEADING_BYTES' in assert.
1252
1253 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
1254
1255         * character.h (charset_by_leading_byte): Use `NUM_LEADING_BYTES'
1256         instead of 128.
1257         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' and
1258         `NUM_LEADING_BYTES' instead of 128.
1259
1260 1999-08-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
1261
1262         * mule-charset.h (charset_by_leading_byte): Use
1263         `NUM_LEADING_BYTES' instead of 128.
1264         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' instead of 128.
1265
1266         * mule-charset.c (charset_by_leading_byte): Use
1267         `NUM_LEADING_BYTES' instead of 128.
1268         (make_charset): Use `MIN_LEADING_BYTE' instead of 128.
1269
1270         * faces.h (FACE_CACHEL_FONT): Use `MIN_LEADING_BYTE' instead of
1271         128.
1272
1273 1999-08-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
1274
1275         * mule-charset.c (syms_of_mule_charset): Update to
1276         0.4 (Shin-Imamiya).
1277
1278 1999-07-13 Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
1279
1280         * file-coding.c (encode_coding_sjis): New implementation for
1281         UTF2000.  (decode_coding_sjis): Ditto.
1282
1283 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
1284
1285         * mule-charset.c, character.h (Bytecount rep_bytes_by_first_byte):
1286         Don't define in UTF2000.
1287
1288         * character.h: Include mule-charset.h if CHAR_IS_UCS4 is not
1289         defined.
1290
1291         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
1292         mule-ccl.c, lstream.h, buffer.h: Include character.h in every
1293         MULE.
1294
1295 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
1296
1297         * config.h.in (CHAR_IS_UCS4): New macro.
1298
1299         * mule-charset.c (rep_bytes_by_first_byte): Modify for
1300         conventional MULE representation.
1301         (syms_of_mule_charset): Update to 0.3 (Imamiya).
1302
1303         * mule-charset.h: Reverted to original.
1304
1305         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
1306         mule-ccl.c, lstream.h, buffer.h: Use "character.h" instead of
1307         "mule-charset.h" if CHAR_IS_UCS4 is defined.
1308
1309         * character.h: New file.
1310
1311         * file-coding.c (Fmake_coding_system): Set 1 to
1312         `codesys->fixed.size' if TYPE is `no-conversion' and UTF2000 is
1313         defined.
1314         (encode_coding_no_conversion): New implementation for UTF2000.
1315
1316         * file-coding.h (struct Lisp_Coding_System): Add new member
1317         `fixed.size'.
1318
1319 1999-06-16  MORIOKA Tomohiko  <tomo@etl.go.jp>
1320
1321         * file-coding.c (decode_coding_iso2022): Code-point arguments of
1322         `MAKE_CHAR' must be smaller than 0x80 in UTF2000.
1323         (encode_coding_iso2022): New implementation for UTF2000.
1324
1325 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
1326
1327         * mule-canna.c (c2mu): New implementation for UTF2000.
1328         (m2c): Likewise.
1329
1330 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
1331
1332         * file-coding.c (encode_coding_no_conversion): Modify for UTF2000.
1333
1334 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
1335
1336         * file-coding.c (reset_encoding_stream): Set 0 to
1337         `str->iso2022.current_char_boundary' in UTF2000.
1338         (encode_utf8): Don't define in UTF2000.
1339         (encode_coding_utf8): New implementation for UTF-8 representation
1340         of UTF2000.
1341         (complex_vars_of_file_coding): Define coding-system `utf-8'.
1342
1343 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
1344
1345         * mule.c (vars_of_mule): Provide `utf-2000' in UTF2000.
1346
1347         * mule-charset.h (BUFBYTE_FIRST_BYTE_P): Modify for UTF-8 in
1348         UTF2000.
1349         (REP_BYTES_BY_FIRST_BYTE): Likewise.
1350
1351         * buffer.h (non_ascii_valid_char_p): Don't define in UTF2000.
1352
1353         * mule-charset.c (non_ascii_set_charptr_emchar): Don't define
1354         local variables `lb', `c1', `c2' and `charset' in UTF2000; encode
1355         as UTF-8 in UTF2000.
1356         (non_ascii_charptr_emchar): Decode as UTF-8 in UTF2000.
1357         (non_ascii_valid_char_p): Don't define in UTF2000.
1358         (non_ascii_charptr_copy_char): Add case 5 and 6 in UTF2000.
1359         (Lstream_get_emchar_1): Likewise.
1360         (utf-2000-version): New variable in UTF2000.
1361
1362         * lread.c (read_escape): Add new reader `u'.
1363
1364         * insdel.c (three_to_one_table): Don't define in UTF2000.
1365         (bufpos_to_bytind_func): Use `buf->text->mule_size' instead of
1366         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
1367         UTF2000.
1368         (bytind_to_bufpos_func): Likewise.
1369         (buffer_mule_signal_inserted_region): Likewise.
1370         (vars_of_insdel): Don't initialize `three_to_one_table'.
1371         (init_buffer_text): Use `buf->text->mule_size' instead of
1372         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
1373         UTF2000.
1374
1375         * file-coding.c (DECODE_ADD_BINARY_CHAR): New implementation for
1376         UTF-8 representation in UTF2000.
1377         (DECODE_ADD_UCS_CHAR): New macro in UTF2000.
1378         (decode_ucs4): Use `DECODE_ADD_UCS_CHAR' in UTF2000.
1379         (decode_coding_iso2022): Don't define local variable `lb' in
1380         UTF2000; don't use LEADING_BYTE in UTF2000; use
1381         `DECODE_ADD_UCS_CHAR' in UTF2000.
1382         (convert_to_external_format): Decode as UTF-8 in UTF2000.
1383
1384         * config.h.in (UTF2000): New macro.
1385
1386         * buffer.h (struct buffer_text): Add new member `mule_size' and
1387         don't add `mule_shifter' and `mule_three_p' in UTF2000.
1388         (valid_char_p): Return always 1 in UTF2000.
1389         (MAX_EMCHAR_LEN): 6 in UTF2000.
1390         (three_to_one_table): Don't define in UTF2000.
1391         (real_bufpos_to_bytind): Modify for UTF-8 representation in
1392         UTF2000.
1393         (real_bytind_to_bufpos): Likewise.
1394
1395         * alloc.c (Fmake_string): Add case 5 and 6 for UTF2000.
1396
1397 1999-06-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
1398
1399         * mule-charset.c (rep_bytes_by_first_byte): Modified for character
1400         representation change.
1401         (Vutf_2000_version): New variable.
1402         (leading_code_private_11): New variable.
1403         (syms_of_mule_charset): Add new variables `utf-2000-version' and
1404         `leading-code-private-11'.
1405
1406         * mule-charset.h (LEADING_BYTE_CHINESE_CCITT_GB): New macro.
1407         (LEADING_BYTE_CHINESE_BIG5_1): Changed to 0x96 temporally.
1408         (LEADING_BYTE_CHINESE_CNS11643_1): Changed to 0x97.
1409         (LEADING_BYTE_CHINESE_CNS11643_2): Changed to 0x98.
1410         (LEADING_BYTE_CHINESE_CNS11643_3): New macro.
1411         (LEADING_BYTE_CHINESE_CNS11643_4): Likewise.
1412         (LEADING_BYTE_CHINESE_CNS11643_5): Likewise.
1413         (LEADING_BYTE_CHINESE_CNS11643_6): Likewise.
1414         (LEADING_BYTE_CHINESE_CNS11643_7): Likewise [but not used].
1415         (LEADING_BYTE_CHINESE_BIG5_2): Changed to 0x9D temporally.
1416         (LEADING_BYTE_KOREAN_KPS9566): New macro [but not used].
1417         (CHAR_FIELD1_MASK): Changed to (0x7F << 14).
1418         (MIN_CHAR_GREEK): New macro.
1419         (MAX_CHAR_GREEK): New macro.
1420         (MIN_CHAR_CYRILLIC): New macro.
1421         (MAX_CHAR_CYRILLIC): New macro.
1422         (MIN_CHAR_HEBREW): New macro.
1423         (MAX_CHAR_HEBREW): New macro.
1424         (MIN_CHAR_THAI): New macro.
1425         (MAX_CHAR_THAI): New macro.
1426         (MIN_CHAR_HALFWIDTH_KATAKANA): New macro.
1427         (MAX_CHAR_HALFWIDTH_KATAKANA): New macro.
1428         (CHAR_FIELD2_INTERNAL): New macro [renamed from `CHAR_FIELD2'.
1429         (CHAR_FIELD3_INTERNAL): New macro [renamed from `CHAR_FIELD3'.
1430         (FIELD1_TO_PRIVATE_LEADING_BYTE): Changed to 0xc0.
1431         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Changed to 0x50.
1432         (CHAR_FIELD2): New inline function.
1433         (CHAR_FIELD3): New inline function.
1434         (MULE_CHAR_PRIVATE_OFFSET): New macro.
1435         (MIN_CHAR_OFFICIAL_TYPE9N): Shifted to `MULE_CHAR_PRIVATE_OFFSET'.
1436         (MIN_CHAR_PRIVATE_TYPE9N): Likewise.
1437         (MIN_CHAR_PRIVATE_TYPE9NX9N): Likewise.
1438         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Likewise.
1439         (MIN_CHAR_COMPOSITION): Likewise.
1440         (CHAR_LEADING_BYTE): Modified for character representation change.
1441         (MAKE_CHAR): Likewise.
1442
1443         * lisp.h (Vcharset_latin_iso8859_1): New variable.
1444         (Vcharset_greek_iso8859_7): Likewise.
1445         (Vcharset_cyrillic_iso8859_5): Likewise.
1446         (Vcharset_hebrew_iso8859_8): Likewise.
1447         (Vcharset_thai_tis620): Likewise.
1448         (Vcharset_katakana_jisx0201): Likewise.
1449
1450 1999-08-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
1451
1452         * file-coding.c (determine_real_coding_system): Treat `coding:'
1453         cookie.
1454
1455 1999-08-16  MORIOKA Tomohiko  <tomo@etl.go.jp>
1456
1457         * file-coding.c (struct decoding_stream): New member `counter'.
1458         (reset_decoding_stream): Initialize `counter'.
1459         (decode_coding_ucs4): Use `counter'.
1460         (decode_coding_utf8): Likewise.
1461
1462 1999-07-30  XEmacs Build Bot <builds@cvs.xemacs.org>
1463
1464         * XEmacs 21.2.19 is released
1465
1466 1999-07-27  Jeff Miller  <jmiller@smart.net>
1467
1468         * add a "#ifdef HAVE_MENUBARS"  wrapper to gui.c around 
1469           menubar_show_keybindings.
1470
1471 1999-07-23  SL Baur  <steve@miho>
1472
1473         * mule-charset.c (syms_of_mule_charset): Delete duplicated
1474         definition of Qccl_program.
1475
1476         * mule-ccl.h: Make a global declaration of it here.
1477
1478 1999-07-20  Bob Weiner  <weiner@beopen.com>
1479
1480         * s/sco7.h: Added from rr@sco.com.
1481
1482 1999-06-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
1483
1484         * mule-ccl.c (ccl_driver): Fix `CCL_WriteMultibyteChar2'.
1485
1486 1999-06-24  MORIOKA Tomohiko  <tomo@etl.go.jp>
1487
1488         * file-coding.c (mule_decode): Setup `str->ccl.last_block'.
1489         (mule_encode): Likewise.
1490
1491         * mule-ccl.c (Qccl_program): New variable.
1492         (CCL_SUSPEND): New macro.
1493         (CCL_INVALID_CMD): New macro.
1494         (CCL_READ_CHAR): Don't regard as invalid command while processing
1495         the last block even if input is empty; use
1496         `CCL_STAT_SUSPEND_BY_SRC' instead of `CCL_STAT_SUSPEND'.
1497         (vars_of_mule_ccl): Setup `Qccl_program' and `Qccl_program_idx'.
1498
1499         * mule-ccl.h (CCL_STAT_SUCCESS): Moved from mule-ccl.c.
1500         (CCL_STAT_SUSPEND_BY_SRC): Imported from Emacs 20.3.10.
1501         (CCL_STAT_SUSPEND_BY_DST): Likewise.
1502         (CCL_STAT_INVALID_CMD): Moved from mule-ccl.c; change value from 2.
1503         (CCL_STAT_QUIT): Moved from mule-ccl.c; change value from 3.
1504
1505 1999-05-04  Ken'ichi Handa  <handa@gnu.org>
1506
1507         * mule-ccl.h (struct ccl_program): New member stack_idx.
1508
1509         * mule-ccl.c (ccl_prog_stack_struct): Declare it as static.
1510         (ccl_driver): Setup stack_idx and ccl_prog correctly.  Update them
1511         before returing.
1512         (setup_ccl_program): Initialize ccl->stack_idx to 0.
1513
1514 1998-10-12  Kenichi Handa  <handa@etl.go.jp>
1515
1516         * mule-ccl.c (CCL_DECODE_SJIS, CCL_ENCODE_SJIS): Swap the
1517         definitions.
1518
1519 1998-08-18  Kenichi Handa  <handa@etl.go.jp>
1520
1521         * mule-ccl.c (CCL_READ_CHAR): If eof is encounterd while
1522         processing the last block, don't just finish but processes eol
1523         block of the current CCL program.
1524         (ccl_driver): Add a new jump label ccl_repeat for the above
1525         change.
1526
1527 1998-04-15  Kenichi Handa  <handa@etl.go.jp>
1528
1529         * mule-ccl.c: Typo in comments fixed.
1530         (Qccl_program_idx): New variables.
1531         (CCL_ReadMultibyteChar2): Macro name changed from
1532         CCL_ReadMultibyteCharacter.
1533         (CCL_WriteMultibyteChar2): Macro name changed from
1534         CCL_WriteMultibyteChar2.
1535         (ccl_driver): Adjusted for the above changes.
1536         (resolve_symbol_ccl_program): New function.
1537         (Fccl_execute): The arg CCL-PROGRAM can be a symbol of CCL
1538         program.  If CCL-PRGRAM is a vector, convert symbols in it to ID
1539         numbers by resolve_symbol_ccl_program.
1540         (Fccl_execute_on_string): Likewise.
1541         (Fregister_ccl_program): If the arg CCL-PRGRAM is a vector,
1542         convert symbols in it to ID numbers by resolve_symbol_ccl_program.
1543
1544 1998-01-21  Kenichi Handa  <handa@etl.go.jp>
1545
1546         * mule-ccl.h: (struct ccl_program): New member private_state.
1547
1548         * mule-ccl.c
1549         (CCL_Call): Fix the comment.
1550         (CCL_ReadMultibyteCharacter, CCL_WriteMultibyteCharacter): New
1551         macros for CCL Commands.
1552         (EXCMD): New macro.
1553         (ccl_driver): New case lable `CCL_Extention'.
1554         (setup_ccl_program): Initialize the member `private_state' of CCL.
1555
1556 1999-07-08  Katsumi Yamaoka <yamaoka@jpl.org>
1557
1558         * keymap.c (copy_keymap_internal): Inherit the default binding.
1559
1560 1999-07-14  Kazuyuki IENAGA <kazz@imasy.or.jp>
1561
1562         * event-Xt.c (handle_focus_event_1): Re-enable Motif/XIM to get
1563         focus the event (XIM_focus_event).
1564         (emacs_Xt_handle_magic_event): No side effect on Motif/XIM because 
1565         XIM_SetGeometry does nothing in input_method_motif.c, but re-unify
1566         the interface for future use (XIM_SetGeometry).
1567         * redisplay-x.c (x_output_string): Re-enable Motif/XIM to set spot 
1568         location (XIM_SetSpotLocation).
1569         (x_output_eol_cursor): Ditto.
1570
1571 1999-07-17  Gunnar Evermann  <ge204@eng.cam.ac.uk>
1572
1573         * gdbinit (pobj): change lrecord_foo to &lrecord_foo to match
1574         Olivier's change to lrecord.h of 1999-04-22
1575
1576 1999-07-20  Robert Pluim  <rpluim@bigfoot.com>
1577
1578         * gutter.c (redraw_exposed_gutter): Change type of pos from
1579         enum toolbar_pos -> enum gutter_pos, since former is only defined
1580         if toolbar support is.
1581
1582 1999-07-19  Andy Piper  <andy@xemacs.org>
1583
1584         * glyphs-x.c (x_resize_subwindow): cope with widgets as well as
1585         subwindows.
1586
1587         * gutter.c (gutter_validate): new function for the gutter specifier.
1588         (specifier_type_create_gutter): declare specifier validator.
1589
1590         * buffer.h (INC_CHARBYTIND): add for no error checking version.
1591
1592 1999-07-18  Andy Piper  <andy@xemacs.org>
1593
1594         * redisplay.c (add_emchar_rune): use XSTRING_DATA not string_data.
1595
1596         * glyphs-msw.c (console_type_create_glyphs_mswindows): add
1597         resize_subwindow.
1598         (mswindows_resize_subwindow): new function.
1599
1600         * gutter.c (redraw_exposed_gutter): only reset the
1601         current_display_lines if non-zero.
1602         (Fgutter_pixel_height): new function.
1603         (Fgutter_pixel_width): new function.
1604
1605         * event-msw.c (mswindows_wnd_proc): set the mask of the parameter
1606         we want to retrive from the tab control.
1607
1608 1999-07-17  Andy Piper  <andy@xemacs.org>
1609
1610         * window.c (change_window_height): mark gutters changed when we're
1611         done.
1612
1613         * gutter.c (specifier_vars_of_gutter): make defaults more
1614         sensible.
1615
1616         * gutter.h (WINDOW_REAL_GUTTER_BORDER_WIDTH): adjust to be 0 for 0
1617         height gutter.
1618         (DEFAULT_GUTTER_WIDTH): change.
1619         (DEFAULT_GUTTER_BORDER_WIDTH): change.
1620
1621 1999-07-18  Andy Piper  <andy@xemacs.org>
1622
1623         * redisplay.c (add_emchar_rune): use XSTRING_DATA not string_data.
1624
1625 1999-07-16  Andy Piper  <andy@xemacs.org>
1626
1627         * frame.c (Fmake_frame): call init_frame_gutters().
1628
1629         * redisplay.c (add_emchar_rune): use string functions if we are
1630         working with a string.
1631         (position_redisplay_data_type): add string element.
1632
1633 1999-07-15  Andy Piper  <andy@xemacs.org>
1634
1635         * winslots.h: add real_gutter_size slots to hold the actual gutter
1636         size. This is important for autodetected sizes.
1637
1638         * gutter.c (calculate_gutter_size): calculate size for gutters
1639         that have 'autodetect size.
1640
1641         * redisplay-msw.c (mswindows_output_vertical_divider): adjust
1642         extent of divider for gutters.
1643
1644         * redisplay-x.c (x_output_vertical_divider): adjust extent of
1645         divider for gutters.
1646
1647         * scrollbar.c (update_scrollbar_instance): adjust scrollbar
1648         position to take into account the gutters.
1649
1650         * redisplay.c (generate_modeline): adjust modeline position to
1651         take into account the gutters.
1652
1653 1999-07-14  Andy Piper  <andy@xemacs.org>
1654
1655         * gutter.c (frame_topmost_window): new function.
1656         (frame_bottommost_window): ditto.
1657         (frame_leftmost_window): ditto.
1658         (frame_rightmost_window): ditto.
1659
1660 1999-07-13  Andy Piper  <andy@xemacs.org>
1661
1662         * redisplay.c (calculate_display_line_boundaries): use text
1663         boundaries so that gutters get handled properly.
1664
1665 1999-07-12  Andy Piper  <andy@xemacs.org>
1666
1667         * glyphs-x.c (x_widget_instantiate): set the font Motif-style if
1668         we're using Motif.
1669
1670         * redisplay-output.c (redisplay_clear_to_window_end): generalised
1671         from redisplay-x.c
1672
1673         * redisplay-x.c (redisplay_clear_to_window_end): moved to
1674         redisplay.c
1675         
1676         * redisplay-msw.c (redisplay_clear_to_window_end): deleted.
1677
1678         * gutter.c: new file - implements gutters. All new functions are
1679         semantically equivalent to the toolbar functions.
1680         (gutter_was_visible): new function.
1681         (get_gutter_coords): ditto.
1682         (output_gutter): ditto.
1683         (clear_gutter): ditto.
1684         (update_frame_gutters): ditto.
1685         (redraw_exposed_gutter): ditto.
1686         (redraw_exposed_gutters): ditto.
1687         (free_frame_gutters): ditto.
1688         (init_frame_gutters): ditto.
1689         (decode_gutter_position): ditto.
1690         (Fset_default_gutter_position): ditto.
1691         (Fset_default_gutter_position): ditto.
1692         (Fdefault_gutter_position): ditto.
1693         (gutter_after_change): ditto.
1694         (Fgutter_specifier_p): ditto.
1695         (recompute_overlaying_specifier): ditto.
1696         (gutter_specs_changed): ditto.
1697         (default_gutter_specs_changed): ditto.
1698         (gutter_geometry_changed_in_window): ditto.
1699         (default_gutter_size_changed_in_window): ditto.
1700         (default_gutter_border_width_changed_in_window): ditto.
1701         (default_gutter_visible_p_changed_in_window): ditto.
1702         (syms_of_gutter): ditto.
1703         (vars_of_gutter): ditto.
1704         (specifier_type_create_gutter): ditto.
1705         (specifier_vars_of_gutter): ditto.
1706
1707         * gutter.h: new file. Contains gutter constants and sizing macros
1708         similar to those for the toolbar.
1709
1710         * winslots.h: add gutter variables.
1711
1712         * window.h: declare window_is_* functions.
1713
1714         * window.c (window_is_lowest): make non-static.
1715         (window_is_highest): ditto.
1716         (window_top_toolbar_height): deleted.
1717         (window_bottom_toolbar_height): deleted.
1718         (window_left_toolbar_width): deleted.
1719         (window_right_toolbar_width): deleted.
1720         (window_top_gutter_height): add gutter sizing.
1721         (window_bottom_gutter_height): ditto.
1722         (window_left_gutter_width): ditto.
1723         (window_right_gutter_width): ditto.
1724
1725         * symsinit.h: declarations for gutters vars etc.
1726
1727         * search.c (bi_find_next_emchar_in_string): new function.
1728
1729         * scrollbar.c (update_scrollbar_instance): remove reference to
1730         window_bottom_toolbar_height which did nothing.
1731
1732         * redisplay.h (struct display_line): add face indices for
1733         overriding defaults in output_display_line.
1734         Add gutter_changed flags and declarations.
1735
1736         * redisplay.c (create_string_text_block): new function, similar to
1737         create_text_block but for strings. Display tables etc are used
1738         from the currently selected window.
1739         (generate_string_display_line): ditto. Similar to
1740         generate_display_line.
1741         (generate_displayable_area): generate display lines for a given
1742         area on a frame. Input is the string, with associated extents, to
1743         display.
1744         (redisplay_frame): add gutter_changed check.
1745         (redisplay_device): ditto.
1746         (redisplay_without_hooks): ditto.
1747
1748         * redisplay-x.c (bevel_modeline): moved to redisplay.c.
1749         (x_redraw_exposed_area): redraw exposed gutters.
1750         (x_bevel_area): new redisplay device method.
1751         (x_type_create_redisplay_mswindows): add bevel_area device method.
1752         (x_output_display_block): fiddly Martin-style cleanup.
1753         (x_output_vertical_divider): use bevel_area.
1754
1755         * redisplay-output.c (output_display_line): check display_lines
1756         for face information before using defaults.
1757         (bevel_modeline): new function, calls bevel_area with appropriate
1758         values.
1759
1760         * redisplay-msw.c (bevel_modeline): moved to redisplay.c.
1761         (mswindows_redraw_exposed_area): redraw exposed gutters.
1762         (mswindows_bevel_area): new redisplay device method.
1763         (console_type_create_redisplay_mswindows): add bevel_area device
1764         method.
1765
1766         * indent.c (string_column_at_point): add column_at_point but for
1767         strings.
1768
1769         * glyphs-x.c (image_instantiator_format_create_glyphs_x): only
1770         instantiate widgets that we have a toolkit for.
1771
1772         * general.c: add Qgutter.
1773
1774         * frame.h (struct frame): add display lines for gutters and
1775         visibility flags.
1776
1777         * frame.c (set_frame_selected_window): mark gutters changed.
1778
1779         * emacs.c (main_1): add gutter initialisation.
1780
1781         * device.h (struct device): add gutter_changed flag and macros to
1782         manipulate it.
1783
1784         * console.h (struct console_methods): new bevel area redisplay
1785         method.
1786
1787         * buffer.h (REAL_INC_CHARBYTIND): new macro for strings as
1788         REAL_INC_BYTIND is for buffers.
1789         (INC_CHARPTR): ditto.
1790
1791         * Makefile.in.in (objs): add gutter.o
1792
1793 1999-07-13  XEmacs Build Bot <builds@cvs.xemacs.org>
1794
1795         * XEmacs 21.2.18 is released
1796
1797 1999-07-08  SL Baur  <steve@mule.m17n.org>
1798
1799         * event-Xt.c (handle_focus_event_1): Guard FRAME_X_XIC with
1800         XIM_XLIB.
1801         (emacs_Xt_handle_magic_event): Ditto.
1802         * redisplay-x.c (x_output_string): Ditto.
1803         (x_output_eol_cursor): Ditto.
1804
1805 1999-06-30  Kazuyuki IENAGA <kazz@imasy.or.jp>
1806
1807         *  event-Xt.c, input-method-xlib.c, redisplay-x.c: Avoid the
1808         problem that when XIM is destroyed or missed with some reason,
1809         xemacs will die.  Now xim=xlib waits the XIM will be ready and
1810         endures the case of XIM end up.
1811
1812 1999-07-03  Gunnar Evermann  <ge204@eng.cam.ac.uk>
1813
1814         * tooltalk.c (init_tooltalk): save signal actions for SIGQUIT,
1815         SIGINT and SIGCHLD before calling tt_open and restore the
1816         afterwards. This fixes e.g. the zombie subprocesses on Solaris
1817
1818 1999-07-06  SL Baur  <steve@xemacs.org>
1819
1820         * s/linux.h: gcc-2.8 changes for powerpc
1821         From Justin Vallon <vallon@mindspring.com>
1822
1823 1999-07-05  Didier Verna  <verna@inf.enst.fr>
1824
1825         * indent.c: new symbol Qcoerce.
1826         (Fmove_to_column): use it + doc string update.
1827
1828 1999-07-04  Andy Piper  <andy@xemacs.org>
1829
1830         * console.c: undo earlier Fprovide changes.
1831         * fns.c: ditto.
1832         * console.h: ditto.
1833
1834         * console-tty.c (image_instantiator_format_create_glyphs_tty): new
1835         function. validate appropriate image formats for tty.
1836
1837         * glyphs.h (INITIALIZE_IMAGE_INSTANTIATOR_FORMAT_NO_SYM):
1838         initialize consoles parameter.
1839         (struct image_instantiator_methods): add consoles parameter.
1840         (IIFORMAT_VALID_CONSOLE): new function. validate the format on the
1841         console.
1842         (INITIALIZE_DEVICE_IIFORMAT): validate the format on the given
1843         console.
1844
1845         * glyphs-msw.c: declare instantiators for later use.
1846         (image_instantiator_format_create_glyphs_mswindows): validate xpm
1847         and friends on the mswindows console.
1848         * glyphs-x.c: ditto.
1849
1850         * glyphs.c (valid_image_instantiator_format_p): disallow glyphs
1851         that have not been registered on the supplied device.
1852         (Fvalid_image_instantiator_format_p): add locale argument.
1853         (instantiate_image_instantiator): valid image instantiator on the
1854         device.
1855
1856         * symsinit.h: add image_instantiator_format_create_glyphs_tty()
1857         declaration.
1858
1859         * emacs.c (main_1): add call to
1860         image_instantiator_format_create_glyphs_tty().
1861
1862 1999-06-29  Olivier Galibert  <galibert@pobox.com>
1863
1864         * lisp.h: Add #include <stddef.h>.
1865
1866         * sysdep.c: Remove #include <stddef.h>.
1867         * symbols.c: Remove #include <stddef.h>.
1868         * sheap.c: Remove #include <stddef.h>.
1869         * opaque.c: Remove #include <stddef.h>.
1870         * nt.c: Remove #include <stddef.h>.
1871         * mule-charset.c: Remove #include <stddef.h>.
1872         * marker.c: Remove #include <stddef.h>.
1873         * file-coding.c: Remove #include <stddef.h>.
1874         * extents.c: Remove #include <stddef.h>.
1875         * elhash.c: Remove #include <stddef.h>.
1876         * data.c: Remove #include <stddef.h>.
1877         * chartab.c: Remove #include <stddef.h>.
1878         * bytecode.c: Remove #include <stddef.h>.
1879         * alloc.c: Remove #include <stddef.h>.  Fix vector description
1880
1881 1999-06-30  SL Baur  <steve@miho.m17n.org>
1882
1883         * editfns.c: Document "%s" format spec.
1884         Suggested by Bob Weiner <weiner@altrasoft.com>
1885
1886 1999-06-29  Andy Piper  <andy@xemacs.org>
1887
1888         * event-msw.c: fix definition booboo.
1889
1890 1999-06-28  Andy Piper  <andy@xemacs.org>
1891
1892         * glyphs-x.c: change tree -> tree-view, progress ->
1893         progress_gauge, edit -> edit-field, tab -> tab-control, combo ->
1894         combo-box.
1895         (complex_vars_of_glyphs_x): provide-on-console the implemented
1896         widget types.
1897
1898         * glyphs-msw.c: ditto.
1899         (complex_vars_of_glyphs_mswindows): ditto.
1900
1901         * lisp.h: add Fprovide_on_console.
1902
1903         * fns.c (Ffeaturep): add extra optional console argument.
1904         (Fprovide_on_console): like Fprovide but provides only on the
1905         specified console-type.
1906         (Frequire): check console-features as well as global features.
1907
1908         * console.c (Fconsole_features): new function. return features for
1909         this console.
1910         (syms_of_console): add Fconsole_features.
1911
1912         * console.h (CONMETH_FEATURES): new function for accessing features.
1913         (CONSOLE_FEATURES): ditto.
1914         (struct console_methods): add features slot.
1915         (INITIALIZE_CONSOLE_TYPE): initialize features slot.
1916
1917 1999-06-28  Andy Piper  <andy@xemacs.org>
1918
1919         * event-Xt.c (handle_focus_event_1): conditionally compile for
1920         X11R5.
1921
1922         * s/cygwin32.h: fix me website address.
1923
1924         * event-msw.c: add NMHDR for pre b20 cygwin builds.
1925
1926         * gui-x.c (button_item_to_widget_value): only add callback if it
1927         is non-nil.
1928
1929         * glyphs-x.c: add progress, edit and combo instantiators.
1930         (x_widget_set_property): new function. uses lwlib to set widget
1931         values.
1932         (x_widget_property): new function. uses lwlib to get widget
1933         values.
1934         (x_button_instantiate): support images in buttons.
1935         (x_button_property): new function. use lwlib to get the selected
1936         state.
1937         (x_progress_instantiate): new function for instantiating progress
1938         gauges.
1939         (x_progress_set_property): new function. sets the progress gauge
1940         position.
1941         (x_edit_instantiate): new function. for instantiating edit fields.
1942         (x_combo_instantiate): new function. for instantiating combo
1943         boxes.
1944         (image_instantiator_format_create_glyphs_x): add new device ii
1945         formats.
1946
1947         * glyphs-msw.c (mswindows_tab_instantiate): remove redundant var.
1948
1949         * console.h (CONSOLE_FEATURES): new features accesor.
1950
1951         * conslots.h (MARKED_SLOT): add features entry.
1952
1953 1999-06-25  Andy Piper  <andy@xemacs.org>
1954
1955         * menubar-x.c (menu_item_descriptor_to_widget_value_1): use new
1956         gui functions.
1957
1958         * menubar-msw.c: move MAX_MENUITEM_LENGTH to gui.h
1959
1960         * gui.h (struct Lisp_Gui_Item): add accelerator.
1961
1962         * gui.c (gui_item_add_keyval_pair): deal with accelerators.
1963         (gui_item_init): ditto.
1964         (gui_add_item_keywords_to_plist): ditto.
1965         (mark_gui_item): ditto.
1966         (gui_item_hash): ditto.
1967         (gui_item_accelerator): new function.
1968         (gui_name_accelerator): new function stolen from gui-x.c
1969
1970         * gui-x.c (popup_selection_callback): always define. mark
1971         subwindows changed after calling a callback.
1972         (menu_name_to_accelerator): deleted.
1973         (button_item_to_widget_value): forward gui_item things to gui_item
1974         functions.
1975
1976         * glyphs-x.h (struct x_subwindow_data): add data for widgets. add
1977         appropriate accesors.
1978
1979         * glyphs-x.c: declare new glyph formats.
1980         (x_finalize_image_instance): unmanage and destroy widgets if they
1981         exist.
1982         (x_unmap_subwindow): handle widgets specially.
1983         (x_map_subwindow): ditto. offset display of widgets by offset of
1984         text widget within container.
1985         (x_update_subwindow): new function. call lw_modify_all_widgets
1986         when we are a widget.
1987         (x_widget_instantiate): new function for generically creating
1988         widgets-glyphs. toolkit specifics forwarded to lwlib.
1989         (x_button_instantiate): new function for instantiating
1990         widgets-glyph buttons.
1991         (console_type_create_glyphs_x): register update_subwindow.
1992         (image_instantiator_format_create_glyphs_x): register widget and
1993         button types.
1994
1995         * event-msw.c (mswindows_wnd_proc): remove redundant variable.
1996
1997         * event-Xt.c (x_event_to_emacs_event): call handle_focus_event_1
1998         when we get a button press in case we do not have the focus.
1999         (handle_focus_event_1): set the keyboard focus to the text widget
2000         if we do not have it.
2001
2002         * dialog-x.c (dbox_descriptor_to_widget_value): use new gui_item
2003         functions.
2004
2005 1999-06-24  SL Baur  <steve@miho.m17n.org>
2006
2007         * syntax.c (scan_words): Restore non-Mule code.
2008         (word_constituent_p): Restore.
2009
2010 1999-06-23  Olivier Galibert  <galibert@pobox.com>
2011
2012         * config.h.in: Add missing #undef *_USER_DEFINED.
2013
2014 1999-06-23  SL Baur  <steve@miho.m17n.org>
2015
2016         * lisp.h (set_bit_vector_bit): Force promotion to unsigned long
2017         int (fixes a 64-bit problem).
2018
2019         * chartab.c (word_boundary_p): Use EQ not == for lisp_object
2020         comparison.
2021
2022 1999-03-23  Michael Sperber [Mr. Preprocessor]  <sperber@informatik.uni-tuebingen.de>
2023
2024         * paths.h.in (PATH_DOC): Made doc-directory configurable.
2025
2026 1999-06-22  Olivier Galibert  <galibert@pobox.com>
2027
2028         * lrecord.h: Added basic external description system.
2029
2030         * symbols.c: Added symbol, symbol-value-buffer-local,
2031         symbol-value-lisp-magic and symbol-value-varalias description.
2032         * mule-charset.c: Added charset description.
2033         * marker.c: Added marker description.
2034         * keymap.c: Added keymap description.
2035         * glyphs.c: Added glyph description.
2036         * floatfns.c: Added float description.
2037         * file-coding.c: Added coding-system description.
2038         * extents.c: Added extent description.
2039         * elhash.c: Added hash-table description.
2040         * data.c: Added weak-list desciption.
2041         * chartab.c: Added char-table-entry and char-table description.
2042         * bytecode.c: Added compiled-function description.
2043         * alloc.c: Added cons, vector and string description.
2044
2045 1999-06-22  Olivier Galibert  <galibert@pobox.com>
2046
2047         * lrecord.h (struct lrecord_header): Reduced size to 4 bytes.
2048         Updated everything to the removal of the "flags" substructure.
2049
2050         * lisp.h (subr_lheader_initializer): Updated.
2051         * symeval.h (symbol_value_forward_lheader_initializer): Updated.
2052
2053 1999-06-20  MORIOKA Tomohiko  <tomo@etl.go.jp>
2054
2055         * syntax.c (word_constituent_p): Deleted.
2056         (scan_words): Use `WORD_BOUNDARY_P'.
2057
2058         * chartab.c (Vword_combining_categories): New variable.
2059         (Vword_separating_categories): Likewise.
2060         (CATEGORYP): New macro.
2061         (CATEGORY_SET): Likewise.
2062         (CATEGORY_MEMBER): Likewise.
2063         (word_boundary_p): New function.
2064         (complex_vars_of_chartab): Set up new variable
2065         `word-combining-categories' and `word-separating-categories'.
2066
2067 1999-06-18  Olivier Galibert  <galibert@pobox.com>
2068
2069         * lrecord.h: Added description as a placehold in the lrecord
2070         implementation structures.  Added the parameter to all constructor
2071         defines.
2072
2073         * alloc.c: Added placeholders.
2074         * buffer.c: Ditto.
2075         * bytecode.c: Ditto.
2076         * chartab.c: Ditto.
2077         * console.c: Ditto.
2078         * data.c: Ditto.
2079         * database.c: Ditto.
2080         * device.c: Ditto.
2081         * eldap.c: Ditto.
2082         * elhash.c: Ditto.
2083         * eval.c: Ditto.
2084         * event-stream.c: Ditto.
2085         * events.c: Ditto.
2086         * extents.c: Ditto.
2087         * faces.c: Ditto.
2088         * file-coding.c: Ditto.
2089         * floatfns.c: Ditto.
2090         * fns.c: Ditto.
2091         * frame.c: Ditto.
2092         * glyphs.c: Ditto.
2093         * gui-x.c: Ditto.
2094         * keymap.c: Ditto.
2095         * lstream.c: Ditto.
2096         * marker.c: Ditto.
2097         * mule-charset.c: Ditto.
2098         * objects.c: Ditto.
2099         * opaque.c: Ditto.
2100         * process.c: Ditto.
2101         * rangetab.c: Ditto.
2102         * specifier.c: Ditto.
2103         * symbols.c: Ditto.
2104         * toolbar.c: Ditto.
2105         * tooltalk.c: Ditto.
2106         * window.c: Ditto.
2107
2108 1999-06-22  XEmacs Build Bot <builds@cvs.xemacs.org>
2109
2110         * XEmacs 21.2.17 is released
2111
2112 1999-06-13  Oscar Figueiredo  <oscar@xemacs.org>
2113
2114         * config.h.in (HAVE_LDAP_SET_OPTION): New define
2115         (HAVE_LDAP_GET_LDERRNO): Ditto
2116         (HAVE_LDAP_RESULT2ERROR): Ditto
2117         (HAVE_LDAP_PARSE_RESULT): Ditto
2118         (HAVE_UMICH_LDAP): Removed
2119         (HAVE_NS_LDAP): Removed
2120
2121         * eldap.h (struct Lisp_LDAP): Removed the `livep' member as
2122         suggested by Olivier Galibert
2123         (CHECK_LIVE_LDAP): Test on `ld' instead of `livep'
2124
2125         * eldap.c: Take the removal of `livep' into account in all the
2126         necessary functions
2127         (signal_ldap_error): Take two additional parameters
2128         Added new finer compilation conditions in order to use
2129         ldap_parse_result or ldap_result2error if available
2130         (Fldap_open): Conform to this new API
2131         (Fldap_search_internal): Ditto
2132
2133 1999-06-17  SL Baur  <steve@miho.m17n.org>
2134
2135         * data.c (struct int_or_double): Should use EMACS_INT not int.
2136
2137 1999-06-16  Norbert Koch  <n.koch@eai-delta.de>
2138
2139         * redisplay-msw.c: Run 'ccl_driver' with 'CCL_MODE_ENCODING' as in
2140         redisplay-x.c
2141
2142 1999-06-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2143
2144         * redisplay-x.c (separate_textual_runs): Run `ccl_driver' with
2145         `CCL_MODE_ENCODING'.
2146
2147         * file-coding.c (mule_decode): Run `ccl_driver' with
2148         `CCL_MODE_DECODING'.
2149         (mule_encode): Run `ccl_driver' with `CCL_MODE_ENCODING'.
2150
2151         * mule-ccl.c (CCL_WRITE_CHAR): Refer `conversion_mode'.
2152         (ccl_driver): Add new argument `conversion_mode'.
2153         (Fccl_execute): Run `ccl_driver' with `CCL_MODE_ENCODING'.
2154         (Fccl_execute_on_string): Likewise [perhaps it is better to add
2155         new optional argument].
2156
2157         * mule-ccl.h (CCL_MODE_ENCODING): New macro.
2158         (CCL_MODE_DECODING): New macro.
2159         (ccl_driver): Add new argument `conversion_mode'.
2160
2161 1999-06-15  SL Baur  <steve@miho.m17n.org>
2162
2163         * mule-charset.c (Fsplit_char): New subr.
2164         (Fchar_octet): delete.
2165         (syms_of_mule_charset): DEFSUBR it.
2166
2167 1999-06-13  Andy Piper  <andy@xemacs.org>
2168
2169         * menubar.h: update declarations involving gui_items.
2170
2171         * lisp.h: declare Lisp_Gui_Item.
2172
2173         * glyphs.h (struct Lisp_Image_Instance): update type of gui_item.
2174
2175         * glyphs.c (mark_image_instance): modify for new lisp-based gui_items.
2176         (print_image_instance): ditto.
2177         (image_instance_equal): ditto.
2178         (image_instance_hash): ditto.
2179
2180         * event-msw.c (mswindows_need_event): assert badly_p status.
2181         (mswindows_wnd_proc): modify WM_NOTIFY handling to cope with
2182         callbacks in tree-view and tab-control widgets.
2183         (emacs_mswindows_next_event): modify use of
2184         mswindows_dequeue_dispatch_event.
2185
2186         * dialog-msw.c (mswindows_popup_dialog_box): modify for new
2187         lisp-based gui_items.
2188
2189         * glyphs-msw.c (mswindows_update_subwindow): update use of
2190         gui_items.
2191         (mswindows_register_gui_item): new function.
2192         (mswindows_register_gui_item): fix to use lisp gui_items.
2193         (mswindows_widget_instantiate): ditto.
2194         (mswindows_button_instantiate): ditto.
2195         (add_tree_item): new function to recursively add tree view
2196         elements.
2197         (add_tree_item_list): ditto.
2198         (mswindows_tree_instantiate): new function. instantiate tree view
2199         controls.
2200         (add_tab_item): new function to add tabs to a tab control.
2201         (mswindows_tab_instantiate): new function. instantiate tab
2202         controls.
2203         (image_instantiator_format_create_glyphs_mswindows): add tree view
2204         and tab controls.
2205         (vars_of_glyphs_mswindows): ditto.
2206
2207         * glyphs-widget.c (check_valid_item_list_1): allow nested lists in
2208         item lists.
2209         (check_valid_item_list): ditto.
2210         (initialize_widget_image_instance): fix to use new lisp gui_item.
2211         (widget_instantiate_1): allow the setting of default textwidth in
2212         characters.
2213         (widget_instantiate): change to use new widget_instantiate_1
2214         signature.
2215         (combo_instantiate): ditto.
2216         (static_instantiate): ditto.
2217         (tab_instantiate): new function for tab widgets.
2218         (image_instantiator_format_create_glyphs_widget): add tab and tree
2219         view widgets.
2220
2221         * menubar-msw.c (displayable_menu_item): convert to use lisp
2222         gui_items.
2223         (populate_menu_add_item): ditto.
2224         (populate_or_checksum_helper): ditto.
2225
2226         * menubar.c (menu_parse_submenu_keywords): convert to use lisp
2227         gui_items.
2228         (Fmenu_find_real_submenu): ditto.
2229
2230         * gui.h (struct Lisp_Gui_Item): make gui_item a lisp oebjct.
2231
2232         * gui.c (gui_item_add_keyval_pair): gui_items are now lisp
2233         objects, convert functions that use them accordingly.
2234         (gui_item_init): ditto.
2235         (gui_item_active_p): ditto.
2236         (gui_item_selected_p): ditto.
2237         (gui_item_included_p): ditto.
2238         (gui_item_display_flush_left): ditto.
2239         (gui_item_display_flush_right): ditto.
2240         (mark_gui_item): ditto.
2241         (allocate_gui_item): new function to create a gui_item.
2242         (make_gui_item_from_keywords_internal): ditto. create and return a
2243         gui_item as well as setting keywords.
2244         (gui_parse_item_keywords): ditto.
2245         (gui_parse_item_keywords_no_errors): ditto.
2246         (gui_add_item_keywords_to_plist): new function, not yet used.
2247         (gui_item_hash): new function.
2248         (gui_item_id_hash): use gui_item_hash.
2249         (gui_item_equal): new function.
2250         (print_gui_item): new function.
2251
2252 1999-06-11  XEmacs Build Bot <builds@cvs.xemacs.org>
2253
2254         * XEmacs 21.2.16 is released
2255
2256 1999-06-10  Andy Piper  <andy@xemacs.org>
2257
2258         * select-msw.c (mswindows_own_selection): only set the clipboard
2259         if asked.
2260         (mswindows_get_foreign_selection): only get the clipboard if
2261         asked.
2262         (mswindows_disown_selection): only disown the clipboard if asked.
2263
2264 1999-06-03  MORIOKA Tomohiko  <tomo@etl.go.jp>
2265
2266         * file-coding.c (coding_system_from_mask): Use `raw-text' instead
2267         of `no-conversion'.
2268         (complex_vars_of_mule_coding): Use `raw-text' as the coding-system
2269         of coding-category `no-conversion'.
2270
2271 1999-06-03  MORIOKA Tomohiko  <tomo@etl.go.jp>
2272
2273         * file-coding.c (Qraw_text): New variable.
2274         (syms_of_mule_coding): Add new symbol `raw-text'.
2275         (complex_vars_of_mule_coding): Add new coding-system `raw-text';
2276         define coding-system `binary' independently; define coding-system
2277         `no-conversion' as an alias for `raw-text'.
2278
2279         * file-coding.h (Qraw_text): New variable.
2280
2281 1999-06-08  SL Baur  <steve@xemacs.org>
2282
2283         * s/decosf4-0.h: Explicitly #undef SYSTEM_MALLOC.
2284
2285 1999-06-06  Hrvoje Niksic  <hniksic@srce.hr>
2286
2287         * fns.c (MIME_LINE_LENGTH): Default to 72, as in mimencode and
2288         base64.el.
2289         (base64_decode_1): Signal errors instead of returning -1.
2290
2291 1999-06-07  Hrvoje Niksic  <hniksic@srce.hr>
2292
2293         * mule-charset.c (Fmake_char): Update docstring.
2294
2295 1999-06-07  Hrvoje Niksic  <hniksic@srce.hr>
2296
2297         * fns.c (Fstring_lessp): Actually increment the Bufbyte pointers.
2298
2299 1999-06-05  Hrvoje Niksic  <hniksic@srce.hr>
2300
2301         * fns.c (base64_decode_1): Allow and ignore any non-base64
2302         characters in input.
2303
2304 1999-05-27  Olivier Galibert  <galibert@pobox.com>
2305
2306         * emacs.c (Fdump_emacs): Add clear_message() lost with the removal
2307         of report_pure_usage().
2308
2309 1999-06-04  Hrvoje Niksic  <hniksic@srce.hr>
2310
2311         * fns.c (Fstring_lessp): Remove O(n^2) under Mule.
2312
2313 1999-06-04  XEmacs Build Bot <builds@cvs.xemacs.org>
2314
2315         * XEmacs 21.2.15 is released
2316
2317 1999-06-01  Hirokazu FUKUI  <fukui@atesoft.advantest.co.jp>
2318
2319         * frame.c (Fset_mouse_position):
2320         (Fset_mouse_pixel_position):
2321         * window.c (Fsplit_window):
2322         (Fmove_to_window_line):
2323         Fix crash when invoking functions with an already-deleted window
2324         argument.
2325
2326         * indent.c (vertical_motion_1):
2327         (vmotion_pixels):
2328         (Fvertical_motion_pixels):
2329         * window.c (Fwindow_displayed_text_pixel_height):
2330         Fix error message when invoking functions with an already-deleted
2331         window argument.
2332
2333 1999-06-01  Jan Vroonhof  <vroonhof@math.ethz.ch>
2334
2335         * sysdep.c (request_sigio_on_device): Guard against glibc
2336         2.1's stub streams implementation.
2337
2338 1999-06-03  SL Baur  <steve@xemacs.org>
2339
2340         * config.h.in:
2341         * emacs.c:  Implement x.y.z version numbers
2342         From Jan Vroonhof <vroonhof@math.ethz.ch>
2343
2344 1999-05-20  MORIOKA Tomohiko  <tomo@etl.go.jp>
2345
2346         * mule-charset.c (complex_vars_of_mule_charset): Registry of
2347         japanese-jisx0208-1978 should not match with "jisx0208.1983" nor
2348         "jisc6226.1983".
2349
2350 1999-06-03  SL Baur  <steve@xemacs.org>
2351
2352         * frame-x.c:
2353         * device-x.c: rename session option to wmcommand.
2354         From Oliver Graf <ograf@rhein-zeitung.de>
2355
2356 1999-05-27  Hrvoje Niksic  <hniksic@srce.hr>
2357
2358         * fns.c (Fsubstring): Don't traverse the same region twice with
2359         charcount_to_bytecount().
2360
2361 1999-06-03  SL Baur  <steve@steve1.m17n.org>
2362
2363         * m/alpha.h (SYSTEM_MALLOC): Fix indented preprocessor directive
2364         garbage.
2365
2366         * s/decosf4-0.h: Defining ORDINARY_LINK here is redundant (and it
2367         doesn't really work as is implied by the commentary).
2368         Don't define SYSTEM_MALLOC so the old GNU malloc can be used.
2369
2370 1999-06-02  SL Baur  <steve@steve1.m17n.org>
2371
2372         * symsinit.h: Declare vars_of_ntproc.
2373         * emacs.c (main_1): Call it.
2374
2375         * ntproc.c (syms_of_ntproc): Move variable initializations from
2376         here ...
2377         (vars_of_ntproc): ... to here [new function].
2378
2379         * file-coding.c (syms_of_file_coding): Rename.
2380         (vars_of_file_coding): Ditto.
2381         (complex_vars_of_file_coding): Ditto.
2382
2383         * symsinit.h: Rename *_mule_coding to *_file_coding.
2384
2385         * emacs.c (main_1): Call them by the proper name.
2386
2387         * device-msw.c (syms_of_device_mswindows): Move variable
2388         initializations from here ...
2389         (vars_of_device_mswindows): ... to here.
2390
2391         * chartab.c (vars_of_chartab): New function.
2392
2393         * symsinit.h: New function, vars_of_chartab.
2394
2395         * emacs.c (main_1): Call it.
2396
2397         * mule-canna.c (syms_of_mule_canna): Move CANNA initialization ...
2398         (vars_of_mule_canna): ... to here.
2399
2400         * mule-ccl.c (vars_of_mule_ccl): New function.  Move variable
2401         initializations out of syms_of_mule_ccl.
2402
2403         * symsinit.h: Declare new function vars_of_mule_ccl.
2404
2405         * emacs.c (main_1): Call it.
2406
2407 1999-05-27  Hrvoje Niksic  <hniksic@srce.hr>
2408
2409         * fns.c (base64_decode_1): Ignore whitespace.
2410
2411 1999-05-27  Hrvoje Niksic  <hniksic@srce.hr>
2412
2413         * mule-charset.c (Fmake_char): Strip the eighth bit off ARG1 and
2414         ARG2.
2415
2416 1999-05-21  Andy Piper  <andy@xemacs.org>
2417
2418         * xselect.c: deleted.
2419
2420         * symsinit.h: declare select initialisation.
2421
2422         * select.h: new file. declare commonly used select functions and
2423         variables.
2424
2425         * select.c: new file. generalised from xselect.c.
2426         (clean_local_selection_data): moved from xselect.c.
2427         (get_local_selection): ditto. device specific pieces called via a
2428         devmeth.
2429         (handle_selection_clear): ditto.
2430         (Fown_selection_internal): renamed and generalised from
2431         Fx_own_selection_internal. moved from xselect.c.
2432         (Fdisown_selection_internal): ditto.
2433         (Fselection_owner_p): ditto.
2434         (Fselection_exists_p): ditto.
2435         (Fget_selection_internal): ditto.
2436         (syms_of_select): new function. QXXXX values moved from xselect.c
2437         (vars_of_select): new function. selection_converter_alist,
2438         lost_selection_hooks moved and renamed from xselect.c
2439
2440         * select-x.c: renamed from xselect.c.
2441         (x_own_selection): converted to device specific. non-X-specific
2442         bits moved to select.c.
2443         (x_get_foreign_selection): ditto.
2444         (x_disown_selection): ditto.
2445         (x_selection_exists_p): ditto.
2446         (console_type_create_select_x): new function.
2447
2448         * select-msw.c (mswindows_own_selection): new device method to set
2449         the clipboard when we 'own' the selection.
2450         (mswindows_get_foreign_selection): new device method to get the
2451         clipboard.
2452         (mswindows_disown_selection): new device method to delete the
2453         selection when we 'disown' it.
2454         (console_type_create_select_mswindows): new function.
2455
2456         * emacs.c (main_1): add select to things to initialise.
2457
2458         * console.h (struct console_methods): new console methods for
2459         selection.
2460
2461         * Makefile.in.in (x_objs): xselect.c renamed to select-x.c
2462
2463 1999-05-20  Hrvoje Niksic  <hniksic@srce.hr>
2464
2465         * print.c (long_to_string): Install a faster version.
2466
2467 1999-05-16  Andy Piper  <andy@xemacs.org>
2468
2469         * ntproc.c (syms_of_ntproc): default
2470         win32-start-process-share-console to t.
2471
2472 1999-05-14  Hrvoje Niksic  <hniksic@srce.hr>
2473
2474         * config.h.in: Do it here.
2475
2476         * bytecode.c: Don't define ERROR_CHECK_TYPECHECK here.
2477
2478 1999-05-14  Andy Piper  <andy@xemacs.org>
2479
2480         * toolbar-msw.c (mswindows_output_toolbar): hash on something
2481         hashable.
2482
2483 1999-05-14  XEmacs Build Bot <builds@cvs.xemacs.org>
2484
2485         * XEmacs 21.2.14 is released
2486
2487 1999-05-12  Andy Piper  <andy@xemacs.org>
2488
2489         * ntproc.c (sys_spawnve): kludge argv[0] in a MS compatible way.
2490
2491 1999-05-11  Gunnar Evermann  <ge204@eng.cam.ac.uk>
2492
2493         * emacs.c (Frun_emacs_from_temacs): (re)alloc natgs+2 entries for
2494         run_temacs_argv array -- fixes random memory corruption crash
2495
2496 1999-05-12  Jan Vroonhof  <vroonhof@math.ethz.ch>
2497
2498         * window.c (Fcurrent_window_configuration):
2499         Save minibuffer height;
2500
2501         * window.c (set_window_configuration): use it.
2502
2503 1999-05-10  Robert Pluim  <rpluim@bigfoot.com>
2504
2505         * lisp.h (NNUNGCPRO): fix typo in name of DEBUG_GCPRO version
2506
2507 1999-04-21  Jan Vroonhof  <vroonhof@math.ethz.ch>
2508
2509         * redisplay.c (redisplay_window): Do not put data
2510         in the line start cache if it is not guaranteed to be correct
2511
2512 1999-04-02  Jan Vroonhof  <vroonhof@math.ethz.ch>
2513
2514         * window.c (struct window_config): Removed frame
2515         size members.
2516         (window_config_equal): No longer compare frame sizes.
2517         (Fset_window_configuration): Resize old top window to fit in the
2518         current frame directly, no longer use a fake frame resize.
2519         (Fcurrent_window_configuration): No longer save frame size
2520
2521 1999-05-11  Andy Piper  <andy@xemacs.org>
2522
2523         * ntproc.c (sys_spawnve): actually assign argv[0] instead of the
2524         first character.
2525
2526 1999-05-10  Hrvoje Niksic  <hniksic@srce.hr>
2527
2528         * sysdep.c (init_system_name): If gethostname gives a proper
2529         domain name, don't look further for one.
2530
2531 1999-05-09  Hrvoje Niksic  <hniksic@srce.hr>
2532
2533         * symbols.c (Fintern): Avoid frequent XSYMBOL (foo).
2534         (Fintern_soft): Accept a symbol argument.
2535
2536 1999-05-06  Hrvoje Niksic  <hniksic@srce.hr>
2537
2538         * symbols.c (Fintern): ...do it here.
2539
2540         * lread.c (read_atom): Don't handle keywords here.
2541
2542 1999-05-06  Hrvoje Niksic  <hniksic@srce.hr>
2543
2544         * symbols.c (reject_constant_symbols): Just use SYMBOL_IS_KEYWORD.
2545
2546 1999-05-03  Olivier Galibert  <galibert@pobox.com>
2547
2548         * lisp.h (SYMBOL_IS_KEYWORD): A symbol can be a keyword only if it
2549         is interned in the main obarray.
2550
2551 1999-04-23  Gunnar Evermann  <ge204@eng.cam.ac.uk>
2552
2553         * menubar-x.c (pre_activate_callback): set accelerator field in
2554         "No menu" entries to nil. Avoid crash in
2555         command_builder_operate_menu_accelerator
2556
2557 1999-05-03  Olivier Galibert  <galibert@pobox.com>
2558
2559         * symeval.h (symbol_value_forward_lheader_initializer): Ditto.
2560
2561         * lisp.h (DEFUN): Fix lrecord header initialisation.
2562
2563 1999-05-02  Andy Piper  <andy@xemacs.org>
2564
2565         * objects-msw.c (mswindows_font_instance_truename): add a ';'.
2566
2567         * ntproc.c (sys_kill): cast using MS mandated defines.
2568
2569 1999-04-29  Andy Piper  <andy@xemacs.org>
2570
2571         * m/intel386.h: remove redundant definitions.
2572
2573         * s/mingw32.h: new header for mingw32.
2574
2575         * unexnt.c: (open_input_file): function moved to nt.c.
2576         (close_file_data): ditto.
2577         (rva_to_section): function moved to ntproc.
2578
2579         * symsinit.h: declare syms_of_ntproc();
2580
2581         * objects-msw.c (mswindows_font_instance_truename): new function.
2582
2583         * ntproc.c: remove many warnings.
2584         (_sys_read_ahead): moved from nt.c and made static.
2585         (rva_to_section): moved from unexnt.c but not defined under
2586         mingw32.
2587         (win32_executable_type): implement what we can for mingw32
2588         headers.
2589         (sys_spawnve): fix bad MULE/GCPRO bug in filename handling.
2590
2591         * ntheap.h: remove declarations of functions that are now static.
2592
2593         * ntheap.c: support static heap.
2594
2595         * nt.h: conditionalise X_OK definition.
2596
2597         * nt.c: eliminate many warnings and support mingw32.
2598         (open_input_file): function moved from unexnt.c and made static
2599         (close_file_data): ditto.
2600         (_sys_read_ahead): moved to ntproc.c
2601
2602         * emacs.c: make sure syms_of_ntptroc gets called under windows.
2603
2604         * console-msw.h: support mingw32.
2605         * getloadavg.c: ditto.
2606         * ntplay.c: ditto.
2607         * sysdep.c: ditto.
2608         * sysdir.h: ditto.
2609         * systime.h: ditto.
2610         * systty.h: ditto.
2611
2612         * config.h.in: dont turn on DEBUG_ENCAPSULATION by default because
2613         some systems don't have all of the encapsulated system calls.
2614
2615         * callproc.c: warning elimination.
2616         * dired-msw.c: ditto.
2617         * process-nt.c: ditto.
2618         * realpath.c: ditto.
2619
2620         * Makefile.in.in: tweak : and ; for building under mswindows.
2621
2622 1999-04-26  Michael Harnois  <mharnois@willinet.net>
2623
2624         * eldap.c (allocate_ldap): Adapt to the new semantics of
2625         alloc_lcrecord_type().
2626
2627 1999-03-16  MORIOKA Tomohiko  <tomo@etl.go.jp>
2628
2629         * file-coding.c (DECODE_HANDLE_END_OF_CONVERSION): fixed.
2630
2631 1998-09-04  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
2632
2633         * Delete mule-coding.c and mule-coding.h because they are not
2634         used.
2635
2636 1999-04-22  Gunnar Evermann  <ge204@eng.cam.ac.uk>
2637
2638         * objects.c (print_font_instance): Check for NILP(f->device),
2639         i.e. Vthe_null_font_instance.
2640         (font_instance_truename_internal): ditto.
2641         (Ffont_instance_properties): ditto.
2642
2643 1999-04-22  Olivier Galibert  <galibert@pobox.com>
2644
2645         * lrecord.h (DECLARE_LRECORD): lrecord_implementation isn't an
2646         array anymore.
2647
2648 1999-04-22  Hrvoje Niksic  <hniksic@srce.hr>
2649
2650         * Makefile.in.in (tests): Don't mention tests explicitly -- makes
2651         it easier to add new ones.
2652
2653 1999-04-22  Hrvoje Niksic  <hniksic@srce.hr>
2654
2655         * symbols.c (reject_constant_symbols): Ditto.
2656         (init_symbols_once_early): Ditto.
2657
2658         * print.c (print_symbol): Don't use ->obarray.
2659
2660         * symbols.c (Funintern): Ditto.
2661
2662         * alloc.c (Fmake_symbol): Don't set ->obarray.
2663
2664         * lisp.h (struct Lisp_Symbol): Removed .obarray field.
2665
2666         * symbols.c (init_symbols_once_early): Removed
2667         Vpure_uninterned_symbol_table.
2668         (Fintern): Don't store to ->obarray field.
2669
2670 1999-04-22  Hrvoje Niksic  <hniksic@srce.hr>
2671
2672         * data.c (vars_of_data): Default debug_issue_ebola_notices to 0.
2673         (eq_with_ebola_notice): Remove abracadabra support.
2674
2675 1999-04-11  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
2676
2677         * eldap.c (Fldap_search_internal): Add a new parameter `withdn' to
2678         retrieve the distinguished names of entries
2679
2680 1999-03-08  Martin Buchholz  <martin@xemacs.org>
2681
2682         * lread.c (read_escape): Make hex escapes read only two hex digits.
2683
2684 1999-04-05  Olivier Galibert  <galibert@pobox.com>
2685
2686         * Makefile.in.in: Remove puresize-adjust.h and recursive makes.
2687         * make-src-depend: Remove puresize-adjust.h.
2688         * src-headers: Remove puresize-adjust.h.
2689         * config.h.in: Kill everything purespace/gung-ho related.
2690
2691         * dbxrc: Make gung-ho mandatory.
2692         * gdbinit: Ditto.
2693
2694         * lrecord.h: Make gung-ho mandatory.  Remove pure flag and add
2695         c_readonly and lisp_readonly.  Remove implementation arrays.
2696         (C_READONLY_RECORD_HEADER_P): Added.
2697         (LISP_READONLY_RECORD_HEADER_P): Added.
2698         (SET_C_READONLY_RECORD_HEADER): Added.
2699         (SET_LISP_READONLY_RECORD_HEADER): Added.
2700
2701         * lisp.h: Kill everything purespace/non gung-ho related.
2702         (CHECK_C_WRITEABLE): Added.
2703         (CHECK_LISP_WRITEABLE): Added.
2704         (C_READONLY): Added.
2705         (LISP_READONLY): Added.
2706
2707         * lisp-union.h: Make gung-ho mandatory.
2708         * lisp-disunion.h: Ditto.
2709
2710         * alloc.c: Kill everything purespace/non  gung-ho related. Fix all
2711         set_lheader_implementation calls.
2712         (c_readonly): Added.
2713         (lisp_readonly): Added.
2714         (make_string_nocopy): Added.
2715         (Fpurecopy):  Changed to do  nothing.   Kept the old documentation
2716         for reference purposes for the next patches.
2717         (sweep_lcrecords_1): Don't free C readonly lcrecords.
2718         (sweep_bit_vectors_1): Don't free C readonly bitvectors.
2719         (SWEEP_FIXED_TYPE_BLOCK): Don't free C readonly lrecords.
2720
2721         * fns.c: Make gung-ho mandatory.
2722         (Fput): CHECK_IMPURE -> CHECK_LISP_WRITEABLE.
2723         (Fremprop): Ditto.
2724         (Ffillarray): Ditto.
2725
2726         * data.c: Make gung-ho mandatory.
2727         (pure_write_error): Removed.
2728         (c_write_error): Added.
2729         (lisp_write_error): Added.
2730         (Fsetcar): CHECK_IMPURE -> CHECK_LISP_WRITEABLE.
2731         (Fsetcdr): Ditto.
2732         (Faset): Ditto.
2733
2734         * symbols.c: Make gung-ho mandatory.  make_pure_pname ->
2735                   make_string or make_string_nocopy.  Fix various
2736                   alloc_lcrecord_type.
2737
2738         * lread.c: Remove everything purespace related.
2739         (Flocate_file_clear_hashing): purified -> c_readonly.
2740         (locate_file): Ditto.
2741         (read_atom): make_pure_pname -> make_string.
2742
2743         * emacs.c (Frun_emacs_from_temacs): Remove purespace stats
2744                   reporting.
2745         (Fdump_emacs): Ditto.
2746
2747         * print.c (print_internal): Make gung-ho mandatory.
2748         * ntheap.c (sbrk): Ditto.
2749         * mem-limits.h (EXCEEDS_LISP_PTR): Ditto
2750         * symeval.h (symbol_value_forward_lheader_initializer): Ditto.
2751
2752         * sheap.c (more_static_core): Remove puresize-adjust.h from
2753                   message.
2754
2755         * syntax.c (complex_vars_of_syntax): make_pure_string ->
2756                   make_string_nocopy.
2757         * keymap.c (make_keymap): Fix alloc_lcrecord_type.
2758         (vars_of_keymap): make_pure_string -> make_string_nocopy.
2759         * events.c (deinitialize_event): Fix set_lheader_implementation.
2760         (zero_event): Ditto.
2761         * specifier.c (make_specifier_internal): Fix alloc_lcrecord.
2762         * menubar-x.c (set_frame_menubar): Fix alloc_lcrecord_type.
2763         * mule-charset.c (make_charset): Ditto.
2764         * console.c (allocate_console): Ditto.
2765         (complex_vars_of_console): Ditto.
2766         * file-coding.c (allocate_coding_system): Ditto.
2767         * device.c (allocate_device): Ditto
2768         * gui-x.c (gcpro_popup_callbacks): Ditto.
2769         * extents.c (allocate_extent_auxiliary): Ditto.
2770         (allocate_extent_info): Ditto.
2771         (copy_extent): Ditto.
2772         * glyphs.c (allocate_image_instance): Ditto.
2773         (allocate_glyph): Ditto.
2774         * frame.c (allocate_frame_core): Ditto.
2775         * database.c (allocate_database): Ditto.
2776         * tooltalk.c (make_tooltalk_message): Ditto.
2777         (make_tooltalk_pattern): Ditto.
2778         * rangetab.c (Fmake_range_table): Ditto.
2779         (Fcopy_range_table): Ditto.
2780         * process.c (make_process_internal): Ditto.
2781         * chartab.c (Fmake_char_table): Ditto.
2782         (make_char_table_entry): Ditto.
2783         (copy_char_table_entry): Ditto.
2784         (Fcopy_char_table): Ditto.
2785         * elhash.c (make_general_lisp_hash_table): Ditto.
2786         (Fcopy_hash_table): Ditto.
2787         * buffer.c (allocate_buffer): Ditto.
2788         (complex_vars_of_buffer): Ditto.
2789         * event-stream.c (allocate_command_builder): Ditto.
2790         * objects.c (Fmake_color_instance): Ditto.
2791         (Fmake_font_instance): Ditto.
2792         (vars_of_objects): Ditto.
2793         * toolbar.c (update_toolbar_button): Ditto.
2794         * window.c (allocate_window): Ditto.
2795         (make_dummy_parent): Ditto.
2796         (Fcurrent_window_configuration): Fix alloc_lcrecord.
2797         (vars_of_window): Fix make_lcrecord_list.
2798         * faces.c (allocate_face): Fix alloc_lcrecord_type. pure_list ->
2799                   Flist.
2800         * lstream.c (Lstream_new): Fix make_lcrecord_list.
2801         * opaque.c (make_opaque): Fix alloc_lrecord.
2802         (make_opaque_list): Fix alloc_lrecord_type.
2803
2804 1999-04-19  Hrvoje Niksic  <hniksic@srce.hr>
2805
2806         * process.c (Fstart_process_internal): Ditto.
2807
2808         * ntproc.c (sys_spawnve): Use Vlisp_EXEC_SUFFIXES when calling
2809         locate_file().
2810
2811         * glyphs-x.c (x_locate_pixmap_file): Ditto.
2812
2813         * glyphs-msw.c (mswindows_locate_pixmap_file): Fix call to
2814         locate_file().
2815
2816         * emodules.c (vars_of_module): New variable Vmodule_extensions.
2817         (emodules_load): Use it when calling locate_file().
2818
2819         * emacs.c (main_1): Use Vlisp_EXEC_SUFFIXES when calling
2820         locate_file().
2821
2822         * callproc.c: Vlisp_EXEC_SUFFIXES: New variable.
2823         (vars_of_callproc): Initialize it.
2824         (Fcall_process_internal): Use it when calling locate_file().
2825
2826         * alloc.c (disksave_object_finalization): Use
2827         Flocate_file_clear_hashing().
2828
2829         * lread.c (Flocate_file_clear_hashing): Clear all hasing when
2830         given `t' as argument.
2831
2832 1999-04-18  Hrvoje Niksic  <hniksic@srce.hr>
2833
2834         * lread.c (locate_file): Expand `pathel' when appropriate.
2835         (Flocate_file_clear_hashing): Expand path elements.
2836         (Flocate_file_clear_hashing): Use Vlocate_file_hash_table.
2837
2838         * dired.c (make_directory_hash_table): Create the hash-table only
2839         if the directory open is successful.
2840
2841         * lread.c (decode_mode_1): New function.
2842         (decode_mode): Ditto.
2843         (Flocate_file): Use them.
2844         (Flocate_file): Expand FILENAME.
2845         (locate_file_map_suffixes): New function.
2846         (locate_file_in_directory_mapper): New function.
2847         (locate_file_in_directory): Use locate_file_in_directory_mapper()
2848         and locate_file_map_suffixes().
2849         (locate_file_construct_suffixed_files): Use
2850         locate_file_map_suffixes().
2851         (locate_file_without_hash): Don't GCPRO path.
2852         (Flocate_file_clear_hashing): Use EXTERNAL_LIST_LOOP.
2853         (syms_of_lread): Remove Qlocate_file_hash_table.
2854         (locate_file_find_directory_hash_table): Use
2855         Vlocate_file_hash_table.
2856         (locate_file_refresh_hashing): Ditto.
2857
2858         * lread.c: Renamed read_objects to Vread_objects.
2859
2860 1999-04-16  Olivier Galibert  <galibert@pobox.com>
2861
2862         * mule-charset.c: Generally resync with fsf 20.3 charset
2863         interface.
2864         (make_charset): Add long and short name.  Use id instead of
2865         leading byte.
2866         (Fmake_charset): Ditto.
2867         (Fmake_reverse_direction_charset): Ditto.
2868         (Fcharset_property): Ditto.
2869         (Fcharset_short_name): Added.
2870         (Fcharset_long_name): Added.
2871         (Fcharset_description): Renamed from charset-doc-string.
2872         (syms_of_mule_charset): Synced symbols.
2873         (complex_vars_of_mule_charset): Synced charsets.
2874
2875         * mule-charset.h: Removed leading byte (uses id instead), added
2876         short and long name.
2877
2878 1999-04-15  Hrvoje Niksic  <hniksic@srce.hr>
2879
2880         * file-coding.c (Fdefine_coding_system_alias): New function.
2881
2882 1999-04-08  Olivier Galibert  <galibert@pobox.com>
2883
2884         * mule-charset.c (complex_vars_of_mule_charset): Allow all iso8859
2885         and -ascii fonts for displaying ascii instead of iso8859-1 only.
2886
2887 1998-12-14  Hrvoje Niksic  <hniksic@srce.hr>
2888
2889         * extents.c (set_extent_glyph_1): Make sure that the glyph we
2890         attach to the extent is valid.
2891
2892 1998-12-12  Hrvoje Niksic  <hniksic@srce.hr>
2893
2894         * dired.c (user_name_completion): Mule-ize.
2895         (user_name_completion): Use xmalloc/xrealloc/xfree.
2896         (user_name_completion): Use DO_REALLOC.
2897         (user_name_completion): Cut down the number of static variables;
2898         use a structure.
2899         (user_name_completion): Username completion is always
2900         case-sensitive.
2901
2902 1998-12-06  Hrvoje Niksic  <hniksic@srce.hr>
2903
2904         * fns.c (base64_decode_1): Remove COUNTER.
2905         (base64_decode_1): Accept CRLF in addition to CR.
2906         (base64_decode_1): Disallow a stray character after final EOF; the
2907         check was probably a remnant of buggy recode code.
2908
2909 1998-12-05  Hrvoje Niksic  <hniksic@srce.hr>
2910
2911         * fns.c (init_provide_once): Provide `base64'.
2912
2913 1998-12-04  Hrvoje Niksic  <hniksic@srce.hr>
2914
2915         * fns.c (XMALLOC_UNBIND): Include SPECCOUNT argument, for clarity.
2916         (Fbase64_encode_region): If buffer is read-only, bail out early.
2917         (Fbase64_decode_region): Ditto.
2918         (Fbase64_encode_region): Initialize SPECCOUNT to pacify the
2919         compiler.
2920         (Fbase64_encode_string): Ditto.
2921         (Fbase64_decode_region): Ditto.
2922         (Fbase64_decode_string): Ditto.
2923
2924 1998-11-25  Hrvoje Niksic  <hniksic@srce.hr>
2925
2926         * dired.c (Fdirectory_files): Remove redundant code.
2927
2928 1999-03-05  Philip Aston  <philipa@parallax.co.uk>
2929
2930         * frame-msw.c Make raise-frame restore minimised windows.
2931
2932 1999-03-05  Philip Aston  <philipa@parallax.co.uk>
2933
2934         * device-msw.c: Fix DEFVAR format - Death to phantom quote, and
2935         add magic newline.
2936
2937 1999-03-05  Philip Aston  <philipa@parallax.co.uk>
2938
2939         * toolbar-msw.c Consider captions when deciding whether to rebuild
2940         toolbar. This fixes the initial toolbar display for those of us
2941         who don't like captions. These patches applied by Andy Piper.
2942
2943 1999-03-12  XEmacs Build Bot <builds@cvs.xemacs.org>
2944
2945         * XEmacs 21.2.13 is released
2946
2947 1999-03-12  SL Baur  <steve@xemacs.org>
2948
2949         * file-coding.c: Guard ucs table initialization with ifdef MULE.
2950
2951 1999-03-10  Stephen J. Turnbull  <turnbull@sk.tsukuba.ac.jp>
2952
2953         * file-coding.c:  docstring and comment improvements.
2954         (decode_ucs4)  flag possible data loss with comment.
2955
2956 1999-03-10  Martin Buchholz  <martin@xemacs.org>
2957
2958         * file-coding.c (Fset_ucs_char): add CHECK_INT, CHECK_CHAR
2959         (ucs_to_char):
2960         (Fucs_char):
2961         (Fset_char_ucs):
2962         (decode_coding_ucs4):
2963         (encode_coding_ucs4):
2964         (detect_coding_utf8):
2965         (decode_coding_utf8):
2966         (encode_utf8):
2967         (encode_coding_utf8):
2968         Add CHECK_* macros where needed to avoid crashes.
2969         #ifdef out all composite character support using
2970         #ifdef ENABLE_COMPOSITE_CHARS
2971         Use normal XEmacs coding standards.
2972         Fix docstrings.
2973         Remove CODING_STREAM_COMPOSE, CODING_STREAM_DECOMPOSE.
2974
2975 1998-09-08  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
2976
2977         * file-coding.c (make-coding-system): Add description about
2978         `ucs-4' and `utf-8'.
2979         (detection_state): Modify to implement ucs-4 and utf-8.
2980         (detect_coding_type): Likewise.
2981         (detect_coding_ucs4): New implementation.
2982         (detect_coding_utf8): New implementation.
2983         (encode_utf8): fixed.
2984         (syms_of_mule_coding): Rename `ucs4' and `utf8' to `ucs-4' and
2985         `utf-8'.
2986
2987 1998-09-08  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
2988
2989         * file-coding.c (mule_char_to_ucs4): Encode 94x94 chars in ISO
2990         2022 registry to private area.
2991
2992 1998-09-07  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
2993
2994         * file-coding.c (encode_utf8): New function.
2995         (encode_coding_utf8): New implementation.
2996
2997 1998-09-07  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
2998
2999         * file-coding.c (ucs_to_mule_table): New variable; abolish
3000         `Vucs_to_mule_table'
3001         (mule_to_ucs_table): renamed from `Vmule_to_ucs_table'.
3002         (set-ucs-char): New function.
3003         (ucs_to_char): New function.
3004         (ucs-char): New function.
3005         (set-char-ucs): New function.
3006         (char-ucs): New function.
3007         (decode_ucs4): Use `ucs_to_char'.
3008         (complex_vars_of_mule_coding): Abolish `ucs-to-mule-table' and
3009         `mule-to-ucs-table'.
3010
3011 1998-09-06  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
3012
3013         * chartab.h: EXFUN `Fget_char_table'.
3014
3015         * file-coding.c (encode_ucs4): New function.
3016         (encode_coding_ucs4): Use `encode_ucs4'.
3017
3018 1998-09-06  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
3019
3020         * file-coding.c (decode_coding_ucs4): New implementation.
3021
3022 1998-09-06  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
3023
3024         * file-coding.c (decode_coding_ucs4): fixed.
3025
3026         * file-coding.c (Vmule_to_ucs_table): New variable.
3027         (mule_char_to_ucs4): New function.
3028         (encode_coding_ucs4): New implementation.
3029         (complex_vars_of_mule_coding): Define variable
3030         `mule-to-ucs-table'.
3031
3032 1998-09-06  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
3033
3034         * file-coding.c (decode_coding_utf8): New implementation.
3035
3036 1998-09-06  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
3037
3038         * file-coding.c (decode_coding_utf8): fixed.
3039
3040 1998-09-06  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
3041
3042         * file-coding.c (Vucs_to_mule_table): New variable.
3043         (decode_ucs4): Refer `Vucs_to_mule_table'.
3044         (complex_vars_of_mule_coding): Define variable
3045         `ucs-to-mule-table'.
3046
3047 1998-09-04  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
3048
3049         * file-coding.c (detect_coding_ucs4): New function (not
3050         implemented yet).
3051         (decode_coding_ucs4): New function.
3052         (encode_coding_ucs4): New function (not implemented yet).
3053         (detect_coding_utf8): New function (not implemented yet).
3054         (decode_coding_utf8): New function.
3055         (encode_coding_utf8): New function (not implemented yet).
3056         (make-coding-system): New type `ucs4' and `utf8'.
3057         (coding-system-type): Likewise.
3058         (detection_state): Add `ucs4' and `utf8'.
3059         (detect_coding_type): Likewise.
3060         (mule_decode): Use `decode_coding_ucs4' and `decode_coding_utf8'.
3061         (mule_encode): Use `encode_coding_ucs4' and `encode_coding_utf8'.
3062         (decode_ucs4): New function (very incomplete).
3063         (syms_of_mule_coding): Add `ucs4' and `utf8'.
3064
3065         * file-coding.h: Add definitions for UCS-4 and UTF-8.
3066
3067 1999-03-08  Martin Buchholz  <martin@xemacs.org>
3068
3069         * mule-charset.c:
3070         (non_ascii_valid_char_p):
3071         (lookup_composite_char):
3072         (composite_char_string):
3073         (make-composite-char):
3074         (composite-char-string):
3075         (syms_of_mule_charset):
3076         (complex_vars_of_mule_charset):
3077         * mule-charset.h (LEADING_BYTE_COMPOSITE):
3078         (CHAR_LEADING_BYTE):
3079         (MAKE_CHAR):
3080         * file-coding.h (CODING_STATE_COMPOSITE):
3081         (CODING_STATE_ISO2022_LOCK):
3082         (iso_esc_flag):
3083         (LEADING_BYTE_COMPOSITE):
3084         * file-coding.c (struct iso2022_decoder):
3085         (decoding_closer):
3086         (reset_iso2022):
3087         (parse_iso2022_esc):
3088         (encode_coding_iso2022):
3089         #ifdef out all composite character support using
3090         #ifdef ENABLE_COMPOSITE_CHARS
3091
3092         * alloc.c: Define lrecord_coding_system only if ! FILE_CODING
3093
3094 1999-03-04  Takeshi YAMADA <yamada@cslab.kecl.ntt.co.jp>
3095
3096         * fns.c (Fbase64_encode_string): Calculate `allength' in the same
3097         way of `Fbase64_encode_region'.
3098
3099 1999-02-18  Katsumi Yamaoka   <yamaoka@jpl.org>
3100
3101         * fns.c (base64_encode_1): Don't add a newline at the tail.
3102
3103 1999-03-08  Andy Piper  <andy@xemacs.org>
3104
3105         * menubar-msw.c (displayable_menu_item): correct off-by-one &
3106         handling.
3107
3108 1999-03-07  Martin Buchholz  <martin@xemacs.org>
3109
3110         * console-stream.h (struct stream_console):
3111         * event-unixoid.c (event_stream_unixoid_select_console):
3112         (event_stream_unixoid_unselect_console):
3113         * print.c (Fexternal_debugging_output):
3114         * sysdep.c (reset_one_device):
3115         * console-stream.c (stream_init_console):
3116         (stream_delete_console):
3117         (allocate_stream_console_struct): move into stream_init_console.
3118         (free_stream_console_struct): move into stream_delete_console.
3119         Use `fd' only for file descriptors.
3120         Therefore, rename members of struct stream_console.
3121
3122         * systime.h: Unix98 says sys/time.h should define select(), but
3123         some systems define that in unistd.h.  So include that file always.
3124
3125         * glyphs.h (MAYBE_IIFORMAT_METH): Don't use leading `_'.  Avoid
3126         multiple evaluation of first arg.  Do proper do {} while (0) wrapping.
3127         (HAS_IIFORMAT_METH_P): Prevent macro from being used in
3128         non-boolean context
3129         (MAYBE_IIFORMAT_DEVMETH): Use standard internal macro naming convention.
3130
3131         * EmacsShell.c:
3132         * balloon_help.c:
3133         Add #include <stdio.h>.
3134         Some versions of assert.h use printf() without #include'ing stdio.h
3135
3136         * free-hook.c (blocktype): Add gcpro5_type to blocktype.
3137         (log_gcpro): Remove unused variable FRAME.
3138         (show_gcprohist): Ansify.
3139         Comment the #endif's
3140
3141         * frame-x.c (x_delete_frame): Don't use FRAME_X_SHELL_WIDGET(f)
3142         after it's just been XtDestroy'ed!
3143
3144 1999-02-18  Martin Buchholz  <martin@xemacs.org>
3145
3146         * opaque.c (print_opaque):
3147         (sizeof_opaque):
3148         (equal_opaque):
3149         (hash_opaque):
3150         Egcs 1.1.1 seems to have a bug where
3151         INTP (p->size_or_chain)
3152         will crash XEmacs.  Fix by introducing intermediate variable.
3153
3154         * sound.c (Fdevice_sound_enabled_p): Fix compiler warning.
3155
3156         * dired.c (Fdirectory_files):
3157         (Ffile_name_completion):
3158         (Ffile_name_all_completions):
3159         (file_name_completion):
3160         - Use `directory' instead of `dirname' to sync with FSF Emacs and
3161         avoid compiler warnings.
3162         - Fix up docstrings so that C variables match documentation.
3163
3164 1999-03-05  Martin Buchholz  <martin@xemacs.org>
3165
3166         * alloc.c: (garbage_collect_1): Reorg code to make scope of local
3167         variables as small as possible to help out the compiler and the maintainer.
3168
3169         * alloc.c: (disksave_object_finalization):
3170         Set all the *-load-path variables to
3171         nil, not just load-path itself.  This gets the locate-file hash
3172         tables garbage collected BEFORE dump, and has the side effect of
3173         preventing crashes on OSF4.0+egcs.
3174
3175         * alloc.c:
3176         * gdbinit:
3177         * dbxrc:
3178         - Clean up gdb/dbx debugging support.
3179         - Storing an EMACS_INT in an enum is not 64-bit clean!
3180         - So change the enum to a set of separate variables.
3181         - Add test cases to help debug the debugging support!
3182         - Add `lisp-shadows' and `run-temacs' targets for dbx.
3183         - Both dbx and gdb have been tested now.
3184
3185 1999-03-05  XEmacs Build Bot <builds@cvs.xemacs.org>
3186
3187         * XEmacs 21.2.12 is released
3188
3189 1999-02-16  Kazuyuki IENAGA  <ienaga@jsys.co.jp>
3190
3191         * device-x.c: Support to find best visual without flashing.
3192
3193 1999-03-02  Paul Keusemann  <pkeusem@visi.com>
3194
3195         * database.c (berkdb_map): Add flags argument to cursor call (must
3196           be 0 according to docs) required for Berkeley DB 2.6.4 and later.
3197
3198 1999-03-03  Martin Buchholz  <martin@xemacs.org>
3199
3200         * hash.c:
3201         * hash.h:
3202         General cleanup.  Get free-hook.c working again.
3203         Remove unused functions:
3204         make_strings_hash_table, copy_hash, expand_hash_table.
3205
3206         * malloc.c:
3207         * mem-limits.h:
3208         Always use new ANSI-style function prototypes.
3209
3210         * unexalpha.c (unexec): Never use implicit int.
3211
3212         * sgiplay.c (close_sound_file):
3213         (play_sound_file):
3214         (restore_audio_port):
3215         (play_sound_data):
3216         (audio_initialize):
3217         (play_internal):
3218         (drain_audio_port):
3219         (write_mulaw_8_chunk):
3220         (write_linear_chunk):
3221         (write_linear_32_chunk):
3222         (initialize_audio_port):
3223         (open_audio_port):
3224         (set_channels):
3225         (set_output_format):
3226         (adjust_audio_volume):
3227         (get_current_volumes):
3228         (parse_snd_header):
3229         Always use new ANSI-style function prototypes.
3230         Use unistd.h for missing prototypes.
3231
3232         * unexelfsgi.c (round_up):
3233         (find_section):
3234         (unexec): Always use new ANSI-style function prototypes
3235
3236         * elhash.c (struct Lisp_Hash_Table): rename golden to golden_ratio
3237
3238         * console.h (struct console_methods): Always use full ANSI prototypes
3239
3240         * emacs.c (__sti__iflPNGFile_c___): Always use full ANSI prototypes
3241
3242 1999-03-02  Andy Piper  <andy@xemacs.org>
3243
3244         * event-stream.c (init_event_stream): make sure native mswindows
3245         gets an appropriate event loop.
3246
3247 1999-02-22  Andy Piper  <andy@xemacs.org>
3248
3249         * frame-msw.c (mswindows_make_frame_visible): use SW_SHOW rather
3250         than SW_SHOWNORMAL to prevent resizing of maximised frames.
3251         (mswindows_raise_frame): remove comment.
3252
3253 1999-03-01  XEmacs Build Bot <builds@cvs.xemacs.org>
3254
3255         * XEmacs 21.2.11 is released
3256
3257 1999-02-25  SL Baur  <steve@xemacs.org>
3258
3259         * mule-charset.c (Qleading_byte): New variable to implement
3260         charset-leading-byte function.
3261         (Fcharset_property): Use it.
3262         (syms_of_mule_charset): Initialize it.
3263         From Kazuyuki IENAGA <ienaga@jsys.co.jp>
3264
3265 1999-02-17  Kazuo Oishi <oishi@ae.agr.yamaguchi-u.ac.jp>
3266
3267         * glyphs-x.c (cononvert_EImage_to_XImage): correct
3268         bytes per pixel counting.
3269
3270 1999-02-15  Andy Piper  <andy@xemacs.org>
3271
3272         * s/cygwin32.h (BROKEN_SIGIO): don't define this as it causes
3273         major lockups.
3274
3275 1999-02-16  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
3276
3277         * fns.c (Fbase64_encode_string): New optional argument
3278         `NO_LINE_BREAK'.
3279
3280 1999-02-16  Martin Buchholz  <martin@xemacs.org>
3281
3282         * gdbinit:  Fix up commands to run temacs.  Add lisp-shadows command.
3283         * alloc.c (xcalloc):  undef xcalloc, just like xmalloc
3284
3285 1999-02-10  Martin Buchholz  <martin@xemacs.org>
3286
3287         * s/bsdos4.h: New file.  Port to BSDI BSD/OS 4.0.
3288         * xintrinsic.h:  Redo CONST support for X11 R4 compatibility.
3289
3290 1999-02-05  XEmacs Build Bot <builds@cvs.xemacs.org>
3291
3292         * XEmacs 21.2.10 is released
3293
3294 1999-02-02  Gleb Arshinov  <gleb@cs.stanford.edu>
3295
3296         * process-nt.c (nt_send_process):
3297         Fix for process-send-region/process-send-string breaking when size
3298         of the input > 128 chars: change maximum chunk size for process
3299         stream from 512 to 128, thus guaranteeing that ntpipe_shove_writer
3300         succeeds.
3301
3302 1999-02-02  XEmacs Build Bot <builds@cvs.xemacs.org>
3303
3304         * XEmacs 21.2.9 is released
3305
3306 1999-01-30  Martin Buchholz  <martin@xemacs.org>
3307
3308         * bytecode.c (funcall_compiled_function): Call
3309         UNBIND_TO_GCPRO instead of UNBIND_TO_GCPRO_VARIABLES_ONLY.
3310
3311         * backtrace.h (UNBIND_TO_GCPRO_VARIABLES_ONLY):
3312         #ifdef 0 out unused macro.
3313
3314 1999-01-27  Martin Buchholz  <martin@xemacs.org>
3315
3316         * gui.c (gui_parse_item_keywords_internal): Make static.
3317
3318 1999-01-21  Andy Piper  <andy@xemacs.org>
3319
3320         * glyphs-msw.c: add xface support.
3321         (mswindows_xface_instantiate): new function copied from glyphs-x.c
3322         (image_instantiator_format_create_glyphs_mswindows): do device
3323         specific initialisation for xfaces.
3324         (xbm_create_bitmap_from_data): line data must be padded to a word
3325         boundary.
3326
3327         * glyphs-x.c (xface_validate): moved to glyphs.c
3328         (xface_normalize): ditto.
3329         (xface_possible_dest_types): ditto.
3330         (image_instantiator_format_create_glyphs_x): do device specific
3331         initialisation for xfaces.
3332
3333         * glyphs.h: declare xface symbol.
3334
3335         * glyphs.c: move generic xface support here.
3336         (xface_validate): moved from glyphs-x.c
3337         (xface_normalize): ditto.
3338         (xface_possible_dest_types): ditto.
3339         (image_instantiator_format_create): xface declarations moved from
3340         glyphs-x.c.
3341
3342 1999-01-14  Adrian Aichner  <aichner@ecf.teradyne.com>
3343
3344         * event-stream.c (vars_of_event_stream): Fixing documentation.
3345
3346 1999-01-17  Gunnar Evermann  <ge204@eng.cam.ac.uk>
3347
3348         * glyphs-eimage.c (gif_instantiate): Correct handling of
3349         interlaced gifs to avoid writing past the end of the eimage
3350         buffer.
3351
3352 1999-01-13  Hrvoje Niksic  <hniksic@srce.hr>
3353
3354         * search.c (Freplace_match): Handle single backslash at end of
3355         NEWTEXT correctly.
3356
3357 1999-01-12  William M. Perry  <wmperry@aventail.com>
3358
3359         * eldap.c (Fldap_open): slow down interrupts around ldap_open to
3360           avoid connection errors.
3361
3362 1999-01-12  Andy Piper  <andy@xemacs.org>
3363
3364         * redisplay-output.c (redisplay_update_line): backout change that
3365         shouldn't have gone ine.
3366
3367 1999-01-09  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
3368
3369         * eldap.c (vars_of_ldap): Do no provide `ldap' here since it may
3370         collide with ldap.el
3371
3372 1999-01-11  Andy Piper  <andy@xemacs.org>
3373
3374         * redisplay.h (DISPLAY_LINE_HEIGHT): new macro.
3375         (DISPLAY_LINE_YPOS): new macro.
3376
3377         * redisplay-msw.c (mswindows_output_string): use it.
3378         (mswindows_output_pixmap): ditto.
3379         (mswindows_output_display_block): ditto.
3380
3381         * redisplay-output.c (redisplay_output_display_block): new
3382         function. just call the devmeth, maybe insert some generic code
3383         here later.
3384         (compare_display_blocks): use it.
3385         (output_display_line): ditto.
3386         (redisplay_unmap_subwindows_maybe): new function. potentially
3387         unmap subwindows in the given area.
3388
3389         * glyphs.c (reset_subwindow_cachels): unmap subwindows that we are
3390         resetting.
3391
3392 1999-01-10  J. Kean Johnston  <jkj@sco.com>
3393
3394         * Makefile.in.in: Set value of moduledir
3395         - Changed DUMPENV to include $(MODULEPATH)
3396         - Added install rule to install header files for use by ellcc.
3397
3398         * config.h.in: Added INHIBIT_SITE_MODULES
3399         - Added HAVE__DLERROR
3400         - Added HAVE_DLFCN_H
3401         - Added DLSYM_NEEDS_UNDERSCORE
3402
3403         * dll.c: Removed.
3404
3405         * emodules.c: New file containing dynamic loading code.
3406
3407         * emodules.h: New file.
3408
3409         * emacs.c: Added variables Vmodule_directory,
3410         Vsite_module_directory, Vconfigure_module_directory and
3411         Vconfigure_site_module_directory.
3412         - (main_1): Added new variable inhibit_site_modules and command
3413         line options `-no-site-modules' and `--no-site-modules'.
3414         - (main_1): Call syms_of_module() instead of syms_of_dll().
3415         - (main_1): Call vars_of_module().
3416         - (vars_of_emacs): Introduce inhibit-site-modules,
3417         module-directory, configure-module-directory,
3418         site-module-directory, and configure-site-module-directory to the
3419         Lisp reader.
3420
3421         * lisp.h: Declare load_module and list_modules, as well as
3422         Vmodule_directory, Vsite_module_directory,
3423         Vconfigure_module_directory and Vconfigure_site_module_directory.
3424
3425         * paths.h.in: Added PATH_MODULESEARCH and PATH_SITE_MODULES.
3426         - Added correct support for site-lisp directory.
3427
3428         * symbols.c (defsubr): Modified to allow modules to add new subrs
3429         after dump time.
3430         - (defsubr_macro): Same.
3431         - (defvar_magick): Only use purespace when not initialized, so
3432         that loaded modules can still add symbols.
3433
3434         * symsinit.h: Add definitions for syms_of_module(),
3435         vars_of_module().  Removed syms_of_dll().
3436
3437         * sysdll.c: Include dlfcn.h if HAVE_DLFCN_H is defined.
3438         - (dll_variable): Take DLSYM_NEEDS_UNDERSCORE into account.
3439         - (dll_error): use _dlerror() if HAVE__DLERROR is defined.
3440
3441         * s/sco5-shr.h (C_SWITCH_SYSTEM): Correct for modern gcc and
3442         explicitly pass -belf for native cc.
3443
3444         * s/sco5.h (LIB_GCC): Use -print-libgcc-file-name instead of
3445         hard-coding the library name.
3446
3447 1999-01-01    <martin@xemacs.org>
3448
3449         * device-x.c (Fx_set_font_path):
3450         Add proper cast to permit compilation under C++.
3451
3452         * buffer.c (directory_is_current_directory):
3453         Add proper casts to permit compilation under C++.
3454
3455 1998-12-30  Damon Lipparelli  <lipp@primus.com>
3456
3457         * event-msw.c (mswindows_wnd_proc):
3458           Fixed failure when building with MSVC 5.
3459
3460 1998-12-29  Martin Buchholz  <martin@xemacs.org>
3461
3462         * file-coding.c (decode_coding_iso2022):
3463         - Prevent crash when decoding ISO7/Lock detected files
3464         - the usual martin fiddling
3465
3466 1998-12-29  Jonathan Harris  <jhar@tardis.ed.ac.uk>
3467
3468         * event-msw.c:
3469           glyphs-msw.c:
3470           Fixed failures when building with MSVC.
3471         * unexnt.c (dump_bss_and_heap):
3472           Removed compiler warning by removing bss_data variable.
3473
3474 1998-12-18  Jim Radford  <radford@robby.caltech.edu>
3475
3476         * device-x.c (Fx_set_font_path, Fx_get_font_path): New functions
3477         so that packages that distribute their own fonts can access them.
3478
3479 1998-12-28  Andy Piper  <andy@xemacs.org>
3480
3481         * glyphs-msw.c (mswindows_button_instantiate): cope with buttons
3482         that have an image provided.
3483
3484         * glyphs.h: add Q_image decl.
3485
3486         * glyphs-widget.c new functionality allowing images in
3487         widgets.
3488         (check_valid_glyph_or_image): new function to validate
3489         glyphs passed in through :image.
3490         (widget_normalize): new function. convert :image parameters into
3491         real glyphs if not already so.
3492         (widget_instantiate_1): mess with size parameters to be similar to
3493         :image if provided.
3494         (syms_of_glyphs_widget): new keyword :image.
3495         (image_instantiator_format_create_glyphs_widget): normalize
3496         buttons and allow :image.
3497
3498 1998-12-27  Andy Piper  <andy@xemacs.org>
3499
3500         * frame-msw.c (mswindows_init_frame_1): warning elimination.
3501
3502         * glyphs-widget.c (check_valid_anything): no-op function.
3503         (check_valid_callback): check callbacks in gui_items.
3504         (check_valid_symbol): as it sounds.
3505         (check_valid_string_or_vector): ditto.
3506         (widget_validate): modified for descriptors that are vectors or
3507         sequences of keyword/val pairs.
3508         (widget_instantiate_1): ditto.
3509         (image_instantiator_format_create_glyphs_widget): allow gui_item
3510         keywords in the instantiator.
3511
3512         * gui.c (gui_parse_item_keywords_internal): renamed from
3513         gui_parse_item_keywords but taking error behaviour.
3514         (gui_parse_item_keywords): use it.
3515         (gui_parse_item_keywords_no_errors): ditto.
3516         (gui_item_add_keyval_pair): add Error_behavior flag and only
3517         signal invalid keywords if required.
3518
3519         * gui.h: new gui signatures.
3520
3521         * menubar.c (menu_parse_submenu_keywords): use new
3522         gui_item_add_keyval_pair signature.
3523
3524         * s/cygwin32.h: modify PTY_ITERATION to eliminate warnings.
3525
3526 1998-12-28  Martin Buchholz <martin@xemacs.org>
3527
3528         * XEmacs 21.2.8 is released.
3529
3530 1998-12-28  Martin Buchholz  <martin@xemacs.org>
3531
3532         * editfns.c (get_home_directory):
3533         (user-home-directory): Simplify.
3534
3535
3536         * callproc.c (child_setup):
3537         - Environment variables were being passed to inferior processes
3538           using internal encoding.
3539         - Convert to external encoding.
3540         - Rename local var `tem' to better name `tail'.
3541         - Use Flength instead of `manual' calculation.
3542
3543         * buffer.c (kill-buffer):
3544         (record-buffer):
3545         (set-buffer-major-mode):
3546         (current-buffer):
3547         - Fix up parameter names to correspond to docstrings.
3548         - Don't use `bufname' when a buffer will do as well.
3549         - Remove one unneeded GCPRO.
3550
3551         * buffer.h (initial_directory):
3552         * buffer.c (init_initial_directory):
3553         - use correct conversions between internal and external format.
3554         (directory_is_current_directory): new function
3555         (init_buffer): convert initial_directory to internal format.
3556         - solve crashes when current working directory is non-ASCII.
3557
3558         * alloc.c (xmalloc):
3559         (xcalloc):
3560         (xrealloc):
3561         - remove stupid casts, since XEmacs requires an ANSI C system.
3562         (lrecord_type_index): replace abort() with more readable assert().
3563
3564         (reset_lcrecord_stats): remove.
3565         (sweep_lcrecords_1):
3566         - replace call to reset_lcrecord_stats() with call to xzero().
3567
3568 1998-12-27  Martin Buchholz  <martin@xemacs.org>
3569
3570         * process-unix.c (unix_create_process):
3571         - Fix crash invoking program with non-ASCII name.
3572           Try invoking xemacs with SHELL=/bin/sh, then M-x shell.
3573         - Remove unused variable `env'.
3574         - Rename `temp' to better name `save_errno'.
3575         - Reorganize code for clarity.  But still too chicken to nuke the
3576           BSD 4.2 support.
3577
3578 1998-12-24  Martin Buchholz <martin@xemacs.org>
3579
3580         * XEmacs 21.2.7 is released.
3581
3582 1998-12-23  Martin Buchholz  <martin@xemacs.org>
3583
3584         * glyphs.c (decode_device_ii_format):
3585         - Fix indentation.
3586         - Use GET_C_STRING_FILENAME_DATA_ALLOCA with char *, not Extbyte *.
3587
3588         * glyphs-x.c (x_subwindow_instantiate):
3589         - A image instance mask was being assigned to a image instance type!
3590         - X_SUBWINDOW_INSTANCE_DATA (ii) is not an lvalue in C++.
3591
3592         * glyphs-msw.c (mswindows_initialize_dibitmap_image_instance):
3593         Fix indentation.
3594         * glyphs-x.h: Make indentation consistent.
3595
3596         * emacs.c (Fdump_emacs): Remove Steve Martin merge artifacts.
3597
3598         * glyphs-widget.c (check_valid_glyph): Warning suppression.
3599         - Make it static
3600         - #ifdef it out, since it's not actually used yet (FIX THIS!)
3601
3602         * glyphs-widget.c:
3603         * glyphs.h:
3604         Move declarations of decode_device_ii_format and
3605         decode_image_instantiator_format into glyphs.h where they belong.
3606
3607 1998-12-22  Martin Buchholz  <martin@xemacs.org>
3608
3609         * frame-x.c (x_delete_frame): Revert part of my changes at the
3610         suggestion of Gunnar Evermann - unfortunately no one really
3611         understands this code.
3612
3613         * callproc.c (init_callproc): code cleanup.
3614
3615         * free-hook.c (malloc):
3616         (check_malloc):
3617         (__free_hook):
3618         (__malloc_hook):
3619         (__realloc_hook):
3620         (block_input_malloc):
3621         (block_input_realloc):
3622         * device-x.c (x_delete_device):
3623         * emacs.c (voodoo_free_hook):
3624         * events.c (print_event):
3625         (CHECK_EVENT_TYPE):
3626         (CHECK_EVENT_TYPE2):
3627         (CHECK_EVENT_TYPE3):
3628         Use proper prototypes.
3629         Make C_E_T macros a little faster.
3630         Pedantic fiddly little changes.  You really don't care.
3631
3632 1998-12-22  Andy Piper  <andy@xemacs.org>
3633
3634         * redisplay-output.c (redisplay_clear_region): make sure that
3635         fg/bg colors get set even when we are in the border area.
3636
3637 1998-12-13  Martin Buchholz  <martin@xemacs.org>
3638
3639         * console-msw.c: Function definitions follow coding standards
3640         - This prevents e.g. find-tag on Lisp_Event finding DEVENT
3641
3642 1998-12-11  Martin Buchholz  <martin@xemacs.org>
3643
3644         * events.h (struct timeout_data):
3645         * event-tty.c (tty_timeout_to_emacs_event):
3646         * event-msw.c (mswindows_wm_timer_callback):
3647         * event-Xt.c (Xt_timeout_to_emacs_event):
3648         * event-msw.c (mswindows_cancel_dispatch_event):
3649         Make sure Lisp_Objects inside events are initialized to Qnil, not
3650         Qnull_pointer, which is now illegal.
3651
3652 1998-12-10  Martin Buchholz  <martin@xemacs.org>
3653
3654         * lisp.h: Fix up prototypes to match alloc.c
3655
3656 1998-12-08  Martin Buchholz  <martin@xemacs.org>
3657
3658         * windowsnt.h: Remove `support' for using index and rindex
3659
3660         * filelock.c (current_lock_owner):
3661         - Change uses of index -> strchr, rindex -> strrchr
3662
3663 1998-12-07  Martin Buchholz  <martin@xemacs.org>
3664
3665         * sysdep.c (set_descriptor_non_blocking):
3666         Since O_NONBLOCK is now always #defined, make use of fcntl
3667         conditional on F_SETFL being defined.
3668
3669         * console-msw.c (DHEADgER):
3670         (DOPAQUE_DATA):
3671         (DEVENT):
3672         (DCONS):
3673         (DCONSCDR):
3674         (DSTRING):
3675         (DVECTOR):
3676         (DSYMBOL):
3677         (DSYMNAME):
3678         - max_align_t should not be visible to the user of the
3679           XOPAQUE_DATA macro.
3680         - use Bufbyte instead of char
3681         - parens around (FOOP (obj)) are always redundant.
3682           If they were necessary, we should fix the macro instead.
3683         - Always use string_data(foo) instead of foo->data.
3684
3685
3686 1998-12-06  Martin Buchholz  <martin@xemacs.org>
3687
3688         * frame-msw.c (mswindows_init_frame_1):
3689         - use make_lisp_hash_table, not Fmake_hash_table
3690         - include elhash.h
3691
3692         * lisp.h:
3693         * alloc.c (make_vector): remove travesty
3694         (Fmake_vector):
3695         (make_pure_vector):
3696         (pure_cons):
3697         (make_bit_vector_internal):
3698         (make_bit_vector):
3699         (make_bit_vector_from_byte_vector):
3700         (Fmake_bit_vector):
3701         - make vector_equal a little faster.
3702         - Don't use variable name `new'.
3703         - Use size_t instead of EMACS_INT.
3704         - usual Martin-style pointless bit-twiddling.
3705
3706         * fns.c (mapcar1):
3707         (Fmapconcat):
3708         (Fmapcar):
3709         (Fmapvector):
3710         Make mapcar faster.  In particular, make
3711           (mapc #'identity long-string)
3712         MUCH faster under Mule.
3713         * tests/automated/lisp-tests.el: Test 'em!
3714
3715         * bytecode.c (Ffetch_bytecode): Fix crash when loading lazy-loaded
3716         bytecode.
3717
3718 1998-12-01  Martin Buchholz  <martin@xemacs.org>
3719
3720         * menubar-x.c (menu_item_descriptor_to_widget_value_1): Always use
3721         Qnil, not NULL, to initialize `null' Lisp_Objects.
3722
3723 1998-11-29  Hrvoje Niksic  <hniksic@srce.hr>
3724
3725         * specifier.c (display_table_validate): Update.
3726
3727         * redisplay.c (create_text_block): Use them.
3728
3729         * glyphs.c (display_table_entry): New function.
3730         (get_display_tables): Ditto.
3731
3732 1998-12-15  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
3733
3734         * eldap.c (toplevel): Mention that eldap.c compiles with
3735         OpenLDAP libs
3736         (Fldap_open): Use `GET_C_STRING_OS_DATA_ALLOCA'
3737         (Fldap_search_internal): Ditto
3738
3739 1998-12-11  Martin Buchholz  <martin@xemacs.org>
3740
3741         * event-msw.c (mswindows_cancel_dispatch_event):
3742         Gratuitous code prettification
3743
3744
3745 1998-12-07  Hrvoje Niksic  <hniksic@srce.hr>
3746
3747         * fns.c (Fnconc): Fix use of wrong_type_argument().
3748
3749         * floatfns.c (Ffloat): Fix docstring.
3750         (Ffloat): Fix use of wrong_type_argument().
3751         (Fabs): Ditto.
3752         (extract_float): Ditto.
3753         (Fceiling): Ditto.
3754         (Fround): Ditto.
3755         (Ftruncate): Ditto.
3756
3757 1998-12-06  Martin Buchholz  <martin@xemacs.org>
3758
3759         * frame-msw.c (mswindows_init_frame_1):
3760         - use make_lisp_hash_table, not Fmake_hash_table
3761         - include elhash.h
3762
3763         * lisp.h:
3764         * alloc.c (make_vector): remove travesty
3765         (Fmake_vector):
3766         (make_pure_vector):
3767         (pure_cons):
3768         (make_bit_vector_internal):
3769         (make_bit_vector):
3770         (make_bit_vector_from_byte_vector):
3771         (Fmake_bit_vector):
3772         - make vector_equal a little faster.
3773         - Don't use variable name `new'.
3774         - Use size_t instead of EMACS_INT.
3775         - usual Martin-style pointless bit-twiddling.
3776
3777         * fns.c (mapcar1):
3778         (Fmapconcat):
3779         (Fmapcar):
3780         (Fmapvector):
3781         Make mapcar faster.  In particular, make
3782           (mapc #'identity long-string)
3783         MUCH faster under Mule.
3784         * tests/automated/lisp-tests.el: Test 'em!
3785
3786         * bytecode.c (Ffetch_bytecode): Fix crash when loading lazy-loaded
3787         bytecode.
3788
3789 1998-12-02  Didier Verna  <verna@inf.enst.fr>
3790
3791         * menubar-x.c (menu_item_descriptor_to_widget_value_1): set the
3792         accelerator field to nil for labels.
3793
3794 1998-12-16  Jonathan Harris  <jhar@tardis.ed.ac.uk>
3795
3796         * menubar-msw.c (displayable_menu_item):
3797           Escape occurrences of '&' and support occurrences of the
3798          '%_' accelerator indicator in menus.
3799
3800 1998-11-26  Didier Verna  <verna@inf.enst.fr>
3801
3802         * dired.c (Fdirectory_files): use make_string instead of
3803         make_ext_string on the filename. The conversion external->internal
3804         format is already done in sys_readdir.
3805
3806 1998-12-15  Gunnar Evermann  <ge204@eng.cam.ac.uk>
3807
3808         * glyphs.c (normalize_image_instantiator): GCPRO instantiator
3809
3810 1998-12-16  Jonathan Harris  <jhar@tardis.ed.ac.uk>
3811
3812         * event-msw.c
3813           (Belatedly) added Kirill to list of file's authors.
3814           emacs_mswindows_quit_p: Don't process WM_PAINT messages in
3815           quit checking. WM_PAINT messages cause redisplay, but
3816           windows' states are not necessarily stable when this function
3817           gets called.
3818
3819 1998-12-17  Andy Piper  <andy@xemacs.org>
3820
3821         * strftime.c (zone_name): CONSTify.
3822
3823 1998-12-15  Andy Piper  <andy@xemacs.org>
3824
3825         * glyphs-msw.c (mswindows_combo_instantiate): ditto.
3826         (mswindows_widget_property): return Qunbound when no property available.
3827         (mswindows_button_property): ditto.
3828         (mswindows_combo_property): ditto.
3829         (mswindows_widget_set_property): ditto.
3830
3831         * glyphs-widget.c (check_valid_item_list): use properties.
3832
3833         * glyphs.h (struct Lisp_Image_Instance): we have properties now.
3834
3835         * glyphs.c (Fset_image_instance_property): allow setting of arbitrary properties.
3836         (Fimage_instance_property): ditto.
3837         * glyphs-widget.c (widget_property): ditto.
3838         (widget_set_property): ditto.
3839
3840         * frame-msw.c (mswindows_set_frame_pointer): SetCursor() as well
3841         as setting the class cursor so that GC actually changes the
3842         cursor.
3843
3844         * config.h: don't undef MAIL_USE_POP.
3845
3846 1998-12-13  Andy Piper  <andy@xemacs.org>
3847
3848         * glyphs-msw.c
3849         (image_instantiator_format_create_glyphs_mswindows): line ->
3850         label.
3851         (mswindows_label_instantiate): ditto. Play with window flags.
3852         (image_instantiator_format_create_glyphs_mswindows): ditto.
3853         (vars_of_glyphs_mswindows): provide Qlabel as we support it now.
3854
3855         * glyphs-widget.c (widget_instantiate_1): re-jig autosizing to
3856         cope with lines and labels.
3857         (static_instantiate): use widget_instantiate_1.
3858         line -> label.
3859         (image_instantiator_format_create_glyphs_widget): ditto.
3860
3861 1998-12-10  Andy Piper  <andy@xemacs.org>
3862
3863         * Makefile.in.in (objs): add gui.o
3864
3865 1998-12-10  Andy Piper  <andy@xemacs.org>
3866
3867         * gui.c: adjust defines of HAVE_POPUPS so that we can build with
3868         no window system.
3869
3870 1998-12-09  Andy Piper  <andy@xemacs.org>
3871
3872         * glyphs.c (finalize_image_instance): mark glyphs changed when an
3873         image instance is removed so that the subwindow cache gets reset
3874         and thus destroyed images get GC'd.
3875
3876 1998-12-08  Andy Piper  <andy@xemacs.org>
3877
3878         * gui-msw.c (mswindows_handle_gui_wm_command): call
3879         MARK_SUBWINDOWS_CHANGED.
3880
3881         * glyphs-msw.c (mswindows_finalize_image_instance): make sure
3882         subwindows really get deleted.
3883
3884         * redisplay.c: new variable subwindows_changed[_set].
3885         (redisplay_window): use it.
3886         (redisplay_frame): ditto.
3887         (redisplay_device): ditto.
3888         (redisplay_without_hooks): ditto.
3889
3890         * device.h (MARK_DEVICE_SUBWINDOWS_CHANGED): new macro for
3891         subwindows redisplay as per glyphs equivalent.
3892         * redisplay.h: ditto.
3893         (MARK_SUBWINDOWS_CHANGED): ditto.
3894         (RESET_CHANGED_SET_FLAGS): ditto.
3895         * frame.h (MARK_FRAME_SUBWINDOWS_CHANGED): ditto.
3896
3897 1998-12-07  Andy Piper  <andy@xemacs.org>
3898
3899         * frame.c (Fmake_frame): reset subwindow cachels on non-stream
3900         frames.
3901
3902         * redisplay.c (redisplay_frame): invalidate subwindow cachels.
3903
3904         * event-msw.c (mswindows_wnd_proc): catch the various WM_CTLCOLOR*
3905         messages and paint widget glyphs as appropriate with their face fg
3906         & bg.
3907
3908 1998-12-06  Andy Piper  <andy@xemacs.org>
3909
3910         * glyphs-msw.c (vars_of_glyphs_mswindows): provide widget types
3911         here rather than in glyphs-widget - do this because we only want
3912         to provide what is really available.
3913
3914         * glyphs.c (Fimage_instance_property): new function to get the
3915         properties of image instances. wires through to console specific
3916         methods and then to widget specific methods.
3917         (Fset_image_instance_property): ditto but for setting widget properties.
3918         (check_valid_face): make extern so that it can be used elsewhere.
3919
3920         * glyphs-widget.c (widget_property): new function. gets the
3921         properties of widgets in general and wires the function through to
3922         widget specific ones.
3923         (widget_set_property): ditto but for setting widget properties.
3924
3925         * glyphs-msw.c (mswindows_combo_instantiate): Add functionality to
3926         add items to the list. Play with window styles a bit to get the
3927         desired effect.
3928         (mswindows_widget_property): break out specific widget properties.
3929         (mswindows_button_property): new function. gets the checked state
3930         of a button.
3931         (mswindows_combo_property): new function. gets the current
3932         selection in the combo box.
3933         (mswindows_widget_set_property): new function. sets specific
3934         properties of specific widgets.
3935
3936         * glyphs-widget.c (check_valid_item_list): new function. check
3937         that items for a combo-box are just a list of strings.
3938         (combo_validate): new function. check there is an item list.
3939         (widget_instantiate_1): new function. renamed from
3940         widget_instantiate so that we can do slightly different things for
3941         other widgets.
3942         (widget_instantiate): call widget_instantiate_1.
3943         (combo_instantiate): new function to instantiate combo boxes,
3944         defaults height to the pixel height of the number of items in the
3945         box.
3946         (syms_of_glyphs_widget): move widget keywords here.
3947         (image_instantiator_format_create_glyphs_widget): use new combo
3948         functions.
3949
3950 1998-12-04  Andy Piper  <andy@xemacs.org>
3951
3952         * event-msw.c (mswindows_wnd_proc): mule-ize.
3953
3954         * glyphs.c (pixmap_to_lisp_data): mule-ize.
3955
3956         * glyphs-msw.c (extract_xpm_color_names): mule-ize.
3957         (resource_name_to_resource): ditto.
3958         (mswindows_resource_instantiate): ditto.
3959         (mswindows_widget_instantiate): ditto.
3960         (mswindows_widget_set_property): ditto.
3961
3962         * redisplay-output.c (redisplay_output_subwindow): don't show
3963         subwindows if they are obscured at the edge of the frame, emacs
3964         gets into some sort of redisplay loop otherwise.
3965
3966         * gui.h: prototype gui_item_selected_p.
3967
3968         * gui.c (gui_item_selected_p): new function to determine the
3969         selected state of a gui_item.
3970
3971         * frame.h (struct frame): add subwindows_changed flag.
3972
3973         * redisplay.c (redisplay_frame): call update_frame_subwindows ().
3974
3975         * glyphs.c (update_subwindow): new function to update a
3976         subwindow's state.
3977         (update_frame_subwindows): new function to update all the
3978         subwindows on a frame.
3979
3980         * console.h (struct console_methods): add update_subwindow.
3981
3982         * glyphs-msw.c (mswindows_widget_property): return selected state
3983         for selected property.
3984         (mswindows_update_subwindow): new function. updates widget glyphs
3985         in redisplay as per menubars or toolbars e.g. selected state.
3986         (console_type_create_glyphs_mswindows): add update_subwindow.
3987
3988 1998-12-03  Andy Piper  <andy@xemacs.org>
3989
3990         * console-tty.c (syms_of_console_tty): MULE -> FILE_CODING since
3991         tty coding system things are such.
3992
3993         * glyphs-widget.c (widget_face_font_info): new function for
3994         pulling out height and width metrics for a widget's face.
3995         (widget_text_to_pixel_conversion): calculate pixel sizes of text
3996         for widgets.
3997
3998         * event-msw.c (mswindows_drain_windows_queue): translate messages
3999         that are destined for subwindows. This makes edit fields interact
4000         with the keyboard correctly.
4001         nuke warnings by #ifndef'ing out stuff not required by msg select().
4002
4003         * glyphs.h (INITIALIZE_IMAGE_INSTANTIATOR_FORMAT_NO_SYM): new
4004         macro defining the iiforma without the symbol required by widget.
4005         (INITIALIZE_IMAGE_INSTANTIATOR_FORMAT): use it.
4006
4007         * general.c (syms_of_general): add Qwidget, Qselected.
4008
4009         * faces.c (complex_vars_of_faces): add widget face inheriting from
4010         gui-element face.
4011
4012 1998-11-09  Andy Piper  <andy@xemacs.org>
4013
4014         * window.h (struct window): add a cache of subwindows on a
4015         per-window basis.
4016
4017         * window.c (mark_window): mark the subwindow_instance_cache.
4018         (allocate_window): initialise the subwindow instance_cache.
4019
4020         * toolbar-x.c (x_output_toolbar): call redisplay_clear_region
4021         instead of the devmeth.
4022         (x_clear_toolbar): ditto.
4023
4024         * redisplay-x.c (x_output_display_block): call
4025         redisplay_output_subwindow for subwindows and widgets.
4026
4027         * redisplay-tty.c (tty_output_display_block): add IMAGE_WIDGET to
4028         types to do nothing for.
4029
4030         * lisp.h: declare new widget/subwindow symbols.
4031
4032         * glyphs.c (image_instantiate): cache subwindows on a per-window
4033         basis.
4034         (subwindow_possible_dest_types): new function for subwindow dest
4035         types.
4036         (subwindow_instantiate): generic instantiation of a
4037         subwindow. specialised by device multi-methods.
4038         (Fsubwindowp): moved from glyphs-x.c. adapted for glyph-based
4039         subwindows.
4040         (Fimage_instance_subwindow_id): ditto.
4041         (Fresize_subwindow): ditto.
4042         (Fforce_subwindow_map): ditto.
4043
4044         * glyphs-x.c (x_print_image_instance): remove subwindow
4045         stuff. Handled genrically in glyphs.c.
4046         (x_image_instance_equal): ditto.
4047         (x_image_instance_hash): ditto.
4048         (x_finalize_image_instance): delete subwindows when required.
4049         (mark_subwindow) (print_subwindow) (finalize_subwindow)
4050         (subwindow_hash) (Fmake_subwindow): deleted because of new,
4051         glyph-based, subwindow implementation.
4052         (Fsubwindow_height) (Fsubwindow_width) (Fsubwindow_xid): aliased
4053         in glyphs.el
4054         (Fsubwindowp) (Fresize_subwindow) (Fforce_subwindow_map): moved to
4055         glyphs.c.
4056         (x_unmap_subwindow): new function to unmap X subwindows.
4057         (x_map_subwindow): new function to map X subwindows.
4058         (x_subwindow_instantiate): new function to instantiate X
4059         subwindows.
4060         (x_resize_subwindow): new function to resize X subwindows.
4061         (console_type_create_glyphs_x): add subwindow functions.
4062         (image_instantiator_format_create_glyphs_x): add device
4063         multi-methods for xpm, xbm and subwindow.
4064
4065         * glyphs.el (subwindow-xid): old alias for new subwindow functions.
4066         (subwindow-width): ditto.
4067         (subwindow-height): ditto.
4068
4069         * glyphs-msw.c (mswindows_widget_instantiate): new function for
4070         generally instantiating ms subwindows. Used by
4071         mswindows_*_instantiate.
4072         (mswindows_edit_instantiate): instantiate an edit field on a
4073         mswindows frame.
4074
4075 1998-11-04  Andy Piper  <andy@xemacs.org>
4076
4077         * symsinit.h: declare new functions.
4078
4079         * redisplay.h: declare new functions.
4080
4081         * redisplay-x.c (x_output_display_block): call
4082         redisplay_clear_region rather than x_clear_region.
4083         (x_output_string): ditto.
4084         (x_output_pixmap): ditto.
4085         (x_clear_to_window_end): ditto.
4086         (x_output_eol_cursor): ditto.
4087         (x_clear_region): only do X specific things. other duties handled
4088         in redisplay_clear_region.
4089
4090         * redisplay-tty.c (tty_clear_region): do tty specific things - some
4091         duties moved to redisplay_clear_region.
4092
4093         * redisplay-output.c (clear_left_border): use
4094         redisplay_clear_region instead of device method.
4095         (clear_right_border): ditto.
4096         (output_display_line): ditto.
4097         (redisplay_output_subwindow): ditto.
4098         (redisplay_clear_top_of_window): ditto.
4099         (redisplay_clear_region): perform duties previously handled by
4100         device methods. call the appropriate device method at the
4101         end. unmap subwindows if necessary.
4102
4103         * redisplay-msw.c (mswindows_output_string): use
4104         redisplay_clear_region instead of mswindows_clear_region.
4105         (mswindows_clear_to_window_end): ditto.
4106         (mswindows_output_display_block): output subwindows when required.
4107         (mswindows_clear_region): only do mswindows specific things,
4108         everything else is now handled in redisplay_clear_region.
4109
4110         * gui.h: add item id hash defines and declare function prototypes.
4111
4112         * gui.c (mark_gui_item): new function for marking gui_items.
4113         (gui_item_hash): generic hash function for generating command ids
4114         for gui_items.
4115
4116         * gui-msw.c: new file.
4117         (mswindows_handle_gui_wm_command): new function to handle widget
4118         callbacks.
4119
4120         * glyphs.h (MAYBE_IIFORMAT_DEVMETH): new function for device
4121         multi-methods.
4122         (IIFORMAT_HAS_SHARED_METHOD): ditto.
4123         (DEFINE_DEVICE_IIFORMAT): ditto.
4124         (INITIALIZE_DEVICE_IIFORMAT): ditto.
4125         (struct Lisp_Image_Instance): add widget and subwindow data plus
4126         appropriate access functions.
4127
4128         * glyphs.c (decode_device_ii_format): new function for decoding
4129         image instantiator functions based on a device type as well as an
4130         image format.
4131         (decode_image_instantiator_format): just call
4132         decode_device_ii_format with nil device.
4133         (add_entry_to_device_ii_format_list): new function for per device
4134         method instances.
4135         (add_entry_to_image_instantiator_format_list): just call
4136         add_entry_to_device_ii_format_list with nil device.
4137         (check_valid_vector): new function.
4138         (instantiate_image_instantiator): instantiate using per-format
4139         method and then per-format-per-device method (device
4140         multi-methods). signal an error if neither is possible.
4141         (mark_image_instance): cope with subwindows and widgets.
4142         (print_image_instance): ditto.
4143         (image_instance_equal): ditto.
4144         (image_instance_hash): ditto.
4145         (allocate_glyph): ditto.
4146         (glyph_width): ditto.
4147         (glyph_height_internal): ditto.
4148         (xpm_instantiate): removed because of device multi-methods.
4149         (mark_subwindow_cachels): new cachel functions for caching
4150         instantiated subwindows on a per-frame basis. mostly copied from
4151         glyph cachel functions.
4152         (update_subwindow_cachel_data): ditto.
4153         (add_subwindow_cachel): ditto.
4154         (get_subwindow_cachel_index): ditto.
4155         (reset_subwindow_cachels): ditto.
4156         (mark_subwindow_cachels_as_not_updated): ditto.
4157         (unmap_subwindow): generic unmapping of subwindows based on cachel
4158         data.
4159         (map_subwindow): ditto.
4160         (initialize_subwindow_image_instance): generic initialisation of
4161         subwindow data.
4162         (syms_of_glyphs): add widget keywords.
4163
4164         * glyphs-x.h (struct x_subwindow_data): convert Lisp_Subwindow to
4165         x_subwindow_data.
4166
4167 1998-11-04  Andy Piper  <andy@xemacs.org>
4168
4169         * glyphs-widget.c: new file for instantiating widget type glyphs.
4170         (widget_possible_dest_types): new general dest type function for
4171         widgets.
4172         (widget_validate): ditto.
4173         (initialize_widget_image_instance): ditto
4174         (widget_instantiate): ditto. Sets up fg/bg, gui_item parsing
4175         before handing on control to device multi-methods.
4176         (syms_of_glyphs_widget): new function.
4177         (image_instantiator_format_create_glyphs_widget): new function,
4178         added placeholders for button, edit, combo, scrollbar
4179         (vars_of_glyphs_widget): new function.
4180
4181         * glyphs-msw.h (WIDGET_INSTANCE_MSWINDOWS_HANDLE): new define for
4182         storing window ids of widgets.
4183
4184         * glyphs-msw.c (mswindows_finalize_image_instance): cope with
4185         deletion of widget and subwindow glyphs.
4186         (mswindows_unmap_subwindow): new device function for unmapping
4187         subwindows on a msw frame.
4188         (mswindows_map_subwindow): ditto.
4189         (mswindows_register_image_instance): register instantiated widgets
4190         with the widget hastable.
4191         (mswindows_button_instantiate): instantiate a button type widget
4192         on an msw frame.
4193         (mswindows_subwindow_instantiate): instanttiate a subwindow on a
4194         mswindows frame.
4195         (image_instantiator_format_create_glyphs_mswindows): add device
4196         multi-methods for xbm, xpm, subwindow, edit and button.
4197
4198         * frame.h (struct frame): add subwindow_cachels dynarr for caching
4199         information about subwindows visible on the current frame. used by
4200         redisplay_clear_region to unmap subwindows as required.
4201
4202         * frame.c (mark_frame): mark subwindow_cachels.
4203         (allocate_frame_core): instantiate subwindow_cachels.
4204
4205         * frame-msw.c (mswindows_init_frame_1): instntiate and mark the
4206         widget hashtable.
4207
4208         * event-msw.c (mswindows_wnd_proc): add call to
4209         mswindows_handle_gui_wm_command to handle widget callbacks.
4210
4211         * emacs.c (main_1): add calls to glyphs-widget initialisation
4212         routines.
4213
4214         * console.h (struct console_methods): add
4215         unmap/map_subwindow_method for use be redisplay_clear_region to
4216         map and unmap subwindows. Remove xpm and xbm stuff - now dealt
4217         with by image instantiator multi-methods. Add
4218         resize_subwindow_method.
4219
4220         * console-stream.c (stream_clear_region): change signature to
4221         match new generic clear region function.
4222
4223         * Makefile.in.in: add glyphs-widget.o to list of objects.
4224
4225         * console-msw.h (struct mswindows_frame): add widget hashtable for
4226         wiring command ids to callbacks.
4227
4228 1998-12-16  Andy Piper  <andy@xemacs.org>
4229
4230         * XEmacs 21.2.6 is released
4231
4232 1998-12-08  Hrvoje Niksic  <hniksic@srce.hr>
4233
4234         * md5.c (Fmd5): Correctly initiate string input stream.
4235
4236         * Makefile.in.in (tests): Add md5-tests.el.
4237
4238 1998-12-06  Martin Buchholz  <martin@xemacs.org>
4239
4240         * lisp.h:
4241         * alloc.c (make_vector): remove travesty
4242         (Fmake_vector):
4243         (make_pure_vector):
4244         (pure_cons):
4245         (make_bit_vector_internal):
4246         (make_bit_vector):
4247         (make_bit_vector_from_byte_vector):
4248         (Fmake_bit_vector):
4249         - make vector_equal a little faster.
4250         - Don't use variable name `new'.
4251         - Use size_t instead of EMACS_INT.
4252         - usual Martin-style pointless bit-twiddling.
4253
4254         * fns.c (mapcar1):
4255         (Fmapconcat):
4256         (Fmapcar):
4257         (Fmapvector):
4258         Make mapcar faster.  In particular, make
4259           (mapc #'identity long-string)
4260         MUCH faster under Mule.
4261         * tests/automated/lisp-tests.el: Test 'em!
4262
4263 1998-12-06  Martin Buchholz  <martin@xemacs.org>
4264
4265         * bytecode.c (Ffetch_bytecode): Fix crash when loading lazy-loaded
4266         bytecode.
4267
4268 1998-12-13  Martin Buchholz  <martin@xemacs.org>
4269
4270         * console-msw.c: Function definitions follow coding standards
4271         - This prevents e.g. find-tag on Lisp_Event finding DEVENT
4272
4273 1998-12-11  Martin Buchholz  <martin@xemacs.org>
4274
4275         * events.h (struct timeout_data):
4276         * event-tty.c (tty_timeout_to_emacs_event):
4277         * event-msw.c (mswindows_wm_timer_callback):
4278         * event-Xt.c (Xt_timeout_to_emacs_event):
4279         * event-msw.c (mswindows_cancel_dispatch_event):
4280         Make sure Lisp_Objects inside events are initialized to Qnil, not
4281         Qnull_pointer, which is now illegal.
4282
4283 1998-12-10  Martin Buchholz  <martin@xemacs.org>
4284
4285         * lisp.h: Fix up prototypes to match alloc.c
4286
4287 1998-12-09  Andy Piper  <andy@xemacs.org>
4288
4289         * glyphs-msw.c (init_image_instance_from_xbm_inline): don't use
4290         XSETINT for assigning lisp objects.
4291
4292 1998-12-07  Martin Buchholz  <martin@xemacs.org>
4293
4294         * opaque.h:
4295         * console-msw.c (DHEADER):
4296         (DOPAQUE_DATA):
4297         (DEVENT):
4298         (DCONS):
4299         (DCONSCDR):
4300         (DSTRING):
4301         (DVECTOR):
4302         (DSYMBOL):
4303         (DSYMNAME):
4304         - max_align_t should not be visible to the user of the
4305           XOPAQUE_DATA macro.
4306         - use Bufbyte instead of char
4307         - parens around (FOOP (obj)) are always redundant.
4308           If they were necessary, we should fix the macro instead.
4309         - Always use string_data(foo) instead of foo->data.
4310
4311 1998-12-07  Martin Buchholz  <martin@xemacs.org>
4312
4313         * sysdep.c (set_descriptor_non_blocking):
4314         Since O_NONBLOCK is now always #defined, make use of fcntl
4315         conditional on F_SETFL being defined.
4316
4317 1998-12-09  Andy Piper  <andy@xemacs.org>
4318
4319         * menubar-msw.c (mswindows_handle_wm_command): add back in checks
4320         that got removed in the merge
4321
4322 1998-11-30  Greg Klanderman  <greg@alphatech.com>
4323
4324         * dired.c (vars_of_dired): bugfix for previous conditionalization
4325         of user-name-completion on non- Windows NT.
4326
4327 1998-12-08  Martin Buchholz  <martin@xemacs.org>
4328
4329         * windowsnt.h: Remove `support' for using index and rindex
4330
4331         * filelock.c (current_lock_owner):
4332         - Change uses of index -> strchr, rindex -> strrchr
4333
4334 1998-12-06  Martin Buchholz  <martin@xemacs.org>
4335
4336         * frame-msw.c (mswindows_init_frame_1):
4337         - use make_lisp_hash_table, not Fmake_hash_table
4338         - include elhash.h
4339
4340 1998-12-05  XEmacs Build Bot <builds@cvs.xemacs.org>
4341
4342         * XEmacs 21.2.5 is released
4343
4344 1998-11-30  Martin Buchholz  <martin@xemacs.org>
4345
4346         * xselect.c (receive_incremental_selection):
4347         * xselect.c (x_get_window_property):
4348         * xmu.c (XmuReadBitmapDataFromFile):
4349         * xmu.c (XmuCursorNameToIndex):
4350         * xgccache.c (describe_gc_cache):
4351         * xgccache.c (gc_cache_lookup):
4352         * xgccache.c (free_gc_cache):
4353         * xgccache.c (make_gc_cache):
4354         * window.h:
4355         * window.c (map_windows_1):
4356         * window.c (Fother_window_for_scrolling):
4357         * window.c (window_scroll):
4358         * window.c (change_window_height):
4359         * window.c (Fsplit_window):
4360         * window.c (window_left_gutter_width):
4361         * window.c (window_modeline_height):
4362         * window.c (invalidate_vertical_divider_cache_in_window):
4363         * window.c (window_needs_vertical_divider_1):
4364         * window.c (update_mirror_internal):
4365         * window.c (SET_LAST_FACECHANGE):
4366         * widget.c (Fwidget_plist_member):
4367         * unexec.c (copy_text_and_data):
4368         * unexcw.c (copy_executable_and_dump_data_section):
4369         * tooltalk.doc:
4370         * tooltalk.c (struct Lisp_Tooltalk_Pattern):
4371         * tooltalk.c (struct Lisp_Tooltalk_Message):
4372         * toolbar.h (struct toolbar_button):
4373         * toolbar.c (default_toolbar_visible_p_changed_in_window):
4374         * toolbar.c (recompute_overlaying_specifier):
4375         * toolbar.c (toolbar_validate):
4376         * toolbar.c (toolbar_button_at_pixpos):
4377         * toolbar.c (get_toolbar_coords):
4378         * toolbar.c (update_frame_toolbars):
4379         * toolbar-x.c:
4380         * toolbar-msw.c (mswindows_handle_toolbar_wm_command):
4381         * toolbar-msw.c (mswindows_find_toolbar_pos):
4382         * toolbar-msw.c (mswindows_output_toolbar):
4383         * toolbar-msw.c (mswindows_clear_toolbar):
4384         * toolbar-msw.c:
4385         * systty.h:
4386         * syssignal.h:
4387         * sysproc.h:
4388         * sysfile.h:
4389         * sysdll.c:
4390         * sysdep.h:
4391         * sysdep.c (rmdir):
4392         * sysdep.c (sys_fopen):
4393         * sysdep.c (sys_open):
4394         * sysdep.c (tty_init_sys_modes_on_device):
4395         * sysdep.c (get_eof_char):
4396         * sysdep.c (child_setup_tty):
4397         * sysdep.c (set_descriptor_non_blocking):
4398         * syntax.h:
4399         * syntax.c (scan_words):
4400         * syntax.c:
4401         * symsinit.h:
4402         * symeval.h (struct symbol_value_varalias):
4403         * symeval.h (struct symbol_value_forward):
4404         * symbols.c (syms_of_symbols):
4405         * symbols.c (init_symbols_once_early):
4406         * symbols.c (Fbuilt_in_variable_type):
4407         * symbols.c (Fsymbol_value_in_buffer):
4408         * symbols.c (default_value):
4409         * symbols.c (Fset):
4410         * symbols.c (find_symbol_value_quickly):
4411         * symbols.c (store_symval_forwarding):
4412         * symbols.c (set_default_console_slot_variable):
4413         * symbols.c (set_default_buffer_slot_variable):
4414         * symbols.c (verify_ok_for_buffer_local):
4415         * symbols.c (symbol_is_constant):
4416         * symbols.c (oblookup):
4417         * symbols.c (Funintern):
4418         * symbols.c (Fintern):
4419         * symbols.c (check_obarray):
4420         * sunplay.c:
4421         * specifier.h (struct specifier_methods):
4422         * specifier.h:
4423         * specifier.c (specifier_instance):
4424         * specifier.c (specifier_instance_from_inst_list):
4425         * specifier.c (decode_locale_type):
4426         * specifier.c (specifier_equal):
4427         * specifier.c (finalize_specifier):
4428         * specifier.c (prune_specifiers):
4429         * specifier.c (kill_specifier_buffer_locals):
4430         * sound.c (init_native_sound):
4431         * sound.c:
4432         * signal.c (alarm):
4433         * search.c (Fmatch_data):
4434         * search.c (match_limit):
4435         * search.c (Freplace_match):
4436         * search.c (skip_chars):
4437         * search.c (scan_buffer):
4438         * search.c:
4439         * scrollbar.c (specifier_vars_of_scrollbar):
4440         * scrollbar.c (Fscrollbar_set_hscroll):
4441         * scrollbar.c (vertical_scrollbar_changed_in_window):
4442         * scrollbar.c (release_window_mirror_scrollbars):
4443         * scrollbar.c (free_scrollbar_instance):
4444         * scrollbar-x.c:
4445         * scrollbar-msw.c:
4446         * s/msdos.h (O_BINARY):
4447         * s/linux.h:
4448         * s/freebsd.h (LIBS_TERMCAP):
4449         * regex.c (re_match_2_internal):
4450         * regex.c (compile_extended_range):
4451         * regex.c (POP_FAILURE_POINT):
4452         * regex.c (PUSH_FAILURE_POINT):
4453         * redisplay.h (RESET_CHANGED_SET_FLAGS):
4454         * redisplay.h:
4455         * redisplay.h (struct display_line):
4456         * redisplay.h (struct rune):
4457         * redisplay.c (vars_of_redisplay):
4458         * redisplay.c (redisplay_variable_changed):
4459         * redisplay.c (UPDATE_CACHE_RETURN):
4460         * redisplay.c (validate_line_start_cache):
4461         * redisplay.c (mark_redisplay_structs):
4462         * redisplay.c (mark_glyph_block_dynarr):
4463         * redisplay.c (window_line_number):
4464         * redisplay.c (redisplay_frame):
4465         * redisplay.c (redisplay_window):
4466         * redisplay.c (generate_modeline):
4467         * redisplay.c (create_right_glyph_block):
4468         * redisplay.c (create_left_glyph_block):
4469         * redisplay.c (create_text_block):
4470         * redisplay.c:
4471         * redisplay-x.c (x_output_hline):
4472         * redisplay-x.c (x_output_vertical_divider):
4473         * redisplay-tty.c (tty_output_display_block):
4474         * redisplay-output.c (output_display_line):
4475         * redisplay-output.c:
4476         * redisplay-msw.c (mswindows_output_vertical_divider):
4477         * redisplay-msw.c (mswindows_ring_bell):
4478         * redisplay-msw.c (mswindows_output_cursor):
4479         * redisplay-msw.c:
4480         * rangetab.c:
4481         * ralloc.c:
4482         * puresize.h (RAW_PURESIZE):
4483         * profile.c (syms_of_profile):
4484         * profile.c (Fstart_profiling):
4485         * profile.c (sigprof_handler):
4486         * profile.c:
4487         * procimpl.h:
4488         * process.c (vars_of_process):
4489         * process.c (read_process_output):
4490         * process.c (get_process):
4491         * process.c:
4492         * process-unix.c (unix_open_multicast_group):
4493         * process-unix.c (unix_get_tty_name):
4494         * process-unix.c (unix_send_process):
4495         * process-unix.c (unix_reap_exited_processes):
4496         * process-unix.c (unix_create_process):
4497         * process-unix.c (unix_init_process_io_handles):
4498         * process-unix.c (allocate_pty):
4499         * process-unix.c:
4500         * process-nt.c (nt_open_network_stream):
4501         * process-nt.c (nt_update_status_if_terminated):
4502         * process-nt.c (nt_finalize_process_data):
4503         * process-nt.c:
4504         * print.c (debug_short_backtrace):
4505         * print.c (debug_backtrace):
4506         * print.c (print_symbol):
4507         * print.c (print_internal):
4508         * print.c (print_cons):
4509         * print.c (Fwrite_char):
4510         * print.c (print_prepare):
4511         * print.c (canonicalize_printcharfun):
4512         * print.c (output_string):
4513         * print.c:
4514         * opaque.h:
4515         * opaque.c (allocate_managed_opaque):
4516         * opaque.c:
4517         * offix.c (DndSetData):
4518         * objects.c (face_boolean_create):
4519         * objects.c (font_instantiate):
4520         * objects.c (font_create):
4521         * objects.c (color_create):
4522         * objects.c (finalize_font_instance):
4523         * objects.c (finalize_color_instance):
4524         * objects.c:
4525         * objects-x.c (x_font_instance_truename):
4526         * objects-x.c:
4527         * objects-x.c (x_initialize_font_instance):
4528         * objects-x.c (allocate_nearest_color):
4529         * objects-tty.c (tty_initialize_font_instance):
4530         * objects-tty.c (tty_initialize_color_instance):
4531         * objects-msw.c (mswindows_initialize_color_instance):
4532         * ntproc.c (syms_of_ntproc):
4533         * ntproc.c (Fwin32_set_process_priority):
4534         * ntproc.c (sys_spawnve):
4535         * ntproc.c:
4536         * ntheap.c (get_data_end):
4537         * nt.c (period):
4538         * nt.c:
4539         * nt.c (stat):
4540         * nt.c (generate_inode_val):
4541         * nt.c (sys_rename):
4542         * nas.c:
4543         * mule-wnnfns.c (Fwnn_hinsi_number):
4544         * mule-wnnfns.c (Fwnn_yuragi):
4545         * mule-wnnfns.c (Fwnn_common_learn):
4546         * mule-wnnfns.c (Fwnn_suffix_learn):
4547         * mule-wnnfns.c (Fwnn_prefix_learn):
4548         * mule-wnnfns.c (Fwnn_okuri_learn):
4549         * mule-wnnfns.c (Fwnn_complex_conv):
4550         * mule-wnnfns.c (Fwnn_last_is_first):
4551         * mule-wnnfns.c (Fwnn_bmodify_dict_add):
4552         * mule-wnnfns.c (Fwnn_notrans_dict_add):
4553         * mule-wnnfns.c (Fwnn_fiusr_dict_add):
4554         * mule-wnnfns.c (Fwnn_fisys_dict_add):
4555         * mule-wnnfns.c (Fwnn_hinsi_list):
4556         * mule-wnnfns.c (Fwnn_fuzokugo_set):
4557         * mule-wnnfns.c (Fwnn_dict_search):
4558         * mule-wnnfns.c (Fwnn_word_toroku):
4559         * mule-wnnfns.c (Fwnn_hindo_update):
4560         * mule-wnnfns.c (Fwnn_bunsetu_henkou):
4561         * mule-wnnfns.c (Fwnn_kakutei):
4562         * mule-wnnfns.c (Fwnn_begin_henkan):
4563         * mule-wnnfns.c (Fwnn_dict_comment):
4564         * mule-wnnfns.c (Fwnn_dict_add):
4565         * mule-wnnfns.c (Fwnn_open):
4566         * mule-mcpath.c (mc_getcwd):
4567         * mule-coding.c (vars_of_mule_coding):
4568         * mule-coding.c (convert_to_external_format):
4569         * mule-coding.c (encoding_marker):
4570         * mule-coding.c (decoding_marker):
4571         * mule-coding.c (Fcopy_coding_system):
4572         * mule-coding.c (Fmake_coding_system):
4573         * mule-coding.c (Fcoding_system_list):
4574         * mule-coding.c (Ffind_coding_system):
4575         * mule-coding.c (symbol_to_eol_type):
4576         * mule-coding.c:
4577         * mule-charset.c (complex_vars_of_mule_charset):
4578         * mule-charset.c (vars_of_mule_charset):
4579         * mule-charset.c (Fset_charset_ccl_program):
4580         * mule-charset.c (struct charset_list_closure):
4581         * mule-charset.c (Ffind_charset):
4582         * mule-charset.c (make_charset):
4583         * mule-charset.c (non_ascii_valid_char_p):
4584         * mule-charset.c:
4585         * mule-ccl.c (ccl_driver):
4586         * mule-canna.c (c2mu):
4587         * mule-canna.c (Fcanna_henkan_begin):
4588         * mule-canna.c (Fcanna_parse):
4589         * mule-canna.c (Fcanna_store_yomi):
4590         * mule-canna.c (Fcanna_touroku_string):
4591         * mule-canna.c (Fcanna_initialize):
4592         * minibuf.c:
4593         * menubar.c (menu_parse_submenu_keywords):
4594         * menubar-x.c (make_dummy_xbutton_event):
4595         * menubar-x.c (set_frame_menubar):
4596         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
4597         * menubar-x.c:
4598         * menubar-msw.h:
4599         * menubar-msw.c (mswindows_popup_menu):
4600         * menubar-msw.c (mswindows_update_frame_menubars):
4601         * menubar-msw.c (mswindows_handle_wm_command):
4602         * menubar-msw.c (unsafe_handle_wm_initmenu_1):
4603         * menubar-msw.c (unsafe_handle_wm_initmenupopup_1):
4604         * menubar-msw.c (update_frame_menubar_maybe):
4605         * menubar-msw.c (populate_or_checksum_helper):
4606         * menubar-msw.c (empty_menu):
4607         * menubar-msw.c:
4608         * md5.c:
4609         * marker.c (set_marker_internal):
4610         * marker.c (print_marker):
4611         * malloc.c:
4612         * make-src-depend:
4613         * lstream.c (lisp_buffer_rewinder):
4614         * lstream.c (mark_lstream):
4615         * lrecord.h:
4616         * lrecord.h (struct lrecord_header):
4617         * lread.c (readevalloop):
4618         * lread.c (locate_file):
4619         * lread.c (locate_file_in_directory):
4620         * lread.c (Flocate_file):
4621         * lread.c (load_force_doc_string_unwind):
4622         * lread.c (ebolify_bytecode_constants):
4623         * lread.c:
4624         * lisp.h:
4625         * lisp-union.h:
4626         * lisp-disunion.h:
4627         * linuxplay.c (linux_play_data_or_file):
4628         * linuxplay.c (audio_init):
4629         * line-number.c:
4630         * keymap.h:
4631         * keymap.c (describe_map):
4632         * keymap.c (describe_map_mapper):
4633         * keymap.c (Fdescribe_bindings_internal):
4634         * keymap.c (Fsingle_key_description):
4635         * keymap.c (map_keymap_sorted):
4636         * keymap.c (get_relevant_keymaps):
4637         * keymap.c (Flookup_key):
4638         * keymap.c (raw_lookup_key_mapper):
4639         * keymap.c (Fdefine_key):
4640         * keymap.c (Fevent_matches_key_specifier_p):
4641         * keymap.c (key_desc_list_to_event):
4642         * keymap.c (define_key_parser):
4643         * keymap.c (define_key_check_and_coerce_keysym):
4644         * keymap.c (keymap_submaps):
4645         * keymap.c (keymap_store_internal):
4646         * keymap.c (keymap_delete_inverse_internal):
4647         * keymap.c (keymap_store_inverse_internal):
4648         * keymap.c (print_keymap):
4649         * keymap.c (Lisp_Keymap):
4650         * keymap.c:
4651         * intl.c:
4652         * insdel.c (convert_bufbyte_string_into_emchar_dynarr):
4653         * insdel.c (make_gap):
4654         * input-method-xlib.c (get_XIM_input):
4655         * input-method-xlib.c (XIM_init_frame):
4656         * imgproc.c:
4657         * hash.h:
4658         * hash.c:
4659         * gui.c:
4660         * gui-x.c (button_item_to_widget_value):
4661         * gui-x.c (popup_selection_callback):
4662         * glyphs.h (struct image_instantiator_methods):
4663         * glyphs.c (mark_glyph_cachels):
4664         * glyphs.c (Fglyph_type):
4665         * glyphs.c (image_instantiate):
4666         * glyphs.c (image_create):
4667         * glyphs.c (make_image_instance_1):
4668         * glyphs.c (finalize_image_instance):
4669         * glyphs.c:
4670         * glyphs-x.c (finalize_subwindow):
4671         * glyphs-x.c (xface_validate):
4672         * glyphs-x.c (x_locate_pixmap_file):
4673         * glyphs-x.c (convert_EImage_to_XImage):
4674         * glyphs-msw.c:
4675         * glyphs-msw.c (mswindows_resource_instantiate):
4676         * glyphs-msw.c (xpm_to_eimage):
4677         * glyphs-msw.c (convert_EImage_to_DIBitmap):
4678         * glyphs-eimage.c (tiff_instantiate):
4679         * glyphs-eimage.c (png_instantiate):
4680         * glyphs-eimage.c (struct png_error_struct):
4681         * glyphs-eimage.c (gif_memory_storage):
4682         * glyphs-eimage.c:
4683         * gifrlib.h:
4684         * getloadavg.c (getloadavg):
4685         * getloadavg.c:
4686         * gdbinit:
4687         * free-hook.c (log_gcpro):
4688         * free-hook.c (check_malloc):
4689         * free-hook.c (check_free):
4690         * free-hook.c (ROUND_UP_TO_PAGE):
4691         * free-hook.c:
4692         * frame.h (struct frame):
4693         * frame.h:
4694         * frame.c (change_frame_size_1):
4695         * frame.c (allocate_frame_core):
4696         * frame.c:
4697         * frame-x.c (x_focus_on_frame):
4698         * frame-x.c (x_init_frame_2):
4699         * frame-x.c (x_popup_frame):
4700         * frame-x.c (xemacs_XtPopup):
4701         * frame-x.c:
4702         * frame-x.c (Foffix_start_drag_internal):
4703         * frame-x.c (x_cde_destroy_callback):
4704         * frame-x.c (x_wm_hack_wm_protocols):
4705         * frame-tty.c (tty_frame_visible_p):
4706         * frame-msw.c (mswindows_make_frame_invisible):
4707         * frame-msw.c (mswindows_after_init_frame):
4708         * frame-msw.c (mswindows_init_frame_1):
4709         * fns.c (syms_of_fns):
4710         * fns.c (Fbase64_decode_string):
4711         * fns.c (Fnconc):
4712         * fns.c (Ffillarray):
4713         * fns.c (Fobject_plist):
4714         * fns.c (Fget):
4715         * fns.c (Fcanonicalize_lax_plist):
4716         * fns.c (Fcanonicalize_plist):
4717         * fns.c (Fplist_remprop):
4718         * fns.c (Fplist_get):
4719         * fns.c (advance_plist_pointers):
4720         * fns.c (internal_plist_put):
4721         * fns.c (Fnreverse):
4722         * fns.c (Fremassq):
4723         * fns.c (Felt):
4724         * fns.c (Fsubstring):
4725         * fns.c (Fbvconcat):
4726         * fns.c (Flength):
4727         * fns.c (length_with_bytecode_hack):
4728         * fns.c (print_bit_vector):
4729         * fns.c:
4730         * floatfns.c (Ffloor):
4731         * floatfns.c:
4732         * floatfns.c (in_float_error):
4733         * fileio.c (Ffile_modes):
4734         * fileio.c (Fexpand_file_name):
4735         * fileio.c (Fmake_temp_name):
4736         * fileio.c (Ffile_name_nondirectory):
4737         * fileio.c (Ffile_name_directory):
4738         * file-coding.h:
4739         * file-coding.c (vars_of_mule_coding):
4740         * file-coding.c (convert_to_external_format):
4741         * file-coding.c (encoding_marker):
4742         * file-coding.c (decoding_marker):
4743         * file-coding.c (Fcopy_coding_system):
4744         * file-coding.c (Fmake_coding_system):
4745         * file-coding.c (struct coding_system_list_closure):
4746         * file-coding.c (Ffind_coding_system):
4747         * file-coding.c (symbol_to_eol_type):
4748         * file-coding.c:
4749         * faces.h (struct face_cachel):
4750         * faces.c (vars_of_faces):
4751         * faces.c (face_property_was_changed):
4752         * faces.c (mark_face_cachels):
4753         * faces.c (temporary_faces_list):
4754         * faces.c (struct face_list_closure):
4755         * faces.c:
4756         * extents.h (struct extent):
4757         * extents.c (vars_of_extents):
4758         * extents.c (struct copy_string_extents_1_arg):
4759         * extents.c (add_string_extents_mapper):
4760         * extents.c (Fextent_property):
4761         * extents.c (Fset_extent_property):
4762         * extents.c (symbol_to_glyph_layout):
4763         * extents.c (properties_equal):
4764         * extents.c (print_extent):
4765         * extents.c (print_extent_1):
4766         * extents.c (extent_in_region_p):
4767         * extents.c (gap_array_make_gap):
4768         * extents.c:
4769         * events.h (struct Lisp_Event):
4770         * events.h:
4771         * events.c (Fevent_properties):
4772         * events.c (format_event_object):
4773         * events.c (Fmake_event):
4774         * events.c (event_equal):
4775         * events.c (print_event):
4776         * events.c (mark_event):
4777         * event-stream.c ((read-char)
4778         * event-stream.c (vars_of_event_stream):
4779         * event-stream.c (syms_of_event_stream):
4780         * event-stream.c (Fset_recent_keys_ring_size):
4781         * event-stream.c (Fsit_for):
4782         * event-stream.c (Fnext_event):
4783         * event-stream.c (execute_help_form):
4784         * event-stream.c (maybe_kbd_translate):
4785         * event-stream.c:
4786         * event-msw.c (vars_of_event_mswindows):
4787         * event-msw.c (mswindows_wnd_proc):
4788         * event-msw.c (mswindows_need_event):
4789         * event-msw.c (mswindows_drain_windows_queue):
4790         * event-msw.c (mswindows_pump_outstanding_events):
4791         * event-msw.c:
4792         * event-msw.c (slurp_thread):
4793         * event-msw.c (struct ntpipe_slurp_stream):
4794         * event-msw.c (HANDLE_TO_USID):
4795         * event-Xt.c (emacs_Xt_handle_magic_event):
4796         * event-Xt.c (x_event_to_emacs_event):
4797         * event-Xt.c (x_reset_modifier_mapping):
4798         * event-Xt.c (x_reset_key_mapping):
4799         * event-Xt.c:
4800         * eval.c (syms_of_eval):
4801         * eval.c (warn_when_safe):
4802         * eval.c (warn_when_safe_lispobj):
4803         * eval.c (Fbacktrace_frame):
4804         * eval.c (Fbacktrace):
4805         * eval.c (top_level_set):
4806         * eval.c (unbind_to_hairy):
4807         * eval.c (specbind_magic):
4808         * eval.c (specbind_unwind_wasnt_local):
4809         * eval.c (call2_trapping_errors):
4810         * eval.c (call1_trapping_errors):
4811         * eval.c (catch_them_squirmers_call2):
4812         * eval.c (call0_trapping_errors):
4813         * eval.c (run_hook_trapping_errors):
4814         * eval.c (catch_them_squirmers_eval_in_buffer):
4815         * eval.c (call4_in_buffer):
4816         * eval.c (call3_in_buffer):
4817         * eval.c (call2_in_buffer):
4818         * eval.c (call1_in_buffer):
4819         * eval.c (call0_in_buffer):
4820         * eval.c (run_hook):
4821         * eval.c (run_hook_with_args_in_buffer):
4822         * eval.c (Fapply):
4823         * eval.c (Feval):
4824         * eval.c (do_autoload):
4825         * eval.c (un_autoload):
4826         * eval.c (Fautoload):
4827         * eval.c (Finteractive_p):
4828         * eval.c (Fcommand_execute):
4829         * eval.c (signal_quit):
4830         * eval.c (call_with_suspended_errors):
4831         * eval.c (signal_error):
4832         * eval.c (return_from_signal):
4833         * eval.c (Fcall_with_condition_handler):
4834         * eval.c (run_condition_case_handlers):
4835         * eval.c (condition_case_1):
4836         * eval.c (Funwind_protect):
4837         * eval.c (unwind_to_catch):
4838         * eval.c (internal_catch):
4839         * eval.c (Fmacroexpand_internal):
4840         * eval.c (Fuser_variable_p):
4841         * eval.c (Fdefconst):
4842         * eval.c (Fdefvar):
4843         * eval.c (Ffunction):
4844         * eval.c (signal_call_debugger):
4845         * eval.c (call_debugger):
4846         * eval.c:
4847         * emacs.c (main):
4848         * emacs.c (sort_args):
4849         * emacs.c (main_1):
4850         * elhash.h:
4851         * elhash.c:
4852         * editfns.c (Fencode_time):
4853         * editfns.c (Fdecode_time):
4854         * editfns.c (Fuser_full_name):
4855         * editfns.c:
4856         * editfns.c (save_excursion_restore):
4857         * ecrt0.c:
4858         * dynarr.c:
4859         * doprnt.c (emacs_doprnt_1):
4860         * doc.c (verify_doc_mapper):
4861         * doc.c (Fsnarf_documentation):
4862         * doc.c (Fdocumentation):
4863         * dll.c:
4864         * dired.c (user_name_completion):
4865         * dired.c (Fdirectory_files):
4866         * dialog-x.c:
4867         * dialog-msw.c:
4868         * dgif_lib.c (FreeSavedImages):
4869         * dgif_lib.c (DGifGetImageDesc):
4870         * device.h:
4871         * device.h (struct device):
4872         * device.c (Fselect_device):
4873         * device.c (allocate_device):
4874         * device.c:
4875         * device-x.c (Fx_keysym_on_keyboard_p):
4876         * device-x.c (Fx_valid_keysym_name_p):
4877         * device-x.c (x_IO_error_handler):
4878         * device-x.c (x_delete_device):
4879         * device-x.c (x_finish_init_device):
4880         * device-x.c (x_init_device):
4881         * device-x.c:
4882         * device-msw.c (mswindows_init_device):
4883         * dbxrc:
4884         * database.c (vars_of_database):
4885         * database.c (Fput_database):
4886         * database.c (Fopen_database):
4887         * database.c (berkdb_remove):
4888         * database.c (berkdb_put):
4889         * database.c (Fdatabasep):
4890         * database.c (print_database):
4891         * database.c:
4892         * data.c (vars_of_data):
4893         * data.c (syms_of_data):
4894         * data.c (init_errors_once_early):
4895         * data.c (prune_weak_lists):
4896         * data.c (finish_marking_weak_lists):
4897         * data.c (print_weak_list):
4898         * data.c (Fmod):
4899         * data.c (Fstring_to_number):
4900         * data.c (Fnumber_to_string):
4901         * data.c (Findirect_function):
4902         * data.c (Fsetcdr):
4903         * data.c (Ffloatp):
4904         * data.c (Fsubr_interactive):
4905         * data.c (Farrayp):
4906         * data.c (Fkeywordp):
4907         * data.c (Fnull):
4908         * data.c:
4909         * console.h (CONSOLE_NAME):
4910         * console.h:
4911         * console.c (vars_of_console):
4912         * console.c (Fselect_console):
4913         * console.c:
4914         * console-x.h (DEVICE_X_COLORMAP):
4915         * console-x.h (struct x_device):
4916         * console-x.c (x_device_to_console_connection):
4917         * console-tty.h (CONSOLE_TTY_FINAL_CURSOR_Y):
4918         * console-tty.c (tty_init_console):
4919         * console-tty.c:
4920         * console-msw.h (struct mswindows_frame):
4921         * conslots.h:
4922         * config.h.in:
4923         * cmds.c (internal_self_insert):
4924         * cmds.c (Fforward_line):
4925         * cmds.c (Fforward_char):
4926         * cmds.c:
4927         * cmdloop.c:
4928         * chartab.c (mark_char_table_entry):
4929         * chartab.c:
4930         * casefiddle.c (casify_word):
4931         * callproc.c (child_setup):
4932         * callproc.c (Fcall_process_internal):
4933         * callproc.c:
4934         * callint.c (Fcall_interactively):
4935         * bytecode.h:
4936         * bytecode.c (execute_rare_opcode):
4937         * bytecode.c (execute_optimized_program):
4938         * bytecode.c:
4939         * bufslots.h:
4940         * buffer.h (BUFFER_REALLOC):
4941         * buffer.h (GET_CHARPTR_INT_DATA_ALLOCA):
4942         * buffer.h (GET_CHARPTR_EXT_DATA_ALLOCA):
4943         * buffer.h:
4944         * buffer.h (MAP_INDIRECT_BUFFERS):
4945         * buffer.h (CHECK_LIVE_BUFFER):
4946         * buffer.c (init_initial_directory):
4947         * buffer.c (complex_vars_of_buffer):
4948         * buffer.c (vars_of_buffer):
4949         * buffer.c (finish_init_buffer):
4950         * buffer.c (Fget_file_buffer):
4951         * buffer.c (Fbuffer_list):
4952         * buffer.c (mark_buffer):
4953         * balloon_help.c (balloon_help_move_to_pointer):
4954         * balloon_help.c (show_help):
4955         * balloon_help.c:
4956         * backtrace.h:
4957         * alloc.c (garbage_collect_1):
4958         * alloc.c (sweep_strings):
4959         * alloc.c (sweep_compiled_functions):
4960         * alloc.c (sweep_bit_vectors_1):
4961         * alloc.c (sweep_vectors_1):
4962         * alloc.c (sweep_lcrecords_1):
4963         * alloc.c (tick_lcrecord_stats):
4964         * alloc.c (pure_string_sizeof):
4965         * alloc.c (mark_conses_in_list):
4966         * alloc.c (mark_object):
4967         * alloc.c (report_pure_usage):
4968         * alloc.c (make_pure_float):
4969         * alloc.c (make_pure_string):
4970         * alloc.c (free_managed_lcrecord):
4971         * alloc.c (mark_string):
4972         * alloc.c (noseeum_make_marker):
4973         * alloc.c (allocate_event):
4974         * alloc.c (Fbit_vector):
4975         * alloc.c (Fvector):
4976         * alloc.c (make_float):
4977         * alloc.c (Fmake_list):
4978         * alloc.c (Flist):
4979         * alloc.c (FREE_FIXED_TYPE_WHEN_NOT_IN_GC):
4980         * alloc.c (PUT_FIXED_TYPE_ON_FREE_LIST):
4981         * alloc.c (DECLARE_FIXED_TYPE_ALLOC):
4982         * alloc.c (dbg_constants):
4983         * alloc.c (gc_record_type_p):
4984         * alloc.c (free_lcrecord):
4985         * alloc.c (xmalloc):
4986         * alloc.c (NOSEEUM_INCREMENT_CONS_COUNTER):
4987         * abbrev.c:
4988         * Makefile.in.in (mostlyclean):
4989         * Makefile.in.in (external_client_xlib_objs_nonshared):
4990         * Makefile.in.in (temacs_link_args):
4991         * Makefile.in.in (release):
4992         * Makefile.in.in (dnd_objs):
4993         * Makefile.in.in (objs):
4994         * Makefile.in.in (PROGNAME):
4995         * EmacsShell.c: cast strings to (XtPointer)
4996         * EmacsFrame.c: cast strings to (XtPointer)
4997         - mega patch
4998         - rewrite basic lisp functions for speed
4999         - rewrite bytecode interpreter for speed
5000         - rewrite list looping constructs for speed and safety using
5001           tortoise/hare.
5002         - use size_t where appropriate.
5003         - new hashtable implementation
5004         - cleanup implementation of opaques
5005         - opaques can now be purecopy'ed
5006         - move some cl functionality into C for speed.
5007         - remove last remaining VMS support
5008         - spelling fixes
5009         - improve gdb/dbx debugger support
5010         - move pure.c back into alloc.c for performance
5011         - enable report_pure_usage() if --memory-usage-stats
5012         - remove remnants of Energize support (EMACS_BTL, cadillac...)
5013         - don't use symbols with leading `_' or embedded `__'
5014         - globally cleanup duplicated semicolons `;;'
5015         - I give in on %p vs %lx - we use printf("%lx",(long) p)
5016           globally.
5017         - globally replace O_NDELAY with O_NONBLOCK.
5018         - globally replace CDISABLE with _POSIX_VDISABLE.
5019         - use O_RDONLY and O_RDWR instead of magic `0' and `2'.
5020         - define (and maybe use!) STDERR_FILENO and friends.
5021         - add support for macros defined in C
5022         - `when', `unless', `not' and `defalias' now defined in C,
5023           so that they are universally available.
5024         - rename defvar_mumble to defvar_magic
5025         - rename RETURN__ to RETURN_SANS_WARNINGS
5026         - use consistent style of initial caps in error messages
5027         - implement last, butlast, nbutlast, copy-list in C.
5028         - provide typedefs for all struct Lisp_foo types
5029         - Lisp_Objects must be initialized to Qnil rather than 0.
5030         - make sure XEmacs runs (slowly) with always_gc == 1;
5031         - fast and safe LOOP_* macros
5032         - change calls to XSETOBJ to XSETFOO
5033         - replace calls to XSETINT by make_int()
5034         - plug up memory leaks
5035         - use style markobj (foo), not silly ((markobj) (foo))
5036         - use XFLOAT_DATA (obj) instead of float_data (XFLOAT (obj))
5037
5038 1998-12-02  P. E. Jareth Hein  <jareth@camelot.co.jp>
5039
5040         * unexec.c: Changed a #ifndef statement to fix XEmacs on BSDI 3.0
5041
5042 1998-11-28  SL Baur  <steve@altair.xemacs.org>
5043
5044         * XEmacs 21.2-beta4 is released.
5045
5046 1998-11-27  SL Baur  <steve@altair.xemacs.org>
5047
5048         * mule-charset.c (complex_vars_of_mule_charset): Fix graphic
5049         property in control-1 charset.
5050         From Julian Bradfield <jcb@daimi.au.dk>
5051
5052 1998-11-26  Jan Vroonhof  <vroonhof@math.ethz.ch>
5053
5054         * gui-x.c (button_item_to_widget_value): Ignore :key-sequence
5055         keyword.
5056         Add stub for :label.
5057
5058         * gui.c (gui_item_add_keyval_pair): ditto.
5059
5060         * menubar-x.c (menu_item_descriptor_to_widget_value_1): Ignore
5061         :key-sequence keyword.
5062         Add stub for:label.
5063         Support :active for submenus like the Windows code and FSF Emacs.
5064
5065 1998-11-27  Hrvoje Niksic  <hniksic@srce.hr>
5066
5067         * dired.c (make_directory_hash_table): make_string() is OK because
5068         readdir() Mule-encapsulates.
5069
5070 1998-11-26  Hrvoje Niksic  <hniksic@srce.hr>
5071
5072         * fns.c (Fbase64_encode_string): Fix docstring.
5073         (Fbase64_decode_string): Ditto.
5074
5075 1998-11-26  Hrvoje Niksic  <hniksic@srce.hr>
5076
5077         * editfns.c (Ftranslate_region): Use
5078         convert_bufbyte_string_into_emchar_string().
5079
5080 1998-11-25  Hrvoje Niksic  <hniksic@srce.hr>
5081
5082         * editfns.c (Ftranslate_region): Accept vectors and char-tables as
5083         well as strings.
5084         (Ftranslate_region): Turn table into an array of Emchars for
5085         larger regions.
5086
5087 1998-11-25  Hrvoje Niksic  <hniksic@srce.hr>
5088
5089         * chartab.c (Freset_char_table): Fix wrong placement of #endif.
5090
5091 1998-11-24  Hrvoje Niksic  <hniksic@srce.hr>
5092
5093         * chartab.c (Freset_char_table): Don't blindly fill chartables of
5094         type `char' with nils.
5095
5096         * chartab.c (canonicalize_char_table_value): Coerce ints to chars
5097         for tables of type `char'.
5098
5099 1998-11-26  Didier Verna  <verna@inf.enst.fr>
5100
5101         * input-method-xlib.c (Initialize_Locale): don't call
5102         XtSetLanguageProc. We've done the whole work here.
5103         * input-method-xfs.c (Initialize_Locale): ditto.
5104         * input-method-motif.c (Initialize_Locale): ditto.
5105
5106 1998-11-26  Didier Verna  <verna@inf.enst.fr>
5107
5108         * process-unix.c (unix_create_process): handle properly
5109         Vfile_name_coding_system for converting the program and directory
5110         names.
5111
5112 1998-11-27  SL Baur  <steve@altair.xemacs.org>
5113
5114         * m/arm.h: New file.
5115         From James LewisMoss <dres@ioa.com>
5116
5117 1998-11-27  Takeshi Hagiwara  <hagiwara@ie.niigata-u.ac.jp>
5118
5119         * m/mips-nec.h:
5120         Fix the realpath() problem of UnixWare2.1.3.
5121         Patches for NEC's sysv4.2 machine.
5122
5123 1998-11-25  Hrvoje Niksic  <hniksic@srce.hr>
5124
5125         * dired.c (Fdirectory_files): Remove redundant code.
5126
5127 1998-11-25  Hrvoje Niksic  <hniksic@srce.hr>
5128
5129         * fns.c (free_malloced_ptr): New function.
5130         (XMALLOC_OR_ALLOCA): New macro.
5131         (XMALLOC_UNBIND): Ditto.
5132         (Fbase64_encode_region): Use malloc() for large blocks; arrange it
5133         to be freed in case of non-local exit.
5134         (Fbase64_encode_string): Ditto.
5135         (Fbase64_decode_region): Ditto.
5136         (Fbase64_decode_string): Ditto.
5137         (STORE_BYTE): New macro.
5138         (base64_decode_1): Use it.
5139
5140 1998-11-25  Hrvoje Niksic  <hniksic@srce.hr>
5141
5142         * fns.c (base64_value_to_char): Base64 stuff.
5143
5144 1998-11-24  Hrvoje Niksic  <hniksic@srce.hr>
5145
5146         * editfns.c (Fbuffer_substring): New function.
5147
5148         * lisp.h: Declare make_string_from_buffer_no_extents().
5149
5150         * insdel.c (make_string_from_buffer_1): New function.
5151         (make_string_from_buffer_no_extents): Ditto.
5152
5153 1998-11-15  Michael Sperber [Mr. Preprocessor]  <sperber@informatik.uni-tuebingen.de>
5154
5155         * linuxplay.c: Including <fcntl.h> instead of <sys/fcntl.h> makes
5156         sound work on AIX with OSS installed.  Linux should still work.
5157
5158 1998-11-03  Andy Piper  <andyp@parallax.co.uk>
5159
5160         * config.h.in: name change for cygwin/version.h
5161
5162         * configure.in: check for cygwin/version.h now.
5163
5164         * cygwin32.h: track CYGWIN_DLL_VERSION_MAJOR ->
5165         CYGWIN_VERSION_DLL_MAJOR name change in cygwin b20.
5166         move cygwin32/version.h to cygwin/version.h
5167
5168 1998-11-03  Olivier Galibert  <galibert@pobox.com>
5169
5170         * lisp.h  (struct  Lisp_Bit_Vector): Fix declaration of  bits from
5171         int to long.
5172
5173 1998-10-22  Andy Piper  <andyp@parallax.co.uk>
5174
5175         * cygwin32.h: track CYGWIN_DLL_VERSION_MAJOR ->
5176         CYGWIN_VERSION_DLL_MAJOR name change in cygwin b20.
5177         enable BROKEN_SIGIO under b20 to make QUIT work.
5178
5179 1998-10-22  Andy Piper  <andyp@parallax.co.uk>
5180
5181         * frame-msw.c (mswindows_size_frame_internal): force frame sizing
5182         to fit within the constraints of the screen size. I.e. make the
5183         frame small enough to fit and move it if some of it will be
5184         off-screen.
5185
5186 1998-10-19  Greg Klanderman  <greg@alphatech.com>
5187
5188         * dired.c: conditionalize inclusion of user-name-completion
5189         primitives on non-Windows NT.  The needed functions don't exist on NT.
5190
5191 1998-11-24  SL Baur  <steve@altair.xemacs.org>
5192
5193         * gifrlib.h: Clean up types for 64 bit compile.
5194         * dgif_lib.c (DGifInitRead): Ditto.
5195         (MakeSavedImage): Ditto.
5196         * emacs.c (decode_path): Ditto.
5197         From Steve Carney <carney@pa.dec.com>
5198
5199 1998-10-16  William M. Perry  <wmperry@aventail.com>
5200
5201         * glyphs-msw.c (bitmap_table): Fixed typo in builtin bitmaps
5202           (cehckboxes instead of checkboxes).
5203
5204 1998-10-15  SL Baur  <steve@altair.xemacs.org>
5205
5206         * XEmacs 21.2-beta3 is released.
5207
5208 1998-10-13  Raymond Toy  <toy@rtp.ericsson.se>
5209
5210         * runemacs.c (WinMain): If the basename is "rungnuclient.exe", run
5211         gnuclient.  Otherwise, we run xemacs as we always did.  This gets
5212         rid of the annoying DOS window when running gnuclient.
5213
5214 1998-10-13  Andy Piper  <andyp@parallax.co.uk>
5215
5216         * dragdrop.c (vars_of_dragdrop): rename HAVE_MSWINDOWS ->
5217         HAVE_MS_WINDOWS typo.
5218
5219 1998-10-13  SL Baur  <steve@altair.xemacs.org>
5220
5221         * process-unix.c (unix_send_process): Set closed flag on writable
5222         pipe after SIGPIPE is received and before we call deactivate_process.
5223
5224 1998-10-03  Gunnar Evermann  <ge204@eng.cam.ac.uk>
5225
5226         * window.c (Fset_window_start): respect narrowing when
5227         checking wheter start is at the beginning of a line.
5228         (Fset_window_buffer): Ditto
5229         Fixes repeatable crash in VM.
5230
5231 1998-10-09  SL Baur  <steve@altair.xemacs.org>
5232
5233         * window.c (specifier_vars_of_window): Set default vertical
5234         divider width to 1 on ttys.
5235
5236 1998-10-08  Martin Buchholz  <martin@xemacs.org>
5237
5238         * alloc.c:
5239         * unexec.c:
5240         * malloc.c:
5241         Add <stddef.h> to get ptrdiff_t declaration
5242
5243 1998-10-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>
5244
5245         * scrollbar-msw.c: Use the same vertical scrollbar drag hack as
5246           is used for Motif or Lucid scrollbars under X.
5247
5248 1998-10-08  Pierre Wendling  <pw@ebc.vbe.dec.com>
5249
5250         * m/alpha.h (UNEXEC): quoted to avoid bad expansion when running
5251         `configure'
5252
5253 1998-10-06  Takeshi Hagiwara  <hagiwara@ie.niigata-u.ac.jp>
5254
5255         * frame-x.c (x_delete_frame): Fix an argument of XtDestroyWidget.
5256
5257 1998-10-05  Andy Piper  <andyp@parallax.co.uk>
5258
5259         * s/cygwin32.h: more cygwin b20 reorganisation.
5260
5261 1998-10-01  Raymond Toy  <toy@rtp.ericsson.se>
5262
5263         * nas.c: Added necessary support functions to be able to handle
5264         WAVE files in memory, just like the support for SND files in
5265         memory.
5266
5267 1998-09-30  SL Baur  <steve@altair.xemacs.org>
5268
5269         * callproc.c (child_setup): Fix spelling typo.
5270
5271 1998-09-29  SL Baur  <steve@altair.xemacs.org>
5272
5273         * XEmacs 21.2-beta2 is released.
5274
5275 1998-09-27  P. E. Jareth Hein  <jareth@camelot.co.jp>
5276
5277         * regex.c (re_match_2_internal): Add in code to reset lowest_active_reg
5278         to prevent memory corruption in the case of jumping out of a series of
5279         nested match patterns. This is a rather brute force approach, though.
5280
5281 1998-09-02  Andy Piper  <andyp@parallax.co.uk>
5282
5283         * config.h.in: ditto.
5284
5285         * s/cygwin32.h: rearrange declarations to cope with cygwin
5286         b20. Include cygwin32/version.h if it exists.
5287
5288 1998-09-20  Jonathan Harris  <jhar@tardis.ed.ac.uk>
5289
5290         * device-msw.c (mswindows_init_device): Call new
5291           mswindows_enumerate_fonts() function in objects-msw.c instead
5292           of font_enum_callback_1() to enumerate fonts.
5293
5294           font_enum_callback_1() and _2() moved to objects-msw.c.
5295
5296         * faces.c (complex_vars_of_faces): Make the mswindows default
5297           face font fully specified and provide some fallbacks.
5298
5299         * objects-msw.c: font_enum_callback_1() and _2() moved here
5300           from objects-msw.c. Obtain the enumerated font's character
5301           sets by table lookup instead of using the locale-specific
5302           string provided by Windows.
5303
5304           New public non-method mswindows_enumerate_fonts() that fills
5305           in the supplied mswindows device's font list.
5306
5307           mswindows_initialize_font_instance: Use the supplied name
5308           variable instead of f->name when signalling errors. Match font
5309           weights and character sets using lookup tables which handle
5310           spaces instead of by frobbing.
5311
5312 1998-09-20  Jonathan Harris  <jhar@tardis.ed.ac.uk>
5313
5314         * process-nt.c: Define an arbitrary limit, FRAGMENT_CODE_SIZE,
5315           on the size of code fragments passed to run_in_other_process.
5316
5317           run_in_other_process(): Use FRAGMENT_CODE_SIZE to determine
5318           the amount of memory to allocate in the other process.
5319
5320           Removed sigkill_code_end(), sigint_code_end() and
5321           sig_enable_code_end() since they are now redundant.
5322
5323           send_signal() and enable_child_signals(): Don't try to work
5324           out the end of the code fragments passed to
5325           run_in_other_process()
5326
5327 1998-09-10  Kazuyuki IENAGA  <ienaga@jsys.co.jp>
5328
5329         * src/s/freebsd.h: Added __ELF__ and compiler/liker flags for
5330         FreeBSD-current.
5331
5332         * src/unexelf.c: Partially synched with FSF's 20.3.
5333
5334 1998-09-10  Hrvoje Niksic  <hniksic@srce.hr>
5335
5336         * insdel.c (signal_after_change): Map across indirect buffers
5337         here, and not in the upper-level functions.
5338         (signal_first_change): Don't check for Armageddon.
5339         (signal_before_change): Map across indirect buffers here.
5340         (prepare_to_modify_buffer): ...and here.
5341
5342 1998-09-09  Hrvoje Niksic  <hniksic@srce.hr>
5343
5344         * insdel.c (signal_after_change): Add return value.
5345         (buffer_insert_string_1): Use it.
5346         (buffer_delete_range): Ditto.
5347         (buffer_replace_char): Ditto.
5348         (cancel_multiple_change): Map the indirect buffers.
5349
5350 1998-09-06  Hrvoje Niksic  <hniksic@srce.hr>
5351
5352         * insdel.c (init_buffer_text): Remove INDIRECT_P parameter.
5353         (uninit_buffer_text): Ditto.
5354
5355         * buffer.c (Fmake_indirect_buffer): Implement stricter
5356         error-checking.
5357
5358 1998-09-04  Hrvoje Niksic  <hniksic@srce.hr>
5359
5360         * insdel.c (change_function_restore): Reverse order of
5361         function-call and assignment.
5362         (first_change_hook_restore): Ditto.
5363
5364         * extents.c (mark_extent_auxiliary): Mark them.
5365         (Fset_extent_property): Set them.
5366         (Fextent_property): Get them.
5367         (Fextent_properties): Ditto.
5368         (vars_of_extents): Set their default.
5369
5370         * extents.h (struct extent_auxiliary): Add before_change_functions
5371         and after_change_functions.
5372
5373         * insdel.c (signal_before_change): Use it.
5374         (signal_after_change): Ditto.
5375
5376         * extents.c (report_extent_modification): New function.
5377
5378         * insdel.c (signal_before_change): Don't check for Armageddon.
5379         (signal_after_change): Ditto.
5380
5381 1998-09-11  Gunnar Evermann  <Gunnar.Evermann@nats.informatik.uni-hamburg.de>
5382
5383         * redisplay.c (redisplay_window): make sure a new starting point
5384         is chosen if it somehow got moved from the beginning of the line
5385         -- this can happen because Fwiden was called recently.
5386
5387         * window.c (Fset_window_start): set start_at_line_beg correctly
5388         (Fset_window_buffer): Ditto
5389
5390 1998-09-06  Hrvoje Niksic  <hniksic@srce.hr>
5391
5392         * insdel.c (init_buffer_text): Remove INDIRECT_P parameter.
5393         (uninit_buffer_text): Ditto.
5394
5395         * buffer.c (Fmake_indirect_buffer): Implement stricter
5396         error-checking.
5397
5398 1998-05-14  Jan Vroonhof  <vroonhof@math.ethz.ch>
5399
5400         * emacs.c (main_1): Removed references to *vars_of_filelock.
5401
5402         * lisp.h: Added Fsystem_name.
5403
5404         * filelock.c: Replaced by version from FSF 20.2. Now implements
5405         locking by using symlinks which is NFS safe. However keep the
5406         GCPRO's in lock_file and the calls to callx_in_buffer like our old
5407         version (and of course use ansi C, acessor macros, etc).
5408
5409 1998-09-06  Jan Vroonhof  <vroonhof@math.ethz.ch>
5410
5411         * process-unix.c (unix_create_process): Reset SIGHUP handler to
5412         SIG_DFL. We now try to conserve any inherted SIG_IGN settings
5413         in init_signals_very_early. However these should not be passed
5414         on to children attached to the new pty.
5415
5416 1998-08-28  Andy Piper  <andyp@parallax.co.uk>
5417
5418         * glyphs-eimage.c (png_instantiate_unwind): clean up eimage after use.
5419
5420 1998-09-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>
5421
5422         * fileio.c (file-name-directory, file_name_as_directory):
5423           Don't call CORRECT_DIR_SEPS, even when #defined WINDOWSNT.
5424
5425 1998-09-02  Andy Piper  <andyp@parallax.co.uk>
5426
5427         * emacs.c (main_1): init_ralloc() if initialised and we have REL_ALLOC
5428
5429         * ralloc.c: uncomment __morecore.
5430
5431 1998-09-92  Jonathan Harris  <jhar@tardis.ed.ac.uk>
5432
5433         * event-msw.c(winsock_writer): Supply a dummy 4th argument to
5434           WriteFile() to fix a winsock 1.x bug on Win95.
5435
5436 1998-08-28  Hrvoje Niksic  <hniksic@srce.hr>
5437
5438         * event-Xt.c (emacs_Xt_mapping_action): Check for device being
5439         deleted.
5440         (x_event_to_emacs_event): Ditto.
5441         (emacs_Xt_handle_focus_event): Ditto.
5442         (emacs_Xt_handle_magic_event): Ditto.
5443
5444         * console-x.h (struct x_device): New flag being_deleted.
5445         (DEVICE_X_BEING_DELETED): New macro.
5446
5447         * device-x.c (x_IO_error_handler): Throw to top-level instead of
5448         returning.  Before doing that, set the being_deleted flag on the
5449         device.
5450
5451 1998-08-27  Hrvoje Niksic  <hniksic@srce.hr>
5452
5453         * device-x.c (x-seppuku-on-epipe): Removed.
5454
5455 1998-08-26  Gunnar Evermann  <Gunnar.Evermann@nats.informatik.uni-hamburg.de>
5456
5457         * frame-x.c (x_delete_frame): Flush the X output buffer after
5458         calling XtDestroyWidget to ensure that the windows are really
5459         killed right now.
5460
5461 1998-08-26  Hrvoje Niksic  <hniksic@srce.hr>
5462
5463         * menubar-x.c (my_run_hook): New unused function.
5464         (pre_activate_callback): Use run_hook for Qactivate_menubar_hook,
5465         since we ignore the results of the contained functions anyway.
5466
5467 1998-08-26  P. E. Jareth Hein  <jareth@camelot.co.jp>
5468
5469         * glyphs-eimage.c (gif_instantiate): Fix a crash in handling
5470         interlaced GIF files that are smaller than 4 lines high...
5471
5472 1998-08-31  Hrvoje Niksic  <hniksic@srce.hr>
5473
5474         * buffer.c (map_over_sharing_buffers): Deleted.
5475
5476         * insdel.c (MAP_INDIRECT_BUFFERS): Move to buffer.h.
5477
5478         * buffer.c (Fkill_buffer): Keep indirect_children updated while
5479         killing them.
5480
5481 1998-08-31  Hrvoje Niksic  <hniksic@srce.hr>
5482
5483         * insdel.c (buffer_insert_string_1): Advance the point bytind in
5484         all the buffers.
5485         (buffer_delete_range): Ditto.
5486
5487         * marker.c (init_buffer_markers): Set point-marker to the value of
5488         point in an indirect buffer.
5489
5490 1998-08-30  Hrvoje Niksic  <hniksic@srce.hr>
5491
5492         * undo.c (undo_prelude): Test last-undo-buffer against base
5493         buffer.
5494
5495         * insdel.c (MAP_INDIRECT_BUFFERS): Use it.
5496
5497         * buffer.h (BUFFER_BASE_BUFFER): New macro.
5498
5499 1998-08-30  Hrvoje Niksic  <hniksic@srce.hr>
5500
5501         * insdel.c (init_buffer_text): Initialize it here.
5502
5503         * line-number.c: Address line_number_cache through buffer->text.
5504
5505         * buffer.c (mark_buffer): Mark line number cache.
5506
5507         * bufslots.h (line_number_cache): Move to struct buffer_text.
5508
5509         * insdel.c (buffer_insert_string_1): Propagate signals and changes
5510         across the children buffers.
5511         (buffer_delete_range): Ditto.
5512         (buffer_replace_char): Ditto.
5513         (gap_left): Ditto.
5514         (gap_right): Ditto.
5515
5516         * insdel.c (MAP_INDIRECT_BUFFERS): New macro.
5517
5518         * buffer.c (Fmake_indirect_buffer): Uncomment.
5519
5520 1998-08-31  Hrvoje Niksic  <hniksic@srce.hr>
5521
5522         * macros.c (Fend_kbd_macro): Remove trailing period from error
5523         message.
5524         (Fexecute_kbd_macro): Ditto.
5525
5526 1998-08-21  Greg Klanderman  <greg@alphatech.com>
5527
5528         * dired.c (Fuser_name_completion): remove optional 2nd argument.
5529         (Fuser_name_completion_1): new function to return uniqueness
5530         indication in addition to the user name completion.
5531         (user_name_completion): change type of `uniq' argument.
5532
5533 1998-08-19  Michael Sperber [Mr. Preprocessor]  <sperber@informatik.uni-tuebingen.de>
5534
5535         * lread.c (vars_of_lread): Removed `source-directory' variable.
5536
5537 1998-08-22  Hrvoje Niksic  <hniksic@srce.hr>
5538
5539         * fileio.c (Ffile_readable_p): Apply the DOS/Windows logic to
5540         Cygwin.
5541
5542 1998-08-19  SL Baur  <steve@altair.xemacs.org>
5543
5544         * dired.c (vars_of_dired): Fix misapplied patch.
5545
5546 1998-08-16  Martin Buchholz  <martin@xemacs.org>
5547
5548         * fns.c (Fremrassq, remrassq_no_quit):
5549         A XCAR that should have been an XCDR turned Fremrassq into Fremassq
5550
5551 1998-07-17  Didier Verna  <verna@inf.enst.fr>
5552
5553         * redisplay-x.c (x_get_gc): returns a GC with a FillStipple fill
5554         style as foreground GC for faces that have the `dim' property.
5555         (x_output_string): when the `dim' face property is set,
5556         ensure the gray pixmap has been created, and get a proper
5557         foreground GC to draw the text.
5558
5559 1998-08-09  Jonathan Harris  <jhar@tardis.ed.ac.uk>
5560
5561         * event-msw.c (mswindows_wnd_proc): Workaround for a Win95 bug:
5562           Manually track the state of the left and right Ctrl and Alt
5563           modifiers.
5564
5565 1998-08-07 Matt Stupple <matts@tibco.com>
5566
5567         * ntproc.c: don't wait on char_consumed at thread entry.
5568         Additionally, to get the 'process' marked as finished, ensure
5569         that the CHILD_ACTIVE macro returns false, so before exiting
5570         close char_avail and set it to NULL, and close other handles
5571         to reduce handle leak problems.
5572
5573 1998-08-09  Jonathan Harris  <jhar@tardis.ed.ac.uk>
5574
5575         * menubar-msw.c (displayable_menu_item): take account of menu
5576           depth when deciding whether to try to display accelerators.
5577
5578 1998-08-04  Andy Piper  <andyp@parallax.co.uk>
5579
5580         * event-msw.c: use MsgWaitForMultipleObjects if there are no
5581         subprocesses.
5582
5583         * glyphs-msw.c: fix a couple of potential handle leaks.
5584
5585 1998-08-04  P. E. Jareth Hein  <jareth@camelot.co.jp>
5586
5587         * dgif_lib.c gif_io.c gifrlib.h: New files to put GIF
5588           *decoding ONLY* back into the core.
5589         * glyphs-eimage.c: Change referenced header file for GIF
5590           reading to point to the incore version.
5591
5592 1998-07-20  Martin Buchholz  <martin@xemacs.org>
5593
5594         * casefiddle.c (casify_object):
5595         Change algorithm from O(N**2) to O(N).
5596         Code cleanup.
5597         Doc string cleanup.
5598
5599 1998-07-22  Greg Klanderman  <greg@alphatech.com>
5600
5601         * dired.c (file_name_completion_unwind): don't leak the cons.
5602
5603 1998-07-20  Greg Klanderman  <greg@alphatech.com>
5604
5605         * dired.c (Fuser_name_completion): new function.
5606         (Fuser_name_all_completions): new function.
5607         (user_name_completion): new function.
5608         (syms_of_dired): 2 new DEFSUBRs.
5609         (vars_of_dired): initialize user name cache vars.
5610
5611 1998-07-29  P. E. Jareth Hein  <jareth@camelot.co.jp>
5612
5613         * glyphs-eimage.c (png_instantiate): Add proper handling for background
5614         colors taken from the default face.  Also correct a thinko in
5615         transparency (not alpha) handling.
5616
5617 1998-07-23  Martin Buchholz  <martin@xemacs.org>
5618
5619         * s/decosf4-0.h:  Use a perfectly ordinary link.  Nuke BSD crap.
5620         * unexalpha.c: ANSI C-ize.  Clean compiler warnings.
5621         * lread.c (Fload_internal):  Be very careful with printfs of
5622         size_t's
5623         * gui-x.c (menu_name_to_accelerator): tolower wants an `int'
5624         argument.
5625
5626 1998-07-27  Gunnar Evermann  <Gunnar.Evermann@nats.informatik.uni-hamburg.de>
5627
5628         * callint.c (Fcall_interactively): GCPRO prompt string before
5629         passing it to Fread_key_sequence
5630
5631 1998-07-27  SL Baur  <steve@altair.xemacs.org>
5632
5633         * keymap.c (vars_of_keymap): Initialize Vkey_translation_map and
5634         Vvertical_divider_map.
5635
5636         * mule-canna.c (vars_of_mule_canna): Initialize every symbol to
5637         Qnil or 0, none were initialized prior to this change.
5638
5639         Rename misnamed `V' prefixed integer variables:
5640         Vcanna_empty_info, Vcanna_through_info, Vcanna_underline,
5641         Vcanna_inhibit_hankakukana, Vcanna_henkan_length, Vcanna_henkan_revPos,
5642         Vcanna_henkan_revLen, Vcanna_ichiran_length, Vcanna_ichiran_revPos,
5643         Vcanna_ichiran_revLen.
5644
5645         Rename misnamed `V' prefixed integer variables and initialize
5646         properly in the vars_of routine.
5647         Vcanna_mode_AlphaMode, Vcanna_mode_EmptyMode, Vcanna_mode_KigoMode,
5648         Vcanna_mode_YomiMode, Vcanna_mode_JishuMode, Vcanna_mode_TankouhoMode,
5649         Vcanna_mode_IchiranMode, Vcanna_mode_YesNoMode, Vcanna_mode_OnOffMode,
5650         Vcanna_mode_AdjustBunsetsuMode, Vcanna_mode_ChikujiYomiMode,
5651         Vcanna_mode_ChikujiTanMode, Vcanna_mode_HenkanMode,
5652         Vcanna_mode_HenkanNyuryokuMode, Vcanna_mode_ZenHiraHenkanMode,
5653         Vcanna_mode_HanHiraHenkanMode, Vcanna_mode_ZenKataHenkanMode,
5654         Vcanna_mode_HanKataHenkanMode, Vcanna_mode_HanKataHenkanMode,
5655         Vcanna_mode_ZenAlphaHenkanMode, Vcanna_mode_HanAlphaHenkanMode,
5656         Vcanna_mode_ZenHiraKakuteiMode, Vcanna_mode_HanHiraKakuteiMode,
5657         Vcanna_mode_ZenKataKakuteiMode, Vcanna_mode_HanKataKakuteiMode,
5658         Vcanna_mode_ZenAlphaKakuteiMode, Vcanna_mode_HanAlphaKakuteiMode,
5659         Vcanna_mode_HexMode, Vcanna_mode_BushuMode, Vcanna_mode_ExtendMode,
5660         Vcanna_mode_RussianMode, Vcanna_mode_GreekMode, Vcanna_mode_LineMode,
5661         Vcanna_mode_ChangingServerMode, Vcanna_mode_HenkanMethodMode,
5662         Vcanna_mode_DeleteDicMode, Vcanna_mode_TourokuMode,
5663         Vcanna_mode_TourokuEmptyMode, Vcanna_mode_TourokuHinshiMode,
5664         Vcanna_mode_TourokuDicMode, Vcanna_mode_QuotedInsertMode,
5665         Vcanna_mode_BubunMuhenkanMode, Vcanna_mode_MountDicMode,
5666         Vcanna_fn_SelfInsert, Vcanna_fn_FunctionalInsert,
5667         Vcanna_fn_QuotedInsert, Vcanna_fn_JapaneseMode, Vcanna_fn_AlphaMode,
5668         Vcanna_fn_HenkanNyuryokuMode, Vcanna_fn_Forward, Vcanna_fn_Backward,
5669         Vcanna_fn_Next, Vcanna_fn_Prev, Vcanna_fn_BeginningOfLine,
5670         Vcanna_fn_EndOfLine, Vcanna_fn_DeleteNext, Vcanna_fn_DeletePrevious,
5671         Vcanna_fn_KillToEndOfLine, Vcanna_fn_Henkan, Vcanna_fn_Kakutei,
5672         Vcanna_fn_Extend, Vcanna_fn_Shrink, Vcanna_fn_AdjustBunsetsu,
5673         Vcanna_fn_Quit, Vcanna_fn_ConvertAsHex, Vcanna_fn_ConvertAsBushu,
5674         Vcanna_fn_KouhoIchiran, Vcanna_fn_BubunMuhenkan, Vcanna_fn_Zenkaku,
5675         Vcanna_fn_Hankaku, Vcanna_fn_ExtendMode, Vcanna_fn_ToUpper,
5676         Vcanna_fn_Capitalize, Vcanna_fn_ToLower, Vcanna_fn_Hiragana,
5677         Vcanna_fn_Katakana, Vcanna_fn_Romaji, Vcanna_fn_BaseHiragana,
5678         Vcanna_fn_BaseKatakana, Vcanna_fn_BaseEisu, Vcanna_fn_BaseZenkaku,
5679         Vcanna_fn_BaseHankaku, Vcanna_fn_BaseKana, Vcanna_fn_BaseKakutei,
5680         Vcanna_fn_BaseHenkan, Vcanna_fn_BaseHiraKataToggle,
5681         Vcanna_fn_BaseZenHanToggle, Vcanna_fn_BaseKanaEisuToggle,
5682         Vcanna_fn_BaseKakuteiHenkanToggle, Vcanna_fn_BaseRotateForward,
5683         Vcanna_fn_BaseRotateBackward, Vcanna_fn_Touroku, Vcanna_fn_HexMode,
5684         Vcanna_fn_BushuMode, Vcanna_fn_KigouMode, Vcanna_fn_Mark,
5685         Vcanna_fn_TemporalMode, Vcanna_key_Nfer, Vcanna_key_Xfer,
5686         Vcanna_key_Up, Vcanna_key_Left, Vcanna_key_Right, Vcanna_key_Down,
5687         Vcanna_key_Insert, Vcanna_key_Rollup, Vcanna_key_Rolldown,
5688         Vcanna_key_Home, Vcanna_key_Help, Vcanna_key_KP_Key,
5689         Vcanna_key_Shift_Nfer, Vcanna_key_Shift_Xfer, Vcanna_key_Shift_Up,
5690         Vcanna_key_Shift_Left, Vcanna_key_Shift_Right, Vcanna_key_Shift_Down,
5691         Vcanna_key_Cntrl_Nfer, Vcanna_key_Cntrl_Xfer, Vcanna_key_Cntrl_Up,
5692         Vcanna_key_Cntrl_Left, Vcanna_key_Cntrl_Right, Vcanna_key_Cntrl_Down
5693
5694 1998-07-16  Jan Vroonhof  <vroonhof@math.ethz.ch>
5695
5696         * event-Xt.c (x_to_emacs_keysym): Return nil for modifier keysyms.
5697         (x_event_to_emacs_event): Let x_to_emacs_keysym check for modifier
5698         keys thus no longer considering all keysyms on a key.
5699
5700 1998-07-19  SL Baur  <steve@altair.xemacs.org>
5701
5702         * XEmacs 21.2-beta1 is released.
5703
5704 1998-07-12  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
5705
5706         * eldap.c (Fldap_search_internal): When converting the list of
5707         attributes to search Copy the final 0 from Lisp strings to C
5708         strings.
5709         Check base, not Vldap_default_base as a a string
5710
5711 1998-07-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
5712
5713         * nt.c: Remove Vstdio_str; already defined in console-stream.c.
5714
5715         * unexnt.c: Unconditionally define bss_start and bss_size, and
5716           ensure that they don't go in the .bss section.
5717
5718 1998-07-17  Olivier Galibert  <galibert@pobox.com>
5719
5720         * glyphs-x.c (convert_EImage_to_XImage):  Fix previous patch (conv
5721         byte order is dependant  of  the local  byte order).
5722         From Takeshi Hagiwara <hagiwara@ie.niigata-u.ac.jp>
5723
5724 1998-07-18  SL Baur  <steve@altair.xemacs.org>
5725
5726         * glyphs-msw.c (mswindows_resource_normalize): Qresource ->
5727         Qmswindows_resource.
5728         From Jonathan Harris <jhar@tardis.ed.ac.uk>
5729
5730 1998-07-12  SL Baur  <steve@altair.xemacs.org>
5731
5732         * general.c (syms_of_general): Add defsymbol for Qresource.
5733
5734         * glyphs-msw.c (vars_of_glyphs_mswindows): Rename Qresource to
5735         Qmswindows_resource.
5736         (TopLevel): Rename 'resource image format to 'mswindows_resource.
5737         (mswindows_resource_validate): Rename.
5738         (mswindows_resource_normalize): Rename.
5739         (mswindows_resource_possible_dest_types): Rename.
5740         (mswindows_resource_instantiate): Rename.
5741         (image_instantiator_format_create_glyphs_mswindows): Replace
5742         `resource' with `mswindows.resource'.
5743
5744         * XEmacs 21.0-pre5 is released.
5745
5746 1998-07-10  SL Baur  <steve@altair.xemacs.org>
5747
5748         * mule-wnnfns.c (Fwnn_open): Correctly trap on misdefined Wnn
5749         server type in environment.
5750         Use alloca-ed strings instead of tiny fixed size ones.
5751
5752 1998-07-09  SL Baur  <steve@altair.xemacs.org>
5753
5754         * XEmacs 21.0-pre4 is released.
5755
5756 1998-07-01  James N. Potts  <jnpotts@plutonium.net>
5757
5758         * fileio.c: (expand_file_name): under win32: Don't treat names
5759         as UNC names if a drive letter has been specified.  If a drive
5760         has been specified, strip out extra directory-seperators that
5761         reportedly cause problems under Win95.
5762
5763 1998-07-09  Jonathan Harris  <jhar@tardis.ed.ac.uk>
5764
5765         * windowsnt.h: Define DUMP_SEPARATE_SECTION when building with
5766           MSVC >= 5.0. Put emacs init and zero-init data in a special
5767           section of the executable when this is defined.
5768
5769         * unexnt.c, ntheap.h:
5770           Removed unused find_section() and get_section_size().
5771
5772         * unexnt.c:
5773           Fix up the executable's checksum after dumping otherwise the
5774           profiler complains.
5775           When DUMP_SEPARATE_SECTION is defined, don't need to dump
5776           zero-init data separately from init data. Dump emacs data
5777           into a special section of the executable.
5778           When DUMP_SEPARATE_SECTION not defined, dump .bss up to
5779           my_ebss instead of up to the end of bss.
5780
5781 1998-07-09  Jonathan Harris  <jhar@tardis.ed.ac.uk>
5782
5783         * filelock.c: Removed Vconfigure_lock_directory - already
5784           defined in emacs.c.
5785
5786         * frame-msw.c: Removed Qinitially_unmapped and Qpopup - already
5787           defined in frame.c and general.c respectively.
5788
5789         * glyphs-msw.c: Removed Qresource - already defined in
5790           general.c.
5791
5792 1998-07-05  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
5793
5794         * eldap.c (Fldap_search_internal): Docstring fixes
5795
5796 1998-07-04  Jonathan Harris  <jhar@tardis.ed.ac.uk>
5797
5798         * nt.c (init_environment): Removed unused PRELOAD_WINSOCK,
5799           EMACSDOC and TERM variables. Added EMACSDEBUGPATHS,
5800           EMACSPACKAGEPATH and INFOPATH variables.
5801           Removed unused get_emacs_configuration function.
5802
5803         * s/windowsnt.h: Don't define EMACS_CONFIGURATION here because
5804           it is now defined at build-time by the makefile.
5805
5806 1998-07-01  James N. Potts  <jnpotts@plutonium.net>
5807
5808         * fileio.c: (expand_file_name): under win32: Don't treat names as
5809         UNC names if a drive letter has been specified.  If a drive has
5810         been specified, strip out extra directory-seperators that
5811         reportedly cause problems under Win95.
5812
5813 1998-07-05  Andy Piper  <andyp@parallax.co.uk>
5814
5815         * faces.c (complex_vars_of_faces): for the gui-element face don't
5816         fallback to the default face, instead provide reasonable default
5817         fallbacks that were previously hardcoded elsewhere.
5818
5819 1998-07-06  Olivier Galibert  <galibert@pobox.com>
5820
5821         * glyphs-x.c (convert_EImage_to_XImage): Fix pixel writing problem
5822         when the X server endianness is different than the client's one.
5823
5824 1998-06-29  Kyle Jones  <kyle_jones@wonderworks.com>
5825
5826         * eval.c (run_hook_with_args_in_buffer): Check
5827           default (non-buffer-local) value of hook for
5828           nil before treating it as a function.  Don't initialize
5829           the `globals' variable twice.
5830
5831 1998-06-24  Jonathan Harris  <jhar@tardis.ed.ac.uk>
5832
5833         * fileio.c: Don't do directory seperator canonicalisation in
5834           substitute-in-file-name because we don't know that the
5835           filename refers to a local file.
5836
5837 1998-06-24  Adrian Aichner  <aichner@ecf.teradyne.com>
5838
5839         * process-nt.c (nt_create_process): Try appending the standard
5840           executable file extensions to the filename if none supplied.
5841
5842 1998-06-29  SL Baur  <steve@altair.xemacs.org>
5843
5844         * fileio.c (Fsubstitute_in_file_name): Enable double slash notation
5845         for cygwin32.
5846         From Keisuke Mori <ksk@ntts.com>
5847
5848 1998-06-24  Andy Piper  <andyp@parallax.co.uk>
5849
5850         * toolbar-msw.c (mswindows_output_toolbar): only enable masked
5851         images if we have masks. This handles the xbm case (have masks)
5852         and avoids overuse of resources in the xpm case (generally no masks).
5853         Don't output small toolbars.
5854
5855 1998-06-29  Kyle Jones  <kyle_jones@wonderworks.com>
5856
5857         * eval.c (run_hook_with_args_in_buffer): Don't treat
5858           the default value of a buffer local hook as a list of
5859           hooks unless it is both a cons and the car of that cons
5860           is not Qlambda.
5861
5862 1998-06-29  SL Baur  <steve@altair.xemacs.org>
5863
5864         * extents.c: Email address for Ben Wing is ben@xemacs.org.
5865         * process-unix.c: Ditto.
5866         * mule-coding.h: Ditto.
5867         * mule-coding.c: Ditto.
5868         * mule-charset.c: Ditto.
5869         * mule-charset.h: Ditto.
5870         * file-coding.c: Ditto.
5871         * file-coding.h: Ditto.
5872
5873 1998-06-22  Jonathan Harris  <jhar@tardis.ed.ac.uk>
5874
5875         * event-msw.c: Guard against recursion when freeing
5876           FRAME_MSWINDOWS_TARGET_RECT struture in WM_SIZE processing.
5877
5878         * frame-msw.c: Don't set WS_VISIBLE attribute on first frame.
5879           Call ShowWindow twice in init_frame_3 to get round runemacs
5880           weirdness.
5881
5882 1998-06-27  Hrvoje Niksic  <hniksic@srce.hr>
5883
5884         * scrollbar.c (vertical_scrollbar_changed_in_window): Ditto.
5885
5886         * winslots.h: Rename.
5887
5888         * window.c (specifier_vars_of_window): Renamed
5889         vertical-divider-draggable-p to vertical-divider-always-visible-p,
5890         as suggested by Ben Wing.
5891         (specifier_vars_of_window): Fix docstrings.
5892
5893 1998-06-22  Michael Sperber [Mr. Preprocessor]  <sperber@informatik.uni-tuebingen.de>
5894
5895         * unexaix.c: Line number information works correctly again.
5896
5897 1998-06-22  Olivier Galibert  <galibert@pobox.com>
5898
5899         * emacs.c (__sti__iflPNGFile_c___): Added. See comment. Cry.
5900
5901 1998-06-21  Martin Buchholz  <martin@xemacs.org>
5902
5903         * editfns.c (get_home_directory): ANSIfy.
5904         XEmacs is compilable under C *and* C++.
5905         It's XEmacs, not Xemacs!
5906
5907 1998-06-19  Jonathan Harris  <jhar@tardis.ed.ac.uk>
5908
5909         * console-msw.h: added a list of fonts to device data.
5910
5911         * device-msw.c: enumerate list of available fonts in
5912           mswindows_init_device. Free list in mswindows_delete_device.
5913
5914         * objects-msw.c: Added helper function match_font used by
5915           mswindows_initialize_font_instance and mswindows_list_fonts.
5916           Allow a charset to be specified in a font string, even if
5917           previous fields havn't been specified.
5918
5919 1998-06-23  Greg Klanderman  <greg@alphatech.com>
5920
5921         * indent.c (column_at_point): column cache bugfix.
5922         Set last_known_column_point to the buffer position for
5923         which the column was requested, not buffer's point.
5924
5925         * redisplay.c (decode_mode_spec): for current-column, show
5926         window's point's column, not buffer's point's column.
5927
5928 1998-06-23  Andy Piper  <andyp@parallax.co.uk>
5929
5930         * menubar-msw.c (mswindows_handle_wm_command): use
5931         enqueue_misc_user event rather than
5932         mswindows_enqueue_msic_user_event to fix customize problems. Add some
5933         checks that X does.
5934
5935         * console-msw.h: declare mswindows_enqueue_magic_event.
5936
5937         * event-msw.c (mswindows_enqueue_magic_event): make global.
5938
5939 1998-06-24  Hrvoje Niksic  <hniksic@srce.hr>
5940
5941         * line-number.c (LINE_NUMBER_FAR): Reverted to 16384.
5942         (buffer_line_number): Use EMACS_INT_MAX instead of random LOTS.
5943         (add_position_to_cache): Use EMACS_INT instead of int.
5944
5945 1998-06-21  Olivier Galibert  <galibert@pobox.com>
5946
5947         * lisp-disunion.h (XMARKBIT): Have XMARKBIT return something
5948         suitable for an int used as a boolean (btw, C sucks.).
5949
5950 1998-06-18  Andy Piper  <andyp@parallax.co.uk>
5951
5952         * object-msw.c: remove warnings.
5953
5954         * device-msw.c: #define wrongly named cygwin structure elements.
5955
5956         * s/cygwin32.h: define DEMI_BOLD
5957
5958 1998-06-19  Jonathan Harris  <jhar@tardis.ed.ac.uk>
5959
5960         * redisplay-msw.c: new function mswindows_apply_face_effects.
5961           This is called by output_string and output_cursor to display
5962           underline and strikeout on faces.
5963
5964 1998-06-19  Jonathan Harris  <jhar@tardis.ed.ac.uk>
5965
5966         * console-msw.h: added a list of fonts to device data.
5967
5968         * device-msw.c: enumerate list of available fonts in
5969           mswindows_init_device. Free list in mswindows_delete_device.
5970
5971         * objects-msw.c: Added helper function match_font used by
5972           mswindows_initialize_font_instance and mswindows_list_fonts.
5973           Allow a charset to be specified in a font string, even if
5974           previous fields havn't been specified.
5975
5976 1998-06-15  Jonathan Harris  <jhar@tardis.ed.ac.uk>
5977
5978         * objects-msw.c:
5979           Removed compilation warnings from mswindows_string_to_color.
5980           mswindows_list_fonts returns a more general bogus font.
5981           New lisp-visible function mswindows-color-list.
5982
5983 1998-06-19  David Bush <david.bush@adn.alcatel.com>
5984
5985         * editfns.c (Fuser_login_name): Modify to user new function
5986         user_login_name.
5987         (user_login_name): C only function to avoid Lisp object overhead
5988         Returns "unknown" instead of nil in Cygwin environment
5989
5990         * fileio.c (Fexpand_file_name): Treat "~" and "~user" as
5991         equivalent for current user in Cygwin environment. Use new
5992         function user_login_name to get username.
5993
5994         * lisp.h: Declare user_login_name
5995
5996 1998-06-18  Michael Sperber [Mr. Preprocessor]  <sperber@informatik.uni-tuebingen.de>
5997
5998         * unexaix.c (make_hdr): Fixed bias computations so debugging info
5999         works again.
6000         Some other insignificant nitpicks.
6001
6002 1998-06-18  Andy Piper  <andyp@parallax.co.uk>
6003
6004         * toolbar-msw.c (mswindows_output_toolbar): specify ILC_MASK when
6005         creating the image list and make sure he bk color is transparent.
6006
6007 1998-06-18  Jan Vroonhof  <vroonhof@math.ethz.ch>
6008
6009         * event-Xt.c (emacs_Xt_remove_timeout): Also remove timeout from
6010         completed_timeouts. The timer could have expired.
6011
6012 1998-06-17  Andy Piper  <andyp@parallax.co.uk>
6013
6014         * console-msw.h: move XEMACS_RECT_WH inside frame
6015         parameters. define macors to access it.
6016
6017         * frame-msw.c (mswindows_init_frame_1): use new target_rect
6018         parameter to intialise desired sizing. (mswindows_init_frame_2):
6019         enable and size the frame to something sensible when we get
6020         here. (mswindows_set_frame_properites): use new
6021         mswindows_size_frame_internal function and size frame if frame
6022         parameters not just if init is finished - WM_SIZE happens too
6023         early for some specs. (mswindows_size_frame_internal): new
6024         function abstracted from mswindows_set_frame_properties.
6025         (Vmswindows_use_system_frame_size_defaults):
6026         new variable controls whether to allow the system to pick frame
6027         size defaults, defaults to nil.
6028
6029         * event-msw.c: in WM_SIZE use mswindows_size_frame_internal rather
6030         than duplicated code.
6031
6032 1998-06-15  Colin Rafferty <colin@xemacs.org>
6033
6034         * Makefile.in.in: Made EXTW_LINK expand properly.
6035
6036 1998-06-12  Martin Buchholz  <martin@xemacs.org>
6037
6038         * redisplay.c (vars_of_redisplay): default value of
6039         column-number-start-at-one should be NIL!
6040
6041 1998-06-11  Martin Buchholz  <martin@xemacs.org>
6042
6043         * casefiddle.c:
6044         (upcase-initials "fooBar") ==> "FooBar" instead of "Foobar"
6045
6046 1998-06-05  Hrvoje Niksic  <hniksic@srce.hr>
6047
6048         * eldap.c (Fldap_search_internal): Use build_ext_string instead of
6049         build_string to avoid crashes under Mule.
6050
6051 1998-06-13  Andy Piper  <andyp@parallax.co.uk>
6052
6053         * ntplay.c (play_sound_data_1): don't delete the sound data until
6054         the next sound is played and the previous one finished.
6055
6056 1998-06-10  Samuel Mikes  <smikes@alumni.hmc.edu>
6057
6058         * fileio.c (directory-sep-char): Escape backslashes.
6059
6060 1998-06-10  Hrvoje Niksic  <hniksic@srce.hr>
6061
6062         * event-stream.c: Fix docstring reference.
6063
6064 1998-06-12  Hrvoje Niksic  <hniksic@srce.hr>
6065
6066         * alloc.c (make_float): Remove useless initialization of `next'
6067         field.
6068         (make_pure_float): Ditto.
6069
6070         * lisp.h (struct Lisp_Float): Rename `next' to `__unused__next'.
6071
6072 1998-06-08  Kirill M. Katsnelson  <kkm@kis.ru>
6073
6074         * fileio.c (Fmake_directory_internal): Remove conditionals
6075         on WINDOWSNT when calling mkdir.
6076
6077         * ntproc.c: Deleted the following unused functions:
6078         register_child, reap_subprocess, sys_wait.
6079
6080         * nt.c (sys_rename): Ifzeroed this implementation.
6081         Deleted the following unused functions:
6082         sys_access, sys_chdir, sys_chmod, sys_creat, sys_link, sys_mkdir,
6083         sys_mktemp, sys_rmdir, sys_unlink, sys_close, sys_dup, sys_dup2,
6084         sys_read, sys_write.
6085         Merger sys_fopen and sys_open with sysdep.c implementation.
6086
6087         * sysdep.c: Removed MS-DOS code.
6088         (sys_rename): Deal with Microsoft rename weirdness.
6089         (sys_open): Implemented for Windows.
6090         (sys_fopen): Ditto.
6091         (sys_mkdir): Ditto.
6092
6093 1998-06-08  Kirill M. Katsnelson  <kkm@kis.ru>
6094
6095         * buffer.c (complex_vars_of_buffer): Removed %t description from
6096         the docstring.
6097
6098 1998-06-04  Rick Rankin  <Rick_Rankin-P15254@email.mot.com>
6099
6100         * scrollbar-msw.c: initialize the cbSize element of the
6101         SCROLLINFO struct before calling SetScrollInfo. WinNT seems
6102         to ignore the value of cbSize, but Win95 (and I presume Win98)
6103         appear to want it set to sizeof(SCROLLINFO).
6104
6105 1998-06-04  Kirill M. Katsnelson  <kkm@kis.ru>
6106
6107         * event-stream.c: Defined Qcancel_mode_internal.
6108         (syms_of_event_stream): defsymbol'ed it.
6109
6110         * events.h: Externed it.
6111
6112         * event-msw.c (mswindows_wnd_proc, WM_CANCELMODE): Added this handler.
6113
6114 1998-06-04  Oliver Graf <ograf@fga.de>
6115
6116         * frame-x.c (x_cde_destroy_callback): free the data
6117         (cde-start-drag-internal) corrected root position, 21.1 needs this
6118         hardcoded in Button events
6119         (offix-start-drag-internal) corrected root position
6120
6121 1998-06-03  Kirill M. Katsnelson  <kkm@kis.ru>
6122
6123         * process-nt.c (signal_cannot_launch): Use signal_simple_error()
6124         instead of error().
6125
6126 1998-06-03  Kirill M. Katsnelson  <kkm@kis.ru>
6127
6128         * dialog-msw.c (button_width): Removed `inline' from the function
6129         declaration.
6130
6131 1998-06-03  Rick Rankin  <Rick_Rankin-P15254@email.mot.com>
6132
6133         * frame-msw.c: add WS_VISIBLE flag to the first frame created.
6134         Note that adding this flag to subsequent frames causes problems.
6135
6136 1998-06-03  Gunnar Evermann  <Gunnar.Evermann@nats.informatik.uni-hamburg.de>
6137
6138         * glyphs-eimage.c (png_instantiate) move 'struct
6139         png_memory_storage tbr' out of nested block to avoid dangling
6140         reference
6141
6142 1998-06-02  Andy Piper  <andyp@parallax.co.uk>
6143
6144         * faces.h:
6145         * faces.c: rename 3d-object -> gui-element. add toolbar face which
6146         inherits from gui-element.
6147
6148         * glyphs-msw.c: use DIBitmaps for xbm bitmaps to be consistent
6149         with existing code, generate masks correctly.
6150
6151 1998-06-03  P. E. Jareth Hein  <jareth@camelot-soft.com>
6152
6153         * glyphs-eimage.c: Changed included header for gifs to use
6154         Gifreader instead of giflib.
6155
6156         * glyphs-x.c: removed the image-related functions that were
6157         moved into glyphs-eimage.
6158
6159 1998-06-02  David Bush  <david.bush@adnb.alcatel.com>
6160
6161         * glyphs.c (bitmap_to_lisp_data) Define XFree to be free
6162         if built without X Windows support.
6163
6164 1998-06-02  Hrvoje Niksic  <hniksic@srce.hr>
6165
6166         * fns.c (Fconcat): Synch docstring with new reality.
6167
6168 1998-06-03  SL Baur  <steve@altair.xemacs.org>
6169
6170         * frame.c: Remove reference to msdos.h (which is going away).
6171         Suggested by Hrvoje Niksic and Kirill Katsnelson.
6172
6173 1998-06-02  P. E. Jareth Hein  <jareth@camelot-soft.com>
6174
6175         * glyphs-eimage.c (jpeg_instantiate): Fix handling of
6176         grayscale images/
6177
6178
6179 1998-05-30  Kirill M. Katsnelson  <kkm@kis.ru>
6180
6181         * events.h: Fixed commentary about misc-user scrollbar events.
6182
6183         * scrollbar-x.c (x_update_vertical_scrollbar_callback): Use frame
6184         object as an event channel, instead of window object.
6185         (x_update_horizontal_scrollbar_callback): Ditto.
6186
6187 1998-05-29  Andy Piper  <andyp@parallax.co.uk>
6188
6189         * ntplay.c (play_sound_data_1) new function. convert alloca data
6190         to malloc if necessary.
6191         (play_sound_file): if the file is not in our path then convert to
6192         data and play.
6193
6194 1998-06-01  SL Baur  <steve@altair.xemacs.org>
6195
6196         * mule-mcpath.c (mc_chdir): Reverse parameters in call to memcpy.
6197         * msdos.c (Frecent_doskeys): Ditto.
6198
6199         * unexalpha.c (unexec): Reverse parameters in call to memcpy.
6200         Suggested by Reggie Perry <perry@zso.dec.com>
6201
6202         * buffer.h: Eliminate size in declaration.
6203
6204 1998-06-01  Olivier Galibert  <galibert@pobox.com>
6205
6206         * unexelfsgi.c (unexec): Cleanup n/nn and remove useless kludge.
6207
6208 1998-06-01  Kirill M. Katsnelson  <kkm@kis.ru>
6209
6210         * gui.c (gui_item_init): Changed the default value for config member
6211         from Qunbound to Qnil.
6212
6213 1998-06-01  Greg Klanderman  <greg@alphatech.com>
6214
6215         * indent.c (vmotion_pixels): Don't #define abs().
6216
6217 1998-05-30  Kirill M. Katsnelson  <kkm@kis.ru>
6218
6219         * s/windowsnt.h: Defined popen and pclose to be _popen and _pclose
6220         respectively.
6221
6222 1998-05-30  Andy Piper  <andyp@parallax.co.uk>
6223
6224         * glyphs.h: add xbm declarations.
6225
6226         * console.h: add xbm_instantiate_method device method.
6227
6228         * glyphs.c (check_valid_xbm_inline) (xbm_validate)
6229         (bitmap_to_lisp_data) (xbm_mask_file_munging) (xbm_normalize)
6230         (xbm_possible_dest_types): moved here from glyphs-x.c. use
6231         locate_pixmap_file device method and read_bitmap_data_from_file
6232         instead of XmuReadBitmapDataFromFile.
6233         (xbm_instatntiate): make a device method.
6234
6235         * glyphs-x.c: see glyphs.c changes. (read_bitmap_data_from_file)
6236         new function that just calls XmuReadBitmapDataFromFile.
6237         (x_xbm_instatntiate): device method from xbm_instantiate.
6238
6239         * glyphs-msw.c (read_bitmap_data) (NextInt)
6240         (read_bitmap_data_from_file): new functions copied from Xmu
6241         sources.
6242         (xbm_create_bitmap_from_data) from Ben <ben@666.com> convert
6243         inline data to an mswindows bitmap.
6244         (init_image_instance_from_xbm_inline) (xbm_instantiate_1)
6245         (mswindows_xbm_instantiate): mswindows-ized versions of the X
6246         functions.
6247
6248 1998-05-30  Kirill M. Katsnelson  <kkm@kis.ru>
6249
6250         * window.c (specifier_vars_of_window): Renamed `has_modeline-p' to
6251         `modeline-visible-p'.
6252         Declared specifier lisp variables at the beginning oh the file
6253         as static.
6254
6255         * procimpl.h (struct process_methods): Changed semantics of
6256         create_process method so it accepts lisp strings instead of
6257         char pointers.
6258
6259         * process.c (Fstart_process_internal): Moved building of
6260         unix style argv from here to process-unix.c, ...
6261
6262         * process-unix.c (unix_create_process): ... right here.
6263
6264         * process-nt.c (nt_create_process): Changed this function to
6265         support new semantics, so avoided a GC problem.
6266
6267         * events.c (Fmake_event): Document misc-user events properties.
6268         (Fmake_event): Do not allow arbitrary objects for channel property
6269         of misc-user events.
6270         (Fmake_event): Change misc-user event validation: it is function
6271         which is required, not button.
6272
6273         * event-msw.c (mswindows_user_event_p): Recognize misc user events as
6274         user events.
6275         (mswindows_enqueue_misc_user_event): Added function.
6276         (mswindows_bump_queue): Removed function.
6277         (mswindows_enqueue_magic_event): Support NULL HWND parameter.
6278         (mswindows_wnd_proc, WM_CLOSE): Use mswindows_enqueue_misc_user_event().
6279         (mswindows_wnd_proc, WM_EXITSIZEMOVE): Ditto.
6280         (emacs_mswindows_handle_magic_event): Handle XM_BUMPQUEUE, by doing
6281         really nothing, which is my personal favorite thing.
6282
6283         * console-msw.h: Removed prototype for mswindows_bump_queue().
6284         Added prototype for mswindows_enqueue_misc_user_event().
6285
6286         * menubar-msw.c (mswindows_handle_wm_command): Use
6287         mswindows_enqueue_misc_user_event().
6288
6289         * toolbar-msw.c (mswindows_handle_toolbar_wm_command): Ditto.
6290
6291         * dialog-msw.c (dialog_proc): Ditto.
6292
6293         * scrollbar-msw.c (mswindows_handle_scrollbar_event): Ditto.
6294          (mswindows_handle_scrollbar_event): Use frame, not window, for misc
6295         user events channel.
6296
6297 1998-05-29  Greg Klanderman  <greg@alphatech.com>
6298
6299         * window.c (Fwindow_displayed_text_pixel_height): was relying on
6300         incorrect semantics of vmotion_pixels which has been fixed.  don't
6301         use it anymore as it can't easily be used.
6302
6303         * indent.c (vmotion_pixels): fix off by one bug moving up.  also
6304         the motion was reported incorrectly if you tried to go past end of
6305         buffer.
6306
6307 1998-05-30  Kirill M. Katsnelson  <kkm@kis.ru>
6308
6309         * toolbar.h: Removed misleading commentary, as Martin suggested.
6310
6311 1998-05-30  Kirill M. Katsnelson  <kkm@kis.ru>
6312
6313         * lisp.h: Extern Qactivate_menubar_hook.
6314
6315         * menubar-msw.c (unsafe_handle_wm_initmenu_1): Pass correct value to
6316         run_hook ().
6317
6318 1998-05-29  Andy Piper  <andyp@parallax.co.uk>
6319
6320         * glyphs-msw.c: use BPLINE macro.
6321
6322         * select-msw.c (mswindows-selection-exists-p)
6323         (mswindows-delete-selection): doc string fixes.
6324
6325         * toolbar-msw.c (mswindows_output_toolbar): make disabled buttons
6326         unpressable. warning elimination.
6327
6328 1998-05-28  Martin Buchholz  <martin@xemacs.org>
6329
6330         * alloc.c (dbg_constants):
6331         * dbxrc:
6332         * gdbinit:
6333         Remove toolbar_data debugging code, since that lrecord has
6334         also been removed.
6335
6336 Wed May 27, 1998  Darryl Okahata  <darrylo@sr.hp.com>
6337
6338         * alloc.c: zap cached value of (user-home-directory), so that
6339           it's not undumped.
6340
6341         * buffer.c: From init_buffer(), separated out code that
6342           determined the initial directory for the *scratch* buffer, and
6343           put them into a function called "init_initial_directory()".
6344           The initial directory is now available as a global "char *"
6345           called initial_directory.
6346
6347         * buffer.h: Added extern entries for initial_directory[] and
6348           init_initial_directory().
6349
6350         * editfns.c: added new elisp function "user-home-directory",
6351         which basically returns getenv("HOME"), but attempts to use
6352         other values if $HOME isn't set.This may have to be tweaked in
6353         the future as, under Unix, "/" is used if $HOME isn't set (this
6354         probably should be set to the current directory).  To support
6355         this, a new C function, "get_home_directory()", now exists,
6356         which returns the "home directory", as a "char *" string.
6357
6358         * emacs.c: Rearrange NT initialization order so that
6359         environment/registry variables will be properly entered into
6360         Vprocess_enviroment.
6361
6362         * fileio.c: replaced egetenv("HOME") with calls to the new
6363           get_home_directory().
6364
6365         * lisp.h: Added function prototypes for uncache_home_directory()
6366           and get_home_directory(), along with lisp prototypes for
6367           Fuser_home_directory() and friends.
6368
6369         * nt.c: replaced getenv("HOME") with calls to the new
6370           get_home_directory().
6371
6372         * sysfile.h: for WINDOWSNT, #include <direct.h>, to suppress
6373           warnings about getcwd(), etc. not having prototypes.
6374
6375 1998-05-28  Kirill M. Katsnelson  <kkm@kis.ru>
6376
6377         * process-nt.c (send_signal): Emulate SIGHUP.
6378         (validate_signal_number): Ditto.
6379
6380         * event-msw.c (mswindows_wnd_proc, WM_KEYDOWN): Unconditionally
6381         remove MOD_SHIFT from ASCII characters.
6382         (mswindows_wnd_proc, WM_KEYDOWN): Do not activate the menubar when
6383         F10 is pressed.
6384
6385 1998-05-24  Oliver Graf <ograf@fga.de>
6386
6387         * frame-x.c (cde-start-drag-internal): added filename and multi-
6388         data transfers
6389         (x_cde_convert_callback) dito
6390
6391 1998-05-26  Oliver Graf <ograf@fga.de>
6392
6393         * frame-x.c: include event-mod.h also with CDE
6394         (x_cde_convert_callback) made the thing working
6395         (cde-start-drag-internal) also debugging
6396
6397 1998-05-25  Hans Guenter Weigand  <hgweigand@wiesbaden.netsurf.de>
6398
6399         * m/sparc.h:
6400         * getloadavg.c:
6401         * malloc.c:
6402         * unexec.c:
6403         * mem-limits.h:
6404           - add __OpenBSD__ where __NetBSD__ was found.
6405           - TODO: replace platform-specific conditional compilation by
6406             feature tests in configure.in.
6407
6408 1998-05-15  Greg Klanderman  <greg@alphatech.com>
6409
6410         * window.c (Fwindow_displayed_text_pixel_height): New function.
6411         (syms_of_window): DEFSUBR it.
6412
6413         * indent.c (Fvertical_motion_pixels): New function - request
6414         movement in pixels.
6415         (vmotion_pixels): helper.
6416         (syms_of_indent): DEFSUBR.
6417         * lisp.h: declaration for vmotion_pixels().
6418
6419         * indent.c (Fvertical_motion): Add optional third argument PIXELS,
6420         to request returning motion in pixels.
6421         (Fvertical_motion_pixels): Remove, functionality merged into
6422         Fvertical_motion.
6423         * window.c (window_scroll): call Fvertical_motion with 3 arguments.
6424         (Fmove_to_window_line): ditto.
6425         * lisp.h: Change declaration for Fvertical_motion.
6426
6427         * window.c: rename window-text-pixel-{height,width,edges} to
6428         window-text-area-pixel-*.
6429
6430 1998-05-26  Gunnar Evermann  <Gunnar.Evermann@nats.informatik.uni-hamburg.de>
6431
6432         * tooltalk.c (vars_of_tooltalk) added staticpro for
6433         Tooltalk_Message_plist_str and Tooltalk_Pattern_plist_str
6434
6435 1998-05-27  Andy Piper  <andyp@parallax.co.uk>
6436
6437         * faces.c: create a new 3d_object_face, make modeline and
6438         vertical_divider faces fallback to this rather than the default.
6439
6440 1998-05-21  Andy Piper  <andyp@parallax.co.uk>
6441
6442         * s/cygwin32.h: define charsets for cygwin.
6443
6444 1998-05-25  Andy Piper  <andyp@parallax.co.uk>
6445
6446         * toolbar-msw.c (mswindows_output_toolbar): fix up button sizes
6447         and coordinates. resize bitmaps if we have already settled on a
6448         different size.
6449
6450         * glyphs-msw.c (xpm_to_eimage): add ';' for mswindows compiler.
6451
6452 1998-05-25  Hrvoje Niksic  <hniksic@srce.hr>
6453
6454         * toolbar-msw.c (mswindows_handle_toolbar_wm_command): Ditto.
6455
6456         * menubar-msw.c (mswindows_handle_wm_command): Ditto.
6457
6458         * gui.h: Ditto.
6459
6460         * gui-x.c (popup_selection_callback): Ditto.
6461
6462         * dialog-msw.c (dialog_proc): get_callback -> get_gui_callback.
6463
6464         * gui.c (get_callback): Renamed to get_gui_callback.
6465
6466 1998-05-17  Martin Buchholz  <martin@xemacs.org>
6467
6468         * glyphs.h: order rearrangement.
6469
6470         * device-tty.c (tty_asynch_device_change): Warning suppression.
6471         * device-x.c (x_device_system_metrics): Warning suppression.
6472         Make Doc strings consistent with coding standards.
6473
6474 1998-05-24  Martin Buchholz  <martin@xemacs.org>
6475
6476         * general.c: multiple definition of `Qicon'.  general.c seems
6477           like a good home for Qicon.
6478
6479 1998-05-20  Kirill M. Katsnelson  <kkm@kis.ru>
6480
6481         * This patch is to fix compilation warnings under Windows.
6482
6483         * s/windowsnt.h: Encapsulate getpid with sys_getpid.
6484         Added prototypes for FSF inherited functions, with which XEmacs is
6485         sprinkled thoroughly.
6486         Removed some #if 0 code. Bracketed some more definitions, probably
6487         related to Visual C versions prior to 4 (we do not support them).
6488
6489         * sysfloat.h (logb): Finally, get logb() prototyped.
6490
6491         * sysfile.h: Added Windows specific includes.
6492         Removed old Windows specific code bracketed with #if 0.
6493
6494         * sysdep.h: Added prototype for xrealpath().
6495
6496         * sysdep.c (sys_getpid): Added function, to support '95 negative pids.
6497
6498         * symsinit.h: Added prototypes for syms_of_dired_mswindows,
6499         vars_of_dired_mswindows and init_ntproc (Grrr).
6500
6501         * realpath.c: Added Windows specific include files.
6502         (xrealpath): Conditionalized declaration of some auto variables on
6503         S_IFLNK, to avoid warnings.
6504
6505         * ntproc.c: Disabled some compiler warnings. This file is going to
6506         die, so I have not cleaned it up much.
6507         (set_process_dir): Const parameter.
6508         (Fwin32_short_file_name): Down CHECK_* macros to one argument.
6509         (Fwin32_long_file_name): Ditto.
6510         (Fwin32_set_process_priority): Ditto. Why didn't I remove these
6511         three functions?
6512
6513         * nt.h: Added prototypes for set_process_dir and convert_time.
6514
6515         * nt.c: More include files.
6516         (getpwnam): Consted char* argument.
6517         (get_emacs_configuration): Const return value.
6518         (opendir): Const argument.
6519         (stat): Casted converstion long->short.
6520         (stat): Removed ad hoc and questionable support for non-MSC compile.
6521         (sys_pipe): Removed unused auto variable.
6522         (_sys_read_ahead): Removed calls to DebPrint.
6523         (sys_read): Ditto, in 2 places.
6524         (term_ntproc): Added unused int parameter to signal handler, to
6525         avoid a warning when compiling a call to signal().
6526         (msw_sigset): Properly return old signandler or NULL instead of void.
6527
6528         * floatfns.c (Flogb): Casted arguments to unary minus to signed.
6529
6530         * gmalloc.c (morecore): Ditto.
6531         (_free_internal): Ditto.
6532
6533         * lread.c (parse_integer): Ditto.
6534
6535         * dired-msw.c: Added several include files.
6536
6537         * cmdloop.c (Fcommand_loop_1): Added Microsoft C to the Big List
6538         of Compilers to Shut Up.
6539
6540         * callproc.c: Added #includes to suppress warnings under Windows.
6541         (init_callproc): Removed #if0'ed code and unused variables.
6542
6543 1998-05-25  Andy Piper  <andyp@parallax.co.uk>
6544
6545         * device-msw.c (mswindows_device_system_metrics): do planes in a
6546         way consistent with X.
6547
6548         * glyphs-msw.c (mswindows_initialize_image_instance_mask): don't
6549         use SetPixel, use DIBits functions.
6550         (xpm_to_eimage): frob colors more closely like xpm deos.
6551
6552         * toolbar-msw.c: only resize bitmaps when shrinking. Adjust look
6553         to be closer to X version.
6554
6555         * event-msw.c: use tooltip string directly.
6556
6557         * redisplay-msw.c: reinstate Kirill's bg pixmap change.
6558
6559         * objects-msw.c: frob rgb colors that only Kyle uses.
6560
6561         * dialog-msw.c (button_width): INLINE -> inline.
6562
6563 1998-05-23  SL Baur  <steve@altair.xemacs.org>
6564
6565         * getloadavg.c (getloadavg): Fix typo.
6566
6567 1998-05-23  Kirill M. Katsnelson  <kkm@kis.ru>
6568
6569         * objects-msw.c (mswindows_initialize_font_instance): Added support
6570         for font character sets.
6571         Replaced 'XXX' with '####' in comments throughout the file.
6572
6573 1998-05-23  Kirill M. Katsnelson  <kkm@kis.ru>
6574
6575         * emacs.c (main_1): Added calls to vars_of_dialog_mswindows() and
6576         console_type_create_dialog_mswindows(), to initialize Windows dialog
6577         support.
6578
6579         * symsinit.h: Prototyped the above functions.
6580
6581         * dialog-x.c (x_popup_dialog_box): Moved dialog descriptor consistency
6582         checks to dialog.c...
6583
6584         * dialog.c (Fpopup_dialog_box): ...right here. Added more checks: a
6585         device must support dialog boxes, and the descriptor must supply at
6586         least one button.
6587
6588         * dialog-msw.c: New file, dialogs for Windows.
6589
6590 1998-05-21  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
6591
6592         * eldap.c (ldap_search_unwind): Return Qnil instead of nothing
6593         (Fldap_search_internal): Removed unused variable `err'
6594
6595         * eldap.h: Moved Lisp_LDAP declaration here instead of using a
6596         forward declaration
6597
6598 1998-05-17  Martin Buchholz  <martin@xemacs.org>
6599
6600         * eldap.h: eldap.[ch] should never be used unless HAVE_LDAP is
6601         defined.  Therefore there is no need to handle the case when
6602         HAVE_LDAP is undefined.  Similarily, there is no reason to have
6603         any code wrapped within `#ifdef emacs', since this code is only
6604         useful within an emacs.  This simplifies the code significantly.
6605
6606         * inline.c: Include eldap.h only if HAVE_LDAP.
6607         * inline.c: Don't bother including TT_C_H_PATH, since tooltalk.h
6608         already does that.
6609
6610 1998-05-21  Kirill M. Katsnelson  <kkm@kis.ru>
6611
6612         * unexnt.c (copy_executable_and_dump_data_section): Suppress
6613         printing dump stats when building without DEBUG_XEMACS.
6614         (dump_bss_and_heap): Ditto.
6615
6616 1998-05-21  Andy Piper  <andyp@parallax.co.uk>
6617
6618         * gnuclient.c: don't suppress window system if there is no display
6619         and we are running under mswindows. send 'mswindows device type if
6620         we are in this situation.
6621
6622 1998-05-20  Andy Piper  <andyp@parallax.co.uk>
6623
6624         * general.c:
6625         * lisp.h: Qbitmap, Qcursor, Qicon moved here from glyphs-msw.c.
6626
6627         * glyphs-msw.c: change cursor imgae type name to resource. Fix
6628         some nits.
6629
6630 1998-05-20  Kirill M. Katsnelson  <kkm@kis.ru>
6631
6632         * EmacsFrame.c (Xt_StringToScrollBarPlacement):  Added support for
6633         {top,bottom}-{left,right} values in addition to
6634         {top,bottom}_{left,right}.
6635
6636 1998-05-18  Hrvoje Niksic  <hniksic@srce.hr>
6637
6638         * fileio.c (Fmake_temp_name): Remove unreached code.
6639
6640         * process-nt.c (validate_signal_number): Use
6641         signal_simple_error().
6642
6643 1998-05-19  Martin Buchholz  <martin@xemacs.org>
6644
6645         * unexhp9k800.c:
6646         * sound.c (vars_of_sound):
6647         * sysdep.c (reset_sigio_on_device):
6648         * window.c (window_bottom_gutter_height):
6649         unexhp9k800.c:258: warning: implicit declaration of function
6650         `calculate_checksum'
6651         sound.c:604: warning: implicit declaration of function `vars_of_hpplay'
6652         sysdep.c:1012: warning: unused variable `owner'
6653         window.c:993: warning: `window_right_toolbar_width' defined but not used
6654
6655 1998-05-19  Andy Piper  <andyp@parallax.co.uk>
6656
6657         * glyphs-msw.c (mswindows_create_resized_mask)
6658         (mswindows_create_resized_bitmap): new funnctions split out from
6659         mswindows_resize_dibitmap_instance.
6660
6661         * glyphs-msw.h: declare new resize functions.
6662
6663         * toolbar-msw.c (mswindows_output_toolbar): use new bitmap resize
6664         functions so that the original bitmaps are preserved.
6665
6666         * sheap.c: fixup static heap exhausted error to avoid FAQs.
6667
6668         * redisplay-msw.c (mswindows_output_blank): fixup brush from bg
6669         color if we are trying to output 0 depth bg pixmap.
6670
6671         * scrollbar-msw.c: warning elimination.
6672
6673 1998-05-18  Martin Buchholz  <martin@xemacs.org>
6674
6675         * frame-x.c (x_update_frame_external_traits): Start preprocessor
6676         directives in column 1.
6677
6678         * search.c (skip_chars): Avoid using xzero with arrays, since some
6679         compilers get confused by the construct &array.
6680
6681 1998-05-18  Kirill M. Katsnelson  <kkm@kis.ru>
6682
6683         * objects-msw.h:
6684         * objects-msw.c: Changed the charset value for a new font from
6685         "don't care" to "ansi".
6686
6687         * glyphs-msw.c (convert_EImage_to_DIBitmap): Warnings fix.
6688
6689 1998-05-18  Kirill M. Katsnelson  <kkm@kis.ru>
6690
6691         * event-msw.c (mswindows_wnd_proc, WM_KEYDOWN): Do not clear shift
6692         modifier on control chars.
6693         Use IsCharAlpha() instead of isaplha().
6694
6695 1998-05-19  Kazuyuki IENAGA <ienaga@jsys.co.jp>
6696
6697         * s/freebsd.h: FreeBSD 2.2.6 now supports setlocale(LC_ALL, "").
6698
6699 1998-05-18  Kirill M. Katsnelson  <kkm@kis.ru>
6700
6701         * objects-msw.c (mswindows_initialize_font_instance): Use ANSI
6702         charset when creating font.
6703         (mswindows_initialize_color_instance): Do not create brush along
6704         with a color.
6705         (mswindows_finalize_color_instance): Do not delete it then.
6706
6707         * objects-msw.h (struct mswindows_color_instance_data): Removed
6708         brush slot, and corresponding accessor macro.
6709
6710 1998-05-18  Kirill M. Katsnelson  <kkm@kis.ru>
6711
6712         * toolbar.c: Removed toolbar_data lrecord implementation.
6713         (mark_frame_toolbar_buttons_dirty): Replase usage of toolbar_data
6714         with toolbar_buttons (via FRAME_TOOLBAR_BUTTONS).
6715         (compute_frame_toolbar_buttons): Ditto.
6716         (CHECK_TOOLBAR): Ditto.
6717         (set_frame_toolbar): Removed allocation of toolbar_data lrecord.
6718         (update_frame_toolbars): Do not check for changed buffer
6719         here. Toolbar information is provided by cached specs in
6720         windows. The check for buffer is eliminated becuase toolbars are
6721         marked changed in set_frame_selected_window() in frame.c
6722         Added check for changed toolbars geometry.
6723         (compute_frame_toolbars_data): Removed unused second parameter;
6724         Adjusted callers of this static function throughout the file.
6725         (init_frame_toolbars): Initialize current_toolbar_size.
6726         (update_frame_toolbars): Use DEVICE_SUPPORTS_TOOLBARS_P instead of
6727         what is its current expansion, for clarity.
6728         (init_frame_toolbars): Ditto.
6729         (init_device_toolbars): Ditto.
6730         (init_global_toolbars): Ditto.
6731
6732         * toolbar.h: Removed definition of toolbar_data lrecord.
6733         Added accessor macros FRAME_TOOLBAR_BUTTONS and
6734         FRAME_CURRENT_TOOLBAR_SIZE.
6735         Added macro DEVICE_SUPPORTS_TOOLBARS_P.
6736
6737         * toolbar-x.c (x_output_toolbar): The same change as in
6738         toolbar-msw.c
6739         (x_output_toolbar): Ditto.
6740         (x_redraw_exposed_toolbar): Ditto.
6741
6742         * toolbar-msw.c (mswindows_output_toolbar): Retrieve current
6743         buttons from toolbar_buttons using FRAME_TOOLBAR_BUTTONS macro.
6744         (mswindows_output_toolbar): Ditto.
6745         (mswindows_output_toolbar): Ditto.
6746
6747         * frame.c (mark_frame): Removed marking of arrays, according to
6748         frameslots.h change.
6749         (nuke_all_frame_slots): Ditto.
6750         (set_frame_selected_window): Mark toolbars changed when
6751         last_nonminibuf_window changes.
6752
6753         * frame.h (struct frame): Moved some slots to frameslots.h.
6754         Added current_toolbar_size array.
6755         Changed references from toolbar_data to toolbar_buttons in macros
6756         FRAME_RAW_THEORETICAL_TOOLBAR_VISIBLE,
6757         FRAME_RAW_THEORETICAL_TOOLBAR_SIZE and
6758         FRAME_RAW_THEORETICAL_TOOLBAR_BORDER_WIDTH.
6759
6760         * frameslots.h: Added macro MARKED_SLOT_ARRAY a la winslots.h
6761         Moved arrays of lisp objects here from frame.h: toolbar_size,
6762         toolbar_visible_p, toolbar_border_width.
6763         Removed toolbar_data slot and added toolbar_buttons.
6764
6765 1998-05-17  Kirill M. Katsnelson  <kkm@kis.ru>
6766
6767         * symsinit.h: Externed syms_of_process_nt()
6768
6769         * emacs.c (main_1): Call syms_of_process_nt()
6770
6771         * process-nt.c: Quote process arguments by a call to Lisp function
6772         `nt-quote-process-args'.
6773         (syms_of_process_nt): New function.
6774         (nt_send_process): Flush data stream after each write, to avoid
6775         leaving buffered data.
6776         (nt_send_process): When blocked on process output, wait for
6777         process to slurp more for progressively increasing time intervals.
6778
6779 1998-05-17  Martin Buchholz  <martin@xemacs.org>
6780
6781         * window.c (have_undivided_common_edge): Make file-local function
6782         static.
6783         (map_windows): Return 0 if all map functions successful.
6784         Fix typos.
6785
6786         * winslots.h: Use unlikely names for local variables in macros to
6787         avoid shadowing warnings.
6788
6789 1998-05-17  Andy Piper  <andyp@parallax.co.uk>
6790
6791         * toolbar-msw.c (mswindows_output_toolbar): hash on toolbar width
6792         so that we re-output if the toolbar size has changed.
6793
6794 1998-05-17  Michael Sperber [Mr. Preprocessor]  <sperber@informatik.uni-tuebingen.de>
6795
6796         * s/aix4-2.h (ALIGN_DATA_RELOC): Undefined to support new unexaix.c.
6797
6798         * s/aix3-1.h (ALIGN_DATA_RELOC): Defined to support new unexaix.c.
6799
6800         * unexaix.c: Massive cleanup and support of AIX 4.2 (and hopefully
6801         greater).
6802
6803 1998-05-16  Kirill M. Katsnelson  <kkm@kis.ru>
6804
6805         * glyphs-msw.c: Defined OEMRESOURCE before including windows.h to
6806         get bitmap manifest constants defined.
6807
6808         * console-msw.h: Include system files in angle brackets, not in
6809         quotes.
6810
6811         * window.c (specifier_vars_of_window): Fixed a typo in
6812         `vertical-divider-line-width' docstirng.
6813
6814 1998-05-16  Olivier Galibert  <galibert@pobox.com>
6815
6816         * line-number.c (delete_invalidate_line_number_cache): Use an
6817         EMACS_INT.
6818         (buffer_line_number): Remove dangerous, plain wrong when using
6819         64bits emacs ints, cast.
6820
6821         * insdel.c (buffer_delete_range): Use an EMACS_INT.
6822
6823         * cmds.c (Fforward_line): Use EMACS_INTs.
6824
6825         * search.c (bi_scan_buffer): Change to use EMACS_INTs.
6826         (scan_buffer): Ditto.
6827         (bi_find_next_newline_no_quit): Remove useless cast.
6828         (find_next_newline_no_quit): Ditto.
6829         (find_next_newline): Ditto.
6830         (find_before_next_newline): Use an EMACS_INT.
6831
6832         * lisp.h: Change scan_buffer to pass EMACS_INTs.
6833
6834 1998-05-16  Hrvoje Niksic  <hniksic@srce.hr>
6835
6836         * menubar-msw.c (mswindows_handle_wm_command): Ditto.
6837
6838         * toolbar-msw.c (mswindows_handle_toolbar_wm_command): Ditto.
6839
6840         * gui-x.c (popup_selection_callback): Use it.
6841
6842         * gui.h (get_callback): Declare it.
6843
6844         * gui.c (get_callback): New function.
6845
6846 1998-05-15  SL Baur  <steve@altair.xemacs.org>
6847
6848         * window.c (have_undivided_common_edge): Guard scrollbar specific
6849         stuff.
6850         (window_needs_vertical_divider_1): Ditto.
6851
6852 1998-05-16  Hrvoje Niksic  <hniksic@srce.hr>
6853
6854         * emacs.c (decode_path): Eliminate compiler warning.
6855         (Fdecode_path): Renamed to Fsplit_path.
6856         (Fsplit_string_by_char): New function.
6857
6858 1998-05-14  Damon Lipparelli  <lipp@primus.com>
6859
6860         * winslots.h: close comment
6861
6862 1998-05-16  Kirill M. Katsnelson  <kkm@kis.ru>
6863
6864         * callproc.c: Removed declared and unused variable Qbuffer_file_type.
6865
6866         * bufslots.h: Removed buffer_file_type slot.
6867
6868         * buffer.c (complex_vars_of_buffer): Removed buffer_file_type from
6869         buffer local flags.
6870         (complex_vars_of_buffer): Removed buffer-file-type variable and
6871         its default reference.
6872
6873 1998-05-15  Kirill M. Katsnelson  <kkm@kis.ru>
6874
6875         * faces.c (complex_vars_of_faces): Defined
6876         Vvertical_divider_face.
6877         (vars_of_faces): Staticpro it.
6878
6879         * faces.h: Externed Vvertical_divider_face.
6880
6881         * redisplay-x.c (x_output_vertical_divider): Use
6882         Vvertical_divider_face to draw the divider instead of modeline
6883         face.
6884
6885         * redisplay-msw.c (mswindows_output_vertical_divider): Draw
6886         divider face using Vvertical_divider_face background.
6887         Fix drawing spacing gaps around the divider.
6888
6889 1998-05-14  Didier Verna  <verna@inf.enst.fr>
6890
6891         * redisplay-x.c (x_output_vertical_divider): removed hard-wired
6892         values for the vertical divider line width and spacing. Use the
6893         cached values from the window structure instead.
6894         (x_divider_width): ditto.
6895
6896         * window.c (specifier_vars_of_window): new specifiers:
6897         vertical-divier -line-width and -spacing.
6898         (vertical_divider_global_width_changed): formerly known as
6899         vertical_divider_shadow_thickness_changed.
6900
6901         * winslots.h: new slots: vertical_specifier _line_width and
6902         _spacing. Plus corrected a comment typo.
6903
6904 1998-05-15  Kirill M. Katsnelson  <kkm@kis.ru>
6905
6906         * window.h: Declared window_divider_width().
6907
6908         * console-stream.c (stream_divider_width): Removed method.
6909         (console_type_create_stream): And declaration for it.
6910
6911         * redisplay.c (pixel_to_glyph_translation): Use
6912         window_divider_width() instead of divider_width redisplay method.
6913         (pixel_to_glyph_translation): Fix top divider edge calculation
6914         when scrollbar is on top.
6915
6916         * window.c (window_divider_width): New function, an outphaser for
6917         divider_width redisplay method.
6918         (window_right_gutter_width): Use it.
6919         (specifier_vars_of_window): For vertical-divider-{spacing,line-width}
6920         specifiers, set fallback values differently on TTYs, and document
6921         the behavior of these on TTYs in the docstrings.
6922
6923         * scrollbar.c (update_scrollbar_instance): Use
6924         window_divider_width() instead of divider_width redisplay method.
6925
6926         * console.h (struct console_methods): Removed divider_width_method.
6927
6928         * redisplay-tty.c (tty_divider_width): Removed device method.
6929         (console_type_create_redisplay_tty): Removed definition for it.
6930         (tty_output_vertical_divider): Respect the value returned by
6931         window_divider_width thus divider line width specification.
6932
6933         * redisplay-msw.c (mswindows_divider_width): Removed device method.
6934         (console_type_create_redisplay_mswindows): Removed definition for it.
6935         (mswinodws_output_vertical_divider): Respect the value returned by
6936         window_divider_width thus divider line width specification.
6937
6938 1998-05-15  Andy Piper  <andyp@parallax.co.uk>
6939
6940         * toolbar-msw.c: guess toolbar frame size a bit more accurately.
6941
6942 1998-05-15  Andy Piper  <andyp@parallax.co.uk>
6943
6944         * glyphs-msw.c: resource loading implementation.
6945         (cursor_normalize): new function.
6946         (cursor_validate): ditto.
6947         (cursor_instantiate): ditto.
6948         (cursor_name_to_resource): ditto.
6949         (cursor_possible_dest_types): ditto.
6950         (check_valid_symbol): ditto.
6951         (check_valid_string_or_int): ditto.
6952
6953 1998-05-14  Martin Buchholz  <martin@xemacs.org>
6954
6955         * sysdep.c (tty_init_sys_modes_on_device): Treat VSUSP just like
6956         VINTR and VQUIT.
6957
6958         * process-unix.c (process_signal_char): Use VSUSP instead of
6959         non-standard VSWTCH.  Always prefer VSUSP to VSWTCH.
6960
6961 1998-05-14  Kirill M. Katsnelson  <kkm@kis.ru>
6962
6963         * specifier.c (specifier_instance): Change locale precedence of
6964         instantiation so window locale has higher priority than buffer
6965         locale.
6966         (Fspecifier_instance): Reflect this in docstring.
6967         (Fadd_spec_list_to_specifier): Ditto.
6968         (Fadd_spec_to_specifier): Ditto.
6969         (Fremove_specifier): Ditto.
6970
6971 1998-05-15  Kirill M. Katsnelson  <kkm@kis.ru>
6972
6973         ** Dialog separation into a device method from Andy Piper
6974
6975         * emacs.c (main_1): Call console_type_create_dialog_x().
6976
6977         * dialog-x.c (x_popup_dialog_box): Old Fpopup_dialog_box converted
6978         into this device method.
6979         (console_type_create_dialog_x): New function.
6980
6981         * dialog.c (Fpopup_dialog_box): New function.
6982         (syms_of_dialog): Defsubr it.
6983
6984         * console.h (struct console_methods): Declared
6985         popup_dialog_box_method().
6986
6987         * symsinit.h: Defined console_type_create_dialog_{x,mswindows}
6988
6989 1998-05-14  Oliver Graf <ograf@fga.de>
6990
6991         * dragdrop.c (vars_of_dragdrop): dragdrop-protocols created
6992         * frame-x.c (x_cde_transfer_callback): checked for merge errors
6993
6994 1998-05-13  Oliver Graf <ograf@fga.de>
6995
6996         * dragdrop.c (vars_of_dragdrop): provide dragdrop-api
6997
6998 1998-05-15  Kirill M. Katsnelson  <kkm@kis.ru>
6999
7000         * console.h (device_metrics): Removed dbcs, input-method-editor
7001         and right-to-left metrics.
7002
7003         * device.c (Fdevice_system_metric): Ditto.
7004         (Fdevice_system_metrics): Ditto.
7005         (syms_of_device): Ditto.
7006         (Fdevice_system_metric): Swapped DEVICE and METRIC parameters back
7007         again.
7008
7009 1998-05-14  Hrvoje Niksic  <hniksic@srce.hr>
7010
7011         * line-number.h (mark_line_number_cache): Remove unused
7012         declaration.
7013
7014         * line-number.c (LINE_NUMBER_FAR): Increase to 32768.
7015         (get_nearest_line_number): Simplify.
7016         (add_position_to_cache): Make the old marker point nowhere.
7017
7018 1998-05-14  Kirill M. Katsnelson  <kkm@kis.ru>
7019
7020         ** Renamed window-divider-map => vertical-divider-map
7021         and event-over-divider-p => event-over-vertical-divider-p,
7022         in the following files/functions:
7023         * events.h:
7024         * events.c (Fevent_over_divider_p):
7025         * keymap.c (get_relevant_keymaps):
7026         (vars_of_keymap):
7027
7028         * redisplay.h (OVER_V_DIVIDER): Renamed so from OVER_DIVIDER.
7029
7030         * redisplay.c (pixel_to_glyph_translation): Use OVER_V_DIVIDER.
7031
7032 1998-05-14  Kirill M. Katsnelson  <kkm@kis.ru>
7033
7034         * window.c (vertical_divider_changed_in_window): Renamed so.
7035         (specifier_vars_of_window): Defined Vvertical_divider_draggable_p.
7036         (window_needs_vertical_divider_1): Decide whether we need it based
7037         on the value of the above specifier. If separators are unwanted,
7038         put them only if there's no scrollbar between this window and its
7039         right neighbor.
7040         (have_undivided_common_edge): New function, helper for the above.
7041         (window_needs_vertical_divider): Return either a cached value,
7042         or clauclate and cache one.
7043         (invalidate_vertical_divider_cache_in_window): Implemented.
7044         (map_windows): Changed return type to int, return the value from
7045         MAPFUN.
7046
7047         * window.h: Prototype invalidate_vertical_divider_cache_in_window.
7048         (struct window): Added need_vertical_divider_p and
7049         need_vertical_divider_valid_p.
7050
7051         * winslots.h: Added vertical_divider_draggable_p slot.
7052
7053         * scrollbar.c (vertical_scrollbar_changed_in_window): Implemented.
7054         (specifier_vars_of_scrollbar): Used it in all vertical specifiers.
7055
7056         * frame.c (invalidate_vertical_divider_cache_in_frame): New function.
7057
7058         * frame.h (MARK_FRAME_WINDOWS_STRUCTURE_CHANGED): Call
7059         invalidate_vertical_divider_cache_in_frame().
7060         Prototype it.
7061
7062 1998-05-14  Andy Piper  <andyp@parallax.co.uk>
7063
7064         * toolbar-msw.c: provide correct parameters to TB_SETROWS.
7065
7066         * glyphs-msw.c (mswindows_initialize_image_instance_mask): size
7067         masks correctly and don't select 0.
7068
7069 1998-05-14  Kirill M. Katsnelson  <kkm@kis.ru>
7070
7071         * winslots.h: New file, declaration of some struct window and
7072         struct saved_window members.
7073
7074         * window.h (struct window): Include it, with required preprocessor
7075         magic.
7076
7077         * window.c (mark_window): Ditto.
7078         (allocate_window): Ditto.
7079         (struct saved_window): Ditto.
7080         (mark_window_config): Ditto.
7081         (saved_window_equal): Ditto.
7082         (Fset_window_configuration): Ditto.
7083
7084 1998-05-14  Kirill M. Katsnelson  <kkm@kis.ru>
7085
7086         * redisplay-msw.c (mswindows_output_vertical_divider): Syntax fix.
7087
7088 1998-05-12  Didier Verna  <verna@inf.enst.fr>
7089
7090         * redisplay-x.c (x_output_vertical_divider): draw shadows around
7091         the divider line. The shadow thickness is currently
7092         hard-wired. This will probably be turned into a specifier soon.
7093
7094 1998-05-12  Didier Verna  <verna@inf.enst.fr>
7095
7096         * console.h (struct console_methods): the divider_width console
7097         method now requires a struct window * argument.
7098
7099         * redisplay-x.c (x_divider_width): ditto. Plus remove
7100         X_DIVIDER_WIDTH, X_DIVIDER_SHADOW_THICKNESS.
7101         (x_output_vertical_divider): give a depressed look when the shadow
7102         thickness is negative.
7103
7104         * console-stream.c (stream_divider_width): pass a struct window *
7105         argument.
7106
7107         * redisplay-tty.c (tty_divider_width): ditto.
7108
7109         * window.c (window_right_gutter_width): totdi.
7110
7111         * redisplay.c (generate_modeline): ittod.
7112
7113         * scrollbar.c (update_scrollbar_instance): ttido.
7114
7115         * redisplay-msw.c (mswindows_divider_width): ottid.
7116         WARNING: this enables to compile, but the feature is not functional.
7117
7118         * window.h (struct window): new field
7119         vertical_divider_shadow_thickness.
7120
7121         * window.c (specifier_vars_of_window): new specifier
7122         vertical-divider-shadow-thickness.
7123         (vertical_divider_shadow_thickness_changed): new function to
7124         inform redisplay that the window has changed.
7125         (mark_window): handle new field vertical_divider_shadow_thickness
7126         from struct window.
7127         (allocate_window): ditto.
7128         (saved_window_equal): toddi.
7129         (Fset_window_configuration): totid.
7130         (save_window_save): ttdio.
7131         (struct saved_window): new field vertical_divider_shadow_thickness.
7132
7133 1998-05-14  Kirill M. Katsnelson  <kkm@kis.ru>
7134
7135         * device-msw.c (mswindows_device_system_metrics): Support a deluge
7136         of metrics.
7137
7138 1998-05-12  Oliver Graf <ograf@fga.de>
7139
7140         * frame-x.c (x_cde_transfer_callback): fixed for the new protocol
7141         * event-Xt.c (x_event_to_emacs_event): C++ compability
7142
7143 1998-05-14  Hrvoje Niksic  <hniksic@srce.hr>
7144
7145         * emacs.c (Fdecode_path): Default SEPCHAR to value of
7146         path-separator.
7147
7148 1998-05-14  Hrvoje Niksic  <hniksic@srce.hr>
7149
7150         * emacs.c (vars_of_emacs): Do it here; change the meaning of
7151         Vpath_separator.
7152
7153         * fileio.c (vars_of_fileio): Don't define Vpath_separator here.
7154
7155 1998-05-14  Hrvoje Niksic  <hniksic@srce.hr>
7156
7157         * emacs.c (decode_path_1): New function.
7158         (decode_path): Use it.
7159         (Fdecode_path): Renamed from Fdecode_path_internal; use
7160         decode_path_1.
7161
7162 1998-05-12  Hrvoje Niksic  <hniksic@srce.hr>
7163
7164         * macros.c (Fzap_last_kbd_macro_event): New function.
7165         (Fend_kbd_macro): Remove REMOVE_LAST kludge.
7166
7167 1998-05-10  Andy Piper  <andyp@parallax.co.uk>
7168
7169         * redisplay-msw.c (mswindows_output_dibitmap_region): make sure
7170         multiple bitmaps are output vertically as well as horizontally.
7171         * (mswindows_output_dibitmap): don't cope with bitmap boundaries
7172         crossing lines this is handled by
7173         mswindows_output_dibitmap_region.
7174
7175 1998-05-12  Martin Buchholz  <martin@xemacs.org>
7176
7177         * inline.c: Include eldap.h
7178
7179         * menubar-x.c (x_update_frame_menubar_internal):
7180         Remove: unused variable `container'
7181
7182 1998-05-11  Martin Buchholz  <martin@xemacs.org>
7183
7184         * s/aix4.h: Allow AIX 4.3 XEmacs to compile cleanly.
7185         Unfortunately, the resulting temacs still cannot dump.
7186
7187         * symbols.c (symbol_is_constant):
7188         (verify_ok_for_buffer_local):
7189         -Wswitch Warning suppression - add default case to switches.
7190
7191         * redisplay.c (decode_mode_spec): Remove unused variables,
7192         Replace Fcoding_system_property (codesys, Qmnemonic) with
7193         XCODING_SYSTEM_MNEMONIC (codesys);
7194         Fcoding_system_property is for users.
7195
7196         * buffer.c:
7197         * fileio.c:
7198         * lread.c:
7199         * xselect.c:
7200         Change empty docstrings into no doc strings at all.
7201         Fix bogus FSF-format docstrings.
7202
7203         * extents.c:
7204         Standardize docstrings.
7205
7206         * floatfns.c:
7207         Explain problems with matherr.
7208
7209         * glyphs.c:  make DEFUNs etags-readable, i.e. single-line
7210
7211         * syssignal.h:
7212         if BROKEN_SIGIO, then SIGIO wants to be undefined.
7213         if SIGIO and not SIGPOLL, SIGPOLL wants to be SIGIO.\
7214         Fix the weird resultant interaction (causes windows problems)
7215
7216         * gdbinit:
7217         * dbxrc:
7218         Take new EMACSBOOTSTRAPLOADPATH into account.
7219         Update documentation strings
7220
7221         * Makefile.in.in:
7222         - Adjust for luser's CDPATH being set to something weird.
7223         - Take into account bash 2.02's tendency to print the cwd when
7224           using CDPATH.  Always use `cd ./foo' instead of `cd foo'.
7225         - fix the run-temacs target to use $(DUMPENV)
7226         - fix the run-puremacs target to use $(DUMPENV)
7227         - fix the `depend' target to properly $(RM) the right files
7228         - Generate a better TAGS file for XEmacs' lisp code using
7229           hand-crafted regexps.
7230         - Use standard coding conventions for modules/Makefile.in
7231
7232 1998-05-12  Didier Verna  <verna@inf.enst.fr>
7233
7234         * redisplay.c: removed the scrolling modeline code that didn't
7235         make it for 21.0. To be continued ...
7236
7237 1998-05-13  Michael Sperber [Mr. Preprocessor]  <sperber@informatik.uni-tuebingen.de>
7238
7239         * emacs.c (Fdecode_path_internal): Removed bogus handling of nil
7240         and empty string inputs.
7241
7242 1998-05-12  Hrvoje Niksic  <hniksic@srce.hr>
7243
7244         * redisplay-x.c (x_output_vertical_divider): Fixed typo.
7245
7246 1998-05-10  Oliver Graf <ograf@fga.de>
7247
7248         * event-stream.c (enqueue_misc_user_event_pos): created
7249         * lisp.h (enqueue_misc_user_event_pos): prototype added
7250         * frame-x.c (x_cde_transfer_callback): debug code plus API changes
7251         * emacs.c: call vars_of_dragdrop
7252         * dragdrop.c (vars_of_dragdrop): provide dragdrop
7253
7254 1998-05-11  Oliver Graf <ograf@fga.de>
7255
7256         * frame-x.c (x_cde_transfer_callback): return at correct pos
7257         * event-Xt.c (x_event_to_emacs_event): changed format of drop
7258         object for MIME (see comment in dragdrop.c)
7259         * dragdrop.c: API change documented in comment
7260         removed provide of dragdrop [is provided by dragdrop.el]
7261
7262 1998-05-12  Kirill M. Katsnelson  <kkm@kis.ru>
7263
7264         * window.c (window_needs_vertical_divider): Enable vertical
7265         dividers for every non-rightmost window.
7266         (window_left_gutter_width): Left gutter consists of mythical
7267         toolbar and a virtual scrollbar.
7268         (window_right_gutter_width): The right one may have a divider
7269         also.
7270
7271         * scrollbar.c (update_scrollbar_instance): Position vertical
7272         scrollbar left to divider if the latter present.
7273
7274         * redisplay.h: Declared OVER_DIVIER constant.
7275
7276         * redisplay.c (pixel_to_glyph_translation): Handle OVER_DIVIDER
7277         case.
7278
7279         * redisplay-x.c (x_output_vertical_divider): Output divider along
7280         the right side of the window, down to window bottom. Swapped
7281         foreground and background colors so it is visible by default.
7282
7283         * redisplay-tty.c (tty_output_vertical_divider): Uncondiionally
7284         stick the divider to the right window side.
7285
7286         * redisplay-msw.c (mswindows_redisplay_deadbox_maybe): Fixed
7287         deadbox painting.
7288         (mswindows_divider_width): Ask system for user preferred value.
7289         (mswindows_output_vertical_divider): Always output the divider on
7290         the right side of a window, down to bottom.
7291
7292         * keymap.c (get_relevant_keymaps): Route mouse button events which
7293         happened over a window divider through window-divider-map.
7294         (Fkey_binding): Documented that in the docstring.
7295         Defined the variable Vwindow_divider_map.
7296
7297         * events.c (Fevent_over_divider_p): Added this function.
7298
7299         * events.h: EXFUNed it.
7300
7301 1998-05-12  Kirill M. Katsnelson  <kkm@kis.ru>
7302
7303         * toolbar.c (update_frame_toolbars): Re-layout frame windows if
7304         toolbar geometry is suspected to change.
7305
7306 1998-05-11  Jonathan Harris  <jhar@tardis.ed.ac.uk>
7307
7308         * src/device-msw.c
7309         * src/event-msw.c
7310         Condition dnd and dde code on HAVE_DRAGNDROP.
7311
7312 1998-05-11  Hrvoje Niksic  <hniksic@srce.hr>
7313
7314         * events.c (format_event_object): Print space as SPC etc.
7315
7316 1998-05-11  Hrvoje Niksic  <hniksic@srce.hr>
7317
7318         * print.c (print_internal): In the default case, abort() if
7319         ERROR_CHECK_TYPECHECK.
7320
7321         * fileio.c (Fmake_temp_name): Doc fix.
7322
7323 1998-05-10  Hrvoje Niksic  <hniksic@srce.hr>
7324
7325         * xgccache.c (describe_gc_cache): Define only if DEBUG_XEMACS.
7326
7327         * undo.c (Fprimitive_undo): Fixed typo.
7328
7329 1998-05-11  Hrvoje Niksic  <hniksic@srce.hr>
7330
7331         * fns.c (concat): Signal error on integer argument.
7332
7333 1998-05-10  Kirill M. Katsnelson  <kkm@kis.ru>
7334
7335         * console.h (device_metrics): Prefixed each constatnt with DM_
7336
7337         * device.c: (Fdevice_system_metric): Renamed so from plural form
7338         (metrics); Changed parameters order and added DEFAULT parameter;
7339         Unabbreviated some metric constants; Fixed and untabified doc string.
7340         (Fdevice_system_metrics): Added. Returns a plist of all provided
7341         metrics.
7342
7343         * device-msw.c (mswindows_device_system_metrics): Renamed
7344         device_metrics enum constants.
7345         Return Qunbound instead of Qnil.
7346
7347         * device-tty.c (tty_device_system_metrics): Ditto.
7348
7349         * device-x.c (x_device_system_metrics): Ditto.
7350
7351 1998-05-10  Andy Piper  <andyp@parallax.co.uk>
7352
7353         * redisplay-msw.c: implement background pixmaps (really!). Make
7354         sure bg color is transparent if we have bg pmaps.
7355         * (mswindows_output_string) (mswindows_clear_region): output bg
7356         pmap if required.
7357         * (mswindows_output_dibitmap_region): new function.
7358         * (mswindows_output_dibitmap): output offset pixmaps, blt masks in
7359         the bg color rather than transparently.
7360
7361         * toolbar-msw.c: use masks if they exist.
7362
7363         * glyphs-msw.c: set up masks correctly.
7364
7365         * event-msw.c: typedef SOCKET if cygwin and not msg select().
7366
7367 1998-05-10  Hrvoje Niksic  <hniksic@srce.hr>
7368
7369         * regex.c (re_match_2_internal): Check for quit.
7370
7371 1998-05-10  Hrvoje Niksic  <hniksic@srce.hr>
7372
7373         * frame.c (Ffocus_frame): New function.