LOAD-FOREIGN, and (2) hunt for any other code which uses temporary
files and make it share the same new safe logic.
+ (partially alleviated in sbcl-0.7.9.32 by a fix by Matthew Danish to
+ make the temporary filename less easily guessable)
+
82:
Functions are assigned names based on the context in which they're
defined. This is less than ideal for the functions which are
isn't too surprising since there are many differences in stack
implementation and GC conservatism between the X86 and other ports.)
-166:
- Compiling
- (in-package :cl-user)
- (defstruct uustk)
- (defmethod permanentize ((uustk uustk))
- (flet ((frob (hash-table test-for-deletion)
- )
- (obj-entry.stale? (oe)
- (destructuring-bind (key . datum) oe
- (declare (type simple-vector key))
- (deny0 (void? datum))
- (some #'stale? key))))
- (declare (inline frob obj-entry.stale?))
- (frob (uustk.args-hash->obj-alist uustk)
- #'obj-entry.stale?)
- (frob (uustk.hash->memoized-objs-list uustk)
- #'objs.stale?))
- (call-next-method))
- in sbcl-0.7.3.11 causes an assertion failure,
- failed AVER:
- "(NOT
-(AND (NULL (BLOCK-SUCC B))
- (NOT (BLOCK-DELETE-P B))
- (NOT (EQ B (COMPONENT-HEAD #)))))"
-
167:
In sbcl-0.7.3.11, compiling the (illegal) code
(in-package :cl-user)
macro is unhappy with the illegal syntax in the method body, and
is giving an unclear error message.
-172:
- sbcl's treatment of at least macro lambda lists is too permissive;
- e.g., in sbcl-0.7.3.7:
- (defmacro foo (&rest rest bar) `(,bar ,rest))
- (macroexpand '(foo quux zot)) -> (QUUX (QUUX ZOT))
- whereas section 3.4.4 of the CLHS doesn't allow required parameters
- to come after the rest argument.
-
173:
The compiler sometimes tries to constant-fold expressions before
it checks to see whether they can be reached. This can lead to
arguments, but it could be tricky to check result types of PROG1, IF
etc.
-221:
- Sometime between sbcl-0.7.8.51 and sbcl-0.7.9.5 the system lost the
- ability to compile
- (declaim (ftype (function (fixnum) (values package boolean)) f1))
- (declaim (ftype (function (t) (values package boolean)) f2))
- (defun ow (b x)
- (funcall (if b #'f1 #'f2) x))
- Now the compiler dies with
- SUBTYPEP is illegal on this type: (VALUES PACKAGE (MEMBER T NIL))
- apparently when attempting to infer the type of the IF expression.
+222: "environment problems in PCL"
+ Evaluating
+
+ (symbol-macrolet ((x 1))
+ (defmethod foo (z)
+ (macrolet ((ml (form) `(progn ,form ,x)))
+ (ml (print x)))))
+
+ causes
+
+ debugger invoked on condition of type UNBOUND-VARIABLE:
+ The variable X is unbound.
DEFUNCT CATEGORIES OF BUGS