X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=lisp%2Fhyper-apropos.el;h=d5e4cde0909481707aa443b71a0e5ac1d46246bf;hb=6b6f8be0854598dbcdabe46e4d36b13f880361fe;hp=dd3397a6793b7dde07259f62ce273a786d705518;hpb=46f51e794ddb493a8a76ec2f3be00b41e3b0be22;p=chise%2Fxemacs-chise.git.1 diff --git a/lisp/hyper-apropos.el b/lisp/hyper-apropos.el index dd3397a..d5e4cde 100644 --- a/lisp/hyper-apropos.el +++ b/lisp/hyper-apropos.el @@ -58,7 +58,7 @@ ;; Massive changes by Christoph Wedler ;; Some changes for XEmacs 20.3 by hniksic -;; ### The maintainer is supposed to be stig, but I haven't seen him +;; #### 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 . @@ -310,10 +310,12 @@ a = autoloaded, b = byte-compiled, i = internal, l = lambda, m = macro.\n\n" (if (natnump l) l 0))) (and hyper-apropos-show-brief-docs (setq doc - ;; A symbol's function slot can point to an unbound symbol. - ;; In that case, `documentation' will fail. - (ignore-errors - (documentation fn))) + ;; A symbol's function slot can point to an unbound symbol. + ;; In that case, `documentation' will fail. + (condition-case nil + (documentation fn) + (void-function "(alias for undefined function)") + (error "(unexpected error from `documentation')"))) (if (string-match "^([^\n\t )]+[\t ]*\\([^\n)]+\\)?)\\(:[\t ]*\\|\n?\\'\\)" doc) @@ -438,7 +440,9 @@ General Commands: (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) @@ -460,10 +464,9 @@ See also `hyper-apropos' and `hyper-describe-function'." ": ")) (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.") @@ -530,10 +533,10 @@ See also `hyper-apropos' and `hyper-describe-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) @@ -549,10 +552,9 @@ See also `hyper-apropos' and `hyper-describe-function'." (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." @@ -726,7 +728,12 @@ See also `hyper-apropos' and `hyper-describe-function'." local (current-local-map) global (current-global-map) obsolete (get symbol 'byte-obsolete-info) - doc (or (documentation symbol) "function not documented")) + doc (or (condition-case nil + (documentation symbol) + (void-function + "(alias for undefined function)") + (error "(unexpected error from `documention')")) + "function not documented")) (save-excursion (set-buffer hyper-apropos-help-buf) (goto-char (point-max)) @@ -1085,12 +1092,13 @@ Deletes lines which match PATTERN." 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))) + ;; What's this? This ends up in the same symbol already described. +;; ((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_")