   "Directory where we can find additionnal themes (personnal).
 Note that there is at least one directory shipped with the official
 color-theme distribution where all contributed themes are located.
-This official selection can't be changed with that variable. 
+This official selection can't be changed with that variable.
 However, you still can decide to turn it on or off and thus,
 not be shown with all themes but yours."
   :type '(repeat string)
   :group 'color-theme)
 
-(defcustom color-theme-libraries (directory-files 
-                                  (concat 
+(defcustom color-theme-libraries (directory-files
+                                  (concat
                                    (file-name-directory (locate-library "color-theme"))
                                    "/themes") t "^color-theme")
   "A list of files, which will be loaded in color-theme-initialize depending
-on `color-theme-load-all-themes' value. 
+on `color-theme-load-all-themes' value.
 This allows a user to prune the default color-themes (which can take a while
 to load)."
   :type '(repeat string)

  (color-theme-initialize)
)
;; TODO: I don't like all those function names cluttering up my namespace.
;; Instead, a hashtable for the color-themes should be created. Now that 
;; define-color-theme is around, it should be easy to change in just the
;; one place. 


(provide 'color-theme)

;; the following lambda is the result from the above calculation
;; (color-theme-spec-resolve-height (lambda (f) (* (funcall (lambda (f) (* 2 f)) f) 2.0)) 5)

(defvar color-theme-spec-resolve-inheritance-stack nil)

(defun plist-del (plist prop)
  (when plist
    (if (eq (car plist) prop)
        (cddr plist)
      (cons (car plist)
            (cons (cadr plist)
                  (plist-del (cddr plist) prop))))))

(defun assert-plist (l)
 (unless (= 0 (% (length l) 2))
   (error "not a plist: %s" l)))

(defun color-theme-spec-resolve-inheritance (atts)
  "Resolve all occurences of the :inherit attribute."
  (assert-plist atts)
  (let ((face (plist-get atts :inherit)))
    ;; From the Emacs 21 NEWS file: "Attributes from inherited faces are
    ;; merged into the face like an underlying face would be." --
