summaryrefslogtreecommitdiff
path: root/lisp/ansi-color.el
diff options
context:
space:
mode:
authorLeo Liu <sdl.web@gmail.com>2011-03-27 09:56:35 +0800
committerLeo Liu <sdl.web@gmail.com>2011-03-27 09:56:35 +0800
commit7a097943f7d3433a5d053eee4b2f3254230fee64 (patch)
tree5113df84df000ef2eeef9ca094c527e9ff45a2cf /lisp/ansi-color.el
parentf2eefd24778eb8d577ea09a5c2d28b4df1471b8b (diff)
downloademacs-7a097943f7d3433a5d053eee4b2f3254230fee64.tar.gz
emacs-7a097943f7d3433a5d053eee4b2f3254230fee64.tar.bz2
emacs-7a097943f7d3433a5d053eee4b2f3254230fee64.zip
Support separate fg and bg colors in ansi-color.el
A color suitable for foreground text can make unreadable text if used as background color, and vice versa.
Diffstat (limited to 'lisp/ansi-color.el')
-rw-r--r--lisp/ansi-color.el20
1 files changed, 16 insertions, 4 deletions
diff --git a/lisp/ansi-color.el b/lisp/ansi-color.el
index 2b43940c1bd..ff7edf40dcb 100644
--- a/lisp/ansi-color.el
+++ b/lisp/ansi-color.el
@@ -132,8 +132,18 @@ Parameter Color
37 47 white
This vector is used by `ansi-color-make-color-map' to create a color
-map. This color map is stored in the variable `ansi-color-map'."
- :type '(vector string string string string string string string string)
+map. This color map is stored in the variable `ansi-color-map'.
+
+Each element may also be a cons cell where the car and cdr specify the
+foreground and background colors, respectively."
+ :type '(vector (choice color (cons color color))
+ (choice color (cons color color))
+ (choice color (cons color color))
+ (choice color (cons color color))
+ (choice color (cons color color))
+ (choice color (cons color color))
+ (choice color (cons color color))
+ (choice color (cons color color)))
:set 'ansi-color-map-update
:initialize 'custom-initialize-default
:group 'ansi-colors)
@@ -528,7 +538,8 @@ The face definitions are based upon the variables
(mapc
(function (lambda (e)
(aset ansi-color-map index
- (ansi-color-make-face 'foreground e))
+ (ansi-color-make-face 'foreground
+ (if (consp e) (car e) e)))
(setq index (1+ index)) ))
ansi-color-names-vector)
;; background attributes
@@ -536,7 +547,8 @@ The face definitions are based upon the variables
(mapc
(function (lambda (e)
(aset ansi-color-map index
- (ansi-color-make-face 'background e))
+ (ansi-color-make-face 'background
+ (if (consp e) (cdr e) e)))
(setq index (1+ index)) ))
ansi-color-names-vector)
ansi-color-map))