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