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