From 4d7a36314343a852890fb4705240c62c5a949718 Mon Sep 17 00:00:00 2001 From: Vinicius Jose Latorre Date: Thu, 11 Oct 2007 01:59:14 +0000 Subject: [PATCH] Fix :foreground and :background face attributes --- lisp/ChangeLog | 10 ++++++++++ lisp/ps-print.el | 31 +++++++++++++++++++++---------- 2 files changed, 31 insertions(+), 10 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index a233f914491..1eeb9820beb 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -2,6 +2,16 @@ * international/characters.el: Undo unwanted and unexplained change. +2007-10-10 Vinicius Jose Latorre + + * ps-print.el: Fix the usage of :foreground and :background face + attributes. Reported by Nikolaj Schumacher . + (ps-print-version): New version 6.7.6. + (ps-face-attributes, ps-face-attribute-list, ps-face-background): Fix + code. + (ps-face-foreground-color-p, ps-face-background-color-p) + (ps-face-color-p): New inline funs. + 2007-10-10 Carsten Dominik * org.el (org-additional-option-like-keywords): New constant. diff --git a/lisp/ps-print.el b/lisp/ps-print.el index 9d6f1dec34b..a8633b9a75f 100644 --- a/lisp/ps-print.el +++ b/lisp/ps-print.el @@ -10,11 +10,11 @@ ;; Maintainer: Kenichi Handa (multi-byte characters) ;; Vinicius Jose Latorre ;; Keywords: wp, print, PostScript -;; Version: 6.7.5 +;; Version: 6.7.6 ;; X-URL: http://www.emacswiki.org/cgi-bin/wiki/ViniciusJoseLatorre -(defconst ps-print-version "6.7.5" - "ps-print.el, v 6.7.5 <2007/07/20 vinicius> +(defconst ps-print-version "6.7.6" + "ps-print.el, v 6.7.6 <2007/10/10 vinicius> Vinicius's last change version -- this file may have been edited as part of Emacs without changes to the version number. When reporting bugs, please also @@ -6341,6 +6341,18 @@ to the equivalent Latin-1 characters.") (ps-output " S\n"))) +(defsubst ps-face-foreground-color-p (attr) + (memq attr '(foreground-color :foreground))) + + +(defsubst ps-face-background-color-p (attr) + (memq attr '(background-color :background))) + + +(defsubst ps-face-color-p (attr) + (memq attr '(foreground-color :foreground background-color :background))) + + (defun ps-face-attributes (face) "Return face attribute vector. @@ -6364,9 +6376,9 @@ If FACE is not a valid face name, use default face." (setq ps-print-face-alist (cons new-face ps-print-face-alist))) new-face)))) - ((eq (car face) 'foreground-color) + ((ps-face-foreground-color-p (car face)) (vector 0 (cdr face) nil)) - ((eq (car face) 'background-color) + ((ps-face-background-color-p (car face)) (vector 0 nil (cdr face))) (t (vector 0 nil nil)))) @@ -6379,12 +6391,11 @@ If FACE is not a valid face name, use default face." ((symbolp face) (memq face ps-use-face-background)) ((listp face) - (or (memq (car face) '(foreground-color background-color)) + (or (ps-face-color-p (car face)) (let (ok) (while face (if (or (memq (car face) ps-use-face-background) - (memq (car face) - '(foreground-color background-color))) + (ps-face-color-p (car face))) (setq face nil ok t) (setq face (cdr face)))) @@ -6401,10 +6412,10 @@ If FACE is not a valid face name, use default face." ((not (listp face-or-list)) (ps-face-attributes face-or-list)) ;; only foreground color, not a `real' face - ((eq (car face-or-list) 'foreground-color) + ((ps-face-foreground-color-p (car face-or-list)) (vector 0 (cdr face-or-list) nil)) ;; only background color, not a `real' face - ((eq (car face-or-list) 'background-color) + ((ps-face-background-color-p (car face-or-list)) (vector 0 nil (cdr face-or-list))) ;; list of faces (t -- 2.39.2