aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJulien Danjou <[email protected]>2012-01-19 23:06:49 +0000
committerKatsumi Yamaoka <[email protected]>2012-01-19 23:06:49 +0000
commit0d0deb382bfc139f4c30f1f17ef1ab410ff94836 (patch)
treeb42830135710aea1059a7dc389940794b6a6b5c1
parent1ef176814849c2c180ce80c65feb7af3ca3efa68 (diff)
color.el (color-name-to-rgb): Use the white color to find the max color component value and return correctly computed values.
(color-name-to-rgb): Add missing float conversion for max value.
-rw-r--r--lisp/ChangeLog6
-rw-r--r--lisp/color.el5
2 files changed, 10 insertions, 1 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 8fa8031d12..ab813e2192 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,9 @@
+2012-01-19 Julien Danjou <[email protected]>
+
+ * color.el (color-name-to-rgb): Use the white color to find the max
+ color component value and return correctly computed values.
+ (color-name-to-rgb): Add missing float conversion for max value.
+
2012-01-19 Martin Rudalics <[email protected]>
* window.el (window--state-get-1, window-state-get): Do not use
diff --git a/lisp/color.el b/lisp/color.el
index ff7f0eee4e..6fab613ba6 100644
--- a/lisp/color.el
+++ b/lisp/color.el
@@ -53,7 +53,10 @@ numbers, (RED GREEN BLUE), each between 0.0 and 1.0 inclusive.
Optional arg FRAME specifies the frame where the color is to be
displayed. If FRAME is omitted or nil, use the selected frame.
If FRAME cannot display COLOR, return nil."
- (mapcar (lambda (x) (/ x 65535.0)) (color-values color frame)))
+ ;; `colors-values' maximum value is either 65535 or 65280 depending on the
+ ;; display system. So we use a white conversion to get the max value.
+ (let ((valmax (float (car (color-values "#ffffff")))))
+ (mapcar (lambda (x) (/ x valmax)) (color-values color frame))))
(defun color-rgb-to-hex (red green blue)
"Return hexadecimal notation for the color RED GREEN BLUE.