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