From 531b03cfcbc4071c5283309f05d9186e051e5513 Mon Sep 17 00:00:00 2001 From: Christophe Rhodes Date: Tue, 3 Feb 2004 14:17:08 +0000 Subject: [PATCH] 0.8.7.40: 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 | 10 +++++----- contrib/sb-bsd-sockets/def-to-lisp.lisp | 2 +- contrib/sb-grovel/def-to-lisp.lisp | 2 +- src/code/filesys.lisp | 8 +++++++- version.lisp-expr | 2 +- 5 files changed, 15 insertions(+), 9 deletions(-) diff --git a/contrib/asdf-install/installer.lisp b/contrib/asdf-install/installer.lisp index 656c913..c85e947 100644 --- a/contrib/asdf-install/installer.lisp +++ b/contrib/asdf-install/installer.lisp @@ -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"))) @@ -163,7 +163,7 @@ (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) @@ -327,7 +327,7 @@ (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*) diff --git a/contrib/sb-bsd-sockets/def-to-lisp.lisp b/contrib/sb-bsd-sockets/def-to-lisp.lisp index 7940126..1dff7a9 100644 --- a/contrib/sb-bsd-sockets/def-to-lisp.lisp +++ b/contrib/sb-bsd-sockets/def-to-lisp.lisp @@ -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))) diff --git a/contrib/sb-grovel/def-to-lisp.lisp b/contrib/sb-grovel/def-to-lisp.lisp index b16560b..e1f54f0 100644 --- a/contrib/sb-grovel/def-to-lisp.lisp +++ b/contrib/sb-grovel/def-to-lisp.lisp @@ -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))) diff --git a/src/code/filesys.lisp b/src/code/filesys.lisp index 6cd3d31..1d243d8 100644 --- a/src/code/filesys.lisp +++ b/src/code/filesys.lisp @@ -338,8 +338,14 @@ ;; 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 diff --git a/version.lisp-expr b/version.lisp-expr index 2f07599..a566626 100644 --- a/version.lisp-expr +++ b/version.lisp-expr @@ -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" -- 1.7.10.4