1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-20 11:40:18 +02:00
guile/module
Rob Browning d79a226359 Fix crash on #nil in syntaxes
In 3.0.7 (after 0cc7991855 "Ensure
that (syntax ()) results in ("), the use of #nil in syntax-rules
expansions like this:

  (define-syntax foo
    (syntax-rules ()
      ((_ x) (eq? #nil x))))

  (foo #t)

could cause a crash that looks like this:

  ice-9/psyntax.scm:2795:12: In procedure syntax-violation:
  Syntax error:
  unknown location: unexpected syntax in form ()

To fix it, add another special case (the commit mentioned above
special-cased the empty list) to preserve #nil

* module/ice-9/psyntax.scm (gen-syntax): Preserve #nil.
* test-suite/tests/syntax.test: Test #nil in syntax expansions.

Closes: 49305
2021-07-11 15:00:33 -05:00
..
ice-9 Fix crash on #nil in syntaxes 2021-07-11 15:00:33 -05:00
language Fix bug in eq-constant? propagation in CSE if kf == kt 2021-05-24 11:09:24 +02:00
oop goops: Preserve all slot options in redefinable classes. 2021-03-19 21:45:53 +01:00
rnrs Write a proper vector-map and vector-for-each for (rnrs base) 2021-03-09 21:10:04 +01:00
scheme (scheme base) member: return #f, not (), for no match 2021-01-17 13:25:40 -06:00
scripts Bump copyright years for user-visible copyright messages 2021-01-07 13:00:46 +01:00
srfi [srfi-64] Fix a bug with test-end removing globally installed test-runner 2021-05-05 12:29:47 +02:00
sxml Remove duplicate definitions of call/ec' and let/ec'. 2013-04-06 15:40:19 +02:00
system Fix trace-calls-to-procedure 2021-05-19 16:41:30 +02:00
texinfo texinfo: Add basic support for @w{...}. 2020-06-18 00:30:30 +02:00
web web: 'tls-wrap' returns an unbuffered custom port. 2021-03-19 14:13:31 +01:00
Makefile.am Add support for recording inlinable module exports 2021-05-11 21:39:07 +02:00
rnrs.scm Define top-level bindings for aux syntax: else, =>, _, ... 2019-09-12 21:50:51 +02:00
statprof.scm Statprof reports primitive names 2020-06-04 11:46:34 +02:00
texinfo.scm texinfo: Add basic support for @w{...}. 2020-06-18 00:30:30 +02:00