Fixed WHILE-MEASURING macro for case when CATCH-ERRORS-P argument is given7/head
commit470776ba4f9e898b17698aaa1d0f1298d882c918
authorAlexander Artemenko <svetlyak.40wt@gmail.com>
Tue, 23 Nov 2021 20:57:04 +0000 (23 23:57 +0300)
committerAlexander Artemenko <svetlyak.40wt@gmail.com>
Tue, 23 Nov 2021 20:57:04 +0000 (23 23:57 +0300)
tree168547af6d47242ff6fa027bb978a3a91aa6dd32
parent2594160d6ca3a77d8750110dfa63214256aab852
Fixed WHILE-MEASURING macro for case when CATCH-ERRORS-P argument is given

Previously it didn't catched error and other outer handler was able to catch it.
For example in this situation WHILE-MEASURING will not return it's measurments:

    CL-USER> (ignore-errors
               (lift:while-measuring (t :measure-seconds)
                  (sleep 5)
                  (error "Some shit happened")))
    NIL
    #<SIMPLE-ERROR 70B0125B13>

but I'd expect it to return:

    NIL
    (5.007D0)
    #<SIMPLE-ERROR 70B0004B73>

This commit fixes the problem.
dev/macros.lisp