update.
[chise/xemacs-chise.git.1] / src / ChangeLog
1 2005-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2
3         * chartab.c (Qmap_decomposition): New variable.
4         (Fput_char_attribute): Convert `->decomposition' to
5         `=decomposition'.
6         (syms_of_chartab): Add new symbol `=decomposition'.
7
8 2005-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
9
10         * chartab.c (Fget_range_char_table): Fix serious problem when
11         `range' is nil.
12
13 2005-06-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
14
15         * chartab.c (char_table_get_db): Use `read_from_c_string'.
16
17 2005-06-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
18
19         * lread.c (read_from_c_string): New function.
20
21         * lisp.h (read_from_c_string): New prototype.
22
23 2005-05-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
24
25         * chartab.c (Fput_char_attribute): Convert char-specs in value of
26         `{<-|->}Oracle-Bones[^*]*' to characters and put reverse links.
27         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
28         for `{<-|->}Oracle-Bones[^*]*'.
29
30 2005-05-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
31
32         * mule.c (vars_of_mule): Update `xemacs-chise-version' to 0.22
33         (Kizu).
34
35 2005-02-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
36
37         * text-coding.c (Qccs_priority_list): New variable in XEmacs
38         CHISE.
39         (Fmake_coding_system): Support new property `ccs-priority-list' in
40         XEmacs CHISE.
41         (Fcoding_system_property): Likewise.
42         (char_encode_iso2022): Prefer CODING_SYSTEM_CCS_PRIORITY_LIST than
43         Vdefault_coded_charset_priority_list in XEmacs CHISE.
44         (syms_of_file_coding): Add builtin symbol `ccs-priority-list' in
45         XEmacs CHISE.
46         (complex_vars_of_file_coding): Define new coding-system-property
47         `ccs-priority-list' in XEmacs CHISE.
48
49         * file-coding.h (XCODING_SYSTEM_CCS_PRIORITY_LIST): New macro.
50
51 2004-12-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
52
53         * char-ucs.h (decoding_table_put_char): Moved to mule-charset.c;
54         changed to normal function.
55         (encode_char_2): Likewise.
56
57         * mule-charset.c (decoding_table_put_char): Copied from
58         char-ucs.h; changed to normal function.
59         (encode_char_2): Likewise.
60
61 2004-12-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
62
63         * char-ucs.h (Vdisplay_coded_charset_priority_use_inheritance):
64         New extern.
65         (Vdisplay_coded_charset_priority_use_hierarchy_order): Likewise.
66         (encode_char_2_search_children): New inline function.
67         (encode_char_2): Refer
68         `Vdisplay_coded_charset_priority_use_{inheritance|hierarchy_order}'
69         and use `encode_char_2_search_children'.
70
71 2004-12-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
72
73         * mule-charset.c
74         (Vdisplay_coded_charset_priority_use_inheritance): New variable.
75         (Vdisplay_coded_charset_priority_use_hierarchy_order): Likewise.
76         (vars_of_mule_charset): Add new variable
77         `display-coded-charset-priority-use-inheritance' and
78         `display-coded-charset-priority-use-hierarchy-order'.
79
80 2004-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
81
82         * char-ucs.h (Q_subsumptive): New extern.
83         (Q_denotational): Likewise.
84         (encode_char_2): Search children specified by `->subsumptive' and
85         `->denotational'.
86
87 2004-11-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
88
89         * mule-charset.c (complex_vars_of_mule_charset): Modify the
90         X-registry of `ucs-bmp'.
91
92 2004-10-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
93
94         * chartab.c (char-variants): Refer `->subsumptive',
95         `->denotational' and `->identical' as same as `->ucs-unified'.
96
97 2004-10-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
98
99         * chartab.c (Fput_char_attribute): Convert char-specs in value of
100         `{<-|->}{fullwidth|halfwidth}[^*]*' to characters and put reverse
101         links.
102
103 2004-09-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
104
105         * text-coding.c: Add EXFUN for `Fregexp_quote'.
106         (decode_add_er_char): Fix problem about infinite loop when a CCS
107         specified in `coded-charset-entity-reference-alist' is not
108         existed.
109
110 2004-09-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
111
112         * mule-charset.c (syms_of_mule_charset): Rename
113         `=jis-x0208-{1978|1983|1990}' to `=jis-x0208@{1978|1983|1990}'.
114
115 2004-08-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
116
117         * fns.c (simplify_char_spec): Don't allocate new character-object
118         if specified char_spec does not have any CCS-features.
119
120         * chartab.h: Add EXFUN for Fdefine_char.
121
122         * chartab.c: Delete EXFUN for Fdefine_char.
123
124 2004-08-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
125
126         * fns.c (simplify_char_spec): Use Fdefine_char instead of
127         Ffind_char for char-spec.
128
129 2004-07-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
130
131         * lisp-disunion.h (XCHARVAL): Fix condition about
132         SIZEOF_EMACS_INT.
133
134 2004-07-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
135
136         * mule-charset.c (decode_builtin_char): Use <EMACS_INT> instead of
137         <int> for `code'.
138         (Fdecode_builtin_char): Use <EMACS_INT> instead of <int> for code
139         point; use <Emchar> instead of <int> for character-id.
140
141 2004-07-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
142
143         * lisp-disunion.h (make_int): Cast the argument into <EMACS_INT>.
144         (make_char): Likewise.
145         (XCHARVAL): Don't use the inline function for UTF-2000 in 64 bit
146         environment.
147         (XCHARVAL[for UTF-2000 in 32 bit environment]): Use <Emchar>
148         instead of <int> as the type of return value; use <Lisp_Object>
149         instead of <Emchar> as the type of argument.
150         (XCHARVAL[macro version]): Cast the result into <Emchar>.
151
152         * syntax.h (SYNTAX_CODE_UNSAFE): Use <Lisp_Object> and <enum
153         syntaxcode> instead of <int>.
154
155 2004-07-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
156
157         * chartab.c (put_char_composition): Use DECODE_CHAR to get
158         character corresponding with UCS code point.
159         (Fput_char_attribute): Likewise.
160
161         * mule-charset.c (put_char_ccs_code_point): Don't omit a UCS
162         character in the UCS decoding-table if the char-id is not equal to
163         the UCS code point.
164
165 2004-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
166
167         * mule-charset.c (Fsave_charset_properties): Use `true-name' only
168         for aliases; write `description'; write
169         `mother-code-{min|max|offset|conversion}' if CHARSET_MAX_CODE is
170         not 0.
171
172 2004-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
173
174         * chartab.c (Fsave_char_attribute_table): Don't use
175         `save_charset_properties'.
176
177         * mule-charset.c (Fsave_charset_properties): Renamed from
178         `save_charset_properties' and changed to Lisp function again;
179         write property `type' as `CCS'; write properties `final-byte' and
180         `mother' if they exists.
181         (syms_of_mule_charset): Revive builtin function
182         `save-charset-properties' when HAVE_LIBCHISE is defined.
183
184 2004-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
185
186         * chartab.c (open_chise_data_source_maybe): Use Vdata_directory
187         instead of Vexec_directory.
188         (char_attribute_system_db_file): Likewise.
189
190 2004-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
191
192         * chartab.c (Fsave_char_attribute_table): Use
193         `save_charset_properties' for CCS features when HAVE_LIBCHISE is
194         defined.
195
196         * mule-charset.c (save_charset_properties): Renamed from
197         `Fsave_charset_properties'; changed to non-Lisp function.
198         (syms_of_mule_charset): Abolish builtin function
199         `save-charset-properties'.
200
201 2004-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
202
203         * mule-charset.c (Fsave_charset_properties): New function when
204         HAVE_LIBCHISE is defined.
205         (syms_of_mule_charset): Add new builtin function
206         `save-charset-properties' when HAVE_LIBCHISE is defined.
207
208 2004-06-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
209
210         * chartab.c (Fput_char_attribute): Convert char-specs in value of
211         `{<-|->}ancient[^*]*' to characters and put reverse links.
212         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
213         for `{<-|->}ancient[^*]*'.
214
215 2004-06-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
216
217         * chartab.c (Fput_char_attribute): Convert char-specs in value of
218         `{<-|->}original[^*]*' to characters and put reverse links.
219         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
220         for `{<-|->}original[^*]*'.
221
222 2004-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
223
224         * mule-canna.c (m2c): Fix problem with XEmacs CHISE.
225
226 2004-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
227
228         * mule-charset.c (Qsystem_char_id): New variable.
229
230         * chartab.c (Qsystem_char_id): Deleted even if HAVE_CHISE is
231         defined and HAVE_LIBCHISE_LIBCHISE is not defined.
232
233 2004-05-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
234
235         * chartab.c (Fput_char_attribute): When processing a reference of
236         a character, put into the end of the reversed reference of each
237         target character.
238
239 2004-05-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
240
241         * chartab.c (Q_same): Deleted.
242         (Q_same_of): Deleted.
243         (Fput_char_attribute): Use Fstring_match to find `{<-|->}same'.
244         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
245         for `{<-|->}same'.
246         (syms_of_chartab): Delete builtin symbol `{<-|->}same'.
247
248 2004-05-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
249
250         * chartab.c (Q_vulgar): Deleted.
251         (Q_vulgar_of): Deleted.
252         (Fput_char_attribute): Use Fstring_match to find `{<-|->}vulgar'.
253         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
254         for `{<-|->}vulgar'.
255         (syms_of_chartab): Don't define `{<-|->}vulgar'.
256
257 2004-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
258
259         * chartab.c (Fput_char_attribute): Convert char-specs in value of
260         `{<-|->}wrong[^*]*' to characters and put reverse links.
261         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
262         for `{<-|->}wrong[^*]*'.
263
264 2004-04-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
265
266         * chartab.c (Q_vulgar): New variable.
267         (Q_vulgar_of): New variable.
268         (Fput_char_attribute): Convert char-specs in value of
269         `{->|<-}vulgar' to characters and put reverse links.
270         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
271         for `{->|<-}vulgar'.
272         (syms_of_chartab): Add new symbols `{->|<-}vulgar'.
273
274 2004-04-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
275
276         * text-coding.c (decode_add_er_char): Must to quote prefix string
277         as regexp.
278
279 2004-04-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
280
281         * mule-charset.c (put_char_ccs_code_point): Store characters of
282         =ucs whose code_points >= 0xF0000.
283
284 2004-04-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
285
286         * mule-charset.c (Vcharset_system_char_id): New variable in XEmacs
287         CHISE.
288         (syms_of_mule_charset): Add new symbol `system-char-id' in XEmacs
289         CHISE.
290         (complex_vars_of_mule_charset): Add new coded-charset
291         `system-char-id' in XEmacs CHISE; modify `=ucs' to eliminate
292         builtin characters over 0xEFFFF.
293
294         * chartab.c (syms_of_chartab): Don't define symbol
295         `system-char-id' in every case.
296
297         * char-ucs.h (Qsystem_char_id): New extern variable.
298         (LEADING_BYTE_SYSTEM_CHAR_ID): New macro.
299
300 2004-04-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
301
302         * text-coding.c (char_encode_utf8): Try to use entity-references
303         for U-000F0000 ...  U-0010FFFF.
304
305 2004-04-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
306
307         * text-coding.c (ER_BUF_SIZE): New macro.
308         (struct decoding_stream): Use `ER_BUF_SIZE' to specify size of
309         `er_buf'.
310         (decode_add_er_char): Use `ER_BUF_SIZE' instead of 16.
311         (char_encode_as_entity_reference): Use `ER_BUF_SIZE'.
312
313 2004-03-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
314
315         * chartab.c (find_char_feature_in_family): New function.
316         (Fchar_feature): Use `find_char_feature_in_family' with
317         `->identical', `<-subsumptive' and `<-denotational'.
318
319 2004-03-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
320
321         * text-coding.c (char_encode_as_entity_reference): Allow prefix
322         within 8 characters; fix infinite loop.
323
324 2004-03-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
325
326         * chartab.c (Q_same): New variable.
327         (Q_same_of): New variable.
328         (Fput_char_attribute): Convert char-specs in value of
329         `{->|<-}same' to characters and put reverse links.
330         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
331         for `{->|<-}same'.
332         (syms_of_chartab): Add new symbols `{->|<-}same'.
333
334 2004-03-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
335
336         * chartab.c (Q_component): New variable.
337         (Q_component_of): Likewise.
338         (Fput_char_attribute): Convert char-specs in value of
339         `{->|<-}ideographic-component-forms' to characters and put reverse
340         links.
341         (syms_of_chartab): Add new symbols
342         `{->|<-}ideographic-component-forms'.
343
344 2004-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
345
346         * chartab.c (Q_identical): New variable.
347         (Q_identical_from): New variable.
348         (Fchar_feature): Regard `->identical' as a feature to find
349         ancestors.
350         (Fput_char_attribute): Add reversed link for `{->|<-}identical'.
351         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
352         for `{->|<-}identical'.
353         (syms_of_chartab): Add new symbols `{->|<-}identical'.
354
355 2004-02-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
356
357         * char-ucs.h (encode_char_2): New inline function.
358         (CHAR_TO_CHARC): Use `encode_char_2' instead of `encode_char_1'.
359
360 2004-02-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
361
362         * chartab.c (Fput_char_attribute): Convert char-specs to
363         characters in value of `ideographic-structure'.
364         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
365         for `{<-|->}simplified(@...)'.
366         (Fdefine_char): Try to use predefined character's id.
367
368 2004-02-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
369
370         * fns.c (simplify_char_spec): Try to convert builtin chars to
371         defined chars.
372
373 2004-02-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
374
375         * chartab.c (Fput_char_attribute): Convert char-specs in value of
376         `<-simplified[^*]*' to characters and put reverse links.
377
378 2004-02-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
379
380         * chartab.c (Q_subsumptive): Renamed from Q_unified.
381         (Q_subsumptive_from): Renamed from Q_unified_from.
382         (Fchar_feature): Use `Q_subsumptive_from' instead of
383         `Q_unified_from'.
384         (Fput_char_attribute): Likewise; Use `Q_subsumptive' instead of
385         `Q_unified'.
386         (syms_of_chartab): Rename `->unified' to `->subsumptive' and
387         `<-unified' to `<-subsumptive'.
388
389 2004-02-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
390
391         * chartab.c (Fchar_feature): Check `<-denotational' to avoid
392         inheritance itself; fix typo; stop recursive search if cyclic
393         inheritance is found.
394
395 2004-02-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
396
397         * chartab.c (Q_denotational): New variable.
398         (Q_denotational_from): New variable.
399         (Fchar_feature): Refer `<-denotational' as same as `<-unified'.
400         (put_char_attribute): New function.
401         (Fput_char_attribute): Use `put_char_attribute'; regard
402         `->denotational' and `<-denotational' as same as `->unified' and
403         `<-unified'.
404         (syms_of_chartab): Add new symbols `->denotational' and
405         `<-denotational'.
406
407 2004-02-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
408
409         * chartab.c (Fget_composite_char): Use `Fchar_feature' instead of
410         `Fget_char_attribute'.
411         (Fchar_variants): Likewise.
412         (get_char_table): Likewise.
413         (Fchar_feature): New function.
414         (put_char_composition): Use `Fchar_feature' instead of
415         `Fget_char_attribute'.
416         (Fput_char_attribute): Likewise; don't put the target character
417         into its `->unified' value.
418         (syms_of_chartab): Add new builtin function `char-feature'.
419
420 2004-01-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
421
422         * text-coding.c (COMPOSE_ADD_CHAR): Use `Fchar_feature' instead of
423         `Fget_char_attribute'.
424         (char_encode_utf8): Likewise.
425
426         * chartab.h: Add an EXFUN for `Fchar_feature'.
427
428 2004-01-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
429
430         * chartab.c (Vnext_defined_char_id): New variable.
431         (Fput_char_attribute): Accept characters in `->unified'.
432         (Fdefine_char): Refer and update Vnext_defined_char_id to allocate
433         new characters which are not related with builtin char-id ranges.
434         (vars_of_chartab): Add new variable `next-defined-char-id'.
435
436 2004-01-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
437
438         * chartab.c (Q_unified): New variable.
439         (Q_unified_from): New variable.
440         (Fput_char_attribute): Add code for `->unified'.
441         (syms_of_chartab): Add new symbols `->unified' and `<-unified' in
442         XEmacs CHISE.
443
444 2003-11-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
445
446         * mule-charset.c (decode_ccs_conversion): New function.
447         (decode_defined_char): Use `decode_ccs_conversion'.
448         (decode_builtin_char): Likewise.
449
450 2003-11-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
451
452         * char-ucs.h: Change some charset-ids of private coded-charsets.
453
454 2003-11-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
455
456         * text-coding.c (decode_add_er_char): Modify for `DECODE_CHAR'.
457         (char_encode_as_entity_reference): Likewise.
458         (decode_coding_big5): Modify for `decode_defined_char' and
459         `DECODE_CHAR'.
460         (decode_coding_utf8): Modify for `decode_defined_char'; modify to
461         avoid compiler warning.
462         (decode_coding_iso2022): Modify for `DECODE_CHAR'.
463
464         * mule-charset.c (decode_defined_char): Add new argument
465         `without_inheritance'.
466         (Fdecode_char): Add new optional argument `without_inheritance'.
467         (Fdecode_builtin_char): Modify for `Fdecode_char'.
468
469         * fns.c (ids_format_unit): Modify for `Fdecode_char'.
470         (simplify_char_spec): Likewise.
471
472         * chartab.h (Fdecode_char): Modify number of arguments of EXFUN
473         setting.
474
475         * chartab.c (put_char_table): Modify for `DECODE_CHAR'.
476         (map_char_table): Likewise.
477         (Fdefine_char): Use `Fdecode_char' without inheritance.
478         (Ffind_char): Modify for `Fdecode_char'.
479
480         * character.h (CHARC_TO_CHAR): Modify for `DECODE_CHAR'.
481
482         * char-ucs.h (decode_defined_char): Add new argument
483         `without_inheritance'.
484         (DECODE_CHAR): Likewise.
485         (MAKE_CHAR): Modify for `DECODE_CHAR'.
486
487 2003-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
488
489         * chartab.c (Vchise_system_db_directory): New variable.
490         (vars_of_chartab): Add new variable `chise-system-db-directory'.
491
492 2003-10-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
493
494         * chartab.c: EXFUN `Fmount_char_attribute_table'.
495         (print_chartab_range): Don't define when `UTF2000' is defined.
496         (open_chise_data_source_maybe): Specify 0 instead of DB_HASH for
497         `CHISE_DS_open'.
498
499 2003-10-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
500
501         * chartab.c (Fchar_attribute_list): When HAVE_LIBCHISE is defined
502         and optional argument `rehash' is specified, call
503         `open_chise_data_source_maybe' before
504         `chise_ds_foreach_char_feature_name' is called.
505
506 2003-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
507
508         * chartab.c (char_attribute_list_reset_map_func): New function
509         when HAVE_LIBCHISE is defined.
510         (Fchar_attribute_list): Add new optional argument `rehash' when
511         HAVE_LIBCHISE is defined.
512         (open_chise_data_source_maybe): Use "chise-db" instead of
513         "char-db".
514         (char_attribute_system_db_file): Likewise.
515         (Fload_char_attribute_table): Use
516         `chise_feature_foreach_char_with_value' instead of
517         `chise_char_feature_value_iterate'.
518
519 2003-10-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
520
521         * chartab.c (Vchise_db_directory): New variable.
522         (vars_of_chartab): Add new built-in variable `chise-db-directory'.
523
524 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
525
526         * mule-charset.c (Freset_charset_mapping_table): Use HAVE_LIBCHISE
527         instead of HAVE_CHISE to specify using with libchise.
528
529         * config.h.in (HAVE_CHISE_CLIENT): Deleted.
530
531         * chartab.h: Don't use HAVE_CHISE_CLIENT.
532
533         * chartab.c (Qsystem_char_id): Don't define when HAVE_CHISE is not
534         defined or HAVE_LIBCHISE_LIBCHISE is defined.
535         (char_attribute_system_db_file): Don't define when HAVE_LIBCHISE
536         is defined.
537         (Freset_char_attribute_table): Use HAVE_LIBCHISE instead of
538         HAVE_CHISE to specify using with libchise.
539         (syms_of_chartab): Don't define symbol `system-char-id' when
540         HAVE_CHISE is not defined or HAVE_LIBCHISE_LIBCHISE is defined.
541
542 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
543
544         * mule-charset.c: Use HAVE_CHISE instead of HAVE_CHISE_CLIENT to
545         specify CHISE DB support.
546         (Freset_charset_mapping_table): Use `chise_ccs_setup_db' instead
547         of `char_attribute_system_db_file' to check feature DB file.
548
549         * chartab.h, casetab.c, char-ucs.h: Use HAVE_CHISE instead of
550         HAVE_CHISE_CLIENT to specify CHISE DB support.
551
552         * chartab.c: Use HAVE_CHISE instead of HAVE_CHISE_CLIENT to
553         specify CHISE DB support.
554         (open_chise_data_source_maybe): Don't define when HAVE_LIBCHISE is
555         not defined.
556         (Freset_char_attribute_table): Use `chise_feature_setup_db'
557         instead of `char_attribute_system_db_file' to check feature DB
558         file.
559
560 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
561
562         * mule.c (vars_of_mule): Use `HAVE_CHISE' instead of `CHISE' and
563         `HAVE_CHISE_CLIENT'.
564
565 2003-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
566
567         * mule-charset.c: Use HAVE_LIBCHISE instead of CHISE.
568         (Fsave_charset_mapping_table): Don't use
569         `char_attribute_system_db_file' when HAVE_LIBCHISE is defined.
570
571         * config.h.in (HAVE_CHISE): Renamed from `CHISE'.
572         (HAVE_LIBCHISE): New macro.
573
574         * chartab.h: Use HAVE_LIBCHISE instead of CHISE.
575
576         * chartab.c: Use HAVE_LIBCHISE instead of CHISE.
577         (Fsave_char_attribute_table): Don't use
578         `char_attribute_system_db_file' when HAVE_LIBCHISE is defined.
579
580 2003-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
581
582         * chartab.c (save_uint8_byte_table): Use libchise when CHISE is
583         defined.
584         (save_uint16_byte_table): Likewise.
585         (save_byte_table): Likewise.
586         (char_table_get_db): Use `chise_ds_load_char_feature_value'
587         instead of `chise_char_load_feature_value'.
588         (Fsave_char_attribute_table): Use libchise when CHISE is defined.
589
590 2003-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
591
592         * chartab.h (struct Lisp_Char_Table): Delete member
593         `feature_table' if CHISE is defined.
594
595         * chartab.c (Fmake_char_table): Don't refer `ct->feature_table'.
596         (Fcopy_char_table): Likewise.
597         (char_table_open_db_maybe): Likewise.
598         (char_table_close_db_maybe): Likewise.
599         (char_table_get_db): Likewise.
600         (Fmount_char_attribute_table): Likewise.
601         (Fload_char_attribute_table): Likewise.
602
603 2003-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
604
605         * mule-charset.c (load_char_decoding_entry_maybe): Use
606         `chise_ds_decode_char' instead of `chise_ds_get_ccs' and
607         `chise_ccs_decode'.
608
609 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
610
611         * chartab.c (open_chise_data_source_maybe): Use `CHISE_DS_open'
612         instead of `chise_open_data_source'.
613         (Fclose_char_data_source): Use `CHISE_DS_close' instead of
614         `chise_ds_close'.
615
616 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
617
618         * chartab.c (char_table_open_db_maybe): Use `chise_ds_get_feature'
619         instead of `chise_ds_open_feature_table'.
620         (char_table_close_db_maybe): Don't use `chise_ft_close'.
621
622 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
623
624         * mule-charset.c (Fsave_charset_mapping_table): Use
625         `chise_ds_get_ccs' instead of `chise_ds_open_ccs_table'; use
626         `chise_ccs_set_decoded_char' instead of `chise_ccst_put_char'; use
627         `chise_ccs_sync' instead of `chise_ccst_close'.
628         (load_char_decoding_entry_maybe): Modify for `chise_ds_get_ccs'.
629
630         * chartab.c (open_chise_data_source_maybe): Modify for
631         `chise_open_data_source'.
632         (char_table_open_db_maybe): Modify for
633         `chise_ds_open_feature_table'.
634
635 2003-08-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
636
637         * mule-charset.c (load_char_decoding_entry_maybe): Use
638         `chise_ds_get_ccs' instead of `chise_ds_open_ccs_table'; don't use
639         `chise_ccst_close'.
640
641 2003-08-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
642
643         * mule-charset.c (Fsave_charset_mapping_table): Use
644         `chise_ds_open_ccs_table', `chise_ccst_put_char' and
645         `chise_ccst_close' instead of `chise_ds_open_decoding_table',
646         `chise_dt_put_char' and `chise_dt_close'.
647         (load_char_decoding_entry_maybe): Use `chise_ds_open_ccs_table',
648         `chise_ccs_decode' and `chise_ccst_close' instead of
649         `chise_ds_open_decoding_table', `chise_dt_get_char' and
650         `chise_dt_close'.
651
652         * chartab.c (char_table_get_db): Use
653         `chise_char_load_feature_value' instead of `chise_ft_get_value'.
654         (load_char_attribute_table_map_func): Modify for
655         `chise_char_feature_value_iterate'.
656         (Fload_char_attribute_table): Use
657         `chise_char_feature_value_iterate' instead of `chise_ft_iterate'.
658
659 2003-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
660
661         * text-coding.c (COMPOSE_ADD_CHAR): Fixed.
662
663 2003-08-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
664
665         * chartab.c (put_char_table): Modify for inherited coded-charsets
666         in XEmacs CHISE.
667
668 2003-08-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
669
670         * chartab.c (Fput_char_table_map_function): Fixed.
671         (word_boundary_p): Don't check charset in XEmacs CHISE.
672
673 2003-08-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
674
675         * mule-charset.c (Fsave_charset_mapping_table): Use
676         `open_chise_data_source_maybe'; use `chise_ds_open_decoding_table'
677         instead of `chise_open_decoding_table'; refer
678         `default_chise_data_source'; use `chise_dt_close' instead of
679         `chise_close_decoding_table'.
680         (load_char_decoding_entry_maybe): Likewise.
681
682         * chartab.c (default_chise_data_source): New variable when `CHISE'
683         is defined.
684         (Fcopy_char_table): `ct->ds' is deleted.
685         (open_chise_data_source_maybe): New function.
686         (Fclose_char_data_source): New function.
687         (char_table_open_db_maybe): Use `open_chise_data_source_maybe';
688         use `chise_ds_open_feature_table' instead of
689         `chise_open_feature_table'.
690         (char_table_close_db_maybe): Use `chise_ft_close' instead of
691         `chise_close_feature_table'; `cit->ds' is deleted.
692         (syms_of_chartab): Add new builtin function
693         `close-char-data-source' when `HAVE_CHISE_CLIENT' is defined.
694
695         * chartab.h (default_chise_data_source): New extern variable.
696         (open_chise_data_source_maybe): New prototype.
697         (struct Lisp_Char_Table): Delete `ds'.
698
699 2003-08-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
700
701         * mule-charset.c (Fsave_charset_mapping_table): Use libchise when
702         `CHISE' is defined.
703
704 2003-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
705
706         * chartab.c (char_table_open_db_maybe): Defined even if `CHISE' is
707         not defined; add code for non-libchise setting.
708         (char_table_close_db_maybe): Likewise.
709         (char_table_get_db): New function when `HAVE_CHISE_CLIENT' is
710         defined.
711         (Fclose_char_attribute_table): Use `char_table_close_db_maybe'
712         even if `CHISE' is not defined.
713         (Freset_char_attribute_table): Likewise.
714         (load_char_attribute_maybe): Use `char_table_open_db_maybe' and
715         `char_table_close_db_maybe' even if `CHISE' is not defined; use
716         `char_table_get_db'.
717         (Fload_char_attribute_table): Use `char_table_open_db_maybe' and
718         `char_table_close_db_maybe' even if `CHISE' is not defined.
719
720 2003-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
721
722         * chartab.c (char_table_open_db_maybe): New function.
723         (char_table_close_db_maybe): New function.
724         (Fclose_char_attribute_table): Use `char_table_close_db_maybe'.
725         (Freset_char_attribute_table): Likewise.
726         (load_char_attribute_maybe): Use `char_table_open_db_maybe' and
727         `char_table_close_db_maybe'.
728         (Fload_char_attribute_table): Likewise.
729
730 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
731
732         * chartab.c: Don't include <chise.h> because it is included in
733         chartab.h.
734         (Fmake_char_table): Initialize `ct->feature_table' when `CHISE' is
735         defined.
736         (Fcopy_char_table): Copy `ct->ds' and `ct->feature_table' when
737         `CHISE' is defined.
738         (Fmount_char_attribute_table): Initialize `ct->feature_table' when
739         `CHISE' is defined.
740         (Fclose_char_attribute_table): Close `ct->feature_table' and
741         `ct->ds' when `CHISE' is defined.
742         (Freset_char_attribute_table): Likewise.
743         (load_char_attribute_maybe): Use `cit->ds' and
744         `cit->feature_table' when `CHISE' is defined.
745         (Fload_char_attribute_table): Likewise.
746
747         * chartab.h: Include <chise.h> when `CHISE' is defined.
748         (struct Lisp_Char_Table): Add new member `ds' and `feature_table'
749         when `CHISE' is defined.
750
751 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
752
753         * chartab.c (mark_char_table): Member `db' is deleted when `CHISE'
754         is defined.
755         (char_table_description): Likewise.
756         (Fmake_char_table): Likewise.
757         (Fcopy_char_table): Likewise.
758         (Fmount_char_attribute_table): Likewise.
759         (Fclose_char_attribute_table): Likewise.
760         (Freset_char_attribute_table): Likewise.
761         (load_char_attribute_maybe): Likewise.
762         (Fload_char_attribute_table): Likewise.
763
764         * chartab.h (struct Lisp_Char_Table): Delete `db' when `CHISE' is
765         defined.
766
767 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
768
769         * chartab.c (load_char_attribute_table_map_func): New function
770         when CHISE is defined.
771         (Qload_char_attribute_table_map_function): Don't define when CHISE
772         is defined.
773         (Fload_char_attribute_table_map_function): Likewise.
774         (Fload_char_attribute_table): Use libchise when `CHISE' is
775         defined.
776         (syms_of_chartab): Don't define
777         `load-char-attribute-table-map-function' when CHISE is defined.
778
779 2003-08-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
780
781         * chartab.c: Include <chise.h> when `CHISE' is defined.
782         (load_char_attribute_maybe): Use libchise when `CHISE' is defined.
783
784 2003-07-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
785
786         * mule-charset.c (charset_code_point): Fix problem when searching
787         in mother CCS fails with `defined_only' mode.
788
789 2003-06-29  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
790
791         * chartab.c (Q_ucs_unified): Renamed from `Q_ucs_variants'.
792         (Fchar_variants): Rename `Q_ucs_variants' to `Q_ucs_unified'.
793         (put_char_composition): Likewise.
794         (Fput_char_attribute): Likewise.
795         (syms_of_chartab): Rename `->ucs-variants' to `->ucs-unified'.
796
797 2003-06-29  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
798
799         * chartab.c (Q_ucs): Deleted.
800         (Fput_char_attribute): Don't refer `->ucs'.
801         (Fdefine_char): Likewise.
802         (Ffind_char): Likewise.
803         (syms_of_chartab): Delete `->ucs'.
804
805 2003-04-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
806
807         * mule-charset.c (Qmap_cns11643_2): Renamed from
808         `Qchinese_cns11643_2'.
809         (syms_of_mule_charset): Add new symbol `=cns11643-2' instead of
810         `chinese-cns11643-2'.
811         (complex_vars_of_mule_charset): Rename `chinese-cns11643-2' to
812         `=cns11643-2'.
813
814 2003-04-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
815
816         * mule-charset.c (Qmap_cns11643_1): Renamed from
817         `Qchinese_cns11643_1'.
818         (syms_of_mule_charset): Add new symbol `=cns11643-1' instead of
819         `chinese-cns11643-1'.
820         (complex_vars_of_mule_charset): Rename `chinese-cns11643-1' to
821         `=cns11643-1'.
822
823 2003-04-24  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
824
825         * mule-charset.c (Qmap_gb12345): Renamed from `Qchinese_gb12345'.
826         (syms_of_mule_charset): Add new symbol `=gb12345' instead of
827         `chinese-gb12345'.
828         (complex_vars_of_mule_charset): Rename `chinese-gb12345' to
829         `=gb12345'.
830
831 2003-04-21  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
832
833         * mule-charset.c (Qmap_gb2312): Renamed from `Qchinese_gb2312'.
834         (syms_of_mule_charset): Add new symbol `=gb2312' instead of
835         `chinese-gb2312'.
836         (complex_vars_of_mule_charset): Rename `chinese-gb2312' to
837         `=gb2312'.
838
839 2003-04-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
840
841         * mule-charset.c (Qmap_big5): Renamed from `Qchinese_big5'.
842         (syms_of_mule_charset): Add new symbol `=big5' instead of
843         `chinese-big5'.
844         (complex_vars_of_mule_charset): Rename `chinese-big5' to `=big5'.
845
846 2003-04-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
847
848         * mule-charset.c (Qmap_ks_x1001): Renamed from `Qkorean_ksc5601'.
849         (syms_of_mule_charset): Add new symbol `=ks-x1001' instead of
850         `korean-ksc5601'.
851         (complex_vars_of_mule_charset): Rename `korean-ksc5601' to
852         `=ks-x1001'.
853
854 2003-04-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
855
856         * mule-charset.c (Qmap_jis_x0212): Renamed from
857         `Qjapanese_jisx0212'.
858         (syms_of_mule_charset): Add new symbol `=jis-x0212' instead of
859         `japanese-jisx0212'.
860         (complex_vars_of_mule_charset): Rename `japanese-jisx0212' to
861         `=jis-x0212'.
862
863 2003-04-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
864
865         * mule-charset.c (Qmap_jis_x0208_1983): Renamed from
866         `Qjapanese_jisx0208'.
867         (syms_of_mule_charset): Add new symbol `=jis-x0208-1983' instead
868         of `japanese-jisx0208'.
869         (complex_vars_of_mule_charset): Rename `japanese-jisx0208' to
870         `=jis-x0208-1983'.
871
872 2003-04-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
873
874         * mule-charset.c (Qmap_jis_x0208_1978): Renamed from
875         `Qjapanese_jisx0208_1978'.
876         (syms_of_mule_charset): Add new symbol `=jis-x0208-1978' instead
877         of `japanese-jisx0208-1978'.
878         (complex_vars_of_mule_charset): Rename `japanese-jisx0208-1978' to
879         `=jis-x0208-1978'.
880
881 2003-04-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
882
883         * chartab.c (decode_char_table_range): CHARTAB_RANGE_DEFAULT is
884         only for XEmacs CHISE.
885
886 2003-04-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
887
888         * char-ucs.h: Compact non-ISO-IR charset-ids.
889         (LEADING_BYTE_UCS): Changed to -177.
890         (LEADING_BYTE_CONTROL_1): Changed to -77.
891         (LEADING_BYTE_UCS_BMP): Changed to -176.
892         (LEADING_BYTE_JAPANESE_JISX0208_1990): Changed to -168.
893
894 2003-04-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
895
896         * mule-charset.c (Qiso_ir): New variable.
897         (Fmake_charset): Recognise new property `iso-ir'.
898         (syms_of_mule_charset): Add new symbol `iso-ir'.
899
900 2003-04-02  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
901
902         * char-ucs.h: Change charset-id of ISO-IR sets from ISO-IR-number
903         n to -n; charset-id of non ISO-IR sets are changed to positive
904         numbers.
905
906 2003-03-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
907
908         * text-coding.c (decode_add_er_char): Use XUINT instead of XINT
909         for &MCS-XXXXXXXX; values.
910
911 2003-03-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
912
913         * mule.c (Vxemacs_chise_version): Renamed from
914         `Vutf_2000_version'.
915         (vars_of_mule): Add new variable `xemacs-chise-version'; define
916         `utf-2000-version' as an alias for `xemacs-chise-version'.
917
918 2003-03-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
919
920         * mule-charset.c: Include <chise.h> when `CHISE' is defined.
921         (load_char_decoding_entry_maybe): Use libchise when `CHISE' is
922         defined.
923
924         * config.h.in (CHISE): New macro.
925
926 2003-03-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
927
928         * mule-charset.c (put_char_ccs_code_point): Refer `=ucs' instead
929         of `ucs'.
930         (Qmap_ucs): New variable.
931         (syms_of_mule_charset): Add new symbol `=ucs'.
932         (complex_vars_of_mule_charset): Rename `ucs' to `=ucs'.
933
934         * fns.c (ids_format_unit): Refer `=ucs' instead of `ucs'.
935         (simplify_char_spec): Likewise.
936
937         * chartab.c (Fdefine_char): Refer `=ucs' as same as `ucs'.
938
939         * char-ucs.h (Qmap_ucs): New extern variable.
940
941 2003-03-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
942
943         * mule-charset.c (Qmap_jis_x0208): Renamed from `Qjis_x0208'.
944         (Qmap_jis_x0208_1990): Renamed from `Qjapanese_jisx0208_1990';
945         don't define it when UTF2000 is not defined.
946         (syms_of_mule_charset): Modify for `Qmap_jis_x0208'; rename
947         `japanese-jisx0208-1990' to `=jis-x0208-1990'; don't define it
948         when UTF2000 is not defined.
949         (complex_vars_of_mule_charset): Modify for `Qmap_jis_x0208';
950         rename `japanese-jisx0208-1990' to `=jis-x0208-1990'.
951
952 2003-03-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
953
954         * char-ucs.h (LEADING_BYTE_UCS_GB): Deleted.
955
956         * mule-charset.c (Vcharset_ucs_gb): Deleted.
957         (Qucs_gb): Deleted.
958         (syms_of_mule_charset): Delete `ucs-gb'.
959         (complex_vars_of_mule_charset): Likewise.
960
961 2003-03-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
962
963         * char-ucs.h (LEADING_BYTE_UCS_CNS): Deleted.
964
965         * mule-charset.c (Vcharset_ucs_cns): Deleted.
966         (Qucs_cns): Deleted.
967         (syms_of_mule_charset): Delete `ucs-cns'.
968         (complex_vars_of_mule_charset): Likewise.
969
970 2003-03-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
971
972         * char-ucs.h (LEADING_BYTE_UCS_JIS): Deleted.
973
974         * mule-charset.c (Vcharset_ucs_jis): Deleted.
975         (Qucs_jis): Deleted.
976         (syms_of_mule_charset): Delete `ucs-jis'.
977         (complex_vars_of_mule_charset): Likewise.
978
979 2003-03-02  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
980
981         * char-ucs.h (LEADING_BYTE_UCS_KS): Deleted.
982
983         * mule-charset.c (Vcharset_ucs_ks): Deleted.
984         (Qucs_ks): Deleted.
985         (syms_of_mule_charset): Delete `ucs-ks'.
986         (complex_vars_of_mule_charset): Likewise.
987
988 2003-03-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
989
990         * mule-charset.c (Vcharset_ideograph_daikanwa_2): Deleted.
991         (Qideograph_daikanwa_2): Deleted.
992         (syms_of_mule_charset): Delete `ideograph-daikanwa-2'.
993         (complex_vars_of_mule_charset): Likewise.
994
995         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): Deleted.
996         (LEADING_BYTE_DAIKANWA_1): Deleted.
997         (LEADING_BYTE_DAIKANWA_2): Deleted.
998         (MIN_CHAR_DAIKANWA): Deleted.
999         (MAX_CHAR_DAIKANWA): Deleted.
1000
1001 2003-02-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1002
1003         * char-ucs.h (LEADING_BYTE_DAIKANWA_3): Deleted.
1004         (LEADING_BYTE_HANZIKU_{1..12}): Deleted.
1005         ({MIN|MAX}_CHAR_HANZIKU_{1..12}): Deleted.
1006
1007         * mule-charset.c (Vcharset_ideograph_hanziku_{1..12}): Deleted.
1008         (Vcharset_ideograph_daikanwa): Deleted.
1009         (Qideograph_hanziku_{1..12}): Deleted.
1010         (Qideograph_daikanwa): Deleted.
1011         (encode_builtin_char_1): Don't use {MIN|MAX}_CHAR_DAIKANWA and
1012         Vcharset_ideograph_daikanwa.
1013         (syms_of_mule_charset): Delete `ideograph-daikanwa' and
1014         `ideograph-hanziku-{1..12}'.
1015         (complex_vars_of_mule_charset): Likewise.
1016
1017 2003-02-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1018
1019         * char-ucs.h (LEADING_BYTE_GT_PJ_{1..11}): Deleted.
1020
1021         * mule-charset.c (Vcharset_ideograph_gt_pj_{1..11}): Deleted.
1022         (Qideograph_gt_pj_{1..11}): Deleted.
1023         (syms_of_mule_charset): Delete `ideograph-gt-pj-{1..11}'.
1024         (complex_vars_of_mule_charset): Likewise.
1025
1026 2003-02-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1027
1028         * mule-charset.c (Vcharset_ucs_big5): Deleted.
1029         (Vcharset_ideograph_gt): Deleted.
1030         (Qucs_big5): Deleted.
1031         (Qideograph_gt): Deleted.
1032         (syms_of_mule_charset): Delete symbol `ucs-big5' and
1033         `ideograph-gt'.
1034         (complex_vars_of_mule_charset): Delete coded-charset `ucs-big5'
1035         and `ideograph-gt'.
1036
1037         * char-ucs.h (LEADING_BYTE_UCS_BIG5): Deleted.
1038         (LEADING_BYTE_GT): Deleted.
1039         (MIN_CHAR_GT): Deleted.
1040         (MAX_CHAR_GT): Deleted.
1041
1042 2003-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1043
1044         * chartab.c (Fput_char_attribute): Canonicalise charset-aliases.
1045
1046 2003-01-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1047
1048         * chartab.c (save_uint8_byte_table): Add new argument `filter'.
1049         (save_uint16_byte_table): Likewise.
1050         (save_byte_table): Likewise; convert values by it.
1051         (Fput_char_attribute): Don't use `char-refs-simplify-char-specs'
1052         for `ideographic-structure'.
1053         (Fsave_char_attribute_table): Use `char-refs-simplify-char-specs'
1054         as the filter for `ideographic-structure'.
1055
1056 2003-01-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1057
1058         * chartab.c (put_char_composition): New function.
1059         (Fput_char_attribute): Use `put_char_composition'; use
1060         `Fchar_refs_simplify_char_specs' for `ideographic-structure'.
1061
1062         * fns.c (simplify_char_spec): New function.
1063         (char_ref_simplify_spec): New function.
1064         (Fchar_refs_simplify_char_specs): New function.
1065         (syms_of_fns): Add new builtin function
1066         `char-refs-simplify-char-specs'.
1067
1068 2003-01-05  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1069
1070         * mule-charset.c (Vcharset_ideograph_cbeta): Deleted.
1071         (Qideograph_cbeta): Deleted.
1072         (syms_of_mule_charset): Don't define `ideograph-cbeta'.
1073         (complex_vars_of_mule_charset): Likewise.
1074
1075         * char-ucs.h (LEADING_BYTE_CBETA): Deleted.
1076         (MIN_CHAR_CBETA): Comment out.
1077         (MAX_CHAR_CBETA): Likewise.
1078
1079 2002-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1080
1081         * mule-charset.c, chartab.h, casetab.c, char-ucs.h, chartab.c: Use
1082         `HAVE_CHISE_CLIENT' instead of `HAVE_DATABASE' to indicate the
1083         CHISE client feature.
1084
1085 2002-12-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1086
1087         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.20.
1088
1089 2002-12-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1090
1091         * mule-charset.c (charset_lookup_description_1): Use
1092         `NUM_LEADING_BYTES' in UTF-2000.
1093
1094 2002-12-18  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1095
1096         * char-ucs.h (GC_CHARSETP): Deleted.
1097
1098 2002-12-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1099
1100         * char-ucs.h (MAX_CHAR_GT): Updated.
1101
1102 2002-12-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1103
1104         * text-coding.c: Sync with XEmacs 21.4.10.
1105
1106 2002-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1107
1108         * mule-charset.c (Vcharset_china3_jef): Deleted.
1109         (Qchina3_jef): Deleted.
1110         (syms_of_mule_charset): Don't define `china3-jef'.
1111         (complex_vars_of_mule_charset): Likewise.
1112
1113         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Deleted.
1114         (MIN_CHAR_CHINA3_JEF): Comment out.
1115         (MAX_CHAR_CHINA3_JEF): Comment out.
1116
1117 2002-11-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1118
1119         * mule-charset.c (Vcharset_ucs_gb): New variable.
1120         (Qucs_gb): New variable.
1121         (syms_of_mule_charset): Add new symbol `ucs-gb'.
1122         (complex_vars_of_mule_charset): Add new coded-charset `ucs-gb'.
1123
1124         * char-ucs.h (LEADING_BYTE_UCS_GB): New macro.
1125
1126 2002-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1127
1128         * mule-charset.c (charset_code_point): if a coded-charset has a
1129         final-byte, don't inherit the builtin range of the mother CCS.
1130
1131 2002-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1132
1133         * mule-charset.c (charset_code_point): Fix problem about
1134         inheritance.
1135
1136 2002-11-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1137
1138         * mule-charset.c (decode_builtin_char): Reorganized.
1139
1140 2002-10-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1141
1142         * text-coding.c (char_encode_as_entity_reference): Modify for
1143         `charset_code_point'.
1144         (char_encode_shift_jis): Likewise.
1145         (char_encode_big5): Likewise.
1146         (char_encode_utf8): Likewise.
1147         (char_encode_iso2022): Likewise.
1148
1149         * mule-charset.c (charset_code_point): Add new argument
1150         `defined_only'.
1151         (Fencode_char): Add new optional argument `defined_only'.
1152
1153         * chartab.c (put_char_table): Modify for `charset_code_point'.
1154
1155         * char-ucs.h (charset_code_point): Add new argument
1156         `defined_only'.
1157         (encode_char_1): Modify for `charset_code_point'.
1158
1159 2002-10-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1160
1161         * mule-charset.c (complex_vars_of_mule_charset): Don't specify
1162         `MIN_CHAR_THAI' and `MAX_CHAR_THAI' for `thai-tis620'.
1163
1164 2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1165
1166         * mule-charset.c (Vcharset_jis_x0208): New variable in UTF-2000.
1167         (Qjis_x0208): Likewise.
1168         (decode_builtin_char): Prefer XCHARSET_MAX_CODE(charset) than
1169         XCHARSET_FINAL(charset).
1170         (charset_code_point): Modify condition for final-byte based
1171         builtin-chars.
1172         (syms_of_mule_charset): Add new symbol `=jis-x0208' in UTF-2000.
1173         (complex_vars_of_mule_charset): Add new coded-charset `=jis-x0208'
1174         in UTF-2000; specify `=jis-x0208' as the mother of
1175         `japanese-jisx0208-1978', `japanese-jisx0208' and
1176         `japanese-jisx0208-1990' in UTF-2000.
1177
1178 2002-10-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1179
1180         * char-ucs.h (LEADING_BYTE_JIS_X0208): New macro.
1181
1182 2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1183
1184         * text-coding.c (decode_coding_utf16): Support UTF-16.
1185         (char_encode_utf16): Fixed.
1186
1187 2002-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1188
1189         * text-coding.c (Qutf16): New variable in MULE.
1190         (Fmake_coding_system): Accept `utf-16' as `type' in MULE.
1191         (Fcoding_system_type): Add `utf-16' in MULE.
1192         (struct detection_state): Add a structure for utf16 in MULE.
1193         (detect_coding_type): Setup st->utf16.mask in MULE.
1194         (mule_decode): Use `decode_coding_utf16' for `CODESYS_UTF16' in
1195         MULE.
1196         (reset_encoding_stream): Use `char_encode_utf16' and
1197         `char_finish_utf16' for `CODESYS_UTF16' in MULE.
1198         (detect_coding_utf16): New function [incomplete].
1199         (decode_coding_utf16): New function [support only UCS-2].
1200         (char_encode_utf16): New function.
1201         (char_finish_utf16): New function.
1202         (syms_of_file_coding): Add new symbol `utf-16'; setup
1203         `coding_category_symbol[CODING_CATEGORY_UTF16]'.
1204
1205         * file-coding.h (enum coding_system_type): Add `CODESYS_UTF16' in
1206         UTF-2000.
1207         (enum coding_category_type): Add `CODING_CATEGORY_UTF16' in MULE.
1208         (CODING_CATEGORY_UTF16_MASK): New macro in MULE.
1209
1210 2002-10-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1211
1212         * chartab.c (put_char_table): When a charset is specified as a
1213         range in UTF-2000, don't support builtin characters.
1214
1215 2002-09-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1216
1217         * mule-charset.c (decode_defined_char): Don't refer external
1218         database if Qunbound or Qnil are found.
1219         (Fsave_charset_mapping_table): Don't define it if
1220         HAVE_CHISE_CLIENT is not defined.
1221         (Freset_charset_mapping_table): New function.
1222         (load_char_decoding_entry_maybe): Store Qnil if a character is not
1223         found in external database.
1224         (syms_of_mule_charset): Don't define `save-charset-mapping-table'
1225         if HAVE_CHISE_CLIENT is not defined; add new builtin function
1226         `reset-charset-mapping-table' if HAVE_CHISE_CLIENT is defined.
1227
1228 2002-09-18  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1229
1230         * text-coding.c (decode_coding_utf8): Check CCS is specified or
1231         not.
1232
1233 2002-08-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1234
1235         * chartab.h: Add extern declarations for Qdowncase, Qflippedcase,
1236         Q_lowercase, Q_uppercase in UTF-2000.
1237
1238         * chartab.c (get_char_table): Add special code for the standard
1239         case table to use character attribute `->downcase' and
1240         `->uppercase' for case operations in UTF-2000.
1241
1242         * casetab.c (Qflippedcase): New variable in UTF-2000.
1243         (Q_lowercase): Likewise.
1244         (Q_uppercase): Likewise.
1245         (syms_of_casetab): Add new symbols `flippedcase', `->lowercase'
1246         and `->uppercase' in UTF-2000.
1247         (complex_vars_of_casetab): Assign attribute name `downcase' to
1248         downcase and CANON table of Vstandard_case_table in UTF-2000;
1249         assign attribute name `flippedcase' to upcase and EQV table of
1250         Vstandard_case_table in UTF-2000.
1251
1252 2002-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1253
1254         * text-coding.c (decode_add_er_char): Support isolated-chars.
1255         (char_encode_as_entity_reference): Likewise.
1256
1257 2002-08-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1258
1259         * emacs.c (Vutf_2000_lisp_directory): New variable.
1260         (Vconfigure_utf_2000_lisp_directory): Likewise.
1261         (complex_vars_of_emacs): Add new variable
1262         `utf-2000-lisp-directory' and `configure-utf-2000-lisp-directory'.
1263
1264 2002-08-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1265
1266         * char-ucs.h (DECODE_CHAR): Delete special code for
1267         `chinese-big5-1' and `chinese-big5-2'.
1268
1269         * mule-charset.c (Qbig5_1): New variable in UTF-2000.
1270         (Qbig5_2): Likewise.
1271         (decode_defined_char): Support CONVERSION_BIG5_1 and
1272         CONVERSION_BIG5_2.
1273         (decode_builtin_char): Likewise.
1274         (charset_code_point): Likewise.
1275         (Fmake_charset): Accept `big5-1' and `big5-2' as a value of
1276         'conversion in UTF-2000.
1277         (syms_of_mule_charset): Add new symbol `big5-1' and `big5-2'.
1278         (complex_vars_of_mule_charset): Define `chinese-big5-1' and
1279         `chinese-big5-2' as children of `chinese-big5'.
1280
1281         * char-ucs.h (CONVERSION_BIG5_1): New macro.
1282         (CONVERSION_BIG5_2): New macro.
1283
1284 2002-08-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1285
1286         * text-coding.c (char_encode_big5): Support entity-reference.
1287
1288 2002-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1289
1290         * text-coding.c (char_encode_as_entity_reference): New function.
1291         (char_encode_utf8): Use `char_encode_as_entity_reference'.
1292
1293 2002-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1294
1295         * text-coding.c (decode_coding_big5): Support entity-reference
1296         decoding feature.
1297
1298 2002-08-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1299
1300         * text-coding.c (allocate_coding_system): Initialize initial
1301         charsets for CODESYS_UTF8.
1302         (Fmake_coding_system): Accept charset-g0, charset-g1 and
1303         charset-g2 for CODESYS_UTF8.
1304         (decode_coding_utf8): Use charset-g0.
1305         (char_encode_utf8): Use charset-g0; use charset-g1 and charset-g2
1306         to force variants to map to UCS.
1307
1308 2002-07-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1309
1310         * text-coding.c (Qutf_8_mcs): New variable.
1311         (syms_of_file_coding): Add new symbol `utf-8-mcs' in UTF-2000.
1312         (complex_vars_of_file_coding): Define coding-system `utf-8-mcs'
1313         instead of `utf-8' in UTF-2000.
1314
1315 2002-07-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1316
1317         * mule-charset.c (charset_code_point): If CHARSET_CONVERSION is
1318         CONVERSION_IDENTICAL, identical conversion is used even if a CCS
1319         is ISO-2022 style; instead of it, CONVERSION_94, CONVERSION_96,
1320         CONVERSION_94x94, CONVERSION_96x96, CONVERSION_94x94x94,
1321         CONVERSION_96x96x96, CONVERSION_94x94x94x94 and
1322         CONVERSION_96x96x96x96 are introduced.
1323         (complex_vars_of_mule_charset): Specify CONVERSION_96 instead of
1324         CONVERSION_IDENTICAL for thai-tis620; Specify CONVERSION_94x94
1325         instead of CONVERSION_IDENTICAL for japanese-jisx0208-1990.
1326
1327         * char-ucs.h (CONVERSION_94): New macro.
1328         (CONVERSION_96): New macro.
1329         (CONVERSION_94x94): New macro.
1330         (CONVERSION_96x96): New macro.
1331         (CONVERSION_94x94x94): New macro.
1332         (CONVERSION_96x96x96): New macro.
1333         (CONVERSION_94x94x94x60): New macro.
1334         (CONVERSION_94x94x94x94): New macro.
1335         (CONVERSION_96x96x96x96): New macro.
1336
1337 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1338
1339         * chartab.c (Vcharacter_variant_table): Deleted.
1340         (Fchar_variants): Use character-attribute `->ucs-variants' instead
1341         of `Vcharacter_variant_table'.
1342         (Fput_char_attribute): Likewise.
1343         (vars_of_chartab): Don't setup `Vcharacter_variant_table'.
1344         (complex_vars_of_chartab): Likewise.
1345
1346 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1347
1348         * lisp.h: Add an EXFUN for `Fchar_ref_p'.
1349
1350         * fns.c (Qideographic_structure): New variable.
1351         (Qkeyword_char): New variable.
1352         (ids_format_unit): New function.
1353         (Fideographic_structure_to_ids): New function.
1354         (syms_of_fns): Add new symbols `ideographic-structure' and
1355         `:char'; add new builtin function `ideographic-structure-to-ids'.
1356
1357         * data.c (Fchar_ref_p): New function.
1358         (syms_of_data): Add new builtin function `char-ref-p'.
1359
1360         * chartab.h: Add an EXFUN for `Ffind_char'.
1361
1362 2002-07-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1363
1364         * text-coding.c (Vcharacter_composition_table): Deleted.
1365         (COMPOSE_ADD_CHAR): Use the implementation for external-DB support
1366         in every UTF-2000.
1367
1368         * chartab.c: Add EXFUN for `Fmap_char_attribute' in every
1369         UTF-2000.
1370         (Vcharacter_composition_table): Deleted.
1371         (Fget_composite_char): Use the implementation for external-DB
1372         support in every UTF-2000.
1373         (Fput_char_attribute): Likewise.
1374         (char_attribute_system_db_file): Don't define if external-DB
1375         feature is not available.
1376         (Fsave_char_attribute_table): Likewise.
1377         (Fmount_char_attribute_table): Likewise.
1378         (Fclose_char_attribute_table): Likewise.
1379         (Freset_char_attribute_table): Likewise.
1380         (Fload_char_attribute_table): Likewise.
1381         (syms_of_chartab): Don't define `save-char-attribute-table',
1382         `mount-char-attribute-table', `reset-char-attribute-table',
1383         `close-char-attribute-table' and `load-char-attribute-table' if
1384         external-DB feature is not available.
1385         (vars_of_chartab): Don't setup `Vcharacter_composition_table'.
1386
1387 2002-07-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1388
1389         * text-coding.c (Qcomposition): Add extern if external-DB feature
1390         is supported.
1391         (Vcharacter_composition_table): Don't add extern if external-DB
1392         feature is supported.
1393         (COMPOSE_ADD_CHAR): Modify for new data-representation of
1394         character composition rule if external-DB feature is supported.
1395
1396         * chartab.c (Vcharacter_composition_table): Don't define if
1397         external-DB feature is supported.
1398         (Qcomposition): New variable.
1399         (Fget_composite_char): New implementation for external-DB support.
1400         (Fput_char_attribute): Use `composition' property of each
1401         character instead of `Vcharacter_composition_table' to store
1402         character-composition rules if external-DB feature is supported.
1403         (syms_of_chartab): Add new symbol `composition'.
1404         (vars_of_chartab): Don't setup `Vcharacter_composition_table' if
1405         external-DB feature is supported.
1406
1407 2002-07-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1408
1409         * chartab.c (Vchar_db_stingy_mode): New variable.
1410         (load_char_attribute_maybe): Close database if
1411         Vchar_db_stingy_mode is not NIL.
1412         (Fload_char_attribute_table_map_function): Use
1413         `get_char_id_table_0' instead of `get_char_id_table'.
1414         (vars_of_chartab): Add new variable `char-db-stingy-mode'.
1415
1416         * chartab.h (get_char_id_table_0): New inline function.
1417         (get_char_id_table): Use `get_char_id_table_0'.
1418
1419 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1420
1421         * text-coding.c (decode_coding_utf8): Use `COMPOSE_FLUSH_CHARS'
1422         and `COMPOSE_ADD_CHAR'.
1423         (decode_coding_iso2022): Use `decode_flush_er_chars'.
1424
1425 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1426
1427         * text-coding.c (COMPOSE_FLUSH_CHARS): Use `decode_add_er_char'
1428         instead of `DECODE_ADD_UCS_CHAR'.
1429         (COMPOSE_ADD_CHAR): Likewise.
1430
1431 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1432
1433         * text-coding.c (decode_flush_er_chars): New inline function.
1434         (decode_add_er_char): New function.
1435         (decode_coding_utf8): Use `decode_flush_er_chars' and
1436         `decode_add_er_char'.
1437
1438 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1439
1440         * text-coding.c (decode_coding_utf8): Flush for er_buf must be
1441         done before `decode_output_utf8_partial_char'.
1442
1443         * mule-charset.c (complex_vars_of_mule_charset): Specify
1444         `Vcharset_ucs' as the mother of `Vcharset_ucs_cns',
1445         `Vcharset_ucs_ks' and `Vcharset_ucs_big5'.
1446
1447 2002-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1448
1449         * mule-charset.c (decode_defined_char): New function; search
1450         mother.
1451         (decode_builtin_char): Don't search mother if
1452         XCHARSET_MAX_CODE(charset) == 0.
1453         (charset_code_point): Search mother if XCHARSET_MAX_CODE(charset)
1454         == 0 even if code >= XCHARSET_MAX_CODE(charset).
1455         (Fdecode_char): Use `decode_defined_char' instead of
1456         `DECODE_DEFINED_CHAR'.
1457         (complex_vars_of_mule_charset): Specify `Vcharset_ucs' as the
1458         mother of `Vcharset_ucs_jis'.
1459
1460         * text-coding.c (decode_coding_big5): Use `decode_defined_char'
1461         instead of `DECODE_DEFINED_CHAR'.
1462
1463         * char-ucs.h (decode_defined_char): Renamed from
1464         `DECODE_DEFINED_CHAR'; changed to normal function.
1465         (DECODE_CHAR): Use `decode_defined_char' instead of
1466         `DECODE_DEFINED_CHAR'.
1467
1468         * lisp.h: Add `EXFUN' for `Fstring_to_number'.
1469
1470 2002-07-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1471
1472         * char-ucs.h: Add `extern' for `Vcharset_ucs'.
1473
1474         * text-coding.c (Vcoded_charset_entity_reference_alist): New
1475         variable.
1476         (Quse_entity_reference): New variable.
1477         (Qd): New variable.
1478         (Qx): New variable.
1479         (QX): New variable.
1480         (coding_system_description): Add description for
1481         `ccs_priority_list'.
1482         (mark_coding_system): Mark `ccs_priority_list' in UTF-2000.
1483         (allocate_coding_system): Initialize `ccs_priority_list' in
1484         UTF-2000.
1485         (Fmake_coding_system): Add description about
1486         'use-entity-reference; setup CODING_SYSTEM_USE_ENTITY_REFERENCE
1487         (codesys).
1488         (Fcoding_system_property): Accept `disable-composition' and
1489         `use-entity-reference' in UTF-2000.
1490         (struct decoding_stream): Add new member `er_counter' and `er_buf'
1491         in UTF-2000.
1492         (reset_decoding_stream): Initialize `str->er_counter' in UTF-2000.
1493         (decode_coding_utf8): Decode entity-reference if
1494         CODING_SYSTEM_USE_ENTITY_REFERENCE (str->codesys).
1495         (char_encode_utf8): Encode non-Unicode characters as
1496         entity-references if CODING_SYSTEM_USE_ENTITY_REFERENCE
1497         (str->codesys).
1498         (syms_of_file_coding): Add new symbols `use-entity-reference',
1499         `d', `x', `X'.
1500         (vars_of_file_coding): Add new variable
1501         `coded-charset-entity-reference-alist'.
1502         (complex_vars_of_file_coding): Declare `disable-composition' and
1503         `use-entity-reference' to be coding-system-properties in UTF-2000.
1504
1505         * file-coding.h (struct Lisp_Coding_System): Add new member
1506         `use_entity_reference' and `ccs_priority_list'.
1507         (CODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
1508         (CODING_SYSTEM_CCS_PRIORITY_LIST): New macro.
1509         (XCODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
1510
1511 2002-07-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1512
1513         * chartab.c (save_uint8_byte_table): Don't clear the table.
1514         (save_uint16_byte_table): Likewise.
1515         (save_byte_table): Likewise.
1516         (Fmount_char_attribute_table): New function.
1517         (syms_of_chartab): Add new builtin function
1518         `mount-char-attribute-table'.
1519
1520 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1521
1522         * mule-charset.c (Fsave_charset_mapping_table): Open database as
1523         "w+" mode.
1524         (load_char_decoding_entry_maybe): Open database as read-only mode.
1525
1526         * chartab.c (Fsave_char_attribute_table): Don't share `ct->db';
1527         open database as "w+" mode.
1528         (load_char_attribute_maybe): Open database as read-only mode.
1529         (Fload_char_attribute_table): Likewise.
1530
1531 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1532
1533         * chartab.c (mark_char_table): Don't refer `ct->db_file'.
1534         (char_table_description): Delete member `db_file'.
1535         (Fmake_char_table): Don't refer `ct->db_file'.
1536         (Fcopy_char_table): Likewise.
1537         (Fsave_char_attribute_table): Likewise.
1538         (Fclose_char_attribute_table): Likewise.
1539         (Freset_char_attribute_table): Likewise.
1540         (load_char_attribute_maybe): Likewise.
1541         (Fload_char_attribute_table): Likewise.
1542
1543         * chartab.h (struct Lisp_Char_Table): Delete member `db_file'.
1544
1545 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1546
1547         * chartab.c: Add an EXFUN for `Fmap_char_attribute'.
1548         (Fsave_char_attribute_table): Don't check `ct->db_file' if
1549         `ct->db' is living.
1550         (load_char_attribute_maybe): Likewise.
1551         (Fload_char_attribute_table): Likewise.
1552
1553 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1554
1555         * chartab.c (Fclose_char_attribute_table): Set Qnil on
1556         `ct->db_file' unconditionally.
1557
1558 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1559
1560         * chartab.c (mark_char_table): Mark `ct->db_file' and `ct->db' in
1561         UTF-2000.
1562         (char_table_description): Add description for `db_file' and `db'
1563         in UTF-2000.
1564         (Fmake_char_table): Initialize `ct->db_file' and `ct->db' in
1565         UTF-2000.
1566         (Fcopy_char_table): Copy `ct->db_file' and `ct->db' in UTF-2000.
1567         (Fsave_char_attribute_table): Use `ct->db_file' and `ct->db'.
1568         (Fclose_char_attribute_table): New function.
1569         (Freset_char_attribute_table): Reset `ct->db_file' and `ct->db'.
1570         (load_char_attribute_maybe): Change interface; use `cit->db_file'
1571         and `cit->db'.
1572         (Fload_char_attribute_table): Use `ct->db_file' and `ct->db'.
1573         (syms_of_chartab): Add new builtin function
1574         `Fclose_char_attribute_table'.
1575
1576 2002-06-28  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1577
1578         * chartab.h (struct Lisp_Char_Table): Add new member `db_file' and
1579         `db' in UTF-2000.
1580         (load_char_attribute_maybe): Change interface.
1581         (get_char_id_table): Modify for `load_char_attribute_maybe'.
1582
1583 2002-06-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1584
1585         * database.h: Add an EXFUN for `Fdatabase_live_p'.
1586
1587 2002-04-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1588
1589         * mule-charset.c (decode_builtin_char): Use `decode_builtin_char'
1590         instead of `DECODE_CHAR' for mother; don't use special code for
1591         chinese-big5 to use code space of chinese-big5-1 and
1592         chinese-big5-2.
1593         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' and
1594         `MAX_CHAR_BIG5_CDP' for chinese-big5.
1595
1596         * char-ucs.h (MIN_CHAR_BIG5_CDP): Revival.
1597         (MAX_CHAR_BIG5_CDP): Revival.
1598
1599 2002-04-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1600
1601         * mule-charset.c (complex_vars_of_mule_charset): Use "big5-0" as
1602         the XLFD registry-encoding name of `chinese-big5'.
1603
1604 2002-04-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1605
1606         * mule-charset.c (Vcharset_chinese_big5_cdp): Deleted.
1607         (Qchinese_big5_cdp): Deleted.
1608         (syms_of_mule_charset): Delete symbol `chinese-big5-cdp'.
1609         (complex_vars_of_mule_charset): Delete coded-charset
1610         `chinese-big5-cdp'.
1611
1612         * char-ucs.h (CHARSET_ID_OFFSET): Deleted.
1613         (LEADING_BYTE_*): Use `MIN_LEADING_BYTE + n' instead of
1614         `CHARSET_ID_OFFSET - n' for private CCS.
1615         (LEADING_BYTE_CHINESE_BIG5_CDP): Deleted.
1616         (MIN_LEADING_BYTE_PRIVATE): Use `(MIN_LEADING_BYTE + 97)' instead
1617         of `MIN_LEADING_BYTE'.
1618         (MAX_LEADING_BYTE_PRIVATE): Use `-1' instead of
1619         `(CHARSET_ID_OFFSET - 97)'.
1620         (MIN_CHAR_BIG5_CDP): Deleted.
1621         (MAX_CHAR_BIG5_CDP): Deleted.
1622
1623 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1624
1625         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.19.
1626
1627 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1628
1629         * mule.c (Vutf_2000_version): New variable [moved from chartab.c].
1630         (vars_of_mule): Add new variable `utf-2000-version' [moved from
1631         chartab.c].
1632
1633         * chartab.c (Vutf_2000_version): Moved to mule.c.
1634         (vars_of_chartab): Move code about `utf-2000-version' into mule.c.
1635
1636 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1637
1638         * mule-charset.c (load_char_decoding_entry_maybe): Don't define it
1639         when HAVE_CHISE_CLIENT is not defined.
1640
1641         * mule.c (vars_of_mule): Provide feature `chise' when
1642         HAVE_CHISE_CLIENT is defined.
1643
1644 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1645
1646         * config.h.in (UTF2000): Add comment.
1647         (HAVE_CHISE_CLIENT): New macro.
1648
1649 2002-02-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1650
1651         * chartab.c (Fchar_variants): Check Vcharacter_variant_table is
1652         CONSP.
1653         (Fput_char_attribute): Likewise.
1654         (char_attribute_system_db_file): Encode file-name of attribute.
1655         (vars_of_chartab): Set Qunbound into Vcharacter_variant_table as
1656         the initial value.
1657
1658 2002-02-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1659
1660         * mule-charset.c (put_char_ccs_code_point): Delete unused codes.
1661         (Fsave_charset_mapping_table): Use
1662         `char_attribute_system_db_file'.
1663         (load_char_decoding_entry_maybe): Likewise.
1664
1665         * chartab.h (Qsystem_char_id): New external variable.
1666         (char_attribute_system_db_file): New prototype.
1667
1668         * chartab.c (Qsystem_char_id): New variable in UTF-2000.
1669         (char_attribute_system_db_file): New function.
1670         (Fsave_char_attribute_table): Use `char_attribute_system_db_file'.
1671         (Freset_char_attribute_table): Likewise.
1672         (load_char_attribute_maybe): Likewise.
1673         (Fload_char_attribute_table): Likewise.
1674         (syms_of_chartab): Add new symbol `system-char-id'.
1675
1676 2002-02-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1677
1678         * char-ucs.h (DECODE_DEFINED_CHAR): Don't check
1679         `XCHARSET_GRAPHIC(ccs)'.
1680
1681 2002-02-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1682
1683         * mule-charset.c (Fsave_charset_mapping_table): Fixed.
1684
1685 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1686
1687         * chartab.c (Q_ucs_variants): New variable.
1688         (syms_of_chartab): Add new symbol `->ucs-variants'.
1689         (complex_vars_of_chartab): Set `Vcharacter_variant_table' on
1690         `Vchar_attribute_hash_table' as the value of `->ucs-variants'; set
1691         `->ucs-variants' on `XCHAR_TABLE_NAME (Vcharacter_variant_table)'.
1692
1693         * mule-charset.c (load_char_decoding_entry_maybe): New function.
1694
1695         * char-ucs.h (load_char_decoding_entry_maybe): New prototype when
1696         `HAVE_DATABASE' is defined.
1697         (DECODE_DEFINED_CHAR): Use `load_char_decoding_entry_maybe' when
1698         `HAVE_DATABASE' is defined.
1699
1700 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1701
1702         * chartab.c (Fsave_char_attribute_table): Don't clear internal
1703         attribute-table.
1704         (Freset_char_attribute_table): New function.
1705         (syms_of_chartab): Add new builtin function
1706         `reset-char-attribute-table'.
1707
1708 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1709
1710         * chartab.c (load_char_attribute_maybe): Don't make directories.
1711
1712 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1713
1714         * char-ucs.h: Add EXFUN for `Fmake_directory_internal'.
1715
1716         * mule-charset.c (put_char_ccs_code_point): Don't prepare a vector
1717         for decoding-table.
1718
1719 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1720
1721         * mule-charset.c (Fsave_charset_mapping_table): Use
1722         `XCHARSET_BYTE_SIZE' instead of `XCHARSET_CHARS'.
1723
1724         * char-ucs.h (put_ccs_octet_table): Use `XCHARSET_BYTE_SIZE'
1725         instead of `XCHARSET_CHARS'.
1726
1727 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1728
1729         * mule-charset.c (CHARSET_BYTE_SIZE): Moved to char-ucs.h.
1730         (XCHARSET_BYTE_SIZE): Likewise.
1731
1732         * char-ucs.h (CHARSET_BYTE_SIZE): New inline function [moved from
1733         mule-charset.c].
1734         (XCHARSET_BYTE_SIZE): Likewise.
1735
1736 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1737
1738         * chartab.c (Fput_char_attribute): Use exec-directory instead of
1739         data-directory to store database.
1740         (Fsave_char_attribute_table): Likewise.
1741         (load_char_attribute_maybe): Likewise.
1742         (Fload_char_attribute_table): Likewise.
1743
1744 2002-02-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1745
1746         * mule-charset.c (Fsave_charset_mapping_table): New function.
1747         (syms_of_mule_charset): Add new builtin function
1748         `save-charset-mapping-table'.
1749
1750 2002-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1751
1752         * char-ucs.h (decoding_table_check_elements): Delete prototype.
1753         (get_ccs_octet_table): New inline function.
1754         (put_ccs_octet_table): Likewise.
1755         (decoding_table_put_char): Use `get_ccs_octet_table' and
1756         `put_ccs_octet_table'.
1757         (decoding_table_remove_char): Use `decoding_table_put_char'.
1758         (DECODE_DEFINED_CHAR): Use `get_ccs_octet_table'.
1759
1760         * mule-charset.c (remove_char_ccs): Store Qunbound instead of Qnil
1761         into encoding_table.
1762         (make_charset): Use Qunbound instead Qnil as initial value of
1763         decoding_table.
1764
1765 2002-02-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1766
1767         * chartab.c (map_over_uint8_byte_table): Set Qunbound if an
1768         element is Qunloaded.
1769         (map_over_uint16_byte_table): Likewise.
1770         (map_over_byte_table): Likewise.
1771         (map_char_table): Likewise for CHARTAB_RANGE_ALL in UTF-2000; when
1772         CHARTAB_RANGE_CHARSET is specified in UTF-2000 with external
1773         database support, load encoding-table of the specified
1774         coded-charset if it is not loaded yet.
1775         (save_uint8_byte_table): New function of UTF-2000 with external
1776         database support.
1777         (save_uint16_byte_table): Likewise.
1778         (save_byte_table): Likewise.
1779         (Fput_char_attribute): Don't store value into external database
1780         even if the external database feature is supported in UTF-2000;
1781         set `attribute' as name of char-table if the external database
1782         feature is supported.
1783         (Fsave_char_attribute_table): New function in UTF-2000.
1784         (syms_of_chartab): Add new builtin function
1785         `save-char-attribute-table' in UTF-2000.
1786
1787 2002-02-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1788
1789         * chartab.c (char_attribute_table_to_put): New variable in
1790         UTF-2000.
1791         (Qput_char_table_map_function): Likewise.
1792         (value_to_put): Likewise.
1793         (Fput_char_table_map_function): New function in UTF-2000.
1794         (put_char_table): Use `Fmap_char_attribute' for
1795         CHARTAB_RANGE_CHARSET in UTF-2000.
1796         (Fput_char_attribute): Store symbol instead of string in
1797         `XCHAR_TABLE_NAME (table)'.
1798         (load_char_attribute_maybe): Likewise.
1799         (syms_of_chartab): Add new symbol/function
1800         `put-char-table-map-function'.
1801
1802 2002-01-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1803
1804         * database.h: Add new EXFUN for `Fmap_database'.
1805
1806         * database.c (Fmap_database): Renamed from `Fmapdatabase'.
1807         (syms_of_database): Likewise.
1808
1809         * chartab.h (struct Lisp_Char_Table): Add new member `unloaded' in
1810         UTF-2000.
1811         (CHAR_TABLE_UNLOADED): New macro of UTF-2000.
1812         (XCHAR_TABLE_UNLOADED): Likewise.
1813
1814         * chartab.c (fill_char_table): Initialize `ct->unloaded'.
1815         (Fput_char_attribute): Set XCHAR_TABLE_UNLOADED(table) if
1816         HAVE_DATABASE is defined.
1817         (char_attribute_table_to_load): New variable of UTF-2000 with
1818         external database support.
1819         (Qload_char_attribute_table_map_function): Likewise.
1820         (Fload_char_attribute_table_map_function): New function of
1821         UTF-2000 with external database support.
1822         (Fload_char_attribute_table): New function of UTF-2000.
1823         (Fmap_char_attribute): Call Fload_char_attribute_table if
1824         CHAR_TABLE_UNLOADED(ct) is set when HAVE_DATABASE is defined.
1825         (syms_of_chartab): Add new symbol and function
1826         `load-char-attribute-table-map-function' in UTF-2000 with external
1827         database support; add new function `load-char-attribute-table' in
1828         UTF-2000.
1829
1830 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1831
1832         * chartab.h (load_char_attribute_maybe): New prototype for
1833         UTF-2000 with DATABASE support.
1834         (get_char_id_table): Use `load_char_attribute_maybe' if
1835         HAVE_DATABASE is defined.
1836
1837         * chartab.c (load_char_attribute_maybe): New function in UTF-2000
1838         with DATABASE support.
1839
1840 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1841
1842         * chartab.c (Fput_char_attribute): Use S-expression as key of
1843         external database.
1844
1845         * chartab.h (get_char_id_table): Use S-expression as key of
1846         external database.
1847
1848 2002-01-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1849
1850         * chartab.c (map_over_uint8_byte_table): Add new argument `root';
1851         if an element is not loaded, load the corresponding attributes
1852         from an external database.
1853         (map_over_uint16_byte_table): Likewise.
1854         (map_over_byte_table): Likewise.
1855         (map_char_table): Modify for `map_over_uint8_byte_table',
1856         `map_over_uint16_byte_table' and `map_over_byte_table'; if an
1857         element is not loaded, load the corresponding attributes from an
1858         external database.
1859         (Fput_char_attribute): Change initial values to Qunloaded.
1860
1861         * chartab.h (get_char_id_table): If a character attribute is not
1862         loaded and the attribute value is not found in an external
1863         database, store Qunbound as the attribute value.
1864
1865 2002-01-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1866
1867         * chartab.c (BT_UINT8_unloaded): New macro.
1868         (UINT8_VALUE_P): Accept Qunloaded.
1869         (UINT8_ENCODE): Likewise.
1870         (UINT8_DECODE): Likewise.
1871         (BT_UINT16_unloaded): New macro.
1872         (UINT16_VALUE_P): Accept Qunloaded.
1873         (UINT16_ENCODE): Likewise.
1874         (UINT16_DECODE): Likewise.
1875         (UINT8_TO_UINT16): Convert BT_UINT8_unloaded into
1876         BT_UINT16_unloaded.
1877         (mark_char_table): Mark `ct->name' in UTF-2000.
1878         (char_table_description): Add `name' in UTF-2000.
1879         (Fmake_char_table): Initialize `ct->name'.
1880         (Fcopy_char_table): Copy `ct->name'.
1881         (Fput_char_attribute): Store value into an external database if
1882         HAVE_DATABASE is defined.
1883
1884         * chartab.h (struct Lisp_Char_Table): Add new member `name' in
1885         UTF-2000.
1886         (CHAR_TABLE_NAME): New macro in UTF-2000.
1887         (XCHAR_TABLE_NAME): New macro in UTF-2000.
1888         (get_char_id_table): Try to read an external database if Qunloaded
1889         is stored in a table.
1890
1891         * symbols.c (init_symbols_once_early): Assign '#<unloaded> into
1892         Qunloaded.
1893
1894 2002-01-21  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1895
1896         * database.h: Add EXFUN definitions for Fopen_database,
1897         Fput_database, Fget_database and Fclose_database.
1898
1899         * data.c (Qunloaded): New variable in UTF-2000.
1900
1901         * lisp.h (Qunloaded): New variable in UTF-2000.
1902
1903 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1904
1905         * mule-charset.c (put_char_ccs_code_point): Modify for
1906         `decoding_table_remove_char' and `decoding_table_put_char'.
1907         (remove_char_ccs): Modify for `decoding_table_remove_char'.
1908
1909         * char-ucs.h (decoding_table_remove_char): Change arguments to
1910         hide decoding_table vector.
1911         (decoding_table_put_char): Likewise.
1912
1913 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1914
1915         * mule-charset.c (decoding_table_remove_char): Moved to
1916         char-ucs.h.
1917         (decoding_table_put_char): Likewise.
1918
1919         * char-ucs.h (decoding_table_check_elements): New prototype [moved
1920         from mule-charset.c].
1921         (decoding_table_remove_char): New inline function [moved from
1922         mule-charset.c].
1923         (decoding_table_put_char): Likewise.
1924
1925 2002-01-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1926
1927         * mule-charset.c (Fmake_charset): Modify DOC-string for UTF-2000
1928         extension.
1929
1930 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1931
1932         * mule-charset.c (decode_builtin_char): Support mother charsets.
1933
1934 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1935
1936         * mule-charset.c (Q94x94x60): New variable.
1937         (charset_code_point): Support conversion `94x94x60'.
1938         (Fmake_charset): Likewise.
1939         (syms_of_mule_charset): Add new symbol `94x94x60'.
1940
1941         * char-ucs.h (CONVERSION_94x94x60): New macro.
1942
1943 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1944
1945         * mule-charset.c (charset_code_point): Unify code about
1946         `code-offset'.
1947
1948 2001-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1949
1950         * mule-charset.c (charset_code_point): Merge code about builtin
1951         characters into code about mother charsets; don't use
1952         `range_charset_code_point'.
1953         (range_charset_code_point): Deleted.
1954
1955 2001-12-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1956
1957         * mule-charset.c (Qcode_offset): New variable.
1958         (Fmake_charset): Use `XUINT' to get value of `min-code' and
1959         `max-code'; accept new property `code-offset'.
1960         (syms_of_mule_charset): Add new symbol `code-offset'.
1961
1962 2001-12-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1963
1964         * mule-charset.c (range_charset_code_point): Fixed.
1965
1966 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1967
1968         * mule-charset.c (decode_builtin_char): Change semantics of
1969         code-offset of coded-charset.
1970         (charset_code_point): Likewise.
1971         (range_charset_code_point): Likewise.
1972         (complex_vars_of_mule_charset): Modify for the change.
1973
1974 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1975
1976         * mule-charset.c (Fencode_char): Reverse arguments.
1977
1978         * mule-charset.c (charset_code_point): Fixed.
1979
1980 2001-12-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1981
1982         * mule-charset.c (Vcharset_mojikyo): Deleted.
1983         (Vcharset_mojikyo_2022_1): Deleted.
1984         (Vcharset_mojikyo_pj_{1..21}): Deleted.
1985         (Qmin_code): New variable in UTF-2000.
1986         (Qmax_code): Likewise.
1987         (Qmother): Likewise.
1988         (Qconversion): Likewise.
1989         (Q94x60): Likewise.
1990         (Qmojikyo): Deleted.
1991         (Qmojikyo_2022_1): Deleted.
1992         (Qmojikyo_pj_{1..22}): Deleted.
1993         (mark_charset): Mark `cs->mother'.
1994         (charset_description): Add description for `mother'.
1995         (make_charset): Rename `ucs_{min|max}' to `{min|max}_code'; add
1996         new arguments `mother' and `conversion'; use
1997         `CHARSET_{MIN|MAX}_CODE' instead of `CHARSET_UCS_{MIN|MAX}'.
1998         (charset_code_point): Moved from char-ucs.h; support `mother'
1999         charset feature.
2000         (range_charset_code_point): use `CHARSET_{MIN|MAX}_CODE' instead
2001         of `CHARSET_UCS_{MIN|MAX}'; delete hard code for `mojikyo-2022-1'.
2002         (Fmake_charset): Allow 3 and 4 as the value of `dimension' in
2003         UTF-2000; allow 128 and 256 as the value of `chars' in UTF-2000;
2004         allow 2 as the value of `graphic' in UTF-2000; add new properties
2005         `min-code', `max-code', `mother', `conversion' in UTF-2000; don't
2006         require `final' in UTF-2000; modify for `make_charset'.
2007         (Fmake_reverse_direction_charset): use `CHARSET_{MIN|MAX}_CODE'
2008         instead of `CHARSET_UCS_{MIN|MAX}'; modify for `make_charset'.
2009         (Fcharset_property): Support `mother', `min-code' and `max-code'.
2010         (Fencode_char): New function.
2011         (syms_of_mule_charset): Add new builtin function `encode-char' in
2012         UTF-2000; add new symbols `min-code', `max-code', `mother',
2013         `conversion' and `94x60'; delete symbols `mojikyo',
2014         `mojikyo-2022-1' and `mojikyo-pj-{1..21}'.
2015         (complex_vars_of_mule_charset): Modify for `make_charset' change;
2016         delete coded-charsets `mojikyo', `mojikyo-2022-1' and
2017         `mojikyo-pj-{1..21}'; delete `DEF_MOJIKYO_PJ'.
2018
2019         * chartab.c (Fdefine_char): Use `XCHARSET_MAX_CODE' instead of
2020         `XCHARSET_UCS_MAX'; regard `chinese-big5' as a base CCS.
2021
2022         * char-ucs.h (Vcharset_mojikyo): Deleted.
2023         (Vcharset_mojikyo_2022_1): Deleted.
2024         (LEADING_BYTE_MOJIKYO): Deleted.
2025         (LEADING_BYTE_MOJIKYO_2022_1): Deleted.
2026         (LEADING_BYTE_MOJIKYO_2022_2): Deleted.
2027         (LEADING_BYTE_MOJIKYO_PJ_{1 .. 21}): Deleted.
2028         (struct Lisp_Charset): Rename `ucs_{min|max}' to `{min|max}_code';
2029         add new member `mother'; add new member `conversion'.
2030         (CHARSET_MIN_CODE): Renamed from `CHARSET_UCS_MIN'.
2031         (CHARSET_MAX_CODE): Renamed from `CHARSET_UCS_MAX'.
2032         (CHARSET_MOTHER): New macro.
2033         (CHARSET_CONVERSION): New macro.
2034         (CONVERSION_IDENTICAL): New macro.
2035         (CONVERSION_94x60): New macro.
2036         (XCHARSET_MIN_CODE): Renamed from `CHARSET_MIN_CODE'.
2037         (XCHARSET_MAX_CODE): Renamed from `CHARSET_MAX_CODE'.
2038         (XCHARSET_MOTHER): New macro.
2039         (XCHARSET_CONVERSION): New macro.
2040         (MIN_CHAR_MOJIKYO): Deleted.
2041         (MAX_CHAR_MOJIKYO): Deleted.
2042         (DECODE_MOJIKYO_2022): Deleted.
2043         (DECODE_CHAR): Delete hard code for builtin Mojikyo characters.
2044         (charset_code_point): Changed to non-inline function.
2045         (encode_char_1): Use `charset_code_point'.
2046         (CHAR_TO_CHARC): Delete hard code for Mojikyo characters.
2047
2048 2001-12-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2049
2050         * lread.c (read_compiled_function): Fix prototype.
2051         (read_vector): Likewise.
2052
2053 2001-12-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2054
2055         * lrecord.h (struct lrecord_header): Delete `older'.
2056         (set_lheader_implementation): Delete code for `older'.
2057         (set_lheader_older_implementation): Deleted.
2058         (enum lrecord_type): Delete `lrecord_type_char_id_table'.
2059         (OLDER_RECORD_P): Deleted.
2060         (OLDER_RECORD_HEADER_P): Deleted.
2061         (alloc_older_lcrecord): Deleted.
2062         (alloc_older_lcrecord_type): Deleted.
2063
2064         * alloc.c (all_older_lcrecords): Deleted.
2065         (alloc_older_lcrecord): Deleted.
2066         (disksave_object_finalization_1): Delete code for older objects.
2067         (mark_object): Don't use `OLDER_RECORD_HEADER_P'.
2068         (reinit_alloc_once_early): Don't initialize `all_older_lcrecords'.
2069
2070 2001-12-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2071
2072         * mule-charset.c (decoding_table_put_char): Use `make_vector'
2073         instead of `make_older_vector'.
2074         (put_char_ccs_code_point): Likewise.
2075         (mark_charset): Mark `cs->decoding_table'.
2076         (Fset_charset_mapping_table): Don't use `make_vector_newer'.
2077
2078         * lisp.h (make_older_vector): Deleted.
2079         (make_vector_newer): Deleted.
2080
2081         * config.h.in (HAVE_GGC): Deleted.
2082
2083         * alloc.c (make_older_vector): Deleted.
2084         (make_vector_newer_1): Deleted.
2085         (make_vector_newer): Deleted.
2086
2087 2001-12-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2088
2089         * mule-charset.c (Vcharset_ideograph_daikanwa_2): New variable.
2090         (Qideograph_daikanwa_2): New variable.
2091         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa-2'.
2092         (complex_vars_of_mule_charset): Add new coded-charset
2093         `ideograph-daikanwa-2'; use `LEADING_BYTE_DAIKANWA_3' instead of
2094         `LEADING_BYTE_DAIKANWA'.
2095
2096         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): New macro.
2097         (LEADING_BYTE_DAIKANWA_1): New macro.
2098         (LEADING_BYTE_DAIKANWA_2): New macro.
2099         (LEADING_BYTE_DAIKANWA_3): Renamed from `LEADING_BYTE_DAIKANWA'.
2100
2101 2001-12-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2102
2103         * mule-charset.c (complex_vars_of_mule_charset): Change
2104         DOC-strings and registry of `ideograph-daikanwa'; now it indicates
2105         the second revised version.
2106
2107 2001-12-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2108
2109         * mule-charset.c (Vcharset_ucs_smp): New variable.
2110         (Vcharset_ucs_sip): New variable.
2111         (Qucs_smp): New variable.
2112         (Qucs_sip): New variable.
2113         (encode_builtin_char_1): Treat MIN_CHAR_{SMP|SIP} to
2114         MAX_CHAR_{SMP|SIP} as `ucs-{smp|sip}'.
2115         (syms_of_mule_charset): Add new symbols `ucs-smp' and `ucs-sip'.
2116         (complex_vars_of_mule_charset): Modify middle-DOC and registry of
2117         `ucs-bmp'; add new coded-charset `ucs-smp' and `ucs-sip'; change
2118         charset width of `ucs-cns', `ucs-jis', `ucs-ks' and `ucs-big5'.
2119
2120         * char-ucs.h (LEADING_BYTE_UCS_SMP): New macro.
2121         (LEADING_BYTE_UCS_SIP): New macro.
2122         (MIN_CHAR_SMP): New macro.
2123         (MAX_CHAR_SMP): New macro.
2124         (MIN_CHAR_SIP): New macro.
2125         (MAX_CHAR_SIP): New macro.
2126
2127 2001-11-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
2128
2129         * dumper.c (PDUMP_HASH_SIZE): Increase the size of hash table when
2130         utf-2000.
2131
2132 2001-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2133
2134         * mule-charset.c (put_char_ccs_code_point): Return canonicalized
2135         value; don't store value into `encoding_table' of `Lisp_Charset'.
2136         (mark_charset): `encoding_table' was deleted.
2137         (charset_description): Likewise.
2138         (make_charset): Likewise.
2139         (Fset_charset_mapping_table): Use `Fput_char_attribute' instead of
2140         `put_char_ccs_code_point'.
2141
2142         * chartab.h (Fput_char_attribute): New EXFUN.
2143
2144         * chartab.c (Fchar_attribute_alist): Name space of CCS-attributes
2145         is unified with normal symbol space.
2146         (Fget_char_attribute): Likewise.
2147         (Fput_char_attribute): Likewise; behavior of
2148         `put_char_ccs_code_point' is changed.
2149
2150         * char-ucs.h: Include "elhash.h".
2151         (Vchar_attribute_hash_table): New external variable.
2152         (struct Lisp_Charset): Delete `encoding_table'.
2153         (CHARSET_ENCODING_TABLE): New implementation; refer
2154         `Vchar_attribute_hash_table' instead of `encoding_table' of struct
2155         `Lisp_Charset'.
2156
2157 2001-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2158
2159         * mule-charset.c (Fcharset_property): Return Qnil if CHARSET_FINAL
2160         (cs) == 0.
2161
2162 2001-11-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2163
2164         * text-coding.c (char_encode_big5): Prefer charset-g1 than
2165         `chinese-big5'.
2166
2167 2001-11-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2168
2169         * chartab.c (uint8_byte_table_description): New constant.
2170         (uint8-byte-table): Use `uint8_byte_table_description'.
2171         (uint16_byte_table_description): New constant.
2172         (uint16-byte-table): Use `uint16_byte_table_description'.
2173
2174 2001-10-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2175
2176         * mule-charset.c (complex_vars_of_mule_charset): Don't use builtin
2177         range MIN_CHAR_BIG5_CDP .. MAX_CHAR_BIG5_CDP.
2178
2179 2001-10-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2180
2181         * mule-charset.c (Vcharset_ucs_ks): New variable.
2182         (Qucs_ks): New variable.
2183         (syms_of_mule_charset): Add new symbol `ucs-ks'.
2184         (complex_vars_of_mule_charset): Add new coded-charset `ucs-ks'.
2185
2186         * char-ucs.h (LEADING_BYTE_UCS_KS): New macro.
2187
2188 2001-10-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2189
2190         * chartab.h (Fmake_char): New EXFUN; moved from chartab.c.
2191         (Fdecode_char): Likewise.
2192
2193         * chartab.c: Move EXFUN for Fmake_char and Fdecode_char into
2194         chartab.h.
2195         (Fdefine_char): Modify for Fdecode_char.
2196         (Ffind_char): Likewise.
2197
2198         * mule-charset.c (Fdecode_char): Add new optional argument
2199         `defined-only'.
2200         (Fdecode_builtin_char): Modify for `Fdecode_char'.
2201
2202 2001-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2203
2204         * text-coding.c (mark_coding_system): Mark initial-charset-g0 and
2205         -g1 of CODESYS_BIG5 in XEmacs UTF-2000.
2206         (allocate_coding_system): Initialize initial-charsets of
2207         CODESYS_BIG5 in XEmacs UTF-2000.
2208         (Fmake_coding_system): Accept `charset-g0' and `charset-g1' for
2209         CODESYS_BIG5 in XEmacs UTF-2000.
2210         (decode_coding_big5): Use initial-charset-g0 and -g1 of
2211         CODESYS_BIG5 in XEmacs UTF-2000; use `DECODE_DEFINED_CHAR'.
2212
2213         * mule-charset.c (Vcharset_ideograph_hanziku_{1 .. 12}): New
2214         variables.
2215         (Qideograph_hanziku_{1 .. 12}): Likewise.
2216         (syms_of_mule_charset): Add new symbols `ideograph-hanziku-{1
2217         .. 12}'.
2218         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' to
2219         `MAX_CHAR_BIG5_CDP' for `chinese-big5'; add news coded-charsets
2220         `ideograph-hanziku-{1 .. 12}'.
2221
2222         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x200.
2223         (LEADING_BYTE_HANZIKU_{1 .. 12}): New macros.
2224         ({MIN|MAX}_CHAR_BIG5_CDP): New macros.
2225         ({MIN|MAX}_CHAR_HANZIKU_{1 .. 12}): New macros.
2226         (DECODE_DEFINED_CHAR): New inline function.
2227         (DECODE_CHAR): Use `DECODE_DEFINED_CHAR'.
2228
2229 2001-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2230
2231         * mule-charset.c (Vcharset_china3_jef): Renamed from
2232         `Vcharset_japanese_jef_china3'.
2233         (Qchina3_jef): Renamed from `Qjapanese_jef_china3'.
2234         (encode_builtin_char_1): Rename `{MIN|MAX}_CHAR_CHINA3_JEF' from
2235         `{MIN|MAX}_CHAR_JEF_CHINA3'..
2236         (syms_of_mule_charset): Rename `china3-jef' from
2237         `japanese-jef-china3'.
2238         (complex_vars_of_mule_charset): Likewise; rename
2239         `LEADING_BYTE_CHINA3_JEF' from `LEADING_BYTE_JEF_CHINA3'.
2240
2241         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Renamed from
2242         `LEADING_BYTE_JEF_CHINA3'.
2243         (MIN_CHAR_CHINA3_JEF): Renamed from `MIN_CHAR_JEF_CHINA3'.
2244         (MAX_CHAR_CHINA3_JEF): Renamed from `MAX_CHAR_JEF_CHINA3'.
2245
2246 2001-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2247
2248         * mule-charset.c (encode_builtin_char_1): Comment out special code
2249         for MIN_CHAR_MOJIKYO_0 ... MAX_CHAR_MOJIKYO_0.
2250
2251         * char-ucs.h (MIN_CHAR_MOJIKYO_0): Comment out.
2252         (MAX_CHAR_MOJIKYO_0): Comment out.
2253         (MIN_CHAR_CBETA): Changed to 0x00E20000.
2254         (MAX_CHAR_CBETA): Changed to 0x00E2FFFF.
2255         (MIN_CHAR_JEF_CHINA3): Changed to 0x00E80000.
2256         (MAX_CHAR_JEF_CHINA3): Changed to 0x00E8FFFF.
2257
2258 2001-10-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2259
2260         * mule-charset.c (Vcharset_ideograph_cbeta): New variable.
2261         (Qideograph_cbeta): New variable.
2262         (encode_builtin_char_1): Comment out special code for
2263         coded-charset `mojikyo' and `japanese-jef-china3'.
2264         (syms_of_mule_charset): Add new symbol `ideograph-cbeta'.
2265         (complex_vars_of_mule_charset): Add new coded-charset
2266         `ideograph-cbeta'.
2267
2268         * char-ucs.h (LEADING_BYTE_CBETA): New macro.
2269         (MIN_CHAR_CBETA): New macro.
2270         (MAX_CHAR_CBETA): New macro.
2271
2272 2001-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2273
2274         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x100.
2275         (LEADING_BYTE_JEF_CHINA3): New macro.
2276         (MIN_CHAR_JEF_CHINA3): New macro.
2277         (MAX_CHAR_JEF_CHINA3): Likewise.
2278         (DECODE_CHAR): Fixed.
2279
2280 2001-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2281
2282         * mule-charset.c (Vcharset_japanese_jef_china3): New variable.
2283         (Qjapanese_jef_china3): New variable.
2284         (encode_builtin_char_1): Support `japanese-jef-china3'.
2285         (syms_of_mule_charset): Add new symbol `japanese-jef-china3'.
2286         (complex_vars_of_mule_charset): Add new coded-charset
2287         `japanese-jef-china3'.
2288
2289 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2290
2291         * chartab.c (XCHARSET_CELL_RANGE): New inline function.
2292         (decode_char_table_range): Use `XCHARSET_CELL_RANGE'; accept 94^3,
2293         94^4, 96^3, 96^4, 128^n and 256^n set.
2294         (put_char_table): Use `XCHARSET_CELL_RANGE'.
2295         (map_char_table): Likewise.
2296
2297 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2298
2299         * chartab.c (get_char_table): Use `get_char_id_table' in XEmacs
2300         UTF-2000.
2301
2302 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2303
2304         * chartab.h (get_char_id_table): New inline function.
2305
2306         * chartab.c (get_char_id_table): Moved to chartab.h as an inline
2307         function.
2308
2309 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2310
2311         * chartab.h (decode_char_table_range): New prototype in XEmacs
2312         UTF-2000.
2313         (put_char_id_table): New inline function in XEmacs UTF-2000.
2314
2315         * chartab.c (put_char_id_table): Moved to chartab.h as an inline
2316         function.
2317         (decode_char_table_range): Delete static declaration in XEmacs
2318         UTF-2000.
2319
2320 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2321
2322         * chartab.c (put_char_id_table): Use `put_char_table'.
2323
2324 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2325
2326         * chartab.c (map_over_uint8_byte_table): Delete argument `ccs'.
2327         (map_over_uint16_byte_table): Likewise.
2328         (map_over_byte_table): Likewise.
2329         (map_char_table): Modify for `map_over_uint8_byte_table',
2330         `map_over_uint16_byte_table' and `map_over_byte_table' in XEmacs
2331         UTF-2000.
2332
2333 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2334
2335         * chartab.c (struct map_char_table_for_charset_arg): New
2336         structure.
2337         (map_char_table_for_charset_fun): New function.
2338         (map_char_table): Use `map_char_table' for encoding_table of
2339         `range->charset'.
2340
2341 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2342
2343         * chartab.c (map_char_table): Check a character is found in
2344         range->charset instead of non default value is defined in
2345         char-table when range is CHARTAB_RANGE_ROW.
2346
2347 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2348
2349         * chartab.c (map_char_id_table): Deleted.
2350         (Fmap_char_attribute): Use `map_char_table' instead of
2351         `map_char_id_table'.
2352
2353 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2354
2355         * syntax.h (SYNTAX_CODE_UNSAFE): New implementation in XEmacs
2356         UTF-2000.
2357         (update_syntax_table): Deleted in XEmacs UTF-2000.
2358
2359         * syntax.c (find_defun_start): Use `syntax_table' instead of
2360         `mirror_syntax_table' in XEmacs UTF-2000.
2361         (Fset_syntax_table): Don't use `mirror_syntax_table' in XEmacs
2362         UTF-2000.
2363         (Fchar_syntax): Use `syntax_table' instead of `mirror_table' in
2364         XEmacs UTF-2000.
2365         (Fmatching_paren): Likewise.
2366         (scan_words): Use `syntax_table' instead of `mirror_syntax_table'
2367         in XEmacs UTF-2000.
2368         (find_start_of_comment): Likewise.
2369         (find_end_of_comment): Likewise.
2370         (Fforward_comment): Likewise.
2371         (scan_lists): Likewise.
2372         (char_quoted): Likewise.
2373         (Fbackward_prefix_chars): Likewise.
2374         (scan_sexps_forward): Likewise.
2375         (update_just_this_syntax_table): Deleted in XEmacs UTF-2000.
2376         (update_syntax_table): Likewise.
2377
2378         * search.c (skip_chars): Use `syntax_table' instead of
2379         `mirror_syntax_table' in XEmacs UTF-2000.
2380         (wordify): Likewise.
2381         (Freplace_match): Likewise.
2382
2383         * regex.c (re_compile_fastmap): Use `syntax_table' instead of
2384         `mirror_syntax_table' in XEmacs UTF-2000.
2385         (WORDCHAR_P_UNSAFE): Likewise.
2386         (re_match_2_internal): Likewise.
2387
2388         * font-lock.c (find_context): Use `buf->syntax_table' instead of
2389         `buf->mirror_syntax_table' in XEmacs UTF-2000.
2390
2391         * cmds.c (internal_self_insert): Use `buf->syntax_table' instead
2392         of `buf->mirror_syntax_table' in XEmacs UTF-2000.
2393
2394         * chartab.h (struct Lisp_Char_Table): Delete `mirror_table' in
2395         XEmacs UTF-2000.
2396
2397         * chartab.c (mark_char_table): Don't mark `mirror_table' in XEmacs
2398         UTF-2000.
2399         (print_char_table): Print `default_value' in XEmacs UTF-2000.
2400         (char_table_description): Delete `mirror_table' in XEmacs
2401         UTF-2000.
2402         (fill_char_table): Don't call `update_syntax_table' in XEmacs
2403         UTF-2000.
2404         (Fmake_char_table): Don't use `mirror_table' in XEmacs UTF-2000.
2405         (Fcopy_char_table): Likewise.
2406         (put_char_table): Don't call `update_syntax_table' in XEmacs
2407         UTF-2000.
2408
2409         * casefiddle.c (casify_object): Use `buf->syntax_table' instead of
2410         `buf->mirror_syntax_table' in XEmacs UTF-2000.
2411         (casify_region_internal): Likewise.
2412
2413         * bufslots.h: Delete `mirror_syntax_table' in XEmacs UTF-2000.
2414
2415         * buffer.c (common_init_complex_vars_of_buffer): Don't use
2416         `mirror_syntax_table' in XEmacs UTF-2000.
2417
2418         * abbrev.c (abbrev_match): Use `buf->syntax_table' instead of
2419         `buf->mirror_syntax_table' in XEmacs UTF-2000.
2420         (Fexpand_abbrev): Likewise.
2421
2422 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2423
2424         * chartab.c (vars_of_chartab): Update `utf-2000-version' to 0.18.
2425
2426 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2427
2428         * chartab.c (map_over_uint8_byte_table): Cancel temporary hack.
2429         (map_over_uint16_byte_table): Likewise.
2430         (map_over_byte_table): Likewise.
2431         (get_char_id_table): Refer `cit->default_value'.
2432         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
2433         (map_char_id_table): Use `1 << 30' instead of `1 << 24' as number
2434         of character-id ranges.
2435         (mark_char_table): Mark `ct->default_value'.
2436         (char_table_description): Add `default_value'.
2437         (fill_char_table): Use `default_value'.
2438         (decode_char_table_range): Decode `nil' as
2439         `CHARTAB_RANGE_DEFAULT'.
2440         (get_char_id_table): Refer `cit->default_value'.
2441         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
2442         (map_char_table): Support `CHARTAB_RANGE_DEFAULT'; cancel
2443         temporary hack; check value of char-table is bound or not.
2444         (slow_map_char_table_fun): Support `CHARTAB_RANGE_DEFAULT'.
2445
2446         * chartab.h (struct Lisp_Char_Table): Add new member
2447         `default_value' in XEmacs UTF-2000.
2448         (CHAR_TABLE_VALUE_UNSAFE): Use `default_value'.
2449         (enum chartab_range_type): Add `CHARTAB_RANGE_DEFAULT' in XEmacs
2450         UTF-2000.
2451
2452 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2453
2454         * chartab.h (Lisp_Char_ID_Table): Deleted.
2455
2456         * chartab.c (char_table_description): Fix typo.
2457         (Fmap_char_attribute): Use `Lisp_Char_Table' instead of
2458         `Lisp_Char_ID_Table'.
2459
2460 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2461
2462         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_TABLEP' instead of
2463         `CHAR_ID_TABLE_P'.
2464
2465         * mule-charset.c (remove_char_ccs): Use `CHAR_TABLEP' instead of
2466         `CHAR_ID_TABLE_P'.
2467
2468         * chartab.h (XCHAR_ID_TABLE): Deleted.
2469         (XSETCHAR_ID_TABLE): Deleted.
2470         (CHAR_ID_TABLE_P): Deleted.
2471
2472         * chartab.c (put_char_id_table): Use `CHAR_TABLEP' instead of
2473         `CHAR_ID_TABLE_P'.
2474         (Fget_composite_char): Likewise.
2475         (put_char_table): Likewise.
2476         (add_char_attribute_alist_mapper): Fixed.
2477         (Fchar_attribute_alist): Use `CHAR_TABLEP' instead of
2478         `CHAR_ID_TABLE_P'.
2479         (Fget_char_attribute): Likewise.
2480         (Fget_char_attribute): Likewise.
2481         (Fmap_char_attribute): Likewise.
2482
2483         * char-ucs.h (charset_code_point): Use `CHAR_TABLEP' instead of
2484         `CHAR_ID_TABLE_P'.
2485         (encode_char_1): Likewise.
2486
2487 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2488
2489         * text-coding.c (COMPOSE_ADD_CHAR): Use `XCHAR_TABLE' instead of
2490         `XCHAR_ID_TABLE'.
2491
2492         * mule-charset.c (put_char_ccs_code_point): Use `XCHAR_TABLE'
2493         instead of `XCHAR_ID_TABLE'.
2494         (remove_char_ccs): Likewise.
2495
2496         * chartab.c (put_char_id_table): Use `XCHAR_TABLE' instead of
2497         `XCHAR_ID_TABLE'.
2498         (Fget_composite_char): Likewise.
2499         (Fchar_variants): Likewise.
2500         (put_char_table): Likewise.
2501         (add_char_attribute_alist_mapper): Likewise.
2502         (Fchar_attribute_alist): Likewise.
2503         (Fget_char_attribute): Likewise.
2504         (Fput_char_attribute): Likewise.
2505         (Fmap_char_attribute): Likewise.
2506         (Fmap_char_attribute): Likewise.
2507
2508         * char-ucs.h (charset_code_point): Use `XCHAR_TABLE' instead of
2509         `XCHAR_ID_TABLE'.
2510         (encode_char_1): Likewise.
2511
2512 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2513
2514         * chartab.c (map_char_id_table): Use `Lisp_Char_Table' instead of
2515         `Lisp_Char_ID_Table'.
2516         (mark_char_id_table): Deleted.
2517         (print_char_id_table): Likewise.
2518         (char_id_table_equal): Likewise.
2519         (char_id_table_hash): Likewise.
2520         (char_id_table_description): Likewise.
2521         (char_id_table): Likewise.
2522         (make_char_id_table): Use `Fmake_char_table' and
2523         `fill_char_table'.
2524         (get_char_id_table): Use `Lisp_Char_Table' instead of
2525         `Lisp_Char_ID_Table'.
2526         (put_char_id_table): Likewise.
2527         (Fput_char_attribute): Use `XCHAR_TABLE' instead of
2528         `XCHAR_ID_TABLE'.
2529         (Fremove_char_attribute): Likewise.
2530         (syms_of_chartab): Don't define type `char-id-table'.
2531
2532         * chartab.h (struct Lisp_Char_ID_Table): Deleted.
2533         (char_id_table): Likewise.
2534         (GC_CHAR_ID_TABLE_P): Likewise.
2535         (Lisp_Char_ID_Table): Use structure `Lisp_Char_Table'.
2536         (XCHAR_ID_TABLE): Use `XCHAR_TABLE'.
2537         (XSETCHAR_ID_TABLE): Use `XSETCHAR_TABLE'.
2538         (CHAR_ID_TABLE_P): Use `CHAR_TABLEP'.
2539         (get_char_id_table): Use `Lisp_Char_Table' instead of
2540         `Lisp_Char_ID_Table'.
2541         (put_char_id_table_0): Likewise.
2542         (put_char_id_table): Likewise.
2543
2544 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2545
2546         * chartab.h: Lisp_Byte_Table related codes are moved from
2547         chartab.h.
2548
2549         * char-ucs.h: Move Lisp_Byte_Table related codes to chartab.h.
2550
2551 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2552
2553         * chartab.h: Don't include "chartab.h".
2554         (struct Lisp_Char_ID_Table): Moved from char-ucs.h.
2555         (Lisp_Char_ID_Table): Likewise.
2556         (char_id_table): Likewise.
2557         (XCHAR_ID_TABLE): Likewise.
2558         (XSETCHAR_ID_TABLE): Likewise.
2559         (CHAR_ID_TABLE_P): Likewise.
2560         (GC_CHAR_ID_TABLE_P): Likewise.
2561         (get_char_id_table): Likewise.
2562
2563         * char-ucs.h: Include "chartab.h".
2564         (struct Lisp_Char_ID_Table): Moved to chartab.h.
2565         (Lisp_Char_ID_Table): Likewise.
2566         (char_id_table): Likewise.
2567         (XCHAR_ID_TABLE): Likewise.
2568         (XSETCHAR_ID_TABLE): Likewise.
2569         (CHAR_ID_TABLE_P): Likewise.
2570         (GC_CHAR_ID_TABLE_P): Likewise.
2571         (get_char_id_table): Likewise.
2572
2573 2001-09-01  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2574
2575         * chartab.c (copy_uint8_byte_table): New function.
2576         (copy_uint16_byte_table): New function.
2577         (copy_byte_table): New function.
2578         (map_over_uint8_byte_table): Modify to avoid huge numbers of
2579         characters to call.
2580         (map_over_uint16_byte_table): Likewise.
2581         (map_over_byte_table): Likewise.
2582         (get_byte_table): Move prototype to chartab.h.
2583         (put_byte_table): Likewise.
2584         (put_char_id_table_0): Moved to chartab.h.
2585         (mark_char_table_entry): Don't define in XEmacs UTF-2000.
2586         (char_table_entry_equal): Likewise.
2587         (char_table_entry_hash): Likewise.
2588         (char_table_entry_description): Likewise.
2589         (char_table_entry): Likewise.
2590         (make_char_table_entry): Likewise.
2591         (copy_char_table_entry): Likewise.
2592         (get_non_ascii_char_table_value): Likewise.
2593         (map_over_charset_ascii): Likewise.
2594         (map_over_charset_control_1): Likewise.
2595         (map_over_charset_row): Likewise.
2596         (map_over_other_charset): Likewise.
2597         (mark_char_table): Modify for new structure in XEmacs UTF-2000.
2598         (print_char_table): Likewise.
2599         (char_table_equal): Likewise.
2600         (char_table_hash): Likewise.
2601         (char_table_description): Likewise.
2602         (fill_char_table): Likewise.
2603         (Fcopy_char_table): Likewise.
2604         (get_char_table): Likewise.
2605         (Fget_range_char_table): Likewise.
2606         (put_char_table): Likewise.
2607         (map_char_table): Likewise.
2608         (syms_of_chartab): Don't define `char_table_entry' in XEmacs
2609         UTF-2000.
2610
2611 2001-08-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2612
2613         * cmds.c (vars_of_cmds): Use `put_char_id_table_0' for
2614         `Vauto_fill_chars' in XEmacs UTF-2000.
2615
2616         * chartab.h (get_byte_table): New prototype [moved from
2617         chartab.c].
2618         (put_byte_table): Likewise [moved from chartab.c].
2619         (put_char_id_table_0): New inline function [moved from chartab.c].
2620         (struct Lisp_Char_Table_Entry): Don't define in XEmacs UTF-2000.
2621         (Lisp_Char_Table_Entry): Likewise.
2622         (char_table_entry): Likewise.
2623         (XCHAR_TABLE_ENTRY): Likewise.
2624         (XSETCHAR_TABLE_ENTRY): Likewise.
2625         (CHAR_TABLE_ENTRYP): Likewise.
2626         (CHECK_CHAR_TABLE_ENTRY): Likewise.
2627         (NUM_ASCII_CHARS): Likewise.
2628         (struct Lisp_Char_Table): New implementation in XEmacs UTF-2000.
2629         (CHAR_TABLE_VALUE_UNSAFE): Likewise.
2630
2631 2001-08-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2632
2633         * chartab.c (get_char_id_table): Change interface.
2634         (put_char_id_table_0): New function.
2635         (put_char_id_table): Change interface; new implementation.
2636         (Fget_composite_char): Modify for interface change of
2637         `get_char_id_table'.
2638         (Fchar_variants): Likewise.
2639         (add_char_attribute_alist_mapper): Likewise.
2640         (Fchar_attribute_alist): Likewise.
2641         (Fget_char_attribute): Likewise.
2642         (Fput_char_attribute): Allow coded-charset or [CODED-CHARSET ROW]
2643         as same as character as the first argument like `put-char-table';
2644         modify for interface change of `put_char_id_table'.
2645         (Fremove_char_attribute): Modify for interface change of
2646         `put_char_id_table'.
2647
2648 2001-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2649
2650         * text-coding.c: Sync up with XEmacs 21.2.41.
2651         (COMPOSE_ADD_CHAR): Modify for interface change of
2652         `get_char_id_table'.
2653
2654         * mule-charset.c (put_char_ccs_code_point): Modify for interface
2655         change of `put_char_id_table'.
2656         (remove_char_ccs): Likewise.
2657
2658         * chartab.h (put_char_id_table): Change interface.
2659
2660         * char-ucs.h (get_char_id_table): Change interface.
2661         (charset_code_point): Modify for interface change of
2662         `get_char_id_table'.
2663         (encode_char_1): Likewise.
2664
2665 2001-08-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2666
2667         * chartab.c (map_over_uint8_byte_table): Change arguments; add new
2668         argument `ccs'.
2669         (map_over_uint16_byte_table): Likewise.
2670         (map_over_byte_table): Likewise.
2671         (map_char_id_table): Add new argument `range' like
2672         `map_char_table'.
2673         (Fmap_char_attribute): Add new argument `range' like
2674         `Fmap_char_table'.
2675
2676 2001-08-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2677
2678         * chartab.c (map_over_uint8_byte_table): Change interface of
2679         mapping function to use struct chartab_range instead of Emchar.
2680         (map_over_uint16_byte_table): Likewise.
2681         (map_over_byte_table): Likewise.
2682         (map_char_id_table): Likewise.
2683         (struct slow_map_char_id_table_arg): Deleted.
2684         (slow_map_char_id_table_fun): Deleted.
2685         (Fmap_char_attribute): Use struct `slow_map_char_table_arg' and
2686         function `slow_map_char_table_fun' instead of struct
2687         `slow_map_char_id_table_arg' and function
2688         `slow_map_char_id_table_fun'.
2689
2690 2001-08-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2691
2692         * mule-charset.c: Move char-it-table related codes to chartab.c.
2693         (Vutf_2000_version): Moved to chartab.c.
2694         (Fdefine_char): Likewise.
2695         (Ffind_char): Likewise.
2696         (syms_of_mule_charset): Move types `uint8-byte-table',
2697         `uint16-byte-table', `byte-table' and `char-id-table' to
2698         chartab.c; move functions `char_attribute_list,
2699         `find_char_attribute_table, `char_attribute_alist,
2700         `get_char_attribute, `put_char_attribute, `remove_char_attribute,
2701         `map_char_attribute, `define_char, `find_char, `char_variants and
2702         `get_composite_char to chartab.c; move symbols `=>ucs',
2703         `->decomposition', `compat', `isolated', `initial', `medial',
2704         `final', `vertical', `noBreak', `fraction', `super', `sub',
2705         `circle', `square', `wide', `narrow', `small' and `font' to
2706         chartab.c.
2707         (vars_of_mule_charset): Move `utf-2000-version' to chartab.c; move
2708         setting codes for `Vcharacter_composition_table' and
2709         `Vcharacter_variant_table' to chartab.c.
2710         (complex_vars_of_mule_charset): Move setting code for
2711         `Vchar_attribute_hash_table' to chartab.c.
2712
2713         * chartab.h: Include "char-ucs.h" if --with-utf-2000 is specified.
2714         (make_char_id_table): New prototype.
2715         (put_char_id_table): Likewise.
2716         (Fget_char_attribute): Likewise.
2717
2718         * chartab.c: Move char-id-table related code from mule-charset.c.
2719         (Vutf_2000_version): Moved from mule-charset.c.
2720
2721         * char-ucs.h (Qucs): New external variable.
2722         (put_char_ccs_code_point): New prototype.
2723         (remove_char_ccs): Likewise.
2724
2725 2001-08-14  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2726
2727         * mule-charset.c (Vcharset_ucs_jis): New variable.
2728         (Qucs_jis): Likewise.
2729         (syms_of_mule_charset): Add new symbol `ucs-jis'.
2730         (complex_vars_of_mule_charset): Add new coded-charset `ucs-jis'.
2731
2732         * char-ucs.h (LEADING_BYTE_UCS_JIS): New macro.
2733
2734 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2735
2736         * mule-charset.c (map_over_uint8_byte_table): New function.
2737         (map_over_uint16_byte_table): Likewise.
2738         (map_over_byte_table): Likewise.
2739         (map_char_id_table): Likewise.
2740         (slow_map_char_id_table_fun): Likewise.
2741         (Fmap_char_attribute): Likewise.
2742         (syms_of_mule_charset): Add new function `map-char-attribute'.
2743
2744 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2745
2746         * mule-charset.c (Ffind_char): New function in XEmacs UTF-2000.
2747         (syms_of_mule_charset): Add new function `find-char'.
2748
2749 2001-08-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2750
2751         * mule-charset.c (Vcharset_chinese_big5_cdp): New variable in
2752         XEmacs UTF-2000.
2753         (Qchinese_big5_cdp): New variable in XEmacs UTF-2000.
2754         (syms_of_mule_charset): Add new symbol `chinese-big5-cdp' in
2755         XEmacs UTF-2000.
2756         (complex_vars_of_mule_charset): Add new coded-charset
2757         `chinese-big5-cdp' in XEmacs UTF-2000; change registry of
2758         `ideograph-gt-pj-*'.
2759
2760         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5_CDP): New macro.
2761
2762 2001-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2763
2764         * mule-charset.c (encode_builtin_char_1): Purge codes about
2765         {MIN|MAX}_CHAR_{GREEK|CYRILLIC}; comment out code about
2766         {MIN|MAX}_CHAR_HEBREW.
2767         (complex_vars_of_mule_charset): Comment out {MIN|MAX}_CHAR_HEBREW;
2768         don't use {MIN|MAX}_CHAR_HEBREW to define `hebrew-iso8859-8'.
2769
2770         * char-ucs.h (MIN_CHAR_GREEK): Purged.
2771         (MAX_CHAR_GREEK): Purged.
2772         (MIN_CHAR_CYRILLIC): Purged.
2773         (MAX_CHAR_CYRILLIC): Purged.
2774         (MIN_CHAR_HEBREW): Commented out.
2775         (MAX_CHAR_HEBREW): Likewise.
2776
2777 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2778
2779         * mule-charset.c (Qto_ucs): New variable.
2780         (Fput_char_attribute): Treat `=>ucs' as same as `->ucs'.
2781         (Fdefine_char): Likewise.
2782         (syms_of_mule_charset): Add new symbol `=>ucs'.
2783
2784 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2785
2786         * mule-charset.c (Fdecode_char): Fixed.
2787
2788 2001-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2789
2790         * mule-charset.c (complex_vars_of_mule_charset): Modify registry
2791         of latin-tcvn5712 to accept "tcvn5712.1993-1" as same as
2792         "tcvn5712-1".
2793
2794 2001-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2795
2796         * mule-charset.c (Vcharset_ucs_big5): New variable.
2797         (Qucs_big5): Likewise.
2798         (syms_of_mule_charset): Add new symbol `ucs-big5'.
2799         (complex_vars_of_mule_charset): Add new coded-charset `ucs-big5'.
2800
2801         * char-ucs.h (LEADING_BYTE_UCS_BIG5): New macro.
2802
2803 2001-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2804
2805         * mule-charset.c (decode_builtin_char): Check Big5 code range
2806         which can be mapped to `chinese-big5-1' and `chinese-big5-2'.
2807
2808 2001-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2809
2810         * mule-charset.c (Vcharset_chinese_gb12345): New variable.
2811         (Qchinese_gb12345): Likewise.
2812         (Fdecode_builtin_char): Fixed.
2813         (syms_of_mule_charset): Add `chinese-gb12345'.
2814         (complex_vars_of_mule_charset): Add coded-charset
2815         `chinese-gb12345'.
2816
2817         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x70.
2818         (LEADING_BYTE_CHINESE_GB12345): New macro.
2819
2820 2001-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2821
2822         * mule-charset.c (Fdecode_builtin_char): Use `latin-viscii-lower'
2823         and `latin-viscii-upper' for `latin-viscii'.
2824
2825 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2826
2827         * mule-charset.c (Fdecode_builtin_char): Comment out
2828         regularization code for ISO-IR GR representation.
2829
2830 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2831
2832         * mule-charset.c (decode_builtin_char): New function; renamed from
2833         `make_builtin_char'; return -1 instead of signal.
2834         (Fdecode_builtin_char): Use `decode_builtin_char'.
2835
2836         * char-ucs.h (decode_builtin_char): New prototype; renamed from
2837         `make_builtin_char'.
2838         (DECODE_CHAR): Use `decode_builtin_char' instead of
2839         `make_builtin_char'; use mapping table of `chinese-big5' for
2840         `chinese-big5-{1,2}'.
2841
2842 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2843
2844         * text-coding.c (char_encode_big5): New function.
2845         (char_finish_big5): Likewise.
2846         (reset_encoding_stream): Use `char_encode_big5' and
2847         `char_finish_big5' for CODESYS_BIG5.
2848         (mule_encode): Don't use `encode_coding_big5'.
2849         (encode_coding_big5): Deleted.
2850
2851 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2852
2853         * text-coding.c (BYTE_BIG5_TWO_BYTE_1_P): Support private area
2854         0x81- in XEmacs UTF-2000.
2855         (detect_coding_big5): Likewise.
2856
2857 2001-07-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2858
2859         * mule-charset.c (Fdefine_char): Don't use a CCS property to
2860         generate character-id if the CCS property does not have
2861         corresponding predefined character.
2862         (make_builtin_char): Return -1 if corresponding predefined
2863         character is not found.
2864         (Fdecode_char): Return nil if corresponding character is not
2865         found.
2866         (complex_vars_of_mule_charset): Change `ucs-cns' to 256^3-set and
2867         don't map to builtin ucs space.
2868
2869 2001-07-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2870
2871         * char-ucs.h (MAX_LEADING_BYTE_PRIVATE): Fixed.
2872         (MAX_CHAR_GT): Changed to `(MIN_CHAR_GT + 66773)'.
2873
2874 2001-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2875
2876         * mule-charset.c (Vcharset_ideograph_gt): New variable.
2877         (Vcharset_ideograph_gt_pj_{1..11}): Likewise.
2878         (Qideograph_gt): Likewise.
2879         (Qideograph_gt_pj_{1..11}): Likewise.
2880         (syms_of_mule_charset): Add `ideograph-gt', `ideograph-gt-pj-1',
2881         `ideograph-gt-pj-2', ..., `ideograph-gt-pj-10' and
2882         `ideograph-gt-pj-11'.
2883         (complex_vars_of_mule_charset): Add coded-charset `ideograph-gt',
2884         `ideograph-gt-pj-1', `ideograph-gt-pj-2', ...,
2885         `ideograph-gt-pj-10' and `ideograph-gt-pj-11'.
2886
2887         * char-ucs.h (LEADING_BYTE_GT): New macro.
2888         (LEADING_BYTE_GT_PJ_{1..11}): Likewise.
2889         (MIN_CHAR_GT): Likewise.
2890         (MAX_CHAR_GT): Likewise.
2891
2892 2001-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2893
2894         * lisp-disunion.h (XCHARVAL): New implementation for UTF-2000 to
2895         support U-60000000 .. U-7FFFFFFF with 32 bits architecture.
2896
2897         * doprnt.c (unsigned_int_converters): Add `c'.
2898         (emacs_doprnt_1): Use `XUINT' for unsigned integers.
2899
2900         * char-ucs.h (MIN_CHAR_DAIKANWA): Don't refer `MIN_CHAR_MOJIKYO'.
2901         (MAX_CHAR_DAIKANWA): Refer `MIN_CHAR_DAIKANWA' instead of
2902         `MIN_CHAR_MOJIKYO'.
2903         (MIN_CHAR_MOJIKYO_0): New macro; refer `MIN_CHAR_DAIKANWA'.
2904         (MAX_CHAR_MOJIKYO_0): New macro.
2905         (MIN_CHAR_MOJIKYO): Changed to 0x60000000.
2906
2907 2001-06-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2908
2909         * mule-charset.c (Fdefine_char): Delete cemented out code.
2910         (encode_builtin_char_1): Modify for new allocation of builtin
2911         Mojikyo characters.
2912
2913         * lisp-disunion.h (XCHARVAL): Cast the argument into EMACS_UINT.
2914
2915 2001-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2916
2917         * mule-charset.c (Vcharset_ucs_cns): New variable.
2918         (Qucs_cns): New variable.
2919         (syms_of_mule_charset): Add new symbol `ucs-cns'.
2920         (complex_vars_of_mule_charset): Add new coded-charset `ucs-cns'.
2921
2922 2001-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2923
2924         * char-ucs.h (LEADING_BYTE_UCS_CNS): New macro.
2925
2926 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
2927
2928         * search.c (search_buffer): Make `charset_base_code' as
2929         character-id >> 6 to eliminate the corresponding last byte in
2930         UTF-8 representation [I'm not sure it is right thing].
2931         (boyer_moore): Likewise.
2932
2933 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
2934
2935         * emacs.c (vars_of_emacs): Convert XEMACS_CODENAME to internal
2936         representation in MULE.
2937
2938 2000-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2939
2940         * text-coding.c (Fmake_coding_system): Use
2941         `EXTERNAL_PROPERTY_LIST_LOOP_3' instead of
2942         `EXTERNAL_PROPERTY_LIST_LOOP'.
2943
2944 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2945
2946         * text-coding.c (decode_output_utf8_partial_char): New function.
2947         (decode_coding_utf8): Use `decode_output_utf8_partial_char'.
2948
2949 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2950
2951         * text-coding.c (decode_coding_utf8): Output original byte
2952         sequence if it is broken; change order of conditions.
2953
2954         * mb-utf-8.h (REP_BYTES_BY_FIRST_BYTE): Use Bufbyte; reverse order
2955         of conditions.
2956
2957         * mb-multibyte.h (BYTE_ASCII_P):
2958         Use bit ops for char-signedness safety.
2959         (BYTE_C0_P): Use bit ops for char-signedness safety.
2960         (BYTE_C1_P): Use bit ops for char-signedness safety.
2961
2962         * character.h: (XCHAR_OR_CHAR_INT):
2963         Always use inline function.
2964         Remove redundant type checking assert() - XINT will abort quite
2965         nicely.
2966
2967 2000-11-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2968
2969         * text-coding.c: (Fencode_shift_jis_char):
2970         (Fencode_big5_char):
2971         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
2972         Replace 0 with '\0' when working with bytes.
2973         Replace initial "(" with "\(" in docstrings.
2974
2975         (Fmake_coding_system):
2976         When type is ccl and value is vector, register it with a proper
2977         symbol.  And checks whether the given ccl program is valid.
2978         (mule_decode): When calling ccl_driver, if src indicates
2979         NULL pointer, set an empty string instead.
2980         (mule_encode): Likewise.
2981
2982         (detect_eol_type):
2983         (detect_coding_sjis):
2984         (decode_coding_sjis):
2985         (detect_coding_big5):
2986         (decode_coding_big5):
2987         (detect_coding_ucs4):
2988         (decode_coding_ucs4):
2989         (detect_coding_utf8):
2990         (decode_coding_utf8):
2991         (detect_coding_iso2022):
2992         (decode_coding_iso2022):
2993         (decode_coding_no_conversion):
2994         (mule_decode):
2995         Make all detecting and decoding functions take an Extbyte * arg.
2996         (text_encode_generic):
2997         (encode_coding_big5):
2998         (encode_coding_no_conversion):
2999         (mule_encode):
3000         Make all encoding functions take a Bufbyte * arg.
3001         Use size_t instead of unsigned int for memory sizes.
3002         Only cast to unsigned char whenever dereferencing Extbyte *.
3003
3004         (struct lrecord_description fcd_description_1): Use countof.
3005         (complex_vars_of_file_coding):
3006         Use countof instead of sizeof.
3007         Use CHECK_NATNUM instead of CHECK_INT.
3008
3009 2000-11-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3010
3011         * mule-charset.c (Fget_char_attribute): Add new optional argument
3012         `default-value'.
3013         (put_char_ccs_code_point): Modify for `Fget_char_attribute'.
3014         (remove_char_ccs): Likewise.
3015
3016 2000-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3017
3018         * text-coding.c (char_encode_shift_jis): New implementation in
3019         UTF-2000.
3020         (decode_coding_big5): Use `DECODE_CHAR (Vcharset_chinese_big5,
3021         ...)'.
3022
3023         * mule-charset.c (Vcharset_chinese_big5): New variable in
3024         UTF-2000.
3025         (Qchinese_big5): New variable in UTF-2000.
3026         (BIG5_SAME_ROW): New macro in UTF-2000.
3027         (make_builtin_char): Use builtin characters of
3028         `Vcharset_chinese_big5_1' and `Vcharset_chinese_big5_2' as builtin
3029         characters of `Vcharset_chinese_big5'.
3030         (syms_of_mule_charset): Add new symbol `chinese-big5' in UTF-2000.
3031         (complex_vars_of_mule_charset): Add new coded-charset
3032         `chinese-big5' in UTF-2000.
3033
3034         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5): New macro.
3035         (Vcharset_chinese_big5): New external variable declaration.
3036         (Vcharset_japanese_jisx0208_1990): Likewise.
3037
3038 2000-07-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3039
3040         * mule-charset.c (expand_uint8_byte_table_to_uint16): New
3041         function.
3042         (put_byte_table): Use `expand_uint8_byte_table_to_uint16'.
3043
3044 2000-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3045
3046         * mule-charset.c (complex_vars_of_mule_charset): Define new macro
3047         `DEF_MOJIKYO_PJ' in UTF-2000; use `DEF_MOJIKYO_PJ' to define
3048         `mojikyo-pj-*'; add "MojikyoPJ-*" to charset-registry of
3049         `mojikyo-pj-*'.
3050
3051 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3052
3053         * text-coding.c (decode_coding_big5): Modify for UTF-2000.
3054
3055 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3056
3057         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3058         to 0.17.
3059
3060 2000-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3061
3062         * file-coding.c (ucs_to_char): Don't use `CHARSET_TYPE_*'; modify
3063         for `CHARSET_BY_ATTRIBUTES'.
3064         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
3065         `CHARSET_BY_ATTRIBUTES'.
3066
3067         * text-coding.c (struct decoding_stream): Rename member `CH' to
3068         `CPOS'.
3069         (reset_decoding_stream): Use `str->cpos' instead of `str->ch'.
3070         (decode_coding_sjis): Likewise.
3071         (decode_coding_big5): Likewise.
3072         (decode_coding_ucs4): Likewise.
3073         (decode_coding_utf8): Likewise.
3074         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
3075         `CHARSET_BY_ATTRIBUTES'.
3076         (decode_coding_iso2022): Use `str->cpos' instead of `str->ch'; use
3077         `str->counter'; decode 3, 4 bytes sets.
3078         (char_encode_iso2022): Don't use `BREAKUP_CHAR'; encode 3, 4 bytes
3079         sets.
3080         (decode_coding_no_conversion): Use `str->cpos' instead of
3081         `str->ch'.
3082
3083         * mule-charset.c (Vcharset_mojikyo_2022_1): New variable.
3084         (Qmojikyo_2022_1): New variable.
3085         (make_charset): Don't use `CHARSET_TYPE_*'.
3086         (range_charset_code_point): Support coded-charset
3087         `mojikyo-2022-1'.
3088         (encode_builtin_char_1): Modify for `CHARSET_BY_ATTRIBUTES'.
3089         (Fmake_charset): Don't use `CHARSET_TYPE_*'; modify for
3090         `CHARSET_BY_ATTRIBUTES'.
3091         (Fcharset_from_attributes): Don't use `CHARSET_TYPE_*'; modify for
3092         `CHARSET_BY_ATTRIBUTES'.
3093         (syms_of_mule_charset): Add new symbol `mojikyo-2022-1'.
3094         (complex_vars_of_mule_charset): Add new coded-charset
3095         `mojikyo-2022-1'.
3096
3097         * mule-charset.h (CHARSET_BY_ATTRIBUTES): New implementation and
3098         interface; changed to inline function.
3099
3100         * char-ucs.h (Vcharset_mojikyo_2022_1): New variable.
3101         (LEADING_BYTE_MOJIKYO_2022_1): New macro.
3102         (LEADING_BYTE_MOJIKYO_2022_2): New macro.
3103         (CHARSET_TYPE_94): Deleted.
3104         (CHARSET_TYPE_94X94): Deleted.
3105         (CHARSET_TYPE_96): Deleted.
3106         (CHARSET_TYPE_96X96): Deleted.
3107         (CHARSET_TYPE_128): Deleted.
3108         (CHARSET_TYPE_128X128): Deleted.
3109         (CHARSET_TYPE_256): Deleted.
3110         (CHARSET_TYPE_256X256): Deleted.
3111         (CHARSET_BY_ATTRIBUTES): New implementation and interface; changed
3112         to inline function.
3113         (DECODE_MOJIKYO_2022): New inline function.
3114         (DECODE_CHAR): Use `DECODE_MOJIKYO_2022'; decode
3115         `Vcharset_mojikyo_2022_1'.
3116
3117 2000-07-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3118
3119         * mule-charset.c (byte_table_same_value_p): Use `internal_equal'
3120         instead of `EQ'.
3121         (put_byte_table): Likewise.
3122         (char_id_table_equal): Use `get_byte_table' [new implementation].
3123
3124 2000-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3125
3126         * mule-charset.c: Include <limits.h> in UTF-2000.
3127         (BT_UINT8_MIN): New macro in UTF-2000.
3128         (BT_UINT8_MAX): New macro in UTF-2000.
3129         (BT_UINT8_t): New macro in UTF-2000.
3130         (BT_UINT8_nil): New macro in UTF-2000.
3131         (BT_UINT8_unbound): New macro in UTF-2000.
3132         (INT_UINT8_P): New inline function in UTF-2000.
3133         (UINT8_VALUE_P): New inline function in UTF-2000.
3134         (UINT8_ENCODE): New inline function in UTF-2000.
3135         (UINT8_DECODE): New inline function in UTF-2000.
3136         (mark_uint8_byte_table): New function in UTF-2000.
3137         (print_uint8_byte_table): New function in UTF-2000.
3138         (uint8_byte_table_equal): New function in UTF-2000.
3139         (uint8_byte_table_hash): New function in UTF-2000.
3140         (make_uint8_byte_table): New function in UTF-2000.
3141         (uint8_byte_table_same_value_p): New function in UTF-2000.
3142         (BT_UINT16_MIN): New macro in UTF-2000.
3143         (BT_UINT16_MAX): New macro in UTF-2000.
3144         (BT_UINT16_t): New macro in UTF-2000.
3145         (BT_UINT16_nil): New macro in UTF-2000.
3146         (BT_UINT16_unbound): New macro in UTF-2000.
3147         (INT_UINT16_P): New inline function in UTF-2000.
3148         (UINT16_VALUE_P): New inline function in UTF-2000.
3149         (UINT16_ENCODE): New inline function in UTF-2000.
3150         (UINT16_DECODE): New inline function in UTF-2000.
3151         (UINT8_TO_UINT16): New inline function in UTF-2000.
3152         (mark_uint16_byte_table): New function in UTF-2000.
3153         (print_uint16_byte_table): New function in UTF-2000.
3154         (uint16_byte_table_equal): New function in UTF-2000.
3155         (uint16_byte_table_hash): New function in UTF-2000.
3156         (make_uint16_byte_table): New function in UTF-2000.
3157         (uint16_byte_table_same_value_p): New function in UTF-2000.
3158         (print_byte_table): New function in UTF-2000.
3159         (byte-table): Use `print_byte_table' as printer.
3160         (make_byte_table): Delete second argument `older'.
3161         (byte_table_same_value_p): New function in UTF-2000.
3162         (copy_byte_table): Deleted.
3163         (get_byte_table): New function in UTF-2000.
3164         (put_byte_table): New function in UTF-2000.
3165         (print_char_id_table): New function in UTF-2000.
3166         (char-id-table): Use `print_char_id_table' as printer.
3167         (make_char_id_table): Delete second argument `older'.
3168         (get_char_id_table): Use `get_byte_table [new implementation].
3169         (put_char_id_table): Use `get_byte_table and `put_byte_table' [new
3170         implementation].
3171         (Ffind_char_attribute_table): New function in UTF-2000.
3172         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
3173         (syms_of_mule_charset): Add LRECORD_IMPLEMENTATION
3174         `uint8_byte_table' and `uint16_byte_table' in UTF-2000.
3175         (syms_of_mule_charset): Add new function
3176         `find-char-attribute-table' in UTF-2000.
3177
3178         * lrecord.h (enum lrecord_type): Add
3179         `lrecord_type_uint16_byte_table' and
3180         `lrecord_type_uint8_byte_table'.
3181
3182         * char-ucs.h (struct Lisp_Uint8_Byte_Table): New structure.
3183         (Lisp_Uint8_Byte_Table): New type.
3184         (XUINT8_BYTE_TABLE): New macro.
3185         (XSETUINT8_BYTE_TABLE): New macro.
3186         (UINT8_BYTE_TABLE_P): New macro.
3187         (GC_UINT8_BYTE_TABLE_P): New macro.
3188         (struct Lisp_Uint16_Byte_Table): New structure.
3189         (Lisp_Uint16_Byte_Table): New type.
3190         (XUINT16_BYTE_TABLE): New macro.
3191         (XSETUINT16_BYTE_TABLE): New macro.
3192         (UINT16_BYTE_TABLE_P): New macro.
3193         (GC_UINT16_BYTE_TABLE_P): New macro.
3194
3195 2000-07-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3196
3197         * mule-charset.c (Vcharacter_ideographic_radical_table): Deleted.
3198         (Vcharacter_ideographic_strokes_table): Deleted.
3199         (Vcharacter_total_strokes_table): Deleted.
3200         (Vcharacter_morohashi_daikanwa_table): Deleted.
3201         (Vcharacter_decomposition_table): Deleted.
3202         (Qname): Deleted because it is duplicated.
3203         (Qideographic_radical): Deleted.
3204         (Qideographic_strokes): Deleted.
3205         (Qtotal_strokes): Deleted.
3206         (Qmorohashi_daikanwa): Deleted.
3207         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' for
3208         `ideographic-radical', `ideographic-strokes', `total-strokes',
3209         `morohashi-daikanwa' and `->decomposition'.
3210         (Fget_char_attribute): Likewise.
3211         (Fput_char_attribute): Likewise; use `make-vector' instead of
3212         `make_older_vector' for `->decomposition' value.
3213         (Fdefine_char): Comment out code to check `morohashi-daikanwa' and
3214         `ideograph-daikanwa'.
3215         (syms_of_mule_charset): Delete builtin symbols `name',
3216         `ideographic-radical', `ideographic-strokes', `total-strokes' and
3217         `morohashi-daikanwa'.
3218         (vars_of_mule_charset): Don't setup
3219         `Vcharacter_ideographic_radical_table',
3220         `Vcharacter_ideographic_strokes_table',
3221         `Vcharacter_total_strokes_table',
3222         `Vcharacter_morohashi_daikanwa_table' and
3223         `Vcharacter_decomposition_table'.
3224
3225 2000-06-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3226
3227         * alloc.c: Use `HAVE_GGC' instead of `UTF2000' for
3228         `make_older_vector', `make_vector_newer_1' and
3229         `make_vector_newer'.
3230
3231         * lisp.h: Use `HAVE_GGC' instead of `UTF2000' for
3232         `make_older_vector' and `make_vector_newer'.
3233
3234         * config.h.in (HAVE_GGC): New macro.
3235
3236 2000-06-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3237
3238         * mule-charset.c (struct char_attribute_list_closure): New
3239         structure in UTF-2000.
3240         (add_char_attribute_to_list_mapper): New function in UTF-2000.
3241         (Fchar_attribute_list): Likewise.
3242         (Fset_charset_mapping_table): Use `make_vector_newer'.
3243         (Fdecode_builtin_char): New function in UTF-2000.
3244         (syms_of_mule_charset): Add new function `char-attribute-list' and
3245         `decode-builtin-char' in UTF-2000.
3246
3247         * lisp.h (make_vector_newer): New prototype.
3248
3249         * alloc.c (make_vector_newer_1): New function.
3250         (make_vector_newer): New function.
3251
3252 2000-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3253
3254         * char-ucs.h (MAX_CHAR_DAIKANWA): Changed to `(MIN_CHAR_MOJIKYO +
3255         50100)'.
3256
3257 2000-06-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3258
3259         * mule-charset.c (Vchar_attribute_hash_table): New variable.
3260         (Vcharacter_attribute_table): Deleted.
3261         (Vcharacter_name_table): Deleted.
3262         (put_char_attribute): Deleted.
3263         (remove_char_attribute): Deleted.
3264         (struct char_attribute_alist_closure): New structure.
3265         (add_char_attribute_alist_mapper): New function.
3266         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' instead
3267         of `Vcharacter_attribute_table' and `Vcharacter_name_table'.
3268         (Fget_char_attribute): Likewise.
3269         (Fput_char_attribute): Likewise.
3270         (Fremove_char_attribute): Use `Vchar_attribute_hash_table' instead
3271         of `remove_char_attribute'.
3272         (Fdefine_char): Return character.
3273         (vars_of_mule_charset): Don't setup `Vcharacter_attribute_table'
3274         and `Vcharacter_name_table'.
3275         (complex_vars_of_mule_charset): Likewise
3276         `Vchar_attribute_hash_table'.
3277
3278 2000-06-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3279
3280         * character.h (CHARC_CHARSET): New macro.
3281         (CHARC_CHARSET_ID): New macro.
3282         (CHARC_CODE_POINT): New macro.
3283         (CHARC_COLUMNS): New macro.
3284         (CHARC_TO_CHAR): New inline function.
3285         (CHARC_EQ): New inline function.
3286         (CHARC_ASCII_EQ): New inline function.
3287         (CHARC_IS_SPACE): New inline function.
3288         (ASCII_TO_CHARC): New inline function.
3289
3290         * char-ucs.h (encode_char_2): Deleted.
3291         (ENCODE_CHAR): Use `encode_char_1' again.
3292         (breakup_char_1): Likewise.
3293         (CHAR_TO_CHARC): New inline function.
3294
3295         * char-lb.h, char-1byte.h (CHAR_TO_CHARC): New inline function.
3296
3297 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3298
3299         * redisplay.c (add_emchar_rune): Use `ASCII_TO_CHARC',
3300         `CHAR_TO_CHARC' and `CHARC_CHARSET'.
3301         (create_text_block): Use `CHARC_ASCII_EQ' and `CHARC_IS_SPACE'.
3302         (generate_formatted_string_db): Use `CHARC_TO_CHAR'.
3303         (create_string_text_block): Use `CHARC_ASCII_EQ' and
3304         `CHARC_IS_SPACE'.
3305         (pixel_to_glyph_translation): Use `CHARC_ASCII_EQ'.
3306
3307         * redisplay-x.c (separate_textual_runs): Use `CHARC_CHARSET' and
3308         `CHARC_CODE_POINT'.
3309         (x_output_display_block): Use `CHARC_CHARSET' and
3310         `CHARC_ASCII_EQ'.
3311
3312         * redisplay-tty.c (tty_output_display_block): Use
3313         `CHARC_ASCII_EQ'.
3314         (tty_output_display_block): Likewise; use `ASCII_TO_CHARC'.
3315
3316         * redisplay-output.c (compare_runes): Use `CHARC_EQ'.
3317
3318         * insdel.c (find_charsets_in_charc_string): Use
3319         `CHARC_CHARSET_ID'.
3320         (charc_string_displayed_columns): Use `CHARC_COLUMNS'.
3321         (convert_bufbyte_string_into_charc_dynarr): Use `CHAR_TO_CHARC'.
3322         (convert_charc_string_into_bufbyte_dynarr): Use `CHARC_TO_CHAR'.
3323         (convert_charc_string_into_malloced_string): Likewise.
3324
3325 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3326
3327         * toolbar-x.c (x_output_toolbar_button): Use <Charc_dynarr *>
3328         instead of <Emchar_dynarr *> for buf; use
3329         `convert_bufbyte_string_into_charc_dynarr' instead of
3330         `convert_bufbyte_string_into_emchar_dynarr'; use
3331         `find_charsets_in_charc_string' instead of
3332         `find_charsets_in_emchar_string'.
3333
3334         * redisplay.h:
3335         - Include "character.h".
3336         (struct rune): New member `cglyph'; delete member `chr'.
3337
3338         * redisplay.c (redisplay_text_width_charc_string): New function;
3339         delete `redisplay_text_width_emchar_string'.
3340         (rtw_charc_dynarr): New variable; renamed from
3341         `rtw_emchar_dynarr'.
3342         (redisplay_text_width_string): Use `rtw_charc_dynarr' instead of
3343         `rtw_emchar_dynarr'; use
3344         `convert_bufbyte_string_into_charc_dynarr' instead of
3345         `convert_bufbyte_string_into_emchar_dynarr'; use
3346         `redisplay_text_width_charc_string' instead of
3347         `redisplay_text_width_emchar_string'.
3348         (redisplay_frame_text_width_string): Use `rtw_charc_dynarr'
3349         instead of `rtw_emchar_dynarr'; use
3350         `convert_bufbyte_string_into_charc_dynarr' instead of
3351         `convert_bufbyte_string_into_emchar_dynarr'.
3352         (add_emchar_rune): Add <Charc> instead of <Emchar>; use
3353         `redisplay_text_width_charc_string' instead of
3354         `redisplay_text_width_emchar_string'.
3355         (create_text_block): Modify for <struct rune> change.
3356         (generate_formatted_string_db): Likewise.
3357         (create_string_text_block): Likewise.
3358         (pixel_to_glyph_translation): Likewise.
3359
3360         * redisplay-x.c (separate_textual_runs): Use <const Charc *>
3361         instead of <const Emchar *>.
3362         (x_text_width): Likewise.
3363         (x_output_display_block): Use <Charc_dynarr *> instead
3364         <Emchar_dynarr *>; modify for <structure rune> change.
3365         (x_output_string): Use <Charc_dynarr *> instead of <Emchar_dynarr
3366         *>.
3367
3368         * redisplay-tty.c (tty_text_width): Use <const Charc *> instead of
3369         <const Emchar *>; use `charc_string_displayed_columns' instead of
3370         `emchar_string_displayed_columns'.
3371         (tty_output_display_block): Use <Charc_dynarr *> instead of
3372         <Emchar_dynarr *> for buf; modify for <structure rune> change; use
3373         `tty_output_charc_dynarr' instead of `tty_output_emchar_dynarr'.
3374         (tty_output_charc_dynarr_dynarr): New variable; renamed from
3375         `tty_output_emchar_dynarr_dynarr'.
3376         (tty_output_charc_dynarr): New function; delete
3377         `tty_output_charc_dynarr'.
3378
3379         * redisplay-output.c (compare_runes): Modify for `struct rune'.
3380         (redisplay_output_layout): Use <Charc_dynarr *> instead of
3381         <Emchar_dynarr *> for buf; use
3382         `convert_bufbyte_string_into_charc_dynarr' instead of
3383         `convert_bufbyte_string_into_emchar_dynarr'.
3384
3385         * frame.c (title_string_charc_dynarr): New variable; renamed from
3386         `title_string_emchar_dynarr'.
3387         (generate_title_string): Use `title_string_charc_dynarr' instead
3388         of `title_string_emchar_dynarr'; use
3389         `convert_charc_string_into_malloced_string' instead of
3390         `convert_emchar_string_into_malloced_string'.
3391         (init_frame): Use `title_string_charc_dynarr' instead of
3392         `title_string_emchar_dynarr'.
3393
3394         * console.h:
3395         - Include "character.h".
3396         (struct console_methods): Use <const Charc *> instead of <const
3397         Emchar *> in `text_width_method'; use <Charc_dynarr *> instead of
3398         <Emchar_dynarr *> in output_string_method.
3399
3400         * console-x.h (x_output_string): Use <Charc_dynarr *> instead of
3401         <Emchar_dynarr *>.
3402
3403         * console-stream.c (stream_text_width): Use <const Charc *>
3404         instead of <const Emchar *>.
3405
3406         * character.h (Charc_dynarr): New type.
3407
3408         * char-ucs.h (structure Charc): New structure; define new type
3409         `Charc'.
3410
3411         * char-lb.h (DECODE_CHAR): New inline function.
3412         (encode_char_1): New inline function.
3413         (ENCODE_CHAR): New macro.
3414         (structure Charc): New structure; define new type `Charc'.
3415
3416         * char-1byte.h (Vcharset_control_1): New macro.
3417         (Vcharset_latin_iso8859_1): New macro.
3418         (DECODE_CHAR): New inline function.
3419         (encode_char_1): New inline function.
3420         (ENCODE_CHAR): New macro.
3421         (structure Charc): New structure; define new type `Charc'.
3422
3423         * insdel.c (find_charsets_in_charc_string): New function; delete
3424         `find_charsets_in_emchar_string'.
3425         (charc_string_displayed_columns): New function; delete
3426         `emchar_string_displayed_columns'.
3427         (convert_bufbyte_string_into_charc_dynarr): New function; delete
3428         `convert_bufbyte_string_into_emchar_dynarr'.
3429         (convert_charc_string_into_bufbyte_dynarr): New function; delete
3430         `convert_charc_string_into_bufbyte_dynarr'.
3431         (convert_charc_string_into_malloced_string): New function; delete
3432         `convert_charc_string_into_malloced_string'.
3433
3434         * buffer.h (find_charsets_in_charc_string): New prototype; delete
3435         `find_charsets_in_emchar_string'.
3436         (charc_string_displayed_columns): New prototype; delete
3437         `emchar_string_displayed_columns'.
3438         (convert_charc_string_into_bufbyte_dynarr): New prototype; delete
3439         `convert_charc_string_into_bufbyte_dynarr'.
3440         (convert_charc_string_into_malloced_string): New prototype; delete
3441         `convert_charc_string_into_malloced_string'.
3442
3443 2000-06-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3444
3445         * select-x.c (Fx_store_cutbuffer_internal): Modify for UTF-2000.
3446
3447 2000-06-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3448
3449         * chartab.h (get_non_ascii_char_table_value): Use <Charset_ID>.
3450
3451         * char-ucs.h: Use <short> for <Charset_ID>.
3452
3453         * mule-charset.h, char-1byte.h: Use <unsigned char> for
3454         <Charset_ID>.
3455
3456 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3457
3458         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3459         to 0.16.
3460
3461 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3462
3463         * mule-charset.c (Vcharacter_morohashi_daikanwa_table): New
3464         variable.
3465         (Qmorohashi_daikanwa): New variable.
3466         (Fchar_attribute_alist): Use `Vcharacter_morohashi_daikanwa_table'
3467         for `morohashi-daikanwa' attribute.
3468         (Fget_char_attribute): Likewise.
3469         (Fput_char_attribute): Likewise.
3470         (Fdefine_char): Don't setup `morohashi-daikanwa' attribute if it
3471         has the same value of `ideograph-daikanwa'.
3472         (syms_of_mule_charset): Add new symbol `morohashi-daikanwa'.
3473         (vars_of_mule_charset): Setup
3474         `Vcharacter_morohashi_daikanwa_table'.
3475
3476 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3477
3478         * mule-charset.c (Fchar_attribute_alist): Add coded-charset
3479         attributes.
3480         (add_charset_to_list_mapper): Add `key' instead of
3481         `XCHARSET_NAME (value)' to return aliases.
3482
3483 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3484
3485         * mule-charset.c (Vcharacter_ideographic_radical_table): New
3486         variable.
3487         (Vcharacter_ideographic_strokes_table): New variable.
3488         (Qideographic_radical): New variable.
3489         (Qideographic_strokes): New variable.
3490         (Fchar_attribute_alist): Use
3491         `Vcharacter_ideographic_radical_table' for `ideographic-radical'
3492         attribute; use `Vcharacter_ideographic_strokes_table' for
3493         `ideographic-strokes' attribute.
3494         (Fget_char_attribute): Likewise.
3495         (Fput_char_attribute): Likewise.
3496         (syms_of_mule_charset): Add new symbol `ideographic-radical' and
3497         `ideographic-strokes'.
3498         (vars_of_mule_charset): Setup
3499         `Vcharacter_ideographic_radical_table' and
3500         `Vcharacter_ideographic_strokes_table'.
3501
3502 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3503
3504         * mule-charset.c (Vcharacter_total_strokes_table): New variable.
3505         (Qtotal_strokes): New variable.
3506         (Fchar_attribute_alist): Use `Vcharacter_total_strokes_table' for
3507         `total-strokes' attribute.
3508         (Fget_char_attribute): Likewise.
3509         (Fput_char_attribute): Likewise.
3510         (syms_of_mule_charset): Add new symbol `total-strokes'.
3511         (vars_of_mule_charset): Setup `Vcharacter_total_strokes_table'.
3512
3513 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3514
3515         * mule-charset.c (Vcharacter_decomposition_table): New variable.
3516         (Fchar_attribute_alist): Add `name' and `->decomposition' if they
3517         are found.
3518         (Fget_char_attribute): Use `Vcharacter_decomposition_table' for
3519         `->decomposition' attribute.
3520         (Fput_char_attribute): Likewise.
3521         (vars_of_mule_charset): Setup `Vcharacter_decomposition_table'.
3522
3523 2000-06-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3524
3525         * mule-charset.c (decoding_table_check_elements): New function.
3526         (Fset_charset_mapping_table): Use `decoding_table_check_elements'.
3527
3528 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3529
3530         * mule-charset.c (Fset_charset_mapping_table): Use
3531         `put_char_ccs_code_point'.
3532
3533 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3534
3535         * mule-charset.c (decoding_table_put_char): New inline function.
3536         (put_char_ccs_code_point): Use `decoding_table_put_char'.
3537
3538 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3539
3540         * mule-charset.c (CHARSET_BYTE_SIZE): New inline function.
3541         (XCHARSET_BYTE_SIZE): New macro.
3542         (decoding_table_remove_char): New inline function.
3543         (put_char_ccs_code_point): Use `XCHARSET_BYTE_SIZE'; use
3544         `decoding_table_remove_char'.
3545         (remove_char_ccs): Use `decoding_table_remove_char'.
3546         (Fset_charset_mapping_table): Use `CHARSET_BYTE_SIZE'.
3547
3548 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3549
3550         * mule-charset.c (Vcharacter_name_table): New variable.
3551         (Qname): New variable.
3552         (Fget_char_attribute): Use `Vcharacter_name_table' for `name'
3553         attribute.
3554         (Fput_char_attribute): Use function `put_char_ccs_code_point'; use
3555         `Vcharacter_name_table' for `name' attribute.
3556         (Fremove_char_attribute): Use function `remove_char_ccs'.
3557         (put_char_ccs_code_point): New function.
3558         (remove_char_ccs): New function.
3559         (syms_of_mule_charset): Add new symbol `name'.
3560         (vars_of_mule_charset): Setup `Vcharacter_name_table'.
3561
3562 2000-05-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3563
3564         * mule-charset.c (make_byte_table): Add new argument `older'.
3565         (make_char_id_table): Likewise.
3566         (copy_char_id_table): Comment out because it is not used.
3567         (put_char_id_table): Modify for `make_byte_table'.
3568         (Fput_char_attribute): Make encoding_table as older object;
3569         inherit older bit of `Vcharacter_composition_table'.
3570         (mark_charset): Don't mark `cs->encoding_table'.
3571         (vars_of_mule_charset): Make `Vcharacter_attribute_table' as a
3572         normal object; make `Vcharacter_composition_table' as an older
3573         object; delete staticpro for `Vcharacter_composition_table'; make
3574         `Vcharacter_variant_table' as a normal object.
3575
3576         * alloc.c (alloc_older_lcrecord): New function in UTF-2000.
3577         (mark_object): Don't check older object in UTF-2000.
3578
3579         * lrecord.h (struct lrecord_header): Add new member `older' in
3580         UTF-2000.
3581         (set_lheader_implementation): Setup `SLI_header->older' in
3582         UTF-2000.
3583         (set_lheader_older_implementation): New macro in UTF-2000.
3584         (OLDER_RECORD_P): New macro in UTF-2000.
3585         (OLDER_RECORD_HEADER_P): New macro in UTF-2000.
3586         (alloc_older_lcrecord): New prototype in UTF-2000.
3587         (alloc_older_lcrecord_type): New macro in UTF-2000.
3588
3589 2000-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3590
3591         * mule-charset.c (byte_table_description): Use
3592         `XD_LISP_OBJECT_ARRAY' instead of `XD_LISP_OBJECT'.
3593         (char_id_table_description): Delete bogus `, 1'.
3594         (Fget_char_attribute): Refer encoding_table of each coded-charset
3595         to get value of coded-charset attribute of a character.
3596         (Fput_char_attribute): Use `make_older_vector' instead of
3597         `make_vector'; use encoding_table of each coded-charset to store
3598         value of coded-charset attribute of a character.
3599         (Fremove_char_attribute): Use encoding_table of each coded-charset
3600         to store value of coded-charset attribute of a character.
3601         (mark_charset): Mark `cs->encoding_table'; don't mark
3602         `cs->decoding_table'.
3603         (charset_description): Add description of new member
3604         `encoding_table'.
3605         (make_charset): Initialize `encoding_table'.
3606
3607         * char-ucs.h (struct Lisp_Charset): Add new member
3608         `encoding_table'.
3609         (CHARSET_ENCODING_TABLE): New macro.
3610         (XCHARSET_ENCODING_TABLE): New macro.
3611         (charset_code_point): New implementation.
3612         (encode_char_1): Likewise.
3613
3614         * alloc.c (all_older_lcrecords): New variable in UTF-2000.
3615         (disksave_object_finalization_1): Call finalizers of
3616         `all_older_lcrecords' in UTF-2000.
3617         (make_older_vector): New function in UTF-2000.
3618         (reinit_alloc_once_early): Initialize `all_older_lcrecords' in
3619         UTF-2000.
3620
3621         * lisp.h (make_older_vector): New prototype in UTF-2000.
3622
3623 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3624
3625         * lrecord.h (enum lrecord_type): Rename
3626         `lrecord_type_char_code_table' to `lrecord_type_char_id_table'.
3627
3628         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_ID_TABLE_P' and
3629         `get_char_id_table' instead of `CHAR_CODE_TABLE_P' and
3630         `get_char_code_table'.
3631
3632         * mule-charset.c (mark_char_id_table): Renamed from
3633         `mark_char_code_table'.
3634         (char_id_table_equal): Renamed from `char_code_table_equal'.
3635         (char_id_table_hash): Renamed from `char_code_table_hash'.
3636         (make_char_id_table): Renamed from `make_char_code_table'.
3637         (copy_char_id_table): Renamed from `copy_char_code_table'.
3638         (get_char_id_table): Renamed from `get_char_code_table'.
3639         (put_char_id_table): Renamed from `put_char_code_table'.
3640         (to_char_id): Renamed from `to_char_code'.
3641
3642         * char-ucs.h (struct Lisp_Char_ID_Table): Renamed from
3643         `Lisp_Char_Code_Table'.
3644         (char_id_table): Renamed from `char_code_table'.
3645         (XCHAR_ID_TABLE): Renamed from `XCHAR_CODE_TABLE'.
3646         (XSETCHAR_ID_TABLE): Renamed from `XSETCHAR_CODE_TABLE'.
3647         (CHAR_ID_TABLE_P): Renamed from `CHAR_CODE_TABLE_P'.
3648         (GC_CHAR_ID_TABLE_P): Renamed from `GC_CHAR_CODE_TABLE_P'.
3649         (get_char_id_table): Renamed from `get_char_code_table'.
3650
3651 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3652
3653         * lrecord.h (enum lrecord_type): Rename
3654         `lrecord_type_char_byte_table' to `lrecord_type_byte_table'.
3655
3656         * mule-charset.c (mark_byte_table): Renamed from
3657         `mark_char_byte_table'.
3658         (byte_table_equal): Renamed from `char_byte_table_equal'.
3659         (byte_table_hash): Renamed from `byte_table_hash'.
3660         (make_byte_table): Renamed from `make_byte_table'.
3661         (copy_byte_table): Renamed from `copy_char_byte_table'.
3662
3663         * char-ucs.h (struct Lisp_Byte_Table): Renamed from
3664         `Lisp_Char_Byte_Table'.
3665         (byte_table): Renamed from `char_byte_table'.
3666         (XBYTE_TABLE): Renamed from `XCHAR_BYTE_TABLE'.
3667         (XSETBYTE_TABLE): Renamed from `XSET_CHAR_BYTE_TABLE'.
3668         (BYTE_TABLE_P): Renamed from `XBYTE_TABLE_P'.
3669         (GC_BYTE_TABLE_P): Renamed from `GC_CHAR_BYTE_TABLE_P'.
3670
3671 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3672
3673         * buffer.c (dfc_convert_to_external_format): Modify for UTF-2000.
3674         (dfc_convert_to_internal_format): Likewise.
3675         
3676         * text-coding.c (Fcoding_system_canonical_name_p): New function.
3677         * text-coding.c (Fcoding_system_alias_p): New function.
3678         * text-coding.c (Fcoding_system_aliasee): New function.
3679         * text-coding.c (append_suffix_to_symbol): New function.
3680         * text-coding.c (dangling_coding_system_alias_p): New function.
3681         * text-coding.c (Ffind_coding_system):
3682         * text-coding.c (Fcopy_coding_system):
3683         * text-coding.c (encode_coding_no_conversion):
3684         * text-coding.c (syms_of_file_coding):
3685         * text-coding.c (vars_of_file_coding):
3686         Rewrite coding system alias code.
3687         Allow nested aliases, like symbolic links.
3688         Allow redefinition of coding system aliases.
3689         Prevent existence of dangling coding system aliases.
3690         Eliminate convert_to_external_format.
3691         Eliminate convert_to_internal_format.
3692         
3693         * text-coding.c: Change enum eol_type to eol_type_t.
3694
3695 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3696
3697         * mule-charset.c (encode_builtin_char_1): Limit builtin-code-range
3698         of `mojikyo' to MIN_CHAR_MOJIKYO + 94 * 60 * 22.
3699
3700         * char-ucs.h (MAX_CHAR_MOJIKYO): Limit builtin-code-range to
3701         MIN_CHAR_MOJIKYO + 94 * 60 * 22.
3702
3703 2000-04-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3704
3705         * mule-charset.c (encode_builtin_char_1): Use `mojikyo' instead of
3706         `ideograph-daikanwa'.
3707
3708         * char-ucs.h (Vcharset_ucs): Deleted because it is not used.
3709         (Vcharset_ucs_bmp): Likewise.
3710         (Vcharset_mojikyo): Add new extern variable definition.
3711         (Vcharset_latin_iso8859_2): Deleted because it is not used.
3712         (Vcharset_latin_iso8859_3): Likewise.
3713         (Vcharset_latin_iso8859_4): Likewise.
3714         (Vcharset_latin_iso8859_9): Likewise.
3715         (Vcharset_latin_viscii_lower): Likewise.
3716         (Vcharset_latin_viscii_upper): Likewise.
3717         (DECODE_CHAR): If charset is `mojikyo-pj-N', corresponding
3718         `mojikyo' code-point is used to decode.
3719         (encode_char_2): New function [to convert `mojikyo' code-point to
3720         Mojikyo font encoding].
3721         (ENCODE_CHAR): Use `encode_char_2' instead of `encode_code_1'.
3722         (breakup_char_1): Likewise.
3723         (CHAR_CHARSET): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR'.
3724
3725 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3726
3727         * text-coding.c (Fmake_coding_system): Add document about
3728         `disable-composition' property.
3729
3730 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3731
3732         * text-coding.c (Qdisable_composition): New variable; delete
3733         `Qcomposite'.
3734         (Fmake_coding_system): Add new property `disable-composite';
3735         delete property `composite'.
3736         (COMPOSE_ADD_CHAR): Use `CODING_SYSTEM_DISABLE_COMPOSITION'
3737         instead of `!CODING_SYSTEM_COMPOSITE'.
3738         (syms_of_file_coding): Add new symbol `disable-composition';
3739         delete symbol `composite'.
3740
3741         * file-coding.h (struct Lisp_Coding_System): Add
3742         `disable_composition'; delete `enable_composition'.
3743         (CODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
3744         `CODING_SYSTEM_COMPOSITE'.
3745         (XCODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
3746         `XCODING_SYSTEM_COMPOSITE'.
3747
3748 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3749
3750         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3751         to 0.15.
3752
3753 2000-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3754
3755         * text-coding.c (Qcomposite): New variable.
3756         (Fmake_coding_system): Add new property `composite'.
3757         (struct decoding_stream): Add `combined_char_count',
3758         `combined_chars' and `combining_table' in UTF-2000.
3759         (COMPOSE_FLUSH_CHARS): New macro.
3760         (COMPOSE_ADD_CHAR): New macro.
3761         (reset_decoding_stream): Reset `str->combined_char_count' and
3762         `str->combining_table' in UTF-2000.
3763         (decode_coding_iso2022): Modify for character-decomposition.
3764         (syms_of_file_coding): Add new symbol `composite'.
3765
3766 2000-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3767
3768         * mule-charset.c (Vcharset_latin_tcvn5712): New variable.
3769         (Fput_char_attribute): Set up `Vcharacter_variant_table' instead
3770         of `Vcharacter_composition_table' if `->decomposition' property
3771         has only 1 element.
3772         (Qlatin_tcvn5712): New variable.
3773         (syms_of_mule_charset): Add new symbol `latin-tcvn5712'.
3774         (complex_vars_of_mule_charset): Add new coded-charset
3775         `latin-tcvn5712'.
3776
3777         * char-ucs.h (LEADING_BYTE_LATIN_TCVN5712): New macro.
3778
3779 2000-04-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3780
3781         * file-coding.h (struct Lisp_Coding_System): Add
3782         `enable_composition'.
3783         (CODING_SYSTEM_COMPOSITE): New macro.
3784         (XCODING_SYSTEM_COMPOSITE): New macro.
3785
3786 2000-03-17  MORIOKA Tomohiko  <tomo@m17n.org>
3787
3788         * mule-canna.c (c2mu): Fix problem with UTF-2000.
3789
3790 2000-03-16  MORIOKA Tomohiko  <tomo@m17n.org>
3791
3792         * mule-charset.c (Fput_char_attribute): Don't make mapping-table
3793         if ATTRIBUTE is `ucs' and character-id of CHARACTER = VALUE.
3794
3795 2000-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
3796
3797         * mule-charset.c (Vcharset_mojikyo): New variable.
3798         (Fdefine_char): Don't use coded-charset which does not have
3799         non-builtin character range to allocate character-id.
3800         (Qmojikyo): New variable.
3801         (syms_of_mule_charset): Add new symbol `mojikyo'.
3802         (complex_vars_of_mule_charset): Add new coded-charset `mojikyo'.
3803
3804         * char-ucs.h (LEADING_BYTE_DAIKANWA_EKANJI): New macro.
3805         (LEADING_BYTE_MOJIKYO): New macro.
3806         (MIN_CHAR_MOJIKYO): New macro.
3807         (MIN_CHAR_DAIKANWA): Use `MIN_CHAR_MOJIKYO'.
3808         (MAX_CHAR_MOJIKYO): New macro.
3809
3810 2000-02-12  MORIOKA Tomohiko  <tomo@m17n.org>
3811
3812         * mule-charset.c (remove_char_attribute): Fixed.
3813
3814 2000-02-08  MORIOKA Tomohiko  <tomo@m17n.org>
3815
3816         * mule-charset.c (remove_char_attribute): New function.
3817         (Fremove_char_attribute): New function.
3818         (encode_builtin_char_1): Comment out builtin-support for
3819         greek-iso8859-7 and cyrillic-iso8859-5.
3820         (Fdecode_char): Check `code' is an integer.
3821         (syms_of_mule_charset): Add `remove-char-attribute'.
3822         (MIN_CHAR_GREEK): Deleted.
3823         (MAX_CHAR_GREEK): Likewise.
3824         (MIN_CHAR_CYRILLIC): Likewise.
3825         (MAX_CHAR_CYRILLIC): Likewise.
3826         (complex_vars_of_mule_charset): Don't use MIN_CHAR_GREEK and
3827         MAX_CHAR_GREEK for `greek-iso8859-7'.
3828
3829         * char-ucs.h (MIN_CHAR_GREEK): Comment out.
3830         (MAX_CHAR_GREEK): Likewise.
3831         (MIN_CHAR_CYRILLIC): Likewise.
3832         (MAX_CHAR_CYRILLIC): Likewise.
3833
3834 2000-02-02  MORIOKA Tomohiko  <tomo@m17n.org>
3835
3836         * mule-charset.c (Fdefine_char): Fix problem when new code-point
3837         format is used without `ucs' property.
3838         (Fdecode_char): Fix problem with GR representation.
3839         (complex_vars_of_mule_charset): Don't use `MIN_CHAR_CYRILLIC' and
3840         `MAX_CHAR_CYRILLIC' as range of builtin `cyrillic-iso8859-5'.
3841
3842 2000-01-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3843
3844         * mule-charset.c (make_builtin_char): New function.
3845         (encode_builtin_char_1): Check ISO-2022-charset is defined or not.
3846         (Fset_charset_mapping_table): Modify for new representation of
3847         code-point.
3848         (Fdecode_char): New function.
3849         (syms_of_mule_charset): Add new builtin function `decode-char' in
3850         UTF-2000.
3851
3852         * char-ucs.h (make_builtin_char): New prototype.
3853         (DECODE_CHAR): New inline function.
3854         (MAKE_CHAR): Use `DECODE_CHAR'.
3855
3856 2000-01-28  MORIOKA Tomohiko  <tomo@m17n.org>
3857
3858         * text-coding.c (parse_charset_conversion_specs): Use
3859         `XCHARSET_CHARS' and `XCHARSET_DIMENSION' instead of
3860         `XCHARSET_TYPE'.
3861         (iso2022_designate): Likewise.
3862
3863         * chartab.c (decode_char_table_range): Use `XCHARSET_CHARS' and
3864         `XCHARSET_DIMENSION' instead of `XCHARSET_TYPE'.
3865
3866         * mule-charset.c (Vcharset_ucs): New variable.
3867         (print_charset): Change design; use `CHARSET_CHARS' and
3868         `CHARSET_DIMENSION' instead of `CHARSET_TYPE'.
3869         (make_charset): Change signature to specify `chars' and
3870         `dimension' instead of `type'.
3871         (range_charset_code_point): Modify for 256^n-set.
3872         (encode_builtin_char_1): Encode as `ucs' in default.
3873         (Fmake_charset): Modify for `make_charset'.
3874         (Fmake_reverse_direction_charset): Likewise.
3875         (Fsplit_char): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR' in
3876         UTF-2000.
3877         (complex_vars_of_mule_charset): Add coded-charset `ucs'; modify
3878         for `make_charset'.
3879
3880         * char-ucs.h (Vcharset_ucs): New variable.
3881         (LEADING_BYTE_UCS): New macro.
3882         (struct Lisp_Charset): Delete `type'; change type of `dimension'
3883         and `chars' to `unsigned short' from `unsigned int'.
3884         (CHARSET_TYPE): Deleted.
3885         (XCHARSET_TYPE): Deleted.
3886
3887 2000-01-27  MORIOKA Tomohiko  <tomo@m17n.org>
3888
3889         * mule-charset.c (charset_code_point): Moved to char-ucs.h.
3890
3891         * char-ucs.h (charset_code_point): Moved from mule-charset.c.
3892         (ENCODE_CHAR): New macro.
3893
3894 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
3895
3896         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3897         to 0.14 (Kawachi-Katakami).
3898
3899 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
3900
3901         * text-coding.c (char_encode_shift_jis): Modify for
3902         `charset_code_point'.
3903         (char_encode_iso2022): Likewise.
3904
3905         * mule-charset.c (Fput_char_attribute): Use <Lisp_Object>
3906         (integer) instead of list of <Lisp_Object>s (integers) as the
3907         format of code-point of a coded-charset.
3908         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
3909         (encode_builtin_char_1): New function; delete
3910         `split_builtin_char'.
3911         (charset_code_point): Return <int> instead of <Lisp_Object>.
3912         (Fsplit_char): Don't use `SPLIT_CHAR'.
3913
3914         * char-ucs.h (encode_builtin_char_1): New prototype; delete
3915         prototype for `split_builtin_char'.
3916         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
3917         (charset_code_point): Likewise.
3918         (encode_char_1): New inline function; delete `SPLIT_CHAR'.
3919         (breakup_char_1): Use `encode_char_1' instead of `SPLIT_CHAR'.
3920
3921 2000-01-20  MORIOKA Tomohiko  <tomo@m17n.org>
3922
3923         * mule-charset.c (complex_vars_of_mule_charset): Don't define
3924         `japanese-jisx0208-1990' in non-UTF-2000 Mule.
3925
3926 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3927
3928         * mule-charset.c (split_builtin_char): Don't support OBS_94x94.
3929
3930         * char-ucs.h (MIN_CHAR_OBS_94x94): Deleted.
3931         (MAX_CHAR_OBS_94x94): Deleted.
3932
3933 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3934
3935         * mule-charset.c (split_builtin_char): Use `MAX_CHAR_BMP'.
3936
3937         * char-ucs.h (MAX_CHAR_BMP): New macro.
3938
3939 2000-01-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3940
3941         * text-coding.c: Sync with r21-2-24.
3942
3943 2000-01-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
3944
3945         * file-coding.c: Modify for UTF-2000.
3946
3947 2000-01-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
3948
3949         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3950         to 0.13 (Takaida).
3951
3952 2000-01-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3953
3954         * mule-charset.c (split_builtin_char): Delete builtin support for
3955         `katakana-jisx0201'.
3956         (complex_vars_of_mule_charset): Don't map `katakana-jisx0201' to
3957         BMP area in builtin representation.
3958
3959         * char-ucs.h (MAKE_CHAR): Delete builtin support for
3960         `Vcharset_katakana_jisx0201'.
3961
3962 1999-12-24  MORIOKA Tomohiko  <tomo@etl.go.jp>
3963
3964         * mule-charset.c (Vcharset_mojikyo_pj_[1 .. 21]): New variable.
3965         (Qisolated): New variable.
3966         (Qinitial): New variable.
3967         (Qmedial): New variable.
3968         (Qfinal): New variable.
3969         (Qvertical): New variable.
3970         (Qsmall): New variable.
3971         (to_char_code): Use `Qisolated', `Qinitial', `Qmedial', `Qfinal',
3972         `Qvertical' and `Qsmall'.
3973         (Qmojikyo_pj_[1 .. 21]): New variable.
3974         (syms_of_mule_charset): Add new symbols `isolated', `initial',
3975         `medial', `final', `vertical', `small' and `mojikyo-pj-[1 .. 21]'.
3976         (complex_vars_of_mule_charset): Add new charset `mojikyo-pj-[1
3977         .. 21]'.
3978
3979 1999-11-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
3980
3981         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x60.
3982         (LEADING_BYTE_MOJIKYO_PJ_[1 .. 21]): New macros.
3983         (MAX_LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 32)'.
3984
3985 1999-11-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
3986
3987         * mule-charset.c (Vcharset_japanese_jisx0208_1990): New variable.
3988         (Fdefine_char): Use Group 00 Plane 10 for non-coded variants of
3989         BMP.
3990         (Qjapanese_jisx0208_1990): New variable.
3991         (syms_of_mule_charset): Add new symbol `Qjapanese_jisx0208_1990'.
3992         (complex_vars_of_mule_charset): Add new coded-charset
3993         `japanese-jisx0208-1990'.
3994
3995         * char-ucs.h (LEADING_BYTE_JAPANESE_JISX0208_1990): New macro.
3996         (MIN_CHAR_JIS_X0208_1990): New macro.
3997         (MAX_CHAR_JIS_X0208_1990): New macro.
3998
3999 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4000
4001         * text-coding.c (char_encode_iso2022): Output `~' if ISO 2022
4002         coded-charset is not found.
4003
4004 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4005
4006         * mule-charset.c (Fget_char_attribute): Forgot to `CHECK_CHAR'.
4007         (Fdefine_char): Use `Fmake_char'.
4008
4009 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4010
4011         * mule-charset.c (Vcharset_ideograph_daikanwa): New variable.
4012         (Vcharset_hiragana_jisx0208): Deleted.
4013         (Vcharset_katakana_jisx0208): Deleted.
4014         (Qideograph_daikanwa): New variable.
4015         (Qhiragana_jisx0208): Deleted.
4016         (Qkatakana_jisx0208): Deleted.
4017         (split_builtin_char): Split `ideograph-daikanwa'.
4018         (Fsplit_char): New implementation for UTF-2000.
4019         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa';
4020         delete symbol `hiragana-jisx0208' and `katakana-jisx0208'.
4021         (complex_vars_of_mule_charset): Add new coded-charset
4022         `ideograph-daikanwa'; delete coded-charset `hiragana-jisx0208' and
4023         `katakana-jisx0208'.
4024
4025         * char-ucs.h (LEADING_BYTE_DAIKANWA): New macro.
4026         (LEADING_BYTE_HIRAGANA_JISX0208): Deleted.
4027         (LEADING_BYTE_KATAKANA_JISX0208): Deleted.
4028         (MIN_CHAR_DAIKANWA): New macro.
4029         (MAX_CHAR_DAIKANWA): New macro.
4030
4031 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4032
4033         * data.c (Fstring_to_number): Don't recognize floating point if
4034         base is not 10.
4035
4036 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4037
4038         * mule-charset.c (Fput_char_attribute): Forgot to `CHECK_CHAR'.
4039
4040 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4041
4042         * mule-charset.c (Qsquare): New variable.
4043         (to_char_code): Add `Qsquare'.
4044         (syms_of_mule_charset): Add new symbol `square'.
4045
4046 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4047
4048         * mule-charset.c (Qcircle): New variable.
4049         (to_char_code): Add `Qcircle'.
4050         (syms_of_mule_charset): Add new symbol `circle'.
4051
4052 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4053
4054         * mule-charset.c (Qfont): New variable.
4055         (to_char_code): Add `Qfont'.
4056         (syms_of_mule_charset): Add new symbol `font'.
4057
4058 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4059
4060         * mule-charset.c (Qsub): New variable.
4061         (to_char_code): Add `Qsub'.
4062         (syms_of_mule_charset): Add new symbol `sub'.
4063
4064 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4065
4066         * mule-charset.c (Fput_char_attribute): Convert each element of
4067         VALUE to GL position if ATTRIBUTE is a GR-set,
4068
4069 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4070
4071         * mule-charset.c (Fput_char_attribute): Allow GR code-point if a
4072         coded-charset is a GR-set.
4073
4074 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4075
4076         * mule-charset.c (Fput_char_attribute): Check each element of
4077         VALUE is a byte if ATTRIBUTE is a coded-charset or its name.
4078
4079 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4080
4081         * mule-charset.c (Vcharset_ethiopic_ucs): New variable in
4082         UTF-2000.
4083         (Qethiopic_ucs): New variable in UTF-2000.
4084         (syms_of_mule_charset): Add new symbol `ethiopic-ucs' in UTF-2000.
4085         (complex_vars_of_mule_charset): Add new coded-charset
4086         `ethiopic-ucs' in UTF-2000.
4087
4088         * char-ucs.h (LEADING_BYTE_ETHIOPIC_UCS): New macro.
4089         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
4090         9)'.
4091         (LEADING_BYTE_KATAKANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
4092         10)'.
4093         (LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 11)'.
4094
4095 1999-11-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
4096
4097         * mule-charset.c (Fset_charset_mapping_table): Fix problem with
4098         `ascii'.
4099
4100 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4101
4102         * mule-charset.c (Vcharacter_variant_table): New variable.
4103         (Q_ucs): New variable.
4104         (Fchar_variants): New function.
4105         (Fput_char_attribute): Register `->ucs' value to
4106         `Vcharacter_variant_table'.
4107         (syms_of_mule_charset): Add new function `char-variants' and new
4108         symbol `->ucs'.
4109         (vars_of_mule_charset): Setup `Vcharacter_variant_table'.
4110
4111 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4112
4113         * mule-charset.c (get_char_code_table): Allow negative character
4114         code.
4115         (put_char_code_table): Likewise.
4116         (Vcharacter_composition_table): New variable.
4117         (Q_decomposition): New variable.
4118         (Qwide): New variable.
4119         (Qnarrow): New variable.
4120         (Qcompat): New variable.
4121         (QnoBreak): New variable.
4122         (Qsuper): New variable.
4123         (Qfraction): New variable.
4124         (to_char_code): New function.
4125         (Fget_composite_char): New function.
4126         (Fput_char_attribute): Register `->decomposition' value to
4127         `Vcharacter_composition_table'.
4128         (syms_of_mule_charset): Add new function `get-composite-char', new
4129         symbol `->decomposition', `wide', `narrow', `compat', `noBreak',
4130         `super' and `fraction'.
4131         (vars_of_mule_charset): Setup `Vcharacter_composition_table'.
4132
4133 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4134
4135         * mule-charset.c (Fchar_attribute_alist): Check the argument is a
4136         character; copy the return value.
4137
4138 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4139
4140         * char-ucs.h (SPLIT_CHAR): Use `split_builtin_char'.
4141
4142         * mule-charset.c (range_charset_code_point): Must use make_int.
4143         (split_builtin_char): New function.
4144
4145 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4146
4147         * mule-charset.c (char_byte_table): Change name from
4148         "char-code-table" to "char-byte-table".
4149         (mark_char_code_table): New function.
4150         (char_code_table_equal): New function.
4151         (char_code_table_hash): New function.
4152         (char_code_table_description): New constant.
4153         (char_code_table): New type.
4154         (make_char_code_table): New function.
4155         (copy_char_code_table): New function.
4156         (get_char_code_table): Modify for `char_code_table' type.
4157         (put_char_code_table): Likewise.
4158         (vars_of_mule_charset): Update `utf-2000-version' to 0.12
4159         (Kashiwara).
4160
4161         * char-ucs.h (char_code_table): New type.
4162         (XCHAR_CODE_TABLE): New macro.
4163         (XSETCHAR_CODE_TABLE): New macro.
4164         (CHAR_CODE_TABLE_P): New macro.
4165         (GC_CHAR_CODE_TABLE_P): New macro.
4166         (struct Lisp_Char_Code_Table): New structure.
4167
4168 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4169
4170         * mule-charset.c (Fmake_charset): Setup byte_offset for
4171         {94|96}^n-set.
4172
4173 1999-11-09  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4174
4175         * mule-charset.c (Fdefine_char): Fix problem with non-UCS
4176         character.
4177
4178 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4179
4180         * char-ucs.h (SPLIT_CHAR): Don't make new cell if a charset slot
4181         is found.
4182
4183 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4184
4185         * mule-charset.c (Fget_char_attribute): If ATTRIBUTE is a name of
4186         charset, it is regarded as a charset.
4187         (put_char_attribute): New function in UTF-2000.
4188         (Fput_char_attribute): If ATTRIBUTE is a charset or a name of
4189         charset, mapping-table of the charset is modified.
4190         (Fdefine_char): New function in UTF-2000.
4191         (Fset_charset_mapping_table): Use `put_char_attribute' instead of
4192         `Fput_char_attribute'.
4193         (syms_of_mule_charset): Add new function `define-char' and new
4194         symbol `ucs' in UTF-2000.
4195         (vars_of_mule_charset): Update `utf-2000-version' to 0.11 (Shiki).
4196
4197 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4198
4199         * mule-charset.c (Fcharset_name): Define `byte_offset' in
4200         non-UTF-2000 configuration.
4201
4202 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4203
4204         * text-coding.c (char_encode_shift_jis): Use `charset_code_point'
4205         not to use `XCHARSET_ENCODING_TABLE (Vcharset_latin_jisx0201)'.
4206
4207         * mule-charset.c (mark_charset): `cs->encoding_table' has been
4208         deleted.
4209         (make_charset): Don't use `CHARSET_ENCODING_TABLE(cs)'.
4210         (Fset_charset_mapping_table): Likewise.
4211
4212         * char-ucs.h (struct Lisp_Charset): Delete `encoding_table'.
4213         (CHARSET_ENCODING_TABLE): Delete.
4214         (XCHARSET_ENCODING_TABLE): Delete.
4215         (charset_code_point): New interface.
4216
4217 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4218
4219         * text-coding.c (char_encode_iso2022): Use `charset_code_point'
4220         instead of `charset_get_byte1' and `charset_get_byte2'.
4221
4222         * mule-charset.c, char-ucs.h (charset_get_byte1): Deleted.
4223         (charset_get_byte2): Deleted.
4224
4225 1999-10-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
4226
4227         * char-ucs.h (SPLIT_CHAR): New inline function.
4228         (breakup_char_1): Use `SPLIT_CHAR'.
4229
4230         * mule-charset.c (range_charset_code_point): New function.
4231         (charset_code_point): New function.
4232
4233         * char-ucs.h (range_charset_code_point): New interface.
4234         (breakup_char_1): Use `range_charset_code_point'.
4235
4236 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4237
4238         * mule-charset.c (Fmake_charset): Delete unused local variable
4239         `code_offset'.
4240
4241         * char-ucs.h (Vcharacter_attribute_table): New extern variable.
4242         (breakup_char_1): Find a charset and code-point in
4243         `Vcharacter_attribute_table'.
4244
4245 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4246
4247         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4248         to 0.10 (Yao).
4249
4250 1999-10-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
4251
4252         * mule-charset.c (Vcharacter_attribute_table): New variable.
4253         (Fchar_attribute_alist): New function.
4254         (Fget_char_attribute): New function.
4255         (Fput_char_attribute): New function.
4256         (Fset_charset_mapping_table): Setup `Vcharacter_attribute_table'
4257         too.
4258         (syms_of_mule_charset): Add new function `char-attribute-alist',
4259         `get-char-attribute' and `put-char-attribute'.
4260         (vars_of_mule_charset): Setup `Vcharacter_attribute_table'.
4261
4262 1999-10-19  MORIOKA Tomohiko  <tomo@etl.go.jp>
4263
4264         * mule-charset.c (Fmake_charset): Just use
4265         `get_unallocated_leading_byte'.
4266
4267         * char-ucs.h (LEADING_BYTE_*): Use ISO-IR numbers for official
4268         sets; don't use final-byte based number for private sets.
4269
4270 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4271
4272         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
4273         integer.
4274
4275 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4276
4277         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4278         to 0.9.
4279
4280 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4281
4282         * regex.c (compile_extended_range): Use `CHAR_CHARSET_ID' instead
4283         of `CHAR_LEADING_BYTE' in UTF-2000.
4284
4285         * insdel.c (find_charsets_in_bufbyte_string): Use
4286         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
4287         (find_charsets_in_emchar_string): Likewise.
4288
4289         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use
4290         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
4291
4292         * char-ucs.h (CHAR_LEADING_BYTE): Deleted.
4293         (CHAR_CHARSET_ID): New macro.
4294
4295 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4296
4297         * chartab.c (get_char_table): Don't use type `Charset_ID' for
4298         charset-id - MIN_LEADING_BYTE.
4299         (put_char_table): Likewise.
4300
4301 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4302
4303         * char-ucs.h (MIN_LEADING_BYTE): Changed to `-0x40'.
4304         (NUM_LEADING_BYTES): Changed to (80 * 3 - MIN_LEADING_BYTE).
4305         (CHARSET_LEADING_BYTE): Don't cast by `Bufbyte'.
4306         (CHARSET_ID_OFFSET): New macro.
4307         (LEADING_BYTE_CONTROL_1): Changed to (CHARSET_ID_OFFSET - 1).
4308         (LEADING_BYTE_UCS_BMP): Changed to (CHARSET_ID_OFFSET - 2).
4309         (LEADING_BYTE_LATIN_VISCII): Changed to (CHARSET_ID_OFFSET - 3).
4310         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
4311         4).
4312         (LEADING_BYTE_KATAKANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
4313         5).
4314         (MIN_LEADING_BYTE_PRIVATE): Changed to `MIN_LEADING_BYTE'.
4315         (MAX_LEADING_BYTE_PRIVATE): Changed to (CHARSET_ID_OFFSET - 6).
4316         (CHARSET_ID_OFFSET_94): Changed to (CHARSET_ID_OFFSET - '0').
4317         (CHARSET_ID_OFFSET_96): Changed to (CHARSET_ID_OFFSET_94 + 80).
4318         (CHARSET_ID_OFFSET_94x94): Changed to (CHARSET_ID_OFFSET_96 + 80).
4319
4320 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4321
4322         * mule-charset.c (next_allocated_leading_byte): New variable in
4323         UTF-2000.
4324         (next_allocated_1_byte_leading_byte): Don't define in UTF-2000.
4325         (next_allocated_2_byte_leading_byte): Don't define in UTF-2000.
4326         (get_unallocated_leading_byte): Simply use
4327         `next_allocated_leading_byte' [ignore dimension] in UTF-2000.
4328         (vars_of_mule_charset): Setup `next_allocated_leading_byte' in
4329         UTF-2000.
4330
4331         * char-ucs.h (MIN_LEADING_BYTE_PRIVATE): New macro.
4332         (MAX_LEADING_BYTE_PRIVATE): New macro.
4333         (MIN_LEADING_BYTE_OFFICIAL_2): Deleted.
4334         (MAX_LEADING_BYTE_OFFICIAL_2): Deleted.
4335
4336 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4337
4338         * mule-charset.c (Fmake_charset): Allocate final-byte based
4339         charset-id for 94-set, 96-set and 94x94-set.
4340
4341 1999-10-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4342
4343         * mule-charset.c (char_byte_table_equal): Fill braces to avoid
4344         ambiguous `else'.
4345         (Fmake_charset): Likewise.
4346         (complex_vars_of_mule_charset): Modify the font registry of
4347         `ucs-bmp' not to match `Ethiopic-Unicode'.
4348
4349 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4350
4351         * mule-charset.c (complex_vars_of_mule_charset): Add font
4352         registory of `ucs-bmp'.
4353
4354 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4355
4356         * text-coding.c (char_encode_iso2022): Ignore non-ISO-2022
4357         coded-charsets in `default-coded-charset-priority-list' when
4358         breaking up a character.
4359
4360         * mule-charset.c (Vcharset_latin_viscii): New variable.
4361         (Qlatin_viscii): New variable.
4362         (make_charset): Don't use `decoding_table'.
4363         (Fmake_charset): Regard graphic = 2 as 256^n-set; setup
4364         byte_offset.
4365         (Fset_charset_mapping_table): New implementation.
4366         (syms_of_mule_charset): Add new symbol `latin-viscii'.
4367         (complex_vars_of_mule_charset): Set `graphic' attribute of charset
4368         `ucs-bmp' and `latin_viscii' to 2; change font registry of charset
4369         `latin-viscii-lower' to "MULEVISCII-LOWER"; change font registry
4370         of charset `latin-viscii-upper' to "MULEVISCII-UPPER"; add new
4371         charset `latin_viscii'.
4372
4373         * char-ucs.h (LEADING_BYTE_LATIN_VISCII): New macro.
4374         (CHARSET_TYPE_94X94): Change to 1 from 2.
4375         (CHARSET_TYPE_96): Change to 2 from 1.
4376         (CHARSET_TYPE_128): New macro.
4377         (CHARSET_TYPE_128X128): Change to 5 from 4.
4378         (CHARSET_TYPE_256): New macro.
4379         (CHARSET_TYPE_256X256): Change to 7 from 5.
4380         (MAKE_CHAR): Use `XCHARSET_BYTE_OFFSET(charset)'.
4381
4382 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4383
4384         * text-coding.c (char_encode_shift_jis): Refer
4385         `XCHARSET_ENCODING_TABLE(Vcharset_latin_jisx0201)' instead of
4386         `XCHARSET_TO_BYTE1_TABLE(Vcharset_latin_jisx0201)'.
4387
4388         * mule-charset.c (mark_char_byte_table): New function in UTF-2000.
4389         (char_byte_table_equal): New function in UTF-2000.
4390         (char_byte_table_hash): New function in UTF-2000.
4391         (char_byte_table_description): New constant in UTF-2000.
4392         (char_byte_table): New type in UTF-2000.
4393         (make_char_byte_table): New function in UTF-2000.
4394         (copy_char_byte_table): New function in UTF-2000.
4395         (make_char_code_table): New macro in UTF-2000.
4396         (get_char_code_table): New function in UTF-2000.
4397         (put_char_code_table): New function in UTF-2000.
4398         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
4399         (charset_description): Add setting in UTF-2000.
4400         (make_charset): Setup `CHARSET_ENCODING_TABLE(cs)' instead of
4401         `CHARSET_TO_BYTE1_TABLE(cs)'.
4402         (charset_get_byte1): Refer `XCHARSET_ENCODING_TABLE(charset)'
4403         instead of `XCHARSET_TO_BYTE1_TABLE(charset)'.
4404         (charset_get_byte2): Refer `XCHARSET_ENCODING_TABLE(charset)'
4405         instead of `XCHARSET_TO_BYTE2_TABLE(charset)'.
4406         (Fset_charset_mapping_table): Setup `CHARSET_ENCODING_TABLE(cs)'
4407         instead of `CHARSET_TO_BYTE1_TABLE(cs)' and
4408         `CHARSET_TO_BYTE2_TABLE(cs)'.
4409
4410         * char-ucs.h (char_byte_table): New type.
4411         (XCHAR_BYTE_TABLE): New macro.
4412         (XSETCHAR_BYTE_TABLE): New macro.
4413         (CHAR_BYTE_TABLE_P): New macro.
4414         (GC_CHAR_BYTE_TABLE_P): New macro.
4415         (struct Lisp_Char_Byte_Table): New structure.
4416         (get_char_code_table): New interface.
4417         (Emchar_to_byte_table): Deleted.
4418         (get_byte_from_character_table): Deleted.
4419         (struct Lisp_Charset): Add `encoding_table'; delete
4420         `to_byte1_table' and `to_byte2_table'.
4421         (CHARSET_ENCODING_TABLE): New macro.
4422         (CHARSET_TO_BYTE1_TABLE): Deleted.
4423         (CHARSET_TO_BYTE2_TABLE): Deleted.
4424         (XCHARSET_ENCODING_TABLE): New macro.
4425         (XCHARSET_TO_BYTE1_TABLE): Deleted.
4426         (XCHARSET_TO_BYTE2_TABLE): Deleted.
4427
4428 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
4429
4430         * mule-charset.c (syms_of_mule_charset): Delete charset alias
4431         `vietnamese-viscii-*'.
4432
4433 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
4434
4435         * mule-charset.c (Qvietnamese_viscii_lower): New variable.
4436         (Qvietnamese_viscii_upper): New variable.
4437         (Fdefine_charset_alias): New function.
4438         (syms_of_mule_charset): Add new function `define-charset-alias'.
4439         (syms_of_mule_charset): Rename charset `vietnamese-viscii-*' to
4440         `latin-viscii-*'; define `vietnamese-viscii-*' as aliases for
4441         `latin-viscii-*'.
4442
4443 1999-10-04  MORIOKA Tomohiko  <tomo@etl.go.jp>
4444
4445         * char-ucs.h (MIN_CHAR_OBS_94x94): New macro.
4446         (MAX_CHAR_OBS_94x94): New macro.
4447         (breakup_char_1): Support obsolete XEmacs-UCS private code space
4448         for 94x94 sets.
4449
4450         * mule-charset.c (put_byte_from_character_table): Change unit size
4451         from 128 to 256.
4452         (mark_charset): Don't mark `cs->decoding_table' if `UTF2000' is
4453         not defined.
4454         (Fmake_reverse_direction_charset): Modify dummy argument of
4455         `make_charset' for non-UTF-2000 environment.
4456
4457 1999-10-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4458
4459         * char-ucs.h (MAKE_CHAR): Allow nested decoding-table.
4460
4461         * mule-charset.c (destroy_byte_from_character_table): New macro.
4462         (latin_jisx0201_to_ucs): Deleted.
4463         (latin_iso8859_2_to_ucs): Deleted.
4464         (latin_iso8859_3_to_ucs): Deleted.
4465         (latin_iso8859_4_to_ucs): Deleted.
4466         (latin_iso8859_9_to_ucs): Deleted.
4467         (latin_viscii_lower_to_ucs): Deleted.
4468         (latin_viscii_upper_to_ucs): Deleted.
4469         (mark_charset): Mark `cs->decoding_table'.
4470         (Fcharset_mapping_table): Fix DOC-string.
4471         (Fset_charset_mapping_table): New function.
4472         (syms_of_mule_charset): Add nwe function
4473         `set-charset-mapping-table'.
4474         (complex_vars_of_mule_charset): Don't setup and use
4475         `latin_*_to_ucs'.
4476
4477 1999-10-01  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4478
4479         * char-ucs.h (MAKE_CHAR): Check the result for range-represented
4480         charset.
4481
4482 1999-09-30  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4483
4484         * mule-charset.c (Vcharset_hiragana_jisx0208): New variable.
4485         (Vcharset_katakana_jisx0208): New variable.
4486         (Qhiragana_jisx0208): New variable.
4487         (Qkatakana_jisx0208): New variable.
4488         (make_charset): Add new argument `byte_offset'.
4489         (charset_get_byte1): Modify for new coded-charset definition; use
4490         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
4491         `XCHARSET_BYTE_OFFSET'.
4492         (Fmake_charset): Modify for `make_charset'.
4493         (Fmake_reverse_direction_charset): Likewise.
4494         (syms_of_mule_charset): Add new symbols `hiragana-jisx0208' and
4495         `katakana-jisx0208'.
4496         (complex_vars_of_mule_charset): Modify for `make_charset'; quote
4497         `.'  in font registry of charset `katakana-jisx0201',
4498         `latin-jisx0201', `vietnamese-viscii-lower' and
4499         `vietnamese-viscii-upper'; modify DOC-string of charset
4500         `japanese-jisx0208-1978' and `japanese-jisx0208'; modify font
4501         registry of charset `japanese-jisx0208' not to use font for JIS
4502         X0208:1990; add new charset `hiragana-jisx0208' and
4503         `katakana-jisx0208'.
4504
4505         * char-ucs.h (LEADING_BYTE_HIRAGANA_JISX0208): New macro.
4506         (LEADING_BYTE_KATAKANA_JISX0208): New macro.
4507         (struct Lisp_Charset): Add `byte_offset'.
4508         (CHARSET_BYTE_OFFSET): New macro.
4509         (XCHARSET_UCS_MIN): New macro.
4510         (XCHARSET_UCS_MAX): New macro.
4511         (XCHARSET_CODE_OFFSET): New macro.
4512         (XCHARSET_BYTE_OFFSET): New macro.
4513         (MIN_CHAR_HIRAGANA): New macro.
4514         (MAX_CHAR_HIRAGANA): New macro.
4515         (MIN_CHAR_KATAKANA): New macro.
4516         (MAX_CHAR_KATAKANA): New macro.
4517         (MAKE_CHAR): Modify for new coded-charset definition; use
4518         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
4519         `XCHARSET_BYTE_OFFSET'.
4520
4521 1999-09-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4522
4523         * mule-charset.c (CHAR96): Deleted.
4524         (latin_jisx0201_to_ucs): Type is changed from array of <Emchar> to
4525         <Lisp_Object>.
4526         (latin_iso8859_2_to_ucs): Likewise.
4527         (latin_iso8859_3_to_ucs): Likewise.
4528         (latin_iso8859_4_to_ucs): Likewise.
4529         (latin_iso8859_9_to_ucs): Likewise.
4530         (latin_viscii_lower_to_ucs): Likewise.
4531         (latin_viscii_upper_to_ucs): Likewise.
4532         (latin_tcvn5712_to_ucs): Commented out.
4533         (make_charset): Change type of argument `decoding_table' from
4534         <Emchar*> to <Lisp_Object> [vector of characters].
4535         (Fmake_charset): Modify for `make_charset'.
4536         (Fmake_reverse_direction_charset): Likewise.
4537         (Fcharset_mapping_table): New function in UTF-2000.
4538         (syms_of_mule_charset): Setup `Fcharset_mapping_table' in
4539         UTF-2000.
4540         (complex_vars_of_mule_charset): Modify for type change of
4541         `*_to_ucs'; modify for `make_charset'.
4542
4543         * char-ucs.h (struct Lisp_Charset): Change type of
4544         `decoding_table' from <Emchar*> to <Lisp_Object>.
4545         (MAKE_CHAR): Modify for new specification of `decoding_table'.
4546
4547 1999-09-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
4548
4549         * mule-charset.c (Fmake_reverse_direction_charset): Fix compile
4550         error with non-UTF-2000-Mule.
4551
4552 1999-09-21  MORIOKA Tomohiko  <tomo@etl.go.jp>
4553
4554         * mule-charset.c (Vcharset_chinese_cns11643_3): Deleted [defined
4555         in lisp again].
4556         (Vcharset_chinese_cns11643_4): Likewise.
4557         (Vcharset_chinese_cns11643_5): Likewise.
4558         (Vcharset_chinese_cns11643_6): Likewise.
4559         (Vcharset_chinese_cns11643_7): Likewise.
4560         (Qchinese_cns11643_3): Likewise.
4561         (Qchinese_cns11643_4): Likewise.
4562         (Qchinese_cns11643_5): Likewise.
4563         (Qchinese_cns11643_6): Likewise.
4564         (Qchinese_cns11643_7): Likewise.
4565         (syms_of_mule_charset): Move definitions for `chinese-cns11643-3',
4566         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
4567         and `chinese-cns11643-7' to lisp/mule/chinese.el.
4568         (complex_vars_of_mule_charset): Likewise.
4569
4570 1999-09-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
4571
4572         * mule-charset.c (charset_get_byte1): Fix bug about 94- and
4573         96-set.
4574         (Fmake_reverse_direction_charset): Inherit CHARSET_DECODING_TABLE,
4575         CHARSET_UCS_MIN, CHARSET_UCS_MAX and CHARSET_CODE_OFFSET.
4576
4577 1999-09-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
4578
4579         * char-ucs.h (MIN_CHAR_HALFWIDTH_KATAKANA): Changed to 0xFF61 from
4580         0xFF60.
4581         (MAKE_CHAR): Change offset for katakana-jisx0201 to 33 from 0x20.
4582         (breakup_char_1): Likewise.
4583
4584         * text-coding.c (char_encode_iso2022): Keep designated charsets if
4585         one of them includes the specified character.
4586
4587 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4588
4589         * mule-charset.c: Update `utf-2000-version' to 0.8 (Kami).
4590
4591 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4592
4593         * char-ucs.h (MAKE_CHAR): Fix problem in 2-dimension charset.
4594
4595 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4596
4597         * mule-charset.c (latin_iso8859_2_to_ucs NULL): Add pseudo
4598         definition for non-UTF-2000 Mule.
4599         (latin_iso8859_3_to_ucs): Likewise.
4600         (latin_iso8859_4_to_ucs): Likewise.
4601         (latin_iso8859_9_to_ucs): Likewise.
4602         (latin_jisx0201_to_ucs): Likewise.
4603         (MIN_CHAR_THAI): Likewise.
4604         (MAX_CHAR_THAI): Likewise.
4605         (MIN_CHAR_GREEK): Likewise.
4606         (MAX_CHAR_GREEK): Likewise.
4607         (MIN_CHAR_HEBREW): Likewise.
4608         (MAX_CHAR_HEBREW): Likewise.
4609         (MIN_CHAR_HALFWIDTH_KATAKANA): Likewise.
4610         (MAX_CHAR_HALFWIDTH_KATAKANA): Likewise.
4611         (MIN_CHAR_CYRILLIC): Likewise.
4612         (MAX_CHAR_CYRILLIC): Likewise.
4613
4614 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4615
4616         * char-ucs.h (breakup_char_1): Use
4617         `Vdefault_coded_charset_priority_list' for hebrew-iso8859-8,
4618         thai-tis620 and katakana-jisx0201 area.
4619
4620 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4621
4622         * char-ucs.h (breakup_char_1): Use
4623         `Vdefault_coded_charset_priority_list' for cyrillic-iso8859-5
4624         area.
4625
4626         * text-coding.c (reset_encoding_stream): Fixed.
4627         (char_encode_ucs4): Delete `& 255'.
4628
4629         * char-ucs.h (breakup_char_1): Use
4630         `Vdefault_coded_charset_priority_list' for greek-iso8859-7 area.
4631
4632 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4633
4634         * file-coding.c (Fmake_coding_system): Don't set up
4635         `codesys->fixed.size'.
4636         (encode_coding_no_conversion): Don't refer
4637         `str->codesys->fixed.size'.
4638
4639 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4640
4641         * mule-charset.c, char-ucs.h (latin_a_char_to_charset): Deleted.
4642         (latin_a_char_to_byte1): Deleted.
4643         (latin_a_char_to_byte2): Deleted.
4644
4645 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4646
4647         * mule-charset.c (make_charset): Add new argument `ucs_min',
4648         `ucs_max' and `code_offset'.
4649         (charset_get_byte1): New implementation [delete specific charset
4650         depended implementations].
4651         (Fmake_charset): Modify for `make_charset'.
4652         (Fmake_reverse_direction_charset): Likewise.
4653         (complex_vars_of_mule_charset): Likewise.
4654
4655         * char-ucs.h (struct Lisp_Charset): Add `ucs_min', `ucs_max' and
4656         `code_offset'.
4657         (CHARSET_UCS_MIN): New macro.
4658         (CHARSET_UCS_MAX): New macro.
4659         (CHARSET_CODE_OFFSET): New macro.
4660         (MAKE_CHAR): Delete charset depended definitions [except
4661         katakana-jisx0201].
4662
4663 1999-09-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
4664
4665         * char-ucs.h (breakup_char_1): Use
4666         `Vdefault_coded_charset_priority_list' for C0-Controls,
4667         Basic-Latin, C1-Controls and Latin-1-Supplement area.
4668
4669 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4670
4671         * char-ucs.h (charset_get_byte1): New function.
4672         (XCHARSET_GET_BYTE1): Deleted.
4673         (charset_get_byte2): New function.
4674         (XCHARSET_GET_BYTE2): Deleted.
4675         (Vdefault_coded_charset_priority_list): New external variable.
4676         (breakup_char_1): Use `charset_get_byte1', `charset_get_byte2' and
4677         `Vdefault_preferred_coded_charset_list'.
4678
4679         * mule-charset.c (charset_get_byte1): New function.
4680         (charset_get_byte2): New function.
4681         (Vdefault_coded_charset_priority_list): New variable.
4682         (vars_of_mule_charset): Add new variable
4683         `default-coded-charset-priority-list'.
4684
4685 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4686
4687         * char-ucs.h (XCHARSET_GET_BYTE1): New inline function.
4688         (XCHARSET_GET_BYTE2): New inline function.
4689         (breakup_char_1): Use `XCHARSET_GET_BYTE1' and
4690         `XCHARSET_GET_BYTE2'.
4691
4692 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4693
4694         * mule-charset.c (make_charset): Initialize
4695         `CHARSET_TO_BYTE1_TABLE(cs)' and `CHARSET_TO_BYTE2_TABLE(cs)' by
4696         NULL if table is not defined.
4697
4698 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4699
4700         * text-coding.c (char_encode_shift_jis): Use
4701         `XCHARSET_TO_BYTE1_TABLE' for `Vcharset_latin_jisx0201' instead of
4702         `ucs_to_latin_jisx0201'.
4703
4704         * mule-charset.c (ucs_to_latin_jisx0201): Deleted.
4705         (ucs_to_latin_iso8859_2): Deleted.
4706         (ucs_to_latin_iso8859_3): Deleted.
4707         (ucs_to_latin_iso8859_4): Deleted.
4708         (ucs_to_latin_iso8859_9): Deleted.
4709         (ucs_to_latin_viscii_lower): Deleted.
4710         (ucs_to_latin_viscii_upper): Deleted.
4711         (ucs_to_latin_tcvn5712): Deleted.
4712         (make_charset): Add new argument `decoding_table'; set up
4713         `CHARSET_DECODING_TABLE(cs)' in UTF-2000; set up
4714         `CHARSET_TO_BYTE1_TABLE(cs)' for 94-set and 96-set if
4715         `decoding_table' is defined in UTF-2000.
4716         (Fmake_charset): Modify for `make_charset'.
4717         (Fmake_reverse_direction_charset): Likewise.
4718         (complex_vars_of_mule_charset): Likewise; delete `GENERATE_94_SET'
4719         and `GENERATE_96_SET'.
4720
4721         * char-ucs.h (latin_jisx0201_to_ucs): Deleted.
4722         (ucs_to_latin_jisx0201): Deleted.
4723         (latin_iso8859_2_to_ucs): Deleted.
4724         (ucs_to_latin_iso8859_2): Deleted.
4725         (latin_iso8859_3_to_ucs): Deleted.
4726         (ucs_to_latin_iso8859_3): Deleted.
4727         (latin_iso8859_4_to_ucs): Deleted.
4728         (ucs_to_latin_iso8859_4): Deleted.
4729         (latin_iso8859_9_to_ucs): Deleted.
4730         (ucs_to_latin_iso8859_9): Deleted.
4731         (latin_viscii_lower_to_ucs): Deleted.
4732         (ucs_to_latin_viscii_lower): Deleted.
4733         (latin_viscii_upper_to_ucs): Deleted.
4734         (ucs_to_latin_viscii_upper): Deleted.
4735         (struct Lisp_Charset): Renamed `encoding_table' to
4736         `to_byte1_table'; add `to_byte2_table'.
4737         (CHARSET_DECODING_TABLE): New macro.
4738         (CHARSET_TO_BYTE1_TABLE): New macro.
4739         (CHARSET_TO_BYTE2_TABLE): New macro.
4740         (XCHARSET_DECODING_TABLE): New macro.
4741         (XCHARSET_TO_BYTE1_TABLE): New macro.
4742         (XCHARSET_TO_BYTE2_TABLE): New macro.
4743         (MAKE_CHAR): Use `XCHARSET_DECODING_TABLE'; don't use `*_to_ucs'
4744         tables.
4745         (breakup_char_1): Use `XCHARSET_TO_BYTE1_TABLE' if it is defined;
4746         don't use `ucs_to_*' tables.
4747
4748 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4749
4750         * text-coding.c (Fmake_coding_system): Don't set up
4751         `codesys->fixed.size'.
4752         (encode_coding_no_conversion): Use `if' instead of `switch'.
4753
4754         * file-coding.h (struct Lisp_Coding_System): Delete `fixed.size'.
4755
4756 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4757
4758         * mule-charset.c (make_charset): Delete argument `rep_bytes'.
4759         (Fmake_charset): Modify for `make_charset'.
4760         (Fmake_reverse_direction_charset): Likewise.
4761         (complex_vars_of_mule_charset): Likewise.
4762
4763 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4764
4765         * text-coding.c (char_encode_shift_jis): Use table
4766         `ucs_to_latin_jisx0201' and BREAKUP_CHAR.
4767
4768 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4769
4770         * text-coding.c (text_encode_generic): Use `if' instead of
4771         `switch'.
4772         (decode_coding_sjis): Use `MAKE_CHAR' and `DECODE_ADD_UCS_CHAR' to
4773         decode JIS-Latin.
4774
4775 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4776
4777         * text-coding.c (encode_coding_sjis): Deleted.
4778         (char_encode_shift_jis): New function.
4779         (char_finish_shift_jis): New function.
4780         (reset_encoding_stream): Set up `encode_char' and `finish' for
4781         `CODESYS_UCS4' and `CODESYS_SHIFT_JIS'.
4782         (mule_encode): Use generic encoder for `CODESYS_SHIFT_JIS'.
4783         (char_encode_utf8): Treat `eol_type'.
4784
4785 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4786
4787         * file-coding.c (decode_coding_iso2022): Use
4788         `DECODE_ADD_UCS_CHAR'; don't use `XCHARSET_REP_BYTES'.
4789
4790 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4791
4792         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4793         to 0.7 (Hirano).
4794
4795 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4796
4797         * char-lb.h (CHAR_COLUMNS): New macro.
4798
4799 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4800
4801         * text-coding.c (char_encode_ucs4): New function.
4802         (char_finish_ucs4): New function.
4803         (encode_coding_ucs4): Deleted.
4804         (mule_encode): Use generic encoder for `CODESYS_UCS4'.
4805         (text_encode_generic): Delete local variable `charset' and `half'.
4806         (ucs_to_mule_table): Deleted.
4807         (mule_to_ucs_table): Deleted.
4808         (Fset_ucs_char): Deleted.
4809         (ucs_to_char): Deleted.
4810         (Fucs_char): Deleted.
4811         (Fset_char_ucs): Deleted.
4812         (Fchar_ucs): Deleted.
4813         (decode_ucs4): Deleted.
4814         (mule_char_to_ucs4): Deleted.
4815         (encode_ucs4): Deleted.
4816         (decode_coding_ucs4): Use `DECODE_ADD_UCS_CHAR'.
4817         (decode_coding_utf8): Likewise.
4818         (decode_coding_iso2022): Likewise; don't use `XCHARSET_REP_BYTES'.
4819         (char_encode_iso2022): Fixed.
4820         (syms_of_file_coding): Delete `Fset_ucs_char', `Fucs_char',
4821         `Fset_char_ucs' and `Fchar_ucs'.
4822         (complex_vars_of_file_coding): Don't initialize
4823         `ucs_to_mule_table'.
4824
4825         * objects-tty.c (tty_initialize_font_instance): Don't use
4826         `XCHARSET_COLUMNS'.
4827
4828         * mule-charset.c (make_charset): Don't set up CHARSET_REP_BYTES in
4829         UTF-2000.
4830
4831         * redisplay-tty.c (tty_output_display_block): Use `CHAR_COLUMNS'
4832         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
4833
4834         * insdel.c (bufbyte_string_displayed_columns): Use `CHAR_COLUMNS'
4835         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
4836         (emchar_string_displayed_columns): Likewise.
4837
4838         * indent.c (column_at_point): Use `CHAR_COLUMNS' instead of
4839         `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
4840         (string_column_at_point): Likewise.
4841         (Fmove_to_column): Likewise.
4842
4843         * char-ucs.h (struct Lisp_Charset): Delete `rep_bytes'; add
4844         `encoding_table' and `decoding_table'.
4845         (CHARSET_REP_BYTES): Deleted.
4846         (XCHARSET_REP_BYTES): Deleted.
4847         (XCHARSET_COLUMNS): Deleted.
4848         (CHAR_COLUMNS): New macro.
4849         (lookup_composite_char): Deleted unconditionally.
4850         (composite_char_string): Likewise.
4851
4852 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4853
4854         * char-ucs.h (Emchar_to_byte_table): New type.
4855         (get_byte_from_character_table): New function interface.
4856         (Vcharset_latin_jisx0201): New variable.
4857         (latin_jisx0201_to_ucs): New variable.
4858         (ucs_to_latin_jisx0201): New variable.
4859         (Vcharset_latin_iso8859_2): New variable.
4860         (latin_iso8859_2_to_ucs): New variable.
4861         (ucs_to_latin_iso8859_2): New variable.
4862         (Vcharset_latin_iso8859_3): New variable.
4863         (latin_iso8859_3_to_ucs): New variable.
4864         (ucs_to_latin_iso8859_3): New variable.
4865         (Vcharset_latin_iso8859_4): New variable.
4866         (latin_iso8859_4_to_ucs): New variable.
4867         (ucs_to_latin_iso8859_4): New variable.
4868         (Vcharset_latin_iso8859_9): New variable.
4869         (latin_iso8859_9_to_ucs): New variable.
4870         (ucs_to_latin_iso8859_9): New variable.
4871         (Vcharset_latin_viscii_lower): New variable.
4872         (latin_viscii_lower_to_ucs): New variable.
4873         (ucs_to_latin_viscii_lower): New variable.
4874         (Vcharset_latin_viscii_upper): New variable.
4875         (latin_viscii_upper_to_ucs): New variable.
4876         (ucs_to_latin_viscii_upper): New variable.
4877         (CHARSET_ID_OFFSET_94): Changed from 0x60 to 0x55.
4878         (LEADING_BYTE_LATIN_VISCII_LOWER): New macro.
4879         (LEADING_BYTE_LATIN_VISCII_UPPER): New macro.
4880         (MAKE_CHAR): Map `latin-iso8859-2', `latin-iso8859-3',
4881         `latin-iso8859-4', `latin-iso8859-9', `latin-jisx0201',
4882         `vietnamese-viscii-lower' and `vietnamese-viscii-upper' to BMP.
4883         (breakup_char_1): Use `ucs_to_latin_iso8859_2',
4884         `ucs_to_latin_iso8859_3', `ucs_to_latin_iso8859_4',
4885         `ucs_to_latin_iso8859_9', `ucs_to_latin_viscii_lower',
4886         `ucs_to_latin_viscii_upper' and `ucs_to_latin_jisx0201' tables.
4887
4888         * mule-charset.c (Vcharset_latin_viscii_lower): New variable.
4889         (Vcharset_latin_viscii_upper): New variable.
4890         (make_byte_from_character_table): New function.
4891         (put_byte_from_character_table): New function.
4892         (get_byte_from_character_table): New function.
4893         (CHAR96): New macro.
4894         (ucs_to_latin_jisx0201): New variable.
4895         (latin_jisx0201_to_ucs): New variable.
4896         (ucs_to_latin_iso8859_2): New variable.
4897         (latin_iso8859_2_to_ucs): New variable.
4898         (ucs_to_latin_iso8859_3): New variable.
4899         (latin_iso8859_3_to_ucs): New variable.
4900         (ucs_to_latin_iso8859_4): New variable.
4901         (latin_iso8859_4_to_ucs): New variable.
4902         (ucs_to_latin_iso8859_9): New variable.
4903         (latin_iso8859_9_to_ucs): New variable.
4904         (ucs_to_latin_viscii_lower): New variable.
4905         (latin_viscii_lower_to_ucs): New variable.
4906         (ucs_to_latin_viscii_upper): New variable.
4907         (latin_viscii_upper_to_ucs): New variable.
4908         (ucs_to_latin_tcvn5712): New variable.
4909         (latin_tcvn5712_to_ucs): New variable.
4910         (Qlatin_viscii_lower): New variable.
4911         (Qlatin_viscii_upper): New variable.
4912         (syms_of_mule_charset): Set up new symbol
4913         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'.
4914         (complex_vars_of_mule_charset): Set up new charset
4915         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'; new macro
4916         `GENERATE_94_SET' and `GENERATE_96_SET'; use them to generate
4917         `ucs_to_<CHARSET>' tables.
4918
4919 1999-09-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
4920
4921         * text-coding.c: New file.
4922
4923 1999-09-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
4924
4925         * mule-charset.c (Fmake_char): Fix problem of 256-set.
4926
4927         * char-ucs.h (Vcharset_ucs_bmp): New variable.
4928         (MAKE_CHAR): Modify for `ucs-bmp'.
4929         (breakup_char_1): Return `ucs-bmp' and code point of BMP for
4930         non-MULE characters of BMP.
4931
4932 1999-09-06  MORIOKA Tomohiko  <tomo@etl.go.jp>
4933
4934         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4935         to 0.6.
4936
4937 1999-09-05  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4938
4939         * lstream.h:
4940         - Include multibyte.h instead of character.h for `BYTE_ASCII_P'.
4941         - Include character.h for `CHAR_ASCII_P'.
4942
4943         * mb-multibyte.h (CHAR_MULTIBYTE_P): Moved from mule-charset.h.
4944
4945         * mule-charset.h (CHAR_MULTIBYTE_P): Moved to mb-multibyte.h.
4946         (CHAR_ASCII_P): Don't use `CHAR_MULTIBYTE_P'.
4947
4948         * mb-multibyte.h (BYTE_ASCII_P): Moved from char-ucs.h.
4949         (BYTE_C0_P): Likewise.
4950         (BYTE_C1_P): Likewise.
4951         (Lstream_get_emchar_1): Likewise.
4952         (Lstream_fput_emchar): Likewise.
4953         (Lstream_funget_emchar): Likewise.
4954         (copy_internal_to_external): Likewise.
4955         (copy_external_to_internal): Likewise.
4956
4957         * char-ucs.h (BYTE_ASCII_P): Moved to mb-multibyte.h.
4958         (BYTE_C0_P): Likewise.
4959         (BYTE_C1_P): Likewise.
4960         (Lstream_get_emchar_1): Likewise.
4961         (Lstream_fput_emchar): Likewise.
4962         (Lstream_funget_emchar): Likewise.
4963         (copy_internal_to_external): Likewise.
4964         (copy_external_to_internal): Likewise.
4965
4966         * mb-1byte.h (BYTE_ASCII_P): Moved from buffer.h.
4967         (REP_BYTES_BY_FIRST_BYTE): Likewise.
4968
4969         * buffer.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-1byte.h.
4970         (BYTE_ASCII_P): Moved to mb-1byte.h.
4971
4972 1999-09-04  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4973
4974         * mb-utf-8.h, mb-lb.h: Include mb-multibyte.h.
4975
4976         * multibyte.h: Include mb-1byte.h in unibyte-XEmacs.
4977         (MAX_EMCHAR_LEN): Moved to mb-1byte.h.
4978         (VALID_CHARPTR_P): Moved to mb-*byte.h.
4979         (VALIDATE_CHARPTR_BACKWARD): Likewise.
4980         (VALIDATE_CHARPTR_FORWARD): Likewise.
4981         (simple_charptr_emchar): Moved to mb-multibyte.h.
4982         (simple_set_charptr_emchar): Likewise.
4983         (simple_charptr_copy_char): Likewise.
4984         (non_ascii_charptr_emchar): Likewise.
4985         (non_ascii_set_charptr_emchar): Likewise.
4986         (non_ascii_charptr_copy_char): Likewise.
4987         (charptr_emchar): Moved to mb-*byte.h.
4988         (set_charptr_emchar): Likewise.
4989         (charptr_copy_char): Likewise.
4990
4991         * mb-1byte.h, mb-multibyte.h: New files.
4992
4993 1999-09-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4994
4995         * mb-utf-8.h (MULTIBYTE): New macro.
4996         (MAX_EMCHAR_LEN): Moved from buffer.h.
4997         (REP_BYTES_BY_FIRST_BYTE): Moved from char-ucs.h.
4998
4999         * char-ucs.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-utf-8.h.
5000
5001         * mb-lb.h, multibyte.h: New files.
5002
5003         * char-1byte.h (Charset_ID): Moved from buffer.h.
5004         (MIN_LEADING_BYTE): Likewise.
5005         (LEADING_BYTE_ASCII): Likewise.
5006         (NUM_LEADING_BYTES): Likewise.
5007         (CHARSETP): Likewise.
5008         (CHARSET_BY_LEADING_BYTE): Likewise.
5009         (XCHARSET_LEADING_BYTE): Likewise.
5010         (XCHARSET_GRAPHIC): Likewise.
5011         (XCHARSET_COLUMNS): Likewise.
5012         (XCHARSET_DIMENSION): Likewise.
5013         (CHAR_CHARSET): Likewise.
5014         (CHAR_LEADING_BYTE): Likewise.
5015         (BREAKUP_CHAR): Likewise.
5016         (Vcharset_ascii): Likewise.
5017
5018         * buffer.h: Include multibyte.h unconditionally.
5019         (VALID_CHARPTR_P): Moved to multibyte.h.
5020         (ASSERT_VALID_CHARPTR): Likewise.
5021         (REAL_INC_CHARPTR): Likewise.
5022         (REAL_INC_CHARBYTIND): Likewise.
5023         (REAL_DEC_CHARPTR): Likewise.
5024         (INC_CHARPTR): Likewise.
5025         (INC_CHARBYTIND): Likewise.
5026         (DEC_CHARPTR): Likewise.
5027         (VALIDATE_CHARPTR_BACKWARD): Likewise.
5028         (VALIDATE_CHARPTR_FORWARD): Likewise.
5029         (charptr_n_addr): Likewise.
5030         (MAX_EMCHAR_LEN): Moved to mb-*.h.
5031         (simple_charptr_emchar): Moved to multibyte.h.
5032         (simple_set_charptr_emchar): Likewise.
5033         (simple_charptr_copy_char): Likewise.
5034         (non_ascii_charptr_emchar): Likewise.
5035         (non_ascii_set_charptr_emchar): Likewise.
5036         (non_ascii_charptr_copy_char): Likewise.
5037         (charptr_emchar): Likewise.
5038         (set_charptr_emchar): Likewise.
5039         (charptr_copy_char): Likewise.
5040         (charptr_emchar_n): Likewise.
5041         (Charset_ID): Moved to char-1byte.h.
5042         (Vcharset_ascii): Likewise.
5043         (CHAR_CHARSET): Likewise.
5044         (CHAR_LEADING_BYTE): Likewise.
5045         (LEADING_BYTE_ASCII): Likewise.
5046         (NUM_LEADING_BYTES): Likewise.
5047         (MIN_LEADING_BYTE): Likewise.
5048         (CHARSETP): Likewise.
5049         (CHARSET_BY_LEADING_BYTE): Likewise.
5050         (XCHARSET_LEADING_BYTE): Likewise.
5051         (XCHARSET_GRAPHIC): Likewise.
5052         (XCHARSET_COLUMNS): Likewise.
5053         (XCHARSET_DIMENSION): Likewise.
5054         (BREAKUP_CHAR): Likewise.
5055
5056 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5057
5058         * character.h: Add document about interface for characters.
5059
5060         * char-ucs.h (CHAR_ASCII_P): Modify name of argument.
5061         (MAKE_CHAR): Delete comment about
5062         `FIELD2_TO_OFFICIAL_LEADING_BYTE' and
5063         `FIELD2_TO_PRIVATE_LEADING_BYTE'.
5064         (BREAKUP_CHAR): Modify name of arguments.
5065         (CHAR_CHARSET): Modify name of argument.
5066
5067         * buffer.h: Delete document about Emchar accessors.
5068
5069 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5070
5071         * character.h (CHAR_INTP): Moved from buffer.h
5072         (CHAR_OR_CHAR_INTP): Likewise.
5073         (XCHAR_OR_CHAR_INT): Likewise.
5074         (CHECK_CHAR_COERCE_INT): Likewise.
5075
5076         * buffer.h (CHAR_INTP): Moved to character.h
5077         (CHAR_OR_CHAR_INTP): Likewise.
5078         (XCHAR_OR_CHAR_INT): Likewise.
5079         (CHECK_CHAR_COERCE_INT): Likewise.
5080
5081 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5082
5083         * character.h:
5084         - Move definitions about UCS-2000 (UCS-4) to char-ucs.h.
5085         - Include char-1byte.h, char-lb.h or char-ucs.h.
5086
5087         * mb-utf-8.h (CHAR_ASCII_P): Moved to char-ucs.h.
5088
5089         * buffer.h: Include character unconditionally.
5090         (valid_char_p): Moved to char-*.h.
5091         (non_ascii_valid_char_p): Moved to char-lb.h.
5092
5093         * char-1byte.h, char-lb.h, char-ucs.h: New files.
5094
5095 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5096
5097         * mule-ccl.c (ccl_driver): Don't define `CCL_WriteMultibyteChar2'
5098         in UTF-2000 because it is not ported yet and not to use
5099         `FIELD2_TO_OFFICIAL_LEADING_BYTE', `MIN_LEADING_BYTE_OFFICIAL_2',
5100         `FIELD1_TO_OFFICIAL_LEADING_BYTE' and
5101         `FIELD1_TO_PRIVATE_LEADING_BYTE'.
5102
5103         * mb-utf-8.h (CHAR_MULTIBYTE_P): Moved from character.h.
5104         (CHAR_ASCII_P): Moved from character.h.
5105
5106         * character.h (CHAR_MULTIBYTE_P): Moved to mb-utf-8.h.
5107         (CHAR_ASCII_P): Likewise.
5108         (CHAR_FIELD1_MASK): Deleted.
5109         (CHAR_FIELD2_MASK): Deleted.
5110         (CHAR_FIELD3_MASK): Deleted.
5111         (MAX_CHAR_BASIC_LATIN): New macro.
5112         (CHAR_FIELD1): Deleted.
5113         (CHAR_FIELD2_INTERNAL): Deleted.
5114         (CHAR_FIELD3_INTERNAL): Deleted.
5115         (FIELD1_TO_PRIVATE_LEADING_BYTE): Deleted.
5116         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Deleted.
5117         (FIELD2_TO_PRIVATE_LEADING_BYTE): Deleted.
5118         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Deleted.
5119         (MIN_CHAR_FIELD1_OFFICIAL): Deleted.
5120         (MAX_CHAR_FIELD1_OFFICIAL): Deleted.
5121         (MIN_CHAR_FIELD2_PRIVATE): Deleted.
5122         (MAX_CHAR_FIELD2_PRIVATE): Deleted.
5123         (MIN_CHAR_FIELD1_PRIVATE): Deleted.
5124         (MAX_CHAR_FIELD1_PRIVATE): Deleted.
5125         (MULE_CHAR_PRIVATE_OFFSET): Deleted.
5126         (MIN_CHAR_PRIVATE_TYPE9N): Deleted.
5127         (MAX_CHAR_PRIVATE_TYPE9N): Deleted.
5128         (MIN_CHAR_PRIVATE_TYPE9NX9N): Deleted.
5129         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Deleted.
5130         (MIN_CHAR_COMPOSITION): Deleted.
5131         (breakup_char_1): Use `MAX_CHAR_BASIC_LATIN' instead of
5132         `CHAR_ASCII_P'; use `0x7f' instead of `CHAR_FIELD3_INTERNAL'.
5133
5134 1999-09-02  MORIOKA Tomohiko  <tomo@m17n.org>
5135
5136         * buffer.h: Include mb-utf-8.h in UTF-2000.
5137
5138         * character.h (BUFBYTE_FIRST_BYTE_P): Moved to mb-utf-8.h.
5139
5140         * mb-utf-8.h: New file.
5141
5142 1999-09-02  MORIOKA Tomohiko  <tomo@etl.go.jp>
5143
5144         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use `Charset_ID'
5145         instead of `int'.
5146
5147         * mule-charset.h, buffer.h (Charset_ID): New type.
5148
5149 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
5150
5151         * mule-canna.c (c2mu): Use `MAKE_CHAR',
5152         `Vcharset_japanese_jisx0212' and `Vcharset_japanese_jisx0208'
5153         instead of `MULE_CHAR_PRIVATE_OFFSET',
5154         `LEADING_BYTE_JAPANESE_JISX0212', `LEADING_BYTE_JAPANESE_JISX0208'
5155         and `FIELD1_TO_OFFICIAL_LEADING_BYTE'.
5156         (m2c): Use `BREAKUP_CHAR' and `XCHARSET_FINAL'.
5157
5158         * character.h (Vcharset_japanese_jisx0212): New variable
5159         definition.
5160
5161 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
5162
5163         * mule-charset.c (Vcharset_ucs_bmp): New variable in UTF-2000.
5164         (charset_by_attributes): Delete array about direction.
5165         (latin_a_char_to_charset): New variable in UTF-2000.
5166         (latin_a_char_to_byte1): New variable in UTF-2000.
5167         (latin_a_char_to_byte2): New variable in UTF-2000.
5168         (Qucs_bmp): New variable.
5169         (next_allocated_1_byte_leading_byte): Use `Charset_ID' instead of
5170         `Bufbyte'.
5171         (next_allocated_2_byte_leading_byte): Likewise.
5172         (non_ascii_set_charptr_emchar): Likewise.
5173         (make_charset): Likewise; add `CHARSET_TYPE_128X128' and
5174         `CHARSET_TYPE_256X256' in UTF-2000; modify for
5175         `charset_by_attributes'.
5176         (get_unallocated_leading_byte): Use `Charset_ID' instead of `int'.
5177         (char-charset): Use `CHAR_CHARSET' instead of `CHAR_LEADING_BYTE'
5178         and `CHARSET_BY_LEADING_BYTE'.
5179         (syms_of_mule_charset): Set up `ucs-bmp'; move setting of
5180         `utf-2000-version' to `vars_of_mule_charset'.
5181         (vars_of_mule_charset): Modify for `charset_by_attributes'; don't
5182         define `leading-code-private-11' in UTF-2000; move setting of
5183         `utf-2000-version' from `syms_of_mule_charset'.
5184         (complex_vars_of_mule_charset): Set up charset `ucs-bmp' in
5185         UTF-2000.
5186
5187         * character.h (Charset_ID): New type.
5188         (LEADING_BYTE_UCS_BMP): New macro.
5189         (LEADING_BYTE_CONTROL_1): Changed from 0x8F to 0x81.
5190         (CHARSET_ID_OFFSET_94): New macro.
5191         (MIN_CHARSET_ID_PRIVATE_94): New macro.
5192         (MAX_CHARSET_ID_PRIVATE_94): New macro.
5193         (LEADING_BYTE_ASCII): Changed to use CHARSET_ID_OFFSET_94 and
5194         final-byte.
5195         (LEADING_BYTE_KATAKANA_JISX0201): Likewise.
5196         (LEADING_BYTE_LATIN_JISX0201): Likewise.
5197         (CHARSET_ID_OFFSET_96): New macro.
5198         (LEADING_BYTE_LATIN_ISO8859_1): Changed to use
5199         CHARSET_ID_OFFSET_96 and final-byte.
5200         (LEADING_BYTE_LATIN_ISO8859_2): Likewise.
5201         (LEADING_BYTE_LATIN_ISO8859_3): Likewise.
5202         (LEADING_BYTE_LATIN_ISO8859_4): Likewise.
5203         (LEADING_BYTE_GREEK_ISO8859_7): Likewise.
5204         (LEADING_BYTE_ARABIC_ISO8859_6): Likewise.
5205         (LEADING_BYTE_HEBREW_ISO8859_8): Likewise.
5206         (LEADING_BYTE_CYRILLIC_ISO8859_5): Likewise.
5207         (LEADING_BYTE_LATIN_ISO8859_9): Likewise.
5208         (LEADING_BYTE_THAI_TIS620): Likewise.
5209         (MIN_LEADING_BYTE_PRIVATE_1): Changed from 0x0D0 to 0xD0.
5210         (MAX_LEADING_BYTE_PRIVATE_1): Changed from 0x11f to 0xDF.
5211         (CHARSET_ID_OFFSET_94x94): New macro.
5212         (LEADING_BYTE_CHINESE_BIG5_1): Changed to use
5213         CHARSET_ID_OFFSET_94x94 and final-byte.
5214         (LEADING_BYTE_CHINESE_BIG5_2): Likewise.
5215         (MIN_LEADING_BYTE_PRIVATE_2): Likewise.
5216         (MAX_LEADING_BYTE_PRIVATE_2): Likewise.
5217         (LEADING_BYTE_JAPANESE_JISX0208_1978): Likewise.
5218         (LEADING_BYTE_CHINESE_GB2312): Likewise.
5219         (LEADING_BYTE_JAPANESE_JISX0208): Likewise.
5220         (LEADING_BYTE_KOREAN_KSC5601): Likewise.
5221         (LEADING_BYTE_JAPANESE_JISX0212): Likewise.
5222         (LEADING_BYTE_CHINESE_CCITT_GB): Likewise.
5223         (LEADING_BYTE_CHINESE_CNS11643_*): Likewise.
5224         (LEADING_BYTE_KOREAN_KPS9566): Likewise.
5225         (CHARSET_TYPE_128X128): New macro.
5226         (CHARSET_TYPE_256X256): New macro.
5227         (XCHARSET_PRIVATE_P): Delete unconditionally.
5228         (charset_by_attributes): Delete array about direction.
5229         (CHARSET_BY_LEADING_BYTE): Use `Charset_ID' instead of `int'.
5230         (CHARSET_BY_ATTRIBUTES): Modify for `charset_by_attributes'.
5231         (MIN_CHAR_94): New macro.
5232         (MAX_CHAR_94): New macro.
5233         (MIN_CHAR_96): New macro.
5234         (MAX_CHAR_96): New macro.
5235         (MIN_CHAR_94x94): New macro.
5236         (MAX_CHAR_94x94): New macro.
5237         (MIN_CHAR_96x96): New macro.
5238         (MAX_CHAR_96x96): New macro.
5239         (FIELD1_TO_PRIVATE_LEADING_BYTE): Use `CHARSET_ID_OFFSET_94x94'.
5240         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
5241         (FIELD2_TO_PRIVATE_LEADING_BYTE): Use `(MIN_LEADING_BYTE_PRIVATE_1
5242         - 32)'.
5243         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Use `LEADING_BYTE_ASCII'.
5244         (MIN_CHAR_FIELD2_OFFICIAL): Deleted.
5245         (MAX_CHAR_FIELD2_OFFICIAL): Deleted.
5246         (MIN_CHAR_OFFICIAL_TYPE9N): Deleted.
5247         (MAX_CHAR_PRIVATE_TYPE9N): Changed.
5248         (MAKE_CHAR): Use `XCHARSET_FINAL' instead of
5249         `XCHARSET_LEADING_BYTE' to make code-point.
5250         (latin_a_char_to_charset): New variable.
5251         (latin_a_char_to_byte1): New variable.
5252         (latin_a_char_to_byte2): New variable.
5253         (breakup_char_1): Use `latin_a_char_to_{charset|byte1|byte2}' for
5254         Latin Extended-A; use `CHARSET_BY_ATTRIBUTES' instead of
5255         `CHARSET_BY_LEADING_BYTE' to get charset for ISO-2022 characters.
5256
5257         * insdel.c (find_charsets_in_bufbyte_string): Use `Charset_ID'
5258         instead of `unsigned char'; use `MIN_LEADING_BYTE' instead of 128.
5259         (find_charsets_in_emchar_string): Likewise.
5260         (vars_of_insdel): Don't define local variable `i' in UTF-2000.
5261
5262         * file-coding.c (Fdecode_big5_char): Use `Charset_ID' instead of
5263         `int'.
5264         (decode_coding_iso2022): Likewise.
5265
5266         * toolbar-x.c (x_output_toolbar_button): Use `Charset_ID' instead
5267         of `unsigned char'.
5268
5269         * redisplay.c (redisplay_text_width_emchar_string): Use
5270         `Charset_ID' instead of `unsigned char'.
5271         (redisplay_frame_text_width_string): Likewise.
5272
5273         * glyphs.c (glyph_height_internal): Use `Charset_ID' instead of
5274         `unsigned char'.
5275
5276         * faces.h, faces.c (ensure_face_cachel_complete): Use `Charset_ID'
5277         instead of `unsigned char'.
5278         (face_cachel_charset_font_metric_info): Likewise.
5279
5280         * chartab.c (print_char_table): Use `Charset_ID' instead of `int'.
5281         (get_non_ascii_char_table_value): Likewise.
5282         (get_char_table): Likewise.
5283         (put_char_table): Likewise.
5284         (map_over_other_charset): Likewise.
5285         (map_char_table): Likewise.
5286
5287         * buffer.h (find_charsets_in_bufbyte_string): Use `Charset_ID'
5288         instead of `unsigned char'.
5289
5290 1999-08-31  MORIOKA Tomohiko  <tomo@etl.go.jp>
5291
5292         * character.h (PRE_LEADING_BYTE_PRIVATE_1): Deleted.
5293         (PRE_LEADING_BYTE_PRIVATE_2): Deleted.
5294
5295         * mule-charset.c (leading_code_private_11): Don't define in
5296         UTF-2000.
5297
5298         * mule-ccl.c (ccl_driver): Don't define `CCL_ReadMultibyteChar2'
5299         in UTF-2000 because it is not ported yet and not to use
5300         `PRE_LEADING_BYTE_PRIVATE_1' and `PRE_LEADING_BYTE_PRIVATE_2'.
5301
5302 1999-08-30  MORIOKA Tomohiko  <tomo@etl.go.jp>
5303
5304         * character.h (LEADING_BYTE_COMPOSITE): Deleted.
5305
5306 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
5307
5308         * regex.c (re_compile_fastmap): Don't use `LEADING_BYTE_PREFIX_P'
5309         in UTF-2000.
5310
5311         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use int instead
5312         of unsigned char to store leading-byte.
5313
5314         * chartab.c (get_non_ascii_char_table_value): Don't use
5315         `BREAKUP_CHAR_1_UNSAFE' in UTF-2000.
5316
5317         * file-coding.c (encode_coding_big5): Delete bogus implementation
5318         in UTF2000.
5319
5320         * character.h (LEADING_BYTE_*): Delete definition for
5321         non-UTF-2000.
5322         (LEADING_BYTE_PRIVATE_P): Deleted unconditionally.
5323         (LEADING_BYTE_PREFIX_P): Deleted.
5324         (PRIVATE_LEADING_BYTE_PREFIX): Deleted.
5325         (BUFBYTE_FIRST_BYTE_P): Delete definition for non-UTF-2000.
5326         (BUFBYTE_LEADING_BYTE_P): Deleted.
5327         (CHARSET_PRIVATE_P): Deleted unconditionally.
5328         (rep_bytes_by_first_byte): Deleted unconditionally.
5329         (REP_BYTES_BY_FIRST_BYTE): Delete definition for non-UTF-2000.
5330         (FIELD1_TO_PRIVATE_LEADING_BYTE): Likewise.
5331         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
5332         (FIELD2_TO_PRIVATE_LEADING_BYTE): Likewise.
5333         (CHAR_FIELD2): Deleted.
5334         (CHAR_FIELD3): Deleted.
5335         (MAKE_CHAR): Delete definition for non-UTF-2000.
5336         (BREAKUP_CHAR_1_UNSAFE): Deleted.
5337         (breakup_char_1): New implementation.
5338         (CHAR_CHARSET): Use `BREAKUP_CHAR'.
5339         (CHAR_LEADING_BYTE): Use `CHAR_CHARSET'.
5340
5341 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
5342
5343         * character.h (REP_BYTES_BY_FIRST_BYTE): Change order of
5344         condition.
5345
5346 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
5347
5348         * character.h (LEADING_BYTE_PRIVATE_P): Don't define in UTF2000.
5349         (CHARSET_PRIVATE_P): Likewise.
5350         (XCHARSET_PRIVATE_P): Likewise.
5351         (MAKE_CHAR): Don't use XCHARSET_PRIVATE_P in UTF2000.
5352
5353         * file-coding.c (encode_coding_ucs4): Delete bogus implement in
5354         UTF2000.
5355         (decode_coding_iso2022): Don't use XCHARSET_PRIVATE_P in UTF2000.
5356
5357 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
5358
5359         * character.h (LEADING_BYTE_*): Changed in UTF2000.
5360         (NUM_LEADING_BYTES): Changed from 128 to 256.
5361         (FIELD1_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
5362         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Change value to 0x80 in
5363         UTF2000.
5364         (FIELD2_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
5365
5366         * mule-charset.c (Vcharset_chinese_cns11643_3): New variable in
5367         UTF2000.
5368         (Vcharset_chinese_cns11643_4): New variable in UTF2000.
5369         (Vcharset_chinese_cns11643_5): New variable in UTF2000.
5370         (Vcharset_chinese_cns11643_6): New variable in UTF2000.
5371         (Vcharset_chinese_cns11643_7): New variable in UTF2000.
5372         (Qchinese_cns11643_3): New variable in UTF2000.
5373         (Qchinese_cns11643_4): New variable in UTF2000.
5374         (Qchinese_cns11643_5): New variable in UTF2000.
5375         (Qchinese_cns11643_6): New variable in UTF2000.
5376         (Qchinese_cns11643_7): New variable in UTF2000.
5377         (syms_of_mule_charset): Define `chinese-cns11643-3',
5378         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
5379         and `chinese-cns11643-7' in UTF2000.
5380         (vars_of_mule_charset): Initialize
5381         next_allocated_2_byte_leading_byte by LEADING_BYTE_CHINESE_BIG5_2
5382         + 1 in UTF2000.
5383         (complex_vars_of_mule_charset): Setup charset
5384         `chinese-cns11643-3', `chinese-cns11643-4', `chinese-cns11643-5',
5385         `chinese-cns11643-6' and `chinese-cns11643-7' in UTF2000.
5386
5387 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5388
5389         * mule-charset.c: Move setting for `leading-code-private-11' from
5390         `syms_of_mule_charset' to `vars_of_mule_charset'.
5391
5392 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5393
5394         * mule-charset.h (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE'
5395         and `NUM_LEADING_BYTES' in assert.
5396
5397 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5398
5399         * character.h (charset_by_leading_byte): Use `NUM_LEADING_BYTES'
5400         instead of 128.
5401         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' and
5402         `NUM_LEADING_BYTES' instead of 128.
5403
5404 1999-08-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
5405
5406         * mule-charset.h (charset_by_leading_byte): Use
5407         `NUM_LEADING_BYTES' instead of 128.
5408         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' instead of 128.
5409
5410         * mule-charset.c (charset_by_leading_byte): Use
5411         `NUM_LEADING_BYTES' instead of 128.
5412         (make_charset): Use `MIN_LEADING_BYTE' instead of 128.
5413
5414         * faces.h (FACE_CACHEL_FONT): Use `MIN_LEADING_BYTE' instead of
5415         128.
5416
5417 1999-08-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
5418
5419         * mule-charset.c (syms_of_mule_charset): Update to
5420         0.4 (Shin-Imamiya).
5421
5422 1999-07-13 Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
5423
5424         * file-coding.c (encode_coding_sjis): New implementation for
5425         UTF2000.  (decode_coding_sjis): Ditto.
5426
5427 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
5428
5429         * mule-charset.c, character.h (Bytecount rep_bytes_by_first_byte):
5430         Don't define in UTF2000.
5431
5432         * character.h: Include mule-charset.h if CHAR_IS_UCS4 is not
5433         defined.
5434
5435         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
5436         mule-ccl.c, lstream.h, buffer.h: Include character.h in every
5437         MULE.
5438
5439 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
5440
5441         * config.h.in (CHAR_IS_UCS4): New macro.
5442
5443         * mule-charset.c (rep_bytes_by_first_byte): Modify for
5444         conventional MULE representation.
5445         (syms_of_mule_charset): Update to 0.3 (Imamiya).
5446
5447         * mule-charset.h: Reverted to original.
5448
5449         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
5450         mule-ccl.c, lstream.h, buffer.h: Use "character.h" instead of
5451         "mule-charset.h" if CHAR_IS_UCS4 is defined.
5452
5453         * character.h: New file.
5454
5455         * file-coding.c (Fmake_coding_system): Set 1 to
5456         `codesys->fixed.size' if TYPE is `no-conversion' and UTF2000 is
5457         defined.
5458         (encode_coding_no_conversion): New implementation for UTF2000.
5459
5460         * file-coding.h (struct Lisp_Coding_System): Add new member
5461         `fixed.size'.
5462
5463 1999-06-16  MORIOKA Tomohiko  <tomo@etl.go.jp>
5464
5465         * file-coding.c (decode_coding_iso2022): Code-point arguments of
5466         `MAKE_CHAR' must be smaller than 0x80 in UTF2000.
5467         (encode_coding_iso2022): New implementation for UTF2000.
5468
5469 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5470
5471         * mule-canna.c (c2mu): New implementation for UTF2000.
5472         (m2c): Likewise.
5473
5474 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5475
5476         * file-coding.c (encode_coding_no_conversion): Modify for UTF2000.
5477
5478 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5479
5480         * file-coding.c (reset_encoding_stream): Set 0 to
5481         `str->iso2022.current_char_boundary' in UTF2000.
5482         (encode_utf8): Don't define in UTF2000.
5483         (encode_coding_utf8): New implementation for UTF-8 representation
5484         of UTF2000.
5485         (complex_vars_of_file_coding): Define coding-system `utf-8'.
5486
5487 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5488
5489         * mule.c (vars_of_mule): Provide `utf-2000' in UTF2000.
5490
5491         * mule-charset.h (BUFBYTE_FIRST_BYTE_P): Modify for UTF-8 in
5492         UTF2000.
5493         (REP_BYTES_BY_FIRST_BYTE): Likewise.
5494
5495         * buffer.h (non_ascii_valid_char_p): Don't define in UTF2000.
5496
5497         * mule-charset.c (non_ascii_set_charptr_emchar): Don't define
5498         local variables `lb', `c1', `c2' and `charset' in UTF2000; encode
5499         as UTF-8 in UTF2000.
5500         (non_ascii_charptr_emchar): Decode as UTF-8 in UTF2000.
5501         (non_ascii_valid_char_p): Don't define in UTF2000.
5502         (non_ascii_charptr_copy_char): Add case 5 and 6 in UTF2000.
5503         (Lstream_get_emchar_1): Likewise.
5504         (utf-2000-version): New variable in UTF2000.
5505
5506         * lread.c (read_escape): Add new reader `u'.
5507
5508         * insdel.c (three_to_one_table): Don't define in UTF2000.
5509         (bufpos_to_bytind_func): Use `buf->text->mule_size' instead of
5510         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
5511         UTF2000.
5512         (bytind_to_bufpos_func): Likewise.
5513         (buffer_mule_signal_inserted_region): Likewise.
5514         (vars_of_insdel): Don't initialize `three_to_one_table'.
5515         (init_buffer_text): Use `buf->text->mule_size' instead of
5516         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
5517         UTF2000.
5518
5519         * file-coding.c (DECODE_ADD_BINARY_CHAR): New implementation for
5520         UTF-8 representation in UTF2000.
5521         (DECODE_ADD_UCS_CHAR): New macro in UTF2000.
5522         (decode_ucs4): Use `DECODE_ADD_UCS_CHAR' in UTF2000.
5523         (decode_coding_iso2022): Don't define local variable `lb' in
5524         UTF2000; don't use LEADING_BYTE in UTF2000; use
5525         `DECODE_ADD_UCS_CHAR' in UTF2000.
5526         (convert_to_external_format): Decode as UTF-8 in UTF2000.
5527
5528         * config.h.in (UTF2000): New macro.
5529
5530         * buffer.h (struct buffer_text): Add new member `mule_size' and
5531         don't add `mule_shifter' and `mule_three_p' in UTF2000.
5532         (valid_char_p): Return always 1 in UTF2000.
5533         (MAX_EMCHAR_LEN): 6 in UTF2000.
5534         (three_to_one_table): Don't define in UTF2000.
5535         (real_bufpos_to_bytind): Modify for UTF-8 representation in
5536         UTF2000.
5537         (real_bytind_to_bufpos): Likewise.
5538
5539         * alloc.c (Fmake_string): Add case 5 and 6 for UTF2000.
5540
5541 1999-06-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
5542
5543         * mule-charset.c (rep_bytes_by_first_byte): Modified for character
5544         representation change.
5545         (Vutf_2000_version): New variable.
5546         (leading_code_private_11): New variable.
5547         (syms_of_mule_charset): Add new variables `utf-2000-version' and
5548         `leading-code-private-11'.
5549
5550         * mule-charset.h (LEADING_BYTE_CHINESE_CCITT_GB): New macro.
5551         (LEADING_BYTE_CHINESE_BIG5_1): Changed to 0x96 temporally.
5552         (LEADING_BYTE_CHINESE_CNS11643_1): Changed to 0x97.
5553         (LEADING_BYTE_CHINESE_CNS11643_2): Changed to 0x98.
5554         (LEADING_BYTE_CHINESE_CNS11643_3): New macro.
5555         (LEADING_BYTE_CHINESE_CNS11643_4): Likewise.
5556         (LEADING_BYTE_CHINESE_CNS11643_5): Likewise.
5557         (LEADING_BYTE_CHINESE_CNS11643_6): Likewise.
5558         (LEADING_BYTE_CHINESE_CNS11643_7): Likewise [but not used].
5559         (LEADING_BYTE_CHINESE_BIG5_2): Changed to 0x9D temporally.
5560         (LEADING_BYTE_KOREAN_KPS9566): New macro [but not used].
5561         (CHAR_FIELD1_MASK): Changed to (0x7F << 14).
5562         (MIN_CHAR_GREEK): New macro.
5563         (MAX_CHAR_GREEK): New macro.
5564         (MIN_CHAR_CYRILLIC): New macro.
5565         (MAX_CHAR_CYRILLIC): New macro.
5566         (MIN_CHAR_HEBREW): New macro.
5567         (MAX_CHAR_HEBREW): New macro.
5568         (MIN_CHAR_THAI): New macro.
5569         (MAX_CHAR_THAI): New macro.
5570         (MIN_CHAR_HALFWIDTH_KATAKANA): New macro.
5571         (MAX_CHAR_HALFWIDTH_KATAKANA): New macro.
5572         (CHAR_FIELD2_INTERNAL): New macro [renamed from `CHAR_FIELD2'.
5573         (CHAR_FIELD3_INTERNAL): New macro [renamed from `CHAR_FIELD3'.
5574         (FIELD1_TO_PRIVATE_LEADING_BYTE): Changed to 0xc0.
5575         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Changed to 0x50.
5576         (CHAR_FIELD2): New inline function.
5577         (CHAR_FIELD3): New inline function.
5578         (MULE_CHAR_PRIVATE_OFFSET): New macro.
5579         (MIN_CHAR_OFFICIAL_TYPE9N): Shifted to `MULE_CHAR_PRIVATE_OFFSET'.
5580         (MIN_CHAR_PRIVATE_TYPE9N): Likewise.
5581         (MIN_CHAR_PRIVATE_TYPE9NX9N): Likewise.
5582         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Likewise.
5583         (MIN_CHAR_COMPOSITION): Likewise.
5584         (CHAR_LEADING_BYTE): Modified for character representation change.
5585         (MAKE_CHAR): Likewise.
5586
5587         * lisp.h (Vcharset_latin_iso8859_1): New variable.
5588         (Vcharset_greek_iso8859_7): Likewise.
5589         (Vcharset_cyrillic_iso8859_5): Likewise.
5590         (Vcharset_hebrew_iso8859_8): Likewise.
5591         (Vcharset_thai_tis620): Likewise.
5592         (Vcharset_katakana_jisx0201): Likewise.
5593
5594 2005-02-06  Vin Shelton <acs@xemacs.org>
5595
5596         * XEmacs 21.4.17 is released
5597
5598 2005-01-31  Ben Wing  <ben@xemacs.org>
5599
5600         * emacs.c:
5601         Define assert_failed() always.
5602         * lisp.h:
5603         Always define ABORT().
5604
5605 2005-01-25  Ben Wing  <ben@xemacs.org>
5606
5607         * Makefile.in.in:
5608         * Makefile.in.in (%.o):
5609         Don't compile executable as Windows (-mwindows) under Cygwin.
5610         Semi-recent changes to Cygwin's executable-startup handling make
5611         it impossible to access the TTY this way.
5612
5613         Don't use special linker file under Cygwin (cygwin.sc) except
5614         when non-PDUMP (even in this case it is highly questionable); you
5615         get errors like
5616
5617       1 [main] temacs 1364 fhandler_console::fixup_after_exec: error opening input console handle after exec, errno 13, Win32 error 5
5618    5820 [main] temacs 1364 fhandler_console::fixup_after_exec: error opening output console handle after exec, errno 13, Win32 error 5
5619
5620 2005-01-29  Ben Wing  <ben@xemacs.org>
5621
5622         Port this: 2003-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
5623
5624         * mule-charset.c (get_unallocated_leading_byte): Compiler quietus.
5625
5626 2005-01-29  Ben Wing  <ben@xemacs.org>
5627
5628         * bytecode.c (optimize_compiled_function):
5629         * print.c (FROB):
5630         * print.c (long_to_string):
5631         Add casts to avoid warning.
5632         
5633         * glyphs-eimage.c:
5634         Some really nasty hacks to allow TIFF and JPEG to both be compiled.
5635         #### The better solution is to move the TIFF and JPEG code to
5636         different files.
5637         
5638         * glyphs-msw.c (mswindows_xbm_instantiate):
5639         Define __STDC__ to avoid problems with compface.h.
5640         
5641         * EmacsFrame.c (EmacsFrameRecomputeCellSize):
5642         * EmacsShell-sub.c:
5643         * EmacsShell-sub.c (ABORT):
5644         * EmacsShell-sub.c (SuperClassRootGeometryManager):
5645         * EmacsShell-sub.c (RootGeometryManager):
5646         * EmacsShell.c:
5647         * EmacsShell.c (ABORT):
5648         * EmacsShell.c (EmacsShellUpdateSizeHints):
5649         * alloc.c (free_lcrecord):
5650         * alloca.c (i00afunc):
5651         * buffer.c (delete_from_buffer_alist):
5652         * buffer.c (MARKED_SLOT):
5653         * bytecode.c (execute_rare_opcode):
5654         * bytecode.c (optimize_byte_code):
5655         * bytecode.c (Ffetch_bytecode):
5656         * chartab.c (char_table_type_to_symbol):
5657         * chartab.c (Freset_char_table):
5658         * chartab.c (decode_char_table_range):
5659         * chartab.c (Fget_range_char_table):
5660         * chartab.c (check_valid_char_table_value):
5661         * chartab.c (map_char_table):
5662         * chartab.c (slow_map_char_table_fun):
5663         * chartab.c (chartab_instantiate):
5664         * cm.c (cmcheckmagic):
5665         * console-msw.c (DHEADER):
5666         * console.c (MARKED_SLOT):
5667         * data.c (finish_marking_weak_lists):
5668         * data.c (encode_weak_list_type):
5669         * debug.h (DASSERT):
5670         * device-gtk.c (gtk_init_device):
5671         * device-msw.c (mswindows_get_default_margin):
5672         * device-tty.c (tty_init_device):
5673         * device-x.c (get_device_from_display):
5674         * device-x.c (x_get_visual_depth):
5675         * doprnt.c (parse_doprnt_spec):
5676         * doprnt.c (get_doprnt_args):
5677         * dumper.c (pdump_get_indirect_count):
5678         * dumper.c (pdump_register_sub):
5679         * dumper.c (pdump_register_object):
5680         * dumper.c (pdump_register_struct):
5681         * dumper.c (pdump_dump_data):
5682         * dumper.c (pdump_reloc_one):
5683         * elhash.c (print_hash_table):
5684         * elhash.c (make_standard_lisp_hash_table):
5685         * elhash.c (hash_table_instantiate):
5686         * emacs.c:
5687         * emacs.c (Fforce_debugging_signal):
5688         * emacs.c (sort_args):
5689         * emacs.c (main):
5690         * emacs.c (assert_failed):
5691         * eval.c (throw_or_bomb_out):
5692         * eval.c (signal_1):
5693         * eval.c (Fsignal):
5694         * event-Xt.c:
5695         * event-Xt.c (emacs_Xt_mapping_action):
5696         * event-Xt.c (Xt_process_to_emacs_event):
5697         * event-msw.c:
5698         * event-stream.c (check_event_stream_ok):
5699         * event-stream.c (Fadd_timeout):
5700         * event-stream.c (Fadd_async_timeout):
5701         * event-stream.c (Fdiscard_input):
5702         * event-stream.c (execute_internal_event):
5703         * event-stream.c (Frecent_keys):
5704         * event-stream.c (extract_this_command_keys_nth_mouse_event):
5705         * event-stream.c (lookup_command_event):
5706         * event-unixoid.c (poll_fds_for_input):
5707         * events.c:
5708         * events.c (mark_event):
5709         * events.c (event_equal):
5710         * events.c (event_hash):
5711         * events.c (Fmake_event):
5712         * events.c (Fdeallocate_event):
5713         * events.c (event_chain_find_previous):
5714         * events.c (event_to_character):
5715         * events.c (format_event_object):
5716         * events.c (Fevent_type):
5717         * events.c (event_pixel_translation):
5718         * events.c (Fevent_properties):
5719         * extents.c (extent_in_region_p):
5720         * extents.c (print_extent):
5721         * extents.c (process_extents_for_insertion_mapper):
5722         * extents.c (report_extent_modification_mapper):
5723         * extents.c (glyph_layout_to_symbol):
5724         * faces.c (face_validate):
5725         * file-coding.c (eol_type_to_symbol):
5726         * file-coding.c (subsidiary_coding_system):
5727         * file-coding.c (Fcoding_system_type):
5728         * file-coding.c (Fcoding_system_property):
5729         * file-coding.c (mule_decode):
5730         * file-coding.c (mule_encode):
5731         * file-coding.c (encode_coding_ucs4):
5732         * file-coding.c (encode_coding_utf8):
5733         * file-coding.c (parse_iso2022_esc):
5734         * file-coding.c (encode_coding_iso2022):
5735         * fileio.c:
5736         * fns.c (concat):
5737         * fns.c (Fsubseq):
5738         * fns.c (mapcar1):
5739         * fns.c (Fbase64_encode_region):
5740         * fns.c (Fbase64_encode_string):
5741         * fns.c (Fbase64_decode_region):
5742         * fns.c (Fbase64_decode_string):
5743         * font-lock.c (find_context):
5744         * font-lock.c (context_to_symbol):
5745         * frame-gtk.c (gtk_set_frame_pointer):
5746         * frame-gtk.c (gtk_update_frame_external_traits):
5747         * frame-x.c (x_wm_mark_shell_size_user_specified):
5748         * frame-x.c (x_wm_mark_shell_position_user_specified):
5749         * frame-x.c (x_wm_set_shell_iconic_p):
5750         * frame-x.c (x_wm_set_cell_size):
5751         * frame-x.c (x_wm_set_variable_size):
5752         * frame-x.c (x_wm_store_class_hints):
5753         * frame-x.c (x_wm_maybe_store_wm_command):
5754         * frame-x.c (x_initialize_frame_size):
5755         * frame-x.c (x_update_frame_external_traits):
5756         * frame.c:
5757         * frame.c (delete_frame_internal):
5758         * frame.c (mouse_pixel_position_1):
5759         * frame.c (change_frame_size_1):
5760         * free-hook.c (check_free):
5761         * free-hook.c (check_realloc):
5762         * free-hook.c (note_block_input):
5763         * free-hook.c (log_gcpro):
5764         * gccache-gtk.c (gc_cache_lookup):
5765         * glyphs-eimage.c (tiff_memory_write):
5766         * glyphs-gtk.c (gtk_finalize_image_instance):
5767         * glyphs-gtk.c (init_image_instance_from_gdk_pixmap):
5768         * glyphs-gtk.c (init_image_instance_from_xbm_inline):
5769         * glyphs-gtk.c (gtk_xpm_instantiate):
5770         * glyphs-gtk.c (gtk_unmap_subwindow):
5771         * glyphs-gtk.c (gtk_map_subwindow):
5772         * glyphs-gtk.c (gtk_button_redisplay):
5773         * glyphs-msw.c:
5774         * glyphs-msw.c (init_image_instance_from_xbm_inline):
5775         * glyphs-x.c (init_image_instance_from_xbm_inline):
5776         * glyphs-x.c (extract_xpm_color_names):
5777         * glyphs-x.c (x_xpm_instantiate):
5778         * glyphs.c (get_image_instantiator_governing_domain):
5779         * glyphs.c (print_image_instance):
5780         * glyphs.c (image_instance_equal):
5781         * glyphs.c (image_instance_hash):
5782         * glyphs.c (encode_image_instance_type):
5783         * glyphs.c (make_image_instance_1):
5784         * glyphs.c (inherit_instantiate):
5785         * glyphs.c (image_instantiate):
5786         * glyphs.c (allocate_glyph):
5787         * glyphs.c (Fglyph_type):
5788         * glyphs.c (redisplay_subwindow):
5789         * glyphs.c (display_table_entry):
5790         * gtk-glue.c (xemacs_list_to_gtklist):
5791         * gtk-glue.c (xemacs_gtklist_to_list):
5792         * gtk-glue.c (xemacs_list_to_array):
5793         * gutter.c (SET_GUTTER_WAS_VISIBLE_FLAG):
5794         * gutter.c (gutter_was_visible):
5795         * gutter.c (get_gutter_coords):
5796         * input-method-xlib.c (get_XIM_input):
5797         * insdel.c (bufpos_to_bytind_func):
5798         * insdel.c (bytind_to_bufpos_func):
5799         * insdel.c (move_gap):
5800         * intl.c (x_get_composed_input):
5801         * keymap.c (keymap_lookup_directly):
5802         * keymap.c (keymap_delete_inverse_internal):
5803         * keymap.c (ensure_meta_prefix_char_keymapp):
5804         * keymap.c (accessible_keymaps_mapper_1):
5805         * keymap.c (where_is_recursive_mapper):
5806         * lisp.h:
5807         * lisp.h (ABORT):
5808         * lread.c (read_atom):
5809         * lstream.c (Lstream_delete):
5810         * lstream.c (make_lisp_buffer_stream_1):
5811         * macros.c (pop_kbd_macro_event):
5812         * malloc.c (malloc):
5813         * malloc.c (free):
5814         * marker.c (bi_marker_position):
5815         * marker.c (set_bi_marker_position):
5816         * menubar-gtk.c (menu_descriptor_to_widget_1):
5817         * menubar-msw.c (prune_menubar):
5818         * menubar-x.c (set_frame_menubar):
5819         * mule-charset.c (get_unallocated_leading_byte):
5820         * mule-charset.h (CHAR_LEADING_BYTE):
5821         * native-gtk-toolbar.c (SET_TOOLBAR_WAS_VISIBLE_FLAG):
5822         * nt.c (init_environment):
5823         * nt.c (generate_inode_val):
5824         * ntproc.c (delete_child):
5825         * ntproc.c (_sys_read_ahead):
5826         * ntproc.c (create_child):
5827         * objects.c (color_instantiate):
5828         * objects.c (font_instantiate):
5829         * objects.c (face_boolean_instantiate):
5830         * print.c (printing_major_badness):
5831         * process-nt.c (nt_send_process):
5832         * process-unix.c (unix_send_process):
5833         * process.c (get_process):
5834         * ralloc.c (obtain):
5835         * ralloc.c (relinquish):
5836         * ralloc.c (relocate_blocs):
5837         * ralloc.c (resize_bloc):
5838         * ralloc.c (r_alloc_free):
5839         * ralloc.c (r_re_alloc):
5840         * ralloc.c (r_alloc_thaw):
5841         * ralloc.c (init_ralloc):
5842         * ralloc.c (Free_Addr_Block):
5843         * ralloc.c (r_alloc):
5844         * redisplay-gtk.c (gtk_output_display_block):
5845         * redisplay-msw.c (mswindows_output_display_block):
5846         * redisplay-output.c (get_next_display_block):
5847         * redisplay-output.c (get_cursor_size_and_location):
5848         * redisplay-output.c (redisplay_output_layout):
5849         * redisplay-output.c (redisplay_clear_region):
5850         * redisplay-tty.c (tty_output_display_block):
5851         * redisplay-x.c (x_output_display_block):
5852         * redisplay.c (add_propagation_runes):
5853         * redisplay.c (add_glyph_rune):
5854         * redisplay.c (create_text_block):
5855         * redisplay.c (add_margin_runes):
5856         * redisplay.c (create_left_glyph_block):
5857         * redisplay.c (create_right_glyph_block):
5858         * redisplay.c (create_string_text_block):
5859         * redisplay.c (regenerate_window):
5860         * redisplay.c (REGEN_INC_FIND_START_END):
5861         * redisplay.c (redisplay_frame):
5862         * redisplay.c (point_in_line_start_cache):
5863         * regex.c:
5864         * regex.c (ABORT):
5865         * regex.c (re_compile_fastmap):
5866         * regex.c (re_match_2_internal):
5867         * regex.c (regerror):
5868         * scrollbar-gtk.c (gtk_scrollbar_loop):
5869         * scrollbar-gtk.c (scrollbar_cb):
5870         * scrollbar-gtk.c (gtk_update_frame_scrollbars):
5871         * scrollbar-msw.c (mswindows_handle_scrollbar_event):
5872         * scrollbar-x.c (x_update_scrollbar_instance_status):
5873         * scrollbar-x.c (x_scrollbar_loop):
5874         * scrollbar-x.c (x_update_frame_scrollbars):
5875         * search.c (search_command):
5876         * search.c (Fmatch_data):
5877         * select-x.c (motif_clipboard_cb):
5878         * signal.c (interrupt_signal):
5879         * specifier.c (specifier_add_spec):
5880         * specifier.c (specifier_instance_from_inst_list):
5881         * specifier.c (specifier_instance):
5882         * specifier.h:
5883         * specifier.h (struct specifier_methods):
5884         * strftime.c (add_num_time_t):
5885         * sunplay.c (init_device):
5886         * symbols.c (Fsetplist):
5887         * symbols.c (do_symval_forwarding):
5888         * symbols.c (store_symval_forwarding):
5889         * symbols.c (Fset):
5890         * symbols.c (Fbuilt_in_variable_type):
5891         * symbols.c (decode_magic_handler_type):
5892         * symbols.c (handler_type_from_function_symbol):
5893         * syntax.c (update_syntax_cache):
5894         * sysdep.c (init_baud_rate):
5895         * toolbar-gtk.c (SET_TOOLBAR_WAS_VISIBLE_FLAG):
5896         * toolbar-msw.c (SET_TOOLBAR_WAS_VISIBLE_FLAG):
5897         * toolbar-x.c (SET_TOOLBAR_WAS_VISIBLE_FLAG):
5898         * toolbar.c (get_toolbar_coords):
5899         * ui-gtk.c (build_gtk_boxed):
5900         * ui-gtk.c (describe_gtk_arg):
5901         * ui-gtk.c (gtk_type_to_lisp):
5902         * ui-gtk.c (lisp_to_gtk_type):
5903         * ui-gtk.c (lisp_to_gtk_ret_type):
5904         * ui-gtk.c (lisp_to_flag):
5905         * unexnt.c (read_in_bss):
5906         * unexnt.c (map_in_heap):
5907         * window.c (real_window):
5908         * window.c (window_display_lines):
5909         * window.c (window_display_buffer):
5910         * window.c (set_window_display_buffer):
5911         * window.c (window_modeline_height):
5912         * window.c (unshow_buffer):
5913         * window.c (window_loop):
5914         * window.c (Fget_lru_window):
5915         * window.c (Fsplit_window):
5916         * window.c (Fset_window_configuration):
5917         * window.c (saved_window_index):
5918         * xgccache.c (gc_cache_lookup):
5919         abort() -> ABORT().  Eliminate preprocessor games with abort()
5920         since it creates huge problems in VC7, solvable only by including
5921         massive amounts of files in every compile (and not worth it).
5922
5923         * sysdep.c:
5924         * sysproc.h:
5925         Inclusion of process.h does not need to be before lisp.h any more.
5926         Move later and remove comment about abort().
5927
5928 2005-01-26  Arnaud Giersch  <arnaud.giersch@free.fr>
5929
5930         * regex.c (re_match_2_internal):
5931         Correctly initialize loop which clears uninitialized registers.
5932
5933 2005-01-28  Vin Shelton  <acs@xemacs.org>
5934
5935         * sheap.c (more_static_core): Applied Ben's version of the long
5936         string patch.
5937
5938 2005-01-24  Vin Shelton  <acs@xemacs.org>
5939
5940         * sheap.c (more_static_core): Reformatted printf string so
5941         gcc-3.3.3 will compile this on Cygwin.
5942
5943 2004-02-22  Stephen J. Turnbull  <stephen@xemacs.org>
5944
5945         * console.c (function_key_map): Reference `key-binding'.
5946
5947         * keymap.c (Vkey_translation_map): Improve docstring.
5948
5949 2004-03-30  Zajcev Evgeny  <zevlg@yandex.ru>
5950
5951         * window.c: Declare `allow_deletion_of_last_visible_frame' extern.
5952         * window.c (window_loop): [fix] Take into account
5953         `allow-deletion-of-last-visible-frame' variable.
5954         * window.c (replace-buffer-in-windows): Ditto.
5955
5956 2004-12-15  Stephen J. Turnbull  <stephen@xemacs.org>
5957
5958         * EmacsManager.c (EmacsManagerChangeSize): Respect XtGeometryNo.
5959
5960 2005-01-20  Malcolm Purvis  <malcolmp@xemacs.org>
5961
5962         * event-gtk.c: Recognise AltGr as a valid modifier.
5963
5964 2005-01-12  Ville Skyttä  <scop@xemacs.org>
5965
5966         * console-x.h: #include X11/keysym.h before xintrinsic.h.
5967
5968 2005-01-13  Stephen J. Turnbull  <stephen@xemacs.org>
5969
5970         Fix backreference bug caught by test suite.
5971
5972         * regex.c (regex_compile):
5973         Make backref duplicate internal register.
5974
5975 2005-01-13  Stephen J. Turnbull  <stephen@xemacs.org>
5976
5977         Documentation, code clarification, and warning suppression.
5978         
5979         * regex.c (regex_compile):
5980         Improve comments.
5981         (re_match_2_internal):
5982         Improve comments and avoid redundant braces.  [Most of the big hunk
5983         at l. 4710 is indentation; use diff -w to see the real changes.]
5984         (alt_match_null_string_p):
5985         (common_op_match_null_string_p):
5986         Avoid shadowing global on Mac OS X 10.4, at least.
5987
5988 2004-09-08  Stephen J. Turnbull  <stephen@xemacs.org>
5989
5990         * regex.c (regcomp): Fix "unsigned comparison" warning (maybe
5991         introduced with shy groups fix).  [Already applied, probably
5992         with the second "fix shy groups" patch of 2004-10-07.] 
5993
5994 2005-01-10  Steve Youngs  <steve@sxemacs.org>
5995
5996         From Andrey Slusar <anrays@gmail.com>:
5997
5998         * unexelf.c: define `Elfw(type)' for FreeBSD alpha and amd64.
5999
6000 2004-11-21  Malcolm Purvis  <malcolmp@xemacs.org>
6001
6002         * Makefile (RECURSIVE_MAKE): Removed.
6003         * Makefile (RECURSIVE_MAKE_ARGS): New.  The new method for
6004         handling parallel builds.
6005
6006 2004-09-08  Malcolm Purvis  <malcolmp@xemacs.org>
6007
6008         * Makefile.in.in: Enable support for parallel builds.
6009
6010 2005-01-09  Steve Youngs  <steve@sxemacs.org>
6011
6012         From Andrey Slusar <anrays@gmail.com>:
6013
6014         * s/freebsd.h (LIBS_SYSTEM): Only set to "-lutil -lxpg4" if
6015         FreeBSD version is >= 199701 _and_ < 600006.
6016
6017 2005-01-06  Zajcev Evgeny <zevlg@yandex.ru>
6018
6019         * scrollbar.c (compute_scrollbar_instance_usage):
6020         Only call device method compute_scrollbar_instance_usage() if it
6021         is defined.
6022
6023 2004-12-05  Vin Shelton <acs@xemacs.org>
6024
6025         * XEmacs 21.4.16 is released
6026
6027 2004-12-04  Vin Shelton  <acs@xemacs.org>
6028
6029         * depend: Regenerated.
6030
6031 2004-10-07  Stephen J. Turnbull  <stephen@xemacs.org>
6032
6033         * regex.c (re_match_2_internal): Map internal to external
6034         registers.  Fixes bug identified by Steve Youngs 2004-09-30
6035         <microsoft-free.87ekkjhj7t.fsf@youngs.au.com>.
6036
6037 2004-09-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
6038
6039         * buffer.c (Frecord_buffer): Make sure the argument is buffer
6040         to fix a crash.  Also, check the buffer is live and it
6041         really exists in buffer_list.  If the buffer is not in the list,
6042         prepend it.
6043
6044 2004-09-08  Stephen J. Turnbull  <stephen@xemacs.org>
6045
6046         Fix shy groups by implementing recording of all groups for
6047         repetition and backtracking.  Backport from 21.5.
6048         
6049         * regex.h (struct re_pattern_buffer): Add members re_ngroups,
6050         external_to_internal_register, external_to_internal_register_size,
6051         and update comments for re_nsub.
6052
6053         * regex.c (re_opcode_t): Update comments.
6054         (print_compiled_pattern): Ouput external_to_internal_register,
6055         external_to_internal_register_size, and re_ngroups for debugging.
6056         (INIT_REG_TRANSLATE_SIZE): New manifest constant.
6057         (regex_compile): Update header comment.
6058         Ensure that all groups are recorded so that repeat matches and
6059         backtracking work correctly.  Comment related warning for groups >
6060         255.
6061         (re_search_2): Construct map of API indexes (which count only
6062         nonshy groups) to internal register numbers, and keep it updated.
6063
6064 2004-07-27  Malcolm Purvis  <malcolmp@xemacs.org>
6065
6066         * frame-gtk.c (gtk_make_frame_visible):
6067         * frame-gtk.c (gtk_make_frame_invisible): Use map/unmap instead of
6068         show/hide.  This is what X uses and is prevents previously hidden
6069         widgets from suddenly reappearing.
6070         * gtk-xemacs.c (gtk_xemacs_paint):
6071         * gtk-xemacs.c (gtk_xemacs_draw):
6072         * gtk-xemacs.c (gtk_xemacs_expose): Only operate if the widget is
6073         drawable.
6074         * scrollbar-gtk.c (gtk_update_scrollbar_instance_status): Force
6075         size and location changes so that they can be seen before the next
6076         idle event.  Without this rapid changes to scrollbar properties
6077         are not seen.
6078
6079 2004-07-02  Malcolm Purvis  <malcolmp@xemacs.org>
6080
6081         * console-gtk.h:
6082         * console-gtk.h (struct gtk_frame):
6083         * console-gtk.h (FRAME_GTK_WIDGET_INSTANCE_HASH_TABLE):
6084           Add hash tables track tab_control callback data.
6085           Added #defines for GTK object data names.
6086           Declaration of gtk_widget_to_frame().
6087         * event-gtk.c (enqueue_gtk_dispatch_event) No longer static:
6088         * frame-gtk.c (gtk_widget_to_frame): New.
6089         * frame-gtk.c (gtk_create_widgets):
6090         * frame-gtk.c (allocate_gtk_frame_struct):
6091         * frame-gtk.c (gtk_mark_frame):
6092         Manage frame callbakc hash tables.
6093         * glyphs-gtk.c (gtk_map_subwindow): Fix size and moving bugs.
6094         * glyphs-gtk.c (gtk_redisplay_widget): Use correct size for widgets.
6095         * glyphs-gtk.c (gtk_widget_instantiate_1): Force reconsideration
6096         of widget size.
6097         * glyphs-gtk.c (gtk_widget_query_geometry): New
6098         * glyphs-gtk.c (gtk_register_gui_item): New
6099         * glyphs-gtk.c (gtk_add_tab_item): New
6100         * glyphs-gtk.c (gtk_tab_control_callback): New
6101         * glyphs-gtk.c (gtk_tab_control_instantiate): New
6102         * glyphs-gtk.c (gtk_tab_control_redisplay): Set notebook page.
6103         Use correct list when loading item.
6104         * glyphs-gtk.c (image_instantiator_format_create_glyphs_gtk):
6105         Register new methods.
6106         * gtk-xemacs.c (gtk_xemacs_size_allocate): Use XEmacs size, not
6107         default size, for widgets.
6108         * gui-x.c:  Improved comment.
6109         * menubar-gtk.c (__generic_button_callback): Use
6110         gtk_widget_to_frame instead of __get_channel.
6111         * scrollbar-gtk.c:
6112         * ui-gtk.c: Use symbolic names for GTK object data.
6113
6114 2004-06-23  Ilya N. Golubev <gin@mo.msk.ru>
6115
6116         * s/usg5-4.h (NSIG): Define only inside emacs binary.
6117
6118 2002-03-04  Stephen J. Turnbull  <stephen@xemacs.org>
6119
6120         * fileio.c (Fwrite_region_internal): Document use of start == Qnil.
6121
6122 2004-06-16  Malcolm Purvis  <malcolmp@xemacs.org>
6123
6124         * malloc.c (morecore): siz is a long because in some architectures
6125         (eg ia-64) an int cannot hold the address range.  Additional patch
6126         from the SuSe distribution.
6127
6128 2004-06-13  Malcolm Purvis  <malcolmp@xemacs.org>
6129
6130         * emacs.c:
6131         * malloc.c: lim_data is a long because in some architectures
6132         (eg ia-64) an int cannot hold the address range.
6133         * mem-limits.h: lim-data is a long.  Linux uses getrlimit()
6134         instead of ulimit() because ulimit() always returns -1.
6135
6136 2004-06-09  Stephen J. Turnbull  <stephen@xemacs.org>
6137
6138         * search.c: Reenable an ansync semaphore.  Remove bogus comments.
6139
6140 2004-06-11  David Kastrup  <dak@gnu.org>
6141
6142         * search.c (match_limit): Don't flag an error if match-data
6143         exceeding the allocated search_regs.num_regs gets requested, just
6144         return Qnil.
6145
6146 2003-07-21  Malcolm Purvis  <malcolmpurvis@optushome.com.au>
6147
6148         * glyphs-gtk.c (gtk_xpm_instantiate): Rewrite the XPM data to
6149         replace symbolic color entries with the real colors specified in
6150         xpm-color-symbols, before passing the XPM to gtk.
6151         * glyphs-gtk.h: Use the generic pixmap_image_instance.mask for masks,
6152         instead of a GTK specific field, so that it is used in by generic
6153         code.
6154
6155 2004-05-05  Chuck Hines <chuck.hines@baesystems.com>
6156
6157        * dgif_lib.c (DGifSlurp): Changed do-while to while to stop
6158         coredump from deref of NULL ptr (ExtData)
6159
6160 2004-04-19  Jerry James  <james@xemacs.org>
6161
6162         * data.c (sign_extend_lisp_int): Use INT_VALBITS instead of
6163         VALBITS to compute the location of the sign bit.
6164         * event-stream.c (Fcurrent_event_timestamp): Replace incorrect use
6165         of VALBITS with EMACS_INT_MAX.
6166         * events.c (Fevent_timestamp): Ditto.
6167         * events.c (TIMESTAMP_HALFSPACE): Change VALBITS to INT_VALBITS to
6168         compute the halfway point to timestamp wraparound.
6169         * floatfns.c (float_to_int): Compare against EMACS_INT_MAX and
6170         EMACS_INT_MIN instead of using VALBITS.
6171         * floatfns.c (Flogb): Use EMACS_INT_MIN instead of building an
6172         incorrect number with VALBITS.
6173         * fns.c (Frandom): Correct number of integer bits in docstring.
6174         Use INT_VALBITS instead of VALBITS to compute the denominator.
6175         * sysdep.c (get_random): Use INT_VALBITS instead of VALBITS to
6176         build random numbers.
6177
6178 2004-03-23  Malcolm Purvis  <malcolmpurvis@optushome.com.au>
6179         * event-gtk.c:
6180         * event-gtk.c (gtk_event_to_emacs_event):
6181         * menubar-gtk.c:
6182         * menubar-gtk.c (gtk_xemacs_menubar_class_init):
6183         * menubar-gtk.c (gtk_xemacs_menubar_size_request):
6184         * menubar-gtk.c (gtk_xemacs_accel_label_get_type):
6185         * menubar-gtk.c (gtk_xemacs_set_accel_keys):
6186         * menubar-gtk.c (__activate_menu):
6187         * menubar-gtk.c (convert_underscores):
6188         * menubar-gtk.c (remove_underscores):
6189         * menubar-gtk.c (menu_convert):
6190         * menubar-gtk.c (menu_descriptor_to_widget_1):
6191         * menubar-gtk.c (menu_descriptor_to_widget):
6192         * menubar-gtk.c (menu_can_reuse_widget):
6193         * menubar-gtk.c (menu_create_menubar):
6194         * menubar-gtk.c (gtk_popup_menu):
6195         * menubar-gtk.c (Fgtk_build_xemacs_menu):
6196         Added support for Gtk menu bar and menu item mnemonics.
6197
6198 2004-03-23  Malcolm Purvis  <malcolmpurvis@optushome.com.au>
6199
6200         * sysdll.c: (dll_function): Added support for finding symbols in
6201         Darwin shared libraries as well in Darwin bundles.
6202         * sysdll.c (image_for_address): New
6203         * sysdll.c (my_find_image): New
6204         * sysdll.c (search_linked_libs): New
6205
6206 2004-03-23  Malcolm Purvis  <malcolmpurvis@optushome.com.au>
6207
6208         * ui-gtk.c (__internal_callback_marshal): Marshalling data to
6209         return to GTK requires a different API to marshalling data to use
6210         as GTK parameters.
6211         * ui-gtk.c (lisp_to_gtk_ret_type): New.
6212
6213 2004-03-08  Lutz Euler  <lutz.euler@freenet.de>
6214
6215         * lstream.c (Lstream_pseudo_close): Fix test for LSTREAM_FL_IS_OPEN.
6216
6217 2004-02-19  Stephen J. Turnbull  <stephen@xemacs.org>
6218
6219         * glyphs.c (process_image_string_instantiator):
6220         (Fset_console_type_image_conversion_list):
6221         Stop GCC from warning about shadowing of `exp'.
6222
6223         * redisplay-x.c (x_output_string): Fix unsigned lossage.
6224
6225 2004-02-19  Stephen J. Turnbull  <stephen@xemacs.org>
6226
6227         * regex.c (re_match_2_internal): Shut up GCC about syn1, syn2.
6228
6229 2004-02-03  Vin Shelton  <acs@xemacs.org>
6230
6231         * glyphs.c (image_instance_layout): Remove pointless assertion.
6232         * regex.c (regex_grow_registers): Return type is void.
6233
6234 2004-02-02  Vin Shelton <acs@xemacs.org>
6235
6236         * XEmacs 21.4.15 is released
6237
6238 2004-01-30  Glynn Clements  <glynn.clements@virgin.net>
6239
6240         * device-x.c (x_error_handler): Don't call stderr_out
6241
6242 2003-11-07  Katsumi Yamaoka <yamaoka@jpl.org>
6243
6244         * buffer.c (other-buffer): Clarify documentation of order of
6245         arguments for FSF Emacs.
6246
6247 2003-10-11  Olivier Galibert  <galibert@pobox.com>
6248
6249         * window.c (Fdelete_window): Dirty the mirror structure _before_
6250         marking the window deleted.
6251
6252 2003-09-15  Jerry James  <james@xemacs.org>
6253
6254         * event-msw.c (debug_mswin_messages): Conditionally compile
6255         messages missing from the Cygwin headers.
6256
6257 2003-06-16  Stephen J. Turnbull  <stephen@xemacs.org>
6258
6259         * data.c (eq_with_ebola_notice): Fix typo in comment.
6260         (Ftrue_list_p): Improve docstring.
6261
6262 2003-10-13  Stephen J. Turnbull  <stephen@xemacs.org>
6263
6264         * frame-x.c (x_update_frame_external_traits): Fix XtSetArg idiom.
6265
6266 2003-09-27  Stephen J. Turnbull  <stephen@xemacs.org>
6267
6268         * search.c (trivial_regexp_p): Regexps containing "\{" are
6269         nontrivial.  Thanks to Manfred Bartz for reporting the bug and
6270         Stefan Monnier for suggesting a diagnosis.
6271
6272 2003-09-25  Stephen J. Turnbull  <stephen@xemacs.org>
6273
6274         * elhash.c (make-hash-table): Clarify use of :test #'equal.
6275
6276 2003-09-12  Stephen J. Turnbull  <stephen@xemacs.org>
6277
6278         * search.c (Fsearch_forward):
6279         (Fsearch_backward):
6280         Document negative count.
6281
6282 2003-09-13  Stephen J. Turnbull  <stephen@xemacs.org>
6283
6284         * regex.c (re_max_failures): Bump to 20000 for REGEX_MALLOC, too.
6285
6286 2003-09-13  Martin Buchholz  <martin@xemacs.org>
6287
6288         * s/sol2.h: Use OS_RELEASE=os_release_major*100+os_release_minor
6289
6290 2003-09-15  Vin Shelton  <acs@xemacs.org>
6291
6292         * .gdbinit (pobj): Remove Ilya's fix that was only intended for
6293         21.5.
6294
6295 2003-09-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
6296
6297         * regex.c (TRANSLATE_EXTENDED_UNSAFE): Remove.
6298         (re_search_2): Match the first byte of Bufbyte, not Emchar.
6299         (re_match_2_internal): Use TRANSLATE instead of
6300         TRANSLATE_EXTENDED_UNSAFE.  The latter was a hack to bypass
6301         non-ASCII char case conversion.
6302
6303 2003-09-08  Mike Sperber  <mike@xemacs.org>
6304
6305         * symbols.c (Fvariable_binding_locus): Add, as per suggestion from
6306         RMS at: http://article.gmane.org/gmane.emacs.pretest.bugs/1010
6307
6308 2003-06-14  Ilya N. Golubev  <gin@mo.msk.ru>
6309
6310        * .gdbinit (pobj): fix printing of symbol name.
6311
6312 2003-08-01  Ilya N. Golubev  <gin@mo.msk.ru>
6313
6314         * frame-x.c (x_layout_widgets): When resizing is about to cause
6315         frame size slip, mark it for redisplay.
6316
6317 2003-08-18  Jerry James  <james@xemacs.org>
6318
6319         * opaque.h: Remove unused (X)OPAQUE_MARKFUN definitions.
6320
6321 2003-09-03  Vin Shelton <acs@xemacs.org>
6322
6323         * XEmacs 21.4.14 is released
6324
6325 2003-08-15  Stephen J. Turnbull  <stephen@xemacs.org>
6326
6327         * config.h.in (REGEX_MALLOC): Make it configure'able.
6328
6329 2003-08-14  Andrew Begel  <abegel@CS.Berkeley.EDU>
6330
6331         * config.h.in: Add HAVE_DYLD to indicate Darwin/MacOSX dynamic
6332         linking.
6333         * sysdll.c (dll_init):
6334         * sysdll.c (dll_open):
6335         * sysdll.c (dll_close):
6336         * sysdll.c (dll_function):
6337         * sysdll.c (dll_variable):
6338         * sysdll.c (dll_error):
6339         Add support for loading bundles using Darwin/MacOSX
6340         native API.
6341
6342 2003-08-12  Stephen J. Turnbull  <stephen@xemacs.org>
6343
6344         * process.c (start-process-internal): Document coding systems.
6345
6346 2003-07-30  Jerry James  <james@xemacs.org>
6347
6348         * sysdll.c: configure sets HAVE_DLD_INIT, not HAVE_INIT_DLD.
6349
6350 2003-07-31  René Kyllingstad  <listmailxemacs@kyllingstad.com>
6351
6352         * event-msw.c (mswindows_enqueue_mouse_button_event):
6353         * event-msw.c (mswindows_wnd_proc):
6354           enqueue button event when scrollwheel event isn't handled by 
6355           mswindows_handle_mousewheel_event, such as when the scrollbars
6356           are not showing.
6357
6358 2003-07-29  Stephen J. Turnbull  <stephen@xemacs.org>
6359
6360         * EmacsFrame.c (emacsFrameClassRec): Motif groks not XtCompress*.
6361
6362 2003-03-24  Stephen J. Turnbull  <stephen@xemacs.org>
6363
6364         * database.c (Fopen_database): Don't use DB_AUTO_COMMIT.
6365
6366 2003-03-21  Stephen J. Turnbull  <stephen@xemacs.org>
6367
6368         * regex.c (re_match_2_internal): Fix matching degenerate word
6369         boundaries.
6370
6371 2003-05-25  XEmacs Build Bot <builds@cvs.xemacs.org>
6372
6373         * XEmacs 21.4.13 is released
6374
6375 2003-03-20  Stephen J. Turnbull  <stephen@xemacs.org>
6376
6377         * config.h.in (INTPTR_T_IN_CYGWIN_TYPES_H): 
6378         * lisp.h (<inttypes.h>):
6379         Cygwin defines these types in <cygwin/types.h>.  Don't duplicate
6380         the definition.
6381
6382 2003-03-15  Martin Buchholz  <martin@xemacs.org>
6383
6384         * dumper.c (pdump_load): Pdump'ed XEmacs can't find its .dmp file.
6385         Scenario: Prepend ~/bin to PATH; then `mkdir ~/bin/xemacs'
6386         Result: "temacs can only be run in -batch mode."
6387         Fix: Check xemacs executable candidate for directory-ness.
6388
6389 2003-03-03  Robert Pluim  <rpluim@bigfoot.com>
6390
6391         * database.c: Don't use the u_int8_t etc typedefs on FreeBSD,
6392           they conflict with <sys/types.h>.
6393
6394 2003-02-14  Martin Buchholz  <martin@xemacs.org>
6395
6396         * database.c: Berkeley DB wants __STDC__ to be defined.
6397
6398 2003-02-13  Martin Buchholz  <martin@xemacs.org>
6399
6400         * EmacsFrame.c: Use symbolic name `NotUseful' in lieu of `0'.
6401
6402 2003-02-01  Martin Buchholz  <martin@xemacs.org>
6403
6404         * process-unix.c (unix_send_process): Fix C++ compile error.
6405
6406 2003-02-25  Andrew Begel  <abegel@cs.berkeley.edu>
6407
6408         * Added .dylib as an acceptable shared library file extension
6409         * to support MacOSX.
6410
6411 2003-02-01  Martin Buchholz  <martin@xemacs.org>
6412
6413         * EmacsFrameP.h (EmacsFramePart):
6414         Kludge to allow compiling with Motif1, but linking with Motif2.
6415
6416 2003-01-28  Martin Buchholz  <martin@xemacs.org>
6417
6418         * config.h.in (_ALL_SOURCE): Guard against multiple definition.
6419
6420
6421 2003-02-23  Stephen J. Turnbull  <stephen@xemacs.org>
6422
6423         * config.h.in (DLSYM_NEEDS_UNDERSCORE): Define on darwin.
6424
6425 2003-02-06  Andrew Begel  <abegel@CS.Berkeley.EDU>
6426
6427         * sysdll.c: Included lisp.h to define needed alloca_array.
6428
6429 2003-02-13  Martin Buchholz  <martin@xemacs.org>
6430
6431         Make XEmacs redisplay 10 times faster.
6432         If, that is, you're using a slow X connection and MoveOpaque.
6433         Use compress_exposure = XtExposeCompressMaximal | XtExposeNoRegion.
6434         Use compress_motion = TRUE.
6435         * EmacsFrame.c (emacsFrameClassRec): 
6436         * EmacsShell-sub.c (EMACS_SHELL_CLASS_REC):
6437         * EmacsManager.c (emacsManagerClassRec):
6438         * xintrinsicp.h: Make sure XtExposeNoRegion is defined.
6439
6440 2003-01-30  Vin Shelton  <acs@xemacs.org>
6441
6442         * s/linux.h (ORDINARY_LINK): define ORDINARY_LINK for linux.
6443
6444 2003-01-17  Stephen J. Turnbull  <stephen@xemacs.org>
6445
6446         * glyphs-eimage.c (tiff_memory_seek): Lobotomize unsigned typedef.
6447         Patch by Martin Buchholz.
6448
6449 2003-01-16  Stephen J. Turnbull  <stephen@xemacs.org>
6450
6451         * glyphs-eimage.c (tiff_instantiate): Fix unsigned comparison.
6452         Thanks to icc for warning and Martin Buchholz for reporting.
6453
6454 2003-01-29  Vin Shelton <acs@xemacs.org>
6455
6456         Patch courtesy of Andrew Begel <abegel@cs.berkeley.edu>
6457
6458         * dynarr.c (Dynarr_realloc): memcpy copies number of bytes, so
6459         remember to multiply by the element size.
6460
6461 2003-01-15  Stephen J. Turnbull  <stephen@xemacs.org>
6462
6463         * XEmacs 21.4.12 "Portable Code" is released.
6464
6465 2003-01-14  Sergey Okhapkin <sos@prospect.com.ru>
6466
6467         * Makefile.in.in (ldflags): re-order sections for gcc 3.2.
6468         * s/cygwin.sc: new linker file.
6469
6470 2003-01-14  Stephen J. Turnbull  <stephen@xemacs.org>
6471
6472         Build fixes courtesy Martin Buchholz <martin@xemacs.org>:
6473
6474         * redisplay-x.c (x_output_string): Use X11-specified types.
6475         * syntax.c, syntax.h (SYNTAX_CODE): Use enum syntaxcode, not int.
6476         * emacs.c (__free_hook): Use typeof with Intel compiler.
6477         * config.h.in (alloca.h): Quick safe hack to please Intel compiler.
6478
6479 2003-01-08  Andy Piper  <andy@xemacs.org>
6480
6481         * unexcw.c (copy_executable_and_dump_data_section): Set the stack
6482         reserve size during unexec().
6483
6484 2003-01-07  Daiki Ueno  <daiki@xemacs.org>
6485
6486         * process-unix.c (unix_create_process): Don't let outchannel block.
6487
6488 2003-01-05  Rick Rankin  <rick_rankin@yahoo.com>
6489
6490         * emacs.c: Include "syswindows.h" when compiling under Cygwin.
6491         Needed for IsBadReadPtr().
6492
6493 2003-01-03  Stephen J. Turnbull  <stephen@xemacs.org>
6494
6495         * XEmacs 21.4.11 "Native Windows TTY Support" is released.
6496
6497 2002-12-14  Ben Wing  <ben@xemacs.org>
6498
6499         * callint.c: Declaration error.
6500         * dumper.c (pdump):
6501         * dumper.c (pdump_load): Warning fix.
6502         * process.c: GCPRO error.
6503         * glyphs.c (unmap_subwindow):
6504         * glyphs.c (map_subwindow): Parenthesizing errors with ! and &&.
6505         * event-stream.c (maybe_kbd_translate): Wrong argument to
6506         character_to_event().
6507
6508         * alloc.c (garbage_collect_1):
6509         * emacs.c:
6510         * emacs.c (debug_can_access_memory):
6511         * emacs.c (fatal_error_signal):
6512         * emacs.c (mswindows_handle_hardware_exceptions):
6513         * emacs.c (main_1):
6514         * emacs.c (main):
6515         * emacs.c (assert_failed):
6516         * emacs.c (syms_of_emacs):
6517         * lisp.h:
6518         * print.c:
6519         * print.c (std_handle_out_va):
6520         * print.c (write_string_to_stdio_stream):
6521         * print.c (write_fmt_string):
6522         * print.c (printing_badness):
6523         * print.c (printing_major_badness):
6524         * print.c (print_internal):
6525         * print.c (debug_print_no_newline):
6526         * print.c (debug_backtrace):
6527         Be more defensive in handling bad values when printing.  Add code
6528         from trunk involving inhibit_non_essential_printing_operations.
6529         When going down or in debug_print(), don't do external conversion
6530         and such and try really, really hard when printing to avoid core
6531         dumping.  Add force-debugging-signal, debug_break().
6532
6533 2002-12-12  Stephen J. Turnbull  <stephen@xemacs.org>
6534
6535         * dumper.c (pdump_load): Include sysdep.h; retry with truename.
6536         Analysis and original patch by Vin Shelton <acs@xemacs.org>.
6537
6538 2002-12-02  Greg Allen  <greg_allen@westlb-systems.co.uk>
6539
6540         * database.c: Fix open_database. Berkeley DB API has changed in
6541         4.1. see: http://www.sleepycat.com/docs/ref/upgrade.4.1/fop.html
6542
6543 2002-11-26  Stephen J. Turnbull  <stephen@xemacs.org>
6544
6545         * specifier.c (Fvalid_specifier_type_p): Typo in comment.
6546
6547 2002-11-13  Stephen J. Turnbull  <stephen@xemacs.org>
6548
6549         * event-Xt.c (Xt_timeout):
6550         (Xt_timeout_callback):
6551         (emacs_Xt_add_timeout):
6552         (emacs_Xt_remove_timeout):
6553         (Xt_timeout_to_emacs_event):
6554         Turn completed_timeouts from a stack into a queue.  Fixes
6555         deadlocks <15829.21626.171573.994716@sinisa.nasamreza.org>.
6556
6557 2002-11-07  Wolfram Gloger  <wg@malloc.de>
6558
6559         * alloc.c (reinit_alloc_once_early): Disable mmap in Doug Lea malloc.
6560         * emacs.c (main): Assert that mmap'd allocation is disabled.
6561
6562 2002-10-14  Andy Piper  <andy@xemacs.org>
6563
6564         * glyphs-widget.c (layout_query_geometry): add in fiddle
6565         factor. Include border text in width layout calculation.
6566         (layout_layout): use BORDER_FIDDLE_FACTOR instead of 10.
6567
6568 2002-11-02  Stephen J. Turnbull  <stephen@xemacs.org>
6569
6570         * XEmacs 21.4.10 "Military Intelligence" is released.
6571
6572 2002-10-17  Raymond Toy  <toy@rtp.ericsson.se>
6573
6574         * nas.c: Update for NAS 1.6 and later, from Jon Trulson.  Was
6575         using the NAS private array SoundFileInfo that no longer exists in
6576         NAS 1.6 and later.  Preserve backward compatibility with NAS 1.5a
6577         and earlier.  This is broken for some versions between 1.5a and
6578         1.5f.
6579
6580 2002-10-10  Stephen J. Turnbull  <stephen@xemacs.org>
6581
6582         * realpath.c (win32_readlink): Try to fix truename of wildcard bug.
6583
6584         * emacs.c (shut_down_emacs): Improve crash message.
6585
6586 2002-10-09  Stephen J. Turnbull  <stephen@xemacs.org>
6587
6588         * file-coding.c (determine_real_coding_system): Check for coding
6589         cookie in first LINES_TO_CHECK lines (currently 2).  Cater to
6590         shebangs and Python PEP 263.
6591
6592 2002-10-08  Andy Piper  <andy@xemacs.org>
6593
6594         * glyphs-widget.c (layout_query_geometry): only resize dynamically
6595         if static sizes haven't been set.
6596
6597 2002-08-30  Mike Alexander  <mta@arbortext.com>
6598
6599         * event-msw.c (winsock_closer): Use closesocket, not CloseHandle
6600         to close a socket.
6601
6602 2002-10-03  Stephen J. Turnbull  <stephen@xemacs.org>
6603
6604         * callproc.c (child_setup): 21.4 doesn't have retry_close.
6605
6606 2002-09-20  Mike Sperber <mike@xemacs.org>
6607
6608         (This partially gets back my patch from 2002-07-20 without the
6609         bug.)
6610         * callproc.c (child_setup): Remove Ben's comment noting confusion
6611         over the file descriptors >= 3: close_process_descs() doesn't
6612         close those.  Fix fd range to go up to MAXDESC-1 instead of 64.
6613         * process-unix.c (unix_create_process): Call
6614         begin_dont_check_for_quit to inhibit unwanted interaction (and
6615         thus breaking of X event synchronicity) in the child.
6616
6617 2002-09-26  Golubev I. N.  <gin@mo.msk.ru>
6618
6619         * frame-x.c (x_delete_frame): do not call XtDisplay on a destroyed
6620         widget.
6621
6622 2002-08-20  Ben Sigelman  <bhsigelm@cs.brown.edu>
6623
6624         * event-Xt.c (drain_X_queue): loop over while(XEventsQueued())
6625         instead of while(XtAppPending()&XtIMXEvent).  Upon a gdm logout,
6626         the xemacs process did not exit, but looped infinitely here.  This
6627         fixes that problem.
6628
6629 2002-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
6630
6631         * font-lock.c (SYNTAX_START_STYLE, SYNTAX_END_STYLE): Quiet GCC.
6632         (find_context): Improve comments.
6633
6634         * regex.c (re_compile_fastmap):  Gratuitous #ifdef comment fixes.
6635         (re_match_2): An XCHAR_TABLE operation was missing.
6636
6637         Many of the following changes were inspired by Andy Piper's (now
6638         obsolete) patch to make syntax-table text property lookup optional.
6639
6640         [Documentation]
6641
6642         * syntax.h (top level): Document semantics of syntax flags.
6643         * syntax.c (comstr_start, Fforward_comment): Improve comments.
6644         * syntax.c, syntax.h (top level): Document syntax cache better in
6645         comments.
6646
6647         [Instrument syntax caching (temporary change)]
6648
6649         * syntax.h (enum syntax_cache_statistics_functions, struct
6650         syntax_cache_statistics, SCS_STATISTICS_SET_FUNCTION,
6651         SYNTAX_CACHE_STATISTICS_COUNT_INIT): New types and macros.
6652         * syntax.c (scan_words, Fforward_comment, scan_lists,
6653         Fbackward_prefix_characters):
6654         * font-lock.c (find_context):
6655         Use them to instrument syntax caching. 
6656         * syntax.c (struct syntax_cache_statistics, scs_statistics,
6657         syntax_cache_statistics_function_names): New type and variables.
6658         * syntax.c (update_syntax_cache): Update and report statistics.
6659
6660         [Major syntax cache optimizations]
6661
6662         syntax.c (lookup_syntax_properties): Default off.
6663
6664         * syntax.h (UPDATE_SYNTAX_INTERNAL): New, implements UPDATE_SYNTAX*.
6665         * syntax.c (update_syntax_cache):
6666         Move init test from update_syntax_cache to UPDATE_SYNTAX_INTERNAL.
6667
6668         [Minor syntax cache optimizations and code clarifications]
6669
6670         * syntax.h (SYNTAX_COMMENT_BITS, SYNTAX_START_P, SYNTAX_END_P,
6671         SYNTAX_STYLES_MATCH_START_P, SYNTAX_STYLES_MATCH_1CHAR_P,
6672         SYNTAX_STYLES_MATCH_END_P, STYLE_FOUND_1CHAR_P, STYLE_FOUND_P,
6673         SYNTAX_COMMENT_MASK_END, SYNTAX_COMMENT_MASK_START,
6674         SYNTAX_COMMENT_1CHAR_MASK): Remove redundant argument `table'.
6675         (Code clarification.)
6676
6677         * syntax.c (scan_words, find_end_of_comment, scan_sexps_forward,
6678         scan_lists): Compute code from syncode, use Boolean macros instead
6679         of redundant masking operations.  (Code clarification; any decent
6680         compiler can do this optimization.)
6681
6682         * syntax.c (scan_lists): Rearrange switches (case Sstring_fence)
6683         for clarity.
6684
6685         * syntax.h, syntax.c (NEXT_SINGLE_PROPERTY_CHANGE,
6686         PREVIOUS_SINGLE_PROPERTY_CHANGE, update_syntax_cache): Conditionally
6687         use F*_single_property_change instead of F*_extent_change.
6688         Currently F*_single_property_change is _much_ less efficient.
6689
6690         * dired.c (Fdirectory_files): Qt not valid in syntax_cache.object.
6691         * syntax.h (SETUP_SYNTAX_CACHE_FOR_OBJECT):  Initialize
6692         syntax_cache.object properly, don't leave Qt or Qnil.
6693         (SYNTAX_CACHE_BYTE_TO_CHAR): Use SETUP_SYNTAX_CACHE_FOR_OBJECT.
6694         * syntax.c (update_syntax_cache): Use BUFFERP and STRINGP, not
6695         tests for Qt or Qnil.
6696
6697 2002-09-21  Stephen J. Turnbull  <stephen@xemacs.org>
6698
6699         * redisplay.c (point_in_line_start_cache): 
6700         * extents.c (print_extent_1):
6701         Fix warnings.
6702
6703         * extents.c (Fset_extent_property): Document `syntax-table' property.
6704
6705         * extents.h (Fnext_single_property_change): EXFUN it.
6706
6707 2002-09-09  Stephen J. Turnbull  <stephen@xemacs.org>
6708
6709         * search.c (clear_unused_search_regs): New static function.
6710         (search_buffer): 
6711         (simple_search): 
6712         (boyer_moore):
6713         Use it.  Fixes "stale match data" bug reported by Martin Stjernholm.
6714         Minor clarifications in comments.
6715
6716         * regex.c (re_match_2_internal): Ensure no stale submatches.
6717
6718 2002-09-09  Stephen J. Turnbull  <stephen@xemacs.org>
6719
6720         * event-Xt.c (enqueue_focus_event): Add missing prototype.
6721
6722 2002-08-29  Jerry James  <james@xemacs.org>
6723
6724         * lisp.h: structrures -> structures.
6725
6726 2002-06-03  Andy Piper  <andy@xemacs.org>
6727
6728         * frame.c (frame_conversion_internal): add conversion appropriate
6729         for setting frame dimensions in pixels.
6730
6731         * console.h (struct console_methods): add device-specific widget
6732         layout functions.
6733
6734         * emacs.c (main_1): initialize glyph vars.
6735
6736         * event-Xt.c (handle_focus_event_1): call handle_focus_event_2
6737         (handle_focus_event_2): new function. Allow focus to
6738         be set to a particular window and widget.
6739         (enqueue_focus_event): new function. Create a
6740         synthetic focus event.
6741         (emacs_Xt_handle_magic_event): call
6742         handle_focus_event_2.
6743
6744         * frame.c (Fset_frame_pixel_height): new function. Allow
6745         pixel-based sizing. Does the right thing on character-oriented
6746         displays.
6747         (Fset_frame_pixel_width): ditto.
6748         (Fset_frame_pixel_size): ditto.
6749         (syms_of_frame): declare.
6750
6751         * general-slots.h: add :vertically-justify and
6752         :horizontally-justify.
6753
6754         * glyphs-msw.c (xbm_create_bitmap_from_data): warning fix.
6755         (mswindows_widget_border_width): new function.
6756         (mswindows_combo_box_instantiate): set border widths.
6757         (console_type_create_glyphs_mswindows): declare.
6758
6759         * glyphs-widget.c:
6760         (check_valid_justification): allow vertical and horizontal
6761         justification.
6762         (widget_border_width): new function. Call device methods.
6763         (widget_instance_border_width): ditto.
6764         (logical_unit_height): new function. Determine the height of a
6765         logical-unit. Logical units are intended to provide grid-like
6766         layout for subcontrols in a layout. If the layout is
6767         :vertically-justify top then subcontrols will be positioned on
6768         logical-unit boundaries, thus allowing adjacent subcontrols to
6769         line up.
6770         (widget_logical_unit_height): ditto for widgets.
6771         (redisplay_widget): misc cleanup.
6772         (widget_spacing): new function. Call device specific
6773         methods. Intended to be the default gap between adjacent widgets.
6774         (widget_query_geometry): use new spacing functions to determine
6775         appropriate geometry.
6776         (initialize_widget_image_instance): initialize horizontal and
6777         vertical justification.
6778         (widget_instantiate): use logica-units where appropriate for
6779         sizing large widgets.
6780         (button_query_geometry): use widget_instance_border_width.
6781         (tree_view_query_geometry): ditto.
6782         (tab_control_query_geometry): ditto.
6783         (edit_field_query_geometry): new function.
6784         (layout_update): pick up :justify, :horizontally-justify and
6785         :vertically-justify none of which worked previously. :justify is
6786         used as a fallback for both horizontal and vertical justification.
6787         (layout_query_geometry): use logical units to size appropriately.
6788         (layout_layout): ditto.
6789         (Fwidget_logical_to_character_width): new function. Allow users to
6790         convert from logical units to characters so that frame sizes can
6791         be set appropriately.
6792         (Fwidget_logical_to_character_height): ditto.
6793         (syms_of_glyphs_widget): declare.
6794         (image_instantiator_edit_fields): add edit_field_query_geometry.
6795         (VALID_LAYOUT_KEYWORDS): declare :vertically-justify and
6796         :horizontally-justify.
6797         (specifier_vars_of_glyphs_widget): new function. Declare
6798         Vwidget_border_width which is not yet used.
6799
6800         * glyphs-x.c (x_map_subwindow): enqueue appropriate focus events.
6801         (x_widget_border_width): new function.
6802         (x_widget_instantiate): create a sensible name for widgets.
6803         (console_type_create_glyphs_x): declare x_widget_border_width.
6804
6805         * glyphs.h (DEFAULT_WIDGET_BORDER_WIDTH): new macro.
6806         (struct Lisp_Image_Instance): add :vertically-justify and
6807         :horizontally-justify.
6808         (LAYOUT_JUSTIFY_TOP): new.
6809         (IMAGE_INSTANCE_SUBWINDOW_H_JUSTIFY): new.
6810         (ROUND_UP): new macro. Round argument up to next integral
6811         interval.
6812
6813         * redisplay-output.c (redisplay_output_layout): misc formatting.
6814
6815         * symsinit.h: declare specifier_vars_of_glyphs_widget.
6816
6817 2002-08-23  Stephen J. Turnbull  <stephen@xemacs.org>
6818
6819         * XEmacs 21.4.9 "Informed Management" is released.
6820
6821 2002-08-19  Andy Piper  <andy@xemacs.org>
6822
6823         * fileio.c (Ffile_truename): on cygwin using win32 normalize to
6824         win32 format.
6825
6826         * realpath.c (xrealpath): normalize drive spec also so that dir
6827         sep chars are not mixed on cygwin.
6828
6829 2002-08-06  Jerry James  <james@xemacs.org>
6830
6831         * window.c (Fsplit_window): Count only half of the divider width
6832         against the left window when splitting horizontally. 
6833
6834 2002-06-24  Andy Piper  <andy@xemacs.org>
6835
6836         * toolbar-gtk.c (GTK_OUTPUT_BUTTONS_LOOP): output button if whole
6837         toolbar was cleared.
6838
6839         * toolbar-msw.c (mswindows_clear_frame_toolbars): new
6840         function. Split out from mswindows_output_frame_toolbars.
6841         (mswindows_output_frame_toolbars): move clear pieces to
6842         mswindows_output_frame_toolbars.
6843
6844         * toolbar-gtk.c (gtk_clear_frame_toolbars): new function. Split
6845         out from gtk_output_frame_toolbars.
6846         (gtk_output_frame_toolbars): move clear pieces to
6847         gtk_clear_frame_toolbars.
6848
6849         * toolbar-x.c (X_OUTPUT_BUTTONS_LOOP): always output buttons when
6850         the frame is cleared. How this ever worked before is a mystery.
6851         (x_output_frame_toolbars): Only output toolbars.
6852         (x_clear_frame_toolbars): new. Clear previous toolbar locations.
6853
6854         * gutter.c (update_gutter_geometry):
6855         Mark frame layout changed.
6856         (update_frame_gutter_geometry, update_frame_gutters):
6857         Respect frame_layout_changed.
6858
6859         * console.h (struct console_methods): add
6860         clear_frame_toolbars_method.
6861
6862         * redisplay.c (redisplay_frame): call
6863         update_frame_toolbars_geometry and re-order update_frame_toolbars.
6864
6865         * toolbar.h: declare update_frame_toolbars_geometry.
6866
6867         * toolbar.c (update_frame_toolbars_geometry): new function. Split
6868         out from update_frame_toolbars.  Call clear_frame_toolbars.
6869         (update_frame_toolbars): only output, do not change geometry.
6870
6871         * redisplay.c: add frame_layout_changed.
6872
6873         * redisplay.h: add frame_layout_changed.
6874         (CLASS_RESET_CHANGED_FLAGS): set it.
6875         (GLOBAL_RESET_CHANGED_FLAGS): ditto.
6876         (CLASS_REDISPLAY_FLAGS_CHANGEDP): test it.
6877         (GLOBAL_REDISPLAY_FLAGS_CHANGEDP): ditto.
6878
6879         * device.h (struct device): add frame_layout_changed.
6880         (MARK_DEVICE_FRAME_LAYOUT_CHANGED): new.
6881
6882         * frame.h (struct frame): add frame_layout_changed.
6883         (MARK_FRAME_LAYOUT_CHANGED): new.
6884
6885 2002-06-30  Mike Alexander  <mta@arbortext.com>
6886
6887         * event-msw.c (mswindows_need_event): Don't wait for a new message
6888         if the queue is not empty.  Suggested by Paul Moore.
6889
6890 2002-06-12  Andy Piper  <andy@xemacs.org>
6891
6892         * frame-msw.c (msprinter_init_frame_3): calculate the frame size
6893         for printing on accurately.
6894
6895 2002-06-09  Rick Rankin <rick_rankin@yahoo.com>
6896
6897         * event-msw.c (mswindows_wnd_proc): Add a handler for the
6898         WM_ACTIVATE message. Make sure that the frame is visible if the
6899         window is visible. This seemss to fix the problem where XEmacs
6900         appears to freeze after switching desktops with certain virtual
6901         window managers.
6902         (debug_output_mswin_message): Added code to output message
6903         parameters for WM_WINDOWPOSCHANGED, 
6904         WM_WINDOWPOSCHANGING, WM_MOVE, and WM_SIZE messages.
6905
6906 2002-05-25  Andy Piper  <andy@xemacs.org>
6907
6908         * select-x.c (vars_of_select_x): Fix docstring of
6909         x-selection-strict-motif-ownership
6910
6911 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
6912
6913         * keymap.c (get_keymap):
6914         Add comment about do_autoload GCPROs own args.
6915
6916 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
6917
6918         * bytecode.c (execute_optimized_program): check_opcode ifdef
6919         ERROR_CHECK_BYTE_CODE.
6920
6921 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
6922
6923         Thanks to Ben Wing and Michael Sperber.
6924
6925         * eval.c (Fcommand_execute):
6926         (Feval):
6927         (Ffuncall):
6928         (Fmacroexpand_internal):
6929         (function_argcount):
6930         callint.c (Fcall_interactively):
6931         Add comment about do_autoload GCPROs own args.
6932
6933         * (do_autoload): GCPRO both args as well as local Lisp_Object.
6934
6935         * eval.c (Ffuncall): Extra braces to placate GCC.
6936
6937 2002-08-10  Stephen J. Turnbull  <stephen@xemacs.org>
6938
6939         * backtrace.h (grow_specpdl):
6940         (SPECPDL_RESERVE):
6941         * EmacsFrame.c (EmacsFrameSetValues):
6942         * eval.c (grow_specpdl):
6943         * ExternalShell.c (hack_event_masks_1):
6944         * glyphs-x.c (convert_EImage_to_XImage): 
6945         (x_finalize_image_instance):
6946         * ralloc.c (page_size):
6947         (r_alloc_sbrk):
6948         * xgccache.c (gc_cache_hash):
6949         Fix unsigned comparison warnings.
6950
6951 2002-07-29  Jerry James  <james@xemacs.org>
6952
6953         * lread.c (locate_file): Any nonnegative return value indicates
6954         success if MODE is nonnegative.
6955
6956 2002-08-03  Brian A Palmer  <bpalmer@rescomp.Stanford.EDU>
6957
6958         * emacs.c (Fsplit_string_by_char): Make 2nd arg SEPCHAR a required
6959         argument. 
6960
6961 2002-07-17  Stephen J. Turnbull  <stephen@xemacs.org>
6962
6963         * process-unix.c (unix_send_process): #ifdef the coding_stream member.
6964
6965         * dumper.c (pdump_get_indirect_count):
6966         (pdump_scan_by_alignment):
6967         (pdump_dump_root_struct_ptrs):
6968         (pdump_dump_rtables):
6969         (pdump_dump_root_objects):
6970         (pdump):
6971         * nas.c (WaveOpenDataForReading):
6972         * fns.c (print_bit_vector):
6973         * font-lock.c (SINGLE_SYNTAX_STYLE):
6974         * glyphs.c (check_for_ignored_expose):
6975         (find_matching_subwindow):
6976         * glyphs-eimage.c:
6977         * imgproc.c (get_histogram):
6978         * redisplay.c (point_in_line_start_cache):
6979         * redisplay-output.c (redisplay_unmap_subwindows):
6980         * symbols.c (defsymbol_massage_name_1):
6981         (defkeyword_massage_name):
6982         (deferror_massage_name_and_message):
6983         * redisplay-x.c (x_output_string): 
6984         * emacs.c (run_temacs_argv_size, run_temacs_args_size):
6985         * frame.h (struct frame):
6986         * filelock.c (current_lock_owner):
6987         * doprnt.c (emacs_doprnt_1):
6988         * lisp.h (struct Lisp_Bit_Vector):
6989         (DO_REALLOC):
6990         Fix warnings.
6991
6992 2002-02-13  Ben Wing  <ben@xemacs.org>
6993
6994         * event-stream.c (reset_key_echo):
6995         * event-stream.c (reset_this_command_keys):
6996         * event-stream.c (execute_command_event):
6997         If console is dead as a result of C-x 5 0, then post-command stuff
6998         needs to be careful and do only non-console-specific stuff.
6999
7000 2002-07-01  Mike Sperber <mike@xemacs.org>
7001
7002         * process-unix.c (unix_send_process): Mark coding_outstream as
7003         non-open upon SIGPIPE.
7004
7005         * event-stream.c (Fnext_event): Reorder switch cases to something
7006         that makes sense.
7007
7008 2001-08-13  Dmitry Astapov  <adept@umc.com.ua>
7009
7010         * event-Xt.c (maybe_define_x_key_as_self_inserting_character):
7011         Don't bogusly reinitialize ascii_character property.
7012
7013 2002-07-08  Mike Sperber <mike@xemacs.org>
7014
7015         * process.c (Fstart_process_internal): Do error checking before we
7016         fork off the child, so the child can't muck with the state of the
7017         parent.
7018
7019 2002-07-08  Mike Sperber <mike@xemacs.org>
7020
7021         * ralloc.c (init_ralloc): Allocate properly for pdump.
7022
7023 2002-06-12  Andy Piper  <andy@xemacs.org>
7024
7025         * glyphs.c (query_string_geometry): check the string.
7026
7027         * glyphs-widget.c (widget_logical_unit_height): cope with nil
7028         widget names.
7029
7030 2002-06-17  Jerry James  <james@xemacs.org>
7031
7032         * sysdll.c: Remove RTLD_GLOBAL initialization.
7033         * sysdll.c (dll_open): Do not use RTLD_GLOBAL.
7034
7035 2002-06-25  Stephen J. Turnbull  <stephen@xemacs.org>
7036
7037         * search.c (skip_chars): Port Ben's crash fix and efficiency patch.
7038
7039 2002-05-16  Mathias Grimmberger  <mgri@zaphod.sax.de>
7040
7041         * sysdep.c (sys_rename): Make sys_rename work for the case where
7042         Windows rename sets errno to EACCES if target file exists.
7043
7044 2002-05-21  Jonathan Harris  <jonathan@xemacs.org>
7045
7046         * device-msw.c (mswindows_handle_page_setup_dialog_box):
7047         Fix detection of metric units to work on Win95
7048
7049 2002-05-21  Stephen J. Turnbull  <stephen@xemacs.org>
7050
7051         * syswindows.h: #define LOCALE_RETURN_NUMBER.  Why, I don't know.
7052
7053 2002-04-25  Andy Piper  <andy@xemacs.org>
7054
7055         * redisplay.c (create_text_block): Remove extra comment trailer.
7056
7057 2002-04-24  Andy Piper  <andy@xemacs.org>
7058
7059         * redisplay.c (create_text_block): Don't actually add propagation
7060         data if the line ends after we have added a glyph.
7061
7062 2002-04-22  Andy Piper  <andy@xemacs.org>
7063
7064         * extents.c (extent_fragment_update): check for glyphs we have
7065         previously displayed.
7066         * extents.c (print_extent_1): warning removal.
7067         * extents.h: change prototype.
7068         * redisplay-output.c (redisplay_normalize_glyph_area): calculate
7069         widths correctly for wide glyphs.
7070         * redisplay.c (position_redisplay_data_type): add end_glyph_width.
7071         * redisplay.c (prop_type): add PROP_GLYPH.
7072         * redisplay.c (struct prop_block): add glyph type
7073         * redisplay.c (add_glyph_rune): when adding part of a glyph add it
7074         to the propagation data.
7075         * redisplay.c (create_text_block): if there is a glyph in the
7076         propagation data use it to salt extent_fragment_update.
7077         * redisplay.c (create_string_text_block): ditto.
7078
7079 2002-04-13  Nix  <nix@esperi.demon.co.uk>
7080
7081         * redisplay.h (struct rune): Add ascent, descent, and yoffset fields.
7082         * redisplay-output.c (compare_runes): Compare them.
7083         * redisplay.c: Update copyright date.
7084         * redisplay.c (pos_data): Add need_baseline_computation field.
7085         * redisplay.c (add_glyph_rune): Update ascent, descent, and
7086         need_baseline_computation; zero yoffset. Set max_pixmap_height
7087         for all pixmaps, not just automatically positioned ones.
7088         * redisplay.c (calculate_yoffset): New, compute yoffset values.
7089         * redisplay.c (calculate_baseline): New, compute textual baseline.
7090         * redisplay.c (add_glyph_rune): Call them.
7091         * redisplay.c (create_text_block): Likewise.
7092         * redisplay.c (create_overlay_glyph_block): Likewise.
7093         * redisplay.c (add_margin_runes): Likewise.
7094         * redisplay.c (create_string_text_block): Likewise. Fix tabdamage.
7095
7096         * redisplay.h: (redisplay_calculate_display_boxes): Change prototype.
7097         * redisplay-output.c (redisplay_calculate_display_boxes): Use yoffset.
7098         * redisplay-msw.c (mswindows_output_blank): Pass 0 as yoffset.
7099         * redisplay-msw.c (mswindows_output_string): Likewise.
7100         * redisplay-msw.c (mswindows_output_display_block): Pass yoffset.
7101         * redisplay-gtk.c (gtk_output_display_block): Likewise.
7102         * redisplay-x.c (x_output_display_block): Likewise.
7103
7104 2002-03-28  Ben Wing  <ben@xemacs.org>
7105
7106         * redisplay.c: Fixed bug in redisplay
7107         w.r.t. hscroll/truncation/continuation glyphs causing jumping up
7108         and down of the lines, since they're bigger than the line
7109         size. (It was seen most obviously when there's a horizontal scroll
7110         bar, e.g. do C-h a glyph or something like that.) The problem was
7111         that the glyph-contrib-p setting on glyphs was ignored even if it
7112         was set properly, which it wasn't until now.
7113
7114 2002-04-24  Andy Piper  <andy@xemacs.org>
7115
7116         * lisp.h (Dynarr_end): Fix definition.
7117
7118 2002-02-06  Adrian Aichner  <adrian@xemacs.org>
7119
7120         * redisplay.c (mark_redisplay): Remove call to
7121         update_frame_window_mirror.
7122
7123 2001-11-15  Andy Piper  <andy@xemacs.org>
7124
7125         * win32.c (Fmswindows_shell_execute): fix handling of URL's under
7126         cygwin (again).
7127
7128 2002-02-13  Andy Piper  <andy@xemacs.org>
7129
7130         * event-msw.c (mswindows_wnd_proc): only mark the frame visible if
7131         we did in fact enqueue the XM_MAPFRAME event.
7132
7133 2002-01-15  Adrian Aichner  <adrian@xemacs.org>
7134
7135         * event-msw.c (mswindows_wnd_proc): Add handling of WM_SHOWWINDOW
7136         to fix problem switching between virtual desktops under virtuawin
7137         virtual window manager.
7138
7139 2001-07-30  Adrian Aichner  <adrian@xemacs.org>
7140
7141         * event-msw.c: Typo fix.
7142         * event-msw.c (mswindows_wnd_proc): Set FRAME_VISIBLE_P after
7143         magic XM_MAPFRAME event has been sent.
7144
7145 2001-11-23  Andy Piper  <andy@xemacs.org>
7146
7147         * event-msw.c (mswindows_wnd_proc): Don't pump mousewheel events.
7148
7149 2001-11-21  Andy Piper  <andy@xemacs.org>
7150
7151         * scrollbar-msw.c (mswindows_handle_mousewheel_event): cope with
7152         mouse events outside the frame.
7153
7154 2002-03-20  Andy Piper  <andy@xemacs.org>
7155
7156         * menubar-msw.c (mswindows_popup_menu): warning removal.
7157         * dialog-msw.c (dialog_popped_down): ditto.
7158
7159 2001-12-11  Andy Piper  <andy@xemacs.org>
7160
7161         * dialog-msw.c (dialog_popped_down): new function. unset popup_up_p.
7162         * dialog-msw.c (mswindows_make_dialog_box_internal): set
7163         popup_up_p.
7164         * menubar-msw.c (unsafe_handle_wm_initmenupopup_1): ditto.
7165         * menubar-msw.c (mswindows_handle_wm_command): ditto.
7166         * menubar-msw.c (mswindows_popup_menu): ditto.
7167
7168 2001-10-29  Andy Piper  <andy@xemacs.org>
7169
7170         * dialog-msw.c (handle_directory_dialog_box): quit if the user
7171         cancels.
7172
7173 2002-01-03  Andy Piper  <andy@xemacs.org>
7174
7175         * realpath.c (ABS_LENGTH): dtrt for cygwin systems using drive
7176         letters.
7177         (xrealpath): ditto.
7178
7179 2002-03-29  Jonathan Harris  <jonathan@xemacs.org>
7180
7181         * device-msw.c (plist_get_margin): Add arg specifying mm or inches
7182         * device-msw.c (plist_set_margin): Fix multiplicand used for mm
7183         * device-msw.c (mswindows_handle_page_setup_dialog_box):
7184         Detect and handle case where machine is set up for metric units
7185
7186 2002-04-02  Andy Piper  <andy@xemacs.org>
7187
7188         * dired-msw.c (mswindows_get_files): 
7189         * nt.c (mswindows_stat): SetErrorMode() so that file errors are
7190         completely handled by XEmacs. Suggested by Thomas Vogler
7191         <mail@thomas-vogler.de>.
7192
7193 2001-11-14  Andy Piper  <andy@xemacs.org>
7194
7195         * nt.c (REG_ROOT): change registry key to XEmacs.
7196
7197 2002-04-27  Andy Piper  <andy@xemacs.org>
7198
7199         * glyphs-msw.c (mswindows_widget_instantiate): remove dead-code.
7200
7201 2002-04-26  Andy Piper  <andy@xemacs.org>
7202
7203         * glyphs-msw.c (mswindows_map_subwindow): observe :initial-focus
7204         behavior.
7205
7206 2002-03-14  Mike Alexander  <mta@arbortext.com>
7207
7208         * event-msw.c (mswindows_unwait_process): New, remove process from
7209         wait list
7210         * process-nt.c (nt_finalize_process_data): Call
7211         mswindows_unwait_process
7212         * console-msw.h: Declare mswindows_unwait_process
7213
7214 2002-05-14  Stephen J. Turnbull  <stephen@xemacs.org>
7215
7216         * editfns.c (Fdecode_time):
7217         (Fformat_time_string):
7218         Check for invalid time.  Thanks to Nick Pakoulin <npak@ispras.ru>.
7219         (make_time): Warning elimination (change arg name).
7220
7221 2001-11-24  Andy Piper  <andy@xemacs.org>
7222
7223         * window.c (Fsplit_window): Doc return type.
7224
7225 2002-04-01  Andy Piper  <andy@xemacs.org>
7226
7227         * emacs.c (Fkill_emacs): Only output message box in interactive
7228         mode.
7229
7230 2002-04-26  Andy Piper  <andy@xemacs.org>
7231  
7232         * config.h.in: pull in 21.5.x change to stop alloca warnings under
7233         cygwin.
7234
7235 2002-03-18  Gregory Steuck  <greg-xemacs-patch@nest.cx>
7236
7237         * unexelf.c:  Use ELFSIZE or define from _LP64 to indicate a 64
7238         bit platform.
7239
7240 2002-05-09  Stephen J. Turnbull  <stephen@xemacs.org>
7241
7242         * XEmacs 21.4.8 "Honest Recruiter" is released.
7243
7244 2002-05-07  Nix  <nix@esperi.demon.co.uk>
7245
7246         Supersedes 2002-04-17 patch.
7247
7248         * process.h (PROCESS_LIVE_P): Use the process status as
7249         evidence of health, not the state of the input stream.
7250         (PROCESS_READABLE_P): Say if the process is readable
7251         from. (It may be dead nonetheless.)
7252         (CHECK_READABLE_PROCESS): Test for that condition.
7253
7254         * process.c (create_process): Use PROCESS_READABLE_P.
7255         (read_process_output, set_process_filter): Likewise.
7256
7257         * process.c (Fprocess_input_coding_system): Use CHECK_READABLE_PROCESS.
7258         (Fset_process_input_coding_system, Fprocess_coding_system): Likewise.
7259
7260         This code is #if 0'd, this is not the time to add new functions:
7261
7262         * process.c (Fprocess_readable_p): Report readability status.
7263         * process.c (Qprocess_readable_p): New, associated symbol...
7264         * process.c (syms_of_process): ... initialize it.
7265
7266 2002-05-04  Stephen J. Turnbull  <stephen@xemacs.org>
7267
7268         * XEmacs 21.4.7 "Economic Science" is released.
7269
7270 2002-04-17  Nix  <nix@esperi.demon.co.uk>
7271
7272         * process.h (PROCESS_LIVE_P): Use the process status as
7273         evidence of health, not the state of the input stream.
7274
7275 2002-04-30  Charles G. Waldman <cgw@xemacs.org>
7276
7277         * sysdep.c (sys_siglist): change "signum" to "signal"
7278
7279 2001-04-21  Martin Buchholz  <martin@xemacs.org>
7280
7281         * s/darwin.h: New file.
7282         Thanks to Greg Parker <gparker@cs.stanford.edu>.
7283         
7284 2002-04-23  Andreas Jaeger  <aj@suse.de>
7285
7286         * s/linux.h (LIB_STANDARD): Define correctly for x86-64 and s390x
7287         which use lib64 for 64-bit libs.
7288         (START_FILES): Likewise.
7289
7290 2002-02-11  Mike Sperber  <mike@xemacs.org>
7291
7292         * device-x.c: 
7293         (x_IO_error_handler):
7294         (x_init_device): Temporarily keep device in static variable
7295         `device_being_initialized' so we can recover gracefully from
7296         internal XOpenDevice failure.  (XOpenDevice is documented to
7297         return NULL on failure, but sometimes calls the IO error handler
7298         instead.)
7299
7300 2002-01-31  John H. Palmieri  <palmieri@math.washington.edu>
7301
7302         * dired.c (Ffile_name_all_completions): Change documentation --
7303         remove reference to completion-ignored-extensions.
7304         * dired.c (vars_of_dired): Change documentation for
7305         completion-ignored-extensions -- remove reference to
7306         file-name-all-completions.
7307
7308 2002-03-06  Jerry James  <james@xemacs.org>
7309
7310         * emodules.c (emodules_load): Fix multiple loading of same module.
7311
7312 2002-01-25  Andrew Begel <abegel@cs.berkeley.edu>
7313         * sysdll.c (dll_open): Changed to use RTLD_NOW instead of
7314         RTLD_LAZY to avoid incorrect symbol binding when using nested
7315         shared libraries on Solaris.
7316
7317 2002-02-12  Stephen J. Turnbull  <stephen@xemacs.org>
7318
7319         * fileio.c (Ffind_file_name_handler): Improve docstring.
7320
7321 2002-01-20  Stephen J. Turnbull  <stephen@xemacs.org>
7322
7323         * fns.c (Fmapconcat): Improve docstring.
7324
7325 2002-01-03  Eric Gillespie, Jr.  <epg@pretzelnet.org>
7326
7327         * device-gtk.c: Add prototype for
7328         emacs_gtk_selection_clear_event_handle.
7329         (gtk_init_device): Call gtk_selection_add_target for CLIPBOARD
7330         selection.  Setup signal handler for "selection_clear_event"
7331         (emacs_gtk_selection_clear_event_handle).
7332
7333         * select-gtk.c (emacs_gtk_selection_clear_event_handle): Handle
7334         other applications owning the clipboard (based on
7335         x_handle_selection_clear).
7336
7337 2001-12-23  William M. Perry  <wmperry@gnu.org>
7338
7339         * menubar-gtk.c (gtk_popup_menu)  Add sanity checks, fix crash.
7340         
7341 2002-01-04  Martin Buchholz  <martin@xemacs.org>
7342
7343         * keymap.c (define_key_alternate_name): Parenthesize EQ.
7344
7345 2001-12-17  Stephen J. Turnbull  <stephen@xemacs.org>
7346
7347         * XEmacs 21.4.6 "Common Lisp" is released.
7348
7349 2001-12-16  Torsten Duwe  <duwe@caldera.de>
7350
7351         * search.c (Freplace_match): Add missing sub-expression functionality.
7352
7353         * buffer.c (decode_buffer): Add a check for pointer type to
7354         decode_buffer, before gcc's CSE optimization reorders a
7355         dereference in front of the allow_string test.
7356
7357 2001-11-16  Darryl Okahata  <darrylo@xemacs.org>
7358
7359         * window.c (window_loop): Fix bug that sometimes prevented
7360         window_loop() from iterating across multiple devices.  Also, at
7361         Ben's request, changed infloop-detecting code to abort() instead
7362         of silently terminating window_loop().
7363
7364 2001-11-21  Stephen J. Turnbull  <stephen@xemacs.org>
7365
7366         Based on analysis and patch by Simon Josefson <jas@extundo.com>.
7367         * editfns.c (make_time): New function.
7368         (Fencode_time): Use it instead of wasteful_word_to_lisp.
7369         * lisp.h (make_time): Prototype and comment it.
7370         * dired.c (wasteful_word_to_lisp): Deprecate.
7371         (Ffile_attributes): Use make_time() instead of wasteful_word_to_lisp().
7372
7373 2001-10-31  Kyle Jones  <kyle_jones@wonderworks.com>
7374
7375         * fileio.c (auto_save_1): Use current coding system, not
7376         escape-quoted.
7377
7378 2001-11-13  Ben Wing  <ben@xemacs.org>
7379
7380         * window.c:
7381         * window.c (window_truncation_on):
7382         * window.c (syms_of_window):
7383         truncate-partial-width-windows should respect the buffer being
7384         displayed, like other redisplay vars.
7385
7386 2001-11-13  Hirokazu FUKUI  <hfukui@sannet.ne.jp>
7387
7388         * event-stream.c (Fread_key_sequence): save current buffer.
7389
7390 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
7391
7392         * ntheap.c (_heap_init): Don't redefine in VS.NET (MSC >= 1300).
7393
7394 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
7395
7396         * alloc.c (lcrecord_stats): Add space for types defined in modules.
7397
7398 2001-10-26  Mike Alexander  <mta@arbortext.com>
7399
7400         * event-msw.c (slurper_free_shared_data_maybe): Free the pipe handle.
7401
7402 2001-10-25  Andy Piper  <andy@xemacs.org>
7403
7404         * ChangeLog:
7405         * dialog-msw.c (handle_directory_proc): new function.
7406          (handle_directory_dialog_box): new fucntion.
7407          (handle_file_dialog_box): use new directory dialog support.
7408          (mswindows_make_dialog_box_internal): ditto.
7409         * event-msw.c (mswindows_wnd_proc): minor fix to scrollbar event
7410         handling.
7411         (mswindows_find_frame): make global.
7412         * fileio.c (Fexpand_file_name): build fix.
7413         * general-slots.h: add Qdirectory.
7414         * scrollbar-msw.c (mswindows_handle_scrollbar_event): fix focus
7415         handling.
7416         * syswindows.h (LOCAL_TO_WIN32_FILE_FORMAT): fix problem with
7417         cygwin not leaving win32 paths unchanged.
7418         * win32.c (Fmswindows_cygwin_to_win32_path): new function. Use the
7419         cygwin runtime to do path conversion.
7420         (Fmswindows_shell_execute): fix cygwin handling of URLs.
7421         (syms_of_win32): add new function.
7422         * window.c (window_loop): build fix.
7423
7424 2001-10-15  Andy Piper  <andy@xemacs.org>
7425
7426         (Fmswindows_shell_execute): fix handling of URL's under cygwin.
7427
7428 2001-10-23  Stephen J. Turnbull  <stephen@xemacs.org>
7429
7430         * XEmacs 21.4.5 "Civil Service" is released.
7431
7432 2001-04-08  Danny Colascione  <qtmstr@optonline.net>
7433
7434         * glyphs-x.c: Force buffer-tab highlight update when moving the
7435         buffer, avoiding an ugly black border, used for keyboard focus
7436         indication, on a widget that can never have keyboard focus, the
7437         buffer tab.
7438
7439 2001-08-30  Daiki Ueno  <ueno@unixuser.org>
7440
7441         * process-unix.c (unix_open_multicast_group): Remove too much
7442         conversion between host and network byte order.
7443
7444 2001-09-10  Nix  <nix@esperi.demon.co.uk>
7445
7446         * src/buffer.c (kill_buffer): Undedicate windows showing BUF
7447         before replacing them.
7448
7449         * src/window.c (window_loop): Implement new UNDEDICATE_BUFFER
7450         operation.
7451
7452         * src/window.c (undedicate_windows): Use it.
7453         * src/window.h: Add prototype.
7454
7455 2001-09-17  Ben Wing  <ben@xemacs.org>
7456
7457         * fileio.c (normalize_filename):
7458         * fileio.c (Fexpand_file_name):
7459         Fix various C++ compile errors in Andy's recent code.
7460         
7461         * callint.c (Fcall_interactively):
7462         * editfns.c (Ftemp_directory):
7463         * editfns.c (Fuser_full_name):
7464         * emacs.c (argmatch):
7465         * lread.c (locate_file_map_suffixes):
7466         * redisplay-x.c (x_ring_bell):
7467         Fix sign-compare warnings.
7468         
7469 2001-09-08  Andy Piper  <andy@xemacs.org>
7470
7471         * fileio.c (normalize_filename): copied from nt.c
7472         * (Ffile_name_directory): enable win32 paths under cygwin.
7473         * (Ffile_name_nondirectory): ditto.
7474         * (directory_file_name): ditto.
7475         * (Fexpand_file_name): ditto.
7476         * (Ffile_truename): ditto.
7477         * (Fsubstitute_in_file_name): ditto.
7478         * (Ffile_name_absolute_p): ditto.
7479         * (Ffile_readable_p): ditto.
7480
7481 2001-09-08  Andy Piper  <andy@xemacs.org>
7482
7483         * device-msw.c (mswindows_finish_init_device): remove dde
7484         initialization.
7485         * device-msw.c (mswindows_init_dde): factor out from
7486         mswindows_finish_init_device()
7487         * device-msw.c (init_mswindows_very_early): new function
7488         initialize but don't enable dde.
7489         * emacs.c (main_1): call init_mswindows_very_early.
7490         * event-msw.c:
7491         * event-msw.c (mswindows_dde_callback): only execute when we are
7492         ready.
7493         * symsinit.h: declare init_mswindows_very_early.
7494
7495 2001-05-02  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7496
7497         [sjt: This has been in 21.5 for months with no complaints.]
7498
7499         * console.h (struct console_methods): Added flags member.
7500         (CONSOLE_IMPLEMENTATION_FLAGS): Defined.
7501         (CONMETH_IMPL_FLAG):
7502         (CONSOLE_IMPL_FLAG): Macro to check implememntation flags.
7503         Defined XDEVIMPF_DONT_PREEMPT_REDISPLAY.
7504
7505         * device.c (window_system_pixelated_geometry): Use the above macros.
7506
7507         * device.h (DEVICE_IMPL_FLAG): Macro to check a device
7508         implememntation flag.
7509         * device.h (DEVICE_DISPLAY_P): Use it.
7510
7511         * frame.c (delete_frame_internal): Use the above macro.
7512
7513         * redisplay.c (redisplay_device): Use it.
7514         (redisplay_device): Obey XDEVIMPF_DONT_PREEMPT_REDISPLAY.
7515         (redisplay_frame): Ditto.
7516
7517         * device-msw.c (mswindows_device_implementation_flags): Removed.
7518         (msprinter_device_implementation_flags): Removed.
7519         (console_type_create_device_mswindows): Removed references to
7520         implementation_flags methods, set implementation flags here.
7521         (console_type_create_device_mswindows): Added XDEVIMPF_DONT_PREEMPT.
7522
7523         * device-gtk.c (gtk_device_implementation_flags): Removed method.
7524         (console_type_create_device_gtk): Removed method declaration.
7525         Added commented out statement which semantically matches the
7526         commented out statement in the above removed method.
7527
7528 2001-04-14  Gordon Sadler  <gbsadler1@lcisp.com>
7529
7530         The attached patch fixes a few warnings. 
7531
7532         * src/emacs.c: prototype console_type_create_select_gtk for GTK only
7533         * src/frame-gtk.c: guard against GNOME calls in GTK only
7534         * src/redisplay-gtk.c: include <sys/poll.h> #ifdef HAVE_POLL
7535         * src/select-gtk.c: prototype lisp_to_time
7536
7537 2001-06-08  Ben Wing  <ben@xemacs.org>
7538
7539         ------ gc-in-window-procedure fixes ------
7540         
7541         * alloc.c:
7542         * alloc.c (struct post_gc_action):
7543         * alloc.c (register_post_gc_action):
7544         * alloc.c (run_post_gc_actions):
7545         * alloc.c (garbage_collect_1):
7546         Create "post-gc actions", to avoid those dreaded "GC during window
7547         procedure" problems.
7548
7549         * event-msw.c:
7550         Abort, clean and simple, when GC in window procedure.  We want
7551         to flush these puppies out.
7552
7553         * glyphs-msw.c:
7554         * glyphs-msw.c (finalize_destroy_window):
7555         * glyphs-msw.c (mswindows_finalize_image_instance):
7556         Use a post-gc action when destroying subwindows.
7557
7558         * lisp.h:
7559         Declare register_post_gc_action().
7560
7561         * scrollbar-msw.c:
7562         * scrollbar-msw.c (unshow_that_mofo):
7563         Use a post-gc action when unshowing scrollbar windows, if in gc.
7564
7565         * redisplay.c (mark_redisplay):
7566         Add comment about the utter evilness of what's going down here.
7567
7568         ------ cygwin setitimer fixes ------
7569         
7570         * Makefile.in.in (sheap_objs):
7571         * Makefile.in.in (profile_objs):
7572         * Makefile.in.in (objs):
7573         Compile profile.c only when HAVE_SETITIMER.
7574         
7575         * nt.c (mswindows_sigset):
7576         * nt.c (mswindows_sighold):
7577         * nt.c (mswindows_sigrelse):
7578         * nt.c (mswindows_sigpause):
7579         * nt.c (mswindows_raise):
7580         * nt.c (close_file_data):
7581         Style fixes.
7582         
7583         * nt.c:
7584         Move setitimer() emulation to win32.c, because Cygwin needs it too.
7585         
7586         * profile.c:
7587         * profile.c (Fstart_profiling):
7588         * profile.c (Fstop_profiling):
7589         Make sure we don't compile if no setitimer().  Use qxe_setitimer()
7590         instead of just plain setitimer().
7591         
7592         * signal.c:
7593         * signal.c (set_one_shot_timer):
7594         * signal.c (alarm):
7595         Define qxe_setitimer() as an encapsulation around setitimer() --
7596         call setitimer() directly unless Cygwin or MS Win, in which case
7597         we use our simulated version in win32.c.
7598         
7599         * systime.h:
7600         * systime.h (struct itimerval):
7601         * systime.h (ITIMER_REAL):
7602         Prototype mswindows_setitimer() and qxe_setitimer().  Long
7603         comment about "qxe" and the policy regarding encapsulation.
7604
7605         * win32.c:
7606         * win32.c (setitimer_helper_proc):
7607         * win32.c (setitimer_helper_period):
7608         * win32.c (setitimer_helper):
7609         * win32.c (mswindows_setitimer):
7610         Move setitimer() emulation here, so Cygwin can use it.
7611         Rename a couple of functions and variables to be longer and more
7612         descriptive.  In setitimer_helper_proc(), send the signal
7613         using either mswindows_raise() or (on Cygwin) kill().  If for
7614         some reason we are still getting lockups, we'll change the kill()
7615         to directly invoke the signal handlers.
7616
7617         ------ windows shell fixes ------
7618         
7619         * callproc.c:
7620         * ntproc.c:
7621         Comments about how these two files must die.
7622
7623         * callproc.c (init_callproc):
7624         On MS Windows, init shell-file-name from SHELL, then COMSPEC,
7625         not just COMSPEC. (more correct and closer to FSF.) Don't
7626         force a value for SHELL into the environment. (Comments added
7627         to explain why not.)
7628         
7629         * nt.c (init_user_info):
7630         Don't shove a fabricated SHELL into the environment.  See above.
7631
7632 2001-06-01  Ben Wing  <ben@xemacs.org>
7633
7634         * Makefile.in.in (ldflags):
7635         eliminate that pesky "defaulting to 00401000" warning.
7636         * nt.h:
7637         eliminate warnings.
7638
7639 2001-06-15  Golubev I. N.  <gin@mo.msk.ru>
7640
7641         * s/sco5.h (FORCE_ALLOCATE_PTY_THE_OLD_FASHIONED_WAY): #define.
7642         * process-unix.c (allocate_pty): #ifndef "modern" pty allocation.
7643
7644 2001-04-24  Jerry James <james@xemacs.org>
7645
7646         * faces.h: pass parameters to Fadd_spec_to_specifier in the
7647         correct order.
7648
7649 2001-06-01  Ben Wing  <ben@xemacs.org>
7650
7651         * event-msw.c (debug_mswin_messages):
7652         conditionalize the messages that were causing compile errors.
7653         (if only macros could generate #ifdef statements ...)
7654
7655 2001-07-28  Stephen J. Turnbull  <stephen@xemacs.org>
7656
7657         * XEmacs 21.4.4 "Artificial Intelligence" is released.
7658
7659 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
7660
7661         * event-msw.c (mswindows_wnd_proc): Add GC debugging assert.
7662
7663 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
7664
7665         * config.h.in (IPV6_CANONICALIZE): New #define for --with-ipv6-lookup.
7666         * process-unix.c (unix_canonicalize_host_name):
7667         sysdep.c (init_system_name):
7668         Use it to conditionally support IPv6 canonicalization.
7669
7670 2001-05-31  Paul Stodghill  <stodghil@cs.cornell.edu>
7671
7672         * event-msw.c:
7673         Cygwin does not define WM_IME_xxx. Modify the #if's accordingly.
7674
7675 2001-05-19  Paul Krause  <paulkrause1@mediaone.net>
7676
7677         * scrollbar-msw.c: Fixes a crash that occurs on Windows when an
7678         attempt is made to scroll when no scroll bar is available.
7679
7680 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
7681
7682         * input-method-motif.c (XIM_delete_frame): New callback.
7683         (XIM_init_frame): Register it.  (Reapplied by SJT, it somehow
7684         got deleted from 21.4.3.)
7685
7686 2001-06-01  Ben Wing  <ben@xemacs.org>
7687
7688         * nt.c (mswindows_utime):
7689         * nt.c (close_file_data):
7690         fix off-by-one-indirection error.
7691
7692 2001-05-29  Adrian Aichner  <adrian@xemacs.org>
7693
7694         * fileio.c: Include nt.h.  Remove lisp_string_set_file_times()
7695         because set_file_times() now takes Lisp_Object path, instead of
7696         char*.
7697         * nt.c: Include buffer.h.
7698         * nt.c (convert_from_time_t): New.
7699         * nt.c (mswindows_utime): New.  Use utime, since SetFileTime does
7700         not set mtime correctly.
7701         * nt.h: Declare mswindows_utime().
7702         * sysdep.c (set_file_times): set_file_times() now takes Lisp_Object
7703         path, instead of char*.
7704         * systime.h: Include <sys/utime.h> on WIN32_NATIVE.
7705
7706 2001-05-30  Ben Wing  <ben@xemacs.org>
7707
7708         For 21.4:
7709
7710         (Stephen, just take all event-msw.c patches.  This includes
7711         the "iconify" fix below.)
7712
7713         * event-msw.c:
7714         * event-msw.c (mswindows_dequeue_dispatch_event):
7715         * event-msw.c (assert):
7716         * event-msw.c (emacs_mswindows_quit_p):
7717         * event-msw.c (debug_mswin_messages):
7718         * event-msw.c (debug_output_mswin_message):
7719         * event-msw.c (vars_of_event_mswindows):
7720         Fix yet more problems with C-g handling.
7721         Implement debug-mswindows-events.
7722         
7723 2001-05-24  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7724
7725         * event-msw.c (WM_DROPFILES): Use correct type for OLE characters.
7726         
7727 2001-05-23  Ben Wing  <ben@xemacs.org>
7728
7729         * event-msw.c (winsock_writer):
7730         * event-msw.c (winsock_closer):
7731         prior kludgy code was clobbering the buffer, thinking it was
7732         "unused" space to store an unneeded return value; instead, use
7733         the variable we've already got staring us in the face.
7734
7735 2001-05-17  Andy Piper  <andy@xemacs.org>
7736
7737         * sysfile.h: don't assume that file attributes are boolean
7738
7739 2001-05-23  Ben Wing  <ben@xemacs.org>
7740
7741         * device-msw.c (msprinter_init_device):
7742         signal an error rather than crash with an unavailable network
7743         printer (from Mike Alexander).
7744         
7745         * event-msw.c:
7746         * event-msw.c (struct winsock_stream):
7747         * event-msw.c (winsock_writer):
7748         * event-msw.c (winsock_closer):
7749         * event-msw.c (make_winsock_stream_1):
7750         cleanup headers.  fix (hopefully) an error with data corruption
7751         when sending to a network connection.
7752
7753         * fileio.c (Fexpand_file_name): Fix evil code that attempts
7754         to handle the ~user prefix by (a) always assuming we're referencing
7755         ourselves and not even verifying the user -- hence any file with
7756         a tilde as its first char is invalid! (b) if there wasn't a slash
7757         following the filename, the pointer was set *past* the end of
7758         file and we started reading from uninitialized memory.  Now we
7759         simply treat these as files, always.
7760
7761         * buffer.c (common_init_complex_vars_of_buffer): comment change.
7762         
7763 2001-05-19  Ben Wing  <ben@xemacs.org>
7764
7765         * eval.c: doc comment about gcpro'ing in record_unwind_protect.
7766
7767         * process-nt.c:
7768         * process-nt.c (vars_of_process_nt):
7769         remove unused mswindows-quote-process-args.  rec for 21.4.
7770         
7771 2001-05-12  Ben Wing  <ben@xemacs.org>
7772
7773         * event-msw.c (mswindows_dde_callback):
7774         * event-msw.c (mswindows_wnd_proc):
7775         eliminate cygwin warnings.
7776
7777 2001-05-06  Ben Wing  <ben@xemacs.org>
7778
7779         * console-msw.h:
7780         * device-msw.c:
7781         * device-msw.c (print_dialog_worker):
7782         * device-msw.c (mswindows_handle_print_dialog_box):
7783         * device-msw.c (syms_of_device_mswindows):
7784         * dialog-msw.c (mswindows_make_dialog_box_internal):
7785         * general-slots.h:
7786         implement printing the selection when it's selected.
7787
7788 2001-05-20  Drazen Kacar  <dave@arsdigita.com>
7789
7790         * glyphs-gtk.c (gtk_resource_instantiate): C++ comment -> #if 0
7791
7792 2001-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
7793
7794         * lisp.h (EMACS_INT_MAX): This should be one bit less since
7795         EMACS_INT is signed.
7796
7797 2001-04-15  Michael Lausch  <mla@1012surf.net>
7798
7799         * scrollbar-gtk.c (gtk_create_scrollbar_instance): Call
7800         gtk_widget_request_size() to give scrollbar >0 width for
7801         GTK >1.2.8.
7802
7803 2001-05-30  William M. Perry  <wmperry@gnu.org>
7804
7805         * event-gtk.c: Check for buttons as modifier keys.
7806
7807 2001-05-25  Craig Lanning  <CraigL@Knology.net>
7808
7809         * s\mingw32.h:
7810         Properly find MinGW's <process.h> inside Cygwin's restructured
7811         include directories.  Don't try to include <cygwin/version.h>
7812         since we are dropping support for MinGW in versions of Cygwin
7813         earlier than b21.
7814         * nt.c:
7815         Drop support for MinGW in versions of Cygwin before b21.
7816         * sysdep.c:
7817         Properly find MinGW's <process.h> inside Cygwin's restructured
7818         include directories.
7819         * syswindows.h:
7820         Drop support for MinGW in versions of Cygwin before b21.
7821         * unexcw.c:
7822         Even though a.out.h is no longer detected by configure, allow
7823         MinGW to use it until we figure out how to do the job with Win32.
7824
7825 2001-07-11  Matt Tucker  <tuck@whistlingfish.net>
7826
7827         * syntax.c (find_start_of_comment):
7828         Fix `unbalanced parentheses' bug when dealing with mixed comment
7829         styles in c++/java/etc. mode
7830
7831 2001-05-29  Mike Alexander  <mta@arbortext.com>
7832
7833         * console-msw.h (FRAME_MSPRINTER_CHARHEIGHT): Unswap
7834         FRAME_MSPRINTER_CHARWIDTH and FRAME_MSPRINTER_CHARHEIGHT
7835
7836 2001-05-17  Andrew Begel  <abegel@eecs.berkeley.edu>
7837
7838         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Add needed cast.
7839
7840 2001-03-31  Mike Sperber <mike@xemacs.org>
7841
7842         * search.c (Freplace_match): Support FSF-style specification of
7843         match subexpression when applied to a buffer.
7844
7845 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
7846
7847         * event-stream.c (is_scrollbar_event): add missing semicolon
7848
7849 2001-05-22  Isaac Hollander  <ysh@mindspring.com>
7850
7851         * Makefile.in.in: Use TAR macro instead of hardcoding
7852           tar.  Allows use of GNU tar instead of system tar
7853
7854 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
7855
7856         * event-stream.c (is_scrollbar_event): add missing semicolon
7857
7858 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
7859
7860         * XEmacs 21.4.3 "Academic Rigor" is released.
7861
7862 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
7863
7864         * regex.c: Define DECLARE_NOTHING when "lisp.h" is not included.
7865
7866 2001-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
7867
7868         * buffer.c (Vcase_fold_search): Remove obsolete
7869           comment about non ASCII case-fold-search.  This
7870           bug has been fixed by case-table changes.
7871
7872 2001-05-11  Stephen J. Turnbull  <stephen@xemacs.org>
7873
7874         * event-msw.c: Restore include of events-mod.h.
7875
7876 2001-04-22   zhaoway  <zw@debian.org>
7877
7878         * event-stream.c (is_scrollbar_event): Noop returning 0 if
7879         !HAVE_SCROLLBARS.
7880
7881 2001-05-10  Stephen J. Turnbull  <stephen@xemacs.org>
7882
7883         * XEmacs 21.4.2 "Developer-Friendly Unix APIs" is released.
7884
7885 2001-05-08  Yoshiaki Kasahara  <kasahara@nc.kyushu-u.ac.jp>
7886
7887         * mule-charset.c (Fmake_charset): Add missing else.
7888
7889 2001-04-23  Ben Wing  <ben@xemacs.org>
7890
7891         * event-msw.c (FAKE_MOD_QUIT):
7892         * event-msw.c (mswindows_dequeue_dispatch_event):
7893         * event-msw.c (mswindows_wnd_proc):
7894         * event-msw.c (emacs_mswindows_quit_p):
7895         Get critical quit working.
7896
7897 2001-05-05  Ben Wing  <ben@xemacs.org>
7898
7899         * console-msw.h:
7900         * device-msw.c:
7901         * device-msw.c (mswindows_get_default_margin):
7902         * frame-msw.c (mswindows_size_frame_internal):
7903         * frame-msw.c (msprinter_init_frame_1):
7904         * frame-msw.c (vars_of_frame_mswindows):
7905         Change top/bottom margin defaults to 0.5 inches.
7906
7907 2001-05-01  Martin Buchholz  <martin@xemacs.org>
7908
7909         Fix link error with gcc 3.0 on Linux.
7910         * terminfo.c (UP): Remove.
7911         * terminfo.c (BC): Remove.
7912         * terminfo.c (PC): Remove.
7913         They weren't used, and in any case, these symbols should be
7914         defined in the *library*.
7915
7916 2001-05-03  Martin Buchholz  <martin@xemacs.org>
7917
7918         * s/aix4.h: Fix crash with xlc -O3.
7919         Improve comment explaining how -O3 works.
7920
7921 2001-04-15  Ben Wing  <ben@xemacs.org>
7922
7923         * event-stream.c:
7924         * event-stream.c (Fnext_event):
7925         * event-stream.c (is_scrollbar_event):
7926         * event-stream.c (execute_command_event):
7927         Better fix for Yoshiki's `C-x @ h <scrollbar-drag> x causes a
7928         crash' problem.  His fix introduces other problems.  We filter
7929         out scrollbar events specifically, making them somewhat invisible
7930         to command-building, and not appearing in `this-command-keys'.
7931         More work is still needed (see comments in event-stream.c), but
7932         this fixes all the major problems.
7933
7934 2001-04-20  Ben Wing  <ben@xemacs.org>
7935
7936         * .cvsignore: Added stuff for Windows.
7937
7938 2001-04-28  Ben Wing  <ben@xemacs.org>
7939
7940         * buffer.c (Ferase_buffer):
7941         * editfns.c (buffer_insert1):
7942         * editfns.c (Finsert_before_markers):
7943         * editfns.c (Finsert_string):
7944         * editfns.c (Finsert_char):
7945         * editfns.c (Fdelete_region):
7946         * editfns.c (Fwiden):
7947         * editfns.c (Fnarrow_to_region):
7948         remove bogus lines setting zmacs_region_stays to 0.
7949         
7950 2001-04-15  Gunnar Evermann  <ge204@eng.cam.ac.uk>
7951
7952         * process-unix.c (unix_open_network_stream): If connect() fails
7953         invalidate file descriptor after closing it.
7954
7955 2001-03-08  Mike Alexander  <mta@arbortext.com>
7956
7957         * event-msw.c (mswindows_need_event_in_modal_loop):
7958         Don't dispatch a message if we didn't get one.
7959         (mswindows_need_event):
7960         Terminate the correct process when one exits instead of the first
7961         one on Vprocess_list and look for process termination when in
7962         mswindows_protect_modal_loop.
7963
7964 2001-04-19  Stephen J. Turnbull  <stephen@xemacs.org>
7965
7966         * XEmacs 21.4.1 "Copyleft" is released.
7967
7968 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
7969
7970         * input-method-motif.c (XIM_delete_frame): New callback.
7971         (XIM_init_frame): Register it.
7972
7973 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
7974
7975         * XEmacs 21.4.0 "Solid Vapor" is released.
7976
7977 2001-04-15  Ben Wing  <ben@xemacs.org>
7978
7979         * cmdloop.c (call_command_loop):
7980         Fix braino in bit-rotting code.
7981         
7982 2001-04-07  Hrvoje Niksic  <hniksic@arsdigita.com>
7983
7984         * extents.c (Fset_extent_endpoints): Force creation of extent info
7985         in buffer_or_string.
7986
7987         * extents.c (process_extents_for_insertion_mapper): Correctly
7988         check for open-open zero-length extents.
7989
7990 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
7991
7992         * lisp.h: New typedefs Memory_count, Element_count.
7993         * regex.c:
7994         * regex.h:
7995         Sign-compare warning elimination: several unsigned -> signed.
7996         Based on work by Ben Wing <ben@xemacs.org>.
7997
7998 2001-04-14  Stephen J. Turnbull  <stephen@xemacs.org>
7999
8000         * XEmacs 21.2.47 "Zephir" is released.
8001
8002 2001-04-02  Jan Vroonhof  <jan@xemacs.org>
8003
8004         * redisplay.c (add_bufbyte_string_runes): Update data->bytepos
8005
8006 2001-04-03  Mike Sperber <mike@xemacs.org>
8007
8008         * search.c: Revert previous patch due because of release.
8009
8010 2001-03-30  Ben Wing  <ben@xemacs.org>
8011
8012         * s\cygwin32.h:
8013         Add missing killpg prototype.
8014
8015         * elhash.c:
8016         Add a comment about fixing problems when a new entry is added
8017         while mapping.
8018
8019         * frame-msw.c (mswindows_init_frame_1):
8020         Fix compile warnings.
8021
8022         * menubar.c (vars_of_menubar):
8023         Provide `menu-accelerator-support' to indicate that we properly
8024         support %_ in menu specifications, so that package code can
8025         conditionalize on this (and remove %_ from menu specifications
8026         on older versions).
8027
8028         * event-msw.c:
8029         * scrollbar-msw.c:
8030         * scrollbar-msw.c (can_scroll):
8031         * scrollbar-msw.h:
8032         Fix handling of mouse wheel under Windows to follow standards --
8033         now scrolls window under pointer, not selected window.
8034
8035 2001-03-31  Mike Sperber <mike@xemacs.org>
8036
8037         * search.c (Freplace_match): Support FSF-style specification of
8038         match subexpression when applied to a buffer.
8039
8040 2001-03-15  Martin Buchholz  <martin@xemacs.org>
8041
8042         * keymap.c (Fmap_keymap): map-keymap explicitly allows a mapping
8043         function to modify KEYMAP, so map over a copy of the hash table.
8044
8045 2001-03-21  Martin Buchholz <martin@xemacs.org>
8046
8047         * XEmacs 21.2.46 "Urania" is released.
8048
8049 2001-03-20  Dan Holmsand  <dan@eyebee.com>
8050
8051         * realpath.c (xrealpath): Make file-truename work with symlinks to
8052         /cygdrive paths on cygwin. Always lowercase drive-letters on
8053         native windows.
8054         (cygwin_readlink): Don't try to find canonical filename unless
8055         file exists.
8056
8057 2001-03-15  Stephen J. Turnbull  <stephen@xemacs.org>
8058
8059         * ChangeLog: Log GTK merge.
8060
8061         * dumper.c:
8062         * select-x.c:
8063         * specifier.c:
8064         * symeval.h:
8065         Revert gratuitous whitespace changes from GTK merge.
8066
8067         * emacs.c: Document end of complex #ifdef @ l. 1495.
8068
8069
8070 2001-03-12  Andy Piper  <andy@xemacs.org>
8071
8072         * mingw32.h: unfortunately cygnus changed mingw32 -> mingw so we
8073         have to do likewise.
8074
8075 2001-03-12  Andy Piper  <andy@xemacs.org>
8076
8077         * sysdep.c: we only support mingw now.
8078
8079 2001-03-09  Andy Piper  <andy@xemacs.org>
8080
8081         * unexcw.c (copy_executable_and_dump_data_section): making approx
8082         overrun a warning only.
8083
8084 2001-03-10  William M. Perry  <wmperry@aventail.com>
8085
8086         * faces.c (complex_vars_of_faces): Rewrote the font mucking to
8087         satisfy Stephen's identical-after-cpp plea.
8088
8089 2001-03-02  Ben Wing  <ben@xemacs.org>
8090
8091         * cmds.c:
8092         * cmds.c (Fforward_char):
8093         * syntax.c:
8094         * window.c:
8095
8096         Augment documentation of the most common motion commands to make
8097         note of the shifted-motion support.
8098         
8099 2001-03-02  Ben Wing  <ben@xemacs.org>
8100
8101         * nt.c (mswindows_fstat):
8102         * nt.c (mswindows_stat):
8103         * search.c (boyer_moore):
8104         Fix compile warnings under Windows.
8105         
8106         * sysdep.c (sys_readdir):
8107         Fix buggy filename-conversion code under Mule.
8108
8109 2001-03-09  William M. Perry  <wmperry@aventail.com>
8110
8111         * Makefile.in.in:
8112         * config.h.in:
8113         * console.c:
8114         * console.h:
8115         * device.c:
8116         * device.h:
8117         * dragdrop.c:
8118         * emacs.c:
8119         * event-stream.c:
8120         * events.c:
8121         * events.h:
8122         * faces.c:
8123         * frame.h:
8124         * general-slots.h:
8125         * glyphs.c:
8126         * gutter.c:
8127         * inline.c:
8128         * lisp.h:
8129         * lrecord.h:
8130         * make-src-depend:
8131         * redisplay-output.c:
8132         * redisplay.c:
8133         * symsinit.h:
8134         * sysfile.h:
8135         * toolbar.c:
8136         * window.c:
8137         The Great GTK Merge.
8138
8139         * ChangeLog.GTK:
8140         * console-gtk.c:
8141         * console-gtk.h:
8142         * device-gtk.c:
8143         * emacs-marshals.c:
8144         * emacs-widget-accessors.c:
8145         * event-gtk.c:
8146         * frame-gtk.c:
8147         * gccache-gtk.c:
8148         * gccache-gtk.h:
8149         * glade.c:
8150         * glyphs-gtk.c:
8151         * glyphs-gtk.h:
8152         * gtk-glue.c:
8153         * gtk-xemacs.c:
8154         * gtk-xemacs.h:
8155         * gui-gtk.c:
8156         * gui-gtk.h:
8157         * menubar-gtk.c:
8158         * native-gtk-toolbar.c:
8159         * objects-gtk.c:
8160         * objects-gtk.h:
8161         * redisplay-gtk.c:
8162         * scrollbar-gtk.c:
8163         * scrollbar-gtk.h:
8164         * select-gtk.c:
8165         * toolbar-gtk.c:
8166         * ui-byhand.c:
8167         * ui-gtk.c:
8168         * ui-gtk.h:
8169         The Great GTK Merge: new files.
8170
8171 2001-02-26  Ben Wing  <ben@xemacs.org>
8172
8173         Reapplied Lstream change.
8174
8175 2001-02-26  Ben Wing  <ben@xemacs.org>
8176
8177         Undid the last change, since it is more controversial than I
8178         thought.  It should be back in at some point soon.
8179         
8180 2001-02-25  Ben Wing  <ben@xemacs.org>
8181
8182         * buffer.c:
8183         * callproc.c (Fold_call_process_internal):
8184         * event-msw.c (ntpipe_slurp_reader):
8185         * event-msw.c (ntpipe_shove_writer):
8186         * event-msw.c (winsock_reader):
8187         * event-msw.c (winsock_writer):
8188         * file-coding.c:
8189         * file-coding.c (detect_eol_type):
8190         * file-coding.c (detect_coding_type):
8191         * file-coding.c (determine_real_coding_system):
8192         * file-coding.c (Fdetect_coding_region):
8193         * file-coding.c (decoding_reader):
8194         * file-coding.c (decoding_writer):
8195         * file-coding.c (mule_decode):
8196         * file-coding.c (Fdecode_coding_region):
8197         * file-coding.c (encoding_reader):
8198         * file-coding.c (encoding_writer):
8199         * file-coding.c (mule_encode):
8200         * file-coding.c (Fencode_coding_region):
8201         * file-coding.c (detect_coding_sjis):
8202         * file-coding.c (decode_coding_sjis):
8203         * file-coding.c (encode_coding_sjis):
8204         * file-coding.c (detect_coding_big5):
8205         * file-coding.c (decode_coding_big5):
8206         * file-coding.c (encode_coding_big5):
8207         * file-coding.c (detect_coding_ucs4):
8208         * file-coding.c (decode_coding_ucs4):
8209         * file-coding.c (encode_coding_ucs4):
8210         * file-coding.c (detect_coding_utf8):
8211         * file-coding.c (decode_coding_utf8):
8212         * file-coding.c (encode_coding_utf8):
8213         * file-coding.c (detect_coding_iso2022):
8214         * file-coding.c (decode_coding_iso2022):
8215         * file-coding.c (encode_coding_iso2022):
8216         * file-coding.c (decode_coding_no_conversion):
8217         * file-coding.c (encode_coding_no_conversion):
8218         * glyphs-x.c (write_lisp_string_to_temp_file):
8219         * gpmevent.c (tty_get_foreign_selection):
8220         * lisp.h:
8221         * lstream.c:
8222         * lstream.c (Lstream_flush_out):
8223         * lstream.c (Lstream_adding):
8224         * lstream.c (Lstream_write_1):
8225         * lstream.c (Lstream_write):
8226         * lstream.c (Lstream_raw_read):
8227         * lstream.c (Lstream_read_more):
8228         * lstream.c (Lstream_read):
8229         * lstream.c (Lstream_unread):
8230         * lstream.c (Lstream_fputc):
8231         * lstream.c (stdio_reader):
8232         * lstream.c (stdio_writer):
8233         * lstream.c (filedesc_reader):
8234         * lstream.c (filedesc_writer):
8235         * lstream.c (lisp_string_reader):
8236         * lstream.c (struct fixed_buffer_stream):
8237         * lstream.c (make_fixed_buffer_input_stream):
8238         * lstream.c (make_fixed_buffer_output_stream):
8239         * lstream.c (fixed_buffer_reader):
8240         * lstream.c (fixed_buffer_writer):
8241         * lstream.c (struct resizing_buffer_stream):
8242         * lstream.c (resizing_buffer_writer):
8243         * lstream.c (dynarr_writer):
8244         * lstream.c (lisp_buffer_reader):
8245         * lstream.c (lisp_buffer_writer):
8246         * lstream.h:
8247         * lstream.h (lstream_implementation):
8248         * lstream.h (struct lstream):
8249         * md5.c (Fmd5):
8250         * process-nt.c (nt_send_process):
8251         * process-unix.c (unix_send_process):
8252         
8253         Correct Lstream lossage due to mixing of signed and unsigned
8254         quantities.  All Lstream uses of size_t and ssize_t are now a
8255         single signed data type Lstream_data_count.  This fixes problems
8256         under Windows with sending large quantities of data to a process,
8257         and may well fix other subtle bugs.
8258
8259 2001-02-23  Martin Buchholz <martin@xemacs.org>
8260
8261         * XEmacs 21.2.45 "Thelxepeia" is released.
8262
8263 2001-02-21  Martin Buchholz  <martin@xemacs.org>
8264
8265         * lisp-union.h (XSETINT): 
8266         (XSETCHAR):
8267         (XSETOBJ): 
8268         Reverse previous change of 2001-02-06.
8269
8270 2001-02-20  Matt Tucker  <tuck@whistlingfish.net>
8271
8272         Fix `VALID_BYTIND_P' crashes in regex.c when using narrowed
8273         buffers.
8274         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
8275         * syntax.h (SYNTAX_CACHE_OBJECT_BYTE_TO_CHAR):
8276         Add `BI_BUF_BEGV' to bytepos before calculating bufpos.
8277         * regex.c (POS_AS_IN_BUFFER): removed
8278         * regex.c (re_search_2):
8279         * regex.c (re_match_2):
8280         Don't use an offset of 1 when calculating buffer positions, since
8281         `BI_BUF_BEGV' does it already.
8282
8283 2001-02-18  Wim Dumon  <wim@easics.be>
8284
8285         * insdel.c (prepare_to_modify_buffer): Also check for
8286         supersession when clash-detection is enabled. 
8287
8288 2001-02-17  Matt Tucker  <tuck@whistlingfish.net>
8289
8290         * regex.c (re_match_2_internal):
8291         Convert temp characters from 'const unsigned char' to 're_char'.
8292         Fix crashing bug with extended characters under mule.
8293         * syntax.c (Qsyntax_table): Moved from vars_of_syntax to
8294         syms_of_syntax. Use defsymbol to define. Fixes hanging bug with
8295         font-lock, pdump, and new syntax-table code.
8296         * syntax.c (find_start_of_comment):
8297         (find_end_of_comment):
8298         (forward-comment):
8299         Fix crashing bugs involving moving beyond end of buffer.
8300         * syntax.c (find_start_of_comment):
8301         Fixed logic to allow proper detection of cases where the same
8302         character is used to end both a two-char comment start and a
8303         two-char comment end sequence. Fixes `(forward-comment -1)'.
8304         * syntax.c (find_start_of_comment):
8305         Return position just past last comment-end character for all cases
8306         (previously was only done for two-char comment-end sequences).
8307         * syntax.c (forward-comment):
8308         Take value returned from `find_end_of_comment', rather than
8309         incrementing it.
8310         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
8311         Properly deal with BUFFERP (syntax_cache.object)
8312
8313 2001-02-17  Martin Buchholz  <martin@xemacs.org>
8314
8315         * alloc.c (Fgarbage_collect): 
8316         * alloc.c (make_bit_vector_from_byte_vector):
8317         -Wsign-compare-correctness.
8318
8319 2001-02-16  Martin Buchholz  <martin@xemacs.org>
8320
8321         * lisp-union.h (XSETINT): Eliminate unnecessary temp var.
8322         (XSETCHAR): Likewise.
8323         (XSETOBJ): Likewise.
8324
8325 2001-02-15  Martin Buchholz  <martin@xemacs.org>
8326
8327         * mule-canna.c (canna-func-delete_previous): 
8328         Rename to canna-func-delete-previous.
8329
8330 2001-02-14  Martin Buchholz  <martin@xemacs.org>
8331
8332         * mule-ccl.c (ccl_driver): Warning suppression.  Use countof.
8333
8334 2001-02-13  Matt Tucker  <tuck@whistlingfish.net>
8335
8336         * font-lock.c (find_context): Fix C++ compile errors introduced by
8337         recent patch
8338
8339 2001-02-13  Martin Buchholz  <martin@xemacs.org>
8340
8341         * s/aix4.h: Later versions of IBM C compiler need a bug workaround
8342         pragma, but earlier ones barf on the same pragma.
8343
8344 2001-02-06  Mike Sperber <mike@xemacs.org>
8345
8346         * emacs.c (complex_vars_of_emacs): Add `mule-lisp-directory' and
8347         `configure-mule-lisp-directory'.
8348
8349 2001-02-12  Martin Buchholz  <martin@xemacs.org>
8350
8351         Make sure dump-id.c is compiled in the same way as other .c's.
8352         Fixes pdump compilation failure with HP's cc, which defaults to K&R.
8353         * dump-id.h: Remove.
8354         * emacs.c: Move dump-id.h into dumper.h.
8355         * dumper.h: Move dump-id.h into dumper.h.
8356         * Makefile.in.in:
8357         Use standard .c.o rule for building dump-id.o.
8358         Remove preprocessor flags from link command.
8359         Add dump-id.o to ${otherobjs} if PDUMP.
8360
8361 2001-02-07  Matt Tucker  <tuck@whistlingfish.net>
8362
8363         Port FSF 20.7 syntax table improvements.
8364         * syntax.c.
8365         * syntax.h.
8366
8367         Fixups for new syntax table stuff.
8368         * dired.c: Include syntax.c.
8369         (Fdirectory_files): Initialize regex_match_object and
8370         regex_emacs_buffer.
8371         * extents.h: EXFUN Fnext_extent_change, Fprevious_extent_change,
8372         and Fget_char_property.
8373
8374         Use ported FSF 20.7 syntax table improvements.
8375         * font-lock.c.
8376         * regex.c.
8377         * search.c.
8378         
8379 2001-02-09  Martin Buchholz  <martin@xemacs.org>
8380
8381         * regex.c (Boolean): Renamed to `re_bool', to avoid conflict with
8382         Unixware's enum boolean from sys/types.h.
8383
8384 2001-02-10  Martin Buchholz  <martin@xemacs.org>
8385
8386         Fix support for building with latest Purify.
8387         * Makefile.in.in (PURIFY_LIBS): Remove thread flags.
8388         (PURIFY_FLAGS): Likewise.
8389
8390 2001-02-09  Martin Buchholz  <martin@xemacs.org>
8391
8392         * fileio.c (lisp_string_set_file_times): New.
8393         * fileio.c (Fcopy_file): Use it.
8394         Fixes bug:
8395         (copy-file filename non-ascii-filename t t)
8396         ==> No such file or directory, non-ascii-filename
8397
8398 2001-02-10  Martin Buchholz  <martin@xemacs.org>
8399
8400         * glyphs-x.c (generate_cursor_fg_bg): Avoid a warning.
8401         USHRT_MAX seems clearer than ~0 anyways.
8402
8403 2001-02-09  Martin Buchholz  <martin@xemacs.org>
8404
8405         dumper improvements.  Inspired by Olivier.
8406         * dumper.c (pdump_max_align): New.
8407         * dumper.c (pdump_add_entry): Use pdump_max_align.
8408         * dumper.c (pdump_get_entry_list): Likewise.
8409         * dumper.c (pdump_scan_by_alignment): Likewise.
8410         Don't iterate through unnecessary alignments.
8411         * dumper.c (pdump_file_get): No need to align result of malloc().
8412         * dumper.c (pdump_mallocadr): Remove.  
8413         The result of malloc() is guaranteed to be maximally aligned.
8414         * dumper.c: s/elmt/elt/g;
8415         * dumper.c (pdump_object_table): Allocate dynamically, not statically.
8416         * dumper.c (pdump_alert_undump_object): Likewise.
8417         * dumper.c (pdump_align_table): 
8418         Don't support alignments > 64.
8419         Store ALIGNOF's, not shift counts, in table.
8420
8421 2001-02-09  Martin Buchholz  <martin@xemacs.org>
8422
8423         * s/mingw32.h (HAVE_STRUCT_UTIMBUF): Remove.
8424         * s/windowsnt.h (HAVE_STRUCT_UTIMBUF): Remove.
8425         * systime.h: Use HAVE_UTIME.
8426         * sysdep.c (struct utimbuf): Remove.
8427         * sysdep.c (set_file_times): Prefer utime() to utimes().
8428         * config.h.in (HAVE_UTIME): New.
8429         * config.h.in (HAVE_UTIME_H): Remove.
8430         * config.h.in (HAVE_STRUCT_UTIMBUF): Remove.
8431
8432 2001-02-09  Martin Buchholz  <martin@xemacs.org>
8433
8434         * s/aix4.h: Hide #pragmas inside #ifndef NOT_C_CODE.
8435
8436 2001-02-08  Martin Buchholz  <martin@xemacs.org>
8437
8438         * s/irix6-0.h: Use the standard system memmove, not bcopy.
8439
8440 2001-02-08  Martin Buchholz <martin@xemacs.org>
8441
8442         * XEmacs 21.2.44 "Thalia" is released.
8443
8444 2001-02-06  Martin Buchholz  <martin@xemacs.org>
8445
8446         Fixes crashes in kill-emacs on some systems.
8447         * process-unix.c (unix_kill_child_process):
8448         It's OK for kill() to fail with ESRCH.
8449
8450 2001-02-07  Martin Buchholz  <martin@xemacs.org>
8451
8452         Contortions to make .gdbinit tricks work on most systems.
8453         * alloc.c (dbg_inhibit_dbg_symbol_deletion): Keep debugger info.
8454         * alloc.c (dbg_valmask): Make non-const.
8455         * alloc.c (dbg_typemask): Make non-const.
8456         * alloc.c (dbg_USE_UNION_TYPE): Make non-const.
8457         * alloc.c (dbg_valbits): Make non-const.
8458         * alloc.c (dbg_gctypebits): Make non-const.
8459         * .gdbinit (decode_object): Make it work with AIX cc.
8460
8461 2001-02-06  Martin Buchholz  <martin@xemacs.org>
8462
8463         * elhash.c (make_general_lisp_hash_table):
8464         Use simpler and more efficient calloc to clear entries.
8465
8466 2001-02-07  Martin Buchholz  <martin@xemacs.org>
8467
8468         * window.c (window_scroll): Work around an AIX C compiler bug.
8469         Fixes 'scroll-up' does nothing problem with xlC.
8470
8471 2001-02-05  Martin Buchholz  <martin@xemacs.org>
8472
8473         * .gdbinit: Remove obsolete comment.
8474
8475 2001-01-31  Mike Alexander  <mta@arbortext.com>
8476
8477         * select.c (Fown_selection_internal): Set owned_p for device
8478         method correctly.
8479
8480 2001-02-01  Martin Buchholz  <martin@xemacs.org>
8481
8482         Port to g++ 2.97.
8483         "not" cannot be used as a macro name as it is an operator in C++
8484         * config.h.in: Stop #defining `not'.
8485         * chartab.c (check_category_char): not ==> not_p
8486         * chartab.h: Likewise.
8487         * regex.c (re_match_2_internal): Likewise.
8488
8489 2001-02-02  Martin Buchholz  <martin@xemacs.org>
8490
8491         * lisp-disunion.h: Fix up comments.
8492
8493 2001-01-31  Martin Buchholz  <martin@xemacs.org>
8494
8495         * keymap.c (define_key_check_and_coerce_keysym):
8496         (syms_of_keymap):
8497         Support mouse-6 and mouse-7 bindings in the obvious way.
8498
8499 2001-02-01  Martin Buchholz  <martin@xemacs.org>
8500
8501         * m/hp9000s300.h (UNEXEC): Check for HPUX, not !BSD.
8502
8503 2001-01-30  Martin Buchholz  <martin@xemacs.org>
8504
8505         Previous patch changing DEFVAR_INT to use EMACS_INT was incomplete.
8506         Previous patch missed DEFVAR_INT_MAGIC.
8507         Make sure future DEFVAR_foo use correct types.
8508         * symeval.h (DEFVAR_SYMVAL_FWD_FIXNUM): New.
8509         * (DEFVAR_SYMVAL_FWD_INT): Add type checking.
8510         * (DEFVAR_SYMVAL_FWD_OBJECT): Add type checking.
8511         * (DEFVAR_INT_MAGIC): Use DEFVAR_SYMVAL_FWD_FIXNUM.
8512         * (DEFVAR_INT): Likewise.
8513         * redisplay.c (vertical_clip): Should be of type Fixnum.
8514         * redisplay.c (horizontal_clip): Likewise.
8515         * lisp.h (dump_add_opaque_int): New.
8516         (dump_add_opaque_fixnum): New.
8517
8518 2001-01-29  Andy Piper  <andy@xemacs.org>
8519
8520         * glyphs-widget.c (check_valid_int_or_function): allow symbols
8521         since they can be eval'ed
8522
8523 2001-01-29  Martin Buchholz  <martin@xemacs.org>
8524
8525         * lisp.h (ALIGNOF): Make it work on non-gcc C++ compilers.
8526         Oops, XEmacs redefines `class'.  Use `typename' instead.
8527
8528 2001-01-28  Martin Buchholz  <martin@xemacs.org>
8529
8530         * dumper.c: Fix C++ compile errors.
8531
8532 2001-01-29  Martin Buchholz  <martin@xemacs.org>
8533
8534         * tparam.c: Use correct prototypes.
8535
8536 2001-01-28  Martin Buchholz  <martin@xemacs.org>
8537
8538         * sysproc.h: #include util.h for NetBSD's openpty.
8539
8540 2001-01-27  Martin Buchholz  <martin@xemacs.org>
8541
8542         More 64-bit correctness.
8543         The C value of a DEFVAR_INT should be of type EMACS_INT, not int.
8544         Use a typedef `fixnum' for the type used for DEFVAR_INT.
8545         Fix up comments.
8546         This finally finishes the 64-bit SGI port.
8547         Fixes things like (let ((gc-cons-threshold most-positive-fixnum)) ...).
8548         * symbols.c: Fix up comments and type casts.
8549         * symbols.c (do_symval_forwarding): s/int/Fixnum/g
8550         * symbols.c (store_symval_forwarding): s/int/Fixnum/g
8551         * symeval.h (Fixnum): New type.
8552         * symeval.h (symbol_value_type): Fix up comment.
8553
8554         * commands.h:
8555         * nt.c:
8556         * emacs.c:
8557         * data.c:
8558         * redisplay.c:
8559         * abbrev.c:
8560         * dired-msw.c:
8561         * event-Xt.c:
8562         * eldap.c:
8563         * window.c:
8564         * sound.c:
8565         * event-stream.c:
8566         * eval.c:
8567         * buffer.c:
8568         * mule-canna.c: A million DEFVAR_INTs here...
8569         * mule-canna.c (count_char): s/int */Fixnum */g in arglist.
8570         * extents.c:
8571         * cmdloop.c:
8572         * lisp.h:
8573         * select-x.c:
8574         * console-x.h:
8575         * event-msw.c:
8576         * mule-wnnfns.c:
8577         * hpplay.c:
8578         * ralloc.c:
8579         * alloc.c:
8580         * keymap.c:
8581         * profile.c:
8582         s/int/Fixnum/g in DEFVAR_INT declarations.
8583
8584 2001-01-26  Martin Buchholz  <martin@xemacs.org>
8585
8586         Port pdump to SGI alignment-sensitive environment.
8587         Lisp Object sizeof methods now return aligned sizes.  Rely on that.
8588         Eliminate is_lrecord since Lisp_Objects sizeof methods are now all
8589         properly aligned.
8590         Define and use aligned reading and writing macros.
8591         Use buffered stdio instead of posix i/o for faster dumping.
8592         Eliminate kludgy 256 byte space for header.
8593         Read and write from dump file using structs for alignment safety.
8594         * dumper.c (pdump_align_stream): New.
8595         * dumper.c (PDUMP_ALIGN_OUTPUT): New.
8596         * dumper.c (PDUMP_READ_ALIGNED): New.
8597         * dumper.c (PDUMP_WRITE_ALIGNED): New.
8598         * dumper.c (pdump_static_Lisp_Object): New struct.
8599         * dumper.c (pdump_static_pointer): New struct.
8600         * dumper.c (pdump_entry_list_element): Remove is_lrecord member.
8601         * dumper.c (pdump_add_entry): Remove is_lrecord parameter.
8602         * dumper.c (pdump_dump_data): Rely on sizeof method alignment.
8603         * dumper.c (pdump_allocate_offset): Rely on sizeof method alignment.
8604
8605         * dumper.c (pdump_backtrace):
8606         * dumper.c (pdump_get_indirect_count):
8607         * dumper.c (pdump_register_object):
8608         * dumper.c (pdump_register_struct):
8609         * dumper.c (pdump_reloc_one):
8610         * dumper.c (pdump_scan_by_alignment):
8611         * dumper.c (pdump_dump_from_root_struct_ptrs):
8612         * dumper.c (pdump_dump_opaques):
8613         * dumper.c (pdump_dump_rtables):
8614         * dumper.c (pdump_dump_from_root_objects):
8615         * dumper.c (pdump):
8616         * dumper.c (pdump_load_finish):
8617         Use aligned reading and writing.
8618
8619         * dumper.c (pdump_free): Make static.
8620         * dumper.c (pdump_hFile): Likewise.
8621         * dumper.c (pdump_hMap): Likewise.
8622
8623 2001-01-26  Martin Buchholz <martin@xemacs.org>
8624
8625         * XEmacs 21.2.43 "Terspichore" is released.
8626
8627 2001-01-25  Martin Buchholz  <martin@xemacs.org>
8628
8629         Type fiddling for window_config.saved_windows_count
8630         * window.c (struct window_config): 
8631         Make saved_windows_count member unsigned.
8632         * window.c (sizeof_window_config_for_n_windows): 
8633         Make parameter unsigned.
8634         * window.c (mark_window_config):
8635         * window.c (window_config_equal):
8636         * window.c (free_window_configuration):
8637         * window.c (Fset_window_configuration):
8638         * window.c (count_windows):
8639         * window.c (Fcurrent_window_configuration):
8640         * window.c (reinit_vars_of_window):
8641         Update all callers and users.
8642
8643 2001-01-25  Martin Buchholz  <martin@xemacs.org>
8644
8645         Alignment correctness for flexible arrays.
8646         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF):
8647         Make alignment-correct. Add interesting comments.
8648         * alloc.c (size_vector):
8649         * alloc.c (make_vector_internal):
8650         * alloc.c (make_bit_vector_internal):
8651         * alloc.c (sweep_bit_vectors_1):
8652         * fns.c (size_bit_vector):
8653         Update all callers of FLEXIBLE_ARRAY_STRUCT_SIZEOF to add new arg.
8654         * window.c (sizeof_window_config_for_n_windows): 
8655         Use FLEXIBLE_ARRAY_STRUCT_SIZEOF.
8656
8657 2001-01-24  Martin Buchholz  <martin@xemacs.org>
8658
8659         * lread.c (read1): Rename `fexp', which is #defined in SGI's math.h
8660
8661 2001-01-23  Andy Piper  <andy@xemacs.org>
8662
8663         * select.c (Fown_selection_internal): pass owned_p
8664
8665         * select-msw.c (mswindows_own_selection): New Signature.
8666
8667         * console.h (struct console_methods): add owned_p to
8668         _own_selection.
8669
8670         * select-x.c (x_own_selection): pass owned_p
8671         (hack_motif_clipboard_selection): use owned_p
8672         (vars_of_select_x): new variable -
8673         x_selection_strict_motif_ownership.
8674
8675 2001-01-23  Martin Buchholz  <martin@xemacs.org>
8676
8677         * specifier.h (specifier_data_offset): Remove pointless parens.
8678         * glyphs.h (IMAGE_SPECIFIER_DATA): Likewise.
8679
8680 2001-01-24  Martin Buchholz  <martin@xemacs.org>
8681
8682         Make Lisp_Object sizeof methods be alignment-correct.
8683         pdump must restore objects to the same alignment as the C compiler
8684         assumes.  It really matters on SGIs.
8685         * lstream.c (aligned_sizeof_lstream): New.
8686         (sizeof_lstream): Use aligned_sizeof_lstream.
8687         (Lstream_new): Likewise.
8688         * opaque.c (aligned_sizeof_opaque): New.
8689         (sizeof_opaque): Use aligned_sizeof_opaque.
8690         (make_opaque): Likewise.
8691         * specifier.c (aligned_sizeof_specifier): New.
8692         (sizeof_specifier): Use aligned_sizeof_specifier.
8693         (make_specifier_internal): Likewise.
8694
8695 2001-01-23  Martin Buchholz  <martin@xemacs.org>
8696
8697         * lstream.h (struct lstream): Use max_align_t for trailing data.
8698         * specifier.h (struct Lisp_Specifier): Likewise.
8699
8700 2001-01-22  Martin Buchholz  <martin@xemacs.org>
8701
8702         * mule-ccl.c (CCL_Extension): Renamed from CCL_Extention.
8703         (CCL_SUCCESS): Kludge to prevent Sun cc compiler warnings.
8704         (CCL_SUSPEND): Likewise.
8705         (CCL_INVALID_CMD): Likewise.
8706         (CCL_CALL_FOR_MAP_INSTRUCTION): Likewise.
8707         (ccl_driver): Likewise.
8708         (CCL_WRITE_CHAR): Macro hygiene.
8709         (CCL_WRITE_STRING): Macro hygiene.
8710
8711 2001-01-22  Martin Buchholz  <martin@xemacs.org>
8712
8713         Port "portable" dumper to SunOS 4 and HP-UX.
8714         * s/aix4.h (AIX4): Move MAP_FAILED definition elsewhere.
8715         * emacs.c (main): PDUMP implies no RUN_TIME_REMAP.
8716         * dumper.c (pdump_file_get): Define MAP_FAILED if not already defined.
8717
8718 2001-01-22  Martin Buchholz  <martin@xemacs.org>
8719
8720         * lisp.h (ALIGNOF): A better definition for C++.
8721
8722 2001-01-20  Martin Buchholz  <martin@xemacs.org>
8723
8724         Macro hygiene.
8725         Fix printf warnings: int format, long int arg.
8726         * regex.c (DECLARE_DESTINATION): Use DECLARE_NOTHING.
8727         (PUSH_FAILURE_POINT): Use correct printf formats.
8728         (POP_FAILURE_POINT): Use correct printf formats.  
8729         Use do {...} while (0)
8730
8731 2001-01-20  Martin Buchholz <martin@xemacs.org>
8732
8733         * XEmacs 21.2.42 "Poseidon" is released.
8734
8735 2001-01-20  Martin Buchholz  <martin@xemacs.org>
8736
8737         * console-x.h: typo fix du jour.  Remove #if 0'ed code.
8738
8739 2001-01-19  Martin Buchholz  <martin@xemacs.org>
8740
8741         De-kludgify FIXED_TYPE free list frobbing.
8742         Fix crashes on 64-bit platforms introduced by my patch of 2001-01-13.
8743         * alloc.c (DECLARE_FIXED_TYPE_ALLOC): Use Lisp_Free.
8744         * alloc.c (ALLOCATE_FIXED_TYPE_1): Use new definitions.
8745         * alloc.c (Lisp_Free): New pseudo lisp object definition.
8746         * alloc.c (LRECORD_FREE_P): New.
8747         * alloc.c (MARK_LRECORD_AS_FREE): New.
8748         * alloc.c (MARK_LRECORD_AS_NOT_FREE): New.
8749         * alloc.c (STRUCT_FREE_P): Deleted.
8750         * alloc.c (MARK_STRUCT_AS_FREE): Deleted.
8751         * alloc.c (MARK_STRUCT_AS_NOT_FREE): Deleted.
8752         * alloc.c (STRING_CHARS_FREE_P): New.
8753         * alloc.c (MARK_STRING_CHARS_AS_FREE): New.
8754         * alloc.c (PUT_FIXED_TYPE_ON_FREE_LIST): Use new definitions.
8755         * alloc.c (FREE_FIXED_TYPE): Use new definitions.
8756         * alloc.c (STRING_CHARS_FREE_P): Use new definitions.
8757         * alloc.c (resize_string): Use new definitions.
8758         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Use new definitions.
8759         * alloc.c (verify_string_chars_integrity): Use new definitions.
8760         * alloc.c (compact_string_chars): Use new definitions.
8761         * alloc.c: Update monster comments.
8762         * lrecord.h (lrecord_type): Add some new lrecord types for
8763         alloc.c's use.
8764
8765 2001-01-18  Martin Buchholz  <martin@xemacs.org>
8766
8767         Improve alignment hackery.
8768         * lisp.h (ALIGNOF): Better definition for the non-gcc case.
8769         (max_align_t): Moved from opaque.h - general purpose.
8770         (ALIGN_PTR): Use size_t, not long.
8771         * opaque.h (max_align_t): Move to lisp.h.
8772
8773 2001-01-18  Norbert Koch  <nk@LF.net>
8774
8775         * gui.h: Fix and add prototypes to fix build problems.
8776
8777 2001-01-18  Martin Buchholz  <martin@xemacs.org>
8778
8779         temacs is going away, so `dump-temacs' is now a bad name.
8780         * .dbxrc (dump-temacs): Rename to `dmp'.
8781         * .gdbinit (dump-temacs): Rename to `dmp'.
8782
8783 2001-01-17  Andy Piper  <andy@xemacs.org>
8784
8785         * glyphs.c (print_image_instance): comment to make martin happy.
8786
8787         * glyphs-x.c (x_redisplay_widget): update faces after a frame
8788         change.
8789
8790         * glyphs-msw.c (mswindows_redisplay_widget): add code to cope with
8791         activation.
8792         (mswindows_tab_control_redisplay): warning suppression.
8793
8794         * glyphs-widget.c (widget_update): re-write to cope with updated
8795         items.
8796         (widget_instantiate): use new gui_item functions.
8797         (tab_control_update): deleted.
8798         (progress_gauge_update): deleted.
8799         (image_instantiator_progress_guage): take out update reference.
8800         (image_instantiator_tree_view): ditto.
8801         (image_instantiator_tab_control): ditto.
8802
8803         * gui.c (widget_gui_parse_item_keywords): new function. Do things
8804         Right the new way.
8805         (gui_item_add_keyval_pair): re-write to cope with descriptors and
8806         return whether anything was changed.
8807         (update_gui_item_keywords): as it sounds.
8808
8809         * gui.h: declare widget_gui_parse_item_keywords.
8810
8811         * fns.c (safe_copy_tree): new function taken from Fcopy_tree.
8812         (Fcopy_tree): use it. Stops infloop death in bogus instantiators.
8813
8814 2001-01-17  Martin Buchholz <martin@xemacs.org>
8815
8816         * XEmacs 21.2.41 "Polyhymnia" is released.
8817
8818 2001-01-16  Didier Verna  <didier@xemacs.org>
8819
8820         * glyphs.c (image_instantiate): don't use fallbacks when
8821         instantiating a face's background pixmap by inheritance.
8822
8823 2001-01-14  Mike Sperber <mike@xemacs.org>
8824
8825         * sysdep.c (start_of_data): PDUMP implies ORDINARY_LINK.
8826         Conditionalize accordingly.
8827
8828 2001-01-16  Martin Buchholz  <martin@xemacs.org>
8829
8830         * dumper.c (pdump_file_get): Fix a compiler warning.
8831
8832 2001-01-15  Martin Buchholz  <martin@xemacs.org>
8833
8834         Make Purify happy when pdumping.
8835         * symbols.c (Fmake_variable_buffer_local): Make Purify happy, by
8836         iniitalizing all bits of new lisp object memory.
8837         * symbols.c (Fmake_local_variable): Likewise.
8838         * symbols.c (Fdontusethis_set_symbol_value_handler): Likewise.
8839         * symbols.c (Fdefvaralias): Likewise.
8840         * mule-charset.c (vars_of_mule_charset): Likewise.
8841
8842 2001-01-15  Martin Buchholz  <martin@xemacs.org>
8843         Add the `-nd' flag when running pre-dump operations under the debugger.
8844         * .dbxrc (run-temacs): Add `-nd'.
8845         * .dbxrc (update-elc): Likewise.
8846         * .dbxrc (dump-temacs): Likewise.
8847         * .gdbinit (run-temacs): Likewise.
8848         * .gdbinit (check-temacs): Likewise.
8849         * .gdbinit (update-elc): Likewise.
8850         * .gdbinit (dump-temacs): Likewise.
8851
8852 2001-01-14  Martin Buchholz  <martin@xemacs.org>
8853
8854         Allow building 64-bit executables on AIX with GNU malloc, e.g.
8855         export OBJECT_MODE=64
8856         configure --pdump --use-union-type=no
8857         * m/ibmrs6000.h (DATA_START): Define for 64-bit world.
8858         * gmalloc.c (__default_morecore): Remove pre-ANSI cruft.
8859
8860         * miscplay.c (sndcnv8U_2mono):
8861         Avoid two uses of `++' in the same expression.
8862         Suppresses a GCC warning.
8863
8864 2001-01-13  Martin Buchholz  <martin@xemacs.org>
8865
8866         Make sure future compilers don't miscompile alloc.c.
8867         * alloc.c:
8868         (MARK_STRUCT_AS_FREE): Make aliasing-optimization-resistant.
8869         (MARK_STRUCT_AS_NOT_FREE): Make aliasing-optimization-resistant.
8870
8871 2001-01-12  Martin Buchholz  <martin@xemacs.org>
8872
8873         * dumper.c: A little post-pdump-rename comment fixup.
8874
8875 2001-01-09  Jerry James  <james@eecs.ku.edu>
8876
8877         * lisp-disunion.h: Change LISP_TO_CVOID arg to match its use.
8878
8879 2001-01-13  Martin Buchholz  <martin@xemacs.org>
8880
8881         * *.[ch]: Globally rename symbols using the following `pdump-rename'
8882         script:
8883         #!/bin/sh
8884         replace_symbol () {
8885           (findn texi$; findn [ch]$) | xargs g -lw "$1" | xargs global-replace 's/(?<!_)\b'$1'\b(?!_)/'$2'/g'
8886         }
8887
8888         replace_symbol pdump_wire_lists pdump_weak_object_chains
8889         replace_symbol pdump_wire_list dump_add_weak_object_chain
8890
8891         replace_symbol pdump_wires pdump_root_objects
8892         replace_symbol pdump_wire dump_add_root_object
8893
8894         replace_symbol pdump_dump_wired pdump_dump_from_root_objects
8895         replace_symbol pdump_dump_structs pdump_dump_from_root_struct_ptrs
8896
8897         replace_symbol dumpstructinfos pdump_root_struct_ptrs
8898         replace_symbol dumpstructinfo_dynarr pdump_root_struct_ptr_dynarr
8899         replace_symbol dumpstructinfo pdump_root_struct_ptr
8900         replace_symbol dumpstruct dump_add_root_struct_ptr
8901
8902         replace_symbol dumpopaque dump_add_opaque
8903         replace_symbol dumpopaqueinfo_dynarr pdump_opaque_dynarr
8904         replace_symbol dumpopaqueinfos pdump_opaques
8905         replace_symbol dumpopaqueinfo pdump_opaque
8906
8907         replace_symbol nb_structdump nb_root_struct_ptrs
8908         replace_symbol nb_opaquedump nb_opaques
8909
8910         replace_symbol align_table pdump_align_table
8911         replace_symbol dump_header pdump_header
8912
8913         replace_symbol DUMP_SIGNATURE_LEN PDUMP_SIGNATURE_LEN
8914         replace_symbol DUMP_SIGNATURE PDUMP_SIGNATURE
8915
8916
8917 2001-01-12  Martin Buchholz  <martin@xemacs.org>
8918
8919         * s/aix4.h: Keep the C for AIX compiler from overaggressively
8920         optimizing bytecount_to_charcount().
8921
8922 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
8923
8924         * config.h.in:
8925         (HAVE_DLFCN_H): Removed.
8926         * sysdll.c: Remove HAVE__DLOPEN, HAVE_DLFCN_H.
8927
8928 2001-01-06  Martin Buchholz  <martin@xemacs.org>
8929
8930         Portable dumper maintainability improvements.
8931         * alloc.c (staticpro):
8932         * alloc.c (staticpro_nodump):
8933         * alloc.c (garbage_collect_1):
8934         * alloc.c (reinit_alloc_once_early):
8935         * alloc.c (init_alloc_once_early):
8936         * alloc.c: Move dumper functions to alloc.c.
8937         * dumper.c (pdump_backtrace):
8938         * dumper.c (pdump_dump_structs):
8939         * dumper.c (pdump_dump_opaques):
8940         * dumper.c (pdump_dump_rtables):
8941         * dumper.c (pdump_dump_wired):
8942         * dumper.c (pdump):
8943         * dumper.c (pdump_load_check):
8944         * dumper.c (pdump_load_finish):
8945         * dumper.c (pdump_file_unmap):
8946         * dumper.c (pdump_file_get):
8947         * dumper.c (pdump_resource_free):
8948         * dumper.c (pdump_resource_get):
8949         * dumper.c (pdump_file_free):
8950         * dumper.c (pdump_file_try):
8951         * dumper.c (pdump_load):
8952         Remove fixed size limits on staticpro(), staticpro_nodump(),
8953         dumpopaque(), dumpstruct() by using Dynarrs instead of static C arrays.
8954         Remove custom code for dumping lrecord_implementations_table - use
8955         dumpopaque instead.
8956         Remove (most of the) custom code for dumping staticpros - dump it
8957         like any other dynarr.
8958
8959         * alloc.h: Removed.  No longer useful, since dumper now more self-contained.
8960         * dumper.c: Moved functions from alloc.c.
8961         * alloc.c (dumpstruct): Moved to dumper.c.
8962         * alloc.c (dumpopaque): Likewise.
8963         * alloc.c (pdump_wire): Likewise.
8964         * alloc.c (pdump_wire_list): Likewise.
8965
8966         * lisp.h (Dynarr_sizeof): New.
8967         * lisp.h (Dynarr_begin): New.  Very slightly C++oid.
8968         * lisp.h (Dynarr_end): New.  Very slightly C++oid.
8969         * lisp.h (Lisp_Object_ptr_dynarr): New.  For staticpros.
8970
8971         * lisp.h (dumpstruct): Define to nothing if not PDUMPing.
8972         * lisp.h (dumpopaque): ditto.
8973         * lisp.h (pdump_wire): ditto.
8974         * lisp.h (pdump_wire_list): ditto.
8975
8976 2001-01-09  Martin Buchholz  <martin@xemacs.org>
8977
8978         * make-src-depend (PrintPatternDeps):
8979         Use `sort' to make output independent of perl version.
8980
8981 2001-01-08  Martin Buchholz  <martin@xemacs.org>
8982
8983         Port to Netbsd 1.5.
8984         * unexelf.c: Remove (never used) bogus Netbsd-specific cruft.
8985         * s/netbsd.c: Use unexelf.o if __ELF__ is defined.
8986
8987 2001-01-03  Didier Verna  <didier@xemacs.org>
8988
8989         * event-stream.c (emacs_handle_focus_change_preliminary): ensure
8990         that `focus_frame' is alive before thinking of calling
8991         `redisplay_redraw_cursor' on it.
8992
8993 2001-01-08  Martin Buchholz <martin@xemacs.org>
8994
8995         * XEmacs 21.2.40 is released.
8996
8997 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
8998
8999         * regex.c: Replace PREFETCH with REGEX_PREFETCH.
9000
9001 2001-01-06  Martin Buchholz  <martin@xemacs.org>
9002
9003         * alloc.c (dbg_valmask): Make const.
9004         * alloc.c (dbg_typemask): Make const.
9005         * alloc.c (dbg_USE_UNION_TYPE): Make const.
9006         * alloc.c (dbg_valbits): Make const.
9007         * alloc.c (dbg_gctypebits): Make const.
9008
9009 2001-01-06  Stephen J. Turnbull  <stephen@xemacs.org>
9010
9011         * redisplay-x.c (x_bevel_area):
9012         redisplay.h (struct rune):
9013         Typo fixes in comments.
9014
9015 2001-01-05  Andy Piper  <andy@xemacs.org>
9016
9017         * glyphs-x.c (x_redisplay_widget): use size changed for offset
9018         adjustment.
9019
9020         * menubar.c (menubar_visible_p_changed): don't mark frame changed.
9021
9022 2001-01-05  Martin Buchholz  <martin@xemacs.org>
9023
9024         * alloc.c (pure-bytes-used): Remove unused mendacious variable.
9025
9026         * mule-ccl.c (stack_idx_of_map_multiple):
9027         Non const global data must not be initialized!
9028         Found by MIYASHITA Hisashi.
9029
9030 2001-01-02  Andy Piper  <andy@xemacs.org>
9031
9032         * frame.c (change_frame_size): make sure frame size is always
9033         marked as changed.
9034
9035         * glyphs.c (image_instance_layout): minor code reuse.
9036
9037         * window.c (Fcurrent_window_configuration): revert previous
9038         change.
9039
9040 2001-01-02  Martin Buchholz  <martin@xemacs.org>
9041
9042         * glyphs.h:
9043         * glyphs.c (make_image_instance_cache_hash_table): Use ANSI prototypes.
9044
9045 2000-12-31  Andy Piper  <andy@xemacs.org>
9046
9047         * glyphs-x.c (x_unmap_subwindow): return focus to enclosing frame
9048         when widget gets unmapped.
9049
9050         * event-Xt.c (emacs_Xt_handle_widget_losing_focus): new
9051         function. Make sure widgets losing focus don't just drop it.
9052         (handle_focus_event_1): record the widget with focus.
9053
9054 2000-12-31  Andy Piper  <andy@xemacs.org>
9055
9056         * window.c (allocate_window): use
9057         make_image_instance_cache_hash_table.
9058         (make_dummy_parent): ditto.
9059         (Fset_window_configuration): ditto.
9060
9061         * glyphs.h (INSTANTIATOR_TYPE): new macro.  declare new functions.
9062
9063         * glyphs.c (process_image_string_instantiator): use
9064         INSTANTIATOR_TYPE.
9065         (get_image_instantiator_governing_domain): ditto.
9066         (normalize_image_instantiator): ditto.
9067         (instantiate_image_instantiator): ditto.
9068         (make_image_instance_1): ditto.
9069         (image_instantiate): ditto. Key on glyph *and* instantiator type.
9070         (instantiator_eq_equal): new function for use with instance hash
9071         tables.
9072         (instantiator_eq_hash): ditto.
9073         (make_image_instance_cache_hash_table): create a suitable hash
9074         table for storing image instances.
9075
9076         * elhash.h (hash_table_weakness): new internal weakness type
9077         HASH_TABLE_KEY_CAR_VALUE_WEAK.
9078         declare new functions.
9079
9080         * elhash.c (finish_marking_weak_hash_tables): introduce yet
9081         another weakness type for glyphs.
9082         (make_standard_lisp_hash_table): new function split out from
9083         make_general_lisp_hash_table.
9084         (make_lisp_hash_table): call make_standard_lisp_hash_table.
9085         (hash_table_instantiate): ditto.
9086         (Fmake_hash_table): ditto.
9087
9088 2000-12-31  Martin Buchholz <martin@xemacs.org>
9089
9090         * XEmacs 21.2.39 is released.
9091
9092 2000-12-29  Andy Piper  <andy@xemacs.org>
9093
9094         * menubar.c (menubar_visible_p_changed): signal the frame changed.
9095
9096         * glyphs-x.c (x_redisplay_widget): Re-calculate widget offsets if
9097         the frame has changed so that we pick up geometry changes such as
9098         menubar visibility.
9099
9100 2000-12-28  Andy Piper  <andy@xemacs.org>
9101
9102         * lastfile.c (my_ebss): make a char array so we can pad the
9103         bss. Fixes cygwin unexec.
9104
9105         * unexcw.c: invert BROKEN_GDB to NO_DEBUG.
9106
9107 2000-12-26  Andy Piper  <andy@xemacs.org>
9108
9109         * event-Xt.c (emacs_Xt_force_event_pending): add some verbose
9110         comments and try and be more precise about a non-/SIGIO world.
9111         (emacs_Xt_event_pending_p): use XtAppPending under cygwin and non
9112         SIGIO.
9113
9114         * redisplay-output.c (redisplay_normalize_glyph_area): make sure
9115         we don't normalize to zero width or height.
9116
9117 2000-12-24  Andy Piper  <andy@xemacs.org>
9118
9119         * Makefile.in.in (ldflags): add -mwindows when appropriate.
9120
9121 2000-08-18  Golubev I. N.  <gin@mo.msk.ru>
9122
9123         * s/sco5.h: SCO 5 has pty support.
9124
9125 2000-07-20  Kazuyuki IENAGA <ienaga@xemacs.org>
9126
9127         * input-method-xlib.c: supports both XIM_XLIB and USE_XFONTSET.
9128         input-method-xlib.c contains whole contents of input-method-xfs.c,
9129         so we can use input-method-xlib.c's code for USE_XFONTSET
9130         using #ifdefs.
9131         * input-method-xfs.c: removed.
9132
9133 2000-12-20  Stephen Turnbull  <stephen@xemacs.org>
9134
9135         * file-coding.h (enum coding_category_type): reorder enumerators to
9136         make autodetection safer.  Make CODING_CATEGORY_LAST an enumerator
9137         (now one greater than largest real coding_category_type enumerator).
9138         * file-coding.c (coding_category_symbol, coding_category_by_priority,
9139         coding_category_system, fcd_descriptihon_1, decode_coding_category,
9140         Fcoding_category_list, Fset_coding_priority_list,
9141         Fcoding_priority_list, coding_system_from_mask, Fdetect_coding_region,
9142         vars_of_file_coding): adjust for change in CODING_CATEGORY_LAST.
9143
9144 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
9145
9146         * redisplay-output.c (redisplay_clear_top_of_window): Remove static.
9147         * redisplay-output.c (redisplay_output_window): Clear top of window
9148         when face is changed.
9149         * redisplay-x.c (x_redraw_exposed_window): Call
9150         redisplay_clear_top_of_window.
9151         * redisplay.h: Publish redisplay_clear_top_of_window.
9152
9153 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
9154
9155         * buffer.c (Fkill_buffer): Map over all devices.
9156         * window.c (window_loop): Remove UNSHOW_BUFFER code.
9157         (list_windows): New function.
9158         (list_all_windows): Ditto.
9159         (Freplace_buffer_in_windows): Use them.
9160
9161 2000-02-02   Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
9162
9163         * database.c (berkdb_subtype): Recognize new subtype `queue'.
9164         (Fopen_database): Use `db_create' instead of `db_open'.
9165         (syms_of_database): Initialize Qqueue.
9166
9167 2000-12-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
9168
9169         * buffer.c (common_init_complex_vars_of_buffer): Initialize
9170         buffer_local_face_property.
9171         * buffer.h (struct buffer): New member buffer_local_face_property.
9172         * window.c (Fset_window_buffer):  Mark window's face as changed
9173         when buffer has buffer local face.
9174         * window.h (MARK_WINDOW_FACES_CHANGED): New macro.
9175         * objects.c (color_after_change): Set buffer_local_face_property
9176         when locale of face specifier is buffer.
9177         * objects.c (font_after_change): Ditto.
9178         * objects.c (face_boolean_after_change): Ditto.
9179         * glyphs.c (image_after_change): Ditto.
9180
9181 2000-12-09  Dan Holmsand  <dan@eyebee.com>
9182
9183         * nt.c (mswindows_fstat): Report file permissions, volume serial
9184         number, etc. Code adapted from FSF Emacs 20.7.
9185
9186 2000-12-09  Dan Holmsand  <dan@eyebee.com>
9187
9188         * sysfile.h (lstat): Make lstat an alias for xemacs_stat instead
9189         of stat when we don't have symbolic links, to make sure
9190         mswindows_stat is called on mswindows.
9191
9192 2000-12-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
9193
9194         * alloca.c: Define malloc to xmalloc only when built with XEmacs.
9195
9196 2000-12-12  Martin Buchholz  <martin@xemacs.org>
9197
9198         * doprnt.c (emacs_doprnt_1): More printing fixes.
9199         Make printing of numbers compatible with libc and FSF Emacs.
9200         BUG was: (format "%6.3f" 1.2) ==>"1.200000"
9201         Use the system printf to do most of the hard work of formatting,
9202         instead of doprnt_1().
9203         Calculate memory to allocate for format string.
9204         Remove arbitrary limit on precision, e.g. (format "%.1000f" 3.14)
9205         (doprnt_1): Cleaner code and documentation.
9206
9207 2000-12-01  Jerry James  <james@eecs.ukans.edu>
9208
9209         * Makefile.in.in: Use the loop variable to install headers.
9210
9211 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
9212
9213         * window.c (Fsplit_window): Don't invalidate face cache.
9214
9215 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
9216
9217         * minibuf.c (Fall_completions): Undo the previous change
9218         which removed checking elements start with space.
9219
9220 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
9221
9222         * mule-canna.c: Didier suppression.
9223
9224 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
9225
9226         * mule-canna.c: rename static unsigned char buf[] to key_buffer
9227         (warning suppression).  Add English comment translations.
9228
9229 2000-12-05  Martin Buchholz  <martin@xemacs.org>
9230
9231         * unexelfsgi.c (unexec): Better test for mmap failure.
9232
9233 2000-12-05  Martin Buchholz <martin@xemacs.org>
9234
9235         * XEmacs 21.2.38 is released.
9236
9237 2000-12-05  Martin Buchholz  <martin@xemacs.org>
9238
9239         * redisplay.c (bar-cursor): Make a user variable.
9240
9241         * symsinit.h: Add init_postgresql_from_environment.
9242
9243 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
9244
9245         * regex.c: Convert to clean C.
9246
9247 2000-12-05  Dan Holmsand  <dan@eyebee.com>
9248
9249         * realpath.c:
9250         Don't #include sysfile.h. Revert to duplicating PATH_MAX
9251         initialization.
9252         (sys_readlink): renamed to system_readlink to avoid conflict with
9253         the other sys_readlink.
9254
9255 2000-12-04  Hiroaki Abe  <h-abe@pc.highway.ne.jp>
9256
9257         * dumper.c (pdump_file_get): Correct uses of pdump_fd.
9258
9259 2000-12-04  Stephen J. Turnbull  <stephen@xemacs.org>
9260
9261         * postgresql.c (init_postgresql_from_environment): new function.
9262         (vars_of_postgresql): Move code initializing Lisp variables out and
9263         into init_postgresql_from_environment.
9264         emacs.c (main_1): Call init_postgresql_from_environment if and only
9265         if running a dumped XEmacs.
9266
9267 2000-08-31  Dan Holmsand  <dan@eyebee.com>
9268
9269         * buffer.c: Make find-file-compare-truenames default to true on
9270         windows.
9271
9272         * realpath.c (win32_abs_start):
9273         (cygwin_readlink):
9274         (win32_readlink): New functions.
9275         (xrealpath): Return really real filenames on windows.
9276
9277         * fileio.c (Ffile_truename): Make file-truename work on windows.
9278
9279 2000-11-29  Didier Verna  <didier@xemacs.org>
9280
9281         * faces.c (MAYBE_UNFROB_BACKGROUND_PIXMAP): new macro.
9282         * faces.c (update_face_cachel_data): use it.
9283         * faces.c (add_face_cachel): use it. Complete background pixmap
9284         frobbing in face cache if `update_face_cachel_data' has not done so.
9285
9286 2000-11-29  Yoshiki Hayashi  <yoshiki@xemacs.org>
9287
9288         * search.c (string_match_1): Don't set last_thing_searched
9289         when search failed.
9290
9291 2000-11-27  Yoshiki Hayashi  <yoshiki@xemacs.org>
9292
9293         * buffer.c: Include casetab.h
9294         (common_init_complex_vars_of_buffer): Use new case-table object.
9295         * buffer.h: Include casetab.h
9296         * buffer.h (MAKE_TRT_TABLE): Use generic char-table.
9297         (DOWNCASE_TABLE_OF): Ditto.
9298         * bufslots.h: Remove char-tables and add case-table.
9299         * casetab.c: Include casetab.h
9300         (CASE_TABLE_P): Removed.
9301         (mark_case_table): New function.
9302         (allocate_case_table): New function.
9303         (Fcase_table_p): Use new case-table.
9304         (case_table_char): New function.
9305         (Fget_case_table): Ditto.
9306         (Fput_case_table): Ditto.
9307         (Fput_case_table_pair): Ditto.
9308         (Fcopy_case_table): Ditto.
9309         (Fcurrent_case_table): Return case-table.
9310         (Fstandard_case_table): Return case-table.
9311         (Fset_case_table): Fix doc-string.
9312         (set_case_table): Use case-table
9313         (syms_of_casetab): DEFSUBR new functions.
9314         (complex_vars_of_casetab): Set up standard case-table.
9315         * casetab.h: New file.
9316         * editfns.c: Include casetab.h
9317         (Fcompare_buffer_substrings): Use case-table.
9318         * inline.c: Include casetab.h
9319         * lisp.h: Remove bogus extern.
9320         * lrecord.h (lrecord_type): Add lrecord_type_case_table.
9321         * search.c: Include casetab.h
9322         (TRANSLATE_ASCII): Removed.
9323         (TRANSLATE): Unconditionally translate character.
9324         (looking_at_1): Use case-table.
9325         (string_match_1): Ditto.
9326         (fast_string_match): Ditto.
9327         (search_command): Ditto.
9328         (search_buffer): Separate boyer_moore.  Check whether
9329         boyer_moore is possible.
9330         (simple_search): New function.
9331         (boyer_moore): Separated from search_buffer. Translate char.
9332
9333 2000-11-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
9334
9335         * regex.c (RE_TR_ASCII): Removed.
9336         (RE_TRANSLATE): Unconditionally use TRT_TABLE.
9337         (PATFETCH): Call PATFETCH_RAW.
9338         (PATFETCH_RAW): Fetch Emchar.
9339         (PATUNFETCH): Decrement charptr.
9340         (GET_BUFFER_SPACE): Rename b to buf_end.
9341         (BUF_PUSH): Ditto.
9342         (BUF_PUSH_2): Ditto.
9343         (BUF_PUSH_3): Ditto.
9344         (EXTEND_BUFFER): Ditto.
9345         (SET_LIST_BIT): Ditto.
9346         (regex_compile): Ditto.  Translate non ASCII char.
9347         (compile_range): Ditto.
9348         (re_search_2): Ditto.
9349         (re_match_2_internal): Compare Emchar.
9350         (bcmp_translate): Ditto.
9351
9352 2000-11-29  Stephen J. Turnbull  <turnbull@xemacs.org>
9353
9354         * lisp.h (basic char/int typedefs):  comment improvement.
9355
9356 2000-11-24  Stephen J. Turnbull  <turnbull@xemacs.org>
9357
9358         * emacs.c (main_1):  unconditional pdump unstomping; don't save and
9359         unstomp inhibit_site_lisp.  Improve comments.
9360
9361 2000-11-22  Stephen J. Turnbull  <turnbull@xemacs.org>
9362
9363         * mule-charset.c (Fcharset_property):  improve type checking, comments.
9364
9365 2000-11-28  Andy Piper  <andy@xemacs.org>
9366
9367         * redisplay-output.c (redisplay_output_subwindow): make sure we do
9368         clipped display for windows in the gutter also.
9369         (redisplay_display_boxes_in_window_p): change semantics of return
9370         codes to be more intuitive.
9371
9372         * gutter.h: declare display_boxes_in_gutter_p.
9373
9374         * gutter.c (display_boxes_in_gutter_p): new function for
9375         redisplay.
9376
9377 2000-11-22  Andy Piper  <andy@xemacs.org>
9378
9379         * glyphs-x.c (image_instantiator_format_create_glyphs_x): change
9380         autodetect domain.
9381
9382 2000-11-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
9383
9384         * callproc.c (Fold_call_process_internal):
9385         * gpm.c (Freceive_gpm_event):
9386         (tty_get_foreign_selection): Might be just warning supression.
9387         * fileio.c (Fwrite_region_internal):
9388         (Fset_visited_file_modtime):
9389         * keymap.c (event_matches_key_specifier_p):
9390         Initialize GCPROed variable.
9391
9392         * menubar-x.c (command_builder_find_menu_accelerator):
9393         Initialize before use.
9394
9395 2000-11-23  Andy Piper  <andy@xemacs.org>
9396
9397         * unexcw.c (unexec): make the resulting executable executable.
9398
9399 2000-11-21  Martin Buchholz  <martin@xemacs.org>
9400
9401         * doc.c (get_doc_string):
9402         Use size_t, not int, for result of XSTRING_LENGTH.
9403
9404         * cmds.c (Fdelete_char):
9405         * cmds.c (Fpoint_at_eol):
9406         * cmds.c (Fself_insert_command):
9407         Use EMACS_INT, not int, for result of XINT.
9408         Someday, someone will want to insert more than 2**31 identical characters.
9409
9410         * cmds.c (Fdelete_char):
9411         * cmds.c (Fdelete_backward_char):
9412         * syntax.c (Fforward_word):
9413         * syntax.c (Fforward_comment):
9414         Make COUNT argument optional, for consistency with forward-char et al.
9415
9416 2000-11-22  Martin Buchholz  <martin@xemacs.org>
9417
9418         * lisp.h:
9419         * print.c (long_to_string):
9420         Return a useful value: the pointer at end of data written.
9421
9422         * doprnt.c:
9423         Use `static const char * const' for constant strings.
9424         (union printf_arg): Delete `i', `ui' members.
9425         (get_doprnt_args):
9426         (emacs_doprnt_1):
9427         Fix LP64 platform bug: (format "%d" most-positive-fixnum) ==> "-1"
9428         Do all printf-ing via the `l' specifier.
9429         Use EMACS_INT instead of int.
9430         Optimize.
9431
9432 2000-11-20  Didier Verna  <didier@xemacs.org>
9433
9434         * faces.c (update_face_cachel_data): don't frob the background
9435         pixmap when the window is being created. The face is needed but
9436         does not exist yet.
9437
9438 2000-11-20  Andy Piper  <andy@xemacs.org>
9439
9440         * unexcw.c (copy_executable_and_dump_data_section): Only do bss
9441         messing with a debug environment.
9442
9443 2000-11-20  Martin Buchholz  <martin@xemacs.org>
9444
9445         * emacs.c (__sti__iflPNGFile_c___): Pedantically correct prototype.
9446
9447 2000-11-20  Martin Buchholz  <martin@xemacs.org>
9448
9449         * casetab.c (Fcase_table_p): Fix compile error and crash.
9450
9451 2000-11-18  Philip Aston  <philipa@mail.com>
9452
9453         * s/cygwin32.h: Cygwin has SVR4-like pty support.
9454
9455 2000-11-18  Martin Buchholz  <martin@xemacs.org>
9456
9457         * fileio.c (Fexpand_file_name): GCPRO bug!  Protect `handler'.
9458         * filelock.c (lock_file): GCPRO bug! Initialize all GCPROed vars!
9459
9460 2000-11-17  Martin Buchholz  <martin@xemacs.org>
9461
9462         * config.h.in: Define HAVE_ELF_H if elf.h exists.
9463         * unexelf.c: Use HAVE_ELF_H.
9464         * unexelfsgi.c: Fix bug with dumped xemacs stdout/stderr not working.
9465         I copied FSF Emacs 20.7 unexelf.c to unexelfsgi.c and ANSIfied it.
9466         Max Matveev <makc@sgi.com> removed non-SGI-relevant parts and tested.
9467         Greg Harrington <greg_harrington@hotmail.com> provided a machine
9468         for testing.
9469         So this is an unexelfsgi.c from a different line of development.
9470
9471 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
9472
9473         * regex.c (RE_TR_ASCII): New function.
9474         (RE_TRANSLATE): Call it.
9475
9476 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
9477
9478         * buffer.h (TRT_TABLE_OF): Remove assert.
9479         (IN_TRT_TABLE_DOMAIN): Removed.
9480
9481 2000-11-16  Gunnar Evermann  <ge204@eng.cam.ac.uk>
9482
9483         * free-hook.c (log_gcpro):
9484         (show_gcprohist): Add support for GCPRO5.
9485
9486 2000-11-08  Stephen J. Turnbull  <stephen@xemacs.org>
9487
9488         * emacs.c (main_1): Improve -sd error message when --pdump=no.
9489
9490 2000-11-16  Olivier Galibert  <galibert@xemacs.org>
9491
9492         * symeval.h: Declare flush_all_buffer_local_cache.
9493
9494         * symbols.c: Change XD_LO_RESET_NIL into XD_LISP_OBJECTs.
9495         (flush_buffer_local_cache): Added.
9496         (flush_all_buffer_local_cache): Added.
9497
9498         * lrecord.h: Remove unused XD_LO_RESET_NIL.
9499
9500         * dumper.c (pdump_register_sub): Remove unused XD_LO_RESET_NIL.
9501         (pdump_dump_data): Ditto.
9502         (pdump_reloc_one): Ditto.
9503         (pdump): Remove unused pdump_qnil.  Flush buffer local caches
9504         before dumping.
9505
9506
9507 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
9508
9509         * buffer.c: Remove if 0'ed entry.
9510         * buffer.h: Rewrite TRT to use char-table.
9511         * bufslots.h: Remove mirror tables.
9512         * casetab.c: Remove mirror tables.
9513         (CASE_TABLE_P): New macro.
9514         (Fcase_table_p): Element of a case table is string or char-table.
9515         (make_mirror_trt_table): Removed.
9516         (set_case_table): Setup char-table from strings for backward
9517         compatibility.
9518         * dired.c (Fdirectory_files):
9519         * dired-msw.c: (mswindows_get_files):
9520         * lisp.h: Change prototype of re_pattern_buffer.
9521         * regex.c: (RE_TRANSLATE): New macro.
9522         (TRANSLATE_P): Ditto.
9523         Change translate to type RE_TRANSLATE_TYPE.
9524         * regex.h: Define RE_TRANSLATE_TYPE
9525         * search.c (TRANSLATE): New macro.
9526         (TRANSLATE_ASCII): New macro.
9527         Translate table is changed to Lisp_Object.
9528         (signal_failure): Inhibit return.
9529
9530 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
9531
9532         * device-msw.c:
9533         * eldap.c:
9534         * event-Xt.c:
9535         * event-stream.c:
9536         * print.c:
9537         Do UNGCPRO before return.
9538
9539 2000-11-14  Martin Buchholz <martin@xemacs.org>
9540
9541         * XEmacs 21.2.37 is released.
9542
9543 2000-11-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
9544
9545         * fileio.c (Finsert_file_contents_internal): UNGCPRO before return.
9546         Add comments about discarded return value.
9547
9548 2000-11-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
9549
9550         * callint.c:
9551         * event-stream.c: Fix comments.  Remove some #if 0'ed part.
9552
9553 2000-10-27  Andy Piper  <andy@xemacs.org>
9554
9555         * gutter.c (Fset_default_gutter_position): default left and right
9556         gutters to visible.
9557         (calculate_gutter_size): calculate resonable heuristic for left
9558         and right gutter sizes.
9559         (specifier_vars_of_gutter): change left and right gutter sizes to
9560         autodetect.
9561         (calculate_gutter_size_from_display_lines): new function.
9562         (output_gutter): check for resizing on left and right gutters.
9563         (clear_gutter): don't special case top and left gutters.
9564         (specifier_vars_of_gutter): use new signature for
9565         set_specifier_caching.
9566
9567         * glyphs-x.c (x_redisplay_widget): spelling fix.
9568         * glyphs.c (specifier_vars_of_glyphs):
9569         * menubar.c (specifier_vars_of_menubar):
9570         * redisplay.c (specifier_vars_of_redisplay):
9571         * toolbar.c (specifier_vars_of_toolbar):
9572         * window.c (specifier_vars_of_window):
9573         * scrollbar.c (specifier_vars_of_scrollbar):
9574         (complex_vars_of_scrollbar): use new signature for
9575         set_specifier_caching.
9576
9577         * specifier.c (set_specifier_caching): include recompute flag.
9578         (recompute_one_cached_specifier_in_window): always recompute if
9579         flag set.
9580         (recompute_one_cached_specifier_in_frame): ditto.
9581
9582         * specifier.h (struct specifier_caching): add recompute flag.
9583
9584 2000-10-24  Andy Piper  <andy@xemacs.org>
9585
9586         * unexcw.c (copy_executable_and_dump_data_section): add new
9587         BSS_PAD_SIZE so that we can re-instate a mini-bss. This keeps gdb
9588         5.0 happy.
9589
9590 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
9591
9592         * console-x.h (x_device): New member modifier_release_time.
9593         * event-Xt.c (x_handle_sticky_modifiers):
9594         Bound interval modifier keys are sticky.
9595         * event-stream.c (Vmodifier_keys_sticky_time): New variable.
9596         * events.h: extern it.
9597
9598 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
9599
9600         * cmdloop.c (Fcommand_loop_1): Just add C-g to event queue.
9601
9602 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
9603
9604         * event-stream.c (execute_command_event): Preserve current_events
9605         and the like when event is misc-user-event.
9606         Inhibit quit during the call to maybe_echo_keys.
9607
9608 2000-10-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
9609
9610         * filelock.c (lock_buffer): Cope with kill-buffer. Don't create a
9611         symlink when buffer is killed.
9612         (inhibit_clash_detection): New variable.
9613
9614 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
9615
9616         * console.c (Fset_input_method): Trigger redisplay on tty.
9617
9618 2000-11-07  Martin Buchholz  <martin@xemacs.org>
9619
9620         * process.c (Fprocess_status): Revert to previous behavior:
9621         (process-status "nosuchprocess") ==> nil
9622
9623 2000-11-06  Martin Buchholz  <martin@xemacs.org>
9624
9625         * mule-charset.h (CHARSET_BY_LEADING_BYTE):
9626         Work around another GCC 2.95.2 optimizer bug.
9627
9628 2000-11-02  Martin Buchholz  <martin@xemacs.org>
9629
9630         * process.c (Fget_process): Use LIST_LOOP_2.
9631         (kill_buffer_processes): Use LIST_LOOP_2.
9632
9633         * minibuf.c (Fall_completions):
9634         Delete old non-functional code for FSF fourth argument.
9635
9636         * frame.c (frame_matches_frame_spec):
9637         Renamed from `frame_matches_frametype'.  Update all callers.
9638         (device_matches_device_spec):
9639         Renamed from 'device_matches_console_spec'.  Update all callers.
9640
9641         * doc.c (Fsubstitute_command_keys):
9642         Remove buffer overflow crash.  Small code cleanups.
9643
9644         * casetab.c (check_case_table): Simpler code.
9645
9646         * window.c (Freplace_buffer_in_windows):
9647         Give this the same WHICH-FRAMES and WHICH-DEVICES parameters
9648         (and similar implementation) as Fdelete_windows_on.
9649         Update all callers.
9650
9651         * alloc.c (Fmake_list):
9652         * alloc.c (make_vector):
9653         * alloc.c (Fmake_vector):
9654         * alloc.c (make_bit_vector):
9655         * alloc.c (Fmake_bit_vector):
9656         * alloc.c (Fbit_vector):
9657         * alloc.c (Fmake_string):
9658         * alloc.c (Fpurecopy):
9659         * alloc.c (Fmemory_limit):
9660         * buffer.c:
9661         * buffer.c (Fget_buffer):
9662         * buffer.c (Fkill_buffer):
9663         * buffer.c (complex_vars_of_buffer):
9664         * bytecode.c (Fcompiled_function_stack_depth):
9665         * callint.c (Fprefix_numeric_value):
9666         * event-stream.c:
9667         * event-stream.c (Fread_key_sequence):
9668         * casetab.c:
9669         * casetab.c (Fcase_table_p):
9670         * casetab.c (check_case_table):
9671         * casetab.c (Fset_case_table):
9672         * casetab.c (Fset_standard_case_table):
9673         * chartab.c:
9674         * chartab.c (Fchar_table_type):
9675         * chartab.c (Freset_char_table):
9676         * chartab.c (Fget_char_table):
9677         * chartab.c (Fget_range_char_table):
9678         * chartab.c (Fput_char_table):
9679         * chartab.c (Fmap_char_table):
9680         * chartab.c (Fcategory_table_p):
9681         * chartab.c (Fcheck_category_at):
9682         * chartab.c (Fchar_in_category_p):
9683         * chartab.c (Fcategory_table):
9684         * chartab.c (Fcopy_category_table):
9685         * chartab.c (Fset_category_table):
9686         * chartab.c (Fcategory_designator_p):
9687         * chartab.c (Fcategory_table_value_p):
9688         * cmds.c (Fdelete_char):
9689         * cmds.c (Fdelete_backward_char):
9690         * cmds.c (Fself_insert_command):
9691         * cmds.c (Fself_insert_internal):
9692         * console.c (Fvalid_console_type_p):
9693         * console.c (Fcdfw_console):
9694         * console.c (Fconsole_type):
9695         * console.c (Fconsole_name):
9696         * console.c (Fconsole_device_list):
9697         * console.c (Fconsole_on_window_system_p):
9698         * data.c:
9699         * data.c (Feq):
9700         * data.c (Fold_eq):
9701         * data.c (Fsubr_interactive):
9702         * data.c (Fchar_to_int):
9703         * data.c (Fint_to_char):
9704         * data.c (Fsetcar):
9705         * data.c (Fsetcdr):
9706         * data.c (Fnumber_to_string):
9707         * data.c (Fstring_to_number):
9708         * data.c (Frem):
9709         * database.c (mark_database):
9710         * database.c (finalize_database):
9711         * database.c (Fdatabase_live_p):
9712         * database.c (Fdatabasep):
9713         * device-x.c (Fx_get_resource):
9714         * device.c (Fdfw_device):
9715         * dired.c:
9716         * dired.c (Ffile_name_completion):
9717         * dired.c (Ffile_name_all_completions):
9718         * dired.c (Fuser_name_completion):
9719         * dired.c (Fuser_name_completion_1):
9720         * dired.c (Fuser_name_all_completions):
9721         * doc.c (Fdocumentation):
9722         * doc.c (Fdocumentation_property):
9723         * doc.c (Fsubstitute_command_keys):
9724         * editfns.c:
9725         * editfns.c (Fchar_to_string):
9726         * editfns.c (Fstring_to_char):
9727         * editfns.c (Ftemp_directory):
9728         * editfns.c (Finsert_char):
9729         * editfns.c (Fbuffer_substring_no_properties):
9730         * editfns.c (Fnarrow_to_region):
9731         * editfns.c (Fchar_equal):
9732         * editfns.c (Fchar_Equal):
9733         * editfns.c (Ftranspose_regions):
9734         * emacs.c (Fdump_emacs):
9735         * eval.c (Fthrow):
9736         * eval.c (Fcommand_execute):
9737         * eval.c (Fautoload):
9738         * eval.c (Fbacktrace):
9739         * eval.c (Fbacktrace_frame):
9740         * events.c:
9741         * events.c (Fcopy_event):
9742         * events.c (Fcharacter_to_event):
9743         * events.c (Fevent_button):
9744         * events.c (Fevent_process):
9745         * extents.c:
9746         * extents.c (Fnext_extent_change):
9747         * extents.c (Fextent_property):
9748         * faces.c (Ffacep):
9749         * faces.c (Fmake_face):
9750         * file-coding.c:
9751         * file-coding.c (Fencode_shift_jis_char):
9752         * file-coding.c (Fencode_big5_char):
9753         * fileio.c (Ffile_name_directory):
9754         * fileio.c (Ffile_name_nondirectory):
9755         * fileio.c (Ffile_name_as_directory):
9756         * fileio.c (Fdirectory_file_name):
9757         * fileio.c (Ffile_truename):
9758         * fileio.c (Fsubstitute_in_file_name):
9759         * fileio.c (Ffile_modes):
9760         * fileio.c (Fset_file_modes):
9761         * fileio.c (Fset_default_file_modes):
9762         * fileio.c (Fverify_visited_file_modtime):
9763         * floatfns.c (Facos):
9764         * floatfns.c (Fasin):
9765         * floatfns.c (Fatan):
9766         * floatfns.c (Fcos):
9767         * floatfns.c (Fsin):
9768         * floatfns.c (Ftan):
9769         * floatfns.c (Fbessel_j0):
9770         * floatfns.c (Fbessel_j1):
9771         * floatfns.c (Fbessel_jn):
9772         * floatfns.c (Fbessel_y0):
9773         * floatfns.c (Fbessel_y1):
9774         * floatfns.c (Fbessel_yn):
9775         * floatfns.c (Ferf):
9776         * floatfns.c (Ferfc):
9777         * floatfns.c (Flog_gamma):
9778         * floatfns.c (Fexp):
9779         * floatfns.c (Fexpt):
9780         * floatfns.c (Flog):
9781         * floatfns.c (Flog10):
9782         * floatfns.c (Fsqrt):
9783         * floatfns.c (Fcube_root):
9784         * floatfns.c (Facosh):
9785         * floatfns.c (Fasinh):
9786         * floatfns.c (Fatanh):
9787         * floatfns.c (Fcosh):
9788         * floatfns.c (Fsinh):
9789         * floatfns.c (Ftanh):
9790         * floatfns.c (Fabs):
9791         * floatfns.c (Ffloat):
9792         * floatfns.c (Flogb):
9793         * floatfns.c (Fceiling):
9794         * floatfns.c (Ffloor):
9795         * floatfns.c (Fround):
9796         * floatfns.c (Ftruncate):
9797         * floatfns.c (Ffceiling):
9798         * floatfns.c (Fffloor):
9799         * floatfns.c (Ffround):
9800         * floatfns.c (Fftruncate):
9801         * fns.c (Fstring_equal):
9802         * fns.c (Fstring_lessp):
9803         * fns.c (concat2):
9804         * fns.c (concat3):
9805         * fns.c (vconcat2):
9806         * fns.c (vconcat3):
9807         * fns.c (Fsubstring):
9808         * fns.c (Fassoc):
9809         * fns.c (Fold_assoc):
9810         * fns.c (assoc_no_quit):
9811         * fns.c (Fassq):
9812         * fns.c (Fold_assq):
9813         * fns.c (assq_no_quit):
9814         * fns.c (Frassoc):
9815         * fns.c (Fold_rassoc):
9816         * fns.c (Frassq):
9817         * fns.c (Fold_rassq):
9818         * fns.c (rassq_no_quit):
9819         * fns.c (Fremassoc):
9820         * fns.c (remassoc_no_quit):
9821         * fns.c (Fremassq):
9822         * fns.c (remassq_no_quit):
9823         * fns.c (Fremrassoc):
9824         * fns.c (Fremrassq):
9825         * fns.c (remrassq_no_quit):
9826         * fns.c (Fsort):
9827         * fns.c (Fplist_get):
9828         * fns.c (Fplist_put):
9829         * fns.c (Fplist_remprop):
9830         * fns.c (Fplist_member):
9831         * fns.c (Flax_plist_get):
9832         * fns.c (Flax_plist_put):
9833         * fns.c (Flax_plist_remprop):
9834         * fns.c (Flax_plist_member):
9835         * fns.c (Fequal):
9836         * fns.c (Fold_equal):
9837         * fns.c (Frequire):
9838         * fns.c (Fbase64_encode_region):
9839         * fns.c (Fbase64_encode_string):
9840         * fns.c (Fbase64_decode_region):
9841         * frame.c:
9842         * frame.c (frame_matches_frame_spec):
9843         * frame.c (device_matches_device_spec):
9844         * frame.c (next_frame):
9845         * frame.c (previous_frame):
9846         * frame.c (Fnext_frame):
9847         * frame.c (Fprevious_frame):
9848         * frame.c (Fframe_property):
9849         * frame.c (Fset_frame_height):
9850         * frame.c (Fset_frame_size):
9851         * frame.h:
9852         * glyphs.c:
9853         * glyphs.c (if):
9854         * glyphs.c (decode_error_behavior_flag):
9855         * glyphs.c (Fmake_image_instance):
9856         * indent.c (Findent_to):
9857         * intl.c (Fignore_defer_gettext):
9858         * keymap.c (Fkeymapp):
9859         * keymap.c (Flookup_key):
9860         * lread.c:
9861         * lread.c (Fload_internal):
9862         * lread.c (Feval_buffer):
9863         * lread.c (Feval_region):
9864         * macros.c (Fexecute_kbd_macro):
9865         * marker.c (set_marker_internal):
9866         * marker.c (Fset_marker):
9867         * marker.c (set_marker_restricted):
9868         * marker.c (Fcopy_marker):
9869         * marker.c (noseeum_copy_marker):
9870         * menubar.c:
9871         * menubar.c (Fpopup_menu):
9872         * minibuf.c:
9873         * mule-charset.c (Fcharset_name):
9874         * mule-charset.c (Fchar_charset):
9875         * mule-charset.c (Fchar_octet):
9876         * mule-charset.c (Fsplit_char):
9877         * mule-wnnfns.c (Fwnn_open):
9878         * mule-wnnfns.c (Fwnn_dict_comment):
9879         * mule-wnnfns.c (Fwnn_quit_henkan):
9880         * mule-wnnfns.c (Fwnn_word_toroku):
9881         * mule-wnnfns.c (Fwnn_word_sakujo):
9882         * mule-wnnfns.c (Fwnn_word_use):
9883         * mule-wnnfns.c (Fwnn_hindo_set):
9884         * objects.c:
9885         * objects.c (Fmake_color_instance):
9886         * objects.c (Fmake_font_instance):
9887         * print.c (Fwrite_char):
9888         * process.c:
9889         * process.c (mark_process):
9890         * process.c (print_process):
9891         * process.c (get_process_from_usid):
9892         * process.c (Fprocessp):
9893         * process.c (Fprocess_live_p):
9894         * process.c (Fget_process):
9895         * process.c (Fget_buffer_process):
9896         * process.c (get_process):
9897         * process.c (Fprocess_id):
9898         * process.c (Fprocess_name):
9899         * process.c (Fprocess_command):
9900         * process.c (init_process_io_handles):
9901         * process.c (start_process_unwind):
9902         * process.c (Fstart_process_internal):
9903         * process.c (Fopen_multicast_group_internal):
9904         * process.c (Fset_process_window_size):
9905         * process.c (read_process_output):
9906         * process.c (send_process):
9907         * process.c (Fprocess_tty_name):
9908         * process.c (Fset_process_buffer):
9909         * process.c (Fprocess_buffer):
9910         * process.c (Fprocess_mark):
9911         * process.c (set_process_filter):
9912         * process.c (Fset_process_filter):
9913         * process.c (Fprocess_filter):
9914         * process.c (Fprocess_send_region):
9915         * process.c (Fprocess_send_string):
9916         * process.c (exec_sentinel):
9917         * process.c (Fset_process_sentinel):
9918         * process.c (Fprocess_sentinel):
9919         * process.c (status_notify):
9920         * process.c (Fprocess_status):
9921         * process.c (Fprocess_exit_status):
9922         * process.c (process_send_signal):
9923         * process.c (Fprocess_send_eof):
9924         * process.c (deactivate_process):
9925         * process.c (remove_process):
9926         * process.c (Fdelete_process):
9927         * process.c (kill_buffer_processes):
9928         * process.c (Fprocess_kill_without_query):
9929         * process.c (Fprocess_kill_without_query_p):
9930         * rangetab.c:
9931         * rangetab.c (Fget_range_table):
9932         * rangetab.c (Fput_range_table):
9933         * rangetab.c (Fremove_range_table):
9934         * rangetab.c (Fclear_range_table):
9935         * search.c:
9936         * search.c (Fskip_chars_forward):
9937         * search.c (Fskip_chars_backward):
9938         * search.c (Fskip_syntax_forward):
9939         * search.c (Fskip_syntax_backward):
9940         * search.c (search_command):
9941         * search.c (Freplace_match):
9942         * search.c (Fregexp_quote):
9943         * select.c (Fown_selection_internal):
9944         * select.c (Fselection_owner_p):
9945         * select.c (Fselection_exists_p):
9946         * select.c (Fget_selection_internal):
9947         * specifier.c:
9948         * symbols.c:
9949         * symbols.c (Fintern):
9950         * symbols.c (Fintern_soft):
9951         * symbols.c (Funintern):
9952         * symbols.c (Fapropos_internal):
9953         * symbols.c (Fset_default):
9954         * syntax.c:
9955         * syntax.c (Fsyntax_table_p):
9956         * syntax.c (Fcopy_syntax_table):
9957         * syntax.c (Fset_syntax_table):
9958         * syntax.c (Fchar_syntax):
9959         * syntax.c (syntax_match):
9960         * syntax.c (Fmatching_paren):
9961         * syntax.c (Fforward_word):
9962         * syntax.c (scan_lists):
9963         * syntax.c (Fscan_lists):
9964         * syntax.c (Fscan_sexps):
9965         * syntax.c (Fparse_partial_sexp):
9966         * toolbar.c (Fcheck_toolbar_button_syntax):
9967         * tooltalk.doc:
9968         * window.c:
9969         * window.c (Fwindowp):
9970         * window.c (Fwindow_live_p):
9971         * window.c (Fwindow_point):
9972         * window.c (Fdelete_window):
9973         * window.c (Fnext_window):
9974         * window.c (Fprevious_window):
9975         * window.c (Fother_window):
9976         * window.c (window_loop):
9977         * window.c (Fget_lru_window):
9978         * window.c (Fsplit_window):
9979         * window.c (Fenlarge_window):
9980         * window.c (Fenlarge_window_pixels):
9981         * window.c (Fshrink_window):
9982         * window.c (Fshrink_window_pixels):
9983         * window.c (change_window_height):
9984         * window.c (Fwindow_configuration_p):
9985         * window.c (Fcurrent_window_configuration):
9986         * window.h:
9987         * casefiddle.c (casify_object):
9988         * casefiddle.c (Fupcase):
9989         * casefiddle.c (Fdowncase):
9990         * casefiddle.c (Fcapitalize):
9991         * casefiddle.c (Fupcase_initials):
9992         * casefiddle.c (casify_region_internal):
9993         * casefiddle.c (casify_region):
9994         * casefiddle.c (Fupcase_region):
9995         * casefiddle.c (Fdowncase_region):
9996         * casefiddle.c (Fcapitalize_region):
9997         * casefiddle.c (Fupcase_initials_region):
9998         * casefiddle.c (Fupcase_word):
9999         * casefiddle.c (Fdowncase_word):
10000         * casefiddle.c (Fcapitalize_word):
10001         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
10002         Replace 0 with '\0' when working with bytes.
10003         Replace initial "(" with "\(" in docstrings.
10004
10005 2000-11-01  Martin Buchholz  <martin@xemacs.org>
10006
10007         * config.h.in: Handle alloca with Compaq C on Alpha Linux.
10008
10009         * m/alpha.h: Let configure handle SYSTEM_MALLOC on Linux.
10010
10011 2000-10-31  Martin Buchholz  <martin@xemacs.org>
10012
10013         * eldap.c (print_ldap): 64-bit cleaner.  Fixes warning.
10014
10015 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
10016
10017         * doprnt.c (emacs_do_prnt_1): Format (format "%01.2d" 10)
10018         correctly.
10019
10020 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
10021
10022         * fileio.c (Vauto_save_list_file_prefix): Moved from startup.el.
10023         (inhibit_auto_save_session): New variable.
10024         (vars_of_fileio): Declare and initialize them.
10025         * fileio.c (Fdo_auto_save): Don't create session file if
10026         Vinhibit_auto_save_session or Vauto_save_list_file_prefix is non-nil.
10027
10028 2000-10-31  Martin Buchholz  <martin@xemacs.org>
10029
10030         * sgiplay.c (play_internal): C++ compilability.
10031         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Remove unused var `SFTB_prev'.
10032         * callproc.c (Fold_call_process_internal):
10033         Remove unused vars `env', `first'.
10034         * scrollbar.c (update_scrollbar_instance):
10035         #### unused var `current_window'.
10036         * redisplay-tty.c: Put currently unused vars insert_mode_on,
10037         etc. within #ifdef NOT_YET.
10038         * emacs.c: #### unused vars `initial_argc', `initial_argv'.
10039         * dialog-x.c (dbox_descriptor_to_widget_value): ### unused var `title'.
10040         * specifier.c (specifier_instance):
10041         #### unused var `tag'.
10042         Use WINDOW_BUFFER, FRAME_DEVICE instead of their expansion.
10043
10044 2000-10-27  Martin Buchholz  <martin@xemacs.org>
10045
10046         * fns.c (Fbutlast):
10047         * fns.c (list_sort):
10048         * fns.c (Ffillarray):
10049         * fns.c (bytecode_nconc2):
10050         * fns.c (Fnconc):
10051         * fns.c (mapcar1):
10052         * fns.c (Fmapconcat):
10053         Be pedantically 64-bit correct.  For the time when someone will
10054         want to have a list with length > 2**32.
10055
10056         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
10057         Work around MIPSpro compiler bug.
10058
10059         * process-unix.c (unix_kill_child_process): Add snarky comment.
10060         * process-unix.c (try_to_initialize_subtty):  Oops, `=' ==> `=='
10061
10062         * config.h.in: Oops, _getpt ==> _getpty
10063
10064 2000-10-26  Martin Buchholz  <martin@xemacs.org>
10065
10066         * config.h.in:
10067         * regex.c:
10068         Use void*, not char*, as return type of alloca().
10069
10070         * alloc.c (free_marker): Side effect inside assert expression!
10071
10072 2000-10-16  MIYASHITA Hisashi  <himi@m17n.org>
10073
10074         * mule-charset.c (Fset_charset_ccl_program): To check
10075         if the given ccl program is valid, use setup_ccl_program()
10076         instead of CHECK_VECTOR().
10077         (Fmake_charset): Likewise.
10078
10079 2000-10-20  Golubev I. N.  <gin@mo.msk.ru>
10080
10081         * faces.c (get_extent_fragment_face_cache_index):
10082         Fix cachel.merged_faces memory leak.
10083
10084 2000-10-14  MIYASHITA Hisashi  <himi@m17n.org>
10085
10086         * mule-ccl.c (ccl_driver)<CCL_DECODE_SJIS>:
10087         Reset MSB of octets obtained by DECODE_SJIS
10088         because of the incompatibility with Emacs.
10089         (ccl_driver)<CCL_ENCODE_SJIS>:
10090         Set MSB of octets before passing them to
10091         ENCODE_SJIS because of the incompatibility
10092         with Emacs.
10093
10094 2000-10-18   Daiki Ueno  <ueno@unixuser.org>
10095
10096         * lrecord.h (DECLARE_TYPECHECK_LRECORD): Abolish.
10097         (DECLARE_LRECORD): Undo the last change.
10098         (DECLARE_EXTERNAL_LRECORD): Expand typechecking stuff.
10099
10100 2000-10-17   Daiki Ueno  <ueno@unixuser.org>
10101
10102         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Connect
10103         the implementation to lrecord_implementations_table.
10104
10105 2000-10-14   Daiki Ueno  <ueno@unixuser.org>
10106
10107         * lrecord.h (MAKE_EXTERNAL_LRECORD_IMPLEMENTATION): Don't set the
10108         initial value of `lrecord_type_##c_name' and
10109         `lrecord_##c_name.lrecord_type_index'; discard "const" qualifier.
10110         (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): New macro.
10111         [ERROR_CHECK_TYPECHECK] (DECLARE_TYPECHECK_LRECORD): New macro.
10112         [ERROR_CHECK_TYPECHECK] (DECLARE_LRECORD): Use it.
10113         [ERROR_CHECK_TYPECHECK] (DECLARE_EXTERNAL_LRECORD): Use it.
10114
10115 2000-10-17  Martin Buchholz  <martin@xemacs.org>
10116
10117         * miscplay.c (sndcnv8S_2mono):
10118         (sndcnv2monounsigned):
10119         (sndcnvULaw_2linear):
10120         (sndcnv16swap):
10121         Remove implementation-defined behavior.
10122
10123 2000-10-12  Martin Buchholz  <martin@xemacs.org>
10124
10125         * input-method-xlib.c: Warning suppression.
10126
10127 2000-10-05  MIYASHITA Hisashi  <himi@m17n.org>
10128
10129         * mule-ccl.c: Sync up with Emacs 21.0.90.
10130         (ccl_driver)<CCL_TranslateCharacter>: Disabled.
10131         Do nothing.
10132         (ccl_driver)<CCL_TranslateCharacterConstTbl>:
10133         Likewise.
10134         (ccl_driver[WriteMultibyteChar2]): Bug fix.
10135         Use MAX_LEADING_BYTE_OFFICIAL_2 instead of
10136         MIN_LEADING_BYTE_OFFICIAL_2 to check whether the
10137         leading char belongs to official 2-dimensional charset.
10138         (CCL_WRITE_CHAR): When CCL_MODE_ENCODING,
10139         write the given character as is.  Otherwise,
10140         if it is a multibyte char, convert it by
10141         non_ascii_set_charptr_emchar, then write it.
10142         (CCL_WRITE_STRING): Likewise.
10143         (ccl_get_compiled_code): New function.
10144         (setup_ccl_program): When ccl_prog is invalid,
10145         return -1.
10146         (Fregister_code_conversion_map): New function.
10147         (syms_of_mule_ccl): defsubr Fregister_code_conversion_map.
10148
10149         * mule-ccl.h: Sync up with Emacs 21.0.90.
10150         (Fregister_ccl_program): export it.
10151
10152         * redisplay-msw.c (separate_textual_runs):
10153         If ccl program is not valid, don't do ccl conversion.
10154
10155         * redisplay-x.c (separate_textual_runs): Ditto.
10156
10157         * file-coding.c (Fmake_coding_system):
10158         When type is ccl and value is vector, register it
10159         with a proper symbol.  And checks whether the
10160         given ccl program is valid.
10161         (mule_decode): When calling ccl_driver, if src indicates
10162         NULL pointer, set an empty string instead.
10163         (mule_encode): Likewise.
10164
10165 2000-10-11  Martin Buchholz  <martin@xemacs.org>
10166
10167         The following large batch of changes gets us back to a state of
10168         C++ compilability.  Extbyte is now a char, which means that
10169         Extbyte * and Bufbyte * cannot be freely interchanged - a win!
10170
10171         * tooltalk.c (Fset_tooltalk_message_attribute): Type correctness.
10172
10173         * sound.c (Fplay_sound): Type correctness.
10174
10175         * select-x.c (hack_motif_clipboard_selection): Type correctness.
10176         (x_get_window_property): Type correctness.
10177         (receive_incremental_selection): unsigned char ==> Extbyte
10178         (selection_data_to_lisp_data): unsigned char ==> Extbyte
10179         (Fx_get_cutbuffer_internal): unsigned char ==> Extbyte
10180         (Fx_store_cutbuffer_internal): Type correctness.
10181
10182         * process-unix.c (try_to_initialize_subtty): Type correctness.
10183
10184         * objects-x.c (x_print_color_instance): Type correctness.
10185         (x_print_font_instance): Type correctness.
10186         (x_list_fonts): SExtbyte ==> Extbyte.
10187         (valid_x_font_name_p): SExtbyte ==> Extbyte.
10188         (x_find_charset_font): SExtbyte ==> Extbyte.
10189         Use TO_INTERNAL_FORMAT.  build_string ==> make_string.
10190         (truename_via_XListFonts): SExtbyte ==> Extbyte.
10191         (x_font_instance_properties): Use TO_INTERNAL_FORMAT.
10192         Use bufbyte_strcmp.
10193
10194         * mule-charset.h (LEADING_BYTE_PREFIX_P): unsigned char ==> Bufbyte
10195         (PRIVATE_LEADING_BYTE_PREFIX): Add paranoia cast.
10196         (BYTE_ASCII_P): Use bit ops for char-signedness safety.
10197         (BYTE_C0_P): Use bit ops for char-signedness safety.
10198         (BYTE_C1_P): Use bit ops for char-signedness safety.
10199         (CHARSET_BY_LEADING_BYTE):
10200         (CHARSET_BY_ATTRIBUTES):
10201         Always use inline function.
10202         Use type_checking_assert.
10203         Hide chlook.
10204
10205         * mule-charset.c (non_ascii_charptr_copy_char):
10206         Modify to work with both ASCII and non-ASCII characters.
10207         Improve docs and variable names.
10208         Replace over-clever fall-through switch with a simple loop.
10209         (Lstream_get_emchar_1):
10210         Replace over-clever fall-through switch with a simple loop.
10211
10212         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
10213         Warning suppression.
10214
10215         * lstream.h (Lstream_get_emchar): BYTE_ASCII_P cannot be used on
10216         the return value of Lstream_getc, which could be EOF as well.
10217
10218         * lstream.c (Lstream_raw_read): Now returns ssize_t, not int.
10219
10220         * lisp.h: Make Extbyte a char, not unsigned char, so that external
10221         APIs can be used on Extbytes without casts.  Risky!
10222         (SExtbyte): Remove.
10223         (UExtbyte): Remove.
10224
10225         * input-method-xlib.c (XIM_init_device):
10226         Use Xlib.h instead of IntrinsicP.h.
10227         Use HAVE_XREGISTERIMINSTANTIATECALLBACK instead of THIS_IS_X11R6,
10228         which will break in X11R7.
10229         Use XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE,
10230         to call XRegisterIMInstantiateCallback with correct types.
10231
10232         * gui-x.c (button_item_to_widget_value): Type correctness.
10233
10234         * glyphs.c (bitmap_to_lisp_data):  Type correctness.
10235
10236         * glyphs-x.c (pixmap_from_xbm_inline): Type correctness.
10237         (xbm_instantiate_1): Type correctness.
10238         (BUILD_GLYPH_INST):  Type correctness.
10239
10240         * fileio.c (Fsubstitute_in_file_name): Type correctness.
10241
10242         * file-coding.c:
10243         (decode_coding_sjis):
10244         (decode_coding_big5):
10245         (decode_coding_ucs4):
10246         (decode_coding_utf8):
10247         (decode_coding_iso2022):
10248         (decode_coding_no_conversion):
10249         Make all decoding functions take an Extbyte * arg.
10250         (encode_coding_sjis):
10251         (encode_coding_big5):
10252         (encode_coding_ucs4):
10253         (encode_coding_utf8):
10254         (encode_coding_iso2022):
10255         (encode_coding_no_conversion):
10256         Make all encoding functions take a Bufbyte * arg.
10257         Use size_t instead of unsigned int for memory sizes.
10258         Only cast to unsigned char whenever dereferencing Extbyte *.
10259
10260         * doc.c (unparesseuxify_doc_string): Type correctness.
10261
10262         * console-x.c (split_up_display_spec):
10263         Rewrite without using details of internal string representation.
10264         (x_semi_canonicalize_device_connection): Type correctness.
10265
10266         * config.h.in:
10267         (HAVE_XREGISTERIMINSTANTIATECALLBACK): New.
10268         (XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE): New.
10269         (HAVE_XFREE386): Removed.
10270
10271         * buffer.h (DEC_CHARPTR): `const' correctness.
10272         (bufbyte_strcmp): New.
10273         (bufbyte_memcmp): New.
10274
10275         * buffer.c (dfc_convert_to_internal_format): Extbyte ==> Bufbyte
10276
10277         * buffer.h (XCHAR_OR_CHAR_INT):
10278         Always use inline function.
10279         Remove redundant type checking assert() - XINT will abort quite nicely.
10280
10281 2000-10-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
10282
10283         * search.c (Freplace_match): Set newtext to an empty string.
10284
10285 2000-10-10  Martin Buchholz  <martin@xemacs.org>
10286
10287         * s/decosf1-3.h: Remove #include of stropts.h
10288         * s/ptx.h: Remove #include of stropts.h
10289         * s/usg5-4.h: Remove #include of stropts.h
10290         * sysproc.h:
10291         * config.h.in:
10292         Use stropts.h, not sys/stropts.h.
10293         Use strtio.h, not sys/strtio.h.
10294
10295 2000-10-04  Martin Buchholz <martin@xemacs.org>
10296
10297         * XEmacs 21.2.36 is released.
10298
10299 2000-09-21  Andy Piper  <andy@xemacs.org>
10300
10301         * glyphs-x.c (x_redisplay_widget): make sure non-structural
10302         changes still involve copying the widget tree.
10303         (update_widget_face): make sure a change is register in the widget
10304         tree. Call update_tab_widget_face appropriately.
10305         (update_tab_widget_face): ditto.
10306         (x_tab_control_redisplay): make sure non-structural changes still
10307         involve copying the widget tree.
10308
10309 2000-08-31   Daiki Ueno  <ueno@unixuser.org>
10310
10311         * lread.c (locate_file): Check the path element is non-nil.
10312
10313 2000-10-02  Martin Buchholz  <martin@xemacs.org>
10314
10315         * lisp.h: Warning suppression for SCO compilers.
10316
10317         * redisplay-tty.c (reset_tty_modes): Fix crash.
10318         E.g. from xemacs running on X: (delete-device (make-device 'tty nil))
10319
10320 2000-09-27  Martin Buchholz  <martin@xemacs.org>
10321
10322         Big signal/process handling overhaul.  Bugs fixed:
10323         M-x shell, type `sleep 10000', M-x comint-interrupt-subjob and
10324         M-x comint-kill-subjob should work for both values nil and t of
10325         process-connection-type. It was broken on most platforms.
10326         Testing on Irix and Cygwin still needed.  Other plaforms tested.
10327         * sysdep.c: Move #include of stropts.h into sysproc.h.  Use pid_t.
10328         * process-unix.c: Signal/Process handling overhaul.
10329         (pty_name): make 64 bytes, as `expect' does, for paranoia.
10330         (allocate_pty): Use all available modern methods of allocating
10331         ptys, falling back to old style BSD allocation as a last resort.
10332         Use allegedly more secure Unix98 pty allocation by default.
10333         (allocate_pty_the_old_fashioned_way): New. the last resort.
10334         (unix_create_process): Push ptem, ldterm, ttcompat where
10335         available.  Autoconfiscate.
10336         (try_to_initialize_subtty): New.
10337         (unix_kill_child_process): Proper signal handling for ptys on most
10338         platforms, using special knowledge of AIX, BSD, etc...
10339         (unix_create_process): Always disconnect_controlling_terminal() for
10340         subprocesses, whether using ptys or not.
10341         * process.h: Remove old getpt-dependent PTY code.
10342         * process.c (Fprocess_send_signal): New, obvious generic function.
10343         (decode_signal): New.
10344         (Finterrupt_process):
10345         (Fkill_process):
10346         (Fquit_process):
10347         (Fstop_process):
10348         (Fcontinue_process):
10349         (Fsignal_process): Use decode_signal.
10350         (process_send_signal):
10351         Many docstring corrections.
10352         Allow any signal to be sent to a process object.
10353         * config.h.in: Add symbols for big signal/process overhaul.
10354         * syssignal.h (EMACS_KILLPG): Use HAVE_KILLPG. Use `pid', not `gid'.
10355         * sysproc.h: Include process-related headers, where available:
10356         sys/stropts.h sys/strtio.h pty.h libutil.h
10357         * s/irix4-0.h:
10358         * s/irix5-0.h:
10359         * s/cygwin32.h:
10360         * s/gnu.h:
10361         * s/linux.h:
10362         * s/hpux.h:
10363         * s/aix3-1.h:
10364         Remove old S&M pty stuff.
10365         * console-tty.c (tty_init_console): Use pid_t, not int, for pids.
10366         * systty.h: Simplify cpp hackery, improve comments.
10367         Favor BSD ioctl(TIOCGPGRP) over Posix tcgetpgrp().
10368
10369         * editfns.c (Fformat_time_string):
10370         Be a little more paranoid with the return value of ctime.
10371
10372         * fileio.c (check_executable):
10373         (check_writable):
10374         Use symbolic constants X_OK, W_OK.
10375
10376         * console-x.c (split_up_display_spec): Fix a warning.
10377
10378 2000-10-02  Martin Buchholz  <martin@xemacs.org>
10379
10380         * gui-x.c (add_accel_and_to_external): strlen ==> XSTRING_LENGTH
10381         * ntproc.c (sys_spawnve): make_string ==> build_string
10382         Small clarity improvements.
10383
10384 2000-09-30  Martin Buchholz  <martin@xemacs.org>
10385
10386         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY): Warning removal.
10387
10388         * s/windowsnt.h (HAVE_STRCASECMP): Remove.
10389
10390         * config.h.in (HAVE_STRCASECMP): Remove.
10391
10392 2000-09-29  Martin Buchholz  <martin@xemacs.org>
10393
10394         * redisplay-output.c (redisplay_output_pixmap):
10395         Cleaner and possibly more 64-bit correct code.
10396
10397 2000-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
10398
10399         * dumper.c (pdump_load_finish): move restoration of
10400         `noninteractive1' to emacs.c (main_1).
10401         * emacs.c (main_1): protect LISP-visible command-line flags
10402         from pdump_load().
10403
10404 2000-09-26  Stephen J. Turnbull  <stephen@xemacs.org>
10405
10406         * Makefile.in.in (versionclean):  Use EXE_TARGET and
10407         DUMP_TARGET instead of literal program names.
10408
10409 2000-09-20  Martin Buchholz  <martin@xemacs.org>
10410
10411         * Makefile.in.in: Recent purify's require absolute paths for cache-dir.
10412
10413 2000-09-19  Martin Buchholz  <martin@xemacs.org>
10414
10415         * *: Spelling mega-patch
10416
10417 2000-09-19  Martin Buchholz  <martin@xemacs.org>
10418
10419         * fns.c (bad_bad_turtle):
10420         Delete "Eek!" comment, since we fixed the bug to which it refers.
10421
10422 2000-09-16  Martin Buchholz  <martin@xemacs.org>
10423
10424         * alloca.c: Replace REGISTER with register.
10425
10426 2000-09-16   Daiki Ueno  <ueno@unixuser.org>
10427
10428         * file-coding.c (ucs_to_char): Use countof.
10429
10430 2000-09-16  Martin Buchholz  <martin@xemacs.org>
10431
10432         * file-coding.c: (ucs_to_char):
10433         (complex_vars_of_file_coding):
10434         Use countof instead of sizeof.
10435         Use CHECK_NATNUM instead of CHECK_INT.
10436
10437         * sysdep.c (strcasecmp): Remove.
10438         * device-x.c (ascii_strcasecmp): New.
10439         * device-x.c (Fx_get_resource): Use ascii_strcasecmp.
10440         Avoid using non-standard non-portable strcasecmp.
10441
10442 2000-09-16  Martin Buchholz  <martin@xemacs.org>
10443
10444         * Makefile.in.in (mostlyclean): remove reference to prefix-args.
10445         * font-lock.c: remove reference to emacsfns.h.
10446         * search.c: small doc improvement.
10447         * event-Xt.c: correct file names in comments.
10448         * console-x.h Correct file names in comments.
10449         * frame.c: Correct file names in comments.
10450         * event-stream.c: remove Energize from comments.
10451
10452 2000-09-15  Martin Buchholz  <martin@xemacs.org>
10453
10454         * symeval.h (DEFERROR_STANDARD):
10455         (DEFERROR):
10456         (DEFSYMBOL):
10457         (DEFSYMBOL_NO_DUMP):
10458         (DEFSYMBOL_MULTIWORD_PREDICATE):
10459         (DEFSYMBOL_MULTIWORD_PREDICATE_NO_DUMP):
10460         (DEFKEYWORD):
10461         The construct &##name is not sensible C.
10462         Fixes compilation errors with Unixware native compiler.
10463
10464 2000-09-14  Martin Buchholz  <martin@xemacs.org>
10465
10466         * frame.c (device_matches_console_spec): no longer takes a `frame' arg
10467         (next_frame_internal): Removed.  We now just have next_frame.
10468         (next_frame):
10469         Write a simpler and cleaner one-pass algorithm.
10470         Remove called_from_delete_device arg and #ifdefed-out code.
10471         (previous_frame):
10472         Renamed from prev_frame.  Update callers.
10473         Cleaned up to have an analogous implementation to next_frame.
10474         (other_visible_frames_internal): Remove the
10475         called_from_delete_device bogus arg, and hence, remove this
10476         function.  Just use other_visible_frames().
10477
10478         * window.c (Fnext_window):
10479         Prettify docstring.
10480         Since next_frame() is guaranteed to return a frame, remove check
10481         for nil inserted in previous patch.
10482         (Fprevious_window):
10483         Prettify docstring.
10484         Make code look more like Fnext_window.
10485         (window_loop):
10486         Respect the `console' arg when iterating through windows.
10487         Fixes bug: (get-buffer-window buffer t device) not respecting
10488         the `device' arg.
10489         This function needs more work, as others have pointed out.
10490
10491         * frame.h: Rename prev_frame to previous_frame.
10492         device_matches_console_spec no longer takes a `frame' arg.
10493
10494         * s/gnu.h:
10495         * s/linux.h:
10496         * s/hpux.h:
10497         Use EMACS_BLOCK_SIGNAL instead of sigblock.
10498         From "Golubev I. N." <gin@mo.msk.ru>.
10499
10500         * make-src-depend: Fix typo.
10501
10502 2000-09-13  Martin Buchholz  <martin@xemacs.org>
10503
10504         * window.c (Fnext_window):
10505         next_frame() might return nil, not a frame.
10506         Fixes this crash:
10507         (gdb) run -eval '(progn  (make-device (quote x) "polgar:0") (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
10508
10509         * frame.c (next_frame_internal):
10510         We've passed a frame if we've passed its device.
10511         Fixes this crash:
10512         (gdb) run -eval '(progn (make-frame nil (make-device (quote x) "polgar:0")) (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
10513 Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245, RECORD_TYPEP (obj, lrecord_type_frame)
10514
10515 2000-09-11  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10516
10517         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
10518         Allow option to suppress accelerators in menu/dialog items.
10519         (populate_or_checksum_helper): Pass dialog title through above.
10520
10521 2000-09-10  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10522
10523         * event-msw.c (mswindows_key_to_emacs_keysym):
10524         Add "pause" key, fix "menu" key.
10525
10526 2000-09-09  Martin Buchholz  <martin@xemacs.org>
10527
10528         * eval.c (reinit_vars_of_eval):
10529         Increase max_lisp_eval_depth to 1000,
10530         required for thai-xtis.el to byte-compile under some circumstances.
10531
10532 2000-09-04  Martin Buchholz  <martin@xemacs.org>
10533
10534         * event-Xt.c (x_to_emacs_keysym): Increase size of `buffer' to 513.
10535         From Kenichi Handa.
10536
10537 2000-09-01  Martin Buchholz  <martin@xemacs.org>
10538
10539         * make-src-depend: Make the generated Makefiles smaller.
10540
10541         * s/hpux.h (SETUP_SLAVE_PTY):
10542         Provide a %d in the format string for the errno argument.
10543
10544         * editfns.c (Ftemp_directory):
10545         Warning fix.
10546         Avoid buffer overrun on very long file name.
10547
10548         * input-method-xlib.c (XIM_init_device):
10549         6th parameter of XRegisterIMInstantiateCallback has different
10550         pointer types on different OSes, so simply cast to (void *).
10551
10552         * unexhp9k800.c: Warning fixes.  Fiddly changes.
10553
10554         * sysdll.c (dll_open):
10555         shl_load will hang hard if passed a NULL filename.
10556         Simply return NULL for compatibility with dlopen.
10557         * sysdll.c: Conform to XEmacs coding standards.
10558
10559         * sysdep.c (get_pty_max_bytes):
10560         Support pty input lines longer than 512 bytes on HP-UX 10.20.
10561
10562 2000-08-31  Martin Buchholz  <martin@xemacs.org>
10563
10564         * tooltalk.c: Add #include <syssignal.h>
10565
10566 2000-08-12  Alexandre Oliva  <aoliva@redhat.com>
10567
10568         * s/hpux.h: Don't use undefined function sigunblock().
10569
10570 2000-08-31  Martin Buchholz  <martin@xemacs.org>
10571
10572         * config.h.in: Add HAVE_BALLOON_HELP.
10573         * emacs.c: Use HAVE_BALLOON_HELP.
10574         * Makefile.in.in (x_objs):
10575         Make Balloon Help conditional on finding shape.h.
10576
10577 2000-08-23  Yoshiki Hayashi  <yoshiki@xemacs.org>
10578
10579         * syntax.c (regex_emacs_buffer_p): New variable.
10580         * syntax.h (regex_emacs_buffer_p): extern.
10581         * search.c (looking_at_1):
10582         (string_match_1):
10583         (fast_string_match):
10584         (search_buffer): Set regex_emacs_buffer_p.
10585         * regex.c (re_match_2_internal): Reference regex_emacs_buffer_p
10586         when before_dot, at_dot, after_dot.
10587
10588 2000-08-23  Andy Piper  <andy@xemacs.org>
10589
10590         * gui-x.c (popup_selection_callback): Only set action_occurred
10591         when we really have an image instance.
10592         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
10593
10594 2000-08-23  Andy Piper  <andy@xemacs.org>
10595
10596         * gui-msw.c (mswindows_handle_gui_wm_command): set
10597         action_occurred.
10598         * gui-x.c (popup_selection_callback): ditto.
10599
10600         * glyphs.h (IMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): new accessor.
10601         (XIMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): ditto.
10602         (struct Lisp_Image_Instance): add action_occurred flag.
10603
10604         * glyphs.c (redisplay_subwindow): use action_occurred flag.
10605         (image_instance_changed): ditto.
10606         (reset_frame_subwindow_instance_cache): only unmap windows - do
10607         not remove them from the cache also.
10608
10609         * glyphs-widget.c (tab_control_update): better debug.
10610         (progress_gauge_update): ditto.
10611         (layout_update): ditto.
10612         (layout_instantiate): ditto.
10613         (tab_control_order_only_changed): cope with null pending items.
10614
10615         * glyphs-msw.c (mswindows_tab_control_redisplay): add better
10616         debug. Force selection of an item when an action occurred. Cope
10617         with null pending_items.
10618         (mswindows_progress_gauge_redisplay): better debug.
10619         * glyphs-x.c (x_tab_control_redisplay): ditto.
10620
10621         * redisplay.c (redisplay_frame): reset the frame cache if the
10622         frame is garbaged.
10623
10624         * window.c (Fset_window_configuration): potentially re-enable
10625         frame cache reset.
10626         (window_unmap_subwindows): need to finalize instances here since
10627         it is only used in mark_window_as_deleted.
10628
10629 2000-08-22  Stephen J. Turnbull  <stephen@xemacs.org>
10630
10631         * nas.c (SndOpenDataForReading):
10632         nas.c (WaveOpenDataForReading):
10633         nas.c (readChunk): {BIG,LITTLE}_ENDIAN -> NAS_{BIG,LITTLE}_ENDIAN.
10634         Somehow escaped from the 2000-08-14 patch.
10635
10636 2000-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
10637
10638         * nas.c:  Preprocessor trickery to use NAS_LITTLE_ENDIAN instead
10639         of LITTLE_ENDIAN (conflicts with glibc, at least) in NAS <= 1.2p5.
10640
10641 2000-08-21  Andy Piper  <andy@xemacs.org>
10642
10643         * glyphs-x.c (x_map_subwindow): Minor optimization - only map the
10644         window if it is not already displayed.
10645
10646         * glyphs-msw.c (mswindows_map_subwindow): only map the window if
10647         it is not already displayed.
10648
10649         * window.c (Fset_window_configuration): don't reset the frame
10650         cache.
10651
10652         * glyphs.c (unmap_subwindow_instance_cache_mapper): only remove
10653         instances from the frame cache if we are actually finalizing them.
10654         (reset_frame_subwindow_instance_cache): reset frame cache only
10655         after unmapping everything.
10656         (map_subwindow): set displayed flag after mapping.
10657
10658 2000-08-21  Martin Buchholz  <martin@xemacs.org>
10659
10660         * data.c (indirect_function):
10661         Rename ERRORP to non-misleading VOID_FUNCTION_ERRORP.
10662
10663         * eval.c (function_argcount):
10664         Use original function when signaling errors.
10665
10666 2000-08-18  Andy Piper  <andy@xemacs.org>
10667
10668         * frame.c (delete_frame_internal): use new
10669         free_frame_subwindow_instances name.
10670
10671         * glyphs-msw.c (mswindows_tab_control_instantiate): verify index.
10672         (add_tab_item): make return type correct.
10673         (mswindows_tab_control_instantiate): assert index of tab.
10674         (mswindows_tab_control_redisplay): Re-code to use
10675         gui_item_equal_sans_selected and gui_item_list_find_selected.
10676
10677         * glyphs-widget.c (tab_control_update): Correct comment.
10678
10679         * window.c (window_unmap_subwindows): use new
10680         unmap_subwindow_instance_cache_mapper.
10681         (window_unmap_subwindows_cache_mapper): deleted.
10682         (Fset_window_configuration): comparisons should now be with
10683         EQ. Preserve the subwindow instance cache across configuration
10684         changes.
10685         (allocate_window): ditto.
10686         (make_dummy_parent): ditto.
10687
10688         * glyphs.c (free_frame_subwindow_instances): rename from
10689         free_frame_subwindow_instance_cache. finalize all instances rather
10690         than just those in the display cache.
10691         (finalize_all_subwindow_instances): walk windows unmapping and
10692         finalizing subwindows.
10693         (unmap_subwindow_instance_cache_mapper): moved from
10694         window.c. Allow finalization as well as unmapping.
10695
10696         * gui.c (gui_item_list_find_selected): new function.
10697
10698         * gui.h (gui_item_list_find_selected): declare.
10699
10700         * glyphs-x.c (x_tab_control_redisplay): pick tab
10701         explicitly. Re-code to use gui_item_equal_sans_selected and
10702         gui_item_list_find_selected.
10703
10704         * glyphs-x.h: add lwlib-utils.h
10705
10706         * buffer.c (Frecord_buffer): undo previous change.
10707
10708 2000-08-09  Vin Shelton  <acs@xemacs.org>
10709
10710         * config.h.in, s/gnu.h, s/hpux.h, s/linux.h: Use UNIX98 PTYs if
10711         possible.  Create temporary files more securely.  The patch was
10712         generated by Torsten Duwe <duwe@caldera.de>, Florian Weimer
10713         <Florian.Weimer@RUS.Uni-Stuttgart.DE> and Olaf Kirch.  See
10714         http://www.xemacs.org/list-archives/xemacs-patches/200007/msg00123.html
10715         for details.
10716
10717 2000-08-07  Ben Wing  <ben@xemacs.org>
10718
10719         * getloadavg.c: remove duplicate (and windows-breaking)
10720         includes of fcntl.h and sys/file.h.
10721
10722         * nt.c: remove duplicate getloadavg() definition.
10723
10724         * sysdll.h (Qdll_filename_encoding): add missing stand-in
10725         encodings.
10726
10727 2000-08-07  Gunnar Evermann  <ge204@eng.cam.ac.uk>
10728
10729         * eval.c (function_argcount): If function needs to be autoloaded
10730         actually use the loaded definition.
10731         GCPRO function.
10732
10733 2000-08-05  Ben Wing  <ben@xemacs.org>
10734
10735         * getloadavg.c: add prototype for getloadavg().  remove
10736         duplicate WIN32_NATIVE/CYGWIN code (already in the middle
10737         of the code).  remove duplicate header includes.
10738
10739         * s\cygwin32.h, s\mingw32.h: remove stray NO_ARG_ARRAY.
10740
10741         * s\cygwin32.h, s\mingw32.h, m\windowsnt.h:
10742         don't define LOAD_AVE_TYPE/LOAD_AVE_CVT because we have no
10743         useful load average.
10744
10745         * alloc.c (reinit_alloc_once_early): removed references to
10746         VIRT_ADDR_VARIES, malloc_sbrk_used/free, and data-bytes-used/free.
10747         the lisp vars are the only things referencing the malloc_sbrk_*
10748         vars, and they were already if 0'd out.  these vars only exist
10749         in the older malloc.c, which is basically unused, and they're
10750         only for informational purposes.
10751
10752         * m\*.h: removed useless VIRT_ADDR_VARIES.
10753
10754         * m\powerpc.h: removed stray NO_ARG_ARRAY.
10755
10756 2000-04-26  IKEYAMA Tomonori  <tomonori@suiyokai.org>
10757
10758         * redisplay-msw.c (mswindows_output_dibitmap): Set foreground
10759         color if the image is a mono pixmap.
10760
10761 2000-07-30  Ben Wing  <ben@xemacs.org>
10762
10763         * Makefile.in.in (release):
10764         Remove stray @.
10765
10766         * buffer.c (directory_is_current_directory):
10767         * dired-msw.c (mswindows_get_files):
10768         * dired.c:
10769         * dired.c (Fdirectory_files):
10770         * dired.c (file_name_completion_stat):
10771         * dired.c (Ffile_attributes):
10772         [[[[1]]]]: Rename stat() -> xemacs_stat() and eliminate nasty
10773         preprocessor tricks, to avoid problems on some machines
10774         (e.g. SCO).
10775
10776         * callproc.c (egetenv): GC docs.
10777
10778         * console-msw.h:
10779         * console-msw.h (struct mswindows_dialog_id):
10780         * lrecord.h (lrecord_type):
10781         New object for use with MSW dialogs.
10782
10783         * console.h (struct console_methods):
10784         New enable/disable frame methods, for proper modal dialogs.
10785
10786         * device-msw.c (msprinter_default_printer): Fix to follow
10787         proper Mule conventions.
10788
10789         * device-msw.c:
10790         * device-msw.c (signal_open_printer_error):
10791         * device-msw.c (msprinter_init_device):
10792         * device-msw.c (ensure_not_printing):
10793         * device-msw.c (plist_get_margin):
10794         * device-msw.c (Fmsprinter_select_settings):
10795         * device-msw.c (finalize_devmode):
10796         * device-msw.c (Fmsprinter_settings_despecialize):
10797         * device-msw.c (signal_enum_priner_error):
10798         * extents.c (decode_extent):
10799         * extents.c (decode_map_extents_flags):
10800         * extents.c (decode_extent_at_flag):
10801         * extents.c (Fextent_at):
10802         * extents.c (Fextents_at):
10803         * extents.c (symbol_to_glyph_layout):
10804         [[[[2]]]] Use structured errors.
10805
10806         * dialog-msw.c:
10807         * dialog-msw.c (mswindows_is_dialog_msg):
10808         * dialog-msw.c (mark_mswindows_dialog_id):
10809         * dialog-msw.c (dialog_proc):
10810         * dialog-msw.c (handle_question_dialog_box):
10811         * dialog-msw.c (syms_of_dialog_mswindows):
10812         Define new object to clean up marking; use it as a dialog identifier.
10813         Call new delete-dialog-box-hook.
10814
10815         * dialog-x.c (dbox_selection_callback):
10816         * dialog-x.c (dbox_descriptor_to_widget_value):
10817         * dialog-x.c (x_make_dialog_box_internal):
10818         Call new delete-dialog-box-hook.
10819         Return an id.
10820
10821         * dialog.c:
10822         * dialog.c (syms_of_dialog):
10823         * dialog.c (vars_of_dialog):
10824         Define new delete-dialog-box-hook, for use w/modal dialog boxes.
10825
10826         * eval.c:
10827         * eval.c (signal_call_debugger):
10828         when noninteractive, output stack traces on the console instead
10829         of in a (never-seen) buffer.
10830
10831         * eval.c (signal_type_error):
10832         * eval.c (invalid_argument_2):
10833         * lisp.h:
10834         new funs for use w/structured errors.
10835
10836         * event-Xt.c:
10837         * event-Xt.c (x_to_emacs_keysym):
10838         * event-Xt.c (describe_event):
10839         * event-Xt.c (emacs_Xt_event_handler):
10840         * event-Xt.c (vars_of_event_Xt):
10841         * event-msw.c:
10842         * event-msw.c (mswindows_wnd_proc):
10843         * event-msw.c (vars_of_event_mswindows):
10844         rename {x,mswindows}-debug-events to debug-{}-events for
10845         consistency with other debug-foo variables.
10846
10847         * event-stream.c:
10848         document next-event more clearly.
10849
10850         * fileio.c (Ffile_name_directory):
10851         * fileio.c (Ffile_name_nondirectory):
10852         * fileio.c (Funhandled_file_name_directory):
10853         * fileio.c (file_name_as_directory):
10854         * fileio.c (Ffile_name_as_directory):
10855         * fileio.c (directory_file_name):
10856         * fileio.c (Fdirectory_file_name):
10857         * fileio.c (Fmake_temp_name):
10858         * fileio.c (Ffile_truename):
10859         * fileio.c (Fsubstitute_in_file_name):
10860         * fileio.c (expand_and_dir_to_file):
10861         * fileio.c (barf_or_query_if_file_exists):
10862         * fileio.c (check_executable):
10863         * fileio.c (Ffile_exists_p):
10864         * fileio.c (Ffile_writable_p):
10865         * fileio.c (Ffile_directory_p):
10866         * fileio.c (Ffile_regular_p):
10867         * fileio.c (Ffile_modes):
10868         * fileio.c (Ffile_newer_than_file_p):
10869         * fileio.c (Fverify_visited_file_modtime):
10870         * fileio.c (Fset_visited_file_modtime):
10871         * fileio.c (auto_save_1):
10872         (1). (2).
10873         fix up gcpro's.
10874
10875         * frame-msw.c:
10876         * frame-msw.c (mswindows_init_frame_1):
10877         * frame-msw.c (mswindows_enable_frame):
10878         * frame-msw.c (error_frame_unsizable):
10879         * frame-msw.c (msprinter_init_frame_1):
10880         * frame-msw.c (msprinter_init_frame_3):
10881         * frame-msw.c (console_type_create_frame_mswindows):
10882         (2).
10883         implement new enable/disable frame methods.
10884
10885         * frame-x.c:
10886         * frame-x.c (x_enable_frame):
10887         * frame-x.c (console_type_create_frame_x):
10888         implement new enable/disable frame methods.
10889
10890         * frame.c:
10891         * frame.c (Fdisable_frame):
10892         * frame.c (syms_of_frame):
10893         * frame.h (struct frame):
10894         implement new enable/disable frame methods/functions.
10895
10896         * general-slots.h:
10897         add initial-focus.
10898
10899         * glyphs-msw.c (mswindows_widget_instantiate):
10900         comment that initial-focus should be implemented.
10901
10902         * glyphs-widget.c:
10903         * glyphs-widget.c (check_valid_instantiator):
10904         * glyphs-widget.c (check_valid_orientation):
10905         * glyphs-widget.c (check_valid_tab_orientation):
10906         * glyphs-widget.c (check_valid_justification):
10907         * glyphs-widget.c (check_valid_border):
10908         * glyphs-widget.c (check_valid_callback):
10909         * glyphs-widget.c (check_valid_int_or_function):
10910         * glyphs-widget.c (check_valid_string_or_vector):
10911         * glyphs-widget.c (check_valid_item_list_1):
10912         * glyphs-widget.c (widget_validate):
10913         * glyphs-widget.c (combo_box_validate):
10914         * glyphs-widget.c (widget_instantiate):
10915         * glyphs-widget.c (syms_of_glyphs_widget):
10916         * glyphs-widget.c (VALID_WIDGET_KEYWORDS):
10917         * glyphs-widget.c (image_instantiator_combo_box):
10918         * glyphs-widget.c (image_instantiator_scrollbar):
10919         * glyphs-widget.c (image_instantiator_tab_control):
10920         * glyphs-widget.c (VALID_LAYOUT_KEYWORDS):
10921         (2).
10922         support (unimplemented) keyword initial-focus.
10923         reindent long macros.
10924
10925         * glyphs-x.c (x_redisplay_widget):
10926         * glyphs-x.c (x_button_instantiate):
10927         * glyphs-x.c (x_button_redisplay):
10928         * glyphs-x.c (x_progress_gauge_instantiate):
10929         * glyphs-x.c (x_edit_field_instantiate):
10930         * glyphs-x.c (x_combo_box_instantiate):
10931         * glyphs-x.c (x_tab_control_instantiate):
10932         * glyphs-x.c (x_label_instantiate):
10933         * gui-x.c:
10934         * gui-x.c (button_item_to_widget_value):
10935         * gui-x.c (gui_items_to_widget_values_1):
10936         * gui-x.c (gui_item_children_to_widget_values):
10937         * gui-x.c (gui_items_to_widget_values):
10938         * gui-x.h:
10939         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
10940         add new flag to gui-parsing routines to indicate whether
10941         accelerator specs should be supported.
10942
10943         * glyphs.c (syms_of_glyphs): use DEFSYMBOL.
10944
10945         * glyphs.h (struct Lisp_Image_Instance):
10946         * glyphs.h (IMAGE_INSTANCE_WANTS_INITIAL_FOCUS):
10947         add initial-focus flag.
10948
10949         * gui.c:
10950         * gui.c (syms_of_gui):
10951         * gui.c (vars_of_gui):
10952         clean up menu-no-selection-hook.
10953
10954         * gui.h:
10955         support delete-dialog-box-hook.
10956
10957         * lread.c (Fload_internal):
10958         * lread.c (locate_file_in_directory_mapper):
10959         (1).
10960
10961         * lrecord.h:
10962         * lrecord.h (struct toolbar_button):
10963         * lrecord.h (syms_of_toolbar):
10964         document how to create a new object.
10965
10966         * menubar-msw.c (mswindows_char_is_accelerator):
10967         may be called on frames w/o menus.
10968
10969         * menubar.c (vars_of_menubar):
10970         clean up :filter docs.
10971
10972         * nt.c (readdir):
10973         * ntproc.c:
10974         (1).
10975
10976         * process-nt.c:
10977         * process-nt.c (validate_signal_number):
10978         * process-nt.c (signal_cannot_launch):
10979         * process-nt.c (nt_create_process):
10980         * process-nt.c (nt_send_process):
10981         * process-nt.c (nt_kill_child_process):
10982         * process-nt.c (nt_open_network_stream):
10983         * process-nt.c (syms_of_process_nt):
10984         (2).
10985         delete quote-handling.  call new lisp code that does it better.
10986
10987         * process-unix.c (connect_to_file_descriptor):
10988         * process-unix.c (allocate_pty):
10989         * process-unix.c (unix_send_process):
10990         * process-unix.c (unix_kill_child_process):
10991         * process-unix.c (unix_open_network_stream):
10992         * process-unix.c (unix_open_multicast_group):
10993         (1). (2).
10994
10995         * process.c:
10996         * process.c (Fstart_process_internal):
10997         (2).  need to canonicalize process path even if absolute.
10998
10999         * select-msw.c (symbol_to_ms_cf):
11000         * select-msw.c (ms_cf_to_symbol):
11001         * select-msw.c (cf_is_autofreed):
11002         * select-msw.c (mswindows_destroy_selection):
11003         * select.c:
11004         * select.c (syms_of_select):
11005         * select.h:
11006         support dibv5, fix bugs. (from Mike Alexander)
11007
11008         * select.c (Fget_selection_internal):
11009         * select.c (select_convert_out):
11010
11011         * sysdep.c:
11012         * sysdep.c (xemacs_stat):
11013         renamed.
11014
11015         * sysdep.c (mkdir):
11016         * sysdep.c (rmdir):
11017         but keep original stat() here because we provide encapsulation
11018         around these funs.
11019
11020         * sysfile.h:
11021         * sysfile.h (fstat):
11022         remove stat garbage.
11023
11024         * syswindows.h:
11025         fix X/MSW conflict.
11026         don't include tchar.h.  it's inappropriate because it makes
11027         compile-time distinctions when we want runtime distinctions.
11028         (we provide our own tchar replacements)
11029
11030         * toolbar.c:
11031         use default object printer for toolbar-button.
11032
11033         * unexcw.c:
11034         make sure we don't encapsulate.
11035
11036         * window.c (vars_of_window):
11037         emphasize that temp-buffer-show-hook is obsolete.
11038
11039 2000-08-05  Martin Buchholz  <martin@xemacs.org>
11040
11041         * glyphs.c (image_instance_hash): HASH2 wants EMACS_INT args.
11042         (Fimage_instance_subwindow_id): make_int wants EMACS_INT arg.
11043
11044         * events.c (Fevent_timestamp_lessp):
11045         Not 64-bit clean.  Use EMACS_INT, not int.
11046
11047 2000-06-05  Andrew Begel <abegel@cs.berkeley.edu>
11048
11049         * lrecord.h (lrecord_types): Changed lrecord_type_count to an
11050         unsigned int and changed the last enum to
11051         lrecord_type_last_built_in_type.
11052         (lrecord_implementations_table): changed prototype to know how
11053         long the array is supposed to be.
11054         (lrecord_type_count): new unsigned int to keep track of the
11055         current number of lisp lrecord types.
11056         (DEFINE_EXTERNAL_LRECORD):
11057         (DECLARE_EXTERNAL_LRECORD): Added these two for external
11058         dynamic-modules to declare new lisp types. They are the same
11059         as the non-EXTERNAL forms, but declare an lrecord_type unsigned
11060         int for each new type, and increment lrecord_type_count by 1.
11061
11062         * alloc.c (lrecord_implementations_table): Changed to reference
11063         lrecord_type_last_built_in_type for the size of the array.
11064         Moved MODULE_DEFINABLE_TYPE_COUNT to lrecord.h.
11065
11066 2000-08-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
11067
11068         * glyphs.h (check_valid_item_list): Renamed from
11069         check_valid_item_list_1.
11070
11071 2000-08-01 Alastair J. Houghton <ajhoughton@lineone.net>
11072
11073         * select.c (Qselect_coerce): New.
11074         * select.c (Vselection_coercion_alist): New.
11075         * select.c (syms_of_select): Declare.
11076         * select.c (get-selection-internal): Use it.
11077         Use the new select-coerce functionality.
11078
11079         * select.c (select_coerce): New.
11080         * select.h (select_coerce): Declare.
11081         New function to coerce one type of data into another.
11082
11083 2000-08-03  Martin Buchholz  <martin@xemacs.org>
11084
11085         * callproc.c (Fcall_process_internal):
11086         (Fcall_process_internal):
11087         * process-unix.c (unix_create_process):
11088         Save and restore the value of errno, so that error messages are accurate.
11089
11090 2000-08-01  Martin Buchholz  <martin@xemacs.org>
11091
11092         * elhash.c (print_hash_table):
11093         Fix printing of hash tables to also use `key-and-value' instead of `t'.
11094         Prettify docstrings and indentation.
11095
11096 2000-07-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
11097
11098         * window.c (Fwindow_pixel_edges): Subtract frame border and
11099         gutter size.
11100
11101 2000-07-31  Andy Piper  <andy@xemacs.org>
11102
11103         * buffer.c (Frecord_buffer): make absolutely sure that redisplay
11104         will acknowledge the change.
11105
11106         * glyphs.h: declare tab_control_order_only_changed.
11107
11108         * glyphs-x.c (x_tab_control_redisplay): use
11109         tab_control_order_only_changed.
11110
11111         * glyphs-widget.c (tab_control_order_only_changed): new function.
11112
11113         * glyphs-msw.c (mswindows_tab_control_redisplay): use
11114         tab_control_order_only_changed.
11115
11116         * gui.c (gui_item_equal_sans_selected): new function.
11117         (gui_item_equal): use it.
11118
11119         * glyphs-msw.c (mswindows_combo_box_instantiate): deprecate
11120         :properties in favor of :items..
11121
11122         * glyphs-widget.c (check_valid_item_list): rename from
11123         check_valid_item_list_1.
11124         (check_valid_item_list_1): renamed.
11125         (combo_box_validate): deprecate :properties in favor of :items.
11126         (widget_instantiate): ditto.
11127         (tab_control_update): ditto.
11128         (image_instantiator_combo_box): ditto.
11129         (image_instantiator_tree_view): ditto.
11130         (image_instantiator_tab_control): ditto.
11131         (layout_post_instantiate): remove dead code.
11132
11133         * print.c (debug_print_no_newline): only write to debugger if in
11134         WIN32_NATIVE.
11135
11136         * elhash.c (Fmake_hash_table): update doc string.
11137
11138         * event-msw.c (mswindows_wnd_proc): don't allow processing of
11139         messages whilst in GC. This at least stops XEmacs crashing but has
11140         the potential for wierd behaviour.
11141
11142 2000-07-31  Martin Buchholz  <martin@xemacs.org>
11143
11144         * config.h.in:
11145         Make existence of s&m files optional.
11146
11147         * s/bsd386.h: Remove HAVE_GETLOADAVG.
11148         * s/freebsd.h: Remove HAVE_GETLOADAVG.
11149         * s/gnu.h: Remove HAVE_GETLOADAVG.
11150         * s/netbsd.h: Remove HAVE_GETLOADAVG.
11151         * s/sol2.h: Remove HAVE_GETLOADAVG.
11152         * lisp.h: Remove getloadavg() declaration.
11153         * fns.c:
11154         Include <sys/loadavg.h> if available.
11155         Don't declare our own getloadavg() if HAVE_GETLOADAVG.
11156         * config.h.in:  Group together getloadavg()-related macros.
11157         Use only configure-time tests to detect getloadavg().
11158
11159 2000-07-30  Martin Buchholz  <martin@xemacs.org>
11160
11161         * Makefile.in.in (TransientEmacsShell.o): Fix race condition.
11162
11163 2000-07-25  Andy Piper  <andy@xemacs.org>
11164
11165         * syswindows.h: add tchar.h for native builds.
11166
11167         * frame.c (syms_of_frame): remove set-glyph-image.
11168
11169         * general-slots.h: add Qset_glyph_image.
11170
11171         * glyphs-widget.c (layout_update): add domain arg to
11172         set-glyph-image.
11173         (syms_of_glyphs_widget): remove set-glyph-image.
11174
11175 2000-07-23  Ben Wing  <ben@xemacs.org>
11176
11177         * dialog-msw.c (vars_of_dialog_mswindows): need to staticpro
11178         Vpopup_frame_list.
11179
11180 2000-07-22  Andy Piper  <andy@xemacs.org>
11181
11182         * symsinit.h: add syms_of_win32().
11183
11184         * gui-msw.c (syms_of_gui_mswindows): remove
11185         Fmswindows_shell_execute.
11186         (Fmswindows_shell_execute): moved to win32.c.
11187
11188         * emacs.c (main_1): add syms_of_win32 ().
11189
11190         * win32.c (init_potentially_nonexistent_functions): rewrite in
11191         compiler-friendly terms.
11192         (Fmswindows_shell_execute): move here from gui-msw.c.
11193         (syms_of_win32): new.
11194
11195         * device-msw.c (Fmswindows_printer_list): clean up args to
11196         EnumPrinters.
11197         Don't include tchar under cygwin or mingw.
11198         (msprinter_default_printer): make cygwin-friendly.
11199
11200 2000-07-21  Andy Piper  <andy@xemacs.org>
11201
11202         * glyphs-widget.c (image_instantiator_tree_view): use tab
11203         control's update function.
11204         (layout_property): new function. Retrieve items.
11205
11206         * glyphs-msw.c (mswindows_tree_view_redisplay): new
11207         function. Re-populate the tree view from the pending items.
11208
11209         * glyphs.c (instantiate_image_instantiator): Make sure the domain
11210         is designated the parent if the domain is an image instance. This
11211         is needed so that dirtiness can be cascade up the hierarchy and
11212         thus for layout children to be redisplayed correctly.
11213         (allocate_image_instance): rename glyph -> parent.
11214
11215         * redisplay.h: change redisplay_output_layout signature.
11216
11217         * redisplay-msw.c (mswindows_output_display_block): use domain
11218         arg.
11219
11220         * redisplay-x.c (x_output_display_block): use domain arg.
11221
11222 2000-07-10  Andy Piper  <andy@xemacs.org>
11223
11224         * window.c (Fset_window_configuration): add comment.
11225
11226         * redisplay-output.c (compare_runes):
11227         (redisplay_output_subwindow): redisplay rather than update subwindow.
11228         (redisplay_output_layout): ditto.
11229
11230         * redisplay-msw.c (mswindows_frame_output_end):
11231         (mswindows_frame_output_end): make defer window pos optional.
11232
11233         * lisp.h: add Flast.
11234
11235         * glyphs.h (struct image_instantiator_methods): add dest_mask top
11236         normalize method. Change update method to be for changed
11237         instantiators. Add redisplay method. Change signature of layout
11238         method.
11239         (struct Lisp_Image_Instance): add instantiator.
11240         (IMAGE_INSTANCE_INSTANTIATOR): new.
11241         (IMAGE_INSTANCE_SUBWINDOW_FACE): new.
11242         (XIMAGE_INSTANCE_INSTANTIATOR): new.
11243         (XIMAGE_INSTANCE_SUBWINDOW_FACE): new.
11244
11245         * glyphs.c:
11246         (find_instantiator_differences): new function.
11247         (Fset_instantiator_property): new convenience function.
11248         (check_image_instance_structure): strictly check for vector
11249         instantiators.
11250         (normalize_image_instantiator): make non-static.
11251         (instantiate_image_instantiator): pass on dest_mask and use new
11252         signatures for image_instance_layout and friends.
11253         (mark_image_instance): mark the instantiator. Mark the subwindow
11254         face not the widget face.
11255         (image_instance_equal): add instantiator.
11256         (image_instance_hash): ditto.
11257         (allocate_image_instance): ditto.
11258         (Fset_image_instance_property): removed.
11259         (Fimage_instance_file_name): ditto.
11260         (Fcolorize_image_instance): ditto.
11261         (image_instance_layout): add offsets to be set.
11262         (update_image_instance): new function. update an image instance
11263         from its changed instantiator.
11264         (inherit_normalize): add dest_mask.
11265         (xbm_normalize): ditto.
11266         (xface_normalize): ditto.
11267         (xpm_normalize): ditto.
11268         (text_update): set_property -> update.
11269         (image_instantiate): use the glyph identity as a hash key, not the
11270         instantiator.
11271         (glyph_width): use new image_instance_layout signature.
11272         (glyph_ascent): ditto.
11273         (glyph_descent): ditto.
11274         (glyph_height): ditto.
11275         (glyph_query_geometry): ressurrect.
11276         (glyph_layout): ditto.
11277         (redisplay_subwindow): update -> redisplay.
11278         (syms_of_glyphs): add Fset_instantiator_property.
11279         (image_instantiator_format_create): set_property -> update.
11280
11281         * glyphs-x.c:
11282         (autodetect_normalize): add dest_maks to signature.
11283         (x_redisplay_subwindow): update -> redisplay.
11284         (x_redisplay_widget): ditto.
11285         (x_button_redisplay): ditto.
11286         (x_progress_gauge_redisplay): ditto.
11287         (x_tab_control_redisplay): ditto. Rewrite to cope with changed
11288         stacking order.
11289         (console_type_create_glyphs_x): update -> redisplay.
11290         (image_instantiator_format_create_glyphs_x): ditto.
11291
11292         * glyphs-widget.c:
11293         (check_valid_instantiator): disallow glyphs in the instantiator,
11294         they must now be vectors.
11295         (check_valid_instantiator_list): ditto.
11296         (glyph_instantiator_to_glyph): use internal symbol rather than
11297         intern.
11298         (widget_update): renamed from widget_set_property. Call cascaded
11299         update methods.
11300         (redisplay_widget): renamed from update_widget.
11301         (widget_layout): image_instance_layout now takes position as well
11302         as size.
11303         (widget_normalize): ditto.
11304         (widget_instantiate): ditto.
11305         (tab_control_query_geometry) ditto.:
11306         (tab_control_update): renamed from tab_control_set_property.
11307         (progress_gauge_update): set_property -> update.
11308         (layout_normalize): rewrite so that child instantiators are
11309         normalized also.
11310         (layout_update): new function. Create glyphs from the normalized
11311         children and cope with any other layout keywords. We do not
11312         instantiate children here that will be take care of by
11313         redisplay_output_layout.
11314         (layout_instantiate): call layout_update and not much else.
11315         (layout_post_instantiate): not sure whether this is needed
11316         anymore.
11317         (layout_query_geometry): query glyph geometry rather than
11318         image_instance geometry.
11319         (layout_layout): set offsets from pass in parameters. Use glyph
11320         geometry and layout functions rather than image instance ones.
11321         (native_layout_layout): ditto.
11322         (syms_of_glyphs_widget): add make-glyph and set-glyph-image.
11323         (image_instantiator_widget): set_property -> update.
11324         (image_instantiator_buttons): ditto.
11325         (image_instantiator_progress_guage): ditto.
11326         (image_instantiator_tab_control): ditto.
11327         (VALID_LAYOUT_KEYWORDS): instantiators must now be vectors.
11328         (image_instantiator_layout): add update method.
11329
11330         * glyphs-msw.c (bmp_normalize):
11331         (mswindows_resource_normalize): add dest_mask so that it can be
11332         proprogated by layout_normalize.
11333         (begin_defer_window_pos): make optional because it may not be the
11334         right thing to do and it introduces differences with X.
11335         (mswindows_unmap_subwindow): ditto.
11336         (mswindows_map_subwindow): ditto.
11337         (mswindows_redisplay_subwindow): renamed from
11338         mswindows_update_subwindow.
11339         (mswindows_redisplay_widget): ditto.
11340         (mswindows_button_redisplay): renamed from
11341         mswindows_button_update. Update is now what the instantiation
11342         function does for a changed instantiator.
11343         (mswindows_progress_gauge_instantiate): set the progress value
11344         here if appropriate.
11345         (mswindows_tab_control_redisplay): cope with re-ordering of the
11346         members of the tab widget by simply selecting the new top
11347         widget. This makes things appear ok if you click on a tab.
11348         (mswindows_combo_box_instantiate): image_instance_layout now takes
11349         position as well as size.
11350         (mswindows_progress_gauge_redisplay): renamed from
11351         mswindows_progress_gauge_update.
11352         (console_type_create_glyphs_mswindows): fix update -> redisplay.
11353         (image_instantiator_format_create_glyphs_mswindows): ditto.
11354
11355         * glyphs-eimage.c (jpeg_normalize):
11356         (gif_normalize):
11357         (png_normalize):
11358         (tiff_normalize): add dest_mask so that it can be proprogated by
11359         layout_normalize.
11360
11361         * elhash.c:
11362         (print_hash_table):
11363         (hash_table_weakness_validate):
11364         (decode_hash_table_weakness):
11365         (Fhash_table_weakness):
11366         (Fhash_table_type):
11367         (syms_of_elhash): use Ben's naming scheme for hashtable types..
11368
11369         * console.h (struct console_methods): move update_* to
11370         redisplay_*.
11371
11372 2000-07-20  Ben Wing  <ben@xemacs.org>
11373
11374         * *.[ch] (XSETOBJ): remove unused middle argument.
11375         lisp-disunion.h: correct wrap_object() to one argument.
11376
11377 2000-07-15  Ben Wing  <ben@xemacs.org>
11378
11379         * s/cygwin32.h:
11380         * s/cygwin32.h (CYGWIN_CONV_PATH):
11381         Add missing logb prototype for v1.1.
11382         Use post-b20 names and alias to pre-b20 names when pre-b20.
11383
11384         * s/windowsnt.h: [5].
11385
11386 2000-07-15  Ben Wing  <ben@xemacs.org>
11387
11388         * Makefile.in.in (x_objs):
11389         * Makefile.in.in (sheap_objs):
11390         * Makefile.in.in (objs):
11391         added win32.o, cosmetic cleanups.
11392
11393         * alloc.c (Fmake_byte_code):
11394         [[[1]]]: Changes for new LIST_LOOP, EXTERNAL_LIST_LOOP,
11395         etc. macros which declare their own args now.
11396
11397         * alloc.c (syms_of_alloc):
11398         [[[2]]]: Use DEFSYMBOL, DEFKEYWORD, DEFERROR and friends.
11399
11400         * buffer.c:
11401         Moved buffer-dedicated-frame, set-buffer-dedicated-frame into lisp.
11402
11403         * buffer.c (Fget_file_buffer):
11404         Fixed GCPRO problem.
11405
11406         * buffer.c (get_truename_buffer):
11407         Fixed comment about GC checking.
11408
11409         * buffer.c (syms_of_buffer):
11410         Undeclared those dedicated frame funs.
11411         [2].
11412
11413         * buffer.h:
11414         Define convenience macros for internal/external conversions.
11415         [[[3]]]: Define codesys aliases Qcommand_argument_encoding
11416         and Qenvironment_variable_encoding for cleaner code.
11417
11418         * bufslots.h:
11419         Remove dedicated-frame; in lisp.
11420
11421         * bytecode.c (funcall_compiled_function):
11422         [1].
11423
11424         * bytecode.c (syms_of_bytecode):
11425         [2].
11426
11427         * console-msw.c:
11428         * console-msw.c (mswindows_show_console): Rewrote.
11429
11430         * console-msw.c (Fmswindows_debugging_output): New.
11431         Sends to OutputDebugString (special MSWin debugger interface).
11432
11433         * console-msw.c (Fmswindows_message_box):
11434         Fixed stupid bugs so it works when called from kill-emacs.
11435
11436         * console-msw.c (syms_of_console_mswindows):
11437         Declare Fmswindows_debugging_output.
11438
11439         * console-msw.h:
11440         New MSWin prototypes.
11441
11442         * console-msw.h (struct mswindows_frame):
11443         New entry last-click-mods for improved button-modifier support.
11444
11445         * console-msw.h (FRAME_MSWINDOWS_POPUP):
11446         New struct entry `popup' with corresponding accessor.
11447
11448         * console-x.c:
11449         * console-x.c (split_up_display_spec):
11450         * console-x.c (get_display_arg_connection):
11451         * console-x.c (x_semi_canonicalize_console_connection):
11452         * console-x.c (x_canonicalize_device_connection):
11453         [[[6]]]: Change char to more specific type.
11454         [[[8]]]: Make use of abstracting codesys aliases defined in [3], [4];
11455
11456         * console-x.c (x_semi_canonicalize_console_connection):
11457         * console-x.c (x_canonicalize_device_connection):
11458         [[[9]]]: Fix up error signalling to use new structured error system.
11459
11460         * console-x.h:
11461         [[[4]]]: Define codesys aliases:
11462         Qlwlib_encoding, Qx_atom_name_encoding, Qx_font_name_encoding,
11463         Qx_color_name_encoding, Qx_display_name_encoding.
11464
11465         * console.h (struct console_methods):
11466         New method make_dialog_box_internal supersedes older
11467         popup_dialog_box method.
11468
11469         * data.c:
11470         Define many new errors, part of new structured errors.
11471
11472         * data.c (init_errors_once_early):
11473         * data.c (syms_of_data):
11474         [2].
11475
11476         * device-msw.c (mswindows_init_device):
11477         [[[5]]]: Cleanup to support NT 3.51.
11478
11479         * device-msw.c (decode_devmode): Cleanup.
11480
11481         * device-msw.c (mswindows_handle_print_setup_dialog_box):
11482         * device-msw.c (mswindows_handle_print_dialog_box):
11483         * device-msw.c (mswindows_handle_page_setup_dialog_box):
11484         * device-msw.c (syms_of_device_mswindows):
11485         Delete the dialog box primitives recently introduced by Kirill and
11486         instead interface to general dialog box interface.
11487
11488         * device-x.c:
11489         * device-x.c (compute_x_app_name):
11490         * device-x.c (x_init_device):
11491         * device-x.c (Fx_valid_keysym_name_p):
11492         * device-x.c (Fx_set_font_path):
11493         [6].
11494         [7].
11495
11496         * device.h (wrap_device): New.
11497         First of its kind; meant to replace XSETDEVICE.
11498
11499         * dialog-msw.c: Many file-dialog symbols.
11500
11501         * dialog-msw.c (mswindows_register_popup_frame): New.
11502         * dialog-msw.c (mswindows_is_dialog_msg): New.
11503         For supporting kbd traversal in dialog boxes.
11504
11505         * dialog-msw.c (dialog_proc):
11506         Support hitting ESC in dialogs.
11507
11508         * dialog-msw.c (struct):
11509         Common dialog box errors.
11510
11511         * dialog-msw.c (handle_file_dialog_box): New.
11512         Add file dialog code.
11513
11514         * dialog-msw.c (handle_question_dialog_box):
11515         Redo existing code to support new question dialog syntax.
11516
11517         * dialog-msw.c (console_type_create_dialog_mswindows):
11518         We support new dialog console method.
11519
11520         * dialog-msw.c (syms_of_dialog_mswindows):
11521         * dialog-msw.c (vars_of_dialog_mswindows):
11522         New file dialog symbols, vars.
11523
11524         * dialog-x.c:
11525         * dialog-x.c (maybe_run_dbox_text_callback):
11526         * dialog-x.c (dbox_descriptor_to_widget_value):
11527         * dialog-x.c (x_make_dialog_box_internal):
11528         * dialog-x.c (console_type_create_dialog_x):
11529         Mule-ize entire file.
11530         Redo to support question dialog syntax.
11531         [6].
11532
11533         * dialog.c:
11534         * dialog.c (Fmake_dialog_box_internal):
11535         * dialog.c (syms_of_dialog):
11536         Kill old popup-dialog-box, replace with new primitive.
11537         Just call device method or signal error.
11538
11539         * eldap.c (Fldap_open):
11540         * eldap.c (Fldap_search_basic):
11541         * eldap.c (Fldap_add):
11542         * eldap.c (Fldap_modify):
11543         [1].
11544         [7].
11545
11546         * emacs.c:
11547         * emacs.c (make_arg_list_1):
11548         * emacs.c (make_arg_list):
11549         Mule-ize call to dll_init().
11550         [6].
11551         [8].
11552
11553         * emacs.c (make_argc_argv):
11554         * emacs.c (free_argc_argv):
11555         * emacs.c (init_cmdargs):
11556         * emacs.c (main_1):
11557         * emacs.c (Fkill_emacs):
11558         * emacs.c (Fdump_emacs):
11559         Update comments about what can be used in syms_* etc.
11560         Call init_win32() when necessary.
11561         Fix up MS Win dialog box in kill-buffer to actually work right.
11562         [7].
11563
11564         * eval.c:
11565         * eval.c (For):
11566         * eval.c (Fand):
11567         * eval.c (Fprogn):
11568         * eval.c (Fprog1):
11569         * eval.c (Fprog2):
11570         * eval.c (FletX):
11571         * eval.c (Flet):
11572         * eval.c (condition_case_3):
11573         * eval.c (Feval):
11574         * eval.c (function_argcount):
11575         * eval.c (funcall_lambda):
11576         [1].
11577
11578         * eval.c (type_error): New.
11579         * eval.c (maybe_type_error): New.
11580         * eval.c (continuable_type_error): New.
11581         * eval.c (maybe_continuable_type_error): New.
11582         * eval.c (type_error_with_frob): New.
11583         * eval.c (maybe_type_error_with_frob): New.
11584         * eval.c (continuable_type_error_with_frob): New.
11585         * eval.c (maybe_continuable_type_error_with_frob): New.
11586         New functions for use with structured errors.
11587
11588         * event-Xt.c:
11589         * event-Xt.c (x_event_to_emacs_event):
11590         Buttons are now modifiers too.
11591
11592         * event-Xt.c (emacs_Xt_current_event_timestamp):
11593         Implement new event method.
11594         * event-Xt.c (reinit_vars_of_event_Xt): Set it.
11595
11596         * event-msw.c:
11597         * event-msw.c (ntpipe_shove_writer): [5].
11598         * event-msw.c (mswindows_enqueue_mouse_button_event):
11599         * event-msw.c (mswindows_drain_windows_queue):
11600         * event-msw.c (mswindows_wnd_proc): [7].
11601         * event-msw.c (mswindows_current_layout_has_AltGr): [5].
11602         * event-msw.c (mswindows_modifier_state):
11603         Throughout: support new button modifiers.
11604
11605         * event-msw.c (emacs_mswindows_current_event_timestamp):
11606         Implement new event method.
11607         * event-msw.c (reinit_vars_of_event_mswindows): Set it.
11608
11609         * event-stream.c:
11610         * event-stream.c (event_stream_current_event_timestamp): New.
11611         * event-stream.c (maybe_kbd_translate): New functionality.
11612         * event-stream.c (vars_of_event_stream):
11613         Document new kbd-translate-table functionality.
11614
11615         * event-stream.c (Fcurrent_event_timestamp): New.
11616         New primitive for use in fabricated events.
11617         * event-stream.c (syms_of_event_stream): [2]. Declare new primitive.
11618
11619         * events-mod.h (XEMACS_MOD_BUTTON1): new button modifiers.
11620
11621         * events.c:
11622         * events.c (Fmake_event):
11623         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY):
11624         [1].
11625         [9].
11626
11627         * events.c (format_event_object): fix gcc warnings.
11628
11629         * events.c (Fevent_timestamp): Document new primitives.
11630
11631         * events.c (TIMESTAMP_HALFSPACE): New.
11632
11633         * events.c (Fevent_timestamp_lessp): New.  New primitive for
11634         comparing timestamps correctly (half-space algorithm).
11635
11636         * events.c (Fevent_modifier_bits): Doc fix.
11637
11638         * events.c (Fevent_modifiers): Major doc addition.
11639         * events.c (event_x_y_pixel_internal): Typo fix.
11640         * events.c (syms_of_events): Declare new primitives.
11641
11642         * events.h:
11643         Update long comment for button modifiers, timestamps.
11644
11645         * events.h (struct event_stream):
11646         New current_event_timestamp method.
11647
11648         * extents.c:
11649         * extents.c (extent_in_region_p):
11650         * extents.c (decode_extent):
11651         * extents.c (Fset_extent_parent):
11652         * extents.c (decode_map_extents_flags):
11653         Fix gcc warnings.
11654         [9].
11655
11656         * extents.c (struct extent_at_arg):
11657         * extents.c (decode_extent_at_flag):
11658         * extents.c (extent_at_mapper):
11659         * extents.c (extent_at_bytind):
11660         * extents.c (Fextent_at): Adapt to new lower-level interface. [9].
11661         * extents.c (Fextents_at): New primitive. [9].
11662         * extents.c (symbol_to_glyph_layout): [9].
11663         Support new primitive `extents-at'.
11664
11665
11666         * extents.c (get_text_property_bytind):
11667         extent_at_bytind has another arg.
11668         [9].
11669
11670         * extents.c (syms_of_extents): New primitive.
11671
11672         * file-coding.c (Fmake_coding_system): [1].
11673         * file-coding.c (subsidiary_coding_system): fix gcc warning
11674         * file-coding.c (syms_of_file_coding): [2].
11675
11676         * fileio.c (Fexpand_file_name):
11677         * fileio.c (Fsysnetunam):
11678         * fileio.c (Ffile_exists_p):
11679         * fileio.c (Ffile_executable_p):
11680         * fileio.c (Fverify_visited_file_modtime):
11681         Clean up GCPROing.
11682
11683         * fileio.c (syms_of_fileio): [2].
11684
11685         * filelock.c (lock_file_1):
11686         * filelock.c (current_lock_owner):
11687         * filelock.c (lock_if_free):
11688         * filelock.c (lock_file):
11689         * filelock.c (unlock_file):
11690         Clean up GCPROing.
11691
11692         * fns.c (concat): Fix gcc warning.
11693
11694         * fns.c (Fmember):
11695         * fns.c (Fold_member):
11696         * fns.c (Fmemq):
11697         * fns.c (Fold_memq):
11698         * fns.c (memq_no_quit):
11699         * fns.c (Fassoc):
11700         * fns.c (Fold_assoc):
11701         * fns.c (Fassq):
11702         * fns.c (Fold_assq):
11703         * fns.c (assq_no_quit):
11704         * fns.c (Frassoc):
11705         * fns.c (Fold_rassoc):
11706         * fns.c (Frassq):
11707         * fns.c (Fold_rassq):
11708         * fns.c (rassq_no_quit):
11709         * fns.c (Fdelete):
11710         * fns.c (Fold_delete):
11711         * fns.c (Fdelq):
11712         * fns.c (Fold_delq):
11713         * fns.c (delq_no_quit):
11714         * fns.c (Fremassoc):
11715         * fns.c (Fremassq):
11716         * fns.c (remassq_no_quit):
11717         * fns.c (Fremrassoc):
11718         * fns.c (Fremrassq):
11719         * fns.c (remrassq_no_quit):
11720         * fns.c (Freverse):
11721         * fns.c (mapcar1):
11722         [1].
11723
11724         * frame-msw.c (mswindows_init_frame_1):
11725         * frame-msw.c (mswindows_delete_frame):
11726         Register popups with dialog code so keyboard traversing works.
11727
11728         * frame-tty.c (tty_raise_frame_no_select): [1].
11729
11730         * frame-x.c:
11731         * frame-x.c (x_set_frame_text_value):
11732         * frame-x.c (x_set_frame_properties):
11733         * frame-x.c (x_create_widgets):
11734         [7].
11735
11736         * frame.c:
11737         * frame.c (Fmouse_pixel_position): Minor doc fixes.
11738
11739         * frame.h (wrap_frame): New.
11740         Macro like wrap_device.
11741
11742         * general.c:
11743         * general.c (SYMBOL):
11744         * general.c (syms_of_general):
11745         Major reorg.  This is now just a wrapper and symbols themselves
11746         are listed in general-slots.h.
11747
11748         * glyphs-eimage.c (tiff_instantiate): Need cast to fix warning.
11749         * glyphs-msw.c (mswindows_resource_instantiate): [5].
11750
11751         * glyphs-msw.c (mswindows_native_layout_instantiate):
11752         Add DS_CONTROL so keyboard traversal will work.
11753
11754         * glyphs-widget.c:
11755         * glyphs-widget.c (syms_of_glyphs_widget):
11756         Move some symbols to general-slots.h.
11757
11758         * glyphs-x.c:
11759         * glyphs-x.c (xbm_instantiate_1):
11760         * glyphs-x.c (x_xbm_instantiate):
11761         * glyphs-x.c (x_xface_instantiate):
11762         * glyphs-x.c (autodetect_instantiate):
11763         * glyphs-x.c (cursor_font_instantiate):
11764         * glyphs-x.c (x_update_widget):
11765         * glyphs-x.c (x_widget_instantiate):
11766         * glyphs.c (bitmap_to_lisp_data):
11767         * glyphs.c (pixmap_to_lisp_data):
11768         [7].
11769
11770         * glyphs.c (syms_of_glyphs):
11771         [2].
11772
11773         * gui-x.c:
11774         * gui-x.c (print_widget_value):
11775         * gui-x.c (menu_separator_style_and_to_external):
11776         * gui-x.c (add_accel_and_to_external):
11777         * gui-x.c (button_item_to_widget_value):
11778         * gui-x.c (gui_items_to_widget_values_1):
11779         * gui-x.c (gui_items_to_widget_values):
11780         * gui-x.c (syms_of_gui_x):
11781         * gui-x.c (vars_of_gui_x):
11782         Mule-ize entire file.  Move menu-no-selection-hook to gui.c.
11783         [9].
11784
11785         * gui-x.h:
11786         Muleize, prototype changes matching gui-x.c.
11787
11788         * gui.c:
11789         * gui.c (separator_string_p):
11790         * gui.c (gui_item_add_keyval_pair):
11791         * gui.c (make_gui_item_from_keywords_internal):
11792         * gui.c (signal_too_long_error):
11793         * gui.c (parse_gui_item_tree_item):
11794         * gui.c (syms_of_gui):
11795         * gui.c (vars_of_gui):
11796         * gui.h:
11797         menu-no-selection-hook moved here (used by MSWin).
11798         Move some symbols to general-slots.h.
11799         [6].
11800         [9].
11801
11802         * insdel.c (get_buffer_pos_char):
11803         * insdel.c (get_buffer_range_char):
11804         Add GC comments.
11805
11806         * keymap.c (keymap_lookup_directly):
11807         * keymap.c (keymap_store):
11808         * keymap.c (ensure_meta_prefix_char_keymapp):
11809         * keymap.c (describe_map):
11810         * keymap.h:
11811         Support new button modifiers.
11812
11813         * lisp-disunion.h (wrap_object):
11814         * lisp-disunion.h (XSETOBJ):
11815         Rename make_obj to wrap_object.
11816
11817         * lisp-union.h:
11818         * lisp-union.h (make_int):
11819         * lisp-union.h (make_char):
11820         Support wrap_object.
11821
11822         * lisp.h:
11823         * lisp.h (LIST_LOOP):
11824         * lisp.h (EXTERNAL_LIST_LOOP):
11825         * lisp.h (LIST_LOOP_2):
11826         * lisp.h (EXTERNAL_LIST_LOOP_1):
11827         * lisp.h (EXTERNAL_LIST_LOOP_2):
11828         * lisp.h (EXTERNAL_LIST_LOOP_3):
11829         * lisp.h (EXTERNAL_LIST_LOOP_4_NO_DECLARE):
11830         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
11831         * lisp.h (GET_EXTERNAL_LIST_LENGTH):
11832         * lisp.h (EXTERNAL_ALIST_LOOP_5):
11833         * lisp.h (EXTERNAL_ALIST_LOOP_6):
11834         * lisp.h (EXTERNAL_ALIST_LOOP_6_NO_DECLARE):
11835         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_5_NO_DECLARE):
11836         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_7):
11837         * lisp.h (struct Lisp_Symbol):
11838         * lisp.h (maybe_continuable_error_with_frob):
11839         Fix up section comments.
11840         Add new types for char to indicate usage.
11841         Delete symbols auto-generated from general-slots.h.
11842         Add prototypes for structured error functions.
11843         Add long comments describing looping macros and change interface
11844         so that lvalues are automatically declared.
11845         Add NO_DECLARE macro in case callers want to declare lvalues
11846         themselves.
11847
11848         * lread.c (read_syntax_error):
11849         * lread.c (continuable_read_syntax_error):
11850         * lread.c (read_structure):
11851         * lread.c (sequence_reader):
11852         * lread.c (read_list_conser):
11853         * lread.c (read_compiled_function):
11854         Rename syntax_error and continuable_syntax_error to avoid clash
11855         with same-named structured error functions.
11856
11857         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
11858         * menubar-msw.c (populate_menu_add_item):
11859         * menubar-msw.c (populate_or_checksum_helper):
11860         [5].
11861         [9].
11862
11863         * menubar-x.c:
11864         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
11865         Mule-ize whole file.
11866
11867         * menubar.c (Fnormalize_menu_item_name): Add optimization.
11868
11869         * mule-charset.c (Fmake_charset):
11870         * mule-wnnfns.c (Fwnn_set_param):
11871         [1].
11872
11873         * ntproc.c (create_child):
11874         * ntproc.c (Fwin32_set_current_locale):
11875         Add comments portending doom.
11876
11877         * objects-msw.c:
11878         * objects-msw.c (old_font_enum_callback_2):
11879         * objects-msw.c (font_enum_callback_1):
11880         * objects-msw.c (mswindows_enumerate_fonts):
11881         [5].
11882
11883         * objects-x.c:
11884         * objects-x.c (allocate_nearest_color):
11885         * objects-x.c (x_parse_nearest_color):
11886         * objects-x.c (x_initialize_color_instance):
11887         * objects-x.c (x_print_color_instance):
11888         * objects-x.c (x_finalize_color_instance):
11889         * objects-x.c (x_valid_color_name_p):
11890         * objects-x.c (x_initialize_font_instance):
11891         * objects-x.c (x_print_font_instance):
11892         * objects-x.c (valid_x_font_name_p):
11893         * objects-x.c (truename_via_FONT_prop):
11894         * objects-x.c (truename_via_random_props):
11895         * objects-x.c (truename_via_XListFonts):
11896         * objects-x.c (x_font_truename):
11897         * objects-x.c (x_font_instance_truename):
11898         * objects-x.c (x_font_instance_properties):
11899         * objects-x.c (x_list_fonts):
11900         * objects-x.c (x_find_charset_font):
11901         Mule-ize entire file.
11902         [7].
11903
11904         * objects-x.h:
11905         Mule-verify.
11906
11907         * print.c:
11908         * print.c (std_handle_out_external):
11909         * print.c (debug_print_no_newline):
11910         * print.c (syms_of_print):
11911         Output to all debugger kinds in debug-print.
11912         Fix console-output code under MSWin to actually work.
11913
11914         * process-nt.c (send_signal):
11915         * process-nt.c (nt_create_process):
11916         Use newer Unicode macros.
11917
11918         * process-unix.c (unix_create_process):
11919         * process-unix.c (unix_canonicalize_host_name):
11920         * process-unix.c (unix_open_network_stream):
11921         [7].
11922
11923         * scrollbar-x.c:
11924         Mule-verify.
11925
11926         * search.c (syms_of_search):
11927         [2].
11928
11929         * select-msw.c (mswindows_destroy_selection):
11930         Use LIST_LOOP_2.
11931
11932         * select-x.c (symbol_to_x_atom):
11933         [7].
11934
11935         * select.c (syms_of_select):
11936         [2].
11937
11938         * sound.c (Fplay_sound_file):
11939         [7].
11940
11941         * specifier.c:
11942         * specifier.c (decode_specifier_type):
11943         * specifier.c (Fvalid_specifier_locale_type_p):
11944         * specifier.c (check_valid_locale_or_locale_type):
11945         * specifier.c (decode_locale):
11946         * specifier.c (decode_locale_type):
11947         * specifier.c (decode_locale_list):
11948         * specifier.c (check_valid_domain):
11949         * specifier.c (decode_specifier_tag_set):
11950         * specifier.c (Fcanonicalize_tag_set):
11951         * specifier.c (Fdefine_specifier_tag):
11952         * specifier.c (Fspecifier_tag_predicate):
11953         * specifier.c (check_valid_inst_list):
11954         * specifier.c (check_valid_spec_list):
11955         * specifier.c (decode_how_to_add_specification):
11956         * specifier.c (check_modifiable_specifier):
11957         * specifier.c (specifier_add_spec):
11958         * specifier.c (boolean_validate):
11959         * specifier.c (display_table_validate):
11960         [9].
11961
11962         * specifier.c (syms_of_specifier):
11963         Move some symbols to general-slots.h.
11964         [2].
11965
11966         * symbols.c:
11967         * symbols.c (Fmapatoms):
11968         * symbols.c (Fapropos_internal):
11969         Add GCPROs.
11970
11971         * symbols.c (set_default_buffer_slot_variable):
11972         * symbols.c (set_default_console_slot_variable):
11973         [1].
11974
11975         * symbols.c (defsymbol_massage_name_1):
11976         * symbols.c (defkeyword_massage_name):
11977         * symbols.c (deferror_1):
11978         * symbols.c (deferror):
11979         * symbols.c (deferror_massage_name_and_message):
11980         * symeval.h:
11981         * symeval.h (DEFSYMBOL):
11982         Support DEFSYMBOL*, DEFKEYWORD, DEFERROR
11983
11984         * symbols.c (syms_of_symbols):
11985         [2].
11986
11987         * symsinit.h:
11988         * symsinit.h (init_win32): New.
11989         Also new is syms_of_dialog_mswindows.
11990
11991         * syswindows.h:
11992         Add new Unicode macros, missing Cygwin wide-char functions,
11993         convenience conversion macros for Qmswindows_tstr, macros for
11994         encapsulating required MSWin <-> Cygwin filename conversions,
11995         prototype for dynamically-extracted (not in NT 3.51) functions.
11996
11997         * toolbar-x.c:
11998         Mule-verify.
11999
12000         * tooltalk.c (Fadd_tooltalk_message_arg):
12001         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
12002         * tooltalk.c (Fadd_tooltalk_pattern_arg):
12003         [7].
12004
12005         * tooltalk.c (syms_of_tooltalk):
12006         [2].
12007
12008         * unexnt.c:
12009         * unexnt.c (unexec):
12010         Fix up headers, declaration of unexec() to be more standard.
12011
12012 2000-07-20  Martin Buchholz  <martin@xemacs.org>
12013
12014         * offix.h: Revert change to guard macros - they're used in offix.c!
12015
12016 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12017
12018         * lisp.h: Defsubred Fdelete.
12019
12020         * console-msw.h:  (msprinter_default_printer): Added.
12021
12022         * console-msw.c (msprinter_canonicalize_console_connection):
12023         (msprinter_canonicalize_device_connection): Added.
12024
12025         * device-msw.c (msprinter_default_printer):
12026         (Fmswingows_get_default_printer):
12027         (signal_enum_priner_error):
12028         (Fmswingows_printer_list): Added.
12029
12030 2000-07-19  Martin Buchholz <martin@xemacs.org>
12031
12032         * XEmacs 21.2.35 is released.
12033
12034 2000-07-19  Martin Buchholz  <martin@xemacs.org>
12035
12036         * select-x.c (x_handle_selection_request):
12037         Text selected in xemacs and pasted into xterm failed to appear.
12038         Spelling fixes and cosmetic changes.
12039
12040 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12041
12042         * event-msw.c (mswindows_drain_windows_queue): Correctly check for
12043         XEmacs frame (fix for doubling chars in dialog boxes).
12044
12045 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
12046
12047         * select.c (select_convert_in, select_convert_out):
12048         Don't call intern() every time.
12049
12050         * select.c (Qselect_convert_in, Qselect_convert_out): New.
12051         * select.c (vars_of_select): Initialise them.
12052
12053 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
12054
12055         * select.c (selection-coercible-types): New.
12056
12057         * select.c (own-selection-internal):
12058         * select.c (get-selection-internal):
12059         MULE bug fix - these should default to COMPOUND_TEXT and not
12060         STRING for MULE. I think.
12061
12062         * select.c (select_convert_out): Use selection-coercible-types
12063         to find types that we can attempt to perform coercions on.
12064
12065 2000-07-18  Martin Buchholz  <martin@xemacs.org>
12066
12067         * mule-wnnfns.c:
12068         * mule-canna.c:
12069         Add coding: cookie to identify encoding.
12070
12071         * mule-canna.c (CANNA_mode_keys): make static.
12072         Use proper prototypes, even for functions of no arguments.
12073         Remove external prototype for Fding().
12074
12075         * symsinit.h: Add missing prototype for reinit_vars_of_mule_wnn.
12076
12077         * select.c (syms_of_select): Add missing DEFSUBR.
12078
12079 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
12080
12081         * select.c (get_selection_internal, own_selection_internal):
12082         Make the type default to STRING, rather than placing a nil type
12083         into Vselection_alist.
12084
12085 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
12086
12087         * gpmevent.c (tty_selection_exists_p):
12088         * gpmevent.c (tty_own_selection):
12089         Updated parameter lists.
12090
12091 2000-07-15 Alastair J. Houghton <ajhoughton@lineone.net>
12092
12093         * select.h (selection-alist): Removed declaration.
12094
12095         * select.h (get_local_selection):
12096         * select.c (get_local_selection):
12097         Made static.
12098
12099         * select.h (convert_selection): Removed declaration.
12100         * select.c (convert_selection): Removed.
12101         This function belongs in Lisp.
12102
12103         * select.h (select_convert_in): Declare.
12104         * select.h (select_convert_out): Declare.
12105         * select.c (select_convert_in): New.
12106         * select.c (select_convert_out): New.
12107         New conversion functions for other files to call.
12108
12109         * select.h (select_notify_buffer_kill): Declare.
12110         * select.c (select_notify_buffer_kill): New.
12111         New functions that get called from kill-buffer.
12112
12113         * buffer.c (kill-buffer): Call select_notify_buffer_kill, rather than
12114         X-specific lisp code.
12115
12116         * select.h: Declare some of the lisp-visible functions for
12117         external use.
12118
12119         * select.c (clean_local_selection_data): Removed. This was
12120         a disgusting function, and previously should have been in
12121         select-x.c in any case. The functionality is now provided
12122         in select-convert-from-integer (select.el).
12123
12124         * select.c (available-selection-types): Fixed stupidity where
12125         INTEGER and ATOM got added twice. Also add STRING when we see an
12126         extent.
12127
12128         * select.c (get-selection-internal): Removed symbol stripping. No
12129         longer causes conversion when data comes from the internal cache.
12130
12131         * select.c (syms_of_select): Added new functions.
12132
12133         * select-x.c (motif_clipboard_cb): Use select_convert_out. Rewrote
12134         error checking - previously this called abort!
12135
12136         * select-x.c (x_own_selection): Changed comment.
12137
12138         * select-x.c (x_handle_selection_request): Use select_convert_out.
12139         Don't mess with selection-alist; it's an internal variable of select.c.
12140
12141         * select-x.c (x_get_foreign_selection): Use select_convert_in.
12142
12143         * select-x.c (x_handle_selection_clear): Use get-selection-timestamp,
12144         rather than messing with selection-alist.
12145
12146         * select-msw.c (mswindows_get_foreign_selection):
12147         Use TO_INTERNAL_FORMAT rather than hacking.
12148
12149 2000-07-14  Martin Buchholz  <martin@xemacs.org>
12150
12151         * process-unix.c (unix_open_multicast_group):
12152         (unix_open_multicast_group): Remove useless casts.
12153
12154 2000-07-13  Martin Buchholz  <martin@xemacs.org>
12155
12156         * sound.c (Fplay_sound): Fix `unused variable' warning.
12157
12158         * emacs.c (main): Use correct type for _environ on SCO5.
12159
12160 2000-07-12 Alastair J. Houghton <ajhoughton@lineone.net>
12161
12162         * console.h (own_selection_method):
12163         * console.h (selection_exists_p_method):
12164         * console.h (available_selection_types_method): New.
12165         * console.h (register_selection_data_type_method): New.
12166         * console.h (selection_data_type_name): New.
12167
12168         * console-msw.h (mswindows_destroy_selection): Declare it.  New
12169         function & alist to track GlobalAlloc()'d handles that need
12170         releasing when the clipboard data gets replaced or emptied.
12171
12172         * event-msw.c (mswindows_wnd_proc): Call it.
12173
12174         * lisp.h, general.c (Qappend): New symbol representing a
12175         `how-to-add' mode.
12176
12177         * select.c (own-selection-internal):
12178         * select.c (selection-exists-p):
12179         * select.c (available-selection-types): New.
12180         * select.c (register-selection-data-type): New.
12181         * select.c (selection-data-type-name): New.  New functions to deal
12182         with device-specific selection data formats.
12183         * select.c (selection-converter-out-alist): Renamed.
12184         * select.c (selection-converter-in-alist): New.
12185         * select.c (selection-appender-alist): New.  Added new alists.
12186         * select.c (syms_of_select, vars_of_select): Added new symbols &
12187         variables.
12188         * select.c (get_local_selection): Split.
12189         * select.c: Removed spurious type checking - selections may now be
12190         of any type, not just strings.
12191         * select.c (own-selection-internal):
12192
12193         * select.h, select.c (convert_selection): New. Created
12194         convert_selection() function based on get_local_selection().
12195         * select.h, select.c (QCF_*): New symbols representing mswindows
12196         clipboard formats.
12197         * select.h, select.c (Qreplace_all, Qreplace_existing): New
12198         symbols representing `how-to-add' modes.
12199
12200         * select-msw.c (x_sym_p): New.
12201         * select-msw.c (symbol_to_ms_cf): New.
12202         * select-msw.c (ms_cf_to_symbol): New. New functions to deal with
12203         symbols & clipboard formats. Can also handle string names.
12204         * select-msw.c (mswindows_own_selection):
12205         * select-msw.c (mswindows_selection_exists_p):
12206         Added `data-type' parameter. Use it.
12207         * select-msw.c (mswindows_available_selection_types): New.
12208         * select-msw.c (mswindows_register_selection_data_type): New.
12209         * select-msw.c (mswindows_selection_data_type_name): New.
12210         * select-msw.c (mswindows_own_selection):
12211         * select-msw.c (mswindows_get_foreign_selection):
12212         * select-msw.c (mswindows_selection_exists_p):  Rewrote.
12213         * select-msw.c (console_create_select_mswindows): Added new methods.
12214         * select-msw.c (mswindows_destroy_selection): New.
12215         * select-msw.c (Vhandle_alist): New list.
12216         * select-msw.c (mswindows_own_selection):
12217
12218         * select-x.c (x_own_selection):
12219         * select-x.c (x_selection_exists_p):
12220         * select-x.c: Added some comments about maybe using new
12221         functionality.
12222         * select-x.c (x_own_selection):
12223
12224         * specifier.c: Remove definition of Qappend (now in general.c)
12225         * specifier.c (syms_of_specifier): Remove Qappend.
12226
12227 2000-07-12  Martin Buchholz  <martin@xemacs.org>
12228
12229         * config.h.in: Add socklen_t.
12230
12231         * s/decosf4-0.h: No special compiler flags needed or desired.
12232         In particular, undefine _BSD for DEC OSF 4.0.
12233
12234 2000-07-07  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12235
12236         * redisplay-msw.c (msprinter_frame_output_end): Added.
12237         (console_type_create_redisplay_mswindows): Referred the above.
12238
12239         * frame.c (setup_frame_without_minibuffer): Do not create a
12240         default minibuffer frame on a printer device.
12241
12242         * frame-msw.c (apply_dc_geometry): Added.
12243         (msprinter_start_page):
12244         (msprinter_init_frame_3):
12245         (msprinter_eject_page): Use it.
12246
12247         * console-msw.h (struct msprinter_frame): Added pix_left and top,
12248         and removed residual duplex and orientation properties.
12249
12250 2000-07-11  Martin Buchholz  <martin@xemacs.org>
12251
12252         * eval.c (function_argcount): Work around a DEC CC compiler bug.
12253
12254         * unexalpha.c: Remove system prototypes from C sources!
12255
12256 2000-07-09  Adrian Aichner  <aichner@ecf.teradyne.com>
12257
12258         * eval.c: Remove references to M-x edit-options in DEFUNs for
12259         `defvar' and `defconst'.
12260
12261 2000-07-09  Martin Buchholz  <martin@xemacs.org>
12262
12263         * config.h.in: Remove SMART_INCLUDE hackery.
12264
12265         PostgreSQL hacking:
12266         * config.h.in: Don't use SMART_INCLUDE.
12267
12268         * postgresql.h: Include libpq-fe.h here.  Fix typo.
12269         * inline.c: Simply #include "postgresql.h"
12270         * postgresql.c:
12271         - Don't use SMART_INCLUDE
12272         - Use simply "const".
12273         - Use standard doc string conventions.
12274         - Use correct type for result of PQstatus.
12275
12276 2000-07-09  Martin Buchholz  <martin@xemacs.org>
12277
12278         * glyphs-x.c (x_xface_instantiate): Fix C++ compilation warnings.
12279
12280         C++ compilation changes.
12281         * config.h.in (EXTERN_C): Define.
12282         * config.h.in (not): This is also a C++ keyword.
12283         * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Enable C++ compilation.
12284         * cm.c: Use EXTERN_C.
12285         * redisplay-tty.c: Use EXTERN_C.
12286         * sysdep.c: Use EXTERN_C.  Remove Gould support.
12287
12288 2000-07-09  Martin Buchholz  <martin@xemacs.org>
12289
12290         * general.c: Remove duplicate definition for Qfunction.
12291
12292 2000-07-08  Ben Wing  <ben@xemacs.org>
12293
12294         * device-msw.c (msprinter_init_device):
12295         * device-msw.c (sync_printer_with_devmode):
12296         * device-msw.c (handle_devmode_changes):
12297         * device-msw.c (print_dialog_worker):
12298         * device-msw.c (Fmsprinter_apply_settings):
12299         * device-msw.c (hash_devmode):
12300         * device-msw.c (Fmsprinter_settings_despecialize):
12301         use Qmswindows_tstr, not Qctext.
12302
12303         * vm-limit.c (check_memory_limits):
12304         avoid infinite loop printing warning messages.
12305
12306 2000-07-05  Craig Lanning  <lanning@scra.org>
12307
12308         * Makefile.in.in: Add support for including the Windows resources
12309         when building with the cygwin and mingw targets.
12310
12311         * buffer.c: from Dan Holmsand, on Windows $PWD is most likely either
12312         not set or not correct.
12313         (directory_is_current_directory): Don't compile for WIN32_NATIVE.
12314         (init_initial_directory): Don't try to use $PWD on the
12315         WIN32_NATIVE target.
12316
12317         * s\cygwin32.h:
12318         [[Add -mwindows to eliminate console window.]] not required --ben
12319         (HAVE_NATIVE_SOUND): removed; now handled by configure.
12320         (MAIL_USE_POP): removed; now handled by configure.
12321
12322         * s\mingw32.h: [[Add -mwindows to eliminate console window.]] not in
12323         C_SWITCH_SYSTEM or it will affect lib-src progs. --ben
12324         (HAVE_NATIVE_SOUND): removed; now handled by configure.
12325         (MAIL_USE_POP): removed; now handled by configure.
12326         (ENCAPSULATE_STAT): from Dan Holmsand, added.
12327         (ENCAPSULATE_FSTAT): from Dan Holmsand, added.
12328         (DIRECTORY_SEP): from Dan Holmsand, use lisp variable instead of
12329         constant string.
12330         (HAVE_TIMEVAL): from Dan Holmsand, added; struct timeval is picked
12331         up from <winsock.h> via systime.h.
12332         (HAVE_GETPAGESIZE): from Dan Holmsand, added.
12333         (getpagesize): from Dan Holmsand, added.
12334         Added #endif which was left dangling by Ben's mega patch; added
12335         comment to help prevent this in the future.
12336
12337         * sysdll.c: added #include <windows.h> for WIN32_NATIVE case.
12338
12339 2000-07-05  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12340
12341         * console-msw.h (struct mswindows_device): Removed unnecessary
12342         cached device geometry values.
12343         Added update_tick and an accessor macro.
12344         (Lisp_Devmode): Added lrecord declaration.
12345         (struct msprinter_device): Contain devmode as a Lisp object.
12346         Added mswindows_get_selected_frame_hwnd();
12347
12348         * console.h (struct console_methods): Indentation nitpicking.
12349
12350         * device-msw.c (mswindows_init_device): Do not initialize geometry
12351         cache. Initialize update tick.
12352         (mswindows_device_system_metrics): Ask the device for its geometry.
12353         (global_free_2_maybe):
12354         (devmode_to_hglobal):
12355         (handle_printer_changes):
12356         (ensure_not_printing):
12357         (print_dialog_worker):
12358         (Fmsprinter_print_setup_dialog):
12359         (Fmsprinter_print_dialog):
12360         (plist_get_margin):
12361         (plist_set_margin):
12362         (Fmsprinter_page_setup_dialog): Added functions.
12363         (sync_printer_with_devmode):
12364         (handle_devmode_changes):
12365         (Fmsprinter_get_settings):
12366         (Fmsprinter_select_settings):
12367         (Fmsprinter_apply_settings):
12368         (allocate_devmode):
12369         (Fmsprinter_settings_copy):
12370         (Fmsprinter_settings_despecialize):
12371         (print_devmode):
12372         (finalize_devmode):
12373         (equal_devmode):
12374         (hash_devmode): Added functions
12375         (syms_of_device_mswindows): Init devmode lrecord class.
12376
12377         * device.h: Added an exfun for find-device.
12378
12379         * event-msw.c (mswindows_wnd_proc): Do not update the cached
12380         geometry; although, recreate the device compatible DC.
12381
12382         * frame-msw.c (mswindows_get_selected_frame_hwnd): Added.
12383         (msprinter_init_frame_3):
12384         (msprinter_frame_property):
12385         (msprinter_internal_frame_property_p):
12386         (msprinter_frame_properties):
12387         (msprinter_set_frame_properties): Removed 'orientation and 'duplex
12388         print job properties (will move to device settings).
12389
12390         * lisp.h: Added symbols.
12391
12392         * general.c (syms_of_general): Declared them.
12393
12394         * hash.c (string_hash): Added.
12395
12396         * lrecord.h (lrecord_type): Added devmode lrecord type.
12397
12398 2000-07-02  Mike Sperber <mike@xemacs.org>
12399
12400         * s/freebsd.h (INTERRUPTIBLE_OPEN): open *is* interruptible on
12401         FreeBSD 4.0.
12402
12403 2000-06-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
12404
12405         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
12406         integer.
12407
12408 2000-06-07  MORIOKA Tomohiko  <tomo@urania.m17n.org>
12409
12410         * data.c (Fstring_to_number): Don't recognize floating point if
12411         base is not 10.
12412
12413 2000-06-22  Martin Buchholz  <martin@xemacs.org>
12414
12415         * glyphs-widget.c (tab_control_query_geometry):
12416         (widget_query_geometry):
12417         (button_query_geometry):
12418         * glyphs.c (text_query_geometry):
12419         Enforce type correctness.
12420
12421 2000-06-18  Martin Buchholz  <martin@xemacs.org>
12422
12423         * s/decosf4-0.h (_etext): Use portable _etext instead of etext.
12424         * s/decosf4-0.h (_edata): Use portable _edata instead of edata.
12425
12426 2000-06-17  Martin Buchholz  <martin@xemacs.org>
12427
12428         * s/decosf4-0.h: Never #include "/usr/include/FOO.h" because this
12429         conflicts with gcc's fixincluded version of FOO.h.
12430
12431         * glyphs.h (image_instance_geometry): Remove trailing `,'
12432
12433 2000-06-08  Mike Alexander  <mta@arbortext.com>
12434
12435         (MAX_SHOVE_BUFFER_SIZE): Change to 512 to match stream buffer size
12436         (shove_thread): Don't write the same output twice
12437         (make_ntpipe_output_stream): Increase priority of shove thread
12438         (ntpipe_shove_writer): Call SwitchToThread to give shove thread a
12439         chance to run
12440         (ntpipe_shove_closer): Don't delete the pipe until we're done with
12441         it.
12442
12443 2000-06-12  Ben Wing  <ben@xemacs.org>
12444
12445         * s\mingw32.h (sigset):
12446         * s\windowsnt.h (sigset):
12447         rename msw_ to mswindows_ for consistency with general convention.
12448
12449 2000-06-12  Ben Wing  <ben@xemacs.org>
12450
12451         * console-msw.c:
12452         * console-msw.c (mswindows_get_console_hwnd):
12453         * console-msw.c (mswindows_ensure_console_allocated):
12454         * console-msw.c (mswindows_hide_console):
12455         * console-msw.c (mswindows_show_console):
12456         * console-msw.c (mswindows_ensure_console_buffered):
12457         * console-msw.c (mswindows_output_console_string):
12458         * console-msw.c (mswindows_windows9x_p):
12459         * console-msw.h:
12460         * device-msw.c (mswindows_get_workspace_coords):
12461         * device-msw.c (mswindows_device_system_metrics):
12462         * dialog-msw.c (mswindows_popup_dialog_box):
12463         * event-msw.c (mswindows_wnd_proc):
12464         * frame-msw.c (mswindows_size_frame_internal):
12465         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
12466         * menubar-msw.c (displayable_menu_item):
12467         * menubar-msw.c (mswindows_char_is_accelerator):
12468         * nt.c:
12469         * nt.c (mswindows_sigset):
12470         * nt.c (mswindows_sigrelse):
12471         * nt.c (mswindows_sigpause):
12472         * nt.c (mswindows_raise):
12473         * nt.c (timer_proc):
12474         * ntproc.c:
12475         * ntproc.c (find_child_console):
12476         * ntproc.c (sys_kill):
12477         * print.c:
12478         * print.c (std_handle_out_external):
12479         * process-nt.c (find_child_console):
12480         * process-nt.c (send_signal_the_95_way):
12481         * process-nt.c (ensure_console_window_exists):
12482         * process-nt.c (nt_create_process):
12483         * syssignal.h:
12484         rename msw_ to mswindows_ for consistency with general convention.
12485
12486         * emacs.c:
12487         * dumper.c:
12488         include nt.h, not syswindows.h.
12489
12490         * nt.c (mswindows_fstat):
12491         * nt.c (mswindows_stat):
12492         prefix mswindows_ instead of attempting to directly override the
12493         library functions.  fix declarations.
12494
12495         * nt.h:
12496         include syswindows.h.  move some sysdep.h stuff here.
12497
12498         * ntheap.h:
12499         include syswindows.h, not <windows.h>.
12500
12501         * ntplay.c:
12502         clean up headers.
12503
12504         * sysdep.c:
12505         clean up headers.
12506
12507         * sysdep.c (sys_fstat):
12508         * sysdep.c (sys_stat):
12509         call mswindows versions when appropriate.
12510
12511         * sysdep.h:
12512         move mswin decls to nt.h.
12513
12514         * syswindows.h:
12515         add long comment describing appropriate use of the various windows
12516         headers.
12517
12518 2000-06-11  Ben Wing  <ben@xemacs.org>
12519
12520         * device-x.c: Correct doc string for sixth arg of x-get-resource.
12521
12522 2000-06-10  Ben Wing  <ben@xemacs.org>
12523
12524         * Makefile.in.in (release):
12525         Correction to make sure xemacs.exe always dumped when correct.
12526
12527         * alloca.c:
12528         * balloon_help.c:
12529         [[[[3]]]]: Conditionalize on actual problem, not WINDOWSNT.
12530
12531         * buffer.c (set_buffer_internal):
12532         [[[[2]]]]: Remove HAVE_FEP code.
12533
12534         * buffer.c (init_initial_directory):
12535         [3].
12536
12537         * bytecode.c:
12538         [[[[4]]]]: limits.h standardly included in lisp.h; remove from
12539         individual files.
12540
12541         * callproc.c:
12542         * callproc.c (call_process_cleanup):
12543         * callproc.c (Fold_call_process_internal):
12544         * callproc.c (child_setup):
12545         * callproc.c (getenv_internal):
12546         * callproc.c (init_callproc):
12547         * callproc.c (vars_of_callproc):
12548         [[[[1]]]]: WINDOWSNT -> WIN32_NATIVE.
12549         __CYGWIN32__ -> CYGWIN.
12550         DOS_NT -> WIN32_NATIVE.
12551         Remove MSDOS support/references, converting to WIN32_NATIVE
12552           where correct.
12553         __MINGW32__ -> MINGW.
12554         Fix windows.h includes.
12555         Remove bogus HAVE_NTGUI.
12556
12557         * config.h.in:
12558         [2].
12559
12560         * console-msw.c:
12561         mswindows_message_outputted added for use in allowing startup
12562         errors on the console to be seen.
12563
12564         * console-msw.c (msw_ensure_console_allocated):
12565         * console-msw.c (msw_output_console_string):
12566         * console-msw.c (DHEADER):
12567         * console-msw.c (DOPAQUE_DATA):
12568         * console-msw.c (DEVENT):
12569         * console-msw.c (DCONS):
12570         * console-msw.c (DCONSCDR):
12571         * console-msw.c (DSTRING):
12572         * console-msw.c (DVECTOR):
12573         * console-msw.c (DSYMBOL):
12574         * console-msw.c (DSYMNAME):
12575         Fix warnings.
12576
12577         * console-stream.c (stream_init_console):
12578         Fix text/binary problems.
12579
12580         * device-msw.c:
12581         * device-msw.c (mswindows_finish_init_device):
12582         * device-msw.c (mswindows_delete_device):
12583         [1].
12584
12585         * device.c (handle_asynch_device_change):
12586         [3].
12587
12588         * dgif_lib.c:
12589         * dgif_lib.c (DGifOpenFileName):
12590         * dgif_lib.c (DGifOpenFileHandle):
12591         * dgif_lib.c (DGifGetLine):
12592         * dgif_lib.c (DGifGetPixel):
12593         Added config.h/lisp.h, fix up includes.
12594         [1].
12595
12596         * dired-msw.c:
12597         [4].
12598
12599         * dired.c:
12600         * dired.c (file_name_completion):
12601         * dired.c (Ffile_attributes):
12602         * dired.c (syms_of_dired):
12603         [1].
12604
12605         * dumper.c:
12606         * dumper.c (pdump_file_unmap):
12607         * dumper.c (pdump_load):
12608         [1].
12609
12610         * editfns.c:
12611         * editfns.c (Ftemp_directory):
12612         * editfns.c (user_login_name):
12613         * editfns.c (Fuser_real_login_name):
12614         * editfns.c (get_home_directory):
12615         [1].
12616
12617         * elhash.c (finish_marking_weak_hash_tables):
12618         [[[[5]]]]: Fix GCC warnings.
12619
12620         * emacs.c:
12621         * emacs.c (mswindows_handle_hardware_exceptions):
12622         * emacs.c (make_arg_list_1):
12623         * emacs.c (main_1):
12624         * emacs.c (Fkill_emacs):
12625         * emacs.c (Fdump_emacs):
12626         [1].
12627         Fix problems with nested crashes, add long comment.
12628
12629         * event-Xt.c (init_event_Xt_late):
12630         [1].
12631
12632         * event-msw.c:
12633         * event-msw.c (mswindows_dde_callback):
12634         * event-msw.c (mswindows_handle_sticky_modifiers):
12635         * event-msw.c (mswindows_wnd_proc):
12636         [1].
12637         [5].
12638
12639         * events.c (character_to_event):
12640         [1].
12641
12642         * fileio.c:
12643         * fileio.c (Ffile_name_directory):
12644         * fileio.c (Ffile_name_nondirectory):
12645         * fileio.c (directory_file_name):
12646         * fileio.c (Fexpand_file_name):
12647         * fileio.c (Fsubstitute_in_file_name):
12648         * fileio.c (Ffile_name_absolute_p):
12649         * fileio.c (check_executable):
12650         * fileio.c (Ffile_readable_p):
12651         * fileio.c (Ffile_accessible_directory_p):
12652         * fileio.c (Ffile_modes):
12653         * fileio.c (Funix_sync):
12654         * fileio.c (vars_of_fileio):
12655         [1]. [4].
12656
12657         [[[[7]]]]: Move CORRECT_DIR_SEPS to s\windowsnt.h.
12658
12659         Expand getdefdir defn.
12660         Fix bogus rename() comment.
12661
12662         [[[[6]]]]: Fix Windows includes w.r.t. removed nt\inc.  Attempt
12663         to use standard XEmacs include files, e.g. sysfile.h, rather
12664         than system-specific includes.
12665
12666         * fns.c:
12667         * fns.c (Fsubseq):
12668         [5]. [6].
12669
12670         * frame.c (vars_of_frame):
12671         [1].
12672
12673         * getloadavg.c:
12674         * getloadavg.c (getloadavg):
12675         [1]. [6].
12676         #ifdef XEMACS not defined on Cygwin.  Remove this; no need for it.
12677         (We don't use it elsewhere in the code; just add a comment.)
12678
12679         * gif_io.c:
12680         [6].
12681         Add config.h.
12682
12683         * glyphs-msw.c:
12684         * glyphs-msw.c (mswindows_resource_instantiate):
12685         [1].
12686
12687         * glyphs-x.c (x_native_layout_instantiate):
12688         [5].
12689
12690         * gui-msw.c (Fmswindows_shell_execute):
12691         [1].
12692
12693         * insdel.c:
12694         [4].
12695
12696         * lisp.h:
12697         [4]. [5].
12698
12699         * lread.c (locate_file_in_directory_mapper):
12700         [1].
12701
12702         * lstream.c:
12703         [4].
12704
12705         * mem-limits.h:
12706         * mem-limits.h (get_lim_data):
12707         [1].
12708
12709         * menubar-msw.c:
12710         [4].
12711
12712         * ndir.h:
12713         [1].
12714
12715         * nt.c:
12716         * nt.c (getwd):
12717         * nt.c (closedir):
12718         * nt.c (rva_to_section):
12719         * nt.c (mswindows_executable_type):
12720         [1]. [6].
12721         Fix closedir() defn.
12722
12723         * nt.h:
12724         [[[[8]]]]: *_OK defs moved to sysfile.h.
12725
12726         * ntproc.c:
12727         [6]. [7].
12728
12729         * objects-x.c:
12730         [4].
12731
12732         * print.c:
12733         * print.c (std_handle_out_external):
12734         [1]. [4].
12735
12736         * process-nt.c:
12737         * process-nt.c (nt_create_process):
12738         [6].
12739         try to fix process quoting somewhat.
12740
12741         * process-unix.c (unix_create_process):
12742         [1].
12743
12744         * process.c:
12745         * process.c (vars_of_process):
12746         Add Vnull_device.
12747
12748         * process.h:
12749         [1].
12750
12751         * realpath.c:
12752         * realpath.c (xrealpath):
12753         [1].
12754
12755         * redisplay-tty.c (init_tty_for_redisplay):
12756         [3].
12757
12758         * redisplay.c:
12759         [4]. [6].
12760
12761         * scrollbar-msw.c:
12762         [4].
12763
12764         * sheap.c:
12765         * sheap.c (more_static_core):
12766         * sheap.c (report_sheap_usage):
12767         [5]. [6].
12768
12769         * signal.c:
12770         * signal.c (alarm_signal):
12771         [1]. [6].
12772
12773         * sound.c:
12774         [6].
12775
12776         * strftime.c:
12777         * strftime.c (zone_name):
12778         [1]. [5].
12779
12780         * symsinit.h (init_sunpro):
12781         [1].
12782
12783         * syscommctrl.h:
12784         commctrl.h not in Cygwin b20.1.
12785
12786         * sysdep.c:
12787         * sysdep.c (endif):
12788         * sysdep.c (sys_subshell):
12789         * sysdep.c (init_baud_rate):
12790         * sysdep.c (emacs_get_tty):
12791         * sysdep.c (emacs_set_tty):
12792         * sysdep.c (tty_init_sys_modes_on_device):
12793         * sysdep.c (init_system_name):
12794         * sysdep.c (sys_open):
12795         * sysdep.c (interruptible_open):
12796         * sysdep.c (sys_fopen):
12797         * sysdep.c (sys_mkdir):
12798         * sysdep.c (sys_rename):
12799         * sysdep.c (get_process_times_1):
12800         [1]. [6].
12801
12802         * sysdep.h:
12803         [1].
12804
12805         * sysdir.h:
12806         * sysdir.h (DIRENTRY_NONEMPTY):
12807         [1]. [6].
12808
12809         * sysdll.c (dll_init):
12810         * sysdll.h:
12811         [1].
12812
12813         * sysfile.h:
12814         [1]. [6]. [8].
12815         added text/binary defs.
12816
12817         * sysfloat.h:
12818         [1].
12819
12820         * sysproc.h:
12821         * sysproc.h (EDESTADDRREQ):
12822         * sysproc.h (poll_fds_for_input):
12823         [1]. [6].
12824
12825         * syspwd.h:
12826         [6].
12827
12828         * syssignal.h:
12829         [1].
12830
12831         * systime.h:
12832         [1]. [6].
12833
12834         * systty.h:
12835         [1].
12836
12837         * syswindows.h:
12838         [1].
12839         Always define WIN32_LEAN_AND_MEAN.
12840
12841         * unexcw.c (unexec):
12842         [5].
12843
12844         * unexec.c:
12845         * unexec.c (copy_text_and_data):
12846         * unexec.c (adjust_lnnoptrs):
12847         [1].
12848
12849         * unexnt.c:
12850         * unexnt.c (_start):
12851         [1].
12852
12853 2000-06-07  Ben Wing  <ben@xemacs.org>
12854
12855         * mule-mcpath.c, mule-mcpath.h: Removed.  Old, crufty code that
12856         was used only as a model.  We've long since extracted any useful
12857         logic or code out of this. (I just did an exhaustive search.)
12858
12859         * s\msdos.h: Removed.
12860
12861         * s\windows95.h: Removed.
12862
12863 2000-06-10  Ben Wing  <ben@xemacs.org>
12864
12865         * s\cygwin32.h:
12866         [1]. [5].
12867         Don't use extern with fun defs.
12868
12869         * s\mingw32.h:
12870         [1]. [7].
12871         Remove nt\inc include.
12872         Remove getdisk, getdefdir. (The former is unused, the latter
12873         expanded in fileio.h.)
12874
12875         * s\windowsnt.h:
12876         * s\windowsnt.h (WIN32_NATIVE):
12877         * s\windowsnt.h (HAVE_STRCASECMP):
12878         [1]. [7].
12879         Add long comment about preprocessor changes.
12880         Remove getdisk, getdefdir. (The former is unused, the latter
12881         expanded in fileio.h.)
12882
12883 2000-06-10  Ben Wing  <ben@xemacs.org>
12884
12885         * m\arm.h:
12886         * m\delta.h:
12887         * m\intel386.h:
12888         * m\sequent.h:
12889         * m\template.h:
12890         * m\windowsnt.h:
12891         [1].
12892         Remove bogus/unused NO_SOCK_SIGIO.
12893
12894 2000-06-08  Hrvoje Niksic  <hniksic@iskon.hr>
12895
12896         * lisp.h (set_string_char): Call set_string_byte with a Bufbyte,
12897         not an Emchar.
12898
12899 2000-06-04  Mike Sperber <mike@xemacs.org>
12900
12901         * casetab.c (set_case_table): For `set-standard-case-table',
12902         actually deposit the new case tables where the rest of XEmacs can
12903         see them.
12904
12905 2000-06-05  Yoshiki Hayashi <yoshiki@xemacs.org>
12906
12907         * data.c (Faset): Don't cast XCHAR() to unsigned char.
12908
12909 2000-06-05  Ben Wing  <ben@xemacs.org>
12910
12911         * callproc.c (child_setup): Don't do close_load_descs() under
12912         MS Windows.  Put in a comment explaining why.
12913
12914 2000-05-28  Adrian Aichner  <aichner@ecf.teradyne.com>
12915
12916         * process-nt.c: Reverting patch "Fixing nt_create_process for MKS
12917         Toolkit shell" which breaks `kill-compilation' on Windows NT
12918         native, retaining STDERR handling improvements.
12919
12920 2000-06-01  Andreas Jaeger  <aj@suse.de>
12921
12922         * s/s390.h: Support for S390, based on a patch by Martin
12923         Schwidefsky <schwidefsky@de.ibm.com>.
12924
12925 2000-05-30  Andy Piper  <andy@xemacs.org>
12926
12927         * window.c (allocate_window):
12928         (make_dummy_parent):
12929         (Fset_window_configuration): use new hashtable type.
12930
12931         * glyphs.h (IMAGE_UNSPECIFIED_GEOMETRY):
12932         (struct image_instantiator_methods):
12933         (struct Lisp_Image_Instance): make instance geometry signed.
12934
12935         * glyphs.c (instantiate_image_instantiator):
12936         (image_instance_query_geometry):
12937         (image_instance_layout):
12938         (image_instance_layout):
12939         (query_string_geometry):
12940         (text_query_geometry):
12941         (image_instantiate):
12942         (image_instantiate):
12943         (cache_subwindow_instance_in_frame_maybe):
12944         (subwindow_query_geometry): make instance geometry signed.
12945
12946         * glyphs-widget.c (widget_query_geometry):
12947         (widget_layout):
12948         (button_query_geometry):
12949         (tree_view_query_geometry):
12950         (tab_control_query_geometry):
12951         (layout_query_geometry):
12952         (layout_layout):
12953         (native_layout_layout): make instance geometry signed.
12954
12955 2000-05-29  Olivier Galibert  <galibert@pobox.com>
12956
12957         * lisp.h: Add Qfull_assoc symbol and WEAK_LIST_FULL_ASSOC
12958         constant.
12959
12960         * general.c (syms_of_general): Add Qfull_assoc symbol.
12961
12962         * data.c (finish_marking_weak_lists): Mark full-assoc lists
12963         correctly.
12964         (decode_weak_list_type): Decode full-assoc type.
12965         (encode_weak_list_type): Encode full-assoc type.
12966         (Fmake_weak_list): Update doc string.
12967
12968 2000-05-30  Andy Piper  <andy@xemacs.org>
12969
12970         * elhash.h (hash_table_weakness): new KEY_VALUE weak hashtable.
12971
12972         * elhash.c (print_hash_table): new KEY_VALUE weak hashtable.
12973         (decode_hash_table_weakness): ditto.
12974         (Fhash_table_weakness): ditto.
12975         (Fhash_table_type): ditto.
12976         (finish_marking_weak_hash_tables): ditto.
12977         (hash_table_weakness_validate): ditto.
12978         (syms_of_elhash): ditto.
12979
12980 2000-05-28  Martin Buchholz <martin@xemacs.org>
12981
12982         * XEmacs 21.2.34 is released.
12983
12984 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
12985
12986         * redisplay.c (VERTICAL_CLIP): No longer reset when updating line
12987         start cache.
12988         (updating_line_start_cache): Gone.
12989         (regenerate_window): Replace resetting of VERTICAL_CLIP by
12990         generic code to force a minimum of 1 line laid out in the
12991         CMOTION_DISP case.
12992
12993 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
12994
12995         * glyphs.c (instantiate_image_instantiator): Check for initialized
12996         height & width no longer special cases IMAGE_NOTHING.
12997         (nothing_instantiate): Set height and width of instance.
12998
12999 2000-05-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
13000
13001         * unexelf.c (unexec): Search for ".data" section.
13002         Initialize new_data2_offset from old_data_index.
13003         Remove redundant check for ElfW.
13004
13005 2000-05-23  Andy Piper  <andy@xemacs.org>
13006
13007         * glyphs.c (get_image_instantiator_governing_domain): allow more
13008         specific domains as the governing domain rather than expecting an
13009         exact match. This fixes problems with layouts.
13010
13011 2000-05-22  Andy Piper  <andy@xemacs.org>
13012
13013         * redisplay-output.c (compare_runes): check for non-images
13014
13015         * glyphs.c (set_glyph_dirty_p): ditto.
13016         (update_glyph_cachel_data): ditto.
13017
13018         * glyphs-widget.c (layout_post_instantiate): ditto.
13019         (layout_post_instantiate): ditto.
13020
13021         * event-msw.c (mswindows_wnd_proc): warning removal.
13022
13023 2000-05-12  Craig Lanning  <CraigL@DyCon.com>
13024
13025         * s\mingw32.h: Added #undef for CLASH_DETECTION.
13026
13027         * syswindows.h: Moved PBS_SMOOTH definition to syscommctrl.h.
13028
13029         * syscommctrl.h (PBS_SMOOTH): Moved from syswindows.h.
13030
13031         * nt.c (rva_to_section): mingw32 needs rva_to_section.
13032         (mswindows_executable_type): mingw32 now has enough headers for
13033         this to work.
13034
13035 2000-05-20  Andy Piper  <andy@xemacs.org>
13036
13037         * console-msw.c (mswindows_output_last_error): ; -> ,
13038
13039 2000-05-12  Andy Piper  <andy@xemacs.org>
13040
13041         * console-msw.c (FROB): compare ints with ints.
13042
13043 2000-05-11  Andy Piper  <andy@xemacs.org>
13044
13045         * glyphs-x.c (x_finalize_image_instance): make minimal build
13046         happy.
13047
13048 2000-05-20  Ben Wing  <ben@xemacs.org>
13049
13050         * event-Xt.c:
13051         * event-Xt.c (vars_of_event_Xt):
13052         move modifier-keys-are-sticky to event-stream.c.
13053
13054         * event-msw.c:
13055         * event-msw.c (mswindows_enqueue_mouse_button_event):
13056         * event-msw.c (key_needs_default_processing_p):
13057         * event-msw.c (XEMSW_LCONTROL):
13058         * event-msw.c (mswindows_handle_sticky_modifiers):
13059         * event-msw.c (FROB):
13060         * event-msw.c (clear_sticky_modifiers):
13061         * event-msw.c (output_modifier_keyboard_state):
13062         * event-msw.c (output_alt_keyboard_state):
13063         * event-msw.c (mswindows_wnd_proc):
13064         * event-msw.c (mswindows_modifier_state):
13065         * event-msw.c (emacs_mswindows_handle_magic_event):
13066         implement sticky modifiers.
13067
13068         * event-stream.c:
13069         * event-stream.c (vars_of_event_stream):
13070         move modifier-keys-are-sticky here.
13071
13072         * lisp.h:
13073         add CHECK_FUNCTION.
13074
13075         * rangetab.c:
13076         implement map-range-table.
13077
13078
13079 2000-05-17  Yoshiki Hayashi  <yoshiki@xemacs.org>
13080
13081         * redisplay-tty.c (reset_tty_modes):
13082         (tty_redisplay_shutdown): Adjust argument type to
13083         tty_frame_output_end.
13084
13085 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
13086
13087         * eval.c (Fbacktrace): Don't output a line with only right
13088         parenthesis.
13089
13090 2000-05-17  Kenji Itoh  <keit@tpj.co.jp>
13091
13092         * postgresql.c (Fpq_connect_poll): Replace `PS' with `polling_status'.
13093         (Fpq_reset_poll): Ditto.
13094
13095 2000-05-16  Katsumi Yamaoka  <yamaoka@jpl.org>
13096
13097         * redisplay-tty.c: Replace tty_output_end with tty_frame_output_end.
13098
13099 2000-05-16  Ben Wing  <ben@xemacs.org>
13100
13101         * buffer.c:
13102         * buffer.c (dfc_convert_to/from_internal_format):
13103         * buffer.c (reinit_vars_of_buffer):
13104         Fix conversion functions to allow reentrancy.
13105
13106         * console-msw.c:
13107         * console-msw.c (mswindows_output_last_error):
13108         New fun, generally useful -- output a human-readable
13109         version of GetLastError() on the console.
13110
13111         * console-msw.h:
13112         * console-msw.h (struct mswindows_frame):
13113         Changes for DeferWindowPos.  Declare mswindows_output_last_error().
13114
13115         * console-stream.c (stream_output_begin):
13116         * console-stream.c (stream_output_end):
13117         * console-stream.c (stream_output_vertical_divider):
13118         * console-stream.c (stream_clear_region):
13119         * console-stream.c (stream_flash):
13120         * console-stream.c (console_type_create_stream):
13121         Delete blank stream methods, not needed.
13122
13123         * console.h (struct console_methods):
13124         Split begin/end methods into window and frame.
13125
13126         * event-msw.c:
13127         * event-msw.c (mswindows_handle_paint):
13128         * event-msw.c (output_alt_keyboard_state):
13129         * event-msw.c (mswindows_wnd_proc):
13130         * event-msw.c (vars_of_event_mswindows):
13131         Comment about problems with ignored-expose.
13132         Define mswindows-debug-events; not really implemented.
13133
13134         * frame-msw.c (mswindows_init_frame_1):
13135         random cleanups.
13136
13137         * glyphs-msw.c:
13138         * glyphs-msw.c (begin_defer_window_pos):
13139         * glyphs-msw.c (mswindows_unmap_subwindow):
13140         * glyphs-msw.c (mswindows_map_subwindow):
13141         * glyphs-msw.c (mswindows_resize_subwindow):
13142         Use DeferWindowPos to reduce flashing when mapping/unmapping.
13143
13144         * glyphs.c (make_image_instance_1):
13145         Fix crash.
13146
13147         * gutter.c (Fredisplay_gutter_area):
13148         Use new begin/end methods.
13149
13150         * lisp.h (Dynarr_new2):
13151         New creation fun.
13152
13153         * redisplay-msw.c:
13154         * redisplay-msw.c (mswindows_frame_output_begin):
13155         * redisplay-msw.c (mswindows_frame_output_end):
13156         * redisplay-msw.c (console_type_create_redisplay_mswindows):
13157         New begin/end methods -- handle DeferWindowPos.
13158
13159         * redisplay-output.c (redisplay_move_cursor):
13160         * redisplay-output.c (redraw_cursor_in_window):
13161         * redisplay-output.c (redisplay_update_line):
13162         * redisplay-output.c (redisplay_output_window):
13163         New begin/end methods.
13164
13165         * redisplay-tty.c:
13166         * redisplay-tty.c (tty_frame_output_begin):
13167         * redisplay-tty.c (tty_frame_output_end):
13168         * redisplay-tty.c (console_type_create_redisplay_tty):
13169         New begin/end methods.
13170
13171         * redisplay-x.c:
13172         * redisplay-x.c (x_window_output_begin):
13173         * redisplay-x.c (x_window_output_end):
13174         * redisplay-x.c (console_type_create_redisplay_x):
13175         New begin/end methods.
13176
13177         * redisplay.c (redisplay_frame):
13178         * redisplay.c (Fredisplay_echo_area):
13179         New begin/end methods.
13180         use MAYBE_DEVMETH for clear_frame; it may not exist.
13181
13182         * window.h (WINDOW_XFRAME):
13183         WINDOW_XFOO macros -- get locale and decode struct pointer.
13184
13185
13186 2000-05-12  Ben Wing  <ben@xemacs.org>
13187
13188         * emacs.c:
13189         * emacs.c (ensure_no_quitting_from_now_on):
13190         * emacs.c (fatal_error_signal):
13191         * emacs.c (mswindows_handle_hardware_exceptions):
13192         * emacs.c (main):
13193         * emacs.c (Fkill_emacs):
13194         * emacs.c (shut_down_emacs):
13195         * emacs.c (assert_failed):
13196         various improvements in fatal error handling.
13197
13198         * eval.c:
13199         move preparing_for_armageddon to emacs.c.
13200
13201         * lisp.h:
13202         declare fatal_error_in_progress.
13203
13204         * print.c:
13205         * print.c (std_handle_out_external):
13206         * print.c (std_handle_out_va):
13207         * print.c (stderr_out):
13208         * print.c (stdout_out):
13209         use console under mswin when no standard output.
13210         don't do code conversion during fatal error.
13211
13212         * scrollbar.c (Fscrollbar_page_up):
13213         * scrollbar.c (Fscrollbar_page_down):
13214         fix missing else.  reindent.
13215
13216 2000-05-11  Jan Vroonhof  <vroonhof@math.ethz.ch>
13217
13218         Emergency fix.
13219
13220         * glyphs.h (GLYPH_CACHEL_DESCENT):
13221         (GLYPH_CACHEL_DESCENT):
13222         (GLYPH_CACHEL_DESCENT):
13223         * glyphs.h (GLYPH_CACHEL_ASCENT): Match parameters to variables
13224         used in case these are inline functions.
13225         Use more absurd values to error check.
13226
13227         include window.h for error check functions.
13228
13229 2000-05-11  Ben Wing  <ben@xemacs.org>
13230
13231         * cmdloop.c (Freally_early_error_handler):
13232         Display message box under windows; otherwise, message will disappear
13233         before it can be viewed.
13234
13235         * console-msw.c:
13236         * console-msw.c (Fmswindows_message_box):
13237         * console-msw.c (FROB):
13238         * console-msw.c (syms_of_console_mswindows):
13239         Define new fun `mswindows-message-box'.
13240         #### I will merge this into `popup-dialog-box'; just give me
13241         a bit of time.
13242
13243         * general.c:
13244         * general.c (syms_of_general):
13245         Some new symbols used in `mswindows-message-box'.
13246
13247         * glyphs.c:
13248         * glyphs.c (Fset_image_instance_property):
13249         put warning in this fun.
13250
13251         * glyphs.h:
13252         * glyphs.h (GLYPH_CACHEL_WIDTH):
13253         * glyphs.h (GLYPH_CACHEL_ASCENT):
13254         * glyphs.h (GLYPH_CACHEL):
13255         * glyphs.h (GLYPH_CACHEL_GLYPH):
13256         define error-checking versions to try to catch a bug i've seen --
13257         redisplay gets in an infinite loop because the glyph width of the
13258         continuation glyph is 65535.
13259
13260         * lisp.h:
13261         Extern message-box stuff.
13262
13263         * window.c (allocate_window):
13264         * window.c (make_dummy_parent):
13265         * window.c (Fset_window_configuration):
13266         Use EQUAL not EQ for subwindow caches to make them work a bit
13267         better. (Something is still very broken.)
13268
13269
13270 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
13271
13272         * glyphs.c (image_instantiate): Suppress gcc warnings.
13273         (Fmake_image_instance): Fix doc string.
13274         * specifier.c (Fmake_specifier): Ditto.
13275
13276 2000-05-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
13277
13278         * paths.h.in (PATH_LOCK): Removed.
13279         * config.h.in (LOCKDIR_USER_DEFINED): Removed.
13280         * emacs.c (complex_vars_of_emacs): Remove configure-lock-directory.
13281
13282 2000-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
13283
13284         * fns.c (Ffeaturep): Update e-mail address in doc-string.
13285         Document (featurep '(and xemacs 21.02)).
13286
13287 2000-05-09  Ben Wing  <ben@xemacs.org>
13288
13289         * buffer.c (complex_vars_of_buffer):
13290         update modeline-format doc.
13291
13292         * device.h:
13293         comment about how DFW_DEVICE should be merged with DOMAIN_DEVICE.
13294
13295         * emacs.c:
13296         timeline of all released versions of Emacs, for use in creating
13297         authorship comments and in synching up.
13298
13299         * glyphs-widget.c (image_instantiator_buttons):
13300         * glyphs-widget.c (image_instantiator_edit_fields):
13301         * glyphs-widget.c (image_instantiator_combo_box):
13302         * glyphs-widget.c (image_instantiator_scrollbar):
13303         * glyphs-widget.c (image_instantiator_progress_guage):
13304         * glyphs-widget.c (image_instantiator_tree_view):
13305         * glyphs-widget.c (image_instantiator_tab_control):
13306         * glyphs-widget.c (image_instantiator_labels):
13307         * glyphs-widget.c (image_instantiator_layout):
13308         * glyphs-widget.c (image_instantiator_native_layout):
13309         rename decode_domain method to governing_domain.
13310
13311         * glyphs.c:
13312         * glyphs.c (Fvalid_image_instantiator_format_p): doc update.
13313         * glyphs.c (add_entry_to_device_ii_format_list):
13314         make sure we don't put an entry more than once into the list.
13315         * glyphs.c (check_instance_cache_mapper):
13316         *************************************************************
13317         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
13318         HAVE BEEN GETTING.
13319         *************************************************************
13320         * glyphs.c (get_image_instantiator_governing_domain):
13321         clean up, expand on new concept of governing domain.
13322         * glyphs.c (instantiate_image_instantiator):
13323         * glyphs.c (allocate_image_instance):
13324         use governing_domain instead of cache_domain in naming.
13325         * glyphs.c (Fvalid_image_instance_type_p): fix docs.
13326         * glyphs.c (make_image_instance_1):
13327         * glyphs.c (Fmake_image_instance):
13328         allow for any domain (not just device), and process the
13329         governing domain correctly.  very big doc fix.
13330         * glyphs.c (Fimage_instance_domain):
13331         new primitive, to retrieve the governing domain of an image instance.
13332         * glyphs.c (image_instantiate):
13333         use new governing_domain stuff.  this fixes a crash you could get
13334         by instantiating certain widget glyphs in frame locales. (should
13335         signal an error instead of crashing.)
13336         * glyphs.c (Fimage_specifier_p): move doc to make-image-specifier.
13337         * glyphs.c (Fglyphp): clean up doc.
13338         * glyphs.c (subwindow_governing_domain): renamed from *_decode_domain.
13339         * glyphs.c (syms_of_glyphs):
13340         declare Fimage_instance_domain, remove unused Qlayout_image_instance_p.
13341         * glyphs.c (image_instantiator_format_create): add some comments about
13342         bogus code.
13343         * glyphs.c (specifier_vars_of_glyphs): totally rewrite the doc string
13344         for current-display-table. (Apparently Hrjove implemented in 1998 a
13345         design I wrote up in 1996, but didn't update the doc string.)
13346
13347         * glyphs.h: clean up a doc string.
13348         * glyphs.h (governing_domain):
13349         * glyphs.h (struct image_instantiator_methods):
13350         changes for governing_domain stuff.
13351
13352         * gutter.c:
13353         * gutter.c (Fgutter_specifier_p):
13354         * gutter.c (Fgutter_size_specifier_p):
13355         * gutter.c (Fgutter_visible_specifier_p):
13356         * objects.c:
13357         * objects.c (Fcolor_specifier_p):
13358         * objects.c (Ffont_specifier_p):
13359         * objects.c (Fface_boolean_specifier_p):
13360         doc strings moved to make-*-specifier.
13361
13362         * redisplay.c (add_disp_table_entry_runes_1):
13363         * redisplay.c (generate_fstring_runes):
13364         * redisplay.c (screen):
13365         add random comments and doc strings.
13366
13367         * specifier.c:
13368         * specifier.c (Fmake_specifier):
13369         major overhaul of this doc string.
13370
13371         * specifier.c (Fvalid_specifier_domain_p):
13372         comment about the bogosity of image instances being domains.
13373         * specifier.c (decode_domain):
13374         now non-static, used in glyphs.c.
13375         * specifier.c (specifier_instance):
13376         comment about the bogosity of image instances being domains.
13377         * specifier.c (Fgeneric_specifier_p):
13378         move doc string to make-generic-specifier.
13379         * specifier.c (VALID_SINGLE_DISPTABLE_INSTANTIATOR_P):
13380         rebackslashify.
13381
13382         * specifier.h:
13383         * specifier.h (DOMAIN_FRAME):
13384         * specifier.h (DOMAIN_LIVE_P):
13385         * specifier.h (DOMAIN_XDEVICE):
13386         rebackslashify.
13387         add comments about problems with these macros.
13388         prototype for decode_domain.
13389
13390         * toolbar.c:
13391         * toolbar.c (Ftoolbar_specifier_p):
13392         move doc string to `make-toolbar-specifier'.
13393
13394         * window.c (window_unmap_subwindows_cache_mapper):
13395         *************************************************************
13396         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
13397         HAVE BEEN GETTING.
13398         *************************************************************
13399
13400 2000-05-09  Andy Piper  <andy@xemacs.org>
13401
13402         * glyphs.h: declare reset_frame_subwindow_instance_cache.
13403
13404         * window.c (Fset_window_configuration): reset the frame subwindow
13405         cache and re-initialize the window subwindow caches.
13406
13407         * glyphs.c (reset_frame_subwindow_instance_cache): new function.
13408
13409 2000-05-09  Ben Wing  <ben@xemacs.org>
13410
13411         * ntheap.c (recreate_heap): Changed unknown (VC6 only?) SIZE_T to
13412         DWORD.
13413
13414 2000-04-26  Mike Woolley  <mike@bulsara.com>
13415
13416         * ntheap.c: Changed recreate_heap to limit the amount reserved
13417         for the heap to that which is actually available. Also now
13418         displays a message box (with some dignostics) in the event that
13419         it still can't start.
13420
13421 2000-05-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
13422
13423         * callproc.c (Fold_call_process_internal): GCPRO path
13424
13425 2000-05-08  Jan Vroonhof  <jan@xemacs.org>
13426
13427         Patch by Bill Perry.
13428
13429         * scrollbar.c (Fscrollbar_page_up): Conditionalize on type of call
13430         back data instead of #ifdef.
13431         (Fscrollbar_page_down): ditto.
13432
13433 2000-05-07  Ben Wing  <ben@xemacs.org>
13434
13435         * buffer.h:
13436         Kludge for defining Qmswindows_tstr.
13437
13438         * nt.c:
13439         * nt.c (open_input_file):
13440         * nt.c (open_output_file):
13441         * nt.c (rva_to_section):
13442         * nt.c (mswindows_executable_type):
13443         Move all memory-mapped-file routines here (some were in unexnt.c,
13444         which is bad because they are used by process-nt.c, and unexnt
13445         won't be around when portable dumping).  Synched the above routines
13446         with FSF 20.6.
13447
13448         * nt.h:
13449         Removed ifdef'd out bogus code.
13450         Fixed some prototypes.
13451
13452         * nt.h (file_data):
13453         * nt.h (OFFSET_TO_RVA):
13454         * nt.h (RVA_TO_OFFSET):
13455         * nt.h (RVA_TO_PTR):
13456         Moved the memory-mapped-file structures, macros and prototypes
13457         here, to parallel nt.c.  ntheap.h should really be removed
13458         entirely, and it's a non-portable-dumper specific file.
13459
13460         * ntheap.h (round_to_next):
13461         Moved the memory-mapped-file structures, macros and prototypes
13462         to nt.h.
13463
13464         * ntproc.c (compare_env):
13465         Moved rva_to_section and mswindows_executable_type to nt.c.
13466         Moved compare_env to process-nt.c.
13467         ntproc.c will die, one day.
13468
13469         * ntproc.c (sys_spawnve):
13470         Account for win32_ -> mswindows_.
13471
13472         * process-nt.c:
13473         * process-nt.c (struct nt_process_data):
13474         * process-nt.c (ensure_console_window_exists):
13475         * process-nt.c (compare_env):
13476         * process-nt.c (nt_create_process):
13477         * process-nt.c (nt_kill_process_by_pid):
13478         * process-nt.c (syms_of_process_nt):
13479         * process-nt.c (vars_of_process_nt):
13480         Introduce variable `mswindows-quote-process-args', from FSF 20.6.
13481         Copy argument quoting code from FSF 20.6 (with appropriate Mule-ization
13482         changes).  Eliminate our old `nt-quote-process-args' mechanism.
13483         Synch up nt_create_process with FSF 20.6 sys_spawnve.
13484         Move compare_env here from ntproc.c.
13485
13486         * process.c (Fprocess_send_region):
13487         Takes an optional fourth argument, BUFFER, which should fix some
13488         problems with call-process.
13489
13490         * syscommctrl.h:
13491         Move ICC_BAR_CLASSES here from syswindows.h, to avoid a warning.
13492
13493         * syswindows.h:
13494         Move ICC_BAR_CLASSES to syscommctrl.h.
13495         Add preliminary macros for MSWindows/Mule.  More to come.
13496
13497         * unexnt.c:
13498         * unexnt.c (unexec):
13499         open_output_file moved to nt.c.
13500
13501
13502 2000-05-05  Andy Piper  <andy@xemacs.org>
13503
13504         * window.c (window_unmap_subwindows_cache_mapper): remove the dead
13505         instance from the frame cache also since GC may catch up too late
13506         to make frame deletion sane.
13507
13508 2000-05-04  Andy Piper  <andy@xemacs.org>
13509
13510         * glyphs-x.c (x_widget_instantiate): gcpro widget callbacks.
13511         (x_finalize_image_instance): ungcpro on deletion.
13512
13513         * glyphs.c (image_instantiator_format_create): give pointers a
13514         query geometry method so that the geometry is at least set.
13515
13516         * glyphs-x.c (image_instantiator_format_create_glyphs_x): only
13517         initialize layouts if using widgets.
13518
13519 2000-05-03  Andy Piper  <andy@xemacs.org>
13520
13521         * nt.c: remove bogus reference to sysmmsystem.h
13522
13523         * gui-x.c (popup_selection_callback): fix no selection abort.
13524
13525 2000-05-02  Andy Piper  <andy@xemacs.org>
13526
13527         * glyphs-msw.c (mswindows_update_widget): cope with nil text.
13528         (mswindows_widget_instantiate): ditto.
13529
13530         * glyphs-widget.c (initialize_widget_image_instance): initialize
13531         children correctly.
13532         (widget_instantiate): cope with children and items in the same
13533         instance.
13534
13535         * glyphs.c (mark_image_instance): cope with children as a first
13536         class member.
13537         (image_instance_equal): ditto.
13538         (image_instance_hash): ditto.
13539         (image_instance_changed): ditto.
13540
13541 2000-04-30  Andy Piper  <andy@xemacs.org>
13542
13543         * glyphs.c (subwindow_query_geometry): new function. Return some
13544         defaults.
13545         (subwindow_instantiate): don't assign dimensions if none have been
13546         given.
13547         (image_instantiator_format_create): add subwindow_query_geometry.
13548         (print_image_instance): cope with layouts as widgets.
13549
13550 2000-04-29  Andy Piper  <andy@xemacs.org>
13551
13552         * frame.c (delete_frame_internal): call
13553         free_frame_subwindow_instance_cache so that all subwindows are
13554         finalized before their parent.
13555         (mark_frame): remove subwindow_cachels.
13556         (Fmake_frame): remove subwindow_cachel manipulation.
13557         (allocate_frame_core): subwindow_instance_cache is a weak list.
13558         (delete_frame_internal): set subwindow_instance_cache to nil.
13559
13560         * glyphs-msw.c (mswindows_finalize_image_instance): make double
13561         finalization safe.
13562         (mswindows_finalize_image_instance): use the device
13563         not the domain as the domain may have died already.
13564
13565         * glyphs-x.c (x_finalize_image_instance): ditto.
13566         (x_subwindow_instantiate): remove SUBWINDOW_WIDTH &
13567         HEIGHT.
13568
13569         * redisplay-output.c (redisplay_unmap_subwindows): update for
13570         subwindow instance cache as a weak list.
13571         (redisplay_unmap_subwindows_maybe): ditto.
13572         (redisplay_unmap_subwindows_except_us): ditto.
13573
13574         * glyphs.c (unmap_subwindow): error checking will check the domain
13575         so don't deal with it here. Don't use cachels anymore.
13576         (map_subwindow): ditto.
13577         (update_subwindow_cachel_data): remove old accessor names.
13578         (subwindow_instantiate): remove SUBWINDOW_WIDTH & HEIGHT.
13579         (Fresize_subwindow): don't update cachel.
13580         (mark_subwindow_cachels):
13581         (update_subwindow_cachel_data):
13582         (add_subwindow_cachel):
13583         (get_subwindow_cachel_index):
13584         (update_subwindow_cachel):
13585         (reset_subwindow_cachels):
13586         (mark_subwindow_cachels_as_not_updated): deleted.
13587         (cache_subwindow_instance_in_frame_maybe): new function. Add a
13588         subwindow instance to the frame cache.
13589         (find_matching_subwindow): update for subwindow instance cache as
13590         a weak list.
13591         (update_widget_instances): ditto.
13592         (image_instance_type_to_mask):inlined.
13593         (free_frame_subwindow_instance_cache): new function. finalize all
13594         subwindows that are instantiated.
13595
13596         * glyphs.h (struct Lisp_Image_Instance): add display_data instead
13597         of cachel information.
13598         (IMAGE_INSTANCE_DISPLAY_X):
13599         (IMAGE_INSTANCE_DISPLAY_Y):
13600         (IMAGE_INSTANCE_DISPLAY_WIDTH):
13601         (IMAGE_INSTANCE_DISPLAY_HEIGHT):
13602         (XIMAGE_INSTANCE_DISPLAY_X):
13603         (XIMAGE_INSTANCE_DISPLAY_Y):
13604         (XIMAGE_INSTANCE_DISPLAY_WIDTH):
13605         (XIMAGE_INSTANCE_DISPLAY_HEIGHT): new accessors.
13606         remove subwindow_cachel structure and function references.
13607         (image_instance_type_to_mask): inline from glyphs.c
13608
13609         * redisplay.c (redisplay_frame): remove subwindow_cachel
13610         references.
13611
13612         * frame.h (struct frame): remove subwindow_cachels.
13613         (FRAME_SUBWINDOW_CACHE): access subwindow_instance_cache.
13614
13615         * frameslots.h: add subwindow_instance_cache.
13616
13617         * window.c (replace_window): check subwindow cache of replacement.
13618         (window_unmap_subwindows_cache_mapper):
13619         (window_unmap_subwindows): new functions. Unmap all subwindows
13620         cached on this window.
13621         (mark_window_as_deleted): unmap all subwindows.
13622
13623 2000-04-27  Andy Piper  <andy@xemacs.org>
13624
13625         * glyphs.h (IIFORMAT_METH_OR_GIVEN): cope with null meths.
13626
13627         * glyphs-widget.c (widget_layout): return something.
13628         (layout_layout): return something. Fail if not initialized.
13629         (layout_query_geometry): ditto.
13630         (image_instantiator_native_layout): new function. Initialized the
13631         native layout type.
13632         (widget_instantiate): don't do layout stuff here.
13633
13634         * glyphs.c (instantiate_image_instantiator): reorded calling or
13635         instantiate and post_instantiate with layout in between.
13636         (image_instance_layout): be more selective about deciding whether
13637         the layout has been done or not.
13638
13639         * glyphs.h (struct image_instantiator_methods): return a value
13640         from layout_method.
13641
13642 2000-04-26  Andy Piper  <andy@xemacs.org>
13643
13644         * glyphs.c (allocate_image_instance): make initial width and
13645         height unspecified. Set initialized to 0.
13646
13647         * syscommctrl.h new file. Encapsulates commctrl.h.
13648
13649         * syswindows.h new file. Encapsulates windows.h.
13650
13651         * ntplay.c: use new syswindows.h and syscommctrl.h header.
13652         * nt.c: ditto.
13653         * console-msw.h: ditto.
13654
13655         * redisplay-tty.c (tty_output_display_block): remove layout references.
13656
13657         * glyphs-msw.c (mswindows_widget_instantiate): use the domain
13658         window handle rather than just the frame.
13659
13660         * glyphs.c (mark_image_instance): remove layout references.
13661         (print_image_instance): ditto.
13662         (image_instance_equal): ditto.
13663         (image_instance_hash): ditto.
13664         (decode_image_instance_type): ditto.
13665         (encode_image_instance_type): ditto.
13666         (image_instantiate): ditto.
13667         (allocate_glyph): ditto.
13668         (Fimage_instance_height): ditto.
13669         (Fimage_instance_width): ditto.
13670         (update_subwindow): ditto.
13671
13672         * redisplay-x.c (x_output_display_block): recode for layouts as
13673         widgets.
13674
13675         * redisplay-output.c (redisplay_output_layout): recode for layouts
13676         as widgets.
13677         (compare_runes): remove layout references.
13678
13679         * redisplay-msw.c (mswindows_output_display_block): recode for
13680         layouts as widgets.
13681
13682         * glyphs-widget.c (image_instantiator_layout): remove
13683         layout_possible_dest_types.
13684         (layout_possible_dest_types): deleted.
13685
13686         * glyphs.h (image_instance_type): remove layout references.
13687         (struct Lisp_Image_Instance): ditto. Add initialized flag.
13688         (IMAGE_INSTANCE_INITIALIZED): new accessor.
13689         (XIMAGE_INSTANCE_INITIALIZED): ditto.
13690
13691 2000-04-25  Andy Piper  <andy@xemacs.org>
13692
13693         * glyphs-widget.c (image_instantiator_buttons):
13694         (image_instantiator_edit_fields):
13695         (image_instantiator_combo_box):
13696         (image_instantiator_scrollbar):
13697         (image_instantiator_progress_guage):
13698         (image_instantiator_tree_view):
13699         (image_instantiator_tab_control):
13700         (image_instantiator_labels):
13701         (image_instantiator_layout): call default post_instantiate method.
13702         (widget_post_instantiate): new function. Simply lays out the
13703         widgets.
13704
13705         * glyphs.h (struct image_instantiator_methods): add
13706         post_instantiate method.
13707
13708         * glyphs.c (instantiate_image_instantiator): add post_instantiate
13709         method calls.
13710
13711 2000-04-23  Andy Piper  <andy@xemacs.org>
13712
13713         * glyphs.h (struct image_instantiator_methods): add
13714         decode_domain_method.
13715         (struct Lisp_Image_Instance): remove subwindow frame - it can be
13716         derived from the domain.
13717         (IMAGE_INSTANCE_FRAME): new accessor.
13718         (XIMAGE_INSTANCE_FRAME): ditto.
13719
13720         * glyphs.c (print_image_instance): use IMAGE_INSTANCE_FRAME
13721         instead of _SUBWINDOW_FRAME.
13722         (finalize_image_instance): ditto.
13723         (Fimage_instance_foreground): ditto.
13724         (Fimage_instance_background): ditto.
13725         (image_instantiate): ditto.
13726         (update_subwindow_cachel): ditto.
13727         (update_subwindow): ditto.
13728         (unmap_subwindow): ditto.
13729         (map_subwindow): ditto
13730         (subwindow_instantiate): ditto.
13731         * glyphs-msw.c (mswindows_update_widget): ditto.
13732         (mswindows_progress_gauge_instantiate): ditto.
13733         (mswindows_tab_control_update): ditto.
13734         * glyphs-x.c (x_update_widget): ditto.
13735         (x_widget_instantiate): ditto.
13736         (x_tab_control_instantiate): ditto.
13737         (x_tab_control_update): ditto.
13738         * event-msw.c (mswindows_wnd_proc): ditto
13739
13740         * glyphs-widget.c (image_instantiator_layout): use
13741         subwindow_decode_domain.
13742         (image_instantiator_buttons): ditto.
13743         (image_instantiator_edit_fields): ditto.
13744         (image_instantiator_combo_box): ditto.
13745         (image_instantiator_scrollbar): ditto.
13746         (image_instantiator_progress_guage): ditto.
13747         (image_instantiator_tree_view): ditto.
13748         (image_instantiator_tab_control): ditto.
13749         (image_instantiator_labels): ditto.
13750         (image_instantiator_layout): ditto.
13751
13752         * glyphs.c: add instance error checking to many functions.
13753         (instantiate_image_instantiator): decode device from cache_domain.
13754         (image_instantiate): partially rewrite by using
13755         decode_image_instantiator_domain to determine what domain the
13756         instance needs to be cached in.
13757         (decode_image_instantiator_domain): new function. Determine what
13758         domain the image needs to be cached in.
13759         (check_window_subwindow_cache): new error checking function.
13760         (check_instance_cache_mapper): ditto.
13761         (check_image_instance_structure): ditto.
13762         (subwindow_decode_domain): new function. Encodes a window as a
13763         subwindow's cache domain.
13764         (image_instantiator_format_create): use it for text and
13765         subwindows.
13766
13767 2000-04-21  Andy Piper  <andy@xemacs.org>
13768
13769         * glyphs.c (image_instance_device): new function.
13770         (image_instance_frame): new function.
13771         (image_instance_window): new function.
13772         (image_instance_live_p): new function.
13773
13774         * window.c (mark_window_as_deleted): reset the subwindow_instance_
13775         cache to nil.
13776
13777         * glyphs.h (struct Lisp_Image_Instance): device->domain.
13778         (IMAGE_INSTANCE_DOMAIN): new accessor.
13779         (XIMAGE_INSTANCE_DOMAIN): ditto.
13780
13781         * glyphs-x.c (x_finalize_image_instance): device->domain.
13782
13783         * glyphs-msw.c (init_image_instance_geometry): device->domain.
13784         (mswindows_finalize_image_instance): ditto.
13785
13786         * glyphs-eimage.c (jpeg_instantiate): device->domain.
13787         (gif_instantiate): ditto.
13788         (png_instantiate): ditto.
13789         (tiff_instantiate): ditto.
13790
13791         * glyphs.c (instantiate_image_instantiator): use domain rather
13792         than device.
13793         (mark_image_instance): device -> domain.
13794         (print_image_instance): ditto.
13795         (finalize_image_instance): ditto.
13796         (image_instance_equal): ditto.
13797         (allocate_image_instance): ditto.
13798         (Fcolorize_image_instance): ditto.
13799         (query_string_geometry): ditto.
13800         (image_instantiate): ditto
13801         (query_string_font): ditto.
13802         (image_instantiate): ditto.
13803         (update_subwindow): ditto.
13804         (unmap_subwindow): ditto.
13805         (map_subwindow): ditto.
13806         (subwindow_instantiate): ditto.
13807
13808         * specifier.h (DOMAIN_DEVICE): new, semantically correct, decoder.
13809         (DOMAIN_FRAME): ditto.
13810         (DOMAIN_WINDOW): ditto.
13811         (DOMAIN_LIVE_P): ditto.
13812         (XDOMAIN_DEVICE): ditto.
13813         (XDOMAIN_FRAME): ditto.
13814         (XDOMAIN_WINDOW): ditto.
13815
13816         * specifier.c (Fvalid_specifier_domain_p): add image instances as
13817         a valid specifier domain.
13818
13819 2000-04-19  Andy Piper  <andy@xemacs.org>
13820
13821         * glyphs-widget.c (syms_of_glyphs_widget): remove
13822         widget-callback-current-channel.
13823         (vars_of_glyphs_widget): ditto.
13824         * glyphs.h: ditto
13825
13826         * gui.c (get_gui_callback): revert to previous behaviour.
13827
13828 2000-04-18  Andy Piper  <andy@xemacs.org>
13829
13830         * glyphs.h (struct Lisp_Image_Instance): add margin_width.
13831         (IMAGE_INSTANCE_MARGIN_WIDTH): new.
13832         (XIMAGE_INSTANCE_MARGIN_WIDTH): new.
13833
13834         * glyphs.c (image_instance_equal): add margin_width.
13835         (image_instance_hash): ditto.
13836
13837         * glyphs-widget.c (widget_instantiate): deal with margin-width.
13838         (layout_query_geometry): ditto.
13839         (layout_layout): ditto.
13840         (syms_of_glyphs_widget): add margin-width.
13841         (image_instantiator_layout): allow margin-width.
13842
13843         * glyphs.c (update_widget_instances): make a normal function.
13844         (syms_of_glyphs): remove Qupdate_widget_instances.
13845         * glyphs.h: ditto.
13846
13847         * gui-x.c (popup_selection_callback): use enqueue_magic_eval_event
13848         so that we don't corrupt ideas about the last event or
13849         command. Remove widget-callback-current-channel fiddling.
13850         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
13851
13852 2000-05-01  Martin Buchholz <martin@xemacs.org>
13853
13854         * XEmacs 21.2.33 is released.
13855
13856 2000-05-01  Yoshiki Hayashi  <yoshiki@xemacs.org>
13857
13858         * make-src-depend: Allow dots in header file name.
13859
13860 2000-05-01  Yoshiki Hayashi  <yoshiki@xmacs.org>
13861
13862         * mule-charset.h (struct charset_lookup): Add
13863         next_allocated_1_byte_leading_byte and
13864         next_allocated_2_byte_leading_byte.
13865         * mule-charset.c: Move above two variables so that those values
13866         will be dumped.
13867
13868 2000-04-26  Yoshiki Hayashi  <yoshiki@xemacs.org>
13869
13870         * insdel.c (find_charsets_in_bufbyte_string): Add Vcharset_ascii
13871         when string length is zero.
13872         (find_charsets_in_emchar_string): Ditto.
13873
13874 2000-04-29  Bjrn Torkelsson  <torkel@hpc2n.umu.se>
13875
13876         * lisp.h: extern Qdialog and Qmenubar.
13877
13878         * gui-x.c: added events.h.
13879                 also fixed typo which made the file uncompilable.
13880
13881         * general.c: Added Qmenubar and Qdialog
13882
13883 2000-04-28  Ben Wing  <ben@xemacs.org>
13884
13885         * frame-msw.c (mswindows_init_frame_1):
13886         * frame-msw.c (mswindows_mark_frame):
13887         * event-msw.c (mswindows_enqueue_dispatch_event):
13888         * console-msw.h:
13889         * console-msw.h (struct mswindows_frame):
13890         * console-msw.h (FRAME_MSWINDOWS_WIDGET_HASH_TABLE1):
13891         there are now three hash tables for callbacks.
13892         mswindows_enqueue_dispatch_event is no longer static.
13893
13894         * dialog-x.c (maybe_run_dbox_text_callback):
13895         * dialog-x.c (dbox_descriptor_to_widget_value):
13896         switch to new cons3 form for callbacks.
13897
13898         * glyphs-msw.c (mswindows_register_gui_item):
13899         * glyphs-msw.c (mswindows_widget_instantiate):
13900         * glyphs-msw.c (add_tree_item):
13901         * glyphs-msw.c (add_tab_item):
13902         new image instance parameter, so it can be passed to callback-ex.
13903         respect :callback-ex as well as :callback.
13904
13905         * glyphs-widget.c (VALID_GUI_KEYWORDS):
13906         add :callback-ex.
13907
13908         * glyphs.c (print_image_instance):
13909         prettify, e.g. now prints widget type.
13910
13911         * gui-x.h:
13912         certain funs have new image instance parameter.
13913
13914         * gui.c:
13915         * gui.c (get_gui_callback):
13916         * gui.c (gui_item_add_keyval_pair):
13917         * gui.c (gui_item_init):
13918         * gui.c (gui_add_item_keywords_to_plist):
13919         * gui.c (mark_gui_item):
13920         * gui.c (gui_item_hash):
13921         * gui.c (gui_item_equal):
13922         * gui.c (copy_gui_item):
13923         * gui.c (syms_of_gui):
13924         recognize callback-ex in a number of places.
13925         also, fix the annoying "can't get out of yes-no dialog" bug.
13926
13927         * gui.h:
13928         * gui.h (struct Lisp_Gui_Item):
13929         recognize callback-ex in a number of places.
13930
13931         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
13932         new parameter in button_item_to_widget_value.
13933
13934         * glyphs-x.c (x_update_widget):
13935         * glyphs-x.c (x_button_instantiate):
13936         * glyphs-x.c (x_button_update):
13937         * glyphs-x.c (x_progress_gauge_instantiate):
13938         * glyphs-x.c (x_edit_field_instantiate):
13939         * glyphs-x.c (x_combo_box_instantiate):
13940         * glyphs-x.c (x_tab_control_instantiate):
13941         * glyphs-x.c (x_label_instantiate):
13942         new image instance parameter in various places.
13943
13944         * event-Xt.c:
13945         * event-Xt.c (enqueue_Xt_dispatch_event):
13946         this fun gets exported.
13947
13948         * gui-msw.c:
13949         * gui-msw.c (mswindows_handle_gui_wm_command):
13950         handle both :callback and :callback-ex, and generate our own
13951         event because it's one of the callback-ex arguments.
13952
13953         * gui-x.c:
13954         * gui-x.c (popup_selection_callback):
13955         handle both :callback and :callback-ex, and generate our own
13956         event because it's one of the callback-ex arguments.
13957         * gui-x.c (button_item_to_widget_value):
13958         * gui-x.c (gui_items_to_widget_values_1):
13959         * gui-x.c (gui_item_children_to_widget_values):
13960         * gui-x.c (gui_items_to_widget_values):
13961         new image instance parameter in various places.
13962
13963         * fns.c (Freplace_list):
13964         fix small typo in doc string.
13965
13966         * lisp.h:
13967         declare enqueue_Xt_dispatch_event.
13968
13969 2000-04-28  Ben Wing  <ben@xemacs.org>
13970
13971         * buffer.c:
13972         * buffer.c (Frecord_buffer):
13973         * buffer.c (syms_of_buffer):
13974         delete record-buffer-hook.
13975
13976         * fns.c:
13977         * fns.c (Freplace_list):
13978         * fns.c (syms_of_fns):
13979         new primitive replace-list.
13980
13981         * frameslots.h:
13982         slot for old buffer-alist.
13983
13984         * lisp.h:
13985         exfun replace-list.
13986
13987         * redisplay.c:
13988         * redisplay.c (redisplay_frame):
13989         * redisplay.c (syms_of_redisplay):
13990         * redisplay.c (vars_of_redisplay):
13991         new hook buffer-list-changed-hook.
13992         call it.
13993
13994 2000-04-27  Ben Wing  <ben@xemacs.org>
13995
13996         * extents.h: extern in_modeline_generation.
13997
13998         * redisplay.c (generate_formatted_string_db): set
13999         in_modeline_generation.
14000
14001         * extents.c (extent_changed_for_redisplay): don't mark redisplay
14002         flags if in modeline generation.  otherwise frame-modified-tick
14003         is ticked far too often.
14004         Declare in_modeline_generation.
14005
14006 2000-04-26  Ben Wing  <ben@xemacs.org>
14007
14008         * emacs.c (vars_of_emacs): document quick-build "error-checking"
14009         option.
14010         (vars_of_emacs): add quick-build as an error-checking option.
14011         A bit kludgy, but there doesn't seem much point in creating
14012         a real var for this.
14013
14014         * config.h.in: put in an entry for QUICK_BUILD; remove NO_DOC_FILE.
14015
14016 2000-04-14  IKEYAMA Tomonori  <tomonori@suiyokai.org>
14017
14018         * redisplay.h (struct display_line): Add a new variable,
14019         line_continuation.
14020
14021         * redisplay.c (create_text_block): Set dl->line_continuation if
14022         the line continues.
14023         (create_string_text_block): Ditto.
14024         (regenerate_window_incrementally): Use line_continuation instead
14025         of searching continuation glyph.
14026         (add_margin_runes): Call add_glyph_rune.
14027         (add_glyph_rune): Handle margin glyph.
14028
14029 2000-04-20  Martin Buchholz  <martin@xemacs.org>
14030
14031         * filelock.c (fill_in_lock_file_name):
14032         ANSIfy.
14033         Check for IS_ANY_SEP instead of '/'.
14034         (lock_file_1):
14035         Avoid generating gratuitous garbage.  Call user_login_name() directly.
14036         Never check errno without first seeing that system call failed.
14037         (unlock_file): Add GCPRO.
14038         (Flock_buffer): Fix docstring.
14039         (Ffile_locked_p): Fix docstring.  Add GCPRO.
14040
14041 2000-04-19  Martin Buchholz  <martin@xemacs.org>
14042
14043         * sysdep.c (get_pty_max_bytes):
14044         Fix hangs on DEC OSF 4.0 when (process-send-string) sends
14045         strings longer than 252 bytes.
14046
14047         * md5.c: Unconditionally include ANSI header <limits.h>
14048
14049         * glyphs-x.c (convert_EImage_to_XImage):
14050         * lisp-union.h (union Lisp_Object):
14051         Use consistently the syntax #ifdef FEATURE, not #if FEATURE.
14052
14053 2000-04-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
14054
14055         * filelock.c (current_lock_owner): Remove unused variable o, p.
14056
14057 2000-04-17  Norbert Koch  <n.koch@eai-delta.de>
14058
14059         * callint.c: Remove multiply defined symbol Qlet
14060         (syms_of_callint): ditto.
14061
14062 2000-04-14  Andy Piper  <andy@xemacs.org>
14063
14064         * general.c (syms_of_general): add last-command, this-command, let
14065         and funcall.
14066
14067         * lisp.h: declare various symbols.
14068
14069         * glyphs.h: declare Qwidget_callback_current_channel;
14070
14071         * glyphs-widget.c (syms_of_glyphs_widget): add
14072         Qgui_callback_current_channel.
14073         (vars_of_glyphs_widget): add Vgui_callback_current_channel.
14074
14075         * gui-msw.c (mswindows_handle_gui_wm_command): bind
14076         widget-callback-current-channel when invoking the interactive
14077         arg. Also bind last-command and next-command when invoking the
14078         widget updates.
14079         * gui-x.c (popup_selection_callback): ditto.
14080
14081         * gui.c (get_gui_callback): massage args so that we are always
14082         calling eval. This allows us to add our own variable bindings
14083         outside.
14084
14085         * glyphs-x.c (x_button_instantiate): use
14086         gui_items_to_widget_values since this is GC safe.
14087         (x_progress_gauge_instantiate): ditto.
14088         (x_edit_field_instantiate): ditto.
14089         (x_label_instantiate): ditto.
14090
14091         * event-Xt.c (emacs_Xt_handle_magic_event): remove old printfs.
14092         (emacs_Xt_event_widget_focus_out): new function
14093         (emacs_Xt_event_widget_focus_in): new function. Set the keyboard
14094         focus.
14095         (emacs_Xt_event_add_widget_actions): new function. add focus
14096         functions as actions.
14097         (init_event_Xt_late): use it.
14098
14099 2000-04-14  Hrvoje Niksic  <hniksic@iskon.hr>
14100
14101         * event-stream.c (Fdispatch_event): Doc fix.
14102
14103 2000-03-29  SL Baur  <steve@musashimaru.m17n.org>
14104
14105         * postgresql.c: Remove all references to PQsetenv*.
14106
14107         * postgresql.h: Remove references to PGsetenvHandler object.
14108         * lrecord.h (lrecord_type): Ditto.
14109
14110 2000-04-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14111
14112         * glyphs-msw.h (struct mswindows_image_instance_data): Added
14113         real_heigh and real_width members, and accessor macros for these.
14114
14115         * glyphs-msw.c (init_image_instance_geometry): New function.
14116         (init_image_instance_from_dibitmap): Use it.
14117         (mswindows_resource_instantiate): Use it.
14118         (init_image_instance_from_xbm_inline): Use it.
14119         (mswindows_initialize_image_instance_mask): Use real bitmap
14120         geometry.
14121         (mswindows_create_resized_bitmap): Ditto.
14122         (mswindows_create_resized_mask): Ditto.
14123
14124         * redisplay-msw.c (mswindows_output_dibitmap): Stretch real mask
14125         and bitmap to their surface size.
14126
14127 2000-04-11  Jan Vroonhof  <jan@xemacs.org>
14128
14129         * process-unix.c (unix_send_process): Guard against process MIA
14130         after Faccept_process_output.
14131
14132 2000-04-11  Ben Wing  <ben@xemacs.org>
14133
14134         * eval.c (unbind_to_hairy): fix brokenness introduced by
14135         nanosecond speed improvements.
14136
14137 2000-04-07  Raymond Toy  <toy@rtp.ericsson.se>
14138
14139         * sunplay.c (init_device): To play sounds correctly, the device
14140         apparently needs to be initialized at least once by XEmacs.  Make
14141         it so.
14142
14143 2000-04-10  IKEYAMA Tomonori  <tomonori@suiyokai.org>
14144
14145         * redisplay.c (add_margin_runes): Add text image glyph
14146           handling.
14147
14148 2000-04-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
14149
14150         * lisp.h (DOESNT_RETURN): Don't declare as volatile when
14151         gcc is newer than 2.5.
14152
14153 2000-04-06  Colin Rafferty  <colin@xemacs.org>
14154
14155         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF): Created.
14156
14157         * fns.c (size_bit_vector):
14158         * alloc.c (size_vector):
14159         (make_vector_internal):
14160         (make_bit_vector_internal):
14161         (sweep_bit_vectors_1):
14162         Replace calls to offsetof with FLEXIBLE_ARRAY_STRUCT_SIZEOF macro.
14163
14164 2000-04-06  Andy Piper  <andy@xemacs.org>
14165
14166         * gmalloc.c (malloc): undo previous change.
14167         (malloc): ditto.
14168         (free): ditto.
14169         (realloc): ditto.
14170
14171 2000-04-06  IKEYAMA Tomonori <tomonori@suiyokai.org>
14172
14173         * line-number.c (buffer_line_number): Revert to former version.
14174
14175 2000-04-06  Andy Piper  <andy@xemacs.org>
14176
14177         * gmalloc.c (malloc): add error checking.
14178         (malloc): ditto.
14179         (free): ditto.
14180         (realloc): ditto.
14181
14182         * dialog-x.c (dbox_descriptor_to_widget_value): add extra
14183         button_item_to_widget_value arg.
14184
14185         * glyphs-x.c (x_button_instantiate): add extra
14186         button_item_to_widget_value arg.
14187         (x_progress_gauge_instantiate): ditto.
14188         (x_edit_field_instantiate): ditto.
14189         (x_label_instantiate): ditto.
14190
14191         * gui-x.c (gui_items_to_widget_values_1): add extra
14192         button_item_to_widget_value arg.
14193         (button_item_to_widget_value): add extra menu_item_p arg.
14194
14195         * gui-x.h: change signature of button_item_to_widget_value.
14196
14197         * menubar-x.c (menu_item_descriptor_to_widget_value_1): add extra
14198         button_item_to_widget_value arg.
14199
14200 2000-04-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
14201
14202         * buffer.h (struct buffer): auto_save_modified should be long.
14203
14204 2000-04-05  Andy Piper  <andy@xemacs.org>
14205
14206         * glyphs-widget.c (widget_instantiate): pixwidth != pixheight
14207         type.
14208         (button_query_geometry): give a little more room so that athena
14209         buttons fit.
14210
14211 2000-04-05  Andy Piper  <andy@xemacs.org>
14212
14213         * faces.c (complex_vars_of_faces): The widget face should inherit
14214         the font of the gui-element face.
14215
14216 2000-04-04  Andy Piper  <andy@xemacs.org>
14217
14218         * glyphs-x.c (x_button_update): new function. unconditionally
14219         update a button's state when the instance is dirty.
14220         (image_instantiator_format_create_glyphs_x): add x_button_update.
14221         (x_widget_instantiate): remove old resize cruft.
14222
14223 2000-04-02  Andy Piper  <andy@xemacs.org>
14224
14225         * frame.c (change_frame_size_1): The introduction of gutters means
14226         that we need to allow 0 as a potential frame dimension.
14227
14228 2000-04-02  IKEYAMA Tomonori  <tomonori@suiyokai.org>
14229
14230         * redisplay.c (add_glyph_rune): Don't set 0 to bufpos for text
14231         image glyph if allow_cursor.
14232         (add_hscroll_rune): Don't allow cursor to border glyph.
14233         (create_text_block): Ditto.
14234
14235         * redisplay-output.c (redisplay_move_cursor): Do nothing even if
14236         text not in buffer.
14237         (redisplay_output_layout): Call ensure_face_cachel_complete for
14238         text image glyph.
14239
14240
14241 2000-03-16  IKEYAMA Tomonori  <tomonori@suiyokai.org>
14242
14243         * redisplay.c (add_glyph_rune): Adding text image as text runes.
14244
14245         * redisplay-output.c (redisplay_move_cursor): NO_CURSOR if text
14246         not in buffer
14247
14248         * redisplay-tty.c (tty_output_display_block): Delete the routine
14249         for text image glyph
14250         * redisplay-x.c (x_output_display_block): ditto
14251         * redisplay-msw.c (mswindows_output_display_block): ditto
14252
14253 2000-02-02  Mike Alexander  <mta@arbortext.com>
14254
14255         Note: Some of these were committed by accident as part of other
14256         patches.
14257
14258         * regex.c (regex_compile): Avoid compiler warnings.
14259
14260         * ntproc.c (sys_spawnve): Avoid compiler warnings.
14261
14262         * nt.h: Declare term_ntproc correctly.
14263
14264         * nt.c: Remove incorrect declaration of get_home_directory which
14265         is declared correctly in lisp.h.
14266
14267         * keymap.c (get_keyelt): Avoid compiler warnings.
14268         (raw_lookup_key_mapper): Avoid compiler warnings.
14269
14270         * gutter.c (gutter_was_visible): Add return statement to avoid warning.
14271
14272         * glyphs-eimage.c (png_instantiate): Avoid compiler warnings.
14273
14274         * filemode.c (mode_string): Avoid compiler warnings.
14275
14276         * file-coding.c (Fcoding_system_aliasee): Add return statement to
14277         avoid warning.
14278
14279         * events-mod.h: Undef some things that winuser.h defines differently.
14280
14281         * data.c (Faset): Avoid compiler warnings.
14282
14283         * alloc.c (Fmake_byte_code): Avoid compiler warnings.
14284
14285 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
14286
14287         * sound.c (Fplay_sound_file): Wrap ESD in start/stop_interrupts.
14288         Fall through to simple beep on error.
14289         Replace "extern" by real header file.
14290
14291         * linuxplay.c: Use nativesound.h
14292         (play_sound_data): Return error code. Be less verbose on error.
14293
14294         * sunplay.c: Use nativesound.h
14295         (play_sound_data): Return error code. Be less verbose on error.
14296
14297         * ntplay.c: Use nativesound.h
14298         (play_sound_data): Return fake error code
14299
14300         * sgiplay.c: Use nativesound.h
14301         (play_sound_data): Return error code
14302
14303         * hpplay.c: Use nativesound.h, partially implement
14304         new error code. Break compilation until finished.
14305         (play_sound_data): error code.
14306
14307         * nativesound.h (play_sound_file):
14308           (play_sound_data): Prototype in new header.
14309
14310 2000-03-31  Andy Piper  <andy@xemacs.org>
14311
14312         * glyphs-widget.c: (button_query_geometry): new function. Adjust
14313         for toggle and radio buttons.
14314         (image_instantiator_buttons): use it.
14315
14316 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
14317
14318         * scrollbar-x.c (x_update_vertical_scrollbar_callback):
14319         (x_update_horizontal_scrollbar_callback): Return if no mirror was
14320         found. Scrollbar event probably belonged to some old config.
14321
14322 2000-03-31  Andy Piper  <andy@xemacs.org>
14323
14324         * glyphs-widget.c (widget_instantiate): use LAYOUT_VERTICAL rather
14325         than 1.
14326         (initialize_widget_image_instance): default layout to
14327         LAYOUT_HORIZONTAL rather than 0.
14328         (widget_instantiate): reverse the item list at the end rather than
14329         every iteration.
14330         (layout_layout): re-code for the border text at the front of the
14331         item list rather than at the end.
14332         (layout_query_geometry): ditto. Pick up fixed and dynamic sizes
14333         provided by the user.
14334         (widget_query_geometry): comment.
14335
14336 2000-03-30  Andy Piper  <andy@xemacs.org>
14337
14338         * glyphs-widget.c (image_instantiator_layout): allow standard
14339         widget keywords in layouts.
14340
14341         * gutter.c (output_gutter): cope with nil gutter contents.
14342
14343         * frame.c (Fset_frame_properties): add gutter docs.
14344
14345 2000-03-29  Andy Piper  <andy@xemacs.org>
14346
14347         * toolbar-msw.c (TBSTYLE_FLAT): add.
14348         (mswindows_output_toolbar): minor fiddling.
14349
14350 2000-03-29  Andy Piper  <andy@xemacs.org>
14351
14352         * gutter.c (output_gutter): force gutter size recalculation if
14353         what we are trying to display won't fit.
14354         (update_gutter_geometry): new function. A per-gutter version of
14355         update_frame_gutter_geometry.
14356         (update_frame_gutter_geometry): use it.
14357         (redraw_exposed_gutter): add extra debugging output.
14358
14359 2000-03-28  Mike Alexander  <mta@arbortext.com>
14360
14361         * dumper.c: Declare pdump_hFile and pdump_hMap (Windows only)
14362         (pdump_file_unmap): Implement it on Windows
14363         (pdump_file_get): Save alocated handles for pdump_file_unmap
14364
14365 2000-03-28  Andy Piper  <andy@xemacs.org>
14366
14367         * gui.c (get_gui_callback): treat Quit specially.
14368
14369 2000-03-27  Andy Piper  <andy@xemacs.org>
14370
14371         * glyphs.c (image_instantiate): be careful to check in the same
14372         way we assigned.
14373
14374 2000-03-27  Didier Verna  <didier@xemacs.org>
14375
14376         * config.h.in: define the proper SMART_INCLUDE macro.
14377         handle renaming of `foo_h_path' to `foo_h_file'.
14378
14379         * database.c: ditto.
14380
14381         * emacs.c: ditto.
14382
14383         * linuxplay.c: ditto.
14384
14385         * terminfo.c: ditto.
14386
14387         * tooltalk.h: ditto.
14388
14389 2000-03-27  Andy Piper  <andy@xemacs.org>
14390
14391         * glyphs-msw.c (mswindows_update_widget): make sure the widget
14392         gets updated whenever the face might have changed.
14393
14394 2000-03-26  Mike Alexander  <mta@arbortext.com>
14395
14396         * dumper.c (pdump_resource_free): Fix the comment.
14397
14398 2000-03-21  Olivier Galibert  <galibert@pobox.com>
14399
14400         * input-method-xlib.c (XIM_init_frame): Remove painful warning.
14401
14402 2000-03-22  Mike Alexander  <mta@arbortext.com>
14403
14404         * dumper.c: Include Windows headers on Windows
14405         (pdump_resource_free): Add a body to the function
14406         (pdump_load): exe_name -> exe_path and add some comments.
14407
14408 2000-03-25  Mike Alexander  <mta@arbortext.com>
14409
14410         * gui.c (copy_gui_item_tree): Return a value in all cases
14411
14412 2000-03-21  Didier Verna  <didier@xemacs.org>
14413
14414         * config.h.in: move INCLUDE_GLUE_1 and INCLUDE_GLUE_2 here from
14415         lwlib/config.h.in.
14416         (SMART_INCLUDE): new macro.
14417         (POSTGRES_INCLUDE): new macro to include postgresql headers from
14418         the proper location.
14419
14420         * postgresql.c: use it.
14421
14422         * inline.c: ditto.
14423
14424 2000-03-24  Andy Piper  <andy@xemacs.org>
14425
14426         * gutter.c (redraw_exposed_gutters): must be "in display" when we
14427         do this.
14428
14429 2000-03-24  Andy Piper  <andy@xemacs.org>
14430
14431         * redisplay-output.c (compare_runes): use image_instance_changed
14432         to detect changes. Do not depend on glyphs_changed, only depend on
14433         dirtiness.
14434          (redisplay_output_layout): add debug messages.
14435         (compare_runes): ditto.
14436
14437         * glyphs.h: declare new functions.
14438         (struct Lisp_Image_Instance): remove percent and associated
14439         accessors.
14440
14441         * gui.h: declare new copying functions.
14442
14443         * gui.c (copy_gui_item_tree): new function.
14444         (copy_gui_item): new function.
14445         (gui_item_id_hash): revert to standard hash.
14446         (gui_item_hash): ditto.
14447         (gui_item_hash_internal): deleted.
14448         (mark_gui_item): mark value.
14449         (gui_item_add_keyval_pair): add value.
14450         (gui_item_init): ditto.
14451         (gui_add_item_keywords_to_plist): ditto.
14452         (gui_item_equal): ditto.
14453         (syms_of_gui): add Q_value.
14454
14455         * glyphs-x.c (x_progress_gauge_update): use pending items and
14456         value for setting the state.
14457         (x_update_widget): don't set items from pending here.
14458
14459         * glyphs-widget.c (update_widget): update items here.
14460         (progress_gauge_set_property): use items for storing value. Put
14461         new value in pending items.
14462
14463         * glyphs-msw.c (mswindows_progress_gauge_update): use pending
14464         items for new value. Convert percent -> value.
14465         (mswindows_tab_control_update): don't update items here.
14466
14467         * glyphs.c (Fupdate_widget_instances): use image_instance_changed.
14468         (update_subwindow): ditto.
14469         (image_instance_changed): new function. Compare hash values and
14470         past and present widget items.
14471         (image_instantiate): We more careful about where we instantiate
14472         things.
14473         (image_instantiate): add error checking.
14474
14475         * gutter.c (syms_of_gutter): use -hook.
14476
14477 2000-03-20  Yoshiki Hayashi  <yoshiki@xemacs.org>
14478
14479         * console-tty.c (Fset_console_tty_input_coding_system): Use
14480         Qkeyboard.
14481         (Fset_console_tty_output_coding_system): Use Qterminal.
14482         (tty_init_console): Use Qkeyboard and Qterminal.
14483
14484 2000-03-21  Ben Wing  <ben@xemacs.org>
14485
14486         * ntproc.c (create_child): remove bogus HAVE_NTGUI's.
14487         From Mike Alexander <mta@arbortext.com>.
14488
14489 2000-03-21  Ben Wing  <ben@xemacs.org>
14490
14491         * event-msw.c (mswindows_need_event): Horrible kludge to fix
14492         process brokenness.  Proper implementation to come.
14493         * callproc.c:
14494         Rename call-process-internal to old-call-process-internal.
14495         New impl. in process.el.
14496
14497 2000-03-21  Martin Buchholz  <martin@xemacs.org>
14498
14499         * Makefile.in.in: Coalesce HAVE_NATIVE_SOUND code fragments.
14500
14501 2000-03-20  Andy Piper  <andy@xemacs.org>
14502
14503         * glyphs.c (full_list_hash): make hashes of the same elements in
14504         different orders return different values.
14505
14506 2000-03-20  Martin Buchholz <martin@xemacs.org>
14507
14508         * XEmacs 21.2.32 is released.
14509
14510 2000-03-20  Martin Buchholz  <martin@xemacs.org>
14511
14512         * buffer.h (DFC_ALLOCA_USE_CONVERTED_DATA):
14513         (DFC_MALLOC_USE_CONVERTED_DATA):
14514         Add aliasing-safe casts to allow use with char* or unsigned char*
14515         lvalues.
14516
14517         * eldap.c (Fldap_open):
14518         (Fldap_search_basic):
14519         (Fldap_add):
14520         (Fldap_modify):
14521         Make C++-compilable.
14522         Make sure GCPRO'ed variables are initialized.
14523         Use temp variables to avoid repeated calls to Flength.
14524
14525 2000-03-16  Martin Buchholz  <martin@xemacs.org>
14526
14527         * sysfile.h:
14528         Make sure PATH_MAX is always defined.
14529         Include limits.h for PATH_MAX.
14530         Deprecate use of MAXPATHLEN.
14531
14532 2000-03-10  Martin Buchholz  <martin@xemacs.org>
14533
14534         * emacs.c: Add reinit_vars_of_fileio.
14535         * symsinit.h: Add reinit_vars_of_fileio.
14536         * fileio.c (reinit_vars_of_fileio): New.
14537         * fileio.c (Fmake_temp_name):
14538         Initialize temp_name random number from microseconds to make
14539         collisions even less likely.  Initialize always at process startup
14540         time.  (make-temp-name) used to return the same file name twice in
14541         a row when PDUMP.
14542         Random stylistic fiddling.
14543         Comment fixes.
14544
14545 2000-03-20  Andy Piper  <andy@xemacs.org>
14546
14547         * glyphs.c (image_instantiate): allow text glyphs to be
14548         instantiated in the minibuffer window.
14549
14550 2000-03-19  Andy Piper  <andy@xemacs.org>
14551
14552         * glyphs.c (image_instance_hash): be careful about which items we
14553         hash on.
14554
14555         * glyphs-widget.c (tab_control_set_property): record into pending
14556         items rather than the actual items.
14557
14558         * glyphs-x.c (x_update_widget): use pending items to update with.
14559
14560         * glyphs-msw.c (mswindows_tab_control_update): use pending items
14561         to update with.
14562
14563         * glyphs.c (mark_image_instance): mark pending items.
14564
14565         * window.c (Fset_window_configuration): record the buffer.
14566         (Fselect_window): totally revert previous change which breaks many
14567         things.
14568
14569 2000-03-18  Andy Piper  <andy@xemacs.org>
14570
14571         * glyphs-msw.c (mswindows_tab_control_update): force selected
14572         item.
14573
14574         * glyphs.c (image_instantiate): don't allow the minibuffer as a
14575         window domain cache, otherwise we get inconsistencies at
14576         startup. There is something fishy at startup which can lead to the
14577         minibuffer being the selected window when the gutter content is
14578         instantiated.
14579
14580         * gui.c (parse_gui_item_tree_list): add probably unnecessary
14581         gcpros.
14582         (parse_gui_item_tree_children): ditto.
14583         (parse_gui_item_tree_item): ditto.
14584
14585         * glyphs.c (Fupdate_widget_instances): return something.
14586
14587 2000-03-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
14588
14589         * window.c (Fselect_window): Undo 2000-03-17 change.
14590
14591 2000-03-17  SL Baur  <steve@musashimaru.m17n.org>
14592
14593         * postgresql.c (Fpq_setenv): Remove this turkey when linking
14594         against v7.0 libraries.  Insta-coredump city until the postgres
14595         folks fix it.
14596
14597 2000-03-17  Andy Piper  <andy@xemacs.org>
14598
14599         * faces.c (complex_vars_of_faces): don't give the widget face an
14600         inherited background pixmap.
14601
14602         * glyphs-msw.c (mswindows_tab_control_instantiate): select the
14603         selected item.
14604
14605         * event-stream.c (Fdispatch_non_command_events): return something.
14606
14607         * gutter.c (output_gutter): use widget face.
14608         (clear_gutter): ditto.
14609
14610         * NEWS: adjust again.
14611
14612         * window.c (Fselect_window): make sure this runs to completion to
14613         avoid oddities with Fset_window_configuration.
14614         (Fcurrent_window_configuration): in general do not save the
14615         minibuffer as the selected window.
14616
14617         * glyphs.h (IMAGE_INSTANCE_HASH_DEPTH): increase.
14618
14619 2000-03-16  Olivier Galibert  <galibert@pobox.com>
14620
14621         * emacs.c (Frunning_temacs_p): Revert previous patch.
14622         (main_1): Reinitialize running_temacs_argc if pdump_load succeeds.
14623
14624 2000-03-16  Andy Piper  <andy@xemacs.org>
14625
14626         * glyphs-x.c (x_tab_control_update): if no widget values then
14627         return.
14628
14629         * NEWS: update for new features.
14630
14631         * event-Xt.c (emacs_Xt_force_event_pending): new function. Post a
14632         synthetic event to the native system.
14633         (reinit_vars_of_event_Xt): set force_event_pending to
14634         emacs_Xt_force_event_pending.
14635
14636         * events.h (struct event_stream): add force_event_pending.
14637
14638         * specifier.c (recompute_one_cached_specifier_in_window): add
14639         comment.
14640
14641         * redisplay.c (redisplay_frame): don't call
14642         update_frame_subwindows. Reset subwindow cachels when
14643         subwindows_changed, removing this was an optimization too far.
14644
14645         * redisplay-output.c (compare_runes): reorganize so that we catch
14646         glyph changes when we want them. Set optimize_output when this
14647         would help layouts.
14648         (redisplay_output_layout): remove frame_really_changed, use
14649         optimize_output instead.
14650
14651         * redisplay-msw.c (mswindows_output_display_block): reset
14652         optimize_output after outputting a glyph.
14653         * redisplay-x.c (x_output_display_block): ditto.
14654         * redisplay-tty.c (tty_output_display_block): ditto.
14655
14656         * gutter.c: (specifier_vars_of_gutter): use new spec changed
14657         functions.
14658         (gutter_specs_changed): do specific gutter positions.
14659         (top_gutter_specs_changed): new function. Only update the
14660         specified gutter specs.
14661         (bottom_gutter_specs_changed): ditto.
14662         (left_gutter_specs_changed): ditto.
14663         (right_gutter_specs_changed): ditto.
14664
14665         * gui.c (gui_item_hash_internal): new function, does a real hash.
14666         (gui_item_id_hash): use it.
14667         (gui_item_hash): hash the eval'ed gui_item.
14668
14669         * gui-x.c (popup_selection_callback): send an eval event to call
14670         Fupdate_widget_instances.
14671
14672         * gui-msw.c (mswindows_handle_gui_wm_command): send an eval event
14673         to call Fupdate_widget_instances.
14674
14675         * glyphs.h (struct Lisp_Image_Instance): add optimize_output flag.
14676         (IMAGE_INSTANCE_OPTIMIZE_OUTPUT): access it.
14677
14678         * glyphs.c: (update_frame_subwindows): deleted.
14679         (Fupdate_widget_instances): new function for updating the dirty
14680         state of widgets that might have changed.
14681         (syms_of_glyphs): add Qupdate_widget_instances.
14682         (full_list_hash): hash a list completely.
14683         (image_instance_hash): use it for items and properties.
14684
14685         * frame-msw.c (mswindows_size_frame_internal): remove unused
14686         variable.
14687
14688         * faces.h (struct face_cachel): fix comment.
14689
14690         * event-stream.c (Fdispatch_non_command_events): new
14691         function. Process non-command events, forcing an event cycle
14692         beforehand.
14693         (syms_of_event_stream): declare.
14694         (event_stream_force_event_pending): new function. Force an event
14695         on the native event queue so that an event cycle will occur next
14696         time we check.
14697
14698         * event-msw.c:
14699         (struct ntpipe_shove_stream):
14700         (mswindows_enqueue_dispatch_event):
14701         (mswindows_dequeue_dispatch_event):
14702         (mswindows_cancel_dispatch_event):
14703         (mswindows_pump_outstanding_events):
14704         (mswindows_drain_windows_queue):
14705         (mswindows_handle_paint):
14706         (mswindows_wnd_proc):
14707         (mswindows_key_to_emacs_keysym):
14708         (get_process_input_waitable):
14709         (emacs_mswindows_delete_stream_pair): re-indent file.
14710         (mswindows_need_event): do not process further fds if the windows
14711         fd is set, otherwise you get endless XM_BUMPQUEUE cycles. This
14712         fixes the 100% cpu problem.
14713         (reinit_vars_of_event_mswindows): set force_event_pending to 0.
14714
14715 2000-03-15  Olivier Galibert  <galibert@pobox.com>
14716
14717         * alloc.h: New.
14718         * dumper.h: New.
14719         * dumper.c: New.
14720
14721         * emacs.c: Moved dump file searching to dumper.c.
14722         (Frunning_temacs_p): Fixed.
14723
14724         * alloc.c: Moved everything pdump-related to dumper.c.  Removed
14725         last_lrecord_type_index_assigned.
14726
14727 2000-02-20  Olivier Galibert  <galibert@pobox.com>
14728
14729         * symsinit.h: Added reinit parameter to init_console_stream
14730         declaration.
14731
14732         * lisp.h: Added file parameter to pdump_load declaration.
14733
14734         * emacs.c (main_1): Added -nd/--nodump-file and -sd/--show-dump-id
14735         support.  Added dump file searching.
14736
14737         * config.h.in: Added EMACS_PROGNAME.
14738
14739         * console-stream.c (init_console_stream): Fix reinitialisation
14740         when running from temacs.
14741
14742         * alloc.c (pdump): Add id support.
14743         (pdump_load): Add file parameter and signature/id support.
14744
14745         * Makefile.in.in: Add full pdump support.
14746
14747 2000-03-15  SL Baur  <steve@musashimaru.m17n.org>
14748
14749         * postgresql.c: Update documentation to reflect latest code
14750         status.
14751         (print_result): Show tuple counts in printed representation when
14752         appropriate.
14753         (Fpq_put_nbytes): MULE-ize.
14754         (Fpq_get_line_async): Ditto.
14755
14756 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
14757
14758         * postgresql.c (Fpq_lo_import): Fix return value.
14759         Suggested by: Kenji Itoh <keit@tpj.co.jp>.
14760
14761 2000-03-13  Ben Wing  <ben@xemacs.org>
14762
14763         * alloc.c (pdump_load):
14764         Fix compile warning under mswin.
14765
14766 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
14767
14768         * postgresql.c: Mule-ization, bug fixes.
14769         Use PG_CODING to encapsulate coding system name changes.
14770         Backport a version of TO_EXTERNAL format for 21.1/InfoDock.
14771         (pg-coding-system): Create.
14772
14773         (Fpq_conn_defaults): Mule-ize.
14774         (Fpq_connectdb): Mule-ize & bug fix.
14775         (Fpq_connect_start): Mule-ize.
14776         (Fpq_set_client_encoding): Mule-ize.
14777         (Fpq_finish): Document `DEAD' connection status.
14778         (Fpq_clear): Ditto.
14779         (Fpq_pgconn): Mule-ize.
14780         (Fpq_exec): Mule-ize & bug fix.
14781         (Fpq_send_query): Ditto.
14782         (Fpq_get_result): Ditto.
14783         (Fpq_res_status): Mule-ize.
14784         (Fpq_result_error_message): Mule-ize.
14785         (Fpq_ntuples): fix comments.
14786         (Fpq_fname): Mule-ize.
14787         (Fpq_fnumber): Mule-ize.
14788         (Fpq_ftype): fix comments.
14789         (Fpq_get_value): Mule-ize.
14790         (Fpq_cmd_status): Ditto.
14791         (Fpq_cmd_tuples): Ditto.
14792         (Fpq_oid_value): Ditto.
14793         (Fpq_notifies): Ditto.
14794         (Fpq_lo_import): Ditto.
14795         (Fpq_lo_export): Ditto.
14796         (Fpq_get_line): Ditto.
14797         (Fpq_put_line): Mule-ize and bug fix.
14798         (syms_of_postgresql): Fix ifdef'ing, add pg-coding-system.
14799
14800 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
14801
14802         * postgresql.c (vars_of_postgresql): Mule-ize.
14803         (Fpq_conn_defaults): Ditto.
14804
14805 2000-03-12  Ben Wing  <ben@xemacs.org>
14806
14807         * alloc.c (Fmake_byte_code):
14808         * alloc.c (debug_string_purity_print):
14809         * alloc.c (pdump_backtrace):
14810         * alloc.c (pdump_get_indirect_count):
14811         * alloc.c (pdump_register_sub):
14812         * alloc.c (pdump_register_object):
14813         * alloc.c (pdump_register_struct):
14814         * alloc.c (pdump_dump_data):
14815         * alloc.c (pdump_reloc_one):
14816         Minor cleanups.
14817
14818         * console-msw.c:
14819         * console-msw.c (GetConsoleHwnd):
14820         * console-msw.c (msw_hide_console):
14821         * console-msw.c (msw_show_console):
14822         * console-msw.c (msw_ensure_console_buffered):
14823         * console-msw.c (msw_output_console_string):
14824         * console-msw.c (console_type_create_mswindows):
14825
14826         a) Added functions to manipulate the console window for use with
14827         shell support.
14828
14829         b) Added support for writing text to the console, which is now
14830         used under Windows when xemacs is not being run non-interactively,
14831         to write text that would otherwise be destined for stdout because
14832         under these circumstances, text written to stdout tends to
14833         disappear and not be seen.
14834
14835         * console-msw.h:
14836         * event-Xt.c:
14837         * event-Xt.c (x_event_to_emacs_event):
14838         * event-Xt.c (describe_event_window):
14839         * events-mod.h (XEMACS_MOD_CONTROL):
14840         * events.c:
14841         * events.c (Fmake_event):
14842         * events.c (character_to_event):
14843         * events.c (event_to_character):
14844         * events.c (format_event_object):
14845         * events.c (Fevent_modifiers):
14846         * events.h:
14847         * events.h (struct key_data):
14848         * events.h (struct button_data):
14849         * events.h (struct misc_user_data):
14850         * frame-x.c (Fcde_start_drag_internal):
14851         * frame-x.c (Foffix_start_drag_internal):
14852         * gpmevent.c (Freceive_gpm_event):
14853         * keymap.c:
14854         * keymap.c (bucky_sym_to_bucky_bit):
14855         * keymap.c (control_meta_superify):
14856         * keymap.c (make_key_description):
14857         * keymap.c (keymap_lookup_directly):
14858         * keymap.c (create_bucky_submap):
14859         * keymap.c (keymap_store):
14860         * keymap.c (define_key_check_and_coerce_keysym):
14861         * keymap.c (define_key_parser):
14862         * keymap.c (define_key_alternate_name):
14863         * keymap.c (Fdefine_key):
14864         * keymap.c (raw_lookup_key_mapper):
14865         * keymap.c (struct map_keymap_unsorted_closure):
14866         * keymap.c (map_keymap_unsorted_mapper):
14867         * keymap.c (map_keymap_sort_predicate):
14868         * keymap.c (map_keymap_sorted):
14869         * keymap.c (accessible_keymaps_mapper_1):
14870         * keymap.c (where_is_recursive_mapper):
14871         * keymap.c (describe_map_mapper):
14872         * keymap.c (describe_map_sort_predicate):
14873         * keymap.c (describe_map):
14874         * keymap.c (complex_vars_of_keymap):
14875         And a number of other files, the key modifier preprocessor
14876         constants that xemacs uses have names that conflict with constants
14877         defined under MS Windows for other purposes, so they were renamed
14878         to begin with the prefix XEMACS_. The variables that hold such
14879         modifiers were changed to consistently be of type int to fix
14880         various compile warnings.
14881
14882         * console.c (complex_vars_of_console):
14883         * device.c:
14884         * device-msw.c:
14885         * device-msw.c (mswindows_finish_init_device):
14886         * device-msw.c (msw_get_workspace_coords):
14887         * device-msw.c (mswindows_device_system_metrics):
14888         and various other files, added support for a new
14889         device property called offset-workspace which returns the position
14890         of the upper left corner of the workspace area and goes along with
14891         the existing size-workspace property.
14892
14893         * dialog-msw.c:
14894         * dialog-msw.c (push_bufbyte_string_as_unicode):
14895         * dialog-msw.c (mswindows_popup_dialog_box):
14896         Added support for XEmacs-style accelerator specifications in
14897         button text.  Note: I didn't add support for this under X Windows,
14898         and somebody needs to do this.
14899
14900         * dialog.c:
14901         * dialog.c (Fpopup_dialog_box):
14902         Documented the support for accelerators that was just mentioned.
14903
14904         editfns.c (get_home_directory): Changed behavior under Windows
14905         when HOME not defined; former behavior was irretrievably broken.
14906
14907         * emacs.c:
14908         * emacs.c (main_1):
14909         * emacs.c (main):
14910         * minibuf.c (clear_echo_area_internal):
14911         * minibuf.c (echo_area_append):
14912         * print.c:
14913         * print.c (std_handle_out_external):
14914         * print.c (std_handle_out_va):
14915         * print.c (fatal):
14916         * print.c (write_string_to_stdio_stream):
14917         * print.c (output_string):
14918         * print.c (debug_print):
14919         * print.c (debug_backtrace):
14920         * print.c (debug_short_backtrace):
14921         Cleaned up the code that prints text to stdout so that this can be
14922         changed to output into a console window instead under MS Windows,
14923         as described above.
14924
14925         * eval.c:
14926         * eval.c (DEFEND_AGAINST_THROW_RECURSION):
14927         * eval.c (internal_catch):
14928         * eval.c (unwind_to_catch):
14929         * eval.c (throw_or_bomb_out):
14930         * eval.c (condition_case_1):
14931         * eval.c (signal_1):
14932         * eval.c (check_error_state_sanity):
14933         * eval.c (call_with_suspended_errors_1):
14934         * eval.c (call_with_suspended_errors):
14935         * eval.c (reinit_vars_of_eval):
14936         Added code to catch throw loops and check for a pesky bug that may
14937         be gone now.
14938
14939         * event-msw.c:
14940         * event-msw.c (key_needs_default_processing_p):
14941         * event-msw.c (mswindows_wnd_proc):
14942         * event-msw.c (mswindows_modifier_state):
14943         * event-msw.c (emacs_mswindows_quit_p):
14944         * event-msw.c (vars_of_event_mswindows):
14945         a) Added support for using the alt key to select menu items as is
14946         standard under MS Windows.  This is controlled using the variable
14947         menu-accelerator-enabled, just like under X Windows.  There is an
14948         option on the options menu to turn this support on.  I really
14949         think that it should be on by default under Windows, but I'm not
14950         going to make this change yet.
14951
14952         b)  Added support for dynamic display size changes under Windows.
14953
14954         * event-stream.c:
14955         * event-stream.c (maybe_echo_keys):
14956         * event-stream.c (Fnext_event):
14957         * event-stream.c (command_builder_find_leaf):
14958         * event-stream.c (lookup_command_event):
14959         * event-stream.c (execute_command_event):
14960         * event-stream.c (pre_command_hook):
14961         * event-stream.c (post_command_hook):
14962         * event-stream.c (syms_of_event_stream):
14963         * event-stream.c (vars_of_event_stream):
14964         * event-stream.c (complex_vars_of_event_stream):
14965         * events.h (struct command_builder):
14966
14967         a) Tried to clean up a little bit the horribly written x-specific
14968         accelerator code that crept into this file.  I moved this code
14969         into menubar-x.c where it belongs. I also needed to move the
14970         command builder structure into the file events.h because it is
14971         accessed directly by this accelerator code.  What I didn't do, but
14972         which should be done at some point, is to properly abstract this
14973         code using device methods instead of the kludgy way that it
14974         currently hooks into the event code.
14975
14976         b) Added the lisp variables this-command-properties and
14977         last-command- properties, which should be used to synchronize two
14978         adjacent commands in preference to playing games with the variable
14979         this-command, which is typically what happens.
14980
14981         c) Added some slightly nasty code to hook into the lisp support
14982         for shifted- motion-key selection.  This is actually necessary for
14983         somewhat complicated reasons, which are described in
14984         simple.el. (NB: I think the proper thing would be to have the code
14985         that calls the pre and post command hooks also call out to generic
14986         lisp functions in simple.el, where all built-in stuff could be
14987         added.  I will think about this more.)
14988
14989         * event-unixoid.c (poll_fds_for_input):
14990         * lread.c (readchar):
14991         * redisplay-tty.c (tty_clear_frame):
14992         * redisplay-x.c (x_get_gc):
14993         * signal.c (interrupt_signal):
14994         And a whole bunch of other files: fixed up places that printed
14995         directly to stderr to instead call the function stderr_out so that
14996         the changes I made under Windows work correctly.
14997
14998         * filemode.c (mode_string):
14999         Warning fixes.
15000
15001         * frame-msw.c:
15002         * frame-msw.c (mswindows_size_frame_internal):
15003         Fixed the computation of frame size and position to keep the frame
15004         within the workspace area, rather than within the physical
15005         dimensions of the screen, so that the frame doesn't overlap window
15006         manager decorations, such as the start menu and toolbar, typically
15007         at the bottom of the screen.
15008
15009         * frame.c (vars_of_frame):
15010         Changed the default frame title format under MS Windows to consist
15011         of buffername-XEmacs, which is standard under MS Windows.  I think
15012         it might be a good idea to change this everywhere because I think
15013         it is superior to the current frame title format, but this is the
15014         kind of change that is likely to cause some people to get annoyed,
15015         so I'm not making it.
15016
15017         * glyphs-eimage.c (png_instantiate): Fixed some compile warnings.
15018
15019         * gui-msw.c (mswindows_handle_gui_wm_command):
15020         Fixed compile warnings.
15021
15022         * gui-x.c:
15023         * gui-x.c (strdup_and_add_accel):
15024         * gui-x.c (button_item_to_widget_value):
15025         * gui-x.h:
15026         Added code to automatically put an accelerator onto the beginning
15027         of menu items that don't have one as is now the standard, and is
15028         described more later.  Also fixed things so that the menu item
15029         name can be an evaluated expression, again a new standard.
15030
15031         * gui.c:
15032         * gui.c (gui_item_add_keyval_pair):
15033         * gui.c (make_gui_item_from_keywords_internal):
15034         * gui.c (gui_add_item_keywords_to_plist):
15035         * gui.c (gui_item_accelerator):
15036         * gui.c (gui_name_accelerator):
15037         * gui.c (gui_item_included_p):
15038         * gui.c (gui_item_display_flush_left):
15039         * gui.c (gui_item_display_flush_right):
15040         * gui.c (parse_gui_item_tree_item):
15041         * gui.c (parse_gui_item_tree_children):
15042         * gui.c (parse_gui_item_tree_list):
15043         Mule-ized.  Cleanup.  GCPRO addition.
15044
15045         * line-number.c (buffer_line_number):
15046         * lisp.h:
15047         * lisp.h (EMACS_INT_MAX):
15048         Added the manifest constant EMACS_INT_MIN corresponding to the
15049         existing constant EMACS_INT_MAX.  This is partially to fix compile
15050         warnings under Windows, and partly for cleanliness.
15051
15052         * menubar-msw.c:
15053         * menubar-msw.c (REPLACE_ME_WITH_GLOBAL_VARIABLE_WHICH_CONTROLS_RIGHT_FLUSH):
15054         * menubar-msw.c (msw_translate_menu_or_dialog_item):
15055         * menubar-msw.c (displayable_menu_item):
15056         * menubar-msw.c (populate_menu_add_item):
15057         * menubar-msw.c (populate_or_checksum_helper):
15058         * menubar-msw.c (populate_menu):
15059         * menubar-msw.c (update_frame_menubar_maybe):
15060         * menubar-msw.c (prune_menubar):
15061         * menubar-msw.c (msw_char_is_accelerator):
15062         * menubar-msw.c (unsafe_handle_wm_initmenu_1):
15063         * menubar-msw.c (mswindows_handle_wm_command):
15064         * menubar-msw.c (mswindows_handle_wm_initmenupopup):
15065         * menubar-msw.c (mswindows_handle_wm_initmenu):
15066         * menubar-msw.c (mswindows_update_frame_menubars):
15067         * menubar-msw.c (mswindows_free_frame_menubars):
15068         * menubar-msw.c (mswindows_popup_menu):
15069         Fixed a bug in handling accelerators where an extra character
15070         would be displayed in the menu item.  Also generalized the
15071         function displayable_menu_item because it is now used by the
15072         dialog box code as well.  And finally, added code in the functions
15073         that create the menubar to extract a list of accelerators for the
15074         top level menubar, which is used in the event code to determine
15075         whether a particular alt-key combination should be used to invoke
15076         a menu item, or should be passed through to access the standard
15077         XEmacs keymap binding for this key combination.
15078
15079         Much needed GCPROing.
15080
15081         * menubar-x.c:
15082         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
15083         * menubar-x.c (menu_item_descriptor_to_widget_value):
15084         * menubar-x.c (restore_in_menu_callback):
15085         * menubar-x.c (x_popup_menu):
15086         * menubar-x.c (menu_move_up):
15087         * menubar-x.c (menu_move_down):
15088         * menubar-x.c (menu_move_left):
15089         * menubar-x.c (menu_move_right):
15090         * menubar-x.c (menu_select_item):
15091         * menubar-x.c (command_builder_operate_menu_accelerator):
15092         * menubar-x.c (menu_accelerator_junk_on_error):
15093         * menubar-x.c (command_builder_find_menu_accelerator):
15094         * menubar-x.c (Faccelerate_menu):
15095         * menubar.h:
15096         Moved a whole bunch of code here that was previously in
15097         event-stream.c as described above.  There is also code connected
15098         to the new standard of adding an accelerator to the beginning of
15099         menu items that don't have one as described above and below.
15100
15101         * menubar.c:
15102         * menubar.c (menu_parse_submenu_keywords):
15103         * menubar.c (Fmenu_find_real_submenu):
15104         * menubar.c (Fnormalize_menu_item_name):
15105         * menubar.c (syms_of_menubar):
15106         * menubar.c (vars_of_menubar):
15107         * menubar.c (complex_vars_of_menubar):
15108
15109         a) Cleaned up a bunch of documentation and improved it.
15110
15111         b) XEmacs now automatically adds an accelerator onto the beginning
15112         of any menu items that don't have one.  I did this because there
15113         will inevitably be some menu items on the main menubar that don't
15114         have accelerators on them because the package that adds that
15115         particular menu item hasn't yet been fixed up to have accelerators
15116         in them and it looked rather strange to have some items with and
15117         some items without accelerators, especially since even in items
15118         without accelerators, you can, at least under windows, still
15119         access the item through an accelerator corresponding to the first
15120         character in the item's name.  If people don't like this behavior,
15121         I can add a variable to turn it off optionally, but I'm not sure
15122         this is a good idea because we really do need to have accelerators
15123         on all of the menu items, and if a package doesn't like the
15124         accelerators being put on the first character, then it should put
15125         the accelerators where they belong.
15126
15127         c) I made a behavior change, which is that the descriptor that
15128         specifies the text of the menu item, which formerly was just a
15129         string, can now also be an evaluated expression.  This makes this
15130         descriptor parallel with all of the others, which could also be
15131         evaluated expressions.  This also obviates the need for the
15132         keyword :label, which was previously listed in the documentation
15133         as unimplemented, and which was for the same purpose.
15134
15135         d) GCPROing.
15136
15137         * ntproc.c:
15138         * ntproc.c (new_child):
15139         * ntproc.c (sys_spawnve):
15140         * ntproc.c (find_child_console):
15141         * ntproc.c (sys_kill):
15142         Fixed compile warnings.  By the way, this file should really go
15143         away entirely, and this will happen as soon as Kirill makes his
15144         final round of process cleanups, which affect the function
15145         call-process.
15146
15147         * process-nt.c:
15148         * process-nt.c (struct nt_process_data):
15149         * process-nt.c (find_process_from_pid):
15150         * process-nt.c (send_signal_the_nt_way):
15151         * process-nt.c (enable_child_signals):
15152         * process-nt.c (find_child_console):
15153         * process-nt.c (send_signal_the_95_way):
15154         * process-nt.c (nt_finalize_process_data):
15155         * process-nt.c (ensure_console_window_exists):
15156         * process-nt.c (nt_create_process):
15157         * process-nt.c (nt_kill_child_process):
15158         * process-nt.c (nt_kill_process_by_pid):
15159         * process-nt.c (nt_open_network_stream):
15160         * process-nt.c (vars_of_process_nt):
15161         Copied over code from Emacs 20.5 to correctly send signals to sub-
15162         processes under Windows 95.  Also added code to automatically
15163         create and hide console window when a sub-process is created under
15164         Windows 95, which obviates the need for the separate runemacs.exe
15165         executable, and finally implemented some variables that were
15166         implemented in Emacs 20.5, but previously not in XEmacs.  These
15167         include mswindows- start-process-share-console and
15168         mswindows-start-process-inherit-error-mode. (Both of these only
15169         apply to Windows 95.)
15170
15171         * regex.c (regex_compile): Fixed a compile warning.
15172
15173         * select-msw.c:
15174         * select-msw.c (mswindows_own_selection):
15175         * select-msw.c (mswindows_get_foreign_selection):
15176         * select-msw.c (mswindows_disown_selection):
15177         * select-msw.c (console_type_create_select_mswindows):
15178         * select-msw.c (syms_of_select_mswindows):
15179         Cleaned up the file and implemented the device method
15180         selection_exists_p, which had accidentally been left out.  Also
15181         removed four lisp functions that were remnants from before the
15182         time when the selection code was properly device abstracted.
15183         These functions are no longer needed because there are generic
15184         equivalents, and because they were added recently and don't exist
15185         in FSF Emacs, I don't think there's any problem with just deleting
15186         them.
15187
15188         * sysdep.c:
15189         * sysdep.c (sys_subshell):
15190         Fixed a compile warning, although in this case there's probably
15191         something wrong with this code, and it ought to be looked into
15192         more thoroughly by somebody who understands it.
15193
15194         * window.c:
15195         * window.c (Fwindow_text_area_height):
15196         * window.c (Fwindow_width):
15197         * window.c (Fwindow_full_width):
15198         * window.c (Fwindow_pixel_width):
15199         * window.c (debug_print_window):
15200         * window.c (syms_of_window):
15201         Added functions window-text-area-height and window-full-width,
15202         which are functions for returning various width and height
15203         characteristics of a window. (One of these functions is necessary
15204         for making the file dialog box work correctly, and the other one
15205         was added for completeness.)  Also added a table to the
15206         documentation for window-height which describes the entire scheme
15207         for accessing width and height characteristics of a window.
15208
15209 2000-03-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15210
15211         * nt.c (fstat): Added a comment for another problem with
15212         non-encapsulated [f]stat(), reported by Adrian Aichner
15213         <aichner@ecf.teradyne.com>.
15214
15215 2000-03-11  Andy Piper  <andy@xemacs.org>
15216
15217         * window.c (make_dummy_parent): initialize subwindow instance
15218         cache.
15219         (Fset_window_configuration): zero extent_modiff.
15220
15221 2000-03-10  Andy Piper  <andy@xemacs.org>
15222
15223         * redisplay.c (Fredraw_frame): reset the changed_set flags so that
15224         more changes can be triggered.
15225         (Fredisplay_frame): ditto.
15226         (Fredraw_device): ditto.
15227         (Fredisplay_device): ditto.
15228         (redisplay_frame): make non-static.
15229         (redisplay_frame): call update_frame_gutter_geometry outside of
15230         display proper.
15231
15232         * gutter.h: declare update_frame_gutter_geometry.
15233
15234         * redisplay.h: declare redisplay_frame.
15235
15236         * gutter.c (update_frame_gutter_geometry): move geometry changes
15237         in update_frame_gutters here. Geometry changes can only occur
15238         outside of redisplay.
15239         (update_frame_gutters): remove geometry change code.
15240         (Fredisplay_gutter_area): make sure that we are in display when we
15241         update and that we have flushed any size changes.
15242
15243 2000-03-11  Andy Piper  <andy@xemacs.org>
15244
15245         * alloc.c (pdump_dump_data): remove i & count shadows.
15246
15247 2000-02-27  Mike Alexander  <mta@arbortext.com>
15248
15249         * sysdep.h: Declare pdump_read_file
15250
15251         * sysdep.c (pdump_read_file): New function
15252
15253         * alloc.c (pdump_load): Call pdump_read_file to get the portable
15254         dump data
15255
15256 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
15257
15258         * lrecord.h: add `lrecord_type_pgsetenv'.
15259
15260 2000-03-08  SL Baur  <steve@musashimaru.m17n.org>
15261
15262         * symsinit.h: declare (vars|syms)_of* functions.
15263         * lrecord.h: add `lrecord_type_pgconn' and 'lrecord_type_pgresult'.
15264
15265 2000-03-06  SL Baur  <steve@musashimaru.m17n.org>
15266
15267         * config.h.in: Add symbols HAVE_POSTGRESQL and HAVE_POSTGRESQLV7
15268
15269         * inline.c: Include postgresql.h lrecord stuffs to placate buggy
15270         GCCs.
15271
15272         * emacs.c (main_1): Call postgres initialization code.
15273
15274         * postgresql.h: New file.  PostgreSQL RDBMS support.
15275         * postgresql.c: New file.
15276
15277 2000-03-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
15278
15279         * redisplay-output.c (redisplay_output_display_block): Disable
15280         redundant code.
15281
15282 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
15283
15284         * mule-canna.c (Fcanna_henkan_region): Translate doc-string.
15285         (Fcanna_henkan_next): Ditto.
15286         (Fcanna_bunsetu_henkou): Ditto.
15287         (Fcanna_henkan_kakutei): Ditto.
15288         (Fcanna_henkan_end): Ditto.
15289         (Fcanna_henkan_quit): Ditto.
15290         (Fcanna_henkan_next): Set retun value correctly.
15291         (c2mu): Use unsigned char instead of signed char.
15292
15293 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
15294
15295         * emacs.c (main_1): Always call syms_of_gui.
15296         * inline.c: include gui.h
15297
15298 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
15299
15300         * redisplay.c (Vvisible_bell): Renamed from visible_bell and
15301         converted to Lisp_Object.
15302         (Qtop_bottom): New variable.
15303         (syms_of_redisplay): Initialize it.
15304         * redisplay.h (Vvisible_bell): Ditto.
15305         * sound.c (ding): Ditto and check if Vvisible_bell is nil.
15306         * redisplay-x.c (x_flash): When Vvisible_bell is top-bottom,
15307         only flash top and bottom.
15308
15309 2000-03-08  Andy Piper  <andy@xemacs.org>
15310
15311         * buffer.c (Frename_buffer): record new buffer name the right way.
15312
15313 2000-03-08  Andy Piper  <andy@xemacs.org>
15314
15315         * glyphs.c (update_subwindow): increase hash depth so that widget
15316         items get picked up properly.
15317
15318         * redisplay-output.c (compare_runes): increase hash depth so that
15319         widget items get picked up properly.
15320
15321 2000-03-08  Andy Piper  <andy@xemacs.org>
15322
15323         * gutter.c (output_gutter): add some debug.
15324
15325         * glyphs.h (struct Lisp_Image_Instance): add display_hash.
15326         (IMAGE_INSTANCE_DISPLAY_HASH): new macro.
15327         (XIMAGE_INSTANCE_DISPLAY_HASH): ditto.
15328
15329         * redisplay-output.c (compare_runes): use display_hash to
15330         determine if glyphs really are not the same.
15331
15332         * glyphs.c (update_subwindow): check display_hash to see if
15333         anything really needs to be updated. If not then do
15334         nothing. Record the display_hash after updating.
15335         (image_instance_equal): compare the image_instance face also.
15336
15337 2000-03-07  Yoshiki Hayashi  <yoshiki@xemacs.org>
15338
15339         * redisplay.h: Fix comment style.
15340
15341 2000-03-08  Jonathan Harris  <jhar@tardis.ed.ac.uk>
15342
15343         * consle-msw.h (struct mswindows_frame):
15344         Added new member paint_pending to indicate whether a WM_PAINT
15345         magic event has been queued for this frame.
15346
15347         * event-msw.c (mswindows_drain_windows_queue):
15348         Don't queue a WM_PAINT magic event if one is already queued.
15349         (emacs_mswindows_handle_magic_event): clear paint_pending flag.
15350
15351         * frame-msw.c (mswindows_init_frame_1): initialise paint_pending flag.
15352
15353 2000-03-07  Didier Verna  <didier@xemacs.org>
15354
15355         * dired.c: #include `regex.h' after `sysfile.h'.
15356
15357 2000-03-06  Martin Buchholz  <martin@xemacs.org>
15358
15359         * sound.c (init_nas_sound): Fix compiler warning.
15360
15361         * alloc.c (ALIASING_VOIDPP_DEREFERENCE): New.
15362         (FREE_STRUCT_P):
15363         (MARK_STRUCT_AS_FREE):
15364         (MARK_STRUCT_AS_NOT_FREE):
15365         Make `gcc -fstrict-aliasing' work properly.
15366
15367 2000-03-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>
15368
15369         * device-msw.c (mswindows_finish_init_device): Call CoInitialize().
15370         (mswindows_delete_device): Call CoUnnitialize().
15371
15372         * event-msw.c (mswindows_wnd_proc): WM_DROPFILES: Decode Shortcuts.
15373
15374 2000-02-25    <CraigL@DyCon.com>
15375
15376         * process-nt.c: MinGW now has <shellapi.h>, but still needs
15377         <errno.h>.
15378
15379         * sysdep.c: This extern declaration for environ prevents MinGW
15380         from finding the variable in CRTDLL.DLL.
15381
15382         * s\mingw32.h (PBS_SMOOTH): Removed, now defined in cygwin's
15383         windows headers.
15384         (SHGFI_EXETYPE): ..
15385         (WM_MOUSEWHEEL): ..
15386         (_WIN32_IE): Added, needed to get the TCS_BOTTOM and TCS_VERTICAL
15387         definitions.
15388         (MMRESULT): Removed, now defined in cygwin's windows headers.
15389         (TIMECAPS): ..
15390         (uid_t,gid_t,pid_t,ssize_t): ..
15391         (_timeb): Removed, MinGW defines both _timeb and timeb.
15392         (HAVE_H_ERRNO): Added.
15393         (HAVE_TZNAME): Added, configure is not detecting this.
15394
15395 2000-02-03  IKEYAMA Tomonori <tomonori@suiyokai.org>
15396
15397         * chartab.h (XCHAR_TABLE_VALUE_UNSAFE): New macro.
15398         * syntax.c (syntax_match): Use it.
15399
15400         * cmds.c: Import auto-fill-chars from FSF Emacs.
15401         (Vauto_fill_chars): New variables.
15402         (internal_self_insert): Check Vauto_fill_chars.
15403         (vars_of_cmds):
15404         Declare auto-fill-chars as a Lisp variable and initialize it.
15405
15406 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
15407
15408         * fileio.c (Fmake_symbolic_link):
15409         (Ffile_symlink_p):
15410         Run handlers even if local machine doesn't have symlinks.
15411
15412 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
15413
15414         * event-msw.c (mswindows_drain_windows_queue):
15415         Don't generate paint magic events for non-XEmacs frames.
15416
15417 2000-03-05  Andy Piper  <andy@xemacs.org>
15418
15419         * redisplay.c (redisplay_frame): generate_displayable_area and
15420         friends assumes that we are not in GC, we therefore have to make
15421         sure that this doesn't happen.
15422
15423         * gutter.c (calculate_gutter_size): generate_displayable_area
15424         assumes that we are not in GC, we therefore have to make sure that
15425         this doesn't happen.
15426
15427 2000-03-05  Martin Buchholz  <martin@xemacs.org>
15428
15429         * opaque.c (DEFINE_LRECORD_IMPLEMENTATION): opaque_ptr ==> opaque-ptr
15430
15431 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
15432
15433         * redisplay.c (regenerate_window): Make sure we set a sane value
15434         for end_pos even if we jump out of the loop.
15435         (regenerate_window): Answer Ben's question :-).
15436         (start_end_of_last_line): Add may_error argument.
15437         (start_of_last_line):
15438         (end_of_last_line): Pass may_error = 0.
15439         (end_of_last_line_may_error): New function.
15440         (pixel_to_glyph_translation): Use it, so we don't crash in
15441         event_to_glyph.
15442
15443 2000-03-04  Andy Piper  <andy@xemacs.org>
15444
15445         * window.h (struct window): add gutter_extent_modiff.
15446
15447         * window.c (allocate_window): zero out gutter_extent_modiff.
15448
15449         * redisplay.h: declare sync_display_line_structs.
15450
15451         * redisplay.c (add_glyph_rune): add a better comment.
15452
15453         * redisplay-output.c (sync_display_line_structs): made non-static.
15454         (compare_runes): remove unneccesary glyph cachel access.
15455
15456         * gutter.h: declare gutter_extent_signal_changed_region_maybe.
15457
15458         * gutter.c (output_gutter): don't output the gutter if extent
15459         changes only involve extents in buffers. use 4 sets of display
15460         lines.
15461         (gutter_extent_signal_changed_region_maybe): new function. Mark
15462         extents in gutters as changed.
15463         (update_frame_gutters): use 4 sets of display lines.
15464         (reset_gutter_display_lines): ditto.
15465         (free_frame_gutters): ditto.
15466         (redraw_exposed_gutter): force output of gutters.
15467
15468         * frame.h (struct frame): add 4 sets of gutter display lines.
15469
15470         * extents.c: (extent_changed_for_redisplay): signal changes to
15471         extents in strings in the gutter as well as extents in buffers.
15472
15473 2000-03-02  Andy Piper  <andy@xemacs.org>
15474
15475         * gutter.c (specifier_vars_of_gutter): cosmetic changes.
15476
15477         * frame.c (Fmake_frame): make sure the gutters get initialized
15478         after the frame is visible.
15479         (set_frame_selected_window): re-arrange compilation macros a
15480         little.
15481         (change_frame_size_1): mark gutters changed.
15482
15483         * device.c (Fset_device_class): mark gutters changed.
15484
15485 2000-03-01  Andy Piper  <andy@xemacs.org>
15486
15487         * window.c (window_top_frame_gutter_height): deleted.
15488         (window_bottom_frame_gutter_height): ditto.
15489         (window_left_frame_gutter_height): ditto.
15490         (window_right_frame_gutter_height): ditto.
15491         (window_top_gutter_height): don't use them.
15492         (window_bottom_gutter_height): ditto.
15493         (window_left_gutter_width): ditto.
15494         (window_right_gutter_width): ditto.
15495         (Fsplit_window): ditto.
15496         (Fwindow_pixel_edges): don't use border dimensions here.
15497
15498         * scrollbar.c (update_scrollbar_instance): don't take gutters into account.
15499         (update_scrollbar_instance): ditto.
15500
15501         * redisplay.c (generate_modeline): don't take gutters into account.
15502         (generate_modeline): ditto.
15503         (redisplay_frame): small gutter display optimization.
15504
15505         * redisplay-x.c (x_output_vertical_divider): don't take gutters into account.
15506
15507         * redisplay-msw.c (mswindows_output_vertical_divider): don't take
15508         gutters into account.
15509
15510         * gutter.h (WINDOW_REAL_*_GUTTER_BOUNDS): remove bogus checks
15511         for window position and type.
15512
15513         * gutter.c (get_gutter_coords): fix for frame gutters.
15514         (update_frame_gutters): update frame geometry if the gutters have
15515         changed.
15516         (init_frame_gutters): record current gutter geometries.
15517
15518         * glyphs-msw.c (mswindows_subwindow_instantiate): remove unused
15519         var.
15520         (mswindows_widget_instantiate): ditto.
15521
15522         * frame.h (struct frame): add current_gutter_bounds.
15523
15524         * frame.c (change_frame_size_1): position window and minibuffer
15525         appropriately taking into account the frame gutters.
15526
15527         * frame-x.c: (x_initialize_frame_size): take into account the
15528         frame gutters.
15529
15530 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
15531
15532         * emacs.c (data-directory):  Xref `locate-data-file' in docstring.
15533
15534 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
15535
15536         * alloc.c (dumpopaquevec): Increase dimension for --with-canna.
15537
15538 1999-12-30  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
15539
15540         * file-coding.c (reset_decoding_stream): Clear previous
15541         detection state when autodetect.
15542
15543 2000-02-29  Didier Verna  <didier@xemacs.org>
15544
15545         * extents.c (set_extent_glyph_1): don't require extents to be
15546         attached.
15547
15548 2000-02-27  Andy Piper  <andy@xemacs.org>
15549
15550         * gutter.c (Fset_default_gutter_position): don't default left and
15551         right gutter visibility to t.
15552         (Fset_default_gutter_position): run
15553         default-gutter-position-changed-hook.
15554         (syms_of_gutter): add default-gutter-position-changed-hook.
15555
15556 2000-02-26  Andy Piper  <andy@xemacs.org>
15557
15558         * specifier.c (Fmake_specifier): add gutter references.
15559
15560         * gutter.h (RAW_WINDOW_GUTTER): new macro.
15561
15562         * lisp.h: declare Fvalid_plist_p.
15563
15564         * gutter.c (gutter_geometry_changed_in_window): mark the modeline
15565         as changed.
15566         (default_gutter_visible_p_changed_in_window): invalidate gutter as
15567         well as its visibility so that it gets reconstructed.
15568         (construct_window_gutter_spec): new function. Construct a string
15569         to be displayed in the gutter from a plist of strings. Take care
15570         to only use elements that are declared as visible.
15571         (calculate_gutter_size): use RAW_WINDOW_GUTTER instead of
15572         WINDOW_GUTTER.
15573         (gutter_validate): allow plists of strings in the specifier.
15574         (gutter_specs_changed): construct the real_gutter from the gutter
15575         specs using construct_window_gutter_spec.
15576         (gutter_visible_validate): gutter-visible is a new specifier type.
15577         (Fgutter_visible_specifier_p): new function for the new specifier.
15578         (syms_of_gutter): declare gutter-visible and
15579         Fgutter_visible_specifier_p.
15580         (specifier_type_create_gutter): intitalize new gutter-visible
15581         specifier.
15582         (reinit_specifier_type_create_gutter): ditto.
15583         (specifier_vars_of_gutter): use new specifier type for gutter
15584         visibility.
15585         (init_frame_gutters): construct real_gutter correctly.
15586         (Fgutter_specifier_p): beef up documentation.
15587         (Fgutter_size_specifier_p): ditto.
15588
15589         * winslots.h: add real_gutter slots.
15590
15591 2000-02-25  Andy Piper  <andy@xemacs.org>
15592
15593         * device-msw.c: Be kind to older cygwin versions. From Raymond
15594         Toy <toy@rtp.ericsson.se>.
15595
15596         * gui-msw.c (Fmswindows_shell_execute): Remove things unknown to
15597         earlier cygwins. From Raymond Toy <toy@rtp.ericsson.se>.
15598
15599 2000-02-25  Martin Buchholz  <martin@xemacs.org>
15600
15601         * elhash.c (MARK_OBJ): Practice macro hygiene.
15602
15603 2000-02-24  Martin Buchholz  <martin@xemacs.org>
15604
15605         * miscplay.c: s/__inline__/inline/g;
15606         * glyphs-msw.c (set_mono_pixel): INLINE ==> static inline
15607         (get_device_compdc): INLINE ==> static inline
15608         * *.[ch]: Change INLINE to INLINE_HEADER globally.
15609         find -name '*.h' | \
15610         xargs global-replace \
15611         's/(^|(?<=[^A-Za-z0-9_]))INLINE((?=[^A-Za-z0-9_])|$)/INLINE_HEADER/g'
15612
15613 2000-02-25  Andy Piper  <andy@xemacs.org>
15614
15615         * window.c (window_top_frame_gutter_height): new function.
15616         (window_top_window_gutter_height): ditto.
15617         (window_top_gutter_height): use them.
15618         (window_bottom_frame_gutter_height): new function.
15619         (window_bottom_window_gutter_height): ditto.
15620         (window_bottom_gutter_height): use them.
15621         (window_left_window_gutter_width): new function.
15622         (window_left_frame_gutter_width): ditto.
15623         (window_left_gutter_width): use them.
15624         (window_right_window_gutter_width): new function.
15625         (window_right_frame_gutter_width): ditto.
15626         (window_right_gutter_width): use them.
15627         (window_pixel_height): new function. calulate window pixel height
15628         with frame gutter involvement.
15629         (Fsplit_window): calculate new sizes taking frame gutters into
15630         account.
15631         (window_char_height_to_pixel_height): don't include frame gutters.
15632         (window_char_height): use window_pixel_height.
15633         (window_pixheight): rename from window_pixel_height.
15634         (change_window_height): use it.
15635         (window_pixel_height_to_char_height): don't include frame gutters.
15636         (window_char_width_to_pixel_width): ditto.
15637
15638 2000-02-25  Andy Piper  <andy@xemacs.org>
15639
15640         * glyphs.h (IMAGE_INSTANCE_FACE): glyph might be nil, don't crash
15641         if it is.
15642
15643 2000-02-24  Martin Buchholz  <martin@xemacs.org>
15644
15645         * alloc.c (staticpro):
15646         (staticpro_nodump):
15647         (dumpstruct):
15648         (dumpopaque):
15649         (pdump_wire):
15650         (pdump_wire_list):
15651         (compact_string_chars):
15652         (pdump_dump_wired):
15653         Convert:  if (foo) abort();  ==>  assert (! foo);
15654
15655         * eldap.c (Fldap_search_basic):
15656         (Fldap_add):
15657         (Fldap_modify):
15658         (Fldap_delete):
15659         Fix compiler warnings, and possible crashes if (random) return
15660         value were to be used.
15661
15662 2000-02-21  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15663
15664         * device-msw.c: Workaround ResetDC failure.
15665
15666         * frame-msw.c (msprinter_init_frame_3): Added an assertion before
15667         applying a devmode.
15668
15669         * redisplay-msw.c (get_frame_dc): Added start_page_p.
15670         (mswindows_text_width): Do not start printer page.
15671
15672         * console-msw.h (CHECK_MSGDI_DEVICE): Added this and friends.
15673
15674         * glyphs-msw.c: Added image methods to msprinter console and
15675         msprinter-specific image instantiation.
15676
15677 2000-02-20  Mike Alexander  <mta@arbortext.com>
15678
15679         * select-msw.c (Fmswindows_set_clipboard): GC protect more things
15680         to avoid crashes when selection-sets-clipboard is on
15681         (mswindows_own_selection): ditto
15682
15683 2000-02-19  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15684
15685         * glyphs-msw.c:
15686         * redisplay-msw.c (get_frame_dc):
15687         (get_frame_compdc):
15688         * console-msw.h:
15689         * device-msw.c (mswindows_init_device):
15690         (mswindows_delete_device):
15691         (msprinter_init_device):
15692         (msprinter_delete_device):
15693         * frame-msw.c (mswindows_init_frame_1):
15694         (mswindows_delete_frame):
15695         (msprinter_init_frame_3):
15696         (msprinter_delete_frame): Move compatible DC to device object from
15697         frame object, for both mswindows and msprinter. Only one at a time
15698         is needed, it is a real waste to have one per frame!
15699
15700 2000-02-23  Andy Piper  <andy@xemacs.org>
15701
15702         * glyphs.c: add dynamic width and height elements.
15703         (image_instance_equal): ditto.
15704
15705         * glyphs-widget.c (widget_query_geometry): calculate width and
15706         height dynamically if required.
15707         (initialize_widget_image_instance): initialize dynamic dimensions.
15708         (widget_instantiate): pick-up dynamic dimensions.
15709
15710         * glyphs.h (struct Lisp_Image_Instance): add width and height for
15711         dynamic determination. Add appropriate macros.
15712
15713         * gutter.h (WINDOW_GUTTER_BORDER_WIDTH): make non-integer
15714         dimensions safe.
15715         (WINDOW_GUTTER_SIZE): ditto.
15716         (WINDOW_GUTTER_SIZE_INTERNAL): ditto.
15717
15718         * redisplay-msw.c (get_frame_compdc): gcc can't cope with this
15719         inline.
15720         (get_frame_dc): ditto.
15721
15722         * redisplay.h (GLOBAL_RESET_CHANGED_FLAGS): don't reset faces
15723         here.
15724
15725 2000-02-23  Martin Buchholz <martin@xemacs.org>
15726
15727         * XEmacs 21.2.31 is released.
15728
15729 2000-02-22  Ben Wing <ben@xemacs.org>
15730
15731         * ntheap.c (allocate_heap): Make sure `ptr' is initialized.
15732
15733 2000-02-22  Andy Piper  <andy@xemacs.org>
15734
15735         * glyphs-x.c (x_widget_instantiate): don't explicitly resize here.
15736
15737 2000-02-21  Mike Sperber <mike@xemacs.org>
15738
15739         * .dbxrc:
15740         * .gdbinit:
15741         * Makefile.in.in: Remove obsolete EMACSBOOTSTRAP... environment
15742         variables.
15743
15744 2000-02-21  Mike Sperber <mike@xemacs.org>
15745
15746         * s/aix4.h: Declare getaddrinfo broken for AIX 4, which it is.
15747
15748 2000-02-21  Martin Buchholz <martin@xemacs.org>
15749
15750         * XEmacs 21.2.30 is released.
15751
15752 2000-02-20  Martin Buchholz  <martin@xemacs.org>
15753
15754         Performance hacking.
15755         * *.c (syms_of_*):
15756         Add INIT_LRECORD_IMPLEMENTATION macros, paired with
15757         DEFINE_LRECORD_IMPLEMENTATION macros in the same file.
15758         * emacs.c (main_1):
15759         * lisp.h (DEFUN):
15760         * console.c (DEFVAR_CONSOLE_LOCAL_1):
15761         * buffer.c (DEFVAR_BUFFER_LOCAL_1):
15762         * symeval.h (DEFVAR_SYMVAL_FWD):
15763         * symbols.c (guts_of_unbound_marker):
15764         Make all c_readonly objects also lisp_readonly and marked for life.
15765         * lrecord.h (struct lrecord_implementation):
15766         Document flags better.
15767         * lrecord.h (DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION_WITH_PROPS):
15768         * lrecord.h (DECLARE_LRECORD):
15769         * lrecord.h (XSETRECORD):
15770         * lrecord.h (RECORDP):
15771         * lrecord.h (RECORD_TYPEP):
15772         * lrecord.h (RECORD_MARKER): New.
15773         * lrecord.h (error_check_*):
15774         * lrecord.h (CONCHECK_NONRECORD):
15775         * lrecord.h (MAKE_LRECORD_IMPLEMENTATION):
15776         * lrecord.h (INIT_LRECORD_IMPLEMENTATION): New.
15777         * lrecord.h (set_lheader_implementation):
15778         * lrecord.h (enum lrecord_type): New.
15779         * symeval.h (SYMBOL_VALUE_MAGIC_P):
15780         * alloc.c (disksave_object_finalization_1):
15781         * alloc.c (mark_object):
15782         * alloc.c (lrecord_type_index):
15783         * alloc.c (tick_lcrecord_stats):
15784         * alloc.c (Fgarbage_collect):
15785         * alloc.c (init_alloc_once_early):
15786         * alloc.c (pdump_load):
15787         * alloc.c (GC_CHECK_LHEADER_INVARIANTS): New.
15788         * alloc.c (lrecord_type_index): Delete.
15789         Make lisp object type indexes be constant.
15790           Makes (byte-compile) 5% faster.
15791         Put all marker functions into their own array.
15792           Makes (garbage-collect) 5% faster.
15793         Optimize SYMBOL_VALUE_MAGIC_P.
15794           Makes (byte-compile) 2-3% faster.
15795         * config.h.in (gc_checking_assert): New.
15796         * alloc.c: Use gc_checking_assert().
15797         * .dbxrc: Make compatible with new object type implementation.
15798         * .gdbinit: Make compatible with new object type implementation.
15799         * alloc.c: Delete all symbols defined only for debugging, such as
15800         Lisp_Type_Vector and lrecord_charset.
15801
15802 2000-02-21  Andy Piper  <andy@xemacs.org>
15803
15804         * gui-msw.c (Fmswindows_shell_execute): fix file location
15805         problems.
15806
15807         * buffer.c (Fkill_buffer): remove buffer from alist buffer
15808         unshowing so that set_window_buffer doesn't undo
15809         kill_buffer_hook's hard work.
15810
15811         * glyphs-widget.c (tab_control_query_geometry): don't count the
15812         first item when calculating geometry.
15813
15814         * glyphs.c (map_subwindow): remove redundant code.
15815         (update_frame_subwindows): be more circumspect about when to
15816         update subwindows.
15817
15818         * glyphs-x.c (x_update_widget): Properly fix sizing bug. Fix bug
15819         when items haven't changed. Update faces if faces have changed as
15820         well as just the widget face.
15821         (x_tab_control_update): Update faces if faces have changed as well
15822         as just the widget face.
15823
15824 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
15825
15826         * device-msw.c: (mswindows_delete_device): Remove redundant DDE
15827         registration.
15828         (build_syscolor_string): Use mswindows_color_to_string to try to
15829         get a named color.
15830         (mswindows_device_system_metrics): Reverse the foreground and
15831         background colors so that they match the documentation.
15832
15833         * objects-msw.c: (mswindows_X_color_map): tweak some values so
15834         they match the default Windows palette.
15835         (mswindows_color_to_string): New function.
15836
15837 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
15838
15839         * s/windowsnt.h: Only use __declspec(noreturn) with MSVC>=6.
15840
15841 2000-02-18  Olivier Galibert  <galibert@pobox.com>
15842
15843         * m/*, s/*: Removed obsolete DATA_SEG_BITS, PURE_SEG_BITS,
15844         WORD_MACHINE, SIGN_EXTEND_CHAR and EXPLICIT_SIGN_EXTEND.
15845
15846         * symbols.c (init_symbols_once_early): Removed obsolete
15847         DATA_SEG_BITS related kludge.
15848         (defvar_magic): Ditto.
15849
15850         * malloc.c: Removed obsolete DATA_SEG_BITS
15851         * ralloc.c: Ditto.
15852         * mem-limits.h: Ditto.
15853
15854         * Makefile.in.in: Removed obsolete HAVE_SHM
15855         * emacs.c: Ditto.
15856
15857 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
15858
15859         *  device-msw.c (mswindows_delete_device): Free DDE string
15860         handles.
15861
15862 2000-02-16  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15863
15864         * keymap.c (get_keyelt):
15865         * unexnt.c (unexec):
15866         * vm-limit.c (memory_warnings):
15867         * ntheap.c (recreate_heap):
15868         * ntheap.h (UNINIT_PTR):
15869         * select-msw.c (Fmswindows_get_clipboard):
15870         (Fmswindows_set_clipboard):
15871         * objects-msw.h (MSWINDOWS_BAD_HFONT):
15872         * objects-msw.c:
15873         * menubar-msw.c (displayable_menu_item):
15874         * glyphs-msw.c:
15875         * glyphs-msw.h (IMAGE_INSTANCE_MSWINDOWS_MASK):
15876         * sysdep.c (sys_subshell):
15877         * process-nt.c (nt_create_process):
15878         * nt.c (normalize_filename):
15879         (dostounix_filename):
15880         (unixtodos_filename):
15881         * ntproc.c (win32_executable_type):
15882         * ntplay.c (play_sound_data_1):
15883         (play_sound_file):
15884         * editfns.c (get_home_directory):
15885         * event-msw.c (struct winsock_stream):
15886         (mswindows_dde_callback):
15887         * device-msw.c (msprinter_init_device):
15888         (msprinter_get_devmode_copy): Frobbed syntax frivolities.
15889
15890         * toolbar-msw.c (mswindows_free_frame_toolbars): Paramters to
15891         mswindows_clear_toolbar were swapped!
15892
15893         * objects-msw.c:(colormap_t):
15894         (fontmap_t):
15895         * emacs.c (struct standard_args): Fixed const jumble.
15896
15897         * glyphs-widget.c (update_widget): Fixed comparison notation.
15898
15899         * event-msw.c (mswindows_dde_callback): Removed extraneous ';'.
15900
15901         * s\windowsnt.h (DOESNT_RETURN): Defined to support the MSVC
15902         __declspec(noreturn) syntax.
15903
15904 2000-02-19  Martin Buchholz  <martin@xemacs.org>
15905
15906         * eldap.c (Fldap_open):
15907         (Fldap_search_basic):
15908         (Fldap_add):
15909         (Fldap_modify):
15910         Use new coding system conversion macros.
15911
15912 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
15913
15914         * console-tty.c (tty_init_console): Change MULE to FILE_CODING.
15915
15916 1999-11-27  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
15917
15918         * eldap.h (Fldap_search) Renamed from Fldap_search_internal:
15919         (Fldap_add, Fldap_modify, Fldap_delete): New functions
15920
15921         * eldap.c (Qadd, Qreplace): New constant symbols
15922         (Fldap_open): Use the LDAP_OPT_RESTART option to avoid
15923         interruptions by XEmacs signals
15924         Remove unnecessary calls to slow_down_interrupts and
15925         speed_up_interrupts
15926         (Fldap_search_basic): Renamed from Fldap_search_internal
15927         Added new optional parameter VERBOSE that triggers the
15928         display of progress messages
15929         Remove unnecessary calls to slow_down_interrupts and
15930         speed_up_interrupts
15931         LDAP result code analysis rewritten
15932         (Fldap_add, Fldap_modify, Fldap_delete): New functions
15933         (syms_of_eldap): Define the new symbols and functions
15934
15935
15936 2000-02-17  Martin Buchholz  <martin@xemacs.org>
15937
15938         * realpath.c: Determine PATH_MAX maximally portably.
15939
15940         * insdel.c (bytecount_to_charcount): Optimize.
15941         The function used to be optimized for entirely ASCII sequences.
15942         Now it is optimized for successive characters from the same
15943         charset.  This also wins big for _mostly_ ASCII sequences.
15944
15945         * fileio.c (Ffile_truename): convert return from realpath() using
15946         Qfile_name, not Qbinary.  Fixes obvious bug with non-ASCII symlinks.
15947         - Rewrite GCPROing slightly.
15948
15949         * sysdep.c (sys_open): Do filename conversion, like all other
15950         sys_* functions.  Fixes bug:
15951         (let ((file-name-coding-system 'iso-8859-2))
15952            (write-region x y latin2-name))
15953         ==> writes filename using internal encoding.
15954
15955 2000-02-18  Martin Buchholz  <martin@xemacs.org>
15956
15957         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Turn on c_readonly. Always const.
15958         * console.c (DEFVAR_CONSOLE_LOCAL_1): Turn on c_readonly. Always const.
15959         * symeval.h (DEFVAR_SYMVAL_FWD): Turn on c_readonly. Always const.
15960         * eval.c (lrecord_subr): Remove this_one_is_unmarkable.
15961         * symbols.c (lrecord_symbol_value_forward): Remove this_one_is_unmarkable.
15962         * symbols.c (guts_of_unbound_marker): Turn on c_readonly.
15963         * lrecord.h (UNMARKABLE_LRECORD_HEADER_P): Delete.
15964         (CONST_IF_NOT_DEBUG): Delete.
15965         * alloc.c (this_one_is_unmarkable): Delete.
15966         (mark_object): Don't check for this_one_is_unmarkable. Use the
15967         c_readonly flag instead.
15968         * lisp.h (DEFUN): Define a Lisp_Subr as c_readonly.
15969
15970 2000-02-18  Jonathan Harris  <jhar@tardis.ed.ac.uk>
15971
15972         * event-msw.c (mswindows_drain_windows_queue):
15973         (emacs_mswindows_handle_magic_event): Remove attempt to optimise
15974         away redundant repaint events.
15975
15976 2000-02-17  Andy Piper  <andy@xemacs.org>
15977
15978         * redisplay.h: declare mark_redisplay_structs.
15979
15980         * redisplay.c (redisplay_window):
15981         (redisplay_frame): don't check subwindows_state_changed.
15982         (mark_redisplay): mark gutters here.
15983
15984         * glyphs.c: (instantiate_image_instantiator): always layout if we
15985         haven't done so already.
15986         (allocate_image_instance): don't mark as dirty.
15987         (update_subwindow): bind inhibit_quit.
15988
15989         * gutter.c (mark_gutters): new function.
15990
15991         * glyphs-x.c (x_update_widget): Always resize to get round a
15992         widget bug.
15993
15994         * glyphs-msw.c (mswindows_tab_control_update): remove `;' that was
15995         breaking absolutely everything.
15996
15997         * gutter.h: declare mark_gutters.
15998
15999 2000-02-16  Martin Buchholz <martin@xemacs.org>
16000
16001         * XEmacs 21.2.29 is released.
16002
16003 2000-02-15  Olivier Galibert  <galibert@pobox.com>
16004
16005         * fns.c (size_bit_vector): Fix computation of the size.
16006
16007 2000-02-15  Martin Buchholz  <martin@xemacs.org>
16008
16009         * *.[ch]: Change CONST to const globally.
16010         find -name '*.[ch]' | \
16011         xargs global-replace \
16012         's/(^|(?<=[^A-Za-z0-9_]))CONST((?=[^A-Za-z0-9_])|$)/const/g'
16013         - Remove vestigial references to CONST_IS_LOSING
16014
16015 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16016
16017         * event-msw.c (mswindows_drain_windows_queue): Remove hack to
16018         bailout early on quit. Enqueue WM_PAINT events as XEmacs magic
16019         events instead of dispatching them directly.
16020         (mswindows_handle_paint): New function to do repainting.
16021         (mswindows_wnd_proc):
16022         (emacs_mswindows_handle_magic_event): Call above function.
16023
16024 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16025
16026         * objects-msw.c (mswindows_create_font_variant): Return the new
16027         font handle.
16028         (initialize_font_instance): Get font metrics from the underlined
16029         variant of the font to cope with the case where the underlined
16030         font has a bigger descent.
16031
16032 2000-02-08   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
16033
16034         * gui.c (gui_item_accelerator): Return the first underlined
16035         character in item name.
16036
16037 2000-02-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16038
16039         * lisp.h: Added Qprinter.
16040
16041         * general.c (syms_of_general): Initialized it.
16042
16043         * redisplay-msw.c (get_frame_dc): Conditionally start a new page.
16044         (get_frame_dc):
16045         (get_frame_compdc): Made inline.
16046
16047         * console.h (struct console_methods): Added eject_page method.
16048
16049         * frame.h: Added FRAME_DISPLAY_P and friends.
16050         Aligned backslahes in many macros in more readable fashion.
16051         Added page_number to struct frame, and an accessor macro
16052         for it.
16053
16054         * defice.h: Added DEVICE_DISPLAY_P and friends.
16055
16056         * device.c (Fdevice_printer_p): Used these.
16057
16058         * frame.c (allocate_frame_core): Initialize page number.
16059         (Fprint_job_page_number):
16060         (Fprint_job_eject_page): Implemented.
16061
16062         * frame-msw.c (msprinter_eject_page): Added method.
16063         (msprinter_start_page): Added.
16064
16065         * window.c (Fwindow_truncated_p): Fixed docstring.
16066         (Fwindow_last_line_visible_height): Implemented.
16067
16068 2000-02-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
16069
16070         * frame.c (change_frame_size_1): Undo 2000-02-03 change.
16071
16072 1999-12-20  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16073
16074         * syntax.c (scan_words): Always advance at least one character.
16075
16076 2000-02-13  Andy Piper  <andy@xemacs.org>
16077
16078         * redisplay.c (add_glyph_rune): call get_glyph_cachel_index here
16079         to make sure the glyph is in the cachels.
16080
16081         * glyphs.h (struct Lisp_Image_Instance): make layout_changed a
16082         global image instance flag.
16083         (IMAGE_INSTANCE_NEEDS_LAYOUT): new macro.
16084         (XIMAGE_INSTANCE_NEEDS_LAYOUT): ditto.
16085
16086         * glyphs.c (allocate_image_instance): set dirty bits correctly.
16087         (Fset_image_instance_property): mark layout as changed.
16088         (invalidate_glyph_geometry_maybe): mark layout as changed.
16089         (glyph_width): use new NEEDS_LAYOUT macro.
16090         (glyph_ascent): ditto.
16091         (glyph_descent): ditto.
16092         (glyph_height): ditto.
16093         (image_instance_layout): mark layout as clean after laying out.
16094         (update_subwindow): don't mark layout as clean here.
16095
16096         * glyphs-x.h (IMAGE_INSTANCE_X_WIDGET_ID): undo C++ changes, they
16097         should no longer be needed.
16098
16099         * glyphs-x.c (x_update_widget): sanitize asserts.
16100         (x_finalize_image_instance): sanitize assignment to widgets.
16101
16102         * glyphs-widget.c (widget_instantiate): don't need to clear the
16103         layout flag here.
16104
16105 2000-02-13  Martin Buchholz  <martin@xemacs.org>
16106
16107         * sysdep.c (getcwd): Use standard prototype.
16108         * sysdep.h (getcwd): Use standard prototype.
16109
16110         * fns.c (Fsubseq): Change parameters to more natural ANSI Lisp
16111         (sequence, start, end).
16112         Remove redundant type checking.
16113         (Fmapconcat): Remove useless GCPRO, a wrong-headed attempt (in
16114         view of `caller-protects') to avoid a crash where the real fix was
16115         found elsewhere.
16116
16117 2000-02-12  Martin Buchholz  <martin@xemacs.org>
16118
16119         * glyphs-x.c (x_finalize_image_instance): Compile error fixes.
16120
16121         * s/sol2.h: Remove feature macro initialization.
16122
16123         * alloc.c (alloc_lcrecord): Add more type checking assertions.
16124         (vector_hash): New.  Code from internal_hash.
16125         * lrecord.h:
16126         Fix up allocation subsystem comments.
16127
16128         * config.h.in: Add __EXTENSIONS__ for Solaris.
16129
16130         * systime.h (EMACS_GETTIMEOFDAY): New.
16131         (EMACS_GET_TIME): Use EMACS_GETTIMEOFDAY.
16132         Remove Solaris-specific code.
16133         Use void* for the (ignored) second arg for gettimeofday().
16134
16135         * elhash.c (hash_table_hash): Implement it, finally.
16136         * elhash.c:  Use hashcode_t.
16137
16138         * linuxplay.c (sighandler): Fix prototypes to use SIGTYPE.
16139         * sunplay.c (sighandler): Fix prototype to use SIGTYPE.
16140
16141         * lisp.h (STRETCHY_STRUCT_SIZEOF): Delete.
16142         * fns.c (size_bit_vector):
16143         * alloc.c (size_vector):
16144         (make_vector_internal):
16145         (make_bit_vector_internal):
16146         (sweep_bit_vectors_1):
16147         Replace calls to STRETCHY_STRUCT_SIZEOF with offsetof expression.
16148
16149 2000-02-10  Martin Buchholz  <martin@xemacs.org>
16150
16151         * s/aix4.h: #define MAP_FAILED if sys/mman.h didn't.
16152         Include strings.h to avoid warnings for bzero and strcasecmp.
16153
16154 2000-02-10  Olivier Galibert  <galibert@pobox.com>
16155
16156         * alloc.c: Move STRETCHY_STRUCT_SIZEOF from here...
16157         * lisp.h (STRETCHY_STRUCT_SIZEOF): ...to here
16158
16159         * fns.c (size_bit_vector): New.  Declare bit vectors as a
16160         sequence.
16161
16162 2000-02-10  Olivier Galibert  <galibert@pobox.com>
16163
16164         * symeval.h (struct symbol_value_magic): Remove "next" kludge and
16165         use a value field instead.
16166         (symbol_value_forward_forward): Use value field.
16167         (DEFVAR_SYMVAL_FWD): Use value field.
16168         (DEFVAR_SYMVAL_FWD_INT): Added.  Dumps the int with dumpopaque.
16169         (DEFVAR_INT): Use DEFVAR_SYMVAL_FWD_INT.
16170         (DEFVAR_CONST_INT): Ditto.
16171         (DEFVAR_BOOL): Ditto.
16172         (DEFVAR_CONST_BOOL): Ditto.
16173         (DEFVAR_INT_MAGIC): Ditto.
16174         (DEFVAR_BOOL_MAGIC): Ditto.
16175
16176         * symbols.c (guts_of_unbound_marker): Use value field.
16177         * console.c (DEFVAR_CONSOLE_LOCAL_1): Ditto.
16178         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Ditto.
16179
16180         * lisp.h: Declare dumpopaque and noninteractive1.
16181
16182         * alloc.c (dumpopaque): Added.
16183         (pdump_dump_opaquevec): Added.
16184         (pdump): Call pdump_dump_opaquevec to dump opaque data.
16185         (pdump_load): Reload opaque data.  Sync noninteractive1 with
16186         noninteractive.
16187
16188 2000-02-10  Andy Piper  <andy@xemacs.org>
16189
16190         * glyphs.c (image_instance_layout): if the size changes, mark it
16191         as such.
16192
16193         * redisplay-output.c (redisplay_output_layout): Update the
16194         subwindow here.
16195         (redisplay_output_subwindow): ditto.
16196
16197         * glyphs.c (update_subwindow): make sure we reset flags for
16198         layouts as well as everything else.
16199
16200         * glyphs-widget.c (layout_layout): don't need to set the instances
16201         dimensions here.
16202
16203 2000-02-09  Martin Buchholz  <martin@xemacs.org>
16204
16205         * device-x.c (x_init_device): Wrap calls to dll_*  in HAVE_SHLIB,
16206         not HAVE_DLOPEN, which is a lower-level thing.
16207
16208         * .cvsignore: Ignore gmon.out
16209
16210 2000-02-09  Hamish Macdonald <hamishm@lucent.com>
16211
16212         * .cvsignore: Ignore portable dumper xemacs.dmp file
16213
16214 2000-02-09  Andy Piper  <andy@xemacs.org>
16215
16216         * redisplay-output.c (redisplay_output_layout): be more clever
16217         about when we output based on the changed flags.
16218
16219         * glyphs.h (struct image_instantiator_methods): add update_method.
16220         (struct Lisp_Image_Instance): add changed flags. Declare new
16221         macros for manipulating them.
16222
16223         * glyphs.c (allocate_image_instance): renamed glyph -> parent.
16224         (image_instance_parent_glyph): find an image_instance's parent
16225         glyph or image_instance.
16226         (image_instance_layout): mark the size as changed.
16227         (set_image_instance_dirty_p): new function. mark an image
16228         instance, plus all of its parents, as dirty.
16229         (Fset_image_instance_property): use it.
16230         (Fglyph_animated_timeout_handler): use it.
16231         (update_subwindow): call update_widget and device methods for
16232         update_subwindow. Mark all changed flags as clean.
16233         (Fresize_subwindow): mark size as changed.
16234
16235         * glyphs-x.c (x_finalize_image_instance): try and detect gc
16236         failures.
16237         (x_update_subwindow): only resize subwindows here.
16238         (x_update_widget): new function. Update all changed properties of
16239         a widget.
16240         (x_resize_subwindow): deleted.
16241         (x_widget_set_property): deleted.
16242         (x_progress_gauge_set_property): deleted.
16243         (x_progress_gauge_update): new function. Implement recorded
16244         changes.
16245         (x_tab_control_update): ditto.
16246         (x_tab_control_set_property): deleted.
16247         (console_type_create_glyphs_x): declare new functions.
16248         (image_instantiator_format_create_glyphs_x): ditto.
16249
16250         * glyphs-widget.c (widget_set_property): mark text changed.
16251         (update_widget): new function. Update properties of a widget.
16252         (widget_instantiate): for layouts make sure we set their
16253         children's parent correctly.
16254         (tab_control_set_property): new function. Record changes that will
16255         take place under redisplay's control.
16256         (progress_gauge_set_property): ditto.
16257         (image_instantiator_progress_guage): declare new functions.
16258         (image_instantiator_tab_control): ditto.
16259
16260         * glyphs-msw.c (mswindows_update_subwindow): just do resizing here
16261         now.
16262         (mswindows_update_widget): new function. Update all properties on
16263         a widget that have changed.
16264         (mswindows_button_update): new function. Update a button's set
16265         state.
16266         (mswindows_tab_control_update): new function. Update the items in
16267         a tab.
16268         (mswindows_tab_control_set_property): deleted.
16269         (mswindows_progress_gauge_update): new function. Update the
16270         progress gauge's progress.
16271         (mswindows_widget_set_property): deleted. This is all done
16272         asynchronously now.
16273         (mswindows_progress_gauge_set_property): ditto.
16274         (console_type_create_glyphs_mswindows): declare new methods.
16275         (image_instantiator_format_create_glyphs_mswindows): ditto.
16276
16277         * frame-msw.c (msprinter_init_frame_1): Remove unused variables.
16278         (msprinter_set_frame_properties): ditto.
16279
16280         * console.h (struct console_methods): Add update_widget_method.
16281
16282 2000-02-09  Andy Piper  <andy@xemacs.org>
16283
16284         * gui-msw.c (Fmswindows_shell_execute): Make
16285         mswindows-shell-execute industrial strength.
16286
16287 2000-02-08  Martin Buchholz  <martin@xemacs.org>
16288
16289         * lrecord.h: Make macro argument `props' match member function `plist'.
16290         * fns.c (Fget):
16291         * fns.c (Fput):
16292         * fns.c (Fremprop):
16293         * fns.c (Fobject_plist):
16294         * alloc.c:
16295         * symbols.c:
16296         Object property list frobbing cleanup.
16297         - Allow any lisp object (compared with `eq'), not just symbols, as
16298           keys in object plists.
16299         - Move symbol plist frobbing into symbols.c, where it belongs.
16300         - Move string plist frobbing into alloc.c, where it belongs.
16301         - Everything's an lrecord now, so no need to test for symbolp, etc.
16302         - Fix up doc strings to refer to PROPERTY, not PROPNAME.
16303
16304         * extents.c: Reorder code to remove declarations.
16305
16306         * frame.h (store_in_alist): Remove useless declaration.
16307
16308 2000-02-07  Martin Buchholz  <martin@xemacs.org>
16309
16310         * event-Xt.c (x_has_keysym): Use XConvertCase only if available.
16311         * config.h.in: Add HAVE_XCONVERTCASE.
16312
16313 2000-02-07  Andy Piper  <andy@xemacs.org>
16314
16315         * glyphs.c (image_instance_layout): undo 2000-01-29 change since
16316         it breaks many things.
16317
16318 2000-02-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
16319
16320         * src/syntax.h (SYNTAX_START_P): Check whether the two chars
16321         actually can start a common comment type.
16322         * src/syntax.h (SYNTAX_END_P): ditto for end.
16323
16324 2000-02-07  Martin Buchholz <martin@xemacs.org>
16325
16326         * XEmacs 21.2.28 is released.
16327
16328 2000-02-06  Martin Buchholz  <martin@xemacs.org>
16329
16330         * event-Xt.c (x_keysym_to_character): New.
16331         (maybe_define_x_key_as_self_inserting_character): New.
16332         (x_has_keysym): New.
16333         Auto-define all keys on the keyboard as self-insert-key.
16334
16335 2000-02-02  Martin Buchholz  <martin@xemacs.org>
16336
16337         * menubar.c (vars_of_menubar): A small code simplification.
16338
16339         * minibuf.c (echo_area_append): Workaround egcs-20000131 c++ compiler bug
16340
16341         * ExternalShell.c:
16342         * ExternalClient.c:
16343         * EmacsShell-sub.c:
16344         * EmacsManager.c:
16345         * EmacsFrame.c:
16346         Use consistent style for specifying X resources.
16347
16348         * symbols.c (Fset): Further implement SYMVAL_LISP_MAGIC.
16349         This makes (dontusethis-set-symbol-value-handler) actually usable.
16350
16351         * lrecord.h (lrecord_decription_type):
16352         * alloc.c (pdump_register_sub):
16353         (pdump_dump_data):
16354         (pdump_reloc_one):
16355         Add XD_LISP_OBJECT_ARRAY to describe multiple Lisp_Objects.
16356         Comply with XEmacs coding style.
16357         All lrecord descriptions updated to use XD_LISP_OBJECT with 2
16358         args, and XD_LISP_OBJECT_ARRAY with 3 args.
16359
16360         * keymap.c (Faccessible_keymaps):
16361         Make (accessible-keymaps map "\C-h") do the Right Thing.
16362         Make (accessible-keymaps map []) do the Right Thing.
16363         Make (accessible-keymaps map "") do the Right Thing.
16364         (check_keymap_definition_loop): New function.
16365         (keymap_store_internal): Keep luser from shooting self in foot,
16366           via (define-key ctl-x-4-map "p" global-map).
16367         Remove fullness slot from struct Lisp_Keymap, since hash tables
16368         are now reliable.
16369         (print_keymap): Remove 'Yuck' factor by simply printing "size %d".
16370
16371 2000-01-30  Martin Buchholz  <martin@xemacs.org>
16372
16373         * redisplay.c (init_redisplay): Fix small memory leak.
16374         * elhash.h:
16375         * elhash.c (pdump_reorganize_hash_table):
16376         Rename from reorganize_hash_table. Change prototype.
16377         Reuse the original memory for hentries.  Save 100k.
16378         * alloc.c (PDUMP_READ): new macro.
16379         * alloc.c (pdump_load): Replace LISP_TO_VOID with higher-level macros.
16380         * alloc.c: No need to #ifndef before #undef.
16381
16382         * print.c: Allow debug_print() to print readably by modifying
16383         debug_print_readably.  Use consistent variable names.
16384
16385         * .dbxrc: Try to get things to work even if stopped in a function
16386         without source available by explicitly specifying source files.
16387 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16388
16389         * unexnt.c (_start): Removed bogus code which caused loading heap
16390         from differrent executable file.
16391         Removed bogus assignment to _fmode, which caused inconsistencies.
16392
16393 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16394
16395         * s\windowsnt.h: Removed lots of #if 0 blocks of Emacs heritage.
16396         Have spawnve encapsulation regard DONT_ENCAPSULATE.
16397         Do not preliminary `#define signal sigset'.
16398
16399         * systime.h: Do not prototype environ on windows nt and cygwin,
16400         this conflicts with system header.
16401
16402         * syssignal.h: Use correct define for WINDOWSNT
16403
16404         * sysdep.h: Do not prototype environ on windows nt, this conflicts
16405         with system header.
16406
16407         * sysdep.c (near start of file): Fixed commentary and rearranged
16408         ifdefs in readable order.
16409         (NEED_STARTS): Do not force NEED_STARTS when PDUMPing.
16410         (start_of_text):
16411         (end_of_text):
16412         (end_of_data): Do not compile in if using PDUMP.
16413
16414         * symsinit.h: Prototyped vars_of_nt().
16415
16416         * ntproc.c (windows9x_p): Added, instead of os_subtype.
16417         (find_child_console): Use it.
16418         (sys_kill): Use it.
16419
16420         * ntheap.h: Do not extern os_subtype.
16421
16422         * ntheap.c (cache_system_info): Do not cache unneeded:
16423         nt_major_version, nt_minor_version and os_subtype.
16424         (recreate_heap): Do not compile in when PDUMPing.
16425
16426         * nt.c (geteuid and friends): Use the new varibale
16427         nt_fake_unix_uid, instead of hashing fake uid out of NT RID.
16428         (init_user_info): Removed the above mentioned hackery.
16429         (fstat, stat): Do not compile in if using MSVC 5.0 and above -
16430         stat has been fixed in the C runtime.
16431         (vars_of_nt): Added, defined the nt_fake_unix_uid variable there.
16432
16433         * file-coding.c (struct file_coding_dump): Do not define
16434         ucs_to_mule_table in the struct if not MULE.
16435         (struct struct lrecord_description fcd_description_1): Do not dump
16436         the above.
16437
16438         * emacs.c (main_1): Call vars_of_nt().
16439         (right before Fdump_emacs_data): Don't need lastfile if using both
16440         portabe dumper and system malloc.
16441
16442         * alloc.c (Fmemory_limit): Conditionalized out.
16443         (pdump): Use OPEN_BINARY for the portable dump file.
16444         (pdump_load): Ditto.
16445
16446 2000-02-02  Mike Alexander  <mta@arbortext.com>
16447
16448         * nt.c (convert_time): Set tm_isdst before calling mktime and
16449         avoid calling it at all if the compiler supports 64 bit integers.
16450         Also initialize utc_base_ft before using it.
16451
16452 2000-02-03   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
16453
16454         * frame.c (change_frame_size_1): Take f->internal_border_width
16455         into consideration when calculating the width of the frame.
16456
16457 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16458
16459         * window.c (frame_min_height):
16460         (frame_size_valid_p):
16461         (frame_pixsize_valid_p): Added.
16462         (check_frame_size): Generalized.
16463
16464         * window.h: Prototyped the above.
16465
16466         * lisp.h:
16467         * general.c: Added Qbottom_margin, Qduplex, Qlandscape,
16468         Qleft_margin, Qorientation, Qportrait, Qright_margin, Qtop_margin.
16469         Deleted Vwin32_* and Vbinary_process_* unused variables.
16470
16471         * device-msw.c (msprinter_init_device): Do not get printer font
16472         list; Added DEVMODE functions.
16473
16474         * frame-msw.c: Added lots of printer code.
16475
16476         * faces.c: Moved 'left-margin and 'right-margin defsymbols to
16477         general.c.
16478
16479         * console-msw.h: Added more msprinter device private slots.
16480
16481 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16482
16483         * event-msw.c (key_needs_default_processing_p): Added.
16484         (mswindows_wnd_proc, WM_KEYUP, KEYDOWN): Call it.
16485
16486 2000-01-29  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16487
16488         * glyphs.c (image_instance_layout): Mark image instance as clean
16489         after layout.
16490         (glyph_dirty_p): Removed redundant function.
16491         (invalidate_glyph_geometry_maybe): Added.
16492         (update_glyph_cachel_data): Call it.
16493
16494         * glyphs.h: Prototyped it.
16495
16496         * redisplay.c (add_glyph_rune): Call it.
16497         (redisplay_window): Reset glyphs cachels when frame faces have
16498         changed, thus forcing recomputation of built-in border glyphs.
16499
16500 2000-01-30  Martin Buchholz  <martin@xemacs.org>
16501
16502         * Makefile.in.in: Make portable dumper and purify play well together.
16503         Add imperfect, but better than nothing, support for pdump.
16504         Remove xemacs.dmp when temacs is re-generated.
16505         Don't ignore errors when dumping xemacs.
16506
16507         * symbols.c (maybe_call_magic_handler): Remove one magic number.
16508
16509 2000-01-28  Andy Piper  <andy@xemacs.org>
16510
16511         * frame.c (allocate_frame_core): Use new Fset_window_buffer signature.
16512         (setup_normal_frame): ditto.
16513         (setup_frame_without_minibuffer): ditto.
16514         (setup_minibuffer_frame): ditto.
16515         (delete_frame_internal): ditto.
16516         (Fmake_frame_invisible): ditto.
16517         (Ficonify_frame): ditto.
16518
16519         * window.h: change Fset_window_buffer signature.
16520
16521         * window.c (Fsplit_window): Use new Fset_window_buffer signature.
16522         (Fset_window_buffer): allow recording of buffer if the window is
16523         the selected window.
16524         (window_loop): Use new Fset_window signature.
16525
16526 2000-01-23  Daniel Pittman  <daniel@danann.net>
16527
16528         * config.h.in: Added template for `HAVE_ATHENA_3D'
16529
16530 2000-01-29  Andy Piper  <andy@xemacs.org>
16531
16532         * glyphs-x.c (x_resize_subwindow): Try and catch bogus resizes.
16533
16534         * gutter.c (output_gutter): Don't output if the window isn't live.
16535
16536 2000-01-28  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16537
16538         * glyphs-msw.c (mswindows_unmap_subwindow): Fix of corrupted patch
16539         of 01/12/00: Moved SetFocus back here where it belongs.
16540
16541 2000-01-23  Andy Piper  <andy@xemacs.org>
16542
16543         * s/cygwin32.h: declare printer things.
16544
16545 2000-01-26  Andy Piper  <andy@xemacs.org>
16546
16547         * select.c (Fown_selection_internal): GCPRO bug fix from Mike
16548         Alexander.
16549
16550 2000-01-24  Andy Piper  <andy@xemacs.org>
16551
16552         * glyphs-msw.c (mswindows_locate_pixmap_file): Expand filename.
16553         (mswindows_button_instantiate): Make sure glyph is a pixmap.
16554
16555         * glyphs-widget.c (widget_instantiate): Avoid shadows.
16556
16557         * frame-msw.c (msprinter_init_frame_3): Nuke warning.
16558
16559         * glyphs-msw.c: (mswindows_string_to_color): remove declaration.
16560
16561         * redisplay-msw.c (mswindows_output_cursor): Avoid shadows.
16562         (mswindows_output_display_block): Avoid local shadows.
16563
16564         * event-msw.c (mswindows_enqueue_magic_event): Avoid shadows.
16565         (mswindows_enqueue_mouse_button_event): ditto.
16566         (mswindows_handle_gui_wm_command): remove declaration.
16567
16568         * console-msw.c (mswindows_canonicalize_console_connection): Avoid
16569         warnings.
16570
16571         * console-msw.h: Avoid shadows.
16572         (mswindows_get_toolbar_button_text):
16573         (emacs_mswindows_create_stream_pair):
16574         (emacs_mswindows_delete_stream_pair):
16575         (mswindows_handle_toolbar_wm_command): declare.
16576
16577         * device-msw.c (build_syscolor_string): Avoid shadows.
16578
16579 2000-01-23  Andy Piper  <andy@xemacs.org>
16580
16581         * glyphs-widget.c (widget_instantiate): reverse the items for
16582         layouts so that children are in the expected order.
16583
16584 2000-01-28  Martin Buchholz  <martin@xemacs.org>
16585
16586         * ralloc.c: safe_bcopy ==> memmove
16587         * gmalloc.c: Remove MEMMOVE_MISSING conditional code.
16588         * s/msdos.h: Remove BCOPY macros.
16589         * insdel.c (gap_right): Remove BCOPY conditional code.
16590         * insdel.c (gap_left): Remove BCOPY conditional code.
16591         XEmacs demands a working ANSI C compiler - hence memmove.
16592
16593         * regex.c (regex_compile): Remove accidental use of trigraphs.
16594
16595 2000-01-27  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16596
16597         * event-msw.c (mswindows_enqueue_misc_user_event): Initialize
16598         event timestamp.
16599
16600 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16601
16602         * event-msw.c (mswindows_drain_windows_queue): Added the
16603         parameter.
16604         (mswindows_need_event): Commented the call to
16605         mswindows_drain_windows_queue().
16606         (emacs_mswindows_quit_p): Lookup the windows for keyboard messages
16607         only.
16608
16609         * console-msw.h: Moved a few function prototypes here from
16610         event-msw.c.
16611
16612         * gui-msw.c (mswindows_handle_gui_wm_command): Changed the ID
16613         parameter from unsigned short to unsigned long.
16614         (Fmswindows_shell_execute): Added return value.
16615
16616 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
16617
16618         * sysdep.c (init_system_name):
16619           process-unix.c (unix_canonicalized_host_name):
16620         Don't call freeaddrinfo() if getaddrinfo() fails.
16621
16622         * process-unix.c (unix_open_unix_network_stream):
16623         Moved the code to get a port # into address loop.
16624
16625 2000-01-27  Martin Buchholz  <martin@xemacs.org>
16626
16627         * buffer.c (reinit_vars_of_buffer):
16628         The right place to initialize conversion_in_dynarr and
16629         conversion_out_dynarr.
16630
16631         * alloc.c (pdump): Use the real open() till sys_open() is functional.
16632
16633         * process-unix.c (unix_canonicalize_host_name): Muleize.
16634         (unix_open_network_stream): Muleize.
16635
16636         * buffer.h: Fix up prototypes for ralloc.c functions.
16637
16638 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
16639         * config.h.in: added HAVE_GETADDRINFO and HAVE_GETNAMEINFO
16640         * sysdep.c: In init_system_name(), add code to use getaddrinfo()
16641                 instead of gethostbyname()
16642         * process-unix.c: In unix_canonicalize_host_name() and
16643                 unix_open_network_stream(), add code to use getaddrinfo()
16644                 instead of gethostbyname().
16645
16646 2000-01-27  Daniel Pittman <daniel@danann.net>
16647
16648         * device-x.c (x_init_device): Warn at run-time if using Athena 3d
16649         libs when built with flat Athena.
16650
16651 2000-01-27  Martin Buchholz  <martin@xemacs.org>
16652
16653         * ralloc.c: Replace SIZE (conflicts with Windows headers) with size_t.
16654         Use coding standards for function prototypes.
16655
16656 2000-01-25  Martin Buchholz  <martin@xemacs.org>
16657
16658         * dialog-msw.c (push_lisp_string_as_unicode):
16659         * doc.c (unparesseuxify_doc_string):
16660         * dired.c (Fuser_name_completion_1):
16661         * dired.c (Fuser_name_all_completions):
16662         * dired.c (free_user_cache):
16663         * dired.c (user_name_completion):
16664         * console-x.c (get_display_arg_connection):
16665         * minibuf.c (clear_echo_area_internal):
16666         * minibuf.c (echo_area_append):
16667         * eldap.c (Fldap_open):
16668         * eldap.c (Fldap_search_internal):
16669         * frame-x.c (x_set_frame_text_value):
16670         * frame-x.c (x_set_frame_properties):
16671         * frame-x.c (x_create_widgets):
16672         * redisplay-tty.c (term_get_fkeys_1):
16673         * objects-x.c (x_parse_nearest_color):
16674         * objects-x.c (x_valid_color_name_p):
16675         * objects-x.c (x_initialize_font_instance):
16676         * objects-x.c (x_list_fonts):
16677         * objects-x.c (x_find_charset_font):
16678         * tooltalk.c (Fadd_tooltalk_message_arg):
16679         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
16680         * tooltalk.c (Fadd_tooltalk_pattern_arg):
16681         * process-unix.c (unix_create_process):
16682         * ntproc.c (sys_spawnve):
16683         * sound.c (Fplay_sound_file):
16684         * sound.c (Fplay_sound):
16685         * buffer.c (init_initial_directory):
16686         * buffer.c (init_buffer):
16687         * editfns.c (init_editfns):
16688         * editfns.c (Ftemp_directory):
16689         * editfns.c (Fuser_full_name):
16690         * editfns.c (uncache_home_directory):
16691         * editfns.c (get_home_directory):
16692         * editfns.c (Fuser_home_directory):
16693         * editfns.c (Fformat_time_string):
16694         * editfns.c (Fcurrent_time_string):
16695         * gui-x.c (button_item_to_widget_value):
16696         * database.c (Fopen_database):
16697         * event-Xt.c (x_to_emacs_keysym):
16698         * event-Xt.c (x_event_to_emacs_event):
16699         * event-Xt.c (describe_event_window):
16700         * event-msw.c (mswindows_wnd_proc):
16701         * glyphs-eimage.c (jpeg_instantiate):
16702         * glyphs-eimage.c (gif_instantiate):
16703         * glyphs-eimage.c (png_instantiate):
16704         * glyphs-eimage.c (tiff_instantiate):
16705         * glyphs-x.c (xbm_instantiate_1):
16706         * glyphs-x.c (x_xbm_instantiate):
16707         * glyphs-x.c (x_xface_instantiate):
16708         * glyphs-x.c (autodetect_instantiate):
16709         * glyphs-x.c (cursor_font_instantiate):
16710         * glyphs-x.c (x_widget_instantiate):
16711         * glyphs-x.c (x_widget_set_property):
16712         * glyphs-x.c (x_widget_property):
16713         * glyphs-x.c (BUILD_GLYPH_INST):
16714         * print.c (write_string_to_stdio_stream):
16715         * print.c (output_string):
16716         * print.c (Falternate_debugging_output):
16717         * print.c (Fexternal_debugging_output):
16718         * glyphs-msw.c (extract_xpm_color_names):
16719         * glyphs-msw.c (mswindows_xpm_instantiate):
16720         * glyphs-msw.c (bmp_instantiate):
16721         * glyphs-msw.c (resource_name_to_resource):
16722         * glyphs-msw.c (mswindows_resource_instantiate):
16723         * glyphs-msw.c (xbm_instantiate_1):
16724         * glyphs-msw.c (mswindows_xbm_instantiate):
16725         * glyphs-msw.c (mswindows_xface_instantiate):
16726         * glyphs-msw.c (mswindows_widget_instantiate):
16727         * glyphs-msw.c (add_tree_item):
16728         * glyphs-msw.c (add_tab_item):
16729         * glyphs-msw.c (mswindows_combo_box_instantiate):
16730         * glyphs-msw.c (mswindows_widget_property):
16731         * glyphs-msw.c (mswindows_combo_box_property):
16732         * glyphs-msw.c (mswindows_widget_set_property):
16733         * console.c (stuff_buffered_input):
16734         * objects-msw.c (mswindows_initialize_color_instance):
16735         * objects-msw.c (mswindows_valid_color_name_p):
16736         * objects-msw.c (mswindows_list_fonts):
16737         * objects-msw.c (mswindows_font_instance_truename):
16738         * bytecode.c (optimize_compiled_function):
16739         * select-x.c (symbol_to_x_atom):
16740         * select-x.c (x_atom_to_symbol):
16741         * select-x.c (hack_motif_clipboard_selection):
16742         * select-x.c (selection_data_to_lisp_data):
16743         * select-x.c (lisp_data_to_selection_data):
16744         * select-x.c (Fx_get_cutbuffer_internal):
16745         * select-x.c (Fx_store_cutbuffer_internal):
16746         * buffer.h (TO_EXTERNAL_FORMAT): New function.
16747         * buffer.h (TO_INTERNAL_FORMAT): New function.
16748         * emacs.c (make_arg_list_1):
16749         * emacs.c (make_argc_argv):
16750         * emacs.c (main_1):
16751         * emacs.c (Fdump_emacs):
16752         * emacs.c (split_string_by_emchar_1):
16753         * file-coding.h:
16754         * lisp.h:
16755         * lstream.h:
16756         * symsinit.h:
16757         * device-x.c (x_init_device):
16758         * device-x.c (Fx_valid_keysym_name_p):
16759         * device-x.c (Fx_get_font_path):
16760         * device-x.c (Fx_set_font_path):
16761         * glyphs.c (bitmap_to_lisp_data):
16762         * glyphs.c (pixmap_to_lisp_data):
16763         * alloc.c (make_ext_string): Use coding system arguments.  Update
16764         all callers.
16765         * alloc.c (build_string):
16766         * callproc.c (child_setup):
16767         * callproc.c (init_callproc):
16768         * fileio.c (lisp_strerror):
16769         * fileio.c (directory_file_name):
16770         * fileio.c (Fexpand_file_name):
16771         * fileio.c (Ffile_truename):
16772         * fileio.c (Fsysnetunam):
16773         * fileio.c (Fdo_auto_save):
16774         * sysdep.c (sys_readdir):
16775         * tests.c: New file.  Allow adding C tests.
16776         Replace GET_* macros with a more comprehensible and flexible
16777         interface, TO_INTERNAL_FORMAT() and TO_EXTERNAL_FORMAT().
16778         Modify all calls.
16779         Any coding system can be used to do format conversion.
16780         Eliminate enum external_data_format.
16781         Eliminate convert_to_external_format.
16782         Eliminate convert_to_internal_format.
16783         Make sure file-name, keyboard, terminal, and ctext are always
16784         defined as coding systems or aliases.  Make
16785         file-name-coding-system, terminal-coding-system, and
16786         keyboard-coding-system magical variables that are equivalent to
16787         defining the corresponding coding system aliases.
16788
16789         * file-coding.c (Fcoding_system_canonical_name_p): New function.
16790         * file-coding.c (Fcoding_system_alias_p): New function.
16791         * file-coding.c (Fcoding_system_aliasee): New function.
16792         * file-coding.c (append_suffix_to_symbol): New function.
16793         * file-coding.c (dangling_coding_system_alias_p): New function.
16794         * file-coding.c (Ffind_coding_system):
16795         * file-coding.c (Fcopy_coding_system):
16796         * file-coding.c (encode_coding_no_conversion):
16797         * file-coding.c (syms_of_file_coding):
16798         * file-coding.c (vars_of_file_coding):
16799         Rewrite coding system alias code.
16800         Allow nested aliases, like symbolic links.
16801         Allow redefinition of coding system aliases.
16802         Prevent existence of dangling coding system aliases.
16803
16804         * dired.c (Fuser_name_completion_1):
16805         * dired.c (Fuser_name_all_completions):
16806         A crash would happen if user did QUIT in the middle of building
16807         user_name_cache.  Remove redundant code in mainline and unwind_protect.
16808
16809         * lisp.h:
16810         * dynarr.c (Dynarr_min_size): Make static.  Increase value to 8.
16811
16812         * lstream.c (make_fixed_buffer_input_stream): Take a void *, not
16813         an unsigned char *.  Update all callers.
16814
16815 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16816
16817         * callproc.c (Fcall_process_internal): Ignore Vbinary-process_output.
16818
16819 2000-01-25  Martin Buchholz  <martin@xemacs.org>
16820
16821         * elhash.c (hentry_description): Use more portable definition.
16822         (resize_hash_table): Initialize new hentries using
16823         xnew_array_and_zero, thereby simplifying the code.
16824
16825         * mule-charset.c (make_charset): Make sure entire object is
16826         initialized, to avoid Purify warnings.
16827
16828         * alloc.c (resize_string): Fix unlikely crash with big strings.
16829
16830 2000-01-24  Martin Buchholz  <martin@xemacs.org>
16831
16832         * realpath.c (xrealpath):
16833         Don't call getwd().
16834
16835 2000-01-25  Martin Buchholz  <martin@xemacs.org>
16836
16837         * lread.c (read_bit_vector): Fix memory leak reading literal bit vectors.
16838
16839 1999-12-28  Max Matveev  <max@melbourne.sgi.com>
16840
16841         * unexelfsgi.c (unexec): Change the way we decide which segment
16842         should be extended.
16843
16844         Assumption that .bss section should be outside the PT_LOADable
16845         segment. On IRIX with version 6.2 and above, .bss (or .sbss, if
16846         it's present) is inside the 'data' segment. This would fail the
16847         test which was used to find a segment to grow and cover new
16848         heap. Instead of this assumption, I created another one - on IRIX
16849         the segment to grow should start below .bss and it's address
16850         should extent above the end of .bss. Once this segment is
16851         identified, it's grown to accommodate the new heap and new
16852         zero-length .bss section is added at the end of .data2.
16853
16854 2000-01-25  Martin Buchholz  <martin@xemacs.org>
16855
16856         * eval.c (Feval): Wrong number of arguments should use original
16857         function, not the indirect_function version of it.
16858
16859 2000-01-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
16860
16861         * glyphs-x.c (x_button_instantiate): Don't add image if
16862         it is not a pixmap.
16863         (x_locate_pixmap_file): Call Fexpand_file_name when file name
16864         is relative.
16865
16866 2000-01-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
16867
16868         * symeval.h (DEFVAR_LISP_MAGIC): Remove semicolon after macro
16869         declaration.
16870         (DEFVAR_INT_MAGIC): Ditto.
16871         (DEFVAR_BOOL_MAGIC): Ditto.
16872         * glyphs.h: Reindent backslash.
16873
16874 2000-01-24  Martin Buchholz  <martin@xemacs.org>
16875
16876         * glyphs-widget.c (layout_query_geometry):
16877         (layout_layout): Use correct types for gheight, gwidth.
16878
16879 2000-01-24  Martin Buchholz  <martin@xemacs.org>
16880
16881         * EmacsManager.c (QueryGeometry): Purified.
16882
16883 2000-01-23  Martin Buchholz  <martin@xemacs.org>
16884
16885         * alloc.c (make_float): Make sure entire object is initialized, to
16886         avoid Purify warnings.
16887         (pdump_register_sub): Remove useless assignment.
16888         (pdump): Use xmalloc, not malloc.
16889         (pdump_load): Use xmalloc, not malloc.
16890
16891 2000-01-23  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16892
16893         * callproc.c:
16894         * dired-msw.c:
16895         * fileio.c:
16896         * process-nt.c:
16897         * redisplay-msw.c:
16898         * sysdep.c: Removed redundant #include <windows.h>
16899
16900 2000-01-22  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16901
16902         * frame.c (delete_frame_internal): Do not delete device when its
16903         implementation so declares.
16904         (delete_frame_internal): Set device selected frame to nil when
16905         last frame goes away.
16906
16907         * device-msw.c (msprinter_device_system_metrics): Implemented.
16908         (mswindows_device_system_metrics): Added 'device-dpi property.
16909
16910         * device.c: (Fdevice_printer_p): Added.
16911         Added 'offset-workspace device metric.
16912
16913         * console.h (device_metrics): Declared DM_offset_workspace.
16914
16915 2000-01-23  Martin Buchholz  <martin@xemacs.org>
16916
16917         * fileio.c (Ffile_truename): Remove pointless and confusing
16918         initialization of elen.
16919
16920         * glyphs-widget.c: Compiler warning fixes.
16921
16922 2000-01-23  Gunnar Evermann  <ge204@eng.cam.ac.uk>
16923
16924         * process.h (PROCESS_LIVE_P): Modify to take a Lisp_Process
16925         instead of a Lisp_Object as argument to make it consistent with
16926         the other LIVE_P macros.
16927         (CHECK_LIVE_PROCESS): New macro.
16928
16929         * process.c: Declare Qprocess_live_p.
16930         (Fprocess_live_p): New function.
16931         (create_process): Use PROCESS_LIVE_P.
16932         (read_process_output): Ditto.
16933         (set_process_filter): Ditto.
16934         (Fdelete_process): Ditto.
16935         (kill_buffer_processes): Ditto
16936         (process_send_signal): Use CHECK_LIVE_PROCESS.
16937         (Fprocess_input_coding_system): Check whether process is still
16938         alive (fix PR#1061).
16939         (Fprocess_output_coding_system): Ditto.
16940         (Fprocess_coding_system): Ditto.
16941         (Fset_process_input_coding_system): Ditto.
16942         (Fset_process_output_coding_system): Ditto.
16943
16944 2000-01-23  Andy Piper  <andy@xemacs.org>
16945
16946         * glyphs.h (struct Lisp_Image_Instance): change format by unifying
16947         layout and widget.
16948
16949         * glyphs.c (mark_image_instance): take into account changed
16950         image_instance format.
16951         (image_instance_equal): ditto.
16952         (image_instance_hash): ditto.
16953
16954         * glyphs-widget.c (widget_instantiate): Incorporate layout
16955         instantiation here. Delay layout of the layout until later.
16956         (layout_instantiate): deleted.
16957         (layout_query_geometry): new function. get the geometry of a
16958         layout.
16959         (layout_layout): layout a layout dynamically.
16960         (image_instantiator_widget): New function - splitting up
16961         image_instantiator_format_create_glyphs_widget for netwinder
16962         compilation.
16963         (image_instantiator_buttons):
16964         (image_instantiator_edit_fields):
16965         (image_instantiator_combo_box):
16966         (image_instantiator_scrollbar):
16967         (image_instantiator_progress_guage):
16968         (image_instantiator_tree_view):
16969         (image_instantiator_tab_control):
16970         (image_instantiator_labels):
16971         (image_instantiator_layout): ditto.
16972         (image_instantiator_format_create_glyphs_widget): Call preceding
16973         functions.
16974
16975 2000-01-22  Martin Buchholz  <martin@xemacs.org>
16976
16977         * process.c (Fset_process_coding_system):
16978         * device-x.c (Fx_keysym_hash_table):
16979         Docstring fixes.
16980
16981         * lstream.c (Lstream_write): Return documented value, not 0.
16982
16983         * fileio.c (directory_file_name):
16984         (Fsubstitute_in_file_name):
16985         (Fsubstitute_insert_file_contents_internal):
16986         (Fwrite_region_internal):
16987         * emacs.c:
16988         * sysdep.c:
16989         * getloadavg.c:
16990         * systty.h:
16991         Remove vestigial APOLLO-conditional code.
16992
16993 2000-01-21  Martin Buchholz  <martin@xemacs.org>
16994
16995         * getpagesize.h: Add guard macros.
16996         * libsst.h: Add guard macros.
16997         * libst.h: Add guard macros.
16998         * line-number.h: Add guard macros.
16999         * ndir.h: Add guard macros.
17000         * sysfloat.h: Add guard macros.
17001         * sysfile.h: Add guard macros.
17002         * sysproc.h: Add guard macros.
17003         * syswait.h: Add guard macros.
17004         * xintrinsic.h: Add guard macros.
17005         * xintrinsicp.h: Add guard macros.
17006         * xmmanager.h: Add guard macros.
17007         * xmmanagerp.h: Add guard macros.
17008         * xmprimitive.h: Add guard macros.
17009         * xmu.h: Add guard macros.
17010         * gpmevent.h: Add copyright statement. Add guard macros.
17011         * miscplay.h: Add guard macros.
17012         * *.h: Use consistent C-standards-approved guard macro names.
17013
17014         * opaque.c (make_opaque): Switch parameter order.
17015         * opaque.h (make_opaque): Switch parameter order.
17016         Update all callers.
17017         * buffer.h (MAKE_MIRROR_TRT_TABLE): Use symbolic constant OPAQUE_CLEAR.
17018
17019         * config.h.in (type_checking_assert): Added.
17020         (bufpos_checking_assert): Added.
17021
17022 2000-01-21  Martin Buchholz  <martin@xemacs.org>
17023
17024         * alloc.c: Harmless pdump changes.
17025         - Use countof().
17026         - spell alignment correctly.
17027         * sysdep.c: Use countof()
17028
17029 2000-01-20  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17030
17031         * console.c (create_console): Use CONMETH_OR_GIVEN when calling
17032         initially_selected_for_input() console method, default to 0.
17033         (semi_canonicalize_console_connection): Try to delegate to
17034         canonicalize_console_connection if no such console method.
17035         (canonicalize_console_connection): Vice versa.
17036         (print_console): Do not print nil connection.
17037
17038         * console.h (XDEVIMPF_IS_A_PRINTER): Added.
17039         (XDEVIMPF_NO_AUTO_REDISPLAY): Added.
17040         (XDEVIMPF_FRAMELESS_OK): Added.
17041         (CONSOLE_INHERITS_METHOD): Added.
17042
17043         * console-msw.c (mswindows_canonicalize_console_connection):
17044         Added.
17045         (mswindows_canonicalize_device_connection): Added.
17046
17047         * console-msw.h (struct msprinter_device): Added this struct and
17048         accessor macros.
17049         (mswindows_device): Made fontlist a lisp object.
17050
17051         * device.c (semi_canonicalize_device_connection):  Try to delegate
17052         to canonicalize_device_connection if no such console method.
17053         (canonicalize_device_connection): Vice versa.
17054         (print_device): Do not print nil connection.
17055
17056         * device-msw.c (mswindows_init_device): Call InitCommonControls
17057         when have widgets.
17058         (mswindows_delete_device): Removed fontlist deallocation.
17059         (mswindows_mark_device): Added.
17060
17061         * events.c (event_equal): Added abort() at unreached code.
17062         (event_hash): Ditto.
17063
17064         * faces.c (complex_vars_of_faces): Added Qmsprinter to the list of
17065         fallback tags of Windows devices.
17066
17067         * general.c (syms_of_general): Initialized Qmsprinter.
17068
17069         * gutter.c (complex_vars_of_gutters): Added Qmsprinter to the list
17070         of fallback tags of Windows devices.
17071
17072         * lisp.h: Declared Qmsprinter.
17073
17074         * objects-msw.c (font_enum_callback_2): Rewrote to build lisp list
17075         of strings.
17076         (mswindows_list_fonts): Ditto.
17077         (mswindows_enumerate_fonts): Removed dependency on XDEVICE, so
17078         that it can be used by both mswindows and msprinter devices.
17079         (initialize_font_instance): Added.
17080         (mswindows_initialize_font_instance): Use it.
17081         (msprinter_initialize_font_instance): Added.
17082
17083         * redisplay.c (redisplay_device): Added the parameter AUTOMATIC
17084         and implementation flags check.
17085         (redisplay_without_hooks): Changed the call to the above.
17086         (Fredraw_device): Ditto.
17087         (Fredisplay_device): Ditto.
17088
17089         * redisplay-msw.c (get_frame_dc): Implemented.
17090         (get_frame_compdc): Implemented.
17091         (many functions): Use the two functions above to get device
17092         contexts, ether for a window or a printer.
17093
17094 2000-01-21  Olivier Galibert  <galibert@pobox.com>
17095
17096         * symbols.c (reinit_symbols_once_early): Put Qzero/Qnull_pointer
17097         initialization here.
17098         (init_symbols_once_early): Call it.
17099         * emacs.c (main_1): Call it.
17100         * symsinit.h: Declare it.
17101
17102 2000-01-19  Olivier Galibert  <galibert@pobox.com>
17103
17104         * alloc.c: Use a lrecord_header * in the backtrace instead of a
17105         Lisp_Object.
17106         (pdump_backtrace): Ditto.
17107         (pdump_register_object): Ditto.  Cleanup use of the pointers.
17108         (pdump_get_entry): Abort if trying to register a null pointer.
17109         (pdump_dump_data): Cleanup types when relocating.
17110         (pdump_dump_staticvec): Cleanup types w.r.t the reloc table.
17111         (pdump_dump_rtables): Remove bad casts.
17112         (pdump_load): Cleanup relocation w.r.t union type.  Use a
17113         Lisp_Object instead of a EMACS_INT for the hashtable
17114         reorganization.
17115
17116 2000-01-20  Martin Buchholz  <martin@xemacs.org>
17117
17118         * emacs.c (main_1): Rearrange morass of #ifdef's for correctness.
17119
17120         * callproc.c (call_process_cleanup): Isolate WINDOWSNT code for clarity.
17121
17122         * EmacsManager.c (GeometryManager): Avoid use of CPP for clarity.
17123
17124         * *.[ch]: global-replace 's/_of_xselect/_of_select_x/g' *.[ch]
17125
17126 2000-01-17  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17127
17128         * faces.h (FACE_STRIKETHRU_P): Added.
17129
17130         * glyphs-msw.c (mswindows_widget_hfont): Implemented, to take care
17131         of font variants.
17132
17133         * redisplay-msw.c (mswindows_apply_face_effects): Deleted.
17134         (mswindows_set_dc_font): New function, aware of font variants,
17135         separated from mswindows_update_dc.
17136
17137         * objects-msw.h (struct mswindows_font_instance_data): Added
17138         definition.
17139
17140         * objects-msw.c (mswindows_finalize_font_instance): Delete all
17141         cached fonts and the data structure.
17142         (mswindows_initialize_font_instance): Added creation of font data
17143         structure.
17144         (mswindows_print_font_instance): Print at least something.
17145         (mswindows_create_font_variant): Implemented.
17146         (mswindows_get_hfont): Implemented.
17147
17148 2000-01-13  Fabrice Popineau  <Fabrice.Popineau@supelec.fr>
17149
17150         * dired-msw.c: permute "sysdir.h" with "sysfile.h" because of
17151         prototyping problem with msvc.
17152
17153         * emacs.c (main_1): added syms_of_gui_mswindows() call
17154
17155         * gui-msw.c: added "mswindows-shell-execute" lisp subr and
17156         syms_of_gui_mswindows() function
17157
17158         * symsinit.h: added the prototype for syms_of_gui_mswindows()
17159
17160 2000-01-18  Martin Buchholz <martin@xemacs.org>
17161
17162         * XEmacs 21.2.27 is released.
17163
17164 2000-01-18  Martin Buchholz  <martin@xemacs.org>
17165
17166         * glyphs-eimage.c (struct tiff_error_struct):
17167         (tiff_error_func):
17168         (tiff_warning_func):
17169         #if HAVE_VSNPRINTF ==> #ifdef HAVE_VSNPRINTF
17170
17171         * unexmips.c:
17172         * unexhp9k3.c:
17173         * unexfreebsd.c:
17174         * unexec.c: Remove vestigial Lucid C code.
17175         * unexalpha.c:
17176         * unexaix.c:
17177         * termcap.c:
17178         * libsst.c: Ansify.
17179         Remove declarations of errno and strerror().
17180
17181         * eval.c (Fbacktrace): Small Purify-cation.  Fix docstring.
17182
17183         * .dbxrc (run-temacs): Use the horrible ${1+"$@"} instead of "$@".
17184
17185 2000-01-16  Martin Buchholz  <martin@xemacs.org>
17186
17187         * mule-charset.c (Fchar_octet): Resurrect from earlier in 1999.
17188         Optimize.
17189
17190 2000-01-14  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
17191
17192         * md5.c:
17193         * file-coding.c:
17194         * file-coding.h:
17195         Change enum eol_type to eol_type_t.
17196
17197 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
17198
17199         * gui.c (get_gui_callback): Check cons before accessing car.
17200
17201 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
17202
17203         * specifier.h (XSPECIFIER_TYPE): Add error checking version.
17204         (XSETSPECIFIER_TYPE): Ditto.
17205
17206 2000-01-17  Didier Verna  <didier@xemacs.org>
17207
17208         * redisplay.c (generate_fstring_runes): compute string size in
17209         characters, not bytes.
17210
17211 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
17212
17213         * window.c (Fwindow_minibuffer_p): Make WINDOW optional.
17214
17215 2000-01-14  Hrvoje Niksic  <hniksic@iskon.hr>
17216
17217         * print.c (print_error_message): Call print_prepare().
17218
17219 2000-01-14  Martin Buchholz  <martin@xemacs.org>
17220
17221         * .dbxrc: Renamed from dbxrc.
17222
17223         * events.c (event_to_character):
17224         Use `assert (foo)' instead of `if (!foo) abort()'
17225
17226         * .gdbinit (xtype): Add documentation.
17227         * .gdbinit (check-temacs): New function.
17228         * .gdbinit (check-xemacs): New function.
17229         * dbxrc (check-xemacs): New function.
17230         * dbxrc (check-xemacs): New function.
17231
17232 2000-01-14  Andy Piper  <andy@xemacs.org>
17233
17234         * glyphs-widget.c (widget_query_geometry): Make sure that we
17235         calculate default dimensions correctly.
17236
17237 2000-01-13  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17238
17239         * symsinit.h: Added prototype for reinit_vars_of_frame_mswindows.
17240
17241         * event-msw.c (vars_of_event_mswindows): Fixed a mistyped
17242         pdump_wire'd variable.
17243
17244         * emacs.c: (main_1): Conditionalized calls to
17245         reinit_vars_of_scrollbar_x and reinit_vars_of_module.
17246
17247 2000-01-13  Martin Buchholz  <martin@xemacs.org>
17248
17249         * window.c (Fset_window_configuration):
17250         * sysdep.c (_start):
17251         * input-method-motif.c (res):
17252         * event-Xt.c (Xt_process_to_emacs_event):
17253         Simple compiler warning fixes.
17254
17255         * bytecode.c (funcall_compiled_function): Use the original
17256         function symbol on the backtrace list in preference to the
17257         compiled_function object in error messages.
17258
17259 2000-01-13  Andy Piper  <andy@xemacs.org>
17260
17261         * glyphs-x.c (update_widget_face): Make sure we update the widget
17262         background as well as foreground.
17263
17264 2000-01-13  Andy Piper  <andy@xemacs.org>
17265
17266         * glyphs.h (struct Lisp_Image_Instance): Move justify and orient
17267         fields to subwindow.
17268         (IMAGE_INSTANCE_SUBWINDOW_JUSTIFY): new macro.
17269         (XIMAGE_INSTANCE_SUBWINDOW_JUSTIFY): ditto.
17270         (IMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
17271         (XIMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
17272
17273         * glyphs-widget.c (check_valid_tab_orientation): new function.
17274         (initialize_widget_image_instance): zero orientation and
17275         justification.
17276         (widget_instantiate): pick up orientation.
17277         (tab_control_query_geometry): return appropriate values for
17278         vertical tabs.
17279
17280         * glyphs-msw.c: (mswindows_tab_control_instantiate): assign
17281         appropriate creation flags for left, right and bottom tabs.
17282
17283         * s/cygwin32.h: add tab definitions.
17284
17285 2000-01-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17286
17287         * glyphs-msw.c (mswindows_unmap_subwindow): Set focus back to the
17288         frame upon hiding a subwindow.
17289         (mswindows_button_instantiate): Changed the push button style to
17290         BS_PUSHBUTTON.
17291         (mswindows_button_instantiate): Removed button BS_NOTIFY
17292         style.
17293         (mswindows_button_instantiate): Removed redundant check for
17294         a disabled gui item.
17295         (mswindows_button_instantiate): Made use of WS_TABSTOP
17296         consistent: "operable" controls (edit, button, tree, scroll) have
17297         this style, "display-only" ones (static, progress gauge) do
17298         not. This style is currently ignored by XEmacs though. Also,
17299         removed the WS_EX_CONTROLPARENT style - it is not for children,
17300         it is for their parents!
17301         (mswindows_edit_field_instantiate): Ditto.
17302         (mswindows_progress_gauge_instantiate): Ditto.
17303         (mswindows_tree_view_instantiate): Ditto.
17304         (mswindows_tab_control_instantiate): Ditto.
17305         (mswindows_scrollbar_instantiate): Ditto.
17306         (mswindows_combo_box_instantiate): Ditto.
17307         (mswindows_widget_instantiate): Added the WS_EX_CONTROLPARENT
17308         style to the "clip" window.
17309         (mswindows_button_instantiate): Removed compilation warning by
17310         equally typing terms of the ?: operator.
17311
17312 2000-01-12  Didier Verna  <didier@xemacs.org>
17313
17314         * redisplay.c (generate_fstring_runes): new parameter holding the
17315         last modeline-format extent.
17316         (add_glyph_to_fstring_db_runes): new parameter holding the glyph
17317         extent, fill the glyph block with it.
17318         (generate_fstring_runes): handle these parameters.
17319         (generate_formatted_string_db): ditto.
17320
17321         * keymap.c (get_relevant_keymaps): retreive the keymaps from the
17322         glyphs'extents in the modeline.
17323
17324 1999-01-11  Mike Woolley  <mike@bulsara.com>
17325
17326         * ntheap.c: Reduced the reserved heap space from 1Gb down to
17327         256Mb, as a workaround for the non-starting problem many people
17328         have experienced.
17329
17330 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
17331
17332         * console-tty.c (Fset_console_tty_output_coding_system):
17333         Force redrawing tty frame.
17334
17335 2000-01-10  Didier Verna  <didier@xemacs.org>
17336
17337         * redisplay.c (generate_fstring_runes): fix size computation bug.
17338
17339 2000-01-09  William M. Perry <wmperry@aventail.com>
17340
17341         * gpmevent.c: (gpm_next_event_cb): Don't return value from void function.
17342
17343 2000-01-09  Andy Piper  <andy@xemacs.org>
17344
17345         * glyphs-msw.c: index -> i to avoid shadows.
17346         (xbm_create_bitmap_from_data): make static.
17347         (check_valid_string_or_int): deleted.
17348         (mswindows_control_wnd_proc): message -> msg to avoid shadows.
17349
17350         * glyphs-x.c (x_update_subwindow): remove unused args.
17351
17352         * glyphs.c (glyph_image_instance): return the thing. Don't set the
17353         back pointer - this is done in allocate_image_instance.
17354         (query_string_font): return Qnil to make the compiler happy.
17355         (unmap_subwindow): set to ~0 to make the compiler happy.
17356         (glyph_query_geometry): comment out until used.
17357         (glyph_layout): ditto.
17358
17359 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
17360
17361         * insdel.c (signal_after_change): Remove extraneous unbind_to().