]> git.eshelyaron.com Git - emacs.git/commitdiff
(comint-dynamic-complete-as-filename): Generalize last change to allow
authorChong Yidong <cyd@stupidchicken.com>
Wed, 27 Aug 2008 17:04:34 +0000 (17:04 +0000)
committerChong Yidong <cyd@stupidchicken.com>
Wed, 27 Aug 2008 17:04:34 +0000 (17:04 +0000)
quoting of characters before point.

lisp/comint.el

index b8e73cb6b788aa1e9ffabd05257605a5e7508817..1a70e8ca107dde8c66e967b4ef96a3f290e51a91 100644 (file)
@@ -2822,8 +2822,8 @@ See `comint-dynamic-complete-filename'.  Returns t if successful."
                           (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 @@ See `comint-dynamic-complete-filename'.  Returns t if successful."
           (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))