]> git.eshelyaron.com Git - emacs.git/commitdiff
Fix 256 color mapping in rxvt.el
authoroblique <psyberbits@gmail.com>
Tue, 17 Dec 2013 16:03:23 +0000 (00:03 +0800)
committerChong Yidong <cyd@gnu.org>
Tue, 17 Dec 2013 16:03:23 +0000 (00:03 +0800)
* term/rxvt.el (rxvt-rgb-convert-to-16bit): Standardize with
xterm-rgb-convert-to-16bit.
(rxvt-register-default-colors): Standardize with
xterm-register-default-colors.

Fixes: debbugs:14078
lisp/ChangeLog
lisp/term/rxvt.el

index 8d67a12e3d6da0ce1c48dab1e1b3c330d13884f4..a55cf9c180ddd9f414984410a627754b8e031cac 100644 (file)
@@ -1,3 +1,10 @@
+2013-12-17  oblique  <psyberbits@gmail.com>  (tiny change)
+
+       * term/rxvt.el (rxvt-rgb-convert-to-16bit): Standardize with
+       xterm-rgb-convert-to-16bit.
+       (rxvt-register-default-colors): Standardize with
+       xterm-register-default-colors (Bug#14078).
+
 2013-12-17  Dima Kogan  <dima@secretsauce.net>  (tiny change)
 
        * simple.el (kill-region): Pass mark first, then point, so that
index 0e026a8e4be977e40a50dbc836da3a149c898bd0..4dbbc12786c46133277745367cd4423d47f46d8c 100644 (file)
 
 (defun rxvt-rgb-convert-to-16bit (prim)
   "Convert an 8-bit primary color value PRIM to a corresponding 16-bit value."
-  (min 65535 (round (* (/ prim 255.0) 65535.0))))
+  (logior prim (lsh prim 8)))
 
 (defun rxvt-register-default-colors ()
   "Register the default set of colors for rxvt or compatible emulator.
@@ -233,9 +233,9 @@ for the currently selected frame."
            (tty-color-define (format "color-%d" (- 256 ncolors))
                              (- 256 ncolors)
                              (mapcar 'rxvt-rgb-convert-to-16bit
-                                     (list (round (* r 42.5))
-                                           (round (* g 42.5))
-                                           (round (* b 42.5)))))
+                                     (list (if (zerop r) 0 (+ (* r 40) 55))
+                                           (if (zerop g) 0 (+ (* g 40) 55))
+                                           (if (zerop b) 0 (+ (* b 40) 55)))))
            (setq b (1+ b))
            (if (> b 5)
                (setq g (1+ g)