GNU bug report logs - #2234
23.0.90; custom-set-faces inhibits faces differences between X11 and console clients

Previous Next

Package: emacs;

Reported by: zack <at> upsilon.cc (Stefano Zacchiroli)

Date: Sun, 8 Feb 2009 11:00:02 UTC

Severity: wishlist

Done: Stefano Zacchiroli <zack <at> upsilon.cc>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 2234 in the body.
You can then email your comments to 2234 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>:
bug#2234; Package emacs. (Sun, 08 Feb 2009 11:00:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to zack <at> upsilon.cc (Stefano Zacchiroli):
New bug report received and forwarded. Copy sent to Emacs Bugs <bug-gnu-emacs <at> gnu.org>. (Sun, 08 Feb 2009 11:00:03 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> emacsbugs.donarmstrong.com (full text, mbox):

From: zack <at> upsilon.cc (Stefano Zacchiroli)
To: emacs-pretest-bug <at> gnu.org
Cc: rfrancoise <at> debian.org
Subject: 23.0.90; custom-set-faces inhibits faces differences between X11 and console clients
Date: Sun,  8 Feb 2009 11:52:19 +0100 (CET)
I use a main X11 emacs with clients (sometime X11, sometime console)
which attach to it. I want to have "black on white" X11 clients and
"white on black" console clients. (Actually, I don't care what Emacs
does with console colors, I just want it to preserves my terminal
defaults and I do use black background terminals.)

If I have *no* custom-set-faces section in my .emacs the default
configuration just does what I want.
- I start main X11 emacs (which is white on black)
- I start console clients (which are black on white, respecting the
  terminal)

... but I do need to customize faces, because I want the font in X11
to be smaller than the default. As soon as I add a
(custom-set-faces...) to my ~/.emacs, no matter _what_ I write into
it, the above doesn't work anymore. More precisely it seems that the
first kind of emacs which gets launched (X11 vs console) fixes once
and for all foreground and background colors. Hence:

- if I start the first emacs on X11, I'll the have "black on white"
  console clients
- if I start the first emacs on console, everything is fine again

My feeling is that there is a quite profund issue here of separation
of the initialization code, which looks like to be centralized while
it should be (to some extent) split and partly executed by clients.

... but more practically I'm also looking for workarounds :-)

TIA,
Cheers.


In GNU Emacs 23.0.90.1 (x86_64-pc-linux-gnu, GTK+ Version 2.12.11)
 of 2009-02-07 on elegiac, modified by Debian
 (emacs-snapshot package, version 1:20090207-1)
Windowing system distributor `The X.Org Foundation', version 11.0.10402000
configured using `configure  '--build' 'x86_64-linux-gnu' '--host' 'x86_64-linux-gnu' '--prefix=/usr' '--sharedstatedir=/var/lib' '--libexecdir=/usr/lib' '--localstatedir=/var' '--infodir=/usr/share/info' '--mandir=/usr/share/man' '--with-pop=yes' '--enable-locallisppath=/etc/emacs-snapshot:/etc/emacs:/usr/local/share/emacs/23.0.90/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/23.0.90/site-lisp:/usr/share/emacs/site-lisp' '--with-x=yes' '--with-x-toolkit=gtk' 'build_alias=x86_64-linux-gnu' 'host_alias=x86_64-linux-gnu' 'CFLAGS=-DDEBIAN -DSITELOAD_PURESIZE_EXTRA=5000 -g -O2' 'LDFLAGS=-g -Wl,--as-needed' 'CPPFLAGS=''

Important settings:
  value of $LC_ALL: nil
  value of $LC_COLLATE: nil
  value of $LC_CTYPE: nil
  value of $LC_MESSAGES: en_US.UTF-8
  value of $LC_MONETARY: nil
  value of $LC_NUMERIC: nil
  value of $LC_TIME: nil
  value of $LANG: it_IT.UTF-8
  value of $XMODIFIERS: nil
  locale-coding-system: utf-8-unix
  default-enable-multibyte-characters: t

Major mode: Conf[Xdefaults]

Minor modes in effect:
  iswitchb-mode: t
  show-paren-mode: t
  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
  global-auto-composition-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  column-number-mode: t
  line-number-mode: t
  transient-mark-mode: t

Recent input:
<help-echo> ESC [ > 1 ; 1 6 1 4 ; 0 c C-x C-c M-x r 
e p o <tab> r <tab> <return> C-g C-x C-f , e <backspace> 
<backspace> . X r <tab> <return> C-n C-n C-n i E a 
<backspace> m a c s . f o n t : SPC m o n o s p a c 
e <escape> C-/ M-x r e p o <tab> r t - e m <tab> <return> 
ESC [ > 1 ; 1 6 1 4 ; 0 c <switch-frame> C-x <switch-frame> 
C-g j n C-n C-n C-n C-n <switch-frame> C-c <switch-frame> 
C-c C-l C-x C-c ESC [ > 1 ; 1 6 1 4 ; 0 c C-x C-c k 
k k k ESC [ > 1 ; 1 6 1 4 ; 0 c <switch-frame> M-x 
r e p o r t <tab> <return>

Recent messages:
When done with a buffer, type C-x #
viper-find-char: Viper bell [2 times]
viper-prefix-arg-com: Viper bell
Quit
viper-search-next: No previous search string
(No files need saving)
When done with a buffer, type C-x #
(No files need saving)
line-move-1: Beginning of buffer
When done with a buffer, type C-x #




Information forwarded to bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>:
bug#2234; Package emacs. (Sun, 08 Feb 2009 16:10:03 GMT) Full text and rfc822 format available.

Acknowledgement sent to Chong Yidong <cyd <at> stupidchicken.com>:
Extra info received and forwarded to list. Copy sent to Emacs Bugs <bug-gnu-emacs <at> gnu.org>. (Sun, 08 Feb 2009 16:10:03 GMT) Full text and rfc822 format available.

Message #10 received at 2234 <at> emacsbugs.donarmstrong.com (full text, mbox):

From: Chong Yidong <cyd <at> stupidchicken.com>
To: zack <at> upsilon.cc (Stefano Zacchiroli)
Cc: 2234 <at> debbugs.gnu.org
Subject: Re: 23.0.90; custom-set-faces inhibits faces differences between X11 and console clients
Date: Sun, 08 Feb 2009 11:01:32 -0500
This is, indeed, a problem.  Tthe customize-face facility ought to allow
you to specify terminal-dependent face settings.  Hopefully, someone
will write such an enhancement, but this will probably not happen before
the upcoming 23.1 release.

One workaround that I can suggest is to reset the defface spec of the
face within your .emacs file, like this:

 (put 'font-lock-comment-face 'face-defface-spec nil)
 (defface font-lock-comment-face
   '((((class color) (background light))
      (:foreground "green"))
     (((class color) (background dark))
      (:foreground "yellow"))
     (t (:weight bold :slant italic)))
   "Font Lock mode face used to highlight comments."
   :group 'font-lock-faces)

The changes that you make this way will not apply to the first frame,
but they will apply to subsequent frames.




Severity set to `wishlist' from `normal' Request was from Chong Yidong <cyd <at> stupidchicken.com> to control <at> emacsbugs.donarmstrong.com. (Sun, 08 Feb 2009 16:10:05 GMT) Full text and rfc822 format available.

Information forwarded to bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>:
bug#2234; Package emacs. (Sun, 08 Feb 2009 20:25:05 GMT) Full text and rfc822 format available.

Acknowledgement sent to Stefan Monnier <monnier <at> iro.umontreal.ca>:
Extra info received and forwarded to list. Copy sent to Emacs Bugs <bug-gnu-emacs <at> gnu.org>. (Sun, 08 Feb 2009 20:25:05 GMT) Full text and rfc822 format available.

Message #17 received at 2234 <at> emacsbugs.donarmstrong.com (full text, mbox):

From: Stefan Monnier <monnier <at> iro.umontreal.ca>
To: Chong Yidong <cyd <at> stupidchicken.com>
Cc: 2234 <at> debbugs.gnu.org, zack <at> upsilon.cc (Stefano Zacchiroli)
Subject: Re: bug#2234: 23.0.90; custom-set-faces inhibits faces differences between X11 and console clients
Date: Sun, 08 Feb 2009 15:19:49 -0500
> This is, indeed, a problem.  Tthe customize-face facility ought to allow
> you to specify terminal-dependent face settings.  Hopefully, someone
> will write such an enhancement, but this will probably not happen before
> the upcoming 23.1 release.

Do M-x customize-face RET font-lock-comment-face RET
Then middle-click on "state" and select "for all kinds of displays": you
can then give distinct settings for different circumstances.


        Stefan




Reply sent to Stefano Zacchiroli <zack <at> upsilon.cc>:
You have taken responsibility. (Sun, 15 Feb 2009 17:35:02 GMT) Full text and rfc822 format available.

Notification sent to zack <at> upsilon.cc (Stefano Zacchiroli):
bug acknowledged by developer. (Sun, 15 Feb 2009 17:35:03 GMT) Full text and rfc822 format available.

Message #22 received at 2234-done <at> emacsbugs.donarmstrong.com (full text, mbox):

From: Stefano Zacchiroli <zack <at> upsilon.cc>
To: Stefan Monnier <monnier <at> iro.umontreal.ca>
Cc: 2234-done <at> debbugs.gnu.org
Subject: Re: bug#2234: 23.0.90; custom-set-faces inhibits faces differences
	between X11 and console clients
Date: Sun, 15 Feb 2009 16:09:43 +0100
On Sun, Feb 08, 2009 at 03:19:49PM -0500, Stefan Monnier wrote:
> > This is, indeed, a problem.  Tthe customize-face facility ought to allow
> > you to specify terminal-dependent face settings.  Hopefully, someone
> > will write such an enhancement, but this will probably not happen before
> > the upcoming 23.1 release.
> 
> Do M-x customize-face RET font-lock-comment-face RET
> Then middle-click on "state" and select "for all kinds of displays": you
> can then give distinct settings for different circumstances.

Many thanks, starting from this tip I indeed found the correct
solution.

Actually, what I needed is to override *all* faces for console mode,
with respect to what happens in the X11 world. I just followed your
suggestion, using "'default" as the font face instead of
"'font-lock-comment-face".

So, in the end, it was not a bug, I'm therefore closing the bug with
this post.

Cheers.

-- 
Stefano Zacchiroli -o- PhD in Computer Science \ PostDoc @ Univ. Paris 7
zack@{upsilon.cc,pps.jussieu.fr,debian.org} -<>- http://upsilon.cc/zack/
Dietro un grande uomo c'è ..|  .  |. Et ne m'en veux pas si je te tutoie
sempre uno zaino ...........| ..: |.... Je dis tu à tous ceux que j'aime




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> emacsbugs.donarmstrong.com. (Mon, 16 Mar 2009 14:24:09 GMT) Full text and rfc822 format available.

This bug report was last modified 16 years and 157 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.