;; ### The maintainer is supposed to be stig, but I haven't seen him
;; around for ages. The real maintainer for the moment is Hrvoje
-;; Niksic <hniksic@srce.hr>.
+;; Niksic <hniksic@xemacs.org>.
;;; Code:
(setq hyper-apropos-prev-wconfig (current-window-configuration)))
(if (string= "" regexp)
(if (get-buffer hyper-apropos-apropos-buf)
- (if toggle-apropos
- (hyper-apropos-toggle-programming-flag)
- (message "Using last search results"))
+ (progn
+ (setq regexp hyper-apropos-last-regexp)
+ (if toggle-apropos
+ (hyper-apropos-toggle-programming-flag)
+ (message "Using last search results")))
(error "Be more specific..."))
(set-buffer (get-buffer-create hyper-apropos-apropos-buf))
(setq buffer-read-only nil)
(erase-buffer)
(if toggle-apropos
- (set (make-local-variable 'hyper-apropos-programming-apropos)
- (not (default-value 'hyper-apropos-programming-apropos))))
+ (if (local-variable-p 'hyper-apropos-programming-apropos
+ (current-buffer))
+ (setq hyper-apropos-programming-apropos
+ (not hyper-apropos-programming-apropos))
+ (set (make-local-variable 'hyper-apropos-programming-apropos)
+ (not (default-value 'hyper-apropos-programming-apropos)))))
(let ((flist (apropos-internal regexp
(if hyper-apropos-programming-apropos
#'fboundp
nil
(forward-char 3)
(read (point-marker))))
+ ((and
+ (eq major-mode 'hyper-apropos-help-mode)
+ (> (point) (point-min)))
+ (save-excursion
+ (goto-char (point-min))
+ (hyper-apropos-this-symbol)))
(t
(let* ((st (progn
(skip-syntax-backward "w_")
(interactive
(let ((var (hyper-apropos-this-symbol)))
(or (and var (boundp var))
- (and (setq var (and (eq major-mode 'hyper-apropos-help-mode)
- (save-excursion
- (goto-char (point-min))
- (hyper-apropos-this-symbol))))
- (boundp var))
(setq var nil))
(list var (hyper-apropos-read-variable-value var))))
(and var
(defun hyper-apropos-customize-variable ()
(interactive)
(let ((var (hyper-apropos-this-symbol)))
- (customize-variable var)))
+ (and
+ (or (and var (boundp var))
+ (setq var nil))
+ (customize-variable var))))
;; ---------------------------------------------------------------------- ;;
(interactive
(let ((fn (hyper-apropos-this-symbol)))
(or (fboundp fn)
- (and (setq fn (and (eq major-mode 'hyper-apropos-help-mode)
- (save-excursion
- (goto-char (point-min))
- (hyper-apropos-this-symbol))))
- (fboundp fn))
(setq fn nil))
(list fn)))
(if fn
(defun hyper-apropos-popup-menu (event)
(interactive "e")
(mouse-set-point event)
- (let* ((sym (or (hyper-apropos-this-symbol)
- (and (eq major-mode 'hyper-apropos-help-mode)
- (save-excursion
- (goto-char (point-min))
- (hyper-apropos-this-symbol)))))
+ (let* ((sym (hyper-apropos-this-symbol))
(notjunk (not (null sym)))
(command-p (if (commandp sym) t))
(variable-p (and sym (boundp sym)))