Function: idlwave-shell-sources-filter

idlwave-shell-sources-filter is a byte-compiled function defined in idlw-shell.el.gz.

Signature

(idlwave-shell-sources-filter)

Documentation

Get source files from idlwave-shell-sources-query(var)/idlwave-shell-sources-query(fun) output.

Create idlwave-shell-sources-alist consisting of list elements of the form:
 (module name . (source-file-truename idlwave-internal-filename))

Source Code

;; Defined in /usr/src/emacs/lisp/progmodes/idlw-shell.el.gz
(defun idlwave-shell-sources-filter ()
  "Get source files from `idlwave-shell-sources-query' output.
Create `idlwave-shell-sources-alist' consisting of list elements
of the form:
 (module name . (source-file-truename idlwave-internal-filename))"
  (with-current-buffer (get-buffer-create idlwave-shell-bp-buffer)
    (erase-buffer)
    (insert idlwave-shell-command-output)
    (goto-char (point-min))
    (let (cpro cfun)
      (if (re-search-forward "Compiled Procedures:" nil t)
          (progn
            (forward-line) ; Skip $MAIN$
            (setq cpro (point))))
      (if (re-search-forward "Compiled Functions:" nil t)
          (progn
            (setq cfun (point))
            (setq idlwave-shell-sources-alist
                  (append
                   ;; compiled procedures
                   (progn
                     (narrow-to-region cpro (line-beginning-position))
                     (goto-char (point-min))
                     (idlwave-shell-sources-grep))
                   ;; compiled functions
                   (progn
                     (widen)
                     (goto-char cfun)
                     (idlwave-shell-sources-grep)))))))))