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