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