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