]> git.eshelyaron.com Git - emacs.git/commitdiff
Don't handle splits status.
authorMartin Rudalics <rudalics@gmx.at>
Sat, 12 Nov 2011 09:55:50 +0000 (10:55 +0100)
committerMartin Rudalics <rudalics@gmx.at>
Sat, 12 Nov 2011 09:55:50 +0000 (10:55 +0100)
* window.h (window): Remove splits slot.
* window.c (Fwindow_splits, Fset_window_splits): Remove.
(Fdelete_other_windows_internal, make_parent_window)
(make_window, Fsplit_window_internal, Fdelete_window_internal)
(Fset_window_configuration, save_window_save): Don't deal with
split status of windows.
(saved_window): Remove splits slot.
(Vwindow_splits): Rewrite doc-string.
* window.el (window-resize, delete-window): Use window-splits
variable instead of function.
(window-state-get-1, window-state-put-2, window-state-put):
Don't deal with windows' splits status.
* windows.texi (Splitting Windows, Deleting Windows): Remove
references to splits status of windows.

doc/lispref/ChangeLog
doc/lispref/windows.texi
lisp/ChangeLog
lisp/window.el
src/ChangeLog
src/window.c
src/window.h

index 2abed9f870c4b4c9aff67dd5d27dcad88c7f834b..a8e1439d242a77e6a724195bb1d6ab6098e3bdd5 100644 (file)
@@ -1,3 +1,8 @@
+2011-11-12  Martin Rudalics  <rudalics@gmx.at>
+
+       * windows.texi (Splitting Windows, Deleting Windows): Remove
+       references to splits status of windows.
+
 2011-11-10  Glenn Morris  <rgm@gnu.org>
 
        * buffers.texi (Read Only Buffers): Expand a bit on why
index cf5cfedf5aff1feacba2beae73a1fdaf259e9dd6..b6bacc2768445c2b7eea1ee9fbc98cbf27693503 100644 (file)
@@ -855,42 +855,13 @@ resize all windows that are part of the same combination as
 this may allow @code{split-window} to succeed even if @var{window} is
 a fixed-size window or too small to ordinarily split.
 
-In any case, the value of this variable is assigned to the splits status
-of the new window and, provided old and new window form a new
-combination, of the old window as well.  The splits status of a window
-can be retrieved by invoking the function @code{window-splits} and
-altered by the function @code{set-window-splits} described next.
-
-If @code{window-nest} (see below) is non-@code{nil}, the space for the
-new window is exclusively taken from the old window, but the splits
-status of the involved windows is nevertheless set as described here.
-@end defopt
-
-@defun window-splits &optional window
-This function returns the splits status of @var{window}.  The argument
-@var{window} can be any window and defaults to the selected one.
-
-@cindex splits status
-The @dfn{splits status} of a window specifies how resizing and deleting
-that window may affect the size of other windows in the same window
-combination.  More precisely, if @var{window}'s splits status is
-@code{nil} and @var{window} is resized, the corresponding space is
-preferably taken from (or given to) @var{window}'s right sibling.  When
-@var{window} is deleted, its space is given to its left sibling.  If
-@var{window}'s splits status is non-@code{nil}, resizing and deleting
-@var{window} may resize @emph{all} windows in @var{window}'s
-combination.
-
-The splits status is initially set by @code{split-window}
-from the current value of the variable @code{window-splits} (see above)
-and can be reset by the function @code{set-window-splits} (see below).
-@end defun
+Also if this variable is non-@code{nil}, subsequent resizing and
+deleting @var{window} will usually affect @emph{all} windows in
+@var{window}'s combination.
 
-@defun set-window-splits window &optional status
-This function sets the splits status (see above) of @var{window} to
-@var{status}.  The argument @var{window} can be any window and defaults
-to the selected one.  The return value is @var{status}.
-@end defun
+The setting of this variable has no effect if @code{window-nest} (see
+below) is non-@code{nil}.
+@end defopt
 
 To illustrate the use of @code{window-splits} consider the following
 window configuration:
@@ -1208,12 +1179,11 @@ window parameters.  If the @code{delete-window} parameter specifies a
 function, that function is called with @var{window} as its sole
 argument.
 
