]> git.eshelyaron.com Git - emacs.git/commitdiff
(fit-window-to-buffer): Return non-nil when height
authorMartin Rudalics <rudalics@gmx.at>
Fri, 12 Dec 2008 09:32:02 +0000 (09:32 +0000)
committerMartin Rudalics <rudalics@gmx.at>
Fri, 12 Dec 2008 09:32:02 +0000 (09:32 +0000)
was orderly adjusted, nil otherwise.

lisp/ChangeLog
lisp/window.el

index 13cf27a91b036db6f9d4747291d1ec3618dfe5da..2a2f62c3c63d797cef46a1d9240c6d2f206258b2 100644 (file)
@@ -1,3 +1,8 @@
+2008-12-12  Martin Rudalics  <rudalics@gmx.at>
+
+       * window.el (fit-window-to-buffer): Return non-nil when height
+       was orderly adjusted, nil otherwise.
+
 2008-12-12  Juanma Barranquero  <lekktu@gmail.com>
            Stefan Monnier  <monnier@iro.umontreal.ca>
 
index 6b1cc9a2d4e1a0088d3085ecf7d0cce68a4c3385..ed97c61f43473c05fb43a2a294da98d2693b4287 100644 (file)
@@ -1294,7 +1294,7 @@ in some window."
 
 (defun fit-window-to-buffer (&optional window max-height min-height)
   "Adjust height of WINDOW to display its buffer's contents exactly.
-WINDOW defaults to the selected window.  Return nil.
+WINDOW defaults to the selected window.
 Optional argument MAX-HEIGHT specifies the maximum height of the
 window and defaults to the maximum permissible height of a window
 on WINDOW's frame.
@@ -1303,12 +1303,15 @@ window and defaults to `window-min-height'.
 Both, MAX-HEIGHT and MIN-HEIGHT are specified in lines and
 include the mode line and header line, if any.
 
+Return non-nil if height was orderly adjusted, nil otherwise.
+
 Caution: This function can delete WINDOW and/or other windows
 when their height shrinks to less than MIN-HEIGHT."
   (interactive)
   ;; Do all the work in WINDOW and its buffer and restore the selected
   ;; window and the current buffer when we're done.
-  (let ((old-buffer (current-buffer)))
+  (let ((old-buffer (current-buffer))
+       value)
     (with-selected-window (or window (setq window (selected-window)))
       (set-buffer (window-buffer))
       ;; Use `condition-case' to handle any fixed-size windows and other
@@ -1384,10 +1387,13 @@ when their height shrinks to less than MIN-HEIGHT."
                            (= desired-height (window-height))
                            (not (pos-visible-in-window-p end)))
                  (enlarge-window 1)
-                 (setq desired-height (1+ desired-height))))))
+                 (setq desired-height (1+ desired-height))))
+             ;; Return non-nil only if nothing "bad" happened.
+             (setq value t)))
        (error nil)))
     (when (buffer-live-p old-buffer)
-      (set-buffer old-buffer))))
+      (set-buffer old-buffer))
+    value))
 
 (defun window-safely-shrinkable-p (&optional window)
   "Return t if WINDOW can be shrunk without shrinking other windows.