all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Eli Zaretskii <eliz@gnu.org>
To: Istvan Marko <mi-ebugs@kismala.com>
Cc: 32072@debbugs.gnu.org
Subject: bug#32072: 27.0.50; clear-face-cache in an X frame breaks tty colors
Date: Sat, 07 Jul 2018 11:14:39 +0300	[thread overview]
Message-ID: <83muv3jwcw.fsf@gnu.org> (raw)
In-Reply-To: <m3fu0wwads.fsf@zsu.kismala.com> (message from Istvan Marko on Fri, 06 Jul 2018 10:18:39 -0700)

> From: Istvan Marko <mi-ebugs@kismala.com>
> Date: Fri, 06 Jul 2018 10:18:39 -0700
> 
> When an Emacs session has both an X11 frame and a tty frame on a 256
> color capable terminal calling (clear-face-cache) in the X11 frame
> results in the colors getting messed up in the existing tty frame.

Can you tell more about what "messed-up" means?  E.g., what do you see
if you type "M-x list-colors-display RET" in a TTY frame after
invoking clear-face-cache on a GUI frame?

> Newly created tty frames are OK. Running (clear-face-cache) in the
> tty frame fixes the affected frame.

Strange: clear-face-cache does not work only on the selected frame, it
clears the face caches of _all_ the GUI frames, and is supposed to do
nothing for TTY frames, except forcing recreation of all faces on the
next redisplay.  So I'm not sure I understand what does "Running
(clear-face-cache) in the tty frame" mean.  Are you saying that if all
frames in a session are TTY frames, the problem doesn't happen?  Or do
you mean that a _second_ call to clear-face-cache fixes the TTY
frames?  If the latter, does it matter what frame is selected when you
issue that second call?

What if you invoke clear-face-cache, and then type "M-x redraw-display
RET" in a TTY frame -- does that still show "messed-up" colors?

> Start Emacs in X11 mode and start Emacs server:
> 
> emacs -Q
> M-x server-start
> 
> Then in a 256 color terminal with TERM=xterm-256color or similar:
> 
> emacsclient -t
> 
> Then switch back to the X frame and evaluate:
> 
> M-: (clear-face-cache) RET
> 
> This immediately corrupts the colors of the tty frame. Not sure if all
> faces are affected but the mode-line face for example always turns black
> or green for me so it's very obvious.

"Black or green"?  So the effect is not entirely deterministic?

Do you see this in Emacs 26 as well, or only on the master branch?

Thanks.





  reply	other threads:[~2018-07-07  8:14 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-07-06 17:18 bug#32072: 27.0.50; clear-face-cache in an X frame breaks tty colors Istvan Marko
2018-07-07  8:14 ` Eli Zaretskii [this message]
2018-07-09  7:17   ` Istvan Marko
     [not found]     ` <m34lgzeje5.fsf@zsu.kismala.com>
2018-07-19  1:39       ` Noam Postavsky
2018-07-19 13:20         ` Eli Zaretskii
2018-07-19 17:33           ` Rami Ylimäki
2018-07-19 17:48             ` Eli Zaretskii
2018-07-19 18:18               ` Istvan Marko
2018-07-19 18:23                 ` Eli Zaretskii

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=83muv3jwcw.fsf@gnu.org \
    --to=eliz@gnu.org \
    --cc=32072@debbugs.gnu.org \
    --cc=mi-ebugs@kismala.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.