Subject: bug#37980: 26.1; term has problems with mutt sidebar if font or fontsize is changed

From: Marvin Gülker <[email-masked]>
Date: Tue, 29 Oct 2019 09:17:22 +0100

--text follows this line--
Dear GNU Emacs Maintainers,

Emacs' "M-x term" terminal emulator garbles mutt's output if a
non-default font has been activated and mutt's sidebar is activated. The
curses output is moved down below window's lower edge, making the status
line invisible. If a message is opened, the message's top lines are cut
off at the top, i.e. they are above the window's upper edge.

I tested this with the "Inconsolata" font. By default, my system is
configured to use "DejaVu Sans Mono", which does not exhibit this
problem. I have "Inconsolata" and "DejaVu Sans Mono" installed from
Debian 10's repositories.

The problem can be reproduced as follows.

1. Configure mutt with this for the sidebar in your .muttrc:

  set sidebar_divider_char = "│"
  set sidebar_visible = no
  set sidebar_width = 36
  set sidebar_format = "%B %?N?%N?%* %!"
  bind index,pager B sidebar-toggle-visible

2. Start emacs with $ emacs -Q
3. Execute this Elisp code to change the font to "Inconsolata":

       (set-face-attribute 'default nil :font "Inconsolata" )

4. Run M-x term RET /usr/bin/mutt RET
5. If you hit CTRL+B now to open the sidebar, the status line
   is moved below the window's lower edge. If you open a message,
   the top lines are cut off (and the status line appears).

Furthermore, if step 3 above is amended to execute also the following:

    (set-face-attribute 'default nil :height 150)

then opening any folder which mutt displays in thread view while the
sidebar is opened causes garbled unreadable output. Emacs places line
break marks at the right fringe, so I suppose it somehow thinks that the
line displayed by mutt is too long.

Thanks for consideration.

In GNU Emacs 26.1 (build 2, x86_64-pc-linux-gnu, GTK+ Version 3.24.5)
 of 2019-09-23, modified by Debian built on x86-grnet-01
Windowing system distributor 'The X.Org Foundation', version 11.0.12004000
System Description:	Debian GNU/Linux 10 (buster)

Recent messages:
For information about GNU Emacs and the GNU system, type C-h C-a.
Mark set
nil
Configured using:
 'configure --build x86_64-linux-gnu --prefix=/usr
 --sharedstatedir=/var/lib --libexecdir=/usr/lib
 --localstatedir=/var/lib --infodir=/usr/share/info
 --mandir=/usr/share/man --enable-libsystemd --with-pop=yes
 --enable-locallisppath=/etc/emacs:/usr/local/share/emacs/26.1/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/26.1/site-lisp:/usr/share/emacs/site-lisp
 --with-sound=alsa --without-gconf --with-mailutils --build
 x86_64-linux-gnu --prefix=/usr --sharedstatedir=/var/lib
 --libexecdir=/usr/lib --localstatedir=/var/lib
 --infodir=/usr/share/info --mandir=/usr/share/man --enable-libsystemd
 --with-pop=yes
 --enable-locallisppath=/etc/emacs:/usr/local/share/emacs/26.1/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/26.1/site-lisp:/usr/share/emacs/site-lisp
 --with-sound=alsa --without-gconf --with-mailutils --with-x=yes
 --with-x-toolkit=gtk3 --with-toolkit-scroll-bars 'CFLAGS=-g -O2
 -fdebug-prefix-map=/build/emacs-StqULU/emacs-26.1+1=. -fstack-protector-strong
 -Wformat -Werror=format-security -Wall' 'CPPFLAGS=-Wdate-time
 -D_FORTIFY_SOURCE=2' LDFLAGS=-Wl,-z,relro'

Configured features:
XPM JPEG TIFF GIF PNG RSVG IMAGEMAGICK SOUND GPM DBUS GSETTINGS NOTIFY
ACL LIBSELINUX GNUTLS LIBXML2 FREETYPE M17N_FLT LIBOTF XFT ZLIB
TOOLKIT_SCROLL_BARS GTK3 X11 THREADS LIBSYSTEMD LCMS2

Important settings:
  value of $LANG: de_DE.UTF-8
  locale-coding-system: utf-8-unix

Major mode: Term

Minor modes in effect:
  tooltip-mode: t
  global-eldoc-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  tool-bar-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-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  buffer-read-only: t
  line-number-mode: t
  transient-mark-mode: t

Load-path shadows:
None found.

Features:
(shadow sort mail-extr emacsbug message rmc puny seq byte-opt gv
bytecomp byte-compile cconv cl-loaddefs cl-lib dired dired-loaddefs
format-spec rfc822 mml mml-sec password-cache epa derived epg epg-config
gnus-util rmail rmail-loaddefs mm-decode mm-bodies mm-encode mail-parse
rfc2231 mailabbrev gmm-utils mailheader sendmail rfc2047 rfc2045
ietf-drums mm-util mail-prsvr mail-utils term disp-table easymenu ehelp
ring elec-pair time-date mule-util tooltip eldoc electric uniquify
ediff-hook vc-hooks lisp-float-type mwheel term/x-win x-win
term/common-win x-dnd tool-bar dnd fontset image regexp-opt fringe
tabulated-list replace newcomment text-mode elisp-mode lisp-mode
prog-mode register page menu-bar rfn-eshadow isearch timer select
scroll-bar mouse jit-lock font-lock syntax facemenu font-core
term/tty-colors frame cl-generic cham georgian utf-8-lang misc-lang
vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms cp51932
hebrew greek romanian slovak czech european ethiopic indian cyrillic
chinese composite charscript charprop case-table epa-hook jka-cmpr-hook
help simple abbrev obarray minibuffer cl-preloaded nadvice loaddefs
button faces cus-face macroexp files text-properties overlay sha1 md5
base64 format env code-pages mule custom widget hashtable-print-readable
backquote dbusbind inotify lcms2 dynamic-setting system-font-setting
font-render-setting move-toolbar gtk x-toolkit x multi-tty
make-network-process emacs)

Memory information:
((conses 16 100342 7889)
 (symbols 48 20863 1)
 (miscs 40 81 129)
 (strings 32 29483 990)
 (string-bytes 1 776384)
 (vectors 16 15490)
 (vector-slots 8 507205 9450)
 (floats 8 49 69)
 (intervals 56 591 4)
 (buffers 992 12))