update.
[chise/xemacs-chise.git.1] / src / ChangeLog
1 2005-02-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2
3         * text-coding.c (Qccs_priority_list): New variable in XEmacs
4         CHISE.
5         (Fmake_coding_system): Support new property `ccs-priority-list' in
6         XEmacs CHISE.
7         (Fcoding_system_property): Likewise.
8         (char_encode_iso2022): Prefer CODING_SYSTEM_CCS_PRIORITY_LIST than
9         Vdefault_coded_charset_priority_list in XEmacs CHISE.
10         (syms_of_file_coding): Add builtin symbol `ccs-priority-list' in
11         XEmacs CHISE.
12         (complex_vars_of_file_coding): Define new coding-system-property
13         `ccs-priority-list' in XEmacs CHISE.
14
15         * file-coding.h (XCODING_SYSTEM_CCS_PRIORITY_LIST): New macro.
16
17 2004-12-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
18
19         * char-ucs.h (decoding_table_put_char): Moved to mule-charset.c;
20         changed to normal function.
21         (encode_char_2): Likewise.
22
23         * mule-charset.c (decoding_table_put_char): Copied from
24         char-ucs.h; changed to normal function.
25         (encode_char_2): Likewise.
26
27 2004-12-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
28
29         * char-ucs.h (Vdisplay_coded_charset_priority_use_inheritance):
30         New extern.
31         (Vdisplay_coded_charset_priority_use_hierarchy_order): Likewise.
32         (encode_char_2_search_children): New inline function.
33         (encode_char_2): Refer
34         `Vdisplay_coded_charset_priority_use_{inheritance|hierarchy_order}'
35         and use `encode_char_2_search_children'.
36
37 2004-12-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
38
39         * mule-charset.c
40         (Vdisplay_coded_charset_priority_use_inheritance): New variable.
41         (Vdisplay_coded_charset_priority_use_hierarchy_order): Likewise.
42         (vars_of_mule_charset): Add new variable
43         `display-coded-charset-priority-use-inheritance' and
44         `display-coded-charset-priority-use-hierarchy-order'.
45
46 2004-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
47
48         * char-ucs.h (Q_subsumptive): New extern.
49         (Q_denotational): Likewise.
50         (encode_char_2): Search children specified by `->subsumptive' and
51         `->denotational'.
52
53 2004-11-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
54
55         * mule-charset.c (complex_vars_of_mule_charset): Modify the
56         X-registry of `ucs-bmp'.
57
58 2004-10-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
59
60         * chartab.c (char-variants): Refer `->subsumptive',
61         `->denotational' and `->identical' as same as `->ucs-unified'.
62
63 2004-10-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
64
65         * chartab.c (Fput_char_attribute): Convert char-specs in value of
66         `{<-|->}{fullwidth|halfwidth}[^*]*' to characters and put reverse
67         links.
68
69 2004-09-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
70
71         * text-coding.c: Add EXFUN for `Fregexp_quote'.
72         (decode_add_er_char): Fix problem about infinite loop when a CCS
73         specified in `coded-charset-entity-reference-alist' is not
74         existed.
75
76 2004-09-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
77
78         * mule-charset.c (syms_of_mule_charset): Rename
79         `=jis-x0208-{1978|1983|1990}' to `=jis-x0208@{1978|1983|1990}'.
80
81 2004-08-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
82
83         * fns.c (simplify_char_spec): Don't allocate new character-object
84         if specified char_spec does not have any CCS-features.
85
86         * chartab.h: Add EXFUN for Fdefine_char.
87
88         * chartab.c: Delete EXFUN for Fdefine_char.
89
90 2004-08-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
91
92         * fns.c (simplify_char_spec): Use Fdefine_char instead of
93         Ffind_char for char-spec.
94
95 2004-07-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
96
97         * lisp-disunion.h (XCHARVAL): Fix condition about
98         SIZEOF_EMACS_INT.
99
100 2004-07-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
101
102         * mule-charset.c (decode_builtin_char): Use <EMACS_INT> instead of
103         <int> for `code'.
104         (Fdecode_builtin_char): Use <EMACS_INT> instead of <int> for code
105         point; use <Emchar> instead of <int> for character-id.
106
107 2004-07-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
108
109         * lisp-disunion.h (make_int): Cast the argument into <EMACS_INT>.
110         (make_char): Likewise.
111         (XCHARVAL): Don't use the inline function for UTF-2000 in 64 bit
112         environment.
113         (XCHARVAL[for UTF-2000 in 32 bit environment]): Use <Emchar>
114         instead of <int> as the type of return value; use <Lisp_Object>
115         instead of <Emchar> as the type of argument.
116         (XCHARVAL[macro version]): Cast the result into <Emchar>.
117
118         * syntax.h (SYNTAX_CODE_UNSAFE): Use <Lisp_Object> and <enum
119         syntaxcode> instead of <int>.
120
121 2004-07-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
122
123         * chartab.c (put_char_composition): Use DECODE_CHAR to get
124         character corresponding with UCS code point.
125         (Fput_char_attribute): Likewise.
126
127         * mule-charset.c (put_char_ccs_code_point): Don't omit a UCS
128         character in the UCS decoding-table if the char-id is not equal to
129         the UCS code point.
130
131 2004-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
132
133         * mule-charset.c (Fsave_charset_properties): Use `true-name' only
134         for aliases; write `description'; write
135         `mother-code-{min|max|offset|conversion}' if CHARSET_MAX_CODE is
136         not 0.
137
138 2004-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
139
140         * chartab.c (Fsave_char_attribute_table): Don't use
141         `save_charset_properties'.
142
143         * mule-charset.c (Fsave_charset_properties): Renamed from
144         `save_charset_properties' and changed to Lisp function again;
145         write property `type' as `CCS'; write properties `final-byte' and
146         `mother' if they exists.
147         (syms_of_mule_charset): Revive builtin function
148         `save-charset-properties' when HAVE_LIBCHISE is defined.
149
150 2004-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
151
152         * chartab.c (open_chise_data_source_maybe): Use Vdata_directory
153         instead of Vexec_directory.
154         (char_attribute_system_db_file): Likewise.
155
156 2004-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
157
158         * chartab.c (Fsave_char_attribute_table): Use
159         `save_charset_properties' for CCS features when HAVE_LIBCHISE is
160         defined.
161
162         * mule-charset.c (save_charset_properties): Renamed from
163         `Fsave_charset_properties'; changed to non-Lisp function.
164         (syms_of_mule_charset): Abolish builtin function
165         `save-charset-properties'.
166
167 2004-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
168
169         * mule-charset.c (Fsave_charset_properties): New function when
170         HAVE_LIBCHISE is defined.
171         (syms_of_mule_charset): Add new builtin function
172         `save-charset-properties' when HAVE_LIBCHISE is defined.
173
174 2004-06-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
175
176         * chartab.c (Fput_char_attribute): Convert char-specs in value of
177         `{<-|->}ancient[^*]*' to characters and put reverse links.
178         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
179         for `{<-|->}ancient[^*]*'.
180
181 2004-06-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
182
183         * chartab.c (Fput_char_attribute): Convert char-specs in value of
184         `{<-|->}original[^*]*' to characters and put reverse links.
185         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
186         for `{<-|->}original[^*]*'.
187
188 2004-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
189
190         * mule-canna.c (m2c): Fix problem with XEmacs CHISE.
191
192 2004-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
193
194         * mule-charset.c (Qsystem_char_id): New variable.
195
196         * chartab.c (Qsystem_char_id): Deleted even if HAVE_CHISE is
197         defined and HAVE_LIBCHISE_LIBCHISE is not defined.
198
199 2004-05-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
200
201         * chartab.c (Fput_char_attribute): When processing a reference of
202         a character, put into the end of the reversed reference of each
203         target character.
204
205 2004-05-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
206
207         * chartab.c (Q_same): Deleted.
208         (Q_same_of): Deleted.
209         (Fput_char_attribute): Use Fstring_match to find `{<-|->}same'.
210         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
211         for `{<-|->}same'.
212         (syms_of_chartab): Delete builtin symbol `{<-|->}same'.
213
214 2004-05-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
215
216         * chartab.c (Q_vulgar): Deleted.
217         (Q_vulgar_of): Deleted.
218         (Fput_char_attribute): Use Fstring_match to find `{<-|->}vulgar'.
219         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
220         for `{<-|->}vulgar'.
221         (syms_of_chartab): Don't define `{<-|->}vulgar'.
222
223 2004-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
224
225         * chartab.c (Fput_char_attribute): Convert char-specs in value of
226         `{<-|->}wrong[^*]*' to characters and put reverse links.
227         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
228         for `{<-|->}wrong[^*]*'.
229
230 2004-04-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
231
232         * chartab.c (Q_vulgar): New variable.
233         (Q_vulgar_of): New variable.
234         (Fput_char_attribute): Convert char-specs in value of
235         `{->|<-}vulgar' to characters and put reverse links.
236         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
237         for `{->|<-}vulgar'.
238         (syms_of_chartab): Add new symbols `{->|<-}vulgar'.
239
240 2004-04-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
241
242         * text-coding.c (decode_add_er_char): Must to quote prefix string
243         as regexp.
244
245 2004-04-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
246
247         * mule-charset.c (put_char_ccs_code_point): Store characters of
248         =ucs whose code_points >= 0xF0000.
249
250 2004-04-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
251
252         * mule-charset.c (Vcharset_system_char_id): New variable in XEmacs
253         CHISE.
254         (syms_of_mule_charset): Add new symbol `system-char-id' in XEmacs
255         CHISE.
256         (complex_vars_of_mule_charset): Add new coded-charset
257         `system-char-id' in XEmacs CHISE; modify `=ucs' to eliminate
258         builtin characters over 0xEFFFF.
259
260         * chartab.c (syms_of_chartab): Don't define symbol
261         `system-char-id' in every case.
262
263         * char-ucs.h (Qsystem_char_id): New extern variable.
264         (LEADING_BYTE_SYSTEM_CHAR_ID): New macro.
265
266 2004-04-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
267
268         * text-coding.c (char_encode_utf8): Try to use entity-references
269         for U-000F0000 ...  U-0010FFFF.
270
271 2004-04-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
272
273         * text-coding.c (ER_BUF_SIZE): New macro.
274         (struct decoding_stream): Use `ER_BUF_SIZE' to specify size of
275         `er_buf'.
276         (decode_add_er_char): Use `ER_BUF_SIZE' instead of 16.
277         (char_encode_as_entity_reference): Use `ER_BUF_SIZE'.
278
279 2004-03-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
280
281         * chartab.c (find_char_feature_in_family): New function.
282         (Fchar_feature): Use `find_char_feature_in_family' with
283         `->identical', `<-subsumptive' and `<-denotational'.
284
285 2004-03-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
286
287         * text-coding.c (char_encode_as_entity_reference): Allow prefix
288         within 8 characters; fix infinite loop.
289
290 2004-03-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
291
292         * chartab.c (Q_same): New variable.
293         (Q_same_of): New variable.
294         (Fput_char_attribute): Convert char-specs in value of
295         `{->|<-}same' to characters and put reverse links.
296         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
297         for `{->|<-}same'.
298         (syms_of_chartab): Add new symbols `{->|<-}same'.
299
300 2004-03-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
301
302         * chartab.c (Q_component): New variable.
303         (Q_component_of): Likewise.
304         (Fput_char_attribute): Convert char-specs in value of
305         `{->|<-}ideographic-component-forms' to characters and put reverse
306         links.
307         (syms_of_chartab): Add new symbols
308         `{->|<-}ideographic-component-forms'.
309
310 2004-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
311
312         * chartab.c (Q_identical): New variable.
313         (Q_identical_from): New variable.
314         (Fchar_feature): Regard `->identical' as a feature to find
315         ancestors.
316         (Fput_char_attribute): Add reversed link for `{->|<-}identical'.
317         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
318         for `{->|<-}identical'.
319         (syms_of_chartab): Add new symbols `{->|<-}identical'.
320
321 2004-02-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
322
323         * char-ucs.h (encode_char_2): New inline function.
324         (CHAR_TO_CHARC): Use `encode_char_2' instead of `encode_char_1'.
325
326 2004-02-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
327
328         * chartab.c (Fput_char_attribute): Convert char-specs to
329         characters in value of `ideographic-structure'.
330         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
331         for `{<-|->}simplified(@...)'.
332         (Fdefine_char): bTry to use predefined character's id.
333
334 2004-02-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
335
336         * fns.c (simplify_char_spec): Try to convert builtin chars to
337         defined chars.
338
339 2004-02-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
340
341         * chartab.c (Fput_char_attribute): Convert char-specs in value of
342         `<-simplified[^*]*' to characters and put reverse links.
343
344 2004-02-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
345
346         * chartab.c (Q_subsumptive): Renamed from Q_unified.
347         (Q_subsumptive_from): Renamed from Q_unified_from.
348         (Fchar_feature): Use `Q_subsumptive_from' instead of
349         `Q_unified_from'.
350         (Fput_char_attribute): Likewise; Use `Q_subsumptive' instead of
351         `Q_unified'.
352         (syms_of_chartab): Rename `->unified' to `->subsumptive' and
353         `<-unified' to `<-subsumptive'.
354
355 2004-02-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
356
357         * chartab.c (Fchar_feature): Check `<-denotational' to avoid
358         inheritance itself; fix typo; stop recursive search if cyclic
359         inheritance is found.
360
361 2004-02-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
362
363         * chartab.c (Q_denotational): New variable.
364         (Q_denotational_from): New variable.
365         (Fchar_feature): Refer `<-denotational' as same as `<-unified'.
366         (put_char_attribute): New function.
367         (Fput_char_attribute): Use `put_char_attribute'; regard
368         `->denotational' and `<-denotational' as same as `->unified' and
369         `<-unified'.
370         (syms_of_chartab): Add new symbols `->denotational' and
371         `<-denotational'.
372
373 2004-02-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
374
375         * chartab.c (Fget_composite_char): Use `Fchar_feature' instead of
376         `Fget_char_attribute'.
377         (Fchar_variants): Likewise.
378         (get_char_table): Likewise.
379         (Fchar_feature): New function.
380         (put_char_composition): Use `Fchar_feature' instead of
381         `Fget_char_attribute'.
382         (Fput_char_attribute): Likewise; don't put the target character
383         into its `->unified' value.
384         (syms_of_chartab): Add new builtin function `char-feature'.
385
386 2004-01-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
387
388         * text-coding.c (COMPOSE_ADD_CHAR): Use `Fchar_feature' instead of
389         `Fget_char_attribute'.
390         (char_encode_utf8): Likewise.
391
392         * chartab.h: Add an EXFUN for `Fchar_feature'.
393
394 2004-01-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
395
396         * chartab.c (Vnext_defined_char_id): New variable.
397         (Fput_char_attribute): Accept characters in `->unified'.
398         (Fdefine_char): Refer and update Vnext_defined_char_id to allocate
399         new characters which are not related with builtin char-id ranges.
400         (vars_of_chartab): Add new variable `next-defined-char-id'.
401
402 2004-01-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
403
404         * chartab.c (Q_unified): New variable.
405         (Q_unified_from): New variable.
406         (Fput_char_attribute): Add code for `->unified'.
407         (syms_of_chartab): Add new symbols `->unified' and `<-unified' in
408         XEmacs CHISE.
409
410 2003-11-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
411
412         * mule-charset.c (decode_ccs_conversion): New function.
413         (decode_defined_char): Use `decode_ccs_conversion'.
414         (decode_builtin_char): Likewise.
415
416 2003-11-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
417
418         * char-ucs.h: Change some charset-ids of private coded-charsets.
419
420 2003-11-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
421
422         * text-coding.c (decode_add_er_char): Modify for `DECODE_CHAR'.
423         (char_encode_as_entity_reference): Likewise.
424         (decode_coding_big5): Modify for `decode_defined_char' and
425         `DECODE_CHAR'.
426         (decode_coding_utf8): Modify for `decode_defined_char'; modify to
427         avoid compiler warning.
428         (decode_coding_iso2022): Modify for `DECODE_CHAR'.
429
430         * mule-charset.c (decode_defined_char): Add new argument
431         `without_inheritance'.
432         (Fdecode_char): Add new optional argument `without_inheritance'.
433         (Fdecode_builtin_char): Modify for `Fdecode_char'.
434
435         * fns.c (ids_format_unit): Modify for `Fdecode_char'.
436         (simplify_char_spec): Likewise.
437
438         * chartab.h (Fdecode_char): Modify number of arguments of EXFUN
439         setting.
440
441         * chartab.c (put_char_table): Modify for `DECODE_CHAR'.
442         (map_char_table): Likewise.
443         (Fdefine_char): Use `Fdecode_char' without inheritance.
444         (Ffind_char): Modify for `Fdecode_char'.
445
446         * character.h (CHARC_TO_CHAR): Modify for `DECODE_CHAR'.
447
448         * char-ucs.h (decode_defined_char): Add new argument
449         `without_inheritance'.
450         (DECODE_CHAR): Likewise.
451         (MAKE_CHAR): Modify for `DECODE_CHAR'.
452
453 2003-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
454
455         * chartab.c (Vchise_system_db_directory): New variable.
456         (vars_of_chartab): Add new variable `chise-system-db-directory'.
457
458 2003-10-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
459
460         * chartab.c: EXFUN `Fmount_char_attribute_table'.
461         (print_chartab_range): Don't define when `UTF2000' is defined.
462         (open_chise_data_source_maybe): Specify 0 instead of DB_HASH for
463         `CHISE_DS_open'.
464
465 2003-10-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
466
467         * chartab.c (Fchar_attribute_list): When HAVE_LIBCHISE is defined
468         and optional argument `rehash' is specified, call
469         `open_chise_data_source_maybe' before
470         `chise_ds_foreach_char_feature_name' is called.
471
472 2003-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
473
474         * chartab.c (char_attribute_list_reset_map_func): New function
475         when HAVE_LIBCHISE is defined.
476         (Fchar_attribute_list): Add new optional argument `rehash' when
477         HAVE_LIBCHISE is defined.
478         (open_chise_data_source_maybe): Use "chise-db" instead of
479         "char-db".
480         (char_attribute_system_db_file): Likewise.
481         (Fload_char_attribute_table): Use
482         `chise_feature_foreach_char_with_value' instead of
483         `chise_char_feature_value_iterate'.
484
485 2003-10-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
486
487         * chartab.c (Vchise_db_directory): New variable.
488         (vars_of_chartab): Add new built-in variable `chise-db-directory'.
489
490 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
491
492         * mule-charset.c (Freset_charset_mapping_table): Use HAVE_LIBCHISE
493         instead of HAVE_CHISE to specify using with libchise.
494
495         * config.h.in (HAVE_CHISE_CLIENT): Deleted.
496
497         * chartab.h: Don't use HAVE_CHISE_CLIENT.
498
499         * chartab.c (Qsystem_char_id): Don't define when HAVE_CHISE is not
500         defined or HAVE_LIBCHISE_LIBCHISE is defined.
501         (char_attribute_system_db_file): Don't define when HAVE_LIBCHISE
502         is defined.
503         (Freset_char_attribute_table): Use HAVE_LIBCHISE instead of
504         HAVE_CHISE to specify using with libchise.
505         (syms_of_chartab): Don't define symbol `system-char-id' when
506         HAVE_CHISE is not defined or HAVE_LIBCHISE_LIBCHISE is defined.
507
508 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
509
510         * mule-charset.c: Use HAVE_CHISE instead of HAVE_CHISE_CLIENT to
511         specify CHISE DB support.
512         (Freset_charset_mapping_table): Use `chise_ccs_setup_db' instead
513         of `char_attribute_system_db_file' to check feature DB file.
514
515         * chartab.h, casetab.c, char-ucs.h: Use HAVE_CHISE instead of
516         HAVE_CHISE_CLIENT to specify CHISE DB support.
517
518         * chartab.c: Use HAVE_CHISE instead of HAVE_CHISE_CLIENT to
519         specify CHISE DB support.
520         (open_chise_data_source_maybe): Don't define when HAVE_LIBCHISE is
521         not defined.
522         (Freset_char_attribute_table): Use `chise_feature_setup_db'
523         instead of `char_attribute_system_db_file' to check feature DB
524         file.
525
526 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
527
528         * mule.c (vars_of_mule): Use `HAVE_CHISE' instead of `CHISE' and
529         `HAVE_CHISE_CLIENT'.
530
531 2003-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
532
533         * mule-charset.c: Use HAVE_LIBCHISE instead of CHISE.
534         (Fsave_charset_mapping_table): Don't use
535         `char_attribute_system_db_file' when HAVE_LIBCHISE is defined.
536
537         * config.h.in (HAVE_CHISE): Renamed from `CHISE'.
538         (HAVE_LIBCHISE): New macro.
539
540         * chartab.h: Use HAVE_LIBCHISE instead of CHISE.
541
542         * chartab.c: Use HAVE_LIBCHISE instead of CHISE.
543         (Fsave_char_attribute_table): Don't use
544         `char_attribute_system_db_file' when HAVE_LIBCHISE is defined.
545
546 2003-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
547
548         * chartab.c (save_uint8_byte_table): Use libchise when CHISE is
549         defined.
550         (save_uint16_byte_table): Likewise.
551         (save_byte_table): Likewise.
552         (char_table_get_db): Use `chise_ds_load_char_feature_value'
553         instead of `chise_char_load_feature_value'.
554         (Fsave_char_attribute_table): Use libchise when CHISE is defined.
555
556 2003-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
557
558         * chartab.h (struct Lisp_Char_Table): Delete member
559         `feature_table' if CHISE is defined.
560
561         * chartab.c (Fmake_char_table): Don't refer `ct->feature_table'.
562         (Fcopy_char_table): Likewise.
563         (char_table_open_db_maybe): Likewise.
564         (char_table_close_db_maybe): Likewise.
565         (char_table_get_db): Likewise.
566         (Fmount_char_attribute_table): Likewise.
567         (Fload_char_attribute_table): Likewise.
568
569 2003-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
570
571         * mule-charset.c (load_char_decoding_entry_maybe): Use
572         `chise_ds_decode_char' instead of `chise_ds_get_ccs' and
573         `chise_ccs_decode'.
574
575 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
576
577         * chartab.c (open_chise_data_source_maybe): Use `CHISE_DS_open'
578         instead of `chise_open_data_source'.
579         (Fclose_char_data_source): Use `CHISE_DS_close' instead of
580         `chise_ds_close'.
581
582 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
583
584         * chartab.c (char_table_open_db_maybe): Use `chise_ds_get_feature'
585         instead of `chise_ds_open_feature_table'.
586         (char_table_close_db_maybe): Don't use `chise_ft_close'.
587
588 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
589
590         * mule-charset.c (Fsave_charset_mapping_table): Use
591         `chise_ds_get_ccs' instead of `chise_ds_open_ccs_table'; use
592         `chise_ccs_set_decoded_char' instead of `chise_ccst_put_char'; use
593         `chise_ccs_sync' instead of `chise_ccst_close'.
594         (load_char_decoding_entry_maybe): Modify for `chise_ds_get_ccs'.
595
596         * chartab.c (open_chise_data_source_maybe): Modify for
597         `chise_open_data_source'.
598         (char_table_open_db_maybe): Modify for
599         `chise_ds_open_feature_table'.
600
601 2003-08-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
602
603         * mule-charset.c (load_char_decoding_entry_maybe): Use
604         `chise_ds_get_ccs' instead of `chise_ds_open_ccs_table'; don't use
605         `chise_ccst_close'.
606
607 2003-08-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
608
609         * mule-charset.c (Fsave_charset_mapping_table): Use
610         `chise_ds_open_ccs_table', `chise_ccst_put_char' and
611         `chise_ccst_close' instead of `chise_ds_open_decoding_table',
612         `chise_dt_put_char' and `chise_dt_close'.
613         (load_char_decoding_entry_maybe): Use `chise_ds_open_ccs_table',
614         `chise_ccs_decode' and `chise_ccst_close' instead of
615         `chise_ds_open_decoding_table', `chise_dt_get_char' and
616         `chise_dt_close'.
617
618         * chartab.c (char_table_get_db): Use
619         `chise_char_load_feature_value' instead of `chise_ft_get_value'.
620         (load_char_attribute_table_map_func): Modify for
621         `chise_char_feature_value_iterate'.
622         (Fload_char_attribute_table): Use
623         `chise_char_feature_value_iterate' instead of `chise_ft_iterate'.
624
625 2003-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
626
627         * text-coding.c (COMPOSE_ADD_CHAR): Fixed.
628
629 2003-08-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
630
631         * chartab.c (put_char_table): Modify for inherited coded-charsets
632         in XEmacs CHISE.
633
634 2003-08-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
635
636         * chartab.c (Fput_char_table_map_function): Fixed.
637         (word_boundary_p): Don't check charset in XEmacs CHISE.
638
639 2003-08-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
640
641         * mule-charset.c (Fsave_charset_mapping_table): Use
642         `open_chise_data_source_maybe'; use `chise_ds_open_decoding_table'
643         instead of `chise_open_decoding_table'; refer
644         `default_chise_data_source'; use `chise_dt_close' instead of
645         `chise_close_decoding_table'.
646         (load_char_decoding_entry_maybe): Likewise.
647
648         * chartab.c (default_chise_data_source): New variable when `CHISE'
649         is defined.
650         (Fcopy_char_table): `ct->ds' is deleted.
651         (open_chise_data_source_maybe): New function.
652         (Fclose_char_data_source): New function.
653         (char_table_open_db_maybe): Use `open_chise_data_source_maybe';
654         use `chise_ds_open_feature_table' instead of
655         `chise_open_feature_table'.
656         (char_table_close_db_maybe): Use `chise_ft_close' instead of
657         `chise_close_feature_table'; `cit->ds' is deleted.
658         (syms_of_chartab): Add new builtin function
659         `close-char-data-source' when `HAVE_CHISE_CLIENT' is defined.
660
661         * chartab.h (default_chise_data_source): New extern variable.
662         (open_chise_data_source_maybe): New prototype.
663         (struct Lisp_Char_Table): Delete `ds'.
664
665 2003-08-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
666
667         * mule-charset.c (Fsave_charset_mapping_table): Use libchise when
668         `CHISE' is defined.
669
670 2003-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
671
672         * chartab.c (char_table_open_db_maybe): Defined even if `CHISE' is
673         not defined; add code for non-libchise setting.
674         (char_table_close_db_maybe): Likewise.
675         (char_table_get_db): New function when `HAVE_CHISE_CLIENT' is
676         defined.
677         (Fclose_char_attribute_table): Use `char_table_close_db_maybe'
678         even if `CHISE' is not defined.
679         (Freset_char_attribute_table): Likewise.
680         (load_char_attribute_maybe): Use `char_table_open_db_maybe' and
681         `char_table_close_db_maybe' even if `CHISE' is not defined; use
682         `char_table_get_db'.
683         (Fload_char_attribute_table): Use `char_table_open_db_maybe' and
684         `char_table_close_db_maybe' even if `CHISE' is not defined.
685
686 2003-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
687
688         * chartab.c (char_table_open_db_maybe): New function.
689         (char_table_close_db_maybe): New function.
690         (Fclose_char_attribute_table): Use `char_table_close_db_maybe'.
691         (Freset_char_attribute_table): Likewise.
692         (load_char_attribute_maybe): Use `char_table_open_db_maybe' and
693         `char_table_close_db_maybe'.
694         (Fload_char_attribute_table): Likewise.
695
696 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
697
698         * chartab.c: Don't include <chise.h> because it is included in
699         chartab.h.
700         (Fmake_char_table): Initialize `ct->feature_table' when `CHISE' is
701         defined.
702         (Fcopy_char_table): Copy `ct->ds' and `ct->feature_table' when
703         `CHISE' is defined.
704         (Fmount_char_attribute_table): Initialize `ct->feature_table' when
705         `CHISE' is defined.
706         (Fclose_char_attribute_table): Close `ct->feature_table' and
707         `ct->ds' when `CHISE' is defined.
708         (Freset_char_attribute_table): Likewise.
709         (load_char_attribute_maybe): Use `cit->ds' and
710         `cit->feature_table' when `CHISE' is defined.
711         (Fload_char_attribute_table): Likewise.
712
713         * chartab.h: Include <chise.h> when `CHISE' is defined.
714         (struct Lisp_Char_Table): Add new member `ds' and `feature_table'
715         when `CHISE' is defined.
716
717 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
718
719         * chartab.c (mark_char_table): Member `db' is deleted when `CHISE'
720         is defined.
721         (char_table_description): Likewise.
722         (Fmake_char_table): Likewise.
723         (Fcopy_char_table): Likewise.
724         (Fmount_char_attribute_table): Likewise.
725         (Fclose_char_attribute_table): Likewise.
726         (Freset_char_attribute_table): Likewise.
727         (load_char_attribute_maybe): Likewise.
728         (Fload_char_attribute_table): Likewise.
729
730         * chartab.h (struct Lisp_Char_Table): Delete `db' when `CHISE' is
731         defined.
732
733 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
734
735         * chartab.c (load_char_attribute_table_map_func): New function
736         when CHISE is defined.
737         (Qload_char_attribute_table_map_function): Don't define when CHISE
738         is defined.
739         (Fload_char_attribute_table_map_function): Likewise.
740         (Fload_char_attribute_table): Use libchise when `CHISE' is
741         defined.
742         (syms_of_chartab): Don't define
743         `load-char-attribute-table-map-function' when CHISE is defined.
744
745 2003-08-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
746
747         * chartab.c: Include <chise.h> when `CHISE' is defined.
748         (load_char_attribute_maybe): Use libchise when `CHISE' is defined.
749
750 2003-07-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
751
752         * mule-charset.c (charset_code_point): Fix problem when searching
753         in mother CCS fails with `defined_only' mode.
754
755 2003-06-29  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
756
757         * chartab.c (Q_ucs_unified): Renamed from `Q_ucs_variants'.
758         (Fchar_variants): Rename `Q_ucs_variants' to `Q_ucs_unified'.
759         (put_char_composition): Likewise.
760         (Fput_char_attribute): Likewise.
761         (syms_of_chartab): Rename `->ucs-variants' to `->ucs-unified'.
762
763 2003-06-29  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
764
765         * chartab.c (Q_ucs): Deleted.
766         (Fput_char_attribute): Don't refer `->ucs'.
767         (Fdefine_char): Likewise.
768         (Ffind_char): Likewise.
769         (syms_of_chartab): Delete `->ucs'.
770
771 2003-04-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
772
773         * mule-charset.c (Qmap_cns11643_2): Renamed from
774         `Qchinese_cns11643_2'.
775         (syms_of_mule_charset): Add new symbol `=cns11643-2' instead of
776         `chinese-cns11643-2'.
777         (complex_vars_of_mule_charset): Rename `chinese-cns11643-2' to
778         `=cns11643-2'.
779
780 2003-04-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
781
782         * mule-charset.c (Qmap_cns11643_1): Renamed from
783         `Qchinese_cns11643_1'.
784         (syms_of_mule_charset): Add new symbol `=cns11643-1' instead of
785         `chinese-cns11643-1'.
786         (complex_vars_of_mule_charset): Rename `chinese-cns11643-1' to
787         `=cns11643-1'.
788
789 2003-04-24  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
790
791         * mule-charset.c (Qmap_gb12345): Renamed from `Qchinese_gb12345'.
792         (syms_of_mule_charset): Add new symbol `=gb12345' instead of
793         `chinese-gb12345'.
794         (complex_vars_of_mule_charset): Rename `chinese-gb12345' to
795         `=gb12345'.
796
797 2003-04-21  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
798
799         * mule-charset.c (Qmap_gb2312): Renamed from `Qchinese_gb2312'.
800         (syms_of_mule_charset): Add new symbol `=gb2312' instead of
801         `chinese-gb2312'.
802         (complex_vars_of_mule_charset): Rename `chinese-gb2312' to
803         `=gb2312'.
804
805 2003-04-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
806
807         * mule-charset.c (Qmap_big5): Renamed from `Qchinese_big5'.
808         (syms_of_mule_charset): Add new symbol `=big5' instead of
809         `chinese-big5'.
810         (complex_vars_of_mule_charset): Rename `chinese-big5' to `=big5'.
811
812 2003-04-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
813
814         * mule-charset.c (Qmap_ks_x1001): Renamed from `Qkorean_ksc5601'.
815         (syms_of_mule_charset): Add new symbol `=ks-x1001' instead of
816         `korean-ksc5601'.
817         (complex_vars_of_mule_charset): Rename `korean-ksc5601' to
818         `=ks-x1001'.
819
820 2003-04-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
821
822         * mule-charset.c (Qmap_jis_x0212): Renamed from
823         `Qjapanese_jisx0212'.
824         (syms_of_mule_charset): Add new symbol `=jis-x0212' instead of
825         `japanese-jisx0212'.
826         (complex_vars_of_mule_charset): Rename `japanese-jisx0212' to
827         `=jis-x0212'.
828
829 2003-04-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
830
831         * mule-charset.c (Qmap_jis_x0208_1983): Renamed from
832         `Qjapanese_jisx0208'.
833         (syms_of_mule_charset): Add new symbol `=jis-x0208-1983' instead
834         of `japanese-jisx0208'.
835         (complex_vars_of_mule_charset): Rename `japanese-jisx0208' to
836         `=jis-x0208-1983'.
837
838 2003-04-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
839
840         * mule-charset.c (Qmap_jis_x0208_1978): Renamed from
841         `Qjapanese_jisx0208_1978'.
842         (syms_of_mule_charset): Add new symbol `=jis-x0208-1978' instead
843         of `japanese-jisx0208-1978'.
844         (complex_vars_of_mule_charset): Rename `japanese-jisx0208-1978' to
845         `=jis-x0208-1978'.
846
847 2003-04-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
848
849         * chartab.c (decode_char_table_range): CHARTAB_RANGE_DEFAULT is
850         only for XEmacs CHISE.
851
852 2003-04-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
853
854         * char-ucs.h: Compact non-ISO-IR charset-ids.
855         (LEADING_BYTE_UCS): Changed to -177.
856         (LEADING_BYTE_CONTROL_1): Changed to -77.
857         (LEADING_BYTE_UCS_BMP): Changed to -176.
858         (LEADING_BYTE_JAPANESE_JISX0208_1990): Changed to -168.
859
860 2003-04-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
861
862         * mule-charset.c (Qiso_ir): New variable.
863         (Fmake_charset): Recognise new property `iso-ir'.
864         (syms_of_mule_charset): Add new symbol `iso-ir'.
865
866 2003-04-02  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
867
868         * char-ucs.h: Change charset-id of ISO-IR sets from ISO-IR-number
869         n to -n; charset-id of non ISO-IR sets are changed to positive
870         numbers.
871
872 2003-03-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
873
874         * text-coding.c (decode_add_er_char): Use XUINT instead of XINT
875         for &MCS-XXXXXXXX; values.
876
877 2003-03-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
878
879         * mule.c (Vxemacs_chise_version): Renamed from
880         `Vutf_2000_version'.
881         (vars_of_mule): Add new variable `xemacs-chise-version'; define
882         `utf-2000-version' as an alias for `xemacs-chise-version'.
883
884 2003-03-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
885
886         * mule-charset.c: Include <chise.h> when `CHISE' is defined.
887         (load_char_decoding_entry_maybe): Use libchise when `CHISE' is
888         defined.
889
890         * config.h.in (CHISE): New macro.
891
892 2003-03-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
893
894         * mule-charset.c (put_char_ccs_code_point): Refer `=ucs' instead
895         of `ucs'.
896         (Qmap_ucs): New variable.
897         (syms_of_mule_charset): Add new symbol `=ucs'.
898         (complex_vars_of_mule_charset): Rename `ucs' to `=ucs'.
899
900         * fns.c (ids_format_unit): Refer `=ucs' instead of `ucs'.
901         (simplify_char_spec): Likewise.
902
903         * chartab.c (Fdefine_char): Refer `=ucs' as same as `ucs'.
904
905         * char-ucs.h (Qmap_ucs): New extern variable.
906
907 2003-03-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
908
909         * mule-charset.c (Qmap_jis_x0208): Renamed from `Qjis_x0208'.
910         (Qmap_jis_x0208_1990): Renamed from `Qjapanese_jisx0208_1990';
911         don't define it when UTF2000 is not defined.
912         (syms_of_mule_charset): Modify for `Qmap_jis_x0208'; rename
913         `japanese-jisx0208-1990' to `=jis-x0208-1990'; don't define it
914         when UTF2000 is not defined.
915         (complex_vars_of_mule_charset): Modify for `Qmap_jis_x0208';
916         rename `japanese-jisx0208-1990' to `=jis-x0208-1990'.
917
918 2003-03-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
919
920         * char-ucs.h (LEADING_BYTE_UCS_GB): Deleted.
921
922         * mule-charset.c (Vcharset_ucs_gb): Deleted.
923         (Qucs_gb): Deleted.
924         (syms_of_mule_charset): Delete `ucs-gb'.
925         (complex_vars_of_mule_charset): Likewise.
926
927 2003-03-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
928
929         * char-ucs.h (LEADING_BYTE_UCS_CNS): Deleted.
930
931         * mule-charset.c (Vcharset_ucs_cns): Deleted.
932         (Qucs_cns): Deleted.
933         (syms_of_mule_charset): Delete `ucs-cns'.
934         (complex_vars_of_mule_charset): Likewise.
935
936 2003-03-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
937
938         * char-ucs.h (LEADING_BYTE_UCS_JIS): Deleted.
939
940         * mule-charset.c (Vcharset_ucs_jis): Deleted.
941         (Qucs_jis): Deleted.
942         (syms_of_mule_charset): Delete `ucs-jis'.
943         (complex_vars_of_mule_charset): Likewise.
944
945 2003-03-02  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
946
947         * char-ucs.h (LEADING_BYTE_UCS_KS): Deleted.
948
949         * mule-charset.c (Vcharset_ucs_ks): Deleted.
950         (Qucs_ks): Deleted.
951         (syms_of_mule_charset): Delete `ucs-ks'.
952         (complex_vars_of_mule_charset): Likewise.
953
954 2003-03-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
955
956         * mule-charset.c (Vcharset_ideograph_daikanwa_2): Deleted.
957         (Qideograph_daikanwa_2): Deleted.
958         (syms_of_mule_charset): Delete `ideograph-daikanwa-2'.
959         (complex_vars_of_mule_charset): Likewise.
960
961         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): Deleted.
962         (LEADING_BYTE_DAIKANWA_1): Deleted.
963         (LEADING_BYTE_DAIKANWA_2): Deleted.
964         (MIN_CHAR_DAIKANWA): Deleted.
965         (MAX_CHAR_DAIKANWA): Deleted.
966
967 2003-02-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
968
969         * char-ucs.h (LEADING_BYTE_DAIKANWA_3): Deleted.
970         (LEADING_BYTE_HANZIKU_{1..12}): Deleted.
971         ({MIN|MAX}_CHAR_HANZIKU_{1..12}): Deleted.
972
973         * mule-charset.c (Vcharset_ideograph_hanziku_{1..12}): Deleted.
974         (Vcharset_ideograph_daikanwa): Deleted.
975         (Qideograph_hanziku_{1..12}): Deleted.
976         (Qideograph_daikanwa): Deleted.
977         (encode_builtin_char_1): Don't use {MIN|MAX}_CHAR_DAIKANWA and
978         Vcharset_ideograph_daikanwa.
979         (syms_of_mule_charset): Delete `ideograph-daikanwa' and
980         `ideograph-hanziku-{1..12}'.
981         (complex_vars_of_mule_charset): Likewise.
982
983 2003-02-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
984
985         * char-ucs.h (LEADING_BYTE_GT_PJ_{1..11}): Deleted.
986
987         * mule-charset.c (Vcharset_ideograph_gt_pj_{1..11}): Deleted.
988         (Qideograph_gt_pj_{1..11}): Deleted.
989         (syms_of_mule_charset): Delete `ideograph-gt-pj-{1..11}'.
990         (complex_vars_of_mule_charset): Likewise.
991
992 2003-02-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
993
994         * mule-charset.c (Vcharset_ucs_big5): Deleted.
995         (Vcharset_ideograph_gt): Deleted.
996         (Qucs_big5): Deleted.
997         (Qideograph_gt): Deleted.
998         (syms_of_mule_charset): Delete symbol `ucs-big5' and
999         `ideograph-gt'.
1000         (complex_vars_of_mule_charset): Delete coded-charset `ucs-big5'
1001         and `ideograph-gt'.
1002
1003         * char-ucs.h (LEADING_BYTE_UCS_BIG5): Deleted.
1004         (LEADING_BYTE_GT): Deleted.
1005         (MIN_CHAR_GT): Deleted.
1006         (MAX_CHAR_GT): Deleted.
1007
1008 2003-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1009
1010         * chartab.c (Fput_char_attribute): Canonicalise charset-aliases.
1011
1012 2003-01-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1013
1014         * chartab.c (save_uint8_byte_table): Add new argument `filter'.
1015         (save_uint16_byte_table): Likewise.
1016         (save_byte_table): Likewise; convert values by it.
1017         (Fput_char_attribute): Don't use `char-refs-simplify-char-specs'
1018         for `ideographic-structure'.
1019         (Fsave_char_attribute_table): Use `char-refs-simplify-char-specs'
1020         as the filter for `ideographic-structure'.
1021
1022 2003-01-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1023
1024         * chartab.c (put_char_composition): New function.
1025         (Fput_char_attribute): Use `put_char_composition'; use
1026         `Fchar_refs_simplify_char_specs' for `ideographic-structure'.
1027
1028         * fns.c (simplify_char_spec): New function.
1029         (char_ref_simplify_spec): New function.
1030         (Fchar_refs_simplify_char_specs): New function.
1031         (syms_of_fns): Add new builtin function
1032         `char-refs-simplify-char-specs'.
1033
1034 2003-01-05  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1035
1036         * mule-charset.c (Vcharset_ideograph_cbeta): Deleted.
1037         (Qideograph_cbeta): Deleted.
1038         (syms_of_mule_charset): Don't define `ideograph-cbeta'.
1039         (complex_vars_of_mule_charset): Likewise.
1040
1041         * char-ucs.h (LEADING_BYTE_CBETA): Deleted.
1042         (MIN_CHAR_CBETA): Comment out.
1043         (MAX_CHAR_CBETA): Likewise.
1044
1045 2002-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1046
1047         * mule-charset.c, chartab.h, casetab.c, char-ucs.h, chartab.c: Use
1048         `HAVE_CHISE_CLIENT' instead of `HAVE_DATABASE' to indicate the
1049         CHISE client feature.
1050
1051 2002-12-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1052
1053         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.20.
1054
1055 2002-12-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1056
1057         * mule-charset.c (charset_lookup_description_1): Use
1058         `NUM_LEADING_BYTES' in UTF-2000.
1059
1060 2002-12-18  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1061
1062         * char-ucs.h (GC_CHARSETP): Deleted.
1063
1064 2002-12-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1065
1066         * char-ucs.h (MAX_CHAR_GT): Updated.
1067
1068 2002-12-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1069
1070         * text-coding.c: Sync with XEmacs 21.4.10.
1071
1072 2002-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1073
1074         * mule-charset.c (Vcharset_china3_jef): Deleted.
1075         (Qchina3_jef): Deleted.
1076         (syms_of_mule_charset): Don't define `china3-jef'.
1077         (complex_vars_of_mule_charset): Likewise.
1078
1079         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Deleted.
1080         (MIN_CHAR_CHINA3_JEF): Comment out.
1081         (MAX_CHAR_CHINA3_JEF): Comment out.
1082
1083 2002-11-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1084
1085         * mule-charset.c (Vcharset_ucs_gb): New variable.
1086         (Qucs_gb): New variable.
1087         (syms_of_mule_charset): Add new symbol `ucs-gb'.
1088         (complex_vars_of_mule_charset): Add new coded-charset `ucs-gb'.
1089
1090         * char-ucs.h (LEADING_BYTE_UCS_GB): New macro.
1091
1092 2002-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1093
1094         * mule-charset.c (charset_code_point): if a coded-charset has a
1095         final-byte, don't inherit the builtin range of the mother CCS.
1096
1097 2002-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1098
1099         * mule-charset.c (charset_code_point): Fix problem about
1100         inheritance.
1101
1102 2002-11-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1103
1104         * mule-charset.c (decode_builtin_char): Reorganized.
1105
1106 2002-10-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1107
1108         * text-coding.c (char_encode_as_entity_reference): Modify for
1109         `charset_code_point'.
1110         (char_encode_shift_jis): Likewise.
1111         (char_encode_big5): Likewise.
1112         (char_encode_utf8): Likewise.
1113         (char_encode_iso2022): Likewise.
1114
1115         * mule-charset.c (charset_code_point): Add new argument
1116         `defined_only'.
1117         (Fencode_char): Add new optional argument `defined_only'.
1118
1119         * chartab.c (put_char_table): Modify for `charset_code_point'.
1120
1121         * char-ucs.h (charset_code_point): Add new argument
1122         `defined_only'.
1123         (encode_char_1): Modify for `charset_code_point'.
1124
1125 2002-10-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1126
1127         * mule-charset.c (complex_vars_of_mule_charset): Don't specify
1128         `MIN_CHAR_THAI' and `MAX_CHAR_THAI' for `thai-tis620'.
1129
1130 2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1131
1132         * mule-charset.c (Vcharset_jis_x0208): New variable in UTF-2000.
1133         (Qjis_x0208): Likewise.
1134         (decode_builtin_char): Prefer XCHARSET_MAX_CODE(charset) than
1135         XCHARSET_FINAL(charset).
1136         (charset_code_point): Modify condition for final-byte based
1137         builtin-chars.
1138         (syms_of_mule_charset): Add new symbol `=jis-x0208' in UTF-2000.
1139         (complex_vars_of_mule_charset): Add new coded-charset `=jis-x0208'
1140         in UTF-2000; specify `=jis-x0208' as the mother of
1141         `japanese-jisx0208-1978', `japanese-jisx0208' and
1142         `japanese-jisx0208-1990' in UTF-2000.
1143
1144 2002-10-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1145
1146         * char-ucs.h (LEADING_BYTE_JIS_X0208): New macro.
1147
1148 2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1149
1150         * text-coding.c (decode_coding_utf16): Support UTF-16.
1151         (char_encode_utf16): Fixed.
1152
1153 2002-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1154
1155         * text-coding.c (Qutf16): New variable in MULE.
1156         (Fmake_coding_system): Accept `utf-16' as `type' in MULE.
1157         (Fcoding_system_type): Add `utf-16' in MULE.
1158         (struct detection_state): Add a structure for utf16 in MULE.
1159         (detect_coding_type): Setup st->utf16.mask in MULE.
1160         (mule_decode): Use `decode_coding_utf16' for `CODESYS_UTF16' in
1161         MULE.
1162         (reset_encoding_stream): Use `char_encode_utf16' and
1163         `char_finish_utf16' for `CODESYS_UTF16' in MULE.
1164         (detect_coding_utf16): New function [incomplete].
1165         (decode_coding_utf16): New function [support only UCS-2].
1166         (char_encode_utf16): New function.
1167         (char_finish_utf16): New function.
1168         (syms_of_file_coding): Add new symbol `utf-16'; setup
1169         `coding_category_symbol[CODING_CATEGORY_UTF16]'.
1170
1171         * file-coding.h (enum coding_system_type): Add `CODESYS_UTF16' in
1172         UTF-2000.
1173         (enum coding_category_type): Add `CODING_CATEGORY_UTF16' in MULE.
1174         (CODING_CATEGORY_UTF16_MASK): New macro in MULE.
1175
1176 2002-10-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1177
1178         * chartab.c (put_char_table): When a charset is specified as a
1179         range in UTF-2000, don't support builtin characters.
1180
1181 2002-09-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1182
1183         * mule-charset.c (decode_defined_char): Don't refer external
1184         database if Qunbound or Qnil are found.
1185         (Fsave_charset_mapping_table): Don't define it if
1186         HAVE_CHISE_CLIENT is not defined.
1187         (Freset_charset_mapping_table): New function.
1188         (load_char_decoding_entry_maybe): Store Qnil if a character is not
1189         found in external database.
1190         (syms_of_mule_charset): Don't define `save-charset-mapping-table'
1191         if HAVE_CHISE_CLIENT is not defined; add new builtin function
1192         `reset-charset-mapping-table' if HAVE_CHISE_CLIENT is defined.
1193
1194 2002-09-18  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1195
1196         * text-coding.c (decode_coding_utf8): Check CCS is specified or
1197         not.
1198
1199 2002-08-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1200
1201         * chartab.h: Add extern declarations for Qdowncase, Qflippedcase,
1202         Q_lowercase, Q_uppercase in UTF-2000.
1203
1204         * chartab.c (get_char_table): Add special code for the standard
1205         case table to use character attribute `->downcase' and
1206         `->uppercase' for case operations in UTF-2000.
1207
1208         * casetab.c (Qflippedcase): New variable in UTF-2000.
1209         (Q_lowercase): Likewise.
1210         (Q_uppercase): Likewise.
1211         (syms_of_casetab): Add new symbols `flippedcase', `->lowercase'
1212         and `->uppercase' in UTF-2000.
1213         (complex_vars_of_casetab): Assign attribute name `downcase' to
1214         downcase and CANON table of Vstandard_case_table in UTF-2000;
1215         assign attribute name `flippedcase' to upcase and EQV table of
1216         Vstandard_case_table in UTF-2000.
1217
1218 2002-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1219
1220         * text-coding.c (decode_add_er_char): Support isolated-chars.
1221         (char_encode_as_entity_reference): Likewise.
1222
1223 2002-08-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1224
1225         * emacs.c (Vutf_2000_lisp_directory): New variable.
1226         (Vconfigure_utf_2000_lisp_directory): Likewise.
1227         (complex_vars_of_emacs): Add new variable
1228         `utf-2000-lisp-directory' and `configure-utf-2000-lisp-directory'.
1229
1230 2002-08-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1231
1232         * char-ucs.h (DECODE_CHAR): Delete special code for
1233         `chinese-big5-1' and `chinese-big5-2'.
1234
1235         * mule-charset.c (Qbig5_1): New variable in UTF-2000.
1236         (Qbig5_2): Likewise.
1237         (decode_defined_char): Support CONVERSION_BIG5_1 and
1238         CONVERSION_BIG5_2.
1239         (decode_builtin_char): Likewise.
1240         (charset_code_point): Likewise.
1241         (Fmake_charset): Accept `big5-1' and `big5-2' as a value of
1242         'conversion in UTF-2000.
1243         (syms_of_mule_charset): Add new symbol `big5-1' and `big5-2'.
1244         (complex_vars_of_mule_charset): Define `chinese-big5-1' and
1245         `chinese-big5-2' as children of `chinese-big5'.
1246
1247         * char-ucs.h (CONVERSION_BIG5_1): New macro.
1248         (CONVERSION_BIG5_2): New macro.
1249
1250 2002-08-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1251
1252         * text-coding.c (char_encode_big5): Support entity-reference.
1253
1254 2002-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1255
1256         * text-coding.c (char_encode_as_entity_reference): New function.
1257         (char_encode_utf8): Use `char_encode_as_entity_reference'.
1258
1259 2002-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1260
1261         * text-coding.c (decode_coding_big5): Support entity-reference
1262         decoding feature.
1263
1264 2002-08-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1265
1266         * text-coding.c (allocate_coding_system): Initialize initial
1267         charsets for CODESYS_UTF8.
1268         (Fmake_coding_system): Accept charset-g0, charset-g1 and
1269         charset-g2 for CODESYS_UTF8.
1270         (decode_coding_utf8): Use charset-g0.
1271         (char_encode_utf8): Use charset-g0; use charset-g1 and charset-g2
1272         to force variants to map to UCS.
1273
1274 2002-07-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1275
1276         * text-coding.c (Qutf_8_mcs): New variable.
1277         (syms_of_file_coding): Add new symbol `utf-8-mcs' in UTF-2000.
1278         (complex_vars_of_file_coding): Define coding-system `utf-8-mcs'
1279         instead of `utf-8' in UTF-2000.
1280
1281 2002-07-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1282
1283         * mule-charset.c (charset_code_point): If CHARSET_CONVERSION is
1284         CONVERSION_IDENTICAL, identical conversion is used even if a CCS
1285         is ISO-2022 style; instead of it, CONVERSION_94, CONVERSION_96,
1286         CONVERSION_94x94, CONVERSION_96x96, CONVERSION_94x94x94,
1287         CONVERSION_96x96x96, CONVERSION_94x94x94x94 and
1288         CONVERSION_96x96x96x96 are introduced.
1289         (complex_vars_of_mule_charset): Specify CONVERSION_96 instead of
1290         CONVERSION_IDENTICAL for thai-tis620; Specify CONVERSION_94x94
1291         instead of CONVERSION_IDENTICAL for japanese-jisx0208-1990.
1292
1293         * char-ucs.h (CONVERSION_94): New macro.
1294         (CONVERSION_96): New macro.
1295         (CONVERSION_94x94): New macro.
1296         (CONVERSION_96x96): New macro.
1297         (CONVERSION_94x94x94): New macro.
1298         (CONVERSION_96x96x96): New macro.
1299         (CONVERSION_94x94x94x60): New macro.
1300         (CONVERSION_94x94x94x94): New macro.
1301         (CONVERSION_96x96x96x96): New macro.
1302
1303 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1304
1305         * chartab.c (Vcharacter_variant_table): Deleted.
1306         (Fchar_variants): Use character-attribute `->ucs-variants' instead
1307         of `Vcharacter_variant_table'.
1308         (Fput_char_attribute): Likewise.
1309         (vars_of_chartab): Don't setup `Vcharacter_variant_table'.
1310         (complex_vars_of_chartab): Likewise.
1311
1312 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1313
1314         * lisp.h: Add an EXFUN for `Fchar_ref_p'.
1315
1316         * fns.c (Qideographic_structure): New variable.
1317         (Qkeyword_char): New variable.
1318         (ids_format_unit): New function.
1319         (Fideographic_structure_to_ids): New function.
1320         (syms_of_fns): Add new symbols `ideographic-structure' and
1321         `:char'; add new builtin function `ideographic-structure-to-ids'.
1322
1323         * data.c (Fchar_ref_p): New function.
1324         (syms_of_data): Add new builtin function `char-ref-p'.
1325
1326         * chartab.h: Add an EXFUN for `Ffind_char'.
1327
1328 2002-07-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1329
1330         * text-coding.c (Vcharacter_composition_table): Deleted.
1331         (COMPOSE_ADD_CHAR): Use the implementation for external-DB support
1332         in every UTF-2000.
1333
1334         * chartab.c: Add EXFUN for `Fmap_char_attribute' in every
1335         UTF-2000.
1336         (Vcharacter_composition_table): Deleted.
1337         (Fget_composite_char): Use the implementation for external-DB
1338         support in every UTF-2000.
1339         (Fput_char_attribute): Likewise.
1340         (char_attribute_system_db_file): Don't define if external-DB
1341         feature is not available.
1342         (Fsave_char_attribute_table): Likewise.
1343         (Fmount_char_attribute_table): Likewise.
1344         (Fclose_char_attribute_table): Likewise.
1345         (Freset_char_attribute_table): Likewise.
1346         (Fload_char_attribute_table): Likewise.
1347         (syms_of_chartab): Don't define `save-char-attribute-table',
1348         `mount-char-attribute-table', `reset-char-attribute-table',
1349         `close-char-attribute-table' and `load-char-attribute-table' if
1350         external-DB feature is not available.
1351         (vars_of_chartab): Don't setup `Vcharacter_composition_table'.
1352
1353 2002-07-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1354
1355         * text-coding.c (Qcomposition): Add extern if external-DB feature
1356         is supported.
1357         (Vcharacter_composition_table): Don't add extern if external-DB
1358         feature is supported.
1359         (COMPOSE_ADD_CHAR): Modify for new data-representation of
1360         character composition rule if external-DB feature is supported.
1361
1362         * chartab.c (Vcharacter_composition_table): Don't define if
1363         external-DB feature is supported.
1364         (Qcomposition): New variable.
1365         (Fget_composite_char): New implementation for external-DB support.
1366         (Fput_char_attribute): Use `composition' property of each
1367         character instead of `Vcharacter_composition_table' to store
1368         character-composition rules if external-DB feature is supported.
1369         (syms_of_chartab): Add new symbol `composition'.
1370         (vars_of_chartab): Don't setup `Vcharacter_composition_table' if
1371         external-DB feature is supported.
1372
1373 2002-07-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1374
1375         * chartab.c (Vchar_db_stingy_mode): New variable.
1376         (load_char_attribute_maybe): Close database if
1377         Vchar_db_stingy_mode is not NIL.
1378         (Fload_char_attribute_table_map_function): Use
1379         `get_char_id_table_0' instead of `get_char_id_table'.
1380         (vars_of_chartab): Add new variable `char-db-stingy-mode'.
1381
1382         * chartab.h (get_char_id_table_0): New inline function.
1383         (get_char_id_table): Use `get_char_id_table_0'.
1384
1385 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1386
1387         * text-coding.c (decode_coding_utf8): Use `COMPOSE_FLUSH_CHARS'
1388         and `COMPOSE_ADD_CHAR'.
1389         (decode_coding_iso2022): Use `decode_flush_er_chars'.
1390
1391 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1392
1393         * text-coding.c (COMPOSE_FLUSH_CHARS): Use `decode_add_er_char'
1394         instead of `DECODE_ADD_UCS_CHAR'.
1395         (COMPOSE_ADD_CHAR): Likewise.
1396
1397 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1398
1399         * text-coding.c (decode_flush_er_chars): New inline function.
1400         (decode_add_er_char): New function.
1401         (decode_coding_utf8): Use `decode_flush_er_chars' and
1402         `decode_add_er_char'.
1403
1404 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1405
1406         * text-coding.c (decode_coding_utf8): Flush for er_buf must be
1407         done before `decode_output_utf8_partial_char'.
1408
1409         * mule-charset.c (complex_vars_of_mule_charset): Specify
1410         `Vcharset_ucs' as the mother of `Vcharset_ucs_cns',
1411         `Vcharset_ucs_ks' and `Vcharset_ucs_big5'.
1412
1413 2002-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1414
1415         * mule-charset.c (decode_defined_char): New function; search
1416         mother.
1417         (decode_builtin_char): Don't search mother if
1418         XCHARSET_MAX_CODE(charset) == 0.
1419         (charset_code_point): Search mother if XCHARSET_MAX_CODE(charset)
1420         == 0 even if code >= XCHARSET_MAX_CODE(charset).
1421         (Fdecode_char): Use `decode_defined_char' instead of
1422         `DECODE_DEFINED_CHAR'.
1423         (complex_vars_of_mule_charset): Specify `Vcharset_ucs' as the
1424         mother of `Vcharset_ucs_jis'.
1425
1426         * text-coding.c (decode_coding_big5): Use `decode_defined_char'
1427         instead of `DECODE_DEFINED_CHAR'.
1428
1429         * char-ucs.h (decode_defined_char): Renamed from
1430         `DECODE_DEFINED_CHAR'; changed to normal function.
1431         (DECODE_CHAR): Use `decode_defined_char' instead of
1432         `DECODE_DEFINED_CHAR'.
1433
1434         * lisp.h: Add `EXFUN' for `Fstring_to_number'.
1435
1436 2002-07-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1437
1438         * char-ucs.h: Add `extern' for `Vcharset_ucs'.
1439
1440         * text-coding.c (Vcoded_charset_entity_reference_alist): New
1441         variable.
1442         (Quse_entity_reference): New variable.
1443         (Qd): New variable.
1444         (Qx): New variable.
1445         (QX): New variable.
1446         (coding_system_description): Add description for
1447         `ccs_priority_list'.
1448         (mark_coding_system): Mark `ccs_priority_list' in UTF-2000.
1449         (allocate_coding_system): Initialize `ccs_priority_list' in
1450         UTF-2000.
1451         (Fmake_coding_system): Add description about
1452         'use-entity-reference; setup CODING_SYSTEM_USE_ENTITY_REFERENCE
1453         (codesys).
1454         (Fcoding_system_property): Accept `disable-composition' and
1455         `use-entity-reference' in UTF-2000.
1456         (struct decoding_stream): Add new member `er_counter' and `er_buf'
1457         in UTF-2000.
1458         (reset_decoding_stream): Initialize `str->er_counter' in UTF-2000.
1459         (decode_coding_utf8): Decode entity-reference if
1460         CODING_SYSTEM_USE_ENTITY_REFERENCE (str->codesys).
1461         (char_encode_utf8): Encode non-Unicode characters as
1462         entity-references if CODING_SYSTEM_USE_ENTITY_REFERENCE
1463         (str->codesys).
1464         (syms_of_file_coding): Add new symbols `use-entity-reference',
1465         `d', `x', `X'.
1466         (vars_of_file_coding): Add new variable
1467         `coded-charset-entity-reference-alist'.
1468         (complex_vars_of_file_coding): Declare `disable-composition' and
1469         `use-entity-reference' to be coding-system-properties in UTF-2000.
1470
1471         * file-coding.h (struct Lisp_Coding_System): Add new member
1472         `use_entity_reference' and `ccs_priority_list'.
1473         (CODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
1474         (CODING_SYSTEM_CCS_PRIORITY_LIST): New macro.
1475         (XCODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
1476
1477 2002-07-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1478
1479         * chartab.c (save_uint8_byte_table): Don't clear the table.
1480         (save_uint16_byte_table): Likewise.
1481         (save_byte_table): Likewise.
1482         (Fmount_char_attribute_table): New function.
1483         (syms_of_chartab): Add new builtin function
1484         `mount-char-attribute-table'.
1485
1486 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1487
1488         * mule-charset.c (Fsave_charset_mapping_table): Open database as
1489         "w+" mode.
1490         (load_char_decoding_entry_maybe): Open database as read-only mode.
1491
1492         * chartab.c (Fsave_char_attribute_table): Don't share `ct->db';
1493         open database as "w+" mode.
1494         (load_char_attribute_maybe): Open database as read-only mode.
1495         (Fload_char_attribute_table): Likewise.
1496
1497 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1498
1499         * chartab.c (mark_char_table): Don't refer `ct->db_file'.
1500         (char_table_description): Delete member `db_file'.
1501         (Fmake_char_table): Don't refer `ct->db_file'.
1502         (Fcopy_char_table): Likewise.
1503         (Fsave_char_attribute_table): Likewise.
1504         (Fclose_char_attribute_table): Likewise.
1505         (Freset_char_attribute_table): Likewise.
1506         (load_char_attribute_maybe): Likewise.
1507         (Fload_char_attribute_table): Likewise.
1508
1509         * chartab.h (struct Lisp_Char_Table): Delete member `db_file'.
1510
1511 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1512
1513         * chartab.c: Add an EXFUN for `Fmap_char_attribute'.
1514         (Fsave_char_attribute_table): Don't check `ct->db_file' if
1515         `ct->db' is living.
1516         (load_char_attribute_maybe): Likewise.
1517         (Fload_char_attribute_table): Likewise.
1518
1519 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1520
1521         * chartab.c (Fclose_char_attribute_table): Set Qnil on
1522         `ct->db_file' unconditionally.
1523
1524 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1525
1526         * chartab.c (mark_char_table): Mark `ct->db_file' and `ct->db' in
1527         UTF-2000.
1528         (char_table_description): Add description for `db_file' and `db'
1529         in UTF-2000.
1530         (Fmake_char_table): Initialize `ct->db_file' and `ct->db' in
1531         UTF-2000.
1532         (Fcopy_char_table): Copy `ct->db_file' and `ct->db' in UTF-2000.
1533         (Fsave_char_attribute_table): Use `ct->db_file' and `ct->db'.
1534         (Fclose_char_attribute_table): New function.
1535         (Freset_char_attribute_table): Reset `ct->db_file' and `ct->db'.
1536         (load_char_attribute_maybe): Change interface; use `cit->db_file'
1537         and `cit->db'.
1538         (Fload_char_attribute_table): Use `ct->db_file' and `ct->db'.
1539         (syms_of_chartab): Add new builtin function
1540         `Fclose_char_attribute_table'.
1541
1542 2002-06-28  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1543
1544         * chartab.h (struct Lisp_Char_Table): Add new member `db_file' and
1545         `db' in UTF-2000.
1546         (load_char_attribute_maybe): Change interface.
1547         (get_char_id_table): Modify for `load_char_attribute_maybe'.
1548
1549 2002-06-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1550
1551         * database.h: Add an EXFUN for `Fdatabase_live_p'.
1552
1553 2002-04-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1554
1555         * mule-charset.c (decode_builtin_char): Use `decode_builtin_char'
1556         instead of `DECODE_CHAR' for mother; don't use special code for
1557         chinese-big5 to use code space of chinese-big5-1 and
1558         chinese-big5-2.
1559         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' and
1560         `MAX_CHAR_BIG5_CDP' for chinese-big5.
1561
1562         * char-ucs.h (MIN_CHAR_BIG5_CDP): Revival.
1563         (MAX_CHAR_BIG5_CDP): Revival.
1564
1565 2002-04-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1566
1567         * mule-charset.c (complex_vars_of_mule_charset): Use "big5-0" as
1568         the XLFD registry-encoding name of `chinese-big5'.
1569
1570 2002-04-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1571
1572         * mule-charset.c (Vcharset_chinese_big5_cdp): Deleted.
1573         (Qchinese_big5_cdp): Deleted.
1574         (syms_of_mule_charset): Delete symbol `chinese-big5-cdp'.
1575         (complex_vars_of_mule_charset): Delete coded-charset
1576         `chinese-big5-cdp'.
1577
1578         * char-ucs.h (CHARSET_ID_OFFSET): Deleted.
1579         (LEADING_BYTE_*): Use `MIN_LEADING_BYTE + n' instead of
1580         `CHARSET_ID_OFFSET - n' for private CCS.
1581         (LEADING_BYTE_CHINESE_BIG5_CDP): Deleted.
1582         (MIN_LEADING_BYTE_PRIVATE): Use `(MIN_LEADING_BYTE + 97)' instead
1583         of `MIN_LEADING_BYTE'.
1584         (MAX_LEADING_BYTE_PRIVATE): Use `-1' instead of
1585         `(CHARSET_ID_OFFSET - 97)'.
1586         (MIN_CHAR_BIG5_CDP): Deleted.
1587         (MAX_CHAR_BIG5_CDP): Deleted.
1588
1589 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1590
1591         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.19.
1592
1593 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1594
1595         * mule.c (Vutf_2000_version): New variable [moved from chartab.c].
1596         (vars_of_mule): Add new variable `utf-2000-version' [moved from
1597         chartab.c].
1598
1599         * chartab.c (Vutf_2000_version): Moved to mule.c.
1600         (vars_of_chartab): Move code about `utf-2000-version' into mule.c.
1601
1602 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1603
1604         * mule-charset.c (load_char_decoding_entry_maybe): Don't define it
1605         when HAVE_CHISE_CLIENT is not defined.
1606
1607         * mule.c (vars_of_mule): Provide feature `chise' when
1608         HAVE_CHISE_CLIENT is defined.
1609
1610 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1611
1612         * config.h.in (UTF2000): Add comment.
1613         (HAVE_CHISE_CLIENT): New macro.
1614
1615 2002-02-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1616
1617         * chartab.c (Fchar_variants): Check Vcharacter_variant_table is
1618         CONSP.
1619         (Fput_char_attribute): Likewise.
1620         (char_attribute_system_db_file): Encode file-name of attribute.
1621         (vars_of_chartab): Set Qunbound into Vcharacter_variant_table as
1622         the initial value.
1623
1624 2002-02-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1625
1626         * mule-charset.c (put_char_ccs_code_point): Delete unused codes.
1627         (Fsave_charset_mapping_table): Use
1628         `char_attribute_system_db_file'.
1629         (load_char_decoding_entry_maybe): Likewise.
1630
1631         * chartab.h (Qsystem_char_id): New external variable.
1632         (char_attribute_system_db_file): New prototype.
1633
1634         * chartab.c (Qsystem_char_id): New variable in UTF-2000.
1635         (char_attribute_system_db_file): New function.
1636         (Fsave_char_attribute_table): Use `char_attribute_system_db_file'.
1637         (Freset_char_attribute_table): Likewise.
1638         (load_char_attribute_maybe): Likewise.
1639         (Fload_char_attribute_table): Likewise.
1640         (syms_of_chartab): Add new symbol `system-char-id'.
1641
1642 2002-02-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1643
1644         * char-ucs.h (DECODE_DEFINED_CHAR): Don't check
1645         `XCHARSET_GRAPHIC(ccs)'.
1646
1647 2002-02-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1648
1649         * mule-charset.c (Fsave_charset_mapping_table): Fixed.
1650
1651 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1652
1653         * chartab.c (Q_ucs_variants): New variable.
1654         (syms_of_chartab): Add new symbol `->ucs-variants'.
1655         (complex_vars_of_chartab): Set `Vcharacter_variant_table' on
1656         `Vchar_attribute_hash_table' as the value of `->ucs-variants'; set
1657         `->ucs-variants' on `XCHAR_TABLE_NAME (Vcharacter_variant_table)'.
1658
1659         * mule-charset.c (load_char_decoding_entry_maybe): New function.
1660
1661         * char-ucs.h (load_char_decoding_entry_maybe): New prototype when
1662         `HAVE_DATABASE' is defined.
1663         (DECODE_DEFINED_CHAR): Use `load_char_decoding_entry_maybe' when
1664         `HAVE_DATABASE' is defined.
1665
1666 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1667
1668         * chartab.c (Fsave_char_attribute_table): Don't clear internal
1669         attribute-table.
1670         (Freset_char_attribute_table): New function.
1671         (syms_of_chartab): Add new builtin function
1672         `reset-char-attribute-table'.
1673
1674 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1675
1676         * chartab.c (load_char_attribute_maybe): Don't make directories.
1677
1678 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1679
1680         * char-ucs.h: Add EXFUN for `Fmake_directory_internal'.
1681
1682         * mule-charset.c (put_char_ccs_code_point): Don't prepare a vector
1683         for decoding-table.
1684
1685 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1686
1687         * mule-charset.c (Fsave_charset_mapping_table): Use
1688         `XCHARSET_BYTE_SIZE' instead of `XCHARSET_CHARS'.
1689
1690         * char-ucs.h (put_ccs_octet_table): Use `XCHARSET_BYTE_SIZE'
1691         instead of `XCHARSET_CHARS'.
1692
1693 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1694
1695         * mule-charset.c (CHARSET_BYTE_SIZE): Moved to char-ucs.h.
1696         (XCHARSET_BYTE_SIZE): Likewise.
1697
1698         * char-ucs.h (CHARSET_BYTE_SIZE): New inline function [moved from
1699         mule-charset.c].
1700         (XCHARSET_BYTE_SIZE): Likewise.
1701
1702 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1703
1704         * chartab.c (Fput_char_attribute): Use exec-directory instead of
1705         data-directory to store database.
1706         (Fsave_char_attribute_table): Likewise.
1707         (load_char_attribute_maybe): Likewise.
1708         (Fload_char_attribute_table): Likewise.
1709
1710 2002-02-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1711
1712         * mule-charset.c (Fsave_charset_mapping_table): New function.
1713         (syms_of_mule_charset): Add new builtin function
1714         `save-charset-mapping-table'.
1715
1716 2002-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1717
1718         * char-ucs.h (decoding_table_check_elements): Delete prototype.
1719         (get_ccs_octet_table): New inline function.
1720         (put_ccs_octet_table): Likewise.
1721         (decoding_table_put_char): Use `get_ccs_octet_table' and
1722         `put_ccs_octet_table'.
1723         (decoding_table_remove_char): Use `decoding_table_put_char'.
1724         (DECODE_DEFINED_CHAR): Use `get_ccs_octet_table'.
1725
1726         * mule-charset.c (remove_char_ccs): Store Qunbound instead of Qnil
1727         into encoding_table.
1728         (make_charset): Use Qunbound instead Qnil as initial value of
1729         decoding_table.
1730
1731 2002-02-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1732
1733         * chartab.c (map_over_uint8_byte_table): Set Qunbound if an
1734         element is Qunloaded.
1735         (map_over_uint16_byte_table): Likewise.
1736         (map_over_byte_table): Likewise.
1737         (map_char_table): Likewise for CHARTAB_RANGE_ALL in UTF-2000; when
1738         CHARTAB_RANGE_CHARSET is specified in UTF-2000 with external
1739         database support, load encoding-table of the specified
1740         coded-charset if it is not loaded yet.
1741         (save_uint8_byte_table): New function of UTF-2000 with external
1742         database support.
1743         (save_uint16_byte_table): Likewise.
1744         (save_byte_table): Likewise.
1745         (Fput_char_attribute): Don't store value into external database
1746         even if the external database feature is supported in UTF-2000;
1747         set `attribute' as name of char-table if the external database
1748         feature is supported.
1749         (Fsave_char_attribute_table): New function in UTF-2000.
1750         (syms_of_chartab): Add new builtin function
1751         `save-char-attribute-table' in UTF-2000.
1752
1753 2002-02-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1754
1755         * chartab.c (char_attribute_table_to_put): New variable in
1756         UTF-2000.
1757         (Qput_char_table_map_function): Likewise.
1758         (value_to_put): Likewise.
1759         (Fput_char_table_map_function): New function in UTF-2000.
1760         (put_char_table): Use `Fmap_char_attribute' for
1761         CHARTAB_RANGE_CHARSET in UTF-2000.
1762         (Fput_char_attribute): Store symbol instead of string in
1763         `XCHAR_TABLE_NAME (table)'.
1764         (load_char_attribute_maybe): Likewise.
1765         (syms_of_chartab): Add new symbol/function
1766         `put-char-table-map-function'.
1767
1768 2002-01-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1769
1770         * database.h: Add new EXFUN for `Fmap_database'.
1771
1772         * database.c (Fmap_database): Renamed from `Fmapdatabase'.
1773         (syms_of_database): Likewise.
1774
1775         * chartab.h (struct Lisp_Char_Table): Add new member `unloaded' in
1776         UTF-2000.
1777         (CHAR_TABLE_UNLOADED): New macro of UTF-2000.
1778         (XCHAR_TABLE_UNLOADED): Likewise.
1779
1780         * chartab.c (fill_char_table): Initialize `ct->unloaded'.
1781         (Fput_char_attribute): Set XCHAR_TABLE_UNLOADED(table) if
1782         HAVE_DATABASE is defined.
1783         (char_attribute_table_to_load): New variable of UTF-2000 with
1784         external database support.
1785         (Qload_char_attribute_table_map_function): Likewise.
1786         (Fload_char_attribute_table_map_function): New function of
1787         UTF-2000 with external database support.
1788         (Fload_char_attribute_table): New function of UTF-2000.
1789         (Fmap_char_attribute): Call Fload_char_attribute_table if
1790         CHAR_TABLE_UNLOADED(ct) is set when HAVE_DATABASE is defined.
1791         (syms_of_chartab): Add new symbol and function
1792         `load-char-attribute-table-map-function' in UTF-2000 with external
1793         database support; add new function `load-char-attribute-table' in
1794         UTF-2000.
1795
1796 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1797
1798         * chartab.h (load_char_attribute_maybe): New prototype for
1799         UTF-2000 with DATABASE support.
1800         (get_char_id_table): Use `load_char_attribute_maybe' if
1801         HAVE_DATABASE is defined.
1802
1803         * chartab.c (load_char_attribute_maybe): New function in UTF-2000
1804         with DATABASE support.
1805
1806 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1807
1808         * chartab.c (Fput_char_attribute): Use S-expression as key of
1809         external database.
1810
1811         * chartab.h (get_char_id_table): Use S-expression as key of
1812         external database.
1813
1814 2002-01-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1815
1816         * chartab.c (map_over_uint8_byte_table): Add new argument `root';
1817         if an element is not loaded, load the corresponding attributes
1818         from an external database.
1819         (map_over_uint16_byte_table): Likewise.
1820         (map_over_byte_table): Likewise.
1821         (map_char_table): Modify for `map_over_uint8_byte_table',
1822         `map_over_uint16_byte_table' and `map_over_byte_table'; if an
1823         element is not loaded, load the corresponding attributes from an
1824         external database.
1825         (Fput_char_attribute): Change initial values to Qunloaded.
1826
1827         * chartab.h (get_char_id_table): If a character attribute is not
1828         loaded and the attribute value is not found in an external
1829         database, store Qunbound as the attribute value.
1830
1831 2002-01-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1832
1833         * chartab.c (BT_UINT8_unloaded): New macro.
1834         (UINT8_VALUE_P): Accept Qunloaded.
1835         (UINT8_ENCODE): Likewise.
1836         (UINT8_DECODE): Likewise.
1837         (BT_UINT16_unloaded): New macro.
1838         (UINT16_VALUE_P): Accept Qunloaded.
1839         (UINT16_ENCODE): Likewise.
1840         (UINT16_DECODE): Likewise.
1841         (UINT8_TO_UINT16): Convert BT_UINT8_unloaded into
1842         BT_UINT16_unloaded.
1843         (mark_char_table): Mark `ct->name' in UTF-2000.
1844         (char_table_description): Add `name' in UTF-2000.
1845         (Fmake_char_table): Initialize `ct->name'.
1846         (Fcopy_char_table): Copy `ct->name'.
1847         (Fput_char_attribute): Store value into an external database if
1848         HAVE_DATABASE is defined.
1849
1850         * chartab.h (struct Lisp_Char_Table): Add new member `name' in
1851         UTF-2000.
1852         (CHAR_TABLE_NAME): New macro in UTF-2000.
1853         (XCHAR_TABLE_NAME): New macro in UTF-2000.
1854         (get_char_id_table): Try to read an external database if Qunloaded
1855         is stored in a table.
1856
1857         * symbols.c (init_symbols_once_early): Assign '#<unloaded> into
1858         Qunloaded.
1859
1860 2002-01-21  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1861
1862         * database.h: Add EXFUN definitions for Fopen_database,
1863         Fput_database, Fget_database and Fclose_database.
1864
1865         * data.c (Qunloaded): New variable in UTF-2000.
1866
1867         * lisp.h (Qunloaded): New variable in UTF-2000.
1868
1869 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1870
1871         * mule-charset.c (put_char_ccs_code_point): Modify for
1872         `decoding_table_remove_char' and `decoding_table_put_char'.
1873         (remove_char_ccs): Modify for `decoding_table_remove_char'.
1874
1875         * char-ucs.h (decoding_table_remove_char): Change arguments to
1876         hide decoding_table vector.
1877         (decoding_table_put_char): Likewise.
1878
1879 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1880
1881         * mule-charset.c (decoding_table_remove_char): Moved to
1882         char-ucs.h.
1883         (decoding_table_put_char): Likewise.
1884
1885         * char-ucs.h (decoding_table_check_elements): New prototype [moved
1886         from mule-charset.c].
1887         (decoding_table_remove_char): New inline function [moved from
1888         mule-charset.c].
1889         (decoding_table_put_char): Likewise.
1890
1891 2002-01-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1892
1893         * mule-charset.c (Fmake_charset): Modify DOC-string for UTF-2000
1894         extension.
1895
1896 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1897
1898         * mule-charset.c (decode_builtin_char): Support mother charsets.
1899
1900 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1901
1902         * mule-charset.c (Q94x94x60): New variable.
1903         (charset_code_point): Support conversion `94x94x60'.
1904         (Fmake_charset): Likewise.
1905         (syms_of_mule_charset): Add new symbol `94x94x60'.
1906
1907         * char-ucs.h (CONVERSION_94x94x60): New macro.
1908
1909 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1910
1911         * mule-charset.c (charset_code_point): Unify code about
1912         `code-offset'.
1913
1914 2001-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1915
1916         * mule-charset.c (charset_code_point): Merge code about builtin
1917         characters into code about mother charsets; don't use
1918         `range_charset_code_point'.
1919         (range_charset_code_point): Deleted.
1920
1921 2001-12-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1922
1923         * mule-charset.c (Qcode_offset): New variable.
1924         (Fmake_charset): Use `XUINT' to get value of `min-code' and
1925         `max-code'; accept new property `code-offset'.
1926         (syms_of_mule_charset): Add new symbol `code-offset'.
1927
1928 2001-12-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1929
1930         * mule-charset.c (range_charset_code_point): Fixed.
1931
1932 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1933
1934         * mule-charset.c (decode_builtin_char): Change semantics of
1935         code-offset of coded-charset.
1936         (charset_code_point): Likewise.
1937         (range_charset_code_point): Likewise.
1938         (complex_vars_of_mule_charset): Modify for the change.
1939
1940 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1941
1942         * mule-charset.c (Fencode_char): Reverse arguments.
1943
1944         * mule-charset.c (charset_code_point): Fixed.
1945
1946 2001-12-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1947
1948         * mule-charset.c (Vcharset_mojikyo): Deleted.
1949         (Vcharset_mojikyo_2022_1): Deleted.
1950         (Vcharset_mojikyo_pj_{1..21}): Deleted.
1951         (Qmin_code): New variable in UTF-2000.
1952         (Qmax_code): Likewise.
1953         (Qmother): Likewise.
1954         (Qconversion): Likewise.
1955         (Q94x60): Likewise.
1956         (Qmojikyo): Deleted.
1957         (Qmojikyo_2022_1): Deleted.
1958         (Qmojikyo_pj_{1..22}): Deleted.
1959         (mark_charset): Mark `cs->mother'.
1960         (charset_description): Add description for `mother'.
1961         (make_charset): Rename `ucs_{min|max}' to `{min|max}_code'; add
1962         new arguments `mother' and `conversion'; use
1963         `CHARSET_{MIN|MAX}_CODE' instead of `CHARSET_UCS_{MIN|MAX}'.
1964         (charset_code_point): Moved from char-ucs.h; support `mother'
1965         charset feature.
1966         (range_charset_code_point): use `CHARSET_{MIN|MAX}_CODE' instead
1967         of `CHARSET_UCS_{MIN|MAX}'; delete hard code for `mojikyo-2022-1'.
1968         (Fmake_charset): Allow 3 and 4 as the value of `dimension' in
1969         UTF-2000; allow 128 and 256 as the value of `chars' in UTF-2000;
1970         allow 2 as the value of `graphic' in UTF-2000; add new properties
1971         `min-code', `max-code', `mother', `conversion' in UTF-2000; don't
1972         require `final' in UTF-2000; modify for `make_charset'.
1973         (Fmake_reverse_direction_charset): use `CHARSET_{MIN|MAX}_CODE'
1974         instead of `CHARSET_UCS_{MIN|MAX}'; modify for `make_charset'.
1975         (Fcharset_property): Support `mother', `min-code' and `max-code'.
1976         (Fencode_char): New function.
1977         (syms_of_mule_charset): Add new builtin function `encode-char' in
1978         UTF-2000; add new symbols `min-code', `max-code', `mother',
1979         `conversion' and `94x60'; delete symbols `mojikyo',
1980         `mojikyo-2022-1' and `mojikyo-pj-{1..21}'.
1981         (complex_vars_of_mule_charset): Modify for `make_charset' change;
1982         delete coded-charsets `mojikyo', `mojikyo-2022-1' and
1983         `mojikyo-pj-{1..21}'; delete `DEF_MOJIKYO_PJ'.
1984
1985         * chartab.c (Fdefine_char): Use `XCHARSET_MAX_CODE' instead of
1986         `XCHARSET_UCS_MAX'; regard `chinese-big5' as a base CCS.
1987
1988         * char-ucs.h (Vcharset_mojikyo): Deleted.
1989         (Vcharset_mojikyo_2022_1): Deleted.
1990         (LEADING_BYTE_MOJIKYO): Deleted.
1991         (LEADING_BYTE_MOJIKYO_2022_1): Deleted.
1992         (LEADING_BYTE_MOJIKYO_2022_2): Deleted.
1993         (LEADING_BYTE_MOJIKYO_PJ_{1 .. 21}): Deleted.
1994         (struct Lisp_Charset): Rename `ucs_{min|max}' to `{min|max}_code';
1995         add new member `mother'; add new member `conversion'.
1996         (CHARSET_MIN_CODE): Renamed from `CHARSET_UCS_MIN'.
1997         (CHARSET_MAX_CODE): Renamed from `CHARSET_UCS_MAX'.
1998         (CHARSET_MOTHER): New macro.
1999         (CHARSET_CONVERSION): New macro.
2000         (CONVERSION_IDENTICAL): New macro.
2001         (CONVERSION_94x60): New macro.
2002         (XCHARSET_MIN_CODE): Renamed from `CHARSET_MIN_CODE'.
2003         (XCHARSET_MAX_CODE): Renamed from `CHARSET_MAX_CODE'.
2004         (XCHARSET_MOTHER): New macro.
2005         (XCHARSET_CONVERSION): New macro.
2006         (MIN_CHAR_MOJIKYO): Deleted.
2007         (MAX_CHAR_MOJIKYO): Deleted.
2008         (DECODE_MOJIKYO_2022): Deleted.
2009         (DECODE_CHAR): Delete hard code for builtin Mojikyo characters.
2010         (charset_code_point): Changed to non-inline function.
2011         (encode_char_1): Use `charset_code_point'.
2012         (CHAR_TO_CHARC): Delete hard code for Mojikyo characters.
2013
2014 2001-12-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2015
2016         * lread.c (read_compiled_function): Fix prototype.
2017         (read_vector): Likewise.
2018
2019 2001-12-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2020
2021         * lrecord.h (struct lrecord_header): Delete `older'.
2022         (set_lheader_implementation): Delete code for `older'.
2023         (set_lheader_older_implementation): Deleted.
2024         (enum lrecord_type): Delete `lrecord_type_char_id_table'.
2025         (OLDER_RECORD_P): Deleted.
2026         (OLDER_RECORD_HEADER_P): Deleted.
2027         (alloc_older_lcrecord): Deleted.
2028         (alloc_older_lcrecord_type): Deleted.
2029
2030         * alloc.c (all_older_lcrecords): Deleted.
2031         (alloc_older_lcrecord): Deleted.
2032         (disksave_object_finalization_1): Delete code for older objects.
2033         (mark_object): Don't use `OLDER_RECORD_HEADER_P'.
2034         (reinit_alloc_once_early): Don't initialize `all_older_lcrecords'.
2035
2036 2001-12-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2037
2038         * mule-charset.c (decoding_table_put_char): Use `make_vector'
2039         instead of `make_older_vector'.
2040         (put_char_ccs_code_point): Likewise.
2041         (mark_charset): Mark `cs->decoding_table'.
2042         (Fset_charset_mapping_table): Don't use `make_vector_newer'.
2043
2044         * lisp.h (make_older_vector): Deleted.
2045         (make_vector_newer): Deleted.
2046
2047         * config.h.in (HAVE_GGC): Deleted.
2048
2049         * alloc.c (make_older_vector): Deleted.
2050         (make_vector_newer_1): Deleted.
2051         (make_vector_newer): Deleted.
2052
2053 2001-12-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2054
2055         * mule-charset.c (Vcharset_ideograph_daikanwa_2): New variable.
2056         (Qideograph_daikanwa_2): New variable.
2057         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa-2'.
2058         (complex_vars_of_mule_charset): Add new coded-charset
2059         `ideograph-daikanwa-2'; use `LEADING_BYTE_DAIKANWA_3' instead of
2060         `LEADING_BYTE_DAIKANWA'.
2061
2062         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): New macro.
2063         (LEADING_BYTE_DAIKANWA_1): New macro.
2064         (LEADING_BYTE_DAIKANWA_2): New macro.
2065         (LEADING_BYTE_DAIKANWA_3): Renamed from `LEADING_BYTE_DAIKANWA'.
2066
2067 2001-12-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2068
2069         * mule-charset.c (complex_vars_of_mule_charset): Change
2070         DOC-strings and registry of `ideograph-daikanwa'; now it indicates
2071         the second revised version.
2072
2073 2001-12-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2074
2075         * mule-charset.c (Vcharset_ucs_smp): New variable.
2076         (Vcharset_ucs_sip): New variable.
2077         (Qucs_smp): New variable.
2078         (Qucs_sip): New variable.
2079         (encode_builtin_char_1): Treat MIN_CHAR_{SMP|SIP} to
2080         MAX_CHAR_{SMP|SIP} as `ucs-{smp|sip}'.
2081         (syms_of_mule_charset): Add new symbols `ucs-smp' and `ucs-sip'.
2082         (complex_vars_of_mule_charset): Modify middle-DOC and registry of
2083         `ucs-bmp'; add new coded-charset `ucs-smp' and `ucs-sip'; change
2084         charset width of `ucs-cns', `ucs-jis', `ucs-ks' and `ucs-big5'.
2085
2086         * char-ucs.h (LEADING_BYTE_UCS_SMP): New macro.
2087         (LEADING_BYTE_UCS_SIP): New macro.
2088         (MIN_CHAR_SMP): New macro.
2089         (MAX_CHAR_SMP): New macro.
2090         (MIN_CHAR_SIP): New macro.
2091         (MAX_CHAR_SIP): New macro.
2092
2093 2001-11-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
2094
2095         * dumper.c (PDUMP_HASH_SIZE): Increase the size of hash table when
2096         utf-2000.
2097
2098 2001-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2099
2100         * mule-charset.c (put_char_ccs_code_point): Return canonicalized
2101         value; don't store value into `encoding_table' of `Lisp_Charset'.
2102         (mark_charset): `encoding_table' was deleted.
2103         (charset_description): Likewise.
2104         (make_charset): Likewise.
2105         (Fset_charset_mapping_table): Use `Fput_char_attribute' instead of
2106         `put_char_ccs_code_point'.
2107
2108         * chartab.h (Fput_char_attribute): New EXFUN.
2109
2110         * chartab.c (Fchar_attribute_alist): Name space of CCS-attributes
2111         is unified with normal symbol space.
2112         (Fget_char_attribute): Likewise.
2113         (Fput_char_attribute): Likewise; behavior of
2114         `put_char_ccs_code_point' is changed.
2115
2116         * char-ucs.h: Include "elhash.h".
2117         (Vchar_attribute_hash_table): New external variable.
2118         (struct Lisp_Charset): Delete `encoding_table'.
2119         (CHARSET_ENCODING_TABLE): New implementation; refer
2120         `Vchar_attribute_hash_table' instead of `encoding_table' of struct
2121         `Lisp_Charset'.
2122
2123 2001-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2124
2125         * mule-charset.c (Fcharset_property): Return Qnil if CHARSET_FINAL
2126         (cs) == 0.
2127
2128 2001-11-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2129
2130         * text-coding.c (char_encode_big5): Prefer charset-g1 than
2131         `chinese-big5'.
2132
2133 2001-11-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2134
2135         * chartab.c (uint8_byte_table_description): New constant.
2136         (uint8-byte-table): Use `uint8_byte_table_description'.
2137         (uint16_byte_table_description): New constant.
2138         (uint16-byte-table): Use `uint16_byte_table_description'.
2139
2140 2001-10-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2141
2142         * mule-charset.c (complex_vars_of_mule_charset): Don't use builtin
2143         range MIN_CHAR_BIG5_CDP .. MAX_CHAR_BIG5_CDP.
2144
2145 2001-10-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2146
2147         * mule-charset.c (Vcharset_ucs_ks): New variable.
2148         (Qucs_ks): New variable.
2149         (syms_of_mule_charset): Add new symbol `ucs-ks'.
2150         (complex_vars_of_mule_charset): Add new coded-charset `ucs-ks'.
2151
2152         * char-ucs.h (LEADING_BYTE_UCS_KS): New macro.
2153
2154 2001-10-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2155
2156         * chartab.h (Fmake_char): New EXFUN; moved from chartab.c.
2157         (Fdecode_char): Likewise.
2158
2159         * chartab.c: Move EXFUN for Fmake_char and Fdecode_char into
2160         chartab.h.
2161         (Fdefine_char): Modify for Fdecode_char.
2162         (Ffind_char): Likewise.
2163
2164         * mule-charset.c (Fdecode_char): Add new optional argument
2165         `defined-only'.
2166         (Fdecode_builtin_char): Modify for `Fdecode_char'.
2167
2168 2001-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2169
2170         * text-coding.c (mark_coding_system): Mark initial-charset-g0 and
2171         -g1 of CODESYS_BIG5 in XEmacs UTF-2000.
2172         (allocate_coding_system): Initialize initial-charsets of
2173         CODESYS_BIG5 in XEmacs UTF-2000.
2174         (Fmake_coding_system): Accept `charset-g0' and `charset-g1' for
2175         CODESYS_BIG5 in XEmacs UTF-2000.
2176         (decode_coding_big5): Use initial-charset-g0 and -g1 of
2177         CODESYS_BIG5 in XEmacs UTF-2000; use `DECODE_DEFINED_CHAR'.
2178
2179         * mule-charset.c (Vcharset_ideograph_hanziku_{1 .. 12}): New
2180         variables.
2181         (Qideograph_hanziku_{1 .. 12}): Likewise.
2182         (syms_of_mule_charset): Add new symbols `ideograph-hanziku-{1
2183         .. 12}'.
2184         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' to
2185         `MAX_CHAR_BIG5_CDP' for `chinese-big5'; add news coded-charsets
2186         `ideograph-hanziku-{1 .. 12}'.
2187
2188         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x200.
2189         (LEADING_BYTE_HANZIKU_{1 .. 12}): New macros.
2190         ({MIN|MAX}_CHAR_BIG5_CDP): New macros.
2191         ({MIN|MAX}_CHAR_HANZIKU_{1 .. 12}): New macros.
2192         (DECODE_DEFINED_CHAR): New inline function.
2193         (DECODE_CHAR): Use `DECODE_DEFINED_CHAR'.
2194
2195 2001-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2196
2197         * mule-charset.c (Vcharset_china3_jef): Renamed from
2198         `Vcharset_japanese_jef_china3'.
2199         (Qchina3_jef): Renamed from `Qjapanese_jef_china3'.
2200         (encode_builtin_char_1): Rename `{MIN|MAX}_CHAR_CHINA3_JEF' from
2201         `{MIN|MAX}_CHAR_JEF_CHINA3'..
2202         (syms_of_mule_charset): Rename `china3-jef' from
2203         `japanese-jef-china3'.
2204         (complex_vars_of_mule_charset): Likewise; rename
2205         `LEADING_BYTE_CHINA3_JEF' from `LEADING_BYTE_JEF_CHINA3'.
2206
2207         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Renamed from
2208         `LEADING_BYTE_JEF_CHINA3'.
2209         (MIN_CHAR_CHINA3_JEF): Renamed from `MIN_CHAR_JEF_CHINA3'.
2210         (MAX_CHAR_CHINA3_JEF): Renamed from `MAX_CHAR_JEF_CHINA3'.
2211
2212 2001-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2213
2214         * mule-charset.c (encode_builtin_char_1): Comment out special code
2215         for MIN_CHAR_MOJIKYO_0 ... MAX_CHAR_MOJIKYO_0.
2216
2217         * char-ucs.h (MIN_CHAR_MOJIKYO_0): Comment out.
2218         (MAX_CHAR_MOJIKYO_0): Comment out.
2219         (MIN_CHAR_CBETA): Changed to 0x00E20000.
2220         (MAX_CHAR_CBETA): Changed to 0x00E2FFFF.
2221         (MIN_CHAR_JEF_CHINA3): Changed to 0x00E80000.
2222         (MAX_CHAR_JEF_CHINA3): Changed to 0x00E8FFFF.
2223
2224 2001-10-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2225
2226         * mule-charset.c (Vcharset_ideograph_cbeta): New variable.
2227         (Qideograph_cbeta): New variable.
2228         (encode_builtin_char_1): Comment out special code for
2229         coded-charset `mojikyo' and `japanese-jef-china3'.
2230         (syms_of_mule_charset): Add new symbol `ideograph-cbeta'.
2231         (complex_vars_of_mule_charset): Add new coded-charset
2232         `ideograph-cbeta'.
2233
2234         * char-ucs.h (LEADING_BYTE_CBETA): New macro.
2235         (MIN_CHAR_CBETA): New macro.
2236         (MAX_CHAR_CBETA): New macro.
2237
2238 2001-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2239
2240         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x100.
2241         (LEADING_BYTE_JEF_CHINA3): New macro.
2242         (MIN_CHAR_JEF_CHINA3): New macro.
2243         (MAX_CHAR_JEF_CHINA3): Likewise.
2244         (DECODE_CHAR): Fixed.
2245
2246 2001-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2247
2248         * mule-charset.c (Vcharset_japanese_jef_china3): New variable.
2249         (Qjapanese_jef_china3): New variable.
2250         (encode_builtin_char_1): Support `japanese-jef-china3'.
2251         (syms_of_mule_charset): Add new symbol `japanese-jef-china3'.
2252         (complex_vars_of_mule_charset): Add new coded-charset
2253         `japanese-jef-china3'.
2254
2255 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2256
2257         * chartab.c (XCHARSET_CELL_RANGE): New inline function.
2258         (decode_char_table_range): Use `XCHARSET_CELL_RANGE'; accept 94^3,
2259         94^4, 96^3, 96^4, 128^n and 256^n set.
2260         (put_char_table): Use `XCHARSET_CELL_RANGE'.
2261         (map_char_table): Likewise.
2262
2263 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2264
2265         * chartab.c (get_char_table): Use `get_char_id_table' in XEmacs
2266         UTF-2000.
2267
2268 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2269
2270         * chartab.h (get_char_id_table): New inline function.
2271
2272         * chartab.c (get_char_id_table): Moved to chartab.h as an inline
2273         function.
2274
2275 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2276
2277         * chartab.h (decode_char_table_range): New prototype in XEmacs
2278         UTF-2000.
2279         (put_char_id_table): New inline function in XEmacs UTF-2000.
2280
2281         * chartab.c (put_char_id_table): Moved to chartab.h as an inline
2282         function.
2283         (decode_char_table_range): Delete static declaration in XEmacs
2284         UTF-2000.
2285
2286 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2287
2288         * chartab.c (put_char_id_table): Use `put_char_table'.
2289
2290 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2291
2292         * chartab.c (map_over_uint8_byte_table): Delete argument `ccs'.
2293         (map_over_uint16_byte_table): Likewise.
2294         (map_over_byte_table): Likewise.
2295         (map_char_table): Modify for `map_over_uint8_byte_table',
2296         `map_over_uint16_byte_table' and `map_over_byte_table' in XEmacs
2297         UTF-2000.
2298
2299 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2300
2301         * chartab.c (struct map_char_table_for_charset_arg): New
2302         structure.
2303         (map_char_table_for_charset_fun): New function.
2304         (map_char_table): Use `map_char_table' for encoding_table of
2305         `range->charset'.
2306
2307 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2308
2309         * chartab.c (map_char_table): Check a character is found in
2310         range->charset instead of non default value is defined in
2311         char-table when range is CHARTAB_RANGE_ROW.
2312
2313 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2314
2315         * chartab.c (map_char_id_table): Deleted.
2316         (Fmap_char_attribute): Use `map_char_table' instead of
2317         `map_char_id_table'.
2318
2319 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2320
2321         * syntax.h (SYNTAX_CODE_UNSAFE): New implementation in XEmacs
2322         UTF-2000.
2323         (update_syntax_table): Deleted in XEmacs UTF-2000.
2324
2325         * syntax.c (find_defun_start): Use `syntax_table' instead of
2326         `mirror_syntax_table' in XEmacs UTF-2000.
2327         (Fset_syntax_table): Don't use `mirror_syntax_table' in XEmacs
2328         UTF-2000.
2329         (Fchar_syntax): Use `syntax_table' instead of `mirror_table' in
2330         XEmacs UTF-2000.
2331         (Fmatching_paren): Likewise.
2332         (scan_words): Use `syntax_table' instead of `mirror_syntax_table'
2333         in XEmacs UTF-2000.
2334         (find_start_of_comment): Likewise.
2335         (find_end_of_comment): Likewise.
2336         (Fforward_comment): Likewise.
2337         (scan_lists): Likewise.
2338         (char_quoted): Likewise.
2339         (Fbackward_prefix_chars): Likewise.
2340         (scan_sexps_forward): Likewise.
2341         (update_just_this_syntax_table): Deleted in XEmacs UTF-2000.
2342         (update_syntax_table): Likewise.
2343
2344         * search.c (skip_chars): Use `syntax_table' instead of
2345         `mirror_syntax_table' in XEmacs UTF-2000.
2346         (wordify): Likewise.
2347         (Freplace_match): Likewise.
2348
2349         * regex.c (re_compile_fastmap): Use `syntax_table' instead of
2350         `mirror_syntax_table' in XEmacs UTF-2000.
2351         (WORDCHAR_P_UNSAFE): Likewise.
2352         (re_match_2_internal): Likewise.
2353
2354         * font-lock.c (find_context): Use `buf->syntax_table' instead of
2355         `buf->mirror_syntax_table' in XEmacs UTF-2000.
2356
2357         * cmds.c (internal_self_insert): Use `buf->syntax_table' instead
2358         of `buf->mirror_syntax_table' in XEmacs UTF-2000.
2359
2360         * chartab.h (struct Lisp_Char_Table): Delete `mirror_table' in
2361         XEmacs UTF-2000.
2362
2363         * chartab.c (mark_char_table): Don't mark `mirror_table' in XEmacs
2364         UTF-2000.
2365         (print_char_table): Print `default_value' in XEmacs UTF-2000.
2366         (char_table_description): Delete `mirror_table' in XEmacs
2367         UTF-2000.
2368         (fill_char_table): Don't call `update_syntax_table' in XEmacs
2369         UTF-2000.
2370         (Fmake_char_table): Don't use `mirror_table' in XEmacs UTF-2000.
2371         (Fcopy_char_table): Likewise.
2372         (put_char_table): Don't call `update_syntax_table' in XEmacs
2373         UTF-2000.
2374
2375         * casefiddle.c (casify_object): Use `buf->syntax_table' instead of
2376         `buf->mirror_syntax_table' in XEmacs UTF-2000.
2377         (casify_region_internal): Likewise.
2378
2379         * bufslots.h: Delete `mirror_syntax_table' in XEmacs UTF-2000.
2380
2381         * buffer.c (common_init_complex_vars_of_buffer): Don't use
2382         `mirror_syntax_table' in XEmacs UTF-2000.
2383
2384         * abbrev.c (abbrev_match): Use `buf->syntax_table' instead of
2385         `buf->mirror_syntax_table' in XEmacs UTF-2000.
2386         (Fexpand_abbrev): Likewise.
2387
2388 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2389
2390         * chartab.c (vars_of_chartab): Update `utf-2000-version' to 0.18.
2391
2392 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2393
2394         * chartab.c (map_over_uint8_byte_table): Cancel temporary hack.
2395         (map_over_uint16_byte_table): Likewise.
2396         (map_over_byte_table): Likewise.
2397         (get_char_id_table): Refer `cit->default_value'.
2398         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
2399         (map_char_id_table): Use `1 << 30' instead of `1 << 24' as number
2400         of character-id ranges.
2401         (mark_char_table): Mark `ct->default_value'.
2402         (char_table_description): Add `default_value'.
2403         (fill_char_table): Use `default_value'.
2404         (decode_char_table_range): Decode `nil' as
2405         `CHARTAB_RANGE_DEFAULT'.
2406         (get_char_id_table): Refer `cit->default_value'.
2407         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
2408         (map_char_table): Support `CHARTAB_RANGE_DEFAULT'; cancel
2409         temporary hack; check value of char-table is bound or not.
2410         (slow_map_char_table_fun): Support `CHARTAB_RANGE_DEFAULT'.
2411
2412         * chartab.h (struct Lisp_Char_Table): Add new member
2413         `default_value' in XEmacs UTF-2000.
2414         (CHAR_TABLE_VALUE_UNSAFE): Use `default_value'.
2415         (enum chartab_range_type): Add `CHARTAB_RANGE_DEFAULT' in XEmacs
2416         UTF-2000.
2417
2418 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2419
2420         * chartab.h (Lisp_Char_ID_Table): Deleted.
2421
2422         * chartab.c (char_table_description): Fix typo.
2423         (Fmap_char_attribute): Use `Lisp_Char_Table' instead of
2424         `Lisp_Char_ID_Table'.
2425
2426 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2427
2428         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_TABLEP' instead of
2429         `CHAR_ID_TABLE_P'.
2430
2431         * mule-charset.c (remove_char_ccs): Use `CHAR_TABLEP' instead of
2432         `CHAR_ID_TABLE_P'.
2433
2434         * chartab.h (XCHAR_ID_TABLE): Deleted.
2435         (XSETCHAR_ID_TABLE): Deleted.
2436         (CHAR_ID_TABLE_P): Deleted.
2437
2438         * chartab.c (put_char_id_table): Use `CHAR_TABLEP' instead of
2439         `CHAR_ID_TABLE_P'.
2440         (Fget_composite_char): Likewise.
2441         (put_char_table): Likewise.
2442         (add_char_attribute_alist_mapper): Fixed.
2443         (Fchar_attribute_alist): Use `CHAR_TABLEP' instead of
2444         `CHAR_ID_TABLE_P'.
2445         (Fget_char_attribute): Likewise.
2446         (Fget_char_attribute): Likewise.
2447         (Fmap_char_attribute): Likewise.
2448
2449         * char-ucs.h (charset_code_point): Use `CHAR_TABLEP' instead of
2450         `CHAR_ID_TABLE_P'.
2451         (encode_char_1): Likewise.
2452
2453 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2454
2455         * text-coding.c (COMPOSE_ADD_CHAR): Use `XCHAR_TABLE' instead of
2456         `XCHAR_ID_TABLE'.
2457
2458         * mule-charset.c (put_char_ccs_code_point): Use `XCHAR_TABLE'
2459         instead of `XCHAR_ID_TABLE'.
2460         (remove_char_ccs): Likewise.
2461
2462         * chartab.c (put_char_id_table): Use `XCHAR_TABLE' instead of
2463         `XCHAR_ID_TABLE'.
2464         (Fget_composite_char): Likewise.
2465         (Fchar_variants): Likewise.
2466         (put_char_table): Likewise.
2467         (add_char_attribute_alist_mapper): Likewise.
2468         (Fchar_attribute_alist): Likewise.
2469         (Fget_char_attribute): Likewise.
2470         (Fput_char_attribute): Likewise.
2471         (Fmap_char_attribute): Likewise.
2472         (Fmap_char_attribute): Likewise.
2473
2474         * char-ucs.h (charset_code_point): Use `XCHAR_TABLE' instead of
2475         `XCHAR_ID_TABLE'.
2476         (encode_char_1): Likewise.
2477
2478 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2479
2480         * chartab.c (map_char_id_table): Use `Lisp_Char_Table' instead of
2481         `Lisp_Char_ID_Table'.
2482         (mark_char_id_table): Deleted.
2483         (print_char_id_table): Likewise.
2484         (char_id_table_equal): Likewise.
2485         (char_id_table_hash): Likewise.
2486         (char_id_table_description): Likewise.
2487         (char_id_table): Likewise.
2488         (make_char_id_table): Use `Fmake_char_table' and
2489         `fill_char_table'.
2490         (get_char_id_table): Use `Lisp_Char_Table' instead of
2491         `Lisp_Char_ID_Table'.
2492         (put_char_id_table): Likewise.
2493         (Fput_char_attribute): Use `XCHAR_TABLE' instead of
2494         `XCHAR_ID_TABLE'.
2495         (Fremove_char_attribute): Likewise.
2496         (syms_of_chartab): Don't define type `char-id-table'.
2497
2498         * chartab.h (struct Lisp_Char_ID_Table): Deleted.
2499         (char_id_table): Likewise.
2500         (GC_CHAR_ID_TABLE_P): Likewise.
2501         (Lisp_Char_ID_Table): Use structure `Lisp_Char_Table'.
2502         (XCHAR_ID_TABLE): Use `XCHAR_TABLE'.
2503         (XSETCHAR_ID_TABLE): Use `XSETCHAR_TABLE'.
2504         (CHAR_ID_TABLE_P): Use `CHAR_TABLEP'.
2505         (get_char_id_table): Use `Lisp_Char_Table' instead of
2506         `Lisp_Char_ID_Table'.
2507         (put_char_id_table_0): Likewise.
2508         (put_char_id_table): Likewise.
2509
2510 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2511
2512         * chartab.h: Lisp_Byte_Table related codes are moved from
2513         chartab.h.
2514
2515         * char-ucs.h: Move Lisp_Byte_Table related codes to chartab.h.
2516
2517 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2518
2519         * chartab.h: Don't include "chartab.h".
2520         (struct Lisp_Char_ID_Table): Moved from char-ucs.h.
2521         (Lisp_Char_ID_Table): Likewise.
2522         (char_id_table): Likewise.
2523         (XCHAR_ID_TABLE): Likewise.
2524         (XSETCHAR_ID_TABLE): Likewise.
2525         (CHAR_ID_TABLE_P): Likewise.
2526         (GC_CHAR_ID_TABLE_P): Likewise.
2527         (get_char_id_table): Likewise.
2528
2529         * char-ucs.h: Include "chartab.h".
2530         (struct Lisp_Char_ID_Table): Moved to chartab.h.
2531         (Lisp_Char_ID_Table): Likewise.
2532         (char_id_table): Likewise.
2533         (XCHAR_ID_TABLE): Likewise.
2534         (XSETCHAR_ID_TABLE): Likewise.
2535         (CHAR_ID_TABLE_P): Likewise.
2536         (GC_CHAR_ID_TABLE_P): Likewise.
2537         (get_char_id_table): Likewise.
2538
2539 2001-09-01  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2540
2541         * chartab.c (copy_uint8_byte_table): New function.
2542         (copy_uint16_byte_table): New function.
2543         (copy_byte_table): New function.
2544         (map_over_uint8_byte_table): Modify to avoid huge numbers of
2545         characters to call.
2546         (map_over_uint16_byte_table): Likewise.
2547         (map_over_byte_table): Likewise.
2548         (get_byte_table): Move prototype to chartab.h.
2549         (put_byte_table): Likewise.
2550         (put_char_id_table_0): Moved to chartab.h.
2551         (mark_char_table_entry): Don't define in XEmacs UTF-2000.
2552         (char_table_entry_equal): Likewise.
2553         (char_table_entry_hash): Likewise.
2554         (char_table_entry_description): Likewise.
2555         (char_table_entry): Likewise.
2556         (make_char_table_entry): Likewise.
2557         (copy_char_table_entry): Likewise.
2558         (get_non_ascii_char_table_value): Likewise.
2559         (map_over_charset_ascii): Likewise.
2560         (map_over_charset_control_1): Likewise.
2561         (map_over_charset_row): Likewise.
2562         (map_over_other_charset): Likewise.
2563         (mark_char_table): Modify for new structure in XEmacs UTF-2000.
2564         (print_char_table): Likewise.
2565         (char_table_equal): Likewise.
2566         (char_table_hash): Likewise.
2567         (char_table_description): Likewise.
2568         (fill_char_table): Likewise.
2569         (Fcopy_char_table): Likewise.
2570         (get_char_table): Likewise.
2571         (Fget_range_char_table): Likewise.
2572         (put_char_table): Likewise.
2573         (map_char_table): Likewise.
2574         (syms_of_chartab): Don't define `char_table_entry' in XEmacs
2575         UTF-2000.
2576
2577 2001-08-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2578
2579         * cmds.c (vars_of_cmds): Use `put_char_id_table_0' for
2580         `Vauto_fill_chars' in XEmacs UTF-2000.
2581
2582         * chartab.h (get_byte_table): New prototype [moved from
2583         chartab.c].
2584         (put_byte_table): Likewise [moved from chartab.c].
2585         (put_char_id_table_0): New inline function [moved from chartab.c].
2586         (struct Lisp_Char_Table_Entry): Don't define in XEmacs UTF-2000.
2587         (Lisp_Char_Table_Entry): Likewise.
2588         (char_table_entry): Likewise.
2589         (XCHAR_TABLE_ENTRY): Likewise.
2590         (XSETCHAR_TABLE_ENTRY): Likewise.
2591         (CHAR_TABLE_ENTRYP): Likewise.
2592         (CHECK_CHAR_TABLE_ENTRY): Likewise.
2593         (NUM_ASCII_CHARS): Likewise.
2594         (struct Lisp_Char_Table): New implementation in XEmacs UTF-2000.
2595         (CHAR_TABLE_VALUE_UNSAFE): Likewise.
2596
2597 2001-08-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2598
2599         * chartab.c (get_char_id_table): Change interface.
2600         (put_char_id_table_0): New function.
2601         (put_char_id_table): Change interface; new implementation.
2602         (Fget_composite_char): Modify for interface change of
2603         `get_char_id_table'.
2604         (Fchar_variants): Likewise.
2605         (add_char_attribute_alist_mapper): Likewise.
2606         (Fchar_attribute_alist): Likewise.
2607         (Fget_char_attribute): Likewise.
2608         (Fput_char_attribute): Allow coded-charset or [CODED-CHARSET ROW]
2609         as same as character as the first argument like `put-char-table';
2610         modify for interface change of `put_char_id_table'.
2611         (Fremove_char_attribute): Modify for interface change of
2612         `put_char_id_table'.
2613
2614 2001-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2615
2616         * text-coding.c: Sync up with XEmacs 21.2.41.
2617         (COMPOSE_ADD_CHAR): Modify for interface change of
2618         `get_char_id_table'.
2619
2620         * mule-charset.c (put_char_ccs_code_point): Modify for interface
2621         change of `put_char_id_table'.
2622         (remove_char_ccs): Likewise.
2623
2624         * chartab.h (put_char_id_table): Change interface.
2625
2626         * char-ucs.h (get_char_id_table): Change interface.
2627         (charset_code_point): Modify for interface change of
2628         `get_char_id_table'.
2629         (encode_char_1): Likewise.
2630
2631 2001-08-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2632
2633         * chartab.c (map_over_uint8_byte_table): Change arguments; add new
2634         argument `ccs'.
2635         (map_over_uint16_byte_table): Likewise.
2636         (map_over_byte_table): Likewise.
2637         (map_char_id_table): Add new argument `range' like
2638         `map_char_table'.
2639         (Fmap_char_attribute): Add new argument `range' like
2640         `Fmap_char_table'.
2641
2642 2001-08-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2643
2644         * chartab.c (map_over_uint8_byte_table): Change interface of
2645         mapping function to use struct chartab_range instead of Emchar.
2646         (map_over_uint16_byte_table): Likewise.
2647         (map_over_byte_table): Likewise.
2648         (map_char_id_table): Likewise.
2649         (struct slow_map_char_id_table_arg): Deleted.
2650         (slow_map_char_id_table_fun): Deleted.
2651         (Fmap_char_attribute): Use struct `slow_map_char_table_arg' and
2652         function `slow_map_char_table_fun' instead of struct
2653         `slow_map_char_id_table_arg' and function
2654         `slow_map_char_id_table_fun'.
2655
2656 2001-08-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2657
2658         * mule-charset.c: Move char-it-table related codes to chartab.c.
2659         (Vutf_2000_version): Moved to chartab.c.
2660         (Fdefine_char): Likewise.
2661         (Ffind_char): Likewise.
2662         (syms_of_mule_charset): Move types `uint8-byte-table',
2663         `uint16-byte-table', `byte-table' and `char-id-table' to
2664         chartab.c; move functions `char_attribute_list,
2665         `find_char_attribute_table, `char_attribute_alist,
2666         `get_char_attribute, `put_char_attribute, `remove_char_attribute,
2667         `map_char_attribute, `define_char, `find_char, `char_variants and
2668         `get_composite_char to chartab.c; move symbols `=>ucs',
2669         `->decomposition', `compat', `isolated', `initial', `medial',
2670         `final', `vertical', `noBreak', `fraction', `super', `sub',
2671         `circle', `square', `wide', `narrow', `small' and `font' to
2672         chartab.c.
2673         (vars_of_mule_charset): Move `utf-2000-version' to chartab.c; move
2674         setting codes for `Vcharacter_composition_table' and
2675         `Vcharacter_variant_table' to chartab.c.
2676         (complex_vars_of_mule_charset): Move setting code for
2677         `Vchar_attribute_hash_table' to chartab.c.
2678
2679         * chartab.h: Include "char-ucs.h" if --with-utf-2000 is specified.
2680         (make_char_id_table): New prototype.
2681         (put_char_id_table): Likewise.
2682         (Fget_char_attribute): Likewise.
2683
2684         * chartab.c: Move char-id-table related code from mule-charset.c.
2685         (Vutf_2000_version): Moved from mule-charset.c.
2686
2687         * char-ucs.h (Qucs): New external variable.
2688         (put_char_ccs_code_point): New prototype.
2689         (remove_char_ccs): Likewise.
2690
2691 2001-08-14  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2692
2693         * mule-charset.c (Vcharset_ucs_jis): New variable.
2694         (Qucs_jis): Likewise.
2695         (syms_of_mule_charset): Add new symbol `ucs-jis'.
2696         (complex_vars_of_mule_charset): Add new coded-charset `ucs-jis'.
2697
2698         * char-ucs.h (LEADING_BYTE_UCS_JIS): New macro.
2699
2700 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2701
2702         * mule-charset.c (map_over_uint8_byte_table): New function.
2703         (map_over_uint16_byte_table): Likewise.
2704         (map_over_byte_table): Likewise.
2705         (map_char_id_table): Likewise.
2706         (slow_map_char_id_table_fun): Likewise.
2707         (Fmap_char_attribute): Likewise.
2708         (syms_of_mule_charset): Add new function `map-char-attribute'.
2709
2710 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2711
2712         * mule-charset.c (Ffind_char): New function in XEmacs UTF-2000.
2713         (syms_of_mule_charset): Add new function `find-char'.
2714
2715 2001-08-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2716
2717         * mule-charset.c (Vcharset_chinese_big5_cdp): New variable in
2718         XEmacs UTF-2000.
2719         (Qchinese_big5_cdp): New variable in XEmacs UTF-2000.
2720         (syms_of_mule_charset): Add new symbol `chinese-big5-cdp' in
2721         XEmacs UTF-2000.
2722         (complex_vars_of_mule_charset): Add new coded-charset
2723         `chinese-big5-cdp' in XEmacs UTF-2000; change registry of
2724         `ideograph-gt-pj-*'.
2725
2726         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5_CDP): New macro.
2727
2728 2001-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2729
2730         * mule-charset.c (encode_builtin_char_1): Purge codes about
2731         {MIN|MAX}_CHAR_{GREEK|CYRILLIC}; comment out code about
2732         {MIN|MAX}_CHAR_HEBREW.
2733         (complex_vars_of_mule_charset): Comment out {MIN|MAX}_CHAR_HEBREW;
2734         don't use {MIN|MAX}_CHAR_HEBREW to define `hebrew-iso8859-8'.
2735
2736         * char-ucs.h (MIN_CHAR_GREEK): Purged.
2737         (MAX_CHAR_GREEK): Purged.
2738         (MIN_CHAR_CYRILLIC): Purged.
2739         (MAX_CHAR_CYRILLIC): Purged.
2740         (MIN_CHAR_HEBREW): Commented out.
2741         (MAX_CHAR_HEBREW): Likewise.
2742
2743 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2744
2745         * mule-charset.c (Qto_ucs): New variable.
2746         (Fput_char_attribute): Treat `=>ucs' as same as `->ucs'.
2747         (Fdefine_char): Likewise.
2748         (syms_of_mule_charset): Add new symbol `=>ucs'.
2749
2750 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2751
2752         * mule-charset.c (Fdecode_char): Fixed.
2753
2754 2001-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2755
2756         * mule-charset.c (complex_vars_of_mule_charset): Modify registry
2757         of latin-tcvn5712 to accept "tcvn5712.1993-1" as same as
2758         "tcvn5712-1".
2759
2760 2001-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2761
2762         * mule-charset.c (Vcharset_ucs_big5): New variable.
2763         (Qucs_big5): Likewise.
2764         (syms_of_mule_charset): Add new symbol `ucs-big5'.
2765         (complex_vars_of_mule_charset): Add new coded-charset `ucs-big5'.
2766
2767         * char-ucs.h (LEADING_BYTE_UCS_BIG5): New macro.
2768
2769 2001-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2770
2771         * mule-charset.c (decode_builtin_char): Check Big5 code range
2772         which can be mapped to `chinese-big5-1' and `chinese-big5-2'.
2773
2774 2001-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2775
2776         * mule-charset.c (Vcharset_chinese_gb12345): New variable.
2777         (Qchinese_gb12345): Likewise.
2778         (Fdecode_builtin_char): Fixed.
2779         (syms_of_mule_charset): Add `chinese-gb12345'.
2780         (complex_vars_of_mule_charset): Add coded-charset
2781         `chinese-gb12345'.
2782
2783         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x70.
2784         (LEADING_BYTE_CHINESE_GB12345): New macro.
2785
2786 2001-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2787
2788         * mule-charset.c (Fdecode_builtin_char): Use `latin-viscii-lower'
2789         and `latin-viscii-upper' for `latin-viscii'.
2790
2791 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2792
2793         * mule-charset.c (Fdecode_builtin_char): Comment out
2794         regularization code for ISO-IR GR representation.
2795
2796 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2797
2798         * mule-charset.c (decode_builtin_char): New function; renamed from
2799         `make_builtin_char'; return -1 instead of signal.
2800         (Fdecode_builtin_char): Use `decode_builtin_char'.
2801
2802         * char-ucs.h (decode_builtin_char): New prototype; renamed from
2803         `make_builtin_char'.
2804         (DECODE_CHAR): Use `decode_builtin_char' instead of
2805         `make_builtin_char'; use mapping table of `chinese-big5' for
2806         `chinese-big5-{1,2}'.
2807
2808 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2809
2810         * text-coding.c (char_encode_big5): New function.
2811         (char_finish_big5): Likewise.
2812         (reset_encoding_stream): Use `char_encode_big5' and
2813         `char_finish_big5' for CODESYS_BIG5.
2814         (mule_encode): Don't use `encode_coding_big5'.
2815         (encode_coding_big5): Deleted.
2816
2817 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2818
2819         * text-coding.c (BYTE_BIG5_TWO_BYTE_1_P): Support private area
2820         0x81- in XEmacs UTF-2000.
2821         (detect_coding_big5): Likewise.
2822
2823 2001-07-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2824
2825         * mule-charset.c (Fdefine_char): Don't use a CCS property to
2826         generate character-id if the CCS property does not have
2827         corresponding predefined character.
2828         (make_builtin_char): Return -1 if corresponding predefined
2829         character is not found.
2830         (Fdecode_char): Return nil if corresponding character is not
2831         found.
2832         (complex_vars_of_mule_charset): Change `ucs-cns' to 256^3-set and
2833         don't map to builtin ucs space.
2834
2835 2001-07-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2836
2837         * char-ucs.h (MAX_LEADING_BYTE_PRIVATE): Fixed.
2838         (MAX_CHAR_GT): Changed to `(MIN_CHAR_GT + 66773)'.
2839
2840 2001-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2841
2842         * mule-charset.c (Vcharset_ideograph_gt): New variable.
2843         (Vcharset_ideograph_gt_pj_{1..11}): Likewise.
2844         (Qideograph_gt): Likewise.
2845         (Qideograph_gt_pj_{1..11}): Likewise.
2846         (syms_of_mule_charset): Add `ideograph-gt', `ideograph-gt-pj-1',
2847         `ideograph-gt-pj-2', ..., `ideograph-gt-pj-10' and
2848         `ideograph-gt-pj-11'.
2849         (complex_vars_of_mule_charset): Add coded-charset `ideograph-gt',
2850         `ideograph-gt-pj-1', `ideograph-gt-pj-2', ...,
2851         `ideograph-gt-pj-10' and `ideograph-gt-pj-11'.
2852
2853         * char-ucs.h (LEADING_BYTE_GT): New macro.
2854         (LEADING_BYTE_GT_PJ_{1..11}): Likewise.
2855         (MIN_CHAR_GT): Likewise.
2856         (MAX_CHAR_GT): Likewise.
2857
2858 2001-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2859
2860         * lisp-disunion.h (XCHARVAL): New implementation for UTF-2000 to
2861         support U-60000000 .. U-7FFFFFFF with 32 bits architecture.
2862
2863         * doprnt.c (unsigned_int_converters): Add `c'.
2864         (emacs_doprnt_1): Use `XUINT' for unsigned integers.
2865
2866         * char-ucs.h (MIN_CHAR_DAIKANWA): Don't refer `MIN_CHAR_MOJIKYO'.
2867         (MAX_CHAR_DAIKANWA): Refer `MIN_CHAR_DAIKANWA' instead of
2868         `MIN_CHAR_MOJIKYO'.
2869         (MIN_CHAR_MOJIKYO_0): New macro; refer `MIN_CHAR_DAIKANWA'.
2870         (MAX_CHAR_MOJIKYO_0): New macro.
2871         (MIN_CHAR_MOJIKYO): Changed to 0x60000000.
2872
2873 2001-06-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2874
2875         * mule-charset.c (Fdefine_char): Delete cemented out code.
2876         (encode_builtin_char_1): Modify for new allocation of builtin
2877         Mojikyo characters.
2878
2879         * lisp-disunion.h (XCHARVAL): Cast the argument into EMACS_UINT.
2880
2881 2001-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2882
2883         * mule-charset.c (Vcharset_ucs_cns): New variable.
2884         (Qucs_cns): New variable.
2885         (syms_of_mule_charset): Add new symbol `ucs-cns'.
2886         (complex_vars_of_mule_charset): Add new coded-charset `ucs-cns'.
2887
2888 2001-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2889
2890         * char-ucs.h (LEADING_BYTE_UCS_CNS): New macro.
2891
2892 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
2893
2894         * search.c (search_buffer): Make `charset_base_code' as
2895         character-id >> 6 to eliminate the corresponding last byte in
2896         UTF-8 representation [I'm not sure it is right thing].
2897         (boyer_moore): Likewise.
2898
2899 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
2900
2901         * emacs.c (vars_of_emacs): Convert XEMACS_CODENAME to internal
2902         representation in MULE.
2903
2904 2000-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2905
2906         * text-coding.c (Fmake_coding_system): Use
2907         `EXTERNAL_PROPERTY_LIST_LOOP_3' instead of
2908         `EXTERNAL_PROPERTY_LIST_LOOP'.
2909
2910 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2911
2912         * text-coding.c (decode_output_utf8_partial_char): New function.
2913         (decode_coding_utf8): Use `decode_output_utf8_partial_char'.
2914
2915 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2916
2917         * text-coding.c (decode_coding_utf8): Output original byte
2918         sequence if it is broken; change order of conditions.
2919
2920         * mb-utf-8.h (REP_BYTES_BY_FIRST_BYTE): Use Bufbyte; reverse order
2921         of conditions.
2922
2923         * mb-multibyte.h (BYTE_ASCII_P):
2924         Use bit ops for char-signedness safety.
2925         (BYTE_C0_P): Use bit ops for char-signedness safety.
2926         (BYTE_C1_P): Use bit ops for char-signedness safety.
2927
2928         * character.h: (XCHAR_OR_CHAR_INT):
2929         Always use inline function.
2930         Remove redundant type checking assert() - XINT will abort quite
2931         nicely.
2932
2933 2000-11-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2934
2935         * text-coding.c: (Fencode_shift_jis_char):
2936         (Fencode_big5_char):
2937         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
2938         Replace 0 with '\0' when working with bytes.
2939         Replace initial "(" with "\(" in docstrings.
2940
2941         (Fmake_coding_system):
2942         When type is ccl and value is vector, register it with a proper
2943         symbol.  And checks whether the given ccl program is valid.
2944         (mule_decode): When calling ccl_driver, if src indicates
2945         NULL pointer, set an empty string instead.
2946         (mule_encode): Likewise.
2947
2948         (detect_eol_type):
2949         (detect_coding_sjis):
2950         (decode_coding_sjis):
2951         (detect_coding_big5):
2952         (decode_coding_big5):
2953         (detect_coding_ucs4):
2954         (decode_coding_ucs4):
2955         (detect_coding_utf8):
2956         (decode_coding_utf8):
2957         (detect_coding_iso2022):
2958         (decode_coding_iso2022):
2959         (decode_coding_no_conversion):
2960         (mule_decode):
2961         Make all detecting and decoding functions take an Extbyte * arg.
2962         (text_encode_generic):
2963         (encode_coding_big5):
2964         (encode_coding_no_conversion):
2965         (mule_encode):
2966         Make all encoding functions take a Bufbyte * arg.
2967         Use size_t instead of unsigned int for memory sizes.
2968         Only cast to unsigned char whenever dereferencing Extbyte *.
2969
2970         (struct lrecord_description fcd_description_1): Use countof.
2971         (complex_vars_of_file_coding):
2972         Use countof instead of sizeof.
2973         Use CHECK_NATNUM instead of CHECK_INT.
2974
2975 2000-11-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2976
2977         * mule-charset.c (Fget_char_attribute): Add new optional argument
2978         `default-value'.
2979         (put_char_ccs_code_point): Modify for `Fget_char_attribute'.
2980         (remove_char_ccs): Likewise.
2981
2982 2000-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2983
2984         * text-coding.c (char_encode_shift_jis): New implementation in
2985         UTF-2000.
2986         (decode_coding_big5): Use `DECODE_CHAR (Vcharset_chinese_big5,
2987         ...)'.
2988
2989         * mule-charset.c (Vcharset_chinese_big5): New variable in
2990         UTF-2000.
2991         (Qchinese_big5): New variable in UTF-2000.
2992         (BIG5_SAME_ROW): New macro in UTF-2000.
2993         (make_builtin_char): Use builtin characters of
2994         `Vcharset_chinese_big5_1' and `Vcharset_chinese_big5_2' as builtin
2995         characters of `Vcharset_chinese_big5'.
2996         (syms_of_mule_charset): Add new symbol `chinese-big5' in UTF-2000.
2997         (complex_vars_of_mule_charset): Add new coded-charset
2998         `chinese-big5' in UTF-2000.
2999
3000         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5): New macro.
3001         (Vcharset_chinese_big5): New external variable declaration.
3002         (Vcharset_japanese_jisx0208_1990): Likewise.
3003
3004 2000-07-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3005
3006         * mule-charset.c (expand_uint8_byte_table_to_uint16): New
3007         function.
3008         (put_byte_table): Use `expand_uint8_byte_table_to_uint16'.
3009
3010 2000-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3011
3012         * mule-charset.c (complex_vars_of_mule_charset): Define new macro
3013         `DEF_MOJIKYO_PJ' in UTF-2000; use `DEF_MOJIKYO_PJ' to define
3014         `mojikyo-pj-*'; add "MojikyoPJ-*" to charset-registry of
3015         `mojikyo-pj-*'.
3016
3017 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3018
3019         * text-coding.c (decode_coding_big5): Modify for UTF-2000.
3020
3021 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3022
3023         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3024         to 0.17.
3025
3026 2000-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3027
3028         * file-coding.c (ucs_to_char): Don't use `CHARSET_TYPE_*'; modify
3029         for `CHARSET_BY_ATTRIBUTES'.
3030         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
3031         `CHARSET_BY_ATTRIBUTES'.
3032
3033         * text-coding.c (struct decoding_stream): Rename member `CH' to
3034         `CPOS'.
3035         (reset_decoding_stream): Use `str->cpos' instead of `str->ch'.
3036         (decode_coding_sjis): Likewise.
3037         (decode_coding_big5): Likewise.
3038         (decode_coding_ucs4): Likewise.
3039         (decode_coding_utf8): Likewise.
3040         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
3041         `CHARSET_BY_ATTRIBUTES'.
3042         (decode_coding_iso2022): Use `str->cpos' instead of `str->ch'; use
3043         `str->counter'; decode 3, 4 bytes sets.
3044         (char_encode_iso2022): Don't use `BREAKUP_CHAR'; encode 3, 4 bytes
3045         sets.
3046         (decode_coding_no_conversion): Use `str->cpos' instead of
3047         `str->ch'.
3048
3049         * mule-charset.c (Vcharset_mojikyo_2022_1): New variable.
3050         (Qmojikyo_2022_1): New variable.
3051         (make_charset): Don't use `CHARSET_TYPE_*'.
3052         (range_charset_code_point): Support coded-charset
3053         `mojikyo-2022-1'.
3054         (encode_builtin_char_1): Modify for `CHARSET_BY_ATTRIBUTES'.
3055         (Fmake_charset): Don't use `CHARSET_TYPE_*'; modify for
3056         `CHARSET_BY_ATTRIBUTES'.
3057         (Fcharset_from_attributes): Don't use `CHARSET_TYPE_*'; modify for
3058         `CHARSET_BY_ATTRIBUTES'.
3059         (syms_of_mule_charset): Add new symbol `mojikyo-2022-1'.
3060         (complex_vars_of_mule_charset): Add new coded-charset
3061         `mojikyo-2022-1'.
3062
3063         * mule-charset.h (CHARSET_BY_ATTRIBUTES): New implementation and
3064         interface; changed to inline function.
3065
3066         * char-ucs.h (Vcharset_mojikyo_2022_1): New variable.
3067         (LEADING_BYTE_MOJIKYO_2022_1): New macro.
3068         (LEADING_BYTE_MOJIKYO_2022_2): New macro.
3069         (CHARSET_TYPE_94): Deleted.
3070         (CHARSET_TYPE_94X94): Deleted.
3071         (CHARSET_TYPE_96): Deleted.
3072         (CHARSET_TYPE_96X96): Deleted.
3073         (CHARSET_TYPE_128): Deleted.
3074         (CHARSET_TYPE_128X128): Deleted.
3075         (CHARSET_TYPE_256): Deleted.
3076         (CHARSET_TYPE_256X256): Deleted.
3077         (CHARSET_BY_ATTRIBUTES): New implementation and interface; changed
3078         to inline function.
3079         (DECODE_MOJIKYO_2022): New inline function.
3080         (DECODE_CHAR): Use `DECODE_MOJIKYO_2022'; decode
3081         `Vcharset_mojikyo_2022_1'.
3082
3083 2000-07-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3084
3085         * mule-charset.c (byte_table_same_value_p): Use `internal_equal'
3086         instead of `EQ'.
3087         (put_byte_table): Likewise.
3088         (char_id_table_equal): Use `get_byte_table' [new implementation].
3089
3090 2000-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3091
3092         * mule-charset.c: Include <limits.h> in UTF-2000.
3093         (BT_UINT8_MIN): New macro in UTF-2000.
3094         (BT_UINT8_MAX): New macro in UTF-2000.
3095         (BT_UINT8_t): New macro in UTF-2000.
3096         (BT_UINT8_nil): New macro in UTF-2000.
3097         (BT_UINT8_unbound): New macro in UTF-2000.
3098         (INT_UINT8_P): New inline function in UTF-2000.
3099         (UINT8_VALUE_P): New inline function in UTF-2000.
3100         (UINT8_ENCODE): New inline function in UTF-2000.
3101         (UINT8_DECODE): New inline function in UTF-2000.
3102         (mark_uint8_byte_table): New function in UTF-2000.
3103         (print_uint8_byte_table): New function in UTF-2000.
3104         (uint8_byte_table_equal): New function in UTF-2000.
3105         (uint8_byte_table_hash): New function in UTF-2000.
3106         (make_uint8_byte_table): New function in UTF-2000.
3107         (uint8_byte_table_same_value_p): New function in UTF-2000.
3108         (BT_UINT16_MIN): New macro in UTF-2000.
3109         (BT_UINT16_MAX): New macro in UTF-2000.
3110         (BT_UINT16_t): New macro in UTF-2000.
3111         (BT_UINT16_nil): New macro in UTF-2000.
3112         (BT_UINT16_unbound): New macro in UTF-2000.
3113         (INT_UINT16_P): New inline function in UTF-2000.
3114         (UINT16_VALUE_P): New inline function in UTF-2000.
3115         (UINT16_ENCODE): New inline function in UTF-2000.
3116         (UINT16_DECODE): New inline function in UTF-2000.
3117         (UINT8_TO_UINT16): New inline function in UTF-2000.
3118         (mark_uint16_byte_table): New function in UTF-2000.
3119         (print_uint16_byte_table): New function in UTF-2000.
3120         (uint16_byte_table_equal): New function in UTF-2000.
3121         (uint16_byte_table_hash): New function in UTF-2000.
3122         (make_uint16_byte_table): New function in UTF-2000.
3123         (uint16_byte_table_same_value_p): New function in UTF-2000.
3124         (print_byte_table): New function in UTF-2000.
3125         (byte-table): Use `print_byte_table' as printer.
3126         (make_byte_table): Delete second argument `older'.
3127         (byte_table_same_value_p): New function in UTF-2000.
3128         (copy_byte_table): Deleted.
3129         (get_byte_table): New function in UTF-2000.
3130         (put_byte_table): New function in UTF-2000.
3131         (print_char_id_table): New function in UTF-2000.
3132         (char-id-table): Use `print_char_id_table' as printer.
3133         (make_char_id_table): Delete second argument `older'.
3134         (get_char_id_table): Use `get_byte_table [new implementation].
3135         (put_char_id_table): Use `get_byte_table and `put_byte_table' [new
3136         implementation].
3137         (Ffind_char_attribute_table): New function in UTF-2000.
3138         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
3139         (syms_of_mule_charset): Add LRECORD_IMPLEMENTATION
3140         `uint8_byte_table' and `uint16_byte_table' in UTF-2000.
3141         (syms_of_mule_charset): Add new function
3142         `find-char-attribute-table' in UTF-2000.
3143
3144         * lrecord.h (enum lrecord_type): Add
3145         `lrecord_type_uint16_byte_table' and
3146         `lrecord_type_uint8_byte_table'.
3147
3148         * char-ucs.h (struct Lisp_Uint8_Byte_Table): New structure.
3149         (Lisp_Uint8_Byte_Table): New type.
3150         (XUINT8_BYTE_TABLE): New macro.
3151         (XSETUINT8_BYTE_TABLE): New macro.
3152         (UINT8_BYTE_TABLE_P): New macro.
3153         (GC_UINT8_BYTE_TABLE_P): New macro.
3154         (struct Lisp_Uint16_Byte_Table): New structure.
3155         (Lisp_Uint16_Byte_Table): New type.
3156         (XUINT16_BYTE_TABLE): New macro.
3157         (XSETUINT16_BYTE_TABLE): New macro.
3158         (UINT16_BYTE_TABLE_P): New macro.
3159         (GC_UINT16_BYTE_TABLE_P): New macro.
3160
3161 2000-07-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3162
3163         * mule-charset.c (Vcharacter_ideographic_radical_table): Deleted.
3164         (Vcharacter_ideographic_strokes_table): Deleted.
3165         (Vcharacter_total_strokes_table): Deleted.
3166         (Vcharacter_morohashi_daikanwa_table): Deleted.
3167         (Vcharacter_decomposition_table): Deleted.
3168         (Qname): Deleted because it is duplicated.
3169         (Qideographic_radical): Deleted.
3170         (Qideographic_strokes): Deleted.
3171         (Qtotal_strokes): Deleted.
3172         (Qmorohashi_daikanwa): Deleted.
3173         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' for
3174         `ideographic-radical', `ideographic-strokes', `total-strokes',
3175         `morohashi-daikanwa' and `->decomposition'.
3176         (Fget_char_attribute): Likewise.
3177         (Fput_char_attribute): Likewise; use `make-vector' instead of
3178         `make_older_vector' for `->decomposition' value.
3179         (Fdefine_char): Comment out code to check `morohashi-daikanwa' and
3180         `ideograph-daikanwa'.
3181         (syms_of_mule_charset): Delete builtin symbols `name',
3182         `ideographic-radical', `ideographic-strokes', `total-strokes' and
3183         `morohashi-daikanwa'.
3184         (vars_of_mule_charset): Don't setup
3185         `Vcharacter_ideographic_radical_table',
3186         `Vcharacter_ideographic_strokes_table',
3187         `Vcharacter_total_strokes_table',
3188         `Vcharacter_morohashi_daikanwa_table' and
3189         `Vcharacter_decomposition_table'.
3190
3191 2000-06-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3192
3193         * alloc.c: Use `HAVE_GGC' instead of `UTF2000' for
3194         `make_older_vector', `make_vector_newer_1' and
3195         `make_vector_newer'.
3196
3197         * lisp.h: Use `HAVE_GGC' instead of `UTF2000' for
3198         `make_older_vector' and `make_vector_newer'.
3199
3200         * config.h.in (HAVE_GGC): New macro.
3201
3202 2000-06-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3203
3204         * mule-charset.c (struct char_attribute_list_closure): New
3205         structure in UTF-2000.
3206         (add_char_attribute_to_list_mapper): New function in UTF-2000.
3207         (Fchar_attribute_list): Likewise.
3208         (Fset_charset_mapping_table): Use `make_vector_newer'.
3209         (Fdecode_builtin_char): New function in UTF-2000.
3210         (syms_of_mule_charset): Add new function `char-attribute-list' and
3211         `decode-builtin-char' in UTF-2000.
3212
3213         * lisp.h (make_vector_newer): New prototype.
3214
3215         * alloc.c (make_vector_newer_1): New function.
3216         (make_vector_newer): New function.
3217
3218 2000-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3219
3220         * char-ucs.h (MAX_CHAR_DAIKANWA): Changed to `(MIN_CHAR_MOJIKYO +
3221         50100)'.
3222
3223 2000-06-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3224
3225         * mule-charset.c (Vchar_attribute_hash_table): New variable.
3226         (Vcharacter_attribute_table): Deleted.
3227         (Vcharacter_name_table): Deleted.
3228         (put_char_attribute): Deleted.
3229         (remove_char_attribute): Deleted.
3230         (struct char_attribute_alist_closure): New structure.
3231         (add_char_attribute_alist_mapper): New function.
3232         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' instead
3233         of `Vcharacter_attribute_table' and `Vcharacter_name_table'.
3234         (Fget_char_attribute): Likewise.
3235         (Fput_char_attribute): Likewise.
3236         (Fremove_char_attribute): Use `Vchar_attribute_hash_table' instead
3237         of `remove_char_attribute'.
3238         (Fdefine_char): Return character.
3239         (vars_of_mule_charset): Don't setup `Vcharacter_attribute_table'
3240         and `Vcharacter_name_table'.
3241         (complex_vars_of_mule_charset): Likewise
3242         `Vchar_attribute_hash_table'.
3243
3244 2000-06-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3245
3246         * character.h (CHARC_CHARSET): New macro.
3247         (CHARC_CHARSET_ID): New macro.
3248         (CHARC_CODE_POINT): New macro.
3249         (CHARC_COLUMNS): New macro.
3250         (CHARC_TO_CHAR): New inline function.
3251         (CHARC_EQ): New inline function.
3252         (CHARC_ASCII_EQ): New inline function.
3253         (CHARC_IS_SPACE): New inline function.
3254         (ASCII_TO_CHARC): New inline function.
3255
3256         * char-ucs.h (encode_char_2): Deleted.
3257         (ENCODE_CHAR): Use `encode_char_1' again.
3258         (breakup_char_1): Likewise.
3259         (CHAR_TO_CHARC): New inline function.
3260
3261         * char-lb.h, char-1byte.h (CHAR_TO_CHARC): New inline function.
3262
3263 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3264
3265         * redisplay.c (add_emchar_rune): Use `ASCII_TO_CHARC',
3266         `CHAR_TO_CHARC' and `CHARC_CHARSET'.
3267         (create_text_block): Use `CHARC_ASCII_EQ' and `CHARC_IS_SPACE'.
3268         (generate_formatted_string_db): Use `CHARC_TO_CHAR'.
3269         (create_string_text_block): Use `CHARC_ASCII_EQ' and
3270         `CHARC_IS_SPACE'.
3271         (pixel_to_glyph_translation): Use `CHARC_ASCII_EQ'.
3272
3273         * redisplay-x.c (separate_textual_runs): Use `CHARC_CHARSET' and
3274         `CHARC_CODE_POINT'.
3275         (x_output_display_block): Use `CHARC_CHARSET' and
3276         `CHARC_ASCII_EQ'.
3277
3278         * redisplay-tty.c (tty_output_display_block): Use
3279         `CHARC_ASCII_EQ'.
3280         (tty_output_display_block): Likewise; use `ASCII_TO_CHARC'.
3281
3282         * redisplay-output.c (compare_runes): Use `CHARC_EQ'.
3283
3284         * insdel.c (find_charsets_in_charc_string): Use
3285         `CHARC_CHARSET_ID'.
3286         (charc_string_displayed_columns): Use `CHARC_COLUMNS'.
3287         (convert_bufbyte_string_into_charc_dynarr): Use `CHAR_TO_CHARC'.
3288         (convert_charc_string_into_bufbyte_dynarr): Use `CHARC_TO_CHAR'.
3289         (convert_charc_string_into_malloced_string): Likewise.
3290
3291 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3292
3293         * toolbar-x.c (x_output_toolbar_button): Use <Charc_dynarr *>
3294         instead of <Emchar_dynarr *> for buf; use
3295         `convert_bufbyte_string_into_charc_dynarr' instead of
3296         `convert_bufbyte_string_into_emchar_dynarr'; use
3297         `find_charsets_in_charc_string' instead of
3298         `find_charsets_in_emchar_string'.
3299
3300         * redisplay.h:
3301         - Include "character.h".
3302         (struct rune): New member `cglyph'; delete member `chr'.
3303
3304         * redisplay.c (redisplay_text_width_charc_string): New function;
3305         delete `redisplay_text_width_emchar_string'.
3306         (rtw_charc_dynarr): New variable; renamed from
3307         `rtw_emchar_dynarr'.
3308         (redisplay_text_width_string): Use `rtw_charc_dynarr' instead of
3309         `rtw_emchar_dynarr'; use
3310         `convert_bufbyte_string_into_charc_dynarr' instead of
3311         `convert_bufbyte_string_into_emchar_dynarr'; use
3312         `redisplay_text_width_charc_string' instead of
3313         `redisplay_text_width_emchar_string'.
3314         (redisplay_frame_text_width_string): Use `rtw_charc_dynarr'
3315         instead of `rtw_emchar_dynarr'; use
3316         `convert_bufbyte_string_into_charc_dynarr' instead of
3317         `convert_bufbyte_string_into_emchar_dynarr'.
3318         (add_emchar_rune): Add <Charc> instead of <Emchar>; use
3319         `redisplay_text_width_charc_string' instead of
3320         `redisplay_text_width_emchar_string'.
3321         (create_text_block): Modify for <struct rune> change.
3322         (generate_formatted_string_db): Likewise.
3323         (create_string_text_block): Likewise.
3324         (pixel_to_glyph_translation): Likewise.
3325
3326         * redisplay-x.c (separate_textual_runs): Use <const Charc *>
3327         instead of <const Emchar *>.
3328         (x_text_width): Likewise.
3329         (x_output_display_block): Use <Charc_dynarr *> instead
3330         <Emchar_dynarr *>; modify for <structure rune> change.
3331         (x_output_string): Use <Charc_dynarr *> instead of <Emchar_dynarr
3332         *>.
3333
3334         * redisplay-tty.c (tty_text_width): Use <const Charc *> instead of
3335         <const Emchar *>; use `charc_string_displayed_columns' instead of
3336         `emchar_string_displayed_columns'.
3337         (tty_output_display_block): Use <Charc_dynarr *> instead of
3338         <Emchar_dynarr *> for buf; modify for <structure rune> change; use
3339         `tty_output_charc_dynarr' instead of `tty_output_emchar_dynarr'.
3340         (tty_output_charc_dynarr_dynarr): New variable; renamed from
3341         `tty_output_emchar_dynarr_dynarr'.
3342         (tty_output_charc_dynarr): New function; delete
3343         `tty_output_charc_dynarr'.
3344
3345         * redisplay-output.c (compare_runes): Modify for `struct rune'.
3346         (redisplay_output_layout): Use <Charc_dynarr *> instead of
3347         <Emchar_dynarr *> for buf; use
3348         `convert_bufbyte_string_into_charc_dynarr' instead of
3349         `convert_bufbyte_string_into_emchar_dynarr'.
3350
3351         * frame.c (title_string_charc_dynarr): New variable; renamed from
3352         `title_string_emchar_dynarr'.
3353         (generate_title_string): Use `title_string_charc_dynarr' instead
3354         of `title_string_emchar_dynarr'; use
3355         `convert_charc_string_into_malloced_string' instead of
3356         `convert_emchar_string_into_malloced_string'.
3357         (init_frame): Use `title_string_charc_dynarr' instead of
3358         `title_string_emchar_dynarr'.
3359
3360         * console.h:
3361         - Include "character.h".
3362         (struct console_methods): Use <const Charc *> instead of <const
3363         Emchar *> in `text_width_method'; use <Charc_dynarr *> instead of
3364         <Emchar_dynarr *> in output_string_method.
3365
3366         * console-x.h (x_output_string): Use <Charc_dynarr *> instead of
3367         <Emchar_dynarr *>.
3368
3369         * console-stream.c (stream_text_width): Use <const Charc *>
3370         instead of <const Emchar *>.
3371
3372         * character.h (Charc_dynarr): New type.
3373
3374         * char-ucs.h (structure Charc): New structure; define new type
3375         `Charc'.
3376
3377         * char-lb.h (DECODE_CHAR): New inline function.
3378         (encode_char_1): New inline function.
3379         (ENCODE_CHAR): New macro.
3380         (structure Charc): New structure; define new type `Charc'.
3381
3382         * char-1byte.h (Vcharset_control_1): New macro.
3383         (Vcharset_latin_iso8859_1): New macro.
3384         (DECODE_CHAR): New inline function.
3385         (encode_char_1): New inline function.
3386         (ENCODE_CHAR): New macro.
3387         (structure Charc): New structure; define new type `Charc'.
3388
3389         * insdel.c (find_charsets_in_charc_string): New function; delete
3390         `find_charsets_in_emchar_string'.
3391         (charc_string_displayed_columns): New function; delete
3392         `emchar_string_displayed_columns'.
3393         (convert_bufbyte_string_into_charc_dynarr): New function; delete
3394         `convert_bufbyte_string_into_emchar_dynarr'.
3395         (convert_charc_string_into_bufbyte_dynarr): New function; delete
3396         `convert_charc_string_into_bufbyte_dynarr'.
3397         (convert_charc_string_into_malloced_string): New function; delete
3398         `convert_charc_string_into_malloced_string'.
3399
3400         * buffer.h (find_charsets_in_charc_string): New prototype; delete
3401         `find_charsets_in_emchar_string'.
3402         (charc_string_displayed_columns): New prototype; delete
3403         `emchar_string_displayed_columns'.
3404         (convert_charc_string_into_bufbyte_dynarr): New prototype; delete
3405         `convert_charc_string_into_bufbyte_dynarr'.
3406         (convert_charc_string_into_malloced_string): New prototype; delete
3407         `convert_charc_string_into_malloced_string'.
3408
3409 2000-06-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3410
3411         * select-x.c (Fx_store_cutbuffer_internal): Modify for UTF-2000.
3412
3413 2000-06-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3414
3415         * chartab.h (get_non_ascii_char_table_value): Use <Charset_ID>.
3416
3417         * char-ucs.h: Use <short> for <Charset_ID>.
3418
3419         * mule-charset.h, char-1byte.h: Use <unsigned char> for
3420         <Charset_ID>.
3421
3422 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3423
3424         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3425         to 0.16.
3426
3427 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3428
3429         * mule-charset.c (Vcharacter_morohashi_daikanwa_table): New
3430         variable.
3431         (Qmorohashi_daikanwa): New variable.
3432         (Fchar_attribute_alist): Use `Vcharacter_morohashi_daikanwa_table'
3433         for `morohashi-daikanwa' attribute.
3434         (Fget_char_attribute): Likewise.
3435         (Fput_char_attribute): Likewise.
3436         (Fdefine_char): Don't setup `morohashi-daikanwa' attribute if it
3437         has the same value of `ideograph-daikanwa'.
3438         (syms_of_mule_charset): Add new symbol `morohashi-daikanwa'.
3439         (vars_of_mule_charset): Setup
3440         `Vcharacter_morohashi_daikanwa_table'.
3441
3442 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3443
3444         * mule-charset.c (Fchar_attribute_alist): Add coded-charset
3445         attributes.
3446         (add_charset_to_list_mapper): Add `key' instead of
3447         `XCHARSET_NAME (value)' to return aliases.
3448
3449 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3450
3451         * mule-charset.c (Vcharacter_ideographic_radical_table): New
3452         variable.
3453         (Vcharacter_ideographic_strokes_table): New variable.
3454         (Qideographic_radical): New variable.
3455         (Qideographic_strokes): New variable.
3456         (Fchar_attribute_alist): Use
3457         `Vcharacter_ideographic_radical_table' for `ideographic-radical'
3458         attribute; use `Vcharacter_ideographic_strokes_table' for
3459         `ideographic-strokes' attribute.
3460         (Fget_char_attribute): Likewise.
3461         (Fput_char_attribute): Likewise.
3462         (syms_of_mule_charset): Add new symbol `ideographic-radical' and
3463         `ideographic-strokes'.
3464         (vars_of_mule_charset): Setup
3465         `Vcharacter_ideographic_radical_table' and
3466         `Vcharacter_ideographic_strokes_table'.
3467
3468 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3469
3470         * mule-charset.c (Vcharacter_total_strokes_table): New variable.
3471         (Qtotal_strokes): New variable.
3472         (Fchar_attribute_alist): Use `Vcharacter_total_strokes_table' for
3473         `total-strokes' attribute.
3474         (Fget_char_attribute): Likewise.
3475         (Fput_char_attribute): Likewise.
3476         (syms_of_mule_charset): Add new symbol `total-strokes'.
3477         (vars_of_mule_charset): Setup `Vcharacter_total_strokes_table'.
3478
3479 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3480
3481         * mule-charset.c (Vcharacter_decomposition_table): New variable.
3482         (Fchar_attribute_alist): Add `name' and `->decomposition' if they
3483         are found.
3484         (Fget_char_attribute): Use `Vcharacter_decomposition_table' for
3485         `->decomposition' attribute.
3486         (Fput_char_attribute): Likewise.
3487         (vars_of_mule_charset): Setup `Vcharacter_decomposition_table'.
3488
3489 2000-06-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3490
3491         * mule-charset.c (decoding_table_check_elements): New function.
3492         (Fset_charset_mapping_table): Use `decoding_table_check_elements'.
3493
3494 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3495
3496         * mule-charset.c (Fset_charset_mapping_table): Use
3497         `put_char_ccs_code_point'.
3498
3499 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3500
3501         * mule-charset.c (decoding_table_put_char): New inline function.
3502         (put_char_ccs_code_point): Use `decoding_table_put_char'.
3503
3504 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3505
3506         * mule-charset.c (CHARSET_BYTE_SIZE): New inline function.
3507         (XCHARSET_BYTE_SIZE): New macro.
3508         (decoding_table_remove_char): New inline function.
3509         (put_char_ccs_code_point): Use `XCHARSET_BYTE_SIZE'; use
3510         `decoding_table_remove_char'.
3511         (remove_char_ccs): Use `decoding_table_remove_char'.
3512         (Fset_charset_mapping_table): Use `CHARSET_BYTE_SIZE'.
3513
3514 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3515
3516         * mule-charset.c (Vcharacter_name_table): New variable.
3517         (Qname): New variable.
3518         (Fget_char_attribute): Use `Vcharacter_name_table' for `name'
3519         attribute.
3520         (Fput_char_attribute): Use function `put_char_ccs_code_point'; use
3521         `Vcharacter_name_table' for `name' attribute.
3522         (Fremove_char_attribute): Use function `remove_char_ccs'.
3523         (put_char_ccs_code_point): New function.
3524         (remove_char_ccs): New function.
3525         (syms_of_mule_charset): Add new symbol `name'.
3526         (vars_of_mule_charset): Setup `Vcharacter_name_table'.
3527
3528 2000-05-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3529
3530         * mule-charset.c (make_byte_table): Add new argument `older'.
3531         (make_char_id_table): Likewise.
3532         (copy_char_id_table): Comment out because it is not used.
3533         (put_char_id_table): Modify for `make_byte_table'.
3534         (Fput_char_attribute): Make encoding_table as older object;
3535         inherit older bit of `Vcharacter_composition_table'.
3536         (mark_charset): Don't mark `cs->encoding_table'.
3537         (vars_of_mule_charset): Make `Vcharacter_attribute_table' as a
3538         normal object; make `Vcharacter_composition_table' as an older
3539         object; delete staticpro for `Vcharacter_composition_table'; make
3540         `Vcharacter_variant_table' as a normal object.
3541
3542         * alloc.c (alloc_older_lcrecord): New function in UTF-2000.
3543         (mark_object): Don't check older object in UTF-2000.
3544
3545         * lrecord.h (struct lrecord_header): Add new member `older' in
3546         UTF-2000.
3547         (set_lheader_implementation): Setup `SLI_header->older' in
3548         UTF-2000.
3549         (set_lheader_older_implementation): New macro in UTF-2000.
3550         (OLDER_RECORD_P): New macro in UTF-2000.
3551         (OLDER_RECORD_HEADER_P): New macro in UTF-2000.
3552         (alloc_older_lcrecord): New prototype in UTF-2000.
3553         (alloc_older_lcrecord_type): New macro in UTF-2000.
3554
3555 2000-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3556
3557         * mule-charset.c (byte_table_description): Use
3558         `XD_LISP_OBJECT_ARRAY' instead of `XD_LISP_OBJECT'.
3559         (char_id_table_description): Delete bogus `, 1'.
3560         (Fget_char_attribute): Refer encoding_table of each coded-charset
3561         to get value of coded-charset attribute of a character.
3562         (Fput_char_attribute): Use `make_older_vector' instead of
3563         `make_vector'; use encoding_table of each coded-charset to store
3564         value of coded-charset attribute of a character.
3565         (Fremove_char_attribute): Use encoding_table of each coded-charset
3566         to store value of coded-charset attribute of a character.
3567         (mark_charset): Mark `cs->encoding_table'; don't mark
3568         `cs->decoding_table'.
3569         (charset_description): Add description of new member
3570         `encoding_table'.
3571         (make_charset): Initialize `encoding_table'.
3572
3573         * char-ucs.h (struct Lisp_Charset): Add new member
3574         `encoding_table'.
3575         (CHARSET_ENCODING_TABLE): New macro.
3576         (XCHARSET_ENCODING_TABLE): New macro.
3577         (charset_code_point): New implementation.
3578         (encode_char_1): Likewise.
3579
3580         * alloc.c (all_older_lcrecords): New variable in UTF-2000.
3581         (disksave_object_finalization_1): Call finalizers of
3582         `all_older_lcrecords' in UTF-2000.
3583         (make_older_vector): New function in UTF-2000.
3584         (reinit_alloc_once_early): Initialize `all_older_lcrecords' in
3585         UTF-2000.
3586
3587         * lisp.h (make_older_vector): New prototype in UTF-2000.
3588
3589 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3590
3591         * lrecord.h (enum lrecord_type): Rename
3592         `lrecord_type_char_code_table' to `lrecord_type_char_id_table'.
3593
3594         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_ID_TABLE_P' and
3595         `get_char_id_table' instead of `CHAR_CODE_TABLE_P' and
3596         `get_char_code_table'.
3597
3598         * mule-charset.c (mark_char_id_table): Renamed from
3599         `mark_char_code_table'.
3600         (char_id_table_equal): Renamed from `char_code_table_equal'.
3601         (char_id_table_hash): Renamed from `char_code_table_hash'.
3602         (make_char_id_table): Renamed from `make_char_code_table'.
3603         (copy_char_id_table): Renamed from `copy_char_code_table'.
3604         (get_char_id_table): Renamed from `get_char_code_table'.
3605         (put_char_id_table): Renamed from `put_char_code_table'.
3606         (to_char_id): Renamed from `to_char_code'.
3607
3608         * char-ucs.h (struct Lisp_Char_ID_Table): Renamed from
3609         `Lisp_Char_Code_Table'.
3610         (char_id_table): Renamed from `char_code_table'.
3611         (XCHAR_ID_TABLE): Renamed from `XCHAR_CODE_TABLE'.
3612         (XSETCHAR_ID_TABLE): Renamed from `XSETCHAR_CODE_TABLE'.
3613         (CHAR_ID_TABLE_P): Renamed from `CHAR_CODE_TABLE_P'.
3614         (GC_CHAR_ID_TABLE_P): Renamed from `GC_CHAR_CODE_TABLE_P'.
3615         (get_char_id_table): Renamed from `get_char_code_table'.
3616
3617 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3618
3619         * lrecord.h (enum lrecord_type): Rename
3620         `lrecord_type_char_byte_table' to `lrecord_type_byte_table'.
3621
3622         * mule-charset.c (mark_byte_table): Renamed from
3623         `mark_char_byte_table'.
3624         (byte_table_equal): Renamed from `char_byte_table_equal'.
3625         (byte_table_hash): Renamed from `byte_table_hash'.
3626         (make_byte_table): Renamed from `make_byte_table'.
3627         (copy_byte_table): Renamed from `copy_char_byte_table'.
3628
3629         * char-ucs.h (struct Lisp_Byte_Table): Renamed from
3630         `Lisp_Char_Byte_Table'.
3631         (byte_table): Renamed from `char_byte_table'.
3632         (XBYTE_TABLE): Renamed from `XCHAR_BYTE_TABLE'.
3633         (XSETBYTE_TABLE): Renamed from `XSET_CHAR_BYTE_TABLE'.
3634         (BYTE_TABLE_P): Renamed from `XBYTE_TABLE_P'.
3635         (GC_BYTE_TABLE_P): Renamed from `GC_CHAR_BYTE_TABLE_P'.
3636
3637 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3638
3639         * buffer.c (dfc_convert_to_external_format): Modify for UTF-2000.
3640         (dfc_convert_to_internal_format): Likewise.
3641         
3642         * text-coding.c (Fcoding_system_canonical_name_p): New function.
3643         * text-coding.c (Fcoding_system_alias_p): New function.
3644         * text-coding.c (Fcoding_system_aliasee): New function.
3645         * text-coding.c (append_suffix_to_symbol): New function.
3646         * text-coding.c (dangling_coding_system_alias_p): New function.
3647         * text-coding.c (Ffind_coding_system):
3648         * text-coding.c (Fcopy_coding_system):
3649         * text-coding.c (encode_coding_no_conversion):
3650         * text-coding.c (syms_of_file_coding):
3651         * text-coding.c (vars_of_file_coding):
3652         Rewrite coding system alias code.
3653         Allow nested aliases, like symbolic links.
3654         Allow redefinition of coding system aliases.
3655         Prevent existence of dangling coding system aliases.
3656         Eliminate convert_to_external_format.
3657         Eliminate convert_to_internal_format.
3658         
3659         * text-coding.c: Change enum eol_type to eol_type_t.
3660
3661 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3662
3663         * mule-charset.c (encode_builtin_char_1): Limit builtin-code-range
3664         of `mojikyo' to MIN_CHAR_MOJIKYO + 94 * 60 * 22.
3665
3666         * char-ucs.h (MAX_CHAR_MOJIKYO): Limit builtin-code-range to
3667         MIN_CHAR_MOJIKYO + 94 * 60 * 22.
3668
3669 2000-04-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3670
3671         * mule-charset.c (encode_builtin_char_1): Use `mojikyo' instead of
3672         `ideograph-daikanwa'.
3673
3674         * char-ucs.h (Vcharset_ucs): Deleted because it is not used.
3675         (Vcharset_ucs_bmp): Likewise.
3676         (Vcharset_mojikyo): Add new extern variable definition.
3677         (Vcharset_latin_iso8859_2): Deleted because it is not used.
3678         (Vcharset_latin_iso8859_3): Likewise.
3679         (Vcharset_latin_iso8859_4): Likewise.
3680         (Vcharset_latin_iso8859_9): Likewise.
3681         (Vcharset_latin_viscii_lower): Likewise.
3682         (Vcharset_latin_viscii_upper): Likewise.
3683         (DECODE_CHAR): If charset is `mojikyo-pj-N', corresponding
3684         `mojikyo' code-point is used to decode.
3685         (encode_char_2): New function [to convert `mojikyo' code-point to
3686         Mojikyo font encoding].
3687         (ENCODE_CHAR): Use `encode_char_2' instead of `encode_code_1'.
3688         (breakup_char_1): Likewise.
3689         (CHAR_CHARSET): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR'.
3690
3691 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3692
3693         * text-coding.c (Fmake_coding_system): Add document about
3694         `disable-composition' property.
3695
3696 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3697
3698         * text-coding.c (Qdisable_composition): New variable; delete
3699         `Qcomposite'.
3700         (Fmake_coding_system): Add new property `disable-composite';
3701         delete property `composite'.
3702         (COMPOSE_ADD_CHAR): Use `CODING_SYSTEM_DISABLE_COMPOSITION'
3703         instead of `!CODING_SYSTEM_COMPOSITE'.
3704         (syms_of_file_coding): Add new symbol `disable-composition';
3705         delete symbol `composite'.
3706
3707         * file-coding.h (struct Lisp_Coding_System): Add
3708         `disable_composition'; delete `enable_composition'.
3709         (CODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
3710         `CODING_SYSTEM_COMPOSITE'.
3711         (XCODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
3712         `XCODING_SYSTEM_COMPOSITE'.
3713
3714 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3715
3716         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3717         to 0.15.
3718
3719 2000-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3720
3721         * text-coding.c (Qcomposite): New variable.
3722         (Fmake_coding_system): Add new property `composite'.
3723         (struct decoding_stream): Add `combined_char_count',
3724         `combined_chars' and `combining_table' in UTF-2000.
3725         (COMPOSE_FLUSH_CHARS): New macro.
3726         (COMPOSE_ADD_CHAR): New macro.
3727         (reset_decoding_stream): Reset `str->combined_char_count' and
3728         `str->combining_table' in UTF-2000.
3729         (decode_coding_iso2022): Modify for character-decomposition.
3730         (syms_of_file_coding): Add new symbol `composite'.
3731
3732 2000-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3733
3734         * mule-charset.c (Vcharset_latin_tcvn5712): New variable.
3735         (Fput_char_attribute): Set up `Vcharacter_variant_table' instead
3736         of `Vcharacter_composition_table' if `->decomposition' property
3737         has only 1 element.
3738         (Qlatin_tcvn5712): New variable.
3739         (syms_of_mule_charset): Add new symbol `latin-tcvn5712'.
3740         (complex_vars_of_mule_charset): Add new coded-charset
3741         `latin-tcvn5712'.
3742
3743         * char-ucs.h (LEADING_BYTE_LATIN_TCVN5712): New macro.
3744
3745 2000-04-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3746
3747         * file-coding.h (struct Lisp_Coding_System): Add
3748         `enable_composition'.
3749         (CODING_SYSTEM_COMPOSITE): New macro.
3750         (XCODING_SYSTEM_COMPOSITE): New macro.
3751
3752 2000-03-17  MORIOKA Tomohiko  <tomo@m17n.org>
3753
3754         * mule-canna.c (c2mu): Fix problem with UTF-2000.
3755
3756 2000-03-16  MORIOKA Tomohiko  <tomo@m17n.org>
3757
3758         * mule-charset.c (Fput_char_attribute): Don't make mapping-table
3759         if ATTRIBUTE is `ucs' and character-id of CHARACTER = VALUE.
3760
3761 2000-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
3762
3763         * mule-charset.c (Vcharset_mojikyo): New variable.
3764         (Fdefine_char): Don't use coded-charset which does not have
3765         non-builtin character range to allocate character-id.
3766         (Qmojikyo): New variable.
3767         (syms_of_mule_charset): Add new symbol `mojikyo'.
3768         (complex_vars_of_mule_charset): Add new coded-charset `mojikyo'.
3769
3770         * char-ucs.h (LEADING_BYTE_DAIKANWA_EKANJI): New macro.
3771         (LEADING_BYTE_MOJIKYO): New macro.
3772         (MIN_CHAR_MOJIKYO): New macro.
3773         (MIN_CHAR_DAIKANWA): Use `MIN_CHAR_MOJIKYO'.
3774         (MAX_CHAR_MOJIKYO): New macro.
3775
3776 2000-02-12  MORIOKA Tomohiko  <tomo@m17n.org>
3777
3778         * mule-charset.c (remove_char_attribute): Fixed.
3779
3780 2000-02-08  MORIOKA Tomohiko  <tomo@m17n.org>
3781
3782         * mule-charset.c (remove_char_attribute): New function.
3783         (Fremove_char_attribute): New function.
3784         (encode_builtin_char_1): Comment out builtin-support for
3785         greek-iso8859-7 and cyrillic-iso8859-5.
3786         (Fdecode_char): Check `code' is an integer.
3787         (syms_of_mule_charset): Add `remove-char-attribute'.
3788         (MIN_CHAR_GREEK): Deleted.
3789         (MAX_CHAR_GREEK): Likewise.
3790         (MIN_CHAR_CYRILLIC): Likewise.
3791         (MAX_CHAR_CYRILLIC): Likewise.
3792         (complex_vars_of_mule_charset): Don't use MIN_CHAR_GREEK and
3793         MAX_CHAR_GREEK for `greek-iso8859-7'.
3794
3795         * char-ucs.h (MIN_CHAR_GREEK): Comment out.
3796         (MAX_CHAR_GREEK): Likewise.
3797         (MIN_CHAR_CYRILLIC): Likewise.
3798         (MAX_CHAR_CYRILLIC): Likewise.
3799
3800 2000-02-02  MORIOKA Tomohiko  <tomo@m17n.org>
3801
3802         * mule-charset.c (Fdefine_char): Fix problem when new code-point
3803         format is used without `ucs' property.
3804         (Fdecode_char): Fix problem with GR representation.
3805         (complex_vars_of_mule_charset): Don't use `MIN_CHAR_CYRILLIC' and
3806         `MAX_CHAR_CYRILLIC' as range of builtin `cyrillic-iso8859-5'.
3807
3808 2000-01-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3809
3810         * mule-charset.c (make_builtin_char): New function.
3811         (encode_builtin_char_1): Check ISO-2022-charset is defined or not.
3812         (Fset_charset_mapping_table): Modify for new representation of
3813         code-point.
3814         (Fdecode_char): New function.
3815         (syms_of_mule_charset): Add new builtin function `decode-char' in
3816         UTF-2000.
3817
3818         * char-ucs.h (make_builtin_char): New prototype.
3819         (DECODE_CHAR): New inline function.
3820         (MAKE_CHAR): Use `DECODE_CHAR'.
3821
3822 2000-01-28  MORIOKA Tomohiko  <tomo@m17n.org>
3823
3824         * text-coding.c (parse_charset_conversion_specs): Use
3825         `XCHARSET_CHARS' and `XCHARSET_DIMENSION' instead of
3826         `XCHARSET_TYPE'.
3827         (iso2022_designate): Likewise.
3828
3829         * chartab.c (decode_char_table_range): Use `XCHARSET_CHARS' and
3830         `XCHARSET_DIMENSION' instead of `XCHARSET_TYPE'.
3831
3832         * mule-charset.c (Vcharset_ucs): New variable.
3833         (print_charset): Change design; use `CHARSET_CHARS' and
3834         `CHARSET_DIMENSION' instead of `CHARSET_TYPE'.
3835         (make_charset): Change signature to specify `chars' and
3836         `dimension' instead of `type'.
3837         (range_charset_code_point): Modify for 256^n-set.
3838         (encode_builtin_char_1): Encode as `ucs' in default.
3839         (Fmake_charset): Modify for `make_charset'.
3840         (Fmake_reverse_direction_charset): Likewise.
3841         (Fsplit_char): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR' in
3842         UTF-2000.
3843         (complex_vars_of_mule_charset): Add coded-charset `ucs'; modify
3844         for `make_charset'.
3845
3846         * char-ucs.h (Vcharset_ucs): New variable.
3847         (LEADING_BYTE_UCS): New macro.
3848         (struct Lisp_Charset): Delete `type'; change type of `dimension'
3849         and `chars' to `unsigned short' from `unsigned int'.
3850         (CHARSET_TYPE): Deleted.
3851         (XCHARSET_TYPE): Deleted.
3852
3853 2000-01-27  MORIOKA Tomohiko  <tomo@m17n.org>
3854
3855         * mule-charset.c (charset_code_point): Moved to char-ucs.h.
3856
3857         * char-ucs.h (charset_code_point): Moved from mule-charset.c.
3858         (ENCODE_CHAR): New macro.
3859
3860 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
3861
3862         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3863         to 0.14 (Kawachi-Katakami).
3864
3865 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
3866
3867         * text-coding.c (char_encode_shift_jis): Modify for
3868         `charset_code_point'.
3869         (char_encode_iso2022): Likewise.
3870
3871         * mule-charset.c (Fput_char_attribute): Use <Lisp_Object>
3872         (integer) instead of list of <Lisp_Object>s (integers) as the
3873         format of code-point of a coded-charset.
3874         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
3875         (encode_builtin_char_1): New function; delete
3876         `split_builtin_char'.
3877         (charset_code_point): Return <int> instead of <Lisp_Object>.
3878         (Fsplit_char): Don't use `SPLIT_CHAR'.
3879
3880         * char-ucs.h (encode_builtin_char_1): New prototype; delete
3881         prototype for `split_builtin_char'.
3882         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
3883         (charset_code_point): Likewise.
3884         (encode_char_1): New inline function; delete `SPLIT_CHAR'.
3885         (breakup_char_1): Use `encode_char_1' instead of `SPLIT_CHAR'.
3886
3887 2000-01-20  MORIOKA Tomohiko  <tomo@m17n.org>
3888
3889         * mule-charset.c (complex_vars_of_mule_charset): Don't define
3890         `japanese-jisx0208-1990' in non-UTF-2000 Mule.
3891
3892 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3893
3894         * mule-charset.c (split_builtin_char): Don't support OBS_94x94.
3895
3896         * char-ucs.h (MIN_CHAR_OBS_94x94): Deleted.
3897         (MAX_CHAR_OBS_94x94): Deleted.
3898
3899 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3900
3901         * mule-charset.c (split_builtin_char): Use `MAX_CHAR_BMP'.
3902
3903         * char-ucs.h (MAX_CHAR_BMP): New macro.
3904
3905 2000-01-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3906
3907         * text-coding.c: Sync with r21-2-24.
3908
3909 2000-01-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
3910
3911         * file-coding.c: Modify for UTF-2000.
3912
3913 2000-01-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
3914
3915         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3916         to 0.13 (Takaida).
3917
3918 2000-01-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3919
3920         * mule-charset.c (split_builtin_char): Delete builtin support for
3921         `katakana-jisx0201'.
3922         (complex_vars_of_mule_charset): Don't map `katakana-jisx0201' to
3923         BMP area in builtin representation.
3924
3925         * char-ucs.h (MAKE_CHAR): Delete builtin support for
3926         `Vcharset_katakana_jisx0201'.
3927
3928 1999-12-24  MORIOKA Tomohiko  <tomo@etl.go.jp>
3929
3930         * mule-charset.c (Vcharset_mojikyo_pj_[1 .. 21]): New variable.
3931         (Qisolated): New variable.
3932         (Qinitial): New variable.
3933         (Qmedial): New variable.
3934         (Qfinal): New variable.
3935         (Qvertical): New variable.
3936         (Qsmall): New variable.
3937         (to_char_code): Use `Qisolated', `Qinitial', `Qmedial', `Qfinal',
3938         `Qvertical' and `Qsmall'.
3939         (Qmojikyo_pj_[1 .. 21]): New variable.
3940         (syms_of_mule_charset): Add new symbols `isolated', `initial',
3941         `medial', `final', `vertical', `small' and `mojikyo-pj-[1 .. 21]'.
3942         (complex_vars_of_mule_charset): Add new charset `mojikyo-pj-[1
3943         .. 21]'.
3944
3945 1999-11-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
3946
3947         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x60.
3948         (LEADING_BYTE_MOJIKYO_PJ_[1 .. 21]): New macros.
3949         (MAX_LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 32)'.
3950
3951 1999-11-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
3952
3953         * mule-charset.c (Vcharset_japanese_jisx0208_1990): New variable.
3954         (Fdefine_char): Use Group 00 Plane 10 for non-coded variants of
3955         BMP.
3956         (Qjapanese_jisx0208_1990): New variable.
3957         (syms_of_mule_charset): Add new symbol `Qjapanese_jisx0208_1990'.
3958         (complex_vars_of_mule_charset): Add new coded-charset
3959         `japanese-jisx0208-1990'.
3960
3961         * char-ucs.h (LEADING_BYTE_JAPANESE_JISX0208_1990): New macro.
3962         (MIN_CHAR_JIS_X0208_1990): New macro.
3963         (MAX_CHAR_JIS_X0208_1990): New macro.
3964
3965 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3966
3967         * text-coding.c (char_encode_iso2022): Output `~' if ISO 2022
3968         coded-charset is not found.
3969
3970 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3971
3972         * mule-charset.c (Fget_char_attribute): Forgot to `CHECK_CHAR'.
3973         (Fdefine_char): Use `Fmake_char'.
3974
3975 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3976
3977         * mule-charset.c (Vcharset_ideograph_daikanwa): New variable.
3978         (Vcharset_hiragana_jisx0208): Deleted.
3979         (Vcharset_katakana_jisx0208): Deleted.
3980         (Qideograph_daikanwa): New variable.
3981         (Qhiragana_jisx0208): Deleted.
3982         (Qkatakana_jisx0208): Deleted.
3983         (split_builtin_char): Split `ideograph-daikanwa'.
3984         (Fsplit_char): New implementation for UTF-2000.
3985         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa';
3986         delete symbol `hiragana-jisx0208' and `katakana-jisx0208'.
3987         (complex_vars_of_mule_charset): Add new coded-charset
3988         `ideograph-daikanwa'; delete coded-charset `hiragana-jisx0208' and
3989         `katakana-jisx0208'.
3990
3991         * char-ucs.h (LEADING_BYTE_DAIKANWA): New macro.
3992         (LEADING_BYTE_HIRAGANA_JISX0208): Deleted.
3993         (LEADING_BYTE_KATAKANA_JISX0208): Deleted.
3994         (MIN_CHAR_DAIKANWA): New macro.
3995         (MAX_CHAR_DAIKANWA): New macro.
3996
3997 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3998
3999         * data.c (Fstring_to_number): Don't recognize floating point if
4000         base is not 10.
4001
4002 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4003
4004         * mule-charset.c (Fput_char_attribute): Forgot to `CHECK_CHAR'.
4005
4006 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4007
4008         * mule-charset.c (Qsquare): New variable.
4009         (to_char_code): Add `Qsquare'.
4010         (syms_of_mule_charset): Add new symbol `square'.
4011
4012 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4013
4014         * mule-charset.c (Qcircle): New variable.
4015         (to_char_code): Add `Qcircle'.
4016         (syms_of_mule_charset): Add new symbol `circle'.
4017
4018 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4019
4020         * mule-charset.c (Qfont): New variable.
4021         (to_char_code): Add `Qfont'.
4022         (syms_of_mule_charset): Add new symbol `font'.
4023
4024 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4025
4026         * mule-charset.c (Qsub): New variable.
4027         (to_char_code): Add `Qsub'.
4028         (syms_of_mule_charset): Add new symbol `sub'.
4029
4030 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4031
4032         * mule-charset.c (Fput_char_attribute): Convert each element of
4033         VALUE to GL position if ATTRIBUTE is a GR-set,
4034
4035 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4036
4037         * mule-charset.c (Fput_char_attribute): Allow GR code-point if a
4038         coded-charset is a GR-set.
4039
4040 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4041
4042         * mule-charset.c (Fput_char_attribute): Check each element of
4043         VALUE is a byte if ATTRIBUTE is a coded-charset or its name.
4044
4045 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4046
4047         * mule-charset.c (Vcharset_ethiopic_ucs): New variable in
4048         UTF-2000.
4049         (Qethiopic_ucs): New variable in UTF-2000.
4050         (syms_of_mule_charset): Add new symbol `ethiopic-ucs' in UTF-2000.
4051         (complex_vars_of_mule_charset): Add new coded-charset
4052         `ethiopic-ucs' in UTF-2000.
4053
4054         * char-ucs.h (LEADING_BYTE_ETHIOPIC_UCS): New macro.
4055         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
4056         9)'.
4057         (LEADING_BYTE_KATAKANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
4058         10)'.
4059         (LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 11)'.
4060
4061 1999-11-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
4062
4063         * mule-charset.c (Fset_charset_mapping_table): Fix problem with
4064         `ascii'.
4065
4066 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4067
4068         * mule-charset.c (Vcharacter_variant_table): New variable.
4069         (Q_ucs): New variable.
4070         (Fchar_variants): New function.
4071         (Fput_char_attribute): Register `->ucs' value to
4072         `Vcharacter_variant_table'.
4073         (syms_of_mule_charset): Add new function `char-variants' and new
4074         symbol `->ucs'.
4075         (vars_of_mule_charset): Setup `Vcharacter_variant_table'.
4076
4077 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4078
4079         * mule-charset.c (get_char_code_table): Allow negative character
4080         code.
4081         (put_char_code_table): Likewise.
4082         (Vcharacter_composition_table): New variable.
4083         (Q_decomposition): New variable.
4084         (Qwide): New variable.
4085         (Qnarrow): New variable.
4086         (Qcompat): New variable.
4087         (QnoBreak): New variable.
4088         (Qsuper): New variable.
4089         (Qfraction): New variable.
4090         (to_char_code): New function.
4091         (Fget_composite_char): New function.
4092         (Fput_char_attribute): Register `->decomposition' value to
4093         `Vcharacter_composition_table'.
4094         (syms_of_mule_charset): Add new function `get-composite-char', new
4095         symbol `->decomposition', `wide', `narrow', `compat', `noBreak',
4096         `super' and `fraction'.
4097         (vars_of_mule_charset): Setup `Vcharacter_composition_table'.
4098
4099 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4100
4101         * mule-charset.c (Fchar_attribute_alist): Check the argument is a
4102         character; copy the return value.
4103
4104 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4105
4106         * char-ucs.h (SPLIT_CHAR): Use `split_builtin_char'.
4107
4108         * mule-charset.c (range_charset_code_point): Must use make_int.
4109         (split_builtin_char): New function.
4110
4111 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4112
4113         * mule-charset.c (char_byte_table): Change name from
4114         "char-code-table" to "char-byte-table".
4115         (mark_char_code_table): New function.
4116         (char_code_table_equal): New function.
4117         (char_code_table_hash): New function.
4118         (char_code_table_description): New constant.
4119         (char_code_table): New type.
4120         (make_char_code_table): New function.
4121         (copy_char_code_table): New function.
4122         (get_char_code_table): Modify for `char_code_table' type.
4123         (put_char_code_table): Likewise.
4124         (vars_of_mule_charset): Update `utf-2000-version' to 0.12
4125         (Kashiwara).
4126
4127         * char-ucs.h (char_code_table): New type.
4128         (XCHAR_CODE_TABLE): New macro.
4129         (XSETCHAR_CODE_TABLE): New macro.
4130         (CHAR_CODE_TABLE_P): New macro.
4131         (GC_CHAR_CODE_TABLE_P): New macro.
4132         (struct Lisp_Char_Code_Table): New structure.
4133
4134 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4135
4136         * mule-charset.c (Fmake_charset): Setup byte_offset for
4137         {94|96}^n-set.
4138
4139 1999-11-09  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4140
4141         * mule-charset.c (Fdefine_char): Fix problem with non-UCS
4142         character.
4143
4144 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4145
4146         * char-ucs.h (SPLIT_CHAR): Don't make new cell if a charset slot
4147         is found.
4148
4149 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4150
4151         * mule-charset.c (Fget_char_attribute): If ATTRIBUTE is a name of
4152         charset, it is regarded as a charset.
4153         (put_char_attribute): New function in UTF-2000.
4154         (Fput_char_attribute): If ATTRIBUTE is a charset or a name of
4155         charset, mapping-table of the charset is modified.
4156         (Fdefine_char): New function in UTF-2000.
4157         (Fset_charset_mapping_table): Use `put_char_attribute' instead of
4158         `Fput_char_attribute'.
4159         (syms_of_mule_charset): Add new function `define-char' and new
4160         symbol `ucs' in UTF-2000.
4161         (vars_of_mule_charset): Update `utf-2000-version' to 0.11 (Shiki).
4162
4163 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4164
4165         * mule-charset.c (Fcharset_name): Define `byte_offset' in
4166         non-UTF-2000 configuration.
4167
4168 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4169
4170         * text-coding.c (char_encode_shift_jis): Use `charset_code_point'
4171         not to use `XCHARSET_ENCODING_TABLE (Vcharset_latin_jisx0201)'.
4172
4173         * mule-charset.c (mark_charset): `cs->encoding_table' has been
4174         deleted.
4175         (make_charset): Don't use `CHARSET_ENCODING_TABLE(cs)'.
4176         (Fset_charset_mapping_table): Likewise.
4177
4178         * char-ucs.h (struct Lisp_Charset): Delete `encoding_table'.
4179         (CHARSET_ENCODING_TABLE): Delete.
4180         (XCHARSET_ENCODING_TABLE): Delete.
4181         (charset_code_point): New interface.
4182
4183 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4184
4185         * text-coding.c (char_encode_iso2022): Use `charset_code_point'
4186         instead of `charset_get_byte1' and `charset_get_byte2'.
4187
4188         * mule-charset.c, char-ucs.h (charset_get_byte1): Deleted.
4189         (charset_get_byte2): Deleted.
4190
4191 1999-10-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
4192
4193         * char-ucs.h (SPLIT_CHAR): New inline function.
4194         (breakup_char_1): Use `SPLIT_CHAR'.
4195
4196         * mule-charset.c (range_charset_code_point): New function.
4197         (charset_code_point): New function.
4198
4199         * char-ucs.h (range_charset_code_point): New interface.
4200         (breakup_char_1): Use `range_charset_code_point'.
4201
4202 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4203
4204         * mule-charset.c (Fmake_charset): Delete unused local variable
4205         `code_offset'.
4206
4207         * char-ucs.h (Vcharacter_attribute_table): New extern variable.
4208         (breakup_char_1): Find a charset and code-point in
4209         `Vcharacter_attribute_table'.
4210
4211 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4212
4213         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4214         to 0.10 (Yao).
4215
4216 1999-10-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
4217
4218         * mule-charset.c (Vcharacter_attribute_table): New variable.
4219         (Fchar_attribute_alist): New function.
4220         (Fget_char_attribute): New function.
4221         (Fput_char_attribute): New function.
4222         (Fset_charset_mapping_table): Setup `Vcharacter_attribute_table'
4223         too.
4224         (syms_of_mule_charset): Add new function `char-attribute-alist',
4225         `get-char-attribute' and `put-char-attribute'.
4226         (vars_of_mule_charset): Setup `Vcharacter_attribute_table'.
4227
4228 1999-10-19  MORIOKA Tomohiko  <tomo@etl.go.jp>
4229
4230         * mule-charset.c (Fmake_charset): Just use
4231         `get_unallocated_leading_byte'.
4232
4233         * char-ucs.h (LEADING_BYTE_*): Use ISO-IR numbers for official
4234         sets; don't use final-byte based number for private sets.
4235
4236 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4237
4238         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
4239         integer.
4240
4241 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4242
4243         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4244         to 0.9.
4245
4246 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4247
4248         * regex.c (compile_extended_range): Use `CHAR_CHARSET_ID' instead
4249         of `CHAR_LEADING_BYTE' in UTF-2000.
4250
4251         * insdel.c (find_charsets_in_bufbyte_string): Use
4252         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
4253         (find_charsets_in_emchar_string): Likewise.
4254
4255         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use
4256         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
4257
4258         * char-ucs.h (CHAR_LEADING_BYTE): Deleted.
4259         (CHAR_CHARSET_ID): New macro.
4260
4261 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4262
4263         * chartab.c (get_char_table): Don't use type `Charset_ID' for
4264         charset-id - MIN_LEADING_BYTE.
4265         (put_char_table): Likewise.
4266
4267 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4268
4269         * char-ucs.h (MIN_LEADING_BYTE): Changed to `-0x40'.
4270         (NUM_LEADING_BYTES): Changed to (80 * 3 - MIN_LEADING_BYTE).
4271         (CHARSET_LEADING_BYTE): Don't cast by `Bufbyte'.
4272         (CHARSET_ID_OFFSET): New macro.
4273         (LEADING_BYTE_CONTROL_1): Changed to (CHARSET_ID_OFFSET - 1).
4274         (LEADING_BYTE_UCS_BMP): Changed to (CHARSET_ID_OFFSET - 2).
4275         (LEADING_BYTE_LATIN_VISCII): Changed to (CHARSET_ID_OFFSET - 3).
4276         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
4277         4).
4278         (LEADING_BYTE_KATAKANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
4279         5).
4280         (MIN_LEADING_BYTE_PRIVATE): Changed to `MIN_LEADING_BYTE'.
4281         (MAX_LEADING_BYTE_PRIVATE): Changed to (CHARSET_ID_OFFSET - 6).
4282         (CHARSET_ID_OFFSET_94): Changed to (CHARSET_ID_OFFSET - '0').
4283         (CHARSET_ID_OFFSET_96): Changed to (CHARSET_ID_OFFSET_94 + 80).
4284         (CHARSET_ID_OFFSET_94x94): Changed to (CHARSET_ID_OFFSET_96 + 80).
4285
4286 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4287
4288         * mule-charset.c (next_allocated_leading_byte): New variable in
4289         UTF-2000.
4290         (next_allocated_1_byte_leading_byte): Don't define in UTF-2000.
4291         (next_allocated_2_byte_leading_byte): Don't define in UTF-2000.
4292         (get_unallocated_leading_byte): Simply use
4293         `next_allocated_leading_byte' [ignore dimension] in UTF-2000.
4294         (vars_of_mule_charset): Setup `next_allocated_leading_byte' in
4295         UTF-2000.
4296
4297         * char-ucs.h (MIN_LEADING_BYTE_PRIVATE): New macro.
4298         (MAX_LEADING_BYTE_PRIVATE): New macro.
4299         (MIN_LEADING_BYTE_OFFICIAL_2): Deleted.
4300         (MAX_LEADING_BYTE_OFFICIAL_2): Deleted.
4301
4302 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4303
4304         * mule-charset.c (Fmake_charset): Allocate final-byte based
4305         charset-id for 94-set, 96-set and 94x94-set.
4306
4307 1999-10-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4308
4309         * mule-charset.c (char_byte_table_equal): Fill braces to avoid
4310         ambiguous `else'.
4311         (Fmake_charset): Likewise.
4312         (complex_vars_of_mule_charset): Modify the font registry of
4313         `ucs-bmp' not to match `Ethiopic-Unicode'.
4314
4315 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4316
4317         * mule-charset.c (complex_vars_of_mule_charset): Add font
4318         registory of `ucs-bmp'.
4319
4320 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4321
4322         * text-coding.c (char_encode_iso2022): Ignore non-ISO-2022
4323         coded-charsets in `default-coded-charset-priority-list' when
4324         breaking up a character.
4325
4326         * mule-charset.c (Vcharset_latin_viscii): New variable.
4327         (Qlatin_viscii): New variable.
4328         (make_charset): Don't use `decoding_table'.
4329         (Fmake_charset): Regard graphic = 2 as 256^n-set; setup
4330         byte_offset.
4331         (Fset_charset_mapping_table): New implementation.
4332         (syms_of_mule_charset): Add new symbol `latin-viscii'.
4333         (complex_vars_of_mule_charset): Set `graphic' attribute of charset
4334         `ucs-bmp' and `latin_viscii' to 2; change font registry of charset
4335         `latin-viscii-lower' to "MULEVISCII-LOWER"; change font registry
4336         of charset `latin-viscii-upper' to "MULEVISCII-UPPER"; add new
4337         charset `latin_viscii'.
4338
4339         * char-ucs.h (LEADING_BYTE_LATIN_VISCII): New macro.
4340         (CHARSET_TYPE_94X94): Change to 1 from 2.
4341         (CHARSET_TYPE_96): Change to 2 from 1.
4342         (CHARSET_TYPE_128): New macro.
4343         (CHARSET_TYPE_128X128): Change to 5 from 4.
4344         (CHARSET_TYPE_256): New macro.
4345         (CHARSET_TYPE_256X256): Change to 7 from 5.
4346         (MAKE_CHAR): Use `XCHARSET_BYTE_OFFSET(charset)'.
4347
4348 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4349
4350         * text-coding.c (char_encode_shift_jis): Refer
4351         `XCHARSET_ENCODING_TABLE(Vcharset_latin_jisx0201)' instead of
4352         `XCHARSET_TO_BYTE1_TABLE(Vcharset_latin_jisx0201)'.
4353
4354         * mule-charset.c (mark_char_byte_table): New function in UTF-2000.
4355         (char_byte_table_equal): New function in UTF-2000.
4356         (char_byte_table_hash): New function in UTF-2000.
4357         (char_byte_table_description): New constant in UTF-2000.
4358         (char_byte_table): New type in UTF-2000.
4359         (make_char_byte_table): New function in UTF-2000.
4360         (copy_char_byte_table): New function in UTF-2000.
4361         (make_char_code_table): New macro in UTF-2000.
4362         (get_char_code_table): New function in UTF-2000.
4363         (put_char_code_table): New function in UTF-2000.
4364         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
4365         (charset_description): Add setting in UTF-2000.
4366         (make_charset): Setup `CHARSET_ENCODING_TABLE(cs)' instead of
4367         `CHARSET_TO_BYTE1_TABLE(cs)'.
4368         (charset_get_byte1): Refer `XCHARSET_ENCODING_TABLE(charset)'
4369         instead of `XCHARSET_TO_BYTE1_TABLE(charset)'.
4370         (charset_get_byte2): Refer `XCHARSET_ENCODING_TABLE(charset)'
4371         instead of `XCHARSET_TO_BYTE2_TABLE(charset)'.
4372         (Fset_charset_mapping_table): Setup `CHARSET_ENCODING_TABLE(cs)'
4373         instead of `CHARSET_TO_BYTE1_TABLE(cs)' and
4374         `CHARSET_TO_BYTE2_TABLE(cs)'.
4375
4376         * char-ucs.h (char_byte_table): New type.
4377         (XCHAR_BYTE_TABLE): New macro.
4378         (XSETCHAR_BYTE_TABLE): New macro.
4379         (CHAR_BYTE_TABLE_P): New macro.
4380         (GC_CHAR_BYTE_TABLE_P): New macro.
4381         (struct Lisp_Char_Byte_Table): New structure.
4382         (get_char_code_table): New interface.
4383         (Emchar_to_byte_table): Deleted.
4384         (get_byte_from_character_table): Deleted.
4385         (struct Lisp_Charset): Add `encoding_table'; delete
4386         `to_byte1_table' and `to_byte2_table'.
4387         (CHARSET_ENCODING_TABLE): New macro.
4388         (CHARSET_TO_BYTE1_TABLE): Deleted.
4389         (CHARSET_TO_BYTE2_TABLE): Deleted.
4390         (XCHARSET_ENCODING_TABLE): New macro.
4391         (XCHARSET_TO_BYTE1_TABLE): Deleted.
4392         (XCHARSET_TO_BYTE2_TABLE): Deleted.
4393
4394 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
4395
4396         * mule-charset.c (syms_of_mule_charset): Delete charset alias
4397         `vietnamese-viscii-*'.
4398
4399 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
4400
4401         * mule-charset.c (Qvietnamese_viscii_lower): New variable.
4402         (Qvietnamese_viscii_upper): New variable.
4403         (Fdefine_charset_alias): New function.
4404         (syms_of_mule_charset): Add new function `define-charset-alias'.
4405         (syms_of_mule_charset): Rename charset `vietnamese-viscii-*' to
4406         `latin-viscii-*'; define `vietnamese-viscii-*' as aliases for
4407         `latin-viscii-*'.
4408
4409 1999-10-04  MORIOKA Tomohiko  <tomo@etl.go.jp>
4410
4411         * char-ucs.h (MIN_CHAR_OBS_94x94): New macro.
4412         (MAX_CHAR_OBS_94x94): New macro.
4413         (breakup_char_1): Support obsolete XEmacs-UCS private code space
4414         for 94x94 sets.
4415
4416         * mule-charset.c (put_byte_from_character_table): Change unit size
4417         from 128 to 256.
4418         (mark_charset): Don't mark `cs->decoding_table' if `UTF2000' is
4419         not defined.
4420         (Fmake_reverse_direction_charset): Modify dummy argument of
4421         `make_charset' for non-UTF-2000 environment.
4422
4423 1999-10-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4424
4425         * char-ucs.h (MAKE_CHAR): Allow nested decoding-table.
4426
4427         * mule-charset.c (destroy_byte_from_character_table): New macro.
4428         (latin_jisx0201_to_ucs): Deleted.
4429         (latin_iso8859_2_to_ucs): Deleted.
4430         (latin_iso8859_3_to_ucs): Deleted.
4431         (latin_iso8859_4_to_ucs): Deleted.
4432         (latin_iso8859_9_to_ucs): Deleted.
4433         (latin_viscii_lower_to_ucs): Deleted.
4434         (latin_viscii_upper_to_ucs): Deleted.
4435         (mark_charset): Mark `cs->decoding_table'.
4436         (Fcharset_mapping_table): Fix DOC-string.
4437         (Fset_charset_mapping_table): New function.
4438         (syms_of_mule_charset): Add nwe function
4439         `set-charset-mapping-table'.
4440         (complex_vars_of_mule_charset): Don't setup and use
4441         `latin_*_to_ucs'.
4442
4443 1999-10-01  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4444
4445         * char-ucs.h (MAKE_CHAR): Check the result for range-represented
4446         charset.
4447
4448 1999-09-30  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4449
4450         * mule-charset.c (Vcharset_hiragana_jisx0208): New variable.
4451         (Vcharset_katakana_jisx0208): New variable.
4452         (Qhiragana_jisx0208): New variable.
4453         (Qkatakana_jisx0208): New variable.
4454         (make_charset): Add new argument `byte_offset'.
4455         (charset_get_byte1): Modify for new coded-charset definition; use
4456         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
4457         `XCHARSET_BYTE_OFFSET'.
4458         (Fmake_charset): Modify for `make_charset'.
4459         (Fmake_reverse_direction_charset): Likewise.
4460         (syms_of_mule_charset): Add new symbols `hiragana-jisx0208' and
4461         `katakana-jisx0208'.
4462         (complex_vars_of_mule_charset): Modify for `make_charset'; quote
4463         `.'  in font registry of charset `katakana-jisx0201',
4464         `latin-jisx0201', `vietnamese-viscii-lower' and
4465         `vietnamese-viscii-upper'; modify DOC-string of charset
4466         `japanese-jisx0208-1978' and `japanese-jisx0208'; modify font
4467         registry of charset `japanese-jisx0208' not to use font for JIS
4468         X0208:1990; add new charset `hiragana-jisx0208' and
4469         `katakana-jisx0208'.
4470
4471         * char-ucs.h (LEADING_BYTE_HIRAGANA_JISX0208): New macro.
4472         (LEADING_BYTE_KATAKANA_JISX0208): New macro.
4473         (struct Lisp_Charset): Add `byte_offset'.
4474         (CHARSET_BYTE_OFFSET): New macro.
4475         (XCHARSET_UCS_MIN): New macro.
4476         (XCHARSET_UCS_MAX): New macro.
4477         (XCHARSET_CODE_OFFSET): New macro.
4478         (XCHARSET_BYTE_OFFSET): New macro.
4479         (MIN_CHAR_HIRAGANA): New macro.
4480         (MAX_CHAR_HIRAGANA): New macro.
4481         (MIN_CHAR_KATAKANA): New macro.
4482         (MAX_CHAR_KATAKANA): New macro.
4483         (MAKE_CHAR): Modify for new coded-charset definition; use
4484         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
4485         `XCHARSET_BYTE_OFFSET'.
4486
4487 1999-09-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4488
4489         * mule-charset.c (CHAR96): Deleted.
4490         (latin_jisx0201_to_ucs): Type is changed from array of <Emchar> to
4491         <Lisp_Object>.
4492         (latin_iso8859_2_to_ucs): Likewise.
4493         (latin_iso8859_3_to_ucs): Likewise.
4494         (latin_iso8859_4_to_ucs): Likewise.
4495         (latin_iso8859_9_to_ucs): Likewise.
4496         (latin_viscii_lower_to_ucs): Likewise.
4497         (latin_viscii_upper_to_ucs): Likewise.
4498         (latin_tcvn5712_to_ucs): Commented out.
4499         (make_charset): Change type of argument `decoding_table' from
4500         <Emchar*> to <Lisp_Object> [vector of characters].
4501         (Fmake_charset): Modify for `make_charset'.
4502         (Fmake_reverse_direction_charset): Likewise.
4503         (Fcharset_mapping_table): New function in UTF-2000.
4504         (syms_of_mule_charset): Setup `Fcharset_mapping_table' in
4505         UTF-2000.
4506         (complex_vars_of_mule_charset): Modify for type change of
4507         `*_to_ucs'; modify for `make_charset'.
4508
4509         * char-ucs.h (struct Lisp_Charset): Change type of
4510         `decoding_table' from <Emchar*> to <Lisp_Object>.
4511         (MAKE_CHAR): Modify for new specification of `decoding_table'.
4512
4513 1999-09-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
4514
4515         * mule-charset.c (Fmake_reverse_direction_charset): Fix compile
4516         error with non-UTF-2000-Mule.
4517
4518 1999-09-21  MORIOKA Tomohiko  <tomo@etl.go.jp>
4519
4520         * mule-charset.c (Vcharset_chinese_cns11643_3): Deleted [defined
4521         in lisp again].
4522         (Vcharset_chinese_cns11643_4): Likewise.
4523         (Vcharset_chinese_cns11643_5): Likewise.
4524         (Vcharset_chinese_cns11643_6): Likewise.
4525         (Vcharset_chinese_cns11643_7): Likewise.
4526         (Qchinese_cns11643_3): Likewise.
4527         (Qchinese_cns11643_4): Likewise.
4528         (Qchinese_cns11643_5): Likewise.
4529         (Qchinese_cns11643_6): Likewise.
4530         (Qchinese_cns11643_7): Likewise.
4531         (syms_of_mule_charset): Move definitions for `chinese-cns11643-3',
4532         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
4533         and `chinese-cns11643-7' to lisp/mule/chinese.el.
4534         (complex_vars_of_mule_charset): Likewise.
4535
4536 1999-09-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
4537
4538         * mule-charset.c (charset_get_byte1): Fix bug about 94- and
4539         96-set.
4540         (Fmake_reverse_direction_charset): Inherit CHARSET_DECODING_TABLE,
4541         CHARSET_UCS_MIN, CHARSET_UCS_MAX and CHARSET_CODE_OFFSET.
4542
4543 1999-09-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
4544
4545         * char-ucs.h (MIN_CHAR_HALFWIDTH_KATAKANA): Changed to 0xFF61 from
4546         0xFF60.
4547         (MAKE_CHAR): Change offset for katakana-jisx0201 to 33 from 0x20.
4548         (breakup_char_1): Likewise.
4549
4550         * text-coding.c (char_encode_iso2022): Keep designated charsets if
4551         one of them includes the specified character.
4552
4553 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4554
4555         * mule-charset.c: Update `utf-2000-version' to 0.8 (Kami).
4556
4557 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4558
4559         * char-ucs.h (MAKE_CHAR): Fix problem in 2-dimension charset.
4560
4561 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4562
4563         * mule-charset.c (latin_iso8859_2_to_ucs NULL): Add pseudo
4564         definition for non-UTF-2000 Mule.
4565         (latin_iso8859_3_to_ucs): Likewise.
4566         (latin_iso8859_4_to_ucs): Likewise.
4567         (latin_iso8859_9_to_ucs): Likewise.
4568         (latin_jisx0201_to_ucs): Likewise.
4569         (MIN_CHAR_THAI): Likewise.
4570         (MAX_CHAR_THAI): Likewise.
4571         (MIN_CHAR_GREEK): Likewise.
4572         (MAX_CHAR_GREEK): Likewise.
4573         (MIN_CHAR_HEBREW): Likewise.
4574         (MAX_CHAR_HEBREW): Likewise.
4575         (MIN_CHAR_HALFWIDTH_KATAKANA): Likewise.
4576         (MAX_CHAR_HALFWIDTH_KATAKANA): Likewise.
4577         (MIN_CHAR_CYRILLIC): Likewise.
4578         (MAX_CHAR_CYRILLIC): Likewise.
4579
4580 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4581
4582         * char-ucs.h (breakup_char_1): Use
4583         `Vdefault_coded_charset_priority_list' for hebrew-iso8859-8,
4584         thai-tis620 and katakana-jisx0201 area.
4585
4586 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4587
4588         * char-ucs.h (breakup_char_1): Use
4589         `Vdefault_coded_charset_priority_list' for cyrillic-iso8859-5
4590         area.
4591
4592         * text-coding.c (reset_encoding_stream): Fixed.
4593         (char_encode_ucs4): Delete `& 255'.
4594
4595         * char-ucs.h (breakup_char_1): Use
4596         `Vdefault_coded_charset_priority_list' for greek-iso8859-7 area.
4597
4598 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4599
4600         * file-coding.c (Fmake_coding_system): Don't set up
4601         `codesys->fixed.size'.
4602         (encode_coding_no_conversion): Don't refer
4603         `str->codesys->fixed.size'.
4604
4605 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4606
4607         * mule-charset.c, char-ucs.h (latin_a_char_to_charset): Deleted.
4608         (latin_a_char_to_byte1): Deleted.
4609         (latin_a_char_to_byte2): Deleted.
4610
4611 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4612
4613         * mule-charset.c (make_charset): Add new argument `ucs_min',
4614         `ucs_max' and `code_offset'.
4615         (charset_get_byte1): New implementation [delete specific charset
4616         depended implementations].
4617         (Fmake_charset): Modify for `make_charset'.
4618         (Fmake_reverse_direction_charset): Likewise.
4619         (complex_vars_of_mule_charset): Likewise.
4620
4621         * char-ucs.h (struct Lisp_Charset): Add `ucs_min', `ucs_max' and
4622         `code_offset'.
4623         (CHARSET_UCS_MIN): New macro.
4624         (CHARSET_UCS_MAX): New macro.
4625         (CHARSET_CODE_OFFSET): New macro.
4626         (MAKE_CHAR): Delete charset depended definitions [except
4627         katakana-jisx0201].
4628
4629 1999-09-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
4630
4631         * char-ucs.h (breakup_char_1): Use
4632         `Vdefault_coded_charset_priority_list' for C0-Controls,
4633         Basic-Latin, C1-Controls and Latin-1-Supplement area.
4634
4635 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4636
4637         * char-ucs.h (charset_get_byte1): New function.
4638         (XCHARSET_GET_BYTE1): Deleted.
4639         (charset_get_byte2): New function.
4640         (XCHARSET_GET_BYTE2): Deleted.
4641         (Vdefault_coded_charset_priority_list): New external variable.
4642         (breakup_char_1): Use `charset_get_byte1', `charset_get_byte2' and
4643         `Vdefault_preferred_coded_charset_list'.
4644
4645         * mule-charset.c (charset_get_byte1): New function.
4646         (charset_get_byte2): New function.
4647         (Vdefault_coded_charset_priority_list): New variable.
4648         (vars_of_mule_charset): Add new variable
4649         `default-coded-charset-priority-list'.
4650
4651 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4652
4653         * char-ucs.h (XCHARSET_GET_BYTE1): New inline function.
4654         (XCHARSET_GET_BYTE2): New inline function.
4655         (breakup_char_1): Use `XCHARSET_GET_BYTE1' and
4656         `XCHARSET_GET_BYTE2'.
4657
4658 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4659
4660         * mule-charset.c (make_charset): Initialize
4661         `CHARSET_TO_BYTE1_TABLE(cs)' and `CHARSET_TO_BYTE2_TABLE(cs)' by
4662         NULL if table is not defined.
4663
4664 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4665
4666         * text-coding.c (char_encode_shift_jis): Use
4667         `XCHARSET_TO_BYTE1_TABLE' for `Vcharset_latin_jisx0201' instead of
4668         `ucs_to_latin_jisx0201'.
4669
4670         * mule-charset.c (ucs_to_latin_jisx0201): Deleted.
4671         (ucs_to_latin_iso8859_2): Deleted.
4672         (ucs_to_latin_iso8859_3): Deleted.
4673         (ucs_to_latin_iso8859_4): Deleted.
4674         (ucs_to_latin_iso8859_9): Deleted.
4675         (ucs_to_latin_viscii_lower): Deleted.
4676         (ucs_to_latin_viscii_upper): Deleted.
4677         (ucs_to_latin_tcvn5712): Deleted.
4678         (make_charset): Add new argument `decoding_table'; set up
4679         `CHARSET_DECODING_TABLE(cs)' in UTF-2000; set up
4680         `CHARSET_TO_BYTE1_TABLE(cs)' for 94-set and 96-set if
4681         `decoding_table' is defined in UTF-2000.
4682         (Fmake_charset): Modify for `make_charset'.
4683         (Fmake_reverse_direction_charset): Likewise.
4684         (complex_vars_of_mule_charset): Likewise; delete `GENERATE_94_SET'
4685         and `GENERATE_96_SET'.
4686
4687         * char-ucs.h (latin_jisx0201_to_ucs): Deleted.
4688         (ucs_to_latin_jisx0201): Deleted.
4689         (latin_iso8859_2_to_ucs): Deleted.
4690         (ucs_to_latin_iso8859_2): Deleted.
4691         (latin_iso8859_3_to_ucs): Deleted.
4692         (ucs_to_latin_iso8859_3): Deleted.
4693         (latin_iso8859_4_to_ucs): Deleted.
4694         (ucs_to_latin_iso8859_4): Deleted.
4695         (latin_iso8859_9_to_ucs): Deleted.
4696         (ucs_to_latin_iso8859_9): Deleted.
4697         (latin_viscii_lower_to_ucs): Deleted.
4698         (ucs_to_latin_viscii_lower): Deleted.
4699         (latin_viscii_upper_to_ucs): Deleted.
4700         (ucs_to_latin_viscii_upper): Deleted.
4701         (struct Lisp_Charset): Renamed `encoding_table' to
4702         `to_byte1_table'; add `to_byte2_table'.
4703         (CHARSET_DECODING_TABLE): New macro.
4704         (CHARSET_TO_BYTE1_TABLE): New macro.
4705         (CHARSET_TO_BYTE2_TABLE): New macro.
4706         (XCHARSET_DECODING_TABLE): New macro.
4707         (XCHARSET_TO_BYTE1_TABLE): New macro.
4708         (XCHARSET_TO_BYTE2_TABLE): New macro.
4709         (MAKE_CHAR): Use `XCHARSET_DECODING_TABLE'; don't use `*_to_ucs'
4710         tables.
4711         (breakup_char_1): Use `XCHARSET_TO_BYTE1_TABLE' if it is defined;
4712         don't use `ucs_to_*' tables.
4713
4714 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4715
4716         * text-coding.c (Fmake_coding_system): Don't set up
4717         `codesys->fixed.size'.
4718         (encode_coding_no_conversion): Use `if' instead of `switch'.
4719
4720         * file-coding.h (struct Lisp_Coding_System): Delete `fixed.size'.
4721
4722 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4723
4724         * mule-charset.c (make_charset): Delete argument `rep_bytes'.
4725         (Fmake_charset): Modify for `make_charset'.
4726         (Fmake_reverse_direction_charset): Likewise.
4727         (complex_vars_of_mule_charset): Likewise.
4728
4729 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4730
4731         * text-coding.c (char_encode_shift_jis): Use table
4732         `ucs_to_latin_jisx0201' and BREAKUP_CHAR.
4733
4734 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4735
4736         * text-coding.c (text_encode_generic): Use `if' instead of
4737         `switch'.
4738         (decode_coding_sjis): Use `MAKE_CHAR' and `DECODE_ADD_UCS_CHAR' to
4739         decode JIS-Latin.
4740
4741 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4742
4743         * text-coding.c (encode_coding_sjis): Deleted.
4744         (char_encode_shift_jis): New function.
4745         (char_finish_shift_jis): New function.
4746         (reset_encoding_stream): Set up `encode_char' and `finish' for
4747         `CODESYS_UCS4' and `CODESYS_SHIFT_JIS'.
4748         (mule_encode): Use generic encoder for `CODESYS_SHIFT_JIS'.
4749         (char_encode_utf8): Treat `eol_type'.
4750
4751 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4752
4753         * file-coding.c (decode_coding_iso2022): Use
4754         `DECODE_ADD_UCS_CHAR'; don't use `XCHARSET_REP_BYTES'.
4755
4756 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4757
4758         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4759         to 0.7 (Hirano).
4760
4761 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4762
4763         * char-lb.h (CHAR_COLUMNS): New macro.
4764
4765 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4766
4767         * text-coding.c (char_encode_ucs4): New function.
4768         (char_finish_ucs4): New function.
4769         (encode_coding_ucs4): Deleted.
4770         (mule_encode): Use generic encoder for `CODESYS_UCS4'.
4771         (text_encode_generic): Delete local variable `charset' and `half'.
4772         (ucs_to_mule_table): Deleted.
4773         (mule_to_ucs_table): Deleted.
4774         (Fset_ucs_char): Deleted.
4775         (ucs_to_char): Deleted.
4776         (Fucs_char): Deleted.
4777         (Fset_char_ucs): Deleted.
4778         (Fchar_ucs): Deleted.
4779         (decode_ucs4): Deleted.
4780         (mule_char_to_ucs4): Deleted.
4781         (encode_ucs4): Deleted.
4782         (decode_coding_ucs4): Use `DECODE_ADD_UCS_CHAR'.
4783         (decode_coding_utf8): Likewise.
4784         (decode_coding_iso2022): Likewise; don't use `XCHARSET_REP_BYTES'.
4785         (char_encode_iso2022): Fixed.
4786         (syms_of_file_coding): Delete `Fset_ucs_char', `Fucs_char',
4787         `Fset_char_ucs' and `Fchar_ucs'.
4788         (complex_vars_of_file_coding): Don't initialize
4789         `ucs_to_mule_table'.
4790
4791         * objects-tty.c (tty_initialize_font_instance): Don't use
4792         `XCHARSET_COLUMNS'.
4793
4794         * mule-charset.c (make_charset): Don't set up CHARSET_REP_BYTES in
4795         UTF-2000.
4796
4797         * redisplay-tty.c (tty_output_display_block): Use `CHAR_COLUMNS'
4798         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
4799
4800         * insdel.c (bufbyte_string_displayed_columns): Use `CHAR_COLUMNS'
4801         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
4802         (emchar_string_displayed_columns): Likewise.
4803
4804         * indent.c (column_at_point): Use `CHAR_COLUMNS' instead of
4805         `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
4806         (string_column_at_point): Likewise.
4807         (Fmove_to_column): Likewise.
4808
4809         * char-ucs.h (struct Lisp_Charset): Delete `rep_bytes'; add
4810         `encoding_table' and `decoding_table'.
4811         (CHARSET_REP_BYTES): Deleted.
4812         (XCHARSET_REP_BYTES): Deleted.
4813         (XCHARSET_COLUMNS): Deleted.
4814         (CHAR_COLUMNS): New macro.
4815         (lookup_composite_char): Deleted unconditionally.
4816         (composite_char_string): Likewise.
4817
4818 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4819
4820         * char-ucs.h (Emchar_to_byte_table): New type.
4821         (get_byte_from_character_table): New function interface.
4822         (Vcharset_latin_jisx0201): New variable.
4823         (latin_jisx0201_to_ucs): New variable.
4824         (ucs_to_latin_jisx0201): New variable.
4825         (Vcharset_latin_iso8859_2): New variable.
4826         (latin_iso8859_2_to_ucs): New variable.
4827         (ucs_to_latin_iso8859_2): New variable.
4828         (Vcharset_latin_iso8859_3): New variable.
4829         (latin_iso8859_3_to_ucs): New variable.
4830         (ucs_to_latin_iso8859_3): New variable.
4831         (Vcharset_latin_iso8859_4): New variable.
4832         (latin_iso8859_4_to_ucs): New variable.
4833         (ucs_to_latin_iso8859_4): New variable.
4834         (Vcharset_latin_iso8859_9): New variable.
4835         (latin_iso8859_9_to_ucs): New variable.
4836         (ucs_to_latin_iso8859_9): New variable.
4837         (Vcharset_latin_viscii_lower): New variable.
4838         (latin_viscii_lower_to_ucs): New variable.
4839         (ucs_to_latin_viscii_lower): New variable.
4840         (Vcharset_latin_viscii_upper): New variable.
4841         (latin_viscii_upper_to_ucs): New variable.
4842         (ucs_to_latin_viscii_upper): New variable.
4843         (CHARSET_ID_OFFSET_94): Changed from 0x60 to 0x55.
4844         (LEADING_BYTE_LATIN_VISCII_LOWER): New macro.
4845         (LEADING_BYTE_LATIN_VISCII_UPPER): New macro.
4846         (MAKE_CHAR): Map `latin-iso8859-2', `latin-iso8859-3',
4847         `latin-iso8859-4', `latin-iso8859-9', `latin-jisx0201',
4848         `vietnamese-viscii-lower' and `vietnamese-viscii-upper' to BMP.
4849         (breakup_char_1): Use `ucs_to_latin_iso8859_2',
4850         `ucs_to_latin_iso8859_3', `ucs_to_latin_iso8859_4',
4851         `ucs_to_latin_iso8859_9', `ucs_to_latin_viscii_lower',
4852         `ucs_to_latin_viscii_upper' and `ucs_to_latin_jisx0201' tables.
4853
4854         * mule-charset.c (Vcharset_latin_viscii_lower): New variable.
4855         (Vcharset_latin_viscii_upper): New variable.
4856         (make_byte_from_character_table): New function.
4857         (put_byte_from_character_table): New function.
4858         (get_byte_from_character_table): New function.
4859         (CHAR96): New macro.
4860         (ucs_to_latin_jisx0201): New variable.
4861         (latin_jisx0201_to_ucs): New variable.
4862         (ucs_to_latin_iso8859_2): New variable.
4863         (latin_iso8859_2_to_ucs): New variable.
4864         (ucs_to_latin_iso8859_3): New variable.
4865         (latin_iso8859_3_to_ucs): New variable.
4866         (ucs_to_latin_iso8859_4): New variable.
4867         (latin_iso8859_4_to_ucs): New variable.
4868         (ucs_to_latin_iso8859_9): New variable.
4869         (latin_iso8859_9_to_ucs): New variable.
4870         (ucs_to_latin_viscii_lower): New variable.
4871         (latin_viscii_lower_to_ucs): New variable.
4872         (ucs_to_latin_viscii_upper): New variable.
4873         (latin_viscii_upper_to_ucs): New variable.
4874         (ucs_to_latin_tcvn5712): New variable.
4875         (latin_tcvn5712_to_ucs): New variable.
4876         (Qlatin_viscii_lower): New variable.
4877         (Qlatin_viscii_upper): New variable.
4878         (syms_of_mule_charset): Set up new symbol
4879         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'.
4880         (complex_vars_of_mule_charset): Set up new charset
4881         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'; new macro
4882         `GENERATE_94_SET' and `GENERATE_96_SET'; use them to generate
4883         `ucs_to_<CHARSET>' tables.
4884
4885 1999-09-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
4886
4887         * text-coding.c: New file.
4888
4889 1999-09-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
4890
4891         * mule-charset.c (Fmake_char): Fix problem of 256-set.
4892
4893         * char-ucs.h (Vcharset_ucs_bmp): New variable.
4894         (MAKE_CHAR): Modify for `ucs-bmp'.
4895         (breakup_char_1): Return `ucs-bmp' and code point of BMP for
4896         non-MULE characters of BMP.
4897
4898 1999-09-06  MORIOKA Tomohiko  <tomo@etl.go.jp>
4899
4900         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4901         to 0.6.
4902
4903 1999-09-05  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4904
4905         * lstream.h:
4906         - Include multibyte.h instead of character.h for `BYTE_ASCII_P'.
4907         - Include character.h for `CHAR_ASCII_P'.
4908
4909         * mb-multibyte.h (CHAR_MULTIBYTE_P): Moved from mule-charset.h.
4910
4911         * mule-charset.h (CHAR_MULTIBYTE_P): Moved to mb-multibyte.h.
4912         (CHAR_ASCII_P): Don't use `CHAR_MULTIBYTE_P'.
4913
4914         * mb-multibyte.h (BYTE_ASCII_P): Moved from char-ucs.h.
4915         (BYTE_C0_P): Likewise.
4916         (BYTE_C1_P): Likewise.
4917         (Lstream_get_emchar_1): Likewise.
4918         (Lstream_fput_emchar): Likewise.
4919         (Lstream_funget_emchar): Likewise.
4920         (copy_internal_to_external): Likewise.
4921         (copy_external_to_internal): Likewise.
4922
4923         * char-ucs.h (BYTE_ASCII_P): Moved to mb-multibyte.h.
4924         (BYTE_C0_P): Likewise.
4925         (BYTE_C1_P): Likewise.
4926         (Lstream_get_emchar_1): Likewise.
4927         (Lstream_fput_emchar): Likewise.
4928         (Lstream_funget_emchar): Likewise.
4929         (copy_internal_to_external): Likewise.
4930         (copy_external_to_internal): Likewise.
4931
4932         * mb-1byte.h (BYTE_ASCII_P): Moved from buffer.h.
4933         (REP_BYTES_BY_FIRST_BYTE): Likewise.
4934
4935         * buffer.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-1byte.h.
4936         (BYTE_ASCII_P): Moved to mb-1byte.h.
4937
4938 1999-09-04  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4939
4940         * mb-utf-8.h, mb-lb.h: Include mb-multibyte.h.
4941
4942         * multibyte.h: Include mb-1byte.h in unibyte-XEmacs.
4943         (MAX_EMCHAR_LEN): Moved to mb-1byte.h.
4944         (VALID_CHARPTR_P): Moved to mb-*byte.h.
4945         (VALIDATE_CHARPTR_BACKWARD): Likewise.
4946         (VALIDATE_CHARPTR_FORWARD): Likewise.
4947         (simple_charptr_emchar): Moved to mb-multibyte.h.
4948         (simple_set_charptr_emchar): Likewise.
4949         (simple_charptr_copy_char): Likewise.
4950         (non_ascii_charptr_emchar): Likewise.
4951         (non_ascii_set_charptr_emchar): Likewise.
4952         (non_ascii_charptr_copy_char): Likewise.
4953         (charptr_emchar): Moved to mb-*byte.h.
4954         (set_charptr_emchar): Likewise.
4955         (charptr_copy_char): Likewise.
4956
4957         * mb-1byte.h, mb-multibyte.h: New files.
4958
4959 1999-09-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4960
4961         * mb-utf-8.h (MULTIBYTE): New macro.
4962         (MAX_EMCHAR_LEN): Moved from buffer.h.
4963         (REP_BYTES_BY_FIRST_BYTE): Moved from char-ucs.h.
4964
4965         * char-ucs.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-utf-8.h.
4966
4967         * mb-lb.h, multibyte.h: New files.
4968
4969         * char-1byte.h (Charset_ID): Moved from buffer.h.
4970         (MIN_LEADING_BYTE): Likewise.
4971         (LEADING_BYTE_ASCII): Likewise.
4972         (NUM_LEADING_BYTES): Likewise.
4973         (CHARSETP): Likewise.
4974         (CHARSET_BY_LEADING_BYTE): Likewise.
4975         (XCHARSET_LEADING_BYTE): Likewise.
4976         (XCHARSET_GRAPHIC): Likewise.
4977         (XCHARSET_COLUMNS): Likewise.
4978         (XCHARSET_DIMENSION): Likewise.
4979         (CHAR_CHARSET): Likewise.
4980         (CHAR_LEADING_BYTE): Likewise.
4981         (BREAKUP_CHAR): Likewise.
4982         (Vcharset_ascii): Likewise.
4983
4984         * buffer.h: Include multibyte.h unconditionally.
4985         (VALID_CHARPTR_P): Moved to multibyte.h.
4986         (ASSERT_VALID_CHARPTR): Likewise.
4987         (REAL_INC_CHARPTR): Likewise.
4988         (REAL_INC_CHARBYTIND): Likewise.
4989         (REAL_DEC_CHARPTR): Likewise.
4990         (INC_CHARPTR): Likewise.
4991         (INC_CHARBYTIND): Likewise.
4992         (DEC_CHARPTR): Likewise.
4993         (VALIDATE_CHARPTR_BACKWARD): Likewise.
4994         (VALIDATE_CHARPTR_FORWARD): Likewise.
4995         (charptr_n_addr): Likewise.
4996         (MAX_EMCHAR_LEN): Moved to mb-*.h.
4997         (simple_charptr_emchar): Moved to multibyte.h.
4998         (simple_set_charptr_emchar): Likewise.
4999         (simple_charptr_copy_char): Likewise.
5000         (non_ascii_charptr_emchar): Likewise.
5001         (non_ascii_set_charptr_emchar): Likewise.
5002         (non_ascii_charptr_copy_char): Likewise.
5003         (charptr_emchar): Likewise.
5004         (set_charptr_emchar): Likewise.
5005         (charptr_copy_char): Likewise.
5006         (charptr_emchar_n): Likewise.
5007         (Charset_ID): Moved to char-1byte.h.
5008         (Vcharset_ascii): Likewise.
5009         (CHAR_CHARSET): Likewise.
5010         (CHAR_LEADING_BYTE): Likewise.
5011         (LEADING_BYTE_ASCII): Likewise.
5012         (NUM_LEADING_BYTES): Likewise.
5013         (MIN_LEADING_BYTE): Likewise.
5014         (CHARSETP): Likewise.
5015         (CHARSET_BY_LEADING_BYTE): Likewise.
5016         (XCHARSET_LEADING_BYTE): Likewise.
5017         (XCHARSET_GRAPHIC): Likewise.
5018         (XCHARSET_COLUMNS): Likewise.
5019         (XCHARSET_DIMENSION): Likewise.
5020         (BREAKUP_CHAR): Likewise.
5021
5022 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5023
5024         * character.h: Add document about interface for characters.
5025
5026         * char-ucs.h (CHAR_ASCII_P): Modify name of argument.
5027         (MAKE_CHAR): Delete comment about
5028         `FIELD2_TO_OFFICIAL_LEADING_BYTE' and
5029         `FIELD2_TO_PRIVATE_LEADING_BYTE'.
5030         (BREAKUP_CHAR): Modify name of arguments.
5031         (CHAR_CHARSET): Modify name of argument.
5032
5033         * buffer.h: Delete document about Emchar accessors.
5034
5035 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5036
5037         * character.h (CHAR_INTP): Moved from buffer.h
5038         (CHAR_OR_CHAR_INTP): Likewise.
5039         (XCHAR_OR_CHAR_INT): Likewise.
5040         (CHECK_CHAR_COERCE_INT): Likewise.
5041
5042         * buffer.h (CHAR_INTP): Moved to character.h
5043         (CHAR_OR_CHAR_INTP): Likewise.
5044         (XCHAR_OR_CHAR_INT): Likewise.
5045         (CHECK_CHAR_COERCE_INT): Likewise.
5046
5047 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5048
5049         * character.h:
5050         - Move definitions about UCS-2000 (UCS-4) to char-ucs.h.
5051         - Include char-1byte.h, char-lb.h or char-ucs.h.
5052
5053         * mb-utf-8.h (CHAR_ASCII_P): Moved to char-ucs.h.
5054
5055         * buffer.h: Include character unconditionally.
5056         (valid_char_p): Moved to char-*.h.
5057         (non_ascii_valid_char_p): Moved to char-lb.h.
5058
5059         * char-1byte.h, char-lb.h, char-ucs.h: New files.
5060
5061 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5062
5063         * mule-ccl.c (ccl_driver): Don't define `CCL_WriteMultibyteChar2'
5064         in UTF-2000 because it is not ported yet and not to use
5065         `FIELD2_TO_OFFICIAL_LEADING_BYTE', `MIN_LEADING_BYTE_OFFICIAL_2',
5066         `FIELD1_TO_OFFICIAL_LEADING_BYTE' and
5067         `FIELD1_TO_PRIVATE_LEADING_BYTE'.
5068
5069         * mb-utf-8.h (CHAR_MULTIBYTE_P): Moved from character.h.
5070         (CHAR_ASCII_P): Moved from character.h.
5071
5072         * character.h (CHAR_MULTIBYTE_P): Moved to mb-utf-8.h.
5073         (CHAR_ASCII_P): Likewise.
5074         (CHAR_FIELD1_MASK): Deleted.
5075         (CHAR_FIELD2_MASK): Deleted.
5076         (CHAR_FIELD3_MASK): Deleted.
5077         (MAX_CHAR_BASIC_LATIN): New macro.
5078         (CHAR_FIELD1): Deleted.
5079         (CHAR_FIELD2_INTERNAL): Deleted.
5080         (CHAR_FIELD3_INTERNAL): Deleted.
5081         (FIELD1_TO_PRIVATE_LEADING_BYTE): Deleted.
5082         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Deleted.
5083         (FIELD2_TO_PRIVATE_LEADING_BYTE): Deleted.
5084         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Deleted.
5085         (MIN_CHAR_FIELD1_OFFICIAL): Deleted.
5086         (MAX_CHAR_FIELD1_OFFICIAL): Deleted.
5087         (MIN_CHAR_FIELD2_PRIVATE): Deleted.
5088         (MAX_CHAR_FIELD2_PRIVATE): Deleted.
5089         (MIN_CHAR_FIELD1_PRIVATE): Deleted.
5090         (MAX_CHAR_FIELD1_PRIVATE): Deleted.
5091         (MULE_CHAR_PRIVATE_OFFSET): Deleted.
5092         (MIN_CHAR_PRIVATE_TYPE9N): Deleted.
5093         (MAX_CHAR_PRIVATE_TYPE9N): Deleted.
5094         (MIN_CHAR_PRIVATE_TYPE9NX9N): Deleted.
5095         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Deleted.
5096         (MIN_CHAR_COMPOSITION): Deleted.
5097         (breakup_char_1): Use `MAX_CHAR_BASIC_LATIN' instead of
5098         `CHAR_ASCII_P'; use `0x7f' instead of `CHAR_FIELD3_INTERNAL'.
5099
5100 1999-09-02  MORIOKA Tomohiko  <tomo@m17n.org>
5101
5102         * buffer.h: Include mb-utf-8.h in UTF-2000.
5103
5104         * character.h (BUFBYTE_FIRST_BYTE_P): Moved to mb-utf-8.h.
5105
5106         * mb-utf-8.h: New file.
5107
5108 1999-09-02  MORIOKA Tomohiko  <tomo@etl.go.jp>
5109
5110         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use `Charset_ID'
5111         instead of `int'.
5112
5113         * mule-charset.h, buffer.h (Charset_ID): New type.
5114
5115 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
5116
5117         * mule-canna.c (c2mu): Use `MAKE_CHAR',
5118         `Vcharset_japanese_jisx0212' and `Vcharset_japanese_jisx0208'
5119         instead of `MULE_CHAR_PRIVATE_OFFSET',
5120         `LEADING_BYTE_JAPANESE_JISX0212', `LEADING_BYTE_JAPANESE_JISX0208'
5121         and `FIELD1_TO_OFFICIAL_LEADING_BYTE'.
5122         (m2c): Use `BREAKUP_CHAR' and `XCHARSET_FINAL'.
5123
5124         * character.h (Vcharset_japanese_jisx0212): New variable
5125         definition.
5126
5127 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
5128
5129         * mule-charset.c (Vcharset_ucs_bmp): New variable in UTF-2000.
5130         (charset_by_attributes): Delete array about direction.
5131         (latin_a_char_to_charset): New variable in UTF-2000.
5132         (latin_a_char_to_byte1): New variable in UTF-2000.
5133         (latin_a_char_to_byte2): New variable in UTF-2000.
5134         (Qucs_bmp): New variable.
5135         (next_allocated_1_byte_leading_byte): Use `Charset_ID' instead of
5136         `Bufbyte'.
5137         (next_allocated_2_byte_leading_byte): Likewise.
5138         (non_ascii_set_charptr_emchar): Likewise.
5139         (make_charset): Likewise; add `CHARSET_TYPE_128X128' and
5140         `CHARSET_TYPE_256X256' in UTF-2000; modify for
5141         `charset_by_attributes'.
5142         (get_unallocated_leading_byte): Use `Charset_ID' instead of `int'.
5143         (char-charset): Use `CHAR_CHARSET' instead of `CHAR_LEADING_BYTE'
5144         and `CHARSET_BY_LEADING_BYTE'.
5145         (syms_of_mule_charset): Set up `ucs-bmp'; move setting of
5146         `utf-2000-version' to `vars_of_mule_charset'.
5147         (vars_of_mule_charset): Modify for `charset_by_attributes'; don't
5148         define `leading-code-private-11' in UTF-2000; move setting of
5149         `utf-2000-version' from `syms_of_mule_charset'.
5150         (complex_vars_of_mule_charset): Set up charset `ucs-bmp' in
5151         UTF-2000.
5152
5153         * character.h (Charset_ID): New type.
5154         (LEADING_BYTE_UCS_BMP): New macro.
5155         (LEADING_BYTE_CONTROL_1): Changed from 0x8F to 0x81.
5156         (CHARSET_ID_OFFSET_94): New macro.
5157         (MIN_CHARSET_ID_PRIVATE_94): New macro.
5158         (MAX_CHARSET_ID_PRIVATE_94): New macro.
5159         (LEADING_BYTE_ASCII): Changed to use CHARSET_ID_OFFSET_94 and
5160         final-byte.
5161         (LEADING_BYTE_KATAKANA_JISX0201): Likewise.
5162         (LEADING_BYTE_LATIN_JISX0201): Likewise.
5163         (CHARSET_ID_OFFSET_96): New macro.
5164         (LEADING_BYTE_LATIN_ISO8859_1): Changed to use
5165         CHARSET_ID_OFFSET_96 and final-byte.
5166         (LEADING_BYTE_LATIN_ISO8859_2): Likewise.
5167         (LEADING_BYTE_LATIN_ISO8859_3): Likewise.
5168         (LEADING_BYTE_LATIN_ISO8859_4): Likewise.
5169         (LEADING_BYTE_GREEK_ISO8859_7): Likewise.
5170         (LEADING_BYTE_ARABIC_ISO8859_6): Likewise.
5171         (LEADING_BYTE_HEBREW_ISO8859_8): Likewise.
5172         (LEADING_BYTE_CYRILLIC_ISO8859_5): Likewise.
5173         (LEADING_BYTE_LATIN_ISO8859_9): Likewise.
5174         (LEADING_BYTE_THAI_TIS620): Likewise.
5175         (MIN_LEADING_BYTE_PRIVATE_1): Changed from 0x0D0 to 0xD0.
5176         (MAX_LEADING_BYTE_PRIVATE_1): Changed from 0x11f to 0xDF.
5177         (CHARSET_ID_OFFSET_94x94): New macro.
5178         (LEADING_BYTE_CHINESE_BIG5_1): Changed to use
5179         CHARSET_ID_OFFSET_94x94 and final-byte.
5180         (LEADING_BYTE_CHINESE_BIG5_2): Likewise.
5181         (MIN_LEADING_BYTE_PRIVATE_2): Likewise.
5182         (MAX_LEADING_BYTE_PRIVATE_2): Likewise.
5183         (LEADING_BYTE_JAPANESE_JISX0208_1978): Likewise.
5184         (LEADING_BYTE_CHINESE_GB2312): Likewise.
5185         (LEADING_BYTE_JAPANESE_JISX0208): Likewise.
5186         (LEADING_BYTE_KOREAN_KSC5601): Likewise.
5187         (LEADING_BYTE_JAPANESE_JISX0212): Likewise.
5188         (LEADING_BYTE_CHINESE_CCITT_GB): Likewise.
5189         (LEADING_BYTE_CHINESE_CNS11643_*): Likewise.
5190         (LEADING_BYTE_KOREAN_KPS9566): Likewise.
5191         (CHARSET_TYPE_128X128): New macro.
5192         (CHARSET_TYPE_256X256): New macro.
5193         (XCHARSET_PRIVATE_P): Delete unconditionally.
5194         (charset_by_attributes): Delete array about direction.
5195         (CHARSET_BY_LEADING_BYTE): Use `Charset_ID' instead of `int'.
5196         (CHARSET_BY_ATTRIBUTES): Modify for `charset_by_attributes'.
5197         (MIN_CHAR_94): New macro.
5198         (MAX_CHAR_94): New macro.
5199         (MIN_CHAR_96): New macro.
5200         (MAX_CHAR_96): New macro.
5201         (MIN_CHAR_94x94): New macro.
5202         (MAX_CHAR_94x94): New macro.
5203         (MIN_CHAR_96x96): New macro.
5204         (MAX_CHAR_96x96): New macro.
5205         (FIELD1_TO_PRIVATE_LEADING_BYTE): Use `CHARSET_ID_OFFSET_94x94'.
5206         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
5207         (FIELD2_TO_PRIVATE_LEADING_BYTE): Use `(MIN_LEADING_BYTE_PRIVATE_1
5208         - 32)'.
5209         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Use `LEADING_BYTE_ASCII'.
5210         (MIN_CHAR_FIELD2_OFFICIAL): Deleted.
5211         (MAX_CHAR_FIELD2_OFFICIAL): Deleted.
5212         (MIN_CHAR_OFFICIAL_TYPE9N): Deleted.
5213         (MAX_CHAR_PRIVATE_TYPE9N): Changed.
5214         (MAKE_CHAR): Use `XCHARSET_FINAL' instead of
5215         `XCHARSET_LEADING_BYTE' to make code-point.
5216         (latin_a_char_to_charset): New variable.
5217         (latin_a_char_to_byte1): New variable.
5218         (latin_a_char_to_byte2): New variable.
5219         (breakup_char_1): Use `latin_a_char_to_{charset|byte1|byte2}' for
5220         Latin Extended-A; use `CHARSET_BY_ATTRIBUTES' instead of
5221         `CHARSET_BY_LEADING_BYTE' to get charset for ISO-2022 characters.
5222
5223         * insdel.c (find_charsets_in_bufbyte_string): Use `Charset_ID'
5224         instead of `unsigned char'; use `MIN_LEADING_BYTE' instead of 128.
5225         (find_charsets_in_emchar_string): Likewise.
5226         (vars_of_insdel): Don't define local variable `i' in UTF-2000.
5227
5228         * file-coding.c (Fdecode_big5_char): Use `Charset_ID' instead of
5229         `int'.
5230         (decode_coding_iso2022): Likewise.
5231
5232         * toolbar-x.c (x_output_toolbar_button): Use `Charset_ID' instead
5233         of `unsigned char'.
5234
5235         * redisplay.c (redisplay_text_width_emchar_string): Use
5236         `Charset_ID' instead of `unsigned char'.
5237         (redisplay_frame_text_width_string): Likewise.
5238
5239         * glyphs.c (glyph_height_internal): Use `Charset_ID' instead of
5240         `unsigned char'.
5241
5242         * faces.h, faces.c (ensure_face_cachel_complete): Use `Charset_ID'
5243         instead of `unsigned char'.
5244         (face_cachel_charset_font_metric_info): Likewise.
5245
5246         * chartab.c (print_char_table): Use `Charset_ID' instead of `int'.
5247         (get_non_ascii_char_table_value): Likewise.
5248         (get_char_table): Likewise.
5249         (put_char_table): Likewise.
5250         (map_over_other_charset): Likewise.
5251         (map_char_table): Likewise.
5252
5253         * buffer.h (find_charsets_in_bufbyte_string): Use `Charset_ID'
5254         instead of `unsigned char'.
5255
5256 1999-08-31  MORIOKA Tomohiko  <tomo@etl.go.jp>
5257
5258         * character.h (PRE_LEADING_BYTE_PRIVATE_1): Deleted.
5259         (PRE_LEADING_BYTE_PRIVATE_2): Deleted.
5260
5261         * mule-charset.c (leading_code_private_11): Don't define in
5262         UTF-2000.
5263
5264         * mule-ccl.c (ccl_driver): Don't define `CCL_ReadMultibyteChar2'
5265         in UTF-2000 because it is not ported yet and not to use
5266         `PRE_LEADING_BYTE_PRIVATE_1' and `PRE_LEADING_BYTE_PRIVATE_2'.
5267
5268 1999-08-30  MORIOKA Tomohiko  <tomo@etl.go.jp>
5269
5270         * character.h (LEADING_BYTE_COMPOSITE): Deleted.
5271
5272 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
5273
5274         * regex.c (re_compile_fastmap): Don't use `LEADING_BYTE_PREFIX_P'
5275         in UTF-2000.
5276
5277         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use int instead
5278         of unsigned char to store leading-byte.
5279
5280         * chartab.c (get_non_ascii_char_table_value): Don't use
5281         `BREAKUP_CHAR_1_UNSAFE' in UTF-2000.
5282
5283         * file-coding.c (encode_coding_big5): Delete bogus implementation
5284         in UTF2000.
5285
5286         * character.h (LEADING_BYTE_*): Delete definition for
5287         non-UTF-2000.
5288         (LEADING_BYTE_PRIVATE_P): Deleted unconditionally.
5289         (LEADING_BYTE_PREFIX_P): Deleted.
5290         (PRIVATE_LEADING_BYTE_PREFIX): Deleted.
5291         (BUFBYTE_FIRST_BYTE_P): Delete definition for non-UTF-2000.
5292         (BUFBYTE_LEADING_BYTE_P): Deleted.
5293         (CHARSET_PRIVATE_P): Deleted unconditionally.
5294         (rep_bytes_by_first_byte): Deleted unconditionally.
5295         (REP_BYTES_BY_FIRST_BYTE): Delete definition for non-UTF-2000.
5296         (FIELD1_TO_PRIVATE_LEADING_BYTE): Likewise.
5297         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
5298         (FIELD2_TO_PRIVATE_LEADING_BYTE): Likewise.
5299         (CHAR_FIELD2): Deleted.
5300         (CHAR_FIELD3): Deleted.
5301         (MAKE_CHAR): Delete definition for non-UTF-2000.
5302         (BREAKUP_CHAR_1_UNSAFE): Deleted.
5303         (breakup_char_1): New implementation.
5304         (CHAR_CHARSET): Use `BREAKUP_CHAR'.
5305         (CHAR_LEADING_BYTE): Use `CHAR_CHARSET'.
5306
5307 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
5308
5309         * character.h (REP_BYTES_BY_FIRST_BYTE): Change order of
5310         condition.
5311
5312 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
5313
5314         * character.h (LEADING_BYTE_PRIVATE_P): Don't define in UTF2000.
5315         (CHARSET_PRIVATE_P): Likewise.
5316         (XCHARSET_PRIVATE_P): Likewise.
5317         (MAKE_CHAR): Don't use XCHARSET_PRIVATE_P in UTF2000.
5318
5319         * file-coding.c (encode_coding_ucs4): Delete bogus implement in
5320         UTF2000.
5321         (decode_coding_iso2022): Don't use XCHARSET_PRIVATE_P in UTF2000.
5322
5323 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
5324
5325         * character.h (LEADING_BYTE_*): Changed in UTF2000.
5326         (NUM_LEADING_BYTES): Changed from 128 to 256.
5327         (FIELD1_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
5328         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Change value to 0x80 in
5329         UTF2000.
5330         (FIELD2_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
5331
5332         * mule-charset.c (Vcharset_chinese_cns11643_3): New variable in
5333         UTF2000.
5334         (Vcharset_chinese_cns11643_4): New variable in UTF2000.
5335         (Vcharset_chinese_cns11643_5): New variable in UTF2000.
5336         (Vcharset_chinese_cns11643_6): New variable in UTF2000.
5337         (Vcharset_chinese_cns11643_7): New variable in UTF2000.
5338         (Qchinese_cns11643_3): New variable in UTF2000.
5339         (Qchinese_cns11643_4): New variable in UTF2000.
5340         (Qchinese_cns11643_5): New variable in UTF2000.
5341         (Qchinese_cns11643_6): New variable in UTF2000.
5342         (Qchinese_cns11643_7): New variable in UTF2000.
5343         (syms_of_mule_charset): Define `chinese-cns11643-3',
5344         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
5345         and `chinese-cns11643-7' in UTF2000.
5346         (vars_of_mule_charset): Initialize
5347         next_allocated_2_byte_leading_byte by LEADING_BYTE_CHINESE_BIG5_2
5348         + 1 in UTF2000.
5349         (complex_vars_of_mule_charset): Setup charset
5350         `chinese-cns11643-3', `chinese-cns11643-4', `chinese-cns11643-5',
5351         `chinese-cns11643-6' and `chinese-cns11643-7' in UTF2000.
5352
5353 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5354
5355         * mule-charset.c: Move setting for `leading-code-private-11' from
5356         `syms_of_mule_charset' to `vars_of_mule_charset'.
5357
5358 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5359
5360         * mule-charset.h (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE'
5361         and `NUM_LEADING_BYTES' in assert.
5362
5363 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5364
5365         * character.h (charset_by_leading_byte): Use `NUM_LEADING_BYTES'
5366         instead of 128.
5367         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' and
5368         `NUM_LEADING_BYTES' instead of 128.
5369
5370 1999-08-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
5371
5372         * mule-charset.h (charset_by_leading_byte): Use
5373         `NUM_LEADING_BYTES' instead of 128.
5374         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' instead of 128.
5375
5376         * mule-charset.c (charset_by_leading_byte): Use
5377         `NUM_LEADING_BYTES' instead of 128.
5378         (make_charset): Use `MIN_LEADING_BYTE' instead of 128.
5379
5380         * faces.h (FACE_CACHEL_FONT): Use `MIN_LEADING_BYTE' instead of
5381         128.
5382
5383 1999-08-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
5384
5385         * mule-charset.c (syms_of_mule_charset): Update to
5386         0.4 (Shin-Imamiya).
5387
5388 1999-07-13 Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
5389
5390         * file-coding.c (encode_coding_sjis): New implementation for
5391         UTF2000.  (decode_coding_sjis): Ditto.
5392
5393 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
5394
5395         * mule-charset.c, character.h (Bytecount rep_bytes_by_first_byte):
5396         Don't define in UTF2000.
5397
5398         * character.h: Include mule-charset.h if CHAR_IS_UCS4 is not
5399         defined.
5400
5401         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
5402         mule-ccl.c, lstream.h, buffer.h: Include character.h in every
5403         MULE.
5404
5405 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
5406
5407         * config.h.in (CHAR_IS_UCS4): New macro.
5408
5409         * mule-charset.c (rep_bytes_by_first_byte): Modify for
5410         conventional MULE representation.
5411         (syms_of_mule_charset): Update to 0.3 (Imamiya).
5412
5413         * mule-charset.h: Reverted to original.
5414
5415         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
5416         mule-ccl.c, lstream.h, buffer.h: Use "character.h" instead of
5417         "mule-charset.h" if CHAR_IS_UCS4 is defined.
5418
5419         * character.h: New file.
5420
5421         * file-coding.c (Fmake_coding_system): Set 1 to
5422         `codesys->fixed.size' if TYPE is `no-conversion' and UTF2000 is
5423         defined.
5424         (encode_coding_no_conversion): New implementation for UTF2000.
5425
5426         * file-coding.h (struct Lisp_Coding_System): Add new member
5427         `fixed.size'.
5428
5429 1999-06-16  MORIOKA Tomohiko  <tomo@etl.go.jp>
5430
5431         * file-coding.c (decode_coding_iso2022): Code-point arguments of
5432         `MAKE_CHAR' must be smaller than 0x80 in UTF2000.
5433         (encode_coding_iso2022): New implementation for UTF2000.
5434
5435 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5436
5437         * mule-canna.c (c2mu): New implementation for UTF2000.
5438         (m2c): Likewise.
5439
5440 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5441
5442         * file-coding.c (encode_coding_no_conversion): Modify for UTF2000.
5443
5444 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5445
5446         * file-coding.c (reset_encoding_stream): Set 0 to
5447         `str->iso2022.current_char_boundary' in UTF2000.
5448         (encode_utf8): Don't define in UTF2000.
5449         (encode_coding_utf8): New implementation for UTF-8 representation
5450         of UTF2000.
5451         (complex_vars_of_file_coding): Define coding-system `utf-8'.
5452
5453 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5454
5455         * mule.c (vars_of_mule): Provide `utf-2000' in UTF2000.
5456
5457         * mule-charset.h (BUFBYTE_FIRST_BYTE_P): Modify for UTF-8 in
5458         UTF2000.
5459         (REP_BYTES_BY_FIRST_BYTE): Likewise.
5460
5461         * buffer.h (non_ascii_valid_char_p): Don't define in UTF2000.
5462
5463         * mule-charset.c (non_ascii_set_charptr_emchar): Don't define
5464         local variables `lb', `c1', `c2' and `charset' in UTF2000; encode
5465         as UTF-8 in UTF2000.
5466         (non_ascii_charptr_emchar): Decode as UTF-8 in UTF2000.
5467         (non_ascii_valid_char_p): Don't define in UTF2000.
5468         (non_ascii_charptr_copy_char): Add case 5 and 6 in UTF2000.
5469         (Lstream_get_emchar_1): Likewise.
5470         (utf-2000-version): New variable in UTF2000.
5471
5472         * lread.c (read_escape): Add new reader `u'.
5473
5474         * insdel.c (three_to_one_table): Don't define in UTF2000.
5475         (bufpos_to_bytind_func): Use `buf->text->mule_size' instead of
5476         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
5477         UTF2000.
5478         (bytind_to_bufpos_func): Likewise.
5479         (buffer_mule_signal_inserted_region): Likewise.
5480         (vars_of_insdel): Don't initialize `three_to_one_table'.
5481         (init_buffer_text): Use `buf->text->mule_size' instead of
5482         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
5483         UTF2000.
5484
5485         * file-coding.c (DECODE_ADD_BINARY_CHAR): New implementation for
5486         UTF-8 representation in UTF2000.
5487         (DECODE_ADD_UCS_CHAR): New macro in UTF2000.
5488         (decode_ucs4): Use `DECODE_ADD_UCS_CHAR' in UTF2000.
5489         (decode_coding_iso2022): Don't define local variable `lb' in
5490         UTF2000; don't use LEADING_BYTE in UTF2000; use
5491         `DECODE_ADD_UCS_CHAR' in UTF2000.
5492         (convert_to_external_format): Decode as UTF-8 in UTF2000.
5493
5494         * config.h.in (UTF2000): New macro.
5495
5496         * buffer.h (struct buffer_text): Add new member `mule_size' and
5497         don't add `mule_shifter' and `mule_three_p' in UTF2000.
5498         (valid_char_p): Return always 1 in UTF2000.
5499         (MAX_EMCHAR_LEN): 6 in UTF2000.
5500         (three_to_one_table): Don't define in UTF2000.
5501         (real_bufpos_to_bytind): Modify for UTF-8 representation in
5502         UTF2000.
5503         (real_bytind_to_bufpos): Likewise.
5504
5505         * alloc.c (Fmake_string): Add case 5 and 6 for UTF2000.
5506
5507 1999-06-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
5508
5509         * mule-charset.c (rep_bytes_by_first_byte): Modified for character
5510         representation change.
5511         (Vutf_2000_version): New variable.
5512         (leading_code_private_11): New variable.
5513         (syms_of_mule_charset): Add new variables `utf-2000-version' and
5514         `leading-code-private-11'.
5515
5516         * mule-charset.h (LEADING_BYTE_CHINESE_CCITT_GB): New macro.
5517         (LEADING_BYTE_CHINESE_BIG5_1): Changed to 0x96 temporally.
5518         (LEADING_BYTE_CHINESE_CNS11643_1): Changed to 0x97.
5519         (LEADING_BYTE_CHINESE_CNS11643_2): Changed to 0x98.
5520         (LEADING_BYTE_CHINESE_CNS11643_3): New macro.
5521         (LEADING_BYTE_CHINESE_CNS11643_4): Likewise.
5522         (LEADING_BYTE_CHINESE_CNS11643_5): Likewise.
5523         (LEADING_BYTE_CHINESE_CNS11643_6): Likewise.
5524         (LEADING_BYTE_CHINESE_CNS11643_7): Likewise [but not used].
5525         (LEADING_BYTE_CHINESE_BIG5_2): Changed to 0x9D temporally.
5526         (LEADING_BYTE_KOREAN_KPS9566): New macro [but not used].
5527         (CHAR_FIELD1_MASK): Changed to (0x7F << 14).
5528         (MIN_CHAR_GREEK): New macro.
5529         (MAX_CHAR_GREEK): New macro.
5530         (MIN_CHAR_CYRILLIC): New macro.
5531         (MAX_CHAR_CYRILLIC): New macro.
5532         (MIN_CHAR_HEBREW): New macro.
5533         (MAX_CHAR_HEBREW): New macro.
5534         (MIN_CHAR_THAI): New macro.
5535         (MAX_CHAR_THAI): New macro.
5536         (MIN_CHAR_HALFWIDTH_KATAKANA): New macro.
5537         (MAX_CHAR_HALFWIDTH_KATAKANA): New macro.
5538         (CHAR_FIELD2_INTERNAL): New macro [renamed from `CHAR_FIELD2'.
5539         (CHAR_FIELD3_INTERNAL): New macro [renamed from `CHAR_FIELD3'.
5540         (FIELD1_TO_PRIVATE_LEADING_BYTE): Changed to 0xc0.
5541         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Changed to 0x50.
5542         (CHAR_FIELD2): New inline function.
5543         (CHAR_FIELD3): New inline function.
5544         (MULE_CHAR_PRIVATE_OFFSET): New macro.
5545         (MIN_CHAR_OFFICIAL_TYPE9N): Shifted to `MULE_CHAR_PRIVATE_OFFSET'.
5546         (MIN_CHAR_PRIVATE_TYPE9N): Likewise.
5547         (MIN_CHAR_PRIVATE_TYPE9NX9N): Likewise.
5548         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Likewise.
5549         (MIN_CHAR_COMPOSITION): Likewise.
5550         (CHAR_LEADING_BYTE): Modified for character representation change.
5551         (MAKE_CHAR): Likewise.
5552
5553         * lisp.h (Vcharset_latin_iso8859_1): New variable.
5554         (Vcharset_greek_iso8859_7): Likewise.
5555         (Vcharset_cyrillic_iso8859_5): Likewise.
5556         (Vcharset_hebrew_iso8859_8): Likewise.
5557         (Vcharset_thai_tis620): Likewise.
5558         (Vcharset_katakana_jisx0201): Likewise.
5559
5560 2004-02-02  Vin Shelton <acs@xemacs.org>
5561
5562         * XEmacs 21.4.15 is released
5563
5564 2004-01-30  Glynn Clements  <glynn.clements@virgin.net>
5565
5566         * device-x.c (x_error_handler): Don't call stderr_out
5567
5568 2003-11-07  Katsumi Yamaoka <yamaoka@jpl.org>
5569
5570         * buffer.c (other-buffer): Clarify documentation of order of
5571         arguments for FSF Emacs.
5572
5573 2003-10-11  Olivier Galibert  <galibert@pobox.com>
5574
5575         * window.c (Fdelete_window): Dirty the mirror structure _before_
5576         marking the window deleted.
5577
5578 2003-09-15  Jerry James  <james@xemacs.org>
5579
5580         * event-msw.c (debug_mswin_messages): Conditionally compile
5581         messages missing from the Cygwin headers.
5582
5583 2003-06-16  Stephen J. Turnbull  <stephen@xemacs.org>
5584
5585         * data.c (eq_with_ebola_notice): Fix typo in comment.
5586         (Ftrue_list_p): Improve docstring.
5587
5588 2003-10-13  Stephen J. Turnbull  <stephen@xemacs.org>
5589
5590         * frame-x.c (x_update_frame_external_traits): Fix XtSetArg idiom.
5591
5592 2003-09-27  Stephen J. Turnbull  <stephen@xemacs.org>
5593
5594         * search.c (trivial_regexp_p): Regexps containing "\{" are
5595         nontrivial.  Thanks to Manfred Bartz for reporting the bug and
5596         Stefan Monnier for suggesting a diagnosis.
5597
5598 2003-09-25  Stephen J. Turnbull  <stephen@xemacs.org>
5599
5600         * elhash.c (make-hash-table): Clarify use of :test #'equal.
5601
5602 2003-09-12  Stephen J. Turnbull  <stephen@xemacs.org>
5603
5604         * search.c (Fsearch_forward):
5605         (Fsearch_backward):
5606         Document negative count.
5607
5608 2003-09-13  Stephen J. Turnbull  <stephen@xemacs.org>
5609
5610         * regex.c (re_max_failures): Bump to 20000 for REGEX_MALLOC, too.
5611
5612 2003-09-13  Martin Buchholz  <martin@xemacs.org>
5613
5614         * s/sol2.h: Use OS_RELEASE=os_release_major*100+os_release_minor
5615
5616 2003-09-15  Vin Shelton  <acs@xemacs.org>
5617
5618         * .gdbinit (pobj): Remove Ilya's fix that was only intended for
5619         21.5.
5620
5621 2003-09-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
5622
5623         * regex.c (TRANSLATE_EXTENDED_UNSAFE): Remove.
5624         (re_search_2): Match the first byte of Bufbyte, not Emchar.
5625         (re_match_2_internal): Use TRANSLATE instead of
5626         TRANSLATE_EXTENDED_UNSAFE.  The latter was a hack to bypass
5627         non-ASCII char case conversion.
5628
5629 2003-09-08  Mike Sperber  <mike@xemacs.org>
5630
5631         * symbols.c (Fvariable_binding_locus): Add, as per suggestion from
5632         RMS at: http://article.gmane.org/gmane.emacs.pretest.bugs/1010
5633
5634 2003-06-14  Ilya N. Golubev  <gin@mo.msk.ru>
5635
5636        * .gdbinit (pobj): fix printing of symbol name.
5637
5638 2003-08-01  Ilya N. Golubev  <gin@mo.msk.ru>
5639
5640         * frame-x.c (x_layout_widgets): When resizing is about to cause
5641         frame size slip, mark it for redisplay.
5642
5643 2003-08-18  Jerry James  <james@xemacs.org>
5644
5645         * opaque.h: Remove unused (X)OPAQUE_MARKFUN definitions.
5646
5647 2003-09-03  Vin Shelton <acs@xemacs.org>
5648
5649         * XEmacs 21.4.14 is released
5650
5651 2003-08-15  Stephen J. Turnbull  <stephen@xemacs.org>
5652
5653         * config.h.in (REGEX_MALLOC): Make it configure'able.
5654
5655 2003-08-14  Andrew Begel  <abegel@CS.Berkeley.EDU>
5656
5657         * config.h.in: Add HAVE_DYLD to indicate Darwin/MacOSX dynamic
5658         linking.
5659         * sysdll.c (dll_init):
5660         * sysdll.c (dll_open):
5661         * sysdll.c (dll_close):
5662         * sysdll.c (dll_function):
5663         * sysdll.c (dll_variable):
5664         * sysdll.c (dll_error):
5665         Add support for loading bundles using Darwin/MacOSX
5666         native API.
5667
5668 2003-08-12  Stephen J. Turnbull  <stephen@xemacs.org>
5669
5670         * process.c (start-process-internal): Document coding systems.
5671
5672 2003-07-30  Jerry James  <james@xemacs.org>
5673
5674         * sysdll.c: configure sets HAVE_DLD_INIT, not HAVE_INIT_DLD.
5675
5676 2003-07-31  René Kyllingstad  <listmailxemacs@kyllingstad.com>
5677
5678         * event-msw.c (mswindows_enqueue_mouse_button_event):
5679         * event-msw.c (mswindows_wnd_proc):
5680           enqueue button event when scrollwheel event isn't handled by 
5681           mswindows_handle_mousewheel_event, such as when the scrollbars
5682           are not showing.
5683
5684 2003-07-29  Stephen J. Turnbull  <stephen@xemacs.org>
5685
5686         * EmacsFrame.c (emacsFrameClassRec): Motif groks not XtCompress*.
5687
5688 2003-03-24  Stephen J. Turnbull  <stephen@xemacs.org>
5689
5690         * database.c (Fopen_database): Don't use DB_AUTO_COMMIT.
5691
5692 2003-03-21  Stephen J. Turnbull  <stephen@xemacs.org>
5693
5694         * regex.c (re_match_2_internal): Fix matching degenerate word
5695         boundaries.
5696
5697 2003-05-25  XEmacs Build Bot <builds@cvs.xemacs.org>
5698
5699         * XEmacs 21.4.13 is released
5700
5701 2003-03-20  Stephen J. Turnbull  <stephen@xemacs.org>
5702
5703         * config.h.in (INTPTR_T_IN_CYGWIN_TYPES_H): 
5704         * lisp.h (<inttypes.h>):
5705         Cygwin defines these types in <cygwin/types.h>.  Don't duplicate
5706         the definition.
5707
5708 2003-03-15  Martin Buchholz  <martin@xemacs.org>
5709
5710         * dumper.c (pdump_load): Pdump'ed XEmacs can't find its .dmp file.
5711         Scenario: Prepend ~/bin to PATH; then `mkdir ~/bin/xemacs'
5712         Result: "temacs can only be run in -batch mode."
5713         Fix: Check xemacs executable candidate for directory-ness.
5714
5715 2003-03-03  Robert Pluim  <rpluim@bigfoot.com>
5716
5717         * database.c: Don't use the u_int8_t etc typedefs on FreeBSD,
5718           they conflict with <sys/types.h>.
5719
5720 2003-02-14  Martin Buchholz  <martin@xemacs.org>
5721
5722         * database.c: Berkeley DB wants __STDC__ to be defined.
5723
5724 2003-02-13  Martin Buchholz  <martin@xemacs.org>
5725
5726         * EmacsFrame.c: Use symbolic name `NotUseful' in lieu of `0'.
5727
5728 2003-02-01  Martin Buchholz  <martin@xemacs.org>
5729
5730         * process-unix.c (unix_send_process): Fix C++ compile error.
5731
5732 2003-02-25  Andrew Begel  <abegel@cs.berkeley.edu>
5733
5734         * Added .dylib as an acceptable shared library file extension
5735         * to support MacOSX.
5736
5737 2003-02-01  Martin Buchholz  <martin@xemacs.org>
5738
5739         * EmacsFrameP.h (EmacsFramePart):
5740         Kludge to allow compiling with Motif1, but linking with Motif2.
5741
5742 2003-01-28  Martin Buchholz  <martin@xemacs.org>
5743
5744         * config.h.in (_ALL_SOURCE): Guard against multiple definition.
5745
5746
5747 2003-02-23  Stephen J. Turnbull  <stephen@xemacs.org>
5748
5749         * config.h.in (DLSYM_NEEDS_UNDERSCORE): Define on darwin.
5750
5751 2003-02-06  Andrew Begel  <abegel@CS.Berkeley.EDU>
5752
5753         * sysdll.c: Included lisp.h to define needed alloca_array.
5754
5755 2003-02-13  Martin Buchholz  <martin@xemacs.org>
5756
5757         Make XEmacs redisplay 10 times faster.
5758         If, that is, you're using a slow X connection and MoveOpaque.
5759         Use compress_exposure = XtExposeCompressMaximal | XtExposeNoRegion.
5760         Use compress_motion = TRUE.
5761         * EmacsFrame.c (emacsFrameClassRec): 
5762         * EmacsShell-sub.c (EMACS_SHELL_CLASS_REC):
5763         * EmacsManager.c (emacsManagerClassRec):
5764         * xintrinsicp.h: Make sure XtExposeNoRegion is defined.
5765
5766 2003-01-30  Vin Shelton  <acs@xemacs.org>
5767
5768         * s/linux.h (ORDINARY_LINK): define ORDINARY_LINK for linux.
5769
5770 2003-01-17  Stephen J. Turnbull  <stephen@xemacs.org>
5771
5772         * glyphs-eimage.c (tiff_memory_seek): Lobotomize unsigned typedef.
5773         Patch by Martin Buchholz.
5774
5775 2003-01-16  Stephen J. Turnbull  <stephen@xemacs.org>
5776
5777         * glyphs-eimage.c (tiff_instantiate): Fix unsigned comparison.
5778         Thanks to icc for warning and Martin Buchholz for reporting.
5779
5780 2003-01-29  Vin Shelton <acs@xemacs.org>
5781
5782         Patch courtesy of Andrew Begel <abegel@cs.berkeley.edu>
5783
5784         * dynarr.c (Dynarr_realloc): memcpy copies number of bytes, so
5785         remember to multiply by the element size.
5786
5787 2003-01-15  Stephen J. Turnbull  <stephen@xemacs.org>
5788
5789         * XEmacs 21.4.12 "Portable Code" is released.
5790
5791 2003-01-14  Sergey Okhapkin <sos@prospect.com.ru>
5792
5793         * Makefile.in.in (ldflags): re-order sections for gcc 3.2.
5794         * s/cygwin.sc: new linker file.
5795
5796 2003-01-14  Stephen J. Turnbull  <stephen@xemacs.org>
5797
5798         Build fixes courtesy Martin Buchholz <martin@xemacs.org>:
5799
5800         * redisplay-x.c (x_output_string): Use X11-specified types.
5801         * syntax.c, syntax.h (SYNTAX_CODE): Use enum syntaxcode, not int.
5802         * emacs.c (__free_hook): Use typeof with Intel compiler.
5803         * config.h.in (alloca.h): Quick safe hack to please Intel compiler.
5804
5805 2003-01-08  Andy Piper  <andy@xemacs.org>
5806
5807         * unexcw.c (copy_executable_and_dump_data_section): Set the stack
5808         reserve size during unexec().
5809
5810 2003-01-07  Daiki Ueno  <daiki@xemacs.org>
5811
5812         * process-unix.c (unix_create_process): Don't let outchannel block.
5813
5814 2003-01-05  Rick Rankin  <rick_rankin@yahoo.com>
5815
5816         * emacs.c: Include "syswindows.h" when compiling under Cygwin.
5817         Needed for IsBadReadPtr().
5818
5819 2003-01-03  Stephen J. Turnbull  <stephen@xemacs.org>
5820
5821         * XEmacs 21.4.11 "Native Windows TTY Support" is released.
5822
5823 2002-12-14  Ben Wing  <ben@xemacs.org>
5824
5825         * callint.c: Declaration error.
5826         * dumper.c (pdump):
5827         * dumper.c (pdump_load): Warning fix.
5828         * process.c: GCPRO error.
5829         * glyphs.c (unmap_subwindow):
5830         * glyphs.c (map_subwindow): Parenthesizing errors with ! and &&.
5831         * event-stream.c (maybe_kbd_translate): Wrong argument to
5832         character_to_event().
5833
5834         * alloc.c (garbage_collect_1):
5835         * emacs.c:
5836         * emacs.c (debug_can_access_memory):
5837         * emacs.c (fatal_error_signal):
5838         * emacs.c (mswindows_handle_hardware_exceptions):
5839         * emacs.c (main_1):
5840         * emacs.c (main):
5841         * emacs.c (assert_failed):
5842         * emacs.c (syms_of_emacs):
5843         * lisp.h:
5844         * print.c:
5845         * print.c (std_handle_out_va):
5846         * print.c (write_string_to_stdio_stream):
5847         * print.c (write_fmt_string):
5848         * print.c (printing_badness):
5849         * print.c (printing_major_badness):
5850         * print.c (print_internal):
5851         * print.c (debug_print_no_newline):
5852         * print.c (debug_backtrace):
5853         Be more defensive in handling bad values when printing.  Add code
5854         from trunk involving inhibit_non_essential_printing_operations.
5855         When going down or in debug_print(), don't do external conversion
5856         and such and try really, really hard when printing to avoid core
5857         dumping.  Add force-debugging-signal, debug_break().
5858
5859 2002-12-12  Stephen J. Turnbull  <stephen@xemacs.org>
5860
5861         * dumper.c (pdump_load): Include sysdep.h; retry with truename.
5862         Analysis and original patch by Vin Shelton <acs@xemacs.org>.
5863
5864 2002-12-02  Greg Allen  <greg_allen@westlb-systems.co.uk>
5865
5866         * database.c: Fix open_database. Berkeley DB API has changed in
5867         4.1. see: http://www.sleepycat.com/docs/ref/upgrade.4.1/fop.html
5868
5869 2002-11-26  Stephen J. Turnbull  <stephen@xemacs.org>
5870
5871         * specifier.c (Fvalid_specifier_type_p): Typo in comment.
5872
5873 2002-11-13  Stephen J. Turnbull  <stephen@xemacs.org>
5874
5875         * event-Xt.c (Xt_timeout):
5876         (Xt_timeout_callback):
5877         (emacs_Xt_add_timeout):
5878         (emacs_Xt_remove_timeout):
5879         (Xt_timeout_to_emacs_event):
5880         Turn completed_timeouts from a stack into a queue.  Fixes
5881         deadlocks <15829.21626.171573.994716@sinisa.nasamreza.org>.
5882
5883 2002-11-07  Wolfram Gloger  <wg@malloc.de>
5884
5885         * alloc.c (reinit_alloc_once_early): Disable mmap in Doug Lea malloc.
5886         * emacs.c (main): Assert that mmap'd allocation is disabled.
5887
5888 2002-10-14  Andy Piper  <andy@xemacs.org>
5889
5890         * glyphs-widget.c (layout_query_geometry): add in fiddle
5891         factor. Include border text in width layout calculation.
5892         (layout_layout): use BORDER_FIDDLE_FACTOR instead of 10.
5893
5894 2002-11-02  Stephen J. Turnbull  <stephen@xemacs.org>
5895
5896         * XEmacs 21.4.10 "Military Intelligence" is released.
5897
5898 2002-10-17  Raymond Toy  <toy@rtp.ericsson.se>
5899
5900         * nas.c: Update for NAS 1.6 and later, from Jon Trulson.  Was
5901         using the NAS private array SoundFileInfo that no longer exists in
5902         NAS 1.6 and later.  Preserve backward compatibility with NAS 1.5a
5903         and earlier.  This is broken for some versions between 1.5a and
5904         1.5f.
5905
5906 2002-10-10  Stephen J. Turnbull  <stephen@xemacs.org>
5907
5908         * realpath.c (win32_readlink): Try to fix truename of wildcard bug.
5909
5910         * emacs.c (shut_down_emacs): Improve crash message.
5911
5912 2002-10-09  Stephen J. Turnbull  <stephen@xemacs.org>
5913
5914         * file-coding.c (determine_real_coding_system): Check for coding
5915         cookie in first LINES_TO_CHECK lines (currently 2).  Cater to
5916         shebangs and Python PEP 263.
5917
5918 2002-10-08  Andy Piper  <andy@xemacs.org>
5919
5920         * glyphs-widget.c (layout_query_geometry): only resize dynamically
5921         if static sizes haven't been set.
5922
5923 2002-08-30  Mike Alexander  <mta@arbortext.com>
5924
5925         * event-msw.c (winsock_closer): Use closesocket, not CloseHandle
5926         to close a socket.
5927
5928 2002-10-03  Stephen J. Turnbull  <stephen@xemacs.org>
5929
5930         * callproc.c (child_setup): 21.4 doesn't have retry_close.
5931
5932 2002-09-20  Mike Sperber <mike@xemacs.org>
5933
5934         (This partially gets back my patch from 2002-07-20 without the
5935         bug.)
5936         * callproc.c (child_setup): Remove Ben's comment noting confusion
5937         over the file descriptors >= 3: close_process_descs() doesn't
5938         close those.  Fix fd range to go up to MAXDESC-1 instead of 64.
5939         * process-unix.c (unix_create_process): Call
5940         begin_dont_check_for_quit to inhibit unwanted interaction (and
5941         thus breaking of X event synchronicity) in the child.
5942
5943 2002-09-26  Golubev I. N.  <gin@mo.msk.ru>
5944
5945         * frame-x.c (x_delete_frame): do not call XtDisplay on a destroyed
5946         widget.
5947
5948 2002-08-20  Ben Sigelman  <bhsigelm@cs.brown.edu>
5949
5950         * event-Xt.c (drain_X_queue): loop over while(XEventsQueued())
5951         instead of while(XtAppPending()&XtIMXEvent).  Upon a gdm logout,
5952         the xemacs process did not exit, but looped infinitely here.  This
5953         fixes that problem.
5954
5955 2002-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
5956
5957         * font-lock.c (SYNTAX_START_STYLE, SYNTAX_END_STYLE): Quiet GCC.
5958         (find_context): Improve comments.
5959
5960         * regex.c (re_compile_fastmap):  Gratuitous #ifdef comment fixes.
5961         (re_match_2): An XCHAR_TABLE operation was missing.
5962
5963         Many of the following changes were inspired by Andy Piper's (now
5964         obsolete) patch to make syntax-table text property lookup optional.
5965
5966         [Documentation]
5967
5968         * syntax.h (top level): Document semantics of syntax flags.
5969         * syntax.c (comstr_start, Fforward_comment): Improve comments.
5970         * syntax.c, syntax.h (top level): Document syntax cache better in
5971         comments.
5972
5973         [Instrument syntax caching (temporary change)]
5974
5975         * syntax.h (enum syntax_cache_statistics_functions, struct
5976         syntax_cache_statistics, SCS_STATISTICS_SET_FUNCTION,
5977         SYNTAX_CACHE_STATISTICS_COUNT_INIT): New types and macros.
5978         * syntax.c (scan_words, Fforward_comment, scan_lists,
5979         Fbackward_prefix_characters):
5980         * font-lock.c (find_context):
5981         Use them to instrument syntax caching. 
5982         * syntax.c (struct syntax_cache_statistics, scs_statistics,
5983         syntax_cache_statistics_function_names): New type and variables.
5984         * syntax.c (update_syntax_cache): Update and report statistics.
5985
5986         [Major syntax cache optimizations]
5987
5988         syntax.c (lookup_syntax_properties): Default off.
5989
5990         * syntax.h (UPDATE_SYNTAX_INTERNAL): New, implements UPDATE_SYNTAX*.
5991         * syntax.c (update_syntax_cache):
5992         Move init test from update_syntax_cache to UPDATE_SYNTAX_INTERNAL.
5993
5994         [Minor syntax cache optimizations and code clarifications]
5995
5996         * syntax.h (SYNTAX_COMMENT_BITS, SYNTAX_START_P, SYNTAX_END_P,
5997         SYNTAX_STYLES_MATCH_START_P, SYNTAX_STYLES_MATCH_1CHAR_P,
5998         SYNTAX_STYLES_MATCH_END_P, STYLE_FOUND_1CHAR_P, STYLE_FOUND_P,
5999         SYNTAX_COMMENT_MASK_END, SYNTAX_COMMENT_MASK_START,
6000         SYNTAX_COMMENT_1CHAR_MASK): Remove redundant argument `table'.
6001         (Code clarification.)
6002
6003         * syntax.c (scan_words, find_end_of_comment, scan_sexps_forward,
6004         scan_lists): Compute code from syncode, use Boolean macros instead
6005         of redundant masking operations.  (Code clarification; any decent
6006         compiler can do this optimization.)
6007
6008         * syntax.c (scan_lists): Rearrange switches (case Sstring_fence)
6009         for clarity.
6010
6011         * syntax.h, syntax.c (NEXT_SINGLE_PROPERTY_CHANGE,
6012         PREVIOUS_SINGLE_PROPERTY_CHANGE, update_syntax_cache): Conditionally
6013         use F*_single_property_change instead of F*_extent_change.
6014         Currently F*_single_property_change is _much_ less efficient.
6015
6016         * dired.c (Fdirectory_files): Qt not valid in syntax_cache.object.
6017         * syntax.h (SETUP_SYNTAX_CACHE_FOR_OBJECT):  Initialize
6018         syntax_cache.object properly, don't leave Qt or Qnil.
6019         (SYNTAX_CACHE_BYTE_TO_CHAR): Use SETUP_SYNTAX_CACHE_FOR_OBJECT.
6020         * syntax.c (update_syntax_cache): Use BUFFERP and STRINGP, not
6021         tests for Qt or Qnil.
6022
6023 2002-09-21  Stephen J. Turnbull  <stephen@xemacs.org>
6024
6025         * redisplay.c (point_in_line_start_cache): 
6026         * extents.c (print_extent_1):
6027         Fix warnings.
6028
6029         * extents.c (Fset_extent_property): Document `syntax-table' property.
6030
6031         * extents.h (Fnext_single_property_change): EXFUN it.
6032
6033 2002-09-09  Stephen J. Turnbull  <stephen@xemacs.org>
6034
6035         * search.c (clear_unused_search_regs): New static function.
6036         (search_buffer): 
6037         (simple_search): 
6038         (boyer_moore):
6039         Use it.  Fixes "stale match data" bug reported by Martin Stjernholm.
6040         Minor clarifications in comments.
6041
6042         * regex.c (re_match_2_internal): Ensure no stale submatches.
6043
6044 2002-09-09  Stephen J. Turnbull  <stephen@xemacs.org>
6045
6046         * event-Xt.c (enqueue_focus_event): Add missing prototype.
6047
6048 2002-08-29  Jerry James  <james@xemacs.org>
6049
6050         * lisp.h: structrures -> structures.
6051
6052 2002-06-03  Andy Piper  <andy@xemacs.org>
6053
6054         * frame.c (frame_conversion_internal): add conversion appropriate
6055         for setting frame dimensions in pixels.
6056
6057         * console.h (struct console_methods): add device-specific widget
6058         layout functions.
6059
6060         * emacs.c (main_1): initialize glyph vars.
6061
6062         * event-Xt.c (handle_focus_event_1): call handle_focus_event_2
6063         (handle_focus_event_2): new function. Allow focus to
6064         be set to a particular window and widget.
6065         (enqueue_focus_event): new function. Create a
6066         synthetic focus event.
6067         (emacs_Xt_handle_magic_event): call
6068         handle_focus_event_2.
6069
6070         * frame.c (Fset_frame_pixel_height): new function. Allow
6071         pixel-based sizing. Does the right thing on character-oriented
6072         displays.
6073         (Fset_frame_pixel_width): ditto.
6074         (Fset_frame_pixel_size): ditto.
6075         (syms_of_frame): declare.
6076
6077         * general-slots.h: add :vertically-justify and
6078         :horizontally-justify.
6079
6080         * glyphs-msw.c (xbm_create_bitmap_from_data): warning fix.
6081         (mswindows_widget_border_width): new function.
6082         (mswindows_combo_box_instantiate): set border widths.
6083         (console_type_create_glyphs_mswindows): declare.
6084
6085         * glyphs-widget.c:
6086         (check_valid_justification): allow vertical and horizontal
6087         justification.
6088         (widget_border_width): new function. Call device methods.
6089         (widget_instance_border_width): ditto.
6090         (logical_unit_height): new function. Determine the height of a
6091         logical-unit. Logical units are intended to provide grid-like
6092         layout for subcontrols in a layout. If the layout is
6093         :vertically-justify top then subcontrols will be positioned on
6094         logical-unit boundaries, thus allowing adjacent subcontrols to
6095         line up.
6096         (widget_logical_unit_height): ditto for widgets.
6097         (redisplay_widget): misc cleanup.
6098         (widget_spacing): new function. Call device specific
6099         methods. Intended to be the default gap between adjacent widgets.
6100         (widget_query_geometry): use new spacing functions to determine
6101         appropriate geometry.
6102         (initialize_widget_image_instance): initialize horizontal and
6103         vertical justification.
6104         (widget_instantiate): use logica-units where appropriate for
6105         sizing large widgets.
6106         (button_query_geometry): use widget_instance_border_width.
6107         (tree_view_query_geometry): ditto.
6108         (tab_control_query_geometry): ditto.
6109         (edit_field_query_geometry): new function.
6110         (layout_update): pick up :justify, :horizontally-justify and
6111         :vertically-justify none of which worked previously. :justify is
6112         used as a fallback for both horizontal and vertical justification.
6113         (layout_query_geometry): use logical units to size appropriately.
6114         (layout_layout): ditto.
6115         (Fwidget_logical_to_character_width): new function. Allow users to
6116         convert from logical units to characters so that frame sizes can
6117         be set appropriately.
6118         (Fwidget_logical_to_character_height): ditto.
6119         (syms_of_glyphs_widget): declare.
6120         (image_instantiator_edit_fields): add edit_field_query_geometry.
6121         (VALID_LAYOUT_KEYWORDS): declare :vertically-justify and
6122         :horizontally-justify.
6123         (specifier_vars_of_glyphs_widget): new function. Declare
6124         Vwidget_border_width which is not yet used.
6125
6126         * glyphs-x.c (x_map_subwindow): enqueue appropriate focus events.
6127         (x_widget_border_width): new function.
6128         (x_widget_instantiate): create a sensible name for widgets.
6129         (console_type_create_glyphs_x): declare x_widget_border_width.
6130
6131         * glyphs.h (DEFAULT_WIDGET_BORDER_WIDTH): new macro.
6132         (struct Lisp_Image_Instance): add :vertically-justify and
6133         :horizontally-justify.
6134         (LAYOUT_JUSTIFY_TOP): new.
6135         (IMAGE_INSTANCE_SUBWINDOW_H_JUSTIFY): new.
6136         (ROUND_UP): new macro. Round argument up to next integral
6137         interval.
6138
6139         * redisplay-output.c (redisplay_output_layout): misc formatting.
6140
6141         * symsinit.h: declare specifier_vars_of_glyphs_widget.
6142
6143 2002-08-23  Stephen J. Turnbull  <stephen@xemacs.org>
6144
6145         * XEmacs 21.4.9 "Informed Management" is released.
6146
6147 2002-08-19  Andy Piper  <andy@xemacs.org>
6148
6149         * fileio.c (Ffile_truename): on cygwin using win32 normalize to
6150         win32 format.
6151
6152         * realpath.c (xrealpath): normalize drive spec also so that dir
6153         sep chars are not mixed on cygwin.
6154
6155 2002-08-06  Jerry James  <james@xemacs.org>
6156
6157         * window.c (Fsplit_window): Count only half of the divider width
6158         against the left window when splitting horizontally. 
6159
6160 2002-06-24  Andy Piper  <andy@xemacs.org>
6161
6162         * toolbar-gtk.c (GTK_OUTPUT_BUTTONS_LOOP): output button if whole
6163         toolbar was cleared.
6164
6165         * toolbar-msw.c (mswindows_clear_frame_toolbars): new
6166         function. Split out from mswindows_output_frame_toolbars.
6167         (mswindows_output_frame_toolbars): move clear pieces to
6168         mswindows_output_frame_toolbars.
6169
6170         * toolbar-gtk.c (gtk_clear_frame_toolbars): new function. Split
6171         out from gtk_output_frame_toolbars.
6172         (gtk_output_frame_toolbars): move clear pieces to
6173         gtk_clear_frame_toolbars.
6174
6175         * toolbar-x.c (X_OUTPUT_BUTTONS_LOOP): always output buttons when
6176         the frame is cleared. How this ever worked before is a mystery.
6177         (x_output_frame_toolbars): Only output toolbars.
6178         (x_clear_frame_toolbars): new. Clear previous toolbar locations.
6179
6180         * gutter.c (update_gutter_geometry):
6181         Mark frame layout changed.
6182         (update_frame_gutter_geometry, update_frame_gutters):
6183         Respect frame_layout_changed.
6184
6185         * console.h (struct console_methods): add
6186         clear_frame_toolbars_method.
6187
6188         * redisplay.c (redisplay_frame): call
6189         update_frame_toolbars_geometry and re-order update_frame_toolbars.
6190
6191         * toolbar.h: declare update_frame_toolbars_geometry.
6192
6193         * toolbar.c (update_frame_toolbars_geometry): new function. Split
6194         out from update_frame_toolbars.  Call clear_frame_toolbars.
6195         (update_frame_toolbars): only output, do not change geometry.
6196
6197         * redisplay.c: add frame_layout_changed.
6198
6199         * redisplay.h: add frame_layout_changed.
6200         (CLASS_RESET_CHANGED_FLAGS): set it.
6201         (GLOBAL_RESET_CHANGED_FLAGS): ditto.
6202         (CLASS_REDISPLAY_FLAGS_CHANGEDP): test it.
6203         (GLOBAL_REDISPLAY_FLAGS_CHANGEDP): ditto.
6204
6205         * device.h (struct device): add frame_layout_changed.
6206         (MARK_DEVICE_FRAME_LAYOUT_CHANGED): new.
6207
6208         * frame.h (struct frame): add frame_layout_changed.
6209         (MARK_FRAME_LAYOUT_CHANGED): new.
6210
6211 2002-06-30  Mike Alexander  <mta@arbortext.com>
6212
6213         * event-msw.c (mswindows_need_event): Don't wait for a new message
6214         if the queue is not empty.  Suggested by Paul Moore.
6215
6216 2002-06-12  Andy Piper  <andy@xemacs.org>
6217
6218         * frame-msw.c (msprinter_init_frame_3): calculate the frame size
6219         for printing on accurately.
6220
6221 2002-06-09  Rick Rankin <rick_rankin@yahoo.com>
6222
6223         * event-msw.c (mswindows_wnd_proc): Add a handler for the
6224         WM_ACTIVATE message. Make sure that the frame is visible if the
6225         window is visible. This seemss to fix the problem where XEmacs
6226         appears to freeze after switching desktops with certain virtual
6227         window managers.
6228         (debug_output_mswin_message): Added code to output message
6229         parameters for WM_WINDOWPOSCHANGED, 
6230         WM_WINDOWPOSCHANGING, WM_MOVE, and WM_SIZE messages.
6231
6232 2002-05-25  Andy Piper  <andy@xemacs.org>
6233
6234         * select-x.c (vars_of_select_x): Fix docstring of
6235         x-selection-strict-motif-ownership
6236
6237 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
6238
6239         * keymap.c (get_keymap):
6240         Add comment about do_autoload GCPROs own args.
6241
6242 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
6243
6244         * bytecode.c (execute_optimized_program): check_opcode ifdef
6245         ERROR_CHECK_BYTE_CODE.
6246
6247 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
6248
6249         Thanks to Ben Wing and Michael Sperber.
6250
6251         * eval.c (Fcommand_execute):
6252         (Feval):
6253         (Ffuncall):
6254         (Fmacroexpand_internal):
6255         (function_argcount):
6256         callint.c (Fcall_interactively):
6257         Add comment about do_autoload GCPROs own args.
6258
6259         * (do_autoload): GCPRO both args as well as local Lisp_Object.
6260
6261         * eval.c (Ffuncall): Extra braces to placate GCC.
6262
6263 2002-08-10  Stephen J. Turnbull  <stephen@xemacs.org>
6264
6265         * backtrace.h (grow_specpdl):
6266         (SPECPDL_RESERVE):
6267         * EmacsFrame.c (EmacsFrameSetValues):
6268         * eval.c (grow_specpdl):
6269         * ExternalShell.c (hack_event_masks_1):
6270         * glyphs-x.c (convert_EImage_to_XImage): 
6271         (x_finalize_image_instance):
6272         * ralloc.c (page_size):
6273         (r_alloc_sbrk):
6274         * xgccache.c (gc_cache_hash):
6275         Fix unsigned comparison warnings.
6276
6277 2002-07-29  Jerry James  <james@xemacs.org>
6278
6279         * lread.c (locate_file): Any nonnegative return value indicates
6280         success if MODE is nonnegative.
6281
6282 2002-08-03  Brian A Palmer  <bpalmer@rescomp.Stanford.EDU>
6283
6284         * emacs.c (Fsplit_string_by_char): Make 2nd arg SEPCHAR a required
6285         argument. 
6286
6287 2002-07-17  Stephen J. Turnbull  <stephen@xemacs.org>
6288
6289         * process-unix.c (unix_send_process): #ifdef the coding_stream member.
6290
6291         * dumper.c (pdump_get_indirect_count):
6292         (pdump_scan_by_alignment):
6293         (pdump_dump_root_struct_ptrs):
6294         (pdump_dump_rtables):
6295         (pdump_dump_root_objects):
6296         (pdump):
6297         * nas.c (WaveOpenDataForReading):
6298         * fns.c (print_bit_vector):
6299         * font-lock.c (SINGLE_SYNTAX_STYLE):
6300         * glyphs.c (check_for_ignored_expose):
6301         (find_matching_subwindow):
6302         * glyphs-eimage.c:
6303         * imgproc.c (get_histogram):
6304         * redisplay.c (point_in_line_start_cache):
6305         * redisplay-output.c (redisplay_unmap_subwindows):
6306         * symbols.c (defsymbol_massage_name_1):
6307         (defkeyword_massage_name):
6308         (deferror_massage_name_and_message):
6309         * redisplay-x.c (x_output_string): 
6310         * emacs.c (run_temacs_argv_size, run_temacs_args_size):
6311         * frame.h (struct frame):
6312         * filelock.c (current_lock_owner):
6313         * doprnt.c (emacs_doprnt_1):
6314         * lisp.h (struct Lisp_Bit_Vector):
6315         (DO_REALLOC):
6316         Fix warnings.
6317
6318 2002-02-13  Ben Wing  <ben@xemacs.org>
6319
6320         * event-stream.c (reset_key_echo):
6321         * event-stream.c (reset_this_command_keys):
6322         * event-stream.c (execute_command_event):
6323         If console is dead as a result of C-x 5 0, then post-command stuff
6324         needs to be careful and do only non-console-specific stuff.
6325
6326 2002-07-01  Mike Sperber <mike@xemacs.org>
6327
6328         * process-unix.c (unix_send_process): Mark coding_outstream as
6329         non-open upon SIGPIPE.
6330
6331         * event-stream.c (Fnext_event): Reorder switch cases to something
6332         that makes sense.
6333
6334 2001-08-13  Dmitry Astapov  <adept@umc.com.ua>
6335
6336         * event-Xt.c (maybe_define_x_key_as_self_inserting_character):
6337         Don't bogusly reinitialize ascii_character property.
6338
6339 2002-07-08  Mike Sperber <mike@xemacs.org>
6340
6341         * process.c (Fstart_process_internal): Do error checking before we
6342         fork off the child, so the child can't muck with the state of the
6343         parent.
6344
6345 2002-07-08  Mike Sperber <mike@xemacs.org>
6346
6347         * ralloc.c (init_ralloc): Allocate properly for pdump.
6348
6349 2002-06-12  Andy Piper  <andy@xemacs.org>
6350
6351         * glyphs.c (query_string_geometry): check the string.
6352
6353         * glyphs-widget.c (widget_logical_unit_height): cope with nil
6354         widget names.
6355
6356 2002-06-17  Jerry James  <james@xemacs.org>
6357
6358         * sysdll.c: Remove RTLD_GLOBAL initialization.
6359         * sysdll.c (dll_open): Do not use RTLD_GLOBAL.
6360
6361 2002-06-25  Stephen J. Turnbull  <stephen@xemacs.org>
6362
6363         * search.c (skip_chars): Port Ben's crash fix and efficiency patch.
6364
6365 2002-05-16  Mathias Grimmberger  <mgri@zaphod.sax.de>
6366
6367         * sysdep.c (sys_rename): Make sys_rename work for the case where
6368         Windows rename sets errno to EACCES if target file exists.
6369
6370 2002-05-21  Jonathan Harris  <jonathan@xemacs.org>
6371
6372         * device-msw.c (mswindows_handle_page_setup_dialog_box):
6373         Fix detection of metric units to work on Win95
6374
6375 2002-05-21  Stephen J. Turnbull  <stephen@xemacs.org>
6376
6377         * syswindows.h: #define LOCALE_RETURN_NUMBER.  Why, I don't know.
6378
6379 2002-04-25  Andy Piper  <andy@xemacs.org>
6380
6381         * redisplay.c (create_text_block): Remove extra comment trailer.
6382
6383 2002-04-24  Andy Piper  <andy@xemacs.org>
6384
6385         * redisplay.c (create_text_block): Don't actually add propagation
6386         data if the line ends after we have added a glyph.
6387
6388 2002-04-22  Andy Piper  <andy@xemacs.org>
6389
6390         * extents.c (extent_fragment_update): check for glyphs we have
6391         previously displayed.
6392         * extents.c (print_extent_1): warning removal.
6393         * extents.h: change prototype.
6394         * redisplay-output.c (redisplay_normalize_glyph_area): calculate
6395         widths correctly for wide glyphs.
6396         * redisplay.c (position_redisplay_data_type): add end_glyph_width.
6397         * redisplay.c (prop_type): add PROP_GLYPH.
6398         * redisplay.c (struct prop_block): add glyph type
6399         * redisplay.c (add_glyph_rune): when adding part of a glyph add it
6400         to the propagation data.
6401         * redisplay.c (create_text_block): if there is a glyph in the
6402         propagation data use it to salt extent_fragment_update.
6403         * redisplay.c (create_string_text_block): ditto.
6404
6405 2002-04-13  Nix  <nix@esperi.demon.co.uk>
6406
6407         * redisplay.h (struct rune): Add ascent, descent, and yoffset fields.
6408         * redisplay-output.c (compare_runes): Compare them.
6409         * redisplay.c: Update copyright date.
6410         * redisplay.c (pos_data): Add need_baseline_computation field.
6411         * redisplay.c (add_glyph_rune): Update ascent, descent, and
6412         need_baseline_computation; zero yoffset. Set max_pixmap_height
6413         for all pixmaps, not just automatically positioned ones.
6414         * redisplay.c (calculate_yoffset): New, compute yoffset values.
6415         * redisplay.c (calculate_baseline): New, compute textual baseline.
6416         * redisplay.c (add_glyph_rune): Call them.
6417         * redisplay.c (create_text_block): Likewise.
6418         * redisplay.c (create_overlay_glyph_block): Likewise.
6419         * redisplay.c (add_margin_runes): Likewise.
6420         * redisplay.c (create_string_text_block): Likewise. Fix tabdamage.
6421
6422         * redisplay.h: (redisplay_calculate_display_boxes): Change prototype.
6423         * redisplay-output.c (redisplay_calculate_display_boxes): Use yoffset.
6424         * redisplay-msw.c (mswindows_output_blank): Pass 0 as yoffset.
6425         * redisplay-msw.c (mswindows_output_string): Likewise.
6426         * redisplay-msw.c (mswindows_output_display_block): Pass yoffset.
6427         * redisplay-gtk.c (gtk_output_display_block): Likewise.
6428         * redisplay-x.c (x_output_display_block): Likewise.
6429
6430 2002-03-28  Ben Wing  <ben@xemacs.org>
6431
6432         * redisplay.c: Fixed bug in redisplay
6433         w.r.t. hscroll/truncation/continuation glyphs causing jumping up
6434         and down of the lines, since they're bigger than the line
6435         size. (It was seen most obviously when there's a horizontal scroll
6436         bar, e.g. do C-h a glyph or something like that.) The problem was
6437         that the glyph-contrib-p setting on glyphs was ignored even if it
6438         was set properly, which it wasn't until now.
6439
6440 2002-04-24  Andy Piper  <andy@xemacs.org>
6441
6442         * lisp.h (Dynarr_end): Fix definition.
6443
6444 2002-02-06  Adrian Aichner  <adrian@xemacs.org>
6445
6446         * redisplay.c (mark_redisplay): Remove call to
6447         update_frame_window_mirror.
6448
6449 2001-11-15  Andy Piper  <andy@xemacs.org>
6450
6451         * win32.c (Fmswindows_shell_execute): fix handling of URL's under
6452         cygwin (again).
6453
6454 2002-02-13  Andy Piper  <andy@xemacs.org>
6455
6456         * event-msw.c (mswindows_wnd_proc): only mark the frame visible if
6457         we did in fact enqueue the XM_MAPFRAME event.
6458
6459 2002-01-15  Adrian Aichner  <adrian@xemacs.org>
6460
6461         * event-msw.c (mswindows_wnd_proc): Add handling of WM_SHOWWINDOW
6462         to fix problem switching between virtual desktops under virtuawin
6463         virtual window manager.
6464
6465 2001-07-30  Adrian Aichner  <adrian@xemacs.org>
6466
6467         * event-msw.c: Typo fix.
6468         * event-msw.c (mswindows_wnd_proc): Set FRAME_VISIBLE_P after
6469         magic XM_MAPFRAME event has been sent.
6470
6471 2001-11-23  Andy Piper  <andy@xemacs.org>
6472
6473         * event-msw.c (mswindows_wnd_proc): Don't pump mousewheel events.
6474
6475 2001-11-21  Andy Piper  <andy@xemacs.org>
6476
6477         * scrollbar-msw.c (mswindows_handle_mousewheel_event): cope with
6478         mouse events outside the frame.
6479
6480 2002-03-20  Andy Piper  <andy@xemacs.org>
6481
6482         * menubar-msw.c (mswindows_popup_menu): warning removal.
6483         * dialog-msw.c (dialog_popped_down): ditto.
6484
6485 2001-12-11  Andy Piper  <andy@xemacs.org>
6486
6487         * dialog-msw.c (dialog_popped_down): new function. unset popup_up_p.
6488         * dialog-msw.c (mswindows_make_dialog_box_internal): set
6489         popup_up_p.
6490         * menubar-msw.c (unsafe_handle_wm_initmenupopup_1): ditto.
6491         * menubar-msw.c (mswindows_handle_wm_command): ditto.
6492         * menubar-msw.c (mswindows_popup_menu): ditto.
6493
6494 2001-10-29  Andy Piper  <andy@xemacs.org>
6495
6496         * dialog-msw.c (handle_directory_dialog_box): quit if the user
6497         cancels.
6498
6499 2002-01-03  Andy Piper  <andy@xemacs.org>
6500
6501         * realpath.c (ABS_LENGTH): dtrt for cygwin systems using drive
6502         letters.
6503         (xrealpath): ditto.
6504
6505 2002-03-29  Jonathan Harris  <jonathan@xemacs.org>
6506
6507         * device-msw.c (plist_get_margin): Add arg specifying mm or inches
6508         * device-msw.c (plist_set_margin): Fix multiplicand used for mm
6509         * device-msw.c (mswindows_handle_page_setup_dialog_box):
6510         Detect and handle case where machine is set up for metric units
6511
6512 2002-04-02  Andy Piper  <andy@xemacs.org>
6513
6514         * dired-msw.c (mswindows_get_files): 
6515         * nt.c (mswindows_stat): SetErrorMode() so that file errors are
6516         completely handled by XEmacs. Suggested by Thomas Vogler
6517         <mail@thomas-vogler.de>.
6518
6519 2001-11-14  Andy Piper  <andy@xemacs.org>
6520
6521         * nt.c (REG_ROOT): change registry key to XEmacs.
6522
6523 2002-04-27  Andy Piper  <andy@xemacs.org>
6524
6525         * glyphs-msw.c (mswindows_widget_instantiate): remove dead-code.
6526
6527 2002-04-26  Andy Piper  <andy@xemacs.org>
6528
6529         * glyphs-msw.c (mswindows_map_subwindow): observe :initial-focus
6530         behavior.
6531
6532 2002-03-14  Mike Alexander  <mta@arbortext.com>
6533
6534         * event-msw.c (mswindows_unwait_process): New, remove process from
6535         wait list
6536         * process-nt.c (nt_finalize_process_data): Call
6537         mswindows_unwait_process
6538         * console-msw.h: Declare mswindows_unwait_process
6539
6540 2002-05-14  Stephen J. Turnbull  <stephen@xemacs.org>
6541
6542         * editfns.c (Fdecode_time):
6543         (Fformat_time_string):
6544         Check for invalid time.  Thanks to Nick Pakoulin <npak@ispras.ru>.
6545         (make_time): Warning elimination (change arg name).
6546
6547 2001-11-24  Andy Piper  <andy@xemacs.org>
6548
6549         * window.c (Fsplit_window): Doc return type.
6550
6551 2002-04-01  Andy Piper  <andy@xemacs.org>
6552
6553         * emacs.c (Fkill_emacs): Only output message box in interactive
6554         mode.
6555
6556 2002-04-26  Andy Piper  <andy@xemacs.org>
6557  
6558         * config.h.in: pull in 21.5.x change to stop alloca warnings under
6559         cygwin.
6560
6561 2002-03-18  Gregory Steuck  <greg-xemacs-patch@nest.cx>
6562
6563         * unexelf.c:  Use ELFSIZE or define from _LP64 to indicate a 64
6564         bit platform.
6565
6566 2002-05-09  Stephen J. Turnbull  <stephen@xemacs.org>
6567
6568         * XEmacs 21.4.8 "Honest Recruiter" is released.
6569
6570 2002-05-07  Nix  <nix@esperi.demon.co.uk>
6571
6572         Supersedes 2002-04-17 patch.
6573
6574         * process.h (PROCESS_LIVE_P): Use the process status as
6575         evidence of health, not the state of the input stream.
6576         (PROCESS_READABLE_P): Say if the process is readable
6577         from. (It may be dead nonetheless.)
6578         (CHECK_READABLE_PROCESS): Test for that condition.
6579
6580         * process.c (create_process): Use PROCESS_READABLE_P.
6581         (read_process_output, set_process_filter): Likewise.
6582
6583         * process.c (Fprocess_input_coding_system): Use CHECK_READABLE_PROCESS.
6584         (Fset_process_input_coding_system, Fprocess_coding_system): Likewise.
6585
6586         This code is #if 0'd, this is not the time to add new functions:
6587
6588         * process.c (Fprocess_readable_p): Report readability status.
6589         * process.c (Qprocess_readable_p): New, associated symbol...
6590         * process.c (syms_of_process): ... initialize it.
6591
6592 2002-05-04  Stephen J. Turnbull  <stephen@xemacs.org>
6593
6594         * XEmacs 21.4.7 "Economic Science" is released.
6595
6596 2002-04-17  Nix  <nix@esperi.demon.co.uk>
6597
6598         * process.h (PROCESS_LIVE_P): Use the process status as
6599         evidence of health, not the state of the input stream.
6600
6601 2002-04-30  Charles G. Waldman <cgw@xemacs.org>
6602
6603         * sysdep.c (sys_siglist): change "signum" to "signal"
6604
6605 2001-04-21  Martin Buchholz  <martin@xemacs.org>
6606
6607         * s/darwin.h: New file.
6608         Thanks to Greg Parker <gparker@cs.stanford.edu>.
6609         
6610 2002-04-23  Andreas Jaeger  <aj@suse.de>
6611
6612         * s/linux.h (LIB_STANDARD): Define correctly for x86-64 and s390x
6613         which use lib64 for 64-bit libs.
6614         (START_FILES): Likewise.
6615
6616 2002-02-11  Mike Sperber  <mike@xemacs.org>
6617
6618         * device-x.c: 
6619         (x_IO_error_handler):
6620         (x_init_device): Temporarily keep device in static variable
6621         `device_being_initialized' so we can recover gracefully from
6622         internal XOpenDevice failure.  (XOpenDevice is documented to
6623         return NULL on failure, but sometimes calls the IO error handler
6624         instead.)
6625
6626 2002-01-31  John H. Palmieri  <palmieri@math.washington.edu>
6627
6628         * dired.c (Ffile_name_all_completions): Change documentation --
6629         remove reference to completion-ignored-extensions.
6630         * dired.c (vars_of_dired): Change documentation for
6631         completion-ignored-extensions -- remove reference to
6632         file-name-all-completions.
6633
6634 2002-03-06  Jerry James  <james@xemacs.org>
6635
6636         * emodules.c (emodules_load): Fix multiple loading of same module.
6637
6638 2002-01-25  Andrew Begel <abegel@cs.berkeley.edu>
6639         * sysdll.c (dll_open): Changed to use RTLD_NOW instead of
6640         RTLD_LAZY to avoid incorrect symbol binding when using nested
6641         shared libraries on Solaris.
6642
6643 2002-02-12  Stephen J. Turnbull  <stephen@xemacs.org>
6644
6645         * fileio.c (Ffind_file_name_handler): Improve docstring.
6646
6647 2002-01-20  Stephen J. Turnbull  <stephen@xemacs.org>
6648
6649         * fns.c (Fmapconcat): Improve docstring.
6650
6651 2002-01-03  Eric Gillespie, Jr.  <epg@pretzelnet.org>
6652
6653         * device-gtk.c: Add prototype for
6654         emacs_gtk_selection_clear_event_handle.
6655         (gtk_init_device): Call gtk_selection_add_target for CLIPBOARD
6656         selection.  Setup signal handler for "selection_clear_event"
6657         (emacs_gtk_selection_clear_event_handle).
6658
6659         * select-gtk.c (emacs_gtk_selection_clear_event_handle): Handle
6660         other applications owning the clipboard (based on
6661         x_handle_selection_clear).
6662
6663 2001-12-23  William M. Perry  <wmperry@gnu.org>
6664
6665         * menubar-gtk.c (gtk_popup_menu)  Add sanity checks, fix crash.
6666         
6667 2002-01-04  Martin Buchholz  <martin@xemacs.org>
6668
6669         * keymap.c (define_key_alternate_name): Parenthesize EQ.
6670
6671 2001-12-17  Stephen J. Turnbull  <stephen@xemacs.org>
6672
6673         * XEmacs 21.4.6 "Common Lisp" is released.
6674
6675 2001-12-16  Torsten Duwe  <duwe@caldera.de>
6676
6677         * search.c (Freplace_match): Add missing sub-expression functionality.
6678
6679         * buffer.c (decode_buffer): Add a check for pointer type to
6680         decode_buffer, before gcc's CSE optimization reorders a
6681         dereference in front of the allow_string test.
6682
6683 2001-11-16  Darryl Okahata  <darrylo@xemacs.org>
6684
6685         * window.c (window_loop): Fix bug that sometimes prevented
6686         window_loop() from iterating across multiple devices.  Also, at
6687         Ben's request, changed infloop-detecting code to abort() instead
6688         of silently terminating window_loop().
6689
6690 2001-11-21  Stephen J. Turnbull  <stephen@xemacs.org>
6691
6692         Based on analysis and patch by Simon Josefson <jas@extundo.com>.
6693         * editfns.c (make_time): New function.
6694         (Fencode_time): Use it instead of wasteful_word_to_lisp.
6695         * lisp.h (make_time): Prototype and comment it.
6696         * dired.c (wasteful_word_to_lisp): Deprecate.
6697         (Ffile_attributes): Use make_time() instead of wasteful_word_to_lisp().
6698
6699 2001-10-31  Kyle Jones  <kyle_jones@wonderworks.com>
6700
6701         * fileio.c (auto_save_1): Use current coding system, not
6702         escape-quoted.
6703
6704 2001-11-13  Ben Wing  <ben@xemacs.org>
6705
6706         * window.c:
6707         * window.c (window_truncation_on):
6708         * window.c (syms_of_window):
6709         truncate-partial-width-windows should respect the buffer being
6710         displayed, like other redisplay vars.
6711
6712 2001-11-13  Hirokazu FUKUI  <hfukui@sannet.ne.jp>
6713
6714         * event-stream.c (Fread_key_sequence): save current buffer.
6715
6716 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
6717
6718         * ntheap.c (_heap_init): Don't redefine in VS.NET (MSC >= 1300).
6719
6720 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
6721
6722         * alloc.c (lcrecord_stats): Add space for types defined in modules.
6723
6724 2001-10-26  Mike Alexander  <mta@arbortext.com>
6725
6726         * event-msw.c (slurper_free_shared_data_maybe): Free the pipe handle.
6727
6728 2001-10-25  Andy Piper  <andy@xemacs.org>
6729
6730         * ChangeLog:
6731         * dialog-msw.c (handle_directory_proc): new function.
6732          (handle_directory_dialog_box): new fucntion.
6733          (handle_file_dialog_box): use new directory dialog support.
6734          (mswindows_make_dialog_box_internal): ditto.
6735         * event-msw.c (mswindows_wnd_proc): minor fix to scrollbar event
6736         handling.
6737         (mswindows_find_frame): make global.
6738         * fileio.c (Fexpand_file_name): build fix.
6739         * general-slots.h: add Qdirectory.
6740         * scrollbar-msw.c (mswindows_handle_scrollbar_event): fix focus
6741         handling.
6742         * syswindows.h (LOCAL_TO_WIN32_FILE_FORMAT): fix problem with
6743         cygwin not leaving win32 paths unchanged.
6744         * win32.c (Fmswindows_cygwin_to_win32_path): new function. Use the
6745         cygwin runtime to do path conversion.
6746         (Fmswindows_shell_execute): fix cygwin handling of URLs.
6747         (syms_of_win32): add new function.
6748         * window.c (window_loop): build fix.
6749
6750 2001-10-15  Andy Piper  <andy@xemacs.org>
6751
6752         (Fmswindows_shell_execute): fix handling of URL's under cygwin.
6753
6754 2001-10-23  Stephen J. Turnbull  <stephen@xemacs.org>
6755
6756         * XEmacs 21.4.5 "Civil Service" is released.
6757
6758 2001-04-08  Danny Colascione  <qtmstr@optonline.net>
6759
6760         * glyphs-x.c: Force buffer-tab highlight update when moving the
6761         buffer, avoiding an ugly black border, used for keyboard focus
6762         indication, on a widget that can never have keyboard focus, the
6763         buffer tab.
6764
6765 2001-08-30  Daiki Ueno  <ueno@unixuser.org>
6766
6767         * process-unix.c (unix_open_multicast_group): Remove too much
6768         conversion between host and network byte order.
6769
6770 2001-09-10  Nix  <nix@esperi.demon.co.uk>
6771
6772         * src/buffer.c (kill_buffer): Undedicate windows showing BUF
6773         before replacing them.
6774
6775         * src/window.c (window_loop): Implement new UNDEDICATE_BUFFER
6776         operation.
6777
6778         * src/window.c (undedicate_windows): Use it.
6779         * src/window.h: Add prototype.
6780
6781 2001-09-17  Ben Wing  <ben@xemacs.org>
6782
6783         * fileio.c (normalize_filename):
6784         * fileio.c (Fexpand_file_name):
6785         Fix various C++ compile errors in Andy's recent code.
6786         
6787         * callint.c (Fcall_interactively):
6788         * editfns.c (Ftemp_directory):
6789         * editfns.c (Fuser_full_name):
6790         * emacs.c (argmatch):
6791         * lread.c (locate_file_map_suffixes):
6792         * redisplay-x.c (x_ring_bell):
6793         Fix sign-compare warnings.
6794         
6795 2001-09-08  Andy Piper  <andy@xemacs.org>
6796
6797         * fileio.c (normalize_filename): copied from nt.c
6798         * (Ffile_name_directory): enable win32 paths under cygwin.
6799         * (Ffile_name_nondirectory): ditto.
6800         * (directory_file_name): ditto.
6801         * (Fexpand_file_name): ditto.
6802         * (Ffile_truename): ditto.
6803         * (Fsubstitute_in_file_name): ditto.
6804         * (Ffile_name_absolute_p): ditto.
6805         * (Ffile_readable_p): ditto.
6806
6807 2001-09-08  Andy Piper  <andy@xemacs.org>
6808
6809         * device-msw.c (mswindows_finish_init_device): remove dde
6810         initialization.
6811         * device-msw.c (mswindows_init_dde): factor out from
6812         mswindows_finish_init_device()
6813         * device-msw.c (init_mswindows_very_early): new function
6814         initialize but don't enable dde.
6815         * emacs.c (main_1): call init_mswindows_very_early.
6816         * event-msw.c:
6817         * event-msw.c (mswindows_dde_callback): only execute when we are
6818         ready.
6819         * symsinit.h: declare init_mswindows_very_early.
6820
6821 2001-05-02  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
6822
6823         [sjt: This has been in 21.5 for months with no complaints.]
6824
6825         * console.h (struct console_methods): Added flags member.
6826         (CONSOLE_IMPLEMENTATION_FLAGS): Defined.
6827         (CONMETH_IMPL_FLAG):
6828         (CONSOLE_IMPL_FLAG): Macro to check implememntation flags.
6829         Defined XDEVIMPF_DONT_PREEMPT_REDISPLAY.
6830
6831         * device.c (window_system_pixelated_geometry): Use the above macros.
6832
6833         * device.h (DEVICE_IMPL_FLAG): Macro to check a device
6834         implememntation flag.
6835         * device.h (DEVICE_DISPLAY_P): Use it.
6836
6837         * frame.c (delete_frame_internal): Use the above macro.
6838
6839         * redisplay.c (redisplay_device): Use it.
6840         (redisplay_device): Obey XDEVIMPF_DONT_PREEMPT_REDISPLAY.
6841         (redisplay_frame): Ditto.
6842
6843         * device-msw.c (mswindows_device_implementation_flags): Removed.
6844         (msprinter_device_implementation_flags): Removed.
6845         (console_type_create_device_mswindows): Removed references to
6846         implementation_flags methods, set implementation flags here.
6847         (console_type_create_device_mswindows): Added XDEVIMPF_DONT_PREEMPT.
6848
6849         * device-gtk.c (gtk_device_implementation_flags): Removed method.
6850         (console_type_create_device_gtk): Removed method declaration.
6851         Added commented out statement which semantically matches the
6852         commented out statement in the above removed method.
6853
6854 2001-04-14  Gordon Sadler  <gbsadler1@lcisp.com>
6855
6856         The attached patch fixes a few warnings. 
6857
6858         * src/emacs.c: prototype console_type_create_select_gtk for GTK only
6859         * src/frame-gtk.c: guard against GNOME calls in GTK only
6860         * src/redisplay-gtk.c: include <sys/poll.h> #ifdef HAVE_POLL
6861         * src/select-gtk.c: prototype lisp_to_time
6862
6863 2001-06-08  Ben Wing  <ben@xemacs.org>
6864
6865         ------ gc-in-window-procedure fixes ------
6866         
6867         * alloc.c:
6868         * alloc.c (struct post_gc_action):
6869         * alloc.c (register_post_gc_action):
6870         * alloc.c (run_post_gc_actions):
6871         * alloc.c (garbage_collect_1):
6872         Create "post-gc actions", to avoid those dreaded "GC during window
6873         procedure" problems.
6874
6875         * event-msw.c:
6876         Abort, clean and simple, when GC in window procedure.  We want
6877         to flush these puppies out.
6878
6879         * glyphs-msw.c:
6880         * glyphs-msw.c (finalize_destroy_window):
6881         * glyphs-msw.c (mswindows_finalize_image_instance):
6882         Use a post-gc action when destroying subwindows.
6883
6884         * lisp.h:
6885         Declare register_post_gc_action().
6886
6887         * scrollbar-msw.c:
6888         * scrollbar-msw.c (unshow_that_mofo):
6889         Use a post-gc action when unshowing scrollbar windows, if in gc.
6890
6891         * redisplay.c (mark_redisplay):
6892         Add comment about the utter evilness of what's going down here.
6893
6894         ------ cygwin setitimer fixes ------
6895         
6896         * Makefile.in.in (sheap_objs):
6897         * Makefile.in.in (profile_objs):
6898         * Makefile.in.in (objs):
6899         Compile profile.c only when HAVE_SETITIMER.
6900         
6901         * nt.c (mswindows_sigset):
6902         * nt.c (mswindows_sighold):
6903         * nt.c (mswindows_sigrelse):
6904         * nt.c (mswindows_sigpause):
6905         * nt.c (mswindows_raise):
6906         * nt.c (close_file_data):
6907         Style fixes.
6908         
6909         * nt.c:
6910         Move setitimer() emulation to win32.c, because Cygwin needs it too.
6911         
6912         * profile.c:
6913         * profile.c (Fstart_profiling):
6914         * profile.c (Fstop_profiling):
6915         Make sure we don't compile if no setitimer().  Use qxe_setitimer()
6916         instead of just plain setitimer().
6917         
6918         * signal.c:
6919         * signal.c (set_one_shot_timer):
6920         * signal.c (alarm):
6921         Define qxe_setitimer() as an encapsulation around setitimer() --
6922         call setitimer() directly unless Cygwin or MS Win, in which case
6923         we use our simulated version in win32.c.
6924         
6925         * systime.h:
6926         * systime.h (struct itimerval):
6927         * systime.h (ITIMER_REAL):
6928         Prototype mswindows_setitimer() and qxe_setitimer().  Long
6929         comment about "qxe" and the policy regarding encapsulation.
6930
6931         * win32.c:
6932         * win32.c (setitimer_helper_proc):
6933         * win32.c (setitimer_helper_period):
6934         * win32.c (setitimer_helper):
6935         * win32.c (mswindows_setitimer):
6936         Move setitimer() emulation here, so Cygwin can use it.
6937         Rename a couple of functions and variables to be longer and more
6938         descriptive.  In setitimer_helper_proc(), send the signal
6939         using either mswindows_raise() or (on Cygwin) kill().  If for
6940         some reason we are still getting lockups, we'll change the kill()
6941         to directly invoke the signal handlers.
6942
6943         ------ windows shell fixes ------
6944         
6945         * callproc.c:
6946         * ntproc.c:
6947         Comments about how these two files must die.
6948
6949         * callproc.c (init_callproc):
6950         On MS Windows, init shell-file-name from SHELL, then COMSPEC,
6951         not just COMSPEC. (more correct and closer to FSF.) Don't
6952         force a value for SHELL into the environment. (Comments added
6953         to explain why not.)
6954         
6955         * nt.c (init_user_info):
6956         Don't shove a fabricated SHELL into the environment.  See above.
6957
6958 2001-06-01  Ben Wing  <ben@xemacs.org>
6959
6960         * Makefile.in.in (ldflags):
6961         eliminate that pesky "defaulting to 00401000" warning.
6962         * nt.h:
6963         eliminate warnings.
6964
6965 2001-06-15  Golubev I. N.  <gin@mo.msk.ru>
6966
6967         * s/sco5.h (FORCE_ALLOCATE_PTY_THE_OLD_FASHIONED_WAY): #define.
6968         * process-unix.c (allocate_pty): #ifndef "modern" pty allocation.
6969
6970 2001-04-24  Jerry James <james@xemacs.org>
6971
6972         * faces.h: pass parameters to Fadd_spec_to_specifier in the
6973         correct order.
6974
6975 2001-06-01  Ben Wing  <ben@xemacs.org>
6976
6977         * event-msw.c (debug_mswin_messages):
6978         conditionalize the messages that were causing compile errors.
6979         (if only macros could generate #ifdef statements ...)
6980
6981 2001-07-28  Stephen J. Turnbull  <stephen@xemacs.org>
6982
6983         * XEmacs 21.4.4 "Artificial Intelligence" is released.
6984
6985 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
6986
6987         * event-msw.c (mswindows_wnd_proc): Add GC debugging assert.
6988
6989 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
6990
6991         * config.h.in (IPV6_CANONICALIZE): New #define for --with-ipv6-lookup.
6992         * process-unix.c (unix_canonicalize_host_name):
6993         sysdep.c (init_system_name):
6994         Use it to conditionally support IPv6 canonicalization.
6995
6996 2001-05-31  Paul Stodghill  <stodghil@cs.cornell.edu>
6997
6998         * event-msw.c:
6999         Cygwin does not define WM_IME_xxx. Modify the #if's accordingly.
7000
7001 2001-05-19  Paul Krause  <paulkrause1@mediaone.net>
7002
7003         * scrollbar-msw.c: Fixes a crash that occurs on Windows when an
7004         attempt is made to scroll when no scroll bar is available.
7005
7006 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
7007
7008         * input-method-motif.c (XIM_delete_frame): New callback.
7009         (XIM_init_frame): Register it.  (Reapplied by SJT, it somehow
7010         got deleted from 21.4.3.)
7011
7012 2001-06-01  Ben Wing  <ben@xemacs.org>
7013
7014         * nt.c (mswindows_utime):
7015         * nt.c (close_file_data):
7016         fix off-by-one-indirection error.
7017
7018 2001-05-29  Adrian Aichner  <adrian@xemacs.org>
7019
7020         * fileio.c: Include nt.h.  Remove lisp_string_set_file_times()
7021         because set_file_times() now takes Lisp_Object path, instead of
7022         char*.
7023         * nt.c: Include buffer.h.
7024         * nt.c (convert_from_time_t): New.
7025         * nt.c (mswindows_utime): New.  Use utime, since SetFileTime does
7026         not set mtime correctly.
7027         * nt.h: Declare mswindows_utime().
7028         * sysdep.c (set_file_times): set_file_times() now takes Lisp_Object
7029         path, instead of char*.
7030         * systime.h: Include <sys/utime.h> on WIN32_NATIVE.
7031
7032 2001-05-30  Ben Wing  <ben@xemacs.org>
7033
7034         For 21.4:
7035
7036         (Stephen, just take all event-msw.c patches.  This includes
7037         the "iconify" fix below.)
7038
7039         * event-msw.c:
7040         * event-msw.c (mswindows_dequeue_dispatch_event):
7041         * event-msw.c (assert):
7042         * event-msw.c (emacs_mswindows_quit_p):
7043         * event-msw.c (debug_mswin_messages):
7044         * event-msw.c (debug_output_mswin_message):
7045         * event-msw.c (vars_of_event_mswindows):
7046         Fix yet more problems with C-g handling.
7047         Implement debug-mswindows-events.
7048         
7049 2001-05-24  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7050
7051         * event-msw.c (WM_DROPFILES): Use correct type for OLE characters.
7052         
7053 2001-05-23  Ben Wing  <ben@xemacs.org>
7054
7055         * event-msw.c (winsock_writer):
7056         * event-msw.c (winsock_closer):
7057         prior kludgy code was clobbering the buffer, thinking it was
7058         "unused" space to store an unneeded return value; instead, use
7059         the variable we've already got staring us in the face.
7060
7061 2001-05-17  Andy Piper  <andy@xemacs.org>
7062
7063         * sysfile.h: don't assume that file attributes are boolean
7064
7065 2001-05-23  Ben Wing  <ben@xemacs.org>
7066
7067         * device-msw.c (msprinter_init_device):
7068         signal an error rather than crash with an unavailable network
7069         printer (from Mike Alexander).
7070         
7071         * event-msw.c:
7072         * event-msw.c (struct winsock_stream):
7073         * event-msw.c (winsock_writer):
7074         * event-msw.c (winsock_closer):
7075         * event-msw.c (make_winsock_stream_1):
7076         cleanup headers.  fix (hopefully) an error with data corruption
7077         when sending to a network connection.
7078
7079         * fileio.c (Fexpand_file_name): Fix evil code that attempts
7080         to handle the ~user prefix by (a) always assuming we're referencing
7081         ourselves and not even verifying the user -- hence any file with
7082         a tilde as its first char is invalid! (b) if there wasn't a slash
7083         following the filename, the pointer was set *past* the end of
7084         file and we started reading from uninitialized memory.  Now we
7085         simply treat these as files, always.
7086
7087         * buffer.c (common_init_complex_vars_of_buffer): comment change.
7088         
7089 2001-05-19  Ben Wing  <ben@xemacs.org>
7090
7091         * eval.c: doc comment about gcpro'ing in record_unwind_protect.
7092
7093         * process-nt.c:
7094         * process-nt.c (vars_of_process_nt):
7095         remove unused mswindows-quote-process-args.  rec for 21.4.
7096         
7097 2001-05-12  Ben Wing  <ben@xemacs.org>
7098
7099         * event-msw.c (mswindows_dde_callback):
7100         * event-msw.c (mswindows_wnd_proc):
7101         eliminate cygwin warnings.
7102
7103 2001-05-06  Ben Wing  <ben@xemacs.org>
7104
7105         * console-msw.h:
7106         * device-msw.c:
7107         * device-msw.c (print_dialog_worker):
7108         * device-msw.c (mswindows_handle_print_dialog_box):
7109         * device-msw.c (syms_of_device_mswindows):
7110         * dialog-msw.c (mswindows_make_dialog_box_internal):
7111         * general-slots.h:
7112         implement printing the selection when it's selected.
7113
7114 2001-05-20  Drazen Kacar  <dave@arsdigita.com>
7115
7116         * glyphs-gtk.c (gtk_resource_instantiate): C++ comment -> #if 0
7117
7118 2001-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
7119
7120         * lisp.h (EMACS_INT_MAX): This should be one bit less since
7121         EMACS_INT is signed.
7122
7123 2001-04-15  Michael Lausch  <mla@1012surf.net>
7124
7125         * scrollbar-gtk.c (gtk_create_scrollbar_instance): Call
7126         gtk_widget_request_size() to give scrollbar >0 width for
7127         GTK >1.2.8.
7128
7129 2001-05-30  William M. Perry  <wmperry@gnu.org>
7130
7131         * event-gtk.c: Check for buttons as modifier keys.
7132
7133 2001-05-25  Craig Lanning  <CraigL@Knology.net>
7134
7135         * s\mingw32.h:
7136         Properly find MinGW's <process.h> inside Cygwin's restructured
7137         include directories.  Don't try to include <cygwin/version.h>
7138         since we are dropping support for MinGW in versions of Cygwin
7139         earlier than b21.
7140         * nt.c:
7141         Drop support for MinGW in versions of Cygwin before b21.
7142         * sysdep.c:
7143         Properly find MinGW's <process.h> inside Cygwin's restructured
7144         include directories.
7145         * syswindows.h:
7146         Drop support for MinGW in versions of Cygwin before b21.
7147         * unexcw.c:
7148         Even though a.out.h is no longer detected by configure, allow
7149         MinGW to use it until we figure out how to do the job with Win32.
7150
7151 2001-07-11  Matt Tucker  <tuck@whistlingfish.net>
7152
7153         * syntax.c (find_start_of_comment):
7154         Fix `unbalanced parentheses' bug when dealing with mixed comment
7155         styles in c++/java/etc. mode
7156
7157 2001-05-29  Mike Alexander  <mta@arbortext.com>
7158
7159         * console-msw.h (FRAME_MSPRINTER_CHARHEIGHT): Unswap
7160         FRAME_MSPRINTER_CHARWIDTH and FRAME_MSPRINTER_CHARHEIGHT
7161
7162 2001-05-17  Andrew Begel  <abegel@eecs.berkeley.edu>
7163
7164         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Add needed cast.
7165
7166 2001-03-31  Mike Sperber <mike@xemacs.org>
7167
7168         * search.c (Freplace_match): Support FSF-style specification of
7169         match subexpression when applied to a buffer.
7170
7171 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
7172
7173         * event-stream.c (is_scrollbar_event): add missing semicolon
7174
7175 2001-05-22  Isaac Hollander  <ysh@mindspring.com>
7176
7177         * Makefile.in.in: Use TAR macro instead of hardcoding
7178           tar.  Allows use of GNU tar instead of system tar
7179
7180 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
7181
7182         * event-stream.c (is_scrollbar_event): add missing semicolon
7183
7184 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
7185
7186         * XEmacs 21.4.3 "Academic Rigor" is released.
7187
7188 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
7189
7190         * regex.c: Define DECLARE_NOTHING when "lisp.h" is not included.
7191
7192 2001-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
7193
7194         * buffer.c (Vcase_fold_search): Remove obsolete
7195           comment about non ASCII case-fold-search.  This
7196           bug has been fixed by case-table changes.
7197
7198 2001-05-11  Stephen J. Turnbull  <stephen@xemacs.org>
7199
7200         * event-msw.c: Restore include of events-mod.h.
7201
7202 2001-04-22   zhaoway  <zw@debian.org>
7203
7204         * event-stream.c (is_scrollbar_event): Noop returning 0 if
7205         !HAVE_SCROLLBARS.
7206
7207 2001-05-10  Stephen J. Turnbull  <stephen@xemacs.org>
7208
7209         * XEmacs 21.4.2 "Developer-Friendly Unix APIs" is released.
7210
7211 2001-05-08  Yoshiaki Kasahara  <kasahara@nc.kyushu-u.ac.jp>
7212
7213         * mule-charset.c (Fmake_charset): Add missing else.
7214
7215 2001-04-23  Ben Wing  <ben@xemacs.org>
7216
7217         * event-msw.c (FAKE_MOD_QUIT):
7218         * event-msw.c (mswindows_dequeue_dispatch_event):
7219         * event-msw.c (mswindows_wnd_proc):
7220         * event-msw.c (emacs_mswindows_quit_p):
7221         Get critical quit working.
7222
7223 2001-05-05  Ben Wing  <ben@xemacs.org>
7224
7225         * console-msw.h:
7226         * device-msw.c:
7227         * device-msw.c (mswindows_get_default_margin):
7228         * frame-msw.c (mswindows_size_frame_internal):
7229         * frame-msw.c (msprinter_init_frame_1):
7230         * frame-msw.c (vars_of_frame_mswindows):
7231         Change top/bottom margin defaults to 0.5 inches.
7232
7233 2001-05-01  Martin Buchholz  <martin@xemacs.org>
7234
7235         Fix link error with gcc 3.0 on Linux.
7236         * terminfo.c (UP): Remove.
7237         * terminfo.c (BC): Remove.
7238         * terminfo.c (PC): Remove.
7239         They weren't used, and in any case, these symbols should be
7240         defined in the *library*.
7241
7242 2001-05-03  Martin Buchholz  <martin@xemacs.org>
7243
7244         * s/aix4.h: Fix crash with xlc -O3.
7245         Improve comment explaining how -O3 works.
7246
7247 2001-04-15  Ben Wing  <ben@xemacs.org>
7248
7249         * event-stream.c:
7250         * event-stream.c (Fnext_event):
7251         * event-stream.c (is_scrollbar_event):
7252         * event-stream.c (execute_command_event):
7253         Better fix for Yoshiki's `C-x @ h <scrollbar-drag> x causes a
7254         crash' problem.  His fix introduces other problems.  We filter
7255         out scrollbar events specifically, making them somewhat invisible
7256         to command-building, and not appearing in `this-command-keys'.
7257         More work is still needed (see comments in event-stream.c), but
7258         this fixes all the major problems.
7259
7260 2001-04-20  Ben Wing  <ben@xemacs.org>
7261
7262         * .cvsignore: Added stuff for Windows.
7263
7264 2001-04-28  Ben Wing  <ben@xemacs.org>
7265
7266         * buffer.c (Ferase_buffer):
7267         * editfns.c (buffer_insert1):
7268         * editfns.c (Finsert_before_markers):
7269         * editfns.c (Finsert_string):
7270         * editfns.c (Finsert_char):
7271         * editfns.c (Fdelete_region):
7272         * editfns.c (Fwiden):
7273         * editfns.c (Fnarrow_to_region):
7274         remove bogus lines setting zmacs_region_stays to 0.
7275         
7276 2001-04-15  Gunnar Evermann  <ge204@eng.cam.ac.uk>
7277
7278         * process-unix.c (unix_open_network_stream): If connect() fails
7279         invalidate file descriptor after closing it.
7280
7281 2001-03-08  Mike Alexander  <mta@arbortext.com>
7282
7283         * event-msw.c (mswindows_need_event_in_modal_loop):
7284         Don't dispatch a message if we didn't get one.
7285         (mswindows_need_event):
7286         Terminate the correct process when one exits instead of the first
7287         one on Vprocess_list and look for process termination when in
7288         mswindows_protect_modal_loop.
7289
7290 2001-04-19  Stephen J. Turnbull  <stephen@xemacs.org>
7291
7292         * XEmacs 21.4.1 "Copyleft" is released.
7293
7294 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
7295
7296         * input-method-motif.c (XIM_delete_frame): New callback.
7297         (XIM_init_frame): Register it.
7298
7299 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
7300
7301         * XEmacs 21.4.0 "Solid Vapor" is released.
7302
7303 2001-04-15  Ben Wing  <ben@xemacs.org>
7304
7305         * cmdloop.c (call_command_loop):
7306         Fix braino in bit-rotting code.
7307         
7308 2001-04-07  Hrvoje Niksic  <hniksic@arsdigita.com>
7309
7310         * extents.c (Fset_extent_endpoints): Force creation of extent info
7311         in buffer_or_string.
7312
7313         * extents.c (process_extents_for_insertion_mapper): Correctly
7314         check for open-open zero-length extents.
7315
7316 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
7317
7318         * lisp.h: New typedefs Memory_count, Element_count.
7319         * regex.c:
7320         * regex.h:
7321         Sign-compare warning elimination: several unsigned -> signed.
7322         Based on work by Ben Wing <ben@xemacs.org>.
7323
7324 2001-04-14  Stephen J. Turnbull  <stephen@xemacs.org>
7325
7326         * XEmacs 21.2.47 "Zephir" is released.
7327
7328 2001-04-02  Jan Vroonhof  <jan@xemacs.org>
7329
7330         * redisplay.c (add_bufbyte_string_runes): Update data->bytepos
7331
7332 2001-04-03  Mike Sperber <mike@xemacs.org>
7333
7334         * search.c: Revert previous patch due because of release.
7335
7336 2001-03-30  Ben Wing  <ben@xemacs.org>
7337
7338         * s\cygwin32.h:
7339         Add missing killpg prototype.
7340
7341         * elhash.c:
7342         Add a comment about fixing problems when a new entry is added
7343         while mapping.
7344
7345         * frame-msw.c (mswindows_init_frame_1):
7346         Fix compile warnings.
7347
7348         * menubar.c (vars_of_menubar):
7349         Provide `menu-accelerator-support' to indicate that we properly
7350         support %_ in menu specifications, so that package code can
7351         conditionalize on this (and remove %_ from menu specifications
7352         on older versions).
7353
7354         * event-msw.c:
7355         * scrollbar-msw.c:
7356         * scrollbar-msw.c (can_scroll):
7357         * scrollbar-msw.h:
7358         Fix handling of mouse wheel under Windows to follow standards --
7359         now scrolls window under pointer, not selected window.
7360
7361 2001-03-31  Mike Sperber <mike@xemacs.org>
7362
7363         * search.c (Freplace_match): Support FSF-style specification of
7364         match subexpression when applied to a buffer.
7365
7366 2001-03-15  Martin Buchholz  <martin@xemacs.org>
7367
7368         * keymap.c (Fmap_keymap): map-keymap explicitly allows a mapping
7369         function to modify KEYMAP, so map over a copy of the hash table.
7370
7371 2001-03-21  Martin Buchholz <martin@xemacs.org>
7372
7373         * XEmacs 21.2.46 "Urania" is released.
7374
7375 2001-03-20  Dan Holmsand  <dan@eyebee.com>
7376
7377         * realpath.c (xrealpath): Make file-truename work with symlinks to
7378         /cygdrive paths on cygwin. Always lowercase drive-letters on
7379         native windows.
7380         (cygwin_readlink): Don't try to find canonical filename unless
7381         file exists.
7382
7383 2001-03-15  Stephen J. Turnbull  <stephen@xemacs.org>
7384
7385         * ChangeLog: Log GTK merge.
7386
7387         * dumper.c:
7388         * select-x.c:
7389         * specifier.c:
7390         * symeval.h:
7391         Revert gratuitous whitespace changes from GTK merge.
7392
7393         * emacs.c: Document end of complex #ifdef @ l. 1495.
7394
7395
7396 2001-03-12  Andy Piper  <andy@xemacs.org>
7397
7398         * mingw32.h: unfortunately cygnus changed mingw32 -> mingw so we
7399         have to do likewise.
7400
7401 2001-03-12  Andy Piper  <andy@xemacs.org>
7402
7403         * sysdep.c: we only support mingw now.
7404
7405 2001-03-09  Andy Piper  <andy@xemacs.org>
7406
7407         * unexcw.c (copy_executable_and_dump_data_section): making approx
7408         overrun a warning only.
7409
7410 2001-03-10  William M. Perry  <wmperry@aventail.com>
7411
7412         * faces.c (complex_vars_of_faces): Rewrote the font mucking to
7413         satisfy Stephen's identical-after-cpp plea.
7414
7415 2001-03-02  Ben Wing  <ben@xemacs.org>
7416
7417         * cmds.c:
7418         * cmds.c (Fforward_char):
7419         * syntax.c:
7420         * window.c:
7421
7422         Augment documentation of the most common motion commands to make
7423         note of the shifted-motion support.
7424         
7425 2001-03-02  Ben Wing  <ben@xemacs.org>
7426
7427         * nt.c (mswindows_fstat):
7428         * nt.c (mswindows_stat):
7429         * search.c (boyer_moore):
7430         Fix compile warnings under Windows.
7431         
7432         * sysdep.c (sys_readdir):
7433         Fix buggy filename-conversion code under Mule.
7434
7435 2001-03-09  William M. Perry  <wmperry@aventail.com>
7436
7437         * Makefile.in.in:
7438         * config.h.in:
7439         * console.c:
7440         * console.h:
7441         * device.c:
7442         * device.h:
7443         * dragdrop.c:
7444         * emacs.c:
7445         * event-stream.c:
7446         * events.c:
7447         * events.h:
7448         * faces.c:
7449         * frame.h:
7450         * general-slots.h:
7451         * glyphs.c:
7452         * gutter.c:
7453         * inline.c:
7454         * lisp.h:
7455         * lrecord.h:
7456         * make-src-depend:
7457         * redisplay-output.c:
7458         * redisplay.c:
7459         * symsinit.h:
7460         * sysfile.h:
7461         * toolbar.c:
7462         * window.c:
7463         The Great GTK Merge.
7464
7465         * ChangeLog.GTK:
7466         * console-gtk.c:
7467         * console-gtk.h:
7468         * device-gtk.c:
7469         * emacs-marshals.c:
7470         * emacs-widget-accessors.c:
7471         * event-gtk.c:
7472         * frame-gtk.c:
7473         * gccache-gtk.c:
7474         * gccache-gtk.h:
7475         * glade.c:
7476         * glyphs-gtk.c:
7477         * glyphs-gtk.h:
7478         * gtk-glue.c:
7479         * gtk-xemacs.c:
7480         * gtk-xemacs.h:
7481         * gui-gtk.c:
7482         * gui-gtk.h:
7483         * menubar-gtk.c:
7484         * native-gtk-toolbar.c:
7485         * objects-gtk.c:
7486         * objects-gtk.h:
7487         * redisplay-gtk.c:
7488         * scrollbar-gtk.c:
7489         * scrollbar-gtk.h:
7490         * select-gtk.c:
7491         * toolbar-gtk.c:
7492         * ui-byhand.c:
7493         * ui-gtk.c:
7494         * ui-gtk.h:
7495         The Great GTK Merge: new files.
7496
7497 2001-02-26  Ben Wing  <ben@xemacs.org>
7498
7499         Reapplied Lstream change.
7500
7501 2001-02-26  Ben Wing  <ben@xemacs.org>
7502
7503         Undid the last change, since it is more controversial than I
7504         thought.  It should be back in at some point soon.
7505         
7506 2001-02-25  Ben Wing  <ben@xemacs.org>
7507
7508         * buffer.c:
7509         * callproc.c (Fold_call_process_internal):
7510         * event-msw.c (ntpipe_slurp_reader):
7511         * event-msw.c (ntpipe_shove_writer):
7512         * event-msw.c (winsock_reader):
7513         * event-msw.c (winsock_writer):
7514         * file-coding.c:
7515         * file-coding.c (detect_eol_type):
7516         * file-coding.c (detect_coding_type):
7517         * file-coding.c (determine_real_coding_system):
7518         * file-coding.c (Fdetect_coding_region):
7519         * file-coding.c (decoding_reader):
7520         * file-coding.c (decoding_writer):
7521         * file-coding.c (mule_decode):
7522         * file-coding.c (Fdecode_coding_region):
7523         * file-coding.c (encoding_reader):
7524         * file-coding.c (encoding_writer):
7525         * file-coding.c (mule_encode):
7526         * file-coding.c (Fencode_coding_region):
7527         * file-coding.c (detect_coding_sjis):
7528         * file-coding.c (decode_coding_sjis):
7529         * file-coding.c (encode_coding_sjis):
7530         * file-coding.c (detect_coding_big5):
7531         * file-coding.c (decode_coding_big5):
7532         * file-coding.c (encode_coding_big5):
7533         * file-coding.c (detect_coding_ucs4):
7534         * file-coding.c (decode_coding_ucs4):
7535         * file-coding.c (encode_coding_ucs4):
7536         * file-coding.c (detect_coding_utf8):
7537         * file-coding.c (decode_coding_utf8):
7538         * file-coding.c (encode_coding_utf8):
7539         * file-coding.c (detect_coding_iso2022):
7540         * file-coding.c (decode_coding_iso2022):
7541         * file-coding.c (encode_coding_iso2022):
7542         * file-coding.c (decode_coding_no_conversion):
7543         * file-coding.c (encode_coding_no_conversion):
7544         * glyphs-x.c (write_lisp_string_to_temp_file):
7545         * gpmevent.c (tty_get_foreign_selection):
7546         * lisp.h:
7547         * lstream.c:
7548         * lstream.c (Lstream_flush_out):
7549         * lstream.c (Lstream_adding):
7550         * lstream.c (Lstream_write_1):
7551         * lstream.c (Lstream_write):
7552         * lstream.c (Lstream_raw_read):
7553         * lstream.c (Lstream_read_more):
7554         * lstream.c (Lstream_read):
7555         * lstream.c (Lstream_unread):
7556         * lstream.c (Lstream_fputc):
7557         * lstream.c (stdio_reader):
7558         * lstream.c (stdio_writer):
7559         * lstream.c (filedesc_reader):
7560         * lstream.c (filedesc_writer):
7561         * lstream.c (lisp_string_reader):
7562         * lstream.c (struct fixed_buffer_stream):
7563         * lstream.c (make_fixed_buffer_input_stream):
7564         * lstream.c (make_fixed_buffer_output_stream):
7565         * lstream.c (fixed_buffer_reader):
7566         * lstream.c (fixed_buffer_writer):
7567         * lstream.c (struct resizing_buffer_stream):
7568         * lstream.c (resizing_buffer_writer):
7569         * lstream.c (dynarr_writer):
7570         * lstream.c (lisp_buffer_reader):
7571         * lstream.c (lisp_buffer_writer):
7572         * lstream.h:
7573         * lstream.h (lstream_implementation):
7574         * lstream.h (struct lstream):
7575         * md5.c (Fmd5):
7576         * process-nt.c (nt_send_process):
7577         * process-unix.c (unix_send_process):
7578         
7579         Correct Lstream lossage due to mixing of signed and unsigned
7580         quantities.  All Lstream uses of size_t and ssize_t are now a
7581         single signed data type Lstream_data_count.  This fixes problems
7582         under Windows with sending large quantities of data to a process,
7583         and may well fix other subtle bugs.
7584
7585 2001-02-23  Martin Buchholz <martin@xemacs.org>
7586
7587         * XEmacs 21.2.45 "Thelxepeia" is released.
7588
7589 2001-02-21  Martin Buchholz  <martin@xemacs.org>
7590
7591         * lisp-union.h (XSETINT): 
7592         (XSETCHAR):
7593         (XSETOBJ): 
7594         Reverse previous change of 2001-02-06.
7595
7596 2001-02-20  Matt Tucker  <tuck@whistlingfish.net>
7597
7598         Fix `VALID_BYTIND_P' crashes in regex.c when using narrowed
7599         buffers.
7600         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
7601         * syntax.h (SYNTAX_CACHE_OBJECT_BYTE_TO_CHAR):
7602         Add `BI_BUF_BEGV' to bytepos before calculating bufpos.
7603         * regex.c (POS_AS_IN_BUFFER): removed
7604         * regex.c (re_search_2):
7605         * regex.c (re_match_2):
7606         Don't use an offset of 1 when calculating buffer positions, since
7607         `BI_BUF_BEGV' does it already.
7608
7609 2001-02-18  Wim Dumon  <wim@easics.be>
7610
7611         * insdel.c (prepare_to_modify_buffer): Also check for
7612         supersession when clash-detection is enabled. 
7613
7614 2001-02-17  Matt Tucker  <tuck@whistlingfish.net>
7615
7616         * regex.c (re_match_2_internal):
7617         Convert temp characters from 'const unsigned char' to 're_char'.
7618         Fix crashing bug with extended characters under mule.
7619         * syntax.c (Qsyntax_table): Moved from vars_of_syntax to
7620         syms_of_syntax. Use defsymbol to define. Fixes hanging bug with
7621         font-lock, pdump, and new syntax-table code.
7622         * syntax.c (find_start_of_comment):
7623         (find_end_of_comment):
7624         (forward-comment):
7625         Fix crashing bugs involving moving beyond end of buffer.
7626         * syntax.c (find_start_of_comment):
7627         Fixed logic to allow proper detection of cases where the same
7628         character is used to end both a two-char comment start and a
7629         two-char comment end sequence. Fixes `(forward-comment -1)'.
7630         * syntax.c (find_start_of_comment):
7631         Return position just past last comment-end character for all cases
7632         (previously was only done for two-char comment-end sequences).
7633         * syntax.c (forward-comment):
7634         Take value returned from `find_end_of_comment', rather than
7635         incrementing it.
7636         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
7637         Properly deal with BUFFERP (syntax_cache.object)
7638
7639 2001-02-17  Martin Buchholz  <martin@xemacs.org>
7640
7641         * alloc.c (Fgarbage_collect): 
7642         * alloc.c (make_bit_vector_from_byte_vector):
7643         -Wsign-compare-correctness.
7644
7645 2001-02-16  Martin Buchholz  <martin@xemacs.org>
7646
7647         * lisp-union.h (XSETINT): Eliminate unnecessary temp var.
7648         (XSETCHAR): Likewise.
7649         (XSETOBJ): Likewise.
7650
7651 2001-02-15  Martin Buchholz  <martin@xemacs.org>
7652
7653         * mule-canna.c (canna-func-delete_previous): 
7654         Rename to canna-func-delete-previous.
7655
7656 2001-02-14  Martin Buchholz  <martin@xemacs.org>
7657
7658         * mule-ccl.c (ccl_driver): Warning suppression.  Use countof.
7659
7660 2001-02-13  Matt Tucker  <tuck@whistlingfish.net>
7661
7662         * font-lock.c (find_context): Fix C++ compile errors introduced by
7663         recent patch
7664
7665 2001-02-13  Martin Buchholz  <martin@xemacs.org>
7666
7667         * s/aix4.h: Later versions of IBM C compiler need a bug workaround
7668         pragma, but earlier ones barf on the same pragma.
7669
7670 2001-02-06  Mike Sperber <mike@xemacs.org>
7671
7672         * emacs.c (complex_vars_of_emacs): Add `mule-lisp-directory' and
7673         `configure-mule-lisp-directory'.
7674
7675 2001-02-12  Martin Buchholz  <martin@xemacs.org>
7676
7677         Make sure dump-id.c is compiled in the same way as other .c's.
7678         Fixes pdump compilation failure with HP's cc, which defaults to K&R.
7679         * dump-id.h: Remove.
7680         * emacs.c: Move dump-id.h into dumper.h.
7681         * dumper.h: Move dump-id.h into dumper.h.
7682         * Makefile.in.in:
7683         Use standard .c.o rule for building dump-id.o.
7684         Remove preprocessor flags from link command.
7685         Add dump-id.o to ${otherobjs} if PDUMP.
7686
7687 2001-02-07  Matt Tucker  <tuck@whistlingfish.net>
7688
7689         Port FSF 20.7 syntax table improvements.
7690         * syntax.c.
7691         * syntax.h.
7692
7693         Fixups for new syntax table stuff.
7694         * dired.c: Include syntax.c.
7695         (Fdirectory_files): Initialize regex_match_object and
7696         regex_emacs_buffer.
7697         * extents.h: EXFUN Fnext_extent_change, Fprevious_extent_change,
7698         and Fget_char_property.
7699
7700         Use ported FSF 20.7 syntax table improvements.
7701         * font-lock.c.
7702         * regex.c.
7703         * search.c.
7704         
7705 2001-02-09  Martin Buchholz  <martin@xemacs.org>
7706
7707         * regex.c (Boolean): Renamed to `re_bool', to avoid conflict with
7708         Unixware's enum boolean from sys/types.h.
7709
7710 2001-02-10  Martin Buchholz  <martin@xemacs.org>
7711
7712         Fix support for building with latest Purify.
7713         * Makefile.in.in (PURIFY_LIBS): Remove thread flags.
7714         (PURIFY_FLAGS): Likewise.
7715
7716 2001-02-09  Martin Buchholz  <martin@xemacs.org>
7717
7718         * fileio.c (lisp_string_set_file_times): New.
7719         * fileio.c (Fcopy_file): Use it.
7720         Fixes bug:
7721         (copy-file filename non-ascii-filename t t)
7722         ==> No such file or directory, non-ascii-filename
7723
7724 2001-02-10  Martin Buchholz  <martin@xemacs.org>
7725
7726         * glyphs-x.c (generate_cursor_fg_bg): Avoid a warning.
7727         USHRT_MAX seems clearer than ~0 anyways.
7728
7729 2001-02-09  Martin Buchholz  <martin@xemacs.org>
7730
7731         dumper improvements.  Inspired by Olivier.
7732         * dumper.c (pdump_max_align): New.
7733         * dumper.c (pdump_add_entry): Use pdump_max_align.
7734         * dumper.c (pdump_get_entry_list): Likewise.
7735         * dumper.c (pdump_scan_by_alignment): Likewise.
7736         Don't iterate through unnecessary alignments.
7737         * dumper.c (pdump_file_get): No need to align result of malloc().
7738         * dumper.c (pdump_mallocadr): Remove.  
7739         The result of malloc() is guaranteed to be maximally aligned.
7740         * dumper.c: s/elmt/elt/g;
7741         * dumper.c (pdump_object_table): Allocate dynamically, not statically.
7742         * dumper.c (pdump_alert_undump_object): Likewise.
7743         * dumper.c (pdump_align_table): 
7744         Don't support alignments > 64.
7745         Store ALIGNOF's, not shift counts, in table.
7746
7747 2001-02-09  Martin Buchholz  <martin@xemacs.org>
7748
7749         * s/mingw32.h (HAVE_STRUCT_UTIMBUF): Remove.
7750         * s/windowsnt.h (HAVE_STRUCT_UTIMBUF): Remove.
7751         * systime.h: Use HAVE_UTIME.
7752         * sysdep.c (struct utimbuf): Remove.
7753         * sysdep.c (set_file_times): Prefer utime() to utimes().
7754         * config.h.in (HAVE_UTIME): New.
7755         * config.h.in (HAVE_UTIME_H): Remove.
7756         * config.h.in (HAVE_STRUCT_UTIMBUF): Remove.
7757
7758 2001-02-09  Martin Buchholz  <martin@xemacs.org>
7759
7760         * s/aix4.h: Hide #pragmas inside #ifndef NOT_C_CODE.
7761
7762 2001-02-08  Martin Buchholz  <martin@xemacs.org>
7763
7764         * s/irix6-0.h: Use the standard system memmove, not bcopy.
7765
7766 2001-02-08  Martin Buchholz <martin@xemacs.org>
7767
7768         * XEmacs 21.2.44 "Thalia" is released.
7769
7770 2001-02-06  Martin Buchholz  <martin@xemacs.org>
7771
7772         Fixes crashes in kill-emacs on some systems.
7773         * process-unix.c (unix_kill_child_process):
7774         It's OK for kill() to fail with ESRCH.
7775
7776 2001-02-07  Martin Buchholz  <martin@xemacs.org>
7777
7778         Contortions to make .gdbinit tricks work on most systems.
7779         * alloc.c (dbg_inhibit_dbg_symbol_deletion): Keep debugger info.
7780         * alloc.c (dbg_valmask): Make non-const.
7781         * alloc.c (dbg_typemask): Make non-const.
7782         * alloc.c (dbg_USE_UNION_TYPE): Make non-const.
7783         * alloc.c (dbg_valbits): Make non-const.
7784         * alloc.c (dbg_gctypebits): Make non-const.
7785         * .gdbinit (decode_object): Make it work with AIX cc.
7786
7787 2001-02-06  Martin Buchholz  <martin@xemacs.org>
7788
7789         * elhash.c (make_general_lisp_hash_table):
7790         Use simpler and more efficient calloc to clear entries.
7791
7792 2001-02-07  Martin Buchholz  <martin@xemacs.org>
7793
7794         * window.c (window_scroll): Work around an AIX C compiler bug.
7795         Fixes 'scroll-up' does nothing problem with xlC.
7796
7797 2001-02-05  Martin Buchholz  <martin@xemacs.org>
7798
7799         * .gdbinit: Remove obsolete comment.
7800
7801 2001-01-31  Mike Alexander  <mta@arbortext.com>
7802
7803         * select.c (Fown_selection_internal): Set owned_p for device
7804         method correctly.
7805
7806 2001-02-01  Martin Buchholz  <martin@xemacs.org>
7807
7808         Port to g++ 2.97.
7809         "not" cannot be used as a macro name as it is an operator in C++
7810         * config.h.in: Stop #defining `not'.
7811         * chartab.c (check_category_char): not ==> not_p
7812         * chartab.h: Likewise.
7813         * regex.c (re_match_2_internal): Likewise.
7814
7815 2001-02-02  Martin Buchholz  <martin@xemacs.org>
7816
7817         * lisp-disunion.h: Fix up comments.
7818
7819 2001-01-31  Martin Buchholz  <martin@xemacs.org>
7820
7821         * keymap.c (define_key_check_and_coerce_keysym):
7822         (syms_of_keymap):
7823         Support mouse-6 and mouse-7 bindings in the obvious way.
7824
7825 2001-02-01  Martin Buchholz  <martin@xemacs.org>
7826
7827         * m/hp9000s300.h (UNEXEC): Check for HPUX, not !BSD.
7828
7829 2001-01-30  Martin Buchholz  <martin@xemacs.org>
7830
7831         Previous patch changing DEFVAR_INT to use EMACS_INT was incomplete.
7832         Previous patch missed DEFVAR_INT_MAGIC.
7833         Make sure future DEFVAR_foo use correct types.
7834         * symeval.h (DEFVAR_SYMVAL_FWD_FIXNUM): New.
7835         * (DEFVAR_SYMVAL_FWD_INT): Add type checking.
7836         * (DEFVAR_SYMVAL_FWD_OBJECT): Add type checking.
7837         * (DEFVAR_INT_MAGIC): Use DEFVAR_SYMVAL_FWD_FIXNUM.
7838         * (DEFVAR_INT): Likewise.
7839         * redisplay.c (vertical_clip): Should be of type Fixnum.
7840         * redisplay.c (horizontal_clip): Likewise.
7841         * lisp.h (dump_add_opaque_int): New.
7842         (dump_add_opaque_fixnum): New.
7843
7844 2001-01-29  Andy Piper  <andy@xemacs.org>
7845
7846         * glyphs-widget.c (check_valid_int_or_function): allow symbols
7847         since they can be eval'ed
7848
7849 2001-01-29  Martin Buchholz  <martin@xemacs.org>
7850
7851         * lisp.h (ALIGNOF): Make it work on non-gcc C++ compilers.
7852         Oops, XEmacs redefines `class'.  Use `typename' instead.
7853
7854 2001-01-28  Martin Buchholz  <martin@xemacs.org>
7855
7856         * dumper.c: Fix C++ compile errors.
7857
7858 2001-01-29  Martin Buchholz  <martin@xemacs.org>
7859
7860         * tparam.c: Use correct prototypes.
7861
7862 2001-01-28  Martin Buchholz  <martin@xemacs.org>
7863
7864         * sysproc.h: #include util.h for NetBSD's openpty.
7865
7866 2001-01-27  Martin Buchholz  <martin@xemacs.org>
7867
7868         More 64-bit correctness.
7869         The C value of a DEFVAR_INT should be of type EMACS_INT, not int.
7870         Use a typedef `fixnum' for the type used for DEFVAR_INT.
7871         Fix up comments.
7872         This finally finishes the 64-bit SGI port.
7873         Fixes things like (let ((gc-cons-threshold most-positive-fixnum)) ...).
7874         * symbols.c: Fix up comments and type casts.
7875         * symbols.c (do_symval_forwarding): s/int/Fixnum/g
7876         * symbols.c (store_symval_forwarding): s/int/Fixnum/g
7877         * symeval.h (Fixnum): New type.
7878         * symeval.h (symbol_value_type): Fix up comment.
7879
7880         * commands.h:
7881         * nt.c:
7882         * emacs.c:
7883         * data.c:
7884         * redisplay.c:
7885         * abbrev.c:
7886         * dired-msw.c:
7887         * event-Xt.c:
7888         * eldap.c:
7889         * window.c:
7890         * sound.c:
7891         * event-stream.c:
7892         * eval.c:
7893         * buffer.c:
7894         * mule-canna.c: A million DEFVAR_INTs here...
7895         * mule-canna.c (count_char): s/int */Fixnum */g in arglist.
7896         * extents.c:
7897         * cmdloop.c:
7898         * lisp.h:
7899         * select-x.c:
7900         * console-x.h:
7901         * event-msw.c:
7902         * mule-wnnfns.c:
7903         * hpplay.c:
7904         * ralloc.c:
7905         * alloc.c:
7906         * keymap.c:
7907         * profile.c:
7908         s/int/Fixnum/g in DEFVAR_INT declarations.
7909
7910 2001-01-26  Martin Buchholz  <martin@xemacs.org>
7911
7912         Port pdump to SGI alignment-sensitive environment.
7913         Lisp Object sizeof methods now return aligned sizes.  Rely on that.
7914         Eliminate is_lrecord since Lisp_Objects sizeof methods are now all
7915         properly aligned.
7916         Define and use aligned reading and writing macros.
7917         Use buffered stdio instead of posix i/o for faster dumping.
7918         Eliminate kludgy 256 byte space for header.
7919         Read and write from dump file using structs for alignment safety.
7920         * dumper.c (pdump_align_stream): New.
7921         * dumper.c (PDUMP_ALIGN_OUTPUT): New.
7922         * dumper.c (PDUMP_READ_ALIGNED): New.
7923         * dumper.c (PDUMP_WRITE_ALIGNED): New.
7924         * dumper.c (pdump_static_Lisp_Object): New struct.
7925         * dumper.c (pdump_static_pointer): New struct.
7926         * dumper.c (pdump_entry_list_element): Remove is_lrecord member.
7927         * dumper.c (pdump_add_entry): Remove is_lrecord parameter.
7928         * dumper.c (pdump_dump_data): Rely on sizeof method alignment.
7929         * dumper.c (pdump_allocate_offset): Rely on sizeof method alignment.
7930
7931         * dumper.c (pdump_backtrace):
7932         * dumper.c (pdump_get_indirect_count):
7933         * dumper.c (pdump_register_object):
7934         * dumper.c (pdump_register_struct):
7935         * dumper.c (pdump_reloc_one):
7936         * dumper.c (pdump_scan_by_alignment):
7937         * dumper.c (pdump_dump_from_root_struct_ptrs):
7938         * dumper.c (pdump_dump_opaques):
7939         * dumper.c (pdump_dump_rtables):
7940         * dumper.c (pdump_dump_from_root_objects):
7941         * dumper.c (pdump):
7942         * dumper.c (pdump_load_finish):
7943         Use aligned reading and writing.
7944
7945         * dumper.c (pdump_free): Make static.
7946         * dumper.c (pdump_hFile): Likewise.
7947         * dumper.c (pdump_hMap): Likewise.
7948
7949 2001-01-26  Martin Buchholz <martin@xemacs.org>
7950
7951         * XEmacs 21.2.43 "Terspichore" is released.
7952
7953 2001-01-25  Martin Buchholz  <martin@xemacs.org>
7954
7955         Type fiddling for window_config.saved_windows_count
7956         * window.c (struct window_config): 
7957         Make saved_windows_count member unsigned.
7958         * window.c (sizeof_window_config_for_n_windows): 
7959         Make parameter unsigned.
7960         * window.c (mark_window_config):
7961         * window.c (window_config_equal):
7962         * window.c (free_window_configuration):
7963         * window.c (Fset_window_configuration):
7964         * window.c (count_windows):
7965         * window.c (Fcurrent_window_configuration):
7966         * window.c (reinit_vars_of_window):
7967         Update all callers and users.
7968
7969 2001-01-25  Martin Buchholz  <martin@xemacs.org>
7970
7971         Alignment correctness for flexible arrays.
7972         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF):
7973         Make alignment-correct. Add interesting comments.
7974         * alloc.c (size_vector):
7975         * alloc.c (make_vector_internal):
7976         * alloc.c (make_bit_vector_internal):
7977         * alloc.c (sweep_bit_vectors_1):
7978         * fns.c (size_bit_vector):
7979         Update all callers of FLEXIBLE_ARRAY_STRUCT_SIZEOF to add new arg.
7980         * window.c (sizeof_window_config_for_n_windows): 
7981         Use FLEXIBLE_ARRAY_STRUCT_SIZEOF.
7982
7983 2001-01-24  Martin Buchholz  <martin@xemacs.org>
7984
7985         * lread.c (read1): Rename `fexp', which is #defined in SGI's math.h
7986
7987 2001-01-23  Andy Piper  <andy@xemacs.org>
7988
7989         * select.c (Fown_selection_internal): pass owned_p
7990
7991         * select-msw.c (mswindows_own_selection): New Signature.
7992
7993         * console.h (struct console_methods): add owned_p to
7994         _own_selection.
7995
7996         * select-x.c (x_own_selection): pass owned_p
7997         (hack_motif_clipboard_selection): use owned_p
7998         (vars_of_select_x): new variable -
7999         x_selection_strict_motif_ownership.
8000
8001 2001-01-23  Martin Buchholz  <martin@xemacs.org>
8002
8003         * specifier.h (specifier_data_offset): Remove pointless parens.
8004         * glyphs.h (IMAGE_SPECIFIER_DATA): Likewise.
8005
8006 2001-01-24  Martin Buchholz  <martin@xemacs.org>
8007
8008         Make Lisp_Object sizeof methods be alignment-correct.
8009         pdump must restore objects to the same alignment as the C compiler
8010         assumes.  It really matters on SGIs.
8011         * lstream.c (aligned_sizeof_lstream): New.
8012         (sizeof_lstream): Use aligned_sizeof_lstream.
8013         (Lstream_new): Likewise.
8014         * opaque.c (aligned_sizeof_opaque): New.
8015         (sizeof_opaque): Use aligned_sizeof_opaque.
8016         (make_opaque): Likewise.
8017         * specifier.c (aligned_sizeof_specifier): New.
8018         (sizeof_specifier): Use aligned_sizeof_specifier.
8019         (make_specifier_internal): Likewise.
8020
8021 2001-01-23  Martin Buchholz  <martin@xemacs.org>
8022
8023         * lstream.h (struct lstream): Use max_align_t for trailing data.
8024         * specifier.h (struct Lisp_Specifier): Likewise.
8025
8026 2001-01-22  Martin Buchholz  <martin@xemacs.org>
8027
8028         * mule-ccl.c (CCL_Extension): Renamed from CCL_Extention.
8029         (CCL_SUCCESS): Kludge to prevent Sun cc compiler warnings.
8030         (CCL_SUSPEND): Likewise.
8031         (CCL_INVALID_CMD): Likewise.
8032         (CCL_CALL_FOR_MAP_INSTRUCTION): Likewise.
8033         (ccl_driver): Likewise.
8034         (CCL_WRITE_CHAR): Macro hygiene.
8035         (CCL_WRITE_STRING): Macro hygiene.
8036
8037 2001-01-22  Martin Buchholz  <martin@xemacs.org>
8038
8039         Port "portable" dumper to SunOS 4 and HP-UX.
8040         * s/aix4.h (AIX4): Move MAP_FAILED definition elsewhere.
8041         * emacs.c (main): PDUMP implies no RUN_TIME_REMAP.
8042         * dumper.c (pdump_file_get): Define MAP_FAILED if not already defined.
8043
8044 2001-01-22  Martin Buchholz  <martin@xemacs.org>
8045
8046         * lisp.h (ALIGNOF): A better definition for C++.
8047
8048 2001-01-20  Martin Buchholz  <martin@xemacs.org>
8049
8050         Macro hygiene.
8051         Fix printf warnings: int format, long int arg.
8052         * regex.c (DECLARE_DESTINATION): Use DECLARE_NOTHING.
8053         (PUSH_FAILURE_POINT): Use correct printf formats.
8054         (POP_FAILURE_POINT): Use correct printf formats.  
8055         Use do {...} while (0)
8056
8057 2001-01-20  Martin Buchholz <martin@xemacs.org>
8058
8059         * XEmacs 21.2.42 "Poseidon" is released.
8060
8061 2001-01-20  Martin Buchholz  <martin@xemacs.org>
8062
8063         * console-x.h: typo fix du jour.  Remove #if 0'ed code.
8064
8065 2001-01-19  Martin Buchholz  <martin@xemacs.org>
8066
8067         De-kludgify FIXED_TYPE free list frobbing.
8068         Fix crashes on 64-bit platforms introduced by my patch of 2001-01-13.
8069         * alloc.c (DECLARE_FIXED_TYPE_ALLOC): Use Lisp_Free.
8070         * alloc.c (ALLOCATE_FIXED_TYPE_1): Use new definitions.
8071         * alloc.c (Lisp_Free): New pseudo lisp object definition.
8072         * alloc.c (LRECORD_FREE_P): New.
8073         * alloc.c (MARK_LRECORD_AS_FREE): New.
8074         * alloc.c (MARK_LRECORD_AS_NOT_FREE): New.
8075         * alloc.c (STRUCT_FREE_P): Deleted.
8076         * alloc.c (MARK_STRUCT_AS_FREE): Deleted.
8077         * alloc.c (MARK_STRUCT_AS_NOT_FREE): Deleted.
8078         * alloc.c (STRING_CHARS_FREE_P): New.
8079         * alloc.c (MARK_STRING_CHARS_AS_FREE): New.
8080         * alloc.c (PUT_FIXED_TYPE_ON_FREE_LIST): Use new definitions.
8081         * alloc.c (FREE_FIXED_TYPE): Use new definitions.
8082         * alloc.c (STRING_CHARS_FREE_P): Use new definitions.
8083         * alloc.c (resize_string): Use new definitions.
8084         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Use new definitions.
8085         * alloc.c (verify_string_chars_integrity): Use new definitions.
8086         * alloc.c (compact_string_chars): Use new definitions.
8087         * alloc.c: Update monster comments.
8088         * lrecord.h (lrecord_type): Add some new lrecord types for
8089         alloc.c's use.
8090
8091 2001-01-18  Martin Buchholz  <martin@xemacs.org>
8092
8093         Improve alignment hackery.
8094         * lisp.h (ALIGNOF): Better definition for the non-gcc case.
8095         (max_align_t): Moved from opaque.h - general purpose.
8096         (ALIGN_PTR): Use size_t, not long.
8097         * opaque.h (max_align_t): Move to lisp.h.
8098
8099 2001-01-18  Norbert Koch  <nk@LF.net>
8100
8101         * gui.h: Fix and add prototypes to fix build problems.
8102
8103 2001-01-18  Martin Buchholz  <martin@xemacs.org>
8104
8105         temacs is going away, so `dump-temacs' is now a bad name.
8106         * .dbxrc (dump-temacs): Rename to `dmp'.
8107         * .gdbinit (dump-temacs): Rename to `dmp'.
8108
8109 2001-01-17  Andy Piper  <andy@xemacs.org>
8110
8111         * glyphs.c (print_image_instance): comment to make martin happy.
8112
8113         * glyphs-x.c (x_redisplay_widget): update faces after a frame
8114         change.
8115
8116         * glyphs-msw.c (mswindows_redisplay_widget): add code to cope with
8117         activation.
8118         (mswindows_tab_control_redisplay): warning suppression.
8119
8120         * glyphs-widget.c (widget_update): re-write to cope with updated
8121         items.
8122         (widget_instantiate): use new gui_item functions.
8123         (tab_control_update): deleted.
8124         (progress_gauge_update): deleted.
8125         (image_instantiator_progress_guage): take out update reference.
8126         (image_instantiator_tree_view): ditto.
8127         (image_instantiator_tab_control): ditto.
8128
8129         * gui.c (widget_gui_parse_item_keywords): new function. Do things
8130         Right the new way.
8131         (gui_item_add_keyval_pair): re-write to cope with descriptors and
8132         return whether anything was changed.
8133         (update_gui_item_keywords): as it sounds.
8134
8135         * gui.h: declare widget_gui_parse_item_keywords.
8136
8137         * fns.c (safe_copy_tree): new function taken from Fcopy_tree.
8138         (Fcopy_tree): use it. Stops infloop death in bogus instantiators.
8139
8140 2001-01-17  Martin Buchholz <martin@xemacs.org>
8141
8142         * XEmacs 21.2.41 "Polyhymnia" is released.
8143
8144 2001-01-16  Didier Verna  <didier@xemacs.org>
8145
8146         * glyphs.c (image_instantiate): don't use fallbacks when
8147         instantiating a face's background pixmap by inheritance.
8148
8149 2001-01-14  Mike Sperber <mike@xemacs.org>
8150
8151         * sysdep.c (start_of_data): PDUMP implies ORDINARY_LINK.
8152         Conditionalize accordingly.
8153
8154 2001-01-16  Martin Buchholz  <martin@xemacs.org>
8155
8156         * dumper.c (pdump_file_get): Fix a compiler warning.
8157
8158 2001-01-15  Martin Buchholz  <martin@xemacs.org>
8159
8160         Make Purify happy when pdumping.
8161         * symbols.c (Fmake_variable_buffer_local): Make Purify happy, by
8162         iniitalizing all bits of new lisp object memory.
8163         * symbols.c (Fmake_local_variable): Likewise.
8164         * symbols.c (Fdontusethis_set_symbol_value_handler): Likewise.
8165         * symbols.c (Fdefvaralias): Likewise.
8166         * mule-charset.c (vars_of_mule_charset): Likewise.
8167
8168 2001-01-15  Martin Buchholz  <martin@xemacs.org>
8169         Add the `-nd' flag when running pre-dump operations under the debugger.
8170         * .dbxrc (run-temacs): Add `-nd'.
8171         * .dbxrc (update-elc): Likewise.
8172         * .dbxrc (dump-temacs): Likewise.
8173         * .gdbinit (run-temacs): Likewise.
8174         * .gdbinit (check-temacs): Likewise.
8175         * .gdbinit (update-elc): Likewise.
8176         * .gdbinit (dump-temacs): Likewise.
8177
8178 2001-01-14  Martin Buchholz  <martin@xemacs.org>
8179
8180         Allow building 64-bit executables on AIX with GNU malloc, e.g.
8181         export OBJECT_MODE=64
8182         configure --pdump --use-union-type=no
8183         * m/ibmrs6000.h (DATA_START): Define for 64-bit world.
8184         * gmalloc.c (__default_morecore): Remove pre-ANSI cruft.
8185
8186         * miscplay.c (sndcnv8U_2mono):
8187         Avoid two uses of `++' in the same expression.
8188         Suppresses a GCC warning.
8189
8190 2001-01-13  Martin Buchholz  <martin@xemacs.org>
8191
8192         Make sure future compilers don't miscompile alloc.c.
8193         * alloc.c:
8194         (MARK_STRUCT_AS_FREE): Make aliasing-optimization-resistant.
8195         (MARK_STRUCT_AS_NOT_FREE): Make aliasing-optimization-resistant.
8196
8197 2001-01-12  Martin Buchholz  <martin@xemacs.org>
8198
8199         * dumper.c: A little post-pdump-rename comment fixup.
8200
8201 2001-01-09  Jerry James  <james@eecs.ku.edu>
8202
8203         * lisp-disunion.h: Change LISP_TO_CVOID arg to match its use.
8204
8205 2001-01-13  Martin Buchholz  <martin@xemacs.org>
8206
8207         * *.[ch]: Globally rename symbols using the following `pdump-rename'
8208         script:
8209         #!/bin/sh
8210         replace_symbol () {
8211           (findn texi$; findn [ch]$) | xargs g -lw "$1" | xargs global-replace 's/(?<!_)\b'$1'\b(?!_)/'$2'/g'
8212         }
8213
8214         replace_symbol pdump_wire_lists pdump_weak_object_chains
8215         replace_symbol pdump_wire_list dump_add_weak_object_chain
8216
8217         replace_symbol pdump_wires pdump_root_objects
8218         replace_symbol pdump_wire dump_add_root_object
8219
8220         replace_symbol pdump_dump_wired pdump_dump_from_root_objects
8221         replace_symbol pdump_dump_structs pdump_dump_from_root_struct_ptrs
8222
8223         replace_symbol dumpstructinfos pdump_root_struct_ptrs
8224         replace_symbol dumpstructinfo_dynarr pdump_root_struct_ptr_dynarr
8225         replace_symbol dumpstructinfo pdump_root_struct_ptr
8226         replace_symbol dumpstruct dump_add_root_struct_ptr
8227
8228         replace_symbol dumpopaque dump_add_opaque
8229         replace_symbol dumpopaqueinfo_dynarr pdump_opaque_dynarr
8230         replace_symbol dumpopaqueinfos pdump_opaques
8231         replace_symbol dumpopaqueinfo pdump_opaque
8232
8233         replace_symbol nb_structdump nb_root_struct_ptrs
8234         replace_symbol nb_opaquedump nb_opaques
8235
8236         replace_symbol align_table pdump_align_table
8237         replace_symbol dump_header pdump_header
8238
8239         replace_symbol DUMP_SIGNATURE_LEN PDUMP_SIGNATURE_LEN
8240         replace_symbol DUMP_SIGNATURE PDUMP_SIGNATURE
8241
8242
8243 2001-01-12  Martin Buchholz  <martin@xemacs.org>
8244
8245         * s/aix4.h: Keep the C for AIX compiler from overaggressively
8246         optimizing bytecount_to_charcount().
8247
8248 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
8249
8250         * config.h.in:
8251         (HAVE_DLFCN_H): Removed.
8252         * sysdll.c: Remove HAVE__DLOPEN, HAVE_DLFCN_H.
8253
8254 2001-01-06  Martin Buchholz  <martin@xemacs.org>
8255
8256         Portable dumper maintainability improvements.
8257         * alloc.c (staticpro):
8258         * alloc.c (staticpro_nodump):
8259         * alloc.c (garbage_collect_1):
8260         * alloc.c (reinit_alloc_once_early):
8261         * alloc.c (init_alloc_once_early):
8262         * alloc.c: Move dumper functions to alloc.c.
8263         * dumper.c (pdump_backtrace):
8264         * dumper.c (pdump_dump_structs):
8265         * dumper.c (pdump_dump_opaques):
8266         * dumper.c (pdump_dump_rtables):
8267         * dumper.c (pdump_dump_wired):
8268         * dumper.c (pdump):
8269         * dumper.c (pdump_load_check):
8270         * dumper.c (pdump_load_finish):
8271         * dumper.c (pdump_file_unmap):
8272         * dumper.c (pdump_file_get):
8273         * dumper.c (pdump_resource_free):
8274         * dumper.c (pdump_resource_get):
8275         * dumper.c (pdump_file_free):
8276         * dumper.c (pdump_file_try):
8277         * dumper.c (pdump_load):
8278         Remove fixed size limits on staticpro(), staticpro_nodump(),
8279         dumpopaque(), dumpstruct() by using Dynarrs instead of static C arrays.
8280         Remove custom code for dumping lrecord_implementations_table - use
8281         dumpopaque instead.
8282         Remove (most of the) custom code for dumping staticpros - dump it
8283         like any other dynarr.
8284
8285         * alloc.h: Removed.  No longer useful, since dumper now more self-contained.
8286         * dumper.c: Moved functions from alloc.c.
8287         * alloc.c (dumpstruct): Moved to dumper.c.
8288         * alloc.c (dumpopaque): Likewise.
8289         * alloc.c (pdump_wire): Likewise.
8290         * alloc.c (pdump_wire_list): Likewise.
8291
8292         * lisp.h (Dynarr_sizeof): New.
8293         * lisp.h (Dynarr_begin): New.  Very slightly C++oid.
8294         * lisp.h (Dynarr_end): New.  Very slightly C++oid.
8295         * lisp.h (Lisp_Object_ptr_dynarr): New.  For staticpros.
8296
8297         * lisp.h (dumpstruct): Define to nothing if not PDUMPing.
8298         * lisp.h (dumpopaque): ditto.
8299         * lisp.h (pdump_wire): ditto.
8300         * lisp.h (pdump_wire_list): ditto.
8301
8302 2001-01-09  Martin Buchholz  <martin@xemacs.org>
8303
8304         * make-src-depend (PrintPatternDeps):
8305         Use `sort' to make output independent of perl version.
8306
8307 2001-01-08  Martin Buchholz  <martin@xemacs.org>
8308
8309         Port to Netbsd 1.5.
8310         * unexelf.c: Remove (never used) bogus Netbsd-specific cruft.
8311         * s/netbsd.c: Use unexelf.o if __ELF__ is defined.
8312
8313 2001-01-03  Didier Verna  <didier@xemacs.org>
8314
8315         * event-stream.c (emacs_handle_focus_change_preliminary): ensure
8316         that `focus_frame' is alive before thinking of calling
8317         `redisplay_redraw_cursor' on it.
8318
8319 2001-01-08  Martin Buchholz <martin@xemacs.org>
8320
8321         * XEmacs 21.2.40 is released.
8322
8323 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
8324
8325         * regex.c: Replace PREFETCH with REGEX_PREFETCH.
8326
8327 2001-01-06  Martin Buchholz  <martin@xemacs.org>
8328
8329         * alloc.c (dbg_valmask): Make const.
8330         * alloc.c (dbg_typemask): Make const.
8331         * alloc.c (dbg_USE_UNION_TYPE): Make const.
8332         * alloc.c (dbg_valbits): Make const.
8333         * alloc.c (dbg_gctypebits): Make const.
8334
8335 2001-01-06  Stephen J. Turnbull  <stephen@xemacs.org>
8336
8337         * redisplay-x.c (x_bevel_area):
8338         redisplay.h (struct rune):
8339         Typo fixes in comments.
8340
8341 2001-01-05  Andy Piper  <andy@xemacs.org>
8342
8343         * glyphs-x.c (x_redisplay_widget): use size changed for offset
8344         adjustment.
8345
8346         * menubar.c (menubar_visible_p_changed): don't mark frame changed.
8347
8348 2001-01-05  Martin Buchholz  <martin@xemacs.org>
8349
8350         * alloc.c (pure-bytes-used): Remove unused mendacious variable.
8351
8352         * mule-ccl.c (stack_idx_of_map_multiple):
8353         Non const global data must not be initialized!
8354         Found by MIYASHITA Hisashi.
8355
8356 2001-01-02  Andy Piper  <andy@xemacs.org>
8357
8358         * frame.c (change_frame_size): make sure frame size is always
8359         marked as changed.
8360
8361         * glyphs.c (image_instance_layout): minor code reuse.
8362
8363         * window.c (Fcurrent_window_configuration): revert previous
8364         change.
8365
8366 2001-01-02  Martin Buchholz  <martin@xemacs.org>
8367
8368         * glyphs.h:
8369         * glyphs.c (make_image_instance_cache_hash_table): Use ANSI prototypes.
8370
8371 2000-12-31  Andy Piper  <andy@xemacs.org>
8372
8373         * glyphs-x.c (x_unmap_subwindow): return focus to enclosing frame
8374         when widget gets unmapped.
8375
8376         * event-Xt.c (emacs_Xt_handle_widget_losing_focus): new
8377         function. Make sure widgets losing focus don't just drop it.
8378         (handle_focus_event_1): record the widget with focus.
8379
8380 2000-12-31  Andy Piper  <andy@xemacs.org>
8381
8382         * window.c (allocate_window): use
8383         make_image_instance_cache_hash_table.
8384         (make_dummy_parent): ditto.
8385         (Fset_window_configuration): ditto.
8386
8387         * glyphs.h (INSTANTIATOR_TYPE): new macro.  declare new functions.
8388
8389         * glyphs.c (process_image_string_instantiator): use
8390         INSTANTIATOR_TYPE.
8391         (get_image_instantiator_governing_domain): ditto.
8392         (normalize_image_instantiator): ditto.
8393         (instantiate_image_instantiator): ditto.
8394         (make_image_instance_1): ditto.
8395         (image_instantiate): ditto. Key on glyph *and* instantiator type.
8396         (instantiator_eq_equal): new function for use with instance hash
8397         tables.
8398         (instantiator_eq_hash): ditto.
8399         (make_image_instance_cache_hash_table): create a suitable hash
8400         table for storing image instances.
8401
8402         * elhash.h (hash_table_weakness): new internal weakness type
8403         HASH_TABLE_KEY_CAR_VALUE_WEAK.
8404         declare new functions.
8405
8406         * elhash.c (finish_marking_weak_hash_tables): introduce yet
8407         another weakness type for glyphs.
8408         (make_standard_lisp_hash_table): new function split out from
8409         make_general_lisp_hash_table.
8410         (make_lisp_hash_table): call make_standard_lisp_hash_table.
8411         (hash_table_instantiate): ditto.
8412         (Fmake_hash_table): ditto.
8413
8414 2000-12-31  Martin Buchholz <martin@xemacs.org>
8415
8416         * XEmacs 21.2.39 is released.
8417
8418 2000-12-29  Andy Piper  <andy@xemacs.org>
8419
8420         * menubar.c (menubar_visible_p_changed): signal the frame changed.
8421
8422         * glyphs-x.c (x_redisplay_widget): Re-calculate widget offsets if
8423         the frame has changed so that we pick up geometry changes such as
8424         menubar visibility.
8425
8426 2000-12-28  Andy Piper  <andy@xemacs.org>
8427
8428         * lastfile.c (my_ebss): make a char array so we can pad the
8429         bss. Fixes cygwin unexec.
8430
8431         * unexcw.c: invert BROKEN_GDB to NO_DEBUG.
8432
8433 2000-12-26  Andy Piper  <andy@xemacs.org>
8434
8435         * event-Xt.c (emacs_Xt_force_event_pending): add some verbose
8436         comments and try and be more precise about a non-/SIGIO world.
8437         (emacs_Xt_event_pending_p): use XtAppPending under cygwin and non
8438         SIGIO.
8439
8440         * redisplay-output.c (redisplay_normalize_glyph_area): make sure
8441         we don't normalize to zero width or height.
8442
8443 2000-12-24  Andy Piper  <andy@xemacs.org>
8444
8445         * Makefile.in.in (ldflags): add -mwindows when appropriate.
8446
8447 2000-08-18  Golubev I. N.  <gin@mo.msk.ru>
8448
8449         * s/sco5.h: SCO 5 has pty support.
8450
8451 2000-07-20  Kazuyuki IENAGA <ienaga@xemacs.org>
8452
8453         * input-method-xlib.c: supports both XIM_XLIB and USE_XFONTSET.
8454         input-method-xlib.c contains whole contents of input-method-xfs.c,
8455         so we can use input-method-xlib.c's code for USE_XFONTSET
8456         using #ifdefs.
8457         * input-method-xfs.c: removed.
8458
8459 2000-12-20  Stephen Turnbull  <stephen@xemacs.org>
8460
8461         * file-coding.h (enum coding_category_type): reorder enumerators to
8462         make autodetection safer.  Make CODING_CATEGORY_LAST an enumerator
8463         (now one greater than largest real coding_category_type enumerator).
8464         * file-coding.c (coding_category_symbol, coding_category_by_priority,
8465         coding_category_system, fcd_descriptihon_1, decode_coding_category,
8466         Fcoding_category_list, Fset_coding_priority_list,
8467         Fcoding_priority_list, coding_system_from_mask, Fdetect_coding_region,
8468         vars_of_file_coding): adjust for change in CODING_CATEGORY_LAST.
8469
8470 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
8471
8472         * redisplay-output.c (redisplay_clear_top_of_window): Remove static.
8473         * redisplay-output.c (redisplay_output_window): Clear top of window
8474         when face is changed.
8475         * redisplay-x.c (x_redraw_exposed_window): Call
8476         redisplay_clear_top_of_window.
8477         * redisplay.h: Publish redisplay_clear_top_of_window.
8478
8479 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
8480
8481         * buffer.c (Fkill_buffer): Map over all devices.
8482         * window.c (window_loop): Remove UNSHOW_BUFFER code.
8483         (list_windows): New function.
8484         (list_all_windows): Ditto.
8485         (Freplace_buffer_in_windows): Use them.
8486
8487 2000-02-02   Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
8488
8489         * database.c (berkdb_subtype): Recognize new subtype `queue'.
8490         (Fopen_database): Use `db_create' instead of `db_open'.
8491         (syms_of_database): Initialize Qqueue.
8492
8493 2000-12-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
8494
8495         * buffer.c (common_init_complex_vars_of_buffer): Initialize
8496         buffer_local_face_property.
8497         * buffer.h (struct buffer): New member buffer_local_face_property.
8498         * window.c (Fset_window_buffer):  Mark window's face as changed
8499         when buffer has buffer local face.
8500         * window.h (MARK_WINDOW_FACES_CHANGED): New macro.
8501         * objects.c (color_after_change): Set buffer_local_face_property
8502         when locale of face specifier is buffer.
8503         * objects.c (font_after_change): Ditto.
8504         * objects.c (face_boolean_after_change): Ditto.
8505         * glyphs.c (image_after_change): Ditto.
8506
8507 2000-12-09  Dan Holmsand  <dan@eyebee.com>
8508
8509         * nt.c (mswindows_fstat): Report file permissions, volume serial
8510         number, etc. Code adapted from FSF Emacs 20.7.
8511
8512 2000-12-09  Dan Holmsand  <dan@eyebee.com>
8513
8514         * sysfile.h (lstat): Make lstat an alias for xemacs_stat instead
8515         of stat when we don't have symbolic links, to make sure
8516         mswindows_stat is called on mswindows.
8517
8518 2000-12-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
8519
8520         * alloca.c: Define malloc to xmalloc only when built with XEmacs.
8521
8522 2000-12-12  Martin Buchholz  <martin@xemacs.org>
8523
8524         * doprnt.c (emacs_doprnt_1): More printing fixes.
8525         Make printing of numbers compatible with libc and FSF Emacs.
8526         BUG was: (format "%6.3f" 1.2) ==>"1.200000"
8527         Use the system printf to do most of the hard work of formatting,
8528         instead of doprnt_1().
8529         Calculate memory to allocate for format string.
8530         Remove arbitrary limit on precision, e.g. (format "%.1000f" 3.14)
8531         (doprnt_1): Cleaner code and documentation.
8532
8533 2000-12-01  Jerry James  <james@eecs.ukans.edu>
8534
8535         * Makefile.in.in: Use the loop variable to install headers.
8536
8537 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
8538
8539         * window.c (Fsplit_window): Don't invalidate face cache.
8540
8541 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
8542
8543         * minibuf.c (Fall_completions): Undo the previous change
8544         which removed checking elements start with space.
8545
8546 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
8547
8548         * mule-canna.c: Didier suppression.
8549
8550 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
8551
8552         * mule-canna.c: rename static unsigned char buf[] to key_buffer
8553         (warning suppression).  Add English comment translations.
8554
8555 2000-12-05  Martin Buchholz  <martin@xemacs.org>
8556
8557         * unexelfsgi.c (unexec): Better test for mmap failure.
8558
8559 2000-12-05  Martin Buchholz <martin@xemacs.org>
8560
8561         * XEmacs 21.2.38 is released.
8562
8563 2000-12-05  Martin Buchholz  <martin@xemacs.org>
8564
8565         * redisplay.c (bar-cursor): Make a user variable.
8566
8567         * symsinit.h: Add init_postgresql_from_environment.
8568
8569 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
8570
8571         * regex.c: Convert to clean C.
8572
8573 2000-12-05  Dan Holmsand  <dan@eyebee.com>
8574
8575         * realpath.c:
8576         Don't #include sysfile.h. Revert to duplicating PATH_MAX
8577         initialization.
8578         (sys_readlink): renamed to system_readlink to avoid conflict with
8579         the other sys_readlink.
8580
8581 2000-12-04  Hiroaki Abe  <h-abe@pc.highway.ne.jp>
8582
8583         * dumper.c (pdump_file_get): Correct uses of pdump_fd.
8584
8585 2000-12-04  Stephen J. Turnbull  <stephen@xemacs.org>
8586
8587         * postgresql.c (init_postgresql_from_environment): new function.
8588         (vars_of_postgresql): Move code initializing Lisp variables out and
8589         into init_postgresql_from_environment.
8590         emacs.c (main_1): Call init_postgresql_from_environment if and only
8591         if running a dumped XEmacs.
8592
8593 2000-08-31  Dan Holmsand  <dan@eyebee.com>
8594
8595         * buffer.c: Make find-file-compare-truenames default to true on
8596         windows.
8597
8598         * realpath.c (win32_abs_start):
8599         (cygwin_readlink):
8600         (win32_readlink): New functions.
8601         (xrealpath): Return really real filenames on windows.
8602
8603         * fileio.c (Ffile_truename): Make file-truename work on windows.
8604
8605 2000-11-29  Didier Verna  <didier@xemacs.org>
8606
8607         * faces.c (MAYBE_UNFROB_BACKGROUND_PIXMAP): new macro.
8608         * faces.c (update_face_cachel_data): use it.
8609         * faces.c (add_face_cachel): use it. Complete background pixmap
8610         frobbing in face cache if `update_face_cachel_data' has not done so.
8611
8612 2000-11-29  Yoshiki Hayashi  <yoshiki@xemacs.org>
8613
8614         * search.c (string_match_1): Don't set last_thing_searched
8615         when search failed.
8616
8617 2000-11-27  Yoshiki Hayashi  <yoshiki@xemacs.org>
8618
8619         * buffer.c: Include casetab.h
8620         (common_init_complex_vars_of_buffer): Use new case-table object.
8621         * buffer.h: Include casetab.h
8622         * buffer.h (MAKE_TRT_TABLE): Use generic char-table.
8623         (DOWNCASE_TABLE_OF): Ditto.
8624         * bufslots.h: Remove char-tables and add case-table.
8625         * casetab.c: Include casetab.h
8626         (CASE_TABLE_P): Removed.
8627         (mark_case_table): New function.
8628         (allocate_case_table): New function.
8629         (Fcase_table_p): Use new case-table.
8630         (case_table_char): New function.
8631         (Fget_case_table): Ditto.
8632         (Fput_case_table): Ditto.
8633         (Fput_case_table_pair): Ditto.
8634         (Fcopy_case_table): Ditto.
8635         (Fcurrent_case_table): Return case-table.
8636         (Fstandard_case_table): Return case-table.
8637         (Fset_case_table): Fix doc-string.
8638         (set_case_table): Use case-table
8639         (syms_of_casetab): DEFSUBR new functions.
8640         (complex_vars_of_casetab): Set up standard case-table.
8641         * casetab.h: New file.
8642         * editfns.c: Include casetab.h
8643         (Fcompare_buffer_substrings): Use case-table.
8644         * inline.c: Include casetab.h
8645         * lisp.h: Remove bogus extern.
8646         * lrecord.h (lrecord_type): Add lrecord_type_case_table.
8647         * search.c: Include casetab.h
8648         (TRANSLATE_ASCII): Removed.
8649         (TRANSLATE): Unconditionally translate character.
8650         (looking_at_1): Use case-table.
8651         (string_match_1): Ditto.
8652         (fast_string_match): Ditto.
8653         (search_command): Ditto.
8654         (search_buffer): Separate boyer_moore.  Check whether
8655         boyer_moore is possible.
8656         (simple_search): New function.
8657         (boyer_moore): Separated from search_buffer. Translate char.
8658
8659 2000-11-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
8660
8661         * regex.c (RE_TR_ASCII): Removed.
8662         (RE_TRANSLATE): Unconditionally use TRT_TABLE.
8663         (PATFETCH): Call PATFETCH_RAW.
8664         (PATFETCH_RAW): Fetch Emchar.
8665         (PATUNFETCH): Decrement charptr.
8666         (GET_BUFFER_SPACE): Rename b to buf_end.
8667         (BUF_PUSH): Ditto.
8668         (BUF_PUSH_2): Ditto.
8669         (BUF_PUSH_3): Ditto.
8670         (EXTEND_BUFFER): Ditto.
8671         (SET_LIST_BIT): Ditto.
8672         (regex_compile): Ditto.  Translate non ASCII char.
8673         (compile_range): Ditto.
8674         (re_search_2): Ditto.
8675         (re_match_2_internal): Compare Emchar.
8676         (bcmp_translate): Ditto.
8677
8678 2000-11-29  Stephen J. Turnbull  <turnbull@xemacs.org>
8679
8680         * lisp.h (basic char/int typedefs):  comment improvement.
8681
8682 2000-11-24  Stephen J. Turnbull  <turnbull@xemacs.org>
8683
8684         * emacs.c (main_1):  unconditional pdump unstomping; don't save and
8685         unstomp inhibit_site_lisp.  Improve comments.
8686
8687 2000-11-22  Stephen J. Turnbull  <turnbull@xemacs.org>
8688
8689         * mule-charset.c (Fcharset_property):  improve type checking, comments.
8690
8691 2000-11-28  Andy Piper  <andy@xemacs.org>
8692
8693         * redisplay-output.c (redisplay_output_subwindow): make sure we do
8694         clipped display for windows in the gutter also.
8695         (redisplay_display_boxes_in_window_p): change semantics of return
8696         codes to be more intuitive.
8697
8698         * gutter.h: declare display_boxes_in_gutter_p.
8699
8700         * gutter.c (display_boxes_in_gutter_p): new function for
8701         redisplay.
8702
8703 2000-11-22  Andy Piper  <andy@xemacs.org>
8704
8705         * glyphs-x.c (image_instantiator_format_create_glyphs_x): change
8706         autodetect domain.
8707
8708 2000-11-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
8709
8710         * callproc.c (Fold_call_process_internal):
8711         * gpm.c (Freceive_gpm_event):
8712         (tty_get_foreign_selection): Might be just warning supression.
8713         * fileio.c (Fwrite_region_internal):
8714         (Fset_visited_file_modtime):
8715         * keymap.c (event_matches_key_specifier_p):
8716         Initialize GCPROed variable.
8717
8718         * menubar-x.c (command_builder_find_menu_accelerator):
8719         Initialize before use.
8720
8721 2000-11-23  Andy Piper  <andy@xemacs.org>
8722
8723         * unexcw.c (unexec): make the resulting executable executable.
8724
8725 2000-11-21  Martin Buchholz  <martin@xemacs.org>
8726
8727         * doc.c (get_doc_string):
8728         Use size_t, not int, for result of XSTRING_LENGTH.
8729
8730         * cmds.c (Fdelete_char):
8731         * cmds.c (Fpoint_at_eol):
8732         * cmds.c (Fself_insert_command):
8733         Use EMACS_INT, not int, for result of XINT.
8734         Someday, someone will want to insert more than 2**31 identical characters.
8735
8736         * cmds.c (Fdelete_char):
8737         * cmds.c (Fdelete_backward_char):
8738         * syntax.c (Fforward_word):
8739         * syntax.c (Fforward_comment):
8740         Make COUNT argument optional, for consistency with forward-char et al.
8741
8742 2000-11-22  Martin Buchholz  <martin@xemacs.org>
8743
8744         * lisp.h:
8745         * print.c (long_to_string):
8746         Return a useful value: the pointer at end of data written.
8747
8748         * doprnt.c:
8749         Use `static const char * const' for constant strings.
8750         (union printf_arg): Delete `i', `ui' members.
8751         (get_doprnt_args):
8752         (emacs_doprnt_1):
8753         Fix LP64 platform bug: (format "%d" most-positive-fixnum) ==> "-1"
8754         Do all printf-ing via the `l' specifier.
8755         Use EMACS_INT instead of int.
8756         Optimize.
8757
8758 2000-11-20  Didier Verna  <didier@xemacs.org>
8759
8760         * faces.c (update_face_cachel_data): don't frob the background
8761         pixmap when the window is being created. The face is needed but
8762         does not exist yet.
8763
8764 2000-11-20  Andy Piper  <andy@xemacs.org>
8765
8766         * unexcw.c (copy_executable_and_dump_data_section): Only do bss
8767         messing with a debug environment.
8768
8769 2000-11-20  Martin Buchholz  <martin@xemacs.org>
8770
8771         * emacs.c (__sti__iflPNGFile_c___): Pedantically correct prototype.
8772
8773 2000-11-20  Martin Buchholz  <martin@xemacs.org>
8774
8775         * casetab.c (Fcase_table_p): Fix compile error and crash.
8776
8777 2000-11-18  Philip Aston  <philipa@mail.com>
8778
8779         * s/cygwin32.h: Cygwin has SVR4-like pty support.
8780
8781 2000-11-18  Martin Buchholz  <martin@xemacs.org>
8782
8783         * fileio.c (Fexpand_file_name): GCPRO bug!  Protect `handler'.
8784         * filelock.c (lock_file): GCPRO bug! Initialize all GCPROed vars!
8785
8786 2000-11-17  Martin Buchholz  <martin@xemacs.org>
8787
8788         * config.h.in: Define HAVE_ELF_H if elf.h exists.
8789         * unexelf.c: Use HAVE_ELF_H.
8790         * unexelfsgi.c: Fix bug with dumped xemacs stdout/stderr not working.
8791         I copied FSF Emacs 20.7 unexelf.c to unexelfsgi.c and ANSIfied it.
8792         Max Matveev <makc@sgi.com> removed non-SGI-relevant parts and tested.
8793         Greg Harrington <greg_harrington@hotmail.com> provided a machine
8794         for testing.
8795         So this is an unexelfsgi.c from a different line of development.
8796
8797 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
8798
8799         * regex.c (RE_TR_ASCII): New function.
8800         (RE_TRANSLATE): Call it.
8801
8802 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
8803
8804         * buffer.h (TRT_TABLE_OF): Remove assert.
8805         (IN_TRT_TABLE_DOMAIN): Removed.
8806
8807 2000-11-16  Gunnar Evermann  <ge204@eng.cam.ac.uk>
8808
8809         * free-hook.c (log_gcpro):
8810         (show_gcprohist): Add support for GCPRO5.
8811
8812 2000-11-08  Stephen J. Turnbull  <stephen@xemacs.org>
8813
8814         * emacs.c (main_1): Improve -sd error message when --pdump=no.
8815
8816 2000-11-16  Olivier Galibert  <galibert@xemacs.org>
8817
8818         * symeval.h: Declare flush_all_buffer_local_cache.
8819
8820         * symbols.c: Change XD_LO_RESET_NIL into XD_LISP_OBJECTs.
8821         (flush_buffer_local_cache): Added.
8822         (flush_all_buffer_local_cache): Added.
8823
8824         * lrecord.h: Remove unused XD_LO_RESET_NIL.
8825
8826         * dumper.c (pdump_register_sub): Remove unused XD_LO_RESET_NIL.
8827         (pdump_dump_data): Ditto.
8828         (pdump_reloc_one): Ditto.
8829         (pdump): Remove unused pdump_qnil.  Flush buffer local caches
8830         before dumping.
8831
8832
8833 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
8834
8835         * buffer.c: Remove if 0'ed entry.
8836         * buffer.h: Rewrite TRT to use char-table.
8837         * bufslots.h: Remove mirror tables.
8838         * casetab.c: Remove mirror tables.
8839         (CASE_TABLE_P): New macro.
8840         (Fcase_table_p): Element of a case table is string or char-table.
8841         (make_mirror_trt_table): Removed.
8842         (set_case_table): Setup char-table from strings for backward
8843         compatibility.
8844         * dired.c (Fdirectory_files):
8845         * dired-msw.c: (mswindows_get_files):
8846         * lisp.h: Change prototype of re_pattern_buffer.
8847         * regex.c: (RE_TRANSLATE): New macro.
8848         (TRANSLATE_P): Ditto.
8849         Change translate to type RE_TRANSLATE_TYPE.
8850         * regex.h: Define RE_TRANSLATE_TYPE
8851         * search.c (TRANSLATE): New macro.
8852         (TRANSLATE_ASCII): New macro.
8853         Translate table is changed to Lisp_Object.
8854         (signal_failure): Inhibit return.
8855
8856 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
8857
8858         * device-msw.c:
8859         * eldap.c:
8860         * event-Xt.c:
8861         * event-stream.c:
8862         * print.c:
8863         Do UNGCPRO before return.
8864
8865 2000-11-14  Martin Buchholz <martin@xemacs.org>
8866
8867         * XEmacs 21.2.37 is released.
8868
8869 2000-11-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
8870
8871         * fileio.c (Finsert_file_contents_internal): UNGCPRO before return.
8872         Add comments about discarded return value.
8873
8874 2000-11-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
8875
8876         * callint.c:
8877         * event-stream.c: Fix comments.  Remove some #if 0'ed part.
8878
8879 2000-10-27  Andy Piper  <andy@xemacs.org>
8880
8881         * gutter.c (Fset_default_gutter_position): default left and right
8882         gutters to visible.
8883         (calculate_gutter_size): calculate resonable heuristic for left
8884         and right gutter sizes.
8885         (specifier_vars_of_gutter): change left and right gutter sizes to
8886         autodetect.
8887         (calculate_gutter_size_from_display_lines): new function.
8888         (output_gutter): check for resizing on left and right gutters.
8889         (clear_gutter): don't special case top and left gutters.
8890         (specifier_vars_of_gutter): use new signature for
8891         set_specifier_caching.
8892
8893         * glyphs-x.c (x_redisplay_widget): spelling fix.
8894         * glyphs.c (specifier_vars_of_glyphs):
8895         * menubar.c (specifier_vars_of_menubar):
8896         * redisplay.c (specifier_vars_of_redisplay):
8897         * toolbar.c (specifier_vars_of_toolbar):
8898         * window.c (specifier_vars_of_window):
8899         * scrollbar.c (specifier_vars_of_scrollbar):
8900         (complex_vars_of_scrollbar): use new signature for
8901         set_specifier_caching.
8902
8903         * specifier.c (set_specifier_caching): include recompute flag.
8904         (recompute_one_cached_specifier_in_window): always recompute if
8905         flag set.
8906         (recompute_one_cached_specifier_in_frame): ditto.
8907
8908         * specifier.h (struct specifier_caching): add recompute flag.
8909
8910 2000-10-24  Andy Piper  <andy@xemacs.org>
8911
8912         * unexcw.c (copy_executable_and_dump_data_section): add new
8913         BSS_PAD_SIZE so that we can re-instate a mini-bss. This keeps gdb
8914         5.0 happy.
8915
8916 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
8917
8918         * console-x.h (x_device): New member modifier_release_time.
8919         * event-Xt.c (x_handle_sticky_modifiers):
8920         Bound interval modifier keys are sticky.
8921         * event-stream.c (Vmodifier_keys_sticky_time): New variable.
8922         * events.h: extern it.
8923
8924 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
8925
8926         * cmdloop.c (Fcommand_loop_1): Just add C-g to event queue.
8927
8928 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
8929
8930         * event-stream.c (execute_command_event): Preserve current_events
8931         and the like when event is misc-user-event.
8932         Inhibit quit during the call to maybe_echo_keys.
8933
8934 2000-10-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
8935
8936         * filelock.c (lock_buffer): Cope with kill-buffer. Don't create a
8937         symlink when buffer is killed.
8938         (inhibit_clash_detection): New variable.
8939
8940 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
8941
8942         * console.c (Fset_input_method): Trigger redisplay on tty.
8943
8944 2000-11-07  Martin Buchholz  <martin@xemacs.org>
8945
8946         * process.c (Fprocess_status): Revert to previous behavior:
8947         (process-status "nosuchprocess") ==> nil
8948
8949 2000-11-06  Martin Buchholz  <martin@xemacs.org>
8950
8951         * mule-charset.h (CHARSET_BY_LEADING_BYTE):
8952         Work around another GCC 2.95.2 optimizer bug.
8953
8954 2000-11-02  Martin Buchholz  <martin@xemacs.org>
8955
8956         * process.c (Fget_process): Use LIST_LOOP_2.
8957         (kill_buffer_processes): Use LIST_LOOP_2.
8958
8959         * minibuf.c (Fall_completions):
8960         Delete old non-functional code for FSF fourth argument.
8961
8962         * frame.c (frame_matches_frame_spec):
8963         Renamed from `frame_matches_frametype'.  Update all callers.
8964         (device_matches_device_spec):
8965         Renamed from 'device_matches_console_spec'.  Update all callers.
8966
8967         * doc.c (Fsubstitute_command_keys):
8968         Remove buffer overflow crash.  Small code cleanups.
8969
8970         * casetab.c (check_case_table): Simpler code.
8971
8972         * window.c (Freplace_buffer_in_windows):
8973         Give this the same WHICH-FRAMES and WHICH-DEVICES parameters
8974         (and similar implementation) as Fdelete_windows_on.
8975         Update all callers.
8976
8977         * alloc.c (Fmake_list):
8978         * alloc.c (make_vector):
8979         * alloc.c (Fmake_vector):
8980         * alloc.c (make_bit_vector):
8981         * alloc.c (Fmake_bit_vector):
8982         * alloc.c (Fbit_vector):
8983         * alloc.c (Fmake_string):
8984         * alloc.c (Fpurecopy):
8985         * alloc.c (Fmemory_limit):
8986         * buffer.c:
8987         * buffer.c (Fget_buffer):
8988         * buffer.c (Fkill_buffer):
8989         * buffer.c (complex_vars_of_buffer):
8990         * bytecode.c (Fcompiled_function_stack_depth):
8991         * callint.c (Fprefix_numeric_value):
8992         * event-stream.c:
8993         * event-stream.c (Fread_key_sequence):
8994         * casetab.c:
8995         * casetab.c (Fcase_table_p):
8996         * casetab.c (check_case_table):
8997         * casetab.c (Fset_case_table):
8998         * casetab.c (Fset_standard_case_table):
8999         * chartab.c:
9000         * chartab.c (Fchar_table_type):
9001         * chartab.c (Freset_char_table):
9002         * chartab.c (Fget_char_table):
9003         * chartab.c (Fget_range_char_table):
9004         * chartab.c (Fput_char_table):
9005         * chartab.c (Fmap_char_table):
9006         * chartab.c (Fcategory_table_p):
9007         * chartab.c (Fcheck_category_at):
9008         * chartab.c (Fchar_in_category_p):
9009         * chartab.c (Fcategory_table):
9010         * chartab.c (Fcopy_category_table):
9011         * chartab.c (Fset_category_table):
9012         * chartab.c (Fcategory_designator_p):
9013         * chartab.c (Fcategory_table_value_p):
9014         * cmds.c (Fdelete_char):
9015         * cmds.c (Fdelete_backward_char):
9016         * cmds.c (Fself_insert_command):
9017         * cmds.c (Fself_insert_internal):
9018         * console.c (Fvalid_console_type_p):
9019         * console.c (Fcdfw_console):
9020         * console.c (Fconsole_type):
9021         * console.c (Fconsole_name):
9022         * console.c (Fconsole_device_list):
9023         * console.c (Fconsole_on_window_system_p):
9024         * data.c:
9025         * data.c (Feq):
9026         * data.c (Fold_eq):
9027         * data.c (Fsubr_interactive):
9028         * data.c (Fchar_to_int):
9029         * data.c (Fint_to_char):
9030         * data.c (Fsetcar):
9031         * data.c (Fsetcdr):
9032         * data.c (Fnumber_to_string):
9033         * data.c (Fstring_to_number):
9034         * data.c (Frem):
9035         * database.c (mark_database):
9036         * database.c (finalize_database):
9037         * database.c (Fdatabase_live_p):
9038         * database.c (Fdatabasep):
9039         * device-x.c (Fx_get_resource):
9040         * device.c (Fdfw_device):
9041         * dired.c:
9042         * dired.c (Ffile_name_completion):
9043         * dired.c (Ffile_name_all_completions):
9044         * dired.c (Fuser_name_completion):
9045         * dired.c (Fuser_name_completion_1):
9046         * dired.c (Fuser_name_all_completions):
9047         * doc.c (Fdocumentation):
9048         * doc.c (Fdocumentation_property):
9049         * doc.c (Fsubstitute_command_keys):
9050         * editfns.c:
9051         * editfns.c (Fchar_to_string):
9052         * editfns.c (Fstring_to_char):
9053         * editfns.c (Ftemp_directory):
9054         * editfns.c (Finsert_char):
9055         * editfns.c (Fbuffer_substring_no_properties):
9056         * editfns.c (Fnarrow_to_region):
9057         * editfns.c (Fchar_equal):
9058         * editfns.c (Fchar_Equal):
9059         * editfns.c (Ftranspose_regions):
9060         * emacs.c (Fdump_emacs):
9061         * eval.c (Fthrow):
9062         * eval.c (Fcommand_execute):
9063         * eval.c (Fautoload):
9064         * eval.c (Fbacktrace):
9065         * eval.c (Fbacktrace_frame):
9066         * events.c:
9067         * events.c (Fcopy_event):
9068         * events.c (Fcharacter_to_event):
9069         * events.c (Fevent_button):
9070         * events.c (Fevent_process):
9071         * extents.c:
9072         * extents.c (Fnext_extent_change):
9073         * extents.c (Fextent_property):
9074         * faces.c (Ffacep):
9075         * faces.c (Fmake_face):
9076         * file-coding.c:
9077         * file-coding.c (Fencode_shift_jis_char):
9078         * file-coding.c (Fencode_big5_char):
9079         * fileio.c (Ffile_name_directory):
9080         * fileio.c (Ffile_name_nondirectory):
9081         * fileio.c (Ffile_name_as_directory):
9082         * fileio.c (Fdirectory_file_name):
9083         * fileio.c (Ffile_truename):
9084         * fileio.c (Fsubstitute_in_file_name):
9085         * fileio.c (Ffile_modes):
9086         * fileio.c (Fset_file_modes):
9087         * fileio.c (Fset_default_file_modes):
9088         * fileio.c (Fverify_visited_file_modtime):
9089         * floatfns.c (Facos):
9090         * floatfns.c (Fasin):
9091         * floatfns.c (Fatan):
9092         * floatfns.c (Fcos):
9093         * floatfns.c (Fsin):
9094         * floatfns.c (Ftan):
9095         * floatfns.c (Fbessel_j0):
9096         * floatfns.c (Fbessel_j1):
9097         * floatfns.c (Fbessel_jn):
9098         * floatfns.c (Fbessel_y0):
9099         * floatfns.c (Fbessel_y1):
9100         * floatfns.c (Fbessel_yn):
9101         * floatfns.c (Ferf):
9102         * floatfns.c (Ferfc):
9103         * floatfns.c (Flog_gamma):
9104         * floatfns.c (Fexp):
9105         * floatfns.c (Fexpt):
9106         * floatfns.c (Flog):
9107         * floatfns.c (Flog10):
9108         * floatfns.c (Fsqrt):
9109         * floatfns.c (Fcube_root):
9110         * floatfns.c (Facosh):
9111         * floatfns.c (Fasinh):
9112         * floatfns.c (Fatanh):
9113         * floatfns.c (Fcosh):
9114         * floatfns.c (Fsinh):
9115         * floatfns.c (Ftanh):
9116         * floatfns.c (Fabs):
9117         * floatfns.c (Ffloat):
9118         * floatfns.c (Flogb):
9119         * floatfns.c (Fceiling):
9120         * floatfns.c (Ffloor):
9121         * floatfns.c (Fround):
9122         * floatfns.c (Ftruncate):
9123         * floatfns.c (Ffceiling):
9124         * floatfns.c (Fffloor):
9125         * floatfns.c (Ffround):
9126         * floatfns.c (Fftruncate):
9127         * fns.c (Fstring_equal):
9128         * fns.c (Fstring_lessp):
9129         * fns.c (concat2):
9130         * fns.c (concat3):
9131         * fns.c (vconcat2):
9132         * fns.c (vconcat3):
9133         * fns.c (Fsubstring):
9134         * fns.c (Fassoc):
9135         * fns.c (Fold_assoc):
9136         * fns.c (assoc_no_quit):
9137         * fns.c (Fassq):
9138         * fns.c (Fold_assq):
9139         * fns.c (assq_no_quit):
9140         * fns.c (Frassoc):
9141         * fns.c (Fold_rassoc):
9142         * fns.c (Frassq):
9143         * fns.c (Fold_rassq):
9144         * fns.c (rassq_no_quit):
9145         * fns.c (Fremassoc):
9146         * fns.c (remassoc_no_quit):
9147         * fns.c (Fremassq):
9148         * fns.c (remassq_no_quit):
9149         * fns.c (Fremrassoc):
9150         * fns.c (Fremrassq):
9151         * fns.c (remrassq_no_quit):
9152         * fns.c (Fsort):
9153         * fns.c (Fplist_get):
9154         * fns.c (Fplist_put):
9155         * fns.c (Fplist_remprop):
9156         * fns.c (Fplist_member):
9157         * fns.c (Flax_plist_get):
9158         * fns.c (Flax_plist_put):
9159         * fns.c (Flax_plist_remprop):
9160         * fns.c (Flax_plist_member):
9161         * fns.c (Fequal):
9162         * fns.c (Fold_equal):
9163         * fns.c (Frequire):
9164         * fns.c (Fbase64_encode_region):
9165         * fns.c (Fbase64_encode_string):
9166         * fns.c (Fbase64_decode_region):
9167         * frame.c:
9168         * frame.c (frame_matches_frame_spec):
9169         * frame.c (device_matches_device_spec):
9170         * frame.c (next_frame):
9171         * frame.c (previous_frame):
9172         * frame.c (Fnext_frame):
9173         * frame.c (Fprevious_frame):
9174         * frame.c (Fframe_property):
9175         * frame.c (Fset_frame_height):
9176         * frame.c (Fset_frame_size):
9177         * frame.h:
9178         * glyphs.c:
9179         * glyphs.c (if):
9180         * glyphs.c (decode_error_behavior_flag):
9181         * glyphs.c (Fmake_image_instance):
9182         * indent.c (Findent_to):
9183         * intl.c (Fignore_defer_gettext):
9184         * keymap.c (Fkeymapp):
9185         * keymap.c (Flookup_key):
9186         * lread.c:
9187         * lread.c (Fload_internal):
9188         * lread.c (Feval_buffer):
9189         * lread.c (Feval_region):
9190         * macros.c (Fexecute_kbd_macro):
9191         * marker.c (set_marker_internal):
9192         * marker.c (Fset_marker):
9193         * marker.c (set_marker_restricted):
9194         * marker.c (Fcopy_marker):
9195         * marker.c (noseeum_copy_marker):
9196         * menubar.c:
9197         * menubar.c (Fpopup_menu):
9198         * minibuf.c:
9199         * mule-charset.c (Fcharset_name):
9200         * mule-charset.c (Fchar_charset):
9201         * mule-charset.c (Fchar_octet):
9202         * mule-charset.c (Fsplit_char):
9203         * mule-wnnfns.c (Fwnn_open):
9204         * mule-wnnfns.c (Fwnn_dict_comment):
9205         * mule-wnnfns.c (Fwnn_quit_henkan):
9206         * mule-wnnfns.c (Fwnn_word_toroku):
9207         * mule-wnnfns.c (Fwnn_word_sakujo):
9208         * mule-wnnfns.c (Fwnn_word_use):
9209         * mule-wnnfns.c (Fwnn_hindo_set):
9210         * objects.c:
9211         * objects.c (Fmake_color_instance):
9212         * objects.c (Fmake_font_instance):
9213         * print.c (Fwrite_char):
9214         * process.c:
9215         * process.c (mark_process):
9216         * process.c (print_process):
9217         * process.c (get_process_from_usid):
9218         * process.c (Fprocessp):
9219         * process.c (Fprocess_live_p):
9220         * process.c (Fget_process):
9221         * process.c (Fget_buffer_process):
9222         * process.c (get_process):
9223         * process.c (Fprocess_id):
9224         * process.c (Fprocess_name):
9225         * process.c (Fprocess_command):
9226         * process.c (init_process_io_handles):
9227         * process.c (start_process_unwind):
9228         * process.c (Fstart_process_internal):
9229         * process.c (Fopen_multicast_group_internal):
9230         * process.c (Fset_process_window_size):
9231         * process.c (read_process_output):
9232         * process.c (send_process):
9233         * process.c (Fprocess_tty_name):
9234         * process.c (Fset_process_buffer):
9235         * process.c (Fprocess_buffer):
9236         * process.c (Fprocess_mark):
9237         * process.c (set_process_filter):
9238         * process.c (Fset_process_filter):
9239         * process.c (Fprocess_filter):
9240         * process.c (Fprocess_send_region):
9241         * process.c (Fprocess_send_string):
9242         * process.c (exec_sentinel):
9243         * process.c (Fset_process_sentinel):
9244         * process.c (Fprocess_sentinel):
9245         * process.c (status_notify):
9246         * process.c (Fprocess_status):
9247         * process.c (Fprocess_exit_status):
9248         * process.c (process_send_signal):
9249         * process.c (Fprocess_send_eof):
9250         * process.c (deactivate_process):
9251         * process.c (remove_process):
9252         * process.c (Fdelete_process):
9253         * process.c (kill_buffer_processes):
9254         * process.c (Fprocess_kill_without_query):
9255         * process.c (Fprocess_kill_without_query_p):
9256         * rangetab.c:
9257         * rangetab.c (Fget_range_table):
9258         * rangetab.c (Fput_range_table):
9259         * rangetab.c (Fremove_range_table):
9260         * rangetab.c (Fclear_range_table):
9261         * search.c:
9262         * search.c (Fskip_chars_forward):
9263         * search.c (Fskip_chars_backward):
9264         * search.c (Fskip_syntax_forward):
9265         * search.c (Fskip_syntax_backward):
9266         * search.c (search_command):
9267         * search.c (Freplace_match):
9268         * search.c (Fregexp_quote):
9269         * select.c (Fown_selection_internal):
9270         * select.c (Fselection_owner_p):
9271         * select.c (Fselection_exists_p):
9272         * select.c (Fget_selection_internal):
9273         * specifier.c:
9274         * symbols.c:
9275         * symbols.c (Fintern):
9276         * symbols.c (Fintern_soft):
9277         * symbols.c (Funintern):
9278         * symbols.c (Fapropos_internal):
9279         * symbols.c (Fset_default):
9280         * syntax.c:
9281         * syntax.c (Fsyntax_table_p):
9282         * syntax.c (Fcopy_syntax_table):
9283         * syntax.c (Fset_syntax_table):
9284         * syntax.c (Fchar_syntax):
9285         * syntax.c (syntax_match):
9286         * syntax.c (Fmatching_paren):
9287         * syntax.c (Fforward_word):
9288         * syntax.c (scan_lists):
9289         * syntax.c (Fscan_lists):
9290         * syntax.c (Fscan_sexps):
9291         * syntax.c (Fparse_partial_sexp):
9292         * toolbar.c (Fcheck_toolbar_button_syntax):
9293         * tooltalk.doc:
9294         * window.c:
9295         * window.c (Fwindowp):
9296         * window.c (Fwindow_live_p):
9297         * window.c (Fwindow_point):
9298         * window.c (Fdelete_window):
9299         * window.c (Fnext_window):
9300         * window.c (Fprevious_window):
9301         * window.c (Fother_window):
9302         * window.c (window_loop):
9303         * window.c (Fget_lru_window):
9304         * window.c (Fsplit_window):
9305         * window.c (Fenlarge_window):
9306         * window.c (Fenlarge_window_pixels):
9307         * window.c (Fshrink_window):
9308         * window.c (Fshrink_window_pixels):
9309         * window.c (change_window_height):
9310         * window.c (Fwindow_configuration_p):
9311         * window.c (Fcurrent_window_configuration):
9312         * window.h:
9313         * casefiddle.c (casify_object):
9314         * casefiddle.c (Fupcase):
9315         * casefiddle.c (Fdowncase):
9316         * casefiddle.c (Fcapitalize):
9317         * casefiddle.c (Fupcase_initials):
9318         * casefiddle.c (casify_region_internal):
9319         * casefiddle.c (casify_region):
9320         * casefiddle.c (Fupcase_region):
9321         * casefiddle.c (Fdowncase_region):
9322         * casefiddle.c (Fcapitalize_region):
9323         * casefiddle.c (Fupcase_initials_region):
9324         * casefiddle.c (Fupcase_word):
9325         * casefiddle.c (Fdowncase_word):
9326         * casefiddle.c (Fcapitalize_word):
9327         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
9328         Replace 0 with '\0' when working with bytes.
9329         Replace initial "(" with "\(" in docstrings.
9330
9331 2000-11-01  Martin Buchholz  <martin@xemacs.org>
9332
9333         * config.h.in: Handle alloca with Compaq C on Alpha Linux.
9334
9335         * m/alpha.h: Let configure handle SYSTEM_MALLOC on Linux.
9336
9337 2000-10-31  Martin Buchholz  <martin@xemacs.org>
9338
9339         * eldap.c (print_ldap): 64-bit cleaner.  Fixes warning.
9340
9341 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
9342
9343         * doprnt.c (emacs_do_prnt_1): Format (format "%01.2d" 10)
9344         correctly.
9345
9346 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
9347
9348         * fileio.c (Vauto_save_list_file_prefix): Moved from startup.el.
9349         (inhibit_auto_save_session): New variable.
9350         (vars_of_fileio): Declare and initialize them.
9351         * fileio.c (Fdo_auto_save): Don't create session file if
9352         Vinhibit_auto_save_session or Vauto_save_list_file_prefix is non-nil.
9353
9354 2000-10-31  Martin Buchholz  <martin@xemacs.org>
9355
9356         * sgiplay.c (play_internal): C++ compilability.
9357         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Remove unused var `SFTB_prev'.
9358         * callproc.c (Fold_call_process_internal):
9359         Remove unused vars `env', `first'.
9360         * scrollbar.c (update_scrollbar_instance):
9361         #### unused var `current_window'.
9362         * redisplay-tty.c: Put currently unused vars insert_mode_on,
9363         etc. within #ifdef NOT_YET.
9364         * emacs.c: #### unused vars `initial_argc', `initial_argv'.
9365         * dialog-x.c (dbox_descriptor_to_widget_value): ### unused var `title'.
9366         * specifier.c (specifier_instance):
9367         #### unused var `tag'.
9368         Use WINDOW_BUFFER, FRAME_DEVICE instead of their expansion.
9369
9370 2000-10-27  Martin Buchholz  <martin@xemacs.org>
9371
9372         * fns.c (Fbutlast):
9373         * fns.c (list_sort):
9374         * fns.c (Ffillarray):
9375         * fns.c (bytecode_nconc2):
9376         * fns.c (Fnconc):
9377         * fns.c (mapcar1):
9378         * fns.c (Fmapconcat):
9379         Be pedantically 64-bit correct.  For the time when someone will
9380         want to have a list with length > 2**32.
9381
9382         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
9383         Work around MIPSpro compiler bug.
9384
9385         * process-unix.c (unix_kill_child_process): Add snarky comment.
9386         * process-unix.c (try_to_initialize_subtty):  Oops, `=' ==> `=='
9387
9388         * config.h.in: Oops, _getpt ==> _getpty
9389
9390 2000-10-26  Martin Buchholz  <martin@xemacs.org>
9391
9392         * config.h.in:
9393         * regex.c:
9394         Use void*, not char*, as return type of alloca().
9395
9396         * alloc.c (free_marker): Side effect inside assert expression!
9397
9398 2000-10-16  MIYASHITA Hisashi  <himi@m17n.org>
9399
9400         * mule-charset.c (Fset_charset_ccl_program): To check
9401         if the given ccl program is valid, use setup_ccl_program()
9402         instead of CHECK_VECTOR().
9403         (Fmake_charset): Likewise.
9404
9405 2000-10-20  Golubev I. N.  <gin@mo.msk.ru>
9406
9407         * faces.c (get_extent_fragment_face_cache_index):
9408         Fix cachel.merged_faces memory leak.
9409
9410 2000-10-14  MIYASHITA Hisashi  <himi@m17n.org>
9411
9412         * mule-ccl.c (ccl_driver)<CCL_DECODE_SJIS>:
9413         Reset MSB of octets obtained by DECODE_SJIS
9414         because of the incompatibility with Emacs.
9415         (ccl_driver)<CCL_ENCODE_SJIS>:
9416         Set MSB of octets before passing them to
9417         ENCODE_SJIS because of the incompatibility
9418         with Emacs.
9419
9420 2000-10-18   Daiki Ueno  <ueno@unixuser.org>
9421
9422         * lrecord.h (DECLARE_TYPECHECK_LRECORD): Abolish.
9423         (DECLARE_LRECORD): Undo the last change.
9424         (DECLARE_EXTERNAL_LRECORD): Expand typechecking stuff.
9425
9426 2000-10-17   Daiki Ueno  <ueno@unixuser.org>
9427
9428         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Connect
9429         the implementation to lrecord_implementations_table.
9430
9431 2000-10-14   Daiki Ueno  <ueno@unixuser.org>
9432
9433         * lrecord.h (MAKE_EXTERNAL_LRECORD_IMPLEMENTATION): Don't set the
9434         initial value of `lrecord_type_##c_name' and
9435         `lrecord_##c_name.lrecord_type_index'; discard "const" qualifier.
9436         (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): New macro.
9437         [ERROR_CHECK_TYPECHECK] (DECLARE_TYPECHECK_LRECORD): New macro.
9438         [ERROR_CHECK_TYPECHECK] (DECLARE_LRECORD): Use it.
9439         [ERROR_CHECK_TYPECHECK] (DECLARE_EXTERNAL_LRECORD): Use it.
9440
9441 2000-10-17  Martin Buchholz  <martin@xemacs.org>
9442
9443         * miscplay.c (sndcnv8S_2mono):
9444         (sndcnv2monounsigned):
9445         (sndcnvULaw_2linear):
9446         (sndcnv16swap):
9447         Remove implementation-defined behavior.
9448
9449 2000-10-12  Martin Buchholz  <martin@xemacs.org>
9450
9451         * input-method-xlib.c: Warning suppression.
9452
9453 2000-10-05  MIYASHITA Hisashi  <himi@m17n.org>
9454
9455         * mule-ccl.c: Sync up with Emacs 21.0.90.
9456         (ccl_driver)<CCL_TranslateCharacter>: Disabled.
9457         Do nothing.
9458         (ccl_driver)<CCL_TranslateCharacterConstTbl>:
9459         Likewise.
9460         (ccl_driver[WriteMultibyteChar2]): Bug fix.
9461         Use MAX_LEADING_BYTE_OFFICIAL_2 instead of
9462         MIN_LEADING_BYTE_OFFICIAL_2 to check whether the
9463         leading char belongs to official 2-dimensional charset.
9464         (CCL_WRITE_CHAR): When CCL_MODE_ENCODING,
9465         write the given character as is.  Otherwise,
9466         if it is a multibyte char, convert it by
9467         non_ascii_set_charptr_emchar, then write it.
9468         (CCL_WRITE_STRING): Likewise.
9469         (ccl_get_compiled_code): New function.
9470         (setup_ccl_program): When ccl_prog is invalid,
9471         return -1.
9472         (Fregister_code_conversion_map): New function.
9473         (syms_of_mule_ccl): defsubr Fregister_code_conversion_map.
9474
9475         * mule-ccl.h: Sync up with Emacs 21.0.90.
9476         (Fregister_ccl_program): export it.
9477
9478         * redisplay-msw.c (separate_textual_runs):
9479         If ccl program is not valid, don't do ccl conversion.
9480
9481         * redisplay-x.c (separate_textual_runs): Ditto.
9482
9483         * file-coding.c (Fmake_coding_system):
9484         When type is ccl and value is vector, register it
9485         with a proper symbol.  And checks whether the
9486         given ccl program is valid.
9487         (mule_decode): When calling ccl_driver, if src indicates
9488         NULL pointer, set an empty string instead.
9489         (mule_encode): Likewise.
9490
9491 2000-10-11  Martin Buchholz  <martin@xemacs.org>
9492
9493         The following large batch of changes gets us back to a state of
9494         C++ compilability.  Extbyte is now a char, which means that
9495         Extbyte * and Bufbyte * cannot be freely interchanged - a win!
9496
9497         * tooltalk.c (Fset_tooltalk_message_attribute): Type correctness.
9498
9499         * sound.c (Fplay_sound): Type correctness.
9500
9501         * select-x.c (hack_motif_clipboard_selection): Type correctness.
9502         (x_get_window_property): Type correctness.
9503         (receive_incremental_selection): unsigned char ==> Extbyte
9504         (selection_data_to_lisp_data): unsigned char ==> Extbyte
9505         (Fx_get_cutbuffer_internal): unsigned char ==> Extbyte
9506         (Fx_store_cutbuffer_internal): Type correctness.
9507
9508         * process-unix.c (try_to_initialize_subtty): Type correctness.
9509
9510         * objects-x.c (x_print_color_instance): Type correctness.
9511         (x_print_font_instance): Type correctness.
9512         (x_list_fonts): SExtbyte ==> Extbyte.
9513         (valid_x_font_name_p): SExtbyte ==> Extbyte.
9514         (x_find_charset_font): SExtbyte ==> Extbyte.
9515         Use TO_INTERNAL_FORMAT.  build_string ==> make_string.
9516         (truename_via_XListFonts): SExtbyte ==> Extbyte.
9517         (x_font_instance_properties): Use TO_INTERNAL_FORMAT.
9518         Use bufbyte_strcmp.
9519
9520         * mule-charset.h (LEADING_BYTE_PREFIX_P): unsigned char ==> Bufbyte
9521         (PRIVATE_LEADING_BYTE_PREFIX): Add paranoia cast.
9522         (BYTE_ASCII_P): Use bit ops for char-signedness safety.
9523         (BYTE_C0_P): Use bit ops for char-signedness safety.
9524         (BYTE_C1_P): Use bit ops for char-signedness safety.
9525         (CHARSET_BY_LEADING_BYTE):
9526         (CHARSET_BY_ATTRIBUTES):
9527         Always use inline function.
9528         Use type_checking_assert.
9529         Hide chlook.
9530
9531         * mule-charset.c (non_ascii_charptr_copy_char):
9532         Modify to work with both ASCII and non-ASCII characters.
9533         Improve docs and variable names.
9534         Replace over-clever fall-through switch with a simple loop.
9535         (Lstream_get_emchar_1):
9536         Replace over-clever fall-through switch with a simple loop.
9537
9538         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
9539         Warning suppression.
9540
9541         * lstream.h (Lstream_get_emchar): BYTE_ASCII_P cannot be used on
9542         the return value of Lstream_getc, which could be EOF as well.
9543
9544         * lstream.c (Lstream_raw_read): Now returns ssize_t, not int.
9545
9546         * lisp.h: Make Extbyte a char, not unsigned char, so that external
9547         APIs can be used on Extbytes without casts.  Risky!
9548         (SExtbyte): Remove.
9549         (UExtbyte): Remove.
9550
9551         * input-method-xlib.c (XIM_init_device):
9552         Use Xlib.h instead of IntrinsicP.h.
9553         Use HAVE_XREGISTERIMINSTANTIATECALLBACK instead of THIS_IS_X11R6,
9554         which will break in X11R7.
9555         Use XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE,
9556         to call XRegisterIMInstantiateCallback with correct types.
9557
9558         * gui-x.c (button_item_to_widget_value): Type correctness.
9559
9560         * glyphs.c (bitmap_to_lisp_data):  Type correctness.
9561
9562         * glyphs-x.c (pixmap_from_xbm_inline): Type correctness.
9563         (xbm_instantiate_1): Type correctness.
9564         (BUILD_GLYPH_INST):  Type correctness.
9565
9566         * fileio.c (Fsubstitute_in_file_name): Type correctness.
9567
9568         * file-coding.c:
9569         (decode_coding_sjis):
9570         (decode_coding_big5):
9571         (decode_coding_ucs4):
9572         (decode_coding_utf8):
9573         (decode_coding_iso2022):
9574         (decode_coding_no_conversion):
9575         Make all decoding functions take an Extbyte * arg.
9576         (encode_coding_sjis):
9577         (encode_coding_big5):
9578         (encode_coding_ucs4):
9579         (encode_coding_utf8):
9580         (encode_coding_iso2022):
9581         (encode_coding_no_conversion):
9582         Make all encoding functions take a Bufbyte * arg.
9583         Use size_t instead of unsigned int for memory sizes.
9584         Only cast to unsigned char whenever dereferencing Extbyte *.
9585
9586         * doc.c (unparesseuxify_doc_string): Type correctness.
9587
9588         * console-x.c (split_up_display_spec):
9589         Rewrite without using details of internal string representation.
9590         (x_semi_canonicalize_device_connection): Type correctness.
9591
9592         * config.h.in:
9593         (HAVE_XREGISTERIMINSTANTIATECALLBACK): New.
9594         (XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE): New.
9595         (HAVE_XFREE386): Removed.
9596
9597         * buffer.h (DEC_CHARPTR): `const' correctness.
9598         (bufbyte_strcmp): New.
9599         (bufbyte_memcmp): New.
9600
9601         * buffer.c (dfc_convert_to_internal_format): Extbyte ==> Bufbyte
9602
9603         * buffer.h (XCHAR_OR_CHAR_INT):
9604         Always use inline function.
9605         Remove redundant type checking assert() - XINT will abort quite nicely.
9606
9607 2000-10-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
9608
9609         * search.c (Freplace_match): Set newtext to an empty string.
9610
9611 2000-10-10  Martin Buchholz  <martin@xemacs.org>
9612
9613         * s/decosf1-3.h: Remove #include of stropts.h
9614         * s/ptx.h: Remove #include of stropts.h
9615         * s/usg5-4.h: Remove #include of stropts.h
9616         * sysproc.h:
9617         * config.h.in:
9618         Use stropts.h, not sys/stropts.h.
9619         Use strtio.h, not sys/strtio.h.
9620
9621 2000-10-04  Martin Buchholz <martin@xemacs.org>
9622
9623         * XEmacs 21.2.36 is released.
9624
9625 2000-09-21  Andy Piper  <andy@xemacs.org>
9626
9627         * glyphs-x.c (x_redisplay_widget): make sure non-structural
9628         changes still involve copying the widget tree.
9629         (update_widget_face): make sure a change is register in the widget
9630         tree. Call update_tab_widget_face appropriately.
9631         (update_tab_widget_face): ditto.
9632         (x_tab_control_redisplay): make sure non-structural changes still
9633         involve copying the widget tree.
9634
9635 2000-08-31   Daiki Ueno  <ueno@unixuser.org>
9636
9637         * lread.c (locate_file): Check the path element is non-nil.
9638
9639 2000-10-02  Martin Buchholz  <martin@xemacs.org>
9640
9641         * lisp.h: Warning suppression for SCO compilers.
9642
9643         * redisplay-tty.c (reset_tty_modes): Fix crash.
9644         E.g. from xemacs running on X: (delete-device (make-device 'tty nil))
9645
9646 2000-09-27  Martin Buchholz  <martin@xemacs.org>
9647
9648         Big signal/process handling overhaul.  Bugs fixed:
9649         M-x shell, type `sleep 10000', M-x comint-interrupt-subjob and
9650         M-x comint-kill-subjob should work for both values nil and t of
9651         process-connection-type. It was broken on most platforms.
9652         Testing on Irix and Cygwin still needed.  Other plaforms tested.
9653         * sysdep.c: Move #include of stropts.h into sysproc.h.  Use pid_t.
9654         * process-unix.c: Signal/Process handling overhaul.
9655         (pty_name): make 64 bytes, as `expect' does, for paranoia.
9656         (allocate_pty): Use all available modern methods of allocating
9657         ptys, falling back to old style BSD allocation as a last resort.
9658         Use allegedly more secure Unix98 pty allocation by default.
9659         (allocate_pty_the_old_fashioned_way): New. the last resort.
9660         (unix_create_process): Push ptem, ldterm, ttcompat where
9661         available.  Autoconfiscate.
9662         (try_to_initialize_subtty): New.
9663         (unix_kill_child_process): Proper signal handling for ptys on most
9664         platforms, using special knowledge of AIX, BSD, etc...
9665         (unix_create_process): Always disconnect_controlling_terminal() for
9666         subprocesses, whether using ptys or not.
9667         * process.h: Remove old getpt-dependent PTY code.
9668         * process.c (Fprocess_send_signal): New, obvious generic function.
9669         (decode_signal): New.
9670         (Finterrupt_process):
9671         (Fkill_process):
9672         (Fquit_process):
9673         (Fstop_process):
9674         (Fcontinue_process):
9675         (Fsignal_process): Use decode_signal.
9676         (process_send_signal):
9677         Many docstring corrections.
9678         Allow any signal to be sent to a process object.
9679         * config.h.in: Add symbols for big signal/process overhaul.
9680         * syssignal.h (EMACS_KILLPG): Use HAVE_KILLPG. Use `pid', not `gid'.
9681         * sysproc.h: Include process-related headers, where available:
9682         sys/stropts.h sys/strtio.h pty.h libutil.h
9683         * s/irix4-0.h:
9684         * s/irix5-0.h:
9685         * s/cygwin32.h:
9686         * s/gnu.h:
9687         * s/linux.h:
9688         * s/hpux.h:
9689         * s/aix3-1.h:
9690         Remove old S&M pty stuff.
9691         * console-tty.c (tty_init_console): Use pid_t, not int, for pids.
9692         * systty.h: Simplify cpp hackery, improve comments.
9693         Favor BSD ioctl(TIOCGPGRP) over Posix tcgetpgrp().
9694
9695         * editfns.c (Fformat_time_string):
9696         Be a little more paranoid with the return value of ctime.
9697
9698         * fileio.c (check_executable):
9699         (check_writable):
9700         Use symbolic constants X_OK, W_OK.
9701
9702         * console-x.c (split_up_display_spec): Fix a warning.
9703
9704 2000-10-02  Martin Buchholz  <martin@xemacs.org>
9705
9706         * gui-x.c (add_accel_and_to_external): strlen ==> XSTRING_LENGTH
9707         * ntproc.c (sys_spawnve): make_string ==> build_string
9708         Small clarity improvements.
9709
9710 2000-09-30  Martin Buchholz  <martin@xemacs.org>
9711
9712         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY): Warning removal.
9713
9714         * s/windowsnt.h (HAVE_STRCASECMP): Remove.
9715
9716         * config.h.in (HAVE_STRCASECMP): Remove.
9717
9718 2000-09-29  Martin Buchholz  <martin@xemacs.org>
9719
9720         * redisplay-output.c (redisplay_output_pixmap):
9721         Cleaner and possibly more 64-bit correct code.
9722
9723 2000-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
9724
9725         * dumper.c (pdump_load_finish): move restoration of
9726         `noninteractive1' to emacs.c (main_1).
9727         * emacs.c (main_1): protect LISP-visible command-line flags
9728         from pdump_load().
9729
9730 2000-09-26  Stephen J. Turnbull  <stephen@xemacs.org>
9731
9732         * Makefile.in.in (versionclean):  Use EXE_TARGET and
9733         DUMP_TARGET instead of literal program names.
9734
9735 2000-09-20  Martin Buchholz  <martin@xemacs.org>
9736
9737         * Makefile.in.in: Recent purify's require absolute paths for cache-dir.
9738
9739 2000-09-19  Martin Buchholz  <martin@xemacs.org>
9740
9741         * *: Spelling mega-patch
9742
9743 2000-09-19  Martin Buchholz  <martin@xemacs.org>
9744
9745         * fns.c (bad_bad_turtle):
9746         Delete "Eek!" comment, since we fixed the bug to which it refers.
9747
9748 2000-09-16  Martin Buchholz  <martin@xemacs.org>
9749
9750         * alloca.c: Replace REGISTER with register.
9751
9752 2000-09-16   Daiki Ueno  <ueno@unixuser.org>
9753
9754         * file-coding.c (ucs_to_char): Use countof.
9755
9756 2000-09-16  Martin Buchholz  <martin@xemacs.org>
9757
9758         * file-coding.c: (ucs_to_char):
9759         (complex_vars_of_file_coding):
9760         Use countof instead of sizeof.
9761         Use CHECK_NATNUM instead of CHECK_INT.
9762
9763         * sysdep.c (strcasecmp): Remove.
9764         * device-x.c (ascii_strcasecmp): New.
9765         * device-x.c (Fx_get_resource): Use ascii_strcasecmp.
9766         Avoid using non-standard non-portable strcasecmp.
9767
9768 2000-09-16  Martin Buchholz  <martin@xemacs.org>
9769
9770         * Makefile.in.in (mostlyclean): remove reference to prefix-args.
9771         * font-lock.c: remove reference to emacsfns.h.
9772         * search.c: small doc improvement.
9773         * event-Xt.c: correct file names in comments.
9774         * console-x.h Correct file names in comments.
9775         * frame.c: Correct file names in comments.
9776         * event-stream.c: remove Energize from comments.
9777
9778 2000-09-15  Martin Buchholz  <martin@xemacs.org>
9779
9780         * symeval.h (DEFERROR_STANDARD):
9781         (DEFERROR):
9782         (DEFSYMBOL):
9783         (DEFSYMBOL_NO_DUMP):
9784         (DEFSYMBOL_MULTIWORD_PREDICATE):
9785         (DEFSYMBOL_MULTIWORD_PREDICATE_NO_DUMP):
9786         (DEFKEYWORD):
9787         The construct &##name is not sensible C.
9788         Fixes compilation errors with Unixware native compiler.
9789
9790 2000-09-14  Martin Buchholz  <martin@xemacs.org>
9791
9792         * frame.c (device_matches_console_spec): no longer takes a `frame' arg
9793         (next_frame_internal): Removed.  We now just have next_frame.
9794         (next_frame):
9795         Write a simpler and cleaner one-pass algorithm.
9796         Remove called_from_delete_device arg and #ifdefed-out code.
9797         (previous_frame):
9798         Renamed from prev_frame.  Update callers.
9799         Cleaned up to have an analogous implementation to next_frame.
9800         (other_visible_frames_internal): Remove the
9801         called_from_delete_device bogus arg, and hence, remove this
9802         function.  Just use other_visible_frames().
9803
9804         * window.c (Fnext_window):
9805         Prettify docstring.
9806         Since next_frame() is guaranteed to return a frame, remove check
9807         for nil inserted in previous patch.
9808         (Fprevious_window):
9809         Prettify docstring.
9810         Make code look more like Fnext_window.
9811         (window_loop):
9812         Respect the `console' arg when iterating through windows.
9813         Fixes bug: (get-buffer-window buffer t device) not respecting
9814         the `device' arg.
9815         This function needs more work, as others have pointed out.
9816
9817         * frame.h: Rename prev_frame to previous_frame.
9818         device_matches_console_spec no longer takes a `frame' arg.
9819
9820         * s/gnu.h:
9821         * s/linux.h:
9822         * s/hpux.h:
9823         Use EMACS_BLOCK_SIGNAL instead of sigblock.
9824         From "Golubev I. N." <gin@mo.msk.ru>.
9825
9826         * make-src-depend: Fix typo.
9827
9828 2000-09-13  Martin Buchholz  <martin@xemacs.org>
9829
9830         * window.c (Fnext_window):
9831         next_frame() might return nil, not a frame.
9832         Fixes this crash:
9833         (gdb) run -eval '(progn  (make-device (quote x) "polgar:0") (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
9834
9835         * frame.c (next_frame_internal):
9836         We've passed a frame if we've passed its device.
9837         Fixes this crash:
9838         (gdb) run -eval '(progn (make-frame nil (make-device (quote x) "polgar:0")) (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
9839 Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245, RECORD_TYPEP (obj, lrecord_type_frame)
9840
9841 2000-09-11  Jonathan Harris  <jhar@tardis.ed.ac.uk>
9842
9843         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
9844         Allow option to suppress accelerators in menu/dialog items.
9845         (populate_or_checksum_helper): Pass dialog title through above.
9846
9847 2000-09-10  Jonathan Harris  <jhar@tardis.ed.ac.uk>
9848
9849         * event-msw.c (mswindows_key_to_emacs_keysym):
9850         Add "pause" key, fix "menu" key.
9851
9852 2000-09-09  Martin Buchholz  <martin@xemacs.org>
9853
9854         * eval.c (reinit_vars_of_eval):
9855         Increase max_lisp_eval_depth to 1000,
9856         required for thai-xtis.el to byte-compile under some circumstances.
9857
9858 2000-09-04  Martin Buchholz  <martin@xemacs.org>
9859
9860         * event-Xt.c (x_to_emacs_keysym): Increase size of `buffer' to 513.
9861         From Kenichi Handa.
9862
9863 2000-09-01  Martin Buchholz  <martin@xemacs.org>
9864
9865         * make-src-depend: Make the generated Makefiles smaller.
9866
9867         * s/hpux.h (SETUP_SLAVE_PTY):
9868         Provide a %d in the format string for the errno argument.
9869
9870         * editfns.c (Ftemp_directory):
9871         Warning fix.
9872         Avoid buffer overrun on very long file name.
9873
9874         * input-method-xlib.c (XIM_init_device):
9875         6th parameter of XRegisterIMInstantiateCallback has different
9876         pointer types on different OSes, so simply cast to (void *).
9877
9878         * unexhp9k800.c: Warning fixes.  Fiddly changes.
9879
9880         * sysdll.c (dll_open):
9881         shl_load will hang hard if passed a NULL filename.
9882         Simply return NULL for compatibility with dlopen.
9883         * sysdll.c: Conform to XEmacs coding standards.
9884
9885         * sysdep.c (get_pty_max_bytes):
9886         Support pty input lines longer than 512 bytes on HP-UX 10.20.
9887
9888 2000-08-31  Martin Buchholz  <martin@xemacs.org>
9889
9890         * tooltalk.c: Add #include <syssignal.h>
9891
9892 2000-08-12  Alexandre Oliva  <aoliva@redhat.com>
9893
9894         * s/hpux.h: Don't use undefined function sigunblock().
9895
9896 2000-08-31  Martin Buchholz  <martin@xemacs.org>
9897
9898         * config.h.in: Add HAVE_BALLOON_HELP.
9899         * emacs.c: Use HAVE_BALLOON_HELP.
9900         * Makefile.in.in (x_objs):
9901         Make Balloon Help conditional on finding shape.h.
9902
9903 2000-08-23  Yoshiki Hayashi  <yoshiki@xemacs.org>
9904
9905         * syntax.c (regex_emacs_buffer_p): New variable.
9906         * syntax.h (regex_emacs_buffer_p): extern.
9907         * search.c (looking_at_1):
9908         (string_match_1):
9909         (fast_string_match):
9910         (search_buffer): Set regex_emacs_buffer_p.
9911         * regex.c (re_match_2_internal): Reference regex_emacs_buffer_p
9912         when before_dot, at_dot, after_dot.
9913
9914 2000-08-23  Andy Piper  <andy@xemacs.org>
9915
9916         * gui-x.c (popup_selection_callback): Only set action_occurred
9917         when we really have an image instance.
9918         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
9919
9920 2000-08-23  Andy Piper  <andy@xemacs.org>
9921
9922         * gui-msw.c (mswindows_handle_gui_wm_command): set
9923         action_occurred.
9924         * gui-x.c (popup_selection_callback): ditto.
9925
9926         * glyphs.h (IMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): new accessor.
9927         (XIMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): ditto.
9928         (struct Lisp_Image_Instance): add action_occurred flag.
9929
9930         * glyphs.c (redisplay_subwindow): use action_occurred flag.
9931         (image_instance_changed): ditto.
9932         (reset_frame_subwindow_instance_cache): only unmap windows - do
9933         not remove them from the cache also.
9934
9935         * glyphs-widget.c (tab_control_update): better debug.
9936         (progress_gauge_update): ditto.
9937         (layout_update): ditto.
9938         (layout_instantiate): ditto.
9939         (tab_control_order_only_changed): cope with null pending items.
9940
9941         * glyphs-msw.c (mswindows_tab_control_redisplay): add better
9942         debug. Force selection of an item when an action occurred. Cope
9943         with null pending_items.
9944         (mswindows_progress_gauge_redisplay): better debug.
9945         * glyphs-x.c (x_tab_control_redisplay): ditto.
9946
9947         * redisplay.c (redisplay_frame): reset the frame cache if the
9948         frame is garbaged.
9949
9950         * window.c (Fset_window_configuration): potentially re-enable
9951         frame cache reset.
9952         (window_unmap_subwindows): need to finalize instances here since
9953         it is only used in mark_window_as_deleted.
9954
9955 2000-08-22  Stephen J. Turnbull  <stephen@xemacs.org>
9956
9957         * nas.c (SndOpenDataForReading):
9958         nas.c (WaveOpenDataForReading):
9959         nas.c (readChunk): {BIG,LITTLE}_ENDIAN -> NAS_{BIG,LITTLE}_ENDIAN.
9960         Somehow escaped from the 2000-08-14 patch.
9961
9962 2000-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
9963
9964         * nas.c:  Preprocessor trickery to use NAS_LITTLE_ENDIAN instead
9965         of LITTLE_ENDIAN (conflicts with glibc, at least) in NAS <= 1.2p5.
9966
9967 2000-08-21  Andy Piper  <andy@xemacs.org>
9968
9969         * glyphs-x.c (x_map_subwindow): Minor optimization - only map the
9970         window if it is not already displayed.
9971
9972         * glyphs-msw.c (mswindows_map_subwindow): only map the window if
9973         it is not already displayed.
9974
9975         * window.c (Fset_window_configuration): don't reset the frame
9976         cache.
9977
9978         * glyphs.c (unmap_subwindow_instance_cache_mapper): only remove
9979         instances from the frame cache if we are actually finalizing them.
9980         (reset_frame_subwindow_instance_cache): reset frame cache only
9981         after unmapping everything.
9982         (map_subwindow): set displayed flag after mapping.
9983
9984 2000-08-21  Martin Buchholz  <martin@xemacs.org>
9985
9986         * data.c (indirect_function):
9987         Rename ERRORP to non-misleading VOID_FUNCTION_ERRORP.
9988
9989         * eval.c (function_argcount):
9990         Use original function when signaling errors.
9991
9992 2000-08-18  Andy Piper  <andy@xemacs.org>
9993
9994         * frame.c (delete_frame_internal): use new
9995         free_frame_subwindow_instances name.
9996
9997         * glyphs-msw.c (mswindows_tab_control_instantiate): verify index.
9998         (add_tab_item): make return type correct.
9999         (mswindows_tab_control_instantiate): assert index of tab.
10000         (mswindows_tab_control_redisplay): Re-code to use
10001         gui_item_equal_sans_selected and gui_item_list_find_selected.
10002
10003         * glyphs-widget.c (tab_control_update): Correct comment.
10004
10005         * window.c (window_unmap_subwindows): use new
10006         unmap_subwindow_instance_cache_mapper.
10007         (window_unmap_subwindows_cache_mapper): deleted.
10008         (Fset_window_configuration): comparisons should now be with
10009         EQ. Preserve the subwindow instance cache across configuration
10010         changes.
10011         (allocate_window): ditto.
10012         (make_dummy_parent): ditto.
10013
10014         * glyphs.c (free_frame_subwindow_instances): rename from
10015         free_frame_subwindow_instance_cache. finalize all instances rather
10016         than just those in the display cache.
10017         (finalize_all_subwindow_instances): walk windows unmapping and
10018         finalizing subwindows.
10019         (unmap_subwindow_instance_cache_mapper): moved from
10020         window.c. Allow finalization as well as unmapping.
10021
10022         * gui.c (gui_item_list_find_selected): new function.
10023
10024         * gui.h (gui_item_list_find_selected): declare.
10025
10026         * glyphs-x.c (x_tab_control_redisplay): pick tab
10027         explicitly. Re-code to use gui_item_equal_sans_selected and
10028         gui_item_list_find_selected.
10029
10030         * glyphs-x.h: add lwlib-utils.h
10031
10032         * buffer.c (Frecord_buffer): undo previous change.
10033
10034 2000-08-09  Vin Shelton  <acs@xemacs.org>
10035
10036         * config.h.in, s/gnu.h, s/hpux.h, s/linux.h: Use UNIX98 PTYs if
10037         possible.  Create temporary files more securely.  The patch was
10038         generated by Torsten Duwe <duwe@caldera.de>, Florian Weimer
10039         <Florian.Weimer@RUS.Uni-Stuttgart.DE> and Olaf Kirch.  See
10040         http://www.xemacs.org/list-archives/xemacs-patches/200007/msg00123.html
10041         for details.
10042
10043 2000-08-07  Ben Wing  <ben@xemacs.org>
10044
10045         * getloadavg.c: remove duplicate (and windows-breaking)
10046         includes of fcntl.h and sys/file.h.
10047
10048         * nt.c: remove duplicate getloadavg() definition.
10049
10050         * sysdll.h (Qdll_filename_encoding): add missing stand-in
10051         encodings.
10052
10053 2000-08-07  Gunnar Evermann  <ge204@eng.cam.ac.uk>
10054
10055         * eval.c (function_argcount): If function needs to be autoloaded
10056         actually use the loaded definition.
10057         GCPRO function.
10058
10059 2000-08-05  Ben Wing  <ben@xemacs.org>
10060
10061         * getloadavg.c: add prototype for getloadavg().  remove
10062         duplicate WIN32_NATIVE/CYGWIN code (already in the middle
10063         of the code).  remove duplicate header includes.
10064
10065         * s\cygwin32.h, s\mingw32.h: remove stray NO_ARG_ARRAY.
10066
10067         * s\cygwin32.h, s\mingw32.h, m\windowsnt.h:
10068         don't define LOAD_AVE_TYPE/LOAD_AVE_CVT because we have no
10069         useful load average.
10070
10071         * alloc.c (reinit_alloc_once_early): removed references to
10072         VIRT_ADDR_VARIES, malloc_sbrk_used/free, and data-bytes-used/free.
10073         the lisp vars are the only things referencing the malloc_sbrk_*
10074         vars, and they were already if 0'd out.  these vars only exist
10075         in the older malloc.c, which is basically unused, and they're
10076         only for informational purposes.
10077
10078         * m\*.h: removed useless VIRT_ADDR_VARIES.
10079
10080         * m\powerpc.h: removed stray NO_ARG_ARRAY.
10081
10082 2000-04-26  IKEYAMA Tomonori  <tomonori@suiyokai.org>
10083
10084         * redisplay-msw.c (mswindows_output_dibitmap): Set foreground
10085         color if the image is a mono pixmap.
10086
10087 2000-07-30  Ben Wing  <ben@xemacs.org>
10088
10089         * Makefile.in.in (release):
10090         Remove stray @.
10091
10092         * buffer.c (directory_is_current_directory):
10093         * dired-msw.c (mswindows_get_files):
10094         * dired.c:
10095         * dired.c (Fdirectory_files):
10096         * dired.c (file_name_completion_stat):
10097         * dired.c (Ffile_attributes):
10098         [[[[1]]]]: Rename stat() -> xemacs_stat() and eliminate nasty
10099         preprocessor tricks, to avoid problems on some machines
10100         (e.g. SCO).
10101
10102         * callproc.c (egetenv): GC docs.
10103
10104         * console-msw.h:
10105         * console-msw.h (struct mswindows_dialog_id):
10106         * lrecord.h (lrecord_type):
10107         New object for use with MSW dialogs.
10108
10109         * console.h (struct console_methods):
10110         New enable/disable frame methods, for proper modal dialogs.
10111
10112         * device-msw.c (msprinter_default_printer): Fix to follow
10113         proper Mule conventions.
10114
10115         * device-msw.c:
10116         * device-msw.c (signal_open_printer_error):
10117         * device-msw.c (msprinter_init_device):
10118         * device-msw.c (ensure_not_printing):
10119         * device-msw.c (plist_get_margin):
10120         * device-msw.c (Fmsprinter_select_settings):
10121         * device-msw.c (finalize_devmode):
10122         * device-msw.c (Fmsprinter_settings_despecialize):
10123         * device-msw.c (signal_enum_priner_error):
10124         * extents.c (decode_extent):
10125         * extents.c (decode_map_extents_flags):
10126         * extents.c (decode_extent_at_flag):
10127         * extents.c (Fextent_at):
10128         * extents.c (Fextents_at):
10129         * extents.c (symbol_to_glyph_layout):
10130         [[[[2]]]] Use structured errors.
10131
10132         * dialog-msw.c:
10133         * dialog-msw.c (mswindows_is_dialog_msg):
10134         * dialog-msw.c (mark_mswindows_dialog_id):
10135         * dialog-msw.c (dialog_proc):
10136         * dialog-msw.c (handle_question_dialog_box):
10137         * dialog-msw.c (syms_of_dialog_mswindows):
10138         Define new object to clean up marking; use it as a dialog identifier.
10139         Call new delete-dialog-box-hook.
10140
10141         * dialog-x.c (dbox_selection_callback):
10142         * dialog-x.c (dbox_descriptor_to_widget_value):
10143         * dialog-x.c (x_make_dialog_box_internal):
10144         Call new delete-dialog-box-hook.
10145         Return an id.
10146
10147         * dialog.c:
10148         * dialog.c (syms_of_dialog):
10149         * dialog.c (vars_of_dialog):
10150         Define new delete-dialog-box-hook, for use w/modal dialog boxes.
10151
10152         * eval.c:
10153         * eval.c (signal_call_debugger):
10154         when noninteractive, output stack traces on the console instead
10155         of in a (never-seen) buffer.
10156
10157         * eval.c (signal_type_error):
10158         * eval.c (invalid_argument_2):
10159         * lisp.h:
10160         new funs for use w/structured errors.
10161
10162         * event-Xt.c:
10163         * event-Xt.c (x_to_emacs_keysym):
10164         * event-Xt.c (describe_event):
10165         * event-Xt.c (emacs_Xt_event_handler):
10166         * event-Xt.c (vars_of_event_Xt):
10167         * event-msw.c:
10168         * event-msw.c (mswindows_wnd_proc):
10169         * event-msw.c (vars_of_event_mswindows):
10170         rename {x,mswindows}-debug-events to debug-{}-events for
10171         consistency with other debug-foo variables.
10172
10173         * event-stream.c:
10174         document next-event more clearly.
10175
10176         * fileio.c (Ffile_name_directory):
10177         * fileio.c (Ffile_name_nondirectory):
10178         * fileio.c (Funhandled_file_name_directory):
10179         * fileio.c (file_name_as_directory):
10180         * fileio.c (Ffile_name_as_directory):
10181         * fileio.c (directory_file_name):
10182         * fileio.c (Fdirectory_file_name):
10183         * fileio.c (Fmake_temp_name):
10184         * fileio.c (Ffile_truename):
10185         * fileio.c (Fsubstitute_in_file_name):
10186         * fileio.c (expand_and_dir_to_file):
10187         * fileio.c (barf_or_query_if_file_exists):
10188         * fileio.c (check_executable):
10189         * fileio.c (Ffile_exists_p):
10190         * fileio.c (Ffile_writable_p):
10191         * fileio.c (Ffile_directory_p):
10192         * fileio.c (Ffile_regular_p):
10193         * fileio.c (Ffile_modes):
10194         * fileio.c (Ffile_newer_than_file_p):
10195         * fileio.c (Fverify_visited_file_modtime):
10196         * fileio.c (Fset_visited_file_modtime):
10197         * fileio.c (auto_save_1):
10198         (1). (2).
10199         fix up gcpro's.
10200
10201         * frame-msw.c:
10202         * frame-msw.c (mswindows_init_frame_1):
10203         * frame-msw.c (mswindows_enable_frame):
10204         * frame-msw.c (error_frame_unsizable):
10205         * frame-msw.c (msprinter_init_frame_1):
10206         * frame-msw.c (msprinter_init_frame_3):
10207         * frame-msw.c (console_type_create_frame_mswindows):
10208         (2).
10209         implement new enable/disable frame methods.
10210
10211         * frame-x.c:
10212         * frame-x.c (x_enable_frame):
10213         * frame-x.c (console_type_create_frame_x):
10214         implement new enable/disable frame methods.
10215
10216         * frame.c:
10217         * frame.c (Fdisable_frame):
10218         * frame.c (syms_of_frame):
10219         * frame.h (struct frame):
10220         implement new enable/disable frame methods/functions.
10221
10222         * general-slots.h:
10223         add initial-focus.
10224
10225         * glyphs-msw.c (mswindows_widget_instantiate):
10226         comment that initial-focus should be implemented.
10227
10228         * glyphs-widget.c:
10229         * glyphs-widget.c (check_valid_instantiator):
10230         * glyphs-widget.c (check_valid_orientation):
10231         * glyphs-widget.c (check_valid_tab_orientation):
10232         * glyphs-widget.c (check_valid_justification):
10233         * glyphs-widget.c (check_valid_border):
10234         * glyphs-widget.c (check_valid_callback):
10235         * glyphs-widget.c (check_valid_int_or_function):
10236         * glyphs-widget.c (check_valid_string_or_vector):
10237         * glyphs-widget.c (check_valid_item_list_1):
10238         * glyphs-widget.c (widget_validate):
10239         * glyphs-widget.c (combo_box_validate):
10240         * glyphs-widget.c (widget_instantiate):
10241         * glyphs-widget.c (syms_of_glyphs_widget):
10242         * glyphs-widget.c (VALID_WIDGET_KEYWORDS):
10243         * glyphs-widget.c (image_instantiator_combo_box):
10244         * glyphs-widget.c (image_instantiator_scrollbar):
10245         * glyphs-widget.c (image_instantiator_tab_control):
10246         * glyphs-widget.c (VALID_LAYOUT_KEYWORDS):
10247         (2).
10248         support (unimplemented) keyword initial-focus.
10249         reindent long macros.
10250
10251         * glyphs-x.c (x_redisplay_widget):
10252         * glyphs-x.c (x_button_instantiate):
10253         * glyphs-x.c (x_button_redisplay):
10254         * glyphs-x.c (x_progress_gauge_instantiate):
10255         * glyphs-x.c (x_edit_field_instantiate):
10256         * glyphs-x.c (x_combo_box_instantiate):
10257         * glyphs-x.c (x_tab_control_instantiate):
10258         * glyphs-x.c (x_label_instantiate):
10259         * gui-x.c:
10260         * gui-x.c (button_item_to_widget_value):
10261         * gui-x.c (gui_items_to_widget_values_1):
10262         * gui-x.c (gui_item_children_to_widget_values):
10263         * gui-x.c (gui_items_to_widget_values):
10264         * gui-x.h:
10265         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
10266         add new flag to gui-parsing routines to indicate whether
10267         accelerator specs should be supported.
10268
10269         * glyphs.c (syms_of_glyphs): use DEFSYMBOL.
10270
10271         * glyphs.h (struct Lisp_Image_Instance):
10272         * glyphs.h (IMAGE_INSTANCE_WANTS_INITIAL_FOCUS):
10273         add initial-focus flag.
10274
10275         * gui.c:
10276         * gui.c (syms_of_gui):
10277         * gui.c (vars_of_gui):
10278         clean up menu-no-selection-hook.
10279
10280         * gui.h:
10281         support delete-dialog-box-hook.
10282
10283         * lread.c (Fload_internal):
10284         * lread.c (locate_file_in_directory_mapper):
10285         (1).
10286
10287         * lrecord.h:
10288         * lrecord.h (struct toolbar_button):
10289         * lrecord.h (syms_of_toolbar):
10290         document how to create a new object.
10291
10292         * menubar-msw.c (mswindows_char_is_accelerator):
10293         may be called on frames w/o menus.
10294
10295         * menubar.c (vars_of_menubar):
10296         clean up :filter docs.
10297
10298         * nt.c (readdir):
10299         * ntproc.c:
10300         (1).
10301
10302         * process-nt.c:
10303         * process-nt.c (validate_signal_number):
10304         * process-nt.c (signal_cannot_launch):
10305         * process-nt.c (nt_create_process):
10306         * process-nt.c (nt_send_process):
10307         * process-nt.c (nt_kill_child_process):
10308         * process-nt.c (nt_open_network_stream):
10309         * process-nt.c (syms_of_process_nt):
10310         (2).
10311         delete quote-handling.  call new lisp code that does it better.
10312
10313         * process-unix.c (connect_to_file_descriptor):
10314         * process-unix.c (allocate_pty):
10315         * process-unix.c (unix_send_process):
10316         * process-unix.c (unix_kill_child_process):
10317         * process-unix.c (unix_open_network_stream):
10318         * process-unix.c (unix_open_multicast_group):
10319         (1). (2).
10320
10321         * process.c:
10322         * process.c (Fstart_process_internal):
10323         (2).  need to canonicalize process path even if absolute.
10324
10325         * select-msw.c (symbol_to_ms_cf):
10326         * select-msw.c (ms_cf_to_symbol):
10327         * select-msw.c (cf_is_autofreed):
10328         * select-msw.c (mswindows_destroy_selection):
10329         * select.c:
10330         * select.c (syms_of_select):
10331         * select.h:
10332         support dibv5, fix bugs. (from Mike Alexander)
10333
10334         * select.c (Fget_selection_internal):
10335         * select.c (select_convert_out):
10336
10337         * sysdep.c:
10338         * sysdep.c (xemacs_stat):
10339         renamed.
10340
10341         * sysdep.c (mkdir):
10342         * sysdep.c (rmdir):
10343         but keep original stat() here because we provide encapsulation
10344         around these funs.
10345
10346         * sysfile.h:
10347         * sysfile.h (fstat):
10348         remove stat garbage.
10349
10350         * syswindows.h:
10351         fix X/MSW conflict.
10352         don't include tchar.h.  it's inappropriate because it makes
10353         compile-time distinctions when we want runtime distinctions.
10354         (we provide our own tchar replacements)
10355
10356         * toolbar.c:
10357         use default object printer for toolbar-button.
10358
10359         * unexcw.c:
10360         make sure we don't encapsulate.
10361
10362         * window.c (vars_of_window):
10363         emphasize that temp-buffer-show-hook is obsolete.
10364
10365 2000-08-05  Martin Buchholz  <martin@xemacs.org>
10366
10367         * glyphs.c (image_instance_hash): HASH2 wants EMACS_INT args.
10368         (Fimage_instance_subwindow_id): make_int wants EMACS_INT arg.
10369
10370         * events.c (Fevent_timestamp_lessp):
10371         Not 64-bit clean.  Use EMACS_INT, not int.
10372
10373 2000-06-05  Andrew Begel <abegel@cs.berkeley.edu>
10374
10375         * lrecord.h (lrecord_types): Changed lrecord_type_count to an
10376         unsigned int and changed the last enum to
10377         lrecord_type_last_built_in_type.
10378         (lrecord_implementations_table): changed prototype to know how
10379         long the array is supposed to be.
10380         (lrecord_type_count): new unsigned int to keep track of the
10381         current number of lisp lrecord types.
10382         (DEFINE_EXTERNAL_LRECORD):
10383         (DECLARE_EXTERNAL_LRECORD): Added these two for external
10384         dynamic-modules to declare new lisp types. They are the same
10385         as the non-EXTERNAL forms, but declare an lrecord_type unsigned
10386         int for each new type, and increment lrecord_type_count by 1.
10387
10388         * alloc.c (lrecord_implementations_table): Changed to reference
10389         lrecord_type_last_built_in_type for the size of the array.
10390         Moved MODULE_DEFINABLE_TYPE_COUNT to lrecord.h.
10391
10392 2000-08-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
10393
10394         * glyphs.h (check_valid_item_list): Renamed from
10395         check_valid_item_list_1.
10396
10397 2000-08-01 Alastair J. Houghton <ajhoughton@lineone.net>
10398
10399         * select.c (Qselect_coerce): New.
10400         * select.c (Vselection_coercion_alist): New.
10401         * select.c (syms_of_select): Declare.
10402         * select.c (get-selection-internal): Use it.
10403         Use the new select-coerce functionality.
10404
10405         * select.c (select_coerce): New.
10406         * select.h (select_coerce): Declare.
10407         New function to coerce one type of data into another.
10408
10409 2000-08-03  Martin Buchholz  <martin@xemacs.org>
10410
10411         * callproc.c (Fcall_process_internal):
10412         (Fcall_process_internal):
10413         * process-unix.c (unix_create_process):
10414         Save and restore the value of errno, so that error messages are accurate.
10415
10416 2000-08-01  Martin Buchholz  <martin@xemacs.org>
10417
10418         * elhash.c (print_hash_table):
10419         Fix printing of hash tables to also use `key-and-value' instead of `t'.
10420         Prettify docstrings and indentation.
10421
10422 2000-07-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
10423
10424         * window.c (Fwindow_pixel_edges): Subtract frame border and
10425         gutter size.
10426
10427 2000-07-31  Andy Piper  <andy@xemacs.org>
10428
10429         * buffer.c (Frecord_buffer): make absolutely sure that redisplay
10430         will acknowledge the change.
10431
10432         * glyphs.h: declare tab_control_order_only_changed.
10433
10434         * glyphs-x.c (x_tab_control_redisplay): use
10435         tab_control_order_only_changed.
10436
10437         * glyphs-widget.c (tab_control_order_only_changed): new function.
10438
10439         * glyphs-msw.c (mswindows_tab_control_redisplay): use
10440         tab_control_order_only_changed.
10441
10442         * gui.c (gui_item_equal_sans_selected): new function.
10443         (gui_item_equal): use it.
10444
10445         * glyphs-msw.c (mswindows_combo_box_instantiate): deprecate
10446         :properties in favor of :items..
10447
10448         * glyphs-widget.c (check_valid_item_list): rename from
10449         check_valid_item_list_1.
10450         (check_valid_item_list_1): renamed.
10451         (combo_box_validate): deprecate :properties in favor of :items.
10452         (widget_instantiate): ditto.
10453         (tab_control_update): ditto.
10454         (image_instantiator_combo_box): ditto.
10455         (image_instantiator_tree_view): ditto.
10456         (image_instantiator_tab_control): ditto.
10457         (layout_post_instantiate): remove dead code.
10458
10459         * print.c (debug_print_no_newline): only write to debugger if in
10460         WIN32_NATIVE.
10461
10462         * elhash.c (Fmake_hash_table): update doc string.
10463
10464         * event-msw.c (mswindows_wnd_proc): don't allow processing of
10465         messages whilst in GC. This at least stops XEmacs crashing but has
10466         the potential for wierd behaviour.
10467
10468 2000-07-31  Martin Buchholz  <martin@xemacs.org>
10469
10470         * config.h.in:
10471         Make existence of s&m files optional.
10472
10473         * s/bsd386.h: Remove HAVE_GETLOADAVG.
10474         * s/freebsd.h: Remove HAVE_GETLOADAVG.
10475         * s/gnu.h: Remove HAVE_GETLOADAVG.
10476         * s/netbsd.h: Remove HAVE_GETLOADAVG.
10477         * s/sol2.h: Remove HAVE_GETLOADAVG.
10478         * lisp.h: Remove getloadavg() declaration.
10479         * fns.c:
10480         Include <sys/loadavg.h> if available.
10481         Don't declare our own getloadavg() if HAVE_GETLOADAVG.
10482         * config.h.in:  Group together getloadavg()-related macros.
10483         Use only configure-time tests to detect getloadavg().
10484
10485 2000-07-30  Martin Buchholz  <martin@xemacs.org>
10486
10487         * Makefile.in.in (TransientEmacsShell.o): Fix race condition.
10488
10489 2000-07-25  Andy Piper  <andy@xemacs.org>
10490
10491         * syswindows.h: add tchar.h for native builds.
10492
10493         * frame.c (syms_of_frame): remove set-glyph-image.
10494
10495         * general-slots.h: add Qset_glyph_image.
10496
10497         * glyphs-widget.c (layout_update): add domain arg to
10498         set-glyph-image.
10499         (syms_of_glyphs_widget): remove set-glyph-image.
10500
10501 2000-07-23  Ben Wing  <ben@xemacs.org>
10502
10503         * dialog-msw.c (vars_of_dialog_mswindows): need to staticpro
10504         Vpopup_frame_list.
10505
10506 2000-07-22  Andy Piper  <andy@xemacs.org>
10507
10508         * symsinit.h: add syms_of_win32().
10509
10510         * gui-msw.c (syms_of_gui_mswindows): remove
10511         Fmswindows_shell_execute.
10512         (Fmswindows_shell_execute): moved to win32.c.
10513
10514         * emacs.c (main_1): add syms_of_win32 ().
10515
10516         * win32.c (init_potentially_nonexistent_functions): rewrite in
10517         compiler-friendly terms.
10518         (Fmswindows_shell_execute): move here from gui-msw.c.
10519         (syms_of_win32): new.
10520
10521         * device-msw.c (Fmswindows_printer_list): clean up args to
10522         EnumPrinters.
10523         Don't include tchar under cygwin or mingw.
10524         (msprinter_default_printer): make cygwin-friendly.
10525
10526 2000-07-21  Andy Piper  <andy@xemacs.org>
10527
10528         * glyphs-widget.c (image_instantiator_tree_view): use tab
10529         control's update function.
10530         (layout_property): new function. Retrieve items.
10531
10532         * glyphs-msw.c (mswindows_tree_view_redisplay): new
10533         function. Re-populate the tree view from the pending items.
10534
10535         * glyphs.c (instantiate_image_instantiator): Make sure the domain
10536         is designated the parent if the domain is an image instance. This
10537         is needed so that dirtiness can be cascade up the hierarchy and
10538         thus for layout children to be redisplayed correctly.
10539         (allocate_image_instance): rename glyph -> parent.
10540
10541         * redisplay.h: change redisplay_output_layout signature.
10542
10543         * redisplay-msw.c (mswindows_output_display_block): use domain
10544         arg.
10545
10546         * redisplay-x.c (x_output_display_block): use domain arg.
10547
10548 2000-07-10  Andy Piper  <andy@xemacs.org>
10549
10550         * window.c (Fset_window_configuration): add comment.
10551
10552         * redisplay-output.c (compare_runes):
10553         (redisplay_output_subwindow): redisplay rather than update subwindow.
10554         (redisplay_output_layout): ditto.
10555
10556         * redisplay-msw.c (mswindows_frame_output_end):
10557         (mswindows_frame_output_end): make defer window pos optional.
10558
10559         * lisp.h: add Flast.
10560
10561         * glyphs.h (struct image_instantiator_methods): add dest_mask top
10562         normalize method. Change update method to be for changed
10563         instantiators. Add redisplay method. Change signature of layout
10564         method.
10565         (struct Lisp_Image_Instance): add instantiator.
10566         (IMAGE_INSTANCE_INSTANTIATOR): new.
10567         (IMAGE_INSTANCE_SUBWINDOW_FACE): new.
10568         (XIMAGE_INSTANCE_INSTANTIATOR): new.
10569         (XIMAGE_INSTANCE_SUBWINDOW_FACE): new.
10570
10571         * glyphs.c:
10572         (find_instantiator_differences): new function.
10573         (Fset_instantiator_property): new convenience function.
10574         (check_image_instance_structure): strictly check for vector
10575         instantiators.
10576         (normalize_image_instantiator): make non-static.
10577         (instantiate_image_instantiator): pass on dest_mask and use new
10578         signatures for image_instance_layout and friends.
10579         (mark_image_instance): mark the instantiator. Mark the subwindow
10580         face not the widget face.
10581         (image_instance_equal): add instantiator.
10582         (image_instance_hash): ditto.
10583         (allocate_image_instance): ditto.
10584         (Fset_image_instance_property): removed.
10585         (Fimage_instance_file_name): ditto.
10586         (Fcolorize_image_instance): ditto.
10587         (image_instance_layout): add offsets to be set.
10588         (update_image_instance): new function. update an image instance
10589         from its changed instantiator.
10590         (inherit_normalize): add dest_mask.
10591         (xbm_normalize): ditto.
10592         (xface_normalize): ditto.
10593         (xpm_normalize): ditto.
10594         (text_update): set_property -> update.
10595         (image_instantiate): use the glyph identity as a hash key, not the
10596         instantiator.
10597         (glyph_width): use new image_instance_layout signature.
10598         (glyph_ascent): ditto.
10599         (glyph_descent): ditto.
10600         (glyph_height): ditto.
10601         (glyph_query_geometry): ressurrect.
10602         (glyph_layout): ditto.
10603         (redisplay_subwindow): update -> redisplay.
10604         (syms_of_glyphs): add Fset_instantiator_property.
10605         (image_instantiator_format_create): set_property -> update.
10606
10607         * glyphs-x.c:
10608         (autodetect_normalize): add dest_maks to signature.
10609         (x_redisplay_subwindow): update -> redisplay.
10610         (x_redisplay_widget): ditto.
10611         (x_button_redisplay): ditto.
10612         (x_progress_gauge_redisplay): ditto.
10613         (x_tab_control_redisplay): ditto. Rewrite to cope with changed
10614         stacking order.
10615         (console_type_create_glyphs_x): update -> redisplay.
10616         (image_instantiator_format_create_glyphs_x): ditto.
10617
10618         * glyphs-widget.c:
10619         (check_valid_instantiator): disallow glyphs in the instantiator,
10620         they must now be vectors.
10621         (check_valid_instantiator_list): ditto.
10622         (glyph_instantiator_to_glyph): use internal symbol rather than
10623         intern.
10624         (widget_update): renamed from widget_set_property. Call cascaded
10625         update methods.
10626         (redisplay_widget): renamed from update_widget.
10627         (widget_layout): image_instance_layout now takes position as well
10628         as size.
10629         (widget_normalize): ditto.
10630         (widget_instantiate): ditto.
10631         (tab_control_query_geometry) ditto.:
10632         (tab_control_update): renamed from tab_control_set_property.
10633         (progress_gauge_update): set_property -> update.
10634         (layout_normalize): rewrite so that child instantiators are
10635         normalized also.
10636         (layout_update): new function. Create glyphs from the normalized
10637         children and cope with any other layout keywords. We do not
10638         instantiate children here that will be take care of by
10639         redisplay_output_layout.
10640         (layout_instantiate): call layout_update and not much else.
10641         (layout_post_instantiate): not sure whether this is needed
10642         anymore.
10643         (layout_query_geometry): query glyph geometry rather than
10644         image_instance geometry.
10645         (layout_layout): set offsets from pass in parameters. Use glyph
10646         geometry and layout functions rather than image instance ones.
10647         (native_layout_layout): ditto.
10648         (syms_of_glyphs_widget): add make-glyph and set-glyph-image.
10649         (image_instantiator_widget): set_property -> update.
10650         (image_instantiator_buttons): ditto.
10651         (image_instantiator_progress_guage): ditto.
10652         (image_instantiator_tab_control): ditto.
10653         (VALID_LAYOUT_KEYWORDS): instantiators must now be vectors.
10654         (image_instantiator_layout): add update method.
10655
10656         * glyphs-msw.c (bmp_normalize):
10657         (mswindows_resource_normalize): add dest_mask so that it can be
10658         proprogated by layout_normalize.
10659         (begin_defer_window_pos): make optional because it may not be the
10660         right thing to do and it introduces differences with X.
10661         (mswindows_unmap_subwindow): ditto.
10662         (mswindows_map_subwindow): ditto.
10663         (mswindows_redisplay_subwindow): renamed from
10664         mswindows_update_subwindow.
10665         (mswindows_redisplay_widget): ditto.
10666         (mswindows_button_redisplay): renamed from
10667         mswindows_button_update. Update is now what the instantiation
10668         function does for a changed instantiator.
10669         (mswindows_progress_gauge_instantiate): set the progress value
10670         here if appropriate.
10671         (mswindows_tab_control_redisplay): cope with re-ordering of the
10672         members of the tab widget by simply selecting the new top
10673         widget. This makes things appear ok if you click on a tab.
10674         (mswindows_combo_box_instantiate): image_instance_layout now takes
10675         position as well as size.
10676         (mswindows_progress_gauge_redisplay): renamed from
10677         mswindows_progress_gauge_update.
10678         (console_type_create_glyphs_mswindows): fix update -> redisplay.
10679         (image_instantiator_format_create_glyphs_mswindows): ditto.
10680
10681         * glyphs-eimage.c (jpeg_normalize):
10682         (gif_normalize):
10683         (png_normalize):
10684         (tiff_normalize): add dest_mask so that it can be proprogated by
10685         layout_normalize.
10686
10687         * elhash.c:
10688         (print_hash_table):
10689         (hash_table_weakness_validate):
10690         (decode_hash_table_weakness):
10691         (Fhash_table_weakness):
10692         (Fhash_table_type):
10693         (syms_of_elhash): use Ben's naming scheme for hashtable types..
10694
10695         * console.h (struct console_methods): move update_* to
10696         redisplay_*.
10697
10698 2000-07-20  Ben Wing  <ben@xemacs.org>
10699
10700         * *.[ch] (XSETOBJ): remove unused middle argument.
10701         lisp-disunion.h: correct wrap_object() to one argument.
10702
10703 2000-07-15  Ben Wing  <ben@xemacs.org>
10704
10705         * s/cygwin32.h:
10706         * s/cygwin32.h (CYGWIN_CONV_PATH):
10707         Add missing logb prototype for v1.1.
10708         Use post-b20 names and alias to pre-b20 names when pre-b20.
10709
10710         * s/windowsnt.h: [5].
10711
10712 2000-07-15  Ben Wing  <ben@xemacs.org>
10713
10714         * Makefile.in.in (x_objs):
10715         * Makefile.in.in (sheap_objs):
10716         * Makefile.in.in (objs):
10717         added win32.o, cosmetic cleanups.
10718
10719         * alloc.c (Fmake_byte_code):
10720         [[[1]]]: Changes for new LIST_LOOP, EXTERNAL_LIST_LOOP,
10721         etc. macros which declare their own args now.
10722
10723         * alloc.c (syms_of_alloc):
10724         [[[2]]]: Use DEFSYMBOL, DEFKEYWORD, DEFERROR and friends.
10725
10726         * buffer.c:
10727         Moved buffer-dedicated-frame, set-buffer-dedicated-frame into lisp.
10728
10729         * buffer.c (Fget_file_buffer):
10730         Fixed GCPRO problem.
10731
10732         * buffer.c (get_truename_buffer):
10733         Fixed comment about GC checking.
10734
10735         * buffer.c (syms_of_buffer):
10736         Undeclared those dedicated frame funs.
10737         [2].
10738
10739         * buffer.h:
10740         Define convenience macros for internal/external conversions.
10741         [[[3]]]: Define codesys aliases Qcommand_argument_encoding
10742         and Qenvironment_variable_encoding for cleaner code.
10743
10744         * bufslots.h:
10745         Remove dedicated-frame; in lisp.
10746
10747         * bytecode.c (funcall_compiled_function):
10748         [1].
10749
10750         * bytecode.c (syms_of_bytecode):
10751         [2].
10752
10753         * console-msw.c:
10754         * console-msw.c (mswindows_show_console): Rewrote.
10755
10756         * console-msw.c (Fmswindows_debugging_output): New.
10757         Sends to OutputDebugString (special MSWin debugger interface).
10758
10759         * console-msw.c (Fmswindows_message_box):
10760         Fixed stupid bugs so it works when called from kill-emacs.
10761
10762         * console-msw.c (syms_of_console_mswindows):
10763         Declare Fmswindows_debugging_output.
10764
10765         * console-msw.h:
10766         New MSWin prototypes.
10767
10768         * console-msw.h (struct mswindows_frame):
10769         New entry last-click-mods for improved button-modifier support.
10770
10771         * console-msw.h (FRAME_MSWINDOWS_POPUP):
10772         New struct entry `popup' with corresponding accessor.
10773
10774         * console-x.c:
10775         * console-x.c (split_up_display_spec):
10776         * console-x.c (get_display_arg_connection):
10777         * console-x.c (x_semi_canonicalize_console_connection):
10778         * console-x.c (x_canonicalize_device_connection):
10779         [[[6]]]: Change char to more specific type.
10780         [[[8]]]: Make use of abstracting codesys aliases defined in [3], [4];
10781
10782         * console-x.c (x_semi_canonicalize_console_connection):
10783         * console-x.c (x_canonicalize_device_connection):
10784         [[[9]]]: Fix up error signalling to use new structured error system.
10785
10786         * console-x.h:
10787         [[[4]]]: Define codesys aliases:
10788         Qlwlib_encoding, Qx_atom_name_encoding, Qx_font_name_encoding,
10789         Qx_color_name_encoding, Qx_display_name_encoding.
10790
10791         * console.h (struct console_methods):
10792         New method make_dialog_box_internal supersedes older
10793         popup_dialog_box method.
10794
10795         * data.c:
10796         Define many new errors, part of new structured errors.
10797
10798         * data.c (init_errors_once_early):
10799         * data.c (syms_of_data):
10800         [2].
10801
10802         * device-msw.c (mswindows_init_device):
10803         [[[5]]]: Cleanup to support NT 3.51.
10804
10805         * device-msw.c (decode_devmode): Cleanup.
10806
10807         * device-msw.c (mswindows_handle_print_setup_dialog_box):
10808         * device-msw.c (mswindows_handle_print_dialog_box):
10809         * device-msw.c (mswindows_handle_page_setup_dialog_box):
10810         * device-msw.c (syms_of_device_mswindows):
10811         Delete the dialog box primitives recently introduced by Kirill and
10812         instead interface to general dialog box interface.
10813
10814         * device-x.c:
10815         * device-x.c (compute_x_app_name):
10816         * device-x.c (x_init_device):
10817         * device-x.c (Fx_valid_keysym_name_p):
10818         * device-x.c (Fx_set_font_path):
10819         [6].
10820         [7].
10821
10822         * device.h (wrap_device): New.
10823         First of its kind; meant to replace XSETDEVICE.
10824
10825         * dialog-msw.c: Many file-dialog symbols.
10826
10827         * dialog-msw.c (mswindows_register_popup_frame): New.
10828         * dialog-msw.c (mswindows_is_dialog_msg): New.
10829         For supporting kbd traversal in dialog boxes.
10830
10831         * dialog-msw.c (dialog_proc):
10832         Support hitting ESC in dialogs.
10833
10834         * dialog-msw.c (struct):
10835         Common dialog box errors.
10836
10837         * dialog-msw.c (handle_file_dialog_box): New.
10838         Add file dialog code.
10839
10840         * dialog-msw.c (handle_question_dialog_box):
10841         Redo existing code to support new question dialog syntax.
10842
10843         * dialog-msw.c (console_type_create_dialog_mswindows):
10844         We support new dialog console method.
10845
10846         * dialog-msw.c (syms_of_dialog_mswindows):
10847         * dialog-msw.c (vars_of_dialog_mswindows):
10848         New file dialog symbols, vars.
10849
10850         * dialog-x.c:
10851         * dialog-x.c (maybe_run_dbox_text_callback):
10852         * dialog-x.c (dbox_descriptor_to_widget_value):
10853         * dialog-x.c (x_make_dialog_box_internal):
10854         * dialog-x.c (console_type_create_dialog_x):
10855         Mule-ize entire file.
10856         Redo to support question dialog syntax.
10857         [6].
10858
10859         * dialog.c:
10860         * dialog.c (Fmake_dialog_box_internal):
10861         * dialog.c (syms_of_dialog):
10862         Kill old popup-dialog-box, replace with new primitive.
10863         Just call device method or signal error.
10864
10865         * eldap.c (Fldap_open):
10866         * eldap.c (Fldap_search_basic):
10867         * eldap.c (Fldap_add):
10868         * eldap.c (Fldap_modify):
10869         [1].
10870         [7].
10871
10872         * emacs.c:
10873         * emacs.c (make_arg_list_1):
10874         * emacs.c (make_arg_list):
10875         Mule-ize call to dll_init().
10876         [6].
10877         [8].
10878
10879         * emacs.c (make_argc_argv):
10880         * emacs.c (free_argc_argv):
10881         * emacs.c (init_cmdargs):
10882         * emacs.c (main_1):
10883         * emacs.c (Fkill_emacs):
10884         * emacs.c (Fdump_emacs):
10885         Update comments about what can be used in syms_* etc.
10886         Call init_win32() when necessary.
10887         Fix up MS Win dialog box in kill-buffer to actually work right.
10888         [7].
10889
10890         * eval.c:
10891         * eval.c (For):
10892         * eval.c (Fand):
10893         * eval.c (Fprogn):
10894         * eval.c (Fprog1):
10895         * eval.c (Fprog2):
10896         * eval.c (FletX):
10897         * eval.c (Flet):
10898         * eval.c (condition_case_3):
10899         * eval.c (Feval):
10900         * eval.c (function_argcount):
10901         * eval.c (funcall_lambda):
10902         [1].
10903
10904         * eval.c (type_error): New.
10905         * eval.c (maybe_type_error): New.
10906         * eval.c (continuable_type_error): New.
10907         * eval.c (maybe_continuable_type_error): New.
10908         * eval.c (type_error_with_frob): New.
10909         * eval.c (maybe_type_error_with_frob): New.
10910         * eval.c (continuable_type_error_with_frob): New.
10911         * eval.c (maybe_continuable_type_error_with_frob): New.
10912         New functions for use with structured errors.
10913
10914         * event-Xt.c:
10915         * event-Xt.c (x_event_to_emacs_event):
10916         Buttons are now modifiers too.
10917
10918         * event-Xt.c (emacs_Xt_current_event_timestamp):
10919         Implement new event method.
10920         * event-Xt.c (reinit_vars_of_event_Xt): Set it.
10921
10922         * event-msw.c:
10923         * event-msw.c (ntpipe_shove_writer): [5].
10924         * event-msw.c (mswindows_enqueue_mouse_button_event):
10925         * event-msw.c (mswindows_drain_windows_queue):
10926         * event-msw.c (mswindows_wnd_proc): [7].
10927         * event-msw.c (mswindows_current_layout_has_AltGr): [5].
10928         * event-msw.c (mswindows_modifier_state):
10929         Throughout: support new button modifiers.
10930
10931         * event-msw.c (emacs_mswindows_current_event_timestamp):
10932         Implement new event method.
10933         * event-msw.c (reinit_vars_of_event_mswindows): Set it.
10934
10935         * event-stream.c:
10936         * event-stream.c (event_stream_current_event_timestamp): New.
10937         * event-stream.c (maybe_kbd_translate): New functionality.
10938         * event-stream.c (vars_of_event_stream):
10939         Document new kbd-translate-table functionality.
10940
10941         * event-stream.c (Fcurrent_event_timestamp): New.
10942         New primitive for use in fabricated events.
10943         * event-stream.c (syms_of_event_stream): [2]. Declare new primitive.
10944
10945         * events-mod.h (XEMACS_MOD_BUTTON1): new button modifiers.
10946
10947         * events.c:
10948         * events.c (Fmake_event):
10949         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY):
10950         [1].
10951         [9].
10952
10953         * events.c (format_event_object): fix gcc warnings.
10954
10955         * events.c (Fevent_timestamp): Document new primitives.
10956
10957         * events.c (TIMESTAMP_HALFSPACE): New.
10958
10959         * events.c (Fevent_timestamp_lessp): New.  New primitive for
10960         comparing timestamps correctly (half-space algorithm).
10961
10962         * events.c (Fevent_modifier_bits): Doc fix.
10963
10964         * events.c (Fevent_modifiers): Major doc addition.
10965         * events.c (event_x_y_pixel_internal): Typo fix.
10966         * events.c (syms_of_events): Declare new primitives.
10967
10968         * events.h:
10969         Update long comment for button modifiers, timestamps.
10970
10971         * events.h (struct event_stream):
10972         New current_event_timestamp method.
10973
10974         * extents.c:
10975         * extents.c (extent_in_region_p):
10976         * extents.c (decode_extent):
10977         * extents.c (Fset_extent_parent):
10978         * extents.c (decode_map_extents_flags):
10979         Fix gcc warnings.
10980         [9].
10981
10982         * extents.c (struct extent_at_arg):
10983         * extents.c (decode_extent_at_flag):
10984         * extents.c (extent_at_mapper):
10985         * extents.c (extent_at_bytind):
10986         * extents.c (Fextent_at): Adapt to new lower-level interface. [9].
10987         * extents.c (Fextents_at): New primitive. [9].
10988         * extents.c (symbol_to_glyph_layout): [9].
10989         Support new primitive `extents-at'.
10990
10991
10992         * extents.c (get_text_property_bytind):
10993         extent_at_bytind has another arg.
10994         [9].
10995
10996         * extents.c (syms_of_extents): New primitive.
10997
10998         * file-coding.c (Fmake_coding_system): [1].
10999         * file-coding.c (subsidiary_coding_system): fix gcc warning
11000         * file-coding.c (syms_of_file_coding): [2].
11001
11002         * fileio.c (Fexpand_file_name):
11003         * fileio.c (Fsysnetunam):
11004         * fileio.c (Ffile_exists_p):
11005         * fileio.c (Ffile_executable_p):
11006         * fileio.c (Fverify_visited_file_modtime):
11007         Clean up GCPROing.
11008
11009         * fileio.c (syms_of_fileio): [2].
11010
11011         * filelock.c (lock_file_1):
11012         * filelock.c (current_lock_owner):
11013         * filelock.c (lock_if_free):
11014         * filelock.c (lock_file):
11015         * filelock.c (unlock_file):
11016         Clean up GCPROing.
11017
11018         * fns.c (concat): Fix gcc warning.
11019
11020         * fns.c (Fmember):
11021         * fns.c (Fold_member):
11022         * fns.c (Fmemq):
11023         * fns.c (Fold_memq):
11024         * fns.c (memq_no_quit):
11025         * fns.c (Fassoc):
11026         * fns.c (Fold_assoc):
11027         * fns.c (Fassq):
11028         * fns.c (Fold_assq):
11029         * fns.c (assq_no_quit):
11030         * fns.c (Frassoc):
11031         * fns.c (Fold_rassoc):
11032         * fns.c (Frassq):
11033         * fns.c (Fold_rassq):
11034         * fns.c (rassq_no_quit):
11035         * fns.c (Fdelete):
11036         * fns.c (Fold_delete):
11037         * fns.c (Fdelq):
11038         * fns.c (Fold_delq):
11039         * fns.c (delq_no_quit):
11040         * fns.c (Fremassoc):
11041         * fns.c (Fremassq):
11042         * fns.c (remassq_no_quit):
11043         * fns.c (Fremrassoc):
11044         * fns.c (Fremrassq):
11045         * fns.c (remrassq_no_quit):
11046         * fns.c (Freverse):
11047         * fns.c (mapcar1):
11048         [1].
11049
11050         * frame-msw.c (mswindows_init_frame_1):
11051         * frame-msw.c (mswindows_delete_frame):
11052         Register popups with dialog code so keyboard traversing works.
11053
11054         * frame-tty.c (tty_raise_frame_no_select): [1].
11055
11056         * frame-x.c:
11057         * frame-x.c (x_set_frame_text_value):
11058         * frame-x.c (x_set_frame_properties):
11059         * frame-x.c (x_create_widgets):
11060         [7].
11061
11062         * frame.c:
11063         * frame.c (Fmouse_pixel_position): Minor doc fixes.
11064
11065         * frame.h (wrap_frame): New.
11066         Macro like wrap_device.
11067
11068         * general.c:
11069         * general.c (SYMBOL):
11070         * general.c (syms_of_general):
11071         Major reorg.  This is now just a wrapper and symbols themselves
11072         are listed in general-slots.h.
11073
11074         * glyphs-eimage.c (tiff_instantiate): Need cast to fix warning.
11075         * glyphs-msw.c (mswindows_resource_instantiate): [5].
11076
11077         * glyphs-msw.c (mswindows_native_layout_instantiate):
11078         Add DS_CONTROL so keyboard traversal will work.
11079
11080         * glyphs-widget.c:
11081         * glyphs-widget.c (syms_of_glyphs_widget):
11082         Move some symbols to general-slots.h.
11083
11084         * glyphs-x.c:
11085         * glyphs-x.c (xbm_instantiate_1):
11086         * glyphs-x.c (x_xbm_instantiate):
11087         * glyphs-x.c (x_xface_instantiate):
11088         * glyphs-x.c (autodetect_instantiate):
11089         * glyphs-x.c (cursor_font_instantiate):
11090         * glyphs-x.c (x_update_widget):
11091         * glyphs-x.c (x_widget_instantiate):
11092         * glyphs.c (bitmap_to_lisp_data):
11093         * glyphs.c (pixmap_to_lisp_data):
11094         [7].
11095
11096         * glyphs.c (syms_of_glyphs):
11097         [2].
11098
11099         * gui-x.c:
11100         * gui-x.c (print_widget_value):
11101         * gui-x.c (menu_separator_style_and_to_external):
11102         * gui-x.c (add_accel_and_to_external):
11103         * gui-x.c (button_item_to_widget_value):
11104         * gui-x.c (gui_items_to_widget_values_1):
11105         * gui-x.c (gui_items_to_widget_values):
11106         * gui-x.c (syms_of_gui_x):
11107         * gui-x.c (vars_of_gui_x):
11108         Mule-ize entire file.  Move menu-no-selection-hook to gui.c.
11109         [9].
11110
11111         * gui-x.h:
11112         Muleize, prototype changes matching gui-x.c.
11113
11114         * gui.c:
11115         * gui.c (separator_string_p):
11116         * gui.c (gui_item_add_keyval_pair):
11117         * gui.c (make_gui_item_from_keywords_internal):
11118         * gui.c (signal_too_long_error):
11119         * gui.c (parse_gui_item_tree_item):
11120         * gui.c (syms_of_gui):
11121         * gui.c (vars_of_gui):
11122         * gui.h:
11123         menu-no-selection-hook moved here (used by MSWin).
11124         Move some symbols to general-slots.h.
11125         [6].
11126         [9].
11127
11128         * insdel.c (get_buffer_pos_char):
11129         * insdel.c (get_buffer_range_char):
11130         Add GC comments.
11131
11132         * keymap.c (keymap_lookup_directly):
11133         * keymap.c (keymap_store):
11134         * keymap.c (ensure_meta_prefix_char_keymapp):
11135         * keymap.c (describe_map):
11136         * keymap.h:
11137         Support new button modifiers.
11138
11139         * lisp-disunion.h (wrap_object):
11140         * lisp-disunion.h (XSETOBJ):
11141         Rename make_obj to wrap_object.
11142
11143         * lisp-union.h:
11144         * lisp-union.h (make_int):
11145         * lisp-union.h (make_char):
11146         Support wrap_object.
11147
11148         * lisp.h:
11149         * lisp.h (LIST_LOOP):
11150         * lisp.h (EXTERNAL_LIST_LOOP):
11151         * lisp.h (LIST_LOOP_2):
11152         * lisp.h (EXTERNAL_LIST_LOOP_1):
11153         * lisp.h (EXTERNAL_LIST_LOOP_2):
11154         * lisp.h (EXTERNAL_LIST_LOOP_3):
11155         * lisp.h (EXTERNAL_LIST_LOOP_4_NO_DECLARE):
11156         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
11157         * lisp.h (GET_EXTERNAL_LIST_LENGTH):
11158         * lisp.h (EXTERNAL_ALIST_LOOP_5):
11159         * lisp.h (EXTERNAL_ALIST_LOOP_6):
11160         * lisp.h (EXTERNAL_ALIST_LOOP_6_NO_DECLARE):
11161         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_5_NO_DECLARE):
11162         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_7):
11163         * lisp.h (struct Lisp_Symbol):
11164         * lisp.h (maybe_continuable_error_with_frob):
11165         Fix up section comments.
11166         Add new types for char to indicate usage.
11167         Delete symbols auto-generated from general-slots.h.
11168         Add prototypes for structured error functions.
11169         Add long comments describing looping macros and change interface
11170         so that lvalues are automatically declared.
11171         Add NO_DECLARE macro in case callers want to declare lvalues
11172         themselves.
11173
11174         * lread.c (read_syntax_error):
11175         * lread.c (continuable_read_syntax_error):
11176         * lread.c (read_structure):
11177         * lread.c (sequence_reader):
11178         * lread.c (read_list_conser):
11179         * lread.c (read_compiled_function):
11180         Rename syntax_error and continuable_syntax_error to avoid clash
11181         with same-named structured error functions.
11182
11183         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
11184         * menubar-msw.c (populate_menu_add_item):
11185         * menubar-msw.c (populate_or_checksum_helper):
11186         [5].
11187         [9].
11188
11189         * menubar-x.c:
11190         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
11191         Mule-ize whole file.
11192
11193         * menubar.c (Fnormalize_menu_item_name): Add optimization.
11194
11195         * mule-charset.c (Fmake_charset):
11196         * mule-wnnfns.c (Fwnn_set_param):
11197         [1].
11198
11199         * ntproc.c (create_child):
11200         * ntproc.c (Fwin32_set_current_locale):
11201         Add comments portending doom.
11202
11203         * objects-msw.c:
11204         * objects-msw.c (old_font_enum_callback_2):
11205         * objects-msw.c (font_enum_callback_1):
11206         * objects-msw.c (mswindows_enumerate_fonts):
11207         [5].
11208
11209         * objects-x.c:
11210         * objects-x.c (allocate_nearest_color):
11211         * objects-x.c (x_parse_nearest_color):
11212         * objects-x.c (x_initialize_color_instance):
11213         * objects-x.c (x_print_color_instance):
11214         * objects-x.c (x_finalize_color_instance):
11215         * objects-x.c (x_valid_color_name_p):
11216         * objects-x.c (x_initialize_font_instance):
11217         * objects-x.c (x_print_font_instance):
11218         * objects-x.c (valid_x_font_name_p):
11219         * objects-x.c (truename_via_FONT_prop):
11220         * objects-x.c (truename_via_random_props):
11221         * objects-x.c (truename_via_XListFonts):
11222         * objects-x.c (x_font_truename):
11223         * objects-x.c (x_font_instance_truename):
11224         * objects-x.c (x_font_instance_properties):
11225         * objects-x.c (x_list_fonts):
11226         * objects-x.c (x_find_charset_font):
11227         Mule-ize entire file.
11228         [7].
11229
11230         * objects-x.h:
11231         Mule-verify.
11232
11233         * print.c:
11234         * print.c (std_handle_out_external):
11235         * print.c (debug_print_no_newline):
11236         * print.c (syms_of_print):
11237         Output to all debugger kinds in debug-print.
11238         Fix console-output code under MSWin to actually work.
11239
11240         * process-nt.c (send_signal):
11241         * process-nt.c (nt_create_process):
11242         Use newer Unicode macros.
11243
11244         * process-unix.c (unix_create_process):
11245         * process-unix.c (unix_canonicalize_host_name):
11246         * process-unix.c (unix_open_network_stream):
11247         [7].
11248
11249         * scrollbar-x.c:
11250         Mule-verify.
11251
11252         * search.c (syms_of_search):
11253         [2].
11254
11255         * select-msw.c (mswindows_destroy_selection):
11256         Use LIST_LOOP_2.
11257
11258         * select-x.c (symbol_to_x_atom):
11259         [7].
11260
11261         * select.c (syms_of_select):
11262         [2].
11263
11264         * sound.c (Fplay_sound_file):
11265         [7].
11266
11267         * specifier.c:
11268         * specifier.c (decode_specifier_type):
11269         * specifier.c (Fvalid_specifier_locale_type_p):
11270         * specifier.c (check_valid_locale_or_locale_type):
11271         * specifier.c (decode_locale):
11272         * specifier.c (decode_locale_type):
11273         * specifier.c (decode_locale_list):
11274         * specifier.c (check_valid_domain):
11275         * specifier.c (decode_specifier_tag_set):
11276         * specifier.c (Fcanonicalize_tag_set):
11277         * specifier.c (Fdefine_specifier_tag):
11278         * specifier.c (Fspecifier_tag_predicate):
11279         * specifier.c (check_valid_inst_list):
11280         * specifier.c (check_valid_spec_list):
11281         * specifier.c (decode_how_to_add_specification):
11282         * specifier.c (check_modifiable_specifier):
11283         * specifier.c (specifier_add_spec):
11284         * specifier.c (boolean_validate):
11285         * specifier.c (display_table_validate):
11286         [9].
11287
11288         * specifier.c (syms_of_specifier):
11289         Move some symbols to general-slots.h.
11290         [2].
11291
11292         * symbols.c:
11293         * symbols.c (Fmapatoms):
11294         * symbols.c (Fapropos_internal):
11295         Add GCPROs.
11296
11297         * symbols.c (set_default_buffer_slot_variable):
11298         * symbols.c (set_default_console_slot_variable):
11299         [1].
11300
11301         * symbols.c (defsymbol_massage_name_1):
11302         * symbols.c (defkeyword_massage_name):
11303         * symbols.c (deferror_1):
11304         * symbols.c (deferror):
11305         * symbols.c (deferror_massage_name_and_message):
11306         * symeval.h:
11307         * symeval.h (DEFSYMBOL):
11308         Support DEFSYMBOL*, DEFKEYWORD, DEFERROR
11309
11310         * symbols.c (syms_of_symbols):
11311         [2].
11312
11313         * symsinit.h:
11314         * symsinit.h (init_win32): New.
11315         Also new is syms_of_dialog_mswindows.
11316
11317         * syswindows.h:
11318         Add new Unicode macros, missing Cygwin wide-char functions,
11319         convenience conversion macros for Qmswindows_tstr, macros for
11320         encapsulating required MSWin <-> Cygwin filename conversions,
11321         prototype for dynamically-extracted (not in NT 3.51) functions.
11322
11323         * toolbar-x.c:
11324         Mule-verify.
11325
11326         * tooltalk.c (Fadd_tooltalk_message_arg):
11327         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
11328         * tooltalk.c (Fadd_tooltalk_pattern_arg):
11329         [7].
11330
11331         * tooltalk.c (syms_of_tooltalk):
11332         [2].
11333
11334         * unexnt.c:
11335         * unexnt.c (unexec):
11336         Fix up headers, declaration of unexec() to be more standard.
11337
11338 2000-07-20  Martin Buchholz  <martin@xemacs.org>
11339
11340         * offix.h: Revert change to guard macros - they're used in offix.c!
11341
11342 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11343
11344         * lisp.h: Defsubred Fdelete.
11345
11346         * console-msw.h:  (msprinter_default_printer): Added.
11347
11348         * console-msw.c (msprinter_canonicalize_console_connection):
11349         (msprinter_canonicalize_device_connection): Added.
11350
11351         * device-msw.c (msprinter_default_printer):
11352         (Fmswingows_get_default_printer):
11353         (signal_enum_priner_error):
11354         (Fmswingows_printer_list): Added.
11355
11356 2000-07-19  Martin Buchholz <martin@xemacs.org>
11357
11358         * XEmacs 21.2.35 is released.
11359
11360 2000-07-19  Martin Buchholz  <martin@xemacs.org>
11361
11362         * select-x.c (x_handle_selection_request):
11363         Text selected in xemacs and pasted into xterm failed to appear.
11364         Spelling fixes and cosmetic changes.
11365
11366 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11367
11368         * event-msw.c (mswindows_drain_windows_queue): Correctly check for
11369         XEmacs frame (fix for doubling chars in dialog boxes).
11370
11371 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
11372
11373         * select.c (select_convert_in, select_convert_out):
11374         Don't call intern() every time.
11375
11376         * select.c (Qselect_convert_in, Qselect_convert_out): New.
11377         * select.c (vars_of_select): Initialise them.
11378
11379 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
11380
11381         * select.c (selection-coercible-types): New.
11382
11383         * select.c (own-selection-internal):
11384         * select.c (get-selection-internal):
11385         MULE bug fix - these should default to COMPOUND_TEXT and not
11386         STRING for MULE. I think.
11387
11388         * select.c (select_convert_out): Use selection-coercible-types
11389         to find types that we can attempt to perform coercions on.
11390
11391 2000-07-18  Martin Buchholz  <martin@xemacs.org>
11392
11393         * mule-wnnfns.c:
11394         * mule-canna.c:
11395         Add coding: cookie to identify encoding.
11396
11397         * mule-canna.c (CANNA_mode_keys): make static.
11398         Use proper prototypes, even for functions of no arguments.
11399         Remove external prototype for Fding().
11400
11401         * symsinit.h: Add missing prototype for reinit_vars_of_mule_wnn.
11402
11403         * select.c (syms_of_select): Add missing DEFSUBR.
11404
11405 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
11406
11407         * select.c (get_selection_internal, own_selection_internal):
11408         Make the type default to STRING, rather than placing a nil type
11409         into Vselection_alist.
11410
11411 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
11412
11413         * gpmevent.c (tty_selection_exists_p):
11414         * gpmevent.c (tty_own_selection):
11415         Updated parameter lists.
11416
11417 2000-07-15 Alastair J. Houghton <ajhoughton@lineone.net>
11418
11419         * select.h (selection-alist): Removed declaration.
11420
11421         * select.h (get_local_selection):
11422         * select.c (get_local_selection):
11423         Made static.
11424
11425         * select.h (convert_selection): Removed declaration.
11426         * select.c (convert_selection): Removed.
11427         This function belongs in Lisp.
11428
11429         * select.h (select_convert_in): Declare.
11430         * select.h (select_convert_out): Declare.
11431         * select.c (select_convert_in): New.
11432         * select.c (select_convert_out): New.
11433         New conversion functions for other files to call.
11434
11435         * select.h (select_notify_buffer_kill): Declare.
11436         * select.c (select_notify_buffer_kill): New.
11437         New functions that get called from kill-buffer.
11438
11439         * buffer.c (kill-buffer): Call select_notify_buffer_kill, rather than
11440         X-specific lisp code.
11441
11442         * select.h: Declare some of the lisp-visible functions for
11443         external use.
11444
11445         * select.c (clean_local_selection_data): Removed. This was
11446         a disgusting function, and previously should have been in
11447         select-x.c in any case. The functionality is now provided
11448         in select-convert-from-integer (select.el).
11449
11450         * select.c (available-selection-types): Fixed stupidity where
11451         INTEGER and ATOM got added twice. Also add STRING when we see an
11452         extent.
11453
11454         * select.c (get-selection-internal): Removed symbol stripping. No
11455         longer causes conversion when data comes from the internal cache.
11456
11457         * select.c (syms_of_select): Added new functions.
11458
11459         * select-x.c (motif_clipboard_cb): Use select_convert_out. Rewrote
11460         error checking - previously this called abort!
11461
11462         * select-x.c (x_own_selection): Changed comment.
11463
11464         * select-x.c (x_handle_selection_request): Use select_convert_out.
11465         Don't mess with selection-alist; it's an internal variable of select.c.
11466
11467         * select-x.c (x_get_foreign_selection): Use select_convert_in.
11468
11469         * select-x.c (x_handle_selection_clear): Use get-selection-timestamp,
11470         rather than messing with selection-alist.
11471
11472         * select-msw.c (mswindows_get_foreign_selection):
11473         Use TO_INTERNAL_FORMAT rather than hacking.
11474
11475 2000-07-14  Martin Buchholz  <martin@xemacs.org>
11476
11477         * process-unix.c (unix_open_multicast_group):
11478         (unix_open_multicast_group): Remove useless casts.
11479
11480 2000-07-13  Martin Buchholz  <martin@xemacs.org>
11481
11482         * sound.c (Fplay_sound): Fix `unused variable' warning.
11483
11484         * emacs.c (main): Use correct type for _environ on SCO5.
11485
11486 2000-07-12 Alastair J. Houghton <ajhoughton@lineone.net>
11487
11488         * console.h (own_selection_method):
11489         * console.h (selection_exists_p_method):
11490         * console.h (available_selection_types_method): New.
11491         * console.h (register_selection_data_type_method): New.
11492         * console.h (selection_data_type_name): New.
11493
11494         * console-msw.h (mswindows_destroy_selection): Declare it.  New
11495         function & alist to track GlobalAlloc()'d handles that need
11496         releasing when the clipboard data gets replaced or emptied.
11497
11498         * event-msw.c (mswindows_wnd_proc): Call it.
11499
11500         * lisp.h, general.c (Qappend): New symbol representing a
11501         `how-to-add' mode.
11502
11503         * select.c (own-selection-internal):
11504         * select.c (selection-exists-p):
11505         * select.c (available-selection-types): New.
11506         * select.c (register-selection-data-type): New.
11507         * select.c (selection-data-type-name): New.  New functions to deal
11508         with device-specific selection data formats.
11509         * select.c (selection-converter-out-alist): Renamed.
11510         * select.c (selection-converter-in-alist): New.
11511         * select.c (selection-appender-alist): New.  Added new alists.
11512         * select.c (syms_of_select, vars_of_select): Added new symbols &
11513         variables.
11514         * select.c (get_local_selection): Split.
11515         * select.c: Removed spurious type checking - selections may now be
11516         of any type, not just strings.
11517         * select.c (own-selection-internal):
11518
11519         * select.h, select.c (convert_selection): New. Created
11520         convert_selection() function based on get_local_selection().
11521         * select.h, select.c (QCF_*): New symbols representing mswindows
11522         clipboard formats.
11523         * select.h, select.c (Qreplace_all, Qreplace_existing): New
11524         symbols representing `how-to-add' modes.
11525
11526         * select-msw.c (x_sym_p): New.
11527         * select-msw.c (symbol_to_ms_cf): New.
11528         * select-msw.c (ms_cf_to_symbol): New. New functions to deal with
11529         symbols & clipboard formats. Can also handle string names.
11530         * select-msw.c (mswindows_own_selection):
11531         * select-msw.c (mswindows_selection_exists_p):
11532         Added `data-type' parameter. Use it.
11533         * select-msw.c (mswindows_available_selection_types): New.
11534         * select-msw.c (mswindows_register_selection_data_type): New.
11535         * select-msw.c (mswindows_selection_data_type_name): New.
11536         * select-msw.c (mswindows_own_selection):
11537         * select-msw.c (mswindows_get_foreign_selection):
11538         * select-msw.c (mswindows_selection_exists_p):  Rewrote.
11539         * select-msw.c (console_create_select_mswindows): Added new methods.
11540         * select-msw.c (mswindows_destroy_selection): New.
11541         * select-msw.c (Vhandle_alist): New list.
11542         * select-msw.c (mswindows_own_selection):
11543
11544         * select-x.c (x_own_selection):
11545         * select-x.c (x_selection_exists_p):
11546         * select-x.c: Added some comments about maybe using new
11547         functionality.
11548         * select-x.c (x_own_selection):
11549
11550         * specifier.c: Remove definition of Qappend (now in general.c)
11551         * specifier.c (syms_of_specifier): Remove Qappend.
11552
11553 2000-07-12  Martin Buchholz  <martin@xemacs.org>
11554
11555         * config.h.in: Add socklen_t.
11556
11557         * s/decosf4-0.h: No special compiler flags needed or desired.
11558         In particular, undefine _BSD for DEC OSF 4.0.
11559
11560 2000-07-07  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11561
11562         * redisplay-msw.c (msprinter_frame_output_end): Added.
11563         (console_type_create_redisplay_mswindows): Referred the above.
11564
11565         * frame.c (setup_frame_without_minibuffer): Do not create a
11566         default minibuffer frame on a printer device.
11567
11568         * frame-msw.c (apply_dc_geometry): Added.
11569         (msprinter_start_page):
11570         (msprinter_init_frame_3):
11571         (msprinter_eject_page): Use it.
11572
11573         * console-msw.h (struct msprinter_frame): Added pix_left and top,
11574         and removed residual duplex and orientation properties.
11575
11576 2000-07-11  Martin Buchholz  <martin@xemacs.org>
11577
11578         * eval.c (function_argcount): Work around a DEC CC compiler bug.
11579
11580         * unexalpha.c: Remove system prototypes from C sources!
11581
11582 2000-07-09  Adrian Aichner  <aichner@ecf.teradyne.com>
11583
11584         * eval.c: Remove references to M-x edit-options in DEFUNs for
11585         `defvar' and `defconst'.
11586
11587 2000-07-09  Martin Buchholz  <martin@xemacs.org>
11588
11589         * config.h.in: Remove SMART_INCLUDE hackery.
11590
11591         PostgreSQL hacking:
11592         * config.h.in: Don't use SMART_INCLUDE.
11593
11594         * postgresql.h: Include libpq-fe.h here.  Fix typo.
11595         * inline.c: Simply #include "postgresql.h"
11596         * postgresql.c:
11597         - Don't use SMART_INCLUDE
11598         - Use simply "const".
11599         - Use standard doc string conventions.
11600         - Use correct type for result of PQstatus.
11601
11602 2000-07-09  Martin Buchholz  <martin@xemacs.org>
11603
11604         * glyphs-x.c (x_xface_instantiate): Fix C++ compilation warnings.
11605
11606         C++ compilation changes.
11607         * config.h.in (EXTERN_C): Define.
11608         * config.h.in (not): This is also a C++ keyword.
11609         * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Enable C++ compilation.
11610         * cm.c: Use EXTERN_C.
11611         * redisplay-tty.c: Use EXTERN_C.
11612         * sysdep.c: Use EXTERN_C.  Remove Gould support.
11613
11614 2000-07-09  Martin Buchholz  <martin@xemacs.org>
11615
11616         * general.c: Remove duplicate definition for Qfunction.
11617
11618 2000-07-08  Ben Wing  <ben@xemacs.org>
11619
11620         * device-msw.c (msprinter_init_device):
11621         * device-msw.c (sync_printer_with_devmode):
11622         * device-msw.c (handle_devmode_changes):
11623         * device-msw.c (print_dialog_worker):
11624         * device-msw.c (Fmsprinter_apply_settings):
11625         * device-msw.c (hash_devmode):
11626         * device-msw.c (Fmsprinter_settings_despecialize):
11627         use Qmswindows_tstr, not Qctext.
11628
11629         * vm-limit.c (check_memory_limits):
11630         avoid infinite loop printing warning messages.
11631
11632 2000-07-05  Craig Lanning  <lanning@scra.org>
11633
11634         * Makefile.in.in: Add support for including the Windows resources
11635         when building with the cygwin and mingw targets.
11636
11637         * buffer.c: from Dan Holmsand, on Windows $PWD is most likely either
11638         not set or not correct.
11639         (directory_is_current_directory): Don't compile for WIN32_NATIVE.
11640         (init_initial_directory): Don't try to use $PWD on the
11641         WIN32_NATIVE target.
11642
11643         * s\cygwin32.h:
11644         [[Add -mwindows to eliminate console window.]] not required --ben
11645         (HAVE_NATIVE_SOUND): removed; now handled by configure.
11646         (MAIL_USE_POP): removed; now handled by configure.
11647
11648         * s\mingw32.h: [[Add -mwindows to eliminate console window.]] not in
11649         C_SWITCH_SYSTEM or it will affect lib-src progs. --ben
11650         (HAVE_NATIVE_SOUND): removed; now handled by configure.
11651         (MAIL_USE_POP): removed; now handled by configure.
11652         (ENCAPSULATE_STAT): from Dan Holmsand, added.
11653         (ENCAPSULATE_FSTAT): from Dan Holmsand, added.
11654         (DIRECTORY_SEP): from Dan Holmsand, use lisp variable instead of
11655         constant string.
11656         (HAVE_TIMEVAL): from Dan Holmsand, added; struct timeval is picked
11657         up from <winsock.h> via systime.h.
11658         (HAVE_GETPAGESIZE): from Dan Holmsand, added.
11659         (getpagesize): from Dan Holmsand, added.
11660         Added #endif which was left dangling by Ben's mega patch; added
11661         comment to help prevent this in the future.
11662
11663         * sysdll.c: added #include <windows.h> for WIN32_NATIVE case.
11664
11665 2000-07-05  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11666
11667         * console-msw.h (struct mswindows_device): Removed unnecessary
11668         cached device geometry values.
11669         Added update_tick and an accessor macro.
11670         (Lisp_Devmode): Added lrecord declaration.
11671         (struct msprinter_device): Contain devmode as a Lisp object.
11672         Added mswindows_get_selected_frame_hwnd();
11673
11674         * console.h (struct console_methods): Indentation nitpicking.
11675
11676         * device-msw.c (mswindows_init_device): Do not initialize geometry
11677         cache. Initialize update tick.
11678         (mswindows_device_system_metrics): Ask the device for its geometry.
11679         (global_free_2_maybe):
11680         (devmode_to_hglobal):
11681         (handle_printer_changes):
11682         (ensure_not_printing):
11683         (print_dialog_worker):
11684         (Fmsprinter_print_setup_dialog):
11685         (Fmsprinter_print_dialog):
11686         (plist_get_margin):
11687         (plist_set_margin):
11688         (Fmsprinter_page_setup_dialog): Added functions.
11689         (sync_printer_with_devmode):
11690         (handle_devmode_changes):
11691         (Fmsprinter_get_settings):
11692         (Fmsprinter_select_settings):
11693         (Fmsprinter_apply_settings):
11694         (allocate_devmode):
11695         (Fmsprinter_settings_copy):
11696         (Fmsprinter_settings_despecialize):
11697         (print_devmode):
11698         (finalize_devmode):
11699         (equal_devmode):
11700         (hash_devmode): Added functions
11701         (syms_of_device_mswindows): Init devmode lrecord class.
11702
11703         * device.h: Added an exfun for find-device.
11704
11705         * event-msw.c (mswindows_wnd_proc): Do not update the cached
11706         geometry; although, recreate the device compatible DC.
11707
11708         * frame-msw.c (mswindows_get_selected_frame_hwnd): Added.
11709         (msprinter_init_frame_3):
11710         (msprinter_frame_property):
11711         (msprinter_internal_frame_property_p):
11712         (msprinter_frame_properties):
11713         (msprinter_set_frame_properties): Removed 'orientation and 'duplex
11714         print job properties (will move to device settings).
11715
11716         * lisp.h: Added symbols.
11717
11718         * general.c (syms_of_general): Declared them.
11719
11720         * hash.c (string_hash): Added.
11721
11722         * lrecord.h (lrecord_type): Added devmode lrecord type.
11723
11724 2000-07-02  Mike Sperber <mike@xemacs.org>
11725
11726         * s/freebsd.h (INTERRUPTIBLE_OPEN): open *is* interruptible on
11727         FreeBSD 4.0.
11728
11729 2000-06-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
11730
11731         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
11732         integer.
11733
11734 2000-06-07  MORIOKA Tomohiko  <tomo@urania.m17n.org>
11735
11736         * data.c (Fstring_to_number): Don't recognize floating point if
11737         base is not 10.
11738
11739 2000-06-22  Martin Buchholz  <martin@xemacs.org>
11740
11741         * glyphs-widget.c (tab_control_query_geometry):
11742         (widget_query_geometry):
11743         (button_query_geometry):
11744         * glyphs.c (text_query_geometry):
11745         Enforce type correctness.
11746
11747 2000-06-18  Martin Buchholz  <martin@xemacs.org>
11748
11749         * s/decosf4-0.h (_etext): Use portable _etext instead of etext.
11750         * s/decosf4-0.h (_edata): Use portable _edata instead of edata.
11751
11752 2000-06-17  Martin Buchholz  <martin@xemacs.org>
11753
11754         * s/decosf4-0.h: Never #include "/usr/include/FOO.h" because this
11755         conflicts with gcc's fixincluded version of FOO.h.
11756
11757         * glyphs.h (image_instance_geometry): Remove trailing `,'
11758
11759 2000-06-08  Mike Alexander  <mta@arbortext.com>
11760
11761         (MAX_SHOVE_BUFFER_SIZE): Change to 512 to match stream buffer size
11762         (shove_thread): Don't write the same output twice
11763         (make_ntpipe_output_stream): Increase priority of shove thread
11764         (ntpipe_shove_writer): Call SwitchToThread to give shove thread a
11765         chance to run
11766         (ntpipe_shove_closer): Don't delete the pipe until we're done with
11767         it.
11768
11769 2000-06-12  Ben Wing  <ben@xemacs.org>
11770
11771         * s\mingw32.h (sigset):
11772         * s\windowsnt.h (sigset):
11773         rename msw_ to mswindows_ for consistency with general convention.
11774
11775 2000-06-12  Ben Wing  <ben@xemacs.org>
11776
11777         * console-msw.c:
11778         * console-msw.c (mswindows_get_console_hwnd):
11779         * console-msw.c (mswindows_ensure_console_allocated):
11780         * console-msw.c (mswindows_hide_console):
11781         * console-msw.c (mswindows_show_console):
11782         * console-msw.c (mswindows_ensure_console_buffered):
11783         * console-msw.c (mswindows_output_console_string):
11784         * console-msw.c (mswindows_windows9x_p):
11785         * console-msw.h:
11786         * device-msw.c (mswindows_get_workspace_coords):
11787         * device-msw.c (mswindows_device_system_metrics):
11788         * dialog-msw.c (mswindows_popup_dialog_box):
11789         * event-msw.c (mswindows_wnd_proc):
11790         * frame-msw.c (mswindows_size_frame_internal):
11791         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
11792         * menubar-msw.c (displayable_menu_item):
11793         * menubar-msw.c (mswindows_char_is_accelerator):
11794         * nt.c:
11795         * nt.c (mswindows_sigset):
11796         * nt.c (mswindows_sigrelse):
11797         * nt.c (mswindows_sigpause):
11798         * nt.c (mswindows_raise):
11799         * nt.c (timer_proc):
11800         * ntproc.c:
11801         * ntproc.c (find_child_console):
11802         * ntproc.c (sys_kill):
11803         * print.c:
11804         * print.c (std_handle_out_external):
11805         * process-nt.c (find_child_console):
11806         * process-nt.c (send_signal_the_95_way):
11807         * process-nt.c (ensure_console_window_exists):
11808         * process-nt.c (nt_create_process):
11809         * syssignal.h:
11810         rename msw_ to mswindows_ for consistency with general convention.
11811
11812         * emacs.c:
11813         * dumper.c:
11814         include nt.h, not syswindows.h.
11815
11816         * nt.c (mswindows_fstat):
11817         * nt.c (mswindows_stat):
11818         prefix mswindows_ instead of attempting to directly override the
11819         library functions.  fix declarations.
11820
11821         * nt.h:
11822         include syswindows.h.  move some sysdep.h stuff here.
11823
11824         * ntheap.h:
11825         include syswindows.h, not <windows.h>.
11826
11827         * ntplay.c:
11828         clean up headers.
11829
11830         * sysdep.c:
11831         clean up headers.
11832
11833         * sysdep.c (sys_fstat):
11834         * sysdep.c (sys_stat):
11835         call mswindows versions when appropriate.
11836
11837         * sysdep.h:
11838         move mswin decls to nt.h.
11839
11840         * syswindows.h:
11841         add long comment describing appropriate use of the various windows
11842         headers.
11843
11844 2000-06-11  Ben Wing  <ben@xemacs.org>
11845
11846         * device-x.c: Correct doc string for sixth arg of x-get-resource.
11847
11848 2000-06-10  Ben Wing  <ben@xemacs.org>
11849
11850         * Makefile.in.in (release):
11851         Correction to make sure xemacs.exe always dumped when correct.
11852
11853         * alloca.c:
11854         * balloon_help.c:
11855         [[[[3]]]]: Conditionalize on actual problem, not WINDOWSNT.
11856
11857         * buffer.c (set_buffer_internal):
11858         [[[[2]]]]: Remove HAVE_FEP code.
11859
11860         * buffer.c (init_initial_directory):
11861         [3].
11862
11863         * bytecode.c:
11864         [[[[4]]]]: limits.h standardly included in lisp.h; remove from
11865         individual files.
11866
11867         * callproc.c:
11868         * callproc.c (call_process_cleanup):
11869         * callproc.c (Fold_call_process_internal):
11870         * callproc.c (child_setup):
11871         * callproc.c (getenv_internal):
11872         * callproc.c (init_callproc):
11873         * callproc.c (vars_of_callproc):
11874         [[[[1]]]]: WINDOWSNT -> WIN32_NATIVE.
11875         __CYGWIN32__ -> CYGWIN.
11876         DOS_NT -> WIN32_NATIVE.
11877         Remove MSDOS support/references, converting to WIN32_NATIVE
11878           where correct.
11879         __MINGW32__ -> MINGW.
11880         Fix windows.h includes.
11881         Remove bogus HAVE_NTGUI.
11882
11883         * config.h.in:
11884         [2].
11885
11886         * console-msw.c:
11887         mswindows_message_outputted added for use in allowing startup
11888         errors on the console to be seen.
11889
11890         * console-msw.c (msw_ensure_console_allocated):
11891         * console-msw.c (msw_output_console_string):
11892         * console-msw.c (DHEADER):
11893         * console-msw.c (DOPAQUE_DATA):
11894         * console-msw.c (DEVENT):
11895         * console-msw.c (DCONS):
11896         * console-msw.c (DCONSCDR):
11897         * console-msw.c (DSTRING):
11898         * console-msw.c (DVECTOR):
11899         * console-msw.c (DSYMBOL):
11900         * console-msw.c (DSYMNAME):
11901         Fix warnings.
11902
11903         * console-stream.c (stream_init_console):
11904         Fix text/binary problems.
11905
11906         * device-msw.c:
11907         * device-msw.c (mswindows_finish_init_device):
11908         * device-msw.c (mswindows_delete_device):
11909         [1].
11910
11911         * device.c (handle_asynch_device_change):
11912         [3].
11913
11914         * dgif_lib.c:
11915         * dgif_lib.c (DGifOpenFileName):
11916         * dgif_lib.c (DGifOpenFileHandle):
11917         * dgif_lib.c (DGifGetLine):
11918         * dgif_lib.c (DGifGetPixel):
11919         Added config.h/lisp.h, fix up includes.
11920         [1].
11921
11922         * dired-msw.c:
11923         [4].
11924
11925         * dired.c:
11926         * dired.c (file_name_completion):
11927         * dired.c (Ffile_attributes):
11928         * dired.c (syms_of_dired):
11929         [1].
11930
11931         * dumper.c:
11932         * dumper.c (pdump_file_unmap):
11933         * dumper.c (pdump_load):
11934         [1].
11935
11936         * editfns.c:
11937         * editfns.c (Ftemp_directory):
11938         * editfns.c (user_login_name):
11939         * editfns.c (Fuser_real_login_name):
11940         * editfns.c (get_home_directory):
11941         [1].
11942
11943         * elhash.c (finish_marking_weak_hash_tables):
11944         [[[[5]]]]: Fix GCC warnings.
11945
11946         * emacs.c:
11947         * emacs.c (mswindows_handle_hardware_exceptions):
11948         * emacs.c (make_arg_list_1):
11949         * emacs.c (main_1):
11950         * emacs.c (Fkill_emacs):
11951         * emacs.c (Fdump_emacs):
11952         [1].
11953         Fix problems with nested crashes, add long comment.
11954
11955         * event-Xt.c (init_event_Xt_late):
11956         [1].
11957
11958         * event-msw.c:
11959         * event-msw.c (mswindows_dde_callback):
11960         * event-msw.c (mswindows_handle_sticky_modifiers):
11961         * event-msw.c (mswindows_wnd_proc):
11962         [1].
11963         [5].
11964
11965         * events.c (character_to_event):
11966         [1].
11967
11968         * fileio.c:
11969         * fileio.c (Ffile_name_directory):
11970         * fileio.c (Ffile_name_nondirectory):
11971         * fileio.c (directory_file_name):
11972         * fileio.c (Fexpand_file_name):
11973         * fileio.c (Fsubstitute_in_file_name):
11974         * fileio.c (Ffile_name_absolute_p):
11975         * fileio.c (check_executable):
11976         * fileio.c (Ffile_readable_p):
11977         * fileio.c (Ffile_accessible_directory_p):
11978         * fileio.c (Ffile_modes):
11979         * fileio.c (Funix_sync):
11980         * fileio.c (vars_of_fileio):
11981         [1]. [4].
11982
11983         [[[[7]]]]: Move CORRECT_DIR_SEPS to s\windowsnt.h.
11984
11985         Expand getdefdir defn.
11986         Fix bogus rename() comment.
11987
11988         [[[[6]]]]: Fix Windows includes w.r.t. removed nt\inc.  Attempt
11989         to use standard XEmacs include files, e.g. sysfile.h, rather
11990         than system-specific includes.
11991
11992         * fns.c:
11993         * fns.c (Fsubseq):
11994         [5]. [6].
11995
11996         * frame.c (vars_of_frame):
11997         [1].
11998
11999         * getloadavg.c:
12000         * getloadavg.c (getloadavg):
12001         [1]. [6].
12002         #ifdef XEMACS not defined on Cygwin.  Remove this; no need for it.
12003         (We don't use it elsewhere in the code; just add a comment.)
12004
12005         * gif_io.c:
12006         [6].
12007         Add config.h.
12008
12009         * glyphs-msw.c:
12010         * glyphs-msw.c (mswindows_resource_instantiate):
12011         [1].
12012
12013         * glyphs-x.c (x_native_layout_instantiate):
12014         [5].
12015
12016         * gui-msw.c (Fmswindows_shell_execute):
12017         [1].
12018
12019         * insdel.c:
12020         [4].
12021
12022         * lisp.h:
12023         [4]. [5].
12024
12025         * lread.c (locate_file_in_directory_mapper):
12026         [1].
12027
12028         * lstream.c:
12029         [4].
12030
12031         * mem-limits.h:
12032         * mem-limits.h (get_lim_data):
12033         [1].
12034
12035         * menubar-msw.c:
12036         [4].
12037
12038         * ndir.h:
12039         [1].
12040
12041         * nt.c:
12042         * nt.c (getwd):
12043         * nt.c (closedir):
12044         * nt.c (rva_to_section):
12045         * nt.c (mswindows_executable_type):
12046         [1]. [6].
12047         Fix closedir() defn.
12048
12049         * nt.h:
12050         [[[[8]]]]: *_OK defs moved to sysfile.h.
12051
12052         * ntproc.c:
12053         [6]. [7].
12054
12055         * objects-x.c:
12056         [4].
12057
12058         * print.c:
12059         * print.c (std_handle_out_external):
12060         [1]. [4].
12061
12062         * process-nt.c:
12063         * process-nt.c (nt_create_process):
12064         [6].
12065         try to fix process quoting somewhat.
12066
12067         * process-unix.c (unix_create_process):
12068         [1].
12069
12070         * process.c:
12071         * process.c (vars_of_process):
12072         Add Vnull_device.
12073
12074         * process.h:
12075         [1].
12076
12077         * realpath.c:
12078         * realpath.c (xrealpath):
12079         [1].
12080
12081         * redisplay-tty.c (init_tty_for_redisplay):
12082         [3].
12083
12084         * redisplay.c:
12085         [4]. [6].
12086
12087         * scrollbar-msw.c:
12088         [4].
12089
12090         * sheap.c:
12091         * sheap.c (more_static_core):
12092         * sheap.c (report_sheap_usage):
12093         [5]. [6].
12094
12095         * signal.c:
12096         * signal.c (alarm_signal):
12097         [1]. [6].
12098
12099         * sound.c:
12100         [6].
12101
12102         * strftime.c:
12103         * strftime.c (zone_name):
12104         [1]. [5].
12105
12106         * symsinit.h (init_sunpro):
12107         [1].
12108
12109         * syscommctrl.h:
12110         commctrl.h not in Cygwin b20.1.
12111
12112         * sysdep.c:
12113         * sysdep.c (endif):
12114         * sysdep.c (sys_subshell):
12115         * sysdep.c (init_baud_rate):
12116         * sysdep.c (emacs_get_tty):
12117         * sysdep.c (emacs_set_tty):
12118         * sysdep.c (tty_init_sys_modes_on_device):
12119         * sysdep.c (init_system_name):
12120         * sysdep.c (sys_open):
12121         * sysdep.c (interruptible_open):
12122         * sysdep.c (sys_fopen):
12123         * sysdep.c (sys_mkdir):
12124         * sysdep.c (sys_rename):
12125         * sysdep.c (get_process_times_1):
12126         [1]. [6].
12127
12128         * sysdep.h:
12129         [1].
12130
12131         * sysdir.h:
12132         * sysdir.h (DIRENTRY_NONEMPTY):
12133         [1]. [6].
12134
12135         * sysdll.c (dll_init):
12136         * sysdll.h:
12137         [1].
12138
12139         * sysfile.h:
12140         [1]. [6]. [8].
12141         added text/binary defs.
12142
12143         * sysfloat.h:
12144         [1].
12145
12146         * sysproc.h:
12147         * sysproc.h (EDESTADDRREQ):
12148         * sysproc.h (poll_fds_for_input):
12149         [1]. [6].
12150
12151         * syspwd.h:
12152         [6].
12153
12154         * syssignal.h:
12155         [1].
12156
12157         * systime.h:
12158         [1]. [6].
12159
12160         * systty.h:
12161         [1].
12162
12163         * syswindows.h:
12164         [1].
12165         Always define WIN32_LEAN_AND_MEAN.
12166
12167         * unexcw.c (unexec):
12168         [5].
12169
12170         * unexec.c:
12171         * unexec.c (copy_text_and_data):
12172         * unexec.c (adjust_lnnoptrs):
12173         [1].
12174
12175         * unexnt.c:
12176         * unexnt.c (_start):
12177         [1].
12178
12179 2000-06-07  Ben Wing  <ben@xemacs.org>
12180
12181         * mule-mcpath.c, mule-mcpath.h: Removed.  Old, crufty code that
12182         was used only as a model.  We've long since extracted any useful
12183         logic or code out of this. (I just did an exhaustive search.)
12184
12185         * s\msdos.h: Removed.
12186
12187         * s\windows95.h: Removed.
12188
12189 2000-06-10  Ben Wing  <ben@xemacs.org>
12190
12191         * s\cygwin32.h:
12192         [1]. [5].
12193         Don't use extern with fun defs.
12194
12195         * s\mingw32.h:
12196         [1]. [7].
12197         Remove nt\inc include.
12198         Remove getdisk, getdefdir. (The former is unused, the latter
12199         expanded in fileio.h.)
12200
12201         * s\windowsnt.h:
12202         * s\windowsnt.h (WIN32_NATIVE):
12203         * s\windowsnt.h (HAVE_STRCASECMP):
12204         [1]. [7].
12205         Add long comment about preprocessor changes.
12206         Remove getdisk, getdefdir. (The former is unused, the latter
12207         expanded in fileio.h.)
12208
12209 2000-06-10  Ben Wing  <ben@xemacs.org>
12210
12211         * m\arm.h:
12212         * m\delta.h:
12213         * m\intel386.h:
12214         * m\sequent.h:
12215         * m\template.h:
12216         * m\windowsnt.h:
12217         [1].
12218         Remove bogus/unused NO_SOCK_SIGIO.
12219
12220 2000-06-08  Hrvoje Niksic  <hniksic@iskon.hr>
12221
12222         * lisp.h (set_string_char): Call set_string_byte with a Bufbyte,
12223         not an Emchar.
12224
12225 2000-06-04  Mike Sperber <mike@xemacs.org>
12226
12227         * casetab.c (set_case_table): For `set-standard-case-table',
12228         actually deposit the new case tables where the rest of XEmacs can
12229         see them.
12230
12231 2000-06-05  Yoshiki Hayashi <yoshiki@xemacs.org>
12232
12233         * data.c (Faset): Don't cast XCHAR() to unsigned char.
12234
12235 2000-06-05  Ben Wing  <ben@xemacs.org>
12236
12237         * callproc.c (child_setup): Don't do close_load_descs() under
12238         MS Windows.  Put in a comment explaining why.
12239
12240 2000-05-28  Adrian Aichner  <aichner@ecf.teradyne.com>
12241
12242         * process-nt.c: Reverting patch "Fixing nt_create_process for MKS
12243         Toolkit shell" which breaks `kill-compilation' on Windows NT
12244         native, retaining STDERR handling improvements.
12245
12246 2000-06-01  Andreas Jaeger  <aj@suse.de>
12247
12248         * s/s390.h: Support for S390, based on a patch by Martin
12249         Schwidefsky <schwidefsky@de.ibm.com>.
12250
12251 2000-05-30  Andy Piper  <andy@xemacs.org>
12252
12253         * window.c (allocate_window):
12254         (make_dummy_parent):
12255         (Fset_window_configuration): use new hashtable type.
12256
12257         * glyphs.h (IMAGE_UNSPECIFIED_GEOMETRY):
12258         (struct image_instantiator_methods):
12259         (struct Lisp_Image_Instance): make instance geometry signed.
12260
12261         * glyphs.c (instantiate_image_instantiator):
12262         (image_instance_query_geometry):
12263         (image_instance_layout):
12264         (image_instance_layout):
12265         (query_string_geometry):
12266         (text_query_geometry):
12267         (image_instantiate):
12268         (image_instantiate):
12269         (cache_subwindow_instance_in_frame_maybe):
12270         (subwindow_query_geometry): make instance geometry signed.
12271
12272         * glyphs-widget.c (widget_query_geometry):
12273         (widget_layout):
12274         (button_query_geometry):
12275         (tree_view_query_geometry):
12276         (tab_control_query_geometry):
12277         (layout_query_geometry):
12278         (layout_layout):
12279         (native_layout_layout): make instance geometry signed.
12280
12281 2000-05-29  Olivier Galibert  <galibert@pobox.com>
12282
12283         * lisp.h: Add Qfull_assoc symbol and WEAK_LIST_FULL_ASSOC
12284         constant.
12285
12286         * general.c (syms_of_general): Add Qfull_assoc symbol.
12287
12288         * data.c (finish_marking_weak_lists): Mark full-assoc lists
12289         correctly.
12290         (decode_weak_list_type): Decode full-assoc type.
12291         (encode_weak_list_type): Encode full-assoc type.
12292         (Fmake_weak_list): Update doc string.
12293
12294 2000-05-30  Andy Piper  <andy@xemacs.org>
12295
12296         * elhash.h (hash_table_weakness): new KEY_VALUE weak hashtable.
12297
12298         * elhash.c (print_hash_table): new KEY_VALUE weak hashtable.
12299         (decode_hash_table_weakness): ditto.
12300         (Fhash_table_weakness): ditto.
12301         (Fhash_table_type): ditto.
12302         (finish_marking_weak_hash_tables): ditto.
12303         (hash_table_weakness_validate): ditto.
12304         (syms_of_elhash): ditto.
12305
12306 2000-05-28  Martin Buchholz <martin@xemacs.org>
12307
12308         * XEmacs 21.2.34 is released.
12309
12310 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
12311
12312         * redisplay.c (VERTICAL_CLIP): No longer reset when updating line
12313         start cache.
12314         (updating_line_start_cache): Gone.
12315         (regenerate_window): Replace resetting of VERTICAL_CLIP by
12316         generic code to force a minimum of 1 line laid out in the
12317         CMOTION_DISP case.
12318
12319 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
12320
12321         * glyphs.c (instantiate_image_instantiator): Check for initialized
12322         height & width no longer special cases IMAGE_NOTHING.
12323         (nothing_instantiate): Set height and width of instance.
12324
12325 2000-05-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
12326
12327         * unexelf.c (unexec): Search for ".data" section.
12328         Initialize new_data2_offset from old_data_index.
12329         Remove redundant check for ElfW.
12330
12331 2000-05-23  Andy Piper  <andy@xemacs.org>
12332
12333         * glyphs.c (get_image_instantiator_governing_domain): allow more
12334         specific domains as the governing domain rather than expecting an
12335         exact match. This fixes problems with layouts.
12336
12337 2000-05-22  Andy Piper  <andy@xemacs.org>
12338
12339         * redisplay-output.c (compare_runes): check for non-images
12340
12341         * glyphs.c (set_glyph_dirty_p): ditto.
12342         (update_glyph_cachel_data): ditto.
12343
12344         * glyphs-widget.c (layout_post_instantiate): ditto.
12345         (layout_post_instantiate): ditto.
12346
12347         * event-msw.c (mswindows_wnd_proc): warning removal.
12348
12349 2000-05-12  Craig Lanning  <CraigL@DyCon.com>
12350
12351         * s\mingw32.h: Added #undef for CLASH_DETECTION.
12352
12353         * syswindows.h: Moved PBS_SMOOTH definition to syscommctrl.h.
12354
12355         * syscommctrl.h (PBS_SMOOTH): Moved from syswindows.h.
12356
12357         * nt.c (rva_to_section): mingw32 needs rva_to_section.
12358         (mswindows_executable_type): mingw32 now has enough headers for
12359         this to work.
12360
12361 2000-05-20  Andy Piper  <andy@xemacs.org>
12362
12363         * console-msw.c (mswindows_output_last_error): ; -> ,
12364
12365 2000-05-12  Andy Piper  <andy@xemacs.org>
12366
12367         * console-msw.c (FROB): compare ints with ints.
12368
12369 2000-05-11  Andy Piper  <andy@xemacs.org>
12370
12371         * glyphs-x.c (x_finalize_image_instance): make minimal build
12372         happy.
12373
12374 2000-05-20  Ben Wing  <ben@xemacs.org>
12375
12376         * event-Xt.c:
12377         * event-Xt.c (vars_of_event_Xt):
12378         move modifier-keys-are-sticky to event-stream.c.
12379
12380         * event-msw.c:
12381         * event-msw.c (mswindows_enqueue_mouse_button_event):
12382         * event-msw.c (key_needs_default_processing_p):
12383         * event-msw.c (XEMSW_LCONTROL):
12384         * event-msw.c (mswindows_handle_sticky_modifiers):
12385         * event-msw.c (FROB):
12386         * event-msw.c (clear_sticky_modifiers):
12387         * event-msw.c (output_modifier_keyboard_state):
12388         * event-msw.c (output_alt_keyboard_state):
12389         * event-msw.c (mswindows_wnd_proc):
12390         * event-msw.c (mswindows_modifier_state):
12391         * event-msw.c (emacs_mswindows_handle_magic_event):
12392         implement sticky modifiers.
12393
12394         * event-stream.c:
12395         * event-stream.c (vars_of_event_stream):
12396         move modifier-keys-are-sticky here.
12397
12398         * lisp.h:
12399         add CHECK_FUNCTION.
12400
12401         * rangetab.c:
12402         implement map-range-table.
12403
12404
12405 2000-05-17  Yoshiki Hayashi  <yoshiki@xemacs.org>
12406
12407         * redisplay-tty.c (reset_tty_modes):
12408         (tty_redisplay_shutdown): Adjust argument type to
12409         tty_frame_output_end.
12410
12411 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
12412
12413         * eval.c (Fbacktrace): Don't output a line with only right
12414         parenthesis.
12415
12416 2000-05-17  Kenji Itoh  <keit@tpj.co.jp>
12417
12418         * postgresql.c (Fpq_connect_poll): Replace `PS' with `polling_status'.
12419         (Fpq_reset_poll): Ditto.
12420
12421 2000-05-16  Katsumi Yamaoka  <yamaoka@jpl.org>
12422
12423         * redisplay-tty.c: Replace tty_output_end with tty_frame_output_end.
12424
12425 2000-05-16  Ben Wing  <ben@xemacs.org>
12426
12427         * buffer.c:
12428         * buffer.c (dfc_convert_to/from_internal_format):
12429         * buffer.c (reinit_vars_of_buffer):
12430         Fix conversion functions to allow reentrancy.
12431
12432         * console-msw.c:
12433         * console-msw.c (mswindows_output_last_error):
12434         New fun, generally useful -- output a human-readable
12435         version of GetLastError() on the console.
12436
12437         * console-msw.h:
12438         * console-msw.h (struct mswindows_frame):
12439         Changes for DeferWindowPos.  Declare mswindows_output_last_error().
12440
12441         * console-stream.c (stream_output_begin):
12442         * console-stream.c (stream_output_end):
12443         * console-stream.c (stream_output_vertical_divider):
12444         * console-stream.c (stream_clear_region):
12445         * console-stream.c (stream_flash):
12446         * console-stream.c (console_type_create_stream):
12447         Delete blank stream methods, not needed.
12448
12449         * console.h (struct console_methods):
12450         Split begin/end methods into window and frame.
12451
12452         * event-msw.c:
12453         * event-msw.c (mswindows_handle_paint):
12454         * event-msw.c (output_alt_keyboard_state):
12455         * event-msw.c (mswindows_wnd_proc):
12456         * event-msw.c (vars_of_event_mswindows):
12457         Comment about problems with ignored-expose.
12458         Define mswindows-debug-events; not really implemented.
12459
12460         * frame-msw.c (mswindows_init_frame_1):
12461         random cleanups.
12462
12463         * glyphs-msw.c:
12464         * glyphs-msw.c (begin_defer_window_pos):
12465         * glyphs-msw.c (mswindows_unmap_subwindow):
12466         * glyphs-msw.c (mswindows_map_subwindow):
12467         * glyphs-msw.c (mswindows_resize_subwindow):
12468         Use DeferWindowPos to reduce flashing when mapping/unmapping.
12469
12470         * glyphs.c (make_image_instance_1):
12471         Fix crash.
12472
12473         * gutter.c (Fredisplay_gutter_area):
12474         Use new begin/end methods.
12475
12476         * lisp.h (Dynarr_new2):
12477         New creation fun.
12478
12479         * redisplay-msw.c:
12480         * redisplay-msw.c (mswindows_frame_output_begin):
12481         * redisplay-msw.c (mswindows_frame_output_end):
12482         * redisplay-msw.c (console_type_create_redisplay_mswindows):
12483         New begin/end methods -- handle DeferWindowPos.
12484
12485         * redisplay-output.c (redisplay_move_cursor):
12486         * redisplay-output.c (redraw_cursor_in_window):
12487         * redisplay-output.c (redisplay_update_line):
12488         * redisplay-output.c (redisplay_output_window):
12489         New begin/end methods.
12490
12491         * redisplay-tty.c:
12492         * redisplay-tty.c (tty_frame_output_begin):
12493         * redisplay-tty.c (tty_frame_output_end):
12494         * redisplay-tty.c (console_type_create_redisplay_tty):
12495         New begin/end methods.
12496
12497         * redisplay-x.c:
12498         * redisplay-x.c (x_window_output_begin):
12499         * redisplay-x.c (x_window_output_end):
12500         * redisplay-x.c (console_type_create_redisplay_x):
12501         New begin/end methods.
12502
12503         * redisplay.c (redisplay_frame):
12504         * redisplay.c (Fredisplay_echo_area):
12505         New begin/end methods.
12506         use MAYBE_DEVMETH for clear_frame; it may not exist.
12507
12508         * window.h (WINDOW_XFRAME):
12509         WINDOW_XFOO macros -- get locale and decode struct pointer.
12510
12511
12512 2000-05-12  Ben Wing  <ben@xemacs.org>
12513
12514         * emacs.c:
12515         * emacs.c (ensure_no_quitting_from_now_on):
12516         * emacs.c (fatal_error_signal):
12517         * emacs.c (mswindows_handle_hardware_exceptions):
12518         * emacs.c (main):
12519         * emacs.c (Fkill_emacs):
12520         * emacs.c (shut_down_emacs):
12521         * emacs.c (assert_failed):
12522         various improvements in fatal error handling.
12523
12524         * eval.c:
12525         move preparing_for_armageddon to emacs.c.
12526
12527         * lisp.h:
12528         declare fatal_error_in_progress.
12529
12530         * print.c:
12531         * print.c (std_handle_out_external):
12532         * print.c (std_handle_out_va):
12533         * print.c (stderr_out):
12534         * print.c (stdout_out):
12535         use console under mswin when no standard output.
12536         don't do code conversion during fatal error.
12537
12538         * scrollbar.c (Fscrollbar_page_up):
12539         * scrollbar.c (Fscrollbar_page_down):
12540         fix missing else.  reindent.
12541
12542 2000-05-11  Jan Vroonhof  <vroonhof@math.ethz.ch>
12543
12544         Emergency fix.
12545
12546         * glyphs.h (GLYPH_CACHEL_DESCENT):
12547         (GLYPH_CACHEL_DESCENT):
12548         (GLYPH_CACHEL_DESCENT):
12549         * glyphs.h (GLYPH_CACHEL_ASCENT): Match parameters to variables
12550         used in case these are inline functions.
12551         Use more absurd values to error check.
12552
12553         include window.h for error check functions.
12554
12555 2000-05-11  Ben Wing  <ben@xemacs.org>
12556
12557         * cmdloop.c (Freally_early_error_handler):
12558         Display message box under windows; otherwise, message will disappear
12559         before it can be viewed.
12560
12561         * console-msw.c:
12562         * console-msw.c (Fmswindows_message_box):
12563         * console-msw.c (FROB):
12564         * console-msw.c (syms_of_console_mswindows):
12565         Define new fun `mswindows-message-box'.
12566         #### I will merge this into `popup-dialog-box'; just give me
12567         a bit of time.
12568
12569         * general.c:
12570         * general.c (syms_of_general):
12571         Some new symbols used in `mswindows-message-box'.
12572
12573         * glyphs.c:
12574         * glyphs.c (Fset_image_instance_property):
12575         put warning in this fun.
12576
12577         * glyphs.h:
12578         * glyphs.h (GLYPH_CACHEL_WIDTH):
12579         * glyphs.h (GLYPH_CACHEL_ASCENT):
12580         * glyphs.h (GLYPH_CACHEL):
12581         * glyphs.h (GLYPH_CACHEL_GLYPH):
12582         define error-checking versions to try to catch a bug i've seen --
12583         redisplay gets in an infinite loop because the glyph width of the
12584         continuation glyph is 65535.
12585
12586         * lisp.h:
12587         Extern message-box stuff.
12588
12589         * window.c (allocate_window):
12590         * window.c (make_dummy_parent):
12591         * window.c (Fset_window_configuration):
12592         Use EQUAL not EQ for subwindow caches to make them work a bit
12593         better. (Something is still very broken.)
12594
12595
12596 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
12597
12598         * glyphs.c (image_instantiate): Suppress gcc warnings.
12599         (Fmake_image_instance): Fix doc string.
12600         * specifier.c (Fmake_specifier): Ditto.
12601
12602 2000-05-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
12603
12604         * paths.h.in (PATH_LOCK): Removed.
12605         * config.h.in (LOCKDIR_USER_DEFINED): Removed.
12606         * emacs.c (complex_vars_of_emacs): Remove configure-lock-directory.
12607
12608 2000-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
12609
12610         * fns.c (Ffeaturep): Update e-mail address in doc-string.
12611         Document (featurep '(and xemacs 21.02)).
12612
12613 2000-05-09  Ben Wing  <ben@xemacs.org>
12614
12615         * buffer.c (complex_vars_of_buffer):
12616         update modeline-format doc.
12617
12618         * device.h:
12619         comment about how DFW_DEVICE should be merged with DOMAIN_DEVICE.
12620
12621         * emacs.c:
12622         timeline of all released versions of Emacs, for use in creating
12623         authorship comments and in synching up.
12624
12625         * glyphs-widget.c (image_instantiator_buttons):
12626         * glyphs-widget.c (image_instantiator_edit_fields):
12627         * glyphs-widget.c (image_instantiator_combo_box):
12628         * glyphs-widget.c (image_instantiator_scrollbar):
12629         * glyphs-widget.c (image_instantiator_progress_guage):
12630         * glyphs-widget.c (image_instantiator_tree_view):
12631         * glyphs-widget.c (image_instantiator_tab_control):
12632         * glyphs-widget.c (image_instantiator_labels):
12633         * glyphs-widget.c (image_instantiator_layout):
12634         * glyphs-widget.c (image_instantiator_native_layout):
12635         rename decode_domain method to governing_domain.
12636
12637         * glyphs.c:
12638         * glyphs.c (Fvalid_image_instantiator_format_p): doc update.
12639         * glyphs.c (add_entry_to_device_ii_format_list):
12640         make sure we don't put an entry more than once into the list.
12641         * glyphs.c (check_instance_cache_mapper):
12642         *************************************************************
12643         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
12644         HAVE BEEN GETTING.
12645         *************************************************************
12646         * glyphs.c (get_image_instantiator_governing_domain):
12647         clean up, expand on new concept of governing domain.
12648         * glyphs.c (instantiate_image_instantiator):
12649         * glyphs.c (allocate_image_instance):
12650         use governing_domain instead of cache_domain in naming.
12651         * glyphs.c (Fvalid_image_instance_type_p): fix docs.
12652         * glyphs.c (make_image_instance_1):
12653         * glyphs.c (Fmake_image_instance):
12654         allow for any domain (not just device), and process the
12655         governing domain correctly.  very big doc fix.
12656         * glyphs.c (Fimage_instance_domain):
12657         new primitive, to retrieve the governing domain of an image instance.
12658         * glyphs.c (image_instantiate):
12659         use new governing_domain stuff.  this fixes a crash you could get
12660         by instantiating certain widget glyphs in frame locales. (should
12661         signal an error instead of crashing.)
12662         * glyphs.c (Fimage_specifier_p): move doc to make-image-specifier.
12663         * glyphs.c (Fglyphp): clean up doc.
12664         * glyphs.c (subwindow_governing_domain): renamed from *_decode_domain.
12665         * glyphs.c (syms_of_glyphs):
12666         declare Fimage_instance_domain, remove unused Qlayout_image_instance_p.
12667         * glyphs.c (image_instantiator_format_create): add some comments about
12668         bogus code.
12669         * glyphs.c (specifier_vars_of_glyphs): totally rewrite the doc string
12670         for current-display-table. (Apparently Hrjove implemented in 1998 a
12671         design I wrote up in 1996, but didn't update the doc string.)
12672
12673         * glyphs.h: clean up a doc string.
12674         * glyphs.h (governing_domain):
12675         * glyphs.h (struct image_instantiator_methods):
12676         changes for governing_domain stuff.
12677
12678         * gutter.c:
12679         * gutter.c (Fgutter_specifier_p):
12680         * gutter.c (Fgutter_size_specifier_p):
12681         * gutter.c (Fgutter_visible_specifier_p):
12682         * objects.c:
12683         * objects.c (Fcolor_specifier_p):
12684         * objects.c (Ffont_specifier_p):
12685         * objects.c (Fface_boolean_specifier_p):
12686         doc strings moved to make-*-specifier.
12687
12688         * redisplay.c (add_disp_table_entry_runes_1):
12689         * redisplay.c (generate_fstring_runes):
12690         * redisplay.c (screen):
12691         add random comments and doc strings.
12692
12693         * specifier.c:
12694         * specifier.c (Fmake_specifier):
12695         major overhaul of this doc string.
12696
12697         * specifier.c (Fvalid_specifier_domain_p):
12698         comment about the bogosity of image instances being domains.
12699         * specifier.c (decode_domain):
12700         now non-static, used in glyphs.c.
12701         * specifier.c (specifier_instance):
12702         comment about the bogosity of image instances being domains.
12703         * specifier.c (Fgeneric_specifier_p):
12704         move doc string to make-generic-specifier.
12705         * specifier.c (VALID_SINGLE_DISPTABLE_INSTANTIATOR_P):
12706         rebackslashify.
12707
12708         * specifier.h:
12709         * specifier.h (DOMAIN_FRAME):
12710         * specifier.h (DOMAIN_LIVE_P):
12711         * specifier.h (DOMAIN_XDEVICE):
12712         rebackslashify.
12713         add comments about problems with these macros.
12714         prototype for decode_domain.
12715
12716         * toolbar.c:
12717         * toolbar.c (Ftoolbar_specifier_p):
12718         move doc string to `make-toolbar-specifier'.
12719
12720         * window.c (window_unmap_subwindows_cache_mapper):
12721         *************************************************************
12722         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
12723         HAVE BEEN GETTING.
12724         *************************************************************
12725
12726 2000-05-09  Andy Piper  <andy@xemacs.org>
12727
12728         * glyphs.h: declare reset_frame_subwindow_instance_cache.
12729
12730         * window.c (Fset_window_configuration): reset the frame subwindow
12731         cache and re-initialize the window subwindow caches.
12732
12733         * glyphs.c (reset_frame_subwindow_instance_cache): new function.
12734
12735 2000-05-09  Ben Wing  <ben@xemacs.org>
12736
12737         * ntheap.c (recreate_heap): Changed unknown (VC6 only?) SIZE_T to
12738         DWORD.
12739
12740 2000-04-26  Mike Woolley  <mike@bulsara.com>
12741
12742         * ntheap.c: Changed recreate_heap to limit the amount reserved
12743         for the heap to that which is actually available. Also now
12744         displays a message box (with some dignostics) in the event that
12745         it still can't start.
12746
12747 2000-05-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
12748
12749         * callproc.c (Fold_call_process_internal): GCPRO path
12750
12751 2000-05-08  Jan Vroonhof  <jan@xemacs.org>
12752
12753         Patch by Bill Perry.
12754
12755         * scrollbar.c (Fscrollbar_page_up): Conditionalize on type of call
12756         back data instead of #ifdef.
12757         (Fscrollbar_page_down): ditto.
12758
12759 2000-05-07  Ben Wing  <ben@xemacs.org>
12760
12761         * buffer.h:
12762         Kludge for defining Qmswindows_tstr.
12763
12764         * nt.c:
12765         * nt.c (open_input_file):
12766         * nt.c (open_output_file):
12767         * nt.c (rva_to_section):
12768         * nt.c (mswindows_executable_type):
12769         Move all memory-mapped-file routines here (some were in unexnt.c,
12770         which is bad because they are used by process-nt.c, and unexnt
12771         won't be around when portable dumping).  Synched the above routines
12772         with FSF 20.6.
12773
12774         * nt.h:
12775         Removed ifdef'd out bogus code.
12776         Fixed some prototypes.
12777
12778         * nt.h (file_data):
12779         * nt.h (OFFSET_TO_RVA):
12780         * nt.h (RVA_TO_OFFSET):
12781         * nt.h (RVA_TO_PTR):
12782         Moved the memory-mapped-file structures, macros and prototypes
12783         here, to parallel nt.c.  ntheap.h should really be removed
12784         entirely, and it's a non-portable-dumper specific file.
12785
12786         * ntheap.h (round_to_next):
12787         Moved the memory-mapped-file structures, macros and prototypes
12788         to nt.h.
12789
12790         * ntproc.c (compare_env):
12791         Moved rva_to_section and mswindows_executable_type to nt.c.
12792         Moved compare_env to process-nt.c.
12793         ntproc.c will die, one day.
12794
12795         * ntproc.c (sys_spawnve):
12796         Account for win32_ -> mswindows_.
12797
12798         * process-nt.c:
12799         * process-nt.c (struct nt_process_data):
12800         * process-nt.c (ensure_console_window_exists):
12801         * process-nt.c (compare_env):
12802         * process-nt.c (nt_create_process):
12803         * process-nt.c (nt_kill_process_by_pid):
12804         * process-nt.c (syms_of_process_nt):
12805         * process-nt.c (vars_of_process_nt):
12806         Introduce variable `mswindows-quote-process-args', from FSF 20.6.
12807         Copy argument quoting code from FSF 20.6 (with appropriate Mule-ization
12808         changes).  Eliminate our old `nt-quote-process-args' mechanism.
12809         Synch up nt_create_process with FSF 20.6 sys_spawnve.
12810         Move compare_env here from ntproc.c.
12811
12812         * process.c (Fprocess_send_region):
12813         Takes an optional fourth argument, BUFFER, which should fix some
12814         problems with call-process.
12815
12816         * syscommctrl.h:
12817         Move ICC_BAR_CLASSES here from syswindows.h, to avoid a warning.
12818
12819         * syswindows.h:
12820         Move ICC_BAR_CLASSES to syscommctrl.h.
12821         Add preliminary macros for MSWindows/Mule.  More to come.
12822
12823         * unexnt.c:
12824         * unexnt.c (unexec):
12825         open_output_file moved to nt.c.
12826
12827
12828 2000-05-05  Andy Piper  <andy@xemacs.org>
12829
12830         * window.c (window_unmap_subwindows_cache_mapper): remove the dead
12831         instance from the frame cache also since GC may catch up too late
12832         to make frame deletion sane.
12833
12834 2000-05-04  Andy Piper  <andy@xemacs.org>
12835
12836         * glyphs-x.c (x_widget_instantiate): gcpro widget callbacks.
12837         (x_finalize_image_instance): ungcpro on deletion.
12838
12839         * glyphs.c (image_instantiator_format_create): give pointers a
12840         query geometry method so that the geometry is at least set.
12841
12842         * glyphs-x.c (image_instantiator_format_create_glyphs_x): only
12843         initialize layouts if using widgets.
12844
12845 2000-05-03  Andy Piper  <andy@xemacs.org>
12846
12847         * nt.c: remove bogus reference to sysmmsystem.h
12848
12849         * gui-x.c (popup_selection_callback): fix no selection abort.
12850
12851 2000-05-02  Andy Piper  <andy@xemacs.org>
12852
12853         * glyphs-msw.c (mswindows_update_widget): cope with nil text.
12854         (mswindows_widget_instantiate): ditto.
12855
12856         * glyphs-widget.c (initialize_widget_image_instance): initialize
12857         children correctly.
12858         (widget_instantiate): cope with children and items in the same
12859         instance.
12860
12861         * glyphs.c (mark_image_instance): cope with children as a first
12862         class member.
12863         (image_instance_equal): ditto.
12864         (image_instance_hash): ditto.
12865         (image_instance_changed): ditto.
12866
12867 2000-04-30  Andy Piper  <andy@xemacs.org>
12868
12869         * glyphs.c (subwindow_query_geometry): new function. Return some
12870         defaults.
12871         (subwindow_instantiate): don't assign dimensions if none have been
12872         given.
12873         (image_instantiator_format_create): add subwindow_query_geometry.
12874         (print_image_instance): cope with layouts as widgets.
12875
12876 2000-04-29  Andy Piper  <andy@xemacs.org>
12877
12878         * frame.c (delete_frame_internal): call
12879         free_frame_subwindow_instance_cache so that all subwindows are
12880         finalized before their parent.
12881         (mark_frame): remove subwindow_cachels.
12882         (Fmake_frame): remove subwindow_cachel manipulation.
12883         (allocate_frame_core): subwindow_instance_cache is a weak list.
12884         (delete_frame_internal): set subwindow_instance_cache to nil.
12885
12886         * glyphs-msw.c (mswindows_finalize_image_instance): make double
12887         finalization safe.
12888         (mswindows_finalize_image_instance): use the device
12889         not the domain as the domain may have died already.
12890
12891         * glyphs-x.c (x_finalize_image_instance): ditto.
12892         (x_subwindow_instantiate): remove SUBWINDOW_WIDTH &
12893         HEIGHT.
12894
12895         * redisplay-output.c (redisplay_unmap_subwindows): update for
12896         subwindow instance cache as a weak list.
12897         (redisplay_unmap_subwindows_maybe): ditto.
12898         (redisplay_unmap_subwindows_except_us): ditto.
12899
12900         * glyphs.c (unmap_subwindow): error checking will check the domain
12901         so don't deal with it here. Don't use cachels anymore.
12902         (map_subwindow): ditto.
12903         (update_subwindow_cachel_data): remove old accessor names.
12904         (subwindow_instantiate): remove SUBWINDOW_WIDTH & HEIGHT.
12905         (Fresize_subwindow): don't update cachel.
12906         (mark_subwindow_cachels):
12907         (update_subwindow_cachel_data):
12908         (add_subwindow_cachel):
12909         (get_subwindow_cachel_index):
12910         (update_subwindow_cachel):
12911         (reset_subwindow_cachels):
12912         (mark_subwindow_cachels_as_not_updated): deleted.
12913         (cache_subwindow_instance_in_frame_maybe): new function. Add a
12914         subwindow instance to the frame cache.
12915         (find_matching_subwindow): update for subwindow instance cache as
12916         a weak list.
12917         (update_widget_instances): ditto.
12918         (image_instance_type_to_mask):inlined.
12919         (free_frame_subwindow_instance_cache): new function. finalize all
12920         subwindows that are instantiated.
12921
12922         * glyphs.h (struct Lisp_Image_Instance): add display_data instead
12923         of cachel information.
12924         (IMAGE_INSTANCE_DISPLAY_X):
12925         (IMAGE_INSTANCE_DISPLAY_Y):
12926         (IMAGE_INSTANCE_DISPLAY_WIDTH):
12927         (IMAGE_INSTANCE_DISPLAY_HEIGHT):
12928         (XIMAGE_INSTANCE_DISPLAY_X):
12929         (XIMAGE_INSTANCE_DISPLAY_Y):
12930         (XIMAGE_INSTANCE_DISPLAY_WIDTH):
12931         (XIMAGE_INSTANCE_DISPLAY_HEIGHT): new accessors.
12932         remove subwindow_cachel structure and function references.
12933         (image_instance_type_to_mask): inline from glyphs.c
12934
12935         * redisplay.c (redisplay_frame): remove subwindow_cachel
12936         references.
12937
12938         * frame.h (struct frame): remove subwindow_cachels.
12939         (FRAME_SUBWINDOW_CACHE): access subwindow_instance_cache.
12940
12941         * frameslots.h: add subwindow_instance_cache.
12942
12943         * window.c (replace_window): check subwindow cache of replacement.
12944         (window_unmap_subwindows_cache_mapper):
12945         (window_unmap_subwindows): new functions. Unmap all subwindows
12946         cached on this window.
12947         (mark_window_as_deleted): unmap all subwindows.
12948
12949 2000-04-27  Andy Piper  <andy@xemacs.org>
12950
12951         * glyphs.h (IIFORMAT_METH_OR_GIVEN): cope with null meths.
12952
12953         * glyphs-widget.c (widget_layout): return something.
12954         (layout_layout): return something. Fail if not initialized.
12955         (layout_query_geometry): ditto.
12956         (image_instantiator_native_layout): new function. Initialized the
12957         native layout type.
12958         (widget_instantiate): don't do layout stuff here.
12959
12960         * glyphs.c (instantiate_image_instantiator): reorded calling or
12961         instantiate and post_instantiate with layout in between.
12962         (image_instance_layout): be more selective about deciding whether
12963         the layout has been done or not.
12964
12965         * glyphs.h (struct image_instantiator_methods): return a value
12966         from layout_method.
12967
12968 2000-04-26  Andy Piper  <andy@xemacs.org>
12969
12970         * glyphs.c (allocate_image_instance): make initial width and
12971         height unspecified. Set initialized to 0.
12972
12973         * syscommctrl.h new file. Encapsulates commctrl.h.
12974
12975         * syswindows.h new file. Encapsulates windows.h.
12976
12977         * ntplay.c: use new syswindows.h and syscommctrl.h header.
12978         * nt.c: ditto.
12979         * console-msw.h: ditto.
12980
12981         * redisplay-tty.c (tty_output_display_block): remove layout references.
12982
12983         * glyphs-msw.c (mswindows_widget_instantiate): use the domain
12984         window handle rather than just the frame.
12985
12986         * glyphs.c (mark_image_instance): remove layout references.
12987         (print_image_instance): ditto.
12988         (image_instance_equal): ditto.
12989         (image_instance_hash): ditto.
12990         (decode_image_instance_type): ditto.
12991         (encode_image_instance_type): ditto.
12992         (image_instantiate): ditto.
12993         (allocate_glyph): ditto.
12994         (Fimage_instance_height): ditto.
12995         (Fimage_instance_width): ditto.
12996         (update_subwindow): ditto.
12997
12998         * redisplay-x.c (x_output_display_block): recode for layouts as
12999         widgets.
13000
13001         * redisplay-output.c (redisplay_output_layout): recode for layouts
13002         as widgets.
13003         (compare_runes): remove layout references.
13004
13005         * redisplay-msw.c (mswindows_output_display_block): recode for
13006         layouts as widgets.
13007
13008         * glyphs-widget.c (image_instantiator_layout): remove
13009         layout_possible_dest_types.
13010         (layout_possible_dest_types): deleted.
13011
13012         * glyphs.h (image_instance_type): remove layout references.
13013         (struct Lisp_Image_Instance): ditto. Add initialized flag.
13014         (IMAGE_INSTANCE_INITIALIZED): new accessor.
13015         (XIMAGE_INSTANCE_INITIALIZED): ditto.
13016
13017 2000-04-25  Andy Piper  <andy@xemacs.org>
13018
13019         * glyphs-widget.c (image_instantiator_buttons):
13020         (image_instantiator_edit_fields):
13021         (image_instantiator_combo_box):
13022         (image_instantiator_scrollbar):
13023         (image_instantiator_progress_guage):
13024         (image_instantiator_tree_view):
13025         (image_instantiator_tab_control):
13026         (image_instantiator_labels):
13027         (image_instantiator_layout): call default post_instantiate method.
13028         (widget_post_instantiate): new function. Simply lays out the
13029         widgets.
13030
13031         * glyphs.h (struct image_instantiator_methods): add
13032         post_instantiate method.
13033
13034         * glyphs.c (instantiate_image_instantiator): add post_instantiate
13035         method calls.
13036
13037 2000-04-23  Andy Piper  <andy@xemacs.org>
13038
13039         * glyphs.h (struct image_instantiator_methods): add
13040         decode_domain_method.
13041         (struct Lisp_Image_Instance): remove subwindow frame - it can be
13042         derived from the domain.
13043         (IMAGE_INSTANCE_FRAME): new accessor.
13044         (XIMAGE_INSTANCE_FRAME): ditto.
13045
13046         * glyphs.c (print_image_instance): use IMAGE_INSTANCE_FRAME
13047         instead of _SUBWINDOW_FRAME.
13048         (finalize_image_instance): ditto.
13049         (Fimage_instance_foreground): ditto.
13050         (Fimage_instance_background): ditto.
13051         (image_instantiate): ditto.
13052         (update_subwindow_cachel): ditto.
13053         (update_subwindow): ditto.
13054         (unmap_subwindow): ditto.
13055         (map_subwindow): ditto
13056         (subwindow_instantiate): ditto.
13057         * glyphs-msw.c (mswindows_update_widget): ditto.
13058         (mswindows_progress_gauge_instantiate): ditto.
13059         (mswindows_tab_control_update): ditto.
13060         * glyphs-x.c (x_update_widget): ditto.
13061         (x_widget_instantiate): ditto.
13062         (x_tab_control_instantiate): ditto.
13063         (x_tab_control_update): ditto.
13064         * event-msw.c (mswindows_wnd_proc): ditto
13065
13066         * glyphs-widget.c (image_instantiator_layout): use
13067         subwindow_decode_domain.
13068         (image_instantiator_buttons): ditto.
13069         (image_instantiator_edit_fields): ditto.
13070         (image_instantiator_combo_box): ditto.
13071         (image_instantiator_scrollbar): ditto.
13072         (image_instantiator_progress_guage): ditto.
13073         (image_instantiator_tree_view): ditto.
13074         (image_instantiator_tab_control): ditto.
13075         (image_instantiator_labels): ditto.
13076         (image_instantiator_layout): ditto.
13077
13078         * glyphs.c: add instance error checking to many functions.
13079         (instantiate_image_instantiator): decode device from cache_domain.
13080         (image_instantiate): partially rewrite by using
13081         decode_image_instantiator_domain to determine what domain the
13082         instance needs to be cached in.
13083         (decode_image_instantiator_domain): new function. Determine what
13084         domain the image needs to be cached in.
13085         (check_window_subwindow_cache): new error checking function.
13086         (check_instance_cache_mapper): ditto.
13087         (check_image_instance_structure): ditto.
13088         (subwindow_decode_domain): new function. Encodes a window as a
13089         subwindow's cache domain.
13090         (image_instantiator_format_create): use it for text and
13091         subwindows.
13092
13093 2000-04-21  Andy Piper  <andy@xemacs.org>
13094
13095         * glyphs.c (image_instance_device): new function.
13096         (image_instance_frame): new function.
13097         (image_instance_window): new function.
13098         (image_instance_live_p): new function.
13099
13100         * window.c (mark_window_as_deleted): reset the subwindow_instance_
13101         cache to nil.
13102
13103         * glyphs.h (struct Lisp_Image_Instance): device->domain.
13104         (IMAGE_INSTANCE_DOMAIN): new accessor.
13105         (XIMAGE_INSTANCE_DOMAIN): ditto.
13106
13107         * glyphs-x.c (x_finalize_image_instance): device->domain.
13108
13109         * glyphs-msw.c (init_image_instance_geometry): device->domain.
13110         (mswindows_finalize_image_instance): ditto.
13111
13112         * glyphs-eimage.c (jpeg_instantiate): device->domain.
13113         (gif_instantiate): ditto.
13114         (png_instantiate): ditto.
13115         (tiff_instantiate): ditto.
13116
13117         * glyphs.c (instantiate_image_instantiator): use domain rather
13118         than device.
13119         (mark_image_instance): device -> domain.
13120         (print_image_instance): ditto.
13121         (finalize_image_instance): ditto.
13122         (image_instance_equal): ditto.
13123         (allocate_image_instance): ditto.
13124         (Fcolorize_image_instance): ditto.
13125         (query_string_geometry): ditto.
13126         (image_instantiate): ditto
13127         (query_string_font): ditto.
13128         (image_instantiate): ditto.
13129         (update_subwindow): ditto.
13130         (unmap_subwindow): ditto.
13131         (map_subwindow): ditto.
13132         (subwindow_instantiate): ditto.
13133
13134         * specifier.h (DOMAIN_DEVICE): new, semantically correct, decoder.
13135         (DOMAIN_FRAME): ditto.
13136         (DOMAIN_WINDOW): ditto.
13137         (DOMAIN_LIVE_P): ditto.
13138         (XDOMAIN_DEVICE): ditto.
13139         (XDOMAIN_FRAME): ditto.
13140         (XDOMAIN_WINDOW): ditto.
13141
13142         * specifier.c (Fvalid_specifier_domain_p): add image instances as
13143         a valid specifier domain.
13144
13145 2000-04-19  Andy Piper  <andy@xemacs.org>
13146
13147         * glyphs-widget.c (syms_of_glyphs_widget): remove
13148         widget-callback-current-channel.
13149         (vars_of_glyphs_widget): ditto.
13150         * glyphs.h: ditto
13151
13152         * gui.c (get_gui_callback): revert to previous behaviour.
13153
13154 2000-04-18  Andy Piper  <andy@xemacs.org>
13155
13156         * glyphs.h (struct Lisp_Image_Instance): add margin_width.
13157         (IMAGE_INSTANCE_MARGIN_WIDTH): new.
13158         (XIMAGE_INSTANCE_MARGIN_WIDTH): new.
13159
13160         * glyphs.c (image_instance_equal): add margin_width.
13161         (image_instance_hash): ditto.
13162
13163         * glyphs-widget.c (widget_instantiate): deal with margin-width.
13164         (layout_query_geometry): ditto.
13165         (layout_layout): ditto.
13166         (syms_of_glyphs_widget): add margin-width.
13167         (image_instantiator_layout): allow margin-width.
13168
13169         * glyphs.c (update_widget_instances): make a normal function.
13170         (syms_of_glyphs): remove Qupdate_widget_instances.
13171         * glyphs.h: ditto.
13172
13173         * gui-x.c (popup_selection_callback): use enqueue_magic_eval_event
13174         so that we don't corrupt ideas about the last event or
13175         command. Remove widget-callback-current-channel fiddling.
13176         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
13177
13178 2000-05-01  Martin Buchholz <martin@xemacs.org>
13179
13180         * XEmacs 21.2.33 is released.
13181
13182 2000-05-01  Yoshiki Hayashi  <yoshiki@xemacs.org>
13183
13184         * make-src-depend: Allow dots in header file name.
13185
13186 2000-05-01  Yoshiki Hayashi  <yoshiki@xmacs.org>
13187
13188         * mule-charset.h (struct charset_lookup): Add
13189         next_allocated_1_byte_leading_byte and
13190         next_allocated_2_byte_leading_byte.
13191         * mule-charset.c: Move above two variables so that those values
13192         will be dumped.
13193
13194 2000-04-26  Yoshiki Hayashi  <yoshiki@xemacs.org>
13195
13196         * insdel.c (find_charsets_in_bufbyte_string): Add Vcharset_ascii
13197         when string length is zero.
13198         (find_charsets_in_emchar_string): Ditto.
13199
13200 2000-04-29  Bjrn Torkelsson  <torkel@hpc2n.umu.se>
13201
13202         * lisp.h: extern Qdialog and Qmenubar.
13203
13204         * gui-x.c: added events.h.
13205                 also fixed typo which made the file uncompilable.
13206
13207         * general.c: Added Qmenubar and Qdialog
13208
13209 2000-04-28  Ben Wing  <ben@xemacs.org>
13210
13211         * frame-msw.c (mswindows_init_frame_1):
13212         * frame-msw.c (mswindows_mark_frame):
13213         * event-msw.c (mswindows_enqueue_dispatch_event):
13214         * console-msw.h:
13215         * console-msw.h (struct mswindows_frame):
13216         * console-msw.h (FRAME_MSWINDOWS_WIDGET_HASH_TABLE1):
13217         there are now three hash tables for callbacks.
13218         mswindows_enqueue_dispatch_event is no longer static.
13219
13220         * dialog-x.c (maybe_run_dbox_text_callback):
13221         * dialog-x.c (dbox_descriptor_to_widget_value):
13222         switch to new cons3 form for callbacks.
13223
13224         * glyphs-msw.c (mswindows_register_gui_item):
13225         * glyphs-msw.c (mswindows_widget_instantiate):
13226         * glyphs-msw.c (add_tree_item):
13227         * glyphs-msw.c (add_tab_item):
13228         new image instance parameter, so it can be passed to callback-ex.
13229         respect :callback-ex as well as :callback.
13230
13231         * glyphs-widget.c (VALID_GUI_KEYWORDS):
13232         add :callback-ex.
13233
13234         * glyphs.c (print_image_instance):
13235         prettify, e.g. now prints widget type.
13236
13237         * gui-x.h:
13238         certain funs have new image instance parameter.
13239
13240         * gui.c:
13241         * gui.c (get_gui_callback):
13242         * gui.c (gui_item_add_keyval_pair):
13243         * gui.c (gui_item_init):
13244         * gui.c (gui_add_item_keywords_to_plist):
13245         * gui.c (mark_gui_item):
13246         * gui.c (gui_item_hash):
13247         * gui.c (gui_item_equal):
13248         * gui.c (copy_gui_item):
13249         * gui.c (syms_of_gui):
13250         recognize callback-ex in a number of places.
13251         also, fix the annoying "can't get out of yes-no dialog" bug.
13252
13253         * gui.h:
13254         * gui.h (struct Lisp_Gui_Item):
13255         recognize callback-ex in a number of places.
13256
13257         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
13258         new parameter in button_item_to_widget_value.
13259
13260         * glyphs-x.c (x_update_widget):
13261         * glyphs-x.c (x_button_instantiate):
13262         * glyphs-x.c (x_button_update):
13263         * glyphs-x.c (x_progress_gauge_instantiate):
13264         * glyphs-x.c (x_edit_field_instantiate):
13265         * glyphs-x.c (x_combo_box_instantiate):
13266         * glyphs-x.c (x_tab_control_instantiate):
13267         * glyphs-x.c (x_label_instantiate):
13268         new image instance parameter in various places.
13269
13270         * event-Xt.c:
13271         * event-Xt.c (enqueue_Xt_dispatch_event):
13272         this fun gets exported.
13273
13274         * gui-msw.c:
13275         * gui-msw.c (mswindows_handle_gui_wm_command):
13276         handle both :callback and :callback-ex, and generate our own
13277         event because it's one of the callback-ex arguments.
13278
13279         * gui-x.c:
13280         * gui-x.c (popup_selection_callback):
13281         handle both :callback and :callback-ex, and generate our own
13282         event because it's one of the callback-ex arguments.
13283         * gui-x.c (button_item_to_widget_value):
13284         * gui-x.c (gui_items_to_widget_values_1):
13285         * gui-x.c (gui_item_children_to_widget_values):
13286         * gui-x.c (gui_items_to_widget_values):
13287         new image instance parameter in various places.
13288
13289         * fns.c (Freplace_list):
13290         fix small typo in doc string.
13291
13292         * lisp.h:
13293         declare enqueue_Xt_dispatch_event.
13294
13295 2000-04-28  Ben Wing  <ben@xemacs.org>
13296
13297         * buffer.c:
13298         * buffer.c (Frecord_buffer):
13299         * buffer.c (syms_of_buffer):
13300         delete record-buffer-hook.
13301
13302         * fns.c:
13303         * fns.c (Freplace_list):
13304         * fns.c (syms_of_fns):
13305         new primitive replace-list.
13306
13307         * frameslots.h:
13308         slot for old buffer-alist.
13309
13310         * lisp.h:
13311         exfun replace-list.
13312
13313         * redisplay.c:
13314         * redisplay.c (redisplay_frame):
13315         * redisplay.c (syms_of_redisplay):
13316         * redisplay.c (vars_of_redisplay):
13317         new hook buffer-list-changed-hook.
13318         call it.
13319
13320 2000-04-27  Ben Wing  <ben@xemacs.org>
13321
13322         * extents.h: extern in_modeline_generation.
13323
13324         * redisplay.c (generate_formatted_string_db): set
13325         in_modeline_generation.
13326
13327         * extents.c (extent_changed_for_redisplay): don't mark redisplay
13328         flags if in modeline generation.  otherwise frame-modified-tick
13329         is ticked far too often.
13330         Declare in_modeline_generation.
13331
13332 2000-04-26  Ben Wing  <ben@xemacs.org>
13333
13334         * emacs.c (vars_of_emacs): document quick-build "error-checking"
13335         option.
13336         (vars_of_emacs): add quick-build as an error-checking option.
13337         A bit kludgy, but there doesn't seem much point in creating
13338         a real var for this.
13339
13340         * config.h.in: put in an entry for QUICK_BUILD; remove NO_DOC_FILE.
13341
13342 2000-04-14  IKEYAMA Tomonori  <tomonori@suiyokai.org>
13343
13344         * redisplay.h (struct display_line): Add a new variable,
13345         line_continuation.
13346
13347         * redisplay.c (create_text_block): Set dl->line_continuation if
13348         the line continues.
13349         (create_string_text_block): Ditto.
13350         (regenerate_window_incrementally): Use line_continuation instead
13351         of searching continuation glyph.
13352         (add_margin_runes): Call add_glyph_rune.
13353         (add_glyph_rune): Handle margin glyph.
13354
13355 2000-04-20  Martin Buchholz  <martin@xemacs.org>
13356
13357         * filelock.c (fill_in_lock_file_name):
13358         ANSIfy.
13359         Check for IS_ANY_SEP instead of '/'.
13360         (lock_file_1):
13361         Avoid generating gratuitous garbage.  Call user_login_name() directly.
13362         Never check errno without first seeing that system call failed.
13363         (unlock_file): Add GCPRO.
13364         (Flock_buffer): Fix docstring.
13365         (Ffile_locked_p): Fix docstring.  Add GCPRO.
13366
13367 2000-04-19  Martin Buchholz  <martin@xemacs.org>
13368
13369         * sysdep.c (get_pty_max_bytes):
13370         Fix hangs on DEC OSF 4.0 when (process-send-string) sends
13371         strings longer than 252 bytes.
13372
13373         * md5.c: Unconditionally include ANSI header <limits.h>
13374
13375         * glyphs-x.c (convert_EImage_to_XImage):
13376         * lisp-union.h (union Lisp_Object):
13377         Use consistently the syntax #ifdef FEATURE, not #if FEATURE.
13378
13379 2000-04-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
13380
13381         * filelock.c (current_lock_owner): Remove unused variable o, p.
13382
13383 2000-04-17  Norbert Koch  <n.koch@eai-delta.de>
13384
13385         * callint.c: Remove multiply defined symbol Qlet
13386         (syms_of_callint): ditto.
13387
13388 2000-04-14  Andy Piper  <andy@xemacs.org>
13389
13390         * general.c (syms_of_general): add last-command, this-command, let
13391         and funcall.
13392
13393         * lisp.h: declare various symbols.
13394
13395         * glyphs.h: declare Qwidget_callback_current_channel;
13396
13397         * glyphs-widget.c (syms_of_glyphs_widget): add
13398         Qgui_callback_current_channel.
13399         (vars_of_glyphs_widget): add Vgui_callback_current_channel.
13400
13401         * gui-msw.c (mswindows_handle_gui_wm_command): bind
13402         widget-callback-current-channel when invoking the interactive
13403         arg. Also bind last-command and next-command when invoking the
13404         widget updates.
13405         * gui-x.c (popup_selection_callback): ditto.
13406
13407         * gui.c (get_gui_callback): massage args so that we are always
13408         calling eval. This allows us to add our own variable bindings
13409         outside.
13410
13411         * glyphs-x.c (x_button_instantiate): use
13412         gui_items_to_widget_values since this is GC safe.
13413         (x_progress_gauge_instantiate): ditto.
13414         (x_edit_field_instantiate): ditto.
13415         (x_label_instantiate): ditto.
13416
13417         * event-Xt.c (emacs_Xt_handle_magic_event): remove old printfs.
13418         (emacs_Xt_event_widget_focus_out): new function
13419         (emacs_Xt_event_widget_focus_in): new function. Set the keyboard
13420         focus.
13421         (emacs_Xt_event_add_widget_actions): new function. add focus
13422         functions as actions.
13423         (init_event_Xt_late): use it.
13424
13425 2000-04-14  Hrvoje Niksic  <hniksic@iskon.hr>
13426
13427         * event-stream.c (Fdispatch_event): Doc fix.
13428
13429 2000-03-29  SL Baur  <steve@musashimaru.m17n.org>
13430
13431         * postgresql.c: Remove all references to PQsetenv*.
13432
13433         * postgresql.h: Remove references to PGsetenvHandler object.
13434         * lrecord.h (lrecord_type): Ditto.
13435
13436 2000-04-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13437
13438         * glyphs-msw.h (struct mswindows_image_instance_data): Added
13439         real_heigh and real_width members, and accessor macros for these.
13440
13441         * glyphs-msw.c (init_image_instance_geometry): New function.
13442         (init_image_instance_from_dibitmap): Use it.
13443         (mswindows_resource_instantiate): Use it.
13444         (init_image_instance_from_xbm_inline): Use it.
13445         (mswindows_initialize_image_instance_mask): Use real bitmap
13446         geometry.
13447         (mswindows_create_resized_bitmap): Ditto.
13448         (mswindows_create_resized_mask): Ditto.
13449
13450         * redisplay-msw.c (mswindows_output_dibitmap): Stretch real mask
13451         and bitmap to their surface size.
13452
13453 2000-04-11  Jan Vroonhof  <jan@xemacs.org>
13454
13455         * process-unix.c (unix_send_process): Guard against process MIA
13456         after Faccept_process_output.
13457
13458 2000-04-11  Ben Wing  <ben@xemacs.org>
13459
13460         * eval.c (unbind_to_hairy): fix brokenness introduced by
13461         nanosecond speed improvements.
13462
13463 2000-04-07  Raymond Toy  <toy@rtp.ericsson.se>
13464
13465         * sunplay.c (init_device): To play sounds correctly, the device
13466         apparently needs to be initialized at least once by XEmacs.  Make
13467         it so.
13468
13469 2000-04-10  IKEYAMA Tomonori  <tomonori@suiyokai.org>
13470
13471         * redisplay.c (add_margin_runes): Add text image glyph
13472           handling.
13473
13474 2000-04-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
13475
13476         * lisp.h (DOESNT_RETURN): Don't declare as volatile when
13477         gcc is newer than 2.5.
13478
13479 2000-04-06  Colin Rafferty  <colin@xemacs.org>
13480
13481         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF): Created.
13482
13483         * fns.c (size_bit_vector):
13484         * alloc.c (size_vector):
13485         (make_vector_internal):
13486         (make_bit_vector_internal):
13487         (sweep_bit_vectors_1):
13488         Replace calls to offsetof with FLEXIBLE_ARRAY_STRUCT_SIZEOF macro.
13489
13490 2000-04-06  Andy Piper  <andy@xemacs.org>
13491
13492         * gmalloc.c (malloc): undo previous change.
13493         (malloc): ditto.
13494         (free): ditto.
13495         (realloc): ditto.
13496
13497 2000-04-06  IKEYAMA Tomonori <tomonori@suiyokai.org>
13498
13499         * line-number.c (buffer_line_number): Revert to former version.
13500
13501 2000-04-06  Andy Piper  <andy@xemacs.org>
13502
13503         * gmalloc.c (malloc): add error checking.
13504         (malloc): ditto.
13505         (free): ditto.
13506         (realloc): ditto.
13507
13508         * dialog-x.c (dbox_descriptor_to_widget_value): add extra
13509         button_item_to_widget_value arg.
13510
13511         * glyphs-x.c (x_button_instantiate): add extra
13512         button_item_to_widget_value arg.
13513         (x_progress_gauge_instantiate): ditto.
13514         (x_edit_field_instantiate): ditto.
13515         (x_label_instantiate): ditto.
13516
13517         * gui-x.c (gui_items_to_widget_values_1): add extra
13518         button_item_to_widget_value arg.
13519         (button_item_to_widget_value): add extra menu_item_p arg.
13520
13521         * gui-x.h: change signature of button_item_to_widget_value.
13522
13523         * menubar-x.c (menu_item_descriptor_to_widget_value_1): add extra
13524         button_item_to_widget_value arg.
13525
13526 2000-04-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
13527
13528         * buffer.h (struct buffer): auto_save_modified should be long.
13529
13530 2000-04-05  Andy Piper  <andy@xemacs.org>
13531
13532         * glyphs-widget.c (widget_instantiate): pixwidth != pixheight
13533         type.
13534         (button_query_geometry): give a little more room so that athena
13535         buttons fit.
13536
13537 2000-04-05  Andy Piper  <andy@xemacs.org>
13538
13539         * faces.c (complex_vars_of_faces): The widget face should inherit
13540         the font of the gui-element face.
13541
13542 2000-04-04  Andy Piper  <andy@xemacs.org>
13543
13544         * glyphs-x.c (x_button_update): new function. unconditionally
13545         update a button's state when the instance is dirty.
13546         (image_instantiator_format_create_glyphs_x): add x_button_update.
13547         (x_widget_instantiate): remove old resize cruft.
13548
13549 2000-04-02  Andy Piper  <andy@xemacs.org>
13550
13551         * frame.c (change_frame_size_1): The introduction of gutters means
13552         that we need to allow 0 as a potential frame dimension.
13553
13554 2000-04-02  IKEYAMA Tomonori  <tomonori@suiyokai.org>
13555
13556         * redisplay.c (add_glyph_rune): Don't set 0 to bufpos for text
13557         image glyph if allow_cursor.
13558         (add_hscroll_rune): Don't allow cursor to border glyph.
13559         (create_text_block): Ditto.
13560
13561         * redisplay-output.c (redisplay_move_cursor): Do nothing even if
13562         text not in buffer.
13563         (redisplay_output_layout): Call ensure_face_cachel_complete for
13564         text image glyph.
13565
13566
13567 2000-03-16  IKEYAMA Tomonori  <tomonori@suiyokai.org>
13568
13569         * redisplay.c (add_glyph_rune): Adding text image as text runes.
13570
13571         * redisplay-output.c (redisplay_move_cursor): NO_CURSOR if text
13572         not in buffer
13573
13574         * redisplay-tty.c (tty_output_display_block): Delete the routine
13575         for text image glyph
13576         * redisplay-x.c (x_output_display_block): ditto
13577         * redisplay-msw.c (mswindows_output_display_block): ditto
13578
13579 2000-02-02  Mike Alexander  <mta@arbortext.com>
13580
13581         Note: Some of these were committed by accident as part of other
13582         patches.
13583
13584         * regex.c (regex_compile): Avoid compiler warnings.
13585
13586         * ntproc.c (sys_spawnve): Avoid compiler warnings.
13587
13588         * nt.h: Declare term_ntproc correctly.
13589
13590         * nt.c: Remove incorrect declaration of get_home_directory which
13591         is declared correctly in lisp.h.
13592
13593         * keymap.c (get_keyelt): Avoid compiler warnings.
13594         (raw_lookup_key_mapper): Avoid compiler warnings.
13595
13596         * gutter.c (gutter_was_visible): Add return statement to avoid warning.
13597
13598         * glyphs-eimage.c (png_instantiate): Avoid compiler warnings.
13599
13600         * filemode.c (mode_string): Avoid compiler warnings.
13601
13602         * file-coding.c (Fcoding_system_aliasee): Add return statement to
13603         avoid warning.
13604
13605         * events-mod.h: Undef some things that winuser.h defines differently.
13606
13607         * data.c (Faset): Avoid compiler warnings.
13608
13609         * alloc.c (Fmake_byte_code): Avoid compiler warnings.
13610
13611 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
13612
13613         * sound.c (Fplay_sound_file): Wrap ESD in start/stop_interrupts.
13614         Fall through to simple beep on error.
13615         Replace "extern" by real header file.
13616
13617         * linuxplay.c: Use nativesound.h
13618         (play_sound_data): Return error code. Be less verbose on error.
13619
13620         * sunplay.c: Use nativesound.h
13621         (play_sound_data): Return error code. Be less verbose on error.
13622
13623         * ntplay.c: Use nativesound.h
13624         (play_sound_data): Return fake error code
13625
13626         * sgiplay.c: Use nativesound.h
13627         (play_sound_data): Return error code
13628
13629         * hpplay.c: Use nativesound.h, partially implement
13630         new error code. Break compilation until finished.
13631         (play_sound_data): error code.
13632
13633         * nativesound.h (play_sound_file):
13634           (play_sound_data): Prototype in new header.
13635
13636 2000-03-31  Andy Piper  <andy@xemacs.org>
13637
13638         * glyphs-widget.c: (button_query_geometry): new function. Adjust
13639         for toggle and radio buttons.
13640         (image_instantiator_buttons): use it.
13641
13642 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
13643
13644         * scrollbar-x.c (x_update_vertical_scrollbar_callback):
13645         (x_update_horizontal_scrollbar_callback): Return if no mirror was
13646         found. Scrollbar event probably belonged to some old config.
13647
13648 2000-03-31  Andy Piper  <andy@xemacs.org>
13649
13650         * glyphs-widget.c (widget_instantiate): use LAYOUT_VERTICAL rather
13651         than 1.
13652         (initialize_widget_image_instance): default layout to
13653         LAYOUT_HORIZONTAL rather than 0.
13654         (widget_instantiate): reverse the item list at the end rather than
13655         every iteration.
13656         (layout_layout): re-code for the border text at the front of the
13657         item list rather than at the end.
13658         (layout_query_geometry): ditto. Pick up fixed and dynamic sizes
13659         provided by the user.
13660         (widget_query_geometry): comment.
13661
13662 2000-03-30  Andy Piper  <andy@xemacs.org>
13663
13664         * glyphs-widget.c (image_instantiator_layout): allow standard
13665         widget keywords in layouts.
13666
13667         * gutter.c (output_gutter): cope with nil gutter contents.
13668
13669         * frame.c (Fset_frame_properties): add gutter docs.
13670
13671 2000-03-29  Andy Piper  <andy@xemacs.org>
13672
13673         * toolbar-msw.c (TBSTYLE_FLAT): add.
13674         (mswindows_output_toolbar): minor fiddling.
13675
13676 2000-03-29  Andy Piper  <andy@xemacs.org>
13677
13678         * gutter.c (output_gutter): force gutter size recalculation if
13679         what we are trying to display won't fit.
13680         (update_gutter_geometry): new function. A per-gutter version of
13681         update_frame_gutter_geometry.
13682         (update_frame_gutter_geometry): use it.
13683         (redraw_exposed_gutter): add extra debugging output.
13684
13685 2000-03-28  Mike Alexander  <mta@arbortext.com>
13686
13687         * dumper.c: Declare pdump_hFile and pdump_hMap (Windows only)
13688         (pdump_file_unmap): Implement it on Windows
13689         (pdump_file_get): Save alocated handles for pdump_file_unmap
13690
13691 2000-03-28  Andy Piper  <andy@xemacs.org>
13692
13693         * gui.c (get_gui_callback): treat Quit specially.
13694
13695 2000-03-27  Andy Piper  <andy@xemacs.org>
13696
13697         * glyphs.c (image_instantiate): be careful to check in the same
13698         way we assigned.
13699
13700 2000-03-27  Didier Verna  <didier@xemacs.org>
13701
13702         * config.h.in: define the proper SMART_INCLUDE macro.
13703         handle renaming of `foo_h_path' to `foo_h_file'.
13704
13705         * database.c: ditto.
13706
13707         * emacs.c: ditto.
13708
13709         * linuxplay.c: ditto.
13710
13711         * terminfo.c: ditto.
13712
13713         * tooltalk.h: ditto.
13714
13715 2000-03-27  Andy Piper  <andy@xemacs.org>
13716
13717         * glyphs-msw.c (mswindows_update_widget): make sure the widget
13718         gets updated whenever the face might have changed.
13719
13720 2000-03-26  Mike Alexander  <mta@arbortext.com>
13721
13722         * dumper.c (pdump_resource_free): Fix the comment.
13723
13724 2000-03-21  Olivier Galibert  <galibert@pobox.com>
13725
13726         * input-method-xlib.c (XIM_init_frame): Remove painful warning.
13727
13728 2000-03-22  Mike Alexander  <mta@arbortext.com>
13729
13730         * dumper.c: Include Windows headers on Windows
13731         (pdump_resource_free): Add a body to the function
13732         (pdump_load): exe_name -> exe_path and add some comments.
13733
13734 2000-03-25  Mike Alexander  <mta@arbortext.com>
13735
13736         * gui.c (copy_gui_item_tree): Return a value in all cases
13737
13738 2000-03-21  Didier Verna  <didier@xemacs.org>
13739
13740         * config.h.in: move INCLUDE_GLUE_1 and INCLUDE_GLUE_2 here from
13741         lwlib/config.h.in.
13742         (SMART_INCLUDE): new macro.
13743         (POSTGRES_INCLUDE): new macro to include postgresql headers from
13744         the proper location.
13745
13746         * postgresql.c: use it.
13747
13748         * inline.c: ditto.
13749
13750 2000-03-24  Andy Piper  <andy@xemacs.org>
13751
13752         * gutter.c (redraw_exposed_gutters): must be "in display" when we
13753         do this.
13754
13755 2000-03-24  Andy Piper  <andy@xemacs.org>
13756
13757         * redisplay-output.c (compare_runes): use image_instance_changed
13758         to detect changes. Do not depend on glyphs_changed, only depend on
13759         dirtiness.
13760          (redisplay_output_layout): add debug messages.
13761         (compare_runes): ditto.
13762
13763         * glyphs.h: declare new functions.
13764         (struct Lisp_Image_Instance): remove percent and associated
13765         accessors.
13766
13767         * gui.h: declare new copying functions.
13768
13769         * gui.c (copy_gui_item_tree): new function.
13770         (copy_gui_item): new function.
13771         (gui_item_id_hash): revert to standard hash.
13772         (gui_item_hash): ditto.
13773         (gui_item_hash_internal): deleted.
13774         (mark_gui_item): mark value.
13775         (gui_item_add_keyval_pair): add value.
13776         (gui_item_init): ditto.
13777         (gui_add_item_keywords_to_plist): ditto.
13778         (gui_item_equal): ditto.
13779         (syms_of_gui): add Q_value.
13780
13781         * glyphs-x.c (x_progress_gauge_update): use pending items and
13782         value for setting the state.
13783         (x_update_widget): don't set items from pending here.
13784
13785         * glyphs-widget.c (update_widget): update items here.
13786         (progress_gauge_set_property): use items for storing value. Put
13787         new value in pending items.
13788
13789         * glyphs-msw.c (mswindows_progress_gauge_update): use pending
13790         items for new value. Convert percent -> value.
13791         (mswindows_tab_control_update): don't update items here.
13792
13793         * glyphs.c (Fupdate_widget_instances): use image_instance_changed.
13794         (update_subwindow): ditto.
13795         (image_instance_changed): new function. Compare hash values and
13796         past and present widget items.
13797         (image_instantiate): We more careful about where we instantiate
13798         things.
13799         (image_instantiate): add error checking.
13800
13801         * gutter.c (syms_of_gutter): use -hook.
13802
13803 2000-03-20  Yoshiki Hayashi  <yoshiki@xemacs.org>
13804
13805         * console-tty.c (Fset_console_tty_input_coding_system): Use
13806         Qkeyboard.
13807         (Fset_console_tty_output_coding_system): Use Qterminal.
13808         (tty_init_console): Use Qkeyboard and Qterminal.
13809
13810 2000-03-21  Ben Wing  <ben@xemacs.org>
13811
13812         * ntproc.c (create_child): remove bogus HAVE_NTGUI's.
13813         From Mike Alexander <mta@arbortext.com>.
13814
13815 2000-03-21  Ben Wing  <ben@xemacs.org>
13816
13817         * event-msw.c (mswindows_need_event): Horrible kludge to fix
13818         process brokenness.  Proper implementation to come.
13819         * callproc.c:
13820         Rename call-process-internal to old-call-process-internal.
13821         New impl. in process.el.
13822
13823 2000-03-21  Martin Buchholz  <martin@xemacs.org>
13824
13825         * Makefile.in.in: Coalesce HAVE_NATIVE_SOUND code fragments.
13826
13827 2000-03-20  Andy Piper  <andy@xemacs.org>
13828
13829         * glyphs.c (full_list_hash): make hashes of the same elements in
13830         different orders return different values.
13831
13832 2000-03-20  Martin Buchholz <martin@xemacs.org>
13833
13834         * XEmacs 21.2.32 is released.
13835
13836 2000-03-20  Martin Buchholz  <martin@xemacs.org>
13837
13838         * buffer.h (DFC_ALLOCA_USE_CONVERTED_DATA):
13839         (DFC_MALLOC_USE_CONVERTED_DATA):
13840         Add aliasing-safe casts to allow use with char* or unsigned char*
13841         lvalues.
13842
13843         * eldap.c (Fldap_open):
13844         (Fldap_search_basic):
13845         (Fldap_add):
13846         (Fldap_modify):
13847         Make C++-compilable.
13848         Make sure GCPRO'ed variables are initialized.
13849         Use temp variables to avoid repeated calls to Flength.
13850
13851 2000-03-16  Martin Buchholz  <martin@xemacs.org>
13852
13853         * sysfile.h:
13854         Make sure PATH_MAX is always defined.
13855         Include limits.h for PATH_MAX.
13856         Deprecate use of MAXPATHLEN.
13857
13858 2000-03-10  Martin Buchholz  <martin@xemacs.org>
13859
13860         * emacs.c: Add reinit_vars_of_fileio.
13861         * symsinit.h: Add reinit_vars_of_fileio.
13862         * fileio.c (reinit_vars_of_fileio): New.
13863         * fileio.c (Fmake_temp_name):
13864         Initialize temp_name random number from microseconds to make
13865         collisions even less likely.  Initialize always at process startup
13866         time.  (make-temp-name) used to return the same file name twice in
13867         a row when PDUMP.
13868         Random stylistic fiddling.
13869         Comment fixes.
13870
13871 2000-03-20  Andy Piper  <andy@xemacs.org>
13872
13873         * glyphs.c (image_instantiate): allow text glyphs to be
13874         instantiated in the minibuffer window.
13875
13876 2000-03-19  Andy Piper  <andy@xemacs.org>
13877
13878         * glyphs.c (image_instance_hash): be careful about which items we
13879         hash on.
13880
13881         * glyphs-widget.c (tab_control_set_property): record into pending
13882         items rather than the actual items.
13883
13884         * glyphs-x.c (x_update_widget): use pending items to update with.
13885
13886         * glyphs-msw.c (mswindows_tab_control_update): use pending items
13887         to update with.
13888
13889         * glyphs.c (mark_image_instance): mark pending items.
13890
13891         * window.c (Fset_window_configuration): record the buffer.
13892         (Fselect_window): totally revert previous change which breaks many
13893         things.
13894
13895 2000-03-18  Andy Piper  <andy@xemacs.org>
13896
13897         * glyphs-msw.c (mswindows_tab_control_update): force selected
13898         item.
13899
13900         * glyphs.c (image_instantiate): don't allow the minibuffer as a
13901         window domain cache, otherwise we get inconsistencies at
13902         startup. There is something fishy at startup which can lead to the
13903         minibuffer being the selected window when the gutter content is
13904         instantiated.
13905
13906         * gui.c (parse_gui_item_tree_list): add probably unnecessary
13907         gcpros.
13908         (parse_gui_item_tree_children): ditto.
13909         (parse_gui_item_tree_item): ditto.
13910
13911         * glyphs.c (Fupdate_widget_instances): return something.
13912
13913 2000-03-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
13914
13915         * window.c (Fselect_window): Undo 2000-03-17 change.
13916
13917 2000-03-17  SL Baur  <steve@musashimaru.m17n.org>
13918
13919         * postgresql.c (Fpq_setenv): Remove this turkey when linking
13920         against v7.0 libraries.  Insta-coredump city until the postgres
13921         folks fix it.
13922
13923 2000-03-17  Andy Piper  <andy@xemacs.org>
13924
13925         * faces.c (complex_vars_of_faces): don't give the widget face an
13926         inherited background pixmap.
13927
13928         * glyphs-msw.c (mswindows_tab_control_instantiate): select the
13929         selected item.
13930
13931         * event-stream.c (Fdispatch_non_command_events): return something.
13932
13933         * gutter.c (output_gutter): use widget face.
13934         (clear_gutter): ditto.
13935
13936         * NEWS: adjust again.
13937
13938         * window.c (Fselect_window): make sure this runs to completion to
13939         avoid oddities with Fset_window_configuration.
13940         (Fcurrent_window_configuration): in general do not save the
13941         minibuffer as the selected window.
13942
13943         * glyphs.h (IMAGE_INSTANCE_HASH_DEPTH): increase.
13944
13945 2000-03-16  Olivier Galibert  <galibert@pobox.com>
13946
13947         * emacs.c (Frunning_temacs_p): Revert previous patch.
13948         (main_1): Reinitialize running_temacs_argc if pdump_load succeeds.
13949
13950 2000-03-16  Andy Piper  <andy@xemacs.org>
13951
13952         * glyphs-x.c (x_tab_control_update): if no widget values then
13953         return.
13954
13955         * NEWS: update for new features.
13956
13957         * event-Xt.c (emacs_Xt_force_event_pending): new function. Post a
13958         synthetic event to the native system.
13959         (reinit_vars_of_event_Xt): set force_event_pending to
13960         emacs_Xt_force_event_pending.
13961
13962         * events.h (struct event_stream): add force_event_pending.
13963
13964         * specifier.c (recompute_one_cached_specifier_in_window): add
13965         comment.
13966
13967         * redisplay.c (redisplay_frame): don't call
13968         update_frame_subwindows. Reset subwindow cachels when
13969         subwindows_changed, removing this was an optimization too far.
13970
13971         * redisplay-output.c (compare_runes): reorganize so that we catch
13972         glyph changes when we want them. Set optimize_output when this
13973         would help layouts.
13974         (redisplay_output_layout): remove frame_really_changed, use
13975         optimize_output instead.
13976
13977         * redisplay-msw.c (mswindows_output_display_block): reset
13978         optimize_output after outputting a glyph.
13979         * redisplay-x.c (x_output_display_block): ditto.
13980         * redisplay-tty.c (tty_output_display_block): ditto.
13981
13982         * gutter.c: (specifier_vars_of_gutter): use new spec changed
13983         functions.
13984         (gutter_specs_changed): do specific gutter positions.
13985         (top_gutter_specs_changed): new function. Only update the
13986         specified gutter specs.
13987         (bottom_gutter_specs_changed): ditto.
13988         (left_gutter_specs_changed): ditto.
13989         (right_gutter_specs_changed): ditto.
13990
13991         * gui.c (gui_item_hash_internal): new function, does a real hash.
13992         (gui_item_id_hash): use it.
13993         (gui_item_hash): hash the eval'ed gui_item.
13994
13995         * gui-x.c (popup_selection_callback): send an eval event to call
13996         Fupdate_widget_instances.
13997
13998         * gui-msw.c (mswindows_handle_gui_wm_command): send an eval event
13999         to call Fupdate_widget_instances.
14000
14001         * glyphs.h (struct Lisp_Image_Instance): add optimize_output flag.
14002         (IMAGE_INSTANCE_OPTIMIZE_OUTPUT): access it.
14003
14004         * glyphs.c: (update_frame_subwindows): deleted.
14005         (Fupdate_widget_instances): new function for updating the dirty
14006         state of widgets that might have changed.
14007         (syms_of_glyphs): add Qupdate_widget_instances.
14008         (full_list_hash): hash a list completely.
14009         (image_instance_hash): use it for items and properties.
14010
14011         * frame-msw.c (mswindows_size_frame_internal): remove unused
14012         variable.
14013
14014         * faces.h (struct face_cachel): fix comment.
14015
14016         * event-stream.c (Fdispatch_non_command_events): new
14017         function. Process non-command events, forcing an event cycle
14018         beforehand.
14019         (syms_of_event_stream): declare.
14020         (event_stream_force_event_pending): new function. Force an event
14021         on the native event queue so that an event cycle will occur next
14022         time we check.
14023
14024         * event-msw.c:
14025         (struct ntpipe_shove_stream):
14026         (mswindows_enqueue_dispatch_event):
14027         (mswindows_dequeue_dispatch_event):
14028         (mswindows_cancel_dispatch_event):
14029         (mswindows_pump_outstanding_events):
14030         (mswindows_drain_windows_queue):
14031         (mswindows_handle_paint):
14032         (mswindows_wnd_proc):
14033         (mswindows_key_to_emacs_keysym):
14034         (get_process_input_waitable):
14035         (emacs_mswindows_delete_stream_pair): re-indent file.
14036         (mswindows_need_event): do not process further fds if the windows
14037         fd is set, otherwise you get endless XM_BUMPQUEUE cycles. This
14038         fixes the 100% cpu problem.
14039         (reinit_vars_of_event_mswindows): set force_event_pending to 0.
14040
14041 2000-03-15  Olivier Galibert  <galibert@pobox.com>
14042
14043         * alloc.h: New.
14044         * dumper.h: New.
14045         * dumper.c: New.
14046
14047         * emacs.c: Moved dump file searching to dumper.c.
14048         (Frunning_temacs_p): Fixed.
14049
14050         * alloc.c: Moved everything pdump-related to dumper.c.  Removed
14051         last_lrecord_type_index_assigned.
14052
14053 2000-02-20  Olivier Galibert  <galibert@pobox.com>
14054
14055         * symsinit.h: Added reinit parameter to init_console_stream
14056         declaration.
14057
14058         * lisp.h: Added file parameter to pdump_load declaration.
14059
14060         * emacs.c (main_1): Added -nd/--nodump-file and -sd/--show-dump-id
14061         support.  Added dump file searching.
14062
14063         * config.h.in: Added EMACS_PROGNAME.
14064
14065         * console-stream.c (init_console_stream): Fix reinitialisation
14066         when running from temacs.
14067
14068         * alloc.c (pdump): Add id support.
14069         (pdump_load): Add file parameter and signature/id support.
14070
14071         * Makefile.in.in: Add full pdump support.
14072
14073 2000-03-15  SL Baur  <steve@musashimaru.m17n.org>
14074
14075         * postgresql.c: Update documentation to reflect latest code
14076         status.
14077         (print_result): Show tuple counts in printed representation when
14078         appropriate.
14079         (Fpq_put_nbytes): MULE-ize.
14080         (Fpq_get_line_async): Ditto.
14081
14082 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
14083
14084         * postgresql.c (Fpq_lo_import): Fix return value.
14085         Suggested by: Kenji Itoh <keit@tpj.co.jp>.
14086
14087 2000-03-13  Ben Wing  <ben@xemacs.org>
14088
14089         * alloc.c (pdump_load):
14090         Fix compile warning under mswin.
14091
14092 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
14093
14094         * postgresql.c: Mule-ization, bug fixes.
14095         Use PG_CODING to encapsulate coding system name changes.
14096         Backport a version of TO_EXTERNAL format for 21.1/InfoDock.
14097         (pg-coding-system): Create.
14098
14099         (Fpq_conn_defaults): Mule-ize.
14100         (Fpq_connectdb): Mule-ize & bug fix.
14101         (Fpq_connect_start): Mule-ize.
14102         (Fpq_set_client_encoding): Mule-ize.
14103         (Fpq_finish): Document `DEAD' connection status.
14104         (Fpq_clear): Ditto.
14105         (Fpq_pgconn): Mule-ize.
14106         (Fpq_exec): Mule-ize & bug fix.
14107         (Fpq_send_query): Ditto.
14108         (Fpq_get_result): Ditto.
14109         (Fpq_res_status): Mule-ize.
14110         (Fpq_result_error_message): Mule-ize.
14111         (Fpq_ntuples): fix comments.
14112         (Fpq_fname): Mule-ize.
14113         (Fpq_fnumber): Mule-ize.
14114         (Fpq_ftype): fix comments.
14115         (Fpq_get_value): Mule-ize.
14116         (Fpq_cmd_status): Ditto.
14117         (Fpq_cmd_tuples): Ditto.
14118         (Fpq_oid_value): Ditto.
14119         (Fpq_notifies): Ditto.
14120         (Fpq_lo_import): Ditto.
14121         (Fpq_lo_export): Ditto.
14122         (Fpq_get_line): Ditto.
14123         (Fpq_put_line): Mule-ize and bug fix.
14124         (syms_of_postgresql): Fix ifdef'ing, add pg-coding-system.
14125
14126 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
14127
14128         * postgresql.c (vars_of_postgresql): Mule-ize.
14129         (Fpq_conn_defaults): Ditto.
14130
14131 2000-03-12  Ben Wing  <ben@xemacs.org>
14132
14133         * alloc.c (Fmake_byte_code):
14134         * alloc.c (debug_string_purity_print):
14135         * alloc.c (pdump_backtrace):
14136         * alloc.c (pdump_get_indirect_count):
14137         * alloc.c (pdump_register_sub):
14138         * alloc.c (pdump_register_object):
14139         * alloc.c (pdump_register_struct):
14140         * alloc.c (pdump_dump_data):
14141         * alloc.c (pdump_reloc_one):
14142         Minor cleanups.
14143
14144         * console-msw.c:
14145         * console-msw.c (GetConsoleHwnd):
14146         * console-msw.c (msw_hide_console):
14147         * console-msw.c (msw_show_console):
14148         * console-msw.c (msw_ensure_console_buffered):
14149         * console-msw.c (msw_output_console_string):
14150         * console-msw.c (console_type_create_mswindows):
14151
14152         a) Added functions to manipulate the console window for use with
14153         shell support.
14154
14155         b) Added support for writing text to the console, which is now
14156         used under Windows when xemacs is not being run non-interactively,
14157         to write text that would otherwise be destined for stdout because
14158         under these circumstances, text written to stdout tends to
14159         disappear and not be seen.
14160
14161         * console-msw.h:
14162         * event-Xt.c:
14163         * event-Xt.c (x_event_to_emacs_event):
14164         * event-Xt.c (describe_event_window):
14165         * events-mod.h (XEMACS_MOD_CONTROL):
14166         * events.c:
14167         * events.c (Fmake_event):
14168         * events.c (character_to_event):
14169         * events.c (event_to_character):
14170         * events.c (format_event_object):
14171         * events.c (Fevent_modifiers):
14172         * events.h:
14173         * events.h (struct key_data):
14174         * events.h (struct button_data):
14175         * events.h (struct misc_user_data):
14176         * frame-x.c (Fcde_start_drag_internal):
14177         * frame-x.c (Foffix_start_drag_internal):
14178         * gpmevent.c (Freceive_gpm_event):
14179         * keymap.c:
14180         * keymap.c (bucky_sym_to_bucky_bit):
14181         * keymap.c (control_meta_superify):
14182         * keymap.c (make_key_description):
14183         * keymap.c (keymap_lookup_directly):
14184         * keymap.c (create_bucky_submap):
14185         * keymap.c (keymap_store):
14186         * keymap.c (define_key_check_and_coerce_keysym):
14187         * keymap.c (define_key_parser):
14188         * keymap.c (define_key_alternate_name):
14189         * keymap.c (Fdefine_key):
14190         * keymap.c (raw_lookup_key_mapper):
14191         * keymap.c (struct map_keymap_unsorted_closure):
14192         * keymap.c (map_keymap_unsorted_mapper):
14193         * keymap.c (map_keymap_sort_predicate):
14194         * keymap.c (map_keymap_sorted):
14195         * keymap.c (accessible_keymaps_mapper_1):
14196         * keymap.c (where_is_recursive_mapper):
14197         * keymap.c (describe_map_mapper):
14198         * keymap.c (describe_map_sort_predicate):
14199         * keymap.c (describe_map):
14200         * keymap.c (complex_vars_of_keymap):
14201         And a number of other files, the key modifier preprocessor
14202         constants that xemacs uses have names that conflict with constants
14203         defined under MS Windows for other purposes, so they were renamed
14204         to begin with the prefix XEMACS_. The variables that hold such
14205         modifiers were changed to consistently be of type int to fix
14206         various compile warnings.
14207
14208         * console.c (complex_vars_of_console):
14209         * device.c:
14210         * device-msw.c:
14211         * device-msw.c (mswindows_finish_init_device):
14212         * device-msw.c (msw_get_workspace_coords):
14213         * device-msw.c (mswindows_device_system_metrics):
14214         and various other files, added support for a new
14215         device property called offset-workspace which returns the position
14216         of the upper left corner of the workspace area and goes along with
14217         the existing size-workspace property.
14218
14219         * dialog-msw.c:
14220         * dialog-msw.c (push_bufbyte_string_as_unicode):
14221         * dialog-msw.c (mswindows_popup_dialog_box):
14222         Added support for XEmacs-style accelerator specifications in
14223         button text.  Note: I didn't add support for this under X Windows,
14224         and somebody needs to do this.
14225
14226         * dialog.c:
14227         * dialog.c (Fpopup_dialog_box):
14228         Documented the support for accelerators that was just mentioned.
14229
14230         editfns.c (get_home_directory): Changed behavior under Windows
14231         when HOME not defined; former behavior was irretrievably broken.
14232
14233         * emacs.c:
14234         * emacs.c (main_1):
14235         * emacs.c (main):
14236         * minibuf.c (clear_echo_area_internal):
14237         * minibuf.c (echo_area_append):
14238         * print.c:
14239         * print.c (std_handle_out_external):
14240         * print.c (std_handle_out_va):
14241         * print.c (fatal):
14242         * print.c (write_string_to_stdio_stream):
14243         * print.c (output_string):
14244         * print.c (debug_print):
14245         * print.c (debug_backtrace):
14246         * print.c (debug_short_backtrace):
14247         Cleaned up the code that prints text to stdout so that this can be
14248         changed to output into a console window instead under MS Windows,
14249         as described above.
14250
14251         * eval.c:
14252         * eval.c (DEFEND_AGAINST_THROW_RECURSION):
14253         * eval.c (internal_catch):
14254         * eval.c (unwind_to_catch):
14255         * eval.c (throw_or_bomb_out):
14256         * eval.c (condition_case_1):
14257         * eval.c (signal_1):
14258         * eval.c (check_error_state_sanity):
14259         * eval.c (call_with_suspended_errors_1):
14260         * eval.c (call_with_suspended_errors):
14261         * eval.c (reinit_vars_of_eval):
14262         Added code to catch throw loops and check for a pesky bug that may
14263         be gone now.
14264
14265         * event-msw.c:
14266         * event-msw.c (key_needs_default_processing_p):
14267         * event-msw.c (mswindows_wnd_proc):
14268         * event-msw.c (mswindows_modifier_state):
14269         * event-msw.c (emacs_mswindows_quit_p):
14270         * event-msw.c (vars_of_event_mswindows):
14271         a) Added support for using the alt key to select menu items as is
14272         standard under MS Windows.  This is controlled using the variable
14273         menu-accelerator-enabled, just like under X Windows.  There is an
14274         option on the options menu to turn this support on.  I really
14275         think that it should be on by default under Windows, but I'm not
14276         going to make this change yet.
14277
14278         b)  Added support for dynamic display size changes under Windows.
14279
14280         * event-stream.c:
14281         * event-stream.c (maybe_echo_keys):
14282         * event-stream.c (Fnext_event):
14283         * event-stream.c (command_builder_find_leaf):
14284         * event-stream.c (lookup_command_event):
14285         * event-stream.c (execute_command_event):
14286         * event-stream.c (pre_command_hook):
14287         * event-stream.c (post_command_hook):
14288         * event-stream.c (syms_of_event_stream):
14289         * event-stream.c (vars_of_event_stream):
14290         * event-stream.c (complex_vars_of_event_stream):
14291         * events.h (struct command_builder):
14292
14293         a) Tried to clean up a little bit the horribly written x-specific
14294         accelerator code that crept into this file.  I moved this code
14295         into menubar-x.c where it belongs. I also needed to move the
14296         command builder structure into the file events.h because it is
14297         accessed directly by this accelerator code.  What I didn't do, but
14298         which should be done at some point, is to properly abstract this
14299         code using device methods instead of the kludgy way that it
14300         currently hooks into the event code.
14301
14302         b) Added the lisp variables this-command-properties and
14303         last-command- properties, which should be used to synchronize two
14304         adjacent commands in preference to playing games with the variable
14305         this-command, which is typically what happens.
14306
14307         c) Added some slightly nasty code to hook into the lisp support
14308         for shifted- motion-key selection.  This is actually necessary for
14309         somewhat complicated reasons, which are described in
14310         simple.el. (NB: I think the proper thing would be to have the code
14311         that calls the pre and post command hooks also call out to generic
14312         lisp functions in simple.el, where all built-in stuff could be
14313         added.  I will think about this more.)
14314
14315         * event-unixoid.c (poll_fds_for_input):
14316         * lread.c (readchar):
14317         * redisplay-tty.c (tty_clear_frame):
14318         * redisplay-x.c (x_get_gc):
14319         * signal.c (interrupt_signal):
14320         And a whole bunch of other files: fixed up places that printed
14321         directly to stderr to instead call the function stderr_out so that
14322         the changes I made under Windows work correctly.
14323
14324         * filemode.c (mode_string):
14325         Warning fixes.
14326
14327         * frame-msw.c:
14328         * frame-msw.c (mswindows_size_frame_internal):
14329         Fixed the computation of frame size and position to keep the frame
14330         within the workspace area, rather than within the physical
14331         dimensions of the screen, so that the frame doesn't overlap window
14332         manager decorations, such as the start menu and toolbar, typically
14333         at the bottom of the screen.
14334
14335         * frame.c (vars_of_frame):
14336         Changed the default frame title format under MS Windows to consist
14337         of buffername-XEmacs, which is standard under MS Windows.  I think
14338         it might be a good idea to change this everywhere because I think
14339         it is superior to the current frame title format, but this is the
14340         kind of change that is likely to cause some people to get annoyed,
14341         so I'm not making it.
14342
14343         * glyphs-eimage.c (png_instantiate): Fixed some compile warnings.
14344
14345         * gui-msw.c (mswindows_handle_gui_wm_command):
14346         Fixed compile warnings.
14347
14348         * gui-x.c:
14349         * gui-x.c (strdup_and_add_accel):
14350         * gui-x.c (button_item_to_widget_value):
14351         * gui-x.h:
14352         Added code to automatically put an accelerator onto the beginning
14353         of menu items that don't have one as is now the standard, and is
14354         described more later.  Also fixed things so that the menu item
14355         name can be an evaluated expression, again a new standard.
14356
14357         * gui.c:
14358         * gui.c (gui_item_add_keyval_pair):
14359         * gui.c (make_gui_item_from_keywords_internal):
14360         * gui.c (gui_add_item_keywords_to_plist):
14361         * gui.c (gui_item_accelerator):
14362         * gui.c (gui_name_accelerator):
14363         * gui.c (gui_item_included_p):
14364         * gui.c (gui_item_display_flush_left):
14365         * gui.c (gui_item_display_flush_right):
14366         * gui.c (parse_gui_item_tree_item):
14367         * gui.c (parse_gui_item_tree_children):
14368         * gui.c (parse_gui_item_tree_list):
14369         Mule-ized.  Cleanup.  GCPRO addition.
14370
14371         * line-number.c (buffer_line_number):
14372         * lisp.h:
14373         * lisp.h (EMACS_INT_MAX):
14374         Added the manifest constant EMACS_INT_MIN corresponding to the
14375         existing constant EMACS_INT_MAX.  This is partially to fix compile
14376         warnings under Windows, and partly for cleanliness.
14377
14378         * menubar-msw.c:
14379         * menubar-msw.c (REPLACE_ME_WITH_GLOBAL_VARIABLE_WHICH_CONTROLS_RIGHT_FLUSH):
14380         * menubar-msw.c (msw_translate_menu_or_dialog_item):
14381         * menubar-msw.c (displayable_menu_item):
14382         * menubar-msw.c (populate_menu_add_item):
14383         * menubar-msw.c (populate_or_checksum_helper):
14384         * menubar-msw.c (populate_menu):
14385         * menubar-msw.c (update_frame_menubar_maybe):
14386         * menubar-msw.c (prune_menubar):
14387         * menubar-msw.c (msw_char_is_accelerator):
14388         * menubar-msw.c (unsafe_handle_wm_initmenu_1):
14389         * menubar-msw.c (mswindows_handle_wm_command):
14390         * menubar-msw.c (mswindows_handle_wm_initmenupopup):
14391         * menubar-msw.c (mswindows_handle_wm_initmenu):
14392         * menubar-msw.c (mswindows_update_frame_menubars):
14393         * menubar-msw.c (mswindows_free_frame_menubars):
14394         * menubar-msw.c (mswindows_popup_menu):
14395         Fixed a bug in handling accelerators where an extra character
14396         would be displayed in the menu item.  Also generalized the
14397         function displayable_menu_item because it is now used by the
14398         dialog box code as well.  And finally, added code in the functions
14399         that create the menubar to extract a list of accelerators for the
14400         top level menubar, which is used in the event code to determine
14401         whether a particular alt-key combination should be used to invoke
14402         a menu item, or should be passed through to access the standard
14403         XEmacs keymap binding for this key combination.
14404
14405         Much needed GCPROing.
14406
14407         * menubar-x.c:
14408         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
14409         * menubar-x.c (menu_item_descriptor_to_widget_value):
14410         * menubar-x.c (restore_in_menu_callback):
14411         * menubar-x.c (x_popup_menu):
14412         * menubar-x.c (menu_move_up):
14413         * menubar-x.c (menu_move_down):
14414         * menubar-x.c (menu_move_left):
14415         * menubar-x.c (menu_move_right):
14416         * menubar-x.c (menu_select_item):
14417         * menubar-x.c (command_builder_operate_menu_accelerator):
14418         * menubar-x.c (menu_accelerator_junk_on_error):
14419         * menubar-x.c (command_builder_find_menu_accelerator):
14420         * menubar-x.c (Faccelerate_menu):
14421         * menubar.h:
14422         Moved a whole bunch of code here that was previously in
14423         event-stream.c as described above.  There is also code connected
14424         to the new standard of adding an accelerator to the beginning of
14425         menu items that don't have one as described above and below.
14426
14427         * menubar.c:
14428         * menubar.c (menu_parse_submenu_keywords):
14429         * menubar.c (Fmenu_find_real_submenu):
14430         * menubar.c (Fnormalize_menu_item_name):
14431         * menubar.c (syms_of_menubar):
14432         * menubar.c (vars_of_menubar):
14433         * menubar.c (complex_vars_of_menubar):
14434
14435         a) Cleaned up a bunch of documentation and improved it.
14436
14437         b) XEmacs now automatically adds an accelerator onto the beginning
14438         of any menu items that don't have one.  I did this because there
14439         will inevitably be some menu items on the main menubar that don't
14440         have accelerators on them because the package that adds that
14441         particular menu item hasn't yet been fixed up to have accelerators
14442         in them and it looked rather strange to have some items with and
14443         some items without accelerators, especially since even in items
14444         without accelerators, you can, at least under windows, still
14445         access the item through an accelerator corresponding to the first
14446         character in the item's name.  If people don't like this behavior,
14447         I can add a variable to turn it off optionally, but I'm not sure
14448         this is a good idea because we really do need to have accelerators
14449         on all of the menu items, and if a package doesn't like the
14450         accelerators being put on the first character, then it should put
14451         the accelerators where they belong.
14452
14453         c) I made a behavior change, which is that the descriptor that
14454         specifies the text of the menu item, which formerly was just a
14455         string, can now also be an evaluated expression.  This makes this
14456         descriptor parallel with all of the others, which could also be
14457         evaluated expressions.  This also obviates the need for the
14458         keyword :label, which was previously listed in the documentation
14459         as unimplemented, and which was for the same purpose.
14460
14461         d) GCPROing.
14462
14463         * ntproc.c:
14464         * ntproc.c (new_child):
14465         * ntproc.c (sys_spawnve):
14466         * ntproc.c (find_child_console):
14467         * ntproc.c (sys_kill):
14468         Fixed compile warnings.  By the way, this file should really go
14469         away entirely, and this will happen as soon as Kirill makes his
14470         final round of process cleanups, which affect the function
14471         call-process.
14472
14473         * process-nt.c:
14474         * process-nt.c (struct nt_process_data):
14475         * process-nt.c (find_process_from_pid):
14476         * process-nt.c (send_signal_the_nt_way):
14477         * process-nt.c (enable_child_signals):
14478         * process-nt.c (find_child_console):
14479         * process-nt.c (send_signal_the_95_way):
14480         * process-nt.c (nt_finalize_process_data):
14481         * process-nt.c (ensure_console_window_exists):
14482         * process-nt.c (nt_create_process):
14483         * process-nt.c (nt_kill_child_process):
14484         * process-nt.c (nt_kill_process_by_pid):
14485         * process-nt.c (nt_open_network_stream):
14486         * process-nt.c (vars_of_process_nt):
14487         Copied over code from Emacs 20.5 to correctly send signals to sub-
14488         processes under Windows 95.  Also added code to automatically
14489         create and hide console window when a sub-process is created under
14490         Windows 95, which obviates the need for the separate runemacs.exe
14491         executable, and finally implemented some variables that were
14492         implemented in Emacs 20.5, but previously not in XEmacs.  These
14493         include mswindows- start-process-share-console and
14494         mswindows-start-process-inherit-error-mode. (Both of these only
14495         apply to Windows 95.)
14496
14497         * regex.c (regex_compile): Fixed a compile warning.
14498
14499         * select-msw.c:
14500         * select-msw.c (mswindows_own_selection):
14501         * select-msw.c (mswindows_get_foreign_selection):
14502         * select-msw.c (mswindows_disown_selection):
14503         * select-msw.c (console_type_create_select_mswindows):
14504         * select-msw.c (syms_of_select_mswindows):
14505         Cleaned up the file and implemented the device method
14506         selection_exists_p, which had accidentally been left out.  Also
14507         removed four lisp functions that were remnants from before the
14508         time when the selection code was properly device abstracted.
14509         These functions are no longer needed because there are generic
14510         equivalents, and because they were added recently and don't exist
14511         in FSF Emacs, I don't think there's any problem with just deleting
14512         them.
14513
14514         * sysdep.c:
14515         * sysdep.c (sys_subshell):
14516         Fixed a compile warning, although in this case there's probably
14517         something wrong with this code, and it ought to be looked into
14518         more thoroughly by somebody who understands it.
14519
14520         * window.c:
14521         * window.c (Fwindow_text_area_height):
14522         * window.c (Fwindow_width):
14523         * window.c (Fwindow_full_width):
14524         * window.c (Fwindow_pixel_width):
14525         * window.c (debug_print_window):
14526         * window.c (syms_of_window):
14527         Added functions window-text-area-height and window-full-width,
14528         which are functions for returning various width and height
14529         characteristics of a window. (One of these functions is necessary
14530         for making the file dialog box work correctly, and the other one
14531         was added for completeness.)  Also added a table to the
14532         documentation for window-height which describes the entire scheme
14533         for accessing width and height characteristics of a window.
14534
14535 2000-03-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14536
14537         * nt.c (fstat): Added a comment for another problem with
14538         non-encapsulated [f]stat(), reported by Adrian Aichner
14539         <aichner@ecf.teradyne.com>.
14540
14541 2000-03-11  Andy Piper  <andy@xemacs.org>
14542
14543         * window.c (make_dummy_parent): initialize subwindow instance
14544         cache.
14545         (Fset_window_configuration): zero extent_modiff.
14546
14547 2000-03-10  Andy Piper  <andy@xemacs.org>
14548
14549         * redisplay.c (Fredraw_frame): reset the changed_set flags so that
14550         more changes can be triggered.
14551         (Fredisplay_frame): ditto.
14552         (Fredraw_device): ditto.
14553         (Fredisplay_device): ditto.
14554         (redisplay_frame): make non-static.
14555         (redisplay_frame): call update_frame_gutter_geometry outside of
14556         display proper.
14557
14558         * gutter.h: declare update_frame_gutter_geometry.
14559
14560         * redisplay.h: declare redisplay_frame.
14561
14562         * gutter.c (update_frame_gutter_geometry): move geometry changes
14563         in update_frame_gutters here. Geometry changes can only occur
14564         outside of redisplay.
14565         (update_frame_gutters): remove geometry change code.
14566         (Fredisplay_gutter_area): make sure that we are in display when we
14567         update and that we have flushed any size changes.
14568
14569 2000-03-11  Andy Piper  <andy@xemacs.org>
14570
14571         * alloc.c (pdump_dump_data): remove i & count shadows.
14572
14573 2000-02-27  Mike Alexander  <mta@arbortext.com>
14574
14575         * sysdep.h: Declare pdump_read_file
14576
14577         * sysdep.c (pdump_read_file): New function
14578
14579         * alloc.c (pdump_load): Call pdump_read_file to get the portable
14580         dump data
14581
14582 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
14583
14584         * lrecord.h: add `lrecord_type_pgsetenv'.
14585
14586 2000-03-08  SL Baur  <steve@musashimaru.m17n.org>
14587
14588         * symsinit.h: declare (vars|syms)_of* functions.
14589         * lrecord.h: add `lrecord_type_pgconn' and 'lrecord_type_pgresult'.
14590
14591 2000-03-06  SL Baur  <steve@musashimaru.m17n.org>
14592
14593         * config.h.in: Add symbols HAVE_POSTGRESQL and HAVE_POSTGRESQLV7
14594
14595         * inline.c: Include postgresql.h lrecord stuffs to placate buggy
14596         GCCs.
14597
14598         * emacs.c (main_1): Call postgres initialization code.
14599
14600         * postgresql.h: New file.  PostgreSQL RDBMS support.
14601         * postgresql.c: New file.
14602
14603 2000-03-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
14604
14605         * redisplay-output.c (redisplay_output_display_block): Disable
14606         redundant code.
14607
14608 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
14609
14610         * mule-canna.c (Fcanna_henkan_region): Translate doc-string.
14611         (Fcanna_henkan_next): Ditto.
14612         (Fcanna_bunsetu_henkou): Ditto.
14613         (Fcanna_henkan_kakutei): Ditto.
14614         (Fcanna_henkan_end): Ditto.
14615         (Fcanna_henkan_quit): Ditto.
14616         (Fcanna_henkan_next): Set retun value correctly.
14617         (c2mu): Use unsigned char instead of signed char.
14618
14619 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
14620
14621         * emacs.c (main_1): Always call syms_of_gui.
14622         * inline.c: include gui.h
14623
14624 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
14625
14626         * redisplay.c (Vvisible_bell): Renamed from visible_bell and
14627         converted to Lisp_Object.
14628         (Qtop_bottom): New variable.
14629         (syms_of_redisplay): Initialize it.
14630         * redisplay.h (Vvisible_bell): Ditto.
14631         * sound.c (ding): Ditto and check if Vvisible_bell is nil.
14632         * redisplay-x.c (x_flash): When Vvisible_bell is top-bottom,
14633         only flash top and bottom.
14634
14635 2000-03-08  Andy Piper  <andy@xemacs.org>
14636
14637         * buffer.c (Frename_buffer): record new buffer name the right way.
14638
14639 2000-03-08  Andy Piper  <andy@xemacs.org>
14640
14641         * glyphs.c (update_subwindow): increase hash depth so that widget
14642         items get picked up properly.
14643
14644         * redisplay-output.c (compare_runes): increase hash depth so that
14645         widget items get picked up properly.
14646
14647 2000-03-08  Andy Piper  <andy@xemacs.org>
14648
14649         * gutter.c (output_gutter): add some debug.
14650
14651         * glyphs.h (struct Lisp_Image_Instance): add display_hash.
14652         (IMAGE_INSTANCE_DISPLAY_HASH): new macro.
14653         (XIMAGE_INSTANCE_DISPLAY_HASH): ditto.
14654
14655         * redisplay-output.c (compare_runes): use display_hash to
14656         determine if glyphs really are not the same.
14657
14658         * glyphs.c (update_subwindow): check display_hash to see if
14659         anything really needs to be updated. If not then do
14660         nothing. Record the display_hash after updating.
14661         (image_instance_equal): compare the image_instance face also.
14662
14663 2000-03-07  Yoshiki Hayashi  <yoshiki@xemacs.org>
14664
14665         * redisplay.h: Fix comment style.
14666
14667 2000-03-08  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14668
14669         * consle-msw.h (struct mswindows_frame):
14670         Added new member paint_pending to indicate whether a WM_PAINT
14671         magic event has been queued for this frame.
14672
14673         * event-msw.c (mswindows_drain_windows_queue):
14674         Don't queue a WM_PAINT magic event if one is already queued.
14675         (emacs_mswindows_handle_magic_event): clear paint_pending flag.
14676
14677         * frame-msw.c (mswindows_init_frame_1): initialise paint_pending flag.
14678
14679 2000-03-07  Didier Verna  <didier@xemacs.org>
14680
14681         * dired.c: #include `regex.h' after `sysfile.h'.
14682
14683 2000-03-06  Martin Buchholz  <martin@xemacs.org>
14684
14685         * sound.c (init_nas_sound): Fix compiler warning.
14686
14687         * alloc.c (ALIASING_VOIDPP_DEREFERENCE): New.
14688         (FREE_STRUCT_P):
14689         (MARK_STRUCT_AS_FREE):
14690         (MARK_STRUCT_AS_NOT_FREE):
14691         Make `gcc -fstrict-aliasing' work properly.
14692
14693 2000-03-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14694
14695         * device-msw.c (mswindows_finish_init_device): Call CoInitialize().
14696         (mswindows_delete_device): Call CoUnnitialize().
14697
14698         * event-msw.c (mswindows_wnd_proc): WM_DROPFILES: Decode Shortcuts.
14699
14700 2000-02-25    <CraigL@DyCon.com>
14701
14702         * process-nt.c: MinGW now has <shellapi.h>, but still needs
14703         <errno.h>.
14704
14705         * sysdep.c: This extern declaration for environ prevents MinGW
14706         from finding the variable in CRTDLL.DLL.
14707
14708         * s\mingw32.h (PBS_SMOOTH): Removed, now defined in cygwin's
14709         windows headers.
14710         (SHGFI_EXETYPE): ..
14711         (WM_MOUSEWHEEL): ..
14712         (_WIN32_IE): Added, needed to get the TCS_BOTTOM and TCS_VERTICAL
14713         definitions.
14714         (MMRESULT): Removed, now defined in cygwin's windows headers.
14715         (TIMECAPS): ..
14716         (uid_t,gid_t,pid_t,ssize_t): ..
14717         (_timeb): Removed, MinGW defines both _timeb and timeb.
14718         (HAVE_H_ERRNO): Added.
14719         (HAVE_TZNAME): Added, configure is not detecting this.
14720
14721 2000-02-03  IKEYAMA Tomonori <tomonori@suiyokai.org>
14722
14723         * chartab.h (XCHAR_TABLE_VALUE_UNSAFE): New macro.
14724         * syntax.c (syntax_match): Use it.
14725
14726         * cmds.c: Import auto-fill-chars from FSF Emacs.
14727         (Vauto_fill_chars): New variables.
14728         (internal_self_insert): Check Vauto_fill_chars.
14729         (vars_of_cmds):
14730         Declare auto-fill-chars as a Lisp variable and initialize it.
14731
14732 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14733
14734         * fileio.c (Fmake_symbolic_link):
14735         (Ffile_symlink_p):
14736         Run handlers even if local machine doesn't have symlinks.
14737
14738 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14739
14740         * event-msw.c (mswindows_drain_windows_queue):
14741         Don't generate paint magic events for non-XEmacs frames.
14742
14743 2000-03-05  Andy Piper  <andy@xemacs.org>
14744
14745         * redisplay.c (redisplay_frame): generate_displayable_area and
14746         friends assumes that we are not in GC, we therefore have to make
14747         sure that this doesn't happen.
14748
14749         * gutter.c (calculate_gutter_size): generate_displayable_area
14750         assumes that we are not in GC, we therefore have to make sure that
14751         this doesn't happen.
14752
14753 2000-03-05  Martin Buchholz  <martin@xemacs.org>
14754
14755         * opaque.c (DEFINE_LRECORD_IMPLEMENTATION): opaque_ptr ==> opaque-ptr
14756
14757 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
14758
14759         * redisplay.c (regenerate_window): Make sure we set a sane value
14760         for end_pos even if we jump out of the loop.
14761         (regenerate_window): Answer Ben's question :-).
14762         (start_end_of_last_line): Add may_error argument.
14763         (start_of_last_line):
14764         (end_of_last_line): Pass may_error = 0.
14765         (end_of_last_line_may_error): New function.
14766         (pixel_to_glyph_translation): Use it, so we don't crash in
14767         event_to_glyph.
14768
14769 2000-03-04  Andy Piper  <andy@xemacs.org>
14770
14771         * window.h (struct window): add gutter_extent_modiff.
14772
14773         * window.c (allocate_window): zero out gutter_extent_modiff.
14774
14775         * redisplay.h: declare sync_display_line_structs.
14776
14777         * redisplay.c (add_glyph_rune): add a better comment.
14778
14779         * redisplay-output.c (sync_display_line_structs): made non-static.
14780         (compare_runes): remove unneccesary glyph cachel access.
14781
14782         * gutter.h: declare gutter_extent_signal_changed_region_maybe.
14783
14784         * gutter.c (output_gutter): don't output the gutter if extent
14785         changes only involve extents in buffers. use 4 sets of display
14786         lines.
14787         (gutter_extent_signal_changed_region_maybe): new function. Mark
14788         extents in gutters as changed.
14789         (update_frame_gutters): use 4 sets of display lines.
14790         (reset_gutter_display_lines): ditto.
14791         (free_frame_gutters): ditto.
14792         (redraw_exposed_gutter): force output of gutters.
14793
14794         * frame.h (struct frame): add 4 sets of gutter display lines.
14795
14796         * extents.c: (extent_changed_for_redisplay): signal changes to
14797         extents in strings in the gutter as well as extents in buffers.
14798
14799 2000-03-02  Andy Piper  <andy@xemacs.org>
14800
14801         * gutter.c (specifier_vars_of_gutter): cosmetic changes.
14802
14803         * frame.c (Fmake_frame): make sure the gutters get initialized
14804         after the frame is visible.
14805         (set_frame_selected_window): re-arrange compilation macros a
14806         little.
14807         (change_frame_size_1): mark gutters changed.
14808
14809         * device.c (Fset_device_class): mark gutters changed.
14810
14811 2000-03-01  Andy Piper  <andy@xemacs.org>
14812
14813         * window.c (window_top_frame_gutter_height): deleted.
14814         (window_bottom_frame_gutter_height): ditto.
14815         (window_left_frame_gutter_height): ditto.
14816         (window_right_frame_gutter_height): ditto.
14817         (window_top_gutter_height): don't use them.
14818         (window_bottom_gutter_height): ditto.
14819         (window_left_gutter_width): ditto.
14820         (window_right_gutter_width): ditto.
14821         (Fsplit_window): ditto.
14822         (Fwindow_pixel_edges): don't use border dimensions here.
14823
14824         * scrollbar.c (update_scrollbar_instance): don't take gutters into account.
14825         (update_scrollbar_instance): ditto.
14826
14827         * redisplay.c (generate_modeline): don't take gutters into account.
14828         (generate_modeline): ditto.
14829         (redisplay_frame): small gutter display optimization.
14830
14831         * redisplay-x.c (x_output_vertical_divider): don't take gutters into account.
14832
14833         * redisplay-msw.c (mswindows_output_vertical_divider): don't take
14834         gutters into account.
14835
14836         * gutter.h (WINDOW_REAL_*_GUTTER_BOUNDS): remove bogus checks
14837         for window position and type.
14838
14839         * gutter.c (get_gutter_coords): fix for frame gutters.
14840         (update_frame_gutters): update frame geometry if the gutters have
14841         changed.
14842         (init_frame_gutters): record current gutter geometries.
14843
14844         * glyphs-msw.c (mswindows_subwindow_instantiate): remove unused
14845         var.
14846         (mswindows_widget_instantiate): ditto.
14847
14848         * frame.h (struct frame): add current_gutter_bounds.
14849
14850         * frame.c (change_frame_size_1): position window and minibuffer
14851         appropriately taking into account the frame gutters.
14852
14853         * frame-x.c: (x_initialize_frame_size): take into account the
14854         frame gutters.
14855
14856 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
14857
14858         * emacs.c (data-directory):  Xref `locate-data-file' in docstring.
14859
14860 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
14861
14862         * alloc.c (dumpopaquevec): Increase dimension for --with-canna.
14863
14864 1999-12-30  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
14865
14866         * file-coding.c (reset_decoding_stream): Clear previous
14867         detection state when autodetect.
14868
14869 2000-02-29  Didier Verna  <didier@xemacs.org>
14870
14871         * extents.c (set_extent_glyph_1): don't require extents to be
14872         attached.
14873
14874 2000-02-27  Andy Piper  <andy@xemacs.org>
14875
14876         * gutter.c (Fset_default_gutter_position): don't default left and
14877         right gutter visibility to t.
14878         (Fset_default_gutter_position): run
14879         default-gutter-position-changed-hook.
14880         (syms_of_gutter): add default-gutter-position-changed-hook.
14881
14882 2000-02-26  Andy Piper  <andy@xemacs.org>
14883
14884         * specifier.c (Fmake_specifier): add gutter references.
14885
14886         * gutter.h (RAW_WINDOW_GUTTER): new macro.
14887
14888         * lisp.h: declare Fvalid_plist_p.
14889
14890         * gutter.c (gutter_geometry_changed_in_window): mark the modeline
14891         as changed.
14892         (default_gutter_visible_p_changed_in_window): invalidate gutter as
14893         well as its visibility so that it gets reconstructed.
14894         (construct_window_gutter_spec): new function. Construct a string
14895         to be displayed in the gutter from a plist of strings. Take care
14896         to only use elements that are declared as visible.
14897         (calculate_gutter_size): use RAW_WINDOW_GUTTER instead of
14898         WINDOW_GUTTER.
14899         (gutter_validate): allow plists of strings in the specifier.
14900         (gutter_specs_changed): construct the real_gutter from the gutter
14901         specs using construct_window_gutter_spec.
14902         (gutter_visible_validate): gutter-visible is a new specifier type.
14903         (Fgutter_visible_specifier_p): new function for the new specifier.
14904         (syms_of_gutter): declare gutter-visible and
14905         Fgutter_visible_specifier_p.
14906         (specifier_type_create_gutter): intitalize new gutter-visible
14907         specifier.
14908         (reinit_specifier_type_create_gutter): ditto.
14909         (specifier_vars_of_gutter): use new specifier type for gutter
14910         visibility.
14911         (init_frame_gutters): construct real_gutter correctly.
14912         (Fgutter_specifier_p): beef up documentation.
14913         (Fgutter_size_specifier_p): ditto.
14914
14915         * winslots.h: add real_gutter slots.
14916
14917 2000-02-25  Andy Piper  <andy@xemacs.org>
14918
14919         * device-msw.c: Be kind to older cygwin versions. From Raymond
14920         Toy <toy@rtp.ericsson.se>.
14921
14922         * gui-msw.c (Fmswindows_shell_execute): Remove things unknown to
14923         earlier cygwins. From Raymond Toy <toy@rtp.ericsson.se>.
14924
14925 2000-02-25  Martin Buchholz  <martin@xemacs.org>
14926
14927         * elhash.c (MARK_OBJ): Practice macro hygiene.
14928
14929 2000-02-24  Martin Buchholz  <martin@xemacs.org>
14930
14931         * miscplay.c: s/__inline__/inline/g;
14932         * glyphs-msw.c (set_mono_pixel): INLINE ==> static inline
14933         (get_device_compdc): INLINE ==> static inline
14934         * *.[ch]: Change INLINE to INLINE_HEADER globally.
14935         find -name '*.h' | \
14936         xargs global-replace \
14937         's/(^|(?<=[^A-Za-z0-9_]))INLINE((?=[^A-Za-z0-9_])|$)/INLINE_HEADER/g'
14938
14939 2000-02-25  Andy Piper  <andy@xemacs.org>
14940
14941         * window.c (window_top_frame_gutter_height): new function.
14942         (window_top_window_gutter_height): ditto.
14943         (window_top_gutter_height): use them.
14944         (window_bottom_frame_gutter_height): new function.
14945         (window_bottom_window_gutter_height): ditto.
14946         (window_bottom_gutter_height): use them.
14947         (window_left_window_gutter_width): new function.
14948         (window_left_frame_gutter_width): ditto.
14949         (window_left_gutter_width): use them.
14950         (window_right_window_gutter_width): new function.
14951         (window_right_frame_gutter_width): ditto.
14952         (window_right_gutter_width): use them.
14953         (window_pixel_height): new function. calulate window pixel height
14954         with frame gutter involvement.
14955         (Fsplit_window): calculate new sizes taking frame gutters into
14956         account.
14957         (window_char_height_to_pixel_height): don't include frame gutters.
14958         (window_char_height): use window_pixel_height.
14959         (window_pixheight): rename from window_pixel_height.
14960         (change_window_height): use it.
14961         (window_pixel_height_to_char_height): don't include frame gutters.
14962         (window_char_width_to_pixel_width): ditto.
14963
14964 2000-02-25  Andy Piper  <andy@xemacs.org>
14965
14966         * glyphs.h (IMAGE_INSTANCE_FACE): glyph might be nil, don't crash
14967         if it is.
14968
14969 2000-02-24  Martin Buchholz  <martin@xemacs.org>
14970
14971         * alloc.c (staticpro):
14972         (staticpro_nodump):
14973         (dumpstruct):
14974         (dumpopaque):
14975         (pdump_wire):
14976         (pdump_wire_list):
14977         (compact_string_chars):
14978         (pdump_dump_wired):
14979         Convert:  if (foo) abort();  ==>  assert (! foo);
14980
14981         * eldap.c (Fldap_search_basic):
14982         (Fldap_add):
14983         (Fldap_modify):
14984         (Fldap_delete):
14985         Fix compiler warnings, and possible crashes if (random) return
14986         value were to be used.
14987
14988 2000-02-21  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14989
14990         * device-msw.c: Workaround ResetDC failure.
14991
14992         * frame-msw.c (msprinter_init_frame_3): Added an assertion before
14993         applying a devmode.
14994
14995         * redisplay-msw.c (get_frame_dc): Added start_page_p.
14996         (mswindows_text_width): Do not start printer page.
14997
14998         * console-msw.h (CHECK_MSGDI_DEVICE): Added this and friends.
14999
15000         * glyphs-msw.c: Added image methods to msprinter console and
15001         msprinter-specific image instantiation.
15002
15003 2000-02-20  Mike Alexander  <mta@arbortext.com>
15004
15005         * select-msw.c (Fmswindows_set_clipboard): GC protect more things
15006         to avoid crashes when selection-sets-clipboard is on
15007         (mswindows_own_selection): ditto
15008
15009 2000-02-19  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15010
15011         * glyphs-msw.c:
15012         * redisplay-msw.c (get_frame_dc):
15013         (get_frame_compdc):
15014         * console-msw.h:
15015         * device-msw.c (mswindows_init_device):
15016         (mswindows_delete_device):
15017         (msprinter_init_device):
15018         (msprinter_delete_device):
15019         * frame-msw.c (mswindows_init_frame_1):
15020         (mswindows_delete_frame):
15021         (msprinter_init_frame_3):
15022         (msprinter_delete_frame): Move compatible DC to device object from
15023         frame object, for both mswindows and msprinter. Only one at a time
15024         is needed, it is a real waste to have one per frame!
15025
15026 2000-02-23  Andy Piper  <andy@xemacs.org>
15027
15028         * glyphs.c: add dynamic width and height elements.
15029         (image_instance_equal): ditto.
15030
15031         * glyphs-widget.c (widget_query_geometry): calculate width and
15032         height dynamically if required.
15033         (initialize_widget_image_instance): initialize dynamic dimensions.
15034         (widget_instantiate): pick-up dynamic dimensions.
15035
15036         * glyphs.h (struct Lisp_Image_Instance): add width and height for
15037         dynamic determination. Add appropriate macros.
15038
15039         * gutter.h (WINDOW_GUTTER_BORDER_WIDTH): make non-integer
15040         dimensions safe.
15041         (WINDOW_GUTTER_SIZE): ditto.
15042         (WINDOW_GUTTER_SIZE_INTERNAL): ditto.
15043
15044         * redisplay-msw.c (get_frame_compdc): gcc can't cope with this
15045         inline.
15046         (get_frame_dc): ditto.
15047
15048         * redisplay.h (GLOBAL_RESET_CHANGED_FLAGS): don't reset faces
15049         here.
15050
15051 2000-02-23  Martin Buchholz <martin@xemacs.org>
15052
15053         * XEmacs 21.2.31 is released.
15054
15055 2000-02-22  Ben Wing <ben@xemacs.org>
15056
15057         * ntheap.c (allocate_heap): Make sure `ptr' is initialized.
15058
15059 2000-02-22  Andy Piper  <andy@xemacs.org>
15060
15061         * glyphs-x.c (x_widget_instantiate): don't explicitly resize here.
15062
15063 2000-02-21  Mike Sperber <mike@xemacs.org>
15064
15065         * .dbxrc:
15066         * .gdbinit:
15067         * Makefile.in.in: Remove obsolete EMACSBOOTSTRAP... environment
15068         variables.
15069
15070 2000-02-21  Mike Sperber <mike@xemacs.org>
15071
15072         * s/aix4.h: Declare getaddrinfo broken for AIX 4, which it is.
15073
15074 2000-02-21  Martin Buchholz <martin@xemacs.org>
15075
15076         * XEmacs 21.2.30 is released.
15077
15078 2000-02-20  Martin Buchholz  <martin@xemacs.org>
15079
15080         Performance hacking.
15081         * *.c (syms_of_*):
15082         Add INIT_LRECORD_IMPLEMENTATION macros, paired with
15083         DEFINE_LRECORD_IMPLEMENTATION macros in the same file.
15084         * emacs.c (main_1):
15085         * lisp.h (DEFUN):
15086         * console.c (DEFVAR_CONSOLE_LOCAL_1):
15087         * buffer.c (DEFVAR_BUFFER_LOCAL_1):
15088         * symeval.h (DEFVAR_SYMVAL_FWD):
15089         * symbols.c (guts_of_unbound_marker):
15090         Make all c_readonly objects also lisp_readonly and marked for life.
15091         * lrecord.h (struct lrecord_implementation):
15092         Document flags better.
15093         * lrecord.h (DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION_WITH_PROPS):
15094         * lrecord.h (DECLARE_LRECORD):
15095         * lrecord.h (XSETRECORD):
15096         * lrecord.h (RECORDP):
15097         * lrecord.h (RECORD_TYPEP):
15098         * lrecord.h (RECORD_MARKER): New.
15099         * lrecord.h (error_check_*):
15100         * lrecord.h (CONCHECK_NONRECORD):
15101         * lrecord.h (MAKE_LRECORD_IMPLEMENTATION):
15102         * lrecord.h (INIT_LRECORD_IMPLEMENTATION): New.
15103         * lrecord.h (set_lheader_implementation):
15104         * lrecord.h (enum lrecord_type): New.
15105         * symeval.h (SYMBOL_VALUE_MAGIC_P):
15106         * alloc.c (disksave_object_finalization_1):
15107         * alloc.c (mark_object):
15108         * alloc.c (lrecord_type_index):
15109         * alloc.c (tick_lcrecord_stats):
15110         * alloc.c (Fgarbage_collect):
15111         * alloc.c (init_alloc_once_early):
15112         * alloc.c (pdump_load):
15113         * alloc.c (GC_CHECK_LHEADER_INVARIANTS): New.
15114         * alloc.c (lrecord_type_index): Delete.
15115         Make lisp object type indexes be constant.
15116           Makes (byte-compile) 5% faster.
15117         Put all marker functions into their own array.
15118           Makes (garbage-collect) 5% faster.
15119         Optimize SYMBOL_VALUE_MAGIC_P.
15120           Makes (byte-compile) 2-3% faster.
15121         * config.h.in (gc_checking_assert): New.
15122         * alloc.c: Use gc_checking_assert().
15123         * .dbxrc: Make compatible with new object type implementation.
15124         * .gdbinit: Make compatible with new object type implementation.
15125         * alloc.c: Delete all symbols defined only for debugging, such as
15126         Lisp_Type_Vector and lrecord_charset.
15127
15128 2000-02-21  Andy Piper  <andy@xemacs.org>
15129
15130         * gui-msw.c (Fmswindows_shell_execute): fix file location
15131         problems.
15132
15133         * buffer.c (Fkill_buffer): remove buffer from alist buffer
15134         unshowing so that set_window_buffer doesn't undo
15135         kill_buffer_hook's hard work.
15136
15137         * glyphs-widget.c (tab_control_query_geometry): don't count the
15138         first item when calculating geometry.
15139
15140         * glyphs.c (map_subwindow): remove redundant code.
15141         (update_frame_subwindows): be more circumspect about when to
15142         update subwindows.
15143
15144         * glyphs-x.c (x_update_widget): Properly fix sizing bug. Fix bug
15145         when items haven't changed. Update faces if faces have changed as
15146         well as just the widget face.
15147         (x_tab_control_update): Update faces if faces have changed as well
15148         as just the widget face.
15149
15150 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
15151
15152         * device-msw.c: (mswindows_delete_device): Remove redundant DDE
15153         registration.
15154         (build_syscolor_string): Use mswindows_color_to_string to try to
15155         get a named color.
15156         (mswindows_device_system_metrics): Reverse the foreground and
15157         background colors so that they match the documentation.
15158
15159         * objects-msw.c: (mswindows_X_color_map): tweak some values so
15160         they match the default Windows palette.
15161         (mswindows_color_to_string): New function.
15162
15163 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
15164
15165         * s/windowsnt.h: Only use __declspec(noreturn) with MSVC>=6.
15166
15167 2000-02-18  Olivier Galibert  <galibert@pobox.com>
15168
15169         * m/*, s/*: Removed obsolete DATA_SEG_BITS, PURE_SEG_BITS,
15170         WORD_MACHINE, SIGN_EXTEND_CHAR and EXPLICIT_SIGN_EXTEND.
15171
15172         * symbols.c (init_symbols_once_early): Removed obsolete
15173         DATA_SEG_BITS related kludge.
15174         (defvar_magic): Ditto.
15175
15176         * malloc.c: Removed obsolete DATA_SEG_BITS
15177         * ralloc.c: Ditto.
15178         * mem-limits.h: Ditto.
15179
15180         * Makefile.in.in: Removed obsolete HAVE_SHM
15181         * emacs.c: Ditto.
15182
15183 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
15184
15185         *  device-msw.c (mswindows_delete_device): Free DDE string
15186         handles.
15187
15188 2000-02-16  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15189
15190         * keymap.c (get_keyelt):
15191         * unexnt.c (unexec):
15192         * vm-limit.c (memory_warnings):
15193         * ntheap.c (recreate_heap):
15194         * ntheap.h (UNINIT_PTR):
15195         * select-msw.c (Fmswindows_get_clipboard):
15196         (Fmswindows_set_clipboard):
15197         * objects-msw.h (MSWINDOWS_BAD_HFONT):
15198         * objects-msw.c:
15199         * menubar-msw.c (displayable_menu_item):
15200         * glyphs-msw.c:
15201         * glyphs-msw.h (IMAGE_INSTANCE_MSWINDOWS_MASK):
15202         * sysdep.c (sys_subshell):
15203         * process-nt.c (nt_create_process):
15204         * nt.c (normalize_filename):
15205         (dostounix_filename):
15206         (unixtodos_filename):
15207         * ntproc.c (win32_executable_type):
15208         * ntplay.c (play_sound_data_1):
15209         (play_sound_file):
15210         * editfns.c (get_home_directory):
15211         * event-msw.c (struct winsock_stream):
15212         (mswindows_dde_callback):
15213         * device-msw.c (msprinter_init_device):
15214         (msprinter_get_devmode_copy): Frobbed syntax frivolities.
15215
15216         * toolbar-msw.c (mswindows_free_frame_toolbars): Paramters to
15217         mswindows_clear_toolbar were swapped!
15218
15219         * objects-msw.c:(colormap_t):
15220         (fontmap_t):
15221         * emacs.c (struct standard_args): Fixed const jumble.
15222
15223         * glyphs-widget.c (update_widget): Fixed comparison notation.
15224
15225         * event-msw.c (mswindows_dde_callback): Removed extraneous ';'.
15226
15227         * s\windowsnt.h (DOESNT_RETURN): Defined to support the MSVC
15228         __declspec(noreturn) syntax.
15229
15230 2000-02-19  Martin Buchholz  <martin@xemacs.org>
15231
15232         * eldap.c (Fldap_open):
15233         (Fldap_search_basic):
15234         (Fldap_add):
15235         (Fldap_modify):
15236         Use new coding system conversion macros.
15237
15238 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
15239
15240         * console-tty.c (tty_init_console): Change MULE to FILE_CODING.
15241
15242 1999-11-27  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
15243
15244         * eldap.h (Fldap_search) Renamed from Fldap_search_internal:
15245         (Fldap_add, Fldap_modify, Fldap_delete): New functions
15246
15247         * eldap.c (Qadd, Qreplace): New constant symbols
15248         (Fldap_open): Use the LDAP_OPT_RESTART option to avoid
15249         interruptions by XEmacs signals
15250         Remove unnecessary calls to slow_down_interrupts and
15251         speed_up_interrupts
15252         (Fldap_search_basic): Renamed from Fldap_search_internal
15253         Added new optional parameter VERBOSE that triggers the
15254         display of progress messages
15255         Remove unnecessary calls to slow_down_interrupts and
15256         speed_up_interrupts
15257         LDAP result code analysis rewritten
15258         (Fldap_add, Fldap_modify, Fldap_delete): New functions
15259         (syms_of_eldap): Define the new symbols and functions
15260
15261
15262 2000-02-17  Martin Buchholz  <martin@xemacs.org>
15263
15264         * realpath.c: Determine PATH_MAX maximally portably.
15265
15266         * insdel.c (bytecount_to_charcount): Optimize.
15267         The function used to be optimized for entirely ASCII sequences.
15268         Now it is optimized for successive characters from the same
15269         charset.  This also wins big for _mostly_ ASCII sequences.
15270
15271         * fileio.c (Ffile_truename): convert return from realpath() using
15272         Qfile_name, not Qbinary.  Fixes obvious bug with non-ASCII symlinks.
15273         - Rewrite GCPROing slightly.
15274
15275         * sysdep.c (sys_open): Do filename conversion, like all other
15276         sys_* functions.  Fixes bug:
15277         (let ((file-name-coding-system 'iso-8859-2))
15278            (write-region x y latin2-name))
15279         ==> writes filename using internal encoding.
15280
15281 2000-02-18  Martin Buchholz  <martin@xemacs.org>
15282
15283         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Turn on c_readonly. Always const.
15284         * console.c (DEFVAR_CONSOLE_LOCAL_1): Turn on c_readonly. Always const.
15285         * symeval.h (DEFVAR_SYMVAL_FWD): Turn on c_readonly. Always const.
15286         * eval.c (lrecord_subr): Remove this_one_is_unmarkable.
15287         * symbols.c (lrecord_symbol_value_forward): Remove this_one_is_unmarkable.
15288         * symbols.c (guts_of_unbound_marker): Turn on c_readonly.
15289         * lrecord.h (UNMARKABLE_LRECORD_HEADER_P): Delete.
15290         (CONST_IF_NOT_DEBUG): Delete.
15291         * alloc.c (this_one_is_unmarkable): Delete.
15292         (mark_object): Don't check for this_one_is_unmarkable. Use the
15293         c_readonly flag instead.
15294         * lisp.h (DEFUN): Define a Lisp_Subr as c_readonly.
15295
15296 2000-02-18  Jonathan Harris  <jhar@tardis.ed.ac.uk>
15297
15298         * event-msw.c (mswindows_drain_windows_queue):
15299         (emacs_mswindows_handle_magic_event): Remove attempt to optimise
15300         away redundant repaint events.
15301
15302 2000-02-17  Andy Piper  <andy@xemacs.org>
15303
15304         * redisplay.h: declare mark_redisplay_structs.
15305
15306         * redisplay.c (redisplay_window):
15307         (redisplay_frame): don't check subwindows_state_changed.
15308         (mark_redisplay): mark gutters here.
15309
15310         * glyphs.c: (instantiate_image_instantiator): always layout if we
15311         haven't done so already.
15312         (allocate_image_instance): don't mark as dirty.
15313         (update_subwindow): bind inhibit_quit.
15314
15315         * gutter.c (mark_gutters): new function.
15316
15317         * glyphs-x.c (x_update_widget): Always resize to get round a
15318         widget bug.
15319
15320         * glyphs-msw.c (mswindows_tab_control_update): remove `;' that was
15321         breaking absolutely everything.
15322
15323         * gutter.h: declare mark_gutters.
15324
15325 2000-02-16  Martin Buchholz <martin@xemacs.org>
15326
15327         * XEmacs 21.2.29 is released.
15328
15329 2000-02-15  Olivier Galibert  <galibert@pobox.com>
15330
15331         * fns.c (size_bit_vector): Fix computation of the size.
15332
15333 2000-02-15  Martin Buchholz  <martin@xemacs.org>
15334
15335         * *.[ch]: Change CONST to const globally.
15336         find -name '*.[ch]' | \
15337         xargs global-replace \
15338         's/(^|(?<=[^A-Za-z0-9_]))CONST((?=[^A-Za-z0-9_])|$)/const/g'
15339         - Remove vestigial references to CONST_IS_LOSING
15340
15341 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
15342
15343         * event-msw.c (mswindows_drain_windows_queue): Remove hack to
15344         bailout early on quit. Enqueue WM_PAINT events as XEmacs magic
15345         events instead of dispatching them directly.
15346         (mswindows_handle_paint): New function to do repainting.
15347         (mswindows_wnd_proc):
15348         (emacs_mswindows_handle_magic_event): Call above function.
15349
15350 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
15351
15352         * objects-msw.c (mswindows_create_font_variant): Return the new
15353         font handle.
15354         (initialize_font_instance): Get font metrics from the underlined
15355         variant of the font to cope with the case where the underlined
15356         font has a bigger descent.
15357
15358 2000-02-08   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
15359
15360         * gui.c (gui_item_accelerator): Return the first underlined
15361         character in item name.
15362
15363 2000-02-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15364
15365         * lisp.h: Added Qprinter.
15366
15367         * general.c (syms_of_general): Initialized it.
15368
15369         * redisplay-msw.c (get_frame_dc): Conditionally start a new page.
15370         (get_frame_dc):
15371         (get_frame_compdc): Made inline.
15372
15373         * console.h (struct console_methods): Added eject_page method.
15374
15375         * frame.h: Added FRAME_DISPLAY_P and friends.
15376         Aligned backslahes in many macros in more readable fashion.
15377         Added page_number to struct frame, and an accessor macro
15378         for it.
15379
15380         * defice.h: Added DEVICE_DISPLAY_P and friends.
15381
15382         * device.c (Fdevice_printer_p): Used these.
15383
15384         * frame.c (allocate_frame_core): Initialize page number.
15385         (Fprint_job_page_number):
15386         (Fprint_job_eject_page): Implemented.
15387
15388         * frame-msw.c (msprinter_eject_page): Added method.
15389         (msprinter_start_page): Added.
15390
15391         * window.c (Fwindow_truncated_p): Fixed docstring.
15392         (Fwindow_last_line_visible_height): Implemented.
15393
15394 2000-02-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
15395
15396         * frame.c (change_frame_size_1): Undo 2000-02-03 change.
15397
15398 1999-12-20  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
15399
15400         * syntax.c (scan_words): Always advance at least one character.
15401
15402 2000-02-13  Andy Piper  <andy@xemacs.org>
15403
15404         * redisplay.c (add_glyph_rune): call get_glyph_cachel_index here
15405         to make sure the glyph is in the cachels.
15406
15407         * glyphs.h (struct Lisp_Image_Instance): make layout_changed a
15408         global image instance flag.
15409         (IMAGE_INSTANCE_NEEDS_LAYOUT): new macro.
15410         (XIMAGE_INSTANCE_NEEDS_LAYOUT): ditto.
15411
15412         * glyphs.c (allocate_image_instance): set dirty bits correctly.
15413         (Fset_image_instance_property): mark layout as changed.
15414         (invalidate_glyph_geometry_maybe): mark layout as changed.
15415         (glyph_width): use new NEEDS_LAYOUT macro.
15416         (glyph_ascent): ditto.
15417         (glyph_descent): ditto.
15418         (glyph_height): ditto.
15419         (image_instance_layout): mark layout as clean after laying out.
15420         (update_subwindow): don't mark layout as clean here.
15421
15422         * glyphs-x.h (IMAGE_INSTANCE_X_WIDGET_ID): undo C++ changes, they
15423         should no longer be needed.
15424
15425         * glyphs-x.c (x_update_widget): sanitize asserts.
15426         (x_finalize_image_instance): sanitize assignment to widgets.
15427
15428         * glyphs-widget.c (widget_instantiate): don't need to clear the
15429         layout flag here.
15430
15431 2000-02-13  Martin Buchholz  <martin@xemacs.org>
15432
15433         * sysdep.c (getcwd): Use standard prototype.
15434         * sysdep.h (getcwd): Use standard prototype.
15435
15436         * fns.c (Fsubseq): Change parameters to more natural ANSI Lisp
15437         (sequence, start, end).
15438         Remove redundant type checking.
15439         (Fmapconcat): Remove useless GCPRO, a wrong-headed attempt (in
15440         view of `caller-protects') to avoid a crash where the real fix was
15441         found elsewhere.
15442
15443 2000-02-12  Martin Buchholz  <martin@xemacs.org>
15444
15445         * glyphs-x.c (x_finalize_image_instance): Compile error fixes.
15446
15447         * s/sol2.h: Remove feature macro initialization.
15448
15449         * alloc.c (alloc_lcrecord): Add more type checking assertions.
15450         (vector_hash): New.  Code from internal_hash.
15451         * lrecord.h:
15452         Fix up allocation subsystem comments.
15453
15454         * config.h.in: Add __EXTENSIONS__ for Solaris.
15455
15456         * systime.h (EMACS_GETTIMEOFDAY): New.
15457         (EMACS_GET_TIME): Use EMACS_GETTIMEOFDAY.
15458         Remove Solaris-specific code.
15459         Use void* for the (ignored) second arg for gettimeofday().
15460
15461         * elhash.c (hash_table_hash): Implement it, finally.
15462         * elhash.c:  Use hashcode_t.
15463
15464         * linuxplay.c (sighandler): Fix prototypes to use SIGTYPE.
15465         * sunplay.c (sighandler): Fix prototype to use SIGTYPE.
15466
15467         * lisp.h (STRETCHY_STRUCT_SIZEOF): Delete.
15468         * fns.c (size_bit_vector):
15469         * alloc.c (size_vector):
15470         (make_vector_internal):
15471         (make_bit_vector_internal):
15472         (sweep_bit_vectors_1):
15473         Replace calls to STRETCHY_STRUCT_SIZEOF with offsetof expression.
15474
15475 2000-02-10  Martin Buchholz  <martin@xemacs.org>
15476
15477         * s/aix4.h: #define MAP_FAILED if sys/mman.h didn't.
15478         Include strings.h to avoid warnings for bzero and strcasecmp.
15479
15480 2000-02-10  Olivier Galibert  <galibert@pobox.com>
15481
15482         * alloc.c: Move STRETCHY_STRUCT_SIZEOF from here...
15483         * lisp.h (STRETCHY_STRUCT_SIZEOF): ...to here
15484
15485         * fns.c (size_bit_vector): New.  Declare bit vectors as a
15486         sequence.
15487
15488 2000-02-10  Olivier Galibert  <galibert@pobox.com>
15489
15490         * symeval.h (struct symbol_value_magic): Remove "next" kludge and
15491         use a value field instead.
15492         (symbol_value_forward_forward): Use value field.
15493         (DEFVAR_SYMVAL_FWD): Use value field.
15494         (DEFVAR_SYMVAL_FWD_INT): Added.  Dumps the int with dumpopaque.
15495         (DEFVAR_INT): Use DEFVAR_SYMVAL_FWD_INT.
15496         (DEFVAR_CONST_INT): Ditto.
15497         (DEFVAR_BOOL): Ditto.
15498         (DEFVAR_CONST_BOOL): Ditto.
15499         (DEFVAR_INT_MAGIC): Ditto.
15500         (DEFVAR_BOOL_MAGIC): Ditto.
15501
15502         * symbols.c (guts_of_unbound_marker): Use value field.
15503         * console.c (DEFVAR_CONSOLE_LOCAL_1): Ditto.
15504         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Ditto.
15505
15506         * lisp.h: Declare dumpopaque and noninteractive1.
15507
15508         * alloc.c (dumpopaque): Added.
15509         (pdump_dump_opaquevec): Added.
15510         (pdump): Call pdump_dump_opaquevec to dump opaque data.
15511         (pdump_load): Reload opaque data.  Sync noninteractive1 with
15512         noninteractive.
15513
15514 2000-02-10  Andy Piper  <andy@xemacs.org>
15515
15516         * glyphs.c (image_instance_layout): if the size changes, mark it
15517         as such.
15518
15519         * redisplay-output.c (redisplay_output_layout): Update the
15520         subwindow here.
15521         (redisplay_output_subwindow): ditto.
15522
15523         * glyphs.c (update_subwindow): make sure we reset flags for
15524         layouts as well as everything else.
15525
15526         * glyphs-widget.c (layout_layout): don't need to set the instances
15527         dimensions here.
15528
15529 2000-02-09  Martin Buchholz  <martin@xemacs.org>
15530
15531         * device-x.c (x_init_device): Wrap calls to dll_*  in HAVE_SHLIB,
15532         not HAVE_DLOPEN, which is a lower-level thing.
15533
15534         * .cvsignore: Ignore gmon.out
15535
15536 2000-02-09  Hamish Macdonald <hamishm@lucent.com>
15537
15538         * .cvsignore: Ignore portable dumper xemacs.dmp file
15539
15540 2000-02-09  Andy Piper  <andy@xemacs.org>
15541
15542         * redisplay-output.c (redisplay_output_layout): be more clever
15543         about when we output based on the changed flags.
15544
15545         * glyphs.h (struct image_instantiator_methods): add update_method.
15546         (struct Lisp_Image_Instance): add changed flags. Declare new
15547         macros for manipulating them.
15548
15549         * glyphs.c (allocate_image_instance): renamed glyph -> parent.
15550         (image_instance_parent_glyph): find an image_instance's parent
15551         glyph or image_instance.
15552         (image_instance_layout): mark the size as changed.
15553         (set_image_instance_dirty_p): new function. mark an image
15554         instance, plus all of its parents, as dirty.
15555         (Fset_image_instance_property): use it.
15556         (Fglyph_animated_timeout_handler): use it.
15557         (update_subwindow): call update_widget and device methods for
15558         update_subwindow. Mark all changed flags as clean.
15559         (Fresize_subwindow): mark size as changed.
15560
15561         * glyphs-x.c (x_finalize_image_instance): try and detect gc
15562         failures.
15563         (x_update_subwindow): only resize subwindows here.
15564         (x_update_widget): new function. Update all changed properties of
15565         a widget.
15566         (x_resize_subwindow): deleted.
15567         (x_widget_set_property): deleted.
15568         (x_progress_gauge_set_property): deleted.
15569         (x_progress_gauge_update): new function. Implement recorded
15570         changes.
15571         (x_tab_control_update): ditto.
15572         (x_tab_control_set_property): deleted.
15573         (console_type_create_glyphs_x): declare new functions.
15574         (image_instantiator_format_create_glyphs_x): ditto.
15575
15576         * glyphs-widget.c (widget_set_property): mark text changed.
15577         (update_widget): new function. Update properties of a widget.
15578         (widget_instantiate): for layouts make sure we set their
15579         children's parent correctly.
15580         (tab_control_set_property): new function. Record changes that will
15581         take place under redisplay's control.
15582         (progress_gauge_set_property): ditto.
15583         (image_instantiator_progress_guage): declare new functions.
15584         (image_instantiator_tab_control): ditto.
15585
15586         * glyphs-msw.c (mswindows_update_subwindow): just do resizing here
15587         now.
15588         (mswindows_update_widget): new function. Update all properties on
15589         a widget that have changed.
15590         (mswindows_button_update): new function. Update a button's set
15591         state.
15592         (mswindows_tab_control_update): new function. Update the items in
15593         a tab.
15594         (mswindows_tab_control_set_property): deleted.
15595         (mswindows_progress_gauge_update): new function. Update the
15596         progress gauge's progress.
15597         (mswindows_widget_set_property): deleted. This is all done
15598         asynchronously now.
15599         (mswindows_progress_gauge_set_property): ditto.
15600         (console_type_create_glyphs_mswindows): declare new methods.
15601         (image_instantiator_format_create_glyphs_mswindows): ditto.
15602
15603         * frame-msw.c (msprinter_init_frame_1): Remove unused variables.
15604         (msprinter_set_frame_properties): ditto.
15605
15606         * console.h (struct console_methods): Add update_widget_method.
15607
15608 2000-02-09  Andy Piper  <andy@xemacs.org>
15609
15610         * gui-msw.c (Fmswindows_shell_execute): Make
15611         mswindows-shell-execute industrial strength.
15612
15613 2000-02-08  Martin Buchholz  <martin@xemacs.org>
15614
15615         * lrecord.h: Make macro argument `props' match member function `plist'.
15616         * fns.c (Fget):
15617         * fns.c (Fput):
15618         * fns.c (Fremprop):
15619         * fns.c (Fobject_plist):
15620         * alloc.c:
15621         * symbols.c:
15622         Object property list frobbing cleanup.
15623         - Allow any lisp object (compared with `eq'), not just symbols, as
15624           keys in object plists.
15625         - Move symbol plist frobbing into symbols.c, where it belongs.
15626         - Move string plist frobbing into alloc.c, where it belongs.
15627         - Everything's an lrecord now, so no need to test for symbolp, etc.
15628         - Fix up doc strings to refer to PROPERTY, not PROPNAME.
15629
15630         * extents.c: Reorder code to remove declarations.
15631
15632         * frame.h (store_in_alist): Remove useless declaration.
15633
15634 2000-02-07  Martin Buchholz  <martin@xemacs.org>
15635
15636         * event-Xt.c (x_has_keysym): Use XConvertCase only if available.
15637         * config.h.in: Add HAVE_XCONVERTCASE.
15638
15639 2000-02-07  Andy Piper  <andy@xemacs.org>
15640
15641         * glyphs.c (image_instance_layout): undo 2000-01-29 change since
15642         it breaks many things.
15643
15644 2000-02-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
15645
15646         * src/syntax.h (SYNTAX_START_P): Check whether the two chars
15647         actually can start a common comment type.
15648         * src/syntax.h (SYNTAX_END_P): ditto for end.
15649
15650 2000-02-07  Martin Buchholz <martin@xemacs.org>
15651
15652         * XEmacs 21.2.28 is released.
15653
15654 2000-02-06  Martin Buchholz  <martin@xemacs.org>
15655
15656         * event-Xt.c (x_keysym_to_character): New.
15657         (maybe_define_x_key_as_self_inserting_character): New.
15658         (x_has_keysym): New.
15659         Auto-define all keys on the keyboard as self-insert-key.
15660
15661 2000-02-02  Martin Buchholz  <martin@xemacs.org>
15662
15663         * menubar.c (vars_of_menubar): A small code simplification.
15664
15665         * minibuf.c (echo_area_append): Workaround egcs-20000131 c++ compiler bug
15666
15667         * ExternalShell.c:
15668         * ExternalClient.c:
15669         * EmacsShell-sub.c:
15670         * EmacsManager.c:
15671         * EmacsFrame.c:
15672         Use consistent style for specifying X resources.
15673
15674         * symbols.c (Fset): Further implement SYMVAL_LISP_MAGIC.
15675         This makes (dontusethis-set-symbol-value-handler) actually usable.
15676
15677         * lrecord.h (lrecord_decription_type):
15678         * alloc.c (pdump_register_sub):
15679         (pdump_dump_data):
15680         (pdump_reloc_one):
15681         Add XD_LISP_OBJECT_ARRAY to describe multiple Lisp_Objects.
15682         Comply with XEmacs coding style.
15683         All lrecord descriptions updated to use XD_LISP_OBJECT with 2
15684         args, and XD_LISP_OBJECT_ARRAY with 3 args.
15685
15686         * keymap.c (Faccessible_keymaps):
15687         Make (accessible-keymaps map "\C-h") do the Right Thing.
15688         Make (accessible-keymaps map []) do the Right Thing.
15689         Make (accessible-keymaps map "") do the Right Thing.
15690         (check_keymap_definition_loop): New function.
15691         (keymap_store_internal): Keep luser from shooting self in foot,
15692           via (define-key ctl-x-4-map "p" global-map).
15693         Remove fullness slot from struct Lisp_Keymap, since hash tables
15694         are now reliable.
15695         (print_keymap): Remove 'Yuck' factor by simply printing "size %d".
15696
15697 2000-01-30  Martin Buchholz  <martin@xemacs.org>
15698
15699         * redisplay.c (init_redisplay): Fix small memory leak.
15700         * elhash.h:
15701         * elhash.c (pdump_reorganize_hash_table):
15702         Rename from reorganize_hash_table. Change prototype.
15703         Reuse the original memory for hentries.  Save 100k.
15704         * alloc.c (PDUMP_READ): new macro.
15705         * alloc.c (pdump_load): Replace LISP_TO_VOID with higher-level macros.
15706         * alloc.c: No need to #ifndef before #undef.
15707
15708         * print.c: Allow debug_print() to print readably by modifying
15709         debug_print_readably.  Use consistent variable names.
15710
15711         * .dbxrc: Try to get things to work even if stopped in a function
15712         without source available by explicitly specifying source files.
15713 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15714
15715         * unexnt.c (_start): Removed bogus code which caused loading heap
15716         from differrent executable file.
15717         Removed bogus assignment to _fmode, which caused inconsistencies.
15718
15719 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15720
15721         * s\windowsnt.h: Removed lots of #if 0 blocks of Emacs heritage.
15722         Have spawnve encapsulation regard DONT_ENCAPSULATE.
15723         Do not preliminary `#define signal sigset'.
15724
15725         * systime.h: Do not prototype environ on windows nt and cygwin,
15726         this conflicts with system header.
15727
15728         * syssignal.h: Use correct define for WINDOWSNT
15729
15730         * sysdep.h: Do not prototype environ on windows nt, this conflicts
15731         with system header.
15732
15733         * sysdep.c (near start of file): Fixed commentary and rearranged
15734         ifdefs in readable order.
15735         (NEED_STARTS): Do not force NEED_STARTS when PDUMPing.
15736         (start_of_text):
15737         (end_of_text):
15738         (end_of_data): Do not compile in if using PDUMP.
15739
15740         * symsinit.h: Prototyped vars_of_nt().
15741
15742         * ntproc.c (windows9x_p): Added, instead of os_subtype.
15743         (find_child_console): Use it.
15744         (sys_kill): Use it.
15745
15746         * ntheap.h: Do not extern os_subtype.
15747
15748         * ntheap.c (cache_system_info): Do not cache unneeded:
15749         nt_major_version, nt_minor_version and os_subtype.
15750         (recreate_heap): Do not compile in when PDUMPing.
15751
15752         * nt.c (geteuid and friends): Use the new varibale
15753         nt_fake_unix_uid, instead of hashing fake uid out of NT RID.
15754         (init_user_info): Removed the above mentioned hackery.
15755         (fstat, stat): Do not compile in if using MSVC 5.0 and above -
15756         stat has been fixed in the C runtime.
15757         (vars_of_nt): Added, defined the nt_fake_unix_uid variable there.
15758
15759         * file-coding.c (struct file_coding_dump): Do not define
15760         ucs_to_mule_table in the struct if not MULE.
15761         (struct struct lrecord_description fcd_description_1): Do not dump
15762         the above.
15763
15764         * emacs.c (main_1): Call vars_of_nt().
15765         (right before Fdump_emacs_data): Don't need lastfile if using both
15766         portabe dumper and system malloc.
15767
15768         * alloc.c (Fmemory_limit): Conditionalized out.
15769         (pdump): Use OPEN_BINARY for the portable dump file.
15770         (pdump_load): Ditto.
15771
15772 2000-02-02  Mike Alexander  <mta@arbortext.com>
15773
15774         * nt.c (convert_time): Set tm_isdst before calling mktime and
15775         avoid calling it at all if the compiler supports 64 bit integers.
15776         Also initialize utc_base_ft before using it.
15777
15778 2000-02-03   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
15779
15780         * frame.c (change_frame_size_1): Take f->internal_border_width
15781         into consideration when calculating the width of the frame.
15782
15783 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15784
15785         * window.c (frame_min_height):
15786         (frame_size_valid_p):
15787         (frame_pixsize_valid_p): Added.
15788         (check_frame_size): Generalized.
15789
15790         * window.h: Prototyped the above.
15791
15792         * lisp.h:
15793         * general.c: Added Qbottom_margin, Qduplex, Qlandscape,
15794         Qleft_margin, Qorientation, Qportrait, Qright_margin, Qtop_margin.
15795         Deleted Vwin32_* and Vbinary_process_* unused variables.
15796
15797         * device-msw.c (msprinter_init_device): Do not get printer font
15798         list; Added DEVMODE functions.
15799
15800         * frame-msw.c: Added lots of printer code.
15801
15802         * faces.c: Moved 'left-margin and 'right-margin defsymbols to
15803         general.c.
15804
15805         * console-msw.h: Added more msprinter device private slots.
15806
15807 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15808
15809         * event-msw.c (key_needs_default_processing_p): Added.
15810         (mswindows_wnd_proc, WM_KEYUP, KEYDOWN): Call it.
15811
15812 2000-01-29  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15813
15814         * glyphs.c (image_instance_layout): Mark image instance as clean
15815         after layout.
15816         (glyph_dirty_p): Removed redundant function.
15817         (invalidate_glyph_geometry_maybe): Added.
15818         (update_glyph_cachel_data): Call it.
15819
15820         * glyphs.h: Prototyped it.
15821
15822         * redisplay.c (add_glyph_rune): Call it.
15823         (redisplay_window): Reset glyphs cachels when frame faces have
15824         changed, thus forcing recomputation of built-in border glyphs.
15825
15826 2000-01-30  Martin Buchholz  <martin@xemacs.org>
15827
15828         * Makefile.in.in: Make portable dumper and purify play well together.
15829         Add imperfect, but better than nothing, support for pdump.
15830         Remove xemacs.dmp when temacs is re-generated.
15831         Don't ignore errors when dumping xemacs.
15832
15833         * symbols.c (maybe_call_magic_handler): Remove one magic number.
15834
15835 2000-01-28  Andy Piper  <andy@xemacs.org>
15836
15837         * frame.c (allocate_frame_core): Use new Fset_window_buffer signature.
15838         (setup_normal_frame): ditto.
15839         (setup_frame_without_minibuffer): ditto.
15840         (setup_minibuffer_frame): ditto.
15841         (delete_frame_internal): ditto.
15842         (Fmake_frame_invisible): ditto.
15843         (Ficonify_frame): ditto.
15844
15845         * window.h: change Fset_window_buffer signature.
15846
15847         * window.c (Fsplit_window): Use new Fset_window_buffer signature.
15848         (Fset_window_buffer): allow recording of buffer if the window is
15849         the selected window.
15850         (window_loop): Use new Fset_window signature.
15851
15852 2000-01-23  Daniel Pittman  <daniel@danann.net>
15853
15854         * config.h.in: Added template for `HAVE_ATHENA_3D'
15855
15856 2000-01-29  Andy Piper  <andy@xemacs.org>
15857
15858         * glyphs-x.c (x_resize_subwindow): Try and catch bogus resizes.
15859
15860         * gutter.c (output_gutter): Don't output if the window isn't live.
15861
15862 2000-01-28  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15863
15864         * glyphs-msw.c (mswindows_unmap_subwindow): Fix of corrupted patch
15865         of 01/12/00: Moved SetFocus back here where it belongs.
15866
15867 2000-01-23  Andy Piper  <andy@xemacs.org>
15868
15869         * s/cygwin32.h: declare printer things.
15870
15871 2000-01-26  Andy Piper  <andy@xemacs.org>
15872
15873         * select.c (Fown_selection_internal): GCPRO bug fix from Mike
15874         Alexander.
15875
15876 2000-01-24  Andy Piper  <andy@xemacs.org>
15877
15878         * glyphs-msw.c (mswindows_locate_pixmap_file): Expand filename.
15879         (mswindows_button_instantiate): Make sure glyph is a pixmap.
15880
15881         * glyphs-widget.c (widget_instantiate): Avoid shadows.
15882
15883         * frame-msw.c (msprinter_init_frame_3): Nuke warning.
15884
15885         * glyphs-msw.c: (mswindows_string_to_color): remove declaration.
15886
15887         * redisplay-msw.c (mswindows_output_cursor): Avoid shadows.
15888         (mswindows_output_display_block): Avoid local shadows.
15889
15890         * event-msw.c (mswindows_enqueue_magic_event): Avoid shadows.
15891         (mswindows_enqueue_mouse_button_event): ditto.
15892         (mswindows_handle_gui_wm_command): remove declaration.
15893
15894         * console-msw.c (mswindows_canonicalize_console_connection): Avoid
15895         warnings.
15896
15897         * console-msw.h: Avoid shadows.
15898         (mswindows_get_toolbar_button_text):
15899         (emacs_mswindows_create_stream_pair):
15900         (emacs_mswindows_delete_stream_pair):
15901         (mswindows_handle_toolbar_wm_command): declare.
15902
15903         * device-msw.c (build_syscolor_string): Avoid shadows.
15904
15905 2000-01-23  Andy Piper  <andy@xemacs.org>
15906
15907         * glyphs-widget.c (widget_instantiate): reverse the items for
15908         layouts so that children are in the expected order.
15909
15910 2000-01-28  Martin Buchholz  <martin@xemacs.org>
15911
15912         * ralloc.c: safe_bcopy ==> memmove
15913         * gmalloc.c: Remove MEMMOVE_MISSING conditional code.
15914         * s/msdos.h: Remove BCOPY macros.
15915         * insdel.c (gap_right): Remove BCOPY conditional code.
15916         * insdel.c (gap_left): Remove BCOPY conditional code.
15917         XEmacs demands a working ANSI C compiler - hence memmove.
15918
15919         * regex.c (regex_compile): Remove accidental use of trigraphs.
15920
15921 2000-01-27  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15922
15923         * event-msw.c (mswindows_enqueue_misc_user_event): Initialize
15924         event timestamp.
15925
15926 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15927
15928         * event-msw.c (mswindows_drain_windows_queue): Added the
15929         parameter.
15930         (mswindows_need_event): Commented the call to
15931         mswindows_drain_windows_queue().
15932         (emacs_mswindows_quit_p): Lookup the windows for keyboard messages
15933         only.
15934
15935         * console-msw.h: Moved a few function prototypes here from
15936         event-msw.c.
15937
15938         * gui-msw.c (mswindows_handle_gui_wm_command): Changed the ID
15939         parameter from unsigned short to unsigned long.
15940         (Fmswindows_shell_execute): Added return value.
15941
15942 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
15943
15944         * sysdep.c (init_system_name):
15945           process-unix.c (unix_canonicalized_host_name):
15946         Don't call freeaddrinfo() if getaddrinfo() fails.
15947
15948         * process-unix.c (unix_open_unix_network_stream):
15949         Moved the code to get a port # into address loop.
15950
15951 2000-01-27  Martin Buchholz  <martin@xemacs.org>
15952
15953         * buffer.c (reinit_vars_of_buffer):
15954         The right place to initialize conversion_in_dynarr and
15955         conversion_out_dynarr.
15956
15957         * alloc.c (pdump): Use the real open() till sys_open() is functional.
15958
15959         * process-unix.c (unix_canonicalize_host_name): Muleize.
15960         (unix_open_network_stream): Muleize.
15961
15962         * buffer.h: Fix up prototypes for ralloc.c functions.
15963
15964 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
15965         * config.h.in: added HAVE_GETADDRINFO and HAVE_GETNAMEINFO
15966         * sysdep.c: In init_system_name(), add code to use getaddrinfo()
15967                 instead of gethostbyname()
15968         * process-unix.c: In unix_canonicalize_host_name() and
15969                 unix_open_network_stream(), add code to use getaddrinfo()
15970                 instead of gethostbyname().
15971
15972 2000-01-27  Daniel Pittman <daniel@danann.net>
15973
15974         * device-x.c (x_init_device): Warn at run-time if using Athena 3d
15975         libs when built with flat Athena.
15976
15977 2000-01-27  Martin Buchholz  <martin@xemacs.org>
15978
15979         * ralloc.c: Replace SIZE (conflicts with Windows headers) with size_t.
15980         Use coding standards for function prototypes.
15981
15982 2000-01-25  Martin Buchholz  <martin@xemacs.org>
15983
15984         * dialog-msw.c (push_lisp_string_as_unicode):
15985         * doc.c (unparesseuxify_doc_string):
15986         * dired.c (Fuser_name_completion_1):
15987         * dired.c (Fuser_name_all_completions):
15988         * dired.c (free_user_cache):
15989         * dired.c (user_name_completion):
15990         * console-x.c (get_display_arg_connection):
15991         * minibuf.c (clear_echo_area_internal):
15992         * minibuf.c (echo_area_append):
15993         * eldap.c (Fldap_open):
15994         * eldap.c (Fldap_search_internal):
15995         * frame-x.c (x_set_frame_text_value):
15996         * frame-x.c (x_set_frame_properties):
15997         * frame-x.c (x_create_widgets):
15998         * redisplay-tty.c (term_get_fkeys_1):
15999         * objects-x.c (x_parse_nearest_color):
16000         * objects-x.c (x_valid_color_name_p):
16001         * objects-x.c (x_initialize_font_instance):
16002         * objects-x.c (x_list_fonts):
16003         * objects-x.c (x_find_charset_font):
16004         * tooltalk.c (Fadd_tooltalk_message_arg):
16005         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
16006         * tooltalk.c (Fadd_tooltalk_pattern_arg):
16007         * process-unix.c (unix_create_process):
16008         * ntproc.c (sys_spawnve):
16009         * sound.c (Fplay_sound_file):
16010         * sound.c (Fplay_sound):
16011         * buffer.c (init_initial_directory):
16012         * buffer.c (init_buffer):
16013         * editfns.c (init_editfns):
16014         * editfns.c (Ftemp_directory):
16015         * editfns.c (Fuser_full_name):
16016         * editfns.c (uncache_home_directory):
16017         * editfns.c (get_home_directory):
16018         * editfns.c (Fuser_home_directory):
16019         * editfns.c (Fformat_time_string):
16020         * editfns.c (Fcurrent_time_string):
16021         * gui-x.c (button_item_to_widget_value):
16022         * database.c (Fopen_database):
16023         * event-Xt.c (x_to_emacs_keysym):
16024         * event-Xt.c (x_event_to_emacs_event):
16025         * event-Xt.c (describe_event_window):
16026         * event-msw.c (mswindows_wnd_proc):
16027         * glyphs-eimage.c (jpeg_instantiate):
16028         * glyphs-eimage.c (gif_instantiate):
16029         * glyphs-eimage.c (png_instantiate):
16030         * glyphs-eimage.c (tiff_instantiate):
16031         * glyphs-x.c (xbm_instantiate_1):
16032         * glyphs-x.c (x_xbm_instantiate):
16033         * glyphs-x.c (x_xface_instantiate):
16034         * glyphs-x.c (autodetect_instantiate):
16035         * glyphs-x.c (cursor_font_instantiate):
16036         * glyphs-x.c (x_widget_instantiate):
16037         * glyphs-x.c (x_widget_set_property):
16038         * glyphs-x.c (x_widget_property):
16039         * glyphs-x.c (BUILD_GLYPH_INST):
16040         * print.c (write_string_to_stdio_stream):
16041         * print.c (output_string):
16042         * print.c (Falternate_debugging_output):
16043         * print.c (Fexternal_debugging_output):
16044         * glyphs-msw.c (extract_xpm_color_names):
16045         * glyphs-msw.c (mswindows_xpm_instantiate):
16046         * glyphs-msw.c (bmp_instantiate):
16047         * glyphs-msw.c (resource_name_to_resource):
16048         * glyphs-msw.c (mswindows_resource_instantiate):
16049         * glyphs-msw.c (xbm_instantiate_1):
16050         * glyphs-msw.c (mswindows_xbm_instantiate):
16051         * glyphs-msw.c (mswindows_xface_instantiate):
16052         * glyphs-msw.c (mswindows_widget_instantiate):
16053         * glyphs-msw.c (add_tree_item):
16054         * glyphs-msw.c (add_tab_item):
16055         * glyphs-msw.c (mswindows_combo_box_instantiate):
16056         * glyphs-msw.c (mswindows_widget_property):
16057         * glyphs-msw.c (mswindows_combo_box_property):
16058         * glyphs-msw.c (mswindows_widget_set_property):
16059         * console.c (stuff_buffered_input):
16060         * objects-msw.c (mswindows_initialize_color_instance):
16061         * objects-msw.c (mswindows_valid_color_name_p):
16062         * objects-msw.c (mswindows_list_fonts):
16063         * objects-msw.c (mswindows_font_instance_truename):
16064         * bytecode.c (optimize_compiled_function):
16065         * select-x.c (symbol_to_x_atom):
16066         * select-x.c (x_atom_to_symbol):
16067         * select-x.c (hack_motif_clipboard_selection):
16068         * select-x.c (selection_data_to_lisp_data):
16069         * select-x.c (lisp_data_to_selection_data):
16070         * select-x.c (Fx_get_cutbuffer_internal):
16071         * select-x.c (Fx_store_cutbuffer_internal):
16072         * buffer.h (TO_EXTERNAL_FORMAT): New function.
16073         * buffer.h (TO_INTERNAL_FORMAT): New function.
16074         * emacs.c (make_arg_list_1):
16075         * emacs.c (make_argc_argv):
16076         * emacs.c (main_1):
16077         * emacs.c (Fdump_emacs):
16078         * emacs.c (split_string_by_emchar_1):
16079         * file-coding.h:
16080         * lisp.h:
16081         * lstream.h:
16082         * symsinit.h:
16083         * device-x.c (x_init_device):
16084         * device-x.c (Fx_valid_keysym_name_p):
16085         * device-x.c (Fx_get_font_path):
16086         * device-x.c (Fx_set_font_path):
16087         * glyphs.c (bitmap_to_lisp_data):
16088         * glyphs.c (pixmap_to_lisp_data):
16089         * alloc.c (make_ext_string): Use coding system arguments.  Update
16090         all callers.
16091         * alloc.c (build_string):
16092         * callproc.c (child_setup):
16093         * callproc.c (init_callproc):
16094         * fileio.c (lisp_strerror):
16095         * fileio.c (directory_file_name):
16096         * fileio.c (Fexpand_file_name):
16097         * fileio.c (Ffile_truename):
16098         * fileio.c (Fsysnetunam):
16099         * fileio.c (Fdo_auto_save):
16100         * sysdep.c (sys_readdir):
16101         * tests.c: New file.  Allow adding C tests.
16102         Replace GET_* macros with a more comprehensible and flexible
16103         interface, TO_INTERNAL_FORMAT() and TO_EXTERNAL_FORMAT().
16104         Modify all calls.
16105         Any coding system can be used to do format conversion.
16106         Eliminate enum external_data_format.
16107         Eliminate convert_to_external_format.
16108         Eliminate convert_to_internal_format.
16109         Make sure file-name, keyboard, terminal, and ctext are always
16110         defined as coding systems or aliases.  Make
16111         file-name-coding-system, terminal-coding-system, and
16112         keyboard-coding-system magical variables that are equivalent to
16113         defining the corresponding coding system aliases.
16114
16115         * file-coding.c (Fcoding_system_canonical_name_p): New function.
16116         * file-coding.c (Fcoding_system_alias_p): New function.
16117         * file-coding.c (Fcoding_system_aliasee): New function.
16118         * file-coding.c (append_suffix_to_symbol): New function.
16119         * file-coding.c (dangling_coding_system_alias_p): New function.
16120         * file-coding.c (Ffind_coding_system):
16121         * file-coding.c (Fcopy_coding_system):
16122         * file-coding.c (encode_coding_no_conversion):
16123         * file-coding.c (syms_of_file_coding):
16124         * file-coding.c (vars_of_file_coding):
16125         Rewrite coding system alias code.
16126         Allow nested aliases, like symbolic links.
16127         Allow redefinition of coding system aliases.
16128         Prevent existence of dangling coding system aliases.
16129
16130         * dired.c (Fuser_name_completion_1):
16131         * dired.c (Fuser_name_all_completions):
16132         A crash would happen if user did QUIT in the middle of building
16133         user_name_cache.  Remove redundant code in mainline and unwind_protect.
16134
16135         * lisp.h:
16136         * dynarr.c (Dynarr_min_size): Make static.  Increase value to 8.
16137
16138         * lstream.c (make_fixed_buffer_input_stream): Take a void *, not
16139         an unsigned char *.  Update all callers.
16140
16141 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16142
16143         * callproc.c (Fcall_process_internal): Ignore Vbinary-process_output.
16144
16145 2000-01-25  Martin Buchholz  <martin@xemacs.org>
16146
16147         * elhash.c (hentry_description): Use more portable definition.
16148         (resize_hash_table): Initialize new hentries using
16149         xnew_array_and_zero, thereby simplifying the code.
16150
16151         * mule-charset.c (make_charset): Make sure entire object is
16152         initialized, to avoid Purify warnings.
16153
16154         * alloc.c (resize_string): Fix unlikely crash with big strings.
16155
16156 2000-01-24  Martin Buchholz  <martin@xemacs.org>
16157
16158         * realpath.c (xrealpath):
16159         Don't call getwd().
16160
16161 2000-01-25  Martin Buchholz  <martin@xemacs.org>
16162
16163         * lread.c (read_bit_vector): Fix memory leak reading literal bit vectors.
16164
16165 1999-12-28  Max Matveev  <max@melbourne.sgi.com>
16166
16167         * unexelfsgi.c (unexec): Change the way we decide which segment
16168         should be extended.
16169
16170         Assumption that .bss section should be outside the PT_LOADable
16171         segment. On IRIX with version 6.2 and above, .bss (or .sbss, if
16172         it's present) is inside the 'data' segment. This would fail the
16173         test which was used to find a segment to grow and cover new
16174         heap. Instead of this assumption, I created another one - on IRIX
16175         the segment to grow should start below .bss and it's address
16176         should extent above the end of .bss. Once this segment is
16177         identified, it's grown to accommodate the new heap and new
16178         zero-length .bss section is added at the end of .data2.
16179
16180 2000-01-25  Martin Buchholz  <martin@xemacs.org>
16181
16182         * eval.c (Feval): Wrong number of arguments should use original
16183         function, not the indirect_function version of it.
16184
16185 2000-01-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
16186
16187         * glyphs-x.c (x_button_instantiate): Don't add image if
16188         it is not a pixmap.
16189         (x_locate_pixmap_file): Call Fexpand_file_name when file name
16190         is relative.
16191
16192 2000-01-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
16193
16194         * symeval.h (DEFVAR_LISP_MAGIC): Remove semicolon after macro
16195         declaration.
16196         (DEFVAR_INT_MAGIC): Ditto.
16197         (DEFVAR_BOOL_MAGIC): Ditto.
16198         * glyphs.h: Reindent backslash.
16199
16200 2000-01-24  Martin Buchholz  <martin@xemacs.org>
16201
16202         * glyphs-widget.c (layout_query_geometry):
16203         (layout_layout): Use correct types for gheight, gwidth.
16204
16205 2000-01-24  Martin Buchholz  <martin@xemacs.org>
16206
16207         * EmacsManager.c (QueryGeometry): Purified.
16208
16209 2000-01-23  Martin Buchholz  <martin@xemacs.org>
16210
16211         * alloc.c (make_float): Make sure entire object is initialized, to
16212         avoid Purify warnings.
16213         (pdump_register_sub): Remove useless assignment.
16214         (pdump): Use xmalloc, not malloc.
16215         (pdump_load): Use xmalloc, not malloc.
16216
16217 2000-01-23  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16218
16219         * callproc.c:
16220         * dired-msw.c:
16221         * fileio.c:
16222         * process-nt.c:
16223         * redisplay-msw.c:
16224         * sysdep.c: Removed redundant #include <windows.h>
16225
16226 2000-01-22  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16227
16228         * frame.c (delete_frame_internal): Do not delete device when its
16229         implementation so declares.
16230         (delete_frame_internal): Set device selected frame to nil when
16231         last frame goes away.
16232
16233         * device-msw.c (msprinter_device_system_metrics): Implemented.
16234         (mswindows_device_system_metrics): Added 'device-dpi property.
16235
16236         * device.c: (Fdevice_printer_p): Added.
16237         Added 'offset-workspace device metric.
16238
16239         * console.h (device_metrics): Declared DM_offset_workspace.
16240
16241 2000-01-23  Martin Buchholz  <martin@xemacs.org>
16242
16243         * fileio.c (Ffile_truename): Remove pointless and confusing
16244         initialization of elen.
16245
16246         * glyphs-widget.c: Compiler warning fixes.
16247
16248 2000-01-23  Gunnar Evermann  <ge204@eng.cam.ac.uk>
16249
16250         * process.h (PROCESS_LIVE_P): Modify to take a Lisp_Process
16251         instead of a Lisp_Object as argument to make it consistent with
16252         the other LIVE_P macros.
16253         (CHECK_LIVE_PROCESS): New macro.
16254
16255         * process.c: Declare Qprocess_live_p.
16256         (Fprocess_live_p): New function.
16257         (create_process): Use PROCESS_LIVE_P.
16258         (read_process_output): Ditto.
16259         (set_process_filter): Ditto.
16260         (Fdelete_process): Ditto.
16261         (kill_buffer_processes): Ditto
16262         (process_send_signal): Use CHECK_LIVE_PROCESS.
16263         (Fprocess_input_coding_system): Check whether process is still
16264         alive (fix PR#1061).
16265         (Fprocess_output_coding_system): Ditto.
16266         (Fprocess_coding_system): Ditto.
16267         (Fset_process_input_coding_system): Ditto.
16268         (Fset_process_output_coding_system): Ditto.
16269
16270 2000-01-23  Andy Piper  <andy@xemacs.org>
16271
16272         * glyphs.h (struct Lisp_Image_Instance): change format by unifying
16273         layout and widget.
16274
16275         * glyphs.c (mark_image_instance): take into account changed
16276         image_instance format.
16277         (image_instance_equal): ditto.
16278         (image_instance_hash): ditto.
16279
16280         * glyphs-widget.c (widget_instantiate): Incorporate layout
16281         instantiation here. Delay layout of the layout until later.
16282         (layout_instantiate): deleted.
16283         (layout_query_geometry): new function. get the geometry of a
16284         layout.
16285         (layout_layout): layout a layout dynamically.
16286         (image_instantiator_widget): New function - splitting up
16287         image_instantiator_format_create_glyphs_widget for netwinder
16288         compilation.
16289         (image_instantiator_buttons):
16290         (image_instantiator_edit_fields):
16291         (image_instantiator_combo_box):
16292         (image_instantiator_scrollbar):
16293         (image_instantiator_progress_guage):
16294         (image_instantiator_tree_view):
16295         (image_instantiator_tab_control):
16296         (image_instantiator_labels):
16297         (image_instantiator_layout): ditto.
16298         (image_instantiator_format_create_glyphs_widget): Call preceding
16299         functions.
16300
16301 2000-01-22  Martin Buchholz  <martin@xemacs.org>
16302
16303         * process.c (Fset_process_coding_system):
16304         * device-x.c (Fx_keysym_hash_table):
16305         Docstring fixes.
16306
16307         * lstream.c (Lstream_write): Return documented value, not 0.
16308
16309         * fileio.c (directory_file_name):
16310         (Fsubstitute_in_file_name):
16311         (Fsubstitute_insert_file_contents_internal):
16312         (Fwrite_region_internal):
16313         * emacs.c:
16314         * sysdep.c:
16315         * getloadavg.c:
16316         * systty.h:
16317         Remove vestigial APOLLO-conditional code.
16318
16319 2000-01-21  Martin Buchholz  <martin@xemacs.org>
16320
16321         * getpagesize.h: Add guard macros.
16322         * libsst.h: Add guard macros.
16323         * libst.h: Add guard macros.
16324         * line-number.h: Add guard macros.
16325         * ndir.h: Add guard macros.
16326         * sysfloat.h: Add guard macros.
16327         * sysfile.h: Add guard macros.
16328         * sysproc.h: Add guard macros.
16329         * syswait.h: Add guard macros.
16330         * xintrinsic.h: Add guard macros.
16331         * xintrinsicp.h: Add guard macros.
16332         * xmmanager.h: Add guard macros.
16333         * xmmanagerp.h: Add guard macros.
16334         * xmprimitive.h: Add guard macros.
16335         * xmu.h: Add guard macros.
16336         * gpmevent.h: Add copyright statement. Add guard macros.
16337         * miscplay.h: Add guard macros.
16338         * *.h: Use consistent C-standards-approved guard macro names.
16339
16340         * opaque.c (make_opaque): Switch parameter order.
16341         * opaque.h (make_opaque): Switch parameter order.
16342         Update all callers.
16343         * buffer.h (MAKE_MIRROR_TRT_TABLE): Use symbolic constant OPAQUE_CLEAR.
16344
16345         * config.h.in (type_checking_assert): Added.
16346         (bufpos_checking_assert): Added.
16347
16348 2000-01-21  Martin Buchholz  <martin@xemacs.org>
16349
16350         * alloc.c: Harmless pdump changes.
16351         - Use countof().
16352         - spell alignment correctly.
16353         * sysdep.c: Use countof()
16354
16355 2000-01-20  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16356
16357         * console.c (create_console): Use CONMETH_OR_GIVEN when calling
16358         initially_selected_for_input() console method, default to 0.
16359         (semi_canonicalize_console_connection): Try to delegate to
16360         canonicalize_console_connection if no such console method.
16361         (canonicalize_console_connection): Vice versa.
16362         (print_console): Do not print nil connection.
16363
16364         * console.h (XDEVIMPF_IS_A_PRINTER): Added.
16365         (XDEVIMPF_NO_AUTO_REDISPLAY): Added.
16366         (XDEVIMPF_FRAMELESS_OK): Added.
16367         (CONSOLE_INHERITS_METHOD): Added.
16368
16369         * console-msw.c (mswindows_canonicalize_console_connection):
16370         Added.
16371         (mswindows_canonicalize_device_connection): Added.
16372
16373         * console-msw.h (struct msprinter_device): Added this struct and
16374         accessor macros.
16375         (mswindows_device): Made fontlist a lisp object.
16376
16377         * device.c (semi_canonicalize_device_connection):  Try to delegate
16378         to canonicalize_device_connection if no such console method.
16379         (canonicalize_device_connection): Vice versa.
16380         (print_device): Do not print nil connection.
16381
16382         * device-msw.c (mswindows_init_device): Call InitCommonControls
16383         when have widgets.
16384         (mswindows_delete_device): Removed fontlist deallocation.
16385         (mswindows_mark_device): Added.
16386
16387         * events.c (event_equal): Added abort() at unreached code.
16388         (event_hash): Ditto.
16389
16390         * faces.c (complex_vars_of_faces): Added Qmsprinter to the list of
16391         fallback tags of Windows devices.
16392
16393         * general.c (syms_of_general): Initialized Qmsprinter.
16394
16395         * gutter.c (complex_vars_of_gutters): Added Qmsprinter to the list
16396         of fallback tags of Windows devices.
16397
16398         * lisp.h: Declared Qmsprinter.
16399
16400         * objects-msw.c (font_enum_callback_2): Rewrote to build lisp list
16401         of strings.
16402         (mswindows_list_fonts): Ditto.
16403         (mswindows_enumerate_fonts): Removed dependency on XDEVICE, so
16404         that it can be used by both mswindows and msprinter devices.
16405         (initialize_font_instance): Added.
16406         (mswindows_initialize_font_instance): Use it.
16407         (msprinter_initialize_font_instance): Added.
16408
16409         * redisplay.c (redisplay_device): Added the parameter AUTOMATIC
16410         and implementation flags check.
16411         (redisplay_without_hooks): Changed the call to the above.
16412         (Fredraw_device): Ditto.
16413         (Fredisplay_device): Ditto.
16414
16415         * redisplay-msw.c (get_frame_dc): Implemented.
16416         (get_frame_compdc): Implemented.
16417         (many functions): Use the two functions above to get device
16418         contexts, ether for a window or a printer.
16419
16420 2000-01-21  Olivier Galibert  <galibert@pobox.com>
16421
16422         * symbols.c (reinit_symbols_once_early): Put Qzero/Qnull_pointer
16423         initialization here.
16424         (init_symbols_once_early): Call it.
16425         * emacs.c (main_1): Call it.
16426         * symsinit.h: Declare it.
16427
16428 2000-01-19  Olivier Galibert  <galibert@pobox.com>
16429
16430         * alloc.c: Use a lrecord_header * in the backtrace instead of a
16431         Lisp_Object.
16432         (pdump_backtrace): Ditto.
16433         (pdump_register_object): Ditto.  Cleanup use of the pointers.
16434         (pdump_get_entry): Abort if trying to register a null pointer.
16435         (pdump_dump_data): Cleanup types when relocating.
16436         (pdump_dump_staticvec): Cleanup types w.r.t the reloc table.
16437         (pdump_dump_rtables): Remove bad casts.
16438         (pdump_load): Cleanup relocation w.r.t union type.  Use a
16439         Lisp_Object instead of a EMACS_INT for the hashtable
16440         reorganization.
16441
16442 2000-01-20  Martin Buchholz  <martin@xemacs.org>
16443
16444         * emacs.c (main_1): Rearrange morass of #ifdef's for correctness.
16445
16446         * callproc.c (call_process_cleanup): Isolate WINDOWSNT code for clarity.
16447
16448         * EmacsManager.c (GeometryManager): Avoid use of CPP for clarity.
16449
16450         * *.[ch]: global-replace 's/_of_xselect/_of_select_x/g' *.[ch]
16451
16452 2000-01-17  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16453
16454         * faces.h (FACE_STRIKETHRU_P): Added.
16455
16456         * glyphs-msw.c (mswindows_widget_hfont): Implemented, to take care
16457         of font variants.
16458
16459         * redisplay-msw.c (mswindows_apply_face_effects): Deleted.
16460         (mswindows_set_dc_font): New function, aware of font variants,
16461         separated from mswindows_update_dc.
16462
16463         * objects-msw.h (struct mswindows_font_instance_data): Added
16464         definition.
16465
16466         * objects-msw.c (mswindows_finalize_font_instance): Delete all
16467         cached fonts and the data structure.
16468         (mswindows_initialize_font_instance): Added creation of font data
16469         structure.
16470         (mswindows_print_font_instance): Print at least something.
16471         (mswindows_create_font_variant): Implemented.
16472         (mswindows_get_hfont): Implemented.
16473
16474 2000-01-13  Fabrice Popineau  <Fabrice.Popineau@supelec.fr>
16475
16476         * dired-msw.c: permute "sysdir.h" with "sysfile.h" because of
16477         prototyping problem with msvc.
16478
16479         * emacs.c (main_1): added syms_of_gui_mswindows() call
16480
16481         * gui-msw.c: added "mswindows-shell-execute" lisp subr and
16482         syms_of_gui_mswindows() function
16483
16484         * symsinit.h: added the prototype for syms_of_gui_mswindows()
16485
16486 2000-01-18  Martin Buchholz <martin@xemacs.org>
16487
16488         * XEmacs 21.2.27 is released.
16489
16490 2000-01-18  Martin Buchholz  <martin@xemacs.org>
16491
16492         * glyphs-eimage.c (struct tiff_error_struct):
16493         (tiff_error_func):
16494         (tiff_warning_func):
16495         #if HAVE_VSNPRINTF ==> #ifdef HAVE_VSNPRINTF
16496
16497         * unexmips.c:
16498         * unexhp9k3.c:
16499         * unexfreebsd.c:
16500         * unexec.c: Remove vestigial Lucid C code.
16501         * unexalpha.c:
16502         * unexaix.c:
16503         * termcap.c:
16504         * libsst.c: Ansify.
16505         Remove declarations of errno and strerror().
16506
16507         * eval.c (Fbacktrace): Small Purify-cation.  Fix docstring.
16508
16509         * .dbxrc (run-temacs): Use the horrible ${1+"$@"} instead of "$@".
16510
16511 2000-01-16  Martin Buchholz  <martin@xemacs.org>
16512
16513         * mule-charset.c (Fchar_octet): Resurrect from earlier in 1999.
16514         Optimize.
16515
16516 2000-01-14  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16517
16518         * md5.c:
16519         * file-coding.c:
16520         * file-coding.h:
16521         Change enum eol_type to eol_type_t.
16522
16523 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16524
16525         * gui.c (get_gui_callback): Check cons before accessing car.
16526
16527 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16528
16529         * specifier.h (XSPECIFIER_TYPE): Add error checking version.
16530         (XSETSPECIFIER_TYPE): Ditto.
16531
16532 2000-01-17  Didier Verna  <didier@xemacs.org>
16533
16534         * redisplay.c (generate_fstring_runes): compute string size in
16535         characters, not bytes.
16536
16537 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
16538
16539         * window.c (Fwindow_minibuffer_p): Make WINDOW optional.
16540
16541 2000-01-14  Hrvoje Niksic  <hniksic@iskon.hr>
16542
16543         * print.c (print_error_message): Call print_prepare().
16544
16545 2000-01-14  Martin Buchholz  <martin@xemacs.org>
16546
16547         * .dbxrc: Renamed from dbxrc.
16548
16549         * events.c (event_to_character):
16550         Use `assert (foo)' instead of `if (!foo) abort()'
16551
16552         * .gdbinit (xtype): Add documentation.
16553         * .gdbinit (check-temacs): New function.
16554         * .gdbinit (check-xemacs): New function.
16555         * dbxrc (check-xemacs): New function.
16556         * dbxrc (check-xemacs): New function.
16557
16558 2000-01-14  Andy Piper  <andy@xemacs.org>
16559
16560         * glyphs-widget.c (widget_query_geometry): Make sure that we
16561         calculate default dimensions correctly.
16562
16563 2000-01-13  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16564
16565         * symsinit.h: Added prototype for reinit_vars_of_frame_mswindows.
16566
16567         * event-msw.c (vars_of_event_mswindows): Fixed a mistyped
16568         pdump_wire'd variable.
16569
16570         * emacs.c: (main_1): Conditionalized calls to
16571         reinit_vars_of_scrollbar_x and reinit_vars_of_module.
16572
16573 2000-01-13  Martin Buchholz  <martin@xemacs.org>
16574
16575         * window.c (Fset_window_configuration):
16576         * sysdep.c (_start):
16577         * input-method-motif.c (res):
16578         * event-Xt.c (Xt_process_to_emacs_event):
16579         Simple compiler warning fixes.
16580
16581         * bytecode.c (funcall_compiled_function): Use the original
16582         function symbol on the backtrace list in preference to the
16583         compiled_function object in error messages.
16584
16585 2000-01-13  Andy Piper  <andy@xemacs.org>
16586
16587         * glyphs-x.c (update_widget_face): Make sure we update the widget
16588         background as well as foreground.
16589
16590 2000-01-13  Andy Piper  <andy@xemacs.org>
16591
16592         * glyphs.h (struct Lisp_Image_Instance): Move justify and orient
16593         fields to subwindow.
16594         (IMAGE_INSTANCE_SUBWINDOW_JUSTIFY): new macro.
16595         (XIMAGE_INSTANCE_SUBWINDOW_JUSTIFY): ditto.
16596         (IMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
16597         (XIMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
16598
16599         * glyphs-widget.c (check_valid_tab_orientation): new function.
16600         (initialize_widget_image_instance): zero orientation and
16601         justification.
16602         (widget_instantiate): pick up orientation.
16603         (tab_control_query_geometry): return appropriate values for
16604         vertical tabs.
16605
16606         * glyphs-msw.c: (mswindows_tab_control_instantiate): assign
16607         appropriate creation flags for left, right and bottom tabs.
16608
16609         * s/cygwin32.h: add tab definitions.
16610
16611 2000-01-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16612
16613         * glyphs-msw.c (mswindows_unmap_subwindow): Set focus back to the
16614         frame upon hiding a subwindow.
16615         (mswindows_button_instantiate): Changed the push button style to
16616         BS_PUSHBUTTON.
16617         (mswindows_button_instantiate): Removed button BS_NOTIFY
16618         style.
16619         (mswindows_button_instantiate): Removed redundant check for
16620         a disabled gui item.
16621         (mswindows_button_instantiate): Made use of WS_TABSTOP
16622         consistent: "operable" controls (edit, button, tree, scroll) have
16623         this style, "display-only" ones (static, progress gauge) do
16624         not. This style is currently ignored by XEmacs though. Also,
16625         removed the WS_EX_CONTROLPARENT style - it is not for children,
16626         it is for their parents!
16627         (mswindows_edit_field_instantiate): Ditto.
16628         (mswindows_progress_gauge_instantiate): Ditto.
16629         (mswindows_tree_view_instantiate): Ditto.
16630         (mswindows_tab_control_instantiate): Ditto.
16631         (mswindows_scrollbar_instantiate): Ditto.
16632         (mswindows_combo_box_instantiate): Ditto.
16633         (mswindows_widget_instantiate): Added the WS_EX_CONTROLPARENT
16634         style to the "clip" window.
16635         (mswindows_button_instantiate): Removed compilation warning by
16636         equally typing terms of the ?: operator.
16637
16638 2000-01-12  Didier Verna  <didier@xemacs.org>
16639
16640         * redisplay.c (generate_fstring_runes): new parameter holding the
16641         last modeline-format extent.
16642         (add_glyph_to_fstring_db_runes): new parameter holding the glyph
16643         extent, fill the glyph block with it.
16644         (generate_fstring_runes): handle these parameters.
16645         (generate_formatted_string_db): ditto.
16646
16647         * keymap.c (get_relevant_keymaps): retreive the keymaps from the
16648         glyphs'extents in the modeline.
16649
16650 1999-01-11  Mike Woolley  <mike@bulsara.com>
16651
16652         * ntheap.c: Reduced the reserved heap space from 1Gb down to
16653         256Mb, as a workaround for the non-starting problem many people
16654         have experienced.
16655
16656 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16657
16658         * console-tty.c (Fset_console_tty_output_coding_system):
16659         Force redrawing tty frame.
16660
16661 2000-01-10  Didier Verna  <didier@xemacs.org>
16662
16663         * redisplay.c (generate_fstring_runes): fix size computation bug.
16664
16665 2000-01-09  William M. Perry <wmperry@aventail.com>
16666
16667         * gpmevent.c: (gpm_next_event_cb): Don't return value from void function.
16668
16669 2000-01-09  Andy Piper  <andy@xemacs.org>
16670
16671         * glyphs-msw.c: index -> i to avoid shadows.
16672         (xbm_create_bitmap_from_data): make static.
16673         (check_valid_string_or_int): deleted.
16674         (mswindows_control_wnd_proc): message -> msg to avoid shadows.
16675
16676         * glyphs-x.c (x_update_subwindow): remove unused args.
16677
16678         * glyphs.c (glyph_image_instance): return the thing. Don't set the
16679         back pointer - this is done in allocate_image_instance.
16680         (query_string_font): return Qnil to make the compiler happy.
16681         (unmap_subwindow): set to ~0 to make the compiler happy.
16682         (glyph_query_geometry): comment out until used.
16683         (glyph_layout): ditto.
16684
16685 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
16686
16687         * insdel.c (signal_after_change): Remove extraneous unbind_to().