* bug#16932: 24.3; Fringe does not get correctly updated under very specific circumstances @ 2014-03-03 21:08 David Engster 2014-03-04 5:44 ` YAMAMOTO Mitsuharu 0 siblings, 1 reply; 4+ messages in thread From: David Engster @ 2014-03-03 21:08 UTC (permalink / raw) To: 16932 I noticed that sometimes icons in the fringe from previous buffers remained visible when I switched buffers. It was quite difficult to reproduce, but I finally noticed that it always happens when you switch to(!) a buffer where - point is on a tabulator - there's an overlay on that tabulator until the end of the line - that overlay has a face property with the fringe's background color Here's a recipe through which I can reliably reproduce this issue on GNU/Linux with Emacs from today's trunk: * Create a file, for instance "test.el", with the following contents: (setq-default indicate-buffer-boundaries 'left) (defface someface `((t (:background ,(face-background 'fringe)))) "face with same background as fringe") (goto-char (point-min)) (insert "\t\n") (setq ov (make-overlay (point-min) (progn (goto-char (point-min)) (point-at-eol)))) (overlay-put ov 'face 'someface) (switch-to-buffer (get-buffer-create "test")) (insert "\n\n\n\n") (redisplay t) (switch-to-buffer "*scratch*") * Start emacs with emacs -Q -l test.el * In the left fringe, you should see boundary indicators for the current scratch buffer as well as for the previously visible buffer 'test'. -David ^ permalink raw reply [flat|nested] 4+ messages in thread
* bug#16932: 24.3; Fringe does not get correctly updated under very specific circumstances 2014-03-03 21:08 bug#16932: 24.3; Fringe does not get correctly updated under very specific circumstances David Engster @ 2014-03-04 5:44 ` YAMAMOTO Mitsuharu 2014-03-04 8:00 ` David Engster 0 siblings, 1 reply; 4+ messages in thread From: YAMAMOTO Mitsuharu @ 2014-03-04 5:44 UTC (permalink / raw) To: David Engster; +Cc: 16932 >>>>> On Mon, 03 Mar 2014 22:08:52 +0100, David Engster <deng@randomsample.de> said: > I noticed that sometimes icons in the fringe from previous buffers > remained visible when I switched buffers. It was quite difficult to > reproduce, but I finally noticed that it always happens when you switch > to(!) a buffer where > - point is on a tabulator > - there's an overlay on that tabulator until the end of the line > - that overlay has a face property with the fringe's background color Thanks for narrowing this case down. Could you try the following patch? === modified file 'src/xterm.c' *** src/xterm.c 2014-03-03 08:27:58 +0000 --- src/xterm.c 2014-03-04 05:32:27 +0000 *************** *** 2501,2506 **** --- 2501,2508 ---- XFillRectangle (s->display, s->window, gc, x, y, w, h); XSetForeground (s->display, gc, xgcv.foreground); } + + XSetClipMask (s->display, gc, None); } } else if (!s->background_filled_p) BTW, the latest Mac port (*) has the same problem and the corresponding patch would be as follows: *: http://lists.gnu.org/archive/html/emacs-devel/2014-02/msg00592.html === modified file 'src/macterm.c' *** src/macterm.c 2014-02-27 10:27:00 +0000 --- src/macterm.c 2014-03-04 05:35:52 +0000 *************** *** 2420,2425 **** --- 2420,2427 ---- else #endif /* MAC_TODO */ mac_erase_rectangle (s->f, gc, x, y, w, h); + + mac_reset_clip_rectangles (s->f, gc); } } else if (!s->background_filled_p) YAMAMOTO Mitsuharu mituharu@math.s.chiba-u.ac.jp ^ permalink raw reply [flat|nested] 4+ messages in thread
* bug#16932: 24.3; Fringe does not get correctly updated under very specific circumstances 2014-03-04 5:44 ` YAMAMOTO Mitsuharu @ 2014-03-04 8:00 ` David Engster 2014-03-04 11:07 ` YAMAMOTO Mitsuharu 0 siblings, 1 reply; 4+ messages in thread From: David Engster @ 2014-03-04 8:00 UTC (permalink / raw) To: YAMAMOTO Mitsuharu; +Cc: 16932 YAMAMOTO Mitsuharu writes: >>>>>> On Mon, 03 Mar 2014 22:08:52 +0100, David Engster <deng@randomsample.de> said: > >> I noticed that sometimes icons in the fringe from previous buffers >> remained visible when I switched buffers. It was quite difficult to >> reproduce, but I finally noticed that it always happens when you switch >> to(!) a buffer where > >> - point is on a tabulator >> - there's an overlay on that tabulator until the end of the line >> - that overlay has a face property with the fringe's background color > > Thanks for narrowing this case down. Could you try the following > patch? [...] Yes, that fixes it. Thank you! -David ^ permalink raw reply [flat|nested] 4+ messages in thread
* bug#16932: 24.3; Fringe does not get correctly updated under very specific circumstances 2014-03-04 8:00 ` David Engster @ 2014-03-04 11:07 ` YAMAMOTO Mitsuharu 0 siblings, 0 replies; 4+ messages in thread From: YAMAMOTO Mitsuharu @ 2014-03-04 11:07 UTC (permalink / raw) To: David Engster; +Cc: 16932-done >>>>> On Tue, 04 Mar 2014 09:00:30 +0100, David Engster <deng@randomsample.de> said: >>> I noticed that sometimes icons in the fringe from previous buffers >>> remained visible when I switched buffers. It was quite difficult >>> to reproduce, but I finally noticed that it always happens when >>> you switch to(!) a buffer where >> >>> - point is on a tabulator - there's an overlay on that tabulator >>> until the end of the line - that overlay has a face property with >>> the fringe's background color >> >> Thanks for narrowing this case down. Could you try the following >> patch? > [...] > Yes, that fixes it. Thank you! Thanks for testing. I've just installed the patch. YAMAMOTO Mitsuharu mituharu@math.s.chiba-u.ac.jp ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2014-03-04 11:07 UTC | newest] Thread overview: 4+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2014-03-03 21:08 bug#16932: 24.3; Fringe does not get correctly updated under very specific circumstances David Engster 2014-03-04 5:44 ` YAMAMOTO Mitsuharu 2014-03-04 8:00 ` David Engster 2014-03-04 11:07 ` YAMAMOTO Mitsuharu
Code repositories for project(s) associated with this external index https://git.savannah.gnu.org/cgit/emacs.git https://git.savannah.gnu.org/cgit/emacs/org-mode.git This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.