-If the splits status of @var{window} (@pxref{Splitting Windows}) is
-@code{nil}, the space @var{window} took up is given to its left sibling
-if such a window exists and to its right sibling otherwise.  If the
-splits status of @var{window} is non-@code{nil}, its space is
-proportionally distributed among the remaining windows in the same
-combination.
+If @code{window-splits} (@pxref{Splitting Windows}) is @code{nil}, the
+space @var{window} took up is given to its left sibling if such a window
+exists and to its right sibling otherwise.  If @code{window-splits} is
+non-@code{nil}, the space of @var{window} is proportionally distributed
+among the remaining windows in the same combination.
 @end deffn
 
 @deffn Command delete-other-windows &optional window
index 0b0e433c7cbef3adf813a95a0221403afb6bb761..8f28e0334190ba22d8c79a0aa5abf9f013b4c8cc 100644 (file)
@@ -1,3 +1,10 @@
+2011-11-12  Martin Rudalics  <rudalics@gmx.at>
+
+       * window.el (window-resize, delete-window): Use window-splits
+       variable instead of function.
+       (window-state-get-1, window-state-put-2, window-state-put):
+       Don't deal with windows' splits status.
+
 2011-11-12  Glenn Morris  <rgm@gnu.org>
 
        * apropos.el (apropos-do-all, apropos-library, apropos-value)
