unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#33244: 27.0.50; buffer-local face-remapping not obeyed for the fringe
@ 2018-11-02 17:27 Stefan Monnier
  2018-11-03 10:42 ` Eli Zaretskii
  0 siblings, 1 reply; 6+ messages in thread
From: Stefan Monnier @ 2018-11-02 17:27 UTC (permalink / raw)
  To: 33244

Package: Emacs
Version: 27.0.50


If I do:

    src/emacs -Q --eval "(face-remap-add-relative 'fringe '(:background \"red\"))"
    C-x 4 b *Messages*
    M-x redraw-display
    C-x o
    M-x redraw-display

I see that Emacs redraws all the fringes with the same `fringe` face, that which
happens to be specified in the currently selected window, instead of
correctly using for each window the `fringe` face adjusted to the
face-remapping that happens to be active in the window's buffer.


        Stefan



In GNU Emacs 27.0.50 (build 1, x86_64-unknown-linux-gnu, GTK+ Version 3.24.1)
 of 2018-11-02 built on alfajor
Repository revision: e94881becd05d0ef472fcd2f44a08b6a1342e421
Windowing system distributor 'The X.Org Foundation', version 11.0.12001000
System Description: Debian GNU/Linux buster/sid

Recent messages:
Wrote /home/monnier/src/emacs/elpa/packages/zones/zones.el
Auto-saving...done
Saving file /home/monnier/src/emacs/elpa/packages/zones/zones.el...
Wrote /home/monnier/src/emacs/elpa/packages/zones/zones.el
Saving file /home/monnier/src/emacs/elpa/packages/zones/zones.el...
Wrote /home/monnier/src/emacs/elpa/packages/zones/zones.el
Saving file /home/monnier/src/emacs/elpa/packages/zones/zones.el...
Wrote /home/monnier/src/emacs/elpa/packages/zones/zones.el
Saving file /home/monnier/src/emacs/elpa/packages/zones/zones.el...
Wrote /home/monnier/src/emacs/elpa/packages/zones/zones.el

Configured using:
 'configure -C --enable-checking --with-modules --enable-check-lisp-object-type
 'CFLAGS=-Wall -g3 -Og -Wno-pointer-sign'
 PKG_CONFIG_PATH=/home/monnier/lib/pkgconfig'

Configured features:
XPM JPEG TIFF GIF PNG RSVG IMAGEMAGICK SOUND GPM DBUS GSETTINGS GLIB
NOTIFY INOTIFY GNUTLS LIBXML2 FREETYPE M17N_FLT LIBOTF XFT ZLIB
TOOLKIT_SCROLL_BARS GTK3 X11 XDBE XIM MODULES THREADS LCMS2 GMP

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

Major mode: InactiveMinibuffer

Minor modes in effect:
  diff-auto-refine-mode: t
  electric-pair-mode: t
  global-reveal-mode: t
  reveal-mode: t
  auto-insert-mode: t
  savehist-mode: t
  minibuffer-electric-default-mode: t
  global-compact-docstrings-mode: t
  url-handler-mode: t
  global-eldoc-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  global-prettify-symbols-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  line-number-mode: t
  transient-mark-mode: t

Load-path shadows:
/home/monnier/src/emacs/elpa/packages/svg/svg hides /home/monnier/src/emacs/work/lisp/svg
/home/monnier/src/emacs/elpa/packages/ada-mode/ada-mode hides /home/monnier/src/emacs/work/lisp/progmodes/ada-mode
/home/monnier/src/emacs/elpa/packages/ada-mode/ada-stmt hides /home/monnier/src/emacs/work/lisp/progmodes/ada-stmt
/home/monnier/src/emacs/elpa/packages/ada-mode/ada-prj hides /home/monnier/src/emacs/work/lisp/progmodes/ada-prj
/home/monnier/src/emacs/elpa/packages/ada-mode/ada-xref hides /home/monnier/src/emacs/work/lisp/progmodes/ada-xref
/home/monnier/src/emacs/elpa/packages/nadvice/nadvice hides /home/monnier/src/emacs/work/lisp/emacs-lisp/nadvice
/home/monnier/src/emacs/elpa/packages/hyperbole/set hides /home/monnier/src/emacs/work/lisp/emacs-lisp/set
/home/monnier/src/emacs/elpa/packages/landmark/landmark hides /home/monnier/src/emacs/work/lisp/obsolete/landmark
/home/monnier/src/emacs/elpa/packages/crisp/crisp hides /home/monnier/src/emacs/work/lisp/obsolete/crisp

Features:
(sort mail-extr emacsbug eieio-opt speedbar sb-image ezimage dframe
edmacro kmacro dabbrev log-edit message sendmail rmc puny dired
dired-loaddefs format-spec rfc822 mml mml-sec epa derived epg gnus-util
rmail rmail-loaddefs time-date mm-decode mm-bodies mm-encode mail-parse
rfc2231 rfc2047 rfc2045 mm-util ietf-drums mail-prsvr mailabbrev
mail-utils mailheader pcvs-util battery help-fns radix-tree cl-print
executable copyright lisp-mnt cl-extra misearch multi-isearch add-log
smerge-mode whitespace vc vc-dispatcher xscheme unsafep trace testcover
shadow scheme re-builder profiler inf-lisp ielm gmm-utils ert pp ewoc
debug elp edebug backtrace find-func cl-indent advice cus-edit cus-start
cus-load wid-edit vc-git diff-mode filecache server flymake-proc flymake
compile comint ansi-color ring warnings noutline outline easy-mmode
flyspell ispell checkdoc thingatpt help-mode load-dir elec-pair reveal
autoinsert proof-site proof-autoloads cl pg-vars savehist minibuf-eldef
disp-table compact-docstrings cl-seq inline kotl-autoloads info
realgud-recursive-autoloads url-auth finder-inf package easymenu
epg-config url-handlers url-parse auth-source eieio eieio-core cl-macs
eieio-loaddefs password-cache json map url-vars seq byte-opt gv bytecomp
byte-compile cconv cl-loaddefs cl-lib 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 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 threads
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 8 246020 31533)
 (symbols 24 30529 0) (strings 16 0 0) (string-bytes 1 0) (vectors 8 106003)
 (vector-slots 4 1778902 139988)
 (floats 8 121 283) (intervals 28 6728 1141) (buffers 528 33))





^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#33244: 27.0.50; buffer-local face-remapping not obeyed for the fringe
  2018-11-02 17:27 bug#33244: 27.0.50; buffer-local face-remapping not obeyed for the fringe Stefan Monnier
@ 2018-11-03 10:42 ` Eli Zaretskii
  2018-11-03 22:07   ` Stefan Monnier
  0 siblings, 1 reply; 6+ messages in thread
From: Eli Zaretskii @ 2018-11-03 10:42 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: 33244

> From: Stefan Monnier <monnier@IRO.UMontreal.CA>
> Date: Fri, 02 Nov 2018 13:27:17 -0400
> 
> If I do:
> 
>     src/emacs -Q --eval "(face-remap-add-relative 'fringe '(:background \"red\"))"
>     C-x 4 b *Messages*
>     M-x redraw-display
>     C-x o
>     M-x redraw-display
> 
> I see that Emacs redraws all the fringes with the same `fringe` face, that which
> happens to be specified in the currently selected window, instead of
> correctly using for each window the `fringe` face adjusted to the
> face-remapping that happens to be active in the window's buffer.

Thanks, fixed.

Note that the solution necessarily makes redisplay a tiny bit slower,
especially when many windows need to be updated.





^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#33244: 27.0.50; buffer-local face-remapping not obeyed for the fringe
  2018-11-03 10:42 ` Eli Zaretskii
