changeset 2585:d22e01f5ab0c

(cd): Handle leading "~" like an absolute filename.
author Eric S. Raymond <esr@snark.thyrsus.com>
date Mon, 26 Apr 1993 05:01:41 +0000
parents 55e18ce6e98a
children 7fe45a326a98
files lisp/files.el
diffstat 1 files changed, 18 insertions(+), 17 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/files.el	Mon Apr 26 04:19:48 1993 +0000
+++ b/lisp/files.el	Mon Apr 26 05:01:41 1993 +0000
@@ -268,23 +268,24 @@
 If your environment imcludes a $CDPATH variable, cd tries each one of that
 colon-separated list of directories when resolving a relative cd."
   (interactive "FChange default directory: ")
-  (if (= (aref dir 0) ?/)
-      (cd-absolute (expand-file-name dir))
-    (if (null cd-path)
-	(let ((trypath (parse-colon-path (getenv "CDPATH"))))
-	  (setq cd-path (or trypath "./"))))
-    (if (not (catch 'found
-	       (mapcar
-		(function (lambda (x)
-			    (let ((f (expand-file-name (concat x dir))))
-			      (if (file-directory-p f)
-				  (progn
-				    (cd-absolute f)
-				    (throw 'found t))))))
-		cd-path)
-	       nil))
-	(error "No such directory on your cd path.")))
-  )
+  (let ((first (aref dir 0)))
+    (if (or (= first ?/) (= first ?~))
+	(cd-absolute (expand-file-name dir))
+      (if (null cd-path)
+	  (let ((trypath (parse-colon-path (getenv "CDPATH"))))
+	    (setq cd-path (or trypath "./"))))
+      (if (not (catch 'found
+		 (mapcar
+		  (function (lambda (x)
+			      (let ((f (expand-file-name (concat x dir))))
+				(if (file-directory-p f)
+				    (progn
+				      (cd-absolute f)
+				      (throw 'found t))))))
+		  cd-path)
+		 nil))
+	  (error "No such directory on your cd path.")))
+    ))
 
 (defun load-file (file)
   "Load the Lisp file named FILE."