0.8.3.89:
authorChristophe Rhodes <csr21@cam.ac.uk>
Tue, 23 Sep 2003 14:50:16 +0000 (14:50 +0000)
committerChristophe Rhodes <csr21@cam.ac.uk>
Tue, 23 Sep 2003 14:50:16 +0000 (14:50 +0000)
Treatment of --load
... half fix the problems.  Put LOAD into a multiple escape, so
that changes to the readtable don't break the
command-line option;
... log behaviour in the presence of #\" and #\* as a bug.

BUGS
NEWS
src/code/toplevel.lisp
version.lisp-expr

diff --git a/BUGS b/BUGS
index be258bd..d417baa 100644 (file)
--- a/BUGS
+++ b/BUGS
@@ -1297,3 +1297,11 @@ WORKAROUND:
   From Paul Dietz:
 
   (ash -1000000000000 -10000000000000000000) ==> 0  ;; should be -1
+
+296:
+  (reported by Adam Warner, sbcl-devel 2003-09-23)
+
+  The --load toplevel argument does not perform any sanitization of its
+  argument.  As a result, files with Lisp pathname pattern characters
+  (#\* or #\?, for instance) or quotation marks can cause the system
+  to perform arbitrary behaviour.
diff --git a/NEWS b/NEWS
index ff90fba..3c801ad 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -2074,6 +2074,9 @@ changes in sbcl-0.8.4 relative to sbcl-0.8.3:
     CONTINUATION is now called LVAR; corresponding functions are
     renamed (e.g. SB-C::CONTINUATION-TYPE has become SB-C::LVAR-TYPE).
   * added type deriver for ISQRT (thanks to Robert E. Brown).
+  * bug fix: better support for loading from the command line when an
+    initialization file sets (READTABLE-CASE *READTABLE*).  (thanks to
+    Adam Warner)
   * fixed some bugs revealed by Paul Dietz' test suite:
     ** the RETURN clause in LOOP is now equivalent to DO (RETURN ...).
     ** ROUND and FROUND now give the right answer when given very
index e638b54..bbfd22b 100644 (file)
                     (push (pop-option) reversed-evals))
                    ((string= option "--load")
                     (pop-option)
-                    (push (concatenate 'string "(LOAD \"" (pop-option) "\")")
-                          reversed-evals))
+                    (push
+                     ;; FIXME: see BUG 296
+                     (concatenate 'string "(|LOAD| \"" (pop-option) "\")")
+                     reversed-evals))
                    ((string= option "--noprint")
                     (pop-option)
                     (setf noprint t))
                    ((string= option "--noprogrammer")
                     (warn "treating deprecated --noprogrammer as --disable-debugger")
                     (pop-option)
-                    (push "(DISABLE-DEBUGGER)" reversed-evals))
+                    (push "(|DISABLE-DEBUGGER|)" reversed-evals))
                    ((string= option "--disable-debugger")
                     (pop-option)
-                    (push "(DISABLE-DEBUGGER)" reversed-evals))
+                    (push "(|DISABLE-DEBUGGER|)" reversed-evals))
                    ((string= option "--end-toplevel-options")
                     (pop-option)
                     (return))
index 26304fa..9e2601e 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.3.88"
+"0.8.3.89"