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