2 (require 'munsell-conv)
3 (require 'munsell-names)
5 (defun munsell-resolv-color (color)
6 (munsell-split color (h v c)
7 (munsell-lookup (munsell-round h v c 'round 'round 'round))
8 (let ((p (assoc color munsell-named-color-alist)))
13 (defadvice modify-frame-parameters (before munsell-resolv-color activate)
26 (munsell-resolv-color (cdr p)))
30 (defadvice set-face-attribute-internal (before munsell-resolv-color activate)
31 (when (memq (ad-get-arg 1) '(foreground background))
32 (ad-set-arg 2 (munsell-resolv-color (ad-get-arg 2)))))
34 (defun munsel-resolv-property-face (prop)
35 (if (and (consp prop) (not (stringp (cdr prop))))
38 (if (memq (car p) '(foreground-color background-color))
39 (cons (car p) (munsell-resolv-color (cdr p)))
42 (if (memq (car prop) '(foreground-color background-color))
43 (cons (car prop) (munsell-resolv-color (cdr prop)))
46 (defadvice put-text-property (before munsell-resolv-color activate)
47 (when (eq (ad-get-arg 2) 'face)
48 (ad-set-arg 3 (munsel-resolv-property-face (ad-get-arg 3)))))
50 (defun munsell-resolv-properties (props)
51 (setq props (copy-sequence props))
54 (when (eq (car p) 'face)
55 (setcar (cdr p) (munsel-resolv-property-face (cadr p))))
59 (defadvice add-text-properties (before munsell-resolv-color activate)
60 (ad-set-arg 2 (munsell-resolv-properties (ad-get-arg 2))))
62 (defadvice set-text-properties (before munsell-resolv-color activate)
63 (ad-set-arg 2 (munsell-resolv-properties (ad-get-arg 2))))
65 (defadvice overlay-put (before munsell-resolv-color activate)
66 (when (eq (ad-get-arg 1) 'face)
67 (ad-set-arg 2 (munsel-resolv-property-face (ad-get-arg 2)))))