summaryrefslogtreecommitdiff
path: root/lisp
diff options
context:
space:
mode:
Diffstat (limited to 'lisp')
-rw-r--r--lisp/ChangeLog5
-rw-r--r--lisp/apropos.el17
2 files changed, 14 insertions, 8 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 1481d60afe2..a2e0f9dbe8b 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,8 @@
+2001-10-09 Miles Bader <miles@gnu.org>
+
+ * apropos.el (apropos-next-label-button): Use the presence of a
+ `apropos-label' property to detect label buttons.
+
2001-10-08 Miles Bader <miles@gnu.org>
* button.el (next-button, previous-button): Remove N and WRAP
diff --git a/lisp/apropos.el b/lisp/apropos.el
index 23f772648c1..e235859c69c 100644
--- a/lisp/apropos.el
+++ b/lisp/apropos.el
@@ -197,23 +197,24 @@ for the regexp; the part that matches gets displayed in this font."
(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