Mercurial > hg > xemacs-beta
diff src/ChangeLog @ 5126:2a462149bd6a ben-lisp-object
merge
author | Ben Wing <ben@xemacs.org> |
---|---|
date | Wed, 24 Feb 2010 19:04:27 -0600 |
parents | b5df3737028a 78a3c171a427 |
children | a9c41067dd88 |
line wrap: on
line diff
--- a/src/ChangeLog Wed Feb 24 01:58:04 2010 -0600 +++ b/src/ChangeLog Wed Feb 24 19:04:27 2010 -0600 @@ -232,6 +232,557 @@ * window.c (make_dummy_parent): Create a simpler interface (ALLOC_LCRECORD) for allocating +2010-02-24 Didier Verna <didier@xemacs.org> + + * glyphs.c: Clarify comment about potential_pixmap_file_instantiator. + * glyphs.c (xbm_mask_file_munging): Clarify comment, remove + unreachable condition and provide a cuple of assertions. + * glyphs.c (xbm_normalize): Clarify comments, error on mask file + not found. + * glyphs.c (xface_normalize): Ditto, and handle inline data properly. + +2010-02-22 Ben Wing <ben@xemacs.org> + + * .gdbinit.in.in: + * Makefile.in.in (batch_test_emacs): + test-harness.el is in lisp directory now so change how we call it. + +2010-02-22 Ben Wing <ben@xemacs.org> + + * alloc.c (object_memory_usage_stats): + Remove unused var. + +2010-02-21 Ben Wing <ben@xemacs.org> + + * alloc.c: + * alloc.c (FREE_FIXED_TYPE_WHEN_NOT_IN_GC): + * alloc.c (struct): + * alloc.c (tick_lrecord_stats): + * alloc.c (tick_lcrecord_stats): + * alloc.c (sweep_lcrecords_1): + * alloc.c (COUNT_FROB_BLOCK_USAGE): + * alloc.c (SWEEP_FIXED_TYPE_BLOCK_1): + * alloc.c (free_cons): + * alloc.c (free_key_data): + * alloc.c (free_button_data): + * alloc.c (free_motion_data): + * alloc.c (free_process_data): + * alloc.c (free_timeout_data): + * alloc.c (free_magic_data): + * alloc.c (free_magic_eval_data): + * alloc.c (free_eval_data): + * alloc.c (free_misc_user_data): + * alloc.c (free_marker): + * alloc.c (gc_sweep_1): + * alloc.c (HACK_O_MATIC): + * alloc.c (FROB): + * alloc.c (object_memory_usage_stats): + * alloc.c (Fgarbage_collect): + * dumper.c: + * dumper.c (pdump_objects_unmark): + * lrecord.h: + * lrecord.h (enum lrecord_alloc_status): + Fixes to memory-usage-tracking code, etc. + + (1) Incorporate NEW_GC stuff into FREE_FIXED_TYPE_WHEN_NOT_IN_GC + to avoid duplication. + + (2) Rewrite tick_lcrecord_stats() to include separate + tick_lrecord_stats(); use in dumper.c to note pdumped objects. + + (3) Instead of handling frob-block objects specially in + object_memory_usage_stats(), have SWEEP_FIXED_TYPE_BLOCK_1 + increment the stats in lrecord_stats[] so that they get handled + like other objects. + + (4) Pluralize entry as entries, etc. + +2010-02-21 Ben Wing <ben@xemacs.org> + + * alloc.c: + * alloc.c (pluralize_word): + New function to pluralize a word. + * alloc.c (pluralize_and_append): New function. + * alloc.c (object_memory_usage_stats): + Clean up duplication. + +2010-02-21 Vin Shelton <acs@xemacs.org> + + * events.c (event_pixel_translation): Simplify assertion for + Visual C 6. + +2010-02-21 Ben Wing <ben@xemacs.org> + + * gc.c (kkcc_marking): Fix compile error. + * mc-alloc.c: + #if 0 out some unused functions. + +2010-02-21 Ben Wing <ben@xemacs.org> + + * extents.c (process_extents_for_insertion_mapper): + Assertion wasn't quite set up correctly in previous patch. + +2010-02-20 Ben Wing <ben@xemacs.org> + + * EmacsFrame.c: + * EmacsFrame.c (EmacsFrameRecomputeCellSize): + * alloca.c (i00afunc): + * buffer.c: + * buffer.c (MARKED_SLOT): + * buffer.c (complex_vars_of_buffer): + * cm.c: + * cm.c (cmcheckmagic): + * console.c: + * console.c (MARKED_SLOT): + * device-x.c: + * device-x.c (x_get_visual_depth): + * emacs.c (sort_args): + * eval.c (throw_or_bomb_out): + * event-stream.c: + * event-stream.c (Fadd_timeout): + * event-stream.c (Fadd_async_timeout): + * event-stream.c (Frecent_keys): + * events.c: + * events.c (Fdeallocate_event): + * events.c (event_pixel_translation): + * extents.c: + * extents.c (process_extents_for_insertion_mapper): + * fns.c (Fbase64_encode_region): + * fns.c (Fbase64_encode_string): + * fns.c (Fbase64_decode_region): + * fns.c (Fbase64_decode_string): + * font-lock.c: + * font-lock.c (find_context): + * frame-x.c: + * frame-x.c (x_wm_mark_shell_size_user_specified): + * frame-x.c (x_wm_mark_shell_position_user_specified): + * frame-x.c (x_wm_set_shell_iconic_p): + * frame-x.c (x_wm_set_cell_size): + * frame-x.c (x_wm_set_variable_size): + * frame-x.c (x_wm_store_class_hints): + * frame-x.c (x_wm_maybe_store_wm_command): + * frame-x.c (x_initialize_frame_size): + * frame.c (delete_frame_internal): + * frame.c (change_frame_size_1): + * free-hook.c (check_free): + * free-hook.c (note_block_input): + * free-hook.c (log_gcpro): + * gccache-gtk.c (gc_cache_lookup): + * gccache-x.c: + * gccache-x.c (gc_cache_lookup): + * glyphs-gtk.c: + * glyphs-gtk.c (init_image_instance_from_gdk_pixmap): + * glyphs-x.c: + * glyphs-x.c (extract_xpm_color_names): + * insdel.c: + * insdel.c (move_gap): + * keymap.c: + * keymap.c (keymap_lookup_directly): + * keymap.c (keymap_delete_inverse_internal): + * keymap.c (accessible_keymaps_mapper_1): + * keymap.c (where_is_recursive_mapper): + * lisp.h: + * lstream.c (make_lisp_buffer_stream_1): + * macros.c: + * macros.c (pop_kbd_macro_event): + * mc-alloc.c (remove_page_from_used_list): + * menubar-x.c: + * menubar-x.c (set_frame_menubar): + * ralloc.c: + * ralloc.c (obtain): + * ralloc.c (relinquish): + * ralloc.c (relocate_blocs): + * ralloc.c (resize_bloc): + * ralloc.c (r_alloc_free): + * ralloc.c (r_re_alloc): + * ralloc.c (r_alloc_thaw): + * ralloc.c (init_ralloc): + * ralloc.c (Free_Addr_Block): + * scrollbar-x.c: + * scrollbar-x.c (x_update_scrollbar_instance_status): + * sunplay.c (init_device): + * unexnt.c: + * unexnt.c (read_in_bss): + * unexnt.c (map_in_heap): + * window.c: + * window.c (real_window): + * window.c (window_display_lines): + * window.c (window_display_buffer): + * window.c (set_window_display_buffer): + * window.c (unshow_buffer): + * window.c (Fget_lru_window): + if (...) ABORT(); ---> assert(); + + More specifically: + + if (x == y) ABORT (); --> assert (x != y); + if (x != y) ABORT (); --> assert (x == y); + if (x > y) ABORT (); --> assert (x <= y); + etc. + if (!x) ABORT (); --> assert (x); + if (x) ABORT (); --> assert (!x); + + DeMorgan's Law's applied and manually simplified: + if (x && !y) ABORT (); --> assert (!x || y); + if (!x || y >= z) ABORT (); --> assert (x && y < z); + + Checked to make sure that assert() of an expression with side + effects ensures that the side effects get executed even when + asserts are disabled, and add a comment about this being a + requirement of any "disabled assert" expression. + + * depend: + * make-src-depend: + * make-src-depend (PrintDeps): + Fix broken code in make-src-depend so it does what it was always + supposed to do, which was separate out config.h and lisp.h and + all the files they include into separate variables in the + depend part of Makefile so that quick-build can turn off the + lisp.h/config.h/text.h/etc. dependencies of the source files, to + speed up recompilation. + + +2010-02-20 Ben Wing <ben@xemacs.org> + + * EmacsFrame.c (EmacsFrameRecomputeCellSize): + * faces.c (default_face_font_info): + * faces.c (default_face_width_and_height): + * faces.c (Fface_list): + * faces.h: + * frame-gtk.c (gtk_set_initial_frame_size): + * frame-gtk.c (gtk_set_frame_size): + * frame-gtk.c (gtk_recompute_cell_sizes): + * frame.c: + * frame.c (frame_conversion_internal_1): + * frame.c (change_frame_size_1): + * frame.c (change_frame_size): + * glyphs-msw.c (mswindows_combo_box_instantiate): + * glyphs-widget.c (widget_instantiate): + * glyphs-widget.c (tree_view_query_geometry): + * glyphs-widget.c (Fwidget_logical_to_character_width): + * glyphs-widget.c (Fwidget_logical_to_character_height): + * indent.c (vmotion_pixels): + * redisplay-output.c (get_cursor_size_and_location): + * redisplay-xlike-inc.c (XLIKE_output_eol_cursor): + * redisplay-xlike-inc.c (XLIKE_flash): + * redisplay.c (calculate_baseline): + * redisplay.c (start_with_point_on_display_line): + * redisplay.c (glyph_to_pixel_translation): + * redisplay.c (pixel_to_glyph_translation): + * window.c (margin_width_internal): + * window.c (frame_size_valid_p): + * window.c (frame_pixsize_valid_p): + * window.c (check_frame_size): + * window.c (set_window_pixsize): + * window.c (window_pixel_height_to_char_height): + * window.c (window_char_height_to_pixel_height): + * window.c (window_displayed_height): + * window.c (window_pixel_width_to_char_width): + * window.c (window_char_width_to_pixel_width): + * window.c (change_window_height): + * window.c (window_scroll): + * window.h: + IMPORTANT: Aidan and Carbon Repo, please pay attention and fix + appropriately! + + Rename: default_face_height_and_width -> default_face_width_and_height + and reverse width/height arguments. + + Reverse width/height arguments to the following functions: + -- default_face_font_info + -- default_face_height_and_width (see above) + -- check_frame_size + -- frame_size_valid_p (made into a static function) + + Fix a redisplay bug where args to default_face_height_and_width + were in the wrong order. + + +2010-02-20 Ben Wing <ben@xemacs.org> + + * syswindows.h: + Add table about GNU Emacs -> XEmacs Windows constants from + the internals manual. + + * frame.c: + Shrink size of diagram consistent with internals manual. + + * alloc.c: + * compiler.h: + * console.c: + * events.c: + * gc.c (gc_stat_start_new_gc): + * gc.c (gc_stat_resume_gc): + * gc.c (kkcc_marking): + * gc.c (gc_1): + * gc.c (gc): + * objects-tty.c: + * redisplay-msw.c: + * redisplay-msw.c (mswindows_clear_region): + * syntax.c: + * syntax.c (ST_COMMENT_STYLE): + * sysdep.c: + Fix various compiler warnings. + +2010-02-16 Ben Wing <ben@xemacs.org> + + * frame-impl.h: + * frame-impl.h (FRAME_INTERNAL_BORDER_WIDTH): + * frame-impl.h (FRAME_REAL_TOOLBAR_BOUNDS): + * frame-impl.h (FRAME_REAL_TOP_TOOLBAR_BOUNDS): + * frame-impl.h (FRAME_BOTTOM_BORDER_START): + * frame-impl.h (FRAME_LEFT_BORDER_START): + * frame-impl.h (FRAME_RIGHT_BORDER_START): + * frame.c (frame_conversion_internal_1): + * frame.c (change_frame_size_1): + * redisplay-output.c (clear_left_border): + * redisplay-output.c (clear_right_border): + * redisplay-output.c (redisplay_clear_top_of_window): + * redisplay-output.c (redisplay_clear_to_window_end): + * redisplay-output.c (redisplay_clear_bottom_of_window): + Rename FRAME_BORDER_* to FRAME_INTERNAL_BORDER_*. Add + general FRAME_INTERNAL_BORDER_SIZE(). Add FRAME_REAL_TOOLBAR_BOUNDS() + to encompass the entire size of the toolbar including its border. + Add specific top/left/bottom/right versions of this macro. + Rewrite FRAME_*_BORDER_START and FRAME_*_BORDER_END to take into use + FRAME_REAL_*_TOOLBAR_BOUNDS(). Add some comments about existing + problems in frame sizing and how they might be fixed. Simplify + change_frame_size_1() using the macros just created. + +2010-02-15 Ben Wing <ben@xemacs.org> + + * frame.c (change_frame_size_1): + Simplify the logic in this function. + + (1) Don't allow 0 as the value of height or width. The old code + that tried to allow this was totally broken, anyway, so obviously + this never happens any more. + + (2) Don't duplicate the code in frame_conversion_internal() that + converts displayable pixel size to total pixel size -- just call + that function. + +2010-02-15 Ben Wing <ben@xemacs.org> + + * EmacsFrame.c: + * EmacsFrame.c (EmacsFrameResize): + * console-msw-impl.h: + * console-msw-impl.h (struct mswindows_frame): + * console-msw-impl.h (FRAME_MSWINDOWS_TARGET_RECT): + * device-tty.c: + * device-tty.c (tty_asynch_device_change): + * event-msw.c: + * event-msw.c (mswindows_wnd_proc): + * faces.c (Fface_list): + * faces.h: + * frame-gtk.c: + * frame-gtk.c (gtk_set_initial_frame_size): + * frame-gtk.c (gtk_set_frame_size): + * frame-msw.c: + * frame-msw.c (mswindows_init_frame_1): + * frame-msw.c (mswindows_set_frame_size): + * frame-msw.c (mswindows_size_frame_internal): + * frame-msw.c (msprinter_init_frame_3): + * frame.c: + * frame.c (enum): + * frame.c (Fmake_frame): + * frame.c (adjust_frame_size): + * frame.c (store_minibuf_frame_prop): + * frame.c (Fframe_property): + * frame.c (Fframe_properties): + * frame.c (Fframe_displayable_pixel_height): + * frame.c (Fframe_displayable_pixel_width): + * frame.c (internal_set_frame_size): + * frame.c (Fset_frame_height): + * frame.c (Fset_frame_pixel_height): + * frame.c (Fset_frame_displayable_pixel_height): + * frame.c (Fset_frame_width): + * frame.c (Fset_frame_pixel_width): + * frame.c (Fset_frame_displayable_pixel_width): + * frame.c (Fset_frame_size): + * frame.c (Fset_frame_pixel_size): + * frame.c (Fset_frame_displayable_pixel_size): + * frame.c (frame_conversion_internal_1): + * frame.c (get_frame_displayable_pixel_size): + * frame.c (change_frame_size_1): + * frame.c (change_frame_size): + * frame.c (generate_title_string): + * frame.h: + * gtk-xemacs.c: + * gtk-xemacs.c (gtk_xemacs_size_request): + * gtk-xemacs.c (gtk_xemacs_size_allocate): + * gtk-xemacs.c (gtk_xemacs_paint): + * gutter.c: + * gutter.c (update_gutter_geometry): + * redisplay.c (end_hold_frame_size_changes): + * redisplay.c (redisplay_frame): + * toolbar.c: + * toolbar.c (update_frame_toolbars_geometry): + * window.c: + * window.c (frame_pixsize_valid_p): + * window.c (check_frame_size): + Various fixes to frame geometry to make it a bit easier to understand + and fix some bugs. + + 1. IMPORTANT: Some renamings. Will need to be applied carefully to + the carbon repository, in the following order: + + -- pixel_to_char_size -> pixel_to_frame_unit_size + -- char_to_pixel_size -> frame_unit_to_pixel_size + -- pixel_to_real_char_size -> pixel_to_char_size + -- char_to_real_pixel_size -> char_to_pixel_size + -- Reverse second and third arguments of change_frame_size() and + change_frame_size_1() to try to make functions consistent in + putting width before height. + -- Eliminate old round_size_to_char, because it didn't really + do anything differently from round_size_to_real_char() + -- round_size_to_real_char -> round_size_to_char; any places that + called the old round_size_to_char should just call the new one. + + 2. IMPORTANT FOR CARBON: The set_frame_size() method is now passed + sizes in "frame units", like all other frame-sizing functions, + rather than some hacked-up combination of char-cell units and + total pixel size. This only affects window systems that use + "pixelated geometry", and I'm not sure if Carbon is one of them. + MS Windows is pixelated, X and GTK are not. For pixelated-geometry + systems, the size in set_frame_size() is in displayable pixels + rather than total pixels and needs to be converted appropriately; + take a look at the changes made to mswindows_set_frame_size() + method if necessary. + + 3. Add a big long comment in frame.c describing how frame geometry + works. + + 4. Remove MS Windows-specific character height and width fields, + duplicative and unused. + + 5. frame-displayable-pixel-* and set-frame-displayable-pixel-* + didn't use to work on MS Windows, but they do now. + + 6. In general, clean up the handling of "pixelated geometry" so + that fewer functions have to worry about this. This is really + an abomination that should be removed entirely but that will + have to happen later. Fix some buggy code in + frame_conversion_internal() that happened to "work" because it + was countered by oppositely buggy code in change_frame_size(). + + 7. Clean up some frame-size code in toolbar.c and use functions + already provided in frame.c instead of rolling its own. + + 8. Fix check_frame_size() in window.c, which formerly didn't take + pixelated geometry into account. + + +2010-02-15 Ben Wing <ben@xemacs.org> + + * mc-alloc.c: + * mc-alloc.c (mc_realloc_1): + * mc-alloc.c (set_dirty_bit): + * mc-alloc.c (set_dirty_bit_for_address): + * mc-alloc.c (get_dirty_bit): + * mc-alloc.c (get_dirty_bit_for_address): + * mc-alloc.c (set_protection_bit): + * mc-alloc.c (set_protection_bit_for_address): + * mc-alloc.c (get_protection_bit): + * mc-alloc.c (get_protection_bit_for_address): + * mc-alloc.c (get_page_start): + * vdb-win32.c (win32_fault_handler): + * vdb.c: + Fix some compile warnings, make vdb test code conditional on + DEBUG_XEMACS. + +2010-02-15 Ben Wing <ben@xemacs.org> + + * regex.c: + * regex.c (DEBUG_FAIL_PRINT1): + * regex.c (PUSH_FAILURE_POINT): + * regex.c (POP_FAILURE_POINT): + * regex.c (regex_compile): + * regex.c (re_match_2_internal): + * regex.h: + * search.c: + * search.c (search_buffer): + * search.c (debug_regexps_changed): + * search.c (vars_of_search): + Add an internal variable debug_regexps and a corresponding Lisp + variable `debug-regexps' that takes a list of areas in which to + display debugging info about regex compilation and matching + (currently three areas exist). Use existing debugging code + already in regex.c and modify it so that it recognizes the + debug_regexps variable and the flags in it. + + Rename variable `debug-xemacs-searches' to just `debug-searches', + consistent with other debug vars. + +2010-02-20 Ben Wing <ben@xemacs.org> + + * device-x.c (Fx_get_resource): + * dynarr.c: + * dynarr.c (Dynarr_realloc): + * dynarr.c (Dynarr_newf): + * dynarr.c (Dynarr_lisp_realloc): + * dynarr.c (Dynarr_lisp_newf): + * dynarr.c (Dynarr_resize): + * dynarr.c (Dynarr_insert_many): + * dynarr.c (Dynarr_delete_many): + * dynarr.c (Dynarr_memory_usage): + * dynarr.c (stack_like_free): + * file-coding.c (coding_reader): + * file-coding.c (gzip_convert): + * gutter.c (output_gutter): + * lisp.h: + * lisp.h (Dynarr_declare): + * lisp.h (DYNARR_SET_LISP_IMP): + * lisp.h (CHECK_NATNUM): + * profile.c (create_timing_profile_table): + * redisplay-output.c (sync_rune_structs): + * redisplay-output.c (sync_display_line_structs): + * redisplay-output.c (redisplay_output_window): + * redisplay.c: + * redisplay.c (get_display_block_from_line): + * redisplay.c (add_ichar_rune_1): + * redisplay.c (ensure_modeline_generated): + * redisplay.c (generate_displayable_area): + * redisplay.c (regenerate_window): + * redisplay.c (update_line_start_cache): + * signal.c: + * signal.c (check_quit): + + Lots of rewriting of dynarr code. + + (1) Lots of documentation added. Also fix places that + referenced a now-bogus internals node concerning redisplay + critical sections. + + (2) Rename: + + Dynarr_add_lisp_string -> Dynarr_add_ext_lisp_string + Dynarr_set_length -> Dynarr_set_lengthr ("restricted") + Dynarr_increment -> Dynarr_incrementr + Dynarr_resize_if -> Dynarr_resize_to_add + + (3) New functions: + + Dynarr_elsize = dy->elsize_ + Dynarr_set_length(): Set length, resizing as necessary + Dynarr_set_length_and_zero(): Set length, resizing as necessary, + zeroing out new elements + Dynarr_increase_length(), Dynarr_increase_length_and_zero(): + Optimization of Dynarr_set_length(), Dynarr_set_length_and_zero() + when size is known to increase + Dynarr_resize_to_fit(): Resize as necessary to fit a given length. + Dynarr_set(): Set element at a given position, increasing length + as necessary and setting any newly created positions to 0 + + (4) Use Elemcount, Bytecount. + + (5) Rewrite many macros as inline functions. + +2010-02-20 Ben Wing <ben@xemacs.org> + + * tests.c: + Fix operation of c-tests. + 2010-02-19 Aidan Kehoe <kehoea@parhasard.net> * fns.c (split_string_by_ichar_1):