Function: org-link-complete-file

org-link-complete-file is a byte-compiled function defined in ol.el.gz.

Signature

(org-link-complete-file &optional ARG)

Documentation

Create a file link using completion.

Aliases

org-file-complete-link (obsolete since 9.3)

Source Code

;; Defined in /usr/src/emacs/lisp/org/ol.el.gz
(defun org-link-complete-file (&optional arg)
  "Create a file link using completion."
  (let ((file (read-file-name "File: "))
	(pwd (file-name-as-directory (expand-file-name ".")))
	(pwd1 (file-name-as-directory (abbreviate-file-name
				       (expand-file-name ".")))))
    (cond ((equal arg '(16))
	   (concat "file:"
		   (abbreviate-file-name (expand-file-name file))))
	  ((string-match
	    (concat "^" (regexp-quote pwd1) "\\(.+\\)") file)
	   (concat "file:" (match-string 1 file)))
	  ((string-match
	    (concat "^" (regexp-quote pwd) "\\(.+\\)")
	    (expand-file-name file))
	   (concat "file:"
		   (match-string 1 (expand-file-name file))))
	  (t (concat "file:" file)))))