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