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