-2011-06-08 Paul Eggert <eggert@cs.ucla.edu>
+2011-06-11 Paul Eggert <eggert@cs.ucla.edu>
+
+ * xmenu.c (dialog_selection_callback) [!USE_GTK]: Cast to intptr_t,
+ not to EMACS_INT, to avoid GCC warning.
+
+ * xfns.c (x_set_scroll_bar_default_width): Remove unused 'int' locals.
+
+ * buffer.h (PTR_BYTE_POS, BUF_PTR_BYTE_POS): Remove harmful cast.
+ The cast incorrectly truncated 64-bit byte offsets to 32 bits, and
+ isn't needed on 32-bit machines.
+
+ * buffer.c (Fgenerate_new_buffer_name): Use EMACS_INT for count, not int.
+ (advance_to_char_boundary): Return EMACS_INT, not int.
+
+ * data.c (Qcompiled_function): Now static.
+
+ * window.c (window_body_lines): Now static.
+
+ * image.c (gif_load): Rename local to avoid shadowing.
+
+ * lisp.h (SAFE_ALLOCA_LISP): Check for integer overflow.
+ (struct Lisp_Save_Value): Use ptrdiff_t, not int, for 'integer' member.
+ * alloc.c (make_save_value): Integer argument is now of type
+ ptrdiff_t, not int.
+ (mark_object): Use ptrdiff_t, not int.
+ * lisp.h (pD): New macro.
+ * print.c (print_object): Use it.
+
+ * alloc.c: Use EMACS_INT, not int, to count objects.
+ (total_conses, total_markers, total_symbols, total_vector_size)
+ (total_free_conses, total_free_markers, total_free_symbols)
+ (total_free_floats, total_floats, total_free_intervals, total_intervals)
+ (total_strings, total_free_strings):
+ Now EMACS_INT, not int. All uses changed.
+ (Fgarbage_collect): Compute overall total using a double, so that
+ integer overflow is less likely to be a problem. Check for overflow
+ when converting back to an integer.
+ (n_interval_blocks, n_string_blocks, n_float_blocks, n_cons_blocks)
+ (n_vectors, n_symbol_blocks, n_marker_blocks): Remove.
+ These were 'int' variables that could overflow on 64-bit hosts;
+ they were never used, so remove them instead of repairing them.
+ (nzombies, ngcs, max_live, max_zombies): Now EMACS_INT, not 'int'.
+ (inhibit_garbage_collection): Set gc_cons_threshold to max value.
+ Previously, this ceilinged at INT_MAX, but that doesn't work on
+ 64-bit machines.
+ (allocate_pseudovector): Don't use EMACS_INT when int would do.
+
+ * alloc.c (Fmake_bool_vector): Don't assume vector size fits in int.
+ (allocate_vectorlike): Check for ptrdiff_t overflow.
+ (mark_vectorlike, mark_char_table, mark_object): Avoid EMACS_UINT
+ when a (possibly-narrower) signed value would do just as well.
+ We prefer using signed arithmetic, to avoid comparison confusion.
* alloc.c: Catch some string size overflows that we were missing.
(XMALLOC_OVERRUN_CHECK_SIZE) [!XMALLOC_OVERRUN_CHECK]: Define to 0,
size_t overflow on (unusual) hosts where SIZE_MAX <= min
(PTRDIFF_MAX, MOST_POSITIVE_FIXNUM), e.g., when size_t is 32 bits
and ptrdiff_t and EMACS_INT are both 64 bits.
+
* character.c, coding.c, doprnt.c, editfns.c, eval.c:
All uses of STRING_BYTES_MAX replaced by STRING_BYTES_BOUND.
* lisp.h (STRING_BYTES_BOUND): Renamed from STRING_BYTES_MAX.
-2011-06-07 Paul Eggert <eggert@cs.ucla.edu>
-
* character.c (string_escape_byte8): Fix nbytes/nchars typo.
* alloc.c (Fmake_string): Check for out-of-range init.
+2011-06-11 Chong Yidong <cyd@stupidchicken.com>
+
+ * dispextern.h (struct image): Replace data member, whose int_val
+ and ptr_val fields were not used by anything, with a single
+ lisp_val object.
+
+ * image.c (Fimage_metadata, make_image, mark_image, tiff_load)
+ (gif_clear_image, gif_load, imagemagick_load_image)
+ (gs_clear_image, gs_load): Callers changed.
+
+2011-06-10 Paul Eggert <eggert@cs.ucla.edu>
+
+ * buffer.h: Include <time.h>, for time_t.
+ Needed to build on FreeBSD 8.2. Problem reported by Herbert J. Skuhra.
+
+ Fix minor problems found by static checking.
+
+ * image.c (PixelGetMagickColor): Declare if ImageMagick headers don't.
+
+ Make identifiers static if they are not used in other modules.
+ * data.c (Qcompiled_function, Qframe, Qvector):
+ * image.c (QimageMagick, Qsvg):
+ * minibuf.c (Qmetadata):
+ * window.c (resize_window_check, resize_root_window): Now static.
+ * window.h (resize_window_check, resize_root_window): Remove decls.
+
+ * window.c (window_deletion_count, delete_deletable_window):
+ Remove; unused.
+ (window_body_lines): Now static.
+ (Fdelete_other_windows_internal): Mark vars as initialized.
+ Make sure 'resize_failed' is initialized.
+ (run_window_configuration_change_hook): Rename local to avoid shadowing.
+ (resize_window_apply): Remove unused local.
+ * window.h (delete_deletable_window): Remove decl.
+
+ * image.c (gif_load, svg_load_image): Rename locals to avoid shadowing.
+ (imagemagick_load_image): Fix pointer signedness problem by changing
+ last arg from unsigned char * to char *. All uses changed.
+ Also, fix a local for similar reasons.
+ Remove unused locals. Remove locals to avoid shadowing.
+ (fn_rsvg_handle_free): Remove; unused.
+ (svg_load, svg_load_image): Fix pointer signedness problem.
+ (imagemagick_load_image): Don't use garbage pointer image_wand.
+
+ * ftfont.c (ftfont_get_metrics, ftfont_drive_otf): Remove unused locals.
+
+2011-06-10 Chong Yidong <cyd@stupidchicken.com>
+
+ * image.c (gif_load): Fix omitted cast error introduced by
+ 2011-06-06 change.
+
+2011-06-10 Martin Rudalics <rudalics@gmx.at>
+
+ * window.h (resize_proportionally, orig_total_lines)
+ (orig_top_line): Remove from window structure.
+ (set_window_height, set_window_width, change_window_heights)
+ (Fdelete_window): Remove prototypes.
+ (resize_frame_windows): Remove duplicate declaration.
+
+2011-06-10 Eli Zaretskii <eliz@gnu.org>
+
+ * window.h (resize_frame_windows, resize_window_check)
+ (delete_deletable_window, resize_root_window)
+ (resize_frame_windows): Declare prototypes.
+
+ * window.c (resize_window_apply): Make definition be "static" to
+ match the prototype.
+
+2011-06-10 Martin Rudalics <rudalics@gmx.at>
+
+ * window.c: Remove declarations of Qwindow_size_fixed,
+ window_min_size_1, window_min_size_2, window_min_size,
+ size_window, window_fixed_size_p, enlarge_window, delete_window.
+ Remove static from declaration of Qdelete_window, it's
+ temporarily needed by Fbury_buffer.
+ (replace_window): Don't assign orig_top_line and
+ orig_total_lines.
+ (Fdelete_window, delete_window): Remove. Window deletion is
+ handled by window.el.
+ (window_loop): Remove DELETE_OTHER_WINDOWS case. Replace
+ Fdelete_window calls with calls to Qdelete_window.
+ (Fdelete_other_windows): Remove. Deleting other windows is
+ handled by window.el.
+ (window_fixed_size_p): Remove. Fixed-sizeness of windows is
+ handled in window.el.
+ (window_min_size_2, window_min_size_1, window_min_size): Remove.
+ Window minimum sizes are handled in window.el.
+ (shrink_windows, size_window, set_window_height)
+ (set_window_width, change_window_heights, window_height)
+ (window_width, CURBEG, CURSIZE, enlarge_window)
+ (adjust_window_trailing_edge, Fadjust_window_trailing_edge)
+ (Fenlarge_window, Fshrink_window): Remove. Window resizing is
+ handled in window.el.
+ (make_dummy_parent): Rename to make_parent_window and give it a
+ second argument horflag.
+ (make_window): Don't set resize_proportionally any more.
+ (Fsplit_window): Remove. Windows are split in window.el.
+ (save_restore_action, save_restore_orig_size)
+ (shrink_window_lowest_first, save_restore_orig_size): Remove.
+ Resize mini windows in window.el.
+ (grow_mini_window, shrink_mini_window): Implement by calling
+ Qresize_root_window_vertically, resize_window_check and
+ resize_window_apply.
+ (saved_window, Fset_window_configuration, save_window_save): Do
+ not handle orig_top_line, orig_total_lines, and
+ resize_proportionally.
+ (window_min_height, window_min_width): Move to window.el.
+ (keys_of_window): Move bindings for delete-other-windows,
+ split-window, delete-window and enlarge-window to window.el.
+
+ * buffer.c: Temporarily extern Qdelete_window.
+ (Fbury_buffer): Temporarily call Qdelete_window instead of
+ Fdelete_window (Fbury_buffer will move to window.el soon).
+
+ * frame.c (set_menu_bar_lines_1): Remove code handling
+ orig_top_line and orig_total_lines.
+
+ * dispnew.c (adjust_frame_glyphs_initially): Don't use
+ set_window_height but set heights directly.
+ (change_frame_size_1): Use resize_frame_windows.
+
+ * xdisp.c (init_xdisp): Don't use set_window_height but set
+ heights directly.
+
+ * xfns.c (x_set_menu_bar_lines, x_set_tool_bar_lines): Use
+ resize_frame_windows instead of change_window_heights and run
+ run_window_configuration_change_hook.
+
+ * w32fns.c (x_set_tool_bar_lines): Use resize_frame_windows
+ instead of change_window_heights and run
+ run_window_configuration_change_hook.
+
+2011-06-09 Martin Rudalics <rudalics@gmx.at>
+
+ * window.c (replace_window): Rename second argument REPLACEMENT to
+ NEW. New third argument SETFLAG. Rewrite.
+ (delete_window, make_dummy_parent): Call replace_window with
+ third argument 1.
+ (window_list_1): Move down in code.
+ (run_window_configuration_change_hook): Move set_buffer part
+ before select_frame_norecord part in order to unwind correctly.
+ Rename count1 to count.
+ (recombine_windows, delete_deletable_window, resize_root_window)
+ (Fdelete_other_windows_internal)
+ (Frun_window_configuration_change_hook, make_parent_window)
+ (resize_window_check, resize_window_apply, Fresize_window_apply)
+ (resize_frame_windows, Fsplit_window_internal)
+ (Fdelete_window_internal, Fresize_mini_window_internal): New
+ functions.
+ (syms_of_window): New variables Vwindow_splits and Vwindow_nest.
+
+2011-06-08 Martin Rudalics <rudalics@gmx.at>
+
+ * window.h (window): Add some new members to window structure -
+ normal_lines, normal_cols, new_total, new_normal, clone_number,
+ splits, nest, prev_buffers, next_buffers.
+ (WINDOW_TOTAL_SIZE): Move here from window.c.
+ (MIN_SAFE_WINDOW_WIDTH, MIN_SAFE_WINDOW_HEIGHT): Define here.
+
+ * window.c (Fwindow_height, Fwindow_width, Fwindow_full_width_p):
+ Remove.
+ (make_dummy_parent): Set new members of windows structure.
+ (make_window): Move down in code. Handle new members of window
+ structure.
+ (Fwindow_clone_number, Fwindow_splits, Fset_window_splits)
+ (Fwindow_nest, Fset_window_nest, Fwindow_new_total)
+ (Fwindow_normal_size, Fwindow_new_normal, Fwindow_prev_buffers)
+ (Fset_window_prev_buffers, Fwindow_next_buffers)
+ (Fset_window_next_buffers, Fset_window_clone_number): New
+ functions.
+ (Fwindow_hscroll, Fwindow_at, Fwindow_point, Fwindow_start)
+ (Fwindow_end, Fwindow_line_height, Fset_window_dedicated_p):
+ Doc-string fixes.
+ (Fwindow_parameters, Fwindow_parameter, Fset_window_parameter):
+ Argument WINDOW can be now internal window too.
+ (Fwindow_use_time): Move up in code.
+ (Fget_buffer_window): Rename argument FRAME to ALL-FRAMES.
+ Rewrite doc-string.
+ (Fset_window_configuration, saved_window)
+ (Fcurrent_window_configuration, save_window_save): Handle new
+ members of window structure.
+ (WINDOW_TOTAL_SIZE, MIN_SAFE_WINDOW_WIDTH)
+ (MIN_SAFE_WINDOW_HEIGHT): Move to window.h.
+ (syms_of_window): New Lisp objects Qrecord_window_buffer,
+ Qwindow_deletable_p, Qdelete_window, Qreplace_buffer_in_windows,
+ Qget_mru_window, Qresize_root_window,
+ Qresize_root_window_vertically, Qsafe, Qabove, Qbelow,
+ Qauto_buffer_name; staticpro them.
+
+2011-06-07 Martin Rudalics <rudalics@gmx.at>
+
+ * window.c (Fwindow_total_size, Fwindow_left_column)
+ (Fwindow_top_line, window_body_lines, Fwindow_body_size)
+ (Fwindow_list_1): New functions.
+ (window_box_text_cols): Replace with window_body_cols.
+ (Fwindow_width, Fscroll_left, Fscroll_right): Use
+ window_body_cols instead of window_box_text_cols.
+ (delete_window, Fset_window_configuration): Call
+ delete_all_subwindows with window as argument.
+ (delete_all_subwindows): Take a window as argument and not a
+ structure. Rewrite.
+ (window_loop): Remove handling of GET_LRU_WINDOW and
+ GET_LARGEST_WINDOW.
+ (Fget_lru_window, Fget_largest_window): Move to window.el.
+
+ * window.h: Extern window_body_cols instead of
+ window_box_text_cols. delete_all_subwindows now takes a
+ Lisp_Object as argument.
+
+ * indent.c (compute_motion, Fcompute_motion): Use
+ window_body_cols instead of window_box_text_cols.
+
+ * frame.c (delete_frame): Call delete_all_subwindows with root
+ window as argument.
+
2011-06-07 Daniel Colascione <dan.colascione@gmail.com>
* fns.c (Fputhash): Document return value.