(set_window_buffer): Use it.
(syms_of_window): Init and export it to Lisp.
* progmodes/compile.el (compilation-mode):
Set window-point-insertion-type.
(compilation-filter): Don't use insert-before-markers any more.
* emacs-lisp/trace.el (trace-make-advice):
Set window-point-insertion-type in the trace buffer.
* startup.el (normal-top-level): Set window-point-insertion-type in
*Messages*.
* net/telnet.el (telnet-mode): Set window-point-insertion-type.
(telnet-filter): Don't use insert-before-markers any more.
* comint.el (comint-mode): Set window-point-insertion-type.
(comint-output-filter): Don't use insert-before-markers any more.
* button.el (make-text-button): Allow `start' to be a string.
(window_scroll_preserve_hpos, window_scroll_preserve_vpos): New vars.
(window_scroll_pixel_based, window_scroll_line_based):
Use them to preserve column positions.
(syms_of_window): Initialize them.
* indent.c (Fvertical_motion): Extend first arg to allow passing an
(HPOS . VPOS) pair.
* xdisp.c (move_it_in_display_line_to): Improve the type of its args.
(move_it_in_display_line): New wrapper.
* dispextern.h (move_it_in_display_line): Declare.
(enlarge_window): Temporarily set resize_proportionally to make
sure that shrink_windows does scale the window proportionally.
(shrink_windows): When window has resize_proportionally set try
to shrink it proportionally by stealing from other windows.
(struct saved_window, Fset_window_configuration)
(compare_window_configurations): Handle resize_proportionally.
(WINDOW_TOTAL_SIZE): New macro.
(window_min_size, shrink_windows, size_window): Use it.
(check_min_window_sizes): Removed. Invalid values of
window-min-height|width are handled by window_min_size_2 now.
(size_window, Fsplit_window, enlarge_window)
(adjust_window_trailing_edge, grow_mini_window): Don't call
check_min_window_sizes.
(window_min_size_2, window_min_size_1, window_min_size): New
argument safe_p for retrieving "safe" minimum sizes.
(Fdisplay_buffer, Fsplit_window, enlarge_window):
(adjust_window_trailing_edge, grow_mini_window): Adjust
arguments of window_min_size... functions.
(shrink_windows): Argument min_size removed. New argument
safe_p allows shrinking windows to their safe minimum sizes.
Calculate minimum size and decide whether a window shall be
deleted for each window individually.
(size_window): When nodelete_p equals 2, tell shrink_windows to
delete windows only if their new minimum size is no more safe.
(shrink_window_lowest_first): Call window_min_size_1 to make
sure to preserve modeline of bottom-most window when resizing
the minibuffer.
(Fset_window_configuration, Fcurrent_window_configuration)
(compare_window_configurations): Do not handle
window-min-height|width any more.
(syms_of_window): Clarify window-min-height|width doc-strings.
Vsplit_window_preferred_function out of conditions that check
if window is eligible for vertical splitting.
When Vsplit_window_preferred_function is non-nil, call it and use
its non-nil return value as window. Otherwise, continue doing
vertical splitting using Fsplit_window with arg horflag=nil.
(syms_of_window) <Vsplit_window_preferred_function>: Change the
default value from `split-window' to nil.
Handle a nil arg. Use run_window_configuration_change_hook.
(delete_window, adjust_window_trailing_edge): Don't handle nil any more.
(Fenlarge_window, Fshrink_window, Fset_window_configuration):
Use run_window_configuration_change_hook.
Code extracted from set_window_buffer. Set the selected frame.
(set_window_buffer): Use it.
* window.h (run_window_configuration_change_hook): Declare.
* dispnew.c (change_frame_size_1): Use it instead of set-window-buffer.
and make it `int' rather than Lisp_Object.
(Fcurrent_window_configuration): Use ALLOCATE_PSEUDOVECTOR.
Done wrap/unwrap integer values.
(Fset_window_configuration, compare_window_configurations):
Update use of fields to their new types.
* window.c (window_fixed_size_p, enlarge_window, shrink_window_lowest_first):
* macterm.c (init_font_name_table):
* macfns.c (Fx_create_frame, Fx_display_list):
* lread.c (close_load_descs):
* keyboard.c (read_char_x_menu_prompt):
* fns.c (Fmember, Fmemql, Fdelete, Fset_char_table_parent):
* coding.c (code_convert_region_unwind): Test the type of an object
rather than just !NILP before extracting data from it.
by the user as somewhere between visible and iconified.
(window_loop): Prefer windows on the current frame.
(Fselect_window): Move the use of select-frame to the beginning so we
can just delegate all the work (it'll call us back anyway).
(window_min_size_1, size_window, Fdisplay_buffer)
(Fsplit_window, adjust_window_trailing_edge): Use it to avoid
windows without mode- or header-lines when window-min-height is
too small.
(size_window): Reset nodelete_p after testing it, following an
earlier note by Kim F. Storm.
(display_buffer): Do not set split_height_threshold to twice the
value of window_min_height to avoid changing the value of a
customizable variable. Rather explicitly check whether the
height of the window that shall be splitted is at least as large
as split_height_threshold.
(Fwindow_full_width_p): New defun.
(syms_of_window): Defsubr it.
(Fdisplay_buffer): Use NILP.
(Fset_window_scroll_bars): Likewise.
Patches applied:
* emacs--devo--0 (patch 824-838)
- Update from CVS
- Merge from emacs--rel--22
- Remove lisp/erc/erc-nicklist.el
- Update some .arch-inventory files
- Fix void function definition error in cus-edit.el
- Restore lisp/emacs-lisp/cl-loaddefs.el
* emacs--rel--22 (patch 70-83)
- Update from CVS
- Remove lisp/erc/erc-nicklist.el
- Update some .arch-inventory files
- Indicate that emacs--devo--0--patch-834 does not need to be applied
- Merge from gnus--rel--5.10
- Restore lisp/emacs-lisp/cl-loaddefs.el
* gnus--rel--5.10 (patch 239-241)
- Merge from emacs--devo--0
- Update from CVS
Revision: emacs@sv.gnu.org/emacs--multi-tty--0--patch-28