Hello.
I have fixed this in the trunk, but I'm not satisfied with the solution, but it will have to do for now. The problem has to do with LCD-smoothing. As you can see in the attached picture
one pixel of the A in the lower right corner extends in to the box for T. As Emacs does not know about these pixels, when we write a Y over the A, the pixel remains. You can see the same effect when Y is replaced with for example A. The top right part of the Y has an extra pixel in the next character box, that remains.
The current solution is to turn off LCD-smoothing. A better solution would be to draw the whole line every time. Or somehow keep track of adjacent characters that needs to be redrawn. But that may involve the display engine and is a bigger task.
Jan D.
Bug: Scrolling can leave behind traces of old text. The traces appear to be cyan outlines of the right hand side of characters which previously occupied the same location.
For example, a "Y" will leave behind a small cyan dot from its upper right, an "A" will leave behind a small cyan dot from its lower right.
Steps to reproduce:
1) /Applications/Emacs.app/Contents/MacOS/Emacs -Q 2) C-x C-f helix.pqr [Ret] 3) Rapidly scroll up and down with two-finger drag gesture
I have attached the file helix.pqr, for which the effect is very pronounced, and a screenshot faithfully reproducing the effect. Note the small cyan marks on the left of many numbers and letters.
This version of emacs came from http://emacsformacosx.com/
In GNU Emacs 23.4.1 (x86_64-apple-darwin, NS apple-appkit-1038.36) of 2012-01-29 on bob.porkrind.org Windowing system distributor `Apple', version 10.3.1138 configured using `configure '--host=x86_64-apple-darwin' '--build=i686-apple-darwin' '--with-ns' 'build_alias=i686-apple-darwin' 'host_alias=x86_64-apple-darwin' 'CC=gcc -mmacosx-version-min=10.5''
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.UTF-8 value of $XMODIFIERS: nil locale-coding-system: utf-8-unix default enable-multibyte-characters: t
Major mode: Fundamental
Minor modes in effect: 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: <wheel-up> <double-wheel-up> <triple-wheel-up> <triple-wheel-up> <triple-wheel-up> <triple-wheel-up> <triple-wheel-up> <triple-wheel-up> <triple-wheel-up> <triple-wheel-up> <triple-wheel-up> <wheel-down> <double-wheel-down> <triple-wheel-down> <triple-wheel-down> <triple-wheel-down> <triple-wheel-down> <triple-wheel-down> <triple-wheel-down> <triple-wheel-down> <triple-wheel-down> <triple-wheel-down> <triple-wheel-down> <triple-wheel-down> <triple-wheel-down> <triple-wheel-down> <triple-wheel-down> <triple-wheel-down> <wheel-up> <double-wheel-up> <triple-wheel-up> <triple-wheel-up> <triple-wheel-up> <triple-wheel-up> <triple-wheel-up> <triple-wheel-up> <triple-wheel-up> <triple-wheel-up> <triple-wheel-up> <triple-wheel-up> <triple-wheel-up> <triple-wheel-up> <triple-wheel-up> <wheel-down> <double-wheel-down> <triple-wheel-down> <wheel-up> <double-wheel-up> <triple-wheel-up> <wheel-up> <double-wheel-up> <wheel-down> <double-wheel-down> <triple-wheel-down> <triple-wheel-down> <triple-wheel-down> <triple-wheel-down> <triple-wheel-down> <triple-wheel-down> <triple-wheel-down> <triple-wheel-down> <triple-wheel-down> <triple-wheel-down> <triple-wheel-down> <triple-wheel-down> <triple-wheel-down> <triple-wheel-down> <triple-wheel-down> <triple-wheel-down> <triple-wheel-down> <wheel-down> <double-wheel-down> <wheel-down> <double-wheel-down> <triple-wheel-down> <triple-wheel-down> <triple-wheel-down> <triple-wheel-down> <triple-wheel-down> <triple-wheel-down> <triple-wheel-down> <triple-wheel-down> <triple-wheel-down> <wheel-up> <double-wheel-up> <triple-wheel-up> <triple-wheel-up> <triple-wheel-up> <triple-wheel-up> <triple-wheel-up> <triple-wheel-up> <triple-wheel-up> <triple-wheel-up> <triple-wheel-up> <wheel-up> <double-wheel-up> <wheel-down> <wheel-down> <double-wheel-down> <wheel-up> <wheel-down> <wheel-down> <wheel-up> <double-wheel-up> <wheel-up> <wheel-up> <double-wheel-up> <triple-wheel-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> <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> <up> <up> <up> <up> <up> <up> <up> <up> <up> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> C-x b <return> <wheel-up> <double-wheel-up> <triple-wheel-up> <triple-wheel-up> <wheel-down> <double-wheel-down> <triple-wheel-down> <triple-wheel-down> <triple-wheel-down> <triple-wheel-down> <triple-wheel-down> <wheel-up> <double-wheel-up> <triple-wheel-up> <triple-wheel-up> <wheel-down> <double-wheel-down> <triple-wheel-down> <triple-wheel-down> <triple-wheel-down> <triple-wheel-down> <wheel-up> <double-wheel-up> <wheel-down> <double-wheel-down> <triple-wheel-down> <wheel-down> <double-wheel-down> <triple-wheel-down> <wheel-up> <double-wheel-up> <triple-wheel-up> <triple-wheel-up> <wheel-down> <double-wheel-down> <triple-wheel-down> <triple-wheel-down> <triple-wheel-down> <triple-wheel-down> <wheel-up> <double-wheel-up> <triple-wheel-up> <triple-wheel-up> <triple-wheel-up> <wheel-down> <double-wheel-down> <triple-wheel-down> <triple-wheel-down> <triple-wheel-down> <triple-wheel-down> <triple-wheel-down> <wheel-up> <double-wheel-up> <triple-wheel-up> <triple-wheel-up> <wheel-down> <double-wheel-down> <triple-wheel-down> <wheel-up> <double-wheel-up> <triple-wheel-up> <wheel-down> <double-wheel-down> <wheel-down> <double-wheel-down> M-x b u g <tab> <backspace> <backspace> <backspace> <backspace> <backspace> <backspace> <backspace> <backspace> <backspace> <backspace> <backspace> <backspace> <backspace> <backspace> r e p <tab> o r <tab> <return>
Recent messages: Saving file /Users/fvm/.emacs... Wrote /Users/fvm/.emacs byte-code: Beginning of buffer [8 times] byte-code: End of buffer [13 times] byte-code: Beginning of buffer [13 times] byte-code: End of buffer [26 times] byte-code: Beginning of buffer [14 times] byte-code: End of buffer [2 times] Making completion list... byte-code: End of buffer [4 times]
Load-path shadows: None found.
Features: (shadow sort mail-extr message 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 time-date mm-util mail-prsvr gmm-utils wid-edit mailheader canlock sha1 hex-util hashcash mail-utils emacsbug help-mode view vc-hg cc-mode cc-fonts cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs regexp-opt tooltip ediff-hook vc-hooks lisp-float-type mwheel ns-win easymenu 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 ns multi-tty emacs) <helix.pqr><Screen Shot 2012-05-15 at 2.54.44 PM.png> |