debugger invoked on condition of type UNBOUND-VARIABLE:
The variable X is unbound.
+223: "(SETF FDEFINITION) and #' semantics broken for wrappers"
+ Although this
+ (defun foo (x)
+ (print x))
+ (defun traced (fn)
+ (lambda (&rest rest)
+ (format t "~&about to call ~S on ~S~%" fn rest)
+ (apply fn rest)
+ (format t "~&returned from ~S~%" fn)))
+ (setf (fdefinition 'foo)
+ (traced #'foo))
+ (foo 11)
+ does what one would expect, this
+ (defun bar (x)
+ (print x))
+ (let ((bar0 #'bar))
+ (setf (fdefinition 'bar)
+ (lambda (&rest rest)
+ (format t "~&about to enter BAR ~S~%" rest)
+ (apply bar0 rest)
+ (format t "~&back from BAR~%"))))
+ (bar 12)
+ recurses endlessly in sbcl-0.7.9.32. (Or it works if #' and
+ FDEFINITION are replaced by SYMBOL-FUNCTION.)
DEFUNCT CATEGORIES OF BUGS
IR1-#:
(downfrom (loop-for-arithmetic :downfrom))
(upfrom (loop-for-arithmetic :upfrom))
(below (loop-for-arithmetic :below))
+ (above (loop-for-arithmetic :above))
(to (loop-for-arithmetic :to))
(upto (loop-for-arithmetic :upto))
+ (downto (loop-for-arithmetic :downto))
(by (loop-for-arithmetic :by))
(being (loop-for-being)))
:iteration-keywords '((for (loop-do-for))
(loop for (a . a) in '((1 . 2) (3 . 4))
return a)))))
'program-error))
+
+;;; similar to gcl/ansi-test LOOP.1.27, and fixed at the same time:
+(assert (equal (loop for x downto 7 by 2 from 13 collect x) '(13 11 9 7)))
;;; versions, especially for internal versions off the main CVS
;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".)
-"0.7.9.33"
+"0.7.9.34"