update.
[chise/xemacs-chise.git.1] / src / ChangeLog
1 2005-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2
3         * chartab.c (Q_canonical): New variable.
4         (put_char_composition): Return a feature name: return
5         `->canonical' if argument `value' specifies single character.
6         (Fput_char_attribute): Use `put_char_composition' to determine
7         feature name for `=decomposition' or `->denotational'.
8         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
9         for `->canonical'.
10         (syms_of_chartab): Add new symbol `->canonical'.
11
12 2005-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
13
14         * chartab.c (Qmap_decomposition): New variable.
15         (Fput_char_attribute): Convert `->decomposition' to
16         `=decomposition'.
17         (syms_of_chartab): Add new symbol `=decomposition'.
18
19 2005-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
20
21         * chartab.c (Fget_range_char_table): Fix serious problem when
22         `range' is nil.
23
24 2005-06-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
25
26         * chartab.c (char_table_get_db): Use `read_from_c_string'.
27
28 2005-06-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
29
30         * lread.c (read_from_c_string): New function.
31
32         * lisp.h (read_from_c_string): New prototype.
33
34 2005-05-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
35
36         * chartab.c (Fput_char_attribute): Convert char-specs in value of
37         `{<-|->}Oracle-Bones[^*]*' to characters and put reverse links.
38         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
39         for `{<-|->}Oracle-Bones[^*]*'.
40
41 2005-05-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
42
43         * mule.c (vars_of_mule): Update `xemacs-chise-version' to 0.22
44         (Kizu).
45
46 2005-02-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
47
48         * text-coding.c (Qccs_priority_list): New variable in XEmacs
49         CHISE.
50         (Fmake_coding_system): Support new property `ccs-priority-list' in
51         XEmacs CHISE.
52         (Fcoding_system_property): Likewise.
53         (char_encode_iso2022): Prefer CODING_SYSTEM_CCS_PRIORITY_LIST than
54         Vdefault_coded_charset_priority_list in XEmacs CHISE.
55         (syms_of_file_coding): Add builtin symbol `ccs-priority-list' in
56         XEmacs CHISE.
57         (complex_vars_of_file_coding): Define new coding-system-property
58         `ccs-priority-list' in XEmacs CHISE.
59
60         * file-coding.h (XCODING_SYSTEM_CCS_PRIORITY_LIST): New macro.
61
62 2004-12-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
63
64         * char-ucs.h (decoding_table_put_char): Moved to mule-charset.c;
65         changed to normal function.
66         (encode_char_2): Likewise.
67
68         * mule-charset.c (decoding_table_put_char): Copied from
69         char-ucs.h; changed to normal function.
70         (encode_char_2): Likewise.
71
72 2004-12-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
73
74         * char-ucs.h (Vdisplay_coded_charset_priority_use_inheritance):
75         New extern.
76         (Vdisplay_coded_charset_priority_use_hierarchy_order): Likewise.
77         (encode_char_2_search_children): New inline function.
78         (encode_char_2): Refer
79         `Vdisplay_coded_charset_priority_use_{inheritance|hierarchy_order}'
80         and use `encode_char_2_search_children'.
81
82 2004-12-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
83
84         * mule-charset.c
85         (Vdisplay_coded_charset_priority_use_inheritance): New variable.
86         (Vdisplay_coded_charset_priority_use_hierarchy_order): Likewise.
87         (vars_of_mule_charset): Add new variable
88         `display-coded-charset-priority-use-inheritance' and
89         `display-coded-charset-priority-use-hierarchy-order'.
90
91 2004-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
92
93         * char-ucs.h (Q_subsumptive): New extern.
94         (Q_denotational): Likewise.
95         (encode_char_2): Search children specified by `->subsumptive' and
96         `->denotational'.
97
98 2004-11-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
99
100         * mule-charset.c (complex_vars_of_mule_charset): Modify the
101         X-registry of `ucs-bmp'.
102
103 2004-10-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
104
105         * chartab.c (char-variants): Refer `->subsumptive',
106         `->denotational' and `->identical' as same as `->ucs-unified'.
107
108 2004-10-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
109
110         * chartab.c (Fput_char_attribute): Convert char-specs in value of
111         `{<-|->}{fullwidth|halfwidth}[^*]*' to characters and put reverse
112         links.
113
114 2004-09-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
115
116         * text-coding.c: Add EXFUN for `Fregexp_quote'.
117         (decode_add_er_char): Fix problem about infinite loop when a CCS
118         specified in `coded-charset-entity-reference-alist' is not
119         existed.
120
121 2004-09-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
122
123         * mule-charset.c (syms_of_mule_charset): Rename
124         `=jis-x0208-{1978|1983|1990}' to `=jis-x0208@{1978|1983|1990}'.
125
126 2004-08-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
127
128         * fns.c (simplify_char_spec): Don't allocate new character-object
129         if specified char_spec does not have any CCS-features.
130
131         * chartab.h: Add EXFUN for Fdefine_char.
132
133         * chartab.c: Delete EXFUN for Fdefine_char.
134
135 2004-08-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
136
137         * fns.c (simplify_char_spec): Use Fdefine_char instead of
138         Ffind_char for char-spec.
139
140 2004-07-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
141
142         * lisp-disunion.h (XCHARVAL): Fix condition about
143         SIZEOF_EMACS_INT.
144
145 2004-07-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
146
147         * mule-charset.c (decode_builtin_char): Use <EMACS_INT> instead of
148         <int> for `code'.
149         (Fdecode_builtin_char): Use <EMACS_INT> instead of <int> for code
150         point; use <Emchar> instead of <int> for character-id.
151
152 2004-07-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
153
154         * lisp-disunion.h (make_int): Cast the argument into <EMACS_INT>.
155         (make_char): Likewise.
156         (XCHARVAL): Don't use the inline function for UTF-2000 in 64 bit
157         environment.
158         (XCHARVAL[for UTF-2000 in 32 bit environment]): Use <Emchar>
159         instead of <int> as the type of return value; use <Lisp_Object>
160         instead of <Emchar> as the type of argument.
161         (XCHARVAL[macro version]): Cast the result into <Emchar>.
162
163         * syntax.h (SYNTAX_CODE_UNSAFE): Use <Lisp_Object> and <enum
164         syntaxcode> instead of <int>.
165
166 2004-07-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
167
168         * chartab.c (put_char_composition): Use DECODE_CHAR to get
169         character corresponding with UCS code point.
170         (Fput_char_attribute): Likewise.
171
172         * mule-charset.c (put_char_ccs_code_point): Don't omit a UCS
173         character in the UCS decoding-table if the char-id is not equal to
174         the UCS code point.
175
176 2004-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
177
178         * mule-charset.c (Fsave_charset_properties): Use `true-name' only
179         for aliases; write `description'; write
180         `mother-code-{min|max|offset|conversion}' if CHARSET_MAX_CODE is
181         not 0.
182
183 2004-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
184
185         * chartab.c (Fsave_char_attribute_table): Don't use
186         `save_charset_properties'.
187
188         * mule-charset.c (Fsave_charset_properties): Renamed from
189         `save_charset_properties' and changed to Lisp function again;
190         write property `type' as `CCS'; write properties `final-byte' and
191         `mother' if they exists.
192         (syms_of_mule_charset): Revive builtin function
193         `save-charset-properties' when HAVE_LIBCHISE is defined.
194
195 2004-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
196
197         * chartab.c (open_chise_data_source_maybe): Use Vdata_directory
198         instead of Vexec_directory.
199         (char_attribute_system_db_file): Likewise.
200
201 2004-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
202
203         * chartab.c (Fsave_char_attribute_table): Use
204         `save_charset_properties' for CCS features when HAVE_LIBCHISE is
205         defined.
206
207         * mule-charset.c (save_charset_properties): Renamed from
208         `Fsave_charset_properties'; changed to non-Lisp function.
209         (syms_of_mule_charset): Abolish builtin function
210         `save-charset-properties'.
211
212 2004-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
213
214         * mule-charset.c (Fsave_charset_properties): New function when
215         HAVE_LIBCHISE is defined.
216         (syms_of_mule_charset): Add new builtin function
217         `save-charset-properties' when HAVE_LIBCHISE is defined.
218
219 2004-06-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
220
221         * chartab.c (Fput_char_attribute): Convert char-specs in value of
222         `{<-|->}ancient[^*]*' to characters and put reverse links.
223         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
224         for `{<-|->}ancient[^*]*'.
225
226 2004-06-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
227
228         * chartab.c (Fput_char_attribute): Convert char-specs in value of
229         `{<-|->}original[^*]*' to characters and put reverse links.
230         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
231         for `{<-|->}original[^*]*'.
232
233 2004-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
234
235         * mule-canna.c (m2c): Fix problem with XEmacs CHISE.
236
237 2004-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
238
239         * mule-charset.c (Qsystem_char_id): New variable.
240
241         * chartab.c (Qsystem_char_id): Deleted even if HAVE_CHISE is
242         defined and HAVE_LIBCHISE_LIBCHISE is not defined.
243
244 2004-05-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
245
246         * chartab.c (Fput_char_attribute): When processing a reference of
247         a character, put into the end of the reversed reference of each
248         target character.
249
250 2004-05-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
251
252         * chartab.c (Q_same): Deleted.
253         (Q_same_of): Deleted.
254         (Fput_char_attribute): Use Fstring_match to find `{<-|->}same'.
255         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
256         for `{<-|->}same'.
257         (syms_of_chartab): Delete builtin symbol `{<-|->}same'.
258
259 2004-05-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
260
261         * chartab.c (Q_vulgar): Deleted.
262         (Q_vulgar_of): Deleted.
263         (Fput_char_attribute): Use Fstring_match to find `{<-|->}vulgar'.
264         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
265         for `{<-|->}vulgar'.
266         (syms_of_chartab): Don't define `{<-|->}vulgar'.
267
268 2004-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
269
270         * chartab.c (Fput_char_attribute): Convert char-specs in value of
271         `{<-|->}wrong[^*]*' to characters and put reverse links.
272         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
273         for `{<-|->}wrong[^*]*'.
274
275 2004-04-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
276
277         * chartab.c (Q_vulgar): New variable.
278         (Q_vulgar_of): New variable.
279         (Fput_char_attribute): Convert char-specs in value of
280         `{->|<-}vulgar' to characters and put reverse links.
281         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
282         for `{->|<-}vulgar'.
283         (syms_of_chartab): Add new symbols `{->|<-}vulgar'.
284
285 2004-04-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
286
287         * text-coding.c (decode_add_er_char): Must to quote prefix string
288         as regexp.
289
290 2004-04-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
291
292         * mule-charset.c (put_char_ccs_code_point): Store characters of
293         =ucs whose code_points >= 0xF0000.
294
295 2004-04-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
296
297         * mule-charset.c (Vcharset_system_char_id): New variable in XEmacs
298         CHISE.
299         (syms_of_mule_charset): Add new symbol `system-char-id' in XEmacs
300         CHISE.
301         (complex_vars_of_mule_charset): Add new coded-charset
302         `system-char-id' in XEmacs CHISE; modify `=ucs' to eliminate
303         builtin characters over 0xEFFFF.
304
305         * chartab.c (syms_of_chartab): Don't define symbol
306         `system-char-id' in every case.
307
308         * char-ucs.h (Qsystem_char_id): New extern variable.
309         (LEADING_BYTE_SYSTEM_CHAR_ID): New macro.
310
311 2004-04-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
312
313         * text-coding.c (char_encode_utf8): Try to use entity-references
314         for U-000F0000 ...  U-0010FFFF.
315
316 2004-04-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
317
318         * text-coding.c (ER_BUF_SIZE): New macro.
319         (struct decoding_stream): Use `ER_BUF_SIZE' to specify size of
320         `er_buf'.
321         (decode_add_er_char): Use `ER_BUF_SIZE' instead of 16.
322         (char_encode_as_entity_reference): Use `ER_BUF_SIZE'.
323
324 2004-03-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
325
326         * chartab.c (find_char_feature_in_family): New function.
327         (Fchar_feature): Use `find_char_feature_in_family' with
328         `->identical', `<-subsumptive' and `<-denotational'.
329
330 2004-03-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
331
332         * text-coding.c (char_encode_as_entity_reference): Allow prefix
333         within 8 characters; fix infinite loop.
334
335 2004-03-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
336
337         * chartab.c (Q_same): New variable.
338         (Q_same_of): New variable.
339         (Fput_char_attribute): Convert char-specs in value of
340         `{->|<-}same' to characters and put reverse links.
341         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
342         for `{->|<-}same'.
343         (syms_of_chartab): Add new symbols `{->|<-}same'.
344
345 2004-03-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
346
347         * chartab.c (Q_component): New variable.
348         (Q_component_of): Likewise.
349         (Fput_char_attribute): Convert char-specs in value of
350         `{->|<-}ideographic-component-forms' to characters and put reverse
351         links.
352         (syms_of_chartab): Add new symbols
353         `{->|<-}ideographic-component-forms'.
354
355 2004-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
356
357         * chartab.c (Q_identical): New variable.
358         (Q_identical_from): New variable.
359         (Fchar_feature): Regard `->identical' as a feature to find
360         ancestors.
361         (Fput_char_attribute): Add reversed link for `{->|<-}identical'.
362         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
363         for `{->|<-}identical'.
364         (syms_of_chartab): Add new symbols `{->|<-}identical'.
365
366 2004-02-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
367
368         * char-ucs.h (encode_char_2): New inline function.
369         (CHAR_TO_CHARC): Use `encode_char_2' instead of `encode_char_1'.
370
371 2004-02-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
372
373         * chartab.c (Fput_char_attribute): Convert char-specs to
374         characters in value of `ideographic-structure'.
375         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
376         for `{<-|->}simplified(@...)'.
377         (Fdefine_char): Try to use predefined character's id.
378
379 2004-02-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
380
381         * fns.c (simplify_char_spec): Try to convert builtin chars to
382         defined chars.
383
384 2004-02-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
385
386         * chartab.c (Fput_char_attribute): Convert char-specs in value of
387         `<-simplified[^*]*' to characters and put reverse links.
388
389 2004-02-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
390
391         * chartab.c (Q_subsumptive): Renamed from Q_unified.
392         (Q_subsumptive_from): Renamed from Q_unified_from.
393         (Fchar_feature): Use `Q_subsumptive_from' instead of
394         `Q_unified_from'.
395         (Fput_char_attribute): Likewise; Use `Q_subsumptive' instead of
396         `Q_unified'.
397         (syms_of_chartab): Rename `->unified' to `->subsumptive' and
398         `<-unified' to `<-subsumptive'.
399
400 2004-02-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
401
402         * chartab.c (Fchar_feature): Check `<-denotational' to avoid
403         inheritance itself; fix typo; stop recursive search if cyclic
404         inheritance is found.
405
406 2004-02-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
407
408         * chartab.c (Q_denotational): New variable.
409         (Q_denotational_from): New variable.
410         (Fchar_feature): Refer `<-denotational' as same as `<-unified'.
411         (put_char_attribute): New function.
412         (Fput_char_attribute): Use `put_char_attribute'; regard
413         `->denotational' and `<-denotational' as same as `->unified' and
414         `<-unified'.
415         (syms_of_chartab): Add new symbols `->denotational' and
416         `<-denotational'.
417
418 2004-02-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
419
420         * chartab.c (Fget_composite_char): Use `Fchar_feature' instead of
421         `Fget_char_attribute'.
422         (Fchar_variants): Likewise.
423         (get_char_table): Likewise.
424         (Fchar_feature): New function.
425         (put_char_composition): Use `Fchar_feature' instead of
426         `Fget_char_attribute'.
427         (Fput_char_attribute): Likewise; don't put the target character
428         into its `->unified' value.
429         (syms_of_chartab): Add new builtin function `char-feature'.
430
431 2004-01-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
432
433         * text-coding.c (COMPOSE_ADD_CHAR): Use `Fchar_feature' instead of
434         `Fget_char_attribute'.
435         (char_encode_utf8): Likewise.
436
437         * chartab.h: Add an EXFUN for `Fchar_feature'.
438
439 2004-01-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
440
441         * chartab.c (Vnext_defined_char_id): New variable.
442         (Fput_char_attribute): Accept characters in `->unified'.
443         (Fdefine_char): Refer and update Vnext_defined_char_id to allocate
444         new characters which are not related with builtin char-id ranges.
445         (vars_of_chartab): Add new variable `next-defined-char-id'.
446
447 2004-01-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
448
449         * chartab.c (Q_unified): New variable.
450         (Q_unified_from): New variable.
451         (Fput_char_attribute): Add code for `->unified'.
452         (syms_of_chartab): Add new symbols `->unified' and `<-unified' in
453         XEmacs CHISE.
454
455 2003-11-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
456
457         * mule-charset.c (decode_ccs_conversion): New function.
458         (decode_defined_char): Use `decode_ccs_conversion'.
459         (decode_builtin_char): Likewise.
460
461 2003-11-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
462
463         * char-ucs.h: Change some charset-ids of private coded-charsets.
464
465 2003-11-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
466
467         * text-coding.c (decode_add_er_char): Modify for `DECODE_CHAR'.
468         (char_encode_as_entity_reference): Likewise.
469         (decode_coding_big5): Modify for `decode_defined_char' and
470         `DECODE_CHAR'.
471         (decode_coding_utf8): Modify for `decode_defined_char'; modify to
472         avoid compiler warning.
473         (decode_coding_iso2022): Modify for `DECODE_CHAR'.
474
475         * mule-charset.c (decode_defined_char): Add new argument
476         `without_inheritance'.
477         (Fdecode_char): Add new optional argument `without_inheritance'.
478         (Fdecode_builtin_char): Modify for `Fdecode_char'.
479
480         * fns.c (ids_format_unit): Modify for `Fdecode_char'.
481         (simplify_char_spec): Likewise.
482
483         * chartab.h (Fdecode_char): Modify number of arguments of EXFUN
484         setting.
485
486         * chartab.c (put_char_table): Modify for `DECODE_CHAR'.
487         (map_char_table): Likewise.
488         (Fdefine_char): Use `Fdecode_char' without inheritance.
489         (Ffind_char): Modify for `Fdecode_char'.
490
491         * character.h (CHARC_TO_CHAR): Modify for `DECODE_CHAR'.
492
493         * char-ucs.h (decode_defined_char): Add new argument
494         `without_inheritance'.
495         (DECODE_CHAR): Likewise.
496         (MAKE_CHAR): Modify for `DECODE_CHAR'.
497
498 2003-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
499
500         * chartab.c (Vchise_system_db_directory): New variable.
501         (vars_of_chartab): Add new variable `chise-system-db-directory'.
502
503 2003-10-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
504
505         * chartab.c: EXFUN `Fmount_char_attribute_table'.
506         (print_chartab_range): Don't define when `UTF2000' is defined.
507         (open_chise_data_source_maybe): Specify 0 instead of DB_HASH for
508         `CHISE_DS_open'.
509
510 2003-10-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
511
512         * chartab.c (Fchar_attribute_list): When HAVE_LIBCHISE is defined
513         and optional argument `rehash' is specified, call
514         `open_chise_data_source_maybe' before
515         `chise_ds_foreach_char_feature_name' is called.
516
517 2003-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
518
519         * chartab.c (char_attribute_list_reset_map_func): New function
520         when HAVE_LIBCHISE is defined.
521         (Fchar_attribute_list): Add new optional argument `rehash' when
522         HAVE_LIBCHISE is defined.
523         (open_chise_data_source_maybe): Use "chise-db" instead of
524         "char-db".
525         (char_attribute_system_db_file): Likewise.
526         (Fload_char_attribute_table): Use
527         `chise_feature_foreach_char_with_value' instead of
528         `chise_char_feature_value_iterate'.
529
530 2003-10-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
531
532         * chartab.c (Vchise_db_directory): New variable.
533         (vars_of_chartab): Add new built-in variable `chise-db-directory'.
534
535 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
536
537         * mule-charset.c (Freset_charset_mapping_table): Use HAVE_LIBCHISE
538         instead of HAVE_CHISE to specify using with libchise.
539
540         * config.h.in (HAVE_CHISE_CLIENT): Deleted.
541
542         * chartab.h: Don't use HAVE_CHISE_CLIENT.
543
544         * chartab.c (Qsystem_char_id): Don't define when HAVE_CHISE is not
545         defined or HAVE_LIBCHISE_LIBCHISE is defined.
546         (char_attribute_system_db_file): Don't define when HAVE_LIBCHISE
547         is defined.
548         (Freset_char_attribute_table): Use HAVE_LIBCHISE instead of
549         HAVE_CHISE to specify using with libchise.
550         (syms_of_chartab): Don't define symbol `system-char-id' when
551         HAVE_CHISE is not defined or HAVE_LIBCHISE_LIBCHISE is defined.
552
553 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
554
555         * mule-charset.c: Use HAVE_CHISE instead of HAVE_CHISE_CLIENT to
556         specify CHISE DB support.
557         (Freset_charset_mapping_table): Use `chise_ccs_setup_db' instead
558         of `char_attribute_system_db_file' to check feature DB file.
559
560         * chartab.h, casetab.c, char-ucs.h: Use HAVE_CHISE instead of
561         HAVE_CHISE_CLIENT to specify CHISE DB support.
562
563         * chartab.c: Use HAVE_CHISE instead of HAVE_CHISE_CLIENT to
564         specify CHISE DB support.
565         (open_chise_data_source_maybe): Don't define when HAVE_LIBCHISE is
566         not defined.
567         (Freset_char_attribute_table): Use `chise_feature_setup_db'
568         instead of `char_attribute_system_db_file' to check feature DB
569         file.
570
571 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
572
573         * mule.c (vars_of_mule): Use `HAVE_CHISE' instead of `CHISE' and
574         `HAVE_CHISE_CLIENT'.
575
576 2003-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
577
578         * mule-charset.c: Use HAVE_LIBCHISE instead of CHISE.
579         (Fsave_charset_mapping_table): Don't use
580         `char_attribute_system_db_file' when HAVE_LIBCHISE is defined.
581
582         * config.h.in (HAVE_CHISE): Renamed from `CHISE'.
583         (HAVE_LIBCHISE): New macro.
584
585         * chartab.h: Use HAVE_LIBCHISE instead of CHISE.
586
587         * chartab.c: Use HAVE_LIBCHISE instead of CHISE.
588         (Fsave_char_attribute_table): Don't use
589         `char_attribute_system_db_file' when HAVE_LIBCHISE is defined.
590
591 2003-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
592
593         * chartab.c (save_uint8_byte_table): Use libchise when CHISE is
594         defined.
595         (save_uint16_byte_table): Likewise.
596         (save_byte_table): Likewise.
597         (char_table_get_db): Use `chise_ds_load_char_feature_value'
598         instead of `chise_char_load_feature_value'.
599         (Fsave_char_attribute_table): Use libchise when CHISE is defined.
600
601 2003-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
602
603         * chartab.h (struct Lisp_Char_Table): Delete member
604         `feature_table' if CHISE is defined.
605
606         * chartab.c (Fmake_char_table): Don't refer `ct->feature_table'.
607         (Fcopy_char_table): Likewise.
608         (char_table_open_db_maybe): Likewise.
609         (char_table_close_db_maybe): Likewise.
610         (char_table_get_db): Likewise.
611         (Fmount_char_attribute_table): Likewise.
612         (Fload_char_attribute_table): Likewise.
613
614 2003-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
615
616         * mule-charset.c (load_char_decoding_entry_maybe): Use
617         `chise_ds_decode_char' instead of `chise_ds_get_ccs' and
618         `chise_ccs_decode'.
619
620 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
621
622         * chartab.c (open_chise_data_source_maybe): Use `CHISE_DS_open'
623         instead of `chise_open_data_source'.
624         (Fclose_char_data_source): Use `CHISE_DS_close' instead of
625         `chise_ds_close'.
626
627 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
628
629         * chartab.c (char_table_open_db_maybe): Use `chise_ds_get_feature'
630         instead of `chise_ds_open_feature_table'.
631         (char_table_close_db_maybe): Don't use `chise_ft_close'.
632
633 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
634
635         * mule-charset.c (Fsave_charset_mapping_table): Use
636         `chise_ds_get_ccs' instead of `chise_ds_open_ccs_table'; use
637         `chise_ccs_set_decoded_char' instead of `chise_ccst_put_char'; use
638         `chise_ccs_sync' instead of `chise_ccst_close'.
639         (load_char_decoding_entry_maybe): Modify for `chise_ds_get_ccs'.
640
641         * chartab.c (open_chise_data_source_maybe): Modify for
642         `chise_open_data_source'.
643         (char_table_open_db_maybe): Modify for
644         `chise_ds_open_feature_table'.
645
646 2003-08-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
647
648         * mule-charset.c (load_char_decoding_entry_maybe): Use
649         `chise_ds_get_ccs' instead of `chise_ds_open_ccs_table'; don't use
650         `chise_ccst_close'.
651
652 2003-08-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
653
654         * mule-charset.c (Fsave_charset_mapping_table): Use
655         `chise_ds_open_ccs_table', `chise_ccst_put_char' and
656         `chise_ccst_close' instead of `chise_ds_open_decoding_table',
657         `chise_dt_put_char' and `chise_dt_close'.
658         (load_char_decoding_entry_maybe): Use `chise_ds_open_ccs_table',
659         `chise_ccs_decode' and `chise_ccst_close' instead of
660         `chise_ds_open_decoding_table', `chise_dt_get_char' and
661         `chise_dt_close'.
662
663         * chartab.c (char_table_get_db): Use
664         `chise_char_load_feature_value' instead of `chise_ft_get_value'.
665         (load_char_attribute_table_map_func): Modify for
666         `chise_char_feature_value_iterate'.
667         (Fload_char_attribute_table): Use
668         `chise_char_feature_value_iterate' instead of `chise_ft_iterate'.
669
670 2003-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
671
672         * text-coding.c (COMPOSE_ADD_CHAR): Fixed.
673
674 2003-08-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
675
676         * chartab.c (put_char_table): Modify for inherited coded-charsets
677         in XEmacs CHISE.
678
679 2003-08-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
680
681         * chartab.c (Fput_char_table_map_function): Fixed.
682         (word_boundary_p): Don't check charset in XEmacs CHISE.
683
684 2003-08-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
685
686         * mule-charset.c (Fsave_charset_mapping_table): Use
687         `open_chise_data_source_maybe'; use `chise_ds_open_decoding_table'
688         instead of `chise_open_decoding_table'; refer
689         `default_chise_data_source'; use `chise_dt_close' instead of
690         `chise_close_decoding_table'.
691         (load_char_decoding_entry_maybe): Likewise.
692
693         * chartab.c (default_chise_data_source): New variable when `CHISE'
694         is defined.
695         (Fcopy_char_table): `ct->ds' is deleted.
696         (open_chise_data_source_maybe): New function.
697         (Fclose_char_data_source): New function.
698         (char_table_open_db_maybe): Use `open_chise_data_source_maybe';
699         use `chise_ds_open_feature_table' instead of
700         `chise_open_feature_table'.
701         (char_table_close_db_maybe): Use `chise_ft_close' instead of
702         `chise_close_feature_table'; `cit->ds' is deleted.
703         (syms_of_chartab): Add new builtin function
704         `close-char-data-source' when `HAVE_CHISE_CLIENT' is defined.
705
706         * chartab.h (default_chise_data_source): New extern variable.
707         (open_chise_data_source_maybe): New prototype.
708         (struct Lisp_Char_Table): Delete `ds'.
709
710 2003-08-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
711
712         * mule-charset.c (Fsave_charset_mapping_table): Use libchise when
713         `CHISE' is defined.
714
715 2003-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
716
717         * chartab.c (char_table_open_db_maybe): Defined even if `CHISE' is
718         not defined; add code for non-libchise setting.
719         (char_table_close_db_maybe): Likewise.
720         (char_table_get_db): New function when `HAVE_CHISE_CLIENT' is
721         defined.
722         (Fclose_char_attribute_table): Use `char_table_close_db_maybe'
723         even if `CHISE' is not defined.
724         (Freset_char_attribute_table): Likewise.
725         (load_char_attribute_maybe): Use `char_table_open_db_maybe' and
726         `char_table_close_db_maybe' even if `CHISE' is not defined; use
727         `char_table_get_db'.
728         (Fload_char_attribute_table): Use `char_table_open_db_maybe' and
729         `char_table_close_db_maybe' even if `CHISE' is not defined.
730
731 2003-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
732
733         * chartab.c (char_table_open_db_maybe): New function.
734         (char_table_close_db_maybe): New function.
735         (Fclose_char_attribute_table): Use `char_table_close_db_maybe'.
736         (Freset_char_attribute_table): Likewise.
737         (load_char_attribute_maybe): Use `char_table_open_db_maybe' and
738         `char_table_close_db_maybe'.
739         (Fload_char_attribute_table): Likewise.
740
741 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
742
743         * chartab.c: Don't include <chise.h> because it is included in
744         chartab.h.
745         (Fmake_char_table): Initialize `ct->feature_table' when `CHISE' is
746         defined.
747         (Fcopy_char_table): Copy `ct->ds' and `ct->feature_table' when
748         `CHISE' is defined.
749         (Fmount_char_attribute_table): Initialize `ct->feature_table' when
750         `CHISE' is defined.
751         (Fclose_char_attribute_table): Close `ct->feature_table' and
752         `ct->ds' when `CHISE' is defined.
753         (Freset_char_attribute_table): Likewise.
754         (load_char_attribute_maybe): Use `cit->ds' and
755         `cit->feature_table' when `CHISE' is defined.
756         (Fload_char_attribute_table): Likewise.
757
758         * chartab.h: Include <chise.h> when `CHISE' is defined.
759         (struct Lisp_Char_Table): Add new member `ds' and `feature_table'
760         when `CHISE' is defined.
761
762 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
763
764         * chartab.c (mark_char_table): Member `db' is deleted when `CHISE'
765         is defined.
766         (char_table_description): Likewise.
767         (Fmake_char_table): Likewise.
768         (Fcopy_char_table): Likewise.
769         (Fmount_char_attribute_table): Likewise.
770         (Fclose_char_attribute_table): Likewise.
771         (Freset_char_attribute_table): Likewise.
772         (load_char_attribute_maybe): Likewise.
773         (Fload_char_attribute_table): Likewise.
774
775         * chartab.h (struct Lisp_Char_Table): Delete `db' when `CHISE' is
776         defined.
777
778 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
779
780         * chartab.c (load_char_attribute_table_map_func): New function
781         when CHISE is defined.
782         (Qload_char_attribute_table_map_function): Don't define when CHISE
783         is defined.
784         (Fload_char_attribute_table_map_function): Likewise.
785         (Fload_char_attribute_table): Use libchise when `CHISE' is
786         defined.
787         (syms_of_chartab): Don't define
788         `load-char-attribute-table-map-function' when CHISE is defined.
789
790 2003-08-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
791
792         * chartab.c: Include <chise.h> when `CHISE' is defined.
793         (load_char_attribute_maybe): Use libchise when `CHISE' is defined.
794
795 2003-07-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
796
797         * mule-charset.c (charset_code_point): Fix problem when searching
798         in mother CCS fails with `defined_only' mode.
799
800 2003-06-29  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
801
802         * chartab.c (Q_ucs_unified): Renamed from `Q_ucs_variants'.
803         (Fchar_variants): Rename `Q_ucs_variants' to `Q_ucs_unified'.
804         (put_char_composition): Likewise.
805         (Fput_char_attribute): Likewise.
806         (syms_of_chartab): Rename `->ucs-variants' to `->ucs-unified'.
807
808 2003-06-29  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
809
810         * chartab.c (Q_ucs): Deleted.
811         (Fput_char_attribute): Don't refer `->ucs'.
812         (Fdefine_char): Likewise.
813         (Ffind_char): Likewise.
814         (syms_of_chartab): Delete `->ucs'.
815
816 2003-04-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
817
818         * mule-charset.c (Qmap_cns11643_2): Renamed from
819         `Qchinese_cns11643_2'.
820         (syms_of_mule_charset): Add new symbol `=cns11643-2' instead of
821         `chinese-cns11643-2'.
822         (complex_vars_of_mule_charset): Rename `chinese-cns11643-2' to
823         `=cns11643-2'.
824
825 2003-04-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
826
827         * mule-charset.c (Qmap_cns11643_1): Renamed from
828         `Qchinese_cns11643_1'.
829         (syms_of_mule_charset): Add new symbol `=cns11643-1' instead of
830         `chinese-cns11643-1'.
831         (complex_vars_of_mule_charset): Rename `chinese-cns11643-1' to
832         `=cns11643-1'.
833
834 2003-04-24  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
835
836         * mule-charset.c (Qmap_gb12345): Renamed from `Qchinese_gb12345'.
837         (syms_of_mule_charset): Add new symbol `=gb12345' instead of
838         `chinese-gb12345'.
839         (complex_vars_of_mule_charset): Rename `chinese-gb12345' to
840         `=gb12345'.
841
842 2003-04-21  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
843
844         * mule-charset.c (Qmap_gb2312): Renamed from `Qchinese_gb2312'.
845         (syms_of_mule_charset): Add new symbol `=gb2312' instead of
846         `chinese-gb2312'.
847         (complex_vars_of_mule_charset): Rename `chinese-gb2312' to
848         `=gb2312'.
849
850 2003-04-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
851
852         * mule-charset.c (Qmap_big5): Renamed from `Qchinese_big5'.
853         (syms_of_mule_charset): Add new symbol `=big5' instead of
854         `chinese-big5'.
855         (complex_vars_of_mule_charset): Rename `chinese-big5' to `=big5'.
856
857 2003-04-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
858
859         * mule-charset.c (Qmap_ks_x1001): Renamed from `Qkorean_ksc5601'.
860         (syms_of_mule_charset): Add new symbol `=ks-x1001' instead of
861         `korean-ksc5601'.
862         (complex_vars_of_mule_charset): Rename `korean-ksc5601' to
863         `=ks-x1001'.
864
865 2003-04-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
866
867         * mule-charset.c (Qmap_jis_x0212): Renamed from
868         `Qjapanese_jisx0212'.
869         (syms_of_mule_charset): Add new symbol `=jis-x0212' instead of
870         `japanese-jisx0212'.
871         (complex_vars_of_mule_charset): Rename `japanese-jisx0212' to
872         `=jis-x0212'.
873
874 2003-04-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
875
876         * mule-charset.c (Qmap_jis_x0208_1983): Renamed from
877         `Qjapanese_jisx0208'.
878         (syms_of_mule_charset): Add new symbol `=jis-x0208-1983' instead
879         of `japanese-jisx0208'.
880         (complex_vars_of_mule_charset): Rename `japanese-jisx0208' to
881         `=jis-x0208-1983'.
882
883 2003-04-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
884
885         * mule-charset.c (Qmap_jis_x0208_1978): Renamed from
886         `Qjapanese_jisx0208_1978'.
887         (syms_of_mule_charset): Add new symbol `=jis-x0208-1978' instead
888         of `japanese-jisx0208-1978'.
889         (complex_vars_of_mule_charset): Rename `japanese-jisx0208-1978' to
890         `=jis-x0208-1978'.
891
892 2003-04-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
893
894         * chartab.c (decode_char_table_range): CHARTAB_RANGE_DEFAULT is
895         only for XEmacs CHISE.
896
897 2003-04-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
898
899         * char-ucs.h: Compact non-ISO-IR charset-ids.
900         (LEADING_BYTE_UCS): Changed to -177.
901         (LEADING_BYTE_CONTROL_1): Changed to -77.
902         (LEADING_BYTE_UCS_BMP): Changed to -176.
903         (LEADING_BYTE_JAPANESE_JISX0208_1990): Changed to -168.
904
905 2003-04-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
906
907         * mule-charset.c (Qiso_ir): New variable.
908         (Fmake_charset): Recognise new property `iso-ir'.
909         (syms_of_mule_charset): Add new symbol `iso-ir'.
910
911 2003-04-02  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
912
913         * char-ucs.h: Change charset-id of ISO-IR sets from ISO-IR-number
914         n to -n; charset-id of non ISO-IR sets are changed to positive
915         numbers.
916
917 2003-03-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
918
919         * text-coding.c (decode_add_er_char): Use XUINT instead of XINT
920         for &MCS-XXXXXXXX; values.
921
922 2003-03-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
923
924         * mule.c (Vxemacs_chise_version): Renamed from
925         `Vutf_2000_version'.
926         (vars_of_mule): Add new variable `xemacs-chise-version'; define
927         `utf-2000-version' as an alias for `xemacs-chise-version'.
928
929 2003-03-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
930
931         * mule-charset.c: Include <chise.h> when `CHISE' is defined.
932         (load_char_decoding_entry_maybe): Use libchise when `CHISE' is
933         defined.
934
935         * config.h.in (CHISE): New macro.
936
937 2003-03-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
938
939         * mule-charset.c (put_char_ccs_code_point): Refer `=ucs' instead
940         of `ucs'.
941         (Qmap_ucs): New variable.
942         (syms_of_mule_charset): Add new symbol `=ucs'.
943         (complex_vars_of_mule_charset): Rename `ucs' to `=ucs'.
944
945         * fns.c (ids_format_unit): Refer `=ucs' instead of `ucs'.
946         (simplify_char_spec): Likewise.
947
948         * chartab.c (Fdefine_char): Refer `=ucs' as same as `ucs'.
949
950         * char-ucs.h (Qmap_ucs): New extern variable.
951
952 2003-03-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
953
954         * mule-charset.c (Qmap_jis_x0208): Renamed from `Qjis_x0208'.
955         (Qmap_jis_x0208_1990): Renamed from `Qjapanese_jisx0208_1990';
956         don't define it when UTF2000 is not defined.
957         (syms_of_mule_charset): Modify for `Qmap_jis_x0208'; rename
958         `japanese-jisx0208-1990' to `=jis-x0208-1990'; don't define it
959         when UTF2000 is not defined.
960         (complex_vars_of_mule_charset): Modify for `Qmap_jis_x0208';
961         rename `japanese-jisx0208-1990' to `=jis-x0208-1990'.
962
963 2003-03-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
964
965         * char-ucs.h (LEADING_BYTE_UCS_GB): Deleted.
966
967         * mule-charset.c (Vcharset_ucs_gb): Deleted.
968         (Qucs_gb): Deleted.
969         (syms_of_mule_charset): Delete `ucs-gb'.
970         (complex_vars_of_mule_charset): Likewise.
971
972 2003-03-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
973
974         * char-ucs.h (LEADING_BYTE_UCS_CNS): Deleted.
975
976         * mule-charset.c (Vcharset_ucs_cns): Deleted.
977         (Qucs_cns): Deleted.
978         (syms_of_mule_charset): Delete `ucs-cns'.
979         (complex_vars_of_mule_charset): Likewise.
980
981 2003-03-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
982
983         * char-ucs.h (LEADING_BYTE_UCS_JIS): Deleted.
984
985         * mule-charset.c (Vcharset_ucs_jis): Deleted.
986         (Qucs_jis): Deleted.
987         (syms_of_mule_charset): Delete `ucs-jis'.
988         (complex_vars_of_mule_charset): Likewise.
989
990 2003-03-02  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
991
992         * char-ucs.h (LEADING_BYTE_UCS_KS): Deleted.
993
994         * mule-charset.c (Vcharset_ucs_ks): Deleted.
995         (Qucs_ks): Deleted.
996         (syms_of_mule_charset): Delete `ucs-ks'.
997         (complex_vars_of_mule_charset): Likewise.
998
999 2003-03-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1000
1001         * mule-charset.c (Vcharset_ideograph_daikanwa_2): Deleted.
1002         (Qideograph_daikanwa_2): Deleted.
1003         (syms_of_mule_charset): Delete `ideograph-daikanwa-2'.
1004         (complex_vars_of_mule_charset): Likewise.
1005
1006         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): Deleted.
1007         (LEADING_BYTE_DAIKANWA_1): Deleted.
1008         (LEADING_BYTE_DAIKANWA_2): Deleted.
1009         (MIN_CHAR_DAIKANWA): Deleted.
1010         (MAX_CHAR_DAIKANWA): Deleted.
1011
1012 2003-02-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1013
1014         * char-ucs.h (LEADING_BYTE_DAIKANWA_3): Deleted.
1015         (LEADING_BYTE_HANZIKU_{1..12}): Deleted.
1016         ({MIN|MAX}_CHAR_HANZIKU_{1..12}): Deleted.
1017
1018         * mule-charset.c (Vcharset_ideograph_hanziku_{1..12}): Deleted.
1019         (Vcharset_ideograph_daikanwa): Deleted.
1020         (Qideograph_hanziku_{1..12}): Deleted.
1021         (Qideograph_daikanwa): Deleted.
1022         (encode_builtin_char_1): Don't use {MIN|MAX}_CHAR_DAIKANWA and
1023         Vcharset_ideograph_daikanwa.
1024         (syms_of_mule_charset): Delete `ideograph-daikanwa' and
1025         `ideograph-hanziku-{1..12}'.
1026         (complex_vars_of_mule_charset): Likewise.
1027
1028 2003-02-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1029
1030         * char-ucs.h (LEADING_BYTE_GT_PJ_{1..11}): Deleted.
1031
1032         * mule-charset.c (Vcharset_ideograph_gt_pj_{1..11}): Deleted.
1033         (Qideograph_gt_pj_{1..11}): Deleted.
1034         (syms_of_mule_charset): Delete `ideograph-gt-pj-{1..11}'.
1035         (complex_vars_of_mule_charset): Likewise.
1036
1037 2003-02-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1038
1039         * mule-charset.c (Vcharset_ucs_big5): Deleted.
1040         (Vcharset_ideograph_gt): Deleted.
1041         (Qucs_big5): Deleted.
1042         (Qideograph_gt): Deleted.
1043         (syms_of_mule_charset): Delete symbol `ucs-big5' and
1044         `ideograph-gt'.
1045         (complex_vars_of_mule_charset): Delete coded-charset `ucs-big5'
1046         and `ideograph-gt'.
1047
1048         * char-ucs.h (LEADING_BYTE_UCS_BIG5): Deleted.
1049         (LEADING_BYTE_GT): Deleted.
1050         (MIN_CHAR_GT): Deleted.
1051         (MAX_CHAR_GT): Deleted.
1052
1053 2003-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1054
1055         * chartab.c (Fput_char_attribute): Canonicalise charset-aliases.
1056
1057 2003-01-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1058
1059         * chartab.c (save_uint8_byte_table): Add new argument `filter'.
1060         (save_uint16_byte_table): Likewise.
1061         (save_byte_table): Likewise; convert values by it.
1062         (Fput_char_attribute): Don't use `char-refs-simplify-char-specs'
1063         for `ideographic-structure'.
1064         (Fsave_char_attribute_table): Use `char-refs-simplify-char-specs'
1065         as the filter for `ideographic-structure'.
1066
1067 2003-01-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1068
1069         * chartab.c (put_char_composition): New function.
1070         (Fput_char_attribute): Use `put_char_composition'; use
1071         `Fchar_refs_simplify_char_specs' for `ideographic-structure'.
1072
1073         * fns.c (simplify_char_spec): New function.
1074         (char_ref_simplify_spec): New function.
1075         (Fchar_refs_simplify_char_specs): New function.
1076         (syms_of_fns): Add new builtin function
1077         `char-refs-simplify-char-specs'.
1078
1079 2003-01-05  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1080
1081         * mule-charset.c (Vcharset_ideograph_cbeta): Deleted.
1082         (Qideograph_cbeta): Deleted.
1083         (syms_of_mule_charset): Don't define `ideograph-cbeta'.
1084         (complex_vars_of_mule_charset): Likewise.
1085
1086         * char-ucs.h (LEADING_BYTE_CBETA): Deleted.
1087         (MIN_CHAR_CBETA): Comment out.
1088         (MAX_CHAR_CBETA): Likewise.
1089
1090 2002-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1091
1092         * mule-charset.c, chartab.h, casetab.c, char-ucs.h, chartab.c: Use
1093         `HAVE_CHISE_CLIENT' instead of `HAVE_DATABASE' to indicate the
1094         CHISE client feature.
1095
1096 2002-12-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1097
1098         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.20.
1099
1100 2002-12-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1101
1102         * mule-charset.c (charset_lookup_description_1): Use
1103         `NUM_LEADING_BYTES' in UTF-2000.
1104
1105 2002-12-18  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1106
1107         * char-ucs.h (GC_CHARSETP): Deleted.
1108
1109 2002-12-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1110
1111         * char-ucs.h (MAX_CHAR_GT): Updated.
1112
1113 2002-12-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1114
1115         * text-coding.c: Sync with XEmacs 21.4.10.
1116
1117 2002-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1118
1119         * mule-charset.c (Vcharset_china3_jef): Deleted.
1120         (Qchina3_jef): Deleted.
1121         (syms_of_mule_charset): Don't define `china3-jef'.
1122         (complex_vars_of_mule_charset): Likewise.
1123
1124         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Deleted.
1125         (MIN_CHAR_CHINA3_JEF): Comment out.
1126         (MAX_CHAR_CHINA3_JEF): Comment out.
1127
1128 2002-11-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1129
1130         * mule-charset.c (Vcharset_ucs_gb): New variable.
1131         (Qucs_gb): New variable.
1132         (syms_of_mule_charset): Add new symbol `ucs-gb'.
1133         (complex_vars_of_mule_charset): Add new coded-charset `ucs-gb'.
1134
1135         * char-ucs.h (LEADING_BYTE_UCS_GB): New macro.
1136
1137 2002-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1138
1139         * mule-charset.c (charset_code_point): if a coded-charset has a
1140         final-byte, don't inherit the builtin range of the mother CCS.
1141
1142 2002-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1143
1144         * mule-charset.c (charset_code_point): Fix problem about
1145         inheritance.
1146
1147 2002-11-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1148
1149         * mule-charset.c (decode_builtin_char): Reorganized.
1150
1151 2002-10-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1152
1153         * text-coding.c (char_encode_as_entity_reference): Modify for
1154         `charset_code_point'.
1155         (char_encode_shift_jis): Likewise.
1156         (char_encode_big5): Likewise.
1157         (char_encode_utf8): Likewise.
1158         (char_encode_iso2022): Likewise.
1159
1160         * mule-charset.c (charset_code_point): Add new argument
1161         `defined_only'.
1162         (Fencode_char): Add new optional argument `defined_only'.
1163
1164         * chartab.c (put_char_table): Modify for `charset_code_point'.
1165
1166         * char-ucs.h (charset_code_point): Add new argument
1167         `defined_only'.
1168         (encode_char_1): Modify for `charset_code_point'.
1169
1170 2002-10-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1171
1172         * mule-charset.c (complex_vars_of_mule_charset): Don't specify
1173         `MIN_CHAR_THAI' and `MAX_CHAR_THAI' for `thai-tis620'.
1174
1175 2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1176
1177         * mule-charset.c (Vcharset_jis_x0208): New variable in UTF-2000.
1178         (Qjis_x0208): Likewise.
1179         (decode_builtin_char): Prefer XCHARSET_MAX_CODE(charset) than
1180         XCHARSET_FINAL(charset).
1181         (charset_code_point): Modify condition for final-byte based
1182         builtin-chars.
1183         (syms_of_mule_charset): Add new symbol `=jis-x0208' in UTF-2000.
1184         (complex_vars_of_mule_charset): Add new coded-charset `=jis-x0208'
1185         in UTF-2000; specify `=jis-x0208' as the mother of
1186         `japanese-jisx0208-1978', `japanese-jisx0208' and
1187         `japanese-jisx0208-1990' in UTF-2000.
1188
1189 2002-10-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1190
1191         * char-ucs.h (LEADING_BYTE_JIS_X0208): New macro.
1192
1193 2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1194
1195         * text-coding.c (decode_coding_utf16): Support UTF-16.
1196         (char_encode_utf16): Fixed.
1197
1198 2002-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1199
1200         * text-coding.c (Qutf16): New variable in MULE.
1201         (Fmake_coding_system): Accept `utf-16' as `type' in MULE.
1202         (Fcoding_system_type): Add `utf-16' in MULE.
1203         (struct detection_state): Add a structure for utf16 in MULE.
1204         (detect_coding_type): Setup st->utf16.mask in MULE.
1205         (mule_decode): Use `decode_coding_utf16' for `CODESYS_UTF16' in
1206         MULE.
1207         (reset_encoding_stream): Use `char_encode_utf16' and
1208         `char_finish_utf16' for `CODESYS_UTF16' in MULE.
1209         (detect_coding_utf16): New function [incomplete].
1210         (decode_coding_utf16): New function [support only UCS-2].
1211         (char_encode_utf16): New function.
1212         (char_finish_utf16): New function.
1213         (syms_of_file_coding): Add new symbol `utf-16'; setup
1214         `coding_category_symbol[CODING_CATEGORY_UTF16]'.
1215
1216         * file-coding.h (enum coding_system_type): Add `CODESYS_UTF16' in
1217         UTF-2000.
1218         (enum coding_category_type): Add `CODING_CATEGORY_UTF16' in MULE.
1219         (CODING_CATEGORY_UTF16_MASK): New macro in MULE.
1220
1221 2002-10-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1222
1223         * chartab.c (put_char_table): When a charset is specified as a
1224         range in UTF-2000, don't support builtin characters.
1225
1226 2002-09-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1227
1228         * mule-charset.c (decode_defined_char): Don't refer external
1229         database if Qunbound or Qnil are found.
1230         (Fsave_charset_mapping_table): Don't define it if
1231         HAVE_CHISE_CLIENT is not defined.
1232         (Freset_charset_mapping_table): New function.
1233         (load_char_decoding_entry_maybe): Store Qnil if a character is not
1234         found in external database.
1235         (syms_of_mule_charset): Don't define `save-charset-mapping-table'
1236         if HAVE_CHISE_CLIENT is not defined; add new builtin function
1237         `reset-charset-mapping-table' if HAVE_CHISE_CLIENT is defined.
1238
1239 2002-09-18  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1240
1241         * text-coding.c (decode_coding_utf8): Check CCS is specified or
1242         not.
1243
1244 2002-08-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1245
1246         * chartab.h: Add extern declarations for Qdowncase, Qflippedcase,
1247         Q_lowercase, Q_uppercase in UTF-2000.
1248
1249         * chartab.c (get_char_table): Add special code for the standard
1250         case table to use character attribute `->downcase' and
1251         `->uppercase' for case operations in UTF-2000.
1252
1253         * casetab.c (Qflippedcase): New variable in UTF-2000.
1254         (Q_lowercase): Likewise.
1255         (Q_uppercase): Likewise.
1256         (syms_of_casetab): Add new symbols `flippedcase', `->lowercase'
1257         and `->uppercase' in UTF-2000.
1258         (complex_vars_of_casetab): Assign attribute name `downcase' to
1259         downcase and CANON table of Vstandard_case_table in UTF-2000;
1260         assign attribute name `flippedcase' to upcase and EQV table of
1261         Vstandard_case_table in UTF-2000.
1262
1263 2002-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1264
1265         * text-coding.c (decode_add_er_char): Support isolated-chars.
1266         (char_encode_as_entity_reference): Likewise.
1267
1268 2002-08-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1269
1270         * emacs.c (Vutf_2000_lisp_directory): New variable.
1271         (Vconfigure_utf_2000_lisp_directory): Likewise.
1272         (complex_vars_of_emacs): Add new variable
1273         `utf-2000-lisp-directory' and `configure-utf-2000-lisp-directory'.
1274
1275 2002-08-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1276
1277         * char-ucs.h (DECODE_CHAR): Delete special code for
1278         `chinese-big5-1' and `chinese-big5-2'.
1279
1280         * mule-charset.c (Qbig5_1): New variable in UTF-2000.
1281         (Qbig5_2): Likewise.
1282         (decode_defined_char): Support CONVERSION_BIG5_1 and
1283         CONVERSION_BIG5_2.
1284         (decode_builtin_char): Likewise.
1285         (charset_code_point): Likewise.
1286         (Fmake_charset): Accept `big5-1' and `big5-2' as a value of
1287         'conversion in UTF-2000.
1288         (syms_of_mule_charset): Add new symbol `big5-1' and `big5-2'.
1289         (complex_vars_of_mule_charset): Define `chinese-big5-1' and
1290         `chinese-big5-2' as children of `chinese-big5'.
1291
1292         * char-ucs.h (CONVERSION_BIG5_1): New macro.
1293         (CONVERSION_BIG5_2): New macro.
1294
1295 2002-08-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1296
1297         * text-coding.c (char_encode_big5): Support entity-reference.
1298
1299 2002-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1300
1301         * text-coding.c (char_encode_as_entity_reference): New function.
1302         (char_encode_utf8): Use `char_encode_as_entity_reference'.
1303
1304 2002-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1305
1306         * text-coding.c (decode_coding_big5): Support entity-reference
1307         decoding feature.
1308
1309 2002-08-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1310
1311         * text-coding.c (allocate_coding_system): Initialize initial
1312         charsets for CODESYS_UTF8.
1313         (Fmake_coding_system): Accept charset-g0, charset-g1 and
1314         charset-g2 for CODESYS_UTF8.
1315         (decode_coding_utf8): Use charset-g0.
1316         (char_encode_utf8): Use charset-g0; use charset-g1 and charset-g2
1317         to force variants to map to UCS.
1318
1319 2002-07-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1320
1321         * text-coding.c (Qutf_8_mcs): New variable.
1322         (syms_of_file_coding): Add new symbol `utf-8-mcs' in UTF-2000.
1323         (complex_vars_of_file_coding): Define coding-system `utf-8-mcs'
1324         instead of `utf-8' in UTF-2000.
1325
1326 2002-07-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1327
1328         * mule-charset.c (charset_code_point): If CHARSET_CONVERSION is
1329         CONVERSION_IDENTICAL, identical conversion is used even if a CCS
1330         is ISO-2022 style; instead of it, CONVERSION_94, CONVERSION_96,
1331         CONVERSION_94x94, CONVERSION_96x96, CONVERSION_94x94x94,
1332         CONVERSION_96x96x96, CONVERSION_94x94x94x94 and
1333         CONVERSION_96x96x96x96 are introduced.
1334         (complex_vars_of_mule_charset): Specify CONVERSION_96 instead of
1335         CONVERSION_IDENTICAL for thai-tis620; Specify CONVERSION_94x94
1336         instead of CONVERSION_IDENTICAL for japanese-jisx0208-1990.
1337
1338         * char-ucs.h (CONVERSION_94): New macro.
1339         (CONVERSION_96): New macro.
1340         (CONVERSION_94x94): New macro.
1341         (CONVERSION_96x96): New macro.
1342         (CONVERSION_94x94x94): New macro.
1343         (CONVERSION_96x96x96): New macro.
1344         (CONVERSION_94x94x94x60): New macro.
1345         (CONVERSION_94x94x94x94): New macro.
1346         (CONVERSION_96x96x96x96): New macro.
1347
1348 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1349
1350         * chartab.c (Vcharacter_variant_table): Deleted.
1351         (Fchar_variants): Use character-attribute `->ucs-variants' instead
1352         of `Vcharacter_variant_table'.
1353         (Fput_char_attribute): Likewise.
1354         (vars_of_chartab): Don't setup `Vcharacter_variant_table'.
1355         (complex_vars_of_chartab): Likewise.
1356
1357 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1358
1359         * lisp.h: Add an EXFUN for `Fchar_ref_p'.
1360
1361         * fns.c (Qideographic_structure): New variable.
1362         (Qkeyword_char): New variable.
1363         (ids_format_unit): New function.
1364         (Fideographic_structure_to_ids): New function.
1365         (syms_of_fns): Add new symbols `ideographic-structure' and
1366         `:char'; add new builtin function `ideographic-structure-to-ids'.
1367
1368         * data.c (Fchar_ref_p): New function.
1369         (syms_of_data): Add new builtin function `char-ref-p'.
1370
1371         * chartab.h: Add an EXFUN for `Ffind_char'.
1372
1373 2002-07-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1374
1375         * text-coding.c (Vcharacter_composition_table): Deleted.
1376         (COMPOSE_ADD_CHAR): Use the implementation for external-DB support
1377         in every UTF-2000.
1378
1379         * chartab.c: Add EXFUN for `Fmap_char_attribute' in every
1380         UTF-2000.
1381         (Vcharacter_composition_table): Deleted.
1382         (Fget_composite_char): Use the implementation for external-DB
1383         support in every UTF-2000.
1384         (Fput_char_attribute): Likewise.
1385         (char_attribute_system_db_file): Don't define if external-DB
1386         feature is not available.
1387         (Fsave_char_attribute_table): Likewise.
1388         (Fmount_char_attribute_table): Likewise.
1389         (Fclose_char_attribute_table): Likewise.
1390         (Freset_char_attribute_table): Likewise.
1391         (Fload_char_attribute_table): Likewise.
1392         (syms_of_chartab): Don't define `save-char-attribute-table',
1393         `mount-char-attribute-table', `reset-char-attribute-table',
1394         `close-char-attribute-table' and `load-char-attribute-table' if
1395         external-DB feature is not available.
1396         (vars_of_chartab): Don't setup `Vcharacter_composition_table'.
1397
1398 2002-07-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1399
1400         * text-coding.c (Qcomposition): Add extern if external-DB feature
1401         is supported.
1402         (Vcharacter_composition_table): Don't add extern if external-DB
1403         feature is supported.
1404         (COMPOSE_ADD_CHAR): Modify for new data-representation of
1405         character composition rule if external-DB feature is supported.
1406
1407         * chartab.c (Vcharacter_composition_table): Don't define if
1408         external-DB feature is supported.
1409         (Qcomposition): New variable.
1410         (Fget_composite_char): New implementation for external-DB support.
1411         (Fput_char_attribute): Use `composition' property of each
1412         character instead of `Vcharacter_composition_table' to store
1413         character-composition rules if external-DB feature is supported.
1414         (syms_of_chartab): Add new symbol `composition'.
1415         (vars_of_chartab): Don't setup `Vcharacter_composition_table' if
1416         external-DB feature is supported.
1417
1418 2002-07-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1419
1420         * chartab.c (Vchar_db_stingy_mode): New variable.
1421         (load_char_attribute_maybe): Close database if
1422         Vchar_db_stingy_mode is not NIL.
1423         (Fload_char_attribute_table_map_function): Use
1424         `get_char_id_table_0' instead of `get_char_id_table'.
1425         (vars_of_chartab): Add new variable `char-db-stingy-mode'.
1426
1427         * chartab.h (get_char_id_table_0): New inline function.
1428         (get_char_id_table): Use `get_char_id_table_0'.
1429
1430 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1431
1432         * text-coding.c (decode_coding_utf8): Use `COMPOSE_FLUSH_CHARS'
1433         and `COMPOSE_ADD_CHAR'.
1434         (decode_coding_iso2022): Use `decode_flush_er_chars'.
1435
1436 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1437
1438         * text-coding.c (COMPOSE_FLUSH_CHARS): Use `decode_add_er_char'
1439         instead of `DECODE_ADD_UCS_CHAR'.
1440         (COMPOSE_ADD_CHAR): Likewise.
1441
1442 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1443
1444         * text-coding.c (decode_flush_er_chars): New inline function.
1445         (decode_add_er_char): New function.
1446         (decode_coding_utf8): Use `decode_flush_er_chars' and
1447         `decode_add_er_char'.
1448
1449 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1450
1451         * text-coding.c (decode_coding_utf8): Flush for er_buf must be
1452         done before `decode_output_utf8_partial_char'.
1453
1454         * mule-charset.c (complex_vars_of_mule_charset): Specify
1455         `Vcharset_ucs' as the mother of `Vcharset_ucs_cns',
1456         `Vcharset_ucs_ks' and `Vcharset_ucs_big5'.
1457
1458 2002-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1459
1460         * mule-charset.c (decode_defined_char): New function; search
1461         mother.
1462         (decode_builtin_char): Don't search mother if
1463         XCHARSET_MAX_CODE(charset) == 0.
1464         (charset_code_point): Search mother if XCHARSET_MAX_CODE(charset)
1465         == 0 even if code >= XCHARSET_MAX_CODE(charset).
1466         (Fdecode_char): Use `decode_defined_char' instead of
1467         `DECODE_DEFINED_CHAR'.
1468         (complex_vars_of_mule_charset): Specify `Vcharset_ucs' as the
1469         mother of `Vcharset_ucs_jis'.
1470
1471         * text-coding.c (decode_coding_big5): Use `decode_defined_char'
1472         instead of `DECODE_DEFINED_CHAR'.
1473
1474         * char-ucs.h (decode_defined_char): Renamed from
1475         `DECODE_DEFINED_CHAR'; changed to normal function.
1476         (DECODE_CHAR): Use `decode_defined_char' instead of
1477         `DECODE_DEFINED_CHAR'.
1478
1479         * lisp.h: Add `EXFUN' for `Fstring_to_number'.
1480
1481 2002-07-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1482
1483         * char-ucs.h: Add `extern' for `Vcharset_ucs'.
1484
1485         * text-coding.c (Vcoded_charset_entity_reference_alist): New
1486         variable.
1487         (Quse_entity_reference): New variable.
1488         (Qd): New variable.
1489         (Qx): New variable.
1490         (QX): New variable.
1491         (coding_system_description): Add description for
1492         `ccs_priority_list'.
1493         (mark_coding_system): Mark `ccs_priority_list' in UTF-2000.
1494         (allocate_coding_system): Initialize `ccs_priority_list' in
1495         UTF-2000.
1496         (Fmake_coding_system): Add description about
1497         'use-entity-reference; setup CODING_SYSTEM_USE_ENTITY_REFERENCE
1498         (codesys).
1499         (Fcoding_system_property): Accept `disable-composition' and
1500         `use-entity-reference' in UTF-2000.
1501         (struct decoding_stream): Add new member `er_counter' and `er_buf'
1502         in UTF-2000.
1503         (reset_decoding_stream): Initialize `str->er_counter' in UTF-2000.
1504         (decode_coding_utf8): Decode entity-reference if
1505         CODING_SYSTEM_USE_ENTITY_REFERENCE (str->codesys).
1506         (char_encode_utf8): Encode non-Unicode characters as
1507         entity-references if CODING_SYSTEM_USE_ENTITY_REFERENCE
1508         (str->codesys).
1509         (syms_of_file_coding): Add new symbols `use-entity-reference',
1510         `d', `x', `X'.
1511         (vars_of_file_coding): Add new variable
1512         `coded-charset-entity-reference-alist'.
1513         (complex_vars_of_file_coding): Declare `disable-composition' and
1514         `use-entity-reference' to be coding-system-properties in UTF-2000.
1515
1516         * file-coding.h (struct Lisp_Coding_System): Add new member
1517         `use_entity_reference' and `ccs_priority_list'.
1518         (CODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
1519         (CODING_SYSTEM_CCS_PRIORITY_LIST): New macro.
1520         (XCODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
1521
1522 2002-07-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1523
1524         * chartab.c (save_uint8_byte_table): Don't clear the table.
1525         (save_uint16_byte_table): Likewise.
1526         (save_byte_table): Likewise.
1527         (Fmount_char_attribute_table): New function.
1528         (syms_of_chartab): Add new builtin function
1529         `mount-char-attribute-table'.
1530
1531 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1532
1533         * mule-charset.c (Fsave_charset_mapping_table): Open database as
1534         "w+" mode.
1535         (load_char_decoding_entry_maybe): Open database as read-only mode.
1536
1537         * chartab.c (Fsave_char_attribute_table): Don't share `ct->db';
1538         open database as "w+" mode.
1539         (load_char_attribute_maybe): Open database as read-only mode.
1540         (Fload_char_attribute_table): Likewise.
1541
1542 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1543
1544         * chartab.c (mark_char_table): Don't refer `ct->db_file'.
1545         (char_table_description): Delete member `db_file'.
1546         (Fmake_char_table): Don't refer `ct->db_file'.
1547         (Fcopy_char_table): Likewise.
1548         (Fsave_char_attribute_table): Likewise.
1549         (Fclose_char_attribute_table): Likewise.
1550         (Freset_char_attribute_table): Likewise.
1551         (load_char_attribute_maybe): Likewise.
1552         (Fload_char_attribute_table): Likewise.
1553
1554         * chartab.h (struct Lisp_Char_Table): Delete member `db_file'.
1555
1556 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1557
1558         * chartab.c: Add an EXFUN for `Fmap_char_attribute'.
1559         (Fsave_char_attribute_table): Don't check `ct->db_file' if
1560         `ct->db' is living.
1561         (load_char_attribute_maybe): Likewise.
1562         (Fload_char_attribute_table): Likewise.
1563
1564 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1565
1566         * chartab.c (Fclose_char_attribute_table): Set Qnil on
1567         `ct->db_file' unconditionally.
1568
1569 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1570
1571         * chartab.c (mark_char_table): Mark `ct->db_file' and `ct->db' in
1572         UTF-2000.
1573         (char_table_description): Add description for `db_file' and `db'
1574         in UTF-2000.
1575         (Fmake_char_table): Initialize `ct->db_file' and `ct->db' in
1576         UTF-2000.
1577         (Fcopy_char_table): Copy `ct->db_file' and `ct->db' in UTF-2000.
1578         (Fsave_char_attribute_table): Use `ct->db_file' and `ct->db'.
1579         (Fclose_char_attribute_table): New function.
1580         (Freset_char_attribute_table): Reset `ct->db_file' and `ct->db'.
1581         (load_char_attribute_maybe): Change interface; use `cit->db_file'
1582         and `cit->db'.
1583         (Fload_char_attribute_table): Use `ct->db_file' and `ct->db'.
1584         (syms_of_chartab): Add new builtin function
1585         `Fclose_char_attribute_table'.
1586
1587 2002-06-28  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1588
1589         * chartab.h (struct Lisp_Char_Table): Add new member `db_file' and
1590         `db' in UTF-2000.
1591         (load_char_attribute_maybe): Change interface.
1592         (get_char_id_table): Modify for `load_char_attribute_maybe'.
1593
1594 2002-06-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1595
1596         * database.h: Add an EXFUN for `Fdatabase_live_p'.
1597
1598 2002-04-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1599
1600         * mule-charset.c (decode_builtin_char): Use `decode_builtin_char'
1601         instead of `DECODE_CHAR' for mother; don't use special code for
1602         chinese-big5 to use code space of chinese-big5-1 and
1603         chinese-big5-2.
1604         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' and
1605         `MAX_CHAR_BIG5_CDP' for chinese-big5.
1606
1607         * char-ucs.h (MIN_CHAR_BIG5_CDP): Revival.
1608         (MAX_CHAR_BIG5_CDP): Revival.
1609
1610 2002-04-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1611
1612         * mule-charset.c (complex_vars_of_mule_charset): Use "big5-0" as
1613         the XLFD registry-encoding name of `chinese-big5'.
1614
1615 2002-04-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1616
1617         * mule-charset.c (Vcharset_chinese_big5_cdp): Deleted.
1618         (Qchinese_big5_cdp): Deleted.
1619         (syms_of_mule_charset): Delete symbol `chinese-big5-cdp'.
1620         (complex_vars_of_mule_charset): Delete coded-charset
1621         `chinese-big5-cdp'.
1622
1623         * char-ucs.h (CHARSET_ID_OFFSET): Deleted.
1624         (LEADING_BYTE_*): Use `MIN_LEADING_BYTE + n' instead of
1625         `CHARSET_ID_OFFSET - n' for private CCS.
1626         (LEADING_BYTE_CHINESE_BIG5_CDP): Deleted.
1627         (MIN_LEADING_BYTE_PRIVATE): Use `(MIN_LEADING_BYTE + 97)' instead
1628         of `MIN_LEADING_BYTE'.
1629         (MAX_LEADING_BYTE_PRIVATE): Use `-1' instead of
1630         `(CHARSET_ID_OFFSET - 97)'.
1631         (MIN_CHAR_BIG5_CDP): Deleted.
1632         (MAX_CHAR_BIG5_CDP): Deleted.
1633
1634 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1635
1636         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.19.
1637
1638 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1639
1640         * mule.c (Vutf_2000_version): New variable [moved from chartab.c].
1641         (vars_of_mule): Add new variable `utf-2000-version' [moved from
1642         chartab.c].
1643
1644         * chartab.c (Vutf_2000_version): Moved to mule.c.
1645         (vars_of_chartab): Move code about `utf-2000-version' into mule.c.
1646
1647 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1648
1649         * mule-charset.c (load_char_decoding_entry_maybe): Don't define it
1650         when HAVE_CHISE_CLIENT is not defined.
1651
1652         * mule.c (vars_of_mule): Provide feature `chise' when
1653         HAVE_CHISE_CLIENT is defined.
1654
1655 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1656
1657         * config.h.in (UTF2000): Add comment.
1658         (HAVE_CHISE_CLIENT): New macro.
1659
1660 2002-02-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1661
1662         * chartab.c (Fchar_variants): Check Vcharacter_variant_table is
1663         CONSP.
1664         (Fput_char_attribute): Likewise.
1665         (char_attribute_system_db_file): Encode file-name of attribute.
1666         (vars_of_chartab): Set Qunbound into Vcharacter_variant_table as
1667         the initial value.
1668
1669 2002-02-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1670
1671         * mule-charset.c (put_char_ccs_code_point): Delete unused codes.
1672         (Fsave_charset_mapping_table): Use
1673         `char_attribute_system_db_file'.
1674         (load_char_decoding_entry_maybe): Likewise.
1675
1676         * chartab.h (Qsystem_char_id): New external variable.
1677         (char_attribute_system_db_file): New prototype.
1678
1679         * chartab.c (Qsystem_char_id): New variable in UTF-2000.
1680         (char_attribute_system_db_file): New function.
1681         (Fsave_char_attribute_table): Use `char_attribute_system_db_file'.
1682         (Freset_char_attribute_table): Likewise.
1683         (load_char_attribute_maybe): Likewise.
1684         (Fload_char_attribute_table): Likewise.
1685         (syms_of_chartab): Add new symbol `system-char-id'.
1686
1687 2002-02-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1688
1689         * char-ucs.h (DECODE_DEFINED_CHAR): Don't check
1690         `XCHARSET_GRAPHIC(ccs)'.
1691
1692 2002-02-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1693
1694         * mule-charset.c (Fsave_charset_mapping_table): Fixed.
1695
1696 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1697
1698         * chartab.c (Q_ucs_variants): New variable.
1699         (syms_of_chartab): Add new symbol `->ucs-variants'.
1700         (complex_vars_of_chartab): Set `Vcharacter_variant_table' on
1701         `Vchar_attribute_hash_table' as the value of `->ucs-variants'; set
1702         `->ucs-variants' on `XCHAR_TABLE_NAME (Vcharacter_variant_table)'.
1703
1704         * mule-charset.c (load_char_decoding_entry_maybe): New function.
1705
1706         * char-ucs.h (load_char_decoding_entry_maybe): New prototype when
1707         `HAVE_DATABASE' is defined.
1708         (DECODE_DEFINED_CHAR): Use `load_char_decoding_entry_maybe' when
1709         `HAVE_DATABASE' is defined.
1710
1711 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1712
1713         * chartab.c (Fsave_char_attribute_table): Don't clear internal
1714         attribute-table.
1715         (Freset_char_attribute_table): New function.
1716         (syms_of_chartab): Add new builtin function
1717         `reset-char-attribute-table'.
1718
1719 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1720
1721         * chartab.c (load_char_attribute_maybe): Don't make directories.
1722
1723 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1724
1725         * char-ucs.h: Add EXFUN for `Fmake_directory_internal'.
1726
1727         * mule-charset.c (put_char_ccs_code_point): Don't prepare a vector
1728         for decoding-table.
1729
1730 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1731
1732         * mule-charset.c (Fsave_charset_mapping_table): Use
1733         `XCHARSET_BYTE_SIZE' instead of `XCHARSET_CHARS'.
1734
1735         * char-ucs.h (put_ccs_octet_table): Use `XCHARSET_BYTE_SIZE'
1736         instead of `XCHARSET_CHARS'.
1737
1738 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1739
1740         * mule-charset.c (CHARSET_BYTE_SIZE): Moved to char-ucs.h.
1741         (XCHARSET_BYTE_SIZE): Likewise.
1742
1743         * char-ucs.h (CHARSET_BYTE_SIZE): New inline function [moved from
1744         mule-charset.c].
1745         (XCHARSET_BYTE_SIZE): Likewise.
1746
1747 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1748
1749         * chartab.c (Fput_char_attribute): Use exec-directory instead of
1750         data-directory to store database.
1751         (Fsave_char_attribute_table): Likewise.
1752         (load_char_attribute_maybe): Likewise.
1753         (Fload_char_attribute_table): Likewise.
1754
1755 2002-02-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1756
1757         * mule-charset.c (Fsave_charset_mapping_table): New function.
1758         (syms_of_mule_charset): Add new builtin function
1759         `save-charset-mapping-table'.
1760
1761 2002-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1762
1763         * char-ucs.h (decoding_table_check_elements): Delete prototype.
1764         (get_ccs_octet_table): New inline function.
1765         (put_ccs_octet_table): Likewise.
1766         (decoding_table_put_char): Use `get_ccs_octet_table' and
1767         `put_ccs_octet_table'.
1768         (decoding_table_remove_char): Use `decoding_table_put_char'.
1769         (DECODE_DEFINED_CHAR): Use `get_ccs_octet_table'.
1770
1771         * mule-charset.c (remove_char_ccs): Store Qunbound instead of Qnil
1772         into encoding_table.
1773         (make_charset): Use Qunbound instead Qnil as initial value of
1774         decoding_table.
1775
1776 2002-02-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1777
1778         * chartab.c (map_over_uint8_byte_table): Set Qunbound if an
1779         element is Qunloaded.
1780         (map_over_uint16_byte_table): Likewise.
1781         (map_over_byte_table): Likewise.
1782         (map_char_table): Likewise for CHARTAB_RANGE_ALL in UTF-2000; when
1783         CHARTAB_RANGE_CHARSET is specified in UTF-2000 with external
1784         database support, load encoding-table of the specified
1785         coded-charset if it is not loaded yet.
1786         (save_uint8_byte_table): New function of UTF-2000 with external
1787         database support.
1788         (save_uint16_byte_table): Likewise.
1789         (save_byte_table): Likewise.
1790         (Fput_char_attribute): Don't store value into external database
1791         even if the external database feature is supported in UTF-2000;
1792         set `attribute' as name of char-table if the external database
1793         feature is supported.
1794         (Fsave_char_attribute_table): New function in UTF-2000.
1795         (syms_of_chartab): Add new builtin function
1796         `save-char-attribute-table' in UTF-2000.
1797
1798 2002-02-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1799
1800         * chartab.c (char_attribute_table_to_put): New variable in
1801         UTF-2000.
1802         (Qput_char_table_map_function): Likewise.
1803         (value_to_put): Likewise.
1804         (Fput_char_table_map_function): New function in UTF-2000.
1805         (put_char_table): Use `Fmap_char_attribute' for
1806         CHARTAB_RANGE_CHARSET in UTF-2000.
1807         (Fput_char_attribute): Store symbol instead of string in
1808         `XCHAR_TABLE_NAME (table)'.
1809         (load_char_attribute_maybe): Likewise.
1810         (syms_of_chartab): Add new symbol/function
1811         `put-char-table-map-function'.
1812
1813 2002-01-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1814
1815         * database.h: Add new EXFUN for `Fmap_database'.
1816
1817         * database.c (Fmap_database): Renamed from `Fmapdatabase'.
1818         (syms_of_database): Likewise.
1819
1820         * chartab.h (struct Lisp_Char_Table): Add new member `unloaded' in
1821         UTF-2000.
1822         (CHAR_TABLE_UNLOADED): New macro of UTF-2000.
1823         (XCHAR_TABLE_UNLOADED): Likewise.
1824
1825         * chartab.c (fill_char_table): Initialize `ct->unloaded'.
1826         (Fput_char_attribute): Set XCHAR_TABLE_UNLOADED(table) if
1827         HAVE_DATABASE is defined.
1828         (char_attribute_table_to_load): New variable of UTF-2000 with
1829         external database support.
1830         (Qload_char_attribute_table_map_function): Likewise.
1831         (Fload_char_attribute_table_map_function): New function of
1832         UTF-2000 with external database support.
1833         (Fload_char_attribute_table): New function of UTF-2000.
1834         (Fmap_char_attribute): Call Fload_char_attribute_table if
1835         CHAR_TABLE_UNLOADED(ct) is set when HAVE_DATABASE is defined.
1836         (syms_of_chartab): Add new symbol and function
1837         `load-char-attribute-table-map-function' in UTF-2000 with external
1838         database support; add new function `load-char-attribute-table' in
1839         UTF-2000.
1840
1841 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1842
1843         * chartab.h (load_char_attribute_maybe): New prototype for
1844         UTF-2000 with DATABASE support.
1845         (get_char_id_table): Use `load_char_attribute_maybe' if
1846         HAVE_DATABASE is defined.
1847
1848         * chartab.c (load_char_attribute_maybe): New function in UTF-2000
1849         with DATABASE support.
1850
1851 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1852
1853         * chartab.c (Fput_char_attribute): Use S-expression as key of
1854         external database.
1855
1856         * chartab.h (get_char_id_table): Use S-expression as key of
1857         external database.
1858
1859 2002-01-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1860
1861         * chartab.c (map_over_uint8_byte_table): Add new argument `root';
1862         if an element is not loaded, load the corresponding attributes
1863         from an external database.
1864         (map_over_uint16_byte_table): Likewise.
1865         (map_over_byte_table): Likewise.
1866         (map_char_table): Modify for `map_over_uint8_byte_table',
1867         `map_over_uint16_byte_table' and `map_over_byte_table'; if an
1868         element is not loaded, load the corresponding attributes from an
1869         external database.
1870         (Fput_char_attribute): Change initial values to Qunloaded.
1871
1872         * chartab.h (get_char_id_table): If a character attribute is not
1873         loaded and the attribute value is not found in an external
1874         database, store Qunbound as the attribute value.
1875
1876 2002-01-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1877
1878         * chartab.c (BT_UINT8_unloaded): New macro.
1879         (UINT8_VALUE_P): Accept Qunloaded.
1880         (UINT8_ENCODE): Likewise.
1881         (UINT8_DECODE): Likewise.
1882         (BT_UINT16_unloaded): New macro.
1883         (UINT16_VALUE_P): Accept Qunloaded.
1884         (UINT16_ENCODE): Likewise.
1885         (UINT16_DECODE): Likewise.
1886         (UINT8_TO_UINT16): Convert BT_UINT8_unloaded into
1887         BT_UINT16_unloaded.
1888         (mark_char_table): Mark `ct->name' in UTF-2000.
1889         (char_table_description): Add `name' in UTF-2000.
1890         (Fmake_char_table): Initialize `ct->name'.
1891         (Fcopy_char_table): Copy `ct->name'.
1892         (Fput_char_attribute): Store value into an external database if
1893         HAVE_DATABASE is defined.
1894
1895         * chartab.h (struct Lisp_Char_Table): Add new member `name' in
1896         UTF-2000.
1897         (CHAR_TABLE_NAME): New macro in UTF-2000.
1898         (XCHAR_TABLE_NAME): New macro in UTF-2000.
1899         (get_char_id_table): Try to read an external database if Qunloaded
1900         is stored in a table.
1901
1902         * symbols.c (init_symbols_once_early): Assign '#<unloaded> into
1903         Qunloaded.
1904
1905 2002-01-21  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1906
1907         * database.h: Add EXFUN definitions for Fopen_database,
1908         Fput_database, Fget_database and Fclose_database.
1909
1910         * data.c (Qunloaded): New variable in UTF-2000.
1911
1912         * lisp.h (Qunloaded): New variable in UTF-2000.
1913
1914 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1915
1916         * mule-charset.c (put_char_ccs_code_point): Modify for
1917         `decoding_table_remove_char' and `decoding_table_put_char'.
1918         (remove_char_ccs): Modify for `decoding_table_remove_char'.
1919
1920         * char-ucs.h (decoding_table_remove_char): Change arguments to
1921         hide decoding_table vector.
1922         (decoding_table_put_char): Likewise.
1923
1924 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1925
1926         * mule-charset.c (decoding_table_remove_char): Moved to
1927         char-ucs.h.
1928         (decoding_table_put_char): Likewise.
1929
1930         * char-ucs.h (decoding_table_check_elements): New prototype [moved
1931         from mule-charset.c].
1932         (decoding_table_remove_char): New inline function [moved from
1933         mule-charset.c].
1934         (decoding_table_put_char): Likewise.
1935
1936 2002-01-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1937
1938         * mule-charset.c (Fmake_charset): Modify DOC-string for UTF-2000
1939         extension.
1940
1941 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1942
1943         * mule-charset.c (decode_builtin_char): Support mother charsets.
1944
1945 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1946
1947         * mule-charset.c (Q94x94x60): New variable.
1948         (charset_code_point): Support conversion `94x94x60'.
1949         (Fmake_charset): Likewise.
1950         (syms_of_mule_charset): Add new symbol `94x94x60'.
1951
1952         * char-ucs.h (CONVERSION_94x94x60): New macro.
1953
1954 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1955
1956         * mule-charset.c (charset_code_point): Unify code about
1957         `code-offset'.
1958
1959 2001-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1960
1961         * mule-charset.c (charset_code_point): Merge code about builtin
1962         characters into code about mother charsets; don't use
1963         `range_charset_code_point'.
1964         (range_charset_code_point): Deleted.
1965
1966 2001-12-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1967
1968         * mule-charset.c (Qcode_offset): New variable.
1969         (Fmake_charset): Use `XUINT' to get value of `min-code' and
1970         `max-code'; accept new property `code-offset'.
1971         (syms_of_mule_charset): Add new symbol `code-offset'.
1972
1973 2001-12-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1974
1975         * mule-charset.c (range_charset_code_point): Fixed.
1976
1977 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1978
1979         * mule-charset.c (decode_builtin_char): Change semantics of
1980         code-offset of coded-charset.
1981         (charset_code_point): Likewise.
1982         (range_charset_code_point): Likewise.
1983         (complex_vars_of_mule_charset): Modify for the change.
1984
1985 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1986
1987         * mule-charset.c (Fencode_char): Reverse arguments.
1988
1989         * mule-charset.c (charset_code_point): Fixed.
1990
1991 2001-12-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1992
1993         * mule-charset.c (Vcharset_mojikyo): Deleted.
1994         (Vcharset_mojikyo_2022_1): Deleted.
1995         (Vcharset_mojikyo_pj_{1..21}): Deleted.
1996         (Qmin_code): New variable in UTF-2000.
1997         (Qmax_code): Likewise.
1998         (Qmother): Likewise.
1999         (Qconversion): Likewise.
2000         (Q94x60): Likewise.
2001         (Qmojikyo): Deleted.
2002         (Qmojikyo_2022_1): Deleted.
2003         (Qmojikyo_pj_{1..22}): Deleted.
2004         (mark_charset): Mark `cs->mother'.
2005         (charset_description): Add description for `mother'.
2006         (make_charset): Rename `ucs_{min|max}' to `{min|max}_code'; add
2007         new arguments `mother' and `conversion'; use
2008         `CHARSET_{MIN|MAX}_CODE' instead of `CHARSET_UCS_{MIN|MAX}'.
2009         (charset_code_point): Moved from char-ucs.h; support `mother'
2010         charset feature.
2011         (range_charset_code_point): use `CHARSET_{MIN|MAX}_CODE' instead
2012         of `CHARSET_UCS_{MIN|MAX}'; delete hard code for `mojikyo-2022-1'.
2013         (Fmake_charset): Allow 3 and 4 as the value of `dimension' in
2014         UTF-2000; allow 128 and 256 as the value of `chars' in UTF-2000;
2015         allow 2 as the value of `graphic' in UTF-2000; add new properties
2016         `min-code', `max-code', `mother', `conversion' in UTF-2000; don't
2017         require `final' in UTF-2000; modify for `make_charset'.
2018         (Fmake_reverse_direction_charset): use `CHARSET_{MIN|MAX}_CODE'
2019         instead of `CHARSET_UCS_{MIN|MAX}'; modify for `make_charset'.
2020         (Fcharset_property): Support `mother', `min-code' and `max-code'.
2021         (Fencode_char): New function.
2022         (syms_of_mule_charset): Add new builtin function `encode-char' in
2023         UTF-2000; add new symbols `min-code', `max-code', `mother',
2024         `conversion' and `94x60'; delete symbols `mojikyo',
2025         `mojikyo-2022-1' and `mojikyo-pj-{1..21}'.
2026         (complex_vars_of_mule_charset): Modify for `make_charset' change;
2027         delete coded-charsets `mojikyo', `mojikyo-2022-1' and
2028         `mojikyo-pj-{1..21}'; delete `DEF_MOJIKYO_PJ'.
2029
2030         * chartab.c (Fdefine_char): Use `XCHARSET_MAX_CODE' instead of
2031         `XCHARSET_UCS_MAX'; regard `chinese-big5' as a base CCS.
2032
2033         * char-ucs.h (Vcharset_mojikyo): Deleted.
2034         (Vcharset_mojikyo_2022_1): Deleted.
2035         (LEADING_BYTE_MOJIKYO): Deleted.
2036         (LEADING_BYTE_MOJIKYO_2022_1): Deleted.
2037         (LEADING_BYTE_MOJIKYO_2022_2): Deleted.
2038         (LEADING_BYTE_MOJIKYO_PJ_{1 .. 21}): Deleted.
2039         (struct Lisp_Charset): Rename `ucs_{min|max}' to `{min|max}_code';
2040         add new member `mother'; add new member `conversion'.
2041         (CHARSET_MIN_CODE): Renamed from `CHARSET_UCS_MIN'.
2042         (CHARSET_MAX_CODE): Renamed from `CHARSET_UCS_MAX'.
2043         (CHARSET_MOTHER): New macro.
2044         (CHARSET_CONVERSION): New macro.
2045         (CONVERSION_IDENTICAL): New macro.
2046         (CONVERSION_94x60): New macro.
2047         (XCHARSET_MIN_CODE): Renamed from `CHARSET_MIN_CODE'.
2048         (XCHARSET_MAX_CODE): Renamed from `CHARSET_MAX_CODE'.
2049         (XCHARSET_MOTHER): New macro.
2050         (XCHARSET_CONVERSION): New macro.
2051         (MIN_CHAR_MOJIKYO): Deleted.
2052         (MAX_CHAR_MOJIKYO): Deleted.
2053         (DECODE_MOJIKYO_2022): Deleted.
2054         (DECODE_CHAR): Delete hard code for builtin Mojikyo characters.
2055         (charset_code_point): Changed to non-inline function.
2056         (encode_char_1): Use `charset_code_point'.
2057         (CHAR_TO_CHARC): Delete hard code for Mojikyo characters.
2058
2059 2001-12-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2060
2061         * lread.c (read_compiled_function): Fix prototype.
2062         (read_vector): Likewise.
2063
2064 2001-12-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2065
2066         * lrecord.h (struct lrecord_header): Delete `older'.
2067         (set_lheader_implementation): Delete code for `older'.
2068         (set_lheader_older_implementation): Deleted.
2069         (enum lrecord_type): Delete `lrecord_type_char_id_table'.
2070         (OLDER_RECORD_P): Deleted.
2071         (OLDER_RECORD_HEADER_P): Deleted.
2072         (alloc_older_lcrecord): Deleted.
2073         (alloc_older_lcrecord_type): Deleted.
2074
2075         * alloc.c (all_older_lcrecords): Deleted.
2076         (alloc_older_lcrecord): Deleted.
2077         (disksave_object_finalization_1): Delete code for older objects.
2078         (mark_object): Don't use `OLDER_RECORD_HEADER_P'.
2079         (reinit_alloc_once_early): Don't initialize `all_older_lcrecords'.
2080
2081 2001-12-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2082
2083         * mule-charset.c (decoding_table_put_char): Use `make_vector'
2084         instead of `make_older_vector'.
2085         (put_char_ccs_code_point): Likewise.
2086         (mark_charset): Mark `cs->decoding_table'.
2087         (Fset_charset_mapping_table): Don't use `make_vector_newer'.
2088
2089         * lisp.h (make_older_vector): Deleted.
2090         (make_vector_newer): Deleted.
2091
2092         * config.h.in (HAVE_GGC): Deleted.
2093
2094         * alloc.c (make_older_vector): Deleted.
2095         (make_vector_newer_1): Deleted.
2096         (make_vector_newer): Deleted.
2097
2098 2001-12-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2099
2100         * mule-charset.c (Vcharset_ideograph_daikanwa_2): New variable.
2101         (Qideograph_daikanwa_2): New variable.
2102         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa-2'.
2103         (complex_vars_of_mule_charset): Add new coded-charset
2104         `ideograph-daikanwa-2'; use `LEADING_BYTE_DAIKANWA_3' instead of
2105         `LEADING_BYTE_DAIKANWA'.
2106
2107         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): New macro.
2108         (LEADING_BYTE_DAIKANWA_1): New macro.
2109         (LEADING_BYTE_DAIKANWA_2): New macro.
2110         (LEADING_BYTE_DAIKANWA_3): Renamed from `LEADING_BYTE_DAIKANWA'.
2111
2112 2001-12-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2113
2114         * mule-charset.c (complex_vars_of_mule_charset): Change
2115         DOC-strings and registry of `ideograph-daikanwa'; now it indicates
2116         the second revised version.
2117
2118 2001-12-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2119
2120         * mule-charset.c (Vcharset_ucs_smp): New variable.
2121         (Vcharset_ucs_sip): New variable.
2122         (Qucs_smp): New variable.
2123         (Qucs_sip): New variable.
2124         (encode_builtin_char_1): Treat MIN_CHAR_{SMP|SIP} to
2125         MAX_CHAR_{SMP|SIP} as `ucs-{smp|sip}'.
2126         (syms_of_mule_charset): Add new symbols `ucs-smp' and `ucs-sip'.
2127         (complex_vars_of_mule_charset): Modify middle-DOC and registry of
2128         `ucs-bmp'; add new coded-charset `ucs-smp' and `ucs-sip'; change
2129         charset width of `ucs-cns', `ucs-jis', `ucs-ks' and `ucs-big5'.
2130
2131         * char-ucs.h (LEADING_BYTE_UCS_SMP): New macro.
2132         (LEADING_BYTE_UCS_SIP): New macro.
2133         (MIN_CHAR_SMP): New macro.
2134         (MAX_CHAR_SMP): New macro.
2135         (MIN_CHAR_SIP): New macro.
2136         (MAX_CHAR_SIP): New macro.
2137
2138 2001-11-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
2139
2140         * dumper.c (PDUMP_HASH_SIZE): Increase the size of hash table when
2141         utf-2000.
2142
2143 2001-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2144
2145         * mule-charset.c (put_char_ccs_code_point): Return canonicalized
2146         value; don't store value into `encoding_table' of `Lisp_Charset'.
2147         (mark_charset): `encoding_table' was deleted.
2148         (charset_description): Likewise.
2149         (make_charset): Likewise.
2150         (Fset_charset_mapping_table): Use `Fput_char_attribute' instead of
2151         `put_char_ccs_code_point'.
2152
2153         * chartab.h (Fput_char_attribute): New EXFUN.
2154
2155         * chartab.c (Fchar_attribute_alist): Name space of CCS-attributes
2156         is unified with normal symbol space.
2157         (Fget_char_attribute): Likewise.
2158         (Fput_char_attribute): Likewise; behavior of
2159         `put_char_ccs_code_point' is changed.
2160
2161         * char-ucs.h: Include "elhash.h".
2162         (Vchar_attribute_hash_table): New external variable.
2163         (struct Lisp_Charset): Delete `encoding_table'.
2164         (CHARSET_ENCODING_TABLE): New implementation; refer
2165         `Vchar_attribute_hash_table' instead of `encoding_table' of struct
2166         `Lisp_Charset'.
2167
2168 2001-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2169
2170         * mule-charset.c (Fcharset_property): Return Qnil if CHARSET_FINAL
2171         (cs) == 0.
2172
2173 2001-11-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2174
2175         * text-coding.c (char_encode_big5): Prefer charset-g1 than
2176         `chinese-big5'.
2177
2178 2001-11-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2179
2180         * chartab.c (uint8_byte_table_description): New constant.
2181         (uint8-byte-table): Use `uint8_byte_table_description'.
2182         (uint16_byte_table_description): New constant.
2183         (uint16-byte-table): Use `uint16_byte_table_description'.
2184
2185 2001-10-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2186
2187         * mule-charset.c (complex_vars_of_mule_charset): Don't use builtin
2188         range MIN_CHAR_BIG5_CDP .. MAX_CHAR_BIG5_CDP.
2189
2190 2001-10-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2191
2192         * mule-charset.c (Vcharset_ucs_ks): New variable.
2193         (Qucs_ks): New variable.
2194         (syms_of_mule_charset): Add new symbol `ucs-ks'.
2195         (complex_vars_of_mule_charset): Add new coded-charset `ucs-ks'.
2196
2197         * char-ucs.h (LEADING_BYTE_UCS_KS): New macro.
2198
2199 2001-10-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2200
2201         * chartab.h (Fmake_char): New EXFUN; moved from chartab.c.
2202         (Fdecode_char): Likewise.
2203
2204         * chartab.c: Move EXFUN for Fmake_char and Fdecode_char into
2205         chartab.h.
2206         (Fdefine_char): Modify for Fdecode_char.
2207         (Ffind_char): Likewise.
2208
2209         * mule-charset.c (Fdecode_char): Add new optional argument
2210         `defined-only'.
2211         (Fdecode_builtin_char): Modify for `Fdecode_char'.
2212
2213 2001-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2214
2215         * text-coding.c (mark_coding_system): Mark initial-charset-g0 and
2216         -g1 of CODESYS_BIG5 in XEmacs UTF-2000.
2217         (allocate_coding_system): Initialize initial-charsets of
2218         CODESYS_BIG5 in XEmacs UTF-2000.
2219         (Fmake_coding_system): Accept `charset-g0' and `charset-g1' for
2220         CODESYS_BIG5 in XEmacs UTF-2000.
2221         (decode_coding_big5): Use initial-charset-g0 and -g1 of
2222         CODESYS_BIG5 in XEmacs UTF-2000; use `DECODE_DEFINED_CHAR'.
2223
2224         * mule-charset.c (Vcharset_ideograph_hanziku_{1 .. 12}): New
2225         variables.
2226         (Qideograph_hanziku_{1 .. 12}): Likewise.
2227         (syms_of_mule_charset): Add new symbols `ideograph-hanziku-{1
2228         .. 12}'.
2229         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' to
2230         `MAX_CHAR_BIG5_CDP' for `chinese-big5'; add news coded-charsets
2231         `ideograph-hanziku-{1 .. 12}'.
2232
2233         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x200.
2234         (LEADING_BYTE_HANZIKU_{1 .. 12}): New macros.
2235         ({MIN|MAX}_CHAR_BIG5_CDP): New macros.
2236         ({MIN|MAX}_CHAR_HANZIKU_{1 .. 12}): New macros.
2237         (DECODE_DEFINED_CHAR): New inline function.
2238         (DECODE_CHAR): Use `DECODE_DEFINED_CHAR'.
2239
2240 2001-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2241
2242         * mule-charset.c (Vcharset_china3_jef): Renamed from
2243         `Vcharset_japanese_jef_china3'.
2244         (Qchina3_jef): Renamed from `Qjapanese_jef_china3'.
2245         (encode_builtin_char_1): Rename `{MIN|MAX}_CHAR_CHINA3_JEF' from
2246         `{MIN|MAX}_CHAR_JEF_CHINA3'..
2247         (syms_of_mule_charset): Rename `china3-jef' from
2248         `japanese-jef-china3'.
2249         (complex_vars_of_mule_charset): Likewise; rename
2250         `LEADING_BYTE_CHINA3_JEF' from `LEADING_BYTE_JEF_CHINA3'.
2251
2252         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Renamed from
2253         `LEADING_BYTE_JEF_CHINA3'.
2254         (MIN_CHAR_CHINA3_JEF): Renamed from `MIN_CHAR_JEF_CHINA3'.
2255         (MAX_CHAR_CHINA3_JEF): Renamed from `MAX_CHAR_JEF_CHINA3'.
2256
2257 2001-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2258
2259         * mule-charset.c (encode_builtin_char_1): Comment out special code
2260         for MIN_CHAR_MOJIKYO_0 ... MAX_CHAR_MOJIKYO_0.
2261
2262         * char-ucs.h (MIN_CHAR_MOJIKYO_0): Comment out.
2263         (MAX_CHAR_MOJIKYO_0): Comment out.
2264         (MIN_CHAR_CBETA): Changed to 0x00E20000.
2265         (MAX_CHAR_CBETA): Changed to 0x00E2FFFF.
2266         (MIN_CHAR_JEF_CHINA3): Changed to 0x00E80000.
2267         (MAX_CHAR_JEF_CHINA3): Changed to 0x00E8FFFF.
2268
2269 2001-10-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2270
2271         * mule-charset.c (Vcharset_ideograph_cbeta): New variable.
2272         (Qideograph_cbeta): New variable.
2273         (encode_builtin_char_1): Comment out special code for
2274         coded-charset `mojikyo' and `japanese-jef-china3'.
2275         (syms_of_mule_charset): Add new symbol `ideograph-cbeta'.
2276         (complex_vars_of_mule_charset): Add new coded-charset
2277         `ideograph-cbeta'.
2278
2279         * char-ucs.h (LEADING_BYTE_CBETA): New macro.
2280         (MIN_CHAR_CBETA): New macro.
2281         (MAX_CHAR_CBETA): New macro.
2282
2283 2001-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2284
2285         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x100.
2286         (LEADING_BYTE_JEF_CHINA3): New macro.
2287         (MIN_CHAR_JEF_CHINA3): New macro.
2288         (MAX_CHAR_JEF_CHINA3): Likewise.
2289         (DECODE_CHAR): Fixed.
2290
2291 2001-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2292
2293         * mule-charset.c (Vcharset_japanese_jef_china3): New variable.
2294         (Qjapanese_jef_china3): New variable.
2295         (encode_builtin_char_1): Support `japanese-jef-china3'.
2296         (syms_of_mule_charset): Add new symbol `japanese-jef-china3'.
2297         (complex_vars_of_mule_charset): Add new coded-charset
2298         `japanese-jef-china3'.
2299
2300 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2301
2302         * chartab.c (XCHARSET_CELL_RANGE): New inline function.
2303         (decode_char_table_range): Use `XCHARSET_CELL_RANGE'; accept 94^3,
2304         94^4, 96^3, 96^4, 128^n and 256^n set.
2305         (put_char_table): Use `XCHARSET_CELL_RANGE'.
2306         (map_char_table): Likewise.
2307
2308 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2309
2310         * chartab.c (get_char_table): Use `get_char_id_table' in XEmacs
2311         UTF-2000.
2312
2313 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2314
2315         * chartab.h (get_char_id_table): New inline function.
2316
2317         * chartab.c (get_char_id_table): Moved to chartab.h as an inline
2318         function.
2319
2320 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2321
2322         * chartab.h (decode_char_table_range): New prototype in XEmacs
2323         UTF-2000.
2324         (put_char_id_table): New inline function in XEmacs UTF-2000.
2325
2326         * chartab.c (put_char_id_table): Moved to chartab.h as an inline
2327         function.
2328         (decode_char_table_range): Delete static declaration in XEmacs
2329         UTF-2000.
2330
2331 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2332
2333         * chartab.c (put_char_id_table): Use `put_char_table'.
2334
2335 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2336
2337         * chartab.c (map_over_uint8_byte_table): Delete argument `ccs'.
2338         (map_over_uint16_byte_table): Likewise.
2339         (map_over_byte_table): Likewise.
2340         (map_char_table): Modify for `map_over_uint8_byte_table',
2341         `map_over_uint16_byte_table' and `map_over_byte_table' in XEmacs
2342         UTF-2000.
2343
2344 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2345
2346         * chartab.c (struct map_char_table_for_charset_arg): New
2347         structure.
2348         (map_char_table_for_charset_fun): New function.
2349         (map_char_table): Use `map_char_table' for encoding_table of
2350         `range->charset'.
2351
2352 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2353
2354         * chartab.c (map_char_table): Check a character is found in
2355         range->charset instead of non default value is defined in
2356         char-table when range is CHARTAB_RANGE_ROW.
2357
2358 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2359
2360         * chartab.c (map_char_id_table): Deleted.
2361         (Fmap_char_attribute): Use `map_char_table' instead of
2362         `map_char_id_table'.
2363
2364 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2365
2366         * syntax.h (SYNTAX_CODE_UNSAFE): New implementation in XEmacs
2367         UTF-2000.
2368         (update_syntax_table): Deleted in XEmacs UTF-2000.
2369
2370         * syntax.c (find_defun_start): Use `syntax_table' instead of
2371         `mirror_syntax_table' in XEmacs UTF-2000.
2372         (Fset_syntax_table): Don't use `mirror_syntax_table' in XEmacs
2373         UTF-2000.
2374         (Fchar_syntax): Use `syntax_table' instead of `mirror_table' in
2375         XEmacs UTF-2000.
2376         (Fmatching_paren): Likewise.
2377         (scan_words): Use `syntax_table' instead of `mirror_syntax_table'
2378         in XEmacs UTF-2000.
2379         (find_start_of_comment): Likewise.
2380         (find_end_of_comment): Likewise.
2381         (Fforward_comment): Likewise.
2382         (scan_lists): Likewise.
2383         (char_quoted): Likewise.
2384         (Fbackward_prefix_chars): Likewise.
2385         (scan_sexps_forward): Likewise.
2386         (update_just_this_syntax_table): Deleted in XEmacs UTF-2000.
2387         (update_syntax_table): Likewise.
2388
2389         * search.c (skip_chars): Use `syntax_table' instead of
2390         `mirror_syntax_table' in XEmacs UTF-2000.
2391         (wordify): Likewise.
2392         (Freplace_match): Likewise.
2393
2394         * regex.c (re_compile_fastmap): Use `syntax_table' instead of
2395         `mirror_syntax_table' in XEmacs UTF-2000.
2396         (WORDCHAR_P_UNSAFE): Likewise.
2397         (re_match_2_internal): Likewise.
2398
2399         * font-lock.c (find_context): Use `buf->syntax_table' instead of
2400         `buf->mirror_syntax_table' in XEmacs UTF-2000.
2401
2402         * cmds.c (internal_self_insert): Use `buf->syntax_table' instead
2403         of `buf->mirror_syntax_table' in XEmacs UTF-2000.
2404
2405         * chartab.h (struct Lisp_Char_Table): Delete `mirror_table' in
2406         XEmacs UTF-2000.
2407
2408         * chartab.c (mark_char_table): Don't mark `mirror_table' in XEmacs
2409         UTF-2000.
2410         (print_char_table): Print `default_value' in XEmacs UTF-2000.
2411         (char_table_description): Delete `mirror_table' in XEmacs
2412         UTF-2000.
2413         (fill_char_table): Don't call `update_syntax_table' in XEmacs
2414         UTF-2000.
2415         (Fmake_char_table): Don't use `mirror_table' in XEmacs UTF-2000.
2416         (Fcopy_char_table): Likewise.
2417         (put_char_table): Don't call `update_syntax_table' in XEmacs
2418         UTF-2000.
2419
2420         * casefiddle.c (casify_object): Use `buf->syntax_table' instead of
2421         `buf->mirror_syntax_table' in XEmacs UTF-2000.
2422         (casify_region_internal): Likewise.
2423
2424         * bufslots.h: Delete `mirror_syntax_table' in XEmacs UTF-2000.
2425
2426         * buffer.c (common_init_complex_vars_of_buffer): Don't use
2427         `mirror_syntax_table' in XEmacs UTF-2000.
2428
2429         * abbrev.c (abbrev_match): Use `buf->syntax_table' instead of
2430         `buf->mirror_syntax_table' in XEmacs UTF-2000.
2431         (Fexpand_abbrev): Likewise.
2432
2433 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2434
2435         * chartab.c (vars_of_chartab): Update `utf-2000-version' to 0.18.
2436
2437 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2438
2439         * chartab.c (map_over_uint8_byte_table): Cancel temporary hack.
2440         (map_over_uint16_byte_table): Likewise.
2441         (map_over_byte_table): Likewise.
2442         (get_char_id_table): Refer `cit->default_value'.
2443         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
2444         (map_char_id_table): Use `1 << 30' instead of `1 << 24' as number
2445         of character-id ranges.
2446         (mark_char_table): Mark `ct->default_value'.
2447         (char_table_description): Add `default_value'.
2448         (fill_char_table): Use `default_value'.
2449         (decode_char_table_range): Decode `nil' as
2450         `CHARTAB_RANGE_DEFAULT'.
2451         (get_char_id_table): Refer `cit->default_value'.
2452         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
2453         (map_char_table): Support `CHARTAB_RANGE_DEFAULT'; cancel
2454         temporary hack; check value of char-table is bound or not.
2455         (slow_map_char_table_fun): Support `CHARTAB_RANGE_DEFAULT'.
2456
2457         * chartab.h (struct Lisp_Char_Table): Add new member
2458         `default_value' in XEmacs UTF-2000.
2459         (CHAR_TABLE_VALUE_UNSAFE): Use `default_value'.
2460         (enum chartab_range_type): Add `CHARTAB_RANGE_DEFAULT' in XEmacs
2461         UTF-2000.
2462
2463 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2464
2465         * chartab.h (Lisp_Char_ID_Table): Deleted.
2466
2467         * chartab.c (char_table_description): Fix typo.
2468         (Fmap_char_attribute): Use `Lisp_Char_Table' instead of
2469         `Lisp_Char_ID_Table'.
2470
2471 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2472
2473         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_TABLEP' instead of
2474         `CHAR_ID_TABLE_P'.
2475
2476         * mule-charset.c (remove_char_ccs): Use `CHAR_TABLEP' instead of
2477         `CHAR_ID_TABLE_P'.
2478
2479         * chartab.h (XCHAR_ID_TABLE): Deleted.
2480         (XSETCHAR_ID_TABLE): Deleted.
2481         (CHAR_ID_TABLE_P): Deleted.
2482
2483         * chartab.c (put_char_id_table): Use `CHAR_TABLEP' instead of
2484         `CHAR_ID_TABLE_P'.
2485         (Fget_composite_char): Likewise.
2486         (put_char_table): Likewise.
2487         (add_char_attribute_alist_mapper): Fixed.
2488         (Fchar_attribute_alist): Use `CHAR_TABLEP' instead of
2489         `CHAR_ID_TABLE_P'.
2490         (Fget_char_attribute): Likewise.
2491         (Fget_char_attribute): Likewise.
2492         (Fmap_char_attribute): Likewise.
2493
2494         * char-ucs.h (charset_code_point): Use `CHAR_TABLEP' instead of
2495         `CHAR_ID_TABLE_P'.
2496         (encode_char_1): Likewise.
2497
2498 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2499
2500         * text-coding.c (COMPOSE_ADD_CHAR): Use `XCHAR_TABLE' instead of
2501         `XCHAR_ID_TABLE'.
2502
2503         * mule-charset.c (put_char_ccs_code_point): Use `XCHAR_TABLE'
2504         instead of `XCHAR_ID_TABLE'.
2505         (remove_char_ccs): Likewise.
2506
2507         * chartab.c (put_char_id_table): Use `XCHAR_TABLE' instead of
2508         `XCHAR_ID_TABLE'.
2509         (Fget_composite_char): Likewise.
2510         (Fchar_variants): Likewise.
2511         (put_char_table): Likewise.
2512         (add_char_attribute_alist_mapper): Likewise.
2513         (Fchar_attribute_alist): Likewise.
2514         (Fget_char_attribute): Likewise.
2515         (Fput_char_attribute): Likewise.
2516         (Fmap_char_attribute): Likewise.
2517         (Fmap_char_attribute): Likewise.
2518
2519         * char-ucs.h (charset_code_point): Use `XCHAR_TABLE' instead of
2520         `XCHAR_ID_TABLE'.
2521         (encode_char_1): Likewise.
2522
2523 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2524
2525         * chartab.c (map_char_id_table): Use `Lisp_Char_Table' instead of
2526         `Lisp_Char_ID_Table'.
2527         (mark_char_id_table): Deleted.
2528         (print_char_id_table): Likewise.
2529         (char_id_table_equal): Likewise.
2530         (char_id_table_hash): Likewise.
2531         (char_id_table_description): Likewise.
2532         (char_id_table): Likewise.
2533         (make_char_id_table): Use `Fmake_char_table' and
2534         `fill_char_table'.
2535         (get_char_id_table): Use `Lisp_Char_Table' instead of
2536         `Lisp_Char_ID_Table'.
2537         (put_char_id_table): Likewise.
2538         (Fput_char_attribute): Use `XCHAR_TABLE' instead of
2539         `XCHAR_ID_TABLE'.
2540         (Fremove_char_attribute): Likewise.
2541         (syms_of_chartab): Don't define type `char-id-table'.
2542
2543         * chartab.h (struct Lisp_Char_ID_Table): Deleted.
2544         (char_id_table): Likewise.
2545         (GC_CHAR_ID_TABLE_P): Likewise.
2546         (Lisp_Char_ID_Table): Use structure `Lisp_Char_Table'.
2547         (XCHAR_ID_TABLE): Use `XCHAR_TABLE'.
2548         (XSETCHAR_ID_TABLE): Use `XSETCHAR_TABLE'.
2549         (CHAR_ID_TABLE_P): Use `CHAR_TABLEP'.
2550         (get_char_id_table): Use `Lisp_Char_Table' instead of
2551         `Lisp_Char_ID_Table'.
2552         (put_char_id_table_0): Likewise.
2553         (put_char_id_table): Likewise.
2554
2555 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2556
2557         * chartab.h: Lisp_Byte_Table related codes are moved from
2558         chartab.h.
2559
2560         * char-ucs.h: Move Lisp_Byte_Table related codes to chartab.h.
2561
2562 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2563
2564         * chartab.h: Don't include "chartab.h".
2565         (struct Lisp_Char_ID_Table): Moved from char-ucs.h.
2566         (Lisp_Char_ID_Table): Likewise.
2567         (char_id_table): Likewise.
2568         (XCHAR_ID_TABLE): Likewise.
2569         (XSETCHAR_ID_TABLE): Likewise.
2570         (CHAR_ID_TABLE_P): Likewise.
2571         (GC_CHAR_ID_TABLE_P): Likewise.
2572         (get_char_id_table): Likewise.
2573
2574         * char-ucs.h: Include "chartab.h".
2575         (struct Lisp_Char_ID_Table): Moved to chartab.h.
2576         (Lisp_Char_ID_Table): Likewise.
2577         (char_id_table): Likewise.
2578         (XCHAR_ID_TABLE): Likewise.
2579         (XSETCHAR_ID_TABLE): Likewise.
2580         (CHAR_ID_TABLE_P): Likewise.
2581         (GC_CHAR_ID_TABLE_P): Likewise.
2582         (get_char_id_table): Likewise.
2583
2584 2001-09-01  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2585
2586         * chartab.c (copy_uint8_byte_table): New function.
2587         (copy_uint16_byte_table): New function.
2588         (copy_byte_table): New function.
2589         (map_over_uint8_byte_table): Modify to avoid huge numbers of
2590         characters to call.
2591         (map_over_uint16_byte_table): Likewise.
2592         (map_over_byte_table): Likewise.
2593         (get_byte_table): Move prototype to chartab.h.
2594         (put_byte_table): Likewise.
2595         (put_char_id_table_0): Moved to chartab.h.
2596         (mark_char_table_entry): Don't define in XEmacs UTF-2000.
2597         (char_table_entry_equal): Likewise.
2598         (char_table_entry_hash): Likewise.
2599         (char_table_entry_description): Likewise.
2600         (char_table_entry): Likewise.
2601         (make_char_table_entry): Likewise.
2602         (copy_char_table_entry): Likewise.
2603         (get_non_ascii_char_table_value): Likewise.
2604         (map_over_charset_ascii): Likewise.
2605         (map_over_charset_control_1): Likewise.
2606         (map_over_charset_row): Likewise.
2607         (map_over_other_charset): Likewise.
2608         (mark_char_table): Modify for new structure in XEmacs UTF-2000.
2609         (print_char_table): Likewise.
2610         (char_table_equal): Likewise.
2611         (char_table_hash): Likewise.
2612         (char_table_description): Likewise.
2613         (fill_char_table): Likewise.
2614         (Fcopy_char_table): Likewise.
2615         (get_char_table): Likewise.
2616         (Fget_range_char_table): Likewise.
2617         (put_char_table): Likewise.
2618         (map_char_table): Likewise.
2619         (syms_of_chartab): Don't define `char_table_entry' in XEmacs
2620         UTF-2000.
2621
2622 2001-08-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2623
2624         * cmds.c (vars_of_cmds): Use `put_char_id_table_0' for
2625         `Vauto_fill_chars' in XEmacs UTF-2000.
2626
2627         * chartab.h (get_byte_table): New prototype [moved from
2628         chartab.c].
2629         (put_byte_table): Likewise [moved from chartab.c].
2630         (put_char_id_table_0): New inline function [moved from chartab.c].
2631         (struct Lisp_Char_Table_Entry): Don't define in XEmacs UTF-2000.
2632         (Lisp_Char_Table_Entry): Likewise.
2633         (char_table_entry): Likewise.
2634         (XCHAR_TABLE_ENTRY): Likewise.
2635         (XSETCHAR_TABLE_ENTRY): Likewise.
2636         (CHAR_TABLE_ENTRYP): Likewise.
2637         (CHECK_CHAR_TABLE_ENTRY): Likewise.
2638         (NUM_ASCII_CHARS): Likewise.
2639         (struct Lisp_Char_Table): New implementation in XEmacs UTF-2000.
2640         (CHAR_TABLE_VALUE_UNSAFE): Likewise.
2641
2642 2001-08-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2643
2644         * chartab.c (get_char_id_table): Change interface.
2645         (put_char_id_table_0): New function.
2646         (put_char_id_table): Change interface; new implementation.
2647         (Fget_composite_char): Modify for interface change of
2648         `get_char_id_table'.
2649         (Fchar_variants): Likewise.
2650         (add_char_attribute_alist_mapper): Likewise.
2651         (Fchar_attribute_alist): Likewise.
2652         (Fget_char_attribute): Likewise.
2653         (Fput_char_attribute): Allow coded-charset or [CODED-CHARSET ROW]
2654         as same as character as the first argument like `put-char-table';
2655         modify for interface change of `put_char_id_table'.
2656         (Fremove_char_attribute): Modify for interface change of
2657         `put_char_id_table'.
2658
2659 2001-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2660
2661         * text-coding.c: Sync up with XEmacs 21.2.41.
2662         (COMPOSE_ADD_CHAR): Modify for interface change of
2663         `get_char_id_table'.
2664
2665         * mule-charset.c (put_char_ccs_code_point): Modify for interface
2666         change of `put_char_id_table'.
2667         (remove_char_ccs): Likewise.
2668
2669         * chartab.h (put_char_id_table): Change interface.
2670
2671         * char-ucs.h (get_char_id_table): Change interface.
2672         (charset_code_point): Modify for interface change of
2673         `get_char_id_table'.
2674         (encode_char_1): Likewise.
2675
2676 2001-08-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2677
2678         * chartab.c (map_over_uint8_byte_table): Change arguments; add new
2679         argument `ccs'.
2680         (map_over_uint16_byte_table): Likewise.
2681         (map_over_byte_table): Likewise.
2682         (map_char_id_table): Add new argument `range' like
2683         `map_char_table'.
2684         (Fmap_char_attribute): Add new argument `range' like
2685         `Fmap_char_table'.
2686
2687 2001-08-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2688
2689         * chartab.c (map_over_uint8_byte_table): Change interface of
2690         mapping function to use struct chartab_range instead of Emchar.
2691         (map_over_uint16_byte_table): Likewise.
2692         (map_over_byte_table): Likewise.
2693         (map_char_id_table): Likewise.
2694         (struct slow_map_char_id_table_arg): Deleted.
2695         (slow_map_char_id_table_fun): Deleted.
2696         (Fmap_char_attribute): Use struct `slow_map_char_table_arg' and
2697         function `slow_map_char_table_fun' instead of struct
2698         `slow_map_char_id_table_arg' and function
2699         `slow_map_char_id_table_fun'.
2700
2701 2001-08-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2702
2703         * mule-charset.c: Move char-it-table related codes to chartab.c.
2704         (Vutf_2000_version): Moved to chartab.c.
2705         (Fdefine_char): Likewise.
2706         (Ffind_char): Likewise.
2707         (syms_of_mule_charset): Move types `uint8-byte-table',
2708         `uint16-byte-table', `byte-table' and `char-id-table' to
2709         chartab.c; move functions `char_attribute_list,
2710         `find_char_attribute_table, `char_attribute_alist,
2711         `get_char_attribute, `put_char_attribute, `remove_char_attribute,
2712         `map_char_attribute, `define_char, `find_char, `char_variants and
2713         `get_composite_char to chartab.c; move symbols `=>ucs',
2714         `->decomposition', `compat', `isolated', `initial', `medial',
2715         `final', `vertical', `noBreak', `fraction', `super', `sub',
2716         `circle', `square', `wide', `narrow', `small' and `font' to
2717         chartab.c.
2718         (vars_of_mule_charset): Move `utf-2000-version' to chartab.c; move
2719         setting codes for `Vcharacter_composition_table' and
2720         `Vcharacter_variant_table' to chartab.c.
2721         (complex_vars_of_mule_charset): Move setting code for
2722         `Vchar_attribute_hash_table' to chartab.c.
2723
2724         * chartab.h: Include "char-ucs.h" if --with-utf-2000 is specified.
2725         (make_char_id_table): New prototype.
2726         (put_char_id_table): Likewise.
2727         (Fget_char_attribute): Likewise.
2728
2729         * chartab.c: Move char-id-table related code from mule-charset.c.
2730         (Vutf_2000_version): Moved from mule-charset.c.
2731
2732         * char-ucs.h (Qucs): New external variable.
2733         (put_char_ccs_code_point): New prototype.
2734         (remove_char_ccs): Likewise.
2735
2736 2001-08-14  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2737
2738         * mule-charset.c (Vcharset_ucs_jis): New variable.
2739         (Qucs_jis): Likewise.
2740         (syms_of_mule_charset): Add new symbol `ucs-jis'.
2741         (complex_vars_of_mule_charset): Add new coded-charset `ucs-jis'.
2742
2743         * char-ucs.h (LEADING_BYTE_UCS_JIS): New macro.
2744
2745 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2746
2747         * mule-charset.c (map_over_uint8_byte_table): New function.
2748         (map_over_uint16_byte_table): Likewise.
2749         (map_over_byte_table): Likewise.
2750         (map_char_id_table): Likewise.
2751         (slow_map_char_id_table_fun): Likewise.
2752         (Fmap_char_attribute): Likewise.
2753         (syms_of_mule_charset): Add new function `map-char-attribute'.
2754
2755 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2756
2757         * mule-charset.c (Ffind_char): New function in XEmacs UTF-2000.
2758         (syms_of_mule_charset): Add new function `find-char'.
2759
2760 2001-08-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2761
2762         * mule-charset.c (Vcharset_chinese_big5_cdp): New variable in
2763         XEmacs UTF-2000.
2764         (Qchinese_big5_cdp): New variable in XEmacs UTF-2000.
2765         (syms_of_mule_charset): Add new symbol `chinese-big5-cdp' in
2766         XEmacs UTF-2000.
2767         (complex_vars_of_mule_charset): Add new coded-charset
2768         `chinese-big5-cdp' in XEmacs UTF-2000; change registry of
2769         `ideograph-gt-pj-*'.
2770
2771         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5_CDP): New macro.
2772
2773 2001-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2774
2775         * mule-charset.c (encode_builtin_char_1): Purge codes about
2776         {MIN|MAX}_CHAR_{GREEK|CYRILLIC}; comment out code about
2777         {MIN|MAX}_CHAR_HEBREW.
2778         (complex_vars_of_mule_charset): Comment out {MIN|MAX}_CHAR_HEBREW;
2779         don't use {MIN|MAX}_CHAR_HEBREW to define `hebrew-iso8859-8'.
2780
2781         * char-ucs.h (MIN_CHAR_GREEK): Purged.
2782         (MAX_CHAR_GREEK): Purged.
2783         (MIN_CHAR_CYRILLIC): Purged.
2784         (MAX_CHAR_CYRILLIC): Purged.
2785         (MIN_CHAR_HEBREW): Commented out.
2786         (MAX_CHAR_HEBREW): Likewise.
2787
2788 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2789
2790         * mule-charset.c (Qto_ucs): New variable.
2791         (Fput_char_attribute): Treat `=>ucs' as same as `->ucs'.
2792         (Fdefine_char): Likewise.
2793         (syms_of_mule_charset): Add new symbol `=>ucs'.
2794
2795 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2796
2797         * mule-charset.c (Fdecode_char): Fixed.
2798
2799 2001-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2800
2801         * mule-charset.c (complex_vars_of_mule_charset): Modify registry
2802         of latin-tcvn5712 to accept "tcvn5712.1993-1" as same as
2803         "tcvn5712-1".
2804
2805 2001-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2806
2807         * mule-charset.c (Vcharset_ucs_big5): New variable.
2808         (Qucs_big5): Likewise.
2809         (syms_of_mule_charset): Add new symbol `ucs-big5'.
2810         (complex_vars_of_mule_charset): Add new coded-charset `ucs-big5'.
2811
2812         * char-ucs.h (LEADING_BYTE_UCS_BIG5): New macro.
2813
2814 2001-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2815
2816         * mule-charset.c (decode_builtin_char): Check Big5 code range
2817         which can be mapped to `chinese-big5-1' and `chinese-big5-2'.
2818
2819 2001-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2820
2821         * mule-charset.c (Vcharset_chinese_gb12345): New variable.
2822         (Qchinese_gb12345): Likewise.
2823         (Fdecode_builtin_char): Fixed.
2824         (syms_of_mule_charset): Add `chinese-gb12345'.
2825         (complex_vars_of_mule_charset): Add coded-charset
2826         `chinese-gb12345'.
2827
2828         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x70.
2829         (LEADING_BYTE_CHINESE_GB12345): New macro.
2830
2831 2001-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2832
2833         * mule-charset.c (Fdecode_builtin_char): Use `latin-viscii-lower'
2834         and `latin-viscii-upper' for `latin-viscii'.
2835
2836 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2837
2838         * mule-charset.c (Fdecode_builtin_char): Comment out
2839         regularization code for ISO-IR GR representation.
2840
2841 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2842
2843         * mule-charset.c (decode_builtin_char): New function; renamed from
2844         `make_builtin_char'; return -1 instead of signal.
2845         (Fdecode_builtin_char): Use `decode_builtin_char'.
2846
2847         * char-ucs.h (decode_builtin_char): New prototype; renamed from
2848         `make_builtin_char'.
2849         (DECODE_CHAR): Use `decode_builtin_char' instead of
2850         `make_builtin_char'; use mapping table of `chinese-big5' for
2851         `chinese-big5-{1,2}'.
2852
2853 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2854
2855         * text-coding.c (char_encode_big5): New function.
2856         (char_finish_big5): Likewise.
2857         (reset_encoding_stream): Use `char_encode_big5' and
2858         `char_finish_big5' for CODESYS_BIG5.
2859         (mule_encode): Don't use `encode_coding_big5'.
2860         (encode_coding_big5): Deleted.
2861
2862 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2863
2864         * text-coding.c (BYTE_BIG5_TWO_BYTE_1_P): Support private area
2865         0x81- in XEmacs UTF-2000.
2866         (detect_coding_big5): Likewise.
2867
2868 2001-07-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2869
2870         * mule-charset.c (Fdefine_char): Don't use a CCS property to
2871         generate character-id if the CCS property does not have
2872         corresponding predefined character.
2873         (make_builtin_char): Return -1 if corresponding predefined
2874         character is not found.
2875         (Fdecode_char): Return nil if corresponding character is not
2876         found.
2877         (complex_vars_of_mule_charset): Change `ucs-cns' to 256^3-set and
2878         don't map to builtin ucs space.
2879
2880 2001-07-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2881
2882         * char-ucs.h (MAX_LEADING_BYTE_PRIVATE): Fixed.
2883         (MAX_CHAR_GT): Changed to `(MIN_CHAR_GT + 66773)'.
2884
2885 2001-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2886
2887         * mule-charset.c (Vcharset_ideograph_gt): New variable.
2888         (Vcharset_ideograph_gt_pj_{1..11}): Likewise.
2889         (Qideograph_gt): Likewise.
2890         (Qideograph_gt_pj_{1..11}): Likewise.
2891         (syms_of_mule_charset): Add `ideograph-gt', `ideograph-gt-pj-1',
2892         `ideograph-gt-pj-2', ..., `ideograph-gt-pj-10' and
2893         `ideograph-gt-pj-11'.
2894         (complex_vars_of_mule_charset): Add coded-charset `ideograph-gt',
2895         `ideograph-gt-pj-1', `ideograph-gt-pj-2', ...,
2896         `ideograph-gt-pj-10' and `ideograph-gt-pj-11'.
2897
2898         * char-ucs.h (LEADING_BYTE_GT): New macro.
2899         (LEADING_BYTE_GT_PJ_{1..11}): Likewise.
2900         (MIN_CHAR_GT): Likewise.
2901         (MAX_CHAR_GT): Likewise.
2902
2903 2001-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2904
2905         * lisp-disunion.h (XCHARVAL): New implementation for UTF-2000 to
2906         support U-60000000 .. U-7FFFFFFF with 32 bits architecture.
2907
2908         * doprnt.c (unsigned_int_converters): Add `c'.
2909         (emacs_doprnt_1): Use `XUINT' for unsigned integers.
2910
2911         * char-ucs.h (MIN_CHAR_DAIKANWA): Don't refer `MIN_CHAR_MOJIKYO'.
2912         (MAX_CHAR_DAIKANWA): Refer `MIN_CHAR_DAIKANWA' instead of
2913         `MIN_CHAR_MOJIKYO'.
2914         (MIN_CHAR_MOJIKYO_0): New macro; refer `MIN_CHAR_DAIKANWA'.
2915         (MAX_CHAR_MOJIKYO_0): New macro.
2916         (MIN_CHAR_MOJIKYO): Changed to 0x60000000.
2917
2918 2001-06-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2919
2920         * mule-charset.c (Fdefine_char): Delete cemented out code.
2921         (encode_builtin_char_1): Modify for new allocation of builtin
2922         Mojikyo characters.
2923
2924         * lisp-disunion.h (XCHARVAL): Cast the argument into EMACS_UINT.
2925
2926 2001-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2927
2928         * mule-charset.c (Vcharset_ucs_cns): New variable.
2929         (Qucs_cns): New variable.
2930         (syms_of_mule_charset): Add new symbol `ucs-cns'.
2931         (complex_vars_of_mule_charset): Add new coded-charset `ucs-cns'.
2932
2933 2001-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2934
2935         * char-ucs.h (LEADING_BYTE_UCS_CNS): New macro.
2936
2937 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
2938
2939         * search.c (search_buffer): Make `charset_base_code' as
2940         character-id >> 6 to eliminate the corresponding last byte in
2941         UTF-8 representation [I'm not sure it is right thing].
2942         (boyer_moore): Likewise.
2943
2944 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
2945
2946         * emacs.c (vars_of_emacs): Convert XEMACS_CODENAME to internal
2947         representation in MULE.
2948
2949 2000-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2950
2951         * text-coding.c (Fmake_coding_system): Use
2952         `EXTERNAL_PROPERTY_LIST_LOOP_3' instead of
2953         `EXTERNAL_PROPERTY_LIST_LOOP'.
2954
2955 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2956
2957         * text-coding.c (decode_output_utf8_partial_char): New function.
2958         (decode_coding_utf8): Use `decode_output_utf8_partial_char'.
2959
2960 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2961
2962         * text-coding.c (decode_coding_utf8): Output original byte
2963         sequence if it is broken; change order of conditions.
2964
2965         * mb-utf-8.h (REP_BYTES_BY_FIRST_BYTE): Use Bufbyte; reverse order
2966         of conditions.
2967
2968         * mb-multibyte.h (BYTE_ASCII_P):
2969         Use bit ops for char-signedness safety.
2970         (BYTE_C0_P): Use bit ops for char-signedness safety.
2971         (BYTE_C1_P): Use bit ops for char-signedness safety.
2972
2973         * character.h: (XCHAR_OR_CHAR_INT):
2974         Always use inline function.
2975         Remove redundant type checking assert() - XINT will abort quite
2976         nicely.
2977
2978 2000-11-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2979
2980         * text-coding.c: (Fencode_shift_jis_char):
2981         (Fencode_big5_char):
2982         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
2983         Replace 0 with '\0' when working with bytes.
2984         Replace initial "(" with "\(" in docstrings.
2985
2986         (Fmake_coding_system):
2987         When type is ccl and value is vector, register it with a proper
2988         symbol.  And checks whether the given ccl program is valid.
2989         (mule_decode): When calling ccl_driver, if src indicates
2990         NULL pointer, set an empty string instead.
2991         (mule_encode): Likewise.
2992
2993         (detect_eol_type):
2994         (detect_coding_sjis):
2995         (decode_coding_sjis):
2996         (detect_coding_big5):
2997         (decode_coding_big5):
2998         (detect_coding_ucs4):
2999         (decode_coding_ucs4):
3000         (detect_coding_utf8):
3001         (decode_coding_utf8):
3002         (detect_coding_iso2022):
3003         (decode_coding_iso2022):
3004         (decode_coding_no_conversion):
3005         (mule_decode):
3006         Make all detecting and decoding functions take an Extbyte * arg.
3007         (text_encode_generic):
3008         (encode_coding_big5):
3009         (encode_coding_no_conversion):
3010         (mule_encode):
3011         Make all encoding functions take a Bufbyte * arg.
3012         Use size_t instead of unsigned int for memory sizes.
3013         Only cast to unsigned char whenever dereferencing Extbyte *.
3014
3015         (struct lrecord_description fcd_description_1): Use countof.
3016         (complex_vars_of_file_coding):
3017         Use countof instead of sizeof.
3018         Use CHECK_NATNUM instead of CHECK_INT.
3019
3020 2000-11-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3021
3022         * mule-charset.c (Fget_char_attribute): Add new optional argument
3023         `default-value'.
3024         (put_char_ccs_code_point): Modify for `Fget_char_attribute'.
3025         (remove_char_ccs): Likewise.
3026
3027 2000-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3028
3029         * text-coding.c (char_encode_shift_jis): New implementation in
3030         UTF-2000.
3031         (decode_coding_big5): Use `DECODE_CHAR (Vcharset_chinese_big5,
3032         ...)'.
3033
3034         * mule-charset.c (Vcharset_chinese_big5): New variable in
3035         UTF-2000.
3036         (Qchinese_big5): New variable in UTF-2000.
3037         (BIG5_SAME_ROW): New macro in UTF-2000.
3038         (make_builtin_char): Use builtin characters of
3039         `Vcharset_chinese_big5_1' and `Vcharset_chinese_big5_2' as builtin
3040         characters of `Vcharset_chinese_big5'.
3041         (syms_of_mule_charset): Add new symbol `chinese-big5' in UTF-2000.
3042         (complex_vars_of_mule_charset): Add new coded-charset
3043         `chinese-big5' in UTF-2000.
3044
3045         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5): New macro.
3046         (Vcharset_chinese_big5): New external variable declaration.
3047         (Vcharset_japanese_jisx0208_1990): Likewise.
3048
3049 2000-07-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3050
3051         * mule-charset.c (expand_uint8_byte_table_to_uint16): New
3052         function.
3053         (put_byte_table): Use `expand_uint8_byte_table_to_uint16'.
3054
3055 2000-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3056
3057         * mule-charset.c (complex_vars_of_mule_charset): Define new macro
3058         `DEF_MOJIKYO_PJ' in UTF-2000; use `DEF_MOJIKYO_PJ' to define
3059         `mojikyo-pj-*'; add "MojikyoPJ-*" to charset-registry of
3060         `mojikyo-pj-*'.
3061
3062 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3063
3064         * text-coding.c (decode_coding_big5): Modify for UTF-2000.
3065
3066 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3067
3068         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3069         to 0.17.
3070
3071 2000-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3072
3073         * file-coding.c (ucs_to_char): Don't use `CHARSET_TYPE_*'; modify
3074         for `CHARSET_BY_ATTRIBUTES'.
3075         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
3076         `CHARSET_BY_ATTRIBUTES'.
3077
3078         * text-coding.c (struct decoding_stream): Rename member `CH' to
3079         `CPOS'.
3080         (reset_decoding_stream): Use `str->cpos' instead of `str->ch'.
3081         (decode_coding_sjis): Likewise.
3082         (decode_coding_big5): Likewise.
3083         (decode_coding_ucs4): Likewise.
3084         (decode_coding_utf8): Likewise.
3085         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
3086         `CHARSET_BY_ATTRIBUTES'.
3087         (decode_coding_iso2022): Use `str->cpos' instead of `str->ch'; use
3088         `str->counter'; decode 3, 4 bytes sets.
3089         (char_encode_iso2022): Don't use `BREAKUP_CHAR'; encode 3, 4 bytes
3090         sets.
3091         (decode_coding_no_conversion): Use `str->cpos' instead of
3092         `str->ch'.
3093
3094         * mule-charset.c (Vcharset_mojikyo_2022_1): New variable.
3095         (Qmojikyo_2022_1): New variable.
3096         (make_charset): Don't use `CHARSET_TYPE_*'.
3097         (range_charset_code_point): Support coded-charset
3098         `mojikyo-2022-1'.
3099         (encode_builtin_char_1): Modify for `CHARSET_BY_ATTRIBUTES'.
3100         (Fmake_charset): Don't use `CHARSET_TYPE_*'; modify for
3101         `CHARSET_BY_ATTRIBUTES'.
3102         (Fcharset_from_attributes): Don't use `CHARSET_TYPE_*'; modify for
3103         `CHARSET_BY_ATTRIBUTES'.
3104         (syms_of_mule_charset): Add new symbol `mojikyo-2022-1'.
3105         (complex_vars_of_mule_charset): Add new coded-charset
3106         `mojikyo-2022-1'.
3107
3108         * mule-charset.h (CHARSET_BY_ATTRIBUTES): New implementation and
3109         interface; changed to inline function.
3110
3111         * char-ucs.h (Vcharset_mojikyo_2022_1): New variable.
3112         (LEADING_BYTE_MOJIKYO_2022_1): New macro.
3113         (LEADING_BYTE_MOJIKYO_2022_2): New macro.
3114         (CHARSET_TYPE_94): Deleted.
3115         (CHARSET_TYPE_94X94): Deleted.
3116         (CHARSET_TYPE_96): Deleted.
3117         (CHARSET_TYPE_96X96): Deleted.
3118         (CHARSET_TYPE_128): Deleted.
3119         (CHARSET_TYPE_128X128): Deleted.
3120         (CHARSET_TYPE_256): Deleted.
3121         (CHARSET_TYPE_256X256): Deleted.
3122         (CHARSET_BY_ATTRIBUTES): New implementation and interface; changed
3123         to inline function.
3124         (DECODE_MOJIKYO_2022): New inline function.
3125         (DECODE_CHAR): Use `DECODE_MOJIKYO_2022'; decode
3126         `Vcharset_mojikyo_2022_1'.
3127
3128 2000-07-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3129
3130         * mule-charset.c (byte_table_same_value_p): Use `internal_equal'
3131         instead of `EQ'.
3132         (put_byte_table): Likewise.
3133         (char_id_table_equal): Use `get_byte_table' [new implementation].
3134
3135 2000-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3136
3137         * mule-charset.c: Include <limits.h> in UTF-2000.
3138         (BT_UINT8_MIN): New macro in UTF-2000.
3139         (BT_UINT8_MAX): New macro in UTF-2000.
3140         (BT_UINT8_t): New macro in UTF-2000.
3141         (BT_UINT8_nil): New macro in UTF-2000.
3142         (BT_UINT8_unbound): New macro in UTF-2000.
3143         (INT_UINT8_P): New inline function in UTF-2000.
3144         (UINT8_VALUE_P): New inline function in UTF-2000.
3145         (UINT8_ENCODE): New inline function in UTF-2000.
3146         (UINT8_DECODE): New inline function in UTF-2000.
3147         (mark_uint8_byte_table): New function in UTF-2000.
3148         (print_uint8_byte_table): New function in UTF-2000.
3149         (uint8_byte_table_equal): New function in UTF-2000.
3150         (uint8_byte_table_hash): New function in UTF-2000.
3151         (make_uint8_byte_table): New function in UTF-2000.
3152         (uint8_byte_table_same_value_p): New function in UTF-2000.
3153         (BT_UINT16_MIN): New macro in UTF-2000.
3154         (BT_UINT16_MAX): New macro in UTF-2000.
3155         (BT_UINT16_t): New macro in UTF-2000.
3156         (BT_UINT16_nil): New macro in UTF-2000.
3157         (BT_UINT16_unbound): New macro in UTF-2000.
3158         (INT_UINT16_P): New inline function in UTF-2000.
3159         (UINT16_VALUE_P): New inline function in UTF-2000.
3160         (UINT16_ENCODE): New inline function in UTF-2000.
3161         (UINT16_DECODE): New inline function in UTF-2000.
3162         (UINT8_TO_UINT16): New inline function in UTF-2000.
3163         (mark_uint16_byte_table): New function in UTF-2000.
3164         (print_uint16_byte_table): New function in UTF-2000.
3165         (uint16_byte_table_equal): New function in UTF-2000.
3166         (uint16_byte_table_hash): New function in UTF-2000.
3167         (make_uint16_byte_table): New function in UTF-2000.
3168         (uint16_byte_table_same_value_p): New function in UTF-2000.
3169         (print_byte_table): New function in UTF-2000.
3170         (byte-table): Use `print_byte_table' as printer.
3171         (make_byte_table): Delete second argument `older'.
3172         (byte_table_same_value_p): New function in UTF-2000.
3173         (copy_byte_table): Deleted.
3174         (get_byte_table): New function in UTF-2000.
3175         (put_byte_table): New function in UTF-2000.
3176         (print_char_id_table): New function in UTF-2000.
3177         (char-id-table): Use `print_char_id_table' as printer.
3178         (make_char_id_table): Delete second argument `older'.
3179         (get_char_id_table): Use `get_byte_table [new implementation].
3180         (put_char_id_table): Use `get_byte_table and `put_byte_table' [new
3181         implementation].
3182         (Ffind_char_attribute_table): New function in UTF-2000.
3183         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
3184         (syms_of_mule_charset): Add LRECORD_IMPLEMENTATION
3185         `uint8_byte_table' and `uint16_byte_table' in UTF-2000.
3186         (syms_of_mule_charset): Add new function
3187         `find-char-attribute-table' in UTF-2000.
3188
3189         * lrecord.h (enum lrecord_type): Add
3190         `lrecord_type_uint16_byte_table' and
3191         `lrecord_type_uint8_byte_table'.
3192
3193         * char-ucs.h (struct Lisp_Uint8_Byte_Table): New structure.
3194         (Lisp_Uint8_Byte_Table): New type.
3195         (XUINT8_BYTE_TABLE): New macro.
3196         (XSETUINT8_BYTE_TABLE): New macro.
3197         (UINT8_BYTE_TABLE_P): New macro.
3198         (GC_UINT8_BYTE_TABLE_P): New macro.
3199         (struct Lisp_Uint16_Byte_Table): New structure.
3200         (Lisp_Uint16_Byte_Table): New type.
3201         (XUINT16_BYTE_TABLE): New macro.
3202         (XSETUINT16_BYTE_TABLE): New macro.
3203         (UINT16_BYTE_TABLE_P): New macro.
3204         (GC_UINT16_BYTE_TABLE_P): New macro.
3205
3206 2000-07-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3207
3208         * mule-charset.c (Vcharacter_ideographic_radical_table): Deleted.
3209         (Vcharacter_ideographic_strokes_table): Deleted.
3210         (Vcharacter_total_strokes_table): Deleted.
3211         (Vcharacter_morohashi_daikanwa_table): Deleted.
3212         (Vcharacter_decomposition_table): Deleted.
3213         (Qname): Deleted because it is duplicated.
3214         (Qideographic_radical): Deleted.
3215         (Qideographic_strokes): Deleted.
3216         (Qtotal_strokes): Deleted.
3217         (Qmorohashi_daikanwa): Deleted.
3218         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' for
3219         `ideographic-radical', `ideographic-strokes', `total-strokes',
3220         `morohashi-daikanwa' and `->decomposition'.
3221         (Fget_char_attribute): Likewise.
3222         (Fput_char_attribute): Likewise; use `make-vector' instead of
3223         `make_older_vector' for `->decomposition' value.
3224         (Fdefine_char): Comment out code to check `morohashi-daikanwa' and
3225         `ideograph-daikanwa'.
3226         (syms_of_mule_charset): Delete builtin symbols `name',
3227         `ideographic-radical', `ideographic-strokes', `total-strokes' and
3228         `morohashi-daikanwa'.
3229         (vars_of_mule_charset): Don't setup
3230         `Vcharacter_ideographic_radical_table',
3231         `Vcharacter_ideographic_strokes_table',
3232         `Vcharacter_total_strokes_table',
3233         `Vcharacter_morohashi_daikanwa_table' and
3234         `Vcharacter_decomposition_table'.
3235
3236 2000-06-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3237
3238         * alloc.c: Use `HAVE_GGC' instead of `UTF2000' for
3239         `make_older_vector', `make_vector_newer_1' and
3240         `make_vector_newer'.
3241
3242         * lisp.h: Use `HAVE_GGC' instead of `UTF2000' for
3243         `make_older_vector' and `make_vector_newer'.
3244
3245         * config.h.in (HAVE_GGC): New macro.
3246
3247 2000-06-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3248
3249         * mule-charset.c (struct char_attribute_list_closure): New
3250         structure in UTF-2000.
3251         (add_char_attribute_to_list_mapper): New function in UTF-2000.
3252         (Fchar_attribute_list): Likewise.
3253         (Fset_charset_mapping_table): Use `make_vector_newer'.
3254         (Fdecode_builtin_char): New function in UTF-2000.
3255         (syms_of_mule_charset): Add new function `char-attribute-list' and
3256         `decode-builtin-char' in UTF-2000.
3257
3258         * lisp.h (make_vector_newer): New prototype.
3259
3260         * alloc.c (make_vector_newer_1): New function.
3261         (make_vector_newer): New function.
3262
3263 2000-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3264
3265         * char-ucs.h (MAX_CHAR_DAIKANWA): Changed to `(MIN_CHAR_MOJIKYO +
3266         50100)'.
3267
3268 2000-06-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3269
3270         * mule-charset.c (Vchar_attribute_hash_table): New variable.
3271         (Vcharacter_attribute_table): Deleted.
3272         (Vcharacter_name_table): Deleted.
3273         (put_char_attribute): Deleted.
3274         (remove_char_attribute): Deleted.
3275         (struct char_attribute_alist_closure): New structure.
3276         (add_char_attribute_alist_mapper): New function.
3277         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' instead
3278         of `Vcharacter_attribute_table' and `Vcharacter_name_table'.
3279         (Fget_char_attribute): Likewise.
3280         (Fput_char_attribute): Likewise.
3281         (Fremove_char_attribute): Use `Vchar_attribute_hash_table' instead
3282         of `remove_char_attribute'.
3283         (Fdefine_char): Return character.
3284         (vars_of_mule_charset): Don't setup `Vcharacter_attribute_table'
3285         and `Vcharacter_name_table'.
3286         (complex_vars_of_mule_charset): Likewise
3287         `Vchar_attribute_hash_table'.
3288
3289 2000-06-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3290
3291         * character.h (CHARC_CHARSET): New macro.
3292         (CHARC_CHARSET_ID): New macro.
3293         (CHARC_CODE_POINT): New macro.
3294         (CHARC_COLUMNS): New macro.
3295         (CHARC_TO_CHAR): New inline function.
3296         (CHARC_EQ): New inline function.
3297         (CHARC_ASCII_EQ): New inline function.
3298         (CHARC_IS_SPACE): New inline function.
3299         (ASCII_TO_CHARC): New inline function.
3300
3301         * char-ucs.h (encode_char_2): Deleted.
3302         (ENCODE_CHAR): Use `encode_char_1' again.
3303         (breakup_char_1): Likewise.
3304         (CHAR_TO_CHARC): New inline function.
3305
3306         * char-lb.h, char-1byte.h (CHAR_TO_CHARC): New inline function.
3307
3308 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3309
3310         * redisplay.c (add_emchar_rune): Use `ASCII_TO_CHARC',
3311         `CHAR_TO_CHARC' and `CHARC_CHARSET'.
3312         (create_text_block): Use `CHARC_ASCII_EQ' and `CHARC_IS_SPACE'.
3313         (generate_formatted_string_db): Use `CHARC_TO_CHAR'.
3314         (create_string_text_block): Use `CHARC_ASCII_EQ' and
3315         `CHARC_IS_SPACE'.
3316         (pixel_to_glyph_translation): Use `CHARC_ASCII_EQ'.
3317
3318         * redisplay-x.c (separate_textual_runs): Use `CHARC_CHARSET' and
3319         `CHARC_CODE_POINT'.
3320         (x_output_display_block): Use `CHARC_CHARSET' and
3321         `CHARC_ASCII_EQ'.
3322
3323         * redisplay-tty.c (tty_output_display_block): Use
3324         `CHARC_ASCII_EQ'.
3325         (tty_output_display_block): Likewise; use `ASCII_TO_CHARC'.
3326
3327         * redisplay-output.c (compare_runes): Use `CHARC_EQ'.
3328
3329         * insdel.c (find_charsets_in_charc_string): Use
3330         `CHARC_CHARSET_ID'.
3331         (charc_string_displayed_columns): Use `CHARC_COLUMNS'.
3332         (convert_bufbyte_string_into_charc_dynarr): Use `CHAR_TO_CHARC'.
3333         (convert_charc_string_into_bufbyte_dynarr): Use `CHARC_TO_CHAR'.
3334         (convert_charc_string_into_malloced_string): Likewise.
3335
3336 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3337
3338         * toolbar-x.c (x_output_toolbar_button): Use <Charc_dynarr *>
3339         instead of <Emchar_dynarr *> for buf; use
3340         `convert_bufbyte_string_into_charc_dynarr' instead of
3341         `convert_bufbyte_string_into_emchar_dynarr'; use
3342         `find_charsets_in_charc_string' instead of
3343         `find_charsets_in_emchar_string'.
3344
3345         * redisplay.h:
3346         - Include "character.h".
3347         (struct rune): New member `cglyph'; delete member `chr'.
3348
3349         * redisplay.c (redisplay_text_width_charc_string): New function;
3350         delete `redisplay_text_width_emchar_string'.
3351         (rtw_charc_dynarr): New variable; renamed from
3352         `rtw_emchar_dynarr'.
3353         (redisplay_text_width_string): Use `rtw_charc_dynarr' instead of
3354         `rtw_emchar_dynarr'; use
3355         `convert_bufbyte_string_into_charc_dynarr' instead of
3356         `convert_bufbyte_string_into_emchar_dynarr'; use
3357         `redisplay_text_width_charc_string' instead of
3358         `redisplay_text_width_emchar_string'.
3359         (redisplay_frame_text_width_string): Use `rtw_charc_dynarr'
3360         instead of `rtw_emchar_dynarr'; use
3361         `convert_bufbyte_string_into_charc_dynarr' instead of
3362         `convert_bufbyte_string_into_emchar_dynarr'.
3363         (add_emchar_rune): Add <Charc> instead of <Emchar>; use
3364         `redisplay_text_width_charc_string' instead of
3365         `redisplay_text_width_emchar_string'.
3366         (create_text_block): Modify for <struct rune> change.
3367         (generate_formatted_string_db): Likewise.
3368         (create_string_text_block): Likewise.
3369         (pixel_to_glyph_translation): Likewise.
3370
3371         * redisplay-x.c (separate_textual_runs): Use <const Charc *>
3372         instead of <const Emchar *>.
3373         (x_text_width): Likewise.
3374         (x_output_display_block): Use <Charc_dynarr *> instead
3375         <Emchar_dynarr *>; modify for <structure rune> change.
3376         (x_output_string): Use <Charc_dynarr *> instead of <Emchar_dynarr
3377         *>.
3378
3379         * redisplay-tty.c (tty_text_width): Use <const Charc *> instead of
3380         <const Emchar *>; use `charc_string_displayed_columns' instead of
3381         `emchar_string_displayed_columns'.
3382         (tty_output_display_block): Use <Charc_dynarr *> instead of
3383         <Emchar_dynarr *> for buf; modify for <structure rune> change; use
3384         `tty_output_charc_dynarr' instead of `tty_output_emchar_dynarr'.
3385         (tty_output_charc_dynarr_dynarr): New variable; renamed from
3386         `tty_output_emchar_dynarr_dynarr'.
3387         (tty_output_charc_dynarr): New function; delete
3388         `tty_output_charc_dynarr'.
3389
3390         * redisplay-output.c (compare_runes): Modify for `struct rune'.
3391         (redisplay_output_layout): Use <Charc_dynarr *> instead of
3392         <Emchar_dynarr *> for buf; use
3393         `convert_bufbyte_string_into_charc_dynarr' instead of
3394         `convert_bufbyte_string_into_emchar_dynarr'.
3395
3396         * frame.c (title_string_charc_dynarr): New variable; renamed from
3397         `title_string_emchar_dynarr'.
3398         (generate_title_string): Use `title_string_charc_dynarr' instead
3399         of `title_string_emchar_dynarr'; use
3400         `convert_charc_string_into_malloced_string' instead of
3401         `convert_emchar_string_into_malloced_string'.
3402         (init_frame): Use `title_string_charc_dynarr' instead of
3403         `title_string_emchar_dynarr'.
3404
3405         * console.h:
3406         - Include "character.h".
3407         (struct console_methods): Use <const Charc *> instead of <const
3408         Emchar *> in `text_width_method'; use <Charc_dynarr *> instead of
3409         <Emchar_dynarr *> in output_string_method.
3410
3411         * console-x.h (x_output_string): Use <Charc_dynarr *> instead of
3412         <Emchar_dynarr *>.
3413
3414         * console-stream.c (stream_text_width): Use <const Charc *>
3415         instead of <const Emchar *>.
3416
3417         * character.h (Charc_dynarr): New type.
3418
3419         * char-ucs.h (structure Charc): New structure; define new type
3420         `Charc'.
3421
3422         * char-lb.h (DECODE_CHAR): New inline function.
3423         (encode_char_1): New inline function.
3424         (ENCODE_CHAR): New macro.
3425         (structure Charc): New structure; define new type `Charc'.
3426
3427         * char-1byte.h (Vcharset_control_1): New macro.
3428         (Vcharset_latin_iso8859_1): New macro.
3429         (DECODE_CHAR): New inline function.
3430         (encode_char_1): New inline function.
3431         (ENCODE_CHAR): New macro.
3432         (structure Charc): New structure; define new type `Charc'.
3433
3434         * insdel.c (find_charsets_in_charc_string): New function; delete
3435         `find_charsets_in_emchar_string'.
3436         (charc_string_displayed_columns): New function; delete
3437         `emchar_string_displayed_columns'.
3438         (convert_bufbyte_string_into_charc_dynarr): New function; delete
3439         `convert_bufbyte_string_into_emchar_dynarr'.
3440         (convert_charc_string_into_bufbyte_dynarr): New function; delete
3441         `convert_charc_string_into_bufbyte_dynarr'.
3442         (convert_charc_string_into_malloced_string): New function; delete
3443         `convert_charc_string_into_malloced_string'.
3444
3445         * buffer.h (find_charsets_in_charc_string): New prototype; delete
3446         `find_charsets_in_emchar_string'.
3447         (charc_string_displayed_columns): New prototype; delete
3448         `emchar_string_displayed_columns'.
3449         (convert_charc_string_into_bufbyte_dynarr): New prototype; delete
3450         `convert_charc_string_into_bufbyte_dynarr'.
3451         (convert_charc_string_into_malloced_string): New prototype; delete
3452         `convert_charc_string_into_malloced_string'.
3453
3454 2000-06-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3455
3456         * select-x.c (Fx_store_cutbuffer_internal): Modify for UTF-2000.
3457
3458 2000-06-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3459
3460         * chartab.h (get_non_ascii_char_table_value): Use <Charset_ID>.
3461
3462         * char-ucs.h: Use <short> for <Charset_ID>.
3463
3464         * mule-charset.h, char-1byte.h: Use <unsigned char> for
3465         <Charset_ID>.
3466
3467 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3468
3469         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3470         to 0.16.
3471
3472 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3473
3474         * mule-charset.c (Vcharacter_morohashi_daikanwa_table): New
3475         variable.
3476         (Qmorohashi_daikanwa): New variable.
3477         (Fchar_attribute_alist): Use `Vcharacter_morohashi_daikanwa_table'
3478         for `morohashi-daikanwa' attribute.
3479         (Fget_char_attribute): Likewise.
3480         (Fput_char_attribute): Likewise.
3481         (Fdefine_char): Don't setup `morohashi-daikanwa' attribute if it
3482         has the same value of `ideograph-daikanwa'.
3483         (syms_of_mule_charset): Add new symbol `morohashi-daikanwa'.
3484         (vars_of_mule_charset): Setup
3485         `Vcharacter_morohashi_daikanwa_table'.
3486
3487 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3488
3489         * mule-charset.c (Fchar_attribute_alist): Add coded-charset
3490         attributes.
3491         (add_charset_to_list_mapper): Add `key' instead of
3492         `XCHARSET_NAME (value)' to return aliases.
3493
3494 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3495
3496         * mule-charset.c (Vcharacter_ideographic_radical_table): New
3497         variable.
3498         (Vcharacter_ideographic_strokes_table): New variable.
3499         (Qideographic_radical): New variable.
3500         (Qideographic_strokes): New variable.
3501         (Fchar_attribute_alist): Use
3502         `Vcharacter_ideographic_radical_table' for `ideographic-radical'
3503         attribute; use `Vcharacter_ideographic_strokes_table' for
3504         `ideographic-strokes' attribute.
3505         (Fget_char_attribute): Likewise.
3506         (Fput_char_attribute): Likewise.
3507         (syms_of_mule_charset): Add new symbol `ideographic-radical' and
3508         `ideographic-strokes'.
3509         (vars_of_mule_charset): Setup
3510         `Vcharacter_ideographic_radical_table' and
3511         `Vcharacter_ideographic_strokes_table'.
3512
3513 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3514
3515         * mule-charset.c (Vcharacter_total_strokes_table): New variable.
3516         (Qtotal_strokes): New variable.
3517         (Fchar_attribute_alist): Use `Vcharacter_total_strokes_table' for
3518         `total-strokes' attribute.
3519         (Fget_char_attribute): Likewise.
3520         (Fput_char_attribute): Likewise.
3521         (syms_of_mule_charset): Add new symbol `total-strokes'.
3522         (vars_of_mule_charset): Setup `Vcharacter_total_strokes_table'.
3523
3524 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3525
3526         * mule-charset.c (Vcharacter_decomposition_table): New variable.
3527         (Fchar_attribute_alist): Add `name' and `->decomposition' if they
3528         are found.
3529         (Fget_char_attribute): Use `Vcharacter_decomposition_table' for
3530         `->decomposition' attribute.
3531         (Fput_char_attribute): Likewise.
3532         (vars_of_mule_charset): Setup `Vcharacter_decomposition_table'.
3533
3534 2000-06-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3535
3536         * mule-charset.c (decoding_table_check_elements): New function.
3537         (Fset_charset_mapping_table): Use `decoding_table_check_elements'.
3538
3539 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3540
3541         * mule-charset.c (Fset_charset_mapping_table): Use
3542         `put_char_ccs_code_point'.
3543
3544 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3545
3546         * mule-charset.c (decoding_table_put_char): New inline function.
3547         (put_char_ccs_code_point): Use `decoding_table_put_char'.
3548
3549 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3550
3551         * mule-charset.c (CHARSET_BYTE_SIZE): New inline function.
3552         (XCHARSET_BYTE_SIZE): New macro.
3553         (decoding_table_remove_char): New inline function.
3554         (put_char_ccs_code_point): Use `XCHARSET_BYTE_SIZE'; use
3555         `decoding_table_remove_char'.
3556         (remove_char_ccs): Use `decoding_table_remove_char'.
3557         (Fset_charset_mapping_table): Use `CHARSET_BYTE_SIZE'.
3558
3559 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3560
3561         * mule-charset.c (Vcharacter_name_table): New variable.
3562         (Qname): New variable.
3563         (Fget_char_attribute): Use `Vcharacter_name_table' for `name'
3564         attribute.
3565         (Fput_char_attribute): Use function `put_char_ccs_code_point'; use
3566         `Vcharacter_name_table' for `name' attribute.
3567         (Fremove_char_attribute): Use function `remove_char_ccs'.
3568         (put_char_ccs_code_point): New function.
3569         (remove_char_ccs): New function.
3570         (syms_of_mule_charset): Add new symbol `name'.
3571         (vars_of_mule_charset): Setup `Vcharacter_name_table'.
3572
3573 2000-05-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3574
3575         * mule-charset.c (make_byte_table): Add new argument `older'.
3576         (make_char_id_table): Likewise.
3577         (copy_char_id_table): Comment out because it is not used.
3578         (put_char_id_table): Modify for `make_byte_table'.
3579         (Fput_char_attribute): Make encoding_table as older object;
3580         inherit older bit of `Vcharacter_composition_table'.
3581         (mark_charset): Don't mark `cs->encoding_table'.
3582         (vars_of_mule_charset): Make `Vcharacter_attribute_table' as a
3583         normal object; make `Vcharacter_composition_table' as an older
3584         object; delete staticpro for `Vcharacter_composition_table'; make
3585         `Vcharacter_variant_table' as a normal object.
3586
3587         * alloc.c (alloc_older_lcrecord): New function in UTF-2000.
3588         (mark_object): Don't check older object in UTF-2000.
3589
3590         * lrecord.h (struct lrecord_header): Add new member `older' in
3591         UTF-2000.
3592         (set_lheader_implementation): Setup `SLI_header->older' in
3593         UTF-2000.
3594         (set_lheader_older_implementation): New macro in UTF-2000.
3595         (OLDER_RECORD_P): New macro in UTF-2000.
3596         (OLDER_RECORD_HEADER_P): New macro in UTF-2000.
3597         (alloc_older_lcrecord): New prototype in UTF-2000.
3598         (alloc_older_lcrecord_type): New macro in UTF-2000.
3599
3600 2000-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3601
3602         * mule-charset.c (byte_table_description): Use
3603         `XD_LISP_OBJECT_ARRAY' instead of `XD_LISP_OBJECT'.
3604         (char_id_table_description): Delete bogus `, 1'.
3605         (Fget_char_attribute): Refer encoding_table of each coded-charset
3606         to get value of coded-charset attribute of a character.
3607         (Fput_char_attribute): Use `make_older_vector' instead of
3608         `make_vector'; use encoding_table of each coded-charset to store
3609         value of coded-charset attribute of a character.
3610         (Fremove_char_attribute): Use encoding_table of each coded-charset
3611         to store value of coded-charset attribute of a character.
3612         (mark_charset): Mark `cs->encoding_table'; don't mark
3613         `cs->decoding_table'.
3614         (charset_description): Add description of new member
3615         `encoding_table'.
3616         (make_charset): Initialize `encoding_table'.
3617
3618         * char-ucs.h (struct Lisp_Charset): Add new member
3619         `encoding_table'.
3620         (CHARSET_ENCODING_TABLE): New macro.
3621         (XCHARSET_ENCODING_TABLE): New macro.
3622         (charset_code_point): New implementation.
3623         (encode_char_1): Likewise.
3624
3625         * alloc.c (all_older_lcrecords): New variable in UTF-2000.
3626         (disksave_object_finalization_1): Call finalizers of
3627         `all_older_lcrecords' in UTF-2000.
3628         (make_older_vector): New function in UTF-2000.
3629         (reinit_alloc_once_early): Initialize `all_older_lcrecords' in
3630         UTF-2000.
3631
3632         * lisp.h (make_older_vector): New prototype in UTF-2000.
3633
3634 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3635
3636         * lrecord.h (enum lrecord_type): Rename
3637         `lrecord_type_char_code_table' to `lrecord_type_char_id_table'.
3638
3639         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_ID_TABLE_P' and
3640         `get_char_id_table' instead of `CHAR_CODE_TABLE_P' and
3641         `get_char_code_table'.
3642
3643         * mule-charset.c (mark_char_id_table): Renamed from
3644         `mark_char_code_table'.
3645         (char_id_table_equal): Renamed from `char_code_table_equal'.
3646         (char_id_table_hash): Renamed from `char_code_table_hash'.
3647         (make_char_id_table): Renamed from `make_char_code_table'.
3648         (copy_char_id_table): Renamed from `copy_char_code_table'.
3649         (get_char_id_table): Renamed from `get_char_code_table'.
3650         (put_char_id_table): Renamed from `put_char_code_table'.
3651         (to_char_id): Renamed from `to_char_code'.
3652
3653         * char-ucs.h (struct Lisp_Char_ID_Table): Renamed from
3654         `Lisp_Char_Code_Table'.
3655         (char_id_table): Renamed from `char_code_table'.
3656         (XCHAR_ID_TABLE): Renamed from `XCHAR_CODE_TABLE'.
3657         (XSETCHAR_ID_TABLE): Renamed from `XSETCHAR_CODE_TABLE'.
3658         (CHAR_ID_TABLE_P): Renamed from `CHAR_CODE_TABLE_P'.
3659         (GC_CHAR_ID_TABLE_P): Renamed from `GC_CHAR_CODE_TABLE_P'.
3660         (get_char_id_table): Renamed from `get_char_code_table'.
3661
3662 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3663
3664         * lrecord.h (enum lrecord_type): Rename
3665         `lrecord_type_char_byte_table' to `lrecord_type_byte_table'.
3666
3667         * mule-charset.c (mark_byte_table): Renamed from
3668         `mark_char_byte_table'.
3669         (byte_table_equal): Renamed from `char_byte_table_equal'.
3670         (byte_table_hash): Renamed from `byte_table_hash'.
3671         (make_byte_table): Renamed from `make_byte_table'.
3672         (copy_byte_table): Renamed from `copy_char_byte_table'.
3673
3674         * char-ucs.h (struct Lisp_Byte_Table): Renamed from
3675         `Lisp_Char_Byte_Table'.
3676         (byte_table): Renamed from `char_byte_table'.
3677         (XBYTE_TABLE): Renamed from `XCHAR_BYTE_TABLE'.
3678         (XSETBYTE_TABLE): Renamed from `XSET_CHAR_BYTE_TABLE'.
3679         (BYTE_TABLE_P): Renamed from `XBYTE_TABLE_P'.
3680         (GC_BYTE_TABLE_P): Renamed from `GC_CHAR_BYTE_TABLE_P'.
3681
3682 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3683
3684         * buffer.c (dfc_convert_to_external_format): Modify for UTF-2000.
3685         (dfc_convert_to_internal_format): Likewise.
3686         
3687         * text-coding.c (Fcoding_system_canonical_name_p): New function.
3688         * text-coding.c (Fcoding_system_alias_p): New function.
3689         * text-coding.c (Fcoding_system_aliasee): New function.
3690         * text-coding.c (append_suffix_to_symbol): New function.
3691         * text-coding.c (dangling_coding_system_alias_p): New function.
3692         * text-coding.c (Ffind_coding_system):
3693         * text-coding.c (Fcopy_coding_system):
3694         * text-coding.c (encode_coding_no_conversion):
3695         * text-coding.c (syms_of_file_coding):
3696         * text-coding.c (vars_of_file_coding):
3697         Rewrite coding system alias code.
3698         Allow nested aliases, like symbolic links.
3699         Allow redefinition of coding system aliases.
3700         Prevent existence of dangling coding system aliases.
3701         Eliminate convert_to_external_format.
3702         Eliminate convert_to_internal_format.
3703         
3704         * text-coding.c: Change enum eol_type to eol_type_t.
3705
3706 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3707
3708         * mule-charset.c (encode_builtin_char_1): Limit builtin-code-range
3709         of `mojikyo' to MIN_CHAR_MOJIKYO + 94 * 60 * 22.
3710
3711         * char-ucs.h (MAX_CHAR_MOJIKYO): Limit builtin-code-range to
3712         MIN_CHAR_MOJIKYO + 94 * 60 * 22.
3713
3714 2000-04-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3715
3716         * mule-charset.c (encode_builtin_char_1): Use `mojikyo' instead of
3717         `ideograph-daikanwa'.
3718
3719         * char-ucs.h (Vcharset_ucs): Deleted because it is not used.
3720         (Vcharset_ucs_bmp): Likewise.
3721         (Vcharset_mojikyo): Add new extern variable definition.
3722         (Vcharset_latin_iso8859_2): Deleted because it is not used.
3723         (Vcharset_latin_iso8859_3): Likewise.
3724         (Vcharset_latin_iso8859_4): Likewise.
3725         (Vcharset_latin_iso8859_9): Likewise.
3726         (Vcharset_latin_viscii_lower): Likewise.
3727         (Vcharset_latin_viscii_upper): Likewise.
3728         (DECODE_CHAR): If charset is `mojikyo-pj-N', corresponding
3729         `mojikyo' code-point is used to decode.
3730         (encode_char_2): New function [to convert `mojikyo' code-point to
3731         Mojikyo font encoding].
3732         (ENCODE_CHAR): Use `encode_char_2' instead of `encode_code_1'.
3733         (breakup_char_1): Likewise.
3734         (CHAR_CHARSET): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR'.
3735
3736 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3737
3738         * text-coding.c (Fmake_coding_system): Add document about
3739         `disable-composition' property.
3740
3741 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3742
3743         * text-coding.c (Qdisable_composition): New variable; delete
3744         `Qcomposite'.
3745         (Fmake_coding_system): Add new property `disable-composite';
3746         delete property `composite'.
3747         (COMPOSE_ADD_CHAR): Use `CODING_SYSTEM_DISABLE_COMPOSITION'
3748         instead of `!CODING_SYSTEM_COMPOSITE'.
3749         (syms_of_file_coding): Add new symbol `disable-composition';
3750         delete symbol `composite'.
3751
3752         * file-coding.h (struct Lisp_Coding_System): Add
3753         `disable_composition'; delete `enable_composition'.
3754         (CODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
3755         `CODING_SYSTEM_COMPOSITE'.
3756         (XCODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
3757         `XCODING_SYSTEM_COMPOSITE'.
3758
3759 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3760
3761         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3762         to 0.15.
3763
3764 2000-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3765
3766         * text-coding.c (Qcomposite): New variable.
3767         (Fmake_coding_system): Add new property `composite'.
3768         (struct decoding_stream): Add `combined_char_count',
3769         `combined_chars' and `combining_table' in UTF-2000.
3770         (COMPOSE_FLUSH_CHARS): New macro.
3771         (COMPOSE_ADD_CHAR): New macro.
3772         (reset_decoding_stream): Reset `str->combined_char_count' and
3773         `str->combining_table' in UTF-2000.
3774         (decode_coding_iso2022): Modify for character-decomposition.
3775         (syms_of_file_coding): Add new symbol `composite'.
3776
3777 2000-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3778
3779         * mule-charset.c (Vcharset_latin_tcvn5712): New variable.
3780         (Fput_char_attribute): Set up `Vcharacter_variant_table' instead
3781         of `Vcharacter_composition_table' if `->decomposition' property
3782         has only 1 element.
3783         (Qlatin_tcvn5712): New variable.
3784         (syms_of_mule_charset): Add new symbol `latin-tcvn5712'.
3785         (complex_vars_of_mule_charset): Add new coded-charset
3786         `latin-tcvn5712'.
3787
3788         * char-ucs.h (LEADING_BYTE_LATIN_TCVN5712): New macro.
3789
3790 2000-04-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3791
3792         * file-coding.h (struct Lisp_Coding_System): Add
3793         `enable_composition'.
3794         (CODING_SYSTEM_COMPOSITE): New macro.
3795         (XCODING_SYSTEM_COMPOSITE): New macro.
3796
3797 2000-03-17  MORIOKA Tomohiko  <tomo@m17n.org>
3798
3799         * mule-canna.c (c2mu): Fix problem with UTF-2000.
3800
3801 2000-03-16  MORIOKA Tomohiko  <tomo@m17n.org>
3802
3803         * mule-charset.c (Fput_char_attribute): Don't make mapping-table
3804         if ATTRIBUTE is `ucs' and character-id of CHARACTER = VALUE.
3805
3806 2000-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
3807
3808         * mule-charset.c (Vcharset_mojikyo): New variable.
3809         (Fdefine_char): Don't use coded-charset which does not have
3810         non-builtin character range to allocate character-id.
3811         (Qmojikyo): New variable.
3812         (syms_of_mule_charset): Add new symbol `mojikyo'.
3813         (complex_vars_of_mule_charset): Add new coded-charset `mojikyo'.
3814
3815         * char-ucs.h (LEADING_BYTE_DAIKANWA_EKANJI): New macro.
3816         (LEADING_BYTE_MOJIKYO): New macro.
3817         (MIN_CHAR_MOJIKYO): New macro.
3818         (MIN_CHAR_DAIKANWA): Use `MIN_CHAR_MOJIKYO'.
3819         (MAX_CHAR_MOJIKYO): New macro.
3820
3821 2000-02-12  MORIOKA Tomohiko  <tomo@m17n.org>
3822
3823         * mule-charset.c (remove_char_attribute): Fixed.
3824
3825 2000-02-08  MORIOKA Tomohiko  <tomo@m17n.org>
3826
3827         * mule-charset.c (remove_char_attribute): New function.
3828         (Fremove_char_attribute): New function.
3829         (encode_builtin_char_1): Comment out builtin-support for
3830         greek-iso8859-7 and cyrillic-iso8859-5.
3831         (Fdecode_char): Check `code' is an integer.
3832         (syms_of_mule_charset): Add `remove-char-attribute'.
3833         (MIN_CHAR_GREEK): Deleted.
3834         (MAX_CHAR_GREEK): Likewise.
3835         (MIN_CHAR_CYRILLIC): Likewise.
3836         (MAX_CHAR_CYRILLIC): Likewise.
3837         (complex_vars_of_mule_charset): Don't use MIN_CHAR_GREEK and
3838         MAX_CHAR_GREEK for `greek-iso8859-7'.
3839
3840         * char-ucs.h (MIN_CHAR_GREEK): Comment out.
3841         (MAX_CHAR_GREEK): Likewise.
3842         (MIN_CHAR_CYRILLIC): Likewise.
3843         (MAX_CHAR_CYRILLIC): Likewise.
3844
3845 2000-02-02  MORIOKA Tomohiko  <tomo@m17n.org>
3846
3847         * mule-charset.c (Fdefine_char): Fix problem when new code-point
3848         format is used without `ucs' property.
3849         (Fdecode_char): Fix problem with GR representation.
3850         (complex_vars_of_mule_charset): Don't use `MIN_CHAR_CYRILLIC' and
3851         `MAX_CHAR_CYRILLIC' as range of builtin `cyrillic-iso8859-5'.
3852
3853 2000-01-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3854
3855         * mule-charset.c (make_builtin_char): New function.
3856         (encode_builtin_char_1): Check ISO-2022-charset is defined or not.
3857         (Fset_charset_mapping_table): Modify for new representation of
3858         code-point.
3859         (Fdecode_char): New function.
3860         (syms_of_mule_charset): Add new builtin function `decode-char' in
3861         UTF-2000.
3862
3863         * char-ucs.h (make_builtin_char): New prototype.
3864         (DECODE_CHAR): New inline function.
3865         (MAKE_CHAR): Use `DECODE_CHAR'.
3866
3867 2000-01-28  MORIOKA Tomohiko  <tomo@m17n.org>
3868
3869         * text-coding.c (parse_charset_conversion_specs): Use
3870         `XCHARSET_CHARS' and `XCHARSET_DIMENSION' instead of
3871         `XCHARSET_TYPE'.
3872         (iso2022_designate): Likewise.
3873
3874         * chartab.c (decode_char_table_range): Use `XCHARSET_CHARS' and
3875         `XCHARSET_DIMENSION' instead of `XCHARSET_TYPE'.
3876
3877         * mule-charset.c (Vcharset_ucs): New variable.
3878         (print_charset): Change design; use `CHARSET_CHARS' and
3879         `CHARSET_DIMENSION' instead of `CHARSET_TYPE'.
3880         (make_charset): Change signature to specify `chars' and
3881         `dimension' instead of `type'.
3882         (range_charset_code_point): Modify for 256^n-set.
3883         (encode_builtin_char_1): Encode as `ucs' in default.
3884         (Fmake_charset): Modify for `make_charset'.
3885         (Fmake_reverse_direction_charset): Likewise.
3886         (Fsplit_char): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR' in
3887         UTF-2000.
3888         (complex_vars_of_mule_charset): Add coded-charset `ucs'; modify
3889         for `make_charset'.
3890
3891         * char-ucs.h (Vcharset_ucs): New variable.
3892         (LEADING_BYTE_UCS): New macro.
3893         (struct Lisp_Charset): Delete `type'; change type of `dimension'
3894         and `chars' to `unsigned short' from `unsigned int'.
3895         (CHARSET_TYPE): Deleted.
3896         (XCHARSET_TYPE): Deleted.
3897
3898 2000-01-27  MORIOKA Tomohiko  <tomo@m17n.org>
3899
3900         * mule-charset.c (charset_code_point): Moved to char-ucs.h.
3901
3902         * char-ucs.h (charset_code_point): Moved from mule-charset.c.
3903         (ENCODE_CHAR): New macro.
3904
3905 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
3906
3907         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3908         to 0.14 (Kawachi-Katakami).
3909
3910 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
3911
3912         * text-coding.c (char_encode_shift_jis): Modify for
3913         `charset_code_point'.
3914         (char_encode_iso2022): Likewise.
3915
3916         * mule-charset.c (Fput_char_attribute): Use <Lisp_Object>
3917         (integer) instead of list of <Lisp_Object>s (integers) as the
3918         format of code-point of a coded-charset.
3919         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
3920         (encode_builtin_char_1): New function; delete
3921         `split_builtin_char'.
3922         (charset_code_point): Return <int> instead of <Lisp_Object>.
3923         (Fsplit_char): Don't use `SPLIT_CHAR'.
3924
3925         * char-ucs.h (encode_builtin_char_1): New prototype; delete
3926         prototype for `split_builtin_char'.
3927         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
3928         (charset_code_point): Likewise.
3929         (encode_char_1): New inline function; delete `SPLIT_CHAR'.
3930         (breakup_char_1): Use `encode_char_1' instead of `SPLIT_CHAR'.
3931
3932 2000-01-20  MORIOKA Tomohiko  <tomo@m17n.org>
3933
3934         * mule-charset.c (complex_vars_of_mule_charset): Don't define
3935         `japanese-jisx0208-1990' in non-UTF-2000 Mule.
3936
3937 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3938
3939         * mule-charset.c (split_builtin_char): Don't support OBS_94x94.
3940
3941         * char-ucs.h (MIN_CHAR_OBS_94x94): Deleted.
3942         (MAX_CHAR_OBS_94x94): Deleted.
3943
3944 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3945
3946         * mule-charset.c (split_builtin_char): Use `MAX_CHAR_BMP'.
3947
3948         * char-ucs.h (MAX_CHAR_BMP): New macro.
3949
3950 2000-01-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3951
3952         * text-coding.c: Sync with r21-2-24.
3953
3954 2000-01-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
3955
3956         * file-coding.c: Modify for UTF-2000.
3957
3958 2000-01-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
3959
3960         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3961         to 0.13 (Takaida).
3962
3963 2000-01-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3964
3965         * mule-charset.c (split_builtin_char): Delete builtin support for
3966         `katakana-jisx0201'.
3967         (complex_vars_of_mule_charset): Don't map `katakana-jisx0201' to
3968         BMP area in builtin representation.
3969
3970         * char-ucs.h (MAKE_CHAR): Delete builtin support for
3971         `Vcharset_katakana_jisx0201'.
3972
3973 1999-12-24  MORIOKA Tomohiko  <tomo@etl.go.jp>
3974
3975         * mule-charset.c (Vcharset_mojikyo_pj_[1 .. 21]): New variable.
3976         (Qisolated): New variable.
3977         (Qinitial): New variable.
3978         (Qmedial): New variable.
3979         (Qfinal): New variable.
3980         (Qvertical): New variable.
3981         (Qsmall): New variable.
3982         (to_char_code): Use `Qisolated', `Qinitial', `Qmedial', `Qfinal',
3983         `Qvertical' and `Qsmall'.
3984         (Qmojikyo_pj_[1 .. 21]): New variable.
3985         (syms_of_mule_charset): Add new symbols `isolated', `initial',
3986         `medial', `final', `vertical', `small' and `mojikyo-pj-[1 .. 21]'.
3987         (complex_vars_of_mule_charset): Add new charset `mojikyo-pj-[1
3988         .. 21]'.
3989
3990 1999-11-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
3991
3992         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x60.
3993         (LEADING_BYTE_MOJIKYO_PJ_[1 .. 21]): New macros.
3994         (MAX_LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 32)'.
3995
3996 1999-11-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
3997
3998         * mule-charset.c (Vcharset_japanese_jisx0208_1990): New variable.
3999         (Fdefine_char): Use Group 00 Plane 10 for non-coded variants of
4000         BMP.
4001         (Qjapanese_jisx0208_1990): New variable.
4002         (syms_of_mule_charset): Add new symbol `Qjapanese_jisx0208_1990'.
4003         (complex_vars_of_mule_charset): Add new coded-charset
4004         `japanese-jisx0208-1990'.
4005
4006         * char-ucs.h (LEADING_BYTE_JAPANESE_JISX0208_1990): New macro.
4007         (MIN_CHAR_JIS_X0208_1990): New macro.
4008         (MAX_CHAR_JIS_X0208_1990): New macro.
4009
4010 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4011
4012         * text-coding.c (char_encode_iso2022): Output `~' if ISO 2022
4013         coded-charset is not found.
4014
4015 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4016
4017         * mule-charset.c (Fget_char_attribute): Forgot to `CHECK_CHAR'.
4018         (Fdefine_char): Use `Fmake_char'.
4019
4020 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4021
4022         * mule-charset.c (Vcharset_ideograph_daikanwa): New variable.
4023         (Vcharset_hiragana_jisx0208): Deleted.
4024         (Vcharset_katakana_jisx0208): Deleted.
4025         (Qideograph_daikanwa): New variable.
4026         (Qhiragana_jisx0208): Deleted.
4027         (Qkatakana_jisx0208): Deleted.
4028         (split_builtin_char): Split `ideograph-daikanwa'.
4029         (Fsplit_char): New implementation for UTF-2000.
4030         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa';
4031         delete symbol `hiragana-jisx0208' and `katakana-jisx0208'.
4032         (complex_vars_of_mule_charset): Add new coded-charset
4033         `ideograph-daikanwa'; delete coded-charset `hiragana-jisx0208' and
4034         `katakana-jisx0208'.
4035
4036         * char-ucs.h (LEADING_BYTE_DAIKANWA): New macro.
4037         (LEADING_BYTE_HIRAGANA_JISX0208): Deleted.
4038         (LEADING_BYTE_KATAKANA_JISX0208): Deleted.
4039         (MIN_CHAR_DAIKANWA): New macro.
4040         (MAX_CHAR_DAIKANWA): New macro.
4041
4042 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4043
4044         * data.c (Fstring_to_number): Don't recognize floating point if
4045         base is not 10.
4046
4047 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4048
4049         * mule-charset.c (Fput_char_attribute): Forgot to `CHECK_CHAR'.
4050
4051 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4052
4053         * mule-charset.c (Qsquare): New variable.
4054         (to_char_code): Add `Qsquare'.
4055         (syms_of_mule_charset): Add new symbol `square'.
4056
4057 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4058
4059         * mule-charset.c (Qcircle): New variable.
4060         (to_char_code): Add `Qcircle'.
4061         (syms_of_mule_charset): Add new symbol `circle'.
4062
4063 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4064
4065         * mule-charset.c (Qfont): New variable.
4066         (to_char_code): Add `Qfont'.
4067         (syms_of_mule_charset): Add new symbol `font'.
4068
4069 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4070
4071         * mule-charset.c (Qsub): New variable.
4072         (to_char_code): Add `Qsub'.
4073         (syms_of_mule_charset): Add new symbol `sub'.
4074
4075 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4076
4077         * mule-charset.c (Fput_char_attribute): Convert each element of
4078         VALUE to GL position if ATTRIBUTE is a GR-set,
4079
4080 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4081
4082         * mule-charset.c (Fput_char_attribute): Allow GR code-point if a
4083         coded-charset is a GR-set.
4084
4085 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4086
4087         * mule-charset.c (Fput_char_attribute): Check each element of
4088         VALUE is a byte if ATTRIBUTE is a coded-charset or its name.
4089
4090 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4091
4092         * mule-charset.c (Vcharset_ethiopic_ucs): New variable in
4093         UTF-2000.
4094         (Qethiopic_ucs): New variable in UTF-2000.
4095         (syms_of_mule_charset): Add new symbol `ethiopic-ucs' in UTF-2000.
4096         (complex_vars_of_mule_charset): Add new coded-charset
4097         `ethiopic-ucs' in UTF-2000.
4098
4099         * char-ucs.h (LEADING_BYTE_ETHIOPIC_UCS): New macro.
4100         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
4101         9)'.
4102         (LEADING_BYTE_KATAKANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
4103         10)'.
4104         (LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 11)'.
4105
4106 1999-11-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
4107
4108         * mule-charset.c (Fset_charset_mapping_table): Fix problem with
4109         `ascii'.
4110
4111 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4112
4113         * mule-charset.c (Vcharacter_variant_table): New variable.
4114         (Q_ucs): New variable.
4115         (Fchar_variants): New function.
4116         (Fput_char_attribute): Register `->ucs' value to
4117         `Vcharacter_variant_table'.
4118         (syms_of_mule_charset): Add new function `char-variants' and new
4119         symbol `->ucs'.
4120         (vars_of_mule_charset): Setup `Vcharacter_variant_table'.
4121
4122 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4123
4124         * mule-charset.c (get_char_code_table): Allow negative character
4125         code.
4126         (put_char_code_table): Likewise.
4127         (Vcharacter_composition_table): New variable.
4128         (Q_decomposition): New variable.
4129         (Qwide): New variable.
4130         (Qnarrow): New variable.
4131         (Qcompat): New variable.
4132         (QnoBreak): New variable.
4133         (Qsuper): New variable.
4134         (Qfraction): New variable.
4135         (to_char_code): New function.
4136         (Fget_composite_char): New function.
4137         (Fput_char_attribute): Register `->decomposition' value to
4138         `Vcharacter_composition_table'.
4139         (syms_of_mule_charset): Add new function `get-composite-char', new
4140         symbol `->decomposition', `wide', `narrow', `compat', `noBreak',
4141         `super' and `fraction'.
4142         (vars_of_mule_charset): Setup `Vcharacter_composition_table'.
4143
4144 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4145
4146         * mule-charset.c (Fchar_attribute_alist): Check the argument is a
4147         character; copy the return value.
4148
4149 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4150
4151         * char-ucs.h (SPLIT_CHAR): Use `split_builtin_char'.
4152
4153         * mule-charset.c (range_charset_code_point): Must use make_int.
4154         (split_builtin_char): New function.
4155
4156 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4157
4158         * mule-charset.c (char_byte_table): Change name from
4159         "char-code-table" to "char-byte-table".
4160         (mark_char_code_table): New function.
4161         (char_code_table_equal): New function.
4162         (char_code_table_hash): New function.
4163         (char_code_table_description): New constant.
4164         (char_code_table): New type.
4165         (make_char_code_table): New function.
4166         (copy_char_code_table): New function.
4167         (get_char_code_table): Modify for `char_code_table' type.
4168         (put_char_code_table): Likewise.
4169         (vars_of_mule_charset): Update `utf-2000-version' to 0.12
4170         (Kashiwara).
4171
4172         * char-ucs.h (char_code_table): New type.
4173         (XCHAR_CODE_TABLE): New macro.
4174         (XSETCHAR_CODE_TABLE): New macro.
4175         (CHAR_CODE_TABLE_P): New macro.
4176         (GC_CHAR_CODE_TABLE_P): New macro.
4177         (struct Lisp_Char_Code_Table): New structure.
4178
4179 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4180
4181         * mule-charset.c (Fmake_charset): Setup byte_offset for
4182         {94|96}^n-set.
4183
4184 1999-11-09  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4185
4186         * mule-charset.c (Fdefine_char): Fix problem with non-UCS
4187         character.
4188
4189 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4190
4191         * char-ucs.h (SPLIT_CHAR): Don't make new cell if a charset slot
4192         is found.
4193
4194 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4195
4196         * mule-charset.c (Fget_char_attribute): If ATTRIBUTE is a name of
4197         charset, it is regarded as a charset.
4198         (put_char_attribute): New function in UTF-2000.
4199         (Fput_char_attribute): If ATTRIBUTE is a charset or a name of
4200         charset, mapping-table of the charset is modified.
4201         (Fdefine_char): New function in UTF-2000.
4202         (Fset_charset_mapping_table): Use `put_char_attribute' instead of
4203         `Fput_char_attribute'.
4204         (syms_of_mule_charset): Add new function `define-char' and new
4205         symbol `ucs' in UTF-2000.
4206         (vars_of_mule_charset): Update `utf-2000-version' to 0.11 (Shiki).
4207
4208 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4209
4210         * mule-charset.c (Fcharset_name): Define `byte_offset' in
4211         non-UTF-2000 configuration.
4212
4213 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4214
4215         * text-coding.c (char_encode_shift_jis): Use `charset_code_point'
4216         not to use `XCHARSET_ENCODING_TABLE (Vcharset_latin_jisx0201)'.
4217
4218         * mule-charset.c (mark_charset): `cs->encoding_table' has been
4219         deleted.
4220         (make_charset): Don't use `CHARSET_ENCODING_TABLE(cs)'.
4221         (Fset_charset_mapping_table): Likewise.
4222
4223         * char-ucs.h (struct Lisp_Charset): Delete `encoding_table'.
4224         (CHARSET_ENCODING_TABLE): Delete.
4225         (XCHARSET_ENCODING_TABLE): Delete.
4226         (charset_code_point): New interface.
4227
4228 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4229
4230         * text-coding.c (char_encode_iso2022): Use `charset_code_point'
4231         instead of `charset_get_byte1' and `charset_get_byte2'.
4232
4233         * mule-charset.c, char-ucs.h (charset_get_byte1): Deleted.
4234         (charset_get_byte2): Deleted.
4235
4236 1999-10-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
4237
4238         * char-ucs.h (SPLIT_CHAR): New inline function.
4239         (breakup_char_1): Use `SPLIT_CHAR'.
4240
4241         * mule-charset.c (range_charset_code_point): New function.
4242         (charset_code_point): New function.
4243
4244         * char-ucs.h (range_charset_code_point): New interface.
4245         (breakup_char_1): Use `range_charset_code_point'.
4246
4247 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4248
4249         * mule-charset.c (Fmake_charset): Delete unused local variable
4250         `code_offset'.
4251
4252         * char-ucs.h (Vcharacter_attribute_table): New extern variable.
4253         (breakup_char_1): Find a charset and code-point in
4254         `Vcharacter_attribute_table'.
4255
4256 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4257
4258         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4259         to 0.10 (Yao).
4260
4261 1999-10-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
4262
4263         * mule-charset.c (Vcharacter_attribute_table): New variable.
4264         (Fchar_attribute_alist): New function.
4265         (Fget_char_attribute): New function.
4266         (Fput_char_attribute): New function.
4267         (Fset_charset_mapping_table): Setup `Vcharacter_attribute_table'
4268         too.
4269         (syms_of_mule_charset): Add new function `char-attribute-alist',
4270         `get-char-attribute' and `put-char-attribute'.
4271         (vars_of_mule_charset): Setup `Vcharacter_attribute_table'.
4272
4273 1999-10-19  MORIOKA Tomohiko  <tomo@etl.go.jp>
4274
4275         * mule-charset.c (Fmake_charset): Just use
4276         `get_unallocated_leading_byte'.
4277
4278         * char-ucs.h (LEADING_BYTE_*): Use ISO-IR numbers for official
4279         sets; don't use final-byte based number for private sets.
4280
4281 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4282
4283         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
4284         integer.
4285
4286 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4287
4288         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4289         to 0.9.
4290
4291 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4292
4293         * regex.c (compile_extended_range): Use `CHAR_CHARSET_ID' instead
4294         of `CHAR_LEADING_BYTE' in UTF-2000.
4295
4296         * insdel.c (find_charsets_in_bufbyte_string): Use
4297         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
4298         (find_charsets_in_emchar_string): Likewise.
4299
4300         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use
4301         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
4302
4303         * char-ucs.h (CHAR_LEADING_BYTE): Deleted.
4304         (CHAR_CHARSET_ID): New macro.
4305
4306 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4307
4308         * chartab.c (get_char_table): Don't use type `Charset_ID' for
4309         charset-id - MIN_LEADING_BYTE.
4310         (put_char_table): Likewise.
4311
4312 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4313
4314         * char-ucs.h (MIN_LEADING_BYTE): Changed to `-0x40'.
4315         (NUM_LEADING_BYTES): Changed to (80 * 3 - MIN_LEADING_BYTE).
4316         (CHARSET_LEADING_BYTE): Don't cast by `Bufbyte'.
4317         (CHARSET_ID_OFFSET): New macro.
4318         (LEADING_BYTE_CONTROL_1): Changed to (CHARSET_ID_OFFSET - 1).
4319         (LEADING_BYTE_UCS_BMP): Changed to (CHARSET_ID_OFFSET - 2).
4320         (LEADING_BYTE_LATIN_VISCII): Changed to (CHARSET_ID_OFFSET - 3).
4321         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
4322         4).
4323         (LEADING_BYTE_KATAKANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
4324         5).
4325         (MIN_LEADING_BYTE_PRIVATE): Changed to `MIN_LEADING_BYTE'.
4326         (MAX_LEADING_BYTE_PRIVATE): Changed to (CHARSET_ID_OFFSET - 6).
4327         (CHARSET_ID_OFFSET_94): Changed to (CHARSET_ID_OFFSET - '0').
4328         (CHARSET_ID_OFFSET_96): Changed to (CHARSET_ID_OFFSET_94 + 80).
4329         (CHARSET_ID_OFFSET_94x94): Changed to (CHARSET_ID_OFFSET_96 + 80).
4330
4331 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4332
4333         * mule-charset.c (next_allocated_leading_byte): New variable in
4334         UTF-2000.
4335         (next_allocated_1_byte_leading_byte): Don't define in UTF-2000.
4336         (next_allocated_2_byte_leading_byte): Don't define in UTF-2000.
4337         (get_unallocated_leading_byte): Simply use
4338         `next_allocated_leading_byte' [ignore dimension] in UTF-2000.
4339         (vars_of_mule_charset): Setup `next_allocated_leading_byte' in
4340         UTF-2000.
4341
4342         * char-ucs.h (MIN_LEADING_BYTE_PRIVATE): New macro.
4343         (MAX_LEADING_BYTE_PRIVATE): New macro.
4344         (MIN_LEADING_BYTE_OFFICIAL_2): Deleted.
4345         (MAX_LEADING_BYTE_OFFICIAL_2): Deleted.
4346
4347 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4348
4349         * mule-charset.c (Fmake_charset): Allocate final-byte based
4350         charset-id for 94-set, 96-set and 94x94-set.
4351
4352 1999-10-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4353
4354         * mule-charset.c (char_byte_table_equal): Fill braces to avoid
4355         ambiguous `else'.
4356         (Fmake_charset): Likewise.
4357         (complex_vars_of_mule_charset): Modify the font registry of
4358         `ucs-bmp' not to match `Ethiopic-Unicode'.
4359
4360 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4361
4362         * mule-charset.c (complex_vars_of_mule_charset): Add font
4363         registory of `ucs-bmp'.
4364
4365 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4366
4367         * text-coding.c (char_encode_iso2022): Ignore non-ISO-2022
4368         coded-charsets in `default-coded-charset-priority-list' when
4369         breaking up a character.
4370
4371         * mule-charset.c (Vcharset_latin_viscii): New variable.
4372         (Qlatin_viscii): New variable.
4373         (make_charset): Don't use `decoding_table'.
4374         (Fmake_charset): Regard graphic = 2 as 256^n-set; setup
4375         byte_offset.
4376         (Fset_charset_mapping_table): New implementation.
4377         (syms_of_mule_charset): Add new symbol `latin-viscii'.
4378         (complex_vars_of_mule_charset): Set `graphic' attribute of charset
4379         `ucs-bmp' and `latin_viscii' to 2; change font registry of charset
4380         `latin-viscii-lower' to "MULEVISCII-LOWER"; change font registry
4381         of charset `latin-viscii-upper' to "MULEVISCII-UPPER"; add new
4382         charset `latin_viscii'.
4383
4384         * char-ucs.h (LEADING_BYTE_LATIN_VISCII): New macro.
4385         (CHARSET_TYPE_94X94): Change to 1 from 2.
4386         (CHARSET_TYPE_96): Change to 2 from 1.
4387         (CHARSET_TYPE_128): New macro.
4388         (CHARSET_TYPE_128X128): Change to 5 from 4.
4389         (CHARSET_TYPE_256): New macro.
4390         (CHARSET_TYPE_256X256): Change to 7 from 5.
4391         (MAKE_CHAR): Use `XCHARSET_BYTE_OFFSET(charset)'.
4392
4393 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4394
4395         * text-coding.c (char_encode_shift_jis): Refer
4396         `XCHARSET_ENCODING_TABLE(Vcharset_latin_jisx0201)' instead of
4397         `XCHARSET_TO_BYTE1_TABLE(Vcharset_latin_jisx0201)'.
4398
4399         * mule-charset.c (mark_char_byte_table): New function in UTF-2000.
4400         (char_byte_table_equal): New function in UTF-2000.
4401         (char_byte_table_hash): New function in UTF-2000.
4402         (char_byte_table_description): New constant in UTF-2000.
4403         (char_byte_table): New type in UTF-2000.
4404         (make_char_byte_table): New function in UTF-2000.
4405         (copy_char_byte_table): New function in UTF-2000.
4406         (make_char_code_table): New macro in UTF-2000.
4407         (get_char_code_table): New function in UTF-2000.
4408         (put_char_code_table): New function in UTF-2000.
4409         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
4410         (charset_description): Add setting in UTF-2000.
4411         (make_charset): Setup `CHARSET_ENCODING_TABLE(cs)' instead of
4412         `CHARSET_TO_BYTE1_TABLE(cs)'.
4413         (charset_get_byte1): Refer `XCHARSET_ENCODING_TABLE(charset)'
4414         instead of `XCHARSET_TO_BYTE1_TABLE(charset)'.
4415         (charset_get_byte2): Refer `XCHARSET_ENCODING_TABLE(charset)'
4416         instead of `XCHARSET_TO_BYTE2_TABLE(charset)'.
4417         (Fset_charset_mapping_table): Setup `CHARSET_ENCODING_TABLE(cs)'
4418         instead of `CHARSET_TO_BYTE1_TABLE(cs)' and
4419         `CHARSET_TO_BYTE2_TABLE(cs)'.
4420
4421         * char-ucs.h (char_byte_table): New type.
4422         (XCHAR_BYTE_TABLE): New macro.
4423         (XSETCHAR_BYTE_TABLE): New macro.
4424         (CHAR_BYTE_TABLE_P): New macro.
4425         (GC_CHAR_BYTE_TABLE_P): New macro.
4426         (struct Lisp_Char_Byte_Table): New structure.
4427         (get_char_code_table): New interface.
4428         (Emchar_to_byte_table): Deleted.
4429         (get_byte_from_character_table): Deleted.
4430         (struct Lisp_Charset): Add `encoding_table'; delete
4431         `to_byte1_table' and `to_byte2_table'.
4432         (CHARSET_ENCODING_TABLE): New macro.
4433         (CHARSET_TO_BYTE1_TABLE): Deleted.
4434         (CHARSET_TO_BYTE2_TABLE): Deleted.
4435         (XCHARSET_ENCODING_TABLE): New macro.
4436         (XCHARSET_TO_BYTE1_TABLE): Deleted.
4437         (XCHARSET_TO_BYTE2_TABLE): Deleted.
4438
4439 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
4440
4441         * mule-charset.c (syms_of_mule_charset): Delete charset alias
4442         `vietnamese-viscii-*'.
4443
4444 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
4445
4446         * mule-charset.c (Qvietnamese_viscii_lower): New variable.
4447         (Qvietnamese_viscii_upper): New variable.
4448         (Fdefine_charset_alias): New function.
4449         (syms_of_mule_charset): Add new function `define-charset-alias'.
4450         (syms_of_mule_charset): Rename charset `vietnamese-viscii-*' to
4451         `latin-viscii-*'; define `vietnamese-viscii-*' as aliases for
4452         `latin-viscii-*'.
4453
4454 1999-10-04  MORIOKA Tomohiko  <tomo@etl.go.jp>
4455
4456         * char-ucs.h (MIN_CHAR_OBS_94x94): New macro.
4457         (MAX_CHAR_OBS_94x94): New macro.
4458         (breakup_char_1): Support obsolete XEmacs-UCS private code space
4459         for 94x94 sets.
4460
4461         * mule-charset.c (put_byte_from_character_table): Change unit size
4462         from 128 to 256.
4463         (mark_charset): Don't mark `cs->decoding_table' if `UTF2000' is
4464         not defined.
4465         (Fmake_reverse_direction_charset): Modify dummy argument of
4466         `make_charset' for non-UTF-2000 environment.
4467
4468 1999-10-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4469
4470         * char-ucs.h (MAKE_CHAR): Allow nested decoding-table.
4471
4472         * mule-charset.c (destroy_byte_from_character_table): New macro.
4473         (latin_jisx0201_to_ucs): Deleted.
4474         (latin_iso8859_2_to_ucs): Deleted.
4475         (latin_iso8859_3_to_ucs): Deleted.
4476         (latin_iso8859_4_to_ucs): Deleted.
4477         (latin_iso8859_9_to_ucs): Deleted.
4478         (latin_viscii_lower_to_ucs): Deleted.
4479         (latin_viscii_upper_to_ucs): Deleted.
4480         (mark_charset): Mark `cs->decoding_table'.
4481         (Fcharset_mapping_table): Fix DOC-string.
4482         (Fset_charset_mapping_table): New function.
4483         (syms_of_mule_charset): Add nwe function
4484         `set-charset-mapping-table'.
4485         (complex_vars_of_mule_charset): Don't setup and use
4486         `latin_*_to_ucs'.
4487
4488 1999-10-01  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4489
4490         * char-ucs.h (MAKE_CHAR): Check the result for range-represented
4491         charset.
4492
4493 1999-09-30  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4494
4495         * mule-charset.c (Vcharset_hiragana_jisx0208): New variable.
4496         (Vcharset_katakana_jisx0208): New variable.
4497         (Qhiragana_jisx0208): New variable.
4498         (Qkatakana_jisx0208): New variable.
4499         (make_charset): Add new argument `byte_offset'.
4500         (charset_get_byte1): Modify for new coded-charset definition; use
4501         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
4502         `XCHARSET_BYTE_OFFSET'.
4503         (Fmake_charset): Modify for `make_charset'.
4504         (Fmake_reverse_direction_charset): Likewise.
4505         (syms_of_mule_charset): Add new symbols `hiragana-jisx0208' and
4506         `katakana-jisx0208'.
4507         (complex_vars_of_mule_charset): Modify for `make_charset'; quote
4508         `.'  in font registry of charset `katakana-jisx0201',
4509         `latin-jisx0201', `vietnamese-viscii-lower' and
4510         `vietnamese-viscii-upper'; modify DOC-string of charset
4511         `japanese-jisx0208-1978' and `japanese-jisx0208'; modify font
4512         registry of charset `japanese-jisx0208' not to use font for JIS
4513         X0208:1990; add new charset `hiragana-jisx0208' and
4514         `katakana-jisx0208'.
4515
4516         * char-ucs.h (LEADING_BYTE_HIRAGANA_JISX0208): New macro.
4517         (LEADING_BYTE_KATAKANA_JISX0208): New macro.
4518         (struct Lisp_Charset): Add `byte_offset'.
4519         (CHARSET_BYTE_OFFSET): New macro.
4520         (XCHARSET_UCS_MIN): New macro.
4521         (XCHARSET_UCS_MAX): New macro.
4522         (XCHARSET_CODE_OFFSET): New macro.
4523         (XCHARSET_BYTE_OFFSET): New macro.
4524         (MIN_CHAR_HIRAGANA): New macro.
4525         (MAX_CHAR_HIRAGANA): New macro.
4526         (MIN_CHAR_KATAKANA): New macro.
4527         (MAX_CHAR_KATAKANA): New macro.
4528         (MAKE_CHAR): Modify for new coded-charset definition; use
4529         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
4530         `XCHARSET_BYTE_OFFSET'.
4531
4532 1999-09-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4533
4534         * mule-charset.c (CHAR96): Deleted.
4535         (latin_jisx0201_to_ucs): Type is changed from array of <Emchar> to
4536         <Lisp_Object>.
4537         (latin_iso8859_2_to_ucs): Likewise.
4538         (latin_iso8859_3_to_ucs): Likewise.
4539         (latin_iso8859_4_to_ucs): Likewise.
4540         (latin_iso8859_9_to_ucs): Likewise.
4541         (latin_viscii_lower_to_ucs): Likewise.
4542         (latin_viscii_upper_to_ucs): Likewise.
4543         (latin_tcvn5712_to_ucs): Commented out.
4544         (make_charset): Change type of argument `decoding_table' from
4545         <Emchar*> to <Lisp_Object> [vector of characters].
4546         (Fmake_charset): Modify for `make_charset'.
4547         (Fmake_reverse_direction_charset): Likewise.
4548         (Fcharset_mapping_table): New function in UTF-2000.
4549         (syms_of_mule_charset): Setup `Fcharset_mapping_table' in
4550         UTF-2000.
4551         (complex_vars_of_mule_charset): Modify for type change of
4552         `*_to_ucs'; modify for `make_charset'.
4553
4554         * char-ucs.h (struct Lisp_Charset): Change type of
4555         `decoding_table' from <Emchar*> to <Lisp_Object>.
4556         (MAKE_CHAR): Modify for new specification of `decoding_table'.
4557
4558 1999-09-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
4559
4560         * mule-charset.c (Fmake_reverse_direction_charset): Fix compile
4561         error with non-UTF-2000-Mule.
4562
4563 1999-09-21  MORIOKA Tomohiko  <tomo@etl.go.jp>
4564
4565         * mule-charset.c (Vcharset_chinese_cns11643_3): Deleted [defined
4566         in lisp again].
4567         (Vcharset_chinese_cns11643_4): Likewise.
4568         (Vcharset_chinese_cns11643_5): Likewise.
4569         (Vcharset_chinese_cns11643_6): Likewise.
4570         (Vcharset_chinese_cns11643_7): Likewise.
4571         (Qchinese_cns11643_3): Likewise.
4572         (Qchinese_cns11643_4): Likewise.
4573         (Qchinese_cns11643_5): Likewise.
4574         (Qchinese_cns11643_6): Likewise.
4575         (Qchinese_cns11643_7): Likewise.
4576         (syms_of_mule_charset): Move definitions for `chinese-cns11643-3',
4577         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
4578         and `chinese-cns11643-7' to lisp/mule/chinese.el.
4579         (complex_vars_of_mule_charset): Likewise.
4580
4581 1999-09-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
4582
4583         * mule-charset.c (charset_get_byte1): Fix bug about 94- and
4584         96-set.
4585         (Fmake_reverse_direction_charset): Inherit CHARSET_DECODING_TABLE,
4586         CHARSET_UCS_MIN, CHARSET_UCS_MAX and CHARSET_CODE_OFFSET.
4587
4588 1999-09-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
4589
4590         * char-ucs.h (MIN_CHAR_HALFWIDTH_KATAKANA): Changed to 0xFF61 from
4591         0xFF60.
4592         (MAKE_CHAR): Change offset for katakana-jisx0201 to 33 from 0x20.
4593         (breakup_char_1): Likewise.
4594
4595         * text-coding.c (char_encode_iso2022): Keep designated charsets if
4596         one of them includes the specified character.
4597
4598 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4599
4600         * mule-charset.c: Update `utf-2000-version' to 0.8 (Kami).
4601
4602 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4603
4604         * char-ucs.h (MAKE_CHAR): Fix problem in 2-dimension charset.
4605
4606 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4607
4608         * mule-charset.c (latin_iso8859_2_to_ucs NULL): Add pseudo
4609         definition for non-UTF-2000 Mule.
4610         (latin_iso8859_3_to_ucs): Likewise.
4611         (latin_iso8859_4_to_ucs): Likewise.
4612         (latin_iso8859_9_to_ucs): Likewise.
4613         (latin_jisx0201_to_ucs): Likewise.
4614         (MIN_CHAR_THAI): Likewise.
4615         (MAX_CHAR_THAI): Likewise.
4616         (MIN_CHAR_GREEK): Likewise.
4617         (MAX_CHAR_GREEK): Likewise.
4618         (MIN_CHAR_HEBREW): Likewise.
4619         (MAX_CHAR_HEBREW): Likewise.
4620         (MIN_CHAR_HALFWIDTH_KATAKANA): Likewise.
4621         (MAX_CHAR_HALFWIDTH_KATAKANA): Likewise.
4622         (MIN_CHAR_CYRILLIC): Likewise.
4623         (MAX_CHAR_CYRILLIC): Likewise.
4624
4625 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4626
4627         * char-ucs.h (breakup_char_1): Use
4628         `Vdefault_coded_charset_priority_list' for hebrew-iso8859-8,
4629         thai-tis620 and katakana-jisx0201 area.
4630
4631 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4632
4633         * char-ucs.h (breakup_char_1): Use
4634         `Vdefault_coded_charset_priority_list' for cyrillic-iso8859-5
4635         area.
4636
4637         * text-coding.c (reset_encoding_stream): Fixed.
4638         (char_encode_ucs4): Delete `& 255'.
4639
4640         * char-ucs.h (breakup_char_1): Use
4641         `Vdefault_coded_charset_priority_list' for greek-iso8859-7 area.
4642
4643 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4644
4645         * file-coding.c (Fmake_coding_system): Don't set up
4646         `codesys->fixed.size'.
4647         (encode_coding_no_conversion): Don't refer
4648         `str->codesys->fixed.size'.
4649
4650 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4651
4652         * mule-charset.c, char-ucs.h (latin_a_char_to_charset): Deleted.
4653         (latin_a_char_to_byte1): Deleted.
4654         (latin_a_char_to_byte2): Deleted.
4655
4656 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4657
4658         * mule-charset.c (make_charset): Add new argument `ucs_min',
4659         `ucs_max' and `code_offset'.
4660         (charset_get_byte1): New implementation [delete specific charset
4661         depended implementations].
4662         (Fmake_charset): Modify for `make_charset'.
4663         (Fmake_reverse_direction_charset): Likewise.
4664         (complex_vars_of_mule_charset): Likewise.
4665
4666         * char-ucs.h (struct Lisp_Charset): Add `ucs_min', `ucs_max' and
4667         `code_offset'.
4668         (CHARSET_UCS_MIN): New macro.
4669         (CHARSET_UCS_MAX): New macro.
4670         (CHARSET_CODE_OFFSET): New macro.
4671         (MAKE_CHAR): Delete charset depended definitions [except
4672         katakana-jisx0201].
4673
4674 1999-09-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
4675
4676         * char-ucs.h (breakup_char_1): Use
4677         `Vdefault_coded_charset_priority_list' for C0-Controls,
4678         Basic-Latin, C1-Controls and Latin-1-Supplement area.
4679
4680 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4681
4682         * char-ucs.h (charset_get_byte1): New function.
4683         (XCHARSET_GET_BYTE1): Deleted.
4684         (charset_get_byte2): New function.
4685         (XCHARSET_GET_BYTE2): Deleted.
4686         (Vdefault_coded_charset_priority_list): New external variable.
4687         (breakup_char_1): Use `charset_get_byte1', `charset_get_byte2' and
4688         `Vdefault_preferred_coded_charset_list'.
4689
4690         * mule-charset.c (charset_get_byte1): New function.
4691         (charset_get_byte2): New function.
4692         (Vdefault_coded_charset_priority_list): New variable.
4693         (vars_of_mule_charset): Add new variable
4694         `default-coded-charset-priority-list'.
4695
4696 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4697
4698         * char-ucs.h (XCHARSET_GET_BYTE1): New inline function.
4699         (XCHARSET_GET_BYTE2): New inline function.
4700         (breakup_char_1): Use `XCHARSET_GET_BYTE1' and
4701         `XCHARSET_GET_BYTE2'.
4702
4703 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4704
4705         * mule-charset.c (make_charset): Initialize
4706         `CHARSET_TO_BYTE1_TABLE(cs)' and `CHARSET_TO_BYTE2_TABLE(cs)' by
4707         NULL if table is not defined.
4708
4709 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4710
4711         * text-coding.c (char_encode_shift_jis): Use
4712         `XCHARSET_TO_BYTE1_TABLE' for `Vcharset_latin_jisx0201' instead of
4713         `ucs_to_latin_jisx0201'.
4714
4715         * mule-charset.c (ucs_to_latin_jisx0201): Deleted.
4716         (ucs_to_latin_iso8859_2): Deleted.
4717         (ucs_to_latin_iso8859_3): Deleted.
4718         (ucs_to_latin_iso8859_4): Deleted.
4719         (ucs_to_latin_iso8859_9): Deleted.
4720         (ucs_to_latin_viscii_lower): Deleted.
4721         (ucs_to_latin_viscii_upper): Deleted.
4722         (ucs_to_latin_tcvn5712): Deleted.
4723         (make_charset): Add new argument `decoding_table'; set up
4724         `CHARSET_DECODING_TABLE(cs)' in UTF-2000; set up
4725         `CHARSET_TO_BYTE1_TABLE(cs)' for 94-set and 96-set if
4726         `decoding_table' is defined in UTF-2000.
4727         (Fmake_charset): Modify for `make_charset'.
4728         (Fmake_reverse_direction_charset): Likewise.
4729         (complex_vars_of_mule_charset): Likewise; delete `GENERATE_94_SET'
4730         and `GENERATE_96_SET'.
4731
4732         * char-ucs.h (latin_jisx0201_to_ucs): Deleted.
4733         (ucs_to_latin_jisx0201): Deleted.
4734         (latin_iso8859_2_to_ucs): Deleted.
4735         (ucs_to_latin_iso8859_2): Deleted.
4736         (latin_iso8859_3_to_ucs): Deleted.
4737         (ucs_to_latin_iso8859_3): Deleted.
4738         (latin_iso8859_4_to_ucs): Deleted.
4739         (ucs_to_latin_iso8859_4): Deleted.
4740         (latin_iso8859_9_to_ucs): Deleted.
4741         (ucs_to_latin_iso8859_9): Deleted.
4742         (latin_viscii_lower_to_ucs): Deleted.
4743         (ucs_to_latin_viscii_lower): Deleted.
4744         (latin_viscii_upper_to_ucs): Deleted.
4745         (ucs_to_latin_viscii_upper): Deleted.
4746         (struct Lisp_Charset): Renamed `encoding_table' to
4747         `to_byte1_table'; add `to_byte2_table'.
4748         (CHARSET_DECODING_TABLE): New macro.
4749         (CHARSET_TO_BYTE1_TABLE): New macro.
4750         (CHARSET_TO_BYTE2_TABLE): New macro.
4751         (XCHARSET_DECODING_TABLE): New macro.
4752         (XCHARSET_TO_BYTE1_TABLE): New macro.
4753         (XCHARSET_TO_BYTE2_TABLE): New macro.
4754         (MAKE_CHAR): Use `XCHARSET_DECODING_TABLE'; don't use `*_to_ucs'
4755         tables.
4756         (breakup_char_1): Use `XCHARSET_TO_BYTE1_TABLE' if it is defined;
4757         don't use `ucs_to_*' tables.
4758
4759 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4760
4761         * text-coding.c (Fmake_coding_system): Don't set up
4762         `codesys->fixed.size'.
4763         (encode_coding_no_conversion): Use `if' instead of `switch'.
4764
4765         * file-coding.h (struct Lisp_Coding_System): Delete `fixed.size'.
4766
4767 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4768
4769         * mule-charset.c (make_charset): Delete argument `rep_bytes'.
4770         (Fmake_charset): Modify for `make_charset'.
4771         (Fmake_reverse_direction_charset): Likewise.
4772         (complex_vars_of_mule_charset): Likewise.
4773
4774 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4775
4776         * text-coding.c (char_encode_shift_jis): Use table
4777         `ucs_to_latin_jisx0201' and BREAKUP_CHAR.
4778
4779 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4780
4781         * text-coding.c (text_encode_generic): Use `if' instead of
4782         `switch'.
4783         (decode_coding_sjis): Use `MAKE_CHAR' and `DECODE_ADD_UCS_CHAR' to
4784         decode JIS-Latin.
4785
4786 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4787
4788         * text-coding.c (encode_coding_sjis): Deleted.
4789         (char_encode_shift_jis): New function.
4790         (char_finish_shift_jis): New function.
4791         (reset_encoding_stream): Set up `encode_char' and `finish' for
4792         `CODESYS_UCS4' and `CODESYS_SHIFT_JIS'.
4793         (mule_encode): Use generic encoder for `CODESYS_SHIFT_JIS'.
4794         (char_encode_utf8): Treat `eol_type'.
4795
4796 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4797
4798         * file-coding.c (decode_coding_iso2022): Use
4799         `DECODE_ADD_UCS_CHAR'; don't use `XCHARSET_REP_BYTES'.
4800
4801 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4802
4803         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4804         to 0.7 (Hirano).
4805
4806 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4807
4808         * char-lb.h (CHAR_COLUMNS): New macro.
4809
4810 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4811
4812         * text-coding.c (char_encode_ucs4): New function.
4813         (char_finish_ucs4): New function.
4814         (encode_coding_ucs4): Deleted.
4815         (mule_encode): Use generic encoder for `CODESYS_UCS4'.
4816         (text_encode_generic): Delete local variable `charset' and `half'.
4817         (ucs_to_mule_table): Deleted.
4818         (mule_to_ucs_table): Deleted.
4819         (Fset_ucs_char): Deleted.
4820         (ucs_to_char): Deleted.
4821         (Fucs_char): Deleted.
4822         (Fset_char_ucs): Deleted.
4823         (Fchar_ucs): Deleted.
4824         (decode_ucs4): Deleted.
4825         (mule_char_to_ucs4): Deleted.
4826         (encode_ucs4): Deleted.
4827         (decode_coding_ucs4): Use `DECODE_ADD_UCS_CHAR'.
4828         (decode_coding_utf8): Likewise.
4829         (decode_coding_iso2022): Likewise; don't use `XCHARSET_REP_BYTES'.
4830         (char_encode_iso2022): Fixed.
4831         (syms_of_file_coding): Delete `Fset_ucs_char', `Fucs_char',
4832         `Fset_char_ucs' and `Fchar_ucs'.
4833         (complex_vars_of_file_coding): Don't initialize
4834         `ucs_to_mule_table'.
4835
4836         * objects-tty.c (tty_initialize_font_instance): Don't use
4837         `XCHARSET_COLUMNS'.
4838
4839         * mule-charset.c (make_charset): Don't set up CHARSET_REP_BYTES in
4840         UTF-2000.
4841
4842         * redisplay-tty.c (tty_output_display_block): Use `CHAR_COLUMNS'
4843         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
4844
4845         * insdel.c (bufbyte_string_displayed_columns): Use `CHAR_COLUMNS'
4846         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
4847         (emchar_string_displayed_columns): Likewise.
4848
4849         * indent.c (column_at_point): Use `CHAR_COLUMNS' instead of
4850         `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
4851         (string_column_at_point): Likewise.
4852         (Fmove_to_column): Likewise.
4853
4854         * char-ucs.h (struct Lisp_Charset): Delete `rep_bytes'; add
4855         `encoding_table' and `decoding_table'.
4856         (CHARSET_REP_BYTES): Deleted.
4857         (XCHARSET_REP_BYTES): Deleted.
4858         (XCHARSET_COLUMNS): Deleted.
4859         (CHAR_COLUMNS): New macro.
4860         (lookup_composite_char): Deleted unconditionally.
4861         (composite_char_string): Likewise.
4862
4863 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4864
4865         * char-ucs.h (Emchar_to_byte_table): New type.
4866         (get_byte_from_character_table): New function interface.
4867         (Vcharset_latin_jisx0201): New variable.
4868         (latin_jisx0201_to_ucs): New variable.
4869         (ucs_to_latin_jisx0201): New variable.
4870         (Vcharset_latin_iso8859_2): New variable.
4871         (latin_iso8859_2_to_ucs): New variable.
4872         (ucs_to_latin_iso8859_2): New variable.
4873         (Vcharset_latin_iso8859_3): New variable.
4874         (latin_iso8859_3_to_ucs): New variable.
4875         (ucs_to_latin_iso8859_3): New variable.
4876         (Vcharset_latin_iso8859_4): New variable.
4877         (latin_iso8859_4_to_ucs): New variable.
4878         (ucs_to_latin_iso8859_4): New variable.
4879         (Vcharset_latin_iso8859_9): New variable.
4880         (latin_iso8859_9_to_ucs): New variable.
4881         (ucs_to_latin_iso8859_9): New variable.
4882         (Vcharset_latin_viscii_lower): New variable.
4883         (latin_viscii_lower_to_ucs): New variable.
4884         (ucs_to_latin_viscii_lower): New variable.
4885         (Vcharset_latin_viscii_upper): New variable.
4886         (latin_viscii_upper_to_ucs): New variable.
4887         (ucs_to_latin_viscii_upper): New variable.
4888         (CHARSET_ID_OFFSET_94): Changed from 0x60 to 0x55.
4889         (LEADING_BYTE_LATIN_VISCII_LOWER): New macro.
4890         (LEADING_BYTE_LATIN_VISCII_UPPER): New macro.
4891         (MAKE_CHAR): Map `latin-iso8859-2', `latin-iso8859-3',
4892         `latin-iso8859-4', `latin-iso8859-9', `latin-jisx0201',
4893         `vietnamese-viscii-lower' and `vietnamese-viscii-upper' to BMP.
4894         (breakup_char_1): Use `ucs_to_latin_iso8859_2',
4895         `ucs_to_latin_iso8859_3', `ucs_to_latin_iso8859_4',
4896         `ucs_to_latin_iso8859_9', `ucs_to_latin_viscii_lower',
4897         `ucs_to_latin_viscii_upper' and `ucs_to_latin_jisx0201' tables.
4898
4899         * mule-charset.c (Vcharset_latin_viscii_lower): New variable.
4900         (Vcharset_latin_viscii_upper): New variable.
4901         (make_byte_from_character_table): New function.
4902         (put_byte_from_character_table): New function.
4903         (get_byte_from_character_table): New function.
4904         (CHAR96): New macro.
4905         (ucs_to_latin_jisx0201): New variable.
4906         (latin_jisx0201_to_ucs): New variable.
4907         (ucs_to_latin_iso8859_2): New variable.
4908         (latin_iso8859_2_to_ucs): New variable.
4909         (ucs_to_latin_iso8859_3): New variable.
4910         (latin_iso8859_3_to_ucs): New variable.
4911         (ucs_to_latin_iso8859_4): New variable.
4912         (latin_iso8859_4_to_ucs): New variable.
4913         (ucs_to_latin_iso8859_9): New variable.
4914         (latin_iso8859_9_to_ucs): New variable.
4915         (ucs_to_latin_viscii_lower): New variable.
4916         (latin_viscii_lower_to_ucs): New variable.
4917         (ucs_to_latin_viscii_upper): New variable.
4918         (latin_viscii_upper_to_ucs): New variable.
4919         (ucs_to_latin_tcvn5712): New variable.
4920         (latin_tcvn5712_to_ucs): New variable.
4921         (Qlatin_viscii_lower): New variable.
4922         (Qlatin_viscii_upper): New variable.
4923         (syms_of_mule_charset): Set up new symbol
4924         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'.
4925         (complex_vars_of_mule_charset): Set up new charset
4926         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'; new macro
4927         `GENERATE_94_SET' and `GENERATE_96_SET'; use them to generate
4928         `ucs_to_<CHARSET>' tables.
4929
4930 1999-09-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
4931
4932         * text-coding.c: New file.
4933
4934 1999-09-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
4935
4936         * mule-charset.c (Fmake_char): Fix problem of 256-set.
4937
4938         * char-ucs.h (Vcharset_ucs_bmp): New variable.
4939         (MAKE_CHAR): Modify for `ucs-bmp'.
4940         (breakup_char_1): Return `ucs-bmp' and code point of BMP for
4941         non-MULE characters of BMP.
4942
4943 1999-09-06  MORIOKA Tomohiko  <tomo@etl.go.jp>
4944
4945         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4946         to 0.6.
4947
4948 1999-09-05  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4949
4950         * lstream.h:
4951         - Include multibyte.h instead of character.h for `BYTE_ASCII_P'.
4952         - Include character.h for `CHAR_ASCII_P'.
4953
4954         * mb-multibyte.h (CHAR_MULTIBYTE_P): Moved from mule-charset.h.
4955
4956         * mule-charset.h (CHAR_MULTIBYTE_P): Moved to mb-multibyte.h.
4957         (CHAR_ASCII_P): Don't use `CHAR_MULTIBYTE_P'.
4958
4959         * mb-multibyte.h (BYTE_ASCII_P): Moved from char-ucs.h.
4960         (BYTE_C0_P): Likewise.
4961         (BYTE_C1_P): Likewise.
4962         (Lstream_get_emchar_1): Likewise.
4963         (Lstream_fput_emchar): Likewise.
4964         (Lstream_funget_emchar): Likewise.
4965         (copy_internal_to_external): Likewise.
4966         (copy_external_to_internal): Likewise.
4967
4968         * char-ucs.h (BYTE_ASCII_P): Moved to mb-multibyte.h.
4969         (BYTE_C0_P): Likewise.
4970         (BYTE_C1_P): Likewise.
4971         (Lstream_get_emchar_1): Likewise.
4972         (Lstream_fput_emchar): Likewise.
4973         (Lstream_funget_emchar): Likewise.
4974         (copy_internal_to_external): Likewise.
4975         (copy_external_to_internal): Likewise.
4976
4977         * mb-1byte.h (BYTE_ASCII_P): Moved from buffer.h.
4978         (REP_BYTES_BY_FIRST_BYTE): Likewise.
4979
4980         * buffer.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-1byte.h.
4981         (BYTE_ASCII_P): Moved to mb-1byte.h.
4982
4983 1999-09-04  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4984
4985         * mb-utf-8.h, mb-lb.h: Include mb-multibyte.h.
4986
4987         * multibyte.h: Include mb-1byte.h in unibyte-XEmacs.
4988         (MAX_EMCHAR_LEN): Moved to mb-1byte.h.
4989         (VALID_CHARPTR_P): Moved to mb-*byte.h.
4990         (VALIDATE_CHARPTR_BACKWARD): Likewise.
4991         (VALIDATE_CHARPTR_FORWARD): Likewise.
4992         (simple_charptr_emchar): Moved to mb-multibyte.h.
4993         (simple_set_charptr_emchar): Likewise.
4994         (simple_charptr_copy_char): Likewise.
4995         (non_ascii_charptr_emchar): Likewise.
4996         (non_ascii_set_charptr_emchar): Likewise.
4997         (non_ascii_charptr_copy_char): Likewise.
4998         (charptr_emchar): Moved to mb-*byte.h.
4999         (set_charptr_emchar): Likewise.
5000         (charptr_copy_char): Likewise.
5001
5002         * mb-1byte.h, mb-multibyte.h: New files.
5003
5004 1999-09-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5005
5006         * mb-utf-8.h (MULTIBYTE): New macro.
5007         (MAX_EMCHAR_LEN): Moved from buffer.h.
5008         (REP_BYTES_BY_FIRST_BYTE): Moved from char-ucs.h.
5009
5010         * char-ucs.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-utf-8.h.
5011
5012         * mb-lb.h, multibyte.h: New files.
5013
5014         * char-1byte.h (Charset_ID): Moved from buffer.h.
5015         (MIN_LEADING_BYTE): Likewise.
5016         (LEADING_BYTE_ASCII): Likewise.
5017         (NUM_LEADING_BYTES): Likewise.
5018         (CHARSETP): Likewise.
5019         (CHARSET_BY_LEADING_BYTE): Likewise.
5020         (XCHARSET_LEADING_BYTE): Likewise.
5021         (XCHARSET_GRAPHIC): Likewise.
5022         (XCHARSET_COLUMNS): Likewise.
5023         (XCHARSET_DIMENSION): Likewise.
5024         (CHAR_CHARSET): Likewise.
5025         (CHAR_LEADING_BYTE): Likewise.
5026         (BREAKUP_CHAR): Likewise.
5027         (Vcharset_ascii): Likewise.
5028
5029         * buffer.h: Include multibyte.h unconditionally.
5030         (VALID_CHARPTR_P): Moved to multibyte.h.
5031         (ASSERT_VALID_CHARPTR): Likewise.
5032         (REAL_INC_CHARPTR): Likewise.
5033         (REAL_INC_CHARBYTIND): Likewise.
5034         (REAL_DEC_CHARPTR): Likewise.
5035         (INC_CHARPTR): Likewise.
5036         (INC_CHARBYTIND): Likewise.
5037         (DEC_CHARPTR): Likewise.
5038         (VALIDATE_CHARPTR_BACKWARD): Likewise.
5039         (VALIDATE_CHARPTR_FORWARD): Likewise.
5040         (charptr_n_addr): Likewise.
5041         (MAX_EMCHAR_LEN): Moved to mb-*.h.
5042         (simple_charptr_emchar): Moved to multibyte.h.
5043         (simple_set_charptr_emchar): Likewise.
5044         (simple_charptr_copy_char): Likewise.
5045         (non_ascii_charptr_emchar): Likewise.
5046         (non_ascii_set_charptr_emchar): Likewise.
5047         (non_ascii_charptr_copy_char): Likewise.
5048         (charptr_emchar): Likewise.
5049         (set_charptr_emchar): Likewise.
5050         (charptr_copy_char): Likewise.
5051         (charptr_emchar_n): Likewise.
5052         (Charset_ID): Moved to char-1byte.h.
5053         (Vcharset_ascii): Likewise.
5054         (CHAR_CHARSET): Likewise.
5055         (CHAR_LEADING_BYTE): Likewise.
5056         (LEADING_BYTE_ASCII): Likewise.
5057         (NUM_LEADING_BYTES): Likewise.
5058         (MIN_LEADING_BYTE): Likewise.
5059         (CHARSETP): Likewise.
5060         (CHARSET_BY_LEADING_BYTE): Likewise.
5061         (XCHARSET_LEADING_BYTE): Likewise.
5062         (XCHARSET_GRAPHIC): Likewise.
5063         (XCHARSET_COLUMNS): Likewise.
5064         (XCHARSET_DIMENSION): Likewise.
5065         (BREAKUP_CHAR): Likewise.
5066
5067 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5068
5069         * character.h: Add document about interface for characters.
5070
5071         * char-ucs.h (CHAR_ASCII_P): Modify name of argument.
5072         (MAKE_CHAR): Delete comment about
5073         `FIELD2_TO_OFFICIAL_LEADING_BYTE' and
5074         `FIELD2_TO_PRIVATE_LEADING_BYTE'.
5075         (BREAKUP_CHAR): Modify name of arguments.
5076         (CHAR_CHARSET): Modify name of argument.
5077
5078         * buffer.h: Delete document about Emchar accessors.
5079
5080 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5081
5082         * character.h (CHAR_INTP): Moved from buffer.h
5083         (CHAR_OR_CHAR_INTP): Likewise.
5084         (XCHAR_OR_CHAR_INT): Likewise.
5085         (CHECK_CHAR_COERCE_INT): Likewise.
5086
5087         * buffer.h (CHAR_INTP): Moved to character.h
5088         (CHAR_OR_CHAR_INTP): Likewise.
5089         (XCHAR_OR_CHAR_INT): Likewise.
5090         (CHECK_CHAR_COERCE_INT): Likewise.
5091
5092 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5093
5094         * character.h:
5095         - Move definitions about UCS-2000 (UCS-4) to char-ucs.h.
5096         - Include char-1byte.h, char-lb.h or char-ucs.h.
5097
5098         * mb-utf-8.h (CHAR_ASCII_P): Moved to char-ucs.h.
5099
5100         * buffer.h: Include character unconditionally.
5101         (valid_char_p): Moved to char-*.h.
5102         (non_ascii_valid_char_p): Moved to char-lb.h.
5103
5104         * char-1byte.h, char-lb.h, char-ucs.h: New files.
5105
5106 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5107
5108         * mule-ccl.c (ccl_driver): Don't define `CCL_WriteMultibyteChar2'
5109         in UTF-2000 because it is not ported yet and not to use
5110         `FIELD2_TO_OFFICIAL_LEADING_BYTE', `MIN_LEADING_BYTE_OFFICIAL_2',
5111         `FIELD1_TO_OFFICIAL_LEADING_BYTE' and
5112         `FIELD1_TO_PRIVATE_LEADING_BYTE'.
5113
5114         * mb-utf-8.h (CHAR_MULTIBYTE_P): Moved from character.h.
5115         (CHAR_ASCII_P): Moved from character.h.
5116
5117         * character.h (CHAR_MULTIBYTE_P): Moved to mb-utf-8.h.
5118         (CHAR_ASCII_P): Likewise.
5119         (CHAR_FIELD1_MASK): Deleted.
5120         (CHAR_FIELD2_MASK): Deleted.
5121         (CHAR_FIELD3_MASK): Deleted.
5122         (MAX_CHAR_BASIC_LATIN): New macro.
5123         (CHAR_FIELD1): Deleted.
5124         (CHAR_FIELD2_INTERNAL): Deleted.
5125         (CHAR_FIELD3_INTERNAL): Deleted.
5126         (FIELD1_TO_PRIVATE_LEADING_BYTE): Deleted.
5127         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Deleted.
5128         (FIELD2_TO_PRIVATE_LEADING_BYTE): Deleted.
5129         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Deleted.
5130         (MIN_CHAR_FIELD1_OFFICIAL): Deleted.
5131         (MAX_CHAR_FIELD1_OFFICIAL): Deleted.
5132         (MIN_CHAR_FIELD2_PRIVATE): Deleted.
5133         (MAX_CHAR_FIELD2_PRIVATE): Deleted.
5134         (MIN_CHAR_FIELD1_PRIVATE): Deleted.
5135         (MAX_CHAR_FIELD1_PRIVATE): Deleted.
5136         (MULE_CHAR_PRIVATE_OFFSET): Deleted.
5137         (MIN_CHAR_PRIVATE_TYPE9N): Deleted.
5138         (MAX_CHAR_PRIVATE_TYPE9N): Deleted.
5139         (MIN_CHAR_PRIVATE_TYPE9NX9N): Deleted.
5140         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Deleted.
5141         (MIN_CHAR_COMPOSITION): Deleted.
5142         (breakup_char_1): Use `MAX_CHAR_BASIC_LATIN' instead of
5143         `CHAR_ASCII_P'; use `0x7f' instead of `CHAR_FIELD3_INTERNAL'.
5144
5145 1999-09-02  MORIOKA Tomohiko  <tomo@m17n.org>
5146
5147         * buffer.h: Include mb-utf-8.h in UTF-2000.
5148
5149         * character.h (BUFBYTE_FIRST_BYTE_P): Moved to mb-utf-8.h.
5150
5151         * mb-utf-8.h: New file.
5152
5153 1999-09-02  MORIOKA Tomohiko  <tomo@etl.go.jp>
5154
5155         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use `Charset_ID'
5156         instead of `int'.
5157
5158         * mule-charset.h, buffer.h (Charset_ID): New type.
5159
5160 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
5161
5162         * mule-canna.c (c2mu): Use `MAKE_CHAR',
5163         `Vcharset_japanese_jisx0212' and `Vcharset_japanese_jisx0208'
5164         instead of `MULE_CHAR_PRIVATE_OFFSET',
5165         `LEADING_BYTE_JAPANESE_JISX0212', `LEADING_BYTE_JAPANESE_JISX0208'
5166         and `FIELD1_TO_OFFICIAL_LEADING_BYTE'.
5167         (m2c): Use `BREAKUP_CHAR' and `XCHARSET_FINAL'.
5168
5169         * character.h (Vcharset_japanese_jisx0212): New variable
5170         definition.
5171
5172 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
5173
5174         * mule-charset.c (Vcharset_ucs_bmp): New variable in UTF-2000.
5175         (charset_by_attributes): Delete array about direction.
5176         (latin_a_char_to_charset): New variable in UTF-2000.
5177         (latin_a_char_to_byte1): New variable in UTF-2000.
5178         (latin_a_char_to_byte2): New variable in UTF-2000.
5179         (Qucs_bmp): New variable.
5180         (next_allocated_1_byte_leading_byte): Use `Charset_ID' instead of
5181         `Bufbyte'.
5182         (next_allocated_2_byte_leading_byte): Likewise.
5183         (non_ascii_set_charptr_emchar): Likewise.
5184         (make_charset): Likewise; add `CHARSET_TYPE_128X128' and
5185         `CHARSET_TYPE_256X256' in UTF-2000; modify for
5186         `charset_by_attributes'.
5187         (get_unallocated_leading_byte): Use `Charset_ID' instead of `int'.
5188         (char-charset): Use `CHAR_CHARSET' instead of `CHAR_LEADING_BYTE'
5189         and `CHARSET_BY_LEADING_BYTE'.
5190         (syms_of_mule_charset): Set up `ucs-bmp'; move setting of
5191         `utf-2000-version' to `vars_of_mule_charset'.
5192         (vars_of_mule_charset): Modify for `charset_by_attributes'; don't
5193         define `leading-code-private-11' in UTF-2000; move setting of
5194         `utf-2000-version' from `syms_of_mule_charset'.
5195         (complex_vars_of_mule_charset): Set up charset `ucs-bmp' in
5196         UTF-2000.
5197
5198         * character.h (Charset_ID): New type.
5199         (LEADING_BYTE_UCS_BMP): New macro.
5200         (LEADING_BYTE_CONTROL_1): Changed from 0x8F to 0x81.
5201         (CHARSET_ID_OFFSET_94): New macro.
5202         (MIN_CHARSET_ID_PRIVATE_94): New macro.
5203         (MAX_CHARSET_ID_PRIVATE_94): New macro.
5204         (LEADING_BYTE_ASCII): Changed to use CHARSET_ID_OFFSET_94 and
5205         final-byte.
5206         (LEADING_BYTE_KATAKANA_JISX0201): Likewise.
5207         (LEADING_BYTE_LATIN_JISX0201): Likewise.
5208         (CHARSET_ID_OFFSET_96): New macro.
5209         (LEADING_BYTE_LATIN_ISO8859_1): Changed to use
5210         CHARSET_ID_OFFSET_96 and final-byte.
5211         (LEADING_BYTE_LATIN_ISO8859_2): Likewise.
5212         (LEADING_BYTE_LATIN_ISO8859_3): Likewise.
5213         (LEADING_BYTE_LATIN_ISO8859_4): Likewise.
5214         (LEADING_BYTE_GREEK_ISO8859_7): Likewise.
5215         (LEADING_BYTE_ARABIC_ISO8859_6): Likewise.
5216         (LEADING_BYTE_HEBREW_ISO8859_8): Likewise.
5217         (LEADING_BYTE_CYRILLIC_ISO8859_5): Likewise.
5218         (LEADING_BYTE_LATIN_ISO8859_9): Likewise.
5219         (LEADING_BYTE_THAI_TIS620): Likewise.
5220         (MIN_LEADING_BYTE_PRIVATE_1): Changed from 0x0D0 to 0xD0.
5221         (MAX_LEADING_BYTE_PRIVATE_1): Changed from 0x11f to 0xDF.
5222         (CHARSET_ID_OFFSET_94x94): New macro.
5223         (LEADING_BYTE_CHINESE_BIG5_1): Changed to use
5224         CHARSET_ID_OFFSET_94x94 and final-byte.
5225         (LEADING_BYTE_CHINESE_BIG5_2): Likewise.
5226         (MIN_LEADING_BYTE_PRIVATE_2): Likewise.
5227         (MAX_LEADING_BYTE_PRIVATE_2): Likewise.
5228         (LEADING_BYTE_JAPANESE_JISX0208_1978): Likewise.
5229         (LEADING_BYTE_CHINESE_GB2312): Likewise.
5230         (LEADING_BYTE_JAPANESE_JISX0208): Likewise.
5231         (LEADING_BYTE_KOREAN_KSC5601): Likewise.
5232         (LEADING_BYTE_JAPANESE_JISX0212): Likewise.
5233         (LEADING_BYTE_CHINESE_CCITT_GB): Likewise.
5234         (LEADING_BYTE_CHINESE_CNS11643_*): Likewise.
5235         (LEADING_BYTE_KOREAN_KPS9566): Likewise.
5236         (CHARSET_TYPE_128X128): New macro.
5237         (CHARSET_TYPE_256X256): New macro.
5238         (XCHARSET_PRIVATE_P): Delete unconditionally.
5239         (charset_by_attributes): Delete array about direction.
5240         (CHARSET_BY_LEADING_BYTE): Use `Charset_ID' instead of `int'.
5241         (CHARSET_BY_ATTRIBUTES): Modify for `charset_by_attributes'.
5242         (MIN_CHAR_94): New macro.
5243         (MAX_CHAR_94): New macro.
5244         (MIN_CHAR_96): New macro.
5245         (MAX_CHAR_96): New macro.
5246         (MIN_CHAR_94x94): New macro.
5247         (MAX_CHAR_94x94): New macro.
5248         (MIN_CHAR_96x96): New macro.
5249         (MAX_CHAR_96x96): New macro.
5250         (FIELD1_TO_PRIVATE_LEADING_BYTE): Use `CHARSET_ID_OFFSET_94x94'.
5251         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
5252         (FIELD2_TO_PRIVATE_LEADING_BYTE): Use `(MIN_LEADING_BYTE_PRIVATE_1
5253         - 32)'.
5254         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Use `LEADING_BYTE_ASCII'.
5255         (MIN_CHAR_FIELD2_OFFICIAL): Deleted.
5256         (MAX_CHAR_FIELD2_OFFICIAL): Deleted.
5257         (MIN_CHAR_OFFICIAL_TYPE9N): Deleted.
5258         (MAX_CHAR_PRIVATE_TYPE9N): Changed.
5259         (MAKE_CHAR): Use `XCHARSET_FINAL' instead of
5260         `XCHARSET_LEADING_BYTE' to make code-point.
5261         (latin_a_char_to_charset): New variable.
5262         (latin_a_char_to_byte1): New variable.
5263         (latin_a_char_to_byte2): New variable.
5264         (breakup_char_1): Use `latin_a_char_to_{charset|byte1|byte2}' for
5265         Latin Extended-A; use `CHARSET_BY_ATTRIBUTES' instead of
5266         `CHARSET_BY_LEADING_BYTE' to get charset for ISO-2022 characters.
5267
5268         * insdel.c (find_charsets_in_bufbyte_string): Use `Charset_ID'
5269         instead of `unsigned char'; use `MIN_LEADING_BYTE' instead of 128.
5270         (find_charsets_in_emchar_string): Likewise.
5271         (vars_of_insdel): Don't define local variable `i' in UTF-2000.
5272
5273         * file-coding.c (Fdecode_big5_char): Use `Charset_ID' instead of
5274         `int'.
5275         (decode_coding_iso2022): Likewise.
5276
5277         * toolbar-x.c (x_output_toolbar_button): Use `Charset_ID' instead
5278         of `unsigned char'.
5279
5280         * redisplay.c (redisplay_text_width_emchar_string): Use
5281         `Charset_ID' instead of `unsigned char'.
5282         (redisplay_frame_text_width_string): Likewise.
5283
5284         * glyphs.c (glyph_height_internal): Use `Charset_ID' instead of
5285         `unsigned char'.
5286
5287         * faces.h, faces.c (ensure_face_cachel_complete): Use `Charset_ID'
5288         instead of `unsigned char'.
5289         (face_cachel_charset_font_metric_info): Likewise.
5290
5291         * chartab.c (print_char_table): Use `Charset_ID' instead of `int'.
5292         (get_non_ascii_char_table_value): Likewise.
5293         (get_char_table): Likewise.
5294         (put_char_table): Likewise.
5295         (map_over_other_charset): Likewise.
5296         (map_char_table): Likewise.
5297
5298         * buffer.h (find_charsets_in_bufbyte_string): Use `Charset_ID'
5299         instead of `unsigned char'.
5300
5301 1999-08-31  MORIOKA Tomohiko  <tomo@etl.go.jp>
5302
5303         * character.h (PRE_LEADING_BYTE_PRIVATE_1): Deleted.
5304         (PRE_LEADING_BYTE_PRIVATE_2): Deleted.
5305
5306         * mule-charset.c (leading_code_private_11): Don't define in
5307         UTF-2000.
5308
5309         * mule-ccl.c (ccl_driver): Don't define `CCL_ReadMultibyteChar2'
5310         in UTF-2000 because it is not ported yet and not to use
5311         `PRE_LEADING_BYTE_PRIVATE_1' and `PRE_LEADING_BYTE_PRIVATE_2'.
5312
5313 1999-08-30  MORIOKA Tomohiko  <tomo@etl.go.jp>
5314
5315         * character.h (LEADING_BYTE_COMPOSITE): Deleted.
5316
5317 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
5318
5319         * regex.c (re_compile_fastmap): Don't use `LEADING_BYTE_PREFIX_P'
5320         in UTF-2000.
5321
5322         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use int instead
5323         of unsigned char to store leading-byte.
5324
5325         * chartab.c (get_non_ascii_char_table_value): Don't use
5326         `BREAKUP_CHAR_1_UNSAFE' in UTF-2000.
5327
5328         * file-coding.c (encode_coding_big5): Delete bogus implementation
5329         in UTF2000.
5330
5331         * character.h (LEADING_BYTE_*): Delete definition for
5332         non-UTF-2000.
5333         (LEADING_BYTE_PRIVATE_P): Deleted unconditionally.
5334         (LEADING_BYTE_PREFIX_P): Deleted.
5335         (PRIVATE_LEADING_BYTE_PREFIX): Deleted.
5336         (BUFBYTE_FIRST_BYTE_P): Delete definition for non-UTF-2000.
5337         (BUFBYTE_LEADING_BYTE_P): Deleted.
5338         (CHARSET_PRIVATE_P): Deleted unconditionally.
5339         (rep_bytes_by_first_byte): Deleted unconditionally.
5340         (REP_BYTES_BY_FIRST_BYTE): Delete definition for non-UTF-2000.
5341         (FIELD1_TO_PRIVATE_LEADING_BYTE): Likewise.
5342         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
5343         (FIELD2_TO_PRIVATE_LEADING_BYTE): Likewise.
5344         (CHAR_FIELD2): Deleted.
5345         (CHAR_FIELD3): Deleted.
5346         (MAKE_CHAR): Delete definition for non-UTF-2000.
5347         (BREAKUP_CHAR_1_UNSAFE): Deleted.
5348         (breakup_char_1): New implementation.
5349         (CHAR_CHARSET): Use `BREAKUP_CHAR'.
5350         (CHAR_LEADING_BYTE): Use `CHAR_CHARSET'.
5351
5352 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
5353
5354         * character.h (REP_BYTES_BY_FIRST_BYTE): Change order of
5355         condition.
5356
5357 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
5358
5359         * character.h (LEADING_BYTE_PRIVATE_P): Don't define in UTF2000.
5360         (CHARSET_PRIVATE_P): Likewise.
5361         (XCHARSET_PRIVATE_P): Likewise.
5362         (MAKE_CHAR): Don't use XCHARSET_PRIVATE_P in UTF2000.
5363
5364         * file-coding.c (encode_coding_ucs4): Delete bogus implement in
5365         UTF2000.
5366         (decode_coding_iso2022): Don't use XCHARSET_PRIVATE_P in UTF2000.
5367
5368 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
5369
5370         * character.h (LEADING_BYTE_*): Changed in UTF2000.
5371         (NUM_LEADING_BYTES): Changed from 128 to 256.
5372         (FIELD1_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
5373         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Change value to 0x80 in
5374         UTF2000.
5375         (FIELD2_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
5376
5377         * mule-charset.c (Vcharset_chinese_cns11643_3): New variable in
5378         UTF2000.
5379         (Vcharset_chinese_cns11643_4): New variable in UTF2000.
5380         (Vcharset_chinese_cns11643_5): New variable in UTF2000.
5381         (Vcharset_chinese_cns11643_6): New variable in UTF2000.
5382         (Vcharset_chinese_cns11643_7): New variable in UTF2000.
5383         (Qchinese_cns11643_3): New variable in UTF2000.
5384         (Qchinese_cns11643_4): New variable in UTF2000.
5385         (Qchinese_cns11643_5): New variable in UTF2000.
5386         (Qchinese_cns11643_6): New variable in UTF2000.
5387         (Qchinese_cns11643_7): New variable in UTF2000.
5388         (syms_of_mule_charset): Define `chinese-cns11643-3',
5389         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
5390         and `chinese-cns11643-7' in UTF2000.
5391         (vars_of_mule_charset): Initialize
5392         next_allocated_2_byte_leading_byte by LEADING_BYTE_CHINESE_BIG5_2
5393         + 1 in UTF2000.
5394         (complex_vars_of_mule_charset): Setup charset
5395         `chinese-cns11643-3', `chinese-cns11643-4', `chinese-cns11643-5',
5396         `chinese-cns11643-6' and `chinese-cns11643-7' in UTF2000.
5397
5398 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5399
5400         * mule-charset.c: Move setting for `leading-code-private-11' from
5401         `syms_of_mule_charset' to `vars_of_mule_charset'.
5402
5403 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5404
5405         * mule-charset.h (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE'
5406         and `NUM_LEADING_BYTES' in assert.
5407
5408 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5409
5410         * character.h (charset_by_leading_byte): Use `NUM_LEADING_BYTES'
5411         instead of 128.
5412         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' and
5413         `NUM_LEADING_BYTES' instead of 128.
5414
5415 1999-08-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
5416
5417         * mule-charset.h (charset_by_leading_byte): Use
5418         `NUM_LEADING_BYTES' instead of 128.
5419         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' instead of 128.
5420
5421         * mule-charset.c (charset_by_leading_byte): Use
5422         `NUM_LEADING_BYTES' instead of 128.
5423         (make_charset): Use `MIN_LEADING_BYTE' instead of 128.
5424
5425         * faces.h (FACE_CACHEL_FONT): Use `MIN_LEADING_BYTE' instead of
5426         128.
5427
5428 1999-08-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
5429
5430         * mule-charset.c (syms_of_mule_charset): Update to
5431         0.4 (Shin-Imamiya).
5432
5433 1999-07-13 Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
5434
5435         * file-coding.c (encode_coding_sjis): New implementation for
5436         UTF2000.  (decode_coding_sjis): Ditto.
5437
5438 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
5439
5440         * mule-charset.c, character.h (Bytecount rep_bytes_by_first_byte):
5441         Don't define in UTF2000.
5442
5443         * character.h: Include mule-charset.h if CHAR_IS_UCS4 is not
5444         defined.
5445
5446         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
5447         mule-ccl.c, lstream.h, buffer.h: Include character.h in every
5448         MULE.
5449
5450 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
5451
5452         * config.h.in (CHAR_IS_UCS4): New macro.
5453
5454         * mule-charset.c (rep_bytes_by_first_byte): Modify for
5455         conventional MULE representation.
5456         (syms_of_mule_charset): Update to 0.3 (Imamiya).
5457
5458         * mule-charset.h: Reverted to original.
5459
5460         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
5461         mule-ccl.c, lstream.h, buffer.h: Use "character.h" instead of
5462         "mule-charset.h" if CHAR_IS_UCS4 is defined.
5463
5464         * character.h: New file.
5465
5466         * file-coding.c (Fmake_coding_system): Set 1 to
5467         `codesys->fixed.size' if TYPE is `no-conversion' and UTF2000 is
5468         defined.
5469         (encode_coding_no_conversion): New implementation for UTF2000.
5470
5471         * file-coding.h (struct Lisp_Coding_System): Add new member
5472         `fixed.size'.
5473
5474 1999-06-16  MORIOKA Tomohiko  <tomo@etl.go.jp>
5475
5476         * file-coding.c (decode_coding_iso2022): Code-point arguments of
5477         `MAKE_CHAR' must be smaller than 0x80 in UTF2000.
5478         (encode_coding_iso2022): New implementation for UTF2000.
5479
5480 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5481
5482         * mule-canna.c (c2mu): New implementation for UTF2000.
5483         (m2c): Likewise.
5484
5485 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5486
5487         * file-coding.c (encode_coding_no_conversion): Modify for UTF2000.
5488
5489 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5490
5491         * file-coding.c (reset_encoding_stream): Set 0 to
5492         `str->iso2022.current_char_boundary' in UTF2000.
5493         (encode_utf8): Don't define in UTF2000.
5494         (encode_coding_utf8): New implementation for UTF-8 representation
5495         of UTF2000.
5496         (complex_vars_of_file_coding): Define coding-system `utf-8'.
5497
5498 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5499
5500         * mule.c (vars_of_mule): Provide `utf-2000' in UTF2000.
5501
5502         * mule-charset.h (BUFBYTE_FIRST_BYTE_P): Modify for UTF-8 in
5503         UTF2000.
5504         (REP_BYTES_BY_FIRST_BYTE): Likewise.
5505
5506         * buffer.h (non_ascii_valid_char_p): Don't define in UTF2000.
5507
5508         * mule-charset.c (non_ascii_set_charptr_emchar): Don't define
5509         local variables `lb', `c1', `c2' and `charset' in UTF2000; encode
5510         as UTF-8 in UTF2000.
5511         (non_ascii_charptr_emchar): Decode as UTF-8 in UTF2000.
5512         (non_ascii_valid_char_p): Don't define in UTF2000.
5513         (non_ascii_charptr_copy_char): Add case 5 and 6 in UTF2000.
5514         (Lstream_get_emchar_1): Likewise.
5515         (utf-2000-version): New variable in UTF2000.
5516
5517         * lread.c (read_escape): Add new reader `u'.
5518
5519         * insdel.c (three_to_one_table): Don't define in UTF2000.
5520         (bufpos_to_bytind_func): Use `buf->text->mule_size' instead of
5521         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
5522         UTF2000.
5523         (bytind_to_bufpos_func): Likewise.
5524         (buffer_mule_signal_inserted_region): Likewise.
5525         (vars_of_insdel): Don't initialize `three_to_one_table'.
5526         (init_buffer_text): Use `buf->text->mule_size' instead of
5527         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
5528         UTF2000.
5529
5530         * file-coding.c (DECODE_ADD_BINARY_CHAR): New implementation for
5531         UTF-8 representation in UTF2000.
5532         (DECODE_ADD_UCS_CHAR): New macro in UTF2000.
5533         (decode_ucs4): Use `DECODE_ADD_UCS_CHAR' in UTF2000.
5534         (decode_coding_iso2022): Don't define local variable `lb' in
5535         UTF2000; don't use LEADING_BYTE in UTF2000; use
5536         `DECODE_ADD_UCS_CHAR' in UTF2000.
5537         (convert_to_external_format): Decode as UTF-8 in UTF2000.
5538
5539         * config.h.in (UTF2000): New macro.
5540
5541         * buffer.h (struct buffer_text): Add new member `mule_size' and
5542         don't add `mule_shifter' and `mule_three_p' in UTF2000.
5543         (valid_char_p): Return always 1 in UTF2000.
5544         (MAX_EMCHAR_LEN): 6 in UTF2000.
5545         (three_to_one_table): Don't define in UTF2000.
5546         (real_bufpos_to_bytind): Modify for UTF-8 representation in
5547         UTF2000.
5548         (real_bytind_to_bufpos): Likewise.
5549
5550         * alloc.c (Fmake_string): Add case 5 and 6 for UTF2000.
5551
5552 1999-06-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
5553
5554         * mule-charset.c (rep_bytes_by_first_byte): Modified for character
5555         representation change.
5556         (Vutf_2000_version): New variable.
5557         (leading_code_private_11): New variable.
5558         (syms_of_mule_charset): Add new variables `utf-2000-version' and
5559         `leading-code-private-11'.
5560
5561         * mule-charset.h (LEADING_BYTE_CHINESE_CCITT_GB): New macro.
5562         (LEADING_BYTE_CHINESE_BIG5_1): Changed to 0x96 temporally.
5563         (LEADING_BYTE_CHINESE_CNS11643_1): Changed to 0x97.
5564         (LEADING_BYTE_CHINESE_CNS11643_2): Changed to 0x98.
5565         (LEADING_BYTE_CHINESE_CNS11643_3): New macro.
5566         (LEADING_BYTE_CHINESE_CNS11643_4): Likewise.
5567         (LEADING_BYTE_CHINESE_CNS11643_5): Likewise.
5568         (LEADING_BYTE_CHINESE_CNS11643_6): Likewise.
5569         (LEADING_BYTE_CHINESE_CNS11643_7): Likewise [but not used].
5570         (LEADING_BYTE_CHINESE_BIG5_2): Changed to 0x9D temporally.
5571         (LEADING_BYTE_KOREAN_KPS9566): New macro [but not used].
5572         (CHAR_FIELD1_MASK): Changed to (0x7F << 14).
5573         (MIN_CHAR_GREEK): New macro.
5574         (MAX_CHAR_GREEK): New macro.
5575         (MIN_CHAR_CYRILLIC): New macro.
5576         (MAX_CHAR_CYRILLIC): New macro.
5577         (MIN_CHAR_HEBREW): New macro.
5578         (MAX_CHAR_HEBREW): New macro.
5579         (MIN_CHAR_THAI): New macro.
5580         (MAX_CHAR_THAI): New macro.
5581         (MIN_CHAR_HALFWIDTH_KATAKANA): New macro.
5582         (MAX_CHAR_HALFWIDTH_KATAKANA): New macro.
5583         (CHAR_FIELD2_INTERNAL): New macro [renamed from `CHAR_FIELD2'.
5584         (CHAR_FIELD3_INTERNAL): New macro [renamed from `CHAR_FIELD3'.
5585         (FIELD1_TO_PRIVATE_LEADING_BYTE): Changed to 0xc0.
5586         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Changed to 0x50.
5587         (CHAR_FIELD2): New inline function.
5588         (CHAR_FIELD3): New inline function.
5589         (MULE_CHAR_PRIVATE_OFFSET): New macro.
5590         (MIN_CHAR_OFFICIAL_TYPE9N): Shifted to `MULE_CHAR_PRIVATE_OFFSET'.
5591         (MIN_CHAR_PRIVATE_TYPE9N): Likewise.
5592         (MIN_CHAR_PRIVATE_TYPE9NX9N): Likewise.
5593         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Likewise.
5594         (MIN_CHAR_COMPOSITION): Likewise.
5595         (CHAR_LEADING_BYTE): Modified for character representation change.
5596         (MAKE_CHAR): Likewise.
5597
5598         * lisp.h (Vcharset_latin_iso8859_1): New variable.
5599         (Vcharset_greek_iso8859_7): Likewise.
5600         (Vcharset_cyrillic_iso8859_5): Likewise.
5601         (Vcharset_hebrew_iso8859_8): Likewise.
5602         (Vcharset_thai_tis620): Likewise.
5603         (Vcharset_katakana_jisx0201): Likewise.
5604
5605 2005-02-06  Vin Shelton <acs@xemacs.org>
5606
5607         * XEmacs 21.4.17 is released
5608
5609 2005-01-31  Ben Wing  <ben@xemacs.org>
5610
5611         * emacs.c:
5612         Define assert_failed() always.
5613         * lisp.h:
5614         Always define ABORT().
5615
5616 2005-01-25  Ben Wing  <ben@xemacs.org>
5617
5618         * Makefile.in.in:
5619         * Makefile.in.in (%.o):
5620         Don't compile executable as Windows (-mwindows) under Cygwin.
5621         Semi-recent changes to Cygwin's executable-startup handling make
5622         it impossible to access the TTY this way.
5623
5624         Don't use special linker file under Cygwin (cygwin.sc) except
5625         when non-PDUMP (even in this case it is highly questionable); you
5626         get errors like
5627
5628       1 [main] temacs 1364 fhandler_console::fixup_after_exec: error opening input console handle after exec, errno 13, Win32 error 5
5629    5820 [main] temacs 1364 fhandler_console::fixup_after_exec: error opening output console handle after exec, errno 13, Win32 error 5
5630
5631 2005-01-29  Ben Wing  <ben@xemacs.org>
5632
5633         Port this: 2003-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
5634
5635         * mule-charset.c (get_unallocated_leading_byte): Compiler quietus.
5636
5637 2005-01-29  Ben Wing  <ben@xemacs.org>
5638
5639         * bytecode.c (optimize_compiled_function):
5640         * print.c (FROB):
5641         * print.c (long_to_string):
5642         Add casts to avoid warning.
5643         
5644         * glyphs-eimage.c:
5645         Some really nasty hacks to allow TIFF and JPEG to both be compiled.
5646         #### The better solution is to move the TIFF and JPEG code to
5647         different files.
5648         
5649         * glyphs-msw.c (mswindows_xbm_instantiate):
5650         Define __STDC__ to avoid problems with compface.h.
5651         
5652         * EmacsFrame.c (EmacsFrameRecomputeCellSize):
5653         * EmacsShell-sub.c:
5654         * EmacsShell-sub.c (ABORT):
5655         * EmacsShell-sub.c (SuperClassRootGeometryManager):
5656         * EmacsShell-sub.c (RootGeometryManager):
5657         * EmacsShell.c:
5658         * EmacsShell.c (ABORT):
5659         * EmacsShell.c (EmacsShellUpdateSizeHints):
5660         * alloc.c (free_lcrecord):
5661         * alloca.c (i00afunc):
5662         * buffer.c (delete_from_buffer_alist):
5663         * buffer.c (MARKED_SLOT):
5664         * bytecode.c (execute_rare_opcode):
5665         * bytecode.c (optimize_byte_code):
5666         * bytecode.c (Ffetch_bytecode):
5667         * chartab.c (char_table_type_to_symbol):
5668         * chartab.c (Freset_char_table):
5669         * chartab.c (decode_char_table_range):
5670         * chartab.c (Fget_range_char_table):
5671         * chartab.c (check_valid_char_table_value):
5672         * chartab.c (map_char_table):
5673         * chartab.c (slow_map_char_table_fun):
5674         * chartab.c (chartab_instantiate):
5675         * cm.c (cmcheckmagic):
5676         * console-msw.c (DHEADER):
5677         * console.c (MARKED_SLOT):
5678         * data.c (finish_marking_weak_lists):
5679         * data.c (encode_weak_list_type):
5680         * debug.h (DASSERT):
5681         * device-gtk.c (gtk_init_device):
5682         * device-msw.c (mswindows_get_default_margin):
5683         * device-tty.c (tty_init_device):
5684         * device-x.c (get_device_from_display):
5685         * device-x.c (x_get_visual_depth):
5686         * doprnt.c (parse_doprnt_spec):
5687         * doprnt.c (get_doprnt_args):
5688         * dumper.c (pdump_get_indirect_count):
5689         * dumper.c (pdump_register_sub):
5690         * dumper.c (pdump_register_object):
5691         * dumper.c (pdump_register_struct):
5692         * dumper.c (pdump_dump_data):
5693         * dumper.c (pdump_reloc_one):
5694         * elhash.c (print_hash_table):
5695         * elhash.c (make_standard_lisp_hash_table):
5696         * elhash.c (hash_table_instantiate):
5697         * emacs.c:
5698         * emacs.c (Fforce_debugging_signal):
5699         * emacs.c (sort_args):
5700         * emacs.c (main):
5701         * emacs.c (assert_failed):
5702         * eval.c (throw_or_bomb_out):
5703         * eval.c (signal_1):
5704         * eval.c (Fsignal):
5705         * event-Xt.c:
5706         * event-Xt.c (emacs_Xt_mapping_action):
5707         * event-Xt.c (Xt_process_to_emacs_event):
5708         * event-msw.c:
5709         * event-stream.c (check_event_stream_ok):
5710         * event-stream.c (Fadd_timeout):
5711         * event-stream.c (Fadd_async_timeout):
5712         * event-stream.c (Fdiscard_input):
5713         * event-stream.c (execute_internal_event):
5714         * event-stream.c (Frecent_keys):
5715         * event-stream.c (extract_this_command_keys_nth_mouse_event):
5716         * event-stream.c (lookup_command_event):
5717         * event-unixoid.c (poll_fds_for_input):
5718         * events.c:
5719         * events.c (mark_event):
5720         * events.c (event_equal):
5721         * events.c (event_hash):
5722         * events.c (Fmake_event):
5723         * events.c (Fdeallocate_event):
5724         * events.c (event_chain_find_previous):
5725         * events.c (event_to_character):
5726         * events.c (format_event_object):
5727         * events.c (Fevent_type):
5728         * events.c (event_pixel_translation):
5729         * events.c (Fevent_properties):
5730         * extents.c (extent_in_region_p):
5731         * extents.c (print_extent):
5732         * extents.c (process_extents_for_insertion_mapper):
5733         * extents.c (report_extent_modification_mapper):
5734         * extents.c (glyph_layout_to_symbol):
5735         * faces.c (face_validate):
5736         * file-coding.c (eol_type_to_symbol):
5737         * file-coding.c (subsidiary_coding_system):
5738         * file-coding.c (Fcoding_system_type):
5739         * file-coding.c (Fcoding_system_property):
5740         * file-coding.c (mule_decode):
5741         * file-coding.c (mule_encode):
5742         * file-coding.c (encode_coding_ucs4):
5743         * file-coding.c (encode_coding_utf8):
5744         * file-coding.c (parse_iso2022_esc):
5745         * file-coding.c (encode_coding_iso2022):
5746         * fileio.c:
5747         * fns.c (concat):
5748         * fns.c (Fsubseq):
5749         * fns.c (mapcar1):
5750         * fns.c (Fbase64_encode_region):
5751         * fns.c (Fbase64_encode_string):
5752         * fns.c (Fbase64_decode_region):
5753         * fns.c (Fbase64_decode_string):
5754         * font-lock.c (find_context):
5755         * font-lock.c (context_to_symbol):
5756         * frame-gtk.c (gtk_set_frame_pointer):
5757         * frame-gtk.c (gtk_update_frame_external_traits):
5758         * frame-x.c (x_wm_mark_shell_size_user_specified):
5759         * frame-x.c (x_wm_mark_shell_position_user_specified):
5760         * frame-x.c (x_wm_set_shell_iconic_p):
5761         * frame-x.c (x_wm_set_cell_size):
5762         * frame-x.c (x_wm_set_variable_size):
5763         * frame-x.c (x_wm_store_class_hints):
5764         * frame-x.c (x_wm_maybe_store_wm_command):
5765         * frame-x.c (x_initialize_frame_size):
5766         * frame-x.c (x_update_frame_external_traits):
5767         * frame.c:
5768         * frame.c (delete_frame_internal):
5769         * frame.c (mouse_pixel_position_1):
5770         * frame.c (change_frame_size_1):
5771         * free-hook.c (check_free):
5772         * free-hook.c (check_realloc):
5773         * free-hook.c (note_block_input):
5774         * free-hook.c (log_gcpro):
5775         * gccache-gtk.c (gc_cache_lookup):
5776         * glyphs-eimage.c (tiff_memory_write):
5777         * glyphs-gtk.c (gtk_finalize_image_instance):
5778         * glyphs-gtk.c (init_image_instance_from_gdk_pixmap):
5779         * glyphs-gtk.c (init_image_instance_from_xbm_inline):
5780         * glyphs-gtk.c (gtk_xpm_instantiate):
5781         * glyphs-gtk.c (gtk_unmap_subwindow):
5782         * glyphs-gtk.c (gtk_map_subwindow):
5783         * glyphs-gtk.c (gtk_button_redisplay):
5784         * glyphs-msw.c:
5785         * glyphs-msw.c (init_image_instance_from_xbm_inline):
5786         * glyphs-x.c (init_image_instance_from_xbm_inline):
5787         * glyphs-x.c (extract_xpm_color_names):
5788         * glyphs-x.c (x_xpm_instantiate):
5789         * glyphs.c (get_image_instantiator_governing_domain):
5790         * glyphs.c (print_image_instance):
5791         * glyphs.c (image_instance_equal):
5792         * glyphs.c (image_instance_hash):
5793         * glyphs.c (encode_image_instance_type):
5794         * glyphs.c (make_image_instance_1):
5795         * glyphs.c (inherit_instantiate):
5796         * glyphs.c (image_instantiate):
5797         * glyphs.c (allocate_glyph):
5798         * glyphs.c (Fglyph_type):
5799         * glyphs.c (redisplay_subwindow):
5800         * glyphs.c (display_table_entry):
5801         * gtk-glue.c (xemacs_list_to_gtklist):
5802         * gtk-glue.c (xemacs_gtklist_to_list):
5803         * gtk-glue.c (xemacs_list_to_array):
5804         * gutter.c (SET_GUTTER_WAS_VISIBLE_FLAG):
5805         * gutter.c (gutter_was_visible):
5806         * gutter.c (get_gutter_coords):
5807         * input-method-xlib.c (get_XIM_input):
5808         * insdel.c (bufpos_to_bytind_func):
5809         * insdel.c (bytind_to_bufpos_func):
5810         * insdel.c (move_gap):
5811         * intl.c (x_get_composed_input):
5812         * keymap.c (keymap_lookup_directly):
5813         * keymap.c (keymap_delete_inverse_internal):
5814         * keymap.c (ensure_meta_prefix_char_keymapp):
5815         * keymap.c (accessible_keymaps_mapper_1):
5816         * keymap.c (where_is_recursive_mapper):
5817         * lisp.h:
5818         * lisp.h (ABORT):
5819         * lread.c (read_atom):
5820         * lstream.c (Lstream_delete):
5821         * lstream.c (make_lisp_buffer_stream_1):
5822         * macros.c (pop_kbd_macro_event):
5823         * malloc.c (malloc):
5824         * malloc.c (free):
5825         * marker.c (bi_marker_position):
5826         * marker.c (set_bi_marker_position):
5827         * menubar-gtk.c (menu_descriptor_to_widget_1):
5828         * menubar-msw.c (prune_menubar):
5829         * menubar-x.c (set_frame_menubar):
5830         * mule-charset.c (get_unallocated_leading_byte):
5831         * mule-charset.h (CHAR_LEADING_BYTE):
5832         * native-gtk-toolbar.c (SET_TOOLBAR_WAS_VISIBLE_FLAG):
5833         * nt.c (init_environment):
5834         * nt.c (generate_inode_val):
5835         * ntproc.c (delete_child):
5836         * ntproc.c (_sys_read_ahead):
5837         * ntproc.c (create_child):
5838         * objects.c (color_instantiate):
5839         * objects.c (font_instantiate):
5840         * objects.c (face_boolean_instantiate):
5841         * print.c (printing_major_badness):
5842         * process-nt.c (nt_send_process):
5843         * process-unix.c (unix_send_process):
5844         * process.c (get_process):
5845         * ralloc.c (obtain):
5846         * ralloc.c (relinquish):
5847         * ralloc.c (relocate_blocs):
5848         * ralloc.c (resize_bloc):
5849         * ralloc.c (r_alloc_free):
5850         * ralloc.c (r_re_alloc):
5851         * ralloc.c (r_alloc_thaw):
5852         * ralloc.c (init_ralloc):
5853         * ralloc.c (Free_Addr_Block):
5854         * ralloc.c (r_alloc):
5855         * redisplay-gtk.c (gtk_output_display_block):
5856         * redisplay-msw.c (mswindows_output_display_block):
5857         * redisplay-output.c (get_next_display_block):
5858         * redisplay-output.c (get_cursor_size_and_location):
5859         * redisplay-output.c (redisplay_output_layout):
5860         * redisplay-output.c (redisplay_clear_region):
5861         * redisplay-tty.c (tty_output_display_block):
5862         * redisplay-x.c (x_output_display_block):
5863         * redisplay.c (add_propagation_runes):
5864         * redisplay.c (add_glyph_rune):
5865         * redisplay.c (create_text_block):
5866         * redisplay.c (add_margin_runes):
5867         * redisplay.c (create_left_glyph_block):
5868         * redisplay.c (create_right_glyph_block):
5869         * redisplay.c (create_string_text_block):
5870         * redisplay.c (regenerate_window):
5871         * redisplay.c (REGEN_INC_FIND_START_END):
5872         * redisplay.c (redisplay_frame):
5873         * redisplay.c (point_in_line_start_cache):
5874         * regex.c:
5875         * regex.c (ABORT):
5876         * regex.c (re_compile_fastmap):
5877         * regex.c (re_match_2_internal):
5878         * regex.c (regerror):
5879         * scrollbar-gtk.c (gtk_scrollbar_loop):
5880         * scrollbar-gtk.c (scrollbar_cb):
5881         * scrollbar-gtk.c (gtk_update_frame_scrollbars):
5882         * scrollbar-msw.c (mswindows_handle_scrollbar_event):
5883         * scrollbar-x.c (x_update_scrollbar_instance_status):
5884         * scrollbar-x.c (x_scrollbar_loop):
5885         * scrollbar-x.c (x_update_frame_scrollbars):
5886         * search.c (search_command):
5887         * search.c (Fmatch_data):
5888         * select-x.c (motif_clipboard_cb):
5889         * signal.c (interrupt_signal):
5890         * specifier.c (specifier_add_spec):
5891         * specifier.c (specifier_instance_from_inst_list):
5892         * specifier.c (specifier_instance):
5893         * specifier.h:
5894         * specifier.h (struct specifier_methods):
5895         * strftime.c (add_num_time_t):
5896         * sunplay.c (init_device):
5897         * symbols.c (Fsetplist):
5898         * symbols.c (do_symval_forwarding):
5899         * symbols.c (store_symval_forwarding):
5900         * symbols.c (Fset):
5901         * symbols.c (Fbuilt_in_variable_type):
5902         * symbols.c (decode_magic_handler_type):
5903         * symbols.c (handler_type_from_function_symbol):
5904         * syntax.c (update_syntax_cache):
5905         * sysdep.c (init_baud_rate):
5906         * toolbar-gtk.c (SET_TOOLBAR_WAS_VISIBLE_FLAG):
5907         * toolbar-msw.c (SET_TOOLBAR_WAS_VISIBLE_FLAG):
5908         * toolbar-x.c (SET_TOOLBAR_WAS_VISIBLE_FLAG):
5909         * toolbar.c (get_toolbar_coords):
5910         * ui-gtk.c (build_gtk_boxed):
5911         * ui-gtk.c (describe_gtk_arg):
5912         * ui-gtk.c (gtk_type_to_lisp):
5913         * ui-gtk.c (lisp_to_gtk_type):
5914         * ui-gtk.c (lisp_to_gtk_ret_type):
5915         * ui-gtk.c (lisp_to_flag):
5916         * unexnt.c (read_in_bss):
5917         * unexnt.c (map_in_heap):
5918         * window.c (real_window):
5919         * window.c (window_display_lines):
5920         * window.c (window_display_buffer):
5921         * window.c (set_window_display_buffer):
5922         * window.c (window_modeline_height):
5923         * window.c (unshow_buffer):
5924         * window.c (window_loop):
5925         * window.c (Fget_lru_window):
5926         * window.c (Fsplit_window):
5927         * window.c (Fset_window_configuration):
5928         * window.c (saved_window_index):
5929         * xgccache.c (gc_cache_lookup):
5930         abort() -> ABORT().  Eliminate preprocessor games with abort()
5931         since it creates huge problems in VC7, solvable only by including
5932         massive amounts of files in every compile (and not worth it).
5933
5934         * sysdep.c:
5935         * sysproc.h:
5936         Inclusion of process.h does not need to be before lisp.h any more.
5937         Move later and remove comment about abort().
5938
5939 2005-01-26  Arnaud Giersch  <arnaud.giersch@free.fr>
5940
5941         * regex.c (re_match_2_internal):
5942         Correctly initialize loop which clears uninitialized registers.
5943
5944 2005-01-28  Vin Shelton  <acs@xemacs.org>
5945
5946         * sheap.c (more_static_core): Applied Ben's version of the long
5947         string patch.
5948
5949 2005-01-24  Vin Shelton  <acs@xemacs.org>
5950
5951         * sheap.c (more_static_core): Reformatted printf string so
5952         gcc-3.3.3 will compile this on Cygwin.
5953
5954 2004-02-22  Stephen J. Turnbull  <stephen@xemacs.org>
5955
5956         * console.c (function_key_map): Reference `key-binding'.
5957
5958         * keymap.c (Vkey_translation_map): Improve docstring.
5959
5960 2004-03-30  Zajcev Evgeny  <zevlg@yandex.ru>
5961
5962         * window.c: Declare `allow_deletion_of_last_visible_frame' extern.
5963         * window.c (window_loop): [fix] Take into account
5964         `allow-deletion-of-last-visible-frame' variable.
5965         * window.c (replace-buffer-in-windows): Ditto.
5966
5967 2004-12-15  Stephen J. Turnbull  <stephen@xemacs.org>
5968
5969         * EmacsManager.c (EmacsManagerChangeSize): Respect XtGeometryNo.
5970
5971 2005-01-20  Malcolm Purvis  <malcolmp@xemacs.org>
5972
5973         * event-gtk.c: Recognise AltGr as a valid modifier.
5974
5975 2005-01-12  Ville Skyttä  <scop@xemacs.org>
5976
5977         * console-x.h: #include X11/keysym.h before xintrinsic.h.
5978
5979 2005-01-13  Stephen J. Turnbull  <stephen@xemacs.org>
5980
5981         Fix backreference bug caught by test suite.
5982
5983         * regex.c (regex_compile):
5984         Make backref duplicate internal register.
5985
5986 2005-01-13  Stephen J. Turnbull  <stephen@xemacs.org>
5987
5988         Documentation, code clarification, and warning suppression.
5989         
5990         * regex.c (regex_compile):
5991         Improve comments.
5992         (re_match_2_internal):
5993         Improve comments and avoid redundant braces.  [Most of the big hunk
5994         at l. 4710 is indentation; use diff -w to see the real changes.]
5995         (alt_match_null_string_p):
5996         (common_op_match_null_string_p):
5997         Avoid shadowing global on Mac OS X 10.4, at least.
5998
5999 2004-09-08  Stephen J. Turnbull  <stephen@xemacs.org>
6000
6001         * regex.c (regcomp): Fix "unsigned comparison" warning (maybe
6002         introduced with shy groups fix).  [Already applied, probably
6003         with the second "fix shy groups" patch of 2004-10-07.] 
6004
6005 2005-01-10  Steve Youngs  <steve@sxemacs.org>
6006
6007         From Andrey Slusar <anrays@gmail.com>:
6008
6009         * unexelf.c: define `Elfw(type)' for FreeBSD alpha and amd64.
6010
6011 2004-11-21  Malcolm Purvis  <malcolmp@xemacs.org>
6012
6013         * Makefile (RECURSIVE_MAKE): Removed.
6014         * Makefile (RECURSIVE_MAKE_ARGS): New.  The new method for
6015         handling parallel builds.
6016
6017 2004-09-08  Malcolm Purvis  <malcolmp@xemacs.org>
6018
6019         * Makefile.in.in: Enable support for parallel builds.
6020
6021 2005-01-09  Steve Youngs  <steve@sxemacs.org>
6022
6023         From Andrey Slusar <anrays@gmail.com>:
6024
6025         * s/freebsd.h (LIBS_SYSTEM): Only set to "-lutil -lxpg4" if
6026         FreeBSD version is >= 199701 _and_ < 600006.
6027
6028 2005-01-06  Zajcev Evgeny <zevlg@yandex.ru>
6029
6030         * scrollbar.c (compute_scrollbar_instance_usage):
6031         Only call device method compute_scrollbar_instance_usage() if it
6032         is defined.
6033
6034 2004-12-05  Vin Shelton <acs@xemacs.org>
6035
6036         * XEmacs 21.4.16 is released
6037
6038 2004-12-04  Vin Shelton  <acs@xemacs.org>
6039
6040         * depend: Regenerated.
6041
6042 2004-10-07  Stephen J. Turnbull  <stephen@xemacs.org>
6043
6044         * regex.c (re_match_2_internal): Map internal to external
6045         registers.  Fixes bug identified by Steve Youngs 2004-09-30
6046         <microsoft-free.87ekkjhj7t.fsf@youngs.au.com>.
6047
6048 2004-09-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
6049
6050         * buffer.c (Frecord_buffer): Make sure the argument is buffer
6051         to fix a crash.  Also, check the buffer is live and it
6052         really exists in buffer_list.  If the buffer is not in the list,
6053         prepend it.
6054
6055 2004-09-08  Stephen J. Turnbull  <stephen@xemacs.org>
6056
6057         Fix shy groups by implementing recording of all groups for
6058         repetition and backtracking.  Backport from 21.5.
6059         
6060         * regex.h (struct re_pattern_buffer): Add members re_ngroups,
6061         external_to_internal_register, external_to_internal_register_size,
6062         and update comments for re_nsub.
6063
6064         * regex.c (re_opcode_t): Update comments.
6065         (print_compiled_pattern): Ouput external_to_internal_register,
6066         external_to_internal_register_size, and re_ngroups for debugging.
6067         (INIT_REG_TRANSLATE_SIZE): New manifest constant.
6068         (regex_compile): Update header comment.
6069         Ensure that all groups are recorded so that repeat matches and
6070         backtracking work correctly.  Comment related warning for groups >
6071         255.
6072         (re_search_2): Construct map of API indexes (which count only
6073         nonshy groups) to internal register numbers, and keep it updated.
6074
6075 2004-07-27  Malcolm Purvis  <malcolmp@xemacs.org>
6076
6077         * frame-gtk.c (gtk_make_frame_visible):
6078         * frame-gtk.c (gtk_make_frame_invisible): Use map/unmap instead of
6079         show/hide.  This is what X uses and is prevents previously hidden
6080         widgets from suddenly reappearing.
6081         * gtk-xemacs.c (gtk_xemacs_paint):
6082         * gtk-xemacs.c (gtk_xemacs_draw):
6083         * gtk-xemacs.c (gtk_xemacs_expose): Only operate if the widget is
6084         drawable.
6085         * scrollbar-gtk.c (gtk_update_scrollbar_instance_status): Force
6086         size and location changes so that they can be seen before the next
6087         idle event.  Without this rapid changes to scrollbar properties
6088         are not seen.
6089
6090 2004-07-02  Malcolm Purvis  <malcolmp@xemacs.org>
6091
6092         * console-gtk.h:
6093         * console-gtk.h (struct gtk_frame):
6094         * console-gtk.h (FRAME_GTK_WIDGET_INSTANCE_HASH_TABLE):
6095           Add hash tables track tab_control callback data.
6096           Added #defines for GTK object data names.
6097           Declaration of gtk_widget_to_frame().
6098         * event-gtk.c (enqueue_gtk_dispatch_event) No longer static:
6099         * frame-gtk.c (gtk_widget_to_frame): New.
6100         * frame-gtk.c (gtk_create_widgets):
6101         * frame-gtk.c (allocate_gtk_frame_struct):
6102         * frame-gtk.c (gtk_mark_frame):
6103         Manage frame callbakc hash tables.
6104         * glyphs-gtk.c (gtk_map_subwindow): Fix size and moving bugs.
6105         * glyphs-gtk.c (gtk_redisplay_widget): Use correct size for widgets.
6106         * glyphs-gtk.c (gtk_widget_instantiate_1): Force reconsideration
6107         of widget size.
6108         * glyphs-gtk.c (gtk_widget_query_geometry): New
6109         * glyphs-gtk.c (gtk_register_gui_item): New
6110         * glyphs-gtk.c (gtk_add_tab_item): New
6111         * glyphs-gtk.c (gtk_tab_control_callback): New
6112         * glyphs-gtk.c (gtk_tab_control_instantiate): New
6113         * glyphs-gtk.c (gtk_tab_control_redisplay): Set notebook page.
6114         Use correct list when loading item.
6115         * glyphs-gtk.c (image_instantiator_format_create_glyphs_gtk):
6116         Register new methods.
6117         * gtk-xemacs.c (gtk_xemacs_size_allocate): Use XEmacs size, not
6118         default size, for widgets.
6119         * gui-x.c:  Improved comment.
6120         * menubar-gtk.c (__generic_button_callback): Use
6121         gtk_widget_to_frame instead of __get_channel.
6122         * scrollbar-gtk.c:
6123         * ui-gtk.c: Use symbolic names for GTK object data.
6124
6125 2004-06-23  Ilya N. Golubev <gin@mo.msk.ru>
6126
6127         * s/usg5-4.h (NSIG): Define only inside emacs binary.
6128
6129 2002-03-04  Stephen J. Turnbull  <stephen@xemacs.org>
6130
6131         * fileio.c (Fwrite_region_internal): Document use of start == Qnil.
6132
6133 2004-06-16  Malcolm Purvis  <malcolmp@xemacs.org>
6134
6135         * malloc.c (morecore): siz is a long because in some architectures
6136         (eg ia-64) an int cannot hold the address range.  Additional patch
6137         from the SuSe distribution.
6138
6139 2004-06-13  Malcolm Purvis  <malcolmp@xemacs.org>
6140
6141         * emacs.c:
6142         * malloc.c: lim_data is a long because in some architectures
6143         (eg ia-64) an int cannot hold the address range.
6144         * mem-limits.h: lim-data is a long.  Linux uses getrlimit()
6145         instead of ulimit() because ulimit() always returns -1.
6146
6147 2004-06-09  Stephen J. Turnbull  <stephen@xemacs.org>
6148
6149         * search.c: Reenable an ansync semaphore.  Remove bogus comments.
6150
6151 2004-06-11  David Kastrup  <dak@gnu.org>
6152
6153         * search.c (match_limit): Don't flag an error if match-data
6154         exceeding the allocated search_regs.num_regs gets requested, just
6155         return Qnil.
6156
6157 2003-07-21  Malcolm Purvis  <malcolmpurvis@optushome.com.au>
6158
6159         * glyphs-gtk.c (gtk_xpm_instantiate): Rewrite the XPM data to
6160         replace symbolic color entries with the real colors specified in
6161         xpm-color-symbols, before passing the XPM to gtk.
6162         * glyphs-gtk.h: Use the generic pixmap_image_instance.mask for masks,
6163         instead of a GTK specific field, so that it is used in by generic
6164         code.
6165
6166 2004-05-05  Chuck Hines <chuck.hines@baesystems.com>
6167
6168        * dgif_lib.c (DGifSlurp): Changed do-while to while to stop
6169         coredump from deref of NULL ptr (ExtData)
6170
6171 2004-04-19  Jerry James  <james@xemacs.org>
6172
6173         * data.c (sign_extend_lisp_int): Use INT_VALBITS instead of
6174         VALBITS to compute the location of the sign bit.
6175         * event-stream.c (Fcurrent_event_timestamp): Replace incorrect use
6176         of VALBITS with EMACS_INT_MAX.
6177         * events.c (Fevent_timestamp): Ditto.
6178         * events.c (TIMESTAMP_HALFSPACE): Change VALBITS to INT_VALBITS to
6179         compute the halfway point to timestamp wraparound.
6180         * floatfns.c (float_to_int): Compare against EMACS_INT_MAX and
6181         EMACS_INT_MIN instead of using VALBITS.
6182         * floatfns.c (Flogb): Use EMACS_INT_MIN instead of building an
6183         incorrect number with VALBITS.
6184         * fns.c (Frandom): Correct number of integer bits in docstring.
6185         Use INT_VALBITS instead of VALBITS to compute the denominator.
6186         * sysdep.c (get_random): Use INT_VALBITS instead of VALBITS to
6187         build random numbers.
6188
6189 2004-03-23  Malcolm Purvis  <malcolmpurvis@optushome.com.au>
6190         * event-gtk.c:
6191         * event-gtk.c (gtk_event_to_emacs_event):
6192         * menubar-gtk.c:
6193         * menubar-gtk.c (gtk_xemacs_menubar_class_init):
6194         * menubar-gtk.c (gtk_xemacs_menubar_size_request):
6195         * menubar-gtk.c (gtk_xemacs_accel_label_get_type):
6196         * menubar-gtk.c (gtk_xemacs_set_accel_keys):
6197         * menubar-gtk.c (__activate_menu):
6198         * menubar-gtk.c (convert_underscores):
6199         * menubar-gtk.c (remove_underscores):
6200         * menubar-gtk.c (menu_convert):
6201         * menubar-gtk.c (menu_descriptor_to_widget_1):
6202         * menubar-gtk.c (menu_descriptor_to_widget):
6203         * menubar-gtk.c (menu_can_reuse_widget):
6204         * menubar-gtk.c (menu_create_menubar):
6205         * menubar-gtk.c (gtk_popup_menu):
6206         * menubar-gtk.c (Fgtk_build_xemacs_menu):
6207         Added support for Gtk menu bar and menu item mnemonics.
6208
6209 2004-03-23  Malcolm Purvis  <malcolmpurvis@optushome.com.au>
6210
6211         * sysdll.c: (dll_function): Added support for finding symbols in
6212         Darwin shared libraries as well in Darwin bundles.
6213         * sysdll.c (image_for_address): New
6214         * sysdll.c (my_find_image): New
6215         * sysdll.c (search_linked_libs): New
6216
6217 2004-03-23  Malcolm Purvis  <malcolmpurvis@optushome.com.au>
6218
6219         * ui-gtk.c (__internal_callback_marshal): Marshalling data to
6220         return to GTK requires a different API to marshalling data to use
6221         as GTK parameters.
6222         * ui-gtk.c (lisp_to_gtk_ret_type): New.
6223
6224 2004-03-08  Lutz Euler  <lutz.euler@freenet.de>
6225
6226         * lstream.c (Lstream_pseudo_close): Fix test for LSTREAM_FL_IS_OPEN.
6227
6228 2004-02-19  Stephen J. Turnbull  <stephen@xemacs.org>
6229
6230         * glyphs.c (process_image_string_instantiator):
6231         (Fset_console_type_image_conversion_list):
6232         Stop GCC from warning about shadowing of `exp'.
6233
6234         * redisplay-x.c (x_output_string): Fix unsigned lossage.
6235
6236 2004-02-19  Stephen J. Turnbull  <stephen@xemacs.org>
6237
6238         * regex.c (re_match_2_internal): Shut up GCC about syn1, syn2.
6239
6240 2004-02-03  Vin Shelton  <acs@xemacs.org>
6241
6242         * glyphs.c (image_instance_layout): Remove pointless assertion.
6243         * regex.c (regex_grow_registers): Return type is void.
6244
6245 2004-02-02  Vin Shelton <acs@xemacs.org>
6246
6247         * XEmacs 21.4.15 is released
6248
6249 2004-01-30  Glynn Clements  <glynn.clements@virgin.net>
6250
6251         * device-x.c (x_error_handler): Don't call stderr_out
6252
6253 2003-11-07  Katsumi Yamaoka <yamaoka@jpl.org>
6254
6255         * buffer.c (other-buffer): Clarify documentation of order of
6256         arguments for FSF Emacs.
6257
6258 2003-10-11  Olivier Galibert  <galibert@pobox.com>
6259
6260         * window.c (Fdelete_window): Dirty the mirror structure _before_
6261         marking the window deleted.
6262
6263 2003-09-15  Jerry James  <james@xemacs.org>
6264
6265         * event-msw.c (debug_mswin_messages): Conditionally compile
6266         messages missing from the Cygwin headers.
6267
6268 2003-06-16  Stephen J. Turnbull  <stephen@xemacs.org>
6269
6270         * data.c (eq_with_ebola_notice): Fix typo in comment.
6271         (Ftrue_list_p): Improve docstring.
6272
6273 2003-10-13  Stephen J. Turnbull  <stephen@xemacs.org>
6274
6275         * frame-x.c (x_update_frame_external_traits): Fix XtSetArg idiom.
6276
6277 2003-09-27  Stephen J. Turnbull  <stephen@xemacs.org>
6278
6279         * search.c (trivial_regexp_p): Regexps containing "\{" are
6280         nontrivial.  Thanks to Manfred Bartz for reporting the bug and
6281         Stefan Monnier for suggesting a diagnosis.
6282
6283 2003-09-25  Stephen J. Turnbull  <stephen@xemacs.org>
6284
6285         * elhash.c (make-hash-table): Clarify use of :test #'equal.
6286
6287 2003-09-12  Stephen J. Turnbull  <stephen@xemacs.org>
6288
6289         * search.c (Fsearch_forward):
6290         (Fsearch_backward):
6291         Document negative count.
6292
6293 2003-09-13  Stephen J. Turnbull  <stephen@xemacs.org>
6294
6295         * regex.c (re_max_failures): Bump to 20000 for REGEX_MALLOC, too.
6296
6297 2003-09-13  Martin Buchholz  <martin@xemacs.org>
6298
6299         * s/sol2.h: Use OS_RELEASE=os_release_major*100+os_release_minor
6300
6301 2003-09-15  Vin Shelton  <acs@xemacs.org>
6302
6303         * .gdbinit (pobj): Remove Ilya's fix that was only intended for
6304         21.5.
6305
6306 2003-09-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
6307
6308         * regex.c (TRANSLATE_EXTENDED_UNSAFE): Remove.
6309         (re_search_2): Match the first byte of Bufbyte, not Emchar.
6310         (re_match_2_internal): Use TRANSLATE instead of
6311         TRANSLATE_EXTENDED_UNSAFE.  The latter was a hack to bypass
6312         non-ASCII char case conversion.
6313
6314 2003-09-08  Mike Sperber  <mike@xemacs.org>
6315
6316         * symbols.c (Fvariable_binding_locus): Add, as per suggestion from
6317         RMS at: http://article.gmane.org/gmane.emacs.pretest.bugs/1010
6318
6319 2003-06-14  Ilya N. Golubev  <gin@mo.msk.ru>
6320
6321        * .gdbinit (pobj): fix printing of symbol name.
6322
6323 2003-08-01  Ilya N. Golubev  <gin@mo.msk.ru>
6324
6325         * frame-x.c (x_layout_widgets): When resizing is about to cause
6326         frame size slip, mark it for redisplay.
6327
6328 2003-08-18  Jerry James  <james@xemacs.org>
6329
6330         * opaque.h: Remove unused (X)OPAQUE_MARKFUN definitions.
6331
6332 2003-09-03  Vin Shelton <acs@xemacs.org>
6333
6334         * XEmacs 21.4.14 is released
6335
6336 2003-08-15  Stephen J. Turnbull  <stephen@xemacs.org>
6337
6338         * config.h.in (REGEX_MALLOC): Make it configure'able.
6339
6340 2003-08-14  Andrew Begel  <abegel@CS.Berkeley.EDU>
6341
6342         * config.h.in: Add HAVE_DYLD to indicate Darwin/MacOSX dynamic
6343         linking.
6344         * sysdll.c (dll_init):
6345         * sysdll.c (dll_open):
6346         * sysdll.c (dll_close):
6347         * sysdll.c (dll_function):
6348         * sysdll.c (dll_variable):
6349         * sysdll.c (dll_error):
6350         Add support for loading bundles using Darwin/MacOSX
6351         native API.
6352
6353 2003-08-12  Stephen J. Turnbull  <stephen@xemacs.org>
6354
6355         * process.c (start-process-internal): Document coding systems.
6356
6357 2003-07-30  Jerry James  <james@xemacs.org>
6358
6359         * sysdll.c: configure sets HAVE_DLD_INIT, not HAVE_INIT_DLD.
6360
6361 2003-07-31  René Kyllingstad  <listmailxemacs@kyllingstad.com>
6362
6363         * event-msw.c (mswindows_enqueue_mouse_button_event):
6364         * event-msw.c (mswindows_wnd_proc):
6365           enqueue button event when scrollwheel event isn't handled by 
6366           mswindows_handle_mousewheel_event, such as when the scrollbars
6367           are not showing.
6368
6369 2003-07-29  Stephen J. Turnbull  <stephen@xemacs.org>
6370
6371         * EmacsFrame.c (emacsFrameClassRec): Motif groks not XtCompress*.
6372
6373 2003-03-24  Stephen J. Turnbull  <stephen@xemacs.org>
6374
6375         * database.c (Fopen_database): Don't use DB_AUTO_COMMIT.
6376
6377 2003-03-21  Stephen J. Turnbull  <stephen@xemacs.org>
6378
6379         * regex.c (re_match_2_internal): Fix matching degenerate word
6380         boundaries.
6381
6382 2003-05-25  XEmacs Build Bot <builds@cvs.xemacs.org>
6383
6384         * XEmacs 21.4.13 is released
6385
6386 2003-03-20  Stephen J. Turnbull  <stephen@xemacs.org>
6387
6388         * config.h.in (INTPTR_T_IN_CYGWIN_TYPES_H): 
6389         * lisp.h (<inttypes.h>):
6390         Cygwin defines these types in <cygwin/types.h>.  Don't duplicate
6391         the definition.
6392
6393 2003-03-15  Martin Buchholz  <martin@xemacs.org>
6394
6395         * dumper.c (pdump_load): Pdump'ed XEmacs can't find its .dmp file.
6396         Scenario: Prepend ~/bin to PATH; then `mkdir ~/bin/xemacs'
6397         Result: "temacs can only be run in -batch mode."
6398         Fix: Check xemacs executable candidate for directory-ness.
6399
6400 2003-03-03  Robert Pluim  <rpluim@bigfoot.com>
6401
6402         * database.c: Don't use the u_int8_t etc typedefs on FreeBSD,
6403           they conflict with <sys/types.h>.
6404
6405 2003-02-14  Martin Buchholz  <martin@xemacs.org>
6406
6407         * database.c: Berkeley DB wants __STDC__ to be defined.
6408
6409 2003-02-13  Martin Buchholz  <martin@xemacs.org>
6410
6411         * EmacsFrame.c: Use symbolic name `NotUseful' in lieu of `0'.
6412
6413 2003-02-01  Martin Buchholz  <martin@xemacs.org>
6414
6415         * process-unix.c (unix_send_process): Fix C++ compile error.
6416
6417 2003-02-25  Andrew Begel  <abegel@cs.berkeley.edu>
6418
6419         * Added .dylib as an acceptable shared library file extension
6420         * to support MacOSX.
6421
6422 2003-02-01  Martin Buchholz  <martin@xemacs.org>
6423
6424         * EmacsFrameP.h (EmacsFramePart):
6425         Kludge to allow compiling with Motif1, but linking with Motif2.
6426
6427 2003-01-28  Martin Buchholz  <martin@xemacs.org>
6428
6429         * config.h.in (_ALL_SOURCE): Guard against multiple definition.
6430
6431
6432 2003-02-23  Stephen J. Turnbull  <stephen@xemacs.org>
6433
6434         * config.h.in (DLSYM_NEEDS_UNDERSCORE): Define on darwin.
6435
6436 2003-02-06  Andrew Begel  <abegel@CS.Berkeley.EDU>
6437
6438         * sysdll.c: Included lisp.h to define needed alloca_array.
6439
6440 2003-02-13  Martin Buchholz  <martin@xemacs.org>
6441
6442         Make XEmacs redisplay 10 times faster.
6443         If, that is, you're using a slow X connection and MoveOpaque.
6444         Use compress_exposure = XtExposeCompressMaximal | XtExposeNoRegion.
6445         Use compress_motion = TRUE.
6446         * EmacsFrame.c (emacsFrameClassRec): 
6447         * EmacsShell-sub.c (EMACS_SHELL_CLASS_REC):
6448         * EmacsManager.c (emacsManagerClassRec):
6449         * xintrinsicp.h: Make sure XtExposeNoRegion is defined.
6450
6451 2003-01-30  Vin Shelton  <acs@xemacs.org>
6452
6453         * s/linux.h (ORDINARY_LINK): define ORDINARY_LINK for linux.
6454
6455 2003-01-17  Stephen J. Turnbull  <stephen@xemacs.org>
6456
6457         * glyphs-eimage.c (tiff_memory_seek): Lobotomize unsigned typedef.
6458         Patch by Martin Buchholz.
6459
6460 2003-01-16  Stephen J. Turnbull  <stephen@xemacs.org>
6461
6462         * glyphs-eimage.c (tiff_instantiate): Fix unsigned comparison.
6463         Thanks to icc for warning and Martin Buchholz for reporting.
6464
6465 2003-01-29  Vin Shelton <acs@xemacs.org>
6466
6467         Patch courtesy of Andrew Begel <abegel@cs.berkeley.edu>
6468
6469         * dynarr.c (Dynarr_realloc): memcpy copies number of bytes, so
6470         remember to multiply by the element size.
6471
6472 2003-01-15  Stephen J. Turnbull  <stephen@xemacs.org>
6473
6474         * XEmacs 21.4.12 "Portable Code" is released.
6475
6476 2003-01-14  Sergey Okhapkin <sos@prospect.com.ru>
6477
6478         * Makefile.in.in (ldflags): re-order sections for gcc 3.2.
6479         * s/cygwin.sc: new linker file.
6480
6481 2003-01-14  Stephen J. Turnbull  <stephen@xemacs.org>
6482
6483         Build fixes courtesy Martin Buchholz <martin@xemacs.org>:
6484
6485         * redisplay-x.c (x_output_string): Use X11-specified types.
6486         * syntax.c, syntax.h (SYNTAX_CODE): Use enum syntaxcode, not int.
6487         * emacs.c (__free_hook): Use typeof with Intel compiler.
6488         * config.h.in (alloca.h): Quick safe hack to please Intel compiler.
6489
6490 2003-01-08  Andy Piper  <andy@xemacs.org>
6491
6492         * unexcw.c (copy_executable_and_dump_data_section): Set the stack
6493         reserve size during unexec().
6494
6495 2003-01-07  Daiki Ueno  <daiki@xemacs.org>
6496
6497         * process-unix.c (unix_create_process): Don't let outchannel block.
6498
6499 2003-01-05  Rick Rankin  <rick_rankin@yahoo.com>
6500
6501         * emacs.c: Include "syswindows.h" when compiling under Cygwin.
6502         Needed for IsBadReadPtr().
6503
6504 2003-01-03  Stephen J. Turnbull  <stephen@xemacs.org>
6505
6506         * XEmacs 21.4.11 "Native Windows TTY Support" is released.
6507
6508 2002-12-14  Ben Wing  <ben@xemacs.org>
6509
6510         * callint.c: Declaration error.
6511         * dumper.c (pdump):
6512         * dumper.c (pdump_load): Warning fix.
6513         * process.c: GCPRO error.
6514         * glyphs.c (unmap_subwindow):
6515         * glyphs.c (map_subwindow): Parenthesizing errors with ! and &&.
6516         * event-stream.c (maybe_kbd_translate): Wrong argument to
6517         character_to_event().
6518
6519         * alloc.c (garbage_collect_1):
6520         * emacs.c:
6521         * emacs.c (debug_can_access_memory):
6522         * emacs.c (fatal_error_signal):
6523         * emacs.c (mswindows_handle_hardware_exceptions):
6524         * emacs.c (main_1):
6525         * emacs.c (main):
6526         * emacs.c (assert_failed):
6527         * emacs.c (syms_of_emacs):
6528         * lisp.h:
6529         * print.c:
6530         * print.c (std_handle_out_va):
6531         * print.c (write_string_to_stdio_stream):
6532         * print.c (write_fmt_string):
6533         * print.c (printing_badness):
6534         * print.c (printing_major_badness):
6535         * print.c (print_internal):
6536         * print.c (debug_print_no_newline):
6537         * print.c (debug_backtrace):
6538         Be more defensive in handling bad values when printing.  Add code
6539         from trunk involving inhibit_non_essential_printing_operations.
6540         When going down or in debug_print(), don't do external conversion
6541         and such and try really, really hard when printing to avoid core
6542         dumping.  Add force-debugging-signal, debug_break().
6543
6544 2002-12-12  Stephen J. Turnbull  <stephen@xemacs.org>
6545
6546         * dumper.c (pdump_load): Include sysdep.h; retry with truename.
6547         Analysis and original patch by Vin Shelton <acs@xemacs.org>.
6548
6549 2002-12-02  Greg Allen  <greg_allen@westlb-systems.co.uk>
6550
6551         * database.c: Fix open_database. Berkeley DB API has changed in
6552         4.1. see: http://www.sleepycat.com/docs/ref/upgrade.4.1/fop.html
6553
6554 2002-11-26  Stephen J. Turnbull  <stephen@xemacs.org>
6555
6556         * specifier.c (Fvalid_specifier_type_p): Typo in comment.
6557
6558 2002-11-13  Stephen J. Turnbull  <stephen@xemacs.org>
6559
6560         * event-Xt.c (Xt_timeout):
6561         (Xt_timeout_callback):
6562         (emacs_Xt_add_timeout):
6563         (emacs_Xt_remove_timeout):
6564         (Xt_timeout_to_emacs_event):
6565         Turn completed_timeouts from a stack into a queue.  Fixes
6566         deadlocks <15829.21626.171573.994716@sinisa.nasamreza.org>.
6567
6568 2002-11-07  Wolfram Gloger  <wg@malloc.de>
6569
6570         * alloc.c (reinit_alloc_once_early): Disable mmap in Doug Lea malloc.
6571         * emacs.c (main): Assert that mmap'd allocation is disabled.
6572
6573 2002-10-14  Andy Piper  <andy@xemacs.org>
6574
6575         * glyphs-widget.c (layout_query_geometry): add in fiddle
6576         factor. Include border text in width layout calculation.
6577         (layout_layout): use BORDER_FIDDLE_FACTOR instead of 10.
6578
6579 2002-11-02  Stephen J. Turnbull  <stephen@xemacs.org>
6580
6581         * XEmacs 21.4.10 "Military Intelligence" is released.
6582
6583 2002-10-17  Raymond Toy  <toy@rtp.ericsson.se>
6584
6585         * nas.c: Update for NAS 1.6 and later, from Jon Trulson.  Was
6586         using the NAS private array SoundFileInfo that no longer exists in
6587         NAS 1.6 and later.  Preserve backward compatibility with NAS 1.5a
6588         and earlier.  This is broken for some versions between 1.5a and
6589         1.5f.
6590
6591 2002-10-10  Stephen J. Turnbull  <stephen@xemacs.org>
6592
6593         * realpath.c (win32_readlink): Try to fix truename of wildcard bug.
6594
6595         * emacs.c (shut_down_emacs): Improve crash message.
6596
6597 2002-10-09  Stephen J. Turnbull  <stephen@xemacs.org>
6598
6599         * file-coding.c (determine_real_coding_system): Check for coding
6600         cookie in first LINES_TO_CHECK lines (currently 2).  Cater to
6601         shebangs and Python PEP 263.
6602
6603 2002-10-08  Andy Piper  <andy@xemacs.org>
6604
6605         * glyphs-widget.c (layout_query_geometry): only resize dynamically
6606         if static sizes haven't been set.
6607
6608 2002-08-30  Mike Alexander  <mta@arbortext.com>
6609
6610         * event-msw.c (winsock_closer): Use closesocket, not CloseHandle
6611         to close a socket.
6612
6613 2002-10-03  Stephen J. Turnbull  <stephen@xemacs.org>
6614
6615         * callproc.c (child_setup): 21.4 doesn't have retry_close.
6616
6617 2002-09-20  Mike Sperber <mike@xemacs.org>
6618
6619         (This partially gets back my patch from 2002-07-20 without the
6620         bug.)
6621         * callproc.c (child_setup): Remove Ben's comment noting confusion
6622         over the file descriptors >= 3: close_process_descs() doesn't
6623         close those.  Fix fd range to go up to MAXDESC-1 instead of 64.
6624         * process-unix.c (unix_create_process): Call
6625         begin_dont_check_for_quit to inhibit unwanted interaction (and
6626         thus breaking of X event synchronicity) in the child.
6627
6628 2002-09-26  Golubev I. N.  <gin@mo.msk.ru>
6629
6630         * frame-x.c (x_delete_frame): do not call XtDisplay on a destroyed
6631         widget.
6632
6633 2002-08-20  Ben Sigelman  <bhsigelm@cs.brown.edu>
6634
6635         * event-Xt.c (drain_X_queue): loop over while(XEventsQueued())
6636         instead of while(XtAppPending()&XtIMXEvent).  Upon a gdm logout,
6637         the xemacs process did not exit, but looped infinitely here.  This
6638         fixes that problem.
6639
6640 2002-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
6641
6642         * font-lock.c (SYNTAX_START_STYLE, SYNTAX_END_STYLE): Quiet GCC.
6643         (find_context): Improve comments.
6644
6645         * regex.c (re_compile_fastmap):  Gratuitous #ifdef comment fixes.
6646         (re_match_2): An XCHAR_TABLE operation was missing.
6647
6648         Many of the following changes were inspired by Andy Piper's (now
6649         obsolete) patch to make syntax-table text property lookup optional.
6650
6651         [Documentation]
6652
6653         * syntax.h (top level): Document semantics of syntax flags.
6654         * syntax.c (comstr_start, Fforward_comment): Improve comments.
6655         * syntax.c, syntax.h (top level): Document syntax cache better in
6656         comments.
6657
6658         [Instrument syntax caching (temporary change)]
6659
6660         * syntax.h (enum syntax_cache_statistics_functions, struct
6661         syntax_cache_statistics, SCS_STATISTICS_SET_FUNCTION,
6662         SYNTAX_CACHE_STATISTICS_COUNT_INIT): New types and macros.
6663         * syntax.c (scan_words, Fforward_comment, scan_lists,
6664         Fbackward_prefix_characters):
6665         * font-lock.c (find_context):
6666         Use them to instrument syntax caching. 
6667         * syntax.c (struct syntax_cache_statistics, scs_statistics,
6668         syntax_cache_statistics_function_names): New type and variables.
6669         * syntax.c (update_syntax_cache): Update and report statistics.
6670
6671         [Major syntax cache optimizations]
6672
6673         syntax.c (lookup_syntax_properties): Default off.
6674
6675         * syntax.h (UPDATE_SYNTAX_INTERNAL): New, implements UPDATE_SYNTAX*.
6676         * syntax.c (update_syntax_cache):
6677         Move init test from update_syntax_cache to UPDATE_SYNTAX_INTERNAL.
6678
6679         [Minor syntax cache optimizations and code clarifications]
6680
6681         * syntax.h (SYNTAX_COMMENT_BITS, SYNTAX_START_P, SYNTAX_END_P,
6682         SYNTAX_STYLES_MATCH_START_P, SYNTAX_STYLES_MATCH_1CHAR_P,
6683         SYNTAX_STYLES_MATCH_END_P, STYLE_FOUND_1CHAR_P, STYLE_FOUND_P,
6684         SYNTAX_COMMENT_MASK_END, SYNTAX_COMMENT_MASK_START,
6685         SYNTAX_COMMENT_1CHAR_MASK): Remove redundant argument `table'.
6686         (Code clarification.)
6687
6688         * syntax.c (scan_words, find_end_of_comment, scan_sexps_forward,
6689         scan_lists): Compute code from syncode, use Boolean macros instead
6690         of redundant masking operations.  (Code clarification; any decent
6691         compiler can do this optimization.)
6692
6693         * syntax.c (scan_lists): Rearrange switches (case Sstring_fence)
6694         for clarity.
6695
6696         * syntax.h, syntax.c (NEXT_SINGLE_PROPERTY_CHANGE,
6697         PREVIOUS_SINGLE_PROPERTY_CHANGE, update_syntax_cache): Conditionally
6698         use F*_single_property_change instead of F*_extent_change.
6699         Currently F*_single_property_change is _much_ less efficient.
6700
6701         * dired.c (Fdirectory_files): Qt not valid in syntax_cache.object.
6702         * syntax.h (SETUP_SYNTAX_CACHE_FOR_OBJECT):  Initialize
6703         syntax_cache.object properly, don't leave Qt or Qnil.
6704         (SYNTAX_CACHE_BYTE_TO_CHAR): Use SETUP_SYNTAX_CACHE_FOR_OBJECT.
6705         * syntax.c (update_syntax_cache): Use BUFFERP and STRINGP, not
6706         tests for Qt or Qnil.
6707
6708 2002-09-21  Stephen J. Turnbull  <stephen@xemacs.org>
6709
6710         * redisplay.c (point_in_line_start_cache): 
6711         * extents.c (print_extent_1):
6712         Fix warnings.
6713
6714         * extents.c (Fset_extent_property): Document `syntax-table' property.
6715
6716         * extents.h (Fnext_single_property_change): EXFUN it.
6717
6718 2002-09-09  Stephen J. Turnbull  <stephen@xemacs.org>
6719
6720         * search.c (clear_unused_search_regs): New static function.
6721         (search_buffer): 
6722         (simple_search): 
6723         (boyer_moore):
6724         Use it.  Fixes "stale match data" bug reported by Martin Stjernholm.
6725         Minor clarifications in comments.
6726
6727         * regex.c (re_match_2_internal): Ensure no stale submatches.
6728
6729 2002-09-09  Stephen J. Turnbull  <stephen@xemacs.org>
6730
6731         * event-Xt.c (enqueue_focus_event): Add missing prototype.
6732
6733 2002-08-29  Jerry James  <james@xemacs.org>
6734
6735         * lisp.h: structrures -> structures.
6736
6737 2002-06-03  Andy Piper  <andy@xemacs.org>
6738
6739         * frame.c (frame_conversion_internal): add conversion appropriate
6740         for setting frame dimensions in pixels.
6741
6742         * console.h (struct console_methods): add device-specific widget
6743         layout functions.
6744
6745         * emacs.c (main_1): initialize glyph vars.
6746
6747         * event-Xt.c (handle_focus_event_1): call handle_focus_event_2
6748         (handle_focus_event_2): new function. Allow focus to
6749         be set to a particular window and widget.
6750         (enqueue_focus_event): new function. Create a
6751         synthetic focus event.
6752         (emacs_Xt_handle_magic_event): call
6753         handle_focus_event_2.
6754
6755         * frame.c (Fset_frame_pixel_height): new function. Allow
6756         pixel-based sizing. Does the right thing on character-oriented
6757         displays.
6758         (Fset_frame_pixel_width): ditto.
6759         (Fset_frame_pixel_size): ditto.
6760         (syms_of_frame): declare.
6761
6762         * general-slots.h: add :vertically-justify and
6763         :horizontally-justify.
6764
6765         * glyphs-msw.c (xbm_create_bitmap_from_data): warning fix.
6766         (mswindows_widget_border_width): new function.
6767         (mswindows_combo_box_instantiate): set border widths.
6768         (console_type_create_glyphs_mswindows): declare.
6769
6770         * glyphs-widget.c:
6771         (check_valid_justification): allow vertical and horizontal
6772         justification.
6773         (widget_border_width): new function. Call device methods.
6774         (widget_instance_border_width): ditto.
6775         (logical_unit_height): new function. Determine the height of a
6776         logical-unit. Logical units are intended to provide grid-like
6777         layout for subcontrols in a layout. If the layout is
6778         :vertically-justify top then subcontrols will be positioned on
6779         logical-unit boundaries, thus allowing adjacent subcontrols to
6780         line up.
6781         (widget_logical_unit_height): ditto for widgets.
6782         (redisplay_widget): misc cleanup.
6783         (widget_spacing): new function. Call device specific
6784         methods. Intended to be the default gap between adjacent widgets.
6785         (widget_query_geometry): use new spacing functions to determine
6786         appropriate geometry.
6787         (initialize_widget_image_instance): initialize horizontal and
6788         vertical justification.
6789         (widget_instantiate): use logica-units where appropriate for
6790         sizing large widgets.
6791         (button_query_geometry): use widget_instance_border_width.
6792         (tree_view_query_geometry): ditto.
6793         (tab_control_query_geometry): ditto.
6794         (edit_field_query_geometry): new function.
6795         (layout_update): pick up :justify, :horizontally-justify and
6796         :vertically-justify none of which worked previously. :justify is
6797         used as a fallback for both horizontal and vertical justification.
6798         (layout_query_geometry): use logical units to size appropriately.
6799         (layout_layout): ditto.
6800         (Fwidget_logical_to_character_width): new function. Allow users to
6801         convert from logical units to characters so that frame sizes can
6802         be set appropriately.
6803         (Fwidget_logical_to_character_height): ditto.
6804         (syms_of_glyphs_widget): declare.
6805         (image_instantiator_edit_fields): add edit_field_query_geometry.
6806         (VALID_LAYOUT_KEYWORDS): declare :vertically-justify and
6807         :horizontally-justify.
6808         (specifier_vars_of_glyphs_widget): new function. Declare
6809         Vwidget_border_width which is not yet used.
6810
6811         * glyphs-x.c (x_map_subwindow): enqueue appropriate focus events.
6812         (x_widget_border_width): new function.
6813         (x_widget_instantiate): create a sensible name for widgets.
6814         (console_type_create_glyphs_x): declare x_widget_border_width.
6815
6816         * glyphs.h (DEFAULT_WIDGET_BORDER_WIDTH): new macro.
6817         (struct Lisp_Image_Instance): add :vertically-justify and
6818         :horizontally-justify.
6819         (LAYOUT_JUSTIFY_TOP): new.
6820         (IMAGE_INSTANCE_SUBWINDOW_H_JUSTIFY): new.
6821         (ROUND_UP): new macro. Round argument up to next integral
6822         interval.
6823
6824         * redisplay-output.c (redisplay_output_layout): misc formatting.
6825
6826         * symsinit.h: declare specifier_vars_of_glyphs_widget.
6827
6828 2002-08-23  Stephen J. Turnbull  <stephen@xemacs.org>
6829
6830         * XEmacs 21.4.9 "Informed Management" is released.
6831
6832 2002-08-19  Andy Piper  <andy@xemacs.org>
6833
6834         * fileio.c (Ffile_truename): on cygwin using win32 normalize to
6835         win32 format.
6836
6837         * realpath.c (xrealpath): normalize drive spec also so that dir
6838         sep chars are not mixed on cygwin.
6839
6840 2002-08-06  Jerry James  <james@xemacs.org>
6841
6842         * window.c (Fsplit_window): Count only half of the divider width
6843         against the left window when splitting horizontally. 
6844
6845 2002-06-24  Andy Piper  <andy@xemacs.org>
6846
6847         * toolbar-gtk.c (GTK_OUTPUT_BUTTONS_LOOP): output button if whole
6848         toolbar was cleared.
6849
6850         * toolbar-msw.c (mswindows_clear_frame_toolbars): new
6851         function. Split out from mswindows_output_frame_toolbars.
6852         (mswindows_output_frame_toolbars): move clear pieces to
6853         mswindows_output_frame_toolbars.
6854
6855         * toolbar-gtk.c (gtk_clear_frame_toolbars): new function. Split
6856         out from gtk_output_frame_toolbars.
6857         (gtk_output_frame_toolbars): move clear pieces to
6858         gtk_clear_frame_toolbars.
6859
6860         * toolbar-x.c (X_OUTPUT_BUTTONS_LOOP): always output buttons when
6861         the frame is cleared. How this ever worked before is a mystery.
6862         (x_output_frame_toolbars): Only output toolbars.
6863         (x_clear_frame_toolbars): new. Clear previous toolbar locations.
6864
6865         * gutter.c (update_gutter_geometry):
6866         Mark frame layout changed.
6867         (update_frame_gutter_geometry, update_frame_gutters):
6868         Respect frame_layout_changed.
6869
6870         * console.h (struct console_methods): add
6871         clear_frame_toolbars_method.
6872
6873         * redisplay.c (redisplay_frame): call
6874         update_frame_toolbars_geometry and re-order update_frame_toolbars.
6875
6876         * toolbar.h: declare update_frame_toolbars_geometry.
6877
6878         * toolbar.c (update_frame_toolbars_geometry): new function. Split
6879         out from update_frame_toolbars.  Call clear_frame_toolbars.
6880         (update_frame_toolbars): only output, do not change geometry.
6881
6882         * redisplay.c: add frame_layout_changed.
6883
6884         * redisplay.h: add frame_layout_changed.
6885         (CLASS_RESET_CHANGED_FLAGS): set it.
6886         (GLOBAL_RESET_CHANGED_FLAGS): ditto.
6887         (CLASS_REDISPLAY_FLAGS_CHANGEDP): test it.
6888         (GLOBAL_REDISPLAY_FLAGS_CHANGEDP): ditto.
6889
6890         * device.h (struct device): add frame_layout_changed.
6891         (MARK_DEVICE_FRAME_LAYOUT_CHANGED): new.
6892
6893         * frame.h (struct frame): add frame_layout_changed.
6894         (MARK_FRAME_LAYOUT_CHANGED): new.
6895
6896 2002-06-30  Mike Alexander  <mta@arbortext.com>
6897
6898         * event-msw.c (mswindows_need_event): Don't wait for a new message
6899         if the queue is not empty.  Suggested by Paul Moore.
6900
6901 2002-06-12  Andy Piper  <andy@xemacs.org>
6902
6903         * frame-msw.c (msprinter_init_frame_3): calculate the frame size
6904         for printing on accurately.
6905
6906 2002-06-09  Rick Rankin <rick_rankin@yahoo.com>
6907
6908         * event-msw.c (mswindows_wnd_proc): Add a handler for the
6909         WM_ACTIVATE message. Make sure that the frame is visible if the
6910         window is visible. This seemss to fix the problem where XEmacs
6911         appears to freeze after switching desktops with certain virtual
6912         window managers.
6913         (debug_output_mswin_message): Added code to output message
6914         parameters for WM_WINDOWPOSCHANGED, 
6915         WM_WINDOWPOSCHANGING, WM_MOVE, and WM_SIZE messages.
6916
6917 2002-05-25  Andy Piper  <andy@xemacs.org>
6918
6919         * select-x.c (vars_of_select_x): Fix docstring of
6920         x-selection-strict-motif-ownership
6921
6922 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
6923
6924         * keymap.c (get_keymap):
6925         Add comment about do_autoload GCPROs own args.
6926
6927 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
6928
6929         * bytecode.c (execute_optimized_program): check_opcode ifdef
6930         ERROR_CHECK_BYTE_CODE.
6931
6932 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
6933
6934         Thanks to Ben Wing and Michael Sperber.
6935
6936         * eval.c (Fcommand_execute):
6937         (Feval):
6938         (Ffuncall):
6939         (Fmacroexpand_internal):
6940         (function_argcount):
6941         callint.c (Fcall_interactively):
6942         Add comment about do_autoload GCPROs own args.
6943
6944         * (do_autoload): GCPRO both args as well as local Lisp_Object.
6945
6946         * eval.c (Ffuncall): Extra braces to placate GCC.
6947
6948 2002-08-10  Stephen J. Turnbull  <stephen@xemacs.org>
6949
6950         * backtrace.h (grow_specpdl):
6951         (SPECPDL_RESERVE):
6952         * EmacsFrame.c (EmacsFrameSetValues):
6953         * eval.c (grow_specpdl):
6954         * ExternalShell.c (hack_event_masks_1):
6955         * glyphs-x.c (convert_EImage_to_XImage): 
6956         (x_finalize_image_instance):
6957         * ralloc.c (page_size):
6958         (r_alloc_sbrk):
6959         * xgccache.c (gc_cache_hash):
6960         Fix unsigned comparison warnings.
6961
6962 2002-07-29  Jerry James  <james@xemacs.org>
6963
6964         * lread.c (locate_file): Any nonnegative return value indicates
6965         success if MODE is nonnegative.
6966
6967 2002-08-03  Brian A Palmer  <bpalmer@rescomp.Stanford.EDU>
6968
6969         * emacs.c (Fsplit_string_by_char): Make 2nd arg SEPCHAR a required
6970         argument. 
6971
6972 2002-07-17  Stephen J. Turnbull  <stephen@xemacs.org>
6973
6974         * process-unix.c (unix_send_process): #ifdef the coding_stream member.
6975
6976         * dumper.c (pdump_get_indirect_count):
6977         (pdump_scan_by_alignment):
6978         (pdump_dump_root_struct_ptrs):
6979         (pdump_dump_rtables):
6980         (pdump_dump_root_objects):
6981         (pdump):
6982         * nas.c (WaveOpenDataForReading):
6983         * fns.c (print_bit_vector):
6984         * font-lock.c (SINGLE_SYNTAX_STYLE):
6985         * glyphs.c (check_for_ignored_expose):
6986         (find_matching_subwindow):
6987         * glyphs-eimage.c:
6988         * imgproc.c (get_histogram):
6989         * redisplay.c (point_in_line_start_cache):
6990         * redisplay-output.c (redisplay_unmap_subwindows):
6991         * symbols.c (defsymbol_massage_name_1):
6992         (defkeyword_massage_name):
6993         (deferror_massage_name_and_message):
6994         * redisplay-x.c (x_output_string): 
6995         * emacs.c (run_temacs_argv_size, run_temacs_args_size):
6996         * frame.h (struct frame):
6997         * filelock.c (current_lock_owner):
6998         * doprnt.c (emacs_doprnt_1):
6999         * lisp.h (struct Lisp_Bit_Vector):
7000         (DO_REALLOC):
7001         Fix warnings.
7002
7003 2002-02-13  Ben Wing  <ben@xemacs.org>
7004
7005         * event-stream.c (reset_key_echo):
7006         * event-stream.c (reset_this_command_keys):
7007         * event-stream.c (execute_command_event):
7008         If console is dead as a result of C-x 5 0, then post-command stuff
7009         needs to be careful and do only non-console-specific stuff.
7010
7011 2002-07-01  Mike Sperber <mike@xemacs.org>
7012
7013         * process-unix.c (unix_send_process): Mark coding_outstream as
7014         non-open upon SIGPIPE.
7015
7016         * event-stream.c (Fnext_event): Reorder switch cases to something
7017         that makes sense.
7018
7019 2001-08-13  Dmitry Astapov  <adept@umc.com.ua>
7020
7021         * event-Xt.c (maybe_define_x_key_as_self_inserting_character):
7022         Don't bogusly reinitialize ascii_character property.
7023
7024 2002-07-08  Mike Sperber <mike@xemacs.org>
7025
7026         * process.c (Fstart_process_internal): Do error checking before we
7027         fork off the child, so the child can't muck with the state of the
7028         parent.
7029
7030 2002-07-08  Mike Sperber <mike@xemacs.org>
7031
7032         * ralloc.c (init_ralloc): Allocate properly for pdump.
7033
7034 2002-06-12  Andy Piper  <andy@xemacs.org>
7035
7036         * glyphs.c (query_string_geometry): check the string.
7037
7038         * glyphs-widget.c (widget_logical_unit_height): cope with nil
7039         widget names.
7040
7041 2002-06-17  Jerry James  <james@xemacs.org>
7042
7043         * sysdll.c: Remove RTLD_GLOBAL initialization.
7044         * sysdll.c (dll_open): Do not use RTLD_GLOBAL.
7045
7046 2002-06-25  Stephen J. Turnbull  <stephen@xemacs.org>
7047
7048         * search.c (skip_chars): Port Ben's crash fix and efficiency patch.
7049
7050 2002-05-16  Mathias Grimmberger  <mgri@zaphod.sax.de>
7051
7052         * sysdep.c (sys_rename): Make sys_rename work for the case where
7053         Windows rename sets errno to EACCES if target file exists.
7054
7055 2002-05-21  Jonathan Harris  <jonathan@xemacs.org>
7056
7057         * device-msw.c (mswindows_handle_page_setup_dialog_box):
7058         Fix detection of metric units to work on Win95
7059
7060 2002-05-21  Stephen J. Turnbull  <stephen@xemacs.org>
7061
7062         * syswindows.h: #define LOCALE_RETURN_NUMBER.  Why, I don't know.
7063
7064 2002-04-25  Andy Piper  <andy@xemacs.org>
7065
7066         * redisplay.c (create_text_block): Remove extra comment trailer.
7067
7068 2002-04-24  Andy Piper  <andy@xemacs.org>
7069
7070         * redisplay.c (create_text_block): Don't actually add propagation
7071         data if the line ends after we have added a glyph.
7072
7073 2002-04-22  Andy Piper  <andy@xemacs.org>
7074
7075         * extents.c (extent_fragment_update): check for glyphs we have
7076         previously displayed.
7077         * extents.c (print_extent_1): warning removal.
7078         * extents.h: change prototype.
7079         * redisplay-output.c (redisplay_normalize_glyph_area): calculate
7080         widths correctly for wide glyphs.
7081         * redisplay.c (position_redisplay_data_type): add end_glyph_width.
7082         * redisplay.c (prop_type): add PROP_GLYPH.
7083         * redisplay.c (struct prop_block): add glyph type
7084         * redisplay.c (add_glyph_rune): when adding part of a glyph add it
7085         to the propagation data.
7086         * redisplay.c (create_text_block): if there is a glyph in the
7087         propagation data use it to salt extent_fragment_update.
7088         * redisplay.c (create_string_text_block): ditto.
7089
7090 2002-04-13  Nix  <nix@esperi.demon.co.uk>
7091
7092         * redisplay.h (struct rune): Add ascent, descent, and yoffset fields.
7093         * redisplay-output.c (compare_runes): Compare them.
7094         * redisplay.c: Update copyright date.
7095         * redisplay.c (pos_data): Add need_baseline_computation field.
7096         * redisplay.c (add_glyph_rune): Update ascent, descent, and
7097         need_baseline_computation; zero yoffset. Set max_pixmap_height
7098         for all pixmaps, not just automatically positioned ones.
7099         * redisplay.c (calculate_yoffset): New, compute yoffset values.
7100         * redisplay.c (calculate_baseline): New, compute textual baseline.
7101         * redisplay.c (add_glyph_rune): Call them.
7102         * redisplay.c (create_text_block): Likewise.
7103         * redisplay.c (create_overlay_glyph_block): Likewise.
7104         * redisplay.c (add_margin_runes): Likewise.
7105         * redisplay.c (create_string_text_block): Likewise. Fix tabdamage.
7106
7107         * redisplay.h: (redisplay_calculate_display_boxes): Change prototype.
7108         * redisplay-output.c (redisplay_calculate_display_boxes): Use yoffset.
7109         * redisplay-msw.c (mswindows_output_blank): Pass 0 as yoffset.
7110         * redisplay-msw.c (mswindows_output_string): Likewise.
7111         * redisplay-msw.c (mswindows_output_display_block): Pass yoffset.
7112         * redisplay-gtk.c (gtk_output_display_block): Likewise.
7113         * redisplay-x.c (x_output_display_block): Likewise.
7114
7115 2002-03-28  Ben Wing  <ben@xemacs.org>
7116
7117         * redisplay.c: Fixed bug in redisplay
7118         w.r.t. hscroll/truncation/continuation glyphs causing jumping up
7119         and down of the lines, since they're bigger than the line
7120         size. (It was seen most obviously when there's a horizontal scroll
7121         bar, e.g. do C-h a glyph or something like that.) The problem was
7122         that the glyph-contrib-p setting on glyphs was ignored even if it
7123         was set properly, which it wasn't until now.
7124
7125 2002-04-24  Andy Piper  <andy@xemacs.org>
7126
7127         * lisp.h (Dynarr_end): Fix definition.
7128
7129 2002-02-06  Adrian Aichner  <adrian@xemacs.org>
7130
7131         * redisplay.c (mark_redisplay): Remove call to
7132         update_frame_window_mirror.
7133
7134 2001-11-15  Andy Piper  <andy@xemacs.org>
7135
7136         * win32.c (Fmswindows_shell_execute): fix handling of URL's under
7137         cygwin (again).
7138
7139 2002-02-13  Andy Piper  <andy@xemacs.org>
7140
7141         * event-msw.c (mswindows_wnd_proc): only mark the frame visible if
7142         we did in fact enqueue the XM_MAPFRAME event.
7143
7144 2002-01-15  Adrian Aichner  <adrian@xemacs.org>
7145
7146         * event-msw.c (mswindows_wnd_proc): Add handling of WM_SHOWWINDOW
7147         to fix problem switching between virtual desktops under virtuawin
7148         virtual window manager.
7149
7150 2001-07-30  Adrian Aichner  <adrian@xemacs.org>
7151
7152         * event-msw.c: Typo fix.
7153         * event-msw.c (mswindows_wnd_proc): Set FRAME_VISIBLE_P after
7154         magic XM_MAPFRAME event has been sent.
7155
7156 2001-11-23  Andy Piper  <andy@xemacs.org>
7157
7158         * event-msw.c (mswindows_wnd_proc): Don't pump mousewheel events.
7159
7160 2001-11-21  Andy Piper  <andy@xemacs.org>
7161
7162         * scrollbar-msw.c (mswindows_handle_mousewheel_event): cope with
7163         mouse events outside the frame.
7164
7165 2002-03-20  Andy Piper  <andy@xemacs.org>
7166
7167         * menubar-msw.c (mswindows_popup_menu): warning removal.
7168         * dialog-msw.c (dialog_popped_down): ditto.
7169
7170 2001-12-11  Andy Piper  <andy@xemacs.org>
7171
7172         * dialog-msw.c (dialog_popped_down): new function. unset popup_up_p.
7173         * dialog-msw.c (mswindows_make_dialog_box_internal): set
7174         popup_up_p.
7175         * menubar-msw.c (unsafe_handle_wm_initmenupopup_1): ditto.
7176         * menubar-msw.c (mswindows_handle_wm_command): ditto.
7177         * menubar-msw.c (mswindows_popup_menu): ditto.
7178
7179 2001-10-29  Andy Piper  <andy@xemacs.org>
7180
7181         * dialog-msw.c (handle_directory_dialog_box): quit if the user
7182         cancels.
7183
7184 2002-01-03  Andy Piper  <andy@xemacs.org>
7185
7186         * realpath.c (ABS_LENGTH): dtrt for cygwin systems using drive
7187         letters.
7188         (xrealpath): ditto.
7189
7190 2002-03-29  Jonathan Harris  <jonathan@xemacs.org>
7191
7192         * device-msw.c (plist_get_margin): Add arg specifying mm or inches
7193         * device-msw.c (plist_set_margin): Fix multiplicand used for mm
7194         * device-msw.c (mswindows_handle_page_setup_dialog_box):
7195         Detect and handle case where machine is set up for metric units
7196
7197 2002-04-02  Andy Piper  <andy@xemacs.org>
7198
7199         * dired-msw.c (mswindows_get_files): 
7200         * nt.c (mswindows_stat): SetErrorMode() so that file errors are
7201         completely handled by XEmacs. Suggested by Thomas Vogler
7202         <mail@thomas-vogler.de>.
7203
7204 2001-11-14  Andy Piper  <andy@xemacs.org>
7205
7206         * nt.c (REG_ROOT): change registry key to XEmacs.
7207
7208 2002-04-27  Andy Piper  <andy@xemacs.org>
7209
7210         * glyphs-msw.c (mswindows_widget_instantiate): remove dead-code.
7211
7212 2002-04-26  Andy Piper  <andy@xemacs.org>
7213
7214         * glyphs-msw.c (mswindows_map_subwindow): observe :initial-focus
7215         behavior.
7216
7217 2002-03-14  Mike Alexander  <mta@arbortext.com>
7218
7219         * event-msw.c (mswindows_unwait_process): New, remove process from
7220         wait list
7221         * process-nt.c (nt_finalize_process_data): Call
7222         mswindows_unwait_process
7223         * console-msw.h: Declare mswindows_unwait_process
7224
7225 2002-05-14  Stephen J. Turnbull  <stephen@xemacs.org>
7226
7227         * editfns.c (Fdecode_time):
7228         (Fformat_time_string):
7229         Check for invalid time.  Thanks to Nick Pakoulin <npak@ispras.ru>.
7230         (make_time): Warning elimination (change arg name).
7231
7232 2001-11-24  Andy Piper  <andy@xemacs.org>
7233
7234         * window.c (Fsplit_window): Doc return type.
7235
7236 2002-04-01  Andy Piper  <andy@xemacs.org>
7237
7238         * emacs.c (Fkill_emacs): Only output message box in interactive
7239         mode.
7240
7241 2002-04-26  Andy Piper  <andy@xemacs.org>
7242  
7243         * config.h.in: pull in 21.5.x change to stop alloca warnings under
7244         cygwin.
7245
7246 2002-03-18  Gregory Steuck  <greg-xemacs-patch@nest.cx>
7247
7248         * unexelf.c:  Use ELFSIZE or define from _LP64 to indicate a 64
7249         bit platform.
7250
7251 2002-05-09  Stephen J. Turnbull  <stephen@xemacs.org>
7252
7253         * XEmacs 21.4.8 "Honest Recruiter" is released.
7254
7255 2002-05-07  Nix  <nix@esperi.demon.co.uk>
7256
7257         Supersedes 2002-04-17 patch.
7258
7259         * process.h (PROCESS_LIVE_P): Use the process status as
7260         evidence of health, not the state of the input stream.
7261         (PROCESS_READABLE_P): Say if the process is readable
7262         from. (It may be dead nonetheless.)
7263         (CHECK_READABLE_PROCESS): Test for that condition.
7264
7265         * process.c (create_process): Use PROCESS_READABLE_P.
7266         (read_process_output, set_process_filter): Likewise.
7267
7268         * process.c (Fprocess_input_coding_system): Use CHECK_READABLE_PROCESS.
7269         (Fset_process_input_coding_system, Fprocess_coding_system): Likewise.
7270
7271         This code is #if 0'd, this is not the time to add new functions:
7272
7273         * process.c (Fprocess_readable_p): Report readability status.
7274         * process.c (Qprocess_readable_p): New, associated symbol...
7275         * process.c (syms_of_process): ... initialize it.
7276
7277 2002-05-04  Stephen J. Turnbull  <stephen@xemacs.org>
7278
7279         * XEmacs 21.4.7 "Economic Science" is released.
7280
7281 2002-04-17  Nix  <nix@esperi.demon.co.uk>
7282
7283         * process.h (PROCESS_LIVE_P): Use the process status as
7284         evidence of health, not the state of the input stream.
7285
7286 2002-04-30  Charles G. Waldman <cgw@xemacs.org>
7287
7288         * sysdep.c (sys_siglist): change "signum" to "signal"
7289
7290 2001-04-21  Martin Buchholz  <martin@xemacs.org>
7291
7292         * s/darwin.h: New file.
7293         Thanks to Greg Parker <gparker@cs.stanford.edu>.
7294         
7295 2002-04-23  Andreas Jaeger  <aj@suse.de>
7296
7297         * s/linux.h (LIB_STANDARD): Define correctly for x86-64 and s390x
7298         which use lib64 for 64-bit libs.
7299         (START_FILES): Likewise.
7300
7301 2002-02-11  Mike Sperber  <mike@xemacs.org>
7302
7303         * device-x.c: 
7304         (x_IO_error_handler):
7305         (x_init_device): Temporarily keep device in static variable
7306         `device_being_initialized' so we can recover gracefully from
7307         internal XOpenDevice failure.  (XOpenDevice is documented to
7308         return NULL on failure, but sometimes calls the IO error handler
7309         instead.)
7310
7311 2002-01-31  John H. Palmieri  <palmieri@math.washington.edu>
7312
7313         * dired.c (Ffile_name_all_completions): Change documentation --
7314         remove reference to completion-ignored-extensions.
7315         * dired.c (vars_of_dired): Change documentation for
7316         completion-ignored-extensions -- remove reference to
7317         file-name-all-completions.
7318
7319 2002-03-06  Jerry James  <james@xemacs.org>
7320
7321         * emodules.c (emodules_load): Fix multiple loading of same module.
7322
7323 2002-01-25  Andrew Begel <abegel@cs.berkeley.edu>
7324         * sysdll.c (dll_open): Changed to use RTLD_NOW instead of
7325         RTLD_LAZY to avoid incorrect symbol binding when using nested
7326         shared libraries on Solaris.
7327
7328 2002-02-12  Stephen J. Turnbull  <stephen@xemacs.org>
7329
7330         * fileio.c (Ffind_file_name_handler): Improve docstring.
7331
7332 2002-01-20  Stephen J. Turnbull  <stephen@xemacs.org>
7333
7334         * fns.c (Fmapconcat): Improve docstring.
7335
7336 2002-01-03  Eric Gillespie, Jr.  <epg@pretzelnet.org>
7337
7338         * device-gtk.c: Add prototype for
7339         emacs_gtk_selection_clear_event_handle.
7340         (gtk_init_device): Call gtk_selection_add_target for CLIPBOARD
7341         selection.  Setup signal handler for "selection_clear_event"
7342         (emacs_gtk_selection_clear_event_handle).
7343
7344         * select-gtk.c (emacs_gtk_selection_clear_event_handle): Handle
7345         other applications owning the clipboard (based on
7346         x_handle_selection_clear).
7347
7348 2001-12-23  William M. Perry  <wmperry@gnu.org>
7349
7350         * menubar-gtk.c (gtk_popup_menu)  Add sanity checks, fix crash.
7351         
7352 2002-01-04  Martin Buchholz  <martin@xemacs.org>
7353
7354         * keymap.c (define_key_alternate_name): Parenthesize EQ.
7355
7356 2001-12-17  Stephen J. Turnbull  <stephen@xemacs.org>
7357
7358         * XEmacs 21.4.6 "Common Lisp" is released.
7359
7360 2001-12-16  Torsten Duwe  <duwe@caldera.de>
7361
7362         * search.c (Freplace_match): Add missing sub-expression functionality.
7363
7364         * buffer.c (decode_buffer): Add a check for pointer type to
7365         decode_buffer, before gcc's CSE optimization reorders a
7366         dereference in front of the allow_string test.
7367
7368 2001-11-16  Darryl Okahata  <darrylo@xemacs.org>
7369
7370         * window.c (window_loop): Fix bug that sometimes prevented
7371         window_loop() from iterating across multiple devices.  Also, at
7372         Ben's request, changed infloop-detecting code to abort() instead
7373         of silently terminating window_loop().
7374
7375 2001-11-21  Stephen J. Turnbull  <stephen@xemacs.org>
7376
7377         Based on analysis and patch by Simon Josefson <jas@extundo.com>.
7378         * editfns.c (make_time): New function.
7379         (Fencode_time): Use it instead of wasteful_word_to_lisp.
7380         * lisp.h (make_time): Prototype and comment it.
7381         * dired.c (wasteful_word_to_lisp): Deprecate.
7382         (Ffile_attributes): Use make_time() instead of wasteful_word_to_lisp().
7383
7384 2001-10-31  Kyle Jones  <kyle_jones@wonderworks.com>
7385
7386         * fileio.c (auto_save_1): Use current coding system, not
7387         escape-quoted.
7388
7389 2001-11-13  Ben Wing  <ben@xemacs.org>
7390
7391         * window.c:
7392         * window.c (window_truncation_on):
7393         * window.c (syms_of_window):
7394         truncate-partial-width-windows should respect the buffer being
7395         displayed, like other redisplay vars.
7396
7397 2001-11-13  Hirokazu FUKUI  <hfukui@sannet.ne.jp>
7398
7399         * event-stream.c (Fread_key_sequence): save current buffer.
7400
7401 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
7402
7403         * ntheap.c (_heap_init): Don't redefine in VS.NET (MSC >= 1300).
7404
7405 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
7406
7407         * alloc.c (lcrecord_stats): Add space for types defined in modules.
7408
7409 2001-10-26  Mike Alexander  <mta@arbortext.com>
7410
7411         * event-msw.c (slurper_free_shared_data_maybe): Free the pipe handle.
7412
7413 2001-10-25  Andy Piper  <andy@xemacs.org>
7414
7415         * ChangeLog:
7416         * dialog-msw.c (handle_directory_proc): new function.
7417          (handle_directory_dialog_box): new fucntion.
7418          (handle_file_dialog_box): use new directory dialog support.
7419          (mswindows_make_dialog_box_internal): ditto.
7420         * event-msw.c (mswindows_wnd_proc): minor fix to scrollbar event
7421         handling.
7422         (mswindows_find_frame): make global.
7423         * fileio.c (Fexpand_file_name): build fix.
7424         * general-slots.h: add Qdirectory.
7425         * scrollbar-msw.c (mswindows_handle_scrollbar_event): fix focus
7426         handling.
7427         * syswindows.h (LOCAL_TO_WIN32_FILE_FORMAT): fix problem with
7428         cygwin not leaving win32 paths unchanged.
7429         * win32.c (Fmswindows_cygwin_to_win32_path): new function. Use the
7430         cygwin runtime to do path conversion.
7431         (Fmswindows_shell_execute): fix cygwin handling of URLs.
7432         (syms_of_win32): add new function.
7433         * window.c (window_loop): build fix.
7434
7435 2001-10-15  Andy Piper  <andy@xemacs.org>
7436
7437         (Fmswindows_shell_execute): fix handling of URL's under cygwin.
7438
7439 2001-10-23  Stephen J. Turnbull  <stephen@xemacs.org>
7440
7441         * XEmacs 21.4.5 "Civil Service" is released.
7442
7443 2001-04-08  Danny Colascione  <qtmstr@optonline.net>
7444
7445         * glyphs-x.c: Force buffer-tab highlight update when moving the
7446         buffer, avoiding an ugly black border, used for keyboard focus
7447         indication, on a widget that can never have keyboard focus, the
7448         buffer tab.
7449
7450 2001-08-30  Daiki Ueno  <ueno@unixuser.org>
7451
7452         * process-unix.c (unix_open_multicast_group): Remove too much
7453         conversion between host and network byte order.
7454
7455 2001-09-10  Nix  <nix@esperi.demon.co.uk>
7456
7457         * src/buffer.c (kill_buffer): Undedicate windows showing BUF
7458         before replacing them.
7459
7460         * src/window.c (window_loop): Implement new UNDEDICATE_BUFFER
7461         operation.
7462
7463         * src/window.c (undedicate_windows): Use it.
7464         * src/window.h: Add prototype.
7465
7466 2001-09-17  Ben Wing  <ben@xemacs.org>
7467
7468         * fileio.c (normalize_filename):
7469         * fileio.c (Fexpand_file_name):
7470         Fix various C++ compile errors in Andy's recent code.
7471         
7472         * callint.c (Fcall_interactively):
7473         * editfns.c (Ftemp_directory):
7474         * editfns.c (Fuser_full_name):
7475         * emacs.c (argmatch):
7476         * lread.c (locate_file_map_suffixes):
7477         * redisplay-x.c (x_ring_bell):
7478         Fix sign-compare warnings.
7479         
7480 2001-09-08  Andy Piper  <andy@xemacs.org>
7481
7482         * fileio.c (normalize_filename): copied from nt.c
7483         * (Ffile_name_directory): enable win32 paths under cygwin.
7484         * (Ffile_name_nondirectory): ditto.
7485         * (directory_file_name): ditto.
7486         * (Fexpand_file_name): ditto.
7487         * (Ffile_truename): ditto.
7488         * (Fsubstitute_in_file_name): ditto.
7489         * (Ffile_name_absolute_p): ditto.
7490         * (Ffile_readable_p): ditto.
7491
7492 2001-09-08  Andy Piper  <andy@xemacs.org>
7493
7494         * device-msw.c (mswindows_finish_init_device): remove dde
7495         initialization.
7496         * device-msw.c (mswindows_init_dde): factor out from
7497         mswindows_finish_init_device()
7498         * device-msw.c (init_mswindows_very_early): new function
7499         initialize but don't enable dde.
7500         * emacs.c (main_1): call init_mswindows_very_early.
7501         * event-msw.c:
7502         * event-msw.c (mswindows_dde_callback): only execute when we are
7503         ready.
7504         * symsinit.h: declare init_mswindows_very_early.
7505
7506 2001-05-02  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7507
7508         [sjt: This has been in 21.5 for months with no complaints.]
7509
7510         * console.h (struct console_methods): Added flags member.
7511         (CONSOLE_IMPLEMENTATION_FLAGS): Defined.
7512         (CONMETH_IMPL_FLAG):
7513         (CONSOLE_IMPL_FLAG): Macro to check implememntation flags.
7514         Defined XDEVIMPF_DONT_PREEMPT_REDISPLAY.
7515
7516         * device.c (window_system_pixelated_geometry): Use the above macros.
7517
7518         * device.h (DEVICE_IMPL_FLAG): Macro to check a device
7519         implememntation flag.
7520         * device.h (DEVICE_DISPLAY_P): Use it.
7521
7522         * frame.c (delete_frame_internal): Use the above macro.
7523
7524         * redisplay.c (redisplay_device): Use it.
7525         (redisplay_device): Obey XDEVIMPF_DONT_PREEMPT_REDISPLAY.
7526         (redisplay_frame): Ditto.
7527
7528         * device-msw.c (mswindows_device_implementation_flags): Removed.
7529         (msprinter_device_implementation_flags): Removed.
7530         (console_type_create_device_mswindows): Removed references to
7531         implementation_flags methods, set implementation flags here.
7532         (console_type_create_device_mswindows): Added XDEVIMPF_DONT_PREEMPT.
7533
7534         * device-gtk.c (gtk_device_implementation_flags): Removed method.
7535         (console_type_create_device_gtk): Removed method declaration.
7536         Added commented out statement which semantically matches the
7537         commented out statement in the above removed method.
7538
7539 2001-04-14  Gordon Sadler  <gbsadler1@lcisp.com>
7540
7541         The attached patch fixes a few warnings. 
7542
7543         * src/emacs.c: prototype console_type_create_select_gtk for GTK only
7544         * src/frame-gtk.c: guard against GNOME calls in GTK only
7545         * src/redisplay-gtk.c: include <sys/poll.h> #ifdef HAVE_POLL
7546         * src/select-gtk.c: prototype lisp_to_time
7547
7548 2001-06-08  Ben Wing  <ben@xemacs.org>
7549
7550         ------ gc-in-window-procedure fixes ------
7551         
7552         * alloc.c:
7553         * alloc.c (struct post_gc_action):
7554         * alloc.c (register_post_gc_action):
7555         * alloc.c (run_post_gc_actions):
7556         * alloc.c (garbage_collect_1):
7557         Create "post-gc actions", to avoid those dreaded "GC during window
7558         procedure" problems.
7559
7560         * event-msw.c:
7561         Abort, clean and simple, when GC in window procedure.  We want
7562         to flush these puppies out.
7563
7564         * glyphs-msw.c:
7565         * glyphs-msw.c (finalize_destroy_window):
7566         * glyphs-msw.c (mswindows_finalize_image_instance):
7567         Use a post-gc action when destroying subwindows.
7568
7569         * lisp.h:
7570         Declare register_post_gc_action().
7571
7572         * scrollbar-msw.c:
7573         * scrollbar-msw.c (unshow_that_mofo):
7574         Use a post-gc action when unshowing scrollbar windows, if in gc.
7575
7576         * redisplay.c (mark_redisplay):
7577         Add comment about the utter evilness of what's going down here.
7578
7579         ------ cygwin setitimer fixes ------
7580         
7581         * Makefile.in.in (sheap_objs):
7582         * Makefile.in.in (profile_objs):
7583         * Makefile.in.in (objs):
7584         Compile profile.c only when HAVE_SETITIMER.
7585         
7586         * nt.c (mswindows_sigset):
7587         * nt.c (mswindows_sighold):
7588         * nt.c (mswindows_sigrelse):
7589         * nt.c (mswindows_sigpause):
7590         * nt.c (mswindows_raise):
7591         * nt.c (close_file_data):
7592         Style fixes.
7593         
7594         * nt.c:
7595         Move setitimer() emulation to win32.c, because Cygwin needs it too.
7596         
7597         * profile.c:
7598         * profile.c (Fstart_profiling):
7599         * profile.c (Fstop_profiling):
7600         Make sure we don't compile if no setitimer().  Use qxe_setitimer()
7601         instead of just plain setitimer().
7602         
7603         * signal.c:
7604         * signal.c (set_one_shot_timer):
7605         * signal.c (alarm):
7606         Define qxe_setitimer() as an encapsulation around setitimer() --
7607         call setitimer() directly unless Cygwin or MS Win, in which case
7608         we use our simulated version in win32.c.
7609         
7610         * systime.h:
7611         * systime.h (struct itimerval):
7612         * systime.h (ITIMER_REAL):
7613         Prototype mswindows_setitimer() and qxe_setitimer().  Long
7614         comment about "qxe" and the policy regarding encapsulation.
7615
7616         * win32.c:
7617         * win32.c (setitimer_helper_proc):
7618         * win32.c (setitimer_helper_period):
7619         * win32.c (setitimer_helper):
7620         * win32.c (mswindows_setitimer):
7621         Move setitimer() emulation here, so Cygwin can use it.
7622         Rename a couple of functions and variables to be longer and more
7623         descriptive.  In setitimer_helper_proc(), send the signal
7624         using either mswindows_raise() or (on Cygwin) kill().  If for
7625         some reason we are still getting lockups, we'll change the kill()
7626         to directly invoke the signal handlers.
7627
7628         ------ windows shell fixes ------
7629         
7630         * callproc.c:
7631         * ntproc.c:
7632         Comments about how these two files must die.
7633
7634         * callproc.c (init_callproc):
7635         On MS Windows, init shell-file-name from SHELL, then COMSPEC,
7636         not just COMSPEC. (more correct and closer to FSF.) Don't
7637         force a value for SHELL into the environment. (Comments added
7638         to explain why not.)
7639         
7640         * nt.c (init_user_info):
7641         Don't shove a fabricated SHELL into the environment.  See above.
7642
7643 2001-06-01  Ben Wing  <ben@xemacs.org>
7644
7645         * Makefile.in.in (ldflags):
7646         eliminate that pesky "defaulting to 00401000" warning.
7647         * nt.h:
7648         eliminate warnings.
7649
7650 2001-06-15  Golubev I. N.  <gin@mo.msk.ru>
7651
7652         * s/sco5.h (FORCE_ALLOCATE_PTY_THE_OLD_FASHIONED_WAY): #define.
7653         * process-unix.c (allocate_pty): #ifndef "modern" pty allocation.
7654
7655 2001-04-24  Jerry James <james@xemacs.org>
7656
7657         * faces.h: pass parameters to Fadd_spec_to_specifier in the
7658         correct order.
7659
7660 2001-06-01  Ben Wing  <ben@xemacs.org>
7661
7662         * event-msw.c (debug_mswin_messages):
7663         conditionalize the messages that were causing compile errors.
7664         (if only macros could generate #ifdef statements ...)
7665
7666 2001-07-28  Stephen J. Turnbull  <stephen@xemacs.org>
7667
7668         * XEmacs 21.4.4 "Artificial Intelligence" is released.
7669
7670 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
7671
7672         * event-msw.c (mswindows_wnd_proc): Add GC debugging assert.
7673
7674 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
7675
7676         * config.h.in (IPV6_CANONICALIZE): New #define for --with-ipv6-lookup.
7677         * process-unix.c (unix_canonicalize_host_name):
7678         sysdep.c (init_system_name):
7679         Use it to conditionally support IPv6 canonicalization.
7680
7681 2001-05-31  Paul Stodghill  <stodghil@cs.cornell.edu>
7682
7683         * event-msw.c:
7684         Cygwin does not define WM_IME_xxx. Modify the #if's accordingly.
7685
7686 2001-05-19  Paul Krause  <paulkrause1@mediaone.net>
7687
7688         * scrollbar-msw.c: Fixes a crash that occurs on Windows when an
7689         attempt is made to scroll when no scroll bar is available.
7690
7691 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
7692
7693         * input-method-motif.c (XIM_delete_frame): New callback.
7694         (XIM_init_frame): Register it.  (Reapplied by SJT, it somehow
7695         got deleted from 21.4.3.)
7696
7697 2001-06-01  Ben Wing  <ben@xemacs.org>
7698
7699         * nt.c (mswindows_utime):
7700         * nt.c (close_file_data):
7701         fix off-by-one-indirection error.
7702
7703 2001-05-29  Adrian Aichner  <adrian@xemacs.org>
7704
7705         * fileio.c: Include nt.h.  Remove lisp_string_set_file_times()
7706         because set_file_times() now takes Lisp_Object path, instead of
7707         char*.
7708         * nt.c: Include buffer.h.
7709         * nt.c (convert_from_time_t): New.
7710         * nt.c (mswindows_utime): New.  Use utime, since SetFileTime does
7711         not set mtime correctly.
7712         * nt.h: Declare mswindows_utime().
7713         * sysdep.c (set_file_times): set_file_times() now takes Lisp_Object
7714         path, instead of char*.
7715         * systime.h: Include <sys/utime.h> on WIN32_NATIVE.
7716
7717 2001-05-30  Ben Wing  <ben@xemacs.org>
7718
7719         For 21.4:
7720
7721         (Stephen, just take all event-msw.c patches.  This includes
7722         the "iconify" fix below.)
7723
7724         * event-msw.c:
7725         * event-msw.c (mswindows_dequeue_dispatch_event):
7726         * event-msw.c (assert):
7727         * event-msw.c (emacs_mswindows_quit_p):
7728         * event-msw.c (debug_mswin_messages):
7729         * event-msw.c (debug_output_mswin_message):
7730         * event-msw.c (vars_of_event_mswindows):
7731         Fix yet more problems with C-g handling.
7732         Implement debug-mswindows-events.
7733         
7734 2001-05-24  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7735
7736         * event-msw.c (WM_DROPFILES): Use correct type for OLE characters.
7737         
7738 2001-05-23  Ben Wing  <ben@xemacs.org>
7739
7740         * event-msw.c (winsock_writer):
7741         * event-msw.c (winsock_closer):
7742         prior kludgy code was clobbering the buffer, thinking it was
7743         "unused" space to store an unneeded return value; instead, use
7744         the variable we've already got staring us in the face.
7745
7746 2001-05-17  Andy Piper  <andy@xemacs.org>
7747
7748         * sysfile.h: don't assume that file attributes are boolean
7749
7750 2001-05-23  Ben Wing  <ben@xemacs.org>
7751
7752         * device-msw.c (msprinter_init_device):
7753         signal an error rather than crash with an unavailable network
7754         printer (from Mike Alexander).
7755         
7756         * event-msw.c:
7757         * event-msw.c (struct winsock_stream):
7758         * event-msw.c (winsock_writer):
7759         * event-msw.c (winsock_closer):
7760         * event-msw.c (make_winsock_stream_1):
7761         cleanup headers.  fix (hopefully) an error with data corruption
7762         when sending to a network connection.
7763
7764         * fileio.c (Fexpand_file_name): Fix evil code that attempts
7765         to handle the ~user prefix by (a) always assuming we're referencing
7766         ourselves and not even verifying the user -- hence any file with
7767         a tilde as its first char is invalid! (b) if there wasn't a slash
7768         following the filename, the pointer was set *past* the end of
7769         file and we started reading from uninitialized memory.  Now we
7770         simply treat these as files, always.
7771
7772         * buffer.c (common_init_complex_vars_of_buffer): comment change.
7773         
7774 2001-05-19  Ben Wing  <ben@xemacs.org>
7775
7776         * eval.c: doc comment about gcpro'ing in record_unwind_protect.
7777
7778         * process-nt.c:
7779         * process-nt.c (vars_of_process_nt):
7780         remove unused mswindows-quote-process-args.  rec for 21.4.
7781         
7782 2001-05-12  Ben Wing  <ben@xemacs.org>
7783
7784         * event-msw.c (mswindows_dde_callback):
7785         * event-msw.c (mswindows_wnd_proc):
7786         eliminate cygwin warnings.
7787
7788 2001-05-06  Ben Wing  <ben@xemacs.org>
7789
7790         * console-msw.h:
7791         * device-msw.c:
7792         * device-msw.c (print_dialog_worker):
7793         * device-msw.c (mswindows_handle_print_dialog_box):
7794         * device-msw.c (syms_of_device_mswindows):
7795         * dialog-msw.c (mswindows_make_dialog_box_internal):
7796         * general-slots.h:
7797         implement printing the selection when it's selected.
7798
7799 2001-05-20  Drazen Kacar  <dave@arsdigita.com>
7800
7801         * glyphs-gtk.c (gtk_resource_instantiate): C++ comment -> #if 0
7802
7803 2001-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
7804
7805         * lisp.h (EMACS_INT_MAX): This should be one bit less since
7806         EMACS_INT is signed.
7807
7808 2001-04-15  Michael Lausch  <mla@1012surf.net>
7809
7810         * scrollbar-gtk.c (gtk_create_scrollbar_instance): Call
7811         gtk_widget_request_size() to give scrollbar >0 width for
7812         GTK >1.2.8.
7813
7814 2001-05-30  William M. Perry  <wmperry@gnu.org>
7815
7816         * event-gtk.c: Check for buttons as modifier keys.
7817
7818 2001-05-25  Craig Lanning  <CraigL@Knology.net>
7819
7820         * s\mingw32.h:
7821         Properly find MinGW's <process.h> inside Cygwin's restructured
7822         include directories.  Don't try to include <cygwin/version.h>
7823         since we are dropping support for MinGW in versions of Cygwin
7824         earlier than b21.
7825         * nt.c:
7826         Drop support for MinGW in versions of Cygwin before b21.
7827         * sysdep.c:
7828         Properly find MinGW's <process.h> inside Cygwin's restructured
7829         include directories.
7830         * syswindows.h:
7831         Drop support for MinGW in versions of Cygwin before b21.
7832         * unexcw.c:
7833         Even though a.out.h is no longer detected by configure, allow
7834         MinGW to use it until we figure out how to do the job with Win32.
7835
7836 2001-07-11  Matt Tucker  <tuck@whistlingfish.net>
7837
7838         * syntax.c (find_start_of_comment):
7839         Fix `unbalanced parentheses' bug when dealing with mixed comment
7840         styles in c++/java/etc. mode
7841
7842 2001-05-29  Mike Alexander  <mta@arbortext.com>
7843
7844         * console-msw.h (FRAME_MSPRINTER_CHARHEIGHT): Unswap
7845         FRAME_MSPRINTER_CHARWIDTH and FRAME_MSPRINTER_CHARHEIGHT
7846
7847 2001-05-17  Andrew Begel  <abegel@eecs.berkeley.edu>
7848
7849         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Add needed cast.
7850
7851 2001-03-31  Mike Sperber <mike@xemacs.org>
7852
7853         * search.c (Freplace_match): Support FSF-style specification of
7854         match subexpression when applied to a buffer.
7855
7856 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
7857
7858         * event-stream.c (is_scrollbar_event): add missing semicolon
7859
7860 2001-05-22  Isaac Hollander  <ysh@mindspring.com>
7861
7862         * Makefile.in.in: Use TAR macro instead of hardcoding
7863           tar.  Allows use of GNU tar instead of system tar
7864
7865 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
7866
7867         * event-stream.c (is_scrollbar_event): add missing semicolon
7868
7869 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
7870
7871         * XEmacs 21.4.3 "Academic Rigor" is released.
7872
7873 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
7874
7875         * regex.c: Define DECLARE_NOTHING when "lisp.h" is not included.
7876
7877 2001-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
7878
7879         * buffer.c (Vcase_fold_search): Remove obsolete
7880           comment about non ASCII case-fold-search.  This
7881           bug has been fixed by case-table changes.
7882
7883 2001-05-11  Stephen J. Turnbull  <stephen@xemacs.org>
7884
7885         * event-msw.c: Restore include of events-mod.h.
7886
7887 2001-04-22   zhaoway  <zw@debian.org>
7888
7889         * event-stream.c (is_scrollbar_event): Noop returning 0 if
7890         !HAVE_SCROLLBARS.
7891
7892 2001-05-10  Stephen J. Turnbull  <stephen@xemacs.org>
7893
7894         * XEmacs 21.4.2 "Developer-Friendly Unix APIs" is released.
7895
7896 2001-05-08  Yoshiaki Kasahara  <kasahara@nc.kyushu-u.ac.jp>
7897
7898         * mule-charset.c (Fmake_charset): Add missing else.
7899
7900 2001-04-23  Ben Wing  <ben@xemacs.org>
7901
7902         * event-msw.c (FAKE_MOD_QUIT):
7903         * event-msw.c (mswindows_dequeue_dispatch_event):
7904         * event-msw.c (mswindows_wnd_proc):
7905         * event-msw.c (emacs_mswindows_quit_p):
7906         Get critical quit working.
7907
7908 2001-05-05  Ben Wing  <ben@xemacs.org>
7909
7910         * console-msw.h:
7911         * device-msw.c:
7912         * device-msw.c (mswindows_get_default_margin):
7913         * frame-msw.c (mswindows_size_frame_internal):
7914         * frame-msw.c (msprinter_init_frame_1):
7915         * frame-msw.c (vars_of_frame_mswindows):
7916         Change top/bottom margin defaults to 0.5 inches.
7917
7918 2001-05-01  Martin Buchholz  <martin@xemacs.org>
7919
7920         Fix link error with gcc 3.0 on Linux.
7921         * terminfo.c (UP): Remove.
7922         * terminfo.c (BC): Remove.
7923         * terminfo.c (PC): Remove.
7924         They weren't used, and in any case, these symbols should be
7925         defined in the *library*.
7926
7927 2001-05-03  Martin Buchholz  <martin@xemacs.org>
7928
7929         * s/aix4.h: Fix crash with xlc -O3.
7930         Improve comment explaining how -O3 works.
7931
7932 2001-04-15  Ben Wing  <ben@xemacs.org>
7933
7934         * event-stream.c:
7935         * event-stream.c (Fnext_event):
7936         * event-stream.c (is_scrollbar_event):
7937         * event-stream.c (execute_command_event):
7938         Better fix for Yoshiki's `C-x @ h <scrollbar-drag> x causes a
7939         crash' problem.  His fix introduces other problems.  We filter
7940         out scrollbar events specifically, making them somewhat invisible
7941         to command-building, and not appearing in `this-command-keys'.
7942         More work is still needed (see comments in event-stream.c), but
7943         this fixes all the major problems.
7944
7945 2001-04-20  Ben Wing  <ben@xemacs.org>
7946
7947         * .cvsignore: Added stuff for Windows.
7948
7949 2001-04-28  Ben Wing  <ben@xemacs.org>
7950
7951         * buffer.c (Ferase_buffer):
7952         * editfns.c (buffer_insert1):
7953         * editfns.c (Finsert_before_markers):
7954         * editfns.c (Finsert_string):
7955         * editfns.c (Finsert_char):
7956         * editfns.c (Fdelete_region):
7957         * editfns.c (Fwiden):
7958         * editfns.c (Fnarrow_to_region):
7959         remove bogus lines setting zmacs_region_stays to 0.
7960         
7961 2001-04-15  Gunnar Evermann  <ge204@eng.cam.ac.uk>
7962
7963         * process-unix.c (unix_open_network_stream): If connect() fails
7964         invalidate file descriptor after closing it.
7965
7966 2001-03-08  Mike Alexander  <mta@arbortext.com>
7967
7968         * event-msw.c (mswindows_need_event_in_modal_loop):
7969         Don't dispatch a message if we didn't get one.
7970         (mswindows_need_event):
7971         Terminate the correct process when one exits instead of the first
7972         one on Vprocess_list and look for process termination when in
7973         mswindows_protect_modal_loop.
7974
7975 2001-04-19  Stephen J. Turnbull  <stephen@xemacs.org>
7976
7977         * XEmacs 21.4.1 "Copyleft" is released.
7978
7979 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
7980
7981         * input-method-motif.c (XIM_delete_frame): New callback.
7982         (XIM_init_frame): Register it.
7983
7984 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
7985
7986         * XEmacs 21.4.0 "Solid Vapor" is released.
7987
7988 2001-04-15  Ben Wing  <ben@xemacs.org>
7989
7990         * cmdloop.c (call_command_loop):
7991         Fix braino in bit-rotting code.
7992         
7993 2001-04-07  Hrvoje Niksic  <hniksic@arsdigita.com>
7994
7995         * extents.c (Fset_extent_endpoints): Force creation of extent info
7996         in buffer_or_string.
7997
7998         * extents.c (process_extents_for_insertion_mapper): Correctly
7999         check for open-open zero-length extents.
8000
8001 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
8002
8003         * lisp.h: New typedefs Memory_count, Element_count.
8004         * regex.c:
8005         * regex.h:
8006         Sign-compare warning elimination: several unsigned -> signed.
8007         Based on work by Ben Wing <ben@xemacs.org>.
8008
8009 2001-04-14  Stephen J. Turnbull  <stephen@xemacs.org>
8010
8011         * XEmacs 21.2.47 "Zephir" is released.
8012
8013 2001-04-02  Jan Vroonhof  <jan@xemacs.org>
8014
8015         * redisplay.c (add_bufbyte_string_runes): Update data->bytepos
8016
8017 2001-04-03  Mike Sperber <mike@xemacs.org>
8018
8019         * search.c: Revert previous patch due because of release.
8020
8021 2001-03-30  Ben Wing  <ben@xemacs.org>
8022
8023         * s\cygwin32.h:
8024         Add missing killpg prototype.
8025
8026         * elhash.c:
8027         Add a comment about fixing problems when a new entry is added
8028         while mapping.
8029
8030         * frame-msw.c (mswindows_init_frame_1):
8031         Fix compile warnings.
8032
8033         * menubar.c (vars_of_menubar):
8034         Provide `menu-accelerator-support' to indicate that we properly
8035         support %_ in menu specifications, so that package code can
8036         conditionalize on this (and remove %_ from menu specifications
8037         on older versions).
8038
8039         * event-msw.c:
8040         * scrollbar-msw.c:
8041         * scrollbar-msw.c (can_scroll):
8042         * scrollbar-msw.h:
8043         Fix handling of mouse wheel under Windows to follow standards --
8044         now scrolls window under pointer, not selected window.
8045
8046 2001-03-31  Mike Sperber <mike@xemacs.org>
8047
8048         * search.c (Freplace_match): Support FSF-style specification of
8049         match subexpression when applied to a buffer.
8050
8051 2001-03-15  Martin Buchholz  <martin@xemacs.org>
8052
8053         * keymap.c (Fmap_keymap): map-keymap explicitly allows a mapping
8054         function to modify KEYMAP, so map over a copy of the hash table.
8055
8056 2001-03-21  Martin Buchholz <martin@xemacs.org>
8057
8058         * XEmacs 21.2.46 "Urania" is released.
8059
8060 2001-03-20  Dan Holmsand  <dan@eyebee.com>
8061
8062         * realpath.c (xrealpath): Make file-truename work with symlinks to
8063         /cygdrive paths on cygwin. Always lowercase drive-letters on
8064         native windows.
8065         (cygwin_readlink): Don't try to find canonical filename unless
8066         file exists.
8067
8068 2001-03-15  Stephen J. Turnbull  <stephen@xemacs.org>
8069
8070         * ChangeLog: Log GTK merge.
8071
8072         * dumper.c:
8073         * select-x.c:
8074         * specifier.c:
8075         * symeval.h:
8076         Revert gratuitous whitespace changes from GTK merge.
8077
8078         * emacs.c: Document end of complex #ifdef @ l. 1495.
8079
8080
8081 2001-03-12  Andy Piper  <andy@xemacs.org>
8082
8083         * mingw32.h: unfortunately cygnus changed mingw32 -> mingw so we
8084         have to do likewise.
8085
8086 2001-03-12  Andy Piper  <andy@xemacs.org>
8087
8088         * sysdep.c: we only support mingw now.
8089
8090 2001-03-09  Andy Piper  <andy@xemacs.org>
8091
8092         * unexcw.c (copy_executable_and_dump_data_section): making approx
8093         overrun a warning only.
8094
8095 2001-03-10  William M. Perry  <wmperry@aventail.com>
8096
8097         * faces.c (complex_vars_of_faces): Rewrote the font mucking to
8098         satisfy Stephen's identical-after-cpp plea.
8099
8100 2001-03-02  Ben Wing  <ben@xemacs.org>
8101
8102         * cmds.c:
8103         * cmds.c (Fforward_char):
8104         * syntax.c:
8105         * window.c:
8106
8107         Augment documentation of the most common motion commands to make
8108         note of the shifted-motion support.
8109         
8110 2001-03-02  Ben Wing  <ben@xemacs.org>
8111
8112         * nt.c (mswindows_fstat):
8113         * nt.c (mswindows_stat):
8114         * search.c (boyer_moore):
8115         Fix compile warnings under Windows.
8116         
8117         * sysdep.c (sys_readdir):
8118         Fix buggy filename-conversion code under Mule.
8119
8120 2001-03-09  William M. Perry  <wmperry@aventail.com>
8121
8122         * Makefile.in.in:
8123         * config.h.in:
8124         * console.c:
8125         * console.h:
8126         * device.c:
8127         * device.h:
8128         * dragdrop.c:
8129         * emacs.c:
8130         * event-stream.c:
8131         * events.c:
8132         * events.h:
8133         * faces.c:
8134         * frame.h:
8135         * general-slots.h:
8136         * glyphs.c:
8137         * gutter.c:
8138         * inline.c:
8139         * lisp.h:
8140         * lrecord.h:
8141         * make-src-depend:
8142         * redisplay-output.c:
8143         * redisplay.c:
8144         * symsinit.h:
8145         * sysfile.h:
8146         * toolbar.c:
8147         * window.c:
8148         The Great GTK Merge.
8149
8150         * ChangeLog.GTK:
8151         * console-gtk.c:
8152         * console-gtk.h:
8153         * device-gtk.c:
8154         * emacs-marshals.c:
8155         * emacs-widget-accessors.c:
8156         * event-gtk.c:
8157         * frame-gtk.c:
8158         * gccache-gtk.c:
8159         * gccache-gtk.h:
8160         * glade.c:
8161         * glyphs-gtk.c:
8162         * glyphs-gtk.h:
8163         * gtk-glue.c:
8164         * gtk-xemacs.c:
8165         * gtk-xemacs.h:
8166         * gui-gtk.c:
8167         * gui-gtk.h:
8168         * menubar-gtk.c:
8169         * native-gtk-toolbar.c:
8170         * objects-gtk.c:
8171         * objects-gtk.h:
8172         * redisplay-gtk.c:
8173         * scrollbar-gtk.c:
8174         * scrollbar-gtk.h:
8175         * select-gtk.c:
8176         * toolbar-gtk.c:
8177         * ui-byhand.c:
8178         * ui-gtk.c:
8179         * ui-gtk.h:
8180         The Great GTK Merge: new files.
8181
8182 2001-02-26  Ben Wing  <ben@xemacs.org>
8183
8184         Reapplied Lstream change.
8185
8186 2001-02-26  Ben Wing  <ben@xemacs.org>
8187
8188         Undid the last change, since it is more controversial than I
8189         thought.  It should be back in at some point soon.
8190         
8191 2001-02-25  Ben Wing  <ben@xemacs.org>
8192
8193         * buffer.c:
8194         * callproc.c (Fold_call_process_internal):
8195         * event-msw.c (ntpipe_slurp_reader):
8196         * event-msw.c (ntpipe_shove_writer):
8197         * event-msw.c (winsock_reader):
8198         * event-msw.c (winsock_writer):
8199         * file-coding.c:
8200         * file-coding.c (detect_eol_type):
8201         * file-coding.c (detect_coding_type):
8202         * file-coding.c (determine_real_coding_system):
8203         * file-coding.c (Fdetect_coding_region):
8204         * file-coding.c (decoding_reader):
8205         * file-coding.c (decoding_writer):
8206         * file-coding.c (mule_decode):
8207         * file-coding.c (Fdecode_coding_region):
8208         * file-coding.c (encoding_reader):
8209         * file-coding.c (encoding_writer):
8210         * file-coding.c (mule_encode):
8211         * file-coding.c (Fencode_coding_region):
8212         * file-coding.c (detect_coding_sjis):
8213         * file-coding.c (decode_coding_sjis):
8214         * file-coding.c (encode_coding_sjis):
8215         * file-coding.c (detect_coding_big5):
8216         * file-coding.c (decode_coding_big5):
8217         * file-coding.c (encode_coding_big5):
8218         * file-coding.c (detect_coding_ucs4):
8219         * file-coding.c (decode_coding_ucs4):
8220         * file-coding.c (encode_coding_ucs4):
8221         * file-coding.c (detect_coding_utf8):
8222         * file-coding.c (decode_coding_utf8):
8223         * file-coding.c (encode_coding_utf8):
8224         * file-coding.c (detect_coding_iso2022):
8225         * file-coding.c (decode_coding_iso2022):
8226         * file-coding.c (encode_coding_iso2022):
8227         * file-coding.c (decode_coding_no_conversion):
8228         * file-coding.c (encode_coding_no_conversion):
8229         * glyphs-x.c (write_lisp_string_to_temp_file):
8230         * gpmevent.c (tty_get_foreign_selection):
8231         * lisp.h:
8232         * lstream.c:
8233         * lstream.c (Lstream_flush_out):
8234         * lstream.c (Lstream_adding):
8235         * lstream.c (Lstream_write_1):
8236         * lstream.c (Lstream_write):
8237         * lstream.c (Lstream_raw_read):
8238         * lstream.c (Lstream_read_more):
8239         * lstream.c (Lstream_read):
8240         * lstream.c (Lstream_unread):
8241         * lstream.c (Lstream_fputc):
8242         * lstream.c (stdio_reader):
8243         * lstream.c (stdio_writer):
8244         * lstream.c (filedesc_reader):
8245         * lstream.c (filedesc_writer):
8246         * lstream.c (lisp_string_reader):
8247         * lstream.c (struct fixed_buffer_stream):
8248         * lstream.c (make_fixed_buffer_input_stream):
8249         * lstream.c (make_fixed_buffer_output_stream):
8250         * lstream.c (fixed_buffer_reader):
8251         * lstream.c (fixed_buffer_writer):
8252         * lstream.c (struct resizing_buffer_stream):
8253         * lstream.c (resizing_buffer_writer):
8254         * lstream.c (dynarr_writer):
8255         * lstream.c (lisp_buffer_reader):
8256         * lstream.c (lisp_buffer_writer):
8257         * lstream.h:
8258         * lstream.h (lstream_implementation):
8259         * lstream.h (struct lstream):
8260         * md5.c (Fmd5):
8261         * process-nt.c (nt_send_process):
8262         * process-unix.c (unix_send_process):
8263         
8264         Correct Lstream lossage due to mixing of signed and unsigned
8265         quantities.  All Lstream uses of size_t and ssize_t are now a
8266         single signed data type Lstream_data_count.  This fixes problems
8267         under Windows with sending large quantities of data to a process,
8268         and may well fix other subtle bugs.
8269
8270 2001-02-23  Martin Buchholz <martin@xemacs.org>
8271
8272         * XEmacs 21.2.45 "Thelxepeia" is released.
8273
8274 2001-02-21  Martin Buchholz  <martin@xemacs.org>
8275
8276         * lisp-union.h (XSETINT): 
8277         (XSETCHAR):
8278         (XSETOBJ): 
8279         Reverse previous change of 2001-02-06.
8280
8281 2001-02-20  Matt Tucker  <tuck@whistlingfish.net>
8282
8283         Fix `VALID_BYTIND_P' crashes in regex.c when using narrowed
8284         buffers.
8285         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
8286         * syntax.h (SYNTAX_CACHE_OBJECT_BYTE_TO_CHAR):
8287         Add `BI_BUF_BEGV' to bytepos before calculating bufpos.
8288         * regex.c (POS_AS_IN_BUFFER): removed
8289         * regex.c (re_search_2):
8290         * regex.c (re_match_2):
8291         Don't use an offset of 1 when calculating buffer positions, since
8292         `BI_BUF_BEGV' does it already.
8293
8294 2001-02-18  Wim Dumon  <wim@easics.be>
8295
8296         * insdel.c (prepare_to_modify_buffer): Also check for
8297         supersession when clash-detection is enabled. 
8298
8299 2001-02-17  Matt Tucker  <tuck@whistlingfish.net>
8300
8301         * regex.c (re_match_2_internal):
8302         Convert temp characters from 'const unsigned char' to 're_char'.
8303         Fix crashing bug with extended characters under mule.
8304         * syntax.c (Qsyntax_table): Moved from vars_of_syntax to
8305         syms_of_syntax. Use defsymbol to define. Fixes hanging bug with
8306         font-lock, pdump, and new syntax-table code.
8307         * syntax.c (find_start_of_comment):
8308         (find_end_of_comment):
8309         (forward-comment):
8310         Fix crashing bugs involving moving beyond end of buffer.
8311         * syntax.c (find_start_of_comment):
8312         Fixed logic to allow proper detection of cases where the same
8313         character is used to end both a two-char comment start and a
8314         two-char comment end sequence. Fixes `(forward-comment -1)'.
8315         * syntax.c (find_start_of_comment):
8316         Return position just past last comment-end character for all cases
8317         (previously was only done for two-char comment-end sequences).
8318         * syntax.c (forward-comment):
8319         Take value returned from `find_end_of_comment', rather than
8320         incrementing it.
8321         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
8322         Properly deal with BUFFERP (syntax_cache.object)
8323
8324 2001-02-17  Martin Buchholz  <martin@xemacs.org>
8325
8326         * alloc.c (Fgarbage_collect): 
8327         * alloc.c (make_bit_vector_from_byte_vector):
8328         -Wsign-compare-correctness.
8329
8330 2001-02-16  Martin Buchholz  <martin@xemacs.org>
8331
8332         * lisp-union.h (XSETINT): Eliminate unnecessary temp var.
8333         (XSETCHAR): Likewise.
8334         (XSETOBJ): Likewise.
8335
8336 2001-02-15  Martin Buchholz  <martin@xemacs.org>
8337
8338         * mule-canna.c (canna-func-delete_previous): 
8339         Rename to canna-func-delete-previous.
8340
8341 2001-02-14  Martin Buchholz  <martin@xemacs.org>
8342
8343         * mule-ccl.c (ccl_driver): Warning suppression.  Use countof.
8344
8345 2001-02-13  Matt Tucker  <tuck@whistlingfish.net>
8346
8347         * font-lock.c (find_context): Fix C++ compile errors introduced by
8348         recent patch
8349
8350 2001-02-13  Martin Buchholz  <martin@xemacs.org>
8351
8352         * s/aix4.h: Later versions of IBM C compiler need a bug workaround
8353         pragma, but earlier ones barf on the same pragma.
8354
8355 2001-02-06  Mike Sperber <mike@xemacs.org>
8356
8357         * emacs.c (complex_vars_of_emacs): Add `mule-lisp-directory' and
8358         `configure-mule-lisp-directory'.
8359
8360 2001-02-12  Martin Buchholz  <martin@xemacs.org>
8361
8362         Make sure dump-id.c is compiled in the same way as other .c's.
8363         Fixes pdump compilation failure with HP's cc, which defaults to K&R.
8364         * dump-id.h: Remove.
8365         * emacs.c: Move dump-id.h into dumper.h.
8366         * dumper.h: Move dump-id.h into dumper.h.
8367         * Makefile.in.in:
8368         Use standard .c.o rule for building dump-id.o.
8369         Remove preprocessor flags from link command.
8370         Add dump-id.o to ${otherobjs} if PDUMP.
8371
8372 2001-02-07  Matt Tucker  <tuck@whistlingfish.net>
8373
8374         Port FSF 20.7 syntax table improvements.
8375         * syntax.c.
8376         * syntax.h.
8377
8378         Fixups for new syntax table stuff.
8379         * dired.c: Include syntax.c.
8380         (Fdirectory_files): Initialize regex_match_object and
8381         regex_emacs_buffer.
8382         * extents.h: EXFUN Fnext_extent_change, Fprevious_extent_change,
8383         and Fget_char_property.
8384
8385         Use ported FSF 20.7 syntax table improvements.
8386         * font-lock.c.
8387         * regex.c.
8388         * search.c.
8389         
8390 2001-02-09  Martin Buchholz  <martin@xemacs.org>
8391
8392         * regex.c (Boolean): Renamed to `re_bool', to avoid conflict with
8393         Unixware's enum boolean from sys/types.h.
8394
8395 2001-02-10  Martin Buchholz  <martin@xemacs.org>
8396
8397         Fix support for building with latest Purify.
8398         * Makefile.in.in (PURIFY_LIBS): Remove thread flags.
8399         (PURIFY_FLAGS): Likewise.
8400
8401 2001-02-09  Martin Buchholz  <martin@xemacs.org>
8402
8403         * fileio.c (lisp_string_set_file_times): New.
8404         * fileio.c (Fcopy_file): Use it.
8405         Fixes bug:
8406         (copy-file filename non-ascii-filename t t)
8407         ==> No such file or directory, non-ascii-filename
8408
8409 2001-02-10  Martin Buchholz  <martin@xemacs.org>
8410
8411         * glyphs-x.c (generate_cursor_fg_bg): Avoid a warning.
8412         USHRT_MAX seems clearer than ~0 anyways.
8413
8414 2001-02-09  Martin Buchholz  <martin@xemacs.org>
8415
8416         dumper improvements.  Inspired by Olivier.
8417         * dumper.c (pdump_max_align): New.
8418         * dumper.c (pdump_add_entry): Use pdump_max_align.
8419         * dumper.c (pdump_get_entry_list): Likewise.
8420         * dumper.c (pdump_scan_by_alignment): Likewise.
8421         Don't iterate through unnecessary alignments.
8422         * dumper.c (pdump_file_get): No need to align result of malloc().
8423         * dumper.c (pdump_mallocadr): Remove.  
8424         The result of malloc() is guaranteed to be maximally aligned.
8425         * dumper.c: s/elmt/elt/g;
8426         * dumper.c (pdump_object_table): Allocate dynamically, not statically.
8427         * dumper.c (pdump_alert_undump_object): Likewise.
8428         * dumper.c (pdump_align_table): 
8429         Don't support alignments > 64.
8430         Store ALIGNOF's, not shift counts, in table.
8431
8432 2001-02-09  Martin Buchholz  <martin@xemacs.org>
8433
8434         * s/mingw32.h (HAVE_STRUCT_UTIMBUF): Remove.
8435         * s/windowsnt.h (HAVE_STRUCT_UTIMBUF): Remove.
8436         * systime.h: Use HAVE_UTIME.
8437         * sysdep.c (struct utimbuf): Remove.
8438         * sysdep.c (set_file_times): Prefer utime() to utimes().
8439         * config.h.in (HAVE_UTIME): New.
8440         * config.h.in (HAVE_UTIME_H): Remove.
8441         * config.h.in (HAVE_STRUCT_UTIMBUF): Remove.
8442
8443 2001-02-09  Martin Buchholz  <martin@xemacs.org>
8444
8445         * s/aix4.h: Hide #pragmas inside #ifndef NOT_C_CODE.
8446
8447 2001-02-08  Martin Buchholz  <martin@xemacs.org>
8448
8449         * s/irix6-0.h: Use the standard system memmove, not bcopy.
8450
8451 2001-02-08  Martin Buchholz <martin@xemacs.org>
8452
8453         * XEmacs 21.2.44 "Thalia" is released.
8454
8455 2001-02-06  Martin Buchholz  <martin@xemacs.org>
8456
8457         Fixes crashes in kill-emacs on some systems.
8458         * process-unix.c (unix_kill_child_process):
8459         It's OK for kill() to fail with ESRCH.
8460
8461 2001-02-07  Martin Buchholz  <martin@xemacs.org>
8462
8463         Contortions to make .gdbinit tricks work on most systems.
8464         * alloc.c (dbg_inhibit_dbg_symbol_deletion): Keep debugger info.
8465         * alloc.c (dbg_valmask): Make non-const.
8466         * alloc.c (dbg_typemask): Make non-const.
8467         * alloc.c (dbg_USE_UNION_TYPE): Make non-const.
8468         * alloc.c (dbg_valbits): Make non-const.
8469         * alloc.c (dbg_gctypebits): Make non-const.
8470         * .gdbinit (decode_object): Make it work with AIX cc.
8471
8472 2001-02-06  Martin Buchholz  <martin@xemacs.org>
8473
8474         * elhash.c (make_general_lisp_hash_table):
8475         Use simpler and more efficient calloc to clear entries.
8476
8477 2001-02-07  Martin Buchholz  <martin@xemacs.org>
8478
8479         * window.c (window_scroll): Work around an AIX C compiler bug.
8480         Fixes 'scroll-up' does nothing problem with xlC.
8481
8482 2001-02-05  Martin Buchholz  <martin@xemacs.org>
8483
8484         * .gdbinit: Remove obsolete comment.
8485
8486 2001-01-31  Mike Alexander  <mta@arbortext.com>
8487
8488         * select.c (Fown_selection_internal): Set owned_p for device
8489         method correctly.
8490
8491 2001-02-01  Martin Buchholz  <martin@xemacs.org>
8492
8493         Port to g++ 2.97.
8494         "not" cannot be used as a macro name as it is an operator in C++
8495         * config.h.in: Stop #defining `not'.
8496         * chartab.c (check_category_char): not ==> not_p
8497         * chartab.h: Likewise.
8498         * regex.c (re_match_2_internal): Likewise.
8499
8500 2001-02-02  Martin Buchholz  <martin@xemacs.org>
8501
8502         * lisp-disunion.h: Fix up comments.
8503
8504 2001-01-31  Martin Buchholz  <martin@xemacs.org>
8505
8506         * keymap.c (define_key_check_and_coerce_keysym):
8507         (syms_of_keymap):
8508         Support mouse-6 and mouse-7 bindings in the obvious way.
8509
8510 2001-02-01  Martin Buchholz  <martin@xemacs.org>
8511
8512         * m/hp9000s300.h (UNEXEC): Check for HPUX, not !BSD.
8513
8514 2001-01-30  Martin Buchholz  <martin@xemacs.org>
8515
8516         Previous patch changing DEFVAR_INT to use EMACS_INT was incomplete.
8517         Previous patch missed DEFVAR_INT_MAGIC.
8518         Make sure future DEFVAR_foo use correct types.
8519         * symeval.h (DEFVAR_SYMVAL_FWD_FIXNUM): New.
8520         * (DEFVAR_SYMVAL_FWD_INT): Add type checking.
8521         * (DEFVAR_SYMVAL_FWD_OBJECT): Add type checking.
8522         * (DEFVAR_INT_MAGIC): Use DEFVAR_SYMVAL_FWD_FIXNUM.
8523         * (DEFVAR_INT): Likewise.
8524         * redisplay.c (vertical_clip): Should be of type Fixnum.
8525         * redisplay.c (horizontal_clip): Likewise.
8526         * lisp.h (dump_add_opaque_int): New.
8527         (dump_add_opaque_fixnum): New.
8528
8529 2001-01-29  Andy Piper  <andy@xemacs.org>
8530
8531         * glyphs-widget.c (check_valid_int_or_function): allow symbols
8532         since they can be eval'ed
8533
8534 2001-01-29  Martin Buchholz  <martin@xemacs.org>
8535
8536         * lisp.h (ALIGNOF): Make it work on non-gcc C++ compilers.
8537         Oops, XEmacs redefines `class'.  Use `typename' instead.
8538
8539 2001-01-28  Martin Buchholz  <martin@xemacs.org>
8540
8541         * dumper.c: Fix C++ compile errors.
8542
8543 2001-01-29  Martin Buchholz  <martin@xemacs.org>
8544
8545         * tparam.c: Use correct prototypes.
8546
8547 2001-01-28  Martin Buchholz  <martin@xemacs.org>
8548
8549         * sysproc.h: #include util.h for NetBSD's openpty.
8550
8551 2001-01-27  Martin Buchholz  <martin@xemacs.org>
8552
8553         More 64-bit correctness.
8554         The C value of a DEFVAR_INT should be of type EMACS_INT, not int.
8555         Use a typedef `fixnum' for the type used for DEFVAR_INT.
8556         Fix up comments.
8557         This finally finishes the 64-bit SGI port.
8558         Fixes things like (let ((gc-cons-threshold most-positive-fixnum)) ...).
8559         * symbols.c: Fix up comments and type casts.
8560         * symbols.c (do_symval_forwarding): s/int/Fixnum/g
8561         * symbols.c (store_symval_forwarding): s/int/Fixnum/g
8562         * symeval.h (Fixnum): New type.
8563         * symeval.h (symbol_value_type): Fix up comment.
8564
8565         * commands.h:
8566         * nt.c:
8567         * emacs.c:
8568         * data.c:
8569         * redisplay.c:
8570         * abbrev.c:
8571         * dired-msw.c:
8572         * event-Xt.c:
8573         * eldap.c:
8574         * window.c:
8575         * sound.c:
8576         * event-stream.c:
8577         * eval.c:
8578         * buffer.c:
8579         * mule-canna.c: A million DEFVAR_INTs here...
8580         * mule-canna.c (count_char): s/int */Fixnum */g in arglist.
8581         * extents.c:
8582         * cmdloop.c:
8583         * lisp.h:
8584         * select-x.c:
8585         * console-x.h:
8586         * event-msw.c:
8587         * mule-wnnfns.c:
8588         * hpplay.c:
8589         * ralloc.c:
8590         * alloc.c:
8591         * keymap.c:
8592         * profile.c:
8593         s/int/Fixnum/g in DEFVAR_INT declarations.
8594
8595 2001-01-26  Martin Buchholz  <martin@xemacs.org>
8596
8597         Port pdump to SGI alignment-sensitive environment.
8598         Lisp Object sizeof methods now return aligned sizes.  Rely on that.
8599         Eliminate is_lrecord since Lisp_Objects sizeof methods are now all
8600         properly aligned.
8601         Define and use aligned reading and writing macros.
8602         Use buffered stdio instead of posix i/o for faster dumping.
8603         Eliminate kludgy 256 byte space for header.
8604         Read and write from dump file using structs for alignment safety.
8605         * dumper.c (pdump_align_stream): New.
8606         * dumper.c (PDUMP_ALIGN_OUTPUT): New.
8607         * dumper.c (PDUMP_READ_ALIGNED): New.
8608         * dumper.c (PDUMP_WRITE_ALIGNED): New.
8609         * dumper.c (pdump_static_Lisp_Object): New struct.
8610         * dumper.c (pdump_static_pointer): New struct.
8611         * dumper.c (pdump_entry_list_element): Remove is_lrecord member.
8612         * dumper.c (pdump_add_entry): Remove is_lrecord parameter.
8613         * dumper.c (pdump_dump_data): Rely on sizeof method alignment.
8614         * dumper.c (pdump_allocate_offset): Rely on sizeof method alignment.
8615
8616         * dumper.c (pdump_backtrace):
8617         * dumper.c (pdump_get_indirect_count):
8618         * dumper.c (pdump_register_object):
8619         * dumper.c (pdump_register_struct):
8620         * dumper.c (pdump_reloc_one):
8621         * dumper.c (pdump_scan_by_alignment):
8622         * dumper.c (pdump_dump_from_root_struct_ptrs):
8623         * dumper.c (pdump_dump_opaques):
8624         * dumper.c (pdump_dump_rtables):
8625         * dumper.c (pdump_dump_from_root_objects):
8626         * dumper.c (pdump):
8627         * dumper.c (pdump_load_finish):
8628         Use aligned reading and writing.
8629
8630         * dumper.c (pdump_free): Make static.
8631         * dumper.c (pdump_hFile): Likewise.
8632         * dumper.c (pdump_hMap): Likewise.
8633
8634 2001-01-26  Martin Buchholz <martin@xemacs.org>
8635
8636         * XEmacs 21.2.43 "Terspichore" is released.
8637
8638 2001-01-25  Martin Buchholz  <martin@xemacs.org>
8639
8640         Type fiddling for window_config.saved_windows_count
8641         * window.c (struct window_config): 
8642         Make saved_windows_count member unsigned.
8643         * window.c (sizeof_window_config_for_n_windows): 
8644         Make parameter unsigned.
8645         * window.c (mark_window_config):
8646         * window.c (window_config_equal):
8647         * window.c (free_window_configuration):
8648         * window.c (Fset_window_configuration):
8649         * window.c (count_windows):
8650         * window.c (Fcurrent_window_configuration):
8651         * window.c (reinit_vars_of_window):
8652         Update all callers and users.
8653
8654 2001-01-25  Martin Buchholz  <martin@xemacs.org>
8655
8656         Alignment correctness for flexible arrays.
8657         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF):
8658         Make alignment-correct. Add interesting comments.
8659         * alloc.c (size_vector):
8660         * alloc.c (make_vector_internal):
8661         * alloc.c (make_bit_vector_internal):
8662         * alloc.c (sweep_bit_vectors_1):
8663         * fns.c (size_bit_vector):
8664         Update all callers of FLEXIBLE_ARRAY_STRUCT_SIZEOF to add new arg.
8665         * window.c (sizeof_window_config_for_n_windows): 
8666         Use FLEXIBLE_ARRAY_STRUCT_SIZEOF.
8667
8668 2001-01-24  Martin Buchholz  <martin@xemacs.org>
8669
8670         * lread.c (read1): Rename `fexp', which is #defined in SGI's math.h
8671
8672 2001-01-23  Andy Piper  <andy@xemacs.org>
8673
8674         * select.c (Fown_selection_internal): pass owned_p
8675
8676         * select-msw.c (mswindows_own_selection): New Signature.
8677
8678         * console.h (struct console_methods): add owned_p to
8679         _own_selection.
8680
8681         * select-x.c (x_own_selection): pass owned_p
8682         (hack_motif_clipboard_selection): use owned_p
8683         (vars_of_select_x): new variable -
8684         x_selection_strict_motif_ownership.
8685
8686 2001-01-23  Martin Buchholz  <martin@xemacs.org>
8687
8688         * specifier.h (specifier_data_offset): Remove pointless parens.
8689         * glyphs.h (IMAGE_SPECIFIER_DATA): Likewise.
8690
8691 2001-01-24  Martin Buchholz  <martin@xemacs.org>
8692
8693         Make Lisp_Object sizeof methods be alignment-correct.
8694         pdump must restore objects to the same alignment as the C compiler
8695         assumes.  It really matters on SGIs.
8696         * lstream.c (aligned_sizeof_lstream): New.
8697         (sizeof_lstream): Use aligned_sizeof_lstream.
8698         (Lstream_new): Likewise.
8699         * opaque.c (aligned_sizeof_opaque): New.
8700         (sizeof_opaque): Use aligned_sizeof_opaque.
8701         (make_opaque): Likewise.
8702         * specifier.c (aligned_sizeof_specifier): New.
8703         (sizeof_specifier): Use aligned_sizeof_specifier.
8704         (make_specifier_internal): Likewise.
8705
8706 2001-01-23  Martin Buchholz  <martin@xemacs.org>
8707
8708         * lstream.h (struct lstream): Use max_align_t for trailing data.
8709         * specifier.h (struct Lisp_Specifier): Likewise.
8710
8711 2001-01-22  Martin Buchholz  <martin@xemacs.org>
8712
8713         * mule-ccl.c (CCL_Extension): Renamed from CCL_Extention.
8714         (CCL_SUCCESS): Kludge to prevent Sun cc compiler warnings.
8715         (CCL_SUSPEND): Likewise.
8716         (CCL_INVALID_CMD): Likewise.
8717         (CCL_CALL_FOR_MAP_INSTRUCTION): Likewise.
8718         (ccl_driver): Likewise.
8719         (CCL_WRITE_CHAR): Macro hygiene.
8720         (CCL_WRITE_STRING): Macro hygiene.
8721
8722 2001-01-22  Martin Buchholz  <martin@xemacs.org>
8723
8724         Port "portable" dumper to SunOS 4 and HP-UX.
8725         * s/aix4.h (AIX4): Move MAP_FAILED definition elsewhere.
8726         * emacs.c (main): PDUMP implies no RUN_TIME_REMAP.
8727         * dumper.c (pdump_file_get): Define MAP_FAILED if not already defined.
8728
8729 2001-01-22  Martin Buchholz  <martin@xemacs.org>
8730
8731         * lisp.h (ALIGNOF): A better definition for C++.
8732
8733 2001-01-20  Martin Buchholz  <martin@xemacs.org>
8734
8735         Macro hygiene.
8736         Fix printf warnings: int format, long int arg.
8737         * regex.c (DECLARE_DESTINATION): Use DECLARE_NOTHING.
8738         (PUSH_FAILURE_POINT): Use correct printf formats.
8739         (POP_FAILURE_POINT): Use correct printf formats.  
8740         Use do {...} while (0)
8741
8742 2001-01-20  Martin Buchholz <martin@xemacs.org>
8743
8744         * XEmacs 21.2.42 "Poseidon" is released.
8745
8746 2001-01-20  Martin Buchholz  <martin@xemacs.org>
8747
8748         * console-x.h: typo fix du jour.  Remove #if 0'ed code.
8749
8750 2001-01-19  Martin Buchholz  <martin@xemacs.org>
8751
8752         De-kludgify FIXED_TYPE free list frobbing.
8753         Fix crashes on 64-bit platforms introduced by my patch of 2001-01-13.
8754         * alloc.c (DECLARE_FIXED_TYPE_ALLOC): Use Lisp_Free.
8755         * alloc.c (ALLOCATE_FIXED_TYPE_1): Use new definitions.
8756         * alloc.c (Lisp_Free): New pseudo lisp object definition.
8757         * alloc.c (LRECORD_FREE_P): New.
8758         * alloc.c (MARK_LRECORD_AS_FREE): New.
8759         * alloc.c (MARK_LRECORD_AS_NOT_FREE): New.
8760         * alloc.c (STRUCT_FREE_P): Deleted.
8761         * alloc.c (MARK_STRUCT_AS_FREE): Deleted.
8762         * alloc.c (MARK_STRUCT_AS_NOT_FREE): Deleted.
8763         * alloc.c (STRING_CHARS_FREE_P): New.
8764         * alloc.c (MARK_STRING_CHARS_AS_FREE): New.
8765         * alloc.c (PUT_FIXED_TYPE_ON_FREE_LIST): Use new definitions.
8766         * alloc.c (FREE_FIXED_TYPE): Use new definitions.
8767         * alloc.c (STRING_CHARS_FREE_P): Use new definitions.
8768         * alloc.c (resize_string): Use new definitions.
8769         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Use new definitions.
8770         * alloc.c (verify_string_chars_integrity): Use new definitions.
8771         * alloc.c (compact_string_chars): Use new definitions.
8772         * alloc.c: Update monster comments.
8773         * lrecord.h (lrecord_type): Add some new lrecord types for
8774         alloc.c's use.
8775
8776 2001-01-18  Martin Buchholz  <martin@xemacs.org>
8777
8778         Improve alignment hackery.
8779         * lisp.h (ALIGNOF): Better definition for the non-gcc case.
8780         (max_align_t): Moved from opaque.h - general purpose.
8781         (ALIGN_PTR): Use size_t, not long.
8782         * opaque.h (max_align_t): Move to lisp.h.
8783
8784 2001-01-18  Norbert Koch  <nk@LF.net>
8785
8786         * gui.h: Fix and add prototypes to fix build problems.
8787
8788 2001-01-18  Martin Buchholz  <martin@xemacs.org>
8789
8790         temacs is going away, so `dump-temacs' is now a bad name.
8791         * .dbxrc (dump-temacs): Rename to `dmp'.
8792         * .gdbinit (dump-temacs): Rename to `dmp'.
8793
8794 2001-01-17  Andy Piper  <andy@xemacs.org>
8795
8796         * glyphs.c (print_image_instance): comment to make martin happy.
8797
8798         * glyphs-x.c (x_redisplay_widget): update faces after a frame
8799         change.
8800
8801         * glyphs-msw.c (mswindows_redisplay_widget): add code to cope with
8802         activation.
8803         (mswindows_tab_control_redisplay): warning suppression.
8804
8805         * glyphs-widget.c (widget_update): re-write to cope with updated
8806         items.
8807         (widget_instantiate): use new gui_item functions.
8808         (tab_control_update): deleted.
8809         (progress_gauge_update): deleted.
8810         (image_instantiator_progress_guage): take out update reference.
8811         (image_instantiator_tree_view): ditto.
8812         (image_instantiator_tab_control): ditto.
8813
8814         * gui.c (widget_gui_parse_item_keywords): new function. Do things
8815         Right the new way.
8816         (gui_item_add_keyval_pair): re-write to cope with descriptors and
8817         return whether anything was changed.
8818         (update_gui_item_keywords): as it sounds.
8819
8820         * gui.h: declare widget_gui_parse_item_keywords.
8821
8822         * fns.c (safe_copy_tree): new function taken from Fcopy_tree.
8823         (Fcopy_tree): use it. Stops infloop death in bogus instantiators.
8824
8825 2001-01-17  Martin Buchholz <martin@xemacs.org>
8826
8827         * XEmacs 21.2.41 "Polyhymnia" is released.
8828
8829 2001-01-16  Didier Verna  <didier@xemacs.org>
8830
8831         * glyphs.c (image_instantiate): don't use fallbacks when
8832         instantiating a face's background pixmap by inheritance.
8833
8834 2001-01-14  Mike Sperber <mike@xemacs.org>
8835
8836         * sysdep.c (start_of_data): PDUMP implies ORDINARY_LINK.
8837         Conditionalize accordingly.
8838
8839 2001-01-16  Martin Buchholz  <martin@xemacs.org>
8840
8841         * dumper.c (pdump_file_get): Fix a compiler warning.
8842
8843 2001-01-15  Martin Buchholz  <martin@xemacs.org>
8844
8845         Make Purify happy when pdumping.
8846         * symbols.c (Fmake_variable_buffer_local): Make Purify happy, by
8847         iniitalizing all bits of new lisp object memory.
8848         * symbols.c (Fmake_local_variable): Likewise.
8849         * symbols.c (Fdontusethis_set_symbol_value_handler): Likewise.
8850         * symbols.c (Fdefvaralias): Likewise.
8851         * mule-charset.c (vars_of_mule_charset): Likewise.
8852
8853 2001-01-15  Martin Buchholz  <martin@xemacs.org>
8854         Add the `-nd' flag when running pre-dump operations under the debugger.
8855         * .dbxrc (run-temacs): Add `-nd'.
8856         * .dbxrc (update-elc): Likewise.
8857         * .dbxrc (dump-temacs): Likewise.
8858         * .gdbinit (run-temacs): Likewise.
8859         * .gdbinit (check-temacs): Likewise.
8860         * .gdbinit (update-elc): Likewise.
8861         * .gdbinit (dump-temacs): Likewise.
8862
8863 2001-01-14  Martin Buchholz  <martin@xemacs.org>
8864
8865         Allow building 64-bit executables on AIX with GNU malloc, e.g.
8866         export OBJECT_MODE=64
8867         configure --pdump --use-union-type=no
8868         * m/ibmrs6000.h (DATA_START): Define for 64-bit world.
8869         * gmalloc.c (__default_morecore): Remove pre-ANSI cruft.
8870
8871         * miscplay.c (sndcnv8U_2mono):
8872         Avoid two uses of `++' in the same expression.
8873         Suppresses a GCC warning.
8874
8875 2001-01-13  Martin Buchholz  <martin@xemacs.org>
8876
8877         Make sure future compilers don't miscompile alloc.c.
8878         * alloc.c:
8879         (MARK_STRUCT_AS_FREE): Make aliasing-optimization-resistant.
8880         (MARK_STRUCT_AS_NOT_FREE): Make aliasing-optimization-resistant.
8881
8882 2001-01-12  Martin Buchholz  <martin@xemacs.org>
8883
8884         * dumper.c: A little post-pdump-rename comment fixup.
8885
8886 2001-01-09  Jerry James  <james@eecs.ku.edu>
8887
8888         * lisp-disunion.h: Change LISP_TO_CVOID arg to match its use.
8889
8890 2001-01-13  Martin Buchholz  <martin@xemacs.org>
8891
8892         * *.[ch]: Globally rename symbols using the following `pdump-rename'
8893         script:
8894         #!/bin/sh
8895         replace_symbol () {
8896           (findn texi$; findn [ch]$) | xargs g -lw "$1" | xargs global-replace 's/(?<!_)\b'$1'\b(?!_)/'$2'/g'
8897         }
8898
8899         replace_symbol pdump_wire_lists pdump_weak_object_chains
8900         replace_symbol pdump_wire_list dump_add_weak_object_chain
8901
8902         replace_symbol pdump_wires pdump_root_objects
8903         replace_symbol pdump_wire dump_add_root_object
8904
8905         replace_symbol pdump_dump_wired pdump_dump_from_root_objects
8906         replace_symbol pdump_dump_structs pdump_dump_from_root_struct_ptrs
8907
8908         replace_symbol dumpstructinfos pdump_root_struct_ptrs
8909         replace_symbol dumpstructinfo_dynarr pdump_root_struct_ptr_dynarr
8910         replace_symbol dumpstructinfo pdump_root_struct_ptr
8911         replace_symbol dumpstruct dump_add_root_struct_ptr
8912
8913         replace_symbol dumpopaque dump_add_opaque
8914         replace_symbol dumpopaqueinfo_dynarr pdump_opaque_dynarr
8915         replace_symbol dumpopaqueinfos pdump_opaques
8916         replace_symbol dumpopaqueinfo pdump_opaque
8917
8918         replace_symbol nb_structdump nb_root_struct_ptrs
8919         replace_symbol nb_opaquedump nb_opaques
8920
8921         replace_symbol align_table pdump_align_table
8922         replace_symbol dump_header pdump_header
8923
8924         replace_symbol DUMP_SIGNATURE_LEN PDUMP_SIGNATURE_LEN
8925         replace_symbol DUMP_SIGNATURE PDUMP_SIGNATURE
8926
8927
8928 2001-01-12  Martin Buchholz  <martin@xemacs.org>
8929
8930         * s/aix4.h: Keep the C for AIX compiler from overaggressively
8931         optimizing bytecount_to_charcount().
8932
8933 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
8934
8935         * config.h.in:
8936         (HAVE_DLFCN_H): Removed.
8937         * sysdll.c: Remove HAVE__DLOPEN, HAVE_DLFCN_H.
8938
8939 2001-01-06  Martin Buchholz  <martin@xemacs.org>
8940
8941         Portable dumper maintainability improvements.
8942         * alloc.c (staticpro):
8943         * alloc.c (staticpro_nodump):
8944         * alloc.c (garbage_collect_1):
8945         * alloc.c (reinit_alloc_once_early):
8946         * alloc.c (init_alloc_once_early):
8947         * alloc.c: Move dumper functions to alloc.c.
8948         * dumper.c (pdump_backtrace):
8949         * dumper.c (pdump_dump_structs):
8950         * dumper.c (pdump_dump_opaques):
8951         * dumper.c (pdump_dump_rtables):
8952         * dumper.c (pdump_dump_wired):
8953         * dumper.c (pdump):
8954         * dumper.c (pdump_load_check):
8955         * dumper.c (pdump_load_finish):
8956         * dumper.c (pdump_file_unmap):
8957         * dumper.c (pdump_file_get):
8958         * dumper.c (pdump_resource_free):
8959         * dumper.c (pdump_resource_get):
8960         * dumper.c (pdump_file_free):
8961         * dumper.c (pdump_file_try):
8962         * dumper.c (pdump_load):
8963         Remove fixed size limits on staticpro(), staticpro_nodump(),
8964         dumpopaque(), dumpstruct() by using Dynarrs instead of static C arrays.
8965         Remove custom code for dumping lrecord_implementations_table - use
8966         dumpopaque instead.
8967         Remove (most of the) custom code for dumping staticpros - dump it
8968         like any other dynarr.
8969
8970         * alloc.h: Removed.  No longer useful, since dumper now more self-contained.
8971         * dumper.c: Moved functions from alloc.c.
8972         * alloc.c (dumpstruct): Moved to dumper.c.
8973         * alloc.c (dumpopaque): Likewise.
8974         * alloc.c (pdump_wire): Likewise.
8975         * alloc.c (pdump_wire_list): Likewise.
8976
8977         * lisp.h (Dynarr_sizeof): New.
8978         * lisp.h (Dynarr_begin): New.  Very slightly C++oid.
8979         * lisp.h (Dynarr_end): New.  Very slightly C++oid.
8980         * lisp.h (Lisp_Object_ptr_dynarr): New.  For staticpros.
8981
8982         * lisp.h (dumpstruct): Define to nothing if not PDUMPing.
8983         * lisp.h (dumpopaque): ditto.
8984         * lisp.h (pdump_wire): ditto.
8985         * lisp.h (pdump_wire_list): ditto.
8986
8987 2001-01-09  Martin Buchholz  <martin@xemacs.org>
8988
8989         * make-src-depend (PrintPatternDeps):
8990         Use `sort' to make output independent of perl version.
8991
8992 2001-01-08  Martin Buchholz  <martin@xemacs.org>
8993
8994         Port to Netbsd 1.5.
8995         * unexelf.c: Remove (never used) bogus Netbsd-specific cruft.
8996         * s/netbsd.c: Use unexelf.o if __ELF__ is defined.
8997
8998 2001-01-03  Didier Verna  <didier@xemacs.org>
8999
9000         * event-stream.c (emacs_handle_focus_change_preliminary): ensure
9001         that `focus_frame' is alive before thinking of calling
9002         `redisplay_redraw_cursor' on it.
9003
9004 2001-01-08  Martin Buchholz <martin@xemacs.org>
9005
9006         * XEmacs 21.2.40 is released.
9007
9008 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
9009
9010         * regex.c: Replace PREFETCH with REGEX_PREFETCH.
9011
9012 2001-01-06  Martin Buchholz  <martin@xemacs.org>
9013
9014         * alloc.c (dbg_valmask): Make const.
9015         * alloc.c (dbg_typemask): Make const.
9016         * alloc.c (dbg_USE_UNION_TYPE): Make const.
9017         * alloc.c (dbg_valbits): Make const.
9018         * alloc.c (dbg_gctypebits): Make const.
9019
9020 2001-01-06  Stephen J. Turnbull  <stephen@xemacs.org>
9021
9022         * redisplay-x.c (x_bevel_area):
9023         redisplay.h (struct rune):
9024         Typo fixes in comments.
9025
9026 2001-01-05  Andy Piper  <andy@xemacs.org>
9027
9028         * glyphs-x.c (x_redisplay_widget): use size changed for offset
9029         adjustment.
9030
9031         * menubar.c (menubar_visible_p_changed): don't mark frame changed.
9032
9033 2001-01-05  Martin Buchholz  <martin@xemacs.org>
9034
9035         * alloc.c (pure-bytes-used): Remove unused mendacious variable.
9036
9037         * mule-ccl.c (stack_idx_of_map_multiple):
9038         Non const global data must not be initialized!
9039         Found by MIYASHITA Hisashi.
9040
9041 2001-01-02  Andy Piper  <andy@xemacs.org>
9042
9043         * frame.c (change_frame_size): make sure frame size is always
9044         marked as changed.
9045
9046         * glyphs.c (image_instance_layout): minor code reuse.
9047
9048         * window.c (Fcurrent_window_configuration): revert previous
9049         change.
9050
9051 2001-01-02  Martin Buchholz  <martin@xemacs.org>
9052
9053         * glyphs.h:
9054         * glyphs.c (make_image_instance_cache_hash_table): Use ANSI prototypes.
9055
9056 2000-12-31  Andy Piper  <andy@xemacs.org>
9057
9058         * glyphs-x.c (x_unmap_subwindow): return focus to enclosing frame
9059         when widget gets unmapped.
9060
9061         * event-Xt.c (emacs_Xt_handle_widget_losing_focus): new
9062         function. Make sure widgets losing focus don't just drop it.
9063         (handle_focus_event_1): record the widget with focus.
9064
9065 2000-12-31  Andy Piper  <andy@xemacs.org>
9066
9067         * window.c (allocate_window): use
9068         make_image_instance_cache_hash_table.
9069         (make_dummy_parent): ditto.
9070         (Fset_window_configuration): ditto.
9071
9072         * glyphs.h (INSTANTIATOR_TYPE): new macro.  declare new functions.
9073
9074         * glyphs.c (process_image_string_instantiator): use
9075         INSTANTIATOR_TYPE.
9076         (get_image_instantiator_governing_domain): ditto.
9077         (normalize_image_instantiator): ditto.
9078         (instantiate_image_instantiator): ditto.
9079         (make_image_instance_1): ditto.
9080         (image_instantiate): ditto. Key on glyph *and* instantiator type.
9081         (instantiator_eq_equal): new function for use with instance hash
9082         tables.
9083         (instantiator_eq_hash): ditto.
9084         (make_image_instance_cache_hash_table): create a suitable hash
9085         table for storing image instances.
9086
9087         * elhash.h (hash_table_weakness): new internal weakness type
9088         HASH_TABLE_KEY_CAR_VALUE_WEAK.
9089         declare new functions.
9090
9091         * elhash.c (finish_marking_weak_hash_tables): introduce yet
9092         another weakness type for glyphs.
9093         (make_standard_lisp_hash_table): new function split out from
9094         make_general_lisp_hash_table.
9095         (make_lisp_hash_table): call make_standard_lisp_hash_table.
9096         (hash_table_instantiate): ditto.
9097         (Fmake_hash_table): ditto.
9098
9099 2000-12-31  Martin Buchholz <martin@xemacs.org>
9100
9101         * XEmacs 21.2.39 is released.
9102
9103 2000-12-29  Andy Piper  <andy@xemacs.org>
9104
9105         * menubar.c (menubar_visible_p_changed): signal the frame changed.
9106
9107         * glyphs-x.c (x_redisplay_widget): Re-calculate widget offsets if
9108         the frame has changed so that we pick up geometry changes such as
9109         menubar visibility.
9110
9111 2000-12-28  Andy Piper  <andy@xemacs.org>
9112
9113         * lastfile.c (my_ebss): make a char array so we can pad the
9114         bss. Fixes cygwin unexec.
9115
9116         * unexcw.c: invert BROKEN_GDB to NO_DEBUG.
9117
9118 2000-12-26  Andy Piper  <andy@xemacs.org>
9119
9120         * event-Xt.c (emacs_Xt_force_event_pending): add some verbose
9121         comments and try and be more precise about a non-/SIGIO world.
9122         (emacs_Xt_event_pending_p): use XtAppPending under cygwin and non
9123         SIGIO.
9124
9125         * redisplay-output.c (redisplay_normalize_glyph_area): make sure
9126         we don't normalize to zero width or height.
9127
9128 2000-12-24  Andy Piper  <andy@xemacs.org>
9129
9130         * Makefile.in.in (ldflags): add -mwindows when appropriate.
9131
9132 2000-08-18  Golubev I. N.  <gin@mo.msk.ru>
9133
9134         * s/sco5.h: SCO 5 has pty support.
9135
9136 2000-07-20  Kazuyuki IENAGA <ienaga@xemacs.org>
9137
9138         * input-method-xlib.c: supports both XIM_XLIB and USE_XFONTSET.
9139         input-method-xlib.c contains whole contents of input-method-xfs.c,
9140         so we can use input-method-xlib.c's code for USE_XFONTSET
9141         using #ifdefs.
9142         * input-method-xfs.c: removed.
9143
9144 2000-12-20  Stephen Turnbull  <stephen@xemacs.org>
9145
9146         * file-coding.h (enum coding_category_type): reorder enumerators to
9147         make autodetection safer.  Make CODING_CATEGORY_LAST an enumerator
9148         (now one greater than largest real coding_category_type enumerator).
9149         * file-coding.c (coding_category_symbol, coding_category_by_priority,
9150         coding_category_system, fcd_descriptihon_1, decode_coding_category,
9151         Fcoding_category_list, Fset_coding_priority_list,
9152         Fcoding_priority_list, coding_system_from_mask, Fdetect_coding_region,
9153         vars_of_file_coding): adjust for change in CODING_CATEGORY_LAST.
9154
9155 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
9156
9157         * redisplay-output.c (redisplay_clear_top_of_window): Remove static.
9158         * redisplay-output.c (redisplay_output_window): Clear top of window
9159         when face is changed.
9160         * redisplay-x.c (x_redraw_exposed_window): Call
9161         redisplay_clear_top_of_window.
9162         * redisplay.h: Publish redisplay_clear_top_of_window.
9163
9164 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
9165
9166         * buffer.c (Fkill_buffer): Map over all devices.
9167         * window.c (window_loop): Remove UNSHOW_BUFFER code.
9168         (list_windows): New function.
9169         (list_all_windows): Ditto.
9170         (Freplace_buffer_in_windows): Use them.
9171
9172 2000-02-02   Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
9173
9174         * database.c (berkdb_subtype): Recognize new subtype `queue'.
9175         (Fopen_database): Use `db_create' instead of `db_open'.
9176         (syms_of_database): Initialize Qqueue.
9177
9178 2000-12-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
9179
9180         * buffer.c (common_init_complex_vars_of_buffer): Initialize
9181         buffer_local_face_property.
9182         * buffer.h (struct buffer): New member buffer_local_face_property.
9183         * window.c (Fset_window_buffer):  Mark window's face as changed
9184         when buffer has buffer local face.
9185         * window.h (MARK_WINDOW_FACES_CHANGED): New macro.
9186         * objects.c (color_after_change): Set buffer_local_face_property
9187         when locale of face specifier is buffer.
9188         * objects.c (font_after_change): Ditto.
9189         * objects.c (face_boolean_after_change): Ditto.
9190         * glyphs.c (image_after_change): Ditto.
9191
9192 2000-12-09  Dan Holmsand  <dan@eyebee.com>
9193
9194         * nt.c (mswindows_fstat): Report file permissions, volume serial
9195         number, etc. Code adapted from FSF Emacs 20.7.
9196
9197 2000-12-09  Dan Holmsand  <dan@eyebee.com>
9198
9199         * sysfile.h (lstat): Make lstat an alias for xemacs_stat instead
9200         of stat when we don't have symbolic links, to make sure
9201         mswindows_stat is called on mswindows.
9202
9203 2000-12-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
9204
9205         * alloca.c: Define malloc to xmalloc only when built with XEmacs.
9206
9207 2000-12-12  Martin Buchholz  <martin@xemacs.org>
9208
9209         * doprnt.c (emacs_doprnt_1): More printing fixes.
9210         Make printing of numbers compatible with libc and FSF Emacs.
9211         BUG was: (format "%6.3f" 1.2) ==>"1.200000"
9212         Use the system printf to do most of the hard work of formatting,
9213         instead of doprnt_1().
9214         Calculate memory to allocate for format string.
9215         Remove arbitrary limit on precision, e.g. (format "%.1000f" 3.14)
9216         (doprnt_1): Cleaner code and documentation.
9217
9218 2000-12-01  Jerry James  <james@eecs.ukans.edu>
9219
9220         * Makefile.in.in: Use the loop variable to install headers.
9221
9222 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
9223
9224         * window.c (Fsplit_window): Don't invalidate face cache.
9225
9226 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
9227
9228         * minibuf.c (Fall_completions): Undo the previous change
9229         which removed checking elements start with space.
9230
9231 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
9232
9233         * mule-canna.c: Didier suppression.
9234
9235 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
9236
9237         * mule-canna.c: rename static unsigned char buf[] to key_buffer
9238         (warning suppression).  Add English comment translations.
9239
9240 2000-12-05  Martin Buchholz  <martin@xemacs.org>
9241
9242         * unexelfsgi.c (unexec): Better test for mmap failure.
9243
9244 2000-12-05  Martin Buchholz <martin@xemacs.org>
9245
9246         * XEmacs 21.2.38 is released.
9247
9248 2000-12-05  Martin Buchholz  <martin@xemacs.org>
9249
9250         * redisplay.c (bar-cursor): Make a user variable.
9251
9252         * symsinit.h: Add init_postgresql_from_environment.
9253
9254 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
9255
9256         * regex.c: Convert to clean C.
9257
9258 2000-12-05  Dan Holmsand  <dan@eyebee.com>
9259
9260         * realpath.c:
9261         Don't #include sysfile.h. Revert to duplicating PATH_MAX
9262         initialization.
9263         (sys_readlink): renamed to system_readlink to avoid conflict with
9264         the other sys_readlink.
9265
9266 2000-12-04  Hiroaki Abe  <h-abe@pc.highway.ne.jp>
9267
9268         * dumper.c (pdump_file_get): Correct uses of pdump_fd.
9269
9270 2000-12-04  Stephen J. Turnbull  <stephen@xemacs.org>
9271
9272         * postgresql.c (init_postgresql_from_environment): new function.
9273         (vars_of_postgresql): Move code initializing Lisp variables out and
9274         into init_postgresql_from_environment.
9275         emacs.c (main_1): Call init_postgresql_from_environment if and only
9276         if running a dumped XEmacs.
9277
9278 2000-08-31  Dan Holmsand  <dan@eyebee.com>
9279
9280         * buffer.c: Make find-file-compare-truenames default to true on
9281         windows.
9282
9283         * realpath.c (win32_abs_start):
9284         (cygwin_readlink):
9285         (win32_readlink): New functions.
9286         (xrealpath): Return really real filenames on windows.
9287
9288         * fileio.c (Ffile_truename): Make file-truename work on windows.
9289
9290 2000-11-29  Didier Verna  <didier@xemacs.org>
9291
9292         * faces.c (MAYBE_UNFROB_BACKGROUND_PIXMAP): new macro.
9293         * faces.c (update_face_cachel_data): use it.
9294         * faces.c (add_face_cachel): use it. Complete background pixmap
9295         frobbing in face cache if `update_face_cachel_data' has not done so.
9296
9297 2000-11-29  Yoshiki Hayashi  <yoshiki@xemacs.org>
9298
9299         * search.c (string_match_1): Don't set last_thing_searched
9300         when search failed.
9301
9302 2000-11-27  Yoshiki Hayashi  <yoshiki@xemacs.org>
9303
9304         * buffer.c: Include casetab.h
9305         (common_init_complex_vars_of_buffer): Use new case-table object.
9306         * buffer.h: Include casetab.h
9307         * buffer.h (MAKE_TRT_TABLE): Use generic char-table.
9308         (DOWNCASE_TABLE_OF): Ditto.
9309         * bufslots.h: Remove char-tables and add case-table.
9310         * casetab.c: Include casetab.h
9311         (CASE_TABLE_P): Removed.
9312         (mark_case_table): New function.
9313         (allocate_case_table): New function.
9314         (Fcase_table_p): Use new case-table.
9315         (case_table_char): New function.
9316         (Fget_case_table): Ditto.
9317         (Fput_case_table): Ditto.
9318         (Fput_case_table_pair): Ditto.
9319         (Fcopy_case_table): Ditto.
9320         (Fcurrent_case_table): Return case-table.
9321         (Fstandard_case_table): Return case-table.
9322         (Fset_case_table): Fix doc-string.
9323         (set_case_table): Use case-table
9324         (syms_of_casetab): DEFSUBR new functions.
9325         (complex_vars_of_casetab): Set up standard case-table.
9326         * casetab.h: New file.
9327         * editfns.c: Include casetab.h
9328         (Fcompare_buffer_substrings): Use case-table.
9329         * inline.c: Include casetab.h
9330         * lisp.h: Remove bogus extern.
9331         * lrecord.h (lrecord_type): Add lrecord_type_case_table.
9332         * search.c: Include casetab.h
9333         (TRANSLATE_ASCII): Removed.
9334         (TRANSLATE): Unconditionally translate character.
9335         (looking_at_1): Use case-table.
9336         (string_match_1): Ditto.
9337         (fast_string_match): Ditto.
9338         (search_command): Ditto.
9339         (search_buffer): Separate boyer_moore.  Check whether
9340         boyer_moore is possible.
9341         (simple_search): New function.
9342         (boyer_moore): Separated from search_buffer. Translate char.
9343
9344 2000-11-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
9345
9346         * regex.c (RE_TR_ASCII): Removed.
9347         (RE_TRANSLATE): Unconditionally use TRT_TABLE.
9348         (PATFETCH): Call PATFETCH_RAW.
9349         (PATFETCH_RAW): Fetch Emchar.
9350         (PATUNFETCH): Decrement charptr.
9351         (GET_BUFFER_SPACE): Rename b to buf_end.
9352         (BUF_PUSH): Ditto.
9353         (BUF_PUSH_2): Ditto.
9354         (BUF_PUSH_3): Ditto.
9355         (EXTEND_BUFFER): Ditto.
9356         (SET_LIST_BIT): Ditto.
9357         (regex_compile): Ditto.  Translate non ASCII char.
9358         (compile_range): Ditto.
9359         (re_search_2): Ditto.
9360         (re_match_2_internal): Compare Emchar.
9361         (bcmp_translate): Ditto.
9362
9363 2000-11-29  Stephen J. Turnbull  <turnbull@xemacs.org>
9364
9365         * lisp.h (basic char/int typedefs):  comment improvement.
9366
9367 2000-11-24  Stephen J. Turnbull  <turnbull@xemacs.org>
9368
9369         * emacs.c (main_1):  unconditional pdump unstomping; don't save and
9370         unstomp inhibit_site_lisp.  Improve comments.
9371
9372 2000-11-22  Stephen J. Turnbull  <turnbull@xemacs.org>
9373
9374         * mule-charset.c (Fcharset_property):  improve type checking, comments.
9375
9376 2000-11-28  Andy Piper  <andy@xemacs.org>
9377
9378         * redisplay-output.c (redisplay_output_subwindow): make sure we do
9379         clipped display for windows in the gutter also.
9380         (redisplay_display_boxes_in_window_p): change semantics of return
9381         codes to be more intuitive.
9382
9383         * gutter.h: declare display_boxes_in_gutter_p.
9384
9385         * gutter.c (display_boxes_in_gutter_p): new function for
9386         redisplay.
9387
9388 2000-11-22  Andy Piper  <andy@xemacs.org>
9389
9390         * glyphs-x.c (image_instantiator_format_create_glyphs_x): change
9391         autodetect domain.
9392
9393 2000-11-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
9394
9395         * callproc.c (Fold_call_process_internal):
9396         * gpm.c (Freceive_gpm_event):
9397         (tty_get_foreign_selection): Might be just warning supression.
9398         * fileio.c (Fwrite_region_internal):
9399         (Fset_visited_file_modtime):
9400         * keymap.c (event_matches_key_specifier_p):
9401         Initialize GCPROed variable.
9402
9403         * menubar-x.c (command_builder_find_menu_accelerator):
9404         Initialize before use.
9405
9406 2000-11-23  Andy Piper  <andy@xemacs.org>
9407
9408         * unexcw.c (unexec): make the resulting executable executable.
9409
9410 2000-11-21  Martin Buchholz  <martin@xemacs.org>
9411
9412         * doc.c (get_doc_string):
9413         Use size_t, not int, for result of XSTRING_LENGTH.
9414
9415         * cmds.c (Fdelete_char):
9416         * cmds.c (Fpoint_at_eol):
9417         * cmds.c (Fself_insert_command):
9418         Use EMACS_INT, not int, for result of XINT.
9419         Someday, someone will want to insert more than 2**31 identical characters.
9420
9421         * cmds.c (Fdelete_char):
9422         * cmds.c (Fdelete_backward_char):
9423         * syntax.c (Fforward_word):
9424         * syntax.c (Fforward_comment):
9425         Make COUNT argument optional, for consistency with forward-char et al.
9426
9427 2000-11-22  Martin Buchholz  <martin@xemacs.org>
9428
9429         * lisp.h:
9430         * print.c (long_to_string):
9431         Return a useful value: the pointer at end of data written.
9432
9433         * doprnt.c:
9434         Use `static const char * const' for constant strings.
9435         (union printf_arg): Delete `i', `ui' members.
9436         (get_doprnt_args):
9437         (emacs_doprnt_1):
9438         Fix LP64 platform bug: (format "%d" most-positive-fixnum) ==> "-1"
9439         Do all printf-ing via the `l' specifier.
9440         Use EMACS_INT instead of int.
9441         Optimize.
9442
9443 2000-11-20  Didier Verna  <didier@xemacs.org>
9444
9445         * faces.c (update_face_cachel_data): don't frob the background
9446         pixmap when the window is being created. The face is needed but
9447         does not exist yet.
9448
9449 2000-11-20  Andy Piper  <andy@xemacs.org>
9450
9451         * unexcw.c (copy_executable_and_dump_data_section): Only do bss
9452         messing with a debug environment.
9453
9454 2000-11-20  Martin Buchholz  <martin@xemacs.org>
9455
9456         * emacs.c (__sti__iflPNGFile_c___): Pedantically correct prototype.
9457
9458 2000-11-20  Martin Buchholz  <martin@xemacs.org>
9459
9460         * casetab.c (Fcase_table_p): Fix compile error and crash.
9461
9462 2000-11-18  Philip Aston  <philipa@mail.com>
9463
9464         * s/cygwin32.h: Cygwin has SVR4-like pty support.
9465
9466 2000-11-18  Martin Buchholz  <martin@xemacs.org>
9467
9468         * fileio.c (Fexpand_file_name): GCPRO bug!  Protect `handler'.
9469         * filelock.c (lock_file): GCPRO bug! Initialize all GCPROed vars!
9470
9471 2000-11-17  Martin Buchholz  <martin@xemacs.org>
9472
9473         * config.h.in: Define HAVE_ELF_H if elf.h exists.
9474         * unexelf.c: Use HAVE_ELF_H.
9475         * unexelfsgi.c: Fix bug with dumped xemacs stdout/stderr not working.
9476         I copied FSF Emacs 20.7 unexelf.c to unexelfsgi.c and ANSIfied it.
9477         Max Matveev <makc@sgi.com> removed non-SGI-relevant parts and tested.
9478         Greg Harrington <greg_harrington@hotmail.com> provided a machine
9479         for testing.
9480         So this is an unexelfsgi.c from a different line of development.
9481
9482 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
9483
9484         * regex.c (RE_TR_ASCII): New function.
9485         (RE_TRANSLATE): Call it.
9486
9487 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
9488
9489         * buffer.h (TRT_TABLE_OF): Remove assert.
9490         (IN_TRT_TABLE_DOMAIN): Removed.
9491
9492 2000-11-16  Gunnar Evermann  <ge204@eng.cam.ac.uk>
9493
9494         * free-hook.c (log_gcpro):
9495         (show_gcprohist): Add support for GCPRO5.
9496
9497 2000-11-08  Stephen J. Turnbull  <stephen@xemacs.org>
9498
9499         * emacs.c (main_1): Improve -sd error message when --pdump=no.
9500
9501 2000-11-16  Olivier Galibert  <galibert@xemacs.org>
9502
9503         * symeval.h: Declare flush_all_buffer_local_cache.
9504
9505         * symbols.c: Change XD_LO_RESET_NIL into XD_LISP_OBJECTs.
9506         (flush_buffer_local_cache): Added.
9507         (flush_all_buffer_local_cache): Added.
9508
9509         * lrecord.h: Remove unused XD_LO_RESET_NIL.
9510
9511         * dumper.c (pdump_register_sub): Remove unused XD_LO_RESET_NIL.
9512         (pdump_dump_data): Ditto.
9513         (pdump_reloc_one): Ditto.
9514         (pdump): Remove unused pdump_qnil.  Flush buffer local caches
9515         before dumping.
9516
9517
9518 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
9519
9520         * buffer.c: Remove if 0'ed entry.
9521         * buffer.h: Rewrite TRT to use char-table.
9522         * bufslots.h: Remove mirror tables.
9523         * casetab.c: Remove mirror tables.
9524         (CASE_TABLE_P): New macro.
9525         (Fcase_table_p): Element of a case table is string or char-table.
9526         (make_mirror_trt_table): Removed.
9527         (set_case_table): Setup char-table from strings for backward
9528         compatibility.
9529         * dired.c (Fdirectory_files):
9530         * dired-msw.c: (mswindows_get_files):
9531         * lisp.h: Change prototype of re_pattern_buffer.
9532         * regex.c: (RE_TRANSLATE): New macro.
9533         (TRANSLATE_P): Ditto.
9534         Change translate to type RE_TRANSLATE_TYPE.
9535         * regex.h: Define RE_TRANSLATE_TYPE
9536         * search.c (TRANSLATE): New macro.
9537         (TRANSLATE_ASCII): New macro.
9538         Translate table is changed to Lisp_Object.
9539         (signal_failure): Inhibit return.
9540
9541 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
9542
9543         * device-msw.c:
9544         * eldap.c:
9545         * event-Xt.c:
9546         * event-stream.c:
9547         * print.c:
9548         Do UNGCPRO before return.
9549
9550 2000-11-14  Martin Buchholz <martin@xemacs.org>
9551
9552         * XEmacs 21.2.37 is released.
9553
9554 2000-11-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
9555
9556         * fileio.c (Finsert_file_contents_internal): UNGCPRO before return.
9557         Add comments about discarded return value.
9558
9559 2000-11-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
9560
9561         * callint.c:
9562         * event-stream.c: Fix comments.  Remove some #if 0'ed part.
9563
9564 2000-10-27  Andy Piper  <andy@xemacs.org>
9565
9566         * gutter.c (Fset_default_gutter_position): default left and right
9567         gutters to visible.
9568         (calculate_gutter_size): calculate resonable heuristic for left
9569         and right gutter sizes.
9570         (specifier_vars_of_gutter): change left and right gutter sizes to
9571         autodetect.
9572         (calculate_gutter_size_from_display_lines): new function.
9573         (output_gutter): check for resizing on left and right gutters.
9574         (clear_gutter): don't special case top and left gutters.
9575         (specifier_vars_of_gutter): use new signature for
9576         set_specifier_caching.
9577
9578         * glyphs-x.c (x_redisplay_widget): spelling fix.
9579         * glyphs.c (specifier_vars_of_glyphs):
9580         * menubar.c (specifier_vars_of_menubar):
9581         * redisplay.c (specifier_vars_of_redisplay):
9582         * toolbar.c (specifier_vars_of_toolbar):
9583         * window.c (specifier_vars_of_window):
9584         * scrollbar.c (specifier_vars_of_scrollbar):
9585         (complex_vars_of_scrollbar): use new signature for
9586         set_specifier_caching.
9587
9588         * specifier.c (set_specifier_caching): include recompute flag.
9589         (recompute_one_cached_specifier_in_window): always recompute if
9590         flag set.
9591         (recompute_one_cached_specifier_in_frame): ditto.
9592
9593         * specifier.h (struct specifier_caching): add recompute flag.
9594
9595 2000-10-24  Andy Piper  <andy@xemacs.org>
9596
9597         * unexcw.c (copy_executable_and_dump_data_section): add new
9598         BSS_PAD_SIZE so that we can re-instate a mini-bss. This keeps gdb
9599         5.0 happy.
9600
9601 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
9602
9603         * console-x.h (x_device): New member modifier_release_time.
9604         * event-Xt.c (x_handle_sticky_modifiers):
9605         Bound interval modifier keys are sticky.
9606         * event-stream.c (Vmodifier_keys_sticky_time): New variable.
9607         * events.h: extern it.
9608
9609 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
9610
9611         * cmdloop.c (Fcommand_loop_1): Just add C-g to event queue.
9612
9613 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
9614
9615         * event-stream.c (execute_command_event): Preserve current_events
9616         and the like when event is misc-user-event.
9617         Inhibit quit during the call to maybe_echo_keys.
9618
9619 2000-10-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
9620
9621         * filelock.c (lock_buffer): Cope with kill-buffer. Don't create a
9622         symlink when buffer is killed.
9623         (inhibit_clash_detection): New variable.
9624
9625 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
9626
9627         * console.c (Fset_input_method): Trigger redisplay on tty.
9628
9629 2000-11-07  Martin Buchholz  <martin@xemacs.org>
9630
9631         * process.c (Fprocess_status): Revert to previous behavior:
9632         (process-status "nosuchprocess") ==> nil
9633
9634 2000-11-06  Martin Buchholz  <martin@xemacs.org>
9635
9636         * mule-charset.h (CHARSET_BY_LEADING_BYTE):
9637         Work around another GCC 2.95.2 optimizer bug.
9638
9639 2000-11-02  Martin Buchholz  <martin@xemacs.org>
9640
9641         * process.c (Fget_process): Use LIST_LOOP_2.
9642         (kill_buffer_processes): Use LIST_LOOP_2.
9643
9644         * minibuf.c (Fall_completions):
9645         Delete old non-functional code for FSF fourth argument.
9646
9647         * frame.c (frame_matches_frame_spec):
9648         Renamed from `frame_matches_frametype'.  Update all callers.
9649         (device_matches_device_spec):
9650         Renamed from 'device_matches_console_spec'.  Update all callers.
9651
9652         * doc.c (Fsubstitute_command_keys):
9653         Remove buffer overflow crash.  Small code cleanups.
9654
9655         * casetab.c (check_case_table): Simpler code.
9656
9657         * window.c (Freplace_buffer_in_windows):
9658         Give this the same WHICH-FRAMES and WHICH-DEVICES parameters
9659         (and similar implementation) as Fdelete_windows_on.
9660         Update all callers.
9661
9662         * alloc.c (Fmake_list):
9663         * alloc.c (make_vector):
9664         * alloc.c (Fmake_vector):
9665         * alloc.c (make_bit_vector):
9666         * alloc.c (Fmake_bit_vector):
9667         * alloc.c (Fbit_vector):
9668         * alloc.c (Fmake_string):
9669         * alloc.c (Fpurecopy):
9670         * alloc.c (Fmemory_limit):
9671         * buffer.c:
9672         * buffer.c (Fget_buffer):
9673         * buffer.c (Fkill_buffer):
9674         * buffer.c (complex_vars_of_buffer):
9675         * bytecode.c (Fcompiled_function_stack_depth):
9676         * callint.c (Fprefix_numeric_value):
9677         * event-stream.c:
9678         * event-stream.c (Fread_key_sequence):
9679         * casetab.c:
9680         * casetab.c (Fcase_table_p):
9681         * casetab.c (check_case_table):
9682         * casetab.c (Fset_case_table):
9683         * casetab.c (Fset_standard_case_table):
9684         * chartab.c:
9685         * chartab.c (Fchar_table_type):
9686         * chartab.c (Freset_char_table):
9687         * chartab.c (Fget_char_table):
9688         * chartab.c (Fget_range_char_table):
9689         * chartab.c (Fput_char_table):
9690         * chartab.c (Fmap_char_table):
9691         * chartab.c (Fcategory_table_p):
9692         * chartab.c (Fcheck_category_at):
9693         * chartab.c (Fchar_in_category_p):
9694         * chartab.c (Fcategory_table):
9695         * chartab.c (Fcopy_category_table):
9696         * chartab.c (Fset_category_table):
9697         * chartab.c (Fcategory_designator_p):
9698         * chartab.c (Fcategory_table_value_p):
9699         * cmds.c (Fdelete_char):
9700         * cmds.c (Fdelete_backward_char):
9701         * cmds.c (Fself_insert_command):
9702         * cmds.c (Fself_insert_internal):
9703         * console.c (Fvalid_console_type_p):
9704         * console.c (Fcdfw_console):
9705         * console.c (Fconsole_type):
9706         * console.c (Fconsole_name):
9707         * console.c (Fconsole_device_list):
9708         * console.c (Fconsole_on_window_system_p):
9709         * data.c:
9710         * data.c (Feq):
9711         * data.c (Fold_eq):
9712         * data.c (Fsubr_interactive):
9713         * data.c (Fchar_to_int):
9714         * data.c (Fint_to_char):
9715         * data.c (Fsetcar):
9716         * data.c (Fsetcdr):
9717         * data.c (Fnumber_to_string):
9718         * data.c (Fstring_to_number):
9719         * data.c (Frem):
9720         * database.c (mark_database):
9721         * database.c (finalize_database):
9722         * database.c (Fdatabase_live_p):
9723         * database.c (Fdatabasep):
9724         * device-x.c (Fx_get_resource):
9725         * device.c (Fdfw_device):
9726         * dired.c:
9727         * dired.c (Ffile_name_completion):
9728         * dired.c (Ffile_name_all_completions):
9729         * dired.c (Fuser_name_completion):
9730         * dired.c (Fuser_name_completion_1):
9731         * dired.c (Fuser_name_all_completions):
9732         * doc.c (Fdocumentation):
9733         * doc.c (Fdocumentation_property):
9734         * doc.c (Fsubstitute_command_keys):
9735         * editfns.c:
9736         * editfns.c (Fchar_to_string):
9737         * editfns.c (Fstring_to_char):
9738         * editfns.c (Ftemp_directory):
9739         * editfns.c (Finsert_char):
9740         * editfns.c (Fbuffer_substring_no_properties):
9741         * editfns.c (Fnarrow_to_region):
9742         * editfns.c (Fchar_equal):
9743         * editfns.c (Fchar_Equal):
9744         * editfns.c (Ftranspose_regions):
9745         * emacs.c (Fdump_emacs):
9746         * eval.c (Fthrow):
9747         * eval.c (Fcommand_execute):
9748         * eval.c (Fautoload):
9749         * eval.c (Fbacktrace):
9750         * eval.c (Fbacktrace_frame):
9751         * events.c:
9752         * events.c (Fcopy_event):
9753         * events.c (Fcharacter_to_event):
9754         * events.c (Fevent_button):
9755         * events.c (Fevent_process):
9756         * extents.c:
9757         * extents.c (Fnext_extent_change):
9758         * extents.c (Fextent_property):
9759         * faces.c (Ffacep):
9760         * faces.c (Fmake_face):
9761         * file-coding.c:
9762         * file-coding.c (Fencode_shift_jis_char):
9763         * file-coding.c (Fencode_big5_char):
9764         * fileio.c (Ffile_name_directory):
9765         * fileio.c (Ffile_name_nondirectory):
9766         * fileio.c (Ffile_name_as_directory):
9767         * fileio.c (Fdirectory_file_name):
9768         * fileio.c (Ffile_truename):
9769         * fileio.c (Fsubstitute_in_file_name):
9770         * fileio.c (Ffile_modes):
9771         * fileio.c (Fset_file_modes):
9772         * fileio.c (Fset_default_file_modes):
9773         * fileio.c (Fverify_visited_file_modtime):
9774         * floatfns.c (Facos):
9775         * floatfns.c (Fasin):
9776         * floatfns.c (Fatan):
9777         * floatfns.c (Fcos):
9778         * floatfns.c (Fsin):
9779         * floatfns.c (Ftan):
9780         * floatfns.c (Fbessel_j0):
9781         * floatfns.c (Fbessel_j1):
9782         * floatfns.c (Fbessel_jn):
9783         * floatfns.c (Fbessel_y0):
9784         * floatfns.c (Fbessel_y1):
9785         * floatfns.c (Fbessel_yn):
9786         * floatfns.c (Ferf):
9787         * floatfns.c (Ferfc):
9788         * floatfns.c (Flog_gamma):
9789         * floatfns.c (Fexp):
9790         * floatfns.c (Fexpt):
9791         * floatfns.c (Flog):
9792         * floatfns.c (Flog10):
9793         * floatfns.c (Fsqrt):
9794         * floatfns.c (Fcube_root):
9795         * floatfns.c (Facosh):
9796         * floatfns.c (Fasinh):
9797         * floatfns.c (Fatanh):
9798         * floatfns.c (Fcosh):
9799         * floatfns.c (Fsinh):
9800         * floatfns.c (Ftanh):
9801         * floatfns.c (Fabs):
9802         * floatfns.c (Ffloat):
9803         * floatfns.c (Flogb):
9804         * floatfns.c (Fceiling):
9805         * floatfns.c (Ffloor):
9806         * floatfns.c (Fround):
9807         * floatfns.c (Ftruncate):
9808         * floatfns.c (Ffceiling):
9809         * floatfns.c (Fffloor):
9810         * floatfns.c (Ffround):
9811         * floatfns.c (Fftruncate):
9812         * fns.c (Fstring_equal):
9813         * fns.c (Fstring_lessp):
9814         * fns.c (concat2):
9815         * fns.c (concat3):
9816         * fns.c (vconcat2):
9817         * fns.c (vconcat3):
9818         * fns.c (Fsubstring):
9819         * fns.c (Fassoc):
9820         * fns.c (Fold_assoc):
9821         * fns.c (assoc_no_quit):
9822         * fns.c (Fassq):
9823         * fns.c (Fold_assq):
9824         * fns.c (assq_no_quit):
9825         * fns.c (Frassoc):
9826         * fns.c (Fold_rassoc):
9827         * fns.c (Frassq):
9828         * fns.c (Fold_rassq):
9829         * fns.c (rassq_no_quit):
9830         * fns.c (Fremassoc):
9831         * fns.c (remassoc_no_quit):
9832         * fns.c (Fremassq):
9833         * fns.c (remassq_no_quit):
9834         * fns.c (Fremrassoc):
9835         * fns.c (Fremrassq):
9836         * fns.c (remrassq_no_quit):
9837         * fns.c (Fsort):
9838         * fns.c (Fplist_get):
9839         * fns.c (Fplist_put):
9840         * fns.c (Fplist_remprop):
9841         * fns.c (Fplist_member):
9842         * fns.c (Flax_plist_get):
9843         * fns.c (Flax_plist_put):
9844         * fns.c (Flax_plist_remprop):
9845         * fns.c (Flax_plist_member):
9846         * fns.c (Fequal):
9847         * fns.c (Fold_equal):
9848         * fns.c (Frequire):
9849         * fns.c (Fbase64_encode_region):
9850         * fns.c (Fbase64_encode_string):
9851         * fns.c (Fbase64_decode_region):
9852         * frame.c:
9853         * frame.c (frame_matches_frame_spec):
9854         * frame.c (device_matches_device_spec):
9855         * frame.c (next_frame):
9856         * frame.c (previous_frame):
9857         * frame.c (Fnext_frame):
9858         * frame.c (Fprevious_frame):
9859         * frame.c (Fframe_property):
9860         * frame.c (Fset_frame_height):
9861         * frame.c (Fset_frame_size):
9862         * frame.h:
9863         * glyphs.c:
9864         * glyphs.c (if):
9865         * glyphs.c (decode_error_behavior_flag):
9866         * glyphs.c (Fmake_image_instance):
9867         * indent.c (Findent_to):
9868         * intl.c (Fignore_defer_gettext):
9869         * keymap.c (Fkeymapp):
9870         * keymap.c (Flookup_key):
9871         * lread.c:
9872         * lread.c (Fload_internal):
9873         * lread.c (Feval_buffer):
9874         * lread.c (Feval_region):
9875         * macros.c (Fexecute_kbd_macro):
9876         * marker.c (set_marker_internal):
9877         * marker.c (Fset_marker):
9878         * marker.c (set_marker_restricted):
9879         * marker.c (Fcopy_marker):
9880         * marker.c (noseeum_copy_marker):
9881         * menubar.c:
9882         * menubar.c (Fpopup_menu):
9883         * minibuf.c:
9884         * mule-charset.c (Fcharset_name):
9885         * mule-charset.c (Fchar_charset):
9886         * mule-charset.c (Fchar_octet):
9887         * mule-charset.c (Fsplit_char):
9888         * mule-wnnfns.c (Fwnn_open):
9889         * mule-wnnfns.c (Fwnn_dict_comment):
9890         * mule-wnnfns.c (Fwnn_quit_henkan):
9891         * mule-wnnfns.c (Fwnn_word_toroku):
9892         * mule-wnnfns.c (Fwnn_word_sakujo):
9893         * mule-wnnfns.c (Fwnn_word_use):
9894         * mule-wnnfns.c (Fwnn_hindo_set):
9895         * objects.c:
9896         * objects.c (Fmake_color_instance):
9897         * objects.c (Fmake_font_instance):
9898         * print.c (Fwrite_char):
9899         * process.c:
9900         * process.c (mark_process):
9901         * process.c (print_process):
9902         * process.c (get_process_from_usid):
9903         * process.c (Fprocessp):
9904         * process.c (Fprocess_live_p):
9905         * process.c (Fget_process):
9906         * process.c (Fget_buffer_process):
9907         * process.c (get_process):
9908         * process.c (Fprocess_id):
9909         * process.c (Fprocess_name):
9910         * process.c (Fprocess_command):
9911         * process.c (init_process_io_handles):
9912         * process.c (start_process_unwind):
9913         * process.c (Fstart_process_internal):
9914         * process.c (Fopen_multicast_group_internal):
9915         * process.c (Fset_process_window_size):
9916         * process.c (read_process_output):
9917         * process.c (send_process):
9918         * process.c (Fprocess_tty_name):
9919         * process.c (Fset_process_buffer):
9920         * process.c (Fprocess_buffer):
9921         * process.c (Fprocess_mark):
9922         * process.c (set_process_filter):
9923         * process.c (Fset_process_filter):
9924         * process.c (Fprocess_filter):
9925         * process.c (Fprocess_send_region):
9926         * process.c (Fprocess_send_string):
9927         * process.c (exec_sentinel):
9928         * process.c (Fset_process_sentinel):
9929         * process.c (Fprocess_sentinel):
9930         * process.c (status_notify):
9931         * process.c (Fprocess_status):
9932         * process.c (Fprocess_exit_status):
9933         * process.c (process_send_signal):
9934         * process.c (Fprocess_send_eof):
9935         * process.c (deactivate_process):
9936         * process.c (remove_process):
9937         * process.c (Fdelete_process):
9938         * process.c (kill_buffer_processes):
9939         * process.c (Fprocess_kill_without_query):
9940         * process.c (Fprocess_kill_without_query_p):
9941         * rangetab.c:
9942         * rangetab.c (Fget_range_table):
9943         * rangetab.c (Fput_range_table):
9944         * rangetab.c (Fremove_range_table):
9945         * rangetab.c (Fclear_range_table):
9946         * search.c:
9947         * search.c (Fskip_chars_forward):
9948         * search.c (Fskip_chars_backward):
9949         * search.c (Fskip_syntax_forward):
9950         * search.c (Fskip_syntax_backward):
9951         * search.c (search_command):
9952         * search.c (Freplace_match):
9953         * search.c (Fregexp_quote):
9954         * select.c (Fown_selection_internal):
9955         * select.c (Fselection_owner_p):
9956         * select.c (Fselection_exists_p):
9957         * select.c (Fget_selection_internal):
9958         * specifier.c:
9959         * symbols.c:
9960         * symbols.c (Fintern):
9961         * symbols.c (Fintern_soft):
9962         * symbols.c (Funintern):
9963         * symbols.c (Fapropos_internal):
9964         * symbols.c (Fset_default):
9965         * syntax.c:
9966         * syntax.c (Fsyntax_table_p):
9967         * syntax.c (Fcopy_syntax_table):
9968         * syntax.c (Fset_syntax_table):
9969         * syntax.c (Fchar_syntax):
9970         * syntax.c (syntax_match):
9971         * syntax.c (Fmatching_paren):
9972         * syntax.c (Fforward_word):
9973         * syntax.c (scan_lists):
9974         * syntax.c (Fscan_lists):
9975         * syntax.c (Fscan_sexps):
9976         * syntax.c (Fparse_partial_sexp):
9977         * toolbar.c (Fcheck_toolbar_button_syntax):
9978         * tooltalk.doc:
9979         * window.c:
9980         * window.c (Fwindowp):
9981         * window.c (Fwindow_live_p):
9982         * window.c (Fwindow_point):
9983         * window.c (Fdelete_window):
9984         * window.c (Fnext_window):
9985         * window.c (Fprevious_window):
9986         * window.c (Fother_window):
9987         * window.c (window_loop):
9988         * window.c (Fget_lru_window):
9989         * window.c (Fsplit_window):
9990         * window.c (Fenlarge_window):
9991         * window.c (Fenlarge_window_pixels):
9992         * window.c (Fshrink_window):
9993         * window.c (Fshrink_window_pixels):
9994         * window.c (change_window_height):
9995         * window.c (Fwindow_configuration_p):
9996         * window.c (Fcurrent_window_configuration):
9997         * window.h:
9998         * casefiddle.c (casify_object):
9999         * casefiddle.c (Fupcase):
10000         * casefiddle.c (Fdowncase):
10001         * casefiddle.c (Fcapitalize):
10002         * casefiddle.c (Fupcase_initials):
10003         * casefiddle.c (casify_region_internal):
10004         * casefiddle.c (casify_region):
10005         * casefiddle.c (Fupcase_region):
10006         * casefiddle.c (Fdowncase_region):
10007         * casefiddle.c (Fcapitalize_region):
10008         * casefiddle.c (Fupcase_initials_region):
10009         * casefiddle.c (Fupcase_word):
10010         * casefiddle.c (Fdowncase_word):
10011         * casefiddle.c (Fcapitalize_word):
10012         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
10013         Replace 0 with '\0' when working with bytes.
10014         Replace initial "(" with "\(" in docstrings.
10015
10016 2000-11-01  Martin Buchholz  <martin@xemacs.org>
10017
10018         * config.h.in: Handle alloca with Compaq C on Alpha Linux.
10019
10020         * m/alpha.h: Let configure handle SYSTEM_MALLOC on Linux.
10021
10022 2000-10-31  Martin Buchholz  <martin@xemacs.org>
10023
10024         * eldap.c (print_ldap): 64-bit cleaner.  Fixes warning.
10025
10026 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
10027
10028         * doprnt.c (emacs_do_prnt_1): Format (format "%01.2d" 10)
10029         correctly.
10030
10031 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
10032
10033         * fileio.c (Vauto_save_list_file_prefix): Moved from startup.el.
10034         (inhibit_auto_save_session): New variable.
10035         (vars_of_fileio): Declare and initialize them.
10036         * fileio.c (Fdo_auto_save): Don't create session file if
10037         Vinhibit_auto_save_session or Vauto_save_list_file_prefix is non-nil.
10038
10039 2000-10-31  Martin Buchholz  <martin@xemacs.org>
10040
10041         * sgiplay.c (play_internal): C++ compilability.
10042         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Remove unused var `SFTB_prev'.
10043         * callproc.c (Fold_call_process_internal):
10044         Remove unused vars `env', `first'.
10045         * scrollbar.c (update_scrollbar_instance):
10046         #### unused var `current_window'.
10047         * redisplay-tty.c: Put currently unused vars insert_mode_on,
10048         etc. within #ifdef NOT_YET.
10049         * emacs.c: #### unused vars `initial_argc', `initial_argv'.
10050         * dialog-x.c (dbox_descriptor_to_widget_value): ### unused var `title'.
10051         * specifier.c (specifier_instance):
10052         #### unused var `tag'.
10053         Use WINDOW_BUFFER, FRAME_DEVICE instead of their expansion.
10054
10055 2000-10-27  Martin Buchholz  <martin@xemacs.org>
10056
10057         * fns.c (Fbutlast):
10058         * fns.c (list_sort):
10059         * fns.c (Ffillarray):
10060         * fns.c (bytecode_nconc2):
10061         * fns.c (Fnconc):
10062         * fns.c (mapcar1):
10063         * fns.c (Fmapconcat):
10064         Be pedantically 64-bit correct.  For the time when someone will
10065         want to have a list with length > 2**32.
10066
10067         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
10068         Work around MIPSpro compiler bug.
10069
10070         * process-unix.c (unix_kill_child_process): Add snarky comment.
10071         * process-unix.c (try_to_initialize_subtty):  Oops, `=' ==> `=='
10072
10073         * config.h.in: Oops, _getpt ==> _getpty
10074
10075 2000-10-26  Martin Buchholz  <martin@xemacs.org>
10076
10077         * config.h.in:
10078         * regex.c:
10079         Use void*, not char*, as return type of alloca().
10080
10081         * alloc.c (free_marker): Side effect inside assert expression!
10082
10083 2000-10-16  MIYASHITA Hisashi  <himi@m17n.org>
10084
10085         * mule-charset.c (Fset_charset_ccl_program): To check
10086         if the given ccl program is valid, use setup_ccl_program()
10087         instead of CHECK_VECTOR().
10088         (Fmake_charset): Likewise.
10089
10090 2000-10-20  Golubev I. N.  <gin@mo.msk.ru>
10091
10092         * faces.c (get_extent_fragment_face_cache_index):
10093         Fix cachel.merged_faces memory leak.
10094
10095 2000-10-14  MIYASHITA Hisashi  <himi@m17n.org>
10096
10097         * mule-ccl.c (ccl_driver)<CCL_DECODE_SJIS>:
10098         Reset MSB of octets obtained by DECODE_SJIS
10099         because of the incompatibility with Emacs.
10100         (ccl_driver)<CCL_ENCODE_SJIS>:
10101         Set MSB of octets before passing them to
10102         ENCODE_SJIS because of the incompatibility
10103         with Emacs.
10104
10105 2000-10-18   Daiki Ueno  <ueno@unixuser.org>
10106
10107         * lrecord.h (DECLARE_TYPECHECK_LRECORD): Abolish.
10108         (DECLARE_LRECORD): Undo the last change.
10109         (DECLARE_EXTERNAL_LRECORD): Expand typechecking stuff.
10110
10111 2000-10-17   Daiki Ueno  <ueno@unixuser.org>
10112
10113         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Connect
10114         the implementation to lrecord_implementations_table.
10115
10116 2000-10-14   Daiki Ueno  <ueno@unixuser.org>
10117
10118         * lrecord.h (MAKE_EXTERNAL_LRECORD_IMPLEMENTATION): Don't set the
10119         initial value of `lrecord_type_##c_name' and
10120         `lrecord_##c_name.lrecord_type_index'; discard "const" qualifier.
10121         (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): New macro.
10122         [ERROR_CHECK_TYPECHECK] (DECLARE_TYPECHECK_LRECORD): New macro.
10123         [ERROR_CHECK_TYPECHECK] (DECLARE_LRECORD): Use it.
10124         [ERROR_CHECK_TYPECHECK] (DECLARE_EXTERNAL_LRECORD): Use it.
10125
10126 2000-10-17  Martin Buchholz  <martin@xemacs.org>
10127
10128         * miscplay.c (sndcnv8S_2mono):
10129         (sndcnv2monounsigned):
10130         (sndcnvULaw_2linear):
10131         (sndcnv16swap):
10132         Remove implementation-defined behavior.
10133
10134 2000-10-12  Martin Buchholz  <martin@xemacs.org>
10135
10136         * input-method-xlib.c: Warning suppression.
10137
10138 2000-10-05  MIYASHITA Hisashi  <himi@m17n.org>
10139
10140         * mule-ccl.c: Sync up with Emacs 21.0.90.
10141         (ccl_driver)<CCL_TranslateCharacter>: Disabled.
10142         Do nothing.
10143         (ccl_driver)<CCL_TranslateCharacterConstTbl>:
10144         Likewise.
10145         (ccl_driver[WriteMultibyteChar2]): Bug fix.
10146         Use MAX_LEADING_BYTE_OFFICIAL_2 instead of
10147         MIN_LEADING_BYTE_OFFICIAL_2 to check whether the
10148         leading char belongs to official 2-dimensional charset.
10149         (CCL_WRITE_CHAR): When CCL_MODE_ENCODING,
10150         write the given character as is.  Otherwise,
10151         if it is a multibyte char, convert it by
10152         non_ascii_set_charptr_emchar, then write it.
10153         (CCL_WRITE_STRING): Likewise.
10154         (ccl_get_compiled_code): New function.
10155         (setup_ccl_program): When ccl_prog is invalid,
10156         return -1.
10157         (Fregister_code_conversion_map): New function.
10158         (syms_of_mule_ccl): defsubr Fregister_code_conversion_map.
10159
10160         * mule-ccl.h: Sync up with Emacs 21.0.90.
10161         (Fregister_ccl_program): export it.
10162
10163         * redisplay-msw.c (separate_textual_runs):
10164         If ccl program is not valid, don't do ccl conversion.
10165
10166         * redisplay-x.c (separate_textual_runs): Ditto.
10167
10168         * file-coding.c (Fmake_coding_system):
10169         When type is ccl and value is vector, register it
10170         with a proper symbol.  And checks whether the
10171         given ccl program is valid.
10172         (mule_decode): When calling ccl_driver, if src indicates
10173         NULL pointer, set an empty string instead.
10174         (mule_encode): Likewise.
10175
10176 2000-10-11  Martin Buchholz  <martin@xemacs.org>
10177
10178         The following large batch of changes gets us back to a state of
10179         C++ compilability.  Extbyte is now a char, which means that
10180         Extbyte * and Bufbyte * cannot be freely interchanged - a win!
10181
10182         * tooltalk.c (Fset_tooltalk_message_attribute): Type correctness.
10183
10184         * sound.c (Fplay_sound): Type correctness.
10185
10186         * select-x.c (hack_motif_clipboard_selection): Type correctness.
10187         (x_get_window_property): Type correctness.
10188         (receive_incremental_selection): unsigned char ==> Extbyte
10189         (selection_data_to_lisp_data): unsigned char ==> Extbyte
10190         (Fx_get_cutbuffer_internal): unsigned char ==> Extbyte
10191         (Fx_store_cutbuffer_internal): Type correctness.
10192
10193         * process-unix.c (try_to_initialize_subtty): Type correctness.
10194
10195         * objects-x.c (x_print_color_instance): Type correctness.
10196         (x_print_font_instance): Type correctness.
10197         (x_list_fonts): SExtbyte ==> Extbyte.
10198         (valid_x_font_name_p): SExtbyte ==> Extbyte.
10199         (x_find_charset_font): SExtbyte ==> Extbyte.
10200         Use TO_INTERNAL_FORMAT.  build_string ==> make_string.
10201         (truename_via_XListFonts): SExtbyte ==> Extbyte.
10202         (x_font_instance_properties): Use TO_INTERNAL_FORMAT.
10203         Use bufbyte_strcmp.
10204
10205         * mule-charset.h (LEADING_BYTE_PREFIX_P): unsigned char ==> Bufbyte
10206         (PRIVATE_LEADING_BYTE_PREFIX): Add paranoia cast.
10207         (BYTE_ASCII_P): Use bit ops for char-signedness safety.
10208         (BYTE_C0_P): Use bit ops for char-signedness safety.
10209         (BYTE_C1_P): Use bit ops for char-signedness safety.
10210         (CHARSET_BY_LEADING_BYTE):
10211         (CHARSET_BY_ATTRIBUTES):
10212         Always use inline function.
10213         Use type_checking_assert.
10214         Hide chlook.
10215
10216         * mule-charset.c (non_ascii_charptr_copy_char):
10217         Modify to work with both ASCII and non-ASCII characters.
10218         Improve docs and variable names.
10219         Replace over-clever fall-through switch with a simple loop.
10220         (Lstream_get_emchar_1):
10221         Replace over-clever fall-through switch with a simple loop.
10222
10223         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
10224         Warning suppression.
10225
10226         * lstream.h (Lstream_get_emchar): BYTE_ASCII_P cannot be used on
10227         the return value of Lstream_getc, which could be EOF as well.
10228
10229         * lstream.c (Lstream_raw_read): Now returns ssize_t, not int.
10230
10231         * lisp.h: Make Extbyte a char, not unsigned char, so that external
10232         APIs can be used on Extbytes without casts.  Risky!
10233         (SExtbyte): Remove.
10234         (UExtbyte): Remove.
10235
10236         * input-method-xlib.c (XIM_init_device):
10237         Use Xlib.h instead of IntrinsicP.h.
10238         Use HAVE_XREGISTERIMINSTANTIATECALLBACK instead of THIS_IS_X11R6,
10239         which will break in X11R7.
10240         Use XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE,
10241         to call XRegisterIMInstantiateCallback with correct types.
10242
10243         * gui-x.c (button_item_to_widget_value): Type correctness.
10244
10245         * glyphs.c (bitmap_to_lisp_data):  Type correctness.
10246
10247         * glyphs-x.c (pixmap_from_xbm_inline): Type correctness.
10248         (xbm_instantiate_1): Type correctness.
10249         (BUILD_GLYPH_INST):  Type correctness.
10250
10251         * fileio.c (Fsubstitute_in_file_name): Type correctness.
10252
10253         * file-coding.c:
10254         (decode_coding_sjis):
10255         (decode_coding_big5):
10256         (decode_coding_ucs4):
10257         (decode_coding_utf8):
10258         (decode_coding_iso2022):
10259         (decode_coding_no_conversion):
10260         Make all decoding functions take an Extbyte * arg.
10261         (encode_coding_sjis):
10262         (encode_coding_big5):
10263         (encode_coding_ucs4):
10264         (encode_coding_utf8):
10265         (encode_coding_iso2022):
10266         (encode_coding_no_conversion):
10267         Make all encoding functions take a Bufbyte * arg.
10268         Use size_t instead of unsigned int for memory sizes.
10269         Only cast to unsigned char whenever dereferencing Extbyte *.
10270
10271         * doc.c (unparesseuxify_doc_string): Type correctness.
10272
10273         * console-x.c (split_up_display_spec):
10274         Rewrite without using details of internal string representation.
10275         (x_semi_canonicalize_device_connection): Type correctness.
10276
10277         * config.h.in:
10278         (HAVE_XREGISTERIMINSTANTIATECALLBACK): New.
10279         (XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE): New.
10280         (HAVE_XFREE386): Removed.
10281
10282         * buffer.h (DEC_CHARPTR): `const' correctness.
10283         (bufbyte_strcmp): New.
10284         (bufbyte_memcmp): New.
10285
10286         * buffer.c (dfc_convert_to_internal_format): Extbyte ==> Bufbyte
10287
10288         * buffer.h (XCHAR_OR_CHAR_INT):
10289         Always use inline function.
10290         Remove redundant type checking assert() - XINT will abort quite nicely.
10291
10292 2000-10-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
10293
10294         * search.c (Freplace_match): Set newtext to an empty string.
10295
10296 2000-10-10  Martin Buchholz  <martin@xemacs.org>
10297
10298         * s/decosf1-3.h: Remove #include of stropts.h
10299         * s/ptx.h: Remove #include of stropts.h
10300         * s/usg5-4.h: Remove #include of stropts.h
10301         * sysproc.h:
10302         * config.h.in:
10303         Use stropts.h, not sys/stropts.h.
10304         Use strtio.h, not sys/strtio.h.
10305
10306 2000-10-04  Martin Buchholz <martin@xemacs.org>
10307
10308         * XEmacs 21.2.36 is released.
10309
10310 2000-09-21  Andy Piper  <andy@xemacs.org>
10311
10312         * glyphs-x.c (x_redisplay_widget): make sure non-structural
10313         changes still involve copying the widget tree.
10314         (update_widget_face): make sure a change is register in the widget
10315         tree. Call update_tab_widget_face appropriately.
10316         (update_tab_widget_face): ditto.
10317         (x_tab_control_redisplay): make sure non-structural changes still
10318         involve copying the widget tree.
10319
10320 2000-08-31   Daiki Ueno  <ueno@unixuser.org>
10321
10322         * lread.c (locate_file): Check the path element is non-nil.
10323
10324 2000-10-02  Martin Buchholz  <martin@xemacs.org>
10325
10326         * lisp.h: Warning suppression for SCO compilers.
10327
10328         * redisplay-tty.c (reset_tty_modes): Fix crash.
10329         E.g. from xemacs running on X: (delete-device (make-device 'tty nil))
10330
10331 2000-09-27  Martin Buchholz  <martin@xemacs.org>
10332
10333         Big signal/process handling overhaul.  Bugs fixed:
10334         M-x shell, type `sleep 10000', M-x comint-interrupt-subjob and
10335         M-x comint-kill-subjob should work for both values nil and t of
10336         process-connection-type. It was broken on most platforms.
10337         Testing on Irix and Cygwin still needed.  Other plaforms tested.
10338         * sysdep.c: Move #include of stropts.h into sysproc.h.  Use pid_t.
10339         * process-unix.c: Signal/Process handling overhaul.
10340         (pty_name): make 64 bytes, as `expect' does, for paranoia.
10341         (allocate_pty): Use all available modern methods of allocating
10342         ptys, falling back to old style BSD allocation as a last resort.
10343         Use allegedly more secure Unix98 pty allocation by default.
10344         (allocate_pty_the_old_fashioned_way): New. the last resort.
10345         (unix_create_process): Push ptem, ldterm, ttcompat where
10346         available.  Autoconfiscate.
10347         (try_to_initialize_subtty): New.
10348         (unix_kill_child_process): Proper signal handling for ptys on most
10349         platforms, using special knowledge of AIX, BSD, etc...
10350         (unix_create_process): Always disconnect_controlling_terminal() for
10351         subprocesses, whether using ptys or not.
10352         * process.h: Remove old getpt-dependent PTY code.
10353         * process.c (Fprocess_send_signal): New, obvious generic function.
10354         (decode_signal): New.
10355         (Finterrupt_process):
10356         (Fkill_process):
10357         (Fquit_process):
10358         (Fstop_process):
10359         (Fcontinue_process):
10360         (Fsignal_process): Use decode_signal.
10361         (process_send_signal):
10362         Many docstring corrections.
10363         Allow any signal to be sent to a process object.
10364         * config.h.in: Add symbols for big signal/process overhaul.
10365         * syssignal.h (EMACS_KILLPG): Use HAVE_KILLPG. Use `pid', not `gid'.
10366         * sysproc.h: Include process-related headers, where available:
10367         sys/stropts.h sys/strtio.h pty.h libutil.h
10368         * s/irix4-0.h:
10369         * s/irix5-0.h:
10370         * s/cygwin32.h:
10371         * s/gnu.h:
10372         * s/linux.h:
10373         * s/hpux.h:
10374         * s/aix3-1.h:
10375         Remove old S&M pty stuff.
10376         * console-tty.c (tty_init_console): Use pid_t, not int, for pids.
10377         * systty.h: Simplify cpp hackery, improve comments.
10378         Favor BSD ioctl(TIOCGPGRP) over Posix tcgetpgrp().
10379
10380         * editfns.c (Fformat_time_string):
10381         Be a little more paranoid with the return value of ctime.
10382
10383         * fileio.c (check_executable):
10384         (check_writable):
10385         Use symbolic constants X_OK, W_OK.
10386
10387         * console-x.c (split_up_display_spec): Fix a warning.
10388
10389 2000-10-02  Martin Buchholz  <martin@xemacs.org>
10390
10391         * gui-x.c (add_accel_and_to_external): strlen ==> XSTRING_LENGTH
10392         * ntproc.c (sys_spawnve): make_string ==> build_string
10393         Small clarity improvements.
10394
10395 2000-09-30  Martin Buchholz  <martin@xemacs.org>
10396
10397         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY): Warning removal.
10398
10399         * s/windowsnt.h (HAVE_STRCASECMP): Remove.
10400
10401         * config.h.in (HAVE_STRCASECMP): Remove.
10402
10403 2000-09-29  Martin Buchholz  <martin@xemacs.org>
10404
10405         * redisplay-output.c (redisplay_output_pixmap):
10406         Cleaner and possibly more 64-bit correct code.
10407
10408 2000-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
10409
10410         * dumper.c (pdump_load_finish): move restoration of
10411         `noninteractive1' to emacs.c (main_1).
10412         * emacs.c (main_1): protect LISP-visible command-line flags
10413         from pdump_load().
10414
10415 2000-09-26  Stephen J. Turnbull  <stephen@xemacs.org>
10416
10417         * Makefile.in.in (versionclean):  Use EXE_TARGET and
10418         DUMP_TARGET instead of literal program names.
10419
10420 2000-09-20  Martin Buchholz  <martin@xemacs.org>
10421
10422         * Makefile.in.in: Recent purify's require absolute paths for cache-dir.
10423
10424 2000-09-19  Martin Buchholz  <martin@xemacs.org>
10425
10426         * *: Spelling mega-patch
10427
10428 2000-09-19  Martin Buchholz  <martin@xemacs.org>
10429
10430         * fns.c (bad_bad_turtle):
10431         Delete "Eek!" comment, since we fixed the bug to which it refers.
10432
10433 2000-09-16  Martin Buchholz  <martin@xemacs.org>
10434
10435         * alloca.c: Replace REGISTER with register.
10436
10437 2000-09-16   Daiki Ueno  <ueno@unixuser.org>
10438
10439         * file-coding.c (ucs_to_char): Use countof.
10440
10441 2000-09-16  Martin Buchholz  <martin@xemacs.org>
10442
10443         * file-coding.c: (ucs_to_char):
10444         (complex_vars_of_file_coding):
10445         Use countof instead of sizeof.
10446         Use CHECK_NATNUM instead of CHECK_INT.
10447
10448         * sysdep.c (strcasecmp): Remove.
10449         * device-x.c (ascii_strcasecmp): New.
10450         * device-x.c (Fx_get_resource): Use ascii_strcasecmp.
10451         Avoid using non-standard non-portable strcasecmp.
10452
10453 2000-09-16  Martin Buchholz  <martin@xemacs.org>
10454
10455         * Makefile.in.in (mostlyclean): remove reference to prefix-args.
10456         * font-lock.c: remove reference to emacsfns.h.
10457         * search.c: small doc improvement.
10458         * event-Xt.c: correct file names in comments.
10459         * console-x.h Correct file names in comments.
10460         * frame.c: Correct file names in comments.
10461         * event-stream.c: remove Energize from comments.
10462
10463 2000-09-15  Martin Buchholz  <martin@xemacs.org>
10464
10465         * symeval.h (DEFERROR_STANDARD):
10466         (DEFERROR):
10467         (DEFSYMBOL):
10468         (DEFSYMBOL_NO_DUMP):
10469         (DEFSYMBOL_MULTIWORD_PREDICATE):
10470         (DEFSYMBOL_MULTIWORD_PREDICATE_NO_DUMP):
10471         (DEFKEYWORD):
10472         The construct &##name is not sensible C.
10473         Fixes compilation errors with Unixware native compiler.
10474
10475 2000-09-14  Martin Buchholz  <martin@xemacs.org>
10476
10477         * frame.c (device_matches_console_spec): no longer takes a `frame' arg
10478         (next_frame_internal): Removed.  We now just have next_frame.
10479         (next_frame):
10480         Write a simpler and cleaner one-pass algorithm.
10481         Remove called_from_delete_device arg and #ifdefed-out code.
10482         (previous_frame):
10483         Renamed from prev_frame.  Update callers.
10484         Cleaned up to have an analogous implementation to next_frame.
10485         (other_visible_frames_internal): Remove the
10486         called_from_delete_device bogus arg, and hence, remove this
10487         function.  Just use other_visible_frames().
10488
10489         * window.c (Fnext_window):
10490         Prettify docstring.
10491         Since next_frame() is guaranteed to return a frame, remove check
10492         for nil inserted in previous patch.
10493         (Fprevious_window):
10494         Prettify docstring.
10495         Make code look more like Fnext_window.
10496         (window_loop):
10497         Respect the `console' arg when iterating through windows.
10498         Fixes bug: (get-buffer-window buffer t device) not respecting
10499         the `device' arg.
10500         This function needs more work, as others have pointed out.
10501
10502         * frame.h: Rename prev_frame to previous_frame.
10503         device_matches_console_spec no longer takes a `frame' arg.
10504
10505         * s/gnu.h:
10506         * s/linux.h:
10507         * s/hpux.h:
10508         Use EMACS_BLOCK_SIGNAL instead of sigblock.
10509         From "Golubev I. N." <gin@mo.msk.ru>.
10510
10511         * make-src-depend: Fix typo.
10512
10513 2000-09-13  Martin Buchholz  <martin@xemacs.org>
10514
10515         * window.c (Fnext_window):
10516         next_frame() might return nil, not a frame.
10517         Fixes this crash:
10518         (gdb) run -eval '(progn  (make-device (quote x) "polgar:0") (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
10519
10520         * frame.c (next_frame_internal):
10521         We've passed a frame if we've passed its device.
10522         Fixes this crash:
10523         (gdb) run -eval '(progn (make-frame nil (make-device (quote x) "polgar:0")) (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
10524 Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245, RECORD_TYPEP (obj, lrecord_type_frame)
10525
10526 2000-09-11  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10527
10528         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
10529         Allow option to suppress accelerators in menu/dialog items.
10530         (populate_or_checksum_helper): Pass dialog title through above.
10531
10532 2000-09-10  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10533
10534         * event-msw.c (mswindows_key_to_emacs_keysym):
10535         Add "pause" key, fix "menu" key.
10536
10537 2000-09-09  Martin Buchholz  <martin@xemacs.org>
10538
10539         * eval.c (reinit_vars_of_eval):
10540         Increase max_lisp_eval_depth to 1000,
10541         required for thai-xtis.el to byte-compile under some circumstances.
10542
10543 2000-09-04  Martin Buchholz  <martin@xemacs.org>
10544
10545         * event-Xt.c (x_to_emacs_keysym): Increase size of `buffer' to 513.
10546         From Kenichi Handa.
10547
10548 2000-09-01  Martin Buchholz  <martin@xemacs.org>
10549
10550         * make-src-depend: Make the generated Makefiles smaller.
10551
10552         * s/hpux.h (SETUP_SLAVE_PTY):
10553         Provide a %d in the format string for the errno argument.
10554
10555         * editfns.c (Ftemp_directory):
10556         Warning fix.
10557         Avoid buffer overrun on very long file name.
10558
10559         * input-method-xlib.c (XIM_init_device):
10560         6th parameter of XRegisterIMInstantiateCallback has different
10561         pointer types on different OSes, so simply cast to (void *).
10562
10563         * unexhp9k800.c: Warning fixes.  Fiddly changes.
10564
10565         * sysdll.c (dll_open):
10566         shl_load will hang hard if passed a NULL filename.
10567         Simply return NULL for compatibility with dlopen.
10568         * sysdll.c: Conform to XEmacs coding standards.
10569
10570         * sysdep.c (get_pty_max_bytes):
10571         Support pty input lines longer than 512 bytes on HP-UX 10.20.
10572
10573 2000-08-31  Martin Buchholz  <martin@xemacs.org>
10574
10575         * tooltalk.c: Add #include <syssignal.h>
10576
10577 2000-08-12  Alexandre Oliva  <aoliva@redhat.com>
10578
10579         * s/hpux.h: Don't use undefined function sigunblock().
10580
10581 2000-08-31  Martin Buchholz  <martin@xemacs.org>
10582
10583         * config.h.in: Add HAVE_BALLOON_HELP.
10584         * emacs.c: Use HAVE_BALLOON_HELP.
10585         * Makefile.in.in (x_objs):
10586         Make Balloon Help conditional on finding shape.h.
10587
10588 2000-08-23  Yoshiki Hayashi  <yoshiki@xemacs.org>
10589
10590         * syntax.c (regex_emacs_buffer_p): New variable.
10591         * syntax.h (regex_emacs_buffer_p): extern.
10592         * search.c (looking_at_1):
10593         (string_match_1):
10594         (fast_string_match):
10595         (search_buffer): Set regex_emacs_buffer_p.
10596         * regex.c (re_match_2_internal): Reference regex_emacs_buffer_p
10597         when before_dot, at_dot, after_dot.
10598
10599 2000-08-23  Andy Piper  <andy@xemacs.org>
10600
10601         * gui-x.c (popup_selection_callback): Only set action_occurred
10602         when we really have an image instance.
10603         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
10604
10605 2000-08-23  Andy Piper  <andy@xemacs.org>
10606
10607         * gui-msw.c (mswindows_handle_gui_wm_command): set
10608         action_occurred.
10609         * gui-x.c (popup_selection_callback): ditto.
10610
10611         * glyphs.h (IMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): new accessor.
10612         (XIMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): ditto.
10613         (struct Lisp_Image_Instance): add action_occurred flag.
10614
10615         * glyphs.c (redisplay_subwindow): use action_occurred flag.
10616         (image_instance_changed): ditto.
10617         (reset_frame_subwindow_instance_cache): only unmap windows - do
10618         not remove them from the cache also.
10619
10620         * glyphs-widget.c (tab_control_update): better debug.
10621         (progress_gauge_update): ditto.
10622         (layout_update): ditto.
10623         (layout_instantiate): ditto.
10624         (tab_control_order_only_changed): cope with null pending items.
10625
10626         * glyphs-msw.c (mswindows_tab_control_redisplay): add better
10627         debug. Force selection of an item when an action occurred. Cope
10628         with null pending_items.
10629         (mswindows_progress_gauge_redisplay): better debug.
10630         * glyphs-x.c (x_tab_control_redisplay): ditto.
10631
10632         * redisplay.c (redisplay_frame): reset the frame cache if the
10633         frame is garbaged.
10634
10635         * window.c (Fset_window_configuration): potentially re-enable
10636         frame cache reset.
10637         (window_unmap_subwindows): need to finalize instances here since
10638         it is only used in mark_window_as_deleted.
10639
10640 2000-08-22  Stephen J. Turnbull  <stephen@xemacs.org>
10641
10642         * nas.c (SndOpenDataForReading):
10643         nas.c (WaveOpenDataForReading):
10644         nas.c (readChunk): {BIG,LITTLE}_ENDIAN -> NAS_{BIG,LITTLE}_ENDIAN.
10645         Somehow escaped from the 2000-08-14 patch.
10646
10647 2000-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
10648
10649         * nas.c:  Preprocessor trickery to use NAS_LITTLE_ENDIAN instead
10650         of LITTLE_ENDIAN (conflicts with glibc, at least) in NAS <= 1.2p5.
10651
10652 2000-08-21  Andy Piper  <andy@xemacs.org>
10653
10654         * glyphs-x.c (x_map_subwindow): Minor optimization - only map the
10655         window if it is not already displayed.
10656
10657         * glyphs-msw.c (mswindows_map_subwindow): only map the window if
10658         it is not already displayed.
10659
10660         * window.c (Fset_window_configuration): don't reset the frame
10661         cache.
10662
10663         * glyphs.c (unmap_subwindow_instance_cache_mapper): only remove
10664         instances from the frame cache if we are actually finalizing them.
10665         (reset_frame_subwindow_instance_cache): reset frame cache only
10666         after unmapping everything.
10667         (map_subwindow): set displayed flag after mapping.
10668
10669 2000-08-21  Martin Buchholz  <martin@xemacs.org>
10670
10671         * data.c (indirect_function):
10672         Rename ERRORP to non-misleading VOID_FUNCTION_ERRORP.
10673
10674         * eval.c (function_argcount):
10675         Use original function when signaling errors.
10676
10677 2000-08-18  Andy Piper  <andy@xemacs.org>
10678
10679         * frame.c (delete_frame_internal): use new
10680         free_frame_subwindow_instances name.
10681
10682         * glyphs-msw.c (mswindows_tab_control_instantiate): verify index.
10683         (add_tab_item): make return type correct.
10684         (mswindows_tab_control_instantiate): assert index of tab.
10685         (mswindows_tab_control_redisplay): Re-code to use
10686         gui_item_equal_sans_selected and gui_item_list_find_selected.
10687
10688         * glyphs-widget.c (tab_control_update): Correct comment.
10689
10690         * window.c (window_unmap_subwindows): use new
10691         unmap_subwindow_instance_cache_mapper.
10692         (window_unmap_subwindows_cache_mapper): deleted.
10693         (Fset_window_configuration): comparisons should now be with
10694         EQ. Preserve the subwindow instance cache across configuration
10695         changes.
10696         (allocate_window): ditto.
10697         (make_dummy_parent): ditto.
10698
10699         * glyphs.c (free_frame_subwindow_instances): rename from
10700         free_frame_subwindow_instance_cache. finalize all instances rather
10701         than just those in the display cache.
10702         (finalize_all_subwindow_instances): walk windows unmapping and
10703         finalizing subwindows.
10704         (unmap_subwindow_instance_cache_mapper): moved from
10705         window.c. Allow finalization as well as unmapping.
10706
10707         * gui.c (gui_item_list_find_selected): new function.
10708
10709         * gui.h (gui_item_list_find_selected): declare.
10710
10711         * glyphs-x.c (x_tab_control_redisplay): pick tab
10712         explicitly. Re-code to use gui_item_equal_sans_selected and
10713         gui_item_list_find_selected.
10714
10715         * glyphs-x.h: add lwlib-utils.h
10716
10717         * buffer.c (Frecord_buffer): undo previous change.
10718
10719 2000-08-09  Vin Shelton  <acs@xemacs.org>
10720
10721         * config.h.in, s/gnu.h, s/hpux.h, s/linux.h: Use UNIX98 PTYs if
10722         possible.  Create temporary files more securely.  The patch was
10723         generated by Torsten Duwe <duwe@caldera.de>, Florian Weimer
10724         <Florian.Weimer@RUS.Uni-Stuttgart.DE> and Olaf Kirch.  See
10725         http://www.xemacs.org/list-archives/xemacs-patches/200007/msg00123.html
10726         for details.
10727
10728 2000-08-07  Ben Wing  <ben@xemacs.org>
10729
10730         * getloadavg.c: remove duplicate (and windows-breaking)
10731         includes of fcntl.h and sys/file.h.
10732
10733         * nt.c: remove duplicate getloadavg() definition.
10734
10735         * sysdll.h (Qdll_filename_encoding): add missing stand-in
10736         encodings.
10737
10738 2000-08-07  Gunnar Evermann  <ge204@eng.cam.ac.uk>
10739
10740         * eval.c (function_argcount): If function needs to be autoloaded
10741         actually use the loaded definition.
10742         GCPRO function.
10743
10744 2000-08-05  Ben Wing  <ben@xemacs.org>
10745
10746         * getloadavg.c: add prototype for getloadavg().  remove
10747         duplicate WIN32_NATIVE/CYGWIN code (already in the middle
10748         of the code).  remove duplicate header includes.
10749
10750         * s\cygwin32.h, s\mingw32.h: remove stray NO_ARG_ARRAY.
10751
10752         * s\cygwin32.h, s\mingw32.h, m\windowsnt.h:
10753         don't define LOAD_AVE_TYPE/LOAD_AVE_CVT because we have no
10754         useful load average.
10755
10756         * alloc.c (reinit_alloc_once_early): removed references to
10757         VIRT_ADDR_VARIES, malloc_sbrk_used/free, and data-bytes-used/free.
10758         the lisp vars are the only things referencing the malloc_sbrk_*
10759         vars, and they were already if 0'd out.  these vars only exist
10760         in the older malloc.c, which is basically unused, and they're
10761         only for informational purposes.
10762
10763         * m\*.h: removed useless VIRT_ADDR_VARIES.
10764
10765         * m\powerpc.h: removed stray NO_ARG_ARRAY.
10766
10767 2000-04-26  IKEYAMA Tomonori  <tomonori@suiyokai.org>
10768
10769         * redisplay-msw.c (mswindows_output_dibitmap): Set foreground
10770         color if the image is a mono pixmap.
10771
10772 2000-07-30  Ben Wing  <ben@xemacs.org>
10773
10774         * Makefile.in.in (release):
10775         Remove stray @.
10776
10777         * buffer.c (directory_is_current_directory):
10778         * dired-msw.c (mswindows_get_files):
10779         * dired.c:
10780         * dired.c (Fdirectory_files):
10781         * dired.c (file_name_completion_stat):
10782         * dired.c (Ffile_attributes):
10783         [[[[1]]]]: Rename stat() -> xemacs_stat() and eliminate nasty
10784         preprocessor tricks, to avoid problems on some machines
10785         (e.g. SCO).
10786
10787         * callproc.c (egetenv): GC docs.
10788
10789         * console-msw.h:
10790         * console-msw.h (struct mswindows_dialog_id):
10791         * lrecord.h (lrecord_type):
10792         New object for use with MSW dialogs.
10793
10794         * console.h (struct console_methods):
10795         New enable/disable frame methods, for proper modal dialogs.
10796
10797         * device-msw.c (msprinter_default_printer): Fix to follow
10798         proper Mule conventions.
10799
10800         * device-msw.c:
10801         * device-msw.c (signal_open_printer_error):
10802         * device-msw.c (msprinter_init_device):
10803         * device-msw.c (ensure_not_printing):
10804         * device-msw.c (plist_get_margin):
10805         * device-msw.c (Fmsprinter_select_settings):
10806         * device-msw.c (finalize_devmode):
10807         * device-msw.c (Fmsprinter_settings_despecialize):
10808         * device-msw.c (signal_enum_priner_error):
10809         * extents.c (decode_extent):
10810         * extents.c (decode_map_extents_flags):
10811         * extents.c (decode_extent_at_flag):
10812         * extents.c (Fextent_at):
10813         * extents.c (Fextents_at):
10814         * extents.c (symbol_to_glyph_layout):
10815         [[[[2]]]] Use structured errors.
10816
10817         * dialog-msw.c:
10818         * dialog-msw.c (mswindows_is_dialog_msg):
10819         * dialog-msw.c (mark_mswindows_dialog_id):
10820         * dialog-msw.c (dialog_proc):
10821         * dialog-msw.c (handle_question_dialog_box):
10822         * dialog-msw.c (syms_of_dialog_mswindows):
10823         Define new object to clean up marking; use it as a dialog identifier.
10824         Call new delete-dialog-box-hook.
10825
10826         * dialog-x.c (dbox_selection_callback):
10827         * dialog-x.c (dbox_descriptor_to_widget_value):
10828         * dialog-x.c (x_make_dialog_box_internal):
10829         Call new delete-dialog-box-hook.
10830         Return an id.
10831
10832         * dialog.c:
10833         * dialog.c (syms_of_dialog):
10834         * dialog.c (vars_of_dialog):
10835         Define new delete-dialog-box-hook, for use w/modal dialog boxes.
10836
10837         * eval.c:
10838         * eval.c (signal_call_debugger):
10839         when noninteractive, output stack traces on the console instead
10840         of in a (never-seen) buffer.
10841
10842         * eval.c (signal_type_error):
10843         * eval.c (invalid_argument_2):
10844         * lisp.h:
10845         new funs for use w/structured errors.
10846
10847         * event-Xt.c:
10848         * event-Xt.c (x_to_emacs_keysym):
10849         * event-Xt.c (describe_event):
10850         * event-Xt.c (emacs_Xt_event_handler):
10851         * event-Xt.c (vars_of_event_Xt):
10852         * event-msw.c:
10853         * event-msw.c (mswindows_wnd_proc):
10854         * event-msw.c (vars_of_event_mswindows):
10855         rename {x,mswindows}-debug-events to debug-{}-events for
10856         consistency with other debug-foo variables.
10857
10858         * event-stream.c:
10859         document next-event more clearly.
10860
10861         * fileio.c (Ffile_name_directory):
10862         * fileio.c (Ffile_name_nondirectory):
10863         * fileio.c (Funhandled_file_name_directory):
10864         * fileio.c (file_name_as_directory):
10865         * fileio.c (Ffile_name_as_directory):
10866         * fileio.c (directory_file_name):
10867         * fileio.c (Fdirectory_file_name):
10868         * fileio.c (Fmake_temp_name):
10869         * fileio.c (Ffile_truename):
10870         * fileio.c (Fsubstitute_in_file_name):
10871         * fileio.c (expand_and_dir_to_file):
10872         * fileio.c (barf_or_query_if_file_exists):
10873         * fileio.c (check_executable):
10874         * fileio.c (Ffile_exists_p):
10875         * fileio.c (Ffile_writable_p):
10876         * fileio.c (Ffile_directory_p):
10877         * fileio.c (Ffile_regular_p):
10878         * fileio.c (Ffile_modes):
10879         * fileio.c (Ffile_newer_than_file_p):
10880         * fileio.c (Fverify_visited_file_modtime):
10881         * fileio.c (Fset_visited_file_modtime):
10882         * fileio.c (auto_save_1):
10883         (1). (2).
10884         fix up gcpro's.
10885
10886         * frame-msw.c:
10887         * frame-msw.c (mswindows_init_frame_1):
10888         * frame-msw.c (mswindows_enable_frame):
10889         * frame-msw.c (error_frame_unsizable):
10890         * frame-msw.c (msprinter_init_frame_1):
10891         * frame-msw.c (msprinter_init_frame_3):
10892         * frame-msw.c (console_type_create_frame_mswindows):
10893         (2).
10894         implement new enable/disable frame methods.
10895
10896         * frame-x.c:
10897         * frame-x.c (x_enable_frame):
10898         * frame-x.c (console_type_create_frame_x):
10899         implement new enable/disable frame methods.
10900
10901         * frame.c:
10902         * frame.c (Fdisable_frame):
10903         * frame.c (syms_of_frame):
10904         * frame.h (struct frame):
10905         implement new enable/disable frame methods/functions.
10906
10907         * general-slots.h:
10908         add initial-focus.
10909
10910         * glyphs-msw.c (mswindows_widget_instantiate):
10911         comment that initial-focus should be implemented.
10912
10913         * glyphs-widget.c:
10914         * glyphs-widget.c (check_valid_instantiator):
10915         * glyphs-widget.c (check_valid_orientation):
10916         * glyphs-widget.c (check_valid_tab_orientation):
10917         * glyphs-widget.c (check_valid_justification):
10918         * glyphs-widget.c (check_valid_border):
10919         * glyphs-widget.c (check_valid_callback):
10920         * glyphs-widget.c (check_valid_int_or_function):
10921         * glyphs-widget.c (check_valid_string_or_vector):
10922         * glyphs-widget.c (check_valid_item_list_1):
10923         * glyphs-widget.c (widget_validate):
10924         * glyphs-widget.c (combo_box_validate):
10925         * glyphs-widget.c (widget_instantiate):
10926         * glyphs-widget.c (syms_of_glyphs_widget):
10927         * glyphs-widget.c (VALID_WIDGET_KEYWORDS):
10928         * glyphs-widget.c (image_instantiator_combo_box):
10929         * glyphs-widget.c (image_instantiator_scrollbar):
10930         * glyphs-widget.c (image_instantiator_tab_control):
10931         * glyphs-widget.c (VALID_LAYOUT_KEYWORDS):
10932         (2).
10933         support (unimplemented) keyword initial-focus.
10934         reindent long macros.
10935
10936         * glyphs-x.c (x_redisplay_widget):
10937         * glyphs-x.c (x_button_instantiate):
10938         * glyphs-x.c (x_button_redisplay):
10939         * glyphs-x.c (x_progress_gauge_instantiate):
10940         * glyphs-x.c (x_edit_field_instantiate):
10941         * glyphs-x.c (x_combo_box_instantiate):
10942         * glyphs-x.c (x_tab_control_instantiate):
10943         * glyphs-x.c (x_label_instantiate):
10944         * gui-x.c:
10945         * gui-x.c (button_item_to_widget_value):
10946         * gui-x.c (gui_items_to_widget_values_1):
10947         * gui-x.c (gui_item_children_to_widget_values):
10948         * gui-x.c (gui_items_to_widget_values):
10949         * gui-x.h:
10950         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
10951         add new flag to gui-parsing routines to indicate whether
10952         accelerator specs should be supported.
10953
10954         * glyphs.c (syms_of_glyphs): use DEFSYMBOL.
10955
10956         * glyphs.h (struct Lisp_Image_Instance):
10957         * glyphs.h (IMAGE_INSTANCE_WANTS_INITIAL_FOCUS):
10958         add initial-focus flag.
10959
10960         * gui.c:
10961         * gui.c (syms_of_gui):
10962         * gui.c (vars_of_gui):
10963         clean up menu-no-selection-hook.
10964
10965         * gui.h:
10966         support delete-dialog-box-hook.
10967
10968         * lread.c (Fload_internal):
10969         * lread.c (locate_file_in_directory_mapper):
10970         (1).
10971
10972         * lrecord.h:
10973         * lrecord.h (struct toolbar_button):
10974         * lrecord.h (syms_of_toolbar):
10975         document how to create a new object.
10976
10977         * menubar-msw.c (mswindows_char_is_accelerator):
10978         may be called on frames w/o menus.
10979
10980         * menubar.c (vars_of_menubar):
10981         clean up :filter docs.
10982
10983         * nt.c (readdir):
10984         * ntproc.c:
10985         (1).
10986
10987         * process-nt.c:
10988         * process-nt.c (validate_signal_number):
10989         * process-nt.c (signal_cannot_launch):
10990         * process-nt.c (nt_create_process):
10991         * process-nt.c (nt_send_process):
10992         * process-nt.c (nt_kill_child_process):
10993         * process-nt.c (nt_open_network_stream):
10994         * process-nt.c (syms_of_process_nt):
10995         (2).
10996         delete quote-handling.  call new lisp code that does it better.
10997
10998         * process-unix.c (connect_to_file_descriptor):
10999         * process-unix.c (allocate_pty):
11000         * process-unix.c (unix_send_process):
11001         * process-unix.c (unix_kill_child_process):
11002         * process-unix.c (unix_open_network_stream):
11003         * process-unix.c (unix_open_multicast_group):
11004         (1). (2).
11005
11006         * process.c:
11007         * process.c (Fstart_process_internal):
11008         (2).  need to canonicalize process path even if absolute.
11009
11010         * select-msw.c (symbol_to_ms_cf):
11011         * select-msw.c (ms_cf_to_symbol):
11012         * select-msw.c (cf_is_autofreed):
11013         * select-msw.c (mswindows_destroy_selection):
11014         * select.c:
11015         * select.c (syms_of_select):
11016         * select.h:
11017         support dibv5, fix bugs. (from Mike Alexander)
11018
11019         * select.c (Fget_selection_internal):
11020         * select.c (select_convert_out):
11021
11022         * sysdep.c:
11023         * sysdep.c (xemacs_stat):
11024         renamed.
11025
11026         * sysdep.c (mkdir):
11027         * sysdep.c (rmdir):
11028         but keep original stat() here because we provide encapsulation
11029         around these funs.
11030
11031         * sysfile.h:
11032         * sysfile.h (fstat):
11033         remove stat garbage.
11034
11035         * syswindows.h:
11036         fix X/MSW conflict.
11037         don't include tchar.h.  it's inappropriate because it makes
11038         compile-time distinctions when we want runtime distinctions.
11039         (we provide our own tchar replacements)
11040
11041         * toolbar.c:
11042         use default object printer for toolbar-button.
11043
11044         * unexcw.c:
11045         make sure we don't encapsulate.
11046
11047         * window.c (vars_of_window):
11048         emphasize that temp-buffer-show-hook is obsolete.
11049
11050 2000-08-05  Martin Buchholz  <martin@xemacs.org>
11051
11052         * glyphs.c (image_instance_hash): HASH2 wants EMACS_INT args.
11053         (Fimage_instance_subwindow_id): make_int wants EMACS_INT arg.
11054
11055         * events.c (Fevent_timestamp_lessp):
11056         Not 64-bit clean.  Use EMACS_INT, not int.
11057
11058 2000-06-05  Andrew Begel <abegel@cs.berkeley.edu>
11059
11060         * lrecord.h (lrecord_types): Changed lrecord_type_count to an
11061         unsigned int and changed the last enum to
11062         lrecord_type_last_built_in_type.
11063         (lrecord_implementations_table): changed prototype to know how
11064         long the array is supposed to be.
11065         (lrecord_type_count): new unsigned int to keep track of the
11066         current number of lisp lrecord types.
11067         (DEFINE_EXTERNAL_LRECORD):
11068         (DECLARE_EXTERNAL_LRECORD): Added these two for external
11069         dynamic-modules to declare new lisp types. They are the same
11070         as the non-EXTERNAL forms, but declare an lrecord_type unsigned
11071         int for each new type, and increment lrecord_type_count by 1.
11072
11073         * alloc.c (lrecord_implementations_table): Changed to reference
11074         lrecord_type_last_built_in_type for the size of the array.
11075         Moved MODULE_DEFINABLE_TYPE_COUNT to lrecord.h.
11076
11077 2000-08-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
11078
11079         * glyphs.h (check_valid_item_list): Renamed from
11080         check_valid_item_list_1.
11081
11082 2000-08-01 Alastair J. Houghton <ajhoughton@lineone.net>
11083
11084         * select.c (Qselect_coerce): New.
11085         * select.c (Vselection_coercion_alist): New.
11086         * select.c (syms_of_select): Declare.
11087         * select.c (get-selection-internal): Use it.
11088         Use the new select-coerce functionality.
11089
11090         * select.c (select_coerce): New.
11091         * select.h (select_coerce): Declare.
11092         New function to coerce one type of data into another.
11093
11094 2000-08-03  Martin Buchholz  <martin@xemacs.org>
11095
11096         * callproc.c (Fcall_process_internal):
11097         (Fcall_process_internal):
11098         * process-unix.c (unix_create_process):
11099         Save and restore the value of errno, so that error messages are accurate.
11100
11101 2000-08-01  Martin Buchholz  <martin@xemacs.org>
11102
11103         * elhash.c (print_hash_table):
11104         Fix printing of hash tables to also use `key-and-value' instead of `t'.
11105         Prettify docstrings and indentation.
11106
11107 2000-07-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
11108
11109         * window.c (Fwindow_pixel_edges): Subtract frame border and
11110         gutter size.
11111
11112 2000-07-31  Andy Piper  <andy@xemacs.org>
11113
11114         * buffer.c (Frecord_buffer): make absolutely sure that redisplay
11115         will acknowledge the change.
11116
11117         * glyphs.h: declare tab_control_order_only_changed.
11118
11119         * glyphs-x.c (x_tab_control_redisplay): use
11120         tab_control_order_only_changed.
11121
11122         * glyphs-widget.c (tab_control_order_only_changed): new function.
11123
11124         * glyphs-msw.c (mswindows_tab_control_redisplay): use
11125         tab_control_order_only_changed.
11126
11127         * gui.c (gui_item_equal_sans_selected): new function.
11128         (gui_item_equal): use it.
11129
11130         * glyphs-msw.c (mswindows_combo_box_instantiate): deprecate
11131         :properties in favor of :items..
11132
11133         * glyphs-widget.c (check_valid_item_list): rename from
11134         check_valid_item_list_1.
11135         (check_valid_item_list_1): renamed.
11136         (combo_box_validate): deprecate :properties in favor of :items.
11137         (widget_instantiate): ditto.
11138         (tab_control_update): ditto.
11139         (image_instantiator_combo_box): ditto.
11140         (image_instantiator_tree_view): ditto.
11141         (image_instantiator_tab_control): ditto.
11142         (layout_post_instantiate): remove dead code.
11143
11144         * print.c (debug_print_no_newline): only write to debugger if in
11145         WIN32_NATIVE.
11146
11147         * elhash.c (Fmake_hash_table): update doc string.
11148
11149         * event-msw.c (mswindows_wnd_proc): don't allow processing of
11150         messages whilst in GC. This at least stops XEmacs crashing but has
11151         the potential for wierd behaviour.
11152
11153 2000-07-31  Martin Buchholz  <martin@xemacs.org>
11154
11155         * config.h.in:
11156         Make existence of s&m files optional.
11157
11158         * s/bsd386.h: Remove HAVE_GETLOADAVG.
11159         * s/freebsd.h: Remove HAVE_GETLOADAVG.
11160         * s/gnu.h: Remove HAVE_GETLOADAVG.
11161         * s/netbsd.h: Remove HAVE_GETLOADAVG.
11162         * s/sol2.h: Remove HAVE_GETLOADAVG.
11163         * lisp.h: Remove getloadavg() declaration.
11164         * fns.c:
11165         Include <sys/loadavg.h> if available.
11166         Don't declare our own getloadavg() if HAVE_GETLOADAVG.
11167         * config.h.in:  Group together getloadavg()-related macros.
11168         Use only configure-time tests to detect getloadavg().
11169
11170 2000-07-30  Martin Buchholz  <martin@xemacs.org>
11171
11172         * Makefile.in.in (TransientEmacsShell.o): Fix race condition.
11173
11174 2000-07-25  Andy Piper  <andy@xemacs.org>
11175
11176         * syswindows.h: add tchar.h for native builds.
11177
11178         * frame.c (syms_of_frame): remove set-glyph-image.
11179
11180         * general-slots.h: add Qset_glyph_image.
11181
11182         * glyphs-widget.c (layout_update): add domain arg to
11183         set-glyph-image.
11184         (syms_of_glyphs_widget): remove set-glyph-image.
11185
11186 2000-07-23  Ben Wing  <ben@xemacs.org>
11187
11188         * dialog-msw.c (vars_of_dialog_mswindows): need to staticpro
11189         Vpopup_frame_list.
11190
11191 2000-07-22  Andy Piper  <andy@xemacs.org>
11192
11193         * symsinit.h: add syms_of_win32().
11194
11195         * gui-msw.c (syms_of_gui_mswindows): remove
11196         Fmswindows_shell_execute.
11197         (Fmswindows_shell_execute): moved to win32.c.
11198
11199         * emacs.c (main_1): add syms_of_win32 ().
11200
11201         * win32.c (init_potentially_nonexistent_functions): rewrite in
11202         compiler-friendly terms.
11203         (Fmswindows_shell_execute): move here from gui-msw.c.
11204         (syms_of_win32): new.
11205
11206         * device-msw.c (Fmswindows_printer_list): clean up args to
11207         EnumPrinters.
11208         Don't include tchar under cygwin or mingw.
11209         (msprinter_default_printer): make cygwin-friendly.
11210
11211 2000-07-21  Andy Piper  <andy@xemacs.org>
11212
11213         * glyphs-widget.c (image_instantiator_tree_view): use tab
11214         control's update function.
11215         (layout_property): new function. Retrieve items.
11216
11217         * glyphs-msw.c (mswindows_tree_view_redisplay): new
11218         function. Re-populate the tree view from the pending items.
11219
11220         * glyphs.c (instantiate_image_instantiator): Make sure the domain
11221         is designated the parent if the domain is an image instance. This
11222         is needed so that dirtiness can be cascade up the hierarchy and
11223         thus for layout children to be redisplayed correctly.
11224         (allocate_image_instance): rename glyph -> parent.
11225
11226         * redisplay.h: change redisplay_output_layout signature.
11227
11228         * redisplay-msw.c (mswindows_output_display_block): use domain
11229         arg.
11230
11231         * redisplay-x.c (x_output_display_block): use domain arg.
11232
11233 2000-07-10  Andy Piper  <andy@xemacs.org>
11234
11235         * window.c (Fset_window_configuration): add comment.
11236
11237         * redisplay-output.c (compare_runes):
11238         (redisplay_output_subwindow): redisplay rather than update subwindow.
11239         (redisplay_output_layout): ditto.
11240
11241         * redisplay-msw.c (mswindows_frame_output_end):
11242         (mswindows_frame_output_end): make defer window pos optional.
11243
11244         * lisp.h: add Flast.
11245
11246         * glyphs.h (struct image_instantiator_methods): add dest_mask top
11247         normalize method. Change update method to be for changed
11248         instantiators. Add redisplay method. Change signature of layout
11249         method.
11250         (struct Lisp_Image_Instance): add instantiator.
11251         (IMAGE_INSTANCE_INSTANTIATOR): new.
11252         (IMAGE_INSTANCE_SUBWINDOW_FACE): new.
11253         (XIMAGE_INSTANCE_INSTANTIATOR): new.
11254         (XIMAGE_INSTANCE_SUBWINDOW_FACE): new.
11255
11256         * glyphs.c:
11257         (find_instantiator_differences): new function.
11258         (Fset_instantiator_property): new convenience function.
11259         (check_image_instance_structure): strictly check for vector
11260         instantiators.
11261         (normalize_image_instantiator): make non-static.
11262         (instantiate_image_instantiator): pass on dest_mask and use new
11263         signatures for image_instance_layout and friends.
11264         (mark_image_instance): mark the instantiator. Mark the subwindow
11265         face not the widget face.
11266         (image_instance_equal): add instantiator.
11267         (image_instance_hash): ditto.
11268         (allocate_image_instance): ditto.
11269         (Fset_image_instance_property): removed.
11270         (Fimage_instance_file_name): ditto.
11271         (Fcolorize_image_instance): ditto.
11272         (image_instance_layout): add offsets to be set.
11273         (update_image_instance): new function. update an image instance
11274         from its changed instantiator.
11275         (inherit_normalize): add dest_mask.
11276         (xbm_normalize): ditto.
11277         (xface_normalize): ditto.
11278         (xpm_normalize): ditto.
11279         (text_update): set_property -> update.
11280         (image_instantiate): use the glyph identity as a hash key, not the
11281         instantiator.
11282         (glyph_width): use new image_instance_layout signature.
11283         (glyph_ascent): ditto.
11284         (glyph_descent): ditto.
11285         (glyph_height): ditto.
11286         (glyph_query_geometry): ressurrect.
11287         (glyph_layout): ditto.
11288         (redisplay_subwindow): update -> redisplay.
11289         (syms_of_glyphs): add Fset_instantiator_property.
11290         (image_instantiator_format_create): set_property -> update.
11291
11292         * glyphs-x.c:
11293         (autodetect_normalize): add dest_maks to signature.
11294         (x_redisplay_subwindow): update -> redisplay.
11295         (x_redisplay_widget): ditto.
11296         (x_button_redisplay): ditto.
11297         (x_progress_gauge_redisplay): ditto.
11298         (x_tab_control_redisplay): ditto. Rewrite to cope with changed
11299         stacking order.
11300         (console_type_create_glyphs_x): update -> redisplay.
11301         (image_instantiator_format_create_glyphs_x): ditto.
11302
11303         * glyphs-widget.c:
11304         (check_valid_instantiator): disallow glyphs in the instantiator,
11305         they must now be vectors.
11306         (check_valid_instantiator_list): ditto.
11307         (glyph_instantiator_to_glyph): use internal symbol rather than
11308         intern.
11309         (widget_update): renamed from widget_set_property. Call cascaded
11310         update methods.
11311         (redisplay_widget): renamed from update_widget.
11312         (widget_layout): image_instance_layout now takes position as well
11313         as size.
11314         (widget_normalize): ditto.
11315         (widget_instantiate): ditto.
11316         (tab_control_query_geometry) ditto.:
11317         (tab_control_update): renamed from tab_control_set_property.
11318         (progress_gauge_update): set_property -> update.
11319         (layout_normalize): rewrite so that child instantiators are
11320         normalized also.
11321         (layout_update): new function. Create glyphs from the normalized
11322         children and cope with any other layout keywords. We do not
11323         instantiate children here that will be take care of by
11324         redisplay_output_layout.
11325         (layout_instantiate): call layout_update and not much else.
11326         (layout_post_instantiate): not sure whether this is needed
11327         anymore.
11328         (layout_query_geometry): query glyph geometry rather than
11329         image_instance geometry.
11330         (layout_layout): set offsets from pass in parameters. Use glyph
11331         geometry and layout functions rather than image instance ones.
11332         (native_layout_layout): ditto.
11333         (syms_of_glyphs_widget): add make-glyph and set-glyph-image.
11334         (image_instantiator_widget): set_property -> update.
11335         (image_instantiator_buttons): ditto.
11336         (image_instantiator_progress_guage): ditto.
11337         (image_instantiator_tab_control): ditto.
11338         (VALID_LAYOUT_KEYWORDS): instantiators must now be vectors.
11339         (image_instantiator_layout): add update method.
11340
11341         * glyphs-msw.c (bmp_normalize):
11342         (mswindows_resource_normalize): add dest_mask so that it can be
11343         proprogated by layout_normalize.
11344         (begin_defer_window_pos): make optional because it may not be the
11345         right thing to do and it introduces differences with X.
11346         (mswindows_unmap_subwindow): ditto.
11347         (mswindows_map_subwindow): ditto.
11348         (mswindows_redisplay_subwindow): renamed from
11349         mswindows_update_subwindow.
11350         (mswindows_redisplay_widget): ditto.
11351         (mswindows_button_redisplay): renamed from
11352         mswindows_button_update. Update is now what the instantiation
11353         function does for a changed instantiator.
11354         (mswindows_progress_gauge_instantiate): set the progress value
11355         here if appropriate.
11356         (mswindows_tab_control_redisplay): cope with re-ordering of the
11357         members of the tab widget by simply selecting the new top
11358         widget. This makes things appear ok if you click on a tab.
11359         (mswindows_combo_box_instantiate): image_instance_layout now takes
11360         position as well as size.
11361         (mswindows_progress_gauge_redisplay): renamed from
11362         mswindows_progress_gauge_update.
11363         (console_type_create_glyphs_mswindows): fix update -> redisplay.
11364         (image_instantiator_format_create_glyphs_mswindows): ditto.
11365
11366         * glyphs-eimage.c (jpeg_normalize):
11367         (gif_normalize):
11368         (png_normalize):
11369         (tiff_normalize): add dest_mask so that it can be proprogated by
11370         layout_normalize.
11371
11372         * elhash.c:
11373         (print_hash_table):
11374         (hash_table_weakness_validate):
11375         (decode_hash_table_weakness):
11376         (Fhash_table_weakness):
11377         (Fhash_table_type):
11378         (syms_of_elhash): use Ben's naming scheme for hashtable types..
11379
11380         * console.h (struct console_methods): move update_* to
11381         redisplay_*.
11382
11383 2000-07-20  Ben Wing  <ben@xemacs.org>
11384
11385         * *.[ch] (XSETOBJ): remove unused middle argument.
11386         lisp-disunion.h: correct wrap_object() to one argument.
11387
11388 2000-07-15  Ben Wing  <ben@xemacs.org>
11389
11390         * s/cygwin32.h:
11391         * s/cygwin32.h (CYGWIN_CONV_PATH):
11392         Add missing logb prototype for v1.1.
11393         Use post-b20 names and alias to pre-b20 names when pre-b20.
11394
11395         * s/windowsnt.h: [5].
11396
11397 2000-07-15  Ben Wing  <ben@xemacs.org>
11398
11399         * Makefile.in.in (x_objs):
11400         * Makefile.in.in (sheap_objs):
11401         * Makefile.in.in (objs):
11402         added win32.o, cosmetic cleanups.
11403
11404         * alloc.c (Fmake_byte_code):
11405         [[[1]]]: Changes for new LIST_LOOP, EXTERNAL_LIST_LOOP,
11406         etc. macros which declare their own args now.
11407
11408         * alloc.c (syms_of_alloc):
11409         [[[2]]]: Use DEFSYMBOL, DEFKEYWORD, DEFERROR and friends.
11410
11411         * buffer.c:
11412         Moved buffer-dedicated-frame, set-buffer-dedicated-frame into lisp.
11413
11414         * buffer.c (Fget_file_buffer):
11415         Fixed GCPRO problem.
11416
11417         * buffer.c (get_truename_buffer):
11418         Fixed comment about GC checking.
11419
11420         * buffer.c (syms_of_buffer):
11421         Undeclared those dedicated frame funs.
11422         [2].
11423
11424         * buffer.h:
11425         Define convenience macros for internal/external conversions.
11426         [[[3]]]: Define codesys aliases Qcommand_argument_encoding
11427         and Qenvironment_variable_encoding for cleaner code.
11428
11429         * bufslots.h:
11430         Remove dedicated-frame; in lisp.
11431
11432         * bytecode.c (funcall_compiled_function):
11433         [1].
11434
11435         * bytecode.c (syms_of_bytecode):
11436         [2].
11437
11438         * console-msw.c:
11439         * console-msw.c (mswindows_show_console): Rewrote.
11440
11441         * console-msw.c (Fmswindows_debugging_output): New.
11442         Sends to OutputDebugString (special MSWin debugger interface).
11443
11444         * console-msw.c (Fmswindows_message_box):
11445         Fixed stupid bugs so it works when called from kill-emacs.
11446
11447         * console-msw.c (syms_of_console_mswindows):
11448         Declare Fmswindows_debugging_output.
11449
11450         * console-msw.h:
11451         New MSWin prototypes.
11452
11453         * console-msw.h (struct mswindows_frame):
11454         New entry last-click-mods for improved button-modifier support.
11455
11456         * console-msw.h (FRAME_MSWINDOWS_POPUP):
11457         New struct entry `popup' with corresponding accessor.
11458
11459         * console-x.c:
11460         * console-x.c (split_up_display_spec):
11461         * console-x.c (get_display_arg_connection):
11462         * console-x.c (x_semi_canonicalize_console_connection):
11463         * console-x.c (x_canonicalize_device_connection):
11464         [[[6]]]: Change char to more specific type.
11465         [[[8]]]: Make use of abstracting codesys aliases defined in [3], [4];
11466
11467         * console-x.c (x_semi_canonicalize_console_connection):
11468         * console-x.c (x_canonicalize_device_connection):
11469         [[[9]]]: Fix up error signalling to use new structured error system.
11470
11471         * console-x.h:
11472         [[[4]]]: Define codesys aliases:
11473         Qlwlib_encoding, Qx_atom_name_encoding, Qx_font_name_encoding,
11474         Qx_color_name_encoding, Qx_display_name_encoding.
11475
11476         * console.h (struct console_methods):
11477         New method make_dialog_box_internal supersedes older
11478         popup_dialog_box method.
11479
11480         * data.c:
11481         Define many new errors, part of new structured errors.
11482
11483         * data.c (init_errors_once_early):
11484         * data.c (syms_of_data):
11485         [2].
11486
11487         * device-msw.c (mswindows_init_device):
11488         [[[5]]]: Cleanup to support NT 3.51.
11489
11490         * device-msw.c (decode_devmode): Cleanup.
11491
11492         * device-msw.c (mswindows_handle_print_setup_dialog_box):
11493         * device-msw.c (mswindows_handle_print_dialog_box):
11494         * device-msw.c (mswindows_handle_page_setup_dialog_box):
11495         * device-msw.c (syms_of_device_mswindows):
11496         Delete the dialog box primitives recently introduced by Kirill and
11497         instead interface to general dialog box interface.
11498
11499         * device-x.c:
11500         * device-x.c (compute_x_app_name):
11501         * device-x.c (x_init_device):
11502         * device-x.c (Fx_valid_keysym_name_p):
11503         * device-x.c (Fx_set_font_path):
11504         [6].
11505         [7].
11506
11507         * device.h (wrap_device): New.
11508         First of its kind; meant to replace XSETDEVICE.
11509
11510         * dialog-msw.c: Many file-dialog symbols.
11511
11512         * dialog-msw.c (mswindows_register_popup_frame): New.
11513         * dialog-msw.c (mswindows_is_dialog_msg): New.
11514         For supporting kbd traversal in dialog boxes.
11515
11516         * dialog-msw.c (dialog_proc):
11517         Support hitting ESC in dialogs.
11518
11519         * dialog-msw.c (struct):
11520         Common dialog box errors.
11521
11522         * dialog-msw.c (handle_file_dialog_box): New.
11523         Add file dialog code.
11524
11525         * dialog-msw.c (handle_question_dialog_box):
11526         Redo existing code to support new question dialog syntax.
11527
11528         * dialog-msw.c (console_type_create_dialog_mswindows):
11529         We support new dialog console method.
11530
11531         * dialog-msw.c (syms_of_dialog_mswindows):
11532         * dialog-msw.c (vars_of_dialog_mswindows):
11533         New file dialog symbols, vars.
11534
11535         * dialog-x.c:
11536         * dialog-x.c (maybe_run_dbox_text_callback):
11537         * dialog-x.c (dbox_descriptor_to_widget_value):
11538         * dialog-x.c (x_make_dialog_box_internal):
11539         * dialog-x.c (console_type_create_dialog_x):
11540         Mule-ize entire file.
11541         Redo to support question dialog syntax.
11542         [6].
11543
11544         * dialog.c:
11545         * dialog.c (Fmake_dialog_box_internal):
11546         * dialog.c (syms_of_dialog):
11547         Kill old popup-dialog-box, replace with new primitive.
11548         Just call device method or signal error.
11549
11550         * eldap.c (Fldap_open):
11551         * eldap.c (Fldap_search_basic):
11552         * eldap.c (Fldap_add):
11553         * eldap.c (Fldap_modify):
11554         [1].
11555         [7].
11556
11557         * emacs.c:
11558         * emacs.c (make_arg_list_1):
11559         * emacs.c (make_arg_list):
11560         Mule-ize call to dll_init().
11561         [6].
11562         [8].
11563
11564         * emacs.c (make_argc_argv):
11565         * emacs.c (free_argc_argv):
11566         * emacs.c (init_cmdargs):
11567         * emacs.c (main_1):
11568         * emacs.c (Fkill_emacs):
11569         * emacs.c (Fdump_emacs):
11570         Update comments about what can be used in syms_* etc.
11571         Call init_win32() when necessary.
11572         Fix up MS Win dialog box in kill-buffer to actually work right.
11573         [7].
11574
11575         * eval.c:
11576         * eval.c (For):
11577         * eval.c (Fand):
11578         * eval.c (Fprogn):
11579         * eval.c (Fprog1):
11580         * eval.c (Fprog2):
11581         * eval.c (FletX):
11582         * eval.c (Flet):
11583         * eval.c (condition_case_3):
11584         * eval.c (Feval):
11585         * eval.c (function_argcount):
11586         * eval.c (funcall_lambda):
11587         [1].
11588
11589         * eval.c (type_error): New.
11590         * eval.c (maybe_type_error): New.
11591         * eval.c (continuable_type_error): New.
11592         * eval.c (maybe_continuable_type_error): New.
11593         * eval.c (type_error_with_frob): New.
11594         * eval.c (maybe_type_error_with_frob): New.
11595         * eval.c (continuable_type_error_with_frob): New.
11596         * eval.c (maybe_continuable_type_error_with_frob): New.
11597         New functions for use with structured errors.
11598
11599         * event-Xt.c:
11600         * event-Xt.c (x_event_to_emacs_event):
11601         Buttons are now modifiers too.
11602
11603         * event-Xt.c (emacs_Xt_current_event_timestamp):
11604         Implement new event method.
11605         * event-Xt.c (reinit_vars_of_event_Xt): Set it.
11606
11607         * event-msw.c:
11608         * event-msw.c (ntpipe_shove_writer): [5].
11609         * event-msw.c (mswindows_enqueue_mouse_button_event):
11610         * event-msw.c (mswindows_drain_windows_queue):
11611         * event-msw.c (mswindows_wnd_proc): [7].
11612         * event-msw.c (mswindows_current_layout_has_AltGr): [5].
11613         * event-msw.c (mswindows_modifier_state):
11614         Throughout: support new button modifiers.
11615
11616         * event-msw.c (emacs_mswindows_current_event_timestamp):
11617         Implement new event method.
11618         * event-msw.c (reinit_vars_of_event_mswindows): Set it.
11619
11620         * event-stream.c:
11621         * event-stream.c (event_stream_current_event_timestamp): New.
11622         * event-stream.c (maybe_kbd_translate): New functionality.
11623         * event-stream.c (vars_of_event_stream):
11624         Document new kbd-translate-table functionality.
11625
11626         * event-stream.c (Fcurrent_event_timestamp): New.
11627         New primitive for use in fabricated events.
11628         * event-stream.c (syms_of_event_stream): [2]. Declare new primitive.
11629
11630         * events-mod.h (XEMACS_MOD_BUTTON1): new button modifiers.
11631
11632         * events.c:
11633         * events.c (Fmake_event):
11634         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY):
11635         [1].
11636         [9].
11637
11638         * events.c (format_event_object): fix gcc warnings.
11639
11640         * events.c (Fevent_timestamp): Document new primitives.
11641
11642         * events.c (TIMESTAMP_HALFSPACE): New.
11643
11644         * events.c (Fevent_timestamp_lessp): New.  New primitive for
11645         comparing timestamps correctly (half-space algorithm).
11646
11647         * events.c (Fevent_modifier_bits): Doc fix.
11648
11649         * events.c (Fevent_modifiers): Major doc addition.
11650         * events.c (event_x_y_pixel_internal): Typo fix.
11651         * events.c (syms_of_events): Declare new primitives.
11652
11653         * events.h:
11654         Update long comment for button modifiers, timestamps.
11655
11656         * events.h (struct event_stream):
11657         New current_event_timestamp method.
11658
11659         * extents.c:
11660         * extents.c (extent_in_region_p):
11661         * extents.c (decode_extent):
11662         * extents.c (Fset_extent_parent):
11663         * extents.c (decode_map_extents_flags):
11664         Fix gcc warnings.
11665         [9].
11666
11667         * extents.c (struct extent_at_arg):
11668         * extents.c (decode_extent_at_flag):
11669         * extents.c (extent_at_mapper):
11670         * extents.c (extent_at_bytind):
11671         * extents.c (Fextent_at): Adapt to new lower-level interface. [9].
11672         * extents.c (Fextents_at): New primitive. [9].
11673         * extents.c (symbol_to_glyph_layout): [9].
11674         Support new primitive `extents-at'.
11675
11676
11677         * extents.c (get_text_property_bytind):
11678         extent_at_bytind has another arg.
11679         [9].
11680
11681         * extents.c (syms_of_extents): New primitive.
11682
11683         * file-coding.c (Fmake_coding_system): [1].
11684         * file-coding.c (subsidiary_coding_system): fix gcc warning
11685         * file-coding.c (syms_of_file_coding): [2].
11686
11687         * fileio.c (Fexpand_file_name):
11688         * fileio.c (Fsysnetunam):
11689         * fileio.c (Ffile_exists_p):
11690         * fileio.c (Ffile_executable_p):
11691         * fileio.c (Fverify_visited_file_modtime):
11692         Clean up GCPROing.
11693
11694         * fileio.c (syms_of_fileio): [2].
11695
11696         * filelock.c (lock_file_1):
11697         * filelock.c (current_lock_owner):
11698         * filelock.c (lock_if_free):
11699         * filelock.c (lock_file):
11700         * filelock.c (unlock_file):
11701         Clean up GCPROing.
11702
11703         * fns.c (concat): Fix gcc warning.
11704
11705         * fns.c (Fmember):
11706         * fns.c (Fold_member):
11707         * fns.c (Fmemq):
11708         * fns.c (Fold_memq):
11709         * fns.c (memq_no_quit):
11710         * fns.c (Fassoc):
11711         * fns.c (Fold_assoc):
11712         * fns.c (Fassq):
11713         * fns.c (Fold_assq):
11714         * fns.c (assq_no_quit):
11715         * fns.c (Frassoc):
11716         * fns.c (Fold_rassoc):
11717         * fns.c (Frassq):
11718         * fns.c (Fold_rassq):
11719         * fns.c (rassq_no_quit):
11720         * fns.c (Fdelete):
11721         * fns.c (Fold_delete):
11722         * fns.c (Fdelq):
11723         * fns.c (Fold_delq):
11724         * fns.c (delq_no_quit):
11725         * fns.c (Fremassoc):
11726         * fns.c (Fremassq):
11727         * fns.c (remassq_no_quit):
11728         * fns.c (Fremrassoc):
11729         * fns.c (Fremrassq):
11730         * fns.c (remrassq_no_quit):
11731         * fns.c (Freverse):
11732         * fns.c (mapcar1):
11733         [1].
11734
11735         * frame-msw.c (mswindows_init_frame_1):
11736         * frame-msw.c (mswindows_delete_frame):
11737         Register popups with dialog code so keyboard traversing works.
11738
11739         * frame-tty.c (tty_raise_frame_no_select): [1].
11740
11741         * frame-x.c:
11742         * frame-x.c (x_set_frame_text_value):
11743         * frame-x.c (x_set_frame_properties):
11744         * frame-x.c (x_create_widgets):
11745         [7].
11746
11747         * frame.c:
11748         * frame.c (Fmouse_pixel_position): Minor doc fixes.
11749
11750         * frame.h (wrap_frame): New.
11751         Macro like wrap_device.
11752
11753         * general.c:
11754         * general.c (SYMBOL):
11755         * general.c (syms_of_general):
11756         Major reorg.  This is now just a wrapper and symbols themselves
11757         are listed in general-slots.h.
11758
11759         * glyphs-eimage.c (tiff_instantiate): Need cast to fix warning.
11760         * glyphs-msw.c (mswindows_resource_instantiate): [5].
11761
11762         * glyphs-msw.c (mswindows_native_layout_instantiate):
11763         Add DS_CONTROL so keyboard traversal will work.
11764
11765         * glyphs-widget.c:
11766         * glyphs-widget.c (syms_of_glyphs_widget):
11767         Move some symbols to general-slots.h.
11768
11769         * glyphs-x.c:
11770         * glyphs-x.c (xbm_instantiate_1):
11771         * glyphs-x.c (x_xbm_instantiate):
11772         * glyphs-x.c (x_xface_instantiate):
11773         * glyphs-x.c (autodetect_instantiate):
11774         * glyphs-x.c (cursor_font_instantiate):
11775         * glyphs-x.c (x_update_widget):
11776         * glyphs-x.c (x_widget_instantiate):
11777         * glyphs.c (bitmap_to_lisp_data):
11778         * glyphs.c (pixmap_to_lisp_data):
11779         [7].
11780
11781         * glyphs.c (syms_of_glyphs):
11782         [2].
11783
11784         * gui-x.c:
11785         * gui-x.c (print_widget_value):
11786         * gui-x.c (menu_separator_style_and_to_external):
11787         * gui-x.c (add_accel_and_to_external):
11788         * gui-x.c (button_item_to_widget_value):
11789         * gui-x.c (gui_items_to_widget_values_1):
11790         * gui-x.c (gui_items_to_widget_values):
11791         * gui-x.c (syms_of_gui_x):
11792         * gui-x.c (vars_of_gui_x):
11793         Mule-ize entire file.  Move menu-no-selection-hook to gui.c.
11794         [9].
11795
11796         * gui-x.h:
11797         Muleize, prototype changes matching gui-x.c.
11798
11799         * gui.c:
11800         * gui.c (separator_string_p):
11801         * gui.c (gui_item_add_keyval_pair):
11802         * gui.c (make_gui_item_from_keywords_internal):
11803         * gui.c (signal_too_long_error):
11804         * gui.c (parse_gui_item_tree_item):
11805         * gui.c (syms_of_gui):
11806         * gui.c (vars_of_gui):
11807         * gui.h:
11808         menu-no-selection-hook moved here (used by MSWin).
11809         Move some symbols to general-slots.h.
11810         [6].
11811         [9].
11812
11813         * insdel.c (get_buffer_pos_char):
11814         * insdel.c (get_buffer_range_char):
11815         Add GC comments.
11816
11817         * keymap.c (keymap_lookup_directly):
11818         * keymap.c (keymap_store):
11819         * keymap.c (ensure_meta_prefix_char_keymapp):
11820         * keymap.c (describe_map):
11821         * keymap.h:
11822         Support new button modifiers.
11823
11824         * lisp-disunion.h (wrap_object):
11825         * lisp-disunion.h (XSETOBJ):
11826         Rename make_obj to wrap_object.
11827
11828         * lisp-union.h:
11829         * lisp-union.h (make_int):
11830         * lisp-union.h (make_char):
11831         Support wrap_object.
11832
11833         * lisp.h:
11834         * lisp.h (LIST_LOOP):
11835         * lisp.h (EXTERNAL_LIST_LOOP):
11836         * lisp.h (LIST_LOOP_2):
11837         * lisp.h (EXTERNAL_LIST_LOOP_1):
11838         * lisp.h (EXTERNAL_LIST_LOOP_2):
11839         * lisp.h (EXTERNAL_LIST_LOOP_3):
11840         * lisp.h (EXTERNAL_LIST_LOOP_4_NO_DECLARE):
11841         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
11842         * lisp.h (GET_EXTERNAL_LIST_LENGTH):
11843         * lisp.h (EXTERNAL_ALIST_LOOP_5):
11844         * lisp.h (EXTERNAL_ALIST_LOOP_6):
11845         * lisp.h (EXTERNAL_ALIST_LOOP_6_NO_DECLARE):
11846         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_5_NO_DECLARE):
11847         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_7):
11848         * lisp.h (struct Lisp_Symbol):
11849         * lisp.h (maybe_continuable_error_with_frob):
11850         Fix up section comments.
11851         Add new types for char to indicate usage.
11852         Delete symbols auto-generated from general-slots.h.
11853         Add prototypes for structured error functions.
11854         Add long comments describing looping macros and change interface
11855         so that lvalues are automatically declared.
11856         Add NO_DECLARE macro in case callers want to declare lvalues
11857         themselves.
11858
11859         * lread.c (read_syntax_error):
11860         * lread.c (continuable_read_syntax_error):
11861         * lread.c (read_structure):
11862         * lread.c (sequence_reader):
11863         * lread.c (read_list_conser):
11864         * lread.c (read_compiled_function):
11865         Rename syntax_error and continuable_syntax_error to avoid clash
11866         with same-named structured error functions.
11867
11868         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
11869         * menubar-msw.c (populate_menu_add_item):
11870         * menubar-msw.c (populate_or_checksum_helper):
11871         [5].
11872         [9].
11873
11874         * menubar-x.c:
11875         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
11876         Mule-ize whole file.
11877
11878         * menubar.c (Fnormalize_menu_item_name): Add optimization.
11879
11880         * mule-charset.c (Fmake_charset):
11881         * mule-wnnfns.c (Fwnn_set_param):
11882         [1].
11883
11884         * ntproc.c (create_child):
11885         * ntproc.c (Fwin32_set_current_locale):
11886         Add comments portending doom.
11887
11888         * objects-msw.c:
11889         * objects-msw.c (old_font_enum_callback_2):
11890         * objects-msw.c (font_enum_callback_1):
11891         * objects-msw.c (mswindows_enumerate_fonts):
11892         [5].
11893
11894         * objects-x.c:
11895         * objects-x.c (allocate_nearest_color):
11896         * objects-x.c (x_parse_nearest_color):
11897         * objects-x.c (x_initialize_color_instance):
11898         * objects-x.c (x_print_color_instance):
11899         * objects-x.c (x_finalize_color_instance):
11900         * objects-x.c (x_valid_color_name_p):
11901         * objects-x.c (x_initialize_font_instance):
11902         * objects-x.c (x_print_font_instance):
11903         * objects-x.c (valid_x_font_name_p):
11904         * objects-x.c (truename_via_FONT_prop):
11905         * objects-x.c (truename_via_random_props):
11906         * objects-x.c (truename_via_XListFonts):
11907         * objects-x.c (x_font_truename):
11908         * objects-x.c (x_font_instance_truename):
11909         * objects-x.c (x_font_instance_properties):
11910         * objects-x.c (x_list_fonts):
11911         * objects-x.c (x_find_charset_font):
11912         Mule-ize entire file.
11913         [7].
11914
11915         * objects-x.h:
11916         Mule-verify.
11917
11918         * print.c:
11919         * print.c (std_handle_out_external):
11920         * print.c (debug_print_no_newline):
11921         * print.c (syms_of_print):
11922         Output to all debugger kinds in debug-print.
11923         Fix console-output code under MSWin to actually work.
11924
11925         * process-nt.c (send_signal):
11926         * process-nt.c (nt_create_process):
11927         Use newer Unicode macros.
11928
11929         * process-unix.c (unix_create_process):
11930         * process-unix.c (unix_canonicalize_host_name):
11931         * process-unix.c (unix_open_network_stream):
11932         [7].
11933
11934         * scrollbar-x.c:
11935         Mule-verify.
11936
11937         * search.c (syms_of_search):
11938         [2].
11939
11940         * select-msw.c (mswindows_destroy_selection):
11941         Use LIST_LOOP_2.
11942
11943         * select-x.c (symbol_to_x_atom):
11944         [7].
11945
11946         * select.c (syms_of_select):
11947         [2].
11948
11949         * sound.c (Fplay_sound_file):
11950         [7].
11951
11952         * specifier.c:
11953         * specifier.c (decode_specifier_type):
11954         * specifier.c (Fvalid_specifier_locale_type_p):
11955         * specifier.c (check_valid_locale_or_locale_type):
11956         * specifier.c (decode_locale):
11957         * specifier.c (decode_locale_type):
11958         * specifier.c (decode_locale_list):
11959         * specifier.c (check_valid_domain):
11960         * specifier.c (decode_specifier_tag_set):
11961         * specifier.c (Fcanonicalize_tag_set):
11962         * specifier.c (Fdefine_specifier_tag):
11963         * specifier.c (Fspecifier_tag_predicate):
11964         * specifier.c (check_valid_inst_list):
11965         * specifier.c (check_valid_spec_list):
11966         * specifier.c (decode_how_to_add_specification):
11967         * specifier.c (check_modifiable_specifier):
11968         * specifier.c (specifier_add_spec):
11969         * specifier.c (boolean_validate):
11970         * specifier.c (display_table_validate):
11971         [9].
11972
11973         * specifier.c (syms_of_specifier):
11974         Move some symbols to general-slots.h.
11975         [2].
11976
11977         * symbols.c:
11978         * symbols.c (Fmapatoms):
11979         * symbols.c (Fapropos_internal):
11980         Add GCPROs.
11981
11982         * symbols.c (set_default_buffer_slot_variable):
11983         * symbols.c (set_default_console_slot_variable):
11984         [1].
11985
11986         * symbols.c (defsymbol_massage_name_1):
11987         * symbols.c (defkeyword_massage_name):
11988         * symbols.c (deferror_1):
11989         * symbols.c (deferror):
11990         * symbols.c (deferror_massage_name_and_message):
11991         * symeval.h:
11992         * symeval.h (DEFSYMBOL):
11993         Support DEFSYMBOL*, DEFKEYWORD, DEFERROR
11994
11995         * symbols.c (syms_of_symbols):
11996         [2].
11997
11998         * symsinit.h:
11999         * symsinit.h (init_win32): New.
12000         Also new is syms_of_dialog_mswindows.
12001
12002         * syswindows.h:
12003         Add new Unicode macros, missing Cygwin wide-char functions,
12004         convenience conversion macros for Qmswindows_tstr, macros for
12005         encapsulating required MSWin <-> Cygwin filename conversions,
12006         prototype for dynamically-extracted (not in NT 3.51) functions.
12007
12008         * toolbar-x.c:
12009         Mule-verify.
12010
12011         * tooltalk.c (Fadd_tooltalk_message_arg):
12012         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
12013         * tooltalk.c (Fadd_tooltalk_pattern_arg):
12014         [7].
12015
12016         * tooltalk.c (syms_of_tooltalk):
12017         [2].
12018
12019         * unexnt.c:
12020         * unexnt.c (unexec):
12021         Fix up headers, declaration of unexec() to be more standard.
12022
12023 2000-07-20  Martin Buchholz  <martin@xemacs.org>
12024
12025         * offix.h: Revert change to guard macros - they're used in offix.c!
12026
12027 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12028
12029         * lisp.h: Defsubred Fdelete.
12030
12031         * console-msw.h:  (msprinter_default_printer): Added.
12032
12033         * console-msw.c (msprinter_canonicalize_console_connection):
12034         (msprinter_canonicalize_device_connection): Added.
12035
12036         * device-msw.c (msprinter_default_printer):
12037         (Fmswingows_get_default_printer):
12038         (signal_enum_priner_error):
12039         (Fmswingows_printer_list): Added.
12040
12041 2000-07-19  Martin Buchholz <martin@xemacs.org>
12042
12043         * XEmacs 21.2.35 is released.
12044
12045 2000-07-19  Martin Buchholz  <martin@xemacs.org>
12046
12047         * select-x.c (x_handle_selection_request):
12048         Text selected in xemacs and pasted into xterm failed to appear.
12049         Spelling fixes and cosmetic changes.
12050
12051 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12052
12053         * event-msw.c (mswindows_drain_windows_queue): Correctly check for
12054         XEmacs frame (fix for doubling chars in dialog boxes).
12055
12056 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
12057
12058         * select.c (select_convert_in, select_convert_out):
12059         Don't call intern() every time.
12060
12061         * select.c (Qselect_convert_in, Qselect_convert_out): New.
12062         * select.c (vars_of_select): Initialise them.
12063
12064 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
12065
12066         * select.c (selection-coercible-types): New.
12067
12068         * select.c (own-selection-internal):
12069         * select.c (get-selection-internal):
12070         MULE bug fix - these should default to COMPOUND_TEXT and not
12071         STRING for MULE. I think.
12072
12073         * select.c (select_convert_out): Use selection-coercible-types
12074         to find types that we can attempt to perform coercions on.
12075
12076 2000-07-18  Martin Buchholz  <martin@xemacs.org>
12077
12078         * mule-wnnfns.c:
12079         * mule-canna.c:
12080         Add coding: cookie to identify encoding.
12081
12082         * mule-canna.c (CANNA_mode_keys): make static.
12083         Use proper prototypes, even for functions of no arguments.
12084         Remove external prototype for Fding().
12085
12086         * symsinit.h: Add missing prototype for reinit_vars_of_mule_wnn.
12087
12088         * select.c (syms_of_select): Add missing DEFSUBR.
12089
12090 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
12091
12092         * select.c (get_selection_internal, own_selection_internal):
12093         Make the type default to STRING, rather than placing a nil type
12094         into Vselection_alist.
12095
12096 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
12097
12098         * gpmevent.c (tty_selection_exists_p):
12099         * gpmevent.c (tty_own_selection):
12100         Updated parameter lists.
12101
12102 2000-07-15 Alastair J. Houghton <ajhoughton@lineone.net>
12103
12104         * select.h (selection-alist): Removed declaration.
12105
12106         * select.h (get_local_selection):
12107         * select.c (get_local_selection):
12108         Made static.
12109
12110         * select.h (convert_selection): Removed declaration.
12111         * select.c (convert_selection): Removed.
12112         This function belongs in Lisp.
12113
12114         * select.h (select_convert_in): Declare.
12115         * select.h (select_convert_out): Declare.
12116         * select.c (select_convert_in): New.
12117         * select.c (select_convert_out): New.
12118         New conversion functions for other files to call.
12119
12120         * select.h (select_notify_buffer_kill): Declare.
12121         * select.c (select_notify_buffer_kill): New.
12122         New functions that get called from kill-buffer.
12123
12124         * buffer.c (kill-buffer): Call select_notify_buffer_kill, rather than
12125         X-specific lisp code.
12126
12127         * select.h: Declare some of the lisp-visible functions for
12128         external use.
12129
12130         * select.c (clean_local_selection_data): Removed. This was
12131         a disgusting function, and previously should have been in
12132         select-x.c in any case. The functionality is now provided
12133         in select-convert-from-integer (select.el).
12134
12135         * select.c (available-selection-types): Fixed stupidity where
12136         INTEGER and ATOM got added twice. Also add STRING when we see an
12137         extent.
12138
12139         * select.c (get-selection-internal): Removed symbol stripping. No
12140         longer causes conversion when data comes from the internal cache.
12141
12142         * select.c (syms_of_select): Added new functions.
12143
12144         * select-x.c (motif_clipboard_cb): Use select_convert_out. Rewrote
12145         error checking - previously this called abort!
12146
12147         * select-x.c (x_own_selection): Changed comment.
12148
12149         * select-x.c (x_handle_selection_request): Use select_convert_out.
12150         Don't mess with selection-alist; it's an internal variable of select.c.
12151
12152         * select-x.c (x_get_foreign_selection): Use select_convert_in.
12153
12154         * select-x.c (x_handle_selection_clear): Use get-selection-timestamp,
12155         rather than messing with selection-alist.
12156
12157         * select-msw.c (mswindows_get_foreign_selection):
12158         Use TO_INTERNAL_FORMAT rather than hacking.
12159
12160 2000-07-14  Martin Buchholz  <martin@xemacs.org>
12161
12162         * process-unix.c (unix_open_multicast_group):
12163         (unix_open_multicast_group): Remove useless casts.
12164
12165 2000-07-13  Martin Buchholz  <martin@xemacs.org>
12166
12167         * sound.c (Fplay_sound): Fix `unused variable' warning.
12168
12169         * emacs.c (main): Use correct type for _environ on SCO5.
12170
12171 2000-07-12 Alastair J. Houghton <ajhoughton@lineone.net>
12172
12173         * console.h (own_selection_method):
12174         * console.h (selection_exists_p_method):
12175         * console.h (available_selection_types_method): New.
12176         * console.h (register_selection_data_type_method): New.
12177         * console.h (selection_data_type_name): New.
12178
12179         * console-msw.h (mswindows_destroy_selection): Declare it.  New
12180         function & alist to track GlobalAlloc()'d handles that need
12181         releasing when the clipboard data gets replaced or emptied.
12182
12183         * event-msw.c (mswindows_wnd_proc): Call it.
12184
12185         * lisp.h, general.c (Qappend): New symbol representing a
12186         `how-to-add' mode.
12187
12188         * select.c (own-selection-internal):
12189         * select.c (selection-exists-p):
12190         * select.c (available-selection-types): New.
12191         * select.c (register-selection-data-type): New.
12192         * select.c (selection-data-type-name): New.  New functions to deal
12193         with device-specific selection data formats.
12194         * select.c (selection-converter-out-alist): Renamed.
12195         * select.c (selection-converter-in-alist): New.
12196         * select.c (selection-appender-alist): New.  Added new alists.
12197         * select.c (syms_of_select, vars_of_select): Added new symbols &
12198         variables.
12199         * select.c (get_local_selection): Split.
12200         * select.c: Removed spurious type checking - selections may now be
12201         of any type, not just strings.
12202         * select.c (own-selection-internal):
12203
12204         * select.h, select.c (convert_selection): New. Created
12205         convert_selection() function based on get_local_selection().
12206         * select.h, select.c (QCF_*): New symbols representing mswindows
12207         clipboard formats.
12208         * select.h, select.c (Qreplace_all, Qreplace_existing): New
12209         symbols representing `how-to-add' modes.
12210
12211         * select-msw.c (x_sym_p): New.
12212         * select-msw.c (symbol_to_ms_cf): New.
12213         * select-msw.c (ms_cf_to_symbol): New. New functions to deal with
12214         symbols & clipboard formats. Can also handle string names.
12215         * select-msw.c (mswindows_own_selection):
12216         * select-msw.c (mswindows_selection_exists_p):
12217         Added `data-type' parameter. Use it.
12218         * select-msw.c (mswindows_available_selection_types): New.
12219         * select-msw.c (mswindows_register_selection_data_type): New.
12220         * select-msw.c (mswindows_selection_data_type_name): New.
12221         * select-msw.c (mswindows_own_selection):
12222         * select-msw.c (mswindows_get_foreign_selection):
12223         * select-msw.c (mswindows_selection_exists_p):  Rewrote.
12224         * select-msw.c (console_create_select_mswindows): Added new methods.
12225         * select-msw.c (mswindows_destroy_selection): New.
12226         * select-msw.c (Vhandle_alist): New list.
12227         * select-msw.c (mswindows_own_selection):
12228
12229         * select-x.c (x_own_selection):
12230         * select-x.c (x_selection_exists_p):
12231         * select-x.c: Added some comments about maybe using new
12232         functionality.
12233         * select-x.c (x_own_selection):
12234
12235         * specifier.c: Remove definition of Qappend (now in general.c)
12236         * specifier.c (syms_of_specifier): Remove Qappend.
12237
12238 2000-07-12  Martin Buchholz  <martin@xemacs.org>
12239
12240         * config.h.in: Add socklen_t.
12241
12242         * s/decosf4-0.h: No special compiler flags needed or desired.
12243         In particular, undefine _BSD for DEC OSF 4.0.
12244
12245 2000-07-07  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12246
12247         * redisplay-msw.c (msprinter_frame_output_end): Added.
12248         (console_type_create_redisplay_mswindows): Referred the above.
12249
12250         * frame.c (setup_frame_without_minibuffer): Do not create a
12251         default minibuffer frame on a printer device.
12252
12253         * frame-msw.c (apply_dc_geometry): Added.
12254         (msprinter_start_page):
12255         (msprinter_init_frame_3):
12256         (msprinter_eject_page): Use it.
12257
12258         * console-msw.h (struct msprinter_frame): Added pix_left and top,
12259         and removed residual duplex and orientation properties.
12260
12261 2000-07-11  Martin Buchholz  <martin@xemacs.org>
12262
12263         * eval.c (function_argcount): Work around a DEC CC compiler bug.
12264
12265         * unexalpha.c: Remove system prototypes from C sources!
12266
12267 2000-07-09  Adrian Aichner  <aichner@ecf.teradyne.com>
12268
12269         * eval.c: Remove references to M-x edit-options in DEFUNs for
12270         `defvar' and `defconst'.
12271
12272 2000-07-09  Martin Buchholz  <martin@xemacs.org>
12273
12274         * config.h.in: Remove SMART_INCLUDE hackery.
12275
12276         PostgreSQL hacking:
12277         * config.h.in: Don't use SMART_INCLUDE.
12278
12279         * postgresql.h: Include libpq-fe.h here.  Fix typo.
12280         * inline.c: Simply #include "postgresql.h"
12281         * postgresql.c:
12282         - Don't use SMART_INCLUDE
12283         - Use simply "const".
12284         - Use standard doc string conventions.
12285         - Use correct type for result of PQstatus.
12286
12287 2000-07-09  Martin Buchholz  <martin@xemacs.org>
12288
12289         * glyphs-x.c (x_xface_instantiate): Fix C++ compilation warnings.
12290
12291         C++ compilation changes.
12292         * config.h.in (EXTERN_C): Define.
12293         * config.h.in (not): This is also a C++ keyword.
12294         * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Enable C++ compilation.
12295         * cm.c: Use EXTERN_C.
12296         * redisplay-tty.c: Use EXTERN_C.
12297         * sysdep.c: Use EXTERN_C.  Remove Gould support.
12298
12299 2000-07-09  Martin Buchholz  <martin@xemacs.org>
12300
12301         * general.c: Remove duplicate definition for Qfunction.
12302
12303 2000-07-08  Ben Wing  <ben@xemacs.org>
12304
12305         * device-msw.c (msprinter_init_device):
12306         * device-msw.c (sync_printer_with_devmode):
12307         * device-msw.c (handle_devmode_changes):
12308         * device-msw.c (print_dialog_worker):
12309         * device-msw.c (Fmsprinter_apply_settings):
12310         * device-msw.c (hash_devmode):
12311         * device-msw.c (Fmsprinter_settings_despecialize):
12312         use Qmswindows_tstr, not Qctext.
12313
12314         * vm-limit.c (check_memory_limits):
12315         avoid infinite loop printing warning messages.
12316
12317 2000-07-05  Craig Lanning  <lanning@scra.org>
12318
12319         * Makefile.in.in: Add support for including the Windows resources
12320         when building with the cygwin and mingw targets.
12321
12322         * buffer.c: from Dan Holmsand, on Windows $PWD is most likely either
12323         not set or not correct.
12324         (directory_is_current_directory): Don't compile for WIN32_NATIVE.
12325         (init_initial_directory): Don't try to use $PWD on the
12326         WIN32_NATIVE target.
12327
12328         * s\cygwin32.h:
12329         [[Add -mwindows to eliminate console window.]] not required --ben
12330         (HAVE_NATIVE_SOUND): removed; now handled by configure.
12331         (MAIL_USE_POP): removed; now handled by configure.
12332
12333         * s\mingw32.h: [[Add -mwindows to eliminate console window.]] not in
12334         C_SWITCH_SYSTEM or it will affect lib-src progs. --ben
12335         (HAVE_NATIVE_SOUND): removed; now handled by configure.
12336         (MAIL_USE_POP): removed; now handled by configure.
12337         (ENCAPSULATE_STAT): from Dan Holmsand, added.
12338         (ENCAPSULATE_FSTAT): from Dan Holmsand, added.
12339         (DIRECTORY_SEP): from Dan Holmsand, use lisp variable instead of
12340         constant string.
12341         (HAVE_TIMEVAL): from Dan Holmsand, added; struct timeval is picked
12342         up from <winsock.h> via systime.h.
12343         (HAVE_GETPAGESIZE): from Dan Holmsand, added.
12344         (getpagesize): from Dan Holmsand, added.
12345         Added #endif which was left dangling by Ben's mega patch; added
12346         comment to help prevent this in the future.
12347
12348         * sysdll.c: added #include <windows.h> for WIN32_NATIVE case.
12349
12350 2000-07-05  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12351
12352         * console-msw.h (struct mswindows_device): Removed unnecessary
12353         cached device geometry values.
12354         Added update_tick and an accessor macro.
12355         (Lisp_Devmode): Added lrecord declaration.
12356         (struct msprinter_device): Contain devmode as a Lisp object.
12357         Added mswindows_get_selected_frame_hwnd();
12358
12359         * console.h (struct console_methods): Indentation nitpicking.
12360
12361         * device-msw.c (mswindows_init_device): Do not initialize geometry
12362         cache. Initialize update tick.
12363         (mswindows_device_system_metrics): Ask the device for its geometry.
12364         (global_free_2_maybe):
12365         (devmode_to_hglobal):
12366         (handle_printer_changes):
12367         (ensure_not_printing):
12368         (print_dialog_worker):
12369         (Fmsprinter_print_setup_dialog):
12370         (Fmsprinter_print_dialog):
12371         (plist_get_margin):
12372         (plist_set_margin):
12373         (Fmsprinter_page_setup_dialog): Added functions.
12374         (sync_printer_with_devmode):
12375         (handle_devmode_changes):
12376         (Fmsprinter_get_settings):
12377         (Fmsprinter_select_settings):
12378         (Fmsprinter_apply_settings):
12379         (allocate_devmode):
12380         (Fmsprinter_settings_copy):
12381         (Fmsprinter_settings_despecialize):
12382         (print_devmode):
12383         (finalize_devmode):
12384         (equal_devmode):
12385         (hash_devmode): Added functions
12386         (syms_of_device_mswindows): Init devmode lrecord class.
12387
12388         * device.h: Added an exfun for find-device.
12389
12390         * event-msw.c (mswindows_wnd_proc): Do not update the cached
12391         geometry; although, recreate the device compatible DC.
12392
12393         * frame-msw.c (mswindows_get_selected_frame_hwnd): Added.
12394         (msprinter_init_frame_3):
12395         (msprinter_frame_property):
12396         (msprinter_internal_frame_property_p):
12397         (msprinter_frame_properties):
12398         (msprinter_set_frame_properties): Removed 'orientation and 'duplex
12399         print job properties (will move to device settings).
12400
12401         * lisp.h: Added symbols.
12402
12403         * general.c (syms_of_general): Declared them.
12404
12405         * hash.c (string_hash): Added.
12406
12407         * lrecord.h (lrecord_type): Added devmode lrecord type.
12408
12409 2000-07-02  Mike Sperber <mike@xemacs.org>
12410
12411         * s/freebsd.h (INTERRUPTIBLE_OPEN): open *is* interruptible on
12412         FreeBSD 4.0.
12413
12414 2000-06-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
12415
12416         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
12417         integer.
12418
12419 2000-06-07  MORIOKA Tomohiko  <tomo@urania.m17n.org>
12420
12421         * data.c (Fstring_to_number): Don't recognize floating point if
12422         base is not 10.
12423
12424 2000-06-22  Martin Buchholz  <martin@xemacs.org>
12425
12426         * glyphs-widget.c (tab_control_query_geometry):
12427         (widget_query_geometry):
12428         (button_query_geometry):
12429         * glyphs.c (text_query_geometry):
12430         Enforce type correctness.
12431
12432 2000-06-18  Martin Buchholz  <martin@xemacs.org>
12433
12434         * s/decosf4-0.h (_etext): Use portable _etext instead of etext.
12435         * s/decosf4-0.h (_edata): Use portable _edata instead of edata.
12436
12437 2000-06-17  Martin Buchholz  <martin@xemacs.org>
12438
12439         * s/decosf4-0.h: Never #include "/usr/include/FOO.h" because this
12440         conflicts with gcc's fixincluded version of FOO.h.
12441
12442         * glyphs.h (image_instance_geometry): Remove trailing `,'
12443
12444 2000-06-08  Mike Alexander  <mta@arbortext.com>
12445
12446         (MAX_SHOVE_BUFFER_SIZE): Change to 512 to match stream buffer size
12447         (shove_thread): Don't write the same output twice
12448         (make_ntpipe_output_stream): Increase priority of shove thread
12449         (ntpipe_shove_writer): Call SwitchToThread to give shove thread a
12450         chance to run
12451         (ntpipe_shove_closer): Don't delete the pipe until we're done with
12452         it.
12453
12454 2000-06-12  Ben Wing  <ben@xemacs.org>
12455
12456         * s\mingw32.h (sigset):
12457         * s\windowsnt.h (sigset):
12458         rename msw_ to mswindows_ for consistency with general convention.
12459
12460 2000-06-12  Ben Wing  <ben@xemacs.org>
12461
12462         * console-msw.c:
12463         * console-msw.c (mswindows_get_console_hwnd):
12464         * console-msw.c (mswindows_ensure_console_allocated):
12465         * console-msw.c (mswindows_hide_console):
12466         * console-msw.c (mswindows_show_console):
12467         * console-msw.c (mswindows_ensure_console_buffered):
12468         * console-msw.c (mswindows_output_console_string):
12469         * console-msw.c (mswindows_windows9x_p):
12470         * console-msw.h:
12471         * device-msw.c (mswindows_get_workspace_coords):
12472         * device-msw.c (mswindows_device_system_metrics):
12473         * dialog-msw.c (mswindows_popup_dialog_box):
12474         * event-msw.c (mswindows_wnd_proc):
12475         * frame-msw.c (mswindows_size_frame_internal):
12476         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
12477         * menubar-msw.c (displayable_menu_item):
12478         * menubar-msw.c (mswindows_char_is_accelerator):
12479         * nt.c:
12480         * nt.c (mswindows_sigset):
12481         * nt.c (mswindows_sigrelse):
12482         * nt.c (mswindows_sigpause):
12483         * nt.c (mswindows_raise):
12484         * nt.c (timer_proc):
12485         * ntproc.c:
12486         * ntproc.c (find_child_console):
12487         * ntproc.c (sys_kill):
12488         * print.c:
12489         * print.c (std_handle_out_external):
12490         * process-nt.c (find_child_console):
12491         * process-nt.c (send_signal_the_95_way):
12492         * process-nt.c (ensure_console_window_exists):
12493         * process-nt.c (nt_create_process):
12494         * syssignal.h:
12495         rename msw_ to mswindows_ for consistency with general convention.
12496
12497         * emacs.c:
12498         * dumper.c:
12499         include nt.h, not syswindows.h.
12500
12501         * nt.c (mswindows_fstat):
12502         * nt.c (mswindows_stat):
12503         prefix mswindows_ instead of attempting to directly override the
12504         library functions.  fix declarations.
12505
12506         * nt.h:
12507         include syswindows.h.  move some sysdep.h stuff here.
12508
12509         * ntheap.h:
12510         include syswindows.h, not <windows.h>.
12511
12512         * ntplay.c:
12513         clean up headers.
12514
12515         * sysdep.c:
12516         clean up headers.
12517
12518         * sysdep.c (sys_fstat):
12519         * sysdep.c (sys_stat):
12520         call mswindows versions when appropriate.
12521
12522         * sysdep.h:
12523         move mswin decls to nt.h.
12524
12525         * syswindows.h:
12526         add long comment describing appropriate use of the various windows
12527         headers.
12528
12529 2000-06-11  Ben Wing  <ben@xemacs.org>
12530
12531         * device-x.c: Correct doc string for sixth arg of x-get-resource.
12532
12533 2000-06-10  Ben Wing  <ben@xemacs.org>
12534
12535         * Makefile.in.in (release):
12536         Correction to make sure xemacs.exe always dumped when correct.
12537
12538         * alloca.c:
12539         * balloon_help.c:
12540         [[[[3]]]]: Conditionalize on actual problem, not WINDOWSNT.
12541
12542         * buffer.c (set_buffer_internal):
12543         [[[[2]]]]: Remove HAVE_FEP code.
12544
12545         * buffer.c (init_initial_directory):
12546         [3].
12547
12548         * bytecode.c:
12549         [[[[4]]]]: limits.h standardly included in lisp.h; remove from
12550         individual files.
12551
12552         * callproc.c:
12553         * callproc.c (call_process_cleanup):
12554         * callproc.c (Fold_call_process_internal):
12555         * callproc.c (child_setup):
12556         * callproc.c (getenv_internal):
12557         * callproc.c (init_callproc):
12558         * callproc.c (vars_of_callproc):
12559         [[[[1]]]]: WINDOWSNT -> WIN32_NATIVE.
12560         __CYGWIN32__ -> CYGWIN.
12561         DOS_NT -> WIN32_NATIVE.
12562         Remove MSDOS support/references, converting to WIN32_NATIVE
12563           where correct.
12564         __MINGW32__ -> MINGW.
12565         Fix windows.h includes.
12566         Remove bogus HAVE_NTGUI.
12567
12568         * config.h.in:
12569         [2].
12570
12571         * console-msw.c:
12572         mswindows_message_outputted added for use in allowing startup
12573         errors on the console to be seen.
12574
12575         * console-msw.c (msw_ensure_console_allocated):
12576         * console-msw.c (msw_output_console_string):
12577         * console-msw.c (DHEADER):
12578         * console-msw.c (DOPAQUE_DATA):
12579         * console-msw.c (DEVENT):
12580         * console-msw.c (DCONS):
12581         * console-msw.c (DCONSCDR):
12582         * console-msw.c (DSTRING):
12583         * console-msw.c (DVECTOR):
12584         * console-msw.c (DSYMBOL):
12585         * console-msw.c (DSYMNAME):
12586         Fix warnings.
12587
12588         * console-stream.c (stream_init_console):
12589         Fix text/binary problems.
12590
12591         * device-msw.c:
12592         * device-msw.c (mswindows_finish_init_device):
12593         * device-msw.c (mswindows_delete_device):
12594         [1].
12595
12596         * device.c (handle_asynch_device_change):
12597         [3].
12598
12599         * dgif_lib.c:
12600         * dgif_lib.c (DGifOpenFileName):
12601         * dgif_lib.c (DGifOpenFileHandle):
12602         * dgif_lib.c (DGifGetLine):
12603         * dgif_lib.c (DGifGetPixel):
12604         Added config.h/lisp.h, fix up includes.
12605         [1].
12606
12607         * dired-msw.c:
12608         [4].
12609
12610         * dired.c:
12611         * dired.c (file_name_completion):
12612         * dired.c (Ffile_attributes):
12613         * dired.c (syms_of_dired):
12614         [1].
12615
12616         * dumper.c:
12617         * dumper.c (pdump_file_unmap):
12618         * dumper.c (pdump_load):
12619         [1].
12620
12621         * editfns.c:
12622         * editfns.c (Ftemp_directory):
12623         * editfns.c (user_login_name):
12624         * editfns.c (Fuser_real_login_name):
12625         * editfns.c (get_home_directory):
12626         [1].
12627
12628         * elhash.c (finish_marking_weak_hash_tables):
12629         [[[[5]]]]: Fix GCC warnings.
12630
12631         * emacs.c:
12632         * emacs.c (mswindows_handle_hardware_exceptions):
12633         * emacs.c (make_arg_list_1):
12634         * emacs.c (main_1):
12635         * emacs.c (Fkill_emacs):
12636         * emacs.c (Fdump_emacs):
12637         [1].
12638         Fix problems with nested crashes, add long comment.
12639
12640         * event-Xt.c (init_event_Xt_late):
12641         [1].
12642
12643         * event-msw.c:
12644         * event-msw.c (mswindows_dde_callback):
12645         * event-msw.c (mswindows_handle_sticky_modifiers):
12646         * event-msw.c (mswindows_wnd_proc):
12647         [1].
12648         [5].
12649
12650         * events.c (character_to_event):
12651         [1].
12652
12653         * fileio.c:
12654         * fileio.c (Ffile_name_directory):
12655         * fileio.c (Ffile_name_nondirectory):
12656         * fileio.c (directory_file_name):
12657         * fileio.c (Fexpand_file_name):
12658         * fileio.c (Fsubstitute_in_file_name):
12659         * fileio.c (Ffile_name_absolute_p):
12660         * fileio.c (check_executable):
12661         * fileio.c (Ffile_readable_p):
12662         * fileio.c (Ffile_accessible_directory_p):
12663         * fileio.c (Ffile_modes):
12664         * fileio.c (Funix_sync):
12665         * fileio.c (vars_of_fileio):
12666         [1]. [4].
12667
12668         [[[[7]]]]: Move CORRECT_DIR_SEPS to s\windowsnt.h.
12669
12670         Expand getdefdir defn.
12671         Fix bogus rename() comment.
12672
12673         [[[[6]]]]: Fix Windows includes w.r.t. removed nt\inc.  Attempt
12674         to use standard XEmacs include files, e.g. sysfile.h, rather
12675         than system-specific includes.
12676
12677         * fns.c:
12678         * fns.c (Fsubseq):
12679         [5]. [6].
12680
12681         * frame.c (vars_of_frame):
12682         [1].
12683
12684         * getloadavg.c:
12685         * getloadavg.c (getloadavg):
12686         [1]. [6].
12687         #ifdef XEMACS not defined on Cygwin.  Remove this; no need for it.
12688         (We don't use it elsewhere in the code; just add a comment.)
12689
12690         * gif_io.c:
12691         [6].
12692         Add config.h.
12693
12694         * glyphs-msw.c:
12695         * glyphs-msw.c (mswindows_resource_instantiate):
12696         [1].
12697
12698         * glyphs-x.c (x_native_layout_instantiate):
12699         [5].
12700
12701         * gui-msw.c (Fmswindows_shell_execute):
12702         [1].
12703
12704         * insdel.c:
12705         [4].
12706
12707         * lisp.h:
12708         [4]. [5].
12709
12710         * lread.c (locate_file_in_directory_mapper):
12711         [1].
12712
12713         * lstream.c:
12714         [4].
12715
12716         * mem-limits.h:
12717         * mem-limits.h (get_lim_data):
12718         [1].
12719
12720         * menubar-msw.c:
12721         [4].
12722
12723         * ndir.h:
12724         [1].
12725
12726         * nt.c:
12727         * nt.c (getwd):
12728         * nt.c (closedir):
12729         * nt.c (rva_to_section):
12730         * nt.c (mswindows_executable_type):
12731         [1]. [6].
12732         Fix closedir() defn.
12733
12734         * nt.h:
12735         [[[[8]]]]: *_OK defs moved to sysfile.h.
12736
12737         * ntproc.c:
12738         [6]. [7].
12739
12740         * objects-x.c:
12741         [4].
12742
12743         * print.c:
12744         * print.c (std_handle_out_external):
12745         [1]. [4].
12746
12747         * process-nt.c:
12748         * process-nt.c (nt_create_process):
12749         [6].
12750         try to fix process quoting somewhat.
12751
12752         * process-unix.c (unix_create_process):
12753         [1].
12754
12755         * process.c:
12756         * process.c (vars_of_process):
12757         Add Vnull_device.
12758
12759         * process.h:
12760         [1].
12761
12762         * realpath.c:
12763         * realpath.c (xrealpath):
12764         [1].
12765
12766         * redisplay-tty.c (init_tty_for_redisplay):
12767         [3].
12768
12769         * redisplay.c:
12770         [4]. [6].
12771
12772         * scrollbar-msw.c:
12773         [4].
12774
12775         * sheap.c:
12776         * sheap.c (more_static_core):
12777         * sheap.c (report_sheap_usage):
12778         [5]. [6].
12779
12780         * signal.c:
12781         * signal.c (alarm_signal):
12782         [1]. [6].
12783
12784         * sound.c:
12785         [6].
12786
12787         * strftime.c:
12788         * strftime.c (zone_name):
12789         [1]. [5].
12790
12791         * symsinit.h (init_sunpro):
12792         [1].
12793
12794         * syscommctrl.h:
12795         commctrl.h not in Cygwin b20.1.
12796
12797         * sysdep.c:
12798         * sysdep.c (endif):
12799         * sysdep.c (sys_subshell):
12800         * sysdep.c (init_baud_rate):
12801         * sysdep.c (emacs_get_tty):
12802         * sysdep.c (emacs_set_tty):
12803         * sysdep.c (tty_init_sys_modes_on_device):
12804         * sysdep.c (init_system_name):
12805         * sysdep.c (sys_open):
12806         * sysdep.c (interruptible_open):
12807         * sysdep.c (sys_fopen):
12808         * sysdep.c (sys_mkdir):
12809         * sysdep.c (sys_rename):
12810         * sysdep.c (get_process_times_1):
12811         [1]. [6].
12812
12813         * sysdep.h:
12814         [1].
12815
12816         * sysdir.h:
12817         * sysdir.h (DIRENTRY_NONEMPTY):
12818         [1]. [6].
12819
12820         * sysdll.c (dll_init):
12821         * sysdll.h:
12822         [1].
12823
12824         * sysfile.h:
12825         [1]. [6]. [8].
12826         added text/binary defs.
12827
12828         * sysfloat.h:
12829         [1].
12830
12831         * sysproc.h:
12832         * sysproc.h (EDESTADDRREQ):
12833         * sysproc.h (poll_fds_for_input):
12834         [1]. [6].
12835
12836         * syspwd.h:
12837         [6].
12838
12839         * syssignal.h:
12840         [1].
12841
12842         * systime.h:
12843         [1]. [6].
12844
12845         * systty.h:
12846         [1].
12847
12848         * syswindows.h:
12849         [1].
12850         Always define WIN32_LEAN_AND_MEAN.
12851
12852         * unexcw.c (unexec):
12853         [5].
12854
12855         * unexec.c:
12856         * unexec.c (copy_text_and_data):
12857         * unexec.c (adjust_lnnoptrs):
12858         [1].
12859
12860         * unexnt.c:
12861         * unexnt.c (_start):
12862         [1].
12863
12864 2000-06-07  Ben Wing  <ben@xemacs.org>
12865
12866         * mule-mcpath.c, mule-mcpath.h: Removed.  Old, crufty code that
12867         was used only as a model.  We've long since extracted any useful
12868         logic or code out of this. (I just did an exhaustive search.)
12869
12870         * s\msdos.h: Removed.
12871
12872         * s\windows95.h: Removed.
12873
12874 2000-06-10  Ben Wing  <ben@xemacs.org>
12875
12876         * s\cygwin32.h:
12877         [1]. [5].
12878         Don't use extern with fun defs.
12879
12880         * s\mingw32.h:
12881         [1]. [7].
12882         Remove nt\inc include.
12883         Remove getdisk, getdefdir. (The former is unused, the latter
12884         expanded in fileio.h.)
12885
12886         * s\windowsnt.h:
12887         * s\windowsnt.h (WIN32_NATIVE):
12888         * s\windowsnt.h (HAVE_STRCASECMP):
12889         [1]. [7].
12890         Add long comment about preprocessor changes.
12891         Remove getdisk, getdefdir. (The former is unused, the latter
12892         expanded in fileio.h.)
12893
12894 2000-06-10  Ben Wing  <ben@xemacs.org>
12895
12896         * m\arm.h:
12897         * m\delta.h:
12898         * m\intel386.h:
12899         * m\sequent.h:
12900         * m\template.h:
12901         * m\windowsnt.h:
12902         [1].
12903         Remove bogus/unused NO_SOCK_SIGIO.
12904
12905 2000-06-08  Hrvoje Niksic  <hniksic@iskon.hr>
12906
12907         * lisp.h (set_string_char): Call set_string_byte with a Bufbyte,
12908         not an Emchar.
12909
12910 2000-06-04  Mike Sperber <mike@xemacs.org>
12911
12912         * casetab.c (set_case_table): For `set-standard-case-table',
12913         actually deposit the new case tables where the rest of XEmacs can
12914         see them.
12915
12916 2000-06-05  Yoshiki Hayashi <yoshiki@xemacs.org>
12917
12918         * data.c (Faset): Don't cast XCHAR() to unsigned char.
12919
12920 2000-06-05  Ben Wing  <ben@xemacs.org>
12921
12922         * callproc.c (child_setup): Don't do close_load_descs() under
12923         MS Windows.  Put in a comment explaining why.
12924
12925 2000-05-28  Adrian Aichner  <aichner@ecf.teradyne.com>
12926
12927         * process-nt.c: Reverting patch "Fixing nt_create_process for MKS
12928         Toolkit shell" which breaks `kill-compilation' on Windows NT
12929         native, retaining STDERR handling improvements.
12930
12931 2000-06-01  Andreas Jaeger  <aj@suse.de>
12932
12933         * s/s390.h: Support for S390, based on a patch by Martin
12934         Schwidefsky <schwidefsky@de.ibm.com>.
12935
12936 2000-05-30  Andy Piper  <andy@xemacs.org>
12937
12938         * window.c (allocate_window):
12939         (make_dummy_parent):
12940         (Fset_window_configuration): use new hashtable type.
12941
12942         * glyphs.h (IMAGE_UNSPECIFIED_GEOMETRY):
12943         (struct image_instantiator_methods):
12944         (struct Lisp_Image_Instance): make instance geometry signed.
12945
12946         * glyphs.c (instantiate_image_instantiator):
12947         (image_instance_query_geometry):
12948         (image_instance_layout):
12949         (image_instance_layout):
12950         (query_string_geometry):
12951         (text_query_geometry):
12952         (image_instantiate):
12953         (image_instantiate):
12954         (cache_subwindow_instance_in_frame_maybe):
12955         (subwindow_query_geometry): make instance geometry signed.
12956
12957         * glyphs-widget.c (widget_query_geometry):
12958         (widget_layout):
12959         (button_query_geometry):
12960         (tree_view_query_geometry):
12961         (tab_control_query_geometry):
12962         (layout_query_geometry):
12963         (layout_layout):
12964         (native_layout_layout): make instance geometry signed.
12965
12966 2000-05-29  Olivier Galibert  <galibert@pobox.com>
12967
12968         * lisp.h: Add Qfull_assoc symbol and WEAK_LIST_FULL_ASSOC
12969         constant.
12970
12971         * general.c (syms_of_general): Add Qfull_assoc symbol.
12972
12973         * data.c (finish_marking_weak_lists): Mark full-assoc lists
12974         correctly.
12975         (decode_weak_list_type): Decode full-assoc type.
12976         (encode_weak_list_type): Encode full-assoc type.
12977         (Fmake_weak_list): Update doc string.
12978
12979 2000-05-30  Andy Piper  <andy@xemacs.org>
12980
12981         * elhash.h (hash_table_weakness): new KEY_VALUE weak hashtable.
12982
12983         * elhash.c (print_hash_table): new KEY_VALUE weak hashtable.
12984         (decode_hash_table_weakness): ditto.
12985         (Fhash_table_weakness): ditto.
12986         (Fhash_table_type): ditto.
12987         (finish_marking_weak_hash_tables): ditto.
12988         (hash_table_weakness_validate): ditto.
12989         (syms_of_elhash): ditto.
12990
12991 2000-05-28  Martin Buchholz <martin@xemacs.org>
12992
12993         * XEmacs 21.2.34 is released.
12994
12995 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
12996
12997         * redisplay.c (VERTICAL_CLIP): No longer reset when updating line
12998         start cache.
12999         (updating_line_start_cache): Gone.
13000         (regenerate_window): Replace resetting of VERTICAL_CLIP by
13001         generic code to force a minimum of 1 line laid out in the
13002         CMOTION_DISP case.
13003
13004 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
13005
13006         * glyphs.c (instantiate_image_instantiator): Check for initialized
13007         height & width no longer special cases IMAGE_NOTHING.
13008         (nothing_instantiate): Set height and width of instance.
13009
13010 2000-05-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
13011
13012         * unexelf.c (unexec): Search for ".data" section.
13013         Initialize new_data2_offset from old_data_index.
13014         Remove redundant check for ElfW.
13015
13016 2000-05-23  Andy Piper  <andy@xemacs.org>
13017
13018         * glyphs.c (get_image_instantiator_governing_domain): allow more
13019         specific domains as the governing domain rather than expecting an
13020         exact match. This fixes problems with layouts.
13021
13022 2000-05-22  Andy Piper  <andy@xemacs.org>
13023
13024         * redisplay-output.c (compare_runes): check for non-images
13025
13026         * glyphs.c (set_glyph_dirty_p): ditto.
13027         (update_glyph_cachel_data): ditto.
13028
13029         * glyphs-widget.c (layout_post_instantiate): ditto.
13030         (layout_post_instantiate): ditto.
13031
13032         * event-msw.c (mswindows_wnd_proc): warning removal.
13033
13034 2000-05-12  Craig Lanning  <CraigL@DyCon.com>
13035
13036         * s\mingw32.h: Added #undef for CLASH_DETECTION.
13037
13038         * syswindows.h: Moved PBS_SMOOTH definition to syscommctrl.h.
13039
13040         * syscommctrl.h (PBS_SMOOTH): Moved from syswindows.h.
13041
13042         * nt.c (rva_to_section): mingw32 needs rva_to_section.
13043         (mswindows_executable_type): mingw32 now has enough headers for
13044         this to work.
13045
13046 2000-05-20  Andy Piper  <andy@xemacs.org>
13047
13048         * console-msw.c (mswindows_output_last_error): ; -> ,
13049
13050 2000-05-12  Andy Piper  <andy@xemacs.org>
13051
13052         * console-msw.c (FROB): compare ints with ints.
13053
13054 2000-05-11  Andy Piper  <andy@xemacs.org>
13055
13056         * glyphs-x.c (x_finalize_image_instance): make minimal build
13057         happy.
13058
13059 2000-05-20  Ben Wing  <ben@xemacs.org>
13060
13061         * event-Xt.c:
13062         * event-Xt.c (vars_of_event_Xt):
13063         move modifier-keys-are-sticky to event-stream.c.
13064
13065         * event-msw.c:
13066         * event-msw.c (mswindows_enqueue_mouse_button_event):
13067         * event-msw.c (key_needs_default_processing_p):
13068         * event-msw.c (XEMSW_LCONTROL):
13069         * event-msw.c (mswindows_handle_sticky_modifiers):
13070         * event-msw.c (FROB):
13071         * event-msw.c (clear_sticky_modifiers):
13072         * event-msw.c (output_modifier_keyboard_state):
13073         * event-msw.c (output_alt_keyboard_state):
13074         * event-msw.c (mswindows_wnd_proc):
13075         * event-msw.c (mswindows_modifier_state):
13076         * event-msw.c (emacs_mswindows_handle_magic_event):
13077         implement sticky modifiers.
13078
13079         * event-stream.c:
13080         * event-stream.c (vars_of_event_stream):
13081         move modifier-keys-are-sticky here.
13082
13083         * lisp.h:
13084         add CHECK_FUNCTION.
13085
13086         * rangetab.c:
13087         implement map-range-table.
13088
13089
13090 2000-05-17  Yoshiki Hayashi  <yoshiki@xemacs.org>
13091
13092         * redisplay-tty.c (reset_tty_modes):
13093         (tty_redisplay_shutdown): Adjust argument type to
13094         tty_frame_output_end.
13095
13096 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
13097
13098         * eval.c (Fbacktrace): Don't output a line with only right
13099         parenthesis.
13100
13101 2000-05-17  Kenji Itoh  <keit@tpj.co.jp>
13102
13103         * postgresql.c (Fpq_connect_poll): Replace `PS' with `polling_status'.
13104         (Fpq_reset_poll): Ditto.
13105
13106 2000-05-16  Katsumi Yamaoka  <yamaoka@jpl.org>
13107
13108         * redisplay-tty.c: Replace tty_output_end with tty_frame_output_end.
13109
13110 2000-05-16  Ben Wing  <ben@xemacs.org>
13111
13112         * buffer.c:
13113         * buffer.c (dfc_convert_to/from_internal_format):
13114         * buffer.c (reinit_vars_of_buffer):
13115         Fix conversion functions to allow reentrancy.
13116
13117         * console-msw.c:
13118         * console-msw.c (mswindows_output_last_error):
13119         New fun, generally useful -- output a human-readable
13120         version of GetLastError() on the console.
13121
13122         * console-msw.h:
13123         * console-msw.h (struct mswindows_frame):
13124         Changes for DeferWindowPos.  Declare mswindows_output_last_error().
13125
13126         * console-stream.c (stream_output_begin):
13127         * console-stream.c (stream_output_end):
13128         * console-stream.c (stream_output_vertical_divider):
13129         * console-stream.c (stream_clear_region):
13130         * console-stream.c (stream_flash):
13131         * console-stream.c (console_type_create_stream):
13132         Delete blank stream methods, not needed.
13133
13134         * console.h (struct console_methods):
13135         Split begin/end methods into window and frame.
13136
13137         * event-msw.c:
13138         * event-msw.c (mswindows_handle_paint):
13139         * event-msw.c (output_alt_keyboard_state):
13140         * event-msw.c (mswindows_wnd_proc):
13141         * event-msw.c (vars_of_event_mswindows):
13142         Comment about problems with ignored-expose.
13143         Define mswindows-debug-events; not really implemented.
13144
13145         * frame-msw.c (mswindows_init_frame_1):
13146         random cleanups.
13147
13148         * glyphs-msw.c:
13149         * glyphs-msw.c (begin_defer_window_pos):
13150         * glyphs-msw.c (mswindows_unmap_subwindow):
13151         * glyphs-msw.c (mswindows_map_subwindow):
13152         * glyphs-msw.c (mswindows_resize_subwindow):
13153         Use DeferWindowPos to reduce flashing when mapping/unmapping.
13154
13155         * glyphs.c (make_image_instance_1):
13156         Fix crash.
13157
13158         * gutter.c (Fredisplay_gutter_area):
13159         Use new begin/end methods.
13160
13161         * lisp.h (Dynarr_new2):
13162         New creation fun.
13163
13164         * redisplay-msw.c:
13165         * redisplay-msw.c (mswindows_frame_output_begin):
13166         * redisplay-msw.c (mswindows_frame_output_end):
13167         * redisplay-msw.c (console_type_create_redisplay_mswindows):
13168         New begin/end methods -- handle DeferWindowPos.
13169
13170         * redisplay-output.c (redisplay_move_cursor):
13171         * redisplay-output.c (redraw_cursor_in_window):
13172         * redisplay-output.c (redisplay_update_line):
13173         * redisplay-output.c (redisplay_output_window):
13174         New begin/end methods.
13175
13176         * redisplay-tty.c:
13177         * redisplay-tty.c (tty_frame_output_begin):
13178         * redisplay-tty.c (tty_frame_output_end):
13179         * redisplay-tty.c (console_type_create_redisplay_tty):
13180         New begin/end methods.
13181
13182         * redisplay-x.c:
13183         * redisplay-x.c (x_window_output_begin):
13184         * redisplay-x.c (x_window_output_end):
13185         * redisplay-x.c (console_type_create_redisplay_x):
13186         New begin/end methods.
13187
13188         * redisplay.c (redisplay_frame):
13189         * redisplay.c (Fredisplay_echo_area):
13190         New begin/end methods.
13191         use MAYBE_DEVMETH for clear_frame; it may not exist.
13192
13193         * window.h (WINDOW_XFRAME):
13194         WINDOW_XFOO macros -- get locale and decode struct pointer.
13195
13196
13197 2000-05-12  Ben Wing  <ben@xemacs.org>
13198
13199         * emacs.c:
13200         * emacs.c (ensure_no_quitting_from_now_on):
13201         * emacs.c (fatal_error_signal):
13202         * emacs.c (mswindows_handle_hardware_exceptions):
13203         * emacs.c (main):
13204         * emacs.c (Fkill_emacs):
13205         * emacs.c (shut_down_emacs):
13206         * emacs.c (assert_failed):
13207         various improvements in fatal error handling.
13208
13209         * eval.c:
13210         move preparing_for_armageddon to emacs.c.
13211
13212         * lisp.h:
13213         declare fatal_error_in_progress.
13214
13215         * print.c:
13216         * print.c (std_handle_out_external):
13217         * print.c (std_handle_out_va):
13218         * print.c (stderr_out):
13219         * print.c (stdout_out):
13220         use console under mswin when no standard output.
13221         don't do code conversion during fatal error.
13222
13223         * scrollbar.c (Fscrollbar_page_up):
13224         * scrollbar.c (Fscrollbar_page_down):
13225         fix missing else.  reindent.
13226
13227 2000-05-11  Jan Vroonhof  <vroonhof@math.ethz.ch>
13228
13229         Emergency fix.
13230
13231         * glyphs.h (GLYPH_CACHEL_DESCENT):
13232         (GLYPH_CACHEL_DESCENT):
13233         (GLYPH_CACHEL_DESCENT):
13234         * glyphs.h (GLYPH_CACHEL_ASCENT): Match parameters to variables
13235         used in case these are inline functions.
13236         Use more absurd values to error check.
13237
13238         include window.h for error check functions.
13239
13240 2000-05-11  Ben Wing  <ben@xemacs.org>
13241
13242         * cmdloop.c (Freally_early_error_handler):
13243         Display message box under windows; otherwise, message will disappear
13244         before it can be viewed.
13245
13246         * console-msw.c:
13247         * console-msw.c (Fmswindows_message_box):
13248         * console-msw.c (FROB):
13249         * console-msw.c (syms_of_console_mswindows):
13250         Define new fun `mswindows-message-box'.
13251         #### I will merge this into `popup-dialog-box'; just give me
13252         a bit of time.
13253
13254         * general.c:
13255         * general.c (syms_of_general):
13256         Some new symbols used in `mswindows-message-box'.
13257
13258         * glyphs.c:
13259         * glyphs.c (Fset_image_instance_property):
13260         put warning in this fun.
13261
13262         * glyphs.h:
13263         * glyphs.h (GLYPH_CACHEL_WIDTH):
13264         * glyphs.h (GLYPH_CACHEL_ASCENT):
13265         * glyphs.h (GLYPH_CACHEL):
13266         * glyphs.h (GLYPH_CACHEL_GLYPH):
13267         define error-checking versions to try to catch a bug i've seen --
13268         redisplay gets in an infinite loop because the glyph width of the
13269         continuation glyph is 65535.
13270
13271         * lisp.h:
13272         Extern message-box stuff.
13273
13274         * window.c (allocate_window):
13275         * window.c (make_dummy_parent):
13276         * window.c (Fset_window_configuration):
13277         Use EQUAL not EQ for subwindow caches to make them work a bit
13278         better. (Something is still very broken.)
13279
13280
13281 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
13282
13283         * glyphs.c (image_instantiate): Suppress gcc warnings.
13284         (Fmake_image_instance): Fix doc string.
13285         * specifier.c (Fmake_specifier): Ditto.
13286
13287 2000-05-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
13288
13289         * paths.h.in (PATH_LOCK): Removed.
13290         * config.h.in (LOCKDIR_USER_DEFINED): Removed.
13291         * emacs.c (complex_vars_of_emacs): Remove configure-lock-directory.
13292
13293 2000-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
13294
13295         * fns.c (Ffeaturep): Update e-mail address in doc-string.
13296         Document (featurep '(and xemacs 21.02)).
13297
13298 2000-05-09  Ben Wing  <ben@xemacs.org>
13299
13300         * buffer.c (complex_vars_of_buffer):
13301         update modeline-format doc.
13302
13303         * device.h:
13304         comment about how DFW_DEVICE should be merged with DOMAIN_DEVICE.
13305
13306         * emacs.c:
13307         timeline of all released versions of Emacs, for use in creating
13308         authorship comments and in synching up.
13309
13310         * glyphs-widget.c (image_instantiator_buttons):
13311         * glyphs-widget.c (image_instantiator_edit_fields):
13312         * glyphs-widget.c (image_instantiator_combo_box):
13313         * glyphs-widget.c (image_instantiator_scrollbar):
13314         * glyphs-widget.c (image_instantiator_progress_guage):
13315         * glyphs-widget.c (image_instantiator_tree_view):
13316         * glyphs-widget.c (image_instantiator_tab_control):
13317         * glyphs-widget.c (image_instantiator_labels):
13318         * glyphs-widget.c (image_instantiator_layout):
13319         * glyphs-widget.c (image_instantiator_native_layout):
13320         rename decode_domain method to governing_domain.
13321
13322         * glyphs.c:
13323         * glyphs.c (Fvalid_image_instantiator_format_p): doc update.
13324         * glyphs.c (add_entry_to_device_ii_format_list):
13325         make sure we don't put an entry more than once into the list.
13326         * glyphs.c (check_instance_cache_mapper):
13327         *************************************************************
13328         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
13329         HAVE BEEN GETTING.
13330         *************************************************************
13331         * glyphs.c (get_image_instantiator_governing_domain):
13332         clean up, expand on new concept of governing domain.
13333         * glyphs.c (instantiate_image_instantiator):
13334         * glyphs.c (allocate_image_instance):
13335         use governing_domain instead of cache_domain in naming.
13336         * glyphs.c (Fvalid_image_instance_type_p): fix docs.
13337         * glyphs.c (make_image_instance_1):
13338         * glyphs.c (Fmake_image_instance):
13339         allow for any domain (not just device), and process the
13340         governing domain correctly.  very big doc fix.
13341         * glyphs.c (Fimage_instance_domain):
13342         new primitive, to retrieve the governing domain of an image instance.
13343         * glyphs.c (image_instantiate):
13344         use new governing_domain stuff.  this fixes a crash you could get
13345         by instantiating certain widget glyphs in frame locales. (should
13346         signal an error instead of crashing.)
13347         * glyphs.c (Fimage_specifier_p): move doc to make-image-specifier.
13348         * glyphs.c (Fglyphp): clean up doc.
13349         * glyphs.c (subwindow_governing_domain): renamed from *_decode_domain.
13350         * glyphs.c (syms_of_glyphs):
13351         declare Fimage_instance_domain, remove unused Qlayout_image_instance_p.
13352         * glyphs.c (image_instantiator_format_create): add some comments about
13353         bogus code.
13354         * glyphs.c (specifier_vars_of_glyphs): totally rewrite the doc string
13355         for current-display-table. (Apparently Hrjove implemented in 1998 a
13356         design I wrote up in 1996, but didn't update the doc string.)
13357
13358         * glyphs.h: clean up a doc string.
13359         * glyphs.h (governing_domain):
13360         * glyphs.h (struct image_instantiator_methods):
13361         changes for governing_domain stuff.
13362
13363         * gutter.c:
13364         * gutter.c (Fgutter_specifier_p):
13365         * gutter.c (Fgutter_size_specifier_p):
13366         * gutter.c (Fgutter_visible_specifier_p):
13367         * objects.c:
13368         * objects.c (Fcolor_specifier_p):
13369         * objects.c (Ffont_specifier_p):
13370         * objects.c (Fface_boolean_specifier_p):
13371         doc strings moved to make-*-specifier.
13372
13373         * redisplay.c (add_disp_table_entry_runes_1):
13374         * redisplay.c (generate_fstring_runes):
13375         * redisplay.c (screen):
13376         add random comments and doc strings.
13377
13378         * specifier.c:
13379         * specifier.c (Fmake_specifier):
13380         major overhaul of this doc string.
13381
13382         * specifier.c (Fvalid_specifier_domain_p):
13383         comment about the bogosity of image instances being domains.
13384         * specifier.c (decode_domain):
13385         now non-static, used in glyphs.c.
13386         * specifier.c (specifier_instance):
13387         comment about the bogosity of image instances being domains.
13388         * specifier.c (Fgeneric_specifier_p):
13389         move doc string to make-generic-specifier.
13390         * specifier.c (VALID_SINGLE_DISPTABLE_INSTANTIATOR_P):
13391         rebackslashify.
13392
13393         * specifier.h:
13394         * specifier.h (DOMAIN_FRAME):
13395         * specifier.h (DOMAIN_LIVE_P):
13396         * specifier.h (DOMAIN_XDEVICE):
13397         rebackslashify.
13398         add comments about problems with these macros.
13399         prototype for decode_domain.
13400
13401         * toolbar.c:
13402         * toolbar.c (Ftoolbar_specifier_p):
13403         move doc string to `make-toolbar-specifier'.
13404
13405         * window.c (window_unmap_subwindows_cache_mapper):
13406         *************************************************************
13407         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
13408         HAVE BEEN GETTING.
13409         *************************************************************
13410
13411 2000-05-09  Andy Piper  <andy@xemacs.org>
13412
13413         * glyphs.h: declare reset_frame_subwindow_instance_cache.
13414
13415         * window.c (Fset_window_configuration): reset the frame subwindow
13416         cache and re-initialize the window subwindow caches.
13417
13418         * glyphs.c (reset_frame_subwindow_instance_cache): new function.
13419
13420 2000-05-09  Ben Wing  <ben@xemacs.org>
13421
13422         * ntheap.c (recreate_heap): Changed unknown (VC6 only?) SIZE_T to
13423         DWORD.
13424
13425 2000-04-26  Mike Woolley  <mike@bulsara.com>
13426
13427         * ntheap.c: Changed recreate_heap to limit the amount reserved
13428         for the heap to that which is actually available. Also now
13429         displays a message box (with some dignostics) in the event that
13430         it still can't start.
13431
13432 2000-05-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
13433
13434         * callproc.c (Fold_call_process_internal): GCPRO path
13435
13436 2000-05-08  Jan Vroonhof  <jan@xemacs.org>
13437
13438         Patch by Bill Perry.
13439
13440         * scrollbar.c (Fscrollbar_page_up): Conditionalize on type of call
13441         back data instead of #ifdef.
13442         (Fscrollbar_page_down): ditto.
13443
13444 2000-05-07  Ben Wing  <ben@xemacs.org>
13445
13446         * buffer.h:
13447         Kludge for defining Qmswindows_tstr.
13448
13449         * nt.c:
13450         * nt.c (open_input_file):
13451         * nt.c (open_output_file):
13452         * nt.c (rva_to_section):
13453         * nt.c (mswindows_executable_type):
13454         Move all memory-mapped-file routines here (some were in unexnt.c,
13455         which is bad because they are used by process-nt.c, and unexnt
13456         won't be around when portable dumping).  Synched the above routines
13457         with FSF 20.6.
13458
13459         * nt.h:
13460         Removed ifdef'd out bogus code.
13461         Fixed some prototypes.
13462
13463         * nt.h (file_data):
13464         * nt.h (OFFSET_TO_RVA):
13465         * nt.h (RVA_TO_OFFSET):
13466         * nt.h (RVA_TO_PTR):
13467         Moved the memory-mapped-file structures, macros and prototypes
13468         here, to parallel nt.c.  ntheap.h should really be removed
13469         entirely, and it's a non-portable-dumper specific file.
13470
13471         * ntheap.h (round_to_next):
13472         Moved the memory-mapped-file structures, macros and prototypes
13473         to nt.h.
13474
13475         * ntproc.c (compare_env):
13476         Moved rva_to_section and mswindows_executable_type to nt.c.
13477         Moved compare_env to process-nt.c.
13478         ntproc.c will die, one day.
13479
13480         * ntproc.c (sys_spawnve):
13481         Account for win32_ -> mswindows_.
13482
13483         * process-nt.c:
13484         * process-nt.c (struct nt_process_data):
13485         * process-nt.c (ensure_console_window_exists):
13486         * process-nt.c (compare_env):
13487         * process-nt.c (nt_create_process):
13488         * process-nt.c (nt_kill_process_by_pid):
13489         * process-nt.c (syms_of_process_nt):
13490         * process-nt.c (vars_of_process_nt):
13491         Introduce variable `mswindows-quote-process-args', from FSF 20.6.
13492         Copy argument quoting code from FSF 20.6 (with appropriate Mule-ization
13493         changes).  Eliminate our old `nt-quote-process-args' mechanism.
13494         Synch up nt_create_process with FSF 20.6 sys_spawnve.
13495         Move compare_env here from ntproc.c.
13496
13497         * process.c (Fprocess_send_region):
13498         Takes an optional fourth argument, BUFFER, which should fix some
13499         problems with call-process.
13500
13501         * syscommctrl.h:
13502         Move ICC_BAR_CLASSES here from syswindows.h, to avoid a warning.
13503
13504         * syswindows.h:
13505         Move ICC_BAR_CLASSES to syscommctrl.h.
13506         Add preliminary macros for MSWindows/Mule.  More to come.
13507
13508         * unexnt.c:
13509         * unexnt.c (unexec):
13510         open_output_file moved to nt.c.
13511
13512
13513 2000-05-05  Andy Piper  <andy@xemacs.org>
13514
13515         * window.c (window_unmap_subwindows_cache_mapper): remove the dead
13516         instance from the frame cache also since GC may catch up too late
13517         to make frame deletion sane.
13518
13519 2000-05-04  Andy Piper  <andy@xemacs.org>
13520
13521         * glyphs-x.c (x_widget_instantiate): gcpro widget callbacks.
13522         (x_finalize_image_instance): ungcpro on deletion.
13523
13524         * glyphs.c (image_instantiator_format_create): give pointers a
13525         query geometry method so that the geometry is at least set.
13526
13527         * glyphs-x.c (image_instantiator_format_create_glyphs_x): only
13528         initialize layouts if using widgets.
13529
13530 2000-05-03  Andy Piper  <andy@xemacs.org>
13531
13532         * nt.c: remove bogus reference to sysmmsystem.h
13533
13534         * gui-x.c (popup_selection_callback): fix no selection abort.
13535
13536 2000-05-02  Andy Piper  <andy@xemacs.org>
13537
13538         * glyphs-msw.c (mswindows_update_widget): cope with nil text.
13539         (mswindows_widget_instantiate): ditto.
13540
13541         * glyphs-widget.c (initialize_widget_image_instance): initialize
13542         children correctly.
13543         (widget_instantiate): cope with children and items in the same
13544         instance.
13545
13546         * glyphs.c (mark_image_instance): cope with children as a first
13547         class member.
13548         (image_instance_equal): ditto.
13549         (image_instance_hash): ditto.
13550         (image_instance_changed): ditto.
13551
13552 2000-04-30  Andy Piper  <andy@xemacs.org>
13553
13554         * glyphs.c (subwindow_query_geometry): new function. Return some
13555         defaults.
13556         (subwindow_instantiate): don't assign dimensions if none have been
13557         given.
13558         (image_instantiator_format_create): add subwindow_query_geometry.
13559         (print_image_instance): cope with layouts as widgets.
13560
13561 2000-04-29  Andy Piper  <andy@xemacs.org>
13562
13563         * frame.c (delete_frame_internal): call
13564         free_frame_subwindow_instance_cache so that all subwindows are
13565         finalized before their parent.
13566         (mark_frame): remove subwindow_cachels.
13567         (Fmake_frame): remove subwindow_cachel manipulation.
13568         (allocate_frame_core): subwindow_instance_cache is a weak list.
13569         (delete_frame_internal): set subwindow_instance_cache to nil.
13570
13571         * glyphs-msw.c (mswindows_finalize_image_instance): make double
13572         finalization safe.
13573         (mswindows_finalize_image_instance): use the device
13574         not the domain as the domain may have died already.
13575
13576         * glyphs-x.c (x_finalize_image_instance): ditto.
13577         (x_subwindow_instantiate): remove SUBWINDOW_WIDTH &
13578         HEIGHT.
13579
13580         * redisplay-output.c (redisplay_unmap_subwindows): update for
13581         subwindow instance cache as a weak list.
13582         (redisplay_unmap_subwindows_maybe): ditto.
13583         (redisplay_unmap_subwindows_except_us): ditto.
13584
13585         * glyphs.c (unmap_subwindow): error checking will check the domain
13586         so don't deal with it here. Don't use cachels anymore.
13587         (map_subwindow): ditto.
13588         (update_subwindow_cachel_data): remove old accessor names.
13589         (subwindow_instantiate): remove SUBWINDOW_WIDTH & HEIGHT.
13590         (Fresize_subwindow): don't update cachel.
13591         (mark_subwindow_cachels):
13592         (update_subwindow_cachel_data):
13593         (add_subwindow_cachel):
13594         (get_subwindow_cachel_index):
13595         (update_subwindow_cachel):
13596         (reset_subwindow_cachels):
13597         (mark_subwindow_cachels_as_not_updated): deleted.
13598         (cache_subwindow_instance_in_frame_maybe): new function. Add a
13599         subwindow instance to the frame cache.
13600         (find_matching_subwindow): update for subwindow instance cache as
13601         a weak list.
13602         (update_widget_instances): ditto.
13603         (image_instance_type_to_mask):inlined.
13604         (free_frame_subwindow_instance_cache): new function. finalize all
13605         subwindows that are instantiated.
13606
13607         * glyphs.h (struct Lisp_Image_Instance): add display_data instead
13608         of cachel information.
13609         (IMAGE_INSTANCE_DISPLAY_X):
13610         (IMAGE_INSTANCE_DISPLAY_Y):
13611         (IMAGE_INSTANCE_DISPLAY_WIDTH):
13612         (IMAGE_INSTANCE_DISPLAY_HEIGHT):
13613         (XIMAGE_INSTANCE_DISPLAY_X):
13614         (XIMAGE_INSTANCE_DISPLAY_Y):
13615         (XIMAGE_INSTANCE_DISPLAY_WIDTH):
13616         (XIMAGE_INSTANCE_DISPLAY_HEIGHT): new accessors.
13617         remove subwindow_cachel structure and function references.
13618         (image_instance_type_to_mask): inline from glyphs.c
13619
13620         * redisplay.c (redisplay_frame): remove subwindow_cachel
13621         references.
13622
13623         * frame.h (struct frame): remove subwindow_cachels.
13624         (FRAME_SUBWINDOW_CACHE): access subwindow_instance_cache.
13625
13626         * frameslots.h: add subwindow_instance_cache.
13627
13628         * window.c (replace_window): check subwindow cache of replacement.
13629         (window_unmap_subwindows_cache_mapper):
13630         (window_unmap_subwindows): new functions. Unmap all subwindows
13631         cached on this window.
13632         (mark_window_as_deleted): unmap all subwindows.
13633
13634 2000-04-27  Andy Piper  <andy@xemacs.org>
13635
13636         * glyphs.h (IIFORMAT_METH_OR_GIVEN): cope with null meths.
13637
13638         * glyphs-widget.c (widget_layout): return something.
13639         (layout_layout): return something. Fail if not initialized.
13640         (layout_query_geometry): ditto.
13641         (image_instantiator_native_layout): new function. Initialized the
13642         native layout type.
13643         (widget_instantiate): don't do layout stuff here.
13644
13645         * glyphs.c (instantiate_image_instantiator): reorded calling or
13646         instantiate and post_instantiate with layout in between.
13647         (image_instance_layout): be more selective about deciding whether
13648         the layout has been done or not.
13649
13650         * glyphs.h (struct image_instantiator_methods): return a value
13651         from layout_method.
13652
13653 2000-04-26  Andy Piper  <andy@xemacs.org>
13654
13655         * glyphs.c (allocate_image_instance): make initial width and
13656         height unspecified. Set initialized to 0.
13657
13658         * syscommctrl.h new file. Encapsulates commctrl.h.
13659
13660         * syswindows.h new file. Encapsulates windows.h.
13661
13662         * ntplay.c: use new syswindows.h and syscommctrl.h header.
13663         * nt.c: ditto.
13664         * console-msw.h: ditto.
13665
13666         * redisplay-tty.c (tty_output_display_block): remove layout references.
13667
13668         * glyphs-msw.c (mswindows_widget_instantiate): use the domain
13669         window handle rather than just the frame.
13670
13671         * glyphs.c (mark_image_instance): remove layout references.
13672         (print_image_instance): ditto.
13673         (image_instance_equal): ditto.
13674         (image_instance_hash): ditto.
13675         (decode_image_instance_type): ditto.
13676         (encode_image_instance_type): ditto.
13677         (image_instantiate): ditto.
13678         (allocate_glyph): ditto.
13679         (Fimage_instance_height): ditto.
13680         (Fimage_instance_width): ditto.
13681         (update_subwindow): ditto.
13682
13683         * redisplay-x.c (x_output_display_block): recode for layouts as
13684         widgets.
13685
13686         * redisplay-output.c (redisplay_output_layout): recode for layouts
13687         as widgets.
13688         (compare_runes): remove layout references.
13689
13690         * redisplay-msw.c (mswindows_output_display_block): recode for
13691         layouts as widgets.
13692
13693         * glyphs-widget.c (image_instantiator_layout): remove
13694         layout_possible_dest_types.
13695         (layout_possible_dest_types): deleted.
13696
13697         * glyphs.h (image_instance_type): remove layout references.
13698         (struct Lisp_Image_Instance): ditto. Add initialized flag.
13699         (IMAGE_INSTANCE_INITIALIZED): new accessor.
13700         (XIMAGE_INSTANCE_INITIALIZED): ditto.
13701
13702 2000-04-25  Andy Piper  <andy@xemacs.org>
13703
13704         * glyphs-widget.c (image_instantiator_buttons):
13705         (image_instantiator_edit_fields):
13706         (image_instantiator_combo_box):
13707         (image_instantiator_scrollbar):
13708         (image_instantiator_progress_guage):
13709         (image_instantiator_tree_view):
13710         (image_instantiator_tab_control):
13711         (image_instantiator_labels):
13712         (image_instantiator_layout): call default post_instantiate method.
13713         (widget_post_instantiate): new function. Simply lays out the
13714         widgets.
13715
13716         * glyphs.h (struct image_instantiator_methods): add
13717         post_instantiate method.
13718
13719         * glyphs.c (instantiate_image_instantiator): add post_instantiate
13720         method calls.
13721
13722 2000-04-23  Andy Piper  <andy@xemacs.org>
13723
13724         * glyphs.h (struct image_instantiator_methods): add
13725         decode_domain_method.
13726         (struct Lisp_Image_Instance): remove subwindow frame - it can be
13727         derived from the domain.
13728         (IMAGE_INSTANCE_FRAME): new accessor.
13729         (XIMAGE_INSTANCE_FRAME): ditto.
13730
13731         * glyphs.c (print_image_instance): use IMAGE_INSTANCE_FRAME
13732         instead of _SUBWINDOW_FRAME.
13733         (finalize_image_instance): ditto.
13734         (Fimage_instance_foreground): ditto.
13735         (Fimage_instance_background): ditto.
13736         (image_instantiate): ditto.
13737         (update_subwindow_cachel): ditto.
13738         (update_subwindow): ditto.
13739         (unmap_subwindow): ditto.
13740         (map_subwindow): ditto
13741         (subwindow_instantiate): ditto.
13742         * glyphs-msw.c (mswindows_update_widget): ditto.
13743         (mswindows_progress_gauge_instantiate): ditto.
13744         (mswindows_tab_control_update): ditto.
13745         * glyphs-x.c (x_update_widget): ditto.
13746         (x_widget_instantiate): ditto.
13747         (x_tab_control_instantiate): ditto.
13748         (x_tab_control_update): ditto.
13749         * event-msw.c (mswindows_wnd_proc): ditto
13750
13751         * glyphs-widget.c (image_instantiator_layout): use
13752         subwindow_decode_domain.
13753         (image_instantiator_buttons): ditto.
13754         (image_instantiator_edit_fields): ditto.
13755         (image_instantiator_combo_box): ditto.
13756         (image_instantiator_scrollbar): ditto.
13757         (image_instantiator_progress_guage): ditto.
13758         (image_instantiator_tree_view): ditto.
13759         (image_instantiator_tab_control): ditto.
13760         (image_instantiator_labels): ditto.
13761         (image_instantiator_layout): ditto.
13762
13763         * glyphs.c: add instance error checking to many functions.
13764         (instantiate_image_instantiator): decode device from cache_domain.
13765         (image_instantiate): partially rewrite by using
13766         decode_image_instantiator_domain to determine what domain the
13767         instance needs to be cached in.
13768         (decode_image_instantiator_domain): new function. Determine what
13769         domain the image needs to be cached in.
13770         (check_window_subwindow_cache): new error checking function.
13771         (check_instance_cache_mapper): ditto.
13772         (check_image_instance_structure): ditto.
13773         (subwindow_decode_domain): new function. Encodes a window as a
13774         subwindow's cache domain.
13775         (image_instantiator_format_create): use it for text and
13776         subwindows.
13777
13778 2000-04-21  Andy Piper  <andy@xemacs.org>
13779
13780         * glyphs.c (image_instance_device): new function.
13781         (image_instance_frame): new function.
13782         (image_instance_window): new function.
13783         (image_instance_live_p): new function.
13784
13785         * window.c (mark_window_as_deleted): reset the subwindow_instance_
13786         cache to nil.
13787
13788         * glyphs.h (struct Lisp_Image_Instance): device->domain.
13789         (IMAGE_INSTANCE_DOMAIN): new accessor.
13790         (XIMAGE_INSTANCE_DOMAIN): ditto.
13791
13792         * glyphs-x.c (x_finalize_image_instance): device->domain.
13793
13794         * glyphs-msw.c (init_image_instance_geometry): device->domain.
13795         (mswindows_finalize_image_instance): ditto.
13796
13797         * glyphs-eimage.c (jpeg_instantiate): device->domain.
13798         (gif_instantiate): ditto.
13799         (png_instantiate): ditto.
13800         (tiff_instantiate): ditto.
13801
13802         * glyphs.c (instantiate_image_instantiator): use domain rather
13803         than device.
13804         (mark_image_instance): device -> domain.
13805         (print_image_instance): ditto.
13806         (finalize_image_instance): ditto.
13807         (image_instance_equal): ditto.
13808         (allocate_image_instance): ditto.
13809         (Fcolorize_image_instance): ditto.
13810         (query_string_geometry): ditto.
13811         (image_instantiate): ditto
13812         (query_string_font): ditto.
13813         (image_instantiate): ditto.
13814         (update_subwindow): ditto.
13815         (unmap_subwindow): ditto.
13816         (map_subwindow): ditto.
13817         (subwindow_instantiate): ditto.
13818
13819         * specifier.h (DOMAIN_DEVICE): new, semantically correct, decoder.
13820         (DOMAIN_FRAME): ditto.
13821         (DOMAIN_WINDOW): ditto.
13822         (DOMAIN_LIVE_P): ditto.
13823         (XDOMAIN_DEVICE): ditto.
13824         (XDOMAIN_FRAME): ditto.
13825         (XDOMAIN_WINDOW): ditto.
13826
13827         * specifier.c (Fvalid_specifier_domain_p): add image instances as
13828         a valid specifier domain.
13829
13830 2000-04-19  Andy Piper  <andy@xemacs.org>
13831
13832         * glyphs-widget.c (syms_of_glyphs_widget): remove
13833         widget-callback-current-channel.
13834         (vars_of_glyphs_widget): ditto.
13835         * glyphs.h: ditto
13836
13837         * gui.c (get_gui_callback): revert to previous behaviour.
13838
13839 2000-04-18  Andy Piper  <andy@xemacs.org>
13840
13841         * glyphs.h (struct Lisp_Image_Instance): add margin_width.
13842         (IMAGE_INSTANCE_MARGIN_WIDTH): new.
13843         (XIMAGE_INSTANCE_MARGIN_WIDTH): new.
13844
13845         * glyphs.c (image_instance_equal): add margin_width.
13846         (image_instance_hash): ditto.
13847
13848         * glyphs-widget.c (widget_instantiate): deal with margin-width.
13849         (layout_query_geometry): ditto.
13850         (layout_layout): ditto.
13851         (syms_of_glyphs_widget): add margin-width.
13852         (image_instantiator_layout): allow margin-width.
13853
13854         * glyphs.c (update_widget_instances): make a normal function.
13855         (syms_of_glyphs): remove Qupdate_widget_instances.
13856         * glyphs.h: ditto.
13857
13858         * gui-x.c (popup_selection_callback): use enqueue_magic_eval_event
13859         so that we don't corrupt ideas about the last event or
13860         command. Remove widget-callback-current-channel fiddling.
13861         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
13862
13863 2000-05-01  Martin Buchholz <martin@xemacs.org>
13864
13865         * XEmacs 21.2.33 is released.
13866
13867 2000-05-01  Yoshiki Hayashi  <yoshiki@xemacs.org>
13868
13869         * make-src-depend: Allow dots in header file name.
13870
13871 2000-05-01  Yoshiki Hayashi  <yoshiki@xmacs.org>
13872
13873         * mule-charset.h (struct charset_lookup): Add
13874         next_allocated_1_byte_leading_byte and
13875         next_allocated_2_byte_leading_byte.
13876         * mule-charset.c: Move above two variables so that those values
13877         will be dumped.
13878
13879 2000-04-26  Yoshiki Hayashi  <yoshiki@xemacs.org>
13880
13881         * insdel.c (find_charsets_in_bufbyte_string): Add Vcharset_ascii
13882         when string length is zero.
13883         (find_charsets_in_emchar_string): Ditto.
13884
13885 2000-04-29  Bjrn Torkelsson  <torkel@hpc2n.umu.se>
13886
13887         * lisp.h: extern Qdialog and Qmenubar.
13888
13889         * gui-x.c: added events.h.
13890                 also fixed typo which made the file uncompilable.
13891
13892         * general.c: Added Qmenubar and Qdialog
13893
13894 2000-04-28  Ben Wing  <ben@xemacs.org>
13895
13896         * frame-msw.c (mswindows_init_frame_1):
13897         * frame-msw.c (mswindows_mark_frame):
13898         * event-msw.c (mswindows_enqueue_dispatch_event):
13899         * console-msw.h:
13900         * console-msw.h (struct mswindows_frame):
13901         * console-msw.h (FRAME_MSWINDOWS_WIDGET_HASH_TABLE1):
13902         there are now three hash tables for callbacks.
13903         mswindows_enqueue_dispatch_event is no longer static.
13904
13905         * dialog-x.c (maybe_run_dbox_text_callback):
13906         * dialog-x.c (dbox_descriptor_to_widget_value):
13907         switch to new cons3 form for callbacks.
13908
13909         * glyphs-msw.c (mswindows_register_gui_item):
13910         * glyphs-msw.c (mswindows_widget_instantiate):
13911         * glyphs-msw.c (add_tree_item):
13912         * glyphs-msw.c (add_tab_item):
13913         new image instance parameter, so it can be passed to callback-ex.
13914         respect :callback-ex as well as :callback.
13915
13916         * glyphs-widget.c (VALID_GUI_KEYWORDS):
13917         add :callback-ex.
13918
13919         * glyphs.c (print_image_instance):
13920         prettify, e.g. now prints widget type.
13921
13922         * gui-x.h:
13923         certain funs have new image instance parameter.
13924
13925         * gui.c:
13926         * gui.c (get_gui_callback):
13927         * gui.c (gui_item_add_keyval_pair):
13928         * gui.c (gui_item_init):
13929         * gui.c (gui_add_item_keywords_to_plist):
13930         * gui.c (mark_gui_item):
13931         * gui.c (gui_item_hash):
13932         * gui.c (gui_item_equal):
13933         * gui.c (copy_gui_item):
13934         * gui.c (syms_of_gui):
13935         recognize callback-ex in a number of places.
13936         also, fix the annoying "can't get out of yes-no dialog" bug.
13937
13938         * gui.h:
13939         * gui.h (struct Lisp_Gui_Item):
13940         recognize callback-ex in a number of places.
13941
13942         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
13943         new parameter in button_item_to_widget_value.
13944
13945         * glyphs-x.c (x_update_widget):
13946         * glyphs-x.c (x_button_instantiate):
13947         * glyphs-x.c (x_button_update):
13948         * glyphs-x.c (x_progress_gauge_instantiate):
13949         * glyphs-x.c (x_edit_field_instantiate):
13950         * glyphs-x.c (x_combo_box_instantiate):
13951         * glyphs-x.c (x_tab_control_instantiate):
13952         * glyphs-x.c (x_label_instantiate):
13953         new image instance parameter in various places.
13954
13955         * event-Xt.c:
13956         * event-Xt.c (enqueue_Xt_dispatch_event):
13957         this fun gets exported.
13958
13959         * gui-msw.c:
13960         * gui-msw.c (mswindows_handle_gui_wm_command):
13961         handle both :callback and :callback-ex, and generate our own
13962         event because it's one of the callback-ex arguments.
13963
13964         * gui-x.c:
13965         * gui-x.c (popup_selection_callback):
13966         handle both :callback and :callback-ex, and generate our own
13967         event because it's one of the callback-ex arguments.
13968         * gui-x.c (button_item_to_widget_value):
13969         * gui-x.c (gui_items_to_widget_values_1):
13970         * gui-x.c (gui_item_children_to_widget_values):
13971         * gui-x.c (gui_items_to_widget_values):
13972         new image instance parameter in various places.
13973
13974         * fns.c (Freplace_list):
13975         fix small typo in doc string.
13976
13977         * lisp.h:
13978         declare enqueue_Xt_dispatch_event.
13979
13980 2000-04-28  Ben Wing  <ben@xemacs.org>
13981
13982         * buffer.c:
13983         * buffer.c (Frecord_buffer):
13984         * buffer.c (syms_of_buffer):
13985         delete record-buffer-hook.
13986
13987         * fns.c:
13988         * fns.c (Freplace_list):
13989         * fns.c (syms_of_fns):
13990         new primitive replace-list.
13991
13992         * frameslots.h:
13993         slot for old buffer-alist.
13994
13995         * lisp.h:
13996         exfun replace-list.
13997
13998         * redisplay.c:
13999         * redisplay.c (redisplay_frame):
14000         * redisplay.c (syms_of_redisplay):
14001         * redisplay.c (vars_of_redisplay):
14002         new hook buffer-list-changed-hook.
14003         call it.
14004
14005 2000-04-27  Ben Wing  <ben@xemacs.org>
14006
14007         * extents.h: extern in_modeline_generation.
14008
14009         * redisplay.c (generate_formatted_string_db): set
14010         in_modeline_generation.
14011
14012         * extents.c (extent_changed_for_redisplay): don't mark redisplay
14013         flags if in modeline generation.  otherwise frame-modified-tick
14014         is ticked far too often.
14015         Declare in_modeline_generation.
14016
14017 2000-04-26  Ben Wing  <ben@xemacs.org>
14018
14019         * emacs.c (vars_of_emacs): document quick-build "error-checking"
14020         option.
14021         (vars_of_emacs): add quick-build as an error-checking option.
14022         A bit kludgy, but there doesn't seem much point in creating
14023         a real var for this.
14024
14025         * config.h.in: put in an entry for QUICK_BUILD; remove NO_DOC_FILE.
14026
14027 2000-04-14  IKEYAMA Tomonori  <tomonori@suiyokai.org>
14028
14029         * redisplay.h (struct display_line): Add a new variable,
14030         line_continuation.
14031
14032         * redisplay.c (create_text_block): Set dl->line_continuation if
14033         the line continues.
14034         (create_string_text_block): Ditto.
14035         (regenerate_window_incrementally): Use line_continuation instead
14036         of searching continuation glyph.
14037         (add_margin_runes): Call add_glyph_rune.
14038         (add_glyph_rune): Handle margin glyph.
14039
14040 2000-04-20  Martin Buchholz  <martin@xemacs.org>
14041
14042         * filelock.c (fill_in_lock_file_name):
14043         ANSIfy.
14044         Check for IS_ANY_SEP instead of '/'.
14045         (lock_file_1):
14046         Avoid generating gratuitous garbage.  Call user_login_name() directly.
14047         Never check errno without first seeing that system call failed.
14048         (unlock_file): Add GCPRO.
14049         (Flock_buffer): Fix docstring.
14050         (Ffile_locked_p): Fix docstring.  Add GCPRO.
14051
14052 2000-04-19  Martin Buchholz  <martin@xemacs.org>
14053
14054         * sysdep.c (get_pty_max_bytes):
14055         Fix hangs on DEC OSF 4.0 when (process-send-string) sends
14056         strings longer than 252 bytes.
14057
14058         * md5.c: Unconditionally include ANSI header <limits.h>
14059
14060         * glyphs-x.c (convert_EImage_to_XImage):
14061         * lisp-union.h (union Lisp_Object):
14062         Use consistently the syntax #ifdef FEATURE, not #if FEATURE.
14063
14064 2000-04-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
14065
14066         * filelock.c (current_lock_owner): Remove unused variable o, p.
14067
14068 2000-04-17  Norbert Koch  <n.koch@eai-delta.de>
14069
14070         * callint.c: Remove multiply defined symbol Qlet
14071         (syms_of_callint): ditto.
14072
14073 2000-04-14  Andy Piper  <andy@xemacs.org>
14074
14075         * general.c (syms_of_general): add last-command, this-command, let
14076         and funcall.
14077
14078         * lisp.h: declare various symbols.
14079
14080         * glyphs.h: declare Qwidget_callback_current_channel;
14081
14082         * glyphs-widget.c (syms_of_glyphs_widget): add
14083         Qgui_callback_current_channel.
14084         (vars_of_glyphs_widget): add Vgui_callback_current_channel.
14085
14086         * gui-msw.c (mswindows_handle_gui_wm_command): bind
14087         widget-callback-current-channel when invoking the interactive
14088         arg. Also bind last-command and next-command when invoking the
14089         widget updates.
14090         * gui-x.c (popup_selection_callback): ditto.
14091
14092         * gui.c (get_gui_callback): massage args so that we are always
14093         calling eval. This allows us to add our own variable bindings
14094         outside.
14095
14096         * glyphs-x.c (x_button_instantiate): use
14097         gui_items_to_widget_values since this is GC safe.
14098         (x_progress_gauge_instantiate): ditto.
14099         (x_edit_field_instantiate): ditto.
14100         (x_label_instantiate): ditto.
14101
14102         * event-Xt.c (emacs_Xt_handle_magic_event): remove old printfs.
14103         (emacs_Xt_event_widget_focus_out): new function
14104         (emacs_Xt_event_widget_focus_in): new function. Set the keyboard
14105         focus.
14106         (emacs_Xt_event_add_widget_actions): new function. add focus
14107         functions as actions.
14108         (init_event_Xt_late): use it.
14109
14110 2000-04-14  Hrvoje Niksic  <hniksic@iskon.hr>
14111
14112         * event-stream.c (Fdispatch_event): Doc fix.
14113
14114 2000-03-29  SL Baur  <steve@musashimaru.m17n.org>
14115
14116         * postgresql.c: Remove all references to PQsetenv*.
14117
14118         * postgresql.h: Remove references to PGsetenvHandler object.
14119         * lrecord.h (lrecord_type): Ditto.
14120
14121 2000-04-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14122
14123         * glyphs-msw.h (struct mswindows_image_instance_data): Added
14124         real_heigh and real_width members, and accessor macros for these.
14125
14126         * glyphs-msw.c (init_image_instance_geometry): New function.
14127         (init_image_instance_from_dibitmap): Use it.
14128         (mswindows_resource_instantiate): Use it.
14129         (init_image_instance_from_xbm_inline): Use it.
14130         (mswindows_initialize_image_instance_mask): Use real bitmap
14131         geometry.
14132         (mswindows_create_resized_bitmap): Ditto.
14133         (mswindows_create_resized_mask): Ditto.
14134
14135         * redisplay-msw.c (mswindows_output_dibitmap): Stretch real mask
14136         and bitmap to their surface size.
14137
14138 2000-04-11  Jan Vroonhof  <jan@xemacs.org>
14139
14140         * process-unix.c (unix_send_process): Guard against process MIA
14141         after Faccept_process_output.
14142
14143 2000-04-11  Ben Wing  <ben@xemacs.org>
14144
14145         * eval.c (unbind_to_hairy): fix brokenness introduced by
14146         nanosecond speed improvements.
14147
14148 2000-04-07  Raymond Toy  <toy@rtp.ericsson.se>
14149
14150         * sunplay.c (init_device): To play sounds correctly, the device
14151         apparently needs to be initialized at least once by XEmacs.  Make
14152         it so.
14153
14154 2000-04-10  IKEYAMA Tomonori  <tomonori@suiyokai.org>
14155
14156         * redisplay.c (add_margin_runes): Add text image glyph
14157           handling.
14158
14159 2000-04-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
14160
14161         * lisp.h (DOESNT_RETURN): Don't declare as volatile when
14162         gcc is newer than 2.5.
14163
14164 2000-04-06  Colin Rafferty  <colin@xemacs.org>
14165
14166         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF): Created.
14167
14168         * fns.c (size_bit_vector):
14169         * alloc.c (size_vector):
14170         (make_vector_internal):
14171         (make_bit_vector_internal):
14172         (sweep_bit_vectors_1):
14173         Replace calls to offsetof with FLEXIBLE_ARRAY_STRUCT_SIZEOF macro.
14174
14175 2000-04-06  Andy Piper  <andy@xemacs.org>
14176
14177         * gmalloc.c (malloc): undo previous change.
14178         (malloc): ditto.
14179         (free): ditto.
14180         (realloc): ditto.
14181
14182 2000-04-06  IKEYAMA Tomonori <tomonori@suiyokai.org>
14183
14184         * line-number.c (buffer_line_number): Revert to former version.
14185
14186 2000-04-06  Andy Piper  <andy@xemacs.org>
14187
14188         * gmalloc.c (malloc): add error checking.
14189         (malloc): ditto.
14190         (free): ditto.
14191         (realloc): ditto.
14192
14193         * dialog-x.c (dbox_descriptor_to_widget_value): add extra
14194         button_item_to_widget_value arg.
14195
14196         * glyphs-x.c (x_button_instantiate): add extra
14197         button_item_to_widget_value arg.
14198         (x_progress_gauge_instantiate): ditto.
14199         (x_edit_field_instantiate): ditto.
14200         (x_label_instantiate): ditto.
14201
14202         * gui-x.c (gui_items_to_widget_values_1): add extra
14203         button_item_to_widget_value arg.
14204         (button_item_to_widget_value): add extra menu_item_p arg.
14205
14206         * gui-x.h: change signature of button_item_to_widget_value.
14207
14208         * menubar-x.c (menu_item_descriptor_to_widget_value_1): add extra
14209         button_item_to_widget_value arg.
14210
14211 2000-04-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
14212
14213         * buffer.h (struct buffer): auto_save_modified should be long.
14214
14215 2000-04-05  Andy Piper  <andy@xemacs.org>
14216
14217         * glyphs-widget.c (widget_instantiate): pixwidth != pixheight
14218         type.
14219         (button_query_geometry): give a little more room so that athena
14220         buttons fit.
14221
14222 2000-04-05  Andy Piper  <andy@xemacs.org>
14223
14224         * faces.c (complex_vars_of_faces): The widget face should inherit
14225         the font of the gui-element face.
14226
14227 2000-04-04  Andy Piper  <andy@xemacs.org>
14228
14229         * glyphs-x.c (x_button_update): new function. unconditionally
14230         update a button's state when the instance is dirty.
14231         (image_instantiator_format_create_glyphs_x): add x_button_update.
14232         (x_widget_instantiate): remove old resize cruft.
14233
14234 2000-04-02  Andy Piper  <andy@xemacs.org>
14235
14236         * frame.c (change_frame_size_1): The introduction of gutters means
14237         that we need to allow 0 as a potential frame dimension.
14238
14239 2000-04-02  IKEYAMA Tomonori  <tomonori@suiyokai.org>
14240
14241         * redisplay.c (add_glyph_rune): Don't set 0 to bufpos for text
14242         image glyph if allow_cursor.
14243         (add_hscroll_rune): Don't allow cursor to border glyph.
14244         (create_text_block): Ditto.
14245
14246         * redisplay-output.c (redisplay_move_cursor): Do nothing even if
14247         text not in buffer.
14248         (redisplay_output_layout): Call ensure_face_cachel_complete for
14249         text image glyph.
14250
14251
14252 2000-03-16  IKEYAMA Tomonori  <tomonori@suiyokai.org>
14253
14254         * redisplay.c (add_glyph_rune): Adding text image as text runes.
14255
14256         * redisplay-output.c (redisplay_move_cursor): NO_CURSOR if text
14257         not in buffer
14258
14259         * redisplay-tty.c (tty_output_display_block): Delete the routine
14260         for text image glyph
14261         * redisplay-x.c (x_output_display_block): ditto
14262         * redisplay-msw.c (mswindows_output_display_block): ditto
14263
14264 2000-02-02  Mike Alexander  <mta@arbortext.com>
14265
14266         Note: Some of these were committed by accident as part of other
14267         patches.
14268
14269         * regex.c (regex_compile): Avoid compiler warnings.
14270
14271         * ntproc.c (sys_spawnve): Avoid compiler warnings.
14272
14273         * nt.h: Declare term_ntproc correctly.
14274
14275         * nt.c: Remove incorrect declaration of get_home_directory which
14276         is declared correctly in lisp.h.
14277
14278         * keymap.c (get_keyelt): Avoid compiler warnings.
14279         (raw_lookup_key_mapper): Avoid compiler warnings.
14280
14281         * gutter.c (gutter_was_visible): Add return statement to avoid warning.
14282
14283         * glyphs-eimage.c (png_instantiate): Avoid compiler warnings.
14284
14285         * filemode.c (mode_string): Avoid compiler warnings.
14286
14287         * file-coding.c (Fcoding_system_aliasee): Add return statement to
14288         avoid warning.
14289
14290         * events-mod.h: Undef some things that winuser.h defines differently.
14291
14292         * data.c (Faset): Avoid compiler warnings.
14293
14294         * alloc.c (Fmake_byte_code): Avoid compiler warnings.
14295
14296 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
14297
14298         * sound.c (Fplay_sound_file): Wrap ESD in start/stop_interrupts.
14299         Fall through to simple beep on error.
14300         Replace "extern" by real header file.
14301
14302         * linuxplay.c: Use nativesound.h
14303         (play_sound_data): Return error code. Be less verbose on error.
14304
14305         * sunplay.c: Use nativesound.h
14306         (play_sound_data): Return error code. Be less verbose on error.
14307
14308         * ntplay.c: Use nativesound.h
14309         (play_sound_data): Return fake error code
14310
14311         * sgiplay.c: Use nativesound.h
14312         (play_sound_data): Return error code
14313
14314         * hpplay.c: Use nativesound.h, partially implement
14315         new error code. Break compilation until finished.
14316         (play_sound_data): error code.
14317
14318         * nativesound.h (play_sound_file):
14319           (play_sound_data): Prototype in new header.
14320
14321 2000-03-31  Andy Piper  <andy@xemacs.org>
14322
14323         * glyphs-widget.c: (button_query_geometry): new function. Adjust
14324         for toggle and radio buttons.
14325         (image_instantiator_buttons): use it.
14326
14327 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
14328
14329         * scrollbar-x.c (x_update_vertical_scrollbar_callback):
14330         (x_update_horizontal_scrollbar_callback): Return if no mirror was
14331         found. Scrollbar event probably belonged to some old config.
14332
14333 2000-03-31  Andy Piper  <andy@xemacs.org>
14334
14335         * glyphs-widget.c (widget_instantiate): use LAYOUT_VERTICAL rather
14336         than 1.
14337         (initialize_widget_image_instance): default layout to
14338         LAYOUT_HORIZONTAL rather than 0.
14339         (widget_instantiate): reverse the item list at the end rather than
14340         every iteration.
14341         (layout_layout): re-code for the border text at the front of the
14342         item list rather than at the end.
14343         (layout_query_geometry): ditto. Pick up fixed and dynamic sizes
14344         provided by the user.
14345         (widget_query_geometry): comment.
14346
14347 2000-03-30  Andy Piper  <andy@xemacs.org>
14348
14349         * glyphs-widget.c (image_instantiator_layout): allow standard
14350         widget keywords in layouts.
14351
14352         * gutter.c (output_gutter): cope with nil gutter contents.
14353
14354         * frame.c (Fset_frame_properties): add gutter docs.
14355
14356 2000-03-29  Andy Piper  <andy@xemacs.org>
14357
14358         * toolbar-msw.c (TBSTYLE_FLAT): add.
14359         (mswindows_output_toolbar): minor fiddling.
14360
14361 2000-03-29  Andy Piper  <andy@xemacs.org>
14362
14363         * gutter.c (output_gutter): force gutter size recalculation if
14364         what we are trying to display won't fit.
14365         (update_gutter_geometry): new function. A per-gutter version of
14366         update_frame_gutter_geometry.
14367         (update_frame_gutter_geometry): use it.
14368         (redraw_exposed_gutter): add extra debugging output.
14369
14370 2000-03-28  Mike Alexander  <mta@arbortext.com>
14371
14372         * dumper.c: Declare pdump_hFile and pdump_hMap (Windows only)
14373         (pdump_file_unmap): Implement it on Windows
14374         (pdump_file_get): Save alocated handles for pdump_file_unmap
14375
14376 2000-03-28  Andy Piper  <andy@xemacs.org>
14377
14378         * gui.c (get_gui_callback): treat Quit specially.
14379
14380 2000-03-27  Andy Piper  <andy@xemacs.org>
14381
14382         * glyphs.c (image_instantiate): be careful to check in the same
14383         way we assigned.
14384
14385 2000-03-27  Didier Verna  <didier@xemacs.org>
14386
14387         * config.h.in: define the proper SMART_INCLUDE macro.
14388         handle renaming of `foo_h_path' to `foo_h_file'.
14389
14390         * database.c: ditto.
14391
14392         * emacs.c: ditto.
14393
14394         * linuxplay.c: ditto.
14395
14396         * terminfo.c: ditto.
14397
14398         * tooltalk.h: ditto.
14399
14400 2000-03-27  Andy Piper  <andy@xemacs.org>
14401
14402         * glyphs-msw.c (mswindows_update_widget): make sure the widget
14403         gets updated whenever the face might have changed.
14404
14405 2000-03-26  Mike Alexander  <mta@arbortext.com>
14406
14407         * dumper.c (pdump_resource_free): Fix the comment.
14408
14409 2000-03-21  Olivier Galibert  <galibert@pobox.com>
14410
14411         * input-method-xlib.c (XIM_init_frame): Remove painful warning.
14412
14413 2000-03-22  Mike Alexander  <mta@arbortext.com>
14414
14415         * dumper.c: Include Windows headers on Windows
14416         (pdump_resource_free): Add a body to the function
14417         (pdump_load): exe_name -> exe_path and add some comments.
14418
14419 2000-03-25  Mike Alexander  <mta@arbortext.com>
14420
14421         * gui.c (copy_gui_item_tree): Return a value in all cases
14422
14423 2000-03-21  Didier Verna  <didier@xemacs.org>
14424
14425         * config.h.in: move INCLUDE_GLUE_1 and INCLUDE_GLUE_2 here from
14426         lwlib/config.h.in.
14427         (SMART_INCLUDE): new macro.
14428         (POSTGRES_INCLUDE): new macro to include postgresql headers from
14429         the proper location.
14430
14431         * postgresql.c: use it.
14432
14433         * inline.c: ditto.
14434
14435 2000-03-24  Andy Piper  <andy@xemacs.org>
14436
14437         * gutter.c (redraw_exposed_gutters): must be "in display" when we
14438         do this.
14439
14440 2000-03-24  Andy Piper  <andy@xemacs.org>
14441
14442         * redisplay-output.c (compare_runes): use image_instance_changed
14443         to detect changes. Do not depend on glyphs_changed, only depend on
14444         dirtiness.
14445          (redisplay_output_layout): add debug messages.
14446         (compare_runes): ditto.
14447
14448         * glyphs.h: declare new functions.
14449         (struct Lisp_Image_Instance): remove percent and associated
14450         accessors.
14451
14452         * gui.h: declare new copying functions.
14453
14454         * gui.c (copy_gui_item_tree): new function.
14455         (copy_gui_item): new function.
14456         (gui_item_id_hash): revert to standard hash.
14457         (gui_item_hash): ditto.
14458         (gui_item_hash_internal): deleted.
14459         (mark_gui_item): mark value.
14460         (gui_item_add_keyval_pair): add value.
14461         (gui_item_init): ditto.
14462         (gui_add_item_keywords_to_plist): ditto.
14463         (gui_item_equal): ditto.
14464         (syms_of_gui): add Q_value.
14465
14466         * glyphs-x.c (x_progress_gauge_update): use pending items and
14467         value for setting the state.
14468         (x_update_widget): don't set items from pending here.
14469
14470         * glyphs-widget.c (update_widget): update items here.
14471         (progress_gauge_set_property): use items for storing value. Put
14472         new value in pending items.
14473
14474         * glyphs-msw.c (mswindows_progress_gauge_update): use pending
14475         items for new value. Convert percent -> value.
14476         (mswindows_tab_control_update): don't update items here.
14477
14478         * glyphs.c (Fupdate_widget_instances): use image_instance_changed.
14479         (update_subwindow): ditto.
14480         (image_instance_changed): new function. Compare hash values and
14481         past and present widget items.
14482         (image_instantiate): We more careful about where we instantiate
14483         things.
14484         (image_instantiate): add error checking.
14485
14486         * gutter.c (syms_of_gutter): use -hook.
14487
14488 2000-03-20  Yoshiki Hayashi  <yoshiki@xemacs.org>
14489
14490         * console-tty.c (Fset_console_tty_input_coding_system): Use
14491         Qkeyboard.
14492         (Fset_console_tty_output_coding_system): Use Qterminal.
14493         (tty_init_console): Use Qkeyboard and Qterminal.
14494
14495 2000-03-21  Ben Wing  <ben@xemacs.org>
14496
14497         * ntproc.c (create_child): remove bogus HAVE_NTGUI's.
14498         From Mike Alexander <mta@arbortext.com>.
14499
14500 2000-03-21  Ben Wing  <ben@xemacs.org>
14501
14502         * event-msw.c (mswindows_need_event): Horrible kludge to fix
14503         process brokenness.  Proper implementation to come.
14504         * callproc.c:
14505         Rename call-process-internal to old-call-process-internal.
14506         New impl. in process.el.
14507
14508 2000-03-21  Martin Buchholz  <martin@xemacs.org>
14509
14510         * Makefile.in.in: Coalesce HAVE_NATIVE_SOUND code fragments.
14511
14512 2000-03-20  Andy Piper  <andy@xemacs.org>
14513
14514         * glyphs.c (full_list_hash): make hashes of the same elements in
14515         different orders return different values.
14516
14517 2000-03-20  Martin Buchholz <martin@xemacs.org>
14518
14519         * XEmacs 21.2.32 is released.
14520
14521 2000-03-20  Martin Buchholz  <martin@xemacs.org>
14522
14523         * buffer.h (DFC_ALLOCA_USE_CONVERTED_DATA):
14524         (DFC_MALLOC_USE_CONVERTED_DATA):
14525         Add aliasing-safe casts to allow use with char* or unsigned char*
14526         lvalues.
14527
14528         * eldap.c (Fldap_open):
14529         (Fldap_search_basic):
14530         (Fldap_add):
14531         (Fldap_modify):
14532         Make C++-compilable.
14533         Make sure GCPRO'ed variables are initialized.
14534         Use temp variables to avoid repeated calls to Flength.
14535
14536 2000-03-16  Martin Buchholz  <martin@xemacs.org>
14537
14538         * sysfile.h:
14539         Make sure PATH_MAX is always defined.
14540         Include limits.h for PATH_MAX.
14541         Deprecate use of MAXPATHLEN.
14542
14543 2000-03-10  Martin Buchholz  <martin@xemacs.org>
14544
14545         * emacs.c: Add reinit_vars_of_fileio.
14546         * symsinit.h: Add reinit_vars_of_fileio.
14547         * fileio.c (reinit_vars_of_fileio): New.
14548         * fileio.c (Fmake_temp_name):
14549         Initialize temp_name random number from microseconds to make
14550         collisions even less likely.  Initialize always at process startup
14551         time.  (make-temp-name) used to return the same file name twice in
14552         a row when PDUMP.
14553         Random stylistic fiddling.
14554         Comment fixes.
14555
14556 2000-03-20  Andy Piper  <andy@xemacs.org>
14557
14558         * glyphs.c (image_instantiate): allow text glyphs to be
14559         instantiated in the minibuffer window.
14560
14561 2000-03-19  Andy Piper  <andy@xemacs.org>
14562
14563         * glyphs.c (image_instance_hash): be careful about which items we
14564         hash on.
14565
14566         * glyphs-widget.c (tab_control_set_property): record into pending
14567         items rather than the actual items.
14568
14569         * glyphs-x.c (x_update_widget): use pending items to update with.
14570
14571         * glyphs-msw.c (mswindows_tab_control_update): use pending items
14572         to update with.
14573
14574         * glyphs.c (mark_image_instance): mark pending items.
14575
14576         * window.c (Fset_window_configuration): record the buffer.
14577         (Fselect_window): totally revert previous change which breaks many
14578         things.
14579
14580 2000-03-18  Andy Piper  <andy@xemacs.org>
14581
14582         * glyphs-msw.c (mswindows_tab_control_update): force selected
14583         item.
14584
14585         * glyphs.c (image_instantiate): don't allow the minibuffer as a
14586         window domain cache, otherwise we get inconsistencies at
14587         startup. There is something fishy at startup which can lead to the
14588         minibuffer being the selected window when the gutter content is
14589         instantiated.
14590
14591         * gui.c (parse_gui_item_tree_list): add probably unnecessary
14592         gcpros.
14593         (parse_gui_item_tree_children): ditto.
14594         (parse_gui_item_tree_item): ditto.
14595
14596         * glyphs.c (Fupdate_widget_instances): return something.
14597
14598 2000-03-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
14599
14600         * window.c (Fselect_window): Undo 2000-03-17 change.
14601
14602 2000-03-17  SL Baur  <steve@musashimaru.m17n.org>
14603
14604         * postgresql.c (Fpq_setenv): Remove this turkey when linking
14605         against v7.0 libraries.  Insta-coredump city until the postgres
14606         folks fix it.
14607
14608 2000-03-17  Andy Piper  <andy@xemacs.org>
14609
14610         * faces.c (complex_vars_of_faces): don't give the widget face an
14611         inherited background pixmap.
14612
14613         * glyphs-msw.c (mswindows_tab_control_instantiate): select the
14614         selected item.
14615
14616         * event-stream.c (Fdispatch_non_command_events): return something.
14617
14618         * gutter.c (output_gutter): use widget face.
14619         (clear_gutter): ditto.
14620
14621         * NEWS: adjust again.
14622
14623         * window.c (Fselect_window): make sure this runs to completion to
14624         avoid oddities with Fset_window_configuration.
14625         (Fcurrent_window_configuration): in general do not save the
14626         minibuffer as the selected window.
14627
14628         * glyphs.h (IMAGE_INSTANCE_HASH_DEPTH): increase.
14629
14630 2000-03-16  Olivier Galibert  <galibert@pobox.com>
14631
14632         * emacs.c (Frunning_temacs_p): Revert previous patch.
14633         (main_1): Reinitialize running_temacs_argc if pdump_load succeeds.
14634
14635 2000-03-16  Andy Piper  <andy@xemacs.org>
14636
14637         * glyphs-x.c (x_tab_control_update): if no widget values then
14638         return.
14639
14640         * NEWS: update for new features.
14641
14642         * event-Xt.c (emacs_Xt_force_event_pending): new function. Post a
14643         synthetic event to the native system.
14644         (reinit_vars_of_event_Xt): set force_event_pending to
14645         emacs_Xt_force_event_pending.
14646
14647         * events.h (struct event_stream): add force_event_pending.
14648
14649         * specifier.c (recompute_one_cached_specifier_in_window): add
14650         comment.
14651
14652         * redisplay.c (redisplay_frame): don't call
14653         update_frame_subwindows. Reset subwindow cachels when
14654         subwindows_changed, removing this was an optimization too far.
14655
14656         * redisplay-output.c (compare_runes): reorganize so that we catch
14657         glyph changes when we want them. Set optimize_output when this
14658         would help layouts.
14659         (redisplay_output_layout): remove frame_really_changed, use
14660         optimize_output instead.
14661
14662         * redisplay-msw.c (mswindows_output_display_block): reset
14663         optimize_output after outputting a glyph.
14664         * redisplay-x.c (x_output_display_block): ditto.
14665         * redisplay-tty.c (tty_output_display_block): ditto.
14666
14667         * gutter.c: (specifier_vars_of_gutter): use new spec changed
14668         functions.
14669         (gutter_specs_changed): do specific gutter positions.
14670         (top_gutter_specs_changed): new function. Only update the
14671         specified gutter specs.
14672         (bottom_gutter_specs_changed): ditto.
14673         (left_gutter_specs_changed): ditto.
14674         (right_gutter_specs_changed): ditto.
14675
14676         * gui.c (gui_item_hash_internal): new function, does a real hash.
14677         (gui_item_id_hash): use it.
14678         (gui_item_hash): hash the eval'ed gui_item.
14679
14680         * gui-x.c (popup_selection_callback): send an eval event to call
14681         Fupdate_widget_instances.
14682
14683         * gui-msw.c (mswindows_handle_gui_wm_command): send an eval event
14684         to call Fupdate_widget_instances.
14685
14686         * glyphs.h (struct Lisp_Image_Instance): add optimize_output flag.
14687         (IMAGE_INSTANCE_OPTIMIZE_OUTPUT): access it.
14688
14689         * glyphs.c: (update_frame_subwindows): deleted.
14690         (Fupdate_widget_instances): new function for updating the dirty
14691         state of widgets that might have changed.
14692         (syms_of_glyphs): add Qupdate_widget_instances.
14693         (full_list_hash): hash a list completely.
14694         (image_instance_hash): use it for items and properties.
14695
14696         * frame-msw.c (mswindows_size_frame_internal): remove unused
14697         variable.
14698
14699         * faces.h (struct face_cachel): fix comment.
14700
14701         * event-stream.c (Fdispatch_non_command_events): new
14702         function. Process non-command events, forcing an event cycle
14703         beforehand.
14704         (syms_of_event_stream): declare.
14705         (event_stream_force_event_pending): new function. Force an event
14706         on the native event queue so that an event cycle will occur next
14707         time we check.
14708
14709         * event-msw.c:
14710         (struct ntpipe_shove_stream):
14711         (mswindows_enqueue_dispatch_event):
14712         (mswindows_dequeue_dispatch_event):
14713         (mswindows_cancel_dispatch_event):
14714         (mswindows_pump_outstanding_events):
14715         (mswindows_drain_windows_queue):
14716         (mswindows_handle_paint):
14717         (mswindows_wnd_proc):
14718         (mswindows_key_to_emacs_keysym):
14719         (get_process_input_waitable):
14720         (emacs_mswindows_delete_stream_pair): re-indent file.
14721         (mswindows_need_event): do not process further fds if the windows
14722         fd is set, otherwise you get endless XM_BUMPQUEUE cycles. This
14723         fixes the 100% cpu problem.
14724         (reinit_vars_of_event_mswindows): set force_event_pending to 0.
14725
14726 2000-03-15  Olivier Galibert  <galibert@pobox.com>
14727
14728         * alloc.h: New.
14729         * dumper.h: New.
14730         * dumper.c: New.
14731
14732         * emacs.c: Moved dump file searching to dumper.c.
14733         (Frunning_temacs_p): Fixed.
14734
14735         * alloc.c: Moved everything pdump-related to dumper.c.  Removed
14736         last_lrecord_type_index_assigned.
14737
14738 2000-02-20  Olivier Galibert  <galibert@pobox.com>
14739
14740         * symsinit.h: Added reinit parameter to init_console_stream
14741         declaration.
14742
14743         * lisp.h: Added file parameter to pdump_load declaration.
14744
14745         * emacs.c (main_1): Added -nd/--nodump-file and -sd/--show-dump-id
14746         support.  Added dump file searching.
14747
14748         * config.h.in: Added EMACS_PROGNAME.
14749
14750         * console-stream.c (init_console_stream): Fix reinitialisation
14751         when running from temacs.
14752
14753         * alloc.c (pdump): Add id support.
14754         (pdump_load): Add file parameter and signature/id support.
14755
14756         * Makefile.in.in: Add full pdump support.
14757
14758 2000-03-15  SL Baur  <steve@musashimaru.m17n.org>
14759
14760         * postgresql.c: Update documentation to reflect latest code
14761         status.
14762         (print_result): Show tuple counts in printed representation when
14763         appropriate.
14764         (Fpq_put_nbytes): MULE-ize.
14765         (Fpq_get_line_async): Ditto.
14766
14767 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
14768
14769         * postgresql.c (Fpq_lo_import): Fix return value.
14770         Suggested by: Kenji Itoh <keit@tpj.co.jp>.
14771
14772 2000-03-13  Ben Wing  <ben@xemacs.org>
14773
14774         * alloc.c (pdump_load):
14775         Fix compile warning under mswin.
14776
14777 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
14778
14779         * postgresql.c: Mule-ization, bug fixes.
14780         Use PG_CODING to encapsulate coding system name changes.
14781         Backport a version of TO_EXTERNAL format for 21.1/InfoDock.
14782         (pg-coding-system): Create.
14783
14784         (Fpq_conn_defaults): Mule-ize.
14785         (Fpq_connectdb): Mule-ize & bug fix.
14786         (Fpq_connect_start): Mule-ize.
14787         (Fpq_set_client_encoding): Mule-ize.
14788         (Fpq_finish): Document `DEAD' connection status.
14789         (Fpq_clear): Ditto.
14790         (Fpq_pgconn): Mule-ize.
14791         (Fpq_exec): Mule-ize & bug fix.
14792         (Fpq_send_query): Ditto.
14793         (Fpq_get_result): Ditto.
14794         (Fpq_res_status): Mule-ize.
14795         (Fpq_result_error_message): Mule-ize.
14796         (Fpq_ntuples): fix comments.
14797         (Fpq_fname): Mule-ize.
14798         (Fpq_fnumber): Mule-ize.
14799         (Fpq_ftype): fix comments.
14800         (Fpq_get_value): Mule-ize.
14801         (Fpq_cmd_status): Ditto.
14802         (Fpq_cmd_tuples): Ditto.
14803         (Fpq_oid_value): Ditto.
14804         (Fpq_notifies): Ditto.
14805         (Fpq_lo_import): Ditto.
14806         (Fpq_lo_export): Ditto.
14807         (Fpq_get_line): Ditto.
14808         (Fpq_put_line): Mule-ize and bug fix.
14809         (syms_of_postgresql): Fix ifdef'ing, add pg-coding-system.
14810
14811 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
14812
14813         * postgresql.c (vars_of_postgresql): Mule-ize.
14814         (Fpq_conn_defaults): Ditto.
14815
14816 2000-03-12  Ben Wing  <ben@xemacs.org>
14817
14818         * alloc.c (Fmake_byte_code):
14819         * alloc.c (debug_string_purity_print):
14820         * alloc.c (pdump_backtrace):
14821         * alloc.c (pdump_get_indirect_count):
14822         * alloc.c (pdump_register_sub):
14823         * alloc.c (pdump_register_object):
14824         * alloc.c (pdump_register_struct):
14825         * alloc.c (pdump_dump_data):
14826         * alloc.c (pdump_reloc_one):
14827         Minor cleanups.
14828
14829         * console-msw.c:
14830         * console-msw.c (GetConsoleHwnd):
14831         * console-msw.c (msw_hide_console):
14832         * console-msw.c (msw_show_console):
14833         * console-msw.c (msw_ensure_console_buffered):
14834         * console-msw.c (msw_output_console_string):
14835         * console-msw.c (console_type_create_mswindows):
14836
14837         a) Added functions to manipulate the console window for use with
14838         shell support.
14839
14840         b) Added support for writing text to the console, which is now
14841         used under Windows when xemacs is not being run non-interactively,
14842         to write text that would otherwise be destined for stdout because
14843         under these circumstances, text written to stdout tends to
14844         disappear and not be seen.
14845
14846         * console-msw.h:
14847         * event-Xt.c:
14848         * event-Xt.c (x_event_to_emacs_event):
14849         * event-Xt.c (describe_event_window):
14850         * events-mod.h (XEMACS_MOD_CONTROL):
14851         * events.c:
14852         * events.c (Fmake_event):
14853         * events.c (character_to_event):
14854         * events.c (event_to_character):
14855         * events.c (format_event_object):
14856         * events.c (Fevent_modifiers):
14857         * events.h:
14858         * events.h (struct key_data):
14859         * events.h (struct button_data):
14860         * events.h (struct misc_user_data):
14861         * frame-x.c (Fcde_start_drag_internal):
14862         * frame-x.c (Foffix_start_drag_internal):
14863         * gpmevent.c (Freceive_gpm_event):
14864         * keymap.c:
14865         * keymap.c (bucky_sym_to_bucky_bit):
14866         * keymap.c (control_meta_superify):
14867         * keymap.c (make_key_description):
14868         * keymap.c (keymap_lookup_directly):
14869         * keymap.c (create_bucky_submap):
14870         * keymap.c (keymap_store):
14871         * keymap.c (define_key_check_and_coerce_keysym):
14872         * keymap.c (define_key_parser):
14873         * keymap.c (define_key_alternate_name):
14874         * keymap.c (Fdefine_key):
14875         * keymap.c (raw_lookup_key_mapper):
14876         * keymap.c (struct map_keymap_unsorted_closure):
14877         * keymap.c (map_keymap_unsorted_mapper):
14878         * keymap.c (map_keymap_sort_predicate):
14879         * keymap.c (map_keymap_sorted):
14880         * keymap.c (accessible_keymaps_mapper_1):
14881         * keymap.c (where_is_recursive_mapper):
14882         * keymap.c (describe_map_mapper):
14883         * keymap.c (describe_map_sort_predicate):
14884         * keymap.c (describe_map):
14885         * keymap.c (complex_vars_of_keymap):
14886         And a number of other files, the key modifier preprocessor
14887         constants that xemacs uses have names that conflict with constants
14888         defined under MS Windows for other purposes, so they were renamed
14889         to begin with the prefix XEMACS_. The variables that hold such
14890         modifiers were changed to consistently be of type int to fix
14891         various compile warnings.
14892
14893         * console.c (complex_vars_of_console):
14894         * device.c:
14895         * device-msw.c:
14896         * device-msw.c (mswindows_finish_init_device):
14897         * device-msw.c (msw_get_workspace_coords):
14898         * device-msw.c (mswindows_device_system_metrics):
14899         and various other files, added support for a new
14900         device property called offset-workspace which returns the position
14901         of the upper left corner of the workspace area and goes along with
14902         the existing size-workspace property.
14903
14904         * dialog-msw.c:
14905         * dialog-msw.c (push_bufbyte_string_as_unicode):
14906         * dialog-msw.c (mswindows_popup_dialog_box):
14907         Added support for XEmacs-style accelerator specifications in
14908         button text.  Note: I didn't add support for this under X Windows,
14909         and somebody needs to do this.
14910
14911         * dialog.c:
14912         * dialog.c (Fpopup_dialog_box):
14913         Documented the support for accelerators that was just mentioned.
14914
14915         editfns.c (get_home_directory): Changed behavior under Windows
14916         when HOME not defined; former behavior was irretrievably broken.
14917
14918         * emacs.c:
14919         * emacs.c (main_1):
14920         * emacs.c (main):
14921         * minibuf.c (clear_echo_area_internal):
14922         * minibuf.c (echo_area_append):
14923         * print.c:
14924         * print.c (std_handle_out_external):
14925         * print.c (std_handle_out_va):
14926         * print.c (fatal):
14927         * print.c (write_string_to_stdio_stream):
14928         * print.c (output_string):
14929         * print.c (debug_print):
14930         * print.c (debug_backtrace):
14931         * print.c (debug_short_backtrace):
14932         Cleaned up the code that prints text to stdout so that this can be
14933         changed to output into a console window instead under MS Windows,
14934         as described above.
14935
14936         * eval.c:
14937         * eval.c (DEFEND_AGAINST_THROW_RECURSION):
14938         * eval.c (internal_catch):
14939         * eval.c (unwind_to_catch):
14940         * eval.c (throw_or_bomb_out):
14941         * eval.c (condition_case_1):
14942         * eval.c (signal_1):
14943         * eval.c (check_error_state_sanity):
14944         * eval.c (call_with_suspended_errors_1):
14945         * eval.c (call_with_suspended_errors):
14946         * eval.c (reinit_vars_of_eval):
14947         Added code to catch throw loops and check for a pesky bug that may
14948         be gone now.
14949
14950         * event-msw.c:
14951         * event-msw.c (key_needs_default_processing_p):
14952         * event-msw.c (mswindows_wnd_proc):
14953         * event-msw.c (mswindows_modifier_state):
14954         * event-msw.c (emacs_mswindows_quit_p):
14955         * event-msw.c (vars_of_event_mswindows):
14956         a) Added support for using the alt key to select menu items as is
14957         standard under MS Windows.  This is controlled using the variable
14958         menu-accelerator-enabled, just like under X Windows.  There is an
14959         option on the options menu to turn this support on.  I really
14960         think that it should be on by default under Windows, but I'm not
14961         going to make this change yet.
14962
14963         b)  Added support for dynamic display size changes under Windows.
14964
14965         * event-stream.c:
14966         * event-stream.c (maybe_echo_keys):
14967         * event-stream.c (Fnext_event):
14968         * event-stream.c (command_builder_find_leaf):
14969         * event-stream.c (lookup_command_event):
14970         * event-stream.c (execute_command_event):
14971         * event-stream.c (pre_command_hook):
14972         * event-stream.c (post_command_hook):
14973         * event-stream.c (syms_of_event_stream):
14974         * event-stream.c (vars_of_event_stream):
14975         * event-stream.c (complex_vars_of_event_stream):
14976         * events.h (struct command_builder):
14977
14978         a) Tried to clean up a little bit the horribly written x-specific
14979         accelerator code that crept into this file.  I moved this code
14980         into menubar-x.c where it belongs. I also needed to move the
14981         command builder structure into the file events.h because it is
14982         accessed directly by this accelerator code.  What I didn't do, but
14983         which should be done at some point, is to properly abstract this
14984         code using device methods instead of the kludgy way that it
14985         currently hooks into the event code.
14986
14987         b) Added the lisp variables this-command-properties and
14988         last-command- properties, which should be used to synchronize two
14989         adjacent commands in preference to playing games with the variable
14990         this-command, which is typically what happens.
14991
14992         c) Added some slightly nasty code to hook into the lisp support
14993         for shifted- motion-key selection.  This is actually necessary for
14994         somewhat complicated reasons, which are described in
14995         simple.el. (NB: I think the proper thing would be to have the code
14996         that calls the pre and post command hooks also call out to generic
14997         lisp functions in simple.el, where all built-in stuff could be
14998         added.  I will think about this more.)
14999
15000         * event-unixoid.c (poll_fds_for_input):
15001         * lread.c (readchar):
15002         * redisplay-tty.c (tty_clear_frame):
15003         * redisplay-x.c (x_get_gc):
15004         * signal.c (interrupt_signal):
15005         And a whole bunch of other files: fixed up places that printed
15006         directly to stderr to instead call the function stderr_out so that
15007         the changes I made under Windows work correctly.
15008
15009         * filemode.c (mode_string):
15010         Warning fixes.
15011
15012         * frame-msw.c:
15013         * frame-msw.c (mswindows_size_frame_internal):
15014         Fixed the computation of frame size and position to keep the frame
15015         within the workspace area, rather than within the physical
15016         dimensions of the screen, so that the frame doesn't overlap window
15017         manager decorations, such as the start menu and toolbar, typically
15018         at the bottom of the screen.
15019
15020         * frame.c (vars_of_frame):
15021         Changed the default frame title format under MS Windows to consist
15022         of buffername-XEmacs, which is standard under MS Windows.  I think
15023         it might be a good idea to change this everywhere because I think
15024         it is superior to the current frame title format, but this is the
15025         kind of change that is likely to cause some people to get annoyed,
15026         so I'm not making it.
15027
15028         * glyphs-eimage.c (png_instantiate): Fixed some compile warnings.
15029
15030         * gui-msw.c (mswindows_handle_gui_wm_command):
15031         Fixed compile warnings.
15032
15033         * gui-x.c:
15034         * gui-x.c (strdup_and_add_accel):
15035         * gui-x.c (button_item_to_widget_value):
15036         * gui-x.h:
15037         Added code to automatically put an accelerator onto the beginning
15038         of menu items that don't have one as is now the standard, and is
15039         described more later.  Also fixed things so that the menu item
15040         name can be an evaluated expression, again a new standard.
15041
15042         * gui.c:
15043         * gui.c (gui_item_add_keyval_pair):
15044         * gui.c (make_gui_item_from_keywords_internal):
15045         * gui.c (gui_add_item_keywords_to_plist):
15046         * gui.c (gui_item_accelerator):
15047         * gui.c (gui_name_accelerator):
15048         * gui.c (gui_item_included_p):
15049         * gui.c (gui_item_display_flush_left):
15050         * gui.c (gui_item_display_flush_right):
15051         * gui.c (parse_gui_item_tree_item):
15052         * gui.c (parse_gui_item_tree_children):
15053         * gui.c (parse_gui_item_tree_list):
15054         Mule-ized.  Cleanup.  GCPRO addition.
15055
15056         * line-number.c (buffer_line_number):
15057         * lisp.h:
15058         * lisp.h (EMACS_INT_MAX):
15059         Added the manifest constant EMACS_INT_MIN corresponding to the
15060         existing constant EMACS_INT_MAX.  This is partially to fix compile
15061         warnings under Windows, and partly for cleanliness.
15062
15063         * menubar-msw.c:
15064         * menubar-msw.c (REPLACE_ME_WITH_GLOBAL_VARIABLE_WHICH_CONTROLS_RIGHT_FLUSH):
15065         * menubar-msw.c (msw_translate_menu_or_dialog_item):
15066         * menubar-msw.c (displayable_menu_item):
15067         * menubar-msw.c (populate_menu_add_item):
15068         * menubar-msw.c (populate_or_checksum_helper):
15069         * menubar-msw.c (populate_menu):
15070         * menubar-msw.c (update_frame_menubar_maybe):
15071         * menubar-msw.c (prune_menubar):
15072         * menubar-msw.c (msw_char_is_accelerator):
15073         * menubar-msw.c (unsafe_handle_wm_initmenu_1):
15074         * menubar-msw.c (mswindows_handle_wm_command):
15075         * menubar-msw.c (mswindows_handle_wm_initmenupopup):
15076         * menubar-msw.c (mswindows_handle_wm_initmenu):
15077         * menubar-msw.c (mswindows_update_frame_menubars):
15078         * menubar-msw.c (mswindows_free_frame_menubars):
15079         * menubar-msw.c (mswindows_popup_menu):
15080         Fixed a bug in handling accelerators where an extra character
15081         would be displayed in the menu item.  Also generalized the
15082         function displayable_menu_item because it is now used by the
15083         dialog box code as well.  And finally, added code in the functions
15084         that create the menubar to extract a list of accelerators for the
15085         top level menubar, which is used in the event code to determine
15086         whether a particular alt-key combination should be used to invoke
15087         a menu item, or should be passed through to access the standard
15088         XEmacs keymap binding for this key combination.
15089
15090         Much needed GCPROing.
15091
15092         * menubar-x.c:
15093         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
15094         * menubar-x.c (menu_item_descriptor_to_widget_value):
15095         * menubar-x.c (restore_in_menu_callback):
15096         * menubar-x.c (x_popup_menu):
15097         * menubar-x.c (menu_move_up):
15098         * menubar-x.c (menu_move_down):
15099         * menubar-x.c (menu_move_left):
15100         * menubar-x.c (menu_move_right):
15101         * menubar-x.c (menu_select_item):
15102         * menubar-x.c (command_builder_operate_menu_accelerator):
15103         * menubar-x.c (menu_accelerator_junk_on_error):
15104         * menubar-x.c (command_builder_find_menu_accelerator):
15105         * menubar-x.c (Faccelerate_menu):
15106         * menubar.h:
15107         Moved a whole bunch of code here that was previously in
15108         event-stream.c as described above.  There is also code connected
15109         to the new standard of adding an accelerator to the beginning of
15110         menu items that don't have one as described above and below.
15111
15112         * menubar.c:
15113         * menubar.c (menu_parse_submenu_keywords):
15114         * menubar.c (Fmenu_find_real_submenu):
15115         * menubar.c (Fnormalize_menu_item_name):
15116         * menubar.c (syms_of_menubar):
15117         * menubar.c (vars_of_menubar):
15118         * menubar.c (complex_vars_of_menubar):
15119
15120         a) Cleaned up a bunch of documentation and improved it.
15121
15122         b) XEmacs now automatically adds an accelerator onto the beginning
15123         of any menu items that don't have one.  I did this because there
15124         will inevitably be some menu items on the main menubar that don't
15125         have accelerators on them because the package that adds that
15126         particular menu item hasn't yet been fixed up to have accelerators
15127         in them and it looked rather strange to have some items with and
15128         some items without accelerators, especially since even in items
15129         without accelerators, you can, at least under windows, still
15130         access the item through an accelerator corresponding to the first
15131         character in the item's name.  If people don't like this behavior,
15132         I can add a variable to turn it off optionally, but I'm not sure
15133         this is a good idea because we really do need to have accelerators
15134         on all of the menu items, and if a package doesn't like the
15135         accelerators being put on the first character, then it should put
15136         the accelerators where they belong.
15137
15138         c) I made a behavior change, which is that the descriptor that
15139         specifies the text of the menu item, which formerly was just a
15140         string, can now also be an evaluated expression.  This makes this
15141         descriptor parallel with all of the others, which could also be
15142         evaluated expressions.  This also obviates the need for the
15143         keyword :label, which was previously listed in the documentation
15144         as unimplemented, and which was for the same purpose.
15145
15146         d) GCPROing.
15147
15148         * ntproc.c:
15149         * ntproc.c (new_child):
15150         * ntproc.c (sys_spawnve):
15151         * ntproc.c (find_child_console):
15152         * ntproc.c (sys_kill):
15153         Fixed compile warnings.  By the way, this file should really go
15154         away entirely, and this will happen as soon as Kirill makes his
15155         final round of process cleanups, which affect the function
15156         call-process.
15157
15158         * process-nt.c:
15159         * process-nt.c (struct nt_process_data):
15160         * process-nt.c (find_process_from_pid):
15161         * process-nt.c (send_signal_the_nt_way):
15162         * process-nt.c (enable_child_signals):
15163         * process-nt.c (find_child_console):
15164         * process-nt.c (send_signal_the_95_way):
15165         * process-nt.c (nt_finalize_process_data):
15166         * process-nt.c (ensure_console_window_exists):
15167         * process-nt.c (nt_create_process):
15168         * process-nt.c (nt_kill_child_process):
15169         * process-nt.c (nt_kill_process_by_pid):
15170         * process-nt.c (nt_open_network_stream):
15171         * process-nt.c (vars_of_process_nt):
15172         Copied over code from Emacs 20.5 to correctly send signals to sub-
15173         processes under Windows 95.  Also added code to automatically
15174         create and hide console window when a sub-process is created under
15175         Windows 95, which obviates the need for the separate runemacs.exe
15176         executable, and finally implemented some variables that were
15177         implemented in Emacs 20.5, but previously not in XEmacs.  These
15178         include mswindows- start-process-share-console and
15179         mswindows-start-process-inherit-error-mode. (Both of these only
15180         apply to Windows 95.)
15181
15182         * regex.c (regex_compile): Fixed a compile warning.
15183
15184         * select-msw.c:
15185         * select-msw.c (mswindows_own_selection):
15186         * select-msw.c (mswindows_get_foreign_selection):
15187         * select-msw.c (mswindows_disown_selection):
15188         * select-msw.c (console_type_create_select_mswindows):
15189         * select-msw.c (syms_of_select_mswindows):
15190         Cleaned up the file and implemented the device method
15191         selection_exists_p, which had accidentally been left out.  Also
15192         removed four lisp functions that were remnants from before the
15193         time when the selection code was properly device abstracted.
15194         These functions are no longer needed because there are generic
15195         equivalents, and because they were added recently and don't exist
15196         in FSF Emacs, I don't think there's any problem with just deleting
15197         them.
15198
15199         * sysdep.c:
15200         * sysdep.c (sys_subshell):
15201         Fixed a compile warning, although in this case there's probably
15202         something wrong with this code, and it ought to be looked into
15203         more thoroughly by somebody who understands it.
15204
15205         * window.c:
15206         * window.c (Fwindow_text_area_height):
15207         * window.c (Fwindow_width):
15208         * window.c (Fwindow_full_width):
15209         * window.c (Fwindow_pixel_width):
15210         * window.c (debug_print_window):
15211         * window.c (syms_of_window):
15212         Added functions window-text-area-height and window-full-width,
15213         which are functions for returning various width and height
15214         characteristics of a window. (One of these functions is necessary
15215         for making the file dialog box work correctly, and the other one
15216         was added for completeness.)  Also added a table to the
15217         documentation for window-height which describes the entire scheme
15218         for accessing width and height characteristics of a window.
15219
15220 2000-03-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15221
15222         * nt.c (fstat): Added a comment for another problem with
15223         non-encapsulated [f]stat(), reported by Adrian Aichner
15224         <aichner@ecf.teradyne.com>.
15225
15226 2000-03-11  Andy Piper  <andy@xemacs.org>
15227
15228         * window.c (make_dummy_parent): initialize subwindow instance
15229         cache.
15230         (Fset_window_configuration): zero extent_modiff.
15231
15232 2000-03-10  Andy Piper  <andy@xemacs.org>
15233
15234         * redisplay.c (Fredraw_frame): reset the changed_set flags so that
15235         more changes can be triggered.
15236         (Fredisplay_frame): ditto.
15237         (Fredraw_device): ditto.
15238         (Fredisplay_device): ditto.
15239         (redisplay_frame): make non-static.
15240         (redisplay_frame): call update_frame_gutter_geometry outside of
15241         display proper.
15242
15243         * gutter.h: declare update_frame_gutter_geometry.
15244
15245         * redisplay.h: declare redisplay_frame.
15246
15247         * gutter.c (update_frame_gutter_geometry): move geometry changes
15248         in update_frame_gutters here. Geometry changes can only occur
15249         outside of redisplay.
15250         (update_frame_gutters): remove geometry change code.
15251         (Fredisplay_gutter_area): make sure that we are in display when we
15252         update and that we have flushed any size changes.
15253
15254 2000-03-11  Andy Piper  <andy@xemacs.org>
15255
15256         * alloc.c (pdump_dump_data): remove i & count shadows.
15257
15258 2000-02-27  Mike Alexander  <mta@arbortext.com>
15259
15260         * sysdep.h: Declare pdump_read_file
15261
15262         * sysdep.c (pdump_read_file): New function
15263
15264         * alloc.c (pdump_load): Call pdump_read_file to get the portable
15265         dump data
15266
15267 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
15268
15269         * lrecord.h: add `lrecord_type_pgsetenv'.
15270
15271 2000-03-08  SL Baur  <steve@musashimaru.m17n.org>
15272
15273         * symsinit.h: declare (vars|syms)_of* functions.
15274         * lrecord.h: add `lrecord_type_pgconn' and 'lrecord_type_pgresult'.
15275
15276 2000-03-06  SL Baur  <steve@musashimaru.m17n.org>
15277
15278         * config.h.in: Add symbols HAVE_POSTGRESQL and HAVE_POSTGRESQLV7
15279
15280         * inline.c: Include postgresql.h lrecord stuffs to placate buggy
15281         GCCs.
15282
15283         * emacs.c (main_1): Call postgres initialization code.
15284
15285         * postgresql.h: New file.  PostgreSQL RDBMS support.
15286         * postgresql.c: New file.
15287
15288 2000-03-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
15289
15290         * redisplay-output.c (redisplay_output_display_block): Disable
15291         redundant code.
15292
15293 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
15294
15295         * mule-canna.c (Fcanna_henkan_region): Translate doc-string.
15296         (Fcanna_henkan_next): Ditto.
15297         (Fcanna_bunsetu_henkou): Ditto.
15298         (Fcanna_henkan_kakutei): Ditto.
15299         (Fcanna_henkan_end): Ditto.
15300         (Fcanna_henkan_quit): Ditto.
15301         (Fcanna_henkan_next): Set retun value correctly.
15302         (c2mu): Use unsigned char instead of signed char.
15303
15304 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
15305
15306         * emacs.c (main_1): Always call syms_of_gui.
15307         * inline.c: include gui.h
15308
15309 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
15310
15311         * redisplay.c (Vvisible_bell): Renamed from visible_bell and
15312         converted to Lisp_Object.
15313         (Qtop_bottom): New variable.
15314         (syms_of_redisplay): Initialize it.
15315         * redisplay.h (Vvisible_bell): Ditto.
15316         * sound.c (ding): Ditto and check if Vvisible_bell is nil.
15317         * redisplay-x.c (x_flash): When Vvisible_bell is top-bottom,
15318         only flash top and bottom.
15319
15320 2000-03-08  Andy Piper  <andy@xemacs.org>
15321
15322         * buffer.c (Frename_buffer): record new buffer name the right way.
15323
15324 2000-03-08  Andy Piper  <andy@xemacs.org>
15325
15326         * glyphs.c (update_subwindow): increase hash depth so that widget
15327         items get picked up properly.
15328
15329         * redisplay-output.c (compare_runes): increase hash depth so that
15330         widget items get picked up properly.
15331
15332 2000-03-08  Andy Piper  <andy@xemacs.org>
15333
15334         * gutter.c (output_gutter): add some debug.
15335
15336         * glyphs.h (struct Lisp_Image_Instance): add display_hash.
15337         (IMAGE_INSTANCE_DISPLAY_HASH): new macro.
15338         (XIMAGE_INSTANCE_DISPLAY_HASH): ditto.
15339
15340         * redisplay-output.c (compare_runes): use display_hash to
15341         determine if glyphs really are not the same.
15342
15343         * glyphs.c (update_subwindow): check display_hash to see if
15344         anything really needs to be updated. If not then do
15345         nothing. Record the display_hash after updating.
15346         (image_instance_equal): compare the image_instance face also.
15347
15348 2000-03-07  Yoshiki Hayashi  <yoshiki@xemacs.org>
15349
15350         * redisplay.h: Fix comment style.
15351
15352 2000-03-08  Jonathan Harris  <jhar@tardis.ed.ac.uk>
15353
15354         * consle-msw.h (struct mswindows_frame):
15355         Added new member paint_pending to indicate whether a WM_PAINT
15356         magic event has been queued for this frame.
15357
15358         * event-msw.c (mswindows_drain_windows_queue):
15359         Don't queue a WM_PAINT magic event if one is already queued.
15360         (emacs_mswindows_handle_magic_event): clear paint_pending flag.
15361
15362         * frame-msw.c (mswindows_init_frame_1): initialise paint_pending flag.
15363
15364 2000-03-07  Didier Verna  <didier@xemacs.org>
15365
15366         * dired.c: #include `regex.h' after `sysfile.h'.
15367
15368 2000-03-06  Martin Buchholz  <martin@xemacs.org>
15369
15370         * sound.c (init_nas_sound): Fix compiler warning.
15371
15372         * alloc.c (ALIASING_VOIDPP_DEREFERENCE): New.
15373         (FREE_STRUCT_P):
15374         (MARK_STRUCT_AS_FREE):
15375         (MARK_STRUCT_AS_NOT_FREE):
15376         Make `gcc -fstrict-aliasing' work properly.
15377
15378 2000-03-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>
15379
15380         * device-msw.c (mswindows_finish_init_device): Call CoInitialize().
15381         (mswindows_delete_device): Call CoUnnitialize().
15382
15383         * event-msw.c (mswindows_wnd_proc): WM_DROPFILES: Decode Shortcuts.
15384
15385 2000-02-25    <CraigL@DyCon.com>
15386
15387         * process-nt.c: MinGW now has <shellapi.h>, but still needs
15388         <errno.h>.
15389
15390         * sysdep.c: This extern declaration for environ prevents MinGW
15391         from finding the variable in CRTDLL.DLL.
15392
15393         * s\mingw32.h (PBS_SMOOTH): Removed, now defined in cygwin's
15394         windows headers.
15395         (SHGFI_EXETYPE): ..
15396         (WM_MOUSEWHEEL): ..
15397         (_WIN32_IE): Added, needed to get the TCS_BOTTOM and TCS_VERTICAL
15398         definitions.
15399         (MMRESULT): Removed, now defined in cygwin's windows headers.
15400         (TIMECAPS): ..
15401         (uid_t,gid_t,pid_t,ssize_t): ..
15402         (_timeb): Removed, MinGW defines both _timeb and timeb.
15403         (HAVE_H_ERRNO): Added.
15404         (HAVE_TZNAME): Added, configure is not detecting this.
15405
15406 2000-02-03  IKEYAMA Tomonori <tomonori@suiyokai.org>
15407
15408         * chartab.h (XCHAR_TABLE_VALUE_UNSAFE): New macro.
15409         * syntax.c (syntax_match): Use it.
15410
15411         * cmds.c: Import auto-fill-chars from FSF Emacs.
15412         (Vauto_fill_chars): New variables.
15413         (internal_self_insert): Check Vauto_fill_chars.
15414         (vars_of_cmds):
15415         Declare auto-fill-chars as a Lisp variable and initialize it.
15416
15417 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
15418
15419         * fileio.c (Fmake_symbolic_link):
15420         (Ffile_symlink_p):
15421         Run handlers even if local machine doesn't have symlinks.
15422
15423 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
15424
15425         * event-msw.c (mswindows_drain_windows_queue):
15426         Don't generate paint magic events for non-XEmacs frames.
15427
15428 2000-03-05  Andy Piper  <andy@xemacs.org>
15429
15430         * redisplay.c (redisplay_frame): generate_displayable_area and
15431         friends assumes that we are not in GC, we therefore have to make
15432         sure that this doesn't happen.
15433
15434         * gutter.c (calculate_gutter_size): generate_displayable_area
15435         assumes that we are not in GC, we therefore have to make sure that
15436         this doesn't happen.
15437
15438 2000-03-05  Martin Buchholz  <martin@xemacs.org>
15439
15440         * opaque.c (DEFINE_LRECORD_IMPLEMENTATION): opaque_ptr ==> opaque-ptr
15441
15442 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
15443
15444         * redisplay.c (regenerate_window): Make sure we set a sane value
15445         for end_pos even if we jump out of the loop.
15446         (regenerate_window): Answer Ben's question :-).
15447         (start_end_of_last_line): Add may_error argument.
15448         (start_of_last_line):
15449         (end_of_last_line): Pass may_error = 0.
15450         (end_of_last_line_may_error): New function.
15451         (pixel_to_glyph_translation): Use it, so we don't crash in
15452         event_to_glyph.
15453
15454 2000-03-04  Andy Piper  <andy@xemacs.org>
15455
15456         * window.h (struct window): add gutter_extent_modiff.
15457
15458         * window.c (allocate_window): zero out gutter_extent_modiff.
15459
15460         * redisplay.h: declare sync_display_line_structs.
15461
15462         * redisplay.c (add_glyph_rune): add a better comment.
15463
15464         * redisplay-output.c (sync_display_line_structs): made non-static.
15465         (compare_runes): remove unneccesary glyph cachel access.
15466
15467         * gutter.h: declare gutter_extent_signal_changed_region_maybe.
15468
15469         * gutter.c (output_gutter): don't output the gutter if extent
15470         changes only involve extents in buffers. use 4 sets of display
15471         lines.
15472         (gutter_extent_signal_changed_region_maybe): new function. Mark
15473         extents in gutters as changed.
15474         (update_frame_gutters): use 4 sets of display lines.
15475         (reset_gutter_display_lines): ditto.
15476         (free_frame_gutters): ditto.
15477         (redraw_exposed_gutter): force output of gutters.
15478
15479         * frame.h (struct frame): add 4 sets of gutter display lines.
15480
15481         * extents.c: (extent_changed_for_redisplay): signal changes to
15482         extents in strings in the gutter as well as extents in buffers.
15483
15484 2000-03-02  Andy Piper  <andy@xemacs.org>
15485
15486         * gutter.c (specifier_vars_of_gutter): cosmetic changes.
15487
15488         * frame.c (Fmake_frame): make sure the gutters get initialized
15489         after the frame is visible.
15490         (set_frame_selected_window): re-arrange compilation macros a
15491         little.
15492         (change_frame_size_1): mark gutters changed.
15493
15494         * device.c (Fset_device_class): mark gutters changed.
15495
15496 2000-03-01  Andy Piper  <andy@xemacs.org>
15497
15498         * window.c (window_top_frame_gutter_height): deleted.
15499         (window_bottom_frame_gutter_height): ditto.
15500         (window_left_frame_gutter_height): ditto.
15501         (window_right_frame_gutter_height): ditto.
15502         (window_top_gutter_height): don't use them.
15503         (window_bottom_gutter_height): ditto.
15504         (window_left_gutter_width): ditto.
15505         (window_right_gutter_width): ditto.
15506         (Fsplit_window): ditto.
15507         (Fwindow_pixel_edges): don't use border dimensions here.
15508
15509         * scrollbar.c (update_scrollbar_instance): don't take gutters into account.
15510         (update_scrollbar_instance): ditto.
15511
15512         * redisplay.c (generate_modeline): don't take gutters into account.
15513         (generate_modeline): ditto.
15514         (redisplay_frame): small gutter display optimization.
15515
15516         * redisplay-x.c (x_output_vertical_divider): don't take gutters into account.
15517
15518         * redisplay-msw.c (mswindows_output_vertical_divider): don't take
15519         gutters into account.
15520
15521         * gutter.h (WINDOW_REAL_*_GUTTER_BOUNDS): remove bogus checks
15522         for window position and type.
15523
15524         * gutter.c (get_gutter_coords): fix for frame gutters.
15525         (update_frame_gutters): update frame geometry if the gutters have
15526         changed.
15527         (init_frame_gutters): record current gutter geometries.
15528
15529         * glyphs-msw.c (mswindows_subwindow_instantiate): remove unused
15530         var.
15531         (mswindows_widget_instantiate): ditto.
15532
15533         * frame.h (struct frame): add current_gutter_bounds.
15534
15535         * frame.c (change_frame_size_1): position window and minibuffer
15536         appropriately taking into account the frame gutters.
15537
15538         * frame-x.c: (x_initialize_frame_size): take into account the
15539         frame gutters.
15540
15541 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
15542
15543         * emacs.c (data-directory):  Xref `locate-data-file' in docstring.
15544
15545 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
15546
15547         * alloc.c (dumpopaquevec): Increase dimension for --with-canna.
15548
15549 1999-12-30  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
15550
15551         * file-coding.c (reset_decoding_stream): Clear previous
15552         detection state when autodetect.
15553
15554 2000-02-29  Didier Verna  <didier@xemacs.org>
15555
15556         * extents.c (set_extent_glyph_1): don't require extents to be
15557         attached.
15558
15559 2000-02-27  Andy Piper  <andy@xemacs.org>
15560
15561         * gutter.c (Fset_default_gutter_position): don't default left and
15562         right gutter visibility to t.
15563         (Fset_default_gutter_position): run
15564         default-gutter-position-changed-hook.
15565         (syms_of_gutter): add default-gutter-position-changed-hook.
15566
15567 2000-02-26  Andy Piper  <andy@xemacs.org>
15568
15569         * specifier.c (Fmake_specifier): add gutter references.
15570
15571         * gutter.h (RAW_WINDOW_GUTTER): new macro.
15572
15573         * lisp.h: declare Fvalid_plist_p.
15574
15575         * gutter.c (gutter_geometry_changed_in_window): mark the modeline
15576         as changed.
15577         (default_gutter_visible_p_changed_in_window): invalidate gutter as
15578         well as its visibility so that it gets reconstructed.
15579         (construct_window_gutter_spec): new function. Construct a string
15580         to be displayed in the gutter from a plist of strings. Take care
15581         to only use elements that are declared as visible.
15582         (calculate_gutter_size): use RAW_WINDOW_GUTTER instead of
15583         WINDOW_GUTTER.
15584         (gutter_validate): allow plists of strings in the specifier.
15585         (gutter_specs_changed): construct the real_gutter from the gutter
15586         specs using construct_window_gutter_spec.
15587         (gutter_visible_validate): gutter-visible is a new specifier type.
15588         (Fgutter_visible_specifier_p): new function for the new specifier.
15589         (syms_of_gutter): declare gutter-visible and
15590         Fgutter_visible_specifier_p.
15591         (specifier_type_create_gutter): intitalize new gutter-visible
15592         specifier.
15593         (reinit_specifier_type_create_gutter): ditto.
15594         (specifier_vars_of_gutter): use new specifier type for gutter
15595         visibility.
15596         (init_frame_gutters): construct real_gutter correctly.
15597         (Fgutter_specifier_p): beef up documentation.
15598         (Fgutter_size_specifier_p): ditto.
15599
15600         * winslots.h: add real_gutter slots.
15601
15602 2000-02-25  Andy Piper  <andy@xemacs.org>
15603
15604         * device-msw.c: Be kind to older cygwin versions. From Raymond
15605         Toy <toy@rtp.ericsson.se>.
15606
15607         * gui-msw.c (Fmswindows_shell_execute): Remove things unknown to
15608         earlier cygwins. From Raymond Toy <toy@rtp.ericsson.se>.
15609
15610 2000-02-25  Martin Buchholz  <martin@xemacs.org>
15611
15612         * elhash.c (MARK_OBJ): Practice macro hygiene.
15613
15614 2000-02-24  Martin Buchholz  <martin@xemacs.org>
15615
15616         * miscplay.c: s/__inline__/inline/g;
15617         * glyphs-msw.c (set_mono_pixel): INLINE ==> static inline
15618         (get_device_compdc): INLINE ==> static inline
15619         * *.[ch]: Change INLINE to INLINE_HEADER globally.
15620         find -name '*.h' | \
15621         xargs global-replace \
15622         's/(^|(?<=[^A-Za-z0-9_]))INLINE((?=[^A-Za-z0-9_])|$)/INLINE_HEADER/g'
15623
15624 2000-02-25  Andy Piper  <andy@xemacs.org>
15625
15626         * window.c (window_top_frame_gutter_height): new function.
15627         (window_top_window_gutter_height): ditto.
15628         (window_top_gutter_height): use them.
15629         (window_bottom_frame_gutter_height): new function.
15630         (window_bottom_window_gutter_height): ditto.
15631         (window_bottom_gutter_height): use them.
15632         (window_left_window_gutter_width): new function.
15633         (window_left_frame_gutter_width): ditto.
15634         (window_left_gutter_width): use them.
15635         (window_right_window_gutter_width): new function.
15636         (window_right_frame_gutter_width): ditto.
15637         (window_right_gutter_width): use them.
15638         (window_pixel_height): new function. calulate window pixel height
15639         with frame gutter involvement.
15640         (Fsplit_window): calculate new sizes taking frame gutters into
15641         account.
15642         (window_char_height_to_pixel_height): don't include frame gutters.
15643         (window_char_height): use window_pixel_height.
15644         (window_pixheight): rename from window_pixel_height.
15645         (change_window_height): use it.
15646         (window_pixel_height_to_char_height): don't include frame gutters.
15647         (window_char_width_to_pixel_width): ditto.
15648
15649 2000-02-25  Andy Piper  <andy@xemacs.org>
15650
15651         * glyphs.h (IMAGE_INSTANCE_FACE): glyph might be nil, don't crash
15652         if it is.
15653
15654 2000-02-24  Martin Buchholz  <martin@xemacs.org>
15655
15656         * alloc.c (staticpro):
15657         (staticpro_nodump):
15658         (dumpstruct):
15659         (dumpopaque):
15660         (pdump_wire):
15661         (pdump_wire_list):
15662         (compact_string_chars):
15663         (pdump_dump_wired):
15664         Convert:  if (foo) abort();  ==>  assert (! foo);
15665
15666         * eldap.c (Fldap_search_basic):
15667         (Fldap_add):
15668         (Fldap_modify):
15669         (Fldap_delete):
15670         Fix compiler warnings, and possible crashes if (random) return
15671         value were to be used.
15672
15673 2000-02-21  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15674
15675         * device-msw.c: Workaround ResetDC failure.
15676
15677         * frame-msw.c (msprinter_init_frame_3): Added an assertion before
15678         applying a devmode.
15679
15680         * redisplay-msw.c (get_frame_dc): Added start_page_p.
15681         (mswindows_text_width): Do not start printer page.
15682
15683         * console-msw.h (CHECK_MSGDI_DEVICE): Added this and friends.
15684
15685         * glyphs-msw.c: Added image methods to msprinter console and
15686         msprinter-specific image instantiation.
15687
15688 2000-02-20  Mike Alexander  <mta@arbortext.com>
15689
15690         * select-msw.c (Fmswindows_set_clipboard): GC protect more things
15691         to avoid crashes when selection-sets-clipboard is on
15692         (mswindows_own_selection): ditto
15693
15694 2000-02-19  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15695
15696         * glyphs-msw.c:
15697         * redisplay-msw.c (get_frame_dc):
15698         (get_frame_compdc):
15699         * console-msw.h:
15700         * device-msw.c (mswindows_init_device):
15701         (mswindows_delete_device):
15702         (msprinter_init_device):
15703         (msprinter_delete_device):
15704         * frame-msw.c (mswindows_init_frame_1):
15705         (mswindows_delete_frame):
15706         (msprinter_init_frame_3):
15707         (msprinter_delete_frame): Move compatible DC to device object from
15708         frame object, for both mswindows and msprinter. Only one at a time
15709         is needed, it is a real waste to have one per frame!
15710
15711 2000-02-23  Andy Piper  <andy@xemacs.org>
15712
15713         * glyphs.c: add dynamic width and height elements.
15714         (image_instance_equal): ditto.
15715
15716         * glyphs-widget.c (widget_query_geometry): calculate width and
15717         height dynamically if required.
15718         (initialize_widget_image_instance): initialize dynamic dimensions.
15719         (widget_instantiate): pick-up dynamic dimensions.
15720
15721         * glyphs.h (struct Lisp_Image_Instance): add width and height for
15722         dynamic determination. Add appropriate macros.
15723
15724         * gutter.h (WINDOW_GUTTER_BORDER_WIDTH): make non-integer
15725         dimensions safe.
15726         (WINDOW_GUTTER_SIZE): ditto.
15727         (WINDOW_GUTTER_SIZE_INTERNAL): ditto.
15728
15729         * redisplay-msw.c (get_frame_compdc): gcc can't cope with this
15730         inline.
15731         (get_frame_dc): ditto.
15732
15733         * redisplay.h (GLOBAL_RESET_CHANGED_FLAGS): don't reset faces
15734         here.
15735
15736 2000-02-23  Martin Buchholz <martin@xemacs.org>
15737
15738         * XEmacs 21.2.31 is released.
15739
15740 2000-02-22  Ben Wing <ben@xemacs.org>
15741
15742         * ntheap.c (allocate_heap): Make sure `ptr' is initialized.
15743
15744 2000-02-22  Andy Piper  <andy@xemacs.org>
15745
15746         * glyphs-x.c (x_widget_instantiate): don't explicitly resize here.
15747
15748 2000-02-21  Mike Sperber <mike@xemacs.org>
15749
15750         * .dbxrc:
15751         * .gdbinit:
15752         * Makefile.in.in: Remove obsolete EMACSBOOTSTRAP... environment
15753         variables.
15754
15755 2000-02-21  Mike Sperber <mike@xemacs.org>
15756
15757         * s/aix4.h: Declare getaddrinfo broken for AIX 4, which it is.
15758
15759 2000-02-21  Martin Buchholz <martin@xemacs.org>
15760
15761         * XEmacs 21.2.30 is released.
15762
15763 2000-02-20  Martin Buchholz  <martin@xemacs.org>
15764
15765         Performance hacking.
15766         * *.c (syms_of_*):
15767         Add INIT_LRECORD_IMPLEMENTATION macros, paired with
15768         DEFINE_LRECORD_IMPLEMENTATION macros in the same file.
15769         * emacs.c (main_1):
15770         * lisp.h (DEFUN):
15771         * console.c (DEFVAR_CONSOLE_LOCAL_1):
15772         * buffer.c (DEFVAR_BUFFER_LOCAL_1):
15773         * symeval.h (DEFVAR_SYMVAL_FWD):
15774         * symbols.c (guts_of_unbound_marker):
15775         Make all c_readonly objects also lisp_readonly and marked for life.
15776         * lrecord.h (struct lrecord_implementation):
15777         Document flags better.
15778         * lrecord.h (DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION_WITH_PROPS):
15779         * lrecord.h (DECLARE_LRECORD):
15780         * lrecord.h (XSETRECORD):
15781         * lrecord.h (RECORDP):
15782         * lrecord.h (RECORD_TYPEP):
15783         * lrecord.h (RECORD_MARKER): New.
15784         * lrecord.h (error_check_*):
15785         * lrecord.h (CONCHECK_NONRECORD):
15786         * lrecord.h (MAKE_LRECORD_IMPLEMENTATION):
15787         * lrecord.h (INIT_LRECORD_IMPLEMENTATION): New.
15788         * lrecord.h (set_lheader_implementation):
15789         * lrecord.h (enum lrecord_type): New.
15790         * symeval.h (SYMBOL_VALUE_MAGIC_P):
15791         * alloc.c (disksave_object_finalization_1):
15792         * alloc.c (mark_object):
15793         * alloc.c (lrecord_type_index):
15794         * alloc.c (tick_lcrecord_stats):
15795         * alloc.c (Fgarbage_collect):
15796         * alloc.c (init_alloc_once_early):
15797         * alloc.c (pdump_load):
15798         * alloc.c (GC_CHECK_LHEADER_INVARIANTS): New.
15799         * alloc.c (lrecord_type_index): Delete.
15800         Make lisp object type indexes be constant.
15801           Makes (byte-compile) 5% faster.
15802         Put all marker functions into their own array.
15803           Makes (garbage-collect) 5% faster.
15804         Optimize SYMBOL_VALUE_MAGIC_P.
15805           Makes (byte-compile) 2-3% faster.
15806         * config.h.in (gc_checking_assert): New.
15807         * alloc.c: Use gc_checking_assert().
15808         * .dbxrc: Make compatible with new object type implementation.
15809         * .gdbinit: Make compatible with new object type implementation.
15810         * alloc.c: Delete all symbols defined only for debugging, such as
15811         Lisp_Type_Vector and lrecord_charset.
15812
15813 2000-02-21  Andy Piper  <andy@xemacs.org>
15814
15815         * gui-msw.c (Fmswindows_shell_execute): fix file location
15816         problems.
15817
15818         * buffer.c (Fkill_buffer): remove buffer from alist buffer
15819         unshowing so that set_window_buffer doesn't undo
15820         kill_buffer_hook's hard work.
15821
15822         * glyphs-widget.c (tab_control_query_geometry): don't count the
15823         first item when calculating geometry.
15824
15825         * glyphs.c (map_subwindow): remove redundant code.
15826         (update_frame_subwindows): be more circumspect about when to
15827         update subwindows.
15828
15829         * glyphs-x.c (x_update_widget): Properly fix sizing bug. Fix bug
15830         when items haven't changed. Update faces if faces have changed as
15831         well as just the widget face.
15832         (x_tab_control_update): Update faces if faces have changed as well
15833         as just the widget face.
15834
15835 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
15836
15837         * device-msw.c: (mswindows_delete_device): Remove redundant DDE
15838         registration.
15839         (build_syscolor_string): Use mswindows_color_to_string to try to
15840         get a named color.
15841         (mswindows_device_system_metrics): Reverse the foreground and
15842         background colors so that they match the documentation.
15843
15844         * objects-msw.c: (mswindows_X_color_map): tweak some values so
15845         they match the default Windows palette.
15846         (mswindows_color_to_string): New function.
15847
15848 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
15849
15850         * s/windowsnt.h: Only use __declspec(noreturn) with MSVC>=6.
15851
15852 2000-02-18  Olivier Galibert  <galibert@pobox.com>
15853
15854         * m/*, s/*: Removed obsolete DATA_SEG_BITS, PURE_SEG_BITS,
15855         WORD_MACHINE, SIGN_EXTEND_CHAR and EXPLICIT_SIGN_EXTEND.
15856
15857         * symbols.c (init_symbols_once_early): Removed obsolete
15858         DATA_SEG_BITS related kludge.
15859         (defvar_magic): Ditto.
15860
15861         * malloc.c: Removed obsolete DATA_SEG_BITS
15862         * ralloc.c: Ditto.
15863         * mem-limits.h: Ditto.
15864
15865         * Makefile.in.in: Removed obsolete HAVE_SHM
15866         * emacs.c: Ditto.
15867
15868 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
15869
15870         *  device-msw.c (mswindows_delete_device): Free DDE string
15871         handles.
15872
15873 2000-02-16  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15874
15875         * keymap.c (get_keyelt):
15876         * unexnt.c (unexec):
15877         * vm-limit.c (memory_warnings):
15878         * ntheap.c (recreate_heap):
15879         * ntheap.h (UNINIT_PTR):
15880         * select-msw.c (Fmswindows_get_clipboard):
15881         (Fmswindows_set_clipboard):
15882         * objects-msw.h (MSWINDOWS_BAD_HFONT):
15883         * objects-msw.c:
15884         * menubar-msw.c (displayable_menu_item):
15885         * glyphs-msw.c:
15886         * glyphs-msw.h (IMAGE_INSTANCE_MSWINDOWS_MASK):
15887         * sysdep.c (sys_subshell):
15888         * process-nt.c (nt_create_process):
15889         * nt.c (normalize_filename):
15890         (dostounix_filename):
15891         (unixtodos_filename):
15892         * ntproc.c (win32_executable_type):
15893         * ntplay.c (play_sound_data_1):
15894         (play_sound_file):
15895         * editfns.c (get_home_directory):
15896         * event-msw.c (struct winsock_stream):
15897         (mswindows_dde_callback):
15898         * device-msw.c (msprinter_init_device):
15899         (msprinter_get_devmode_copy): Frobbed syntax frivolities.
15900
15901         * toolbar-msw.c (mswindows_free_frame_toolbars): Paramters to
15902         mswindows_clear_toolbar were swapped!
15903
15904         * objects-msw.c:(colormap_t):
15905         (fontmap_t):
15906         * emacs.c (struct standard_args): Fixed const jumble.
15907
15908         * glyphs-widget.c (update_widget): Fixed comparison notation.
15909
15910         * event-msw.c (mswindows_dde_callback): Removed extraneous ';'.
15911
15912         * s\windowsnt.h (DOESNT_RETURN): Defined to support the MSVC
15913         __declspec(noreturn) syntax.
15914
15915 2000-02-19  Martin Buchholz  <martin@xemacs.org>
15916
15917         * eldap.c (Fldap_open):
15918         (Fldap_search_basic):
15919         (Fldap_add):
15920         (Fldap_modify):
15921         Use new coding system conversion macros.
15922
15923 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
15924
15925         * console-tty.c (tty_init_console): Change MULE to FILE_CODING.
15926
15927 1999-11-27  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
15928
15929         * eldap.h (Fldap_search) Renamed from Fldap_search_internal:
15930         (Fldap_add, Fldap_modify, Fldap_delete): New functions
15931
15932         * eldap.c (Qadd, Qreplace): New constant symbols
15933         (Fldap_open): Use the LDAP_OPT_RESTART option to avoid
15934         interruptions by XEmacs signals
15935         Remove unnecessary calls to slow_down_interrupts and
15936         speed_up_interrupts
15937         (Fldap_search_basic): Renamed from Fldap_search_internal
15938         Added new optional parameter VERBOSE that triggers the
15939         display of progress messages
15940         Remove unnecessary calls to slow_down_interrupts and
15941         speed_up_interrupts
15942         LDAP result code analysis rewritten
15943         (Fldap_add, Fldap_modify, Fldap_delete): New functions
15944         (syms_of_eldap): Define the new symbols and functions
15945
15946
15947 2000-02-17  Martin Buchholz  <martin@xemacs.org>
15948
15949         * realpath.c: Determine PATH_MAX maximally portably.
15950
15951         * insdel.c (bytecount_to_charcount): Optimize.
15952         The function used to be optimized for entirely ASCII sequences.
15953         Now it is optimized for successive characters from the same
15954         charset.  This also wins big for _mostly_ ASCII sequences.
15955
15956         * fileio.c (Ffile_truename): convert return from realpath() using
15957         Qfile_name, not Qbinary.  Fixes obvious bug with non-ASCII symlinks.
15958         - Rewrite GCPROing slightly.
15959
15960         * sysdep.c (sys_open): Do filename conversion, like all other
15961         sys_* functions.  Fixes bug:
15962         (let ((file-name-coding-system 'iso-8859-2))
15963            (write-region x y latin2-name))
15964         ==> writes filename using internal encoding.
15965
15966 2000-02-18  Martin Buchholz  <martin@xemacs.org>
15967
15968         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Turn on c_readonly. Always const.
15969         * console.c (DEFVAR_CONSOLE_LOCAL_1): Turn on c_readonly. Always const.
15970         * symeval.h (DEFVAR_SYMVAL_FWD): Turn on c_readonly. Always const.
15971         * eval.c (lrecord_subr): Remove this_one_is_unmarkable.
15972         * symbols.c (lrecord_symbol_value_forward): Remove this_one_is_unmarkable.
15973         * symbols.c (guts_of_unbound_marker): Turn on c_readonly.
15974         * lrecord.h (UNMARKABLE_LRECORD_HEADER_P): Delete.
15975         (CONST_IF_NOT_DEBUG): Delete.
15976         * alloc.c (this_one_is_unmarkable): Delete.
15977         (mark_object): Don't check for this_one_is_unmarkable. Use the
15978         c_readonly flag instead.
15979         * lisp.h (DEFUN): Define a Lisp_Subr as c_readonly.
15980
15981 2000-02-18  Jonathan Harris  <jhar@tardis.ed.ac.uk>
15982
15983         * event-msw.c (mswindows_drain_windows_queue):
15984         (emacs_mswindows_handle_magic_event): Remove attempt to optimise
15985         away redundant repaint events.
15986
15987 2000-02-17  Andy Piper  <andy@xemacs.org>
15988
15989         * redisplay.h: declare mark_redisplay_structs.
15990
15991         * redisplay.c (redisplay_window):
15992         (redisplay_frame): don't check subwindows_state_changed.
15993         (mark_redisplay): mark gutters here.
15994
15995         * glyphs.c: (instantiate_image_instantiator): always layout if we
15996         haven't done so already.
15997         (allocate_image_instance): don't mark as dirty.
15998         (update_subwindow): bind inhibit_quit.
15999
16000         * gutter.c (mark_gutters): new function.
16001
16002         * glyphs-x.c (x_update_widget): Always resize to get round a
16003         widget bug.
16004
16005         * glyphs-msw.c (mswindows_tab_control_update): remove `;' that was
16006         breaking absolutely everything.
16007
16008         * gutter.h: declare mark_gutters.
16009
16010 2000-02-16  Martin Buchholz <martin@xemacs.org>
16011
16012         * XEmacs 21.2.29 is released.
16013
16014 2000-02-15  Olivier Galibert  <galibert@pobox.com>
16015
16016         * fns.c (size_bit_vector): Fix computation of the size.
16017
16018 2000-02-15  Martin Buchholz  <martin@xemacs.org>
16019
16020         * *.[ch]: Change CONST to const globally.
16021         find -name '*.[ch]' | \
16022         xargs global-replace \
16023         's/(^|(?<=[^A-Za-z0-9_]))CONST((?=[^A-Za-z0-9_])|$)/const/g'
16024         - Remove vestigial references to CONST_IS_LOSING
16025
16026 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16027
16028         * event-msw.c (mswindows_drain_windows_queue): Remove hack to
16029         bailout early on quit. Enqueue WM_PAINT events as XEmacs magic
16030         events instead of dispatching them directly.
16031         (mswindows_handle_paint): New function to do repainting.
16032         (mswindows_wnd_proc):
16033         (emacs_mswindows_handle_magic_event): Call above function.
16034
16035 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16036
16037         * objects-msw.c (mswindows_create_font_variant): Return the new
16038         font handle.
16039         (initialize_font_instance): Get font metrics from the underlined
16040         variant of the font to cope with the case where the underlined
16041         font has a bigger descent.
16042
16043 2000-02-08   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
16044
16045         * gui.c (gui_item_accelerator): Return the first underlined
16046         character in item name.
16047
16048 2000-02-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16049
16050         * lisp.h: Added Qprinter.
16051
16052         * general.c (syms_of_general): Initialized it.
16053
16054         * redisplay-msw.c (get_frame_dc): Conditionally start a new page.
16055         (get_frame_dc):
16056         (get_frame_compdc): Made inline.
16057
16058         * console.h (struct console_methods): Added eject_page method.
16059
16060         * frame.h: Added FRAME_DISPLAY_P and friends.
16061         Aligned backslahes in many macros in more readable fashion.
16062         Added page_number to struct frame, and an accessor macro
16063         for it.
16064
16065         * defice.h: Added DEVICE_DISPLAY_P and friends.
16066
16067         * device.c (Fdevice_printer_p): Used these.
16068
16069         * frame.c (allocate_frame_core): Initialize page number.
16070         (Fprint_job_page_number):
16071         (Fprint_job_eject_page): Implemented.
16072
16073         * frame-msw.c (msprinter_eject_page): Added method.
16074         (msprinter_start_page): Added.
16075
16076         * window.c (Fwindow_truncated_p): Fixed docstring.
16077         (Fwindow_last_line_visible_height): Implemented.
16078
16079 2000-02-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
16080
16081         * frame.c (change_frame_size_1): Undo 2000-02-03 change.
16082
16083 1999-12-20  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16084
16085         * syntax.c (scan_words): Always advance at least one character.
16086
16087 2000-02-13  Andy Piper  <andy@xemacs.org>
16088
16089         * redisplay.c (add_glyph_rune): call get_glyph_cachel_index here
16090         to make sure the glyph is in the cachels.
16091
16092         * glyphs.h (struct Lisp_Image_Instance): make layout_changed a
16093         global image instance flag.
16094         (IMAGE_INSTANCE_NEEDS_LAYOUT): new macro.
16095         (XIMAGE_INSTANCE_NEEDS_LAYOUT): ditto.
16096
16097         * glyphs.c (allocate_image_instance): set dirty bits correctly.
16098         (Fset_image_instance_property): mark layout as changed.
16099         (invalidate_glyph_geometry_maybe): mark layout as changed.
16100         (glyph_width): use new NEEDS_LAYOUT macro.
16101         (glyph_ascent): ditto.
16102         (glyph_descent): ditto.
16103         (glyph_height): ditto.
16104         (image_instance_layout): mark layout as clean after laying out.
16105         (update_subwindow): don't mark layout as clean here.
16106
16107         * glyphs-x.h (IMAGE_INSTANCE_X_WIDGET_ID): undo C++ changes, they
16108         should no longer be needed.
16109
16110         * glyphs-x.c (x_update_widget): sanitize asserts.
16111         (x_finalize_image_instance): sanitize assignment to widgets.
16112
16113         * glyphs-widget.c (widget_instantiate): don't need to clear the
16114         layout flag here.
16115
16116 2000-02-13  Martin Buchholz  <martin@xemacs.org>
16117
16118         * sysdep.c (getcwd): Use standard prototype.
16119         * sysdep.h (getcwd): Use standard prototype.
16120
16121         * fns.c (Fsubseq): Change parameters to more natural ANSI Lisp
16122         (sequence, start, end).
16123         Remove redundant type checking.
16124         (Fmapconcat): Remove useless GCPRO, a wrong-headed attempt (in
16125         view of `caller-protects') to avoid a crash where the real fix was
16126         found elsewhere.
16127
16128 2000-02-12  Martin Buchholz  <martin@xemacs.org>
16129
16130         * glyphs-x.c (x_finalize_image_instance): Compile error fixes.
16131
16132         * s/sol2.h: Remove feature macro initialization.
16133
16134         * alloc.c (alloc_lcrecord): Add more type checking assertions.
16135         (vector_hash): New.  Code from internal_hash.
16136         * lrecord.h:
16137         Fix up allocation subsystem comments.
16138
16139         * config.h.in: Add __EXTENSIONS__ for Solaris.
16140
16141         * systime.h (EMACS_GETTIMEOFDAY): New.
16142         (EMACS_GET_TIME): Use EMACS_GETTIMEOFDAY.
16143         Remove Solaris-specific code.
16144         Use void* for the (ignored) second arg for gettimeofday().
16145
16146         * elhash.c (hash_table_hash): Implement it, finally.
16147         * elhash.c:  Use hashcode_t.
16148
16149         * linuxplay.c (sighandler): Fix prototypes to use SIGTYPE.
16150         * sunplay.c (sighandler): Fix prototype to use SIGTYPE.
16151
16152         * lisp.h (STRETCHY_STRUCT_SIZEOF): Delete.
16153         * fns.c (size_bit_vector):
16154         * alloc.c (size_vector):
16155         (make_vector_internal):
16156         (make_bit_vector_internal):
16157         (sweep_bit_vectors_1):
16158         Replace calls to STRETCHY_STRUCT_SIZEOF with offsetof expression.
16159
16160 2000-02-10  Martin Buchholz  <martin@xemacs.org>
16161
16162         * s/aix4.h: #define MAP_FAILED if sys/mman.h didn't.
16163         Include strings.h to avoid warnings for bzero and strcasecmp.
16164
16165 2000-02-10  Olivier Galibert  <galibert@pobox.com>
16166
16167         * alloc.c: Move STRETCHY_STRUCT_SIZEOF from here...
16168         * lisp.h (STRETCHY_STRUCT_SIZEOF): ...to here
16169
16170         * fns.c (size_bit_vector): New.  Declare bit vectors as a
16171         sequence.
16172
16173 2000-02-10  Olivier Galibert  <galibert@pobox.com>
16174
16175         * symeval.h (struct symbol_value_magic): Remove "next" kludge and
16176         use a value field instead.
16177         (symbol_value_forward_forward): Use value field.
16178         (DEFVAR_SYMVAL_FWD): Use value field.
16179         (DEFVAR_SYMVAL_FWD_INT): Added.  Dumps the int with dumpopaque.
16180         (DEFVAR_INT): Use DEFVAR_SYMVAL_FWD_INT.
16181         (DEFVAR_CONST_INT): Ditto.
16182         (DEFVAR_BOOL): Ditto.
16183         (DEFVAR_CONST_BOOL): Ditto.
16184         (DEFVAR_INT_MAGIC): Ditto.
16185         (DEFVAR_BOOL_MAGIC): Ditto.
16186
16187         * symbols.c (guts_of_unbound_marker): Use value field.
16188         * console.c (DEFVAR_CONSOLE_LOCAL_1): Ditto.
16189         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Ditto.
16190
16191         * lisp.h: Declare dumpopaque and noninteractive1.
16192
16193         * alloc.c (dumpopaque): Added.
16194         (pdump_dump_opaquevec): Added.
16195         (pdump): Call pdump_dump_opaquevec to dump opaque data.
16196         (pdump_load): Reload opaque data.  Sync noninteractive1 with
16197         noninteractive.
16198
16199 2000-02-10  Andy Piper  <andy@xemacs.org>
16200
16201         * glyphs.c (image_instance_layout): if the size changes, mark it
16202         as such.
16203
16204         * redisplay-output.c (redisplay_output_layout): Update the
16205         subwindow here.
16206         (redisplay_output_subwindow): ditto.
16207
16208         * glyphs.c (update_subwindow): make sure we reset flags for
16209         layouts as well as everything else.
16210
16211         * glyphs-widget.c (layout_layout): don't need to set the instances
16212         dimensions here.
16213
16214 2000-02-09  Martin Buchholz  <martin@xemacs.org>
16215
16216         * device-x.c (x_init_device): Wrap calls to dll_*  in HAVE_SHLIB,
16217         not HAVE_DLOPEN, which is a lower-level thing.
16218
16219         * .cvsignore: Ignore gmon.out
16220
16221 2000-02-09  Hamish Macdonald <hamishm@lucent.com>
16222
16223         * .cvsignore: Ignore portable dumper xemacs.dmp file
16224
16225 2000-02-09  Andy Piper  <andy@xemacs.org>
16226
16227         * redisplay-output.c (redisplay_output_layout): be more clever
16228         about when we output based on the changed flags.
16229
16230         * glyphs.h (struct image_instantiator_methods): add update_method.
16231         (struct Lisp_Image_Instance): add changed flags. Declare new
16232         macros for manipulating them.
16233
16234         * glyphs.c (allocate_image_instance): renamed glyph -> parent.
16235         (image_instance_parent_glyph): find an image_instance's parent
16236         glyph or image_instance.
16237         (image_instance_layout): mark the size as changed.
16238         (set_image_instance_dirty_p): new function. mark an image
16239         instance, plus all of its parents, as dirty.
16240         (Fset_image_instance_property): use it.
16241         (Fglyph_animated_timeout_handler): use it.
16242         (update_subwindow): call update_widget and device methods for
16243         update_subwindow. Mark all changed flags as clean.
16244         (Fresize_subwindow): mark size as changed.
16245
16246         * glyphs-x.c (x_finalize_image_instance): try and detect gc
16247         failures.
16248         (x_update_subwindow): only resize subwindows here.
16249         (x_update_widget): new function. Update all changed properties of
16250         a widget.
16251         (x_resize_subwindow): deleted.
16252         (x_widget_set_property): deleted.
16253         (x_progress_gauge_set_property): deleted.
16254         (x_progress_gauge_update): new function. Implement recorded
16255         changes.
16256         (x_tab_control_update): ditto.
16257         (x_tab_control_set_property): deleted.
16258         (console_type_create_glyphs_x): declare new functions.
16259         (image_instantiator_format_create_glyphs_x): ditto.
16260
16261         * glyphs-widget.c (widget_set_property): mark text changed.
16262         (update_widget): new function. Update properties of a widget.
16263         (widget_instantiate): for layouts make sure we set their
16264         children's parent correctly.
16265         (tab_control_set_property): new function. Record changes that will
16266         take place under redisplay's control.
16267         (progress_gauge_set_property): ditto.
16268         (image_instantiator_progress_guage): declare new functions.
16269         (image_instantiator_tab_control): ditto.
16270
16271         * glyphs-msw.c (mswindows_update_subwindow): just do resizing here
16272         now.
16273         (mswindows_update_widget): new function. Update all properties on
16274         a widget that have changed.
16275         (mswindows_button_update): new function. Update a button's set
16276         state.
16277         (mswindows_tab_control_update): new function. Update the items in
16278         a tab.
16279         (mswindows_tab_control_set_property): deleted.
16280         (mswindows_progress_gauge_update): new function. Update the
16281         progress gauge's progress.
16282         (mswindows_widget_set_property): deleted. This is all done
16283         asynchronously now.
16284         (mswindows_progress_gauge_set_property): ditto.
16285         (console_type_create_glyphs_mswindows): declare new methods.
16286         (image_instantiator_format_create_glyphs_mswindows): ditto.
16287
16288         * frame-msw.c (msprinter_init_frame_1): Remove unused variables.
16289         (msprinter_set_frame_properties): ditto.
16290
16291         * console.h (struct console_methods): Add update_widget_method.
16292
16293 2000-02-09  Andy Piper  <andy@xemacs.org>
16294
16295         * gui-msw.c (Fmswindows_shell_execute): Make
16296         mswindows-shell-execute industrial strength.
16297
16298 2000-02-08  Martin Buchholz  <martin@xemacs.org>
16299
16300         * lrecord.h: Make macro argument `props' match member function `plist'.
16301         * fns.c (Fget):
16302         * fns.c (Fput):
16303         * fns.c (Fremprop):
16304         * fns.c (Fobject_plist):
16305         * alloc.c:
16306         * symbols.c:
16307         Object property list frobbing cleanup.
16308         - Allow any lisp object (compared with `eq'), not just symbols, as
16309           keys in object plists.
16310         - Move symbol plist frobbing into symbols.c, where it belongs.
16311         - Move string plist frobbing into alloc.c, where it belongs.
16312         - Everything's an lrecord now, so no need to test for symbolp, etc.
16313         - Fix up doc strings to refer to PROPERTY, not PROPNAME.
16314
16315         * extents.c: Reorder code to remove declarations.
16316
16317         * frame.h (store_in_alist): Remove useless declaration.
16318
16319 2000-02-07  Martin Buchholz  <martin@xemacs.org>
16320
16321         * event-Xt.c (x_has_keysym): Use XConvertCase only if available.
16322         * config.h.in: Add HAVE_XCONVERTCASE.
16323
16324 2000-02-07  Andy Piper  <andy@xemacs.org>
16325
16326         * glyphs.c (image_instance_layout): undo 2000-01-29 change since
16327         it breaks many things.
16328
16329 2000-02-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
16330
16331         * src/syntax.h (SYNTAX_START_P): Check whether the two chars
16332         actually can start a common comment type.
16333         * src/syntax.h (SYNTAX_END_P): ditto for end.
16334
16335 2000-02-07  Martin Buchholz <martin@xemacs.org>
16336
16337         * XEmacs 21.2.28 is released.
16338
16339 2000-02-06  Martin Buchholz  <martin@xemacs.org>
16340
16341         * event-Xt.c (x_keysym_to_character): New.
16342         (maybe_define_x_key_as_self_inserting_character): New.
16343         (x_has_keysym): New.
16344         Auto-define all keys on the keyboard as self-insert-key.
16345
16346 2000-02-02  Martin Buchholz  <martin@xemacs.org>
16347
16348         * menubar.c (vars_of_menubar): A small code simplification.
16349
16350         * minibuf.c (echo_area_append): Workaround egcs-20000131 c++ compiler bug
16351
16352         * ExternalShell.c:
16353         * ExternalClient.c:
16354         * EmacsShell-sub.c:
16355         * EmacsManager.c:
16356         * EmacsFrame.c:
16357         Use consistent style for specifying X resources.
16358
16359         * symbols.c (Fset): Further implement SYMVAL_LISP_MAGIC.
16360         This makes (dontusethis-set-symbol-value-handler) actually usable.
16361
16362         * lrecord.h (lrecord_decription_type):
16363         * alloc.c (pdump_register_sub):
16364         (pdump_dump_data):
16365         (pdump_reloc_one):
16366         Add XD_LISP_OBJECT_ARRAY to describe multiple Lisp_Objects.
16367         Comply with XEmacs coding style.
16368         All lrecord descriptions updated to use XD_LISP_OBJECT with 2
16369         args, and XD_LISP_OBJECT_ARRAY with 3 args.
16370
16371         * keymap.c (Faccessible_keymaps):
16372         Make (accessible-keymaps map "\C-h") do the Right Thing.
16373         Make (accessible-keymaps map []) do the Right Thing.
16374         Make (accessible-keymaps map "") do the Right Thing.
16375         (check_keymap_definition_loop): New function.
16376         (keymap_store_internal): Keep luser from shooting self in foot,
16377           via (define-key ctl-x-4-map "p" global-map).
16378         Remove fullness slot from struct Lisp_Keymap, since hash tables
16379         are now reliable.
16380         (print_keymap): Remove 'Yuck' factor by simply printing "size %d".
16381
16382 2000-01-30  Martin Buchholz  <martin@xemacs.org>
16383
16384         * redisplay.c (init_redisplay): Fix small memory leak.
16385         * elhash.h:
16386         * elhash.c (pdump_reorganize_hash_table):
16387         Rename from reorganize_hash_table. Change prototype.
16388         Reuse the original memory for hentries.  Save 100k.
16389         * alloc.c (PDUMP_READ): new macro.
16390         * alloc.c (pdump_load): Replace LISP_TO_VOID with higher-level macros.
16391         * alloc.c: No need to #ifndef before #undef.
16392
16393         * print.c: Allow debug_print() to print readably by modifying
16394         debug_print_readably.  Use consistent variable names.
16395
16396         * .dbxrc: Try to get things to work even if stopped in a function
16397         without source available by explicitly specifying source files.
16398 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16399
16400         * unexnt.c (_start): Removed bogus code which caused loading heap
16401         from differrent executable file.
16402         Removed bogus assignment to _fmode, which caused inconsistencies.
16403
16404 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16405
16406         * s\windowsnt.h: Removed lots of #if 0 blocks of Emacs heritage.
16407         Have spawnve encapsulation regard DONT_ENCAPSULATE.
16408         Do not preliminary `#define signal sigset'.
16409
16410         * systime.h: Do not prototype environ on windows nt and cygwin,
16411         this conflicts with system header.
16412
16413         * syssignal.h: Use correct define for WINDOWSNT
16414
16415         * sysdep.h: Do not prototype environ on windows nt, this conflicts
16416         with system header.
16417
16418         * sysdep.c (near start of file): Fixed commentary and rearranged
16419         ifdefs in readable order.
16420         (NEED_STARTS): Do not force NEED_STARTS when PDUMPing.
16421         (start_of_text):
16422         (end_of_text):
16423         (end_of_data): Do not compile in if using PDUMP.
16424
16425         * symsinit.h: Prototyped vars_of_nt().
16426
16427         * ntproc.c (windows9x_p): Added, instead of os_subtype.
16428         (find_child_console): Use it.
16429         (sys_kill): Use it.
16430
16431         * ntheap.h: Do not extern os_subtype.
16432
16433         * ntheap.c (cache_system_info): Do not cache unneeded:
16434         nt_major_version, nt_minor_version and os_subtype.
16435         (recreate_heap): Do not compile in when PDUMPing.
16436
16437         * nt.c (geteuid and friends): Use the new varibale
16438         nt_fake_unix_uid, instead of hashing fake uid out of NT RID.
16439         (init_user_info): Removed the above mentioned hackery.
16440         (fstat, stat): Do not compile in if using MSVC 5.0 and above -
16441         stat has been fixed in the C runtime.
16442         (vars_of_nt): Added, defined the nt_fake_unix_uid variable there.
16443
16444         * file-coding.c (struct file_coding_dump): Do not define
16445         ucs_to_mule_table in the struct if not MULE.
16446         (struct struct lrecord_description fcd_description_1): Do not dump
16447         the above.
16448
16449         * emacs.c (main_1): Call vars_of_nt().
16450         (right before Fdump_emacs_data): Don't need lastfile if using both
16451         portabe dumper and system malloc.
16452
16453         * alloc.c (Fmemory_limit): Conditionalized out.
16454         (pdump): Use OPEN_BINARY for the portable dump file.
16455         (pdump_load): Ditto.
16456
16457 2000-02-02  Mike Alexander  <mta@arbortext.com>
16458
16459         * nt.c (convert_time): Set tm_isdst before calling mktime and
16460         avoid calling it at all if the compiler supports 64 bit integers.
16461         Also initialize utc_base_ft before using it.
16462
16463 2000-02-03   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
16464
16465         * frame.c (change_frame_size_1): Take f->internal_border_width
16466         into consideration when calculating the width of the frame.
16467
16468 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16469
16470         * window.c (frame_min_height):
16471         (frame_size_valid_p):
16472         (frame_pixsize_valid_p): Added.
16473         (check_frame_size): Generalized.
16474
16475         * window.h: Prototyped the above.
16476
16477         * lisp.h:
16478         * general.c: Added Qbottom_margin, Qduplex, Qlandscape,
16479         Qleft_margin, Qorientation, Qportrait, Qright_margin, Qtop_margin.
16480         Deleted Vwin32_* and Vbinary_process_* unused variables.
16481
16482         * device-msw.c (msprinter_init_device): Do not get printer font
16483         list; Added DEVMODE functions.
16484
16485         * frame-msw.c: Added lots of printer code.
16486
16487         * faces.c: Moved 'left-margin and 'right-margin defsymbols to
16488         general.c.
16489
16490         * console-msw.h: Added more msprinter device private slots.
16491
16492 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16493
16494         * event-msw.c (key_needs_default_processing_p): Added.
16495         (mswindows_wnd_proc, WM_KEYUP, KEYDOWN): Call it.
16496
16497 2000-01-29  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16498
16499         * glyphs.c (image_instance_layout): Mark image instance as clean
16500         after layout.
16501         (glyph_dirty_p): Removed redundant function.
16502         (invalidate_glyph_geometry_maybe): Added.
16503         (update_glyph_cachel_data): Call it.
16504
16505         * glyphs.h: Prototyped it.
16506
16507         * redisplay.c (add_glyph_rune): Call it.
16508         (redisplay_window): Reset glyphs cachels when frame faces have
16509         changed, thus forcing recomputation of built-in border glyphs.
16510
16511 2000-01-30  Martin Buchholz  <martin@xemacs.org>
16512
16513         * Makefile.in.in: Make portable dumper and purify play well together.
16514         Add imperfect, but better than nothing, support for pdump.
16515         Remove xemacs.dmp when temacs is re-generated.
16516         Don't ignore errors when dumping xemacs.
16517
16518         * symbols.c (maybe_call_magic_handler): Remove one magic number.
16519
16520 2000-01-28  Andy Piper  <andy@xemacs.org>
16521
16522         * frame.c (allocate_frame_core): Use new Fset_window_buffer signature.
16523         (setup_normal_frame): ditto.
16524         (setup_frame_without_minibuffer): ditto.
16525         (setup_minibuffer_frame): ditto.
16526         (delete_frame_internal): ditto.
16527         (Fmake_frame_invisible): ditto.
16528         (Ficonify_frame): ditto.
16529
16530         * window.h: change Fset_window_buffer signature.
16531
16532         * window.c (Fsplit_window): Use new Fset_window_buffer signature.
16533         (Fset_window_buffer): allow recording of buffer if the window is
16534         the selected window.
16535         (window_loop): Use new Fset_window signature.
16536
16537 2000-01-23  Daniel Pittman  <daniel@danann.net>
16538
16539         * config.h.in: Added template for `HAVE_ATHENA_3D'
16540
16541 2000-01-29  Andy Piper  <andy@xemacs.org>
16542
16543         * glyphs-x.c (x_resize_subwindow): Try and catch bogus resizes.
16544
16545         * gutter.c (output_gutter): Don't output if the window isn't live.
16546
16547 2000-01-28  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16548
16549         * glyphs-msw.c (mswindows_unmap_subwindow): Fix of corrupted patch
16550         of 01/12/00: Moved SetFocus back here where it belongs.
16551
16552 2000-01-23  Andy Piper  <andy@xemacs.org>
16553
16554         * s/cygwin32.h: declare printer things.
16555
16556 2000-01-26  Andy Piper  <andy@xemacs.org>
16557
16558         * select.c (Fown_selection_internal): GCPRO bug fix from Mike
16559         Alexander.
16560
16561 2000-01-24  Andy Piper  <andy@xemacs.org>
16562
16563         * glyphs-msw.c (mswindows_locate_pixmap_file): Expand filename.
16564         (mswindows_button_instantiate): Make sure glyph is a pixmap.
16565
16566         * glyphs-widget.c (widget_instantiate): Avoid shadows.
16567
16568         * frame-msw.c (msprinter_init_frame_3): Nuke warning.
16569
16570         * glyphs-msw.c: (mswindows_string_to_color): remove declaration.
16571
16572         * redisplay-msw.c (mswindows_output_cursor): Avoid shadows.
16573         (mswindows_output_display_block): Avoid local shadows.
16574
16575         * event-msw.c (mswindows_enqueue_magic_event): Avoid shadows.
16576         (mswindows_enqueue_mouse_button_event): ditto.
16577         (mswindows_handle_gui_wm_command): remove declaration.
16578
16579         * console-msw.c (mswindows_canonicalize_console_connection): Avoid
16580         warnings.
16581
16582         * console-msw.h: Avoid shadows.
16583         (mswindows_get_toolbar_button_text):
16584         (emacs_mswindows_create_stream_pair):
16585         (emacs_mswindows_delete_stream_pair):
16586         (mswindows_handle_toolbar_wm_command): declare.
16587
16588         * device-msw.c (build_syscolor_string): Avoid shadows.
16589
16590 2000-01-23  Andy Piper  <andy@xemacs.org>
16591
16592         * glyphs-widget.c (widget_instantiate): reverse the items for
16593         layouts so that children are in the expected order.
16594
16595 2000-01-28  Martin Buchholz  <martin@xemacs.org>
16596
16597         * ralloc.c: safe_bcopy ==> memmove
16598         * gmalloc.c: Remove MEMMOVE_MISSING conditional code.
16599         * s/msdos.h: Remove BCOPY macros.
16600         * insdel.c (gap_right): Remove BCOPY conditional code.
16601         * insdel.c (gap_left): Remove BCOPY conditional code.
16602         XEmacs demands a working ANSI C compiler - hence memmove.
16603
16604         * regex.c (regex_compile): Remove accidental use of trigraphs.
16605
16606 2000-01-27  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16607
16608         * event-msw.c (mswindows_enqueue_misc_user_event): Initialize
16609         event timestamp.
16610
16611 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16612
16613         * event-msw.c (mswindows_drain_windows_queue): Added the
16614         parameter.
16615         (mswindows_need_event): Commented the call to
16616         mswindows_drain_windows_queue().
16617         (emacs_mswindows_quit_p): Lookup the windows for keyboard messages
16618         only.
16619
16620         * console-msw.h: Moved a few function prototypes here from
16621         event-msw.c.
16622
16623         * gui-msw.c (mswindows_handle_gui_wm_command): Changed the ID
16624         parameter from unsigned short to unsigned long.
16625         (Fmswindows_shell_execute): Added return value.
16626
16627 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
16628
16629         * sysdep.c (init_system_name):
16630           process-unix.c (unix_canonicalized_host_name):
16631         Don't call freeaddrinfo() if getaddrinfo() fails.
16632
16633         * process-unix.c (unix_open_unix_network_stream):
16634         Moved the code to get a port # into address loop.
16635
16636 2000-01-27  Martin Buchholz  <martin@xemacs.org>
16637
16638         * buffer.c (reinit_vars_of_buffer):
16639         The right place to initialize conversion_in_dynarr and
16640         conversion_out_dynarr.
16641
16642         * alloc.c (pdump): Use the real open() till sys_open() is functional.
16643
16644         * process-unix.c (unix_canonicalize_host_name): Muleize.
16645         (unix_open_network_stream): Muleize.
16646
16647         * buffer.h: Fix up prototypes for ralloc.c functions.
16648
16649 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
16650         * config.h.in: added HAVE_GETADDRINFO and HAVE_GETNAMEINFO
16651         * sysdep.c: In init_system_name(), add code to use getaddrinfo()
16652                 instead of gethostbyname()
16653         * process-unix.c: In unix_canonicalize_host_name() and
16654                 unix_open_network_stream(), add code to use getaddrinfo()
16655                 instead of gethostbyname().
16656
16657 2000-01-27  Daniel Pittman <daniel@danann.net>
16658
16659         * device-x.c (x_init_device): Warn at run-time if using Athena 3d
16660         libs when built with flat Athena.
16661
16662 2000-01-27  Martin Buchholz  <martin@xemacs.org>
16663
16664         * ralloc.c: Replace SIZE (conflicts with Windows headers) with size_t.
16665         Use coding standards for function prototypes.
16666
16667 2000-01-25  Martin Buchholz  <martin@xemacs.org>
16668
16669         * dialog-msw.c (push_lisp_string_as_unicode):
16670         * doc.c (unparesseuxify_doc_string):
16671         * dired.c (Fuser_name_completion_1):
16672         * dired.c (Fuser_name_all_completions):
16673         * dired.c (free_user_cache):
16674         * dired.c (user_name_completion):
16675         * console-x.c (get_display_arg_connection):
16676         * minibuf.c (clear_echo_area_internal):
16677         * minibuf.c (echo_area_append):
16678         * eldap.c (Fldap_open):
16679         * eldap.c (Fldap_search_internal):
16680         * frame-x.c (x_set_frame_text_value):
16681         * frame-x.c (x_set_frame_properties):
16682         * frame-x.c (x_create_widgets):
16683         * redisplay-tty.c (term_get_fkeys_1):
16684         * objects-x.c (x_parse_nearest_color):
16685         * objects-x.c (x_valid_color_name_p):
16686         * objects-x.c (x_initialize_font_instance):
16687         * objects-x.c (x_list_fonts):
16688         * objects-x.c (x_find_charset_font):
16689         * tooltalk.c (Fadd_tooltalk_message_arg):
16690         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
16691         * tooltalk.c (Fadd_tooltalk_pattern_arg):
16692         * process-unix.c (unix_create_process):
16693         * ntproc.c (sys_spawnve):
16694         * sound.c (Fplay_sound_file):
16695         * sound.c (Fplay_sound):
16696         * buffer.c (init_initial_directory):
16697         * buffer.c (init_buffer):
16698         * editfns.c (init_editfns):
16699         * editfns.c (Ftemp_directory):
16700         * editfns.c (Fuser_full_name):
16701         * editfns.c (uncache_home_directory):
16702         * editfns.c (get_home_directory):
16703         * editfns.c (Fuser_home_directory):
16704         * editfns.c (Fformat_time_string):
16705         * editfns.c (Fcurrent_time_string):
16706         * gui-x.c (button_item_to_widget_value):
16707         * database.c (Fopen_database):
16708         * event-Xt.c (x_to_emacs_keysym):
16709         * event-Xt.c (x_event_to_emacs_event):
16710         * event-Xt.c (describe_event_window):
16711         * event-msw.c (mswindows_wnd_proc):
16712         * glyphs-eimage.c (jpeg_instantiate):
16713         * glyphs-eimage.c (gif_instantiate):
16714         * glyphs-eimage.c (png_instantiate):
16715         * glyphs-eimage.c (tiff_instantiate):
16716         * glyphs-x.c (xbm_instantiate_1):
16717         * glyphs-x.c (x_xbm_instantiate):
16718         * glyphs-x.c (x_xface_instantiate):
16719         * glyphs-x.c (autodetect_instantiate):
16720         * glyphs-x.c (cursor_font_instantiate):
16721         * glyphs-x.c (x_widget_instantiate):
16722         * glyphs-x.c (x_widget_set_property):
16723         * glyphs-x.c (x_widget_property):
16724         * glyphs-x.c (BUILD_GLYPH_INST):
16725         * print.c (write_string_to_stdio_stream):
16726         * print.c (output_string):
16727         * print.c (Falternate_debugging_output):
16728         * print.c (Fexternal_debugging_output):
16729         * glyphs-msw.c (extract_xpm_color_names):
16730         * glyphs-msw.c (mswindows_xpm_instantiate):
16731         * glyphs-msw.c (bmp_instantiate):
16732         * glyphs-msw.c (resource_name_to_resource):
16733         * glyphs-msw.c (mswindows_resource_instantiate):
16734         * glyphs-msw.c (xbm_instantiate_1):
16735         * glyphs-msw.c (mswindows_xbm_instantiate):
16736         * glyphs-msw.c (mswindows_xface_instantiate):
16737         * glyphs-msw.c (mswindows_widget_instantiate):
16738         * glyphs-msw.c (add_tree_item):
16739         * glyphs-msw.c (add_tab_item):
16740         * glyphs-msw.c (mswindows_combo_box_instantiate):
16741         * glyphs-msw.c (mswindows_widget_property):
16742         * glyphs-msw.c (mswindows_combo_box_property):
16743         * glyphs-msw.c (mswindows_widget_set_property):
16744         * console.c (stuff_buffered_input):
16745         * objects-msw.c (mswindows_initialize_color_instance):
16746         * objects-msw.c (mswindows_valid_color_name_p):
16747         * objects-msw.c (mswindows_list_fonts):
16748         * objects-msw.c (mswindows_font_instance_truename):
16749         * bytecode.c (optimize_compiled_function):
16750         * select-x.c (symbol_to_x_atom):
16751         * select-x.c (x_atom_to_symbol):
16752         * select-x.c (hack_motif_clipboard_selection):
16753         * select-x.c (selection_data_to_lisp_data):
16754         * select-x.c (lisp_data_to_selection_data):
16755         * select-x.c (Fx_get_cutbuffer_internal):
16756         * select-x.c (Fx_store_cutbuffer_internal):
16757         * buffer.h (TO_EXTERNAL_FORMAT): New function.
16758         * buffer.h (TO_INTERNAL_FORMAT): New function.
16759         * emacs.c (make_arg_list_1):
16760         * emacs.c (make_argc_argv):
16761         * emacs.c (main_1):
16762         * emacs.c (Fdump_emacs):
16763         * emacs.c (split_string_by_emchar_1):
16764         * file-coding.h:
16765         * lisp.h:
16766         * lstream.h:
16767         * symsinit.h:
16768         * device-x.c (x_init_device):
16769         * device-x.c (Fx_valid_keysym_name_p):
16770         * device-x.c (Fx_get_font_path):
16771         * device-x.c (Fx_set_font_path):
16772         * glyphs.c (bitmap_to_lisp_data):
16773         * glyphs.c (pixmap_to_lisp_data):
16774         * alloc.c (make_ext_string): Use coding system arguments.  Update
16775         all callers.
16776         * alloc.c (build_string):
16777         * callproc.c (child_setup):
16778         * callproc.c (init_callproc):
16779         * fileio.c (lisp_strerror):
16780         * fileio.c (directory_file_name):
16781         * fileio.c (Fexpand_file_name):
16782         * fileio.c (Ffile_truename):
16783         * fileio.c (Fsysnetunam):
16784         * fileio.c (Fdo_auto_save):
16785         * sysdep.c (sys_readdir):
16786         * tests.c: New file.  Allow adding C tests.
16787         Replace GET_* macros with a more comprehensible and flexible
16788         interface, TO_INTERNAL_FORMAT() and TO_EXTERNAL_FORMAT().
16789         Modify all calls.
16790         Any coding system can be used to do format conversion.
16791         Eliminate enum external_data_format.
16792         Eliminate convert_to_external_format.
16793         Eliminate convert_to_internal_format.
16794         Make sure file-name, keyboard, terminal, and ctext are always
16795         defined as coding systems or aliases.  Make
16796         file-name-coding-system, terminal-coding-system, and
16797         keyboard-coding-system magical variables that are equivalent to
16798         defining the corresponding coding system aliases.
16799
16800         * file-coding.c (Fcoding_system_canonical_name_p): New function.
16801         * file-coding.c (Fcoding_system_alias_p): New function.
16802         * file-coding.c (Fcoding_system_aliasee): New function.
16803         * file-coding.c (append_suffix_to_symbol): New function.
16804         * file-coding.c (dangling_coding_system_alias_p): New function.
16805         * file-coding.c (Ffind_coding_system):
16806         * file-coding.c (Fcopy_coding_system):
16807         * file-coding.c (encode_coding_no_conversion):
16808         * file-coding.c (syms_of_file_coding):
16809         * file-coding.c (vars_of_file_coding):
16810         Rewrite coding system alias code.
16811         Allow nested aliases, like symbolic links.
16812         Allow redefinition of coding system aliases.
16813         Prevent existence of dangling coding system aliases.
16814
16815         * dired.c (Fuser_name_completion_1):
16816         * dired.c (Fuser_name_all_completions):
16817         A crash would happen if user did QUIT in the middle of building
16818         user_name_cache.  Remove redundant code in mainline and unwind_protect.
16819
16820         * lisp.h:
16821         * dynarr.c (Dynarr_min_size): Make static.  Increase value to 8.
16822
16823         * lstream.c (make_fixed_buffer_input_stream): Take a void *, not
16824         an unsigned char *.  Update all callers.
16825
16826 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16827
16828         * callproc.c (Fcall_process_internal): Ignore Vbinary-process_output.
16829
16830 2000-01-25  Martin Buchholz  <martin@xemacs.org>
16831
16832         * elhash.c (hentry_description): Use more portable definition.
16833         (resize_hash_table): Initialize new hentries using
16834         xnew_array_and_zero, thereby simplifying the code.
16835
16836         * mule-charset.c (make_charset): Make sure entire object is
16837         initialized, to avoid Purify warnings.
16838
16839         * alloc.c (resize_string): Fix unlikely crash with big strings.
16840
16841 2000-01-24  Martin Buchholz  <martin@xemacs.org>
16842
16843         * realpath.c (xrealpath):
16844         Don't call getwd().
16845
16846 2000-01-25  Martin Buchholz  <martin@xemacs.org>
16847
16848         * lread.c (read_bit_vector): Fix memory leak reading literal bit vectors.
16849
16850 1999-12-28  Max Matveev  <max@melbourne.sgi.com>
16851
16852         * unexelfsgi.c (unexec): Change the way we decide which segment
16853         should be extended.
16854
16855         Assumption that .bss section should be outside the PT_LOADable
16856         segment. On IRIX with version 6.2 and above, .bss (or .sbss, if
16857         it's present) is inside the 'data' segment. This would fail the
16858         test which was used to find a segment to grow and cover new
16859         heap. Instead of this assumption, I created another one - on IRIX
16860         the segment to grow should start below .bss and it's address
16861         should extent above the end of .bss. Once this segment is
16862         identified, it's grown to accommodate the new heap and new
16863         zero-length .bss section is added at the end of .data2.
16864
16865 2000-01-25  Martin Buchholz  <martin@xemacs.org>
16866
16867         * eval.c (Feval): Wrong number of arguments should use original
16868         function, not the indirect_function version of it.
16869
16870 2000-01-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
16871
16872         * glyphs-x.c (x_button_instantiate): Don't add image if
16873         it is not a pixmap.
16874         (x_locate_pixmap_file): Call Fexpand_file_name when file name
16875         is relative.
16876
16877 2000-01-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
16878
16879         * symeval.h (DEFVAR_LISP_MAGIC): Remove semicolon after macro
16880         declaration.
16881         (DEFVAR_INT_MAGIC): Ditto.
16882         (DEFVAR_BOOL_MAGIC): Ditto.
16883         * glyphs.h: Reindent backslash.
16884
16885 2000-01-24  Martin Buchholz  <martin@xemacs.org>
16886
16887         * glyphs-widget.c (layout_query_geometry):
16888         (layout_layout): Use correct types for gheight, gwidth.
16889
16890 2000-01-24  Martin Buchholz  <martin@xemacs.org>
16891
16892         * EmacsManager.c (QueryGeometry): Purified.
16893
16894 2000-01-23  Martin Buchholz  <martin@xemacs.org>
16895
16896         * alloc.c (make_float): Make sure entire object is initialized, to
16897         avoid Purify warnings.
16898         (pdump_register_sub): Remove useless assignment.
16899         (pdump): Use xmalloc, not malloc.
16900         (pdump_load): Use xmalloc, not malloc.
16901
16902 2000-01-23  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16903
16904         * callproc.c:
16905         * dired-msw.c:
16906         * fileio.c:
16907         * process-nt.c:
16908         * redisplay-msw.c:
16909         * sysdep.c: Removed redundant #include <windows.h>
16910
16911 2000-01-22  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16912
16913         * frame.c (delete_frame_internal): Do not delete device when its
16914         implementation so declares.
16915         (delete_frame_internal): Set device selected frame to nil when
16916         last frame goes away.
16917
16918         * device-msw.c (msprinter_device_system_metrics): Implemented.
16919         (mswindows_device_system_metrics): Added 'device-dpi property.
16920
16921         * device.c: (Fdevice_printer_p): Added.
16922         Added 'offset-workspace device metric.
16923
16924         * console.h (device_metrics): Declared DM_offset_workspace.
16925
16926 2000-01-23  Martin Buchholz  <martin@xemacs.org>
16927
16928         * fileio.c (Ffile_truename): Remove pointless and confusing
16929         initialization of elen.
16930
16931         * glyphs-widget.c: Compiler warning fixes.
16932
16933 2000-01-23  Gunnar Evermann  <ge204@eng.cam.ac.uk>
16934
16935         * process.h (PROCESS_LIVE_P): Modify to take a Lisp_Process
16936         instead of a Lisp_Object as argument to make it consistent with
16937         the other LIVE_P macros.
16938         (CHECK_LIVE_PROCESS): New macro.
16939
16940         * process.c: Declare Qprocess_live_p.
16941         (Fprocess_live_p): New function.
16942         (create_process): Use PROCESS_LIVE_P.
16943         (read_process_output): Ditto.
16944         (set_process_filter): Ditto.
16945         (Fdelete_process): Ditto.
16946         (kill_buffer_processes): Ditto
16947         (process_send_signal): Use CHECK_LIVE_PROCESS.
16948         (Fprocess_input_coding_system): Check whether process is still
16949         alive (fix PR#1061).
16950         (Fprocess_output_coding_system): Ditto.
16951         (Fprocess_coding_system): Ditto.
16952         (Fset_process_input_coding_system): Ditto.
16953         (Fset_process_output_coding_system): Ditto.
16954
16955 2000-01-23  Andy Piper  <andy@xemacs.org>
16956
16957         * glyphs.h (struct Lisp_Image_Instance): change format by unifying
16958         layout and widget.
16959
16960         * glyphs.c (mark_image_instance): take into account changed
16961         image_instance format.
16962         (image_instance_equal): ditto.
16963         (image_instance_hash): ditto.
16964
16965         * glyphs-widget.c (widget_instantiate): Incorporate layout
16966         instantiation here. Delay layout of the layout until later.
16967         (layout_instantiate): deleted.
16968         (layout_query_geometry): new function. get the geometry of a
16969         layout.
16970         (layout_layout): layout a layout dynamically.
16971         (image_instantiator_widget): New function - splitting up
16972         image_instantiator_format_create_glyphs_widget for netwinder
16973         compilation.
16974         (image_instantiator_buttons):
16975         (image_instantiator_edit_fields):
16976         (image_instantiator_combo_box):
16977         (image_instantiator_scrollbar):
16978         (image_instantiator_progress_guage):
16979         (image_instantiator_tree_view):
16980         (image_instantiator_tab_control):
16981         (image_instantiator_labels):
16982         (image_instantiator_layout): ditto.
16983         (image_instantiator_format_create_glyphs_widget): Call preceding
16984         functions.
16985
16986 2000-01-22  Martin Buchholz  <martin@xemacs.org>
16987
16988         * process.c (Fset_process_coding_system):
16989         * device-x.c (Fx_keysym_hash_table):
16990         Docstring fixes.
16991
16992         * lstream.c (Lstream_write): Return documented value, not 0.
16993
16994         * fileio.c (directory_file_name):
16995         (Fsubstitute_in_file_name):
16996         (Fsubstitute_insert_file_contents_internal):
16997         (Fwrite_region_internal):
16998         * emacs.c:
16999         * sysdep.c:
17000         * getloadavg.c:
17001         * systty.h:
17002         Remove vestigial APOLLO-conditional code.
17003
17004 2000-01-21  Martin Buchholz  <martin@xemacs.org>
17005
17006         * getpagesize.h: Add guard macros.
17007         * libsst.h: Add guard macros.
17008         * libst.h: Add guard macros.
17009         * line-number.h: Add guard macros.
17010         * ndir.h: Add guard macros.
17011         * sysfloat.h: Add guard macros.
17012         * sysfile.h: Add guard macros.
17013         * sysproc.h: Add guard macros.
17014         * syswait.h: Add guard macros.
17015         * xintrinsic.h: Add guard macros.
17016         * xintrinsicp.h: Add guard macros.
17017         * xmmanager.h: Add guard macros.
17018         * xmmanagerp.h: Add guard macros.
17019         * xmprimitive.h: Add guard macros.
17020         * xmu.h: Add guard macros.
17021         * gpmevent.h: Add copyright statement. Add guard macros.
17022         * miscplay.h: Add guard macros.
17023         * *.h: Use consistent C-standards-approved guard macro names.
17024
17025         * opaque.c (make_opaque): Switch parameter order.
17026         * opaque.h (make_opaque): Switch parameter order.
17027         Update all callers.
17028         * buffer.h (MAKE_MIRROR_TRT_TABLE): Use symbolic constant OPAQUE_CLEAR.
17029
17030         * config.h.in (type_checking_assert): Added.
17031         (bufpos_checking_assert): Added.
17032
17033 2000-01-21  Martin Buchholz  <martin@xemacs.org>
17034
17035         * alloc.c: Harmless pdump changes.
17036         - Use countof().
17037         - spell alignment correctly.
17038         * sysdep.c: Use countof()
17039
17040 2000-01-20  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17041
17042         * console.c (create_console): Use CONMETH_OR_GIVEN when calling
17043         initially_selected_for_input() console method, default to 0.
17044         (semi_canonicalize_console_connection): Try to delegate to
17045         canonicalize_console_connection if no such console method.
17046         (canonicalize_console_connection): Vice versa.
17047         (print_console): Do not print nil connection.
17048
17049         * console.h (XDEVIMPF_IS_A_PRINTER): Added.
17050         (XDEVIMPF_NO_AUTO_REDISPLAY): Added.
17051         (XDEVIMPF_FRAMELESS_OK): Added.
17052         (CONSOLE_INHERITS_METHOD): Added.
17053
17054         * console-msw.c (mswindows_canonicalize_console_connection):
17055         Added.
17056         (mswindows_canonicalize_device_connection): Added.
17057
17058         * console-msw.h (struct msprinter_device): Added this struct and
17059         accessor macros.
17060         (mswindows_device): Made fontlist a lisp object.
17061
17062         * device.c (semi_canonicalize_device_connection):  Try to delegate
17063         to canonicalize_device_connection if no such console method.
17064         (canonicalize_device_connection): Vice versa.
17065         (print_device): Do not print nil connection.
17066
17067         * device-msw.c (mswindows_init_device): Call InitCommonControls
17068         when have widgets.
17069         (mswindows_delete_device): Removed fontlist deallocation.
17070         (mswindows_mark_device): Added.
17071
17072         * events.c (event_equal): Added abort() at unreached code.
17073         (event_hash): Ditto.
17074
17075         * faces.c (complex_vars_of_faces): Added Qmsprinter to the list of
17076         fallback tags of Windows devices.
17077
17078         * general.c (syms_of_general): Initialized Qmsprinter.
17079
17080         * gutter.c (complex_vars_of_gutters): Added Qmsprinter to the list
17081         of fallback tags of Windows devices.
17082
17083         * lisp.h: Declared Qmsprinter.
17084
17085         * objects-msw.c (font_enum_callback_2): Rewrote to build lisp list
17086         of strings.
17087         (mswindows_list_fonts): Ditto.
17088         (mswindows_enumerate_fonts): Removed dependency on XDEVICE, so
17089         that it can be used by both mswindows and msprinter devices.
17090         (initialize_font_instance): Added.
17091         (mswindows_initialize_font_instance): Use it.
17092         (msprinter_initialize_font_instance): Added.
17093
17094         * redisplay.c (redisplay_device): Added the parameter AUTOMATIC
17095         and implementation flags check.
17096         (redisplay_without_hooks): Changed the call to the above.
17097         (Fredraw_device): Ditto.
17098         (Fredisplay_device): Ditto.
17099
17100         * redisplay-msw.c (get_frame_dc): Implemented.
17101         (get_frame_compdc): Implemented.
17102         (many functions): Use the two functions above to get device
17103         contexts, ether for a window or a printer.
17104
17105 2000-01-21  Olivier Galibert  <galibert@pobox.com>
17106
17107         * symbols.c (reinit_symbols_once_early): Put Qzero/Qnull_pointer
17108         initialization here.
17109         (init_symbols_once_early): Call it.
17110         * emacs.c (main_1): Call it.
17111         * symsinit.h: Declare it.
17112
17113 2000-01-19  Olivier Galibert  <galibert@pobox.com>
17114
17115         * alloc.c: Use a lrecord_header * in the backtrace instead of a
17116         Lisp_Object.
17117         (pdump_backtrace): Ditto.
17118         (pdump_register_object): Ditto.  Cleanup use of the pointers.
17119         (pdump_get_entry): Abort if trying to register a null pointer.
17120         (pdump_dump_data): Cleanup types when relocating.
17121         (pdump_dump_staticvec): Cleanup types w.r.t the reloc table.
17122         (pdump_dump_rtables): Remove bad casts.
17123         (pdump_load): Cleanup relocation w.r.t union type.  Use a
17124         Lisp_Object instead of a EMACS_INT for the hashtable
17125         reorganization.
17126
17127 2000-01-20  Martin Buchholz  <martin@xemacs.org>
17128
17129         * emacs.c (main_1): Rearrange morass of #ifdef's for correctness.
17130
17131         * callproc.c (call_process_cleanup): Isolate WINDOWSNT code for clarity.
17132
17133         * EmacsManager.c (GeometryManager): Avoid use of CPP for clarity.
17134
17135         * *.[ch]: global-replace 's/_of_xselect/_of_select_x/g' *.[ch]
17136
17137 2000-01-17  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17138
17139         * faces.h (FACE_STRIKETHRU_P): Added.
17140
17141         * glyphs-msw.c (mswindows_widget_hfont): Implemented, to take care
17142         of font variants.
17143
17144         * redisplay-msw.c (mswindows_apply_face_effects): Deleted.
17145         (mswindows_set_dc_font): New function, aware of font variants,
17146         separated from mswindows_update_dc.
17147
17148         * objects-msw.h (struct mswindows_font_instance_data): Added
17149         definition.
17150
17151         * objects-msw.c (mswindows_finalize_font_instance): Delete all
17152         cached fonts and the data structure.
17153         (mswindows_initialize_font_instance): Added creation of font data
17154         structure.
17155         (mswindows_print_font_instance): Print at least something.
17156         (mswindows_create_font_variant): Implemented.
17157         (mswindows_get_hfont): Implemented.
17158
17159 2000-01-13  Fabrice Popineau  <Fabrice.Popineau@supelec.fr>
17160
17161         * dired-msw.c: permute "sysdir.h" with "sysfile.h" because of
17162         prototyping problem with msvc.
17163
17164         * emacs.c (main_1): added syms_of_gui_mswindows() call
17165
17166         * gui-msw.c: added "mswindows-shell-execute" lisp subr and
17167         syms_of_gui_mswindows() function
17168
17169         * symsinit.h: added the prototype for syms_of_gui_mswindows()
17170
17171 2000-01-18  Martin Buchholz <martin@xemacs.org>
17172
17173         * XEmacs 21.2.27 is released.
17174
17175 2000-01-18  Martin Buchholz  <martin@xemacs.org>
17176
17177         * glyphs-eimage.c (struct tiff_error_struct):
17178         (tiff_error_func):
17179         (tiff_warning_func):
17180         #if HAVE_VSNPRINTF ==> #ifdef HAVE_VSNPRINTF
17181
17182         * unexmips.c:
17183         * unexhp9k3.c:
17184         * unexfreebsd.c:
17185         * unexec.c: Remove vestigial Lucid C code.
17186         * unexalpha.c:
17187         * unexaix.c:
17188         * termcap.c:
17189         * libsst.c: Ansify.
17190         Remove declarations of errno and strerror().
17191
17192         * eval.c (Fbacktrace): Small Purify-cation.  Fix docstring.
17193
17194         * .dbxrc (run-temacs): Use the horrible ${1+"$@"} instead of "$@".
17195
17196 2000-01-16  Martin Buchholz  <martin@xemacs.org>
17197
17198         * mule-charset.c (Fchar_octet): Resurrect from earlier in 1999.
17199         Optimize.
17200
17201 2000-01-14  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
17202
17203         * md5.c:
17204         * file-coding.c:
17205         * file-coding.h:
17206         Change enum eol_type to eol_type_t.
17207
17208 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
17209
17210         * gui.c (get_gui_callback): Check cons before accessing car.
17211
17212 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
17213
17214         * specifier.h (XSPECIFIER_TYPE): Add error checking version.
17215         (XSETSPECIFIER_TYPE): Ditto.
17216
17217 2000-01-17  Didier Verna  <didier@xemacs.org>
17218
17219         * redisplay.c (generate_fstring_runes): compute string size in
17220         characters, not bytes.
17221
17222 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
17223
17224         * window.c (Fwindow_minibuffer_p): Make WINDOW optional.
17225
17226 2000-01-14  Hrvoje Niksic  <hniksic@iskon.hr>
17227
17228         * print.c (print_error_message): Call print_prepare().
17229
17230 2000-01-14  Martin Buchholz  <martin@xemacs.org>
17231
17232         * .dbxrc: Renamed from dbxrc.
17233
17234         * events.c (event_to_character):
17235         Use `assert (foo)' instead of `if (!foo) abort()'
17236
17237         * .gdbinit (xtype): Add documentation.
17238         * .gdbinit (check-temacs): New function.
17239         * .gdbinit (check-xemacs): New function.
17240         * dbxrc (check-xemacs): New function.
17241         * dbxrc (check-xemacs): New function.
17242
17243 2000-01-14  Andy Piper  <andy@xemacs.org>
17244
17245         * glyphs-widget.c (widget_query_geometry): Make sure that we
17246         calculate default dimensions correctly.
17247
17248 2000-01-13  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17249
17250         * symsinit.h: Added prototype for reinit_vars_of_frame_mswindows.
17251
17252         * event-msw.c (vars_of_event_mswindows): Fixed a mistyped
17253         pdump_wire'd variable.
17254
17255         * emacs.c: (main_1): Conditionalized calls to
17256         reinit_vars_of_scrollbar_x and reinit_vars_of_module.
17257
17258 2000-01-13  Martin Buchholz  <martin@xemacs.org>
17259
17260         * window.c (Fset_window_configuration):
17261         * sysdep.c (_start):
17262         * input-method-motif.c (res):
17263         * event-Xt.c (Xt_process_to_emacs_event):
17264         Simple compiler warning fixes.
17265
17266         * bytecode.c (funcall_compiled_function): Use the original
17267         function symbol on the backtrace list in preference to the
17268         compiled_function object in error messages.
17269
17270 2000-01-13  Andy Piper  <andy@xemacs.org>
17271
17272         * glyphs-x.c (update_widget_face): Make sure we update the widget
17273         background as well as foreground.
17274
17275 2000-01-13  Andy Piper  <andy@xemacs.org>
17276
17277         * glyphs.h (struct Lisp_Image_Instance): Move justify and orient
17278         fields to subwindow.
17279         (IMAGE_INSTANCE_SUBWINDOW_JUSTIFY): new macro.
17280         (XIMAGE_INSTANCE_SUBWINDOW_JUSTIFY): ditto.
17281         (IMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
17282         (XIMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
17283
17284         * glyphs-widget.c (check_valid_tab_orientation): new function.
17285         (initialize_widget_image_instance): zero orientation and
17286         justification.
17287         (widget_instantiate): pick up orientation.
17288         (tab_control_query_geometry): return appropriate values for
17289         vertical tabs.
17290
17291         * glyphs-msw.c: (mswindows_tab_control_instantiate): assign
17292         appropriate creation flags for left, right and bottom tabs.
17293
17294         * s/cygwin32.h: add tab definitions.
17295
17296 2000-01-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17297
17298         * glyphs-msw.c (mswindows_unmap_subwindow): Set focus back to the
17299         frame upon hiding a subwindow.
17300         (mswindows_button_instantiate): Changed the push button style to
17301         BS_PUSHBUTTON.
17302         (mswindows_button_instantiate): Removed button BS_NOTIFY
17303         style.
17304         (mswindows_button_instantiate): Removed redundant check for
17305         a disabled gui item.
17306         (mswindows_button_instantiate): Made use of WS_TABSTOP
17307         consistent: "operable" controls (edit, button, tree, scroll) have
17308         this style, "display-only" ones (static, progress gauge) do
17309         not. This style is currently ignored by XEmacs though. Also,
17310         removed the WS_EX_CONTROLPARENT style - it is not for children,
17311         it is for their parents!
17312         (mswindows_edit_field_instantiate): Ditto.
17313         (mswindows_progress_gauge_instantiate): Ditto.
17314         (mswindows_tree_view_instantiate): Ditto.
17315         (mswindows_tab_control_instantiate): Ditto.
17316         (mswindows_scrollbar_instantiate): Ditto.
17317         (mswindows_combo_box_instantiate): Ditto.
17318         (mswindows_widget_instantiate): Added the WS_EX_CONTROLPARENT
17319         style to the "clip" window.
17320         (mswindows_button_instantiate): Removed compilation warning by
17321         equally typing terms of the ?: operator.
17322
17323 2000-01-12  Didier Verna  <didier@xemacs.org>
17324
17325         * redisplay.c (generate_fstring_runes): new parameter holding the
17326         last modeline-format extent.
17327         (add_glyph_to_fstring_db_runes): new parameter holding the glyph
17328         extent, fill the glyph block with it.
17329         (generate_fstring_runes): handle these parameters.
17330         (generate_formatted_string_db): ditto.
17331
17332         * keymap.c (get_relevant_keymaps): retreive the keymaps from the
17333         glyphs'extents in the modeline.
17334
17335 1999-01-11  Mike Woolley  <mike@bulsara.com>
17336
17337         * ntheap.c: Reduced the reserved heap space from 1Gb down to
17338         256Mb, as a workaround for the non-starting problem many people
17339         have experienced.
17340
17341 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
17342
17343         * console-tty.c (Fset_console_tty_output_coding_system):
17344         Force redrawing tty frame.
17345
17346 2000-01-10  Didier Verna  <didier@xemacs.org>
17347
17348         * redisplay.c (generate_fstring_runes): fix size computation bug.
17349
17350 2000-01-09  William M. Perry <wmperry@aventail.com>
17351
17352         * gpmevent.c: (gpm_next_event_cb): Don't return value from void function.
17353
17354 2000-01-09  Andy Piper  <andy@xemacs.org>
17355
17356         * glyphs-msw.c: index -> i to avoid shadows.
17357         (xbm_create_bitmap_from_data): make static.
17358         (check_valid_string_or_int): deleted.
17359         (mswindows_control_wnd_proc): message -> msg to avoid shadows.
17360
17361         * glyphs-x.c (x_update_subwindow): remove unused args.
17362
17363         * glyphs.c (glyph_image_instance): return the thing. Don't set the
17364         back pointer - this is done in allocate_image_instance.
17365         (query_string_font): return Qnil to make the compiler happy.
17366         (unmap_subwindow): set to ~0 to make the compiler happy.
17367         (glyph_query_geometry): comment out until used.
17368         (glyph_layout): ditto.
17369
17370 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
17371
17372         * insdel.c (signal_after_change): Remove extraneous unbind_to().