[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#15533: optimizing away noticeable effects
From: |
Mark H Weaver |
Subject: |
bug#15533: optimizing away noticeable effects |
Date: |
Sun, 06 Oct 2013 02:39:00 -0400 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux) |
Mark H Weaver <address@hidden> writes:
> Mark H Weaver <address@hidden> writes:
>
>> Ian Price <address@hidden> writes:
>>
>>> scheme@(guile-user)> ,optimize (define (foo f arg)
>>> (let* ((l '())
>>> (m (if (pair? arg)
>>> (begin
>>> (set! l (cdr arg))
>>> (car arg))
>>> arg)))
>>> (lambda () (apply f m l))))
>>> $14 = (define (foo f arg)
>>> (let ((m (if (pair? arg)
>>> (begin (begin (cdr arg) (if #f #f)) (car arg))
>>> arg)))
>>> (lambda () (f m))))
>>
>> I can confirm that the same thing happens on the stable-2.0 branch.
>
> Further investigation has revealed that 'peval' incorrectly removes the
> 'l' from the call to 'apply'.
stis pointed out that 2.0.5 does not have this bug. I'm currently doing
a git bisect to determine which commit introduced the bug.
Mark