summaryrefslogtreecommitdiff
path: root/lisp/comint.el
diff options
context:
space:
mode:
authorKarl Heuer <kwzh@gnu.org>1994-04-11 20:30:44 +0000
committerKarl Heuer <kwzh@gnu.org>1994-04-11 20:30:44 +0000
commitb4b860d4cead8eca153e34f4f138bf0fb46e6874 (patch)
tree297f42ed2169f116b2062c94e61d44b52b78685b /lisp/comint.el
parent5e3f1e6f6fd6e5dc6241f2a9a1527909056848f0 (diff)
downloademacs-b4b860d4cead8eca153e34f4f138bf0fb46e6874.tar.gz
(comint-dynamic-complete-as-filename): Save end of match before calling other
functions. Handle non-match too.
Diffstat (limited to 'lisp/comint.el')
-rw-r--r--lisp/comint.el15
1 files changed, 9 insertions, 6 deletions
diff --git a/lisp/comint.el b/lisp/comint.el
index 8be11e72219..7e57e88579b 100644
--- a/lisp/comint.el
+++ b/lisp/comint.el
@@ -1836,11 +1836,14 @@ See `comint-dynamic-complete-filename'. Returns t if successful."
(let* ((completion-ignore-case nil)
(completion-ignored-extensions comint-completion-fignore)
(success t)
- (filename (or (comint-match-partial-filename) ""))
- (pathdir (file-name-directory filename))
- (pathnondir (file-name-nondirectory filename))
- (directory (if pathdir (comint-directory pathdir) default-directory))
- (completion (file-name-completion pathnondir directory)))
+ (filename (comint-match-partial-filename))
+ endpos pathdir pathnondir directory completion)
+ (setq endpos (if filename (match-end 0) (point)))
+ (or filename (setq filename ""))
+ (setq pathdir (file-name-directory filename)
+ pathnondir (file-name-nondirectory filename)
+ directory (if pathdir (comint-directory pathdir) default-directory)
+ completion (file-name-completion pathnondir directory))
(cond ((null completion)
(message "No completions of %s" filename)
(setq success nil))
@@ -1851,7 +1854,7 @@ 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)))
- (goto-char (match-end 0))
+ (goto-char endpos)
(insert (substring (directory-file-name completion)
(length pathnondir)))
(cond ((symbolp (file-name-completion completion directory))