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