comparison lisp/help.el @ 282:c42ec1d1cded r21-0b39

Import from CVS: tag r21-0b39
author cvs
date Mon, 13 Aug 2007 10:33:18 +0200
parents 7df0dd720c89
children 558f606b08ae
comparison
equal deleted inserted replaced
281:090b52736db2 282:c42ec1d1cded
80 (define-key help-map "d" 'describe-function) 80 (define-key help-map "d" 'describe-function)
81 (define-key help-map "e" 'describe-last-error) 81 (define-key help-map "e" 'describe-last-error)
82 (define-key help-map "f" 'describe-function) 82 (define-key help-map "f" 'describe-function)
83 83
84 (define-key help-map "F" 'xemacs-local-faq) 84 (define-key help-map "F" 'xemacs-local-faq)
85
86 ;;; Setup so Hyperbole can be autoloaded from a key.
87 ;;; Choose a key on which to place the Hyperbole menus.
88 ;;; For most people this key binding will work and will be equivalent
89 ;;; to {C-h h}.
90 ;;;
91 (when (featurep 'infodock) ; This isn't used in XEmacs
92 ;; #### This needs fixing for InfoDock 4.0.
93 (or (where-is-internal 'hyperbole)
94 (where-is-internal 'hui:menu)
95 (define-key help-map "h" 'hyperbole))
96 (autoload 'hyperbole "hsite" "Hyperbole info manager menus." t))
97 85
98 (define-key help-map "i" 'info) 86 (define-key help-map "i" 'info)
99 (define-key help-map '(control i) 'Info-query) 87 (define-key help-map '(control i) 'Info-query)
100 ;; FSFmacs has Info-goto-emacs-command-node on C-f, no binding 88 ;; FSFmacs has Info-goto-emacs-command-node on C-f, no binding
101 ;; for Info-elisp-ref 89 ;; for Info-elisp-ref
994 (cond ((compiled-function-p fndef) 982 (cond ((compiled-function-p fndef)
995 (compiled-function-arglist fndef)) 983 (compiled-function-arglist fndef))
996 ((eq (car-safe fndef) 'lambda) 984 ((eq (car-safe fndef) 'lambda)
997 (nth 1 fndef)) 985 (nth 1 fndef))
998 ((subrp fndef) 986 ((subrp fndef)
999 (let ((doc (documentation function))) 987 (let* ((doc (documentation function))
1000 (if (string-match "[\n\t ]*\narguments: ?(\\(.*\\))\n?\\'" 988 (args (and (string-match
1001 doc) 989 "[\n\t ]*\narguments: ?(\\(.*\\))\n?\\'"
1002 (substring doc (match-beginning 1) (match-end 1))))) 990 doc)
991 (match-string 1 doc))))
992 ;; If there are no arguments documented for the
993 ;; subr, rather don't print anything.
994 (cond ((null args) t)
995 ((equal args "") nil)
996 (args))))
1003 (t t)))) 997 (t t))))
1004 (cond ((listp arglist) 998 (cond ((listp arglist)
1005 (prin1-to-string 999 (prin1-to-string
1006 (cons function (mapcar (lambda (arg) 1000 (cons function (mapcar (lambda (arg)
1007 (if (memq arg '(&optional &rest)) 1001 (if (memq arg '(&optional &rest))