emacs-diffs
[Top][All Lists]
Advanced

[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.  */




reply via email to

[Prev in Thread] Current Thread [Next in Thread]