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