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."