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