# HG changeset patch # User Karl Heuer # Date 824937901 0 # Node ID e555a2d121214a52fc74c40a04ab69450c74b778 # Parent 4cbc6690c0f7f2ddcfb47d20a9c6eb74dc7679b5 (ps-generate-postscript-with-faces): Handle buffer-invisibility-spec when interpreting the invisible prop. diff -r 4cbc6690c0f7 -r e555a2d12121 lisp/ps-print.el --- a/lisp/ps-print.el Wed Feb 21 21:24:40 1996 +0000 +++ b/lisp/ps-print.el Wed Feb 21 21:25:01 1996 +0000 @@ -1760,8 +1760,20 @@ (min (next-overlay-change from) to))) (setq position (min property-change overlay-change)) + ;; The code below is not quite correct, + ;; because a non-nil overlay invisible property + ;; which is inactive according to the current value + ;; of buffer-invisibility-spec nonetheless overrides + ;; a face text property. (setq face - (cond ((get-text-property from 'invisible) nil) + (cond ((let ((prop (get-text-property from 'invisible))) + ;; Decide whether this invisible property + ;; really makes the text invisible. + (if (eq buffer-invisibility-spec t) + (not (null prop)) + (or (memq prop buffer-invisibility-spec) + (assq prop buffer-invisibility-spec)))) + nil) ((get-text-property from 'face)) (t 'default))) (let ((overlays (overlays-at from)) @@ -1775,7 +1787,11 @@ 0))) (if (and (or overlay-invisible overlay-face) (> overlay-priority face-priority)) - (setq face (cond (overlay-invisible nil) + (setq face (cond ((if (eq buffer-invisibility-spec t) + (not (null overlay-invisible)) + (or (memq overlay-invisible buffer-invisibility-spec) + (assq overlay-invisible buffer-invisibility-spec))) + nil) ((and face overlay-face))) face-priority overlay-priority))) (setq overlays (cdr overlays))))