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