Sorry -- I got the markdown all stuffed up in my last message. I think it's readable, though.
Best,
r
On 24 Jan 2018, at 15:58, Robert Goldman wrote:
On 24 Jan 2018, at 15:39, Ilya Perminov wrote:
Hi Robert,
To "revert" my patch manually just revert this change:
--- old-iterate/iterate.lisp 2018-01-15 16:49:24.171636397 -0800
+++ new-iterate/iterate.lisp 2018-01-15 16:49:24.171636397 -0800
@@ -3374,7 +3374,7 @@
(if (not (and (integerp n) (> n 0)))
(clause-error "~a should be a positive integer" n-expr)
;; Here, n is a positive integer.
- (let* ((p-i (intern-previous-info var))
+ (let* ((p-i (intern-previous-info var :next))
(init-val (make-initial-value default default? (var-type var)))
(temp (if (not (duplicable? init-val))
(make-var-and-default-bindingi.e. remove :next from (intern-previous-info var :next).
I only tested my patch on SBCL 1.3.0 and it did not break any tests. The BUG
tests failed, but everything else passed.Ilya
On MacOS, with SBCL 1.3.14, I get 5 failures:
5 out of 268 total tests failed: ITERATE.TEST::ALWAYS.FINALLY, ITERATE.TEST::NEVER.FINALLY, ITERATE.TEST::THEREIS.FINALLY, ITERATE.TEST::BUG/WALK.2, ITERATE.TEST::BUG/COLLECT-AT-BEGINNING.;
I also see this:
; caught STYLE-WARNING:
; undefined function: ITERATE:MULTIPLYING
;
; compilation unit finished
; Undefined function:
; ITERATE:MULTIPLYING
; caught 1 ERROR condition
; caught 1 WARNING condition
; caught 1 STYLE-WARNING condition
This is from loading the test system -- iterate itself loads without problems.
I'm not sure why this happens: I see this:
```
iterate.lisp
2872:(defsynonym multiplying multiply)and `multiplying` seems to be exported from package.lisp. The error occurs in `bug/macrolet.2` One thing I don't understand -- the test suite seems to use `:SB-RT` on SBCL, which is *not* the same as the `RT` package. Any idea what's going on here? Definitely caused me some confusion as a not-normally-SBCL user.