Mercurial > emacs
changeset 39706:4825323bc19f
(apropos-next-label-button): Use the presence of a
`apropos-label' property to detect label buttons.
author | Miles Bader <miles@gnu.org> |
---|---|
date | Mon, 08 Oct 2001 16:35:33 +0000 |
parents | 29172903e620 |
children | 9507748aa178 |
files | lisp/apropos.el |
diffstat | 1 files changed, 9 insertions(+), 8 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/apropos.el Mon Oct 08 15:47:47 2001 +0000 +++ b/lisp/apropos.el Mon Oct 08 16:35:33 2001 +0000 @@ -197,23 +197,24 @@ (apropos-describe-plist (button-get button 'apropos-symbol)))) (defun apropos-next-label-button (pos) - "Returns the next `apropos-label' button after POS, or nil if there's none. + "Returns the next apropos label button after POS, or nil if there's none. Will also return nil if more than one `apropos-symbol' button is encountered before finding a label." (let* ((button (next-button pos t)) (already-hit-symbol nil) - (button-type (and button (button-get button 'type)))) + (label (and button (button-get button 'apropos-label))) + (type (and button (button-get button 'type)))) (while (and button - (not (eq button-type 'apropos-label)) - (or (not (eq button-type 'apropos-symbol)) + (not label) + (or (not (eq type 'apropos-symbol)) (not already-hit-symbol))) - (when (eq button-type 'apropos-symbol) + (when (eq type 'apropos-symbol) (setq already-hit-symbol t)) (setq button (next-button (button-start button))) (when button - (setq button-type (button-get button 'type)))) - (and (eq button-type 'apropos-label) - button))) + (setq label (button-get button 'apropos-label)) + (setq type (button-get button 'type)))) + (and label button))) ;;;###autoload