Subject: bug#5848: 23.1.95; bands of background after font change if --with-x-toolkit=no

From: Ted Phelps <[email-masked]>
Date: Wed, 07 Apr 2010 00:25:35 +1000

After changing the default font via the options menu, my Emacs frame
exhibits bands of the background colour along the bottom and right
edges.  In my case these are 5 pixels wide.  Resizing the window removes
these bands, but changing the default font re-introduces them.
Emacs-23.1 does not exhibit this behavior.

I have bisected the revision history and determined that the change
occurred with v1.1048 of emacs/src/xterm.c:

    http://osdir.com/ml/emacs-diffs-gnu/2009-10/msg00381.html

To be precise, reverting the changes to pixelheight and pixelwidth at
the beginning of the "@@ -8833,16 +8884,24 @@" blob in
x_set_widnow_size_1 cause these bands to disappear.

The definitions of FRAME_TEXT_LINES_TO_PIXEL_HEIGHT and
FRAME_TEXT_COLS_TO_PIXEL_WIDTH already account for the frame's internal
border, so adding them in again seems superfluous.

I note that when the gtk toolkit is in use, the x_set_window_size_1
function isn't ordinarily called, so most folks won't have seen this
behavior.

Thanks,
-Ted

In GNU Emacs 23.1.95.1 (x86_64-unknown-linux-gnu)
 of 2010-04-06 on orpheus
Windowing system distributor `The X.Org Foundation', version 11.0.10800000
configured using `configure  'CFLAGS=-Wall -O3 -pipe' '--without-sound' '--enable-asserts' '--with-x-toolkit=no''

Important settings:
  value of $LC_ALL: en_AU.UTF-8
  value of $LC_COLLATE: nil
  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: nil
  value of $XMODIFIERS: nil
  locale-coding-system: utf-8-unix
  default enable-multibyte-characters: t

Major mode: MH-Folder

Minor modes in effect:
  hl-line-mode: t
  delete-selection-mode: t
  global-quilt-mode: t
  quilt-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
  auto-encryption-mode: t
  auto-compression-mode: t
  line-number-mode: t
  transient-mark-mode: t

Recent input:
<tab> b <tab> <return> <switch-frame> F n C-SPC C-n 
C-e C-p <return> SPC C-a C-g J b <return> t J b x 5 
5 g t C-x o C-s p h e l p s C-a C-x o t d x 9 1 g <return> 
n t n <return> t n C-SPC C-e C-n C-n C-n C-n C-n C-n 
C-n C-n F c C-a C-n <return> n n n n t n n n n n n 
n n n n n n n n n n n p C-SPC C-e F c <return> n n 
t n n p <return> SPC SPC t n C-SPC C-n C-e C-n F c 
x F n C-v <switch-frame> C-h v i s <tab> <backspace> 
<backspace> v i s <tab> i <tab> b <backspace> b e <tab> 
<return> M-: ( s e t q SPC v i s i b l e - b e l l 
SPC t ) <return> C-g C-g C-g C-g C-g C-g C-g C-g C-g 
C-g C-g C-x o C-g C-g C-n C-p C-n C-x o C-x 1 C-g C-g 
C-g C-g C-g C-g C-g C-g C-g C-g M-> C-g C-p C-p C-p 
C-p C-p C-p C-p C-p C-p C-p C-p C-p C-p C-p C-p C-p 
C-g C-g C-g C-g <switch-frame> 9 6 h 9 6 g p p n <return> 
d d d d d d C-p <return> n d t d x <switch-frame> <switch-frame> 
<switch-frame> M-: M-p C-g C-g C-g C-g C-g C-g C-g 
C-g C-g C-g C-g C-g C-g C-g C-g C-g C-g C-g C-g C-g 
C-g C-g C-g C-g C-g C-g C-g M-: M-p C-g C-g C-g C-g 
C-g C-g C-g C-g C-g C-g C-g <switch-frame> M-x b u 
g <tab> <M-backspace> r e p o <tab> r t <tab> e <tab> 
<backspace> <return>

Recent messages:
Making completion list... [2 times]
Type C-x 1 to delete the help window.
t
Quit [23 times]
Mark set
Quit [5 times]
No more undeleted messages
Processing deletes and refiles for +mhe-index/sequence/unseen...done
Quit [38 times]
Making completion list... [2 times]

Load-path shadows:
~/env/emacs/quilt hides /usr/local/share/emacs/site-lisp/quilt
~/env/emacs/m4-mode hides /usr/local/share/emacs/23.1.95/lisp/progmodes/m4-mode

Features:
(shadow sort emacsbug help-fns parse-time vc-cvs python-21 python comint
ring help-mode flow-fill mh-thread vc-rcs newcomment ispell mh-identity
mh-letter mh-comp cal-move mh-alias crm multi-isearch mail-extr mh-mime
mh-gnus mh-junk mule-util mh-search mh-show goto-addr thingatpt
gnus-cite gnus-art mm-uu mml2015 pgg pgg-parse pgg-def epg-config
mm-view smime dig gnus-sum nnoo gnus-group gnus-undo nnmail mail-source
format-spec gnus-start gnus-spec gnus-int message sendmail ecomplete
rfc822 mml mml-sec password-cache mm-decode mm-bodies mm-encode mailcap
mail-parse rfc2231 rfc2047 rfc2045 qp ietf-drums gmm-utils mailheader
canlock sha1 hex-util hashcash gnus-win gnus-range gnus gnus-ems
nnheader mail-utils mm-util mail-prsvr wid-edit mh-seq mh-inc hl-line
mh-tool-bar mh-xface mh-utils mh-folder which-func imenu gnus-util netrc
time-date mh-scan pp view cal-china lunar solar cal-dst cal-bahai
cal-islam cal-hebrew holidays hol-loaddefs appt diary-lib diary-loaddefs
cal-menu easymenu calendar cal-loaddefs browse-url delsel server mh-e
mh-compat mailabbrev mh-acros cl cl-19 mh-buffers mh-loaddefs cc-styles
cc-align cc-engine cc-vars cc-defs regexp-opt 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 x
multi-tty emacs)