changeset 97762:870ef2dba090

(comint-dynamic-complete-as-filename): Generalize last change to allow quoting of characters before point.
author Chong Yidong <cyd@stupidchicken.com>
date Wed, 27 Aug 2008 17:04:34 +0000
parents 3971edd65203
children 540444b860af
files lisp/comint.el
diffstat 1 files changed, 6 insertions(+), 13 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/comint.el	Wed Aug 27 17:04:23 2008 +0000
+++ b/lisp/comint.el	Wed Aug 27 17:04:34 2008 +0000
@@ -2822,8 +2822,8 @@
 			   (t
 			    (cdr comint-completion-addsuffix))))
 	 (filename (comint-match-partial-filename))
-	 (filename-beg (if filename (match-beginning 0)))
-	 (filename-end (if filename (match-end 0)))
+	 (filename-beg (if filename (match-beginning 0) (point)))
+	 (filename-end (if filename (match-end 0) (point)))
 	 (filename (or filename ""))
 	 (filedir (file-name-directory filename))
 	 (filenondir (file-name-nondirectory filename))
@@ -2842,19 +2842,12 @@
 	   (comint-dynamic-list-filename-completions))
 	  (t                            ; Completion string returned.
 	   (let ((file (concat (file-name-as-directory directory) completion)))
-	     (if (or (null read-file-name-completion-ignore-case)
-		     (null filename-beg)
-		     (null filename-end))
-		 (insert (comint-quote-filename
-			  (substring (directory-file-name completion)
-				     (length filenondir)))))
-	     ;; If read-file-name-completion-ignore-case is non-nil,
-	     ;; the completion string may have a different case than
-	     ;; what's in the prompt.
+	     ;; Insert completion.  Note that the completion string
+	     ;; may have a different case than what's in the prompt,
+	     ;; if read-file-name-completion-ignore-case is non-nil,
 	     (delete-region filename-beg filename-end)
 	     (if filedir (insert filedir))
-	     (insert (comint-quote-filename
-		      (directory-file-name completion)))
+	     (insert (comint-quote-filename (directory-file-name completion)))
 	     (cond ((symbolp (file-name-completion completion directory))
 		    ;; We inserted a unique completion.
 		    (insert (if (file-directory-p file) dirsuffix filesuffix))