0.8.0.78.vector-nil-string.6:
authorChristophe Rhodes <csr21@cam.ac.uk>
Mon, 23 Jun 2003 15:31:29 +0000 (15:31 +0000)
committerChristophe Rhodes <csr21@cam.ac.uk>
Mon, 23 Jun 2003 15:31:29 +0000 (15:31 +0000)
Cosmetic cleanups
... invert the test in %SXHASH-SIMPLE-SUBSTRING, since that
way it stands a chance of working even when putative
(VECTOR CHARACTER) != (VECTOR BASE-CHAR)
... some reasonable slight changes to RUN-PROGRAM / Unix
environment stuff.

The ALIEN/C-STRING issue looks like it's not a problem; all of the work
there is explicitly done in terms of BASE-STRINGs.  I don't think anyone
is likely to complain at a type error should they attempt to pass an
object of (VECTOR NIL 0) to foreign lands as the null string, and even
if they do I feel unmotivated to care without sufficient inducement. :-)

src/code/run-program.lisp
src/code/target-sxhash.lisp
version.lisp-expr

index 95ebb73..a04d1da 100644 (file)
@@ -63,7 +63,7 @@
 (defun unix-environment-cmucl-from-sbcl (sbcl)
   (mapcan
    (lambda (string)
-     (declare (type simple-string string))
+     (declare (type simple-base-string string))
      (let ((=-pos (position #\= string :test #'equal)))
        (if =-pos
           (list
@@ -86,8 +86,8 @@
   (mapcar
    (lambda (cons)
      (destructuring-bind (key . val) cons
-       (declare (type keyword key) (type simple-string val))
-       (concatenate 'simple-string (symbol-name key) "=" val)))
+       (declare (type keyword key) (type simple-base-string val))
+       (concatenate 'simple-base-string (symbol-name key) "=" val)))
    cmucl))
 \f
 ;;;; Import wait3(2) from Unix.
 
    The &KEY arguments have the following meanings:
      :ENVIRONMENT
-        a list of SIMPLE-STRINGs describing the new Unix environment (as
-        in \"man environ\"). The default is to copy the environment of
+        a list of SIMPLE-BASE-STRINGs describing the new Unix environment
+        (as in \"man environ\"). The default is to copy the environment of
         the current process.
      :ENV
         an alternative lossy representation of the new Unix environment,
index 56df709..74e739b 100644 (file)
@@ -84,7 +84,7 @@
   (declare (type index count))
   (let ((result 408967240))
     (declare (type fixnum result))
-    (when (typep string 'base-string)
+    (unless (typep string '(vector nil))
       (dotimes (i count)
        (declare (type index i))
        (mixf result
index 9cf83a9..577fda0 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.0.78.vector-nil-string.5"
+"0.8.0.78.vector-nil-string.6"