1.0.15.26: only one return value from USER-HOMEDIR-PATHNAME
authorNikodemus Siivola <nikodemus@random-state.net>
Thu, 13 Mar 2008 15:19:14 +0000 (15:19 +0000)
committerNikodemus Siivola <nikodemus@random-state.net>
Thu, 13 Mar 2008 15:19:14 +0000 (15:19 +0000)
 * USER-HOMEDIR-PATHNAME invokes PARSE-NATICE-NAMESTRING in a tailcall
   which returns the parsing offset as secondary value---although
   USER-HOMEDIR-PATHNAME is specified to only return on value; wrap it
   in an explicit (values ...) call.

   Patch by Tobias C. Rittweiler.

src/code/filesys.lisp
version.lisp-expr

index c831ec5..1d2e11b 100644 (file)
@@ -714,20 +714,22 @@ is returned; otherwise obtains the home directory from the operating
 system."
   (declare (ignore host))
   (let ((env-home (posix-getenv "HOME")))
-    (parse-native-namestring
-     (if (and env-home (not (string= env-home "")))
-         env-home
-         #!-win32
-         (sb!unix:uid-homedir (sb!unix:unix-getuid))
-         #!+win32
-         ;; Needs to bypass PARSE-NATIVE-NAMESTRING & ENSURE-TRAILING-SLASH
-         ;; What?! -- RMK, 2007-12-31
-         (return-from user-homedir-pathname
-           (sb!win32::get-folder-pathname sb!win32::csidl_profile)))
-     #-win32 sb!impl::*unix-host*
-     #+win32 sb!impl::*win32-host*
-     *default-pathname-defaults*
-     :as-directory t)))
+    (values
+     (parse-native-namestring
+      (if (and env-home (not (string= env-home "")))
+          env-home
+          #!-win32
+          (sb!unix:uid-homedir (sb!unix:unix-getuid))
+          #!+win32
+          ;; Needs to bypass PARSE-NATIVE-NAMESTRING & ENSURE-TRAILING-SLASH
+          ;; What?! -- RMK, 2007-12-31
+          (return-from user-homedir-pathname
+            (sb!win32::get-folder-pathname sb!win32::csidl_profile)))
+      #-win32 sb!impl::*unix-host*
+      #+win32 sb!impl::*win32-host*
+      *default-pathname-defaults*
+      :as-directory t))))
+
 \f
 ;;;; DIRECTORY
 
index e342e7d..df93c28 100644 (file)
@@ -17,4 +17,4 @@
 ;;; checkins which aren't released. (And occasionally for internal
 ;;; versions, especially for internal versions off the main CVS
 ;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".)
-"1.0.15.25"
+"1.0.15.26"