@ 2018-11-03 22:07   ` Stefan Monnier
  2018-11-04 14:02     ` Eli Zaretskii
  0 siblings, 1 reply; 6+ messages in thread
From: Stefan Monnier @ 2018-11-03 22:07 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 33244

> Thanks, fixed.

That was quick, thanks.  I notice that it works well when redisplay
happens in response to an operation in Emacs, but not when we just
redraw (part of) the frame in response to "expose" events:

If I do:

    src/emacs -Q --eval "(face-remap-add-relative 'fringe '(:background \"red\"))"
    C-x 4 b *Messages*
    <lower the frame under some other application>
    <raise it again above the other application>

it also happens if I iconify and then deiconify the Emacs frame.

then the fringes are all in the same color (that of the currently
selected window, AFAICT).

This is under X11 with the ctwm window-manager.  The precise
expose events sent and the moment they're sent likely depends on the
window-manager, so ... I hope you can reproduce it on your side.


        Stefan





^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#33244: 27.0.50; buffer-local face-remapping not obeyed for the fringe
  2018-11-03 22:07   ` Stefan Monnier
@ 2018-11-04 14:02     ` Eli Zaretskii
  2018-11-08  7:50       ` Eli Zaretskii
  0 siblings, 1 reply; 6+ messages in thread
From: Eli Zaretskii @ 2018-11-04 14:02 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: 33244

> From: Stefan Monnier <monnier@iro.umontreal.ca>
> Cc: 33244@debbugs.gnu.org
> Date: Sat, 03 Nov 2018 18:07:41 -0400
> 
> If I do:
> 
>     src/emacs -Q --eval "(face-remap-add-relative 'fringe '(:background \"red\"))"
>     C-x 4 b *Messages*
>     <lower the frame under some other application>
>     <raise it again above the other application>
> 
> it also happens if I iconify and then deiconify the Emacs frame.
> 
> then the fringes are all in the same color (that of the currently
> selected window, AFAICT).

Should be fixed now.





^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#33244: 27.0.50; buffer-local face-remapping not obeyed for the fringe
  2018-11-04 14:02     ` Eli Zaretskii
@ 2018-11-08  7:50       ` Eli Zaretskii
  2018-11-08 13:39         ` Stefan Monnier
  0 siblings, 1 reply; 6+ messages in thread
From: Eli Zaretskii @ 2018-11-08  7:50 UTC (permalink / raw)
  To: monnier; +Cc: 33244

> Date: Sun, 04 Nov 2018 16:02:57 +0200
> From: Eli Zaretskii <eliz@gnu.org>
> Cc: 33244@debbugs.gnu.org
> 
> > it also happens if I iconify and then deiconify the Emacs frame.
> > 
> > then the fringes are all in the same color (that of the currently
> > selected window, AFAICT).
> 
> Should be fixed now.

OK to close the bug report?





^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#33244: 27.0.50; buffer-local face-remapping not obeyed for the fringe
  2018-11-08  7:50       ` Eli Zaretskii
@ 2018-11-08 13:39         ` Stefan Monnier
  0 siblings, 0 replies; 6+ messages in thread
From: Stefan Monnier @ 2018-11-08 13:39 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 33244-done

> OK to close the bug report?

Oh, yes, sorry, I mistakenly assumed you'd done so already.


        Stefan





^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2018-11-08 13:39 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-11-02 17:27 bug#33244: 27.0.50; buffer-local face-remapping not obeyed for the fringe Stefan Monnier
2018-11-03 10:42 ` Eli Zaretskii
2018-11-03 22:07   ` Stefan Monnier
2018-11-04 14:02     ` Eli Zaretskii
2018-11-08  7:50       ` Eli Zaretskii
2018-11-08 13:39         ` Stefan Monnier

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).