(defun apropos-value-internal (predicate symbol function)
(if (funcall predicate symbol)
(progn
(setq symbol (or (ignore-errors
(prin1-to-string (funcall function symbol)))
""))
(if (string-match apropos-regexp symbol)
(progn
(if apropos-match-face
(put-text-property (match-beginning 0) (match-end 0)
'face apropos-match-face
symbol))
symbol)))))