1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-17 11:10:18 +02:00

a number of small compilation fixes

* ice-9/boot-9.scm: Allow a compiled load of posix, networking, and
  deprecated files.

* module/language/scheme/translate.scm (lookup-transformer): Lookup the
  sc-macro by value, not by name. Works around the fact that compiled
  macros don't have names, which is probably a bug.

* module/system/base/compile.scm (syntax-error)
  (call-with-compile-error-catch): Throw and catch a key that's not used
  by anyone else. Write error messages to the error port.

* module/system/repl/repl.scm (default-catch-handler): Call display-error
  with the correct number of arguments.

* module/system/vm/frame.scm (frame-program-name): Guard against unbound
  variables.

* ice-9/optargs.scm (let-keywords-template): Don't unquote in a helper
  procedure. A bit irritating. I suppose we should fix the modules +
  syncase situation at some point, and then switch to syncase.
This commit is contained in:
Andy Wingo 2008-09-25 13:46:09 +02:00
parent 5ba9d84978
commit 1e6ebf54db
6 changed files with 20 additions and 16 deletions

View file

@ -25,6 +25,7 @@
#:use-module (system il ghil)
#:use-module (system il inline)
#:use-module (ice-9 receive)
#:use-module ((ice-9 syncase) #:select (sc-macro))
#:use-module ((system base compile) #:select (syntax-error))
#:export (translate))
@ -63,7 +64,7 @@
(lambda (env loc exp)
(retrans (apply (defmacro-transformer val) (cdr exp)))))
((and (macro? val) (eq? (macro-name val) 'sc-macro))
((eq? val sc-macro)
;; syncase!
(let* ((the-syncase-module (resolve-module '(ice-9 syncase)))
(eec (module-ref the-syncase-module 'expansion-eval-closure))
@ -92,7 +93,7 @@
;; FIXME: lexical/module overrides of forbidden primitives
((memq head *forbidden-primitives*)
(syntax-error l (format #f "`~a' is forbidden" head)
(cons head tail)))
(cons head tail)))
(else
(let ((tail (map retrans tail)))