(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
(if (and (or (symbolp defn) (symbolp (setq defn (car-safe defn))))
defn
show)
- (hyper-apropos-get-doc defn t))))))
+ (hyper-apropos-get-doc defn t))
+ (or (memq major-mode '(hyper-apropos-mode hyper-apropos-help-mode))
+ (setq hyper-apropos-prev-wconfig (current-window-configuration)))))))
;;;###autoload
(defun hyper-describe-face (symbol &optional this-ref-buffer)
": "))
(mapcar #'(lambda (x) (list (symbol-name x)))
(face-list))
- nil t nil 'hyper-apropos-face-history)))
- (list (if (string= val "")
- (progn (push (symbol-name v) hyper-apropos-face-history) v)
- (intern-soft val))
+ nil t nil 'hyper-apropos-face-history
+ (and v (symbol-name v)))))
+ (list (intern-soft val)
current-prefix-arg)))
(if (null symbol)
(message "Sorry, nothing to describe.")
(if v
(format " (default %s): " v)
": "))
- obarray predicate t nil 'variable-history)))
- (if (string= val "")
- (progn (push (symbol-name v) variable-history) v)
- (intern-soft val))))
+ obarray predicate t nil 'variable-history
+ (and v (symbol-name v)))))
+ (intern-soft val)))
+
;;;###autoload
(define-obsolete-function-alias
'hypropos-read-variable-symbol 'hyper-apropos-read-variable-symbol)
(format "%s (default %s): " prompt fn)
(format "%s: " prompt))
obarray 'fboundp t nil
- 'function-history)))
- (if (equal val "")
- (progn (push (symbol-name fn) function-history) fn)
- (intern-soft val))))
+ 'function-history
+ (and fn (symbol-name fn)))))
+ (intern-soft val)))
(defun hyper-apropos-last-help (arg)
"Go back to the last symbol documented in the *Hyper Help* buffer."
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)))