Function: idlwave-resolve
idlwave-resolve is an interactive and byte-compiled function defined
in idlwave.el.gz.
Signature
(idlwave-resolve &optional ARG)
Documentation
Call RESOLVE_ROUTINE on the module name at point.
Like idlwave-routine-info, this looks for a routine call at point.
After confirmation in the minibuffer, it will use the shell to issue
a RESOLVE call for this routine, to attempt to make it defined and its
routine info available for IDLWAVE. If the routine is a method call,
both class__method and class__define will be tried.
With ARG, enforce query for the class of object methods.
Key Bindings
Source Code
;; Defined in /usr/src/emacs/lisp/obsolete/idlwave.el.gz
(defun idlwave-resolve (&optional arg)
"Call RESOLVE_ROUTINE on the module name at point.
Like `idlwave-routine-info', this looks for a routine call at point.
After confirmation in the minibuffer, it will use the shell to issue
a RESOLVE call for this routine, to attempt to make it defined and its
routine info available for IDLWAVE. If the routine is a method call,
both `class__method' and `class__define' will be tried.
With ARG, enforce query for the class of object methods."
(interactive "P")
(let* ((idlwave-query-class nil)
(idlwave-force-class-query (equal arg '(4)))
(module (idlwave-what-module))
(name (idlwave-make-full-name (nth 2 module) (car module)))
(type (if (eq (nth 1 module) 'pro) "pro" "function"))
(resolve (read-string "Resolve: " (format "%s %s" type name)))
(kwd "")
class)
(if (string-match "\\(pro\\|function\\)[ \t]+\\(\\(.*\\)::\\)?\\(.*\\)"
resolve)
(setq type (match-string 1 resolve)
class (if (match-beginning 2)
(match-string 3 resolve)
nil)
name (match-string 4 resolve)))
(if (string= (downcase type) "function")
(setq kwd ",/is_function"))
(cond
((null class)
(idlwave-shell-send-command
(format "resolve_routine,'%s'%s" (downcase name) kwd)
'idlwave-update-routine-info
nil t))
(t
(idlwave-shell-send-command
(format "resolve_routine,'%s__define'%s" (downcase class) kwd)
(list 'idlwave-shell-send-command
(format "resolve_routine,'%s__%s'%s"
(downcase class) (downcase name) kwd)
'(idlwave-update-routine-info)
nil t))))))