(diary-face, holiday-face): Add dark-background variants.
[bpt/emacs.git] / lisp / enriched.el
index 08c0cec..804048b 100644 (file)
@@ -99,7 +99,7 @@ expression, which is evaluated to get the string to insert.")
 (defconst enriched-annotation-format "<%s%s>"
   "General format of enriched-text annotations.")
 
-(defconst enriched-annotation-regexp "<\\(/\\)?\\([-A-za-z0-9]+\\)>"
+(defconst enriched-annotation-regexp "<\\(/\\)?\\([-A-Za-z0-9]+\\)>"
   "Regular expression matching enriched-text annotations.")
 
 (defconst enriched-translations
@@ -349,9 +349,9 @@ One annotation each for foreground color, background color, italic, etc."
 (defun enriched-face-ans (face)
   "Return annotations specifying FACE."
   (cond ((and (consp face) (eq (car face) 'foreground-color))
-        (list "x-color" (cdr face)))
+        (list (list "x-color" (cdr face))))
        ((and (consp face) (eq (car face) 'background-color))
-        (list "x-bg-color" (cdr face)))
+        (list (list "x-bg-color" (cdr face))))
        ((string-match "^fg:" (symbol-name face))
         (list (list "x-color" (substring (symbol-name face) 3))))
        ((string-match "^bg:" (symbol-name face))
@@ -361,8 +361,10 @@ One annotation each for foreground color, background color, italic, etc."
                (props (face-font face t))
                (ans (cdr (format-annotate-single-property-change
                           'face nil props enriched-translations))))
-          (if fg (setq ans (cons (list "x-color" fg) ans)))
-          (if bg (setq ans (cons (list "x-bg-color" bg) ans)))
+          (unless (eq fg 'unspecified)
+            (setq ans (cons (list "x-color" fg) ans)))
+          (unless (eq bg 'unspecified)
+            (setq ans (cons (list "x-bg-color" bg) ans)))
           ans))))
 
 ;;;
@@ -442,7 +444,7 @@ Return value is \(begin end name positive-p), or nil if none was found."
   (let ((face (intern (concat "fg:" color))))
     (cond ((null color)
           (message "Warning: no color specified for <x-color>"))
-         ((internal-find-face face))
+         ((facep face))
          ((and (display-color-p) (facemenu-get-face face)))
          ((make-face face)
           (message "Warning: color `%s' can't be displayed" color)))
@@ -452,7 +454,7 @@ Return value is \(begin end name positive-p), or nil if none was found."
   (let ((face (intern (concat "bg:" color))))
     (cond ((null color)
           (message "Warning: no color specified for <x-bg-color>"))
-         ((internal-find-face face))
+         ((facep face))
          ((and (display-color-p) (facemenu-get-face face)))
          ((make-face face)
           (message "Warning: color `%s' can't be displayed" color)))