Commit 314ed6a5 authored by Roland McGrath's avatar Roland McGrath
Browse files

(comint-dynamic-complete): If called interactively twice in a row, give the

completion list.
parent d49458c4
......@@ -1181,26 +1181,30 @@ This function is similar to `comint-replace-by-expanded-filename', except
that it won't change parts of the filename already entered in the buffer;
it just adds completion characters to the end of the filename."
(interactive)
(let* ((pathname (comint-match-partial-pathname))
(pathdir (file-name-directory pathname))
(pathnondir (file-name-nondirectory pathname))
(completion (file-name-completion
pathnondir
;; It is important to expand PATHDIR because
;; default-directory might be a handled name, and the
;; unexpanded PATHDIR won't necessarily match the
;; handler regexp.
(if pathdir
(expand-file-name pathdir)
default-directory))))
(cond ((null completion)
(message "No completions of %s" pathname)
(ding))
((eql completion t)
(message "Sole completion"))
(t ; this means a string was returned.
(goto-char (match-end 0))
(insert (substring completion (length pathnondir)))))))
(if (and (interactive-p)
(eq last-command this-command))
;; If you hit TAB twice in a row, you get a completion list.
(comint-dynamic-list-completions)
(let* ((pathname (comint-match-partial-pathname))
(pathdir (file-name-directory pathname))
(pathnondir (file-name-nondirectory pathname))
(completion (file-name-completion
pathnondir
;; It is important to expand PATHDIR because
;; default-directory might be a handled name, and the
;; unexpanded PATHDIR won't necessarily match the
;; handler regexp.
(if pathdir
(expand-file-name pathdir)
default-directory))))
(cond ((null completion)
(message "No completions of %s" pathname)
(ding))
((eql completion t)
(message "Sole completion"))
(t ; this means a string was returned.
(goto-char (match-end 0))
(insert (substring completion (length pathnondir))))))))
(defun comint-dynamic-list-completions ()
"List in help buffer all possible completions of the filename at point."
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment