Subject: 23.1.91; Geometry quirk on OpenSuSE 11.2
From: Steve Revilak <[email-masked]>
To: [email-masked]
Date: Sun, 3 Jan 2010 20:25:59 -0500
List-Id: <debbugs-submit.debbugs.gnu.org>

This bug report will be sent to the Free Software Foundation,
not to your local site managers!
Please write in English if possible, because the Emacs maintainers
usually do not have translators to read other languages for them.

Your bug report will be posted to the [email-masked] mailing list,
and to the gnu.emacs.bug news group.

Please describe exactly what actions triggered the bug
and the precise symptoms of the bug.  If you can, give
a recipe starting from `emacs -Q':

                                 * * *

I've been trying Emacs 23.1.91 on an OpenSUSE 11.2 system.

    Linux srevilak 2.6.31.5-0.1-desktop #1 SMP PREEMPT 2009-10-26 15:49:03 +0100 i686 i686 i386 GNU/Linux

In general, this prerelease seems to work very well.  However, I have
had difficulty getting Emacs 23.1.91 to respect geometry settings.  I
will frame this bug report as a series of (expected, observed) pairs.
In this context, "expected" refers to the the behavior of

  # this is the emacs that comes with OpenSUSE 11.2
  GNU Emacs 23.1.1 (i586-suse-linux-gnu, GTK+ Version 2.18.1) of 2009-12-02 on build15

and "observed" refers to the behavior of Emacs 23.1.91.

I will also try to be mindful of the recent change in -Q's behavior.

CASE 1: Geometry from ~/.Xresources
-----------------------------------

I have the (only) following line in ~/.Xresources

   emacs.geometry: 86x46-2+0

Expected: emacs starts with dimensions 86x46, two pixels from the
right edge of the screen, and zero pixels from the top edge of the
screen.

Observed: Emacs starts with dimensions 86x25 (not 86x46).  The initial
frame is two pixels from the right edge of the screen, but 225 pixels
from the top edge of the screen (not 0 pixels from the top edge of the
screen).

CASE 2: Geometry from Command Line
----------------------------------

I've started emacs as 

   emacs --no-init-file --no-site-file --geometry 86x46+0+0

Expected: Emacs starts with an 86x46 frame, with the upper left corner
of the frame in the upper left corner of the screen.

Observed: Emacs starts with an 86x28 frame.  The frame is positioned
against the right edge of the screen, but 225 pixels from the top of
the screen.

CASE 3: Geometry from Command Line (only width and height specified)
--------------------------------------------------------------------

Start emacs as

   emacs --no-init-file --no-site-file --geometry 86x46

Expected: Emacs starts with an 86x46 frame, with the frame positioned
at coordinates -2+0.  (Here the -2+0 was inherited from .Xresources).

Actual: Emacs starts with an 86x28 frame, with the frame positioned at
-2+225 (225 pixels from the top of the screen)

CASE 4: Geometry from the Command Line (but smaller frame size)
--------------------------------------------------------------

Start emacs as

   emacs --no-init-file --no-site-file --geometry 60x30+0+0

Expected: Emacs starts with a 60x30 frame, positioned in the upper
left corner of the screen.

Actual: Same as expected.  

This is interesting.  Given a smaller frame size, emacs 23.1.91
exhibited the same behavior as emacs 23.1.1.

Further pursuit of CASE 4:
-------------------------

I continued to experiment with different geometry sizes.  At a height
of 44, emacs with the default font fills the vertical space of the
screen.  At height > 44, emacs _appears_ to say "this frame is too
tall for the screen, so I'm going to use a different height".

If height 44 fills the vertical space of the screen, then why do I have
86x46 in ~/.Xresources?  My .emacs uses (set-frame-font) to change
fonts.  The font I'm using is a little smaller than the default font,
whereby height 46 fits nicely on the screen, with a little room to
spare at the bottom.

If it matters, here is my (set-frame-font) call

   (set-frame-font "-efont-fixed-medium-r-normal--16-160-75-75-c-80-iso10646-1")

Other observations:
------------------

Moving the font setting from ~/.emacs to ~/.Xresources did not work.

Changing emacs.geometry to 86x44 (from 86x46) worked.  The frame is
two lines of text shorter but this seems okay for now.

I guess one could summarize this as follows: the maximum height of
emacs' frame is limited by the number of rows that will fit, using the
default font.  If you're using a smaller font, then you can't fully
utilize the height of the screen.

                                 * * *

If Emacs crashed, and you have the Emacs process in the gdb debugger,
please include the output from the following gdb commands:
     `bt full' and `xbacktrace'.
