Function: idlwave-online-help

idlwave-online-help is a byte-compiled function defined in idlw-help.el.gz.

Signature

(idlwave-online-help LINK &optional NAME TYPE CLASS KEYWORD)

Documentation

Display HTML or other special help on a certain topic.

Either loads an HTML link, if LINK is non-nil, or gets special-help on the optional arguments, if any special help is defined. If LINK is t, first look up the optional arguments in the routine info list to see if a link is set for it. Try extra help functions if necessary.

Source Code

;; Defined in /usr/src/emacs/lisp/progmodes/idlw-help.el.gz
(defun idlwave-online-help (link &optional name type class keyword)
  "Display HTML or other special help on a certain topic.
Either loads an HTML link, if LINK is non-nil, or gets special-help on
the optional arguments, if any special help is defined.  If LINK is
t, first look up the optional arguments in the routine info list to
see if a link is set for it.  Try extra help functions if necessary."
  ;; Lookup link
  (if (eq link t)
      (let ((entry (idlwave-best-rinfo-assoc name type class
					     (idlwave-routines) nil t)))
	(if entry
	    (cond
	     ;; Try keyword link
	     ((and keyword
		   (setq link (cdr
			       (idlwave-entry-find-keyword entry keyword)))))
	     ;; Default, regular entry link
	     (t (setq link (idlwave-entry-has-help entry))))
	  (if (and
	       class
	       ;; Check for system class help
	       (setq entry (assq (idlwave-sintern-class class)
				 idlwave-system-class-info)
		     link (nth 1 (assq 'link entry))))
	      (message
	       (concat "No routine info for %s"
		       ", falling back on class help.")
	       (idlwave-make-full-name class name))))))

  (cond
   ;; An explicit link
   ((stringp link)
    (idlwave-help-html-link link))

   ;; Any extra help
   (idlwave-extra-help-function
    (idlwave-help-get-special-help name type class keyword))

   ;; Nothing worked
   (t (idlwave-help-error name type class keyword))))