(bar x)))
shouldn't compile without error (because of the extra DEFMACRO symbol).
+130:
+ reported by Alexey Dejneka on sbcl-devel 2001-11-03
+ (defun x (x)
+ "Return X if X is a non-negative integer."
+ (let ((step (lambda (%funcall)
+ (lambda (n)
+ (cond ((= n 0) 0)
+ (t (1+ (funcall %funcall (1- n)))))))))
+ (funcall
+ ((lambda (a)
+ (funcall step (lambda (n)
+ (funcall (funcall a a) n))))
+ (lambda (a)
+ (funcall step (lambda (n)
+ (funcall (funcall a a) n)))))
+ x)))
+ This function returns its argument. But after removing percents it
+ does not work: "Result of (1- n) is not a function".
+
+
KNOWN BUGS RELATED TO THE IR1 INTERPRETER
(Now that the IR1 interpreter has gone away, these should be
(format nil "~S initial component" name))
(setf (component-kind component) :initial)
(let* ((locall-fun (ir1-convert-lambda definition
- (format nil "locall ~S" name)))
+ (let ((*package* *keyword-package*))
+ (format nil "locall ~S" name))))
(fun (ir1-convert-lambda (make-xep-lambda locall-fun) name)))
(setf (functional-entry-function fun) locall-fun
(functional-kind fun) :external
;; GLOBAL-VAR, this is the symbol name of the variable. In a
;; functional that is from a DEFUN, this is the defined name. In
;; other functionals, this is a descriptive string.
+ ;;
+ ;; KLUDGE: Note that at least for LAMBDA-VARs, this is important not
+ ;; just for debugging but for ordinary compilation as well. In
+ ;; particular, in RECOGNIZE-KNOWN-CALL function calls are compiled
+ ;; differently based on the LEAF-NAME.
(name nil :type t)
;; the type which values of this leaf must have
(type *universal-type* :type ctype)
;;; for internal versions, especially for internal versions off the
;;; main CVS branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".)
-"0.pre7.84"
+"0.pre7.85"