* Test for >= length, not > length.
* Record the remaining WARNING in BUGS.
call to ROOM would see them, and allocate even more...
Reported by Faré Rideau on sbcl-devel.
+
+414: strange DISASSEMBLE warning
+
+ Compiling and disassembling
+
+ (defun disassemble-source-form-bug (x y z)
+ (declare (optimize debug))
+ (list x y z))
+
+ Gives
+
+ WARNING: bogus form-number in form! The source file has probably
+ been changed too much to cope with.
system running with GC inhibited.
* bug fix: a DECLARE form evaluated at top-level now causes an error
rather than silently (or verbosely) returning NIL.
+ * bug fix: trying to dissassemble functions compiled at high DEBUG could
+ result in a error being signalled due to source form lookup errors.
+ (reported by Peter Graves)
changes in sbcl-1.0.5 relative to sbcl-1.0.4:
* incompatible change: removed writer methods for host-ent-name,
(sfcache-form-number-mapping-table cache) mapping-table))
(cond ((null toplevel-form)
nil)
- ((> form-number (length mapping-table))
+ ((>= form-number (length mapping-table))
(warn "bogus form-number in form! The source file has probably ~@
been changed too much to cope with.")
(when cache
(defmacro macro-no-env ()
:foo))))
+(dolist (*evaluator-mode* '(:interpret :compile))
+ (disassemble (eval '(defun disassemble-source-form-bug (x y z)
+ (declare (optimize debug))
+ (list x y z)))))
+
;;; success
;;; 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".)
-"1.0.5.32"
+"1.0.5.33"