From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Stephen Berman Newsgroups: gmane.emacs.devel Subject: Mysterious frame widening Date: Tue, 05 Jul 2016 11:27:46 +0200 Message-ID: <87h9c41lkd.fsf@gmx.net> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Trace: ger.gmane.org 1467710903 30732 80.91.229.3 (5 Jul 2016 09:28:23 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Tue, 5 Jul 2016 09:28:23 +0000 (UTC) To: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Tue Jul 05 11:28:06 2016 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1bKMeD-0001oK-P1 for ged-emacs-devel@m.gmane.org; Tue, 05 Jul 2016 11:28:06 +0200 Original-Received: from localhost ([::1]:53495 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bKMeC-0004a2-VO for ged-emacs-devel@m.gmane.org; Tue, 05 Jul 2016 05:28:05 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:55045) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bKMe2-0004Xm-3n for emacs-devel@gnu.org; Tue, 05 Jul 2016 05:27:55 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bKMdy-000676-83 for emacs-devel@gnu.org; Tue, 05 Jul 2016 05:27:53 -0400 Original-Received: from mout.gmx.net ([212.227.17.20]:49313) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bKMdx-000671-TM for emacs-devel@gnu.org; Tue, 05 Jul 2016 05:27:50 -0400 Original-Received: from rosalinde ([89.245.65.12]) by mail.gmx.com (mrgmx103) with ESMTPSA (Nemesis) id 0M5csW-1bVPFE0K6K-00xeBJ for ; Tue, 05 Jul 2016 11:27:48 +0200 User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.1.50 (gnu/linux) X-Provags-ID: V03:K0:XQUI2kkfzD+/DaUavT7ZCpfySBqDcEuBWlquFlkFj2bIDTp5+M0 BzwR8EQMx7KESQawwVsTPeS0XxmL2MxtMVGqsOCTp852YEFwyx0U90eIGCIshigNRociKvM cbA2C0Pz9o2KXGyLnoCF+M/sVaOG1yNCSdiVEY/hGqt/jEGJnr2PEwRbT69DzawbVCobEip 2Dkaw+du8bZDQpC1L2ByQ== X-UI-Out-Filterresults: notjunk:1;V01:K0:AHULw+rRet8=:HgodQG6zTDFeCffzpoSpI4 IkiWjoYYZoOSkFLdeLkKR+fGXFmFKOcY7PoKEM50M6E55Fe+MMVfh+oh/wHYxQfP+yt7jtubT wXQESKdl8Uyw/wHUJLNb69iFSLA84KQU6cViL0FKBlNzLq9ezOLBYqk1yqjeByDo7QavL8s7m PwrUvpQqCWilzPLKPrzZ7Alx/5vXxj0vlZyhg6KYToc6QgPdR+FHclWB4lbU5CpIScfP34ljz cZl1kGTAfUgEOyR23de8UzB9Fq8XvHr98M69/q16COxEGYk3625klRr3JlqfyXye026/dtDTt RfVtDFBfW+fnfegkyoUICvZ5gGe2Y6Swg+AH/Mpu869bc8BVbFk9cjB5RKKHQORCQR+IcYG/j q5jRqYcHiRh2Zd2HOLK9lLx6Y4NE5pGaeVJHkLnUJCy22SB3H8G8dT9nNsZI6tnFZsb8E03AA D99i6VZPvwbXf0iYl30FtqQux+cgTDqwlOAmKBLoZCQEWubAg1Wy+PRMDC+d4ixaNu0yRgvX3 N00PuaKLcUwC2oOE+aO6m2ALPrQEhcVBFetBEEI5+eQXfrJDO8x0BMlKaUV/KGFhK4S0NMvb/ Vr4wDvj0dsyGXVpr0cJB+KxWcvPNZIp2J+SEGBp7m470Pj9l3DhGn/EKiLTy2CX03JJxHrPzH Hk72OjzUUXQN9oph+dDrBWtXjWhFRHkMAwCeiZTbFUSJ834CLbnqJIIPJ4jacvGcFE7suU45/ HdkYilevWbwd2K22yFA71hAl0GFD24KXGwfkqC2A/JxxVPjHIkfzYR0ILW0= X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 212.227.17.20 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.org gmane.emacs.devel:205170 Archived-At: --=-=-= Content-Type: text/plain I'm seeing the Emacs frame widen under peculiar but reliably reproducible conditions on my machine (running Gnu/Linux) with builds of Emacs from both the master and emacs-25 branches as well as with Emacs 24.5. The conditions involve a combination of particular default face settings (font family and size), loading the Hyperbole package and Gnus. Since I only noticed this issue after installing Hyperbole, I filed a bug against that package (#23880 on debbugs.gnu.org), but Hyperbole's author, Bob Weiner, was unable to reproduce the problem on his system (a Mac), so I'm hoping someone here can reproduce it and has some idea about how to debug it; I'm completely at a loss as to how to proceed. I can provide a step-by-step recipe, but it's easier to see the issue by evaluating the attached Lisp sexp. Before doing that it's necessary to install Hyperbole; the current version (5.14) can be installed from the Emacs package manager after adding this repository: (add-to-list 'package-archives '("RSW-Packages" . "http://www.plasmas.biz/rswe/") t) When Hyperbole is installed, start Emacs with -Q, copy the attached sexp into *scratch*, adjust the load-path addition for Hyperbole as appropriate, and evaluate the sexp. (I also tried putting the sexp in a file and loading that file by starting Emacs with -Q -l, but then the widening does not happen.) When I do this, the following lines appear in *Messages*: Emacs started; frame width: 80 Gnus started; frame width: 80 Entered Summary buffer; frame width: 80 Entered Article buffer; frame width: 86 Point moved to a button; frame width: 86 Back to Summary buffer; frame width: 88 Back to button in Article buffer; frame width: 97 The widening in the last step only happens when point is moved to buttonized text in the Gnus Article buffer (all the lines in the Gnus Summary buffer are also buttonized). If I subsequently make the frame width less than 88, then on making the Gnus Summary buffer current it widens to 88, and on making the Article buffer current (as long as point is on a button in that buffer) the frame widens to 97. (If the frame width is already wider than 88 or 97, respectively, then making those buffers current does not shrink the frame's width.) These results are with the font DejaVu Sans Mono, pixel size 12 (which I use for the default face in my Emacs). I tried this test with several other fonts, and I get the same pattern as the above with the fonts commented out in the sexp above the dashed line. With the fonts below the dashed line, the pattern is different. With Latin Modern Mono size 12 *Messages* contains these lines: Emacs started; frame width: 80 Gnus started; frame width: 80 Entered Summary buffer; frame width: 80 Entered Article buffer; frame width: 100 Point moved to a button; frame width: 100 Back to Summary buffer; frame width: 103 Back to button in Article buffer; frame width: 113 When I set the font to either of the listed DEC Terminal or Sony Fixed fonts (with size 12), the actually used fonts have pixel size 14 and 16, respectively, and the frame widens only at the last step (back to button in Article buffer), to 85. I also see this pattern with the fonts above the dashed line when the pixel size is 13 instead of 12; but with Latin Modern Mono size 13, the pattern is the first one above (i.e., the same as with size 12 for the fonts above the dashed line). When I set the font to Misc Fixed size 12, the actually used font has pixel size 15 and there is no frame widening. The same holds for the fonts above the dashed line with pixel size 15: no frame widening. I also tried the test loading only individual Hyperbole files instead of the entire package; in three cases (the commented out require lines in the sexp), this showed frame widening with yet another pattern: here too, the frame widens only at the last step (back to button in Article buffer), but to 86 (not 85 as above). Finally, when I conducted the test manually (which I only did with Deja Vu Sans Mono size 12 and requiring the entire Hyperbole package), i.e. stepwise invoking commands to set the font, require the packages, move between the Gnus buffers, and at each step invoke (frame-width), the pattern of frame widening was slightly different from the first one above: 80, 80, 80, 88, 88, 88, 97. I'd be grateful for any suggestions about how to debug this issue. Steve Berman --=-=-= Content-Type: text/x-emacs-lisp Content-Disposition: attachment; filename=bug23880.el (let ((testfile "~/bug23880")) (with-temp-file testfile (insert "From nobody Fri Jul 1 15:51:20 CEST 2016 To: stephen.berman@gmx.net Subject: test for bug#2388 From: Stephen Berman Date: Fri Jul 1 15:51:20 CEST 2016 Message-ID: <87twg9y16a.fsf@gmx.net> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.1.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Lines: 1 test ")) (set-default-font "-unknown-DejaVu Sans Mono-normal-normal-normal-*-12-*-*-*-m-0-iso10646-1") ;; "-ibm-Courier-normal-normal-normal-*-12-*-*-*-m-0-iso10646-1") ;; "-bitstream-Bera Sans Mono-normal-normal-normal-*-12-*-*-*-m-0-iso10646-1") ;; "-B&H-B&H LucidaTypewriter-normal-normal-normal-Sans-12-*-*-*-m-70-iso10646-1") ;; "-unknown-Droid Sans Mono-normal-normal-normal-*-12-*-*-*-m-0-iso10646-1") ;; "-unknown-Liberation Mono-normal-normal-normal-*-12-*-*-*-m-0-iso10646-1") ;; "-urw-Nimbus Mono L-normal-normal-normal-*-12-*-*-*-m-0-iso10646-1") ;; --------------------------------------------------------------------------- ;; "-unknown-Latin Modern Mono-normal-normal-normal-*-13-*-*-*-*-0-iso10646-1") ;; "-DEC-DEC Terminal-normal-normal-normal-*-12-*-*-*-c-80-iso10646-1") ;; "-Sony-Sony Fixed-normal-normal-normal-*-12-*-*-*-c-80-iso10646-1") ;; "-Misc-Misc Fixed-normal-normal-normal-*-12-*-*-*-c-90-iso10646-1") (add-to-list 'load-path "/home/steve/.emacs.d/elpa/hyperbole-5.14") (require 'hyperbole) ;; (require 'hui-select) ;; (require 'hycontrol) ;; (require 'wconfig) (message "Emacs started; frame width: %d" (frame-width)) (require 'gnus) (let ((gnus-select-method '(nnnil ""))) (message "Gnus started; frame width: %d" (frame-width)) (gnus-1) (gnus-group-make-doc-group testfile 'mbox) (gnus-group-select-group) (gnus-summary-scroll-up 1) (message "Entered Summary buffer; frame width: %d" (frame-width)) (gnus-summary-select-article-buffer) (sit-for 0) (message "Entered Article buffer; frame width: %d" (frame-width)) (widget-backward 1) (sit-for 0) (message "Point moved to a button; frame width: %d" (frame-width)) (gnus-article-show-summary) (sit-for 0) (message "Back to Summary buffer; frame width: %d" (frame-width)) (gnus-summary-select-article-buffer) (sit-for 0) (message "Back to button in Article buffer; frame width: %d" (frame-width))) ;; Suppress further messages and clean up in order to repeat the test by ;; simply restarting Emacs with -Q and evaluating this sexp. (let (message-log-max) (gnus-summary-exit-no-update t) (goto-char (point-min)) (gnus-group-kill-group) (let ((gnus-expert-user t)) (gnus-group-quit)) (delete-file testfile) (when (file-exists-p (gnus-dribble-file-name)) (delete-file (gnus-dribble-file-name)))) (switch-to-buffer "*Messages*")) --=-=-=--