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