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