XEmacs 21.2.44 "Thalia".
[chise/xemacs-chise.git.1] / src / ChangeLog
1 2001-02-08  Martin Buchholz <martin@xemacs.org>
2
3         * XEmacs 21.2.44 "Thalia" is released.
4
5 2001-02-06  Martin Buchholz  <martin@xemacs.org>
6
7         Fixes crashes in kill-emacs on some systems.
8         * process-unix.c (unix_kill_child_process):
9         It's OK for kill() to fail with ESRCH.
10
11 2001-02-07  Martin Buchholz  <martin@xemacs.org>
12
13         Contortions to make .gdbinit tricks work on most systems.
14         * alloc.c (dbg_inhibit_dbg_symbol_deletion): Keep debugger info.
15         * alloc.c (dbg_valmask): Make non-const.
16         * alloc.c (dbg_typemask): Make non-const.
17         * alloc.c (dbg_USE_UNION_TYPE): Make non-const.
18         * alloc.c (dbg_valbits): Make non-const.
19         * alloc.c (dbg_gctypebits): Make non-const.
20         * .gdbinit (decode_object): Make it work with AIX cc.
21
22 2001-02-06  Martin Buchholz  <martin@xemacs.org>
23
24         * elhash.c (make_general_lisp_hash_table):
25         Use simpler and more efficient calloc to clear entries.
26
27 2001-02-07  Martin Buchholz  <martin@xemacs.org>
28
29         * window.c (window_scroll): Work around an AIX C compiler bug.
30         Fixes 'scroll-up' does nothing problem with xlC.
31
32 2001-02-05  Martin Buchholz  <martin@xemacs.org>
33
34         * .gdbinit: Remove obsolete comment.
35
36 2001-01-31  Mike Alexander  <mta@arbortext.com>
37
38         * select.c (Fown_selection_internal): Set owned_p for device
39         method correctly.
40
41 2001-02-01  Martin Buchholz  <martin@xemacs.org>
42
43         Port to g++ 2.97.
44         "not" cannot be used as a macro name as it is an operator in C++
45         * config.h.in: Stop #defining `not'.
46         * chartab.c (check_category_char): not ==> not_p
47         * chartab.h: Likewise.
48         * regex.c (re_match_2_internal): Likewise.
49
50 2001-02-02  Martin Buchholz  <martin@xemacs.org>
51
52         * lisp-disunion.h: Fix up comments.
53
54 2001-01-31  Martin Buchholz  <martin@xemacs.org>
55
56         * keymap.c (define_key_check_and_coerce_keysym):
57         (syms_of_keymap):
58         Support mouse-6 and mouse-7 bindings in the obvious way.
59
60 2001-02-01  Martin Buchholz  <martin@xemacs.org>
61
62         * m/hp9000s300.h (UNEXEC): Check for HPUX, not !BSD.
63
64 2001-01-30  Martin Buchholz  <martin@xemacs.org>
65
66         Previous patch changing DEFVAR_INT to use EMACS_INT was incomplete.
67         Previous patch missed DEFVAR_INT_MAGIC.
68         Make sure future DEFVAR_foo use correct types.
69         * symeval.h (DEFVAR_SYMVAL_FWD_FIXNUM): New.
70         * (DEFVAR_SYMVAL_FWD_INT): Add type checking.
71         * (DEFVAR_SYMVAL_FWD_OBJECT): Add type checking.
72         * (DEFVAR_INT_MAGIC): Use DEFVAR_SYMVAL_FWD_FIXNUM.
73         * (DEFVAR_INT): Likewise.
74         * redisplay.c (vertical_clip): Should be of type Fixnum.
75         * redisplay.c (horizontal_clip): Likewise.
76         * lisp.h (dump_add_opaque_int): New.
77         (dump_add_opaque_fixnum): New.
78
79 2001-01-29  Andy Piper  <andy@xemacs.org>
80
81         * glyphs-widget.c (check_valid_int_or_function): allow symbols
82         since they can be eval'ed
83
84 2001-01-29  Martin Buchholz  <martin@xemacs.org>
85
86         * lisp.h (ALIGNOF): Make it work on non-gcc C++ compilers.
87         Oops, XEmacs redefines `class'.  Use `typename' instead.
88
89 2001-01-28  Martin Buchholz  <martin@xemacs.org>
90
91         * dumper.c: Fix C++ compile errors.
92
93 2001-01-29  Martin Buchholz  <martin@xemacs.org>
94
95         * tparam.c: Use correct prototypes.
96
97 2001-01-28  Martin Buchholz  <martin@xemacs.org>
98
99         * sysproc.h: #include util.h for NetBSD's openpty.
100
101 2001-01-27  Martin Buchholz  <martin@xemacs.org>
102
103         More 64-bit correctness.
104         The C value of a DEFVAR_INT should be of type EMACS_INT, not int.
105         Use a typedef `fixnum' for the type used for DEFVAR_INT.
106         Fix up comments.
107         This finally finishes the 64-bit SGI port.
108         Fixes things like (let ((gc-cons-threshold most-positive-fixnum)) ...).
109         * symbols.c: Fix up comments and type casts.
110         * symbols.c (do_symval_forwarding): s/int/Fixnum/g
111         * symbols.c (store_symval_forwarding): s/int/Fixnum/g
112         * symeval.h (Fixnum): New type.
113         * symeval.h (symbol_value_type): Fix up comment.
114
115         * commands.h:
116         * nt.c:
117         * emacs.c:
118         * data.c:
119         * redisplay.c:
120         * abbrev.c:
121         * dired-msw.c:
122         * event-Xt.c:
123         * eldap.c:
124         * window.c:
125         * sound.c:
126         * event-stream.c:
127         * eval.c:
128         * buffer.c:
129         * mule-canna.c: A million DEFVAR_INTs here...
130         * mule-canna.c (count_char): s/int */Fixnum */g in arglist.
131         * extents.c:
132         * cmdloop.c:
133         * lisp.h:
134         * select-x.c:
135         * console-x.h:
136         * event-msw.c:
137         * mule-wnnfns.c:
138         * hpplay.c:
139         * ralloc.c:
140         * alloc.c:
141         * keymap.c:
142         * profile.c:
143         s/int/Fixnum/g in DEFVAR_INT declarations.
144
145 2001-01-26  Martin Buchholz  <martin@xemacs.org>
146
147         Port pdump to SGI alignment-sensitive environment.
148         Lisp Object sizeof methods now return aligned sizes.  Rely on that.
149         Eliminate is_lrecord since Lisp_Objects sizeof methods are now all
150         properly aligned.
151         Define and use aligned reading and writing macros.
152         Use buffered stdio instead of posix i/o for faster dumping.
153         Eliminate kludgy 256 byte space for header.
154         Read and write from dump file using structs for alignment safety.
155         * dumper.c (pdump_align_stream): New.
156         * dumper.c (PDUMP_ALIGN_OUTPUT): New.
157         * dumper.c (PDUMP_READ_ALIGNED): New.
158         * dumper.c (PDUMP_WRITE_ALIGNED): New.
159         * dumper.c (pdump_static_Lisp_Object): New struct.
160         * dumper.c (pdump_static_pointer): New struct.
161         * dumper.c (pdump_entry_list_element): Remove is_lrecord member.
162         * dumper.c (pdump_add_entry): Remove is_lrecord parameter.
163         * dumper.c (pdump_dump_data): Rely on sizeof method alignment.
164         * dumper.c (pdump_allocate_offset): Rely on sizeof method alignment.
165
166         * dumper.c (pdump_backtrace):
167         * dumper.c (pdump_get_indirect_count):
168         * dumper.c (pdump_register_object):
169         * dumper.c (pdump_register_struct):
170         * dumper.c (pdump_reloc_one):
171         * dumper.c (pdump_scan_by_alignment):
172         * dumper.c (pdump_dump_from_root_struct_ptrs):
173         * dumper.c (pdump_dump_opaques):
174         * dumper.c (pdump_dump_rtables):
175         * dumper.c (pdump_dump_from_root_objects):
176         * dumper.c (pdump):
177         * dumper.c (pdump_load_finish):
178         Use aligned reading and writing.
179
180         * dumper.c (pdump_free): Make static.
181         * dumper.c (pdump_hFile): Likewise.
182         * dumper.c (pdump_hMap): Likewise.
183
184 2001-01-26  Martin Buchholz <martin@xemacs.org>
185
186         * XEmacs 21.2.43 "Terspichore" is released.
187
188 2001-01-25  Martin Buchholz  <martin@xemacs.org>
189
190         Type fiddling for window_config.saved_windows_count
191         * window.c (struct window_config): 
192         Make saved_windows_count member unsigned.
193         * window.c (sizeof_window_config_for_n_windows): 
194         Make parameter unsigned.
195         * window.c (mark_window_config):
196         * window.c (window_config_equal):
197         * window.c (free_window_configuration):
198         * window.c (Fset_window_configuration):
199         * window.c (count_windows):
200         * window.c (Fcurrent_window_configuration):
201         * window.c (reinit_vars_of_window):
202         Update all callers and users.
203
204 2001-01-25  Martin Buchholz  <martin@xemacs.org>
205
206         Alignment correctness for flexible arrays.
207         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF):
208         Make alignment-correct. Add interesting comments.
209         * alloc.c (size_vector):
210         * alloc.c (make_vector_internal):
211         * alloc.c (make_bit_vector_internal):
212         * alloc.c (sweep_bit_vectors_1):
213         * fns.c (size_bit_vector):
214         Update all callers of FLEXIBLE_ARRAY_STRUCT_SIZEOF to add new arg.
215         * window.c (sizeof_window_config_for_n_windows): 
216         Use FLEXIBLE_ARRAY_STRUCT_SIZEOF.
217
218 2001-01-24  Martin Buchholz  <martin@xemacs.org>
219
220         * lread.c (read1): Rename `fexp', which is #defined in SGI's math.h
221
222 2001-01-23  Andy Piper  <andy@xemacs.org>
223
224         * select.c (Fown_selection_internal): pass owned_p
225
226         * select-msw.c (mswindows_own_selection): New Signature.
227
228         * console.h (struct console_methods): add owned_p to
229         _own_selection.
230
231         * select-x.c (x_own_selection): pass owned_p
232         (hack_motif_clipboard_selection): use owned_p
233         (vars_of_select_x): new variable -
234         x_selection_strict_motif_ownership.
235
236 2001-01-23  Martin Buchholz  <martin@xemacs.org>
237
238         * specifier.h (specifier_data_offset): Remove pointless parens.
239         * glyphs.h (IMAGE_SPECIFIER_DATA): Likewise.
240
241 2001-01-24  Martin Buchholz  <martin@xemacs.org>
242
243         Make Lisp_Object sizeof methods be alignment-correct.
244         pdump must restore objects to the same alignment as the C compiler
245         assumes.  It really matters on SGIs.
246         * lstream.c (aligned_sizeof_lstream): New.
247         (sizeof_lstream): Use aligned_sizeof_lstream.
248         (Lstream_new): Likewise.
249         * opaque.c (aligned_sizeof_opaque): New.
250         (sizeof_opaque): Use aligned_sizeof_opaque.
251         (make_opaque): Likewise.
252         * specifier.c (aligned_sizeof_specifier): New.
253         (sizeof_specifier): Use aligned_sizeof_specifier.
254         (make_specifier_internal): Likewise.
255
256 2001-01-23  Martin Buchholz  <martin@xemacs.org>
257
258         * lstream.h (struct lstream): Use max_align_t for trailing data.
259         * specifier.h (struct Lisp_Specifier): Likewise.
260
261 2001-01-22  Martin Buchholz  <martin@xemacs.org>
262
263         * mule-ccl.c (CCL_Extension): Renamed from CCL_Extention.
264         (CCL_SUCCESS): Kludge to prevent Sun cc compiler warnings.
265         (CCL_SUSPEND): Likewise.
266         (CCL_INVALID_CMD): Likewise.
267         (CCL_CALL_FOR_MAP_INSTRUCTION): Likewise.
268         (ccl_driver): Likewise.
269         (CCL_WRITE_CHAR): Macro hygiene.
270         (CCL_WRITE_STRING): Macro hygiene.
271
272 2001-01-22  Martin Buchholz  <martin@xemacs.org>
273
274         Port "portable" dumper to SunOS 4 and HP-UX.
275         * s/aix4.h (AIX4): Move MAP_FAILED definition elsewhere.
276         * emacs.c (main): PDUMP implies no RUN_TIME_REMAP.
277         * dumper.c (pdump_file_get): Define MAP_FAILED if not already defined.
278
279 2001-01-22  Martin Buchholz  <martin@xemacs.org>
280
281         * lisp.h (ALIGNOF): A better definition for C++.
282
283 2001-01-20  Martin Buchholz  <martin@xemacs.org>
284
285         Macro hygiene.
286         Fix printf warnings: int format, long int arg.
287         * regex.c (DECLARE_DESTINATION): Use DECLARE_NOTHING.
288         (PUSH_FAILURE_POINT): Use correct printf formats.
289         (POP_FAILURE_POINT): Use correct printf formats.  
290         Use do {...} while (0)
291
292 2001-01-20  Martin Buchholz <martin@xemacs.org>
293
294         * XEmacs 21.2.42 "Poseidon" is released.
295
296 2001-01-20  Martin Buchholz  <martin@xemacs.org>
297
298         * console-x.h: typo fix du jour.  Remove #if 0'ed code.
299
300 2001-01-19  Martin Buchholz  <martin@xemacs.org>
301
302         De-kludgify FIXED_TYPE free list frobbing.
303         Fix crashes on 64-bit platforms introduced by my patch of 2001-01-13.
304         * alloc.c (DECLARE_FIXED_TYPE_ALLOC): Use Lisp_Free.
305         * alloc.c (ALLOCATE_FIXED_TYPE_1): Use new definitions.
306         * alloc.c (Lisp_Free): New pseudo lisp object definition.
307         * alloc.c (LRECORD_FREE_P): New.
308         * alloc.c (MARK_LRECORD_AS_FREE): New.
309         * alloc.c (MARK_LRECORD_AS_NOT_FREE): New.
310         * alloc.c (STRUCT_FREE_P): Deleted.
311         * alloc.c (MARK_STRUCT_AS_FREE): Deleted.
312         * alloc.c (MARK_STRUCT_AS_NOT_FREE): Deleted.
313         * alloc.c (STRING_CHARS_FREE_P): New.
314         * alloc.c (MARK_STRING_CHARS_AS_FREE): New.
315         * alloc.c (PUT_FIXED_TYPE_ON_FREE_LIST): Use new definitions.
316         * alloc.c (FREE_FIXED_TYPE): Use new definitions.
317         * alloc.c (STRING_CHARS_FREE_P): Use new definitions.
318         * alloc.c (resize_string): Use new definitions.
319         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Use new definitions.
320         * alloc.c (verify_string_chars_integrity): Use new definitions.
321         * alloc.c (compact_string_chars): Use new definitions.
322         * alloc.c: Update monster comments.
323         * lrecord.h (lrecord_type): Add some new lrecord types for
324         alloc.c's use.
325
326 2001-01-18  Martin Buchholz  <martin@xemacs.org>
327
328         Improve alignment hackery.
329         * lisp.h (ALIGNOF): Better definition for the non-gcc case.
330         (max_align_t): Moved from opaque.h - general purpose.
331         (ALIGN_PTR): Use size_t, not long.
332         * opaque.h (max_align_t): Move to lisp.h.
333
334 2001-01-18  Norbert Koch  <nk@LF.net>
335
336         * gui.h: Fix and add prototypes to fix build problems.
337
338 2001-01-18  Martin Buchholz  <martin@xemacs.org>
339
340         temacs is going away, so `dump-temacs' is now a bad name.
341         * .dbxrc (dump-temacs): Rename to `dmp'.
342         * .gdbinit (dump-temacs): Rename to `dmp'.
343
344 2001-01-17  Andy Piper  <andy@xemacs.org>
345
346         * glyphs.c (print_image_instance): comment to make martin happy.
347
348         * glyphs-x.c (x_redisplay_widget): update faces after a frame
349         change.
350
351         * glyphs-msw.c (mswindows_redisplay_widget): add code to cope with
352         activation.
353         (mswindows_tab_control_redisplay): warning suppression.
354
355         * glyphs-widget.c (widget_update): re-write to cope with updated
356         items.
357         (widget_instantiate): use new gui_item functions.
358         (tab_control_update): deleted.
359         (progress_gauge_update): deleted.
360         (image_instantiator_progress_guage): take out update reference.
361         (image_instantiator_tree_view): ditto.
362         (image_instantiator_tab_control): ditto.
363
364         * gui.c (widget_gui_parse_item_keywords): new function. Do things
365         Right the new way.
366         (gui_item_add_keyval_pair): re-write to cope with descriptors and
367         return whether anything was changed.
368         (update_gui_item_keywords): as it sounds.
369
370         * gui.h: declare widget_gui_parse_item_keywords.
371
372         * fns.c (safe_copy_tree): new function taken from Fcopy_tree.
373         (Fcopy_tree): use it. Stops infloop death in bogus instantiators.
374
375 2001-01-17  Martin Buchholz <martin@xemacs.org>
376
377         * XEmacs 21.2.41 "Polyhymnia" is released.
378
379 2001-01-16  Didier Verna  <didier@xemacs.org>
380
381         * glyphs.c (image_instantiate): don't use fallbacks when
382         instantiating a face's background pixmap by inheritance.
383
384 2001-01-14  Mike Sperber <mike@xemacs.org>
385
386         * sysdep.c (start_of_data): PDUMP implies ORDINARY_LINK.
387         Conditionalize accordingly.
388
389 2001-01-16  Martin Buchholz  <martin@xemacs.org>
390
391         * dumper.c (pdump_file_get): Fix a compiler warning.
392
393 2001-01-15  Martin Buchholz  <martin@xemacs.org>
394
395         Make Purify happy when pdumping.
396         * symbols.c (Fmake_variable_buffer_local): Make Purify happy, by
397         iniitalizing all bits of new lisp object memory.
398         * symbols.c (Fmake_local_variable): Likewise.
399         * symbols.c (Fdontusethis_set_symbol_value_handler): Likewise.
400         * symbols.c (Fdefvaralias): Likewise.
401         * mule-charset.c (vars_of_mule_charset): Likewise.
402
403 2001-01-15  Martin Buchholz  <martin@xemacs.org>
404         Add the `-nd' flag when running pre-dump operations under the debugger.
405         * .dbxrc (run-temacs): Add `-nd'.
406         * .dbxrc (update-elc): Likewise.
407         * .dbxrc (dump-temacs): Likewise.
408         * .gdbinit (run-temacs): Likewise.
409         * .gdbinit (check-temacs): Likewise.
410         * .gdbinit (update-elc): Likewise.
411         * .gdbinit (dump-temacs): Likewise.
412
413 2001-01-14  Martin Buchholz  <martin@xemacs.org>
414
415         Allow building 64-bit executables on AIX with GNU malloc, e.g.
416         export OBJECT_MODE=64
417         configure --pdump --use-union-type=no
418         * m/ibmrs6000.h (DATA_START): Define for 64-bit world.
419         * gmalloc.c (__default_morecore): Remove pre-ANSI cruft.
420
421         * miscplay.c (sndcnv8U_2mono):
422         Avoid two uses of `++' in the same expression.
423         Suppresses a GCC warning.
424
425 2001-01-13  Martin Buchholz  <martin@xemacs.org>
426
427         Make sure future compilers don't miscompile alloc.c.
428         * alloc.c:
429         (MARK_STRUCT_AS_FREE): Make aliasing-optimization-resistant.
430         (MARK_STRUCT_AS_NOT_FREE): Make aliasing-optimization-resistant.
431
432 2001-01-12  Martin Buchholz  <martin@xemacs.org>
433
434         * dumper.c: A little post-pdump-rename comment fixup.
435
436 2001-01-09  Jerry James  <james@eecs.ku.edu>
437
438         * lisp-disunion.h: Change LISP_TO_CVOID arg to match its use.
439
440 2001-01-13  Martin Buchholz  <martin@xemacs.org>
441
442         * *.[ch]: Globally rename symbols using the following `pdump-rename'
443         script:
444         #!/bin/sh
445         replace_symbol () {
446           (findn texi$; findn [ch]$) | xargs g -lw "$1" | xargs global-replace 's/(?<!_)\b'$1'\b(?!_)/'$2'/g'
447         }
448
449         replace_symbol pdump_wire_lists pdump_weak_object_chains
450         replace_symbol pdump_wire_list dump_add_weak_object_chain
451
452         replace_symbol pdump_wires pdump_root_objects
453         replace_symbol pdump_wire dump_add_root_object
454
455         replace_symbol pdump_dump_wired pdump_dump_from_root_objects
456         replace_symbol pdump_dump_structs pdump_dump_from_root_struct_ptrs
457
458         replace_symbol dumpstructinfos pdump_root_struct_ptrs
459         replace_symbol dumpstructinfo_dynarr pdump_root_struct_ptr_dynarr
460         replace_symbol dumpstructinfo pdump_root_struct_ptr
461         replace_symbol dumpstruct dump_add_root_struct_ptr
462
463         replace_symbol dumpopaque dump_add_opaque
464         replace_symbol dumpopaqueinfo_dynarr pdump_opaque_dynarr
465         replace_symbol dumpopaqueinfos pdump_opaques
466         replace_symbol dumpopaqueinfo pdump_opaque
467
468         replace_symbol nb_structdump nb_root_struct_ptrs
469         replace_symbol nb_opaquedump nb_opaques
470
471         replace_symbol align_table pdump_align_table
472         replace_symbol dump_header pdump_header
473
474         replace_symbol DUMP_SIGNATURE_LEN PDUMP_SIGNATURE_LEN
475         replace_symbol DUMP_SIGNATURE PDUMP_SIGNATURE
476
477
478 2001-01-12  Martin Buchholz  <martin@xemacs.org>
479
480         * s/aix4.h: Keep the C for AIX compiler from overaggressively
481         optimizing bytecount_to_charcount().
482
483 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
484
485         * config.h.in:
486         (HAVE_DLFCN_H): Removed.
487         * sysdll.c: Remove HAVE__DLOPEN, HAVE_DLFCN_H.
488
489 2001-01-06  Martin Buchholz  <martin@xemacs.org>
490
491         Portable dumper maintainability improvements.
492         * alloc.c (staticpro):
493         * alloc.c (staticpro_nodump):
494         * alloc.c (garbage_collect_1):
495         * alloc.c (reinit_alloc_once_early):
496         * alloc.c (init_alloc_once_early):
497         * alloc.c: Move dumper functions to alloc.c.
498         * dumper.c (pdump_backtrace):
499         * dumper.c (pdump_dump_structs):
500         * dumper.c (pdump_dump_opaques):
501         * dumper.c (pdump_dump_rtables):
502         * dumper.c (pdump_dump_wired):
503         * dumper.c (pdump):
504         * dumper.c (pdump_load_check):
505         * dumper.c (pdump_load_finish):
506         * dumper.c (pdump_file_unmap):
507         * dumper.c (pdump_file_get):
508         * dumper.c (pdump_resource_free):
509         * dumper.c (pdump_resource_get):
510         * dumper.c (pdump_file_free):
511         * dumper.c (pdump_file_try):
512         * dumper.c (pdump_load):
513         Remove fixed size limits on staticpro(), staticpro_nodump(),
514         dumpopaque(), dumpstruct() by using Dynarrs instead of static C arrays.
515         Remove custom code for dumping lrecord_implementations_table - use
516         dumpopaque instead.
517         Remove (most of the) custom code for dumping staticpros - dump it
518         like any other dynarr.
519
520         * alloc.h: Removed.  No longer useful, since dumper now more self-contained.
521         * dumper.c: Moved functions from alloc.c.
522         * alloc.c (dumpstruct): Moved to dumper.c.
523         * alloc.c (dumpopaque): Likewise.
524         * alloc.c (pdump_wire): Likewise.
525         * alloc.c (pdump_wire_list): Likewise.
526
527         * lisp.h (Dynarr_sizeof): New.
528         * lisp.h (Dynarr_begin): New.  Very slightly C++oid.
529         * lisp.h (Dynarr_end): New.  Very slightly C++oid.
530         * lisp.h (Lisp_Object_ptr_dynarr): New.  For staticpros.
531
532         * lisp.h (dumpstruct): Define to nothing if not PDUMPing.
533         * lisp.h (dumpopaque): ditto.
534         * lisp.h (pdump_wire): ditto.
535         * lisp.h (pdump_wire_list): ditto.
536
537 2001-01-09  Martin Buchholz  <martin@xemacs.org>
538
539         * make-src-depend (PrintPatternDeps):
540         Use `sort' to make output independent of perl version.
541
542 2001-01-08  Martin Buchholz  <martin@xemacs.org>
543
544         Port to Netbsd 1.5.
545         * unexelf.c: Remove (never used) bogus Netbsd-specific cruft.
546         * s/netbsd.c: Use unexelf.o if __ELF__ is defined.
547
548 2001-01-03  Didier Verna  <didier@xemacs.org>
549
550         * event-stream.c (emacs_handle_focus_change_preliminary): ensure
551         that `focus_frame' is alive before thinking of calling
552         `redisplay_redraw_cursor' on it.
553
554 2001-01-08  Martin Buchholz <martin@xemacs.org>
555
556         * XEmacs 21.2.40 is released.
557
558 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
559
560         * regex.c: Replace PREFETCH with REGEX_PREFETCH.
561
562 2001-01-06  Martin Buchholz  <martin@xemacs.org>
563
564         * alloc.c (dbg_valmask): Make const.
565         * alloc.c (dbg_typemask): Make const.
566         * alloc.c (dbg_USE_UNION_TYPE): Make const.
567         * alloc.c (dbg_valbits): Make const.
568         * alloc.c (dbg_gctypebits): Make const.
569
570 2001-01-06  Stephen J. Turnbull  <stephen@xemacs.org>
571
572         * redisplay-x.c (x_bevel_area):
573         redisplay.h (struct rune):
574         Typo fixes in comments.
575
576 2001-01-05  Andy Piper  <andy@xemacs.org>
577
578         * glyphs-x.c (x_redisplay_widget): use size changed for offset
579         adjustment.
580
581         * menubar.c (menubar_visible_p_changed): don't mark frame changed.
582
583 2001-01-05  Martin Buchholz  <martin@xemacs.org>
584
585         * alloc.c (pure-bytes-used): Remove unused mendacious variable.
586
587         * mule-ccl.c (stack_idx_of_map_multiple):
588         Non const global data must not be initialized!
589         Found by MIYASHITA Hisashi.
590
591 2001-01-02  Andy Piper  <andy@xemacs.org>
592
593         * frame.c (change_frame_size): make sure frame size is always
594         marked as changed.
595
596         * glyphs.c (image_instance_layout): minor code reuse.
597
598         * window.c (Fcurrent_window_configuration): revert previous
599         change.
600
601 2001-01-02  Martin Buchholz  <martin@xemacs.org>
602
603         * glyphs.h:
604         * glyphs.c (make_image_instance_cache_hash_table): Use ANSI prototypes.
605
606 2000-12-31  Andy Piper  <andy@xemacs.org>
607
608         * glyphs-x.c (x_unmap_subwindow): return focus to enclosing frame
609         when widget gets unmapped.
610
611         * event-Xt.c (emacs_Xt_handle_widget_losing_focus): new
612         function. Make sure widgets losing focus don't just drop it.
613         (handle_focus_event_1): record the widget with focus.
614
615 2000-12-31  Andy Piper  <andy@xemacs.org>
616
617         * window.c (allocate_window): use
618         make_image_instance_cache_hash_table.
619         (make_dummy_parent): ditto.
620         (Fset_window_configuration): ditto.
621
622         * glyphs.h (INSTANTIATOR_TYPE): new macro.  declare new functions.
623
624         * glyphs.c (process_image_string_instantiator): use
625         INSTANTIATOR_TYPE.
626         (get_image_instantiator_governing_domain): ditto.
627         (normalize_image_instantiator): ditto.
628         (instantiate_image_instantiator): ditto.
629         (make_image_instance_1): ditto.
630         (image_instantiate): ditto. Key on glyph *and* instantiator type.
631         (instantiator_eq_equal): new function for use with instance hash
632         tables.
633         (instantiator_eq_hash): ditto.
634         (make_image_instance_cache_hash_table): create a suitable hash
635         table for storing image instances.
636
637         * elhash.h (hash_table_weakness): new internal weakness type
638         HASH_TABLE_KEY_CAR_VALUE_WEAK.
639         declare new functions.
640
641         * elhash.c (finish_marking_weak_hash_tables): introduce yet
642         another weakness type for glyphs.
643         (make_standard_lisp_hash_table): new function split out from
644         make_general_lisp_hash_table.
645         (make_lisp_hash_table): call make_standard_lisp_hash_table.
646         (hash_table_instantiate): ditto.
647         (Fmake_hash_table): ditto.
648
649 2000-12-31  Martin Buchholz <martin@xemacs.org>
650
651         * XEmacs 21.2.39 is released.
652
653 2000-12-29  Andy Piper  <andy@xemacs.org>
654
655         * menubar.c (menubar_visible_p_changed): signal the frame changed.
656
657         * glyphs-x.c (x_redisplay_widget): Re-calculate widget offsets if
658         the frame has changed so that we pick up geometry changes such as
659         menubar visibility.
660
661 2000-12-28  Andy Piper  <andy@xemacs.org>
662
663         * lastfile.c (my_ebss): make a char array so we can pad the
664         bss. Fixes cygwin unexec.
665
666         * unexcw.c: invert BROKEN_GDB to NO_DEBUG.
667
668 2000-12-26  Andy Piper  <andy@xemacs.org>
669
670         * event-Xt.c (emacs_Xt_force_event_pending): add some verbose
671         comments and try and be more precise about a non-/SIGIO world.
672         (emacs_Xt_event_pending_p): use XtAppPending under cygwin and non
673         SIGIO.
674
675         * redisplay-output.c (redisplay_normalize_glyph_area): make sure
676         we don't normalize to zero width or height.
677
678 2000-12-24  Andy Piper  <andy@xemacs.org>
679
680         * Makefile.in.in (ldflags): add -mwindows when appropriate.
681
682 2000-08-18  Golubev I. N.  <gin@mo.msk.ru>
683
684         * s/sco5.h: SCO 5 has pty support.
685
686 2000-07-20  Kazuyuki IENAGA <ienaga@xemacs.org>
687
688         * input-method-xlib.c: supports both XIM_XLIB and USE_XFONTSET.
689         input-method-xlib.c contains whole contents of input-method-xfs.c,
690         so we can use input-method-xlib.c's code for USE_XFONTSET
691         using #ifdefs.
692         * input-method-xfs.c: removed.
693
694 2000-12-20  Stephen Turnbull  <stephen@xemacs.org>
695
696         * file-coding.h (enum coding_category_type): reorder enumerators to
697         make autodetection safer.  Make CODING_CATEGORY_LAST an enumerator
698         (now one greater than largest real coding_category_type enumerator).
699         * file-coding.c (coding_category_symbol, coding_category_by_priority,
700         coding_category_system, fcd_descriptihon_1, decode_coding_category,
701         Fcoding_category_list, Fset_coding_priority_list,
702         Fcoding_priority_list, coding_system_from_mask, Fdetect_coding_region,
703         vars_of_file_coding): adjust for change in CODING_CATEGORY_LAST.
704
705 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
706
707         * redisplay-output.c (redisplay_clear_top_of_window): Remove static.
708         * redisplay-output.c (redisplay_output_window): Clear top of window
709         when face is changed.
710         * redisplay-x.c (x_redraw_exposed_window): Call
711         redisplay_clear_top_of_window.
712         * redisplay.h: Publish redisplay_clear_top_of_window.
713
714 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
715
716         * buffer.c (Fkill_buffer): Map over all devices.
717         * window.c (window_loop): Remove UNSHOW_BUFFER code.
718         (list_windows): New function.
719         (list_all_windows): Ditto.
720         (Freplace_buffer_in_windows): Use them.
721
722 2000-02-02   Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
723
724         * database.c (berkdb_subtype): Recognize new subtype `queue'.
725         (Fopen_database): Use `db_create' instead of `db_open'.
726         (syms_of_database): Initialize Qqueue.
727
728 2000-12-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
729
730         * buffer.c (common_init_complex_vars_of_buffer): Initialize
731         buffer_local_face_property.
732         * buffer.h (struct buffer): New member buffer_local_face_property.
733         * window.c (Fset_window_buffer):  Mark window's face as changed
734         when buffer has buffer local face.
735         * window.h (MARK_WINDOW_FACES_CHANGED): New macro.
736         * objects.c (color_after_change): Set buffer_local_face_property
737         when locale of face specifier is buffer.
738         * objects.c (font_after_change): Ditto.
739         * objects.c (face_boolean_after_change): Ditto.
740         * glyphs.c (image_after_change): Ditto.
741
742 2000-12-09  Dan Holmsand  <dan@eyebee.com>
743
744         * nt.c (mswindows_fstat): Report file permissions, volume serial
745         number, etc. Code adapted from FSF Emacs 20.7.
746
747 2000-12-09  Dan Holmsand  <dan@eyebee.com>
748
749         * sysfile.h (lstat): Make lstat an alias for xemacs_stat instead
750         of stat when we don't have symbolic links, to make sure
751         mswindows_stat is called on mswindows.
752
753 2000-12-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
754
755         * alloca.c: Define malloc to xmalloc only when built with XEmacs.
756
757 2000-12-12  Martin Buchholz  <martin@xemacs.org>
758
759         * doprnt.c (emacs_doprnt_1): More printing fixes.
760         Make printing of numbers compatible with libc and FSF Emacs.
761         BUG was: (format "%6.3f" 1.2) ==>"1.200000"
762         Use the system printf to do most of the hard work of formatting,
763         instead of doprnt_1().
764         Calculate memory to allocate for format string.
765         Remove arbitrary limit on precision, e.g. (format "%.1000f" 3.14)
766         (doprnt_1): Cleaner code and documentation.
767
768 2000-12-01  Jerry James  <james@eecs.ukans.edu>
769
770         * Makefile.in.in: Use the loop variable to install headers.
771
772 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
773
774         * window.c (Fsplit_window): Don't invalidate face cache.
775
776 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
777
778         * minibuf.c (Fall_completions): Undo the previous change
779         which removed checking elements start with space.
780
781 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
782
783         * mule-canna.c: Didier suppression.
784
785 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
786
787         * mule-canna.c: rename static unsigned char buf[] to key_buffer
788         (warning suppression).  Add English comment translations.
789
790 2000-12-05  Martin Buchholz  <martin@xemacs.org>
791
792         * unexelfsgi.c (unexec): Better test for mmap failure.
793
794 2000-12-05  Martin Buchholz <martin@xemacs.org>
795
796         * XEmacs 21.2.38 is released.
797
798 2000-12-05  Martin Buchholz  <martin@xemacs.org>
799
800         * redisplay.c (bar-cursor): Make a user variable.
801
802         * symsinit.h: Add init_postgresql_from_environment.
803
804 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
805
806         * regex.c: Convert to clean C.
807
808 2000-12-05  Dan Holmsand  <dan@eyebee.com>
809
810         * realpath.c:
811         Don't #include sysfile.h. Revert to duplicating PATH_MAX
812         initialization.
813         (sys_readlink): renamed to system_readlink to avoid conflict with
814         the other sys_readlink.
815
816 2000-12-04  Hiroaki Abe  <h-abe@pc.highway.ne.jp>
817
818         * dumper.c (pdump_file_get): Correct uses of pdump_fd.
819
820 2000-12-04  Stephen J. Turnbull  <stephen@xemacs.org>
821
822         * postgresql.c (init_postgresql_from_environment): new function.
823         (vars_of_postgresql): Move code initializing Lisp variables out and
824         into init_postgresql_from_environment.
825         emacs.c (main_1): Call init_postgresql_from_environment if and only
826         if running a dumped XEmacs.
827
828 2000-08-31  Dan Holmsand  <dan@eyebee.com>
829
830         * buffer.c: Make find-file-compare-truenames default to true on
831         windows.
832
833         * realpath.c (win32_abs_start):
834         (cygwin_readlink):
835         (win32_readlink): New functions.
836         (xrealpath): Return really real filenames on windows.
837
838         * fileio.c (Ffile_truename): Make file-truename work on windows.
839
840 2000-11-29  Didier Verna  <didier@xemacs.org>
841
842         * faces.c (MAYBE_UNFROB_BACKGROUND_PIXMAP): new macro.
843         * faces.c (update_face_cachel_data): use it.
844         * faces.c (add_face_cachel): use it. Complete background pixmap
845         frobbing in face cache if `update_face_cachel_data' has not done so.
846
847 2000-11-29  Yoshiki Hayashi  <yoshiki@xemacs.org>
848
849         * search.c (string_match_1): Don't set last_thing_searched
850         when search failed.
851
852 2000-11-27  Yoshiki Hayashi  <yoshiki@xemacs.org>
853
854         * buffer.c: Include casetab.h
855         (common_init_complex_vars_of_buffer): Use new case-table object.
856         * buffer.h: Include casetab.h
857         * buffer.h (MAKE_TRT_TABLE): Use generic char-table.
858         (DOWNCASE_TABLE_OF): Ditto.
859         * bufslots.h: Remove char-tables and add case-table.
860         * casetab.c: Include casetab.h
861         (CASE_TABLE_P): Removed.
862         (mark_case_table): New function.
863         (allocate_case_table): New function.
864         (Fcase_table_p): Use new case-table.
865         (case_table_char): New function.
866         (Fget_case_table): Ditto.
867         (Fput_case_table): Ditto.
868         (Fput_case_table_pair): Ditto.
869         (Fcopy_case_table): Ditto.
870         (Fcurrent_case_table): Return case-table.
871         (Fstandard_case_table): Return case-table.
872         (Fset_case_table): Fix doc-string.
873         (set_case_table): Use case-table
874         (syms_of_casetab): DEFSUBR new functions.
875         (complex_vars_of_casetab): Set up standard case-table.
876         * casetab.h: New file.
877         * editfns.c: Include casetab.h
878         (Fcompare_buffer_substrings): Use case-table.
879         * inline.c: Include casetab.h
880         * lisp.h: Remove bogus extern.
881         * lrecord.h (lrecord_type): Add lrecord_type_case_table.
882         * search.c: Include casetab.h
883         (TRANSLATE_ASCII): Removed.
884         (TRANSLATE): Unconditionally translate character.
885         (looking_at_1): Use case-table.
886         (string_match_1): Ditto.
887         (fast_string_match): Ditto.
888         (search_command): Ditto.
889         (search_buffer): Separate boyer_moore.  Check whether
890         boyer_moore is possible.
891         (simple_search): New function.
892         (boyer_moore): Separated from search_buffer. Translate char.
893
894 2000-11-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
895
896         * regex.c (RE_TR_ASCII): Removed.
897         (RE_TRANSLATE): Unconditionally use TRT_TABLE.
898         (PATFETCH): Call PATFETCH_RAW.
899         (PATFETCH_RAW): Fetch Emchar.
900         (PATUNFETCH): Decrement charptr.
901         (GET_BUFFER_SPACE): Rename b to buf_end.
902         (BUF_PUSH): Ditto.
903         (BUF_PUSH_2): Ditto.
904         (BUF_PUSH_3): Ditto.
905         (EXTEND_BUFFER): Ditto.
906         (SET_LIST_BIT): Ditto.
907         (regex_compile): Ditto.  Translate non ASCII char.
908         (compile_range): Ditto.
909         (re_search_2): Ditto.
910         (re_match_2_internal): Compare Emchar.
911         (bcmp_translate): Ditto.
912
913 2000-11-29  Stephen J. Turnbull  <turnbull@xemacs.org>
914
915         * lisp.h (basic char/int typedefs):  comment improvement.
916
917 2000-11-24  Stephen J. Turnbull  <turnbull@xemacs.org>
918
919         * emacs.c (main_1):  unconditional pdump unstomping; don't save and
920         unstomp inhibit_site_lisp.  Improve comments.
921
922 2000-11-22  Stephen J. Turnbull  <turnbull@xemacs.org>
923
924         * mule-charset.c (Fcharset_property):  improve type checking, comments.
925
926 2000-11-28  Andy Piper  <andy@xemacs.org>
927
928         * redisplay-output.c (redisplay_output_subwindow): make sure we do
929         clipped display for windows in the gutter also.
930         (redisplay_display_boxes_in_window_p): change semantics of return
931         codes to be more intuitive.
932
933         * gutter.h: declare display_boxes_in_gutter_p.
934
935         * gutter.c (display_boxes_in_gutter_p): new function for
936         redisplay.
937
938 2000-11-22  Andy Piper  <andy@xemacs.org>
939
940         * glyphs-x.c (image_instantiator_format_create_glyphs_x): change
941         autodetect domain.
942
943 2000-11-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
944
945         * callproc.c (Fold_call_process_internal):
946         * gpm.c (Freceive_gpm_event):
947         (tty_get_foreign_selection): Might be just warning supression.
948         * fileio.c (Fwrite_region_internal):
949         (Fset_visited_file_modtime):
950         * keymap.c (event_matches_key_specifier_p):
951         Initialize GCPROed variable.
952
953         * menubar-x.c (command_builder_find_menu_accelerator):
954         Initialize before use.
955
956 2000-11-23  Andy Piper  <andy@xemacs.org>
957
958         * unexcw.c (unexec): make the resulting executable executable.
959
960 2000-11-21  Martin Buchholz  <martin@xemacs.org>
961
962         * doc.c (get_doc_string):
963         Use size_t, not int, for result of XSTRING_LENGTH.
964
965         * cmds.c (Fdelete_char):
966         * cmds.c (Fpoint_at_eol):
967         * cmds.c (Fself_insert_command):
968         Use EMACS_INT, not int, for result of XINT.
969         Someday, someone will want to insert more than 2**31 identical characters.
970
971         * cmds.c (Fdelete_char):
972         * cmds.c (Fdelete_backward_char):
973         * syntax.c (Fforward_word):
974         * syntax.c (Fforward_comment):
975         Make COUNT argument optional, for consistency with forward-char et al.
976
977 2000-11-22  Martin Buchholz  <martin@xemacs.org>
978
979         * lisp.h:
980         * print.c (long_to_string):
981         Return a useful value: the pointer at end of data written.
982
983         * doprnt.c:
984         Use `static const char * const' for constant strings.
985         (union printf_arg): Delete `i', `ui' members.
986         (get_doprnt_args):
987         (emacs_doprnt_1):
988         Fix LP64 platform bug: (format "%d" most-positive-fixnum) ==> "-1"
989         Do all printf-ing via the `l' specifier.
990         Use EMACS_INT instead of int.
991         Optimize.
992
993 2000-11-20  Didier Verna  <didier@xemacs.org>
994
995         * faces.c (update_face_cachel_data): don't frob the background
996         pixmap when the window is being created. The face is needed but
997         does not exist yet.
998
999 2000-11-20  Andy Piper  <andy@xemacs.org>
1000
1001         * unexcw.c (copy_executable_and_dump_data_section): Only do bss
1002         messing with a debug environment.
1003
1004 2000-11-20  Martin Buchholz  <martin@xemacs.org>
1005
1006         * emacs.c (__sti__iflPNGFile_c___): Pedantically correct prototype.
1007
1008 2000-11-20  Martin Buchholz  <martin@xemacs.org>
1009
1010         * casetab.c (Fcase_table_p): Fix compile error and crash.
1011
1012 2000-11-18  Philip Aston  <philipa@mail.com>
1013
1014         * s/cygwin32.h: Cygwin has SVR4-like pty support.
1015
1016 2000-11-18  Martin Buchholz  <martin@xemacs.org>
1017
1018         * fileio.c (Fexpand_file_name): GCPRO bug!  Protect `handler'.
1019         * filelock.c (lock_file): GCPRO bug! Initialize all GCPROed vars!
1020
1021 2000-11-17  Martin Buchholz  <martin@xemacs.org>
1022
1023         * config.h.in: Define HAVE_ELF_H if elf.h exists.
1024         * unexelf.c: Use HAVE_ELF_H.
1025         * unexelfsgi.c: Fix bug with dumped xemacs stdout/stderr not working.
1026         I copied FSF Emacs 20.7 unexelf.c to unexelfsgi.c and ANSIfied it.
1027         Max Matveev <makc@sgi.com> removed non-SGI-relevant parts and tested.
1028         Greg Harrington <greg_harrington@hotmail.com> provided a machine
1029         for testing.
1030         So this is an unexelfsgi.c from a different line of development.
1031
1032 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
1033
1034         * regex.c (RE_TR_ASCII): New function.
1035         (RE_TRANSLATE): Call it.
1036
1037 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
1038
1039         * buffer.h (TRT_TABLE_OF): Remove assert.
1040         (IN_TRT_TABLE_DOMAIN): Removed.
1041
1042 2000-11-16  Gunnar Evermann  <ge204@eng.cam.ac.uk>
1043
1044         * free-hook.c (log_gcpro):
1045         (show_gcprohist): Add support for GCPRO5.
1046
1047 2000-11-08  Stephen J. Turnbull  <stephen@xemacs.org>
1048
1049         * emacs.c (main_1): Improve -sd error message when --pdump=no.
1050
1051 2000-11-16  Olivier Galibert  <galibert@xemacs.org>
1052
1053         * symeval.h: Declare flush_all_buffer_local_cache.
1054
1055         * symbols.c: Change XD_LO_RESET_NIL into XD_LISP_OBJECTs.
1056         (flush_buffer_local_cache): Added.
1057         (flush_all_buffer_local_cache): Added.
1058
1059         * lrecord.h: Remove unused XD_LO_RESET_NIL.
1060
1061         * dumper.c (pdump_register_sub): Remove unused XD_LO_RESET_NIL.
1062         (pdump_dump_data): Ditto.
1063         (pdump_reloc_one): Ditto.
1064         (pdump): Remove unused pdump_qnil.  Flush buffer local caches
1065         before dumping.
1066
1067
1068 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
1069
1070         * buffer.c: Remove if 0'ed entry.
1071         * buffer.h: Rewrite TRT to use char-table.
1072         * bufslots.h: Remove mirror tables.
1073         * casetab.c: Remove mirror tables.
1074         (CASE_TABLE_P): New macro.
1075         (Fcase_table_p): Element of a case table is string or char-table.
1076         (make_mirror_trt_table): Removed.
1077         (set_case_table): Setup char-table from strings for backward
1078         compatibility.
1079         * dired.c (Fdirectory_files):
1080         * dired-msw.c: (mswindows_get_files):
1081         * lisp.h: Change prototype of re_pattern_buffer.
1082         * regex.c: (RE_TRANSLATE): New macro.
1083         (TRANSLATE_P): Ditto.
1084         Change translate to type RE_TRANSLATE_TYPE.
1085         * regex.h: Define RE_TRANSLATE_TYPE
1086         * search.c (TRANSLATE): New macro.
1087         (TRANSLATE_ASCII): New macro.
1088         Translate table is changed to Lisp_Object.
1089         (signal_failure): Inhibit return.
1090
1091 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
1092
1093         * device-msw.c:
1094         * eldap.c:
1095         * event-Xt.c:
1096         * event-stream.c:
1097         * print.c:
1098         Do UNGCPRO before return.
1099
1100 2000-11-14  Martin Buchholz <martin@xemacs.org>
1101
1102         * XEmacs 21.2.37 is released.
1103
1104 2000-11-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
1105
1106         * fileio.c (Finsert_file_contents_internal): UNGCPRO before return.
1107         Add comments about discarded return value.
1108
1109 2000-11-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
1110
1111         * callint.c:
1112         * event-stream.c: Fix comments.  Remove some #if 0'ed part.
1113
1114 2000-10-27  Andy Piper  <andy@xemacs.org>
1115
1116         * gutter.c (Fset_default_gutter_position): default left and right
1117         gutters to visible.
1118         (calculate_gutter_size): calculate resonable heuristic for left
1119         and right gutter sizes.
1120         (specifier_vars_of_gutter): change left and right gutter sizes to
1121         autodetect.
1122         (calculate_gutter_size_from_display_lines): new function.
1123         (output_gutter): check for resizing on left and right gutters.
1124         (clear_gutter): don't special case top and left gutters.
1125         (specifier_vars_of_gutter): use new signature for
1126         set_specifier_caching.
1127
1128         * glyphs-x.c (x_redisplay_widget): spelling fix.
1129         * glyphs.c (specifier_vars_of_glyphs):
1130         * menubar.c (specifier_vars_of_menubar):
1131         * redisplay.c (specifier_vars_of_redisplay):
1132         * toolbar.c (specifier_vars_of_toolbar):
1133         * window.c (specifier_vars_of_window):
1134         * scrollbar.c (specifier_vars_of_scrollbar):
1135         (complex_vars_of_scrollbar): use new signature for
1136         set_specifier_caching.
1137
1138         * specifier.c (set_specifier_caching): include recompute flag.
1139         (recompute_one_cached_specifier_in_window): always recompute if
1140         flag set.
1141         (recompute_one_cached_specifier_in_frame): ditto.
1142
1143         * specifier.h (struct specifier_caching): add recompute flag.
1144
1145 2000-10-24  Andy Piper  <andy@xemacs.org>
1146
1147         * unexcw.c (copy_executable_and_dump_data_section): add new
1148         BSS_PAD_SIZE so that we can re-instate a mini-bss. This keeps gdb
1149         5.0 happy.
1150
1151 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
1152
1153         * console-x.h (x_device): New member modifier_release_time.
1154         * event-Xt.c (x_handle_sticky_modifiers):
1155         Bound interval modifier keys are sticky.
1156         * event-stream.c (Vmodifier_keys_sticky_time): New variable.
1157         * events.h: extern it.
1158
1159 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
1160
1161         * cmdloop.c (Fcommand_loop_1): Just add C-g to event queue.
1162
1163 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
1164
1165         * event-stream.c (execute_command_event): Preserve current_events
1166         and the like when event is misc-user-event.
1167         Inhibit quit during the call to maybe_echo_keys.
1168
1169 2000-10-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
1170
1171         * filelock.c (lock_buffer): Cope with kill-buffer. Don't create a
1172         symlink when buffer is killed.
1173         (inhibit_clash_detection): New variable.
1174
1175 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
1176
1177         * console.c (Fset_input_method): Trigger redisplay on tty.
1178
1179 2000-11-07  Martin Buchholz  <martin@xemacs.org>
1180
1181         * process.c (Fprocess_status): Revert to previous behavior:
1182         (process-status "nosuchprocess") ==> nil
1183
1184 2000-11-06  Martin Buchholz  <martin@xemacs.org>
1185
1186         * mule-charset.h (CHARSET_BY_LEADING_BYTE):
1187         Work around another GCC 2.95.2 optimizer bug.
1188
1189 2000-11-02  Martin Buchholz  <martin@xemacs.org>
1190
1191         * process.c (Fget_process): Use LIST_LOOP_2.
1192         (kill_buffer_processes): Use LIST_LOOP_2.
1193
1194         * minibuf.c (Fall_completions):
1195         Delete old non-functional code for FSF fourth argument.
1196
1197         * frame.c (frame_matches_frame_spec):
1198         Renamed from `frame_matches_frametype'.  Update all callers.
1199         (device_matches_device_spec):
1200         Renamed from 'device_matches_console_spec'.  Update all callers.
1201
1202         * doc.c (Fsubstitute_command_keys):
1203         Remove buffer overflow crash.  Small code cleanups.
1204
1205         * casetab.c (check_case_table): Simpler code.
1206
1207         * window.c (Freplace_buffer_in_windows):
1208         Give this the same WHICH-FRAMES and WHICH-DEVICES parameters
1209         (and similar implementation) as Fdelete_windows_on.
1210         Update all callers.
1211
1212         * alloc.c (Fmake_list):
1213         * alloc.c (make_vector):
1214         * alloc.c (Fmake_vector):
1215         * alloc.c (make_bit_vector):
1216         * alloc.c (Fmake_bit_vector):
1217         * alloc.c (Fbit_vector):
1218         * alloc.c (Fmake_string):
1219         * alloc.c (Fpurecopy):
1220         * alloc.c (Fmemory_limit):
1221         * buffer.c:
1222         * buffer.c (Fget_buffer):
1223         * buffer.c (Fkill_buffer):
1224         * buffer.c (complex_vars_of_buffer):
1225         * bytecode.c (Fcompiled_function_stack_depth):
1226         * callint.c (Fprefix_numeric_value):
1227         * event-stream.c:
1228         * event-stream.c (Fread_key_sequence):
1229         * casetab.c:
1230         * casetab.c (Fcase_table_p):
1231         * casetab.c (check_case_table):
1232         * casetab.c (Fset_case_table):
1233         * casetab.c (Fset_standard_case_table):
1234         * chartab.c:
1235         * chartab.c (Fchar_table_type):
1236         * chartab.c (Freset_char_table):
1237         * chartab.c (Fget_char_table):
1238         * chartab.c (Fget_range_char_table):
1239         * chartab.c (Fput_char_table):
1240         * chartab.c (Fmap_char_table):
1241         * chartab.c (Fcategory_table_p):
1242         * chartab.c (Fcheck_category_at):
1243         * chartab.c (Fchar_in_category_p):
1244         * chartab.c (Fcategory_table):
1245         * chartab.c (Fcopy_category_table):
1246         * chartab.c (Fset_category_table):
1247         * chartab.c (Fcategory_designator_p):
1248         * chartab.c (Fcategory_table_value_p):
1249         * cmds.c (Fdelete_char):
1250         * cmds.c (Fdelete_backward_char):
1251         * cmds.c (Fself_insert_command):
1252         * cmds.c (Fself_insert_internal):
1253         * console.c (Fvalid_console_type_p):
1254         * console.c (Fcdfw_console):
1255         * console.c (Fconsole_type):
1256         * console.c (Fconsole_name):
1257         * console.c (Fconsole_device_list):
1258         * console.c (Fconsole_on_window_system_p):
1259         * data.c:
1260         * data.c (Feq):
1261         * data.c (Fold_eq):
1262         * data.c (Fsubr_interactive):
1263         * data.c (Fchar_to_int):
1264         * data.c (Fint_to_char):
1265         * data.c (Fsetcar):
1266         * data.c (Fsetcdr):
1267         * data.c (Fnumber_to_string):
1268         * data.c (Fstring_to_number):
1269         * data.c (Frem):
1270         * database.c (mark_database):
1271         * database.c (finalize_database):
1272         * database.c (Fdatabase_live_p):
1273         * database.c (Fdatabasep):
1274         * device-x.c (Fx_get_resource):
1275         * device.c (Fdfw_device):
1276         * dired.c:
1277         * dired.c (Ffile_name_completion):
1278         * dired.c (Ffile_name_all_completions):
1279         * dired.c (Fuser_name_completion):
1280         * dired.c (Fuser_name_completion_1):
1281         * dired.c (Fuser_name_all_completions):
1282         * doc.c (Fdocumentation):
1283         * doc.c (Fdocumentation_property):
1284         * doc.c (Fsubstitute_command_keys):
1285         * editfns.c:
1286         * editfns.c (Fchar_to_string):
1287         * editfns.c (Fstring_to_char):
1288         * editfns.c (Ftemp_directory):
1289         * editfns.c (Finsert_char):
1290         * editfns.c (Fbuffer_substring_no_properties):
1291         * editfns.c (Fnarrow_to_region):
1292         * editfns.c (Fchar_equal):
1293         * editfns.c (Fchar_Equal):
1294         * editfns.c (Ftranspose_regions):
1295         * emacs.c (Fdump_emacs):
1296         * eval.c (Fthrow):
1297         * eval.c (Fcommand_execute):
1298         * eval.c (Fautoload):
1299         * eval.c (Fbacktrace):
1300         * eval.c (Fbacktrace_frame):
1301         * events.c:
1302         * events.c (Fcopy_event):
1303         * events.c (Fcharacter_to_event):
1304         * events.c (Fevent_button):
1305         * events.c (Fevent_process):
1306         * extents.c:
1307         * extents.c (Fnext_extent_change):
1308         * extents.c (Fextent_property):
1309         * faces.c (Ffacep):
1310         * faces.c (Fmake_face):
1311         * file-coding.c:
1312         * file-coding.c (Fencode_shift_jis_char):
1313         * file-coding.c (Fencode_big5_char):
1314         * fileio.c (Ffile_name_directory):
1315         * fileio.c (Ffile_name_nondirectory):
1316         * fileio.c (Ffile_name_as_directory):
1317         * fileio.c (Fdirectory_file_name):
1318         * fileio.c (Ffile_truename):
1319         * fileio.c (Fsubstitute_in_file_name):
1320         * fileio.c (Ffile_modes):
1321         * fileio.c (Fset_file_modes):
1322         * fileio.c (Fset_default_file_modes):
1323         * fileio.c (Fverify_visited_file_modtime):
1324         * floatfns.c (Facos):
1325         * floatfns.c (Fasin):
1326         * floatfns.c (Fatan):
1327         * floatfns.c (Fcos):
1328         * floatfns.c (Fsin):
1329         * floatfns.c (Ftan):
1330         * floatfns.c (Fbessel_j0):
1331         * floatfns.c (Fbessel_j1):
1332         * floatfns.c (Fbessel_jn):
1333         * floatfns.c (Fbessel_y0):
1334         * floatfns.c (Fbessel_y1):
1335         * floatfns.c (Fbessel_yn):
1336         * floatfns.c (Ferf):
1337         * floatfns.c (Ferfc):
1338         * floatfns.c (Flog_gamma):
1339         * floatfns.c (Fexp):
1340         * floatfns.c (Fexpt):
1341         * floatfns.c (Flog):
1342         * floatfns.c (Flog10):
1343         * floatfns.c (Fsqrt):
1344         * floatfns.c (Fcube_root):
1345         * floatfns.c (Facosh):
1346         * floatfns.c (Fasinh):
1347         * floatfns.c (Fatanh):
1348         * floatfns.c (Fcosh):
1349         * floatfns.c (Fsinh):
1350         * floatfns.c (Ftanh):
1351         * floatfns.c (Fabs):
1352         * floatfns.c (Ffloat):
1353         * floatfns.c (Flogb):
1354         * floatfns.c (Fceiling):
1355         * floatfns.c (Ffloor):
1356         * floatfns.c (Fround):
1357         * floatfns.c (Ftruncate):
1358         * floatfns.c (Ffceiling):
1359         * floatfns.c (Fffloor):
1360         * floatfns.c (Ffround):
1361         * floatfns.c (Fftruncate):
1362         * fns.c (Fstring_equal):
1363         * fns.c (Fstring_lessp):
1364         * fns.c (concat2):
1365         * fns.c (concat3):
1366         * fns.c (vconcat2):
1367         * fns.c (vconcat3):
1368         * fns.c (Fsubstring):
1369         * fns.c (Fassoc):
1370         * fns.c (Fold_assoc):
1371         * fns.c (assoc_no_quit):
1372         * fns.c (Fassq):
1373         * fns.c (Fold_assq):
1374         * fns.c (assq_no_quit):
1375         * fns.c (Frassoc):
1376         * fns.c (Fold_rassoc):
1377         * fns.c (Frassq):
1378         * fns.c (Fold_rassq):
1379         * fns.c (rassq_no_quit):
1380         * fns.c (Fremassoc):
1381         * fns.c (remassoc_no_quit):
1382         * fns.c (Fremassq):
1383         * fns.c (remassq_no_quit):
1384         * fns.c (Fremrassoc):
1385         * fns.c (Fremrassq):
1386         * fns.c (remrassq_no_quit):
1387         * fns.c (Fsort):
1388         * fns.c (Fplist_get):
1389         * fns.c (Fplist_put):
1390         * fns.c (Fplist_remprop):
1391         * fns.c (Fplist_member):
1392         * fns.c (Flax_plist_get):
1393         * fns.c (Flax_plist_put):
1394         * fns.c (Flax_plist_remprop):
1395         * fns.c (Flax_plist_member):
1396         * fns.c (Fequal):
1397         * fns.c (Fold_equal):
1398         * fns.c (Frequire):
1399         * fns.c (Fbase64_encode_region):
1400         * fns.c (Fbase64_encode_string):
1401         * fns.c (Fbase64_decode_region):
1402         * frame.c:
1403         * frame.c (frame_matches_frame_spec):
1404         * frame.c (device_matches_device_spec):
1405         * frame.c (next_frame):
1406         * frame.c (previous_frame):
1407         * frame.c (Fnext_frame):
1408         * frame.c (Fprevious_frame):
1409         * frame.c (Fframe_property):
1410         * frame.c (Fset_frame_height):
1411         * frame.c (Fset_frame_size):
1412         * frame.h:
1413         * glyphs.c:
1414         * glyphs.c (if):
1415         * glyphs.c (decode_error_behavior_flag):
1416         * glyphs.c (Fmake_image_instance):
1417         * indent.c (Findent_to):
1418         * intl.c (Fignore_defer_gettext):
1419         * keymap.c (Fkeymapp):
1420         * keymap.c (Flookup_key):
1421         * lread.c:
1422         * lread.c (Fload_internal):
1423         * lread.c (Feval_buffer):
1424         * lread.c (Feval_region):
1425         * macros.c (Fexecute_kbd_macro):
1426         * marker.c (set_marker_internal):
1427         * marker.c (Fset_marker):
1428         * marker.c (set_marker_restricted):
1429         * marker.c (Fcopy_marker):
1430         * marker.c (noseeum_copy_marker):
1431         * menubar.c:
1432         * menubar.c (Fpopup_menu):
1433         * minibuf.c:
1434         * mule-charset.c (Fcharset_name):
1435         * mule-charset.c (Fchar_charset):
1436         * mule-charset.c (Fchar_octet):
1437         * mule-charset.c (Fsplit_char):
1438         * mule-wnnfns.c (Fwnn_open):
1439         * mule-wnnfns.c (Fwnn_dict_comment):
1440         * mule-wnnfns.c (Fwnn_quit_henkan):
1441         * mule-wnnfns.c (Fwnn_word_toroku):
1442         * mule-wnnfns.c (Fwnn_word_sakujo):
1443         * mule-wnnfns.c (Fwnn_word_use):
1444         * mule-wnnfns.c (Fwnn_hindo_set):
1445         * objects.c:
1446         * objects.c (Fmake_color_instance):
1447         * objects.c (Fmake_font_instance):
1448         * print.c (Fwrite_char):
1449         * process.c:
1450         * process.c (mark_process):
1451         * process.c (print_process):
1452         * process.c (get_process_from_usid):
1453         * process.c (Fprocessp):
1454         * process.c (Fprocess_live_p):
1455         * process.c (Fget_process):
1456         * process.c (Fget_buffer_process):
1457         * process.c (get_process):
1458         * process.c (Fprocess_id):
1459         * process.c (Fprocess_name):
1460         * process.c (Fprocess_command):
1461         * process.c (init_process_io_handles):
1462         * process.c (start_process_unwind):
1463         * process.c (Fstart_process_internal):
1464         * process.c (Fopen_multicast_group_internal):
1465         * process.c (Fset_process_window_size):
1466         * process.c (read_process_output):
1467         * process.c (send_process):
1468         * process.c (Fprocess_tty_name):
1469         * process.c (Fset_process_buffer):
1470         * process.c (Fprocess_buffer):
1471         * process.c (Fprocess_mark):
1472         * process.c (set_process_filter):
1473         * process.c (Fset_process_filter):
1474         * process.c (Fprocess_filter):
1475         * process.c (Fprocess_send_region):
1476         * process.c (Fprocess_send_string):
1477         * process.c (exec_sentinel):
1478         * process.c (Fset_process_sentinel):
1479         * process.c (Fprocess_sentinel):
1480         * process.c (status_notify):
1481         * process.c (Fprocess_status):
1482         * process.c (Fprocess_exit_status):
1483         * process.c (process_send_signal):
1484         * process.c (Fprocess_send_eof):
1485         * process.c (deactivate_process):
1486         * process.c (remove_process):
1487         * process.c (Fdelete_process):
1488         * process.c (kill_buffer_processes):
1489         * process.c (Fprocess_kill_without_query):
1490         * process.c (Fprocess_kill_without_query_p):
1491         * rangetab.c:
1492         * rangetab.c (Fget_range_table):
1493         * rangetab.c (Fput_range_table):
1494         * rangetab.c (Fremove_range_table):
1495         * rangetab.c (Fclear_range_table):
1496         * search.c:
1497         * search.c (Fskip_chars_forward):
1498         * search.c (Fskip_chars_backward):
1499         * search.c (Fskip_syntax_forward):
1500         * search.c (Fskip_syntax_backward):
1501         * search.c (search_command):
1502         * search.c (Freplace_match):
1503         * search.c (Fregexp_quote):
1504         * select.c (Fown_selection_internal):
1505         * select.c (Fselection_owner_p):
1506         * select.c (Fselection_exists_p):
1507         * select.c (Fget_selection_internal):
1508         * specifier.c:
1509         * symbols.c:
1510         * symbols.c (Fintern):
1511         * symbols.c (Fintern_soft):
1512         * symbols.c (Funintern):
1513         * symbols.c (Fapropos_internal):
1514         * symbols.c (Fset_default):
1515         * syntax.c:
1516         * syntax.c (Fsyntax_table_p):
1517         * syntax.c (Fcopy_syntax_table):
1518         * syntax.c (Fset_syntax_table):
1519         * syntax.c (Fchar_syntax):
1520         * syntax.c (syntax_match):
1521         * syntax.c (Fmatching_paren):
1522         * syntax.c (Fforward_word):
1523         * syntax.c (scan_lists):
1524         * syntax.c (Fscan_lists):
1525         * syntax.c (Fscan_sexps):
1526         * syntax.c (Fparse_partial_sexp):
1527         * toolbar.c (Fcheck_toolbar_button_syntax):
1528         * tooltalk.doc:
1529         * window.c:
1530         * window.c (Fwindowp):
1531         * window.c (Fwindow_live_p):
1532         * window.c (Fwindow_point):
1533         * window.c (Fdelete_window):
1534         * window.c (Fnext_window):
1535         * window.c (Fprevious_window):
1536         * window.c (Fother_window):
1537         * window.c (window_loop):
1538         * window.c (Fget_lru_window):
1539         * window.c (Fsplit_window):
1540         * window.c (Fenlarge_window):
1541         * window.c (Fenlarge_window_pixels):
1542         * window.c (Fshrink_window):
1543         * window.c (Fshrink_window_pixels):
1544         * window.c (change_window_height):
1545         * window.c (Fwindow_configuration_p):
1546         * window.c (Fcurrent_window_configuration):
1547         * window.h:
1548         * casefiddle.c (casify_object):
1549         * casefiddle.c (Fupcase):
1550         * casefiddle.c (Fdowncase):
1551         * casefiddle.c (Fcapitalize):
1552         * casefiddle.c (Fupcase_initials):
1553         * casefiddle.c (casify_region_internal):
1554         * casefiddle.c (casify_region):
1555         * casefiddle.c (Fupcase_region):
1556         * casefiddle.c (Fdowncase_region):
1557         * casefiddle.c (Fcapitalize_region):
1558         * casefiddle.c (Fupcase_initials_region):
1559         * casefiddle.c (Fupcase_word):
1560         * casefiddle.c (Fdowncase_word):
1561         * casefiddle.c (Fcapitalize_word):
1562         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
1563         Replace 0 with '\0' when working with bytes.
1564         Replace initial "(" with "\(" in docstrings.
1565
1566 2000-11-01  Martin Buchholz  <martin@xemacs.org>
1567
1568         * config.h.in: Handle alloca with Compaq C on Alpha Linux.
1569
1570         * m/alpha.h: Let configure handle SYSTEM_MALLOC on Linux.
1571
1572 2000-10-31  Martin Buchholz  <martin@xemacs.org>
1573
1574         * eldap.c (print_ldap): 64-bit cleaner.  Fixes warning.
1575
1576 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
1577
1578         * doprnt.c (emacs_do_prnt_1): Format (format "%01.2d" 10)
1579         correctly.
1580
1581 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
1582
1583         * fileio.c (Vauto_save_list_file_prefix): Moved from startup.el.
1584         (inhibit_auto_save_session): New variable.
1585         (vars_of_fileio): Declare and initialize them.
1586         * fileio.c (Fdo_auto_save): Don't create session file if
1587         Vinhibit_auto_save_session or Vauto_save_list_file_prefix is non-nil.
1588
1589 2000-10-31  Martin Buchholz  <martin@xemacs.org>
1590
1591         * sgiplay.c (play_internal): C++ compilability.
1592         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Remove unused var `SFTB_prev'.
1593         * callproc.c (Fold_call_process_internal):
1594         Remove unused vars `env', `first'.
1595         * scrollbar.c (update_scrollbar_instance):
1596         #### unused var `current_window'.
1597         * redisplay-tty.c: Put currently unused vars insert_mode_on,
1598         etc. within #ifdef NOT_YET.
1599         * emacs.c: #### unused vars `initial_argc', `initial_argv'.
1600         * dialog-x.c (dbox_descriptor_to_widget_value): ### unused var `title'.
1601         * specifier.c (specifier_instance):
1602         #### unused var `tag'.
1603         Use WINDOW_BUFFER, FRAME_DEVICE instead of their expansion.
1604
1605 2000-10-27  Martin Buchholz  <martin@xemacs.org>
1606
1607         * fns.c (Fbutlast):
1608         * fns.c (list_sort):
1609         * fns.c (Ffillarray):
1610         * fns.c (bytecode_nconc2):
1611         * fns.c (Fnconc):
1612         * fns.c (mapcar1):
1613         * fns.c (Fmapconcat):
1614         Be pedantically 64-bit correct.  For the time when someone will
1615         want to have a list with length > 2**32.
1616
1617         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
1618         Work around MIPSpro compiler bug.
1619
1620         * process-unix.c (unix_kill_child_process): Add snarky comment.
1621         * process-unix.c (try_to_initialize_subtty):  Oops, `=' ==> `=='
1622
1623         * config.h.in: Oops, _getpt ==> _getpty
1624
1625 2000-10-26  Martin Buchholz  <martin@xemacs.org>
1626
1627         * config.h.in:
1628         * regex.c:
1629         Use void*, not char*, as return type of alloca().
1630
1631         * alloc.c (free_marker): Side effect inside assert expression!
1632
1633 2000-10-16  MIYASHITA Hisashi  <himi@m17n.org>
1634
1635         * mule-charset.c (Fset_charset_ccl_program): To check
1636         if the given ccl program is valid, use setup_ccl_program()
1637         instead of CHECK_VECTOR().
1638         (Fmake_charset): Likewise.
1639
1640 2000-10-20  Golubev I. N.  <gin@mo.msk.ru>
1641
1642         * faces.c (get_extent_fragment_face_cache_index):
1643         Fix cachel.merged_faces memory leak.
1644
1645 2000-10-14  MIYASHITA Hisashi  <himi@m17n.org>
1646
1647         * mule-ccl.c (ccl_driver)<CCL_DECODE_SJIS>:
1648         Reset MSB of octets obtained by DECODE_SJIS
1649         because of the incompatibility with Emacs.
1650         (ccl_driver)<CCL_ENCODE_SJIS>:
1651         Set MSB of octets before passing them to
1652         ENCODE_SJIS because of the incompatibility
1653         with Emacs.
1654
1655 2000-10-18   Daiki Ueno  <ueno@unixuser.org>
1656
1657         * lrecord.h (DECLARE_TYPECHECK_LRECORD): Abolish.
1658         (DECLARE_LRECORD): Undo the last change.
1659         (DECLARE_EXTERNAL_LRECORD): Expand typechecking stuff.
1660
1661 2000-10-17   Daiki Ueno  <ueno@unixuser.org>
1662
1663         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Connect
1664         the implementation to lrecord_implementations_table.
1665
1666 2000-10-14   Daiki Ueno  <ueno@unixuser.org>
1667
1668         * lrecord.h (MAKE_EXTERNAL_LRECORD_IMPLEMENTATION): Don't set the
1669         initial value of `lrecord_type_##c_name' and
1670         `lrecord_##c_name.lrecord_type_index'; discard "const" qualifier.
1671         (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): New macro.
1672         [ERROR_CHECK_TYPECHECK] (DECLARE_TYPECHECK_LRECORD): New macro.
1673         [ERROR_CHECK_TYPECHECK] (DECLARE_LRECORD): Use it.
1674         [ERROR_CHECK_TYPECHECK] (DECLARE_EXTERNAL_LRECORD): Use it.
1675
1676 2000-10-17  Martin Buchholz  <martin@xemacs.org>
1677
1678         * miscplay.c (sndcnv8S_2mono):
1679         (sndcnv2monounsigned):
1680         (sndcnvULaw_2linear):
1681         (sndcnv16swap):
1682         Remove implementation-defined behavior.
1683
1684 2000-10-12  Martin Buchholz  <martin@xemacs.org>
1685
1686         * input-method-xlib.c: Warning suppression.
1687
1688 2000-10-05  MIYASHITA Hisashi  <himi@m17n.org>
1689
1690         * mule-ccl.c: Sync up with Emacs 21.0.90.
1691         (ccl_driver)<CCL_TranslateCharacter>: Disabled.
1692         Do nothing.
1693         (ccl_driver)<CCL_TranslateCharacterConstTbl>:
1694         Likewise.
1695         (ccl_driver[WriteMultibyteChar2]): Bug fix.
1696         Use MAX_LEADING_BYTE_OFFICIAL_2 instead of
1697         MIN_LEADING_BYTE_OFFICIAL_2 to check whether the
1698         leading char belongs to official 2-dimensional charset.
1699         (CCL_WRITE_CHAR): When CCL_MODE_ENCODING,
1700         write the given character as is.  Otherwise,
1701         if it is a multibyte char, convert it by
1702         non_ascii_set_charptr_emchar, then write it.
1703         (CCL_WRITE_STRING): Likewise.
1704         (ccl_get_compiled_code): New function.
1705         (setup_ccl_program): When ccl_prog is invalid,
1706         return -1.
1707         (Fregister_code_conversion_map): New function.
1708         (syms_of_mule_ccl): defsubr Fregister_code_conversion_map.
1709
1710         * mule-ccl.h: Sync up with Emacs 21.0.90.
1711         (Fregister_ccl_program): export it.
1712
1713         * redisplay-msw.c (separate_textual_runs):
1714         If ccl program is not valid, don't do ccl conversion.
1715
1716         * redisplay-x.c (separate_textual_runs): Ditto.
1717
1718         * file-coding.c (Fmake_coding_system):
1719         When type is ccl and value is vector, register it
1720         with a proper symbol.  And checks whether the
1721         given ccl program is valid.
1722         (mule_decode): When calling ccl_driver, if src indicates
1723         NULL pointer, set an empty string instead.
1724         (mule_encode): Likewise.
1725
1726 2000-10-11  Martin Buchholz  <martin@xemacs.org>
1727
1728         The following large batch of changes gets us back to a state of
1729         C++ compilability.  Extbyte is now a char, which means that
1730         Extbyte * and Bufbyte * cannot be freely interchanged - a win!
1731
1732         * tooltalk.c (Fset_tooltalk_message_attribute): Type correctness.
1733
1734         * sound.c (Fplay_sound): Type correctness.
1735
1736         * select-x.c (hack_motif_clipboard_selection): Type correctness.
1737         (x_get_window_property): Type correctness.
1738         (receive_incremental_selection): unsigned char ==> Extbyte
1739         (selection_data_to_lisp_data): unsigned char ==> Extbyte
1740         (Fx_get_cutbuffer_internal): unsigned char ==> Extbyte
1741         (Fx_store_cutbuffer_internal): Type correctness.
1742
1743         * process-unix.c (try_to_initialize_subtty): Type correctness.
1744
1745         * objects-x.c (x_print_color_instance): Type correctness.
1746         (x_print_font_instance): Type correctness.
1747         (x_list_fonts): SExtbyte ==> Extbyte.
1748         (valid_x_font_name_p): SExtbyte ==> Extbyte.
1749         (x_find_charset_font): SExtbyte ==> Extbyte.
1750         Use TO_INTERNAL_FORMAT.  build_string ==> make_string.
1751         (truename_via_XListFonts): SExtbyte ==> Extbyte.
1752         (x_font_instance_properties): Use TO_INTERNAL_FORMAT.
1753         Use bufbyte_strcmp.
1754
1755         * mule-charset.h (LEADING_BYTE_PREFIX_P): unsigned char ==> Bufbyte
1756         (PRIVATE_LEADING_BYTE_PREFIX): Add paranoia cast.
1757         (BYTE_ASCII_P): Use bit ops for char-signedness safety.
1758         (BYTE_C0_P): Use bit ops for char-signedness safety.
1759         (BYTE_C1_P): Use bit ops for char-signedness safety.
1760         (CHARSET_BY_LEADING_BYTE):
1761         (CHARSET_BY_ATTRIBUTES):
1762         Always use inline function.
1763         Use type_checking_assert.
1764         Hide chlook.
1765
1766         * mule-charset.c (non_ascii_charptr_copy_char):
1767         Modify to work with both ASCII and non-ASCII characters.
1768         Improve docs and variable names.
1769         Replace over-clever fall-through switch with a simple loop.
1770         (Lstream_get_emchar_1):
1771         Replace over-clever fall-through switch with a simple loop.
1772
1773         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
1774         Warning suppression.
1775
1776         * lstream.h (Lstream_get_emchar): BYTE_ASCII_P cannot be used on
1777         the return value of Lstream_getc, which could be EOF as well.
1778
1779         * lstream.c (Lstream_raw_read): Now returns ssize_t, not int.
1780
1781         * lisp.h: Make Extbyte a char, not unsigned char, so that external
1782         APIs can be used on Extbytes without casts.  Risky!
1783         (SExtbyte): Remove.
1784         (UExtbyte): Remove.
1785
1786         * input-method-xlib.c (XIM_init_device):
1787         Use Xlib.h instead of IntrinsicP.h.
1788         Use HAVE_XREGISTERIMINSTANTIATECALLBACK instead of THIS_IS_X11R6,
1789         which will break in X11R7.
1790         Use XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE,
1791         to call XRegisterIMInstantiateCallback with correct types.
1792
1793         * gui-x.c (button_item_to_widget_value): Type correctness.
1794
1795         * glyphs.c (bitmap_to_lisp_data):  Type correctness.
1796
1797         * glyphs-x.c (pixmap_from_xbm_inline): Type correctness.
1798         (xbm_instantiate_1): Type correctness.
1799         (BUILD_GLYPH_INST):  Type correctness.
1800
1801         * fileio.c (Fsubstitute_in_file_name): Type correctness.
1802
1803         * file-coding.c:
1804         (decode_coding_sjis):
1805         (decode_coding_big5):
1806         (decode_coding_ucs4):
1807         (decode_coding_utf8):
1808         (decode_coding_iso2022):
1809         (decode_coding_no_conversion):
1810         Make all decoding functions take an Extbyte * arg.
1811         (encode_coding_sjis):
1812         (encode_coding_big5):
1813         (encode_coding_ucs4):
1814         (encode_coding_utf8):
1815         (encode_coding_iso2022):
1816         (encode_coding_no_conversion):
1817         Make all encoding functions take a Bufbyte * arg.
1818         Use size_t instead of unsigned int for memory sizes.
1819         Only cast to unsigned char whenever dereferencing Extbyte *.
1820
1821         * doc.c (unparesseuxify_doc_string): Type correctness.
1822
1823         * console-x.c (split_up_display_spec):
1824         Rewrite without using details of internal string representation.
1825         (x_semi_canonicalize_device_connection): Type correctness.
1826
1827         * config.h.in:
1828         (HAVE_XREGISTERIMINSTANTIATECALLBACK): New.
1829         (XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE): New.
1830         (HAVE_XFREE386): Removed.
1831
1832         * buffer.h (DEC_CHARPTR): `const' correctness.
1833         (bufbyte_strcmp): New.
1834         (bufbyte_memcmp): New.
1835
1836         * buffer.c (dfc_convert_to_internal_format): Extbyte ==> Bufbyte
1837
1838         * buffer.h (XCHAR_OR_CHAR_INT):
1839         Always use inline function.
1840         Remove redundant type checking assert() - XINT will abort quite nicely.
1841
1842 2000-10-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
1843
1844         * search.c (Freplace_match): Set newtext to an empty string.
1845
1846 2000-10-10  Martin Buchholz  <martin@xemacs.org>
1847
1848         * s/decosf1-3.h: Remove #include of stropts.h
1849         * s/ptx.h: Remove #include of stropts.h
1850         * s/usg5-4.h: Remove #include of stropts.h
1851         * sysproc.h:
1852         * config.h.in:
1853         Use stropts.h, not sys/stropts.h.
1854         Use strtio.h, not sys/strtio.h.
1855
1856 2000-10-04  Martin Buchholz <martin@xemacs.org>
1857
1858         * XEmacs 21.2.36 is released.
1859
1860 2000-09-21  Andy Piper  <andy@xemacs.org>
1861
1862         * glyphs-x.c (x_redisplay_widget): make sure non-structural
1863         changes still involve copying the widget tree.
1864         (update_widget_face): make sure a change is register in the widget
1865         tree. Call update_tab_widget_face appropriately.
1866         (update_tab_widget_face): ditto.
1867         (x_tab_control_redisplay): make sure non-structural changes still
1868         involve copying the widget tree.
1869
1870 2000-08-31   Daiki Ueno  <ueno@unixuser.org>
1871
1872         * lread.c (locate_file): Check the path element is non-nil.
1873
1874 2000-10-02  Martin Buchholz  <martin@xemacs.org>
1875
1876         * lisp.h: Warning suppression for SCO compilers.
1877
1878         * redisplay-tty.c (reset_tty_modes): Fix crash.
1879         E.g. from xemacs running on X: (delete-device (make-device 'tty nil))
1880
1881 2000-09-27  Martin Buchholz  <martin@xemacs.org>
1882
1883         Big signal/process handling overhaul.  Bugs fixed:
1884         M-x shell, type `sleep 10000', M-x comint-interrupt-subjob and
1885         M-x comint-kill-subjob should work for both values nil and t of
1886         process-connection-type. It was broken on most platforms.
1887         Testing on Irix and Cygwin still needed.  Other plaforms tested.
1888         * sysdep.c: Move #include of stropts.h into sysproc.h.  Use pid_t.
1889         * process-unix.c: Signal/Process handling overhaul.
1890         (pty_name): make 64 bytes, as `expect' does, for paranoia.
1891         (allocate_pty): Use all available modern methods of allocating
1892         ptys, falling back to old style BSD allocation as a last resort.
1893         Use allegedly more secure Unix98 pty allocation by default.
1894         (allocate_pty_the_old_fashioned_way): New. the last resort.
1895         (unix_create_process): Push ptem, ldterm, ttcompat where
1896         available.  Autoconfiscate.
1897         (try_to_initialize_subtty): New.
1898         (unix_kill_child_process): Proper signal handling for ptys on most
1899         platforms, using special knowledge of AIX, BSD, etc...
1900         (unix_create_process): Always disconnect_controlling_terminal() for
1901         subprocesses, whether using ptys or not.
1902         * process.h: Remove old getpt-dependent PTY code.
1903         * process.c (Fprocess_send_signal): New, obvious generic function.
1904         (decode_signal): New.
1905         (Finterrupt_process):
1906         (Fkill_process):
1907         (Fquit_process):
1908         (Fstop_process):
1909         (Fcontinue_process):
1910         (Fsignal_process): Use decode_signal.
1911         (process_send_signal):
1912         Many docstring corrections.
1913         Allow any signal to be sent to a process object.
1914         * config.h.in: Add symbols for big signal/process overhaul.
1915         * syssignal.h (EMACS_KILLPG): Use HAVE_KILLPG. Use `pid', not `gid'.
1916         * sysproc.h: Include process-related headers, where available:
1917         sys/stropts.h sys/strtio.h pty.h libutil.h
1918         * s/irix4-0.h:
1919         * s/irix5-0.h:
1920         * s/cygwin32.h:
1921         * s/gnu.h:
1922         * s/linux.h:
1923         * s/hpux.h:
1924         * s/aix3-1.h:
1925         Remove old S&M pty stuff.
1926         * console-tty.c (tty_init_console): Use pid_t, not int, for pids.
1927         * systty.h: Simplify cpp hackery, improve comments.
1928         Favor BSD ioctl(TIOCGPGRP) over Posix tcgetpgrp().
1929
1930         * editfns.c (Fformat_time_string):
1931         Be a little more paranoid with the return value of ctime.
1932
1933         * fileio.c (check_executable):
1934         (check_writable):
1935         Use symbolic constants X_OK, W_OK.
1936
1937         * console-x.c (split_up_display_spec): Fix a warning.
1938
1939 2000-10-02  Martin Buchholz  <martin@xemacs.org>
1940
1941         * gui-x.c (add_accel_and_to_external): strlen ==> XSTRING_LENGTH
1942         * ntproc.c (sys_spawnve): make_string ==> build_string
1943         Small clarity improvements.
1944
1945 2000-09-30  Martin Buchholz  <martin@xemacs.org>
1946
1947         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY): Warning removal.
1948
1949         * s/windowsnt.h (HAVE_STRCASECMP): Remove.
1950
1951         * config.h.in (HAVE_STRCASECMP): Remove.
1952
1953 2000-09-29  Martin Buchholz  <martin@xemacs.org>
1954
1955         * redisplay-output.c (redisplay_output_pixmap):
1956         Cleaner and possibly more 64-bit correct code.
1957
1958 2000-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
1959
1960         * dumper.c (pdump_load_finish): move restoration of
1961         `noninteractive1' to emacs.c (main_1).
1962         * emacs.c (main_1): protect LISP-visible command-line flags
1963         from pdump_load().
1964
1965 2000-09-26  Stephen J. Turnbull  <stephen@xemacs.org>
1966
1967         * Makefile.in.in (versionclean):  Use EXE_TARGET and
1968         DUMP_TARGET instead of literal program names.
1969
1970 2000-09-20  Martin Buchholz  <martin@xemacs.org>
1971
1972         * Makefile.in.in: Recent purify's require absolute paths for cache-dir.
1973
1974 2000-09-19  Martin Buchholz  <martin@xemacs.org>
1975
1976         * *: Spelling mega-patch
1977
1978 2000-09-19  Martin Buchholz  <martin@xemacs.org>
1979
1980         * fns.c (bad_bad_turtle):
1981         Delete "Eek!" comment, since we fixed the bug to which it refers.
1982
1983 2000-09-16  Martin Buchholz  <martin@xemacs.org>
1984
1985         * alloca.c: Replace REGISTER with register.
1986
1987 2000-09-16   Daiki Ueno  <ueno@unixuser.org>
1988
1989         * file-coding.c (ucs_to_char): Use countof.
1990
1991 2000-09-16  Martin Buchholz  <martin@xemacs.org>
1992
1993         * file-coding.c: (ucs_to_char):
1994         (complex_vars_of_file_coding):
1995         Use countof instead of sizeof.
1996         Use CHECK_NATNUM instead of CHECK_INT.
1997
1998         * sysdep.c (strcasecmp): Remove.
1999         * device-x.c (ascii_strcasecmp): New.
2000         * device-x.c (Fx_get_resource): Use ascii_strcasecmp.
2001         Avoid using non-standard non-portable strcasecmp.
2002
2003 2000-09-16  Martin Buchholz  <martin@xemacs.org>
2004
2005         * Makefile.in.in (mostlyclean): remove reference to prefix-args.
2006         * font-lock.c: remove reference to emacsfns.h.
2007         * search.c: small doc improvement.
2008         * event-Xt.c: correct file names in comments.
2009         * console-x.h Correct file names in comments.
2010         * frame.c: Correct file names in comments.
2011         * event-stream.c: remove Energize from comments.
2012
2013 2000-09-15  Martin Buchholz  <martin@xemacs.org>
2014
2015         * symeval.h (DEFERROR_STANDARD):
2016         (DEFERROR):
2017         (DEFSYMBOL):
2018         (DEFSYMBOL_NO_DUMP):
2019         (DEFSYMBOL_MULTIWORD_PREDICATE):
2020         (DEFSYMBOL_MULTIWORD_PREDICATE_NO_DUMP):
2021         (DEFKEYWORD):
2022         The construct &##name is not sensible C.
2023         Fixes compilation errors with Unixware native compiler.
2024
2025 2000-09-14  Martin Buchholz  <martin@xemacs.org>
2026
2027         * frame.c (device_matches_console_spec): no longer takes a `frame' arg
2028         (next_frame_internal): Removed.  We now just have next_frame.
2029         (next_frame):
2030         Write a simpler and cleaner one-pass algorithm.
2031         Remove called_from_delete_device arg and #ifdefed-out code.
2032         (previous_frame):
2033         Renamed from prev_frame.  Update callers.
2034         Cleaned up to have an analogous implementation to next_frame.
2035         (other_visible_frames_internal): Remove the
2036         called_from_delete_device bogus arg, and hence, remove this
2037         function.  Just use other_visible_frames().
2038
2039         * window.c (Fnext_window):
2040         Prettify docstring.
2041         Since next_frame() is guaranteed to return a frame, remove check
2042         for nil inserted in previous patch.
2043         (Fprevious_window):
2044         Prettify docstring.
2045         Make code look more like Fnext_window.
2046         (window_loop):
2047         Respect the `console' arg when iterating through windows.
2048         Fixes bug: (get-buffer-window buffer t device) not respecting
2049         the `device' arg.
2050         This function needs more work, as others have pointed out.
2051
2052         * frame.h: Rename prev_frame to previous_frame.
2053         device_matches_console_spec no longer takes a `frame' arg.
2054
2055         * s/gnu.h:
2056         * s/linux.h:
2057         * s/hpux.h:
2058         Use EMACS_BLOCK_SIGNAL instead of sigblock.
2059         From "Golubev I. N." <gin@mo.msk.ru>.
2060
2061         * make-src-depend: Fix typo.
2062
2063 2000-09-13  Martin Buchholz  <martin@xemacs.org>
2064
2065         * window.c (Fnext_window):
2066         next_frame() might return nil, not a frame.
2067         Fixes this crash:
2068         (gdb) run -eval '(progn  (make-device (quote x) "polgar:0") (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
2069
2070         * frame.c (next_frame_internal):
2071         We've passed a frame if we've passed its device.
2072         Fixes this crash:
2073         (gdb) run -eval '(progn (make-frame nil (make-device (quote x) "polgar:0")) (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
2074 Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245, RECORD_TYPEP (obj, lrecord_type_frame)
2075
2076 2000-09-11  Jonathan Harris  <jhar@tardis.ed.ac.uk>
2077
2078         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
2079         Allow option to suppress accelerators in menu/dialog items.
2080         (populate_or_checksum_helper): Pass dialog title through above.
2081
2082 2000-09-10  Jonathan Harris  <jhar@tardis.ed.ac.uk>
2083
2084         * event-msw.c (mswindows_key_to_emacs_keysym):
2085         Add "pause" key, fix "menu" key.
2086
2087 2000-09-09  Martin Buchholz  <martin@xemacs.org>
2088
2089         * eval.c (reinit_vars_of_eval):
2090         Increase max_lisp_eval_depth to 1000,
2091         required for thai-xtis.el to byte-compile under some circumstances.
2092
2093 2000-09-04  Martin Buchholz  <martin@xemacs.org>
2094
2095         * event-Xt.c (x_to_emacs_keysym): Increase size of `buffer' to 513.
2096         From Kenichi Handa.
2097
2098 2000-09-01  Martin Buchholz  <martin@xemacs.org>
2099
2100         * make-src-depend: Make the generated Makefiles smaller.
2101
2102         * s/hpux.h (SETUP_SLAVE_PTY):
2103         Provide a %d in the format string for the errno argument.
2104
2105         * editfns.c (Ftemp_directory):
2106         Warning fix.
2107         Avoid buffer overrun on very long file name.
2108
2109         * input-method-xlib.c (XIM_init_device):
2110         6th parameter of XRegisterIMInstantiateCallback has different
2111         pointer types on different OSes, so simply cast to (void *).
2112
2113         * unexhp9k800.c: Warning fixes.  Fiddly changes.
2114
2115         * sysdll.c (dll_open):
2116         shl_load will hang hard if passed a NULL filename.
2117         Simply return NULL for compatibility with dlopen.
2118         * sysdll.c: Conform to XEmacs coding standards.
2119
2120         * sysdep.c (get_pty_max_bytes):
2121         Support pty input lines longer than 512 bytes on HP-UX 10.20.
2122
2123 2000-08-31  Martin Buchholz  <martin@xemacs.org>
2124
2125         * tooltalk.c: Add #include <syssignal.h>
2126
2127 2000-08-12  Alexandre Oliva  <aoliva@redhat.com>
2128
2129         * s/hpux.h: Don't use undefined function sigunblock().
2130
2131 2000-08-31  Martin Buchholz  <martin@xemacs.org>
2132
2133         * config.h.in: Add HAVE_BALLOON_HELP.
2134         * emacs.c: Use HAVE_BALLOON_HELP.
2135         * Makefile.in.in (x_objs):
2136         Make Balloon Help conditional on finding shape.h.
2137
2138 2000-08-23  Yoshiki Hayashi  <yoshiki@xemacs.org>
2139
2140         * syntax.c (regex_emacs_buffer_p): New variable.
2141         * syntax.h (regex_emacs_buffer_p): extern.
2142         * search.c (looking_at_1):
2143         (string_match_1):
2144         (fast_string_match):
2145         (search_buffer): Set regex_emacs_buffer_p.
2146         * regex.c (re_match_2_internal): Reference regex_emacs_buffer_p
2147         when before_dot, at_dot, after_dot.
2148
2149 2000-08-23  Andy Piper  <andy@xemacs.org>
2150
2151         * gui-x.c (popup_selection_callback): Only set action_occurred
2152         when we really have an image instance.
2153         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
2154
2155 2000-08-23  Andy Piper  <andy@xemacs.org>
2156
2157         * gui-msw.c (mswindows_handle_gui_wm_command): set
2158         action_occurred.
2159         * gui-x.c (popup_selection_callback): ditto.
2160
2161         * glyphs.h (IMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): new accessor.
2162         (XIMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): ditto.
2163         (struct Lisp_Image_Instance): add action_occurred flag.
2164
2165         * glyphs.c (redisplay_subwindow): use action_occurred flag.
2166         (image_instance_changed): ditto.
2167         (reset_frame_subwindow_instance_cache): only unmap windows - do
2168         not remove them from the cache also.
2169
2170         * glyphs-widget.c (tab_control_update): better debug.
2171         (progress_gauge_update): ditto.
2172         (layout_update): ditto.
2173         (layout_instantiate): ditto.
2174         (tab_control_order_only_changed): cope with null pending items.
2175
2176         * glyphs-msw.c (mswindows_tab_control_redisplay): add better
2177         debug. Force selection of an item when an action occurred. Cope
2178         with null pending_items.
2179         (mswindows_progress_gauge_redisplay): better debug.
2180         * glyphs-x.c (x_tab_control_redisplay): ditto.
2181
2182         * redisplay.c (redisplay_frame): reset the frame cache if the
2183         frame is garbaged.
2184
2185         * window.c (Fset_window_configuration): potentially re-enable
2186         frame cache reset.
2187         (window_unmap_subwindows): need to finalize instances here since
2188         it is only used in mark_window_as_deleted.
2189
2190 2000-08-22  Stephen J. Turnbull  <stephen@xemacs.org>
2191
2192         * nas.c (SndOpenDataForReading):
2193         nas.c (WaveOpenDataForReading):
2194         nas.c (readChunk): {BIG,LITTLE}_ENDIAN -> NAS_{BIG,LITTLE}_ENDIAN.
2195         Somehow escaped from the 2000-08-14 patch.
2196
2197 2000-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
2198
2199         * nas.c:  Preprocessor trickery to use NAS_LITTLE_ENDIAN instead
2200         of LITTLE_ENDIAN (conflicts with glibc, at least) in NAS <= 1.2p5.
2201
2202 2000-08-21  Andy Piper  <andy@xemacs.org>
2203
2204         * glyphs-x.c (x_map_subwindow): Minor optimization - only map the
2205         window if it is not already displayed.
2206
2207         * glyphs-msw.c (mswindows_map_subwindow): only map the window if
2208         it is not already displayed.
2209
2210         * window.c (Fset_window_configuration): don't reset the frame
2211         cache.
2212
2213         * glyphs.c (unmap_subwindow_instance_cache_mapper): only remove
2214         instances from the frame cache if we are actually finalizing them.
2215         (reset_frame_subwindow_instance_cache): reset frame cache only
2216         after unmapping everything.
2217         (map_subwindow): set displayed flag after mapping.
2218
2219 2000-08-21  Martin Buchholz  <martin@xemacs.org>
2220
2221         * data.c (indirect_function):
2222         Rename ERRORP to non-misleading VOID_FUNCTION_ERRORP.
2223
2224         * eval.c (function_argcount):
2225         Use original function when signaling errors.
2226
2227 2000-08-18  Andy Piper  <andy@xemacs.org>
2228
2229         * frame.c (delete_frame_internal): use new
2230         free_frame_subwindow_instances name.
2231
2232         * glyphs-msw.c (mswindows_tab_control_instantiate): verify index.
2233         (add_tab_item): make return type correct.
2234         (mswindows_tab_control_instantiate): assert index of tab.
2235         (mswindows_tab_control_redisplay): Re-code to use
2236         gui_item_equal_sans_selected and gui_item_list_find_selected.
2237
2238         * glyphs-widget.c (tab_control_update): Correct comment.
2239
2240         * window.c (window_unmap_subwindows): use new
2241         unmap_subwindow_instance_cache_mapper.
2242         (window_unmap_subwindows_cache_mapper): deleted.
2243         (Fset_window_configuration): comparisons should now be with
2244         EQ. Preserve the subwindow instance cache across configuration
2245         changes.
2246         (allocate_window): ditto.
2247         (make_dummy_parent): ditto.
2248
2249         * glyphs.c (free_frame_subwindow_instances): rename from
2250         free_frame_subwindow_instance_cache. finalize all instances rather
2251         than just those in the display cache.
2252         (finalize_all_subwindow_instances): walk windows unmapping and
2253         finalizing subwindows.
2254         (unmap_subwindow_instance_cache_mapper): moved from
2255         window.c. Allow finalization as well as unmapping.
2256
2257         * gui.c (gui_item_list_find_selected): new function.
2258
2259         * gui.h (gui_item_list_find_selected): declare.
2260
2261         * glyphs-x.c (x_tab_control_redisplay): pick tab
2262         explicitly. Re-code to use gui_item_equal_sans_selected and
2263         gui_item_list_find_selected.
2264
2265         * glyphs-x.h: add lwlib-utils.h
2266
2267         * buffer.c (Frecord_buffer): undo previous change.
2268
2269 2000-08-09  Vin Shelton  <acs@xemacs.org>
2270
2271         * config.h.in, s/gnu.h, s/hpux.h, s/linux.h: Use UNIX98 PTYs if
2272         possible.  Create temporary files more securely.  The patch was
2273         generated by Torsten Duwe <duwe@caldera.de>, Florian Weimer
2274         <Florian.Weimer@RUS.Uni-Stuttgart.DE> and Olaf Kirch.  See
2275         http://www.xemacs.org/list-archives/xemacs-patches/200007/msg00123.html
2276         for details.
2277
2278 2000-08-07  Ben Wing  <ben@xemacs.org>
2279
2280         * getloadavg.c: remove duplicate (and windows-breaking)
2281         includes of fcntl.h and sys/file.h.
2282
2283         * nt.c: remove duplicate getloadavg() definition.
2284
2285         * sysdll.h (Qdll_filename_encoding): add missing stand-in
2286         encodings.
2287
2288 2000-08-07  Gunnar Evermann  <ge204@eng.cam.ac.uk>
2289
2290         * eval.c (function_argcount): If function needs to be autoloaded
2291         actually use the loaded definition.
2292         GCPRO function.
2293
2294 2000-08-05  Ben Wing  <ben@xemacs.org>
2295
2296         * getloadavg.c: add prototype for getloadavg().  remove
2297         duplicate WIN32_NATIVE/CYGWIN code (already in the middle
2298         of the code).  remove duplicate header includes.
2299
2300         * s\cygwin32.h, s\mingw32.h: remove stray NO_ARG_ARRAY.
2301
2302         * s\cygwin32.h, s\mingw32.h, m\windowsnt.h:
2303         don't define LOAD_AVE_TYPE/LOAD_AVE_CVT because we have no
2304         useful load average.
2305
2306         * alloc.c (reinit_alloc_once_early): removed references to
2307         VIRT_ADDR_VARIES, malloc_sbrk_used/free, and data-bytes-used/free.
2308         the lisp vars are the only things referencing the malloc_sbrk_*
2309         vars, and they were already if 0'd out.  these vars only exist
2310         in the older malloc.c, which is basically unused, and they're
2311         only for informational purposes.
2312
2313         * m\*.h: removed useless VIRT_ADDR_VARIES.
2314
2315         * m\powerpc.h: removed stray NO_ARG_ARRAY.
2316
2317 2000-04-26  IKEYAMA Tomonori  <tomonori@suiyokai.org>
2318
2319         * redisplay-msw.c (mswindows_output_dibitmap): Set foreground
2320         color if the image is a mono pixmap.
2321
2322 2000-07-30  Ben Wing  <ben@xemacs.org>
2323
2324         * Makefile.in.in (release):
2325         Remove stray @.
2326
2327         * buffer.c (directory_is_current_directory):
2328         * dired-msw.c (mswindows_get_files):
2329         * dired.c:
2330         * dired.c (Fdirectory_files):
2331         * dired.c (file_name_completion_stat):
2332         * dired.c (Ffile_attributes):
2333         [[[[1]]]]: Rename stat() -> xemacs_stat() and eliminate nasty
2334         preprocessor tricks, to avoid problems on some machines
2335         (e.g. SCO).
2336
2337         * callproc.c (egetenv): GC docs.
2338
2339         * console-msw.h:
2340         * console-msw.h (struct mswindows_dialog_id):
2341         * lrecord.h (lrecord_type):
2342         New object for use with MSW dialogs.
2343
2344         * console.h (struct console_methods):
2345         New enable/disable frame methods, for proper modal dialogs.
2346
2347         * device-msw.c (msprinter_default_printer): Fix to follow
2348         proper Mule conventions.
2349
2350         * device-msw.c:
2351         * device-msw.c (signal_open_printer_error):
2352         * device-msw.c (msprinter_init_device):
2353         * device-msw.c (ensure_not_printing):
2354         * device-msw.c (plist_get_margin):
2355         * device-msw.c (Fmsprinter_select_settings):
2356         * device-msw.c (finalize_devmode):
2357         * device-msw.c (Fmsprinter_settings_despecialize):
2358         * device-msw.c (signal_enum_priner_error):
2359         * extents.c (decode_extent):
2360         * extents.c (decode_map_extents_flags):
2361         * extents.c (decode_extent_at_flag):
2362         * extents.c (Fextent_at):
2363         * extents.c (Fextents_at):
2364         * extents.c (symbol_to_glyph_layout):
2365         [[[[2]]]] Use structured errors.
2366
2367         * dialog-msw.c:
2368         * dialog-msw.c (mswindows_is_dialog_msg):
2369         * dialog-msw.c (mark_mswindows_dialog_id):
2370         * dialog-msw.c (dialog_proc):
2371         * dialog-msw.c (handle_question_dialog_box):
2372         * dialog-msw.c (syms_of_dialog_mswindows):
2373         Define new object to clean up marking; use it as a dialog identifier.
2374         Call new delete-dialog-box-hook.
2375
2376         * dialog-x.c (dbox_selection_callback):
2377         * dialog-x.c (dbox_descriptor_to_widget_value):
2378         * dialog-x.c (x_make_dialog_box_internal):
2379         Call new delete-dialog-box-hook.
2380         Return an id.
2381
2382         * dialog.c:
2383         * dialog.c (syms_of_dialog):
2384         * dialog.c (vars_of_dialog):
2385         Define new delete-dialog-box-hook, for use w/modal dialog boxes.
2386
2387         * eval.c:
2388         * eval.c (signal_call_debugger):
2389         when noninteractive, output stack traces on the console instead
2390         of in a (never-seen) buffer.
2391
2392         * eval.c (signal_type_error):
2393         * eval.c (invalid_argument_2):
2394         * lisp.h:
2395         new funs for use w/structured errors.
2396
2397         * event-Xt.c:
2398         * event-Xt.c (x_to_emacs_keysym):
2399         * event-Xt.c (describe_event):
2400         * event-Xt.c (emacs_Xt_event_handler):
2401         * event-Xt.c (vars_of_event_Xt):
2402         * event-msw.c:
2403         * event-msw.c (mswindows_wnd_proc):
2404         * event-msw.c (vars_of_event_mswindows):
2405         rename {x,mswindows}-debug-events to debug-{}-events for
2406         consistency with other debug-foo variables.
2407
2408         * event-stream.c:
2409         document next-event more clearly.
2410
2411         * fileio.c (Ffile_name_directory):
2412         * fileio.c (Ffile_name_nondirectory):
2413         * fileio.c (Funhandled_file_name_directory):
2414         * fileio.c (file_name_as_directory):
2415         * fileio.c (Ffile_name_as_directory):
2416         * fileio.c (directory_file_name):
2417         * fileio.c (Fdirectory_file_name):
2418         * fileio.c (Fmake_temp_name):
2419         * fileio.c (Ffile_truename):
2420         * fileio.c (Fsubstitute_in_file_name):
2421         * fileio.c (expand_and_dir_to_file):
2422         * fileio.c (barf_or_query_if_file_exists):
2423         * fileio.c (check_executable):
2424         * fileio.c (Ffile_exists_p):
2425         * fileio.c (Ffile_writable_p):
2426         * fileio.c (Ffile_directory_p):
2427         * fileio.c (Ffile_regular_p):
2428         * fileio.c (Ffile_modes):
2429         * fileio.c (Ffile_newer_than_file_p):
2430         * fileio.c (Fverify_visited_file_modtime):
2431         * fileio.c (Fset_visited_file_modtime):
2432         * fileio.c (auto_save_1):
2433         (1). (2).
2434         fix up gcpro's.
2435
2436         * frame-msw.c:
2437         * frame-msw.c (mswindows_init_frame_1):
2438         * frame-msw.c (mswindows_enable_frame):
2439         * frame-msw.c (error_frame_unsizable):
2440         * frame-msw.c (msprinter_init_frame_1):
2441         * frame-msw.c (msprinter_init_frame_3):
2442         * frame-msw.c (console_type_create_frame_mswindows):
2443         (2).
2444         implement new enable/disable frame methods.
2445
2446         * frame-x.c:
2447         * frame-x.c (x_enable_frame):
2448         * frame-x.c (console_type_create_frame_x):
2449         implement new enable/disable frame methods.
2450
2451         * frame.c:
2452         * frame.c (Fdisable_frame):
2453         * frame.c (syms_of_frame):
2454         * frame.h (struct frame):
2455         implement new enable/disable frame methods/functions.
2456
2457         * general-slots.h:
2458         add initial-focus.
2459
2460         * glyphs-msw.c (mswindows_widget_instantiate):
2461         comment that initial-focus should be implemented.
2462
2463         * glyphs-widget.c:
2464         * glyphs-widget.c (check_valid_instantiator):
2465         * glyphs-widget.c (check_valid_orientation):
2466         * glyphs-widget.c (check_valid_tab_orientation):
2467         * glyphs-widget.c (check_valid_justification):
2468         * glyphs-widget.c (check_valid_border):
2469         * glyphs-widget.c (check_valid_callback):
2470         * glyphs-widget.c (check_valid_int_or_function):
2471         * glyphs-widget.c (check_valid_string_or_vector):
2472         * glyphs-widget.c (check_valid_item_list_1):
2473         * glyphs-widget.c (widget_validate):
2474         * glyphs-widget.c (combo_box_validate):
2475         * glyphs-widget.c (widget_instantiate):
2476         * glyphs-widget.c (syms_of_glyphs_widget):
2477         * glyphs-widget.c (VALID_WIDGET_KEYWORDS):
2478         * glyphs-widget.c (image_instantiator_combo_box):
2479         * glyphs-widget.c (image_instantiator_scrollbar):
2480         * glyphs-widget.c (image_instantiator_tab_control):
2481         * glyphs-widget.c (VALID_LAYOUT_KEYWORDS):
2482         (2).
2483         support (unimplemented) keyword initial-focus.
2484         reindent long macros.
2485
2486         * glyphs-x.c (x_redisplay_widget):
2487         * glyphs-x.c (x_button_instantiate):
2488         * glyphs-x.c (x_button_redisplay):
2489         * glyphs-x.c (x_progress_gauge_instantiate):
2490         * glyphs-x.c (x_edit_field_instantiate):
2491         * glyphs-x.c (x_combo_box_instantiate):
2492         * glyphs-x.c (x_tab_control_instantiate):
2493         * glyphs-x.c (x_label_instantiate):
2494         * gui-x.c:
2495         * gui-x.c (button_item_to_widget_value):
2496         * gui-x.c (gui_items_to_widget_values_1):
2497         * gui-x.c (gui_item_children_to_widget_values):
2498         * gui-x.c (gui_items_to_widget_values):
2499         * gui-x.h:
2500         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
2501         add new flag to gui-parsing routines to indicate whether
2502         accelerator specs should be supported.
2503
2504         * glyphs.c (syms_of_glyphs): use DEFSYMBOL.
2505
2506         * glyphs.h (struct Lisp_Image_Instance):
2507         * glyphs.h (IMAGE_INSTANCE_WANTS_INITIAL_FOCUS):
2508         add initial-focus flag.
2509
2510         * gui.c:
2511         * gui.c (syms_of_gui):
2512         * gui.c (vars_of_gui):
2513         clean up menu-no-selection-hook.
2514
2515         * gui.h:
2516         support delete-dialog-box-hook.
2517
2518         * lread.c (Fload_internal):
2519         * lread.c (locate_file_in_directory_mapper):
2520         (1).
2521
2522         * lrecord.h:
2523         * lrecord.h (struct toolbar_button):
2524         * lrecord.h (syms_of_toolbar):
2525         document how to create a new object.
2526
2527         * menubar-msw.c (mswindows_char_is_accelerator):
2528         may be called on frames w/o menus.
2529
2530         * menubar.c (vars_of_menubar):
2531         clean up :filter docs.
2532
2533         * nt.c (readdir):
2534         * ntproc.c:
2535         (1).
2536
2537         * process-nt.c:
2538         * process-nt.c (validate_signal_number):
2539         * process-nt.c (signal_cannot_launch):
2540         * process-nt.c (nt_create_process):
2541         * process-nt.c (nt_send_process):
2542         * process-nt.c (nt_kill_child_process):
2543         * process-nt.c (nt_open_network_stream):
2544         * process-nt.c (syms_of_process_nt):
2545         (2).
2546         delete quote-handling.  call new lisp code that does it better.
2547
2548         * process-unix.c (connect_to_file_descriptor):
2549         * process-unix.c (allocate_pty):
2550         * process-unix.c (unix_send_process):
2551         * process-unix.c (unix_kill_child_process):
2552         * process-unix.c (unix_open_network_stream):
2553         * process-unix.c (unix_open_multicast_group):
2554         (1). (2).
2555
2556         * process.c:
2557         * process.c (Fstart_process_internal):
2558         (2).  need to canonicalize process path even if absolute.
2559
2560         * select-msw.c (symbol_to_ms_cf):
2561         * select-msw.c (ms_cf_to_symbol):
2562         * select-msw.c (cf_is_autofreed):
2563         * select-msw.c (mswindows_destroy_selection):
2564         * select.c:
2565         * select.c (syms_of_select):
2566         * select.h:
2567         support dibv5, fix bugs. (from Mike Alexander)
2568
2569         * select.c (Fget_selection_internal):
2570         * select.c (select_convert_out):
2571
2572         * sysdep.c:
2573         * sysdep.c (xemacs_stat):
2574         renamed.
2575
2576         * sysdep.c (mkdir):
2577         * sysdep.c (rmdir):
2578         but keep original stat() here because we provide encapsulation
2579         around these funs.
2580
2581         * sysfile.h:
2582         * sysfile.h (fstat):
2583         remove stat garbage.
2584
2585         * syswindows.h:
2586         fix X/MSW conflict.
2587         don't include tchar.h.  it's inappropriate because it makes
2588         compile-time distinctions when we want runtime distinctions.
2589         (we provide our own tchar replacements)
2590
2591         * toolbar.c:
2592         use default object printer for toolbar-button.
2593
2594         * unexcw.c:
2595         make sure we don't encapsulate.
2596
2597         * window.c (vars_of_window):
2598         emphasize that temp-buffer-show-hook is obsolete.
2599
2600 2000-08-05  Martin Buchholz  <martin@xemacs.org>
2601
2602         * glyphs.c (image_instance_hash): HASH2 wants EMACS_INT args.
2603         (Fimage_instance_subwindow_id): make_int wants EMACS_INT arg.
2604
2605         * events.c (Fevent_timestamp_lessp):
2606         Not 64-bit clean.  Use EMACS_INT, not int.
2607
2608 2000-06-05  Andrew Begel <abegel@cs.berkeley.edu>
2609
2610         * lrecord.h (lrecord_types): Changed lrecord_type_count to an
2611         unsigned int and changed the last enum to
2612         lrecord_type_last_built_in_type.
2613         (lrecord_implementations_table): changed prototype to know how
2614         long the array is supposed to be.
2615         (lrecord_type_count): new unsigned int to keep track of the
2616         current number of lisp lrecord types.
2617         (DEFINE_EXTERNAL_LRECORD):
2618         (DECLARE_EXTERNAL_LRECORD): Added these two for external
2619         dynamic-modules to declare new lisp types. They are the same
2620         as the non-EXTERNAL forms, but declare an lrecord_type unsigned
2621         int for each new type, and increment lrecord_type_count by 1.
2622
2623         * alloc.c (lrecord_implementations_table): Changed to reference
2624         lrecord_type_last_built_in_type for the size of the array.
2625         Moved MODULE_DEFINABLE_TYPE_COUNT to lrecord.h.
2626
2627 2000-08-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
2628
2629         * glyphs.h (check_valid_item_list): Renamed from
2630         check_valid_item_list_1.
2631
2632 2000-08-01 Alastair J. Houghton <ajhoughton@lineone.net>
2633
2634         * select.c (Qselect_coerce): New.
2635         * select.c (Vselection_coercion_alist): New.
2636         * select.c (syms_of_select): Declare.
2637         * select.c (get-selection-internal): Use it.
2638         Use the new select-coerce functionality.
2639
2640         * select.c (select_coerce): New.
2641         * select.h (select_coerce): Declare.
2642         New function to coerce one type of data into another.
2643
2644 2000-08-03  Martin Buchholz  <martin@xemacs.org>
2645
2646         * callproc.c (Fcall_process_internal):
2647         (Fcall_process_internal):
2648         * process-unix.c (unix_create_process):
2649         Save and restore the value of errno, so that error messages are accurate.
2650
2651 2000-08-01  Martin Buchholz  <martin@xemacs.org>
2652
2653         * elhash.c (print_hash_table):
2654         Fix printing of hash tables to also use `key-and-value' instead of `t'.
2655         Prettify docstrings and indentation.
2656
2657 2000-07-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
2658
2659         * window.c (Fwindow_pixel_edges): Subtract frame border and
2660         gutter size.
2661
2662 2000-07-31  Andy Piper  <andy@xemacs.org>
2663
2664         * buffer.c (Frecord_buffer): make absolutely sure that redisplay
2665         will acknowledge the change.
2666
2667         * glyphs.h: declare tab_control_order_only_changed.
2668
2669         * glyphs-x.c (x_tab_control_redisplay): use
2670         tab_control_order_only_changed.
2671
2672         * glyphs-widget.c (tab_control_order_only_changed): new function.
2673
2674         * glyphs-msw.c (mswindows_tab_control_redisplay): use
2675         tab_control_order_only_changed.
2676
2677         * gui.c (gui_item_equal_sans_selected): new function.
2678         (gui_item_equal): use it.
2679
2680         * glyphs-msw.c (mswindows_combo_box_instantiate): deprecate
2681         :properties in favor of :items..
2682
2683         * glyphs-widget.c (check_valid_item_list): rename from
2684         check_valid_item_list_1.
2685         (check_valid_item_list_1): renamed.
2686         (combo_box_validate): deprecate :properties in favor of :items.
2687         (widget_instantiate): ditto.
2688         (tab_control_update): ditto.
2689         (image_instantiator_combo_box): ditto.
2690         (image_instantiator_tree_view): ditto.
2691         (image_instantiator_tab_control): ditto.
2692         (layout_post_instantiate): remove dead code.
2693
2694         * print.c (debug_print_no_newline): only write to debugger if in
2695         WIN32_NATIVE.
2696
2697         * elhash.c (Fmake_hash_table): update doc string.
2698
2699         * event-msw.c (mswindows_wnd_proc): don't allow processing of
2700         messages whilst in GC. This at least stops XEmacs crashing but has
2701         the potential for wierd behaviour.
2702
2703 2000-07-31  Martin Buchholz  <martin@xemacs.org>
2704
2705         * config.h.in:
2706         Make existence of s&m files optional.
2707
2708         * s/bsd386.h: Remove HAVE_GETLOADAVG.
2709         * s/freebsd.h: Remove HAVE_GETLOADAVG.
2710         * s/gnu.h: Remove HAVE_GETLOADAVG.
2711         * s/netbsd.h: Remove HAVE_GETLOADAVG.
2712         * s/sol2.h: Remove HAVE_GETLOADAVG.
2713         * lisp.h: Remove getloadavg() declaration.
2714         * fns.c:
2715         Include <sys/loadavg.h> if available.
2716         Don't declare our own getloadavg() if HAVE_GETLOADAVG.
2717         * config.h.in:  Group together getloadavg()-related macros.
2718         Use only configure-time tests to detect getloadavg().
2719
2720 2000-07-30  Martin Buchholz  <martin@xemacs.org>
2721
2722         * Makefile.in.in (TransientEmacsShell.o): Fix race condition.
2723
2724 2000-07-25  Andy Piper  <andy@xemacs.org>
2725
2726         * syswindows.h: add tchar.h for native builds.
2727
2728         * frame.c (syms_of_frame): remove set-glyph-image.
2729
2730         * general-slots.h: add Qset_glyph_image.
2731
2732         * glyphs-widget.c (layout_update): add domain arg to
2733         set-glyph-image.
2734         (syms_of_glyphs_widget): remove set-glyph-image.
2735
2736 2000-07-23  Ben Wing  <ben@xemacs.org>
2737
2738         * dialog-msw.c (vars_of_dialog_mswindows): need to staticpro
2739         Vpopup_frame_list.
2740
2741 2000-07-22  Andy Piper  <andy@xemacs.org>
2742
2743         * symsinit.h: add syms_of_win32().
2744
2745         * gui-msw.c (syms_of_gui_mswindows): remove
2746         Fmswindows_shell_execute.
2747         (Fmswindows_shell_execute): moved to win32.c.
2748
2749         * emacs.c (main_1): add syms_of_win32 ().
2750
2751         * win32.c (init_potentially_nonexistent_functions): rewrite in
2752         compiler-friendly terms.
2753         (Fmswindows_shell_execute): move here from gui-msw.c.
2754         (syms_of_win32): new.
2755
2756         * device-msw.c (Fmswindows_printer_list): clean up args to
2757         EnumPrinters.
2758         Don't include tchar under cygwin or mingw.
2759         (msprinter_default_printer): make cygwin-friendly.
2760
2761 2000-07-21  Andy Piper  <andy@xemacs.org>
2762
2763         * glyphs-widget.c (image_instantiator_tree_view): use tab
2764         control's update function.
2765         (layout_property): new function. Retrieve items.
2766
2767         * glyphs-msw.c (mswindows_tree_view_redisplay): new
2768         function. Re-populate the tree view from the pending items.
2769
2770         * glyphs.c (instantiate_image_instantiator): Make sure the domain
2771         is designated the parent if the domain is an image instance. This
2772         is needed so that dirtiness can be cascade up the hierarchy and
2773         thus for layout children to be redisplayed correctly.
2774         (allocate_image_instance): rename glyph -> parent.
2775
2776         * redisplay.h: change redisplay_output_layout signature.
2777
2778         * redisplay-msw.c (mswindows_output_display_block): use domain
2779         arg.
2780
2781         * redisplay-x.c (x_output_display_block): use domain arg.
2782
2783 2000-07-10  Andy Piper  <andy@xemacs.org>
2784
2785         * window.c (Fset_window_configuration): add comment.
2786
2787         * redisplay-output.c (compare_runes):
2788         (redisplay_output_subwindow): redisplay rather than update subwindow.
2789         (redisplay_output_layout): ditto.
2790
2791         * redisplay-msw.c (mswindows_frame_output_end):
2792         (mswindows_frame_output_end): make defer window pos optional.
2793
2794         * lisp.h: add Flast.
2795
2796         * glyphs.h (struct image_instantiator_methods): add dest_mask top
2797         normalize method. Change update method to be for changed
2798         instantiators. Add redisplay method. Change signature of layout
2799         method.
2800         (struct Lisp_Image_Instance): add instantiator.
2801         (IMAGE_INSTANCE_INSTANTIATOR): new.
2802         (IMAGE_INSTANCE_SUBWINDOW_FACE): new.
2803         (XIMAGE_INSTANCE_INSTANTIATOR): new.
2804         (XIMAGE_INSTANCE_SUBWINDOW_FACE): new.
2805
2806         * glyphs.c:
2807         (find_instantiator_differences): new function.
2808         (Fset_instantiator_property): new convenience function.
2809         (check_image_instance_structure): strictly check for vector
2810         instantiators.
2811         (normalize_image_instantiator): make non-static.
2812         (instantiate_image_instantiator): pass on dest_mask and use new
2813         signatures for image_instance_layout and friends.
2814         (mark_image_instance): mark the instantiator. Mark the subwindow
2815         face not the widget face.
2816         (image_instance_equal): add instantiator.
2817         (image_instance_hash): ditto.
2818         (allocate_image_instance): ditto.
2819         (Fset_image_instance_property): removed.
2820         (Fimage_instance_file_name): ditto.
2821         (Fcolorize_image_instance): ditto.
2822         (image_instance_layout): add offsets to be set.
2823         (update_image_instance): new function. update an image instance
2824         from its changed instantiator.
2825         (inherit_normalize): add dest_mask.
2826         (xbm_normalize): ditto.
2827         (xface_normalize): ditto.
2828         (xpm_normalize): ditto.
2829         (text_update): set_property -> update.
2830         (image_instantiate): use the glyph identity as a hash key, not the
2831         instantiator.
2832         (glyph_width): use new image_instance_layout signature.
2833         (glyph_ascent): ditto.
2834         (glyph_descent): ditto.
2835         (glyph_height): ditto.
2836         (glyph_query_geometry): ressurrect.
2837         (glyph_layout): ditto.
2838         (redisplay_subwindow): update -> redisplay.
2839         (syms_of_glyphs): add Fset_instantiator_property.
2840         (image_instantiator_format_create): set_property -> update.
2841
2842         * glyphs-x.c:
2843         (autodetect_normalize): add dest_maks to signature.
2844         (x_redisplay_subwindow): update -> redisplay.
2845         (x_redisplay_widget): ditto.
2846         (x_button_redisplay): ditto.
2847         (x_progress_gauge_redisplay): ditto.
2848         (x_tab_control_redisplay): ditto. Rewrite to cope with changed
2849         stacking order.
2850         (console_type_create_glyphs_x): update -> redisplay.
2851         (image_instantiator_format_create_glyphs_x): ditto.
2852
2853         * glyphs-widget.c:
2854         (check_valid_instantiator): disallow glyphs in the instantiator,
2855         they must now be vectors.
2856         (check_valid_instantiator_list): ditto.
2857         (glyph_instantiator_to_glyph): use internal symbol rather than
2858         intern.
2859         (widget_update): renamed from widget_set_property. Call cascaded
2860         update methods.
2861         (redisplay_widget): renamed from update_widget.
2862         (widget_layout): image_instance_layout now takes position as well
2863         as size.
2864         (widget_normalize): ditto.
2865         (widget_instantiate): ditto.
2866         (tab_control_query_geometry) ditto.:
2867         (tab_control_update): renamed from tab_control_set_property.
2868         (progress_gauge_update): set_property -> update.
2869         (layout_normalize): rewrite so that child instantiators are
2870         normalized also.
2871         (layout_update): new function. Create glyphs from the normalized
2872         children and cope with any other layout keywords. We do not
2873         instantiate children here that will be take care of by
2874         redisplay_output_layout.
2875         (layout_instantiate): call layout_update and not much else.
2876         (layout_post_instantiate): not sure whether this is needed
2877         anymore.
2878         (layout_query_geometry): query glyph geometry rather than
2879         image_instance geometry.
2880         (layout_layout): set offsets from pass in parameters. Use glyph
2881         geometry and layout functions rather than image instance ones.
2882         (native_layout_layout): ditto.
2883         (syms_of_glyphs_widget): add make-glyph and set-glyph-image.
2884         (image_instantiator_widget): set_property -> update.
2885         (image_instantiator_buttons): ditto.
2886         (image_instantiator_progress_guage): ditto.
2887         (image_instantiator_tab_control): ditto.
2888         (VALID_LAYOUT_KEYWORDS): instantiators must now be vectors.
2889         (image_instantiator_layout): add update method.
2890
2891         * glyphs-msw.c (bmp_normalize):
2892         (mswindows_resource_normalize): add dest_mask so that it can be
2893         proprogated by layout_normalize.
2894         (begin_defer_window_pos): make optional because it may not be the
2895         right thing to do and it introduces differences with X.
2896         (mswindows_unmap_subwindow): ditto.
2897         (mswindows_map_subwindow): ditto.
2898         (mswindows_redisplay_subwindow): renamed from
2899         mswindows_update_subwindow.
2900         (mswindows_redisplay_widget): ditto.
2901         (mswindows_button_redisplay): renamed from
2902         mswindows_button_update. Update is now what the instantiation
2903         function does for a changed instantiator.
2904         (mswindows_progress_gauge_instantiate): set the progress value
2905         here if appropriate.
2906         (mswindows_tab_control_redisplay): cope with re-ordering of the
2907         members of the tab widget by simply selecting the new top
2908         widget. This makes things appear ok if you click on a tab.
2909         (mswindows_combo_box_instantiate): image_instance_layout now takes
2910         position as well as size.
2911         (mswindows_progress_gauge_redisplay): renamed from
2912         mswindows_progress_gauge_update.
2913         (console_type_create_glyphs_mswindows): fix update -> redisplay.
2914         (image_instantiator_format_create_glyphs_mswindows): ditto.
2915
2916         * glyphs-eimage.c (jpeg_normalize):
2917         (gif_normalize):
2918         (png_normalize):
2919         (tiff_normalize): add dest_mask so that it can be proprogated by
2920         layout_normalize.
2921
2922         * elhash.c:
2923         (print_hash_table):
2924         (hash_table_weakness_validate):
2925         (decode_hash_table_weakness):
2926         (Fhash_table_weakness):
2927         (Fhash_table_type):
2928         (syms_of_elhash): use Ben's naming scheme for hashtable types..
2929
2930         * console.h (struct console_methods): move update_* to
2931         redisplay_*.
2932
2933 2000-07-20  Ben Wing  <ben@xemacs.org>
2934
2935         * *.[ch] (XSETOBJ): remove unused middle argument.
2936         lisp-disunion.h: correct wrap_object() to one argument.
2937
2938 2000-07-15  Ben Wing  <ben@xemacs.org>
2939
2940         * s/cygwin32.h:
2941         * s/cygwin32.h (CYGWIN_CONV_PATH):
2942         Add missing logb prototype for v1.1.
2943         Use post-b20 names and alias to pre-b20 names when pre-b20.
2944
2945         * s/windowsnt.h: [5].
2946
2947 2000-07-15  Ben Wing  <ben@xemacs.org>
2948
2949         * Makefile.in.in (x_objs):
2950         * Makefile.in.in (sheap_objs):
2951         * Makefile.in.in (objs):
2952         added win32.o, cosmetic cleanups.
2953
2954         * alloc.c (Fmake_byte_code):
2955         [[[1]]]: Changes for new LIST_LOOP, EXTERNAL_LIST_LOOP,
2956         etc. macros which declare their own args now.
2957
2958         * alloc.c (syms_of_alloc):
2959         [[[2]]]: Use DEFSYMBOL, DEFKEYWORD, DEFERROR and friends.
2960
2961         * buffer.c:
2962         Moved buffer-dedicated-frame, set-buffer-dedicated-frame into lisp.
2963
2964         * buffer.c (Fget_file_buffer):
2965         Fixed GCPRO problem.
2966
2967         * buffer.c (get_truename_buffer):
2968         Fixed comment about GC checking.
2969
2970         * buffer.c (syms_of_buffer):
2971         Undeclared those dedicated frame funs.
2972         [2].
2973
2974         * buffer.h:
2975         Define convenience macros for internal/external conversions.
2976         [[[3]]]: Define codesys aliases Qcommand_argument_encoding
2977         and Qenvironment_variable_encoding for cleaner code.
2978
2979         * bufslots.h:
2980         Remove dedicated-frame; in lisp.
2981
2982         * bytecode.c (funcall_compiled_function):
2983         [1].
2984
2985         * bytecode.c (syms_of_bytecode):
2986         [2].
2987
2988         * console-msw.c:
2989         * console-msw.c (mswindows_show_console): Rewrote.
2990
2991         * console-msw.c (Fmswindows_debugging_output): New.
2992         Sends to OutputDebugString (special MSWin debugger interface).
2993
2994         * console-msw.c (Fmswindows_message_box):
2995         Fixed stupid bugs so it works when called from kill-emacs.
2996
2997         * console-msw.c (syms_of_console_mswindows):
2998         Declare Fmswindows_debugging_output.
2999
3000         * console-msw.h:
3001         New MSWin prototypes.
3002
3003         * console-msw.h (struct mswindows_frame):
3004         New entry last-click-mods for improved button-modifier support.
3005
3006         * console-msw.h (FRAME_MSWINDOWS_POPUP):
3007         New struct entry `popup' with corresponding accessor.
3008
3009         * console-x.c:
3010         * console-x.c (split_up_display_spec):
3011         * console-x.c (get_display_arg_connection):
3012         * console-x.c (x_semi_canonicalize_console_connection):
3013         * console-x.c (x_canonicalize_device_connection):
3014         [[[6]]]: Change char to more specific type.
3015         [[[8]]]: Make use of abstracting codesys aliases defined in [3], [4];
3016
3017         * console-x.c (x_semi_canonicalize_console_connection):
3018         * console-x.c (x_canonicalize_device_connection):
3019         [[[9]]]: Fix up error signalling to use new structured error system.
3020
3021         * console-x.h:
3022         [[[4]]]: Define codesys aliases:
3023         Qlwlib_encoding, Qx_atom_name_encoding, Qx_font_name_encoding,
3024         Qx_color_name_encoding, Qx_display_name_encoding.
3025
3026         * console.h (struct console_methods):
3027         New method make_dialog_box_internal supersedes older
3028         popup_dialog_box method.
3029
3030         * data.c:
3031         Define many new errors, part of new structured errors.
3032
3033         * data.c (init_errors_once_early):
3034         * data.c (syms_of_data):
3035         [2].
3036
3037         * device-msw.c (mswindows_init_device):
3038         [[[5]]]: Cleanup to support NT 3.51.
3039
3040         * device-msw.c (decode_devmode): Cleanup.
3041
3042         * device-msw.c (mswindows_handle_print_setup_dialog_box):
3043         * device-msw.c (mswindows_handle_print_dialog_box):
3044         * device-msw.c (mswindows_handle_page_setup_dialog_box):
3045         * device-msw.c (syms_of_device_mswindows):
3046         Delete the dialog box primitives recently introduced by Kirill and
3047         instead interface to general dialog box interface.
3048
3049         * device-x.c:
3050         * device-x.c (compute_x_app_name):
3051         * device-x.c (x_init_device):
3052         * device-x.c (Fx_valid_keysym_name_p):
3053         * device-x.c (Fx_set_font_path):
3054         [6].
3055         [7].
3056
3057         * device.h (wrap_device): New.
3058         First of its kind; meant to replace XSETDEVICE.
3059
3060         * dialog-msw.c: Many file-dialog symbols.
3061
3062         * dialog-msw.c (mswindows_register_popup_frame): New.
3063         * dialog-msw.c (mswindows_is_dialog_msg): New.
3064         For supporting kbd traversal in dialog boxes.
3065
3066         * dialog-msw.c (dialog_proc):
3067         Support hitting ESC in dialogs.
3068
3069         * dialog-msw.c (struct):
3070         Common dialog box errors.
3071
3072         * dialog-msw.c (handle_file_dialog_box): New.
3073         Add file dialog code.
3074
3075         * dialog-msw.c (handle_question_dialog_box):
3076         Redo existing code to support new question dialog syntax.
3077
3078         * dialog-msw.c (console_type_create_dialog_mswindows):
3079         We support new dialog console method.
3080
3081         * dialog-msw.c (syms_of_dialog_mswindows):
3082         * dialog-msw.c (vars_of_dialog_mswindows):
3083         New file dialog symbols, vars.
3084
3085         * dialog-x.c:
3086         * dialog-x.c (maybe_run_dbox_text_callback):
3087         * dialog-x.c (dbox_descriptor_to_widget_value):
3088         * dialog-x.c (x_make_dialog_box_internal):
3089         * dialog-x.c (console_type_create_dialog_x):
3090         Mule-ize entire file.
3091         Redo to support question dialog syntax.
3092         [6].
3093
3094         * dialog.c:
3095         * dialog.c (Fmake_dialog_box_internal):
3096         * dialog.c (syms_of_dialog):
3097         Kill old popup-dialog-box, replace with new primitive.
3098         Just call device method or signal error.
3099
3100         * eldap.c (Fldap_open):
3101         * eldap.c (Fldap_search_basic):
3102         * eldap.c (Fldap_add):
3103         * eldap.c (Fldap_modify):
3104         [1].
3105         [7].
3106
3107         * emacs.c:
3108         * emacs.c (make_arg_list_1):
3109         * emacs.c (make_arg_list):
3110         Mule-ize call to dll_init().
3111         [6].
3112         [8].
3113
3114         * emacs.c (make_argc_argv):
3115         * emacs.c (free_argc_argv):
3116         * emacs.c (init_cmdargs):
3117         * emacs.c (main_1):
3118         * emacs.c (Fkill_emacs):
3119         * emacs.c (Fdump_emacs):
3120         Update comments about what can be used in syms_* etc.
3121         Call init_win32() when necessary.
3122         Fix up MS Win dialog box in kill-buffer to actually work right.
3123         [7].
3124
3125         * eval.c:
3126         * eval.c (For):
3127         * eval.c (Fand):
3128         * eval.c (Fprogn):
3129         * eval.c (Fprog1):
3130         * eval.c (Fprog2):
3131         * eval.c (FletX):
3132         * eval.c (Flet):
3133         * eval.c (condition_case_3):
3134         * eval.c (Feval):
3135         * eval.c (function_argcount):
3136         * eval.c (funcall_lambda):
3137         [1].
3138
3139         * eval.c (type_error): New.
3140         * eval.c (maybe_type_error): New.
3141         * eval.c (continuable_type_error): New.
3142         * eval.c (maybe_continuable_type_error): New.
3143         * eval.c (type_error_with_frob): New.
3144         * eval.c (maybe_type_error_with_frob): New.
3145         * eval.c (continuable_type_error_with_frob): New.
3146         * eval.c (maybe_continuable_type_error_with_frob): New.
3147         New functions for use with structured errors.
3148
3149         * event-Xt.c:
3150         * event-Xt.c (x_event_to_emacs_event):
3151         Buttons are now modifiers too.
3152
3153         * event-Xt.c (emacs_Xt_current_event_timestamp):
3154         Implement new event method.
3155         * event-Xt.c (reinit_vars_of_event_Xt): Set it.
3156
3157         * event-msw.c:
3158         * event-msw.c (ntpipe_shove_writer): [5].
3159         * event-msw.c (mswindows_enqueue_mouse_button_event):
3160         * event-msw.c (mswindows_drain_windows_queue):
3161         * event-msw.c (mswindows_wnd_proc): [7].
3162         * event-msw.c (mswindows_current_layout_has_AltGr): [5].
3163         * event-msw.c (mswindows_modifier_state):
3164         Throughout: support new button modifiers.
3165
3166         * event-msw.c (emacs_mswindows_current_event_timestamp):
3167         Implement new event method.
3168         * event-msw.c (reinit_vars_of_event_mswindows): Set it.
3169
3170         * event-stream.c:
3171         * event-stream.c (event_stream_current_event_timestamp): New.
3172         * event-stream.c (maybe_kbd_translate): New functionality.
3173         * event-stream.c (vars_of_event_stream):
3174         Document new kbd-translate-table functionality.
3175
3176         * event-stream.c (Fcurrent_event_timestamp): New.
3177         New primitive for use in fabricated events.
3178         * event-stream.c (syms_of_event_stream): [2]. Declare new primitive.
3179
3180         * events-mod.h (XEMACS_MOD_BUTTON1): new button modifiers.
3181
3182         * events.c:
3183         * events.c (Fmake_event):
3184         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY):
3185         [1].
3186         [9].
3187
3188         * events.c (format_event_object): fix gcc warnings.
3189
3190         * events.c (Fevent_timestamp): Document new primitives.
3191
3192         * events.c (TIMESTAMP_HALFSPACE): New.
3193
3194         * events.c (Fevent_timestamp_lessp): New.  New primitive for
3195         comparing timestamps correctly (half-space algorithm).
3196
3197         * events.c (Fevent_modifier_bits): Doc fix.
3198
3199         * events.c (Fevent_modifiers): Major doc addition.
3200         * events.c (event_x_y_pixel_internal): Typo fix.
3201         * events.c (syms_of_events): Declare new primitives.
3202
3203         * events.h:
3204         Update long comment for button modifiers, timestamps.
3205
3206         * events.h (struct event_stream):
3207         New current_event_timestamp method.
3208
3209         * extents.c:
3210         * extents.c (extent_in_region_p):
3211         * extents.c (decode_extent):
3212         * extents.c (Fset_extent_parent):
3213         * extents.c (decode_map_extents_flags):
3214         Fix gcc warnings.
3215         [9].
3216
3217         * extents.c (struct extent_at_arg):
3218         * extents.c (decode_extent_at_flag):
3219         * extents.c (extent_at_mapper):
3220         * extents.c (extent_at_bytind):
3221         * extents.c (Fextent_at): Adapt to new lower-level interface. [9].
3222         * extents.c (Fextents_at): New primitive. [9].
3223         * extents.c (symbol_to_glyph_layout): [9].
3224         Support new primitive `extents-at'.
3225
3226
3227         * extents.c (get_text_property_bytind):
3228         extent_at_bytind has another arg.
3229         [9].
3230
3231         * extents.c (syms_of_extents): New primitive.
3232
3233         * file-coding.c (Fmake_coding_system): [1].
3234         * file-coding.c (subsidiary_coding_system): fix gcc warning
3235         * file-coding.c (syms_of_file_coding): [2].
3236
3237         * fileio.c (Fexpand_file_name):
3238         * fileio.c (Fsysnetunam):
3239         * fileio.c (Ffile_exists_p):
3240         * fileio.c (Ffile_executable_p):
3241         * fileio.c (Fverify_visited_file_modtime):
3242         Clean up GCPROing.
3243
3244         * fileio.c (syms_of_fileio): [2].
3245
3246         * filelock.c (lock_file_1):
3247         * filelock.c (current_lock_owner):
3248         * filelock.c (lock_if_free):
3249         * filelock.c (lock_file):
3250         * filelock.c (unlock_file):
3251         Clean up GCPROing.
3252
3253         * fns.c (concat): Fix gcc warning.
3254
3255         * fns.c (Fmember):
3256         * fns.c (Fold_member):
3257         * fns.c (Fmemq):
3258         * fns.c (Fold_memq):
3259         * fns.c (memq_no_quit):
3260         * fns.c (Fassoc):
3261         * fns.c (Fold_assoc):
3262         * fns.c (Fassq):
3263         * fns.c (Fold_assq):
3264         * fns.c (assq_no_quit):
3265         * fns.c (Frassoc):
3266         * fns.c (Fold_rassoc):
3267         * fns.c (Frassq):
3268         * fns.c (Fold_rassq):
3269         * fns.c (rassq_no_quit):
3270         * fns.c (Fdelete):
3271         * fns.c (Fold_delete):
3272         * fns.c (Fdelq):
3273         * fns.c (Fold_delq):
3274         * fns.c (delq_no_quit):
3275         * fns.c (Fremassoc):
3276         * fns.c (Fremassq):
3277         * fns.c (remassq_no_quit):
3278         * fns.c (Fremrassoc):
3279         * fns.c (Fremrassq):
3280         * fns.c (remrassq_no_quit):
3281         * fns.c (Freverse):
3282         * fns.c (mapcar1):
3283         [1].
3284
3285         * frame-msw.c (mswindows_init_frame_1):
3286         * frame-msw.c (mswindows_delete_frame):
3287         Register popups with dialog code so keyboard traversing works.
3288
3289         * frame-tty.c (tty_raise_frame_no_select): [1].
3290
3291         * frame-x.c:
3292         * frame-x.c (x_set_frame_text_value):
3293         * frame-x.c (x_set_frame_properties):
3294         * frame-x.c (x_create_widgets):
3295         [7].
3296
3297         * frame.c:
3298         * frame.c (Fmouse_pixel_position): Minor doc fixes.
3299
3300         * frame.h (wrap_frame): New.
3301         Macro like wrap_device.
3302
3303         * general.c:
3304         * general.c (SYMBOL):
3305         * general.c (syms_of_general):
3306         Major reorg.  This is now just a wrapper and symbols themselves
3307         are listed in general-slots.h.
3308
3309         * glyphs-eimage.c (tiff_instantiate): Need cast to fix warning.
3310         * glyphs-msw.c (mswindows_resource_instantiate): [5].
3311
3312         * glyphs-msw.c (mswindows_native_layout_instantiate):
3313         Add DS_CONTROL so keyboard traversal will work.
3314
3315         * glyphs-widget.c:
3316         * glyphs-widget.c (syms_of_glyphs_widget):
3317         Move some symbols to general-slots.h.
3318
3319         * glyphs-x.c:
3320         * glyphs-x.c (xbm_instantiate_1):
3321         * glyphs-x.c (x_xbm_instantiate):
3322         * glyphs-x.c (x_xface_instantiate):
3323         * glyphs-x.c (autodetect_instantiate):
3324         * glyphs-x.c (cursor_font_instantiate):
3325         * glyphs-x.c (x_update_widget):
3326         * glyphs-x.c (x_widget_instantiate):
3327         * glyphs.c (bitmap_to_lisp_data):
3328         * glyphs.c (pixmap_to_lisp_data):
3329         [7].
3330
3331         * glyphs.c (syms_of_glyphs):
3332         [2].
3333
3334         * gui-x.c:
3335         * gui-x.c (print_widget_value):
3336         * gui-x.c (menu_separator_style_and_to_external):
3337         * gui-x.c (add_accel_and_to_external):
3338         * gui-x.c (button_item_to_widget_value):
3339         * gui-x.c (gui_items_to_widget_values_1):
3340         * gui-x.c (gui_items_to_widget_values):
3341         * gui-x.c (syms_of_gui_x):
3342         * gui-x.c (vars_of_gui_x):
3343         Mule-ize entire file.  Move menu-no-selection-hook to gui.c.
3344         [9].
3345
3346         * gui-x.h:
3347         Muleize, prototype changes matching gui-x.c.
3348
3349         * gui.c:
3350         * gui.c (separator_string_p):
3351         * gui.c (gui_item_add_keyval_pair):
3352         * gui.c (make_gui_item_from_keywords_internal):
3353         * gui.c (signal_too_long_error):
3354         * gui.c (parse_gui_item_tree_item):
3355         * gui.c (syms_of_gui):
3356         * gui.c (vars_of_gui):
3357         * gui.h:
3358         menu-no-selection-hook moved here (used by MSWin).
3359         Move some symbols to general-slots.h.
3360         [6].
3361         [9].
3362
3363         * insdel.c (get_buffer_pos_char):
3364         * insdel.c (get_buffer_range_char):
3365         Add GC comments.
3366
3367         * keymap.c (keymap_lookup_directly):
3368         * keymap.c (keymap_store):
3369         * keymap.c (ensure_meta_prefix_char_keymapp):
3370         * keymap.c (describe_map):
3371         * keymap.h:
3372         Support new button modifiers.
3373
3374         * lisp-disunion.h (wrap_object):
3375         * lisp-disunion.h (XSETOBJ):
3376         Rename make_obj to wrap_object.
3377
3378         * lisp-union.h:
3379         * lisp-union.h (make_int):
3380         * lisp-union.h (make_char):
3381         Support wrap_object.
3382
3383         * lisp.h:
3384         * lisp.h (LIST_LOOP):
3385         * lisp.h (EXTERNAL_LIST_LOOP):
3386         * lisp.h (LIST_LOOP_2):
3387         * lisp.h (EXTERNAL_LIST_LOOP_1):
3388         * lisp.h (EXTERNAL_LIST_LOOP_2):
3389         * lisp.h (EXTERNAL_LIST_LOOP_3):
3390         * lisp.h (EXTERNAL_LIST_LOOP_4_NO_DECLARE):
3391         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
3392         * lisp.h (GET_EXTERNAL_LIST_LENGTH):
3393         * lisp.h (EXTERNAL_ALIST_LOOP_5):
3394         * lisp.h (EXTERNAL_ALIST_LOOP_6):
3395         * lisp.h (EXTERNAL_ALIST_LOOP_6_NO_DECLARE):
3396         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_5_NO_DECLARE):
3397         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_7):
3398         * lisp.h (struct Lisp_Symbol):
3399         * lisp.h (maybe_continuable_error_with_frob):
3400         Fix up section comments.
3401         Add new types for char to indicate usage.
3402         Delete symbols auto-generated from general-slots.h.
3403         Add prototypes for structured error functions.
3404         Add long comments describing looping macros and change interface
3405         so that lvalues are automatically declared.
3406         Add NO_DECLARE macro in case callers want to declare lvalues
3407         themselves.
3408
3409         * lread.c (read_syntax_error):
3410         * lread.c (continuable_read_syntax_error):
3411         * lread.c (read_structure):
3412         * lread.c (sequence_reader):
3413         * lread.c (read_list_conser):
3414         * lread.c (read_compiled_function):
3415         Rename syntax_error and continuable_syntax_error to avoid clash
3416         with same-named structured error functions.
3417
3418         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
3419         * menubar-msw.c (populate_menu_add_item):
3420         * menubar-msw.c (populate_or_checksum_helper):
3421         [5].
3422         [9].
3423
3424         * menubar-x.c:
3425         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
3426         Mule-ize whole file.
3427
3428         * menubar.c (Fnormalize_menu_item_name): Add optimization.
3429
3430         * mule-charset.c (Fmake_charset):
3431         * mule-wnnfns.c (Fwnn_set_param):
3432         [1].
3433
3434         * ntproc.c (create_child):
3435         * ntproc.c (Fwin32_set_current_locale):
3436         Add comments portending doom.
3437
3438         * objects-msw.c:
3439         * objects-msw.c (old_font_enum_callback_2):
3440         * objects-msw.c (font_enum_callback_1):
3441         * objects-msw.c (mswindows_enumerate_fonts):
3442         [5].
3443
3444         * objects-x.c:
3445         * objects-x.c (allocate_nearest_color):
3446         * objects-x.c (x_parse_nearest_color):
3447         * objects-x.c (x_initialize_color_instance):
3448         * objects-x.c (x_print_color_instance):
3449         * objects-x.c (x_finalize_color_instance):
3450         * objects-x.c (x_valid_color_name_p):
3451         * objects-x.c (x_initialize_font_instance):
3452         * objects-x.c (x_print_font_instance):
3453         * objects-x.c (valid_x_font_name_p):
3454         * objects-x.c (truename_via_FONT_prop):
3455         * objects-x.c (truename_via_random_props):
3456         * objects-x.c (truename_via_XListFonts):
3457         * objects-x.c (x_font_truename):
3458         * objects-x.c (x_font_instance_truename):
3459         * objects-x.c (x_font_instance_properties):
3460         * objects-x.c (x_list_fonts):
3461         * objects-x.c (x_find_charset_font):
3462         Mule-ize entire file.
3463         [7].
3464
3465         * objects-x.h:
3466         Mule-verify.
3467
3468         * print.c:
3469         * print.c (std_handle_out_external):
3470         * print.c (debug_print_no_newline):
3471         * print.c (syms_of_print):
3472         Output to all debugger kinds in debug-print.
3473         Fix console-output code under MSWin to actually work.
3474
3475         * process-nt.c (send_signal):
3476         * process-nt.c (nt_create_process):
3477         Use newer Unicode macros.
3478
3479         * process-unix.c (unix_create_process):
3480         * process-unix.c (unix_canonicalize_host_name):
3481         * process-unix.c (unix_open_network_stream):
3482         [7].
3483
3484         * scrollbar-x.c:
3485         Mule-verify.
3486
3487         * search.c (syms_of_search):
3488         [2].
3489
3490         * select-msw.c (mswindows_destroy_selection):
3491         Use LIST_LOOP_2.
3492
3493         * select-x.c (symbol_to_x_atom):
3494         [7].
3495
3496         * select.c (syms_of_select):
3497         [2].
3498
3499         * sound.c (Fplay_sound_file):
3500         [7].
3501
3502         * specifier.c:
3503         * specifier.c (decode_specifier_type):
3504         * specifier.c (Fvalid_specifier_locale_type_p):
3505         * specifier.c (check_valid_locale_or_locale_type):
3506         * specifier.c (decode_locale):
3507         * specifier.c (decode_locale_type):
3508         * specifier.c (decode_locale_list):
3509         * specifier.c (check_valid_domain):
3510         * specifier.c (decode_specifier_tag_set):
3511         * specifier.c (Fcanonicalize_tag_set):
3512         * specifier.c (Fdefine_specifier_tag):
3513         * specifier.c (Fspecifier_tag_predicate):
3514         * specifier.c (check_valid_inst_list):
3515         * specifier.c (check_valid_spec_list):
3516         * specifier.c (decode_how_to_add_specification):
3517         * specifier.c (check_modifiable_specifier):
3518         * specifier.c (specifier_add_spec):
3519         * specifier.c (boolean_validate):
3520         * specifier.c (display_table_validate):
3521         [9].
3522
3523         * specifier.c (syms_of_specifier):
3524         Move some symbols to general-slots.h.
3525         [2].
3526
3527         * symbols.c:
3528         * symbols.c (Fmapatoms):
3529         * symbols.c (Fapropos_internal):
3530         Add GCPROs.
3531
3532         * symbols.c (set_default_buffer_slot_variable):
3533         * symbols.c (set_default_console_slot_variable):
3534         [1].
3535
3536         * symbols.c (defsymbol_massage_name_1):
3537         * symbols.c (defkeyword_massage_name):
3538         * symbols.c (deferror_1):
3539         * symbols.c (deferror):
3540         * symbols.c (deferror_massage_name_and_message):
3541         * symeval.h:
3542         * symeval.h (DEFSYMBOL):
3543         Support DEFSYMBOL*, DEFKEYWORD, DEFERROR
3544
3545         * symbols.c (syms_of_symbols):
3546         [2].
3547
3548         * symsinit.h:
3549         * symsinit.h (init_win32): New.
3550         Also new is syms_of_dialog_mswindows.
3551
3552         * syswindows.h:
3553         Add new Unicode macros, missing Cygwin wide-char functions,
3554         convenience conversion macros for Qmswindows_tstr, macros for
3555         encapsulating required MSWin <-> Cygwin filename conversions,
3556         prototype for dynamically-extracted (not in NT 3.51) functions.
3557
3558         * toolbar-x.c:
3559         Mule-verify.
3560
3561         * tooltalk.c (Fadd_tooltalk_message_arg):
3562         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
3563         * tooltalk.c (Fadd_tooltalk_pattern_arg):
3564         [7].
3565
3566         * tooltalk.c (syms_of_tooltalk):
3567         [2].
3568
3569         * unexnt.c:
3570         * unexnt.c (unexec):
3571         Fix up headers, declaration of unexec() to be more standard.
3572
3573 2000-07-20  Martin Buchholz  <martin@xemacs.org>
3574
3575         * offix.h: Revert change to guard macros - they're used in offix.c!
3576
3577 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
3578
3579         * lisp.h: Defsubred Fdelete.
3580
3581         * console-msw.h:  (msprinter_default_printer): Added.
3582
3583         * console-msw.c (msprinter_canonicalize_console_connection):
3584         (msprinter_canonicalize_device_connection): Added.
3585
3586         * device-msw.c (msprinter_default_printer):
3587         (Fmswingows_get_default_printer):
3588         (signal_enum_priner_error):
3589         (Fmswingows_printer_list): Added.
3590
3591 2000-07-19  Martin Buchholz <martin@xemacs.org>
3592
3593         * XEmacs 21.2.35 is released.
3594
3595 2000-07-19  Martin Buchholz  <martin@xemacs.org>
3596
3597         * select-x.c (x_handle_selection_request):
3598         Text selected in xemacs and pasted into xterm failed to appear.
3599         Spelling fixes and cosmetic changes.
3600
3601 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
3602
3603         * event-msw.c (mswindows_drain_windows_queue): Correctly check for
3604         XEmacs frame (fix for doubling chars in dialog boxes).
3605
3606 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
3607
3608         * select.c (select_convert_in, select_convert_out):
3609         Don't call intern() every time.
3610
3611         * select.c (Qselect_convert_in, Qselect_convert_out): New.
3612         * select.c (vars_of_select): Initialise them.
3613
3614 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
3615
3616         * select.c (selection-coercible-types): New.
3617
3618         * select.c (own-selection-internal):
3619         * select.c (get-selection-internal):
3620         MULE bug fix - these should default to COMPOUND_TEXT and not
3621         STRING for MULE. I think.
3622
3623         * select.c (select_convert_out): Use selection-coercible-types
3624         to find types that we can attempt to perform coercions on.
3625
3626 2000-07-18  Martin Buchholz  <martin@xemacs.org>
3627
3628         * mule-wnnfns.c:
3629         * mule-canna.c:
3630         Add coding: cookie to identify encoding.
3631
3632         * mule-canna.c (CANNA_mode_keys): make static.
3633         Use proper prototypes, even for functions of no arguments.
3634         Remove external prototype for Fding().
3635
3636         * symsinit.h: Add missing prototype for reinit_vars_of_mule_wnn.
3637
3638         * select.c (syms_of_select): Add missing DEFSUBR.
3639
3640 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
3641
3642         * select.c (get_selection_internal, own_selection_internal):
3643         Make the type default to STRING, rather than placing a nil type
3644         into Vselection_alist.
3645
3646 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
3647
3648         * gpmevent.c (tty_selection_exists_p):
3649         * gpmevent.c (tty_own_selection):
3650         Updated parameter lists.
3651
3652 2000-07-15 Alastair J. Houghton <ajhoughton@lineone.net>
3653
3654         * select.h (selection-alist): Removed declaration.
3655
3656         * select.h (get_local_selection):
3657         * select.c (get_local_selection):
3658         Made static.
3659
3660         * select.h (convert_selection): Removed declaration.
3661         * select.c (convert_selection): Removed.
3662         This function belongs in Lisp.
3663
3664         * select.h (select_convert_in): Declare.
3665         * select.h (select_convert_out): Declare.
3666         * select.c (select_convert_in): New.
3667         * select.c (select_convert_out): New.
3668         New conversion functions for other files to call.
3669
3670         * select.h (select_notify_buffer_kill): Declare.
3671         * select.c (select_notify_buffer_kill): New.
3672         New functions that get called from kill-buffer.
3673
3674         * buffer.c (kill-buffer): Call select_notify_buffer_kill, rather than
3675         X-specific lisp code.
3676
3677         * select.h: Declare some of the lisp-visible functions for
3678         external use.
3679
3680         * select.c (clean_local_selection_data): Removed. This was
3681         a disgusting function, and previously should have been in
3682         select-x.c in any case. The functionality is now provided
3683         in select-convert-from-integer (select.el).
3684
3685         * select.c (available-selection-types): Fixed stupidity where
3686         INTEGER and ATOM got added twice. Also add STRING when we see an
3687         extent.
3688
3689         * select.c (get-selection-internal): Removed symbol stripping. No
3690         longer causes conversion when data comes from the internal cache.
3691
3692         * select.c (syms_of_select): Added new functions.
3693
3694         * select-x.c (motif_clipboard_cb): Use select_convert_out. Rewrote
3695         error checking - previously this called abort!
3696
3697         * select-x.c (x_own_selection): Changed comment.
3698
3699         * select-x.c (x_handle_selection_request): Use select_convert_out.
3700         Don't mess with selection-alist; it's an internal variable of select.c.
3701
3702         * select-x.c (x_get_foreign_selection): Use select_convert_in.
3703
3704         * select-x.c (x_handle_selection_clear): Use get-selection-timestamp,
3705         rather than messing with selection-alist.
3706
3707         * select-msw.c (mswindows_get_foreign_selection):
3708         Use TO_INTERNAL_FORMAT rather than hacking.
3709
3710 2000-07-14  Martin Buchholz  <martin@xemacs.org>
3711
3712         * process-unix.c (unix_open_multicast_group):
3713         (unix_open_multicast_group): Remove useless casts.
3714
3715 2000-07-13  Martin Buchholz  <martin@xemacs.org>
3716
3717         * sound.c (Fplay_sound): Fix `unused variable' warning.
3718
3719         * emacs.c (main): Use correct type for _environ on SCO5.
3720
3721 2000-07-12 Alastair J. Houghton <ajhoughton@lineone.net>
3722
3723         * console.h (own_selection_method):
3724         * console.h (selection_exists_p_method):
3725         * console.h (available_selection_types_method): New.
3726         * console.h (register_selection_data_type_method): New.
3727         * console.h (selection_data_type_name): New.
3728
3729         * console-msw.h (mswindows_destroy_selection): Declare it.  New
3730         function & alist to track GlobalAlloc()'d handles that need
3731         releasing when the clipboard data gets replaced or emptied.
3732
3733         * event-msw.c (mswindows_wnd_proc): Call it.
3734
3735         * lisp.h, general.c (Qappend): New symbol representing a
3736         `how-to-add' mode.
3737
3738         * select.c (own-selection-internal):
3739         * select.c (selection-exists-p):
3740         * select.c (available-selection-types): New.
3741         * select.c (register-selection-data-type): New.
3742         * select.c (selection-data-type-name): New.  New functions to deal
3743         with device-specific selection data formats.
3744         * select.c (selection-converter-out-alist): Renamed.
3745         * select.c (selection-converter-in-alist): New.
3746         * select.c (selection-appender-alist): New.  Added new alists.
3747         * select.c (syms_of_select, vars_of_select): Added new symbols &
3748         variables.
3749         * select.c (get_local_selection): Split.
3750         * select.c: Removed spurious type checking - selections may now be
3751         of any type, not just strings.
3752         * select.c (own-selection-internal):
3753
3754         * select.h, select.c (convert_selection): New. Created
3755         convert_selection() function based on get_local_selection().
3756         * select.h, select.c (QCF_*): New symbols representing mswindows
3757         clipboard formats.
3758         * select.h, select.c (Qreplace_all, Qreplace_existing): New
3759         symbols representing `how-to-add' modes.
3760
3761         * select-msw.c (x_sym_p): New.
3762         * select-msw.c (symbol_to_ms_cf): New.
3763         * select-msw.c (ms_cf_to_symbol): New. New functions to deal with
3764         symbols & clipboard formats. Can also handle string names.
3765         * select-msw.c (mswindows_own_selection):
3766         * select-msw.c (mswindows_selection_exists_p):
3767         Added `data-type' parameter. Use it.
3768         * select-msw.c (mswindows_available_selection_types): New.
3769         * select-msw.c (mswindows_register_selection_data_type): New.
3770         * select-msw.c (mswindows_selection_data_type_name): New.
3771         * select-msw.c (mswindows_own_selection):
3772         * select-msw.c (mswindows_get_foreign_selection):
3773         * select-msw.c (mswindows_selection_exists_p):  Rewrote.
3774         * select-msw.c (console_create_select_mswindows): Added new methods.
3775         * select-msw.c (mswindows_destroy_selection): New.
3776         * select-msw.c (Vhandle_alist): New list.
3777         * select-msw.c (mswindows_own_selection):
3778
3779         * select-x.c (x_own_selection):
3780         * select-x.c (x_selection_exists_p):
3781         * select-x.c: Added some comments about maybe using new
3782         functionality.
3783         * select-x.c (x_own_selection):
3784
3785         * specifier.c: Remove definition of Qappend (now in general.c)
3786         * specifier.c (syms_of_specifier): Remove Qappend.
3787
3788 2000-07-12  Martin Buchholz  <martin@xemacs.org>
3789
3790         * config.h.in: Add socklen_t.
3791
3792         * s/decosf4-0.h: No special compiler flags needed or desired.
3793         In particular, undefine _BSD for DEC OSF 4.0.
3794
3795 2000-07-07  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
3796
3797         * redisplay-msw.c (msprinter_frame_output_end): Added.
3798         (console_type_create_redisplay_mswindows): Referred the above.
3799
3800         * frame.c (setup_frame_without_minibuffer): Do not create a
3801         default minibuffer frame on a printer device.
3802
3803         * frame-msw.c (apply_dc_geometry): Added.
3804         (msprinter_start_page):
3805         (msprinter_init_frame_3):
3806         (msprinter_eject_page): Use it.
3807
3808         * console-msw.h (struct msprinter_frame): Added pix_left and top,
3809         and removed residual duplex and orientation properties.
3810
3811 2000-07-11  Martin Buchholz  <martin@xemacs.org>
3812
3813         * eval.c (function_argcount): Work around a DEC CC compiler bug.
3814
3815         * unexalpha.c: Remove system prototypes from C sources!
3816
3817 2000-07-09  Adrian Aichner  <aichner@ecf.teradyne.com>
3818
3819         * eval.c: Remove references to M-x edit-options in DEFUNs for
3820         `defvar' and `defconst'.
3821
3822 2000-07-09  Martin Buchholz  <martin@xemacs.org>
3823
3824         * config.h.in: Remove SMART_INCLUDE hackery.
3825
3826         PostgreSQL hacking:
3827         * config.h.in: Don't use SMART_INCLUDE.
3828
3829         * postgresql.h: Include libpq-fe.h here.  Fix typo.
3830         * inline.c: Simply #include "postgresql.h"
3831         * postgresql.c:
3832         - Don't use SMART_INCLUDE
3833         - Use simply "const".
3834         - Use standard doc string conventions.
3835         - Use correct type for result of PQstatus.
3836
3837 2000-07-09  Martin Buchholz  <martin@xemacs.org>
3838
3839         * glyphs-x.c (x_xface_instantiate): Fix C++ compilation warnings.
3840
3841         C++ compilation changes.
3842         * config.h.in (EXTERN_C): Define.
3843         * config.h.in (not): This is also a C++ keyword.
3844         * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Enable C++ compilation.
3845         * cm.c: Use EXTERN_C.
3846         * redisplay-tty.c: Use EXTERN_C.
3847         * sysdep.c: Use EXTERN_C.  Remove Gould support.
3848
3849 2000-07-09  Martin Buchholz  <martin@xemacs.org>
3850
3851         * general.c: Remove duplicate definition for Qfunction.
3852
3853 2000-07-08  Ben Wing  <ben@xemacs.org>
3854
3855         * device-msw.c (msprinter_init_device):
3856         * device-msw.c (sync_printer_with_devmode):
3857         * device-msw.c (handle_devmode_changes):
3858         * device-msw.c (print_dialog_worker):
3859         * device-msw.c (Fmsprinter_apply_settings):
3860         * device-msw.c (hash_devmode):
3861         * device-msw.c (Fmsprinter_settings_despecialize):
3862         use Qmswindows_tstr, not Qctext.
3863
3864         * vm-limit.c (check_memory_limits):
3865         avoid infinite loop printing warning messages.
3866
3867 2000-07-05  Craig Lanning  <lanning@scra.org>
3868
3869         * Makefile.in.in: Add support for including the Windows resources
3870         when building with the cygwin and mingw targets.
3871
3872         * buffer.c: from Dan Holmsand, on Windows $PWD is most likely either
3873         not set or not correct.
3874         (directory_is_current_directory): Don't compile for WIN32_NATIVE.
3875         (init_initial_directory): Don't try to use $PWD on the
3876         WIN32_NATIVE target.
3877
3878         * s\cygwin32.h:
3879         [[Add -mwindows to eliminate console window.]] not required --ben
3880         (HAVE_NATIVE_SOUND): removed; now handled by configure.
3881         (MAIL_USE_POP): removed; now handled by configure.
3882
3883         * s\mingw32.h: [[Add -mwindows to eliminate console window.]] not in
3884         C_SWITCH_SYSTEM or it will affect lib-src progs. --ben
3885         (HAVE_NATIVE_SOUND): removed; now handled by configure.
3886         (MAIL_USE_POP): removed; now handled by configure.
3887         (ENCAPSULATE_STAT): from Dan Holmsand, added.
3888         (ENCAPSULATE_FSTAT): from Dan Holmsand, added.
3889         (DIRECTORY_SEP): from Dan Holmsand, use lisp variable instead of
3890         constant string.
3891         (HAVE_TIMEVAL): from Dan Holmsand, added; struct timeval is picked
3892         up from <winsock.h> via systime.h.
3893         (HAVE_GETPAGESIZE): from Dan Holmsand, added.
3894         (getpagesize): from Dan Holmsand, added.
3895         Added #endif which was left dangling by Ben's mega patch; added
3896         comment to help prevent this in the future.
3897
3898         * sysdll.c: added #include <windows.h> for WIN32_NATIVE case.
3899
3900 2000-07-05  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
3901
3902         * console-msw.h (struct mswindows_device): Removed unnecessary
3903         cached device geometry values.
3904         Added update_tick and an accessor macro.
3905         (Lisp_Devmode): Added lrecord declaration.
3906         (struct msprinter_device): Contain devmode as a Lisp object.
3907         Added mswindows_get_selected_frame_hwnd();
3908
3909         * console.h (struct console_methods): Indentation nitpicking.
3910
3911         * device-msw.c (mswindows_init_device): Do not initialize geometry
3912         cache. Initialize update tick.
3913         (mswindows_device_system_metrics): Ask the device for its geometry.
3914         (global_free_2_maybe):
3915         (devmode_to_hglobal):
3916         (handle_printer_changes):
3917         (ensure_not_printing):
3918         (print_dialog_worker):
3919         (Fmsprinter_print_setup_dialog):
3920         (Fmsprinter_print_dialog):
3921         (plist_get_margin):
3922         (plist_set_margin):
3923         (Fmsprinter_page_setup_dialog): Added functions.
3924         (sync_printer_with_devmode):
3925         (handle_devmode_changes):
3926         (Fmsprinter_get_settings):
3927         (Fmsprinter_select_settings):
3928         (Fmsprinter_apply_settings):
3929         (allocate_devmode):
3930         (Fmsprinter_settings_copy):
3931         (Fmsprinter_settings_despecialize):
3932         (print_devmode):
3933         (finalize_devmode):
3934         (equal_devmode):
3935         (hash_devmode): Added functions
3936         (syms_of_device_mswindows): Init devmode lrecord class.
3937
3938         * device.h: Added an exfun for find-device.
3939
3940         * event-msw.c (mswindows_wnd_proc): Do not update the cached
3941         geometry; although, recreate the device compatible DC.
3942
3943         * frame-msw.c (mswindows_get_selected_frame_hwnd): Added.
3944         (msprinter_init_frame_3):
3945         (msprinter_frame_property):
3946         (msprinter_internal_frame_property_p):
3947         (msprinter_frame_properties):
3948         (msprinter_set_frame_properties): Removed 'orientation and 'duplex
3949         print job properties (will move to device settings).
3950
3951         * lisp.h: Added symbols.
3952
3953         * general.c (syms_of_general): Declared them.
3954
3955         * hash.c (string_hash): Added.
3956
3957         * lrecord.h (lrecord_type): Added devmode lrecord type.
3958
3959 2000-07-02  Mike Sperber <mike@xemacs.org>
3960
3961         * s/freebsd.h (INTERRUPTIBLE_OPEN): open *is* interruptible on
3962         FreeBSD 4.0.
3963
3964 2000-06-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
3965
3966         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
3967         integer.
3968
3969 2000-06-07  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3970
3971         * data.c (Fstring_to_number): Don't recognize floating point if
3972         base is not 10.
3973
3974 2000-06-22  Martin Buchholz  <martin@xemacs.org>
3975
3976         * glyphs-widget.c (tab_control_query_geometry):
3977         (widget_query_geometry):
3978         (button_query_geometry):
3979         * glyphs.c (text_query_geometry):
3980         Enforce type correctness.
3981
3982 2000-06-18  Martin Buchholz  <martin@xemacs.org>
3983
3984         * s/decosf4-0.h (_etext): Use portable _etext instead of etext.
3985         * s/decosf4-0.h (_edata): Use portable _edata instead of edata.
3986
3987 2000-06-17  Martin Buchholz  <martin@xemacs.org>
3988
3989         * s/decosf4-0.h: Never #include "/usr/include/FOO.h" because this
3990         conflicts with gcc's fixincluded version of FOO.h.
3991
3992         * glyphs.h (image_instance_geometry): Remove trailing `,'
3993
3994 2000-06-08  Mike Alexander  <mta@arbortext.com>
3995
3996         (MAX_SHOVE_BUFFER_SIZE): Change to 512 to match stream buffer size
3997         (shove_thread): Don't write the same output twice
3998         (make_ntpipe_output_stream): Increase priority of shove thread
3999         (ntpipe_shove_writer): Call SwitchToThread to give shove thread a
4000         chance to run
4001         (ntpipe_shove_closer): Don't delete the pipe until we're done with
4002         it.
4003
4004 2000-06-12  Ben Wing  <ben@xemacs.org>
4005
4006         * s\mingw32.h (sigset):
4007         * s\windowsnt.h (sigset):
4008         rename msw_ to mswindows_ for consistency with general convention.
4009
4010 2000-06-12  Ben Wing  <ben@xemacs.org>
4011
4012         * console-msw.c:
4013         * console-msw.c (mswindows_get_console_hwnd):
4014         * console-msw.c (mswindows_ensure_console_allocated):
4015         * console-msw.c (mswindows_hide_console):
4016         * console-msw.c (mswindows_show_console):
4017         * console-msw.c (mswindows_ensure_console_buffered):
4018         * console-msw.c (mswindows_output_console_string):
4019         * console-msw.c (mswindows_windows9x_p):
4020         * console-msw.h:
4021         * device-msw.c (mswindows_get_workspace_coords):
4022         * device-msw.c (mswindows_device_system_metrics):
4023         * dialog-msw.c (mswindows_popup_dialog_box):
4024         * event-msw.c (mswindows_wnd_proc):
4025         * frame-msw.c (mswindows_size_frame_internal):
4026         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
4027         * menubar-msw.c (displayable_menu_item):
4028         * menubar-msw.c (mswindows_char_is_accelerator):
4029         * nt.c:
4030         * nt.c (mswindows_sigset):
4031         * nt.c (mswindows_sigrelse):
4032         * nt.c (mswindows_sigpause):
4033         * nt.c (mswindows_raise):
4034         * nt.c (timer_proc):
4035         * ntproc.c:
4036         * ntproc.c (find_child_console):
4037         * ntproc.c (sys_kill):
4038         * print.c:
4039         * print.c (std_handle_out_external):
4040         * process-nt.c (find_child_console):
4041         * process-nt.c (send_signal_the_95_way):
4042         * process-nt.c (ensure_console_window_exists):
4043         * process-nt.c (nt_create_process):
4044         * syssignal.h:
4045         rename msw_ to mswindows_ for consistency with general convention.
4046
4047         * emacs.c:
4048         * dumper.c:
4049         include nt.h, not syswindows.h.
4050
4051         * nt.c (mswindows_fstat):
4052         * nt.c (mswindows_stat):
4053         prefix mswindows_ instead of attempting to directly override the
4054         library functions.  fix declarations.
4055
4056         * nt.h:
4057         include syswindows.h.  move some sysdep.h stuff here.
4058
4059         * ntheap.h:
4060         include syswindows.h, not <windows.h>.
4061
4062         * ntplay.c:
4063         clean up headers.
4064
4065         * sysdep.c:
4066         clean up headers.
4067
4068         * sysdep.c (sys_fstat):
4069         * sysdep.c (sys_stat):
4070         call mswindows versions when appropriate.
4071
4072         * sysdep.h:
4073         move mswin decls to nt.h.
4074
4075         * syswindows.h:
4076         add long comment describing appropriate use of the various windows
4077         headers.
4078
4079 2000-06-11  Ben Wing  <ben@xemacs.org>
4080
4081         * device-x.c: Correct doc string for sixth arg of x-get-resource.
4082
4083 2000-06-10  Ben Wing  <ben@xemacs.org>
4084
4085         * Makefile.in.in (release):
4086         Correction to make sure xemacs.exe always dumped when correct.
4087
4088         * alloca.c:
4089         * balloon_help.c:
4090         [[[[3]]]]: Conditionalize on actual problem, not WINDOWSNT.
4091
4092         * buffer.c (set_buffer_internal):
4093         [[[[2]]]]: Remove HAVE_FEP code.
4094
4095         * buffer.c (init_initial_directory):
4096         [3].
4097
4098         * bytecode.c:
4099         [[[[4]]]]: limits.h standardly included in lisp.h; remove from
4100         individual files.
4101
4102         * callproc.c:
4103         * callproc.c (call_process_cleanup):
4104         * callproc.c (Fold_call_process_internal):
4105         * callproc.c (child_setup):
4106         * callproc.c (getenv_internal):
4107         * callproc.c (init_callproc):
4108         * callproc.c (vars_of_callproc):
4109         [[[[1]]]]: WINDOWSNT -> WIN32_NATIVE.
4110         __CYGWIN32__ -> CYGWIN.
4111         DOS_NT -> WIN32_NATIVE.
4112         Remove MSDOS support/references, converting to WIN32_NATIVE
4113           where correct.
4114         __MINGW32__ -> MINGW.
4115         Fix windows.h includes.
4116         Remove bogus HAVE_NTGUI.
4117
4118         * config.h.in:
4119         [2].
4120
4121         * console-msw.c:
4122         mswindows_message_outputted added for use in allowing startup
4123         errors on the console to be seen.
4124
4125         * console-msw.c (msw_ensure_console_allocated):
4126         * console-msw.c (msw_output_console_string):
4127         * console-msw.c (DHEADER):
4128         * console-msw.c (DOPAQUE_DATA):
4129         * console-msw.c (DEVENT):
4130         * console-msw.c (DCONS):
4131         * console-msw.c (DCONSCDR):
4132         * console-msw.c (DSTRING):
4133         * console-msw.c (DVECTOR):
4134         * console-msw.c (DSYMBOL):
4135         * console-msw.c (DSYMNAME):
4136         Fix warnings.
4137
4138         * console-stream.c (stream_init_console):
4139         Fix text/binary problems.
4140
4141         * device-msw.c:
4142         * device-msw.c (mswindows_finish_init_device):
4143         * device-msw.c (mswindows_delete_device):
4144         [1].
4145
4146         * device.c (handle_asynch_device_change):
4147         [3].
4148
4149         * dgif_lib.c:
4150         * dgif_lib.c (DGifOpenFileName):
4151         * dgif_lib.c (DGifOpenFileHandle):
4152         * dgif_lib.c (DGifGetLine):
4153         * dgif_lib.c (DGifGetPixel):
4154         Added config.h/lisp.h, fix up includes.
4155         [1].
4156
4157         * dired-msw.c:
4158         [4].
4159
4160         * dired.c:
4161         * dired.c (file_name_completion):
4162         * dired.c (Ffile_attributes):
4163         * dired.c (syms_of_dired):
4164         [1].
4165
4166         * dumper.c:
4167         * dumper.c (pdump_file_unmap):
4168         * dumper.c (pdump_load):
4169         [1].
4170
4171         * editfns.c:
4172         * editfns.c (Ftemp_directory):
4173         * editfns.c (user_login_name):
4174         * editfns.c (Fuser_real_login_name):
4175         * editfns.c (get_home_directory):
4176         [1].
4177
4178         * elhash.c (finish_marking_weak_hash_tables):
4179         [[[[5]]]]: Fix GCC warnings.
4180
4181         * emacs.c:
4182         * emacs.c (mswindows_handle_hardware_exceptions):
4183         * emacs.c (make_arg_list_1):
4184         * emacs.c (main_1):
4185         * emacs.c (Fkill_emacs):
4186         * emacs.c (Fdump_emacs):
4187         [1].
4188         Fix problems with nested crashes, add long comment.
4189
4190         * event-Xt.c (init_event_Xt_late):
4191         [1].
4192
4193         * event-msw.c:
4194         * event-msw.c (mswindows_dde_callback):
4195         * event-msw.c (mswindows_handle_sticky_modifiers):
4196         * event-msw.c (mswindows_wnd_proc):
4197         [1].
4198         [5].
4199
4200         * events.c (character_to_event):
4201         [1].
4202
4203         * fileio.c:
4204         * fileio.c (Ffile_name_directory):
4205         * fileio.c (Ffile_name_nondirectory):
4206         * fileio.c (directory_file_name):
4207         * fileio.c (Fexpand_file_name):
4208         * fileio.c (Fsubstitute_in_file_name):
4209         * fileio.c (Ffile_name_absolute_p):
4210         * fileio.c (check_executable):
4211         * fileio.c (Ffile_readable_p):
4212         * fileio.c (Ffile_accessible_directory_p):
4213         * fileio.c (Ffile_modes):
4214         * fileio.c (Funix_sync):
4215         * fileio.c (vars_of_fileio):
4216         [1]. [4].
4217
4218         [[[[7]]]]: Move CORRECT_DIR_SEPS to s\windowsnt.h.
4219
4220         Expand getdefdir defn.
4221         Fix bogus rename() comment.
4222
4223         [[[[6]]]]: Fix Windows includes w.r.t. removed nt\inc.  Attempt
4224         to use standard XEmacs include files, e.g. sysfile.h, rather
4225         than system-specific includes.
4226
4227         * fns.c:
4228         * fns.c (Fsubseq):
4229         [5]. [6].
4230
4231         * frame.c (vars_of_frame):
4232         [1].
4233
4234         * getloadavg.c:
4235         * getloadavg.c (getloadavg):
4236         [1]. [6].
4237         #ifdef XEMACS not defined on Cygwin.  Remove this; no need for it.
4238         (We don't use it elsewhere in the code; just add a comment.)
4239
4240         * gif_io.c:
4241         [6].
4242         Add config.h.
4243
4244         * glyphs-msw.c:
4245         * glyphs-msw.c (mswindows_resource_instantiate):
4246         [1].
4247
4248         * glyphs-x.c (x_native_layout_instantiate):
4249         [5].
4250
4251         * gui-msw.c (Fmswindows_shell_execute):
4252         [1].
4253
4254         * insdel.c:
4255         [4].
4256
4257         * lisp.h:
4258         [4]. [5].
4259
4260         * lread.c (locate_file_in_directory_mapper):
4261         [1].
4262
4263         * lstream.c:
4264         [4].
4265
4266         * mem-limits.h:
4267         * mem-limits.h (get_lim_data):
4268         [1].
4269
4270         * menubar-msw.c:
4271         [4].
4272
4273         * ndir.h:
4274         [1].
4275
4276         * nt.c:
4277         * nt.c (getwd):
4278         * nt.c (closedir):
4279         * nt.c (rva_to_section):
4280         * nt.c (mswindows_executable_type):
4281         [1]. [6].
4282         Fix closedir() defn.
4283
4284         * nt.h:
4285         [[[[8]]]]: *_OK defs moved to sysfile.h.
4286
4287         * ntproc.c:
4288         [6]. [7].
4289
4290         * objects-x.c:
4291         [4].
4292
4293         * print.c:
4294         * print.c (std_handle_out_external):
4295         [1]. [4].
4296
4297         * process-nt.c:
4298         * process-nt.c (nt_create_process):
4299         [6].
4300         try to fix process quoting somewhat.
4301
4302         * process-unix.c (unix_create_process):
4303         [1].
4304
4305         * process.c:
4306         * process.c (vars_of_process):
4307         Add Vnull_device.
4308
4309         * process.h:
4310         [1].
4311
4312         * realpath.c:
4313         * realpath.c (xrealpath):
4314         [1].
4315
4316         * redisplay-tty.c (init_tty_for_redisplay):
4317         [3].
4318
4319         * redisplay.c:
4320         [4]. [6].
4321
4322         * scrollbar-msw.c:
4323         [4].
4324
4325         * sheap.c:
4326         * sheap.c (more_static_core):
4327         * sheap.c (report_sheap_usage):
4328         [5]. [6].
4329
4330         * signal.c:
4331         * signal.c (alarm_signal):
4332         [1]. [6].
4333
4334         * sound.c:
4335         [6].
4336
4337         * strftime.c:
4338         * strftime.c (zone_name):
4339         [1]. [5].
4340
4341         * symsinit.h (init_sunpro):
4342         [1].
4343
4344         * syscommctrl.h:
4345         commctrl.h not in Cygwin b20.1.
4346
4347         * sysdep.c:
4348         * sysdep.c (endif):
4349         * sysdep.c (sys_subshell):
4350         * sysdep.c (init_baud_rate):
4351         * sysdep.c (emacs_get_tty):
4352         * sysdep.c (emacs_set_tty):
4353         * sysdep.c (tty_init_sys_modes_on_device):
4354         * sysdep.c (init_system_name):
4355         * sysdep.c (sys_open):
4356         * sysdep.c (interruptible_open):
4357         * sysdep.c (sys_fopen):
4358         * sysdep.c (sys_mkdir):
4359         * sysdep.c (sys_rename):
4360         * sysdep.c (get_process_times_1):
4361         [1]. [6].
4362
4363         * sysdep.h:
4364         [1].
4365
4366         * sysdir.h:
4367         * sysdir.h (DIRENTRY_NONEMPTY):
4368         [1]. [6].
4369
4370         * sysdll.c (dll_init):
4371         * sysdll.h:
4372         [1].
4373
4374         * sysfile.h:
4375         [1]. [6]. [8].
4376         added text/binary defs.
4377
4378         * sysfloat.h:
4379         [1].
4380
4381         * sysproc.h:
4382         * sysproc.h (EDESTADDRREQ):
4383         * sysproc.h (poll_fds_for_input):
4384         [1]. [6].
4385
4386         * syspwd.h:
4387         [6].
4388
4389         * syssignal.h:
4390         [1].
4391
4392         * systime.h:
4393         [1]. [6].
4394
4395         * systty.h:
4396         [1].
4397
4398         * syswindows.h:
4399         [1].
4400         Always define WIN32_LEAN_AND_MEAN.
4401
4402         * unexcw.c (unexec):
4403         [5].
4404
4405         * unexec.c:
4406         * unexec.c (copy_text_and_data):
4407         * unexec.c (adjust_lnnoptrs):
4408         [1].
4409
4410         * unexnt.c:
4411         * unexnt.c (_start):
4412         [1].
4413
4414 2000-06-07  Ben Wing  <ben@xemacs.org>
4415
4416         * mule-mcpath.c, mule-mcpath.h: Removed.  Old, crufty code that
4417         was used only as a model.  We've long since extracted any useful
4418         logic or code out of this. (I just did an exhaustive search.)
4419
4420         * s\msdos.h: Removed.
4421
4422         * s\windows95.h: Removed.
4423
4424 2000-06-10  Ben Wing  <ben@xemacs.org>
4425
4426         * s\cygwin32.h:
4427         [1]. [5].
4428         Don't use extern with fun defs.
4429
4430         * s\mingw32.h:
4431         [1]. [7].
4432         Remove nt\inc include.
4433         Remove getdisk, getdefdir. (The former is unused, the latter
4434         expanded in fileio.h.)
4435
4436         * s\windowsnt.h:
4437         * s\windowsnt.h (WIN32_NATIVE):
4438         * s\windowsnt.h (HAVE_STRCASECMP):
4439         [1]. [7].
4440         Add long comment about preprocessor changes.
4441         Remove getdisk, getdefdir. (The former is unused, the latter
4442         expanded in fileio.h.)
4443
4444 2000-06-10  Ben Wing  <ben@xemacs.org>
4445
4446         * m\arm.h:
4447         * m\delta.h:
4448         * m\intel386.h:
4449         * m\sequent.h:
4450         * m\template.h:
4451         * m\windowsnt.h:
4452         [1].
4453         Remove bogus/unused NO_SOCK_SIGIO.
4454
4455 2000-06-08  Hrvoje Niksic  <hniksic@iskon.hr>
4456
4457         * lisp.h (set_string_char): Call set_string_byte with a Bufbyte,
4458         not an Emchar.
4459
4460 2000-06-04  Mike Sperber <mike@xemacs.org>
4461
4462         * casetab.c (set_case_table): For `set-standard-case-table',
4463         actually deposit the new case tables where the rest of XEmacs can
4464         see them.
4465
4466 2000-06-05  Yoshiki Hayashi <yoshiki@xemacs.org>
4467
4468         * data.c (Faset): Don't cast XCHAR() to unsigned char.
4469
4470 2000-06-05  Ben Wing  <ben@xemacs.org>
4471
4472         * callproc.c (child_setup): Don't do close_load_descs() under
4473         MS Windows.  Put in a comment explaining why.
4474
4475 2000-05-28  Adrian Aichner  <aichner@ecf.teradyne.com>
4476
4477         * process-nt.c: Reverting patch "Fixing nt_create_process for MKS
4478         Toolkit shell" which breaks `kill-compilation' on Windows NT
4479         native, retaining STDERR handling improvements.
4480
4481 2000-06-01  Andreas Jaeger  <aj@suse.de>
4482
4483         * s/s390.h: Support for S390, based on a patch by Martin
4484         Schwidefsky <schwidefsky@de.ibm.com>.
4485
4486 2000-05-30  Andy Piper  <andy@xemacs.org>
4487
4488         * window.c (allocate_window):
4489         (make_dummy_parent):
4490         (Fset_window_configuration): use new hashtable type.
4491
4492         * glyphs.h (IMAGE_UNSPECIFIED_GEOMETRY):
4493         (struct image_instantiator_methods):
4494         (struct Lisp_Image_Instance): make instance geometry signed.
4495
4496         * glyphs.c (instantiate_image_instantiator):
4497         (image_instance_query_geometry):
4498         (image_instance_layout):
4499         (image_instance_layout):
4500         (query_string_geometry):
4501         (text_query_geometry):
4502         (image_instantiate):
4503         (image_instantiate):
4504         (cache_subwindow_instance_in_frame_maybe):
4505         (subwindow_query_geometry): make instance geometry signed.
4506
4507         * glyphs-widget.c (widget_query_geometry):
4508         (widget_layout):
4509         (button_query_geometry):
4510         (tree_view_query_geometry):
4511         (tab_control_query_geometry):
4512         (layout_query_geometry):
4513         (layout_layout):
4514         (native_layout_layout): make instance geometry signed.
4515
4516 2000-05-29  Olivier Galibert  <galibert@pobox.com>
4517
4518         * lisp.h: Add Qfull_assoc symbol and WEAK_LIST_FULL_ASSOC
4519         constant.
4520
4521         * general.c (syms_of_general): Add Qfull_assoc symbol.
4522
4523         * data.c (finish_marking_weak_lists): Mark full-assoc lists
4524         correctly.
4525         (decode_weak_list_type): Decode full-assoc type.
4526         (encode_weak_list_type): Encode full-assoc type.
4527         (Fmake_weak_list): Update doc string.
4528
4529 2000-05-30  Andy Piper  <andy@xemacs.org>
4530
4531         * elhash.h (hash_table_weakness): new KEY_VALUE weak hashtable.
4532
4533         * elhash.c (print_hash_table): new KEY_VALUE weak hashtable.
4534         (decode_hash_table_weakness): ditto.
4535         (Fhash_table_weakness): ditto.
4536         (Fhash_table_type): ditto.
4537         (finish_marking_weak_hash_tables): ditto.
4538         (hash_table_weakness_validate): ditto.
4539         (syms_of_elhash): ditto.
4540
4541 2000-05-28  Martin Buchholz <martin@xemacs.org>
4542
4543         * XEmacs 21.2.34 is released.
4544
4545 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
4546
4547         * redisplay.c (VERTICAL_CLIP): No longer reset when updating line
4548         start cache.
4549         (updating_line_start_cache): Gone.
4550         (regenerate_window): Replace resetting of VERTICAL_CLIP by
4551         generic code to force a minimum of 1 line laid out in the
4552         CMOTION_DISP case.
4553
4554 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
4555
4556         * glyphs.c (instantiate_image_instantiator): Check for initialized
4557         height & width no longer special cases IMAGE_NOTHING.
4558         (nothing_instantiate): Set height and width of instance.
4559
4560 2000-05-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
4561
4562         * unexelf.c (unexec): Search for ".data" section.
4563         Initialize new_data2_offset from old_data_index.
4564         Remove redundant check for ElfW.
4565
4566 2000-05-23  Andy Piper  <andy@xemacs.org>
4567
4568         * glyphs.c (get_image_instantiator_governing_domain): allow more
4569         specific domains as the governing domain rather than expecting an
4570         exact match. This fixes problems with layouts.
4571
4572 2000-05-22  Andy Piper  <andy@xemacs.org>
4573
4574         * redisplay-output.c (compare_runes): check for non-images
4575
4576         * glyphs.c (set_glyph_dirty_p): ditto.
4577         (update_glyph_cachel_data): ditto.
4578
4579         * glyphs-widget.c (layout_post_instantiate): ditto.
4580         (layout_post_instantiate): ditto.
4581
4582         * event-msw.c (mswindows_wnd_proc): warning removal.
4583
4584 2000-05-12  Craig Lanning  <CraigL@DyCon.com>
4585
4586         * s\mingw32.h: Added #undef for CLASH_DETECTION.
4587
4588         * syswindows.h: Moved PBS_SMOOTH definition to syscommctrl.h.
4589
4590         * syscommctrl.h (PBS_SMOOTH): Moved from syswindows.h.
4591
4592         * nt.c (rva_to_section): mingw32 needs rva_to_section.
4593         (mswindows_executable_type): mingw32 now has enough headers for
4594         this to work.
4595
4596 2000-05-20  Andy Piper  <andy@xemacs.org>
4597
4598         * console-msw.c (mswindows_output_last_error): ; -> ,
4599
4600 2000-05-12  Andy Piper  <andy@xemacs.org>
4601
4602         * console-msw.c (FROB): compare ints with ints.
4603
4604 2000-05-11  Andy Piper  <andy@xemacs.org>
4605
4606         * glyphs-x.c (x_finalize_image_instance): make minimal build
4607         happy.
4608
4609 2000-05-20  Ben Wing  <ben@xemacs.org>
4610
4611         * event-Xt.c:
4612         * event-Xt.c (vars_of_event_Xt):
4613         move modifier-keys-are-sticky to event-stream.c.
4614
4615         * event-msw.c:
4616         * event-msw.c (mswindows_enqueue_mouse_button_event):
4617         * event-msw.c (key_needs_default_processing_p):
4618         * event-msw.c (XEMSW_LCONTROL):
4619         * event-msw.c (mswindows_handle_sticky_modifiers):
4620         * event-msw.c (FROB):
4621         * event-msw.c (clear_sticky_modifiers):
4622         * event-msw.c (output_modifier_keyboard_state):
4623         * event-msw.c (output_alt_keyboard_state):
4624         * event-msw.c (mswindows_wnd_proc):
4625         * event-msw.c (mswindows_modifier_state):
4626         * event-msw.c (emacs_mswindows_handle_magic_event):
4627         implement sticky modifiers.
4628
4629         * event-stream.c:
4630         * event-stream.c (vars_of_event_stream):
4631         move modifier-keys-are-sticky here.
4632
4633         * lisp.h:
4634         add CHECK_FUNCTION.
4635
4636         * rangetab.c:
4637         implement map-range-table.
4638
4639
4640 2000-05-17  Yoshiki Hayashi  <yoshiki@xemacs.org>
4641
4642         * redisplay-tty.c (reset_tty_modes):
4643         (tty_redisplay_shutdown): Adjust argument type to
4644         tty_frame_output_end.
4645
4646 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
4647
4648         * eval.c (Fbacktrace): Don't output a line with only right
4649         parenthesis.
4650
4651 2000-05-17  Kenji Itoh  <keit@tpj.co.jp>
4652
4653         * postgresql.c (Fpq_connect_poll): Replace `PS' with `polling_status'.
4654         (Fpq_reset_poll): Ditto.
4655
4656 2000-05-16  Katsumi Yamaoka  <yamaoka@jpl.org>
4657
4658         * redisplay-tty.c: Replace tty_output_end with tty_frame_output_end.
4659
4660 2000-05-16  Ben Wing  <ben@xemacs.org>
4661
4662         * buffer.c:
4663         * buffer.c (dfc_convert_to/from_internal_format):
4664         * buffer.c (reinit_vars_of_buffer):
4665         Fix conversion functions to allow reentrancy.
4666
4667         * console-msw.c:
4668         * console-msw.c (mswindows_output_last_error):
4669         New fun, generally useful -- output a human-readable
4670         version of GetLastError() on the console.
4671
4672         * console-msw.h:
4673         * console-msw.h (struct mswindows_frame):
4674         Changes for DeferWindowPos.  Declare mswindows_output_last_error().
4675
4676         * console-stream.c (stream_output_begin):
4677         * console-stream.c (stream_output_end):
4678         * console-stream.c (stream_output_vertical_divider):
4679         * console-stream.c (stream_clear_region):
4680         * console-stream.c (stream_flash):
4681         * console-stream.c (console_type_create_stream):
4682         Delete blank stream methods, not needed.
4683
4684         * console.h (struct console_methods):
4685         Split begin/end methods into window and frame.
4686
4687         * event-msw.c:
4688         * event-msw.c (mswindows_handle_paint):
4689         * event-msw.c (output_alt_keyboard_state):
4690         * event-msw.c (mswindows_wnd_proc):
4691         * event-msw.c (vars_of_event_mswindows):
4692         Comment about problems with ignored-expose.
4693         Define mswindows-debug-events; not really implemented.
4694
4695         * frame-msw.c (mswindows_init_frame_1):
4696         random cleanups.
4697
4698         * glyphs-msw.c:
4699         * glyphs-msw.c (begin_defer_window_pos):
4700         * glyphs-msw.c (mswindows_unmap_subwindow):
4701         * glyphs-msw.c (mswindows_map_subwindow):
4702         * glyphs-msw.c (mswindows_resize_subwindow):
4703         Use DeferWindowPos to reduce flashing when mapping/unmapping.
4704
4705         * glyphs.c (make_image_instance_1):
4706         Fix crash.
4707
4708         * gutter.c (Fredisplay_gutter_area):
4709         Use new begin/end methods.
4710
4711         * lisp.h (Dynarr_new2):
4712         New creation fun.
4713
4714         * redisplay-msw.c:
4715         * redisplay-msw.c (mswindows_frame_output_begin):
4716         * redisplay-msw.c (mswindows_frame_output_end):
4717         * redisplay-msw.c (console_type_create_redisplay_mswindows):
4718         New begin/end methods -- handle DeferWindowPos.
4719
4720         * redisplay-output.c (redisplay_move_cursor):
4721         * redisplay-output.c (redraw_cursor_in_window):
4722         * redisplay-output.c (redisplay_update_line):
4723         * redisplay-output.c (redisplay_output_window):
4724         New begin/end methods.
4725
4726         * redisplay-tty.c:
4727         * redisplay-tty.c (tty_frame_output_begin):
4728         * redisplay-tty.c (tty_frame_output_end):
4729         * redisplay-tty.c (console_type_create_redisplay_tty):
4730         New begin/end methods.
4731
4732         * redisplay-x.c:
4733         * redisplay-x.c (x_window_output_begin):
4734         * redisplay-x.c (x_window_output_end):
4735         * redisplay-x.c (console_type_create_redisplay_x):
4736         New begin/end methods.
4737
4738         * redisplay.c (redisplay_frame):
4739         * redisplay.c (Fredisplay_echo_area):
4740         New begin/end methods.
4741         use MAYBE_DEVMETH for clear_frame; it may not exist.
4742
4743         * window.h (WINDOW_XFRAME):
4744         WINDOW_XFOO macros -- get locale and decode struct pointer.
4745
4746
4747 2000-05-12  Ben Wing  <ben@xemacs.org>
4748
4749         * emacs.c:
4750         * emacs.c (ensure_no_quitting_from_now_on):
4751         * emacs.c (fatal_error_signal):
4752         * emacs.c (mswindows_handle_hardware_exceptions):
4753         * emacs.c (main):
4754         * emacs.c (Fkill_emacs):
4755         * emacs.c (shut_down_emacs):
4756         * emacs.c (assert_failed):
4757         various improvements in fatal error handling.
4758
4759         * eval.c:
4760         move preparing_for_armageddon to emacs.c.
4761
4762         * lisp.h:
4763         declare fatal_error_in_progress.
4764
4765         * print.c:
4766         * print.c (std_handle_out_external):
4767         * print.c (std_handle_out_va):
4768         * print.c (stderr_out):
4769         * print.c (stdout_out):
4770         use console under mswin when no standard output.
4771         don't do code conversion during fatal error.
4772
4773         * scrollbar.c (Fscrollbar_page_up):
4774         * scrollbar.c (Fscrollbar_page_down):
4775         fix missing else.  reindent.
4776
4777 2000-05-11  Jan Vroonhof  <vroonhof@math.ethz.ch>
4778
4779         Emergency fix.
4780
4781         * glyphs.h (GLYPH_CACHEL_DESCENT):
4782         (GLYPH_CACHEL_DESCENT):
4783         (GLYPH_CACHEL_DESCENT):
4784         * glyphs.h (GLYPH_CACHEL_ASCENT): Match parameters to variables
4785         used in case these are inline functions.
4786         Use more absurd values to error check.
4787
4788         include window.h for error check functions.
4789
4790 2000-05-11  Ben Wing  <ben@xemacs.org>
4791
4792         * cmdloop.c (Freally_early_error_handler):
4793         Display message box under windows; otherwise, message will disappear
4794         before it can be viewed.
4795
4796         * console-msw.c:
4797         * console-msw.c (Fmswindows_message_box):
4798         * console-msw.c (FROB):
4799         * console-msw.c (syms_of_console_mswindows):
4800         Define new fun `mswindows-message-box'.
4801         #### I will merge this into `popup-dialog-box'; just give me
4802         a bit of time.
4803
4804         * general.c:
4805         * general.c (syms_of_general):
4806         Some new symbols used in `mswindows-message-box'.
4807
4808         * glyphs.c:
4809         * glyphs.c (Fset_image_instance_property):
4810         put warning in this fun.
4811
4812         * glyphs.h:
4813         * glyphs.h (GLYPH_CACHEL_WIDTH):
4814         * glyphs.h (GLYPH_CACHEL_ASCENT):
4815         * glyphs.h (GLYPH_CACHEL):
4816         * glyphs.h (GLYPH_CACHEL_GLYPH):
4817         define error-checking versions to try to catch a bug i've seen --
4818         redisplay gets in an infinite loop because the glyph width of the
4819         continuation glyph is 65535.
4820
4821         * lisp.h:
4822         Extern message-box stuff.
4823
4824         * window.c (allocate_window):
4825         * window.c (make_dummy_parent):
4826         * window.c (Fset_window_configuration):
4827         Use EQUAL not EQ for subwindow caches to make them work a bit
4828         better. (Something is still very broken.)
4829
4830
4831 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
4832
4833         * glyphs.c (image_instantiate): Suppress gcc warnings.
4834         (Fmake_image_instance): Fix doc string.
4835         * specifier.c (Fmake_specifier): Ditto.
4836
4837 2000-05-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
4838
4839         * paths.h.in (PATH_LOCK): Removed.
4840         * config.h.in (LOCKDIR_USER_DEFINED): Removed.
4841         * emacs.c (complex_vars_of_emacs): Remove configure-lock-directory.
4842
4843 2000-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
4844
4845         * fns.c (Ffeaturep): Update e-mail address in doc-string.
4846         Document (featurep '(and xemacs 21.02)).
4847
4848 2000-05-09  Ben Wing  <ben@xemacs.org>
4849
4850         * buffer.c (complex_vars_of_buffer):
4851         update modeline-format doc.
4852
4853         * device.h:
4854         comment about how DFW_DEVICE should be merged with DOMAIN_DEVICE.
4855
4856         * emacs.c:
4857         timeline of all released versions of Emacs, for use in creating
4858         authorship comments and in synching up.
4859
4860         * glyphs-widget.c (image_instantiator_buttons):
4861         * glyphs-widget.c (image_instantiator_edit_fields):
4862         * glyphs-widget.c (image_instantiator_combo_box):
4863         * glyphs-widget.c (image_instantiator_scrollbar):
4864         * glyphs-widget.c (image_instantiator_progress_guage):
4865         * glyphs-widget.c (image_instantiator_tree_view):
4866         * glyphs-widget.c (image_instantiator_tab_control):
4867         * glyphs-widget.c (image_instantiator_labels):
4868         * glyphs-widget.c (image_instantiator_layout):
4869         * glyphs-widget.c (image_instantiator_native_layout):
4870         rename decode_domain method to governing_domain.
4871
4872         * glyphs.c:
4873         * glyphs.c (Fvalid_image_instantiator_format_p): doc update.
4874         * glyphs.c (add_entry_to_device_ii_format_list):
4875         make sure we don't put an entry more than once into the list.
4876         * glyphs.c (check_instance_cache_mapper):
4877         *************************************************************
4878         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
4879         HAVE BEEN GETTING.
4880         *************************************************************
4881         * glyphs.c (get_image_instantiator_governing_domain):
4882         clean up, expand on new concept of governing domain.
4883         * glyphs.c (instantiate_image_instantiator):
4884         * glyphs.c (allocate_image_instance):
4885         use governing_domain instead of cache_domain in naming.
4886         * glyphs.c (Fvalid_image_instance_type_p): fix docs.
4887         * glyphs.c (make_image_instance_1):
4888         * glyphs.c (Fmake_image_instance):
4889         allow for any domain (not just device), and process the
4890         governing domain correctly.  very big doc fix.
4891         * glyphs.c (Fimage_instance_domain):
4892         new primitive, to retrieve the governing domain of an image instance.
4893         * glyphs.c (image_instantiate):
4894         use new governing_domain stuff.  this fixes a crash you could get
4895         by instantiating certain widget glyphs in frame locales. (should
4896         signal an error instead of crashing.)
4897         * glyphs.c (Fimage_specifier_p): move doc to make-image-specifier.
4898         * glyphs.c (Fglyphp): clean up doc.
4899         * glyphs.c (subwindow_governing_domain): renamed from *_decode_domain.
4900         * glyphs.c (syms_of_glyphs):
4901         declare Fimage_instance_domain, remove unused Qlayout_image_instance_p.
4902         * glyphs.c (image_instantiator_format_create): add some comments about
4903         bogus code.
4904         * glyphs.c (specifier_vars_of_glyphs): totally rewrite the doc string
4905         for current-display-table. (Apparently Hrjove implemented in 1998 a
4906         design I wrote up in 1996, but didn't update the doc string.)
4907
4908         * glyphs.h: clean up a doc string.
4909         * glyphs.h (governing_domain):
4910         * glyphs.h (struct image_instantiator_methods):
4911         changes for governing_domain stuff.
4912
4913         * gutter.c:
4914         * gutter.c (Fgutter_specifier_p):
4915         * gutter.c (Fgutter_size_specifier_p):
4916         * gutter.c (Fgutter_visible_specifier_p):
4917         * objects.c:
4918         * objects.c (Fcolor_specifier_p):
4919         * objects.c (Ffont_specifier_p):
4920         * objects.c (Fface_boolean_specifier_p):
4921         doc strings moved to make-*-specifier.
4922
4923         * redisplay.c (add_disp_table_entry_runes_1):
4924         * redisplay.c (generate_fstring_runes):
4925         * redisplay.c (screen):
4926         add random comments and doc strings.
4927
4928         * specifier.c:
4929         * specifier.c (Fmake_specifier):
4930         major overhaul of this doc string.
4931
4932         * specifier.c (Fvalid_specifier_domain_p):
4933         comment about the bogosity of image instances being domains.
4934         * specifier.c (decode_domain):
4935         now non-static, used in glyphs.c.
4936         * specifier.c (specifier_instance):
4937         comment about the bogosity of image instances being domains.
4938         * specifier.c (Fgeneric_specifier_p):
4939         move doc string to make-generic-specifier.
4940         * specifier.c (VALID_SINGLE_DISPTABLE_INSTANTIATOR_P):
4941         rebackslashify.
4942
4943         * specifier.h:
4944         * specifier.h (DOMAIN_FRAME):
4945         * specifier.h (DOMAIN_LIVE_P):
4946         * specifier.h (DOMAIN_XDEVICE):
4947         rebackslashify.
4948         add comments about problems with these macros.
4949         prototype for decode_domain.
4950
4951         * toolbar.c:
4952         * toolbar.c (Ftoolbar_specifier_p):
4953         move doc string to `make-toolbar-specifier'.
4954
4955         * window.c (window_unmap_subwindows_cache_mapper):
4956         *************************************************************
4957         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
4958         HAVE BEEN GETTING.
4959         *************************************************************
4960
4961 2000-05-09  Andy Piper  <andy@xemacs.org>
4962
4963         * glyphs.h: declare reset_frame_subwindow_instance_cache.
4964
4965         * window.c (Fset_window_configuration): reset the frame subwindow
4966         cache and re-initialize the window subwindow caches.
4967
4968         * glyphs.c (reset_frame_subwindow_instance_cache): new function.
4969
4970 2000-05-09  Ben Wing  <ben@xemacs.org>
4971
4972         * ntheap.c (recreate_heap): Changed unknown (VC6 only?) SIZE_T to
4973         DWORD.
4974
4975 2000-04-26  Mike Woolley  <mike@bulsara.com>
4976
4977         * ntheap.c: Changed recreate_heap to limit the amount reserved
4978         for the heap to that which is actually available. Also now
4979         displays a message box (with some dignostics) in the event that
4980         it still can't start.
4981
4982 2000-05-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
4983
4984         * callproc.c (Fold_call_process_internal): GCPRO path
4985
4986 2000-05-08  Jan Vroonhof  <jan@xemacs.org>
4987
4988         Patch by Bill Perry.
4989
4990         * scrollbar.c (Fscrollbar_page_up): Conditionalize on type of call
4991         back data instead of #ifdef.
4992         (Fscrollbar_page_down): ditto.
4993
4994 2000-05-07  Ben Wing  <ben@xemacs.org>
4995
4996         * buffer.h:
4997         Kludge for defining Qmswindows_tstr.
4998
4999         * nt.c:
5000         * nt.c (open_input_file):
5001         * nt.c (open_output_file):
5002         * nt.c (rva_to_section):
5003         * nt.c (mswindows_executable_type):
5004         Move all memory-mapped-file routines here (some were in unexnt.c,
5005         which is bad because they are used by process-nt.c, and unexnt
5006         won't be around when portable dumping).  Synched the above routines
5007         with FSF 20.6.
5008
5009         * nt.h:
5010         Removed ifdef'd out bogus code.
5011         Fixed some prototypes.
5012
5013         * nt.h (file_data):
5014         * nt.h (OFFSET_TO_RVA):
5015         * nt.h (RVA_TO_OFFSET):
5016         * nt.h (RVA_TO_PTR):
5017         Moved the memory-mapped-file structures, macros and prototypes
5018         here, to parallel nt.c.  ntheap.h should really be removed
5019         entirely, and it's a non-portable-dumper specific file.
5020
5021         * ntheap.h (round_to_next):
5022         Moved the memory-mapped-file structures, macros and prototypes
5023         to nt.h.
5024
5025         * ntproc.c (compare_env):
5026         Moved rva_to_section and mswindows_executable_type to nt.c.
5027         Moved compare_env to process-nt.c.
5028         ntproc.c will die, one day.
5029
5030         * ntproc.c (sys_spawnve):
5031         Account for win32_ -> mswindows_.
5032
5033         * process-nt.c:
5034         * process-nt.c (struct nt_process_data):
5035         * process-nt.c (ensure_console_window_exists):
5036         * process-nt.c (compare_env):
5037         * process-nt.c (nt_create_process):
5038         * process-nt.c (nt_kill_process_by_pid):
5039         * process-nt.c (syms_of_process_nt):
5040         * process-nt.c (vars_of_process_nt):
5041         Introduce variable `mswindows-quote-process-args', from FSF 20.6.
5042         Copy argument quoting code from FSF 20.6 (with appropriate Mule-ization
5043         changes).  Eliminate our old `nt-quote-process-args' mechanism.
5044         Synch up nt_create_process with FSF 20.6 sys_spawnve.
5045         Move compare_env here from ntproc.c.
5046
5047         * process.c (Fprocess_send_region):
5048         Takes an optional fourth argument, BUFFER, which should fix some
5049         problems with call-process.
5050
5051         * syscommctrl.h:
5052         Move ICC_BAR_CLASSES here from syswindows.h, to avoid a warning.
5053
5054         * syswindows.h:
5055         Move ICC_BAR_CLASSES to syscommctrl.h.
5056         Add preliminary macros for MSWindows/Mule.  More to come.
5057
5058         * unexnt.c:
5059         * unexnt.c (unexec):
5060         open_output_file moved to nt.c.
5061
5062
5063 2000-05-05  Andy Piper  <andy@xemacs.org>
5064
5065         * window.c (window_unmap_subwindows_cache_mapper): remove the dead
5066         instance from the frame cache also since GC may catch up too late
5067         to make frame deletion sane.
5068
5069 2000-05-04  Andy Piper  <andy@xemacs.org>
5070
5071         * glyphs-x.c (x_widget_instantiate): gcpro widget callbacks.
5072         (x_finalize_image_instance): ungcpro on deletion.
5073
5074         * glyphs.c (image_instantiator_format_create): give pointers a
5075         query geometry method so that the geometry is at least set.
5076
5077         * glyphs-x.c (image_instantiator_format_create_glyphs_x): only
5078         initialize layouts if using widgets.
5079
5080 2000-05-03  Andy Piper  <andy@xemacs.org>
5081
5082         * nt.c: remove bogus reference to sysmmsystem.h
5083
5084         * gui-x.c (popup_selection_callback): fix no selection abort.
5085
5086 2000-05-02  Andy Piper  <andy@xemacs.org>
5087
5088         * glyphs-msw.c (mswindows_update_widget): cope with nil text.
5089         (mswindows_widget_instantiate): ditto.
5090
5091         * glyphs-widget.c (initialize_widget_image_instance): initialize
5092         children correctly.
5093         (widget_instantiate): cope with children and items in the same
5094         instance.
5095
5096         * glyphs.c (mark_image_instance): cope with children as a first
5097         class member.
5098         (image_instance_equal): ditto.
5099         (image_instance_hash): ditto.
5100         (image_instance_changed): ditto.
5101
5102 2000-04-30  Andy Piper  <andy@xemacs.org>
5103
5104         * glyphs.c (subwindow_query_geometry): new function. Return some
5105         defaults.
5106         (subwindow_instantiate): don't assign dimensions if none have been
5107         given.
5108         (image_instantiator_format_create): add subwindow_query_geometry.
5109         (print_image_instance): cope with layouts as widgets.
5110
5111 2000-04-29  Andy Piper  <andy@xemacs.org>
5112
5113         * frame.c (delete_frame_internal): call
5114         free_frame_subwindow_instance_cache so that all subwindows are
5115         finalized before their parent.
5116         (mark_frame): remove subwindow_cachels.
5117         (Fmake_frame): remove subwindow_cachel manipulation.
5118         (allocate_frame_core): subwindow_instance_cache is a weak list.
5119         (delete_frame_internal): set subwindow_instance_cache to nil.
5120
5121         * glyphs-msw.c (mswindows_finalize_image_instance): make double
5122         finalization safe.
5123         (mswindows_finalize_image_instance): use the device
5124         not the domain as the domain may have died already.
5125
5126         * glyphs-x.c (x_finalize_image_instance): ditto.
5127         (x_subwindow_instantiate): remove SUBWINDOW_WIDTH &
5128         HEIGHT.
5129
5130         * redisplay-output.c (redisplay_unmap_subwindows): update for
5131         subwindow instance cache as a weak list.
5132         (redisplay_unmap_subwindows_maybe): ditto.
5133         (redisplay_unmap_subwindows_except_us): ditto.
5134
5135         * glyphs.c (unmap_subwindow): error checking will check the domain
5136         so don't deal with it here. Don't use cachels anymore.
5137         (map_subwindow): ditto.
5138         (update_subwindow_cachel_data): remove old accessor names.
5139         (subwindow_instantiate): remove SUBWINDOW_WIDTH & HEIGHT.
5140         (Fresize_subwindow): don't update cachel.
5141         (mark_subwindow_cachels):
5142         (update_subwindow_cachel_data):
5143         (add_subwindow_cachel):
5144         (get_subwindow_cachel_index):
5145         (update_subwindow_cachel):
5146         (reset_subwindow_cachels):
5147         (mark_subwindow_cachels_as_not_updated): deleted.
5148         (cache_subwindow_instance_in_frame_maybe): new function. Add a
5149         subwindow instance to the frame cache.
5150         (find_matching_subwindow): update for subwindow instance cache as
5151         a weak list.
5152         (update_widget_instances): ditto.
5153         (image_instance_type_to_mask):inlined.
5154         (free_frame_subwindow_instance_cache): new function. finalize all
5155         subwindows that are instantiated.
5156
5157         * glyphs.h (struct Lisp_Image_Instance): add display_data instead
5158         of cachel information.
5159         (IMAGE_INSTANCE_DISPLAY_X):
5160         (IMAGE_INSTANCE_DISPLAY_Y):
5161         (IMAGE_INSTANCE_DISPLAY_WIDTH):
5162         (IMAGE_INSTANCE_DISPLAY_HEIGHT):
5163         (XIMAGE_INSTANCE_DISPLAY_X):
5164         (XIMAGE_INSTANCE_DISPLAY_Y):
5165         (XIMAGE_INSTANCE_DISPLAY_WIDTH):
5166         (XIMAGE_INSTANCE_DISPLAY_HEIGHT): new accessors.
5167         remove subwindow_cachel structure and function references.
5168         (image_instance_type_to_mask): inline from glyphs.c
5169
5170         * redisplay.c (redisplay_frame): remove subwindow_cachel
5171         references.
5172
5173         * frame.h (struct frame): remove subwindow_cachels.
5174         (FRAME_SUBWINDOW_CACHE): access subwindow_instance_cache.
5175
5176         * frameslots.h: add subwindow_instance_cache.
5177
5178         * window.c (replace_window): check subwindow cache of replacement.
5179         (window_unmap_subwindows_cache_mapper):
5180         (window_unmap_subwindows): new functions. Unmap all subwindows
5181         cached on this window.
5182         (mark_window_as_deleted): unmap all subwindows.
5183
5184 2000-04-27  Andy Piper  <andy@xemacs.org>
5185
5186         * glyphs.h (IIFORMAT_METH_OR_GIVEN): cope with null meths.
5187
5188         * glyphs-widget.c (widget_layout): return something.
5189         (layout_layout): return something. Fail if not initialized.
5190         (layout_query_geometry): ditto.
5191         (image_instantiator_native_layout): new function. Initialized the
5192         native layout type.
5193         (widget_instantiate): don't do layout stuff here.
5194
5195         * glyphs.c (instantiate_image_instantiator): reorded calling or
5196         instantiate and post_instantiate with layout in between.
5197         (image_instance_layout): be more selective about deciding whether
5198         the layout has been done or not.
5199
5200         * glyphs.h (struct image_instantiator_methods): return a value
5201         from layout_method.
5202
5203 2000-04-26  Andy Piper  <andy@xemacs.org>
5204
5205         * glyphs.c (allocate_image_instance): make initial width and
5206         height unspecified. Set initialized to 0.
5207
5208         * syscommctrl.h new file. Encapsulates commctrl.h.
5209
5210         * syswindows.h new file. Encapsulates windows.h.
5211
5212         * ntplay.c: use new syswindows.h and syscommctrl.h header.
5213         * nt.c: ditto.
5214         * console-msw.h: ditto.
5215
5216         * redisplay-tty.c (tty_output_display_block): remove layout references.
5217
5218         * glyphs-msw.c (mswindows_widget_instantiate): use the domain
5219         window handle rather than just the frame.
5220
5221         * glyphs.c (mark_image_instance): remove layout references.
5222         (print_image_instance): ditto.
5223         (image_instance_equal): ditto.
5224         (image_instance_hash): ditto.
5225         (decode_image_instance_type): ditto.
5226         (encode_image_instance_type): ditto.
5227         (image_instantiate): ditto.
5228         (allocate_glyph): ditto.
5229         (Fimage_instance_height): ditto.
5230         (Fimage_instance_width): ditto.
5231         (update_subwindow): ditto.
5232
5233         * redisplay-x.c (x_output_display_block): recode for layouts as
5234         widgets.
5235
5236         * redisplay-output.c (redisplay_output_layout): recode for layouts
5237         as widgets.
5238         (compare_runes): remove layout references.
5239
5240         * redisplay-msw.c (mswindows_output_display_block): recode for
5241         layouts as widgets.
5242
5243         * glyphs-widget.c (image_instantiator_layout): remove
5244         layout_possible_dest_types.
5245         (layout_possible_dest_types): deleted.
5246
5247         * glyphs.h (image_instance_type): remove layout references.
5248         (struct Lisp_Image_Instance): ditto. Add initialized flag.
5249         (IMAGE_INSTANCE_INITIALIZED): new accessor.
5250         (XIMAGE_INSTANCE_INITIALIZED): ditto.
5251
5252 2000-04-25  Andy Piper  <andy@xemacs.org>
5253
5254         * glyphs-widget.c (image_instantiator_buttons):
5255         (image_instantiator_edit_fields):
5256         (image_instantiator_combo_box):
5257         (image_instantiator_scrollbar):
5258         (image_instantiator_progress_guage):
5259         (image_instantiator_tree_view):
5260         (image_instantiator_tab_control):
5261         (image_instantiator_labels):
5262         (image_instantiator_layout): call default post_instantiate method.
5263         (widget_post_instantiate): new function. Simply lays out the
5264         widgets.
5265
5266         * glyphs.h (struct image_instantiator_methods): add
5267         post_instantiate method.
5268
5269         * glyphs.c (instantiate_image_instantiator): add post_instantiate
5270         method calls.
5271
5272 2000-04-23  Andy Piper  <andy@xemacs.org>
5273
5274         * glyphs.h (struct image_instantiator_methods): add
5275         decode_domain_method.
5276         (struct Lisp_Image_Instance): remove subwindow frame - it can be
5277         derived from the domain.
5278         (IMAGE_INSTANCE_FRAME): new accessor.
5279         (XIMAGE_INSTANCE_FRAME): ditto.
5280
5281         * glyphs.c (print_image_instance): use IMAGE_INSTANCE_FRAME
5282         instead of _SUBWINDOW_FRAME.
5283         (finalize_image_instance): ditto.
5284         (Fimage_instance_foreground): ditto.
5285         (Fimage_instance_background): ditto.
5286         (image_instantiate): ditto.
5287         (update_subwindow_cachel): ditto.
5288         (update_subwindow): ditto.
5289         (unmap_subwindow): ditto.
5290         (map_subwindow): ditto
5291         (subwindow_instantiate): ditto.
5292         * glyphs-msw.c (mswindows_update_widget): ditto.
5293         (mswindows_progress_gauge_instantiate): ditto.
5294         (mswindows_tab_control_update): ditto.
5295         * glyphs-x.c (x_update_widget): ditto.
5296         (x_widget_instantiate): ditto.
5297         (x_tab_control_instantiate): ditto.
5298         (x_tab_control_update): ditto.
5299         * event-msw.c (mswindows_wnd_proc): ditto
5300
5301         * glyphs-widget.c (image_instantiator_layout): use
5302         subwindow_decode_domain.
5303         (image_instantiator_buttons): ditto.
5304         (image_instantiator_edit_fields): ditto.
5305         (image_instantiator_combo_box): ditto.
5306         (image_instantiator_scrollbar): ditto.
5307         (image_instantiator_progress_guage): ditto.
5308         (image_instantiator_tree_view): ditto.
5309         (image_instantiator_tab_control): ditto.
5310         (image_instantiator_labels): ditto.
5311         (image_instantiator_layout): ditto.
5312
5313         * glyphs.c: add instance error checking to many functions.
5314         (instantiate_image_instantiator): decode device from cache_domain.
5315         (image_instantiate): partially rewrite by using
5316         decode_image_instantiator_domain to determine what domain the
5317         instance needs to be cached in.
5318         (decode_image_instantiator_domain): new function. Determine what
5319         domain the image needs to be cached in.
5320         (check_window_subwindow_cache): new error checking function.
5321         (check_instance_cache_mapper): ditto.
5322         (check_image_instance_structure): ditto.
5323         (subwindow_decode_domain): new function. Encodes a window as a
5324         subwindow's cache domain.
5325         (image_instantiator_format_create): use it for text and
5326         subwindows.
5327
5328 2000-04-21  Andy Piper  <andy@xemacs.org>
5329
5330         * glyphs.c (image_instance_device): new function.
5331         (image_instance_frame): new function.
5332         (image_instance_window): new function.
5333         (image_instance_live_p): new function.
5334
5335         * window.c (mark_window_as_deleted): reset the subwindow_instance_
5336         cache to nil.
5337
5338         * glyphs.h (struct Lisp_Image_Instance): device->domain.
5339         (IMAGE_INSTANCE_DOMAIN): new accessor.
5340         (XIMAGE_INSTANCE_DOMAIN): ditto.
5341
5342         * glyphs-x.c (x_finalize_image_instance): device->domain.
5343
5344         * glyphs-msw.c (init_image_instance_geometry): device->domain.
5345         (mswindows_finalize_image_instance): ditto.
5346
5347         * glyphs-eimage.c (jpeg_instantiate): device->domain.
5348         (gif_instantiate): ditto.
5349         (png_instantiate): ditto.
5350         (tiff_instantiate): ditto.
5351
5352         * glyphs.c (instantiate_image_instantiator): use domain rather
5353         than device.
5354         (mark_image_instance): device -> domain.
5355         (print_image_instance): ditto.
5356         (finalize_image_instance): ditto.
5357         (image_instance_equal): ditto.
5358         (allocate_image_instance): ditto.
5359         (Fcolorize_image_instance): ditto.
5360         (query_string_geometry): ditto.
5361         (image_instantiate): ditto
5362         (query_string_font): ditto.
5363         (image_instantiate): ditto.
5364         (update_subwindow): ditto.
5365         (unmap_subwindow): ditto.
5366         (map_subwindow): ditto.
5367         (subwindow_instantiate): ditto.
5368
5369         * specifier.h (DOMAIN_DEVICE): new, semantically correct, decoder.
5370         (DOMAIN_FRAME): ditto.
5371         (DOMAIN_WINDOW): ditto.
5372         (DOMAIN_LIVE_P): ditto.
5373         (XDOMAIN_DEVICE): ditto.
5374         (XDOMAIN_FRAME): ditto.
5375         (XDOMAIN_WINDOW): ditto.
5376
5377         * specifier.c (Fvalid_specifier_domain_p): add image instances as
5378         a valid specifier domain.
5379
5380 2000-04-19  Andy Piper  <andy@xemacs.org>
5381
5382         * glyphs-widget.c (syms_of_glyphs_widget): remove
5383         widget-callback-current-channel.
5384         (vars_of_glyphs_widget): ditto.
5385         * glyphs.h: ditto
5386
5387         * gui.c (get_gui_callback): revert to previous behaviour.
5388
5389 2000-04-18  Andy Piper  <andy@xemacs.org>
5390
5391         * glyphs.h (struct Lisp_Image_Instance): add margin_width.
5392         (IMAGE_INSTANCE_MARGIN_WIDTH): new.
5393         (XIMAGE_INSTANCE_MARGIN_WIDTH): new.
5394
5395         * glyphs.c (image_instance_equal): add margin_width.
5396         (image_instance_hash): ditto.
5397
5398         * glyphs-widget.c (widget_instantiate): deal with margin-width.
5399         (layout_query_geometry): ditto.
5400         (layout_layout): ditto.
5401         (syms_of_glyphs_widget): add margin-width.
5402         (image_instantiator_layout): allow margin-width.
5403
5404         * glyphs.c (update_widget_instances): make a normal function.
5405         (syms_of_glyphs): remove Qupdate_widget_instances.
5406         * glyphs.h: ditto.
5407
5408         * gui-x.c (popup_selection_callback): use enqueue_magic_eval_event
5409         so that we don't corrupt ideas about the last event or
5410         command. Remove widget-callback-current-channel fiddling.
5411         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
5412
5413 2000-05-01  Martin Buchholz <martin@xemacs.org>
5414
5415         * XEmacs 21.2.33 is released.
5416
5417 2000-05-01  Yoshiki Hayashi  <yoshiki@xemacs.org>
5418
5419         * make-src-depend: Allow dots in header file name.
5420
5421 2000-05-01  Yoshiki Hayashi  <yoshiki@xmacs.org>
5422
5423         * mule-charset.h (struct charset_lookup): Add
5424         next_allocated_1_byte_leading_byte and
5425         next_allocated_2_byte_leading_byte.
5426         * mule-charset.c: Move above two variables so that those values
5427         will be dumped.
5428
5429 2000-04-26  Yoshiki Hayashi  <yoshiki@xemacs.org>
5430
5431         * insdel.c (find_charsets_in_bufbyte_string): Add Vcharset_ascii
5432         when string length is zero.
5433         (find_charsets_in_emchar_string): Ditto.
5434
5435 2000-04-29  Bjrn Torkelsson  <torkel@hpc2n.umu.se>
5436
5437         * lisp.h: extern Qdialog and Qmenubar.
5438
5439         * gui-x.c: added events.h.
5440                 also fixed typo which made the file uncompilable.
5441
5442         * general.c: Added Qmenubar and Qdialog
5443
5444 2000-04-28  Ben Wing  <ben@xemacs.org>
5445
5446         * frame-msw.c (mswindows_init_frame_1):
5447         * frame-msw.c (mswindows_mark_frame):
5448         * event-msw.c (mswindows_enqueue_dispatch_event):
5449         * console-msw.h:
5450         * console-msw.h (struct mswindows_frame):
5451         * console-msw.h (FRAME_MSWINDOWS_WIDGET_HASH_TABLE1):
5452         there are now three hash tables for callbacks.
5453         mswindows_enqueue_dispatch_event is no longer static.
5454
5455         * dialog-x.c (maybe_run_dbox_text_callback):
5456         * dialog-x.c (dbox_descriptor_to_widget_value):
5457         switch to new cons3 form for callbacks.
5458
5459         * glyphs-msw.c (mswindows_register_gui_item):
5460         * glyphs-msw.c (mswindows_widget_instantiate):
5461         * glyphs-msw.c (add_tree_item):
5462         * glyphs-msw.c (add_tab_item):
5463         new image instance parameter, so it can be passed to callback-ex.
5464         respect :callback-ex as well as :callback.
5465
5466         * glyphs-widget.c (VALID_GUI_KEYWORDS):
5467         add :callback-ex.
5468
5469         * glyphs.c (print_image_instance):
5470         prettify, e.g. now prints widget type.
5471
5472         * gui-x.h:
5473         certain funs have new image instance parameter.
5474
5475         * gui.c:
5476         * gui.c (get_gui_callback):
5477         * gui.c (gui_item_add_keyval_pair):
5478         * gui.c (gui_item_init):
5479         * gui.c (gui_add_item_keywords_to_plist):
5480         * gui.c (mark_gui_item):
5481         * gui.c (gui_item_hash):
5482         * gui.c (gui_item_equal):
5483         * gui.c (copy_gui_item):
5484         * gui.c (syms_of_gui):
5485         recognize callback-ex in a number of places.
5486         also, fix the annoying "can't get out of yes-no dialog" bug.
5487
5488         * gui.h:
5489         * gui.h (struct Lisp_Gui_Item):
5490         recognize callback-ex in a number of places.
5491
5492         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
5493         new parameter in button_item_to_widget_value.
5494
5495         * glyphs-x.c (x_update_widget):
5496         * glyphs-x.c (x_button_instantiate):
5497         * glyphs-x.c (x_button_update):
5498         * glyphs-x.c (x_progress_gauge_instantiate):
5499         * glyphs-x.c (x_edit_field_instantiate):
5500         * glyphs-x.c (x_combo_box_instantiate):
5501         * glyphs-x.c (x_tab_control_instantiate):
5502         * glyphs-x.c (x_label_instantiate):
5503         new image instance parameter in various places.
5504
5505         * event-Xt.c:
5506         * event-Xt.c (enqueue_Xt_dispatch_event):
5507         this fun gets exported.
5508
5509         * gui-msw.c:
5510         * gui-msw.c (mswindows_handle_gui_wm_command):
5511         handle both :callback and :callback-ex, and generate our own
5512         event because it's one of the callback-ex arguments.
5513
5514         * gui-x.c:
5515         * gui-x.c (popup_selection_callback):
5516         handle both :callback and :callback-ex, and generate our own
5517         event because it's one of the callback-ex arguments.
5518         * gui-x.c (button_item_to_widget_value):
5519         * gui-x.c (gui_items_to_widget_values_1):
5520         * gui-x.c (gui_item_children_to_widget_values):
5521         * gui-x.c (gui_items_to_widget_values):
5522         new image instance parameter in various places.
5523
5524         * fns.c (Freplace_list):
5525         fix small typo in doc string.
5526
5527         * lisp.h:
5528         declare enqueue_Xt_dispatch_event.
5529
5530 2000-04-28  Ben Wing  <ben@xemacs.org>
5531
5532         * buffer.c:
5533         * buffer.c (Frecord_buffer):
5534         * buffer.c (syms_of_buffer):
5535         delete record-buffer-hook.
5536
5537         * fns.c:
5538         * fns.c (Freplace_list):
5539         * fns.c (syms_of_fns):
5540         new primitive replace-list.
5541
5542         * frameslots.h:
5543         slot for old buffer-alist.
5544
5545         * lisp.h:
5546         exfun replace-list.
5547
5548         * redisplay.c:
5549         * redisplay.c (redisplay_frame):
5550         * redisplay.c (syms_of_redisplay):
5551         * redisplay.c (vars_of_redisplay):
5552         new hook buffer-list-changed-hook.
5553         call it.
5554
5555 2000-04-27  Ben Wing  <ben@xemacs.org>
5556
5557         * extents.h: extern in_modeline_generation.
5558
5559         * redisplay.c (generate_formatted_string_db): set
5560         in_modeline_generation.
5561
5562         * extents.c (extent_changed_for_redisplay): don't mark redisplay
5563         flags if in modeline generation.  otherwise frame-modified-tick
5564         is ticked far too often.
5565         Declare in_modeline_generation.
5566
5567 2000-04-26  Ben Wing  <ben@xemacs.org>
5568
5569         * emacs.c (vars_of_emacs): document quick-build "error-checking"
5570         option.
5571         (vars_of_emacs): add quick-build as an error-checking option.
5572         A bit kludgy, but there doesn't seem much point in creating
5573         a real var for this.
5574
5575         * config.h.in: put in an entry for QUICK_BUILD; remove NO_DOC_FILE.
5576
5577 2000-04-14  IKEYAMA Tomonori  <tomonori@suiyokai.org>
5578
5579         * redisplay.h (struct display_line): Add a new variable,
5580         line_continuation.
5581
5582         * redisplay.c (create_text_block): Set dl->line_continuation if
5583         the line continues.
5584         (create_string_text_block): Ditto.
5585         (regenerate_window_incrementally): Use line_continuation instead
5586         of searching continuation glyph.
5587         (add_margin_runes): Call add_glyph_rune.
5588         (add_glyph_rune): Handle margin glyph.
5589
5590 2000-04-20  Martin Buchholz  <martin@xemacs.org>
5591
5592         * filelock.c (fill_in_lock_file_name):
5593         ANSIfy.
5594         Check for IS_ANY_SEP instead of '/'.
5595         (lock_file_1):
5596         Avoid generating gratuitous garbage.  Call user_login_name() directly.
5597         Never check errno without first seeing that system call failed.
5598         (unlock_file): Add GCPRO.
5599         (Flock_buffer): Fix docstring.
5600         (Ffile_locked_p): Fix docstring.  Add GCPRO.
5601
5602 2000-04-19  Martin Buchholz  <martin@xemacs.org>
5603
5604         * sysdep.c (get_pty_max_bytes):
5605         Fix hangs on DEC OSF 4.0 when (process-send-string) sends
5606         strings longer than 252 bytes.
5607
5608         * md5.c: Unconditionally include ANSI header <limits.h>
5609
5610         * glyphs-x.c (convert_EImage_to_XImage):
5611         * lisp-union.h (union Lisp_Object):
5612         Use consistently the syntax #ifdef FEATURE, not #if FEATURE.
5613
5614 2000-04-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
5615
5616         * filelock.c (current_lock_owner): Remove unused variable o, p.
5617
5618 2000-04-17  Norbert Koch  <n.koch@eai-delta.de>
5619
5620         * callint.c: Remove multiply defined symbol Qlet
5621         (syms_of_callint): ditto.
5622
5623 2000-04-14  Andy Piper  <andy@xemacs.org>
5624
5625         * general.c (syms_of_general): add last-command, this-command, let
5626         and funcall.
5627
5628         * lisp.h: declare various symbols.
5629
5630         * glyphs.h: declare Qwidget_callback_current_channel;
5631
5632         * glyphs-widget.c (syms_of_glyphs_widget): add
5633         Qgui_callback_current_channel.
5634         (vars_of_glyphs_widget): add Vgui_callback_current_channel.
5635
5636         * gui-msw.c (mswindows_handle_gui_wm_command): bind
5637         widget-callback-current-channel when invoking the interactive
5638         arg. Also bind last-command and next-command when invoking the
5639         widget updates.
5640         * gui-x.c (popup_selection_callback): ditto.
5641
5642         * gui.c (get_gui_callback): massage args so that we are always
5643         calling eval. This allows us to add our own variable bindings
5644         outside.
5645
5646         * glyphs-x.c (x_button_instantiate): use
5647         gui_items_to_widget_values since this is GC safe.
5648         (x_progress_gauge_instantiate): ditto.
5649         (x_edit_field_instantiate): ditto.
5650         (x_label_instantiate): ditto.
5651
5652         * event-Xt.c (emacs_Xt_handle_magic_event): remove old printfs.
5653         (emacs_Xt_event_widget_focus_out): new function
5654         (emacs_Xt_event_widget_focus_in): new function. Set the keyboard
5655         focus.
5656         (emacs_Xt_event_add_widget_actions): new function. add focus
5657         functions as actions.
5658         (init_event_Xt_late): use it.
5659
5660 2000-04-14  Hrvoje Niksic  <hniksic@iskon.hr>
5661
5662         * event-stream.c (Fdispatch_event): Doc fix.
5663
5664 2000-03-29  SL Baur  <steve@musashimaru.m17n.org>
5665
5666         * postgresql.c: Remove all references to PQsetenv*.
5667
5668         * postgresql.h: Remove references to PGsetenvHandler object.
5669         * lrecord.h (lrecord_type): Ditto.
5670
5671 2000-04-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
5672
5673         * glyphs-msw.h (struct mswindows_image_instance_data): Added
5674         real_heigh and real_width members, and accessor macros for these.
5675
5676         * glyphs-msw.c (init_image_instance_geometry): New function.
5677         (init_image_instance_from_dibitmap): Use it.
5678         (mswindows_resource_instantiate): Use it.
5679         (init_image_instance_from_xbm_inline): Use it.
5680         (mswindows_initialize_image_instance_mask): Use real bitmap
5681         geometry.
5682         (mswindows_create_resized_bitmap): Ditto.
5683         (mswindows_create_resized_mask): Ditto.
5684
5685         * redisplay-msw.c (mswindows_output_dibitmap): Stretch real mask
5686         and bitmap to their surface size.
5687
5688 2000-04-11  Jan Vroonhof  <jan@xemacs.org>
5689
5690         * process-unix.c (unix_send_process): Guard against process MIA
5691         after Faccept_process_output.
5692
5693 2000-04-11  Ben Wing  <ben@xemacs.org>
5694
5695         * eval.c (unbind_to_hairy): fix brokenness introduced by
5696         nanosecond speed improvements.
5697
5698 2000-04-07  Raymond Toy  <toy@rtp.ericsson.se>
5699
5700         * sunplay.c (init_device): To play sounds correctly, the device
5701         apparently needs to be initialized at least once by XEmacs.  Make
5702         it so.
5703
5704 2000-04-10  IKEYAMA Tomonori  <tomonori@suiyokai.org>
5705
5706         * redisplay.c (add_margin_runes): Add text image glyph
5707           handling.
5708
5709 2000-04-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
5710
5711         * lisp.h (DOESNT_RETURN): Don't declare as volatile when
5712         gcc is newer than 2.5.
5713
5714 2000-04-06  Colin Rafferty  <colin@xemacs.org>
5715
5716         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF): Created.
5717
5718         * fns.c (size_bit_vector):
5719         * alloc.c (size_vector):
5720         (make_vector_internal):
5721         (make_bit_vector_internal):
5722         (sweep_bit_vectors_1):
5723         Replace calls to offsetof with FLEXIBLE_ARRAY_STRUCT_SIZEOF macro.
5724
5725 2000-04-06  Andy Piper  <andy@xemacs.org>
5726
5727         * gmalloc.c (malloc): undo previous change.
5728         (malloc): ditto.
5729         (free): ditto.
5730         (realloc): ditto.
5731
5732 2000-04-06  IKEYAMA Tomonori <tomonori@suiyokai.org>
5733
5734         * line-number.c (buffer_line_number): Revert to former version.
5735
5736 2000-04-06  Andy Piper  <andy@xemacs.org>
5737
5738         * gmalloc.c (malloc): add error checking.
5739         (malloc): ditto.
5740         (free): ditto.
5741         (realloc): ditto.
5742
5743         * dialog-x.c (dbox_descriptor_to_widget_value): add extra
5744         button_item_to_widget_value arg.
5745
5746         * glyphs-x.c (x_button_instantiate): add extra
5747         button_item_to_widget_value arg.
5748         (x_progress_gauge_instantiate): ditto.
5749         (x_edit_field_instantiate): ditto.
5750         (x_label_instantiate): ditto.
5751
5752         * gui-x.c (gui_items_to_widget_values_1): add extra
5753         button_item_to_widget_value arg.
5754         (button_item_to_widget_value): add extra menu_item_p arg.
5755
5756         * gui-x.h: change signature of button_item_to_widget_value.
5757
5758         * menubar-x.c (menu_item_descriptor_to_widget_value_1): add extra
5759         button_item_to_widget_value arg.
5760
5761 2000-04-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
5762
5763         * buffer.h (struct buffer): auto_save_modified should be long.
5764
5765 2000-04-05  Andy Piper  <andy@xemacs.org>
5766
5767         * glyphs-widget.c (widget_instantiate): pixwidth != pixheight
5768         type.
5769         (button_query_geometry): give a little more room so that athena
5770         buttons fit.
5771
5772 2000-04-05  Andy Piper  <andy@xemacs.org>
5773
5774         * faces.c (complex_vars_of_faces): The widget face should inherit
5775         the font of the gui-element face.
5776
5777 2000-04-04  Andy Piper  <andy@xemacs.org>
5778
5779         * glyphs-x.c (x_button_update): new function. unconditionally
5780         update a button's state when the instance is dirty.
5781         (image_instantiator_format_create_glyphs_x): add x_button_update.
5782         (x_widget_instantiate): remove old resize cruft.
5783
5784 2000-04-02  Andy Piper  <andy@xemacs.org>
5785
5786         * frame.c (change_frame_size_1): The introduction of gutters means
5787         that we need to allow 0 as a potential frame dimension.
5788
5789 2000-04-02  IKEYAMA Tomonori  <tomonori@suiyokai.org>
5790
5791         * redisplay.c (add_glyph_rune): Don't set 0 to bufpos for text
5792         image glyph if allow_cursor.
5793         (add_hscroll_rune): Don't allow cursor to border glyph.
5794         (create_text_block): Ditto.
5795
5796         * redisplay-output.c (redisplay_move_cursor): Do nothing even if
5797         text not in buffer.
5798         (redisplay_output_layout): Call ensure_face_cachel_complete for
5799         text image glyph.
5800
5801
5802 2000-03-16  IKEYAMA Tomonori  <tomonori@suiyokai.org>
5803
5804         * redisplay.c (add_glyph_rune): Adding text image as text runes.
5805
5806         * redisplay-output.c (redisplay_move_cursor): NO_CURSOR if text
5807         not in buffer
5808
5809         * redisplay-tty.c (tty_output_display_block): Delete the routine
5810         for text image glyph
5811         * redisplay-x.c (x_output_display_block): ditto
5812         * redisplay-msw.c (mswindows_output_display_block): ditto
5813
5814 2000-02-02  Mike Alexander  <mta@arbortext.com>
5815
5816         Note: Some of these were committed by accident as part of other
5817         patches.
5818
5819         * regex.c (regex_compile): Avoid compiler warnings.
5820
5821         * ntproc.c (sys_spawnve): Avoid compiler warnings.
5822
5823         * nt.h: Declare term_ntproc correctly.
5824
5825         * nt.c: Remove incorrect declaration of get_home_directory which
5826         is declared correctly in lisp.h.
5827
5828         * keymap.c (get_keyelt): Avoid compiler warnings.
5829         (raw_lookup_key_mapper): Avoid compiler warnings.
5830
5831         * gutter.c (gutter_was_visible): Add return statement to avoid warning.
5832
5833         * glyphs-eimage.c (png_instantiate): Avoid compiler warnings.
5834
5835         * filemode.c (mode_string): Avoid compiler warnings.
5836
5837         * file-coding.c (Fcoding_system_aliasee): Add return statement to
5838         avoid warning.
5839
5840         * events-mod.h: Undef some things that winuser.h defines differently.
5841
5842         * data.c (Faset): Avoid compiler warnings.
5843
5844         * alloc.c (Fmake_byte_code): Avoid compiler warnings.
5845
5846 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
5847
5848         * sound.c (Fplay_sound_file): Wrap ESD in start/stop_interrupts.
5849         Fall through to simple beep on error.
5850         Replace "extern" by real header file.
5851
5852         * linuxplay.c: Use nativesound.h
5853         (play_sound_data): Return error code. Be less verbose on error.
5854
5855         * sunplay.c: Use nativesound.h
5856         (play_sound_data): Return error code. Be less verbose on error.
5857
5858         * ntplay.c: Use nativesound.h
5859         (play_sound_data): Return fake error code
5860
5861         * sgiplay.c: Use nativesound.h
5862         (play_sound_data): Return error code
5863
5864         * hpplay.c: Use nativesound.h, partially implement
5865         new error code. Break compilation until finished.
5866         (play_sound_data): error code.
5867
5868         * nativesound.h (play_sound_file):
5869           (play_sound_data): Prototype in new header.
5870
5871 2000-03-31  Andy Piper  <andy@xemacs.org>
5872
5873         * glyphs-widget.c: (button_query_geometry): new function. Adjust
5874         for toggle and radio buttons.
5875         (image_instantiator_buttons): use it.
5876
5877 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
5878
5879         * scrollbar-x.c (x_update_vertical_scrollbar_callback):
5880         (x_update_horizontal_scrollbar_callback): Return if no mirror was
5881         found. Scrollbar event probably belonged to some old config.
5882
5883 2000-03-31  Andy Piper  <andy@xemacs.org>
5884
5885         * glyphs-widget.c (widget_instantiate): use LAYOUT_VERTICAL rather
5886         than 1.
5887         (initialize_widget_image_instance): default layout to
5888         LAYOUT_HORIZONTAL rather than 0.
5889         (widget_instantiate): reverse the item list at the end rather than
5890         every iteration.
5891         (layout_layout): re-code for the border text at the front of the
5892         item list rather than at the end.
5893         (layout_query_geometry): ditto. Pick up fixed and dynamic sizes
5894         provided by the user.
5895         (widget_query_geometry): comment.
5896
5897 2000-03-30  Andy Piper  <andy@xemacs.org>
5898
5899         * glyphs-widget.c (image_instantiator_layout): allow standard
5900         widget keywords in layouts.
5901
5902         * gutter.c (output_gutter): cope with nil gutter contents.
5903
5904         * frame.c (Fset_frame_properties): add gutter docs.
5905
5906 2000-03-29  Andy Piper  <andy@xemacs.org>
5907
5908         * toolbar-msw.c (TBSTYLE_FLAT): add.
5909         (mswindows_output_toolbar): minor fiddling.
5910
5911 2000-03-29  Andy Piper  <andy@xemacs.org>
5912
5913         * gutter.c (output_gutter): force gutter size recalculation if
5914         what we are trying to display won't fit.
5915         (update_gutter_geometry): new function. A per-gutter version of
5916         update_frame_gutter_geometry.
5917         (update_frame_gutter_geometry): use it.
5918         (redraw_exposed_gutter): add extra debugging output.
5919
5920 2000-03-28  Mike Alexander  <mta@arbortext.com>
5921
5922         * dumper.c: Declare pdump_hFile and pdump_hMap (Windows only)
5923         (pdump_file_unmap): Implement it on Windows
5924         (pdump_file_get): Save alocated handles for pdump_file_unmap
5925
5926 2000-03-28  Andy Piper  <andy@xemacs.org>
5927
5928         * gui.c (get_gui_callback): treat Quit specially.
5929
5930 2000-03-27  Andy Piper  <andy@xemacs.org>
5931
5932         * glyphs.c (image_instantiate): be careful to check in the same
5933         way we assigned.
5934
5935 2000-03-27  Didier Verna  <didier@xemacs.org>
5936
5937         * config.h.in: define the proper SMART_INCLUDE macro.
5938         handle renaming of `foo_h_path' to `foo_h_file'.
5939
5940         * database.c: ditto.
5941
5942         * emacs.c: ditto.
5943
5944         * linuxplay.c: ditto.
5945
5946         * terminfo.c: ditto.
5947
5948         * tooltalk.h: ditto.
5949
5950 2000-03-27  Andy Piper  <andy@xemacs.org>
5951
5952         * glyphs-msw.c (mswindows_update_widget): make sure the widget
5953         gets updated whenever the face might have changed.
5954
5955 2000-03-26  Mike Alexander  <mta@arbortext.com>
5956
5957         * dumper.c (pdump_resource_free): Fix the comment.
5958
5959 2000-03-21  Olivier Galibert  <galibert@pobox.com>
5960
5961         * input-method-xlib.c (XIM_init_frame): Remove painful warning.
5962
5963 2000-03-22  Mike Alexander  <mta@arbortext.com>
5964
5965         * dumper.c: Include Windows headers on Windows
5966         (pdump_resource_free): Add a body to the function
5967         (pdump_load): exe_name -> exe_path and add some comments.
5968
5969 2000-03-25  Mike Alexander  <mta@arbortext.com>
5970
5971         * gui.c (copy_gui_item_tree): Return a value in all cases
5972
5973 2000-03-21  Didier Verna  <didier@xemacs.org>
5974
5975         * config.h.in: move INCLUDE_GLUE_1 and INCLUDE_GLUE_2 here from
5976         lwlib/config.h.in.
5977         (SMART_INCLUDE): new macro.
5978         (POSTGRES_INCLUDE): new macro to include postgresql headers from
5979         the proper location.
5980
5981         * postgresql.c: use it.
5982
5983         * inline.c: ditto.
5984
5985 2000-03-24  Andy Piper  <andy@xemacs.org>
5986
5987         * gutter.c (redraw_exposed_gutters): must be "in display" when we
5988         do this.
5989
5990 2000-03-24  Andy Piper  <andy@xemacs.org>
5991
5992         * redisplay-output.c (compare_runes): use image_instance_changed
5993         to detect changes. Do not depend on glyphs_changed, only depend on
5994         dirtiness.
5995          (redisplay_output_layout): add debug messages.
5996         (compare_runes): ditto.
5997
5998         * glyphs.h: declare new functions.
5999         (struct Lisp_Image_Instance): remove percent and associated
6000         accessors.
6001
6002         * gui.h: declare new copying functions.
6003
6004         * gui.c (copy_gui_item_tree): new function.
6005         (copy_gui_item): new function.
6006         (gui_item_id_hash): revert to standard hash.
6007         (gui_item_hash): ditto.
6008         (gui_item_hash_internal): deleted.
6009         (mark_gui_item): mark value.
6010         (gui_item_add_keyval_pair): add value.
6011         (gui_item_init): ditto.
6012         (gui_add_item_keywords_to_plist): ditto.
6013         (gui_item_equal): ditto.
6014         (syms_of_gui): add Q_value.
6015
6016         * glyphs-x.c (x_progress_gauge_update): use pending items and
6017         value for setting the state.
6018         (x_update_widget): don't set items from pending here.
6019
6020         * glyphs-widget.c (update_widget): update items here.
6021         (progress_gauge_set_property): use items for storing value. Put
6022         new value in pending items.
6023
6024         * glyphs-msw.c (mswindows_progress_gauge_update): use pending
6025         items for new value. Convert percent -> value.
6026         (mswindows_tab_control_update): don't update items here.
6027
6028         * glyphs.c (Fupdate_widget_instances): use image_instance_changed.
6029         (update_subwindow): ditto.
6030         (image_instance_changed): new function. Compare hash values and
6031         past and present widget items.
6032         (image_instantiate): We more careful about where we instantiate
6033         things.
6034         (image_instantiate): add error checking.
6035
6036         * gutter.c (syms_of_gutter): use -hook.
6037
6038 2000-03-20  Yoshiki Hayashi  <yoshiki@xemacs.org>
6039
6040         * console-tty.c (Fset_console_tty_input_coding_system): Use
6041         Qkeyboard.
6042         (Fset_console_tty_output_coding_system): Use Qterminal.
6043         (tty_init_console): Use Qkeyboard and Qterminal.
6044
6045 2000-03-21  Ben Wing  <ben@xemacs.org>
6046
6047         * ntproc.c (create_child): remove bogus HAVE_NTGUI's.
6048         From Mike Alexander <mta@arbortext.com>.
6049
6050 2000-03-21  Ben Wing  <ben@xemacs.org>
6051
6052         * event-msw.c (mswindows_need_event): Horrible kludge to fix
6053         process brokenness.  Proper implementation to come.
6054         * callproc.c:
6055         Rename call-process-internal to old-call-process-internal.
6056         New impl. in process.el.
6057
6058 2000-03-21  Martin Buchholz  <martin@xemacs.org>
6059
6060         * Makefile.in.in: Coalesce HAVE_NATIVE_SOUND code fragments.
6061
6062 2000-03-20  Andy Piper  <andy@xemacs.org>
6063
6064         * glyphs.c (full_list_hash): make hashes of the same elements in
6065         different orders return different values.
6066
6067 2000-03-20  Martin Buchholz <martin@xemacs.org>
6068
6069         * XEmacs 21.2.32 is released.
6070
6071 2000-03-20  Martin Buchholz  <martin@xemacs.org>
6072
6073         * buffer.h (DFC_ALLOCA_USE_CONVERTED_DATA):
6074         (DFC_MALLOC_USE_CONVERTED_DATA):
6075         Add aliasing-safe casts to allow use with char* or unsigned char*
6076         lvalues.
6077
6078         * eldap.c (Fldap_open):
6079         (Fldap_search_basic):
6080         (Fldap_add):
6081         (Fldap_modify):
6082         Make C++-compilable.
6083         Make sure GCPRO'ed variables are initialized.
6084         Use temp variables to avoid repeated calls to Flength.
6085
6086 2000-03-16  Martin Buchholz  <martin@xemacs.org>
6087
6088         * sysfile.h:
6089         Make sure PATH_MAX is always defined.
6090         Include limits.h for PATH_MAX.
6091         Deprecate use of MAXPATHLEN.
6092
6093 2000-03-10  Martin Buchholz  <martin@xemacs.org>
6094
6095         * emacs.c: Add reinit_vars_of_fileio.
6096         * symsinit.h: Add reinit_vars_of_fileio.
6097         * fileio.c (reinit_vars_of_fileio): New.
6098         * fileio.c (Fmake_temp_name):
6099         Initialize temp_name random number from microseconds to make
6100         collisions even less likely.  Initialize always at process startup
6101         time.  (make-temp-name) used to return the same file name twice in
6102         a row when PDUMP.
6103         Random stylistic fiddling.
6104         Comment fixes.
6105
6106 2000-03-20  Andy Piper  <andy@xemacs.org>
6107
6108         * glyphs.c (image_instantiate): allow text glyphs to be
6109         instantiated in the minibuffer window.
6110
6111 2000-03-19  Andy Piper  <andy@xemacs.org>
6112
6113         * glyphs.c (image_instance_hash): be careful about which items we
6114         hash on.
6115
6116         * glyphs-widget.c (tab_control_set_property): record into pending
6117         items rather than the actual items.
6118
6119         * glyphs-x.c (x_update_widget): use pending items to update with.
6120
6121         * glyphs-msw.c (mswindows_tab_control_update): use pending items
6122         to update with.
6123
6124         * glyphs.c (mark_image_instance): mark pending items.
6125
6126         * window.c (Fset_window_configuration): record the buffer.
6127         (Fselect_window): totally revert previous change which breaks many
6128         things.
6129
6130 2000-03-18  Andy Piper  <andy@xemacs.org>
6131
6132         * glyphs-msw.c (mswindows_tab_control_update): force selected
6133         item.
6134
6135         * glyphs.c (image_instantiate): don't allow the minibuffer as a
6136         window domain cache, otherwise we get inconsistencies at
6137         startup. There is something fishy at startup which can lead to the
6138         minibuffer being the selected window when the gutter content is
6139         instantiated.
6140
6141         * gui.c (parse_gui_item_tree_list): add probably unnecessary
6142         gcpros.
6143         (parse_gui_item_tree_children): ditto.
6144         (parse_gui_item_tree_item): ditto.
6145
6146         * glyphs.c (Fupdate_widget_instances): return something.
6147
6148 2000-03-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
6149
6150         * window.c (Fselect_window): Undo 2000-03-17 change.
6151
6152 2000-03-17  SL Baur  <steve@musashimaru.m17n.org>
6153
6154         * postgresql.c (Fpq_setenv): Remove this turkey when linking
6155         against v7.0 libraries.  Insta-coredump city until the postgres
6156         folks fix it.
6157
6158 2000-03-17  Andy Piper  <andy@xemacs.org>
6159
6160         * faces.c (complex_vars_of_faces): don't give the widget face an
6161         inherited background pixmap.
6162
6163         * glyphs-msw.c (mswindows_tab_control_instantiate): select the
6164         selected item.
6165
6166         * event-stream.c (Fdispatch_non_command_events): return something.
6167
6168         * gutter.c (output_gutter): use widget face.
6169         (clear_gutter): ditto.
6170
6171         * NEWS: adjust again.
6172
6173         * window.c (Fselect_window): make sure this runs to completion to
6174         avoid oddities with Fset_window_configuration.
6175         (Fcurrent_window_configuration): in general do not save the
6176         minibuffer as the selected window.
6177
6178         * glyphs.h (IMAGE_INSTANCE_HASH_DEPTH): increase.
6179
6180 2000-03-16  Olivier Galibert  <galibert@pobox.com>
6181
6182         * emacs.c (Frunning_temacs_p): Revert previous patch.
6183         (main_1): Reinitialize running_temacs_argc if pdump_load succeeds.
6184
6185 2000-03-16  Andy Piper  <andy@xemacs.org>
6186
6187         * glyphs-x.c (x_tab_control_update): if no widget values then
6188         return.
6189
6190         * NEWS: update for new features.
6191
6192         * event-Xt.c (emacs_Xt_force_event_pending): new function. Post a
6193         synthetic event to the native system.
6194         (reinit_vars_of_event_Xt): set force_event_pending to
6195         emacs_Xt_force_event_pending.
6196
6197         * events.h (struct event_stream): add force_event_pending.
6198
6199         * specifier.c (recompute_one_cached_specifier_in_window): add
6200         comment.
6201
6202         * redisplay.c (redisplay_frame): don't call
6203         update_frame_subwindows. Reset subwindow cachels when
6204         subwindows_changed, removing this was an optimization too far.
6205
6206         * redisplay-output.c (compare_runes): reorganize so that we catch
6207         glyph changes when we want them. Set optimize_output when this
6208         would help layouts.
6209         (redisplay_output_layout): remove frame_really_changed, use
6210         optimize_output instead.
6211
6212         * redisplay-msw.c (mswindows_output_display_block): reset
6213         optimize_output after outputting a glyph.
6214         * redisplay-x.c (x_output_display_block): ditto.
6215         * redisplay-tty.c (tty_output_display_block): ditto.
6216
6217         * gutter.c: (specifier_vars_of_gutter): use new spec changed
6218         functions.
6219         (gutter_specs_changed): do specific gutter positions.
6220         (top_gutter_specs_changed): new function. Only update the
6221         specified gutter specs.
6222         (bottom_gutter_specs_changed): ditto.
6223         (left_gutter_specs_changed): ditto.
6224         (right_gutter_specs_changed): ditto.
6225
6226         * gui.c (gui_item_hash_internal): new function, does a real hash.
6227         (gui_item_id_hash): use it.
6228         (gui_item_hash): hash the eval'ed gui_item.
6229
6230         * gui-x.c (popup_selection_callback): send an eval event to call
6231         Fupdate_widget_instances.
6232
6233         * gui-msw.c (mswindows_handle_gui_wm_command): send an eval event
6234         to call Fupdate_widget_instances.
6235
6236         * glyphs.h (struct Lisp_Image_Instance): add optimize_output flag.
6237         (IMAGE_INSTANCE_OPTIMIZE_OUTPUT): access it.
6238
6239         * glyphs.c: (update_frame_subwindows): deleted.
6240         (Fupdate_widget_instances): new function for updating the dirty
6241         state of widgets that might have changed.
6242         (syms_of_glyphs): add Qupdate_widget_instances.
6243         (full_list_hash): hash a list completely.
6244         (image_instance_hash): use it for items and properties.
6245
6246         * frame-msw.c (mswindows_size_frame_internal): remove unused
6247         variable.
6248
6249         * faces.h (struct face_cachel): fix comment.
6250
6251         * event-stream.c (Fdispatch_non_command_events): new
6252         function. Process non-command events, forcing an event cycle
6253         beforehand.
6254         (syms_of_event_stream): declare.
6255         (event_stream_force_event_pending): new function. Force an event
6256         on the native event queue so that an event cycle will occur next
6257         time we check.
6258
6259         * event-msw.c:
6260         (struct ntpipe_shove_stream):
6261         (mswindows_enqueue_dispatch_event):
6262         (mswindows_dequeue_dispatch_event):
6263         (mswindows_cancel_dispatch_event):
6264         (mswindows_pump_outstanding_events):
6265         (mswindows_drain_windows_queue):
6266         (mswindows_handle_paint):
6267         (mswindows_wnd_proc):
6268         (mswindows_key_to_emacs_keysym):
6269         (get_process_input_waitable):
6270         (emacs_mswindows_delete_stream_pair): re-indent file.
6271         (mswindows_need_event): do not process further fds if the windows
6272         fd is set, otherwise you get endless XM_BUMPQUEUE cycles. This
6273         fixes the 100% cpu problem.
6274         (reinit_vars_of_event_mswindows): set force_event_pending to 0.
6275
6276 2000-03-15  Olivier Galibert  <galibert@pobox.com>
6277
6278         * alloc.h: New.
6279         * dumper.h: New.
6280         * dumper.c: New.
6281
6282         * emacs.c: Moved dump file searching to dumper.c.
6283         (Frunning_temacs_p): Fixed.
6284
6285         * alloc.c: Moved everything pdump-related to dumper.c.  Removed
6286         last_lrecord_type_index_assigned.
6287
6288 2000-02-20  Olivier Galibert  <galibert@pobox.com>
6289
6290         * symsinit.h: Added reinit parameter to init_console_stream
6291         declaration.
6292
6293         * lisp.h: Added file parameter to pdump_load declaration.
6294
6295         * emacs.c (main_1): Added -nd/--nodump-file and -sd/--show-dump-id
6296         support.  Added dump file searching.
6297
6298         * config.h.in: Added EMACS_PROGNAME.
6299
6300         * console-stream.c (init_console_stream): Fix reinitialisation
6301         when running from temacs.
6302
6303         * alloc.c (pdump): Add id support.
6304         (pdump_load): Add file parameter and signature/id support.
6305
6306         * Makefile.in.in: Add full pdump support.
6307
6308 2000-03-15  SL Baur  <steve@musashimaru.m17n.org>
6309
6310         * postgresql.c: Update documentation to reflect latest code
6311         status.
6312         (print_result): Show tuple counts in printed representation when
6313         appropriate.
6314         (Fpq_put_nbytes): MULE-ize.
6315         (Fpq_get_line_async): Ditto.
6316
6317 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
6318
6319         * postgresql.c (Fpq_lo_import): Fix return value.
6320         Suggested by: Kenji Itoh <keit@tpj.co.jp>.
6321
6322 2000-03-13  Ben Wing  <ben@xemacs.org>
6323
6324         * alloc.c (pdump_load):
6325         Fix compile warning under mswin.
6326
6327 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
6328
6329         * postgresql.c: Mule-ization, bug fixes.
6330         Use PG_CODING to encapsulate coding system name changes.
6331         Backport a version of TO_EXTERNAL format for 21.1/InfoDock.
6332         (pg-coding-system): Create.
6333
6334         (Fpq_conn_defaults): Mule-ize.
6335         (Fpq_connectdb): Mule-ize & bug fix.
6336         (Fpq_connect_start): Mule-ize.
6337         (Fpq_set_client_encoding): Mule-ize.
6338         (Fpq_finish): Document `DEAD' connection status.
6339         (Fpq_clear): Ditto.
6340         (Fpq_pgconn): Mule-ize.
6341         (Fpq_exec): Mule-ize & bug fix.
6342         (Fpq_send_query): Ditto.
6343         (Fpq_get_result): Ditto.
6344         (Fpq_res_status): Mule-ize.
6345         (Fpq_result_error_message): Mule-ize.
6346         (Fpq_ntuples): fix comments.
6347         (Fpq_fname): Mule-ize.
6348         (Fpq_fnumber): Mule-ize.
6349         (Fpq_ftype): fix comments.
6350         (Fpq_get_value): Mule-ize.
6351         (Fpq_cmd_status): Ditto.
6352         (Fpq_cmd_tuples): Ditto.
6353         (Fpq_oid_value): Ditto.
6354         (Fpq_notifies): Ditto.
6355         (Fpq_lo_import): Ditto.
6356         (Fpq_lo_export): Ditto.
6357         (Fpq_get_line): Ditto.
6358         (Fpq_put_line): Mule-ize and bug fix.
6359         (syms_of_postgresql): Fix ifdef'ing, add pg-coding-system.
6360
6361 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
6362
6363         * postgresql.c (vars_of_postgresql): Mule-ize.
6364         (Fpq_conn_defaults): Ditto.
6365
6366 2000-03-12  Ben Wing  <ben@xemacs.org>
6367
6368         * alloc.c (Fmake_byte_code):
6369         * alloc.c (debug_string_purity_print):
6370         * alloc.c (pdump_backtrace):
6371         * alloc.c (pdump_get_indirect_count):
6372         * alloc.c (pdump_register_sub):
6373         * alloc.c (pdump_register_object):
6374         * alloc.c (pdump_register_struct):
6375         * alloc.c (pdump_dump_data):
6376         * alloc.c (pdump_reloc_one):
6377         Minor cleanups.
6378
6379         * console-msw.c:
6380         * console-msw.c (GetConsoleHwnd):
6381         * console-msw.c (msw_hide_console):
6382         * console-msw.c (msw_show_console):
6383         * console-msw.c (msw_ensure_console_buffered):
6384         * console-msw.c (msw_output_console_string):
6385         * console-msw.c (console_type_create_mswindows):
6386
6387         a) Added functions to manipulate the console window for use with
6388         shell support.
6389
6390         b) Added support for writing text to the console, which is now
6391         used under Windows when xemacs is not being run non-interactively,
6392         to write text that would otherwise be destined for stdout because
6393         under these circumstances, text written to stdout tends to
6394         disappear and not be seen.
6395
6396         * console-msw.h:
6397         * event-Xt.c:
6398         * event-Xt.c (x_event_to_emacs_event):
6399         * event-Xt.c (describe_event_window):
6400         * events-mod.h (XEMACS_MOD_CONTROL):
6401         * events.c:
6402         * events.c (Fmake_event):
6403         * events.c (character_to_event):
6404         * events.c (event_to_character):
6405         * events.c (format_event_object):
6406         * events.c (Fevent_modifiers):
6407         * events.h:
6408         * events.h (struct key_data):
6409         * events.h (struct button_data):
6410         * events.h (struct misc_user_data):
6411         * frame-x.c (Fcde_start_drag_internal):
6412         * frame-x.c (Foffix_start_drag_internal):
6413         * gpmevent.c (Freceive_gpm_event):
6414         * keymap.c:
6415         * keymap.c (bucky_sym_to_bucky_bit):
6416         * keymap.c (control_meta_superify):
6417         * keymap.c (make_key_description):
6418         * keymap.c (keymap_lookup_directly):
6419         * keymap.c (create_bucky_submap):
6420         * keymap.c (keymap_store):
6421         * keymap.c (define_key_check_and_coerce_keysym):
6422         * keymap.c (define_key_parser):
6423         * keymap.c (define_key_alternate_name):
6424         * keymap.c (Fdefine_key):
6425         * keymap.c (raw_lookup_key_mapper):
6426         * keymap.c (struct map_keymap_unsorted_closure):
6427         * keymap.c (map_keymap_unsorted_mapper):
6428         * keymap.c (map_keymap_sort_predicate):
6429         * keymap.c (map_keymap_sorted):
6430         * keymap.c (accessible_keymaps_mapper_1):
6431         * keymap.c (where_is_recursive_mapper):
6432         * keymap.c (describe_map_mapper):
6433         * keymap.c (describe_map_sort_predicate):
6434         * keymap.c (describe_map):
6435         * keymap.c (complex_vars_of_keymap):
6436         And a number of other files, the key modifier preprocessor
6437         constants that xemacs uses have names that conflict with constants
6438         defined under MS Windows for other purposes, so they were renamed
6439         to begin with the prefix XEMACS_. The variables that hold such
6440         modifiers were changed to consistently be of type int to fix
6441         various compile warnings.
6442
6443         * console.c (complex_vars_of_console):
6444         * device.c:
6445         * device-msw.c:
6446         * device-msw.c (mswindows_finish_init_device):
6447         * device-msw.c (msw_get_workspace_coords):
6448         * device-msw.c (mswindows_device_system_metrics):
6449         and various other files, added support for a new
6450         device property called offset-workspace which returns the position
6451         of the upper left corner of the workspace area and goes along with
6452         the existing size-workspace property.
6453
6454         * dialog-msw.c:
6455         * dialog-msw.c (push_bufbyte_string_as_unicode):
6456         * dialog-msw.c (mswindows_popup_dialog_box):
6457         Added support for XEmacs-style accelerator specifications in
6458         button text.  Note: I didn't add support for this under X Windows,
6459         and somebody needs to do this.
6460
6461         * dialog.c:
6462         * dialog.c (Fpopup_dialog_box):
6463         Documented the support for accelerators that was just mentioned.
6464
6465         editfns.c (get_home_directory): Changed behavior under Windows
6466         when HOME not defined; former behavior was irretrievably broken.
6467
6468         * emacs.c:
6469         * emacs.c (main_1):
6470         * emacs.c (main):
6471         * minibuf.c (clear_echo_area_internal):
6472         * minibuf.c (echo_area_append):
6473         * print.c:
6474         * print.c (std_handle_out_external):
6475         * print.c (std_handle_out_va):
6476         * print.c (fatal):
6477         * print.c (write_string_to_stdio_stream):
6478         * print.c (output_string):
6479         * print.c (debug_print):
6480         * print.c (debug_backtrace):
6481         * print.c (debug_short_backtrace):
6482         Cleaned up the code that prints text to stdout so that this can be
6483         changed to output into a console window instead under MS Windows,
6484         as described above.
6485
6486         * eval.c:
6487         * eval.c (DEFEND_AGAINST_THROW_RECURSION):
6488         * eval.c (internal_catch):
6489         * eval.c (unwind_to_catch):
6490         * eval.c (throw_or_bomb_out):
6491         * eval.c (condition_case_1):
6492         * eval.c (signal_1):
6493         * eval.c (check_error_state_sanity):
6494         * eval.c (call_with_suspended_errors_1):
6495         * eval.c (call_with_suspended_errors):
6496         * eval.c (reinit_vars_of_eval):
6497         Added code to catch throw loops and check for a pesky bug that may
6498         be gone now.
6499
6500         * event-msw.c:
6501         * event-msw.c (key_needs_default_processing_p):
6502         * event-msw.c (mswindows_wnd_proc):
6503         * event-msw.c (mswindows_modifier_state):
6504         * event-msw.c (emacs_mswindows_quit_p):
6505         * event-msw.c (vars_of_event_mswindows):
6506         a) Added support for using the alt key to select menu items as is
6507         standard under MS Windows.  This is controlled using the variable
6508         menu-accelerator-enabled, just like under X Windows.  There is an
6509         option on the options menu to turn this support on.  I really
6510         think that it should be on by default under Windows, but I'm not
6511         going to make this change yet.
6512
6513         b)  Added support for dynamic display size changes under Windows.
6514
6515         * event-stream.c:
6516         * event-stream.c (maybe_echo_keys):
6517         * event-stream.c (Fnext_event):
6518         * event-stream.c (command_builder_find_leaf):
6519         * event-stream.c (lookup_command_event):
6520         * event-stream.c (execute_command_event):
6521         * event-stream.c (pre_command_hook):
6522         * event-stream.c (post_command_hook):
6523         * event-stream.c (syms_of_event_stream):
6524         * event-stream.c (vars_of_event_stream):
6525         * event-stream.c (complex_vars_of_event_stream):
6526         * events.h (struct command_builder):
6527
6528         a) Tried to clean up a little bit the horribly written x-specific
6529         accelerator code that crept into this file.  I moved this code
6530         into menubar-x.c where it belongs. I also needed to move the
6531         command builder structure into the file events.h because it is
6532         accessed directly by this accelerator code.  What I didn't do, but
6533         which should be done at some point, is to properly abstract this
6534         code using device methods instead of the kludgy way that it
6535         currently hooks into the event code.
6536
6537         b) Added the lisp variables this-command-properties and
6538         last-command- properties, which should be used to synchronize two
6539         adjacent commands in preference to playing games with the variable
6540         this-command, which is typically what happens.
6541
6542         c) Added some slightly nasty code to hook into the lisp support
6543         for shifted- motion-key selection.  This is actually necessary for
6544         somewhat complicated reasons, which are described in
6545         simple.el. (NB: I think the proper thing would be to have the code
6546         that calls the pre and post command hooks also call out to generic
6547         lisp functions in simple.el, where all built-in stuff could be
6548         added.  I will think about this more.)
6549
6550         * event-unixoid.c (poll_fds_for_input):
6551         * lread.c (readchar):
6552         * redisplay-tty.c (tty_clear_frame):
6553         * redisplay-x.c (x_get_gc):
6554         * signal.c (interrupt_signal):
6555         And a whole bunch of other files: fixed up places that printed
6556         directly to stderr to instead call the function stderr_out so that
6557         the changes I made under Windows work correctly.
6558
6559         * filemode.c (mode_string):
6560         Warning fixes.
6561
6562         * frame-msw.c:
6563         * frame-msw.c (mswindows_size_frame_internal):
6564         Fixed the computation of frame size and position to keep the frame
6565         within the workspace area, rather than within the physical
6566         dimensions of the screen, so that the frame doesn't overlap window
6567         manager decorations, such as the start menu and toolbar, typically
6568         at the bottom of the screen.
6569
6570         * frame.c (vars_of_frame):
6571         Changed the default frame title format under MS Windows to consist
6572         of buffername-XEmacs, which is standard under MS Windows.  I think
6573         it might be a good idea to change this everywhere because I think
6574         it is superior to the current frame title format, but this is the
6575         kind of change that is likely to cause some people to get annoyed,
6576         so I'm not making it.
6577
6578         * glyphs-eimage.c (png_instantiate): Fixed some compile warnings.
6579
6580         * gui-msw.c (mswindows_handle_gui_wm_command):
6581         Fixed compile warnings.
6582
6583         * gui-x.c:
6584         * gui-x.c (strdup_and_add_accel):
6585         * gui-x.c (button_item_to_widget_value):
6586         * gui-x.h:
6587         Added code to automatically put an accelerator onto the beginning
6588         of menu items that don't have one as is now the standard, and is
6589         described more later.  Also fixed things so that the menu item
6590         name can be an evaluated expression, again a new standard.
6591
6592         * gui.c:
6593         * gui.c (gui_item_add_keyval_pair):
6594         * gui.c (make_gui_item_from_keywords_internal):
6595         * gui.c (gui_add_item_keywords_to_plist):
6596         * gui.c (gui_item_accelerator):
6597         * gui.c (gui_name_accelerator):
6598         * gui.c (gui_item_included_p):
6599         * gui.c (gui_item_display_flush_left):
6600         * gui.c (gui_item_display_flush_right):
6601         * gui.c (parse_gui_item_tree_item):
6602         * gui.c (parse_gui_item_tree_children):
6603         * gui.c (parse_gui_item_tree_list):
6604         Mule-ized.  Cleanup.  GCPRO addition.
6605
6606         * line-number.c (buffer_line_number):
6607         * lisp.h:
6608         * lisp.h (EMACS_INT_MAX):
6609         Added the manifest constant EMACS_INT_MIN corresponding to the
6610         existing constant EMACS_INT_MAX.  This is partially to fix compile
6611         warnings under Windows, and partly for cleanliness.
6612
6613         * menubar-msw.c:
6614         * menubar-msw.c (REPLACE_ME_WITH_GLOBAL_VARIABLE_WHICH_CONTROLS_RIGHT_FLUSH):
6615         * menubar-msw.c (msw_translate_menu_or_dialog_item):
6616         * menubar-msw.c (displayable_menu_item):
6617         * menubar-msw.c (populate_menu_add_item):
6618         * menubar-msw.c (populate_or_checksum_helper):
6619         * menubar-msw.c (populate_menu):
6620         * menubar-msw.c (update_frame_menubar_maybe):
6621         * menubar-msw.c (prune_menubar):
6622         * menubar-msw.c (msw_char_is_accelerator):
6623         * menubar-msw.c (unsafe_handle_wm_initmenu_1):
6624         * menubar-msw.c (mswindows_handle_wm_command):
6625         * menubar-msw.c (mswindows_handle_wm_initmenupopup):
6626         * menubar-msw.c (mswindows_handle_wm_initmenu):
6627         * menubar-msw.c (mswindows_update_frame_menubars):
6628         * menubar-msw.c (mswindows_free_frame_menubars):
6629         * menubar-msw.c (mswindows_popup_menu):
6630         Fixed a bug in handling accelerators where an extra character
6631         would be displayed in the menu item.  Also generalized the
6632         function displayable_menu_item because it is now used by the
6633         dialog box code as well.  And finally, added code in the functions
6634         that create the menubar to extract a list of accelerators for the
6635         top level menubar, which is used in the event code to determine
6636         whether a particular alt-key combination should be used to invoke
6637         a menu item, or should be passed through to access the standard
6638         XEmacs keymap binding for this key combination.
6639
6640         Much needed GCPROing.
6641
6642         * menubar-x.c:
6643         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
6644         * menubar-x.c (menu_item_descriptor_to_widget_value):
6645         * menubar-x.c (restore_in_menu_callback):
6646         * menubar-x.c (x_popup_menu):
6647         * menubar-x.c (menu_move_up):
6648         * menubar-x.c (menu_move_down):
6649         * menubar-x.c (menu_move_left):
6650         * menubar-x.c (menu_move_right):
6651         * menubar-x.c (menu_select_item):
6652         * menubar-x.c (command_builder_operate_menu_accelerator):
6653         * menubar-x.c (menu_accelerator_junk_on_error):
6654         * menubar-x.c (command_builder_find_menu_accelerator):
6655         * menubar-x.c (Faccelerate_menu):
6656         * menubar.h:
6657         Moved a whole bunch of code here that was previously in
6658         event-stream.c as described above.  There is also code connected
6659         to the new standard of adding an accelerator to the beginning of
6660         menu items that don't have one as described above and below.
6661
6662         * menubar.c:
6663         * menubar.c (menu_parse_submenu_keywords):
6664         * menubar.c (Fmenu_find_real_submenu):
6665         * menubar.c (Fnormalize_menu_item_name):
6666         * menubar.c (syms_of_menubar):
6667         * menubar.c (vars_of_menubar):
6668         * menubar.c (complex_vars_of_menubar):
6669
6670         a) Cleaned up a bunch of documentation and improved it.
6671
6672         b) XEmacs now automatically adds an accelerator onto the beginning
6673         of any menu items that don't have one.  I did this because there
6674         will inevitably be some menu items on the main menubar that don't
6675         have accelerators on them because the package that adds that
6676         particular menu item hasn't yet been fixed up to have accelerators
6677         in them and it looked rather strange to have some items with and
6678         some items without accelerators, especially since even in items
6679         without accelerators, you can, at least under windows, still
6680         access the item through an accelerator corresponding to the first
6681         character in the item's name.  If people don't like this behavior,
6682         I can add a variable to turn it off optionally, but I'm not sure
6683         this is a good idea because we really do need to have accelerators
6684         on all of the menu items, and if a package doesn't like the
6685         accelerators being put on the first character, then it should put
6686         the accelerators where they belong.
6687
6688         c) I made a behavior change, which is that the descriptor that
6689         specifies the text of the menu item, which formerly was just a
6690         string, can now also be an evaluated expression.  This makes this
6691         descriptor parallel with all of the others, which could also be
6692         evaluated expressions.  This also obviates the need for the
6693         keyword :label, which was previously listed in the documentation
6694         as unimplemented, and which was for the same purpose.
6695
6696         d) GCPROing.
6697
6698         * ntproc.c:
6699         * ntproc.c (new_child):
6700         * ntproc.c (sys_spawnve):
6701         * ntproc.c (find_child_console):
6702         * ntproc.c (sys_kill):
6703         Fixed compile warnings.  By the way, this file should really go
6704         away entirely, and this will happen as soon as Kirill makes his
6705         final round of process cleanups, which affect the function
6706         call-process.
6707
6708         * process-nt.c:
6709         * process-nt.c (struct nt_process_data):
6710         * process-nt.c (find_process_from_pid):
6711         * process-nt.c (send_signal_the_nt_way):
6712         * process-nt.c (enable_child_signals):
6713         * process-nt.c (find_child_console):
6714         * process-nt.c (send_signal_the_95_way):
6715         * process-nt.c (nt_finalize_process_data):
6716         * process-nt.c (ensure_console_window_exists):
6717         * process-nt.c (nt_create_process):
6718         * process-nt.c (nt_kill_child_process):
6719         * process-nt.c (nt_kill_process_by_pid):
6720         * process-nt.c (nt_open_network_stream):
6721         * process-nt.c (vars_of_process_nt):
6722         Copied over code from Emacs 20.5 to correctly send signals to sub-
6723         processes under Windows 95.  Also added code to automatically
6724         create and hide console window when a sub-process is created under
6725         Windows 95, which obviates the need for the separate runemacs.exe
6726         executable, and finally implemented some variables that were
6727         implemented in Emacs 20.5, but previously not in XEmacs.  These
6728         include mswindows- start-process-share-console and
6729         mswindows-start-process-inherit-error-mode. (Both of these only
6730         apply to Windows 95.)
6731
6732         * regex.c (regex_compile): Fixed a compile warning.
6733
6734         * select-msw.c:
6735         * select-msw.c (mswindows_own_selection):
6736         * select-msw.c (mswindows_get_foreign_selection):
6737         * select-msw.c (mswindows_disown_selection):
6738         * select-msw.c (console_type_create_select_mswindows):
6739         * select-msw.c (syms_of_select_mswindows):
6740         Cleaned up the file and implemented the device method
6741         selection_exists_p, which had accidentally been left out.  Also
6742         removed four lisp functions that were remnants from before the
6743         time when the selection code was properly device abstracted.
6744         These functions are no longer needed because there are generic
6745         equivalents, and because they were added recently and don't exist
6746         in FSF Emacs, I don't think there's any problem with just deleting
6747         them.
6748
6749         * sysdep.c:
6750         * sysdep.c (sys_subshell):
6751         Fixed a compile warning, although in this case there's probably
6752         something wrong with this code, and it ought to be looked into
6753         more thoroughly by somebody who understands it.
6754
6755         * window.c:
6756         * window.c (Fwindow_text_area_height):
6757         * window.c (Fwindow_width):
6758         * window.c (Fwindow_full_width):
6759         * window.c (Fwindow_pixel_width):
6760         * window.c (debug_print_window):
6761         * window.c (syms_of_window):
6762         Added functions window-text-area-height and window-full-width,
6763         which are functions for returning various width and height
6764         characteristics of a window. (One of these functions is necessary
6765         for making the file dialog box work correctly, and the other one
6766         was added for completeness.)  Also added a table to the
6767         documentation for window-height which describes the entire scheme
6768         for accessing width and height characteristics of a window.
6769
6770 2000-03-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
6771
6772         * nt.c (fstat): Added a comment for another problem with
6773         non-encapsulated [f]stat(), reported by Adrian Aichner
6774         <aichner@ecf.teradyne.com>.
6775
6776 2000-03-11  Andy Piper  <andy@xemacs.org>
6777
6778         * window.c (make_dummy_parent): initialize subwindow instance
6779         cache.
6780         (Fset_window_configuration): zero extent_modiff.
6781
6782 2000-03-10  Andy Piper  <andy@xemacs.org>
6783
6784         * redisplay.c (Fredraw_frame): reset the changed_set flags so that
6785         more changes can be triggered.
6786         (Fredisplay_frame): ditto.
6787         (Fredraw_device): ditto.
6788         (Fredisplay_device): ditto.
6789         (redisplay_frame): make non-static.
6790         (redisplay_frame): call update_frame_gutter_geometry outside of
6791         display proper.
6792
6793         * gutter.h: declare update_frame_gutter_geometry.
6794
6795         * redisplay.h: declare redisplay_frame.
6796
6797         * gutter.c (update_frame_gutter_geometry): move geometry changes
6798         in update_frame_gutters here. Geometry changes can only occur
6799         outside of redisplay.
6800         (update_frame_gutters): remove geometry change code.
6801         (Fredisplay_gutter_area): make sure that we are in display when we
6802         update and that we have flushed any size changes.
6803
6804 2000-03-11  Andy Piper  <andy@xemacs.org>
6805
6806         * alloc.c (pdump_dump_data): remove i & count shadows.
6807
6808 2000-02-27  Mike Alexander  <mta@arbortext.com>
6809
6810         * sysdep.h: Declare pdump_read_file
6811
6812         * sysdep.c (pdump_read_file): New function
6813
6814         * alloc.c (pdump_load): Call pdump_read_file to get the portable
6815         dump data
6816
6817 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
6818
6819         * lrecord.h: add `lrecord_type_pgsetenv'.
6820
6821 2000-03-08  SL Baur  <steve@musashimaru.m17n.org>
6822
6823         * symsinit.h: declare (vars|syms)_of* functions.
6824         * lrecord.h: add `lrecord_type_pgconn' and 'lrecord_type_pgresult'.
6825
6826 2000-03-06  SL Baur  <steve@musashimaru.m17n.org>
6827
6828         * config.h.in: Add symbols HAVE_POSTGRESQL and HAVE_POSTGRESQLV7
6829
6830         * inline.c: Include postgresql.h lrecord stuffs to placate buggy
6831         GCCs.
6832
6833         * emacs.c (main_1): Call postgres initialization code.
6834
6835         * postgresql.h: New file.  PostgreSQL RDBMS support.
6836         * postgresql.c: New file.
6837
6838 2000-03-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
6839
6840         * redisplay-output.c (redisplay_output_display_block): Disable
6841         redundant code.
6842
6843 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
6844
6845         * mule-canna.c (Fcanna_henkan_region): Translate doc-string.
6846         (Fcanna_henkan_next): Ditto.
6847         (Fcanna_bunsetu_henkou): Ditto.
6848         (Fcanna_henkan_kakutei): Ditto.
6849         (Fcanna_henkan_end): Ditto.
6850         (Fcanna_henkan_quit): Ditto.
6851         (Fcanna_henkan_next): Set retun value correctly.
6852         (c2mu): Use unsigned char instead of signed char.
6853
6854 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
6855
6856         * emacs.c (main_1): Always call syms_of_gui.
6857         * inline.c: include gui.h
6858
6859 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
6860
6861         * redisplay.c (Vvisible_bell): Renamed from visible_bell and
6862         converted to Lisp_Object.
6863         (Qtop_bottom): New variable.
6864         (syms_of_redisplay): Initialize it.
6865         * redisplay.h (Vvisible_bell): Ditto.
6866         * sound.c (ding): Ditto and check if Vvisible_bell is nil.
6867         * redisplay-x.c (x_flash): When Vvisible_bell is top-bottom,
6868         only flash top and bottom.
6869
6870 2000-03-08  Andy Piper  <andy@xemacs.org>
6871
6872         * buffer.c (Frename_buffer): record new buffer name the right way.
6873
6874 2000-03-08  Andy Piper  <andy@xemacs.org>
6875
6876         * glyphs.c (update_subwindow): increase hash depth so that widget
6877         items get picked up properly.
6878
6879         * redisplay-output.c (compare_runes): increase hash depth so that
6880         widget items get picked up properly.
6881
6882 2000-03-08  Andy Piper  <andy@xemacs.org>
6883
6884         * gutter.c (output_gutter): add some debug.
6885
6886         * glyphs.h (struct Lisp_Image_Instance): add display_hash.
6887         (IMAGE_INSTANCE_DISPLAY_HASH): new macro.
6888         (XIMAGE_INSTANCE_DISPLAY_HASH): ditto.
6889
6890         * redisplay-output.c (compare_runes): use display_hash to
6891         determine if glyphs really are not the same.
6892
6893         * glyphs.c (update_subwindow): check display_hash to see if
6894         anything really needs to be updated. If not then do
6895         nothing. Record the display_hash after updating.
6896         (image_instance_equal): compare the image_instance face also.
6897
6898 2000-03-07  Yoshiki Hayashi  <yoshiki@xemacs.org>
6899
6900         * redisplay.h: Fix comment style.
6901
6902 2000-03-08  Jonathan Harris  <jhar@tardis.ed.ac.uk>
6903
6904         * consle-msw.h (struct mswindows_frame):
6905         Added new member paint_pending to indicate whether a WM_PAINT
6906         magic event has been queued for this frame.
6907
6908         * event-msw.c (mswindows_drain_windows_queue):
6909         Don't queue a WM_PAINT magic event if one is already queued.
6910         (emacs_mswindows_handle_magic_event): clear paint_pending flag.
6911
6912         * frame-msw.c (mswindows_init_frame_1): initialise paint_pending flag.
6913
6914 2000-03-07  Didier Verna  <didier@xemacs.org>
6915
6916         * dired.c: #include `regex.h' after `sysfile.h'.
6917
6918 2000-03-06  Martin Buchholz  <martin@xemacs.org>
6919
6920         * sound.c (init_nas_sound): Fix compiler warning.
6921
6922         * alloc.c (ALIASING_VOIDPP_DEREFERENCE): New.
6923         (FREE_STRUCT_P):
6924         (MARK_STRUCT_AS_FREE):
6925         (MARK_STRUCT_AS_NOT_FREE):
6926         Make `gcc -fstrict-aliasing' work properly.
6927
6928 2000-03-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>
6929
6930         * device-msw.c (mswindows_finish_init_device): Call CoInitialize().
6931         (mswindows_delete_device): Call CoUnnitialize().
6932
6933         * event-msw.c (mswindows_wnd_proc): WM_DROPFILES: Decode Shortcuts.
6934
6935 2000-02-25    <CraigL@DyCon.com>
6936
6937         * process-nt.c: MinGW now has <shellapi.h>, but still needs
6938         <errno.h>.
6939
6940         * sysdep.c: This extern declaration for environ prevents MinGW
6941         from finding the variable in CRTDLL.DLL.
6942
6943         * s\mingw32.h (PBS_SMOOTH): Removed, now defined in cygwin's
6944         windows headers.
6945         (SHGFI_EXETYPE): ..
6946         (WM_MOUSEWHEEL): ..
6947         (_WIN32_IE): Added, needed to get the TCS_BOTTOM and TCS_VERTICAL
6948         definitions.
6949         (MMRESULT): Removed, now defined in cygwin's windows headers.
6950         (TIMECAPS): ..
6951         (uid_t,gid_t,pid_t,ssize_t): ..
6952         (_timeb): Removed, MinGW defines both _timeb and timeb.
6953         (HAVE_H_ERRNO): Added.
6954         (HAVE_TZNAME): Added, configure is not detecting this.
6955
6956 2000-02-03  IKEYAMA Tomonori <tomonori@suiyokai.org>
6957
6958         * chartab.h (XCHAR_TABLE_VALUE_UNSAFE): New macro.
6959         * syntax.c (syntax_match): Use it.
6960
6961         * cmds.c: Import auto-fill-chars from FSF Emacs.
6962         (Vauto_fill_chars): New variables.
6963         (internal_self_insert): Check Vauto_fill_chars.
6964         (vars_of_cmds):
6965         Declare auto-fill-chars as a Lisp variable and initialize it.
6966
6967 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
6968
6969         * fileio.c (Fmake_symbolic_link):
6970         (Ffile_symlink_p):
6971         Run handlers even if local machine doesn't have symlinks.
6972
6973 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
6974
6975         * event-msw.c (mswindows_drain_windows_queue):
6976         Don't generate paint magic events for non-XEmacs frames.
6977
6978 2000-03-05  Andy Piper  <andy@xemacs.org>
6979
6980         * redisplay.c (redisplay_frame): generate_displayable_area and
6981         friends assumes that we are not in GC, we therefore have to make
6982         sure that this doesn't happen.
6983
6984         * gutter.c (calculate_gutter_size): generate_displayable_area
6985         assumes that we are not in GC, we therefore have to make sure that
6986         this doesn't happen.
6987
6988 2000-03-05  Martin Buchholz  <martin@xemacs.org>
6989
6990         * opaque.c (DEFINE_LRECORD_IMPLEMENTATION): opaque_ptr ==> opaque-ptr
6991
6992 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
6993
6994         * redisplay.c (regenerate_window): Make sure we set a sane value
6995         for end_pos even if we jump out of the loop.
6996         (regenerate_window): Answer Ben's question :-).
6997         (start_end_of_last_line): Add may_error argument.
6998         (start_of_last_line):
6999         (end_of_last_line): Pass may_error = 0.
7000         (end_of_last_line_may_error): New function.
7001         (pixel_to_glyph_translation): Use it, so we don't crash in
7002         event_to_glyph.
7003
7004 2000-03-04  Andy Piper  <andy@xemacs.org>
7005
7006         * window.h (struct window): add gutter_extent_modiff.
7007
7008         * window.c (allocate_window): zero out gutter_extent_modiff.
7009
7010         * redisplay.h: declare sync_display_line_structs.
7011
7012         * redisplay.c (add_glyph_rune): add a better comment.
7013
7014         * redisplay-output.c (sync_display_line_structs): made non-static.
7015         (compare_runes): remove unneccesary glyph cachel access.
7016
7017         * gutter.h: declare gutter_extent_signal_changed_region_maybe.
7018
7019         * gutter.c (output_gutter): don't output the gutter if extent
7020         changes only involve extents in buffers. use 4 sets of display
7021         lines.
7022         (gutter_extent_signal_changed_region_maybe): new function. Mark
7023         extents in gutters as changed.
7024         (update_frame_gutters): use 4 sets of display lines.
7025         (reset_gutter_display_lines): ditto.
7026         (free_frame_gutters): ditto.
7027         (redraw_exposed_gutter): force output of gutters.
7028
7029         * frame.h (struct frame): add 4 sets of gutter display lines.
7030
7031         * extents.c: (extent_changed_for_redisplay): signal changes to
7032         extents in strings in the gutter as well as extents in buffers.
7033
7034 2000-03-02  Andy Piper  <andy@xemacs.org>
7035
7036         * gutter.c (specifier_vars_of_gutter): cosmetic changes.
7037
7038         * frame.c (Fmake_frame): make sure the gutters get initialized
7039         after the frame is visible.
7040         (set_frame_selected_window): re-arrange compilation macros a
7041         little.
7042         (change_frame_size_1): mark gutters changed.
7043
7044         * device.c (Fset_device_class): mark gutters changed.
7045
7046 2000-03-01  Andy Piper  <andy@xemacs.org>
7047
7048         * window.c (window_top_frame_gutter_height): deleted.
7049         (window_bottom_frame_gutter_height): ditto.
7050         (window_left_frame_gutter_height): ditto.
7051         (window_right_frame_gutter_height): ditto.
7052         (window_top_gutter_height): don't use them.
7053         (window_bottom_gutter_height): ditto.
7054         (window_left_gutter_width): ditto.
7055         (window_right_gutter_width): ditto.
7056         (Fsplit_window): ditto.
7057         (Fwindow_pixel_edges): don't use border dimensions here.
7058
7059         * scrollbar.c (update_scrollbar_instance): don't take gutters into account.
7060         (update_scrollbar_instance): ditto.
7061
7062         * redisplay.c (generate_modeline): don't take gutters into account.
7063         (generate_modeline): ditto.
7064         (redisplay_frame): small gutter display optimization.
7065
7066         * redisplay-x.c (x_output_vertical_divider): don't take gutters into account.
7067
7068         * redisplay-msw.c (mswindows_output_vertical_divider): don't take
7069         gutters into account.
7070
7071         * gutter.h (WINDOW_REAL_*_GUTTER_BOUNDS): remove bogus checks
7072         for window position and type.
7073
7074         * gutter.c (get_gutter_coords): fix for frame gutters.
7075         (update_frame_gutters): update frame geometry if the gutters have
7076         changed.
7077         (init_frame_gutters): record current gutter geometries.
7078
7079         * glyphs-msw.c (mswindows_subwindow_instantiate): remove unused
7080         var.
7081         (mswindows_widget_instantiate): ditto.
7082
7083         * frame.h (struct frame): add current_gutter_bounds.
7084
7085         * frame.c (change_frame_size_1): position window and minibuffer
7086         appropriately taking into account the frame gutters.
7087
7088         * frame-x.c: (x_initialize_frame_size): take into account the
7089         frame gutters.
7090
7091 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
7092
7093         * emacs.c (data-directory):  Xref `locate-data-file' in docstring.
7094
7095 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
7096
7097         * alloc.c (dumpopaquevec): Increase dimension for --with-canna.
7098
7099 1999-12-30  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
7100
7101         * file-coding.c (reset_decoding_stream): Clear previous
7102         detection state when autodetect.
7103
7104 2000-02-29  Didier Verna  <didier@xemacs.org>
7105
7106         * extents.c (set_extent_glyph_1): don't require extents to be
7107         attached.
7108
7109 2000-02-27  Andy Piper  <andy@xemacs.org>
7110
7111         * gutter.c (Fset_default_gutter_position): don't default left and
7112         right gutter visibility to t.
7113         (Fset_default_gutter_position): run
7114         default-gutter-position-changed-hook.
7115         (syms_of_gutter): add default-gutter-position-changed-hook.
7116
7117 2000-02-26  Andy Piper  <andy@xemacs.org>
7118
7119         * specifier.c (Fmake_specifier): add gutter references.
7120
7121         * gutter.h (RAW_WINDOW_GUTTER): new macro.
7122
7123         * lisp.h: declare Fvalid_plist_p.
7124
7125         * gutter.c (gutter_geometry_changed_in_window): mark the modeline
7126         as changed.
7127         (default_gutter_visible_p_changed_in_window): invalidate gutter as
7128         well as its visibility so that it gets reconstructed.
7129         (construct_window_gutter_spec): new function. Construct a string
7130         to be displayed in the gutter from a plist of strings. Take care
7131         to only use elements that are declared as visible.
7132         (calculate_gutter_size): use RAW_WINDOW_GUTTER instead of
7133         WINDOW_GUTTER.
7134         (gutter_validate): allow plists of strings in the specifier.
7135         (gutter_specs_changed): construct the real_gutter from the gutter
7136         specs using construct_window_gutter_spec.
7137         (gutter_visible_validate): gutter-visible is a new specifier type.
7138         (Fgutter_visible_specifier_p): new function for the new specifier.
7139         (syms_of_gutter): declare gutter-visible and
7140         Fgutter_visible_specifier_p.
7141         (specifier_type_create_gutter): intitalize new gutter-visible
7142         specifier.
7143         (reinit_specifier_type_create_gutter): ditto.
7144         (specifier_vars_of_gutter): use new specifier type for gutter
7145         visibility.
7146         (init_frame_gutters): construct real_gutter correctly.
7147         (Fgutter_specifier_p): beef up documentation.
7148         (Fgutter_size_specifier_p): ditto.
7149
7150         * winslots.h: add real_gutter slots.
7151
7152 2000-02-25  Andy Piper  <andy@xemacs.org>
7153
7154         * device-msw.c: Be kind to older cygwin versions. From Raymond
7155         Toy <toy@rtp.ericsson.se>.
7156
7157         * gui-msw.c (Fmswindows_shell_execute): Remove things unknown to
7158         earlier cygwins. From Raymond Toy <toy@rtp.ericsson.se>.
7159
7160 2000-02-25  Martin Buchholz  <martin@xemacs.org>
7161
7162         * elhash.c (MARK_OBJ): Practice macro hygiene.
7163
7164 2000-02-24  Martin Buchholz  <martin@xemacs.org>
7165
7166         * miscplay.c: s/__inline__/inline/g;
7167         * glyphs-msw.c (set_mono_pixel): INLINE ==> static inline
7168         (get_device_compdc): INLINE ==> static inline
7169         * *.[ch]: Change INLINE to INLINE_HEADER globally.
7170         find -name '*.h' | \
7171         xargs global-replace \
7172         's/(^|(?<=[^A-Za-z0-9_]))INLINE((?=[^A-Za-z0-9_])|$)/INLINE_HEADER/g'
7173
7174 2000-02-25  Andy Piper  <andy@xemacs.org>
7175
7176         * window.c (window_top_frame_gutter_height): new function.
7177         (window_top_window_gutter_height): ditto.
7178         (window_top_gutter_height): use them.
7179         (window_bottom_frame_gutter_height): new function.
7180         (window_bottom_window_gutter_height): ditto.
7181         (window_bottom_gutter_height): use them.
7182         (window_left_window_gutter_width): new function.
7183         (window_left_frame_gutter_width): ditto.
7184         (window_left_gutter_width): use them.
7185         (window_right_window_gutter_width): new function.
7186         (window_right_frame_gutter_width): ditto.
7187         (window_right_gutter_width): use them.
7188         (window_pixel_height): new function. calulate window pixel height
7189         with frame gutter involvement.
7190         (Fsplit_window): calculate new sizes taking frame gutters into
7191         account.
7192         (window_char_height_to_pixel_height): don't include frame gutters.
7193         (window_char_height): use window_pixel_height.
7194         (window_pixheight): rename from window_pixel_height.
7195         (change_window_height): use it.
7196         (window_pixel_height_to_char_height): don't include frame gutters.
7197         (window_char_width_to_pixel_width): ditto.
7198
7199 2000-02-25  Andy Piper  <andy@xemacs.org>
7200
7201         * glyphs.h (IMAGE_INSTANCE_FACE): glyph might be nil, don't crash
7202         if it is.
7203
7204 2000-02-24  Martin Buchholz  <martin@xemacs.org>
7205
7206         * alloc.c (staticpro):
7207         (staticpro_nodump):
7208         (dumpstruct):
7209         (dumpopaque):
7210         (pdump_wire):
7211         (pdump_wire_list):
7212         (compact_string_chars):
7213         (pdump_dump_wired):
7214         Convert:  if (foo) abort();  ==>  assert (! foo);
7215
7216         * eldap.c (Fldap_search_basic):
7217         (Fldap_add):
7218         (Fldap_modify):
7219         (Fldap_delete):
7220         Fix compiler warnings, and possible crashes if (random) return
7221         value were to be used.
7222
7223 2000-02-21  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7224
7225         * device-msw.c: Workaround ResetDC failure.
7226
7227         * frame-msw.c (msprinter_init_frame_3): Added an assertion before
7228         applying a devmode.
7229
7230         * redisplay-msw.c (get_frame_dc): Added start_page_p.
7231         (mswindows_text_width): Do not start printer page.
7232
7233         * console-msw.h (CHECK_MSGDI_DEVICE): Added this and friends.
7234
7235         * glyphs-msw.c: Added image methods to msprinter console and
7236         msprinter-specific image instantiation.
7237
7238 2000-02-20  Mike Alexander  <mta@arbortext.com>
7239
7240         * select-msw.c (Fmswindows_set_clipboard): GC protect more things
7241         to avoid crashes when selection-sets-clipboard is on
7242         (mswindows_own_selection): ditto
7243
7244 2000-02-19  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7245
7246         * glyphs-msw.c:
7247         * redisplay-msw.c (get_frame_dc):
7248         (get_frame_compdc):
7249         * console-msw.h:
7250         * device-msw.c (mswindows_init_device):
7251         (mswindows_delete_device):
7252         (msprinter_init_device):
7253         (msprinter_delete_device):
7254         * frame-msw.c (mswindows_init_frame_1):
7255         (mswindows_delete_frame):
7256         (msprinter_init_frame_3):
7257         (msprinter_delete_frame): Move compatible DC to device object from
7258         frame object, for both mswindows and msprinter. Only one at a time
7259         is needed, it is a real waste to have one per frame!
7260
7261 2000-02-23  Andy Piper  <andy@xemacs.org>
7262
7263         * glyphs.c: add dynamic width and height elements.
7264         (image_instance_equal): ditto.
7265
7266         * glyphs-widget.c (widget_query_geometry): calculate width and
7267         height dynamically if required.
7268         (initialize_widget_image_instance): initialize dynamic dimensions.
7269         (widget_instantiate): pick-up dynamic dimensions.
7270
7271         * glyphs.h (struct Lisp_Image_Instance): add width and height for
7272         dynamic determination. Add appropriate macros.
7273
7274         * gutter.h (WINDOW_GUTTER_BORDER_WIDTH): make non-integer
7275         dimensions safe.
7276         (WINDOW_GUTTER_SIZE): ditto.
7277         (WINDOW_GUTTER_SIZE_INTERNAL): ditto.
7278
7279         * redisplay-msw.c (get_frame_compdc): gcc can't cope with this
7280         inline.
7281         (get_frame_dc): ditto.
7282
7283         * redisplay.h (GLOBAL_RESET_CHANGED_FLAGS): don't reset faces
7284         here.
7285
7286 2000-02-23  Martin Buchholz <martin@xemacs.org>
7287
7288         * XEmacs 21.2.31 is released.
7289
7290 2000-02-22  Ben Wing <ben@xemacs.org>
7291
7292         * ntheap.c (allocate_heap): Make sure `ptr' is initialized.
7293
7294 2000-02-22  Andy Piper  <andy@xemacs.org>
7295
7296         * glyphs-x.c (x_widget_instantiate): don't explicitly resize here.
7297
7298 2000-02-21  Mike Sperber <mike@xemacs.org>
7299
7300         * .dbxrc:
7301         * .gdbinit:
7302         * Makefile.in.in: Remove obsolete EMACSBOOTSTRAP... environment
7303         variables.
7304
7305 2000-02-21  Mike Sperber <mike@xemacs.org>
7306
7307         * s/aix4.h: Declare getaddrinfo broken for AIX 4, which it is.
7308
7309 2000-02-21  Martin Buchholz <martin@xemacs.org>
7310
7311         * XEmacs 21.2.30 is released.
7312
7313 2000-02-20  Martin Buchholz  <martin@xemacs.org>
7314
7315         Performance hacking.
7316         * *.c (syms_of_*):
7317         Add INIT_LRECORD_IMPLEMENTATION macros, paired with
7318         DEFINE_LRECORD_IMPLEMENTATION macros in the same file.
7319         * emacs.c (main_1):
7320         * lisp.h (DEFUN):
7321         * console.c (DEFVAR_CONSOLE_LOCAL_1):
7322         * buffer.c (DEFVAR_BUFFER_LOCAL_1):
7323         * symeval.h (DEFVAR_SYMVAL_FWD):
7324         * symbols.c (guts_of_unbound_marker):
7325         Make all c_readonly objects also lisp_readonly and marked for life.
7326         * lrecord.h (struct lrecord_implementation):
7327         Document flags better.
7328         * lrecord.h (DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION_WITH_PROPS):
7329         * lrecord.h (DECLARE_LRECORD):
7330         * lrecord.h (XSETRECORD):
7331         * lrecord.h (RECORDP):
7332         * lrecord.h (RECORD_TYPEP):
7333         * lrecord.h (RECORD_MARKER): New.
7334         * lrecord.h (error_check_*):
7335         * lrecord.h (CONCHECK_NONRECORD):
7336         * lrecord.h (MAKE_LRECORD_IMPLEMENTATION):
7337         * lrecord.h (INIT_LRECORD_IMPLEMENTATION): New.
7338         * lrecord.h (set_lheader_implementation):
7339         * lrecord.h (enum lrecord_type): New.
7340         * symeval.h (SYMBOL_VALUE_MAGIC_P):
7341         * alloc.c (disksave_object_finalization_1):
7342         * alloc.c (mark_object):
7343         * alloc.c (lrecord_type_index):
7344         * alloc.c (tick_lcrecord_stats):
7345         * alloc.c (Fgarbage_collect):
7346         * alloc.c (init_alloc_once_early):
7347         * alloc.c (pdump_load):
7348         * alloc.c (GC_CHECK_LHEADER_INVARIANTS): New.
7349         * alloc.c (lrecord_type_index): Delete.
7350         Make lisp object type indexes be constant.
7351           Makes (byte-compile) 5% faster.
7352         Put all marker functions into their own array.
7353           Makes (garbage-collect) 5% faster.
7354         Optimize SYMBOL_VALUE_MAGIC_P.
7355           Makes (byte-compile) 2-3% faster.
7356         * config.h.in (gc_checking_assert): New.
7357         * alloc.c: Use gc_checking_assert().
7358         * .dbxrc: Make compatible with new object type implementation.
7359         * .gdbinit: Make compatible with new object type implementation.
7360         * alloc.c: Delete all symbols defined only for debugging, such as
7361         Lisp_Type_Vector and lrecord_charset.
7362
7363 2000-02-21  Andy Piper  <andy@xemacs.org>
7364
7365         * gui-msw.c (Fmswindows_shell_execute): fix file location
7366         problems.
7367
7368         * buffer.c (Fkill_buffer): remove buffer from alist buffer
7369         unshowing so that set_window_buffer doesn't undo
7370         kill_buffer_hook's hard work.
7371
7372         * glyphs-widget.c (tab_control_query_geometry): don't count the
7373         first item when calculating geometry.
7374
7375         * glyphs.c (map_subwindow): remove redundant code.
7376         (update_frame_subwindows): be more circumspect about when to
7377         update subwindows.
7378
7379         * glyphs-x.c (x_update_widget): Properly fix sizing bug. Fix bug
7380         when items haven't changed. Update faces if faces have changed as
7381         well as just the widget face.
7382         (x_tab_control_update): Update faces if faces have changed as well
7383         as just the widget face.
7384
7385 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
7386
7387         * device-msw.c: (mswindows_delete_device): Remove redundant DDE
7388         registration.
7389         (build_syscolor_string): Use mswindows_color_to_string to try to
7390         get a named color.
7391         (mswindows_device_system_metrics): Reverse the foreground and
7392         background colors so that they match the documentation.
7393
7394         * objects-msw.c: (mswindows_X_color_map): tweak some values so
7395         they match the default Windows palette.
7396         (mswindows_color_to_string): New function.
7397
7398 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
7399
7400         * s/windowsnt.h: Only use __declspec(noreturn) with MSVC>=6.
7401
7402 2000-02-18  Olivier Galibert  <galibert@pobox.com>
7403
7404         * m/*, s/*: Removed obsolete DATA_SEG_BITS, PURE_SEG_BITS,
7405         WORD_MACHINE, SIGN_EXTEND_CHAR and EXPLICIT_SIGN_EXTEND.
7406
7407         * symbols.c (init_symbols_once_early): Removed obsolete
7408         DATA_SEG_BITS related kludge.
7409         (defvar_magic): Ditto.
7410
7411         * malloc.c: Removed obsolete DATA_SEG_BITS
7412         * ralloc.c: Ditto.
7413         * mem-limits.h: Ditto.
7414
7415         * Makefile.in.in: Removed obsolete HAVE_SHM
7416         * emacs.c: Ditto.
7417
7418 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
7419
7420         *  device-msw.c (mswindows_delete_device): Free DDE string
7421         handles.
7422
7423 2000-02-16  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7424
7425         * keymap.c (get_keyelt):
7426         * unexnt.c (unexec):
7427         * vm-limit.c (memory_warnings):
7428         * ntheap.c (recreate_heap):
7429         * ntheap.h (UNINIT_PTR):
7430         * select-msw.c (Fmswindows_get_clipboard):
7431         (Fmswindows_set_clipboard):
7432         * objects-msw.h (MSWINDOWS_BAD_HFONT):
7433         * objects-msw.c:
7434         * menubar-msw.c (displayable_menu_item):
7435         * glyphs-msw.c:
7436         * glyphs-msw.h (IMAGE_INSTANCE_MSWINDOWS_MASK):
7437         * sysdep.c (sys_subshell):
7438         * process-nt.c (nt_create_process):
7439         * nt.c (normalize_filename):
7440         (dostounix_filename):
7441         (unixtodos_filename):
7442         * ntproc.c (win32_executable_type):
7443         * ntplay.c (play_sound_data_1):
7444         (play_sound_file):
7445         * editfns.c (get_home_directory):
7446         * event-msw.c (struct winsock_stream):
7447         (mswindows_dde_callback):
7448         * device-msw.c (msprinter_init_device):
7449         (msprinter_get_devmode_copy): Frobbed syntax frivolities.
7450
7451         * toolbar-msw.c (mswindows_free_frame_toolbars): Paramters to
7452         mswindows_clear_toolbar were swapped!
7453
7454         * objects-msw.c:(colormap_t):
7455         (fontmap_t):
7456         * emacs.c (struct standard_args): Fixed const jumble.
7457
7458         * glyphs-widget.c (update_widget): Fixed comparison notation.
7459
7460         * event-msw.c (mswindows_dde_callback): Removed extraneous ';'.
7461
7462         * s\windowsnt.h (DOESNT_RETURN): Defined to support the MSVC
7463         __declspec(noreturn) syntax.
7464
7465 2000-02-19  Martin Buchholz  <martin@xemacs.org>
7466
7467         * eldap.c (Fldap_open):
7468         (Fldap_search_basic):
7469         (Fldap_add):
7470         (Fldap_modify):
7471         Use new coding system conversion macros.
7472
7473 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
7474
7475         * console-tty.c (tty_init_console): Change MULE to FILE_CODING.
7476
7477 1999-11-27  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
7478
7479         * eldap.h (Fldap_search) Renamed from Fldap_search_internal:
7480         (Fldap_add, Fldap_modify, Fldap_delete): New functions
7481
7482         * eldap.c (Qadd, Qreplace): New constant symbols
7483         (Fldap_open): Use the LDAP_OPT_RESTART option to avoid
7484         interruptions by XEmacs signals
7485         Remove unnecessary calls to slow_down_interrupts and
7486         speed_up_interrupts
7487         (Fldap_search_basic): Renamed from Fldap_search_internal
7488         Added new optional parameter VERBOSE that triggers the
7489         display of progress messages
7490         Remove unnecessary calls to slow_down_interrupts and
7491         speed_up_interrupts
7492         LDAP result code analysis rewritten
7493         (Fldap_add, Fldap_modify, Fldap_delete): New functions
7494         (syms_of_eldap): Define the new symbols and functions
7495
7496
7497 2000-02-17  Martin Buchholz  <martin@xemacs.org>
7498
7499         * realpath.c: Determine PATH_MAX maximally portably.
7500
7501         * insdel.c (bytecount_to_charcount): Optimize.
7502         The function used to be optimized for entirely ASCII sequences.
7503         Now it is optimized for successive characters from the same
7504         charset.  This also wins big for _mostly_ ASCII sequences.
7505
7506         * fileio.c (Ffile_truename): convert return from realpath() using
7507         Qfile_name, not Qbinary.  Fixes obvious bug with non-ASCII symlinks.
7508         - Rewrite GCPROing slightly.
7509
7510         * sysdep.c (sys_open): Do filename conversion, like all other
7511         sys_* functions.  Fixes bug:
7512         (let ((file-name-coding-system 'iso-8859-2))
7513            (write-region x y latin2-name))
7514         ==> writes filename using internal encoding.
7515
7516 2000-02-18  Martin Buchholz  <martin@xemacs.org>
7517
7518         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Turn on c_readonly. Always const.
7519         * console.c (DEFVAR_CONSOLE_LOCAL_1): Turn on c_readonly. Always const.
7520         * symeval.h (DEFVAR_SYMVAL_FWD): Turn on c_readonly. Always const.
7521         * eval.c (lrecord_subr): Remove this_one_is_unmarkable.
7522         * symbols.c (lrecord_symbol_value_forward): Remove this_one_is_unmarkable.
7523         * symbols.c (guts_of_unbound_marker): Turn on c_readonly.
7524         * lrecord.h (UNMARKABLE_LRECORD_HEADER_P): Delete.
7525         (CONST_IF_NOT_DEBUG): Delete.
7526         * alloc.c (this_one_is_unmarkable): Delete.
7527         (mark_object): Don't check for this_one_is_unmarkable. Use the
7528         c_readonly flag instead.
7529         * lisp.h (DEFUN): Define a Lisp_Subr as c_readonly.
7530
7531 2000-02-18  Jonathan Harris  <jhar@tardis.ed.ac.uk>
7532
7533         * event-msw.c (mswindows_drain_windows_queue):
7534         (emacs_mswindows_handle_magic_event): Remove attempt to optimise
7535         away redundant repaint events.
7536
7537 2000-02-17  Andy Piper  <andy@xemacs.org>
7538
7539         * redisplay.h: declare mark_redisplay_structs.
7540
7541         * redisplay.c (redisplay_window):
7542         (redisplay_frame): don't check subwindows_state_changed.
7543         (mark_redisplay): mark gutters here.
7544
7545         * glyphs.c: (instantiate_image_instantiator): always layout if we
7546         haven't done so already.
7547         (allocate_image_instance): don't mark as dirty.
7548         (update_subwindow): bind inhibit_quit.
7549
7550         * gutter.c (mark_gutters): new function.
7551
7552         * glyphs-x.c (x_update_widget): Always resize to get round a
7553         widget bug.
7554
7555         * glyphs-msw.c (mswindows_tab_control_update): remove `;' that was
7556         breaking absolutely everything.
7557
7558         * gutter.h: declare mark_gutters.
7559
7560 2000-02-16  Martin Buchholz <martin@xemacs.org>
7561
7562         * XEmacs 21.2.29 is released.
7563
7564 2000-02-15  Olivier Galibert  <galibert@pobox.com>
7565
7566         * fns.c (size_bit_vector): Fix computation of the size.
7567
7568 2000-02-15  Martin Buchholz  <martin@xemacs.org>
7569
7570         * *.[ch]: Change CONST to const globally.
7571         find -name '*.[ch]' | \
7572         xargs global-replace \
7573         's/(^|(?<=[^A-Za-z0-9_]))CONST((?=[^A-Za-z0-9_])|$)/const/g'
7574         - Remove vestigial references to CONST_IS_LOSING
7575
7576 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
7577
7578         * event-msw.c (mswindows_drain_windows_queue): Remove hack to
7579         bailout early on quit. Enqueue WM_PAINT events as XEmacs magic
7580         events instead of dispatching them directly.
7581         (mswindows_handle_paint): New function to do repainting.
7582         (mswindows_wnd_proc):
7583         (emacs_mswindows_handle_magic_event): Call above function.
7584
7585 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
7586
7587         * objects-msw.c (mswindows_create_font_variant): Return the new
7588         font handle.
7589         (initialize_font_instance): Get font metrics from the underlined
7590         variant of the font to cope with the case where the underlined
7591         font has a bigger descent.
7592
7593 2000-02-08   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
7594
7595         * gui.c (gui_item_accelerator): Return the first underlined
7596         character in item name.
7597
7598 2000-02-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7599
7600         * lisp.h: Added Qprinter.
7601
7602         * general.c (syms_of_general): Initialized it.
7603
7604         * redisplay-msw.c (get_frame_dc): Conditionally start a new page.
7605         (get_frame_dc):
7606         (get_frame_compdc): Made inline.
7607
7608         * console.h (struct console_methods): Added eject_page method.
7609
7610         * frame.h: Added FRAME_DISPLAY_P and friends.
7611         Aligned backslahes in many macros in more readable fashion.
7612         Added page_number to struct frame, and an accessor macro
7613         for it.
7614
7615         * defice.h: Added DEVICE_DISPLAY_P and friends.
7616
7617         * device.c (Fdevice_printer_p): Used these.
7618
7619         * frame.c (allocate_frame_core): Initialize page number.
7620         (Fprint_job_page_number):
7621         (Fprint_job_eject_page): Implemented.
7622
7623         * frame-msw.c (msprinter_eject_page): Added method.
7624         (msprinter_start_page): Added.
7625
7626         * window.c (Fwindow_truncated_p): Fixed docstring.
7627         (Fwindow_last_line_visible_height): Implemented.
7628
7629 2000-02-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
7630
7631         * frame.c (change_frame_size_1): Undo 2000-02-03 change.
7632
7633 1999-12-20  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
7634
7635         * syntax.c (scan_words): Always advance at least one character.
7636
7637 2000-02-13  Andy Piper  <andy@xemacs.org>
7638
7639         * redisplay.c (add_glyph_rune): call get_glyph_cachel_index here
7640         to make sure the glyph is in the cachels.
7641
7642         * glyphs.h (struct Lisp_Image_Instance): make layout_changed a
7643         global image instance flag.
7644         (IMAGE_INSTANCE_NEEDS_LAYOUT): new macro.
7645         (XIMAGE_INSTANCE_NEEDS_LAYOUT): ditto.
7646
7647         * glyphs.c (allocate_image_instance): set dirty bits correctly.
7648         (Fset_image_instance_property): mark layout as changed.
7649         (invalidate_glyph_geometry_maybe): mark layout as changed.
7650         (glyph_width): use new NEEDS_LAYOUT macro.
7651         (glyph_ascent): ditto.
7652         (glyph_descent): ditto.
7653         (glyph_height): ditto.
7654         (image_instance_layout): mark layout as clean after laying out.
7655         (update_subwindow): don't mark layout as clean here.
7656
7657         * glyphs-x.h (IMAGE_INSTANCE_X_WIDGET_ID): undo C++ changes, they
7658         should no longer be needed.
7659
7660         * glyphs-x.c (x_update_widget): sanitize asserts.
7661         (x_finalize_image_instance): sanitize assignment to widgets.
7662
7663         * glyphs-widget.c (widget_instantiate): don't need to clear the
7664         layout flag here.
7665
7666 2000-02-13  Martin Buchholz  <martin@xemacs.org>
7667
7668         * sysdep.c (getcwd): Use standard prototype.
7669         * sysdep.h (getcwd): Use standard prototype.
7670
7671         * fns.c (Fsubseq): Change parameters to more natural ANSI Lisp
7672         (sequence, start, end).
7673         Remove redundant type checking.
7674         (Fmapconcat): Remove useless GCPRO, a wrong-headed attempt (in
7675         view of `caller-protects') to avoid a crash where the real fix was
7676         found elsewhere.
7677
7678 2000-02-12  Martin Buchholz  <martin@xemacs.org>
7679
7680         * glyphs-x.c (x_finalize_image_instance): Compile error fixes.
7681
7682         * s/sol2.h: Remove feature macro initialization.
7683
7684         * alloc.c (alloc_lcrecord): Add more type checking assertions.
7685         (vector_hash): New.  Code from internal_hash.
7686         * lrecord.h:
7687         Fix up allocation subsystem comments.
7688
7689         * config.h.in: Add __EXTENSIONS__ for Solaris.
7690
7691         * systime.h (EMACS_GETTIMEOFDAY): New.
7692         (EMACS_GET_TIME): Use EMACS_GETTIMEOFDAY.
7693         Remove Solaris-specific code.
7694         Use void* for the (ignored) second arg for gettimeofday().
7695
7696         * elhash.c (hash_table_hash): Implement it, finally.
7697         * elhash.c:  Use hashcode_t.
7698
7699         * linuxplay.c (sighandler): Fix prototypes to use SIGTYPE.
7700         * sunplay.c (sighandler): Fix prototype to use SIGTYPE.
7701
7702         * lisp.h (STRETCHY_STRUCT_SIZEOF): Delete.
7703         * fns.c (size_bit_vector):
7704         * alloc.c (size_vector):
7705         (make_vector_internal):
7706         (make_bit_vector_internal):
7707         (sweep_bit_vectors_1):
7708         Replace calls to STRETCHY_STRUCT_SIZEOF with offsetof expression.
7709
7710 2000-02-10  Martin Buchholz  <martin@xemacs.org>
7711
7712         * s/aix4.h: #define MAP_FAILED if sys/mman.h didn't.
7713         Include strings.h to avoid warnings for bzero and strcasecmp.
7714
7715 2000-02-10  Olivier Galibert  <galibert@pobox.com>
7716
7717         * alloc.c: Move STRETCHY_STRUCT_SIZEOF from here...
7718         * lisp.h (STRETCHY_STRUCT_SIZEOF): ...to here
7719
7720         * fns.c (size_bit_vector): New.  Declare bit vectors as a
7721         sequence.
7722
7723 2000-02-10  Olivier Galibert  <galibert@pobox.com>
7724
7725         * symeval.h (struct symbol_value_magic): Remove "next" kludge and
7726         use a value field instead.
7727         (symbol_value_forward_forward): Use value field.
7728         (DEFVAR_SYMVAL_FWD): Use value field.
7729         (DEFVAR_SYMVAL_FWD_INT): Added.  Dumps the int with dumpopaque.
7730         (DEFVAR_INT): Use DEFVAR_SYMVAL_FWD_INT.
7731         (DEFVAR_CONST_INT): Ditto.
7732         (DEFVAR_BOOL): Ditto.
7733         (DEFVAR_CONST_BOOL): Ditto.
7734         (DEFVAR_INT_MAGIC): Ditto.
7735         (DEFVAR_BOOL_MAGIC): Ditto.
7736
7737         * symbols.c (guts_of_unbound_marker): Use value field.
7738         * console.c (DEFVAR_CONSOLE_LOCAL_1): Ditto.
7739         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Ditto.
7740
7741         * lisp.h: Declare dumpopaque and noninteractive1.
7742
7743         * alloc.c (dumpopaque): Added.
7744         (pdump_dump_opaquevec): Added.
7745         (pdump): Call pdump_dump_opaquevec to dump opaque data.
7746         (pdump_load): Reload opaque data.  Sync noninteractive1 with
7747         noninteractive.
7748
7749 2000-02-10  Andy Piper  <andy@xemacs.org>
7750
7751         * glyphs.c (image_instance_layout): if the size changes, mark it
7752         as such.
7753
7754         * redisplay-output.c (redisplay_output_layout): Update the
7755         subwindow here.
7756         (redisplay_output_subwindow): ditto.
7757
7758         * glyphs.c (update_subwindow): make sure we reset flags for
7759         layouts as well as everything else.
7760
7761         * glyphs-widget.c (layout_layout): don't need to set the instances
7762         dimensions here.
7763
7764 2000-02-09  Martin Buchholz  <martin@xemacs.org>
7765
7766         * device-x.c (x_init_device): Wrap calls to dll_*  in HAVE_SHLIB,
7767         not HAVE_DLOPEN, which is a lower-level thing.
7768
7769         * .cvsignore: Ignore gmon.out
7770
7771 2000-02-09  Hamish Macdonald <hamishm@lucent.com>
7772
7773         * .cvsignore: Ignore portable dumper xemacs.dmp file
7774
7775 2000-02-09  Andy Piper  <andy@xemacs.org>
7776
7777         * redisplay-output.c (redisplay_output_layout): be more clever
7778         about when we output based on the changed flags.
7779
7780         * glyphs.h (struct image_instantiator_methods): add update_method.
7781         (struct Lisp_Image_Instance): add changed flags. Declare new
7782         macros for manipulating them.
7783
7784         * glyphs.c (allocate_image_instance): renamed glyph -> parent.
7785         (image_instance_parent_glyph): find an image_instance's parent
7786         glyph or image_instance.
7787         (image_instance_layout): mark the size as changed.
7788         (set_image_instance_dirty_p): new function. mark an image
7789         instance, plus all of its parents, as dirty.
7790         (Fset_image_instance_property): use it.
7791         (Fglyph_animated_timeout_handler): use it.
7792         (update_subwindow): call update_widget and device methods for
7793         update_subwindow. Mark all changed flags as clean.
7794         (Fresize_subwindow): mark size as changed.
7795
7796         * glyphs-x.c (x_finalize_image_instance): try and detect gc
7797         failures.
7798         (x_update_subwindow): only resize subwindows here.
7799         (x_update_widget): new function. Update all changed properties of
7800         a widget.
7801         (x_resize_subwindow): deleted.
7802         (x_widget_set_property): deleted.
7803         (x_progress_gauge_set_property): deleted.
7804         (x_progress_gauge_update): new function. Implement recorded
7805         changes.
7806         (x_tab_control_update): ditto.
7807         (x_tab_control_set_property): deleted.
7808         (console_type_create_glyphs_x): declare new functions.
7809         (image_instantiator_format_create_glyphs_x): ditto.
7810
7811         * glyphs-widget.c (widget_set_property): mark text changed.
7812         (update_widget): new function. Update properties of a widget.
7813         (widget_instantiate): for layouts make sure we set their
7814         children's parent correctly.
7815         (tab_control_set_property): new function. Record changes that will
7816         take place under redisplay's control.
7817         (progress_gauge_set_property): ditto.
7818         (image_instantiator_progress_guage): declare new functions.
7819         (image_instantiator_tab_control): ditto.
7820
7821         * glyphs-msw.c (mswindows_update_subwindow): just do resizing here
7822         now.
7823         (mswindows_update_widget): new function. Update all properties on
7824         a widget that have changed.
7825         (mswindows_button_update): new function. Update a button's set
7826         state.
7827         (mswindows_tab_control_update): new function. Update the items in
7828         a tab.
7829         (mswindows_tab_control_set_property): deleted.
7830         (mswindows_progress_gauge_update): new function. Update the
7831         progress gauge's progress.
7832         (mswindows_widget_set_property): deleted. This is all done
7833         asynchronously now.
7834         (mswindows_progress_gauge_set_property): ditto.
7835         (console_type_create_glyphs_mswindows): declare new methods.
7836         (image_instantiator_format_create_glyphs_mswindows): ditto.
7837
7838         * frame-msw.c (msprinter_init_frame_1): Remove unused variables.
7839         (msprinter_set_frame_properties): ditto.
7840
7841         * console.h (struct console_methods): Add update_widget_method.
7842
7843 2000-02-09  Andy Piper  <andy@xemacs.org>
7844
7845         * gui-msw.c (Fmswindows_shell_execute): Make
7846         mswindows-shell-execute industrial strength.
7847
7848 2000-02-08  Martin Buchholz  <martin@xemacs.org>
7849
7850         * lrecord.h: Make macro argument `props' match member function `plist'.
7851         * fns.c (Fget):
7852         * fns.c (Fput):
7853         * fns.c (Fremprop):
7854         * fns.c (Fobject_plist):
7855         * alloc.c:
7856         * symbols.c:
7857         Object property list frobbing cleanup.
7858         - Allow any lisp object (compared with `eq'), not just symbols, as
7859           keys in object plists.
7860         - Move symbol plist frobbing into symbols.c, where it belongs.
7861         - Move string plist frobbing into alloc.c, where it belongs.
7862         - Everything's an lrecord now, so no need to test for symbolp, etc.
7863         - Fix up doc strings to refer to PROPERTY, not PROPNAME.
7864
7865         * extents.c: Reorder code to remove declarations.
7866
7867         * frame.h (store_in_alist): Remove useless declaration.
7868
7869 2000-02-07  Martin Buchholz  <martin@xemacs.org>
7870
7871         * event-Xt.c (x_has_keysym): Use XConvertCase only if available.
7872         * config.h.in: Add HAVE_XCONVERTCASE.
7873
7874 2000-02-07  Andy Piper  <andy@xemacs.org>
7875
7876         * glyphs.c (image_instance_layout): undo 2000-01-29 change since
7877         it breaks many things.
7878
7879 2000-02-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
7880
7881         * src/syntax.h (SYNTAX_START_P): Check whether the two chars
7882         actually can start a common comment type.
7883         * src/syntax.h (SYNTAX_END_P): ditto for end.
7884
7885 2000-02-07  Martin Buchholz <martin@xemacs.org>
7886
7887         * XEmacs 21.2.28 is released.
7888
7889 2000-02-06  Martin Buchholz  <martin@xemacs.org>
7890
7891         * event-Xt.c (x_keysym_to_character): New.
7892         (maybe_define_x_key_as_self_inserting_character): New.
7893         (x_has_keysym): New.
7894         Auto-define all keys on the keyboard as self-insert-key.
7895
7896 2000-02-02  Martin Buchholz  <martin@xemacs.org>
7897
7898         * menubar.c (vars_of_menubar): A small code simplification.
7899
7900         * minibuf.c (echo_area_append): Workaround egcs-20000131 c++ compiler bug
7901
7902         * ExternalShell.c:
7903         * ExternalClient.c:
7904         * EmacsShell-sub.c:
7905         * EmacsManager.c:
7906         * EmacsFrame.c:
7907         Use consistent style for specifying X resources.
7908
7909         * symbols.c (Fset): Further implement SYMVAL_LISP_MAGIC.
7910         This makes (dontusethis-set-symbol-value-handler) actually usable.
7911
7912         * lrecord.h (lrecord_decription_type):
7913         * alloc.c (pdump_register_sub):
7914         (pdump_dump_data):
7915         (pdump_reloc_one):
7916         Add XD_LISP_OBJECT_ARRAY to describe multiple Lisp_Objects.
7917         Comply with XEmacs coding style.
7918         All lrecord descriptions updated to use XD_LISP_OBJECT with 2
7919         args, and XD_LISP_OBJECT_ARRAY with 3 args.
7920
7921         * keymap.c (Faccessible_keymaps):
7922         Make (accessible-keymaps map "\C-h") do the Right Thing.
7923         Make (accessible-keymaps map []) do the Right Thing.
7924         Make (accessible-keymaps map "") do the Right Thing.
7925         (check_keymap_definition_loop): New function.
7926         (keymap_store_internal): Keep luser from shooting self in foot,
7927           via (define-key ctl-x-4-map "p" global-map).
7928         Remove fullness slot from struct Lisp_Keymap, since hash tables
7929         are now reliable.
7930         (print_keymap): Remove 'Yuck' factor by simply printing "size %d".
7931
7932 2000-01-30  Martin Buchholz  <martin@xemacs.org>
7933
7934         * redisplay.c (init_redisplay): Fix small memory leak.
7935         * elhash.h:
7936         * elhash.c (pdump_reorganize_hash_table):
7937         Rename from reorganize_hash_table. Change prototype.
7938         Reuse the original memory for hentries.  Save 100k.
7939         * alloc.c (PDUMP_READ): new macro.
7940         * alloc.c (pdump_load): Replace LISP_TO_VOID with higher-level macros.
7941         * alloc.c: No need to #ifndef before #undef.
7942
7943         * print.c: Allow debug_print() to print readably by modifying
7944         debug_print_readably.  Use consistent variable names.
7945
7946         * .dbxrc: Try to get things to work even if stopped in a function
7947         without source available by explicitly specifying source files.
7948 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7949
7950         * unexnt.c (_start): Removed bogus code which caused loading heap
7951         from differrent executable file.
7952         Removed bogus assignment to _fmode, which caused inconsistencies.
7953
7954 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7955
7956         * s\windowsnt.h: Removed lots of #if 0 blocks of Emacs heritage.
7957         Have spawnve encapsulation regard DONT_ENCAPSULATE.
7958         Do not preliminary `#define signal sigset'.
7959
7960         * systime.h: Do not prototype environ on windows nt and cygwin,
7961         this conflicts with system header.
7962
7963         * syssignal.h: Use correct define for WINDOWSNT
7964
7965         * sysdep.h: Do not prototype environ on windows nt, this conflicts
7966         with system header.
7967
7968         * sysdep.c (near start of file): Fixed commentary and rearranged
7969         ifdefs in readable order.
7970         (NEED_STARTS): Do not force NEED_STARTS when PDUMPing.
7971         (start_of_text):
7972         (end_of_text):
7973         (end_of_data): Do not compile in if using PDUMP.
7974
7975         * symsinit.h: Prototyped vars_of_nt().
7976
7977         * ntproc.c (windows9x_p): Added, instead of os_subtype.
7978         (find_child_console): Use it.
7979         (sys_kill): Use it.
7980
7981         * ntheap.h: Do not extern os_subtype.
7982
7983         * ntheap.c (cache_system_info): Do not cache unneeded:
7984         nt_major_version, nt_minor_version and os_subtype.
7985         (recreate_heap): Do not compile in when PDUMPing.
7986
7987         * nt.c (geteuid and friends): Use the new varibale
7988         nt_fake_unix_uid, instead of hashing fake uid out of NT RID.
7989         (init_user_info): Removed the above mentioned hackery.
7990         (fstat, stat): Do not compile in if using MSVC 5.0 and above -
7991         stat has been fixed in the C runtime.
7992         (vars_of_nt): Added, defined the nt_fake_unix_uid variable there.
7993
7994         * file-coding.c (struct file_coding_dump): Do not define
7995         ucs_to_mule_table in the struct if not MULE.
7996         (struct struct lrecord_description fcd_description_1): Do not dump
7997         the above.
7998
7999         * emacs.c (main_1): Call vars_of_nt().
8000         (right before Fdump_emacs_data): Don't need lastfile if using both
8001         portabe dumper and system malloc.
8002
8003         * alloc.c (Fmemory_limit): Conditionalized out.
8004         (pdump): Use OPEN_BINARY for the portable dump file.
8005         (pdump_load): Ditto.
8006
8007 2000-02-02  Mike Alexander  <mta@arbortext.com>
8008
8009         * nt.c (convert_time): Set tm_isdst before calling mktime and
8010         avoid calling it at all if the compiler supports 64 bit integers.
8011         Also initialize utc_base_ft before using it.
8012
8013 2000-02-03   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
8014
8015         * frame.c (change_frame_size_1): Take f->internal_border_width
8016         into consideration when calculating the width of the frame.
8017
8018 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
8019
8020         * window.c (frame_min_height):
8021         (frame_size_valid_p):
8022         (frame_pixsize_valid_p): Added.
8023         (check_frame_size): Generalized.
8024
8025         * window.h: Prototyped the above.
8026
8027         * lisp.h:
8028         * general.c: Added Qbottom_margin, Qduplex, Qlandscape,
8029         Qleft_margin, Qorientation, Qportrait, Qright_margin, Qtop_margin.
8030         Deleted Vwin32_* and Vbinary_process_* unused variables.
8031
8032         * device-msw.c (msprinter_init_device): Do not get printer font
8033         list; Added DEVMODE functions.
8034
8035         * frame-msw.c: Added lots of printer code.
8036
8037         * faces.c: Moved 'left-margin and 'right-margin defsymbols to
8038         general.c.
8039
8040         * console-msw.h: Added more msprinter device private slots.
8041
8042 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
8043
8044         * event-msw.c (key_needs_default_processing_p): Added.
8045         (mswindows_wnd_proc, WM_KEYUP, KEYDOWN): Call it.
8046
8047 2000-01-29  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
8048
8049         * glyphs.c (image_instance_layout): Mark image instance as clean
8050         after layout.
8051         (glyph_dirty_p): Removed redundant function.
8052         (invalidate_glyph_geometry_maybe): Added.
8053         (update_glyph_cachel_data): Call it.
8054
8055         * glyphs.h: Prototyped it.
8056
8057         * redisplay.c (add_glyph_rune): Call it.
8058         (redisplay_window): Reset glyphs cachels when frame faces have
8059         changed, thus forcing recomputation of built-in border glyphs.
8060
8061 2000-01-30  Martin Buchholz  <martin@xemacs.org>
8062
8063         * Makefile.in.in: Make portable dumper and purify play well together.
8064         Add imperfect, but better than nothing, support for pdump.
8065         Remove xemacs.dmp when temacs is re-generated.
8066         Don't ignore errors when dumping xemacs.
8067
8068         * symbols.c (maybe_call_magic_handler): Remove one magic number.
8069
8070 2000-01-28  Andy Piper  <andy@xemacs.org>
8071
8072         * frame.c (allocate_frame_core): Use new Fset_window_buffer signature.
8073         (setup_normal_frame): ditto.
8074         (setup_frame_without_minibuffer): ditto.
8075         (setup_minibuffer_frame): ditto.
8076         (delete_frame_internal): ditto.
8077         (Fmake_frame_invisible): ditto.
8078         (Ficonify_frame): ditto.
8079
8080         * window.h: change Fset_window_buffer signature.
8081
8082         * window.c (Fsplit_window): Use new Fset_window_buffer signature.
8083         (Fset_window_buffer): allow recording of buffer if the window is
8084         the selected window.
8085         (window_loop): Use new Fset_window signature.
8086
8087 2000-01-23  Daniel Pittman  <daniel@danann.net>
8088
8089         * config.h.in: Added template for `HAVE_ATHENA_3D'
8090
8091 2000-01-29  Andy Piper  <andy@xemacs.org>
8092
8093         * glyphs-x.c (x_resize_subwindow): Try and catch bogus resizes.
8094
8095         * gutter.c (output_gutter): Don't output if the window isn't live.
8096
8097 2000-01-28  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
8098
8099         * glyphs-msw.c (mswindows_unmap_subwindow): Fix of corrupted patch
8100         of 01/12/00: Moved SetFocus back here where it belongs.
8101
8102 2000-01-23  Andy Piper  <andy@xemacs.org>
8103
8104         * s/cygwin32.h: declare printer things.
8105
8106 2000-01-26  Andy Piper  <andy@xemacs.org>
8107
8108         * select.c (Fown_selection_internal): GCPRO bug fix from Mike
8109         Alexander.
8110
8111 2000-01-24  Andy Piper  <andy@xemacs.org>
8112
8113         * glyphs-msw.c (mswindows_locate_pixmap_file): Expand filename.
8114         (mswindows_button_instantiate): Make sure glyph is a pixmap.
8115
8116         * glyphs-widget.c (widget_instantiate): Avoid shadows.
8117
8118         * frame-msw.c (msprinter_init_frame_3): Nuke warning.
8119
8120         * glyphs-msw.c: (mswindows_string_to_color): remove declaration.
8121
8122         * redisplay-msw.c (mswindows_output_cursor): Avoid shadows.
8123         (mswindows_output_display_block): Avoid local shadows.
8124
8125         * event-msw.c (mswindows_enqueue_magic_event): Avoid shadows.
8126         (mswindows_enqueue_mouse_button_event): ditto.
8127         (mswindows_handle_gui_wm_command): remove declaration.
8128
8129         * console-msw.c (mswindows_canonicalize_console_connection): Avoid
8130         warnings.
8131
8132         * console-msw.h: Avoid shadows.
8133         (mswindows_get_toolbar_button_text):
8134         (emacs_mswindows_create_stream_pair):
8135         (emacs_mswindows_delete_stream_pair):
8136         (mswindows_handle_toolbar_wm_command): declare.
8137
8138         * device-msw.c (build_syscolor_string): Avoid shadows.
8139
8140 2000-01-23  Andy Piper  <andy@xemacs.org>
8141
8142         * glyphs-widget.c (widget_instantiate): reverse the items for
8143         layouts so that children are in the expected order.
8144
8145 2000-01-28  Martin Buchholz  <martin@xemacs.org>
8146
8147         * ralloc.c: safe_bcopy ==> memmove
8148         * gmalloc.c: Remove MEMMOVE_MISSING conditional code.
8149         * s/msdos.h: Remove BCOPY macros.
8150         * insdel.c (gap_right): Remove BCOPY conditional code.
8151         * insdel.c (gap_left): Remove BCOPY conditional code.
8152         XEmacs demands a working ANSI C compiler - hence memmove.
8153
8154         * regex.c (regex_compile): Remove accidental use of trigraphs.
8155
8156 2000-01-27  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
8157
8158         * event-msw.c (mswindows_enqueue_misc_user_event): Initialize
8159         event timestamp.
8160
8161 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
8162
8163         * event-msw.c (mswindows_drain_windows_queue): Added the
8164         parameter.
8165         (mswindows_need_event): Commented the call to
8166         mswindows_drain_windows_queue().
8167         (emacs_mswindows_quit_p): Lookup the windows for keyboard messages
8168         only.
8169
8170         * console-msw.h: Moved a few function prototypes here from
8171         event-msw.c.
8172
8173         * gui-msw.c (mswindows_handle_gui_wm_command): Changed the ID
8174         parameter from unsigned short to unsigned long.
8175         (Fmswindows_shell_execute): Added return value.
8176
8177 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
8178
8179         * sysdep.c (init_system_name):
8180           process-unix.c (unix_canonicalized_host_name):
8181         Don't call freeaddrinfo() if getaddrinfo() fails.
8182
8183         * process-unix.c (unix_open_unix_network_stream):
8184         Moved the code to get a port # into address loop.
8185
8186 2000-01-27  Martin Buchholz  <martin@xemacs.org>
8187
8188         * buffer.c (reinit_vars_of_buffer):
8189         The right place to initialize conversion_in_dynarr and
8190         conversion_out_dynarr.
8191
8192         * alloc.c (pdump): Use the real open() till sys_open() is functional.
8193
8194         * process-unix.c (unix_canonicalize_host_name): Muleize.
8195         (unix_open_network_stream): Muleize.
8196
8197         * buffer.h: Fix up prototypes for ralloc.c functions.
8198
8199 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
8200         * config.h.in: added HAVE_GETADDRINFO and HAVE_GETNAMEINFO
8201         * sysdep.c: In init_system_name(), add code to use getaddrinfo()
8202                 instead of gethostbyname()
8203         * process-unix.c: In unix_canonicalize_host_name() and
8204                 unix_open_network_stream(), add code to use getaddrinfo()
8205                 instead of gethostbyname().
8206
8207 2000-01-27  Daniel Pittman <daniel@danann.net>
8208
8209         * device-x.c (x_init_device): Warn at run-time if using Athena 3d
8210         libs when built with flat Athena.
8211
8212 2000-01-27  Martin Buchholz  <martin@xemacs.org>
8213
8214         * ralloc.c: Replace SIZE (conflicts with Windows headers) with size_t.
8215         Use coding standards for function prototypes.
8216
8217 2000-01-25  Martin Buchholz  <martin@xemacs.org>
8218
8219         * dialog-msw.c (push_lisp_string_as_unicode):
8220         * doc.c (unparesseuxify_doc_string):
8221         * dired.c (Fuser_name_completion_1):
8222         * dired.c (Fuser_name_all_completions):
8223         * dired.c (free_user_cache):
8224         * dired.c (user_name_completion):
8225         * console-x.c (get_display_arg_connection):
8226         * minibuf.c (clear_echo_area_internal):
8227         * minibuf.c (echo_area_append):
8228         * eldap.c (Fldap_open):
8229         * eldap.c (Fldap_search_internal):
8230         * frame-x.c (x_set_frame_text_value):
8231         * frame-x.c (x_set_frame_properties):
8232         * frame-x.c (x_create_widgets):
8233         * redisplay-tty.c (term_get_fkeys_1):
8234         * objects-x.c (x_parse_nearest_color):
8235         * objects-x.c (x_valid_color_name_p):
8236         * objects-x.c (x_initialize_font_instance):
8237         * objects-x.c (x_list_fonts):
8238         * objects-x.c (x_find_charset_font):
8239         * tooltalk.c (Fadd_tooltalk_message_arg):
8240         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
8241         * tooltalk.c (Fadd_tooltalk_pattern_arg):
8242         * process-unix.c (unix_create_process):
8243         * ntproc.c (sys_spawnve):
8244         * sound.c (Fplay_sound_file):
8245         * sound.c (Fplay_sound):
8246         * buffer.c (init_initial_directory):
8247         * buffer.c (init_buffer):
8248         * editfns.c (init_editfns):
8249         * editfns.c (Ftemp_directory):
8250         * editfns.c (Fuser_full_name):
8251         * editfns.c (uncache_home_directory):
8252         * editfns.c (get_home_directory):
8253         * editfns.c (Fuser_home_directory):
8254         * editfns.c (Fformat_time_string):
8255         * editfns.c (Fcurrent_time_string):
8256         * gui-x.c (button_item_to_widget_value):
8257         * database.c (Fopen_database):
8258         * event-Xt.c (x_to_emacs_keysym):
8259         * event-Xt.c (x_event_to_emacs_event):
8260         * event-Xt.c (describe_event_window):
8261         * event-msw.c (mswindows_wnd_proc):
8262         * glyphs-eimage.c (jpeg_instantiate):
8263         * glyphs-eimage.c (gif_instantiate):
8264         * glyphs-eimage.c (png_instantiate):
8265         * glyphs-eimage.c (tiff_instantiate):
8266         * glyphs-x.c (xbm_instantiate_1):
8267         * glyphs-x.c (x_xbm_instantiate):
8268         * glyphs-x.c (x_xface_instantiate):
8269         * glyphs-x.c (autodetect_instantiate):
8270         * glyphs-x.c (cursor_font_instantiate):
8271         * glyphs-x.c (x_widget_instantiate):
8272         * glyphs-x.c (x_widget_set_property):
8273         * glyphs-x.c (x_widget_property):
8274         * glyphs-x.c (BUILD_GLYPH_INST):
8275         * print.c (write_string_to_stdio_stream):
8276         * print.c (output_string):
8277         * print.c (Falternate_debugging_output):
8278         * print.c (Fexternal_debugging_output):
8279         * glyphs-msw.c (extract_xpm_color_names):
8280         * glyphs-msw.c (mswindows_xpm_instantiate):
8281         * glyphs-msw.c (bmp_instantiate):
8282         * glyphs-msw.c (resource_name_to_resource):
8283         * glyphs-msw.c (mswindows_resource_instantiate):
8284         * glyphs-msw.c (xbm_instantiate_1):
8285         * glyphs-msw.c (mswindows_xbm_instantiate):
8286         * glyphs-msw.c (mswindows_xface_instantiate):
8287         * glyphs-msw.c (mswindows_widget_instantiate):
8288         * glyphs-msw.c (add_tree_item):
8289         * glyphs-msw.c (add_tab_item):
8290         * glyphs-msw.c (mswindows_combo_box_instantiate):
8291         * glyphs-msw.c (mswindows_widget_property):
8292         * glyphs-msw.c (mswindows_combo_box_property):
8293         * glyphs-msw.c (mswindows_widget_set_property):
8294         * console.c (stuff_buffered_input):
8295         * objects-msw.c (mswindows_initialize_color_instance):
8296         * objects-msw.c (mswindows_valid_color_name_p):
8297         * objects-msw.c (mswindows_list_fonts):
8298         * objects-msw.c (mswindows_font_instance_truename):
8299         * bytecode.c (optimize_compiled_function):
8300         * select-x.c (symbol_to_x_atom):
8301         * select-x.c (x_atom_to_symbol):
8302         * select-x.c (hack_motif_clipboard_selection):
8303         * select-x.c (selection_data_to_lisp_data):
8304         * select-x.c (lisp_data_to_selection_data):
8305         * select-x.c (Fx_get_cutbuffer_internal):
8306         * select-x.c (Fx_store_cutbuffer_internal):
8307         * buffer.h (TO_EXTERNAL_FORMAT): New function.
8308         * buffer.h (TO_INTERNAL_FORMAT): New function.
8309         * emacs.c (make_arg_list_1):
8310         * emacs.c (make_argc_argv):
8311         * emacs.c (main_1):
8312         * emacs.c (Fdump_emacs):
8313         * emacs.c (split_string_by_emchar_1):
8314         * file-coding.h:
8315         * lisp.h:
8316         * lstream.h:
8317         * symsinit.h:
8318         * device-x.c (x_init_device):
8319         * device-x.c (Fx_valid_keysym_name_p):
8320         * device-x.c (Fx_get_font_path):
8321         * device-x.c (Fx_set_font_path):
8322         * glyphs.c (bitmap_to_lisp_data):
8323         * glyphs.c (pixmap_to_lisp_data):
8324         * alloc.c (make_ext_string): Use coding system arguments.  Update
8325         all callers.
8326         * alloc.c (build_string):
8327         * callproc.c (child_setup):
8328         * callproc.c (init_callproc):
8329         * fileio.c (lisp_strerror):
8330         * fileio.c (directory_file_name):
8331         * fileio.c (Fexpand_file_name):
8332         * fileio.c (Ffile_truename):
8333         * fileio.c (Fsysnetunam):
8334         * fileio.c (Fdo_auto_save):
8335         * sysdep.c (sys_readdir):
8336         * tests.c: New file.  Allow adding C tests.
8337         Replace GET_* macros with a more comprehensible and flexible
8338         interface, TO_INTERNAL_FORMAT() and TO_EXTERNAL_FORMAT().
8339         Modify all calls.
8340         Any coding system can be used to do format conversion.
8341         Eliminate enum external_data_format.
8342         Eliminate convert_to_external_format.
8343         Eliminate convert_to_internal_format.
8344         Make sure file-name, keyboard, terminal, and ctext are always
8345         defined as coding systems or aliases.  Make
8346         file-name-coding-system, terminal-coding-system, and
8347         keyboard-coding-system magical variables that are equivalent to
8348         defining the corresponding coding system aliases.
8349
8350         * file-coding.c (Fcoding_system_canonical_name_p): New function.
8351         * file-coding.c (Fcoding_system_alias_p): New function.
8352         * file-coding.c (Fcoding_system_aliasee): New function.
8353         * file-coding.c (append_suffix_to_symbol): New function.
8354         * file-coding.c (dangling_coding_system_alias_p): New function.
8355         * file-coding.c (Ffind_coding_system):
8356         * file-coding.c (Fcopy_coding_system):
8357         * file-coding.c (encode_coding_no_conversion):
8358         * file-coding.c (syms_of_file_coding):
8359         * file-coding.c (vars_of_file_coding):
8360         Rewrite coding system alias code.
8361         Allow nested aliases, like symbolic links.
8362         Allow redefinition of coding system aliases.
8363         Prevent existence of dangling coding system aliases.
8364
8365         * dired.c (Fuser_name_completion_1):
8366         * dired.c (Fuser_name_all_completions):
8367         A crash would happen if user did QUIT in the middle of building
8368         user_name_cache.  Remove redundant code in mainline and unwind_protect.
8369
8370         * lisp.h:
8371         * dynarr.c (Dynarr_min_size): Make static.  Increase value to 8.
8372
8373         * lstream.c (make_fixed_buffer_input_stream): Take a void *, not
8374         an unsigned char *.  Update all callers.
8375
8376 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
8377
8378         * callproc.c (Fcall_process_internal): Ignore Vbinary-process_output.
8379
8380 2000-01-25  Martin Buchholz  <martin@xemacs.org>
8381
8382         * elhash.c (hentry_description): Use more portable definition.
8383         (resize_hash_table): Initialize new hentries using
8384         xnew_array_and_zero, thereby simplifying the code.
8385
8386         * mule-charset.c (make_charset): Make sure entire object is
8387         initialized, to avoid Purify warnings.
8388
8389         * alloc.c (resize_string): Fix unlikely crash with big strings.
8390
8391 2000-01-24  Martin Buchholz  <martin@xemacs.org>
8392
8393         * realpath.c (xrealpath):
8394         Don't call getwd().
8395
8396 2000-01-25  Martin Buchholz  <martin@xemacs.org>
8397
8398         * lread.c (read_bit_vector): Fix memory leak reading literal bit vectors.
8399
8400 1999-12-28  Max Matveev  <max@melbourne.sgi.com>
8401
8402         * unexelfsgi.c (unexec): Change the way we decide which segment
8403         should be extended.
8404
8405         Assumption that .bss section should be outside the PT_LOADable
8406         segment. On IRIX with version 6.2 and above, .bss (or .sbss, if
8407         it's present) is inside the 'data' segment. This would fail the
8408         test which was used to find a segment to grow and cover new
8409         heap. Instead of this assumption, I created another one - on IRIX
8410         the segment to grow should start below .bss and it's address
8411         should extent above the end of .bss. Once this segment is
8412         identified, it's grown to accommodate the new heap and new
8413         zero-length .bss section is added at the end of .data2.
8414
8415 2000-01-25  Martin Buchholz  <martin@xemacs.org>
8416
8417         * eval.c (Feval): Wrong number of arguments should use original
8418         function, not the indirect_function version of it.
8419
8420 2000-01-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
8421
8422         * glyphs-x.c (x_button_instantiate): Don't add image if
8423         it is not a pixmap.
8424         (x_locate_pixmap_file): Call Fexpand_file_name when file name
8425         is relative.
8426
8427 2000-01-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
8428
8429         * symeval.h (DEFVAR_LISP_MAGIC): Remove semicolon after macro
8430         declaration.
8431         (DEFVAR_INT_MAGIC): Ditto.
8432         (DEFVAR_BOOL_MAGIC): Ditto.
8433         * glyphs.h: Reindent backslash.
8434
8435 2000-01-24  Martin Buchholz  <martin@xemacs.org>
8436
8437         * glyphs-widget.c (layout_query_geometry):
8438         (layout_layout): Use correct types for gheight, gwidth.
8439
8440 2000-01-24  Martin Buchholz  <martin@xemacs.org>
8441
8442         * EmacsManager.c (QueryGeometry): Purified.
8443
8444 2000-01-23  Martin Buchholz  <martin@xemacs.org>
8445
8446         * alloc.c (make_float): Make sure entire object is initialized, to
8447         avoid Purify warnings.
8448         (pdump_register_sub): Remove useless assignment.
8449         (pdump): Use xmalloc, not malloc.
8450         (pdump_load): Use xmalloc, not malloc.
8451
8452 2000-01-23  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
8453
8454         * callproc.c:
8455         * dired-msw.c:
8456         * fileio.c:
8457         * process-nt.c:
8458         * redisplay-msw.c:
8459         * sysdep.c: Removed redundant #include <windows.h>
8460
8461 2000-01-22  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
8462
8463         * frame.c (delete_frame_internal): Do not delete device when its
8464         implementation so declares.
8465         (delete_frame_internal): Set device selected frame to nil when
8466         last frame goes away.
8467
8468         * device-msw.c (msprinter_device_system_metrics): Implemented.
8469         (mswindows_device_system_metrics): Added 'device-dpi property.
8470
8471         * device.c: (Fdevice_printer_p): Added.
8472         Added 'offset-workspace device metric.
8473
8474         * console.h (device_metrics): Declared DM_offset_workspace.
8475
8476 2000-01-23  Martin Buchholz  <martin@xemacs.org>
8477
8478         * fileio.c (Ffile_truename): Remove pointless and confusing
8479         initialization of elen.
8480
8481         * glyphs-widget.c: Compiler warning fixes.
8482
8483 2000-01-23  Gunnar Evermann  <ge204@eng.cam.ac.uk>
8484
8485         * process.h (PROCESS_LIVE_P): Modify to take a Lisp_Process
8486         instead of a Lisp_Object as argument to make it consistent with
8487         the other LIVE_P macros.
8488         (CHECK_LIVE_PROCESS): New macro.
8489
8490         * process.c: Declare Qprocess_live_p.
8491         (Fprocess_live_p): New function.
8492         (create_process): Use PROCESS_LIVE_P.
8493         (read_process_output): Ditto.
8494         (set_process_filter): Ditto.
8495         (Fdelete_process): Ditto.
8496         (kill_buffer_processes): Ditto
8497         (process_send_signal): Use CHECK_LIVE_PROCESS.
8498         (Fprocess_input_coding_system): Check whether process is still
8499         alive (fix PR#1061).
8500         (Fprocess_output_coding_system): Ditto.
8501         (Fprocess_coding_system): Ditto.
8502         (Fset_process_input_coding_system): Ditto.
8503         (Fset_process_output_coding_system): Ditto.
8504
8505 2000-01-23  Andy Piper  <andy@xemacs.org>
8506
8507         * glyphs.h (struct Lisp_Image_Instance): change format by unifying
8508         layout and widget.
8509
8510         * glyphs.c (mark_image_instance): take into account changed
8511         image_instance format.
8512         (image_instance_equal): ditto.
8513         (image_instance_hash): ditto.
8514
8515         * glyphs-widget.c (widget_instantiate): Incorporate layout
8516         instantiation here. Delay layout of the layout until later.
8517         (layout_instantiate): deleted.
8518         (layout_query_geometry): new function. get the geometry of a
8519         layout.
8520         (layout_layout): layout a layout dynamically.
8521         (image_instantiator_widget): New function - splitting up
8522         image_instantiator_format_create_glyphs_widget for netwinder
8523         compilation.
8524         (image_instantiator_buttons):
8525         (image_instantiator_edit_fields):
8526         (image_instantiator_combo_box):
8527         (image_instantiator_scrollbar):
8528         (image_instantiator_progress_guage):
8529         (image_instantiator_tree_view):
8530         (image_instantiator_tab_control):
8531         (image_instantiator_labels):
8532         (image_instantiator_layout): ditto.
8533         (image_instantiator_format_create_glyphs_widget): Call preceding
8534         functions.
8535
8536 2000-01-22  Martin Buchholz  <martin@xemacs.org>
8537
8538         * process.c (Fset_process_coding_system):
8539         * device-x.c (Fx_keysym_hash_table):
8540         Docstring fixes.
8541
8542         * lstream.c (Lstream_write): Return documented value, not 0.
8543
8544         * fileio.c (directory_file_name):
8545         (Fsubstitute_in_file_name):
8546         (Fsubstitute_insert_file_contents_internal):
8547         (Fwrite_region_internal):
8548         * emacs.c:
8549         * sysdep.c:
8550         * getloadavg.c:
8551         * systty.h:
8552         Remove vestigial APOLLO-conditional code.
8553
8554 2000-01-21  Martin Buchholz  <martin@xemacs.org>
8555
8556         * getpagesize.h: Add guard macros.
8557         * libsst.h: Add guard macros.
8558         * libst.h: Add guard macros.
8559         * line-number.h: Add guard macros.
8560         * ndir.h: Add guard macros.
8561         * sysfloat.h: Add guard macros.
8562         * sysfile.h: Add guard macros.
8563         * sysproc.h: Add guard macros.
8564         * syswait.h: Add guard macros.
8565         * xintrinsic.h: Add guard macros.
8566         * xintrinsicp.h: Add guard macros.
8567         * xmmanager.h: Add guard macros.
8568         * xmmanagerp.h: Add guard macros.
8569         * xmprimitive.h: Add guard macros.
8570         * xmu.h: Add guard macros.
8571         * gpmevent.h: Add copyright statement. Add guard macros.
8572         * miscplay.h: Add guard macros.
8573         * *.h: Use consistent C-standards-approved guard macro names.
8574
8575         * opaque.c (make_opaque): Switch parameter order.
8576         * opaque.h (make_opaque): Switch parameter order.
8577         Update all callers.
8578         * buffer.h (MAKE_MIRROR_TRT_TABLE): Use symbolic constant OPAQUE_CLEAR.
8579
8580         * config.h.in (type_checking_assert): Added.
8581         (bufpos_checking_assert): Added.
8582
8583 2000-01-21  Martin Buchholz  <martin@xemacs.org>
8584
8585         * alloc.c: Harmless pdump changes.
8586         - Use countof().
8587         - spell alignment correctly.
8588         * sysdep.c: Use countof()
8589
8590 2000-01-20  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
8591
8592         * console.c (create_console): Use CONMETH_OR_GIVEN when calling
8593         initially_selected_for_input() console method, default to 0.
8594         (semi_canonicalize_console_connection): Try to delegate to
8595         canonicalize_console_connection if no such console method.
8596         (canonicalize_console_connection): Vice versa.
8597         (print_console): Do not print nil connection.
8598
8599         * console.h (XDEVIMPF_IS_A_PRINTER): Added.
8600         (XDEVIMPF_NO_AUTO_REDISPLAY): Added.
8601         (XDEVIMPF_FRAMELESS_OK): Added.
8602         (CONSOLE_INHERITS_METHOD): Added.
8603
8604         * console-msw.c (mswindows_canonicalize_console_connection):
8605         Added.
8606         (mswindows_canonicalize_device_connection): Added.
8607
8608         * console-msw.h (struct msprinter_device): Added this struct and
8609         accessor macros.
8610         (mswindows_device): Made fontlist a lisp object.
8611
8612         * device.c (semi_canonicalize_device_connection):  Try to delegate
8613         to canonicalize_device_connection if no such console method.
8614         (canonicalize_device_connection): Vice versa.
8615         (print_device): Do not print nil connection.
8616
8617         * device-msw.c (mswindows_init_device): Call InitCommonControls
8618         when have widgets.
8619         (mswindows_delete_device): Removed fontlist deallocation.
8620         (mswindows_mark_device): Added.
8621
8622         * events.c (event_equal): Added abort() at unreached code.
8623         (event_hash): Ditto.
8624
8625         * faces.c (complex_vars_of_faces): Added Qmsprinter to the list of
8626         fallback tags of Windows devices.
8627
8628         * general.c (syms_of_general): Initialized Qmsprinter.
8629
8630         * gutter.c (complex_vars_of_gutters): Added Qmsprinter to the list
8631         of fallback tags of Windows devices.
8632
8633         * lisp.h: Declared Qmsprinter.
8634
8635         * objects-msw.c (font_enum_callback_2): Rewrote to build lisp list
8636         of strings.
8637         (mswindows_list_fonts): Ditto.
8638         (mswindows_enumerate_fonts): Removed dependency on XDEVICE, so
8639         that it can be used by both mswindows and msprinter devices.
8640         (initialize_font_instance): Added.
8641         (mswindows_initialize_font_instance): Use it.
8642         (msprinter_initialize_font_instance): Added.
8643
8644         * redisplay.c (redisplay_device): Added the parameter AUTOMATIC
8645         and implementation flags check.
8646         (redisplay_without_hooks): Changed the call to the above.
8647         (Fredraw_device): Ditto.
8648         (Fredisplay_device): Ditto.
8649
8650         * redisplay-msw.c (get_frame_dc): Implemented.
8651         (get_frame_compdc): Implemented.
8652         (many functions): Use the two functions above to get device
8653         contexts, ether for a window or a printer.
8654
8655 2000-01-21  Olivier Galibert  <galibert@pobox.com>
8656
8657         * symbols.c (reinit_symbols_once_early): Put Qzero/Qnull_pointer
8658         initialization here.
8659         (init_symbols_once_early): Call it.
8660         * emacs.c (main_1): Call it.
8661         * symsinit.h: Declare it.
8662
8663 2000-01-19  Olivier Galibert  <galibert@pobox.com>
8664
8665         * alloc.c: Use a lrecord_header * in the backtrace instead of a
8666         Lisp_Object.
8667         (pdump_backtrace): Ditto.
8668         (pdump_register_object): Ditto.  Cleanup use of the pointers.
8669         (pdump_get_entry): Abort if trying to register a null pointer.
8670         (pdump_dump_data): Cleanup types when relocating.
8671         (pdump_dump_staticvec): Cleanup types w.r.t the reloc table.
8672         (pdump_dump_rtables): Remove bad casts.
8673         (pdump_load): Cleanup relocation w.r.t union type.  Use a
8674         Lisp_Object instead of a EMACS_INT for the hashtable
8675         reorganization.
8676
8677 2000-01-20  Martin Buchholz  <martin@xemacs.org>
8678
8679         * emacs.c (main_1): Rearrange morass of #ifdef's for correctness.
8680
8681         * callproc.c (call_process_cleanup): Isolate WINDOWSNT code for clarity.
8682
8683         * EmacsManager.c (GeometryManager): Avoid use of CPP for clarity.
8684
8685         * *.[ch]: global-replace 's/_of_xselect/_of_select_x/g' *.[ch]
8686
8687 2000-01-17  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
8688
8689         * faces.h (FACE_STRIKETHRU_P): Added.
8690
8691         * glyphs-msw.c (mswindows_widget_hfont): Implemented, to take care
8692         of font variants.
8693
8694         * redisplay-msw.c (mswindows_apply_face_effects): Deleted.
8695         (mswindows_set_dc_font): New function, aware of font variants,
8696         separated from mswindows_update_dc.
8697
8698         * objects-msw.h (struct mswindows_font_instance_data): Added
8699         definition.
8700
8701         * objects-msw.c (mswindows_finalize_font_instance): Delete all
8702         cached fonts and the data structure.
8703         (mswindows_initialize_font_instance): Added creation of font data
8704         structure.
8705         (mswindows_print_font_instance): Print at least something.
8706         (mswindows_create_font_variant): Implemented.
8707         (mswindows_get_hfont): Implemented.
8708
8709 2000-01-13  Fabrice Popineau  <Fabrice.Popineau@supelec.fr>
8710
8711         * dired-msw.c: permute "sysdir.h" with "sysfile.h" because of
8712         prototyping problem with msvc.
8713
8714         * emacs.c (main_1): added syms_of_gui_mswindows() call
8715
8716         * gui-msw.c: added "mswindows-shell-execute" lisp subr and
8717         syms_of_gui_mswindows() function
8718
8719         * symsinit.h: added the prototype for syms_of_gui_mswindows()
8720
8721 2000-01-18  Martin Buchholz <martin@xemacs.org>
8722
8723         * XEmacs 21.2.27 is released.
8724
8725 2000-01-18  Martin Buchholz  <martin@xemacs.org>
8726
8727         * glyphs-eimage.c (struct tiff_error_struct):
8728         (tiff_error_func):
8729         (tiff_warning_func):
8730         #if HAVE_VSNPRINTF ==> #ifdef HAVE_VSNPRINTF
8731
8732         * unexmips.c:
8733         * unexhp9k3.c:
8734         * unexfreebsd.c:
8735         * unexec.c: Remove vestigial Lucid C code.
8736         * unexalpha.c:
8737         * unexaix.c:
8738         * termcap.c:
8739         * libsst.c: Ansify.
8740         Remove declarations of errno and strerror().
8741
8742         * eval.c (Fbacktrace): Small Purify-cation.  Fix docstring.
8743
8744         * .dbxrc (run-temacs): Use the horrible ${1+"$@"} instead of "$@".
8745
8746 2000-01-16  Martin Buchholz  <martin@xemacs.org>
8747
8748         * mule-charset.c (Fchar_octet): Resurrect from earlier in 1999.
8749         Optimize.
8750
8751 2000-01-14  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
8752
8753         * md5.c:
8754         * file-coding.c:
8755         * file-coding.h:
8756         Change enum eol_type to eol_type_t.
8757
8758 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
8759
8760         * gui.c (get_gui_callback): Check cons before accessing car.
8761
8762 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
8763
8764         * specifier.h (XSPECIFIER_TYPE): Add error checking version.
8765         (XSETSPECIFIER_TYPE): Ditto.
8766
8767 2000-01-17  Didier Verna  <didier@xemacs.org>
8768
8769         * redisplay.c (generate_fstring_runes): compute string size in
8770         characters, not bytes.
8771
8772 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
8773
8774         * window.c (Fwindow_minibuffer_p): Make WINDOW optional.
8775
8776 2000-01-14  Hrvoje Niksic  <hniksic@iskon.hr>
8777
8778         * print.c (print_error_message): Call print_prepare().
8779
8780 2000-01-14  Martin Buchholz  <martin@xemacs.org>
8781
8782         * .dbxrc: Renamed from dbxrc.
8783
8784         * events.c (event_to_character):
8785         Use `assert (foo)' instead of `if (!foo) abort()'
8786
8787         * .gdbinit (xtype): Add documentation.
8788         * .gdbinit (check-temacs): New function.
8789         * .gdbinit (check-xemacs): New function.
8790         * dbxrc (check-xemacs): New function.
8791         * dbxrc (check-xemacs): New function.
8792
8793 2000-01-14  Andy Piper  <andy@xemacs.org>
8794
8795         * glyphs-widget.c (widget_query_geometry): Make sure that we
8796         calculate default dimensions correctly.
8797
8798 2000-01-13  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
8799
8800         * symsinit.h: Added prototype for reinit_vars_of_frame_mswindows.
8801
8802         * event-msw.c (vars_of_event_mswindows): Fixed a mistyped
8803         pdump_wire'd variable.
8804
8805         * emacs.c: (main_1): Conditionalized calls to
8806         reinit_vars_of_scrollbar_x and reinit_vars_of_module.
8807
8808 2000-01-13  Martin Buchholz  <martin@xemacs.org>
8809
8810         * window.c (Fset_window_configuration):
8811         * sysdep.c (_start):
8812         * input-method-motif.c (res):
8813         * event-Xt.c (Xt_process_to_emacs_event):
8814         Simple compiler warning fixes.
8815
8816         * bytecode.c (funcall_compiled_function): Use the original
8817         function symbol on the backtrace list in preference to the
8818         compiled_function object in error messages.
8819
8820 2000-01-13  Andy Piper  <andy@xemacs.org>
8821
8822         * glyphs-x.c (update_widget_face): Make sure we update the widget
8823         background as well as foreground.
8824
8825 2000-01-13  Andy Piper  <andy@xemacs.org>
8826
8827         * glyphs.h (struct Lisp_Image_Instance): Move justify and orient
8828         fields to subwindow.
8829         (IMAGE_INSTANCE_SUBWINDOW_JUSTIFY): new macro.
8830         (XIMAGE_INSTANCE_SUBWINDOW_JUSTIFY): ditto.
8831         (IMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
8832         (XIMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
8833
8834         * glyphs-widget.c (check_valid_tab_orientation): new function.
8835         (initialize_widget_image_instance): zero orientation and
8836         justification.
8837         (widget_instantiate): pick up orientation.
8838         (tab_control_query_geometry): return appropriate values for
8839         vertical tabs.
8840
8841         * glyphs-msw.c: (mswindows_tab_control_instantiate): assign
8842         appropriate creation flags for left, right and bottom tabs.
8843
8844         * s/cygwin32.h: add tab definitions.
8845
8846 2000-01-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
8847
8848         * glyphs-msw.c (mswindows_unmap_subwindow): Set focus back to the
8849         frame upon hiding a subwindow.
8850         (mswindows_button_instantiate): Changed the push button style to
8851         BS_PUSHBUTTON.
8852         (mswindows_button_instantiate): Removed button BS_NOTIFY
8853         style.
8854         (mswindows_button_instantiate): Removed redundant check for
8855         a disabled gui item.
8856         (mswindows_button_instantiate): Made use of WS_TABSTOP
8857         consistent: "operable" controls (edit, button, tree, scroll) have
8858         this style, "display-only" ones (static, progress gauge) do
8859         not. This style is currently ignored by XEmacs though. Also,
8860         removed the WS_EX_CONTROLPARENT style - it is not for children,
8861         it is for their parents!
8862         (mswindows_edit_field_instantiate): Ditto.
8863         (mswindows_progress_gauge_instantiate): Ditto.
8864         (mswindows_tree_view_instantiate): Ditto.
8865         (mswindows_tab_control_instantiate): Ditto.
8866         (mswindows_scrollbar_instantiate): Ditto.
8867         (mswindows_combo_box_instantiate): Ditto.
8868         (mswindows_widget_instantiate): Added the WS_EX_CONTROLPARENT
8869         style to the "clip" window.
8870         (mswindows_button_instantiate): Removed compilation warning by
8871         equally typing terms of the ?: operator.
8872
8873 2000-01-12  Didier Verna  <didier@xemacs.org>
8874
8875         * redisplay.c (generate_fstring_runes): new parameter holding the
8876         last modeline-format extent.
8877         (add_glyph_to_fstring_db_runes): new parameter holding the glyph
8878         extent, fill the glyph block with it.
8879         (generate_fstring_runes): handle these parameters.
8880         (generate_formatted_string_db): ditto.
8881
8882         * keymap.c (get_relevant_keymaps): retreive the keymaps from the
8883         glyphs'extents in the modeline.
8884
8885 1999-01-11  Mike Woolley  <mike@bulsara.com>
8886
8887         * ntheap.c: Reduced the reserved heap space from 1Gb down to
8888         256Mb, as a workaround for the non-starting problem many people
8889         have experienced.
8890
8891 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
8892
8893         * console-tty.c (Fset_console_tty_output_coding_system):
8894         Force redrawing tty frame.
8895
8896 2000-01-10  Didier Verna  <didier@xemacs.org>
8897
8898         * redisplay.c (generate_fstring_runes): fix size computation bug.
8899
8900 2000-01-09  William M. Perry <wmperry@aventail.com>
8901
8902         * gpmevent.c: (gpm_next_event_cb): Don't return value from void function.
8903
8904 2000-01-09  Andy Piper  <andy@xemacs.org>
8905
8906         * glyphs-msw.c: index -> i to avoid shadows.
8907         (xbm_create_bitmap_from_data): make static.
8908         (check_valid_string_or_int): deleted.
8909         (mswindows_control_wnd_proc): message -> msg to avoid shadows.
8910
8911         * glyphs-x.c (x_update_subwindow): remove unused args.
8912
8913         * glyphs.c (glyph_image_instance): return the thing. Don't set the
8914         back pointer - this is done in allocate_image_instance.
8915         (query_string_font): return Qnil to make the compiler happy.
8916         (unmap_subwindow): set to ~0 to make the compiler happy.
8917         (glyph_query_geometry): comment out until used.
8918         (glyph_layout): ditto.
8919
8920 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
8921
8922         * insdel.c (signal_after_change): Remove extraneous unbind_to().