X-Git-Url: https://git.hcoop.net/bpt/emacs.git/blobdiff_plain/4b80f6746dc824f1ec36a96abe684480ed06e62e..4475bec4dd51b8da9884816d9ca06e4d60a35e15:/src/ChangeLog diff --git a/src/ChangeLog b/src/ChangeLog index a75fecc3d8..a1e5f3a220 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,13 +1,491 @@ +2011-06-11 Paul Eggert + + * buffer.c (Qclone_number): Remove for now, as it's unused. + (record_buffer, Funrecord_buffer): Rename local to avoid shadowing. + (record_buffer): Remove unused local. + * frame.c (other_visible_frames, frame_buffer_list): Now static. + (set_frame_buffer_list): Remove; unused. + * frame.h (other_visible_frames): Remove decl. + * keyboard.h (menu_items_inuse): Declare only if USE_GTK || USE_MOTIF. + * lisp.h (frame_buffer_list, set_frame_buffer_list): Remove decls. + (add_gpm_wait_descriptor, delete_gpm_wait_descriptor): Declare only + if HAVE_GPM. + * menu.c (menu_items_inuse): Now static unless USE_GTK || USE_MOTIF. + * process.c (add_gpm_wait_descriptor, delete_gpm_wait_descriptor): + Define only if HAVE_GPM. + * widget.c (EmacsFrameResize, emacsFrameClassRec): Now static. + (update_hints_inhibit): Remove; never set. All uses removed. + * widgetprv.h (emacsFrameClassRec): Remove decl. + * window.c (delete_deletable_window): Now returns void, since it + wasn't returning anything. + (compare_window_configurations): Remove unused locals. + * xfns.c (x_set_scroll_bar_default_width): Remove unused locals. + * xmenu.c (x_menu_set_in_use): Define only if USE_GTK || USE_MOTIF. + Omit no-longer-needed #ifdef USE_X_TOOLKIT, since USE_X_TOOLKIT is + implied by USE_GTK || USE_MOTIF. + (dialog_selection_callback) [!USE_GTK]: Prefer intptr_t for integers + the same widths as pointers. This follows up on the 2011-05-06 patch. + * xterm.c (x_alloc_lighter_color_for_widget): Define only if USE_LUCID. + * xterm.h: Likewise. + (x_menu_set_in_use): Declare only if USE_GTK || USE_MOTIF. + +2011-06-11 Martin Rudalics + + * window.c (delete_deletable_window): Re-add. + (Fset_window_configuration): Rewrite to handle dead buffers and + consequently deletable windows. + (window_tree, Fwindow_tree): Remove. Supply functionality in + window.el. + (compare_window_configurations): Simplify code. + +2011-06-11 Andreas Schwab + + * image.c (imagemagick_load_image): Fix type mismatch. + (Fimagemagick_types): Likewise. + + * window.h (replace_buffer_in_windows): Declare. + +2011-06-11 Martin Rudalics + + * buffer.c: New Lisp objects Qbuffer_list_update_hook and + Qclone_number. Remove external declaration of Qdelete_window. + (Fbuffer_list): Rewrite doc-string. Minor restructuring of + code. + (Fget_buffer_create, Fmake_indirect_buffer, Frename_buffer): Run + Qbuffer_list_update_hook if allowed. + (Fother_buffer): Rewrite doc-string. Major rewrite for new + buffer list implementation. + (other_buffer_safely): New function. + (Fkill_buffer): Replace call to replace_buffer_in_all_windows by + calls to replace_buffer_in_windows and + replace_buffer_in_windows_safely. Run Qbuffer_list_update_hook + if allowed. + (record_buffer): Inhibit quitting and rewrite using quittable + functions. Run Qbuffer_list_update_hook if allowed. + (Frecord_buffer, Funrecord_buffer): New functions. + (switch_to_buffer_1, Fswitch_to_buffer): Remove. Move + switch-to-buffer to window.el. + (bury-buffer): Move to window.el. + (Vbuffer_list_update_hook): New variable. + + * lisp.h (other_buffer_safely): Add prototype in buffer.c + section. + + * window.h (resize_frame_windows): Move up in code. + (Fwindow_frame): Remove EXFUN. + (replace_buffer_in_all_windows): Remove prototype. + (replace_buffer_in_windows_safely): Add prototype. + + * window.c: Declare Qdelete_window static again. Move down + declaration of select_count. + (Fnext_window, Fprevious_window): Rewrite doc-strings. + (Fother_window): Move to window.el. + (window_loop): Remove DELETE_BUFFER_WINDOWS and UNSHOW_BUFFER + cases. Add REPLACE_BUFFER_IN_WINDOWS_SAFELY case. + (Fdelete_windows_on, Freplace_buffer_in_windows): Move to + window.el. + (replace_buffer_in_windows): Implement by calling + Qreplace_buffer_in_windows. + (replace_buffer_in_all_windows): Remove with some functionality + moved into replace_buffer_in_windows_safely. + (replace_buffer_in_windows_safely): New function. + (select_window_norecord, select_frame_norecord): Move in front + of run_window_configuration_change_hook. Remove now obsolete + declarations. + (Fset_window_buffer): Rewrite doc-string. Call + Qrecord_window_buffer. + (keys_of_window): Move binding for other-window to window.el. + +2011-06-11 Chong Yidong + + * 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 + + * buffer.h: Include , 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 + + * image.c (gif_load): Fix omitted cast error introduced by + 2011-06-06 change. + +2011-06-10 Martin Rudalics + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * fns.c (Fputhash): Document return value. + +2011-06-06 Chong Yidong + + * image.c (gif_load): Implement gif89a spec "no disposal" method. + +2011-06-06 Paul Eggert + + Cons<->int and similar integer overflow fixes (Bug#8794). + + Check for overflow when converting integer to cons and back. + * charset.c (Fdefine_charset_internal, Fdecode_char): + Use cons_to_unsigned to catch overflow. + (Fencode_char): Use INTEGER_TO_CONS. + * composite.h (LGLYPH_CODE): Use cons_to_unsigned. + (LGLYPH_SET_CODE): Use INTEGER_TO_CONS. + * data.c (long_to_cons, cons_to_long): Remove. + (cons_to_unsigned, cons_to_signed): New functions. + These signal an error for invalid or out-of-range values. + * dired.c (Ffile_attributes): Use INTEGER_TO_CONS. + * fileio.c (Fset_visited_file_modtime): Use CONS_TO_INTEGER. + * font.c (Ffont_variation_glyphs): + * fontset.c (Finternal_char_font): Use INTEGER_TO_CONS. + * lisp.h: Include . + (INTEGER_TO_CONS, CONS_TO_INTEGER): New macros. + (cons_to_signed, cons_to_unsigned): New decls. + (long_to_cons, cons_to_long): Remove decls. + * undo.c (record_first_change): Use INTEGER_TO_CONS. + (Fprimitive_undo): Use CONS_TO_INTEGER. + * xfns.c (Fx_window_property): Likewise. + * xselect.c: Include . + (x_own_selection, selection_data_to_lisp_data): + Use INTEGER_TO_CONS. + (x_handle_selection_request, x_handle_selection_clear) + (x_get_foreign_selection, Fx_disown_selection_internal) + (Fx_get_atom_name, x_send_client_event): Use CONS_TO_INTEGER. + (lisp_data_to_selection_data): Use cons_to_unsigned. + (x_fill_property_data): Use cons_to_signed. + Report values out of range. + + Check for buffer and string overflow more precisely. + * buffer.h (BUF_BYTES_MAX): New macro. + * lisp.h (STRING_BYTES_MAX): New macro. + * alloc.c (Fmake_string): + * character.c (string_escape_byte8): + * coding.c (coding_alloc_by_realloc): + * doprnt.c (doprnt): + * editfns.c (Fformat): + * eval.c (verror): + Use STRING_BYTES_MAX, not MOST_POSITIVE_FIXNUM, + since they may not be the same number. + * editfns.c (Finsert_char): + * fileio.c (Finsert_file_contents): + Likewise for BUF_BYTES_MAX. + + * image.c: Use ptrdiff_t, not int, for sizes. + (slurp_file): Switch from int to ptrdiff_t. + All uses changed. + (slurp_file): Check that file size fits in both size_t (for + malloc) and ptrdiff_t (for sanity and safety). + + * fileio.c (Fverify_visited_file_modtime): Avoid time overflow + if b->modtime has its maximal value. + + * dired.c (Ffile_attributes): Don't assume EMACS_INT has >32 bits. + + Don't assume time_t can fit into int. + * buffer.h (struct buffer.modtime): Now time_t, not int. + * fileio.c (Fvisited_file_modtime): No need for time_t cast now. + * undo.c (Fprimitive_undo): Use time_t, not int, for time_t value. + + Minor fixes for signed vs unsigned integers. + * character.h (MAYBE_UNIFY_CHAR): + * charset.c (maybe_unify_char): + * keyboard.c (read_char, reorder_modifiers): + XINT -> XFASTINT, since the integer must be nonnegative. + * ftfont.c (ftfont_spec_pattern): + * keymap.c (access_keymap, silly_event_symbol_error): + XUINT -> XFASTINT, since the integer must be nonnegative. + (Fsingle_key_description, preferred_sequence_p): XUINT -> XINT, + since it makes no difference and we prefer signed. + * keyboard.c (record_char): Use XUINT when all the neighbors do. + (access_keymap): NATNUMP -> INTEGERP, since the integer must be + nonnegative. + +2011-06-06 Stefan Monnier + + * window.h (Fwindow_frame): Declare. + +2011-06-06 Paul Eggert + + * alloc.c: Simplify handling of large-request failures (Bug#8800). + (SPARE_MEMORY): Always define. + (LARGE_REQUEST): Remove. + (memory_full): Use SPARE_MEMORY rather than LARGE_REQUEST. + +2011-06-06 Martin Rudalics + + * lisp.h: Move EXFUNS for Fframe_root_window, + Fframe_first_window and Fset_frame_selected_window to window.h. + + * window.h: Move EXFUNS for Fframe_root_window, + Fframe_first_window and Fset_frame_selected_window here from + lisp.h. + + * frame.c (Fwindow_frame, Fframe_first_window) + (Fframe_root_window, Fframe_selected_window) + (Fset_frame_selected_window): Move to window.c. + (Factive_minibuffer_window): Move to minibuf.c. + (Fother_visible_frames_p): New function. + + * minibuf.c (Factive_minibuffer_window): Move here from frame.c. + + * window.c (decode_window, decode_any_window): Move up in code. + (Fwindowp, Fwindow_live_p): Rewrite doc-strings. + (inhibit_frame_unsplittable): Remove unused variable. + (Fwindow_buffer): Move up and rewrite doc-string. + (Fwindow_parent, Fwindow_vchild, Fwindow_hchild, Fwindow_next) + (Fwindow_prev): New functions. + (Fwindow_frame): Move here from frame.c. Accept any window as + argument. + (Fframe_root_window, Fframe_first_window) + (Fframe_selected_window): Move here from frame.c. Accept frame + or arbitrary window as argument. Update doc-strings. + (Fminibuffer_window): Move up in code. + (Fwindow_minibuffer_p): Move up in code and simplify. + (Fset_frame_selected_window): Move here from frame.c. + Marginal rewrite. + (Fselected_window, select_window, Fselect_window): Move up in + code. Minor doc-string fixes. + +2011-06-06 Paul Eggert + + * alloc.c (memory_full) [SYSTEM_MALLOC]: Port to MacOS (Bug#8800). + Do not assume that spare memory exists; that assumption is valid + only if SYSTEM_MALLOC. + (LARGE_REQUEST): New macro, so that the issue of large requests + is separated from the issue of spare memory. + +2011-06-05 Andreas Schwab + + * editfns.c (Fformat): Correctly handle zero flag with hexadecimal + format. (Bug#8806) + + * gtkutil.c (xg_get_default_scrollbar_width): Avoid warning. + + * xfns.c (x_set_scroll_bar_default_width): Move declarations + before statements. + +2011-06-05 Jan Djärv + + * gtkutil.c (xg_get_default_scrollbar_width): New function. + + * gtkutil.h: Declare xg_get_default_scrollbar_width. + + * xfns.c (x_set_scroll_bar_default_width): If USE_GTK, get + min width by calling x_set_scroll_bar_default_width (Bug#8505). + +2011-06-05 Juanma Barranquero + + * xdisp.c (single_display_spec_intangible_p): Remove declaration. + 2011-06-04 Chong Yidong * xselect.c (x_clipboard_manager_save): Remove redundant arg. (x_clipboard_manager_save): Add return value. - (x_clipboard_manager_error_1, x_clipboard_manager_error_2): New - error handlers. + (x_clipboard_manager_error_1, x_clipboard_manager_error_2): + New error handlers. (x_clipboard_manager_save_frame, x_clipboard_manager_save_all): Obey Vx_select_enable_clipboard_manager. Catch errors in x_clipboard_manager_save (Bug#8779). (Vx_select_enable_clipboard_manager): New variable. + (x_get_foreign_selection): Reduce scope of x_catch_errors (Bug#8790). 2011-06-04 Dan Nicolaescu @@ -30,8 +508,8 @@ (bidi_fetch_char, bidi_fetch_char_advance): New functions. (bidi_cache_search, bidi_cache_iterator_state) (bidi_paragraph_init, bidi_resolve_explicit, bidi_resolve_weak) - (bidi_level_of_next_char, bidi_move_to_visually_next): Support - character positions inside a run of characters covered by a + (bidi_level_of_next_char, bidi_move_to_visually_next): + Support character positions inside a run of characters covered by a display string. (bidi_paragraph_init, bidi_resolve_explicit_1) (bidi_level_of_next_char): Call bidi_fetch_char and @@ -42,8 +520,8 @@ definitions. (bidi_explicit_dir_char): Lookup character type in bidi_type_table, instead of using explicit *_CHAR codes. - (bidi_resolve_explicit, bidi_resolve_weak): Use - FETCH_MULTIBYTE_CHAR instead of FETCH_CHAR, as reordering of + (bidi_resolve_explicit, bidi_resolve_weak): + Use FETCH_MULTIBYTE_CHAR instead of FETCH_CHAR, as reordering of bidirectional text is supported only in multibyte buffers. (bidi_init_it): Accept additional argument FRAME_WINDOW_P and use it to initialize the frame_window_p member of struct bidi_it. @@ -61,8 +539,8 @@ (single_display_spec_intangible_p): Function deleted. (display_prop_intangible_p): Reimplement to call handle_display_spec instead of single_display_spec_intangible_p. - Accept 3 additional arguments needed by handle_display_spec. This - fixes incorrect cursor motion across display property with complex + Accept 3 additional arguments needed by handle_display_spec. + This fixes incorrect cursor motion across display property with complex values: lists, `(when COND...)' forms, etc. (single_display_spec_string_p): Support property values that are lists with the argument STRING its top-level element. @@ -79,8 +557,8 @@ the display property will replace the characters it covers. (Fcurrent_bidi_paragraph_direction): Initialize the nchars and frame_window_p members of struct bidi_it. - (compute_display_string_pos, compute_display_string_end): New - functions. + (compute_display_string_pos, compute_display_string_end): + New functions. (push_it): Accept second argument POSITION, where pop_it should jump to continue iteration. (reseat_1): Initialize bidi_it.disp_pos. @@ -91,8 +569,8 @@ * dispextern.h (struct bidi_it): New member frame_window_p. (bidi_init_it): Update prototypes. (display_prop_intangible_p): Update prototype. - (compute_display_string_pos, compute_display_string_end): Declare - prototypes. + (compute_display_string_pos, compute_display_string_end): + Declare prototypes. (struct bidi_it): New members nchars and disp_pos. ch_len is now EMACS_INT.