GNU bug report logs - #18498
24.3.93; [PATCH] Fix fit-window-to-buffer's buffer width calculation

Previous Next

Package: emacs;

Reported by: Kan-Ru Chen (陳侃如) <kanru <at> kanru.info>

Date: Thu, 18 Sep 2014 09:51:01 UTC

Severity: normal

Tags: patch

Found in version 24.3.93

Done: martin rudalics <rudalics <at> gmx.at>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: martin rudalics <rudalics <at> gmx.at>
Cc: tracker <at> debbugs.gnu.org
Subject: bug#18498: closed (24.3.93; [PATCH] Fix fit-window-to-buffer's
 buffer width calculation)
Date: Thu, 18 Sep 2014 12:10:03 +0000
[Message part 1 (text/plain, inline)]
Your message dated Thu, 18 Sep 2014 14:08:59 +0200
with message-id <541ACB5B.3020306 <at> gmx.at>
and subject line Re: bug#18498: 24.3.93; [PATCH] Fix fit-window-to-buffer's buffer width calculation
has caused the debbugs.gnu.org bug report #18498,
regarding 24.3.93; [PATCH] Fix fit-window-to-buffer's buffer width calculation
to be marked as done.

(If you believe you have received this mail in error, please contact
help-debbugs <at> gnu.org.)


-- 
18498: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=18498
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Kan-Ru Chen (陳侃如) <kanru <at> kanru.info>
To: bug-gnu-emacs <at> gnu.org
Subject: 24.3.93; [PATCH] Fix fit-window-to-buffer's buffer width calculation
Date: Thu, 18 Sep 2014 17:46:55 +0800
[Message part 3 (text/plain, inline)]
To reproduce:

emacs -Q --eval '(progn (setq fit-window-to-buffer-horizontally t)
                        (set-frame-size nil 120 20)
                        (with-current-buffer-window "*scratch*" nil nil
                          (insert (make-string 20 ?x))
                          (insert (make-string 10 ?\n))
                          (insert (make-string 90 ?x))
                          (split-window-horizontally)
                          (fit-window-to-buffer)
                          (message "window width: %d" (window-width))))'

Expected result: window width: 90
Actual result: window width: 20

Patch:

[0001-Fix-fit-window-to-buffer-s-buffer-width-calculation.patch (text/x-diff, inline)]
From 3bcdeb847e579981229b065b8dbd01722a94fc18 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Kan-Ru=20Chen=20=28=E9=99=B3=E4=BE=83=E5=A6=82=29?=
 <kanru <at> kanru.info>
Date: Thu, 18 Sep 2014 17:36:54 +0800
Subject: Fix fit-window-to-buffer's buffer width calculation

 * window.el (fit-window-to-buffer): When counting buffer width,
 count the whole visible buffer.  Correctly convert the body-height
 to pixel size for window-text-pixel-size.

diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index c82b6f7..9096b92 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,8 +1,14 @@
+2014-09-18  Kan-Ru Chen  <kanru <at> kanru.info>
+
+	* window.el (fit-window-to-buffer): When counting buffer width,
+	count the whole visible buffer.  Correctly convert the body-height
+	to pixel size for window-text-pixel-size.
+
 2014-09-14  Glenn Morris  <rgm <at> gnu.org>
 
 	* image.el (image-multi-frame-p): Fix thinko - do not force
 	a delay if none was specified.  (Bug#18334)
 
 2014-09-12  Kan-Ru Chen  <kanru <at> kanru.info>
 
 	* window.el (fit-window-to-buffer): Doc fix.
diff --git a/lisp/window.el b/lisp/window.el
index 4dc30ff..c547725 100644
--- a/lisp/window.el
+++ b/lisp/window.el
@@ -7296,17 +7296,17 @@ accessible position."
 		 (width (+ (car (window-text-pixel-size
 				 nil (window-start) (point-max)
 				 (frame-pixel-width)
 				 ;; Add one char-height to assure that
 				 ;; we're on the safe side.  This
 				 ;; overshoots when the first line below
 				 ;; the bottom is wider than the window.
 				 (* body-height
-				    (if pixelwise char-height 1))))
+				    (if pixelwise 1 char-height))))
 			   (window-right-divider-width))))
 	    (unless pixelwise
 	      (setq width (/ (+ width char-width -1) char-width)))
 	    (unless (= width body-width)
 	      (window-resize-no-error
 	       window
 	       (- (max min-width
 		       (min max-width
-- 
1.9.1

[Message part 5 (message/rfc822, inline)]
From: martin rudalics <rudalics <at> gmx.at>
To: "Kan-Ru Chen (陳侃如)" <kanru <at> kanru.info>, 
 18498-done <at> debbugs.gnu.org
Subject: Re: bug#18498: 24.3.93; [PATCH] Fix fit-window-to-buffer's buffer
 width calculation
Date: Thu, 18 Sep 2014 14:08:59 +0200
> Patch:

Committed in revision 117506 of the emacs-24 branch.  Bug closed.

Thank you very much, martin



This bug report was last modified 10 years and 251 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.