Subject: bug#7932: 23.1; overprinting / cursor misalignment after certain characters

From: David McArthur <[email-masked]>
Date: Fri, 28 Jan 2011 10:41:31 -0500

Upon typing certain characters in any buffer (including the minibuffer) 
the cursor becomes misaligned and text is overprinted.  These characters 
are: AKkRrTVWwXxYyZ.  This problem only occurs when I have my second 
monitor enabled.

The cursor is a blinking black box such that when the cursor is on top 
of text, the text is printed in inverse (off-white).  What happens after 
typing one of AKkRrTVWwXxYyZ is that the black box is moved to the next 
position, but the character I just typed blinks as though the cursor 
were still on top of it.  The next letter I type then appears twice: 
both in the correct position, and also overprinted on top of the problem 
character to the left.  Also, the problem character is then re-printed 
one position to the left of where I typed it, overprinting on the 
character before it.  Further typing appears normally, as long as the 
characters are not any of AKkRrTVWwXxYyZ.

For example, if I type "text" weird behavior starts after I type the 
lowercase "x".  What I see before I type the second "t" is "tex" with 
the blinking black box to the right of x, but x is also blinking 
(alternating black and off-white).  After typing the second "t", what I 
see is  "t#*t" where # is "x" printed on top of "e" and * is "t" printed 
on top of "x".  If I move the cursor away and type C-l the text is 
redrawn correctly, but if I move the cursor back over the problematic 
characters, the overprinting reoccurs.

This is on my laptop running Ubuntu Maverick.  The problem occurs when I 
have my external monitor enabled (regardless of which monitor the emacs 
window is on).  When the external monitor is disabled, the problem does 
not occur.

Here is a snippet from lspci -v

00:02.0 VGA compatible controller: Intel Corporation Mobile 945GM/GMS, 
943/940GML Express Integrated Graphics Controller (rev 03) (prog-if 00 
[VGA controller])
         Subsystem: Sony Corporation Device 81e6
         Flags: bus master, fast devsel, latency 0, IRQ 16
         Memory at dc200000 (32-bit, non-prefetchable) [size=512K]
         I/O ports at 1800 [size=8]
         Memory at c0000000 (32-bit, prefetchable) [size=256M]
         Memory at dc300000 (32-bit, non-prefetchable) [size=256K]
         Expansion ROM at <unassigned> [disabled]
         Capabilities: [90] MSI: Enable- Count=1/1 Maskable- 64bit-
         Capabilities: [d0] Power Management version 2
         Kernel driver in use: i915
         Kernel modules: i915

Here is the info from M-x report-emacs-bug

In GNU Emacs 23.1.1 (i686-pc-linux-gnu, GTK+ Version 2.22.0)
  of 2010-11-26 on vernadsky, modified by Debian
Windowing system distributor `The X.Org Foundation', version 11.0.10900000
configured using `configure  '--build=i686-linux-gnu' 
'--host=i686-linux-gnu' '--prefix=/usr' '--sharedstatedir=/var/lib' 
'--libexecdir=/usr/lib' '--localstatedir=/var/lib' 
'--infodir=/usr/share/info' '--mandir=/usr/share/man' '--with-pop=yes' 
'--enable-locallisppath=/etc/emacs23:/etc/emacs:/usr/local/share/emacs/23.1/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/23.1/site-lisp:/usr/share/emacs/site-lisp:/usr/share/emacs/23.1/leim' 
'--with-x=yes' '--with-x-toolkit=gtk' '--with-toolkit-scroll-bars' 
'build_alias=i686-linux-gnu' 'host_alias=i686-linux-gnu' 
'CFLAGS=-DDEBIAN -g -O2' 'LDFLAGS=-g' 'CPPFLAGS=''

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

Major mode: Outline

Minor modes in effect:
   goto-address-mode: t
   tooltip-mode: t
   tool-bar-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
   line-number-mode: t
   transient-mark-mode: t
   view-mode: t

Recent input:
r <return> s t u v w <return> x <return> y <return>
z <up> <down> <down> <return> <return> A K R T V W
X Y Z k r w x y <up> <right> C-l C-k C-/ <down> <left>
<left> <left> <left> <left> <left> <left> <left> <left>
<left> <left> <left> <left> <left> <left> <left> <left>
<left> <down> <down> <right> <right> <right> k <right>
r <right> <right> <right> w <right> x <right> y <right>
C-k C-l <up> C-l <down> <down> <down> <return> <return>
C-h C-p C-s c u r s o <right> <left> <left> <left>
<left> <left> <left> <left> <left> <down> <right> <right>
<down> <up> <left> <left> <left> <left> <right> <right>
<right> <right> <right> <left> <left> <left> <right>
<right> <right> <right> <right> <right> <right> <right>
<right> <right> <right> <right> <right> <right> <right>
<help-echo> <help-echo> <help-echo> <help-echo> <help-echo>
<help-echo> <help-echo> <help-echo> <help-echo> <help-echo>
<help-echo> <help-echo> <help-echo> <help-echo> <help-echo>
<help-echo> <help-echo> <help-echo> <help-echo> <help-echo>
<help-echo> <help-echo> <help-echo> <help-echo> <help-echo>
<help-echo> C-s C-s C-s <down> <down> <down> <down>
<up> <up> C-x b <return> <up> <up> <right> <right>
<right> <right> <right> <right> <down> C-x b <return>
C-l <up> <up> <up> <up> <up> <up> <up> <up> <up> <up>
<up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up>
<up> <up> <up> <next> <prior> C-s C-s <down> <up> <up>
<up> <up> <up> <up> C-s C-s <up> <up> <up> <up> <up>
<up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up>
<up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up>
<up> <up> <up> C-s C-s C-s C-s C-s C-s <down> <down>
<down> <down> <up> <up> <up> <up> <up> <up> C-s C-s
C-s C-s C-s C-s C-s C-s C-s C-s M-x r e p o r t e m
a c s <backspace> <backspace> <backspace> <backspace>
<backspace> SPC e m a c s <tab> <return>

Recent messages:
Loading /var/cache/dictionaries-common/emacsen-ispell-default.el 
(source)...done
Loading debian-ispell...done
Loading /var/cache/dictionaries-common/emacsen-ispell-dicts.el 
(source)...done
Loading /etc/emacs/site-start.d/50dictionaries-common.el (source)...done
For information about GNU Emacs and the GNU system, type C-h C-a.
Undo!
Note: file is write protected
View mode: type C-h for help, h for commands, q to quit.
Mark saved where search started [6 times]
/usr/bin/mail is not an executable.  Setting mail-interactive to t.

-- 
David McArthur
[email-masked]