;; ### 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:
(defvar hyper-apropos-mode-hook nil
"*User function run after hyper-apropos mode initialization. Usage:
-\(setq hyper-apropos-mode-hook '(lambda () ... your init forms ...)).")
+\(add-hook 'hyper-apropos-mode-hook #'(lambda () ... your init forms ...)).")
;; ---------------------------------------------------------------------- ;;
(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
;; ---------------------------------------------------------------------- ;;
-;; similar to `describe-key-briefly', copied from prim/help.el by CW
+;; similar to `describe-key-briefly', copied from help.el by CW
;;;###autoload
(defun hyper-describe-key (key)
(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)
(if v
(format " (default %s): " v)
": "))
- (mapcar (function (lambda (x) (list (symbol-name x))))
+ (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.")
(setq hyper-apropos-prev-wconfig (current-window-configuration)))
(hyper-apropos-get-doc symbol t nil this-ref-buffer)))
+;;;###autoload
(defun hyper-where-is (symbol)
"Print message listing key sequences that invoke specified command."
(interactive (list (hyper-apropos-read-function-symbol "Where is function")))
(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."
(progn
(setq ok t)
(copy-face symbol 'hyper-apropos-temp-face 'global)
- (mapcar (function
- (lambda (property)
- (setq symtype (face-property-instance symbol
- property))
- (if symtype
- (set-face-property 'hyper-apropos-temp-face
- property
- symtype))))
+ (mapcar #'(lambda (property)
+ (setq symtype (face-property-instance symbol
+ property))
+ (if symtype
+ (set-face-property 'hyper-apropos-temp-face
+ property
+ symtype)))
built-in-face-specifiers)
(setq font (cons (face-property-instance symbol 'font nil 0 t)
(face-property-instance symbol 'font))
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)))