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