Set apropos-regexp directly, rather than expecting callers to do so.
(apropos-command, apropos, apropos-value, apropos-documentation):
Simplify calls to apropos-parse-pattern.
(apropos-sort-by-scores): Add new choice `verbose'.
(apropos-documentation-sort-by-scores): New defcustom.
(apropos-pattern): Now contains the pattern entered by the user.
(apropos-pattern-quoted): New defvar.
(apropos-regexp): New defvar, containing the regexp corresponding
to apropos-pattern.
(apropos-all-words-regexp): Renamed from apropos-all-regexp.
(apropos-read-pattern): New defun. Use it to read pattern arg in
interactive calls; returns list of words for a word list, and
string for a regexp.
(apropos-parse-pattern): Renamed from apropos-rewrite-regexp. Now
parses a list of words or regexp as returned by apropos-read-pattern.
(apropos-calc-scores): Return nil if apropos-regexp doesn't match.
(apropos-score-doc): Return a very high score if the string
entered by the user matches literally.
(apropos-variable): Doc fix. Use apropos-read-pattern.
(apropos-command): Doc fix. Use apropos-read-pattern and
apropos-parse-pattern. Call apropos-print with nosubst=t.
(apropos, apropos-value): Doc fix. Use apropos-read-pattern and
apropos-parse-pattern.
(apropos-documentation): Doc fix. Use apropos-read-pattern and
apropos-parse-pattern. Locally bind apropos-sort-by-scores to
apropos-documentation-sort-by-scores. Call apropos-print with
nosubst=t.
(apropos-documentation-internal): Pass doc string through
substitute-key-definition before adding text properties.
Highlight substring matching literal user input if possible.
(apropos-documentation-check-doc-file): Remove locals beg and end.
Fix calculation of score (as added twice). Pass doc string through
substitute-key-definition before adding text properties.
(apropos-documentation-check-elc-file): Pass doc string through
substitute-key-definition before adding text properties.
Highlight substring matching literal user input if possible.
(apropos-print): Add new arg NOSUBST; if set, command and variable
doc strings have already been passed through substitute-key-definition.
Add code to handle apropos-accumulator items without score element
for backwards compatibility (e.g. with woman package).
Only show scores if apropos-sort-by-scores is `verbose'.
(apropos-symbols-internal): New fun. Extracted from `apropos'.
(apropos): Use it.
(apropos-print): Add optional `text' argument.
(apropos-describe-plist): Use help-buffer and hexlp-setup-xref.
Don't assume point-min == 1.
(apropos-false-hit-str, apropos-true-hit-doc): New functions.
(apropos-command, apropos-value, apropos-documentation-internal)
(apropos-documentation-check-doc-file)
(apropos-documentation-check-elc-file): Use them to filter out
false matches where only one keyword matches, but more than once.
(apropos-function, apropos-macro, apropos-command)
(apropos-variable, apropos-face, apropos-group, apropos-widget)
(apropos-plist): New button types.
(apropos-label-properties): Variable removed.
(apropos-print): Pass button-type to apropos-print-doc, rather
than help function and label text.
(apropos-print-doc): Remove ACTION and STR args, add TYPE arg.
Get button label from TYPE.
(apropos-symbol-button-display-help)
(apropos-label-button-display-help, apropos-next-label-button): New functions.
(apropos-mode-map): Make button-buffer-map our parent.
Don't bind mouse events.
(apropos-print, apropos-print-doc): Create buttons instead of text properties.
(apropos-mouse-follow): Function removed.
(apropos-follow): Use buttons.
(apropos-keybinding-face, apropos-label-face): Likewise.
(apropos-property-face, apropos-match-face): Likewise.
(apropos-label-properties): New variable.
(apropos-print-doc): Use apropos-label-properties.
(apropos-print): Set apropos-label-properties.