[Linedit-cvs] CVS update: src/complete.lisp
Nikodemus Siivola
nsiivola at common-lisp.net
Sat May 1 14:10:26 UTC 2004
Update of /project/linedit/cvsroot/src
In directory common-lisp.net:/tmp/cvs-serv30015
Modified Files:
complete.lisp
Log Message:
* Fix tilde-expansion for logical pathnames, which may be returned
by (user-homedir-pathname). Reported and fix suggested by
Peter Denno.
Date: Sat May 1 10:10:25 2004
Author: nsiivola
Index: src/complete.lisp
diff -u src/complete.lisp:1.11 src/complete.lisp:1.12
--- src/complete.lisp:1.11 Sun Apr 25 11:03:26 2004
+++ src/complete.lisp Sat May 1 10:10:25 2004
@@ -87,14 +87,19 @@
to the appropriate home directory."
(if (and (> (length string) 0)
(eql (schar string 0) #\~))
- (flet ((chop (s) (subseq s 0 (1- (length s)))))
- (let* ((slash-idx (loop for i below (length string)
- when (eql (schar string i) #\/) return i))
- (suffix (and slash-idx (subseq string slash-idx)))
- (uname (subseq string 1 slash-idx))
+ (flet ((chop (s)
+ (subseq s 0 (1- (length s)))))
+ (let* ((slash-index (loop for i below (length string)
+ when (eql (schar string i) #\/)
+ return i))
+ (suffix (and slash-index (subseq string slash-index)))
+ (uname (subseq string 1 slash-index))
(homedir (or (cdr (assoc :home (user-info uname)))
- (chop (namestring (user-homedir-pathname))))))
- (concatenate 'string homedir (or suffix ""))))
+ (chop (namestring
+ (or (probe-file (user-homedir-pathname))
+ (return-from tilde-expand-string
+ string)))))))
+ (concatenate 'string homedir (or suffix ""))))
string))
(defun directory-complete (string)
More information about the linedit-cvs
mailing list