1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-04-30 03:40:34 +02:00
guile/module
Andy Wingo 61a8c9300d Fix race when expanding syntax-parameterize and define-syntax-parameter
* libguile/macros.c (scm_i_make_primitive_macro): Give primitive macros
  a primitive-macro macro-type.
* module/ice-9/psyntax.scm (put-global-definition-hook)
  (get-global-definition-hook): Inline into uses.
  (make-binding): Change format of lexically defined or rebound syntax
  parameters to just be the transformer, not a list of the transformer.
  (resolve-identifier, expand-install-global, expand-body)
  (syntax-parameterize): Adapt to use the variable object (box) holding
  the top-level syntax parameter as the "key" for lookups into the
  lexical environment, instead of a fresh object associated with the
  syntax transformer.
* module/ice-9/psyntax-pp.scm: Regenerate.

Fixes #27476, a horrible race when one thread is expanding a
syntax-parameterize form including uses, and another thread is expanding
the corresponding define-syntax-parameter.  See
https://debbugs.gnu.org/cgi/bugreport.cgi?bug=27476#102.
2019-02-22 15:11:29 +01:00
..
ice-9 Fix race when expanding syntax-parameterize and define-syntax-parameter 2019-02-22 15:11:29 +01:00
language Rename $closure to $const-fun 2018-10-03 22:58:45 +02:00
oop goops: Fix 'instance?' to work on objects that aren't structs. 2018-08-07 12:05:31 +02:00
rnrs Fix R6RS call-with-{input,output}-file to open textual ports. 2018-08-07 12:34:43 +02:00
scripts compile: Update copyright year. 2018-08-07 12:34:22 +02:00
srfi srfi-19: Remove unused procedure. 2018-08-07 12:34:37 +02:00
sxml Remove duplicate definitions of call/ec' and let/ec'. 2013-04-06 15:40:19 +02:00
system Fix linker bug that could fail to find the shstrtab 2018-10-08 10:08:33 +02:00
texinfo Remove all deprecated code 2017-05-22 13:36:42 +02:00
web web: Export http-request. 2018-08-07 12:13:19 +02:00
Makefile.am Merge branch 'master' into lightning 2018-08-07 12:43:25 +02:00
rnrs.scm Add R6RS bytevector->string, string->bytevector 2016-06-21 11:29:14 +02:00
statprof.scm VM manages hook sets itself 2018-09-14 08:52:24 +02:00
texinfo.scm texinfo: fix @url{@@} parsing 2014-11-09 15:56:33 +00:00