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