(C2-664D): Separate U+820B.
[chise/xemacs-chise.git] / src / ChangeLog
1 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2
3         * chartab.c (XCHARSET_CELL_RANGE): New inline function.
4         (decode_char_table_range): Use `XCHARSET_CELL_RANGE'; accept 94^3,
5         94^4, 96^3, 96^4, 128^n and 256^n set.
6         (put_char_table): Use `XCHARSET_CELL_RANGE'.
7         (map_char_table): Likewise.
8
9 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
10
11         * chartab.c (get_char_table): Use `get_char_id_table' in XEmacs
12         UTF-2000.
13
14 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
15
16         * chartab.h (get_char_id_table): New inline function.
17
18         * chartab.c (get_char_id_table): Moved to chartab.h as an inline
19         function.
20
21 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
22
23         * chartab.h (decode_char_table_range): New prototype in XEmacs
24         UTF-2000.
25         (put_char_id_table): New inline function in XEmacs UTF-2000.
26
27         * chartab.c (put_char_id_table): Moved to chartab.h as an inline
28         function.
29         (decode_char_table_range): Delete static declaration in XEmacs
30         UTF-2000.
31
32 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
33
34         * chartab.c (put_char_id_table): Use `put_char_table'.
35
36 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
37
38         * chartab.c (map_over_uint8_byte_table): Delete argument `ccs'.
39         (map_over_uint16_byte_table): Likewise.
40         (map_over_byte_table): Likewise.
41         (map_char_table): Modify for `map_over_uint8_byte_table',
42         `map_over_uint16_byte_table' and `map_over_byte_table' in XEmacs
43         UTF-2000.
44
45 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
46
47         * chartab.c (struct map_char_table_for_charset_arg): New
48         structure.
49         (map_char_table_for_charset_fun): New function.
50         (map_char_table): Use `map_char_table' for encoding_table of
51         `range->charset'.
52
53 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
54
55         * chartab.c (map_char_table): Check a character is found in
56         range->charset instead of non default value is defined in
57         char-table when range is CHARTAB_RANGE_ROW.
58
59 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
60
61         * chartab.c (map_char_id_table): Deleted.
62         (Fmap_char_attribute): Use `map_char_table' instead of
63         `map_char_id_table'.
64
65 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
66
67         * syntax.h (SYNTAX_CODE_UNSAFE): New implementation in XEmacs
68         UTF-2000.
69         (update_syntax_table): Deleted in XEmacs UTF-2000.
70
71         * syntax.c (find_defun_start): Use `syntax_table' instead of
72         `mirror_syntax_table' in XEmacs UTF-2000.
73         (Fset_syntax_table): Don't use `mirror_syntax_table' in XEmacs
74         UTF-2000.
75         (Fchar_syntax): Use `syntax_table' instead of `mirror_table' in
76         XEmacs UTF-2000.
77         (Fmatching_paren): Likewise.
78         (scan_words): Use `syntax_table' instead of `mirror_syntax_table'
79         in XEmacs UTF-2000.
80         (find_start_of_comment): Likewise.
81         (find_end_of_comment): Likewise.
82         (Fforward_comment): Likewise.
83         (scan_lists): Likewise.
84         (char_quoted): Likewise.
85         (Fbackward_prefix_chars): Likewise.
86         (scan_sexps_forward): Likewise.
87         (update_just_this_syntax_table): Deleted in XEmacs UTF-2000.
88         (update_syntax_table): Likewise.
89
90         * search.c (skip_chars): Use `syntax_table' instead of
91         `mirror_syntax_table' in XEmacs UTF-2000.
92         (wordify): Likewise.
93         (Freplace_match): Likewise.
94
95         * regex.c (re_compile_fastmap): Use `syntax_table' instead of
96         `mirror_syntax_table' in XEmacs UTF-2000.
97         (WORDCHAR_P_UNSAFE): Likewise.
98         (re_match_2_internal): Likewise.
99
100         * font-lock.c (find_context): Use `buf->syntax_table' instead of
101         `buf->mirror_syntax_table' in XEmacs UTF-2000.
102
103         * cmds.c (internal_self_insert): Use `buf->syntax_table' instead
104         of `buf->mirror_syntax_table' in XEmacs UTF-2000.
105
106         * chartab.h (struct Lisp_Char_Table): Delete `mirror_table' in
107         XEmacs UTF-2000.
108
109         * chartab.c (mark_char_table): Don't mark `mirror_table' in XEmacs
110         UTF-2000.
111         (print_char_table): Print `default_value' in XEmacs UTF-2000.
112         (char_table_description): Delete `mirror_table' in XEmacs
113         UTF-2000.
114         (fill_char_table): Don't call `update_syntax_table' in XEmacs
115         UTF-2000.
116         (Fmake_char_table): Don't use `mirror_table' in XEmacs UTF-2000.
117         (Fcopy_char_table): Likewise.
118         (put_char_table): Don't call `update_syntax_table' in XEmacs
119         UTF-2000.
120
121         * casefiddle.c (casify_object): Use `buf->syntax_table' instead of
122         `buf->mirror_syntax_table' in XEmacs UTF-2000.
123         (casify_region_internal): Likewise.
124
125         * bufslots.h: Delete `mirror_syntax_table' in XEmacs UTF-2000.
126
127         * buffer.c (common_init_complex_vars_of_buffer): Don't use
128         `mirror_syntax_table' in XEmacs UTF-2000.
129
130         * abbrev.c (abbrev_match): Use `buf->syntax_table' instead of
131         `buf->mirror_syntax_table' in XEmacs UTF-2000.
132         (Fexpand_abbrev): Likewise.
133
134 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
135
136         * chartab.c (vars_of_chartab): Update `utf-2000-version' to 0.18.
137
138 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
139
140         * chartab.c (map_over_uint8_byte_table): Cancel temporary hack.
141         (map_over_uint16_byte_table): Likewise.
142         (map_over_byte_table): Likewise.
143         (get_char_id_table): Refer `cit->default_value'.
144         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
145         (map_char_id_table): Use `1 << 30' instead of `1 << 24' as number
146         of character-id ranges.
147         (mark_char_table): Mark `ct->default_value'.
148         (char_table_description): Add `default_value'.
149         (fill_char_table): Use `default_value'.
150         (decode_char_table_range): Decode `nil' as
151         `CHARTAB_RANGE_DEFAULT'.
152         (get_char_id_table): Refer `cit->default_value'.
153         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
154         (map_char_table): Support `CHARTAB_RANGE_DEFAULT'; cancel
155         temporary hack; check value of char-table is bound or not.
156         (slow_map_char_table_fun): Support `CHARTAB_RANGE_DEFAULT'.
157
158         * chartab.h (struct Lisp_Char_Table): Add new member
159         `default_value' in XEmacs UTF-2000.
160         (CHAR_TABLE_VALUE_UNSAFE): Use `default_value'.
161         (enum chartab_range_type): Add `CHARTAB_RANGE_DEFAULT' in XEmacs
162         UTF-2000.
163
164 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
165
166         * chartab.h (Lisp_Char_ID_Table): Deleted.
167
168         * chartab.c (char_table_description): Fix typo.
169         (Fmap_char_attribute): Use `Lisp_Char_Table' instead of
170         `Lisp_Char_ID_Table'.
171
172 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
173
174         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_TABLEP' instead of
175         `CHAR_ID_TABLE_P'.
176
177         * mule-charset.c (remove_char_ccs): Use `CHAR_TABLEP' instead of
178         `CHAR_ID_TABLE_P'.
179
180         * chartab.h (XCHAR_ID_TABLE): Deleted.
181         (XSETCHAR_ID_TABLE): Deleted.
182         (CHAR_ID_TABLE_P): Deleted.
183
184         * chartab.c (put_char_id_table): Use `CHAR_TABLEP' instead of
185         `CHAR_ID_TABLE_P'.
186         (Fget_composite_char): Likewise.
187         (put_char_table): Likewise.
188         (add_char_attribute_alist_mapper): Fixed.
189         (Fchar_attribute_alist): Use `CHAR_TABLEP' instead of
190         `CHAR_ID_TABLE_P'.
191         (Fget_char_attribute): Likewise.
192         (Fget_char_attribute): Likewise.
193         (Fmap_char_attribute): Likewise.
194
195         * char-ucs.h (charset_code_point): Use `CHAR_TABLEP' instead of
196         `CHAR_ID_TABLE_P'.
197         (encode_char_1): Likewise.
198
199 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
200
201         * text-coding.c (COMPOSE_ADD_CHAR): Use `XCHAR_TABLE' instead of
202         `XCHAR_ID_TABLE'.
203
204         * mule-charset.c (put_char_ccs_code_point): Use `XCHAR_TABLE'
205         instead of `XCHAR_ID_TABLE'.
206         (remove_char_ccs): Likewise.
207
208         * chartab.c (put_char_id_table): Use `XCHAR_TABLE' instead of
209         `XCHAR_ID_TABLE'.
210         (Fget_composite_char): Likewise.
211         (Fchar_variants): Likewise.
212         (put_char_table): Likewise.
213         (add_char_attribute_alist_mapper): Likewise.
214         (Fchar_attribute_alist): Likewise.
215         (Fget_char_attribute): Likewise.
216         (Fput_char_attribute): Likewise.
217         (Fmap_char_attribute): Likewise.
218         (Fmap_char_attribute): Likewise.
219
220         * char-ucs.h (charset_code_point): Use `XCHAR_TABLE' instead of
221         `XCHAR_ID_TABLE'.
222         (encode_char_1): Likewise.
223
224 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
225
226         * chartab.c (map_char_id_table): Use `Lisp_Char_Table' instead of
227         `Lisp_Char_ID_Table'.
228         (mark_char_id_table): Deleted.
229         (print_char_id_table): Likewise.
230         (char_id_table_equal): Likewise.
231         (char_id_table_hash): Likewise.
232         (char_id_table_description): Likewise.
233         (char_id_table): Likewise.
234         (make_char_id_table): Use `Fmake_char_table' and
235         `fill_char_table'.
236         (get_char_id_table): Use `Lisp_Char_Table' instead of
237         `Lisp_Char_ID_Table'.
238         (put_char_id_table): Likewise.
239         (Fput_char_attribute): Use `XCHAR_TABLE' instead of
240         `XCHAR_ID_TABLE'.
241         (Fremove_char_attribute): Likewise.
242         (syms_of_chartab): Don't define type `char-id-table'.
243
244         * chartab.h (struct Lisp_Char_ID_Table): Deleted.
245         (char_id_table): Likewise.
246         (GC_CHAR_ID_TABLE_P): Likewise.
247         (Lisp_Char_ID_Table): Use structure `Lisp_Char_Table'.
248         (XCHAR_ID_TABLE): Use `XCHAR_TABLE'.
249         (XSETCHAR_ID_TABLE): Use `XSETCHAR_TABLE'.
250         (CHAR_ID_TABLE_P): Use `CHAR_TABLEP'.
251         (get_char_id_table): Use `Lisp_Char_Table' instead of
252         `Lisp_Char_ID_Table'.
253         (put_char_id_table_0): Likewise.
254         (put_char_id_table): Likewise.
255
256 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
257
258         * chartab.h: Lisp_Byte_Table related codes are moved from
259         chartab.h.
260
261         * char-ucs.h: Move Lisp_Byte_Table related codes to chartab.h.
262
263 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
264
265         * chartab.h: Don't include "chartab.h".
266         (struct Lisp_Char_ID_Table): Moved from char-ucs.h.
267         (Lisp_Char_ID_Table): Likewise.
268         (char_id_table): Likewise.
269         (XCHAR_ID_TABLE): Likewise.
270         (XSETCHAR_ID_TABLE): Likewise.
271         (CHAR_ID_TABLE_P): Likewise.
272         (GC_CHAR_ID_TABLE_P): Likewise.
273         (get_char_id_table): Likewise.
274
275         * char-ucs.h: Include "chartab.h".
276         (struct Lisp_Char_ID_Table): Moved to chartab.h.
277         (Lisp_Char_ID_Table): Likewise.
278         (char_id_table): Likewise.
279         (XCHAR_ID_TABLE): Likewise.
280         (XSETCHAR_ID_TABLE): Likewise.
281         (CHAR_ID_TABLE_P): Likewise.
282         (GC_CHAR_ID_TABLE_P): Likewise.
283         (get_char_id_table): Likewise.
284
285 2001-09-01  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
286
287         * chartab.c (copy_uint8_byte_table): New function.
288         (copy_uint16_byte_table): New function.
289         (copy_byte_table): New function.
290         (map_over_uint8_byte_table): Modify to avoid huge numbers of
291         characters to call.
292         (map_over_uint16_byte_table): Likewise.
293         (map_over_byte_table): Likewise.
294         (get_byte_table): Move prototype to chartab.h.
295         (put_byte_table): Likewise.
296         (put_char_id_table_0): Moved to chartab.h.
297         (mark_char_table_entry): Don't define in XEmacs UTF-2000.
298         (char_table_entry_equal): Likewise.
299         (char_table_entry_hash): Likewise.
300         (char_table_entry_description): Likewise.
301         (char_table_entry): Likewise.
302         (make_char_table_entry): Likewise.
303         (copy_char_table_entry): Likewise.
304         (get_non_ascii_char_table_value): Likewise.
305         (map_over_charset_ascii): Likewise.
306         (map_over_charset_control_1): Likewise.
307         (map_over_charset_row): Likewise.
308         (map_over_other_charset): Likewise.
309         (mark_char_table): Modify for new structure in XEmacs UTF-2000.
310         (print_char_table): Likewise.
311         (char_table_equal): Likewise.
312         (char_table_hash): Likewise.
313         (char_table_description): Likewise.
314         (fill_char_table): Likewise.
315         (Fcopy_char_table): Likewise.
316         (get_char_table): Likewise.
317         (Fget_range_char_table): Likewise.
318         (put_char_table): Likewise.
319         (map_char_table): Likewise.
320         (syms_of_chartab): Don't define `char_table_entry' in XEmacs
321         UTF-2000.
322
323 2001-08-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
324
325         * cmds.c (vars_of_cmds): Use `put_char_id_table_0' for
326         `Vauto_fill_chars' in XEmacs UTF-2000.
327
328         * chartab.h (get_byte_table): New prototype [moved from
329         chartab.c].
330         (put_byte_table): Likewise [moved from chartab.c].
331         (put_char_id_table_0): New inline function [moved from chartab.c].
332         (struct Lisp_Char_Table_Entry): Don't define in XEmacs UTF-2000.
333         (Lisp_Char_Table_Entry): Likewise.
334         (char_table_entry): Likewise.
335         (XCHAR_TABLE_ENTRY): Likewise.
336         (XSETCHAR_TABLE_ENTRY): Likewise.
337         (CHAR_TABLE_ENTRYP): Likewise.
338         (CHECK_CHAR_TABLE_ENTRY): Likewise.
339         (NUM_ASCII_CHARS): Likewise.
340         (struct Lisp_Char_Table): New implementation in XEmacs UTF-2000.
341         (CHAR_TABLE_VALUE_UNSAFE): Likewise.
342
343 2001-08-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
344
345         * chartab.c (get_char_id_table): Change interface.
346         (put_char_id_table_0): New function.
347         (put_char_id_table): Change interface; new implementation.
348         (Fget_composite_char): Modify for interface change of
349         `get_char_id_table'.
350         (Fchar_variants): Likewise.
351         (add_char_attribute_alist_mapper): Likewise.
352         (Fchar_attribute_alist): Likewise.
353         (Fget_char_attribute): Likewise.
354         (Fput_char_attribute): Allow coded-charset or [CODED-CHARSET ROW]
355         as same as character as the first argument like `put-char-table';
356         modify for interface change of `put_char_id_table'.
357         (Fremove_char_attribute): Modify for interface change of
358         `put_char_id_table'.
359
360 2001-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
361
362         * text-coding.c: Sync up with XEmacs 21.2.41.
363         (COMPOSE_ADD_CHAR): Modify for interface change of
364         `get_char_id_table'.
365
366         * mule-charset.c (put_char_ccs_code_point): Modify for interface
367         change of `put_char_id_table'.
368         (remove_char_ccs): Likewise.
369
370         * chartab.h (put_char_id_table): Change interface.
371
372         * char-ucs.h (get_char_id_table): Change interface.
373         (charset_code_point): Modify for interface change of
374         `get_char_id_table'.
375         (encode_char_1): Likewise.
376
377 2001-08-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
378
379         * chartab.c (map_over_uint8_byte_table): Change arguments; add new
380         argument `ccs'.
381         (map_over_uint16_byte_table): Likewise.
382         (map_over_byte_table): Likewise.
383         (map_char_id_table): Add new argument `range' like
384         `map_char_table'.
385         (Fmap_char_attribute): Add new argument `range' like
386         `Fmap_char_table'.
387
388 2001-08-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
389
390         * chartab.c (map_over_uint8_byte_table): Change interface of
391         mapping function to use struct chartab_range instead of Emchar.
392         (map_over_uint16_byte_table): Likewise.
393         (map_over_byte_table): Likewise.
394         (map_char_id_table): Likewise.
395         (struct slow_map_char_id_table_arg): Deleted.
396         (slow_map_char_id_table_fun): Deleted.
397         (Fmap_char_attribute): Use struct `slow_map_char_table_arg' and
398         function `slow_map_char_table_fun' instead of struct
399         `slow_map_char_id_table_arg' and function
400         `slow_map_char_id_table_fun'.
401
402 2001-08-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
403
404         * mule-charset.c: Move char-it-table related codes to chartab.c.
405         (Vutf_2000_version): Moved to chartab.c.
406         (Fdefine_char): Likewise.
407         (Ffind_char): Likewise.
408         (syms_of_mule_charset): Move types `uint8-byte-table',
409         `uint16-byte-table', `byte-table' and `char-id-table' to
410         chartab.c; move functions `char_attribute_list,
411         `find_char_attribute_table, `char_attribute_alist,
412         `get_char_attribute, `put_char_attribute, `remove_char_attribute,
413         `map_char_attribute, `define_char, `find_char, `char_variants and
414         `get_composite_char to chartab.c; move symbols `=>ucs',
415         `->decomposition', `compat', `isolated', `initial', `medial',
416         `final', `vertical', `noBreak', `fraction', `super', `sub',
417         `circle', `square', `wide', `narrow', `small' and `font' to
418         chartab.c.
419         (vars_of_mule_charset): Move `utf-2000-version' to chartab.c; move
420         setting codes for `Vcharacter_composition_table' and
421         `Vcharacter_variant_table' to chartab.c.
422         (complex_vars_of_mule_charset): Move setting code for
423         `Vchar_attribute_hash_table' to chartab.c.
424
425         * chartab.h: Include "char-ucs.h" if --with-utf-2000 is specified.
426         (make_char_id_table): New prototype.
427         (put_char_id_table): Likewise.
428         (Fget_char_attribute): Likewise.
429
430         * chartab.c: Move char-id-table related code from mule-charset.c.
431         (Vutf_2000_version): Moved from mule-charset.c.
432
433         * char-ucs.h (Qucs): New external variable.
434         (put_char_ccs_code_point): New prototype.
435         (remove_char_ccs): Likewise.
436
437 2001-08-14  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
438
439         * mule-charset.c (Vcharset_ucs_jis): New variable.
440         (Qucs_jis): Likewise.
441         (syms_of_mule_charset): Add new symbol `ucs-jis'.
442         (complex_vars_of_mule_charset): Add new coded-charset `ucs-jis'.
443
444         * char-ucs.h (LEADING_BYTE_UCS_JIS): New macro.
445
446 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
447
448         * mule-charset.c (map_over_uint8_byte_table): New function.
449         (map_over_uint16_byte_table): Likewise.
450         (map_over_byte_table): Likewise.
451         (map_char_id_table): Likewise.
452         (slow_map_char_id_table_fun): Likewise.
453         (Fmap_char_attribute): Likewise.
454         (syms_of_mule_charset): Add new function `map-char-attribute'.
455
456 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
457
458         * mule-charset.c (Ffind_char): New function in XEmacs UTF-2000.
459         (syms_of_mule_charset): Add new function `find-char'.
460
461 2001-08-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
462
463         * mule-charset.c (Vcharset_chinese_big5_cdp): New variable in
464         XEmacs UTF-2000.
465         (Qchinese_big5_cdp): New variable in XEmacs UTF-2000.
466         (syms_of_mule_charset): Add new symbol `chinese-big5-cdp' in
467         XEmacs UTF-2000.
468         (complex_vars_of_mule_charset): Add new coded-charset
469         `chinese-big5-cdp' in XEmacs UTF-2000; change registry of
470         `ideograph-gt-pj-*'.
471
472         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5_CDP): New macro.
473
474 2001-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
475
476         * mule-charset.c (encode_builtin_char_1): Purge codes about
477         {MIN|MAX}_CHAR_{GREEK|CYRILLIC}; comment out code about
478         {MIN|MAX}_CHAR_HEBREW.
479         (complex_vars_of_mule_charset): Comment out {MIN|MAX}_CHAR_HEBREW;
480         don't use {MIN|MAX}_CHAR_HEBREW to define `hebrew-iso8859-8'.
481
482         * char-ucs.h (MIN_CHAR_GREEK): Purged.
483         (MAX_CHAR_GREEK): Purged.
484         (MIN_CHAR_CYRILLIC): Purged.
485         (MAX_CHAR_CYRILLIC): Purged.
486         (MIN_CHAR_HEBREW): Commented out.
487         (MAX_CHAR_HEBREW): Likewise.
488
489 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
490
491         * mule-charset.c (Qto_ucs): New variable.
492         (Fput_char_attribute): Treat `=>ucs' as same as `->ucs'.
493         (Fdefine_char): Likewise.
494         (syms_of_mule_charset): Add new symbol `=>ucs'.
495
496 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
497
498         * mule-charset.c (Fdecode_char): Fixed.
499
500 2001-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
501
502         * mule-charset.c (complex_vars_of_mule_charset): Modify registry
503         of latin-tcvn5712 to accept "tcvn5712.1993-1" as same as
504         "tcvn5712-1".
505
506 2001-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
507
508         * mule-charset.c (Vcharset_ucs_big5): New variable.
509         (Qucs_big5): Likewise.
510         (syms_of_mule_charset): Add new symbol `ucs-big5'.
511         (complex_vars_of_mule_charset): Add new coded-charset `ucs-big5'.
512
513         * char-ucs.h (LEADING_BYTE_UCS_BIG5): New macro.
514
515 2001-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
516
517         * mule-charset.c (decode_builtin_char): Check Big5 code range
518         which can be mapped to `chinese-big5-1' and `chinese-big5-2'.
519
520 2001-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
521
522         * mule-charset.c (Vcharset_chinese_gb12345): New variable.
523         (Qchinese_gb12345): Likewise.
524         (Fdecode_builtin_char): Fixed.
525         (syms_of_mule_charset): Add `chinese-gb12345'.
526         (complex_vars_of_mule_charset): Add coded-charset
527         `chinese-gb12345'.
528
529         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x70.
530         (LEADING_BYTE_CHINESE_GB12345): New macro.
531
532 2001-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
533
534         * mule-charset.c (Fdecode_builtin_char): Use `latin-viscii-lower'
535         and `latin-viscii-upper' for `latin-viscii'.
536
537 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
538
539         * mule-charset.c (Fdecode_builtin_char): Comment out
540         regularization code for ISO-IR GR representation.
541
542 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
543
544         * mule-charset.c (decode_builtin_char): New function; renamed from
545         `make_builtin_char'; return -1 instead of signal.
546         (Fdecode_builtin_char): Use `decode_builtin_char'.
547
548         * char-ucs.h (decode_builtin_char): New prototype; renamed from
549         `make_builtin_char'.
550         (DECODE_CHAR): Use `decode_builtin_char' instead of
551         `make_builtin_char'; use mapping table of `chinese-big5' for
552         `chinese-big5-{1,2}'.
553
554 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
555
556         * text-coding.c (char_encode_big5): New function.
557         (char_finish_big5): Likewise.
558         (reset_encoding_stream): Use `char_encode_big5' and
559         `char_finish_big5' for CODESYS_BIG5.
560         (mule_encode): Don't use `encode_coding_big5'.
561         (encode_coding_big5): Deleted.
562
563 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
564
565         * text-coding.c (BYTE_BIG5_TWO_BYTE_1_P): Support private area
566         0x81- in XEmacs UTF-2000.
567         (detect_coding_big5): Likewise.
568
569 2001-07-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
570
571         * mule-charset.c (Fdefine_char): Don't use a CCS property to
572         generate character-id if the CCS property does not have
573         corresponding predefined character.
574         (make_builtin_char): Return -1 if corresponding predefined
575         character is not found.
576         (Fdecode_char): Return nil if corresponding character is not
577         found.
578         (complex_vars_of_mule_charset): Change `ucs-cns' to 256^3-set and
579         don't map to builtin ucs space.
580
581 2001-07-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
582
583         * char-ucs.h (MAX_LEADING_BYTE_PRIVATE): Fixed.
584         (MAX_CHAR_GT): Changed to `(MIN_CHAR_GT + 66773)'.
585
586 2001-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
587
588         * mule-charset.c (Vcharset_ideograph_gt): New variable.
589         (Vcharset_ideograph_gt_pj_{1..11}): Likewise.
590         (Qideograph_gt): Likewise.
591         (Qideograph_gt_pj_{1..11}): Likewise.
592         (syms_of_mule_charset): Add `ideograph-gt', `ideograph-gt-pj-1',
593         `ideograph-gt-pj-2', ..., `ideograph-gt-pj-10' and
594         `ideograph-gt-pj-11'.
595         (complex_vars_of_mule_charset): Add coded-charset `ideograph-gt',
596         `ideograph-gt-pj-1', `ideograph-gt-pj-2', ...,
597         `ideograph-gt-pj-10' and `ideograph-gt-pj-11'.
598
599         * char-ucs.h (LEADING_BYTE_GT): New macro.
600         (LEADING_BYTE_GT_PJ_{1..11}): Likewise.
601         (MIN_CHAR_GT): Likewise.
602         (MAX_CHAR_GT): Likewise.
603
604 2001-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
605
606         * lisp-disunion.h (XCHARVAL): New implementation for UTF-2000 to
607         support U-60000000 .. U-7FFFFFFF with 32 bits architecture.
608
609         * doprnt.c (unsigned_int_converters): Add `c'.
610         (emacs_doprnt_1): Use `XUINT' for unsigned integers.
611
612         * char-ucs.h (MIN_CHAR_DAIKANWA): Don't refer `MIN_CHAR_MOJIKYO'.
613         (MAX_CHAR_DAIKANWA): Refer `MIN_CHAR_DAIKANWA' instead of
614         `MIN_CHAR_MOJIKYO'.
615         (MIN_CHAR_MOJIKYO_0): New macro; refer `MIN_CHAR_DAIKANWA'.
616         (MAX_CHAR_MOJIKYO_0): New macro.
617         (MIN_CHAR_MOJIKYO): Changed to 0x60000000.
618
619 2001-06-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
620
621         * mule-charset.c (Fdefine_char): Delete cemented out code.
622         (encode_builtin_char_1): Modify for new allocation of builtin
623         Mojikyo characters.
624
625         * lisp-disunion.h (XCHARVAL): Cast the argument into EMACS_UINT.
626
627 2001-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
628
629         * mule-charset.c (Vcharset_ucs_cns): New variable.
630         (Qucs_cns): New variable.
631         (syms_of_mule_charset): Add new symbol `ucs-cns'.
632         (complex_vars_of_mule_charset): Add new coded-charset `ucs-cns'.
633
634 2001-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
635
636         * char-ucs.h (LEADING_BYTE_UCS_CNS): New macro.
637
638 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
639
640         * search.c (search_buffer): Make `charset_base_code' as
641         character-id >> 6 to eliminate the corresponding last byte in
642         UTF-8 representation [I'm not sure it is right thing].
643         (boyer_moore): Likewise.
644
645 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
646
647         * emacs.c (vars_of_emacs): Convert XEMACS_CODENAME to internal
648         representation in MULE.
649
650 2000-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
651
652         * text-coding.c (Fmake_coding_system): Use
653         `EXTERNAL_PROPERTY_LIST_LOOP_3' instead of
654         `EXTERNAL_PROPERTY_LIST_LOOP'.
655
656 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
657
658         * text-coding.c (decode_output_utf8_partial_char): New function.
659         (decode_coding_utf8): Use `decode_output_utf8_partial_char'.
660
661 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
662
663         * text-coding.c (decode_coding_utf8): Output original byte
664         sequence if it is broken; change order of conditions.
665
666         * mb-utf-8.h (REP_BYTES_BY_FIRST_BYTE): Use Bufbyte; reverse order
667         of conditions.
668
669         * mb-multibyte.h (BYTE_ASCII_P):
670         Use bit ops for char-signedness safety.
671         (BYTE_C0_P): Use bit ops for char-signedness safety.
672         (BYTE_C1_P): Use bit ops for char-signedness safety.
673
674         * character.h: (XCHAR_OR_CHAR_INT):
675         Always use inline function.
676         Remove redundant type checking assert() - XINT will abort quite
677         nicely.
678
679 2000-11-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
680
681         * text-coding.c: (Fencode_shift_jis_char):
682         (Fencode_big5_char):
683         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
684         Replace 0 with '\0' when working with bytes.
685         Replace initial "(" with "\(" in docstrings.
686
687         (Fmake_coding_system):
688         When type is ccl and value is vector, register it with a proper
689         symbol.  And checks whether the given ccl program is valid.
690         (mule_decode): When calling ccl_driver, if src indicates
691         NULL pointer, set an empty string instead.
692         (mule_encode): Likewise.
693
694         (detect_eol_type):
695         (detect_coding_sjis):
696         (decode_coding_sjis):
697         (detect_coding_big5):
698         (decode_coding_big5):
699         (detect_coding_ucs4):
700         (decode_coding_ucs4):
701         (detect_coding_utf8):
702         (decode_coding_utf8):
703         (detect_coding_iso2022):
704         (decode_coding_iso2022):
705         (decode_coding_no_conversion):
706         (mule_decode):
707         Make all detecting and decoding functions take an Extbyte * arg.
708         (text_encode_generic):
709         (encode_coding_big5):
710         (encode_coding_no_conversion):
711         (mule_encode):
712         Make all encoding functions take a Bufbyte * arg.
713         Use size_t instead of unsigned int for memory sizes.
714         Only cast to unsigned char whenever dereferencing Extbyte *.
715
716         (struct lrecord_description fcd_description_1): Use countof.
717         (complex_vars_of_file_coding):
718         Use countof instead of sizeof.
719         Use CHECK_NATNUM instead of CHECK_INT.
720
721 2000-11-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
722
723         * mule-charset.c (Fget_char_attribute): Add new optional argument
724         `default-value'.
725         (put_char_ccs_code_point): Modify for `Fget_char_attribute'.
726         (remove_char_ccs): Likewise.
727
728 2000-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
729
730         * text-coding.c (char_encode_shift_jis): New implementation in
731         UTF-2000.
732         (decode_coding_big5): Use `DECODE_CHAR (Vcharset_chinese_big5,
733         ...)'.
734
735         * mule-charset.c (Vcharset_chinese_big5): New variable in
736         UTF-2000.
737         (Qchinese_big5): New variable in UTF-2000.
738         (BIG5_SAME_ROW): New macro in UTF-2000.
739         (make_builtin_char): Use builtin characters of
740         `Vcharset_chinese_big5_1' and `Vcharset_chinese_big5_2' as builtin
741         characters of `Vcharset_chinese_big5'.
742         (syms_of_mule_charset): Add new symbol `chinese-big5' in UTF-2000.
743         (complex_vars_of_mule_charset): Add new coded-charset
744         `chinese-big5' in UTF-2000.
745
746         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5): New macro.
747         (Vcharset_chinese_big5): New external variable declaration.
748         (Vcharset_japanese_jisx0208_1990): Likewise.
749
750 2000-07-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
751
752         * mule-charset.c (expand_uint8_byte_table_to_uint16): New
753         function.
754         (put_byte_table): Use `expand_uint8_byte_table_to_uint16'.
755
756 2000-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
757
758         * mule-charset.c (complex_vars_of_mule_charset): Define new macro
759         `DEF_MOJIKYO_PJ' in UTF-2000; use `DEF_MOJIKYO_PJ' to define
760         `mojikyo-pj-*'; add "MojikyoPJ-*" to charset-registry of
761         `mojikyo-pj-*'.
762
763 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
764
765         * text-coding.c (decode_coding_big5): Modify for UTF-2000.
766
767 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
768
769         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
770         to 0.17.
771
772 2000-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
773
774         * file-coding.c (ucs_to_char): Don't use `CHARSET_TYPE_*'; modify
775         for `CHARSET_BY_ATTRIBUTES'.
776         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
777         `CHARSET_BY_ATTRIBUTES'.
778
779         * text-coding.c (struct decoding_stream): Rename member `CH' to
780         `CPOS'.
781         (reset_decoding_stream): Use `str->cpos' instead of `str->ch'.
782         (decode_coding_sjis): Likewise.
783         (decode_coding_big5): Likewise.
784         (decode_coding_ucs4): Likewise.
785         (decode_coding_utf8): Likewise.
786         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
787         `CHARSET_BY_ATTRIBUTES'.
788         (decode_coding_iso2022): Use `str->cpos' instead of `str->ch'; use
789         `str->counter'; decode 3, 4 bytes sets.
790         (char_encode_iso2022): Don't use `BREAKUP_CHAR'; encode 3, 4 bytes
791         sets.
792         (decode_coding_no_conversion): Use `str->cpos' instead of
793         `str->ch'.
794
795         * mule-charset.c (Vcharset_mojikyo_2022_1): New variable.
796         (Qmojikyo_2022_1): New variable.
797         (make_charset): Don't use `CHARSET_TYPE_*'.
798         (range_charset_code_point): Support coded-charset
799         `mojikyo-2022-1'.
800         (encode_builtin_char_1): Modify for `CHARSET_BY_ATTRIBUTES'.
801         (Fmake_charset): Don't use `CHARSET_TYPE_*'; modify for
802         `CHARSET_BY_ATTRIBUTES'.
803         (Fcharset_from_attributes): Don't use `CHARSET_TYPE_*'; modify for
804         `CHARSET_BY_ATTRIBUTES'.
805         (syms_of_mule_charset): Add new symbol `mojikyo-2022-1'.
806         (complex_vars_of_mule_charset): Add new coded-charset
807         `mojikyo-2022-1'.
808
809         * mule-charset.h (CHARSET_BY_ATTRIBUTES): New implementation and
810         interface; changed to inline function.
811
812         * char-ucs.h (Vcharset_mojikyo_2022_1): New variable.
813         (LEADING_BYTE_MOJIKYO_2022_1): New macro.
814         (LEADING_BYTE_MOJIKYO_2022_2): New macro.
815         (CHARSET_TYPE_94): Deleted.
816         (CHARSET_TYPE_94X94): Deleted.
817         (CHARSET_TYPE_96): Deleted.
818         (CHARSET_TYPE_96X96): Deleted.
819         (CHARSET_TYPE_128): Deleted.
820         (CHARSET_TYPE_128X128): Deleted.
821         (CHARSET_TYPE_256): Deleted.
822         (CHARSET_TYPE_256X256): Deleted.
823         (CHARSET_BY_ATTRIBUTES): New implementation and interface; changed
824         to inline function.
825         (DECODE_MOJIKYO_2022): New inline function.
826         (DECODE_CHAR): Use `DECODE_MOJIKYO_2022'; decode
827         `Vcharset_mojikyo_2022_1'.
828
829 2000-07-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
830
831         * mule-charset.c (byte_table_same_value_p): Use `internal_equal'
832         instead of `EQ'.
833         (put_byte_table): Likewise.
834         (char_id_table_equal): Use `get_byte_table' [new implementation].
835
836 2000-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
837
838         * mule-charset.c: Include <limits.h> in UTF-2000.
839         (BT_UINT8_MIN): New macro in UTF-2000.
840         (BT_UINT8_MAX): New macro in UTF-2000.
841         (BT_UINT8_t): New macro in UTF-2000.
842         (BT_UINT8_nil): New macro in UTF-2000.
843         (BT_UINT8_unbound): New macro in UTF-2000.
844         (INT_UINT8_P): New inline function in UTF-2000.
845         (UINT8_VALUE_P): New inline function in UTF-2000.
846         (UINT8_ENCODE): New inline function in UTF-2000.
847         (UINT8_DECODE): New inline function in UTF-2000.
848         (mark_uint8_byte_table): New function in UTF-2000.
849         (print_uint8_byte_table): New function in UTF-2000.
850         (uint8_byte_table_equal): New function in UTF-2000.
851         (uint8_byte_table_hash): New function in UTF-2000.
852         (make_uint8_byte_table): New function in UTF-2000.
853         (uint8_byte_table_same_value_p): New function in UTF-2000.
854         (BT_UINT16_MIN): New macro in UTF-2000.
855         (BT_UINT16_MAX): New macro in UTF-2000.
856         (BT_UINT16_t): New macro in UTF-2000.
857         (BT_UINT16_nil): New macro in UTF-2000.
858         (BT_UINT16_unbound): New macro in UTF-2000.
859         (INT_UINT16_P): New inline function in UTF-2000.
860         (UINT16_VALUE_P): New inline function in UTF-2000.
861         (UINT16_ENCODE): New inline function in UTF-2000.
862         (UINT16_DECODE): New inline function in UTF-2000.
863         (UINT8_TO_UINT16): New inline function in UTF-2000.
864         (mark_uint16_byte_table): New function in UTF-2000.
865         (print_uint16_byte_table): New function in UTF-2000.
866         (uint16_byte_table_equal): New function in UTF-2000.
867         (uint16_byte_table_hash): New function in UTF-2000.
868         (make_uint16_byte_table): New function in UTF-2000.
869         (uint16_byte_table_same_value_p): New function in UTF-2000.
870         (print_byte_table): New function in UTF-2000.
871         (byte-table): Use `print_byte_table' as printer.
872         (make_byte_table): Delete second argument `older'.
873         (byte_table_same_value_p): New function in UTF-2000.
874         (copy_byte_table): Deleted.
875         (get_byte_table): New function in UTF-2000.
876         (put_byte_table): New function in UTF-2000.
877         (print_char_id_table): New function in UTF-2000.
878         (char-id-table): Use `print_char_id_table' as printer.
879         (make_char_id_table): Delete second argument `older'.
880         (get_char_id_table): Use `get_byte_table [new implementation].
881         (put_char_id_table): Use `get_byte_table and `put_byte_table' [new
882         implementation].
883         (Ffind_char_attribute_table): New function in UTF-2000.
884         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
885         (syms_of_mule_charset): Add LRECORD_IMPLEMENTATION
886         `uint8_byte_table' and `uint16_byte_table' in UTF-2000.
887         (syms_of_mule_charset): Add new function
888         `find-char-attribute-table' in UTF-2000.
889
890         * lrecord.h (enum lrecord_type): Add
891         `lrecord_type_uint16_byte_table' and
892         `lrecord_type_uint8_byte_table'.
893
894         * char-ucs.h (struct Lisp_Uint8_Byte_Table): New structure.
895         (Lisp_Uint8_Byte_Table): New type.
896         (XUINT8_BYTE_TABLE): New macro.
897         (XSETUINT8_BYTE_TABLE): New macro.
898         (UINT8_BYTE_TABLE_P): New macro.
899         (GC_UINT8_BYTE_TABLE_P): New macro.
900         (struct Lisp_Uint16_Byte_Table): New structure.
901         (Lisp_Uint16_Byte_Table): New type.
902         (XUINT16_BYTE_TABLE): New macro.
903         (XSETUINT16_BYTE_TABLE): New macro.
904         (UINT16_BYTE_TABLE_P): New macro.
905         (GC_UINT16_BYTE_TABLE_P): New macro.
906
907 2000-07-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
908
909         * mule-charset.c (Vcharacter_ideographic_radical_table): Deleted.
910         (Vcharacter_ideographic_strokes_table): Deleted.
911         (Vcharacter_total_strokes_table): Deleted.
912         (Vcharacter_morohashi_daikanwa_table): Deleted.
913         (Vcharacter_decomposition_table): Deleted.
914         (Qname): Deleted because it is duplicated.
915         (Qideographic_radical): Deleted.
916         (Qideographic_strokes): Deleted.
917         (Qtotal_strokes): Deleted.
918         (Qmorohashi_daikanwa): Deleted.
919         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' for
920         `ideographic-radical', `ideographic-strokes', `total-strokes',
921         `morohashi-daikanwa' and `->decomposition'.
922         (Fget_char_attribute): Likewise.
923         (Fput_char_attribute): Likewise; use `make-vector' instead of
924         `make_older_vector' for `->decomposition' value.
925         (Fdefine_char): Comment out code to check `morohashi-daikanwa' and
926         `ideograph-daikanwa'.
927         (syms_of_mule_charset): Delete builtin symbols `name',
928         `ideographic-radical', `ideographic-strokes', `total-strokes' and
929         `morohashi-daikanwa'.
930         (vars_of_mule_charset): Don't setup
931         `Vcharacter_ideographic_radical_table',
932         `Vcharacter_ideographic_strokes_table',
933         `Vcharacter_total_strokes_table',
934         `Vcharacter_morohashi_daikanwa_table' and
935         `Vcharacter_decomposition_table'.
936
937 2000-06-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
938
939         * alloc.c: Use `HAVE_GGC' instead of `UTF2000' for
940         `make_older_vector', `make_vector_newer_1' and
941         `make_vector_newer'.
942
943         * lisp.h: Use `HAVE_GGC' instead of `UTF2000' for
944         `make_older_vector' and `make_vector_newer'.
945
946         * config.h.in (HAVE_GGC): New macro.
947
948 2000-06-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
949
950         * mule-charset.c (struct char_attribute_list_closure): New
951         structure in UTF-2000.
952         (add_char_attribute_to_list_mapper): New function in UTF-2000.
953         (Fchar_attribute_list): Likewise.
954         (Fset_charset_mapping_table): Use `make_vector_newer'.
955         (Fdecode_builtin_char): New function in UTF-2000.
956         (syms_of_mule_charset): Add new function `char-attribute-list' and
957         `decode-builtin-char' in UTF-2000.
958
959         * lisp.h (make_vector_newer): New prototype.
960
961         * alloc.c (make_vector_newer_1): New function.
962         (make_vector_newer): New function.
963
964 2000-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
965
966         * char-ucs.h (MAX_CHAR_DAIKANWA): Changed to `(MIN_CHAR_MOJIKYO +
967         50100)'.
968
969 2000-06-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
970
971         * mule-charset.c (Vchar_attribute_hash_table): New variable.
972         (Vcharacter_attribute_table): Deleted.
973         (Vcharacter_name_table): Deleted.
974         (put_char_attribute): Deleted.
975         (remove_char_attribute): Deleted.
976         (struct char_attribute_alist_closure): New structure.
977         (add_char_attribute_alist_mapper): New function.
978         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' instead
979         of `Vcharacter_attribute_table' and `Vcharacter_name_table'.
980         (Fget_char_attribute): Likewise.
981         (Fput_char_attribute): Likewise.
982         (Fremove_char_attribute): Use `Vchar_attribute_hash_table' instead
983         of `remove_char_attribute'.
984         (Fdefine_char): Return character.
985         (vars_of_mule_charset): Don't setup `Vcharacter_attribute_table'
986         and `Vcharacter_name_table'.
987         (complex_vars_of_mule_charset): Likewise
988         `Vchar_attribute_hash_table'.
989
990 2000-06-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
991
992         * character.h (CHARC_CHARSET): New macro.
993         (CHARC_CHARSET_ID): New macro.
994         (CHARC_CODE_POINT): New macro.
995         (CHARC_COLUMNS): New macro.
996         (CHARC_TO_CHAR): New inline function.
997         (CHARC_EQ): New inline function.
998         (CHARC_ASCII_EQ): New inline function.
999         (CHARC_IS_SPACE): New inline function.
1000         (ASCII_TO_CHARC): New inline function.
1001
1002         * char-ucs.h (encode_char_2): Deleted.
1003         (ENCODE_CHAR): Use `encode_char_1' again.
1004         (breakup_char_1): Likewise.
1005         (CHAR_TO_CHARC): New inline function.
1006
1007         * char-lb.h, char-1byte.h (CHAR_TO_CHARC): New inline function.
1008
1009 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1010
1011         * redisplay.c (add_emchar_rune): Use `ASCII_TO_CHARC',
1012         `CHAR_TO_CHARC' and `CHARC_CHARSET'.
1013         (create_text_block): Use `CHARC_ASCII_EQ' and `CHARC_IS_SPACE'.
1014         (generate_formatted_string_db): Use `CHARC_TO_CHAR'.
1015         (create_string_text_block): Use `CHARC_ASCII_EQ' and
1016         `CHARC_IS_SPACE'.
1017         (pixel_to_glyph_translation): Use `CHARC_ASCII_EQ'.
1018
1019         * redisplay-x.c (separate_textual_runs): Use `CHARC_CHARSET' and
1020         `CHARC_CODE_POINT'.
1021         (x_output_display_block): Use `CHARC_CHARSET' and
1022         `CHARC_ASCII_EQ'.
1023
1024         * redisplay-tty.c (tty_output_display_block): Use
1025         `CHARC_ASCII_EQ'.
1026         (tty_output_display_block): Likewise; use `ASCII_TO_CHARC'.
1027
1028         * redisplay-output.c (compare_runes): Use `CHARC_EQ'.
1029
1030         * insdel.c (find_charsets_in_charc_string): Use
1031         `CHARC_CHARSET_ID'.
1032         (charc_string_displayed_columns): Use `CHARC_COLUMNS'.
1033         (convert_bufbyte_string_into_charc_dynarr): Use `CHAR_TO_CHARC'.
1034         (convert_charc_string_into_bufbyte_dynarr): Use `CHARC_TO_CHAR'.
1035         (convert_charc_string_into_malloced_string): Likewise.
1036
1037 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1038
1039         * toolbar-x.c (x_output_toolbar_button): Use <Charc_dynarr *>
1040         instead of <Emchar_dynarr *> for buf; use
1041         `convert_bufbyte_string_into_charc_dynarr' instead of
1042         `convert_bufbyte_string_into_emchar_dynarr'; use
1043         `find_charsets_in_charc_string' instead of
1044         `find_charsets_in_emchar_string'.
1045
1046         * redisplay.h:
1047         - Include "character.h".
1048         (struct rune): New member `cglyph'; delete member `chr'.
1049
1050         * redisplay.c (redisplay_text_width_charc_string): New function;
1051         delete `redisplay_text_width_emchar_string'.
1052         (rtw_charc_dynarr): New variable; renamed from
1053         `rtw_emchar_dynarr'.
1054         (redisplay_text_width_string): Use `rtw_charc_dynarr' instead of
1055         `rtw_emchar_dynarr'; use
1056         `convert_bufbyte_string_into_charc_dynarr' instead of
1057         `convert_bufbyte_string_into_emchar_dynarr'; use
1058         `redisplay_text_width_charc_string' instead of
1059         `redisplay_text_width_emchar_string'.
1060         (redisplay_frame_text_width_string): Use `rtw_charc_dynarr'
1061         instead of `rtw_emchar_dynarr'; use
1062         `convert_bufbyte_string_into_charc_dynarr' instead of
1063         `convert_bufbyte_string_into_emchar_dynarr'.
1064         (add_emchar_rune): Add <Charc> instead of <Emchar>; use
1065         `redisplay_text_width_charc_string' instead of
1066         `redisplay_text_width_emchar_string'.
1067         (create_text_block): Modify for <struct rune> change.
1068         (generate_formatted_string_db): Likewise.
1069         (create_string_text_block): Likewise.
1070         (pixel_to_glyph_translation): Likewise.
1071
1072         * redisplay-x.c (separate_textual_runs): Use <const Charc *>
1073         instead of <const Emchar *>.
1074         (x_text_width): Likewise.
1075         (x_output_display_block): Use <Charc_dynarr *> instead
1076         <Emchar_dynarr *>; modify for <structure rune> change.
1077         (x_output_string): Use <Charc_dynarr *> instead of <Emchar_dynarr
1078         *>.
1079
1080         * redisplay-tty.c (tty_text_width): Use <const Charc *> instead of
1081         <const Emchar *>; use `charc_string_displayed_columns' instead of
1082         `emchar_string_displayed_columns'.
1083         (tty_output_display_block): Use <Charc_dynarr *> instead of
1084         <Emchar_dynarr *> for buf; modify for <structure rune> change; use
1085         `tty_output_charc_dynarr' instead of `tty_output_emchar_dynarr'.
1086         (tty_output_charc_dynarr_dynarr): New variable; renamed from
1087         `tty_output_emchar_dynarr_dynarr'.
1088         (tty_output_charc_dynarr): New function; delete
1089         `tty_output_charc_dynarr'.
1090
1091         * redisplay-output.c (compare_runes): Modify for `struct rune'.
1092         (redisplay_output_layout): Use <Charc_dynarr *> instead of
1093         <Emchar_dynarr *> for buf; use
1094         `convert_bufbyte_string_into_charc_dynarr' instead of
1095         `convert_bufbyte_string_into_emchar_dynarr'.
1096
1097         * frame.c (title_string_charc_dynarr): New variable; renamed from
1098         `title_string_emchar_dynarr'.
1099         (generate_title_string): Use `title_string_charc_dynarr' instead
1100         of `title_string_emchar_dynarr'; use
1101         `convert_charc_string_into_malloced_string' instead of
1102         `convert_emchar_string_into_malloced_string'.
1103         (init_frame): Use `title_string_charc_dynarr' instead of
1104         `title_string_emchar_dynarr'.
1105
1106         * console.h:
1107         - Include "character.h".
1108         (struct console_methods): Use <const Charc *> instead of <const
1109         Emchar *> in `text_width_method'; use <Charc_dynarr *> instead of
1110         <Emchar_dynarr *> in output_string_method.
1111
1112         * console-x.h (x_output_string): Use <Charc_dynarr *> instead of
1113         <Emchar_dynarr *>.
1114
1115         * console-stream.c (stream_text_width): Use <const Charc *>
1116         instead of <const Emchar *>.
1117
1118         * character.h (Charc_dynarr): New type.
1119
1120         * char-ucs.h (structure Charc): New structure; define new type
1121         `Charc'.
1122
1123         * char-lb.h (DECODE_CHAR): New inline function.
1124         (encode_char_1): New inline function.
1125         (ENCODE_CHAR): New macro.
1126         (structure Charc): New structure; define new type `Charc'.
1127
1128         * char-1byte.h (Vcharset_control_1): New macro.
1129         (Vcharset_latin_iso8859_1): New macro.
1130         (DECODE_CHAR): New inline function.
1131         (encode_char_1): New inline function.
1132         (ENCODE_CHAR): New macro.
1133         (structure Charc): New structure; define new type `Charc'.
1134
1135         * insdel.c (find_charsets_in_charc_string): New function; delete
1136         `find_charsets_in_emchar_string'.
1137         (charc_string_displayed_columns): New function; delete
1138         `emchar_string_displayed_columns'.
1139         (convert_bufbyte_string_into_charc_dynarr): New function; delete
1140         `convert_bufbyte_string_into_emchar_dynarr'.
1141         (convert_charc_string_into_bufbyte_dynarr): New function; delete
1142         `convert_charc_string_into_bufbyte_dynarr'.
1143         (convert_charc_string_into_malloced_string): New function; delete
1144         `convert_charc_string_into_malloced_string'.
1145
1146         * buffer.h (find_charsets_in_charc_string): New prototype; delete
1147         `find_charsets_in_emchar_string'.
1148         (charc_string_displayed_columns): New prototype; delete
1149         `emchar_string_displayed_columns'.
1150         (convert_charc_string_into_bufbyte_dynarr): New prototype; delete
1151         `convert_charc_string_into_bufbyte_dynarr'.
1152         (convert_charc_string_into_malloced_string): New prototype; delete
1153         `convert_charc_string_into_malloced_string'.
1154
1155 2000-06-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1156
1157         * select-x.c (Fx_store_cutbuffer_internal): Modify for UTF-2000.
1158
1159 2000-06-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1160
1161         * chartab.h (get_non_ascii_char_table_value): Use <Charset_ID>.
1162
1163         * char-ucs.h: Use <short> for <Charset_ID>.
1164
1165         * mule-charset.h, char-1byte.h: Use <unsigned char> for
1166         <Charset_ID>.
1167
1168 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1169
1170         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1171         to 0.16.
1172
1173 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1174
1175         * mule-charset.c (Vcharacter_morohashi_daikanwa_table): New
1176         variable.
1177         (Qmorohashi_daikanwa): New variable.
1178         (Fchar_attribute_alist): Use `Vcharacter_morohashi_daikanwa_table'
1179         for `morohashi-daikanwa' attribute.
1180         (Fget_char_attribute): Likewise.
1181         (Fput_char_attribute): Likewise.
1182         (Fdefine_char): Don't setup `morohashi-daikanwa' attribute if it
1183         has the same value of `ideograph-daikanwa'.
1184         (syms_of_mule_charset): Add new symbol `morohashi-daikanwa'.
1185         (vars_of_mule_charset): Setup
1186         `Vcharacter_morohashi_daikanwa_table'.
1187
1188 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1189
1190         * mule-charset.c (Fchar_attribute_alist): Add coded-charset
1191         attributes.
1192         (add_charset_to_list_mapper): Add `key' instead of
1193         `XCHARSET_NAME (value)' to return aliases.
1194
1195 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1196
1197         * mule-charset.c (Vcharacter_ideographic_radical_table): New
1198         variable.
1199         (Vcharacter_ideographic_strokes_table): New variable.
1200         (Qideographic_radical): New variable.
1201         (Qideographic_strokes): New variable.
1202         (Fchar_attribute_alist): Use
1203         `Vcharacter_ideographic_radical_table' for `ideographic-radical'
1204         attribute; use `Vcharacter_ideographic_strokes_table' for
1205         `ideographic-strokes' attribute.
1206         (Fget_char_attribute): Likewise.
1207         (Fput_char_attribute): Likewise.
1208         (syms_of_mule_charset): Add new symbol `ideographic-radical' and
1209         `ideographic-strokes'.
1210         (vars_of_mule_charset): Setup
1211         `Vcharacter_ideographic_radical_table' and
1212         `Vcharacter_ideographic_strokes_table'.
1213
1214 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1215
1216         * mule-charset.c (Vcharacter_total_strokes_table): New variable.
1217         (Qtotal_strokes): New variable.
1218         (Fchar_attribute_alist): Use `Vcharacter_total_strokes_table' for
1219         `total-strokes' attribute.
1220         (Fget_char_attribute): Likewise.
1221         (Fput_char_attribute): Likewise.
1222         (syms_of_mule_charset): Add new symbol `total-strokes'.
1223         (vars_of_mule_charset): Setup `Vcharacter_total_strokes_table'.
1224
1225 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1226
1227         * mule-charset.c (Vcharacter_decomposition_table): New variable.
1228         (Fchar_attribute_alist): Add `name' and `->decomposition' if they
1229         are found.
1230         (Fget_char_attribute): Use `Vcharacter_decomposition_table' for
1231         `->decomposition' attribute.
1232         (Fput_char_attribute): Likewise.
1233         (vars_of_mule_charset): Setup `Vcharacter_decomposition_table'.
1234
1235 2000-06-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1236
1237         * mule-charset.c (decoding_table_check_elements): New function.
1238         (Fset_charset_mapping_table): Use `decoding_table_check_elements'.
1239
1240 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1241
1242         * mule-charset.c (Fset_charset_mapping_table): Use
1243         `put_char_ccs_code_point'.
1244
1245 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1246
1247         * mule-charset.c (decoding_table_put_char): New inline function.
1248         (put_char_ccs_code_point): Use `decoding_table_put_char'.
1249
1250 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1251
1252         * mule-charset.c (CHARSET_BYTE_SIZE): New inline function.
1253         (XCHARSET_BYTE_SIZE): New macro.
1254         (decoding_table_remove_char): New inline function.
1255         (put_char_ccs_code_point): Use `XCHARSET_BYTE_SIZE'; use
1256         `decoding_table_remove_char'.
1257         (remove_char_ccs): Use `decoding_table_remove_char'.
1258         (Fset_charset_mapping_table): Use `CHARSET_BYTE_SIZE'.
1259
1260 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1261
1262         * mule-charset.c (Vcharacter_name_table): New variable.
1263         (Qname): New variable.
1264         (Fget_char_attribute): Use `Vcharacter_name_table' for `name'
1265         attribute.
1266         (Fput_char_attribute): Use function `put_char_ccs_code_point'; use
1267         `Vcharacter_name_table' for `name' attribute.
1268         (Fremove_char_attribute): Use function `remove_char_ccs'.
1269         (put_char_ccs_code_point): New function.
1270         (remove_char_ccs): New function.
1271         (syms_of_mule_charset): Add new symbol `name'.
1272         (vars_of_mule_charset): Setup `Vcharacter_name_table'.
1273
1274 2000-05-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1275
1276         * mule-charset.c (make_byte_table): Add new argument `older'.
1277         (make_char_id_table): Likewise.
1278         (copy_char_id_table): Comment out because it is not used.
1279         (put_char_id_table): Modify for `make_byte_table'.
1280         (Fput_char_attribute): Make encoding_table as older object;
1281         inherit older bit of `Vcharacter_composition_table'.
1282         (mark_charset): Don't mark `cs->encoding_table'.
1283         (vars_of_mule_charset): Make `Vcharacter_attribute_table' as a
1284         normal object; make `Vcharacter_composition_table' as an older
1285         object; delete staticpro for `Vcharacter_composition_table'; make
1286         `Vcharacter_variant_table' as a normal object.
1287
1288         * alloc.c (alloc_older_lcrecord): New function in UTF-2000.
1289         (mark_object): Don't check older object in UTF-2000.
1290
1291         * lrecord.h (struct lrecord_header): Add new member `older' in
1292         UTF-2000.
1293         (set_lheader_implementation): Setup `SLI_header->older' in
1294         UTF-2000.
1295         (set_lheader_older_implementation): New macro in UTF-2000.
1296         (OLDER_RECORD_P): New macro in UTF-2000.
1297         (OLDER_RECORD_HEADER_P): New macro in UTF-2000.
1298         (alloc_older_lcrecord): New prototype in UTF-2000.
1299         (alloc_older_lcrecord_type): New macro in UTF-2000.
1300
1301 2000-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1302
1303         * mule-charset.c (byte_table_description): Use
1304         `XD_LISP_OBJECT_ARRAY' instead of `XD_LISP_OBJECT'.
1305         (char_id_table_description): Delete bogus `, 1'.
1306         (Fget_char_attribute): Refer encoding_table of each coded-charset
1307         to get value of coded-charset attribute of a character.
1308         (Fput_char_attribute): Use `make_older_vector' instead of
1309         `make_vector'; use encoding_table of each coded-charset to store
1310         value of coded-charset attribute of a character.
1311         (Fremove_char_attribute): Use encoding_table of each coded-charset
1312         to store value of coded-charset attribute of a character.
1313         (mark_charset): Mark `cs->encoding_table'; don't mark
1314         `cs->decoding_table'.
1315         (charset_description): Add description of new member
1316         `encoding_table'.
1317         (make_charset): Initialize `encoding_table'.
1318
1319         * char-ucs.h (struct Lisp_Charset): Add new member
1320         `encoding_table'.
1321         (CHARSET_ENCODING_TABLE): New macro.
1322         (XCHARSET_ENCODING_TABLE): New macro.
1323         (charset_code_point): New implementation.
1324         (encode_char_1): Likewise.
1325
1326         * alloc.c (all_older_lcrecords): New variable in UTF-2000.
1327         (disksave_object_finalization_1): Call finalizers of
1328         `all_older_lcrecords' in UTF-2000.
1329         (make_older_vector): New function in UTF-2000.
1330         (reinit_alloc_once_early): Initialize `all_older_lcrecords' in
1331         UTF-2000.
1332
1333         * lisp.h (make_older_vector): New prototype in UTF-2000.
1334
1335 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1336
1337         * lrecord.h (enum lrecord_type): Rename
1338         `lrecord_type_char_code_table' to `lrecord_type_char_id_table'.
1339
1340         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_ID_TABLE_P' and
1341         `get_char_id_table' instead of `CHAR_CODE_TABLE_P' and
1342         `get_char_code_table'.
1343
1344         * mule-charset.c (mark_char_id_table): Renamed from
1345         `mark_char_code_table'.
1346         (char_id_table_equal): Renamed from `char_code_table_equal'.
1347         (char_id_table_hash): Renamed from `char_code_table_hash'.
1348         (make_char_id_table): Renamed from `make_char_code_table'.
1349         (copy_char_id_table): Renamed from `copy_char_code_table'.
1350         (get_char_id_table): Renamed from `get_char_code_table'.
1351         (put_char_id_table): Renamed from `put_char_code_table'.
1352         (to_char_id): Renamed from `to_char_code'.
1353
1354         * char-ucs.h (struct Lisp_Char_ID_Table): Renamed from
1355         `Lisp_Char_Code_Table'.
1356         (char_id_table): Renamed from `char_code_table'.
1357         (XCHAR_ID_TABLE): Renamed from `XCHAR_CODE_TABLE'.
1358         (XSETCHAR_ID_TABLE): Renamed from `XSETCHAR_CODE_TABLE'.
1359         (CHAR_ID_TABLE_P): Renamed from `CHAR_CODE_TABLE_P'.
1360         (GC_CHAR_ID_TABLE_P): Renamed from `GC_CHAR_CODE_TABLE_P'.
1361         (get_char_id_table): Renamed from `get_char_code_table'.
1362
1363 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1364
1365         * lrecord.h (enum lrecord_type): Rename
1366         `lrecord_type_char_byte_table' to `lrecord_type_byte_table'.
1367
1368         * mule-charset.c (mark_byte_table): Renamed from
1369         `mark_char_byte_table'.
1370         (byte_table_equal): Renamed from `char_byte_table_equal'.
1371         (byte_table_hash): Renamed from `byte_table_hash'.
1372         (make_byte_table): Renamed from `make_byte_table'.
1373         (copy_byte_table): Renamed from `copy_char_byte_table'.
1374
1375         * char-ucs.h (struct Lisp_Byte_Table): Renamed from
1376         `Lisp_Char_Byte_Table'.
1377         (byte_table): Renamed from `char_byte_table'.
1378         (XBYTE_TABLE): Renamed from `XCHAR_BYTE_TABLE'.
1379         (XSETBYTE_TABLE): Renamed from `XSET_CHAR_BYTE_TABLE'.
1380         (BYTE_TABLE_P): Renamed from `XBYTE_TABLE_P'.
1381         (GC_BYTE_TABLE_P): Renamed from `GC_CHAR_BYTE_TABLE_P'.
1382
1383 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1384
1385         * buffer.c (dfc_convert_to_external_format): Modify for UTF-2000.
1386         (dfc_convert_to_internal_format): Likewise.
1387         
1388         * text-coding.c (Fcoding_system_canonical_name_p): New function.
1389         * text-coding.c (Fcoding_system_alias_p): New function.
1390         * text-coding.c (Fcoding_system_aliasee): New function.
1391         * text-coding.c (append_suffix_to_symbol): New function.
1392         * text-coding.c (dangling_coding_system_alias_p): New function.
1393         * text-coding.c (Ffind_coding_system):
1394         * text-coding.c (Fcopy_coding_system):
1395         * text-coding.c (encode_coding_no_conversion):
1396         * text-coding.c (syms_of_file_coding):
1397         * text-coding.c (vars_of_file_coding):
1398         Rewrite coding system alias code.
1399         Allow nested aliases, like symbolic links.
1400         Allow redefinition of coding system aliases.
1401         Prevent existence of dangling coding system aliases.
1402         Eliminate convert_to_external_format.
1403         Eliminate convert_to_internal_format.
1404         
1405         * text-coding.c: Change enum eol_type to eol_type_t.
1406
1407 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1408
1409         * mule-charset.c (encode_builtin_char_1): Limit builtin-code-range
1410         of `mojikyo' to MIN_CHAR_MOJIKYO + 94 * 60 * 22.
1411
1412         * char-ucs.h (MAX_CHAR_MOJIKYO): Limit builtin-code-range to
1413         MIN_CHAR_MOJIKYO + 94 * 60 * 22.
1414
1415 2000-04-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1416
1417         * mule-charset.c (encode_builtin_char_1): Use `mojikyo' instead of
1418         `ideograph-daikanwa'.
1419
1420         * char-ucs.h (Vcharset_ucs): Deleted because it is not used.
1421         (Vcharset_ucs_bmp): Likewise.
1422         (Vcharset_mojikyo): Add new extern variable definition.
1423         (Vcharset_latin_iso8859_2): Deleted because it is not used.
1424         (Vcharset_latin_iso8859_3): Likewise.
1425         (Vcharset_latin_iso8859_4): Likewise.
1426         (Vcharset_latin_iso8859_9): Likewise.
1427         (Vcharset_latin_viscii_lower): Likewise.
1428         (Vcharset_latin_viscii_upper): Likewise.
1429         (DECODE_CHAR): If charset is `mojikyo-pj-N', corresponding
1430         `mojikyo' code-point is used to decode.
1431         (encode_char_2): New function [to convert `mojikyo' code-point to
1432         Mojikyo font encoding].
1433         (ENCODE_CHAR): Use `encode_char_2' instead of `encode_code_1'.
1434         (breakup_char_1): Likewise.
1435         (CHAR_CHARSET): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR'.
1436
1437 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1438
1439         * text-coding.c (Fmake_coding_system): Add document about
1440         `disable-composition' property.
1441
1442 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1443
1444         * text-coding.c (Qdisable_composition): New variable; delete
1445         `Qcomposite'.
1446         (Fmake_coding_system): Add new property `disable-composite';
1447         delete property `composite'.
1448         (COMPOSE_ADD_CHAR): Use `CODING_SYSTEM_DISABLE_COMPOSITION'
1449         instead of `!CODING_SYSTEM_COMPOSITE'.
1450         (syms_of_file_coding): Add new symbol `disable-composition';
1451         delete symbol `composite'.
1452
1453         * file-coding.h (struct Lisp_Coding_System): Add
1454         `disable_composition'; delete `enable_composition'.
1455         (CODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
1456         `CODING_SYSTEM_COMPOSITE'.
1457         (XCODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
1458         `XCODING_SYSTEM_COMPOSITE'.
1459
1460 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1461
1462         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1463         to 0.15.
1464
1465 2000-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1466
1467         * text-coding.c (Qcomposite): New variable.
1468         (Fmake_coding_system): Add new property `composite'.
1469         (struct decoding_stream): Add `combined_char_count',
1470         `combined_chars' and `combining_table' in UTF-2000.
1471         (COMPOSE_FLUSH_CHARS): New macro.
1472         (COMPOSE_ADD_CHAR): New macro.
1473         (reset_decoding_stream): Reset `str->combined_char_count' and
1474         `str->combining_table' in UTF-2000.
1475         (decode_coding_iso2022): Modify for character-decomposition.
1476         (syms_of_file_coding): Add new symbol `composite'.
1477
1478 2000-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1479
1480         * mule-charset.c (Vcharset_latin_tcvn5712): New variable.
1481         (Fput_char_attribute): Set up `Vcharacter_variant_table' instead
1482         of `Vcharacter_composition_table' if `->decomposition' property
1483         has only 1 element.
1484         (Qlatin_tcvn5712): New variable.
1485         (syms_of_mule_charset): Add new symbol `latin-tcvn5712'.
1486         (complex_vars_of_mule_charset): Add new coded-charset
1487         `latin-tcvn5712'.
1488
1489         * char-ucs.h (LEADING_BYTE_LATIN_TCVN5712): New macro.
1490
1491 2000-04-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1492
1493         * file-coding.h (struct Lisp_Coding_System): Add
1494         `enable_composition'.
1495         (CODING_SYSTEM_COMPOSITE): New macro.
1496         (XCODING_SYSTEM_COMPOSITE): New macro.
1497
1498 2000-03-17  MORIOKA Tomohiko  <tomo@m17n.org>
1499
1500         * mule-canna.c (c2mu): Fix problem with UTF-2000.
1501
1502 2000-03-16  MORIOKA Tomohiko  <tomo@m17n.org>
1503
1504         * mule-charset.c (Fput_char_attribute): Don't make mapping-table
1505         if ATTRIBUTE is `ucs' and character-id of CHARACTER = VALUE.
1506
1507 2000-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
1508
1509         * mule-charset.c (Vcharset_mojikyo): New variable.
1510         (Fdefine_char): Don't use coded-charset which does not have
1511         non-builtin character range to allocate character-id.
1512         (Qmojikyo): New variable.
1513         (syms_of_mule_charset): Add new symbol `mojikyo'.
1514         (complex_vars_of_mule_charset): Add new coded-charset `mojikyo'.
1515
1516         * char-ucs.h (LEADING_BYTE_DAIKANWA_EKANJI): New macro.
1517         (LEADING_BYTE_MOJIKYO): New macro.
1518         (MIN_CHAR_MOJIKYO): New macro.
1519         (MIN_CHAR_DAIKANWA): Use `MIN_CHAR_MOJIKYO'.
1520         (MAX_CHAR_MOJIKYO): New macro.
1521
1522 2000-02-12  MORIOKA Tomohiko  <tomo@m17n.org>
1523
1524         * mule-charset.c (remove_char_attribute): Fixed.
1525
1526 2000-02-08  MORIOKA Tomohiko  <tomo@m17n.org>
1527
1528         * mule-charset.c (remove_char_attribute): New function.
1529         (Fremove_char_attribute): New function.
1530         (encode_builtin_char_1): Comment out builtin-support for
1531         greek-iso8859-7 and cyrillic-iso8859-5.
1532         (Fdecode_char): Check `code' is an integer.
1533         (syms_of_mule_charset): Add `remove-char-attribute'.
1534         (MIN_CHAR_GREEK): Deleted.
1535         (MAX_CHAR_GREEK): Likewise.
1536         (MIN_CHAR_CYRILLIC): Likewise.
1537         (MAX_CHAR_CYRILLIC): Likewise.
1538         (complex_vars_of_mule_charset): Don't use MIN_CHAR_GREEK and
1539         MAX_CHAR_GREEK for `greek-iso8859-7'.
1540
1541         * char-ucs.h (MIN_CHAR_GREEK): Comment out.
1542         (MAX_CHAR_GREEK): Likewise.
1543         (MIN_CHAR_CYRILLIC): Likewise.
1544         (MAX_CHAR_CYRILLIC): Likewise.
1545
1546 2000-02-02  MORIOKA Tomohiko  <tomo@m17n.org>
1547
1548         * mule-charset.c (Fdefine_char): Fix problem when new code-point
1549         format is used without `ucs' property.
1550         (Fdecode_char): Fix problem with GR representation.
1551         (complex_vars_of_mule_charset): Don't use `MIN_CHAR_CYRILLIC' and
1552         `MAX_CHAR_CYRILLIC' as range of builtin `cyrillic-iso8859-5'.
1553
1554 2000-01-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
1555
1556         * mule-charset.c (make_builtin_char): New function.
1557         (encode_builtin_char_1): Check ISO-2022-charset is defined or not.
1558         (Fset_charset_mapping_table): Modify for new representation of
1559         code-point.
1560         (Fdecode_char): New function.
1561         (syms_of_mule_charset): Add new builtin function `decode-char' in
1562         UTF-2000.
1563
1564         * char-ucs.h (make_builtin_char): New prototype.
1565         (DECODE_CHAR): New inline function.
1566         (MAKE_CHAR): Use `DECODE_CHAR'.
1567
1568 2000-01-28  MORIOKA Tomohiko  <tomo@m17n.org>
1569
1570         * text-coding.c (parse_charset_conversion_specs): Use
1571         `XCHARSET_CHARS' and `XCHARSET_DIMENSION' instead of
1572         `XCHARSET_TYPE'.
1573         (iso2022_designate): Likewise.
1574
1575         * chartab.c (decode_char_table_range): Use `XCHARSET_CHARS' and
1576         `XCHARSET_DIMENSION' instead of `XCHARSET_TYPE'.
1577
1578         * mule-charset.c (Vcharset_ucs): New variable.
1579         (print_charset): Change design; use `CHARSET_CHARS' and
1580         `CHARSET_DIMENSION' instead of `CHARSET_TYPE'.
1581         (make_charset): Change signature to specify `chars' and
1582         `dimension' instead of `type'.
1583         (range_charset_code_point): Modify for 256^n-set.
1584         (encode_builtin_char_1): Encode as `ucs' in default.
1585         (Fmake_charset): Modify for `make_charset'.
1586         (Fmake_reverse_direction_charset): Likewise.
1587         (Fsplit_char): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR' in
1588         UTF-2000.
1589         (complex_vars_of_mule_charset): Add coded-charset `ucs'; modify
1590         for `make_charset'.
1591
1592         * char-ucs.h (Vcharset_ucs): New variable.
1593         (LEADING_BYTE_UCS): New macro.
1594         (struct Lisp_Charset): Delete `type'; change type of `dimension'
1595         and `chars' to `unsigned short' from `unsigned int'.
1596         (CHARSET_TYPE): Deleted.
1597         (XCHARSET_TYPE): Deleted.
1598
1599 2000-01-27  MORIOKA Tomohiko  <tomo@m17n.org>
1600
1601         * mule-charset.c (charset_code_point): Moved to char-ucs.h.
1602
1603         * char-ucs.h (charset_code_point): Moved from mule-charset.c.
1604         (ENCODE_CHAR): New macro.
1605
1606 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
1607
1608         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1609         to 0.14 (Kawachi-Katakami).
1610
1611 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
1612
1613         * text-coding.c (char_encode_shift_jis): Modify for
1614         `charset_code_point'.
1615         (char_encode_iso2022): Likewise.
1616
1617         * mule-charset.c (Fput_char_attribute): Use <Lisp_Object>
1618         (integer) instead of list of <Lisp_Object>s (integers) as the
1619         format of code-point of a coded-charset.
1620         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
1621         (encode_builtin_char_1): New function; delete
1622         `split_builtin_char'.
1623         (charset_code_point): Return <int> instead of <Lisp_Object>.
1624         (Fsplit_char): Don't use `SPLIT_CHAR'.
1625
1626         * char-ucs.h (encode_builtin_char_1): New prototype; delete
1627         prototype for `split_builtin_char'.
1628         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
1629         (charset_code_point): Likewise.
1630         (encode_char_1): New inline function; delete `SPLIT_CHAR'.
1631         (breakup_char_1): Use `encode_char_1' instead of `SPLIT_CHAR'.
1632
1633 2000-01-20  MORIOKA Tomohiko  <tomo@m17n.org>
1634
1635         * mule-charset.c (complex_vars_of_mule_charset): Don't define
1636         `japanese-jisx0208-1990' in non-UTF-2000 Mule.
1637
1638 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
1639
1640         * mule-charset.c (split_builtin_char): Don't support OBS_94x94.
1641
1642         * char-ucs.h (MIN_CHAR_OBS_94x94): Deleted.
1643         (MAX_CHAR_OBS_94x94): Deleted.
1644
1645 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
1646
1647         * mule-charset.c (split_builtin_char): Use `MAX_CHAR_BMP'.
1648
1649         * char-ucs.h (MAX_CHAR_BMP): New macro.
1650
1651 2000-01-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
1652
1653         * text-coding.c: Sync with r21-2-24.
1654
1655 2000-01-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
1656
1657         * file-coding.c: Modify for UTF-2000.
1658
1659 2000-01-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
1660
1661         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1662         to 0.13 (Takaida).
1663
1664 2000-01-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
1665
1666         * mule-charset.c (split_builtin_char): Delete builtin support for
1667         `katakana-jisx0201'.
1668         (complex_vars_of_mule_charset): Don't map `katakana-jisx0201' to
1669         BMP area in builtin representation.
1670
1671         * char-ucs.h (MAKE_CHAR): Delete builtin support for
1672         `Vcharset_katakana_jisx0201'.
1673
1674 1999-12-24  MORIOKA Tomohiko  <tomo@etl.go.jp>
1675
1676         * mule-charset.c (Vcharset_mojikyo_pj_[1 .. 21]): New variable.
1677         (Qisolated): New variable.
1678         (Qinitial): New variable.
1679         (Qmedial): New variable.
1680         (Qfinal): New variable.
1681         (Qvertical): New variable.
1682         (Qsmall): New variable.
1683         (to_char_code): Use `Qisolated', `Qinitial', `Qmedial', `Qfinal',
1684         `Qvertical' and `Qsmall'.
1685         (Qmojikyo_pj_[1 .. 21]): New variable.
1686         (syms_of_mule_charset): Add new symbols `isolated', `initial',
1687         `medial', `final', `vertical', `small' and `mojikyo-pj-[1 .. 21]'.
1688         (complex_vars_of_mule_charset): Add new charset `mojikyo-pj-[1
1689         .. 21]'.
1690
1691 1999-11-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
1692
1693         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x60.
1694         (LEADING_BYTE_MOJIKYO_PJ_[1 .. 21]): New macros.
1695         (MAX_LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 32)'.
1696
1697 1999-11-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
1698
1699         * mule-charset.c (Vcharset_japanese_jisx0208_1990): New variable.
1700         (Fdefine_char): Use Group 00 Plane 10 for non-coded variants of
1701         BMP.
1702         (Qjapanese_jisx0208_1990): New variable.
1703         (syms_of_mule_charset): Add new symbol `Qjapanese_jisx0208_1990'.
1704         (complex_vars_of_mule_charset): Add new coded-charset
1705         `japanese-jisx0208-1990'.
1706
1707         * char-ucs.h (LEADING_BYTE_JAPANESE_JISX0208_1990): New macro.
1708         (MIN_CHAR_JIS_X0208_1990): New macro.
1709         (MAX_CHAR_JIS_X0208_1990): New macro.
1710
1711 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1712
1713         * text-coding.c (char_encode_iso2022): Output `~' if ISO 2022
1714         coded-charset is not found.
1715
1716 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1717
1718         * mule-charset.c (Fget_char_attribute): Forgot to `CHECK_CHAR'.
1719         (Fdefine_char): Use `Fmake_char'.
1720
1721 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1722
1723         * mule-charset.c (Vcharset_ideograph_daikanwa): New variable.
1724         (Vcharset_hiragana_jisx0208): Deleted.
1725         (Vcharset_katakana_jisx0208): Deleted.
1726         (Qideograph_daikanwa): New variable.
1727         (Qhiragana_jisx0208): Deleted.
1728         (Qkatakana_jisx0208): Deleted.
1729         (split_builtin_char): Split `ideograph-daikanwa'.
1730         (Fsplit_char): New implementation for UTF-2000.
1731         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa';
1732         delete symbol `hiragana-jisx0208' and `katakana-jisx0208'.
1733         (complex_vars_of_mule_charset): Add new coded-charset
1734         `ideograph-daikanwa'; delete coded-charset `hiragana-jisx0208' and
1735         `katakana-jisx0208'.
1736
1737         * char-ucs.h (LEADING_BYTE_DAIKANWA): New macro.
1738         (LEADING_BYTE_HIRAGANA_JISX0208): Deleted.
1739         (LEADING_BYTE_KATAKANA_JISX0208): Deleted.
1740         (MIN_CHAR_DAIKANWA): New macro.
1741         (MAX_CHAR_DAIKANWA): New macro.
1742
1743 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1744
1745         * data.c (Fstring_to_number): Don't recognize floating point if
1746         base is not 10.
1747
1748 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1749
1750         * mule-charset.c (Fput_char_attribute): Forgot to `CHECK_CHAR'.
1751
1752 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1753
1754         * mule-charset.c (Qsquare): New variable.
1755         (to_char_code): Add `Qsquare'.
1756         (syms_of_mule_charset): Add new symbol `square'.
1757
1758 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1759
1760         * mule-charset.c (Qcircle): New variable.
1761         (to_char_code): Add `Qcircle'.
1762         (syms_of_mule_charset): Add new symbol `circle'.
1763
1764 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1765
1766         * mule-charset.c (Qfont): New variable.
1767         (to_char_code): Add `Qfont'.
1768         (syms_of_mule_charset): Add new symbol `font'.
1769
1770 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1771
1772         * mule-charset.c (Qsub): New variable.
1773         (to_char_code): Add `Qsub'.
1774         (syms_of_mule_charset): Add new symbol `sub'.
1775
1776 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1777
1778         * mule-charset.c (Fput_char_attribute): Convert each element of
1779         VALUE to GL position if ATTRIBUTE is a GR-set,
1780
1781 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1782
1783         * mule-charset.c (Fput_char_attribute): Allow GR code-point if a
1784         coded-charset is a GR-set.
1785
1786 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1787
1788         * mule-charset.c (Fput_char_attribute): Check each element of
1789         VALUE is a byte if ATTRIBUTE is a coded-charset or its name.
1790
1791 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1792
1793         * mule-charset.c (Vcharset_ethiopic_ucs): New variable in
1794         UTF-2000.
1795         (Qethiopic_ucs): New variable in UTF-2000.
1796         (syms_of_mule_charset): Add new symbol `ethiopic-ucs' in UTF-2000.
1797         (complex_vars_of_mule_charset): Add new coded-charset
1798         `ethiopic-ucs' in UTF-2000.
1799
1800         * char-ucs.h (LEADING_BYTE_ETHIOPIC_UCS): New macro.
1801         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
1802         9)'.
1803         (LEADING_BYTE_KATAKANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
1804         10)'.
1805         (LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 11)'.
1806
1807 1999-11-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
1808
1809         * mule-charset.c (Fset_charset_mapping_table): Fix problem with
1810         `ascii'.
1811
1812 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1813
1814         * mule-charset.c (Vcharacter_variant_table): New variable.
1815         (Q_ucs): New variable.
1816         (Fchar_variants): New function.
1817         (Fput_char_attribute): Register `->ucs' value to
1818         `Vcharacter_variant_table'.
1819         (syms_of_mule_charset): Add new function `char-variants' and new
1820         symbol `->ucs'.
1821         (vars_of_mule_charset): Setup `Vcharacter_variant_table'.
1822
1823 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1824
1825         * mule-charset.c (get_char_code_table): Allow negative character
1826         code.
1827         (put_char_code_table): Likewise.
1828         (Vcharacter_composition_table): New variable.
1829         (Q_decomposition): New variable.
1830         (Qwide): New variable.
1831         (Qnarrow): New variable.
1832         (Qcompat): New variable.
1833         (QnoBreak): New variable.
1834         (Qsuper): New variable.
1835         (Qfraction): New variable.
1836         (to_char_code): New function.
1837         (Fget_composite_char): New function.
1838         (Fput_char_attribute): Register `->decomposition' value to
1839         `Vcharacter_composition_table'.
1840         (syms_of_mule_charset): Add new function `get-composite-char', new
1841         symbol `->decomposition', `wide', `narrow', `compat', `noBreak',
1842         `super' and `fraction'.
1843         (vars_of_mule_charset): Setup `Vcharacter_composition_table'.
1844
1845 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1846
1847         * mule-charset.c (Fchar_attribute_alist): Check the argument is a
1848         character; copy the return value.
1849
1850 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
1851
1852         * char-ucs.h (SPLIT_CHAR): Use `split_builtin_char'.
1853
1854         * mule-charset.c (range_charset_code_point): Must use make_int.
1855         (split_builtin_char): New function.
1856
1857 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
1858
1859         * mule-charset.c (char_byte_table): Change name from
1860         "char-code-table" to "char-byte-table".
1861         (mark_char_code_table): New function.
1862         (char_code_table_equal): New function.
1863         (char_code_table_hash): New function.
1864         (char_code_table_description): New constant.
1865         (char_code_table): New type.
1866         (make_char_code_table): New function.
1867         (copy_char_code_table): New function.
1868         (get_char_code_table): Modify for `char_code_table' type.
1869         (put_char_code_table): Likewise.
1870         (vars_of_mule_charset): Update `utf-2000-version' to 0.12
1871         (Kashiwara).
1872
1873         * char-ucs.h (char_code_table): New type.
1874         (XCHAR_CODE_TABLE): New macro.
1875         (XSETCHAR_CODE_TABLE): New macro.
1876         (CHAR_CODE_TABLE_P): New macro.
1877         (GC_CHAR_CODE_TABLE_P): New macro.
1878         (struct Lisp_Char_Code_Table): New structure.
1879
1880 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
1881
1882         * mule-charset.c (Fmake_charset): Setup byte_offset for
1883         {94|96}^n-set.
1884
1885 1999-11-09  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1886
1887         * mule-charset.c (Fdefine_char): Fix problem with non-UCS
1888         character.
1889
1890 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
1891
1892         * char-ucs.h (SPLIT_CHAR): Don't make new cell if a charset slot
1893         is found.
1894
1895 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
1896
1897         * mule-charset.c (Fget_char_attribute): If ATTRIBUTE is a name of
1898         charset, it is regarded as a charset.
1899         (put_char_attribute): New function in UTF-2000.
1900         (Fput_char_attribute): If ATTRIBUTE is a charset or a name of
1901         charset, mapping-table of the charset is modified.
1902         (Fdefine_char): New function in UTF-2000.
1903         (Fset_charset_mapping_table): Use `put_char_attribute' instead of
1904         `Fput_char_attribute'.
1905         (syms_of_mule_charset): Add new function `define-char' and new
1906         symbol `ucs' in UTF-2000.
1907         (vars_of_mule_charset): Update `utf-2000-version' to 0.11 (Shiki).
1908
1909 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
1910
1911         * mule-charset.c (Fcharset_name): Define `byte_offset' in
1912         non-UTF-2000 configuration.
1913
1914 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
1915
1916         * text-coding.c (char_encode_shift_jis): Use `charset_code_point'
1917         not to use `XCHARSET_ENCODING_TABLE (Vcharset_latin_jisx0201)'.
1918
1919         * mule-charset.c (mark_charset): `cs->encoding_table' has been
1920         deleted.
1921         (make_charset): Don't use `CHARSET_ENCODING_TABLE(cs)'.
1922         (Fset_charset_mapping_table): Likewise.
1923
1924         * char-ucs.h (struct Lisp_Charset): Delete `encoding_table'.
1925         (CHARSET_ENCODING_TABLE): Delete.
1926         (XCHARSET_ENCODING_TABLE): Delete.
1927         (charset_code_point): New interface.
1928
1929 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
1930
1931         * text-coding.c (char_encode_iso2022): Use `charset_code_point'
1932         instead of `charset_get_byte1' and `charset_get_byte2'.
1933
1934         * mule-charset.c, char-ucs.h (charset_get_byte1): Deleted.
1935         (charset_get_byte2): Deleted.
1936
1937 1999-10-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
1938
1939         * char-ucs.h (SPLIT_CHAR): New inline function.
1940         (breakup_char_1): Use `SPLIT_CHAR'.
1941
1942         * mule-charset.c (range_charset_code_point): New function.
1943         (charset_code_point): New function.
1944
1945         * char-ucs.h (range_charset_code_point): New interface.
1946         (breakup_char_1): Use `range_charset_code_point'.
1947
1948 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
1949
1950         * mule-charset.c (Fmake_charset): Delete unused local variable
1951         `code_offset'.
1952
1953         * char-ucs.h (Vcharacter_attribute_table): New extern variable.
1954         (breakup_char_1): Find a charset and code-point in
1955         `Vcharacter_attribute_table'.
1956
1957 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
1958
1959         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1960         to 0.10 (Yao).
1961
1962 1999-10-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
1963
1964         * mule-charset.c (Vcharacter_attribute_table): New variable.
1965         (Fchar_attribute_alist): New function.
1966         (Fget_char_attribute): New function.
1967         (Fput_char_attribute): New function.
1968         (Fset_charset_mapping_table): Setup `Vcharacter_attribute_table'
1969         too.
1970         (syms_of_mule_charset): Add new function `char-attribute-alist',
1971         `get-char-attribute' and `put-char-attribute'.
1972         (vars_of_mule_charset): Setup `Vcharacter_attribute_table'.
1973
1974 1999-10-19  MORIOKA Tomohiko  <tomo@etl.go.jp>
1975
1976         * mule-charset.c (Fmake_charset): Just use
1977         `get_unallocated_leading_byte'.
1978
1979         * char-ucs.h (LEADING_BYTE_*): Use ISO-IR numbers for official
1980         sets; don't use final-byte based number for private sets.
1981
1982 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
1983
1984         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
1985         integer.
1986
1987 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
1988
1989         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1990         to 0.9.
1991
1992 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1993
1994         * regex.c (compile_extended_range): Use `CHAR_CHARSET_ID' instead
1995         of `CHAR_LEADING_BYTE' in UTF-2000.
1996
1997         * insdel.c (find_charsets_in_bufbyte_string): Use
1998         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
1999         (find_charsets_in_emchar_string): Likewise.
2000
2001         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use
2002         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
2003
2004         * char-ucs.h (CHAR_LEADING_BYTE): Deleted.
2005         (CHAR_CHARSET_ID): New macro.
2006
2007 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2008
2009         * chartab.c (get_char_table): Don't use type `Charset_ID' for
2010         charset-id - MIN_LEADING_BYTE.
2011         (put_char_table): Likewise.
2012
2013 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2014
2015         * char-ucs.h (MIN_LEADING_BYTE): Changed to `-0x40'.
2016         (NUM_LEADING_BYTES): Changed to (80 * 3 - MIN_LEADING_BYTE).
2017         (CHARSET_LEADING_BYTE): Don't cast by `Bufbyte'.
2018         (CHARSET_ID_OFFSET): New macro.
2019         (LEADING_BYTE_CONTROL_1): Changed to (CHARSET_ID_OFFSET - 1).
2020         (LEADING_BYTE_UCS_BMP): Changed to (CHARSET_ID_OFFSET - 2).
2021         (LEADING_BYTE_LATIN_VISCII): Changed to (CHARSET_ID_OFFSET - 3).
2022         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
2023         4).
2024         (LEADING_BYTE_KATAKANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
2025         5).
2026         (MIN_LEADING_BYTE_PRIVATE): Changed to `MIN_LEADING_BYTE'.
2027         (MAX_LEADING_BYTE_PRIVATE): Changed to (CHARSET_ID_OFFSET - 6).
2028         (CHARSET_ID_OFFSET_94): Changed to (CHARSET_ID_OFFSET - '0').
2029         (CHARSET_ID_OFFSET_96): Changed to (CHARSET_ID_OFFSET_94 + 80).
2030         (CHARSET_ID_OFFSET_94x94): Changed to (CHARSET_ID_OFFSET_96 + 80).
2031
2032 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2033
2034         * mule-charset.c (next_allocated_leading_byte): New variable in
2035         UTF-2000.
2036         (next_allocated_1_byte_leading_byte): Don't define in UTF-2000.
2037         (next_allocated_2_byte_leading_byte): Don't define in UTF-2000.
2038         (get_unallocated_leading_byte): Simply use
2039         `next_allocated_leading_byte' [ignore dimension] in UTF-2000.
2040         (vars_of_mule_charset): Setup `next_allocated_leading_byte' in
2041         UTF-2000.
2042
2043         * char-ucs.h (MIN_LEADING_BYTE_PRIVATE): New macro.
2044         (MAX_LEADING_BYTE_PRIVATE): New macro.
2045         (MIN_LEADING_BYTE_OFFICIAL_2): Deleted.
2046         (MAX_LEADING_BYTE_OFFICIAL_2): Deleted.
2047
2048 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2049
2050         * mule-charset.c (Fmake_charset): Allocate final-byte based
2051         charset-id for 94-set, 96-set and 94x94-set.
2052
2053 1999-10-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2054
2055         * mule-charset.c (char_byte_table_equal): Fill braces to avoid
2056         ambiguous `else'.
2057         (Fmake_charset): Likewise.
2058         (complex_vars_of_mule_charset): Modify the font registry of
2059         `ucs-bmp' not to match `Ethiopic-Unicode'.
2060
2061 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2062
2063         * mule-charset.c (complex_vars_of_mule_charset): Add font
2064         registory of `ucs-bmp'.
2065
2066 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2067
2068         * text-coding.c (char_encode_iso2022): Ignore non-ISO-2022
2069         coded-charsets in `default-coded-charset-priority-list' when
2070         breaking up a character.
2071
2072         * mule-charset.c (Vcharset_latin_viscii): New variable.
2073         (Qlatin_viscii): New variable.
2074         (make_charset): Don't use `decoding_table'.
2075         (Fmake_charset): Regard graphic = 2 as 256^n-set; setup
2076         byte_offset.
2077         (Fset_charset_mapping_table): New implementation.
2078         (syms_of_mule_charset): Add new symbol `latin-viscii'.
2079         (complex_vars_of_mule_charset): Set `graphic' attribute of charset
2080         `ucs-bmp' and `latin_viscii' to 2; change font registry of charset
2081         `latin-viscii-lower' to "MULEVISCII-LOWER"; change font registry
2082         of charset `latin-viscii-upper' to "MULEVISCII-UPPER"; add new
2083         charset `latin_viscii'.
2084
2085         * char-ucs.h (LEADING_BYTE_LATIN_VISCII): New macro.
2086         (CHARSET_TYPE_94X94): Change to 1 from 2.
2087         (CHARSET_TYPE_96): Change to 2 from 1.
2088         (CHARSET_TYPE_128): New macro.
2089         (CHARSET_TYPE_128X128): Change to 5 from 4.
2090         (CHARSET_TYPE_256): New macro.
2091         (CHARSET_TYPE_256X256): Change to 7 from 5.
2092         (MAKE_CHAR): Use `XCHARSET_BYTE_OFFSET(charset)'.
2093
2094 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2095
2096         * text-coding.c (char_encode_shift_jis): Refer
2097         `XCHARSET_ENCODING_TABLE(Vcharset_latin_jisx0201)' instead of
2098         `XCHARSET_TO_BYTE1_TABLE(Vcharset_latin_jisx0201)'.
2099
2100         * mule-charset.c (mark_char_byte_table): New function in UTF-2000.
2101         (char_byte_table_equal): New function in UTF-2000.
2102         (char_byte_table_hash): New function in UTF-2000.
2103         (char_byte_table_description): New constant in UTF-2000.
2104         (char_byte_table): New type in UTF-2000.
2105         (make_char_byte_table): New function in UTF-2000.
2106         (copy_char_byte_table): New function in UTF-2000.
2107         (make_char_code_table): New macro in UTF-2000.
2108         (get_char_code_table): New function in UTF-2000.
2109         (put_char_code_table): New function in UTF-2000.
2110         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
2111         (charset_description): Add setting in UTF-2000.
2112         (make_charset): Setup `CHARSET_ENCODING_TABLE(cs)' instead of
2113         `CHARSET_TO_BYTE1_TABLE(cs)'.
2114         (charset_get_byte1): Refer `XCHARSET_ENCODING_TABLE(charset)'
2115         instead of `XCHARSET_TO_BYTE1_TABLE(charset)'.
2116         (charset_get_byte2): Refer `XCHARSET_ENCODING_TABLE(charset)'
2117         instead of `XCHARSET_TO_BYTE2_TABLE(charset)'.
2118         (Fset_charset_mapping_table): Setup `CHARSET_ENCODING_TABLE(cs)'
2119         instead of `CHARSET_TO_BYTE1_TABLE(cs)' and
2120         `CHARSET_TO_BYTE2_TABLE(cs)'.
2121
2122         * char-ucs.h (char_byte_table): New type.
2123         (XCHAR_BYTE_TABLE): New macro.
2124         (XSETCHAR_BYTE_TABLE): New macro.
2125         (CHAR_BYTE_TABLE_P): New macro.
2126         (GC_CHAR_BYTE_TABLE_P): New macro.
2127         (struct Lisp_Char_Byte_Table): New structure.
2128         (get_char_code_table): New interface.
2129         (Emchar_to_byte_table): Deleted.
2130         (get_byte_from_character_table): Deleted.
2131         (struct Lisp_Charset): Add `encoding_table'; delete
2132         `to_byte1_table' and `to_byte2_table'.
2133         (CHARSET_ENCODING_TABLE): New macro.
2134         (CHARSET_TO_BYTE1_TABLE): Deleted.
2135         (CHARSET_TO_BYTE2_TABLE): Deleted.
2136         (XCHARSET_ENCODING_TABLE): New macro.
2137         (XCHARSET_TO_BYTE1_TABLE): Deleted.
2138         (XCHARSET_TO_BYTE2_TABLE): Deleted.
2139
2140 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
2141
2142         * mule-charset.c (syms_of_mule_charset): Delete charset alias
2143         `vietnamese-viscii-*'.
2144
2145 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
2146
2147         * mule-charset.c (Qvietnamese_viscii_lower): New variable.
2148         (Qvietnamese_viscii_upper): New variable.
2149         (Fdefine_charset_alias): New function.
2150         (syms_of_mule_charset): Add new function `define-charset-alias'.
2151         (syms_of_mule_charset): Rename charset `vietnamese-viscii-*' to
2152         `latin-viscii-*'; define `vietnamese-viscii-*' as aliases for
2153         `latin-viscii-*'.
2154
2155 1999-10-04  MORIOKA Tomohiko  <tomo@etl.go.jp>
2156
2157         * char-ucs.h (MIN_CHAR_OBS_94x94): New macro.
2158         (MAX_CHAR_OBS_94x94): New macro.
2159         (breakup_char_1): Support obsolete XEmacs-UCS private code space
2160         for 94x94 sets.
2161
2162         * mule-charset.c (put_byte_from_character_table): Change unit size
2163         from 128 to 256.
2164         (mark_charset): Don't mark `cs->decoding_table' if `UTF2000' is
2165         not defined.
2166         (Fmake_reverse_direction_charset): Modify dummy argument of
2167         `make_charset' for non-UTF-2000 environment.
2168
2169 1999-10-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2170
2171         * char-ucs.h (MAKE_CHAR): Allow nested decoding-table.
2172
2173         * mule-charset.c (destroy_byte_from_character_table): New macro.
2174         (latin_jisx0201_to_ucs): Deleted.
2175         (latin_iso8859_2_to_ucs): Deleted.
2176         (latin_iso8859_3_to_ucs): Deleted.
2177         (latin_iso8859_4_to_ucs): Deleted.
2178         (latin_iso8859_9_to_ucs): Deleted.
2179         (latin_viscii_lower_to_ucs): Deleted.
2180         (latin_viscii_upper_to_ucs): Deleted.
2181         (mark_charset): Mark `cs->decoding_table'.
2182         (Fcharset_mapping_table): Fix DOC-string.
2183         (Fset_charset_mapping_table): New function.
2184         (syms_of_mule_charset): Add nwe function
2185         `set-charset-mapping-table'.
2186         (complex_vars_of_mule_charset): Don't setup and use
2187         `latin_*_to_ucs'.
2188
2189 1999-10-01  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2190
2191         * char-ucs.h (MAKE_CHAR): Check the result for range-represented
2192         charset.
2193
2194 1999-09-30  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2195
2196         * mule-charset.c (Vcharset_hiragana_jisx0208): New variable.
2197         (Vcharset_katakana_jisx0208): New variable.
2198         (Qhiragana_jisx0208): New variable.
2199         (Qkatakana_jisx0208): New variable.
2200         (make_charset): Add new argument `byte_offset'.
2201         (charset_get_byte1): Modify for new coded-charset definition; use
2202         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
2203         `XCHARSET_BYTE_OFFSET'.
2204         (Fmake_charset): Modify for `make_charset'.
2205         (Fmake_reverse_direction_charset): Likewise.
2206         (syms_of_mule_charset): Add new symbols `hiragana-jisx0208' and
2207         `katakana-jisx0208'.
2208         (complex_vars_of_mule_charset): Modify for `make_charset'; quote
2209         `.'  in font registry of charset `katakana-jisx0201',
2210         `latin-jisx0201', `vietnamese-viscii-lower' and
2211         `vietnamese-viscii-upper'; modify DOC-string of charset
2212         `japanese-jisx0208-1978' and `japanese-jisx0208'; modify font
2213         registry of charset `japanese-jisx0208' not to use font for JIS
2214         X0208:1990; add new charset `hiragana-jisx0208' and
2215         `katakana-jisx0208'.
2216
2217         * char-ucs.h (LEADING_BYTE_HIRAGANA_JISX0208): New macro.
2218         (LEADING_BYTE_KATAKANA_JISX0208): New macro.
2219         (struct Lisp_Charset): Add `byte_offset'.
2220         (CHARSET_BYTE_OFFSET): New macro.
2221         (XCHARSET_UCS_MIN): New macro.
2222         (XCHARSET_UCS_MAX): New macro.
2223         (XCHARSET_CODE_OFFSET): New macro.
2224         (XCHARSET_BYTE_OFFSET): New macro.
2225         (MIN_CHAR_HIRAGANA): New macro.
2226         (MAX_CHAR_HIRAGANA): New macro.
2227         (MIN_CHAR_KATAKANA): New macro.
2228         (MAX_CHAR_KATAKANA): New macro.
2229         (MAKE_CHAR): Modify for new coded-charset definition; use
2230         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
2231         `XCHARSET_BYTE_OFFSET'.
2232
2233 1999-09-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
2234
2235         * mule-charset.c (CHAR96): Deleted.
2236         (latin_jisx0201_to_ucs): Type is changed from array of <Emchar> to
2237         <Lisp_Object>.
2238         (latin_iso8859_2_to_ucs): Likewise.
2239         (latin_iso8859_3_to_ucs): Likewise.
2240         (latin_iso8859_4_to_ucs): Likewise.
2241         (latin_iso8859_9_to_ucs): Likewise.
2242         (latin_viscii_lower_to_ucs): Likewise.
2243         (latin_viscii_upper_to_ucs): Likewise.
2244         (latin_tcvn5712_to_ucs): Commented out.
2245         (make_charset): Change type of argument `decoding_table' from
2246         <Emchar*> to <Lisp_Object> [vector of characters].
2247         (Fmake_charset): Modify for `make_charset'.
2248         (Fmake_reverse_direction_charset): Likewise.
2249         (Fcharset_mapping_table): New function in UTF-2000.
2250         (syms_of_mule_charset): Setup `Fcharset_mapping_table' in
2251         UTF-2000.
2252         (complex_vars_of_mule_charset): Modify for type change of
2253         `*_to_ucs'; modify for `make_charset'.
2254
2255         * char-ucs.h (struct Lisp_Charset): Change type of
2256         `decoding_table' from <Emchar*> to <Lisp_Object>.
2257         (MAKE_CHAR): Modify for new specification of `decoding_table'.
2258
2259 1999-09-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
2260
2261         * mule-charset.c (Fmake_reverse_direction_charset): Fix compile
2262         error with non-UTF-2000-Mule.
2263
2264 1999-09-21  MORIOKA Tomohiko  <tomo@etl.go.jp>
2265
2266         * mule-charset.c (Vcharset_chinese_cns11643_3): Deleted [defined
2267         in lisp again].
2268         (Vcharset_chinese_cns11643_4): Likewise.
2269         (Vcharset_chinese_cns11643_5): Likewise.
2270         (Vcharset_chinese_cns11643_6): Likewise.
2271         (Vcharset_chinese_cns11643_7): Likewise.
2272         (Qchinese_cns11643_3): Likewise.
2273         (Qchinese_cns11643_4): Likewise.
2274         (Qchinese_cns11643_5): Likewise.
2275         (Qchinese_cns11643_6): Likewise.
2276         (Qchinese_cns11643_7): Likewise.
2277         (syms_of_mule_charset): Move definitions for `chinese-cns11643-3',
2278         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
2279         and `chinese-cns11643-7' to lisp/mule/chinese.el.
2280         (complex_vars_of_mule_charset): Likewise.
2281
2282 1999-09-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
2283
2284         * mule-charset.c (charset_get_byte1): Fix bug about 94- and
2285         96-set.
2286         (Fmake_reverse_direction_charset): Inherit CHARSET_DECODING_TABLE,
2287         CHARSET_UCS_MIN, CHARSET_UCS_MAX and CHARSET_CODE_OFFSET.
2288
2289 1999-09-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
2290
2291         * char-ucs.h (MIN_CHAR_HALFWIDTH_KATAKANA): Changed to 0xFF61 from
2292         0xFF60.
2293         (MAKE_CHAR): Change offset for katakana-jisx0201 to 33 from 0x20.
2294         (breakup_char_1): Likewise.
2295
2296         * text-coding.c (char_encode_iso2022): Keep designated charsets if
2297         one of them includes the specified character.
2298
2299 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
2300
2301         * mule-charset.c: Update `utf-2000-version' to 0.8 (Kami).
2302
2303 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
2304
2305         * char-ucs.h (MAKE_CHAR): Fix problem in 2-dimension charset.
2306
2307 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
2308
2309         * mule-charset.c (latin_iso8859_2_to_ucs NULL): Add pseudo
2310         definition for non-UTF-2000 Mule.
2311         (latin_iso8859_3_to_ucs): Likewise.
2312         (latin_iso8859_4_to_ucs): Likewise.
2313         (latin_iso8859_9_to_ucs): Likewise.
2314         (latin_jisx0201_to_ucs): Likewise.
2315         (MIN_CHAR_THAI): Likewise.
2316         (MAX_CHAR_THAI): Likewise.
2317         (MIN_CHAR_GREEK): Likewise.
2318         (MAX_CHAR_GREEK): Likewise.
2319         (MIN_CHAR_HEBREW): Likewise.
2320         (MAX_CHAR_HEBREW): Likewise.
2321         (MIN_CHAR_HALFWIDTH_KATAKANA): Likewise.
2322         (MAX_CHAR_HALFWIDTH_KATAKANA): Likewise.
2323         (MIN_CHAR_CYRILLIC): Likewise.
2324         (MAX_CHAR_CYRILLIC): Likewise.
2325
2326 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
2327
2328         * char-ucs.h (breakup_char_1): Use
2329         `Vdefault_coded_charset_priority_list' for hebrew-iso8859-8,
2330         thai-tis620 and katakana-jisx0201 area.
2331
2332 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2333
2334         * char-ucs.h (breakup_char_1): Use
2335         `Vdefault_coded_charset_priority_list' for cyrillic-iso8859-5
2336         area.
2337
2338         * text-coding.c (reset_encoding_stream): Fixed.
2339         (char_encode_ucs4): Delete `& 255'.
2340
2341         * char-ucs.h (breakup_char_1): Use
2342         `Vdefault_coded_charset_priority_list' for greek-iso8859-7 area.
2343
2344 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2345
2346         * file-coding.c (Fmake_coding_system): Don't set up
2347         `codesys->fixed.size'.
2348         (encode_coding_no_conversion): Don't refer
2349         `str->codesys->fixed.size'.
2350
2351 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2352
2353         * mule-charset.c, char-ucs.h (latin_a_char_to_charset): Deleted.
2354         (latin_a_char_to_byte1): Deleted.
2355         (latin_a_char_to_byte2): Deleted.
2356
2357 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2358
2359         * mule-charset.c (make_charset): Add new argument `ucs_min',
2360         `ucs_max' and `code_offset'.
2361         (charset_get_byte1): New implementation [delete specific charset
2362         depended implementations].
2363         (Fmake_charset): Modify for `make_charset'.
2364         (Fmake_reverse_direction_charset): Likewise.
2365         (complex_vars_of_mule_charset): Likewise.
2366
2367         * char-ucs.h (struct Lisp_Charset): Add `ucs_min', `ucs_max' and
2368         `code_offset'.
2369         (CHARSET_UCS_MIN): New macro.
2370         (CHARSET_UCS_MAX): New macro.
2371         (CHARSET_CODE_OFFSET): New macro.
2372         (MAKE_CHAR): Delete charset depended definitions [except
2373         katakana-jisx0201].
2374
2375 1999-09-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
2376
2377         * char-ucs.h (breakup_char_1): Use
2378         `Vdefault_coded_charset_priority_list' for C0-Controls,
2379         Basic-Latin, C1-Controls and Latin-1-Supplement area.
2380
2381 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2382
2383         * char-ucs.h (charset_get_byte1): New function.
2384         (XCHARSET_GET_BYTE1): Deleted.
2385         (charset_get_byte2): New function.
2386         (XCHARSET_GET_BYTE2): Deleted.
2387         (Vdefault_coded_charset_priority_list): New external variable.
2388         (breakup_char_1): Use `charset_get_byte1', `charset_get_byte2' and
2389         `Vdefault_preferred_coded_charset_list'.
2390
2391         * mule-charset.c (charset_get_byte1): New function.
2392         (charset_get_byte2): New function.
2393         (Vdefault_coded_charset_priority_list): New variable.
2394         (vars_of_mule_charset): Add new variable
2395         `default-coded-charset-priority-list'.
2396
2397 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2398
2399         * char-ucs.h (XCHARSET_GET_BYTE1): New inline function.
2400         (XCHARSET_GET_BYTE2): New inline function.
2401         (breakup_char_1): Use `XCHARSET_GET_BYTE1' and
2402         `XCHARSET_GET_BYTE2'.
2403
2404 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2405
2406         * mule-charset.c (make_charset): Initialize
2407         `CHARSET_TO_BYTE1_TABLE(cs)' and `CHARSET_TO_BYTE2_TABLE(cs)' by
2408         NULL if table is not defined.
2409
2410 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2411
2412         * text-coding.c (char_encode_shift_jis): Use
2413         `XCHARSET_TO_BYTE1_TABLE' for `Vcharset_latin_jisx0201' instead of
2414         `ucs_to_latin_jisx0201'.
2415
2416         * mule-charset.c (ucs_to_latin_jisx0201): Deleted.
2417         (ucs_to_latin_iso8859_2): Deleted.
2418         (ucs_to_latin_iso8859_3): Deleted.
2419         (ucs_to_latin_iso8859_4): Deleted.
2420         (ucs_to_latin_iso8859_9): Deleted.
2421         (ucs_to_latin_viscii_lower): Deleted.
2422         (ucs_to_latin_viscii_upper): Deleted.
2423         (ucs_to_latin_tcvn5712): Deleted.
2424         (make_charset): Add new argument `decoding_table'; set up
2425         `CHARSET_DECODING_TABLE(cs)' in UTF-2000; set up
2426         `CHARSET_TO_BYTE1_TABLE(cs)' for 94-set and 96-set if
2427         `decoding_table' is defined in UTF-2000.
2428         (Fmake_charset): Modify for `make_charset'.
2429         (Fmake_reverse_direction_charset): Likewise.
2430         (complex_vars_of_mule_charset): Likewise; delete `GENERATE_94_SET'
2431         and `GENERATE_96_SET'.
2432
2433         * char-ucs.h (latin_jisx0201_to_ucs): Deleted.
2434         (ucs_to_latin_jisx0201): Deleted.
2435         (latin_iso8859_2_to_ucs): Deleted.
2436         (ucs_to_latin_iso8859_2): Deleted.
2437         (latin_iso8859_3_to_ucs): Deleted.
2438         (ucs_to_latin_iso8859_3): Deleted.
2439         (latin_iso8859_4_to_ucs): Deleted.
2440         (ucs_to_latin_iso8859_4): Deleted.
2441         (latin_iso8859_9_to_ucs): Deleted.
2442         (ucs_to_latin_iso8859_9): Deleted.
2443         (latin_viscii_lower_to_ucs): Deleted.
2444         (ucs_to_latin_viscii_lower): Deleted.
2445         (latin_viscii_upper_to_ucs): Deleted.
2446         (ucs_to_latin_viscii_upper): Deleted.
2447         (struct Lisp_Charset): Renamed `encoding_table' to
2448         `to_byte1_table'; add `to_byte2_table'.
2449         (CHARSET_DECODING_TABLE): New macro.
2450         (CHARSET_TO_BYTE1_TABLE): New macro.
2451         (CHARSET_TO_BYTE2_TABLE): New macro.
2452         (XCHARSET_DECODING_TABLE): New macro.
2453         (XCHARSET_TO_BYTE1_TABLE): New macro.
2454         (XCHARSET_TO_BYTE2_TABLE): New macro.
2455         (MAKE_CHAR): Use `XCHARSET_DECODING_TABLE'; don't use `*_to_ucs'
2456         tables.
2457         (breakup_char_1): Use `XCHARSET_TO_BYTE1_TABLE' if it is defined;
2458         don't use `ucs_to_*' tables.
2459
2460 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2461
2462         * text-coding.c (Fmake_coding_system): Don't set up
2463         `codesys->fixed.size'.
2464         (encode_coding_no_conversion): Use `if' instead of `switch'.
2465
2466         * file-coding.h (struct Lisp_Coding_System): Delete `fixed.size'.
2467
2468 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2469
2470         * mule-charset.c (make_charset): Delete argument `rep_bytes'.
2471         (Fmake_charset): Modify for `make_charset'.
2472         (Fmake_reverse_direction_charset): Likewise.
2473         (complex_vars_of_mule_charset): Likewise.
2474
2475 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2476
2477         * text-coding.c (char_encode_shift_jis): Use table
2478         `ucs_to_latin_jisx0201' and BREAKUP_CHAR.
2479
2480 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2481
2482         * text-coding.c (text_encode_generic): Use `if' instead of
2483         `switch'.
2484         (decode_coding_sjis): Use `MAKE_CHAR' and `DECODE_ADD_UCS_CHAR' to
2485         decode JIS-Latin.
2486
2487 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2488
2489         * text-coding.c (encode_coding_sjis): Deleted.
2490         (char_encode_shift_jis): New function.
2491         (char_finish_shift_jis): New function.
2492         (reset_encoding_stream): Set up `encode_char' and `finish' for
2493         `CODESYS_UCS4' and `CODESYS_SHIFT_JIS'.
2494         (mule_encode): Use generic encoder for `CODESYS_SHIFT_JIS'.
2495         (char_encode_utf8): Treat `eol_type'.
2496
2497 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2498
2499         * file-coding.c (decode_coding_iso2022): Use
2500         `DECODE_ADD_UCS_CHAR'; don't use `XCHARSET_REP_BYTES'.
2501
2502 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2503
2504         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2505         to 0.7 (Hirano).
2506
2507 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2508
2509         * char-lb.h (CHAR_COLUMNS): New macro.
2510
2511 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2512
2513         * text-coding.c (char_encode_ucs4): New function.
2514         (char_finish_ucs4): New function.
2515         (encode_coding_ucs4): Deleted.
2516         (mule_encode): Use generic encoder for `CODESYS_UCS4'.
2517         (text_encode_generic): Delete local variable `charset' and `half'.
2518         (ucs_to_mule_table): Deleted.
2519         (mule_to_ucs_table): Deleted.
2520         (Fset_ucs_char): Deleted.
2521         (ucs_to_char): Deleted.
2522         (Fucs_char): Deleted.
2523         (Fset_char_ucs): Deleted.
2524         (Fchar_ucs): Deleted.
2525         (decode_ucs4): Deleted.
2526         (mule_char_to_ucs4): Deleted.
2527         (encode_ucs4): Deleted.
2528         (decode_coding_ucs4): Use `DECODE_ADD_UCS_CHAR'.
2529         (decode_coding_utf8): Likewise.
2530         (decode_coding_iso2022): Likewise; don't use `XCHARSET_REP_BYTES'.
2531         (char_encode_iso2022): Fixed.
2532         (syms_of_file_coding): Delete `Fset_ucs_char', `Fucs_char',
2533         `Fset_char_ucs' and `Fchar_ucs'.
2534         (complex_vars_of_file_coding): Don't initialize
2535         `ucs_to_mule_table'.
2536
2537         * objects-tty.c (tty_initialize_font_instance): Don't use
2538         `XCHARSET_COLUMNS'.
2539
2540         * mule-charset.c (make_charset): Don't set up CHARSET_REP_BYTES in
2541         UTF-2000.
2542
2543         * redisplay-tty.c (tty_output_display_block): Use `CHAR_COLUMNS'
2544         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
2545
2546         * insdel.c (bufbyte_string_displayed_columns): Use `CHAR_COLUMNS'
2547         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
2548         (emchar_string_displayed_columns): Likewise.
2549
2550         * indent.c (column_at_point): Use `CHAR_COLUMNS' instead of
2551         `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
2552         (string_column_at_point): Likewise.
2553         (Fmove_to_column): Likewise.
2554
2555         * char-ucs.h (struct Lisp_Charset): Delete `rep_bytes'; add
2556         `encoding_table' and `decoding_table'.
2557         (CHARSET_REP_BYTES): Deleted.
2558         (XCHARSET_REP_BYTES): Deleted.
2559         (XCHARSET_COLUMNS): Deleted.
2560         (CHAR_COLUMNS): New macro.
2561         (lookup_composite_char): Deleted unconditionally.
2562         (composite_char_string): Likewise.
2563
2564 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2565
2566         * char-ucs.h (Emchar_to_byte_table): New type.
2567         (get_byte_from_character_table): New function interface.
2568         (Vcharset_latin_jisx0201): New variable.
2569         (latin_jisx0201_to_ucs): New variable.
2570         (ucs_to_latin_jisx0201): New variable.
2571         (Vcharset_latin_iso8859_2): New variable.
2572         (latin_iso8859_2_to_ucs): New variable.
2573         (ucs_to_latin_iso8859_2): New variable.
2574         (Vcharset_latin_iso8859_3): New variable.
2575         (latin_iso8859_3_to_ucs): New variable.
2576         (ucs_to_latin_iso8859_3): New variable.
2577         (Vcharset_latin_iso8859_4): New variable.
2578         (latin_iso8859_4_to_ucs): New variable.
2579         (ucs_to_latin_iso8859_4): New variable.
2580         (Vcharset_latin_iso8859_9): New variable.
2581         (latin_iso8859_9_to_ucs): New variable.
2582         (ucs_to_latin_iso8859_9): New variable.
2583         (Vcharset_latin_viscii_lower): New variable.
2584         (latin_viscii_lower_to_ucs): New variable.
2585         (ucs_to_latin_viscii_lower): New variable.
2586         (Vcharset_latin_viscii_upper): New variable.
2587         (latin_viscii_upper_to_ucs): New variable.
2588         (ucs_to_latin_viscii_upper): New variable.
2589         (CHARSET_ID_OFFSET_94): Changed from 0x60 to 0x55.
2590         (LEADING_BYTE_LATIN_VISCII_LOWER): New macro.
2591         (LEADING_BYTE_LATIN_VISCII_UPPER): New macro.
2592         (MAKE_CHAR): Map `latin-iso8859-2', `latin-iso8859-3',
2593         `latin-iso8859-4', `latin-iso8859-9', `latin-jisx0201',
2594         `vietnamese-viscii-lower' and `vietnamese-viscii-upper' to BMP.
2595         (breakup_char_1): Use `ucs_to_latin_iso8859_2',
2596         `ucs_to_latin_iso8859_3', `ucs_to_latin_iso8859_4',
2597         `ucs_to_latin_iso8859_9', `ucs_to_latin_viscii_lower',
2598         `ucs_to_latin_viscii_upper' and `ucs_to_latin_jisx0201' tables.
2599
2600         * mule-charset.c (Vcharset_latin_viscii_lower): New variable.
2601         (Vcharset_latin_viscii_upper): New variable.
2602         (make_byte_from_character_table): New function.
2603         (put_byte_from_character_table): New function.
2604         (get_byte_from_character_table): New function.
2605         (CHAR96): New macro.
2606         (ucs_to_latin_jisx0201): New variable.
2607         (latin_jisx0201_to_ucs): New variable.
2608         (ucs_to_latin_iso8859_2): New variable.
2609         (latin_iso8859_2_to_ucs): New variable.
2610         (ucs_to_latin_iso8859_3): New variable.
2611         (latin_iso8859_3_to_ucs): New variable.
2612         (ucs_to_latin_iso8859_4): New variable.
2613         (latin_iso8859_4_to_ucs): New variable.
2614         (ucs_to_latin_iso8859_9): New variable.
2615         (latin_iso8859_9_to_ucs): New variable.
2616         (ucs_to_latin_viscii_lower): New variable.
2617         (latin_viscii_lower_to_ucs): New variable.
2618         (ucs_to_latin_viscii_upper): New variable.
2619         (latin_viscii_upper_to_ucs): New variable.
2620         (ucs_to_latin_tcvn5712): New variable.
2621         (latin_tcvn5712_to_ucs): New variable.
2622         (Qlatin_viscii_lower): New variable.
2623         (Qlatin_viscii_upper): New variable.
2624         (syms_of_mule_charset): Set up new symbol
2625         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'.
2626         (complex_vars_of_mule_charset): Set up new charset
2627         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'; new macro
2628         `GENERATE_94_SET' and `GENERATE_96_SET'; use them to generate
2629         `ucs_to_<CHARSET>' tables.
2630
2631 1999-09-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
2632
2633         * text-coding.c: New file.
2634
2635 1999-09-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
2636
2637         * mule-charset.c (Fmake_char): Fix problem of 256-set.
2638
2639         * char-ucs.h (Vcharset_ucs_bmp): New variable.
2640         (MAKE_CHAR): Modify for `ucs-bmp'.
2641         (breakup_char_1): Return `ucs-bmp' and code point of BMP for
2642         non-MULE characters of BMP.
2643
2644 1999-09-06  MORIOKA Tomohiko  <tomo@etl.go.jp>
2645
2646         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2647         to 0.6.
2648
2649 1999-09-05  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2650
2651         * lstream.h:
2652         - Include multibyte.h instead of character.h for `BYTE_ASCII_P'.
2653         - Include character.h for `CHAR_ASCII_P'.
2654
2655         * mb-multibyte.h (CHAR_MULTIBYTE_P): Moved from mule-charset.h.
2656
2657         * mule-charset.h (CHAR_MULTIBYTE_P): Moved to mb-multibyte.h.
2658         (CHAR_ASCII_P): Don't use `CHAR_MULTIBYTE_P'.
2659
2660         * mb-multibyte.h (BYTE_ASCII_P): Moved from char-ucs.h.
2661         (BYTE_C0_P): Likewise.
2662         (BYTE_C1_P): Likewise.
2663         (Lstream_get_emchar_1): Likewise.
2664         (Lstream_fput_emchar): Likewise.
2665         (Lstream_funget_emchar): Likewise.
2666         (copy_internal_to_external): Likewise.
2667         (copy_external_to_internal): Likewise.
2668
2669         * char-ucs.h (BYTE_ASCII_P): Moved to mb-multibyte.h.
2670         (BYTE_C0_P): Likewise.
2671         (BYTE_C1_P): Likewise.
2672         (Lstream_get_emchar_1): Likewise.
2673         (Lstream_fput_emchar): Likewise.
2674         (Lstream_funget_emchar): Likewise.
2675         (copy_internal_to_external): Likewise.
2676         (copy_external_to_internal): Likewise.
2677
2678         * mb-1byte.h (BYTE_ASCII_P): Moved from buffer.h.
2679         (REP_BYTES_BY_FIRST_BYTE): Likewise.
2680
2681         * buffer.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-1byte.h.
2682         (BYTE_ASCII_P): Moved to mb-1byte.h.
2683
2684 1999-09-04  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2685
2686         * mb-utf-8.h, mb-lb.h: Include mb-multibyte.h.
2687
2688         * multibyte.h: Include mb-1byte.h in unibyte-XEmacs.
2689         (MAX_EMCHAR_LEN): Moved to mb-1byte.h.
2690         (VALID_CHARPTR_P): Moved to mb-*byte.h.
2691         (VALIDATE_CHARPTR_BACKWARD): Likewise.
2692         (VALIDATE_CHARPTR_FORWARD): Likewise.
2693         (simple_charptr_emchar): Moved to mb-multibyte.h.
2694         (simple_set_charptr_emchar): Likewise.
2695         (simple_charptr_copy_char): Likewise.
2696         (non_ascii_charptr_emchar): Likewise.
2697         (non_ascii_set_charptr_emchar): Likewise.
2698         (non_ascii_charptr_copy_char): Likewise.
2699         (charptr_emchar): Moved to mb-*byte.h.
2700         (set_charptr_emchar): Likewise.
2701         (charptr_copy_char): Likewise.
2702
2703         * mb-1byte.h, mb-multibyte.h: New files.
2704
2705 1999-09-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2706
2707         * mb-utf-8.h (MULTIBYTE): New macro.
2708         (MAX_EMCHAR_LEN): Moved from buffer.h.
2709         (REP_BYTES_BY_FIRST_BYTE): Moved from char-ucs.h.
2710
2711         * char-ucs.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-utf-8.h.
2712
2713         * mb-lb.h, multibyte.h: New files.
2714
2715         * char-1byte.h (Charset_ID): Moved from buffer.h.
2716         (MIN_LEADING_BYTE): Likewise.
2717         (LEADING_BYTE_ASCII): Likewise.
2718         (NUM_LEADING_BYTES): Likewise.
2719         (CHARSETP): Likewise.
2720         (CHARSET_BY_LEADING_BYTE): Likewise.
2721         (XCHARSET_LEADING_BYTE): Likewise.
2722         (XCHARSET_GRAPHIC): Likewise.
2723         (XCHARSET_COLUMNS): Likewise.
2724         (XCHARSET_DIMENSION): Likewise.
2725         (CHAR_CHARSET): Likewise.
2726         (CHAR_LEADING_BYTE): Likewise.
2727         (BREAKUP_CHAR): Likewise.
2728         (Vcharset_ascii): Likewise.
2729
2730         * buffer.h: Include multibyte.h unconditionally.
2731         (VALID_CHARPTR_P): Moved to multibyte.h.
2732         (ASSERT_VALID_CHARPTR): Likewise.
2733         (REAL_INC_CHARPTR): Likewise.
2734         (REAL_INC_CHARBYTIND): Likewise.
2735         (REAL_DEC_CHARPTR): Likewise.
2736         (INC_CHARPTR): Likewise.
2737         (INC_CHARBYTIND): Likewise.
2738         (DEC_CHARPTR): Likewise.
2739         (VALIDATE_CHARPTR_BACKWARD): Likewise.
2740         (VALIDATE_CHARPTR_FORWARD): Likewise.
2741         (charptr_n_addr): Likewise.
2742         (MAX_EMCHAR_LEN): Moved to mb-*.h.
2743         (simple_charptr_emchar): Moved to multibyte.h.
2744         (simple_set_charptr_emchar): Likewise.
2745         (simple_charptr_copy_char): Likewise.
2746         (non_ascii_charptr_emchar): Likewise.
2747         (non_ascii_set_charptr_emchar): Likewise.
2748         (non_ascii_charptr_copy_char): Likewise.
2749         (charptr_emchar): Likewise.
2750         (set_charptr_emchar): Likewise.
2751         (charptr_copy_char): Likewise.
2752         (charptr_emchar_n): Likewise.
2753         (Charset_ID): Moved to char-1byte.h.
2754         (Vcharset_ascii): Likewise.
2755         (CHAR_CHARSET): Likewise.
2756         (CHAR_LEADING_BYTE): Likewise.
2757         (LEADING_BYTE_ASCII): Likewise.
2758         (NUM_LEADING_BYTES): Likewise.
2759         (MIN_LEADING_BYTE): Likewise.
2760         (CHARSETP): Likewise.
2761         (CHARSET_BY_LEADING_BYTE): Likewise.
2762         (XCHARSET_LEADING_BYTE): Likewise.
2763         (XCHARSET_GRAPHIC): Likewise.
2764         (XCHARSET_COLUMNS): Likewise.
2765         (XCHARSET_DIMENSION): Likewise.
2766         (BREAKUP_CHAR): Likewise.
2767
2768 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2769
2770         * character.h: Add document about interface for characters.
2771
2772         * char-ucs.h (CHAR_ASCII_P): Modify name of argument.
2773         (MAKE_CHAR): Delete comment about
2774         `FIELD2_TO_OFFICIAL_LEADING_BYTE' and
2775         `FIELD2_TO_PRIVATE_LEADING_BYTE'.
2776         (BREAKUP_CHAR): Modify name of arguments.
2777         (CHAR_CHARSET): Modify name of argument.
2778
2779         * buffer.h: Delete document about Emchar accessors.
2780
2781 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2782
2783         * character.h (CHAR_INTP): Moved from buffer.h
2784         (CHAR_OR_CHAR_INTP): Likewise.
2785         (XCHAR_OR_CHAR_INT): Likewise.
2786         (CHECK_CHAR_COERCE_INT): Likewise.
2787
2788         * buffer.h (CHAR_INTP): Moved to character.h
2789         (CHAR_OR_CHAR_INTP): Likewise.
2790         (XCHAR_OR_CHAR_INT): Likewise.
2791         (CHECK_CHAR_COERCE_INT): Likewise.
2792
2793 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2794
2795         * character.h:
2796         - Move definitions about UCS-2000 (UCS-4) to char-ucs.h.
2797         - Include char-1byte.h, char-lb.h or char-ucs.h.
2798
2799         * mb-utf-8.h (CHAR_ASCII_P): Moved to char-ucs.h.
2800
2801         * buffer.h: Include character unconditionally.
2802         (valid_char_p): Moved to char-*.h.
2803         (non_ascii_valid_char_p): Moved to char-lb.h.
2804
2805         * char-1byte.h, char-lb.h, char-ucs.h: New files.
2806
2807 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2808
2809         * mule-ccl.c (ccl_driver): Don't define `CCL_WriteMultibyteChar2'
2810         in UTF-2000 because it is not ported yet and not to use
2811         `FIELD2_TO_OFFICIAL_LEADING_BYTE', `MIN_LEADING_BYTE_OFFICIAL_2',
2812         `FIELD1_TO_OFFICIAL_LEADING_BYTE' and
2813         `FIELD1_TO_PRIVATE_LEADING_BYTE'.
2814
2815         * mb-utf-8.h (CHAR_MULTIBYTE_P): Moved from character.h.
2816         (CHAR_ASCII_P): Moved from character.h.
2817
2818         * character.h (CHAR_MULTIBYTE_P): Moved to mb-utf-8.h.
2819         (CHAR_ASCII_P): Likewise.
2820         (CHAR_FIELD1_MASK): Deleted.
2821         (CHAR_FIELD2_MASK): Deleted.
2822         (CHAR_FIELD3_MASK): Deleted.
2823         (MAX_CHAR_BASIC_LATIN): New macro.
2824         (CHAR_FIELD1): Deleted.
2825         (CHAR_FIELD2_INTERNAL): Deleted.
2826         (CHAR_FIELD3_INTERNAL): Deleted.
2827         (FIELD1_TO_PRIVATE_LEADING_BYTE): Deleted.
2828         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Deleted.
2829         (FIELD2_TO_PRIVATE_LEADING_BYTE): Deleted.
2830         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Deleted.
2831         (MIN_CHAR_FIELD1_OFFICIAL): Deleted.
2832         (MAX_CHAR_FIELD1_OFFICIAL): Deleted.
2833         (MIN_CHAR_FIELD2_PRIVATE): Deleted.
2834         (MAX_CHAR_FIELD2_PRIVATE): Deleted.
2835         (MIN_CHAR_FIELD1_PRIVATE): Deleted.
2836         (MAX_CHAR_FIELD1_PRIVATE): Deleted.
2837         (MULE_CHAR_PRIVATE_OFFSET): Deleted.
2838         (MIN_CHAR_PRIVATE_TYPE9N): Deleted.
2839         (MAX_CHAR_PRIVATE_TYPE9N): Deleted.
2840         (MIN_CHAR_PRIVATE_TYPE9NX9N): Deleted.
2841         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Deleted.
2842         (MIN_CHAR_COMPOSITION): Deleted.
2843         (breakup_char_1): Use `MAX_CHAR_BASIC_LATIN' instead of
2844         `CHAR_ASCII_P'; use `0x7f' instead of `CHAR_FIELD3_INTERNAL'.
2845
2846 1999-09-02  MORIOKA Tomohiko  <tomo@m17n.org>
2847
2848         * buffer.h: Include mb-utf-8.h in UTF-2000.
2849
2850         * character.h (BUFBYTE_FIRST_BYTE_P): Moved to mb-utf-8.h.
2851
2852         * mb-utf-8.h: New file.
2853
2854 1999-09-02  MORIOKA Tomohiko  <tomo@etl.go.jp>
2855
2856         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use `Charset_ID'
2857         instead of `int'.
2858
2859         * mule-charset.h, buffer.h (Charset_ID): New type.
2860
2861 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
2862
2863         * mule-canna.c (c2mu): Use `MAKE_CHAR',
2864         `Vcharset_japanese_jisx0212' and `Vcharset_japanese_jisx0208'
2865         instead of `MULE_CHAR_PRIVATE_OFFSET',
2866         `LEADING_BYTE_JAPANESE_JISX0212', `LEADING_BYTE_JAPANESE_JISX0208'
2867         and `FIELD1_TO_OFFICIAL_LEADING_BYTE'.
2868         (m2c): Use `BREAKUP_CHAR' and `XCHARSET_FINAL'.
2869
2870         * character.h (Vcharset_japanese_jisx0212): New variable
2871         definition.
2872
2873 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
2874
2875         * mule-charset.c (Vcharset_ucs_bmp): New variable in UTF-2000.
2876         (charset_by_attributes): Delete array about direction.
2877         (latin_a_char_to_charset): New variable in UTF-2000.
2878         (latin_a_char_to_byte1): New variable in UTF-2000.
2879         (latin_a_char_to_byte2): New variable in UTF-2000.
2880         (Qucs_bmp): New variable.
2881         (next_allocated_1_byte_leading_byte): Use `Charset_ID' instead of
2882         `Bufbyte'.
2883         (next_allocated_2_byte_leading_byte): Likewise.
2884         (non_ascii_set_charptr_emchar): Likewise.
2885         (make_charset): Likewise; add `CHARSET_TYPE_128X128' and
2886         `CHARSET_TYPE_256X256' in UTF-2000; modify for
2887         `charset_by_attributes'.
2888         (get_unallocated_leading_byte): Use `Charset_ID' instead of `int'.
2889         (char-charset): Use `CHAR_CHARSET' instead of `CHAR_LEADING_BYTE'
2890         and `CHARSET_BY_LEADING_BYTE'.
2891         (syms_of_mule_charset): Set up `ucs-bmp'; move setting of
2892         `utf-2000-version' to `vars_of_mule_charset'.
2893         (vars_of_mule_charset): Modify for `charset_by_attributes'; don't
2894         define `leading-code-private-11' in UTF-2000; move setting of
2895         `utf-2000-version' from `syms_of_mule_charset'.
2896         (complex_vars_of_mule_charset): Set up charset `ucs-bmp' in
2897         UTF-2000.
2898
2899         * character.h (Charset_ID): New type.
2900         (LEADING_BYTE_UCS_BMP): New macro.
2901         (LEADING_BYTE_CONTROL_1): Changed from 0x8F to 0x81.
2902         (CHARSET_ID_OFFSET_94): New macro.
2903         (MIN_CHARSET_ID_PRIVATE_94): New macro.
2904         (MAX_CHARSET_ID_PRIVATE_94): New macro.
2905         (LEADING_BYTE_ASCII): Changed to use CHARSET_ID_OFFSET_94 and
2906         final-byte.
2907         (LEADING_BYTE_KATAKANA_JISX0201): Likewise.
2908         (LEADING_BYTE_LATIN_JISX0201): Likewise.
2909         (CHARSET_ID_OFFSET_96): New macro.
2910         (LEADING_BYTE_LATIN_ISO8859_1): Changed to use
2911         CHARSET_ID_OFFSET_96 and final-byte.
2912         (LEADING_BYTE_LATIN_ISO8859_2): Likewise.
2913         (LEADING_BYTE_LATIN_ISO8859_3): Likewise.
2914         (LEADING_BYTE_LATIN_ISO8859_4): Likewise.
2915         (LEADING_BYTE_GREEK_ISO8859_7): Likewise.
2916         (LEADING_BYTE_ARABIC_ISO8859_6): Likewise.
2917         (LEADING_BYTE_HEBREW_ISO8859_8): Likewise.
2918         (LEADING_BYTE_CYRILLIC_ISO8859_5): Likewise.
2919         (LEADING_BYTE_LATIN_ISO8859_9): Likewise.
2920         (LEADING_BYTE_THAI_TIS620): Likewise.
2921         (MIN_LEADING_BYTE_PRIVATE_1): Changed from 0x0D0 to 0xD0.
2922         (MAX_LEADING_BYTE_PRIVATE_1): Changed from 0x11f to 0xDF.
2923         (CHARSET_ID_OFFSET_94x94): New macro.
2924         (LEADING_BYTE_CHINESE_BIG5_1): Changed to use
2925         CHARSET_ID_OFFSET_94x94 and final-byte.
2926         (LEADING_BYTE_CHINESE_BIG5_2): Likewise.
2927         (MIN_LEADING_BYTE_PRIVATE_2): Likewise.
2928         (MAX_LEADING_BYTE_PRIVATE_2): Likewise.
2929         (LEADING_BYTE_JAPANESE_JISX0208_1978): Likewise.
2930         (LEADING_BYTE_CHINESE_GB2312): Likewise.
2931         (LEADING_BYTE_JAPANESE_JISX0208): Likewise.
2932         (LEADING_BYTE_KOREAN_KSC5601): Likewise.
2933         (LEADING_BYTE_JAPANESE_JISX0212): Likewise.
2934         (LEADING_BYTE_CHINESE_CCITT_GB): Likewise.
2935         (LEADING_BYTE_CHINESE_CNS11643_*): Likewise.
2936         (LEADING_BYTE_KOREAN_KPS9566): Likewise.
2937         (CHARSET_TYPE_128X128): New macro.
2938         (CHARSET_TYPE_256X256): New macro.
2939         (XCHARSET_PRIVATE_P): Delete unconditionally.
2940         (charset_by_attributes): Delete array about direction.
2941         (CHARSET_BY_LEADING_BYTE): Use `Charset_ID' instead of `int'.
2942         (CHARSET_BY_ATTRIBUTES): Modify for `charset_by_attributes'.
2943         (MIN_CHAR_94): New macro.
2944         (MAX_CHAR_94): New macro.
2945         (MIN_CHAR_96): New macro.
2946         (MAX_CHAR_96): New macro.
2947         (MIN_CHAR_94x94): New macro.
2948         (MAX_CHAR_94x94): New macro.
2949         (MIN_CHAR_96x96): New macro.
2950         (MAX_CHAR_96x96): New macro.
2951         (FIELD1_TO_PRIVATE_LEADING_BYTE): Use `CHARSET_ID_OFFSET_94x94'.
2952         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
2953         (FIELD2_TO_PRIVATE_LEADING_BYTE): Use `(MIN_LEADING_BYTE_PRIVATE_1
2954         - 32)'.
2955         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Use `LEADING_BYTE_ASCII'.
2956         (MIN_CHAR_FIELD2_OFFICIAL): Deleted.
2957         (MAX_CHAR_FIELD2_OFFICIAL): Deleted.
2958         (MIN_CHAR_OFFICIAL_TYPE9N): Deleted.
2959         (MAX_CHAR_PRIVATE_TYPE9N): Changed.
2960         (MAKE_CHAR): Use `XCHARSET_FINAL' instead of
2961         `XCHARSET_LEADING_BYTE' to make code-point.
2962         (latin_a_char_to_charset): New variable.
2963         (latin_a_char_to_byte1): New variable.
2964         (latin_a_char_to_byte2): New variable.
2965         (breakup_char_1): Use `latin_a_char_to_{charset|byte1|byte2}' for
2966         Latin Extended-A; use `CHARSET_BY_ATTRIBUTES' instead of
2967         `CHARSET_BY_LEADING_BYTE' to get charset for ISO-2022 characters.
2968
2969         * insdel.c (find_charsets_in_bufbyte_string): Use `Charset_ID'
2970         instead of `unsigned char'; use `MIN_LEADING_BYTE' instead of 128.
2971         (find_charsets_in_emchar_string): Likewise.
2972         (vars_of_insdel): Don't define local variable `i' in UTF-2000.
2973
2974         * file-coding.c (Fdecode_big5_char): Use `Charset_ID' instead of
2975         `int'.
2976         (decode_coding_iso2022): Likewise.
2977
2978         * toolbar-x.c (x_output_toolbar_button): Use `Charset_ID' instead
2979         of `unsigned char'.
2980
2981         * redisplay.c (redisplay_text_width_emchar_string): Use
2982         `Charset_ID' instead of `unsigned char'.
2983         (redisplay_frame_text_width_string): Likewise.
2984
2985         * glyphs.c (glyph_height_internal): Use `Charset_ID' instead of
2986         `unsigned char'.
2987
2988         * faces.h, faces.c (ensure_face_cachel_complete): Use `Charset_ID'
2989         instead of `unsigned char'.
2990         (face_cachel_charset_font_metric_info): Likewise.
2991
2992         * chartab.c (print_char_table): Use `Charset_ID' instead of `int'.
2993         (get_non_ascii_char_table_value): Likewise.
2994         (get_char_table): Likewise.
2995         (put_char_table): Likewise.
2996         (map_over_other_charset): Likewise.
2997         (map_char_table): Likewise.
2998
2999         * buffer.h (find_charsets_in_bufbyte_string): Use `Charset_ID'
3000         instead of `unsigned char'.
3001
3002 1999-08-31  MORIOKA Tomohiko  <tomo@etl.go.jp>
3003
3004         * character.h (PRE_LEADING_BYTE_PRIVATE_1): Deleted.
3005         (PRE_LEADING_BYTE_PRIVATE_2): Deleted.
3006
3007         * mule-charset.c (leading_code_private_11): Don't define in
3008         UTF-2000.
3009
3010         * mule-ccl.c (ccl_driver): Don't define `CCL_ReadMultibyteChar2'
3011         in UTF-2000 because it is not ported yet and not to use
3012         `PRE_LEADING_BYTE_PRIVATE_1' and `PRE_LEADING_BYTE_PRIVATE_2'.
3013
3014 1999-08-30  MORIOKA Tomohiko  <tomo@etl.go.jp>
3015
3016         * character.h (LEADING_BYTE_COMPOSITE): Deleted.
3017
3018 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3019
3020         * regex.c (re_compile_fastmap): Don't use `LEADING_BYTE_PREFIX_P'
3021         in UTF-2000.
3022
3023         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use int instead
3024         of unsigned char to store leading-byte.
3025
3026         * chartab.c (get_non_ascii_char_table_value): Don't use
3027         `BREAKUP_CHAR_1_UNSAFE' in UTF-2000.
3028
3029         * file-coding.c (encode_coding_big5): Delete bogus implementation
3030         in UTF2000.
3031
3032         * character.h (LEADING_BYTE_*): Delete definition for
3033         non-UTF-2000.
3034         (LEADING_BYTE_PRIVATE_P): Deleted unconditionally.
3035         (LEADING_BYTE_PREFIX_P): Deleted.
3036         (PRIVATE_LEADING_BYTE_PREFIX): Deleted.
3037         (BUFBYTE_FIRST_BYTE_P): Delete definition for non-UTF-2000.
3038         (BUFBYTE_LEADING_BYTE_P): Deleted.
3039         (CHARSET_PRIVATE_P): Deleted unconditionally.
3040         (rep_bytes_by_first_byte): Deleted unconditionally.
3041         (REP_BYTES_BY_FIRST_BYTE): Delete definition for non-UTF-2000.
3042         (FIELD1_TO_PRIVATE_LEADING_BYTE): Likewise.
3043         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
3044         (FIELD2_TO_PRIVATE_LEADING_BYTE): Likewise.
3045         (CHAR_FIELD2): Deleted.
3046         (CHAR_FIELD3): Deleted.
3047         (MAKE_CHAR): Delete definition for non-UTF-2000.
3048         (BREAKUP_CHAR_1_UNSAFE): Deleted.
3049         (breakup_char_1): New implementation.
3050         (CHAR_CHARSET): Use `BREAKUP_CHAR'.
3051         (CHAR_LEADING_BYTE): Use `CHAR_CHARSET'.
3052
3053 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3054
3055         * character.h (REP_BYTES_BY_FIRST_BYTE): Change order of
3056         condition.
3057
3058 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3059
3060         * character.h (LEADING_BYTE_PRIVATE_P): Don't define in UTF2000.
3061         (CHARSET_PRIVATE_P): Likewise.
3062         (XCHARSET_PRIVATE_P): Likewise.
3063         (MAKE_CHAR): Don't use XCHARSET_PRIVATE_P in UTF2000.
3064
3065         * file-coding.c (encode_coding_ucs4): Delete bogus implement in
3066         UTF2000.
3067         (decode_coding_iso2022): Don't use XCHARSET_PRIVATE_P in UTF2000.
3068
3069 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3070
3071         * character.h (LEADING_BYTE_*): Changed in UTF2000.
3072         (NUM_LEADING_BYTES): Changed from 128 to 256.
3073         (FIELD1_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
3074         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Change value to 0x80 in
3075         UTF2000.
3076         (FIELD2_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
3077
3078         * mule-charset.c (Vcharset_chinese_cns11643_3): New variable in
3079         UTF2000.
3080         (Vcharset_chinese_cns11643_4): New variable in UTF2000.
3081         (Vcharset_chinese_cns11643_5): New variable in UTF2000.
3082         (Vcharset_chinese_cns11643_6): New variable in UTF2000.
3083         (Vcharset_chinese_cns11643_7): New variable in UTF2000.
3084         (Qchinese_cns11643_3): New variable in UTF2000.
3085         (Qchinese_cns11643_4): New variable in UTF2000.
3086         (Qchinese_cns11643_5): New variable in UTF2000.
3087         (Qchinese_cns11643_6): New variable in UTF2000.
3088         (Qchinese_cns11643_7): New variable in UTF2000.
3089         (syms_of_mule_charset): Define `chinese-cns11643-3',
3090         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
3091         and `chinese-cns11643-7' in UTF2000.
3092         (vars_of_mule_charset): Initialize
3093         next_allocated_2_byte_leading_byte by LEADING_BYTE_CHINESE_BIG5_2
3094         + 1 in UTF2000.
3095         (complex_vars_of_mule_charset): Setup charset
3096         `chinese-cns11643-3', `chinese-cns11643-4', `chinese-cns11643-5',
3097         `chinese-cns11643-6' and `chinese-cns11643-7' in UTF2000.
3098
3099 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3100
3101         * mule-charset.c: Move setting for `leading-code-private-11' from
3102         `syms_of_mule_charset' to `vars_of_mule_charset'.
3103
3104 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3105
3106         * mule-charset.h (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE'
3107         and `NUM_LEADING_BYTES' in assert.
3108
3109 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3110
3111         * character.h (charset_by_leading_byte): Use `NUM_LEADING_BYTES'
3112         instead of 128.
3113         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' and
3114         `NUM_LEADING_BYTES' instead of 128.
3115
3116 1999-08-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
3117
3118         * mule-charset.h (charset_by_leading_byte): Use
3119         `NUM_LEADING_BYTES' instead of 128.
3120         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' instead of 128.
3121
3122         * mule-charset.c (charset_by_leading_byte): Use
3123         `NUM_LEADING_BYTES' instead of 128.
3124         (make_charset): Use `MIN_LEADING_BYTE' instead of 128.
3125
3126         * faces.h (FACE_CACHEL_FONT): Use `MIN_LEADING_BYTE' instead of
3127         128.
3128
3129 1999-08-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
3130
3131         * mule-charset.c (syms_of_mule_charset): Update to
3132         0.4 (Shin-Imamiya).
3133
3134 1999-07-13 Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
3135
3136         * file-coding.c (encode_coding_sjis): New implementation for
3137         UTF2000.  (decode_coding_sjis): Ditto.
3138
3139 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
3140
3141         * mule-charset.c, character.h (Bytecount rep_bytes_by_first_byte):
3142         Don't define in UTF2000.
3143
3144         * character.h: Include mule-charset.h if CHAR_IS_UCS4 is not
3145         defined.
3146
3147         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
3148         mule-ccl.c, lstream.h, buffer.h: Include character.h in every
3149         MULE.
3150
3151 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
3152
3153         * config.h.in (CHAR_IS_UCS4): New macro.
3154
3155         * mule-charset.c (rep_bytes_by_first_byte): Modify for
3156         conventional MULE representation.
3157         (syms_of_mule_charset): Update to 0.3 (Imamiya).
3158
3159         * mule-charset.h: Reverted to original.
3160
3161         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
3162         mule-ccl.c, lstream.h, buffer.h: Use "character.h" instead of
3163         "mule-charset.h" if CHAR_IS_UCS4 is defined.
3164
3165         * character.h: New file.
3166
3167         * file-coding.c (Fmake_coding_system): Set 1 to
3168         `codesys->fixed.size' if TYPE is `no-conversion' and UTF2000 is
3169         defined.
3170         (encode_coding_no_conversion): New implementation for UTF2000.
3171
3172         * file-coding.h (struct Lisp_Coding_System): Add new member
3173         `fixed.size'.
3174
3175 1999-06-16  MORIOKA Tomohiko  <tomo@etl.go.jp>
3176
3177         * file-coding.c (decode_coding_iso2022): Code-point arguments of
3178         `MAKE_CHAR' must be smaller than 0x80 in UTF2000.
3179         (encode_coding_iso2022): New implementation for UTF2000.
3180
3181 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3182
3183         * mule-canna.c (c2mu): New implementation for UTF2000.
3184         (m2c): Likewise.
3185
3186 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3187
3188         * file-coding.c (encode_coding_no_conversion): Modify for UTF2000.
3189
3190 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3191
3192         * file-coding.c (reset_encoding_stream): Set 0 to
3193         `str->iso2022.current_char_boundary' in UTF2000.
3194         (encode_utf8): Don't define in UTF2000.
3195         (encode_coding_utf8): New implementation for UTF-8 representation
3196         of UTF2000.
3197         (complex_vars_of_file_coding): Define coding-system `utf-8'.
3198
3199 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3200
3201         * mule.c (vars_of_mule): Provide `utf-2000' in UTF2000.
3202
3203         * mule-charset.h (BUFBYTE_FIRST_BYTE_P): Modify for UTF-8 in
3204         UTF2000.
3205         (REP_BYTES_BY_FIRST_BYTE): Likewise.
3206
3207         * buffer.h (non_ascii_valid_char_p): Don't define in UTF2000.
3208
3209         * mule-charset.c (non_ascii_set_charptr_emchar): Don't define
3210         local variables `lb', `c1', `c2' and `charset' in UTF2000; encode
3211         as UTF-8 in UTF2000.
3212         (non_ascii_charptr_emchar): Decode as UTF-8 in UTF2000.
3213         (non_ascii_valid_char_p): Don't define in UTF2000.
3214         (non_ascii_charptr_copy_char): Add case 5 and 6 in UTF2000.
3215         (Lstream_get_emchar_1): Likewise.
3216         (utf-2000-version): New variable in UTF2000.
3217
3218         * lread.c (read_escape): Add new reader `u'.
3219
3220         * insdel.c (three_to_one_table): Don't define in UTF2000.
3221         (bufpos_to_bytind_func): Use `buf->text->mule_size' instead of
3222         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
3223         UTF2000.
3224         (bytind_to_bufpos_func): Likewise.
3225         (buffer_mule_signal_inserted_region): Likewise.
3226         (vars_of_insdel): Don't initialize `three_to_one_table'.
3227         (init_buffer_text): Use `buf->text->mule_size' instead of
3228         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
3229         UTF2000.
3230
3231         * file-coding.c (DECODE_ADD_BINARY_CHAR): New implementation for
3232         UTF-8 representation in UTF2000.
3233         (DECODE_ADD_UCS_CHAR): New macro in UTF2000.
3234         (decode_ucs4): Use `DECODE_ADD_UCS_CHAR' in UTF2000.
3235         (decode_coding_iso2022): Don't define local variable `lb' in
3236         UTF2000; don't use LEADING_BYTE in UTF2000; use
3237         `DECODE_ADD_UCS_CHAR' in UTF2000.
3238         (convert_to_external_format): Decode as UTF-8 in UTF2000.
3239
3240         * config.h.in (UTF2000): New macro.
3241
3242         * buffer.h (struct buffer_text): Add new member `mule_size' and
3243         don't add `mule_shifter' and `mule_three_p' in UTF2000.
3244         (valid_char_p): Return always 1 in UTF2000.
3245         (MAX_EMCHAR_LEN): 6 in UTF2000.
3246         (three_to_one_table): Don't define in UTF2000.
3247         (real_bufpos_to_bytind): Modify for UTF-8 representation in
3248         UTF2000.
3249         (real_bytind_to_bufpos): Likewise.
3250
3251         * alloc.c (Fmake_string): Add case 5 and 6 for UTF2000.
3252
3253 1999-06-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3254
3255         * mule-charset.c (rep_bytes_by_first_byte): Modified for character
3256         representation change.
3257         (Vutf_2000_version): New variable.
3258         (leading_code_private_11): New variable.
3259         (syms_of_mule_charset): Add new variables `utf-2000-version' and
3260         `leading-code-private-11'.
3261
3262         * mule-charset.h (LEADING_BYTE_CHINESE_CCITT_GB): New macro.
3263         (LEADING_BYTE_CHINESE_BIG5_1): Changed to 0x96 temporally.
3264         (LEADING_BYTE_CHINESE_CNS11643_1): Changed to 0x97.
3265         (LEADING_BYTE_CHINESE_CNS11643_2): Changed to 0x98.
3266         (LEADING_BYTE_CHINESE_CNS11643_3): New macro.
3267         (LEADING_BYTE_CHINESE_CNS11643_4): Likewise.
3268         (LEADING_BYTE_CHINESE_CNS11643_5): Likewise.
3269         (LEADING_BYTE_CHINESE_CNS11643_6): Likewise.
3270         (LEADING_BYTE_CHINESE_CNS11643_7): Likewise [but not used].
3271         (LEADING_BYTE_CHINESE_BIG5_2): Changed to 0x9D temporally.
3272         (LEADING_BYTE_KOREAN_KPS9566): New macro [but not used].
3273         (CHAR_FIELD1_MASK): Changed to (0x7F << 14).
3274         (MIN_CHAR_GREEK): New macro.
3275         (MAX_CHAR_GREEK): New macro.
3276         (MIN_CHAR_CYRILLIC): New macro.
3277         (MAX_CHAR_CYRILLIC): New macro.
3278         (MIN_CHAR_HEBREW): New macro.
3279         (MAX_CHAR_HEBREW): New macro.
3280         (MIN_CHAR_THAI): New macro.
3281         (MAX_CHAR_THAI): New macro.
3282         (MIN_CHAR_HALFWIDTH_KATAKANA): New macro.
3283         (MAX_CHAR_HALFWIDTH_KATAKANA): New macro.
3284         (CHAR_FIELD2_INTERNAL): New macro [renamed from `CHAR_FIELD2'.
3285         (CHAR_FIELD3_INTERNAL): New macro [renamed from `CHAR_FIELD3'.
3286         (FIELD1_TO_PRIVATE_LEADING_BYTE): Changed to 0xc0.
3287         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Changed to 0x50.
3288         (CHAR_FIELD2): New inline function.
3289         (CHAR_FIELD3): New inline function.
3290         (MULE_CHAR_PRIVATE_OFFSET): New macro.
3291         (MIN_CHAR_OFFICIAL_TYPE9N): Shifted to `MULE_CHAR_PRIVATE_OFFSET'.
3292         (MIN_CHAR_PRIVATE_TYPE9N): Likewise.
3293         (MIN_CHAR_PRIVATE_TYPE9NX9N): Likewise.
3294         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Likewise.
3295         (MIN_CHAR_COMPOSITION): Likewise.
3296         (CHAR_LEADING_BYTE): Modified for character representation change.
3297         (MAKE_CHAR): Likewise.
3298
3299         * lisp.h (Vcharset_latin_iso8859_1): New variable.
3300         (Vcharset_greek_iso8859_7): Likewise.
3301         (Vcharset_cyrillic_iso8859_5): Likewise.
3302         (Vcharset_hebrew_iso8859_8): Likewise.
3303         (Vcharset_thai_tis620): Likewise.
3304         (Vcharset_katakana_jisx0201): Likewise.
3305
3306 2001-01-17  Martin Buchholz <martin@xemacs.org>
3307
3308         * XEmacs 21.2.41 "Polyhymnia" is released.
3309
3310 2001-01-16  Didier Verna  <didier@xemacs.org>
3311
3312         * glyphs.c (image_instantiate): don't use fallbacks when
3313         instantiating a face's background pixmap by inheritance.
3314
3315 2001-01-14  Mike Sperber <mike@xemacs.org>
3316
3317         * sysdep.c (start_of_data): PDUMP implies ORDINARY_LINK.
3318         Conditionalize accordingly.
3319
3320 2001-01-16  Martin Buchholz  <martin@xemacs.org>
3321
3322         * dumper.c (pdump_file_get): Fix a compiler warning.
3323
3324 2001-01-15  Martin Buchholz  <martin@xemacs.org>
3325
3326         Make Purify happy when pdumping.
3327         * symbols.c (Fmake_variable_buffer_local): Make Purify happy, by
3328         iniitalizing all bits of new lisp object memory.
3329         * symbols.c (Fmake_local_variable): Likewise.
3330         * symbols.c (Fdontusethis_set_symbol_value_handler): Likewise.
3331         * symbols.c (Fdefvaralias): Likewise.
3332         * mule-charset.c (vars_of_mule_charset): Likewise.
3333
3334 2001-01-15  Martin Buchholz  <martin@xemacs.org>
3335         Add the `-nd' flag when running pre-dump operations under the debugger.
3336         * .dbxrc (run-temacs): Add `-nd'.
3337         * .dbxrc (update-elc): Likewise.
3338         * .dbxrc (dump-temacs): Likewise.
3339         * .gdbinit (run-temacs): Likewise.
3340         * .gdbinit (check-temacs): Likewise.
3341         * .gdbinit (update-elc): Likewise.
3342         * .gdbinit (dump-temacs): Likewise.
3343
3344 2001-01-14  Martin Buchholz  <martin@xemacs.org>
3345
3346         Allow building 64-bit executables on AIX with GNU malloc, e.g.
3347         export OBJECT_MODE=64
3348         configure --pdump --use-union-type=no
3349         * m/ibmrs6000.h (DATA_START): Define for 64-bit world.
3350         * gmalloc.c (__default_morecore): Remove pre-ANSI cruft.
3351
3352         * miscplay.c (sndcnv8U_2mono):
3353         Avoid two uses of `++' in the same expression.
3354         Suppresses a GCC warning.
3355
3356 2001-01-13  Martin Buchholz  <martin@xemacs.org>
3357
3358         Make sure future compilers don't miscompile alloc.c.
3359         * alloc.c:
3360         (MARK_STRUCT_AS_FREE): Make aliasing-optimization-resistant.
3361         (MARK_STRUCT_AS_NOT_FREE): Make aliasing-optimization-resistant.
3362
3363 2001-01-12  Martin Buchholz  <martin@xemacs.org>
3364
3365         * dumper.c: A little post-pdump-rename comment fixup.
3366
3367 2001-01-09  Jerry James  <james@eecs.ku.edu>
3368
3369         * lisp-disunion.h: Change LISP_TO_CVOID arg to match its use.
3370
3371 2001-01-13  Martin Buchholz  <martin@xemacs.org>
3372
3373         * *.[ch]: Globally rename symbols using the following `pdump-rename'
3374         script:
3375         #!/bin/sh
3376         replace_symbol () {
3377           (findn texi$; findn [ch]$) | xargs g -lw "$1" | xargs global-replace 's/(?<!_)\b'$1'\b(?!_)/'$2'/g'
3378         }
3379
3380         replace_symbol pdump_wire_lists pdump_weak_object_chains
3381         replace_symbol pdump_wire_list dump_add_weak_object_chain
3382
3383         replace_symbol pdump_wires pdump_root_objects
3384         replace_symbol pdump_wire dump_add_root_object
3385
3386         replace_symbol pdump_dump_wired pdump_dump_from_root_objects
3387         replace_symbol pdump_dump_structs pdump_dump_from_root_struct_ptrs
3388
3389         replace_symbol dumpstructinfos pdump_root_struct_ptrs
3390         replace_symbol dumpstructinfo_dynarr pdump_root_struct_ptr_dynarr
3391         replace_symbol dumpstructinfo pdump_root_struct_ptr
3392         replace_symbol dumpstruct dump_add_root_struct_ptr
3393
3394         replace_symbol dumpopaque dump_add_opaque
3395         replace_symbol dumpopaqueinfo_dynarr pdump_opaque_dynarr
3396         replace_symbol dumpopaqueinfos pdump_opaques
3397         replace_symbol dumpopaqueinfo pdump_opaque
3398
3399         replace_symbol nb_structdump nb_root_struct_ptrs
3400         replace_symbol nb_opaquedump nb_opaques
3401
3402         replace_symbol align_table pdump_align_table
3403         replace_symbol dump_header pdump_header
3404
3405         replace_symbol DUMP_SIGNATURE_LEN PDUMP_SIGNATURE_LEN
3406         replace_symbol DUMP_SIGNATURE PDUMP_SIGNATURE
3407
3408
3409 2001-01-12  Martin Buchholz  <martin@xemacs.org>
3410
3411         * s/aix4.h: Keep the C for AIX compiler from overaggressively
3412         optimizing bytecount_to_charcount().
3413
3414 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
3415
3416         * config.h.in:
3417         (HAVE_DLFCN_H): Removed.
3418         * sysdll.c: Remove HAVE__DLOPEN, HAVE_DLFCN_H.
3419
3420 2001-01-06  Martin Buchholz  <martin@xemacs.org>
3421
3422         Portable dumper maintainability improvements.
3423         * alloc.c (staticpro):
3424         * alloc.c (staticpro_nodump):
3425         * alloc.c (garbage_collect_1):
3426         * alloc.c (reinit_alloc_once_early):
3427         * alloc.c (init_alloc_once_early):
3428         * alloc.c: Move dumper functions to alloc.c.
3429         * dumper.c (pdump_backtrace):
3430         * dumper.c (pdump_dump_structs):
3431         * dumper.c (pdump_dump_opaques):
3432         * dumper.c (pdump_dump_rtables):
3433         * dumper.c (pdump_dump_wired):
3434         * dumper.c (pdump):
3435         * dumper.c (pdump_load_check):
3436         * dumper.c (pdump_load_finish):
3437         * dumper.c (pdump_file_unmap):
3438         * dumper.c (pdump_file_get):
3439         * dumper.c (pdump_resource_free):
3440         * dumper.c (pdump_resource_get):
3441         * dumper.c (pdump_file_free):
3442         * dumper.c (pdump_file_try):
3443         * dumper.c (pdump_load):
3444         Remove fixed size limits on staticpro(), staticpro_nodump(),
3445         dumpopaque(), dumpstruct() by using Dynarrs instead of static C arrays.
3446         Remove custom code for dumping lrecord_implementations_table - use
3447         dumpopaque instead.
3448         Remove (most of the) custom code for dumping staticpros - dump it
3449         like any other dynarr.
3450
3451         * alloc.h: Removed.  No longer useful, since dumper now more self-contained.
3452         * dumper.c: Moved functions from alloc.c.
3453         * alloc.c (dumpstruct): Moved to dumper.c.
3454         * alloc.c (dumpopaque): Likewise.
3455         * alloc.c (pdump_wire): Likewise.
3456         * alloc.c (pdump_wire_list): Likewise.
3457
3458         * lisp.h (Dynarr_sizeof): New.
3459         * lisp.h (Dynarr_begin): New.  Very slightly C++oid.
3460         * lisp.h (Dynarr_end): New.  Very slightly C++oid.
3461         * lisp.h (Lisp_Object_ptr_dynarr): New.  For staticpros.
3462
3463         * lisp.h (dumpstruct): Define to nothing if not PDUMPing.
3464         * lisp.h (dumpopaque): ditto.
3465         * lisp.h (pdump_wire): ditto.
3466         * lisp.h (pdump_wire_list): ditto.
3467
3468 2001-01-09  Martin Buchholz  <martin@xemacs.org>
3469
3470         * make-src-depend (PrintPatternDeps):
3471         Use `sort' to make output independent of perl version.
3472
3473 2001-01-08  Martin Buchholz  <martin@xemacs.org>
3474
3475         Port to Netbsd 1.5.
3476         * unexelf.c: Remove (never used) bogus Netbsd-specific cruft.
3477         * s/netbsd.c: Use unexelf.o if __ELF__ is defined.
3478
3479 2001-01-03  Didier Verna  <didier@xemacs.org>
3480
3481         * event-stream.c (emacs_handle_focus_change_preliminary): ensure
3482         that `focus_frame' is alive before thinking of calling
3483         `redisplay_redraw_cursor' on it.
3484
3485 2001-01-08  Martin Buchholz <martin@xemacs.org>
3486
3487         * XEmacs 21.2.40 is released.
3488
3489 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
3490
3491         * regex.c: Replace PREFETCH with REGEX_PREFETCH.
3492
3493 2001-01-06  Martin Buchholz  <martin@xemacs.org>
3494
3495         * alloc.c (dbg_valmask): Make const.
3496         * alloc.c (dbg_typemask): Make const.
3497         * alloc.c (dbg_USE_UNION_TYPE): Make const.
3498         * alloc.c (dbg_valbits): Make const.
3499         * alloc.c (dbg_gctypebits): Make const.
3500
3501 2001-01-06  Stephen J. Turnbull  <stephen@xemacs.org>
3502
3503         * redisplay-x.c (x_bevel_area):
3504         redisplay.h (struct rune):
3505         Typo fixes in comments.
3506
3507 2001-01-05  Andy Piper  <andy@xemacs.org>
3508
3509         * glyphs-x.c (x_redisplay_widget): use size changed for offset
3510         adjustment.
3511
3512         * menubar.c (menubar_visible_p_changed): don't mark frame changed.
3513
3514 2001-01-05  Martin Buchholz  <martin@xemacs.org>
3515
3516         * alloc.c (pure-bytes-used): Remove unused mendacious variable.
3517
3518         * mule-ccl.c (stack_idx_of_map_multiple):
3519         Non const global data must not be initialized!
3520         Found by MIYASHITA Hisashi.
3521
3522 2001-01-02  Andy Piper  <andy@xemacs.org>
3523
3524         * frame.c (change_frame_size): make sure frame size is always
3525         marked as changed.
3526
3527         * glyphs.c (image_instance_layout): minor code reuse.
3528
3529         * window.c (Fcurrent_window_configuration): revert previous
3530         change.
3531
3532 2001-01-02  Martin Buchholz  <martin@xemacs.org>
3533
3534         * glyphs.h:
3535         * glyphs.c (make_image_instance_cache_hash_table): Use ANSI prototypes.
3536
3537 2000-12-31  Andy Piper  <andy@xemacs.org>
3538
3539         * glyphs-x.c (x_unmap_subwindow): return focus to enclosing frame
3540         when widget gets unmapped.
3541
3542         * event-Xt.c (emacs_Xt_handle_widget_losing_focus): new
3543         function. Make sure widgets losing focus don't just drop it.
3544         (handle_focus_event_1): record the widget with focus.
3545
3546 2000-12-31  Andy Piper  <andy@xemacs.org>
3547
3548         * window.c (allocate_window): use
3549         make_image_instance_cache_hash_table.
3550         (make_dummy_parent): ditto.
3551         (Fset_window_configuration): ditto.
3552
3553         * glyphs.h (INSTANTIATOR_TYPE): new macro.  declare new functions.
3554
3555         * glyphs.c (process_image_string_instantiator): use
3556         INSTANTIATOR_TYPE.
3557         (get_image_instantiator_governing_domain): ditto.
3558         (normalize_image_instantiator): ditto.
3559         (instantiate_image_instantiator): ditto.
3560         (make_image_instance_1): ditto.
3561         (image_instantiate): ditto. Key on glyph *and* instantiator type.
3562         (instantiator_eq_equal): new function for use with instance hash
3563         tables.
3564         (instantiator_eq_hash): ditto.
3565         (make_image_instance_cache_hash_table): create a suitable hash
3566         table for storing image instances.
3567
3568         * elhash.h (hash_table_weakness): new internal weakness type
3569         HASH_TABLE_KEY_CAR_VALUE_WEAK.
3570         declare new functions.
3571
3572         * elhash.c (finish_marking_weak_hash_tables): introduce yet
3573         another weakness type for glyphs.
3574         (make_standard_lisp_hash_table): new function split out from
3575         make_general_lisp_hash_table.
3576         (make_lisp_hash_table): call make_standard_lisp_hash_table.
3577         (hash_table_instantiate): ditto.
3578         (Fmake_hash_table): ditto.
3579
3580 2000-12-31  Martin Buchholz <martin@xemacs.org>
3581
3582         * XEmacs 21.2.39 is released.
3583
3584 2000-12-29  Andy Piper  <andy@xemacs.org>
3585
3586         * menubar.c (menubar_visible_p_changed): signal the frame changed.
3587
3588         * glyphs-x.c (x_redisplay_widget): Re-calculate widget offsets if
3589         the frame has changed so that we pick up geometry changes such as
3590         menubar visibility.
3591
3592 2000-12-28  Andy Piper  <andy@xemacs.org>
3593
3594         * lastfile.c (my_ebss): make a char array so we can pad the
3595         bss. Fixes cygwin unexec.
3596
3597         * unexcw.c: invert BROKEN_GDB to NO_DEBUG.
3598
3599 2000-12-26  Andy Piper  <andy@xemacs.org>
3600
3601         * event-Xt.c (emacs_Xt_force_event_pending): add some verbose
3602         comments and try and be more precise about a non-/SIGIO world.
3603         (emacs_Xt_event_pending_p): use XtAppPending under cygwin and non
3604         SIGIO.
3605
3606         * redisplay-output.c (redisplay_normalize_glyph_area): make sure
3607         we don't normalize to zero width or height.
3608
3609 2000-12-24  Andy Piper  <andy@xemacs.org>
3610
3611         * Makefile.in.in (ldflags): add -mwindows when appropriate.
3612
3613 2000-08-18  Golubev I. N.  <gin@mo.msk.ru>
3614
3615         * s/sco5.h: SCO 5 has pty support.
3616
3617 2000-07-20  Kazuyuki IENAGA <ienaga@xemacs.org>
3618
3619         * input-method-xlib.c: supports both XIM_XLIB and USE_XFONTSET.
3620         input-method-xlib.c contains whole contents of input-method-xfs.c,
3621         so we can use input-method-xlib.c's code for USE_XFONTSET
3622         using #ifdefs.
3623         * input-method-xfs.c: removed.
3624
3625 2000-12-20  Stephen Turnbull  <stephen@xemacs.org>
3626
3627         * file-coding.h (enum coding_category_type): reorder enumerators to
3628         make autodetection safer.  Make CODING_CATEGORY_LAST an enumerator
3629         (now one greater than largest real coding_category_type enumerator).
3630         * file-coding.c (coding_category_symbol, coding_category_by_priority,
3631         coding_category_system, fcd_descriptihon_1, decode_coding_category,
3632         Fcoding_category_list, Fset_coding_priority_list,
3633         Fcoding_priority_list, coding_system_from_mask, Fdetect_coding_region,
3634         vars_of_file_coding): adjust for change in CODING_CATEGORY_LAST.
3635
3636 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
3637
3638         * redisplay-output.c (redisplay_clear_top_of_window): Remove static.
3639         * redisplay-output.c (redisplay_output_window): Clear top of window
3640         when face is changed.
3641         * redisplay-x.c (x_redraw_exposed_window): Call
3642         redisplay_clear_top_of_window.
3643         * redisplay.h: Publish redisplay_clear_top_of_window.
3644
3645 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
3646
3647         * buffer.c (Fkill_buffer): Map over all devices.
3648         * window.c (window_loop): Remove UNSHOW_BUFFER code.
3649         (list_windows): New function.
3650         (list_all_windows): Ditto.
3651         (Freplace_buffer_in_windows): Use them.
3652
3653 2000-02-02   Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
3654
3655         * database.c (berkdb_subtype): Recognize new subtype `queue'.
3656         (Fopen_database): Use `db_create' instead of `db_open'.
3657         (syms_of_database): Initialize Qqueue.
3658
3659 2000-12-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
3660
3661         * buffer.c (common_init_complex_vars_of_buffer): Initialize
3662         buffer_local_face_property.
3663         * buffer.h (struct buffer): New member buffer_local_face_property.
3664         * window.c (Fset_window_buffer):  Mark window's face as changed
3665         when buffer has buffer local face.
3666         * window.h (MARK_WINDOW_FACES_CHANGED): New macro.
3667         * objects.c (color_after_change): Set buffer_local_face_property
3668         when locale of face specifier is buffer.
3669         * objects.c (font_after_change): Ditto.
3670         * objects.c (face_boolean_after_change): Ditto.
3671         * glyphs.c (image_after_change): Ditto.
3672
3673 2000-12-09  Dan Holmsand  <dan@eyebee.com>
3674
3675         * nt.c (mswindows_fstat): Report file permissions, volume serial
3676         number, etc. Code adapted from FSF Emacs 20.7.
3677
3678 2000-12-09  Dan Holmsand  <dan@eyebee.com>
3679
3680         * sysfile.h (lstat): Make lstat an alias for xemacs_stat instead
3681         of stat when we don't have symbolic links, to make sure
3682         mswindows_stat is called on mswindows.
3683
3684 2000-12-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
3685
3686         * alloca.c: Define malloc to xmalloc only when built with XEmacs.
3687
3688 2000-12-12  Martin Buchholz  <martin@xemacs.org>
3689
3690         * doprnt.c (emacs_doprnt_1): More printing fixes.
3691         Make printing of numbers compatible with libc and FSF Emacs.
3692         BUG was: (format "%6.3f" 1.2) ==>"1.200000"
3693         Use the system printf to do most of the hard work of formatting,
3694         instead of doprnt_1().
3695         Calculate memory to allocate for format string.
3696         Remove arbitrary limit on precision, e.g. (format "%.1000f" 3.14)
3697         (doprnt_1): Cleaner code and documentation.
3698
3699 2000-12-01  Jerry James  <james@eecs.ukans.edu>
3700
3701         * Makefile.in.in: Use the loop variable to install headers.
3702
3703 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
3704
3705         * window.c (Fsplit_window): Don't invalidate face cache.
3706
3707 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
3708
3709         * minibuf.c (Fall_completions): Undo the previous change
3710         which removed checking elements start with space.
3711
3712 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
3713
3714         * mule-canna.c: Didier suppression.
3715
3716 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
3717
3718         * mule-canna.c: rename static unsigned char buf[] to key_buffer
3719         (warning suppression).  Add English comment translations.
3720
3721 2000-12-05  Martin Buchholz  <martin@xemacs.org>
3722
3723         * unexelfsgi.c (unexec): Better test for mmap failure.
3724
3725 2000-12-05  Martin Buchholz <martin@xemacs.org>
3726
3727         * XEmacs 21.2.38 is released.
3728
3729 2000-12-05  Martin Buchholz  <martin@xemacs.org>
3730
3731         * redisplay.c (bar-cursor): Make a user variable.
3732
3733         * symsinit.h: Add init_postgresql_from_environment.
3734
3735 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
3736
3737         * regex.c: Convert to clean C.
3738
3739 2000-12-05  Dan Holmsand  <dan@eyebee.com>
3740
3741         * realpath.c:
3742         Don't #include sysfile.h. Revert to duplicating PATH_MAX
3743         initialization.
3744         (sys_readlink): renamed to system_readlink to avoid conflict with
3745         the other sys_readlink.
3746
3747 2000-12-04  Hiroaki Abe  <h-abe@pc.highway.ne.jp>
3748
3749         * dumper.c (pdump_file_get): Correct uses of pdump_fd.
3750
3751 2000-12-04  Stephen J. Turnbull  <stephen@xemacs.org>
3752
3753         * postgresql.c (init_postgresql_from_environment): new function.
3754         (vars_of_postgresql): Move code initializing Lisp variables out and
3755         into init_postgresql_from_environment.
3756         emacs.c (main_1): Call init_postgresql_from_environment if and only
3757         if running a dumped XEmacs.
3758
3759 2000-08-31  Dan Holmsand  <dan@eyebee.com>
3760
3761         * buffer.c: Make find-file-compare-truenames default to true on
3762         windows.
3763
3764         * realpath.c (win32_abs_start):
3765         (cygwin_readlink):
3766         (win32_readlink): New functions.
3767         (xrealpath): Return really real filenames on windows.
3768
3769         * fileio.c (Ffile_truename): Make file-truename work on windows.
3770
3771 2000-11-29  Didier Verna  <didier@xemacs.org>
3772
3773         * faces.c (MAYBE_UNFROB_BACKGROUND_PIXMAP): new macro.
3774         * faces.c (update_face_cachel_data): use it.
3775         * faces.c (add_face_cachel): use it. Complete background pixmap
3776         frobbing in face cache if `update_face_cachel_data' has not done so.
3777
3778 2000-11-29  Yoshiki Hayashi  <yoshiki@xemacs.org>
3779
3780         * search.c (string_match_1): Don't set last_thing_searched
3781         when search failed.
3782
3783 2000-11-27  Yoshiki Hayashi  <yoshiki@xemacs.org>
3784
3785         * buffer.c: Include casetab.h
3786         (common_init_complex_vars_of_buffer): Use new case-table object.
3787         * buffer.h: Include casetab.h
3788         * buffer.h (MAKE_TRT_TABLE): Use generic char-table.
3789         (DOWNCASE_TABLE_OF): Ditto.
3790         * bufslots.h: Remove char-tables and add case-table.
3791         * casetab.c: Include casetab.h
3792         (CASE_TABLE_P): Removed.
3793         (mark_case_table): New function.
3794         (allocate_case_table): New function.
3795         (Fcase_table_p): Use new case-table.
3796         (case_table_char): New function.
3797         (Fget_case_table): Ditto.
3798         (Fput_case_table): Ditto.
3799         (Fput_case_table_pair): Ditto.
3800         (Fcopy_case_table): Ditto.
3801         (Fcurrent_case_table): Return case-table.
3802         (Fstandard_case_table): Return case-table.
3803         (Fset_case_table): Fix doc-string.
3804         (set_case_table): Use case-table
3805         (syms_of_casetab): DEFSUBR new functions.
3806         (complex_vars_of_casetab): Set up standard case-table.
3807         * casetab.h: New file.
3808         * editfns.c: Include casetab.h
3809         (Fcompare_buffer_substrings): Use case-table.
3810         * inline.c: Include casetab.h
3811         * lisp.h: Remove bogus extern.
3812         * lrecord.h (lrecord_type): Add lrecord_type_case_table.
3813         * search.c: Include casetab.h
3814         (TRANSLATE_ASCII): Removed.
3815         (TRANSLATE): Unconditionally translate character.
3816         (looking_at_1): Use case-table.
3817         (string_match_1): Ditto.
3818         (fast_string_match): Ditto.
3819         (search_command): Ditto.
3820         (search_buffer): Separate boyer_moore.  Check whether
3821         boyer_moore is poosible.
3822         (simple_search): New function.
3823         (boyer_moore): Separated from search_buffer. Translate char.
3824
3825 2000-11-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
3826
3827         * regex.c (RE_TR_ASCII): Removed.
3828         (RE_TRANSLATE): Unconditionally use TRT_TABLE.
3829         (PATFETCH): Call PATFETCH_RAW.
3830         (PATFETCH_RAW): Fetch Emchar.
3831         (PATUNFETCH): Decrement charptr.
3832         (GET_BUFFER_SPACE): Rename b to buf_end.
3833         (BUF_PUSH): Ditto.
3834         (BUF_PUSH_2): Ditto.
3835         (BUF_PUSH_3): Ditto.
3836         (EXTEND_BUFFER): Ditto.
3837         (SET_LIST_BIT): Ditto.
3838         (regex_compile): Ditto.  Translate non ASCII char.
3839         (compile_range): Ditto.
3840         (re_search_2): Ditto.
3841         (re_match_2_internal): Compare Emchar.
3842         (bcmp_translate): Ditto.
3843
3844 2000-11-29  Stephen J. Turnbull  <turnbull@xemacs.org>
3845
3846         * lisp.h (basic char/int typedefs):  comment improvement.
3847
3848 2000-11-24  Stephen J. Turnbull  <turnbull@xemacs.org>
3849
3850         * emacs.c (main_1):  unconditional pdump unstomping; don't save and
3851         unstomp inhibit_site_lisp.  Improve comments.
3852
3853 2000-11-22  Stephen J. Turnbull  <turnbull@xemacs.org>
3854
3855         * mule-charset.c (Fcharset_property):  improve type checking, comments.
3856
3857 2000-11-28  Andy Piper  <andy@xemacs.org>
3858
3859         * redisplay-output.c (redisplay_output_subwindow): make sure we do
3860         clipped display for windows in the gutter also.
3861         (redisplay_display_boxes_in_window_p): change semantics of return
3862         codes to be more intuitive.
3863
3864         * gutter.h: declare display_boxes_in_gutter_p.
3865
3866         * gutter.c (display_boxes_in_gutter_p): new function for
3867         redisplay.
3868
3869 2000-11-22  Andy Piper  <andy@xemacs.org>
3870
3871         * glyphs-x.c (image_instantiator_format_create_glyphs_x): change
3872         autodetect domain.
3873
3874 2000-11-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
3875
3876         * callproc.c (Fold_call_process_internal):
3877         * gpm.c (Freceive_gpm_event):
3878         (tty_get_foreign_selection): Might be just warning supression.
3879         * fileio.c (Fwrite_region_internal):
3880         (Fset_visited_file_modtime):
3881         * keymap.c (event_matches_key_specifier_p):
3882         Initialize GCPROed variable.
3883
3884         * menubar-x.c (command_builder_find_menu_accelerator):
3885         Initialize before use.
3886
3887 2000-11-23  Andy Piper  <andy@xemacs.org>
3888
3889         * unexcw.c (unexec): make the resulting executable executable.
3890
3891 2000-11-21  Martin Buchholz  <martin@xemacs.org>
3892
3893         * doc.c (get_doc_string):
3894         Use size_t, not int, for result of XSTRING_LENGTH.
3895
3896         * cmds.c (Fdelete_char):
3897         * cmds.c (Fpoint_at_eol):
3898         * cmds.c (Fself_insert_command):
3899         Use EMACS_INT, not int, for result of XINT.
3900         Someday, someone will want to insert more than 2**31 identical characters.
3901
3902         * cmds.c (Fdelete_char):
3903         * cmds.c (Fdelete_backward_char):
3904         * syntax.c (Fforward_word):
3905         * syntax.c (Fforward_comment):
3906         Make COUNT argument optional, for consistency with forward-char et al.
3907
3908 2000-11-22  Martin Buchholz  <martin@xemacs.org>
3909
3910         * lisp.h:
3911         * print.c (long_to_string):
3912         Return a useful value: the pointer at end of data written.
3913
3914         * doprnt.c:
3915         Use `static const char * const' for constant strings.
3916         (union printf_arg): Delete `i', `ui' members.
3917         (get_doprnt_args):
3918         (emacs_doprnt_1):
3919         Fix LP64 platform bug: (format "%d" most-positive-fixnum) ==> "-1"
3920         Do all printf-ing via the `l' specifier.
3921         Use EMACS_INT instead of int.
3922         Optimize.
3923
3924 2000-11-20  Didier Verna  <didier@xemacs.org>
3925
3926         * faces.c (update_face_cachel_data): don't frob the background
3927         pixmap when the window is being created. The face is needed but
3928         does not exist yet.
3929
3930 2000-11-20  Andy Piper  <andy@xemacs.org>
3931
3932         * unexcw.c (copy_executable_and_dump_data_section): Only do bss
3933         messing with a debug environment.
3934
3935 2000-11-20  Martin Buchholz  <martin@xemacs.org>
3936
3937         * emacs.c (__sti__iflPNGFile_c___): Pedantically correct prototype.
3938
3939 2000-11-20  Martin Buchholz  <martin@xemacs.org>
3940
3941         * casetab.c (Fcase_table_p): Fix compile error and crash.
3942
3943 2000-11-18  Philip Aston  <philipa@mail.com>
3944
3945         * s/cygwin32.h: Cygwin has SVR4-like pty support.
3946
3947 2000-11-18  Martin Buchholz  <martin@xemacs.org>
3948
3949         * fileio.c (Fexpand_file_name): GCPRO bug!  Protect `handler'.
3950         * filelock.c (lock_file): GCPRO bug! Initialize all GCPROed vars!
3951
3952 2000-11-17  Martin Buchholz  <martin@xemacs.org>
3953
3954         * config.h.in: Define HAVE_ELF_H if elf.h exists.
3955         * unexelf.c: Use HAVE_ELF_H.
3956         * unexelfsgi.c: Fix bug with dumped xemacs stdout/stderr not working.
3957         I copied FSF Emacs 20.7 unexelf.c to unexelfsgi.c and ANSIfied it.
3958         Max Matveev <makc@sgi.com> removed non-SGI-relevant parts and tested.
3959         Greg Harrington <greg_harrington@hotmail.com> provided a machine
3960         for testing.
3961         So this is an unexelfsgi.c from a different line of development.
3962
3963 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
3964
3965         * regex.c (RE_TR_ASCII): New function.
3966         (RE_TRANSLATE): Call it.
3967
3968 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
3969
3970         * buffer.h (TRT_TABLE_OF): Remove assert.
3971         (IN_TRT_TABLE_DOMAIN): Removed.
3972
3973 2000-11-16  Gunnar Evermann  <ge204@eng.cam.ac.uk>
3974
3975         * free-hook.c (log_gcpro):
3976         (show_gcprohist): Add support for GCPRO5.
3977
3978 2000-11-08  Stephen J. Turnbull  <stephen@xemacs.org>
3979
3980         * emacs.c (main_1): Improve -sd error message when --pdump=no.
3981
3982 2000-11-16  Olivier Galibert  <galibert@xemacs.org>
3983
3984         * symeval.h: Declare flush_all_buffer_local_cache.
3985
3986         * symbols.c: Change XD_LO_RESET_NIL into XD_LISP_OBJECTs.
3987         (flush_buffer_local_cache): Added.
3988         (flush_all_buffer_local_cache): Added.
3989
3990         * lrecord.h: Remove unused XD_LO_RESET_NIL.
3991
3992         * dumper.c (pdump_register_sub): Remove unused XD_LO_RESET_NIL.
3993         (pdump_dump_data): Ditto.
3994         (pdump_reloc_one): Ditto.
3995         (pdump): Remove unused pdump_qnil.  Flush buffer local caches
3996         before dumping.
3997
3998
3999 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
4000
4001         * buffer.c: Remove if 0'ed entry.
4002         * buffer.h: Rewrite TRT to use char-table.
4003         * bufslots.h: Remove mirror tables.
4004         * casetab.c: Remove mirror tables.
4005         (CASE_TABLE_P): New macro.
4006         (Fcase_table_p): Element of a case table is string or char-table.
4007         (make_mirror_trt_table): Removed.
4008         (set_case_table): Setup char-table from strings for backward
4009         compatibility.
4010         * dired.c (Fdirectory_files):
4011         * dired-msw.c: (mswindows_get_files):
4012         * lisp.h: Change prototype of re_pattern_buffer.
4013         * regex.c: (RE_TRANSLATE): New macro.
4014         (TRANSLATE_P): Ditto.
4015         Change translate to type RE_TRANSLATE_TYPE.
4016         * regex.h: Define RE_TRANSLATE_TYPE
4017         * search.c (TRANSLATE): New macro.
4018         (TRANSLATE_ASCII): New macro.
4019         Translate table is changed to Lisp_Object.
4020         (signal_failure): Inhibit return.
4021
4022 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
4023
4024         * device-msw.c:
4025         * eldap.c:
4026         * event-Xt.c:
4027         * event-stream.c:
4028         * print.c:
4029         Do UNGCPRO before return.
4030
4031 2000-11-14  Martin Buchholz <martin@xemacs.org>
4032
4033         * XEmacs 21.2.37 is released.
4034
4035 2000-11-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
4036
4037         * fileio.c (Finsert_file_contents_internal): UNGCPRO before return.
4038         Add comments about discarded return value.
4039
4040 2000-11-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
4041
4042         * callint.c:
4043         * event-stream.c: Fix comments.  Remove some #if 0'ed part.
4044
4045 2000-10-27  Andy Piper  <andy@xemacs.org>
4046
4047         * gutter.c (Fset_default_gutter_position): default left and right
4048         gutters to visible.
4049         (calculate_gutter_size): calculate resonable heuristic for left
4050         and right gutter sizes.
4051         (specifier_vars_of_gutter): change left and right gutter sizes to
4052         autodetect.
4053         (calculate_gutter_size_from_display_lines): new function.
4054         (output_gutter): check for resizing on left and right gutters.
4055         (clear_gutter): don't special case top and left gutters.
4056         (specifier_vars_of_gutter): use new signature for
4057         set_specifier_caching.
4058
4059         * glyphs-x.c (x_redisplay_widget): spelling fix.
4060         * glyphs.c (specifier_vars_of_glyphs):
4061         * menubar.c (specifier_vars_of_menubar):
4062         * redisplay.c (specifier_vars_of_redisplay):
4063         * toolbar.c (specifier_vars_of_toolbar):
4064         * window.c (specifier_vars_of_window):
4065         * scrollbar.c (specifier_vars_of_scrollbar):
4066         (complex_vars_of_scrollbar): use new signature for
4067         set_specifier_caching.
4068
4069         * specifier.c (set_specifier_caching): include recompute flag.
4070         (recompute_one_cached_specifier_in_window): always recompute if
4071         flag set.
4072         (recompute_one_cached_specifier_in_frame): ditto.
4073
4074         * specifier.h (struct specifier_caching): add recompute flag.
4075
4076 2000-10-24  Andy Piper  <andy@xemacs.org>
4077
4078         * unexcw.c (copy_executable_and_dump_data_section): add new
4079         BSS_PAD_SIZE so that we can re-instate a mini-bss. This keeps gdb
4080         5.0 happy.
4081
4082 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
4083
4084         * console-x.h (x_device): New member modifier_release_time.
4085         * event-Xt.c (x_handle_sticky_modifiers):
4086         Bound interval modifier keys are sticky.
4087         * event-stream.c (Vmodifier_keys_sticky_time): New variable.
4088         * events.h: extern it.
4089
4090 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
4091
4092         * cmdloop.c (Fcommand_loop_1): Just add C-g to event queue.
4093
4094 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
4095
4096         * event-stream.c (execute_command_event): Preserve current_events
4097         and the like when event is misc-user-event.
4098         Inhibit quit during the call to maybe_echo_keys.
4099
4100 2000-10-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
4101
4102         * filelock.c (lock_buffer): Cope with kill-buffer. Don't create a
4103         symlink when buffer is killed.
4104         (inhibit_clash_detection): New variable.
4105
4106 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
4107
4108         * console.c (Fset_input_method): Trigger redisplay on tty.
4109
4110 2000-11-07  Martin Buchholz  <martin@xemacs.org>
4111
4112         * process.c (Fprocess_status): Revert to previous behavior:
4113         (process-status "nosuchprocess") ==> nil
4114
4115 2000-11-06  Martin Buchholz  <martin@xemacs.org>
4116
4117         * mule-charset.h (CHARSET_BY_LEADING_BYTE):
4118         Work around another GCC 2.95.2 optimizer bug.
4119
4120 2000-11-02  Martin Buchholz  <martin@xemacs.org>
4121
4122         * process.c (Fget_process): Use LIST_LOOP_2.
4123         (kill_buffer_processes): Use LIST_LOOP_2.
4124
4125         * minibuf.c (Fall_completions):
4126         Delete old non-functional code for FSF fourth argument.
4127
4128         * frame.c (frame_matches_frame_spec):
4129         Renamed from `frame_matches_frametype'.  Update all callers.
4130         (device_matches_device_spec):
4131         Renamed from 'device_matches_console_spec'.  Update all callers.
4132
4133         * doc.c (Fsubstitute_command_keys):
4134         Remove buffer overflow crash.  Small code cleanups.
4135
4136         * casetab.c (check_case_table): Simpler code.
4137
4138         * window.c (Freplace_buffer_in_windows):
4139         Give this the same WHICH-FRAMES and WHICH-DEVICES parameters
4140         (and similar implementation) as Fdelete_windows_on.
4141         Update all callers.
4142
4143         * alloc.c (Fmake_list):
4144         * alloc.c (make_vector):
4145         * alloc.c (Fmake_vector):
4146         * alloc.c (make_bit_vector):
4147         * alloc.c (Fmake_bit_vector):
4148         * alloc.c (Fbit_vector):
4149         * alloc.c (Fmake_string):
4150         * alloc.c (Fpurecopy):
4151         * alloc.c (Fmemory_limit):
4152         * buffer.c:
4153         * buffer.c (Fget_buffer):
4154         * buffer.c (Fkill_buffer):
4155         * buffer.c (complex_vars_of_buffer):
4156         * bytecode.c (Fcompiled_function_stack_depth):
4157         * callint.c (Fprefix_numeric_value):
4158         * event-stream.c:
4159         * event-stream.c (Fread_key_sequence):
4160         * casetab.c:
4161         * casetab.c (Fcase_table_p):
4162         * casetab.c (check_case_table):
4163         * casetab.c (Fset_case_table):
4164         * casetab.c (Fset_standard_case_table):
4165         * chartab.c:
4166         * chartab.c (Fchar_table_type):
4167         * chartab.c (Freset_char_table):
4168         * chartab.c (Fget_char_table):
4169         * chartab.c (Fget_range_char_table):
4170         * chartab.c (Fput_char_table):
4171         * chartab.c (Fmap_char_table):
4172         * chartab.c (Fcategory_table_p):
4173         * chartab.c (Fcheck_category_at):
4174         * chartab.c (Fchar_in_category_p):
4175         * chartab.c (Fcategory_table):
4176         * chartab.c (Fcopy_category_table):
4177         * chartab.c (Fset_category_table):
4178         * chartab.c (Fcategory_designator_p):
4179         * chartab.c (Fcategory_table_value_p):
4180         * cmds.c (Fdelete_char):
4181         * cmds.c (Fdelete_backward_char):
4182         * cmds.c (Fself_insert_command):
4183         * cmds.c (Fself_insert_internal):
4184         * console.c (Fvalid_console_type_p):
4185         * console.c (Fcdfw_console):
4186         * console.c (Fconsole_type):
4187         * console.c (Fconsole_name):
4188         * console.c (Fconsole_device_list):
4189         * console.c (Fconsole_on_window_system_p):
4190         * data.c:
4191         * data.c (Feq):
4192         * data.c (Fold_eq):
4193         * data.c (Fsubr_interactive):
4194         * data.c (Fchar_to_int):
4195         * data.c (Fint_to_char):
4196         * data.c (Fsetcar):
4197         * data.c (Fsetcdr):
4198         * data.c (Fnumber_to_string):
4199         * data.c (Fstring_to_number):
4200         * data.c (Frem):
4201         * database.c (mark_database):
4202         * database.c (finalize_database):
4203         * database.c (Fdatabase_live_p):
4204         * database.c (Fdatabasep):
4205         * device-x.c (Fx_get_resource):
4206         * device.c (Fdfw_device):
4207         * dired.c:
4208         * dired.c (Ffile_name_completion):
4209         * dired.c (Ffile_name_all_completions):
4210         * dired.c (Fuser_name_completion):
4211         * dired.c (Fuser_name_completion_1):
4212         * dired.c (Fuser_name_all_completions):
4213         * doc.c (Fdocumentation):
4214         * doc.c (Fdocumentation_property):
4215         * doc.c (Fsubstitute_command_keys):
4216         * editfns.c:
4217         * editfns.c (Fchar_to_string):
4218         * editfns.c (Fstring_to_char):
4219         * editfns.c (Ftemp_directory):
4220         * editfns.c (Finsert_char):
4221         * editfns.c (Fbuffer_substring_no_properties):
4222         * editfns.c (Fnarrow_to_region):
4223         * editfns.c (Fchar_equal):
4224         * editfns.c (Fchar_Equal):
4225         * editfns.c (Ftranspose_regions):
4226         * emacs.c (Fdump_emacs):
4227         * eval.c (Fthrow):
4228         * eval.c (Fcommand_execute):
4229         * eval.c (Fautoload):
4230         * eval.c (Fbacktrace):
4231         * eval.c (Fbacktrace_frame):
4232         * events.c:
4233         * events.c (Fcopy_event):
4234         * events.c (Fcharacter_to_event):
4235         * events.c (Fevent_button):
4236         * events.c (Fevent_process):
4237         * extents.c:
4238         * extents.c (Fnext_extent_change):
4239         * extents.c (Fextent_property):
4240         * faces.c (Ffacep):
4241         * faces.c (Fmake_face):
4242         * file-coding.c:
4243         * file-coding.c (Fencode_shift_jis_char):
4244         * file-coding.c (Fencode_big5_char):
4245         * fileio.c (Ffile_name_directory):
4246         * fileio.c (Ffile_name_nondirectory):
4247         * fileio.c (Ffile_name_as_directory):
4248         * fileio.c (Fdirectory_file_name):
4249         * fileio.c (Ffile_truename):
4250         * fileio.c (Fsubstitute_in_file_name):
4251         * fileio.c (Ffile_modes):
4252         * fileio.c (Fset_file_modes):
4253         * fileio.c (Fset_default_file_modes):
4254         * fileio.c (Fverify_visited_file_modtime):
4255         * floatfns.c (Facos):
4256         * floatfns.c (Fasin):
4257         * floatfns.c (Fatan):
4258         * floatfns.c (Fcos):
4259         * floatfns.c (Fsin):
4260         * floatfns.c (Ftan):
4261         * floatfns.c (Fbessel_j0):
4262         * floatfns.c (Fbessel_j1):
4263         * floatfns.c (Fbessel_jn):
4264         * floatfns.c (Fbessel_y0):
4265         * floatfns.c (Fbessel_y1):
4266         * floatfns.c (Fbessel_yn):
4267         * floatfns.c (Ferf):
4268         * floatfns.c (Ferfc):
4269         * floatfns.c (Flog_gamma):
4270         * floatfns.c (Fexp):
4271         * floatfns.c (Fexpt):
4272         * floatfns.c (Flog):
4273         * floatfns.c (Flog10):
4274         * floatfns.c (Fsqrt):
4275         * floatfns.c (Fcube_root):
4276         * floatfns.c (Facosh):
4277         * floatfns.c (Fasinh):
4278         * floatfns.c (Fatanh):
4279         * floatfns.c (Fcosh):
4280         * floatfns.c (Fsinh):
4281         * floatfns.c (Ftanh):
4282         * floatfns.c (Fabs):
4283         * floatfns.c (Ffloat):
4284         * floatfns.c (Flogb):
4285         * floatfns.c (Fceiling):
4286         * floatfns.c (Ffloor):
4287         * floatfns.c (Fround):
4288         * floatfns.c (Ftruncate):
4289         * floatfns.c (Ffceiling):
4290         * floatfns.c (Fffloor):
4291         * floatfns.c (Ffround):
4292         * floatfns.c (Fftruncate):
4293         * fns.c (Fstring_equal):
4294         * fns.c (Fstring_lessp):
4295         * fns.c (concat2):
4296         * fns.c (concat3):
4297         * fns.c (vconcat2):
4298         * fns.c (vconcat3):
4299         * fns.c (Fsubstring):
4300         * fns.c (Fassoc):
4301         * fns.c (Fold_assoc):
4302         * fns.c (assoc_no_quit):
4303         * fns.c (Fassq):
4304         * fns.c (Fold_assq):
4305         * fns.c (assq_no_quit):
4306         * fns.c (Frassoc):
4307         * fns.c (Fold_rassoc):
4308         * fns.c (Frassq):
4309         * fns.c (Fold_rassq):
4310         * fns.c (rassq_no_quit):
4311         * fns.c (Fremassoc):
4312         * fns.c (remassoc_no_quit):
4313         * fns.c (Fremassq):
4314         * fns.c (remassq_no_quit):
4315         * fns.c (Fremrassoc):
4316         * fns.c (Fremrassq):
4317         * fns.c (remrassq_no_quit):
4318         * fns.c (Fsort):
4319         * fns.c (Fplist_get):
4320         * fns.c (Fplist_put):
4321         * fns.c (Fplist_remprop):
4322         * fns.c (Fplist_member):
4323         * fns.c (Flax_plist_get):
4324         * fns.c (Flax_plist_put):
4325         * fns.c (Flax_plist_remprop):
4326         * fns.c (Flax_plist_member):
4327         * fns.c (Fequal):
4328         * fns.c (Fold_equal):
4329         * fns.c (Frequire):
4330         * fns.c (Fbase64_encode_region):
4331         * fns.c (Fbase64_encode_string):
4332         * fns.c (Fbase64_decode_region):
4333         * frame.c:
4334         * frame.c (frame_matches_frame_spec):
4335         * frame.c (device_matches_device_spec):
4336         * frame.c (next_frame):
4337         * frame.c (previous_frame):
4338         * frame.c (Fnext_frame):
4339         * frame.c (Fprevious_frame):
4340         * frame.c (Fframe_property):
4341         * frame.c (Fset_frame_height):
4342         * frame.c (Fset_frame_size):
4343         * frame.h:
4344         * glyphs.c:
4345         * glyphs.c (if):
4346         * glyphs.c (decode_error_behavior_flag):
4347         * glyphs.c (Fmake_image_instance):
4348         * indent.c (Findent_to):
4349         * intl.c (Fignore_defer_gettext):
4350         * keymap.c (Fkeymapp):
4351         * keymap.c (Flookup_key):
4352         * lread.c:
4353         * lread.c (Fload_internal):
4354         * lread.c (Feval_buffer):
4355         * lread.c (Feval_region):
4356         * macros.c (Fexecute_kbd_macro):
4357         * marker.c (set_marker_internal):
4358         * marker.c (Fset_marker):
4359         * marker.c (set_marker_restricted):
4360         * marker.c (Fcopy_marker):
4361         * marker.c (noseeum_copy_marker):
4362         * menubar.c:
4363         * menubar.c (Fpopup_menu):
4364         * minibuf.c:
4365         * mule-charset.c (Fcharset_name):
4366         * mule-charset.c (Fchar_charset):
4367         * mule-charset.c (Fchar_octet):
4368         * mule-charset.c (Fsplit_char):
4369         * mule-wnnfns.c (Fwnn_open):
4370         * mule-wnnfns.c (Fwnn_dict_comment):
4371         * mule-wnnfns.c (Fwnn_quit_henkan):
4372         * mule-wnnfns.c (Fwnn_word_toroku):
4373         * mule-wnnfns.c (Fwnn_word_sakujo):
4374         * mule-wnnfns.c (Fwnn_word_use):
4375         * mule-wnnfns.c (Fwnn_hindo_set):
4376         * objects.c:
4377         * objects.c (Fmake_color_instance):
4378         * objects.c (Fmake_font_instance):
4379         * print.c (Fwrite_char):
4380         * process.c:
4381         * process.c (mark_process):
4382         * process.c (print_process):
4383         * process.c (get_process_from_usid):
4384         * process.c (Fprocessp):
4385         * process.c (Fprocess_live_p):
4386         * process.c (Fget_process):
4387         * process.c (Fget_buffer_process):
4388         * process.c (get_process):
4389         * process.c (Fprocess_id):
4390         * process.c (Fprocess_name):
4391         * process.c (Fprocess_command):
4392         * process.c (init_process_io_handles):
4393         * process.c (start_process_unwind):
4394         * process.c (Fstart_process_internal):
4395         * process.c (Fopen_multicast_group_internal):
4396         * process.c (Fset_process_window_size):
4397         * process.c (read_process_output):
4398         * process.c (send_process):
4399         * process.c (Fprocess_tty_name):
4400         * process.c (Fset_process_buffer):
4401         * process.c (Fprocess_buffer):
4402         * process.c (Fprocess_mark):
4403         * process.c (set_process_filter):
4404         * process.c (Fset_process_filter):
4405         * process.c (Fprocess_filter):
4406         * process.c (Fprocess_send_region):
4407         * process.c (Fprocess_send_string):
4408         * process.c (exec_sentinel):
4409         * process.c (Fset_process_sentinel):
4410         * process.c (Fprocess_sentinel):
4411         * process.c (status_notify):
4412         * process.c (Fprocess_status):
4413         * process.c (Fprocess_exit_status):
4414         * process.c (process_send_signal):
4415         * process.c (Fprocess_send_eof):
4416         * process.c (deactivate_process):
4417         * process.c (remove_process):
4418         * process.c (Fdelete_process):
4419         * process.c (kill_buffer_processes):
4420         * process.c (Fprocess_kill_without_query):
4421         * process.c (Fprocess_kill_without_query_p):
4422         * rangetab.c:
4423         * rangetab.c (Fget_range_table):
4424         * rangetab.c (Fput_range_table):
4425         * rangetab.c (Fremove_range_table):
4426         * rangetab.c (Fclear_range_table):
4427         * search.c:
4428         * search.c (Fskip_chars_forward):
4429         * search.c (Fskip_chars_backward):
4430         * search.c (Fskip_syntax_forward):
4431         * search.c (Fskip_syntax_backward):
4432         * search.c (search_command):
4433         * search.c (Freplace_match):
4434         * search.c (Fregexp_quote):
4435         * select.c (Fown_selection_internal):
4436         * select.c (Fselection_owner_p):
4437         * select.c (Fselection_exists_p):
4438         * select.c (Fget_selection_internal):
4439         * specifier.c:
4440         * symbols.c:
4441         * symbols.c (Fintern):
4442         * symbols.c (Fintern_soft):
4443         * symbols.c (Funintern):
4444         * symbols.c (Fapropos_internal):
4445         * symbols.c (Fset_default):
4446         * syntax.c:
4447         * syntax.c (Fsyntax_table_p):
4448         * syntax.c (Fcopy_syntax_table):
4449         * syntax.c (Fset_syntax_table):
4450         * syntax.c (Fchar_syntax):
4451         * syntax.c (syntax_match):
4452         * syntax.c (Fmatching_paren):
4453         * syntax.c (Fforward_word):
4454         * syntax.c (scan_lists):
4455         * syntax.c (Fscan_lists):
4456         * syntax.c (Fscan_sexps):
4457         * syntax.c (Fparse_partial_sexp):
4458         * toolbar.c (Fcheck_toolbar_button_syntax):
4459         * tooltalk.doc:
4460         * window.c:
4461         * window.c (Fwindowp):
4462         * window.c (Fwindow_live_p):
4463         * window.c (Fwindow_point):
4464         * window.c (Fdelete_window):
4465         * window.c (Fnext_window):
4466         * window.c (Fprevious_window):
4467         * window.c (Fother_window):
4468         * window.c (window_loop):
4469         * window.c (Fget_lru_window):
4470         * window.c (Fsplit_window):
4471         * window.c (Fenlarge_window):
4472         * window.c (Fenlarge_window_pixels):
4473         * window.c (Fshrink_window):
4474         * window.c (Fshrink_window_pixels):
4475         * window.c (change_window_height):
4476         * window.c (Fwindow_configuration_p):
4477         * window.c (Fcurrent_window_configuration):
4478         * window.h:
4479         * casefiddle.c (casify_object):
4480         * casefiddle.c (Fupcase):
4481         * casefiddle.c (Fdowncase):
4482         * casefiddle.c (Fcapitalize):
4483         * casefiddle.c (Fupcase_initials):
4484         * casefiddle.c (casify_region_internal):
4485         * casefiddle.c (casify_region):
4486         * casefiddle.c (Fupcase_region):
4487         * casefiddle.c (Fdowncase_region):
4488         * casefiddle.c (Fcapitalize_region):
4489         * casefiddle.c (Fupcase_initials_region):
4490         * casefiddle.c (Fupcase_word):
4491         * casefiddle.c (Fdowncase_word):
4492         * casefiddle.c (Fcapitalize_word):
4493         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
4494         Replace 0 with '\0' when working with bytes.
4495         Replace initial "(" with "\(" in docstrings.
4496
4497 2000-11-01  Martin Buchholz  <martin@xemacs.org>
4498
4499         * config.h.in: Handle alloca with Compaq C on Alpha Linux.
4500
4501         * m/alpha.h: Let configure handle SYSTEM_MALLOC on Linux.
4502
4503 2000-10-31  Martin Buchholz  <martin@xemacs.org>
4504
4505         * eldap.c (print_ldap): 64-bit cleaner.  Fixes warning.
4506
4507 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
4508
4509         * doprnt.c (emacs_do_prnt_1): Format (format "%01.2d" 10)
4510         correctly.
4511
4512 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
4513
4514         * fileio.c (Vauto_save_list_file_prefix): Moved from startup.el.
4515         (inhibit_auto_save_session): New variable.
4516         (vars_of_fileio): Declare and initialize them.
4517         * fileio.c (Fdo_auto_save): Don't create session file if
4518         Vinhibit_auto_save_session or Vauto_save_list_file_prefix is non-nil.
4519
4520 2000-10-31  Martin Buchholz  <martin@xemacs.org>
4521
4522         * sgiplay.c (play_internal): C++ compilability.
4523         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Remove unused var `SFTB_prev'.
4524         * callproc.c (Fold_call_process_internal):
4525         Remove unused vars `env', `first'.
4526         * scrollbar.c (update_scrollbar_instance):
4527         #### unused var `current_window'.
4528         * redisplay-tty.c: Put currently unused vars insert_mode_on,
4529         etc. within #ifdef NOT_YET.
4530         * emacs.c: #### unused vars `initial_argc', `initial_argv'.
4531         * dialog-x.c (dbox_descriptor_to_widget_value): ### unused var `title'.
4532         * specifier.c (specifier_instance):
4533         #### unused var `tag'.
4534         Use WINDOW_BUFFER, FRAME_DEVICE instead of their expansion.
4535
4536 2000-10-27  Martin Buchholz  <martin@xemacs.org>
4537
4538         * fns.c (Fbutlast):
4539         * fns.c (list_sort):
4540         * fns.c (Ffillarray):
4541         * fns.c (bytecode_nconc2):
4542         * fns.c (Fnconc):
4543         * fns.c (mapcar1):
4544         * fns.c (Fmapconcat):
4545         Be pedantically 64-bit correct.  For the time when someone will
4546         want to have a list with length > 2**32.
4547
4548         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
4549         Work around MIPSpro compiler bug.
4550
4551         * process-unix.c (unix_kill_child_process): Add snarky comment.
4552         * process-unix.c (try_to_initialize_subtty):  Oops, `=' ==> `=='
4553
4554         * config.h.in: Oops, _getpt ==> _getpty
4555
4556 2000-10-26  Martin Buchholz  <martin@xemacs.org>
4557
4558         * config.h.in:
4559         * regex.c:
4560         Use void*, not char*, as return type of alloca().
4561
4562         * alloc.c (free_marker): Side effect inside assert expression!
4563
4564 2000-10-16  MIYASHITA Hisashi  <himi@m17n.org>
4565
4566         * mule-charset.c (Fset_charset_ccl_program): To check
4567         if the given ccl program is valid, use setup_ccl_program()
4568         instead of CHECK_VECTOR().
4569         (Fmake_charset): Likewise.
4570
4571 2000-10-20  Golubev I. N.  <gin@mo.msk.ru>
4572
4573         * faces.c (get_extent_fragment_face_cache_index):
4574         Fix cachel.merged_faces memory leak.
4575
4576 2000-10-14  MIYASHITA Hisashi  <himi@m17n.org>
4577
4578         * mule-ccl.c (ccl_driver)<CCL_DECODE_SJIS>:
4579         Reset MSB of octets obtained by DECODE_SJIS
4580         because of the incompatibility with Emacs.
4581         (ccl_driver)<CCL_ENCODE_SJIS>:
4582         Set MSB of octets before passing them to
4583         ENCODE_SJIS because of the incompatibility
4584         with Emacs.
4585
4586 2000-10-18   Daiki Ueno  <ueno@unixuser.org>
4587
4588         * lrecord.h (DECLARE_TYPECHECK_LRECORD): Abolish.
4589         (DECLARE_LRECORD): Undo the last change.
4590         (DECLARE_EXTERNAL_LRECORD): Expand typechecking stuff.
4591
4592 2000-10-17   Daiki Ueno  <ueno@unixuser.org>
4593
4594         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Connect
4595         the implementation to lrecord_implementations_table.
4596
4597 2000-10-14   Daiki Ueno  <ueno@unixuser.org>
4598
4599         * lrecord.h (MAKE_EXTERNAL_LRECORD_IMPLEMENTATION): Don't set the
4600         initial value of `lrecord_type_##c_name' and
4601         `lrecord_##c_name.lrecord_type_index'; discard "const" qualifier.
4602         (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): New macro.
4603         [ERROR_CHECK_TYPECHECK] (DECLARE_TYPECHECK_LRECORD): New macro.
4604         [ERROR_CHECK_TYPECHECK] (DECLARE_LRECORD): Use it.
4605         [ERROR_CHECK_TYPECHECK] (DECLARE_EXTERNAL_LRECORD): Use it.
4606
4607 2000-10-17  Martin Buchholz  <martin@xemacs.org>
4608
4609         * miscplay.c (sndcnv8S_2mono):
4610         (sndcnv2monounsigned):
4611         (sndcnvULaw_2linear):
4612         (sndcnv16swap):
4613         Remove implementation-defined behavior.
4614
4615 2000-10-12  Martin Buchholz  <martin@xemacs.org>
4616
4617         * input-method-xlib.c: Warning suppression.
4618
4619 2000-10-05  MIYASHITA Hisashi  <himi@m17n.org>
4620
4621         * mule-ccl.c: Sync up with Emacs 21.0.90.
4622         (ccl_driver)<CCL_TranslateCharacter>: Disabled.
4623         Do nothing.
4624         (ccl_driver)<CCL_TranslateCharacterConstTbl>:
4625         Likewise.
4626         (ccl_driver[WriteMultibyteChar2]): Bug fix.
4627         Use MAX_LEADING_BYTE_OFFICIAL_2 instead of
4628         MIN_LEADING_BYTE_OFFICIAL_2 to check whether the
4629         leading char belongs to official 2-dimensional charset.
4630         (CCL_WRITE_CHAR): When CCL_MODE_ENCODING,
4631         write the given character as is.  Otherwise,
4632         if it is a multibyte char, convert it by
4633         non_ascii_set_charptr_emchar, then write it.
4634         (CCL_WRITE_STRING): Likewise.
4635         (ccl_get_compiled_code): New function.
4636         (setup_ccl_program): When ccl_prog is invalid,
4637         return -1.
4638         (Fregister_code_conversion_map): New function.
4639         (syms_of_mule_ccl): defsubr Fregister_code_conversion_map.
4640
4641         * mule-ccl.h: Sync up with Emacs 21.0.90.
4642         (Fregister_ccl_program): export it.
4643
4644         * redisplay-msw.c (separate_textual_runs):
4645         If ccl program is not valid, don't do ccl conversion.
4646
4647         * redisplay-x.c (separate_textual_runs): Ditto.
4648
4649         * file-coding.c (Fmake_coding_system):
4650         When type is ccl and value is vector, register it
4651         with a proper symbol.  And checks whether the
4652         given ccl program is valid.
4653         (mule_decode): When calling ccl_driver, if src indicates
4654         NULL pointer, set an empty string instead.
4655         (mule_encode): Likewise.
4656
4657 2000-10-11  Martin Buchholz  <martin@xemacs.org>
4658
4659         The following large batch of changes gets us back to a state of
4660         C++ compilability.  Extbyte is now a char, which means that
4661         Extbyte * and Bufbyte * cannot be freely interchanged - a win!
4662
4663         * tooltalk.c (Fset_tooltalk_message_attribute): Type correctness.
4664
4665         * sound.c (Fplay_sound): Type correctness.
4666
4667         * select-x.c (hack_motif_clipboard_selection): Type correctness.
4668         (x_get_window_property): Type correctness.
4669         (receive_incremental_selection): unsigned char ==> Extbyte
4670         (selection_data_to_lisp_data): unsigned char ==> Extbyte
4671         (Fx_get_cutbuffer_internal): unsigned char ==> Extbyte
4672         (Fx_store_cutbuffer_internal): Type correctness.
4673
4674         * process-unix.c (try_to_initialize_subtty): Type correctness.
4675
4676         * objects-x.c (x_print_color_instance): Type correctness.
4677         (x_print_font_instance): Type correctness.
4678         (x_list_fonts): SExtbyte ==> Extbyte.
4679         (valid_x_font_name_p): SExtbyte ==> Extbyte.
4680         (x_find_charset_font): SExtbyte ==> Extbyte.
4681         Use TO_INTERNAL_FORMAT.  build_string ==> make_string.
4682         (truename_via_XListFonts): SExtbyte ==> Extbyte.
4683         (x_font_instance_properties): Use TO_INTERNAL_FORMAT.
4684         Use bufbyte_strcmp.
4685
4686         * mule-charset.h (LEADING_BYTE_PREFIX_P): unsigned char ==> Bufbyte
4687         (PRIVATE_LEADING_BYTE_PREFIX): Add paranoia cast.
4688         (BYTE_ASCII_P): Use bit ops for char-signedness safety.
4689         (BYTE_C0_P): Use bit ops for char-signedness safety.
4690         (BYTE_C1_P): Use bit ops for char-signedness safety.
4691         (CHARSET_BY_LEADING_BYTE):
4692         (CHARSET_BY_ATTRIBUTES):
4693         Always use inline function.
4694         Use type_checking_assert.
4695         Hide chlook.
4696
4697         * mule-charset.c (non_ascii_charptr_copy_char):
4698         Modify to work with both ASCII and non-ASCII characters.
4699         Improve docs and variable names.
4700         Replace over-clever fall-through switch with a simple loop.
4701         (Lstream_get_emchar_1):
4702         Replace over-clever fall-through switch with a simple loop.
4703
4704         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
4705         Warning suppression.
4706
4707         * lstream.h (Lstream_get_emchar): BYTE_ASCII_P cannot be used on
4708         the return value of Lstream_getc, which could be EOF as well.
4709
4710         * lstream.c (Lstream_raw_read): Now returns ssize_t, not int.
4711
4712         * lisp.h: Make Extbyte a char, not unsigned char, so that external
4713         APIs can be used on Extbytes without casts.  Risky!
4714         (SExtbyte): Remove.
4715         (UExtbyte): Remove.
4716
4717         * input-method-xlib.c (XIM_init_device):
4718         Use Xlib.h instead of IntrinsicP.h.
4719         Use HAVE_XREGISTERIMINSTANTIATECALLBACK instead of THIS_IS_X11R6,
4720         which will break in X11R7.
4721         Use XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE,
4722         to call XRegisterIMInstantiateCallback with correct types.
4723
4724         * gui-x.c (button_item_to_widget_value): Type correctness.
4725
4726         * glyphs.c (bitmap_to_lisp_data):  Type correctness.
4727
4728         * glyphs-x.c (pixmap_from_xbm_inline): Type correctness.
4729         (xbm_instantiate_1): Type correctness.
4730         (BUILD_GLYPH_INST):  Type correctness.
4731
4732         * fileio.c (Fsubstitute_in_file_name): Type correctness.
4733
4734         * file-coding.c:
4735         (decode_coding_sjis):
4736         (decode_coding_big5):
4737         (decode_coding_ucs4):
4738         (decode_coding_utf8):
4739         (decode_coding_iso2022):
4740         (decode_coding_no_conversion):
4741         Make all decoding functions take an Extbyte * arg.
4742         (encode_coding_sjis):
4743         (encode_coding_big5):
4744         (encode_coding_ucs4):
4745         (encode_coding_utf8):
4746         (encode_coding_iso2022):
4747         (encode_coding_no_conversion):
4748         Make all encoding functions take a Bufbyte * arg.
4749         Use size_t instead of unsigned int for memory sizes.
4750         Only cast to unsigned char whenever dereferencing Extbyte *.
4751
4752         * doc.c (unparesseuxify_doc_string): Type correctness.
4753
4754         * console-x.c (split_up_display_spec):
4755         Rewrite without using details of internal string representation.
4756         (x_semi_canonicalize_device_connection): Type correctness.
4757
4758         * config.h.in:
4759         (HAVE_XREGISTERIMINSTANTIATECALLBACK): New.
4760         (XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE): New.
4761         (HAVE_XFREE386): Removed.
4762
4763         * buffer.h (DEC_CHARPTR): `const' correctness.
4764         (bufbyte_strcmp): New.
4765         (bufbyte_memcmp): New.
4766
4767         * buffer.c (dfc_convert_to_internal_format): Extbyte ==> Bufbyte
4768
4769         * buffer.h (XCHAR_OR_CHAR_INT):
4770         Always use inline function.
4771         Remove redundant type checking assert() - XINT will abort quite nicely.
4772
4773 2000-10-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
4774
4775         * search.c (Freplace_match): Set newtext to an empty string.
4776
4777 2000-10-10  Martin Buchholz  <martin@xemacs.org>
4778
4779         * s/decosf1-3.h: Remove #include of stropts.h
4780         * s/ptx.h: Remove #include of stropts.h
4781         * s/usg5-4.h: Remove #include of stropts.h
4782         * sysproc.h:
4783         * config.h.in:
4784         Use stropts.h, not sys/stropts.h.
4785         Use strtio.h, not sys/strtio.h.
4786
4787 2000-10-04  Martin Buchholz <martin@xemacs.org>
4788
4789         * XEmacs 21.2.36 is released.
4790
4791 2000-09-21  Andy Piper  <andy@xemacs.org>
4792
4793         * glyphs-x.c (x_redisplay_widget): make sure non-structural
4794         changes still involve copying the widget tree.
4795         (update_widget_face): make sure a change is register in the widget
4796         tree. Call update_tab_widget_face appropriately.
4797         (update_tab_widget_face): ditto.
4798         (x_tab_control_redisplay): make sure non-structural changes still
4799         involve copying the widget tree.
4800
4801 2000-08-31   Daiki Ueno  <ueno@unixuser.org>
4802
4803         * lread.c (locate_file): Check the path element is non-nil.
4804
4805 2000-10-02  Martin Buchholz  <martin@xemacs.org>
4806
4807         * lisp.h: Warning suppression for SCO compilers.
4808
4809         * redisplay-tty.c (reset_tty_modes): Fix crash.
4810         E.g. from xemacs running on X: (delete-device (make-device 'tty nil))
4811
4812 2000-09-27  Martin Buchholz  <martin@xemacs.org>
4813
4814         Big signal/process handling overhaul.  Bugs fixed:
4815         M-x shell, type `sleep 10000', M-x comint-interrupt-subjob and
4816         M-x comint-kill-subjob should work for both values nil and t of
4817         process-connection-type. It was broken on most platforms.
4818         Testing on Irix and Cygwin still needed.  Other plaforms tested.
4819         * sysdep.c: Move #include of stropts.h into sysproc.h.  Use pid_t.
4820         * process-unix.c: Signal/Process handling overhaul.
4821         (pty_name): make 64 bytes, as `expect' does, for paranoia.
4822         (allocate_pty): Use all available modern methods of allocating
4823         ptys, falling back to old style BSD allocation as a last resort.
4824         Use allegedly more secure Unix98 pty allocation by default.
4825         (allocate_pty_the_old_fashioned_way): New. the last resort.
4826         (unix_create_process): Push ptem, ldterm, ttcompat where
4827         available.  Autoconfiscate.
4828         (try_to_initialize_subtty): New.
4829         (unix_kill_child_process): Proper signal handling for ptys on most
4830         platforms, using special knowledge of AIX, BSD, etc...
4831         (unix_create_process): Always disconnect_controlling_terminal() for
4832         subprocesses, whether using ptys or not.
4833         * process.h: Remove old getpt-dependent PTY code.
4834         * process.c (Fprocess_send_signal): New, obvious generic function.
4835         (decode_signal): New.
4836         (Finterrupt_process):
4837         (Fkill_process):
4838         (Fquit_process):
4839         (Fstop_process):
4840         (Fcontinue_process):
4841         (Fsignal_process): Use decode_signal.
4842         (process_send_signal):
4843         Many docstring corrections.
4844         Allow any signal to be sent to a process object.
4845         * config.h.in: Add symbols for big signal/process overhaul.
4846         * syssignal.h (EMACS_KILLPG): Use HAVE_KILLPG. Use `pid', not `gid'.
4847         * sysproc.h: Include process-related headers, where available:
4848         sys/stropts.h sys/strtio.h pty.h libutil.h
4849         * s/irix4-0.h:
4850         * s/irix5-0.h:
4851         * s/cygwin32.h:
4852         * s/gnu.h:
4853         * s/linux.h:
4854         * s/hpux.h:
4855         * s/aix3-1.h:
4856         Remove old S&M pty stuff.
4857         * console-tty.c (tty_init_console): Use pid_t, not int, for pids.
4858         * systty.h: Simplify cpp hackery, improve comments.
4859         Favor BSD ioctl(TIOCGPGRP) over Posix tcgetpgrp().
4860
4861         * editfns.c (Fformat_time_string):
4862         Be a little more paranoid with the return value of ctime.
4863
4864         * fileio.c (check_executable):
4865         (check_writable):
4866         Use symbolic constants X_OK, W_OK.
4867
4868         * console-x.c (split_up_display_spec): Fix a warning.
4869
4870 2000-10-02  Martin Buchholz  <martin@xemacs.org>
4871
4872         * gui-x.c (add_accel_and_to_external): strlen ==> XSTRING_LENGTH
4873         * ntproc.c (sys_spawnve): make_string ==> build_string
4874         Small clarity improvements.
4875
4876 2000-09-30  Martin Buchholz  <martin@xemacs.org>
4877
4878         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY): Warning removal.
4879
4880         * s/windowsnt.h (HAVE_STRCASECMP): Remove.
4881
4882         * config.h.in (HAVE_STRCASECMP): Remove.
4883
4884 2000-09-29  Martin Buchholz  <martin@xemacs.org>
4885
4886         * redisplay-output.c (redisplay_output_pixmap):
4887         Cleaner and possibly more 64-bit correct code.
4888
4889 2000-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
4890
4891         * dumper.c (pdump_load_finish): move restoration of
4892         `noninteractive1' to emacs.c (main_1).
4893         * emacs.c (main_1): protect LISP-visible command-line flags
4894         from pdump_load().
4895
4896 2000-09-26  Stephen J. Turnbull  <stephen@xemacs.org>
4897
4898         * Makefile.in.in (versionclean):  Use EXE_TARGET and
4899         DUMP_TARGET instead of literal program names.
4900
4901 2000-09-20  Martin Buchholz  <martin@xemacs.org>
4902
4903         * Makefile.in.in: Recent purify's require absolute paths for cache-dir.
4904
4905 2000-09-19  Martin Buchholz  <martin@xemacs.org>
4906
4907         * *: Spelling mega-patch
4908
4909 2000-09-19  Martin Buchholz  <martin@xemacs.org>
4910
4911         * fns.c (bad_bad_turtle):
4912         Delete "Eek!" comment, since we fixed the bug to which it refers.
4913
4914 2000-09-16  Martin Buchholz  <martin@xemacs.org>
4915
4916         * alloca.c: Replace REGISTER with register.
4917
4918 2000-09-16   Daiki Ueno  <ueno@unixuser.org>
4919
4920         * file-coding.c (ucs_to_char): Use countof.
4921
4922 2000-09-16  Martin Buchholz  <martin@xemacs.org>
4923
4924         * file-coding.c: (ucs_to_char):
4925         (complex_vars_of_file_coding):
4926         Use countof instead of sizeof.
4927         Use CHECK_NATNUM instead of CHECK_INT.
4928
4929         * sysdep.c (strcasecmp): Remove.
4930         * device-x.c (ascii_strcasecmp): New.
4931         * device-x.c (Fx_get_resource): Use ascii_strcasecmp.
4932         Avoid using non-standard non-portable strcasecmp.
4933
4934 2000-09-16  Martin Buchholz  <martin@xemacs.org>
4935
4936         * Makefile.in.in (mostlyclean): remove reference to prefix-args.
4937         * font-lock.c: remove reference to emacsfns.h.
4938         * search.c: small doc improvement.
4939         * event-Xt.c: correct file names in comments.
4940         * console-x.h Correct file names in comments.
4941         * frame.c: Correct file names in comments.
4942         * event-stream.c: remove Energize from comments.
4943
4944 2000-09-15  Martin Buchholz  <martin@xemacs.org>
4945
4946         * symeval.h (DEFERROR_STANDARD):
4947         (DEFERROR):
4948         (DEFSYMBOL):
4949         (DEFSYMBOL_NO_DUMP):
4950         (DEFSYMBOL_MULTIWORD_PREDICATE):
4951         (DEFSYMBOL_MULTIWORD_PREDICATE_NO_DUMP):
4952         (DEFKEYWORD):
4953         The construct &##name is not sensible C.
4954         Fixes compilation errors with Unixware native compiler.
4955
4956 2000-09-14  Martin Buchholz  <martin@xemacs.org>
4957
4958         * frame.c (device_matches_console_spec): no longer takes a `frame' arg
4959         (next_frame_internal): Removed.  We now just have next_frame.
4960         (next_frame):
4961         Write a simpler and cleaner one-pass algorithm.
4962         Remove called_from_delete_device arg and #ifdefed-out code.
4963         (previous_frame):
4964         Renamed from prev_frame.  Update callers.
4965         Cleaned up to have an analogous implementation to next_frame.
4966         (other_visible_frames_internal): Remove the
4967         called_from_delete_device bogus arg, and hence, remove this
4968         function.  Just use other_visible_frames().
4969
4970         * window.c (Fnext_window):
4971         Prettify docstring.
4972         Since next_frame() is guaranteed to return a frame, remove check
4973         for nil inserted in previous patch.
4974         (Fprevious_window):
4975         Prettify docstring.
4976         Make code look more like Fnext_window.
4977         (window_loop):
4978         Respect the `console' arg when iterating through windows.
4979         Fixes bug: (get-buffer-window buffer t device) not respecting
4980         the `device' arg.
4981         This function needs more work, as others have pointed out.
4982
4983         * frame.h: Rename prev_frame to previous_frame.
4984         device_matches_console_spec no longer takes a `frame' arg.
4985
4986         * s/gnu.h:
4987         * s/linux.h:
4988         * s/hpux.h:
4989         Use EMACS_BLOCK_SIGNAL instead of sigblock.
4990         From "Golubev I. N." <gin@mo.msk.ru>.
4991
4992         * make-src-depend: Fix typo.
4993
4994 2000-09-13  Martin Buchholz  <martin@xemacs.org>
4995
4996         * window.c (Fnext_window):
4997         next_frame() might return nil, not a frame.
4998         Fixes this crash:
4999         (gdb) run -eval '(progn  (make-device (quote x) "polgar:0") (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
5000
5001         * frame.c (next_frame_internal):
5002         We've passed a frame if we've passed its device.
5003         Fixes this crash:
5004         (gdb) run -eval '(progn (make-frame nil (make-device (quote x) "polgar:0")) (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
5005 Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245, RECORD_TYPEP (obj, lrecord_type_frame)
5006
5007 2000-09-11  Jonathan Harris  <jhar@tardis.ed.ac.uk>
5008
5009         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
5010         Allow option to suppress accelerators in menu/dialog items.
5011         (populate_or_checksum_helper): Pass dialog title through above.
5012
5013 2000-09-10  Jonathan Harris  <jhar@tardis.ed.ac.uk>
5014
5015         * event-msw.c (mswindows_key_to_emacs_keysym):
5016         Add "pause" key, fix "menu" key.
5017
5018 2000-09-09  Martin Buchholz  <martin@xemacs.org>
5019
5020         * eval.c (reinit_vars_of_eval):
5021         Increase max_lisp_eval_depth to 1000,
5022         required for thai-xtis.el to byte-compile under some circumstances.
5023
5024 2000-09-04  Martin Buchholz  <martin@xemacs.org>
5025
5026         * event-Xt.c (x_to_emacs_keysym): Increase size of `buffer' to 513.
5027         From Kenichi Handa.
5028
5029 2000-09-01  Martin Buchholz  <martin@xemacs.org>
5030
5031         * make-src-depend: Make the generated Makefiles smaller.
5032
5033         * s/hpux.h (SETUP_SLAVE_PTY):
5034         Provide a %d in the format string for the errno argument.
5035
5036         * editfns.c (Ftemp_directory):
5037         Warning fix.
5038         Avoid buffer overrun on very long file name.
5039
5040         * input-method-xlib.c (XIM_init_device):
5041         6th parameter of XRegisterIMInstantiateCallback has different
5042         pointer types on different OSes, so simply cast to (void *).
5043
5044         * unexhp9k800.c: Warning fixes.  Fiddly changes.
5045
5046         * sysdll.c (dll_open):
5047         shl_load will hang hard if passed a NULL filename.
5048         Simply return NULL for compatibility with dlopen.
5049         * sysdll.c: Conform to XEmacs coding standards.
5050
5051         * sysdep.c (get_pty_max_bytes):
5052         Support pty input lines longer than 512 bytes on HP-UX 10.20.
5053
5054 2000-08-31  Martin Buchholz  <martin@xemacs.org>
5055
5056         * tooltalk.c: Add #include <syssignal.h>
5057
5058 2000-08-12  Alexandre Oliva  <aoliva@redhat.com>
5059
5060         * s/hpux.h: Don't use undefined function sigunblock().
5061
5062 2000-08-31  Martin Buchholz  <martin@xemacs.org>
5063
5064         * config.h.in: Add HAVE_BALLOON_HELP.
5065         * emacs.c: Use HAVE_BALLOON_HELP.
5066         * Makefile.in.in (x_objs):
5067         Make Balloon Help conditional on finding shape.h.
5068
5069 2000-08-23  Yoshiki Hayashi  <yoshiki@xemacs.org>
5070
5071         * syntax.c (regex_emacs_buffer_p): New variable.
5072         * syntax.h (regex_emacs_buffer_p): extern.
5073         * search.c (looking_at_1):
5074         (string_match_1):
5075         (fast_string_match):
5076         (search_buffer): Set regex_emacs_buffer_p.
5077         * regex.c (re_match_2_internal): Reference regex_emacs_buffer_p
5078         when before_dot, at_dot, after_dot.
5079
5080 2000-08-23  Andy Piper  <andy@xemacs.org>
5081
5082         * gui-x.c (popup_selection_callback): Only set action_occurred
5083         when we really have an image instance.
5084         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
5085
5086 2000-08-23  Andy Piper  <andy@xemacs.org>
5087
5088         * gui-msw.c (mswindows_handle_gui_wm_command): set
5089         action_occurred.
5090         * gui-x.c (popup_selection_callback): ditto.
5091
5092         * glyphs.h (IMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): new accessor.
5093         (XIMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): ditto.
5094         (struct Lisp_Image_Instance): add action_occurred flag.
5095
5096         * glyphs.c (redisplay_subwindow): use action_occurred flag.
5097         (image_instance_changed): ditto.
5098         (reset_frame_subwindow_instance_cache): only unmap windows - do
5099         not remove them from the cache also.
5100
5101         * glyphs-widget.c (tab_control_update): better debug.
5102         (progress_gauge_update): ditto.
5103         (layout_update): ditto.
5104         (layout_instantiate): ditto.
5105         (tab_control_order_only_changed): cope with null pending items.
5106
5107         * glyphs-msw.c (mswindows_tab_control_redisplay): add better
5108         debug. Force selection of an item when an action occurred. Cope
5109         with null pending_items.
5110         (mswindows_progress_gauge_redisplay): better debug.
5111         * glyphs-x.c (x_tab_control_redisplay): ditto.
5112
5113         * redisplay.c (redisplay_frame): reset the frame cache if the
5114         frame is garbaged.
5115
5116         * window.c (Fset_window_configuration): potentially re-enable
5117         frame cache reset.
5118         (window_unmap_subwindows): need to finalize instances here since
5119         it is only used in mark_window_as_deleted.
5120
5121 2000-08-22  Stephen J. Turnbull  <stephen@xemacs.org>
5122
5123         * nas.c (SndOpenDataForReading):
5124         nas.c (WaveOpenDataForReading):
5125         nas.c (readChunk): {BIG,LITTLE}_ENDIAN -> NAS_{BIG,LITTLE}_ENDIAN.
5126         Somehow escaped from the 2000-08-14 patch.
5127
5128 2000-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
5129
5130         * nas.c:  Preprocessor trickery to use NAS_LITTLE_ENDIAN instead
5131         of LITTLE_ENDIAN (conflicts with glibc, at least) in NAS <= 1.2p5.
5132
5133 2000-08-21  Andy Piper  <andy@xemacs.org>
5134
5135         * glyphs-x.c (x_map_subwindow): Minor optimization - only map the
5136         window if it is not already displayed.
5137
5138         * glyphs-msw.c (mswindows_map_subwindow): only map the window if
5139         it is not already displayed.
5140
5141         * window.c (Fset_window_configuration): don't reset the frame
5142         cache.
5143
5144         * glyphs.c (unmap_subwindow_instance_cache_mapper): only remove
5145         instances from the frame cache if we are actually finalizing them.
5146         (reset_frame_subwindow_instance_cache): reset frame cache only
5147         after unmapping everything.
5148         (map_subwindow): set displayed flag after mapping.
5149
5150 2000-08-21  Martin Buchholz  <martin@xemacs.org>
5151
5152         * data.c (indirect_function):
5153         Rename ERRORP to non-misleading VOID_FUNCTION_ERRORP.
5154
5155         * eval.c (function_argcount):
5156         Use original function when signaling errors.
5157
5158 2000-08-18  Andy Piper  <andy@xemacs.org>
5159
5160         * frame.c (delete_frame_internal): use new
5161         free_frame_subwindow_instances name.
5162
5163         * glyphs-msw.c (mswindows_tab_control_instantiate): verify index.
5164         (add_tab_item): make return type correct.
5165         (mswindows_tab_control_instantiate): assert index of tab.
5166         (mswindows_tab_control_redisplay): Re-code to use
5167         gui_item_equal_sans_selected and gui_item_list_find_selected.
5168
5169         * glyphs-widget.c (tab_control_update): Correct comment.
5170
5171         * window.c (window_unmap_subwindows): use new
5172         unmap_subwindow_instance_cache_mapper.
5173         (window_unmap_subwindows_cache_mapper): deleted.
5174         (Fset_window_configuration): comparisons should now be with
5175         EQ. Preserve the subwindow instance cache across configuration
5176         changes.
5177         (allocate_window): ditto.
5178         (make_dummy_parent): ditto.
5179
5180         * glyphs.c (free_frame_subwindow_instances): rename from
5181         free_frame_subwindow_instance_cache. finalize all instances rather
5182         than just those in the display cache.
5183         (finalize_all_subwindow_instances): walk windows unmapping and
5184         finalizing subwindows.
5185         (unmap_subwindow_instance_cache_mapper): moved from
5186         window.c. Allow finalization as well as unmapping.
5187
5188         * gui.c (gui_item_list_find_selected): new function.
5189
5190         * gui.h (gui_item_list_find_selected): declare.
5191
5192         * glyphs-x.c (x_tab_control_redisplay): pick tab
5193         explicitly. Re-code to use gui_item_equal_sans_selected and
5194         gui_item_list_find_selected.
5195
5196         * glyphs-x.h: add lwlib-utils.h
5197
5198         * buffer.c (Frecord_buffer): undo previous change.
5199
5200 2000-08-09  Vin Shelton  <acs@xemacs.org>
5201
5202         * config.h.in, s/gnu.h, s/hpux.h, s/linux.h: Use UNIX98 PTYs if
5203         possible.  Create temporary files more securely.  The patch was
5204         generated by Torsten Duwe <duwe@caldera.de>, Florian Weimer
5205         <Florian.Weimer@RUS.Uni-Stuttgart.DE> and Olaf Kirch.  See
5206         http://www.xemacs.org/list-archives/xemacs-patches/200007/msg00123.html
5207         for details.
5208
5209 2000-08-07  Ben Wing  <ben@xemacs.org>
5210
5211         * getloadavg.c: remove duplicate (and windows-breaking)
5212         includes of fcntl.h and sys/file.h.
5213
5214         * nt.c: remove duplicate getloadavg() definition.
5215
5216         * sysdll.h (Qdll_filename_encoding): add missing stand-in
5217         encodings.
5218
5219 2000-08-07  Gunnar Evermann  <ge204@eng.cam.ac.uk>
5220
5221         * eval.c (function_argcount): If function needs to be autoloaded
5222         actually use the loaded definition.
5223         GCPRO function.
5224
5225 2000-08-05  Ben Wing  <ben@xemacs.org>
5226
5227         * getloadavg.c: add prototype for getloadavg().  remove
5228         duplicate WIN32_NATIVE/CYGWIN code (already in the middle
5229         of the code).  remove duplicate header includes.
5230
5231         * s\cygwin32.h, s\mingw32.h: remove stray NO_ARG_ARRAY.
5232
5233         * s\cygwin32.h, s\mingw32.h, m\windowsnt.h:
5234         don't define LOAD_AVE_TYPE/LOAD_AVE_CVT because we have no
5235         useful load average.
5236
5237         * alloc.c (reinit_alloc_once_early): removed references to
5238         VIRT_ADDR_VARIES, malloc_sbrk_used/free, and data-bytes-used/free.
5239         the lisp vars are the only things referencing the malloc_sbrk_*
5240         vars, and they were already if 0'd out.  these vars only exist
5241         in the older malloc.c, which is basically unused, and they're
5242         only for informational purposes.
5243
5244         * m\*.h: removed useless VIRT_ADDR_VARIES.
5245
5246         * m\powerpc.h: removed stray NO_ARG_ARRAY.
5247
5248 2000-04-26  IKEYAMA Tomonori  <tomonori@suiyokai.org>
5249
5250         * redisplay-msw.c (mswindows_output_dibitmap): Set foreground
5251         color if the image is a mono pixmap.
5252
5253 2000-07-30  Ben Wing  <ben@xemacs.org>
5254
5255         * Makefile.in.in (release):
5256         Remove stray @.
5257
5258         * buffer.c (directory_is_current_directory):
5259         * dired-msw.c (mswindows_get_files):
5260         * dired.c:
5261         * dired.c (Fdirectory_files):
5262         * dired.c (file_name_completion_stat):
5263         * dired.c (Ffile_attributes):
5264         [[[[1]]]]: Rename stat() -> xemacs_stat() and eliminate nasty
5265         preprocessor tricks, to avoid problems on some machines
5266         (e.g. SCO).
5267
5268         * callproc.c (egetenv): GC docs.
5269
5270         * console-msw.h:
5271         * console-msw.h (struct mswindows_dialog_id):
5272         * lrecord.h (lrecord_type):
5273         New object for use with MSW dialogs.
5274
5275         * console.h (struct console_methods):
5276         New enable/disable frame methods, for proper modal dialogs.
5277
5278         * device-msw.c (msprinter_default_printer): Fix to follow
5279         proper Mule conventions.
5280
5281         * device-msw.c:
5282         * device-msw.c (signal_open_printer_error):
5283         * device-msw.c (msprinter_init_device):
5284         * device-msw.c (ensure_not_printing):
5285         * device-msw.c (plist_get_margin):
5286         * device-msw.c (Fmsprinter_select_settings):
5287         * device-msw.c (finalize_devmode):
5288         * device-msw.c (Fmsprinter_settings_despecialize):
5289         * device-msw.c (signal_enum_priner_error):
5290         * extents.c (decode_extent):
5291         * extents.c (decode_map_extents_flags):
5292         * extents.c (decode_extent_at_flag):
5293         * extents.c (Fextent_at):
5294         * extents.c (Fextents_at):
5295         * extents.c (symbol_to_glyph_layout):
5296         [[[[2]]]] Use structured errors.
5297
5298         * dialog-msw.c:
5299         * dialog-msw.c (mswindows_is_dialog_msg):
5300         * dialog-msw.c (mark_mswindows_dialog_id):
5301         * dialog-msw.c (dialog_proc):
5302         * dialog-msw.c (handle_question_dialog_box):
5303         * dialog-msw.c (syms_of_dialog_mswindows):
5304         Define new object to clean up marking; use it as a dialog identifier.
5305         Call new delete-dialog-box-hook.
5306
5307         * dialog-x.c (dbox_selection_callback):
5308         * dialog-x.c (dbox_descriptor_to_widget_value):
5309         * dialog-x.c (x_make_dialog_box_internal):
5310         Call new delete-dialog-box-hook.
5311         Return an id.
5312
5313         * dialog.c:
5314         * dialog.c (syms_of_dialog):
5315         * dialog.c (vars_of_dialog):
5316         Define new delete-dialog-box-hook, for use w/modal dialog boxes.
5317
5318         * eval.c:
5319         * eval.c (signal_call_debugger):
5320         when noninteractive, output stack traces on the console instead
5321         of in a (never-seen) buffer.
5322
5323         * eval.c (signal_type_error):
5324         * eval.c (invalid_argument_2):
5325         * lisp.h:
5326         new funs for use w/structured errors.
5327
5328         * event-Xt.c:
5329         * event-Xt.c (x_to_emacs_keysym):
5330         * event-Xt.c (describe_event):
5331         * event-Xt.c (emacs_Xt_event_handler):
5332         * event-Xt.c (vars_of_event_Xt):
5333         * event-msw.c:
5334         * event-msw.c (mswindows_wnd_proc):
5335         * event-msw.c (vars_of_event_mswindows):
5336         rename {x,mswindows}-debug-events to debug-{}-events for
5337         consistency with other debug-foo variables.
5338
5339         * event-stream.c:
5340         document next-event more clearly.
5341
5342         * fileio.c (Ffile_name_directory):
5343         * fileio.c (Ffile_name_nondirectory):
5344         * fileio.c (Funhandled_file_name_directory):
5345         * fileio.c (file_name_as_directory):
5346         * fileio.c (Ffile_name_as_directory):
5347         * fileio.c (directory_file_name):
5348         * fileio.c (Fdirectory_file_name):
5349         * fileio.c (Fmake_temp_name):
5350         * fileio.c (Ffile_truename):
5351         * fileio.c (Fsubstitute_in_file_name):
5352         * fileio.c (expand_and_dir_to_file):
5353         * fileio.c (barf_or_query_if_file_exists):
5354         * fileio.c (check_executable):
5355         * fileio.c (Ffile_exists_p):
5356         * fileio.c (Ffile_writable_p):
5357         * fileio.c (Ffile_directory_p):
5358         * fileio.c (Ffile_regular_p):
5359         * fileio.c (Ffile_modes):
5360         * fileio.c (Ffile_newer_than_file_p):
5361         * fileio.c (Fverify_visited_file_modtime):
5362         * fileio.c (Fset_visited_file_modtime):
5363         * fileio.c (auto_save_1):
5364         (1). (2).
5365         fix up gcpro's.
5366
5367         * frame-msw.c:
5368         * frame-msw.c (mswindows_init_frame_1):
5369         * frame-msw.c (mswindows_enable_frame):
5370         * frame-msw.c (error_frame_unsizable):
5371         * frame-msw.c (msprinter_init_frame_1):
5372         * frame-msw.c (msprinter_init_frame_3):
5373         * frame-msw.c (console_type_create_frame_mswindows):
5374         (2).
5375         implement new enable/disable frame methods.
5376
5377         * frame-x.c:
5378         * frame-x.c (x_enable_frame):
5379         * frame-x.c (console_type_create_frame_x):
5380         implement new enable/disable frame methods.
5381
5382         * frame.c:
5383         * frame.c (Fdisable_frame):
5384         * frame.c (syms_of_frame):
5385         * frame.h (struct frame):
5386         implement new enable/disable frame methods/functions.
5387
5388         * general-slots.h:
5389         add initial-focus.
5390
5391         * glyphs-msw.c (mswindows_widget_instantiate):
5392         comment that initial-focus should be implemented.
5393
5394         * glyphs-widget.c:
5395         * glyphs-widget.c (check_valid_instantiator):
5396         * glyphs-widget.c (check_valid_orientation):
5397         * glyphs-widget.c (check_valid_tab_orientation):
5398         * glyphs-widget.c (check_valid_justification):
5399         * glyphs-widget.c (check_valid_border):
5400         * glyphs-widget.c (check_valid_callback):
5401         * glyphs-widget.c (check_valid_int_or_function):
5402         * glyphs-widget.c (check_valid_string_or_vector):
5403         * glyphs-widget.c (check_valid_item_list_1):
5404         * glyphs-widget.c (widget_validate):
5405         * glyphs-widget.c (combo_box_validate):
5406         * glyphs-widget.c (widget_instantiate):
5407         * glyphs-widget.c (syms_of_glyphs_widget):
5408         * glyphs-widget.c (VALID_WIDGET_KEYWORDS):
5409         * glyphs-widget.c (image_instantiator_combo_box):
5410         * glyphs-widget.c (image_instantiator_scrollbar):
5411         * glyphs-widget.c (image_instantiator_tab_control):
5412         * glyphs-widget.c (VALID_LAYOUT_KEYWORDS):
5413         (2).
5414         support (unimplemented) keyword initial-focus.
5415         reindent long macros.
5416
5417         * glyphs-x.c (x_redisplay_widget):
5418         * glyphs-x.c (x_button_instantiate):
5419         * glyphs-x.c (x_button_redisplay):
5420         * glyphs-x.c (x_progress_gauge_instantiate):
5421         * glyphs-x.c (x_edit_field_instantiate):
5422         * glyphs-x.c (x_combo_box_instantiate):
5423         * glyphs-x.c (x_tab_control_instantiate):
5424         * glyphs-x.c (x_label_instantiate):
5425         * gui-x.c:
5426         * gui-x.c (button_item_to_widget_value):
5427         * gui-x.c (gui_items_to_widget_values_1):
5428         * gui-x.c (gui_item_children_to_widget_values):
5429         * gui-x.c (gui_items_to_widget_values):
5430         * gui-x.h:
5431         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
5432         add new flag to gui-parsing routines to indicate whether
5433         accelerator specs should be supported.
5434
5435         * glyphs.c (syms_of_glyphs): use DEFSYMBOL.
5436
5437         * glyphs.h (struct Lisp_Image_Instance):
5438         * glyphs.h (IMAGE_INSTANCE_WANTS_INITIAL_FOCUS):
5439         add initial-focus flag.
5440
5441         * gui.c:
5442         * gui.c (syms_of_gui):
5443         * gui.c (vars_of_gui):
5444         clean up menu-no-selection-hook.
5445
5446         * gui.h:
5447         support delete-dialog-box-hook.
5448
5449         * lread.c (Fload_internal):
5450         * lread.c (locate_file_in_directory_mapper):
5451         (1).
5452
5453         * lrecord.h:
5454         * lrecord.h (struct toolbar_button):
5455         * lrecord.h (syms_of_toolbar):
5456         document how to create a new object.
5457
5458         * menubar-msw.c (mswindows_char_is_accelerator):
5459         may be called on frames w/o menus.
5460
5461         * menubar.c (vars_of_menubar):
5462         clean up :filter docs.
5463
5464         * nt.c (readdir):
5465         * ntproc.c:
5466         (1).
5467
5468         * process-nt.c:
5469         * process-nt.c (validate_signal_number):
5470         * process-nt.c (signal_cannot_launch):
5471         * process-nt.c (nt_create_process):
5472         * process-nt.c (nt_send_process):
5473         * process-nt.c (nt_kill_child_process):
5474         * process-nt.c (nt_open_network_stream):
5475         * process-nt.c (syms_of_process_nt):
5476         (2).
5477         delete quote-handling.  call new lisp code that does it better.
5478
5479         * process-unix.c (connect_to_file_descriptor):
5480         * process-unix.c (allocate_pty):
5481         * process-unix.c (unix_send_process):
5482         * process-unix.c (unix_kill_child_process):
5483         * process-unix.c (unix_open_network_stream):
5484         * process-unix.c (unix_open_multicast_group):
5485         (1). (2).
5486
5487         * process.c:
5488         * process.c (Fstart_process_internal):
5489         (2).  need to canonicalize process path even if absolute.
5490
5491         * select-msw.c (symbol_to_ms_cf):
5492         * select-msw.c (ms_cf_to_symbol):
5493         * select-msw.c (cf_is_autofreed):
5494         * select-msw.c (mswindows_destroy_selection):
5495         * select.c:
5496         * select.c (syms_of_select):
5497         * select.h:
5498         support dibv5, fix bugs. (from Mike Alexander)
5499
5500         * select.c (Fget_selection_internal):
5501         * select.c (select_convert_out):
5502
5503         * sysdep.c:
5504         * sysdep.c (xemacs_stat):
5505         renamed.
5506
5507         * sysdep.c (mkdir):
5508         * sysdep.c (rmdir):
5509         but keep original stat() here because we provide encapsulation
5510         around these funs.
5511
5512         * sysfile.h:
5513         * sysfile.h (fstat):
5514         remove stat garbage.
5515
5516         * syswindows.h:
5517         fix X/MSW conflict.
5518         don't include tchar.h.  it's inappropriate because it makes
5519         compile-time distinctions when we want runtime distinctions.
5520         (we provide our own tchar replacements)
5521
5522         * toolbar.c:
5523         use default object printer for toolbar-button.
5524
5525         * unexcw.c:
5526         make sure we don't encapsulate.
5527
5528         * window.c (vars_of_window):
5529         emphasize that temp-buffer-show-hook is obsolete.
5530
5531 2000-08-05  Martin Buchholz  <martin@xemacs.org>
5532
5533         * glyphs.c (image_instance_hash): HASH2 wants EMACS_INT args.
5534         (Fimage_instance_subwindow_id): make_int wants EMACS_INT arg.
5535
5536         * events.c (Fevent_timestamp_lessp):
5537         Not 64-bit clean.  Use EMACS_INT, not int.
5538
5539 2000-06-05  Andrew Begel <abegel@cs.berkeley.edu>
5540
5541         * lrecord.h (lrecord_types): Changed lrecord_type_count to an
5542         unsigned int and changed the last enum to
5543         lrecord_type_last_built_in_type.
5544         (lrecord_implementations_table): changed prototype to know how
5545         long the array is supposed to be.
5546         (lrecord_type_count): new unsigned int to keep track of the
5547         current number of lisp lrecord types.
5548         (DEFINE_EXTERNAL_LRECORD):
5549         (DECLARE_EXTERNAL_LRECORD): Added these two for external
5550         dynamic-modules to declare new lisp types. They are the same
5551         as the non-EXTERNAL forms, but declare an lrecord_type unsigned
5552         int for each new type, and increment lrecord_type_count by 1.
5553
5554         * alloc.c (lrecord_implementations_table): Changed to reference
5555         lrecord_type_last_built_in_type for the size of the array.
5556         Moved MODULE_DEFINABLE_TYPE_COUNT to lrecord.h.
5557
5558 2000-08-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
5559
5560         * glyphs.h (check_valid_item_list): Renamed from
5561         check_valid_item_list_1.
5562
5563 2000-08-01 Alastair J. Houghton <ajhoughton@lineone.net>
5564
5565         * select.c (Qselect_coerce): New.
5566         * select.c (Vselection_coercion_alist): New.
5567         * select.c (syms_of_select): Declare.
5568         * select.c (get-selection-internal): Use it.
5569         Use the new select-coerce functionality.
5570
5571         * select.c (select_coerce): New.
5572         * select.h (select_coerce): Declare.
5573         New function to coerce one type of data into another.
5574
5575 2000-08-03  Martin Buchholz  <martin@xemacs.org>
5576
5577         * callproc.c (Fcall_process_internal):
5578         (Fcall_process_internal):
5579         * process-unix.c (unix_create_process):
5580         Save and restore the value of errno, so that error messages are accurate.
5581
5582 2000-08-01  Martin Buchholz  <martin@xemacs.org>
5583
5584         * elhash.c (print_hash_table):
5585         Fix printing of hash tables to also use `key-and-value' instead of `t'.
5586         Prettify docstrings and indentation.
5587
5588 2000-07-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
5589
5590         * window.c (Fwindow_pixel_edges): Subtract frame border and
5591         gutter size.
5592
5593 2000-07-31  Andy Piper  <andy@xemacs.org>
5594
5595         * buffer.c (Frecord_buffer): make absolutely sure that redisplay
5596         will acknowledge the change.
5597
5598         * glyphs.h: declare tab_control_order_only_changed.
5599
5600         * glyphs-x.c (x_tab_control_redisplay): use
5601         tab_control_order_only_changed.
5602
5603         * glyphs-widget.c (tab_control_order_only_changed): new function.
5604
5605         * glyphs-msw.c (mswindows_tab_control_redisplay): use
5606         tab_control_order_only_changed.
5607
5608         * gui.c (gui_item_equal_sans_selected): new function.
5609         (gui_item_equal): use it.
5610
5611         * glyphs-msw.c (mswindows_combo_box_instantiate): deprecate
5612         :properties in favor of :items..
5613
5614         * glyphs-widget.c (check_valid_item_list): rename from
5615         check_valid_item_list_1.
5616         (check_valid_item_list_1): renamed.
5617         (combo_box_validate): deprecate :properties in favor of :items.
5618         (widget_instantiate): ditto.
5619         (tab_control_update): ditto.
5620         (image_instantiator_combo_box): ditto.
5621         (image_instantiator_tree_view): ditto.
5622         (image_instantiator_tab_control): ditto.
5623         (layout_post_instantiate): remove dead code.
5624
5625         * print.c (debug_print_no_newline): only write to debugger if in
5626         WIN32_NATIVE.
5627
5628         * elhash.c (Fmake_hash_table): update doc string.
5629
5630         * event-msw.c (mswindows_wnd_proc): don't allow processing of
5631         messages whilst in GC. This at least stops XEmacs crashing but has
5632         the potential for wierd behaviour.
5633
5634 2000-07-31  Martin Buchholz  <martin@xemacs.org>
5635
5636         * config.h.in:
5637         Make existence of s&m files optional.
5638
5639         * s/bsd386.h: Remove HAVE_GETLOADAVG.
5640         * s/freebsd.h: Remove HAVE_GETLOADAVG.
5641         * s/gnu.h: Remove HAVE_GETLOADAVG.
5642         * s/netbsd.h: Remove HAVE_GETLOADAVG.
5643         * s/sol2.h: Remove HAVE_GETLOADAVG.
5644         * lisp.h: Remove getloadavg() declaration.
5645         * fns.c:
5646         Include <sys/loadavg.h> if available.
5647         Don't declare our own getloadavg() if HAVE_GETLOADAVG.
5648         * config.h.in:  Group together getloadavg()-related macros.
5649         Use only configure-time tests to detect getloadavg().
5650
5651 2000-07-30  Martin Buchholz  <martin@xemacs.org>
5652
5653         * Makefile.in.in (TransientEmacsShell.o): Fix race condition.
5654
5655 2000-07-25  Andy Piper  <andy@xemacs.org>
5656
5657         * syswindows.h: add tchar.h for native builds.
5658
5659         * frame.c (syms_of_frame): remove set-glyph-image.
5660
5661         * general-slots.h: add Qset_glyph_image.
5662
5663         * glyphs-widget.c (layout_update): add domain arg to
5664         set-glyph-image.
5665         (syms_of_glyphs_widget): remove set-glyph-image.
5666
5667 2000-07-23  Ben Wing  <ben@xemacs.org>
5668
5669         * dialog-msw.c (vars_of_dialog_mswindows): need to staticpro
5670         Vpopup_frame_list.
5671
5672 2000-07-22  Andy Piper  <andy@xemacs.org>
5673
5674         * symsinit.h: add syms_of_win32().
5675
5676         * gui-msw.c (syms_of_gui_mswindows): remove
5677         Fmswindows_shell_execute.
5678         (Fmswindows_shell_execute): moved to win32.c.
5679
5680         * emacs.c (main_1): add syms_of_win32 ().
5681
5682         * win32.c (init_potentially_nonexistent_functions): rewrite in
5683         compiler-friendly terms.
5684         (Fmswindows_shell_execute): move here from gui-msw.c.
5685         (syms_of_win32): new.
5686
5687         * device-msw.c (Fmswindows_printer_list): clean up args to
5688         EnumPrinters.
5689         Don't include tchar under cygwin or mingw.
5690         (msprinter_default_printer): make cygwin-friendly.
5691
5692 2000-07-21  Andy Piper  <andy@xemacs.org>
5693
5694         * glyphs-widget.c (image_instantiator_tree_view): use tab
5695         control's update function.
5696         (layout_property): new function. Retrieve items.
5697
5698         * glyphs-msw.c (mswindows_tree_view_redisplay): new
5699         function. Re-populate the tree view from the pending items.
5700
5701         * glyphs.c (instantiate_image_instantiator): Make sure the domain
5702         is designated the parent if the domain is an image instance. This
5703         is needed so that dirtiness can be cascade up the hierarchy and
5704         thus for layout children to be redisplayed correctly.
5705         (allocate_image_instance): rename glyph -> parent.
5706
5707         * redisplay.h: change redisplay_output_layout signature.
5708
5709         * redisplay-msw.c (mswindows_output_display_block): use domain
5710         arg.
5711
5712         * redisplay-x.c (x_output_display_block): use domain arg.
5713
5714 2000-07-10  Andy Piper  <andy@xemacs.org>
5715
5716         * window.c (Fset_window_configuration): add comment.
5717
5718         * redisplay-output.c (compare_runes):
5719         (redisplay_output_subwindow): redisplay rather than update subwindow.
5720         (redisplay_output_layout): ditto.
5721
5722         * redisplay-msw.c (mswindows_frame_output_end):
5723         (mswindows_frame_output_end): make defer window pos optional.
5724
5725         * lisp.h: add Flast.
5726
5727         * glyphs.h (struct image_instantiator_methods): add dest_mask top
5728         normalize method. Change update method to be for changed
5729         instantiators. Add redisplay method. Change signature of layout
5730         method.
5731         (struct Lisp_Image_Instance): add instantiator.
5732         (IMAGE_INSTANCE_INSTANTIATOR): new.
5733         (IMAGE_INSTANCE_SUBWINDOW_FACE): new.
5734         (XIMAGE_INSTANCE_INSTANTIATOR): new.
5735         (XIMAGE_INSTANCE_SUBWINDOW_FACE): new.
5736
5737         * glyphs.c:
5738         (find_instantiator_differences): new function.
5739         (Fset_instantiator_property): new convenience function.
5740         (check_image_instance_structure): strictly check for vector
5741         instantiators.
5742         (normalize_image_instantiator): make non-static.
5743         (instantiate_image_instantiator): pass on dest_mask and use new
5744         signatures for image_instance_layout and friends.
5745         (mark_image_instance): mark the instantiator. Mark the subwindow
5746         face not the widget face.
5747         (image_instance_equal): add instantiator.
5748         (image_instance_hash): ditto.
5749         (allocate_image_instance): ditto.
5750         (Fset_image_instance_property): removed.
5751         (Fimage_instance_file_name): ditto.
5752         (Fcolorize_image_instance): ditto.
5753         (image_instance_layout): add offsets to be set.
5754         (update_image_instance): new function. update an image instance
5755         from its changed instantiator.
5756         (inherit_normalize): add dest_mask.
5757         (xbm_normalize): ditto.
5758         (xface_normalize): ditto.
5759         (xpm_normalize): ditto.
5760         (text_update): set_property -> update.
5761         (image_instantiate): use the glyph identity as a hash key, not the
5762         instantiator.
5763         (glyph_width): use new image_instance_layout signature.
5764         (glyph_ascent): ditto.
5765         (glyph_descent): ditto.
5766         (glyph_height): ditto.
5767         (glyph_query_geometry): ressurrect.
5768         (glyph_layout): ditto.
5769         (redisplay_subwindow): update -> redisplay.
5770         (syms_of_glyphs): add Fset_instantiator_property.
5771         (image_instantiator_format_create): set_property -> update.
5772
5773         * glyphs-x.c:
5774         (autodetect_normalize): add dest_maks to signature.
5775         (x_redisplay_subwindow): update -> redisplay.
5776         (x_redisplay_widget): ditto.
5777         (x_button_redisplay): ditto.
5778         (x_progress_gauge_redisplay): ditto.
5779         (x_tab_control_redisplay): ditto. Rewrite to cope with changed
5780         stacking order.
5781         (console_type_create_glyphs_x): update -> redisplay.
5782         (image_instantiator_format_create_glyphs_x): ditto.
5783
5784         * glyphs-widget.c:
5785         (check_valid_instantiator): disallow glyphs in the instantiator,
5786         they must now be vectors.
5787         (check_valid_instantiator_list): ditto.
5788         (glyph_instantiator_to_glyph): use internal symbol rather than
5789         intern.
5790         (widget_update): renamed from widget_set_property. Call cascaded
5791         update methods.
5792         (redisplay_widget): renamed from update_widget.
5793         (widget_layout): image_instance_layout now takes position as well
5794         as size.
5795         (widget_normalize): ditto.
5796         (widget_instantiate): ditto.
5797         (tab_control_query_geometry) ditto.:
5798         (tab_control_update): renamed from tab_control_set_property.
5799         (progress_gauge_update): set_property -> update.
5800         (layout_normalize): rewrite so that child instantiators are
5801         normalized also.
5802         (layout_update): new function. Create glyphs from the normalized
5803         children and cope with any other layout keywords. We do not
5804         instantiate children here that will be take care of by
5805         redisplay_output_layout.
5806         (layout_instantiate): call layout_update and not much else.
5807         (layout_post_instantiate): not sure whether this is needed
5808         anymore.
5809         (layout_query_geometry): query glyph geometry rather than
5810         image_instance geometry.
5811         (layout_layout): set offsets from pass in parameters. Use glyph
5812         geometry and layout functions rather than image instance ones.
5813         (native_layout_layout): ditto.
5814         (syms_of_glyphs_widget): add make-glyph and set-glyph-image.
5815         (image_instantiator_widget): set_property -> update.
5816         (image_instantiator_buttons): ditto.
5817         (image_instantiator_progress_guage): ditto.
5818         (image_instantiator_tab_control): ditto.
5819         (VALID_LAYOUT_KEYWORDS): instantiators must now be vectors.
5820         (image_instantiator_layout): add update method.
5821
5822         * glyphs-msw.c (bmp_normalize):
5823         (mswindows_resource_normalize): add dest_mask so that it can be
5824         proprogated by layout_normalize.
5825         (begin_defer_window_pos): make optional because it may not be the
5826         right thing to do and it introduces differences with X.
5827         (mswindows_unmap_subwindow): ditto.
5828         (mswindows_map_subwindow): ditto.
5829         (mswindows_redisplay_subwindow): renamed from
5830         mswindows_update_subwindow.
5831         (mswindows_redisplay_widget): ditto.
5832         (mswindows_button_redisplay): renamed from
5833         mswindows_button_update. Update is now what the instantiation
5834         function does for a changed instantiator.
5835         (mswindows_progress_gauge_instantiate): set the progress value
5836         here if appropriate.
5837         (mswindows_tab_control_redisplay): cope with re-ordering of the
5838         members of the tab widget by simply selecting the new top
5839         widget. This makes things appear ok if you click on a tab.
5840         (mswindows_combo_box_instantiate): image_instance_layout now takes
5841         position as well as size.
5842         (mswindows_progress_gauge_redisplay): renamed from
5843         mswindows_progress_gauge_update.
5844         (console_type_create_glyphs_mswindows): fix update -> redisplay.
5845         (image_instantiator_format_create_glyphs_mswindows): ditto.
5846
5847         * glyphs-eimage.c (jpeg_normalize):
5848         (gif_normalize):
5849         (png_normalize):
5850         (tiff_normalize): add dest_mask so that it can be proprogated by
5851         layout_normalize.
5852
5853         * elhash.c:
5854         (print_hash_table):
5855         (hash_table_weakness_validate):
5856         (decode_hash_table_weakness):
5857         (Fhash_table_weakness):
5858         (Fhash_table_type):
5859         (syms_of_elhash): use Ben's naming scheme for hashtable types..
5860
5861         * console.h (struct console_methods): move update_* to
5862         redisplay_*.
5863
5864 2000-07-20  Ben Wing  <ben@xemacs.org>
5865
5866         * *.[ch] (XSETOBJ): remove unused middle argument.
5867         lisp-disunion.h: correct wrap_object() to one argument.
5868
5869 2000-07-15  Ben Wing  <ben@xemacs.org>
5870
5871         * s/cygwin32.h:
5872         * s/cygwin32.h (CYGWIN_CONV_PATH):
5873         Add missing logb prototype for v1.1.
5874         Use post-b20 names and alias to pre-b20 names when pre-b20.
5875
5876         * s/windowsnt.h: [5].
5877
5878 2000-07-15  Ben Wing  <ben@xemacs.org>
5879
5880         * Makefile.in.in (x_objs):
5881         * Makefile.in.in (sheap_objs):
5882         * Makefile.in.in (objs):
5883         added win32.o, cosmetic cleanups.
5884
5885         * alloc.c (Fmake_byte_code):
5886         [[[1]]]: Changes for new LIST_LOOP, EXTERNAL_LIST_LOOP,
5887         etc. macros which declare their own args now.
5888
5889         * alloc.c (syms_of_alloc):
5890         [[[2]]]: Use DEFSYMBOL, DEFKEYWORD, DEFERROR and friends.
5891
5892         * buffer.c:
5893         Moved buffer-dedicated-frame, set-buffer-dedicated-frame into lisp.
5894
5895         * buffer.c (Fget_file_buffer):
5896         Fixed GCPRO problem.
5897
5898         * buffer.c (get_truename_buffer):
5899         Fixed comment about GC checking.
5900
5901         * buffer.c (syms_of_buffer):
5902         Undeclared those dedicated frame funs.
5903         [2].
5904
5905         * buffer.h:
5906         Define convenience macros for internal/external conversions.
5907         [[[3]]]: Define codesys aliases Qcommand_argument_encoding
5908         and Qenvironment_variable_encoding for cleaner code.
5909
5910         * bufslots.h:
5911         Remove dedicated-frame; in lisp.
5912
5913         * bytecode.c (funcall_compiled_function):
5914         [1].
5915
5916         * bytecode.c (syms_of_bytecode):
5917         [2].
5918
5919         * console-msw.c:
5920         * console-msw.c (mswindows_show_console): Rewrote.
5921
5922         * console-msw.c (Fmswindows_debugging_output): New.
5923         Sends to OutputDebugString (special MSWin debugger interface).
5924
5925         * console-msw.c (Fmswindows_message_box):
5926         Fixed stupid bugs so it works when called from kill-emacs.
5927
5928         * console-msw.c (syms_of_console_mswindows):
5929         Declare Fmswindows_debugging_output.
5930
5931         * console-msw.h:
5932         New MSWin prototypes.
5933
5934         * console-msw.h (struct mswindows_frame):
5935         New entry last-click-mods for improved button-modifier support.
5936
5937         * console-msw.h (FRAME_MSWINDOWS_POPUP):
5938         New struct entry `popup' with corresponding accessor.
5939
5940         * console-x.c:
5941         * console-x.c (split_up_display_spec):
5942         * console-x.c (get_display_arg_connection):
5943         * console-x.c (x_semi_canonicalize_console_connection):
5944         * console-x.c (x_canonicalize_device_connection):
5945         [[[6]]]: Change char to more specific type.
5946         [[[8]]]: Make use of abstracting codesys aliases defined in [3], [4];
5947
5948         * console-x.c (x_semi_canonicalize_console_connection):
5949         * console-x.c (x_canonicalize_device_connection):
5950         [[[9]]]: Fix up error signalling to use new structured error system.
5951
5952         * console-x.h:
5953         [[[4]]]: Define codesys aliases:
5954         Qlwlib_encoding, Qx_atom_name_encoding, Qx_font_name_encoding,
5955         Qx_color_name_encoding, Qx_display_name_encoding.
5956
5957         * console.h (struct console_methods):
5958         New method make_dialog_box_internal supersedes older
5959         popup_dialog_box method.
5960
5961         * data.c:
5962         Define many new errors, part of new structured errors.
5963
5964         * data.c (init_errors_once_early):
5965         * data.c (syms_of_data):
5966         [2].
5967
5968         * device-msw.c (mswindows_init_device):
5969         [[[5]]]: Cleanup to support NT 3.51.
5970
5971         * device-msw.c (decode_devmode): Cleanup.
5972
5973         * device-msw.c (mswindows_handle_print_setup_dialog_box):
5974         * device-msw.c (mswindows_handle_print_dialog_box):
5975         * device-msw.c (mswindows_handle_page_setup_dialog_box):
5976         * device-msw.c (syms_of_device_mswindows):
5977         Delete the dialog box primitives recently introduced by Kirill and
5978         instead interface to general dialog box interface.
5979
5980         * device-x.c:
5981         * device-x.c (compute_x_app_name):
5982         * device-x.c (x_init_device):
5983         * device-x.c (Fx_valid_keysym_name_p):
5984         * device-x.c (Fx_set_font_path):
5985         [6].
5986         [7].
5987
5988         * device.h (wrap_device): New.
5989         First of its kind; meant to replace XSETDEVICE.
5990
5991         * dialog-msw.c: Many file-dialog symbols.
5992
5993         * dialog-msw.c (mswindows_register_popup_frame): New.
5994         * dialog-msw.c (mswindows_is_dialog_msg): New.
5995         For supporting kbd traversal in dialog boxes.
5996
5997         * dialog-msw.c (dialog_proc):
5998         Support hitting ESC in dialogs.
5999
6000         * dialog-msw.c (struct):
6001         Common dialog box errors.
6002
6003         * dialog-msw.c (handle_file_dialog_box): New.
6004         Add file dialog code.
6005
6006         * dialog-msw.c (handle_question_dialog_box):
6007         Redo existing code to support new question dialog syntax.
6008
6009         * dialog-msw.c (console_type_create_dialog_mswindows):
6010         We support new dialog console method.
6011
6012         * dialog-msw.c (syms_of_dialog_mswindows):
6013         * dialog-msw.c (vars_of_dialog_mswindows):
6014         New file dialog symbols, vars.
6015
6016         * dialog-x.c:
6017         * dialog-x.c (maybe_run_dbox_text_callback):
6018         * dialog-x.c (dbox_descriptor_to_widget_value):
6019         * dialog-x.c (x_make_dialog_box_internal):
6020         * dialog-x.c (console_type_create_dialog_x):
6021         Mule-ize entire file.
6022         Redo to support question dialog syntax.
6023         [6].
6024
6025         * dialog.c:
6026         * dialog.c (Fmake_dialog_box_internal):
6027         * dialog.c (syms_of_dialog):
6028         Kill old popup-dialog-box, replace with new primitive.
6029         Just call device method or signal error.
6030
6031         * eldap.c (Fldap_open):
6032         * eldap.c (Fldap_search_basic):
6033         * eldap.c (Fldap_add):
6034         * eldap.c (Fldap_modify):
6035         [1].
6036         [7].
6037
6038         * emacs.c:
6039         * emacs.c (make_arg_list_1):
6040         * emacs.c (make_arg_list):
6041         Mule-ize call to dll_init().
6042         [6].
6043         [8].
6044
6045         * emacs.c (make_argc_argv):
6046         * emacs.c (free_argc_argv):
6047         * emacs.c (init_cmdargs):
6048         * emacs.c (main_1):
6049         * emacs.c (Fkill_emacs):
6050         * emacs.c (Fdump_emacs):
6051         Update comments about what can be used in syms_* etc.
6052         Call init_win32() when necessary.
6053         Fix up MS Win dialog box in kill-buffer to actually work right.
6054         [7].
6055
6056         * eval.c:
6057         * eval.c (For):
6058         * eval.c (Fand):
6059         * eval.c (Fprogn):
6060         * eval.c (Fprog1):
6061         * eval.c (Fprog2):
6062         * eval.c (FletX):
6063         * eval.c (Flet):
6064         * eval.c (condition_case_3):
6065         * eval.c (Feval):
6066         * eval.c (function_argcount):
6067         * eval.c (funcall_lambda):
6068         [1].
6069
6070         * eval.c (type_error): New.
6071         * eval.c (maybe_type_error): New.
6072         * eval.c (continuable_type_error): New.
6073         * eval.c (maybe_continuable_type_error): New.
6074         * eval.c (type_error_with_frob): New.
6075         * eval.c (maybe_type_error_with_frob): New.
6076         * eval.c (continuable_type_error_with_frob): New.
6077         * eval.c (maybe_continuable_type_error_with_frob): New.
6078         New functions for use with structured errors.
6079
6080         * event-Xt.c:
6081         * event-Xt.c (x_event_to_emacs_event):
6082         Buttons are now modifiers too.
6083
6084         * event-Xt.c (emacs_Xt_current_event_timestamp):
6085         Implement new event method.
6086         * event-Xt.c (reinit_vars_of_event_Xt): Set it.
6087
6088         * event-msw.c:
6089         * event-msw.c (ntpipe_shove_writer): [5].
6090         * event-msw.c (mswindows_enqueue_mouse_button_event):
6091         * event-msw.c (mswindows_drain_windows_queue):
6092         * event-msw.c (mswindows_wnd_proc): [7].
6093         * event-msw.c (mswindows_current_layout_has_AltGr): [5].
6094         * event-msw.c (mswindows_modifier_state):
6095         Throughout: support new button modifiers.
6096
6097         * event-msw.c (emacs_mswindows_current_event_timestamp):
6098         Implement new event method.
6099         * event-msw.c (reinit_vars_of_event_mswindows): Set it.
6100
6101         * event-stream.c:
6102         * event-stream.c (event_stream_current_event_timestamp): New.
6103         * event-stream.c (maybe_kbd_translate): New functionality.
6104         * event-stream.c (vars_of_event_stream):
6105         Document new kbd-translate-table functionality.
6106
6107         * event-stream.c (Fcurrent_event_timestamp): New.
6108         New primitive for use in fabricated events.
6109         * event-stream.c (syms_of_event_stream): [2]. Declare new primitive.
6110
6111         * events-mod.h (XEMACS_MOD_BUTTON1): new button modifiers.
6112
6113         * events.c:
6114         * events.c (Fmake_event):
6115         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY):
6116         [1].
6117         [9].
6118
6119         * events.c (format_event_object): fix gcc warnings.
6120
6121         * events.c (Fevent_timestamp): Document new primitives.
6122
6123         * events.c (TIMESTAMP_HALFSPACE): New.
6124
6125         * events.c (Fevent_timestamp_lessp): New.  New primitive for
6126         comparing timestamps correctly (half-space algorithm).
6127
6128         * events.c (Fevent_modifier_bits): Doc fix.
6129
6130         * events.c (Fevent_modifiers): Major doc addition.
6131         * events.c (event_x_y_pixel_internal): Typo fix.
6132         * events.c (syms_of_events): Declare new primitives.
6133
6134         * events.h:
6135         Update long comment for button modifiers, timestamps.
6136
6137         * events.h (struct event_stream):
6138         New current_event_timestamp method.
6139
6140         * extents.c:
6141         * extents.c (extent_in_region_p):
6142         * extents.c (decode_extent):
6143         * extents.c (Fset_extent_parent):
6144         * extents.c (decode_map_extents_flags):
6145         Fix gcc warnings.
6146         [9].
6147
6148         * extents.c (struct extent_at_arg):
6149         * extents.c (decode_extent_at_flag):
6150         * extents.c (extent_at_mapper):
6151         * extents.c (extent_at_bytind):
6152         * extents.c (Fextent_at): Adapt to new lower-level interface. [9].
6153         * extents.c (Fextents_at): New primitive. [9].
6154         * extents.c (symbol_to_glyph_layout): [9].
6155         Support new primitive `extents-at'.
6156
6157
6158         * extents.c (get_text_property_bytind):
6159         extent_at_bytind has another arg.
6160         [9].
6161
6162         * extents.c (syms_of_extents): New primitive.
6163
6164         * file-coding.c (Fmake_coding_system): [1].
6165         * file-coding.c (subsidiary_coding_system): fix gcc warning
6166         * file-coding.c (syms_of_file_coding): [2].
6167
6168         * fileio.c (Fexpand_file_name):
6169         * fileio.c (Fsysnetunam):
6170         * fileio.c (Ffile_exists_p):
6171         * fileio.c (Ffile_executable_p):
6172         * fileio.c (Fverify_visited_file_modtime):
6173         Clean up GCPROing.
6174
6175         * fileio.c (syms_of_fileio): [2].
6176
6177         * filelock.c (lock_file_1):
6178         * filelock.c (current_lock_owner):
6179         * filelock.c (lock_if_free):
6180         * filelock.c (lock_file):
6181         * filelock.c (unlock_file):
6182         Clean up GCPROing.
6183
6184         * fns.c (concat): Fix gcc warning.
6185
6186         * fns.c (Fmember):
6187         * fns.c (Fold_member):
6188         * fns.c (Fmemq):
6189         * fns.c (Fold_memq):
6190         * fns.c (memq_no_quit):
6191         * fns.c (Fassoc):
6192         * fns.c (Fold_assoc):
6193         * fns.c (Fassq):
6194         * fns.c (Fold_assq):
6195         * fns.c (assq_no_quit):
6196         * fns.c (Frassoc):
6197         * fns.c (Fold_rassoc):
6198         * fns.c (Frassq):
6199         * fns.c (Fold_rassq):
6200         * fns.c (rassq_no_quit):
6201         * fns.c (Fdelete):
6202         * fns.c (Fold_delete):
6203         * fns.c (Fdelq):
6204         * fns.c (Fold_delq):
6205         * fns.c (delq_no_quit):
6206         * fns.c (Fremassoc):
6207         * fns.c (Fremassq):
6208         * fns.c (remassq_no_quit):
6209         * fns.c (Fremrassoc):
6210         * fns.c (Fremrassq):
6211         * fns.c (remrassq_no_quit):
6212         * fns.c (Freverse):
6213         * fns.c (mapcar1):
6214         [1].
6215
6216         * frame-msw.c (mswindows_init_frame_1):
6217         * frame-msw.c (mswindows_delete_frame):
6218         Register popups with dialog code so keyboard traversing works.
6219
6220         * frame-tty.c (tty_raise_frame_no_select): [1].
6221
6222         * frame-x.c:
6223         * frame-x.c (x_set_frame_text_value):
6224         * frame-x.c (x_set_frame_properties):
6225         * frame-x.c (x_create_widgets):
6226         [7].
6227
6228         * frame.c:
6229         * frame.c (Fmouse_pixel_position): Minor doc fixes.
6230
6231         * frame.h (wrap_frame): New.
6232         Macro like wrap_device.
6233
6234         * general.c:
6235         * general.c (SYMBOL):
6236         * general.c (syms_of_general):
6237         Major reorg.  This is now just a wrapper and symbols themselves
6238         are listed in general-slots.h.
6239
6240         * glyphs-eimage.c (tiff_instantiate): Need cast to fix warning.
6241         * glyphs-msw.c (mswindows_resource_instantiate): [5].
6242
6243         * glyphs-msw.c (mswindows_native_layout_instantiate):
6244         Add DS_CONTROL so keyboard traversal will work.
6245
6246         * glyphs-widget.c:
6247         * glyphs-widget.c (syms_of_glyphs_widget):
6248         Move some symbols to general-slots.h.
6249
6250         * glyphs-x.c:
6251         * glyphs-x.c (xbm_instantiate_1):
6252         * glyphs-x.c (x_xbm_instantiate):
6253         * glyphs-x.c (x_xface_instantiate):
6254         * glyphs-x.c (autodetect_instantiate):
6255         * glyphs-x.c (cursor_font_instantiate):
6256         * glyphs-x.c (x_update_widget):
6257         * glyphs-x.c (x_widget_instantiate):
6258         * glyphs.c (bitmap_to_lisp_data):
6259         * glyphs.c (pixmap_to_lisp_data):
6260         [7].
6261
6262         * glyphs.c (syms_of_glyphs):
6263         [2].
6264
6265         * gui-x.c:
6266         * gui-x.c (print_widget_value):
6267         * gui-x.c (menu_separator_style_and_to_external):
6268         * gui-x.c (add_accel_and_to_external):
6269         * gui-x.c (button_item_to_widget_value):
6270         * gui-x.c (gui_items_to_widget_values_1):
6271         * gui-x.c (gui_items_to_widget_values):
6272         * gui-x.c (syms_of_gui_x):
6273         * gui-x.c (vars_of_gui_x):
6274         Mule-ize entire file.  Move menu-no-selection-hook to gui.c.
6275         [9].
6276
6277         * gui-x.h:
6278         Muleize, prototype changes matching gui-x.c.
6279
6280         * gui.c:
6281         * gui.c (separator_string_p):
6282         * gui.c (gui_item_add_keyval_pair):
6283         * gui.c (make_gui_item_from_keywords_internal):
6284         * gui.c (signal_too_long_error):
6285         * gui.c (parse_gui_item_tree_item):
6286         * gui.c (syms_of_gui):
6287         * gui.c (vars_of_gui):
6288         * gui.h:
6289         menu-no-selection-hook moved here (used by MSWin).
6290         Move some symbols to general-slots.h.
6291         [6].
6292         [9].
6293
6294         * insdel.c (get_buffer_pos_char):
6295         * insdel.c (get_buffer_range_char):
6296         Add GC comments.
6297
6298         * keymap.c (keymap_lookup_directly):
6299         * keymap.c (keymap_store):
6300         * keymap.c (ensure_meta_prefix_char_keymapp):
6301         * keymap.c (describe_map):
6302         * keymap.h:
6303         Support new button modifiers.
6304
6305         * lisp-disunion.h (wrap_object):
6306         * lisp-disunion.h (XSETOBJ):
6307         Rename make_obj to wrap_object.
6308
6309         * lisp-union.h:
6310         * lisp-union.h (make_int):
6311         * lisp-union.h (make_char):
6312         Support wrap_object.
6313
6314         * lisp.h:
6315         * lisp.h (LIST_LOOP):
6316         * lisp.h (EXTERNAL_LIST_LOOP):
6317         * lisp.h (LIST_LOOP_2):
6318         * lisp.h (EXTERNAL_LIST_LOOP_1):
6319         * lisp.h (EXTERNAL_LIST_LOOP_2):
6320         * lisp.h (EXTERNAL_LIST_LOOP_3):
6321         * lisp.h (EXTERNAL_LIST_LOOP_4_NO_DECLARE):
6322         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
6323         * lisp.h (GET_EXTERNAL_LIST_LENGTH):
6324         * lisp.h (EXTERNAL_ALIST_LOOP_5):
6325         * lisp.h (EXTERNAL_ALIST_LOOP_6):
6326         * lisp.h (EXTERNAL_ALIST_LOOP_6_NO_DECLARE):
6327         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_5_NO_DECLARE):
6328         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_7):
6329         * lisp.h (struct Lisp_Symbol):
6330         * lisp.h (maybe_continuable_error_with_frob):
6331         Fix up section comments.
6332         Add new types for char to indicate usage.
6333         Delete symbols auto-generated from general-slots.h.
6334         Add prototypes for structured error functions.
6335         Add long comments describing looping macros and change interface
6336         so that lvalues are automatically declared.
6337         Add NO_DECLARE macro in case callers want to declare lvalues
6338         themselves.
6339
6340         * lread.c (read_syntax_error):
6341         * lread.c (continuable_read_syntax_error):
6342         * lread.c (read_structure):
6343         * lread.c (sequence_reader):
6344         * lread.c (read_list_conser):
6345         * lread.c (read_compiled_function):
6346         Rename syntax_error and continuable_syntax_error to avoid clash
6347         with same-named structured error functions.
6348
6349         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
6350         * menubar-msw.c (populate_menu_add_item):
6351         * menubar-msw.c (populate_or_checksum_helper):
6352         [5].
6353         [9].
6354
6355         * menubar-x.c:
6356         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
6357         Mule-ize whole file.
6358
6359         * menubar.c (Fnormalize_menu_item_name): Add optimization.
6360
6361         * mule-charset.c (Fmake_charset):
6362         * mule-wnnfns.c (Fwnn_set_param):
6363         [1].
6364
6365         * ntproc.c (create_child):
6366         * ntproc.c (Fwin32_set_current_locale):
6367         Add comments portending doom.
6368
6369         * objects-msw.c:
6370         * objects-msw.c (old_font_enum_callback_2):
6371         * objects-msw.c (font_enum_callback_1):
6372         * objects-msw.c (mswindows_enumerate_fonts):
6373         [5].
6374
6375         * objects-x.c:
6376         * objects-x.c (allocate_nearest_color):
6377         * objects-x.c (x_parse_nearest_color):
6378         * objects-x.c (x_initialize_color_instance):
6379         * objects-x.c (x_print_color_instance):
6380         * objects-x.c (x_finalize_color_instance):
6381         * objects-x.c (x_valid_color_name_p):
6382         * objects-x.c (x_initialize_font_instance):
6383         * objects-x.c (x_print_font_instance):
6384         * objects-x.c (valid_x_font_name_p):
6385         * objects-x.c (truename_via_FONT_prop):
6386         * objects-x.c (truename_via_random_props):
6387         * objects-x.c (truename_via_XListFonts):
6388         * objects-x.c (x_font_truename):
6389         * objects-x.c (x_font_instance_truename):
6390         * objects-x.c (x_font_instance_properties):
6391         * objects-x.c (x_list_fonts):
6392         * objects-x.c (x_find_charset_font):
6393         Mule-ize entire file.
6394         [7].
6395
6396         * objects-x.h:
6397         Mule-verify.
6398
6399         * print.c:
6400         * print.c (std_handle_out_external):
6401         * print.c (debug_print_no_newline):
6402         * print.c (syms_of_print):
6403         Output to all debugger kinds in debug-print.
6404         Fix console-output code under MSWin to actually work.
6405
6406         * process-nt.c (send_signal):
6407         * process-nt.c (nt_create_process):
6408         Use newer Unicode macros.
6409
6410         * process-unix.c (unix_create_process):
6411         * process-unix.c (unix_canonicalize_host_name):
6412         * process-unix.c (unix_open_network_stream):
6413         [7].
6414
6415         * scrollbar-x.c:
6416         Mule-verify.
6417
6418         * search.c (syms_of_search):
6419         [2].
6420
6421         * select-msw.c (mswindows_destroy_selection):
6422         Use LIST_LOOP_2.
6423
6424         * select-x.c (symbol_to_x_atom):
6425         [7].
6426
6427         * select.c (syms_of_select):
6428         [2].
6429
6430         * sound.c (Fplay_sound_file):
6431         [7].
6432
6433         * specifier.c:
6434         * specifier.c (decode_specifier_type):
6435         * specifier.c (Fvalid_specifier_locale_type_p):
6436         * specifier.c (check_valid_locale_or_locale_type):
6437         * specifier.c (decode_locale):
6438         * specifier.c (decode_locale_type):
6439         * specifier.c (decode_locale_list):
6440         * specifier.c (check_valid_domain):
6441         * specifier.c (decode_specifier_tag_set):
6442         * specifier.c (Fcanonicalize_tag_set):
6443         * specifier.c (Fdefine_specifier_tag):
6444         * specifier.c (Fspecifier_tag_predicate):
6445         * specifier.c (check_valid_inst_list):
6446         * specifier.c (check_valid_spec_list):
6447         * specifier.c (decode_how_to_add_specification):
6448         * specifier.c (check_modifiable_specifier):
6449         * specifier.c (specifier_add_spec):
6450         * specifier.c (boolean_validate):
6451         * specifier.c (display_table_validate):
6452         [9].
6453
6454         * specifier.c (syms_of_specifier):
6455         Move some symbols to general-slots.h.
6456         [2].
6457
6458         * symbols.c:
6459         * symbols.c (Fmapatoms):
6460         * symbols.c (Fapropos_internal):
6461         Add GCPROs.
6462
6463         * symbols.c (set_default_buffer_slot_variable):
6464         * symbols.c (set_default_console_slot_variable):
6465         [1].
6466
6467         * symbols.c (defsymbol_massage_name_1):
6468         * symbols.c (defkeyword_massage_name):
6469         * symbols.c (deferror_1):
6470         * symbols.c (deferror):
6471         * symbols.c (deferror_massage_name_and_message):
6472         * symeval.h:
6473         * symeval.h (DEFSYMBOL):
6474         Support DEFSYMBOL*, DEFKEYWORD, DEFERROR
6475
6476         * symbols.c (syms_of_symbols):
6477         [2].
6478
6479         * symsinit.h:
6480         * symsinit.h (init_win32): New.
6481         Also new is syms_of_dialog_mswindows.
6482
6483         * syswindows.h:
6484         Add new Unicode macros, missing Cygwin wide-char functions,
6485         convenience conversion macros for Qmswindows_tstr, macros for
6486         encapsulating required MSWin <-> Cygwin filename conversions,
6487         prototype for dynamically-extracted (not in NT 3.51) functions.
6488
6489         * toolbar-x.c:
6490         Mule-verify.
6491
6492         * tooltalk.c (Fadd_tooltalk_message_arg):
6493         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
6494         * tooltalk.c (Fadd_tooltalk_pattern_arg):
6495         [7].
6496
6497         * tooltalk.c (syms_of_tooltalk):
6498         [2].
6499
6500         * unexnt.c:
6501         * unexnt.c (unexec):
6502         Fix up headers, declaration of unexec() to be more standard.
6503
6504 2000-07-20  Martin Buchholz  <martin@xemacs.org>
6505
6506         * offix.h: Revert change to guard macros - they're used in offix.c!
6507
6508 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
6509
6510         * lisp.h: Defsubred Fdelete.
6511
6512         * console-msw.h:  (msprinter_default_printer): Added.
6513
6514         * console-msw.c (msprinter_canonicalize_console_connection):
6515         (msprinter_canonicalize_device_connection): Added.
6516
6517         * device-msw.c (msprinter_default_printer):
6518         (Fmswingows_get_default_printer):
6519         (signal_enum_priner_error):
6520         (Fmswingows_printer_list): Added.
6521
6522 2000-07-19  Martin Buchholz <martin@xemacs.org>
6523
6524         * XEmacs 21.2.35 is released.
6525
6526 2000-07-19  Martin Buchholz  <martin@xemacs.org>
6527
6528         * select-x.c (x_handle_selection_request):
6529         Text selected in xemacs and pasted into xterm failed to appear.
6530         Spelling fixes and cosmetic changes.
6531
6532 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
6533
6534         * event-msw.c (mswindows_drain_windows_queue): Correctly check for
6535         XEmacs frame (fix for doubling chars in dialog boxes).
6536
6537 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
6538
6539         * select.c (select_convert_in, select_convert_out):
6540         Don't call intern() every time.
6541
6542         * select.c (Qselect_convert_in, Qselect_convert_out): New.
6543         * select.c (vars_of_select): Initialise them.
6544
6545 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
6546
6547         * select.c (selection-coercible-types): New.
6548
6549         * select.c (own-selection-internal):
6550         * select.c (get-selection-internal):
6551         MULE bug fix - these should default to COMPOUND_TEXT and not
6552         STRING for MULE. I think.
6553
6554         * select.c (select_convert_out): Use selection-coercible-types
6555         to find types that we can attempt to perform coercions on.
6556
6557 2000-07-18  Martin Buchholz  <martin@xemacs.org>
6558
6559         * mule-wnnfns.c:
6560         * mule-canna.c:
6561         Add coding: cookie to identify encoding.
6562
6563         * mule-canna.c (CANNA_mode_keys): make static.
6564         Use proper prototypes, even for functions of no arguments.
6565         Remove external prototype for Fding().
6566
6567         * symsinit.h: Add missing prototype for reinit_vars_of_mule_wnn.
6568
6569         * select.c (syms_of_select): Add missing DEFSUBR.
6570
6571 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
6572
6573         * select.c (get_selection_internal, own_selection_internal):
6574         Make the type default to STRING, rather than placing a nil type
6575         into Vselection_alist.
6576
6577 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
6578
6579         * gpmevent.c (tty_selection_exists_p):
6580         * gpmevent.c (tty_own_selection):
6581         Updated parameter lists.
6582
6583 2000-07-15 Alastair J. Houghton <ajhoughton@lineone.net>
6584
6585         * select.h (selection-alist): Removed declaration.
6586
6587         * select.h (get_local_selection):
6588         * select.c (get_local_selection):
6589         Made static.
6590
6591         * select.h (convert_selection): Removed declaration.
6592         * select.c (convert_selection): Removed.
6593         This function belongs in Lisp.
6594
6595         * select.h (select_convert_in): Declare.
6596         * select.h (select_convert_out): Declare.
6597         * select.c (select_convert_in): New.
6598         * select.c (select_convert_out): New.
6599         New conversion functions for other files to call.
6600
6601         * select.h (select_notify_buffer_kill): Declare.
6602         * select.c (select_notify_buffer_kill): New.
6603         New functions that get called from kill-buffer.
6604
6605         * buffer.c (kill-buffer): Call select_notify_buffer_kill, rather than
6606         X-specific lisp code.
6607
6608         * select.h: Declare some of the lisp-visible functions for
6609         external use.
6610
6611         * select.c (clean_local_selection_data): Removed. This was
6612         a disgusting function, and previously should have been in
6613         select-x.c in any case. The functionality is now provided
6614         in select-convert-from-integer (select.el).
6615
6616         * select.c (available-selection-types): Fixed stupidity where
6617         INTEGER and ATOM got added twice. Also add STRING when we see an
6618         extent.
6619
6620         * select.c (get-selection-internal): Removed symbol stripping. No
6621         longer causes conversion when data comes from the internal cache.
6622
6623         * select.c (syms_of_select): Added new functions.
6624
6625         * select-x.c (motif_clipboard_cb): Use select_convert_out. Rewrote
6626         error checking - previously this called abort!
6627
6628         * select-x.c (x_own_selection): Changed comment.
6629
6630         * select-x.c (x_handle_selection_request): Use select_convert_out.
6631         Don't mess with selection-alist; it's an internal variable of select.c.
6632
6633         * select-x.c (x_get_foreign_selection): Use select_convert_in.
6634
6635         * select-x.c (x_handle_selection_clear): Use get-selection-timestamp,
6636         rather than messing with selection-alist.
6637
6638         * select-msw.c (mswindows_get_foreign_selection):
6639         Use TO_INTERNAL_FORMAT rather than hacking.
6640
6641 2000-07-14  Martin Buchholz  <martin@xemacs.org>
6642
6643         * process-unix.c (unix_open_multicast_group):
6644         (unix_open_multicast_group): Remove useless casts.
6645
6646 2000-07-13  Martin Buchholz  <martin@xemacs.org>
6647
6648         * sound.c (Fplay_sound): Fix `unused variable' warning.
6649
6650         * emacs.c (main): Use correct type for _environ on SCO5.
6651
6652 2000-07-12 Alastair J. Houghton <ajhoughton@lineone.net>
6653
6654         * console.h (own_selection_method):
6655         * console.h (selection_exists_p_method):
6656         * console.h (available_selection_types_method): New.
6657         * console.h (register_selection_data_type_method): New.
6658         * console.h (selection_data_type_name): New.
6659
6660         * console-msw.h (mswindows_destroy_selection): Declare it.  New
6661         function & alist to track GlobalAlloc()'d handles that need
6662         releasing when the clipboard data gets replaced or emptied.
6663
6664         * event-msw.c (mswindows_wnd_proc): Call it.
6665
6666         * lisp.h, general.c (Qappend): New symbol representing a
6667         `how-to-add' mode.
6668
6669         * select.c (own-selection-internal):
6670         * select.c (selection-exists-p):
6671         * select.c (available-selection-types): New.
6672         * select.c (register-selection-data-type): New.
6673         * select.c (selection-data-type-name): New.  New functions to deal
6674         with device-specific selection data formats.
6675         * select.c (selection-converter-out-alist): Renamed.
6676         * select.c (selection-converter-in-alist): New.
6677         * select.c (selection-appender-alist): New.  Added new alists.
6678         * select.c (syms_of_select, vars_of_select): Added new symbols &
6679         variables.
6680         * select.c (get_local_selection): Split.
6681         * select.c: Removed spurious type checking - selections may now be
6682         of any type, not just strings.
6683         * select.c (own-selection-internal):
6684
6685         * select.h, select.c (convert_selection): New. Created
6686         convert_selection() function based on get_local_selection().
6687         * select.h, select.c (QCF_*): New symbols representing mswindows
6688         clipboard formats.
6689         * select.h, select.c (Qreplace_all, Qreplace_existing): New
6690         symbols representing `how-to-add' modes.
6691
6692         * select-msw.c (x_sym_p): New.
6693         * select-msw.c (symbol_to_ms_cf): New.
6694         * select-msw.c (ms_cf_to_symbol): New. New functions to deal with
6695         symbols & clipboard formats. Can also handle string names.
6696         * select-msw.c (mswindows_own_selection):
6697         * select-msw.c (mswindows_selection_exists_p):
6698         Added `data-type' parameter. Use it.
6699         * select-msw.c (mswindows_available_selection_types): New.
6700         * select-msw.c (mswindows_register_selection_data_type): New.
6701         * select-msw.c (mswindows_selection_data_type_name): New.
6702         * select-msw.c (mswindows_own_selection):
6703         * select-msw.c (mswindows_get_foreign_selection):
6704         * select-msw.c (mswindows_selection_exists_p):  Rewrote.
6705         * select-msw.c (console_create_select_mswindows): Added new methods.
6706         * select-msw.c (mswindows_destroy_selection): New.
6707         * select-msw.c (Vhandle_alist): New list.
6708         * select-msw.c (mswindows_own_selection):
6709
6710         * select-x.c (x_own_selection):
6711         * select-x.c (x_selection_exists_p):
6712         * select-x.c: Added some comments about maybe using new
6713         functionality.
6714         * select-x.c (x_own_selection):
6715
6716         * specifier.c: Remove definition of Qappend (now in general.c)
6717         * specifier.c (syms_of_specifier): Remove Qappend.
6718
6719 2000-07-12  Martin Buchholz  <martin@xemacs.org>
6720
6721         * config.h.in: Add socklen_t.
6722
6723         * s/decosf4-0.h: No special compiler flags needed or desired.
6724         In particular, undefine _BSD for DEC OSF 4.0.
6725
6726 2000-07-07  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
6727
6728         * redisplay-msw.c (msprinter_frame_output_end): Added.
6729         (console_type_create_redisplay_mswindows): Referred the above.
6730
6731         * frame.c (setup_frame_without_minibuffer): Do not create a
6732         default minibuffer frame on a printer device.
6733
6734         * frame-msw.c (apply_dc_geometry): Added.
6735         (msprinter_start_page):
6736         (msprinter_init_frame_3):
6737         (msprinter_eject_page): Use it.
6738
6739         * console-msw.h (struct msprinter_frame): Added pix_left and top,
6740         and removed residual duplex and orientation properties.
6741
6742 2000-07-11  Martin Buchholz  <martin@xemacs.org>
6743
6744         * eval.c (function_argcount): Work around a DEC CC compiler bug.
6745
6746         * unexalpha.c: Remove system prototypes from C sources!
6747
6748 2000-07-09  Adrian Aichner  <aichner@ecf.teradyne.com>
6749
6750         * eval.c: Remove references to M-x edit-options in DEFUNs for
6751         `defvar' and `defconst'.
6752
6753 2000-07-09  Martin Buchholz  <martin@xemacs.org>
6754
6755         * config.h.in: Remove SMART_INCLUDE hackery.
6756
6757         PostgreSQL hacking:
6758         * config.h.in: Don't use SMART_INCLUDE.
6759
6760         * postgresql.h: Include libpq-fe.h here.  Fix typo.
6761         * inline.c: Simply #include "postgresql.h"
6762         * postgresql.c:
6763         - Don't use SMART_INCLUDE
6764         - Use simply "const".
6765         - Use standard doc string conventions.
6766         - Use correct type for result of PQstatus.
6767
6768 2000-07-09  Martin Buchholz  <martin@xemacs.org>
6769
6770         * glyphs-x.c (x_xface_instantiate): Fix C++ compilation warnings.
6771
6772         C++ compilation changes.
6773         * config.h.in (EXTERN_C): Define.
6774         * config.h.in (not): This is also a C++ keyword.
6775         * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Enable C++ compilation.
6776         * cm.c: Use EXTERN_C.
6777         * redisplay-tty.c: Use EXTERN_C.
6778         * sysdep.c: Use EXTERN_C.  Remove Gould support.
6779
6780 2000-07-09  Martin Buchholz  <martin@xemacs.org>
6781
6782         * general.c: Remove duplicate definition for Qfunction.
6783
6784 2000-07-08  Ben Wing  <ben@xemacs.org>
6785
6786         * device-msw.c (msprinter_init_device):
6787         * device-msw.c (sync_printer_with_devmode):
6788         * device-msw.c (handle_devmode_changes):
6789         * device-msw.c (print_dialog_worker):
6790         * device-msw.c (Fmsprinter_apply_settings):
6791         * device-msw.c (hash_devmode):
6792         * device-msw.c (Fmsprinter_settings_despecialize):
6793         use Qmswindows_tstr, not Qctext.
6794
6795         * vm-limit.c (check_memory_limits):
6796         avoid infinite loop printing warning messages.
6797
6798 2000-07-05  Craig Lanning  <lanning@scra.org>
6799
6800         * Makefile.in.in: Add support for including the Windows resources
6801         when building with the cygwin and mingw targets.
6802
6803         * buffer.c: from Dan Holmsand, on Windows $PWD is most likely either
6804         not set or not correct.
6805         (directory_is_current_directory): Don't compile for WIN32_NATIVE.
6806         (init_initial_directory): Don't try to use $PWD on the
6807         WIN32_NATIVE target.
6808
6809         * s\cygwin32.h:
6810         [[Add -mwindows to eliminate console window.]] not required --ben
6811         (HAVE_NATIVE_SOUND): removed; now handled by configure.
6812         (MAIL_USE_POP): removed; now handled by configure.
6813
6814         * s\mingw32.h: [[Add -mwindows to eliminate console window.]] not in
6815         C_SWITCH_SYSTEM or it will affect lib-src progs. --ben
6816         (HAVE_NATIVE_SOUND): removed; now handled by configure.
6817         (MAIL_USE_POP): removed; now handled by configure.
6818         (ENCAPSULATE_STAT): from Dan Holmsand, added.
6819         (ENCAPSULATE_FSTAT): from Dan Holmsand, added.
6820         (DIRECTORY_SEP): from Dan Holmsand, use lisp variable instead of
6821         constant string.
6822         (HAVE_TIMEVAL): from Dan Holmsand, added; struct timeval is picked
6823         up from <winsock.h> via systime.h.
6824         (HAVE_GETPAGESIZE): from Dan Holmsand, added.
6825         (getpagesize): from Dan Holmsand, added.
6826         Added #endif which was left dangling by Ben's mega patch; added
6827         comment to help prevent this in the future.
6828
6829         * sysdll.c: added #include <windows.h> for WIN32_NATIVE case.
6830
6831 2000-07-05  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
6832
6833         * console-msw.h (struct mswindows_device): Removed unnecessary
6834         cached device geometry values.
6835         Added update_tick and an accessor macro.
6836         (Lisp_Devmode): Added lrecord declaration.
6837         (struct msprinter_device): Contain devmode as a Lisp object.
6838         Added mswindows_get_selected_frame_hwnd();
6839
6840         * console.h (struct console_methods): Indentation nitpicking.
6841
6842         * device-msw.c (mswindows_init_device): Do not initialize geometry
6843         cache. Initialize update tick.
6844         (mswindows_device_system_metrics): Ask the device for its geometry.
6845         (global_free_2_maybe):
6846         (devmode_to_hglobal):
6847         (handle_printer_changes):
6848         (ensure_not_printing):
6849         (print_dialog_worker):
6850         (Fmsprinter_print_setup_dialog):
6851         (Fmsprinter_print_dialog):
6852         (plist_get_margin):
6853         (plist_set_margin):
6854         (Fmsprinter_page_setup_dialog): Added functions.
6855         (sync_printer_with_devmode):
6856         (handle_devmode_changes):
6857         (Fmsprinter_get_settings):
6858         (Fmsprinter_select_settings):
6859         (Fmsprinter_apply_settings):
6860         (allocate_devmode):
6861         (Fmsprinter_settings_copy):
6862         (Fmsprinter_settings_despecialize):
6863         (print_devmode):
6864         (finalize_devmode):
6865         (equal_devmode):
6866         (hash_devmode): Added functions
6867         (syms_of_device_mswindows): Init devmode lrecord class.
6868
6869         * device.h: Added an exfun for find-device.
6870
6871         * event-msw.c (mswindows_wnd_proc): Do not update the cached
6872         geometry; although, recreate the device compatible DC.
6873
6874         * frame-msw.c (mswindows_get_selected_frame_hwnd): Added.
6875         (msprinter_init_frame_3):
6876         (msprinter_frame_property):
6877         (msprinter_internal_frame_property_p):
6878         (msprinter_frame_properties):
6879         (msprinter_set_frame_properties): Removed 'orientation and 'duplex
6880         print job properties (will move to device settings).
6881
6882         * lisp.h: Added symbols.
6883
6884         * general.c (syms_of_general): Declared them.
6885
6886         * hash.c (string_hash): Added.
6887
6888         * lrecord.h (lrecord_type): Added devmode lrecord type.
6889
6890 2000-07-02  Mike Sperber <mike@xemacs.org>
6891
6892         * s/freebsd.h (INTERRUPTIBLE_OPEN): open *is* interruptible on
6893         FreeBSD 4.0.
6894
6895 2000-06-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
6896
6897         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
6898         integer.
6899
6900 2000-06-07  MORIOKA Tomohiko  <tomo@urania.m17n.org>
6901
6902         * data.c (Fstring_to_number): Don't recognize floating point if
6903         base is not 10.
6904
6905 2000-06-22  Martin Buchholz  <martin@xemacs.org>
6906
6907         * glyphs-widget.c (tab_control_query_geometry):
6908         (widget_query_geometry):
6909         (button_query_geometry):
6910         * glyphs.c (text_query_geometry):
6911         Enforce type correctness.
6912
6913 2000-06-18  Martin Buchholz  <martin@xemacs.org>
6914
6915         * s/decosf4-0.h (_etext): Use portable _etext instead of etext.
6916         * s/decosf4-0.h (_edata): Use portable _edata instead of edata.
6917
6918 2000-06-17  Martin Buchholz  <martin@xemacs.org>
6919
6920         * s/decosf4-0.h: Never #include "/usr/include/FOO.h" because this
6921         conflicts with gcc's fixincluded version of FOO.h.
6922
6923         * glyphs.h (image_instance_geometry): Remove trailing `,'
6924
6925 2000-06-08  Mike Alexander  <mta@arbortext.com>
6926
6927         (MAX_SHOVE_BUFFER_SIZE): Change to 512 to match stream buffer size
6928         (shove_thread): Don't write the same output twice
6929         (make_ntpipe_output_stream): Increase priority of shove thread
6930         (ntpipe_shove_writer): Call SwitchToThread to give shove thread a
6931         chance to run
6932         (ntpipe_shove_closer): Don't delete the pipe until we're done with
6933         it.
6934
6935 2000-06-12  Ben Wing  <ben@xemacs.org>
6936
6937         * s\mingw32.h (sigset):
6938         * s\windowsnt.h (sigset):
6939         rename msw_ to mswindows_ for consistency with general convention.
6940
6941 2000-06-12  Ben Wing  <ben@xemacs.org>
6942
6943         * console-msw.c:
6944         * console-msw.c (mswindows_get_console_hwnd):
6945         * console-msw.c (mswindows_ensure_console_allocated):
6946         * console-msw.c (mswindows_hide_console):
6947         * console-msw.c (mswindows_show_console):
6948         * console-msw.c (mswindows_ensure_console_buffered):
6949         * console-msw.c (mswindows_output_console_string):
6950         * console-msw.c (mswindows_windows9x_p):
6951         * console-msw.h:
6952         * device-msw.c (mswindows_get_workspace_coords):
6953         * device-msw.c (mswindows_device_system_metrics):
6954         * dialog-msw.c (mswindows_popup_dialog_box):
6955         * event-msw.c (mswindows_wnd_proc):
6956         * frame-msw.c (mswindows_size_frame_internal):
6957         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
6958         * menubar-msw.c (displayable_menu_item):
6959         * menubar-msw.c (mswindows_char_is_accelerator):
6960         * nt.c:
6961         * nt.c (mswindows_sigset):
6962         * nt.c (mswindows_sigrelse):
6963         * nt.c (mswindows_sigpause):
6964         * nt.c (mswindows_raise):
6965         * nt.c (timer_proc):
6966         * ntproc.c:
6967         * ntproc.c (find_child_console):
6968         * ntproc.c (sys_kill):
6969         * print.c:
6970         * print.c (std_handle_out_external):
6971         * process-nt.c (find_child_console):
6972         * process-nt.c (send_signal_the_95_way):
6973         * process-nt.c (ensure_console_window_exists):
6974         * process-nt.c (nt_create_process):
6975         * syssignal.h:
6976         rename msw_ to mswindows_ for consistency with general convention.
6977
6978         * emacs.c:
6979         * dumper.c:
6980         include nt.h, not syswindows.h.
6981
6982         * nt.c (mswindows_fstat):
6983         * nt.c (mswindows_stat):
6984         prefix mswindows_ instead of attempting to directly override the
6985         library functions.  fix declarations.
6986
6987         * nt.h:
6988         include syswindows.h.  move some sysdep.h stuff here.
6989
6990         * ntheap.h:
6991         include syswindows.h, not <windows.h>.
6992
6993         * ntplay.c:
6994         clean up headers.
6995
6996         * sysdep.c:
6997         clean up headers.
6998
6999         * sysdep.c (sys_fstat):
7000         * sysdep.c (sys_stat):
7001         call mswindows versions when appropriate.
7002
7003         * sysdep.h:
7004         move mswin decls to nt.h.
7005
7006         * syswindows.h:
7007         add long comment describing appropriate use of the various windows
7008         headers.
7009
7010 2000-06-11  Ben Wing  <ben@xemacs.org>
7011
7012         * device-x.c: Correct doc string for sixth arg of x-get-resource.
7013
7014 2000-06-10  Ben Wing  <ben@xemacs.org>
7015
7016         * Makefile.in.in (release):
7017         Correction to make sure xemacs.exe always dumped when correct.
7018
7019         * alloca.c:
7020         * balloon_help.c:
7021         [[[[3]]]]: Conditionalize on actual problem, not WINDOWSNT.
7022
7023         * buffer.c (set_buffer_internal):
7024         [[[[2]]]]: Remove HAVE_FEP code.
7025
7026         * buffer.c (init_initial_directory):
7027         [3].
7028
7029         * bytecode.c:
7030         [[[[4]]]]: limits.h standardly included in lisp.h; remove from
7031         individual files.
7032
7033         * callproc.c:
7034         * callproc.c (call_process_cleanup):
7035         * callproc.c (Fold_call_process_internal):
7036         * callproc.c (child_setup):
7037         * callproc.c (getenv_internal):
7038         * callproc.c (init_callproc):
7039         * callproc.c (vars_of_callproc):
7040         [[[[1]]]]: WINDOWSNT -> WIN32_NATIVE.
7041         __CYGWIN32__ -> CYGWIN.
7042         DOS_NT -> WIN32_NATIVE.
7043         Remove MSDOS support/references, converting to WIN32_NATIVE
7044           where correct.
7045         __MINGW32__ -> MINGW.
7046         Fix windows.h includes.
7047         Remove bogus HAVE_NTGUI.
7048
7049         * config.h.in:
7050         [2].
7051
7052         * console-msw.c:
7053         mswindows_message_outputted added for use in allowing startup
7054         errors on the console to be seen.
7055
7056         * console-msw.c (msw_ensure_console_allocated):
7057         * console-msw.c (msw_output_console_string):
7058         * console-msw.c (DHEADER):
7059         * console-msw.c (DOPAQUE_DATA):
7060         * console-msw.c (DEVENT):
7061         * console-msw.c (DCONS):
7062         * console-msw.c (DCONSCDR):
7063         * console-msw.c (DSTRING):
7064         * console-msw.c (DVECTOR):
7065         * console-msw.c (DSYMBOL):
7066         * console-msw.c (DSYMNAME):
7067         Fix warnings.
7068
7069         * console-stream.c (stream_init_console):
7070         Fix text/binary problems.
7071
7072         * device-msw.c:
7073         * device-msw.c (mswindows_finish_init_device):
7074         * device-msw.c (mswindows_delete_device):
7075         [1].
7076
7077         * device.c (handle_asynch_device_change):
7078         [3].
7079
7080         * dgif_lib.c:
7081         * dgif_lib.c (DGifOpenFileName):
7082         * dgif_lib.c (DGifOpenFileHandle):
7083         * dgif_lib.c (DGifGetLine):
7084         * dgif_lib.c (DGifGetPixel):
7085         Added config.h/lisp.h, fix up includes.
7086         [1].
7087
7088         * dired-msw.c:
7089         [4].
7090
7091         * dired.c:
7092         * dired.c (file_name_completion):
7093         * dired.c (Ffile_attributes):
7094         * dired.c (syms_of_dired):
7095         [1].
7096
7097         * dumper.c:
7098         * dumper.c (pdump_file_unmap):
7099         * dumper.c (pdump_load):
7100         [1].
7101
7102         * editfns.c:
7103         * editfns.c (Ftemp_directory):
7104         * editfns.c (user_login_name):
7105         * editfns.c (Fuser_real_login_name):
7106         * editfns.c (get_home_directory):
7107         [1].
7108
7109         * elhash.c (finish_marking_weak_hash_tables):
7110         [[[[5]]]]: Fix GCC warnings.
7111
7112         * emacs.c:
7113         * emacs.c (mswindows_handle_hardware_exceptions):
7114         * emacs.c (make_arg_list_1):
7115         * emacs.c (main_1):
7116         * emacs.c (Fkill_emacs):
7117         * emacs.c (Fdump_emacs):
7118         [1].
7119         Fix problems with nested crashes, add long comment.
7120
7121         * event-Xt.c (init_event_Xt_late):
7122         [1].
7123
7124         * event-msw.c:
7125         * event-msw.c (mswindows_dde_callback):
7126         * event-msw.c (mswindows_handle_sticky_modifiers):
7127         * event-msw.c (mswindows_wnd_proc):
7128         [1].
7129         [5].
7130
7131         * events.c (character_to_event):
7132         [1].
7133
7134         * fileio.c:
7135         * fileio.c (Ffile_name_directory):
7136         * fileio.c (Ffile_name_nondirectory):
7137         * fileio.c (directory_file_name):
7138         * fileio.c (Fexpand_file_name):
7139         * fileio.c (Fsubstitute_in_file_name):
7140         * fileio.c (Ffile_name_absolute_p):
7141         * fileio.c (check_executable):
7142         * fileio.c (Ffile_readable_p):
7143         * fileio.c (Ffile_accessible_directory_p):
7144         * fileio.c (Ffile_modes):
7145         * fileio.c (Funix_sync):
7146         * fileio.c (vars_of_fileio):
7147         [1]. [4].
7148
7149         [[[[7]]]]: Move CORRECT_DIR_SEPS to s\windowsnt.h.
7150
7151         Expand getdefdir defn.
7152         Fix bogus rename() comment.
7153
7154         [[[[6]]]]: Fix Windows includes w.r.t. removed nt\inc.  Attempt
7155         to use standard XEmacs include files, e.g. sysfile.h, rather
7156         than system-specific includes.
7157
7158         * fns.c:
7159         * fns.c (Fsubseq):
7160         [5]. [6].
7161
7162         * frame.c (vars_of_frame):
7163         [1].
7164
7165         * getloadavg.c:
7166         * getloadavg.c (getloadavg):
7167         [1]. [6].
7168         #ifdef XEMACS not defined on Cygwin.  Remove this; no need for it.
7169         (We don't use it elsewhere in the code; just add a comment.)
7170
7171         * gif_io.c:
7172         [6].
7173         Add config.h.
7174
7175         * glyphs-msw.c:
7176         * glyphs-msw.c (mswindows_resource_instantiate):
7177         [1].
7178
7179         * glyphs-x.c (x_native_layout_instantiate):
7180         [5].
7181
7182         * gui-msw.c (Fmswindows_shell_execute):
7183         [1].
7184
7185         * insdel.c:
7186         [4].
7187
7188         * lisp.h:
7189         [4]. [5].
7190
7191         * lread.c (locate_file_in_directory_mapper):
7192         [1].
7193
7194         * lstream.c:
7195         [4].
7196
7197         * mem-limits.h:
7198         * mem-limits.h (get_lim_data):
7199         [1].
7200
7201         * menubar-msw.c:
7202         [4].
7203
7204         * ndir.h:
7205         [1].
7206
7207         * nt.c:
7208         * nt.c (getwd):
7209         * nt.c (closedir):
7210         * nt.c (rva_to_section):
7211         * nt.c (mswindows_executable_type):
7212         [1]. [6].
7213         Fix closedir() defn.
7214
7215         * nt.h:
7216         [[[[8]]]]: *_OK defs moved to sysfile.h.
7217
7218         * ntproc.c:
7219         [6]. [7].
7220
7221         * objects-x.c:
7222         [4].
7223
7224         * print.c:
7225         * print.c (std_handle_out_external):
7226         [1]. [4].
7227
7228         * process-nt.c:
7229         * process-nt.c (nt_create_process):
7230         [6].
7231         try to fix process quoting somewhat.
7232
7233         * process-unix.c (unix_create_process):
7234         [1].
7235
7236         * process.c:
7237         * process.c (vars_of_process):
7238         Add Vnull_device.
7239
7240         * process.h:
7241         [1].
7242
7243         * realpath.c:
7244         * realpath.c (xrealpath):
7245         [1].
7246
7247         * redisplay-tty.c (init_tty_for_redisplay):
7248         [3].
7249
7250         * redisplay.c:
7251         [4]. [6].
7252
7253         * scrollbar-msw.c:
7254         [4].
7255
7256         * sheap.c:
7257         * sheap.c (more_static_core):
7258         * sheap.c (report_sheap_usage):
7259         [5]. [6].
7260
7261         * signal.c:
7262         * signal.c (alarm_signal):
7263         [1]. [6].
7264
7265         * sound.c:
7266         [6].
7267
7268         * strftime.c:
7269         * strftime.c (zone_name):
7270         [1]. [5].
7271
7272         * symsinit.h (init_sunpro):
7273         [1].
7274
7275         * syscommctrl.h:
7276         commctrl.h not in Cygwin b20.1.
7277
7278         * sysdep.c:
7279         * sysdep.c (endif):
7280         * sysdep.c (sys_subshell):
7281         * sysdep.c (init_baud_rate):
7282         * sysdep.c (emacs_get_tty):
7283         * sysdep.c (emacs_set_tty):
7284         * sysdep.c (tty_init_sys_modes_on_device):
7285         * sysdep.c (init_system_name):
7286         * sysdep.c (sys_open):
7287         * sysdep.c (interruptible_open):
7288         * sysdep.c (sys_fopen):
7289         * sysdep.c (sys_mkdir):
7290         * sysdep.c (sys_rename):
7291         * sysdep.c (get_process_times_1):
7292         [1]. [6].
7293
7294         * sysdep.h:
7295         [1].
7296
7297         * sysdir.h:
7298         * sysdir.h (DIRENTRY_NONEMPTY):
7299         [1]. [6].
7300
7301         * sysdll.c (dll_init):
7302         * sysdll.h:
7303         [1].
7304
7305         * sysfile.h:
7306         [1]. [6]. [8].
7307         added text/binary defs.
7308
7309         * sysfloat.h:
7310         [1].
7311
7312         * sysproc.h:
7313         * sysproc.h (EDESTADDRREQ):
7314         * sysproc.h (poll_fds_for_input):
7315         [1]. [6].
7316
7317         * syspwd.h:
7318         [6].
7319
7320         * syssignal.h:
7321         [1].
7322
7323         * systime.h:
7324         [1]. [6].
7325
7326         * systty.h:
7327         [1].
7328
7329         * syswindows.h:
7330         [1].
7331         Always define WIN32_LEAN_AND_MEAN.
7332
7333         * unexcw.c (unexec):
7334         [5].
7335
7336         * unexec.c:
7337         * unexec.c (copy_text_and_data):
7338         * unexec.c (adjust_lnnoptrs):
7339         [1].
7340
7341         * unexnt.c:
7342         * unexnt.c (_start):
7343         [1].
7344
7345 2000-06-07  Ben Wing  <ben@xemacs.org>
7346
7347         * mule-mcpath.c, mule-mcpath.h: Removed.  Old, crufty code that
7348         was used only as a model.  We've long since extracted any useful
7349         logic or code out of this. (I just did an exhaustive search.)
7350
7351         * s\msdos.h: Removed.
7352
7353         * s\windows95.h: Removed.
7354
7355 2000-06-10  Ben Wing  <ben@xemacs.org>
7356
7357         * s\cygwin32.h:
7358         [1]. [5].
7359         Don't use extern with fun defs.
7360
7361         * s\mingw32.h:
7362         [1]. [7].
7363         Remove nt\inc include.
7364         Remove getdisk, getdefdir. (The former is unused, the latter
7365         expanded in fileio.h.)
7366
7367         * s\windowsnt.h:
7368         * s\windowsnt.h (WIN32_NATIVE):
7369         * s\windowsnt.h (HAVE_STRCASECMP):
7370         [1]. [7].
7371         Add long comment about preprocessor changes.
7372         Remove getdisk, getdefdir. (The former is unused, the latter
7373         expanded in fileio.h.)
7374
7375 2000-06-10  Ben Wing  <ben@xemacs.org>
7376
7377         * m\arm.h:
7378         * m\delta.h:
7379         * m\intel386.h:
7380         * m\sequent.h:
7381         * m\template.h:
7382         * m\windowsnt.h:
7383         [1].
7384         Remove bogus/unused NO_SOCK_SIGIO.
7385
7386 2000-06-08  Hrvoje Niksic  <hniksic@iskon.hr>
7387
7388         * lisp.h (set_string_char): Call set_string_byte with a Bufbyte,
7389         not an Emchar.
7390
7391 2000-06-04  Mike Sperber <mike@xemacs.org>
7392
7393         * casetab.c (set_case_table): For `set-standard-case-table',
7394         actually deposit the new case tables where the rest of XEmacs can
7395         see them.
7396
7397 2000-06-05  Yoshiki Hayashi <yoshiki@xemacs.org>
7398
7399         * data.c (Faset): Don't cast XCHAR() to unsigned char.
7400
7401 2000-06-05  Ben Wing  <ben@xemacs.org>
7402
7403         * callproc.c (child_setup): Don't do close_load_descs() under
7404         MS Windows.  Put in a comment explaining why.
7405
7406 2000-05-28  Adrian Aichner  <aichner@ecf.teradyne.com>
7407
7408         * process-nt.c: Reverting patch "Fixing nt_create_process for MKS
7409         Toolkit shell" which breaks `kill-compilation' on Windows NT
7410         native, retaining STDERR handling improvements.
7411
7412 2000-06-01  Andreas Jaeger  <aj@suse.de>
7413
7414         * s/s390.h: Support for S390, based on a patch by Martin
7415         Schwidefsky <schwidefsky@de.ibm.com>.
7416
7417 2000-05-30  Andy Piper  <andy@xemacs.org>
7418
7419         * window.c (allocate_window):
7420         (make_dummy_parent):
7421         (Fset_window_configuration): use new hashtable type.
7422
7423         * glyphs.h (IMAGE_UNSPECIFIED_GEOMETRY):
7424         (struct image_instantiator_methods):
7425         (struct Lisp_Image_Instance): make instance geometry signed.
7426
7427         * glyphs.c (instantiate_image_instantiator):
7428         (image_instance_query_geometry):
7429         (image_instance_layout):
7430         (image_instance_layout):
7431         (query_string_geometry):
7432         (text_query_geometry):
7433         (image_instantiate):
7434         (image_instantiate):
7435         (cache_subwindow_instance_in_frame_maybe):
7436         (subwindow_query_geometry): make instance geometry signed.
7437
7438         * glyphs-widget.c (widget_query_geometry):
7439         (widget_layout):
7440         (button_query_geometry):
7441         (tree_view_query_geometry):
7442         (tab_control_query_geometry):
7443         (layout_query_geometry):
7444         (layout_layout):
7445         (native_layout_layout): make instance geometry signed.
7446
7447 2000-05-29  Olivier Galibert  <galibert@pobox.com>
7448
7449         * lisp.h: Add Qfull_assoc symbol and WEAK_LIST_FULL_ASSOC
7450         constant.
7451
7452         * general.c (syms_of_general): Add Qfull_assoc symbol.
7453
7454         * data.c (finish_marking_weak_lists): Mark full-assoc lists
7455         correctly.
7456         (decode_weak_list_type): Decode full-assoc type.
7457         (encode_weak_list_type): Encode full-assoc type.
7458         (Fmake_weak_list): Update doc string.
7459
7460 2000-05-30  Andy Piper  <andy@xemacs.org>
7461
7462         * elhash.h (hash_table_weakness): new KEY_VALUE weak hashtable.
7463
7464         * elhash.c (print_hash_table): new KEY_VALUE weak hashtable.
7465         (decode_hash_table_weakness): ditto.
7466         (Fhash_table_weakness): ditto.
7467         (Fhash_table_type): ditto.
7468         (finish_marking_weak_hash_tables): ditto.
7469         (hash_table_weakness_validate): ditto.
7470         (syms_of_elhash): ditto.
7471
7472 2000-05-28  Martin Buchholz <martin@xemacs.org>
7473
7474         * XEmacs 21.2.34 is released.
7475
7476 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
7477
7478         * redisplay.c (VERTICAL_CLIP): No longer reset when updating line
7479         start cache.
7480         (updating_line_start_cache): Gone.
7481         (regenerate_window): Replace resetting of VERTICAL_CLIP by
7482         generic code to force a minimum of 1 line laid out in the
7483         CMOTION_DISP case.
7484
7485 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
7486
7487         * glyphs.c (instantiate_image_instantiator): Check for initialized
7488         height & width no longer special cases IMAGE_NOTHING.
7489         (nothing_instantiate): Set height and width of instance.
7490
7491 2000-05-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
7492
7493         * unexelf.c (unexec): Search for ".data" section.
7494         Initialize new_data2_offset from old_data_index.
7495         Remove redundant check for ElfW.
7496
7497 2000-05-23  Andy Piper  <andy@xemacs.org>
7498
7499         * glyphs.c (get_image_instantiator_governing_domain): allow more
7500         specific domains as the governing domain rather than expecting an
7501         exact match. This fixes problems with layouts.
7502
7503 2000-05-22  Andy Piper  <andy@xemacs.org>
7504
7505         * redisplay-output.c (compare_runes): check for non-images
7506
7507         * glyphs.c (set_glyph_dirty_p): ditto.
7508         (update_glyph_cachel_data): ditto.
7509
7510         * glyphs-widget.c (layout_post_instantiate): ditto.
7511         (layout_post_instantiate): ditto.
7512
7513         * event-msw.c (mswindows_wnd_proc): warning removal.
7514
7515 2000-05-12  Craig Lanning  <CraigL@DyCon.com>
7516
7517         * s\mingw32.h: Added #undef for CLASH_DETECTION.
7518
7519         * syswindows.h: Moved PBS_SMOOTH definition to syscommctrl.h.
7520
7521         * syscommctrl.h (PBS_SMOOTH): Moved from syswindows.h.
7522
7523         * nt.c (rva_to_section): mingw32 needs rva_to_section.
7524         (mswindows_executable_type): mingw32 now has enough headers for
7525         this to work.
7526
7527 2000-05-20  Andy Piper  <andy@xemacs.org>
7528
7529         * console-msw.c (mswindows_output_last_error): ; -> ,
7530
7531 2000-05-12  Andy Piper  <andy@xemacs.org>
7532
7533         * console-msw.c (FROB): compare ints with ints.
7534
7535 2000-05-11  Andy Piper  <andy@xemacs.org>
7536
7537         * glyphs-x.c (x_finalize_image_instance): make minimal build
7538         happy.
7539
7540 2000-05-20  Ben Wing  <ben@xemacs.org>
7541
7542         * event-Xt.c:
7543         * event-Xt.c (vars_of_event_Xt):
7544         move modifier-keys-are-sticky to event-stream.c.
7545
7546         * event-msw.c:
7547         * event-msw.c (mswindows_enqueue_mouse_button_event):
7548         * event-msw.c (key_needs_default_processing_p):
7549         * event-msw.c (XEMSW_LCONTROL):
7550         * event-msw.c (mswindows_handle_sticky_modifiers):
7551         * event-msw.c (FROB):
7552         * event-msw.c (clear_sticky_modifiers):
7553         * event-msw.c (output_modifier_keyboard_state):
7554         * event-msw.c (output_alt_keyboard_state):
7555         * event-msw.c (mswindows_wnd_proc):
7556         * event-msw.c (mswindows_modifier_state):
7557         * event-msw.c (emacs_mswindows_handle_magic_event):
7558         implement sticky modifiers.
7559
7560         * event-stream.c:
7561         * event-stream.c (vars_of_event_stream):
7562         move modifier-keys-are-sticky here.
7563
7564         * lisp.h:
7565         add CHECK_FUNCTION.
7566
7567         * rangetab.c:
7568         implement map-range-table.
7569
7570
7571 2000-05-17  Yoshiki Hayashi  <yoshiki@xemacs.org>
7572
7573         * redisplay-tty.c (reset_tty_modes):
7574         (tty_redisplay_shutdown): Adjust argument type to
7575         tty_frame_output_end.
7576
7577 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
7578
7579         * eval.c (Fbacktrace): Don't output a line with only right
7580         parenthesis.
7581
7582 2000-05-17  Kenji Itoh  <keit@tpj.co.jp>
7583
7584         * postgresql.c (Fpq_connect_poll): Replace `PS' with `polling_status'.
7585         (Fpq_reset_poll): Ditto.
7586
7587 2000-05-16  Katsumi Yamaoka  <yamaoka@jpl.org>
7588
7589         * redisplay-tty.c: Replace tty_output_end with tty_frame_output_end.
7590
7591 2000-05-16  Ben Wing  <ben@xemacs.org>
7592
7593         * buffer.c:
7594         * buffer.c (dfc_convert_to/from_internal_format):
7595         * buffer.c (reinit_vars_of_buffer):
7596         Fix conversion functions to allow reentrancy.
7597
7598         * console-msw.c:
7599         * console-msw.c (mswindows_output_last_error):
7600         New fun, generally useful -- output a human-readable
7601         version of GetLastError() on the console.
7602
7603         * console-msw.h:
7604         * console-msw.h (struct mswindows_frame):
7605         Changes for DeferWindowPos.  Declare mswindows_output_last_error().
7606
7607         * console-stream.c (stream_output_begin):
7608         * console-stream.c (stream_output_end):
7609         * console-stream.c (stream_output_vertical_divider):
7610         * console-stream.c (stream_clear_region):
7611         * console-stream.c (stream_flash):
7612         * console-stream.c (console_type_create_stream):
7613         Delete blank stream methods, not needed.
7614
7615         * console.h (struct console_methods):
7616         Split begin/end methods into window and frame.
7617
7618         * event-msw.c:
7619         * event-msw.c (mswindows_handle_paint):
7620         * event-msw.c (output_alt_keyboard_state):
7621         * event-msw.c (mswindows_wnd_proc):
7622         * event-msw.c (vars_of_event_mswindows):
7623         Comment about problems with ignored-expose.
7624         Define mswindows-debug-events; not really implemented.
7625
7626         * frame-msw.c (mswindows_init_frame_1):
7627         random cleanups.
7628
7629         * glyphs-msw.c:
7630         * glyphs-msw.c (begin_defer_window_pos):
7631         * glyphs-msw.c (mswindows_unmap_subwindow):
7632         * glyphs-msw.c (mswindows_map_subwindow):
7633         * glyphs-msw.c (mswindows_resize_subwindow):
7634         Use DeferWindowPos to reduce flashing when mapping/unmapping.
7635
7636         * glyphs.c (make_image_instance_1):
7637         Fix crash.
7638
7639         * gutter.c (Fredisplay_gutter_area):
7640         Use new begin/end methods.
7641
7642         * lisp.h (Dynarr_new2):
7643         New creation fun.
7644
7645         * redisplay-msw.c:
7646         * redisplay-msw.c (mswindows_frame_output_begin):
7647         * redisplay-msw.c (mswindows_frame_output_end):
7648         * redisplay-msw.c (console_type_create_redisplay_mswindows):
7649         New begin/end methods -- handle DeferWindowPos.
7650
7651         * redisplay-output.c (redisplay_move_cursor):
7652         * redisplay-output.c (redraw_cursor_in_window):
7653         * redisplay-output.c (redisplay_update_line):
7654         * redisplay-output.c (redisplay_output_window):
7655         New begin/end methods.
7656
7657         * redisplay-tty.c:
7658         * redisplay-tty.c (tty_frame_output_begin):
7659         * redisplay-tty.c (tty_frame_output_end):
7660         * redisplay-tty.c (console_type_create_redisplay_tty):
7661         New begin/end methods.
7662
7663         * redisplay-x.c:
7664         * redisplay-x.c (x_window_output_begin):
7665         * redisplay-x.c (x_window_output_end):
7666         * redisplay-x.c (console_type_create_redisplay_x):
7667         New begin/end methods.
7668
7669         * redisplay.c (redisplay_frame):
7670         * redisplay.c (Fredisplay_echo_area):
7671         New begin/end methods.
7672         use MAYBE_DEVMETH for clear_frame; it may not exist.
7673
7674         * window.h (WINDOW_XFRAME):
7675         WINDOW_XFOO macros -- get locale and decode struct pointer.
7676
7677
7678 2000-05-12  Ben Wing  <ben@xemacs.org>
7679
7680         * emacs.c:
7681         * emacs.c (ensure_no_quitting_from_now_on):
7682         * emacs.c (fatal_error_signal):
7683         * emacs.c (mswindows_handle_hardware_exceptions):
7684         * emacs.c (main):
7685         * emacs.c (Fkill_emacs):
7686         * emacs.c (shut_down_emacs):
7687         * emacs.c (assert_failed):
7688         various improvements in fatal error handling.
7689
7690         * eval.c:
7691         move preparing_for_armageddon to emacs.c.
7692
7693         * lisp.h:
7694         declare fatal_error_in_progress.
7695
7696         * print.c:
7697         * print.c (std_handle_out_external):
7698         * print.c (std_handle_out_va):
7699         * print.c (stderr_out):
7700         * print.c (stdout_out):
7701         use console under mswin when no standard output.
7702         don't do code conversion during fatal error.
7703
7704         * scrollbar.c (Fscrollbar_page_up):
7705         * scrollbar.c (Fscrollbar_page_down):
7706         fix missing else.  reindent.
7707
7708 2000-05-11  Jan Vroonhof  <vroonhof@math.ethz.ch>
7709
7710         Emergency fix.
7711
7712         * glyphs.h (GLYPH_CACHEL_DESCENT):
7713         (GLYPH_CACHEL_DESCENT):
7714         (GLYPH_CACHEL_DESCENT):
7715         * glyphs.h (GLYPH_CACHEL_ASCENT): Match parameters to variables
7716         used in case these are inline functions.
7717         Use more absurd values to error check.
7718
7719         include window.h for error check functions.
7720
7721 2000-05-11  Ben Wing  <ben@xemacs.org>
7722
7723         * cmdloop.c (Freally_early_error_handler):
7724         Display message box under windows; otherwise, message will disappear
7725         before it can be viewed.
7726
7727         * console-msw.c:
7728         * console-msw.c (Fmswindows_message_box):
7729         * console-msw.c (FROB):
7730         * console-msw.c (syms_of_console_mswindows):
7731         Define new fun `mswindows-message-box'.
7732         #### I will merge this into `popup-dialog-box'; just give me
7733         a bit of time.
7734
7735         * general.c:
7736         * general.c (syms_of_general):
7737         Some new symbols used in `mswindows-message-box'.
7738
7739         * glyphs.c:
7740         * glyphs.c (Fset_image_instance_property):
7741         put warning in this fun.
7742
7743         * glyphs.h:
7744         * glyphs.h (GLYPH_CACHEL_WIDTH):
7745         * glyphs.h (GLYPH_CACHEL_ASCENT):
7746         * glyphs.h (GLYPH_CACHEL):
7747         * glyphs.h (GLYPH_CACHEL_GLYPH):
7748         define error-checking versions to try to catch a bug i've seen --
7749         redisplay gets in an infinite loop because the glyph width of the
7750         continuation glyph is 65535.
7751
7752         * lisp.h:
7753         Extern message-box stuff.
7754
7755         * window.c (allocate_window):
7756         * window.c (make_dummy_parent):
7757         * window.c (Fset_window_configuration):
7758         Use EQUAL not EQ for subwindow caches to make them work a bit
7759         better. (Something is still very broken.)
7760
7761
7762 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
7763
7764         * glyphs.c (image_instantiate): Suppress gcc warnings.
7765         (Fmake_image_instance): Fix doc string.
7766         * specifier.c (Fmake_specifier): Ditto.
7767
7768 2000-05-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
7769
7770         * paths.h.in (PATH_LOCK): Removed.
7771         * config.h.in (LOCKDIR_USER_DEFINED): Removed.
7772         * emacs.c (complex_vars_of_emacs): Remove configure-lock-directory.
7773
7774 2000-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
7775
7776         * fns.c (Ffeaturep): Update e-mail address in doc-string.
7777         Document (featurep '(and xemacs 21.02)).
7778
7779 2000-05-09  Ben Wing  <ben@xemacs.org>
7780
7781         * buffer.c (complex_vars_of_buffer):
7782         update modeline-format doc.
7783
7784         * device.h:
7785         comment about how DFW_DEVICE should be merged with DOMAIN_DEVICE.
7786
7787         * emacs.c:
7788         timeline of all released versions of Emacs, for use in creating
7789         authorship comments and in synching up.
7790
7791         * glyphs-widget.c (image_instantiator_buttons):
7792         * glyphs-widget.c (image_instantiator_edit_fields):
7793         * glyphs-widget.c (image_instantiator_combo_box):
7794         * glyphs-widget.c (image_instantiator_scrollbar):
7795         * glyphs-widget.c (image_instantiator_progress_guage):
7796         * glyphs-widget.c (image_instantiator_tree_view):
7797         * glyphs-widget.c (image_instantiator_tab_control):
7798         * glyphs-widget.c (image_instantiator_labels):
7799         * glyphs-widget.c (image_instantiator_layout):
7800         * glyphs-widget.c (image_instantiator_native_layout):
7801         rename decode_domain method to governing_domain.
7802
7803         * glyphs.c:
7804         * glyphs.c (Fvalid_image_instantiator_format_p): doc update.
7805         * glyphs.c (add_entry_to_device_ii_format_list):
7806         make sure we don't put an entry more than once into the list.
7807         * glyphs.c (check_instance_cache_mapper):
7808         *************************************************************
7809         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
7810         HAVE BEEN GETTING.
7811         *************************************************************
7812         * glyphs.c (get_image_instantiator_governing_domain):
7813         clean up, expand on new concept of governing domain.
7814         * glyphs.c (instantiate_image_instantiator):
7815         * glyphs.c (allocate_image_instance):
7816         use governing_domain instead of cache_domain in naming.
7817         * glyphs.c (Fvalid_image_instance_type_p): fix docs.
7818         * glyphs.c (make_image_instance_1):
7819         * glyphs.c (Fmake_image_instance):
7820         allow for any domain (not just device), and process the
7821         governing domain correctly.  very big doc fix.
7822         * glyphs.c (Fimage_instance_domain):
7823         new primitive, to retrieve the governing domain of an image instance.
7824         * glyphs.c (image_instantiate):
7825         use new governing_domain stuff.  this fixes a crash you could get
7826         by instantiating certain widget glyphs in frame locales. (should
7827         signal an error instead of crashing.)
7828         * glyphs.c (Fimage_specifier_p): move doc to make-image-specifier.
7829         * glyphs.c (Fglyphp): clean up doc.
7830         * glyphs.c (subwindow_governing_domain): renamed from *_decode_domain.
7831         * glyphs.c (syms_of_glyphs):
7832         declare Fimage_instance_domain, remove unused Qlayout_image_instance_p.
7833         * glyphs.c (image_instantiator_format_create): add some comments about
7834         bogus code.
7835         * glyphs.c (specifier_vars_of_glyphs): totally rewrite the doc string
7836         for current-display-table. (Apparently Hrjove implemented in 1998 a
7837         design I wrote up in 1996, but didn't update the doc string.)
7838
7839         * glyphs.h: clean up a doc string.
7840         * glyphs.h (governing_domain):
7841         * glyphs.h (struct image_instantiator_methods):
7842         changes for governing_domain stuff.
7843
7844         * gutter.c:
7845         * gutter.c (Fgutter_specifier_p):
7846         * gutter.c (Fgutter_size_specifier_p):
7847         * gutter.c (Fgutter_visible_specifier_p):
7848         * objects.c:
7849         * objects.c (Fcolor_specifier_p):
7850         * objects.c (Ffont_specifier_p):
7851         * objects.c (Fface_boolean_specifier_p):
7852         doc strings moved to make-*-specifier.
7853
7854         * redisplay.c (add_disp_table_entry_runes_1):
7855         * redisplay.c (generate_fstring_runes):
7856         * redisplay.c (screen):
7857         add random comments and doc strings.
7858
7859         * specifier.c:
7860         * specifier.c (Fmake_specifier):
7861         major overhaul of this doc string.
7862
7863         * specifier.c (Fvalid_specifier_domain_p):
7864         comment about the bogosity of image instances being domains.
7865         * specifier.c (decode_domain):
7866         now non-static, used in glyphs.c.
7867         * specifier.c (specifier_instance):
7868         comment about the bogosity of image instances being domains.
7869         * specifier.c (Fgeneric_specifier_p):
7870         move doc string to make-generic-specifier.
7871         * specifier.c (VALID_SINGLE_DISPTABLE_INSTANTIATOR_P):
7872         rebackslashify.
7873
7874         * specifier.h:
7875         * specifier.h (DOMAIN_FRAME):
7876         * specifier.h (DOMAIN_LIVE_P):
7877         * specifier.h (DOMAIN_XDEVICE):
7878         rebackslashify.
7879         add comments about problems with these macros.
7880         prototype for decode_domain.
7881
7882         * toolbar.c:
7883         * toolbar.c (Ftoolbar_specifier_p):
7884         move doc string to `make-toolbar-specifier'.
7885
7886         * window.c (window_unmap_subwindows_cache_mapper):
7887         *************************************************************
7888         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
7889         HAVE BEEN GETTING.
7890         *************************************************************
7891
7892 2000-05-09  Andy Piper  <andy@xemacs.org>
7893
7894         * glyphs.h: declare reset_frame_subwindow_instance_cache.
7895
7896         * window.c (Fset_window_configuration): reset the frame subwindow
7897         cache and re-initialize the window subwindow caches.
7898
7899         * glyphs.c (reset_frame_subwindow_instance_cache): new function.
7900
7901 2000-05-09  Ben Wing  <ben@xemacs.org>
7902
7903         * ntheap.c (recreate_heap): Changed unknown (VC6 only?) SIZE_T to
7904         DWORD.
7905
7906 2000-04-26  Mike Woolley  <mike@bulsara.com>
7907
7908         * ntheap.c: Changed recreate_heap to limit the amount reserved
7909         for the heap to that which is actually available. Also now
7910         displays a message box (with some dignostics) in the event that
7911         it still can't start.
7912
7913 2000-05-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
7914
7915         * callproc.c (Fold_call_process_internal): GCPRO path
7916
7917 2000-05-08  Jan Vroonhof  <jan@xemacs.org>
7918
7919         Patch by Bill Perry.
7920
7921         * scrollbar.c (Fscrollbar_page_up): Conditionalize on type of call
7922         back data instead of #ifdef.
7923         (Fscrollbar_page_down): ditto.
7924
7925 2000-05-07  Ben Wing  <ben@xemacs.org>
7926
7927         * buffer.h:
7928         Kludge for defining Qmswindows_tstr.
7929
7930         * nt.c:
7931         * nt.c (open_input_file):
7932         * nt.c (open_output_file):
7933         * nt.c (rva_to_section):
7934         * nt.c (mswindows_executable_type):
7935         Move all memory-mapped-file routines here (some were in unexnt.c,
7936         which is bad because they are used by process-nt.c, and unexnt
7937         won't be around when portable dumping).  Synched the above routines
7938         with FSF 20.6.
7939
7940         * nt.h:
7941         Removed ifdef'd out bogus code.
7942         Fixed some prototypes.
7943
7944         * nt.h (file_data):
7945         * nt.h (OFFSET_TO_RVA):
7946         * nt.h (RVA_TO_OFFSET):
7947         * nt.h (RVA_TO_PTR):
7948         Moved the memory-mapped-file structures, macros and prototypes
7949         here, to parallel nt.c.  ntheap.h should really be removed
7950         entirely, and it's a non-portable-dumper specific file.
7951
7952         * ntheap.h (round_to_next):
7953         Moved the memory-mapped-file structures, macros and prototypes
7954         to nt.h.
7955
7956         * ntproc.c (compare_env):
7957         Moved rva_to_section and mswindows_executable_type to nt.c.
7958         Moved compare_env to process-nt.c.
7959         ntproc.c will die, one day.
7960
7961         * ntproc.c (sys_spawnve):
7962         Account for win32_ -> mswindows_.
7963
7964         * process-nt.c:
7965         * process-nt.c (struct nt_process_data):
7966         * process-nt.c (ensure_console_window_exists):
7967         * process-nt.c (compare_env):
7968         * process-nt.c (nt_create_process):
7969         * process-nt.c (nt_kill_process_by_pid):
7970         * process-nt.c (syms_of_process_nt):
7971         * process-nt.c (vars_of_process_nt):
7972         Introduce variable `mswindows-quote-process-args', from FSF 20.6.
7973         Copy argument quoting code from FSF 20.6 (with appropriate Mule-ization
7974         changes).  Eliminate our old `nt-quote-process-args' mechanism.
7975         Synch up nt_create_process with FSF 20.6 sys_spawnve.
7976         Move compare_env here from ntproc.c.
7977
7978         * process.c (Fprocess_send_region):
7979         Takes an optional fourth argument, BUFFER, which should fix some
7980         problems with call-process.
7981
7982         * syscommctrl.h:
7983         Move ICC_BAR_CLASSES here from syswindows.h, to avoid a warning.
7984
7985         * syswindows.h:
7986         Move ICC_BAR_CLASSES to syscommctrl.h.
7987         Add preliminary macros for MSWindows/Mule.  More to come.
7988
7989         * unexnt.c:
7990         * unexnt.c (unexec):
7991         open_output_file moved to nt.c.
7992
7993
7994 2000-05-05  Andy Piper  <andy@xemacs.org>
7995
7996         * window.c (window_unmap_subwindows_cache_mapper): remove the dead
7997         instance from the frame cache also since GC may catch up too late
7998         to make frame deletion sane.
7999
8000 2000-05-04  Andy Piper  <andy@xemacs.org>
8001
8002         * glyphs-x.c (x_widget_instantiate): gcpro widget callbacks.
8003         (x_finalize_image_instance): ungcpro on deletion.
8004
8005         * glyphs.c (image_instantiator_format_create): give pointers a
8006         query geometry method so that the geometry is at least set.
8007
8008         * glyphs-x.c (image_instantiator_format_create_glyphs_x): only
8009         initialize layouts if using widgets.
8010
8011 2000-05-03  Andy Piper  <andy@xemacs.org>
8012
8013         * nt.c: remove bogus reference to sysmmsystem.h
8014
8015         * gui-x.c (popup_selection_callback): fix no selection abort.
8016
8017 2000-05-02  Andy Piper  <andy@xemacs.org>
8018
8019         * glyphs-msw.c (mswindows_update_widget): cope with nil text.
8020         (mswindows_widget_instantiate): ditto.
8021
8022         * glyphs-widget.c (initialize_widget_image_instance): initialize
8023         children correctly.
8024         (widget_instantiate): cope with children and items in the same
8025         instance.
8026
8027         * glyphs.c (mark_image_instance): cope with children as a first
8028         class member.
8029         (image_instance_equal): ditto.
8030         (image_instance_hash): ditto.
8031         (image_instance_changed): ditto.
8032
8033 2000-04-30  Andy Piper  <andy@xemacs.org>
8034
8035         * glyphs.c (subwindow_query_geometry): new function. Return some
8036         defaults.
8037         (subwindow_instantiate): don't assign dimensions if none have been
8038         given.
8039         (image_instantiator_format_create): add subwindow_query_geometry.
8040         (print_image_instance): cope with layouts as widgets.
8041
8042 2000-04-29  Andy Piper  <andy@xemacs.org>
8043
8044         * frame.c (delete_frame_internal): call
8045         free_frame_subwindow_instance_cache so that all subwindows are
8046         finalized before their parent.
8047         (mark_frame): remove subwindow_cachels.
8048         (Fmake_frame): remove subwindow_cachel manipulation.
8049         (allocate_frame_core): subwindow_instance_cache is a weak list.
8050         (delete_frame_internal): set subwindow_instance_cache to nil.
8051
8052         * glyphs-msw.c (mswindows_finalize_image_instance): make double
8053         finalization safe.
8054         (mswindows_finalize_image_instance): use the device
8055         not the domain as the domain may have died already.
8056
8057         * glyphs-x.c (x_finalize_image_instance): ditto.
8058         (x_subwindow_instantiate): remove SUBWINDOW_WIDTH &
8059         HEIGHT.
8060
8061         * redisplay-output.c (redisplay_unmap_subwindows): update for
8062         subwindow instance cache as a weak list.
8063         (redisplay_unmap_subwindows_maybe): ditto.
8064         (redisplay_unmap_subwindows_except_us): ditto.
8065
8066         * glyphs.c (unmap_subwindow): error checking will check the domain
8067         so don't deal with it here. Don't use cachels anymore.
8068         (map_subwindow): ditto.
8069         (update_subwindow_cachel_data): remove old accessor names.
8070         (subwindow_instantiate): remove SUBWINDOW_WIDTH & HEIGHT.
8071         (Fresize_subwindow): don't update cachel.
8072         (mark_subwindow_cachels):
8073         (update_subwindow_cachel_data):
8074         (add_subwindow_cachel):
8075         (get_subwindow_cachel_index):
8076         (update_subwindow_cachel):
8077         (reset_subwindow_cachels):
8078         (mark_subwindow_cachels_as_not_updated): deleted.
8079         (cache_subwindow_instance_in_frame_maybe): new function. Add a
8080         subwindow instance to the frame cache.
8081         (find_matching_subwindow): update for subwindow instance cache as
8082         a weak list.
8083         (update_widget_instances): ditto.
8084         (image_instance_type_to_mask):inlined.
8085         (free_frame_subwindow_instance_cache): new function. finalize all
8086         subwindows that are instantiated.
8087
8088         * glyphs.h (struct Lisp_Image_Instance): add display_data instead
8089         of cachel information.
8090         (IMAGE_INSTANCE_DISPLAY_X):
8091         (IMAGE_INSTANCE_DISPLAY_Y):
8092         (IMAGE_INSTANCE_DISPLAY_WIDTH):
8093         (IMAGE_INSTANCE_DISPLAY_HEIGHT):
8094         (XIMAGE_INSTANCE_DISPLAY_X):
8095         (XIMAGE_INSTANCE_DISPLAY_Y):
8096         (XIMAGE_INSTANCE_DISPLAY_WIDTH):
8097         (XIMAGE_INSTANCE_DISPLAY_HEIGHT): new accessors.
8098         remove subwindow_cachel structure and function references.
8099         (image_instance_type_to_mask): inline from glyphs.c
8100
8101         * redisplay.c (redisplay_frame): remove subwindow_cachel
8102         references.
8103
8104         * frame.h (struct frame): remove subwindow_cachels.
8105         (FRAME_SUBWINDOW_CACHE): access subwindow_instance_cache.
8106
8107         * frameslots.h: add subwindow_instance_cache.
8108
8109         * window.c (replace_window): check subwindow cache of replacement.
8110         (window_unmap_subwindows_cache_mapper):
8111         (window_unmap_subwindows): new functions. Unmap all subwindows
8112         cached on this window.
8113         (mark_window_as_deleted): unmap all subwindows.
8114
8115 2000-04-27  Andy Piper  <andy@xemacs.org>
8116
8117         * glyphs.h (IIFORMAT_METH_OR_GIVEN): cope with null meths.
8118
8119         * glyphs-widget.c (widget_layout): return something.
8120         (layout_layout): return something. Fail if not initialized.
8121         (layout_query_geometry): ditto.
8122         (image_instantiator_native_layout): new function. Initialized the
8123         native layout type.
8124         (widget_instantiate): don't do layout stuff here.
8125
8126         * glyphs.c (instantiate_image_instantiator): reorded calling or
8127         instantiate and post_instantiate with layout in between.
8128         (image_instance_layout): be more selective about deciding whether
8129         the layout has been done or not.
8130
8131         * glyphs.h (struct image_instantiator_methods): return a value
8132         from layout_method.
8133
8134 2000-04-26  Andy Piper  <andy@xemacs.org>
8135
8136         * glyphs.c (allocate_image_instance): make initial width and
8137         height unspecified. Set initialized to 0.
8138
8139         * syscommctrl.h new file. Encapsulates commctrl.h.
8140
8141         * syswindows.h new file. Encapsulates windows.h.
8142
8143         * ntplay.c: use new syswindows.h and syscommctrl.h header.
8144         * nt.c: ditto.
8145         * console-msw.h: ditto.
8146
8147         * redisplay-tty.c (tty_output_display_block): remove layout references.
8148
8149         * glyphs-msw.c (mswindows_widget_instantiate): use the domain
8150         window handle rather than just the frame.
8151
8152         * glyphs.c (mark_image_instance): remove layout references.
8153         (print_image_instance): ditto.
8154         (image_instance_equal): ditto.
8155         (image_instance_hash): ditto.
8156         (decode_image_instance_type): ditto.
8157         (encode_image_instance_type): ditto.
8158         (image_instantiate): ditto.
8159         (allocate_glyph): ditto.
8160         (Fimage_instance_height): ditto.
8161         (Fimage_instance_width): ditto.
8162         (update_subwindow): ditto.
8163
8164         * redisplay-x.c (x_output_display_block): recode for layouts as
8165         widgets.
8166
8167         * redisplay-output.c (redisplay_output_layout): recode for layouts
8168         as widgets.
8169         (compare_runes): remove layout references.
8170
8171         * redisplay-msw.c (mswindows_output_display_block): recode for
8172         layouts as widgets.
8173
8174         * glyphs-widget.c (image_instantiator_layout): remove
8175         layout_possible_dest_types.
8176         (layout_possible_dest_types): deleted.
8177
8178         * glyphs.h (image_instance_type): remove layout references.
8179         (struct Lisp_Image_Instance): ditto. Add initialized flag.
8180         (IMAGE_INSTANCE_INITIALIZED): new accessor.
8181         (XIMAGE_INSTANCE_INITIALIZED): ditto.
8182
8183 2000-04-25  Andy Piper  <andy@xemacs.org>
8184
8185         * glyphs-widget.c (image_instantiator_buttons):
8186         (image_instantiator_edit_fields):
8187         (image_instantiator_combo_box):
8188         (image_instantiator_scrollbar):
8189         (image_instantiator_progress_guage):
8190         (image_instantiator_tree_view):
8191         (image_instantiator_tab_control):
8192         (image_instantiator_labels):
8193         (image_instantiator_layout): call default post_instantiate method.
8194         (widget_post_instantiate): new function. Simply lays out the
8195         widgets.
8196
8197         * glyphs.h (struct image_instantiator_methods): add
8198         post_instantiate method.
8199
8200         * glyphs.c (instantiate_image_instantiator): add post_instantiate
8201         method calls.
8202
8203 2000-04-23  Andy Piper  <andy@xemacs.org>
8204
8205         * glyphs.h (struct image_instantiator_methods): add
8206         decode_domain_method.
8207         (struct Lisp_Image_Instance): remove subwindow frame - it can be
8208         derived from the domain.
8209         (IMAGE_INSTANCE_FRAME): new accessor.
8210         (XIMAGE_INSTANCE_FRAME): ditto.
8211
8212         * glyphs.c (print_image_instance): use IMAGE_INSTANCE_FRAME
8213         instead of _SUBWINDOW_FRAME.
8214         (finalize_image_instance): ditto.
8215         (Fimage_instance_foreground): ditto.
8216         (Fimage_instance_background): ditto.
8217         (image_instantiate): ditto.
8218         (update_subwindow_cachel): ditto.
8219         (update_subwindow): ditto.
8220         (unmap_subwindow): ditto.
8221         (map_subwindow): ditto
8222         (subwindow_instantiate): ditto.
8223         * glyphs-msw.c (mswindows_update_widget): ditto.
8224         (mswindows_progress_gauge_instantiate): ditto.
8225         (mswindows_tab_control_update): ditto.
8226         * glyphs-x.c (x_update_widget): ditto.
8227         (x_widget_instantiate): ditto.
8228         (x_tab_control_instantiate): ditto.
8229         (x_tab_control_update): ditto.
8230         * event-msw.c (mswindows_wnd_proc): ditto
8231
8232         * glyphs-widget.c (image_instantiator_layout): use
8233         subwindow_decode_domain.
8234         (image_instantiator_buttons): ditto.
8235         (image_instantiator_edit_fields): ditto.
8236         (image_instantiator_combo_box): ditto.
8237         (image_instantiator_scrollbar): ditto.
8238         (image_instantiator_progress_guage): ditto.
8239         (image_instantiator_tree_view): ditto.
8240         (image_instantiator_tab_control): ditto.
8241         (image_instantiator_labels): ditto.
8242         (image_instantiator_layout): ditto.
8243
8244         * glyphs.c: add instance error checking to many functions.
8245         (instantiate_image_instantiator): decode device from cache_domain.
8246         (image_instantiate): partially rewrite by using
8247         decode_image_instantiator_domain to determine what domain the
8248         instance needs to be cached in.
8249         (decode_image_instantiator_domain): new function. Determine what
8250         domain the image needs to be cached in.
8251         (check_window_subwindow_cache): new error checking function.
8252         (check_instance_cache_mapper): ditto.
8253         (check_image_instance_structure): ditto.
8254         (subwindow_decode_domain): new function. Encodes a window as a
8255         subwindow's cache domain.
8256         (image_instantiator_format_create): use it for text and
8257         subwindows.
8258
8259 2000-04-21  Andy Piper  <andy@xemacs.org>
8260
8261         * glyphs.c (image_instance_device): new function.
8262         (image_instance_frame): new function.
8263         (image_instance_window): new function.
8264         (image_instance_live_p): new function.
8265
8266         * window.c (mark_window_as_deleted): reset the subwindow_instance_
8267         cache to nil.
8268
8269         * glyphs.h (struct Lisp_Image_Instance): device->domain.
8270         (IMAGE_INSTANCE_DOMAIN): new accessor.
8271         (XIMAGE_INSTANCE_DOMAIN): ditto.
8272
8273         * glyphs-x.c (x_finalize_image_instance): device->domain.
8274
8275         * glyphs-msw.c (init_image_instance_geometry): device->domain.
8276         (mswindows_finalize_image_instance): ditto.
8277
8278         * glyphs-eimage.c (jpeg_instantiate): device->domain.
8279         (gif_instantiate): ditto.
8280         (png_instantiate): ditto.
8281         (tiff_instantiate): ditto.
8282
8283         * glyphs.c (instantiate_image_instantiator): use domain rather
8284         than device.
8285         (mark_image_instance): device -> domain.
8286         (print_image_instance): ditto.
8287         (finalize_image_instance): ditto.
8288         (image_instance_equal): ditto.
8289         (allocate_image_instance): ditto.
8290         (Fcolorize_image_instance): ditto.
8291         (query_string_geometry): ditto.
8292         (image_instantiate): ditto
8293         (query_string_font): ditto.
8294         (image_instantiate): ditto.
8295         (update_subwindow): ditto.
8296         (unmap_subwindow): ditto.
8297         (map_subwindow): ditto.
8298         (subwindow_instantiate): ditto.
8299
8300         * specifier.h (DOMAIN_DEVICE): new, semantically correct, decoder.
8301         (DOMAIN_FRAME): ditto.
8302         (DOMAIN_WINDOW): ditto.
8303         (DOMAIN_LIVE_P): ditto.
8304         (XDOMAIN_DEVICE): ditto.
8305         (XDOMAIN_FRAME): ditto.
8306         (XDOMAIN_WINDOW): ditto.
8307
8308         * specifier.c (Fvalid_specifier_domain_p): add image instances as
8309         a valid specifier domain.
8310
8311 2000-04-19  Andy Piper  <andy@xemacs.org>
8312
8313         * glyphs-widget.c (syms_of_glyphs_widget): remove
8314         widget-callback-current-channel.
8315         (vars_of_glyphs_widget): ditto.
8316         * glyphs.h: ditto
8317
8318         * gui.c (get_gui_callback): revert to previous behaviour.
8319
8320 2000-04-18  Andy Piper  <andy@xemacs.org>
8321
8322         * glyphs.h (struct Lisp_Image_Instance): add margin_width.
8323         (IMAGE_INSTANCE_MARGIN_WIDTH): new.
8324         (XIMAGE_INSTANCE_MARGIN_WIDTH): new.
8325
8326         * glyphs.c (image_instance_equal): add margin_width.
8327         (image_instance_hash): ditto.
8328
8329         * glyphs-widget.c (widget_instantiate): deal with margin-width.
8330         (layout_query_geometry): ditto.
8331         (layout_layout): ditto.
8332         (syms_of_glyphs_widget): add margin-width.
8333         (image_instantiator_layout): allow margin-width.
8334
8335         * glyphs.c (update_widget_instances): make a normal function.
8336         (syms_of_glyphs): remove Qupdate_widget_instances.
8337         * glyphs.h: ditto.
8338
8339         * gui-x.c (popup_selection_callback): use enqueue_magic_eval_event
8340         so that we don't corrupt ideas about the last event or
8341         command. Remove widget-callback-current-channel fiddling.
8342         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
8343
8344 2000-05-01  Martin Buchholz <martin@xemacs.org>
8345
8346         * XEmacs 21.2.33 is released.
8347
8348 2000-05-01  Yoshiki Hayashi  <yoshiki@xemacs.org>
8349
8350         * make-src-depend: Allow dots in header file name.
8351
8352 2000-05-01  Yoshiki Hayashi  <yoshiki@xmacs.org>
8353
8354         * mule-charset.h (struct charset_lookup): Add
8355         next_allocated_1_byte_leading_byte and
8356         next_allocated_2_byte_leading_byte.
8357         * mule-charset.c: Move above two variables so that those values
8358         will be dumped.
8359
8360 2000-04-26  Yoshiki Hayashi  <yoshiki@xemacs.org>
8361
8362         * insdel.c (find_charsets_in_bufbyte_string): Add Vcharset_ascii
8363         when string length is zero.
8364         (find_charsets_in_emchar_string): Ditto.
8365
8366 2000-04-29  Bjrn Torkelsson  <torkel@hpc2n.umu.se>
8367
8368         * lisp.h: extern Qdialog and Qmenubar.
8369
8370         * gui-x.c: added events.h.
8371                 also fixed typo which made the file uncompilable.
8372
8373         * general.c: Added Qmenubar and Qdialog
8374
8375 2000-04-28  Ben Wing  <ben@xemacs.org>
8376
8377         * frame-msw.c (mswindows_init_frame_1):
8378         * frame-msw.c (mswindows_mark_frame):
8379         * event-msw.c (mswindows_enqueue_dispatch_event):
8380         * console-msw.h:
8381         * console-msw.h (struct mswindows_frame):
8382         * console-msw.h (FRAME_MSWINDOWS_WIDGET_HASH_TABLE1):
8383         there are now three hash tables for callbacks.
8384         mswindows_enqueue_dispatch_event is no longer static.
8385
8386         * dialog-x.c (maybe_run_dbox_text_callback):
8387         * dialog-x.c (dbox_descriptor_to_widget_value):
8388         switch to new cons3 form for callbacks.
8389
8390         * glyphs-msw.c (mswindows_register_gui_item):
8391         * glyphs-msw.c (mswindows_widget_instantiate):
8392         * glyphs-msw.c (add_tree_item):
8393         * glyphs-msw.c (add_tab_item):
8394         new image instance parameter, so it can be passed to callback-ex.
8395         respect :callback-ex as well as :callback.
8396
8397         * glyphs-widget.c (VALID_GUI_KEYWORDS):
8398         add :callback-ex.
8399
8400         * glyphs.c (print_image_instance):
8401         prettify, e.g. now prints widget type.
8402
8403         * gui-x.h:
8404         certain funs have new image instance parameter.
8405
8406         * gui.c:
8407         * gui.c (get_gui_callback):
8408         * gui.c (gui_item_add_keyval_pair):
8409         * gui.c (gui_item_init):
8410         * gui.c (gui_add_item_keywords_to_plist):
8411         * gui.c (mark_gui_item):
8412         * gui.c (gui_item_hash):
8413         * gui.c (gui_item_equal):
8414         * gui.c (copy_gui_item):
8415         * gui.c (syms_of_gui):
8416         recognize callback-ex in a number of places.
8417         also, fix the annoying "can't get out of yes-no dialog" bug.
8418
8419         * gui.h:
8420         * gui.h (struct Lisp_Gui_Item):
8421         recognize callback-ex in a number of places.
8422
8423         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
8424         new parameter in button_item_to_widget_value.
8425
8426         * glyphs-x.c (x_update_widget):
8427         * glyphs-x.c (x_button_instantiate):
8428         * glyphs-x.c (x_button_update):
8429         * glyphs-x.c (x_progress_gauge_instantiate):
8430         * glyphs-x.c (x_edit_field_instantiate):
8431         * glyphs-x.c (x_combo_box_instantiate):
8432         * glyphs-x.c (x_tab_control_instantiate):
8433         * glyphs-x.c (x_label_instantiate):
8434         new image instance parameter in various places.
8435
8436         * event-Xt.c:
8437         * event-Xt.c (enqueue_Xt_dispatch_event):
8438         this fun gets exported.
8439
8440         * gui-msw.c:
8441         * gui-msw.c (mswindows_handle_gui_wm_command):
8442         handle both :callback and :callback-ex, and generate our own
8443         event because it's one of the callback-ex arguments.
8444
8445         * gui-x.c:
8446         * gui-x.c (popup_selection_callback):
8447         handle both :callback and :callback-ex, and generate our own
8448         event because it's one of the callback-ex arguments.
8449         * gui-x.c (button_item_to_widget_value):
8450         * gui-x.c (gui_items_to_widget_values_1):
8451         * gui-x.c (gui_item_children_to_widget_values):
8452         * gui-x.c (gui_items_to_widget_values):
8453         new image instance parameter in various places.
8454
8455         * fns.c (Freplace_list):
8456         fix small typo in doc string.
8457
8458         * lisp.h:
8459         declare enqueue_Xt_dispatch_event.
8460
8461 2000-04-28  Ben Wing  <ben@xemacs.org>
8462
8463         * buffer.c:
8464         * buffer.c (Frecord_buffer):
8465         * buffer.c (syms_of_buffer):
8466         delete record-buffer-hook.
8467
8468         * fns.c:
8469         * fns.c (Freplace_list):
8470         * fns.c (syms_of_fns):
8471         new primitive replace-list.
8472
8473         * frameslots.h:
8474         slot for old buffer-alist.
8475
8476         * lisp.h:
8477         exfun replace-list.
8478
8479         * redisplay.c:
8480         * redisplay.c (redisplay_frame):
8481         * redisplay.c (syms_of_redisplay):
8482         * redisplay.c (vars_of_redisplay):
8483         new hook buffer-list-changed-hook.
8484         call it.
8485
8486 2000-04-27  Ben Wing  <ben@xemacs.org>
8487
8488         * extents.h: extern in_modeline_generation.
8489
8490         * redisplay.c (generate_formatted_string_db): set
8491         in_modeline_generation.
8492
8493         * extents.c (extent_changed_for_redisplay): don't mark redisplay
8494         flags if in modeline generation.  otherwise frame-modified-tick
8495         is ticked far too often.
8496         Declare in_modeline_generation.
8497
8498 2000-04-26  Ben Wing  <ben@xemacs.org>
8499
8500         * emacs.c (vars_of_emacs): document quick-build "error-checking"
8501         option.
8502         (vars_of_emacs): add quick-build as an error-checking option.
8503         A bit kludgy, but there doesn't seem much point in creating
8504         a real var for this.
8505
8506         * config.h.in: put in an entry for QUICK_BUILD; remove NO_DOC_FILE.
8507
8508 2000-04-14  IKEYAMA Tomonori  <tomonori@suiyokai.org>
8509
8510         * redisplay.h (struct display_line): Add a new variable,
8511         line_continuation.
8512
8513         * redisplay.c (create_text_block): Set dl->line_continuation if
8514         the line continues.
8515         (create_string_text_block): Ditto.
8516         (regenerate_window_incrementally): Use line_continuation instead
8517         of searching continuation glyph.
8518         (add_margin_runes): Call add_glyph_rune.
8519         (add_glyph_rune): Handle margin glyph.
8520
8521 2000-04-20  Martin Buchholz  <martin@xemacs.org>
8522
8523         * filelock.c (fill_in_lock_file_name):
8524         ANSIfy.
8525         Check for IS_ANY_SEP instead of '/'.
8526         (lock_file_1):
8527         Avoid generating gratuitous garbage.  Call user_login_name() directly.
8528         Never check errno without first seeing that system call failed.
8529         (unlock_file): Add GCPRO.
8530         (Flock_buffer): Fix docstring.
8531         (Ffile_locked_p): Fix docstring.  Add GCPRO.
8532
8533 2000-04-19  Martin Buchholz  <martin@xemacs.org>
8534
8535         * sysdep.c (get_pty_max_bytes):
8536         Fix hangs on DEC OSF 4.0 when (process-send-string) sends
8537         strings longer than 252 bytes.
8538
8539         * md5.c: Unconditionally include ANSI header <limits.h>
8540
8541         * glyphs-x.c (convert_EImage_to_XImage):
8542         * lisp-union.h (union Lisp_Object):
8543         Use consistently the syntax #ifdef FEATURE, not #if FEATURE.
8544
8545 2000-04-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
8546
8547         * filelock.c (current_lock_owner): Remove unused variable o, p.
8548
8549 2000-04-17  Norbert Koch  <n.koch@eai-delta.de>
8550
8551         * callint.c: Remove multiply defined symbol Qlet
8552         (syms_of_callint): ditto.
8553
8554 2000-04-14  Andy Piper  <andy@xemacs.org>
8555
8556         * general.c (syms_of_general): add last-command, this-command, let
8557         and funcall.
8558
8559         * lisp.h: declare various symbols.
8560
8561         * glyphs.h: declare Qwidget_callback_current_channel;
8562
8563         * glyphs-widget.c (syms_of_glyphs_widget): add
8564         Qgui_callback_current_channel.
8565         (vars_of_glyphs_widget): add Vgui_callback_current_channel.
8566
8567         * gui-msw.c (mswindows_handle_gui_wm_command): bind
8568         widget-callback-current-channel when invoking the interactive
8569         arg. Also bind last-command and next-command when invoking the
8570         widget updates.
8571         * gui-x.c (popup_selection_callback): ditto.
8572
8573         * gui.c (get_gui_callback): massage args so that we are always
8574         calling eval. This allows us to add our own variable bindings
8575         outside.
8576
8577         * glyphs-x.c (x_button_instantiate): use
8578         gui_items_to_widget_values since this is GC safe.
8579         (x_progress_gauge_instantiate): ditto.
8580         (x_edit_field_instantiate): ditto.
8581         (x_label_instantiate): ditto.
8582
8583         * event-Xt.c (emacs_Xt_handle_magic_event): remove old printfs.
8584         (emacs_Xt_event_widget_focus_out): new function
8585         (emacs_Xt_event_widget_focus_in): new function. Set the keyboard
8586         focus.
8587         (emacs_Xt_event_add_widget_actions): new function. add focus
8588         functions as actions.
8589         (init_event_Xt_late): use it.
8590
8591 2000-04-14  Hrvoje Niksic  <hniksic@iskon.hr>
8592
8593         * event-stream.c (Fdispatch_event): Doc fix.
8594
8595 2000-03-29  SL Baur  <steve@musashimaru.m17n.org>
8596
8597         * postgresql.c: Remove all references to PQsetenv*.
8598
8599         * postgresql.h: Remove references to PGsetenvHandler object.
8600         * lrecord.h (lrecord_type): Ditto.
8601
8602 2000-04-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
8603
8604         * glyphs-msw.h (struct mswindows_image_instance_data): Added
8605         real_heigh and real_width members, and accessor macros for these.
8606
8607         * glyphs-msw.c (init_image_instance_geometry): New function.
8608         (init_image_instance_from_dibitmap): Use it.
8609         (mswindows_resource_instantiate): Use it.
8610         (init_image_instance_from_xbm_inline): Use it.
8611         (mswindows_initialize_image_instance_mask): Use real bitmap
8612         geometry.
8613         (mswindows_create_resized_bitmap): Ditto.
8614         (mswindows_create_resized_mask): Ditto.
8615
8616         * redisplay-msw.c (mswindows_output_dibitmap): Stretch real mask
8617         and bitmap to their surface size.
8618
8619 2000-04-11  Jan Vroonhof  <jan@xemacs.org>
8620
8621         * process-unix.c (unix_send_process): Guard against process MIA
8622         after Faccept_process_output.
8623
8624 2000-04-11  Ben Wing  <ben@xemacs.org>
8625
8626         * eval.c (unbind_to_hairy): fix brokenness introduced by
8627         nanosecond speed improvements.
8628
8629 2000-04-07  Raymond Toy  <toy@rtp.ericsson.se>
8630
8631         * sunplay.c (init_device): To play sounds correctly, the device
8632         apparently needs to be initialized at least once by XEmacs.  Make
8633         it so.
8634
8635 2000-04-10  IKEYAMA Tomonori  <tomonori@suiyokai.org>
8636
8637         * redisplay.c (add_margin_runes): Add text image glyph
8638           handling.
8639
8640 2000-04-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
8641
8642         * lisp.h (DOESNT_RETURN): Don't declare as volatile when
8643         gcc is newer than 2.5.
8644
8645 2000-04-06  Colin Rafferty  <colin@xemacs.org>
8646
8647         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF): Created.
8648
8649         * fns.c (size_bit_vector):
8650         * alloc.c (size_vector):
8651         (make_vector_internal):
8652         (make_bit_vector_internal):
8653         (sweep_bit_vectors_1):
8654         Replace calls to offsetof with FLEXIBLE_ARRAY_STRUCT_SIZEOF macro.
8655
8656 2000-04-06  Andy Piper  <andy@xemacs.org>
8657
8658         * gmalloc.c (malloc): undo previous change.
8659         (malloc): ditto.
8660         (free): ditto.
8661         (realloc): ditto.
8662
8663 2000-04-06  IKEYAMA Tomonori <tomonori@suiyokai.org>
8664
8665         * line-number.c (buffer_line_number): Revert to former version.
8666
8667 2000-04-06  Andy Piper  <andy@xemacs.org>
8668
8669         * gmalloc.c (malloc): add error checking.
8670         (malloc): ditto.
8671         (free): ditto.
8672         (realloc): ditto.
8673
8674         * dialog-x.c (dbox_descriptor_to_widget_value): add extra
8675         button_item_to_widget_value arg.
8676
8677         * glyphs-x.c (x_button_instantiate): add extra
8678         button_item_to_widget_value arg.
8679         (x_progress_gauge_instantiate): ditto.
8680         (x_edit_field_instantiate): ditto.
8681         (x_label_instantiate): ditto.
8682
8683         * gui-x.c (gui_items_to_widget_values_1): add extra
8684         button_item_to_widget_value arg.
8685         (button_item_to_widget_value): add extra menu_item_p arg.
8686
8687         * gui-x.h: change signature of button_item_to_widget_value.
8688
8689         * menubar-x.c (menu_item_descriptor_to_widget_value_1): add extra
8690         button_item_to_widget_value arg.
8691
8692 2000-04-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
8693
8694         * buffer.h (struct buffer): auto_save_modified should be long.
8695
8696 2000-04-05  Andy Piper  <andy@xemacs.org>
8697
8698         * glyphs-widget.c (widget_instantiate): pixwidth != pixheight
8699         type.
8700         (button_query_geometry): give a little more room so that athena
8701         buttons fit.
8702
8703 2000-04-05  Andy Piper  <andy@xemacs.org>
8704
8705         * faces.c (complex_vars_of_faces): The widget face should inherit
8706         the font of the gui-element face.
8707
8708 2000-04-04  Andy Piper  <andy@xemacs.org>
8709
8710         * glyphs-x.c (x_button_update): new function. unconditionally
8711         update a button's state when the instance is dirty.
8712         (image_instantiator_format_create_glyphs_x): add x_button_update.
8713         (x_widget_instantiate): remove old resize cruft.
8714
8715 2000-04-02  Andy Piper  <andy@xemacs.org>
8716
8717         * frame.c (change_frame_size_1): The introduction of gutters means
8718         that we need to allow 0 as a potential frame dimension.
8719
8720 2000-04-02  IKEYAMA Tomonori  <tomonori@suiyokai.org>
8721
8722         * redisplay.c (add_glyph_rune): Don't set 0 to bufpos for text
8723         image glyph if allow_cursor.
8724         (add_hscroll_rune): Don't allow cursor to border glyph.
8725         (create_text_block): Ditto.
8726
8727         * redisplay-output.c (redisplay_move_cursor): Do nothing even if
8728         text not in buffer.
8729         (redisplay_output_layout): Call ensure_face_cachel_complete for
8730         text image glyph.
8731
8732
8733 2000-03-16  IKEYAMA Tomonori  <tomonori@suiyokai.org>
8734
8735         * redisplay.c (add_glyph_rune): Adding text image as text runes.
8736
8737         * redisplay-output.c (redisplay_move_cursor): NO_CURSOR if text
8738         not in buffer
8739
8740         * redisplay-tty.c (tty_output_display_block): Delete the routine
8741         for text image glyph
8742         * redisplay-x.c (x_output_display_block): ditto
8743         * redisplay-msw.c (mswindows_output_display_block): ditto
8744
8745 2000-02-02  Mike Alexander  <mta@arbortext.com>
8746
8747         Note: Some of these were committed by accident as part of other
8748         patches.
8749
8750         * regex.c (regex_compile): Avoid compiler warnings.
8751
8752         * ntproc.c (sys_spawnve): Avoid compiler warnings.
8753
8754         * nt.h: Declare term_ntproc correctly.
8755
8756         * nt.c: Remove incorrect declaration of get_home_directory which
8757         is declared correctly in lisp.h.
8758
8759         * keymap.c (get_keyelt): Avoid compiler warnings.
8760         (raw_lookup_key_mapper): Avoid compiler warnings.
8761
8762         * gutter.c (gutter_was_visible): Add return statement to avoid warning.
8763
8764         * glyphs-eimage.c (png_instantiate): Avoid compiler warnings.
8765
8766         * filemode.c (mode_string): Avoid compiler warnings.
8767
8768         * file-coding.c (Fcoding_system_aliasee): Add return statement to
8769         avoid warning.
8770
8771         * events-mod.h: Undef some things that winuser.h defines differently.
8772
8773         * data.c (Faset): Avoid compiler warnings.
8774
8775         * alloc.c (Fmake_byte_code): Avoid compiler warnings.
8776
8777 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
8778
8779         * sound.c (Fplay_sound_file): Wrap ESD in start/stop_interrupts.
8780         Fall through to simple beep on error.
8781         Replace "extern" by real header file.
8782
8783         * linuxplay.c: Use nativesound.h
8784         (play_sound_data): Return error code. Be less verbose on error.
8785
8786         * sunplay.c: Use nativesound.h
8787         (play_sound_data): Return error code. Be less verbose on error.
8788
8789         * ntplay.c: Use nativesound.h
8790         (play_sound_data): Return fake error code
8791
8792         * sgiplay.c: Use nativesound.h
8793         (play_sound_data): Return error code
8794
8795         * hpplay.c: Use nativesound.h, partially implement
8796         new error code. Break compilation until finished.
8797         (play_sound_data): error code.
8798
8799         * nativesound.h (play_sound_file):
8800           (play_sound_data): Prototype in new header.
8801
8802 2000-03-31  Andy Piper  <andy@xemacs.org>
8803
8804         * glyphs-widget.c: (button_query_geometry): new function. Adjust
8805         for toggle and radio buttons.
8806         (image_instantiator_buttons): use it.
8807
8808 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
8809
8810         * scrollbar-x.c (x_update_vertical_scrollbar_callback):
8811         (x_update_horizontal_scrollbar_callback): Return if no mirror was
8812         found. Scrollbar event probably belonged to some old config.
8813
8814 2000-03-31  Andy Piper  <andy@xemacs.org>
8815
8816         * glyphs-widget.c (widget_instantiate): use LAYOUT_VERTICAL rather
8817         than 1.
8818         (initialize_widget_image_instance): default layout to
8819         LAYOUT_HORIZONTAL rather than 0.
8820         (widget_instantiate): reverse the item list at the end rather than
8821         every iteration.
8822         (layout_layout): re-code for the border text at the front of the
8823         item list rather than at the end.
8824         (layout_query_geometry): ditto. Pick up fixed and dynamic sizes
8825         provided by the user.
8826         (widget_query_geometry): comment.
8827
8828 2000-03-30  Andy Piper  <andy@xemacs.org>
8829
8830         * glyphs-widget.c (image_instantiator_layout): allow standard
8831         widget keywords in layouts.
8832
8833         * gutter.c (output_gutter): cope with nil gutter contents.
8834
8835         * frame.c (Fset_frame_properties): add gutter docs.
8836
8837 2000-03-29  Andy Piper  <andy@xemacs.org>
8838
8839         * toolbar-msw.c (TBSTYLE_FLAT): add.
8840         (mswindows_output_toolbar): minor fiddling.
8841
8842 2000-03-29  Andy Piper  <andy@xemacs.org>
8843
8844         * gutter.c (output_gutter): force gutter size recalculation if
8845         what we are trying to display won't fit.
8846         (update_gutter_geometry): new function. A per-gutter version of
8847         update_frame_gutter_geometry.
8848         (update_frame_gutter_geometry): use it.
8849         (redraw_exposed_gutter): add extra debugging output.
8850
8851 2000-03-28  Mike Alexander  <mta@arbortext.com>
8852
8853         * dumper.c: Declare pdump_hFile and pdump_hMap (Windows only)
8854         (pdump_file_unmap): Implement it on Windows
8855         (pdump_file_get): Save alocated handles for pdump_file_unmap
8856
8857 2000-03-28  Andy Piper  <andy@xemacs.org>
8858
8859         * gui.c (get_gui_callback): treat Quit specially.
8860
8861 2000-03-27  Andy Piper  <andy@xemacs.org>
8862
8863         * glyphs.c (image_instantiate): be careful to check in the same
8864         way we assigned.
8865
8866 2000-03-27  Didier Verna  <didier@xemacs.org>
8867
8868         * config.h.in: define the proper SMART_INCLUDE macro.
8869         handle renaming of `foo_h_path' to `foo_h_file'.
8870
8871         * database.c: ditto.
8872
8873         * emacs.c: ditto.
8874
8875         * linuxplay.c: ditto.
8876
8877         * terminfo.c: ditto.
8878
8879         * tooltalk.h: ditto.
8880
8881 2000-03-27  Andy Piper  <andy@xemacs.org>
8882
8883         * glyphs-msw.c (mswindows_update_widget): make sure the widget
8884         gets updated whenever the face might have changed.
8885
8886 2000-03-26  Mike Alexander  <mta@arbortext.com>
8887
8888         * dumper.c (pdump_resource_free): Fix the comment.
8889
8890 2000-03-21  Olivier Galibert  <galibert@pobox.com>
8891
8892         * input-method-xlib.c (XIM_init_frame): Remove painful warning.
8893
8894 2000-03-22  Mike Alexander  <mta@arbortext.com>
8895
8896         * dumper.c: Include Windows headers on Windows
8897         (pdump_resource_free): Add a body to the function
8898         (pdump_load): exe_name -> exe_path and add some comments.
8899
8900 2000-03-25  Mike Alexander  <mta@arbortext.com>
8901
8902         * gui.c (copy_gui_item_tree): Return a value in all cases
8903
8904 2000-03-21  Didier Verna  <didier@xemacs.org>
8905
8906         * config.h.in: move INCLUDE_GLUE_1 and INCLUDE_GLUE_2 here from
8907         lwlib/config.h.in.
8908         (SMART_INCLUDE): new macro.
8909         (POSTGRES_INCLUDE): new macro to include postgresql headers from
8910         the proper location.
8911
8912         * postgresql.c: use it.
8913
8914         * inline.c: ditto.
8915
8916 2000-03-24  Andy Piper  <andy@xemacs.org>
8917
8918         * gutter.c (redraw_exposed_gutters): must be "in display" when we
8919         do this.
8920
8921 2000-03-24  Andy Piper  <andy@xemacs.org>
8922
8923         * redisplay-output.c (compare_runes): use image_instance_changed
8924         to detect changes. Do not depend on glyphs_changed, only depend on
8925         dirtiness.
8926          (redisplay_output_layout): add debug messages.
8927         (compare_runes): ditto.
8928
8929         * glyphs.h: declare new functions.
8930         (struct Lisp_Image_Instance): remove percent and associated
8931         accessors.
8932
8933         * gui.h: declare new copying functions.
8934
8935         * gui.c (copy_gui_item_tree): new function.
8936         (copy_gui_item): new function.
8937         (gui_item_id_hash): revert to standard hash.
8938         (gui_item_hash): ditto.
8939         (gui_item_hash_internal): deleted.
8940         (mark_gui_item): mark value.
8941         (gui_item_add_keyval_pair): add value.
8942         (gui_item_init): ditto.
8943         (gui_add_item_keywords_to_plist): ditto.
8944         (gui_item_equal): ditto.
8945         (syms_of_gui): add Q_value.
8946
8947         * glyphs-x.c (x_progress_gauge_update): use pending items and
8948         value for setting the state.
8949         (x_update_widget): don't set items from pending here.
8950
8951         * glyphs-widget.c (update_widget): update items here.
8952         (progress_gauge_set_property): use items for storing value. Put
8953         new value in pending items.
8954
8955         * glyphs-msw.c (mswindows_progress_gauge_update): use pending
8956         items for new value. Convert percent -> value.
8957         (mswindows_tab_control_update): don't update items here.
8958
8959         * glyphs.c (Fupdate_widget_instances): use image_instance_changed.
8960         (update_subwindow): ditto.
8961         (image_instance_changed): new function. Compare hash values and
8962         past and present widget items.
8963         (image_instantiate): We more careful about where we instantiate
8964         things.
8965         (image_instantiate): add error checking.
8966
8967         * gutter.c (syms_of_gutter): use -hook.
8968
8969 2000-03-20  Yoshiki Hayashi  <yoshiki@xemacs.org>
8970
8971         * console-tty.c (Fset_console_tty_input_coding_system): Use
8972         Qkeyboard.
8973         (Fset_console_tty_output_coding_system): Use Qterminal.
8974         (tty_init_console): Use Qkeyboard and Qterminal.
8975
8976 2000-03-21  Ben Wing  <ben@xemacs.org>
8977
8978         * ntproc.c (create_child): remove bogus HAVE_NTGUI's.
8979         From Mike Alexander <mta@arbortext.com>.
8980
8981 2000-03-21  Ben Wing  <ben@xemacs.org>
8982
8983         * event-msw.c (mswindows_need_event): Horrible kludge to fix
8984         process brokenness.  Proper implementation to come.
8985         * callproc.c:
8986         Rename call-process-internal to old-call-process-internal.
8987         New impl. in process.el.
8988
8989 2000-03-21  Martin Buchholz  <martin@xemacs.org>
8990
8991         * Makefile.in.in: Coalesce HAVE_NATIVE_SOUND code fragments.
8992
8993 2000-03-20  Andy Piper  <andy@xemacs.org>
8994
8995         * glyphs.c (full_list_hash): make hashes of the same elements in
8996         different orders return different values.
8997
8998 2000-03-20  Martin Buchholz <martin@xemacs.org>
8999
9000         * XEmacs 21.2.32 is released.
9001
9002 2000-03-20  Martin Buchholz  <martin@xemacs.org>
9003
9004         * buffer.h (DFC_ALLOCA_USE_CONVERTED_DATA):
9005         (DFC_MALLOC_USE_CONVERTED_DATA):
9006         Add aliasing-safe casts to allow use with char* or unsigned char*
9007         lvalues.
9008
9009         * eldap.c (Fldap_open):
9010         (Fldap_search_basic):
9011         (Fldap_add):
9012         (Fldap_modify):
9013         Make C++-compilable.
9014         Make sure GCPRO'ed variables are initialized.
9015         Use temp variables to avoid repeated calls to Flength.
9016
9017 2000-03-16  Martin Buchholz  <martin@xemacs.org>
9018
9019         * sysfile.h:
9020         Make sure PATH_MAX is always defined.
9021         Include limits.h for PATH_MAX.
9022         Deprecate use of MAXPATHLEN.
9023
9024 2000-03-10  Martin Buchholz  <martin@xemacs.org>
9025
9026         * emacs.c: Add reinit_vars_of_fileio.
9027         * symsinit.h: Add reinit_vars_of_fileio.
9028         * fileio.c (reinit_vars_of_fileio): New.
9029         * fileio.c (Fmake_temp_name):
9030         Initialize temp_name random number from microseconds to make
9031         collisions even less likely.  Initialize always at process startup
9032         time.  (make-temp-name) used to return the same file name twice in
9033         a row when PDUMP.
9034         Random stylistic fiddling.
9035         Comment fixes.
9036
9037 2000-03-20  Andy Piper  <andy@xemacs.org>
9038
9039         * glyphs.c (image_instantiate): allow text glyphs to be
9040         instantiated in the minibuffer window.
9041
9042 2000-03-19  Andy Piper  <andy@xemacs.org>
9043
9044         * glyphs.c (image_instance_hash): be careful about which items we
9045         hash on.
9046
9047         * glyphs-widget.c (tab_control_set_property): record into pending
9048         items rather than the actual items.
9049
9050         * glyphs-x.c (x_update_widget): use pending items to update with.
9051
9052         * glyphs-msw.c (mswindows_tab_control_update): use pending items
9053         to update with.
9054
9055         * glyphs.c (mark_image_instance): mark pending items.
9056
9057         * window.c (Fset_window_configuration): record the buffer.
9058         (Fselect_window): totally revert previous change which breaks many
9059         things.
9060
9061 2000-03-18  Andy Piper  <andy@xemacs.org>
9062
9063         * glyphs-msw.c (mswindows_tab_control_update): force selected
9064         item.
9065
9066         * glyphs.c (image_instantiate): don't allow the minibuffer as a
9067         window domain cache, otherwise we get inconsistencies at
9068         startup. There is something fishy at startup which can lead to the
9069         minibuffer being the selected window when the gutter content is
9070         instantiated.
9071
9072         * gui.c (parse_gui_item_tree_list): add probably unnecessary
9073         gcpros.
9074         (parse_gui_item_tree_children): ditto.
9075         (parse_gui_item_tree_item): ditto.
9076
9077         * glyphs.c (Fupdate_widget_instances): return something.
9078
9079 2000-03-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
9080
9081         * window.c (Fselect_window): Undo 2000-03-17 change.
9082
9083 2000-03-17  SL Baur  <steve@musashimaru.m17n.org>
9084
9085         * postgresql.c (Fpq_setenv): Remove this turkey when linking
9086         against v7.0 libraries.  Insta-coredump city until the postgres
9087         folks fix it.
9088
9089 2000-03-17  Andy Piper  <andy@xemacs.org>
9090
9091         * faces.c (complex_vars_of_faces): don't give the widget face an
9092         inherited background pixmap.
9093
9094         * glyphs-msw.c (mswindows_tab_control_instantiate): select the
9095         selected item.
9096
9097         * event-stream.c (Fdispatch_non_command_events): return something.
9098
9099         * gutter.c (output_gutter): use widget face.
9100         (clear_gutter): ditto.
9101
9102         * NEWS: adjust again.
9103
9104         * window.c (Fselect_window): make sure this runs to completion to
9105         avoid oddities with Fset_window_configuration.
9106         (Fcurrent_window_configuration): in general do not save the
9107         minibuffer as the selected window.
9108
9109         * glyphs.h (IMAGE_INSTANCE_HASH_DEPTH): increase.
9110
9111 2000-03-16  Olivier Galibert  <galibert@pobox.com>
9112
9113         * emacs.c (Frunning_temacs_p): Revert previous patch.
9114         (main_1): Reinitialize running_temacs_argc if pdump_load succeeds.
9115
9116 2000-03-16  Andy Piper  <andy@xemacs.org>
9117
9118         * glyphs-x.c (x_tab_control_update): if no widget values then
9119         return.
9120
9121         * NEWS: update for new features.
9122
9123         * event-Xt.c (emacs_Xt_force_event_pending): new function. Post a
9124         synthetic event to the native system.
9125         (reinit_vars_of_event_Xt): set force_event_pending to
9126         emacs_Xt_force_event_pending.
9127
9128         * events.h (struct event_stream): add force_event_pending.
9129
9130         * specifier.c (recompute_one_cached_specifier_in_window): add
9131         comment.
9132
9133         * redisplay.c (redisplay_frame): don't call
9134         update_frame_subwindows. Reset subwindow cachels when
9135         subwindows_changed, removing this was an optimization too far.
9136
9137         * redisplay-output.c (compare_runes): reorganize so that we catch
9138         glyph changes when we want them. Set optimize_output when this
9139         would help layouts.
9140         (redisplay_output_layout): remove frame_really_changed, use
9141         optimize_output instead.
9142
9143         * redisplay-msw.c (mswindows_output_display_block): reset
9144         optimize_output after outputting a glyph.
9145         * redisplay-x.c (x_output_display_block): ditto.
9146         * redisplay-tty.c (tty_output_display_block): ditto.
9147
9148         * gutter.c: (specifier_vars_of_gutter): use new spec changed
9149         functions.
9150         (gutter_specs_changed): do specific gutter positions.
9151         (top_gutter_specs_changed): new function. Only update the
9152         specified gutter specs.
9153         (bottom_gutter_specs_changed): ditto.
9154         (left_gutter_specs_changed): ditto.
9155         (right_gutter_specs_changed): ditto.
9156
9157         * gui.c (gui_item_hash_internal): new function, does a real hash.
9158         (gui_item_id_hash): use it.
9159         (gui_item_hash): hash the eval'ed gui_item.
9160
9161         * gui-x.c (popup_selection_callback): send an eval event to call
9162         Fupdate_widget_instances.
9163
9164         * gui-msw.c (mswindows_handle_gui_wm_command): send an eval event
9165         to call Fupdate_widget_instances.
9166
9167         * glyphs.h (struct Lisp_Image_Instance): add optimize_output flag.
9168         (IMAGE_INSTANCE_OPTIMIZE_OUTPUT): access it.
9169
9170         * glyphs.c: (update_frame_subwindows): deleted.
9171         (Fupdate_widget_instances): new function for updating the dirty
9172         state of widgets that might have changed.
9173         (syms_of_glyphs): add Qupdate_widget_instances.
9174         (full_list_hash): hash a list completely.
9175         (image_instance_hash): use it for items and properties.
9176
9177         * frame-msw.c (mswindows_size_frame_internal): remove unused
9178         variable.
9179
9180         * faces.h (struct face_cachel): fix comment.
9181
9182         * event-stream.c (Fdispatch_non_command_events): new
9183         function. Process non-command events, forcing an event cycle
9184         beforehand.
9185         (syms_of_event_stream): declare.
9186         (event_stream_force_event_pending): new function. Force an event
9187         on the native event queue so that an event cycle will occur next
9188         time we check.
9189
9190         * event-msw.c:
9191         (struct ntpipe_shove_stream):
9192         (mswindows_enqueue_dispatch_event):
9193         (mswindows_dequeue_dispatch_event):
9194         (mswindows_cancel_dispatch_event):
9195         (mswindows_pump_outstanding_events):
9196         (mswindows_drain_windows_queue):
9197         (mswindows_handle_paint):
9198         (mswindows_wnd_proc):
9199         (mswindows_key_to_emacs_keysym):
9200         (get_process_input_waitable):
9201         (emacs_mswindows_delete_stream_pair): re-indent file.
9202         (mswindows_need_event): do not process further fds if the windows
9203         fd is set, otherwise you get endless XM_BUMPQUEUE cycles. This
9204         fixes the 100% cpu problem.
9205         (reinit_vars_of_event_mswindows): set force_event_pending to 0.
9206
9207 2000-03-15  Olivier Galibert  <galibert@pobox.com>
9208
9209         * alloc.h: New.
9210         * dumper.h: New.
9211         * dumper.c: New.
9212
9213         * emacs.c: Moved dump file searching to dumper.c.
9214         (Frunning_temacs_p): Fixed.
9215
9216         * alloc.c: Moved everything pdump-related to dumper.c.  Removed
9217         last_lrecord_type_index_assigned.
9218
9219 2000-02-20  Olivier Galibert  <galibert@pobox.com>
9220
9221         * symsinit.h: Added reinit parameter to init_console_stream
9222         declaration.
9223
9224         * lisp.h: Added file parameter to pdump_load declaration.
9225
9226         * emacs.c (main_1): Added -nd/--nodump-file and -sd/--show-dump-id
9227         support.  Added dump file searching.
9228
9229         * config.h.in: Added EMACS_PROGNAME.
9230
9231         * console-stream.c (init_console_stream): Fix reinitialisation
9232         when running from temacs.
9233
9234         * alloc.c (pdump): Add id support.
9235         (pdump_load): Add file parameter and signature/id support.
9236
9237         * Makefile.in.in: Add full pdump support.
9238
9239 2000-03-15  SL Baur  <steve@musashimaru.m17n.org>
9240
9241         * postgresql.c: Update documentation to reflect latest code
9242         status.
9243         (print_result): Show tuple counts in printed representation when
9244         appropriate.
9245         (Fpq_put_nbytes): MULE-ize.
9246         (Fpq_get_line_async): Ditto.
9247
9248 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
9249
9250         * postgresql.c (Fpq_lo_import): Fix return value.
9251         Suggested by: Kenji Itoh <keit@tpj.co.jp>.
9252
9253 2000-03-13  Ben Wing  <ben@xemacs.org>
9254
9255         * alloc.c (pdump_load):
9256         Fix compile warning under mswin.
9257
9258 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
9259
9260         * postgresql.c: Mule-ization, bug fixes.
9261         Use PG_CODING to encapsulate coding system name changes.
9262         Backport a version of TO_EXTERNAL format for 21.1/InfoDock.
9263         (pg-coding-system): Create.
9264
9265         (Fpq_conn_defaults): Mule-ize.
9266         (Fpq_connectdb): Mule-ize & bug fix.
9267         (Fpq_connect_start): Mule-ize.
9268         (Fpq_set_client_encoding): Mule-ize.
9269         (Fpq_finish): Document `DEAD' connection status.
9270         (Fpq_clear): Ditto.
9271         (Fpq_pgconn): Mule-ize.
9272         (Fpq_exec): Mule-ize & bug fix.
9273         (Fpq_send_query): Ditto.
9274         (Fpq_get_result): Ditto.
9275         (Fpq_res_status): Mule-ize.
9276         (Fpq_result_error_message): Mule-ize.
9277         (Fpq_ntuples): fix comments.
9278         (Fpq_fname): Mule-ize.
9279         (Fpq_fnumber): Mule-ize.
9280         (Fpq_ftype): fix comments.
9281         (Fpq_get_value): Mule-ize.
9282         (Fpq_cmd_status): Ditto.
9283         (Fpq_cmd_tuples): Ditto.
9284         (Fpq_oid_value): Ditto.
9285         (Fpq_notifies): Ditto.
9286         (Fpq_lo_import): Ditto.
9287         (Fpq_lo_export): Ditto.
9288         (Fpq_get_line): Ditto.
9289         (Fpq_put_line): Mule-ize and bug fix.
9290         (syms_of_postgresql): Fix ifdef'ing, add pg-coding-system.
9291
9292 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
9293
9294         * postgresql.c (vars_of_postgresql): Mule-ize.
9295         (Fpq_conn_defaults): Ditto.
9296
9297 2000-03-12  Ben Wing  <ben@xemacs.org>
9298
9299         * alloc.c (Fmake_byte_code):
9300         * alloc.c (debug_string_purity_print):
9301         * alloc.c (pdump_backtrace):
9302         * alloc.c (pdump_get_indirect_count):
9303         * alloc.c (pdump_register_sub):
9304         * alloc.c (pdump_register_object):
9305         * alloc.c (pdump_register_struct):
9306         * alloc.c (pdump_dump_data):
9307         * alloc.c (pdump_reloc_one):
9308         Minor cleanups.
9309
9310         * console-msw.c:
9311         * console-msw.c (GetConsoleHwnd):
9312         * console-msw.c (msw_hide_console):
9313         * console-msw.c (msw_show_console):
9314         * console-msw.c (msw_ensure_console_buffered):
9315         * console-msw.c (msw_output_console_string):
9316         * console-msw.c (console_type_create_mswindows):
9317
9318         a) Added functions to manipulate the console window for use with
9319         shell support.
9320
9321         b) Added support for writing text to the console, which is now
9322         used under Windows when xemacs is not being run non-interactively,
9323         to write text that would otherwise be destined for stdout because
9324         under these circumstances, text written to stdout tends to
9325         disappear and not be seen.
9326
9327         * console-msw.h:
9328         * event-Xt.c:
9329         * event-Xt.c (x_event_to_emacs_event):
9330         * event-Xt.c (describe_event_window):
9331         * events-mod.h (XEMACS_MOD_CONTROL):
9332         * events.c:
9333         * events.c (Fmake_event):
9334         * events.c (character_to_event):
9335         * events.c (event_to_character):
9336         * events.c (format_event_object):
9337         * events.c (Fevent_modifiers):
9338         * events.h:
9339         * events.h (struct key_data):
9340         * events.h (struct button_data):
9341         * events.h (struct misc_user_data):
9342         * frame-x.c (Fcde_start_drag_internal):
9343         * frame-x.c (Foffix_start_drag_internal):
9344         * gpmevent.c (Freceive_gpm_event):
9345         * keymap.c:
9346         * keymap.c (bucky_sym_to_bucky_bit):
9347         * keymap.c (control_meta_superify):
9348         * keymap.c (make_key_description):
9349         * keymap.c (keymap_lookup_directly):
9350         * keymap.c (create_bucky_submap):
9351         * keymap.c (keymap_store):
9352         * keymap.c (define_key_check_and_coerce_keysym):
9353         * keymap.c (define_key_parser):
9354         * keymap.c (define_key_alternate_name):
9355         * keymap.c (Fdefine_key):
9356         * keymap.c (raw_lookup_key_mapper):
9357         * keymap.c (struct map_keymap_unsorted_closure):
9358         * keymap.c (map_keymap_unsorted_mapper):
9359         * keymap.c (map_keymap_sort_predicate):
9360         * keymap.c (map_keymap_sorted):
9361         * keymap.c (accessible_keymaps_mapper_1):
9362         * keymap.c (where_is_recursive_mapper):
9363         * keymap.c (describe_map_mapper):
9364         * keymap.c (describe_map_sort_predicate):
9365         * keymap.c (describe_map):
9366         * keymap.c (complex_vars_of_keymap):
9367         And a number of other files, the key modifier preprocessor
9368         constants that xemacs uses have names that conflict with constants
9369         defined under MS Windows for other purposes, so they were renamed
9370         to begin with the prefix XEMACS_. The variables that hold such
9371         modifiers were changed to consistently be of type int to fix
9372         various compile warnings.
9373
9374         * console.c (complex_vars_of_console):
9375         * device.c:
9376         * device-msw.c:
9377         * device-msw.c (mswindows_finish_init_device):
9378         * device-msw.c (msw_get_workspace_coords):
9379         * device-msw.c (mswindows_device_system_metrics):
9380         and various other files, added support for a new
9381         device property called offset-workspace which returns the position
9382         of the upper left corner of the workspace area and goes along with
9383         the existing size-workspace property.
9384
9385         * dialog-msw.c:
9386         * dialog-msw.c (push_bufbyte_string_as_unicode):
9387         * dialog-msw.c (mswindows_popup_dialog_box):
9388         Added support for XEmacs-style accelerator specifications in
9389         button text.  Note: I didn't add support for this under X Windows,
9390         and somebody needs to do this.
9391
9392         * dialog.c:
9393         * dialog.c (Fpopup_dialog_box):
9394         Documented the support for accelerators that was just mentioned.
9395
9396         editfns.c (get_home_directory): Changed behavior under Windows
9397         when HOME not defined; former behavior was irretrievably broken.
9398
9399         * emacs.c:
9400         * emacs.c (main_1):
9401         * emacs.c (main):
9402         * minibuf.c (clear_echo_area_internal):
9403         * minibuf.c (echo_area_append):
9404         * print.c:
9405         * print.c (std_handle_out_external):
9406         * print.c (std_handle_out_va):
9407         * print.c (fatal):
9408         * print.c (write_string_to_stdio_stream):
9409         * print.c (output_string):
9410         * print.c (debug_print):
9411         * print.c (debug_backtrace):
9412         * print.c (debug_short_backtrace):
9413         Cleaned up the code that prints text to stdout so that this can be
9414         changed to output into a console window instead under MS Windows,
9415         as described above.
9416
9417         * eval.c:
9418         * eval.c (DEFEND_AGAINST_THROW_RECURSION):
9419         * eval.c (internal_catch):
9420         * eval.c (unwind_to_catch):
9421         * eval.c (throw_or_bomb_out):
9422         * eval.c (condition_case_1):
9423         * eval.c (signal_1):
9424         * eval.c (check_error_state_sanity):
9425         * eval.c (call_with_suspended_errors_1):
9426         * eval.c (call_with_suspended_errors):
9427         * eval.c (reinit_vars_of_eval):
9428         Added code to catch throw loops and check for a pesky bug that may
9429         be gone now.
9430
9431         * event-msw.c:
9432         * event-msw.c (key_needs_default_processing_p):
9433         * event-msw.c (mswindows_wnd_proc):
9434         * event-msw.c (mswindows_modifier_state):
9435         * event-msw.c (emacs_mswindows_quit_p):
9436         * event-msw.c (vars_of_event_mswindows):
9437         a) Added support for using the alt key to select menu items as is
9438         standard under MS Windows.  This is controlled using the variable
9439         menu-accelerator-enabled, just like under X Windows.  There is an
9440         option on the options menu to turn this support on.  I really
9441         think that it should be on by default under Windows, but I'm not
9442         going to make this change yet.
9443
9444         b)  Added support for dynamic display size changes under Windows.
9445
9446         * event-stream.c:
9447         * event-stream.c (maybe_echo_keys):
9448         * event-stream.c (Fnext_event):
9449         * event-stream.c (command_builder_find_leaf):
9450         * event-stream.c (lookup_command_event):
9451         * event-stream.c (execute_command_event):
9452         * event-stream.c (pre_command_hook):
9453         * event-stream.c (post_command_hook):
9454         * event-stream.c (syms_of_event_stream):
9455         * event-stream.c (vars_of_event_stream):
9456         * event-stream.c (complex_vars_of_event_stream):
9457         * events.h (struct command_builder):
9458
9459         a) Tried to clean up a little bit the horribly written x-specific
9460         accelerator code that crept into this file.  I moved this code
9461         into menubar-x.c where it belongs. I also needed to move the
9462         command builder structure into the file events.h because it is
9463         accessed directly by this accelerator code.  What I didn't do, but
9464         which should be done at some point, is to properly abstract this
9465         code using device methods instead of the kludgy way that it
9466         currently hooks into the event code.
9467
9468         b) Added the lisp variables this-command-properties and
9469         last-command- properties, which should be used to synchronize two
9470         adjacent commands in preference to playing games with the variable
9471         this-command, which is typically what happens.
9472
9473         c) Added some slightly nasty code to hook into the lisp support
9474         for shifted- motion-key selection.  This is actually necessary for
9475         somewhat complicated reasons, which are described in
9476         simple.el. (NB: I think the proper thing would be to have the code
9477         that calls the pre and post command hooks also call out to generic
9478         lisp functions in simple.el, where all built-in stuff could be
9479         added.  I will think about this more.)
9480
9481         * event-unixoid.c (poll_fds_for_input):
9482         * lread.c (readchar):
9483         * redisplay-tty.c (tty_clear_frame):
9484         * redisplay-x.c (x_get_gc):
9485         * signal.c (interrupt_signal):
9486         And a whole bunch of other files: fixed up places that printed
9487         directly to stderr to instead call the function stderr_out so that
9488         the changes I made under Windows work correctly.
9489
9490         * filemode.c (mode_string):
9491         Warning fixes.
9492
9493         * frame-msw.c:
9494         * frame-msw.c (mswindows_size_frame_internal):
9495         Fixed the computation of frame size and position to keep the frame
9496         within the workspace area, rather than within the physical
9497         dimensions of the screen, so that the frame doesn't overlap window
9498         manager decorations, such as the start menu and toolbar, typically
9499         at the bottom of the screen.
9500
9501         * frame.c (vars_of_frame):
9502         Changed the default frame title format under MS Windows to consist
9503         of buffername-XEmacs, which is standard under MS Windows.  I think
9504         it might be a good idea to change this everywhere because I think
9505         it is superior to the current frame title format, but this is the
9506         kind of change that is likely to cause some people to get annoyed,
9507         so I'm not making it.
9508
9509         * glyphs-eimage.c (png_instantiate): Fixed some compile warnings.
9510
9511         * gui-msw.c (mswindows_handle_gui_wm_command):
9512         Fixed compile warnings.
9513
9514         * gui-x.c:
9515         * gui-x.c (strdup_and_add_accel):
9516         * gui-x.c (button_item_to_widget_value):
9517         * gui-x.h:
9518         Added code to automatically put an accelerator onto the beginning
9519         of menu items that don't have one as is now the standard, and is
9520         described more later.  Also fixed things so that the menu item
9521         name can be an evaluated expression, again a new standard.
9522
9523         * gui.c:
9524         * gui.c (gui_item_add_keyval_pair):
9525         * gui.c (make_gui_item_from_keywords_internal):
9526         * gui.c (gui_add_item_keywords_to_plist):
9527         * gui.c (gui_item_accelerator):
9528         * gui.c (gui_name_accelerator):
9529         * gui.c (gui_item_included_p):
9530         * gui.c (gui_item_display_flush_left):
9531         * gui.c (gui_item_display_flush_right):
9532         * gui.c (parse_gui_item_tree_item):
9533         * gui.c (parse_gui_item_tree_children):
9534         * gui.c (parse_gui_item_tree_list):
9535         Mule-ized.  Cleanup.  GCPRO addition.
9536
9537         * line-number.c (buffer_line_number):
9538         * lisp.h:
9539         * lisp.h (EMACS_INT_MAX):
9540         Added the manifest constant EMACS_INT_MIN corresponding to the
9541         existing constant EMACS_INT_MAX.  This is partially to fix compile
9542         warnings under Windows, and partly for cleanliness.
9543
9544         * menubar-msw.c:
9545         * menubar-msw.c (REPLACE_ME_WITH_GLOBAL_VARIABLE_WHICH_CONTROLS_RIGHT_FLUSH):
9546         * menubar-msw.c (msw_translate_menu_or_dialog_item):
9547         * menubar-msw.c (displayable_menu_item):
9548         * menubar-msw.c (populate_menu_add_item):
9549         * menubar-msw.c (populate_or_checksum_helper):
9550         * menubar-msw.c (populate_menu):
9551         * menubar-msw.c (update_frame_menubar_maybe):
9552         * menubar-msw.c (prune_menubar):
9553         * menubar-msw.c (msw_char_is_accelerator):
9554         * menubar-msw.c (unsafe_handle_wm_initmenu_1):
9555         * menubar-msw.c (mswindows_handle_wm_command):
9556         * menubar-msw.c (mswindows_handle_wm_initmenupopup):
9557         * menubar-msw.c (mswindows_handle_wm_initmenu):
9558         * menubar-msw.c (mswindows_update_frame_menubars):
9559         * menubar-msw.c (mswindows_free_frame_menubars):
9560         * menubar-msw.c (mswindows_popup_menu):
9561         Fixed a bug in handling accelerators where an extra character
9562         would be displayed in the menu item.  Also generalized the
9563         function displayable_menu_item because it is now used by the
9564         dialog box code as well.  And finally, added code in the functions
9565         that create the menubar to extract a list of accelerators for the
9566         top level menubar, which is used in the event code to determine
9567         whether a particular alt-key combination should be used to invoke
9568         a menu item, or should be passed through to access the standard
9569         XEmacs keymap binding for this key combination.
9570
9571         Much needed GCPROing.
9572
9573         * menubar-x.c:
9574         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
9575         * menubar-x.c (menu_item_descriptor_to_widget_value):
9576         * menubar-x.c (restore_in_menu_callback):
9577         * menubar-x.c (x_popup_menu):
9578         * menubar-x.c (menu_move_up):
9579         * menubar-x.c (menu_move_down):
9580         * menubar-x.c (menu_move_left):
9581         * menubar-x.c (menu_move_right):
9582         * menubar-x.c (menu_select_item):
9583         * menubar-x.c (command_builder_operate_menu_accelerator):
9584         * menubar-x.c (menu_accelerator_junk_on_error):
9585         * menubar-x.c (command_builder_find_menu_accelerator):
9586         * menubar-x.c (Faccelerate_menu):
9587         * menubar.h:
9588         Moved a whole bunch of code here that was previously in
9589         event-stream.c as described above.  There is also code connected
9590         to the new standard of adding an accelerator to the beginning of
9591         menu items that don't have one as described above and below.
9592
9593         * menubar.c:
9594         * menubar.c (menu_parse_submenu_keywords):
9595         * menubar.c (Fmenu_find_real_submenu):
9596         * menubar.c (Fnormalize_menu_item_name):
9597         * menubar.c (syms_of_menubar):
9598         * menubar.c (vars_of_menubar):
9599         * menubar.c (complex_vars_of_menubar):
9600
9601         a) Cleaned up a bunch of documentation and improved it.
9602
9603         b) XEmacs now automatically adds an accelerator onto the beginning
9604         of any menu items that don't have one.  I did this because there
9605         will inevitably be some menu items on the main menubar that don't
9606         have accelerators on them because the package that adds that
9607         particular menu item hasn't yet been fixed up to have accelerators
9608         in them and it looked rather strange to have some items with and
9609         some items without accelerators, especially since even in items
9610         without accelerators, you can, at least under windows, still
9611         access the item through an accelerator corresponding to the first
9612         character in the item's name.  If people don't like this behavior,
9613         I can add a variable to turn it off optionally, but I'm not sure
9614         this is a good idea because we really do need to have accelerators
9615         on all of the menu items, and if a package doesn't like the
9616         accelerators being put on the first character, then it should put
9617         the accelerators where they belong.
9618
9619         c) I made a behavior change, which is that the descriptor that
9620         specifies the text of the menu item, which formerly was just a
9621         string, can now also be an evaluated expression.  This makes this
9622         descriptor parallel with all of the others, which could also be
9623         evaluated expressions.  This also obviates the need for the
9624         keyword :label, which was previously listed in the documentation
9625         as unimplemented, and which was for the same purpose.
9626
9627         d) GCPROing.
9628
9629         * ntproc.c:
9630         * ntproc.c (new_child):
9631         * ntproc.c (sys_spawnve):
9632         * ntproc.c (find_child_console):
9633         * ntproc.c (sys_kill):
9634         Fixed compile warnings.  By the way, this file should really go
9635         away entirely, and this will happen as soon as Kirill makes his
9636         final round of process cleanups, which affect the function
9637         call-process.
9638
9639         * process-nt.c:
9640         * process-nt.c (struct nt_process_data):
9641         * process-nt.c (find_process_from_pid):
9642         * process-nt.c (send_signal_the_nt_way):
9643         * process-nt.c (enable_child_signals):
9644         * process-nt.c (find_child_console):
9645         * process-nt.c (send_signal_the_95_way):
9646         * process-nt.c (nt_finalize_process_data):
9647         * process-nt.c (ensure_console_window_exists):
9648         * process-nt.c (nt_create_process):
9649         * process-nt.c (nt_kill_child_process):
9650         * process-nt.c (nt_kill_process_by_pid):
9651         * process-nt.c (nt_open_network_stream):
9652         * process-nt.c (vars_of_process_nt):
9653         Copied over code from Emacs 20.5 to correctly send signals to sub-
9654         processes under Windows 95.  Also added code to automatically
9655         create and hide console window when a sub-process is created under
9656         Windows 95, which obviates the need for the separate runemacs.exe
9657         executable, and finally implemented some variables that were
9658         implemented in Emacs 20.5, but previously not in XEmacs.  These
9659         include mswindows- start-process-share-console and
9660         mswindows-start-process-inherit-error-mode. (Both of these only
9661         apply to Windows 95.)
9662
9663         * regex.c (regex_compile): Fixed a compile warning.
9664
9665         * select-msw.c:
9666         * select-msw.c (mswindows_own_selection):
9667         * select-msw.c (mswindows_get_foreign_selection):
9668         * select-msw.c (mswindows_disown_selection):
9669         * select-msw.c (console_type_create_select_mswindows):
9670         * select-msw.c (syms_of_select_mswindows):
9671         Cleaned up the file and implemented the device method
9672         selection_exists_p, which had accidentally been left out.  Also
9673         removed four lisp functions that were remnants from before the
9674         time when the selection code was properly device abstracted.
9675         These functions are no longer needed because there are generic
9676         equivalents, and because they were added recently and don't exist
9677         in FSF Emacs, I don't think there's any problem with just deleting
9678         them.
9679
9680         * sysdep.c:
9681         * sysdep.c (sys_subshell):
9682         Fixed a compile warning, although in this case there's probably
9683         something wrong with this code, and it ought to be looked into
9684         more thoroughly by somebody who understands it.
9685
9686         * window.c:
9687         * window.c (Fwindow_text_area_height):
9688         * window.c (Fwindow_width):
9689         * window.c (Fwindow_full_width):
9690         * window.c (Fwindow_pixel_width):
9691         * window.c (debug_print_window):
9692         * window.c (syms_of_window):
9693         Added functions window-text-area-height and window-full-width,
9694         which are functions for returning various width and height
9695         characteristics of a window. (One of these functions is necessary
9696         for making the file dialog box work correctly, and the other one
9697         was added for completeness.)  Also added a table to the
9698         documentation for window-height which describes the entire scheme
9699         for accessing width and height characteristics of a window.
9700
9701 2000-03-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
9702
9703         * nt.c (fstat): Added a comment for another problem with
9704         non-encapsulated [f]stat(), reported by Adrian Aichner
9705         <aichner@ecf.teradyne.com>.
9706
9707 2000-03-11  Andy Piper  <andy@xemacs.org>
9708
9709         * window.c (make_dummy_parent): initialize subwindow instance
9710         cache.
9711         (Fset_window_configuration): zero extent_modiff.
9712
9713 2000-03-10  Andy Piper  <andy@xemacs.org>
9714
9715         * redisplay.c (Fredraw_frame): reset the changed_set flags so that
9716         more changes can be triggered.
9717         (Fredisplay_frame): ditto.
9718         (Fredraw_device): ditto.
9719         (Fredisplay_device): ditto.
9720         (redisplay_frame): make non-static.
9721         (redisplay_frame): call update_frame_gutter_geometry outside of
9722         display proper.
9723
9724         * gutter.h: declare update_frame_gutter_geometry.
9725
9726         * redisplay.h: declare redisplay_frame.
9727
9728         * gutter.c (update_frame_gutter_geometry): move geometry changes
9729         in update_frame_gutters here. Geometry changes can only occur
9730         outside of redisplay.
9731         (update_frame_gutters): remove geometry change code.
9732         (Fredisplay_gutter_area): make sure that we are in display when we
9733         update and that we have flushed any size changes.
9734
9735 2000-03-11  Andy Piper  <andy@xemacs.org>
9736
9737         * alloc.c (pdump_dump_data): remove i & count shadows.
9738
9739 2000-02-27  Mike Alexander  <mta@arbortext.com>
9740
9741         * sysdep.h: Declare pdump_read_file
9742
9743         * sysdep.c (pdump_read_file): New function
9744
9745         * alloc.c (pdump_load): Call pdump_read_file to get the portable
9746         dump data
9747
9748 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
9749
9750         * lrecord.h: add `lrecord_type_pgsetenv'.
9751
9752 2000-03-08  SL Baur  <steve@musashimaru.m17n.org>
9753
9754         * symsinit.h: declare (vars|syms)_of* functions.
9755         * lrecord.h: add `lrecord_type_pgconn' and 'lrecord_type_pgresult'.
9756
9757 2000-03-06  SL Baur  <steve@musashimaru.m17n.org>
9758
9759         * config.h.in: Add symbols HAVE_POSTGRESQL and HAVE_POSTGRESQLV7
9760
9761         * inline.c: Include postgresql.h lrecord stuffs to placate buggy
9762         GCCs.
9763
9764         * emacs.c (main_1): Call postgres initialization code.
9765
9766         * postgresql.h: New file.  PostgreSQL RDBMS support.
9767         * postgresql.c: New file.
9768
9769 2000-03-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
9770
9771         * redisplay-output.c (redisplay_output_display_block): Disable
9772         redundant code.
9773
9774 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
9775
9776         * mule-canna.c (Fcanna_henkan_region): Translate doc-string.
9777         (Fcanna_henkan_next): Ditto.
9778         (Fcanna_bunsetu_henkou): Ditto.
9779         (Fcanna_henkan_kakutei): Ditto.
9780         (Fcanna_henkan_end): Ditto.
9781         (Fcanna_henkan_quit): Ditto.
9782         (Fcanna_henkan_next): Set retun value correctly.
9783         (c2mu): Use unsigned char instead of signed char.
9784
9785 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
9786
9787         * emacs.c (main_1): Always call syms_of_gui.
9788         * inline.c: include gui.h
9789
9790 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
9791
9792         * redisplay.c (Vvisible_bell): Renamed from visible_bell and
9793         converted to Lisp_Object.
9794         (Qtop_bottom): New variable.
9795         (syms_of_redisplay): Initialize it.
9796         * redisplay.h (Vvisible_bell): Ditto.
9797         * sound.c (ding): Ditto and check if Vvisible_bell is nil.
9798         * redisplay-x.c (x_flash): When Vvisible_bell is top-bottom,
9799         only flash top and bottom.
9800
9801 2000-03-08  Andy Piper  <andy@xemacs.org>
9802
9803         * buffer.c (Frename_buffer): record new buffer name the right way.
9804
9805 2000-03-08  Andy Piper  <andy@xemacs.org>
9806
9807         * glyphs.c (update_subwindow): increase hash depth so that widget
9808         items get picked up properly.
9809
9810         * redisplay-output.c (compare_runes): increase hash depth so that
9811         widget items get picked up properly.
9812
9813 2000-03-08  Andy Piper  <andy@xemacs.org>
9814
9815         * gutter.c (output_gutter): add some debug.
9816
9817         * glyphs.h (struct Lisp_Image_Instance): add display_hash.
9818         (IMAGE_INSTANCE_DISPLAY_HASH): new macro.
9819         (XIMAGE_INSTANCE_DISPLAY_HASH): ditto.
9820
9821         * redisplay-output.c (compare_runes): use display_hash to
9822         determine if glyphs really are not the same.
9823
9824         * glyphs.c (update_subwindow): check display_hash to see if
9825         anything really needs to be updated. If not then do
9826         nothing. Record the display_hash after updating.
9827         (image_instance_equal): compare the image_instance face also.
9828
9829 2000-03-07  Yoshiki Hayashi  <yoshiki@xemacs.org>
9830
9831         * redisplay.h: Fix comment style.
9832
9833 2000-03-08  Jonathan Harris  <jhar@tardis.ed.ac.uk>
9834
9835         * consle-msw.h (struct mswindows_frame):
9836         Added new member paint_pending to indicate whether a WM_PAINT
9837         magic event has been queued for this frame.
9838
9839         * event-msw.c (mswindows_drain_windows_queue):
9840         Don't queue a WM_PAINT magic event if one is already queued.
9841         (emacs_mswindows_handle_magic_event): clear paint_pending flag.
9842
9843         * frame-msw.c (mswindows_init_frame_1): initialise paint_pending flag.
9844
9845 2000-03-07  Didier Verna  <didier@xemacs.org>
9846
9847         * dired.c: #include `regex.h' after `sysfile.h'.
9848
9849 2000-03-06  Martin Buchholz  <martin@xemacs.org>
9850
9851         * sound.c (init_nas_sound): Fix compiler warning.
9852
9853         * alloc.c (ALIASING_VOIDPP_DEREFERENCE): New.
9854         (FREE_STRUCT_P):
9855         (MARK_STRUCT_AS_FREE):
9856         (MARK_STRUCT_AS_NOT_FREE):
9857         Make `gcc -fstrict-aliasing' work properly.
9858
9859 2000-03-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>
9860
9861         * device-msw.c (mswindows_finish_init_device): Call CoInitialize().
9862         (mswindows_delete_device): Call CoUnnitialize().
9863
9864         * event-msw.c (mswindows_wnd_proc): WM_DROPFILES: Decode Shortcuts.
9865
9866 2000-02-25    <CraigL@DyCon.com>
9867
9868         * process-nt.c: MinGW now has <shellapi.h>, but still needs
9869         <errno.h>.
9870
9871         * sysdep.c: This extern declaration for environ prevents MinGW
9872         from finding the variable in CRTDLL.DLL.
9873
9874         * s\mingw32.h (PBS_SMOOTH): Removed, now defined in cygwin's
9875         windows headers.
9876         (SHGFI_EXETYPE): ..
9877         (WM_MOUSEWHEEL): ..
9878         (_WIN32_IE): Added, needed to get the TCS_BOTTOM and TCS_VERTICAL
9879         definitions.
9880         (MMRESULT): Removed, now defined in cygwin's windows headers.
9881         (TIMECAPS): ..
9882         (uid_t,gid_t,pid_t,ssize_t): ..
9883         (_timeb): Removed, MinGW defines both _timeb and timeb.
9884         (HAVE_H_ERRNO): Added.
9885         (HAVE_TZNAME): Added, configure is not detecting this.
9886
9887 2000-02-03  IKEYAMA Tomonori <tomonori@suiyokai.org>
9888
9889         * chartab.h (XCHAR_TABLE_VALUE_UNSAFE): New macro.
9890         * syntax.c (syntax_match): Use it.
9891
9892         * cmds.c: Import auto-fill-chars from FSF Emacs.
9893         (Vauto_fill_chars): New variables.
9894         (internal_self_insert): Check Vauto_fill_chars.
9895         (vars_of_cmds):
9896         Declare auto-fill-chars as a Lisp variable and initialize it.
9897
9898 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
9899
9900         * fileio.c (Fmake_symbolic_link):
9901         (Ffile_symlink_p):
9902         Run handlers even if local machine doesn't have symlinks.
9903
9904 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
9905
9906         * event-msw.c (mswindows_drain_windows_queue):
9907         Don't generate paint magic events for non-XEmacs frames.
9908
9909 2000-03-05  Andy Piper  <andy@xemacs.org>
9910
9911         * redisplay.c (redisplay_frame): generate_displayable_area and
9912         friends assumes that we are not in GC, we therefore have to make
9913         sure that this doesn't happen.
9914
9915         * gutter.c (calculate_gutter_size): generate_displayable_area
9916         assumes that we are not in GC, we therefore have to make sure that
9917         this doesn't happen.
9918
9919 2000-03-05  Martin Buchholz  <martin@xemacs.org>
9920
9921         * opaque.c (DEFINE_LRECORD_IMPLEMENTATION): opaque_ptr ==> opaque-ptr
9922
9923 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
9924
9925         * redisplay.c (regenerate_window): Make sure we set a sane value
9926         for end_pos even if we jump out of the loop.
9927         (regenerate_window): Answer Ben's question :-).
9928         (start_end_of_last_line): Add may_error argument.
9929         (start_of_last_line):
9930         (end_of_last_line): Pass may_error = 0.
9931         (end_of_last_line_may_error): New function.
9932         (pixel_to_glyph_translation): Use it, so we don't crash in
9933         event_to_glyph.
9934
9935 2000-03-04  Andy Piper  <andy@xemacs.org>
9936
9937         * window.h (struct window): add gutter_extent_modiff.
9938
9939         * window.c (allocate_window): zero out gutter_extent_modiff.
9940
9941         * redisplay.h: declare sync_display_line_structs.
9942
9943         * redisplay.c (add_glyph_rune): add a better comment.
9944
9945         * redisplay-output.c (sync_display_line_structs): made non-static.
9946         (compare_runes): remove unneccesary glyph cachel access.
9947
9948         * gutter.h: declare gutter_extent_signal_changed_region_maybe.
9949
9950         * gutter.c (output_gutter): don't output the gutter if extent
9951         changes only involve extents in buffers. use 4 sets of display
9952         lines.
9953         (gutter_extent_signal_changed_region_maybe): new function. Mark
9954         extents in gutters as changed.
9955         (update_frame_gutters): use 4 sets of display lines.
9956         (reset_gutter_display_lines): ditto.
9957         (free_frame_gutters): ditto.
9958         (redraw_exposed_gutter): force output of gutters.
9959
9960         * frame.h (struct frame): add 4 sets of gutter display lines.
9961
9962         * extents.c: (extent_changed_for_redisplay): signal changes to
9963         extents in strings in the gutter as well as extents in buffers.
9964
9965 2000-03-02  Andy Piper  <andy@xemacs.org>
9966
9967         * gutter.c (specifier_vars_of_gutter): cosmetic changes.
9968
9969         * frame.c (Fmake_frame): make sure the gutters get initialized
9970         after the frame is visible.
9971         (set_frame_selected_window): re-arrange compilation macros a
9972         little.
9973         (change_frame_size_1): mark gutters changed.
9974
9975         * device.c (Fset_device_class): mark gutters changed.
9976
9977 2000-03-01  Andy Piper  <andy@xemacs.org>
9978
9979         * window.c (window_top_frame_gutter_height): deleted.
9980         (window_bottom_frame_gutter_height): ditto.
9981         (window_left_frame_gutter_height): ditto.
9982         (window_right_frame_gutter_height): ditto.
9983         (window_top_gutter_height): don't use them.
9984         (window_bottom_gutter_height): ditto.
9985         (window_left_gutter_width): ditto.
9986         (window_right_gutter_width): ditto.
9987         (Fsplit_window): ditto.
9988         (Fwindow_pixel_edges): don't use border dimensions here.
9989
9990         * scrollbar.c (update_scrollbar_instance): don't take gutters into account.
9991         (update_scrollbar_instance): ditto.
9992
9993         * redisplay.c (generate_modeline): don't take gutters into account.
9994         (generate_modeline): ditto.
9995         (redisplay_frame): small gutter display optimization.
9996
9997         * redisplay-x.c (x_output_vertical_divider): don't take gutters into account.
9998
9999         * redisplay-msw.c (mswindows_output_vertical_divider): don't take
10000         gutters into account.
10001
10002         * gutter.h (WINDOW_REAL_*_GUTTER_BOUNDS): remove bogus checks
10003         for window position and type.
10004
10005         * gutter.c (get_gutter_coords): fix for frame gutters.
10006         (update_frame_gutters): update frame geometry if the gutters have
10007         changed.
10008         (init_frame_gutters): record current gutter geometries.
10009
10010         * glyphs-msw.c (mswindows_subwindow_instantiate): remove unused
10011         var.
10012         (mswindows_widget_instantiate): ditto.
10013
10014         * frame.h (struct frame): add current_gutter_bounds.
10015
10016         * frame.c (change_frame_size_1): position window and minibuffer
10017         appropriately taking into account the frame gutters.
10018
10019         * frame-x.c: (x_initialize_frame_size): take into account the
10020         frame gutters.
10021
10022 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
10023
10024         * emacs.c (data-directory):  Xref `locate-data-file' in docstring.
10025
10026 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
10027
10028         * alloc.c (dumpopaquevec): Increase dimension for --with-canna.
10029
10030 1999-12-30  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
10031
10032         * file-coding.c (reset_decoding_stream): Clear previous
10033         detection state when autodetect.
10034
10035 2000-02-29  Didier Verna  <didier@xemacs.org>
10036
10037         * extents.c (set_extent_glyph_1): don't require extents to be
10038         attached.
10039
10040 2000-02-27  Andy Piper  <andy@xemacs.org>
10041
10042         * gutter.c (Fset_default_gutter_position): don't default left and
10043         right gutter visibility to t.
10044         (Fset_default_gutter_position): run
10045         default-gutter-position-changed-hook.
10046         (syms_of_gutter): add default-gutter-position-changed-hook.
10047
10048 2000-02-26  Andy Piper  <andy@xemacs.org>
10049
10050         * specifier.c (Fmake_specifier): add gutter references.
10051
10052         * gutter.h (RAW_WINDOW_GUTTER): new macro.
10053
10054         * lisp.h: declare Fvalid_plist_p.
10055
10056         * gutter.c (gutter_geometry_changed_in_window): mark the modeline
10057         as changed.
10058         (default_gutter_visible_p_changed_in_window): invalidate gutter as
10059         well as its visibility so that it gets reconstructed.
10060         (construct_window_gutter_spec): new function. Construct a string
10061         to be displayed in the gutter from a plist of strings. Take care
10062         to only use elements that are declared as visible.
10063         (calculate_gutter_size): use RAW_WINDOW_GUTTER instead of
10064         WINDOW_GUTTER.
10065         (gutter_validate): allow plists of strings in the specifier.
10066         (gutter_specs_changed): construct the real_gutter from the gutter
10067         specs using construct_window_gutter_spec.
10068         (gutter_visible_validate): gutter-visible is a new specifier type.
10069         (Fgutter_visible_specifier_p): new function for the new specifier.
10070         (syms_of_gutter): declare gutter-visible and
10071         Fgutter_visible_specifier_p.
10072         (specifier_type_create_gutter): intitalize new gutter-visible
10073         specifier.
10074         (reinit_specifier_type_create_gutter): ditto.
10075         (specifier_vars_of_gutter): use new specifier type for gutter
10076         visibility.
10077         (init_frame_gutters): construct real_gutter correctly.
10078         (Fgutter_specifier_p): beef up documentation.
10079         (Fgutter_size_specifier_p): ditto.
10080
10081         * winslots.h: add real_gutter slots.
10082
10083 2000-02-25  Andy Piper  <andy@xemacs.org>
10084
10085         * device-msw.c: Be kind to older cygwin versions. From Raymond
10086         Toy <toy@rtp.ericsson.se>.
10087
10088         * gui-msw.c (Fmswindows_shell_execute): Remove things unknown to
10089         earlier cygwins. From Raymond Toy <toy@rtp.ericsson.se>.
10090
10091 2000-02-25  Martin Buchholz  <martin@xemacs.org>
10092
10093         * elhash.c (MARK_OBJ): Practice macro hygiene.
10094
10095 2000-02-24  Martin Buchholz  <martin@xemacs.org>
10096
10097         * miscplay.c: s/__inline__/inline/g;
10098         * glyphs-msw.c (set_mono_pixel): INLINE ==> static inline
10099         (get_device_compdc): INLINE ==> static inline
10100         * *.[ch]: Change INLINE to INLINE_HEADER globally.
10101         find -name '*.h' | \
10102         xargs global-replace \
10103         's/(^|(?<=[^A-Za-z0-9_]))INLINE((?=[^A-Za-z0-9_])|$)/INLINE_HEADER/g'
10104
10105 2000-02-25  Andy Piper  <andy@xemacs.org>
10106
10107         * window.c (window_top_frame_gutter_height): new function.
10108         (window_top_window_gutter_height): ditto.
10109         (window_top_gutter_height): use them.
10110         (window_bottom_frame_gutter_height): new function.
10111         (window_bottom_window_gutter_height): ditto.
10112         (window_bottom_gutter_height): use them.
10113         (window_left_window_gutter_width): new function.
10114         (window_left_frame_gutter_width): ditto.
10115         (window_left_gutter_width): use them.
10116         (window_right_window_gutter_width): new function.
10117         (window_right_frame_gutter_width): ditto.
10118         (window_right_gutter_width): use them.
10119         (window_pixel_height): new function. calulate window pixel height
10120         with frame gutter involvement.
10121         (Fsplit_window): calculate new sizes taking frame gutters into
10122         account.
10123         (window_char_height_to_pixel_height): don't include frame gutters.
10124         (window_char_height): use window_pixel_height.
10125         (window_pixheight): rename from window_pixel_height.
10126         (change_window_height): use it.
10127         (window_pixel_height_to_char_height): don't include frame gutters.
10128         (window_char_width_to_pixel_width): ditto.
10129
10130 2000-02-25  Andy Piper  <andy@xemacs.org>
10131
10132         * glyphs.h (IMAGE_INSTANCE_FACE): glyph might be nil, don't crash
10133         if it is.
10134
10135 2000-02-24  Martin Buchholz  <martin@xemacs.org>
10136
10137         * alloc.c (staticpro):
10138         (staticpro_nodump):
10139         (dumpstruct):
10140         (dumpopaque):
10141         (pdump_wire):
10142         (pdump_wire_list):
10143         (compact_string_chars):
10144         (pdump_dump_wired):
10145         Convert:  if (foo) abort();  ==>  assert (! foo);
10146
10147         * eldap.c (Fldap_search_basic):
10148         (Fldap_add):
10149         (Fldap_modify):
10150         (Fldap_delete):
10151         Fix compiler warnings, and possible crashes if (random) return
10152         value were to be used.
10153
10154 2000-02-21  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10155
10156         * device-msw.c: Workaround ResetDC failure.
10157
10158         * frame-msw.c (msprinter_init_frame_3): Added an assertion before
10159         applying a devmode.
10160
10161         * redisplay-msw.c (get_frame_dc): Added start_page_p.
10162         (mswindows_text_width): Do not start printer page.
10163
10164         * console-msw.h (CHECK_MSGDI_DEVICE): Added this and friends.
10165
10166         * glyphs-msw.c: Added image methods to msprinter console and
10167         msprinter-specific image instantiation.
10168
10169 2000-02-20  Mike Alexander  <mta@arbortext.com>
10170
10171         * select-msw.c (Fmswindows_set_clipboard): GC protect more things
10172         to avoid crashes when selection-sets-clipboard is on
10173         (mswindows_own_selection): ditto
10174
10175 2000-02-19  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10176
10177         * glyphs-msw.c:
10178         * redisplay-msw.c (get_frame_dc):
10179         (get_frame_compdc):
10180         * console-msw.h:
10181         * device-msw.c (mswindows_init_device):
10182         (mswindows_delete_device):
10183         (msprinter_init_device):
10184         (msprinter_delete_device):
10185         * frame-msw.c (mswindows_init_frame_1):
10186         (mswindows_delete_frame):
10187         (msprinter_init_frame_3):
10188         (msprinter_delete_frame): Move compatible DC to device object from
10189         frame object, for both mswindows and msprinter. Only one at a time
10190         is needed, it is a real waste to have one per frame!
10191
10192 2000-02-23  Andy Piper  <andy@xemacs.org>
10193
10194         * glyphs.c: add dynamic width and height elements.
10195         (image_instance_equal): ditto.
10196
10197         * glyphs-widget.c (widget_query_geometry): calculate width and
10198         height dynamically if required.
10199         (initialize_widget_image_instance): initialize dynamic dimensions.
10200         (widget_instantiate): pick-up dynamic dimensions.
10201
10202         * glyphs.h (struct Lisp_Image_Instance): add width and height for
10203         dynamic determination. Add appropriate macros.
10204
10205         * gutter.h (WINDOW_GUTTER_BORDER_WIDTH): make non-integer
10206         dimensions safe.
10207         (WINDOW_GUTTER_SIZE): ditto.
10208         (WINDOW_GUTTER_SIZE_INTERNAL): ditto.
10209
10210         * redisplay-msw.c (get_frame_compdc): gcc can't cope with this
10211         inline.
10212         (get_frame_dc): ditto.
10213
10214         * redisplay.h (GLOBAL_RESET_CHANGED_FLAGS): don't reset faces
10215         here.
10216
10217 2000-02-23  Martin Buchholz <martin@xemacs.org>
10218
10219         * XEmacs 21.2.31 is released.
10220
10221 2000-02-22  Ben Wing <ben@xemacs.org>
10222
10223         * ntheap.c (allocate_heap): Make sure `ptr' is initialized.
10224
10225 2000-02-22  Andy Piper  <andy@xemacs.org>
10226
10227         * glyphs-x.c (x_widget_instantiate): don't explicitly resize here.
10228
10229 2000-02-21  Mike Sperber <mike@xemacs.org>
10230
10231         * .dbxrc:
10232         * .gdbinit:
10233         * Makefile.in.in: Remove obsolete EMACSBOOTSTRAP... environment
10234         variables.
10235
10236 2000-02-21  Mike Sperber <mike@xemacs.org>
10237
10238         * s/aix4.h: Declare getaddrinfo broken for AIX 4, which it is.
10239
10240 2000-02-21  Martin Buchholz <martin@xemacs.org>
10241
10242         * XEmacs 21.2.30 is released.
10243
10244 2000-02-20  Martin Buchholz  <martin@xemacs.org>
10245
10246         Performance hacking.
10247         * *.c (syms_of_*):
10248         Add INIT_LRECORD_IMPLEMENTATION macros, paired with
10249         DEFINE_LRECORD_IMPLEMENTATION macros in the same file.
10250         * emacs.c (main_1):
10251         * lisp.h (DEFUN):
10252         * console.c (DEFVAR_CONSOLE_LOCAL_1):
10253         * buffer.c (DEFVAR_BUFFER_LOCAL_1):
10254         * symeval.h (DEFVAR_SYMVAL_FWD):
10255         * symbols.c (guts_of_unbound_marker):
10256         Make all c_readonly objects also lisp_readonly and marked for life.
10257         * lrecord.h (struct lrecord_implementation):
10258         Document flags better.
10259         * lrecord.h (DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION_WITH_PROPS):
10260         * lrecord.h (DECLARE_LRECORD):
10261         * lrecord.h (XSETRECORD):
10262         * lrecord.h (RECORDP):
10263         * lrecord.h (RECORD_TYPEP):
10264         * lrecord.h (RECORD_MARKER): New.
10265         * lrecord.h (error_check_*):
10266         * lrecord.h (CONCHECK_NONRECORD):
10267         * lrecord.h (MAKE_LRECORD_IMPLEMENTATION):
10268         * lrecord.h (INIT_LRECORD_IMPLEMENTATION): New.
10269         * lrecord.h (set_lheader_implementation):
10270         * lrecord.h (enum lrecord_type): New.
10271         * symeval.h (SYMBOL_VALUE_MAGIC_P):
10272         * alloc.c (disksave_object_finalization_1):
10273         * alloc.c (mark_object):
10274         * alloc.c (lrecord_type_index):
10275         * alloc.c (tick_lcrecord_stats):
10276         * alloc.c (Fgarbage_collect):
10277         * alloc.c (init_alloc_once_early):
10278         * alloc.c (pdump_load):
10279         * alloc.c (GC_CHECK_LHEADER_INVARIANTS): New.
10280         * alloc.c (lrecord_type_index): Delete.
10281         Make lisp object type indexes be constant.
10282           Makes (byte-compile) 5% faster.
10283         Put all marker functions into their own array.
10284           Makes (garbage-collect) 5% faster.
10285         Optimize SYMBOL_VALUE_MAGIC_P.
10286           Makes (byte-compile) 2-3% faster.
10287         * config.h.in (gc_checking_assert): New.
10288         * alloc.c: Use gc_checking_assert().
10289         * .dbxrc: Make compatible with new object type implementation.
10290         * .gdbinit: Make compatible with new object type implementation.
10291         * alloc.c: Delete all symbols defined only for debugging, such as
10292         Lisp_Type_Vector and lrecord_charset.
10293
10294 2000-02-21  Andy Piper  <andy@xemacs.org>
10295
10296         * gui-msw.c (Fmswindows_shell_execute): fix file location
10297         problems.
10298
10299         * buffer.c (Fkill_buffer): remove buffer from alist buffer
10300         unshowing so that set_window_buffer doesn't undo
10301         kill_buffer_hook's hard work.
10302
10303         * glyphs-widget.c (tab_control_query_geometry): don't count the
10304         first item when calculating geometry.
10305
10306         * glyphs.c (map_subwindow): remove redundant code.
10307         (update_frame_subwindows): be more circumspect about when to
10308         update subwindows.
10309
10310         * glyphs-x.c (x_update_widget): Properly fix sizing bug. Fix bug
10311         when items haven't changed. Update faces if faces have changed as
10312         well as just the widget face.
10313         (x_tab_control_update): Update faces if faces have changed as well
10314         as just the widget face.
10315
10316 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10317
10318         * device-msw.c: (mswindows_delete_device): Remove redundant DDE
10319         registration.
10320         (build_syscolor_string): Use mswindows_color_to_string to try to
10321         get a named color.
10322         (mswindows_device_system_metrics): Reverse the foreground and
10323         background colors so that they match the documentation.
10324
10325         * objects-msw.c: (mswindows_X_color_map): tweak some values so
10326         they match the default Windows palette.
10327         (mswindows_color_to_string): New function.
10328
10329 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10330
10331         * s/windowsnt.h: Only use __declspec(noreturn) with MSVC>=6.
10332
10333 2000-02-18  Olivier Galibert  <galibert@pobox.com>
10334
10335         * m/*, s/*: Removed obsolete DATA_SEG_BITS, PURE_SEG_BITS,
10336         WORD_MACHINE, SIGN_EXTEND_CHAR and EXPLICIT_SIGN_EXTEND.
10337
10338         * symbols.c (init_symbols_once_early): Removed obsolete
10339         DATA_SEG_BITS related kludge.
10340         (defvar_magic): Ditto.
10341
10342         * malloc.c: Removed obsolete DATA_SEG_BITS
10343         * ralloc.c: Ditto.
10344         * mem-limits.h: Ditto.
10345
10346         * Makefile.in.in: Removed obsolete HAVE_SHM
10347         * emacs.c: Ditto.
10348
10349 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10350
10351         *  device-msw.c (mswindows_delete_device): Free DDE string
10352         handles.
10353
10354 2000-02-16  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10355
10356         * keymap.c (get_keyelt):
10357         * unexnt.c (unexec):
10358         * vm-limit.c (memory_warnings):
10359         * ntheap.c (recreate_heap):
10360         * ntheap.h (UNINIT_PTR):
10361         * select-msw.c (Fmswindows_get_clipboard):
10362         (Fmswindows_set_clipboard):
10363         * objects-msw.h (MSWINDOWS_BAD_HFONT):
10364         * objects-msw.c:
10365         * menubar-msw.c (displayable_menu_item):
10366         * glyphs-msw.c:
10367         * glyphs-msw.h (IMAGE_INSTANCE_MSWINDOWS_MASK):
10368         * sysdep.c (sys_subshell):
10369         * process-nt.c (nt_create_process):
10370         * nt.c (normalize_filename):
10371         (dostounix_filename):
10372         (unixtodos_filename):
10373         * ntproc.c (win32_executable_type):
10374         * ntplay.c (play_sound_data_1):
10375         (play_sound_file):
10376         * editfns.c (get_home_directory):
10377         * event-msw.c (struct winsock_stream):
10378         (mswindows_dde_callback):
10379         * device-msw.c (msprinter_init_device):
10380         (msprinter_get_devmode_copy): Frobbed syntax frivolities.
10381
10382         * toolbar-msw.c (mswindows_free_frame_toolbars): Paramters to
10383         mswindows_clear_toolbar were swapped!
10384
10385         * objects-msw.c:(colormap_t):
10386         (fontmap_t):
10387         * emacs.c (struct standard_args): Fixed const jumble.
10388
10389         * glyphs-widget.c (update_widget): Fixed comparison notation.
10390
10391         * event-msw.c (mswindows_dde_callback): Removed extraneous ';'.
10392
10393         * s\windowsnt.h (DOESNT_RETURN): Defined to support the MSVC
10394         __declspec(noreturn) syntax.
10395
10396 2000-02-19  Martin Buchholz  <martin@xemacs.org>
10397
10398         * eldap.c (Fldap_open):
10399         (Fldap_search_basic):
10400         (Fldap_add):
10401         (Fldap_modify):
10402         Use new coding system conversion macros.
10403
10404 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
10405
10406         * console-tty.c (tty_init_console): Change MULE to FILE_CODING.
10407
10408 1999-11-27  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
10409
10410         * eldap.h (Fldap_search) Renamed from Fldap_search_internal:
10411         (Fldap_add, Fldap_modify, Fldap_delete): New functions
10412
10413         * eldap.c (Qadd, Qreplace): New constant symbols
10414         (Fldap_open): Use the LDAP_OPT_RESTART option to avoid
10415         interruptions by XEmacs signals
10416         Remove unnecessary calls to slow_down_interrupts and
10417         speed_up_interrupts
10418         (Fldap_search_basic): Renamed from Fldap_search_internal
10419         Added new optional parameter VERBOSE that triggers the
10420         display of progress messages
10421         Remove unnecessary calls to slow_down_interrupts and
10422         speed_up_interrupts
10423         LDAP result code analysis rewritten
10424         (Fldap_add, Fldap_modify, Fldap_delete): New functions
10425         (syms_of_eldap): Define the new symbols and functions
10426
10427
10428 2000-02-17  Martin Buchholz  <martin@xemacs.org>
10429
10430         * realpath.c: Determine PATH_MAX maximally portably.
10431
10432         * insdel.c (bytecount_to_charcount): Optimize.
10433         The function used to be optimized for entirely ASCII sequences.
10434         Now it is optimized for successive characters from the same
10435         charset.  This also wins big for _mostly_ ASCII sequences.
10436
10437         * fileio.c (Ffile_truename): convert return from realpath() using
10438         Qfile_name, not Qbinary.  Fixes obvious bug with non-ASCII symlinks.
10439         - Rewrite GCPROing slightly.
10440
10441         * sysdep.c (sys_open): Do filename conversion, like all other
10442         sys_* functions.  Fixes bug:
10443         (let ((file-name-coding-system 'iso-8859-2))
10444            (write-region x y latin2-name))
10445         ==> writes filename using internal encoding.
10446
10447 2000-02-18  Martin Buchholz  <martin@xemacs.org>
10448
10449         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Turn on c_readonly. Always const.
10450         * console.c (DEFVAR_CONSOLE_LOCAL_1): Turn on c_readonly. Always const.
10451         * symeval.h (DEFVAR_SYMVAL_FWD): Turn on c_readonly. Always const.
10452         * eval.c (lrecord_subr): Remove this_one_is_unmarkable.
10453         * symbols.c (lrecord_symbol_value_forward): Remove this_one_is_unmarkable.
10454         * symbols.c (guts_of_unbound_marker): Turn on c_readonly.
10455         * lrecord.h (UNMARKABLE_LRECORD_HEADER_P): Delete.
10456         (CONST_IF_NOT_DEBUG): Delete.
10457         * alloc.c (this_one_is_unmarkable): Delete.
10458         (mark_object): Don't check for this_one_is_unmarkable. Use the
10459         c_readonly flag instead.
10460         * lisp.h (DEFUN): Define a Lisp_Subr as c_readonly.
10461
10462 2000-02-18  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10463
10464         * event-msw.c (mswindows_drain_windows_queue):
10465         (emacs_mswindows_handle_magic_event): Remove attempt to optimise
10466         away redundant repaint events.
10467
10468 2000-02-17  Andy Piper  <andy@xemacs.org>
10469
10470         * redisplay.h: declare mark_redisplay_structs.
10471
10472         * redisplay.c (redisplay_window):
10473         (redisplay_frame): don't check subwindows_state_changed.
10474         (mark_redisplay): mark gutters here.
10475
10476         * glyphs.c: (instantiate_image_instantiator): always layout if we
10477         haven't done so already.
10478         (allocate_image_instance): don't mark as dirty.
10479         (update_subwindow): bind inhibit_quit.
10480
10481         * gutter.c (mark_gutters): new function.
10482
10483         * glyphs-x.c (x_update_widget): Always resize to get round a
10484         widget bug.
10485
10486         * glyphs-msw.c (mswindows_tab_control_update): remove `;' that was
10487         breaking absolutely everything.
10488
10489         * gutter.h: declare mark_gutters.
10490
10491 2000-02-16  Martin Buchholz <martin@xemacs.org>
10492
10493         * XEmacs 21.2.29 is released.
10494
10495 2000-02-15  Olivier Galibert  <galibert@pobox.com>
10496
10497         * fns.c (size_bit_vector): Fix computation of the size.
10498
10499 2000-02-15  Martin Buchholz  <martin@xemacs.org>
10500
10501         * *.[ch]: Change CONST to const globally.
10502         find -name '*.[ch]' | \
10503         xargs global-replace \
10504         's/(^|(?<=[^A-Za-z0-9_]))CONST((?=[^A-Za-z0-9_])|$)/const/g'
10505         - Remove vestigial references to CONST_IS_LOSING
10506
10507 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10508
10509         * event-msw.c (mswindows_drain_windows_queue): Remove hack to
10510         bailout early on quit. Enqueue WM_PAINT events as XEmacs magic
10511         events instead of dispatching them directly.
10512         (mswindows_handle_paint): New function to do repainting.
10513         (mswindows_wnd_proc):
10514         (emacs_mswindows_handle_magic_event): Call above function.
10515
10516 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10517
10518         * objects-msw.c (mswindows_create_font_variant): Return the new
10519         font handle.
10520         (initialize_font_instance): Get font metrics from the underlined
10521         variant of the font to cope with the case where the underlined
10522         font has a bigger descent.
10523
10524 2000-02-08   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
10525
10526         * gui.c (gui_item_accelerator): Return the first underlined
10527         character in item name.
10528
10529 2000-02-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10530
10531         * lisp.h: Added Qprinter.
10532
10533         * general.c (syms_of_general): Initialized it.
10534
10535         * redisplay-msw.c (get_frame_dc): Conditionally start a new page.
10536         (get_frame_dc):
10537         (get_frame_compdc): Made inline.
10538
10539         * console.h (struct console_methods): Added eject_page method.
10540
10541         * frame.h: Added FRAME_DISPLAY_P and friends.
10542         Aligned backslahes in many macros in more readable fashion.
10543         Added page_number to struct frame, and an accessor macro
10544         for it.
10545
10546         * defice.h: Added DEVICE_DISPLAY_P and friends.
10547
10548         * device.c (Fdevice_printer_p): Used these.
10549
10550         * frame.c (allocate_frame_core): Initialize page number.
10551         (Fprint_job_page_number):
10552         (Fprint_job_eject_page): Implemented.
10553
10554         * frame-msw.c (msprinter_eject_page): Added method.
10555         (msprinter_start_page): Added.
10556
10557         * window.c (Fwindow_truncated_p): Fixed docstring.
10558         (Fwindow_last_line_visible_height): Implemented.
10559
10560 2000-02-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
10561
10562         * frame.c (change_frame_size_1): Undo 2000-02-03 change.
10563
10564 1999-12-20  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
10565
10566         * syntax.c (scan_words): Always advance at least one character.
10567
10568 2000-02-13  Andy Piper  <andy@xemacs.org>
10569
10570         * redisplay.c (add_glyph_rune): call get_glyph_cachel_index here
10571         to make sure the glyph is in the cachels.
10572
10573         * glyphs.h (struct Lisp_Image_Instance): make layout_changed a
10574         global image instance flag.
10575         (IMAGE_INSTANCE_NEEDS_LAYOUT): new macro.
10576         (XIMAGE_INSTANCE_NEEDS_LAYOUT): ditto.
10577
10578         * glyphs.c (allocate_image_instance): set dirty bits correctly.
10579         (Fset_image_instance_property): mark layout as changed.
10580         (invalidate_glyph_geometry_maybe): mark layout as changed.
10581         (glyph_width): use new NEEDS_LAYOUT macro.
10582         (glyph_ascent): ditto.
10583         (glyph_descent): ditto.
10584         (glyph_height): ditto.
10585         (image_instance_layout): mark layout as clean after laying out.
10586         (update_subwindow): don't mark layout as clean here.
10587
10588         * glyphs-x.h (IMAGE_INSTANCE_X_WIDGET_ID): undo C++ changes, they
10589         should no longer be needed.
10590
10591         * glyphs-x.c (x_update_widget): sanitize asserts.
10592         (x_finalize_image_instance): sanitize assignment to widgets.
10593
10594         * glyphs-widget.c (widget_instantiate): don't need to clear the
10595         layout flag here.
10596
10597 2000-02-13  Martin Buchholz  <martin@xemacs.org>
10598
10599         * sysdep.c (getcwd): Use standard prototype.
10600         * sysdep.h (getcwd): Use standard prototype.
10601
10602         * fns.c (Fsubseq): Change parameters to more natural ANSI Lisp
10603         (sequence, start, end).
10604         Remove redundant type checking.
10605         (Fmapconcat): Remove useless GCPRO, a wrong-headed attempt (in
10606         view of `caller-protects') to avoid a crash where the real fix was
10607         found elsewhere.
10608
10609 2000-02-12  Martin Buchholz  <martin@xemacs.org>
10610
10611         * glyphs-x.c (x_finalize_image_instance): Compile error fixes.
10612
10613         * s/sol2.h: Remove feature macro initialization.
10614
10615         * alloc.c (alloc_lcrecord): Add more type checking assertions.
10616         (vector_hash): New.  Code from internal_hash.
10617         * lrecord.h:
10618         Fix up allocation subsystem comments.
10619
10620         * config.h.in: Add __EXTENSIONS__ for Solaris.
10621
10622         * systime.h (EMACS_GETTIMEOFDAY): New.
10623         (EMACS_GET_TIME): Use EMACS_GETTIMEOFDAY.
10624         Remove Solaris-specific code.
10625         Use void* for the (ignored) second arg for gettimeofday().
10626
10627         * elhash.c (hash_table_hash): Implement it, finally.
10628         * elhash.c:  Use hashcode_t.
10629
10630         * linuxplay.c (sighandler): Fix prototypes to use SIGTYPE.
10631         * sunplay.c (sighandler): Fix prototype to use SIGTYPE.
10632
10633         * lisp.h (STRETCHY_STRUCT_SIZEOF): Delete.
10634         * fns.c (size_bit_vector):
10635         * alloc.c (size_vector):
10636         (make_vector_internal):
10637         (make_bit_vector_internal):
10638         (sweep_bit_vectors_1):
10639         Replace calls to STRETCHY_STRUCT_SIZEOF with offsetof expression.
10640
10641 2000-02-10  Martin Buchholz  <martin@xemacs.org>
10642
10643         * s/aix4.h: #define MAP_FAILED if sys/mman.h didn't.
10644         Include strings.h to avoid warnings for bzero and strcasecmp.
10645
10646 2000-02-10  Olivier Galibert  <galibert@pobox.com>
10647
10648         * alloc.c: Move STRETCHY_STRUCT_SIZEOF from here...
10649         * lisp.h (STRETCHY_STRUCT_SIZEOF): ...to here
10650
10651         * fns.c (size_bit_vector): New.  Declare bit vectors as a
10652         sequence.
10653
10654 2000-02-10  Olivier Galibert  <galibert@pobox.com>
10655
10656         * symeval.h (struct symbol_value_magic): Remove "next" kludge and
10657         use a value field instead.
10658         (symbol_value_forward_forward): Use value field.
10659         (DEFVAR_SYMVAL_FWD): Use value field.
10660         (DEFVAR_SYMVAL_FWD_INT): Added.  Dumps the int with dumpopaque.
10661         (DEFVAR_INT): Use DEFVAR_SYMVAL_FWD_INT.
10662         (DEFVAR_CONST_INT): Ditto.
10663         (DEFVAR_BOOL): Ditto.
10664         (DEFVAR_CONST_BOOL): Ditto.
10665         (DEFVAR_INT_MAGIC): Ditto.
10666         (DEFVAR_BOOL_MAGIC): Ditto.
10667
10668         * symbols.c (guts_of_unbound_marker): Use value field.
10669         * console.c (DEFVAR_CONSOLE_LOCAL_1): Ditto.
10670         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Ditto.
10671
10672         * lisp.h: Declare dumpopaque and noninteractive1.
10673
10674         * alloc.c (dumpopaque): Added.
10675         (pdump_dump_opaquevec): Added.
10676         (pdump): Call pdump_dump_opaquevec to dump opaque data.
10677         (pdump_load): Reload opaque data.  Sync noninteractive1 with
10678         noninteractive.
10679
10680 2000-02-10  Andy Piper  <andy@xemacs.org>
10681
10682         * glyphs.c (image_instance_layout): if the size changes, mark it
10683         as such.
10684
10685         * redisplay-output.c (redisplay_output_layout): Update the
10686         subwindow here.
10687         (redisplay_output_subwindow): ditto.
10688
10689         * glyphs.c (update_subwindow): make sure we reset flags for
10690         layouts as well as everything else.
10691
10692         * glyphs-widget.c (layout_layout): don't need to set the instances
10693         dimensions here.
10694
10695 2000-02-09  Martin Buchholz  <martin@xemacs.org>
10696
10697         * device-x.c (x_init_device): Wrap calls to dll_*  in HAVE_SHLIB,
10698         not HAVE_DLOPEN, which is a lower-level thing.
10699
10700         * .cvsignore: Ignore gmon.out
10701
10702 2000-02-09  Hamish Macdonald <hamishm@lucent.com>
10703
10704         * .cvsignore: Ignore portable dumper xemacs.dmp file
10705
10706 2000-02-09  Andy Piper  <andy@xemacs.org>
10707
10708         * redisplay-output.c (redisplay_output_layout): be more clever
10709         about when we output based on the changed flags.
10710
10711         * glyphs.h (struct image_instantiator_methods): add update_method.
10712         (struct Lisp_Image_Instance): add changed flags. Declare new
10713         macros for manipulating them.
10714
10715         * glyphs.c (allocate_image_instance): renamed glyph -> parent.
10716         (image_instance_parent_glyph): find an image_instance's parent
10717         glyph or image_instance.
10718         (image_instance_layout): mark the size as changed.
10719         (set_image_instance_dirty_p): new function. mark an image
10720         instance, plus all of its parents, as dirty.
10721         (Fset_image_instance_property): use it.
10722         (Fglyph_animated_timeout_handler): use it.
10723         (update_subwindow): call update_widget and device methods for
10724         update_subwindow. Mark all changed flags as clean.
10725         (Fresize_subwindow): mark size as changed.
10726
10727         * glyphs-x.c (x_finalize_image_instance): try and detect gc
10728         failures.
10729         (x_update_subwindow): only resize subwindows here.
10730         (x_update_widget): new function. Update all changed properties of
10731         a widget.
10732         (x_resize_subwindow): deleted.
10733         (x_widget_set_property): deleted.
10734         (x_progress_gauge_set_property): deleted.
10735         (x_progress_gauge_update): new function. Implement recorded
10736         changes.
10737         (x_tab_control_update): ditto.
10738         (x_tab_control_set_property): deleted.
10739         (console_type_create_glyphs_x): declare new functions.
10740         (image_instantiator_format_create_glyphs_x): ditto.
10741
10742         * glyphs-widget.c (widget_set_property): mark text changed.
10743         (update_widget): new function. Update properties of a widget.
10744         (widget_instantiate): for layouts make sure we set their
10745         children's parent correctly.
10746         (tab_control_set_property): new function. Record changes that will
10747         take place under redisplay's control.
10748         (progress_gauge_set_property): ditto.
10749         (image_instantiator_progress_guage): declare new functions.
10750         (image_instantiator_tab_control): ditto.
10751
10752         * glyphs-msw.c (mswindows_update_subwindow): just do resizing here
10753         now.
10754         (mswindows_update_widget): new function. Update all properties on
10755         a widget that have changed.
10756         (mswindows_button_update): new function. Update a button's set
10757         state.
10758         (mswindows_tab_control_update): new function. Update the items in
10759         a tab.
10760         (mswindows_tab_control_set_property): deleted.
10761         (mswindows_progress_gauge_update): new function. Update the
10762         progress gauge's progress.
10763         (mswindows_widget_set_property): deleted. This is all done
10764         asynchronously now.
10765         (mswindows_progress_gauge_set_property): ditto.
10766         (console_type_create_glyphs_mswindows): declare new methods.
10767         (image_instantiator_format_create_glyphs_mswindows): ditto.
10768
10769         * frame-msw.c (msprinter_init_frame_1): Remove unused variables.
10770         (msprinter_set_frame_properties): ditto.
10771
10772         * console.h (struct console_methods): Add update_widget_method.
10773
10774 2000-02-09  Andy Piper  <andy@xemacs.org>
10775
10776         * gui-msw.c (Fmswindows_shell_execute): Make
10777         mswindows-shell-execute industrial strength.
10778
10779 2000-02-08  Martin Buchholz  <martin@xemacs.org>
10780
10781         * lrecord.h: Make macro argument `props' match member function `plist'.
10782         * fns.c (Fget):
10783         * fns.c (Fput):
10784         * fns.c (Fremprop):
10785         * fns.c (Fobject_plist):
10786         * alloc.c:
10787         * symbols.c:
10788         Object property list frobbing cleanup.
10789         - Allow any lisp object (compared with `eq'), not just symbols, as
10790           keys in object plists.
10791         - Move symbol plist frobbing into symbols.c, where it belongs.
10792         - Move string plist frobbing into alloc.c, where it belongs.
10793         - Everything's an lrecord now, so no need to test for symbolp, etc.
10794         - Fix up doc strings to refer to PROPERTY, not PROPNAME.
10795
10796         * extents.c: Reorder code to remove declarations.
10797
10798         * frame.h (store_in_alist): Remove useless declaration.
10799
10800 2000-02-07  Martin Buchholz  <martin@xemacs.org>
10801
10802         * event-Xt.c (x_has_keysym): Use XConvertCase only if available.
10803         * config.h.in: Add HAVE_XCONVERTCASE.
10804
10805 2000-02-07  Andy Piper  <andy@xemacs.org>
10806
10807         * glyphs.c (image_instance_layout): undo 2000-01-29 change since
10808         it breaks many things.
10809
10810 2000-02-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
10811
10812         * src/syntax.h (SYNTAX_START_P): Check whether the two chars
10813         actually can start a common comment type.
10814         * src/syntax.h (SYNTAX_END_P): ditto for end.
10815
10816 2000-02-07  Martin Buchholz <martin@xemacs.org>
10817
10818         * XEmacs 21.2.28 is released.
10819
10820 2000-02-06  Martin Buchholz  <martin@xemacs.org>
10821
10822         * event-Xt.c (x_keysym_to_character): New.
10823         (maybe_define_x_key_as_self_inserting_character): New.
10824         (x_has_keysym): New.
10825         Auto-define all keys on the keyboard as self-insert-key.
10826
10827 2000-02-02  Martin Buchholz  <martin@xemacs.org>
10828
10829         * menubar.c (vars_of_menubar): A small code simplification.
10830
10831         * minibuf.c (echo_area_append): Workaround egcs-20000131 c++ compiler bug
10832
10833         * ExternalShell.c:
10834         * ExternalClient.c:
10835         * EmacsShell-sub.c:
10836         * EmacsManager.c:
10837         * EmacsFrame.c:
10838         Use consistent style for specifying X resources.
10839
10840         * symbols.c (Fset): Further implement SYMVAL_LISP_MAGIC.
10841         This makes (dontusethis-set-symbol-value-handler) actually usable.
10842
10843         * lrecord.h (lrecord_decription_type):
10844         * alloc.c (pdump_register_sub):
10845         (pdump_dump_data):
10846         (pdump_reloc_one):
10847         Add XD_LISP_OBJECT_ARRAY to describe multiple Lisp_Objects.
10848         Comply with XEmacs coding style.
10849         All lrecord descriptions updated to use XD_LISP_OBJECT with 2
10850         args, and XD_LISP_OBJECT_ARRAY with 3 args.
10851
10852         * keymap.c (Faccessible_keymaps):
10853         Make (accessible-keymaps map "\C-h") do the Right Thing.
10854         Make (accessible-keymaps map []) do the Right Thing.
10855         Make (accessible-keymaps map "") do the Right Thing.
10856         (check_keymap_definition_loop): New function.
10857         (keymap_store_internal): Keep luser from shooting self in foot,
10858           via (define-key ctl-x-4-map "p" global-map).
10859         Remove fullness slot from struct Lisp_Keymap, since hash tables
10860         are now reliable.
10861         (print_keymap): Remove 'Yuck' factor by simply printing "size %d".
10862
10863 2000-01-30  Martin Buchholz  <martin@xemacs.org>
10864
10865         * redisplay.c (init_redisplay): Fix small memory leak.
10866         * elhash.h:
10867         * elhash.c (pdump_reorganize_hash_table):
10868         Rename from reorganize_hash_table. Change prototype.
10869         Reuse the original memory for hentries.  Save 100k.
10870         * alloc.c (PDUMP_READ): new macro.
10871         * alloc.c (pdump_load): Replace LISP_TO_VOID with higher-level macros.
10872         * alloc.c: No need to #ifndef before #undef.
10873
10874         * print.c: Allow debug_print() to print readably by modifying
10875         debug_print_readably.  Use consistent variable names.
10876
10877         * .dbxrc: Try to get things to work even if stopped in a function
10878         without source available by explicitly specifying source files.
10879 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10880
10881         * unexnt.c (_start): Removed bogus code which caused loading heap
10882         from differrent executable file.
10883         Removed bogus assignment to _fmode, which caused inconsistencies.
10884
10885 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10886
10887         * s\windowsnt.h: Removed lots of #if 0 blocks of Emacs heritage.
10888         Have spawnve encapsulation regard DONT_ENCAPSULATE.
10889         Do not preliminary `#define signal sigset'.
10890
10891         * systime.h: Do not prototype environ on windows nt and cygwin,
10892         this conflicts with system header.
10893
10894         * syssignal.h: Use correct define for WINDOWSNT
10895
10896         * sysdep.h: Do not prototype environ on windows nt, this conflicts
10897         with system header.
10898
10899         * sysdep.c (near start of file): Fixed commentary and rearranged
10900         ifdefs in readable order.
10901         (NEED_STARTS): Do not force NEED_STARTS when PDUMPing.
10902         (start_of_text):
10903         (end_of_text):
10904         (end_of_data): Do not compile in if using PDUMP.
10905
10906         * symsinit.h: Prototyped vars_of_nt().
10907
10908         * ntproc.c (windows9x_p): Added, instead of os_subtype.
10909         (find_child_console): Use it.
10910         (sys_kill): Use it.
10911
10912         * ntheap.h: Do not extern os_subtype.
10913
10914         * ntheap.c (cache_system_info): Do not cache unneeded:
10915         nt_major_version, nt_minor_version and os_subtype.
10916         (recreate_heap): Do not compile in when PDUMPing.
10917
10918         * nt.c (geteuid and friends): Use the new varibale
10919         nt_fake_unix_uid, instead of hashing fake uid out of NT RID.
10920         (init_user_info): Removed the above mentioned hackery.
10921         (fstat, stat): Do not compile in if using MSVC 5.0 and above -
10922         stat has been fixed in the C runtime.
10923         (vars_of_nt): Added, defined the nt_fake_unix_uid variable there.
10924
10925         * file-coding.c (struct file_coding_dump): Do not define
10926         ucs_to_mule_table in the struct if not MULE.
10927         (struct struct lrecord_description fcd_description_1): Do not dump
10928         the above.
10929
10930         * emacs.c (main_1): Call vars_of_nt().
10931         (right before Fdump_emacs_data): Don't need lastfile if using both
10932         portabe dumper and system malloc.
10933
10934         * alloc.c (Fmemory_limit): Conditionalized out.
10935         (pdump): Use OPEN_BINARY for the portable dump file.
10936         (pdump_load): Ditto.
10937
10938 2000-02-02  Mike Alexander  <mta@arbortext.com>
10939
10940         * nt.c (convert_time): Set tm_isdst before calling mktime and
10941         avoid calling it at all if the compiler supports 64 bit integers.
10942         Also initialize utc_base_ft before using it.
10943
10944 2000-02-03   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
10945
10946         * frame.c (change_frame_size_1): Take f->internal_border_width
10947         into consideration when calculating the width of the frame.
10948
10949 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10950
10951         * window.c (frame_min_height):
10952         (frame_size_valid_p):
10953         (frame_pixsize_valid_p): Added.
10954         (check_frame_size): Generalized.
10955
10956         * window.h: Prototyped the above.
10957
10958         * lisp.h:
10959         * general.c: Added Qbottom_margin, Qduplex, Qlandscape,
10960         Qleft_margin, Qorientation, Qportrait, Qright_margin, Qtop_margin.
10961         Deleted Vwin32_* and Vbinary_process_* unused variables.
10962
10963         * device-msw.c (msprinter_init_device): Do not get printer font
10964         list; Added DEVMODE functions.
10965
10966         * frame-msw.c: Added lots of printer code.
10967
10968         * faces.c: Moved 'left-margin and 'right-margin defsymbols to
10969         general.c.
10970
10971         * console-msw.h: Added more msprinter device private slots.
10972
10973 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10974
10975         * event-msw.c (key_needs_default_processing_p): Added.
10976         (mswindows_wnd_proc, WM_KEYUP, KEYDOWN): Call it.
10977
10978 2000-01-29  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10979
10980         * glyphs.c (image_instance_layout): Mark image instance as clean
10981         after layout.
10982         (glyph_dirty_p): Removed redundant function.
10983         (invalidate_glyph_geometry_maybe): Added.
10984         (update_glyph_cachel_data): Call it.
10985
10986         * glyphs.h: Prototyped it.
10987
10988         * redisplay.c (add_glyph_rune): Call it.
10989         (redisplay_window): Reset glyphs cachels when frame faces have
10990         changed, thus forcing recomputation of built-in border glyphs.
10991
10992 2000-01-30  Martin Buchholz  <martin@xemacs.org>
10993
10994         * Makefile.in.in: Make portable dumper and purify play well together.
10995         Add imperfect, but better than nothing, support for pdump.
10996         Remove xemacs.dmp when temacs is re-generated.
10997         Don't ignore errors when dumping xemacs.
10998
10999         * symbols.c (maybe_call_magic_handler): Remove one magic number.
11000
11001 2000-01-28  Andy Piper  <andy@xemacs.org>
11002
11003         * frame.c (allocate_frame_core): Use new Fset_window_buffer signature.
11004         (setup_normal_frame): ditto.
11005         (setup_frame_without_minibuffer): ditto.
11006         (setup_minibuffer_frame): ditto.
11007         (delete_frame_internal): ditto.
11008         (Fmake_frame_invisible): ditto.
11009         (Ficonify_frame): ditto.
11010
11011         * window.h: change Fset_window_buffer signature.
11012
11013         * window.c (Fsplit_window): Use new Fset_window_buffer signature.
11014         (Fset_window_buffer): allow recording of buffer if the window is
11015         the selected window.
11016         (window_loop): Use new Fset_window signature.
11017
11018 2000-01-23  Daniel Pittman  <daniel@danann.net>
11019
11020         * config.h.in: Added template for `HAVE_ATHENA_3D'
11021
11022 2000-01-29  Andy Piper  <andy@xemacs.org>
11023
11024         * glyphs-x.c (x_resize_subwindow): Try and catch bogus resizes.
11025
11026         * gutter.c (output_gutter): Don't output if the window isn't live.
11027
11028 2000-01-28  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11029
11030         * glyphs-msw.c (mswindows_unmap_subwindow): Fix of corrupted patch
11031         of 01/12/00: Moved SetFocus back here where it belongs.
11032
11033 2000-01-23  Andy Piper  <andy@xemacs.org>
11034
11035         * s/cygwin32.h: declare printer things.
11036
11037 2000-01-26  Andy Piper  <andy@xemacs.org>
11038
11039         * select.c (Fown_selection_internal): GCPRO bug fix from Mike
11040         Alexander.
11041
11042 2000-01-24  Andy Piper  <andy@xemacs.org>
11043
11044         * glyphs-msw.c (mswindows_locate_pixmap_file): Expand filename.
11045         (mswindows_button_instantiate): Make sure glyph is a pixmap.
11046
11047         * glyphs-widget.c (widget_instantiate): Avoid shadows.
11048
11049         * frame-msw.c (msprinter_init_frame_3): Nuke warning.
11050
11051         * glyphs-msw.c: (mswindows_string_to_color): remove declaration.
11052
11053         * redisplay-msw.c (mswindows_output_cursor): Avoid shadows.
11054         (mswindows_output_display_block): Avoid local shadows.
11055
11056         * event-msw.c (mswindows_enqueue_magic_event): Avoid shadows.
11057         (mswindows_enqueue_mouse_button_event): ditto.
11058         (mswindows_handle_gui_wm_command): remove declaration.
11059
11060         * console-msw.c (mswindows_canonicalize_console_connection): Avoid
11061         warnings.
11062
11063         * console-msw.h: Avoid shadows.
11064         (mswindows_get_toolbar_button_text):
11065         (emacs_mswindows_create_stream_pair):
11066         (emacs_mswindows_delete_stream_pair):
11067         (mswindows_handle_toolbar_wm_command): declare.
11068
11069         * device-msw.c (build_syscolor_string): Avoid shadows.
11070
11071 2000-01-23  Andy Piper  <andy@xemacs.org>
11072
11073         * glyphs-widget.c (widget_instantiate): reverse the items for
11074         layouts so that children are in the expected order.
11075
11076 2000-01-28  Martin Buchholz  <martin@xemacs.org>
11077
11078         * ralloc.c: safe_bcopy ==> memmove
11079         * gmalloc.c: Remove MEMMOVE_MISSING conditional code.
11080         * s/msdos.h: Remove BCOPY macros.
11081         * insdel.c (gap_right): Remove BCOPY conditional code.
11082         * insdel.c (gap_left): Remove BCOPY conditional code.
11083         XEmacs demands a working ANSI C compiler - hence memmove.
11084
11085         * regex.c (regex_compile): Remove accidental use of trigraphs.
11086
11087 2000-01-27  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11088
11089         * event-msw.c (mswindows_enqueue_misc_user_event): Initialize
11090         event timestamp.
11091
11092 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11093
11094         * event-msw.c (mswindows_drain_windows_queue): Added the
11095         parameter.
11096         (mswindows_need_event): Commented the call to
11097         mswindows_drain_windows_queue().
11098         (emacs_mswindows_quit_p): Lookup the windows for keyboard messages
11099         only.
11100
11101         * console-msw.h: Moved a few function prototypes here from
11102         event-msw.c.
11103
11104         * gui-msw.c (mswindows_handle_gui_wm_command): Changed the ID
11105         parameter from unsigned short to unsigned long.
11106         (Fmswindows_shell_execute): Added return value.
11107
11108 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
11109
11110         * sysdep.c (init_system_name):
11111           process-unix.c (unix_canonicalized_host_name):
11112         Don't call freeaddrinfo() if getaddrinfo() fails.
11113
11114         * process-unix.c (unix_open_unix_network_stream):
11115         Moved the code to get a port # into address loop.
11116
11117 2000-01-27  Martin Buchholz  <martin@xemacs.org>
11118
11119         * buffer.c (reinit_vars_of_buffer):
11120         The right place to initialize conversion_in_dynarr and
11121         conversion_out_dynarr.
11122
11123         * alloc.c (pdump): Use the real open() till sys_open() is functional.
11124
11125         * process-unix.c (unix_canonicalize_host_name): Muleize.
11126         (unix_open_network_stream): Muleize.
11127
11128         * buffer.h: Fix up prototypes for ralloc.c functions.
11129
11130 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
11131         * config.h.in: added HAVE_GETADDRINFO and HAVE_GETNAMEINFO
11132         * sysdep.c: In init_system_name(), add code to use getaddrinfo()
11133                 instead of gethostbyname()
11134         * process-unix.c: In unix_canonicalize_host_name() and
11135                 unix_open_network_stream(), add code to use getaddrinfo()
11136                 instead of gethostbyname().
11137
11138 2000-01-27  Daniel Pittman <daniel@danann.net>
11139
11140         * device-x.c (x_init_device): Warn at run-time if using Athena 3d
11141         libs when built with flat Athena.
11142
11143 2000-01-27  Martin Buchholz  <martin@xemacs.org>
11144
11145         * ralloc.c: Replace SIZE (conflicts with Windows headers) with size_t.
11146         Use coding standards for function prototypes.
11147
11148 2000-01-25  Martin Buchholz  <martin@xemacs.org>
11149
11150         * dialog-msw.c (push_lisp_string_as_unicode):
11151         * doc.c (unparesseuxify_doc_string):
11152         * dired.c (Fuser_name_completion_1):
11153         * dired.c (Fuser_name_all_completions):
11154         * dired.c (free_user_cache):
11155         * dired.c (user_name_completion):
11156         * console-x.c (get_display_arg_connection):
11157         * minibuf.c (clear_echo_area_internal):
11158         * minibuf.c (echo_area_append):
11159         * eldap.c (Fldap_open):
11160         * eldap.c (Fldap_search_internal):
11161         * frame-x.c (x_set_frame_text_value):
11162         * frame-x.c (x_set_frame_properties):
11163         * frame-x.c (x_create_widgets):
11164         * redisplay-tty.c (term_get_fkeys_1):
11165         * objects-x.c (x_parse_nearest_color):
11166         * objects-x.c (x_valid_color_name_p):
11167         * objects-x.c (x_initialize_font_instance):
11168         * objects-x.c (x_list_fonts):
11169         * objects-x.c (x_find_charset_font):
11170         * tooltalk.c (Fadd_tooltalk_message_arg):
11171         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
11172         * tooltalk.c (Fadd_tooltalk_pattern_arg):
11173         * process-unix.c (unix_create_process):
11174         * ntproc.c (sys_spawnve):
11175         * sound.c (Fplay_sound_file):
11176         * sound.c (Fplay_sound):
11177         * buffer.c (init_initial_directory):
11178         * buffer.c (init_buffer):
11179         * editfns.c (init_editfns):
11180         * editfns.c (Ftemp_directory):
11181         * editfns.c (Fuser_full_name):
11182         * editfns.c (uncache_home_directory):
11183         * editfns.c (get_home_directory):
11184         * editfns.c (Fuser_home_directory):
11185         * editfns.c (Fformat_time_string):
11186         * editfns.c (Fcurrent_time_string):
11187         * gui-x.c (button_item_to_widget_value):
11188         * database.c (Fopen_database):
11189         * event-Xt.c (x_to_emacs_keysym):
11190         * event-Xt.c (x_event_to_emacs_event):
11191         * event-Xt.c (describe_event_window):
11192         * event-msw.c (mswindows_wnd_proc):
11193         * glyphs-eimage.c (jpeg_instantiate):
11194         * glyphs-eimage.c (gif_instantiate):
11195         * glyphs-eimage.c (png_instantiate):
11196         * glyphs-eimage.c (tiff_instantiate):
11197         * glyphs-x.c (xbm_instantiate_1):
11198         * glyphs-x.c (x_xbm_instantiate):
11199         * glyphs-x.c (x_xface_instantiate):
11200         * glyphs-x.c (autodetect_instantiate):
11201         * glyphs-x.c (cursor_font_instantiate):
11202         * glyphs-x.c (x_widget_instantiate):
11203         * glyphs-x.c (x_widget_set_property):
11204         * glyphs-x.c (x_widget_property):
11205         * glyphs-x.c (BUILD_GLYPH_INST):
11206         * print.c (write_string_to_stdio_stream):
11207         * print.c (output_string):
11208         * print.c (Falternate_debugging_output):
11209         * print.c (Fexternal_debugging_output):
11210         * glyphs-msw.c (extract_xpm_color_names):
11211         * glyphs-msw.c (mswindows_xpm_instantiate):
11212         * glyphs-msw.c (bmp_instantiate):
11213         * glyphs-msw.c (resource_name_to_resource):
11214         * glyphs-msw.c (mswindows_resource_instantiate):
11215         * glyphs-msw.c (xbm_instantiate_1):
11216         * glyphs-msw.c (mswindows_xbm_instantiate):
11217         * glyphs-msw.c (mswindows_xface_instantiate):
11218         * glyphs-msw.c (mswindows_widget_instantiate):
11219         * glyphs-msw.c (add_tree_item):
11220         * glyphs-msw.c (add_tab_item):
11221         * glyphs-msw.c (mswindows_combo_box_instantiate):
11222         * glyphs-msw.c (mswindows_widget_property):
11223         * glyphs-msw.c (mswindows_combo_box_property):
11224         * glyphs-msw.c (mswindows_widget_set_property):
11225         * console.c (stuff_buffered_input):
11226         * objects-msw.c (mswindows_initialize_color_instance):
11227         * objects-msw.c (mswindows_valid_color_name_p):
11228         * objects-msw.c (mswindows_list_fonts):
11229         * objects-msw.c (mswindows_font_instance_truename):
11230         * bytecode.c (optimize_compiled_function):
11231         * select-x.c (symbol_to_x_atom):
11232         * select-x.c (x_atom_to_symbol):
11233         * select-x.c (hack_motif_clipboard_selection):
11234         * select-x.c (selection_data_to_lisp_data):
11235         * select-x.c (lisp_data_to_selection_data):
11236         * select-x.c (Fx_get_cutbuffer_internal):
11237         * select-x.c (Fx_store_cutbuffer_internal):
11238         * buffer.h (TO_EXTERNAL_FORMAT): New function.
11239         * buffer.h (TO_INTERNAL_FORMAT): New function.
11240         * emacs.c (make_arg_list_1):
11241         * emacs.c (make_argc_argv):
11242         * emacs.c (main_1):
11243         * emacs.c (Fdump_emacs):
11244         * emacs.c (split_string_by_emchar_1):
11245         * file-coding.h:
11246         * lisp.h:
11247         * lstream.h:
11248         * symsinit.h:
11249         * device-x.c (x_init_device):
11250         * device-x.c (Fx_valid_keysym_name_p):
11251         * device-x.c (Fx_get_font_path):
11252         * device-x.c (Fx_set_font_path):
11253         * glyphs.c (bitmap_to_lisp_data):
11254         * glyphs.c (pixmap_to_lisp_data):
11255         * alloc.c (make_ext_string): Use coding system arguments.  Update
11256         all callers.
11257         * alloc.c (build_string):
11258         * callproc.c (child_setup):
11259         * callproc.c (init_callproc):
11260         * fileio.c (lisp_strerror):
11261         * fileio.c (directory_file_name):
11262         * fileio.c (Fexpand_file_name):
11263         * fileio.c (Ffile_truename):
11264         * fileio.c (Fsysnetunam):
11265         * fileio.c (Fdo_auto_save):
11266         * sysdep.c (sys_readdir):
11267         * tests.c: New file.  Allow adding C tests.
11268         Replace GET_* macros with a more comprehensible and flexible
11269         interface, TO_INTERNAL_FORMAT() and TO_EXTERNAL_FORMAT().
11270         Modify all calls.
11271         Any coding system can be used to do format conversion.
11272         Eliminate enum external_data_format.
11273         Eliminate convert_to_external_format.
11274         Eliminate convert_to_internal_format.
11275         Make sure file-name, keyboard, terminal, and ctext are always
11276         defined as coding systems or aliases.  Make
11277         file-name-coding-system, terminal-coding-system, and
11278         keyboard-coding-system magical variables that are equivalent to
11279         defining the corresponding coding system aliases.
11280
11281         * file-coding.c (Fcoding_system_canonical_name_p): New function.
11282         * file-coding.c (Fcoding_system_alias_p): New function.
11283         * file-coding.c (Fcoding_system_aliasee): New function.
11284         * file-coding.c (append_suffix_to_symbol): New function.
11285         * file-coding.c (dangling_coding_system_alias_p): New function.
11286         * file-coding.c (Ffind_coding_system):
11287         * file-coding.c (Fcopy_coding_system):
11288         * file-coding.c (encode_coding_no_conversion):
11289         * file-coding.c (syms_of_file_coding):
11290         * file-coding.c (vars_of_file_coding):
11291         Rewrite coding system alias code.
11292         Allow nested aliases, like symbolic links.
11293         Allow redefinition of coding system aliases.
11294         Prevent existence of dangling coding system aliases.
11295
11296         * dired.c (Fuser_name_completion_1):
11297         * dired.c (Fuser_name_all_completions):
11298         A crash would happen if user did QUIT in the middle of building
11299         user_name_cache.  Remove redundant code in mainline and unwind_protect.
11300
11301         * lisp.h:
11302         * dynarr.c (Dynarr_min_size): Make static.  Increase value to 8.
11303
11304         * lstream.c (make_fixed_buffer_input_stream): Take a void *, not
11305         an unsigned char *.  Update all callers.
11306
11307 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11308
11309         * callproc.c (Fcall_process_internal): Ignore Vbinary-process_output.
11310
11311 2000-01-25  Martin Buchholz  <martin@xemacs.org>
11312
11313         * elhash.c (hentry_description): Use more portable definition.
11314         (resize_hash_table): Initialize new hentries using
11315         xnew_array_and_zero, thereby simplifying the code.
11316
11317         * mule-charset.c (make_charset): Make sure entire object is
11318         initialized, to avoid Purify warnings.
11319
11320         * alloc.c (resize_string): Fix unlikely crash with big strings.
11321
11322 2000-01-24  Martin Buchholz  <martin@xemacs.org>
11323
11324         * realpath.c (xrealpath):
11325         Don't call getwd().
11326
11327 2000-01-25  Martin Buchholz  <martin@xemacs.org>
11328
11329         * lread.c (read_bit_vector): Fix memory leak reading literal bit vectors.
11330
11331 1999-12-28  Max Matveev  <max@melbourne.sgi.com>
11332
11333         * unexelfsgi.c (unexec): Change the way we decide which segment
11334         should be extended.
11335
11336         Assumption that .bss section should be outside the PT_LOADable
11337         segment. On IRIX with version 6.2 and above, .bss (or .sbss, if
11338         it's present) is inside the 'data' segment. This would fail the
11339         test which was used to find a segment to grow and cover new
11340         heap. Instead of this assumption, I created another one - on IRIX
11341         the segment to grow should start below .bss and it's address
11342         should extent above the end of .bss. Once this segment is
11343         identified, it's grown to accommodate the new heap and new
11344         zero-length .bss section is added at the end of .data2.
11345
11346 2000-01-25  Martin Buchholz  <martin@xemacs.org>
11347
11348         * eval.c (Feval): Wrong number of arguments should use original
11349         function, not the indirect_function version of it.
11350
11351 2000-01-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
11352
11353         * glyphs-x.c (x_button_instantiate): Don't add image if
11354         it is not a pixmap.
11355         (x_locate_pixmap_file): Call Fexpand_file_name when file name
11356         is relative.
11357
11358 2000-01-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
11359
11360         * symeval.h (DEFVAR_LISP_MAGIC): Remove semicolon after macro
11361         declaration.
11362         (DEFVAR_INT_MAGIC): Ditto.
11363         (DEFVAR_BOOL_MAGIC): Ditto.
11364         * glyphs.h: Reindent backslash.
11365
11366 2000-01-24  Martin Buchholz  <martin@xemacs.org>
11367
11368         * glyphs-widget.c (layout_query_geometry):
11369         (layout_layout): Use correct types for gheight, gwidth.
11370
11371 2000-01-24  Martin Buchholz  <martin@xemacs.org>
11372
11373         * EmacsManager.c (QueryGeometry): Purified.
11374
11375 2000-01-23  Martin Buchholz  <martin@xemacs.org>
11376
11377         * alloc.c (make_float): Make sure entire object is initialized, to
11378         avoid Purify warnings.
11379         (pdump_register_sub): Remove useless assignment.
11380         (pdump): Use xmalloc, not malloc.
11381         (pdump_load): Use xmalloc, not malloc.
11382
11383 2000-01-23  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11384
11385         * callproc.c:
11386         * dired-msw.c:
11387         * fileio.c:
11388         * process-nt.c:
11389         * redisplay-msw.c:
11390         * sysdep.c: Removed redundant #include <windows.h>
11391
11392 2000-01-22  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11393
11394         * frame.c (delete_frame_internal): Do not delete device when its
11395         implementation so declares.
11396         (delete_frame_internal): Set device selected frame to nil when
11397         last frame goes away.
11398
11399         * device-msw.c (msprinter_device_system_metrics): Implemented.
11400         (mswindows_device_system_metrics): Added 'device-dpi property.
11401
11402         * device.c: (Fdevice_printer_p): Added.
11403         Added 'offset-workspace device metric.
11404
11405         * console.h (device_metrics): Declared DM_offset_workspace.
11406
11407 2000-01-23  Martin Buchholz  <martin@xemacs.org>
11408
11409         * fileio.c (Ffile_truename): Remove pointless and confusing
11410         initialization of elen.
11411
11412         * glyphs-widget.c: Compiler warning fixes.
11413
11414 2000-01-23  Gunnar Evermann  <ge204@eng.cam.ac.uk>
11415
11416         * process.h (PROCESS_LIVE_P): Modify to take a Lisp_Process
11417         instead of a Lisp_Object as argument to make it consistent with
11418         the other LIVE_P macros.
11419         (CHECK_LIVE_PROCESS): New macro.
11420
11421         * process.c: Declare Qprocess_live_p.
11422         (Fprocess_live_p): New function.
11423         (create_process): Use PROCESS_LIVE_P.
11424         (read_process_output): Ditto.
11425         (set_process_filter): Ditto.
11426         (Fdelete_process): Ditto.
11427         (kill_buffer_processes): Ditto
11428         (process_send_signal): Use CHECK_LIVE_PROCESS.
11429         (Fprocess_input_coding_system): Check whether process is still
11430         alive (fix PR#1061).
11431         (Fprocess_output_coding_system): Ditto.
11432         (Fprocess_coding_system): Ditto.
11433         (Fset_process_input_coding_system): Ditto.
11434         (Fset_process_output_coding_system): Ditto.
11435
11436 2000-01-23  Andy Piper  <andy@xemacs.org>
11437
11438         * glyphs.h (struct Lisp_Image_Instance): change format by unifying
11439         layout and widget.
11440
11441         * glyphs.c (mark_image_instance): take into account changed
11442         image_instance format.
11443         (image_instance_equal): ditto.
11444         (image_instance_hash): ditto.
11445
11446         * glyphs-widget.c (widget_instantiate): Incorporate layout
11447         instantiation here. Delay layout of the layout until later.
11448         (layout_instantiate): deleted.
11449         (layout_query_geometry): new function. get the geometry of a
11450         layout.
11451         (layout_layout): layout a layout dynamically.
11452         (image_instantiator_widget): New function - splitting up
11453         image_instantiator_format_create_glyphs_widget for netwinder
11454         compilation.
11455         (image_instantiator_buttons):
11456         (image_instantiator_edit_fields):
11457         (image_instantiator_combo_box):
11458         (image_instantiator_scrollbar):
11459         (image_instantiator_progress_guage):
11460         (image_instantiator_tree_view):
11461         (image_instantiator_tab_control):
11462         (image_instantiator_labels):
11463         (image_instantiator_layout): ditto.
11464         (image_instantiator_format_create_glyphs_widget): Call preceding
11465         functions.
11466
11467 2000-01-22  Martin Buchholz  <martin@xemacs.org>
11468
11469         * process.c (Fset_process_coding_system):
11470         * device-x.c (Fx_keysym_hash_table):
11471         Docstring fixes.
11472
11473         * lstream.c (Lstream_write): Return documented value, not 0.
11474
11475         * fileio.c (directory_file_name):
11476         (Fsubstitute_in_file_name):
11477         (Fsubstitute_insert_file_contents_internal):
11478         (Fwrite_region_internal):
11479         * emacs.c:
11480         * sysdep.c:
11481         * getloadavg.c:
11482         * systty.h:
11483         Remove vestigial APOLLO-conditional code.
11484
11485 2000-01-21  Martin Buchholz  <martin@xemacs.org>
11486
11487         * getpagesize.h: Add guard macros.
11488         * libsst.h: Add guard macros.
11489         * libst.h: Add guard macros.
11490         * line-number.h: Add guard macros.
11491         * ndir.h: Add guard macros.
11492         * sysfloat.h: Add guard macros.
11493         * sysfile.h: Add guard macros.
11494         * sysproc.h: Add guard macros.
11495         * syswait.h: Add guard macros.
11496         * xintrinsic.h: Add guard macros.
11497         * xintrinsicp.h: Add guard macros.
11498         * xmmanager.h: Add guard macros.
11499         * xmmanagerp.h: Add guard macros.
11500         * xmprimitive.h: Add guard macros.
11501         * xmu.h: Add guard macros.
11502         * gpmevent.h: Add copyright statement. Add guard macros.
11503         * miscplay.h: Add guard macros.
11504         * *.h: Use consistent C-standards-approved guard macro names.
11505
11506         * opaque.c (make_opaque): Switch parameter order.
11507         * opaque.h (make_opaque): Switch parameter order.
11508         Update all callers.
11509         * buffer.h (MAKE_MIRROR_TRT_TABLE): Use symbolic constant OPAQUE_CLEAR.
11510
11511         * config.h.in (type_checking_assert): Added.
11512         (bufpos_checking_assert): Added.
11513
11514 2000-01-21  Martin Buchholz  <martin@xemacs.org>
11515
11516         * alloc.c: Harmless pdump changes.
11517         - Use countof().
11518         - spell alignment correctly.
11519         * sysdep.c: Use countof()
11520
11521 2000-01-20  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11522
11523         * console.c (create_console): Use CONMETH_OR_GIVEN when calling
11524         initially_selected_for_input() console method, default to 0.
11525         (semi_canonicalize_console_connection): Try to delegate to
11526         canonicalize_console_connection if no such console method.
11527         (canonicalize_console_connection): Vice versa.
11528         (print_console): Do not print nil connection.
11529
11530         * console.h (XDEVIMPF_IS_A_PRINTER): Added.
11531         (XDEVIMPF_NO_AUTO_REDISPLAY): Added.
11532         (XDEVIMPF_FRAMELESS_OK): Added.
11533         (CONSOLE_INHERITS_METHOD): Added.
11534
11535         * console-msw.c (mswindows_canonicalize_console_connection):
11536         Added.
11537         (mswindows_canonicalize_device_connection): Added.
11538
11539         * console-msw.h (struct msprinter_device): Added this struct and
11540         accessor macros.
11541         (mswindows_device): Made fontlist a lisp object.
11542
11543         * device.c (semi_canonicalize_device_connection):  Try to delegate
11544         to canonicalize_device_connection if no such console method.
11545         (canonicalize_device_connection): Vice versa.
11546         (print_device): Do not print nil connection.
11547
11548         * device-msw.c (mswindows_init_device): Call InitCommonControls
11549         when have widgets.
11550         (mswindows_delete_device): Removed fontlist deallocation.
11551         (mswindows_mark_device): Added.
11552
11553         * events.c (event_equal): Added abort() at unreached code.
11554         (event_hash): Ditto.
11555
11556         * faces.c (complex_vars_of_faces): Added Qmsprinter to the list of
11557         fallback tags of Windows devices.
11558
11559         * general.c (syms_of_general): Initialized Qmsprinter.
11560
11561         * gutter.c (complex_vars_of_gutters): Added Qmsprinter to the list
11562         of fallback tags of Windows devices.
11563
11564         * lisp.h: Declared Qmsprinter.
11565
11566         * objects-msw.c (font_enum_callback_2): Rewrote to build lisp list
11567         of strings.
11568         (mswindows_list_fonts): Ditto.
11569         (mswindows_enumerate_fonts): Removed dependency on XDEVICE, so
11570         that it can be used by both mswindows and msprinter devices.
11571         (initialize_font_instance): Added.
11572         (mswindows_initialize_font_instance): Use it.
11573         (msprinter_initialize_font_instance): Added.
11574
11575         * redisplay.c (redisplay_device): Added the parameter AUTOMATIC
11576         and implementation flags check.
11577         (redisplay_without_hooks): Changed the call to the above.
11578         (Fredraw_device): Ditto.
11579         (Fredisplay_device): Ditto.
11580
11581         * redisplay-msw.c (get_frame_dc): Implemented.
11582         (get_frame_compdc): Implemented.
11583         (many functions): Use the two functions above to get device
11584         contexts, ether for a window or a printer.
11585
11586 2000-01-21  Olivier Galibert  <galibert@pobox.com>
11587
11588         * symbols.c (reinit_symbols_once_early): Put Qzero/Qnull_pointer
11589         initialization here.
11590         (init_symbols_once_early): Call it.
11591         * emacs.c (main_1): Call it.
11592         * symsinit.h: Declare it.
11593
11594 2000-01-19  Olivier Galibert  <galibert@pobox.com>
11595
11596         * alloc.c: Use a lrecord_header * in the backtrace instead of a
11597         Lisp_Object.
11598         (pdump_backtrace): Ditto.
11599         (pdump_register_object): Ditto.  Cleanup use of the pointers.
11600         (pdump_get_entry): Abort if trying to register a null pointer.
11601         (pdump_dump_data): Cleanup types when relocating.
11602         (pdump_dump_staticvec): Cleanup types w.r.t the reloc table.
11603         (pdump_dump_rtables): Remove bad casts.
11604         (pdump_load): Cleanup relocation w.r.t union type.  Use a
11605         Lisp_Object instead of a EMACS_INT for the hashtable
11606         reorganization.
11607
11608 2000-01-20  Martin Buchholz  <martin@xemacs.org>
11609
11610         * emacs.c (main_1): Rearrange morass of #ifdef's for correctness.
11611
11612         * callproc.c (call_process_cleanup): Isolate WINDOWSNT code for clarity.
11613
11614         * EmacsManager.c (GeometryManager): Avoid use of CPP for clarity.
11615
11616         * *.[ch]: global-replace 's/_of_xselect/_of_select_x/g' *.[ch]
11617
11618 2000-01-17  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11619
11620         * faces.h (FACE_STRIKETHRU_P): Added.
11621
11622         * glyphs-msw.c (mswindows_widget_hfont): Implemented, to take care
11623         of font variants.
11624
11625         * redisplay-msw.c (mswindows_apply_face_effects): Deleted.
11626         (mswindows_set_dc_font): New function, aware of font variants,
11627         separated from mswindows_update_dc.
11628
11629         * objects-msw.h (struct mswindows_font_instance_data): Added
11630         definition.
11631
11632         * objects-msw.c (mswindows_finalize_font_instance): Delete all
11633         cached fonts and the data structure.
11634         (mswindows_initialize_font_instance): Added creation of font data
11635         structure.
11636         (mswindows_print_font_instance): Print at least something.
11637         (mswindows_create_font_variant): Implemented.
11638         (mswindows_get_hfont): Implemented.
11639
11640 2000-01-13  Fabrice Popineau  <Fabrice.Popineau@supelec.fr>
11641
11642         * dired-msw.c: permute "sysdir.h" with "sysfile.h" because of
11643         prototyping problem with msvc.
11644
11645         * emacs.c (main_1): added syms_of_gui_mswindows() call
11646
11647         * gui-msw.c: added "mswindows-shell-execute" lisp subr and
11648         syms_of_gui_mswindows() function
11649
11650         * symsinit.h: added the prototype for syms_of_gui_mswindows()
11651
11652 2000-01-18  Martin Buchholz <martin@xemacs.org>
11653
11654         * XEmacs 21.2.27 is released.
11655
11656 2000-01-18  Martin Buchholz  <martin@xemacs.org>
11657
11658         * glyphs-eimage.c (struct tiff_error_struct):
11659         (tiff_error_func):
11660         (tiff_warning_func):
11661         #if HAVE_VSNPRINTF ==> #ifdef HAVE_VSNPRINTF
11662
11663         * unexmips.c:
11664         * unexhp9k3.c:
11665         * unexfreebsd.c:
11666         * unexec.c: Remove vestigial Lucid C code.
11667         * unexalpha.c:
11668         * unexaix.c:
11669         * termcap.c:
11670         * libsst.c: Ansify.
11671         Remove declarations of errno and strerror().
11672
11673         * eval.c (Fbacktrace): Small Purify-cation.  Fix docstring.
11674
11675         * .dbxrc (run-temacs): Use the horrible ${1+"$@"} instead of "$@".
11676
11677 2000-01-16  Martin Buchholz  <martin@xemacs.org>
11678
11679         * mule-charset.c (Fchar_octet): Resurrect from earlier in 1999.
11680         Optimize.
11681
11682 2000-01-14  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
11683
11684         * md5.c:
11685         * file-coding.c:
11686         * file-coding.h:
11687         Change enum eol_type to eol_type_t.
11688
11689 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
11690
11691         * gui.c (get_gui_callback): Check cons before accessing car.
11692
11693 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
11694
11695         * specifier.h (XSPECIFIER_TYPE): Add error checking version.
11696         (XSETSPECIFIER_TYPE): Ditto.
11697
11698 2000-01-17  Didier Verna  <didier@xemacs.org>
11699
11700         * redisplay.c (generate_fstring_runes): compute string size in
11701         characters, not bytes.
11702
11703 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
11704
11705         * window.c (Fwindow_minibuffer_p): Make WINDOW optional.
11706
11707 2000-01-14  Hrvoje Niksic  <hniksic@iskon.hr>
11708
11709         * print.c (print_error_message): Call print_prepare().
11710
11711 2000-01-14  Martin Buchholz  <martin@xemacs.org>
11712
11713         * .dbxrc: Renamed from dbxrc.
11714
11715         * events.c (event_to_character):
11716         Use `assert (foo)' instead of `if (!foo) abort()'
11717
11718         * .gdbinit (xtype): Add documentation.
11719         * .gdbinit (check-temacs): New function.
11720         * .gdbinit (check-xemacs): New function.
11721         * dbxrc (check-xemacs): New function.
11722         * dbxrc (check-xemacs): New function.
11723
11724 2000-01-14  Andy Piper  <andy@xemacs.org>
11725
11726         * glyphs-widget.c (widget_query_geometry): Make sure that we
11727         calculate default dimensions correctly.
11728
11729 2000-01-13  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11730
11731         * symsinit.h: Added prototype for reinit_vars_of_frame_mswindows.
11732
11733         * event-msw.c (vars_of_event_mswindows): Fixed a mistyped
11734         pdump_wire'd variable.
11735
11736         * emacs.c: (main_1): Conditionalized calls to
11737         reinit_vars_of_scrollbar_x and reinit_vars_of_module.
11738
11739 2000-01-13  Martin Buchholz  <martin@xemacs.org>
11740
11741         * window.c (Fset_window_configuration):
11742         * sysdep.c (_start):
11743         * input-method-motif.c (res):
11744         * event-Xt.c (Xt_process_to_emacs_event):
11745         Simple compiler warning fixes.
11746
11747         * bytecode.c (funcall_compiled_function): Use the original
11748         function symbol on the backtrace list in preference to the
11749         compiled_function object in error messages.
11750
11751 2000-01-13  Andy Piper  <andy@xemacs.org>
11752
11753         * glyphs-x.c (update_widget_face): Make sure we update the widget
11754         background as well as foreground.
11755
11756 2000-01-13  Andy Piper  <andy@xemacs.org>
11757
11758         * glyphs.h (struct Lisp_Image_Instance): Move justify and orient
11759         fields to subwindow.
11760         (IMAGE_INSTANCE_SUBWINDOW_JUSTIFY): new macro.
11761         (XIMAGE_INSTANCE_SUBWINDOW_JUSTIFY): ditto.
11762         (IMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
11763         (XIMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
11764
11765         * glyphs-widget.c (check_valid_tab_orientation): new function.
11766         (initialize_widget_image_instance): zero orientation and
11767         justification.
11768         (widget_instantiate): pick up orientation.
11769         (tab_control_query_geometry): return appropriate values for
11770         vertical tabs.
11771
11772         * glyphs-msw.c: (mswindows_tab_control_instantiate): assign
11773         appropriate creation flags for left, right and bottom tabs.
11774
11775         * s/cygwin32.h: add tab definitions.
11776
11777 2000-01-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11778
11779         * glyphs-msw.c (mswindows_unmap_subwindow): Set focus back to the
11780         frame upon hiding a subwindow.
11781         (mswindows_button_instantiate): Changed the push button style to
11782         BS_PUSHBUTTON.
11783         (mswindows_button_instantiate): Removed button BS_NOTIFY
11784         style.
11785         (mswindows_button_instantiate): Removed redundant check for
11786         a disabled gui item.
11787         (mswindows_button_instantiate): Made use of WS_TABSTOP
11788         consistent: "operable" controls (edit, button, tree, scroll) have
11789         this style, "display-only" ones (static, progress gauge) do
11790         not. This style is currently ignored by XEmacs though. Also,
11791         removed the WS_EX_CONTROLPARENT style - it is not for children,
11792         it is for their parents!
11793         (mswindows_edit_field_instantiate): Ditto.
11794         (mswindows_progress_gauge_instantiate): Ditto.
11795         (mswindows_tree_view_instantiate): Ditto.
11796         (mswindows_tab_control_instantiate): Ditto.
11797         (mswindows_scrollbar_instantiate): Ditto.
11798         (mswindows_combo_box_instantiate): Ditto.
11799         (mswindows_widget_instantiate): Added the WS_EX_CONTROLPARENT
11800         style to the "clip" window.
11801         (mswindows_button_instantiate): Removed compilation warning by
11802         equally typing terms of the ?: operator.
11803
11804 2000-01-12  Didier Verna  <didier@xemacs.org>
11805
11806         * redisplay.c (generate_fstring_runes): new parameter holding the
11807         last modeline-format extent.
11808         (add_glyph_to_fstring_db_runes): new parameter holding the glyph
11809         extent, fill the glyph block with it.
11810         (generate_fstring_runes): handle these parameters.
11811         (generate_formatted_string_db): ditto.
11812
11813         * keymap.c (get_relevant_keymaps): retreive the keymaps from the
11814         glyphs'extents in the modeline.
11815
11816 1999-01-11  Mike Woolley  <mike@bulsara.com>
11817
11818         * ntheap.c: Reduced the reserved heap space from 1Gb down to
11819         256Mb, as a workaround for the non-starting problem many people
11820         have experienced.
11821
11822 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
11823
11824         * console-tty.c (Fset_console_tty_output_coding_system):
11825         Force redrawing tty frame.
11826
11827 2000-01-10  Didier Verna  <didier@xemacs.org>
11828
11829         * redisplay.c (generate_fstring_runes): fix size computation bug.
11830
11831 2000-01-09  William M. Perry <wmperry@aventail.com>
11832
11833         * gpmevent.c: (gpm_next_event_cb): Don't return value from void function.
11834
11835 2000-01-09  Andy Piper  <andy@xemacs.org>
11836
11837         * glyphs-msw.c: index -> i to avoid shadows.
11838         (xbm_create_bitmap_from_data): make static.
11839         (check_valid_string_or_int): deleted.
11840         (mswindows_control_wnd_proc): message -> msg to avoid shadows.
11841
11842         * glyphs-x.c (x_update_subwindow): remove unused args.
11843
11844         * glyphs.c (glyph_image_instance): return the thing. Don't set the
11845         back pointer - this is done in allocate_image_instance.
11846         (query_string_font): return Qnil to make the compiler happy.
11847         (unmap_subwindow): set to ~0 to make the compiler happy.
11848         (glyph_query_geometry): comment out until used.
11849         (glyph_layout): ditto.
11850
11851 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
11852
11853         * insdel.c (signal_after_change): Remove extraneous unbind_to().