0.6.10.19:
[sbcl.git] / BUGS
diff --git a/BUGS b/BUGS
index 2add6a7..8a88aeb 100644 (file)
--- a/BUGS
+++ b/BUGS
@@ -92,12 +92,6 @@ WORKAROUND:
   Perhaps any number of such consecutive lines ought to turn into a
   single "byte compiling top-level forms:" line.
 
-9:
-  The handling of IGNORE declarations on lambda list arguments of
-  DEFMETHOD is at least weird, and in fact seems broken and useless.
-  I should fix up another layer of binding, declared IGNORABLE, for
-  typed lambda list arguments.
-
 10:
   The way that the compiler munges types with arguments together
   with types with no arguments (in e.g. TYPE-EXPAND) leads to
@@ -173,10 +167,6 @@ WORKAROUND:
   (Also, when this is fixed, we can enable the code in PROCLAIM which 
   checks for incompatible FTYPE redeclarations.)
 
-16:
-  The ANSI spec says that CONS can be a compound type spec, e.g.
-  (CONS FIXNUM REAL). SBCL doesn't support this.
-
 18:
   from DTC on the CMU CL mailing list 25 Feb 2000:
 ;;; Compiler fails when this file is compiled.
@@ -249,35 +239,6 @@ WORKAROUND:
   a secondary error "caught ERROR: unrecoverable error during compilation"
   and then return with FAILURE-P true,
 
