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