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