store: 'with-store' uses 'with-exception-handler'.
authorLudovic Courtès <ludo@gnu.org>
Sat, 4 Apr 2020 21:58:05 +0000 (23:58 +0200)
committerLudovic Courtès <ludo@gnu.org>
Sat, 4 Apr 2020 22:36:44 +0000 (00:36 +0200)
commit376ba0ce570993cf6cdbed19596a245826308382
tree753671173fffe2fbd3eb79f2456fd34f525c113d
parent524a4e357cd71566841aaf405e8548fa3600b11b
store: 'with-store' uses 'with-exception-handler'.

This ensures the stack is not unwound before the exception is re-thrown,
as was the case since 8ed597f4a261fe188de82cd1f5daed83dba948eb, leading
to '&store-protocol-error' being uncaught by 'with-error-handling'
in (guix scripts build) & co.

* guix/store.scm (call-with-store): Define 'thunk'.  Add 'cond-expand'
to use 'with-exception-handler' on 'guile-3' and 'catch' otherwise.
guix/store.scm