Mercurial > emacs
changeset 4675:f4ab5299a1e4
(comint-filename-prefix): New variable.
(comint-replace-by-expanded-filename, comint-dynamic-complete,
comint-dynamic-list-completions): Prepend it to absolute file names before
completing.
author | Roland McGrath <roland@gnu.org> |
---|---|
date | Wed, 08 Sep 1993 06:59:23 +0000 |
parents | 8db3c141cb62 |
children | a95bec390bc3 |
files | lisp/comint.el |
diffstat | 1 files changed, 36 insertions(+), 11 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/comint.el Wed Sep 08 06:22:44 1993 +0000 +++ b/lisp/comint.el Wed Sep 08 06:59:23 1993 +0000 @@ -1148,6 +1148,10 @@ (substitute-in-file-name (buffer-substring (match-beginning 0) (match-end 0))))) +(defvar comint-filename-prefix nil + "Prefix prepended to all absolute file names taken from process input. +This is used by the completion functions, and by directory tracking in shell +mode.") (defun comint-replace-by-expanded-filename () "Expand the filename at point. @@ -1162,8 +1166,18 @@ (let* ((pathname (comint-match-partial-pathname)) (pathdir (file-name-directory pathname)) (pathnondir (file-name-nondirectory pathname)) - (completion (file-name-completion pathnondir - (or pathdir default-directory)))) + (completion (file-name-completion + pathnondir + (if pathdir + ;; 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. + (expand-file-name (concat + (if (file-name-absolute-p pathdir) + comint-filename-prefix) + pathdir)) + default-directory)))) (cond ((null completion) (message "No completions of %s" pathname) (ding)) @@ -1189,12 +1203,15 @@ (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) + ;; 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. + (expand-file-name + (concat (if (file-name-absolute-p pathdir) + comint-filename-prefix) + pathdir)) default-directory)))) (cond ((null completion) (message "No completions of %s" pathname) @@ -1212,10 +1229,18 @@ (pathdir (file-name-directory pathname)) (pathnondir (file-name-nondirectory pathname)) (completions - (file-name-all-completions pathnondir - (if pathdir - (expand-file-name pathdir) - default-directory)))) + (file-name-all-completions + pathnondir + (if pathdir + ;; 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. + (expand-file-name + (concat (if (file-name-absolute-p pathdir) + comint-filename-prefix) + pathdir)) + default-directory)))) (cond ((null completions) (message "No completions of %s" pathname) (ding))