[Python-modules-team] Bug#657263: python-docutils: Emacs mode's header faces don't handle light/dark backgrounds properly

Samuel Bronson naesten at gmail.com
Wed Jan 25 00:41:37 UTC 2012


Package: python-docutils
Version: 0.8.1-4
Severity: normal
File: /usr/share/emacs/site-lisp/rst.el

The header face background color initialization is based on the
assumption that if `frame-background-mode' is not `dark', then the frame
background color must be light.  However, this variable is documented as
follows:

,----[ C-h v frame-background-mode RET ]
| frame-background-mode is a variable defined in `faces.el'.
| Its value is nil
| 
| Documentation:
| The brightness of the background.
| Set this to the symbol `dark' if your background color is dark,
| `light' if your background is light, or nil (automatic by default)
| if you want Emacs to examine the brightness for you.  Don't set this
| variable with `setq'; this won't have the expected effect.
| 
| You can customize this variable.
`----

Thus, if the value is nil, this variable tells us nothing about whether
the background color is light or dark.  In fact, it turns out that this
can vary between frames within an Emacs session.

The usual way of handling this is to use `background' specs in the face
definition, something like this:

,----
| (defface link-visited
|   '((default :inherit link)
|     (((class color) (background light)) :foreground "magenta4")
|     (((class color) (background dark)) :foreground "violet"))
|   "Basic face for visited links."
|   :group 'basic-faces
|   :version "22.1")
`----

I would suggest replacing the affected options in the
`rst-faces-defaults' group with two options each, one for light
backgrounds and one for dark backgrounds.  One approach would be to
allow each affected variable to accept a "(light . dark)" cons as an
alternative to the single scalar it accepts now, and putting the
defaults in this form rather than conditionalizing them.


Note: the easiest way to see the problem is to try using the mode in a
terminal which Emacs automatically identifies as having a dark
background color, with `frame-background-mode' at its default (nil)
value. (Try PuTTY/pterm, for example.)


-- System Information:
Debian Release: squeeze/sid
  APT prefers testing
  APT policy: (990, 'testing'), (500, 'unstable'), (1, 'experimental')
Architecture: i386 (i686)

Kernel: Linux 2.6.30-1-686 (SMP w/1 CPU core)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash

Versions of packages python-docutils depends on:
ii  docutils-common               0.8.1-4    text processing system for reStruc
ii  python                        2.7.2-7    interactive high-level object-orie
ii  python-roman                  0.5-3      module for generating/analyzing Ro
ii  python-support                1.0.14     automated rebuilding support for P

Versions of packages python-docutils recommends:
ii  docutils-doc                 0.8.1-4     text processing system for reStruc
ii  libpaper-utils               1.1.23+nmu1 library for handling paper charact
ii  python-imaging               1.1.7-4     Python Imaging Library
pn  python-lxml                  <none>      (no description available)
pn  python-pygments              <none>      (no description available)

Versions of packages python-docutils suggests:
ii  texlive-lang-french           2009-3     TeX Live: French
ii  texlive-latex-base            2009-8     TeX Live: Basic LaTeX packages
ii  texlive-latex-recommended     2009-8     TeX Live: LaTeX recommended packag
pn  ttf-linux-libertine           <none>     (no description available)

-- no debconf information

-- debsums errors found:
dpkg-query: warning: parsing file '/var/lib/dpkg/status' near line 10854 package 'jhcore':
 missing architecture
dpkg-query: warning: parsing file '/var/lib/dpkg/status' near line 17672 package 'docbook-mathml':
 missing architecture
dpkg-query: warning: parsing file '/var/lib/dpkg/status' near line 22720 package 'apt-show-source':
 missing architecture
dpkg-query: warning: parsing file '/var/lib/dpkg/status' near line 35919 package 'tads2-mode':
 missing architecture
dpkg-query: warning: parsing file '/var/lib/dpkg/status' near line 39027 package 'lambdamoo':
 missing architecture

-- 
Hi! I'm a .signature virus! Copy me into your ~/.signature to help me spread!





More information about the Python-modules-team mailing list