For information about debugging Emacs, please read the file
/usr/local/emacs-23.1.91/share/emacs/23.1.91/etc/DEBUG.

In GNU Emacs 23.1.91.1 (i686-pc-linux-gnu, GTK+ Version 2.18.1)
  of 2009-12-31 on srevilak
Windowing system distributor `The X.Org Foundation', version 11.0.10605000
configured using `configure  '--prefix=/usr/local/emacs-23.1.91''

Important settings:
   value of $LC_ALL: nil
   value of $LC_COLLATE: C
   value of $LC_CTYPE: nil
   value of $LC_MESSAGES: nil
   value of $LC_MONETARY: nil
   value of $LC_NUMERIC: nil
   value of $LC_TIME: nil
   value of $LANG: en_US.UTF-8
   value of $XMODIFIERS: @im=local
   locale-coding-system: utf-8-unix
   default enable-multibyte-characters: t

Major mode: Lisp Interaction

Minor modes in effect:
   display-time-mode: t
   tooltip-mode: t
   mouse-wheel-mode: t
   menu-bar-mode: t
   file-name-shadow-mode: t
   global-font-lock-mode: t
   font-lock-mode: t
   blink-cursor-mode: t
   global-auto-composition-mode: t
   auto-composition-mode: t
   auto-encryption-mode: t
   auto-compression-mode: t
   column-number-mode: t
   line-number-mode: t
   transient-mark-mode: t

Recent input:
<help-echo> <help-echo> <help-echo> C-x o M-x r e p 
o t <backspace> r t - <down-mouse-1> e <mouse-1> m 
<tab> <backspace> C-x o C-x o e m <tab> <return>

Recent messages:
Loading /home/srevilak/.emacs-custom.el (source)...
Loading delsel...done
Loading /home/srevilak/.emacs-custom.el (source)...done
Loading /home/srevilak/.elisp/sr-window-setup.el (source)...done
OVERVIEW
For information about GNU Emacs and the GNU system, type C-h C-a.

Load-path shadows:
~/.elisp/ruby-mode hides /usr/local/emacs-23.1.91/share/emacs/23.1.91/lisp/progmodes/ruby-mode

Features:
(shadow sort mail-extr message sendmail ecomplete rfc822 mml mml-sec
password-cache mm-decode mm-bodies mm-encode mailcap mail-parse rfc2231
rfc2047 rfc2045 qp ietf-drums mailabbrev nnheader gnus-util netrc
mm-util mail-prsvr gmm-utils wid-edit mailheader canlock sha1 hex-util
hashcash mail-utils emacsbug diary-lib diary-loaddefs cal-iso org-wl
org-w3m org-vm org-rmail org-mhe org-mew org-irc org-jsinfo org-infojs
org-html org-exp org-exp-blocks org-info org-gnus org-bibtex org-bbdb
regexp-opt cal-menu calendar cal-loaddefs org-agenda org byte-opt
bytecomp byte-compile advice help-fns advice-preload org-footnote
org-src org-list org-faces org-compat org-macs easymenu time-date
noutline outline easy-mmode server delsel cus-start cus-load paren time
tooltip ediff-hook vc-hooks lisp-float-type mwheel x-win x-dnd
font-setting tool-bar dnd fontset image fringe lisp-mode register page
menu-bar rfn-eshadow timer select scroll-bar mldrag mouse jit-lock
font-lock syntax facemenu font-core frame cham georgian utf-8-lang
misc-lang vietnamese tibetan thai tai-viet lao korean japanese hebrew
greek romanian slovak czech european ethiopic indian cyrillic chinese
case-table epa-hook jka-cmpr-hook help simple abbrev loaddefs button
minibuffer faces cus-face files text-properties overlay md5 base64
format env code-pages mule custom widget hashtable-print-readable
backquote make-network-process dbusbind system-font-setting
font-render-setting gtk x-toolkit x multi-tty emacs)