1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-20 19:50:24 +02:00

relax restriction on _ in literals

* module/ice-9/psyntax.scm: Relax restriction on _ in literals.

* module/ice-9/psyntax-pp.scm: Regen.
This commit is contained in:
Andy Wingo 2010-06-21 21:47:42 +02:00
parent 31fe120216
commit 7cdd1615e0
2 changed files with 5526 additions and 6024 deletions

File diff suppressed because it is too large Load diff

View file

@ -1539,11 +1539,6 @@
(and (nonsymbol-id? x) (and (nonsymbol-id? x)
(free-id=? x #'(... ...))))) (free-id=? x #'(... ...)))))
(define underscore?
(lambda (x)
(and (nonsymbol-id? x)
(free-id=? x #'_))))
(define lambda-formals (define lambda-formals
(lambda (orig-args) (lambda (orig-args)
(define (req args rreq) (define (req args rreq)
@ -2412,8 +2407,7 @@
(let ((e (source-wrap e w s mod))) (let ((e (source-wrap e w s mod)))
(syntax-case e () (syntax-case e ()
((_ val (key ...) m ...) ((_ val (key ...) m ...)
(if (and-map (lambda (x) (if (and-map (lambda (x) (and (id? x) (not (ellipsis? x))))
(and (id? x) (not (ellipsis? x)) (not (underscore? x))))
#'(key ...)) #'(key ...))
(let ((x (gen-var 'tmp))) (let ((x (gen-var 'tmp)))
; fat finger binding and references to temp variable x ; fat finger binding and references to temp variable x