[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] Changes to emacs/src/window.c,v
From: |
Richard M. Stallman |
Subject: |
[Emacs-diffs] Changes to emacs/src/window.c,v |
Date: |
Tue, 13 Jun 2006 23:07:56 +0000 |
CVSROOT: /cvsroot/emacs
Module name: emacs
Changes by: Richard M. Stallman <rms> 06/06/13 23:07:56
Index: window.c
===================================================================
RCS file: /cvsroot/emacs/emacs/src/window.c,v
retrieving revision 1.548
retrieving revision 1.549
diff -u -b -r1.548 -r1.549
--- window.c 9 Jun 2006 09:04:34 -0000 1.548
+++ window.c 13 Jun 2006 23:07:56 -0000 1.549
@@ -4279,15 +4279,17 @@
{
Lisp_Object first_parallel = Qnil;
- p = XWINDOW (window);
- parent = p->parent;
-
- if (NILP (XWINDOW (window)->next))
+ if (NILP (window))
{
+ /* This can happen if WINDOW on the previous iteration was
+ at top level of the tree and we did not exit. */
Fset_window_configuration (old_config);
- error ("No other window following this one");
+ error ("Specified window edge is fixed");
}
+ p = XWINDOW (window);
+ parent = p->parent;
+
/* See if this level has windows in parallel in the specified
direction. If so, set FIRST_PARALLEL to the first one. */
if (horiz_flag)
@@ -4301,6 +4303,14 @@
first_parallel = XWINDOW (parent)->hchild;
}
+ /* If this level's succession is in the desired dimension,
+ and this window is the last one, its trailing edge is fixed. */
+ if (NILP (XWINDOW (window)->next) && NILP (first_parallel))
+ {
+ Fset_window_configuration (old_config);
+ error ("Specified window edge is fixed");
+ }
+
/* Don't make this window too small. */
if (XINT (CURSIZE (window)) + delta
< (horiz_flag ? window_min_width : window_min_height))
@@ -4324,7 +4334,7 @@
we will fail and report an error, above.) */
if (NILP (first_parallel))
{
- if (!NILP (XWINDOW (window)->next))
+ if (!NILP (p->next))
{
/* This may happen for the minibuffer. In that case
the window_deletion_count check below does not work. */