Function: idlwave-routine-info

idlwave-routine-info is an interactive and byte-compiled function defined in idlwave.el.gz.

Signature

(idlwave-routine-info &optional ARG EXTERNAL)

Documentation

Display a routines calling sequence and list of keywords.

When point is on the name a function or procedure, or in the argument list of a function or procedure, this command displays a help buffer with the information. When called with prefix arg, enforce class query.

When point is on an object operator ->, display the class stored in this arrow, if any (see idlwave-store-inquired-class). With a prefix arg, the class property is cleared out.

Key Bindings

Source Code

;; Defined in /usr/src/emacs/lisp/obsolete/idlwave.el.gz
(defun idlwave-routine-info (&optional arg _external)
  "Display a routines calling sequence and list of keywords.
When point is on the name a function or procedure, or in the argument
list of a function or procedure, this command displays a help buffer with
the information.  When called with prefix arg, enforce class query.

When point is on an object operator `->', display the class stored in
this arrow, if any (see `idlwave-store-inquired-class').  With a prefix
arg, the class property is cleared out."

  (interactive "P")
  (idlwave-routines)
  (if (string-search "->" (buffer-substring
			   (max (point-min) (1- (point)))
			   (min (+ 2 (point)) (point-max))))
      ;; Cursor is on an arrow
      (if (get-text-property (point) 'idlwave-class)
	  ;; arrow has class property
	  (if arg
	      ;; Remove property
	      (save-excursion
		(backward-char 1)
		(when (looking-at ".?\\(->\\)")
		  (remove-text-properties (match-beginning 1) (match-end 1)
					  '(idlwave-class nil face nil))
		  (message "Class property removed from arrow")))
	    ;; Echo class property
	    (message "Arrow has text property identifying object to be class %s"
		     (get-text-property (point) 'idlwave-class)))
	;; No property found
	(message "Arrow has no class text property"))

    ;; Not on an arrow...
    (let* ((idlwave-query-class nil)
	   (idlwave-force-class-query (equal arg '(4)))
	   (module (idlwave-what-module)))
      (if (car module)
	  (apply #'idlwave-display-calling-sequence
		 (idlwave-fix-module-if-obj_new module))
	(error "Don't know which calling sequence to show")))))