1 2000-03-20 Martin Buchholz <martin@xemacs.org>
3 * XEmacs 21.2.32 is released.
5 2000-03-12 Jan Vroonhof <vroonhof@math.ethz.ch>
7 * sysdep.c: Include proper headers for mmap when pdumping()
9 2000-03-20 Martin Buchholz <martin@xemacs.org>
11 * buffer.h (DFC_ALLOCA_USE_CONVERTED_DATA):
12 (DFC_MALLOC_USE_CONVERTED_DATA):
13 Add aliasing-safe casts to allow use with char* or unsigned char*
16 * eldap.c (Fldap_open):
21 Make sure GCPRO'ed variables are initialized.
22 Use temp variables to avoid repeated calls to Flength.
24 2000-03-16 Martin Buchholz <martin@xemacs.org>
27 Make sure PATH_MAX is always defined.
28 Include limits.h for PATH_MAX.
29 Deprecate use of MAXPATHLEN.
31 2000-03-10 Martin Buchholz <martin@xemacs.org>
33 * emacs.c: Add reinit_vars_of_fileio.
34 * symsinit.h: Add reinit_vars_of_fileio.
35 * fileio.c (reinit_vars_of_fileio): New.
36 * fileio.c (Fmake_temp_name):
37 Initialize temp_name random number from microseconds to make
38 collisions even less likely. Initialize always at process startup
39 time. (make-temp-name) used to return the same file name twice in
41 Random stylistic fiddling.
44 2000-03-20 Andy Piper <andy@xemacs.org>
46 * glyphs.c (image_instantiate): allow text glyphs to be
47 instantiated in the minibuffer window.
49 2000-03-19 Andy Piper <andy@xemacs.org>
51 * glyphs.c (image_instance_hash): be careful about which items we
54 * glyphs-widget.c (tab_control_set_property): record into pending
55 items rather than the actual items.
57 * glyphs-x.c (x_update_widget): use pending items to update with.
59 * glyphs-msw.c (mswindows_tab_control_update): use pending items
62 * glyphs.c (mark_image_instance): mark pending items.
64 * window.c (Fset_window_configuration): record the buffer.
65 (Fselect_window): totally revert previous change which breaks many
68 2000-03-18 Andy Piper <andy@xemacs.org>
70 * glyphs-msw.c (mswindows_tab_control_update): force selected
73 * glyphs.c (image_instantiate): don't allow the minibuffer as a
74 window domain cache, otherwise we get inconsistencies at
75 startup. There is something fishy at startup which can lead to the
76 minibuffer being the selected window when the gutter content is
79 * gui.c (parse_gui_item_tree_list): add probably unneccessary
81 (parse_gui_item_tree_children): ditto.
82 (parse_gui_item_tree_item): ditto.
84 * glyphs.c (Fupdate_widget_instances): return something.
86 2000-03-18 Yoshiki Hayashi <yoshiki@xemacs.org>
88 * window.c (Fselect_window): Undo 2000-03-17 change.
90 2000-03-17 SL Baur <steve@musashimaru.m17n.org>
92 * postgresql.c (Fpq_setenv): Remove this turkey when linking
93 against v7.0 libraries. Insta-coredump city until the postgres
96 2000-03-17 Andy Piper <andy@xemacs.org>
98 * faces.c (complex_vars_of_faces): don't give the widget face an
99 inherited background pixmap.
101 * glyphs-msw.c (mswindows_tab_control_instantiate): select the
104 * event-stream.c (Fdispatch_non_command_events): return something.
106 * gutter.c (output_gutter): use widget face.
107 (clear_gutter): ditto.
109 * NEWS: adjust again.
111 * window.c (Fselect_window): make sure this runs to completion to
112 avoid oddities with Fset_window_configuration.
113 (Fcurrent_window_configuration): in general do not save the
114 minibuffer as the selected window.
116 * glyphs.h (IMAGE_INSTANCE_HASH_DEPTH): increase.
118 2000-03-16 Olivier Galibert <galibert@pobox.com>
120 * emacs.c (Frunning_temacs_p): Revert previous patch.
121 (main_1): Reinitialize running_temacs_argc if pdump_load succeeds.
123 2000-03-16 Andy Piper <andy@xemacs.org>
125 * glyphs-x.c (x_tab_control_update): if no widget values then
128 * NEWS: update for new features.
130 * event-Xt.c (emacs_Xt_force_event_pending): new function. Post a
131 synthetic event to the native system.
132 (reinit_vars_of_event_Xt): set force_event_pending to
133 emacs_Xt_force_event_pending.
135 * events.h (struct event_stream): add force_event_pending.
137 * specifier.c (recompute_one_cached_specifier_in_window): add
140 * redisplay.c (redisplay_frame): don't call
141 update_frame_subwindows. Reset subwindow cachels when
142 subwindows_changed, removing this was an optimization too far.
144 * redisplay-output.c (compare_runes): reorganize so that we catch
145 glyph changes when we want them. Set optimize_output when this
147 (redisplay_output_layout): remove frame_really_changed, use
148 optimize_output instead.
150 * redisplay-msw.c (mswindows_output_display_block): reset
151 optimize_output after outputting a glyph.
152 * redisplay-x.c (x_output_display_block): ditto.
153 * redisplay-tty.c (tty_output_display_block): ditto.
155 * gutter.c: (specifier_vars_of_gutter): use new spec changed
157 (gutter_specs_changed): do specific gutter positions.
158 (top_gutter_specs_changed): new function. Only update the
159 specified gutter specs.
160 (bottom_gutter_specs_changed): ditto.
161 (left_gutter_specs_changed): ditto.
162 (right_gutter_specs_changed): ditto.
164 * gui.c (gui_item_hash_internal): new function, does a real hash.
165 (gui_item_id_hash): use it.
166 (gui_item_hash): hash the eval'ed gui_item.
168 * gui-x.c (popup_selection_callback): send an eval event to call
169 Fupdate_widget_instances.
171 * gui-msw.c (mswindows_handle_gui_wm_command): send an eval event
172 to call Fupdate_widget_instances.
174 * glyphs.h (struct Lisp_Image_Instance): add optimize_output flag.
175 (IMAGE_INSTANCE_OPTIMIZE_OUTPUT): access it.
177 * glyphs.c: (update_frame_subwindows): deleted.
178 (Fupdate_widget_instances): new function for updating the dirty
179 state of widgets that might have changed.
180 (syms_of_glyphs): add Qupdate_widget_instances.
181 (full_list_hash): hash a list completely.
182 (image_instance_hash): use it for items and properties.
184 * frame-msw.c (mswindows_size_frame_internal): remove unused
187 * faces.h (struct face_cachel): fix comment.
189 * event-stream.c (Fdispatch_non_command_events): new
190 function. Process non-command events, forcing an event cycle
192 (syms_of_event_stream): declare.
193 (event_stream_force_event_pending): new function. Force an event
194 on the native event queue so that an event cycle will occur next
198 (struct ntpipe_shove_stream):
199 (mswindows_enqueue_dispatch_event):
200 (mswindows_dequeue_dispatch_event):
201 (mswindows_cancel_dispatch_event):
202 (mswindows_pump_outstanding_events):
203 (mswindows_drain_windows_queue):
204 (mswindows_handle_paint):
205 (mswindows_wnd_proc):
206 (mswindows_key_to_emacs_keysym):
207 (get_process_input_waitable):
208 (emacs_mswindows_delete_stream_pair): re-indent file.
209 (mswindows_need_event): do not process further fds if the windows
210 fd is set, otherwise you get endless XM_BUMPQUEUE cycles. This
211 fixes the 100% cpu problem.
212 (reinit_vars_of_event_mswindows): set force_event_pending to 0.
214 2000-03-15 Olivier Galibert <galibert@pobox.com>
220 * emacs.c: Moved dump file searching to dumper.c.
221 (Frunning_temacs_p): Fixed.
223 * alloc.c: Moved everything pdump-related to dumper.c. Removed
224 last_lrecord_type_index_assigned.
226 2000-02-20 Olivier Galibert <galibert@pobox.com>
228 * symsinit.h: Added reinit parameter to init_console_stream
231 * lisp.h: Added file parameter to pdump_load declaration.
233 * emacs.c (main_1): Added -nd/--nodump-file and -sd/--show-dump-id
234 support. Added dump file searching.
236 * config.h.in: Added EMACS_PROGNAME.
238 * console-stream.c (init_console_stream): Fix reinitialisation
239 when running from temacs.
241 * alloc.c (pdump): Add id support.
242 (pdump_load): Add file parameter and signature/id support.
244 * Makefile.in.in: Add full pdump support.
246 2000-03-15 SL Baur <steve@musashimaru.m17n.org>
248 * postgresql.c: Update documentation to reflect latest code
250 (print_result): Show tuple counts in printed representation when
252 (Fpq_put_nbytes): MULE-ize.
253 (Fpq_get_line_async): Ditto.
255 2000-03-14 SL Baur <steve@musashimaru.m17n.org>
257 * postgresql.c (Fpq_lo_import): Fix return value.
258 Suggested by: Kenji Itoh <keit@tpj.co.jp>.
260 2000-03-13 Ben Wing <ben@xemacs.org>
262 * alloc.c (pdump_load):
263 Fix compile warning under mswin.
265 2000-03-14 SL Baur <steve@musashimaru.m17n.org>
267 * postgresql.c: Mule-ization, bug fixes.
268 Use PG_CODING to encapsulate coding system name changes.
269 Backport a version of TO_EXTERNAL format for 21.1/InfoDock.
270 (pg-coding-system): Create.
272 (Fpq_conn_defaults): Mule-ize.
273 (Fpq_connectdb): Mule-ize & bug fix.
274 (Fpq_connect_start): Mule-ize.
275 (Fpq_set_client_encoding): Mule-ize.
276 (Fpq_finish): Document `DEAD' connection status.
278 (Fpq_pgconn): Mule-ize.
279 (Fpq_exec): Mule-ize & bug fix.
280 (Fpq_send_query): Ditto.
281 (Fpq_get_result): Ditto.
282 (Fpq_res_status): Mule-ize.
283 (Fpq_result_error_message): Mule-ize.
284 (Fpq_ntuples): fix comments.
285 (Fpq_fname): Mule-ize.
286 (Fpq_fnumber): Mule-ize.
287 (Fpq_ftype): fix comments.
288 (Fpq_get_value): Mule-ize.
289 (Fpq_cmd_status): Ditto.
290 (Fpq_cmd_tuples): Ditto.
291 (Fpq_oid_value): Ditto.
292 (Fpq_notifies): Ditto.
293 (Fpq_lo_import): Ditto.
294 (Fpq_lo_export): Ditto.
295 (Fpq_get_line): Ditto.
296 (Fpq_put_line): Mule-ize and bug fix.
297 (syms_of_postgresql): Fix ifdef'ing, add pg-coding-system.
299 2000-03-10 SL Baur <steve@musashimaru.m17n.org>
301 * postgresql.c (vars_of_postgresql): Mule-ize.
302 (Fpq_conn_defaults): Ditto.
304 2000-03-12 Ben Wing <ben@xemacs.org>
306 * alloc.c (Fmake_byte_code):
307 * alloc.c (debug_string_purity_print):
308 * alloc.c (pdump_backtrace):
309 * alloc.c (pdump_get_indirect_count):
310 * alloc.c (pdump_register_sub):
311 * alloc.c (pdump_register_object):
312 * alloc.c (pdump_register_struct):
313 * alloc.c (pdump_dump_data):
314 * alloc.c (pdump_reloc_one):
318 * console-msw.c (GetConsoleHwnd):
319 * console-msw.c (msw_hide_console):
320 * console-msw.c (msw_show_console):
321 * console-msw.c (msw_ensure_console_buffered):
322 * console-msw.c (msw_output_console_string):
323 * console-msw.c (console_type_create_mswindows):
325 a) Added functions to manipulate the console window for use with
328 b) Added support for writing text to the console, which is now
329 used under Windows when xemacs is not being run non-interactively,
330 to write text that would otherwise be destined for stdout because
331 under these circumstances, text written to stdout tends to
332 disappear and not be seen.
336 * event-Xt.c (x_event_to_emacs_event):
337 * event-Xt.c (describe_event_window):
338 * events-mod.h (XEMACS_MOD_CONTROL):
340 * events.c (Fmake_event):
341 * events.c (character_to_event):
342 * events.c (event_to_character):
343 * events.c (format_event_object):
344 * events.c (Fevent_modifiers):
346 * events.h (struct key_data):
347 * events.h (struct button_data):
348 * events.h (struct misc_user_data):
349 * frame-x.c (Fcde_start_drag_internal):
350 * frame-x.c (Foffix_start_drag_internal):
351 * gpmevent.c (Freceive_gpm_event):
353 * keymap.c (bucky_sym_to_bucky_bit):
354 * keymap.c (control_meta_superify):
355 * keymap.c (make_key_description):
356 * keymap.c (keymap_lookup_directly):
357 * keymap.c (create_bucky_submap):
358 * keymap.c (keymap_store):
359 * keymap.c (define_key_check_and_coerce_keysym):
360 * keymap.c (define_key_parser):
361 * keymap.c (define_key_alternate_name):
362 * keymap.c (Fdefine_key):
363 * keymap.c (raw_lookup_key_mapper):
364 * keymap.c (struct map_keymap_unsorted_closure):
365 * keymap.c (map_keymap_unsorted_mapper):
366 * keymap.c (map_keymap_sort_predicate):
367 * keymap.c (map_keymap_sorted):
368 * keymap.c (accessible_keymaps_mapper_1):
369 * keymap.c (where_is_recursive_mapper):
370 * keymap.c (describe_map_mapper):
371 * keymap.c (describe_map_sort_predicate):
372 * keymap.c (describe_map):
373 * keymap.c (complex_vars_of_keymap):
374 And a number of other files, the key modifier preprocessor
375 constants that xemacs uses have names that conflict with constants
376 defined under MS Windows for other purposes, so they were renamed
377 to begin with the prefix XEMACS_. The variables that hold such
378 modifiers were changed to consistently be of type int to fix
379 various compile warnings.
381 * console.c (complex_vars_of_console):
384 * device-msw.c (mswindows_finish_init_device):
385 * device-msw.c (msw_get_workspace_coords):
386 * device-msw.c (mswindows_device_system_metrics):
387 and various other files, added support for a new
388 device property called offset-workspace which returns the position
389 of the upper left corner of the workspace area and goes along with
390 the existing size-workspace property.
393 * dialog-msw.c (push_bufbyte_string_as_unicode):
394 * dialog-msw.c (mswindows_popup_dialog_box):
395 Added support for XEmacs-style accelerator specifications in
396 button text. Note: I didn't add support for this under X Windows,
397 and somebody needs to do this.
400 * dialog.c (Fpopup_dialog_box):
401 Documented the support for accelerators that was just mentioned.
403 editfns.c (get_home_directory): Changed behavior under Windows
404 when HOME not defined; former behavior was irretrievably broken.
409 * minibuf.c (clear_echo_area_internal):
410 * minibuf.c (echo_area_append):
412 * print.c (std_handle_out_external):
413 * print.c (std_handle_out_va):
415 * print.c (write_string_to_stdio_stream):
416 * print.c (output_string):
417 * print.c (debug_print):
418 * print.c (debug_backtrace):
419 * print.c (debug_short_backtrace):
420 Cleaned up the code that prints text to stdout so that this can be
421 changed to output into a console window instead under MS Windows,
425 * eval.c (DEFEND_AGAINST_THROW_RECURSION):
426 * eval.c (internal_catch):
427 * eval.c (unwind_to_catch):
428 * eval.c (throw_or_bomb_out):
429 * eval.c (condition_case_1):
431 * eval.c (check_error_state_sanity):
432 * eval.c (call_with_suspended_errors_1):
433 * eval.c (call_with_suspended_errors):
434 * eval.c (reinit_vars_of_eval):
435 Added code to catch throw loops and check for a pesky bug that may
439 * event-msw.c (key_needs_default_processing_p):
440 * event-msw.c (mswindows_wnd_proc):
441 * event-msw.c (mswindows_modifier_state):
442 * event-msw.c (emacs_mswindows_quit_p):
443 * event-msw.c (vars_of_event_mswindows):
444 a) Added support for using the alt key to select menu items as is
445 standard under MS Windows. This is controlled using the variable
446 menu-accelerator-enabled, just like under X Windows. There is an
447 option on the options menu to turn this support on. I really
448 think that it should be on by default under Windows, but I'm not
449 going to make this change yet.
451 b) Added support for dynamic display size changes under Windows.
454 * event-stream.c (maybe_echo_keys):
455 * event-stream.c (Fnext_event):
456 * event-stream.c (command_builder_find_leaf):
457 * event-stream.c (lookup_command_event):
458 * event-stream.c (execute_command_event):
459 * event-stream.c (pre_command_hook):
460 * event-stream.c (post_command_hook):
461 * event-stream.c (syms_of_event_stream):
462 * event-stream.c (vars_of_event_stream):
463 * event-stream.c (complex_vars_of_event_stream):
464 * events.h (struct command_builder):
466 a) Tried to clean up a little bit the horribly written x-specific
467 accelerator code that crept into this file. I moved this code
468 into menubar-x.c where it belongs. I also needed to move the
469 command builder structure into the file events.h because it is
470 accessed directly by this accelerator code. What I didn't do, but
471 which should be done at some point, is to properly abstract this
472 code using device methods instead of the kludgy way that it
473 currently hooks into the event code.
475 b) Added the lisp variables this-command-properties and
476 last-command- properties, which should be used to synchronize two
477 adjacent commands in preference to playing games with the variable
478 this-command, which is typically what happens.
480 c) Added some slightly nasty code to hook into the lisp support
481 for shifted- motion-key selection. This is actually necessary for
482 somewhat complicated reasons, which are described in
483 simple.el. (NB: I think the proper thing would be to have the code
484 that calls the pre and post command hooks also call out to generic
485 lisp functions in simple.el, where all built-in stuff could be
486 added. I will think about this more.)
488 * event-unixoid.c (poll_fds_for_input):
489 * lread.c (readchar):
490 * redisplay-tty.c (tty_clear_frame):
491 * redisplay-x.c (x_get_gc):
492 * signal.c (interrupt_signal):
493 And a whole bunch of other files: fixed up places that printed
494 directly to stderr to instead call the function stderr_out so that
495 the changes I made under Windows work correctly.
497 * filemode.c (mode_string):
501 * frame-msw.c (mswindows_size_frame_internal):
502 Fixed the computation of frame size and position to keep the frame
503 within the workspace area, rather than within the physical
504 dimensions of the screen, so that the frame doesn't overlap window
505 manager decorations, such as the start menu and toolbar, typically
506 at the bottom of the screen.
508 * frame.c (vars_of_frame):
509 Changed the default frame title format under MS Windows to consist
510 of buffername-XEmacs, which is standard under MS Windows. I think
511 it might be a good idea to change this everywhere because I think
512 it is superior to the current frame title format, but this is the
513 kind of change that is likely to cause some people to get annoyed,
514 so I'm not making it.
516 * glyphs-eimage.c (png_instantiate): Fixed some compile warnings.
518 * gui-msw.c (mswindows_handle_gui_wm_command):
519 Fixed compile warnings.
522 * gui-x.c (strdup_and_add_accel):
523 * gui-x.c (button_item_to_widget_value):
525 Added code to automatically put an accelerator onto the beginning
526 of menu items that don't have one as is now the standard, and is
527 described more later. Also fixed things so that the menu item
528 name can be an evaluated expression, again a new standard.
531 * gui.c (gui_item_add_keyval_pair):
532 * gui.c (make_gui_item_from_keywords_internal):
533 * gui.c (gui_add_item_keywords_to_plist):
534 * gui.c (gui_item_accelerator):
535 * gui.c (gui_name_accelerator):
536 * gui.c (gui_item_included_p):
537 * gui.c (gui_item_display_flush_left):
538 * gui.c (gui_item_display_flush_right):
539 * gui.c (parse_gui_item_tree_item):
540 * gui.c (parse_gui_item_tree_children):
541 * gui.c (parse_gui_item_tree_list):
542 Mule-ized. Cleanup. GCPRO addition.
544 * line-number.c (buffer_line_number):
546 * lisp.h (EMACS_INT_MAX):
547 Added the manifest constant EMACS_INT_MIN corresponding to the
548 existing constant EMACS_INT_MAX. This is partially to fix compile
549 warnings under Windows, and partly for cleanliness.
552 * menubar-msw.c (REPLACE_ME_WITH_GLOBAL_VARIABLE_WHICH_CONTROLS_RIGHT_FLUSH):
553 * menubar-msw.c (msw_translate_menu_or_dialog_item):
554 * menubar-msw.c (displayable_menu_item):
555 * menubar-msw.c (populate_menu_add_item):
556 * menubar-msw.c (populate_or_checksum_helper):
557 * menubar-msw.c (populate_menu):
558 * menubar-msw.c (update_frame_menubar_maybe):
559 * menubar-msw.c (prune_menubar):
560 * menubar-msw.c (msw_char_is_accelerator):
561 * menubar-msw.c (unsafe_handle_wm_initmenu_1):
562 * menubar-msw.c (mswindows_handle_wm_command):
563 * menubar-msw.c (mswindows_handle_wm_initmenupopup):
564 * menubar-msw.c (mswindows_handle_wm_initmenu):
565 * menubar-msw.c (mswindows_update_frame_menubars):
566 * menubar-msw.c (mswindows_free_frame_menubars):
567 * menubar-msw.c (mswindows_popup_menu):
568 Fixed a bug in handling accelerators where an extra character
569 would be displayed in the menu item. Also generalized the
570 function displayable_menu_item because it is now used by the
571 dialog box code as well. And finally, added code in the functions
572 that create the menubar to extract a list of accelerators for the
573 top level menubar, which is used in the event code to determine
574 whether a particular alt-key combination should be used to invoke
575 a menu item, or should be passed through to access the standard
576 XEmacs keymap binding for this key combination.
578 Much needed GCPROing.
581 * menubar-x.c (menu_item_descriptor_to_widget_value_1):
582 * menubar-x.c (menu_item_descriptor_to_widget_value):
583 * menubar-x.c (restore_in_menu_callback):
584 * menubar-x.c (x_popup_menu):
585 * menubar-x.c (menu_move_up):
586 * menubar-x.c (menu_move_down):
587 * menubar-x.c (menu_move_left):
588 * menubar-x.c (menu_move_right):
589 * menubar-x.c (menu_select_item):
590 * menubar-x.c (command_builder_operate_menu_accelerator):
591 * menubar-x.c (menu_accelerator_junk_on_error):
592 * menubar-x.c (command_builder_find_menu_accelerator):
593 * menubar-x.c (Faccelerate_menu):
595 Moved a whole bunch of code here that was previously in
596 event-stream.c as described above. There is also code connected
597 to the new standard of adding an accelerator to the beginning of
598 menu items that don't have one as described above and below.
601 * menubar.c (menu_parse_submenu_keywords):
602 * menubar.c (Fmenu_find_real_submenu):
603 * menubar.c (Fnormalize_menu_item_name):
604 * menubar.c (syms_of_menubar):
605 * menubar.c (vars_of_menubar):
606 * menubar.c (complex_vars_of_menubar):
608 a) Cleaned up a bunch of documentation and improved it.
610 b) XEmacs now automatically adds an accelerator onto the beginning
611 of any menu items that don't have one. I did this because there
612 will inevitably be some menu items on the main menubar that don't
613 have accelerators on them because the package that adds that
614 particular menu item hasn't yet been fixed up to have accelerators
615 in them and it looked rather strange to have some items with and
616 some items without accelerators, especially since even in items
617 without accelerators, you can, at least under windows, still
618 access the item through an accelerator corresponding to the first
619 character in the item's name. If people don't like this behavior,
620 I can add a variable to turn it off optionally, but I'm not sure
621 this is a good idea because we really do need to have accelerators
622 on all of the menu items, and if a package doesn't like the
623 accelerators being put on the first character, then it should put
624 the accelerators where they belong.
626 c) I made a behavior change, which is that the descriptor that
627 specifies the text of the menu item, which formerly was just a
628 string, can now also be an evaluated expression. This makes this
629 descriptor parallel with all of the others, which could also be
630 evaluated expressions. This also obviates the need for the
631 keyword :label, which was previously listed in the documentation
632 as unimplemented, and which was for the same purpose.
637 * ntproc.c (new_child):
638 * ntproc.c (sys_spawnve):
639 * ntproc.c (find_child_console):
640 * ntproc.c (sys_kill):
641 Fixed compile warnings. By the way, this file should really go
642 away entirely, and this will happen as soon as Kirill makes his
643 final round of process cleanups, which affect the function
647 * process-nt.c (struct nt_process_data):
648 * process-nt.c (find_process_from_pid):
649 * process-nt.c (send_signal_the_nt_way):
650 * process-nt.c (enable_child_signals):
651 * process-nt.c (find_child_console):
652 * process-nt.c (send_signal_the_95_way):
653 * process-nt.c (nt_finalize_process_data):
654 * process-nt.c (ensure_console_window_exists):
655 * process-nt.c (nt_create_process):
656 * process-nt.c (nt_kill_child_process):
657 * process-nt.c (nt_kill_process_by_pid):
658 * process-nt.c (nt_open_network_stream):
659 * process-nt.c (vars_of_process_nt):
660 Copied over code from Emacs 20.5 to correctly send signals to sub-
661 processes under Windows 95. Also added code to automatically
662 create and hide console window when a sub-process is created under
663 Windows 95, which obviates the need for the separate runemacs.exe
664 executable, and finally implemented some variables that were
665 implemented in Emacs 20.5, but previously not in XEmacs. These
666 include mswindows- start-process-share-console and
667 mswindows-start-process-inherit-error-mode. (Both of these only
668 apply to Windows 95.)
670 * regex.c (regex_compile): Fixed a compile warning.
673 * select-msw.c (mswindows_own_selection):
674 * select-msw.c (mswindows_get_foreign_selection):
675 * select-msw.c (mswindows_disown_selection):
676 * select-msw.c (console_type_create_select_mswindows):
677 * select-msw.c (syms_of_select_mswindows):
678 Cleaned up the file and implemented the device method
679 selection_exists_p, which had accidentally been left out. Also
680 removed four lisp functions that were remnants from before the
681 time when the selection code was properly device abstracted.
682 These functions are no longer needed because there are generic
683 equivalents, and because they were added recently and don't exist
684 in FSF Emacs, I don't think there's any problem with just deleting
688 * sysdep.c (sys_subshell):
689 Fixed a compile warning, although in this case there's probably
690 something wrong with this code, and it ought to be looked into
691 more thoroughly by somebody who understands it.
694 * window.c (Fwindow_text_area_height):
695 * window.c (Fwindow_width):
696 * window.c (Fwindow_full_width):
697 * window.c (Fwindow_pixel_width):
698 * window.c (debug_print_window):
699 * window.c (syms_of_window):
700 Added functions window-text-area-height and window-full-width,
701 which are functions for returning various width and height
702 characteristics of a window. (One of these functions is necessary
703 for making the file dialog box work correctly, and the other one
704 was added for completeness.) Also added a table to the
705 documentation for window-height which describes the entire scheme
706 for accessing width and height characteristics of a window.
708 2000-03-12 Kirill 'Big K' Katsnelson <kkm@dtmx.com>
710 * nt.c (fstat): Added a comment for another problem with
711 non-encapsulated [f]stat(), reported by Adrian Aichner
712 <aichner@ecf.teradyne.com>.
714 2000-03-11 Andy Piper <andy@xemacs.org>
716 * window.c (make_dummy_parent): initialize subwindow instance
718 (Fset_window_configuration): zero extent_modiff.
720 2000-03-10 Andy Piper <andy@xemacs.org>
722 * redisplay.c (Fredraw_frame): reset the changed_set flags so that
723 more changes can be triggered.
724 (Fredisplay_frame): ditto.
725 (Fredraw_device): ditto.
726 (Fredisplay_device): ditto.
727 (redisplay_frame): make non-static.
728 (redisplay_frame): call update_frame_gutter_geometry outside of
731 * gutter.h: declare update_frame_gutter_geometry.
733 * redisplay.h: declare redisplay_frame.
735 * gutter.c (update_frame_gutter_geometry): move geometry changes
736 in update_frame_gutters here. Geometry changes can only occur
737 outside of redisplay.
738 (update_frame_gutters): remove geometry change code.
739 (Fredisplay_gutter_area): make sure that we are in display when we
740 update and that we have flushed any size changes.
742 2000-03-11 Andy Piper <andy@xemacs.org>
744 * alloc.c (pdump_dump_data): remove i & count shadows.
746 2000-02-27 Mike Alexander <mta@arbortext.com>
748 * sysdep.h: Declare pdump_read_file
750 * sysdep.c (pdump_read_file): New function
752 * alloc.c (pdump_load): Call pdump_read_file to get the portable
755 2000-03-10 SL Baur <steve@musashimaru.m17n.org>
757 * lrecord.h: add `lrecord_type_pgsetenv'.
759 2000-03-08 SL Baur <steve@musashimaru.m17n.org>
761 * symsinit.h: declare (vars|syms)_of* functions.
762 * lrecord.h: add `lrecord_type_pgconn' and 'lrecord_type_pgresult'.
764 2000-03-06 SL Baur <steve@musashimaru.m17n.org>
766 * config.h.in: Add symbols HAVE_POSTGRESQL and HAVE_POSTGRESQLV7
768 * inline.c: Include postgresql.h lrecord stuffs to placate buggy
771 * emacs.c (main_1): Call postgres initialization code.
773 * postgresql.h: New file. PostgreSQL RDBMS support.
774 * postgresql.c: New file.
776 2000-03-08 Yoshiki Hayashi <yoshiki@xemacs.org>
778 * redisplay-output.c (redisplay_output_display_block): Disable
781 2000-03-09 Yoshiki Hayashi <yoshiki@xemacs.org>
783 * mule-canna.c (Fcanna_henkan_region): Translate doc-string.
784 (Fcanna_henkan_next): Ditto.
785 (Fcanna_bunsetu_henkou): Ditto.
786 (Fcanna_henkan_kakutei): Ditto.
787 (Fcanna_henkan_end): Ditto.
788 (Fcanna_henkan_quit): Ditto.
789 (Fcanna_henkan_next): Set retun value correctly.
790 (c2mu): Use unsigned char instead of signed char.
792 2000-03-09 Yoshiki Hayashi <yoshiki@xemacs.org>
794 * emacs.c (main_1): Always call syms_of_gui.
795 * inline.c: include gui.h
797 2000-03-09 Yoshiki Hayashi <yoshiki@xemacs.org>
799 * redisplay.c (Vvisible_bell): Renamed from visible_bell and
800 converted to Lisp_Object.
801 (Qtop_bottom): New variable.
802 (syms_of_redisplay): Initialize it.
803 * redisplay.h (Vvisible_bell): Ditto.
804 * sound.c (ding): Ditto and check if Vvisible_bell is nil.
805 * redisplay-x.c (x_flash): When Vvisible_bell is top-bottom,
806 only flash top and bottom.
808 2000-03-08 Andy Piper <andy@xemacs.org>
810 * buffer.c (Frename_buffer): record new buffer name the right way.
812 2000-03-08 Andy Piper <andy@xemacs.org>
814 * glyphs.c (update_subwindow): increase hash depth so that widget
815 items get picked up properly.
817 * redisplay-output.c (compare_runes): increase hash depth so that
818 widget items get picked up properly.
820 2000-03-08 Andy Piper <andy@xemacs.org>
822 * gutter.c (output_gutter): add some debug.
824 * glyphs.h (struct Lisp_Image_Instance): add display_hash.
825 (IMAGE_INSTANCE_DISPLAY_HASH): new macro.
826 (XIMAGE_INSTANCE_DISPLAY_HASH): ditto.
828 * redisplay-output.c (compare_runes): use display_hash to
829 determine if glyphs really are not the same.
831 * glyphs.c (update_subwindow): check display_hash to see if
832 anything really needs to be updated. If not then do
833 nothing. Record the display_hash after updating.
834 (image_instance_equal): compare the image_instance face also.
836 2000-03-07 Yoshiki Hayashi <yoshiki@xemacs.org>
838 * redisplay.h: Fix comment style.
840 2000-03-08 Jonathan Harris <jhar@tardis.ed.ac.uk>
842 * consle-msw.h (struct mswindows_frame):
843 Added new member paint_pending to indicate whether a WM_PAINT
844 magic event has been queued for this frame.
846 * event-msw.c (mswindows_drain_windows_queue):
847 Don't queue a WM_PAINT magic event if one is already queued.
848 (emacs_mswindows_handle_magic_event): clear paint_pending flag.
850 * frame-msw.c (mswindows_init_frame_1): initialise paint_pending flag.
852 2000-03-07 Didier Verna <didier@xemacs.org>
854 * dired.c: #include `regex.h' after `sysfile.h'.
856 2000-03-06 Martin Buchholz <martin@xemacs.org>
858 * sound.c (init_nas_sound): Fix compiler warning.
860 * alloc.c (ALIASING_VOIDPP_DEREFERENCE): New.
862 (MARK_STRUCT_AS_FREE):
863 (MARK_STRUCT_AS_NOT_FREE):
864 Make `gcc -fstrict-aliasing' work properly.
866 2000-03-07 Jonathan Harris <jhar@tardis.ed.ac.uk>
868 * device-msw.c (mswindows_finish_init_device): Call CoInitialize().
869 (mswindows_delete_device): Call CoUnnitialize().
871 * event-msw.c (mswindows_wnd_proc): WM_DROPFILES: Decode Shortcuts.
873 2000-02-25 <CraigL@DyCon.com>
875 * process-nt.c: MinGW now has <shellapi.h>, but still needs
878 * sysdep.c: This extern declaration for environ prevents MinGW
879 from finding the variable in CRTDLL.DLL.
881 * s\mingw32.h (PBS_SMOOTH): Removed, now defined in cygwin's
885 (_WIN32_IE): Added, needed to get the TCS_BOTTOM and TCS_VERTICAL
887 (MMRESULT): Removed, now defined in cygwin's windows headers.
889 (uid_t,gid_t,pid_t,ssize_t): ..
890 (_timeb): Removed, MinGW defines both _timeb and timeb.
891 (HAVE_H_ERRNO): Added.
892 (HAVE_TZNAME): Added, configure is not detecting this.
894 2000-02-03 IKEYAMA Tomonori <tomonori@suiyokai.org>
896 * chartab.h (XCHAR_TABLE_VALUE_UNSAFE): New macro.
897 * syntax.c (syntax_match): Use it.
899 * cmds.c: Import auto-fill-chars from FSF Emacs.
900 (Vauto_fill_chars): New variables.
901 (internal_self_insert): Check Vauto_fill_chars.
903 Declare auto-fill-chars as a Lisp variable and initialize it.
905 2000-03-05 Jonathan Harris <jhar@tardis.ed.ac.uk>
907 * fileio.c (Fmake_symbolic_link):
909 Run handlers even if local machine doesn't have symlinks.
911 2000-03-05 Jonathan Harris <jhar@tardis.ed.ac.uk>
913 * event-msw.c (mswindows_drain_windows_queue):
914 Don't generate paint magic events for non-XEmacs frames.
916 2000-03-05 Andy Piper <andy@xemacs.org>
918 * redisplay.c (redisplay_frame): generate_displayable_area and
919 friends assumes that we are not in GC, we therefore have to make
920 sure that this doesn't happen.
922 * gutter.c (calculate_gutter_size): generate_displayable_area
923 assumes that we are not in GC, we therefore have to make sure that
926 2000-03-05 Martin Buchholz <martin@xemacs.org>
928 * opaque.c (DEFINE_LRECORD_IMPLEMENTATION): opaque_ptr ==> opaque-ptr
930 2000-03-03 Jan Vroonhof <vroonhof@math.ethz.ch>
932 * redisplay.c (regenerate_window): Make sure we set a sane value
933 for end_pos even if we jump out of the loop.
934 (regenerate_window): Answer Ben's question :-).
935 (start_end_of_last_line): Add may_error argument.
936 (start_of_last_line):
937 (end_of_last_line): Pass may_error = 0.
938 (end_of_last_line_may_error): New function.
939 (pixel_to_glyph_translation): Use it, so we don't crash in
942 2000-03-04 Andy Piper <andy@xemacs.org>
944 * window.h (struct window): add gutter_extent_modiff.
946 * window.c (allocate_window): zero out gutter_extent_modiff.
948 * redisplay.h: declare sync_display_line_structs.
950 * redisplay.c (add_glyph_rune): add a better comment.
952 * redisplay-output.c (sync_display_line_structs): made non-static.
953 (compare_runes): remove unneccesary glyph cachel access.
955 * gutter.h: declare gutter_extent_signal_changed_region_maybe.
957 * gutter.c (output_gutter): don't output the gutter if extent
958 changes only involve extents in buffers. use 4 sets of display
960 (gutter_extent_signal_changed_region_maybe): new function. Mark
961 extents in gutters as changed.
962 (update_frame_gutters): use 4 sets of display lines.
963 (reset_gutter_display_lines): ditto.
964 (free_frame_gutters): ditto.
965 (redraw_exposed_gutter): force output of gutters.
967 * frame.h (struct frame): add 4 sets of gutter display lines.
969 * extents.c: (extent_changed_for_redisplay): signal changes to
970 extents in strings in the gutter as well as extents in buffers.
972 2000-03-02 Andy Piper <andy@xemacs.org>
974 * gutter.c (specifier_vars_of_gutter): cosmetic changes.
976 * frame.c (Fmake_frame): make sure the gutters get initialized
977 after the frame is visible.
978 (set_frame_selected_window): re-arrange compilation macros a
980 (change_frame_size_1): mark gutters changed.
982 * device.c (Fset_device_class): mark gutters changed.
984 2000-03-01 Andy Piper <andy@xemacs.org>
986 * window.c (window_top_frame_gutter_height): deleted.
987 (window_bottom_frame_gutter_height): ditto.
988 (window_left_frame_gutter_height): ditto.
989 (window_right_frame_gutter_height): ditto.
990 (window_top_gutter_height): don't use them.
991 (window_bottom_gutter_height): ditto.
992 (window_left_gutter_width): ditto.
993 (window_right_gutter_width): ditto.
994 (Fsplit_window): ditto.
995 (Fwindow_pixel_edges): don't use border dimensions here.
997 * scrollbar.c (update_scrollbar_instance): don't take gutters into account.
998 (update_scrollbar_instance): ditto.
1000 * redisplay.c (generate_modeline): don't take gutters into account.
1001 (generate_modeline): ditto.
1002 (redisplay_frame): small gutter display optimisation.
1004 * redisplay-x.c (x_output_vertical_divider): don't take gutters into account.
1006 * redisplay-msw.c (mswindows_output_vertical_divider): don't take
1007 gutters into account.
1009 * gutter.h (WINDOW_REAL_*_GUTTER_BOUNDS): remove bogus checks
1010 for window position and type.
1012 * gutter.c (get_gutter_coords): fix for frame gutters.
1013 (update_frame_gutters): update frame geometry if the gutters have
1015 (init_frame_gutters): record current gutter geometries.
1017 * glyphs-msw.c (mswindows_subwindow_instantiate): remove unused
1019 (mswindows_widget_instantiate): ditto.
1021 * frame.h (struct frame): add current_gutter_bounds.
1023 * frame.c (change_frame_size_1): position window and minibuffer
1024 appropriately taking into account the frame gutters.
1026 * frame-x.c: (x_initialize_frame_size): take into account the
1029 2000-02-29 Stephen J. Turnbull <stephen@xemacs.org>
1031 * emacs.c (data-directory): Xref `locate-data-file' in docstring.
1033 2000-02-29 Stephen J. Turnbull <stephen@xemacs.org>
1035 * alloc.c (dumpopaquevec): Increase dimension for --with-canna.
1037 1999-12-30 Yoshiki Hayashi <t90553@mail.ecc.u-tokyo.ac.jp>
1039 * file-coding.c (reset_decoding_stream): Clear previous
1040 detection state when autodetect.
1042 2000-02-29 Didier Verna <didier@xemacs.org>
1044 * extents.c (set_extent_glyph_1): don't require extents to be
1047 2000-02-27 Andy Piper <andy@xemacs.org>
1049 * gutter.c (Fset_default_gutter_position): don't default left and
1050 right gutter visibility to t.
1051 (Fset_default_gutter_position): run
1052 default-gutter-position-changed-hook.
1053 (syms_of_gutter): add default-gutter-position-changed-hook.
1055 2000-02-26 Andy Piper <andy@xemacs.org>
1057 * specifier.c (Fmake_specifier): add gutter references.
1059 * gutter.h (RAW_WINDOW_GUTTER): new macro.
1061 * lisp.h: declare Fvalid_plist_p.
1063 * gutter.c (gutter_geometry_changed_in_window): mark the modeline
1065 (default_gutter_visible_p_changed_in_window): invalidate gutter as
1066 well as its visibility so that it gets reconstructed.
1067 (construct_window_gutter_spec): new function. Construct a string
1068 to be displayed in the gutter from a plist of strings. Take care
1069 to only use elements that are declared as visible.
1070 (calculate_gutter_size): use RAW_WINDOW_GUTTER instead of
1072 (gutter_validate): allow plists of strings in the specifier.
1073 (gutter_specs_changed): construct the real_gutter from the gutter
1074 specs using construct_window_gutter_spec.
1075 (gutter_visible_validate): gutter-visible is a new specifier type.
1076 (Fgutter_visible_specifier_p): new function for the new specifier.
1077 (syms_of_gutter): declare gutter-visible and
1078 Fgutter_visible_specifier_p.
1079 (specifier_type_create_gutter): intitalize new gutter-visible
1081 (reinit_specifier_type_create_gutter): ditto.
1082 (specifier_vars_of_gutter): use new specifier type for gutter
1084 (init_frame_gutters): construct real_gutter correctly.
1085 (Fgutter_specifier_p): beef up documentation.
1086 (Fgutter_size_specifier_p): ditto.
1088 * winslots.h: add real_gutter slots.
1090 2000-02-25 Andy Piper <andy@xemacs.org>
1092 * device-msw.c: Be kind to older cygwin versions. From Raymond
1093 Toy <toy@rtp.ericsson.se>.
1095 * gui-msw.c (Fmswindows_shell_execute): Remove things unknown to
1096 earlier cygwins. From Raymond Toy <toy@rtp.ericsson.se>.
1098 2000-02-25 Martin Buchholz <martin@xemacs.org>
1100 * elhash.c (MARK_OBJ): Practice macro hygiene.
1102 2000-02-24 Martin Buchholz <martin@xemacs.org>
1104 * miscplay.c: s/__inline__/inline/g;
1105 * glyphs-msw.c (set_mono_pixel): INLINE ==> static inline
1106 (get_device_compdc): INLINE ==> static inline
1107 * *.[ch]: Change INLINE to INLINE_HEADER globally.
1108 find -name '*.h' | \
1109 xargs global-replace \
1110 's/(^|(?<=[^A-Za-z0-9_]))INLINE((?=[^A-Za-z0-9_])|$)/INLINE_HEADER/g'
1112 2000-02-25 Andy Piper <andy@xemacs.org>
1114 * window.c (window_top_frame_gutter_height): new function.
1115 (window_top_window_gutter_height): ditto.
1116 (window_top_gutter_height): use them.
1117 (window_bottom_frame_gutter_height): new function.
1118 (window_bottom_window_gutter_height): ditto.
1119 (window_bottom_gutter_height): use them.
1120 (window_left_window_gutter_width): new function.
1121 (window_left_frame_gutter_width): ditto.
1122 (window_left_gutter_width): use them.
1123 (window_right_window_gutter_width): new function.
1124 (window_right_frame_gutter_width): ditto.
1125 (window_right_gutter_width): use them.
1126 (window_pixel_height): new function. calulate window pixel height
1127 with frame gutter involvement.
1128 (Fsplit_window): calculate new sizes taking frame gutters into
1130 (window_char_height_to_pixel_height): don't include frame gutters.
1131 (window_char_height): use window_pixel_height.
1132 (window_pixheight): rename from window_pixel_height.
1133 (change_window_height): use it.
1134 (window_pixel_height_to_char_height): don't include frame gutters.
1135 (window_char_width_to_pixel_width): ditto.
1137 2000-02-25 Andy Piper <andy@xemacs.org>
1139 * glyphs.h (IMAGE_INSTANCE_FACE): glyph might be nil, don't crash
1142 2000-02-24 Martin Buchholz <martin@xemacs.org>
1144 * alloc.c (staticpro):
1150 (compact_string_chars):
1152 Convert: if (foo) abort(); ==> assert (! foo);
1154 * eldap.c (Fldap_search_basic):
1158 Fix compiler warnings, and possible crashes if (random) return
1159 value were to be used.
1161 2000-02-21 Kirill 'Big K' Katsnelson <kkm@dtmx.com>
1163 * device-msw.c: Workaround ResetDC failure.
1165 * frame-msw.c (msprinter_init_frame_3): Added an assertion before
1168 * redisplay-msw.c (get_frame_dc): Added start_page_p.
1169 (mswindows_text_width): Do not start printer page.
1171 * console-msw.h (CHECK_MSGDI_DEVICE): Added this and friends.
1173 * glyphs-msw.c: Added image methods to msprinter console and
1174 msprinter-specific image instantiation.
1176 2000-02-20 Mike Alexander <mta@arbortext.com>
1178 * select-msw.c (Fmswindows_set_clipboard): GC protect more things
1179 to avoid crashes when selection-sets-clipboard is on
1180 (mswindows_own_selection): ditto
1182 2000-02-19 Kirill 'Big K' Katsnelson <kkm@dtmx.com>
1185 * redisplay-msw.c (get_frame_dc):
1188 * device-msw.c (mswindows_init_device):
1189 (mswindows_delete_device):
1190 (msprinter_init_device):
1191 (msprinter_delete_device):
1192 * frame-msw.c (mswindows_init_frame_1):
1193 (mswindows_delete_frame):
1194 (msprinter_init_frame_3):
1195 (msprinter_delete_frame): Move compatible DC to device object from
1196 frame object, for both mswindows and msprinter. Only one at a time
1197 is needed, it is a real waste to have one per frame!
1199 2000-02-23 Andy Piper <andy@xemacs.org>
1201 * glyphs.c: add dynamic width and height elements.
1202 (image_instance_equal): ditto.
1204 * glyphs-widget.c (widget_query_geometry): calculate width and
1205 height dynamically if required.
1206 (initialize_widget_image_instance): initialize dynamic dimensions.
1207 (widget_instantiate): pick-up dynamic dimensions.
1209 * glyphs.h (struct Lisp_Image_Instance): add width and height for
1210 dynamic determination. Add appropriate macros.
1212 * gutter.h (WINDOW_GUTTER_BORDER_WIDTH): make non-integer
1214 (WINDOW_GUTTER_SIZE): ditto.
1215 (WINDOW_GUTTER_SIZE_INTERNAL): ditto.
1217 * redisplay-msw.c (get_frame_compdc): gcc can't cope with this
1219 (get_frame_dc): ditto.
1221 * redisplay.h (GLOBAL_RESET_CHANGED_FLAGS): don't reset faces
1224 2000-02-23 Martin Buchholz <martin@xemacs.org>
1226 * XEmacs 21.2.31 is released.
1228 2000-02-22 Ben Wing <ben@xemacs.org>
1230 * ntheap.c (allocate_heap): Make sure `ptr' is initialized.
1232 2000-02-22 Andy Piper <andy@xemacs.org>
1234 * glyphs-x.c (x_widget_instantiate): don't explicitly resize here.
1236 2000-02-21 Mike Sperber <mike@xemacs.org>
1240 * Makefile.in.in: Remove obsolete EMACSBOOTSTRAP... environment
1243 2000-02-21 Mike Sperber <mike@xemacs.org>
1245 * s/aix4.h: Declare getaddrinfo broken for AIX 4, which it is.
1247 2000-02-21 Martin Buchholz <martin@xemacs.org>
1249 * XEmacs 21.2.30 is released.
1251 2000-02-20 Martin Buchholz <martin@xemacs.org>
1253 Performance hacking.
1255 Add INIT_LRECORD_IMPLEMENTATION macros, paired with
1256 DEFINE_LRECORD_IMPLEMENTATION macros in the same file.
1259 * console.c (DEFVAR_CONSOLE_LOCAL_1):
1260 * buffer.c (DEFVAR_BUFFER_LOCAL_1):
1261 * symeval.h (DEFVAR_SYMVAL_FWD):
1262 * symbols.c (guts_of_unbound_marker):
1263 Make all c_readonly objects also lisp_readonly and marked for life.
1264 * lrecord.h (struct lrecord_implementation):
1265 Document flags better.
1266 * lrecord.h (DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION_WITH_PROPS):
1267 * lrecord.h (DECLARE_LRECORD):
1268 * lrecord.h (XSETRECORD):
1269 * lrecord.h (RECORDP):
1270 * lrecord.h (RECORD_TYPEP):
1271 * lrecord.h (RECORD_MARKER): New.
1272 * lrecord.h (error_check_*):
1273 * lrecord.h (CONCHECK_NONRECORD):
1274 * lrecord.h (MAKE_LRECORD_IMPLEMENTATION):
1275 * lrecord.h (INIT_LRECORD_IMPLEMENTATION): New.
1276 * lrecord.h (set_lheader_implementation):
1277 * lrecord.h (enum lrecord_type): New.
1278 * symeval.h (SYMBOL_VALUE_MAGIC_P):
1279 * alloc.c (disksave_object_finalization_1):
1280 * alloc.c (mark_object):
1281 * alloc.c (lrecord_type_index):
1282 * alloc.c (tick_lcrecord_stats):
1283 * alloc.c (Fgarbage_collect):
1284 * alloc.c (init_alloc_once_early):
1285 * alloc.c (pdump_load):
1286 * alloc.c (GC_CHECK_LHEADER_INVARIANTS): New.
1287 * alloc.c (lrecord_type_index): Delete.
1288 Make lisp object type indexes be constant.
1289 Makes (byte-compile) 5% faster.
1290 Put all marker functions into their own array.
1291 Makes (garbage-collect) 5% faster.
1292 Optimize SYMBOL_VALUE_MAGIC_P.
1293 Makes (byte-compile) 2-3% faster.
1294 * config.h.in (gc_checking_assert): New.
1295 * alloc.c: Use gc_checking_assert().
1296 * .dbxrc: Make compatible with new object type implementation.
1297 * .gdbinit: Make compatible with new object type implementation.
1298 * alloc.c: Delete all symbols defined only for debugging, such as
1299 Lisp_Type_Vector and lrecord_charset.
1301 2000-02-21 Andy Piper <andy@xemacs.org>
1303 * gui-msw.c (Fmswindows_shell_execute): fix file location
1306 * buffer.c (Fkill_buffer): remove buffer from alist buffer
1307 unshowing so that set_window_buffer doesn't undo
1308 kill_buffer_hook's hard work.
1310 * glyphs-widget.c (tab_control_query_geometry): don't count the
1311 first item when calculating geometry.
1313 * glyphs.c (map_subwindow): remove redundant code.
1314 (update_frame_subwindows): be more circumspect about when to
1317 * glyphs-x.c (x_update_widget): Properly fix sizing bug. Fix bug
1318 when items haven't changed. Update faces if faces have changed as
1319 well as just the widget face.
1320 (x_tab_control_update): Update faces if faces have changed as well
1321 as just the widget face.
1323 2000-02-21 Jonathan Harris <jhar@tardis.ed.ac.uk>
1325 * device-msw.c: (mswindows_delete_device): Remove redundant DDE
1327 (build_syscolor_string): Use mswindows_color_to_string to try to
1329 (mswindows_device_system_metrics): Reverse the foreground and
1330 background colors so that they match the documentation.
1332 * objects-msw.c: (mswindows_X_color_map): tweak some values so
1333 they match the default Windows palette.
1334 (mswindows_color_to_string): New function.
1336 2000-02-21 Jonathan Harris <jhar@tardis.ed.ac.uk>
1338 * s/windowsnt.h: Only use __declspec(noreturn) with MSVC>=6.
1340 2000-02-18 Olivier Galibert <galibert@pobox.com>
1342 * m/*, s/*: Removed obsolete DATA_SEG_BITS, PURE_SEG_BITS,
1343 WORD_MACHINE, SIGN_EXTEND_CHAR and EXPLICIT_SIGN_EXTEND.
1345 * symbols.c (init_symbols_once_early): Removed obsolete
1346 DATA_SEG_BITS related kludge.
1347 (defvar_magic): Ditto.
1349 * malloc.c: Removed obsolete DATA_SEG_BITS
1351 * mem-limits.h: Ditto.
1353 * Makefile.in.in: Removed obsolete HAVE_SHM
1356 2000-02-13 Jonathan Harris <jhar@tardis.ed.ac.uk>
1358 * device-msw.c (mswindows_delete_device): Free DDE string
1361 2000-02-16 Kirill 'Big K' Katsnelson <kkm@dtmx.com>
1363 * keymap.c (get_keyelt):
1364 * unexnt.c (unexec):
1365 * vm-limit.c (memory_warnings):
1366 * ntheap.c (recreate_heap):
1367 * ntheap.h (UNINIT_PTR):
1368 * select-msw.c (Fmswindows_get_clipboard):
1369 (Fmswindows_set_clipboard):
1370 * objects-msw.h (MSWINDOWS_BAD_HFONT):
1372 * menubar-msw.c (displayable_menu_item):
1374 * glyphs-msw.h (IMAGE_INSTANCE_MSWINDOWS_MASK):
1375 * sysdep.c (sys_subshell):
1376 * process-nt.c (nt_create_process):
1377 * nt.c (normalize_filename):
1378 (dostounix_filename):
1379 (unixtodos_filename):
1380 * ntproc.c (win32_executable_type):
1381 * ntplay.c (play_sound_data_1):
1383 * editfns.c (get_home_directory):
1384 * event-msw.c (struct winsock_stream):
1385 (mswindows_dde_callback):
1386 * device-msw.c (msprinter_init_device):
1387 (msprinter_get_devmode_copy): Frobbed syntax frivolities.
1389 * toolbar-msw.c (mswindows_free_frame_toolbars): Paramters to
1390 mswindows_clear_toolbar were swapped!
1392 * objects-msw.c:(colormap_t):
1394 * emacs.c (struct standard_args): Fixed const jumble.
1396 * glyphs-widget.c (update_widget): Fixed comparison notation.
1398 * event-msw.c (mswindows_dde_callback): Removed extraneous ';'.
1400 * s\windowsnt.h (DOESNT_RETURN): Defined to support the MSVC
1401 __declspec(noreturn) syntax.
1403 2000-02-19 Martin Buchholz <martin@xemacs.org>
1405 * eldap.c (Fldap_open):
1406 (Fldap_search_basic):
1409 Use new coding system conversion macros.
1411 2000-01-06 Yoshiki Hayashi <t90553@mail.ecc.u-tokyo.ac.jp>
1413 * console-tty.c (tty_init_console): Change MULE to FILE_CODING.
1415 1999-11-27 Oscar Figueiredo <Oscar.Figueiredo@di.epfl.ch>
1417 * eldap.h (Fldap_search) Renamed from Fldap_search_internal:
1418 (Fldap_add, Fldap_modify, Fldap_delete): New functions
1420 * eldap.c (Qadd, Qreplace): New constant symbols
1421 (Fldap_open): Use the LDAP_OPT_RESTART option to avoid
1422 interruptions by XEmacs signals
1423 Remove unnecessary calls to slow_down_interrupts and
1425 (Fldap_search_basic): Renamed from Fldap_search_internal
1426 Added new optional parameter VERBOSE that triggers the
1427 display of progress messages
1428 Remove unnecessary calls to slow_down_interrupts and
1430 LDAP result code analysis rewritten
1431 (Fldap_add, Fldap_modify, Fldap_delete): New functions
1432 (syms_of_eldap): Define the new symbols and functions
1435 2000-02-17 Martin Buchholz <martin@xemacs.org>
1437 * realpath.c: Determine PATH_MAX maximally portably.
1439 * insdel.c (bytecount_to_charcount): Optimize.
1440 The function used to be optimized for entirely ASCII sequences.
1441 Now it is optimized for successive characters from the same
1442 charset. This also wins big for _mostly_ ASCII sequences.
1444 * fileio.c (Ffile_truename): convert return from realpath() using
1445 Qfile_name, not Qbinary. Fixes obvious bug with non-ASCII symlinks.
1446 - Rewrite GCPROing slightly.
1448 * sysdep.c (sys_open): Do filename conversion, like all other
1449 sys_* functions. Fixes bug:
1450 (let ((file-name-coding-system 'iso-8859-2))
1451 (write-region x y latin2-name))
1452 ==> writes filename using internal encoding.
1454 2000-02-18 Martin Buchholz <martin@xemacs.org>
1456 * buffer.c (DEFVAR_BUFFER_LOCAL_1): Turn on c_readonly. Always const.
1457 * console.c (DEFVAR_CONSOLE_LOCAL_1): Turn on c_readonly. Always const.
1458 * symeval.h (DEFVAR_SYMVAL_FWD): Turn on c_readonly. Always const.
1459 * eval.c (lrecord_subr): Remove this_one_is_unmarkable.
1460 * symbols.c (lrecord_symbol_value_forward): Remove this_one_is_unmarkable.
1461 * symbols.c (guts_of_unbound_marker): Turn on c_readonly.
1462 * lrecord.h (UNMARKABLE_LRECORD_HEADER_P): Delete.
1463 (CONST_IF_NOT_DEBUG): Delete.
1464 * alloc.c (this_one_is_unmarkable): Delete.
1465 (mark_object): Don't check for this_one_is_unmarkable. Use the
1466 c_readonly flag instead.
1467 * lisp.h (DEFUN): Define a Lisp_Subr as c_readonly.
1469 2000-02-18 Jonathan Harris <jhar@tardis.ed.ac.uk>
1471 * event-msw.c (mswindows_drain_windows_queue):
1472 (emacs_mswindows_handle_magic_event): Remove attempt to optimise
1473 away redundant repaint events.
1475 2000-02-17 Andy Piper <andy@xemacs.org>
1477 * redisplay.h: declare mark_redisplay_structs.
1479 * redisplay.c (redisplay_window):
1480 (redisplay_frame): don't check subwindows_state_changed.
1481 (mark_redisplay): mark gutters here.
1483 * glyphs.c: (instantiate_image_instantiator): always layout if we
1484 haven't done so already.
1485 (allocate_image_instance): don't mark as dirty.
1486 (update_subwindow): bind inhibit_quit.
1488 * gutter.c (mark_gutters): new function.
1490 * glyphs-x.c (x_update_widget): Always resize to get round a
1493 * glyphs-msw.c (mswindows_tab_control_update): remove `;' that was
1494 breaking absolutely everything.
1496 * gutter.h: declare mark_gutters.
1498 2000-02-16 Martin Buchholz <martin@xemacs.org>
1500 * XEmacs 21.2.29 is released.
1502 2000-02-15 Olivier Galibert <galibert@pobox.com>
1504 * fns.c (size_bit_vector): Fix computation of the size.
1506 2000-02-15 Martin Buchholz <martin@xemacs.org>
1508 * *.[ch]: Change CONST to const globally.
1509 find -name '*.[ch]' | \
1510 xargs global-replace \
1511 's/(^|(?<=[^A-Za-z0-9_]))CONST((?=[^A-Za-z0-9_])|$)/const/g'
1512 - Remove vestigial references to CONST_IS_LOSING
1514 2000-02-13 Jonathan Harris <jhar@tardis.ed.ac.uk>
1516 * event-msw.c (mswindows_drain_windows_queue): Remove hack to
1517 bailout early on quit. Enqueue WM_PAINT events as XEmacs magic
1518 events instead of dispatching them directly.
1519 (mswindows_handle_paint): New function to do repainting.
1520 (mswindows_wnd_proc):
1521 (emacs_mswindows_handle_magic_event): Call above function.
1523 2000-02-13 Jonathan Harris <jhar@tardis.ed.ac.uk>
1525 * objects-msw.c (mswindows_create_font_variant): Return the new
1527 (initialize_font_instance): Get font metrics from the underlined
1528 variant of the font to cope with the case where the underlined
1529 font has a bigger descent.
1531 2000-02-08 Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
1533 * gui.c (gui_item_accelerator): Return the first underlined
1534 character in item name.
1536 2000-02-11 Kirill 'Big K' Katsnelson <kkm@dtmx.com>
1538 * lisp.h: Added Qprinter.
1540 * general.c (syms_of_general): Initialized it.
1542 * redisplay-msw.c (get_frame_dc): Conditionally start a new page.
1544 (get_frame_compdc): Made inline.
1546 * console.h (struct console_methods): Added eject_page method.
1548 * frame.h: Added FRAME_DISPLAY_P and friends.
1549 Aligned backslahes in many macros in more readable fashion.
1550 Added page_number to struct frame, and an accessor macro
1553 * defice.h: Added DEVICE_DISPLAY_P and friends.
1555 * device.c (Fdevice_printer_p): Used these.
1557 * frame.c (allocate_frame_core): Initialize page number.
1558 (Fprint_job_page_number):
1559 (Fprint_job_eject_page): Implemented.
1561 * frame-msw.c (msprinter_eject_page): Added method.
1562 (msprinter_start_page): Added.
1564 * window.c (Fwindow_truncated_p): Fixed docstring.
1565 (Fwindow_last_line_visible_height): Implemented.
1567 2000-02-09 Yoshiki Hayashi <yoshiki@xemacs.org>
1569 * frame.c (change_frame_size_1): Undo 2000-02-03 change.
1571 1999-12-20 Yoshiki Hayashi <t90553@mail.ecc.u-tokyo.ac.jp>
1573 * syntax.c (scan_words): Always advance at least one character.
1575 2000-02-13 Andy Piper <andy@xemacs.org>
1577 * redisplay.c (add_glyph_rune): call get_glyph_cachel_index here
1578 to make sure the glyph is in the cachels.
1580 * glyphs.h (struct Lisp_Image_Instance): make layout_changed a
1581 global image instance flag.
1582 (IMAGE_INSTANCE_NEEDS_LAYOUT): new macro.
1583 (XIMAGE_INSTANCE_NEEDS_LAYOUT): ditto.
1585 * glyphs.c (allocate_image_instance): set dirty bits correctly.
1586 (Fset_image_instance_property): mark layout as changed.
1587 (invalidate_glyph_geometry_maybe): mark layout as changed.
1588 (glyph_width): use new NEEDS_LAYOUT macro.
1589 (glyph_ascent): ditto.
1590 (glyph_descent): ditto.
1591 (glyph_height): ditto.
1592 (image_instance_layout): mark layout as clean after laying out.
1593 (update_subwindow): don't mark layout as clean here.
1595 * glyphs-x.h (IMAGE_INSTANCE_X_WIDGET_ID): undo C++ changes, they
1596 should no longer be needed.
1598 * glyphs-x.c (x_update_widget): sanitize asserts.
1599 (x_finalize_image_instance): sanitize assignment to widgets.
1601 * glyphs-widget.c (widget_instantiate): don't need to clear the
1604 2000-02-13 Martin Buchholz <martin@xemacs.org>
1606 * sysdep.c (getcwd): Use standard prototype.
1607 * sysdep.h (getcwd): Use standard prototype.
1609 * fns.c (Fsubseq): Change parameters to more natural ANSI Lisp
1610 (sequence, start, end).
1611 Remove redundant type checking.
1612 (Fmapconcat): Remove useless GCPRO, a wrong-headed attempt (in
1613 view of `caller-protects') to avoid a crash where the real fix was
1616 2000-02-12 Martin Buchholz <martin@xemacs.org>
1618 * glyphs-x.c (x_finalize_image_instance): Compile error fixes.
1620 * s/sol2.h: Remove feature macro initialization.
1622 * alloc.c (alloc_lcrecord): Add more type checking assertions.
1623 (vector_hash): New. Code from internal_hash.
1625 Fix up allocation subsystem comments.
1627 * config.h.in: Add __EXTENSIONS__ for Solaris.
1629 * systime.h (EMACS_GETTIMEOFDAY): New.
1630 (EMACS_GET_TIME): Use EMACS_GETTIMEOFDAY.
1631 Remove Solaris-specific code.
1632 Use void* for the (ignored) second arg for gettimeofday().
1634 * elhash.c (hash_table_hash): Implement it, finally.
1635 * elhash.c: Use hashcode_t.
1637 * linuxplay.c (sighandler): Fix prototypes to use SIGTYPE.
1638 * sunplay.c (sighandler): Fix prototype to use SIGTYPE.
1640 * lisp.h (STRETCHY_STRUCT_SIZEOF): Delete.
1641 * fns.c (size_bit_vector):
1642 * alloc.c (size_vector):
1643 (make_vector_internal):
1644 (make_bit_vector_internal):
1645 (sweep_bit_vectors_1):
1646 Replace calls to STRETCHY_STRUCT_SIZEOF with offsetof expression.
1648 2000-02-10 Martin Buchholz <martin@xemacs.org>
1650 * s/aix4.h: #define MAP_FAILED if sys/mman.h didn't.
1651 Include strings.h to avoid warnings for bzero and strcasecmp.
1653 2000-02-10 Olivier Galibert <galibert@pobox.com>
1655 * alloc.c: Move STRETCHY_STRUCT_SIZEOF from here...
1656 * lisp.h (STRETCHY_STRUCT_SIZEOF): ...to here
1658 * fns.c (size_bit_vector): New. Declare bit vectors as a
1661 2000-02-10 Olivier Galibert <galibert@pobox.com>
1663 * symeval.h (struct symbol_value_magic): Remove "next" kludge and
1664 use a value field instead.
1665 (symbol_value_forward_forward): Use value field.
1666 (DEFVAR_SYMVAL_FWD): Use value field.
1667 (DEFVAR_SYMVAL_FWD_INT): Added. Dumps the int with dumpopaque.
1668 (DEFVAR_INT): Use DEFVAR_SYMVAL_FWD_INT.
1669 (DEFVAR_CONST_INT): Ditto.
1670 (DEFVAR_BOOL): Ditto.
1671 (DEFVAR_CONST_BOOL): Ditto.
1672 (DEFVAR_INT_MAGIC): Ditto.
1673 (DEFVAR_BOOL_MAGIC): Ditto.
1675 * symbols.c (guts_of_unbound_marker): Use value field.
1676 * console.c (DEFVAR_CONSOLE_LOCAL_1): Ditto.
1677 * buffer.c (DEFVAR_BUFFER_LOCAL_1): Ditto.
1679 * lisp.h: Declare dumpopaque and noninteractive1.
1681 * alloc.c (dumpopaque): Added.
1682 (pdump_dump_opaquevec): Added.
1683 (pdump): Call pdump_dump_opaquevec to dump opaque data.
1684 (pdump_load): Reload opaque data. Sync noninteractive1 with
1687 2000-02-10 Andy Piper <andy@xemacs.org>
1689 * glyphs.c (image_instance_layout): if the size changes, mark it
1692 * redisplay-output.c (redisplay_output_layout): Update the
1694 (redisplay_output_subwindow): ditto.
1696 * glyphs.c (update_subwindow): make sure we reset flags for
1697 layouts as well as everything else.
1699 * glyphs-widget.c (layout_layout): don't need to set the instances
1702 2000-02-09 Martin Buchholz <martin@xemacs.org>
1704 * device-x.c (x_init_device): Wrap calls to dll_* in HAVE_SHLIB,
1705 not HAVE_DLOPEN, which is a lower-level thing.
1707 * .cvsignore: Ignore gmon.out
1709 2000-02-09 Hamish Macdonald <hamishm@lucent.com>
1711 * .cvsignore: Ignore portable dumper xemacs.dmp file
1713 2000-02-09 Andy Piper <andy@xemacs.org>
1715 * redisplay-output.c (redisplay_output_layout): be more clever
1716 about when we output based on the changed flags.
1718 * glyphs.h (struct image_instantiator_methods): add update_method.
1719 (struct Lisp_Image_Instance): add changed flags. Declare new
1720 macros for manipulating them.
1722 * glyphs.c (allocate_image_instance): renamed glyph -> parent.
1723 (image_instance_parent_glyph): find an image_instance's parent
1724 glyph or image_instance.
1725 (image_instance_layout): mark the size as changed.
1726 (set_image_instance_dirty_p): new function. mark an image
1727 instance, plus all of its parents, as dirty.
1728 (Fset_image_instance_property): use it.
1729 (Fglyph_animated_timeout_handler): use it.
1730 (update_subwindow): call update_widget and device methods for
1731 update_subwindow. Mark all changed flags as clean.
1732 (Fresize_subwindow): mark size as changed.
1734 * glyphs-x.c (x_finalize_image_instance): try and detect gc
1736 (x_update_subwindow): only resize subwindows here.
1737 (x_update_widget): new function. Update all changed properties of
1739 (x_resize_subwindow): deleted.
1740 (x_widget_set_property): deleted.
1741 (x_progress_gauge_set_property): deleted.
1742 (x_progress_gauge_update): new function. Implement recorded
1744 (x_tab_control_update): ditto.
1745 (x_tab_control_set_property): deleted.
1746 (console_type_create_glyphs_x): declare new functions.
1747 (image_instantiator_format_create_glyphs_x): ditto.
1749 * glyphs-widget.c (widget_set_property): mark text changed.
1750 (update_widget): new function. Update properties of a widget.
1751 (widget_instantiate): for layouts make sure we set their
1752 children's parent correctly.
1753 (tab_control_set_property): new function. Record changes that will
1754 take place under redisplay's control.
1755 (progress_gauge_set_property): ditto.
1756 (image_instantiator_progress_guage): declare new functions.
1757 (image_instantiator_tab_control): ditto.
1759 * glyphs-msw.c (mswindows_update_subwindow): just do resizing here
1761 (mswindows_update_widget): new function. Update all properties on
1762 a widget that have changed.
1763 (mswindows_button_update): new function. Update a button's set
1765 (mswindows_tab_control_update): new function. Update the items in
1767 (mswindows_tab_control_set_property): deleted.
1768 (mswindows_progress_gauge_update): new function. Update the
1769 progress gauge's progress.
1770 (mswindows_widget_set_property): deleted. This is all done
1772 (mswindows_progress_gauge_set_property): ditto.
1773 (console_type_create_glyphs_mswindows): declare new methods.
1774 (image_instantiator_format_create_glyphs_mswindows): ditto.
1776 * frame-msw.c (msprinter_init_frame_1): Remove unused variables.
1777 (msprinter_set_frame_properties): ditto.
1779 * console.h (struct console_methods): Add update_widget_method.
1781 2000-02-09 Andy Piper <andy@xemacs.org>
1783 * gui-msw.c (Fmswindows_shell_execute): Make
1784 mswindows-shell-execute industrial strength.
1786 2000-02-08 Martin Buchholz <martin@xemacs.org>
1788 * lrecord.h: Make macro argument `props' match member function `plist'.
1792 * fns.c (Fobject_plist):
1795 Object property list frobbing cleanup.
1796 - Allow any lisp object (compared with `eq'), not just symbols, as
1797 keys in object plists.
1798 - Move symbol plist frobbing into symbols.c, where it belongs.
1799 - Move string plist frobbing into alloc.c, where it belongs.
1800 - Everything's an lrecord now, so no need to test for symbolp, etc.
1801 - Fix up doc strings to refer to PROPERTY, not PROPNAME.
1803 * extents.c: Reorder code to remove declarations.
1805 * frame.h (store_in_alist): Remove useless declaration.
1807 2000-02-07 Martin Buchholz <martin@xemacs.org>
1809 * event-Xt.c (x_has_keysym): Use XConvertCase only if available.
1810 * config.h.in: Add HAVE_XCONVERTCASE.
1812 2000-02-07 Andy Piper <andy@xemacs.org>
1814 * glyphs.c (image_instance_layout): undo 2000-01-29 change since
1815 it breaks many things.
1817 2000-02-07 Jan Vroonhof <vroonhof@math.ethz.ch>
1819 * src/syntax.h (SYNTAX_START_P): Check whether the two chars
1820 actually can start a common comment type.
1821 * src/syntax.h (SYNTAX_END_P): ditto for end.
1823 2000-02-07 Martin Buchholz <martin@xemacs.org>
1825 * XEmacs 21.2.28 is released.
1827 2000-02-06 Martin Buchholz <martin@xemacs.org>
1829 * event-Xt.c (x_keysym_to_character): New.
1830 (maybe_define_x_key_as_self_inserting_character): New.
1831 (x_has_keysym): New.
1832 Auto-define all keys on the keyboard as self-insert-key.
1834 2000-02-02 Martin Buchholz <martin@xemacs.org>
1836 * menubar.c (vars_of_menubar): A small code simplification.
1838 * minibuf.c (echo_area_append): Workaround egcs-20000131 c++ compiler bug
1845 Use consistent style for specifying X resources.
1847 * symbols.c (Fset): Further implement SYMVAL_LISP_MAGIC.
1848 This makes (dontusethis-set-symbol-value-handler) actually usable.
1850 * lrecord.h (lrecord_decription_type):
1851 * alloc.c (pdump_register_sub):
1854 Add XD_LISP_OBJECT_ARRAY to describe multiple Lisp_Objects.
1855 Comply with XEmacs coding style.
1856 All lrecord descriptions updated to use XD_LISP_OBJECT with 2
1857 args, and XD_LISP_OBJECT_ARRAY with 3 args.
1859 * keymap.c (Faccessible_keymaps):
1860 Make (accessible-keymaps map "\C-h") do the Right Thing.
1861 Make (accessible-keymaps map []) do the Right Thing.
1862 Make (accessible-keymaps map "") do the Right Thing.
1863 (check_keymap_definition_loop): New function.
1864 (keymap_store_internal): Keep luser from shooting self in foot,
1865 via (define-key ctl-x-4-map "p" global-map).
1866 Remove fullness slot from struct Lisp_Keymap, since hash tables
1868 (print_keymap): Remove 'Yuck' factor by simply printing "size %d".
1870 2000-01-30 Martin Buchholz <martin@xemacs.org>
1872 * redisplay.c (init_redisplay): Fix small memory leak.
1874 * elhash.c (pdump_reorganize_hash_table):
1875 Rename from reorganize_hash_table. Change prototype.
1876 Reuse the original memory for hentries. Save 100k.
1877 * alloc.c (PDUMP_READ): new macro.
1878 * alloc.c (pdump_load): Replace LISP_TO_VOID with higher-level macros.
1879 * alloc.c: No need to #ifndef before #undef.
1881 * print.c: Allow debug_print() to print readably by modifying
1882 debug_print_readably. Use consistent variable names.
1884 * .dbxrc: Try to get things to work even if stopped in a function
1885 without source available by explicitly specifying source files.
1886 2000-02-03 Kirill 'Big K' Katsnelson <kkm@dtmx.com>
1888 * unexnt.c (_start): Removed bogus code which caused loading heap
1889 from differrent executable file.
1890 Removed bogus assignment to _fmode, which caused inconsistencies.
1892 2000-02-03 Kirill 'Big K' Katsnelson <kkm@dtmx.com>
1894 * s\windowsnt.h: Removed lots of #if 0 blocks of Emacs heritage.
1895 Have spawnve encapsulation regard DONT_ENCAPSULATE.
1896 Do not preliminary `#define signal sigset'.
1898 * systime.h: Do not prototype environ on windows nt and cygwin,
1899 this conflicts with system header.
1901 * syssignal.h: Use correct define for WINDOWSNT
1903 * sysdep.h: Do not prototype environ on windows nt, this conflicts
1906 * sysdep.c (near start of file): Fixed commentary and rearranged
1907 ifdefs in readable order.
1908 (NEED_STARTS): Do not force NEED_STARTS when PDUMPing.
1911 (end_of_data): Do not compile in if using PDUMP.
1913 * symsinit.h: Protptyped vars_of_nt().
1915 * ntproc.c (windows9x_p): Added, instead of os_subtype.
1916 (find_child_console): Use it.
1919 * ntheap.h: Do not extern os_subtype.
1921 * ntheap.c (cache_system_info): Do not cache unneeded:
1922 nt_major_version, nt_minor_version and os_subtype.
1923 (recreate_heap): Do not compile in when PDUMPing.
1925 * nt.c (geteuid and friends): Use the new varibale
1926 nt_fake_unix_uid, instead of hashing fake uid out of NT RID.
1927 (init_user_info): Removed the above mentioned hackery.
1928 (fstat, stat): Do not compile in if using MSVC 5.0 and above -
1929 stat has been fixed in the C runtime.
1930 (vars_of_nt): Added, defined the nt_fake_unix_uid variable there.
1932 * file-coding.c (struct file_coding_dump): Do not define
1933 ucs_to_mule_table in the struct if not MULE.
1934 (struct struct lrecord_description fcd_description_1): Do not dump
1937 * emacs.c (main_1): Call vars_of_nt().
1938 (right before Fdump_emacs_data): Don't need lastfile if using both
1939 portabe dumper and system malloc.
1941 * alloc.c (Fmemory_limit): Conditionalized out.
1942 (pdump): Use OPEN_BINARY for the portable dump file.
1943 (pdump_load): Ditto.
1945 2000-02-02 Mike Alexander <mta@arbortext.com>
1947 * nt.c (convert_time): Set tm_isdst before calling mktime and
1948 avoid calling it at all if the compiler supports 64 bit integers.
1949 Also initialize utc_base_ft before using it.
1951 2000-02-03 Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
1953 * frame.c (change_frame_size_1): Take f->internal_border_width
1954 into consideration when calculating the width of the frame.
1956 2000-02-01 Kirill 'Big K' Katsnelson <kkm@dtmx.com>
1958 * window.c (frame_min_height):
1959 (frame_size_valid_p):
1960 (frame_pixsize_valid_p): Added.
1961 (check_frame_size): Generalized.
1963 * window.h: Prototyped the above.
1966 * general.c: Added Qbottom_margin, Qduplex, Qlandscape,
1967 Qleft_margin, Qorientation, Qportrait, Qright_margin, Qtop_margin.
1968 Deleted Vwin32_* and Vbinary_process_* unused variables.
1970 * device-msw.c (msprinter_init_device): Do not get printer font
1971 list; Added DEVMODE functions.
1973 * frame-msw.c: Added lots of printer code.
1975 * faces.c: Moved 'left-margin and 'right-margin defsymbols to
1978 * console-msw.h: Added more msprinter device private slots.
1980 2000-02-01 Kirill 'Big K' Katsnelson <kkm@dtmx.com>
1982 * event-msw.c (key_needs_default_processing_p): Added.
1983 (mswindows_wnd_proc, WM_KEYUP, KEYDOWN): Call it.
1985 2000-01-29 Kirill 'Big K' Katsnelson <kkm@dtmx.com>
1987 * glyphs.c (image_instance_layout): Mark image instance as clean
1989 (glyph_dirty_p): Removed redundant function.
1990 (invalidate_glyph_geometry_maybe): Added.
1991 (update_glyph_cachel_data): Call it.
1993 * glyphs.h: Prototyped it.
1995 * redisplay.c (add_glyph_rune): Call it.
1996 (redisplay_window): Reset glyphs cachels when frame faces has
1997 changed, thus forcing recomputation of built-in border glyphs.
1999 2000-01-30 Martin Buchholz <martin@xemacs.org>
2001 * Makefile.in.in: Make portable dumper and purify play well together.
2002 Add imperfect, but better than nothing, support for pdump.
2003 Remove xemacs.dmp when temacs is re-generated.
2004 Don't ignore errors when dumping xemacs.
2006 * symbols.c (maybe_call_magic_handler): Remove one magic number.
2008 2000-01-28 Andy Piper <andy@xemacs.org>
2010 * frame.c (allocate_frame_core): Use new Fset_window_buffer signature.
2011 (setup_normal_frame): ditto.
2012 (setup_frame_without_minibuffer): ditto.
2013 (setup_minibuffer_frame): ditto.
2014 (delete_frame_internal): ditto.
2015 (Fmake_frame_invisible): ditto.
2016 (Ficonify_frame): ditto.
2018 * window.h: change Fset_window_buffer signature.
2020 * window.c (Fsplit_window): Use new Fset_window_buffer signature.
2021 (Fset_window_buffer): allow recording of buffer if the window is
2022 the selected window.
2023 (window_loop): Use new Fset_window signature.
2025 2000-01-23 Daniel Pittman <daniel@danann.net>
2027 * config.h.in: Added template for `HAVE_ATHENA_3D'
2029 2000-01-29 Andy Piper <andy@xemacs.org>
2031 * glyphs-x.c (x_resize_subwindow): Try and catch bogus resizes.
2033 * gutter.c (output_gutter): Don't output if the window isn't live.
2035 2000-01-28 Kirill 'Big K' Katsnelson <kkm@dtmx.com>
2037 * glyphs-msw.c (mswindows_unmap_subwindow): Fix of corrupted patch
2038 of 01/12/00: Moved SetFocus back here where it belongs.
2040 2000-01-23 Andy Piper <andy@xemacs.org>
2042 * s/cygwin32.h: declare printer things.
2044 2000-01-26 Andy Piper <andy@xemacs.org>
2046 * select.c (Fown_selection_internal): GCPRO bug fix from Mike
2049 2000-01-24 Andy Piper <andy@xemacs.org>
2051 * glyphs-msw.c (mswindows_locate_pixmap_file): Expand filename.
2052 (mswindows_button_instantiate): Make sure glyph is a pixmap.
2054 * glyphs-widget.c (widget_instantiate): Avoid shadows.
2056 * frame-msw.c (msprinter_init_frame_3): Nuke warning.
2058 * glyphs-msw.c: (mswindows_string_to_color): remove declaration.
2060 * redisplay-msw.c (mswindows_output_cursor): Avoid shadows.
2061 (mswindows_output_display_block): Avoid local shadows.
2063 * event-msw.c (mswindows_enqueue_magic_event): Avoid shadows.
2064 (mswindows_enqueue_mouse_button_event): ditto.
2065 (mswindows_handle_gui_wm_command): remove declaration.
2067 * console-msw.c (mswindows_canonicalize_console_connection): Avoid
2070 * console-msw.h: Avoid shadows.
2071 (mswindows_get_toolbar_button_text):
2072 (emacs_mswindows_create_stream_pair):
2073 (emacs_mswindows_delete_stream_pair):
2074 (mswindows_handle_toolbar_wm_command): declare.
2076 * device-msw.c (build_syscolor_string): Avoid shadows.
2078 2000-01-23 Andy Piper <andy@xemacs.org>
2080 * glyphs-widget.c (widget_instantiate): reverse the items for
2081 layouts so that children are in the expected order.
2083 2000-01-28 Martin Buchholz <martin@xemacs.org>
2085 * ralloc.c: safe_bcopy ==> memmove
2086 * gmalloc.c: Remove MEMMOVE_MISSING conditional code.
2087 * s/msdos.h: Remove BCOPY macros.
2088 * insdel.c (gap_right): Remove BCOPY conditional code.
2089 * insdel.c (gap_left): Remove BCOPY conditional code.
2090 XEmacs demands a working ANSI C compiler - hence memmove.
2092 * regex.c (regex_compile): Remove accidental use of trigraphs.
2094 2000-01-27 Kirill 'Big K' Katsnelson <kkm@dtmx.com>
2096 * event-msw.c (mswindows_enqueue_misc_user_event): Initialize
2099 2000-01-26 Kirill 'Big K' Katsnelson <kkm@dtmx.com>
2101 * event-msw.c (mswindows_drain_windows_queue): Added the
2103 (mswindows_need_event): Commented the call to
2104 mswindows_drain_windows_queue().
2105 (emacs_mswindows_quit_p): Lookup the windows for keyboard messages
2108 * console-msw.h: Moved a few function prototypes here from
2111 * gui-msw.c (mswindows_handle_gui_wm_command): Changed the ID
2112 parameter from unsigned short to unsigned long.
2113 (Fmswindows_shell_execute): Added return value.
2115 2000-01-27 URA Hiroshi <ura@hiru.aoba.yokohama.jp>
2117 * sysdep.c (init_system_name):
2118 process-unix.c (unix_canonicalized_host_name):
2119 Don't call freeaddrinfo() if getaddrinfo() fails.
2121 * process-unix.c (unix_open_unix_network_stream):
2122 Moved the code to get a port # into address loop.
2124 2000-01-27 Martin Buchholz <martin@xemacs.org>
2126 * buffer.c (reinit_vars_of_buffer):
2127 The right place to initialize conversion_in_dynarr and
2128 conversion_out_dynarr.
2130 * alloc.c (pdump): Use the real open() till sys_open() is functional.
2132 * process-unix.c (unix_canonicalize_host_name): Muleize.
2133 (unix_open_network_stream): Muleize.
2135 * buffer.h: Fix up prototypes for ralloc.c functions.
2137 2000-01-27 URA Hiroshi <ura@hiru.aoba.yokohama.jp>
2138 * config.h.in: added HAVE_GETADDRINFO and HAVE_GETNAMEINFO
2139 * sysdep.c: In init_system_name(), add code to use getaddrinfo()
2140 instead of gethostbyname()
2141 * process-unix.c: In unix_canonicalize_host_name() and
2142 unix_open_network_stream(), add code to use getaddrinfo()
2143 instead of gethostbyname().
2145 2000-01-27 Daniel Pittman <daniel@danann.net>
2147 * device-x.c (x_init_device): Warn at run-time if using Athena 3d
2148 libs when built with flat Athena.
2150 2000-01-27 Martin Buchholz <martin@xemacs.org>
2152 * ralloc.c: Replace SIZE (conflicts with Windows headers) with size_t.
2153 Use coding standards for function prototypes.
2155 2000-01-25 Martin Buchholz <martin@xemacs.org>
2157 * dialog-msw.c (push_lisp_string_as_unicode):
2158 * doc.c (unparesseuxify_doc_string):
2159 * dired.c (Fuser_name_completion_1):
2160 * dired.c (Fuser_name_all_completions):
2161 * dired.c (free_user_cache):
2162 * dired.c (user_name_completion):
2163 * console-x.c (get_display_arg_connection):
2164 * minibuf.c (clear_echo_area_internal):
2165 * minibuf.c (echo_area_append):
2166 * eldap.c (Fldap_open):
2167 * eldap.c (Fldap_search_internal):
2168 * frame-x.c (x_set_frame_text_value):
2169 * frame-x.c (x_set_frame_properties):
2170 * frame-x.c (x_create_widgets):
2171 * redisplay-tty.c (term_get_fkeys_1):
2172 * objects-x.c (x_parse_nearest_color):
2173 * objects-x.c (x_valid_color_name_p):
2174 * objects-x.c (x_initialize_font_instance):
2175 * objects-x.c (x_list_fonts):
2176 * objects-x.c (x_find_charset_font):
2177 * tooltalk.c (Fadd_tooltalk_message_arg):
2178 * tooltalk.c (Fadd_tooltalk_pattern_attribute):
2179 * tooltalk.c (Fadd_tooltalk_pattern_arg):
2180 * process-unix.c (unix_create_process):
2181 * ntproc.c (sys_spawnve):
2182 * sound.c (Fplay_sound_file):
2183 * sound.c (Fplay_sound):
2184 * buffer.c (init_initial_directory):
2185 * buffer.c (init_buffer):
2186 * editfns.c (init_editfns):
2187 * editfns.c (Ftemp_directory):
2188 * editfns.c (Fuser_full_name):
2189 * editfns.c (uncache_home_directory):
2190 * editfns.c (get_home_directory):
2191 * editfns.c (Fuser_home_directory):
2192 * editfns.c (Fformat_time_string):
2193 * editfns.c (Fcurrent_time_string):
2194 * gui-x.c (button_item_to_widget_value):
2195 * database.c (Fopen_database):
2196 * event-Xt.c (x_to_emacs_keysym):
2197 * event-Xt.c (x_event_to_emacs_event):
2198 * event-Xt.c (describe_event_window):
2199 * event-msw.c (mswindows_wnd_proc):
2200 * glyphs-eimage.c (jpeg_instantiate):
2201 * glyphs-eimage.c (gif_instantiate):
2202 * glyphs-eimage.c (png_instantiate):
2203 * glyphs-eimage.c (tiff_instantiate):
2204 * glyphs-x.c (xbm_instantiate_1):
2205 * glyphs-x.c (x_xbm_instantiate):
2206 * glyphs-x.c (x_xface_instantiate):
2207 * glyphs-x.c (autodetect_instantiate):
2208 * glyphs-x.c (cursor_font_instantiate):
2209 * glyphs-x.c (x_widget_instantiate):
2210 * glyphs-x.c (x_widget_set_property):
2211 * glyphs-x.c (x_widget_property):
2212 * glyphs-x.c (BUILD_GLYPH_INST):
2213 * print.c (write_string_to_stdio_stream):
2214 * print.c (output_string):
2215 * print.c (Falternate_debugging_output):
2216 * print.c (Fexternal_debugging_output):
2217 * glyphs-msw.c (extract_xpm_color_names):
2218 * glyphs-msw.c (mswindows_xpm_instantiate):
2219 * glyphs-msw.c (bmp_instantiate):
2220 * glyphs-msw.c (resource_name_to_resource):
2221 * glyphs-msw.c (mswindows_resource_instantiate):
2222 * glyphs-msw.c (xbm_instantiate_1):
2223 * glyphs-msw.c (mswindows_xbm_instantiate):
2224 * glyphs-msw.c (mswindows_xface_instantiate):
2225 * glyphs-msw.c (mswindows_widget_instantiate):
2226 * glyphs-msw.c (add_tree_item):
2227 * glyphs-msw.c (add_tab_item):
2228 * glyphs-msw.c (mswindows_combo_box_instantiate):
2229 * glyphs-msw.c (mswindows_widget_property):
2230 * glyphs-msw.c (mswindows_combo_box_property):
2231 * glyphs-msw.c (mswindows_widget_set_property):
2232 * console.c (stuff_buffered_input):
2233 * objects-msw.c (mswindows_initialize_color_instance):
2234 * objects-msw.c (mswindows_valid_color_name_p):
2235 * objects-msw.c (mswindows_list_fonts):
2236 * objects-msw.c (mswindows_font_instance_truename):
2237 * bytecode.c (optimize_compiled_function):
2238 * select-x.c (symbol_to_x_atom):
2239 * select-x.c (x_atom_to_symbol):
2240 * select-x.c (hack_motif_clipboard_selection):
2241 * select-x.c (selection_data_to_lisp_data):
2242 * select-x.c (lisp_data_to_selection_data):
2243 * select-x.c (Fx_get_cutbuffer_internal):
2244 * select-x.c (Fx_store_cutbuffer_internal):
2245 * buffer.h (TO_EXTERNAL_FORMAT): New function.
2246 * buffer.h (TO_INTERNAL_FORMAT): New function.
2247 * emacs.c (make_arg_list_1):
2248 * emacs.c (make_argc_argv):
2250 * emacs.c (Fdump_emacs):
2251 * emacs.c (split_string_by_emchar_1):
2256 * device-x.c (x_init_device):
2257 * device-x.c (Fx_valid_keysym_name_p):
2258 * device-x.c (Fx_get_font_path):
2259 * device-x.c (Fx_set_font_path):
2260 * glyphs.c (bitmap_to_lisp_data):
2261 * glyphs.c (pixmap_to_lisp_data):
2262 * alloc.c (make_ext_string): Use coding system arguments. Update
2264 * alloc.c (build_string):
2265 * callproc.c (child_setup):
2266 * callproc.c (init_callproc):
2267 * fileio.c (lisp_strerror):
2268 * fileio.c (directory_file_name):
2269 * fileio.c (Fexpand_file_name):
2270 * fileio.c (Ffile_truename):
2271 * fileio.c (Fsysnetunam):
2272 * fileio.c (Fdo_auto_save):
2273 * sysdep.c (sys_readdir):
2274 * tests.c: New file. Allow adding C tests.
2275 Replace GET_* macros with a more comprehensible and flexible
2276 interface, TO_INTERNAL_FORMAT() and TO_EXTERNAL_FORMAT().
2278 Any coding system can be used to do format conversion.
2279 Eliminate enum external_data_format.
2280 Eliminate convert_to_external_format.
2281 Eliminate convert_to_internal_format.
2282 Make sure file-name, keyboard, terminal, and ctext are always
2283 defined as coding systems or aliases. Make
2284 file-name-coding-system, terminal-coding-system, and
2285 keyboard-coding-system magical variables that are equivalent to
2286 defining the corresponding coding system aliases.
2288 * file-coding.c (Fcoding_system_canonical_name_p): New function.
2289 * file-coding.c (Fcoding_system_alias_p): New function.
2290 * file-coding.c (Fcoding_system_aliasee): New function.
2291 * file-coding.c (append_suffix_to_symbol): New function.
2292 * file-coding.c (dangling_coding_system_alias_p): New function.
2293 * file-coding.c (Ffind_coding_system):
2294 * file-coding.c (Fcopy_coding_system):
2295 * file-coding.c (encode_coding_no_conversion):
2296 * file-coding.c (syms_of_file_coding):
2297 * file-coding.c (vars_of_file_coding):
2298 Rewrite coding system alias code.
2299 Allow nested aliases, like symbolic links.
2300 Allow redefinition of coding system aliases.
2301 Prevent existence of dangling coding system aliases.
2303 * dired.c (Fuser_name_completion_1):
2304 * dired.c (Fuser_name_all_completions):
2305 A crash would happen if user did QUIT in the middle of building
2306 user_name_cache. Remove redundant code in mainline and unwind_protect.
2309 * dynarr.c (Dynarr_min_size): Make static. Increase value to 8.
2311 * lstream.c (make_fixed_buffer_input_stream): Take a void *, not
2312 an unsigned char *. Update all callers.
2314 2000-01-26 Kirill 'Big K' Katsnelson <kkm@dtmx.com>
2316 * callproc.c (Fcall_process_internal): Ignore Vbinary-process_output.
2318 2000-01-25 Martin Buchholz <martin@xemacs.org>
2320 * elhash.c (hentry_description): Use more portable definition.
2321 (resize_hash_table): Initialize new hentries using
2322 xnew_array_and_zero, thereby simplifying the code.
2324 * mule-charset.c (make_charset): Make sure entire object is
2325 intialized, to avoid Purify warnings.
2327 * alloc.c (resize_string): Fix unlikely crash with big strings.
2329 2000-01-24 Martin Buchholz <martin@xemacs.org>
2331 * realpath.c (xrealpath):
2334 2000-01-25 Martin Buchholz <martin@xemacs.org>
2336 * lread.c (read_bit_vector): Fix memory leak reading literal bit vectors.
2338 1999-12-28 Max Matveev <max@melbourne.sgi.com>
2340 * unexelfsgi.c (unexec): Change the way we decide which segment
2343 Assumption that .bss section should be outside the PT_LOADable
2344 segment. On IRIX with version 6.2 and above, .bss (or .sbss, if
2345 it's present) is inside the 'data' segment. This would fail the
2346 test which was used to find a segment to grow and cover new
2347 heap. Instead of this assumption, I created another one - on IRIX
2348 the segment to grow should start below .bss and it's address
2349 should extent above the end of .bss. Once this segment is
2350 identified, it's grown to accommodate the new heap and new
2351 zero-length .bss section is added at the end of .data2.
2353 2000-01-25 Martin Buchholz <martin@xemacs.org>
2355 * eval.c (Feval): Wrong number of arguments should use original
2356 function, not the indirect_function version of it.
2358 2000-01-24 Yoshiki Hayashi <yoshiki@xemacs.org>
2360 * glyphs-x.c (x_button_instantiate): Don't add image if
2362 (x_locate_pixmap_file): Call Fexpand_file_name when file name
2365 2000-01-21 Yoshiki Hayashi <yoshiki@xemacs.org>
2367 * symeval.h (DEFVAR_LISP_MAGIC): Remove semicolon after macro
2369 (DEFVAR_INT_MAGIC): Ditto.
2370 (DEFVAR_BOOL_MAGIC): Ditto.
2371 * glyphs.h: Reindent backslash.
2373 2000-01-24 Martin Buchholz <martin@xemacs.org>
2375 * glyphs-widget.c (layout_query_geometry):
2376 (layout_layout): Use correct types for gheight, gwidth.
2378 2000-01-24 Martin Buchholz <martin@xemacs.org>
2380 * EmacsManager.c (QueryGeometry): Purified.
2382 2000-01-23 Martin Buchholz <martin@xemacs.org>
2384 * alloc.c (make_float): Make sure entire object is intialized, to
2385 avoid Purify warnings.
2386 (pdump_register_sub): Remove useless assignment.
2387 (pdump): Use xmalloc, not malloc.
2388 (pdump_load): Use xmalloc, not malloc.
2390 2000-01-23 Kirill 'Big K' Katsnelson <kkm@dtmx.com>
2397 * sysdep.c: Removed redundant #include <windows.h>
2399 2000-01-22 Kirill 'Big K' Katsnelson <kkm@dtmx.com>
2401 * frame.c (delete_frame_internal): Do not delete device when its
2402 implementation so declares.
2403 (delete_frame_internal): Set device selected frame to nil when
2404 last frame goes away.
2406 * device-msw.c (msprinter_device_system_metrics): Implemented.
2407 (mswindows_device_system_metrics): Added 'device-dpi property.
2409 * device.c: (Fdevice_printer_p): Added.
2410 Added 'offset-workspace device metric.
2412 * console.h (device_metrics): Declared DM_offset_workspace.
2414 2000-01-23 Martin Buchholz <martin@xemacs.org>
2416 * fileio.c (Ffile_truename): Remove pointless and confusing
2417 initialization of elen.
2419 * glyphs-widget.c: Compiler warning fixes.
2421 2000-01-23 Gunnar Evermann <ge204@eng.cam.ac.uk>
2423 * process.h (PROCESS_LIVE_P): Modify to take a Lisp_Process
2424 instead of a Lisp_Object as argument to make it consistent with
2425 the other LIVE_P macros.
2426 (CHECK_LIVE_PROCESS): New macro.
2428 * process.c: Declare Qprocess_live_p.
2429 (Fprocess_live_p): New function.
2430 (create_process): Use PROCESS_LIVE_P.
2431 (read_process_output): Ditto.
2432 (set_process_filter): Ditto.
2433 (Fdelete_process): Ditto.
2434 (kill_buffer_processes): Ditto
2435 (process_send_signal): Use CHECK_LIVE_PROCESS.
2436 (Fprocess_input_coding_system): Check whether process is still
2437 alive (fix PR#1061).
2438 (Fprocess_output_coding_system): Ditto.
2439 (Fprocess_coding_system): Ditto.
2440 (Fset_process_input_coding_system): Ditto.
2441 (Fset_process_output_coding_system): Ditto.
2443 2000-01-23 Andy Piper <andy@xemacs.org>
2445 * glyphs.h (struct Lisp_Image_Instance): change format by unifying
2448 * glyphs.c (mark_image_instance): take into account changed
2449 image_instance format.
2450 (image_instance_equal): ditto.
2451 (image_instance_hash): ditto.
2453 * glyphs-widget.c (widget_instantiate): Incorporate layout
2454 instantiation here. Delay layout of the layout until later.
2455 (layout_instantiate): deleted.
2456 (layout_query_geometry): new function. get the geometry of a
2458 (layout_layout): layout a layout dynamically.
2459 (image_instantiator_widget): New function - splitting up
2460 image_instantiator_format_create_glyphs_widget for netwinder
2462 (image_instantiator_buttons):
2463 (image_instantiator_edit_fields):
2464 (image_instantiator_combo_box):
2465 (image_instantiator_scrollbar):
2466 (image_instantiator_progress_guage):
2467 (image_instantiator_tree_view):
2468 (image_instantiator_tab_control):
2469 (image_instantiator_labels):
2470 (image_instantiator_layout): ditto.
2471 (image_instantiator_format_create_glyphs_widget): Call preceeding
2474 2000-01-22 Martin Buchholz <martin@xemacs.org>
2476 * process.c (Fset_process_coding_system):
2477 * device-x.c (Fx_keysym_hash_table):
2480 * lstream.c (Lstream_write): Return documented value, not 0.
2482 * fileio.c (directory_file_name):
2483 (Fsubstitute_in_file_name):
2484 (Fsubstitute_insert_file_contents_internal):
2485 (Fwrite_region_internal):
2490 Remove vestigial APOLLO-conditional code.
2492 2000-01-21 Martin Buchholz <martin@xemacs.org>
2494 * getpagesize.h: Add guard macros.
2495 * libsst.h: Add guard macros.
2496 * libst.h: Add guard macros.
2497 * line-number.h: Add guard macros.
2498 * ndir.h: Add guard macros.
2499 * sysfloat.h: Add guard macros.
2500 * sysfile.h: Add guard macros.
2501 * sysproc.h: Add guard macros.
2502 * syswait.h: Add guard macros.
2503 * xintrinsic.h: Add guard macros.
2504 * xintrinsicp.h: Add guard macros.
2505 * xmmanager.h: Add guard macros.
2506 * xmmanagerp.h: Add guard macros.
2507 * xmprimitive.h: Add guard macros.
2508 * xmu.h: Add guard macros.
2509 * gpmevent.h: Add copyright statement. Add guard macros.
2510 * miscplay.h: Add guard macros.
2511 * *.h: Use consistent C-standards-approved guard macro names.
2513 * opaque.c (make_opaque): Switch parameter order.
2514 * opaque.h (make_opaque): Switch parameter order.
2516 * buffer.h (MAKE_MIRROR_TRT_TABLE): Use symbolic constant OPAQUE_CLEAR.
2518 * config.h.in (type_checking_assert): Added.
2519 (bufpos_checking_assert): Added.
2521 2000-01-21 Martin Buchholz <martin@xemacs.org>
2523 * alloc.c: Harmless pdump changes.
2525 - spell alignment correctly.
2526 * sysdep.c: Use countof()
2528 2000-01-20 Kirill 'Big K' Katsnelson <kkm@dtmx.com>
2530 * console.c (create_console): Use CONMETH_OR_GIVEN when calling
2531 initially_selected_for_input() console method, default to 0.
2532 (semi_canonicalize_console_connection): Try to delegate to
2533 canonicalize_console_connection if no such console method.
2534 (canonicalize_console_connection): Vice versa.
2535 (print_console): Do not print nil connection.
2537 * console.h (XDEVIMPF_IS_A_PRINTER): Added.
2538 (XDEVIMPF_NO_AUTO_REDISPLAY): Added.
2539 (XDEVIMPF_FRAMELESS_OK): Added.
2540 (CONSOLE_INHERITS_METHOD): Added.
2542 * console-msw.c (mswindows_canonicalize_console_connection):
2544 (mswindows_canonicalize_device_connection): Added.
2546 * console-msw.h (struct msprinter_device): Added this struct and
2548 (mswindows_device): Made fontlist a lisp object.
2550 * device.c (semi_canonicalize_device_connection): Try to delegate
2551 to canonicalize_device_connection if no such console method.
2552 (canonicalize_device_connection): Vice versa.
2553 (print_device): Do not print nil connection.
2555 * device-msw.c (mswindows_init_device): Call InitCommonControls
2557 (mswindows_delete_device): Removed fontlist deallocation.
2558 (mswindows_mark_device): Added.
2560 * events.c (event_equal): Added abort() at unreached code.
2561 (event_hash): Ditto.
2563 * faces.c (complex_vars_of_faces): Added Qmsprinter to the list of
2564 fallback tags of Windows devices.
2566 * general.c (syms_of_general): Initialized Qmsprinter.
2568 * gutter.c (complex_vars_of_gutters): Added Qmsprinter to the list
2569 of fallback tags of Windows devices.
2571 * lisp.h: Declared Qmsprinter.
2573 * objects-msw.c (font_enum_callback_2): Rewrote to build lisp list
2575 (mswindows_list_fonts): Ditto.
2576 (mswindows_enumerate_fonts): Removed dependency on XDEVICE, so
2577 that it can be used by both mswindows and msprinter devices.
2578 (initialize_font_instance): Added.
2579 (mswindows_initialize_font_instance): Use it.
2580 (msprinter_initialize_font_instance): Added.
2582 * redisplay.c (redisplay_device): Added the parameter AUTOMATIC
2583 and implementation flags check.
2584 (redisplay_without_hooks): Changed the call to the above.
2585 (Fredraw_device): Ditto.
2586 (Fredisplay_device): Ditto.
2588 * redisplay-msw.c (get_frame_dc): Implemented.
2589 (get_frame_compdc): Implemented.
2590 (many functions): Use the two functions above to get device
2591 contexts, ether for a window or a printer.
2593 2000-01-21 Olivier Galibert <galibert@pobox.com>
2595 * symbols.c (reinit_symbols_once_early): Put Qzero/Qnull_pointer
2596 initialization here.
2597 (init_symbols_once_early): Call it.
2598 * emacs.c (main_1): Call it.
2599 * symsinit.h: Declare it.
2601 2000-01-19 Olivier Galibert <galibert@pobox.com>
2603 * alloc.c: Use a lrecord_header * in the backtrace instead of a
2605 (pdump_backtrace): Ditto.
2606 (pdump_register_object): Ditto. Cleanup use of the pointers.
2607 (pdump_get_entry): Abort if trying to register a null pointer.
2608 (pdump_dump_data): Cleanup types when relocating.
2609 (pdump_dump_staticvec): Cleanup types w.r.t the reloc table.
2610 (pdump_dump_rtables): Remove bad casts.
2611 (pdump_load): Cleanup relocation w.r.t union type. Use a
2612 Lisp_Object instead of a EMACS_INT for the hashtable
2615 2000-01-20 Martin Buchholz <martin@xemacs.org>
2617 * emacs.c (main_1): Rearrange morass of #ifdef's for correctness.
2619 * callproc.c (call_process_cleanup): Isolate WINDOWSNT code for clarity.
2621 * EmacsManager.c (GeometryManager): Avoid use of CPP for clarity.
2623 * *.[ch]: global-replace 's/_of_xselect/_of_select_x/g' *.[ch]
2625 2000-01-17 Kirill 'Big K' Katsnelson <kkm@dtmx.com>
2627 * faces.h (FACE_STRIKETHRU_P): Added.
2629 * glyphs-msw.c (mswindows_widget_hfont): Implemented, to take care
2632 * redisplay-msw.c (mswindows_apply_face_effects): Deleted.
2633 (mswindows_set_dc_font): New function, aware of font variants,
2634 separated from mswindows_update_dc.
2636 * objects-msw.h (struct mswindows_font_instance_data): Added
2639 * objects-msw.c (mswindows_finalize_font_instance): Delete all
2640 cached fonts and the data structure.
2641 (mswindows_initialize_font_instance): Added creation of font data
2643 (mswindows_print_font_instance): Print at least something.
2644 (mswindows_create_font_variant): Implemented.
2645 (mswindows_get_hfont): Implemented.
2647 2000-01-13 Fabrice Popineau <Fabrice.Popineau@supelec.fr>
2649 * dired-msw.c: permute "sysdir.h" with "sysfile.h" because of
2650 prototyping problem with msvc.
2652 * emacs.c (main_1): added syms_of_gui_mswindows() call
2654 * gui-msw.c: added "mswindows-shell-execute" lisp subr and
2655 syms_of_gui_mswindows() function
2657 * symsinit.h: added the prototype for syms_of_gui_mswindows()
2659 2000-01-18 Martin Buchholz <martin@xemacs.org>
2661 * XEmacs 21.2.27 is released.
2663 2000-01-18 Martin Buchholz <martin@xemacs.org>
2665 * glyphs-eimage.c (struct tiff_error_struct):
2667 (tiff_warning_func):
2668 #if HAVE_VSNPRINTF ==> #ifdef HAVE_VSNPRINTF
2673 * unexec.c: Remove vestigial Lucid C code.
2678 Remove declarations of errno and strerror().
2680 * eval.c (Fbacktrace): Small Purify-cation. Fix docstring.
2682 * .dbxrc (run-temacs): Use the horrible ${1+"$@"} instead of "$@".
2684 2000-01-16 Martin Buchholz <martin@xemacs.org>
2686 * mule-charset.c (Fchar_octet): Resurrect from earlier in 1999.
2689 2000-01-14 Yoshiki Hayashi <t90553@mail.ecc.u-tokyo.ac.jp>
2694 Change enum eol_type to eol_type_t.
2696 2000-01-17 Yoshiki Hayashi <t90553@mail.ecc.u-tokyo.ac.jp>
2698 * gui.c (get_gui_callback): Check cons before accessing car.
2700 2000-01-17 Yoshiki Hayashi <t90553@mail.ecc.u-tokyo.ac.jp>
2702 * specifier.h (XSPECIFIER_TYPE): Add error checking version.
2703 (XSETSPECIFIER_TYPE): Ditto.
2705 2000-01-17 Didier Verna <didier@xemacs.org>
2707 * redisplay.c (generate_fstring_runes): compute string size in
2708 characters, not bytes.
2710 2000-01-09 Hrvoje Niksic <hniksic@iskon.hr>
2712 * window.c (Fwindow_minibuffer_p): Make WINDOW optional.
2714 2000-01-14 Hrvoje Niksic <hniksic@iskon.hr>
2716 * print.c (print_error_message): Call print_prepare().
2718 2000-01-14 Martin Buchholz <martin@xemacs.org>
2720 * .dbxrc: Renamed from dbxrc.
2722 * events.c (event_to_character):
2723 Use `assert (foo)' instead of `if (!foo) abort()'
2725 * .gdbinit (xtype): Add documentation.
2726 * .gdbinit (check-temacs): New function.
2727 * .gdbinit (check-xemacs): New function.
2728 * dbxrc (check-xemacs): New function.
2729 * dbxrc (check-xemacs): New function.
2731 2000-01-14 Andy Piper <andy@xemacs.org>
2733 * glyphs-widget.c (widget_query_geometry): Make sure that we
2734 calculate default dimensions correctly.
2736 2000-01-13 Kirill 'Big K' Katsnelson <kkm@dtmx.com>
2738 * symsinit.h: Added prototype for reinit_vars_of_frame_mswindows.
2740 * event-msw.c (vars_of_event_mswindows): Fixed a mistyped
2741 pdump_wire'd variable.
2743 * emacs.c: (main_1): Conditionalized calls to
2744 reinit_vars_of_scrollbar_x and reinit_vars_of_module.
2746 2000-01-13 Martin Buchholz <martin@xemacs.org>
2748 * window.c (Fset_window_configuration):
2749 * sysdep.c (_start):
2750 * input-method-motif.c (res):
2751 * event-Xt.c (Xt_process_to_emacs_event):
2752 Simple compiler warning fixes.
2754 * bytecode.c (funcall_compiled_function): Use the original
2755 function symbol on the backtrace list in preference to the
2756 compiled_function object in error messages.
2758 2000-01-13 Andy Piper <andy@xemacs.org>
2760 * glyphs-x.c (update_widget_face): Make sure we update the widget
2761 background as well as foreground.
2763 2000-01-13 Andy Piper <andy@xemacs.org>
2765 * glyphs.h (struct Lisp_Image_Instance): Move justify and orient
2766 fields to subwindow.
2767 (IMAGE_INSTANCE_SUBWINDOW_JUSTIFY): new macro.
2768 (XIMAGE_INSTANCE_SUBWINDOW_JUSTIFY): ditto.
2769 (IMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
2770 (XIMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
2772 * glyphs-widget.c (check_valid_tab_orientation): new function.
2773 (initialize_widget_image_instance): zero orientation and
2775 (widget_instantiate): pick up orientation.
2776 (tab_control_query_geometry): return appropriate values for
2779 * glyphs-msw.c: (mswindows_tab_control_instantiate): assign
2780 appropriate creation flags for left, right and bottom tabs.
2782 * s/cygwin32.h: add tab definitions.
2784 2000-01-12 Kirill 'Big K' Katsnelson <kkm@dtmx.com>
2786 * glyphs-msw.c (mswindows_unmap_subwindow): Set focus back to the
2787 frame upon hiding a subwindow.
2788 (mswindows_button_instantiate): Changed the push button style to
2790 (mswindows_button_instantiate): Removed button BS_NOTIFY
2792 (mswindows_button_instantiate): Removed redundant check for
2793 a disabled gui item.
2794 (mswindows_button_instantiate): Made use of WS_TABSTOP
2795 consistent: "operable" controls (edit, button, tree, scroll) have
2796 this style, "display-only" ones (static, progress gauge) do
2797 not. This style is currently ignored by XEmacs though. Also,
2798 removed the WS_EX_CONTROLPARENT style - it is not for children,
2799 it is for their parents!
2800 (mswindows_edit_field_instantiate): Ditto.
2801 (mswindows_progress_gauge_instantiate): Ditto.
2802 (mswindows_tree_view_instantiate): Ditto.
2803 (mswindows_tab_control_instantiate): Ditto.
2804 (mswindows_scrollbar_instantiate): Ditto.
2805 (mswindows_combo_box_instantiate): Ditto.
2806 (mswindows_widget_instantiate): Added the WS_EX_CONTROLPARENT
2807 style to the "clip" window.
2808 (mswindows_button_instantiate): Removed compilation warning by
2809 equally typing terms of the ?: operator.
2811 2000-01-12 Didier Verna <didier@xemacs.org>
2813 * redisplay.c (generate_fstring_runes): new parameter holding the
2814 last modeline-format extent.
2815 (add_glyph_to_fstring_db_runes): new parameter holding the glyph
2816 extent, fill the glyph block with it.
2817 (generate_fstring_runes): handle these parameters.
2818 (generate_formatted_string_db): ditto.
2820 * keymap.c (get_relevant_keymaps): retreive the keymaps from the
2821 glyphs'extents in the modeline.
2823 1999-01-11 Mike Woolley <mike@bulsara.com>
2825 * ntheap.c: Reduced the reserved heap space from 1Gb down to
2826 256Mb, as a workaround for the non-starting problem many people
2829 2000-01-06 Yoshiki Hayashi <t90553@mail.ecc.u-tokyo.ac.jp>
2831 * console-tty.c (Fset_console_tty_output_coding_system):
2832 Force redrawing tty frame.
2834 2000-01-10 Didier Verna <didier@xemacs.org>
2836 * redisplay.c (generate_fstring_runes): fix size computation bug.
2838 2000-01-09 William M. Perry <wmperry@aventail.com>
2840 * gpmevent.c: (gpm_next_event_cb): Don't return value from void function.
2842 2000-01-09 Andy Piper <andy@xemacs.org>
2844 * glyphs-msw.c: index -> i to avoid shadows.
2845 (xbm_create_bitmap_from_data): make static.
2846 (check_valid_string_or_int): deleted.
2847 (mswindows_control_wnd_proc): message -> msg to avoid shadows.
2849 * glyphs-x.c (x_update_subwindow): remove unused args.
2851 * glyphs.c (glyph_image_instance): return the thing. Don't set the
2852 back pointer - this is done in allocate_image_instance.
2853 (query_string_font): return Qnil to make the compiler happy.
2854 (unmap_subwindow): set to ~0 to make the compiler happy.
2855 (glyph_query_geometry): comment out until used.
2856 (glyph_layout): ditto.
2858 2000-01-09 Hrvoje Niksic <hniksic@iskon.hr>
2860 * insdel.c (signal_after_change): Remove extraneous unbind_to().