- (symbol-plist symbol))))))
- (let ((tem apropos-accumulator))
- (while tem
- (if (get (car tem) 'apropos-inhibit)
- (setq apropos-accumulator (delq (car tem) apropos-accumulator)))
- (setq tem (cdr tem))))
- (let ((p apropos-accumulator)
- symbol doc properties)
- (while p
- (setcar p (list
- (setq symbol (car p))
- 0
- (when (fboundp symbol)
- (if (setq doc (condition-case nil
- (documentation symbol t)
- (void-function
- "(alias for undefined function)")
- (error
- "(error retrieving function documentation")))
- (substring doc 0 (string-match "\n" doc))
- "(not documented)"))
- (when (boundp symbol)
- (apropos-documentation-property
+ (symbol-plist symbol)))))
+ (or do-all apropos-do-all)))
+
+(defun apropos-symbols-internal (symbols keys &optional text)
+ ;; Filter out entries that are marked as apropos-inhibit.
+ (let ((all nil))
+ (dolist (symbol symbols)
+ (unless (get symbol 'apropos-inhibit)
+ (push symbol all)))
+ (setq symbols all))
+ (let ((apropos-accumulator
+ (mapcar
+ (lambda (symbol)
+ (let (doc properties)
+ (list
+ symbol
+ (apropos-score-symbol symbol)
+ (when (fboundp symbol)
+ (if (setq doc (condition-case nil
+ (documentation symbol t)
+ (void-function
+ "(alias for undefined function)")
+ (error
+ "(can't retrieve function documentation)")))
+ (substring doc 0 (string-match "\n" doc))
+ "(not documented)"))
+ (when (boundp symbol)
+ (apropos-documentation-property