Function: comint--complete-file-name-data
comint--complete-file-name-data is a byte-compiled function defined in
comint.el.gz.
Signature
(comint--complete-file-name-data)
Documentation
Return the completion data for file name at point.
Source Code
;; Defined in /usr/src/emacs/lisp/comint.el.gz
(defun comint--complete-file-name-data ()
"Return the completion data for file name at point."
(let* ((filesuffix (cond ((not comint-completion-addsuffix) "")
((stringp comint-completion-addsuffix)
comint-completion-addsuffix)
((not (consp comint-completion-addsuffix)) " ")
(t (cdr comint-completion-addsuffix))))
(filename (comint--match-partial-filename))
(filename-beg (if filename (match-beginning 0) (point)))
(filename-end (if filename (match-end 0) (point)))
(table
(completion-table-with-quoting
#'comint-completion-file-name-table
comint-unquote-function
comint-requote-function)))
(nconc
(list
filename-beg filename-end
(lambda (string pred action)
(let ((completion-ignore-case read-file-name-completion-ignore-case)
(completion-ignored-extensions comint-completion-fignore))
(complete-with-action action table string pred))))
(unless (zerop (length filesuffix))
(list :exit-function
(lambda (_s status)
(when (eq status 'finished)
(if (looking-at (regexp-quote filesuffix))
(goto-char (match-end 0))
(insert filesuffix)))))))))