Function: term-get-source

term-get-source is a byte-compiled function defined in term.el.gz.

Signature

(term-get-source PROMPT PREV-DIR/FILE SOURCE-MODES MUSTMATCH-P)

Source Code

;; Defined in /usr/src/emacs/lisp/term.el.gz
(defun term-get-source (prompt prev-dir/file source-modes mustmatch-p)
  (let* ((def (term-source-default prev-dir/file source-modes))
         (stringfile (term-extract-string))
	 (sfile-p (and stringfile
		       (condition-case ()
			   (file-exists-p stringfile)
			 (error nil))
		       (not (file-directory-p stringfile))))
	 (defdir  (if sfile-p (file-name-directory stringfile)
                      (car def)))
	 (deffile (if sfile-p (file-name-nondirectory stringfile)
                      (cdr def)))
	 (ans (read-file-name (format-prompt prompt deffile)
			      defdir
			      (concat defdir deffile)
			      mustmatch-p)))
    (list (expand-file-name (substitute-in-file-name ans)))))