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