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