GNU bug report logs - #2969
Emacs thinks the background-mode is "dark" on Windows, when registry key HKEY_CURRENT_USER\Control Panel\Colors is empty

Previous Next

Packages: emacs, w32;

Reported by: Michael Schierl <schierlm <at> gmx.de>

Date: Sun, 12 Apr 2009 17:50:02 UTC

Severity: normal

Done: Jason Rumney <jasonr <at> gnu.org>

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 2969 in the body.
You can then email your comments to 2969 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#2969; Package emacs. (Sun, 12 Apr 2009 17:50:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Michael Schierl <schierlm <at> gmx.de>:
New bug report received and forwarded. Copy sent to Emacs Bugs <bug-gnu-emacs <at> gnu.org>. (Sun, 12 Apr 2009 17:50:03 GMT) Full text and rfc822 format available.

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

From: Michael Schierl <schierlm <at> gmx.de>
To: bug-gnu-emacs <at> gnu.org
Subject: Emacs thinks the background-mode is "dark" on Windows, when registry
 key HKEY_CURRENT_USER\Control Panel\Colors is empty
Date: Sun, 12 Apr 2009 19:41:50 +0200
Please describe exactly what actions triggered the bug
and the precise symptoms of the bug:


One one particular Windows system I have the effect that Emacs started
up with black text on white background, but the links were cyan (as if
the background was dark).

(frame-parameter nil 'background-mode) returned 'dark.

After a bit of investigation, I noticed that the registry key
HKEY_CURRENT_USER\Control Panel\Colors
did not have any values assigned. I don't know how this can happen, but
it seems that Windows copes very well with that, I never had any
incorrectly displayed program before.

The WINAPI call GetSysColor(5) still returns 0xFFFFFF, as expected, so
the background is drawn in white.

As a workaround, I changed one of the system colors in control panel, so
that Windows rewrote all the Colors keys in the registry. Now Emacs
looks fine. (This bug report text is from before the change, so you
still see the original error messages below).


In GNU Emacs 22.2.1 (i386-mingw-nt5.1.2600)
 of 2008-03-26 on RELEASE
Windowing system distributor `Microsoft Corp.', version 5.1.2600
configured using `configure --with-gcc (3.4)'

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: DEU
  locale-coding-system: cp1252
  default-enable-multibyte-characters: t

Major mode: Fundamental

Minor modes in effect:
  encoded-kbd-mode: t
  tooltip-mode: t
  tool-bar-mode: t
  mouse-wheel-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  blink-cursor-mode: t
  unify-8859-on-encoding-mode: t
  utf-translate-cjk-mode: t
  auto-compression-mode: t
  line-number-mode: t

Recent input:
M-x r e p o r t - e m <tab> <return>

Recent messages:
Unable to load color "SystemWindowText"
Unable to load color "SystemWindow"
Unable to load color "SystemWindowText"
Unable to load color "SystemWindow" [2 times]
Unable to load color "SystemWindowText"
Unable to load color "SystemWindow"
Loading emacsbug...
Loading regexp-opt...done
Loading emacsbug...done
Unable to load color "SystemWindowText"





bug reassigned from package `emacs' to `emacs,w32'. Request was from Jason Rumney <jasonr <at> gnu.org> to control <at> emacsbugs.donarmstrong.com. (Mon, 13 Apr 2009 05:30:03 GMT) Full text and rfc822 format available.

Reply sent to Jason Rumney <jasonr <at> gnu.org>:
You have taken responsibility. (Mon, 13 Apr 2009 16:30:02 GMT) Full text and rfc822 format available.

Notification sent to Michael Schierl <schierlm <at> gmx.de>:
bug acknowledged by developer. (Mon, 13 Apr 2009 16:30:03 GMT) Full text and rfc822 format available.

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

From: Jason Rumney <jasonr <at> gnu.org>
To: Michael Schierl <schierlm <at> gmx.de>, 2969-done <at> debbugs.gnu.org
Subject: Re: bug#2969: Emacs thinks the background-mode is "dark" on Windows,
 when registry key HKEY_CURRENT_USER\Control Panel\Colors is empty
Date: Tue, 14 Apr 2009 00:23:32 +0800
Michael Schierl wrote:
> After a bit of investigation, I noticed that the registry key
> HKEY_CURRENT_USER\Control Panel\Colors
> did not have any values assigned. I don't know how this can happen, but
> it seems that Windows copes very well with that, I never had any
> incorrectly displayed program before.
>
> The WINAPI call GetSysColor(5) still returns 0xFFFFFF, as expected, so
> the background is drawn in white.
>   

Thank you for the report.

Emacs does not use GetSysColor, as to do so would require hardcoding 
system color names rather than reading them from the registry as it does 
now. White is used as a fallback, because it is the default background 
color for w32 frames.

I have changed frame-set-background-mode to take this into account 
instead of falling through to the default of dark when non-existent 
colors are specified.





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

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

Previous Next


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