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