1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-01 04:10:18 +02:00
guile/module
Andy Wingo a2716cbe1e only bend hygiene in macro-introduced output, not for explicit @/@@
* module/ice-9/psyntax.scm
* module/ice-9/psyntax-pp.scm
* module/ice-9/boot-9.scm (make-module-ref): We were so almost there
  with what we had, sniff. The deal is that
    (begin (load "foo.scm") ((@@ (foo) bar)))
  would expand to
    (begin (load "foo.scm") (bar))
  because bar was unbound at expansion time, and make-module-ref assumed
  it was like the else in a cond. But it shouldn't have, because we
  /explicitly/ asked for the @@ var -- so now if we see a @ or @@, we
  never drop it. @@ introduced by hygiene can be dropped if it doesn't
  reference a var, though.

  Practically speaking, this means tagging all modules in psyntax with
  their intent: public or private (corresponding to @ or @@), hygiene
  (introduced by a macro), or bare (when we don't have a module). I'm
  not sure when we'd see a bare.

  The implementation is complicated by the need to support the old
  format and the new format at the same time, so that psyntax-pp can be
  regenerated.
2009-04-24 14:36:50 +02:00
..
ice-9 only bend hygiene in macro-introduced output, not for explicit @/@@ 2009-04-24 14:36:50 +02:00
language fix @ and syncase 2009-04-24 14:35:04 +02:00
oop speed up goops rehashing 2009-03-20 16:20:00 +01:00
scripts scripts take rest args 2009-04-20 18:20:01 +02:00
srfi ice-9 syncase now deprecated, woo 2009-04-24 14:34:23 +02:00
system ice-9 syncase now deprecated, woo 2009-04-24 14:34:23 +02:00
Makefile.am guile-tools is a scheme script that loads scheme modules 2009-04-17 11:19:42 +02:00