Add a sanity check to apropos-documentation-internal
* lisp/apropos.el (apropos-documentation-internal): Add a sanity check to be less fragile in the presence of invalid data (bug#16725).
This commit is contained in:
parent
35fb7897f1
commit
1a3a1f709d
1 changed files with 17 additions and 13 deletions
|
@ -867,19 +867,23 @@ Returns list of symbols and documentation found."
|
|||
symbol)))))
|
||||
|
||||
(defun apropos-documentation-internal (doc)
|
||||
(if (consp doc)
|
||||
(apropos-documentation-check-elc-file (car doc))
|
||||
(if (and doc
|
||||
(string-match apropos-all-words-regexp doc)
|
||||
(apropos-true-hit-doc doc))
|
||||
(when apropos-match-face
|
||||
(setq doc (substitute-command-keys (copy-sequence doc)))
|
||||
(if (or (string-match apropos-pattern-quoted doc)
|
||||
(string-match apropos-all-words-regexp doc))
|
||||
(put-text-property (match-beginning 0)
|
||||
(match-end 0)
|
||||
'face apropos-match-face doc))
|
||||
doc))))
|
||||
(cond
|
||||
((consp doc)
|
||||
(apropos-documentation-check-elc-file (car doc)))
|
||||
((and doc
|
||||
;; Sanity check in case bad data has snuck into the
|
||||
;; documentation slot.
|
||||
(stringp doc)
|
||||
(string-match apropos-all-words-regexp doc)
|
||||
(apropos-true-hit-doc doc))
|
||||
(when apropos-match-face
|
||||
(setq doc (substitute-command-keys (copy-sequence doc)))
|
||||
(if (or (string-match apropos-pattern-quoted doc)
|
||||
(string-match apropos-all-words-regexp doc))
|
||||
(put-text-property (match-beginning 0)
|
||||
(match-end 0)
|
||||
'face apropos-match-face doc))
|
||||
doc))))
|
||||
|
||||
(defun apropos-format-plist (pl sep &optional compare)
|
||||
(setq pl (symbol-plist pl))
|
||||
|
|
Loading…
Add table
Reference in a new issue