index 41b397730d1377d26d6958e16c85ab29f4c9c113..7b16d6b886f4d5c9d5c53dde3ce7a0ab7938b2dd 100644 (file)
@@ -1482,12 +1482,12 @@ instead."
      ((window--resizable-p window delta horizontal ignore)
       (window--resize-reset frame horizontal)
       (window--resize-this-window window delta horizontal ignore t)
-      (if (and (not (window-splits window))
+      (if (and (not window-splits)
               (window-combined-p window horizontal)
               (setq sibling (or (window-right window) (window-left window)))
               (window-sizable-p sibling (- delta) horizontal ignore))
-         ;; If window-splits returns nil for WINDOW, WINDOW is part of
-         ;; an iso-combination, and WINDOW's neighboring right or left
+         ;; If window-splits is nil, WINDOW is part of an
+         ;; iso-combination, and WINDOW's neighboring right or left
          ;; sibling can be resized as requested, resize that sibling.
          (let ((normal-delta
                 (/ (float delta)
@@ -2389,8 +2389,7 @@ non-side window, signal an error."
             (sibling (or (window-left window) (window-right window))))
        (window--resize-reset frame horizontal)
        (cond
-        ((and (not (window-splits window))
-              sibling (window-sizable-p sibling size))
+        ((and (not window-splits) sibling (window-sizable-p sibling size))
          ;; Resize WINDOW's sibling.
          (window--resize-this-window sibling size horizontal nil t)
          (set-window-new-normal
@@ -3585,7 +3584,6 @@ specific buffers."
             (total-width . ,(window-total-size window t))
             (normal-height . ,(window-normal-size window))
             (normal-width . ,(window-normal-size window t))
-            (splits . ,(window-splits window))
             (nest . ,(window-nest window))
             ,@(let (list)
                 (dolist (parameter (window-parameters window))
@@ -3740,7 +3738,6 @@ value can be also stored on disk and read back in a new session."
          (nest (cdr (assq 'nest item)))
          (parameters (cdr (assq 'parameters item)))
          (state (cdr (assq 'buffer item))))
-      (when splits (set-window-splits window splits))
       (when nest (set-window-nest window nest))
       ;; Process parameters.
       (when parameters
@@ -3828,7 +3825,7 @@ windows can get as small as `window-safe-min-height' and
                  (cdr (assq 'total-width state)))))
         (min-height (cdr (assq 'min-height head)))
         (min-width (cdr (assq 'min-width head)))
-        window-splits selected)
+        selected)
     (if (and (not totals)
             (or (> min-height (window-total-size window))
                 (> min-width (window-total-size window t)))
index 049c2399caa5806232f7d8c51c5b3f9861be9bba..12c09935328cf3f84636b260c0a55cad41531679 100644 (file)
@@ -1,3 +1,14 @@
+2011-11-12  Martin Rudalics  <rudalics@gmx.at>
+
+       * window.h (window): Remove splits slot.
+       * window.c (Fwindow_splits, Fset_window_splits): Remove.
+       (Fdelete_other_windows_internal, make_parent_window)
+       (make_window, Fsplit_window_internal, Fdelete_window_internal)
+       (Fset_window_configuration, save_window_save): Don't deal with
+       split status of windows.
+       (saved_window): Remove splits slot.
+       (Vwindow_splits): Rewrite doc-string.
+
 2011-11-11  Jan Djärv  <jan.h.d@swipnet.se>
 
        * xfns.c (unwind_create_frame):
index 83a8974e88da87c1695de362df8656824fdfaf71..0a780a0170a54896ae07c24554b8de9063a70956 100644 (file)
@@ -465,41 +465,6 @@ Return nil if WINDOW has no previous sibling.  */)
   return decode_any_window (window)->prev;
 }
 
-DEFUN ("window-splits", Fwindow_splits, Swindow_splits, 0, 1, 0,
-       doc: /* Return splits status for the window WINDOW.
-If WINDOW is omitted or nil, it defaults to the selected window.
-
-If the value returned by this function is nil and WINDOW is resized, the
-corresponding space is preferably taken from (or given to) WINDOW's
-right sibling.  When WINDOW is deleted, its space is given to its left
-sibling.
-
-If the value returned by this function is non-nil, resizing and deleting
-WINDOW may resize all windows in the same combination.  */)
-  (Lisp_Object window)
-{
-  return decode_any_window (window)->splits;
-}
-
-DEFUN ("set-window-splits", Fset_window_splits, Sset_window_splits, 2, 2, 0,
-       doc: /* Set splits status of window WINDOW to STATUS.
-If WINDOW is omitted or nil, it defaults to the selected window.
-
-If STATUS is nil and WINDOW is later resized, the corresponding space is
-preferably taken from (or given to) WINDOW's right sibling.  When WINDOW
-is deleted, its space is given to its left sibling.
-
-If STATUS is non-nil, resizing and deleting WINDOW may resize all
-windows in the same combination.  */)
-  (Lisp_Object window, Lisp_Object status)
-{
-  register struct window *w = decode_any_window (window);
-
-  w->splits = status;
-
-  return w->splits;
-}
-
 DEFUN ("window-nest", Fwindow_nest, Swindow_nest, 0, 1, 0,
        doc: /* Return nest status of window WINDOW.
 If WINDOW is omitted or nil, it defaults to the selected window.
@@ -2769,9 +2734,6 @@ window-start value is reasonable when this function is called.  */)
 
   replace_window (root, window, 1);
 
-  /* Reset WINDOW's splits status.  */
-  w->splits = Qnil;
-
   /* This must become SWINDOW anyway ....... */
   if (!NILP (w->buffer) && !resize_failed)
     {
@@ -3286,7 +3248,6 @@ make_parent_window (Lisp_Object window, int horflag)
   p->start = Qnil;
   p->pointm = Qnil;
   p->buffer = Qnil;
-  p->splits = Qnil;
   p->nest = Qnil;
   p->window_parameters = Qnil;
 }
@@ -3334,7 +3295,7 @@ make_window (void)
   w->start_at_line_beg = w->display_table = w->dedicated = Qnil;
   w->base_line_number = w->base_line_pos = w->region_showing = Qnil;
   w->column_number_displayed = w->redisplay_end_trigger = Qnil;
-  w->splits = w->nest = w->window_parameters = Qnil;
+  w->nest = w->window_parameters = Qnil;
   w->prev_buffers = w->next_buffers = Qnil;
   /* Initialize non-Lisp data.  */
   w->desired_matrix = w->current_matrix = 0;
@@ -3776,10 +3737,6 @@ set correctly.  See the code of `split-window' for how this is done.  */)
       p = XWINDOW (o->parent);
       /* Store value of `window-nest' in new parent's nest slot.  */
       p->nest = Vwindow_nest;
-      /* Have PARENT inherit splits slot value from OLD.  */
-      p->splits = o->splits;
-      /* Store value of `window-splits' in OLD's splits slot.  */
-      o->splits = Vwindow_splits;
       /* These get applied below.  */
       p->new_total = horflag ? o->total_cols : o->total_lines;
       p->new_normal = new_normal;
@@ -3830,9 +3787,6 @@ set correctly.  See the code of `split-window' for how this is done.  */)
   n->scroll_bar_width = r->scroll_bar_width;
   n->vertical_scroll_bar_type = r->vertical_scroll_bar_type;
 
-  /* Store `window-splits' in NEW's splits slot.  */
-  n->splits = Vwindow_splits;
-
   /* Directly assign orthogonal coordinates and sizes.  */
   if (horflag)
     {
@@ -3972,7 +3926,6 @@ Signal an error when WINDOW is the only window on its frame.  */)
             PARENT (the nest slot is not inherited).  */
          s->normal_cols = p->normal_cols;
          s->normal_lines = p->normal_lines;
-         s->splits = p->splits;
          /* Mark PARENT as deleted.  */
          p->vchild = p->hchild = Qnil;
          /* Try to merge SIBLING into its new parent.  */
@@ -5359,7 +5312,7 @@ struct saved_window
   Lisp_Object left_margin_cols, right_margin_cols;
   Lisp_Object left_fringe_width, right_fringe_width, fringes_outside_margins;
   Lisp_Object scroll_bar_width, vertical_scroll_bar_type, dedicated;
-  Lisp_Object splits, nest, window_parameters;
+  Lisp_Object nest, window_parameters;
 };
 
 #define SAVED_WINDOW_N(swv,n) \
@@ -5590,7 +5543,6 @@ the return value is nil.  Otherwise the value is t.  */)
          w->scroll_bar_width = p->scroll_bar_width;
          w->vertical_scroll_bar_type = p->vertical_scroll_bar_type;
          w->dedicated = p->dedicated;
-         w->splits = p->splits;
          w->nest = p->nest;
          w->window_parameters = p->window_parameters;
          XSETFASTINT (w->last_modified, 0);
@@ -5869,7 +5821,6 @@ save_window_save (Lisp_Object window, struct Lisp_Vector *vector, int i)
       p->scroll_bar_width = w->scroll_bar_width;
       p->vertical_scroll_bar_type = w->vertical_scroll_bar_type;
       p->dedicated = w->dedicated;
-      p->splits = w->splits;
       p->nest = w->nest;
       p->window_parameters = w->window_parameters;
       if (!NILP (w->buffer))
@@ -6333,7 +6284,7 @@ freeze_window_starts (struct frame *f, int freeze_p)
    and the like.
 
    This ignores a couple of things like the dedicatedness status of
-   window, splits, nest and the like.  This might have to be fixed.  */
+   window, nest and the like.  This might have to be fixed.  */
 
 int
 compare_window_configurations (Lisp_Object configuration1, Lisp_Object configuration2, int ignore_positions)
@@ -6545,16 +6496,7 @@ variable is non-nil, splitting a window may resize all windows in the
 same combination.  This also allows to split a window that is otherwise
 too small or of fixed size.
 
-The value of this variable is also assigned to the split status of the
-new window and, provided the old and new window form a new combination,
-to the window that was split as well.  The split status of a window can
-be retrieved with the function `window-splits' and altered by the
-function `set-window-splits'.
-
-If the value of the variable `window-nest' is non-nil, the space for the
-new window is exclusively taken from the window that shall be split, but
-the split status of the window that is split as well as that of the new
-window are still set to the value of this variable.  */);
+This variable takes no effect if `window-nest' is non-nil.  */);
   Vwindow_splits = Qnil;
 
   DEFVAR_LISP ("window-nest", Vwindow_nest,
@@ -6591,8 +6533,6 @@ function `window-nest' and altered by the function `set-window-nest'.  */);
   defsubr (&Swindow_left_child);
   defsubr (&Swindow_next_sibling);
   defsubr (&Swindow_prev_sibling);
-  defsubr (&Swindow_splits);
-  defsubr (&Sset_window_splits);
   defsubr (&Swindow_nest);
   defsubr (&Sset_window_nest);
   defsubr (&Swindow_use_time);
index 6a9641e3e6d6c2b4bf0d7ba8a45ffc177c002467..c11235bd67b6e37a1340f0e89e44ef1bc453f55a 100644 (file)
@@ -258,10 +258,6 @@ struct window
        must run the redisplay-end-trigger-hook.  */
     Lisp_Object redisplay_end_trigger;
 
-    /* Non-nil means deleting or resizing this window distributes
-       space among all windows in the same combination.  */
-    Lisp_Object splits;
-
     /* Non-nil means this window's child windows are never
        (re-)combined.  */
     Lisp_Object nest;