0.8.7.40:
authorChristophe Rhodes <csr21@cam.ac.uk>
Tue, 3 Feb 2004 14:17:08 +0000 (14:17 +0000)
committerChristophe Rhodes <csr21@cam.ac.uk>
Tue, 3 Feb 2004 14:17:08 +0000 (14:17 +0000)
Merge patch (Vincent Arkesteijn sbcl-devel 2004-02-03) for
ASDF-INSTALL (and my patch lisppaste/113 for namestrings)
... :name "" no longer prints the same as :name nil
... make the asdf-install:directorified pathname more
robustly
... also add a couple of :supersedes.  ARGH WHY DOES
SB-BSD-SOCKETS STILL HAVE ITS OWN FAKE SB-GROVELALIKE?

contrib/asdf-install/installer.lisp
contrib/sb-bsd-sockets/def-to-lisp.lisp
contrib/sb-grovel/def-to-lisp.lisp
src/code/filesys.lisp
version.lisp-expr

index 656c913..c85e947 100644 (file)
@@ -11,9 +11,9 @@
   (let ((path (pathname name)))
     (if (pathname-name path)
        (merge-pathnames
-        (make-pathname :directory `(:relative ,(pathname-name path))
-                       :name "")
-        path)
+        (make-pathname :directory `(:relative ,(pathname-name path)))
+        (make-pathname :directory (pathname-directory path)
+                       :host (pathname-host path)))
        path)))
 
 (defvar *sbcl-home* (directorify (posix-getenv "SBCL_HOME")))
       (restart-case 
          (verify-gpg-signature/url url file-name)
        (skip-gpg-check (&rest rest)
-         :report "Don't ckeck GPG signature for this package"
+         :report "Don't check GPG signature for this package"
          nil)))))
 
 (defun read-until-eof (stream)
             (one-iter packages)))
       (let ((p (merge-pathnames "trusted-uids.lisp" *dot-sbcl*)))
        (ensure-directories-exist p)
-       (with-open-file (out p :direction :output)
+       (with-open-file (out p :direction :output :if-exists :supersede)
          (with-standard-io-syntax
            (prin1 *trusted-uids* out))))
       (dolist (l *temporary-files*)
index 7940126..1dff7a9 100644 (file)
@@ -63,7 +63,7 @@ printf(\"(in-package ~S)\\\n\");~%" package-name)
     (format stream "exit(0);~%}")))
 
 (defun c-constants-extract  (filename output-file package)
-  (with-open-file (f output-file :direction :output)
+  (with-open-file (f output-file :direction :output :if-exists :supersede)
     (with-open-file (i filename :direction :input)
       (let* ((headers (read i))
              (definitions (read i)))
index b16560b..e1f54f0 100644 (file)
@@ -74,7 +74,7 @@ printf(\"(in-package ~S)\\\n\");~%" package-name)
     (format stream "exit(0);~%}~%")))
 
 (defun c-constants-extract  (filename output-file package)
-  (with-open-file (f output-file :direction :output)
+  (with-open-file (f output-file :direction :output :if-exists :supersede)
     (with-open-file (i filename :direction :input)
       (let* ((headers (read i))
              (definitions (read i)))
index 6cd3d31..1d243d8 100644 (file)
       ;; translating logical pathnames to a filesystem without
       ;; versions (like Unix).
       (when name
-       (when (and (null type) (position #\. name :start 1))
+       (when (and (null type)
+                  (typep name 'string)
+                  (> (length name) 0)
+                  (position #\. name :start 1))
          (error "too many dots in the name: ~S" pathname))
+       (when (and (typep name 'string)
+                  (string= name ""))
+         (error "name is of length 0: ~S" pathname))
        (strings (unparse-unix-piece name)))
       (when type-supplied
        (unless name
index 2f07599..a566626 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".)
-"0.8.7.39"
+"0.8.7.40"