Mercurial > emacs
changeset 4428:b95bd397d6b7
(comint-dynamic-complete): If called interactively twice in a row, give the
completion list.
author | Roland McGrath <roland@gnu.org> |
---|---|
date | Mon, 02 Aug 1993 23:33:41 +0000 |
parents | 4d19c2b7b6e1 |
children | 847ef9a62e5d |
files | lisp/comint.el |
diffstat | 1 files changed, 24 insertions(+), 20 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/comint.el Mon Aug 02 23:04:05 1993 +0000 +++ b/lisp/comint.el Mon Aug 02 23:33:41 1993 +0000 @@ -1181,26 +1181,30 @@ 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."