X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=scm%2Fx11-color.scm;h=b9cb8abfb8e651f302e6b4ed2259cce8c29dbe6a;hb=HEAD;hp=5be76572923f4dd14b2632f80b2b1f057bd0d18f;hpb=08560a1b8076630c4fc6cb9b902614d8b74fd6fc;p=lilypond.git diff --git a/scm/x11-color.scm b/scm/x11-color.scm index 5be7657292..b9cb8abfb8 100644 --- a/scm/x11-color.scm +++ b/scm/x11-color.scm @@ -1,6 +1,6 @@ ;;;; This file is part of LilyPond, the GNU music typesetter. ;;;; -;;;; Copyright (C) 2005--2012 Bernard Hurley +;;;; Copyright (C) 2005--2015 Bernard Hurley ;;;; ;;;; LilyPond is free software: you can redistribute it and/or modify ;;;; it under the terms of the GNU General Public License as published by @@ -15,7 +15,7 @@ ;;;; You should have received a copy of the GNU General Public License ;;;; along with LilyPond. If not, see . -(define x11-color-list +(define x11-color-list '((snow 1 0.98039215686274506 0.98039215686274506) (GhostWhite 0.97254901960784312 0.97254901960784312 1) (WhiteSmoke 0.96078431372549022 0.96078431372549022 0.96078431372549022) @@ -677,32 +677,32 @@ (define (make-x11-color-handler) (let ((x11-color-table (make-hash-table 31))) - + (lambda (arg) - (let* - ((arg-sym (if (string? arg) - (if (string-index arg #\ ) - (let - ((arg-list (string-split (string-capitalize arg) #\ ))) + (let* + ((arg-sym (if (string? arg) + (if (string-index arg #\ ) + (let + ((arg-list (string-split (string-capitalize arg) #\ ))) + + (string->symbol + (let append-all ((x arg-list)) + (if (null? x) + "" + (string-append (car x) (append-all (cdr x))))))) + + (string->symbol arg)) + arg)) + + (temp (hashq-ref x11-color-table arg-sym))) + + (if temp + temp + (let* + ((temp-1 (assq-ref x11-color-list arg-sym)) + (temp (if temp-1 temp-1 '(0 0 0)))) - (string->symbol - (let append-all ((x arg-list)) - (if (null? x) - "" - (string-append (car x) (append-all (cdr x))))))) - - (string->symbol arg)) - arg)) - - (temp (hashq-ref x11-color-table arg-sym))) - - (if temp - temp - (let* - ((temp-1 (assq-ref x11-color-list arg-sym)) - (temp (if temp-1 temp-1 '(0 0 0)))) - - (hashq-create-handle! x11-color-table arg-sym temp) - temp)))))) + (hashq-create-handle! x11-color-table arg-sym temp) + temp)))))) (define-public x11-color (make-x11-color-handler))