-25:
-  from CMU CL mailing list 01 May 2000 
-
-I realize I can take care of this by doing (proclaim (ignore pcl::.slots1.))
-but seeing as .slots0. is not-exported, shouldn't it be ignored within the
-+expansion
-when not used?
-In: DEFMETHOD FOO-BAR-BAZ (RESOURCE-TYPE)
-  (DEFMETHOD FOO-BAR-BAZ
-             ((SELF RESOURCE-TYPE))
-             (SETF (SLOT-VALUE SELF 'NAME) 3))
---> BLOCK MACROLET PCL::FAST-LEXICAL-METHOD-FUNCTIONS
---> PCL::BIND-FAST-LEXICAL-METHOD-MACROS MACROLET
---> PCL::BIND-LEXICAL-METHOD-FUNCTIONS LET PCL::BIND-ARGS LET* PCL::PV-BINDING
---> PCL::PV-BINDING1 PCL::PV-ENV LET
-==>
-  (LET ((PCL::.SLOTS0. #))
-    (PROGN SELF)
-    (BLOCK FOO-BAR-BAZ
-      (LET #
-        #)))
-Warning: Variable PCL::.SLOTS0. defined but never used.
-Compilation unit finished.
-  1 warning
-
-#<Standard-Method FOO-BAR-BAZ (RESOURCE-TYPE) {480918FD}>
-
 26:
   reported by Sam Steingold on the cmucl-imp mailing list 12 May 2000:
 
@@ -309,11 +270,6 @@ returning an array as first value always.
    The assertion (EQ (SB-C::CONTINUATION-KIND SB-C::CONT) :BLOCK-START) failed.
   This is still present in sbcl-0.6.8.
 
-30:
-  The CMU CL reader code takes liberties in binding the standard read table
-  when reading the names of characters. Tim Moore posted a patch to the 
-  CMU CL mailing list Mon, 22 May 2000 21:30:41 -0700.
-
 31:
   In some cases the compiler believes type declarations on array
   elements without checking them, e.g.
@@ -344,37 +300,6 @@ returning an array as first value always.
   And as long as we're wishing, it would be awfully nice if INSPECT could
   also report on closures, telling about the values of the bound variables.
 
-34:
-  as reported by Robert Strandh on the CMU CL mailing list 12 Jun 2000:
-    $ cat xx.lisp
-    (defconstant +a-constant+ (make-instance 'a-class))
-    (defconstant +another-constant+ (vector +a-constant+))
-    $ lisp
-    CMU Common Lisp release x86-linux 2.4.19  8 February 2000 build 456,
-    running on
-    bobby
-    Send bug reports and questions to your local CMU CL maintainer,
-    or to pvaneynd@debian.org
-    or to cmucl-help@cons.org. (prefered)
-    type (help) for help, (quit) to exit, and (demo) to see the demos
-    Loaded subsystems:
-      Python 1.0, target Intel x86
-      CLOS based on PCL version:  September 16 92 PCL (f)
-    * (defclass a-class () ())
-    #<STANDARD-CLASS A-CLASS {48027BD5}>
-    * (compile-file "xx.lisp")
-    Python version 1.0, VM version Intel x86 on 12 JUN 00 08:12:55 am.
-    Compiling:
-    /home/strandh/Research/Functional/Common-Lisp/CLIM/Development/McCLIM
-    /xx.lisp 12 JUN 00 07:47:14 am
-    Compiling Load Time Value of (PCL::GET-MAKE-INSTANCE-FUNCTION-SYMBOL
-    '(A-CLASS NIL NIL)):
-    Byte Compiling Top-Level Form:
-    Error in function C::DUMP-STRUCTURE:  Attempt to dump invalid
-    structure:
-      #<A-CLASS {4803A5B5}>
-    How did this happen?
-
 35:
   The compiler assumes that any time a function of declared FTYPE
   doesn't signal an error, its arguments were of the declared type.
@@ -405,37 +330,11 @@ returning an array as first value always.
   make sense to add another flag (CHECKED?) to DEFKNOWN to 
   identify functions which *do* check their argument types.)
 
-36:
-  As pointed out by Martin Cracauer on the CMU CL mailing list
-  13 Jun 2000, the :FILE-LENGTH operation for 
-  FD-STREAM-MISC-ROUTINE is broken for large files: it says
-  (THE INDEX SIZE) even though SIZE can be larger than INDEX.
-
 38:
   DEFMETHOD doesn't check the syntax of &REST argument lists properly,
   accepting &REST even when it's not followed by an argument name:
        (DEFMETHOD FOO ((X T) &REST) NIL)
 
-39:
-  On the CMU CL mailing list 26 June 2000, Douglas Crosher wrote
-
-  Hannu Rummukainen wrote:
-  ...
-  > There's something weird going on with the compilation of the attached
-  > code.  Compiling and loading the file in a fresh lisp, then invoking
-  > (test-it) gives
-  Thanks for the bug report, nice to have this one fixed. It was a bug
-  in the x86 backend, the < VOP. A fix has been committed to the main
-  source, see the file compiler/x86/float.lisp.
-
-  Probably the same bug exists in SBCL.
-
-40:
-  TYPEP treats the result of UPGRADED-ARRAY-ELEMENT-TYPE as gospel,
-  so that (TYPEP (MAKE-ARRAY 3) '(VECTOR SOMETHING-NOT-DEFINED-YET))
-  returns (VALUES T T). Probably it should be an error instead,
-  complaining that the type SOMETHING-NOT-DEFINED-YET is not defined.
-
 41:
   TYPEP of VALUES types is sometimes implemented very inefficiently, e.g. in 
        (DEFTYPE INDEXOID () '(INTEGER 0 1000))
@@ -854,6 +753,40 @@ Error in function C::GET-LAMBDA-TO-COMPILE:
   :ELEMENT-TYPE, but in sbcl-0.6.9 this is not defined for
   WITH-OUTPUT-TO-STRING.
 
+78:
+  ANSI says in one place that type declarations can be abbreviated even
+  when the type name is not a symbol, e.g.
+    (DECLAIM ((VECTOR T) *FOOVECTOR*))
+  SBCL doesn't support this. But ANSI says in another place that this
+  isn't allowed. So it's not clear this is a bug after all. (See the
+  e-mail on cmucl-help@cons.org on 2001-01-16 and 2001-01-17 from WHN
+  and Pierre Mai.)
+
+79:
+  as pointed out by Dan Barlow on sbcl-devel 2000-07-02:
+  The PICK-TEMPORARY-FILE-NAME utility used by LOAD-FOREIGN uses
+  an easily guessable temporary filename in a way which might open
+  applications using LOAD-FOREIGN to hijacking by malicious users
+  on the same machine. Incantations for doing this safely are
+  floating around the net in various "how to write secure programs
+  despite Unix" documents, and it would be good to (1) fix this in 
+  LOAD-FOREIGN, and (2) hunt for any other code which uses temporary
+  files and make it share the same new safe logic.
+
+80:
+  (fixed early Feb 2001 by MNA)
+
+81:
+  As reported by wbuss@TELDA.NET (Wolfhard Buss) on cmucl-help
+  2001-02-14, 
+    According to CLHS
+        (loop with (a . b) of-type float = '(0.0 . 1.0)
+          and (c . d) of-type float = '(2.0 . 3.0)
+          return (list a b c d))
+    should evaluate to (0.0 1.0 2.0 3.0). cmucl-18c disagrees and
+    invokes the debugger: "B is not of type list".
+  SBCL does the same thing.
+
 
 KNOWN BUGS RELATED TO THE IR1 INTERPRETER