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-binding
i.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.
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-binding
i.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.
I think the warings are expected. A note just above them says "Note: These tests generate warnings involving MACROLET within Iterate". I am not sure why our test results are different. Maybe my SBCL version is too old, I'll try the latest one.
On 24 Jan 2018, at 16:17, Ilya Perminov wrote:
I think the warings are expected. A note just above them says "Note: These tests generate warnings involving MACROLET within Iterate".
I am not sure why our test results are different. Maybe my SBCL version is too old, I'll try the latest one.
Mine's old, too. I'm on 1.3.14, and I think it's up over 1.4 by now.... Haven't rebuilt it in a while. Best, r
On 24 Jan 2018, at 16:17, Ilya Perminov wrote:
I think the warings are expected. A note just above them says "Note: These tests generate warnings involving MACROLET within Iterate".
I am not sure why our test results are different. Maybe my SBCL version is too old, I'll try the latest one.
Looks like these 5 failures are what I should be expecting. At the top of iterate-test.lisp I find this: ``` ;; This is here to document which tests are failing at the time of ;; writing. It's not used directly here, but the tests of the ;; iterate-compat package of hu.dwim.reiterate expect it. (defvar *tests-expected-to-fail* '(always.finally never.finally thereis.finally bug/walk.2 bug/collect-at-beginning )) ``` That suggests that the errors in `code-movement.finally`, `code-movement.finally-protected` and `code-movement.else` are unique to ACL and are *not* expected to fail. I'll try to make time to have a look at what is going on there. Best, r
participants (2)
-
Ilya Perminov
-
Robert Goldman