Ludovic Courtès 8245bb74fc
monads, gexp: Prevent redefinition of syntax parameters.
Fixes <https://bugs.gnu.org/27476>.

This fixes multi-threaded compilation of this code where syntax
parameters could end up being redefined and where a race condition could
lead a thread to see the "wrong" value of the syntax parameter.

* guix/monads.scm (define-syntax-parameter-once): New macro.
(>>=, return): Use it.
* guix/gexp.scm (define-syntax-parameter-once): New macro.
(current-imported-modules, current-imported-extensions): Use it.
2019-02-06 23:06:18 +01:00
..
2019-02-04 22:03:22 +01:00
2019-01-23 23:35:12 +01:00
2017-07-21 17:03:24 +02:00
2017-01-28 18:55:20 +01:00
2018-08-26 01:47:40 +02:00
2018-09-07 11:40:22 +02:00
2018-09-25 18:45:50 +02:00
2017-11-08 22:31:58 +01:00
2019-01-24 13:46:39 +01:00
2018-06-01 15:21:28 +02:00
2018-09-04 17:25:11 +02:00
2015-01-11 23:50:01 +01:00
2018-12-19 23:52:25 +01:00