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