Function: idlwave-shell-get-object-class

idlwave-shell-get-object-class is a byte-compiled function defined in idlw-shell.el.gz.

Signature

(idlwave-shell-get-object-class APOS)

Documentation

Query the shell for the class of the object before point.

Source Code

;; Defined in /usr/src/emacs/lisp/obsolete/idlw-shell.el.gz
(defun idlwave-shell-get-object-class (apos)
  "Query the shell for the class of the object before point."
  (let ((bos (save-excursion (idlwave-start-of-substatement 'pre) (point)))
	(bol (save-excursion (forward-line 0) (point)))
	expression)
    (save-excursion
      (goto-char apos)
      (setq expression (buffer-substring
			(catch 'exit
			  (while t
			    (if (not (re-search-backward
				      "[^][.A-Za-z0-9_() ]" bos t))
				(throw 'exit bos)) ;ran into bos
			    (if (not (idlwave-is-pointer-dereference bol))
				(throw 'exit (1+ (point))))))
			apos)))
    (when (not (string= expression ""))
      (setq idlwave-shell-get-object-class nil)
      (idlwave-shell-send-command
       (concat "if obj_valid(" expression ") then print,obj_class("
	       expression ")")
       'idlwave-shell-parse-object-class
       'hide 'wait)
      ;; If we don't know anything about the class, update shell routines
      (if (and idlwave-shell-get-object-class
	       (not (assoc-string idlwave-shell-get-object-class
				  (idlwave-class-alist) t)))
	  (idlwave-shell-maybe-update-routine-info))
      idlwave-shell-get-object-class)))