The input to guile 1.4.1 (from 12-Aug in the morning):
/home/bil/cl/ ../test/bin/guile
guile> (version)
"1.4.1"
guile> (use-modules (ice-9 syncase))
guile> (define-syntax progn
(syntax-rules ()
((progn) #f)
((progn <body> ...)
(begin <body> ...))
))
ERROR: In expression (eval (list noexpand x592)):
ERROR: Wrong number of arguments to #<procedure eval (x environment)>
ABORT: (wrong-number-of-args)
Type "(backtrace)" to get more information or "(debug)" to enter the debugger.
guile> (backtrace)
Backtrace:
0* (define-syntax progn (syntax-rules () ((progn) #f) ...))
1* [syncase (define-syntax progn (syntax-rules () (# #f) (# #)))]
2 (if (and (pair? x887) (equal? (car x887) noexpand)) (cadr x887) ...)
...
3 (begin (if (memq # esew) (top-level-eval-hook #)) (chi-void))
4* (if (memq # esew) (top-level-eval-hook #))
5 [top-level-eval-hook (install-global-transformer # #)]
6 (eval (list noexpand x592))
Type "(debug-enable 'backtrace)" if you would like a backtrace
automatically if an error occurs in the future.
I believe this is due to psyntax.ss:
(define top-level-eval-hook
(lambda (x)
(eval `(,noexpand ,x))))
(define local-eval-hook
(lambda (x)
(eval `(,noexpand ,x))))
While looking for this, I noticed this line that looks wrong:
emacs.scm: (not (procedure? (eval symbol) (interaction-environment))))