[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Guile-commits] GNU Guile branch, master, updated. v2.1.0-370-g3bf3d73
From: |
Andy Wingo |
Subject: |
[Guile-commits] GNU Guile branch, master, updated. v2.1.0-370-g3bf3d73 |
Date: |
Mon, 30 Jan 2012 19:28:20 +0000 |
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU Guile".
http://git.savannah.gnu.org/cgit/guile.git/commit/?id=3bf3d735ac743eda1f42627d165dfd86f1178126
The branch, master has been updated
via 3bf3d735ac743eda1f42627d165dfd86f1178126 (commit)
via dfadcf85cb3ae9133dece6bc39ed03dd25323d6e (commit)
via 252acfe8e70ac4c7d325588ffea1905fcf6f86b2 (commit)
via 855db1905d56efcdf91ae51a9e80990f79030eae (commit)
via e1fbe716e8596b7027af57623ebc72a0c6393187 (commit)
via 07c2ca0f0d56ebe515cb4ee9f1c3f4b3e824ca7b (commit)
via 741b8a2300ef329cf5691a3c35b920df68f093e2 (commit)
via adb8054c6d16d3c5869cd543dbd29c384af02ccd (commit)
via 2f3e436411b5dbb4f1a1b9d8583b348e221d5b67 (commit)
via 505afe28321654a5e28b0954eeda9d1a58ce2467 (commit)
via 58f86505d658359508732c8f187bc37d010074d0 (commit)
via 9c5d7fa6714e2c8f5e808cdc211f6bd0c1cd49d6 (commit)
via a18e13a57c064cc1cde9a96b7ac006cdee3263e0 (commit)
via a39b116f0071629082b0dc09ea782e321ee313ca (commit)
via 5e80f2cea30e18e58b9aaf4e95acf8ccfd1eb45f (commit)
via e22ad42bdbba47a023748c541d4c8fc5b88441d8 (commit)
via 241247e8b967eea0c017f51d6ff565bd667c94a8 (commit)
via f5ea0499a411309014475dc7f7983e827f431af2 (commit)
via 04b2d773548c57b6eadd1808a8d15cce47af9630 (commit)
via c0e4449908eee84bcb293ec21c10fec646bde45d (commit)
via eb7da3d81f565ae20b0a35dda0607537e969ff59 (commit)
via 0740cb49d1509c56184fc6802b4347ed8fc80a28 (commit)
via 40e92f09fc3330aa33a169ad1aa6bf458633984c (commit)
via d4b5c773e46284ff1aedf0ff7a907f5a37deaf8d (commit)
via 0133e13f3424db582f3f58c13d6f3dc0627bd53b (commit)
via 68c31a42ab137a5a54a577f19a69dfcbcfd33271 (commit)
via 6dc8c138f902abeeabde23dc6fb29bd11e29da3b (commit)
via f9685f437312ea790981373ddc375b2a26ba9c4f (commit)
via 4496c9c1e8c5620fd3b4eaacc7f1f8e35829b32d (commit)
via d062a8c1eeeb55264c1a2fd8f4fbe765f1dcc6d9 (commit)
via f5e772b2bac149c854b9b003e7a96632af7f8760 (commit)
via 3a822fff1565d1b0f5802925e3c169355143ba3b (commit)
via 60273407f92fdfe36c3ec09decfd92746bbb4f5e (commit)
via 40fb4e317b2a03a2b6ee0c7b7d0f1c37bed25d05 (commit)
via 68fcf7118923c4c2490075e18c15b4f722973987 (commit)
via 1ace4fbf3dcacee77540aaaa49e032bad9ed9e27 (commit)
via 3d51e57cfb0404db568a6adfde2a346d3fd9907e (commit)
via a2b62b48ab92ed1b5e5e0bcc292498abba3154cb (commit)
via e5cf97290c3d2dcda0eca02f9fcf4020452bca42 (commit)
via d646d81ec1c9f16a1e4d3f5bd388ec069c47a1c2 (commit)
via c3d5344a92d815c855445d82079d1a390b9282c8 (commit)
via 2b264d7e4fb649955ade1814527b6eb6f34f4e18 (commit)
via 228e9ec137be1e7a2bc05641f975b52d1ad84416 (commit)
via 5765c5a82ce3891faff02c0bcc603cc0fe5ae36d (commit)
via c64d07d822f44f5917ee9b90956bb8ed5bb716fd (commit)
via 21ad60a1d29032ab5f2a9d798ced9d1a1a8420b2 (commit)
via 73c080f9c07a8eed713c0e62bdbdce31ac5bbf86 (commit)
via fb8b2a9d6006077700e84b24d824180d2a433e1c (commit)
via 967394bca716f70b65bdb243b748859a1e3ab8a6 (commit)
via 0fc9040fa248c7d964966a568749d1398a457cd8 (commit)
via 17cc6e40a9ba5db9b0ff003a9a277ba43a72a067 (commit)
via ad432bc8317c33899efc29854550b67f3d7babf7 (commit)
via d47db067b63089880e2e202d5a33fd7fe5e41dbe (commit)
via 925172cf529a89f0c5fd81720718971f9059fcfd (commit)
via fb01fd87729256ac9740a275ced1dd83dafadfdf (commit)
via 9accf3d98ffd1d9d484e5214a9dd9e4054204557 (commit)
via 7d02e256610e37c0ab0e8c55623d6f6c6eacab82 (commit)
via 9b0975f1dc41ddd10d81fb5b0965b9e9a54ef37a (commit)
via 1ceeca0a76809248aa974685756e0f05c7f64200 (commit)
via f0007cade095c5a2878ebbb8ea8c9b40810e4509 (commit)
via ad17b1551241a0fbaa9f9557016cbe440cc6338b (commit)
via bbd210517f12fdabb51e0dc2527ba186bb1ba549 (commit)
via d143fac660911ffdb6d792007d85523a668dbc9b (commit)
via 1bd9a697b186c9a2c84f7c1028c9292f779ec79a (commit)
via 222056dcf22ae7f1ab52df81a40d286c1eba9b3a (commit)
via 6f0e534fcfe8b465ae383a62b97f5ff71086d474 (commit)
via 25dc93dd575994fabdcfb558521d3287f604f081 (commit)
via 1acb290f6628a6aea9a78dea9e3e91b106d22e1b (commit)
via c5f6c2e47fab220fd090d911efc2a71a563b7c1d (commit)
via 39eb0b7297a0e5baad5d3dc34068c854fa4c0c8b (commit)
via 88c0a1d5911e68aed20675948b15d7e67896df87 (commit)
via 486bd70d5309469edd27a73f5663044a78526856 (commit)
via 0f4f2d9a3096f935f4e4f91ee437b7b5b16d20c8 (commit)
via ea3cef045a413aa1001cf13e1ea2bc150626c3ce (commit)
via f41ef416803b57473761b1963b0709312f36ddad (commit)
via e2e8ca42405133edda17d6a679985b9569059406 (commit)
via f43622a27b98ae2d44cd1a5d35c95309cc617c5c (commit)
via 99db1bc2e2de7ee9a91eb07d7f9a7188626ac6bc (commit)
via cd3370bac1cfd4b01dd7a9865e2ece5c2696db2b (commit)
via bbe3408ae48ce07a5265d065511ee1a1e5ccd026 (commit)
via 69cd5299e308571149d15eac774ee23fc97ecb0e (commit)
via 17bec5451bfb14c1412669a40b78e483dfe56933 (commit)
via d6a569c191e14ed756135cff3de35371b1b8757b (commit)
via 7532125912a381c0770aa7af596b7401942c685b (commit)
via 3248c954dbd67a2abb67ffbc470feaeb8c8dd0d3 (commit)
via 86c63a8251496f1272902185f4b9a0ddcc023815 (commit)
from 91ee7515da0bad91330ce5c87b250d6cf12a2789 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 3bf3d735ac743eda1f42627d165dfd86f1178126
Author: Andy Wingo <address@hidden>
Date: Mon Jan 30 20:28:10 2012 +0100
"fix" local-eval for introduced toplevels
* module/ice-9/local-eval.scm: Fix for introduced toplevel identifiers.
commit dfadcf85cb3ae9133dece6bc39ed03dd25323d6e
Merge: 252acfe e1fbe71
Author: Andy Wingo <address@hidden>
Date: Mon Jan 30 19:59:08 2012 +0100
Merge remote-tracking branch 'origin/stable-2.0'
Conflicts:
libguile/debug.h
module/ice-9/psyntax-pp.scm
module/ice-9/psyntax.scm
module/language/tree-il/peval.scm
module/language/tree-il/primitives.scm
commit 252acfe8e70ac4c7d325588ffea1905fcf6f86b2
Merge: 855db19 3d51e57
Author: Andy Wingo <address@hidden>
Date: Mon Jan 30 18:52:46 2012 +0100
Merge commit '3d51e57cfb0404db568a6adfde2a346d3fd9907e'
Conflicts:
libguile/foreign.c
libguile/hashtab.c
module/ice-9/psyntax-pp.scm
module/language/tree-il/compile-glil.scm
commit 855db1905d56efcdf91ae51a9e80990f79030eae
Merge: 91ee751 9b0975f
Author: Andy Wingo <address@hidden>
Date: Mon Jan 30 18:25:07 2012 +0100
Merge commit '9b0975f1dc41ddd10d81fb5b0965b9e9a54ef37a'
Conflicts:
libguile/foreign.c
module/ice-9/psyntax-pp.scm
module/ice-9/psyntax.scm
-----------------------------------------------------------------------
Summary of changes:
.gitignore | 1 +
GNUmakefile | 6 +-
NEWS | 196 +
README | 13 +-
build-aux/announce-gen | 30 +-
build-aux/config.rpath | 2 +-
build-aux/git-version-gen | 10 +-
build-aux/gitlog-to-changelog | 74 +-
build-aux/gnu-web-doc-update | 2 +-
build-aux/gnupload | 22 +-
build-aux/snippet/arg-nonnull.h | 2 +-
build-aux/snippet/c++defs.h | 2 +-
build-aux/snippet/unused-parameter.h | 2 +-
build-aux/snippet/warn-on-use.h | 2 +-
build-aux/useless-if-before-free | 10 +-
build-aux/vc-list-files | 2 +-
configure.ac | 7 +-
doc/gendocs_template | 2 +-
doc/ref/api-control.texi | 49 +-
doc/ref/api-data.texi | 42 +-
doc/ref/api-debug.texi | 21 +-
doc/ref/api-evaluation.texi | 320 +-
doc/ref/api-foreign.texi | 10 +-
doc/ref/api-macros.texi | 150 +-
doc/ref/api-memory.texi | 52 +-
doc/ref/api-modules.texi | 8 +-
doc/ref/api-options.texi | 50 +-
doc/ref/api-procedures.texi | 5 -
doc/ref/api-scheduling.texi | 128 +-
doc/ref/guile-invoke.texi | 2 +-
doc/ref/guile.texi | 2 +-
doc/ref/r6rs.texi | 6 +-
doc/ref/scheme-ideas.texi | 6 +-
doc/ref/scheme-using.texi | 9 +-
doc/ref/srfi-modules.texi | 158 +-
doc/ref/vm.texi | 2 +-
doc/release.org | 10 +
guile-readline/Makefile.am | 5 +-
lib/Makefile.am | 75 +-
lib/accept.c | 2 +-
lib/alignof.h | 2 +-
lib/alloca.in.h | 2 +-
lib/arpa_inet.in.h | 2 +-
lib/asnprintf.c | 2 +-
lib/basename-lgpl.c | 2 +-
lib/binary-io.h | 2 +-
lib/bind.c | 2 +-
lib/byteswap.in.h | 2 +-
lib/c-ctype.c | 2 +-
lib/c-ctype.h | 2 +-
lib/c-strcase.h | 2 +-
lib/c-strcasecmp.c | 2 +-
lib/c-strcaseeq.h | 2 +-
lib/c-strncasecmp.c | 2 +-
lib/canonicalize-lgpl.c | 6 +-
lib/ceil.c | 2 +-
lib/close.c | 2 +-
lib/config.charset | 4 +-
lib/connect.c | 2 +-
lib/dirent.in.h | 249 +
lib/{same-inode.h => dirfd.c} | 23 +-
lib/dirname-lgpl.c | 8 +-
lib/dirname.h | 2 +-
lib/dosname.h | 2 +-
lib/duplocale.c | 2 +-
lib/errno.in.h | 2 +-
lib/fcntl.in.h | 12 +-
lib/fd-hook.c | 2 +-
lib/fd-hook.h | 2 +-
lib/float+.h | 2 +-
lib/float.c | 2 +-
lib/float.in.h | 2 +-
lib/flock.c | 2 +-
lib/floor.c | 2 +-
lib/frexp.c | 2 +-
lib/fstat.c | 2 +-
lib/full-read.c | 2 +-
lib/full-read.h | 2 +-
lib/full-write.c | 2 +-
lib/full-write.h | 2 +-
lib/gai_strerror.c | 2 +-
lib/getaddrinfo.c | 14 +-
lib/getpeername.c | 2 +-
lib/getsockname.c | 2 +-
lib/getsockopt.c | 2 +-
lib/gettext.h | 2 +-
lib/iconv.c | 2 +-
lib/iconv.in.h | 2 +-
lib/iconv_close.c | 2 +-
lib/iconv_open.c | 2 +-
lib/iconveh.h | 2 +-
lib/inet_ntop.c | 18 +-
lib/inet_pton.c | 14 +-
lib/isinf.c | 2 +-
lib/isnan.c | 2 +-
lib/isnand-nolibm.h | 2 +-
lib/isnand.c | 2 +-
lib/isnanf.c | 2 +-
lib/isnanl.c | 2 +-
lib/itold.c | 2 +-
lib/listen.c | 2 +-
lib/localcharset.c | 30 +-
lib/localcharset.h | 2 +-
lib/locale.in.h | 2 +-
lib/lstat.c | 8 +-
lib/malloc.c | 2 +-
lib/malloca.c | 2 +-
lib/malloca.h | 2 +-
lib/math.in.h | 2 +-
lib/memchr.c | 2 +-
lib/msvc-inval.c | 4 +-
lib/msvc-inval.h | 4 +-
lib/msvc-nothrow.c | 4 +-
lib/msvc-nothrow.h | 2 +-
lib/netdb.in.h | 20 +-
lib/netinet_in.in.h | 2 +-
lib/nproc.c | 2 +-
lib/nproc.h | 2 +-
lib/open.c | 2 +-
lib/pathmax.h | 2 +-
lib/pipe2.c | 6 +-
lib/printf-args.c | 2 +-
lib/printf-args.h | 2 +-
lib/printf-parse.c | 4 +-
lib/printf-parse.h | 2 +-
lib/putenv.c | 6 +-
lib/raise.c | 2 +-
lib/read.c | 2 +-
lib/readlink.c | 2 +-
lib/recv.c | 2 +-
lib/recvfrom.c | 2 +-
lib/ref-add.sin | 2 +-
lib/ref-del.sin | 2 +-
lib/rename.c | 2 +-
lib/rmdir.c | 2 +-
lib/safe-read.c | 2 +-
lib/safe-read.h | 2 +-
lib/safe-write.c | 2 +-
lib/safe-write.h | 2 +-
lib/same-inode.h | 16 +-
lib/send.c | 2 +-
lib/sendto.c | 2 +-
lib/setenv.c | 390 +
lib/setsockopt.c | 2 +-
lib/shutdown.c | 2 +-
lib/signal.in.h | 2 +-
lib/size_max.h | 2 +-
lib/snprintf.c | 2 +-
lib/socket.c | 2 +-
lib/sockets.c | 2 +-
lib/sockets.h | 2 +-
lib/stat-time.h | 4 +-
lib/stat.c | 2 +-
lib/stdalign.in.h | 14 +-
lib/stdbool.in.h | 2 +-
lib/stddef.in.h | 2 +-
lib/stdint.in.h | 2 +-
lib/stdio.in.h | 8 +-
lib/stdlib.in.h | 134 +-
lib/strftime.c | 8 +-
lib/strftime.h | 2 +-
lib/striconveh.c | 2 +-
lib/striconveh.h | 2 +-
lib/string.in.h | 2 +-
lib/stripslash.c | 4 +-
lib/sys_file.in.h | 2 +-
lib/sys_socket.in.h | 2 +-
lib/sys_stat.in.h | 7 +-
lib/sys_time.in.h | 2 +-
lib/sys_types.in.h | 2 +-
lib/sys_uio.in.h | 2 +-
lib/time.in.h | 2 +-
lib/time_r.c | 2 +-
lib/trunc.c | 2 +-
lib/unistd.in.h | 32 +-
lib/unistr.in.h | 2 +-
lib/unistr/u8-mbtouc-aux.c | 2 +-
lib/unistr/u8-mbtouc-unsafe-aux.c | 2 +-
lib/unistr/u8-mbtouc-unsafe.c | 2 +-
lib/unistr/u8-mbtouc.c | 2 +-
lib/unistr/u8-mbtoucr.c | 2 +-
lib/unistr/u8-prev.c | 2 +-
lib/unistr/u8-uctomb-aux.c | 2 +-
lib/unistr/u8-uctomb.c | 2 +-
lib/unitypes.in.h | 2 +-
lib/vasnprintf.c | 6 +-
lib/vasnprintf.h | 2 +-
lib/verify.h | 16 +-
lib/vsnprintf.c | 2 +-
lib/w32sock.h | 2 +-
lib/wchar.in.h | 2 +-
lib/write.c | 2 +-
lib/xsize.h | 2 +-
libguile/debug.c | 13 +-
libguile/debug.h | 4 +-
libguile/eval.c | 46 +
libguile/eval.h | 7 +
libguile/filesys.c | 32 +-
libguile/fluids.c | 5 +-
libguile/foreign.c | 9 +-
libguile/frames.c | 11 +-
libguile/frames.h | 7 +-
libguile/gc.c | 4 +
libguile/hashtab.c | 7 +-
libguile/i18n.c | 13 +
libguile/macros.c | 34 +
libguile/print.c | 3 +-
libguile/random.c | 101 +
libguile/random.h | 3 +
libguile/strings.c | 85 +-
libguile/threads.c | 4 +-
libguile/values.c | 25 +
libguile/values.h | 1 +
libguile/vm.c | 5 +-
m4/00gnulib.m4 | 2 +-
m4/absolute-header.m4 | 8 +-
m4/alloca.m4 | 18 +-
m4/arpa_inet_h.m4 | 2 +-
m4/autobuild.m4 | 2 +-
m4/byteswap.m4 | 2 +-
m4/canonicalize.m4 | 2 +-
m4/ceil.m4 | 2 +-
m4/check-math-lib.m4 | 2 +-
m4/close.m4 | 2 +-
m4/codeset.m4 | 2 +-
m4/configmake.m4 | 2 +-
m4/dirent_h.m4 | 64 +
m4/dirfd.m4 | 83 +
m4/dirname.m4 | 2 +-
m4/double-slash-root.m4 | 2 +-
m4/duplocale.m4 | 2 +-
m4/eealloc.m4 | 2 +-
m4/environ.m4 | 2 +-
m4/errno_h.m4 | 2 +-
m4/exponentd.m4 | 2 +-
m4/exponentf.m4 | 2 +-
m4/exponentl.m4 | 2 +-
m4/extensions.m4 | 6 +-
m4/fcntl-o.m4 | 2 +-
m4/fcntl_h.m4 | 2 +-
m4/float_h.m4 | 2 +-
m4/flock.m4 | 2 +-
m4/floor.m4 | 2 +-
m4/fpieee.m4 | 2 +-
m4/frexp.m4 | 2 +-
m4/fstat.m4 | 2 +-
m4/func.m4 | 2 +-
m4/getaddrinfo.m4 | 2 +-
m4/glibc21.m4 | 2 +-
m4/gnulib-cache.m4 | 6 +-
m4/gnulib-common.m4 | 8 +-
m4/gnulib-comp.m4 | 23 +-
m4/gnulib-tool.m4 | 2 +-
m4/hostent.m4 | 2 +-
m4/iconv.m4 | 2 +-
m4/iconv_h.m4 | 2 +-
m4/iconv_open-utf.m4 | 2 +-
m4/iconv_open.m4 | 2 +-
m4/include_next.m4 | 4 +-
m4/inet_ntop.m4 | 2 +-
m4/inet_pton.m4 | 2 +-
m4/inline.m4 | 2 +-
m4/intmax_t.m4 | 2 +-
m4/inttypes_h.m4 | 2 +-
m4/isinf.m4 | 2 +-
m4/isnan.m4 | 2 +-
m4/isnand.m4 | 2 +-
m4/isnanf.m4 | 2 +-
m4/isnanl.m4 | 2 +-
m4/largefile.m4 | 2 +-
m4/ld-version-script.m4 | 17 +-
m4/ldexp.m4 | 2 +-
m4/lib-ld.m4 | 2 +-
m4/lib-link.m4 | 2 +-
m4/lib-prefix.m4 | 2 +-
m4/libunistring-base.m4 | 2 +-
m4/libunistring.m4 | 2 +-
m4/localcharset.m4 | 2 +-
m4/locale_h.m4 | 2 +-
m4/longlong.m4 | 8 +-
m4/lstat.m4 | 6 +-
m4/malloc.m4 | 2 +-
m4/malloca.m4 | 2 +-
m4/math_h.m4 | 2 +-
m4/mathfunc.m4 | 2 +-
m4/memchr.m4 | 2 +-
m4/mmap-anon.m4 | 2 +-
m4/mode_t.m4 | 2 +-
m4/msvc-inval.m4 | 2 +-
m4/msvc-nothrow.m4 | 2 +-
m4/multiarch.m4 | 2 +-
m4/netdb_h.m4 | 2 +-
m4/netinet_in_h.m4 | 2 +-
m4/nocrash.m4 | 2 +-
m4/nproc.m4 | 2 +-
m4/open.m4 | 2 +-
m4/pathmax.m4 | 2 +-
m4/pipe2.m4 | 2 +-
m4/printf.m4 | 8 +-
m4/putenv.m4 | 2 +-
m4/raise.m4 | 2 +-
m4/read.m4 | 2 +-
m4/readlink.m4 | 2 +-
m4/rename.m4 | 2 +-
m4/rmdir.m4 | 2 +-
m4/safe-read.m4 | 2 +-
m4/safe-write.m4 | 2 +-
m4/servent.m4 | 2 +-
m4/setenv.m4 | 140 +
m4/signal_h.m4 | 2 +-
m4/size_max.m4 | 2 +-
m4/snprintf.m4 | 2 +-
m4/socketlib.m4 | 2 +-
m4/sockets.m4 | 2 +-
m4/socklen.m4 | 2 +-
m4/sockpfaf.m4 | 2 +-
m4/ssize_t.m4 | 2 +-
m4/stat-time.m4 | 2 +-
m4/stat.m4 | 2 +-
m4/stdalign.m4 | 4 +-
m4/stdbool.m4 | 2 +-
m4/stddef_h.m4 | 2 +-
m4/stdint.m4 | 8 +-
m4/stdint_h.m4 | 2 +-
m4/stdio_h.m4 | 2 +-
m4/stdlib_h.m4 | 12 +-
m4/strftime.m4 | 2 +-
m4/string_h.m4 | 2 +-
m4/sys_file_h.m4 | 2 +-
m4/sys_socket_h.m4 | 2 +-
m4/sys_stat_h.m4 | 2 +-
m4/sys_time_h.m4 | 2 +-
m4/sys_types_h.m4 | 2 +-
m4/sys_uio_h.m4 | 2 +-
m4/time_h.m4 | 4 +-
m4/time_r.m4 | 2 +-
m4/tm_gmtoff.m4 | 2 +-
m4/trunc.m4 | 2 +-
m4/unistd_h.m4 | 11 +-
m4/vasnprintf.m4 | 2 +-
m4/visibility.m4 | 2 +-
m4/vsnprintf.m4 | 2 +-
m4/warn-on-use.m4 | 2 +-
m4/warnings.m4 | 2 +-
m4/wchar_h.m4 | 2 +-
m4/wchar_t.m4 | 2 +-
m4/wint_t.m4 | 2 +-
m4/write.m4 | 2 +-
m4/xsize.m4 | 2 +-
maint.mk | 39 +-
meta/guile-2.2.pc.in | 5 +-
module/Makefile.am | 5 +-
module/ice-9/boot-9.scm | 61 +-
module/ice-9/compile-psyntax.scm | 9 +-
module/ice-9/eval.scm | 3 +-
module/ice-9/local-eval.scm | 255 +
module/ice-9/psyntax-pp.scm |37576 ++++++++++----------
module/ice-9/psyntax.scm | 194 +-
module/ice-9/vlist.scm | 3 +-
module/language/assembly/disassemble.scm | 5 +-
module/language/glil/compile-assembly.scm | 13 +-
module/language/scheme/spec.scm | 9 +-
module/language/tree-il/analyze.scm | 49 +-
module/language/tree-il/compile-glil.scm | 7 +-
module/language/tree-il/peval.scm | 6 +-
module/language/tree-il/primitives.scm | 6 +-
module/rnrs/control.scm | 14 +-
module/scripts/list.scm | 3 +-
module/sxml/ssax.scm | 9 +-
module/system/base/message.scm | 6 +-
module/system/repl/common.scm | 2 +-
module/system/repl/error-handling.scm | 3 +-
test-suite/lalr/common-test.scm | 7 -
test-suite/standalone/Makefile.am | 7 +
test-suite/standalone/test-guile-snarf | 18 +-
test-suite/standalone/test-loose-ends.c | 36 +-
.../standalone/{test-list.c => test-scm-values.c} | 52 +-
test-suite/tests/asm-to-bytecode.test | 20 +-
test-suite/tests/eval.test | 101 +-
test-suite/tests/foreign.test | 8 +-
test-suite/tests/gc.test | 33 +-
test-suite/tests/hash.test | 19 +-
test-suite/tests/i18n.test | 8 +-
test-suite/tests/statprof.test | 72 +-
test-suite/tests/tree-il.test | 102 +-
385 files changed, 22780 insertions(+), 19890 deletions(-)
create mode 100644 lib/dirent.in.h
copy lib/{same-inode.h => dirfd.c} (66%)
create mode 100644 lib/setenv.c
create mode 100644 m4/dirent_h.m4
create mode 100644 m4/dirfd.m4
create mode 100644 m4/setenv.m4
create mode 100644 module/ice-9/local-eval.scm
copy test-suite/standalone/{test-list.c => test-scm-values.c} (50%)
diff --git a/.gitignore b/.gitignore
index ddef18b..edbb1f0 100644
--- a/.gitignore
+++ b/.gitignore
@@ -147,3 +147,4 @@ INSTALL
/lib/stdalign.h
/lib/signal.h
/lib/sys/types.h
+/lib/dirent.h
diff --git a/GNUmakefile b/GNUmakefile
index 86bc60f..d0fd3e8 100644
--- a/GNUmakefile
+++ b/GNUmakefile
@@ -1,11 +1,11 @@
-# Having a separate GNUmakefile lets me `include' the dynamically
+# Having a separate GNUmakefile lets me 'include' the dynamically
# generated rules created via cfg.mk (package-local configuration)
# as well as maint.mk (generic maintainer rules).
# This makefile is used only if you run GNU Make.
# It is necessary if you want to build targets usually of interest
# only to the maintainer.
-# Copyright (C) 2001, 2003, 2006-2011 Free Software Foundation, Inc.
+# Copyright (C) 2001, 2003, 2006-2012 Free Software Foundation, Inc.
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -114,7 +114,7 @@ endif
abort-due-to-no-makefile:
@echo There seems to be no Makefile in this directory. 1>&2
- @echo "You must run ./configure before running \`make'." 1>&2
+ @echo "You must run ./configure before running 'make'." 1>&2
@exit 1
endif
diff --git a/NEWS b/NEWS
index 6098130..0edcef7 100644
--- a/NEWS
+++ b/NEWS
@@ -5,6 +5,202 @@ See the end for copying conditions.
Please send Guile bug reports to address@hidden
+Changes in 2.0.4 (since 2.0.3):
+
+* Notable changes
+
+** Better debuggability for interpreted procedures.
+
+Guile 2.0 came with a great debugging experience for compiled
+procedures, but the story for interpreted procedures was terrible. Now,
+at least, interpreted procedures have names, and the `arity' procedure
+property is always correct (or, as correct as it can be, in the presence
+of `case-lambda').
+
+** Support for cross-compilation.
+
+One can now use a native Guile to cross-compile `.go' files for a
+different architecture. See the documentation for `--target' in the
+"Compilation" section of the manual, for information on how to use the
+cross-compiler. See the "Cross building Guile" section of the README,
+for more on how to cross-compile Guile itself.
+
+** The return of `local-eval'.
+
+Back by popular demand, `the-environment' and `local-eval' allow the
+user to capture a lexical environment, and then evaluate arbitrary
+expressions in that context. There is also a new `local-compile'
+command. See "Local Evaluation" in the manual, for more. Special
+thanks to Mark Weaver for an initial implementation of this feature.
+
+** Fluids can now have default values.
+
+Fluids are used for dynamic and thread-local binding. They have always
+inherited their values from the context or thread that created them.
+However, there was a case in which a new thread would enter Guile, and
+the default values of all the fluids would be `#f' for that thread.
+
+This has now been fixed so that `make-fluid' has an optional default
+value for fluids in unrelated dynamic roots, which defaults to `#f'.
+
+** Garbage collector tuning.
+
+The garbage collector has now been tuned to run more often under some
+circumstances.
+
+*** Unmanaged allocation
+
+The new `scm_gc_register_allocation' function will notify the collector
+of unmanaged allocation. This will cause the collector to run sooner.
+Guile's `scm_malloc', `scm_calloc', and `scm_realloc' unmanaged
+allocators eventually call this function. This leads to better
+performance under steady-state unmanaged allocation.
+
+*** Transient allocation
+
+When the collector runs, it will try to record the total memory
+footprint of a process, if the platform supports this information. If
+the memory footprint is growing, the collector will run more frequently.
+This reduces the increase of the resident size of a process in response
+to a transient increase in allocation.
+
+*** Management of threads, bignums
+
+Creating a thread will allocate a fair amount of memory. Guile now does
+some GC work (using `GC_collect_a_little') when allocating a thread.
+This leads to a better memory footprint when creating many short-lived
+threads.
+
+Similarly, bignums can occupy a lot of memory. Guile now offers hooks
+to enable custom GMP allocators that end up calling
+`scm_gc_register_allocation'. These allocators are enabled by default
+when running Guile from the command-line. To enable them in libraries,
+set the `scm_install_gmp_memory_functions' variable to a nonzero value
+before loading Guile.
+
+** SRFI-39 parameters are available by default.
+
+Guile now includes support for parameters, as defined by SRFI-39, in the
+default environment. See "Parameters" in the manual, for more
+information. `current-input-port', `current-output-port', and
+`current-error-port' are now parameters.
+
+** Add `current-warning-port'.
+
+Guile now outputs warnings on a separate port, `current-warning-port',
+initialized to the value that `current-error-port' has on startup.
+
+** Syntax parameters.
+
+Following Racket's lead, Guile now supports syntax parameters. See
+"Syntax parameters" in the manual, for more.
+
+Also see Barzilay, Culpepper, and Flatt's 2011 SFP workshop paper,
+"Keeping it Clean with syntax-parameterize".
+
+** Parse command-line arguments from the locale encoding.
+
+Guile now attempts to parse command-line arguments using the user's
+locale. However for backwards compatibility with other 2.0.x releases,
+it does so without actually calling `setlocale'. Please report any bugs
+in this facility to address@hidden
+
+** One-armed conditionals: `when' and `unless'
+
+Guile finally has `when' and `unless' in the default environment. Use
+them whenever you would use an `if' with only one branch. See
+"Conditionals" in the manual, for more.
+
+** `current-filename', `add-to-load-path'
+
+There is a new form, `(current-filename)', which expands out to the
+source file in which it occurs. Combined with the new
+`add-to-load-path', this allows simple scripts to easily add nearby
+directories to the load path. See "Load Paths" in the manual, for more.
+
+** `random-state-from-platform'
+
+This procedure initializes a random seed using good random sources
+available on your platform, such as /dev/urandom. See "Random Number
+Generation" in the manual, for more.
+
+** Manual updates
+
+Besides the sections already mentioned, the following manual sections
+are new in this release: "Modules and the File System", "Module System
+Reflection", "Syntax Transformer Helpers", and "Local Inclusion".
+
+* New interfaces
+
+** (ice-9 session): `apropos-hook'
+** New print option: `escape-newlines', defaults to #t.
+** (ice-9 ftw): `file-system-fold', `file-system-tree', `scandir'
+** `scm_c_value_ref': access to multiple returned values from C
+** scm_call (a varargs version), scm_call_7, scm_call_8, scm_call_9
+** Some new syntax helpers in (system syntax)
+
+Search the manual for these identifiers and modules, for more.
+
+* Build fixes
+
+** FreeBSD build fixes.
+** OpenBSD compilation fixes.
+** Solaris 2.10 test suite fixes.
+** IA64 compilation fix.
+** MinGW build fixes.
+** Work around instruction reordering on SPARC and HPPA in the VM.
+** Gnulib updates: added `dirfd', `setenv' modules.
+
+* Bug fixes
+
+** Add a deprecated alias for $expt.
+** Add an exception printer for `getaddrinfo-error'.
+** Add deprecated shim for `scm_display_error' with stack as first argument.
+** Add warnings for unsupported `simple-format' options.
+** Allow overlapping regions to be passed to `bytevector-copy!'.
+** Avoid calling `u32_conv_from_encoding' on the null string.
+** Better function prologue disassembly
+** Compiler: fix miscompilation of (values foo ...) in some contexts.
+** Compiler: fix serialization of #nil-terminated lists.
+** Compiler: allow values bound in non-tail let expressions to be collected.
+** Deprecate SCM_ASRTGO.
+** Document invalidity of (begin) as expression; add back-compat shim.
+** Don't leak file descriptors when mmaping objcode.
+** Empty substrings no longer reference the original stringbuf.
+** FFI: Fix `set-pointer-finalizer!' to leave the type cell unchanged.
+** FFI: Fix signed/unsigned pointer mismatches in implementation.
+** FFI: Hold a weak reference to the CIF made by `procedure->pointer'.
+** FFI: Hold a weak reference to the procedure passed to `procedure->pointer'.
+** FFI: Properly unpack small integer return values in closure call.
+** Fix R6RS `fold-left' so the accumulator is the first argument.
+** Fix `validate-target' in (system base target).
+** Fix bit-set*! bug from 2005.
+** Fix bug in `make-repl' when `lang' is actually a <language>.
+** Fix bugs related to mutation, the null string, and shared substrings.
+** Fix <dynwind> serialization.
+** Fix erroneous check in `set-procedure-properties!'.
+** Fix generalized-vector-{ref,set!} for slices.
+** Fix error messages involving definition forms.
+** Fix primitive-eval to return #<unspecified> for definitions.
+** HTTP: Extend handling of "Cache-Control" header.
+** HTTP: Fix qstring writing of cache-extension values
+** HTTP: Fix validators for various list-style headers.
+** HTTP: Permit non-date values for Expires header.
+** HTTP: `write-request-line' writes absolute paths, not absolute URIs.
+** Hack the port-column of current-output-port after printing a prompt.
+** Have `cpu-word-size' error out on unknown CPUs; add support for MIPSEL.
+** Make sure `regexp-quote' tests use Unicode-capable string ports.
+** Peval: Fix bugs in the new optimizer.
+** Peval: fold (values FOO) to FOO in more cases
+** Statistically unique marks and labels, for robust hygiene across sessions.
+** Web: Allow URIs with empty authorities, like "file:///etc/hosts".
+** `,language' at REPL sets the current-language fluid.
+** `primitive-load' returns the value(s) of the last expression.
+** `scm_from_stringn' always returns unique strings.
+** `scm_i_substring_copy' tries to narrow the substring.
+** guile-readline: Clean `.go' files.
+** i18n: Fix gc_malloc/free mismatch on non-GNU systems.
+
Changes in 2.0.3 (since 2.0.2):
* Speed improvements
diff --git a/README b/README
index 66f02b3..31fdb80 100644
--- a/README
+++ b/README
@@ -93,10 +93,15 @@ Guile requires the following external packages:
- pkg-config
Guile's ./configure script uses pkg-config to discover the correct
- compile and link options for libgc and libffi. If you don't have
- pkg-config installed, or you have a version of libgc that doesn't
- provide a .pc file, you can work around this by setting some
- variables as part of the configure command-line:
+ compile and link options for libgc and libffi. For this to work,
+ the `PKG_CONFIG_PATH' environment variable must be set to point to
+ the places where libgc's and libffi's `.pc' files can be found:
+
+
PKG_CONFIG_PATH=/path/to/libgc/lib/pkgconfig:/path/to/libffi/lib/pkgconfig
+
+ Alternatively, when pkg-config is not installed, you can work around
+ this by setting some variables as part of the configure
+ command-line:
- PKG_CONFIG=true
diff --git a/build-aux/announce-gen b/build-aux/announce-gen
index 3866381..3ca90a9 100755
--- a/build-aux/announce-gen
+++ b/build-aux/announce-gen
@@ -3,13 +3,13 @@ eval '(exit $?0)' && eval 'exec perl -wS "$0" ${1+"$@"}'
if 0;
# Generate a release announcement message.
-my $VERSION = '2011-11-09 21:30'; # UTC
+my $VERSION = '2012-01-06 07:46'; # UTC
# The definition above must lie within the first 8 lines in order
# for the Emacs time-stamp write hook (at end) to update it.
# If you change this file with Emacs, please let the write hook
# do its job. Otherwise, update this string manually.
-# Copyright (C) 2002-2011 Free Software Foundation, Inc.
+# Copyright (C) 2002-2012 Free Software Foundation, Inc.
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -44,7 +44,7 @@ sub usage ($)
my $STREAM = ($exit_code == 0 ? *STDOUT : *STDERR);
if ($exit_code != 0)
{
- print $STREAM "Try `$ME --help' for more information.\n";
+ print $STREAM "Try '$ME --help' for more information.\n";
}
else
{
@@ -106,7 +106,7 @@ sub sizes (@)
my $t = `$cmd`;
# FIXME-someday: give a better diagnostic, a la $PROCESS_STATUS
$@
- and (warn "$ME: command failed: `$cmd'\n"), $fail = 1;
+ and (warn "$ME: command failed: '$cmd'\n"), $fail = 1;
chomp $t;
$t =~ s/^([\d.]+[MkK]).*/${1}B/;
$res{$f} = $t;
@@ -210,7 +210,7 @@ sub print_news_deltas ($$$)
else
{
# This regexp must not match version numbers in NEWS items.
- # For example, they might well say `introduced in 4.5.5',
+ # For example, they might well say "introduced in 4.5.5",
# and we don't want that to match.
$line =~ /^$re_prefix.*(?:[^\d.]|$)\Q$prev_version\E(?:[^\d.]|$)/o
and last;
@@ -222,9 +222,9 @@ sub print_news_deltas ($$$)
close NEWS;
$in_items
- or die "$ME: $news_file: no matching lines for `$curr_version'\n";
+ or die "$ME: $news_file: no matching lines for '$curr_version'\n";
$found_news
- or die "$ME: $news_file: no news item found for `$curr_version'\n";
+ or die "$ME: $news_file: no news item found for '$curr_version'\n";
}
sub print_changelog_deltas ($$)
@@ -269,7 +269,7 @@ sub print_changelog_deltas ($$)
# Append any remaining ChangeLog files.
push @reordered, sort keys %changelog;
- # Remove leading `./'.
+ # Remove leading './'.
@reordered = map { s!^\./!!; $_ } @reordered;
print "\nChangeLog entries:\n\n";
@@ -280,11 +280,11 @@ sub print_changelog_deltas ($$)
my $cmd = "cvs -n diff -u -r$prev_cvs_tag -rHEAD @reordered";
open DIFF, '-|', $cmd
- or die "$ME: cannot run `$cmd': $!\n";
+ or die "$ME: cannot run '$cmd': $!\n";
# Print two types of lines, making minor changes:
- # Lines starting with `+++ ', e.g.,
+ # Lines starting with '+++ ', e.g.,
# +++ ChangeLog 22 Feb 2003 16:52:51 -0000 1.247
- # and those starting with `+'.
+ # and those starting with '+'.
# Don't print the others.
my $prev_printed_line_empty = 1;
while (defined (my $line = <DIFF>))
@@ -310,7 +310,7 @@ sub print_changelog_deltas ($$)
# The exit code should be 1.
# Allow in case there are no modified ChangeLog entries.
$? == 256 || $? == 128
- or warn "$ME: warning: `cmd' had unexpected exit code or signal ($?)\n";
+ or warn "$ME: warning: '$cmd' had unexpected exit code or signal ($?)\n";
}
sub get_tool_versions ($$)
@@ -329,7 +329,7 @@ sub get_tool_versions ($$)
next;
}
# Assume that the last "word" on the first line of
- # `tool --version` output is the version string.
+ # 'tool --version' output is the version string.
my ($first_line, undef) = split ("\n", `$t --version`);
if ($first_line =~ /.* (\d[\w.-]+)$/)
{
@@ -410,7 +410,7 @@ sub get_tool_versions ($$)
. "in the gnulib source directory.\n"), $fail = 1;
exists $valid_release_types{$release_type}
- or (warn "$ME: `$release_type': invalid release type\n"), $fail = 1;
+ or (warn "$ME: '$release_type': invalid release type\n"), $fail = 1;
@ARGV
and (warn "$ME: too many arguments:\n", join ("\n", @ARGV), "\n"),
@@ -505,7 +505,7 @@ then run this command to import it:
gpg --keyserver keys.gnupg.net --recv-keys $gpg_key_id
-and rerun the \`gpg --verify' command.
+and rerun the 'gpg --verify' command.
EOF
my @tool_versions = get_tool_versions (address@hidden, $gnulib_version);
diff --git a/build-aux/config.rpath b/build-aux/config.rpath
index 8bd7f5d..c0d31f9 100755
--- a/build-aux/config.rpath
+++ b/build-aux/config.rpath
@@ -2,7 +2,7 @@
# Output a system dependent set of variables, describing how to set the
# run time search path of shared libraries in an executable.
#
-# Copyright 1996-2011 Free Software Foundation, Inc.
+# Copyright 1996-2012 Free Software Foundation, Inc.
# Taken from GNU libtool, 2001
# Originally by Gordon Matzigkeit <address@hidden>, 1996
#
diff --git a/build-aux/git-version-gen b/build-aux/git-version-gen
index c7a58af..d5542a2 100755
--- a/build-aux/git-version-gen
+++ b/build-aux/git-version-gen
@@ -1,8 +1,8 @@
#!/bin/sh
# Print a version string.
-scriptversion=2011-11-13.13; # UTC
+scriptversion=2012-01-06.07; # UTC
-# Copyright (C) 2007-2011 Free Software Foundation, Inc.
+# Copyright (C) 2007-2012 Free Software Foundation, Inc.
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -98,8 +98,8 @@ while test $# -gt 0; do
--version) echo "$version"; exit 0;;
--prefix) shift; prefix="$1";;
-*)
- echo "$0: Unknown option \`$1'." >&2
- echo "$0: Try \`--help' for more information." >&2
+ echo "$0: Unknown option '$1'." >&2
+ echo "$0: Try '--help' for more information." >&2
exit 1;;
*)
if test -z "$tarball_version_file"; then
@@ -107,7 +107,7 @@ while test $# -gt 0; do
elif test -z "$tag_sed_script"; then
tag_sed_script="$1"
else
- echo "$0: extra non-option argument \`$1'." >&2
+ echo "$0: extra non-option argument '$1'." >&2
exit 1
fi;;
esac
diff --git a/build-aux/gitlog-to-changelog b/build-aux/gitlog-to-changelog
index 40a8035..0efedb0 100755
--- a/build-aux/gitlog-to-changelog
+++ b/build-aux/gitlog-to-changelog
@@ -3,13 +3,13 @@ eval '(exit $?0)' && eval 'exec perl -wS "$0" ${1+"$@"}'
if 0;
# Convert git log output to ChangeLog format.
-my $VERSION = '2011-11-02 07:53'; # UTC
+my $VERSION = '2012-01-06 07:14'; # UTC
# The definition above must lie within the first 8 lines in order
# for the Emacs time-stamp write hook (at end) to update it.
# If you change this file with Emacs, please let the write hook
# do its job. Otherwise, update this string manually.
-# Copyright (C) 2008-2011 Free Software Foundation, Inc.
+# Copyright (C) 2008-2012 Free Software Foundation, Inc.
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -47,7 +47,7 @@ sub usage ($)
my $STREAM = ($exit_code == 0 ? *STDOUT : *STDERR);
if ($exit_code != 0)
{
- print $STREAM "Try `$ME --help' for more information.\n";
+ print $STREAM "Try '$ME --help' for more information.\n";
}
else
{
@@ -78,6 +78,21 @@ EXAMPLE:
$ME --since=2008-01-01 > ChangeLog
$ME -- -n 5 foo > last-5-commits-to-branch-foo
+SPECIAL SYNTAX:
+
+The following types of strings are interpreted specially when they appear
+at the beginning of a log message line. They are not copied to the output.
+
+ Copyright-paperwork-exempt: Yes
+ Append the "(tiny change)" notation to the usual "date name email"
+ ChangeLog header to mark a change that does not require a copyright
+ assignment.
+ Co-authored-by: Joe User <address@hidden>
+ List the specified name and email address on a second
+ ChangeLog header, denoting a co-author.
+ Signed-off-by: Joe User <address@hidden>
+ These lines are simply elided.
+
In a FILE specified via --amend, comment lines (starting with "#") are ignored.
FILE must consist of <SHA,CODE+> pairs where SHA is a 40-byte SHA1 (alone on
a line) referring to a commit in the current project, and CODE refers to one
@@ -93,7 +108,7 @@ s/all tile types/all file types/
1379ed974f1fa39b12e2ffab18b3f7a607082202
# Due to a bug in vc-dwim, I mis-attributed a patch by Paul to myself.
# Change the author to be Paul. Note the escaped "@":
-s,Jim .*>,Paul Eggert <address@hidden>,
+s,Jim .*>,Paul Eggert <address@hidden>,
EOF
}
@@ -196,9 +211,10 @@ sub parse_amend_file($)
my @cmd = (qw (git log --log-size),
'--pretty=format:%H:%ct %an <%ae>%n%n'.$format_string, @ARGV);
open PIPE, '-|', @cmd
- or die ("$ME: failed to run `". quoted_cmd (@cmd) ."': $!\n"
+ or die ("$ME: failed to run '". quoted_cmd (@cmd) ."': $!\n"
. "(Is your Git too old? Version 1.5.1 or later is required.)\n");
+ my $prev_multi_paragraph;
my $prev_date_line = '';
my @prev_coauthors = ();
while (1)
@@ -249,11 +265,33 @@ sub parse_amend_file($)
or die "$ME:$.: Invalid line "
. "(expected date/author/email):\n$author_line\n";
- my $date_line = sprintf "%s $2\n", strftime ("%F", localtime ($1));
+ # Format 'Copyright-paperwork-exempt: Yes' as a standard ChangeLog
+ # `(tiny change)' annotation.
+ my $tiny = (grep (/^Copyright-paperwork-exempt:\s+[Yy]es$/, @line)
+ ? ' (tiny change)' : '');
+
+ my $date_line = sprintf "%s %s$tiny\n",
+ strftime ("%F", localtime ($1)), $2;
+
+ my @coauthors = grep /^Co-authored-by:.*$/, @line;
+ # Omit meta-data lines we've already interpreted.
+ @line = grep !/^(?:Signed-off-by:[ ].*>$
+ |Co-authored-by:[ ]
+ |Copyright-paperwork-exempt:[ ]
+ )/x, @line;
+
+ # Remove leading and trailing blank lines.
+ if (@line)
+ {
+ while ($line[0] =~ /^\s*$/) { shift @line; }
+ while ($line[$#line] =~ /^\s*$/) { pop @line; }
+ }
+
+ # Record whether there are two or more paragraphs.
+ my $multi_paragraph = grep /^\s*$/, @line;
# Format 'Co-authored-by: A U Thor <address@hidden>' lines in
# standard multi-author ChangeLog format.
- my @coauthors = grep /^Co-authored-by:.*$/, @line;
for (@coauthors)
{
s/^Co-authored-by:\s*/\t /;
@@ -264,9 +302,13 @@ sub parse_amend_file($)
. substr ($_, 5) . "\n";
}
- # If this header would be the same as the previous date/name/email/
- # coauthors header, then arrange not to print it.
- if ($date_line ne $prev_date_line or "@coauthors" ne "@prev_coauthors")
+ # If this header would be different from the previous date/name/email/
+ # coauthors header, or if this or the previous entry consists of two
+ # or more paragraphs, then print the header.
+ if ($date_line ne $prev_date_line
+ or "@coauthors" ne "@prev_coauthors"
+ or $multi_paragraph
+ or $prev_multi_paragraph)
{
$prev_date_line eq ''
or print "\n";
@@ -276,17 +318,7 @@ sub parse_amend_file($)
}
$prev_date_line = $date_line;
@prev_coauthors = @coauthors;
-
- # Omit "Co-authored-by..." and "Signed-off-by..." lines.
- @line = grep !/^Signed-off-by: .*>$/, @line;
- @line = grep !/^Co-authored-by: /, @line;
-
- # Remove leading and trailing blank lines.
- if (@line)
- {
- while ($line[0] =~ /^\s*$/) { shift @line; }
- while ($line[$#line] =~ /^\s*$/) { pop @line; }
- }
+ $prev_multi_paragraph = $multi_paragraph;
# If there were any lines
if (@line == 0)
diff --git a/build-aux/gnu-web-doc-update b/build-aux/gnu-web-doc-update
index f6d0ee1..7a43049 100755
--- a/build-aux/gnu-web-doc-update
+++ b/build-aux/gnu-web-doc-update
@@ -9,7 +9,7 @@
VERSION=2009-07-21.16; # UTC
-# Copyright (C) 2009-2011 Free Software Foundation, Inc.
+# Copyright (C) 2009-2012 Free Software Foundation, Inc.
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/build-aux/gnupload b/build-aux/gnupload
index 68215ca..eb450a0 100755
--- a/build-aux/gnupload
+++ b/build-aux/gnupload
@@ -1,10 +1,9 @@
#!/bin/sh
# Sign files and upload them.
-scriptversion=2010-05-23.15; # UTC
+scriptversion=2012-01-15.15; # UTC
-# Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software
-# Foundation, Inc.
+# Copyright (C) 2004-2010, 2012 Free Software Foundation, Inc.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -20,6 +19,8 @@ scriptversion=2010-05-23.15; # UTC
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# Originally written by Alexandre Duret-Lutz <address@hidden>.
+# The master copy of this file is maintained in the gnulib Git repository.
+# Please send bug reports and feature requests to address@hidden
set -e
@@ -57,7 +58,7 @@ Options:
--version output version information and exit
If --symlink-regex is given without EXPR, then the link target name
-is created by replacing the version information with \`-latest', e.g.:
+is created by replacing the version information with '-latest', e.g.:
foo-1.3.4.tar.gz -> foo-latest.tar.gz
@@ -105,8 +106,7 @@ happen to have an ncftp package installed, the ncftpput-ftp
script in
the build-aux/ directory of the gnulib package
(http://savannah.gnu.org/projects/gnulib) may serve as a replacement.
-Report bugs to <address@hidden>.
-Send patches to <address@hidden>."
+Send patches and bug reports to <address@hidden>."
# Read local configuration file
if test -r "$conffile"; then
@@ -170,7 +170,7 @@ while test -n "$1"; do
break
;;
-*)
- echo "$0: Unknown option \`$1', try \`$0 --help'" 1>&2
+ echo "$0: Unknown option '$1', try '$0 --help'" 1>&2
exit 1
;;
esac
@@ -219,7 +219,7 @@ else
for file
do
if test ! -f $file; then
- echo "$0: Cannot find \`$file'" 1>&2
+ echo "$0: Cannot find '$file'" 1>&2
exit 1
elif test -n "$symlink_expr"; then
linkname=`echo $file | sed "$symlink_expr"`
@@ -238,10 +238,10 @@ fi
unset passphrase
# Reset PATH to be sure that echo is a built-in. We will later use
-# `echo $passphrase' to output the passphrase, so it is important that
-# it is a built-in (third-party programs tend to appear in `ps'
+# 'echo $passphrase' to output the passphrase, so it is important that
+# it is a built-in (third-party programs tend to appear in 'ps'
# listings with their arguments...).
-# Remember this script runs with `set -e', so if echo is not built-in
+# Remember this script runs with 'set -e', so if echo is not built-in
# it will exit now.
PATH=/empty echo -n "Enter GPG passphrase: "
stty -echo
diff --git a/build-aux/snippet/arg-nonnull.h b/build-aux/snippet/arg-nonnull.h
index 6c2f1e8..3a9dd26 100644
--- a/build-aux/snippet/arg-nonnull.h
+++ b/build-aux/snippet/arg-nonnull.h
@@ -1,5 +1,5 @@
/* A C macro for declaring that specific arguments must not be NULL.
- Copyright (C) 2009-2011 Free Software Foundation, Inc.
+ Copyright (C) 2009-2012 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify it
under the terms of the GNU General Public License as published
diff --git a/build-aux/snippet/c++defs.h b/build-aux/snippet/c++defs.h
index b6821a6..96da94b 100644
--- a/build-aux/snippet/c++defs.h
+++ b/build-aux/snippet/c++defs.h
@@ -1,5 +1,5 @@
/* C++ compatible function declaration macros.
- Copyright (C) 2010-2011 Free Software Foundation, Inc.
+ Copyright (C) 2010-2012 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify it
under the terms of the GNU General Public License as published
diff --git a/build-aux/snippet/unused-parameter.h
b/build-aux/snippet/unused-parameter.h
index c8d2071..1c8d61f 100644
--- a/build-aux/snippet/unused-parameter.h
+++ b/build-aux/snippet/unused-parameter.h
@@ -1,5 +1,5 @@
/* A C macro for declaring that specific function parameters are not used.
- Copyright (C) 2008-2011 Free Software Foundation, Inc.
+ Copyright (C) 2008-2012 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify it
under the terms of the GNU General Public License as published
diff --git a/build-aux/snippet/warn-on-use.h b/build-aux/snippet/warn-on-use.h
index 2cdeec3..d4cb94f 100644
--- a/build-aux/snippet/warn-on-use.h
+++ b/build-aux/snippet/warn-on-use.h
@@ -1,5 +1,5 @@
/* A C macro for emitting warnings if a function is used.
- Copyright (C) 2010-2011 Free Software Foundation, Inc.
+ Copyright (C) 2010-2012 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify it
under the terms of the GNU General Public License as published
diff --git a/build-aux/useless-if-before-free b/build-aux/useless-if-before-free
index b8f5a26..2b64630 100755
--- a/build-aux/useless-if-before-free
+++ b/build-aux/useless-if-before-free
@@ -4,13 +4,13 @@ eval '(exit $?0)' && eval 'exec perl -wST "$0" ${1+"$@"}'
# Detect instances of "if (p) free (p);".
# Likewise "if (p != 0)", "if (0 != p)", or with NULL; and with braces.
-my $VERSION = '2011-04-20 13:43'; # UTC
+my $VERSION = '2012-01-06 07:23'; # UTC
# The definition above must lie within the first 8 lines in order
# for the Emacs time-stamp write hook (at end) to update it.
# If you change this file with Emacs, please let the write hook
# do its job. Otherwise, update this string manually.
-# Copyright (C) 2008-2011 Free Software Foundation, Inc.
+# Copyright (C) 2008-2012 Free Software Foundation, Inc.
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -47,7 +47,7 @@ sub usage ($)
my $STREAM = ($exit_code == 0 ? *STDOUT : *STDERR);
if ($exit_code != 0)
{
- print $STREAM "Try `$ME --help' for more information.\n";
+ print $STREAM "Try '$ME --help' for more information.\n";
}
else
{
@@ -62,7 +62,7 @@ detect free-like functions named FOO and BAR.
OPTIONS:
--list print only the name of each matching FILE (\\0-terminated)
- --name=N add name N to the list of \`free\'-like functions to detect;
+ --name=N add name N to the list of \'free\'-like functions to detect;
may be repeated
--help display this help and exit
@@ -125,7 +125,7 @@ sub is_NULL ($)
foreach my $file (@ARGV)
{
open FH, '<', $file
- or (warn "$ME: can't open `$file' for reading: $!\n"),
+ or (warn "$ME: can't open '$file' for reading: $!\n"),
$err = EXIT_ERROR, next;
while (defined (my $line = <FH>))
{
diff --git a/build-aux/vc-list-files b/build-aux/vc-list-files
index 405e458..d477da8 100755
--- a/build-aux/vc-list-files
+++ b/build-aux/vc-list-files
@@ -4,7 +4,7 @@
# Print a version string.
scriptversion=2011-05-16.22; # UTC
-# Copyright (C) 2006-2011 Free Software Foundation, Inc.
+# Copyright (C) 2006-2012 Free Software Foundation, Inc.
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/configure.ac b/configure.ac
index 5f9ead1..697761f 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1527,9 +1527,14 @@ case "$GCC" in
## and it became equally exasperating (gcc 2.95 and/or glibc 2.1.2).
## -Wundef was removed because Gnulib prevented it (see
## <http://thread.gmane.org/gmane.lisp.guile.bugs/5329>.)
+
+ ## Build with `-fno-strict-aliasing' to prevent miscompilation on
+ ## some platforms. See
+ ## <http://lists.gnu.org/archive/html/guile-devel/2012-01/msg00487.html>.
+
POTENTIAL_GCC_CFLAGS="-Wall -Wmissing-prototypes \
-Wdeclaration-after-statement \
- -Wswitch-enum"
+ -Wswitch-enum -fno-strict-aliasing"
# Do this here so we don't screw up any of the tests above that might
# not be "warning free"
if test "${GUILE_ERROR_ON_WARNING}" = yes
diff --git a/doc/gendocs_template b/doc/gendocs_template
index 0c55724..f3a3ff6 100644
--- a/doc/gendocs_template
+++ b/doc/gendocs_template
@@ -77,7 +77,7 @@ the FSF.<br />
Please send broken links and other corrections or suggestions to
<a href="mailto:%%EMAIL%%"><%%EMAIL%%></a>.</p>
-<p>Copyright © 2011 Free Software Foundation, Inc.</p>
+<p>Copyright © 2012 Free Software Foundation, Inc.</p>
<p>Verbatim copying and distribution of this entire article are
permitted worldwide, without royalty, in any medium, provided this
diff --git a/doc/ref/api-control.texi b/doc/ref/api-control.texi
index c1502b0..7935d56 100644
--- a/doc/ref/api-control.texi
+++ b/doc/ref/api-control.texi
@@ -12,7 +12,7 @@ flow of Scheme affects C code.
@menu
* begin:: Sequencing and splicing.
-* if cond case:: Simple conditional evaluation.
+* Conditionals:: If, when, unless, case, and cond.
* and or:: Conditional evaluation of a sequence.
* while do:: Iteration mechanisms.
* Prompts:: Composable, delimited continuations.
@@ -103,11 +103,13 @@ good idea. But it is useful to be able to write macros
that expand out
to multiple definitions, as in @code{define-sealant} above, so Scheme
abuses the @code{begin} form for these two tasks.
address@hidden if cond case
address@hidden Conditionals
@subsection Simple Conditional Evaluation
@cindex conditional evaluation
@cindex if
address@hidden when
address@hidden unless
@cindex case
@cindex cond
@@ -121,14 +123,44 @@ values.
All arguments may be arbitrary expressions. First, @var{test} is
evaluated. If it returns a true value, the expression @var{consequent}
is evaluated and @var{alternate} is ignored. If @var{test} evaluates to
address@hidden, @var{alternate} is evaluated instead. The value of the
-evaluated branch (@var{consequent} or @var{alternate}) is returned as
-the value of the @code{if} expression.
address@hidden, @var{alternate} is evaluated instead. The values of the
+evaluated branch (@var{consequent} or @var{alternate}) are returned as
+the values of the @code{if} expression.
When @var{alternate} is omitted and the @var{test} evaluates to
@code{#f}, the value of the expression is not specified.
@end deffn
+When you go to write an @code{if} without an alternate (a @dfn{one-armed
address@hidden), part of what you are expressing is that you don't care
+about the return value (or values) of the expression. As such, you are
+more interested in the @emph{effect} of evaluating the consequent
+expression. (By convention, we use the word @dfn{statement} to refer to
+an expression that is evaluated for effect, not for value).
+
+In such a case, it is considered more clear to express these intentions
+with these special forms, @code{when} and @code{unless}. As an added
+bonus, these forms accept multiple statements to evaluate, which are
+implicitly wrapped in a @code{begin}.
+
address@hidden {Scheme Syntax} when test statement1 statement2 ...
address@hidden {Scheme Syntax} unless test statement1 statement2 ...
+The actual definitions of these forms are in many ways their most clear
+documentation:
+
address@hidden
+(define-syntax-rule (when test stmt stmt* ...)
+ (if test (begin stmt stmt* ...)))
+
+(define-syntax-rule (unless condition stmt stmt* ...)
+ (if (not test) (begin stmt stmt* ...)))
address@hidden example
+
+That is to say, @code{when} evaluates its consequent statements in order
+if @var{test} is true. @code{unless} is the opposite: it evaluates the
+statements if @var{test} is false.
address@hidden deffn
+
@deffn syntax cond clause1 clause2 @dots{}
Each @code{cond}-clause must look like this:
@@ -785,6 +817,13 @@ the current implementation that object shares structure
with
@var{args}, so @var{args} should not be modified subsequently.
@end deffn
address@hidden {C Function} scm_c_value_ref (values, idx)
+Returns the value at the position specified by @var{idx} in
address@hidden Note that @var{values} will ordinarily be a
+multiple-values object, but it need not be. Any other object
+represents a single value (itself), and is handled appropriately.
address@hidden deffn
+
@rnindex call-with-values
@deffn {Scheme Procedure} call-with-values producer consumer
Calls its @var{producer} argument with no values and a
diff --git a/doc/ref/api-data.texi b/doc/ref/api-data.texi
index f2450ce..bcfbae3 100644
--- a/doc/ref/api-data.texi
+++ b/doc/ref/api-data.texi
@@ -1,6 +1,6 @@
@c -*-texinfo-*-
@c This is part of the GNU Guile Reference Manual.
address@hidden Copyright (C) 1996, 1997, 2000, 2001, 2002, 2003, 2004, 2006,
2007, 2008, 2009, 2010, 2011
address@hidden Copyright (C) 1996, 1997, 2000, 2001, 2002, 2003, 2004, 2006,
2007, 2008, 2009, 2010, 2011, 2012
@c Free Software Foundation, Inc.
@c See the file guile.texi for copying conditions.
@@ -78,10 +78,10 @@ equality predicates @code{eq?}, @code{eqv?} and
@code{equal?}
#t
@end lisp
-In test condition contexts like @code{if} and @code{cond} (@pxref{if
-cond case}), where a group of subexpressions will be evaluated only if a
address@hidden expression evaluates to ``true'', ``true'' means any
-value at all except @code{#f}.
+In test condition contexts like @code{if} and @code{cond}
+(@pxref{Conditionals}), where a group of subexpressions will be
+evaluated only if a @var{condition} expression evaluates to ``true'',
+``true'' means any value at all except @code{#f}.
@lisp
(if #t "yes" "no")
@@ -1865,6 +1865,16 @@ Return a datum representation of @var{state} that may be
written out and
read back with the Scheme reader.
@end deffn
address@hidden {Scheme Procedure} random-state-from-platform
address@hidden {C Function} scm_random_state_from_platform ()
+Construct a new random state seeded from a platform-specific source of
+entropy, appropriate for use in non-security-critical applications.
+Currently @file{/dev/urandom} is tried first, or else the seed is based
+on the time, date, process ID, an address from a freshly allocated heap
+cell, an address from the local stack frame, and a high-resolution timer
+if available.
address@hidden deffn
+
@defvar *random-state*
The global random state used by the above functions when the
@var{state} parameter is not given.
@@ -1887,29 +1897,13 @@ Guile started up, will always give:
(0 1 1 2 2 2 1 2 6 7 10 0 5 3 12 5 5 12)
@end lisp
-To use the time of day as the random seed, you can use code like this:
-
address@hidden
-(let ((time (gettimeofday)))
- (set! *random-state*
- (seed->random-state (+ (car time)
- (cdr time)))))
address@hidden lisp
-
address@hidden
-And then (depending on the time of day, of course):
+To seed the random state in a sensible way for non-security-critical
+applications, do this during initialization of your program:
@lisp
-(map random (cdr (iota 19)))
address@hidden
-(0 0 1 0 2 4 5 4 5 5 9 3 10 1 8 3 14 17)
+(set! *random-state* (random-state-from-platform))
@end lisp
-For security applications, such as password generation, you should use
-more bits of seed. Otherwise an open source password generator could
-be attacked by guessing the address@hidden but that's a subject for
-another manual.
-
@node Characters
@subsection Characters
diff --git a/doc/ref/api-debug.texi b/doc/ref/api-debug.texi
index bdb6166..2083daa 100644
--- a/doc/ref/api-debug.texi
+++ b/doc/ref/api-debug.texi
@@ -1,6 +1,6 @@
@c -*-texinfo-*-
@c This is part of the GNU Guile Reference Manual.
address@hidden Copyright (C) 1996, 1997, 2000, 2001, 2002, 2003, 2004, 2007,
2010, 2011
address@hidden Copyright (C) 1996, 1997, 2000, 2001, 2002, 2003, 2004, 2007,
2010, 2011, 2012
@c Free Software Foundation, Inc.
@c See the file guile.texi for copying conditions.
@@ -292,6 +292,25 @@ If the @code{positions} reader option is enabled, each
parenthesized
expression will have values set for the @code{filename}, @code{line} and
@code{column} properties.
+Source properties are also associated with syntax objects. Procedural
+macros can get at the source location of their input using the
address@hidden accessor. @xref{Syntax Transformer Helpers}, for
+more.
+
+Guile also defines a couple of convenience macros built on
address@hidden:
+
address@hidden {Scheme Syntax} current-source-location
+Expands to the source properties corresponding to the location of the
address@hidden(current-source-location)} form.
address@hidden deffn
+
address@hidden {Scheme Syntax} current-filename
+Expands to the current filename: the filename that the
address@hidden(current-filename)} form appears in. Expands to @code{#f} if this
+information is unavailable.
address@hidden deffn
+
If you're stuck with defmacros (@pxref{Defmacros}), and want to preserve
source information, the following helper function might be useful to
you:
diff --git a/doc/ref/api-evaluation.texi b/doc/ref/api-evaluation.texi
index 6a09bef..8c41d1e 100644
--- a/doc/ref/api-evaluation.texi
+++ b/doc/ref/api-evaluation.texi
@@ -1,6 +1,6 @@
@c -*-texinfo-*-
@c This is part of the GNU Guile Reference Manual.
address@hidden Copyright (C) 1996, 1997, 2000, 2001, 2002, 2003, 2004, 2005,
2006, 2009, 2010, 2011
address@hidden Copyright (C) 1996, 1997, 2000, 2001, 2002, 2003, 2004, 2005,
2006, 2009, 2010, 2011, 2012
@c Free Software Foundation, Inc.
@c See the file guile.texi for copying conditions.
@@ -17,8 +17,11 @@ loading, evaluating, and compiling Scheme code at run time.
* Fly Evaluation:: Procedures for on the fly evaluation.
* Compilation:: How to compile Scheme files and procedures.
* Loading:: Loading Scheme code from file.
+* Load Paths:: Where Guile looks for code.
* Character Encoding of Source Files:: Loading non-ASCII Scheme code from file.
* Delayed Evaluation:: Postponing evaluation until it is needed.
+* Local Evaluation:: Evaluation in a local lexical environment.
+* Local Inclusion:: Compile-time inclusion of one file in another.
@end menu
@@ -417,6 +420,8 @@ quote-keywordish-symbols reader How to print symbols that
have a colon
'#t' quotes them; 'reader' quotes them
when the reader option 'keywords' is
not '#f'.
+escape-newlines yes Render newlines as \n when printing
+ using `write'.
@end smalllisp
These options may be modified with the print-set! syntax.
@@ -528,9 +533,24 @@ then there's no @address@hidden@var{argN} and @var{arg} is
the
@deffnx {C Function} scm_call_4 (proc, arg1, arg2, arg3, arg4)
@deffnx {C Function} scm_call_5 (proc, arg1, arg2, arg3, arg4, arg5)
@deffnx {C Function} scm_call_6 (proc, arg1, arg2, arg3, arg4, arg5, arg6)
address@hidden {C Function} scm_call_7 (proc, arg1, arg2, arg3, arg4, arg5,
arg6, arg7)
address@hidden {C Function} scm_call_8 (proc, arg1, arg2, arg3, arg4, arg5,
arg6, arg7, arg8)
address@hidden {C Function} scm_call_9 (proc, arg1, arg2, arg3, arg4, arg5,
arg6, arg7, arg8, arg9)
Call @var{proc} with the given arguments.
@end deffn
address@hidden {C Function} scm_call (proc, ...)
+Call @var{proc} with any number of arguments. The argument list must be
+terminated by @code{SCM_UNDEFINED}. For example:
+
address@hidden
+scm_call (scm_c_public_ref ("guile", "+"),
+ scm_from_int (1),
+ scm_from_int (2),
+ SCM_UNDEFINED);
address@hidden example
address@hidden deffn
+
@deffn {C Function} scm_call_n (proc, argv, nargs)
Call @var{proc} with the array of arguments @var{argv}, as a
@code{SCM*}. The length of the arguments should be passed in
@@ -709,7 +729,7 @@ useful compilation warnings. It can be customized from
@file{~/.guile}.
@rnindex load
@deffn {Scheme Procedure} load filename [reader]
Load @var{filename} and evaluate its contents in the top-level
-environment. The load paths are not searched.
+environment.
@var{reader} if provided should be either @code{#f}, or a procedure with
the signature @code{(lambda (port) @dots{})} which reads the next
@@ -728,29 +748,21 @@ documentation for @code{%load-hook} later in this section.
@end deffn
@deffn {Scheme Procedure} load-compiled filename
-Load the compiled file named @var{filename}. The load paths are not
-searched.
+Load the compiled file named @var{filename}.
Compiling a source file (@pxref{Read/Load/Eval/Compile}) and then
calling @code{load-compiled} on the resulting file is equivalent to
calling @code{load} on the source file.
@end deffn
address@hidden {Scheme Procedure} load-from-path filename
-Similar to @code{load}, but searches for @var{filename} in the load
-paths. Preferentially loads a compiled version of the file, if it is
-available and up-to-date.
address@hidden deffn
-
@deffn {Scheme Procedure} primitive-load filename
@deffnx {C Function} scm_primitive_load (filename)
-Load the file named @var{filename} and evaluate its contents in
-the top-level environment. The load paths are not searched;
address@hidden must either be a full pathname or be a pathname
-relative to the current directory. If the variable
address@hidden is defined, it should be bound to a procedure
-that will be called before any code is loaded. See the
-documentation for @code{%load-hook} later in this section.
+Load the file named @var{filename} and evaluate its contents in the
+top-level environment. @var{filename} must either be a full pathname or
+be a pathname relative to the current directory. If the variable
address@hidden is defined, it should be bound to a procedure that
+will be called before any code is loaded. See the documentation for
address@hidden later in this section.
@end deffn
@deftypefn {C Function} SCM scm_c_primitive_load (const char *filename)
@@ -758,33 +770,6 @@ documentation for @code{%load-hook} later in this section.
@code{SCM}.
@end deftypefn
address@hidden {Scheme Procedure} primitive-load-path filename
[exception-on-not-found]
address@hidden {C Function} scm_primitive_load_path (filename)
-Search @code{%load-path} for the file named @var{filename} and
-load it into the top-level environment. If @var{filename} is a
-relative pathname and is not found in the list of search paths,
-an error is signalled. Preferentially loads a compiled version of the
-file, if it is available and up-to-date.
-
-By default or if @var{exception-on-not-found} is true, an exception is
-raised if @var{filename} is not found. If @var{exception-on-not-found}
-is @code{#f} and @var{filename} is not found, no exception is raised and
address@hidden is returned. For compatibility with Guile 1.8 and earlier,
-the C function takes only one argument, which can be either a string
-(the file name) or an argument list.
address@hidden deffn
-
address@hidden {Scheme Procedure} %search-load-path filename
address@hidden {C Function} scm_sys_search_load_path (filename)
-Search @code{%load-path} for the file named @var{filename},
-which must be readable by the current user. If @var{filename}
-is found in the list of paths to search or is an absolute
-pathname, return its full pathname. Otherwise, return
address@hidden Filenames may have any of the optional extensions
-in the @code{%load-extensions} list; @code{%search-load-path}
-will try each extension automatically.
address@hidden deffn
-
@defvar current-reader
@code{current-reader} holds the read procedure that is currently being
used by the above loading procedures to read expressions (from the file
@@ -812,9 +797,9 @@ change occurs at the right time.
@defvar %load-hook
A procedure to be called @code{(%load-hook @var{filename})} whenever a
file is loaded, or @code{#f} for no such call. @code{%load-hook} is
-used by all of the above loading functions (@code{load},
address@hidden, @code{primitive-load} and
address@hidden).
+used by all of the loading functions (@code{load} and
address@hidden, and @code{load-from-path} and
address@hidden documented in the next section).
For example an application can set this to show what's loaded,
@@ -832,6 +817,72 @@ Return the current-load-port.
The load port is used internally by @code{primitive-load}.
@end deffn
address@hidden Load Paths
address@hidden Load Paths
+
+The procedure in the previous section look for Scheme code in the file
+system at specific location. Guile also has some procedures to search
+the load path for code.
+
address@hidden @env{GUILE_LOAD_PATH}
address@hidden %load-path
+List of directories which should be searched for Scheme modules and
+libraries. @code{%load-path} is initialized when Guile starts up to
address@hidden(list (%site-dir) (%library-dir) (%package-data-dir))}, prepended
+with the contents of the @env{GUILE_LOAD_PATH} environment variable, if
+it is set. @xref{Build Config}, for more on @code{%site-dir} and
+related procedures.
address@hidden defvar
+
address@hidden {Scheme Procedure} load-from-path filename
+Similar to @code{load}, but searches for @var{filename} in the load
+paths. Preferentially loads a compiled version of the file, if it is
+available and up-to-date.
address@hidden deffn
+
+A user can extend the load path by calling @code{add-to-load-path}.
+
address@hidden {Scheme Syntax} add-to-load-path dir
+Add @var{dir} to the load path.
address@hidden deffn
+
+For example, a script might include this form to add the directory that
+it is in to the load path:
+
address@hidden
+(add-to-load-path (dirname (current-filename)))
address@hidden example
+
+It's better to use @code{add-to-load-path} than to modify
address@hidden directly, because @code{add-to-load-path} takes care
+of modifying the path both at compile-time and at run-time.
+
address@hidden {Scheme Procedure} primitive-load-path filename
[exception-on-not-found]
address@hidden {C Function} scm_primitive_load_path (filename)
+Search @code{%load-path} for the file named @var{filename} and
+load it into the top-level environment. If @var{filename} is a
+relative pathname and is not found in the list of search paths,
+an error is signalled. Preferentially loads a compiled version of the
+file, if it is available and up-to-date.
+
+By default or if @var{exception-on-not-found} is true, an exception is
+raised if @var{filename} is not found. If @var{exception-on-not-found}
+is @code{#f} and @var{filename} is not found, no exception is raised and
address@hidden is returned. For compatibility with Guile 1.8 and earlier,
+the C function takes only one argument, which can be either a string
+(the file name) or an argument list.
address@hidden deffn
+
address@hidden {Scheme Procedure} %search-load-path filename
address@hidden {C Function} scm_sys_search_load_path (filename)
+Search @code{%load-path} for the file named @var{filename}, which must
+be readable by the current user. If @var{filename} is found in the list
+of paths to search or is an absolute pathname, return its full pathname.
+Otherwise, return @code{#f}. Filenames may have any of the optional
+extensions in the @code{%load-extensions} list; @code{%search-load-path}
+will try each extension automatically.
address@hidden deffn
+
@defvar %load-extensions
A list of default file extensions for files containing Scheme code.
@code{%search-load-path} tries each of these extensions when looking for
@@ -839,6 +890,62 @@ a file to load. By default, @code{%load-extensions} is
bound to the
list @code{("" ".scm")}.
@end defvar
+As mentioned above, when Guile searches the @code{%load-path} for a
+source file, it will also search the @code{%load-compiled-path} for a
+corresponding compiled file. If the compiled file is as new or newer
+than the source file, it will be loaded instead of the source file,
+using @code{load-compiled}.
+
address@hidden %load-compiled-path
+Like @code{%load-path}, but for compiled files. By default, this path
+has two entries: one for compiled files from Guile itself, and one for
+site packages.
address@hidden defvar
+
+When @code{primitive-load-path} searches the @code{%load-compiled-path}
+for a corresponding compiled file for a relative path it does so by
+appending @code{.go} to the relative path. For example, searching for
address@hidden/popen} could find
address@hidden/usr/lib/guile/2.0/ccache/ice-9/popen.go}, and use it instead of
address@hidden/usr/share/guile/2.0/ice-9/popen.scm}.
+
+If @code{primitive-load-path} does not find a corresponding @code{.go}
+file in the @code{%load-compiled-path}, or the @code{.go} file is out of
+date, it will search for a corresponding auto-compiled file in the
+fallback path, possibly creating one if one does not exist.
+
address@hidden Site Packages}, for more on how to correctly install
+site packages. @xref{Modules and the File System}, for more on the
+relationship between load paths and modules. @xref{Compilation}, for
+more on the fallback path and auto-compilation.
+
+Finally, there are a couple of helper procedures for general path
+manipulation.
+
address@hidden {Scheme Procedure} parse-path path [tail]
address@hidden {C Function} scm_parse_path (path, tail)
+Parse @var{path}, which is expected to be a colon-separated string, into
+a list and return the resulting list with @var{tail} appended. If
address@hidden is @code{#f}, @var{tail} is returned.
address@hidden deffn
+
address@hidden {Scheme Procedure} search-path path filename [extensions
[require-exts?]]
address@hidden {C Function} scm_search_path (path, filename, rest)
+Search @var{path} for a directory containing a file named
address@hidden The file must be readable, and not a directory. If we
+find one, return its full filename; otherwise, return @code{#f}. If
address@hidden is absolute, return it unchanged. If given,
address@hidden is a list of strings; for each directory in @var{path},
+we search for @var{filename} concatenated with each @var{extension}. If
address@hidden is true, require that the returned file name have
+one of the given extensions; if @var{require-exts?} is not given, it
+defaults to @code{#f}.
+
+For compatibility with Guile 1.8 and earlier, the C function takes only
+three arguments.
address@hidden deffn
+
+
@node Character Encoding of Source Files
@subsection Character Encoding of Source Files
@@ -952,6 +1059,125 @@ value.
@end deffn
address@hidden Local Evaluation
address@hidden Local Evaluation
+
+Guile includes a facility to capture a lexical environment, and later
+evaluate a new expression within that environment. This code is
+implemented in a module.
+
address@hidden
+(use-modules (ice-9 local-eval))
address@hidden example
+
address@hidden syntax the-environment
+Captures and returns a lexical environment for use with
address@hidden or @code{local-compile}.
address@hidden deffn
+
address@hidden {Scheme Procedure} local-eval exp env
address@hidden {C Function} scm_local_eval (exp, env)
address@hidden {Scheme Procedure} local-compile exp env [opts=()]
+Evaluate or compile the expression @var{exp} in the lexical environment
address@hidden
address@hidden deffn
+
+Here is a simple example, illustrating that it is the variable
+that gets captured, not just its value at one point in time.
+
address@hidden
+(define e (let ((x 100)) (the-environment)))
+(define fetch-x (local-eval '(lambda () x) e))
+(fetch-x)
address@hidden 100
+(local-eval '(set! x 42) e)
+(fetch-x)
address@hidden 42
address@hidden example
+
+While @var{exp} is evaluated within the lexical environment of
address@hidden(the-environment)}, it has the dynamic environment of the call to
address@hidden
+
address@hidden and @code{local-compile} can only evaluate
+expressions, not definitions.
+
address@hidden
+(local-eval '(define foo 42)
+ (let ((x 100)) (the-environment)))
address@hidden syntax error: definition in expression context
address@hidden example
+
+Note that the current implementation of @code{(the-environment)} only
+captures ``normal'' lexical bindings, and pattern variables bound by
address@hidden It does not currently capture local syntax
+transformers bound by @code{let-syntax}, @code{letrec-syntax} or
+non-top-level @code{define-syntax} forms. Any attempt to reference such
+captured syntactic keywords via @code{local-eval} or
address@hidden produces an error.
+
+
address@hidden Local Inclusion
address@hidden Local Inclusion
+
+This section has discussed various means of linking Scheme code
+together: fundamentally, loading up files at run-time using @code{load}
+and @code{load-compiled}. Guile provides another option to compose
+parts of programs together at expansion-time instead of at run-time.
+
address@hidden {Scheme Syntax} include file-name
+Open @var{file-name}, at expansion-time, and read the Scheme forms that
+it contains, splicing them into the location of the @code{include},
+within a @code{begin}.
address@hidden deffn
+
+If you are a C programmer, if @code{load} in Scheme is like
address@hidden in C, consider @code{include} to be like the C
+preprocessor's @code{#include}. When you use @code{include}, it is as
+if the contents of the included file were typed in instead of the
address@hidden form.
+
+Because the code is included at compile-time, it is available to the
+macroexpander. Syntax definitions in the included file are available to
+later code in the form in which the @code{include} appears, without the
+need for @code{eval-when}. (@xref{Eval When}.)
+
+For the same reason, compiling a form that uses @code{include} results
+in one compilation unit, composed of multiple files. Loading the
+compiled file is one @code{stat} operation for the compilation unit,
+instead of @address@hidden in the case of @code{load} (once for each
+loaded source file, and once each corresponding compiled file, in the
+best case).
+
+Unlike @code{load}, @code{include} also works within nested lexical
+contexts. It so happens that the optimizer works best within a lexical
+context, because all of the uses of bindings in a lexical context are
+visible, so composing files by including them within a @code{(let ()
+...)} can sometimes lead to important speed improvements.
+
+On the other hand, @code{include} does have all the disadvantages of
+early binding: once the code with the @code{include} is compiled, no
+change to the included file is reflected in the future behavior of the
+including form.
+
+Also, the particular form of @code{include}, which requires an absolute
+path, or a path relative to the current directory at compile-time, is
+not very amenable to compiling the source in one place, but then
+installing the source to another place. For this reason, Guile provides
+another form, @code{include-from-path}, which looks for the source file
+to include within a load path.
+
address@hidden {Scheme Syntax} include-from-path file-name
+Like @code{include}, but instead of expecting @code{file-name} to be an
+absolute file name, it is expected to be a relative path to search in
+the @code{%load-path}.
address@hidden deffn
+
address@hidden is more useful when you want to install all of
+the source files for a package (as you should!). It makes it possible
+to evaluate an installed file from source, instead of relying on the
address@hidden file being up to date.
+
@c Local Variables:
@c TeX-master: "guile.texi"
@c End:
diff --git a/doc/ref/api-foreign.texi b/doc/ref/api-foreign.texi
index 82925e6..6ece7f8 100644
--- a/doc/ref/api-foreign.texi
+++ b/doc/ref/api-foreign.texi
@@ -425,11 +425,11 @@ its own @code{gettext} message catalogue
(@pxref{Internationalization}).
It will be noted all of the above requires that the Scheme code to be
-found in @code{%load-path} (@pxref{Build Config}). Presently it's
-left up to the system administrator or each user to augment that path
-when installing Guile modules in non-default locations. But having
-reached the Scheme code, that code should take care of hitting any of
-its own private files etc.
+found in @code{%load-path} (@pxref{Load Paths}). Presently it's left up
+to the system administrator or each user to augment that path when
+installing Guile modules in non-default locations. But having reached
+the Scheme code, that code should take care of hitting any of its own
+private files etc.
@node Foreign Pointers
diff --git a/doc/ref/api-macros.texi b/doc/ref/api-macros.texi
index e60864b..f6a03bc 100644
--- a/doc/ref/api-macros.texi
+++ b/doc/ref/api-macros.texi
@@ -38,9 +38,10 @@ languages}, or EDSLs.}.
* Defining Macros:: Binding macros, globally and locally.
* Syntax Rules:: Pattern-driven macros.
* Syntax Case:: Procedural, hygienic macros.
+* Syntax Transformer Helpers:: Helpers for use in procedural macros.
* Defmacros:: Lisp-style macros.
* Identifier Macros:: Identifier macros.
-* Syntax Parameters:: Syntax Parameters
+* Syntax Parameters:: Syntax Parameters.
* Eval When:: Affecting the expand-time environment.
* Internal Macros:: Macros as first-class values.
@end menu
@@ -671,28 +672,153 @@ source file, one may write:
(newline))))))
@end example
-Finally, we should mention the following helper procedures defined by the core
-of @code{syntax-case}:
+Readers interested in further information on @code{syntax-case} macros should
+see R. Kent Dybvig's excellent @cite{The Scheme Programming Language}, either
+edition 3 or 4, in the chapter on syntax. Dybvig was the primary author of the
address@hidden system. The book itself is available online at
address@hidden://scheme.com/tspl4/}.
+
address@hidden Syntax Transformer Helpers
address@hidden Syntax Transformer Helpers
+
+As noted in the previous section, Guile's syntax expander operates on
+syntax objects. Procedural macros consume and produce syntax objects.
+This section describes some of the auxiliary helpers that procedural
+macros can use to compare, generate, and query objects of this data
+type.
@deffn {Scheme Procedure} bound-identifier=? a b
-Returns @code{#t} iff the syntax objects @var{a} and @var{b} refer to the same
-lexically-bound identifier.
+Return @code{#t} iff the syntax objects @var{a} and @var{b} refer to the
+same lexically-bound identifier.
@end deffn
@deffn {Scheme Procedure} free-identifier=? a b
-Returns @code{#t} iff the syntax objects @var{a} and @var{b} refer to the same
-free identifier.
+Return @code{#t} iff the syntax objects @var{a} and @var{b} refer to the
+same free identifier.
@end deffn
@deffn {Scheme Procedure} generate-temporaries ls
Return a list of temporary identifiers as long as @var{ls} is long.
@end deffn
-Readers interested in further information on @code{syntax-case} macros should
-see R. Kent Dybvig's excellent @cite{The Scheme Programming Language}, either
-edition 3 or 4, in the chapter on syntax. Dybvig was the primary author of the
address@hidden system. The book itself is available online at
address@hidden://scheme.com/tspl4/}.
address@hidden {Scheme Procedure} syntax-source x
+Return the source properties that correspond to the syntax object
address@hidden @xref{Source Properties}, for more information.
address@hidden deffn
+
+Guile also offers some more experimental interfaces in a separate
+module. As was the case with the Large Hadron Collider, it is unclear
+to our senior macrologists whether adding these interfaces will result
+in awesomeness or in the destruction of Guile via the creation of a
+singularity. We will preserve their functionality through the 2.0
+series, but we reserve the right to modify them in a future stable
+series, to a more than usual degree.
+
address@hidden
+(use-modules (system syntax))
address@hidden example
+
address@hidden {Scheme Procedure} syntax-module id
+Return the name of the module whose source contains the identifier
address@hidden
address@hidden deffn
+
address@hidden {Scheme Procedure} syntax-local-binding id
+Resolve the identifer @var{id}, a syntax object, within the current
+lexical environment, and return two values, the binding type and a
+binding value. The binding type is a symbol, which may be one of the
+following:
+
address@hidden @code
address@hidden lexical
+A lexically-bound variable. The value is a unique token (in the sense
+of @code{eq?}) identifying this binding.
address@hidden macro
+A syntax transformer, either local or global. The value is the
+transformer procedure.
address@hidden pattern-variable
+A pattern variable, bound via syntax-case. The value is an opaque
+object, internal to the expander.
address@hidden displaced-lexical
+A lexical variable that has gone out of scope. This can happen if a
+badly-written procedural macro saves a syntax object, then attempts to
+introduce it in a context in which it is unbound. The value is
address@hidden
address@hidden global
+A global binding. The value is a pair, whose head is the symbol, and
+whose tail is the name of the module in which to resolve the symbol.
address@hidden other
+Some other binding, like @code{lambda} or other core bindings. The
+value is @code{#f}.
address@hidden table
+
+This is a very low-level procedure, with limited uses. One case in
+which it is useful is to build abstractions that associate auxiliary
+information with macros:
+
address@hidden
+(define aux-property (make-object-property))
+(define-syntax-rule (with-aux aux value)
+ (let ((trans value))
+ (set! (aux-property trans) aux)
+ trans))
+(define-syntax retrieve-aux
+ (lambda (x)
+ (syntax-case x ()
+ ((x id)
+ (call-with-values (lambda () (syntax-local-binding #'id))
+ (lambda (type val)
+ (with-syntax ((aux (datum->syntax #'here
+ (and (eq? type 'macro)
+ (aux-property val)))))
+ #''aux)))))))
+(define-syntax foo
+ (with-aux 'bar
+ (syntax-rules () ((_) 'foo))))
+(foo)
address@hidden foo
+(retrieve-aux foo)
address@hidden bar
address@hidden example
+
address@hidden must be called within the dynamic extent of
+a syntax transformer; to call it otherwise will signal an error.
address@hidden deffn
+
address@hidden {Scheme Procedure} syntax-locally-bound-identifiers id
+Return a list of identifiers that were visible lexically when the
+identifier @var{id} was created, in order from outermost to innermost.
+
+This procedure is intended to be used in specialized procedural macros,
+to provide a macro with the set of bound identifiers that the macro can
+reference.
+
+As a technical implementation detail, the identifiers returned by
address@hidden will be anti-marked, like the
+syntax object that is given as input to a macro. This is to signal to
+the macro expander that these bindings were present in the original
+source, and do not need to be hygienically renamed, as would be the case
+with other introduced identifiers. See the discussion of hygiene in
+section 12.1 of the R6RS, for more information on marks.
+
address@hidden
+(define (local-lexicals id)
+ (filter (lambda (x)
+ (eq? (syntax-local-binding x) 'lexical))
+ (syntax-locally-bound-identifiers id)))
+(define-syntax lexicals
+ (lambda (x)
+ (syntax-case x ()
+ ((lexicals) #'(lexicals lexicals))
+ ((lexicals scope)
+ (with-syntax (((id ...) (local-lexicals #'scope)))
+ #'(list (cons 'id id) ...))))))
+
+(let* ((x 10) (x 20)) (lexicals))
address@hidden ((x . 10) (x . 20))
address@hidden example
address@hidden deffn
+
@node Defmacros
@subsection Lisp-style Macro Definitions
diff --git a/doc/ref/api-memory.texi b/doc/ref/api-memory.texi
index 375686d..6dca7a2 100644
--- a/doc/ref/api-memory.texi
+++ b/doc/ref/api-memory.texi
@@ -1,6 +1,6 @@
@c -*-texinfo-*-
@c This is part of the GNU Guile Reference Manual.
address@hidden Copyright (C) 1996, 1997, 2000, 2001, 2002, 2003, 2004, 2009,
2010
address@hidden Copyright (C) 1996, 1997, 2000, 2001, 2002, 2003, 2004, 2009,
2010, 2012
@c Free Software Foundation, Inc.
@c See the file guile.texi for copying conditions.
@@ -163,6 +163,9 @@ between different modules.
The function @code{scm_calloc} is similar to @code{scm_malloc}, but
initializes the block of memory to zero as well.
+
+These functions will (indirectly) call
address@hidden
@end deftypefn
@deftypefn {C Function} {void *} scm_realloc (void address@hidden, size_t
@var{new_size})
@@ -174,6 +177,8 @@ and allocates a new block of size @var{new_size}.
When not enough memory is available, signal an error. This function
runs the GC to free up some memory when it deems it appropriate.
+
+This function will call @code{scm_gc_register_allocation}.
@end deftypefn
@@ -209,39 +214,26 @@ the memory management overhead very low. However, in
Guile 2.x,
@end deftypefn
address@hidden {C Function} void scm_gc_register_collectable_memory (void
address@hidden, size_t @var{size}, const char address@hidden)
-Informs the GC that the memory at @var{mem} of size @var{size} can
-potentially be freed during a GC. That is, announce that @var{mem} is
-part of a GC controlled object and when the GC happens to free that
-object, @var{size} bytes will be freed along with it. The GC will
address@hidden free the memory itself, it will just know that so-and-so
-much bytes of memory are associated with GC controlled objects and the
-memory system figures this into its decisions when to run a GC.
-
-The @var{what} argument is used for statistical purposes. It should
-describe the type of object that the memory will be used for so that
-users can identify just what strange objects are eating up their
-memory.
-
-In Guile 2.x, this function has no effect.
address@hidden deftypefn
address@hidden {C Function} void scm_gc_register_allocation (size_t @var{size})
+Informs the garbage collector that @var{size} bytes have been allocated,
+which the collector would otherwise not have known about.
address@hidden {C Function} void scm_gc_unregister_collectable_memory (void
address@hidden, size_t @var{size})
-Informs the GC that the memory at @var{mem} of size @var{size} is no
-longer associated with a GC controlled object. You must take care to
-match up every call to @code{scm_gc_register_collectable_memory} with
-a call to @code{scm_gc_unregister_collectable_memory}. If you don't do
-this, the GC might have a wrong impression of what is going on and run
-much less efficiently than it could.
+In general, Scheme will decide to collect garbage only after some amount
+of memory has been allocated. Calling this function will make the
+Scheme garbage collector know about more allocation, and thus run more
+often (as appropriate).
-In Guile 2.x, this function has no effect.
+It is especially important to call this function when large unmanaged
+allocations, like images, may be freed by small Scheme allocations, like
+SMOBs.
@end deftypefn
address@hidden {C Function} void scm_frame_free (void *mem)
-Equivalent to @code{scm_frame_unwind_handler (free, @var{mem},
-SCM_F_WIND_EXPLICITLY)}. That is, the memory block at @var{mem} will
-be freed when the current frame is left.
address@hidden {C Function} void scm_dynwind_free (void *mem)
+Equivalent to @code{scm_dynwind_unwind_handler (free, @var{mem},
+SCM_F_WIND_EXPLICITLY)}. That is, the memory block at @var{mem} will be
+freed (using @code{free} from the C library) when the current dynwind is
+left.
@end deftypefn
@deffn {Scheme Procedure} malloc-stats
@@ -272,7 +264,7 @@ The functions @code{scm_must_malloc} and
@code{scm_must_realloc}
behaved like @code{scm_gc_malloc} and @code{scm_gc_realloc} do now,
respectively. They would inform the GC about the newly allocated
memory via the internal equivalent of
address@hidden However,
address@hidden However,
@code{scm_must_free} did not unregister the memory it was about to
free. The usual way to unregister memory was to return its size from
a smob free function.
diff --git a/doc/ref/api-modules.texi b/doc/ref/api-modules.texi
index 9830cfd..b9f9758 100644
--- a/doc/ref/api-modules.texi
+++ b/doc/ref/api-modules.texi
@@ -98,8 +98,8 @@ types of access are handled by the syntactic form
@code{use-modules},
which accepts one or more interface specifications and, upon evaluation,
arranges for those interfaces to be available to the current module.
This process may include locating and loading code for a given module if
-that code has not yet been loaded, following @code{%load-path} (@pxref{Build
-Config}).
+that code has not yet been loaded, following @code{%load-path}
+(@pxref{Modules and the File System}).
An @dfn{interface specification} has one of two forms. The first
variation is simply to name the module, in which case its public
@@ -464,11 +464,11 @@ from in the @dfn{load path}.
In this case, loading @code{(ice-9 popen)} will eventually cause Guile
to run @code{(primitive-load-path "ice-9/popen")}.
@code{primitive-load-path} will search for a file @file{ice-9/popen} in
-the @code{%load-path} (@pxref{Build Config}). For each directory in
+the @code{%load-path} (@pxref{Load Paths}). For each directory in
@code{%load-path}, Guile will try to find the file name, concatenated
with the extensions from @code{%load-extensions}. By default, this will
cause Guile to @code{stat} @file{ice-9/popen.scm}, and then
address@hidden/popen}. @xref{Loading}, for more on
address@hidden/popen}. @xref{Load Paths}, for more on
@code{primitive-load-path}.
If a corresponding compiled @file{.go} file is found in the
diff --git a/doc/ref/api-options.texi b/doc/ref/api-options.texi
index 6f7568b..f635978 100644
--- a/doc/ref/api-options.texi
+++ b/doc/ref/api-options.texi
@@ -1,6 +1,6 @@
@c -*-texinfo-*-
@c This is part of the GNU Guile Reference Manual.
address@hidden Copyright (C) 1996, 1997, 2000, 2001, 2002, 2003, 2004, 2005,
2006, 2008, 2009, 2010, 2011
address@hidden Copyright (C) 1996, 1997, 2000, 2001, 2002, 2003, 2004, 2005,
2006, 2008, 2009, 2010, 2011, 2012
@c Free Software Foundation, Inc.
@c See the file guile.texi for copying conditions.
@@ -59,14 +59,14 @@ The @code{effective-version} function returns the version
name that
should remain unchanged during a stable series. Currently that means
that it omits the micro version. The effective version should be used
for items like the versioned share directory name
-i.e.@: @file{/usr/share/guile/1.6/}
+i.e.@: @file{/usr/share/guile/2.0/}
@lisp
-(version) @result{} "1.6.0"
-(effective-version) @result{} "1.6"
-(major-version) @result{} "1"
-(minor-version) @result{} "6"
-(micro-version) @result{} "0"
+(version) @result{} "2.0.4"
+(effective-version) @result{} "2.0"
+(major-version) @result{} "2"
+(minor-version) @result{} "0"
+(micro-version) @result{} "4"
@end lisp
@end deffn
@@ -86,7 +86,7 @@ party package) are installed. On Unix-like systems this is
usually
@file{/usr/share/guile/@var{GUILE_EFFECTIVE_VERSION}};
@noindent
-for example @file{/usr/local/share/guile/1.6}.
+for example @file{/usr/local/share/guile/2.0}.
@end deffn
@deffn {Scheme Procedure} %site-dir
@@ -96,40 +96,6 @@ your site should be installed. On Unix-like systems, this
is usually
@file{/usr/local/share/guile/site} or @file{/usr/share/guile/site}.
@end deffn
address@hidden @env{GUILE_LOAD_PATH}
address@hidden %load-path
-List of directories which should be searched for Scheme modules and
-libraries. @code{%load-path} is initialized when Guile starts up to
address@hidden(list (%site-dir) (%library-dir) (%package-data-dir))},
-prepended with the contents of the @env{GUILE_LOAD_PATH} environment variable,
-if it is set.
address@hidden defvar
-
address@hidden {Scheme Procedure} parse-path path [tail]
address@hidden {C Function} scm_parse_path (path, tail)
-Parse @var{path}, which is expected to be a colon-separated
-string, into a list and return the resulting list with
address@hidden appended. If @var{path} is @code{#f}, @var{tail}
-is returned.
address@hidden deffn
-
address@hidden {Scheme Procedure} search-path path filename [extensions
[require-exts?]]
address@hidden {C Function} scm_search_path (path, filename, rest)
-Search @var{path} for a directory containing a file named
address@hidden The file must be readable, and not a directory.
-If we find one, return its full filename; otherwise, return
address@hidden If @var{filename} is absolute, return it unchanged.
-If given, @var{extensions} is a list of strings; for each
-directory in @var{path}, we search for @var{filename}
-concatenated with each @var{extension}. If @var{require-exts?}
-is true, require that the returned file name have one of the
-given extensions; if @var{require-exts?} is not given, it
-defaults to @code{#f}.
-
-For compatibility with Guile 1.8 and earlier, the C function takes only
-three arguments
address@hidden deffn
-
@defvar %guile-build-info
Alist of information collected during the building of a particular
Guile. Entries can be grouped into one of several categories:
diff --git a/doc/ref/api-procedures.texi b/doc/ref/api-procedures.texi
index 2b4a05e..1cecadf 100644
--- a/doc/ref/api-procedures.texi
+++ b/doc/ref/api-procedures.texi
@@ -674,11 +674,6 @@ Return the source of the procedure @var{proc}. Returns
@code{#f} if
the source code is not available.
@end deffn
address@hidden {Scheme Procedure} procedure-environment proc
address@hidden {C Function} scm_procedure_environment (proc)
-Return the environment of the procedure @var{proc}. Very deprecated.
address@hidden deffn
-
@deffn {Scheme Procedure} procedure-properties proc
@deffnx {C Function} scm_procedure_properties (proc)
Return the properties associated with @var{proc}, as an association
diff --git a/doc/ref/api-scheduling.texi b/doc/ref/api-scheduling.texi
index f107cbf..6b0ed22 100644
--- a/doc/ref/api-scheduling.texi
+++ b/doc/ref/api-scheduling.texi
@@ -1,6 +1,6 @@
@c -*-texinfo-*-
@c This is part of the GNU Guile Reference Manual.
address@hidden Copyright (C) 1996, 1997, 2000, 2001, 2002, 2003, 2004, 2007,
2009, 2010
address@hidden Copyright (C) 1996, 1997, 2000, 2001, 2002, 2003, 2004, 2007,
2009, 2010, 2012
@c Free Software Foundation, Inc.
@c See the file guile.texi for copying conditions.
@@ -15,6 +15,7 @@
* Blocking:: How to block properly in guile mode.
* Critical Sections:: Avoiding concurrency and reentries.
* Fluids and Dynamic States:: Thread-local variables, etc.
+* Parameters:: Dynamic scoping in Scheme.
* Futures:: Fine-grain parallelism.
* Parallel Forms:: Parallel execution of forms.
@end menu
@@ -680,9 +681,11 @@ used for testing whether an object is actually a fluid.
The values
stored in a fluid can be accessed with @code{fluid-ref} and
@code{fluid-set!}.
address@hidden {Scheme Procedure} make-fluid
address@hidden {Scheme Procedure} make-fluid [dflt]
@deffnx {C Function} scm_make_fluid ()
-Return a newly created fluid.
address@hidden {C Function} scm_make_fluid_with_default (dflt)
+Return a newly created fluid, whose initial value is @var{dflt}, or
address@hidden if @var{dflt} is not given.
Fluids are objects that can hold one
value per dynamic state. That is, modifications to this value are
only visible to code that executes with the same dynamic state as
@@ -694,7 +697,7 @@ with its own dynamic state, you can use fluids for thread
local storage.
@deffn {Scheme Procedure} make-unbound-fluid
@deffnx {C Function} scm_make_unbound_fluid ()
Return a new fluid that is initially unbound (instead of being
-implicitly bound to @code{#f}.
+implicitly bound to some definite value).
@end deffn
@deffn {Scheme Procedure} fluid? obj
@@ -707,8 +710,8 @@ Return @code{#t} iff @var{obj} is a fluid; otherwise, return
@deffnx {C Function} scm_fluid_ref (fluid)
Return the value associated with @var{fluid} in the current
dynamic root. If @var{fluid} has not been set, then return
address@hidden Calling @code{fluid-ref} on an unbound fluid produces a
-runtime error.
+its default value. Calling @code{fluid-ref} on an unbound fluid produces
+a runtime error.
@end deffn
@deffn {Scheme Procedure} fluid-set! fluid value
@@ -820,6 +823,119 @@ Like @code{scm_with_dynamic_state}, but call @var{func}
with
@var{data}.
@end deftypefn
address@hidden Parameters
address@hidden Parameters
+
address@hidden SRFI-39
address@hidden parameter object
address@hidden Parameter
+
+A parameter object is a procedure. Calling it with no arguments returns
+its value. Calling it with one argument sets the value.
+
address@hidden
+(define my-param (make-parameter 123))
+(my-param) @result{} 123
+(my-param 456)
+(my-param) @result{} 456
address@hidden example
+
+The @code{parameterize} special form establishes new locations for
+parameters, those new locations having effect within the dynamic scope
+of the @code{parameterize} body. Leaving restores the previous
+locations. Re-entering (through a saved continuation) will again use
+the new locations.
+
address@hidden
+(parameterize ((my-param 789))
+ (my-param)) @result{} 789
+(my-param) @result{} 456
address@hidden example
+
+Parameters are like dynamically bound variables in other Lisp dialects.
+They allow an application to establish parameter settings (as the name
+suggests) just for the execution of a particular bit of code, restoring
+when done. Examples of such parameters might be case-sensitivity for a
+search, or a prompt for user input.
+
+Global variables are not as good as parameter objects for this sort of
+thing. Changes to them are visible to all threads, but in Guile
+parameter object locations are per-thread, thereby truly limiting the
+effect of @code{parameterize} to just its dynamic execution.
+
+Passing arguments to functions is thread-safe, but that soon becomes
+tedious when there's more than a few or when they need to pass down
+through several layers of calls before reaching the point they should
+affect. And introducing a new setting to existing code is often easier
+with a parameter object than adding arguments.
+
address@hidden make-parameter init [converter]
+Return a new parameter object, with initial value @var{init}.
+
+If a @var{converter} is given, then a call @code{(@var{converter}
+val)} is made for each value set, its return is the value stored.
+Such a call is made for the @var{init} initial value too.
+
+A @var{converter} allows values to be validated, or put into a
+canonical form. For example,
+
address@hidden
+(define my-param (make-parameter 123
+ (lambda (val)
+ (if (not (number? val))
+ (error "must be a number"))
+ (inexact->exact val))))
+(my-param 0.75)
+(my-param) @result{} 3/4
address@hidden example
address@hidden defun
+
address@hidden {Scheme Syntax} parameterize ((param value) @dots{}) body @dots{}
+Establish a new dynamic scope with the given @var{param}s bound to new
+locations and set to the given @var{value}s. @var{body} is evaluated
+in that environment, the result is the return from the last form in
address@hidden
+
+Each @var{param} is an expression which is evaluated to get the
+parameter object. Often this will just be the name of a variable
+holding the object, but it can be anything that evaluates to a
+parameter.
+
+The @var{param} expressions and @var{value} expressions are all
+evaluated before establishing the new dynamic bindings, and they're
+evaluated in an unspecified order.
+
+For example,
+
address@hidden
+(define prompt (make-parameter "Type something: "))
+(define (get-input)
+ (display (prompt))
+ ...)
+
+(parameterize ((prompt "Type a number: "))
+ (get-input)
+ ...)
address@hidden example
address@hidden deffn
+
+Parameter objects are implemented using fluids (@pxref{Fluids and
+Dynamic States}), so each dynamic state has its own parameter
+locations. That includes the separate locations when outside any
address@hidden form. When a parameter is created it gets a
+separate initial location in each dynamic state, all initialized to the
+given @var{init} value.
+
+As alluded to above, because each thread usually has a separate dynamic
+state, each thread has its own locations behind parameter objects, and
+changes in one thread are not visible to any other. When a new dynamic
+state or thread is created, the values of parameters in the originating
+context are copied, into new locations.
+
address@hidden SRFI-39
+Guile's parameters conform to SRFI-39 (@pxref{SRFI-39}).
+
+
@node Futures
@subsection Futures
@cindex futures
diff --git a/doc/ref/guile-invoke.texi b/doc/ref/guile-invoke.texi
index ccb5301..08c1698 100644
--- a/doc/ref/guile-invoke.texi
+++ b/doc/ref/guile-invoke.texi
@@ -73,7 +73,7 @@ the user's @file{.guile} file.
@item -x @var{extension}
Add @var{extension} to the front of Guile's load extension list
-(@pxref{Loading, @code{%load-extensions}}). The specified extensions
+(@pxref{Load Paths, @code{%load-extensions}}). The specified extensions
are tried in the order given on the command line, and before the default
load extensions. Extensions added here are @emph{not} in effect during
execution of the user's @file{.guile} file.
diff --git a/doc/ref/guile.texi b/doc/ref/guile.texi
index 9c6deb6..c3da0c3 100644
--- a/doc/ref/guile.texi
+++ b/doc/ref/guile.texi
@@ -14,7 +14,7 @@
This manual documents Guile version @value{VERSION}.
Copyright (C) 1996, 1997, 2000, 2001, 2002, 2003, 2004, 2005, 2009,
-2010, 2011 Free Software Foundation.
+2010, 2011, 2012 Free Software Foundation.
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or
diff --git a/doc/ref/r6rs.texi b/doc/ref/r6rs.texi
index d054bd3..df14cc0 100644
--- a/doc/ref/r6rs.texi
+++ b/doc/ref/r6rs.texi
@@ -1,6 +1,6 @@
@c -*-texinfo-*-
@c This is part of the GNU Guile Reference Manual.
address@hidden Copyright (C) 2010, 2011
address@hidden Copyright (C) 2010, 2011, 2012
@c Free Software Foundation, Inc.
@c See the file guile.texi for copying conditions.
@@ -316,7 +316,7 @@ grouped below by the existing manual sections to which they
correspond.
@deffn {Scheme Syntax} if test consequence [alternate]
@deffnx {Scheme Syntax} cond clause1 clause2 ...
@deffnx {Scheme Syntax} case key clause1 clause2 ...
address@hidden cond case}, for documentation.
address@hidden, for documentation.
@end deffn
@deffn {Scheme Syntax} and expr ...
@@ -1146,7 +1146,7 @@ exception handler that binds a raised exception to
@var{variable} and
then evaluates the specified @var{clause}s as if they were part of a
@code{cond} expression, with the value of the first matching clause
becoming the value of the @code{guard} expression
-(@pxref{if cond case}). If none of the clause's test expressions
+(@pxref{Conditionals}). If none of the clause's test expressions
evaluates to @code{#t}, the exception is re-raised, with the exception
handler that was current before the evaluation of the @code{guard} form.
diff --git a/doc/ref/scheme-ideas.texi b/doc/ref/scheme-ideas.texi
index 99c07b9..53f7b61 100644
--- a/doc/ref/scheme-ideas.texi
+++ b/doc/ref/scheme-ideas.texi
@@ -1,6 +1,6 @@
@c -*-texinfo-*-
@c This is part of the GNU Guile Reference Manual.
address@hidden Copyright (C) 1996, 1997, 2000, 2001, 2002, 2003, 2004, 2005
address@hidden Copyright (C) 1996, 1997, 2000, 2001, 2002, 2003, 2004, 2005,
2012
@c Free Software Foundation, Inc.
@c See the file guile.texi for copying conditions.
@@ -964,11 +964,11 @@ same as a procedure which returns its last argument,
because the
evaluation of a procedure invocation expression does not guarantee to
evaluate the arguments in order.
address@hidden and @code{cond} (@pxref{if cond case}) provide conditional
address@hidden and @code{cond} (@pxref{Conditionals}) provide conditional
evaluation of argument expressions depending on whether one or more
conditions evaluate to ``true'' or ``false''.
address@hidden (@pxref{if cond case}) provides conditional evaluation of
address@hidden (@pxref{Conditionals}) provides conditional evaluation of
argument expressions depending on whether a variable has one of a
specified group of values.
diff --git a/doc/ref/scheme-using.texi b/doc/ref/scheme-using.texi
index 73e1a5d..ae608d7 100644
--- a/doc/ref/scheme-using.texi
+++ b/doc/ref/scheme-using.texi
@@ -1,6 +1,6 @@
@c -*-texinfo-*-
@c This is part of the GNU Guile Reference Manual.
address@hidden Copyright (C) 2006, 2010, 2011
address@hidden Copyright (C) 2006, 2010, 2011, 2012
@c Free Software Foundation, Inc.
@c See the file guile.texi for copying conditions.
@@ -750,8 +750,8 @@ The first thing to do is to install your Scheme files where
Guile can
find them. When Guile goes to find a Scheme file, it will search a
@dfn{load path} to find the file: first in Guile's own path, then in
paths for @dfn{site packages}. A site package is any Scheme code that
-is installed and not part of Guile itself. @xref{Loading}, for more on
-load paths.
+is installed and not part of Guile itself. @xref{Load Paths}, for more
+on load paths.
There are several site paths, for historical reasons, but the one that
should generally be used can be obtained by invoking the
@@ -780,7 +780,8 @@ site packages will be
Note that a @code{.go} file will only be loaded in preference to a
@code{.scm} file if it is newer. For that reason, you should install
-your Scheme files first, and your compiled files second.
+your Scheme files first, and your compiled files second. @code{Load
+Paths}, for more on the loading process.
Finally, although this section is only about Scheme, sometimes you need
to install C extensions too. Shared libraries should be installed in
diff --git a/doc/ref/srfi-modules.texi b/doc/ref/srfi-modules.texi
index 1e0ba2b..09b93ac 100644
--- a/doc/ref/srfi-modules.texi
+++ b/doc/ref/srfi-modules.texi
@@ -1,6 +1,6 @@
@c -*-texinfo-*-
@c This is part of the GNU Guile Reference Manual.
address@hidden Copyright (C) 1996, 1997, 2000, 2001, 2002, 2003, 2004, 2006,
2007, 2008, 2009, 2010, 2011
address@hidden Copyright (C) 1996, 1997, 2000, 2001, 2002, 2003, 2004, 2006,
2007, 2008, 2009, 2010, 2011, 2012
@c Free Software Foundation, Inc.
@c See the file guile.texi for copying conditions.
@@ -3846,134 +3846,14 @@ from a closed port.
@node SRFI-39
@subsection SRFI-39 - Parameters
@cindex SRFI-39
address@hidden parameter object
address@hidden Parameter
-This SRFI provides parameter objects, which implement dynamically
-bound locations for values. The functions below are available from
+This SRFI adds support for dynamically-scoped parameters. SRFI 39 is
+implemented in the Guile core; there's no module needed to get SRFI-39
+itself. Parameters are documented in @ref{Parameters}.
address@hidden
-(use-modules (srfi srfi-39))
address@hidden example
-
-A parameter object is a procedure. Called with no arguments it
-returns its value, called with one argument it sets the value.
-
address@hidden
-(define my-param (make-parameter 123))
-(my-param) @result{} 123
-(my-param 456)
-(my-param) @result{} 456
address@hidden example
-
-The @code{parameterize} special form establishes new locations for
-parameters, those new locations having effect within the dynamic scope
-of the @code{parameterize} body. Leaving restores the previous
-locations, or re-entering through a saved continuation will again use
-the new locations.
-
address@hidden
-(parameterize ((my-param 789))
- (my-param) @result{} 789
- )
-(my-param) @result{} 456
address@hidden example
-
-Parameters are like dynamically bound variables in other Lisp dialects.
-They allow an application to establish parameter settings (as the name
-suggests) just for the execution of a particular bit of code,
-restoring when done. Examples of such parameters might be
-case-sensitivity for a search, or a prompt for user input.
-
-Global variables are not as good as parameter objects for this sort of
-thing. Changes to them are visible to all threads, but in Guile
-parameter object locations are per-thread, thereby truly limiting the
-effect of @code{parameterize} to just its dynamic execution.
-
-Passing arguments to functions is thread-safe, but that soon becomes
-tedious when there's more than a few or when they need to pass down
-through several layers of calls before reaching the point they should
-affect. And introducing a new setting to existing code is often
-easier with a parameter object than adding arguments.
-
-
address@hidden 1
address@hidden make-parameter init [converter]
-Return a new parameter object, with initial value @var{init}.
-
-A parameter object is a procedure. When called @code{(param)} it
-returns its value, or a call @code{(param val)} sets its value. For
-example,
-
address@hidden
-(define my-param (make-parameter 123))
-(my-param) @result{} 123
-
-(my-param 456)
-(my-param) @result{} 456
address@hidden example
-
-If a @var{converter} is given, then a call @code{(@var{converter}
-val)} is made for each value set, its return is the value stored.
-Such a call is made for the @var{init} initial value too.
-
-A @var{converter} allows values to be validated, or put into a
-canonical form. For example,
-
address@hidden
-(define my-param (make-parameter 123
- (lambda (val)
- (if (not (number? val))
- (error "must be a number"))
- (inexact->exact val))))
-(my-param 0.75)
-(my-param) @result{} 3/4
address@hidden example
address@hidden defun
-
address@hidden {library syntax} parameterize ((param value) @dots{}) body
@dots{}
-Establish a new dynamic scope with the given @var{param}s bound to new
-locations and set to the given @var{value}s. @var{body} is evaluated
-in that environment, the result is the return from the last form in
address@hidden
-
-Each @var{param} is an expression which is evaluated to get the
-parameter object. Often this will just be the name of a variable
-holding the object, but it can be anything that evaluates to a
-parameter.
-
-The @var{param} expressions and @var{value} expressions are all
-evaluated before establishing the new dynamic bindings, and they're
-evaluated in an unspecified order.
-
-For example,
-
address@hidden
-(define prompt (make-parameter "Type something: "))
-(define (get-input)
- (display (prompt))
- ...)
-
-(parameterize ((prompt "Type a number: "))
- (get-input)
- ...)
address@hidden example
address@hidden deffn
-
address@hidden {Parameter object} current-input-port [new-port]
address@hidden {Parameter object} current-output-port [new-port]
address@hidden {Parameter object} current-error-port [new-port]
-This SRFI extends the core @code{current-input-port} and
address@hidden, making them parameter objects. The
-Guile-specific @code{current-error-port} is extended too, for
-consistency. (@pxref{Default Ports}.)
-
-This is an upwardly compatible extension, a plain call like
address@hidden(current-input-port)} still returns the current input port, and
address@hidden can still be used. But the port can now
-also be set with @code{(current-input-port my-port)} and bound
-dynamically with @code{parameterize}.
address@hidden deffn
+This module does export one extra function: @code{with-parameters*}.
+This is a Guile-specific addition to the SRFI, similar to the core
address@hidden (@pxref{Fluids and Dynamic States}).
@defun with-parameters* param-list value-list thunk
Establish a new dynamic scope, as per @code{parameterize} above,
@@ -3981,30 +3861,8 @@ taking parameters from @var{param-list} and
corresponding values from
@var{values-list}. A call @code{(@var{thunk})} is made in the new
scope and the result from that @var{thunk} is the return from
@code{with-parameters*}.
-
-This function is a Guile-specific addition to the SRFI, it's similar
-to the core @code{with-fluids*} (@pxref{Fluids and Dynamic States}).
@end defun
-
address@hidden 1
-Parameter objects are implemented using fluids (@pxref{Fluids and
-Dynamic States}), so each dynamic state has it's own parameter
-locations. That includes the separate locations when outside any
address@hidden form. When a parameter is created it gets a
-separate initial location in each dynamic state, all initialized to
-the given @var{init} value.
-
-As alluded to above, because each thread usually has a separate
-dynamic state, each thread has it's own locations behind parameter
-objects, and changes in one thread are not visible to any other. When
-a new dynamic state or thread is created, the values of parameters in
-the originating context are copied, into new locations.
-
-SRFI-39 doesn't specify the interaction between parameter objects and
-threads, so the threading behaviour described here should be regarded
-as Guile-specific.
-
@node SRFI-42
@subsection SRFI-42 - Eager Comprehensions
@cindex SRFI-42
@@ -4335,7 +4193,7 @@ This SRFI extends RnRS @code{cond} to support test
expressions that
return multiple values, as well as arbitrary definitions of test
success. SRFI 61 is implemented in the Guile core; there's no module
needed to get SRFI-61 itself. Extended @code{cond} is documented in
address@hidden cond case,, Simple Conditional Evaluation}.
address@hidden,, Simple Conditional Evaluation}.
@node SRFI-67
@subsection SRFI-67 - Compare procedures
diff --git a/doc/ref/vm.texi b/doc/ref/vm.texi
index cf4e135..398129e 100644
--- a/doc/ref/vm.texi
+++ b/doc/ref/vm.texi
@@ -438,7 +438,7 @@ expressions.
@end deffn
@deffn Instruction local-boxed-ref index
address@hidden Instruction local-boxed-ref index
address@hidden Instruction local-boxed-set index
Get or set the value of the variable located at @var{index} within the
current stack frame. A shortcut for @code{local-ref} then
@code{variable-ref} or @code{variable-set}, respectively.
diff --git a/doc/release.org b/doc/release.org
index 0d18be3..462c705 100644
--- a/doc/release.org
+++ b/doc/release.org
@@ -6,6 +6,10 @@ This document describes the typical release process for Guile
2.0.
* Preparing & uploading the tarball
+** M-x debbugs-gnu
+
+⦠or http://bugs.gnu.org/guile, for an idea of things to fix.
+
** Update Gnulib
The commit log's first line should be "Update Gnulib to X", where X is
@@ -49,6 +53,12 @@ If you're still in a good mood, you may also want to check
on porter
boxes for other OSes. The GNU/Hurd people have
[[http://www.gnu.org/software/hurd/public_hurd_boxen.html][porter boxes]], so
does
the [[http://www.opencsw.org/standards/build_farm][OpenCSW Solaris Team]].
+
+*** Post a pre-release announcement to address@hidden'
+
+Send a link to
[[http://hydra.nixos.org/job/gnu/guile-2-0/tarball/latest/download-by-type/file/source-dist][the
latest tarball]]. This will allow readers to test on
+possibly weird platforms and report any bugs.
+
** Update `GUILE-VERSION'
For stable releases, make sure to update the SONAME appropriately. To
diff --git a/guile-readline/Makefile.am b/guile-readline/Makefile.am
index f9d51a2..0c4ca77 100644
--- a/guile-readline/Makefile.am
+++ b/guile-readline/Makefile.am
@@ -1,6 +1,7 @@
## Process this file with Automake to create Makefile.in
##
-## Copyright (C) 1998, 1999, 2000, 2001, 2004, 2006, 2007, 2008, 2009,
2010 Free Software Foundation, Inc.
+## Copyright (C) 1998, 1999, 2000, 2001, 2004, 2006, 2007, 2008,
+## 2009, 2010, 2012 Free Software Foundation, Inc.
##
## This file is part of guile-readline.
##
@@ -68,7 +69,7 @@ EXTRA_DIST += LIBGUILEREADLINE-VERSION ChangeLog-2008
ETAGS_ARGS += \
$(address@hidden@_la_SOURCES)
-CLEANFILES += *.x
+CLEANFILES += *.x *.go
endif HAVE_READLINE
diff --git a/lib/Makefile.am b/lib/Makefile.am
index d4ff8c3..a4a9960 100644
--- a/lib/Makefile.am
+++ b/lib/Makefile.am
@@ -1,6 +1,6 @@
## DO NOT EDIT! GENERATED AUTOMATICALLY!
## Process this file with automake to produce Makefile.in.
-# Copyright (C) 2002-2011 Free Software Foundation, Inc.
+# Copyright (C) 2002-2012 Free Software Foundation, Inc.
#
# This file is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -21,7 +21,7 @@
# the same distribution terms as the rest of that program.
#
# Generated by gnulib-tool.
-# Reproduce by: gnulib-tool --import --dir=. --local-dir=gnulib-local
--lib=libgnu --source-base=lib --m4-base=m4 --doc-base=doc --tests-base=tests
--aux-dir=build-aux --lgpl=3 --no-conditional-dependencies --libtool
--macro-prefix=gl --no-vc-files accept alignof alloca-opt announce-gen
autobuild bind byteswap canonicalize-lgpl ceil close connect duplocale environ
extensions flock floor fpieee frexp full-read full-write func gendocs
getaddrinfo getpeername getsockname getsockopt git-version-gen
gitlog-to-changelog gnu-web-doc-update gnupload havelib iconv_open-utf
inet_ntop inet_pton isinf isnan ldexp lib-symbol-versions lib-symbol-visibility
libunistring listen localcharset locale log1p maintainer-makefile malloc-gnu
malloca nproc open pipe2 putenv recv recvfrom rename send sendto setsockopt
shutdown socket stat-time stdlib strftime striconveh string sys_stat trunc
verify vsnprintf warnings wchar
+# Reproduce by: gnulib-tool --import --dir=. --local-dir=gnulib-local
--lib=libgnu --source-base=lib --m4-base=m4 --doc-base=doc --tests-base=tests
--aux-dir=build-aux --lgpl=3 --no-conditional-dependencies --libtool
--macro-prefix=gl --no-vc-files accept alignof alloca-opt announce-gen
autobuild bind byteswap canonicalize-lgpl ceil close connect dirfd duplocale
environ extensions flock floor fpieee frexp full-read full-write func gendocs
getaddrinfo getpeername getsockname getsockopt git-version-gen
gitlog-to-changelog gnu-web-doc-update gnupload havelib iconv_open-utf
inet_ntop inet_pton isinf isnan ldexp lib-symbol-versions lib-symbol-visibility
libunistring listen localcharset locale log1p maintainer-makefile malloc-gnu
malloca nproc open pipe2 putenv recv recvfrom rename send sendto setenv
setsockopt shutdown socket stat-time stdlib strftime striconveh string sys_stat
trunc verify vsnprintf warnings wchar
AUTOMAKE_OPTIONS = 1.5 gnits subdir-objects
@@ -287,6 +287,63 @@ EXTRA_libgnu_la_SOURCES += connect.c
## end gnulib module connect
+## begin gnulib module dirent
+
+BUILT_SOURCES += dirent.h
+
+# We need the following in order to create <dirent.h> when the system
+# doesn't have one that works with the given compiler.
+dirent.h: dirent.in.h $(top_builddir)/config.status $(CXXDEFS_H)
$(ARG_NONNULL_H) $(WARN_ON_USE_H)
+ $(AM_V_GEN)rm -f address@hidden $@ && \
+ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
+ sed -e 's|@''GUARD_PREFIX''@|GL|g' \
+ -e 's|@''HAVE_DIRENT_H''@|$(HAVE_DIRENT_H)|g' \
+ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
+ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
+ -e 's|@''NEXT_DIRENT_H''@|$(NEXT_DIRENT_H)|g' \
+ -e 's/@''GNULIB_OPENDIR''@/$(GNULIB_OPENDIR)/g' \
+ -e 's/@''GNULIB_READDIR''@/$(GNULIB_READDIR)/g' \
+ -e 's/@''GNULIB_REWINDDIR''@/$(GNULIB_REWINDDIR)/g' \
+ -e 's/@''GNULIB_CLOSEDIR''@/$(GNULIB_CLOSEDIR)/g' \
+ -e 's/@''GNULIB_DIRFD''@/$(GNULIB_DIRFD)/g' \
+ -e 's/@''GNULIB_FDOPENDIR''@/$(GNULIB_FDOPENDIR)/g' \
+ -e 's/@''GNULIB_SCANDIR''@/$(GNULIB_SCANDIR)/g' \
+ -e 's/@''GNULIB_ALPHASORT''@/$(GNULIB_ALPHASORT)/g' \
+ -e 's/@''HAVE_OPENDIR''@/$(HAVE_OPENDIR)/g' \
+ -e 's/@''HAVE_READDIR''@/$(HAVE_READDIR)/g' \
+ -e 's/@''HAVE_REWINDDIR''@/$(HAVE_REWINDDIR)/g' \
+ -e 's/@''HAVE_CLOSEDIR''@/$(HAVE_CLOSEDIR)/g' \
+ -e 's|@''HAVE_DECL_DIRFD''@|$(HAVE_DECL_DIRFD)|g' \
+ -e 's|@''HAVE_DECL_FDOPENDIR''@|$(HAVE_DECL_FDOPENDIR)|g' \
+ -e 's|@''HAVE_FDOPENDIR''@|$(HAVE_FDOPENDIR)|g' \
+ -e 's|@''HAVE_SCANDIR''@|$(HAVE_SCANDIR)|g' \
+ -e 's|@''HAVE_ALPHASORT''@|$(HAVE_ALPHASORT)|g' \
+ -e 's|@''REPLACE_OPENDIR''@|$(REPLACE_OPENDIR)|g' \
+ -e 's|@''REPLACE_CLOSEDIR''@|$(REPLACE_CLOSEDIR)|g' \
+ -e 's|@''REPLACE_DIRFD''@|$(REPLACE_DIRFD)|g' \
+ -e 's|@''REPLACE_FDOPENDIR''@|$(REPLACE_FDOPENDIR)|g' \
+ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
+ -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
+ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \
+ < $(srcdir)/dirent.in.h; \
+ } > address@hidden && \
+ mv address@hidden $@
+MOSTLYCLEANFILES += dirent.h dirent.h-t
+
+EXTRA_DIST += dirent.in.h
+
+## end gnulib module dirent
+
+## begin gnulib module dirfd
+
+
+EXTRA_DIST += dirfd.c
+
+EXTRA_libgnu_la_SOURCES += dirfd.c
+
+## end gnulib module dirfd
+
## begin gnulib module dirname-lgpl
libgnu_la_SOURCES += dirname-lgpl.c basename-lgpl.c stripslash.c
@@ -1286,6 +1343,15 @@ EXTRA_libgnu_la_SOURCES += sendto.c
## end gnulib module sendto
+## begin gnulib module setenv
+
+
+EXTRA_DIST += setenv.c
+
+EXTRA_libgnu_la_SOURCES += setenv.c
+
+## end gnulib module setenv
+
## begin gnulib module setsockopt
@@ -1788,6 +1854,7 @@ stdlib.h: stdlib.in.h $(top_builddir)/config.status
$(CXXDEFS_H) \
-e 's/@''GNULIB_PTSNAME''@/$(GNULIB_PTSNAME)/g' \
-e 's/@''GNULIB_PTSNAME_R''@/$(GNULIB_PTSNAME_R)/g' \
-e 's/@''GNULIB_PUTENV''@/$(GNULIB_PUTENV)/g' \
+ -e 's/@''GNULIB_RANDOM''@/$(GNULIB_RANDOM)/g' \
-e 's/@''GNULIB_RANDOM_R''@/$(GNULIB_RANDOM_R)/g' \
-e 's/@''GNULIB_REALLOC_POSIX''@/$(GNULIB_REALLOC_POSIX)/g' \
-e 's/@''GNULIB_REALPATH''@/$(GNULIB_REALPATH)/g' \
@@ -1815,6 +1882,7 @@ stdlib.h: stdlib.in.h $(top_builddir)/config.status
$(CXXDEFS_H) \
-e 's|@''HAVE_POSIX_OPENPT''@|$(HAVE_POSIX_OPENPT)|g' \
-e 's|@''HAVE_PTSNAME''@|$(HAVE_PTSNAME)|g' \
-e 's|@''HAVE_PTSNAME_R''@|$(HAVE_PTSNAME_R)|g' \
+ -e 's|@''HAVE_RANDOM''@|$(HAVE_RANDOM)|g' \
-e 's|@''HAVE_RANDOM_H''@|$(HAVE_RANDOM_H)|g' \
-e 's|@''HAVE_RANDOM_R''@|$(HAVE_RANDOM_R)|g' \
-e 's|@''HAVE_REALPATH''@|$(HAVE_REALPATH)|g' \
@@ -1834,6 +1902,7 @@ stdlib.h: stdlib.in.h $(top_builddir)/config.status
$(CXXDEFS_H) \
-e 's|@''REPLACE_MKSTEMP''@|$(REPLACE_MKSTEMP)|g' \
-e 's|@''REPLACE_PTSNAME_R''@|$(REPLACE_PTSNAME_R)|g' \
-e 's|@''REPLACE_PUTENV''@|$(REPLACE_PUTENV)|g' \
+ -e 's|@''REPLACE_RANDOM_R''@|$(REPLACE_RANDOM_R)|g' \
-e 's|@''REPLACE_REALLOC''@|$(REPLACE_REALLOC)|g' \
-e 's|@''REPLACE_REALPATH''@|$(REPLACE_REALPATH)|g' \
-e 's|@''REPLACE_SETENV''@|$(REPLACE_SETENV)|g' \
@@ -2294,6 +2363,7 @@ unistd.h: unistd.in.h $(top_builddir)/config.status
$(CXXDEFS_H) $(ARG_NONNULL_H
-e 's/@''GNULIB_GETPAGESIZE''@/$(GNULIB_GETPAGESIZE)/g' \
-e 's/@''GNULIB_GETUSERSHELL''@/$(GNULIB_GETUSERSHELL)/g' \
-e 's/@''GNULIB_GROUP_MEMBER''@/$(GNULIB_GROUP_MEMBER)/g' \
+ -e 's/@''GNULIB_ISATTY''@/$(GNULIB_ISATTY)/g' \
-e 's/@''GNULIB_LCHOWN''@/$(GNULIB_LCHOWN)/g' \
-e 's/@''GNULIB_LINK''@/$(GNULIB_LINK)/g' \
-e 's/@''GNULIB_LINKAT''@/$(GNULIB_LINKAT)/g' \
@@ -2372,6 +2442,7 @@ unistd.h: unistd.in.h $(top_builddir)/config.status
$(CXXDEFS_H) $(ARG_NONNULL_H
-e 's|@''REPLACE_GETLOGIN_R''@|$(REPLACE_GETLOGIN_R)|g' \
-e 's|@''REPLACE_GETGROUPS''@|$(REPLACE_GETGROUPS)|g' \
-e 's|@''REPLACE_GETPAGESIZE''@|$(REPLACE_GETPAGESIZE)|g' \
+ -e 's|@''REPLACE_ISATTY''@|$(REPLACE_ISATTY)|g' \
-e 's|@''REPLACE_LCHOWN''@|$(REPLACE_LCHOWN)|g' \
-e 's|@''REPLACE_LINK''@|$(REPLACE_LINK)|g' \
-e 's|@''REPLACE_LINKAT''@|$(REPLACE_LINKAT)|g' \
diff --git a/lib/accept.c b/lib/accept.c
index be8269e..78bb822 100644
--- a/lib/accept.c
+++ b/lib/accept.c
@@ -1,6 +1,6 @@
/* accept.c --- wrappers for Windows accept function
- Copyright (C) 2008-2011 Free Software Foundation, Inc.
+ Copyright (C) 2008-2012 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
diff --git a/lib/alignof.h b/lib/alignof.h
index 2049142..17942ea 100644
--- a/lib/alignof.h
+++ b/lib/alignof.h
@@ -1,5 +1,5 @@
/* Determine alignment of types.
- Copyright (C) 2003-2004, 2006, 2009-2011 Free Software Foundation, Inc.
+ Copyright (C) 2003-2004, 2006, 2009-2012 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
diff --git a/lib/alloca.in.h b/lib/alloca.in.h
index 8760ae7..fe95954 100644
--- a/lib/alloca.in.h
+++ b/lib/alloca.in.h
@@ -1,6 +1,6 @@
/* Memory allocation on the stack.
- Copyright (C) 1995, 1999, 2001-2004, 2006-2011 Free Software Foundation,
+ Copyright (C) 1995, 1999, 2001-2004, 2006-2012 Free Software Foundation,
Inc.
This program is free software; you can redistribute it and/or modify it
diff --git a/lib/arpa_inet.in.h b/lib/arpa_inet.in.h
index 44669cc..4295f67 100644
--- a/lib/arpa_inet.in.h
+++ b/lib/arpa_inet.in.h
@@ -1,6 +1,6 @@
/* A GNU-like <arpa/inet.h>.
- Copyright (C) 2005-2006, 2008-2011 Free Software Foundation, Inc.
+ Copyright (C) 2005-2006, 2008-2012 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
diff --git a/lib/asnprintf.c b/lib/asnprintf.c
index f1fb746..1120bed 100644
--- a/lib/asnprintf.c
+++ b/lib/asnprintf.c
@@ -1,5 +1,5 @@
/* Formatted output to strings.
- Copyright (C) 1999, 2002, 2006, 2009-2011 Free Software Foundation, Inc.
+ Copyright (C) 1999, 2002, 2006, 2009-2012 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
diff --git a/lib/basename-lgpl.c b/lib/basename-lgpl.c
index 685cbc7..8ddbfc3 100644
--- a/lib/basename-lgpl.c
+++ b/lib/basename-lgpl.c
@@ -1,6 +1,6 @@
/* basename.c -- return the last element in a file name
- Copyright (C) 1990, 1998-2001, 2003-2006, 2009-2011 Free Software
+ Copyright (C) 1990, 1998-2001, 2003-2006, 2009-2012 Free Software
Foundation, Inc.
This program is free software: you can redistribute it and/or modify
diff --git a/lib/binary-io.h b/lib/binary-io.h
index 874fe68..00a78f0 100644
--- a/lib/binary-io.h
+++ b/lib/binary-io.h
@@ -1,5 +1,5 @@
/* Binary mode I/O.
- Copyright (C) 2001, 2003, 2005, 2008-2011 Free Software Foundation, Inc.
+ Copyright (C) 2001, 2003, 2005, 2008-2012 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
diff --git a/lib/bind.c b/lib/bind.c
index e339e58..1a2a3b6 100644
--- a/lib/bind.c
+++ b/lib/bind.c
@@ -1,6 +1,6 @@
/* bind.c --- wrappers for Windows bind function
- Copyright (C) 2008-2011 Free Software Foundation, Inc.
+ Copyright (C) 2008-2012 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
diff --git a/lib/byteswap.in.h b/lib/byteswap.in.h
index 0491781..a9baa68 100644
--- a/lib/byteswap.in.h
+++ b/lib/byteswap.in.h
@@ -1,5 +1,5 @@
/* byteswap.h - Byte swapping
- Copyright (C) 2005, 2007, 2009-2011 Free Software Foundation, Inc.
+ Copyright (C) 2005, 2007, 2009-2012 Free Software Foundation, Inc.
Written by Oskar Liljeblad <address@hidden>, 2005.
This program is free software: you can redistribute it and/or modify
diff --git a/lib/c-ctype.c b/lib/c-ctype.c
index 06f87d0..512bcdc 100644
--- a/lib/c-ctype.c
+++ b/lib/c-ctype.c
@@ -1,6 +1,6 @@
/* Character handling in C locale.
- Copyright 2000-2003, 2006, 2009-2011 Free Software Foundation, Inc.
+ Copyright 2000-2003, 2006, 2009-2012 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
diff --git a/lib/c-ctype.h b/lib/c-ctype.h
index 669673f..aa3c964 100644
--- a/lib/c-ctype.h
+++ b/lib/c-ctype.h
@@ -5,7 +5,7 @@
<ctype.h> functions' behaviour depends on the current locale set via
setlocale.
- Copyright (C) 2000-2003, 2006, 2008-2011 Free Software Foundation, Inc.
+ Copyright (C) 2000-2003, 2006, 2008-2012 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
diff --git a/lib/c-strcase.h b/lib/c-strcase.h
index 5173cb2..3b92ba9 100644
--- a/lib/c-strcase.h
+++ b/lib/c-strcase.h
@@ -1,5 +1,5 @@
/* Case-insensitive string comparison functions in C locale.
- Copyright (C) 1995-1996, 2001, 2003, 2005, 2009-2011 Free Software
+ Copyright (C) 1995-1996, 2001, 2003, 2005, 2009-2012 Free Software
Foundation, Inc.
This program is free software; you can redistribute it and/or modify
diff --git a/lib/c-strcasecmp.c b/lib/c-strcasecmp.c
index 5216c44..c8e0706 100644
--- a/lib/c-strcasecmp.c
+++ b/lib/c-strcasecmp.c
@@ -1,5 +1,5 @@
/* c-strcasecmp.c -- case insensitive string comparator in C locale
- Copyright (C) 1998-1999, 2005-2006, 2009-2011 Free Software Foundation, Inc.
+ Copyright (C) 1998-1999, 2005-2006, 2009-2012 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
diff --git a/lib/c-strcaseeq.h b/lib/c-strcaseeq.h
index 754303d..25e6e07 100644
--- a/lib/c-strcaseeq.h
+++ b/lib/c-strcaseeq.h
@@ -1,5 +1,5 @@
/* Optimized case-insensitive string comparison in C locale.
- Copyright (C) 2001-2002, 2007, 2009-2011 Free Software Foundation, Inc.
+ Copyright (C) 2001-2002, 2007, 2009-2012 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify it
under the terms of the GNU Lesser General Public License as published
diff --git a/lib/c-strncasecmp.c b/lib/c-strncasecmp.c
index 2d5a324..32ced38 100644
--- a/lib/c-strncasecmp.c
+++ b/lib/c-strncasecmp.c
@@ -1,5 +1,5 @@
/* c-strncasecmp.c -- case insensitive string comparator in C locale
- Copyright (C) 1998-1999, 2005-2006, 2009-2011 Free Software Foundation, Inc.
+ Copyright (C) 1998-1999, 2005-2006, 2009-2012 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
diff --git a/lib/canonicalize-lgpl.c b/lib/canonicalize-lgpl.c
index 1fd4c37..9b03dc6 100644
--- a/lib/canonicalize-lgpl.c
+++ b/lib/canonicalize-lgpl.c
@@ -1,5 +1,5 @@
/* Return the canonical absolute name of a given file.
- Copyright (C) 1996-2011 Free Software Foundation, Inc.
+ Copyright (C) 1996-2012 Free Software Foundation, Inc.
This file is part of the GNU C Library.
This program is free software: you can redistribute it and/or modify
@@ -84,10 +84,10 @@
#if !FUNC_REALPATH_WORKS || defined _LIBC
/* Return the canonical absolute name of file NAME. A canonical name
- does not contain any `.', `..' components nor any repeated path
+ does not contain any ".", ".." components nor any repeated path
separators ('/') or symlinks. All path components must exist. If
RESOLVED is null, the result is malloc'd; otherwise, if the
- canonical name is PATH_MAX chars or more, returns null with `errno'
+ canonical name is PATH_MAX chars or more, returns null with 'errno'
set to ENAMETOOLONG; if the name fits in fewer than PATH_MAX chars,
returns the name in RESOLVED. If the name cannot be resolved and
RESOLVED is non-NULL, it contains the path of the first component
diff --git a/lib/ceil.c b/lib/ceil.c
index e666071..58c3adf 100644
--- a/lib/ceil.c
+++ b/lib/ceil.c
@@ -1,5 +1,5 @@
/* Round towards positive infinity.
- Copyright (C) 2007, 2010-2011 Free Software Foundation, Inc.
+ Copyright (C) 2007, 2010-2012 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
diff --git a/lib/close.c b/lib/close.c
index e8a1ed5..2b6f598 100644
--- a/lib/close.c
+++ b/lib/close.c
@@ -1,5 +1,5 @@
/* close replacement.
- Copyright (C) 2008-2011 Free Software Foundation, Inc.
+ Copyright (C) 2008-2012 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
diff --git a/lib/config.charset b/lib/config.charset
index 55d7791..d771048 100644
--- a/lib/config.charset
+++ b/lib/config.charset
@@ -1,7 +1,7 @@
#! /bin/sh
# Output a system dependent table of character encoding aliases.
#
-# Copyright (C) 2000-2004, 2006-2011 Free Software Foundation, Inc.
+# Copyright (C) 2000-2004, 2006-2012 Free Software Foundation, Inc.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License as published by
@@ -30,6 +30,8 @@
# The current list of GNU canonical charset names is as follows.
#
# name MIME? used by which systems
+# (darwin = MacOS X, woe32 = native Windows)
+#
# ASCII, ANSI_X3.4-1968 glibc solaris freebsd netbsd darwin cygwin
# ISO-8859-1 Y glibc aix hpux irix osf solaris freebsd netbsd
openbsd darwin cygwin
# ISO-8859-2 Y glibc aix hpux irix osf solaris freebsd netbsd
openbsd darwin cygwin
diff --git a/lib/connect.c b/lib/connect.c
index 1d4fcdd..303cd0b 100644
--- a/lib/connect.c
+++ b/lib/connect.c
@@ -1,6 +1,6 @@
/* connect.c --- wrappers for Windows connect function
- Copyright (C) 2008-2011 Free Software Foundation, Inc.
+ Copyright (C) 2008-2012 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
diff --git a/lib/dirent.in.h b/lib/dirent.in.h
new file mode 100644
index 0000000..ff27059
--- /dev/null
+++ b/lib/dirent.in.h
@@ -0,0 +1,249 @@
+/* A GNU-like <dirent.h>.
+ Copyright (C) 2006-2012 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU Lesser General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+#ifndef address@hidden@_DIRENT_H
+
+#if __GNUC__ >= 3
address@hidden@
+#endif
address@hidden@
+
+/* The include_next requires a split double-inclusion guard. */
+#if @HAVE_DIRENT_H@
+# @INCLUDE_NEXT@ @NEXT_DIRENT_H@
+#endif
+
+#ifndef address@hidden@_DIRENT_H
+#define address@hidden@_DIRENT_H
+
+/* Get ino_t. Needed on some systems, including glibc 2.8. */
+#include <sys/types.h>
+
+#if address@hidden@
+/* Define types DIR and 'struct dirent'. */
+# if !GNULIB_defined_struct_dirent
+struct dirent
+{
+ char d_type;
+ char d_name[1];
+};
+/* Possible values for 'd_type'. */
+# define DT_UNKNOWN 0
+# define DT_FIFO 1 /* FIFO */
+# define DT_CHR 2 /* character device */
+# define DT_DIR 4 /* directory */
+# define DT_BLK 6 /* block device */
+# define DT_REG 8 /* regular file */
+# define DT_LNK 10 /* symbolic link */
+# define DT_SOCK 12 /* socket */
+# define DT_WHT 14 /* whiteout */
+typedef struct gl_directory DIR;
+# define GNULIB_defined_struct_dirent 1
+# endif
+#endif
+
+/* The definitions of _GL_FUNCDECL_RPL etc. are copied here. */
+
+/* The definition of _GL_ARG_NONNULL is copied here. */
+
+/* The definition of _GL_WARN_ON_USE is copied here. */
+
+
+/* Declare overridden functions. */
+
+#if @GNULIB_OPENDIR@
+# if @REPLACE_OPENDIR@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef opendir
+# define opendir rpl_opendir
+# endif
+_GL_FUNCDECL_RPL (opendir, DIR *, (const char *dir_name) _GL_ARG_NONNULL
((1)));
+_GL_CXXALIAS_RPL (opendir, DIR *, (const char *dir_name));
+# else
+# if address@hidden@
+_GL_FUNCDECL_SYS (opendir, DIR *, (const char *dir_name) _GL_ARG_NONNULL
((1)));
+# endif
+_GL_CXXALIAS_SYS (opendir, DIR *, (const char *dir_name));
+# endif
+_GL_CXXALIASWARN (opendir);
+#elif defined GNULIB_POSIXCHECK
+# undef opendir
+# if HAVE_RAW_DECL_OPENDIR
+_GL_WARN_ON_USE (opendir, "opendir is not portable - "
+ "use gnulib module opendir for portability");
+# endif
+#endif
+
+#if @GNULIB_READDIR@
+# if address@hidden@
+_GL_FUNCDECL_SYS (readdir, struct dirent *, (DIR *dirp) _GL_ARG_NONNULL ((1)));
+# endif
+_GL_CXXALIAS_SYS (readdir, struct dirent *, (DIR *dirp));
+_GL_CXXALIASWARN (readdir);
+#elif defined GNULIB_POSIXCHECK
+# undef readdir
+# if HAVE_RAW_DECL_READDIR
+_GL_WARN_ON_USE (readdir, "readdir is not portable - "
+ "use gnulib module readdir for portability");
+# endif
+#endif
+
+#if @GNULIB_REWINDDIR@
+# if address@hidden@
+_GL_FUNCDECL_SYS (rewinddir, void, (DIR *dirp) _GL_ARG_NONNULL ((1)));
+# endif
+_GL_CXXALIAS_SYS (rewinddir, void, (DIR *dirp));
+_GL_CXXALIASWARN (rewinddir);
+#elif defined GNULIB_POSIXCHECK
+# undef rewinddir
+# if HAVE_RAW_DECL_REWINDDIR
+_GL_WARN_ON_USE (rewinddir, "rewinddir is not portable - "
+ "use gnulib module rewinddir for portability");
+# endif
+#endif
+
+#if @GNULIB_CLOSEDIR@
+# if @REPLACE_CLOSEDIR@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef closedir
+# define closedir rpl_closedir
+# endif
+_GL_FUNCDECL_RPL (closedir, int, (DIR *dirp) _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (closedir, int, (DIR *dirp));
+# else
+# if address@hidden@
+_GL_FUNCDECL_SYS (closedir, int, (DIR *dirp) _GL_ARG_NONNULL ((1)));
+# endif
+_GL_CXXALIAS_SYS (closedir, int, (DIR *dirp));
+# endif
+_GL_CXXALIASWARN (closedir);
+#elif defined GNULIB_POSIXCHECK
+# undef closedir
+# if HAVE_RAW_DECL_CLOSEDIR
+_GL_WARN_ON_USE (closedir, "closedir is not portable - "
+ "use gnulib module closedir for portability");
+# endif
+#endif
+
+#if @GNULIB_DIRFD@
+/* Return the file descriptor associated with the given directory stream,
+ or -1 if none exists. */
+# if @REPLACE_DIRFD@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef dirfd
+# define dirfd rpl_dirfd
+# endif
+_GL_FUNCDECL_RPL (dirfd, int, (DIR *) _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (dirfd, int, (DIR *));
+# else
+# if defined __cplusplus && defined GNULIB_NAMESPACE && defined dirfd
+ /* dirfd is defined as a macro and not as a function.
+ Turn it into a function and get rid of the macro. */
+static inline int (dirfd) (DIR *dp) { return dirfd (dp); }
+# undef dirfd
+# endif
+# if !(@HAVE_DECL_DIRFD@ || defined dirfd)
+_GL_FUNCDECL_SYS (dirfd, int, (DIR *) _GL_ARG_NONNULL ((1)));
+# endif
+_GL_CXXALIAS_SYS (dirfd, int, (DIR *));
+# endif
+_GL_CXXALIASWARN (dirfd);
+#elif defined GNULIB_POSIXCHECK
+# undef dirfd
+# if HAVE_RAW_DECL_DIRFD
+_GL_WARN_ON_USE (dirfd, "dirfd is unportable - "
+ "use gnulib module dirfd for portability");
+# endif
+#endif
+
+#if @GNULIB_FDOPENDIR@
+/* Open a directory stream visiting the given directory file
+ descriptor. Return NULL and set errno if fd is not visiting a
+ directory. On success, this function consumes fd (it will be
+ implicitly closed either by this function or by a subsequent
+ closedir). */
+# if @REPLACE_FDOPENDIR@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef fdopendir
+# define fdopendir rpl_fdopendir
+# endif
+_GL_FUNCDECL_RPL (fdopendir, DIR *, (int fd));
+_GL_CXXALIAS_RPL (fdopendir, DIR *, (int fd));
+# else
+# if address@hidden@ || address@hidden@
+_GL_FUNCDECL_SYS (fdopendir, DIR *, (int fd));
+# endif
+_GL_CXXALIAS_SYS (fdopendir, DIR *, (int fd));
+# endif
+_GL_CXXALIASWARN (fdopendir);
+#elif defined GNULIB_POSIXCHECK
+# undef fdopendir
+# if HAVE_RAW_DECL_FDOPENDIR
+_GL_WARN_ON_USE (fdopendir, "fdopendir is unportable - "
+ "use gnulib module fdopendir for portability");
+# endif
+#endif
+
+#if @GNULIB_SCANDIR@
+/* Scan the directory DIR, calling FILTER on each directory entry.
+ Entries for which FILTER returns nonzero are individually malloc'd,
+ sorted using qsort with CMP, and collected in a malloc'd array in
+ *NAMELIST. Returns the number of entries selected, or -1 on error. */
+# if address@hidden@
+_GL_FUNCDECL_SYS (scandir, int,
+ (const char *dir, struct dirent ***namelist,
+ int (*filter) (const struct dirent *),
+ int (*cmp) (const struct dirent **, const struct dirent **))
+ _GL_ARG_NONNULL ((1, 2, 4)));
+# endif
+/* Need to cast, because on glibc systems, the fourth parameter is
+ int (*cmp) (const void *, const void *). */
+_GL_CXXALIAS_SYS_CAST (scandir, int,
+ (const char *dir, struct dirent ***namelist,
+ int (*filter) (const struct dirent *),
+ int (*cmp) (const struct dirent **, const struct
dirent **)));
+_GL_CXXALIASWARN (scandir);
+#elif defined GNULIB_POSIXCHECK
+# undef scandir
+# if HAVE_RAW_DECL_SCANDIR
+_GL_WARN_ON_USE (scandir, "scandir is unportable - "
+ "use gnulib module scandir for portability");
+# endif
+#endif
+
+#if @GNULIB_ALPHASORT@
+/* Compare two 'struct dirent' entries alphabetically. */
+# if address@hidden@
+_GL_FUNCDECL_SYS (alphasort, int,
+ (const struct dirent **, const struct dirent **)
+ _GL_ARG_NONNULL ((1, 2)));
+# endif
+/* Need to cast, because on glibc systems, the parameters are
+ (const void *, const void *). */
+_GL_CXXALIAS_SYS_CAST (alphasort, int,
+ (const struct dirent **, const struct dirent **));
+_GL_CXXALIASWARN (alphasort);
+#elif defined GNULIB_POSIXCHECK
+# undef alphasort
+# if HAVE_RAW_DECL_ALPHASORT
+_GL_WARN_ON_USE (alphasort, "alphasort is unportable - "
+ "use gnulib module alphasort for portability");
+# endif
+#endif
+
+
+#endif /* address@hidden@_DIRENT_H */
+#endif /* address@hidden@_DIRENT_H */
diff --git a/lib/same-inode.h b/lib/dirfd.c
similarity index 66%
copy from lib/same-inode.h
copy to lib/dirfd.c
index e89cb53..7013010 100644
--- a/lib/same-inode.h
+++ b/lib/dirfd.c
@@ -1,6 +1,6 @@
-/* Determine whether two stat buffers refer to the same file.
+/* dirfd.c -- return the file descriptor associated with an open DIR*
- Copyright (C) 2006, 2009-2011 Free Software Foundation, Inc.
+ Copyright (C) 2001, 2006, 2008-2012 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
@@ -15,11 +15,18 @@
You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. */
-#ifndef SAME_INODE_H
-# define SAME_INODE_H 1
+/* Written by Jim Meyering. */
-# define SAME_INODE(Stat_buf_1, Stat_buf_2) \
- ((Stat_buf_1).st_ino == (Stat_buf_2).st_ino \
- && (Stat_buf_1).st_dev == (Stat_buf_2).st_dev)
+#include <config.h>
-#endif
+#include <dirent.h>
+#include <errno.h>
+
+int
+dirfd (DIR *dir_p)
+{
+ int fd = DIR_TO_FD (dir_p);
+ if (fd == -1)
+ errno = ENOTSUP;
+ return fd;
+}
diff --git a/lib/dirname-lgpl.c b/lib/dirname-lgpl.c
index 934c271..5d0cc07 100644
--- a/lib/dirname-lgpl.c
+++ b/lib/dirname-lgpl.c
@@ -1,6 +1,6 @@
/* dirname.c -- return all but the last element in a file name
- Copyright (C) 1990, 1998, 2000-2001, 2003-2006, 2009-2011 Free Software
+ Copyright (C) 1990, 1998, 2000-2001, 2003-2006, 2009-2012 Free Software
Foundation, Inc.
This program is free software: you can redistribute it and/or modify
@@ -25,7 +25,7 @@
/* Return the length of the prefix of FILE that will be used by
dir_name. If FILE is in the working directory, this returns zero
- even though `dir_name (FILE)' will return ".". Works properly even
+ even though 'dir_name (FILE)' will return ".". Works properly even
if there are trailing slashes (by effectively ignoring them). */
size_t
@@ -53,9 +53,9 @@ dir_len (char const *file)
}
-/* In general, we can't use the builtin `dirname' function if available,
+/* In general, we can't use the builtin 'dirname' function if available,
since it has different meanings in different environments.
- In some environments the builtin `dirname' modifies its argument.
+ In some environments the builtin 'dirname' modifies its argument.
Return the leading directories part of FILE, allocated with malloc.
Works properly even if there are trailing slashes (by effectively
diff --git a/lib/dirname.h b/lib/dirname.h
index 821b24e..ce77baf 100644
--- a/lib/dirname.h
+++ b/lib/dirname.h
@@ -1,6 +1,6 @@
/* Take file names apart into directory and base names.
- Copyright (C) 1998, 2001, 2003-2006, 2009-2011 Free Software Foundation,
+ Copyright (C) 1998, 2001, 2003-2006, 2009-2012 Free Software Foundation,
Inc.
This program is free software: you can redistribute it and/or modify
diff --git a/lib/dosname.h b/lib/dosname.h
index 3087d39..f4b1439 100644
--- a/lib/dosname.h
+++ b/lib/dosname.h
@@ -1,6 +1,6 @@
/* File names on MS-DOS/Windows systems.
- Copyright (C) 2000-2001, 2004-2006, 2009-2011 Free Software Foundation, Inc.
+ Copyright (C) 2000-2001, 2004-2006, 2009-2012 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
diff --git a/lib/duplocale.c b/lib/duplocale.c
index 8b1bf34..dd85efe 100644
--- a/lib/duplocale.c
+++ b/lib/duplocale.c
@@ -1,5 +1,5 @@
/* Duplicate a locale object.
- Copyright (C) 2009-2011 Free Software Foundation, Inc.
+ Copyright (C) 2009-2012 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
diff --git a/lib/errno.in.h b/lib/errno.in.h
index c01c3c1..7135f28 100644
--- a/lib/errno.in.h
+++ b/lib/errno.in.h
@@ -1,6 +1,6 @@
/* A POSIX-like <errno.h>.
- Copyright (C) 2008-2011 Free Software Foundation, Inc.
+ Copyright (C) 2008-2012 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
diff --git a/lib/fcntl.in.h b/lib/fcntl.in.h
index 77d69a3..56a1f0d 100644
--- a/lib/fcntl.in.h
+++ b/lib/fcntl.in.h
@@ -1,6 +1,6 @@
/* Like <fcntl.h>, but with non-working flags defined to 0.
- Copyright (C) 2006-2011 Free Software Foundation, Inc.
+ Copyright (C) 2006-2012 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
@@ -62,6 +62,12 @@
# include <unistd.h>
#endif
+/* Native Windows platforms declare open(), creat() in <io.h>. */
+#if (@GNULIB_OPEN@ || defined GNULIB_POSIXCHECK) \
+ && ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__)
+# include <io.h>
+#endif
+
/* The definitions of _GL_FUNCDECL_RPL etc. are copied here. */
@@ -177,12 +183,12 @@ _GL_WARN_ON_USE (openat, "openat is not portable - "
/* Fix up the O_* macros. */
#if !defined O_DIRECT && defined O_DIRECTIO
-/* Tru64 spells it `O_DIRECTIO'. */
+/* Tru64 spells it 'O_DIRECTIO'. */
# define O_DIRECT O_DIRECTIO
#endif
#if !defined O_CLOEXEC && defined O_NOINHERIT
-/* Mingw spells it `O_NOINHERIT'. */
+/* Mingw spells it 'O_NOINHERIT'. */
# define O_CLOEXEC O_NOINHERIT
#endif
diff --git a/lib/fd-hook.c b/lib/fd-hook.c
index 40fbeeb..39e25ea 100644
--- a/lib/fd-hook.c
+++ b/lib/fd-hook.c
@@ -1,5 +1,5 @@
/* Hook for making making file descriptor functions close(), ioctl()
extensible.
- Copyright (C) 2009-2011 Free Software Foundation, Inc.
+ Copyright (C) 2009-2012 Free Software Foundation, Inc.
Written by Bruno Haible <address@hidden>, 2009.
This program is free software: you can redistribute it and/or modify it
diff --git a/lib/fd-hook.h b/lib/fd-hook.h
index aab4d91..b3b200d 100644
--- a/lib/fd-hook.h
+++ b/lib/fd-hook.h
@@ -1,5 +1,5 @@
/* Hook for making making file descriptor functions close(), ioctl()
extensible.
- Copyright (C) 2009-2011 Free Software Foundation, Inc.
+ Copyright (C) 2009-2012 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify it
under the terms of the GNU Lesser General Public License as published
diff --git a/lib/float+.h b/lib/float+.h
index 78019e5..bcb9566 100644
--- a/lib/float+.h
+++ b/lib/float+.h
@@ -1,5 +1,5 @@
/* Supplemental information about the floating-point formats.
- Copyright (C) 2007, 2009-2011 Free Software Foundation, Inc.
+ Copyright (C) 2007, 2009-2012 Free Software Foundation, Inc.
Written by Bruno Haible <address@hidden>, 2007.
This program is free software; you can redistribute it and/or modify
diff --git a/lib/float.c b/lib/float.c
index b4c1d37..94c6cfd 100644
--- a/lib/float.c
+++ b/lib/float.c
@@ -1,5 +1,5 @@
/* Auxiliary definitions for <float.h>.
- Copyright (C) 2011 Free Software Foundation, Inc.
+ Copyright (C) 2011-2012 Free Software Foundation, Inc.
Written by Bruno Haible <address@hidden>, 2011.
This program is free software: you can redistribute it and/or modify
diff --git a/lib/float.in.h b/lib/float.in.h
index 18ecb6e..b3740b8 100644
--- a/lib/float.in.h
+++ b/lib/float.in.h
@@ -1,6 +1,6 @@
/* A correct <float.h>.
- Copyright (C) 2007-2011 Free Software Foundation, Inc.
+ Copyright (C) 2007-2012 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
diff --git a/lib/flock.c b/lib/flock.c
index 439ff43..3eb9abb 100644
--- a/lib/flock.c
+++ b/lib/flock.c
@@ -6,7 +6,7 @@
Written by Richard W.M. Jones <rjones.at.redhat.com>
- Copyright (C) 2008-2011 Free Software Foundation, Inc.
+ Copyright (C) 2008-2012 Free Software Foundation, Inc.
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
diff --git a/lib/floor.c b/lib/floor.c
index ada6e82..c6311c8 100644
--- a/lib/floor.c
+++ b/lib/floor.c
@@ -1,5 +1,5 @@
/* Round towards negative infinity.
- Copyright (C) 2007, 2010-2011 Free Software Foundation, Inc.
+ Copyright (C) 2007, 2010-2012 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
diff --git a/lib/frexp.c b/lib/frexp.c
index b6147cc..baeb462 100644
--- a/lib/frexp.c
+++ b/lib/frexp.c
@@ -1,5 +1,5 @@
/* Split a double into fraction and mantissa.
- Copyright (C) 2007-2011 Free Software Foundation, Inc.
+ Copyright (C) 2007-2012 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
diff --git a/lib/fstat.c b/lib/fstat.c
index 97d0ffd..e0ed800 100644
--- a/lib/fstat.c
+++ b/lib/fstat.c
@@ -1,5 +1,5 @@
/* fstat() replacement.
- Copyright (C) 2011 Free Software Foundation, Inc.
+ Copyright (C) 2011-2012 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
diff --git a/lib/full-read.c b/lib/full-read.c
index 2f78020..68b273d 100644
--- a/lib/full-read.c
+++ b/lib/full-read.c
@@ -1,5 +1,5 @@
/* An interface to read that retries after partial reads and interrupts.
- Copyright (C) 2002-2003, 2009-2011 Free Software Foundation, Inc.
+ Copyright (C) 2002-2003, 2009-2012 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
diff --git a/lib/full-read.h b/lib/full-read.h
index 313d474..fdf2331 100644
--- a/lib/full-read.h
+++ b/lib/full-read.h
@@ -1,6 +1,6 @@
/* An interface to read() that reads all it is asked to read.
- Copyright (C) 2002, 2009-2011 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2009-2012 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
diff --git a/lib/full-write.c b/lib/full-write.c
index b60ba02..20d99b7 100644
--- a/lib/full-write.c
+++ b/lib/full-write.c
@@ -1,6 +1,6 @@
/* An interface to read and write that retries (if necessary) until complete.
- Copyright (C) 1993-1994, 1997-2006, 2009-2011 Free Software Foundation, Inc.
+ Copyright (C) 1993-1994, 1997-2006, 2009-2012 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
diff --git a/lib/full-write.h b/lib/full-write.h
index c059a63..018b25c 100644
--- a/lib/full-write.h
+++ b/lib/full-write.h
@@ -1,6 +1,6 @@
/* An interface to write() that writes all it is asked to write.
- Copyright (C) 2002-2003, 2009-2011 Free Software Foundation, Inc.
+ Copyright (C) 2002-2003, 2009-2012 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
diff --git a/lib/gai_strerror.c b/lib/gai_strerror.c
index cc6f9c0..41ad0b2 100644
--- a/lib/gai_strerror.c
+++ b/lib/gai_strerror.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1997, 2001-2002, 2004-2006, 2008-2011 Free Software
+/* Copyright (C) 1997, 2001-2002, 2004-2006, 2008-2012 Free Software
Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Philip Blundell <address@hidden>, 1997.
diff --git a/lib/getaddrinfo.c b/lib/getaddrinfo.c
index 2610031..8a34ede 100644
--- a/lib/getaddrinfo.c
+++ b/lib/getaddrinfo.c
@@ -1,5 +1,5 @@
/* Get address information (partial implementation).
- Copyright (C) 1997, 2001-2002, 2004-2011 Free Software Foundation, Inc.
+ Copyright (C) 1997, 2001-2002, 2004-2012 Free Software Foundation, Inc.
Contributed by Simon Josefsson <address@hidden>.
This program is free software; you can redistribute it and/or modify
@@ -56,13 +56,13 @@
#endif
#if defined _WIN32 || defined __WIN32__
-# define WIN32_NATIVE
+# define WINDOWS_NATIVE
#endif
/* gl_sockets_startup */
#include "sockets.h"
-#ifdef WIN32_NATIVE
+#ifdef WINDOWS_NATIVE
typedef int (WSAAPI *getaddrinfo_func) (const char*, const char*,
const struct addrinfo*,
struct addrinfo**);
@@ -153,7 +153,7 @@ getaddrinfo (const char *restrict nodename,
};
#endif
-#ifdef WIN32_NATIVE
+#ifdef WINDOWS_NATIVE
if (use_win32_p ())
return getaddrinfo_ptr (nodename, servname, hints, res);
#endif
@@ -332,11 +332,11 @@ getaddrinfo (const char *restrict nodename,
return 0;
}
-/* Free `addrinfo' structure AI including associated storage. */
+/* Free 'addrinfo' structure AI including associated storage. */
void
freeaddrinfo (struct addrinfo *ai)
{
-#ifdef WIN32_NATIVE
+#ifdef WINDOWS_NATIVE
if (use_win32_p ())
{
freeaddrinfo_ptr (ai);
@@ -362,7 +362,7 @@ getnameinfo (const struct sockaddr *restrict sa, socklen_t
salen,
char *restrict service, socklen_t servicelen,
int flags)
{
-#ifdef WIN32_NATIVE
+#ifdef WINDOWS_NATIVE
if (use_win32_p ())
return getnameinfo_ptr (sa, salen, node, nodelen,
service, servicelen, flags);
diff --git a/lib/getpeername.c b/lib/getpeername.c
index 8fb12e3..02e3fad 100644
--- a/lib/getpeername.c
+++ b/lib/getpeername.c
@@ -1,6 +1,6 @@
/* getpeername.c --- wrappers for Windows getpeername function
- Copyright (C) 2008-2011 Free Software Foundation, Inc.
+ Copyright (C) 2008-2012 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
diff --git a/lib/getsockname.c b/lib/getsockname.c
index 6cdfa9e..890c50e 100644
--- a/lib/getsockname.c
+++ b/lib/getsockname.c
@@ -1,6 +1,6 @@
/* getsockname.c --- wrappers for Windows getsockname function
- Copyright (C) 2008-2011 Free Software Foundation, Inc.
+ Copyright (C) 2008-2012 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
diff --git a/lib/getsockopt.c b/lib/getsockopt.c
index 1d0fe98..0bf74b0 100644
--- a/lib/getsockopt.c
+++ b/lib/getsockopt.c
@@ -1,6 +1,6 @@
/* getsockopt.c --- wrappers for Windows getsockopt function
- Copyright (C) 2008-2011 Free Software Foundation, Inc.
+ Copyright (C) 2008-2012 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
diff --git a/lib/gettext.h b/lib/gettext.h
index 68bb005..53ea28e 100644
--- a/lib/gettext.h
+++ b/lib/gettext.h
@@ -1,5 +1,5 @@
/* Convenience header for conditional use of GNU <libintl.h>.
- Copyright (C) 1995-1998, 2000-2002, 2004-2006, 2009-2011 Free Software
+ Copyright (C) 1995-1998, 2000-2002, 2004-2006, 2009-2012 Free Software
Foundation, Inc.
This program is free software; you can redistribute it and/or modify
diff --git a/lib/iconv.c b/lib/iconv.c
index f607ed3..8695fe4 100644
--- a/lib/iconv.c
+++ b/lib/iconv.c
@@ -1,5 +1,5 @@
/* Character set conversion.
- Copyright (C) 1999-2001, 2007, 2009-2011 Free Software Foundation, Inc.
+ Copyright (C) 1999-2001, 2007, 2009-2012 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
diff --git a/lib/iconv.in.h b/lib/iconv.in.h
index 66fc8ef..e492fcc 100644
--- a/lib/iconv.in.h
+++ b/lib/iconv.in.h
@@ -1,6 +1,6 @@
/* A GNU-like <iconv.h>.
- Copyright (C) 2007-2011 Free Software Foundation, Inc.
+ Copyright (C) 2007-2012 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
diff --git a/lib/iconv_close.c b/lib/iconv_close.c
index d015f74..881e111 100644
--- a/lib/iconv_close.c
+++ b/lib/iconv_close.c
@@ -1,5 +1,5 @@
/* Character set conversion.
- Copyright (C) 2007, 2009-2011 Free Software Foundation, Inc.
+ Copyright (C) 2007, 2009-2012 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
diff --git a/lib/iconv_open.c b/lib/iconv_open.c
index b17a3b2..9e4183b 100644
--- a/lib/iconv_open.c
+++ b/lib/iconv_open.c
@@ -1,5 +1,5 @@
/* Character set conversion.
- Copyright (C) 2007, 2009-2011 Free Software Foundation, Inc.
+ Copyright (C) 2007, 2009-2012 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
diff --git a/lib/iconveh.h b/lib/iconveh.h
index 2a4f34b..4a4f506 100644
--- a/lib/iconveh.h
+++ b/lib/iconveh.h
@@ -1,5 +1,5 @@
/* Character set conversion handler type.
- Copyright (C) 2001-2007, 2009-2011 Free Software Foundation, Inc.
+ Copyright (C) 2001-2007, 2009-2012 Free Software Foundation, Inc.
Written by Bruno Haible.
This program is free software: you can redistribute it and/or modify
diff --git a/lib/inet_ntop.c b/lib/inet_ntop.c
index 6b5cbe5..c21281b 100644
--- a/lib/inet_ntop.c
+++ b/lib/inet_ntop.c
@@ -1,6 +1,6 @@
/* inet_ntop.c -- convert IPv4 and IPv6 addresses from binary to text form
- Copyright (C) 2005-2006, 2008-2011 Free Software Foundation, Inc.
+ Copyright (C) 2005-2006, 2008-2012 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
@@ -38,6 +38,16 @@
/* Specification. */
#include <arpa/inet.h>
+/* Use this to suppress gcc's "...may be used before initialized" warnings.
+ Beware: The Code argument must not contain commas. */
+#ifndef IF_LINT
+# ifdef lint
+# define IF_LINT(Code) Code
+# else
+# define IF_LINT(Code) /* empty */
+# endif
+#endif
+
#if HAVE_DECL_INET_NTOP
# undef inet_ntop
@@ -74,7 +84,7 @@ static const char *inet_ntop6 (const unsigned char *src, char
*dst, socklen_t si
* inet_ntop(af, src, dst, size)
* convert a network format address to presentation format.
* return:
- * pointer to presentation format address (`dst'), or NULL (see errno).
+ * pointer to presentation format address ('dst'), or NULL (see errno).
* author:
* Paul Vixie, 1996.
*/
@@ -105,7 +115,7 @@ inet_ntop (int af, const void *restrict src,
* inet_ntop4(src, dst, size)
* format an IPv4 address
* return:
- * `dst' (as a const)
+ * 'dst' (as a const)
* notes:
* (1) uses no statics
* (2) takes a u_char* not an in_addr as input
@@ -167,6 +177,8 @@ inet_ntop6 (const unsigned char *src, char *dst, socklen_t
size)
words[i / 2] = (src[i] << 8) | src[i + 1];
best.base = -1;
cur.base = -1;
+ IF_LINT(best.len = 0);
+ IF_LINT(cur.len = 0);
for (i = 0; i < (NS_IN6ADDRSZ / NS_INT16SZ); i++)
{
if (words[i] == 0)
diff --git a/lib/inet_pton.c b/lib/inet_pton.c
index 83ac40d..36e981a 100644
--- a/lib/inet_pton.c
+++ b/lib/inet_pton.c
@@ -1,6 +1,6 @@
/* inet_pton.c -- convert IPv4 and IPv6 addresses from text to binary form
- Copyright (C) 2006, 2008-2011 Free Software Foundation, Inc.
+ Copyright (C) 2006, 2008-2012 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
@@ -73,8 +73,8 @@ static int inet_pton6 (const char *src, unsigned char *dst);
* to network format (which is usually some kind of binary format).
* return:
* 1 if the address was valid for the specified address family
- * 0 if the address wasn't valid (`dst' is untouched in this case)
- * -1 if some other error occurred (`dst' is untouched in this case, too)
+ * 0 if the address wasn't valid ('dst' is untouched in this case)
+ * -1 if some other error occurred ('dst' is untouched in this case, too)
* author:
* Paul Vixie, 1996.
*/
@@ -103,9 +103,9 @@ inet_pton (int af, const char *restrict src, void *restrict
dst)
* like inet_aton() but without all the hexadecimal, octal (with the
* exception of 0) and shorthand.
* return:
- * 1 if `src' is a valid dotted quad, else 0.
+ * 1 if 'src' is a valid dotted quad, else 0.
* notice:
- * does not touch `dst' unless it's returning 1.
+ * does not touch 'dst' unless it's returning 1.
* author:
* Paul Vixie, 1996.
*/
@@ -159,9 +159,9 @@ inet_pton4 (const char *restrict src, unsigned char
*restrict dst)
* inet_pton6(src, dst)
* convert presentation level address to network order binary form.
* return:
- * 1 if `src' is a valid [RFC1884 2.2] address, else 0.
+ * 1 if 'src' is a valid [RFC1884 2.2] address, else 0.
* notice:
- * (1) does not touch `dst' unless it's returning 1.
+ * (1) does not touch 'dst' unless it's returning 1.
* (2) :: in a full address is silently ignored.
* credit:
* inspired by Mark Andrews.
diff --git a/lib/isinf.c b/lib/isinf.c
index 0531c6f..8621bfc 100644
--- a/lib/isinf.c
+++ b/lib/isinf.c
@@ -1,5 +1,5 @@
/* Test for positive or negative infinity.
- Copyright (C) 2007-2011 Free Software Foundation, Inc.
+ Copyright (C) 2007-2012 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
diff --git a/lib/isnan.c b/lib/isnan.c
index b83d093..1faa28a 100644
--- a/lib/isnan.c
+++ b/lib/isnan.c
@@ -1,5 +1,5 @@
/* Test for NaN that does not need libm.
- Copyright (C) 2007-2011 Free Software Foundation, Inc.
+ Copyright (C) 2007-2012 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
diff --git a/lib/isnand-nolibm.h b/lib/isnand-nolibm.h
index e434a7b..e9e64db 100644
--- a/lib/isnand-nolibm.h
+++ b/lib/isnand-nolibm.h
@@ -1,5 +1,5 @@
/* Test for NaN that does not need libm.
- Copyright (C) 2007-2011 Free Software Foundation, Inc.
+ Copyright (C) 2007-2012 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
diff --git a/lib/isnand.c b/lib/isnand.c
index adfac27..308caac 100644
--- a/lib/isnand.c
+++ b/lib/isnand.c
@@ -1,5 +1,5 @@
/* Test for NaN that does not need libm.
- Copyright (C) 2008-2011 Free Software Foundation, Inc.
+ Copyright (C) 2008-2012 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
diff --git a/lib/isnanf.c b/lib/isnanf.c
index 2fd06f8..6376ce0 100644
--- a/lib/isnanf.c
+++ b/lib/isnanf.c
@@ -1,5 +1,5 @@
/* Test for NaN that does not need libm.
- Copyright (C) 2007, 2009-2011 Free Software Foundation, Inc.
+ Copyright (C) 2007, 2009-2012 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
diff --git a/lib/isnanl.c b/lib/isnanl.c
index 2e68d28..cfe2545 100644
--- a/lib/isnanl.c
+++ b/lib/isnanl.c
@@ -1,5 +1,5 @@
/* Test for NaN that does not need libm.
- Copyright (C) 2007, 2009-2011 Free Software Foundation, Inc.
+ Copyright (C) 2007, 2009-2012 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
diff --git a/lib/itold.c b/lib/itold.c
index 460f208..0c41e2d 100644
--- a/lib/itold.c
+++ b/lib/itold.c
@@ -1,5 +1,5 @@
/* Replacement for 'int' to 'long double' conversion routine.
- Copyright (C) 2011 Free Software Foundation, Inc.
+ Copyright (C) 2011-2012 Free Software Foundation, Inc.
Written by Bruno Haible <address@hidden>, 2011.
This program is free software: you can redistribute it and/or modify
diff --git a/lib/listen.c b/lib/listen.c
index 5e836de..28f3aaf 100644
--- a/lib/listen.c
+++ b/lib/listen.c
@@ -1,6 +1,6 @@
/* listen.c --- wrappers for Windows listen function
- Copyright (C) 2008-2011 Free Software Foundation, Inc.
+ Copyright (C) 2008-2012 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
diff --git a/lib/localcharset.c b/lib/localcharset.c
index e301642..47a6e5d 100644
--- a/lib/localcharset.c
+++ b/lib/localcharset.c
@@ -1,6 +1,6 @@
/* Determine a canonical name for the current locale's character encoding.
- Copyright (C) 2000-2006, 2008-2011 Free Software Foundation, Inc.
+ Copyright (C) 2000-2006, 2008-2012 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
@@ -34,7 +34,7 @@
#endif
#if defined _WIN32 || defined __WIN32__
-# define WIN32_NATIVE
+# define WINDOWS_NATIVE
#endif
#if defined __EMX__
@@ -44,7 +44,7 @@
# endif
#endif
-#if !defined WIN32_NATIVE
+#if !defined WINDOWS_NATIVE
# include <unistd.h>
# if HAVE_LANGINFO_CODESET
# include <langinfo.h>
@@ -57,7 +57,7 @@
# define WIN32_LEAN_AND_MEAN
# include <windows.h>
# endif
-#elif defined WIN32_NATIVE
+#elif defined WINDOWS_NATIVE
# define WIN32_LEAN_AND_MEAN
# include <windows.h>
#endif
@@ -83,7 +83,7 @@
#endif
#if defined _WIN32 || defined __WIN32__ || defined __CYGWIN__ || defined
__EMX__ || defined __DJGPP__
- /* Win32, Cygwin, OS/2, DOS */
+ /* Native Windows, Cygwin, OS/2, DOS */
# define ISSLASH(C) ((C) == '/' || (C) == '\\')
#endif
@@ -123,7 +123,7 @@ get_charset_aliases (void)
cp = charset_aliases;
if (cp == NULL)
{
-#if !(defined DARWIN7 || defined VMS || defined WIN32_NATIVE || defined
__CYGWIN__)
+#if !(defined DARWIN7 || defined VMS || defined WINDOWS_NATIVE || defined
__CYGWIN__)
const char *dir;
const char *base = "charset.alias";
char *file_name;
@@ -308,7 +308,7 @@ get_charset_aliases (void)
"DECKOREAN" "\0" "EUC-KR" "\0";
# endif
-# if defined WIN32_NATIVE || defined __CYGWIN__
+# if defined WINDOWS_NATIVE || defined __CYGWIN__
/* To avoid the troubles of installing a separate file in the same
directory as the DLL and of retrieving the DLL's directory at
runtime, simply inline the aliases here. */
@@ -360,7 +360,7 @@ locale_charset (void)
const char *codeset;
const char *aliases;
-#if !(defined WIN32_NATIVE || defined OS2)
+#if !(defined WINDOWS_NATIVE || defined OS2)
# if HAVE_LANGINFO_CODESET
@@ -407,10 +407,10 @@ locale_charset (void)
}
}
- /* Woe32 has a function returning the locale's codepage as a number:
- GetACP(). This encoding is used by Cygwin, unless the user has set
- the environment variable CYGWIN=codepage:oem (which very few people
- do).
+ /* The Windows API has a function returning the locale's codepage as a
+ number: GetACP(). This encoding is used by Cygwin, unless the user
+ has set the environment variable CYGWIN=codepage:oem (which very few
+ people do).
Output directed to console windows needs to be converted (to
GetOEMCP() if the console is using a raster font, or to
GetConsoleOutputCP() if it is using a TrueType font). Cygwin does
@@ -453,12 +453,12 @@ locale_charset (void)
# endif
-#elif defined WIN32_NATIVE
+#elif defined WINDOWS_NATIVE
static char buf[2 + 10 + 1];
- /* Woe32 has a function returning the locale's codepage as a number:
- GetACP().
+ /* The Windows API has a function returning the locale's codepage as a
+ number: GetACP().
When the output goes to a console window, it needs to be provided in
GetOEMCP() encoding if the console is using a raster font, or in
GetConsoleOutputCP() encoding if it is using a TrueType font.
diff --git a/lib/localcharset.h b/lib/localcharset.h
index a80c8cb..e7543fe 100644
--- a/lib/localcharset.h
+++ b/lib/localcharset.h
@@ -1,5 +1,5 @@
/* Determine a canonical name for the current locale's character encoding.
- Copyright (C) 2000-2003, 2009-2011 Free Software Foundation, Inc.
+ Copyright (C) 2000-2003, 2009-2012 Free Software Foundation, Inc.
This file is part of the GNU CHARSET Library.
This program is free software; you can redistribute it and/or modify
diff --git a/lib/locale.in.h b/lib/locale.in.h
index da722ab..9d25ae3 100644
--- a/lib/locale.in.h
+++ b/lib/locale.in.h
@@ -1,5 +1,5 @@
/* A POSIX <locale.h>.
- Copyright (C) 2007-2011 Free Software Foundation, Inc.
+ Copyright (C) 2007-2012 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
diff --git a/lib/lstat.c b/lib/lstat.c
index eb57d39..fe20e61 100644
--- a/lib/lstat.c
+++ b/lib/lstat.c
@@ -1,6 +1,6 @@
/* Work around a bug of lstat on some systems
- Copyright (C) 1997-2006, 2008-2011 Free Software Foundation, Inc.
+ Copyright (C) 1997-2006, 2008-2012 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
@@ -51,11 +51,11 @@ orig_lstat (const char *filename, struct stat *buf)
# include <errno.h>
/* lstat works differently on Linux and Solaris systems. POSIX (see
- `pathname resolution' in the glossary) requires that programs like
- `ls' take into consideration the fact that FILE has a trailing slash
+ "pathname resolution" in the glossary) requires that programs like
+ 'ls' take into consideration the fact that FILE has a trailing slash
when FILE is a symbolic link. On Linux and Solaris 10 systems, the
lstat function already has the desired semantics (in treating
- `lstat ("symlink/", sbuf)' just like `lstat ("symlink/.", sbuf)',
+ 'lstat ("symlink/", sbuf)' just like 'lstat ("symlink/.", sbuf)',
but on Solaris 9 and earlier it does not.
If FILE has a trailing slash and specifies a symbolic link,
diff --git a/lib/malloc.c b/lib/malloc.c
index b06ef3f..7a6f3d1 100644
--- a/lib/malloc.c
+++ b/lib/malloc.c
@@ -1,6 +1,6 @@
/* malloc() function that is glibc compatible.
- Copyright (C) 1997-1998, 2006-2007, 2009-2011 Free Software Foundation, Inc.
+ Copyright (C) 1997-1998, 2006-2007, 2009-2012 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
diff --git a/lib/malloca.c b/lib/malloca.c
index 7bb1fbe..eca5598 100644
--- a/lib/malloca.c
+++ b/lib/malloca.c
@@ -1,5 +1,5 @@
/* Safe automatic memory allocation.
- Copyright (C) 2003, 2006-2007, 2009-2011 Free Software Foundation, Inc.
+ Copyright (C) 2003, 2006-2007, 2009-2012 Free Software Foundation, Inc.
Written by Bruno Haible <address@hidden>, 2003.
This program is free software; you can redistribute it and/or modify
diff --git a/lib/malloca.h b/lib/malloca.h
index 15e37aa..cb39cea 100644
--- a/lib/malloca.h
+++ b/lib/malloca.h
@@ -1,5 +1,5 @@
/* Safe automatic memory allocation.
- Copyright (C) 2003-2007, 2009-2011 Free Software Foundation, Inc.
+ Copyright (C) 2003-2007, 2009-2012 Free Software Foundation, Inc.
Written by Bruno Haible <address@hidden>, 2003.
This program is free software; you can redistribute it and/or modify
diff --git a/lib/math.in.h b/lib/math.in.h
index 1703a12..9d62603 100644
--- a/lib/math.in.h
+++ b/lib/math.in.h
@@ -1,6 +1,6 @@
/* A GNU-like <math.h>.
- Copyright (C) 2002-2003, 2007-2011 Free Software Foundation, Inc.
+ Copyright (C) 2002-2003, 2007-2012 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
diff --git a/lib/memchr.c b/lib/memchr.c
index 16546e4..7b6e258 100644
--- a/lib/memchr.c
+++ b/lib/memchr.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1993, 1996-1997, 1999-2000, 2003-2004, 2006, 2008-2011
+/* Copyright (C) 1991, 1993, 1996-1997, 1999-2000, 2003-2004, 2006, 2008-2012
Free Software Foundation, Inc.
Based on strlen implementation by Torbjorn Granlund (address@hidden),
diff --git a/lib/msvc-inval.c b/lib/msvc-inval.c
index 8c6ae3c..4efa611 100644
--- a/lib/msvc-inval.c
+++ b/lib/msvc-inval.c
@@ -1,5 +1,5 @@
/* Invalid parameter handler for MSVC runtime libraries.
- Copyright (C) 2011 Free Software Foundation, Inc.
+ Copyright (C) 2011-2012 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
@@ -40,7 +40,7 @@ gl_msvc_invalid_parameter_handler (const wchar_t *expression,
# else
-/* Get declarations of the Win32 API functions. */
+/* Get declarations of the native Windows API functions. */
# define WIN32_LEAN_AND_MEAN
# include <windows.h>
diff --git a/lib/msvc-inval.h b/lib/msvc-inval.h
index fc579c9..bb78aac 100644
--- a/lib/msvc-inval.h
+++ b/lib/msvc-inval.h
@@ -1,5 +1,5 @@
/* Invalid parameter handler for MSVC runtime libraries.
- Copyright (C) 2011 Free Software Foundation, Inc.
+ Copyright (C) 2011-2012 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
@@ -207,7 +207,7 @@ extern struct gl_msvc_inval_per_thread
*gl_msvc_inval_current (void);
or when SANE_LIBRARY_HANDLING is desired. */
/* The braces here avoid GCC warnings like
- "warning: suggest explicit braces to avoid ambiguous `else'". */
+ "warning: suggest explicit braces to avoid ambiguous 'else'". */
# define TRY_MSVC_INVAL \
do
\
{
\
diff --git a/lib/msvc-nothrow.c b/lib/msvc-nothrow.c
index c55bd2e..7198311 100644
--- a/lib/msvc-nothrow.c
+++ b/lib/msvc-nothrow.c
@@ -1,6 +1,6 @@
/* Wrappers that don't throw invalid parameter notifications
with MSVC runtime libraries.
- Copyright (C) 2011 Free Software Foundation, Inc.
+ Copyright (C) 2011-2012 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
@@ -21,7 +21,7 @@
/* Specification. */
#include "msvc-nothrow.h"
-/* Get declarations of the Win32 API functions. */
+/* Get declarations of the native Windows API functions. */
#define WIN32_LEAN_AND_MEAN
#include <windows.h>
diff --git a/lib/msvc-nothrow.h b/lib/msvc-nothrow.h
index b603906..beb3ac9 100644
--- a/lib/msvc-nothrow.h
+++ b/lib/msvc-nothrow.h
@@ -1,6 +1,6 @@
/* Wrappers that don't throw invalid parameter notifications
with MSVC runtime libraries.
- Copyright (C) 2011 Free Software Foundation, Inc.
+ Copyright (C) 2011-2012 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
diff --git a/lib/netdb.in.h b/lib/netdb.in.h
index 3077b9f..cdf356a 100644
--- a/lib/netdb.in.h
+++ b/lib/netdb.in.h
@@ -1,5 +1,5 @@
/* Provide a netdb.h header file for systems lacking it (read: MinGW).
- Copyright (C) 2008-2011 Free Software Foundation, Inc.
+ Copyright (C) 2008-2012 Free Software Foundation, Inc.
Written by Simon Josefsson.
This program is free software; you can redistribute it and/or modify
@@ -80,9 +80,9 @@ struct addrinfo
# endif
-/* Possible values for `ai_flags' field in `addrinfo' structure. */
+/* Possible values for 'ai_flags' field in 'addrinfo' structure. */
# ifndef AI_PASSIVE
-# define AI_PASSIVE 0x0001 /* Socket address is intended for `bind'. */
+# define AI_PASSIVE 0x0001 /* Socket address is intended for 'bind'. */
# endif
# ifndef AI_CANONNAME
# define AI_CANONNAME 0x0002 /* Request for canonical name. */
@@ -111,16 +111,16 @@ struct addrinfo
returned address type. */
# endif
-/* Error values for `getaddrinfo' function. */
+/* Error values for 'getaddrinfo' function. */
# ifndef EAI_BADFLAGS
-# define EAI_BADFLAGS -1 /* Invalid value for `ai_flags' field. */
+# define EAI_BADFLAGS -1 /* Invalid value for 'ai_flags' field. */
# define EAI_NONAME -2 /* NAME or SERVICE is unknown. */
# define EAI_AGAIN -3 /* Temporary failure in name resolution. */
# define EAI_FAIL -4 /* Non-recoverable failure in name res. */
# define EAI_NODATA -5 /* No address associated with NAME. */
-# define EAI_FAMILY -6 /* `ai_family' not supported. */
-# define EAI_SOCKTYPE -7 /* `ai_socktype' not supported. */
-# define EAI_SERVICE -8 /* SERVICE not supported for `ai_socktype'. */
+# define EAI_FAMILY -6 /* 'ai_family' not supported. */
+# define EAI_SOCKTYPE -7 /* 'ai_socktype' not supported. */
+# define EAI_SERVICE -8 /* SERVICE not supported for 'ai_socktype'. */
# define EAI_MEMORY -10 /* Memory allocation failure. */
# endif
@@ -141,7 +141,7 @@ struct addrinfo
# endif
# ifndef EAI_SYSTEM
/* Not defined on mingw32. */
-# define EAI_SYSTEM -11 /* System error returned in `errno'. */
+# define EAI_SYSTEM -11 /* System error returned in 'errno'. */
# endif
# if 0
@@ -179,7 +179,7 @@ _GL_CXXALIAS_SYS (getaddrinfo, int,
_GL_CXXALIASWARN (getaddrinfo);
# if address@hidden@
-/* Free `addrinfo' structure AI including associated storage.
+/* Free 'addrinfo' structure AI including associated storage.
For more details, see the POSIX:2001 specification
<http://www.opengroup.org/susv3xsh/getaddrinfo.html>. */
_GL_FUNCDECL_SYS (freeaddrinfo, void, (struct addrinfo *ai)
diff --git a/lib/netinet_in.in.h b/lib/netinet_in.in.h
index 97df933..8bf37a6 100644
--- a/lib/netinet_in.in.h
+++ b/lib/netinet_in.in.h
@@ -1,5 +1,5 @@
/* Substitute for <netinet/in.h>.
- Copyright (C) 2007-2011 Free Software Foundation, Inc.
+ Copyright (C) 2007-2012 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
diff --git a/lib/nproc.c b/lib/nproc.c
index a1e13e2..6932ac9 100644
--- a/lib/nproc.c
+++ b/lib/nproc.c
@@ -1,6 +1,6 @@
/* Detect the number of processors.
- Copyright (C) 2009-2011 Free Software Foundation, Inc.
+ Copyright (C) 2009-2012 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
diff --git a/lib/nproc.h b/lib/nproc.h
index 8dbb02f..ac2ddd5 100644
--- a/lib/nproc.h
+++ b/lib/nproc.h
@@ -1,6 +1,6 @@
/* Detect the number of processors.
- Copyright (C) 2009-2011 Free Software Foundation, Inc.
+ Copyright (C) 2009-2012 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
diff --git a/lib/open.c b/lib/open.c
index d24f42c..3a74813 100644
--- a/lib/open.c
+++ b/lib/open.c
@@ -1,5 +1,5 @@
/* Open a descriptor to a file.
- Copyright (C) 2007-2011 Free Software Foundation, Inc.
+ Copyright (C) 2007-2012 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
diff --git a/lib/pathmax.h b/lib/pathmax.h
index 4de9c34..4d643a7 100644
--- a/lib/pathmax.h
+++ b/lib/pathmax.h
@@ -1,5 +1,5 @@
/* Define PATH_MAX somehow. Requires sys/types.h.
- Copyright (C) 1992, 1999, 2001, 2003, 2005, 2009-2011 Free Software
+ Copyright (C) 1992, 1999, 2001, 2003, 2005, 2009-2012 Free Software
Foundation, Inc.
This program is free software; you can redistribute it and/or modify
diff --git a/lib/pipe2.c b/lib/pipe2.c
index edcb81f..12a5a8a 100644
--- a/lib/pipe2.c
+++ b/lib/pipe2.c
@@ -1,5 +1,5 @@
/* Create a pipe, with specific opening flags.
- Copyright (C) 2009-2011 Free Software Foundation, Inc.
+ Copyright (C) 2009-2012 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
@@ -31,7 +31,7 @@
#endif
#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
-/* Native Woe32 API. */
+/* Native Windows API. */
# include <io.h>
@@ -75,7 +75,7 @@ pipe2 (int fd[2], int flags)
}
#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
-/* Native Woe32 API. */
+/* Native Windows API. */
if (_pipe (fd, 4096, flags & ~O_NONBLOCK) < 0)
{
diff --git a/lib/printf-args.c b/lib/printf-args.c
index 68e52fd..bddbf6d 100644
--- a/lib/printf-args.c
+++ b/lib/printf-args.c
@@ -1,5 +1,5 @@
/* Decomposed printf argument list.
- Copyright (C) 1999, 2002-2003, 2005-2007, 2009-2011 Free Software
+ Copyright (C) 1999, 2002-2003, 2005-2007, 2009-2012 Free Software
Foundation, Inc.
This program is free software; you can redistribute it and/or modify
diff --git a/lib/printf-args.h b/lib/printf-args.h
index 998e95d..0fdfaa5 100644
--- a/lib/printf-args.h
+++ b/lib/printf-args.h
@@ -1,5 +1,5 @@
/* Decomposed printf argument list.
- Copyright (C) 1999, 2002-2003, 2006-2007, 2011 Free Software
+ Copyright (C) 1999, 2002-2003, 2006-2007, 2011-2012 Free Software
Foundation, Inc.
This program is free software; you can redistribute it and/or modify
diff --git a/lib/printf-parse.c b/lib/printf-parse.c
index 0143861..6aded7c 100644
--- a/lib/printf-parse.c
+++ b/lib/printf-parse.c
@@ -1,5 +1,5 @@
/* Formatted output to strings.
- Copyright (C) 1999-2000, 2002-2003, 2006-2011 Free Software Foundation, Inc.
+ Copyright (C) 1999-2000, 2002-2003, 2006-2012 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
@@ -421,7 +421,7 @@ PRINTF_PARSE (const CHAR_T *format, DIRECTIVES *d,
arguments *a)
}
#endif
#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
- /* On native Win32, PRIdMAX is defined as "I64d".
+ /* On native Windows, PRIdMAX is defined as "I64d".
We cannot change it to "lld" because PRIdMAX must also
be understood by the system's printf routines. */
else if (*cp == 'I' && cp[1] == '6' && cp[2] == '4')
diff --git a/lib/printf-parse.h b/lib/printf-parse.h
index 281f0d9..c6a083c 100644
--- a/lib/printf-parse.h
+++ b/lib/printf-parse.h
@@ -1,5 +1,5 @@
/* Parse printf format string.
- Copyright (C) 1999, 2002-2003, 2005, 2007, 2010-2011 Free Software
+ Copyright (C) 1999, 2002-2003, 2005, 2007, 2010-2012 Free Software
Foundation, Inc.
This program is free software; you can redistribute it and/or modify
diff --git a/lib/putenv.c b/lib/putenv.c
index bf17744..eb3fae3 100644
--- a/lib/putenv.c
+++ b/lib/putenv.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1994, 1997-1998, 2000, 2003-2011 Free Software
+/* Copyright (C) 1991, 1994, 1997-1998, 2000, 2003-2012 Free Software
Foundation, Inc.
NOTE: The canonical source of this file is maintained with the GNU C
@@ -43,7 +43,7 @@ extern char **environ;
#endif
#if _LIBC
-/* This lock protects against simultaneous modifications of `environ'. */
+/* This lock protects against simultaneous modifications of 'environ'. */
# include <bits/libc-lock.h>
__libc_lock_define_initialized (static, envlock)
# define LOCK __libc_lock_lock (envlock)
@@ -91,7 +91,7 @@ _unsetenv (const char *name)
/* Put STRING, which is of the form "NAME=VALUE", in the environment.
- If STRING contains no `=', then remove STRING from the environment. */
+ If STRING contains no '=', then remove STRING from the environment. */
int
putenv (char *string)
{
diff --git a/lib/raise.c b/lib/raise.c
index d284b5f..0c3acbb 100644
--- a/lib/raise.c
+++ b/lib/raise.c
@@ -1,6 +1,6 @@
/* Provide a non-threads replacement for the POSIX raise function.
- Copyright (C) 2002-2003, 2005-2006, 2009-2011 Free Software Foundation, Inc.
+ Copyright (C) 2002-2003, 2005-2006, 2009-2012 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
diff --git a/lib/read.c b/lib/read.c
index a0b2637..9018bb5 100644
--- a/lib/read.c
+++ b/lib/read.c
@@ -1,5 +1,5 @@
/* POSIX compatible read() function.
- Copyright (C) 2008-2011 Free Software Foundation, Inc.
+ Copyright (C) 2008-2012 Free Software Foundation, Inc.
Written by Bruno Haible <address@hidden>, 2011.
This program is free software: you can redistribute it and/or modify
diff --git a/lib/readlink.c b/lib/readlink.c
index 8a6cbc6..c75d794 100644
--- a/lib/readlink.c
+++ b/lib/readlink.c
@@ -1,5 +1,5 @@
/* Stub for readlink().
- Copyright (C) 2003-2007, 2009-2011 Free Software Foundation, Inc.
+ Copyright (C) 2003-2007, 2009-2012 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
diff --git a/lib/recv.c b/lib/recv.c
index cd8b36d..7a5946a 100644
--- a/lib/recv.c
+++ b/lib/recv.c
@@ -1,6 +1,6 @@
/* recv.c --- wrappers for Windows recv function
- Copyright (C) 2008-2011 Free Software Foundation, Inc.
+ Copyright (C) 2008-2012 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
diff --git a/lib/recvfrom.c b/lib/recvfrom.c
index 60c2ec1..bfd97ac 100644
--- a/lib/recvfrom.c
+++ b/lib/recvfrom.c
@@ -1,6 +1,6 @@
/* recvfrom.c --- wrappers for Windows recvfrom function
- Copyright (C) 2008-2011 Free Software Foundation, Inc.
+ Copyright (C) 2008-2012 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
diff --git a/lib/ref-add.sin b/lib/ref-add.sin
index 7a14c4d..2aa7826 100644
--- a/lib/ref-add.sin
+++ b/lib/ref-add.sin
@@ -1,6 +1,6 @@
# Add this package to a list of references stored in a text file.
#
-# Copyright (C) 2000, 2009-2011 Free Software Foundation, Inc.
+# Copyright (C) 2000, 2009-2012 Free Software Foundation, Inc.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License as published by
diff --git a/lib/ref-del.sin b/lib/ref-del.sin
index 8c8d764..a2ad6ad 100644
--- a/lib/ref-del.sin
+++ b/lib/ref-del.sin
@@ -1,6 +1,6 @@
# Remove this package from a list of references stored in a text file.
#
-# Copyright (C) 2000, 2009-2011 Free Software Foundation, Inc.
+# Copyright (C) 2000, 2009-2012 Free Software Foundation, Inc.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License as published by
diff --git a/lib/rename.c b/lib/rename.c
index ebbbfea..547a6a2 100644
--- a/lib/rename.c
+++ b/lib/rename.c
@@ -1,6 +1,6 @@
/* Work around rename bugs in some systems.
- Copyright (C) 2001-2003, 2005-2006, 2009-2011 Free Software Foundation, Inc.
+ Copyright (C) 2001-2003, 2005-2006, 2009-2012 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
diff --git a/lib/rmdir.c b/lib/rmdir.c
index 98104bf..0b53626 100644
--- a/lib/rmdir.c
+++ b/lib/rmdir.c
@@ -1,6 +1,6 @@
/* Work around rmdir bugs.
- Copyright (C) 1988, 1990, 1999, 2003-2006, 2009-2011 Free Software
+ Copyright (C) 1988, 1990, 1999, 2003-2006, 2009-2012 Free Software
Foundation, Inc.
This program is free software: you can redistribute it and/or modify
diff --git a/lib/safe-read.c b/lib/safe-read.c
index a7cef32..d2d85c7 100644
--- a/lib/safe-read.c
+++ b/lib/safe-read.c
@@ -1,6 +1,6 @@
/* An interface to read and write that retries after interrupts.
- Copyright (C) 1993-1994, 1998, 2002-2006, 2009-2011 Free Software
+ Copyright (C) 1993-1994, 1998, 2002-2006, 2009-2012 Free Software
Foundation, Inc.
This program is free software: you can redistribute it and/or modify
diff --git a/lib/safe-read.h b/lib/safe-read.h
index e878bca..fccc200 100644
--- a/lib/safe-read.h
+++ b/lib/safe-read.h
@@ -1,5 +1,5 @@
/* An interface to read() that retries after interrupts.
- Copyright (C) 2002, 2006, 2009-2011 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006, 2009-2012 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
diff --git a/lib/safe-write.c b/lib/safe-write.c
index dce3277..cd42722 100644
--- a/lib/safe-write.c
+++ b/lib/safe-write.c
@@ -1,5 +1,5 @@
/* An interface to write that retries after interrupts.
- Copyright (C) 2002, 2009-2011 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2009-2012 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
diff --git a/lib/safe-write.h b/lib/safe-write.h
index 42e5981..84bc36d 100644
--- a/lib/safe-write.h
+++ b/lib/safe-write.h
@@ -1,5 +1,5 @@
/* An interface to write() that retries after interrupts.
- Copyright (C) 2002, 2009-2011 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2009-2012 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
diff --git a/lib/same-inode.h b/lib/same-inode.h
index e89cb53..7ce286d 100644
--- a/lib/same-inode.h
+++ b/lib/same-inode.h
@@ -1,6 +1,6 @@
/* Determine whether two stat buffers refer to the same file.
- Copyright (C) 2006, 2009-2011 Free Software Foundation, Inc.
+ Copyright (C) 2006, 2009-2012 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
@@ -18,8 +18,16 @@
#ifndef SAME_INODE_H
# define SAME_INODE_H 1
-# define SAME_INODE(Stat_buf_1, Stat_buf_2) \
- ((Stat_buf_1).st_ino == (Stat_buf_2).st_ino \
- && (Stat_buf_1).st_dev == (Stat_buf_2).st_dev)
+# ifdef __VMS
+# define SAME_INODE(a, b) \
+ ((a).st_ino[0] == (b).st_ino[0] \
+ && (a).st_ino[1] == (b).st_ino[1] \
+ && (a).st_ino[2] == (b).st_ino[2] \
+ && (a).st_dev == (b).st_dev)
+# else
+# define SAME_INODE(a, b) \
+ ((a).st_ino == (b).st_ino \
+ && (a).st_dev == (b).st_dev)
+# endif
#endif
diff --git a/lib/send.c b/lib/send.c
index db082a6..64d0e8d 100644
--- a/lib/send.c
+++ b/lib/send.c
@@ -1,6 +1,6 @@
/* send.c --- wrappers for Windows send function
- Copyright (C) 2008-2011 Free Software Foundation, Inc.
+ Copyright (C) 2008-2012 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
diff --git a/lib/sendto.c b/lib/sendto.c
index b709299..7a8e994 100644
--- a/lib/sendto.c
+++ b/lib/sendto.c
@@ -1,6 +1,6 @@
/* sendto.c --- wrappers for Windows sendto function
- Copyright (C) 2008-2011 Free Software Foundation, Inc.
+ Copyright (C) 2008-2012 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
diff --git a/lib/setenv.c b/lib/setenv.c
new file mode 100644
index 0000000..75f423f
--- /dev/null
+++ b/lib/setenv.c
@@ -0,0 +1,390 @@
+/* Copyright (C) 1992, 1995-2003, 2005-2012 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU Lesser General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+#if !_LIBC
+# define _GL_USE_STDLIB_ALLOC 1
+# include <config.h>
+#endif
+
+/* Don't use __attribute__ __nonnull__ in this compilation unit. Otherwise gcc
+ optimizes away the name == NULL test below. */
+#define _GL_ARG_NONNULL(params)
+
+#include <alloca.h>
+
+/* Specification. */
+#include <stdlib.h>
+
+#include <errno.h>
+#ifndef __set_errno
+# define __set_errno(ev) ((errno) = (ev))
+#endif
+
+#include <string.h>
+#if _LIBC || HAVE_UNISTD_H
+# include <unistd.h>
+#endif
+
+#if !_LIBC
+# include "malloca.h"
+#endif
+
+#if _LIBC || !HAVE_SETENV
+
+#if !_LIBC
+# define __environ environ
+#endif
+
+#if _LIBC
+/* This lock protects against simultaneous modifications of 'environ'. */
+# include <bits/libc-lock.h>
+__libc_lock_define_initialized (static, envlock)
+# define LOCK __libc_lock_lock (envlock)
+# define UNLOCK __libc_lock_unlock (envlock)
+#else
+# define LOCK
+# define UNLOCK
+#endif
+
+/* In the GNU C library we must keep the namespace clean. */
+#ifdef _LIBC
+# define setenv __setenv
+# define clearenv __clearenv
+# define tfind __tfind
+# define tsearch __tsearch
+#endif
+
+/* In the GNU C library implementation we try to be more clever and
+ allow arbitrarily many changes of the environment given that the used
+ values are from a small set. Outside glibc this will eat up all
+ memory after a while. */
+#if defined _LIBC || (defined HAVE_SEARCH_H && defined HAVE_TSEARCH \
+ && defined __GNUC__)
+# define USE_TSEARCH 1
+# include <search.h>
+typedef int (*compar_fn_t) (const void *, const void *);
+
+/* This is a pointer to the root of the search tree with the known
+ values. */
+static void *known_values;
+
+# define KNOWN_VALUE(Str) \
+ ({ \
+ void *value = tfind (Str, &known_values, (compar_fn_t) strcmp); \
+ value != NULL ? *(char **) value : NULL; \
+ })
+# define STORE_VALUE(Str) \
+ tsearch (Str, &known_values, (compar_fn_t) strcmp)
+
+#else
+# undef USE_TSEARCH
+
+# define KNOWN_VALUE(Str) NULL
+# define STORE_VALUE(Str) do { } while (0)
+
+#endif
+
+
+/* If this variable is not a null pointer we allocated the current
+ environment. */
+static char **last_environ;
+
+
+/* This function is used by 'setenv' and 'putenv'. The difference between
+ the two functions is that for the former must create a new string which
+ is then placed in the environment, while the argument of 'putenv'
+ must be used directly. This is all complicated by the fact that we try
+ to reuse values once generated for a 'setenv' call since we can never
+ free the strings. */
+int
+__add_to_environ (const char *name, const char *value, const char *combined,
+ int replace)
+{
+ char **ep;
+ size_t size;
+ const size_t namelen = strlen (name);
+ const size_t vallen = value != NULL ? strlen (value) + 1 : 0;
+
+ LOCK;
+
+ /* We have to get the pointer now that we have the lock and not earlier
+ since another thread might have created a new environment. */
+ ep = __environ;
+
+ size = 0;
+ if (ep != NULL)
+ {
+ for (; *ep != NULL; ++ep)
+ if (!strncmp (*ep, name, namelen) && (*ep)[namelen] == '=')
+ break;
+ else
+ ++size;
+ }
+
+ if (ep == NULL || *ep == NULL)
+ {
+ char **new_environ;
+#ifdef USE_TSEARCH
+ char *new_value;
+#endif
+
+ /* We allocated this space; we can extend it. */
+ new_environ =
+ (char **) (last_environ == NULL
+ ? malloc ((size + 2) * sizeof (char *))
+ : realloc (last_environ, (size + 2) * sizeof (char *)));
+ if (new_environ == NULL)
+ {
+ /* It's easier to set errno to ENOMEM than to rely on the
+ 'malloc-posix' and 'realloc-posix' gnulib modules. */
+ __set_errno (ENOMEM);
+ UNLOCK;
+ return -1;
+ }
+
+ /* If the whole entry is given add it. */
+ if (combined != NULL)
+ /* We must not add the string to the search tree since it belongs
+ to the user. */
+ new_environ[size] = (char *) combined;
+ else
+ {
+ /* See whether the value is already known. */
+#ifdef USE_TSEARCH
+# ifdef _LIBC
+ new_value = (char *) alloca (namelen + 1 + vallen);
+ __mempcpy (__mempcpy (__mempcpy (new_value, name, namelen), "=", 1),
+ value, vallen);
+# else
+ new_value = (char *) malloca (namelen + 1 + vallen);
+ if (new_value == NULL)
+ {
+ __set_errno (ENOMEM);
+ UNLOCK;
+ return -1;
+ }
+ memcpy (new_value, name, namelen);
+ new_value[namelen] = '=';
+ memcpy (&new_value[namelen + 1], value, vallen);
+# endif
+
+ new_environ[size] = KNOWN_VALUE (new_value);
+ if (new_environ[size] == NULL)
+#endif
+ {
+ new_environ[size] = (char *) malloc (namelen + 1 + vallen);
+ if (new_environ[size] == NULL)
+ {
+#if defined USE_TSEARCH && !defined _LIBC
+ freea (new_value);
+#endif
+ __set_errno (ENOMEM);
+ UNLOCK;
+ return -1;
+ }
+
+#ifdef USE_TSEARCH
+ memcpy (new_environ[size], new_value, namelen + 1 + vallen);
+#else
+ memcpy (new_environ[size], name, namelen);
+ new_environ[size][namelen] = '=';
+ memcpy (&new_environ[size][namelen + 1], value, vallen);
+#endif
+ /* And save the value now. We cannot do this when we remove
+ the string since then we cannot decide whether it is a
+ user string or not. */
+ STORE_VALUE (new_environ[size]);
+ }
+#if defined USE_TSEARCH && !defined _LIBC
+ freea (new_value);
+#endif
+ }
+
+ if (__environ != last_environ)
+ memcpy ((char *) new_environ, (char *) __environ,
+ size * sizeof (char *));
+
+ new_environ[size + 1] = NULL;
+
+ last_environ = __environ = new_environ;
+ }
+ else if (replace)
+ {
+ char *np;
+
+ /* Use the user string if given. */
+ if (combined != NULL)
+ np = (char *) combined;
+ else
+ {
+#ifdef USE_TSEARCH
+ char *new_value;
+# ifdef _LIBC
+ new_value = alloca (namelen + 1 + vallen);
+ __mempcpy (__mempcpy (__mempcpy (new_value, name, namelen), "=", 1),
+ value, vallen);
+# else
+ new_value = malloca (namelen + 1 + vallen);
+ if (new_value == NULL)
+ {
+ __set_errno (ENOMEM);
+ UNLOCK;
+ return -1;
+ }
+ memcpy (new_value, name, namelen);
+ new_value[namelen] = '=';
+ memcpy (&new_value[namelen + 1], value, vallen);
+# endif
+
+ np = KNOWN_VALUE (new_value);
+ if (np == NULL)
+#endif
+ {
+ np = (char *) malloc (namelen + 1 + vallen);
+ if (np == NULL)
+ {
+#if defined USE_TSEARCH && !defined _LIBC
+ freea (new_value);
+#endif
+ __set_errno (ENOMEM);
+ UNLOCK;
+ return -1;
+ }
+
+#ifdef USE_TSEARCH
+ memcpy (np, new_value, namelen + 1 + vallen);
+#else
+ memcpy (np, name, namelen);
+ np[namelen] = '=';
+ memcpy (&np[namelen + 1], value, vallen);
+#endif
+ /* And remember the value. */
+ STORE_VALUE (np);
+ }
+#if defined USE_TSEARCH && !defined _LIBC
+ freea (new_value);
+#endif
+ }
+
+ *ep = np;
+ }
+
+ UNLOCK;
+
+ return 0;
+}
+
+int
+setenv (const char *name, const char *value, int replace)
+{
+ if (name == NULL || *name == '\0' || strchr (name, '=') != NULL)
+ {
+ __set_errno (EINVAL);
+ return -1;
+ }
+
+ return __add_to_environ (name, value, NULL, replace);
+}
+
+/* The 'clearenv' was planned to be added to POSIX.1 but probably
+ never made it. Nevertheless the POSIX.9 standard (POSIX bindings
+ for Fortran 77) requires this function. */
+int
+clearenv (void)
+{
+ LOCK;
+
+ if (__environ == last_environ && __environ != NULL)
+ {
+ /* We allocated this environment so we can free it. */
+ free (__environ);
+ last_environ = NULL;
+ }
+
+ /* Clear the environment pointer removes the whole environment. */
+ __environ = NULL;
+
+ UNLOCK;
+
+ return 0;
+}
+
+#ifdef _LIBC
+static void
+free_mem (void)
+{
+ /* Remove all traces. */
+ clearenv ();
+
+ /* Now remove the search tree. */
+ __tdestroy (known_values, free);
+ known_values = NULL;
+}
+text_set_element (__libc_subfreeres, free_mem);
+
+
+# undef setenv
+# undef clearenv
+weak_alias (__setenv, setenv)
+weak_alias (__clearenv, clearenv)
+#endif
+
+#endif /* _LIBC || !HAVE_SETENV */
+
+/* The rest of this file is called into use when replacing an existing
+ but buggy setenv. Known bugs include failure to diagnose invalid
+ name, and consuming a leading '=' from value. */
+#if HAVE_SETENV
+
+# undef setenv
+# if !HAVE_DECL_SETENV
+extern int setenv (const char *, const char *, int);
+# endif
+# define STREQ(a, b) (strcmp (a, b) == 0)
+
+int
+rpl_setenv (const char *name, const char *value, int replace)
+{
+ int result;
+ if (!name || !*name || strchr (name, '='))
+ {
+ errno = EINVAL;
+ return -1;
+ }
+ /* Call the real setenv even if replace is 0, in case implementation
+ has underlying data to update, such as when environ changes. */
+ result = setenv (name, value, replace);
+ if (result == 0 && replace && *value == '=')
+ {
+ char *tmp = getenv (name);
+ if (!STREQ (tmp, value))
+ {
+ int saved_errno;
+ size_t len = strlen (value);
+ tmp = malloca (len + 2);
+ /* Since leading '=' is eaten, double it up. */
+ *tmp = '=';
+ memcpy (tmp + 1, value, len + 1);
+ result = setenv (name, tmp, replace);
+ saved_errno = errno;
+ freea (tmp);
+ errno = saved_errno;
+ }
+ }
+ return result;
+}
+
+#endif /* HAVE_SETENV */
diff --git a/lib/setsockopt.c b/lib/setsockopt.c
index dfd7f34..07e9023 100644
--- a/lib/setsockopt.c
+++ b/lib/setsockopt.c
@@ -1,6 +1,6 @@
/* setsockopt.c --- wrappers for Windows setsockopt function
- Copyright (C) 2008-2011 Free Software Foundation, Inc.
+ Copyright (C) 2008-2012 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
diff --git a/lib/shutdown.c b/lib/shutdown.c
index 93bd4fa..1e646a9 100644
--- a/lib/shutdown.c
+++ b/lib/shutdown.c
@@ -1,6 +1,6 @@
/* shutdown.c --- wrappers for Windows shutdown function
- Copyright (C) 2008-2011 Free Software Foundation, Inc.
+ Copyright (C) 2008-2012 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
diff --git a/lib/signal.in.h b/lib/signal.in.h
index c7713e5..2e195a0 100644
--- a/lib/signal.in.h
+++ b/lib/signal.in.h
@@ -1,6 +1,6 @@
/* A GNU-like <signal.h>.
- Copyright (C) 2006-2011 Free Software Foundation, Inc.
+ Copyright (C) 2006-2012 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
diff --git a/lib/size_max.h b/lib/size_max.h
index aedf29e..d470807 100644
--- a/lib/size_max.h
+++ b/lib/size_max.h
@@ -1,5 +1,5 @@
/* size_max.h -- declare SIZE_MAX through system headers
- Copyright (C) 2005-2006, 2009-2011 Free Software Foundation, Inc.
+ Copyright (C) 2005-2006, 2009-2012 Free Software Foundation, Inc.
Written by Simon Josefsson.
This program is free software; you can redistribute it and/or modify
diff --git a/lib/snprintf.c b/lib/snprintf.c
index 662ad8e..731cc2f 100644
--- a/lib/snprintf.c
+++ b/lib/snprintf.c
@@ -1,5 +1,5 @@
/* Formatted output to strings.
- Copyright (C) 2004, 2006-2011 Free Software Foundation, Inc.
+ Copyright (C) 2004, 2006-2012 Free Software Foundation, Inc.
Written by Simon Josefsson and Paul Eggert.
This program is free software; you can redistribute it and/or modify
diff --git a/lib/socket.c b/lib/socket.c
index 600a145..24f16c9 100644
--- a/lib/socket.c
+++ b/lib/socket.c
@@ -1,6 +1,6 @@
/* socket.c --- wrappers for Windows socket function
- Copyright (C) 2008-2011 Free Software Foundation, Inc.
+ Copyright (C) 2008-2012 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
diff --git a/lib/sockets.c b/lib/sockets.c
index 843d992..635479a 100644
--- a/lib/sockets.c
+++ b/lib/sockets.c
@@ -1,6 +1,6 @@
/* sockets.c --- wrappers for Windows socket functions
- Copyright (C) 2008-2011 Free Software Foundation, Inc.
+ Copyright (C) 2008-2012 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
diff --git a/lib/sockets.h b/lib/sockets.h
index a45bc5f..35d6923 100644
--- a/lib/sockets.h
+++ b/lib/sockets.h
@@ -1,6 +1,6 @@
/* sockets.h - wrappers for Windows socket functions
- Copyright (C) 2008-2011 Free Software Foundation, Inc.
+ Copyright (C) 2008-2012 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
diff --git a/lib/stat-time.h b/lib/stat-time.h
index 2d01910..1aae18a 100644
--- a/lib/stat-time.h
+++ b/lib/stat-time.h
@@ -1,6 +1,6 @@
/* stat-related time functions.
- Copyright (C) 2005, 2007, 2009-2011 Free Software Foundation, Inc.
+ Copyright (C) 2005, 2007, 2009-2012 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
@@ -155,7 +155,7 @@ get_stat_birthtime (struct stat const *st)
t.tv_sec = st->st_birthtime;
t.tv_nsec = st->st_birthtimensec;
#elif (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
- /* Woe32 native platforms (but not Cygwin) put the "file creation
+ /* Native Windows platforms (but not Cygwin) put the "file creation
time" in st_ctime (!). See
<http://msdn2.microsoft.com/de-de/library/14h5k7ff(VS.80).aspx>. */
t.tv_sec = st->st_ctime;
diff --git a/lib/stat.c b/lib/stat.c
index 075e79e..a18d577 100644
--- a/lib/stat.c
+++ b/lib/stat.c
@@ -1,5 +1,5 @@
/* Work around platform bugs in stat.
- Copyright (C) 2009-2011 Free Software Foundation, Inc.
+ Copyright (C) 2009-2012 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
diff --git a/lib/stdalign.in.h b/lib/stdalign.in.h
index 16213d2..41dd143 100644
--- a/lib/stdalign.in.h
+++ b/lib/stdalign.in.h
@@ -1,6 +1,6 @@
-/* A substitute for ISO C 1x <stdalign.h>.
+/* A substitute for ISO C11 <stdalign.h>.
- Copyright 2011 Free Software Foundation, Inc.
+ Copyright 2011-2012 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
@@ -21,12 +21,14 @@
#ifndef _GL_STDALIGN_H
#define _GL_STDALIGN_H
-/* ISO C1X <stdalign.h> for platforms that lack it.
+/* ISO C11 <stdalign.h> for platforms that lack it.
References:
- ISO C1X <http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1570.pdf>
+ ISO C11 (latest free draft
+ <http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1570.pdf>)
sections 6.5.3.4, 6.7.5, 7.15.
- C++0X <http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2011/n3242.pdf>
+ C++11 (latest free draft
+ <http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2011/n3242.pdf>)
section 18.10. */
/* alignof (TYPE), also known as _Alignof (TYPE), yields the alignment
@@ -68,7 +70,7 @@
To be portable to Sun C 5.11, do not align auto variables to
anything stricter than their default alignment.
- The following draft C1X requirements are not supported here:
+ The following C11 requirements are not supported here:
- If A is zero, alignas has no effect.
- alignas can be used multiple times; the strictest one wins.
diff --git a/lib/stdbool.in.h b/lib/stdbool.in.h
index 0f33b19..cbf3ea1 100644
--- a/lib/stdbool.in.h
+++ b/lib/stdbool.in.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2003, 2006-2011 Free Software Foundation, Inc.
+/* Copyright (C) 2001-2003, 2006-2012 Free Software Foundation, Inc.
Written by Bruno Haible <address@hidden>, 2001.
This program is free software; you can redistribute it and/or modify
diff --git a/lib/stddef.in.h b/lib/stddef.in.h
index 1668add..4d57637 100644
--- a/lib/stddef.in.h
+++ b/lib/stddef.in.h
@@ -1,6 +1,6 @@
/* A substitute for POSIX 2008 <stddef.h>, for platforms that have issues.
- Copyright (C) 2009-2011 Free Software Foundation, Inc.
+ Copyright (C) 2009-2012 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
diff --git a/lib/stdint.in.h b/lib/stdint.in.h
index 1451dbf..6910401 100644
--- a/lib/stdint.in.h
+++ b/lib/stdint.in.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2002, 2004-2011 Free Software Foundation, Inc.
+/* Copyright (C) 2001-2002, 2004-2012 Free Software Foundation, Inc.
Written by Paul Eggert, Bruno Haible, Sam Steingold, Peter Burwood.
This file is part of gnulib.
diff --git a/lib/stdio.in.h b/lib/stdio.in.h
index a0573f7..7e4d593 100644
--- a/lib/stdio.in.h
+++ b/lib/stdio.in.h
@@ -1,6 +1,6 @@
/* A GNU-like <stdio.h>.
- Copyright (C) 2004, 2007-2011 Free Software Foundation, Inc.
+ Copyright (C) 2004, 2007-2012 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
@@ -186,7 +186,7 @@ _GL_CXXALIASWARN (fdopen);
#elif defined GNULIB_POSIXCHECK
# undef fdopen
/* Assume fdopen is always declared. */
-_GL_WARN_ON_USE (fdopen, "fdopen on Win32 platforms is not POSIX compatible - "
+_GL_WARN_ON_USE (fdopen, "fdopen on native Windows platforms is not POSIX
compliant - "
"use gnulib module fdopen for portability");
#endif
@@ -259,7 +259,7 @@ _GL_CXXALIASWARN (fopen);
#elif defined GNULIB_POSIXCHECK
# undef fopen
/* Assume fopen is always declared. */
-_GL_WARN_ON_USE (fopen, "fopen on Win32 platforms is not POSIX compatible - "
+_GL_WARN_ON_USE (fopen, "fopen on native Windows platforms is not POSIX
compliant - "
"use gnulib module fopen for portability");
#endif
@@ -387,7 +387,7 @@ _GL_CXXALIASWARN (freopen);
# undef freopen
/* Assume freopen is always declared. */
_GL_WARN_ON_USE (freopen,
- "freopen on Win32 platforms is not POSIX compatible - "
+ "freopen on native Windows platforms is not POSIX compliant -
"
"use gnulib module freopen for portability");
#endif
diff --git a/lib/stdlib.in.h b/lib/stdlib.in.h
index 2b453ba..c90626a 100644
--- a/lib/stdlib.in.h
+++ b/lib/stdlib.in.h
@@ -1,6 +1,6 @@
/* A GNU-like <stdlib.h>.
- Copyright (C) 1995, 2001-2004, 2006-2011 Free Software Foundation, Inc.
+ Copyright (C) 1995, 2001-2004, 2006-2012 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
@@ -49,6 +49,11 @@
# include <sys/loadavg.h>
#endif
+/* Native Windows platforms declare mktemp() in <io.h>. */
+#if 0 && ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__)
+# include <io.h>
+#endif
+
#if @GNULIB_RANDOM_R@
/* OSF/1 5.1 declares 'struct random_data' in <random.h>, which is included
@@ -58,7 +63,7 @@
# include <random.h>
# endif
-# if address@hidden@ || address@hidden@
+# if address@hidden@ || @REPLACE_RANDOM_R@ || address@hidden@
# include <stdint.h>
# endif
@@ -504,12 +509,83 @@ _GL_CXXALIASWARN (putenv);
# endif
#endif
+
+#if @GNULIB_RANDOM@
+# if address@hidden@
+_GL_FUNCDECL_SYS (random, long, (void));
+# endif
+_GL_CXXALIAS_SYS (random, long, (void));
+_GL_CXXALIASWARN (random);
+#elif defined GNULIB_POSIXCHECK
+# undef random
+# if HAVE_RAW_DECL_RANDOM
+_GL_WARN_ON_USE (random, "random is unportable - "
+ "use gnulib module random for portability");
+# endif
+#endif
+
+#if @GNULIB_RANDOM@
+# if address@hidden@
+_GL_FUNCDECL_SYS (srandom, void, (unsigned int seed));
+# endif
+_GL_CXXALIAS_SYS (srandom, void, (unsigned int seed));
+_GL_CXXALIASWARN (srandom);
+#elif defined GNULIB_POSIXCHECK
+# undef srandom
+# if HAVE_RAW_DECL_SRANDOM
+_GL_WARN_ON_USE (srandom, "srandom is unportable - "
+ "use gnulib module random for portability");
+# endif
+#endif
+
+#if @GNULIB_RANDOM@
+# if address@hidden@
+_GL_FUNCDECL_SYS (initstate, char *,
+ (unsigned int seed, char *buf, size_t buf_size)
+ _GL_ARG_NONNULL ((2)));
+# endif
+_GL_CXXALIAS_SYS (initstate, char *,
+ (unsigned int seed, char *buf, size_t buf_size));
+_GL_CXXALIASWARN (initstate);
+#elif defined GNULIB_POSIXCHECK
+# undef initstate
+# if HAVE_RAW_DECL_INITSTATE_R
+_GL_WARN_ON_USE (initstate, "initstate is unportable - "
+ "use gnulib module random for portability");
+# endif
+#endif
+
+#if @GNULIB_RANDOM@
+# if address@hidden@
+_GL_FUNCDECL_SYS (setstate, char *, (char *arg_state) _GL_ARG_NONNULL ((1)));
+# endif
+_GL_CXXALIAS_SYS (setstate, char *, (char *arg_state));
+_GL_CXXALIASWARN (setstate);
+#elif defined GNULIB_POSIXCHECK
+# undef setstate
+# if HAVE_RAW_DECL_SETSTATE_R
+_GL_WARN_ON_USE (setstate, "setstate is unportable - "
+ "use gnulib module random for portability");
+# endif
+#endif
+
+
#if @GNULIB_RANDOM_R@
-# if address@hidden@
+# if @REPLACE_RANDOM_R@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef random_r
+# define random_r rpl_random_r
+# endif
+_GL_FUNCDECL_RPL (random_r, int, (struct random_data *buf, int32_t *result)
+ _GL_ARG_NONNULL ((1, 2)));
+_GL_CXXALIAS_RPL (random_r, int, (struct random_data *buf, int32_t *result));
+# else
+# if address@hidden@
_GL_FUNCDECL_SYS (random_r, int, (struct random_data *buf, int32_t *result)
_GL_ARG_NONNULL ((1, 2)));
-# endif
+# endif
_GL_CXXALIAS_SYS (random_r, int, (struct random_data *buf, int32_t *result));
+# endif
_GL_CXXALIASWARN (random_r);
#elif defined GNULIB_POSIXCHECK
# undef random_r
@@ -520,13 +596,25 @@ _GL_WARN_ON_USE (random_r, "random_r is unportable - "
#endif
#if @GNULIB_RANDOM_R@
-# if address@hidden@
+# if @REPLACE_RANDOM_R@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef srandom_r
+# define srandom_r rpl_srandom_r
+# endif
+_GL_FUNCDECL_RPL (srandom_r, int,
+ (unsigned int seed, struct random_data *rand_state)
+ _GL_ARG_NONNULL ((2)));
+_GL_CXXALIAS_RPL (srandom_r, int,
+ (unsigned int seed, struct random_data *rand_state));
+# else
+# if address@hidden@
_GL_FUNCDECL_SYS (srandom_r, int,
(unsigned int seed, struct random_data *rand_state)
_GL_ARG_NONNULL ((2)));
-# endif
+# endif
_GL_CXXALIAS_SYS (srandom_r, int,
(unsigned int seed, struct random_data *rand_state));
+# endif
_GL_CXXALIASWARN (srandom_r);
#elif defined GNULIB_POSIXCHECK
# undef srandom_r
@@ -537,15 +625,29 @@ _GL_WARN_ON_USE (srandom_r, "srandom_r is unportable - "
#endif
#if @GNULIB_RANDOM_R@
-# if address@hidden@
+# if @REPLACE_RANDOM_R@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef initstate_r
+# define initstate_r rpl_initstate_r
+# endif
+_GL_FUNCDECL_RPL (initstate_r, int,
+ (unsigned int seed, char *buf, size_t buf_size,
+ struct random_data *rand_state)
+ _GL_ARG_NONNULL ((2, 4)));
+_GL_CXXALIAS_RPL (initstate_r, int,
+ (unsigned int seed, char *buf, size_t buf_size,
+ struct random_data *rand_state));
+# else
+# if address@hidden@
_GL_FUNCDECL_SYS (initstate_r, int,
(unsigned int seed, char *buf, size_t buf_size,
struct random_data *rand_state)
_GL_ARG_NONNULL ((2, 4)));
-# endif
+# endif
_GL_CXXALIAS_SYS (initstate_r, int,
(unsigned int seed, char *buf, size_t buf_size,
struct random_data *rand_state));
+# endif
_GL_CXXALIASWARN (initstate_r);
#elif defined GNULIB_POSIXCHECK
# undef initstate_r
@@ -556,13 +658,25 @@ _GL_WARN_ON_USE (initstate_r, "initstate_r is unportable
- "
#endif
#if @GNULIB_RANDOM_R@
-# if address@hidden@
+# if @REPLACE_RANDOM_R@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef setstate_r
+# define setstate_r rpl_setstate_r
+# endif
+_GL_FUNCDECL_RPL (setstate_r, int,
+ (char *arg_state, struct random_data *rand_state)
+ _GL_ARG_NONNULL ((1, 2)));
+_GL_CXXALIAS_RPL (setstate_r, int,
+ (char *arg_state, struct random_data *rand_state));
+# else
+# if address@hidden@
_GL_FUNCDECL_SYS (setstate_r, int,
(char *arg_state, struct random_data *rand_state)
_GL_ARG_NONNULL ((1, 2)));
-# endif
+# endif
_GL_CXXALIAS_SYS (setstate_r, int,
(char *arg_state, struct random_data *rand_state));
+# endif
_GL_CXXALIASWARN (setstate_r);
#elif defined GNULIB_POSIXCHECK
# undef setstate_r
diff --git a/lib/strftime.c b/lib/strftime.c
index df09be9..7743f52 100644
--- a/lib/strftime.c
+++ b/lib/strftime.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991-2001, 2003-2007, 2009-2011 Free Software Foundation, Inc.
+/* Copyright (C) 1991-2001, 2003-2007, 2009-2012 Free Software Foundation, Inc.
NOTE: The canonical source of this file is maintained with the GNU C
Library.
Bugs can be reported to address@hidden
@@ -289,7 +289,7 @@ extern char *tzname[];
# define TOLOWER(Ch, L) tolower (Ch)
# endif
#endif
-/* We don't use `isdigit' here since the locale dependent
+/* We don't use 'isdigit' here since the locale dependent
interpretation is not what we want here. We only need to accept
the arabic digits in the ASCII range. One day there is perhaps a
more reliable way to accept other sets of digits. */
@@ -437,7 +437,7 @@ strftime_case_ (bool upcase, STREAM_OR_CHAR_T *s,
#ifdef _NL_CURRENT
/* We cannot make the following values variables since we must delay
the evaluation of these values until really needed since some
- expressions might not be valid in every situation. The `struct tm'
+ expressions might not be valid in every situation. The 'struct tm'
might be generated by a strptime() call that initialized
only a few elements. Dereference the pointers only if the format
requires this. Then it is ok to fail if the pointers are invalid. */
@@ -896,7 +896,7 @@ strftime_case_ (bool upcase, STREAM_OR_CHAR_T *s,
goto do_number_body;
do_number_spacepad:
- /* Force `_' flag unless overridden by `0' or `-' flag. */
+ /* Force '_' flag unless overridden by '0' or '-' flag. */
if (pad != L_('0') && pad != L_('-'))
pad = L_('_');
diff --git a/lib/strftime.h b/lib/strftime.h
index c8cac90..596b0b8 100644
--- a/lib/strftime.h
+++ b/lib/strftime.h
@@ -1,6 +1,6 @@
/* declarations for strftime.c
- Copyright (C) 2002, 2004, 2008-2011 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2004, 2008-2012 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
diff --git a/lib/striconveh.c b/lib/striconveh.c
index 5052f02..8a38236 100644
--- a/lib/striconveh.c
+++ b/lib/striconveh.c
@@ -1,5 +1,5 @@
/* Character set conversion with error handling.
- Copyright (C) 2001-2011 Free Software Foundation, Inc.
+ Copyright (C) 2001-2012 Free Software Foundation, Inc.
Written by Bruno Haible and Simon Josefsson.
This program is free software: you can redistribute it and/or modify
diff --git a/lib/striconveh.h b/lib/striconveh.h
index 8c0e6c4..77730a0 100644
--- a/lib/striconveh.h
+++ b/lib/striconveh.h
@@ -1,5 +1,5 @@
/* Character set conversion with error handling.
- Copyright (C) 2001-2007, 2009-2011 Free Software Foundation, Inc.
+ Copyright (C) 2001-2007, 2009-2012 Free Software Foundation, Inc.
Written by Bruno Haible and Simon Josefsson.
This program is free software: you can redistribute it and/or modify
diff --git a/lib/string.in.h b/lib/string.in.h
index bc146ee..ab9cd19 100644
--- a/lib/string.in.h
+++ b/lib/string.in.h
@@ -1,6 +1,6 @@
/* A GNU-like <string.h>.
- Copyright (C) 1995-1996, 2001-2011 Free Software Foundation, Inc.
+ Copyright (C) 1995-1996, 2001-2012 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
diff --git a/lib/stripslash.c b/lib/stripslash.c
index 31034cb..63b77cd 100644
--- a/lib/stripslash.c
+++ b/lib/stripslash.c
@@ -1,6 +1,6 @@
/* stripslash.c -- remove redundant trailing slashes from a file name
- Copyright (C) 1990, 2001, 2003-2006, 2009-2011 Free Software Foundation,
+ Copyright (C) 1990, 2001, 2003-2006, 2009-2012 Free Software Foundation,
Inc.
This program is free software: you can redistribute it and/or modify
@@ -35,7 +35,7 @@ strip_trailing_slashes (char *file)
bool had_slash;
/* last_component returns "" for file system roots, but we need to turn
- `///' into `/'. */
+ "///" into "/". */
if (! *base)
base = file;
base_lim = base + base_len (base);
diff --git a/lib/sys_file.in.h b/lib/sys_file.in.h
index e518dfc..bbc551a 100644
--- a/lib/sys_file.in.h
+++ b/lib/sys_file.in.h
@@ -1,6 +1,6 @@
/* Provide a more complete sys/file.h.
- Copyright (C) 2007-2011 Free Software Foundation, Inc.
+ Copyright (C) 2007-2012 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
diff --git a/lib/sys_socket.in.h b/lib/sys_socket.in.h
index a92d36b..e238a76 100644
--- a/lib/sys_socket.in.h
+++ b/lib/sys_socket.in.h
@@ -1,6 +1,6 @@
/* Provide a sys/socket header file for systems lacking it (read: MinGW)
and for systems where it is incomplete.
- Copyright (C) 2005-2011 Free Software Foundation, Inc.
+ Copyright (C) 2005-2012 Free Software Foundation, Inc.
Written by Simon Josefsson.
This program is free software; you can redistribute it and/or modify
diff --git a/lib/sys_stat.in.h b/lib/sys_stat.in.h
index b9add86..7d24a3f 100644
--- a/lib/sys_stat.in.h
+++ b/lib/sys_stat.in.h
@@ -1,5 +1,5 @@
/* Provide a more complete sys/stat header file.
- Copyright (C) 2005-2011 Free Software Foundation, Inc.
+ Copyright (C) 2005-2012 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
@@ -62,6 +62,11 @@
# include <direct.h> /* mingw64, MSVC 9 */
#endif
+/* Native Windows platforms declare umask() in <io.h>. */
+#if 0 && ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__)
+# include <io.h>
+#endif
+
#ifndef S_IFIFO
# ifdef _S_IFIFO
# define S_IFIFO _S_IFIFO
diff --git a/lib/sys_time.in.h b/lib/sys_time.in.h
index 6431ac0..d1f9541 100644
--- a/lib/sys_time.in.h
+++ b/lib/sys_time.in.h
@@ -1,6 +1,6 @@
/* Provide a more complete sys/time.h.
- Copyright (C) 2007-2011 Free Software Foundation, Inc.
+ Copyright (C) 2007-2012 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
diff --git a/lib/sys_types.in.h b/lib/sys_types.in.h
index 1b7b7ca..615993a 100644
--- a/lib/sys_types.in.h
+++ b/lib/sys_types.in.h
@@ -1,6 +1,6 @@
/* Provide a more complete sys/types.h.
- Copyright (C) 2011 Free Software Foundation, Inc.
+ Copyright (C) 2011-2012 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
diff --git a/lib/sys_uio.in.h b/lib/sys_uio.in.h
index b0933dc..0abc597 100644
--- a/lib/sys_uio.in.h
+++ b/lib/sys_uio.in.h
@@ -1,5 +1,5 @@
/* Substitute for <sys/uio.h>.
- Copyright (C) 2011 Free Software Foundation, Inc.
+ Copyright (C) 2011-2012 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
diff --git a/lib/time.in.h b/lib/time.in.h
index a38fd13..448466c 100644
--- a/lib/time.in.h
+++ b/lib/time.in.h
@@ -1,6 +1,6 @@
/* A more-standard <time.h>.
- Copyright (C) 2007-2011 Free Software Foundation, Inc.
+ Copyright (C) 2007-2012 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
diff --git a/lib/time_r.c b/lib/time_r.c
index 383c9d0..b25f6a6 100644
--- a/lib/time_r.c
+++ b/lib/time_r.c
@@ -1,6 +1,6 @@
/* Reentrant time functions like localtime_r.
- Copyright (C) 2003, 2006-2007, 2010-2011 Free Software Foundation, Inc.
+ Copyright (C) 2003, 2006-2007, 2010-2012 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
diff --git a/lib/trunc.c b/lib/trunc.c
index 4bbbc57..76627fb 100644
--- a/lib/trunc.c
+++ b/lib/trunc.c
@@ -1,5 +1,5 @@
/* Round towards zero.
- Copyright (C) 2007, 2010-2011 Free Software Foundation, Inc.
+ Copyright (C) 2007, 2010-2012 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
diff --git a/lib/unistd.in.h b/lib/unistd.in.h
index 69cd814..e6e65cb 100644
--- a/lib/unistd.in.h
+++ b/lib/unistd.in.h
@@ -1,5 +1,5 @@
/* Substitute for and wrapper around <unistd.h>.
- Copyright (C) 2003-2011 Free Software Foundation, Inc.
+ Copyright (C) 2003-2012 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
@@ -84,12 +84,19 @@
#endif
/* Native Windows platforms declare chdir, getcwd, rmdir in
- <io.h> and/or <direct.h>, not in <unistd.h>. */
+ <io.h> and/or <direct.h>, not in <unistd.h>.
+ They also declare access(), chmod(), close(), dup(), dup2(), isatty(),
+ lseek(), read(), unlink(), write() in <io.h>. */
#if ((@GNULIB_CHDIR@ || @GNULIB_GETCWD@ || @GNULIB_RMDIR@ \
|| defined GNULIB_POSIXCHECK) \
&& ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__))
# include <io.h> /* mingw32, mingw64 */
# include <direct.h> /* mingw64, MSVC 9 */
+#elif (@GNULIB_CLOSE@ || @GNULIB_DUP@ || @GNULIB_DUP2@ || @GNULIB_ISATTY@ \
+ || @GNULIB_LSEEK@ || @GNULIB_READ@ || @GNULIB_UNLINK@ || @GNULIB_WRITE@
\
+ || defined GNULIB_POSIXCHECK) \
+ && ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__)
+# include <io.h>
#endif
/* AIX and OSF/1 5.1 declare getdomainname in <netdb.h>, not in <unistd.h>.
@@ -935,6 +942,27 @@ _GL_WARN_ON_USE (group_member, "group_member is unportable
- "
#endif
+#if @GNULIB_ISATTY@
+# if @REPLACE_ISATTY@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef isatty
+# define isatty rpl_isatty
+# endif
+_GL_FUNCDECL_RPL (isatty, int, (int fd));
+_GL_CXXALIAS_RPL (isatty, int, (int fd));
+# else
+_GL_CXXALIAS_SYS (isatty, int, (int fd));
+# endif
+_GL_CXXALIASWARN (isatty);
+#elif defined GNULIB_POSIXCHECK
+# undef isatty
+# if HAVE_RAW_DECL_ISATTY
+_GL_WARN_ON_USE (isatty, "isatty has portability problems on native Windows - "
+ "use gnulib module isatty for portability");
+# endif
+#endif
+
+
#if @GNULIB_LCHOWN@
/* Change the owner of FILE to UID (if UID is not -1) and the group of FILE
to GID (if GID is not -1). Do not follow symbolic links.
diff --git a/lib/unistr.in.h b/lib/unistr.in.h
index c665aa8..83aeeee 100644
--- a/lib/unistr.in.h
+++ b/lib/unistr.in.h
@@ -1,5 +1,5 @@
/* Elementary Unicode string functions.
- Copyright (C) 2001-2002, 2005-2011 Free Software Foundation, Inc.
+ Copyright (C) 2001-2002, 2005-2012 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify it
under the terms of the GNU Lesser General Public License as published
diff --git a/lib/unistr/u8-mbtouc-aux.c b/lib/unistr/u8-mbtouc-aux.c
index 1ac2957..e68a8e2 100644
--- a/lib/unistr/u8-mbtouc-aux.c
+++ b/lib/unistr/u8-mbtouc-aux.c
@@ -1,5 +1,5 @@
/* Conversion UTF-8 to UCS-4.
- Copyright (C) 2001-2002, 2006-2007, 2009-2011 Free Software Foundation, Inc.
+ Copyright (C) 2001-2002, 2006-2007, 2009-2012 Free Software Foundation, Inc.
Written by Bruno Haible <address@hidden>, 2001.
This program is free software: you can redistribute it and/or modify it
diff --git a/lib/unistr/u8-mbtouc-unsafe-aux.c
b/lib/unistr/u8-mbtouc-unsafe-aux.c
index deea151..38db03d 100644
--- a/lib/unistr/u8-mbtouc-unsafe-aux.c
+++ b/lib/unistr/u8-mbtouc-unsafe-aux.c
@@ -1,5 +1,5 @@
/* Conversion UTF-8 to UCS-4.
- Copyright (C) 2001-2002, 2006-2007, 2009-2011 Free Software Foundation, Inc.
+ Copyright (C) 2001-2002, 2006-2007, 2009-2012 Free Software Foundation, Inc.
Written by Bruno Haible <address@hidden>, 2001.
This program is free software: you can redistribute it and/or modify it
diff --git a/lib/unistr/u8-mbtouc-unsafe.c b/lib/unistr/u8-mbtouc-unsafe.c
index b298925..6fbde71 100644
--- a/lib/unistr/u8-mbtouc-unsafe.c
+++ b/lib/unistr/u8-mbtouc-unsafe.c
@@ -1,5 +1,5 @@
/* Look at first character in UTF-8 string.
- Copyright (C) 1999-2002, 2006-2007, 2009-2011 Free Software Foundation, Inc.
+ Copyright (C) 1999-2002, 2006-2007, 2009-2012 Free Software Foundation, Inc.
Written by Bruno Haible <address@hidden>, 2001.
This program is free software: you can redistribute it and/or modify it
diff --git a/lib/unistr/u8-mbtouc.c b/lib/unistr/u8-mbtouc.c
index a62539e..d286c27 100644
--- a/lib/unistr/u8-mbtouc.c
+++ b/lib/unistr/u8-mbtouc.c
@@ -1,5 +1,5 @@
/* Look at first character in UTF-8 string.
- Copyright (C) 1999-2002, 2006-2007, 2009-2011 Free Software Foundation, Inc.
+ Copyright (C) 1999-2002, 2006-2007, 2009-2012 Free Software Foundation, Inc.
Written by Bruno Haible <address@hidden>, 2001.
This program is free software: you can redistribute it and/or modify it
diff --git a/lib/unistr/u8-mbtoucr.c b/lib/unistr/u8-mbtoucr.c
index ffcc134..f01cfe9 100644
--- a/lib/unistr/u8-mbtoucr.c
+++ b/lib/unistr/u8-mbtoucr.c
@@ -1,5 +1,5 @@
/* Look at first character in UTF-8 string, returning an error code.
- Copyright (C) 1999-2002, 2006-2007, 2009-2011 Free Software Foundation, Inc.
+ Copyright (C) 1999-2002, 2006-2007, 2009-2012 Free Software Foundation, Inc.
Written by Bruno Haible <address@hidden>, 2001.
This program is free software: you can redistribute it and/or modify it
diff --git a/lib/unistr/u8-prev.c b/lib/unistr/u8-prev.c
index 29118d6..04def87 100644
--- a/lib/unistr/u8-prev.c
+++ b/lib/unistr/u8-prev.c
@@ -1,5 +1,5 @@
/* Iterate over previous character in UTF-8 string.
- Copyright (C) 2002, 2006-2007, 2009-2011 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2012 Free Software Foundation, Inc.
Written by Bruno Haible <address@hidden>, 2002.
This program is free software: you can redistribute it and/or modify it
diff --git a/lib/unistr/u8-uctomb-aux.c b/lib/unistr/u8-uctomb-aux.c
index 2014c8c..1a44ddb 100644
--- a/lib/unistr/u8-uctomb-aux.c
+++ b/lib/unistr/u8-uctomb-aux.c
@@ -1,5 +1,5 @@
/* Conversion UCS-4 to UTF-8.
- Copyright (C) 2002, 2006-2007, 2009-2011 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2007, 2009-2012 Free Software Foundation, Inc.
Written by Bruno Haible <address@hidden>, 2002.
This program is free software: you can redistribute it and/or modify it
diff --git a/lib/unistr/u8-uctomb.c b/lib/unistr/u8-uctomb.c
index 65a4053..4bfe261 100644
--- a/lib/unistr/u8-uctomb.c
+++ b/lib/unistr/u8-uctomb.c
@@ -1,5 +1,5 @@
/* Store a character in UTF-8 string.
- Copyright (C) 2002, 2005-2006, 2009-2011 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2005-2006, 2009-2012 Free Software Foundation, Inc.
Written by Bruno Haible <address@hidden>, 2002.
This program is free software: you can redistribute it and/or modify it
diff --git a/lib/unitypes.in.h b/lib/unitypes.in.h
index e78c97d..c1204e1 100644
--- a/lib/unitypes.in.h
+++ b/lib/unitypes.in.h
@@ -1,5 +1,5 @@
/* Elementary types for the GNU UniString library.
- Copyright (C) 2002, 2005-2006, 2009-2011 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2005-2006, 2009-2012 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify it
under the terms of the GNU Lesser General Public License as published
diff --git a/lib/vasnprintf.c b/lib/vasnprintf.c
index 246e32b..3a94d2f 100644
--- a/lib/vasnprintf.c
+++ b/lib/vasnprintf.c
@@ -1,5 +1,5 @@
/* vsprintf with automatic memory allocation.
- Copyright (C) 1999, 2002-2011 Free Software Foundation, Inc.
+ Copyright (C) 1999, 2002-2012 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
@@ -4885,7 +4885,7 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
in format strings in writable memory may crash the program
(if compiled with _FORTIFY_SOURCE=2), so we should avoid it
in this situation. */
- /* On native Win32 systems (such as mingw), we can avoid using
+ /* On native Windows systems (such as mingw), we can avoid
using
%n because:
- Although the gl_SNPRINTF_TRUNCATION_C99 test fails,
snprintf does not write more than the specified number
@@ -4894,7 +4894,7 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
- Although the gl_SNPRINTF_RETVAL_C99 test fails, snprintf
allows us to recognize the case of an insufficient
buffer size: it returns -1 in this case.
- On native Win32 systems (such as mingw) where the OS is
+ On native Windows systems (such as mingw) where the OS is
Windows Vista, the use of %n in format strings by default
crashes the program. See
<http://gcc.gnu.org/ml/gcc/2007-06/msg00122.html> and
diff --git a/lib/vasnprintf.h b/lib/vasnprintf.h
index e2de468..dac6f50 100644
--- a/lib/vasnprintf.h
+++ b/lib/vasnprintf.h
@@ -1,5 +1,5 @@
/* vsprintf with automatic memory allocation.
- Copyright (C) 2002-2004, 2007-2011 Free Software Foundation, Inc.
+ Copyright (C) 2002-2004, 2007-2012 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
diff --git a/lib/verify.h b/lib/verify.h
index 330ff3b..6c4bd43 100644
--- a/lib/verify.h
+++ b/lib/verify.h
@@ -1,6 +1,6 @@
/* Compile-time assert-like macros.
- Copyright (C) 2005-2006, 2009-2011 Free Software Foundation, Inc.
+ Copyright (C) 2005-2006, 2009-2012 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
@@ -21,13 +21,11 @@
# define _GL_VERIFY_H
-/* Define _GL_HAVE__STATIC_ASSERT to 1 if _Static_assert works as per the
- C1X draft N1548 section 6.7.10. This is supported by GCC 4.6.0 and
- later, in C mode, and its use here generates easier-to-read diagnostics
- when verify (R) fails.
+/* Define _GL_HAVE__STATIC_ASSERT to 1 if _Static_assert works as per C11.
+ This is supported by GCC 4.6.0 and later, in C mode, and its use
+ here generates easier-to-read diagnostics when verify (R) fails.
- Define _GL_HAVE_STATIC_ASSERT to 1 if static_assert works as per the
- C++0X draft N3242 section 7.(4).
+ Define _GL_HAVE_STATIC_ASSERT to 1 if static_assert works as per C++11.
This will likely be supported by future GCC versions, in C++ mode.
Use this only with GCC. If we were willing to slow 'configure'
@@ -188,7 +186,7 @@ template <int w>
trailing ';'. If R is false, fail at compile-time, preferably
with a diagnostic that includes the string-literal DIAGNOSTIC.
- Unfortunately, unlike C1X, this implementation must appear as an
+ Unfortunately, unlike C11, this implementation must appear as an
ordinary declaration, and cannot appear inside struct { ... }. */
# ifdef _GL_HAVE__STATIC_ASSERT
@@ -205,7 +203,7 @@ template <int w>
# define _Static_assert(R, DIAGNOSTIC) _GL_VERIFY (R, DIAGNOSTIC)
# endif
# if !defined _GL_HAVE_STATIC_ASSERT && !defined static_assert
-# define static_assert _Static_assert /* Draft C1X requires this #define. */
+# define static_assert _Static_assert /* C11 requires this #define. */
# endif
# endif
diff --git a/lib/vsnprintf.c b/lib/vsnprintf.c
index 9abb7a9..c59ce0c 100644
--- a/lib/vsnprintf.c
+++ b/lib/vsnprintf.c
@@ -1,5 +1,5 @@
/* Formatted output to strings.
- Copyright (C) 2004, 2006-2011 Free Software Foundation, Inc.
+ Copyright (C) 2004, 2006-2012 Free Software Foundation, Inc.
Written by Simon Josefsson and Yoann Vandoorselaere <address@hidden>.
This program is free software; you can redistribute it and/or modify
diff --git a/lib/w32sock.h b/lib/w32sock.h
index 1929303..5c1af6b 100644
--- a/lib/w32sock.h
+++ b/lib/w32sock.h
@@ -1,6 +1,6 @@
/* w32sock.h --- internal auxilliary functions for Windows socket functions
- Copyright (C) 2008-2011 Free Software Foundation, Inc.
+ Copyright (C) 2008-2012 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
diff --git a/lib/wchar.in.h b/lib/wchar.in.h
index 71af75a..1928729 100644
--- a/lib/wchar.in.h
+++ b/lib/wchar.in.h
@@ -1,6 +1,6 @@
/* A substitute for ISO C99 <wchar.h>, for platforms that have issues.
- Copyright (C) 2007-2011 Free Software Foundation, Inc.
+ Copyright (C) 2007-2012 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
diff --git a/lib/write.c b/lib/write.c
index 3941f29..2473cdb 100644
--- a/lib/write.c
+++ b/lib/write.c
@@ -1,5 +1,5 @@
/* POSIX compatible write() function.
- Copyright (C) 2008-2011 Free Software Foundation, Inc.
+ Copyright (C) 2008-2012 Free Software Foundation, Inc.
Written by Bruno Haible <address@hidden>, 2008.
This program is free software: you can redistribute it and/or modify
diff --git a/lib/xsize.h b/lib/xsize.h
index 1bd9ca7..42799d9 100644
--- a/lib/xsize.h
+++ b/lib/xsize.h
@@ -1,6 +1,6 @@
/* xsize.h -- Checked size_t computations.
- Copyright (C) 2003, 2008-2011 Free Software Foundation, Inc.
+ Copyright (C) 2003, 2008-2012 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
diff --git a/libguile/debug.c b/libguile/debug.c
index c6ce99e..87513bf 100644
--- a/libguile/debug.c
+++ b/libguile/debug.c
@@ -1,5 +1,5 @@
/* Debugging extensions for Guile
- * Copyright (C) 1995,1996,1997,1998,1999,2000,2001, 2002, 2003, 2006, 2008,
2009, 2010, 2011 Free Software Foundation
+ * Copyright (C) 1995,1996,1997,1998,1999,2000,2001, 2002, 2003, 2006, 2008,
2009, 2010, 2011, 2012 Free Software Foundation
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public License
@@ -199,6 +199,17 @@ SCM_DEFINE (scm_debug_hang, "debug-hang", 0, 1, 0,
#undef FUNC_NAME
#endif
+SCM
+scm_local_eval (SCM exp, SCM env)
+{
+ static SCM local_eval_var = SCM_BOOL_F;
+
+ if (scm_is_false (local_eval_var))
+ local_eval_var = scm_c_public_variable ("ice-9 local-eval", "local-eval");
+
+ return scm_call_2 (SCM_VARIABLE_REF (local_eval_var), exp, env);
+}
+
static void
init_stack_limit (void)
{
diff --git a/libguile/debug.h b/libguile/debug.h
index 0749d28..362d9b7 100644
--- a/libguile/debug.h
+++ b/libguile/debug.h
@@ -3,7 +3,7 @@
#ifndef SCM_DEBUG_H
#define SCM_DEBUG_H
-/* Copyright (C) 1995,1996,1998,1999,2000,2001,2002,2004,2008,2009,2010,2011
+/* Copyright (C)
1995,1996,1998,1999,2000,2001,2002,2004,2008,2009,2010,2011,2012
* Free Software Foundation, Inc.
*
* This library is free software; you can redistribute it and/or
@@ -41,6 +41,8 @@ typedef union scm_t_debug_info
+SCM_API SCM scm_local_eval (SCM exp, SCM env);
+
SCM_API SCM scm_reverse_lookup (SCM env, SCM data);
SCM_API SCM scm_procedure_source (SCM proc);
SCM_API SCM scm_procedure_name (SCM proc);
diff --git a/libguile/eval.c b/libguile/eval.c
index ad0a84a..5a42b1e 100644
--- a/libguile/eval.c
+++ b/libguile/eval.c
@@ -24,6 +24,7 @@
#endif
#include <alloca.h>
+#include <stdarg.h>
#include "libguile/__scm.h"
@@ -521,11 +522,56 @@ scm_call_6 (SCM proc, SCM arg1, SCM arg2, SCM arg3, SCM
arg4, SCM arg5,
}
SCM
+scm_call_7 (SCM proc, SCM arg1, SCM arg2, SCM arg3, SCM arg4, SCM arg5,
+ SCM arg6, SCM arg7)
+{
+ SCM args[] = { arg1, arg2, arg3, arg4, arg5, arg6, arg7 };
+ return scm_c_vm_run (scm_the_vm (), proc, args, 7);
+}
+
+SCM
+scm_call_8 (SCM proc, SCM arg1, SCM arg2, SCM arg3, SCM arg4, SCM arg5,
+ SCM arg6, SCM arg7, SCM arg8)
+{
+ SCM args[] = { arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8 };
+ return scm_c_vm_run (scm_the_vm (), proc, args, 8);
+}
+
+SCM
+scm_call_9 (SCM proc, SCM arg1, SCM arg2, SCM arg3, SCM arg4, SCM arg5,
+ SCM arg6, SCM arg7, SCM arg8, SCM arg9)
+{
+ SCM args[] = { arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9 };
+ return scm_c_vm_run (scm_the_vm (), proc, args, 9);
+}
+
+SCM
scm_call_n (SCM proc, SCM *argv, size_t nargs)
{
return scm_c_vm_run (scm_the_vm (), proc, argv, nargs);
}
+SCM
+scm_call (SCM proc, ...)
+{
+ va_list argp;
+ SCM *argv = NULL;
+ size_t i, nargs = 0;
+
+ va_start (argp, proc);
+ while (!SCM_UNBNDP (va_arg (argp, SCM)))
+ nargs++;
+ va_end (argp);
+
+ argv = alloca (nargs * sizeof (SCM));
+ va_start (argp, proc);
+ for (i = 0; i < nargs; i++)
+ argv[i] = va_arg (argp, SCM);
+ va_end (argp);
+
+ return scm_c_vm_run (scm_the_vm (), proc, argv, nargs);
+}
+
/* Simple procedure applies
*/
diff --git a/libguile/eval.h b/libguile/eval.h
index f193ad6..014f0de 100644
--- a/libguile/eval.h
+++ b/libguile/eval.h
@@ -72,7 +72,14 @@ SCM_API SCM scm_call_5 (SCM proc, SCM arg1, SCM arg2, SCM
arg3, SCM arg4,
SCM arg5);
SCM_API SCM scm_call_6 (SCM proc, SCM arg1, SCM arg2, SCM arg3, SCM arg4,
SCM arg5, SCM arg6);
+SCM_API SCM scm_call_7 (SCM proc, SCM arg1, SCM arg2, SCM arg3, SCM arg4,
+ SCM arg5, SCM arg6, SCM arg7);
+SCM_API SCM scm_call_8 (SCM proc, SCM arg1, SCM arg2, SCM arg3, SCM arg4,
+ SCM arg5, SCM arg6, SCM arg7, SCM arg8);
+SCM_API SCM scm_call_9 (SCM proc, SCM arg1, SCM arg2, SCM arg3, SCM arg4,
+ SCM arg5, SCM arg6, SCM arg7, SCM arg8, SCM arg9);
SCM_API SCM scm_call_n (SCM proc, SCM *argv, size_t nargs);
+SCM_API SCM scm_call (SCM proc, ...);
SCM_API SCM scm_apply_0 (SCM proc, SCM args);
SCM_API SCM scm_apply_1 (SCM proc, SCM arg1, SCM args);
SCM_API SCM scm_apply_2 (SCM proc, SCM arg1, SCM arg2, SCM args);
diff --git a/libguile/filesys.c b/libguile/filesys.c
index 3856b44..63e5a20 100644
--- a/libguile/filesys.c
+++ b/libguile/filesys.c
@@ -1,5 +1,6 @@
-/* Copyright (C) 1996,1997,1998,1999,2000,2001, 2002, 2004, 2006, 2009, 2010,
2011 Free Software Foundation, Inc.
- *
+/* Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2004, 2006,
+ * 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
+ *
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public License
* as published by the Free Software Foundation; either version 3 of
@@ -96,23 +97,9 @@
#include <pwd.h>
#endif
+#include <dirent.h>
-#if HAVE_DIRENT_H
-# include <dirent.h>
-# define NAMLEN(dirent) strlen((dirent)->d_name)
-#else
-# define dirent direct
-# define NAMLEN(dirent) (dirent)->d_namlen
-# if HAVE_SYS_NDIR_H
-# include <sys/ndir.h>
-# endif
-# if HAVE_SYS_DIR_H
-# include <sys/dir.h>
-# endif
-# if HAVE_NDIR_H
-# include <ndir.h>
-# endif
-#endif
+#define NAMLEN(dirent) strlen ((dirent)->d_name)
/* Some more definitions for the native Windows port. */
#ifdef __MINGW32__
@@ -121,15 +108,6 @@
# define fchmod(fd, mode) (-1)
#endif /* __MINGW32__ */
-/* dirfd() returns the file descriptor underlying a "DIR*" directory stream.
- Found on MacOS X for instance. The following definition is for Solaris
- 10, it's probably not right elsewhere, but that's ok, it shouldn't be
- used elsewhere. Crib note: If we need more then gnulib has a dirfd.m4
- figuring out how to get the fd (dirfd function, dirfd macro, dd_fd field,
- or d_fd field). */
-#ifndef dirfd
-#define dirfd(dirstream) ((dirstream)->dd_fd)
-#endif
diff --git a/libguile/fluids.c b/libguile/fluids.c
index 0c9c03f..55910b0 100644
--- a/libguile/fluids.c
+++ b/libguile/fluids.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1996,1997,2000,2001, 2004, 2006, 2007, 2008, 2009, 2010, 2011
Free Software Foundation, Inc.
+/* Copyright (C) 1996,1997,2000,2001, 2004, 2006, 2007, 2008, 2009, 2010,
2011, 2012 Free Software Foundation, Inc.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public License
@@ -179,7 +179,8 @@ scm_make_fluid (void)
SCM_DEFINE (scm_make_fluid_with_default, "make-fluid", 0, 1, 0,
(SCM dflt),
- "Return a newly created fluid.\n"
+ "Return a newly created fluid, whose initial value is @var{dflt},\n"
+ "or @code{#f} if @var{dflt} is not given.\n"
"Fluids are objects that can hold one\n"
"value per dynamic state. That is, modifications to this value
are\n"
"only visible to code that executes with the same dynamic state
as\n"
diff --git a/libguile/foreign.c b/libguile/foreign.c
index a734f2d..851cded 100644
--- a/libguile/foreign.c
+++ b/libguile/foreign.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2010, 2011 Free Software Foundation, Inc.
+/* Copyright (C) 2010, 2011, 2012 Free Software Foundation, Inc.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public License
@@ -266,7 +266,8 @@ SCM_DEFINE (scm_pointer_to_bytevector,
"pointer->bytevector", 2, 2, 0,
blen = scm_to_size_t (len);
- ret = scm_c_take_typed_bytevector (ptr + boffset, blen, btype, pointer);
+ ret = scm_c_take_typed_bytevector ((signed char *) ptr + boffset,
+ blen, btype, pointer);
return ret;
}
@@ -280,7 +281,7 @@ SCM_DEFINE (scm_bytevector_to_pointer,
"bytevector->pointer", 1, 1, 0,
#define FUNC_NAME s_scm_bytevector_to_pointer
{
SCM ret;
- scm_t_int8 *ptr;
+ signed char *ptr;
size_t boffset;
SCM_VALIDATE_BYTEVECTOR (1, bv);
@@ -315,8 +316,6 @@ SCM_DEFINE (scm_set_pointer_finalizer_x,
"set-pointer-finalizer!", 2, 0, 0,
c_finalizer = SCM_POINTER_VALUE (finalizer);
- SCM_SET_CELL_WORD_0 (pointer, SCM_CELL_WORD_0 (pointer) | (1 << 16UL));
-
GC_REGISTER_FINALIZER_NO_ORDER (SCM_HEAP_OBJECT_BASE (pointer),
pointer_finalizer_trampoline,
c_finalizer,
diff --git a/libguile/frames.c b/libguile/frames.c
index b805137..b57b129 100644
--- a/libguile/frames.c
+++ b/libguile/frames.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001, 2009, 2010, 2011 Free Software Foundation, Inc.
+/* Copyright (C) 2001, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public License
@@ -24,9 +24,16 @@
#include <string.h>
#include "_scm.h"
#include "frames.h"
+#include <verify.h>
+
+/* Make sure assumptions on the layout of `struct scm_vm_frame' hold. */
+verify (sizeof (SCM) == sizeof (SCM *));
+verify (sizeof (struct scm_vm_frame) == 5 * sizeof (SCM));
+verify (offsetof (struct scm_vm_frame, dynamic_link) == 0);
-#define RELOC(frame, val) (val + SCM_VM_FRAME_OFFSET (frame))
+#define RELOC(frame, val) \
+ (((SCM *) (val)) + SCM_VM_FRAME_OFFSET (frame))
SCM
scm_c_make_frame (SCM stack_holder, SCM *fp, SCM *sp,
diff --git a/libguile/frames.h b/libguile/frames.h
index cae2bd0..71d5b12 100644
--- a/libguile/frames.h
+++ b/libguile/frames.h
@@ -70,9 +70,10 @@ struct scm_vm_frame
SCM stack[1]; /* Variable-length */
};
-#define SCM_FRAME_STRUCT(fp) ((struct scm_vm_frame*)(((SCM*)(fp)) -
4))
+#define SCM_FRAME_STRUCT(fp) \
+ ((struct scm_vm_frame *) SCM_FRAME_DATA_ADDRESS (fp))
-#define SCM_FRAME_DATA_ADDRESS(fp) (fp - 4)
+#define SCM_FRAME_DATA_ADDRESS(fp) (((SCM *) (fp)) - 4)
#define SCM_FRAME_STACK_ADDRESS(fp) (SCM_FRAME_STRUCT (fp)->stack)
#define SCM_FRAME_UPPER_ADDRESS(fp) ((SCM*)&SCM_FRAME_STRUCT
(fp)->return_address)
#define SCM_FRAME_LOWER_ADDRESS(fp) ((SCM*)SCM_FRAME_STRUCT (fp))
@@ -91,7 +92,7 @@ struct scm_vm_frame
#define SCM_FRAME_DYNAMIC_LINK(fp) \
(SCM_FRAME_STRUCT (fp)->dynamic_link)
#define SCM_FRAME_SET_DYNAMIC_LINK(fp, dl) \
- SCM_FRAME_STRUCT (fp)->dynamic_link = (dl)
+ SCM_FRAME_DYNAMIC_LINK (fp) = (dl)
#define SCM_FRAME_VARIABLE(fp,i) \
(SCM_FRAME_STRUCT (fp)->stack[i])
#define SCM_FRAME_PROGRAM(fp) \
diff --git a/libguile/gc.c b/libguile/gc.c
index 5f61a1d..6d44f5e 100644
--- a/libguile/gc.c
+++ b/libguile/gc.c
@@ -227,6 +227,10 @@ scm_t_c_hook scm_after_gc_c_hook;
static void
run_before_gc_c_hook (void)
{
+ if (!SCM_I_CURRENT_THREAD)
+ /* GC while a thread is spinning up; punt. */
+ return;
+
scm_c_hook_run (&scm_before_gc_c_hook, NULL);
}
diff --git a/libguile/hashtab.c b/libguile/hashtab.c
index 4091afe..e640642 100644
--- a/libguile/hashtab.c
+++ b/libguile/hashtab.c
@@ -1,5 +1,6 @@
-/* Copyright (C) 1995,1996,1998,1999,2000,2001, 2003, 2004, 2006, 2008, 2009,
2010, 2011 Free Software Foundation, Inc.
- *
+/* Copyright (C) 1995, 1996, 1998, 1999, 2000, 2001, 2003, 2004, 2006,
+ * 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
+ *
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public License
* as published by the Free Software Foundation; either version 3 of
@@ -168,6 +169,8 @@ void
scm_i_hashtable_print (SCM exp, SCM port, scm_print_state *pstate)
{
scm_puts_unlocked ("#<hash-table ", port);
+ scm_uintprint (SCM_UNPACK (exp), 16, port);
+ scm_putc (' ', port);
scm_uintprint (SCM_HASHTABLE_N_ITEMS (exp), 10, port);
scm_putc_unlocked ('/', port);
scm_uintprint (SCM_SIMPLE_VECTOR_LENGTH (SCM_HASHTABLE_VECTOR (exp)),
diff --git a/libguile/i18n.c b/libguile/i18n.c
index f833e5d..5a53bfa 100644
--- a/libguile/i18n.c
+++ b/libguile/i18n.c
@@ -645,6 +645,7 @@ SCM_DEFINE (scm_make_locale, "make-locale", 2, 1, 0,
c_locale = newlocale (c_category_mask, c_locale_name, c_base_locale);
free (c_locale_name);
+ c_locale_name = NULL;
if (c_locale == (locale_t) 0)
{
@@ -662,6 +663,7 @@ SCM_DEFINE (scm_make_locale, "make-locale", 2, 1, 0,
c_locale->category_mask = c_category_mask;
c_locale->locale_name = scm_gc_strdup (c_locale_name, "locale");
free (c_locale_name);
+ c_locale_name = NULL;
if (scm_is_eq (base_locale, SCM_VARIABLE_REF (scm_global_locale)))
{
@@ -1652,6 +1654,7 @@ SCM_DEFINE (scm_nl_langinfo, "nl-langinfo", 1, 1, 0,
default:
result = scm_from_latin1_symbol ("unspecified");
}
+ free (c_result);
break;
#endif
@@ -1744,13 +1747,23 @@ define_langinfo_items (void)
DEFINE_NLITEM_CONSTANT (T_FMT); /* Time format for strftime. */
DEFINE_NLITEM_CONSTANT (T_FMT_AMPM);/* 12-hour time format for strftime. */
+#ifdef ERA
DEFINE_NLITEM_CONSTANT (ERA); /* Alternate era. */
+#endif
+#ifdef ERA_D_FMT
DEFINE_NLITEM_CONSTANT (ERA_D_FMT); /* Date in alternate era format. */
+#endif
+#ifdef ERA_D_T_FMT
DEFINE_NLITEM_CONSTANT (ERA_D_T_FMT); /* Date and time in alternate
era
format. */
+#endif
+#ifdef ERA_T_FMT
DEFINE_NLITEM_CONSTANT (ERA_T_FMT); /* Time in alternate era format. */
+#endif
+#ifdef ALT_DIGITS
DEFINE_NLITEM_CONSTANT (ALT_DIGITS); /* Alternate symbols for digits. */
+#endif
DEFINE_NLITEM_CONSTANT (RADIXCHAR);
DEFINE_NLITEM_CONSTANT (THOUSEP);
diff --git a/libguile/macros.c b/libguile/macros.c
index 7423e97..34aa60c 100644
--- a/libguile/macros.c
+++ b/libguile/macros.c
@@ -177,12 +177,46 @@ SCM_DEFINE (scm_macro_binding, "macro-binding", 1, 0, 0,
#undef FUNC_NAME
+static SCM syntax_session_id;
+
+#define SESSION_ID_LENGTH 22 /* bytes */
+#define BASE64_RADIX_BITS 6
+#define BASE64_RADIX (1 << (BASE64_RADIX_BITS))
+#define BASE64_MASK (BASE64_RADIX - 1)
+
+static SCM
+fresh_syntax_session_id (void)
+{
+ static const char base64[BASE64_RADIX] =
+ "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789$@";
+
+ unsigned char digit_buf[SESSION_ID_LENGTH];
+ char char_buf[SESSION_ID_LENGTH];
+ size_t i;
+
+ scm_i_random_bytes_from_platform (digit_buf, SESSION_ID_LENGTH);
+ for (i = 0; i < SESSION_ID_LENGTH; ++i)
+ char_buf[i] = base64[digit_buf[i] & BASE64_MASK];
+
+ return scm_from_latin1_stringn (char_buf, SESSION_ID_LENGTH);
+}
+
+static SCM
+scm_syntax_session_id (void)
+{
+ return syntax_session_id;
+}
+
+
void
scm_init_macros ()
{
scm_tc16_macro = scm_make_smob_type ("macro", 0);
scm_set_smob_print (scm_tc16_macro, macro_print);
#include "libguile/macros.x"
+
+ syntax_session_id = fresh_syntax_session_id();
+ scm_c_define_gsubr ("syntax-session-id", 0, 0, 0, scm_syntax_session_id);
}
/*
diff --git a/libguile/print.c b/libguile/print.c
index a1c36eb..b800362 100644
--- a/libguile/print.c
+++ b/libguile/print.c
@@ -1,5 +1,5 @@
/* Copyright (C) 1995-1999, 2000, 2001, 2002, 2003, 2004, 2006, 2008,
- * 2009, 2010, 2011 Free Software Foundation, Inc.
+ * 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public License
@@ -654,6 +654,7 @@ iprin1 (SCM exp, SCM port, scm_print_state *pstate)
case scm_tc7_array:
ENTER_NESTED_DATA (pstate, exp, circref);
scm_i_print_array (exp, port, pstate);
+ EXIT_NESTED_DATA (pstate);
break;
case scm_tc7_bytevector:
scm_i_print_bytevector (exp, port, pstate);
diff --git a/libguile/random.c b/libguile/random.c
index 8bc0d87..2db19f7 100644
--- a/libguile/random.c
+++ b/libguile/random.c
@@ -653,6 +653,107 @@ SCM_DEFINE (scm_random_exp, "random:exp", 0, 1, 0,
}
#undef FUNC_NAME
+/* Return a new random-state seeded from the time, date, process ID, an
+ address from a freshly allocated heap cell, an address from the local
+ stack frame, and a high-resolution timer if available. This is only
+ to be used as a last resort, when no better source of entropy is
+ available. */
+static SCM
+random_state_of_last_resort (void)
+{
+ SCM state;
+ SCM time_of_day = scm_gettimeofday ();
+ SCM sources = scm_list_n
+ (scm_from_unsigned_integer (SCM_UNPACK (time_of_day)), /* heap addr */
+ scm_getpid (), /* process ID */
+ scm_get_internal_real_time (), /* high-resolution process timer */
+ scm_from_unsigned_integer ((scm_t_bits) &time_of_day), /* stack addr */
+ scm_car (time_of_day), /* seconds since midnight 1970-01-01 UTC */
+ scm_cdr (time_of_day), /* microsecond component of the above clock */
+ SCM_UNDEFINED);
+
+ /* Concatenate the sources bitwise to form the seed */
+ SCM seed = SCM_INUM0;
+ while (scm_is_pair (sources))
+ {
+ seed = scm_logxor (seed, scm_ash (scm_car (sources),
+ scm_integer_length (seed)));
+ sources = scm_cdr (sources);
+ }
+
+ /* FIXME The following code belongs in `scm_seed_to_random_state',
+ and here we should simply do:
+
+ return scm_seed_to_random_state (seed);
+
+ Unfortunately, `scm_seed_to_random_state' only preserves around 32
+ bits of entropy from the provided seed. I don't know if it's okay
+ to fix that in 2.0, so for now we have this workaround. */
+ {
+ int i, len;
+ unsigned char *buf;
+ len = scm_to_int (scm_ceiling_quotient (scm_integer_length (seed),
+ SCM_I_MAKINUM (8)));
+ buf = (unsigned char *) malloc (len);
+ for (i = len-1; i >= 0; --i)
+ {
+ buf[i] = scm_to_int (scm_logand (seed, SCM_I_MAKINUM (255)));
+ seed = scm_ash (seed, SCM_I_MAKINUM (-8));
+ }
+ state = make_rstate (scm_c_make_rstate ((char *) buf, len));
+ free (buf);
+ }
+ return state;
+}
+
+/* Attempt to fill buffer with random bytes from /dev/urandom.
+ Return 1 if successful, else return 0. */
+static int
+read_dev_urandom (unsigned char *buf, size_t len)
+{
+ size_t res = 0;
+ FILE *f = fopen ("/dev/urandom", "r");
+ if (f)
+ {
+ res = fread(buf, 1, len, f);
+ fclose (f);
+ }
+ return (res == len);
+}
+
+/* Fill a buffer with random bytes seeded from a platform-specific
+ source of entropy. /dev/urandom is used if available. Note that
+ this function provides no guarantees about the amount of entropy
+ present in the returned bytes. */
+void
+scm_i_random_bytes_from_platform (unsigned char *buf, size_t len)
+{
+ if (read_dev_urandom (buf, len))
+ return;
+ else /* FIXME: support other platform sources */
+ {
+ /* When all else fails, use this (rather weak) fallback */
+ SCM random_state = random_state_of_last_resort ();
+ int i;
+ for (i = len-1; i >= 0; --i)
+ buf[i] = scm_to_int (scm_random (SCM_I_MAKINUM (256), random_state));
+ }
+}
+
+SCM_DEFINE (scm_random_state_from_platform, "random-state-from-platform", 0,
0, 0,
+ (void),
+ "Construct a new random state seeded from a platform-specific\n\
+source of entropy, appropriate for use in non-security-critical applications.")
+#define FUNC_NAME s_scm_random_state_from_platform
+{
+ unsigned char buf[32];
+ if (read_dev_urandom (buf, sizeof(buf)))
+ return make_rstate (scm_c_make_rstate ((char *) buf, sizeof(buf)));
+ else
+ return random_state_of_last_resort ();
+}
+#undef FUNC_NAME
+
void
scm_init_random ()
{
diff --git a/libguile/random.h b/libguile/random.h
index 2f1f0f6..109969e 100644
--- a/libguile/random.h
+++ b/libguile/random.h
@@ -86,6 +86,7 @@ SCM_API SCM scm_copy_random_state (SCM state);
SCM_API SCM scm_seed_to_random_state (SCM seed);
SCM_API SCM scm_datum_to_random_state (SCM datum);
SCM_API SCM scm_random_state_to_datum (SCM state);
+SCM_API SCM scm_random_state_from_platform (void);
SCM_API SCM scm_random_uniform (SCM state);
SCM_API SCM scm_random_solid_sphere_x (SCM v, SCM state);
SCM_API SCM scm_random_hollow_sphere_x (SCM v, SCM state);
@@ -94,6 +95,8 @@ SCM_API SCM scm_random_normal_vector_x (SCM v, SCM state);
SCM_API SCM scm_random_exp (SCM state);
SCM_INTERNAL void scm_init_random (void);
+SCM_INTERNAL void scm_i_random_bytes_from_platform (unsigned char *buf, size_t
len);
+
#endif /* SCM_RANDOM_H */
/*
diff --git a/libguile/strings.c b/libguile/strings.c
index cb883fa..cdd43e1 100644
--- a/libguile/strings.c
+++ b/libguile/strings.c
@@ -267,8 +267,22 @@ SCM scm_nullstr;
SCM
scm_i_make_string (size_t len, char **charsp, int read_only_p)
{
- SCM buf = make_stringbuf (len);
+ static SCM null_stringbuf = SCM_BOOL_F;
+ SCM buf;
SCM res;
+
+ if (len == 0)
+ {
+ if (SCM_UNLIKELY (scm_is_false (null_stringbuf)))
+ {
+ null_stringbuf = make_stringbuf (0);
+ SET_STRINGBUF_SHARED (null_stringbuf);
+ }
+ buf = null_stringbuf;
+ }
+ else
+ buf = make_stringbuf (len);
+
if (charsp)
*charsp = (char *) STRINGBUF_CHARS (buf);
res = scm_double_cell (read_only_p ? RO_STRING_TAG : STRING_TAG,
@@ -320,37 +334,48 @@ get_str_buf_start (SCM *str, SCM *buf, size_t *start)
SCM
scm_i_substring (SCM str, size_t start, size_t end)
{
- SCM buf;
- size_t str_start;
- get_str_buf_start (&str, &buf, &str_start);
- scm_i_pthread_mutex_lock (&stringbuf_write_mutex);
- SET_STRINGBUF_SHARED (buf);
- scm_i_pthread_mutex_unlock (&stringbuf_write_mutex);
- return scm_double_cell (STRING_TAG, SCM_UNPACK(buf),
- (scm_t_bits)str_start + start,
- (scm_t_bits) end - start);
+ if (start == end)
+ return scm_i_make_string (0, NULL, 0);
+ else
+ {
+ SCM buf;
+ size_t str_start;
+ get_str_buf_start (&str, &buf, &str_start);
+ scm_i_pthread_mutex_lock (&stringbuf_write_mutex);
+ SET_STRINGBUF_SHARED (buf);
+ scm_i_pthread_mutex_unlock (&stringbuf_write_mutex);
+ return scm_double_cell (STRING_TAG, SCM_UNPACK(buf),
+ (scm_t_bits)str_start + start,
+ (scm_t_bits) end - start);
+ }
}
SCM
scm_i_substring_read_only (SCM str, size_t start, size_t end)
{
- SCM buf;
- size_t str_start;
- get_str_buf_start (&str, &buf, &str_start);
- scm_i_pthread_mutex_lock (&stringbuf_write_mutex);
- SET_STRINGBUF_SHARED (buf);
- scm_i_pthread_mutex_unlock (&stringbuf_write_mutex);
- return scm_double_cell (RO_STRING_TAG, SCM_UNPACK(buf),
- (scm_t_bits)str_start + start,
- (scm_t_bits) end - start);
+ if (start == end)
+ return scm_i_make_string (0, NULL, 1);
+ else
+ {
+ SCM buf;
+ size_t str_start;
+ get_str_buf_start (&str, &buf, &str_start);
+ scm_i_pthread_mutex_lock (&stringbuf_write_mutex);
+ SET_STRINGBUF_SHARED (buf);
+ scm_i_pthread_mutex_unlock (&stringbuf_write_mutex);
+ return scm_double_cell (RO_STRING_TAG, SCM_UNPACK(buf),
+ (scm_t_bits)str_start + start,
+ (scm_t_bits) end - start);
+ }
}
SCM
scm_i_substring_copy (SCM str, size_t start, size_t end)
{
size_t len = end - start;
- SCM buf, my_buf;
+ SCM buf, my_buf, substr;
size_t str_start;
+ int wide = 0;
get_str_buf_start (&str, &buf, &str_start);
if (scm_i_is_narrow_string (str))
{
@@ -364,12 +389,14 @@ scm_i_substring_copy (SCM str, size_t start, size_t end)
u32_cpy ((scm_t_uint32 *) STRINGBUF_WIDE_CHARS (my_buf),
(scm_t_uint32 *) (STRINGBUF_WIDE_CHARS (buf) + str_start
+ start), len);
- /* Even though this string is wide, the substring may be narrow.
- Consider adding code to narrow the string. */
+ wide = 1;
}
scm_remember_upto_here_1 (buf);
- return scm_double_cell (STRING_TAG, SCM_UNPACK (my_buf),
- (scm_t_bits) 0, (scm_t_bits) len);
+ substr = scm_double_cell (STRING_TAG, SCM_UNPACK (my_buf),
+ (scm_t_bits) 0, (scm_t_bits) len);
+ if (wide)
+ scm_i_try_narrow_string (substr);
+ return substr;
}
SCM
@@ -377,7 +404,9 @@ scm_i_substring_shared (SCM str, size_t start, size_t end)
{
if (start == 0 && end == STRING_LENGTH (str))
return str;
- else
+ else if (start == end)
+ return scm_i_make_string (0, NULL, 0);
+ else
{
size_t len = end - start;
if (IS_SH_STRING (str))
@@ -1489,12 +1518,10 @@ scm_from_stringn (const char *str, size_t len, const
char *encoding,
scm_misc_error ("scm_from_stringn", "NULL string pointer", SCM_EOL);
if (len == (size_t) -1)
len = strlen (str);
- if (len == 0)
- return scm_nullstr;
- if (encoding == NULL)
+ if (encoding == NULL || len == 0)
{
- /* If encoding is null, use Latin-1. */
+ /* If encoding is null (or the string is empty), use Latin-1. */
char *buf;
res = scm_i_make_string (len, &buf, 0);
memcpy (buf, str, len);
diff --git a/libguile/threads.c b/libguile/threads.c
index 0dba50f..463414f 100644
--- a/libguile/threads.c
+++ b/libguile/threads.c
@@ -550,7 +550,7 @@ guilify_self_1 (struct GC_stack_base *base)
t.critical_section_level = 0;
t.base = base->mem_base;
#ifdef __ia64__
- t.register_backing_store_base = base->reg-base;
+ t.register_backing_store_base = base->reg_base;
#endif
t.continuation_root = SCM_EOL;
t.continuation_base = t.base;
@@ -1127,6 +1127,8 @@ scm_spawn_thread (scm_t_catch_body body, void *body_data,
scm_i_scm_pthread_cond_wait (&data.cond, &data.mutex);
scm_i_pthread_mutex_unlock (&data.mutex);
+ assert (SCM_I_IS_THREAD (data.thread));
+
return data.thread;
}
diff --git a/libguile/values.c b/libguile/values.c
index 005be50..fdd9359 100644
--- a/libguile/values.c
+++ b/libguile/values.c
@@ -67,6 +67,31 @@ print_values (SCM obj, SCM pwps)
return SCM_UNSPECIFIED;
}
+SCM
+scm_c_value_ref (SCM obj, size_t idx)
+{
+ if (SCM_LIKELY (SCM_VALUESP (obj)))
+ {
+ SCM values = scm_struct_ref (obj, SCM_INUM0);
+ size_t i = idx;
+ while (SCM_LIKELY (scm_is_pair (values)))
+ {
+ if (i == 0)
+ return SCM_CAR (values);
+ values = SCM_CDR (values);
+ i--;
+ }
+ }
+ else if (idx == 0)
+ return obj;
+
+ scm_error (scm_out_of_range_key,
+ "scm_c_value_ref",
+ "Too few values in ~S to access index ~S",
+ scm_list_2 (obj, scm_from_unsigned_integer (idx)),
+ scm_list_1 (scm_from_unsigned_integer (idx)));
+}
+
SCM_DEFINE (scm_values, "values", 0, 0, 1,
(SCM args),
"Delivers all of its arguments to its continuation. Except for\n"
diff --git a/libguile/values.h b/libguile/values.h
index 65ad8a1..5f79855 100644
--- a/libguile/values.h
+++ b/libguile/values.h
@@ -33,6 +33,7 @@ SCM_API SCM scm_values_vtable;
SCM_INTERNAL void scm_i_extract_values_2 (SCM obj, SCM *p1, SCM *p2);
SCM_API SCM scm_values (SCM args);
+SCM_API SCM scm_c_value_ref (SCM values, size_t idx);
SCM_INTERNAL void scm_init_values (void);
#endif /* SCM_VALUES_H */
diff --git a/libguile/vm.c b/libguile/vm.c
index 8596588..e386202 100644
--- a/libguile/vm.c
+++ b/libguile/vm.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001, 2009, 2010, 2011 Free Software Foundation, Inc.
+/* Copyright (C) 2001, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public License
@@ -280,7 +280,8 @@ vm_reinstate_partial_continuation (SCM vm, SCM cont, SCM
intwinds,
cp = SCM_VM_CONT_DATA (cont);
base = SCM_FRAME_UPPER_ADDRESS (vp->fp) + 1;
-#define RELOC(scm_p) (scm_p + cp->reloc + (base - cp->stack_base))
+#define RELOC(scm_p) \
+ (((SCM *) (scm_p)) + cp->reloc + (base - cp->stack_base))
if ((base - vp->stack_base) + cp->stack_size + n + 1 > vp->stack_size)
scm_misc_error ("vm-engine",
diff --git a/m4/00gnulib.m4 b/m4/00gnulib.m4
index 7feed46..d978cb8 100644
--- a/m4/00gnulib.m4
+++ b/m4/00gnulib.m4
@@ -1,5 +1,5 @@
# 00gnulib.m4 serial 2
-dnl Copyright (C) 2009-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2009-2012 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/m4/absolute-header.m4 b/m4/absolute-header.m4
index 400de55..8a91d20 100644
--- a/m4/absolute-header.m4
+++ b/m4/absolute-header.m4
@@ -1,5 +1,5 @@
# absolute-header.m4 serial 16
-dnl Copyright (C) 2006-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2006-2012 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
@@ -10,12 +10,12 @@ dnl From Derek Price.
# ---------------------------------------
# Find the absolute name of a header file, testing first if the header exists.
# If the header were sys/inttypes.h, this macro would define
-# ABSOLUTE_SYS_INTTYPES_H to the `""' quoted absolute name of sys/inttypes.h
+# ABSOLUTE_SYS_INTTYPES_H to the '""' quoted absolute name of sys/inttypes.h
# in config.h
-# (e.g. `#define ABSOLUTE_SYS_INTTYPES_H "///usr/include/sys/inttypes.h"').
+# (e.g. '#define ABSOLUTE_SYS_INTTYPES_H "///usr/include/sys/inttypes.h"').
# The three "///" are to pacify Sun C 5.8, which otherwise would say
# "warning: #include of /usr/include/... may be non-portable".
-# Use `""', not `<>', so that the /// cannot be confused with a C99 comment.
+# Use '""', not '<>', so that the /// cannot be confused with a C99 comment.
# Note: This macro assumes that the header file is not empty after
# preprocessing, i.e. it does not only define preprocessor macros but also
# provides some type/enum definitions or function/variable declarations.
diff --git a/m4/alloca.m4 b/m4/alloca.m4
index a8744a8..656924b 100644
--- a/m4/alloca.m4
+++ b/m4/alloca.m4
@@ -1,5 +1,5 @@
-# alloca.m4 serial 13
-dnl Copyright (C) 2002-2004, 2006-2007, 2009-2011 Free Software Foundation,
+# alloca.m4 serial 14
+dnl Copyright (C) 2002-2004, 2006-2007, 2009-2012 Free Software Foundation,
dnl Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
@@ -53,8 +53,8 @@ m4_version_prereq([2.69], [] ,[
# _AC_LIBOBJ_ALLOCA
# -----------------
-# Set up the LIBOBJ replacement of `alloca'. Well, not exactly
-# AC_LIBOBJ since we actually set the output variable `ALLOCA'.
+# Set up the LIBOBJ replacement of 'alloca'. Well, not exactly
+# AC_LIBOBJ since we actually set the output variable 'ALLOCA'.
# Nevertheless, for Automake, AC_LIBSOURCES it.
m4_define([_AC_LIBOBJ_ALLOCA],
[# The SVR3 libPW and SVR4 libucb both contain incompatible functions
@@ -63,9 +63,9 @@ m4_define([_AC_LIBOBJ_ALLOCA],
# use ar to extract alloca.o from them instead of compiling alloca.c.
AC_LIBSOURCES(alloca.c)
AC_SUBST([ALLOCA], [\${LIBOBJDIR}alloca.$ac_objext])dnl
-AC_DEFINE(C_ALLOCA, 1, [Define to 1 if using `alloca.c'.])
+AC_DEFINE(C_ALLOCA, 1, [Define to 1 if using 'alloca.c'.])
-AC_CACHE_CHECK(whether `alloca.c' needs Cray hooks, ac_cv_os_cray,
+AC_CACHE_CHECK(whether 'alloca.c' needs Cray hooks, ac_cv_os_cray,
[AC_EGREP_CPP(webecray,
[#if defined CRAY && ! defined CRAY2
webecray
@@ -77,10 +77,10 @@ if test $ac_cv_os_cray = yes; then
for ac_func in _getb67 GETB67 getb67; do
AC_CHECK_FUNC($ac_func,
[AC_DEFINE_UNQUOTED(CRAY_STACKSEG_END, $ac_func,
- [Define to one of `_getb67', `GETB67',
- `getb67' for Cray-2 and Cray-YMP
+ [Define to one of '_getb67', 'GETB67',
+ 'getb67' for Cray-2 and Cray-YMP
systems. This function is required for
- `alloca.c' support on those systems.])
+ 'alloca.c' support on those systems.])
break])
done
fi
diff --git a/m4/arpa_inet_h.m4 b/m4/arpa_inet_h.m4
index 1df7401..36915d1 100644
--- a/m4/arpa_inet_h.m4
+++ b/m4/arpa_inet_h.m4
@@ -1,5 +1,5 @@
# arpa_inet_h.m4 serial 13
-dnl Copyright (C) 2006, 2008-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2006, 2008-2012 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/m4/autobuild.m4 b/m4/autobuild.m4
index 04971d4..284dc60 100644
--- a/m4/autobuild.m4
+++ b/m4/autobuild.m4
@@ -1,5 +1,5 @@
# autobuild.m4 serial 7
-dnl Copyright (C) 2004, 2006-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2004, 2006-2012 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/m4/byteswap.m4 b/m4/byteswap.m4
index 2d4de46..f3b7ec9 100644
--- a/m4/byteswap.m4
+++ b/m4/byteswap.m4
@@ -1,5 +1,5 @@
# byteswap.m4 serial 4
-dnl Copyright (C) 2005, 2007, 2009-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2005, 2007, 2009-2012 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/m4/canonicalize.m4 b/m4/canonicalize.m4
index ba7a38b..623253f 100644
--- a/m4/canonicalize.m4
+++ b/m4/canonicalize.m4
@@ -1,6 +1,6 @@
# canonicalize.m4 serial 23
-dnl Copyright (C) 2003-2007, 2009-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2003-2007, 2009-2012 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
diff --git a/m4/ceil.m4 b/m4/ceil.m4
index b905297..fd9ac4c 100644
--- a/m4/ceil.m4
+++ b/m4/ceil.m4
@@ -1,5 +1,5 @@
# ceil.m4 serial 8
-dnl Copyright (C) 2007, 2009-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2007, 2009-2012 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/m4/check-math-lib.m4 b/m4/check-math-lib.m4
index 30bd2e4..0b77d8f 100644
--- a/m4/check-math-lib.m4
+++ b/m4/check-math-lib.m4
@@ -1,5 +1,5 @@
# check-math-lib.m4 serial 3
-dnl Copyright (C) 2007, 2009-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2007, 2009-2012 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/m4/close.m4 b/m4/close.m4
index f860a32..379e70d 100644
--- a/m4/close.m4
+++ b/m4/close.m4
@@ -1,5 +1,5 @@
# close.m4 serial 8
-dnl Copyright (C) 2008-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2008-2012 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/m4/codeset.m4 b/m4/codeset.m4
index da73552..cf53d24 100644
--- a/m4/codeset.m4
+++ b/m4/codeset.m4
@@ -1,5 +1,5 @@
# codeset.m4 serial 5 (gettext-0.18.2)
-dnl Copyright (C) 2000-2002, 2006, 2008-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2000-2002, 2006, 2008-2012 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/m4/configmake.m4 b/m4/configmake.m4
index a029823..8c82371 100644
--- a/m4/configmake.m4
+++ b/m4/configmake.m4
@@ -1,5 +1,5 @@
# configmake.m4 serial 1
-dnl Copyright (C) 2010-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2010-2012 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/m4/dirent_h.m4 b/m4/dirent_h.m4
new file mode 100644
index 0000000..f6c0fa7
--- /dev/null
+++ b/m4/dirent_h.m4
@@ -0,0 +1,64 @@
+# dirent_h.m4 serial 16
+dnl Copyright (C) 2008-2012 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl Written by Bruno Haible.
+
+AC_DEFUN([gl_DIRENT_H],
+[
+ dnl Use AC_REQUIRE here, so that the default behavior below is expanded
+ dnl once only, before all statements that occur in other macros.
+ AC_REQUIRE([gl_DIRENT_H_DEFAULTS])
+
+ dnl <dirent.h> is always overridden, because of GNULIB_POSIXCHECK.
+ gl_CHECK_NEXT_HEADERS([dirent.h])
+ if test $ac_cv_header_dirent_h = yes; then
+ HAVE_DIRENT_H=1
+ else
+ HAVE_DIRENT_H=0
+ fi
+ AC_SUBST([HAVE_DIRENT_H])
+
+ dnl Check for declarations of anything we want to poison if the
+ dnl corresponding gnulib module is not in use.
+ gl_WARN_ON_USE_PREPARE([[#include <dirent.h>
+ ]], [alphasort closedir dirfd fdopendir opendir readdir rewinddir scandir])
+])
+
+AC_DEFUN([gl_DIRENT_MODULE_INDICATOR],
+[
+ dnl Use AC_REQUIRE here, so that the default settings are expanded once only.
+ AC_REQUIRE([gl_DIRENT_H_DEFAULTS])
+ gl_MODULE_INDICATOR_SET_VARIABLE([$1])
+ dnl Define it also as a C macro, for the benefit of the unit tests.
+ gl_MODULE_INDICATOR_FOR_TESTS([$1])
+])
+
+AC_DEFUN([gl_DIRENT_H_DEFAULTS],
+[
+ AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) dnl for REPLACE_FCHDIR
+ GNULIB_OPENDIR=0; AC_SUBST([GNULIB_OPENDIR])
+ GNULIB_READDIR=0; AC_SUBST([GNULIB_READDIR])
+ GNULIB_REWINDDIR=0; AC_SUBST([GNULIB_REWINDDIR])
+ GNULIB_CLOSEDIR=0; AC_SUBST([GNULIB_CLOSEDIR])
+ GNULIB_DIRFD=0; AC_SUBST([GNULIB_DIRFD])
+ GNULIB_FDOPENDIR=0; AC_SUBST([GNULIB_FDOPENDIR])
+ GNULIB_SCANDIR=0; AC_SUBST([GNULIB_SCANDIR])
+ GNULIB_ALPHASORT=0; AC_SUBST([GNULIB_ALPHASORT])
+ dnl Assume proper GNU behavior unless another module says otherwise.
+ HAVE_OPENDIR=1; AC_SUBST([HAVE_OPENDIR])
+ HAVE_READDIR=1; AC_SUBST([HAVE_READDIR])
+ HAVE_REWINDDIR=1; AC_SUBST([HAVE_REWINDDIR])
+ HAVE_CLOSEDIR=1; AC_SUBST([HAVE_CLOSEDIR])
+ HAVE_DECL_DIRFD=1; AC_SUBST([HAVE_DECL_DIRFD])
+ HAVE_DECL_FDOPENDIR=1;AC_SUBST([HAVE_DECL_FDOPENDIR])
+ HAVE_FDOPENDIR=1; AC_SUBST([HAVE_FDOPENDIR])
+ HAVE_SCANDIR=1; AC_SUBST([HAVE_SCANDIR])
+ HAVE_ALPHASORT=1; AC_SUBST([HAVE_ALPHASORT])
+ REPLACE_OPENDIR=0; AC_SUBST([REPLACE_OPENDIR])
+ REPLACE_CLOSEDIR=0; AC_SUBST([REPLACE_CLOSEDIR])
+ REPLACE_DIRFD=0; AC_SUBST([REPLACE_DIRFD])
+ REPLACE_FDOPENDIR=0; AC_SUBST([REPLACE_FDOPENDIR])
+])
diff --git a/m4/dirfd.m4 b/m4/dirfd.m4
new file mode 100644
index 0000000..fc475d7
--- /dev/null
+++ b/m4/dirfd.m4
@@ -0,0 +1,83 @@
+# serial 22 -*- Autoconf -*-
+
+dnl Find out how to get the file descriptor associated with an open DIR*.
+
+# Copyright (C) 2001-2006, 2008-2012 Free Software Foundation, Inc.
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+dnl From Jim Meyering
+
+AC_DEFUN([gl_FUNC_DIRFD],
+[
+ AC_REQUIRE([gl_DIRENT_H_DEFAULTS])
+
+ dnl Persuade glibc <dirent.h> to declare dirfd().
+ AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS])
+
+ AC_CHECK_FUNCS([dirfd])
+ AC_CHECK_DECLS([dirfd], , ,
+ [[#include <sys/types.h>
+ #include <dirent.h>]])
+ if test $ac_cv_have_decl_dirfd = no; then
+ HAVE_DECL_DIRFD=0
+ fi
+
+ AC_CACHE_CHECK([whether dirfd is a macro],
+ gl_cv_func_dirfd_macro,
+ [AC_EGREP_CPP([dirent_header_defines_dirfd], [
+#include <sys/types.h>
+#include <dirent.h>
+#ifdef dirfd
+ dirent_header_defines_dirfd
+#endif],
+ gl_cv_func_dirfd_macro=yes,
+ gl_cv_func_dirfd_macro=no)])
+
+ # Use the replacement only if we have no function or macro with that name.
+ if test $ac_cv_func_dirfd = no && test $gl_cv_func_dirfd_macro = no; then
+ if test $ac_cv_have_decl_dirfd = yes; then
+ # If the system declares dirfd already, let's declare rpl_dirfd instead.
+ REPLACE_DIRFD=1
+ fi
+ fi
+])
+
+dnl Prerequisites of lib/dirfd.c.
+AC_DEFUN([gl_PREREQ_DIRFD],
+[
+ AC_CACHE_CHECK([how to get the file descriptor associated with an open DIR*],
+ [gl_cv_sys_dir_fd_member_name],
+ [
+ dirfd_save_CFLAGS=$CFLAGS
+ for ac_expr in d_fd dd_fd; do
+
+ CFLAGS="$CFLAGS -DDIR_FD_MEMBER_NAME=$ac_expr"
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
+ #include <sys/types.h>
+ #include <dirent.h>]],
+ [[DIR *dir_p = opendir("."); (void) dir_p->DIR_FD_MEMBER_NAME;]])],
+ [dir_fd_found=yes]
+ )
+ CFLAGS=$dirfd_save_CFLAGS
+ test "$dir_fd_found" = yes && break
+ done
+ test "$dir_fd_found" = yes || ac_expr=no_such_member
+
+ gl_cv_sys_dir_fd_member_name=$ac_expr
+ ]
+ )
+ if test $gl_cv_sys_dir_fd_member_name != no_such_member; then
+ AC_DEFINE_UNQUOTED([DIR_FD_MEMBER_NAME],
+ [$gl_cv_sys_dir_fd_member_name],
+ [the name of the file descriptor member of DIR])
+ fi
+ AH_VERBATIM([DIR_TO_FD],
+ [#ifdef DIR_FD_MEMBER_NAME
+# define DIR_TO_FD(Dir_p) ((Dir_p)->DIR_FD_MEMBER_NAME)
+#else
+# define DIR_TO_FD(Dir_p) -1
+#endif
+])
+])
diff --git a/m4/dirname.m4 b/m4/dirname.m4
index dcec7e4..65639ec 100644
--- a/m4/dirname.m4
+++ b/m4/dirname.m4
@@ -1,5 +1,5 @@
#serial 10 -*- autoconf -*-
-dnl Copyright (C) 2002-2006, 2009-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2002-2006, 2009-2012 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/m4/double-slash-root.m4 b/m4/double-slash-root.m4
index 16a4e3e..1e03751 100644
--- a/m4/double-slash-root.m4
+++ b/m4/double-slash-root.m4
@@ -1,5 +1,5 @@
# double-slash-root.m4 serial 4 -*- Autoconf -*-
-dnl Copyright (C) 2006, 2008-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2006, 2008-2012 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/m4/duplocale.m4 b/m4/duplocale.m4
index cfb7f4b..6096f5c 100644
--- a/m4/duplocale.m4
+++ b/m4/duplocale.m4
@@ -1,5 +1,5 @@
# duplocale.m4 serial 7
-dnl Copyright (C) 2009-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2009-2012 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/m4/eealloc.m4 b/m4/eealloc.m4
index 3006c48..75f17e2 100644
--- a/m4/eealloc.m4
+++ b/m4/eealloc.m4
@@ -1,5 +1,5 @@
# eealloc.m4 serial 2
-dnl Copyright (C) 2003, 2009-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2003, 2009-2012 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/m4/environ.m4 b/m4/environ.m4
index 6c7982f..8eb57c9 100644
--- a/m4/environ.m4
+++ b/m4/environ.m4
@@ -1,5 +1,5 @@
# environ.m4 serial 6
-dnl Copyright (C) 2001-2004, 2006-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2001-2004, 2006-2012 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/m4/errno_h.m4 b/m4/errno_h.m4
index 560adba..4f0bb83 100644
--- a/m4/errno_h.m4
+++ b/m4/errno_h.m4
@@ -1,5 +1,5 @@
# errno_h.m4 serial 10
-dnl Copyright (C) 2004, 2006, 2008-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2004, 2006, 2008-2012 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/m4/exponentd.m4 b/m4/exponentd.m4
index 7e91924..48df999 100644
--- a/m4/exponentd.m4
+++ b/m4/exponentd.m4
@@ -1,5 +1,5 @@
# exponentd.m4 serial 2
-dnl Copyright (C) 2007-2008, 2010-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2007-2008, 2010-2012 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/m4/exponentf.m4 b/m4/exponentf.m4
index 3a00840..94d1167 100644
--- a/m4/exponentf.m4
+++ b/m4/exponentf.m4
@@ -1,5 +1,5 @@
# exponentf.m4 serial 2
-dnl Copyright (C) 2007-2008, 2010-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2007-2008, 2010-2012 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/m4/exponentl.m4 b/m4/exponentl.m4
index 2e706b2..a7cd13b 100644
--- a/m4/exponentl.m4
+++ b/m4/exponentl.m4
@@ -1,5 +1,5 @@
# exponentl.m4 serial 3
-dnl Copyright (C) 2007-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2007-2012 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/m4/extensions.m4 b/m4/extensions.m4
index 22156e0..0bfaef6 100644
--- a/m4/extensions.m4
+++ b/m4/extensions.m4
@@ -1,7 +1,7 @@
-# serial 10 -*- Autoconf -*-
+# serial 11 -*- Autoconf -*-
# Enable extensions on systems that normally disable them.
-# Copyright (C) 2003, 2006-2011 Free Software Foundation, Inc.
+# Copyright (C) 2003, 2006-2012 Free Software Foundation, Inc.
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -43,7 +43,7 @@ AC_BEFORE([$0], [AC_RUN_IFELSE])dnl
AC_CHECK_HEADER([minix/config.h], [MINIX=yes], [MINIX=])
if test "$MINIX" = yes; then
AC_DEFINE([_POSIX_SOURCE], [1],
- [Define to 1 if you need to in order for `stat' and other
+ [Define to 1 if you need to in order for 'stat' and other
things to work.])
AC_DEFINE([_POSIX_1_SOURCE], [2],
[Define to 2 if the system does not provide POSIX.1 features
diff --git a/m4/fcntl-o.m4 b/m4/fcntl-o.m4
index bee6edc..9862741 100644
--- a/m4/fcntl-o.m4
+++ b/m4/fcntl-o.m4
@@ -1,5 +1,5 @@
# fcntl-o.m4 serial 4
-dnl Copyright (C) 2006, 2009-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2006, 2009-2012 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/m4/fcntl_h.m4 b/m4/fcntl_h.m4
index 03a41e6..cac28ae 100644
--- a/m4/fcntl_h.m4
+++ b/m4/fcntl_h.m4
@@ -1,6 +1,6 @@
# serial 15
# Configure fcntl.h.
-dnl Copyright (C) 2006-2007, 2009-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2006-2007, 2009-2012 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/m4/float_h.m4 b/m4/float_h.m4
index 0420e06..51c9c7b 100644
--- a/m4/float_h.m4
+++ b/m4/float_h.m4
@@ -1,5 +1,5 @@
# float_h.m4 serial 9
-dnl Copyright (C) 2007, 2009-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2007, 2009-2012 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/m4/flock.m4 b/m4/flock.m4
index c1b64c8..7746883 100644
--- a/m4/flock.m4
+++ b/m4/flock.m4
@@ -1,5 +1,5 @@
# flock.m4 serial 3
-dnl Copyright (C) 2008-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2008-2012 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/m4/floor.m4 b/m4/floor.m4
index 5de0da2..501d636 100644
--- a/m4/floor.m4
+++ b/m4/floor.m4
@@ -1,5 +1,5 @@
# floor.m4 serial 7
-dnl Copyright (C) 2007, 2009-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2007, 2009-2012 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/m4/fpieee.m4 b/m4/fpieee.m4
index 7872876..93b8d90 100644
--- a/m4/fpieee.m4
+++ b/m4/fpieee.m4
@@ -1,5 +1,5 @@
# fpieee.m4 serial 1
-dnl Copyright (C) 2007, 2009-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2007, 2009-2012 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/m4/frexp.m4 b/m4/frexp.m4
index b0bdd10..4162195 100644
--- a/m4/frexp.m4
+++ b/m4/frexp.m4
@@ -1,5 +1,5 @@
# frexp.m4 serial 13
-dnl Copyright (C) 2007-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2007-2012 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/m4/fstat.m4 b/m4/fstat.m4
index 0daea88..e3f8f3e 100644
--- a/m4/fstat.m4
+++ b/m4/fstat.m4
@@ -1,5 +1,5 @@
# fstat.m4 serial 1
-dnl Copyright (C) 2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2011-2012 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/m4/func.m4 b/m4/func.m4
index dcd2d4f..13c204d 100644
--- a/m4/func.m4
+++ b/m4/func.m4
@@ -1,5 +1,5 @@
# func.m4 serial 2
-dnl Copyright (C) 2008-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2008-2012 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/m4/getaddrinfo.m4 b/m4/getaddrinfo.m4
index 962e6e8..9cd3e67 100644
--- a/m4/getaddrinfo.m4
+++ b/m4/getaddrinfo.m4
@@ -1,5 +1,5 @@
# getaddrinfo.m4 serial 29
-dnl Copyright (C) 2004-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2004-2012 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/m4/glibc21.m4 b/m4/glibc21.m4
index bc81c11..c938fb1 100644
--- a/m4/glibc21.m4
+++ b/m4/glibc21.m4
@@ -1,5 +1,5 @@
# glibc21.m4 serial 5
-dnl Copyright (C) 2000-2002, 2004, 2008, 2010-2011 Free Software Foundation,
+dnl Copyright (C) 2000-2002, 2004, 2008, 2010-2012 Free Software Foundation,
dnl Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
diff --git a/m4/gnulib-cache.m4 b/m4/gnulib-cache.m4
index 3bc84fd..8065a05 100644
--- a/m4/gnulib-cache.m4
+++ b/m4/gnulib-cache.m4
@@ -1,4 +1,4 @@
-# Copyright (C) 2002-2011 Free Software Foundation, Inc.
+# Copyright (C) 2002-2012 Free Software Foundation, Inc.
#
# This file is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -27,7 +27,7 @@
# Specification in the form of a command-line invocation:
-# gnulib-tool --import --dir=. --local-dir=gnulib-local --lib=libgnu
--source-base=lib --m4-base=m4 --doc-base=doc --tests-base=tests
--aux-dir=build-aux --lgpl=3 --no-conditional-dependencies --libtool
--macro-prefix=gl --no-vc-files accept alignof alloca-opt announce-gen
autobuild bind byteswap canonicalize-lgpl ceil close connect duplocale environ
extensions flock floor fpieee frexp full-read full-write func gendocs
getaddrinfo getpeername getsockname getsockopt git-version-gen
gitlog-to-changelog gnu-web-doc-update gnupload havelib iconv_open-utf
inet_ntop inet_pton isinf isnan ldexp lib-symbol-versions lib-symbol-visibility
libunistring listen localcharset locale log1p maintainer-makefile malloc-gnu
malloca nproc open pipe2 putenv recv recvfrom rename send sendto setsockopt
shutdown socket stat-time stdlib strftime striconveh string sys_stat trunc
verify vsnprintf warnings wchar
+# gnulib-tool --import --dir=. --local-dir=gnulib-local --lib=libgnu
--source-base=lib --m4-base=m4 --doc-base=doc --tests-base=tests
--aux-dir=build-aux --lgpl=3 --no-conditional-dependencies --libtool
--macro-prefix=gl --no-vc-files accept alignof alloca-opt announce-gen
autobuild bind byteswap canonicalize-lgpl ceil close connect dirfd duplocale
environ extensions flock floor fpieee frexp full-read full-write func gendocs
getaddrinfo getpeername getsockname getsockopt git-version-gen
gitlog-to-changelog gnu-web-doc-update gnupload havelib iconv_open-utf
inet_ntop inet_pton isinf isnan ldexp lib-symbol-versions lib-symbol-visibility
libunistring listen localcharset locale log1p maintainer-makefile malloc-gnu
malloca nproc open pipe2 putenv recv recvfrom rename send sendto setenv
setsockopt shutdown socket stat-time stdlib strftime striconveh string sys_stat
trunc verify vsnprintf warnings wchar
# Specification in the form of a few gnulib-tool.m4 macro invocations:
gl_LOCAL_DIR([gnulib-local])
@@ -43,6 +43,7 @@ gl_MODULES([
ceil
close
connect
+ dirfd
duplocale
environ
extensions
@@ -89,6 +90,7 @@ gl_MODULES([
rename
send
sendto
+ setenv
setsockopt
shutdown
socket
diff --git a/m4/gnulib-common.m4 b/m4/gnulib-common.m4
index 8621dec..ae4d254 100644
--- a/m4/gnulib-common.m4
+++ b/m4/gnulib-common.m4
@@ -1,5 +1,5 @@
-# gnulib-common.m4 serial 31
-dnl Copyright (C) 2007-2011 Free Software Foundation, Inc.
+# gnulib-common.m4 serial 32
+dnl Copyright (C) 2007-2012 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
@@ -13,7 +13,7 @@ AC_DEFUN([gl_COMMON], [
])
AC_DEFUN([gl_COMMON_BODY], [
AH_VERBATIM([_Noreturn],
-[/* The _Noreturn keyword of draft C1X. */
+[/* The _Noreturn keyword of C11. */
#ifndef _Noreturn
# if (3 <= __GNUC__ || (__GNUC__ == 2 && 8 <= __GNUC_MINOR__) \
|| 0x5110 <= __SUNPRO_C)
@@ -224,7 +224,7 @@ m4_ifndef([AS_VAR_IF],
# - When AC_PROG_CC_STDC is invoked twice, it adds the C99 enabling options
# to CC twice
# <http://lists.gnu.org/archive/html/bug-gnulib/2011-09/msg00431.html>.
-# - AC_PROG_CC_STDC is likely to change when C1X is an ISO standard.
+# - AC_PROG_CC_STDC is likely to change now that C11 is an ISO standard.
AC_DEFUN([gl_PROG_CC_C99],
[
dnl Change that version number to the minimum Autoconf version that supports
diff --git a/m4/gnulib-comp.m4 b/m4/gnulib-comp.m4
index e6e68dc..9ec19f0 100644
--- a/m4/gnulib-comp.m4
+++ b/m4/gnulib-comp.m4
@@ -1,5 +1,5 @@
# DO NOT EDIT! GENERATED AUTOMATICALLY!
-# Copyright (C) 2002-2011 Free Software Foundation, Inc.
+# Copyright (C) 2002-2012 Free Software Foundation, Inc.
#
# This file is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -58,6 +58,8 @@ AC_DEFUN([gl_EARLY],
# Code from module close:
# Code from module configmake:
# Code from module connect:
+ # Code from module dirent:
+ # Code from module dirfd:
# Code from module dirname-lgpl:
# Code from module dosname:
# Code from module double-slash-root:
@@ -147,6 +149,7 @@ AC_DEFUN([gl_EARLY],
# Code from module send:
# Code from module sendto:
# Code from module servent:
+ # Code from module setenv:
# Code from module setsockopt:
# Code from module shutdown:
# Code from module signal-h:
@@ -253,6 +256,13 @@ if test "$ac_cv_header_winsock2_h" = yes; then
AC_LIBOBJ([connect])
fi
gl_SYS_SOCKET_MODULE_INDICATOR([connect])
+gl_DIRENT_H
+gl_FUNC_DIRFD
+if test $ac_cv_func_dirfd = no && test $gl_cv_func_dirfd_macro = no; then
+ AC_LIBOBJ([dirfd])
+ gl_PREREQ_DIRFD
+fi
+gl_DIRENT_MODULE_INDICATOR([dirfd])
gl_DIRNAME_LGPL
gl_DOUBLE_SLASH_ROOT
gl_FUNC_DUPLOCALE
@@ -514,6 +524,11 @@ if test "$ac_cv_header_winsock2_h" = yes; then
fi
gl_SYS_SOCKET_MODULE_INDICATOR([sendto])
gl_SERVENT
+gl_FUNC_SETENV
+if test $HAVE_SETENV = 0 || test $REPLACE_SETENV = 1; then
+ AC_LIBOBJ([setenv])
+fi
+gl_STDLIB_MODULE_INDICATOR([setenv])
AC_REQUIRE([gl_HEADER_SYS_SOCKET])
if test "$ac_cv_header_winsock2_h" = yes; then
AC_LIBOBJ([setsockopt])
@@ -786,6 +801,8 @@ AC_DEFUN([gl_FILE_LIST], [
lib/close.c
lib/config.charset
lib/connect.c
+ lib/dirent.in.h
+ lib/dirfd.c
lib/dirname-lgpl.c
lib/dirname.h
lib/dosname.h
@@ -875,6 +892,7 @@ AC_DEFUN([gl_FILE_LIST], [
lib/same-inode.h
lib/send.c
lib/sendto.c
+ lib/setenv.c
lib/setsockopt.c
lib/shutdown.c
lib/signal.in.h
@@ -937,6 +955,8 @@ AC_DEFUN([gl_FILE_LIST], [
m4/close.m4
m4/codeset.m4
m4/configmake.m4
+ m4/dirent_h.m4
+ m4/dirfd.m4
m4/dirname.m4
m4/double-slash-root.m4
m4/duplocale.m4
@@ -1014,6 +1034,7 @@ AC_DEFUN([gl_FILE_LIST], [
m4/safe-read.m4
m4/safe-write.m4
m4/servent.m4
+ m4/setenv.m4
m4/signal_h.m4
m4/size_max.m4
m4/snprintf.m4
diff --git a/m4/gnulib-tool.m4 b/m4/gnulib-tool.m4
index ed41e9d..a09ffc1 100644
--- a/m4/gnulib-tool.m4
+++ b/m4/gnulib-tool.m4
@@ -1,5 +1,5 @@
# gnulib-tool.m4 serial 2
-dnl Copyright (C) 2004-2005, 2009-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2004-2005, 2009-2012 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/m4/hostent.m4 b/m4/hostent.m4
index 36ade7e..5134775 100644
--- a/m4/hostent.m4
+++ b/m4/hostent.m4
@@ -1,5 +1,5 @@
# hostent.m4 serial 2
-dnl Copyright (C) 2008, 2010-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2008, 2010-2012 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/m4/iconv.m4 b/m4/iconv.m4
index 98fcd64..6a47236 100644
--- a/m4/iconv.m4
+++ b/m4/iconv.m4
@@ -1,5 +1,5 @@
# iconv.m4 serial 18 (gettext-0.18.2)
-dnl Copyright (C) 2000-2002, 2007-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2000-2002, 2007-2012 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/m4/iconv_h.m4 b/m4/iconv_h.m4
index 8cca7fd..aa86cf8 100644
--- a/m4/iconv_h.m4
+++ b/m4/iconv_h.m4
@@ -1,5 +1,5 @@
# iconv_h.m4 serial 8
-dnl Copyright (C) 2007-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2007-2012 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/m4/iconv_open-utf.m4 b/m4/iconv_open-utf.m4
index dd03530..f450f55 100644
--- a/m4/iconv_open-utf.m4
+++ b/m4/iconv_open-utf.m4
@@ -1,5 +1,5 @@
# iconv_open-utf.m4 serial 1
-dnl Copyright (C) 2007-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2007-2012 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/m4/iconv_open.m4 b/m4/iconv_open.m4
index accdecc..07f4849 100644
--- a/m4/iconv_open.m4
+++ b/m4/iconv_open.m4
@@ -1,5 +1,5 @@
# iconv_open.m4 serial 14
-dnl Copyright (C) 2007-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2007-2012 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/m4/include_next.m4 b/m4/include_next.m4
index 8a1fab6..a60a261 100644
--- a/m4/include_next.m4
+++ b/m4/include_next.m4
@@ -1,5 +1,5 @@
# include_next.m4 serial 23
-dnl Copyright (C) 2006-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2006-2012 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
@@ -143,7 +143,7 @@ choke me
# even if the compiler does not support include_next.
# The three "///" are to pacify Sun C 5.8, which otherwise would say
# "warning: #include of /usr/include/... may be non-portable".
-# Use `""', not `<>', so that the /// cannot be confused with a C99 comment.
+# Use '""', not '<>', so that the /// cannot be confused with a C99 comment.
# Note: This macro assumes that the header file is not empty after
# preprocessing, i.e. it does not only define preprocessor macros but also
# provides some type/enum definitions or function/variable declarations.
diff --git a/m4/inet_ntop.m4 b/m4/inet_ntop.m4
index 4936fa3..1ebd960 100644
--- a/m4/inet_ntop.m4
+++ b/m4/inet_ntop.m4
@@ -1,5 +1,5 @@
# inet_ntop.m4 serial 19
-dnl Copyright (C) 2005-2006, 2008-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2005-2006, 2008-2012 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/m4/inet_pton.m4 b/m4/inet_pton.m4
index e64da7b..e7b44e2 100644
--- a/m4/inet_pton.m4
+++ b/m4/inet_pton.m4
@@ -1,5 +1,5 @@
# inet_pton.m4 serial 17
-dnl Copyright (C) 2006, 2008-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2006, 2008-2012 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/m4/inline.m4 b/m4/inline.m4
index a459080..6fa9972 100644
--- a/m4/inline.m4
+++ b/m4/inline.m4
@@ -1,5 +1,5 @@
# inline.m4 serial 4
-dnl Copyright (C) 2006, 2009-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2006, 2009-2012 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/m4/intmax_t.m4 b/m4/intmax_t.m4
index 7341054..c1a4a75 100644
--- a/m4/intmax_t.m4
+++ b/m4/intmax_t.m4
@@ -1,5 +1,5 @@
# intmax_t.m4 serial 8
-dnl Copyright (C) 1997-2004, 2006-2007, 2009-2011 Free Software Foundation,
+dnl Copyright (C) 1997-2004, 2006-2007, 2009-2012 Free Software Foundation,
dnl Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
diff --git a/m4/inttypes_h.m4 b/m4/inttypes_h.m4
index f10fd54..91c7bca 100644
--- a/m4/inttypes_h.m4
+++ b/m4/inttypes_h.m4
@@ -1,5 +1,5 @@
# inttypes_h.m4 serial 10
-dnl Copyright (C) 1997-2004, 2006, 2008-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 1997-2004, 2006, 2008-2012 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/m4/isinf.m4 b/m4/isinf.m4
index 3e4b900..0f6309e 100644
--- a/m4/isinf.m4
+++ b/m4/isinf.m4
@@ -1,5 +1,5 @@
# isinf.m4 serial 9
-dnl Copyright (C) 2007-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2007-2012 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/m4/isnan.m4 b/m4/isnan.m4
index a99cbb3..7ad7127 100644
--- a/m4/isnan.m4
+++ b/m4/isnan.m4
@@ -1,5 +1,5 @@
# isnan.m4 serial 5
-dnl Copyright (C) 2007-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2007-2012 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/m4/isnand.m4 b/m4/isnand.m4
index 48f1a48..54b64a4 100644
--- a/m4/isnand.m4
+++ b/m4/isnand.m4
@@ -1,5 +1,5 @@
# isnand.m4 serial 11
-dnl Copyright (C) 2007-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2007-2012 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/m4/isnanf.m4 b/m4/isnanf.m4
index 66ed954..97f638a 100644
--- a/m4/isnanf.m4
+++ b/m4/isnanf.m4
@@ -1,5 +1,5 @@
# isnanf.m4 serial 14
-dnl Copyright (C) 2007-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2007-2012 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/m4/isnanl.m4 b/m4/isnanl.m4
index daabe2a..81469ab 100644
--- a/m4/isnanl.m4
+++ b/m4/isnanl.m4
@@ -1,5 +1,5 @@
# isnanl.m4 serial 17
-dnl Copyright (C) 2007-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2007-2012 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/m4/largefile.m4 b/m4/largefile.m4
index d83fea1..1369bbe 100644
--- a/m4/largefile.m4
+++ b/m4/largefile.m4
@@ -1,6 +1,6 @@
# Enable large files on systems where this is not the default.
-# Copyright 1992-1996, 1998-2011 Free Software Foundation, Inc.
+# Copyright 1992-1996, 1998-2012 Free Software Foundation, Inc.
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
diff --git a/m4/ld-version-script.m4 b/m4/ld-version-script.m4
index aec2f41..5ed93ef 100644
--- a/m4/ld-version-script.m4
+++ b/m4/ld-version-script.m4
@@ -1,5 +1,5 @@
-# ld-version-script.m4 serial 2
-dnl Copyright (C) 2008-2011 Free Software Foundation, Inc.
+# ld-version-script.m4 serial 3
+dnl Copyright (C) 2008-2012 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
@@ -26,6 +26,12 @@ AC_DEFUN([gl_LD_VERSION_SCRIPT],
save_LDFLAGS="$LDFLAGS"
LDFLAGS="$LDFLAGS -Wl,--version-script=conftest.map"
cat > conftest.map <<EOF
+foo
+EOF
+ AC_LINK_IFELSE([AC_LANG_PROGRAM([], [])],
+ [accepts_syntax_errors=yes], [accepts_syntax_errors=no])
+ if test "$accepts_syntax_errors" = no; then
+ cat > conftest.map <<EOF
VERS_1 {
global: sym;
};
@@ -34,8 +40,11 @@ VERS_2 {
global: sym;
} VERS_1;
EOF
- AC_LINK_IFELSE([AC_LANG_PROGRAM([], [])],
- [have_ld_version_script=yes], [have_ld_version_script=no])
+ AC_LINK_IFELSE([AC_LANG_PROGRAM([], [])],
+ [have_ld_version_script=yes], [have_ld_version_script=no])
+ else
+ have_ld_version_script=no
+ fi
rm -f conftest.map
LDFLAGS="$save_LDFLAGS"
AC_MSG_RESULT($have_ld_version_script)
diff --git a/m4/ldexp.m4 b/m4/ldexp.m4
index dd400d4..6d26b56 100644
--- a/m4/ldexp.m4
+++ b/m4/ldexp.m4
@@ -1,5 +1,5 @@
# ldexp.m4 serial 1
-dnl Copyright (C) 2010-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2010-2012 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/m4/lib-ld.m4 b/m4/lib-ld.m4
index ae003f7..4e1374d 100644
--- a/m4/lib-ld.m4
+++ b/m4/lib-ld.m4
@@ -1,5 +1,5 @@
# lib-ld.m4 serial 5 (gettext-0.18.2)
-dnl Copyright (C) 1996-2003, 2009-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 1996-2003, 2009-2012 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/m4/lib-link.m4 b/m4/lib-link.m4
index e7c9ba9..d11b4b4 100644
--- a/m4/lib-link.m4
+++ b/m4/lib-link.m4
@@ -1,5 +1,5 @@
# lib-link.m4 serial 26 (gettext-0.18.2)
-dnl Copyright (C) 2001-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2001-2012 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/m4/lib-prefix.m4 b/m4/lib-prefix.m4
index 7e5f0bd..007aa05 100644
--- a/m4/lib-prefix.m4
+++ b/m4/lib-prefix.m4
@@ -1,5 +1,5 @@
# lib-prefix.m4 serial 7 (gettext-0.18)
-dnl Copyright (C) 2001-2005, 2008-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2001-2005, 2008-2012 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/m4/libunistring-base.m4 b/m4/libunistring-base.m4
index 9831448..d91c42b 100644
--- a/m4/libunistring-base.m4
+++ b/m4/libunistring-base.m4
@@ -1,5 +1,5 @@
# libunistring-base.m4 serial 5
-dnl Copyright (C) 2010-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2010-2012 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/m4/libunistring.m4 b/m4/libunistring.m4
index 19c6860..c1bf4d5 100644
--- a/m4/libunistring.m4
+++ b/m4/libunistring.m4
@@ -1,5 +1,5 @@
# libunistring.m4 serial 11
-dnl Copyright (C) 2009-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2009-2012 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/m4/localcharset.m4 b/m4/localcharset.m4
index 6801ca9..8010379 100644
--- a/m4/localcharset.m4
+++ b/m4/localcharset.m4
@@ -1,5 +1,5 @@
# localcharset.m4 serial 7
-dnl Copyright (C) 2002, 2004, 2006, 2009-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2002, 2004, 2006, 2009-2012 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/m4/locale_h.m4 b/m4/locale_h.m4
index e77a303..4289587 100644
--- a/m4/locale_h.m4
+++ b/m4/locale_h.m4
@@ -1,5 +1,5 @@
# locale_h.m4 serial 14
-dnl Copyright (C) 2007, 2009-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2007, 2009-2012 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/m4/longlong.m4 b/m4/longlong.m4
index aed816c..b9c65c7 100644
--- a/m4/longlong.m4
+++ b/m4/longlong.m4
@@ -1,5 +1,5 @@
-# longlong.m4 serial 16
-dnl Copyright (C) 1999-2007, 2009-2011 Free Software Foundation, Inc.
+# longlong.m4 serial 17
+dnl Copyright (C) 1999-2007, 2009-2012 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
@@ -51,7 +51,7 @@ AC_DEFUN([AC_TYPE_LONG_LONG_INT],
fi])
if test $ac_cv_type_long_long_int = yes; then
AC_DEFINE([HAVE_LONG_LONG_INT], [1],
- [Define to 1 if the system has the type `long long int'.])
+ [Define to 1 if the system has the type 'long long int'.])
fi
])
@@ -77,7 +77,7 @@ AC_DEFUN([AC_TYPE_UNSIGNED_LONG_LONG_INT],
fi])
if test $ac_cv_type_unsigned_long_long_int = yes; then
AC_DEFINE([HAVE_UNSIGNED_LONG_LONG_INT], [1],
- [Define to 1 if the system has the type `unsigned long long int'.])
+ [Define to 1 if the system has the type 'unsigned long long int'.])
fi
])
diff --git a/m4/lstat.m4 b/m4/lstat.m4
index fe161d4..b83858b 100644
--- a/m4/lstat.m4
+++ b/m4/lstat.m4
@@ -1,6 +1,6 @@
-# serial 23
+# serial 24
-# Copyright (C) 1997-2001, 2003-2011 Free Software Foundation, Inc.
+# Copyright (C) 1997-2001, 2003-2012 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -65,6 +65,6 @@ AC_DEFUN([gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK],
])
test $gl_cv_func_lstat_dereferences_slashed_symlink = yes &&
AC_DEFINE_UNQUOTED([LSTAT_FOLLOWS_SLASHED_SYMLINK], [1],
- [Define to 1 if `lstat' dereferences a symlink specified
+ [Define to 1 if 'lstat' dereferences a symlink specified
with a trailing slash.])
])
diff --git a/m4/malloc.m4 b/m4/malloc.m4
index 87018ec..d3c39f5 100644
--- a/m4/malloc.m4
+++ b/m4/malloc.m4
@@ -1,5 +1,5 @@
# malloc.m4 serial 13
-dnl Copyright (C) 2007, 2009-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2007, 2009-2012 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/m4/malloca.m4 b/m4/malloca.m4
index aec43f5..7841979 100644
--- a/m4/malloca.m4
+++ b/m4/malloca.m4
@@ -1,5 +1,5 @@
# malloca.m4 serial 1
-dnl Copyright (C) 2003-2004, 2006-2007, 2009-2011 Free Software Foundation,
+dnl Copyright (C) 2003-2004, 2006-2007, 2009-2012 Free Software Foundation,
dnl Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
diff --git a/m4/math_h.m4 b/m4/math_h.m4
index e58a9e9..5d7d52b 100644
--- a/m4/math_h.m4
+++ b/m4/math_h.m4
@@ -1,5 +1,5 @@
# math_h.m4 serial 56
-dnl Copyright (C) 2007-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2007-2012 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/m4/mathfunc.m4 b/m4/mathfunc.m4
index c75e7b9..def871a 100644
--- a/m4/mathfunc.m4
+++ b/m4/mathfunc.m4
@@ -1,5 +1,5 @@
# mathfunc.m4 serial 10
-dnl Copyright (C) 2010-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2010-2012 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/m4/memchr.m4 b/m4/memchr.m4
index f6dc3e7..0040294 100644
--- a/m4/memchr.m4
+++ b/m4/memchr.m4
@@ -1,5 +1,5 @@
# memchr.m4 serial 12
-dnl Copyright (C) 2002-2004, 2009-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2002-2004, 2009-2012 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/m4/mmap-anon.m4 b/m4/mmap-anon.m4
index 952536f..4613cbe 100644
--- a/m4/mmap-anon.m4
+++ b/m4/mmap-anon.m4
@@ -1,5 +1,5 @@
# mmap-anon.m4 serial 9
-dnl Copyright (C) 2005, 2007, 2009-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2005, 2007, 2009-2012 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/m4/mode_t.m4 b/m4/mode_t.m4
index f9cf704..40f612a 100644
--- a/m4/mode_t.m4
+++ b/m4/mode_t.m4
@@ -1,5 +1,5 @@
# mode_t.m4 serial 2
-dnl Copyright (C) 2009-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2009-2012 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/m4/msvc-inval.m4 b/m4/msvc-inval.m4
index fb797f0..8db4617 100644
--- a/m4/msvc-inval.m4
+++ b/m4/msvc-inval.m4
@@ -1,5 +1,5 @@
# msvc-inval.m4 serial 1
-dnl Copyright (C) 2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2011-2012 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/m4/msvc-nothrow.m4 b/m4/msvc-nothrow.m4
index b2f6bb4..0125050 100644
--- a/m4/msvc-nothrow.m4
+++ b/m4/msvc-nothrow.m4
@@ -1,5 +1,5 @@
# msvc-nothrow.m4 serial 1
-dnl Copyright (C) 2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2011-2012 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/m4/multiarch.m4 b/m4/multiarch.m4
index 691d892..b424dce 100644
--- a/m4/multiarch.m4
+++ b/m4/multiarch.m4
@@ -1,5 +1,5 @@
# multiarch.m4 serial 6
-dnl Copyright (C) 2008-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2008-2012 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/m4/netdb_h.m4 b/m4/netdb_h.m4
index a54d670..e0f3ee8 100644
--- a/m4/netdb_h.m4
+++ b/m4/netdb_h.m4
@@ -1,5 +1,5 @@
# netdb_h.m4 serial 11
-dnl Copyright (C) 2008-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2008-2012 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/m4/netinet_in_h.m4 b/m4/netinet_in_h.m4
index 87235b7..e181388 100644
--- a/m4/netinet_in_h.m4
+++ b/m4/netinet_in_h.m4
@@ -1,5 +1,5 @@
# netinet_in_h.m4 serial 5
-dnl Copyright (C) 2006-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2006-2012 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/m4/nocrash.m4 b/m4/nocrash.m4
index 60aad95..08ef825 100644
--- a/m4/nocrash.m4
+++ b/m4/nocrash.m4
@@ -1,5 +1,5 @@
# nocrash.m4 serial 3
-dnl Copyright (C) 2005, 2009-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2005, 2009-2012 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/m4/nproc.m4 b/m4/nproc.m4
index 4664ffb..a94b97f 100644
--- a/m4/nproc.m4
+++ b/m4/nproc.m4
@@ -1,5 +1,5 @@
# nproc.m4 serial 4
-dnl Copyright (C) 2009-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2009-2012 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/m4/open.m4 b/m4/open.m4
index d819184..c85971d 100644
--- a/m4/open.m4
+++ b/m4/open.m4
@@ -1,5 +1,5 @@
# open.m4 serial 13
-dnl Copyright (C) 2007-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2007-2012 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/m4/pathmax.m4 b/m4/pathmax.m4
index 4913fa0..0117861 100644
--- a/m4/pathmax.m4
+++ b/m4/pathmax.m4
@@ -1,5 +1,5 @@
# pathmax.m4 serial 10
-dnl Copyright (C) 2002-2003, 2005-2006, 2009-2011 Free Software Foundation,
+dnl Copyright (C) 2002-2003, 2005-2006, 2009-2012 Free Software Foundation,
dnl Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
diff --git a/m4/pipe2.m4 b/m4/pipe2.m4
index 10f1e14..00ad82b 100644
--- a/m4/pipe2.m4
+++ b/m4/pipe2.m4
@@ -1,5 +1,5 @@
# pipe2.m4 serial 2
-dnl Copyright (C) 2009-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2009-2012 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/m4/printf.m4 b/m4/printf.m4
index 0814c91..d75aca0 100644
--- a/m4/printf.m4
+++ b/m4/printf.m4
@@ -1,5 +1,5 @@
-# printf.m4 serial 46
-dnl Copyright (C) 2003, 2007-2011 Free Software Foundation, Inc.
+# printf.m4 serial 48
+dnl Copyright (C) 2003, 2007-2012 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
@@ -952,7 +952,7 @@ int main ()
[
changequote(,)dnl
case "$host_os" in
- # Guess no only on Solaris, native Win32, and BeOS systems.
+ # Guess no only on Solaris, native Windows, and BeOS systems.
solaris*) gl_cv_func_printf_precision="guessing no" ;;
mingw* | pw*) gl_cv_func_printf_precision="guessing no" ;;
beos*) gl_cv_func_printf_precision="guessing no" ;;
@@ -1545,7 +1545,7 @@ dnl OpenBSD 3.9, 4.0 . . # # # # .
# . # . # . # .
dnl Cygwin 1.7.0 (2009) . . . # . . . ? . . . . . ?
. . . . . .
dnl Cygwin 1.5.25 (2008) . . . # # . . # . . . . . #
. . . . . .
dnl Cygwin 1.5.19 (2006) # . . # # # . # . # . # # #
. . . . . .
-dnl Solaris 11 2010-11 . . # # # . . # . . . # . .
. . . . . .
+dnl Solaris 11 2011-11 . . # # # . . # . . . # . .
. . . . . .
dnl Solaris 10 . . # # # . . # . . . # # .
. . . . . .
dnl Solaris 2.6 ... 9 # . # # # # . # . . . # # .
. . # . . .
dnl Solaris 2.5.1 # . # # # # . # . . . # . .
# # # # # #
diff --git a/m4/putenv.m4 b/m4/putenv.m4
index 1497b4a..1cb23a5 100644
--- a/m4/putenv.m4
+++ b/m4/putenv.m4
@@ -1,5 +1,5 @@
# putenv.m4 serial 18
-dnl Copyright (C) 2002-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2002-2012 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/m4/raise.m4 b/m4/raise.m4
index 0ceed77..18eb8b9 100644
--- a/m4/raise.m4
+++ b/m4/raise.m4
@@ -1,5 +1,5 @@
# raise.m4 serial 2
-dnl Copyright (C) 2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2011-2012 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/m4/read.m4 b/m4/read.m4
index 5d484b6..69aeb09 100644
--- a/m4/read.m4
+++ b/m4/read.m4
@@ -1,5 +1,5 @@
# read.m4 serial 3
-dnl Copyright (C) 2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2011-2012 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/m4/readlink.m4 b/m4/readlink.m4
index 91d7df3..107083f 100644
--- a/m4/readlink.m4
+++ b/m4/readlink.m4
@@ -1,5 +1,5 @@
# readlink.m4 serial 11
-dnl Copyright (C) 2003, 2007, 2009-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2003, 2007, 2009-2012 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/m4/rename.m4 b/m4/rename.m4
index af8d584..59cc5c7 100644
--- a/m4/rename.m4
+++ b/m4/rename.m4
@@ -1,6 +1,6 @@
# serial 25
-# Copyright (C) 2001, 2003, 2005-2006, 2009-2011 Free Software Foundation, Inc.
+# Copyright (C) 2001, 2003, 2005-2006, 2009-2012 Free Software Foundation, Inc.
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
diff --git a/m4/rmdir.m4 b/m4/rmdir.m4
index 0b1a65c..c5f24cd 100644
--- a/m4/rmdir.m4
+++ b/m4/rmdir.m4
@@ -1,5 +1,5 @@
# rmdir.m4 serial 12
-dnl Copyright (C) 2002, 2005, 2009-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2002, 2005, 2009-2012 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/m4/safe-read.m4 b/m4/safe-read.m4
index 7916242..c82acdb 100644
--- a/m4/safe-read.m4
+++ b/m4/safe-read.m4
@@ -1,5 +1,5 @@
# safe-read.m4 serial 6
-dnl Copyright (C) 2002-2003, 2005-2006, 2009-2011 Free Software Foundation,
+dnl Copyright (C) 2002-2003, 2005-2006, 2009-2012 Free Software Foundation,
dnl Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
diff --git a/m4/safe-write.m4 b/m4/safe-write.m4
index 6631ab6..c1eff6e 100644
--- a/m4/safe-write.m4
+++ b/m4/safe-write.m4
@@ -1,5 +1,5 @@
# safe-write.m4 serial 4
-dnl Copyright (C) 2002, 2005-2006, 2009-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2002, 2005-2006, 2009-2012 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/m4/servent.m4 b/m4/servent.m4
index c5df01c..21da957 100644
--- a/m4/servent.m4
+++ b/m4/servent.m4
@@ -1,5 +1,5 @@
# servent.m4 serial 2
-dnl Copyright (C) 2008, 2010-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2008, 2010-2012 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/m4/setenv.m4 b/m4/setenv.m4
new file mode 100644
index 0000000..a1f30bc
--- /dev/null
+++ b/m4/setenv.m4
@@ -0,0 +1,140 @@
+# setenv.m4 serial 25
+dnl Copyright (C) 2001-2004, 2006-2012 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+AC_DEFUN([gl_FUNC_SETENV],
+[
+ AC_REQUIRE([gl_FUNC_SETENV_SEPARATE])
+ if test $ac_cv_func_setenv = no; then
+ HAVE_SETENV=0
+ else
+ AC_CACHE_CHECK([whether setenv validates arguments],
+ [gl_cv_func_setenv_works],
+ [AC_RUN_IFELSE([AC_LANG_PROGRAM([[
+ #include <stdlib.h>
+ #include <errno.h>
+ #include <string.h>
+ ]], [[
+ int result = 0;
+ {
+ if (setenv ("", "", 0) != -1)
+ result |= 1;
+ else if (errno != EINVAL)
+ result |= 2;
+ }
+ {
+ if (setenv ("a", "=", 1) != 0)
+ result |= 4;
+ else if (strcmp (getenv ("a"), "=") != 0)
+ result |= 8;
+ }
+ return result;
+ ]])],
+ [gl_cv_func_setenv_works=yes], [gl_cv_func_setenv_works=no],
+ [gl_cv_func_setenv_works="guessing no"])])
+ if test "$gl_cv_func_setenv_works" != yes; then
+ REPLACE_SETENV=1
+ fi
+ fi
+])
+
+# Like gl_FUNC_SETENV, except prepare for separate compilation
+# (no REPLACE_SETENV, no AC_LIBOBJ).
+AC_DEFUN([gl_FUNC_SETENV_SEPARATE],
+[
+ AC_REQUIRE([gl_STDLIB_H_DEFAULTS])
+ AC_CHECK_DECLS_ONCE([setenv])
+ if test $ac_cv_have_decl_setenv = no; then
+ HAVE_DECL_SETENV=0
+ fi
+ AC_CHECK_FUNCS_ONCE([setenv])
+ gl_PREREQ_SETENV
+])
+
+AC_DEFUN([gl_FUNC_UNSETENV],
+[
+ AC_REQUIRE([gl_STDLIB_H_DEFAULTS])
+ AC_CHECK_DECLS_ONCE([unsetenv])
+ if test $ac_cv_have_decl_unsetenv = no; then
+ HAVE_DECL_UNSETENV=0
+ fi
+ AC_CHECK_FUNCS([unsetenv])
+ if test $ac_cv_func_unsetenv = no; then
+ HAVE_UNSETENV=0
+ else
+ HAVE_UNSETENV=1
+ dnl Some BSDs return void, failing to do error checking.
+ AC_CACHE_CHECK([for unsetenv() return type], [gt_cv_func_unsetenv_ret],
+ [AC_COMPILE_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[
+#undef _BSD
+#define _BSD 1 /* unhide unsetenv declaration in OSF/1 5.1 <stdlib.h> */
+#include <stdlib.h>
+extern
+#ifdef __cplusplus
+"C"
+#endif
+int unsetenv (const char *name);
+ ]],
+ [[]])],
+ [gt_cv_func_unsetenv_ret='int'],
+ [gt_cv_func_unsetenv_ret='void'])])
+ if test $gt_cv_func_unsetenv_ret = 'void'; then
+ AC_DEFINE([VOID_UNSETENV], [1], [Define to 1 if unsetenv returns void
+ instead of int.])
+ REPLACE_UNSETENV=1
+ fi
+
+ dnl Solaris 10 unsetenv does not remove all copies of a name.
+ dnl Haiku alpha 2 unsetenv gets confused by assignment to environ.
+ dnl OpenBSD 4.7 unsetenv("") does not fail.
+ AC_CACHE_CHECK([whether unsetenv obeys POSIX],
+ [gl_cv_func_unsetenv_works],
+ [AC_RUN_IFELSE([AC_LANG_PROGRAM([[
+ #include <stdlib.h>
+ #include <errno.h>
+ extern char **environ;
+ ]], [[
+ char entry1[] = "a=1";
+ char entry2[] = "b=2";
+ char *env[] = { entry1, entry2, NULL };
+ if (putenv ((char *) "a=1")) return 1;
+ if (putenv (entry2)) return 2;
+ entry2[0] = 'a';
+ unsetenv ("a");
+ if (getenv ("a")) return 3;
+ if (!unsetenv ("") || errno != EINVAL) return 4;
+ entry2[0] = 'b';
+ environ = env;
+ if (!getenv ("a")) return 5;
+ entry2[0] = 'a';
+ unsetenv ("a");
+ if (getenv ("a")) return 6;
+ ]])],
+ [gl_cv_func_unsetenv_works=yes], [gl_cv_func_unsetenv_works=no],
+ [gl_cv_func_unsetenv_works="guessing no"])])
+ if test "$gl_cv_func_unsetenv_works" != yes; then
+ REPLACE_UNSETENV=1
+ fi
+ fi
+])
+
+# Prerequisites of lib/setenv.c.
+AC_DEFUN([gl_PREREQ_SETENV],
+[
+ AC_REQUIRE([AC_FUNC_ALLOCA])
+ AC_REQUIRE([gl_ENVIRON])
+ AC_CHECK_HEADERS_ONCE([unistd.h])
+ AC_CHECK_HEADERS([search.h])
+ AC_CHECK_FUNCS([tsearch])
+])
+
+# Prerequisites of lib/unsetenv.c.
+AC_DEFUN([gl_PREREQ_UNSETENV],
+[
+ AC_REQUIRE([gl_ENVIRON])
+ AC_CHECK_HEADERS_ONCE([unistd.h])
+])
diff --git a/m4/signal_h.m4 b/m4/signal_h.m4
index 5cf54a0..ed4d730 100644
--- a/m4/signal_h.m4
+++ b/m4/signal_h.m4
@@ -1,5 +1,5 @@
# signal_h.m4 serial 18
-dnl Copyright (C) 2007-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2007-2012 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/m4/size_max.m4 b/m4/size_max.m4
index e807098..5a8162b 100644
--- a/m4/size_max.m4
+++ b/m4/size_max.m4
@@ -1,5 +1,5 @@
# size_max.m4 serial 10
-dnl Copyright (C) 2003, 2005-2006, 2008-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2003, 2005-2006, 2008-2012 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/m4/snprintf.m4 b/m4/snprintf.m4
index 6f71623..de94edd 100644
--- a/m4/snprintf.m4
+++ b/m4/snprintf.m4
@@ -1,5 +1,5 @@
# snprintf.m4 serial 6
-dnl Copyright (C) 2002-2004, 2007-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2002-2004, 2007-2012 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/m4/socketlib.m4 b/m4/socketlib.m4
index 2aa972d..92a1af2 100644
--- a/m4/socketlib.m4
+++ b/m4/socketlib.m4
@@ -1,5 +1,5 @@
# socketlib.m4 serial 1
-dnl Copyright (C) 2008-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2008-2012 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/m4/sockets.m4 b/m4/sockets.m4
index cbe754f..e3738d9 100644
--- a/m4/sockets.m4
+++ b/m4/sockets.m4
@@ -1,5 +1,5 @@
# sockets.m4 serial 7
-dnl Copyright (C) 2008-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2008-2012 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/m4/socklen.m4 b/m4/socklen.m4
index 4475154..a4ab43b 100644
--- a/m4/socklen.m4
+++ b/m4/socklen.m4
@@ -1,5 +1,5 @@
# socklen.m4 serial 10
-dnl Copyright (C) 2005-2007, 2009-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2005-2007, 2009-2012 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/m4/sockpfaf.m4 b/m4/sockpfaf.m4
index c38daea..5f97c3e 100644
--- a/m4/sockpfaf.m4
+++ b/m4/sockpfaf.m4
@@ -1,5 +1,5 @@
# sockpfaf.m4 serial 8
-dnl Copyright (C) 2004, 2006, 2009-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2004, 2006, 2009-2012 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/m4/ssize_t.m4 b/m4/ssize_t.m4
index d712752..209d64c 100644
--- a/m4/ssize_t.m4
+++ b/m4/ssize_t.m4
@@ -1,5 +1,5 @@
# ssize_t.m4 serial 5 (gettext-0.18.2)
-dnl Copyright (C) 2001-2003, 2006, 2010-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2001-2003, 2006, 2010-2012 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/m4/stat-time.m4 b/m4/stat-time.m4
index 75ddbee..2dbb1f3 100644
--- a/m4/stat-time.m4
+++ b/m4/stat-time.m4
@@ -1,6 +1,6 @@
# Checks for stat-related time functions.
-# Copyright (C) 1998-1999, 2001, 2003, 2005-2007, 2009-2011 Free Software
+# Copyright (C) 1998-1999, 2001, 2003, 2005-2007, 2009-2012 Free Software
# Foundation, Inc.
# This file is free software; the Free Software Foundation
diff --git a/m4/stat.m4 b/m4/stat.m4
index c63f59f..d67dbcd 100644
--- a/m4/stat.m4
+++ b/m4/stat.m4
@@ -1,6 +1,6 @@
# serial 8
-# Copyright (C) 2009-2011 Free Software Foundation, Inc.
+# Copyright (C) 2009-2012 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
diff --git a/m4/stdalign.m4 b/m4/stdalign.m4
index 2641dce..9752ba5 100644
--- a/m4/stdalign.m4
+++ b/m4/stdalign.m4
@@ -1,6 +1,6 @@
-# Check for stdalign.h that conforms to C1x.
+# Check for stdalign.h that conforms to C11.
-dnl Copyright 2011 Free Software Foundation, Inc.
+dnl Copyright 2011-2012 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/m4/stdbool.m4 b/m4/stdbool.m4
index 1ebf3e6..eabfa64 100644
--- a/m4/stdbool.m4
+++ b/m4/stdbool.m4
@@ -1,6 +1,6 @@
# Check for stdbool.h that conforms to C99.
-dnl Copyright (C) 2002-2006, 2009-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2002-2006, 2009-2012 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/m4/stddef_h.m4 b/m4/stddef_h.m4
index 1ae2344..cc11609 100644
--- a/m4/stddef_h.m4
+++ b/m4/stddef_h.m4
@@ -1,6 +1,6 @@
dnl A placeholder for POSIX 2008 <stddef.h>, for platforms that have issues.
# stddef_h.m4 serial 4
-dnl Copyright (C) 2009-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2009-2012 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/m4/stdint.m4 b/m4/stdint.m4
index cfad016..28d342e 100644
--- a/m4/stdint.m4
+++ b/m4/stdint.m4
@@ -1,5 +1,5 @@
-# stdint.m4 serial 42
-dnl Copyright (C) 2001-2011 Free Software Foundation, Inc.
+# stdint.m4 serial 43
+dnl Copyright (C) 2001-2012 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
@@ -69,8 +69,6 @@ AC_DEFUN_ONCE([gl_STDINT_H],
[gl_cv_header_working_stdint_h=no
AC_COMPILE_IFELSE([
AC_LANG_PROGRAM([[
-#define __STDC_LIMIT_MACROS 1 /* to make it work also in C++ before C++11 */
-#define __STDC_CONSTANT_MACROS 1 /* to make it work also in C++ before C++11 */
#define _GL_JUST_INCLUDE_SYSTEM_STDINT_H 1 /* work if build isn't clean */
#include <stdint.h>
/* Dragonfly defines WCHAR_MIN, WCHAR_MAX only in <wchar.h>. */
@@ -219,8 +217,6 @@ struct s {
dnl This detects a bug on HP-UX 11.23/ia64.
AC_RUN_IFELSE([
AC_LANG_PROGRAM([[
-#define __STDC_LIMIT_MACROS 1 /* to make it work also in C++ before C++11 */
-#define __STDC_CONSTANT_MACROS 1 /* to make it work also in C++ before C++11 */
#define _GL_JUST_INCLUDE_SYSTEM_STDINT_H 1 /* work if build isn't clean */
#include <stdint.h>
]
diff --git a/m4/stdint_h.m4 b/m4/stdint_h.m4
index 356b14e..581de96 100644
--- a/m4/stdint_h.m4
+++ b/m4/stdint_h.m4
@@ -1,5 +1,5 @@
# stdint_h.m4 serial 9
-dnl Copyright (C) 1997-2004, 2006, 2008-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 1997-2004, 2006, 2008-2012 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/m4/stdio_h.m4 b/m4/stdio_h.m4
index 39bf80e..1973e8d 100644
--- a/m4/stdio_h.m4
+++ b/m4/stdio_h.m4
@@ -1,5 +1,5 @@
# stdio_h.m4 serial 40
-dnl Copyright (C) 2007-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2007-2012 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/m4/stdlib_h.m4 b/m4/stdlib_h.m4
index 0a8a9e5..ab43728 100644
--- a/m4/stdlib_h.m4
+++ b/m4/stdlib_h.m4
@@ -1,5 +1,5 @@
-# stdlib_h.m4 serial 39
-dnl Copyright (C) 2007-2011 Free Software Foundation, Inc.
+# stdlib_h.m4 serial 41
+dnl Copyright (C) 2007-2012 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
@@ -20,8 +20,9 @@ AC_DEFUN([gl_STDLIB_H],
# include <random.h>
#endif
]], [_Exit atoll canonicalize_file_name getloadavg getsubopt grantpt
- initstate_r mkdtemp mkostemp mkostemps mkstemp mkstemps posix_openpt
- ptsname ptsname_r random_r realpath rpmatch setenv setstate_r srandom_r
+ initstate initstate_r mkdtemp mkostemp mkostemps mkstemp mkstemps
+ posix_openpt ptsname ptsname_r random random_r realpath rpmatch
+ setenv setstate setstate_r srandom srandom_r
strtod strtoll strtoull unlockpt unsetenv])
])
@@ -54,6 +55,7 @@ AC_DEFUN([gl_STDLIB_H_DEFAULTS],
GNULIB_PTSNAME=0; AC_SUBST([GNULIB_PTSNAME])
GNULIB_PTSNAME_R=0; AC_SUBST([GNULIB_PTSNAME_R])
GNULIB_PUTENV=0; AC_SUBST([GNULIB_PUTENV])
+ GNULIB_RANDOM=0; AC_SUBST([GNULIB_RANDOM])
GNULIB_RANDOM_R=0; AC_SUBST([GNULIB_RANDOM_R])
GNULIB_REALLOC_POSIX=0; AC_SUBST([GNULIB_REALLOC_POSIX])
GNULIB_REALPATH=0; AC_SUBST([GNULIB_REALPATH])
@@ -81,6 +83,7 @@ AC_DEFUN([gl_STDLIB_H_DEFAULTS],
HAVE_POSIX_OPENPT=1; AC_SUBST([HAVE_POSIX_OPENPT])
HAVE_PTSNAME=1; AC_SUBST([HAVE_PTSNAME])
HAVE_PTSNAME_R=1; AC_SUBST([HAVE_PTSNAME_R])
+ HAVE_RANDOM=1; AC_SUBST([HAVE_RANDOM])
HAVE_RANDOM_H=1; AC_SUBST([HAVE_RANDOM_H])
HAVE_RANDOM_R=1; AC_SUBST([HAVE_RANDOM_R])
HAVE_REALPATH=1; AC_SUBST([HAVE_REALPATH])
@@ -101,6 +104,7 @@ AC_DEFUN([gl_STDLIB_H_DEFAULTS],
REPLACE_MKSTEMP=0; AC_SUBST([REPLACE_MKSTEMP])
REPLACE_PTSNAME_R=0; AC_SUBST([REPLACE_PTSNAME_R])
REPLACE_PUTENV=0; AC_SUBST([REPLACE_PUTENV])
+ REPLACE_RANDOM_R=0; AC_SUBST([REPLACE_RANDOM_R])
REPLACE_REALLOC=0; AC_SUBST([REPLACE_REALLOC])
REPLACE_REALPATH=0; AC_SUBST([REPLACE_REALPATH])
REPLACE_SETENV=0; AC_SUBST([REPLACE_SETENV])
diff --git a/m4/strftime.m4 b/m4/strftime.m4
index dd30ccf..4204301 100644
--- a/m4/strftime.m4
+++ b/m4/strftime.m4
@@ -1,6 +1,6 @@
# serial 33
-# Copyright (C) 1996-1997, 1999-2007, 2009-2011 Free Software Foundation, Inc.
+# Copyright (C) 1996-1997, 1999-2007, 2009-2012 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
diff --git a/m4/string_h.m4 b/m4/string_h.m4
index 4f9f511..5677e09 100644
--- a/m4/string_h.m4
+++ b/m4/string_h.m4
@@ -1,6 +1,6 @@
# Configure a GNU-like replacement for <string.h>.
-# Copyright (C) 2007-2011 Free Software Foundation, Inc.
+# Copyright (C) 2007-2012 Free Software Foundation, Inc.
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
diff --git a/m4/sys_file_h.m4 b/m4/sys_file_h.m4
index 8538e1f..89272f1 100644
--- a/m4/sys_file_h.m4
+++ b/m4/sys_file_h.m4
@@ -1,7 +1,7 @@
# Configure a replacement for <sys/file.h>.
# serial 6
-# Copyright (C) 2008-2011 Free Software Foundation, Inc.
+# Copyright (C) 2008-2012 Free Software Foundation, Inc.
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
diff --git a/m4/sys_socket_h.m4 b/m4/sys_socket_h.m4
index 7da91a4..8d4e7e1 100644
--- a/m4/sys_socket_h.m4
+++ b/m4/sys_socket_h.m4
@@ -1,5 +1,5 @@
# sys_socket_h.m4 serial 22
-dnl Copyright (C) 2005-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2005-2012 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/m4/sys_stat_h.m4 b/m4/sys_stat_h.m4
index 83ebac6..a0b96bc 100644
--- a/m4/sys_stat_h.m4
+++ b/m4/sys_stat_h.m4
@@ -1,5 +1,5 @@
# sys_stat_h.m4 serial 26 -*- Autoconf -*-
-dnl Copyright (C) 2006-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2006-2012 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/m4/sys_time_h.m4 b/m4/sys_time_h.m4
index 064e0de..bed3797 100644
--- a/m4/sys_time_h.m4
+++ b/m4/sys_time_h.m4
@@ -1,7 +1,7 @@
# Configure a replacement for <sys/time.h>.
# serial 7
-# Copyright (C) 2007, 2009-2011 Free Software Foundation, Inc.
+# Copyright (C) 2007, 2009-2012 Free Software Foundation, Inc.
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
diff --git a/m4/sys_types_h.m4 b/m4/sys_types_h.m4
index 62113df..8d18ddb 100644
--- a/m4/sys_types_h.m4
+++ b/m4/sys_types_h.m4
@@ -1,5 +1,5 @@
# sys_types_h.m4 serial 2
-dnl Copyright (C) 2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2011-2012 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/m4/sys_uio_h.m4 b/m4/sys_uio_h.m4
index bafa0ac..ddf844b 100644
--- a/m4/sys_uio_h.m4
+++ b/m4/sys_uio_h.m4
@@ -1,5 +1,5 @@
# sys_uio_h.m4 serial 1
-dnl Copyright (C) 2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2011-2012 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/m4/time_h.m4 b/m4/time_h.m4
index 3454b23..b88da76 100644
--- a/m4/time_h.m4
+++ b/m4/time_h.m4
@@ -1,6 +1,6 @@
# Configure a more-standard replacement for <time.h>.
-# Copyright (C) 2000-2001, 2003-2007, 2009-2011 Free Software Foundation, Inc.
+# Copyright (C) 2000-2001, 2003-2007, 2009-2012 Free Software Foundation, Inc.
# serial 6
@@ -25,7 +25,7 @@ AC_DEFUN([gl_HEADER_TIME_H_BODY],
AC_REQUIRE([gl_CHECK_TYPE_STRUCT_TIMESPEC])
])
-dnl Define HAVE_STRUCT_TIMESPEC if `struct timespec' is declared
+dnl Define HAVE_STRUCT_TIMESPEC if 'struct timespec' is declared
dnl in time.h, sys/time.h, or pthread.h.
AC_DEFUN([gl_CHECK_TYPE_STRUCT_TIMESPEC],
diff --git a/m4/time_r.m4 b/m4/time_r.m4
index d646edc..c3579fb 100644
--- a/m4/time_r.m4
+++ b/m4/time_r.m4
@@ -1,6 +1,6 @@
dnl Reentrant time functions: localtime_r, gmtime_r.
-dnl Copyright (C) 2003, 2006-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2003, 2006-2012 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/m4/tm_gmtoff.m4 b/m4/tm_gmtoff.m4
index d65ddc0..c12e6ce 100644
--- a/m4/tm_gmtoff.m4
+++ b/m4/tm_gmtoff.m4
@@ -1,5 +1,5 @@
# tm_gmtoff.m4 serial 3
-dnl Copyright (C) 2002, 2009-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2002, 2009-2012 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/m4/trunc.m4 b/m4/trunc.m4
index e7a1af1..e9d5295 100644
--- a/m4/trunc.m4
+++ b/m4/trunc.m4
@@ -1,5 +1,5 @@
# trunc.m4 serial 8
-dnl Copyright (C) 2007, 2010-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2007, 2010-2012 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/m4/unistd_h.m4 b/m4/unistd_h.m4
index 34bdef5..7595534 100644
--- a/m4/unistd_h.m4
+++ b/m4/unistd_h.m4
@@ -1,5 +1,5 @@
-# unistd_h.m4 serial 62
-dnl Copyright (C) 2006-2011 Free Software Foundation, Inc.
+# unistd_h.m4 serial 63
+dnl Copyright (C) 2006-2012 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
@@ -41,8 +41,9 @@ AC_DEFUN([gl_UNISTD_H],
#endif
]], [chdir chown dup dup2 dup3 environ euidaccess faccessat fchdir fchownat
fdatasync fsync ftruncate getcwd getdomainname getdtablesize getgroups
- gethostname getlogin getlogin_r getpagesize getusershell setusershell
- endusershell group_member lchown link linkat lseek pipe pipe2 pread pwrite
+ gethostname getlogin getlogin_r getpagesize
+ getusershell setusershell endusershell
+ group_member isatty lchown link linkat lseek pipe pipe2 pread pwrite
readlink readlinkat rmdir sethostname sleep symlink symlinkat ttyname_r
unlink unlinkat usleep])
])
@@ -82,6 +83,7 @@ AC_DEFUN([gl_UNISTD_H_DEFAULTS],
GNULIB_GETPAGESIZE=0; AC_SUBST([GNULIB_GETPAGESIZE])
GNULIB_GETUSERSHELL=0; AC_SUBST([GNULIB_GETUSERSHELL])
GNULIB_GROUP_MEMBER=0; AC_SUBST([GNULIB_GROUP_MEMBER])
+ GNULIB_ISATTY=0; AC_SUBST([GNULIB_ISATTY])
GNULIB_LCHOWN=0; AC_SUBST([GNULIB_LCHOWN])
GNULIB_LINK=0; AC_SUBST([GNULIB_LINK])
GNULIB_LINKAT=0; AC_SUBST([GNULIB_LINKAT])
@@ -158,6 +160,7 @@ AC_DEFUN([gl_UNISTD_H_DEFAULTS],
REPLACE_GETLOGIN_R=0; AC_SUBST([REPLACE_GETLOGIN_R])
REPLACE_GETGROUPS=0; AC_SUBST([REPLACE_GETGROUPS])
REPLACE_GETPAGESIZE=0; AC_SUBST([REPLACE_GETPAGESIZE])
+ REPLACE_ISATTY=0; AC_SUBST([REPLACE_ISATTY])
REPLACE_LCHOWN=0; AC_SUBST([REPLACE_LCHOWN])
REPLACE_LINK=0; AC_SUBST([REPLACE_LINK])
REPLACE_LINKAT=0; AC_SUBST([REPLACE_LINKAT])
diff --git a/m4/vasnprintf.m4 b/m4/vasnprintf.m4
index da0a6d9..61fe499 100644
--- a/m4/vasnprintf.m4
+++ b/m4/vasnprintf.m4
@@ -1,5 +1,5 @@
# vasnprintf.m4 serial 34
-dnl Copyright (C) 2002-2004, 2006-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2002-2004, 2006-2012 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/m4/visibility.m4 b/m4/visibility.m4
index 75c34b6..7b24d39 100644
--- a/m4/visibility.m4
+++ b/m4/visibility.m4
@@ -1,5 +1,5 @@
# visibility.m4 serial 4 (gettext-0.18.2)
-dnl Copyright (C) 2005, 2008, 2010-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2005, 2008, 2010-2012 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/m4/vsnprintf.m4 b/m4/vsnprintf.m4
index d6ce1e6..22ec57b 100644
--- a/m4/vsnprintf.m4
+++ b/m4/vsnprintf.m4
@@ -1,5 +1,5 @@
# vsnprintf.m4 serial 6
-dnl Copyright (C) 2002-2004, 2007-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2002-2004, 2007-2012 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/m4/warn-on-use.m4 b/m4/warn-on-use.m4
index f09deef..03b113c 100644
--- a/m4/warn-on-use.m4
+++ b/m4/warn-on-use.m4
@@ -1,5 +1,5 @@
# warn-on-use.m4 serial 4
-dnl Copyright (C) 2010-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2010-2012 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/m4/warnings.m4 b/m4/warnings.m4
index a4a750a..69d05a6 100644
--- a/m4/warnings.m4
+++ b/m4/warnings.m4
@@ -1,5 +1,5 @@
# warnings.m4 serial 5
-dnl Copyright (C) 2008-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2008-2012 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/m4/wchar_h.m4 b/m4/wchar_h.m4
index 977491f..c7a8b2d 100644
--- a/m4/wchar_h.m4
+++ b/m4/wchar_h.m4
@@ -1,6 +1,6 @@
dnl A placeholder for ISO C99 <wchar.h>, for platforms that have issues.
-dnl Copyright (C) 2007-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2007-2012 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/m4/wchar_t.m4 b/m4/wchar_t.m4
index d2c03c4..534735d 100644
--- a/m4/wchar_t.m4
+++ b/m4/wchar_t.m4
@@ -1,5 +1,5 @@
# wchar_t.m4 serial 4 (gettext-0.18.2)
-dnl Copyright (C) 2002-2003, 2008-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2002-2003, 2008-2012 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/m4/wint_t.m4 b/m4/wint_t.m4
index da1ce3d..3260cce 100644
--- a/m4/wint_t.m4
+++ b/m4/wint_t.m4
@@ -1,5 +1,5 @@
# wint_t.m4 serial 5 (gettext-0.18.2)
-dnl Copyright (C) 2003, 2007-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2003, 2007-2012 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/m4/write.m4 b/m4/write.m4
index 4cfff0e..a6b1229 100644
--- a/m4/write.m4
+++ b/m4/write.m4
@@ -1,5 +1,5 @@
# write.m4 serial 4
-dnl Copyright (C) 2008-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2008-2012 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/m4/xsize.m4 b/m4/xsize.m4
index 8c693bc..b3b7fee 100644
--- a/m4/xsize.m4
+++ b/m4/xsize.m4
@@ -1,5 +1,5 @@
# xsize.m4 serial 4
-dnl Copyright (C) 2003-2004, 2008-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2003-2004, 2008-2012 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/maint.mk b/maint.mk
index e4efb5f..ad6aac7 100644
--- a/maint.mk
+++ b/maint.mk
@@ -2,7 +2,7 @@
# This Makefile fragment tries to be general-purpose enough to be
# used by many projects via the gnulib maintainer-makefile module.
-## Copyright (C) 2001-2011 Free Software Foundation, Inc.
+## Copyright (C) 2001-2012 Free Software Foundation, Inc.
##
## This program is free software: you can redistribute it and/or modify
## it under the terms of the GNU General Public License as published by
@@ -126,7 +126,7 @@ export LC_ALL = C
_cfg_mk := $(shell test -f $(srcdir)/cfg.mk && echo '$(srcdir)/cfg.mk')
-# Collect the names of rules starting with `sc_'.
+# Collect the names of rules starting with 'sc_'.
syntax-check-rules := $(sort $(shell sed -n 's/^\(sc_[a-zA-Z0-9_-]*\):.*/\1/p'
\
$(srcdir)/$(ME) $(_cfg_mk)))
.PHONY: $(syntax-check-rules)
@@ -221,15 +221,6 @@ define _sc_say_and_exit
{ printf '%s\n' "$(ME): $$msg" 1>&2; exit 1; };
endef
-# _sc_search_regexp used to be named _prohibit_regexp. However,
-# upgrading to the new definition and leaving the old name undefined
-# would usually convert each custom rule using $(_prohibit_regexp)
-# (usually defined in cfg.mk) into a no-op. This definition ensures
-# that people know right away if they're still using the old name.
-# FIXME: remove in 2012.
-_prohibit_regexp = \
- $(error '*** you need to s/_prohibit_regexp/_sc_search_regexp/, and adapt')
-
define _sc_search_regexp
dummy=; : so we do not need a semicolon before each use; \
\
@@ -303,7 +294,7 @@ sc_space_tab:
halt='found SPACE-TAB sequence; remove the SPACE' \
$(_sc_search_regexp)
-# Don't use *scanf or the old ato* functions in `real' code.
+# Don't use *scanf or the old ato* functions in "real" code.
# They provide no error checking mechanism.
# Instead, use strto* functions.
sc_prohibit_atoi_atof:
@@ -335,15 +326,15 @@ sc_prohibit_magic_number_exit:
$(_sc_search_regexp)
# Using EXIT_SUCCESS as the first argument to error is misleading,
-# since when that parameter is 0, error does not exit. Use `0' instead.
+# since when that parameter is 0, error does not exit. Use '0' instead.
sc_error_exit_success:
@prohibit='error *\(EXIT_SUCCESS,' \
in_vc_files='\.[chly]$$' \
halt='found error (EXIT_SUCCESS' \
$(_sc_search_regexp)
-# `FATAL:' should be fully upper-cased in error messages
-# `WARNING:' should be fully upper-cased, or fully lower-cased
+# "FATAL:" should be fully upper-cased in error messages
+# "WARNING:" should be fully upper-cased, or fully lower-cased
sc_error_message_warn_fatal:
@grep -nEA2 '[^rp]error *\(' $$($(VC_LIST_EXCEPT)) \
| grep -E '"Warning|"Fatal|"fatal' && \
@@ -847,7 +838,7 @@ sc_prohibit_cvs_keyword:
#
# This is a perl script that is expected to be the single-quoted argument
# to a command-line "-le". The remaining arguments are file names.
-# Print the name of each file that ends in exactly one newline byte.
+# Print the name of each file that does not end in exactly one newline byte.
# I.e., warn if there are blank lines (2 or more newlines), or if the
# last byte is not a newline. However, currently we don't complain
# about any file that contains exactly one byte.
@@ -1087,15 +1078,15 @@ sc_po_check:
# Sometimes it is useful to change the PATH environment variable
# in Makefiles. When doing so, it's better not to use the Unix-centric
-# path separator of `:', but rather the automake-provided `$(PATH_SEPARATOR)'.
-msg = '$(ME): Do not use `:'\'' above; use $$(PATH_SEPARATOR) instead'
+# path separator of ':', but rather the automake-provided '$(PATH_SEPARATOR)'.
+msg = '$(ME): Do not use '\'':'\'' above; use $$(PATH_SEPARATOR) instead'
sc_makefile_path_separator_check:
@prohibit='PATH[=].*:' \
in_vc_files='akefile|\.mk$$' \
halt=$(msg) \
$(_sc_search_regexp)
-# Check that `make alpha' will not fail at the end of the process,
+# Check that 'make alpha' will not fail at the end of the process,
# i.e., when pkg-M.N.tar.xz already exists (either in "." or in ../release)
# and is read-only.
writable-files:
@@ -1455,9 +1446,9 @@ ifeq (a,b)
# TS-start
# Most functions should have static scope.
-# Any that don't must be marked with `extern', but `main'
-# and `usage' are exceptions: they're always extern, but
-# do not need to be marked. Symbols matching `__.*' are
+# Any that don't must be marked with 'extern', but 'main'
+# and 'usage' are exceptions: they're always extern, but
+# do not need to be marked. Symbols matching '__.*' are
# reserved by the compiler, so are automatically excluded below.
_gl_TS_unmarked_extern_functions ?= main usage
_gl_TS_function_match ?= /^(?:$(_gl_TS_extern)) +.*?(\S+) *\(/
@@ -1467,9 +1458,9 @@ _gl_TS_function_match ?= /^(?:$(_gl_TS_extern)) +.*?(\S+)
*\(/
# export _gl_TS_extern = extern|XTERN
_gl_TS_extern ?= extern
-# The second nm|grep checks for file-scope variables with `extern' scope.
+# The second nm|grep checks for file-scope variables with 'extern' scope.
# Without gnulib's progname module, you might put program_name here.
-# Symbols matching `__.*' are reserved by the compiler,
+# Symbols matching '__.*' are reserved by the compiler,
# so are automatically excluded below.
_gl_TS_unmarked_extern_vars ?=
diff --git a/meta/guile-2.2.pc.in b/meta/guile-2.2.pc.in
index ecca778..1bda734 100644
--- a/meta/guile-2.2.pc.in
+++ b/meta/guile-2.2.pc.in
@@ -15,5 +15,8 @@ Name: GNU Guile
Description: GNU's Ubiquitous Intelligent Language for Extension
Version: @GUILE_VERSION@
Libs: -L${libdir} address@hidden@ @BDW_GC_LIBS@
-Libs.private: @LIB_CLOCK_GETTIME@ @LIBGMP@ @LIBLTDL@ @LIBFFI_LIBS@ @GUILE_LIBS@
+Libs.private: @LIB_CLOCK_GETTIME@ @LIBGMP@ @LIBLTDL@ @LIBFFI_LIBS@ \
+ @LIBUNISTRING@ @GUILE_LIBS@ @LIBICONV@ @LIBINTL@ @LIBSOCKET@ \
+ @SERVENT_LIB@ @HOSTENT_LIB@ @GETADDRINFO_LIB@ @INET_NTOP_LIB@
\
+ @INET_PTON_LIB@
Cflags: -I${pkgincludedir}/@GUILE_EFFECTIVE_VERSION@ @GUILE_CFLAGS@
@BDW_GC_CFLAGS@
diff --git a/module/Makefile.am b/module/Makefile.am
index 56fa48d..9c9d8ed 100644
--- a/module/Makefile.am
+++ b/module/Makefile.am
@@ -1,6 +1,6 @@
## Process this file with automake to produce Makefile.in.
##
-## Copyright (C) 2009, 2010, 2011 Free Software Foundation, Inc.
+## Copyright (C) 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
##
## This file is part of GUILE.
##
@@ -243,7 +243,8 @@ ICE_9_SOURCES = \
ice-9/weak-vector.scm \
ice-9/list.scm \
ice-9/serialize.scm \
- ice-9/vlist.scm
+ ice-9/vlist.scm \
+ ice-9/local-eval.scm
SRFI_SOURCES = \
srfi/srfi-1.scm \
diff --git a/module/ice-9/boot-9.scm b/module/ice-9/boot-9.scm
index 1de5edf..1780b84 100644
--- a/module/ice-9/boot-9.scm
+++ b/module/ice-9/boot-9.scm
@@ -142,7 +142,7 @@ If it exits normally, Guile unwinds the stack and dynamic
context
and then calls the normal (third argument) handler. If it exits
non-locally, that exit determines the continuation."
(if (not (or (symbol? k) (eqv? k #t)))
- (scm-error "catch" 'wrong-type-arg
+ (scm-error 'wrong-type-arg "catch"
"Wrong type argument in position ~a: ~a"
(list 1 k) (list k)))
(let ((tag (make-prompt-tag "catch")))
@@ -163,7 +163,7 @@ non-locally, that exit determines the continuation."
"Add @var{handler} to the dynamic context as a throw handler
for key @var{key}, then invoke @var{thunk}."
(if (not (or (symbol? k) (eqv? k #t)))
- (scm-error "with-throw-handler" 'wrong-type-arg
+ (scm-error 'wrong-type-arg "with-throw-handler"
"Wrong type argument in position ~a: ~a"
(list 1 k) (list k)))
(with-fluids ((%exception-handler
@@ -411,6 +411,12 @@ If there is no handler at all, Guile prints an error and
then exits."
((_ x) x)
((_ x y ...) (let ((t x)) (if t t (or y ...))))))
+(define-syntax-rule (when test stmt stmt* ...)
+ (if test (begin stmt stmt* ...)))
+
+(define-syntax-rule (unless test stmt stmt* ...)
+ (if (not test) (begin stmt stmt* ...)))
+
;; The "maybe-more" bits are something of a hack, so that we can support
;; SRFI-61. Rewrites into a standalone syntax-case macro would be
;; appreciated.
@@ -505,6 +511,18 @@ If there is no handler at all, Guile prints an error and
then exits."
(with-syntax ((s (datum->syntax x (syntax-source x))))
#''s)))))
+;; We provide this accessor out of convenience. current-line and
+;; current-column aren't so interesting, because they distort what they
+;; are measuring; better to use syntax-source from a macro.
+;;
+(define-syntax current-filename
+ (lambda (x)
+ "A macro that expands to the current filename: the filename that
+the (current-filename) form appears in. Expands to #f if this
+information is unavailable."
+ (false-if-exception
+ (canonicalize-path (assq-ref (syntax-source x) 'filename)))))
+
(define-syntax-rule (define-once sym val)
(define sym
(if (module-locally-bound? (current-module) 'sym) sym val)))
@@ -1376,6 +1394,11 @@ VALUE."
(start-stack 'load-stack
(primitive-load-path name)))
+(define-syntax-rule (add-to-load-path elt)
+ "Add ELT to Guile's load path, at compile-time and at run-time."
+ (eval-when (compile load eval)
+ (set! %load-path (cons elt %load-path))))
+
(define %load-verbosely #f)
(define (assert-load-verbosity v) (set! %load-verbosely v))
@@ -3796,12 +3819,44 @@ module '(ice-9 q) '(make-q q-length))}."
-;;; Place the user in the guile-user module.
+;;; SRFI-4 in the default environment. FIXME: we should figure out how
+;;; to deprecate this.
;;;
;; FIXME:
(module-use! the-scm-module (resolve-interface '(srfi srfi-4)))
+
+
+;;; A few identifiers that need to be defined in this file are really
+;;; internal implementation details. We shove them off into internal
+;;; modules, removing them from the (guile) module.
+;;;
+
+(define-module (system syntax))
+
+(let ()
+ (define (steal-bindings! from to ids)
+ (for-each
+ (lambda (sym)
+ (let ((v (module-local-variable from sym)))
+ (module-remove! from sym)
+ (module-add! to sym v)))
+ ids)
+ (module-export! to ids))
+
+ (steal-bindings! the-root-module (resolve-module '(system syntax))
+ '(syntax-local-binding
+ syntax-module
+ syntax-locally-bound-identifiers
+ syntax-session-id)))
+
+
+
+
+;;; Place the user in the guile-user module.
+;;;
+
;; Set filename to #f to prevent reload.
(define-module (guile-user)
#:autoload (system base compile) (compile compile-file)
diff --git a/module/ice-9/compile-psyntax.scm b/module/ice-9/compile-psyntax.scm
index 48bab92..3d803e9 100644
--- a/module/ice-9/compile-psyntax.scm
+++ b/module/ice-9/compile-psyntax.scm
@@ -1,6 +1,6 @@
;;; -*- mode: scheme; coding: utf-8; -*-
;;;
-;;; Copyright (C) 2009, 2010, 2011 Free Software Foundation, Inc.
+;;; Copyright (C) 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
;;;
;;; This library is free software; you can redistribute it and/or
;;; modify it under the terms of the GNU Lesser General Public
@@ -19,7 +19,12 @@
(use-modules (language tree-il)
(language tree-il optimize)
(language tree-il canonicalize)
- (ice-9 pretty-print))
+ (ice-9 pretty-print)
+ (system syntax))
+
+;; Avoid gratuitous churn in psyntax-pp.scm due to the marks and labels
+;; changing session identifiers.
+(set! syntax-session-id (lambda () "*"))
(let ((source (list-ref (command-line) 1))
(target (list-ref (command-line) 2)))
diff --git a/module/ice-9/eval.scm b/module/ice-9/eval.scm
index 5b29371..d993db0 100644
--- a/module/ice-9/eval.scm
+++ b/module/ice-9/eval.scm
@@ -425,7 +425,8 @@
(let ((x (eval x env)))
(if (and (procedure? x) (not (procedure-property x 'name)))
(set-procedure-property! x 'name name))
- (define! name x)))
+ (define! name x)
+ (if #f #f)))
(('toplevel-set! (var-or-sym . x))
(variable-set!
diff --git a/module/ice-9/local-eval.scm b/module/ice-9/local-eval.scm
new file mode 100644
index 0000000..493dbed
--- /dev/null
+++ b/module/ice-9/local-eval.scm
@@ -0,0 +1,255 @@
+;;; -*- mode: scheme; coding: utf-8; -*-
+;;;
+;;; Copyright (C) 2012 Free Software Foundation, Inc.
+;;;
+;;; This library is free software; you can redistribute it and/or
+;;; modify it under the terms of the GNU Lesser General Public
+;;; License as published by the Free Software Foundation; either
+;;; version 3 of the License, or (at your option) any later version.
+;;;
+;;; This library is distributed in the hope that it will be useful,
+;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+;;; Lesser General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU Lesser General Public
+;;; License along with this library; if not, write to the Free Software
+;;; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301
USA
+
+(define-module (ice-9 local-eval)
+ #:use-module (ice-9 format)
+ #:use-module (srfi srfi-9)
+ #:use-module (srfi srfi-9 gnu)
+ #:use-module (system base compile)
+ #:use-module (system syntax)
+ #:export (the-environment local-eval local-compile))
+
+(define-record-type lexical-environment-type
+ (make-lexical-environment scope wrapper boxes patterns)
+ lexical-environment?
+ (scope lexenv-scope)
+ (wrapper lexenv-wrapper)
+ (boxes lexenv-boxes)
+ (patterns lexenv-patterns))
+
+(set-record-type-printer!
+ lexical-environment-type
+ (lambda (e port)
+ (format port "#<lexical-environment ~S (~S bindings)>"
+ (syntax-module (lexenv-scope e))
+ (+ (length (lexenv-boxes e)) (length (lexenv-patterns e))))))
+
+(define-syntax syntax-object-of
+ (lambda (form)
+ (syntax-case form ()
+ ((_ x) #`(quote #,(datum->syntax #'x #'x))))))
+
+(define-syntax-rule (make-box v)
+ (case-lambda
+ (() v)
+ ((x) (set! v x))))
+
+(define (make-transformer-from-box id trans)
+ (set-procedure-property! trans 'identifier-syntax-box id)
+ trans)
+
+(define-syntax-rule (identifier-syntax-from-box box)
+ (make-transformer-from-box
+ (syntax-object-of box)
+ (identifier-syntax (id (box))
+ ((set! id x) (box x)))))
+
+(define (unsupported-binding name)
+ (make-variable-transformer
+ (lambda (x)
+ (syntax-violation
+ 'local-eval
+ "unsupported binding captured by (the-environment)"
+ x))))
+
+(define (within-nested-ellipses id lvl)
+ (let loop ((s id) (n lvl))
+ (if (zero? n)
+ s
+ (loop #`(#,s (... ...)) (- n 1)))))
+
+;; Analyze the set of bound identifiers IDS. Return four values:
+;;
+;; capture: A list of forms that will be emitted in the expansion of
+;; `the-environment' to capture lexical variables.
+;;
+;; formals: Corresponding formal parameters for use in the lambda that
+;; re-introduces those variables. These are temporary identifiers, and
+;; as such if we have a nested `the-environment', there is no need to
+;; capture them. (See the notes on nested `the-environment' and
+;; proxies, below.)
+;;
+;; wrappers: A list of procedures of type SYNTAX -> SYNTAX, used to wrap
+;; the expression to be evaluated in forms that re-introduce the
+;; variable. The forms will be nested so that the variable shadowing
+;; semantics of the original form are maintained.
+;;
+;; patterns: A terrible hack. The issue is that for pattern variables,
+;; we can't emit lexically nested with-syntax forms, like:
+;;
+;; (with-syntax ((foo 1)) (the-environment))
+;; => (with-syntax ((foo 1))
+;; ... #'(with-syntax ((foo ...)) ... exp) ...)
+;;
+;; The reason is that the outer "foo" substitutes into the inner "foo",
+;; yielding something like:
+;;
+;; (with-syntax ((foo 1))
+;; ... (with-syntax ((1 ...)) ...)
+;;
+;; Which ain't what we want. So we hide the information needed to
+;; re-make the inner pattern binding form in the lexical environment
+;; object, and then introduce those identifiers via another with-syntax.
+;;
+;;
+;; There are four different kinds of lexical bindings: normal lexicals,
+;; macros, displaced lexicals, and pattern variables. See the
+;; documentation of syntax-local-binding for more info on these.
+;;
+;; We capture normal lexicals via `make-box', which creates a
+;; case-lambda that can reference or set a variable. These get
+;; re-introduced with an identifier-syntax.
+;;
+;; We can't capture macros currently. However we do recognize our own
+;; macros that are actually proxying lexicals, so that nested
+;; `the-environment' forms are possible. In that case we drill down to
+;; the identifier for the already-existing box, and just capture that
+;; box.
+;;
+;; And that's it: we skip displaced lexicals, and the pattern variables
+;; are discussed above.
+;;
+(define (analyze-identifiers ids)
+ (define (mktmp)
+ (datum->syntax #'here (gensym "t ")))
+ (let lp ((ids ids) (capture '()) (formals '()) (wrappers '()) (patterns '()))
+ (cond
+ ((null? ids)
+ (values capture formals wrappers patterns))
+ (else
+ (let ((id (car ids)) (ids (cdr ids)))
+ (call-with-values (lambda () (syntax-local-binding id))
+ (lambda (type val)
+ (case type
+ ((lexical)
+ (if (or-map (lambda (x) (bound-identifier=? x id)) formals)
+ (lp ids capture formals wrappers patterns)
+ (let ((t (mktmp)))
+ (lp ids
+ (cons #`(make-box #,id) capture)
+ (cons t formals)
+ (cons (lambda (x)
+ #`(let-syntax ((#,id
(identifier-syntax-from-box #,t)))
+ #,x))
+ wrappers)
+ patterns))))
+ ((displaced-lexical)
+ (lp ids capture formals wrappers patterns))
+ ((macro)
+ (let ((b (procedure-property val 'identifier-syntax-box)))
+ (if b
+ (lp ids (cons b capture) (cons b formals)
+ (cons (lambda (x)
+ #`(let-syntax ((#,id
(identifier-syntax-from-box #,b)))
+ #,x))
+ wrappers)
+ patterns)
+ (lp ids capture formals
+ (cons (lambda (x)
+ #`(let-syntax ((#,id (unsupported-binding
'#,id)))
+ #,x))
+ wrappers)
+ patterns))))
+ ((pattern-variable)
+ (let ((t (datum->syntax id (gensym "p ")))
+ (nested (within-nested-ellipses id (cdr val))))
+ (lp ids capture formals
+ (cons (lambda (x)
+ #`(with-syntax ((#,t '#,nested))
+ #,x))
+ wrappers)
+ ;; This dance is to hide these pattern variables
+ ;; from the expander.
+ (cons (list (datum->syntax #'here (syntax->datum id))
+ (cdr val)
+ t)
+ patterns))))
+ (else
+ ;; Interestingly, this case can include globals (and
+ ;; global macros), now that Guile tracks which globals it
+ ;; introduces. Not sure what to do here! For now, punt.
+ ;;
+ (lp ids capture formals wrappers patterns))))))))))
+
+(define-syntax the-environment
+ (lambda (x)
+ (syntax-case x ()
+ ((the-environment)
+ #'(the-environment the-environment))
+ ((the-environment scope)
+ (call-with-values (lambda ()
+ (analyze-identifiers
+ (syntax-locally-bound-identifiers #'scope)))
+ (lambda (capture formals wrappers patterns)
+ (define (wrap-expression x)
+ (let lp ((x x) (wrappers wrappers))
+ (if (null? wrappers)
+ x
+ (lp ((car wrappers) x) (cdr wrappers)))))
+ (with-syntax (((f ...) formals)
+ ((c ...) capture)
+ (((pname plvl pformal) ...) patterns)
+ (wrapped (wrap-expression #'(begin #f exp))))
+ #'(make-lexical-environment
+ #'scope
+ (lambda (exp pformal ...)
+ (with-syntax ((exp exp)
+ (pformal pformal)
+ ...)
+ #'(lambda (f ...)
+ wrapped)))
+ (list c ...)
+ (list (list 'pname plvl #'pformal) ...)))))))))
+
+(define (env-module e)
+ (cond
+ ((lexical-environment? e) (resolve-module (syntax-module (lexenv-scope e))))
+ ((module? e) e)
+ (else (error "invalid lexical environment" e))))
+
+(define (env-boxes e)
+ (cond
+ ((lexical-environment? e) (lexenv-boxes e))
+ ((module? e) '())
+ (else (error "invalid lexical environment" e))))
+
+(define (local-wrap x e)
+ (cond
+ ((lexical-environment? e)
+ (apply (lexenv-wrapper e)
+ (datum->syntax (lexenv-scope e) x)
+ (map (lambda (l)
+ (let ((name (car l))
+ (lvl (cadr l))
+ (scope (caddr l)))
+ (within-nested-ellipses (datum->syntax scope name) lvl)))
+ (lexenv-patterns e))))
+ ((module? e) #`(lambda () #f #,x))
+ (else (error "invalid lexical environment" e))))
+
+(define (local-eval x e)
+ "Evaluate the expression @var{x} within the lexical environment @var{e}."
+ (apply (eval (local-wrap x e) (env-module e))
+ (env-boxes e)))
+
+(define* (local-compile x e #:key (opts '()))
+ "Compile and evaluate the expression @var{x} within the lexical
+environment @var{e}."
+ (apply (compile (local-wrap x e) #:env (env-module e)
+ #:from 'scheme #:opts opts)
+ (env-boxes e)))
diff --git a/module/ice-9/psyntax-pp.scm b/module/ice-9/psyntax-pp.scm
index 43a2cf5..847a25b 100644
--- a/module/ice-9/psyntax-pp.scm
+++ b/module/ice-9/psyntax-pp.scm
@@ -1,14463 +1,7334 @@
(eval-when (compile) (set-current-module (resolve-module (quote (guile)))))
(if #f #f)
-(letrec*
- ((#{top-level-eval-hook 28198}#
- (lambda (#{x 58998}# #{mod 58999}#)
- (primitive-eval #{x 58998}#)))
- (#{maybe-name-value! 28203}#
- (lambda (#{name 42551}# #{val 42552}#)
- (if (if (struct? #{val 42552}#)
- (eq? (struct-vtable #{val 42552}#)
- (vector-ref %expanded-vtables 14))
- #f)
- (let ((#{meta 42559}# (struct-ref #{val 42552}# 1)))
- (if (not (assq 'name #{meta 42559}#))
- (let ((#{v 42564}#
- (cons (cons 'name #{name 42551}#) #{meta 42559}#)))
- (struct-set! #{val 42552}# 1 #{v 42564}#)))))))
- (#{build-call 28205}#
- (lambda (#{source 42296}#
- #{fun-exp 42297}#
- #{arg-exps 42298}#)
- (make-struct/no-tail
- (vector-ref %expanded-vtables 11)
- #{source 42296}#
- #{fun-exp 42297}#
- #{arg-exps 42298}#)))
- (#{build-conditional 28206}#
- (lambda (#{source 42304}#
- #{test-exp 42305}#
- #{then-exp 42306}#
- #{else-exp 42307}#)
- (make-struct/no-tail
- (vector-ref %expanded-vtables 10)
- #{source 42304}#
- #{test-exp 42305}#
- #{then-exp 42306}#
- #{else-exp 42307}#)))
- (#{build-dynlet 28207}#
- (lambda (#{source 42314}#
- #{fluids 42315}#
- #{vals 42316}#
- #{body 42317}#)
- (make-struct/no-tail
- (vector-ref %expanded-vtables 18)
- #{source 42314}#
- #{fluids 42315}#
- #{vals 42316}#
- #{body 42317}#)))
- (#{build-lexical-reference 28208}#
- (lambda (#{type 59000}#
- #{source 59001}#
- #{name 59002}#
- #{var 59003}#)
- (make-struct/no-tail
- (vector-ref %expanded-vtables 3)
- #{source 59001}#
- #{name 59002}#
- #{var 59003}#)))
- (#{build-lexical-assignment 28209}#
- (lambda (#{source 42324}#
- #{name 42325}#
- #{var 42326}#
- #{exp 42327}#)
- (begin
- (if (if (struct? #{exp 42327}#)
- (eq? (struct-vtable #{exp 42327}#)
+(let ((session-id-4511 (if #f #f))
+ (transformer-environment-4572 (if #f #f)))
+ (letrec*
+ ((top-level-eval-hook-4509
+ (lambda (x-36254 mod-36255)
+ (primitive-eval x-36254)))
+ (maybe-name-value!-4515
+ (lambda (name-19069 val-19070)
+ (if (if (struct? val-19070)
+ (eq? (struct-vtable val-19070)
(vector-ref %expanded-vtables 14))
#f)
- (let ((#{meta 42343}# (struct-ref #{exp 42327}# 1)))
- (if (not (assq 'name #{meta 42343}#))
- (let ((#{v 42350}#
- (cons (cons 'name #{name 42325}#) #{meta 42343}#)))
- (struct-set! #{exp 42327}# 1 #{v 42350}#)))))
+ (let ((meta-19077 (struct-ref val-19070 1)))
+ (if (not (assq 'name meta-19077))
+ (let ((v-19082
+ (cons (cons 'name name-19069) meta-19077)))
+ (struct-set! val-19070 1 v-19082)))))))
+ (build-call-4517
+ (lambda (source-18814 fun-exp-18815 arg-exps-18816)
(make-struct/no-tail
- (vector-ref %expanded-vtables 4)
- #{source 42324}#
- #{name 42325}#
- #{var 42326}#
- #{exp 42327}#))))
- (#{analyze-variable 28210}#
- (lambda (#{mod 59009}#
- #{var 59010}#
- #{modref-cont 59011}#
- #{bare-cont 59012}#)
- (if (not #{mod 59009}#)
- (#{bare-cont 59012}# #{var 59010}#)
- (let ((#{kind 59013}# (car #{mod 59009}#))
- (#{mod 59014}# (cdr #{mod 59009}#)))
- (if (eqv? #{kind 59013}# 'public)
- (#{modref-cont 59011}#
- #{mod 59014}#
- #{var 59010}#
- #t)
- (if (eqv? #{kind 59013}# 'private)
- (if (not (equal?
- #{mod 59014}#
- (module-name (current-module))))
- (#{modref-cont 59011}#
- #{mod 59014}#
- #{var 59010}#
- #f)
- (#{bare-cont 59012}# #{var 59010}#))
- (if (eqv? #{kind 59013}# 'bare)
- (#{bare-cont 59012}# #{var 59010}#)
- (if (eqv? #{kind 59013}# 'hygiene)
- (if (if (not (equal?
- #{mod 59014}#
- (module-name (current-module))))
- (module-variable
- (resolve-module #{mod 59014}#)
- #{var 59010}#)
- #f)
- (#{modref-cont 59011}#
- #{mod 59014}#
- #{var 59010}#
- #f)
- (#{bare-cont 59012}# #{var 59010}#))
- (syntax-violation
- #f
- "bad module kind"
- #{var 59010}#
- #{mod 59014}#)))))))))
- (#{build-global-reference 28211}#
- (lambda (#{source 59029}# #{var 59030}# #{mod 59031}#)
- (#{analyze-variable 28210}#
- #{mod 59031}#
- #{var 59030}#
- (lambda (#{mod 59034}# #{var 59035}# #{public? 59036}#)
- (make-struct/no-tail
- (vector-ref %expanded-vtables 5)
- #{source 59029}#
- #{mod 59034}#
- #{var 59035}#
- #{public? 59036}#))
- (lambda (#{var 59043}#)
+ (vector-ref %expanded-vtables 11)
+ source-18814
+ fun-exp-18815
+ arg-exps-18816)))
+ (build-conditional-4518
+ (lambda (source-18822
+ test-exp-18823
+ then-exp-18824
+ else-exp-18825)
+ (make-struct/no-tail
+ (vector-ref %expanded-vtables 10)
+ source-18822
+ test-exp-18823
+ then-exp-18824
+ else-exp-18825)))
+ (build-dynlet-4519
+ (lambda (source-18832 fluids-18833 vals-18834 body-18835)
+ (make-struct/no-tail
+ (vector-ref %expanded-vtables 18)
+ source-18832
+ fluids-18833
+ vals-18834
+ body-18835)))
+ (build-lexical-reference-4520
+ (lambda (type-36256 source-36257 name-36258 var-36259)
+ (make-struct/no-tail
+ (vector-ref %expanded-vtables 3)
+ source-36257
+ name-36258
+ var-36259)))
+ (build-lexical-assignment-4521
+ (lambda (source-18842 name-18843 var-18844 exp-18845)
+ (begin
+ (if (if (struct? exp-18845)
+ (eq? (struct-vtable exp-18845)
+ (vector-ref %expanded-vtables 14))
+ #f)
+ (let ((meta-18861 (struct-ref exp-18845 1)))
+ (if (not (assq 'name meta-18861))
+ (let ((v-18868
+ (cons (cons 'name name-18843) meta-18861)))
+ (struct-set! exp-18845 1 v-18868)))))
(make-struct/no-tail
- (vector-ref %expanded-vtables 7)
- #{source 59029}#
- #{var 59043}#)))))
- (#{build-global-assignment 28212}#
- (lambda (#{source 42359}#
- #{var 42360}#
- #{exp 42361}#
- #{mod 42362}#)
- (begin
- (if (if (struct? #{exp 42361}#)
- (eq? (struct-vtable #{exp 42361}#)
- (vector-ref %expanded-vtables 14))
- #f)
- (let ((#{meta 42378}# (struct-ref #{exp 42361}# 1)))
- (if (not (assq 'name #{meta 42378}#))
- (let ((#{v 42385}#
- (cons (cons 'name #{var 42360}#) #{meta 42378}#)))
- (struct-set! #{exp 42361}# 1 #{v 42385}#)))))
- (#{analyze-variable 28210}#
- #{mod 42362}#
- #{var 42360}#
- (lambda (#{mod 42390}# #{var 42391}# #{public? 42392}#)
+ (vector-ref %expanded-vtables 4)
+ source-18842
+ name-18843
+ var-18844
+ exp-18845))))
+ (analyze-variable-4522
+ (lambda (mod-36265
+ var-36266
+ modref-cont-36267
+ bare-cont-36268)
+ (if (not mod-36265)
+ (bare-cont-36268 var-36266)
+ (let ((kind-36269 (car mod-36265))
+ (mod-36270 (cdr mod-36265)))
+ (if (eqv? kind-36269 'public)
+ (modref-cont-36267 mod-36270 var-36266 #t)
+ (if (eqv? kind-36269 'private)
+ (if (not (equal? mod-36270 (module-name (current-module))))
+ (modref-cont-36267 mod-36270 var-36266 #f)
+ (bare-cont-36268 var-36266))
+ (if (eqv? kind-36269 'bare)
+ (bare-cont-36268 var-36266)
+ (if (eqv? kind-36269 'hygiene)
+ (if (if (not (equal?
+ mod-36270
+ (module-name (current-module))))
+ (module-variable
+ (resolve-module mod-36270)
+ var-36266)
+ #f)
+ (modref-cont-36267 mod-36270 var-36266 #f)
+ (bare-cont-36268 var-36266))
+ (syntax-violation
+ #f
+ "bad module kind"
+ var-36266
+ mod-36270)))))))))
+ (build-global-reference-4523
+ (lambda (source-36285 var-36286 mod-36287)
+ (analyze-variable-4522
+ mod-36287
+ var-36286
+ (lambda (mod-36290 var-36291 public?-36292)
(make-struct/no-tail
- (vector-ref %expanded-vtables 6)
- #{source 42359}#
- #{mod 42390}#
- #{var 42391}#
- #{public? 42392}#
- #{exp 42361}#))
- (lambda (#{var 42400}#)
+ (vector-ref %expanded-vtables 5)
+ source-36285
+ mod-36290
+ var-36291
+ public?-36292))
+ (lambda (var-36299)
(make-struct/no-tail
- (vector-ref %expanded-vtables 8)
- #{source 42359}#
- #{var 42400}#
- #{exp 42361}#))))))
- (#{build-global-definition 28213}#
- (lambda (#{source 59048}# #{var 59049}# #{exp 59050}#)
- (begin
- (if (if (struct? #{exp 59050}#)
- (eq? (struct-vtable #{exp 59050}#)
- (vector-ref %expanded-vtables 14))
- #f)
- (let ((#{meta 59066}# (struct-ref #{exp 59050}# 1)))
- (if (not (assq 'name #{meta 59066}#))
- (let ((#{v 59073}#
- (cons (cons 'name #{var 59049}#) #{meta 59066}#)))
- (struct-set! #{exp 59050}# 1 #{v 59073}#)))))
- (make-struct/no-tail
- (vector-ref %expanded-vtables 9)
- #{source 59048}#
- #{var 59049}#
- #{exp 59050}#))))
- (#{build-simple-lambda 28214}#
- (lambda (#{src 42406}#
- #{req 42407}#
- #{rest 42408}#
- #{vars 42409}#
- #{meta 42410}#
- #{exp 42411}#)
- (let ((#{body 42417}#
+ (vector-ref %expanded-vtables 7)
+ source-36285
+ var-36299)))))
+ (build-global-assignment-4524
+ (lambda (source-18877 var-18878 exp-18879 mod-18880)
+ (begin
+ (if (if (struct? exp-18879)
+ (eq? (struct-vtable exp-18879)
+ (vector-ref %expanded-vtables 14))
+ #f)
+ (let ((meta-18896 (struct-ref exp-18879 1)))
+ (if (not (assq 'name meta-18896))
+ (let ((v-18903
+ (cons (cons 'name var-18878) meta-18896)))
+ (struct-set! exp-18879 1 v-18903)))))
+ (analyze-variable-4522
+ mod-18880
+ var-18878
+ (lambda (mod-18908 var-18909 public?-18910)
(make-struct/no-tail
- (vector-ref %expanded-vtables 15)
- #{src 42406}#
- #{req 42407}#
- #f
- #{rest 42408}#
- #f
- '()
- #{vars 42409}#
- #{exp 42411}#
- #f)))
- (make-struct/no-tail
- (vector-ref %expanded-vtables 14)
- #{src 42406}#
- #{meta 42410}#
- #{body 42417}#))))
- (#{build-primcall 28217}#
- (lambda (#{src 42429}# #{name 42430}# #{args 42431}#)
- (make-struct/no-tail
- (vector-ref %expanded-vtables 12)
- #{src 42429}#
- #{name 42430}#
- #{args 42431}#)))
- (#{build-sequence 28220}#
- (lambda (#{src 59081}# #{exps 59082}#)
- (if (null? (cdr #{exps 59082}#))
- (car #{exps 59082}#)
- (let ((#{head 59086}# (car #{exps 59082}#))
- (#{tail 59087}#
- (#{build-sequence 28220}#
+ (vector-ref %expanded-vtables 6)
+ source-18877
+ mod-18908
+ var-18909
+ public?-18910
+ exp-18879))
+ (lambda (var-18918)
+ (make-struct/no-tail
+ (vector-ref %expanded-vtables 8)
+ source-18877
+ var-18918
+ exp-18879))))))
+ (build-global-definition-4525
+ (lambda (source-36304 var-36305 exp-36306)
+ (begin
+ (if (if (struct? exp-36306)
+ (eq? (struct-vtable exp-36306)
+ (vector-ref %expanded-vtables 14))
+ #f)
+ (let ((meta-36322 (struct-ref exp-36306 1)))
+ (if (not (assq 'name meta-36322))
+ (let ((v-36329
+ (cons (cons 'name var-36305) meta-36322)))
+ (struct-set! exp-36306 1 v-36329)))))
+ (make-struct/no-tail
+ (vector-ref %expanded-vtables 9)
+ source-36304
+ var-36305
+ exp-36306))))
+ (build-simple-lambda-4526
+ (lambda (src-18924
+ req-18925
+ rest-18926
+ vars-18927
+ meta-18928
+ exp-18929)
+ (let ((body-18935
+ (make-struct/no-tail
+ (vector-ref %expanded-vtables 15)
+ src-18924
+ req-18925
#f
- (cdr #{exps 59082}#))))
+ rest-18926
+ #f
+ '()
+ vars-18927
+ exp-18929
+ #f)))
(make-struct/no-tail
- (vector-ref %expanded-vtables 13)
- #{src 59081}#
- #{head 59086}#
- #{tail 59087}#)))))
- (#{build-named-let 28222}#
- (lambda (#{src 42437}#
- #{ids 42438}#
- #{vars 42439}#
- #{val-exps 42440}#
- #{body-exp 42441}#)
- (let ((#{f 42442}# (car #{vars 42439}#))
- (#{f-name 42443}# (car #{ids 42438}#))
- (#{vars 42444}# (cdr #{vars 42439}#))
- (#{ids 42445}# (cdr #{ids 42438}#)))
- (let ((#{proc 42446}#
- (let ((#{body 42466}#
+ (vector-ref %expanded-vtables 14)
+ src-18924
+ meta-18928
+ body-18935))))
+ (build-primcall-4529
+ (lambda (src-18947 name-18948 args-18949)
+ (make-struct/no-tail
+ (vector-ref %expanded-vtables 12)
+ src-18947
+ name-18948
+ args-18949)))
+ (build-sequence-4532
+ (lambda (src-36337 exps-36338)
+ (if (null? (cdr exps-36338))
+ (car exps-36338)
+ (let ((head-36342 (car exps-36338))
+ (tail-36343
+ (build-sequence-4532 #f (cdr exps-36338))))
+ (make-struct/no-tail
+ (vector-ref %expanded-vtables 13)
+ src-36337
+ head-36342
+ tail-36343)))))
+ (build-named-let-4534
+ (lambda (src-18955
+ ids-18956
+ vars-18957
+ val-exps-18958
+ body-exp-18959)
+ (let ((f-18960 (car vars-18957))
+ (f-name-18961 (car ids-18956))
+ (vars-18962 (cdr vars-18957))
+ (ids-18963 (cdr ids-18956)))
+ (let ((proc-18964
+ (let ((body-18984
+ (make-struct/no-tail
+ (vector-ref %expanded-vtables 15)
+ src-18955
+ ids-18963
+ #f
+ #f
+ #f
+ '()
+ vars-18962
+ body-exp-18959
+ #f)))
+ (make-struct/no-tail
+ (vector-ref %expanded-vtables 14)
+ src-18955
+ '()
+ body-18984))))
+ (begin
+ (if (if (struct? proc-18964)
+ (eq? (struct-vtable proc-18964)
+ (vector-ref %expanded-vtables 14))
+ #f)
+ (let ((meta-19008 (struct-ref proc-18964 1)))
+ (if (not (assq 'name meta-19008))
+ (let ((v-19015
+ (cons (cons 'name f-name-18961) meta-19008)))
+ (struct-set! proc-18964 1 v-19015)))))
+ (for-each
+ maybe-name-value!-4515
+ ids-18963
+ val-exps-18958)
+ (let ((names-19039 (list f-name-18961))
+ (gensyms-19040 (list f-18960))
+ (vals-19041 (list proc-18964))
+ (body-19042
+ (let ((fun-exp-19046
+ (make-struct/no-tail
+ (vector-ref %expanded-vtables 3)
+ src-18955
+ f-name-18961
+ f-18960)))
(make-struct/no-tail
- (vector-ref %expanded-vtables 15)
- #{src 42437}#
- #{ids 42445}#
- #f
- #f
- #f
- '()
- #{vars 42444}#
- #{body-exp 42441}#
- #f)))
- (make-struct/no-tail
- (vector-ref %expanded-vtables 14)
- #{src 42437}#
- '()
- #{body 42466}#))))
+ (vector-ref %expanded-vtables 11)
+ src-18955
+ fun-exp-19046
+ val-exps-18958))))
+ (make-struct/no-tail
+ (vector-ref %expanded-vtables 17)
+ src-18955
+ #f
+ names-19039
+ gensyms-19040
+ vals-19041
+ body-19042)))))))
+ (build-letrec-4535
+ (lambda (src-19062
+ in-order?-19063
+ ids-19064
+ vars-19065
+ val-exps-19066
+ body-exp-19067)
+ (if (null? vars-19065)
+ body-exp-19067
(begin
- (if (if (struct? #{proc 42446}#)
- (eq? (struct-vtable #{proc 42446}#)
- (vector-ref %expanded-vtables 14))
- #f)
- (let ((#{meta 42490}# (struct-ref #{proc 42446}# 1)))
- (if (not (assq 'name #{meta 42490}#))
- (let ((#{v 42497}#
- (cons (cons 'name #{f-name 42443}#)
- #{meta 42490}#)))
- (struct-set! #{proc 42446}# 1 #{v 42497}#)))))
(for-each
- #{maybe-name-value! 28203}#
- #{ids 42445}#
- #{val-exps 42440}#)
- (let ((#{names 42521}# (list #{f-name 42443}#))
- (#{gensyms 42522}# (list #{f 42442}#))
- (#{vals 42523}# (list #{proc 42446}#))
- (#{body 42524}#
- (let ((#{fun-exp 42528}#
- (make-struct/no-tail
- (vector-ref %expanded-vtables 3)
- #{src 42437}#
- #{f-name 42443}#
- #{f 42442}#)))
- (make-struct/no-tail
- (vector-ref %expanded-vtables 11)
- #{src 42437}#
- #{fun-exp 42528}#
- #{val-exps 42440}#))))
- (make-struct/no-tail
- (vector-ref %expanded-vtables 17)
- #{src 42437}#
- #f
- #{names 42521}#
- #{gensyms 42522}#
- #{vals 42523}#
- #{body 42524}#)))))))
- (#{build-letrec 28223}#
- (lambda (#{src 42544}#
- #{in-order? 42545}#
- #{ids 42546}#
- #{vars 42547}#
- #{val-exps 42548}#
- #{body-exp 42549}#)
- (if (null? #{vars 42547}#)
- #{body-exp 42549}#
- (begin
- (for-each
- #{maybe-name-value! 28203}#
- #{ids 42546}#
- #{val-exps 42548}#)
- (make-struct/no-tail
- (vector-ref %expanded-vtables 17)
- #{src 42544}#
- #{in-order? 42545}#
- #{ids 42546}#
- #{vars 42547}#
- #{val-exps 42548}#
- #{body-exp 42549}#)))))
- (#{source-annotation 28232}#
- (lambda (#{x 42575}#)
- (if (if (vector? #{x 42575}#)
- (if (= (vector-length #{x 42575}#) 4)
- (eq? (vector-ref #{x 42575}# 0) 'syntax-object)
- #f)
- #f)
- (#{source-annotation 28232}#
- (vector-ref #{x 42575}# 1))
- (if (pair? #{x 42575}#)
- (let ((#{props 42590}# (source-properties #{x 42575}#)))
- (if (pair? #{props 42590}#) #{props 42590}# #f))
- #f))))
- (#{extend-env 28233}#
- (lambda (#{labels 42592}# #{bindings 42593}# #{r 42594}#)
- (if (null? #{labels 42592}#)
- #{r 42594}#
- (#{extend-env 28233}#
- (cdr #{labels 42592}#)
- (cdr #{bindings 42593}#)
- (cons (cons (car #{labels 42592}#)
- (car #{bindings 42593}#))
- #{r 42594}#)))))
- (#{extend-var-env 28234}#
- (lambda (#{labels 42595}# #{vars 42596}# #{r 42597}#)
- (if (null? #{labels 42595}#)
- #{r 42597}#
- (#{extend-var-env 28234}#
- (cdr #{labels 42595}#)
- (cdr #{vars 42596}#)
- (cons (cons (car #{labels 42595}#)
- (cons 'lexical (car #{vars 42596}#)))
- #{r 42597}#)))))
- (#{macros-only-env 28235}#
- (lambda (#{r 42598}#)
- (if (null? #{r 42598}#)
- '()
- (let ((#{a 42599}# (car #{r 42598}#)))
- (if (let ((#{t 42602}# (car (cdr #{a 42599}#))))
- (if (eq? #{t 42602}# 'macro)
- #t
- (eq? #{t 42602}# 'syntax-parameter)))
- (cons #{a 42599}#
- (#{macros-only-env 28235}# (cdr #{r 42598}#)))
- (#{macros-only-env 28235}# (cdr #{r 42598}#)))))))
- (#{global-extend 28236}#
- (lambda (#{type 42604}# #{sym 42605}# #{val 42606}#)
- (module-define!
- (current-module)
- #{sym 42605}#
- (make-syntax-transformer
- #{sym 42605}#
- #{type 42604}#
- #{val 42606}#))))
- (#{id? 28238}#
- (lambda (#{x 35679}#)
- (if (symbol? #{x 35679}#)
- #t
- (if (if (vector? #{x 35679}#)
- (if (= (vector-length #{x 35679}#) 4)
- (eq? (vector-ref #{x 35679}# 0) 'syntax-object)
+ maybe-name-value!-4515
+ ids-19064
+ val-exps-19066)
+ (make-struct/no-tail
+ (vector-ref %expanded-vtables 17)
+ src-19062
+ in-order?-19063
+ ids-19064
+ vars-19065
+ val-exps-19066
+ body-exp-19067)))))
+ (source-annotation-4544
+ (lambda (x-19093)
+ (if (if (vector? x-19093)
+ (if (= (vector-length x-19093) 4)
+ (eq? (vector-ref x-19093 0) 'syntax-object)
#f)
#f)
- (symbol? (vector-ref #{x 35679}# 1))
- #f))))
- (#{gen-labels 28241}#
- (lambda (#{ls 42616}#)
- (if (null? #{ls 42616}#)
- '()
- (cons (symbol->string (gensym "i"))
- (#{gen-labels 28241}# (cdr #{ls 42616}#))))))
- (#{make-binding-wrap 28252}#
- (lambda (#{ids 42620}# #{labels 42621}# #{w 42622}#)
- (if (null? #{ids 42620}#)
- #{w 42622}#
- (cons (car #{w 42622}#)
- (cons (let ((#{labelvec 42623}#
- (list->vector #{labels 42621}#)))
- (let ((#{n 42624}# (vector-length #{labelvec 42623}#)))
- (let ((#{symnamevec 42625}# (make-vector #{n 42624}#))
- (#{marksvec 42626}# (make-vector #{n 42624}#)))
- (begin
- (letrec*
- ((#{f 42627}#
- (lambda (#{ids 42824}# #{i 42825}#)
- (if (not (null? #{ids 42824}#))
- (call-with-values
- (lambda ()
- (let ((#{x 42828}#
- (car #{ids 42824}#)))
- (if (if (vector? #{x 42828}#)
- (if (= (vector-length
- #{x 42828}#)
- 4)
- (eq? (vector-ref
- #{x 42828}#
- 0)
- 'syntax-object)
+ (source-annotation-4544 (vector-ref x-19093 1))
+ (if (pair? x-19093)
+ (let ((props-19108 (source-properties x-19093)))
+ (if (pair? props-19108) props-19108 #f))
+ #f))))
+ (extend-env-4545
+ (lambda (labels-19110 bindings-19111 r-19112)
+ (if (null? labels-19110)
+ r-19112
+ (extend-env-4545
+ (cdr labels-19110)
+ (cdr bindings-19111)
+ (cons (cons (car labels-19110) (car bindings-19111))
+ r-19112)))))
+ (extend-var-env-4546
+ (lambda (labels-19113 vars-19114 r-19115)
+ (if (null? labels-19113)
+ r-19115
+ (extend-var-env-4546
+ (cdr labels-19113)
+ (cdr vars-19114)
+ (cons (cons (car labels-19113)
+ (cons 'lexical (car vars-19114)))
+ r-19115)))))
+ (macros-only-env-4547
+ (lambda (r-19116)
+ (if (null? r-19116)
+ '()
+ (let ((a-19117 (car r-19116)))
+ (if (let ((t-19120 (car (cdr a-19117))))
+ (if (eq? t-19120 'macro)
+ #t
+ (eq? t-19120 'syntax-parameter)))
+ (cons a-19117
+ (macros-only-env-4547 (cdr r-19116)))
+ (macros-only-env-4547 (cdr r-19116)))))))
+ (global-extend-4548
+ (lambda (type-19122 sym-19123 val-19124)
+ (module-define!
+ (current-module)
+ sym-19123
+ (make-syntax-transformer
+ sym-19123
+ type-19122
+ val-19124))))
+ (id?-4550
+ (lambda (x-11889)
+ (if (symbol? x-11889)
+ #t
+ (if (if (vector? x-11889)
+ (if (= (vector-length x-11889) 4)
+ (eq? (vector-ref x-11889 0) 'syntax-object)
+ #f)
+ #f)
+ (symbol? (vector-ref x-11889 1))
+ #f))))
+ (gen-labels-4553
+ (lambda (ls-19134)
+ (if (null? ls-19134)
+ '()
+ (cons (string-append
+ "l-"
+ (session-id-4511)
+ (symbol->string (gensym "-")))
+ (gen-labels-4553 (cdr ls-19134))))))
+ (make-binding-wrap-4564
+ (lambda (ids-19138 labels-19139 w-19140)
+ (if (null? ids-19138)
+ w-19140
+ (cons (car w-19140)
+ (cons (let ((labelvec-19141 (list->vector labels-19139)))
+ (let ((n-19142 (vector-length labelvec-19141)))
+ (let ((symnamevec-19143 (make-vector n-19142))
+ (marksvec-19144 (make-vector n-19142)))
+ (begin
+ (letrec*
+ ((f-19145
+ (lambda (ids-19342 i-19343)
+ (if (not (null? ids-19342))
+ (call-with-values
+ (lambda ()
+ (let ((x-19346 (car ids-19342)))
+ (if (if (vector? x-19346)
+ (if (= (vector-length
+ x-19346)
+ 4)
+ (eq? (vector-ref
+ x-19346
+ 0)
+ 'syntax-object)
+ #f)
#f)
- #f)
- (values
- (vector-ref #{x 42828}# 1)
- (let ((#{m1 42844}#
- (car #{w 42622}#))
- (#{m2 42845}#
- (car (vector-ref
- #{x 42828}#
- 2))))
- (if (null? #{m2 42845}#)
- #{m1 42844}#
- (append
- #{m1 42844}#
- #{m2 42845}#))))
- (values
- #{x 42828}#
- (car #{w 42622}#)))))
- (lambda (#{symname 42865}#
- #{marks 42866}#)
- (begin
- (vector-set!
- #{symnamevec 42625}#
- #{i 42825}#
- #{symname 42865}#)
- (vector-set!
- #{marksvec 42626}#
- #{i 42825}#
- #{marks 42866}#)
- (#{f 42627}#
- (cdr #{ids 42824}#)
- (#{1+}# #{i 42825}#)))))))))
- (#{f 42627}# #{ids 42620}# 0))
- (vector
- 'ribcage
- #{symnamevec 42625}#
- #{marksvec 42626}#
- #{labelvec 42623}#)))))
- (cdr #{w 42622}#))))))
- (#{same-marks? 28256}#
- (lambda (#{x 59088}# #{y 59089}#)
- (if (eq? #{x 59088}# #{y 59089}#)
- (eq? #{x 59088}# #{y 59089}#)
- (if (not (null? #{x 59088}#))
- (if (not (null? #{y 59089}#))
- (if (eq? (car #{x 59088}#) (car #{y 59089}#))
- (#{same-marks? 28256}#
- (cdr #{x 59088}#)
- (cdr #{y 59089}#))
+ (values
+ (vector-ref x-19346 1)
+ (let ((m1-19362
+ (car w-19140))
+ (m2-19363
+ (car (vector-ref
+ x-19346
+ 2))))
+ (if (null? m2-19363)
+ m1-19362
+ (append
+ m1-19362
+ m2-19363))))
+ (values
+ x-19346
+ (car w-19140)))))
+ (lambda (symname-19383 marks-19384)
+ (begin
+ (vector-set!
+ symnamevec-19143
+ i-19343
+ symname-19383)
+ (vector-set!
+ marksvec-19144
+ i-19343
+ marks-19384)
+ (f-19145
+ (cdr ids-19342)
+ (#{1+}# i-19343)))))))))
+ (f-19145 ids-19138 0))
+ (vector
+ 'ribcage
+ symnamevec-19143
+ marksvec-19144
+ labelvec-19141)))))
+ (cdr w-19140))))))
+ (same-marks?-4568
+ (lambda (x-36344 y-36345)
+ (if (eq? x-36344 y-36345)
+ (eq? x-36344 y-36345)
+ (if (not (null? x-36344))
+ (if (not (null? y-36345))
+ (if (eq? (car x-36344) (car y-36345))
+ (same-marks?-4568 (cdr x-36344) (cdr y-36345))
+ #f)
#f)
- #f)
- #f))))
- (#{id-var-name 28257}#
- (lambda (#{id 59097}# #{w 59098}# #{mod 59099}#)
- (letrec*
- ((#{search 59100}#
- (lambda (#{sym 59166}#
- #{subst 59167}#
- #{marks 59168}#
- #{mod 59169}#)
- (if (null? #{subst 59167}#)
- (values #f #{marks 59168}#)
- (let ((#{fst 59170}# (car #{subst 59167}#)))
- (if (eq? #{fst 59170}# 'shift)
- (#{search 59100}#
- #{sym 59166}#
- (cdr #{subst 59167}#)
- (cdr #{marks 59168}#)
- #{mod 59169}#)
- (let ((#{symnames 59172}# (vector-ref #{fst 59170}# 1)))
- (if (vector? #{symnames 59172}#)
- (#{search-vector-rib 59102}#
- #{sym 59166}#
- #{subst 59167}#
- #{marks 59168}#
- #{symnames 59172}#
- #{fst 59170}#
- #{mod 59169}#)
- (#{search-list-rib 59101}#
- #{sym 59166}#
- #{subst 59167}#
- #{marks 59168}#
- #{symnames 59172}#
- #{fst 59170}#
- #{mod 59169}#))))))))
- (#{search-list-rib 59101}#
- (lambda (#{sym 59347}#
- #{subst 59348}#
- #{marks 59349}#
- #{symnames 59350}#
- #{ribcage 59351}#
- #{mod 59352}#)
- (letrec*
- ((#{f 59353}#
- (lambda (#{symnames 59356}# #{i 59357}#)
- (if (null? #{symnames 59356}#)
- (#{search 59100}#
- #{sym 59347}#
- (cdr #{subst 59348}#)
- #{marks 59349}#
- #{mod 59352}#)
- (if (if (eq? (car #{symnames 59356}#) #{sym 59347}#)
- (#{same-marks? 28256}#
- #{marks 59349}#
- (list-ref
- (vector-ref #{ribcage 59351}# 2)
- #{i 59357}#))
- #f)
- (let ((#{n 59503}#
- (list-ref
- (vector-ref #{ribcage 59351}# 3)
- #{i 59357}#)))
- (if (pair? #{n 59503}#)
- (if (equal? #{mod 59352}# (car #{n 59503}#))
- (values (cdr #{n 59503}#) #{marks 59349}#)
- (#{f 59353}#
- (cdr #{symnames 59356}#)
- (#{1+}# #{i 59357}#)))
- (values #{n 59503}# #{marks 59349}#)))
- (#{f 59353}#
- (cdr #{symnames 59356}#)
- (#{1+}# #{i 59357}#)))))))
- (#{f 59353}# #{symnames 59350}# 0))))
- (#{search-vector-rib 59102}#
- (lambda (#{sym 59508}#
- #{subst 59509}#
- #{marks 59510}#
- #{symnames 59511}#
- #{ribcage 59512}#
- #{mod 59513}#)
- (let ((#{n 59514}# (vector-length #{symnames 59511}#)))
+ #f))))
+ (id-var-name-4569
+ (lambda (id-36353 w-36354 mod-36355)
+ (letrec*
+ ((search-36356
+ (lambda (sym-36422 subst-36423 marks-36424 mod-36425)
+ (if (null? subst-36423)
+ (values #f marks-36424)
+ (let ((fst-36426 (car subst-36423)))
+ (if (eq? fst-36426 'shift)
+ (search-36356
+ sym-36422
+ (cdr subst-36423)
+ (cdr marks-36424)
+ mod-36425)
+ (let ((symnames-36428 (vector-ref fst-36426 1)))
+ (if (vector? symnames-36428)
+ (search-vector-rib-36358
+ sym-36422
+ subst-36423
+ marks-36424
+ symnames-36428
+ fst-36426
+ mod-36425)
+ (search-list-rib-36357
+ sym-36422
+ subst-36423
+ marks-36424
+ symnames-36428
+ fst-36426
+ mod-36425))))))))
+ (search-list-rib-36357
+ (lambda (sym-36603
+ subst-36604
+ marks-36605
+ symnames-36606
+ ribcage-36607
+ mod-36608)
(letrec*
- ((#{f 59515}#
- (lambda (#{i 59518}#)
- (if (= #{i 59518}# #{n 59514}#)
- (#{search 59100}#
- #{sym 59508}#
- (cdr #{subst 59509}#)
- #{marks 59510}#
- #{mod 59513}#)
- (if (if (eq? (vector-ref
- #{symnames 59511}#
- #{i 59518}#)
- #{sym 59508}#)
- (#{same-marks? 28256}#
- #{marks 59510}#
- (vector-ref
- (vector-ref #{ribcage 59512}# 2)
- #{i 59518}#))
+ ((f-36609
+ (lambda (symnames-36612 i-36613)
+ (if (null? symnames-36612)
+ (search-36356
+ sym-36603
+ (cdr subst-36604)
+ marks-36605
+ mod-36608)
+ (if (if (eq? (car symnames-36612) sym-36603)
+ (same-marks?-4568
+ marks-36605
+ (list-ref
+ (vector-ref ribcage-36607 2)
+ i-36613))
#f)
- (let ((#{n 59665}#
+ (let ((n-36759
+ (list-ref
+ (vector-ref ribcage-36607 3)
+ i-36613)))
+ (if (pair? n-36759)
+ (if (equal? mod-36608 (car n-36759))
+ (values (cdr n-36759) marks-36605)
+ (f-36609
+ (cdr symnames-36612)
+ (#{1+}# i-36613)))
+ (values n-36759 marks-36605)))
+ (f-36609 (cdr symnames-36612) (#{1+}# i-36613)))))))
+ (f-36609 symnames-36606 0))))
+ (search-vector-rib-36358
+ (lambda (sym-36764
+ subst-36765
+ marks-36766
+ symnames-36767
+ ribcage-36768
+ mod-36769)
+ (let ((n-36770 (vector-length symnames-36767)))
+ (letrec*
+ ((f-36771
+ (lambda (i-36774)
+ (if (= i-36774 n-36770)
+ (search-36356
+ sym-36764
+ (cdr subst-36765)
+ marks-36766
+ mod-36769)
+ (if (if (eq? (vector-ref symnames-36767 i-36774)
+ sym-36764)
+ (same-marks?-4568
+ marks-36766
(vector-ref
- (vector-ref #{ribcage 59512}# 3)
- #{i 59518}#)))
- (if (pair? #{n 59665}#)
- (if (equal? #{mod 59513}# (car #{n 59665}#))
- (values (cdr #{n 59665}#) #{marks 59510}#)
- (#{f 59515}# (#{1+}# #{i 59518}#)))
- (values #{n 59665}# #{marks 59510}#)))
- (#{f 59515}# (#{1+}# #{i 59518}#)))))))
- (#{f 59515}# 0))))))
- (if (symbol? #{id 59097}#)
- (let ((#{t 59103}#
- (#{search 59100}#
- #{id 59097}#
- (cdr #{w 59098}#)
- (car #{w 59098}#)
- #{mod 59099}#)))
- (if #{t 59103}# #{t 59103}# #{id 59097}#))
- (if (if (vector? #{id 59097}#)
- (if (= (vector-length #{id 59097}#) 4)
- (eq? (vector-ref #{id 59097}# 0) 'syntax-object)
+ (vector-ref ribcage-36768 2)
+ i-36774))
+ #f)
+ (let ((n-36921
+ (vector-ref
+ (vector-ref ribcage-36768 3)
+ i-36774)))
+ (if (pair? n-36921)
+ (if (equal? mod-36769 (car n-36921))
+ (values (cdr n-36921) marks-36766)
+ (f-36771 (#{1+}# i-36774)))
+ (values n-36921 marks-36766)))
+ (f-36771 (#{1+}# i-36774)))))))
+ (f-36771 0))))))
+ (if (symbol? id-36353)
+ (let ((t-36359
+ (search-36356
+ id-36353
+ (cdr w-36354)
+ (car w-36354)
+ mod-36355)))
+ (if t-36359 t-36359 id-36353))
+ (if (if (vector? id-36353)
+ (if (= (vector-length id-36353) 4)
+ (eq? (vector-ref id-36353 0) 'syntax-object)
+ #f)
#f)
- #f)
- (let ((#{id 59118}# (vector-ref #{id 59097}# 1))
- (#{w1 59119}# (vector-ref #{id 59097}# 2))
- (#{mod 59120}# (vector-ref #{id 59097}# 3)))
- (let ((#{marks 59121}#
- (let ((#{m1 59131}# (car #{w 59098}#))
- (#{m2 59132}# (car #{w1 59119}#)))
- (if (null? #{m2 59132}#)
- #{m1 59131}#
- (append #{m1 59131}# #{m2 59132}#)))))
- (call-with-values
- (lambda ()
- (#{search 59100}#
- #{id 59118}#
- (cdr #{w 59098}#)
- #{marks 59121}#
- #{mod 59120}#))
- (lambda (#{new-id 59152}# #{marks 59153}#)
- (if #{new-id 59152}#
- #{new-id 59152}#
- (let ((#{t 59161}#
- (#{search 59100}#
- #{id 59118}#
- (cdr #{w1 59119}#)
- #{marks 59153}#
- #{mod 59120}#)))
- (if #{t 59161}# #{t 59161}# #{id 59118}#)))))))
- (syntax-violation
- 'id-var-name
- "invalid id"
- #{id 59097}#))))))
- (#{resolve-identifier 28258}#
- (lambda (#{id 42873}#
- #{w 42874}#
- #{r 42875}#
- #{mod 42876}#
- #{resolve-syntax-parameters? 42877}#)
- (let ((#{n 42881}#
- (#{id-var-name 28257}#
- #{id 42873}#
- #{w 42874}#
- #{mod 42876}#)))
- (if (if (vector? #{n 42881}#)
- (if (= (vector-length #{n 42881}#) 4)
- (eq? (vector-ref #{n 42881}# 0) 'syntax-object)
- #f)
- #f)
- (#{resolve-identifier 28258}#
- #{n 42881}#
- #{w 42874}#
- #{r 42875}#
- #{mod 42876}#
- #{resolve-syntax-parameters? 42877}#)
- (if (symbol? #{n 42881}#)
- (let ((#{mod 42896}#
- (if (if (vector? #{id 42873}#)
- (if (= (vector-length #{id 42873}#) 4)
- (eq? (vector-ref #{id 42873}# 0) 'syntax-object)
- #f)
- #f)
- (vector-ref #{id 42873}# 3)
- #{mod 42876}#)))
- (let ((#{b 42897}#
- (let ((#{b 42900}#
- (let ((#{t 42901}#
- (begin
- (if (if (not #{mod 42896}#)
- (current-module)
- #f)
- (warn "module system is booted, we
should have a module"
- #{n 42881}#))
- (let ((#{v 42950}#
- (module-variable
- (if #{mod 42896}#
- (resolve-module
- (cdr #{mod 42896}#))
- (current-module))
- #{n 42881}#)))
- (if #{v 42950}#
- (if (variable-bound? #{v 42950}#)
- (let ((#{val 42959}#
- (variable-ref
- #{v 42950}#)))
- (if (macro? #{val 42959}#)
- (if (macro-type
- #{val 42959}#)
- (cons (macro-type
- #{val 42959}#)
- (macro-binding
- #{val 42959}#))
- #f)
- #f))
+ (let ((id-36374 (vector-ref id-36353 1))
+ (w1-36375 (vector-ref id-36353 2))
+ (mod-36376 (vector-ref id-36353 3)))
+ (let ((marks-36377
+ (let ((m1-36387 (car w-36354))
+ (m2-36388 (car w1-36375)))
+ (if (null? m2-36388)
+ m1-36387
+ (append m1-36387 m2-36388)))))
+ (call-with-values
+ (lambda ()
+ (search-36356
+ id-36374
+ (cdr w-36354)
+ marks-36377
+ mod-36376))
+ (lambda (new-id-36408 marks-36409)
+ (if new-id-36408
+ new-id-36408
+ (let ((t-36417
+ (search-36356
+ id-36374
+ (cdr w1-36375)
+ marks-36409
+ mod-36376)))
+ (if t-36417 t-36417 id-36374)))))))
+ (syntax-violation
+ 'id-var-name
+ "invalid id"
+ id-36353))))))
+ (locally-bound-identifiers-4570
+ (lambda (w-19391 mod-19392)
+ (letrec*
+ ((scan-19393
+ (lambda (subst-19398 results-19399)
+ (if (null? subst-19398)
+ results-19399
+ (let ((fst-19400 (car subst-19398)))
+ (if (eq? fst-19400 'shift)
+ (scan-19393 (cdr subst-19398) results-19399)
+ (let ((symnames-19402 (vector-ref fst-19400 1))
+ (marks-19403 (vector-ref fst-19400 2)))
+ (if (vector? symnames-19402)
+ (scan-vector-rib-19395
+ subst-19398
+ symnames-19402
+ marks-19403
+ results-19399)
+ (scan-list-rib-19394
+ subst-19398
+ symnames-19402
+ marks-19403
+ results-19399))))))))
+ (scan-list-rib-19394
+ (lambda (subst-19520
+ symnames-19521
+ marks-19522
+ results-19523)
+ (letrec*
+ ((f-19524
+ (lambda (symnames-19709 marks-19710 results-19711)
+ (if (null? symnames-19709)
+ (scan-19393 (cdr subst-19520) results-19711)
+ (f-19524
+ (cdr symnames-19709)
+ (cdr marks-19710)
+ (cons (let ((x-19717 (car symnames-19709))
+ (w-19718
+ (let ((w-19722
+ (cons (car marks-19710)
+ subst-19520)))
+ (cons (cons #f (car w-19722))
+ (cons 'shift
+ (cdr w-19722))))))
+ (if (if (null? (car w-19718))
+ (null? (cdr w-19718))
+ #f)
+ x-19717
+ (if (if (vector? x-19717)
+ (if (= (vector-length x-19717) 4)
+ (eq? (vector-ref x-19717 0)
+ 'syntax-object)
+ #f)
+ #f)
+ (let ((expression-19734
+ (vector-ref x-19717 1))
+ (wrap-19735
+ (let ((w2-19743
+ (vector-ref x-19717 2)))
+ (let ((m1-19744 (car w-19718))
+ (s1-19745
+ (cdr w-19718)))
+ (if (null? m1-19744)
+ (if (null? s1-19745)
+ w2-19743
+ (cons (car w2-19743)
+ (let ((m2-19756
+ (cdr
w2-19743)))
+ (if (null?
m2-19756)
+ s1-19745
+ (append
+ s1-19745
+
m2-19756)))))
+ (cons (let ((m2-19764
+ (car
w2-19743)))
+ (if (null?
m2-19764)
+ m1-19744
+ (append
+ m1-19744
+ m2-19764)))
+ (let ((m2-19772
+ (cdr
w2-19743)))
+ (if (null?
m2-19772)
+ s1-19745
+ (append
+ s1-19745
+
m2-19772))))))))
+ (module-19736
+ (vector-ref x-19717 3)))
+ (vector
+ 'syntax-object
+ expression-19734
+ wrap-19735
+ module-19736))
+ (if (null? x-19717)
+ x-19717
+ (vector
+ 'syntax-object
+ x-19717
+ w-19718
+ mod-19392)))))
+ results-19711))))))
+ (f-19524
+ symnames-19521
+ marks-19522
+ results-19523))))
+ (scan-vector-rib-19395
+ (lambda (subst-19785
+ symnames-19786
+ marks-19787
+ results-19788)
+ (let ((n-19789 (vector-length symnames-19786)))
+ (letrec*
+ ((f-19790
+ (lambda (i-19961 results-19962)
+ (if (= i-19961 n-19789)
+ (scan-19393 (cdr subst-19785) results-19962)
+ (f-19790
+ (#{1+}# i-19961)
+ (cons (let ((x-19968
+ (vector-ref symnames-19786 i-19961))
+ (w-19969
+ (let ((w-19973
+ (cons (vector-ref
+ marks-19787
+ i-19961)
+ subst-19785)))
+ (cons (cons #f (car w-19973))
+ (cons 'shift
+ (cdr w-19973))))))
+ (if (if (null? (car w-19969))
+ (null? (cdr w-19969))
+ #f)
+ x-19968
+ (if (if (vector? x-19968)
+ (if (= (vector-length x-19968) 4)
+ (eq? (vector-ref x-19968 0)
+ 'syntax-object)
#f)
- #f)))))
- (if #{t 42901}# #{t 42901}# '(global)))))
- (if (if #{resolve-syntax-parameters? 42877}#
- (eq? (car #{b 42900}#) 'syntax-parameter)
- #f)
- (let ((#{t 42968}#
- (assq-ref #{r 42875}# (cdr #{b 42900}#))))
- (if #{t 42968}#
- #{t 42968}#
- (cons 'macro (car (cdr #{b 42900}#)))))
- #{b 42900}#))))
- (if (eq? (car #{b 42897}#) 'global)
- (values 'global #{n 42881}# #{mod 42896}#)
- (values
- (car #{b 42897}#)
- (cdr #{b 42897}#)
- #{mod 42896}#))))
- (if (string? #{n 42881}#)
- (let ((#{mod 42974}#
- (if (if (vector? #{id 42873}#)
- (if (= (vector-length #{id 42873}#) 4)
- (eq? (vector-ref #{id 42873}# 0) 'syntax-object)
+ #f)
+ (let ((expression-19985
+ (vector-ref x-19968 1))
+ (wrap-19986
+ (let ((w2-19994
+ (vector-ref
+ x-19968
+ 2)))
+ (let ((m1-19995
+ (car w-19969))
+ (s1-19996
+ (cdr w-19969)))
+ (if (null? m1-19995)
+ (if (null? s1-19996)
+ w2-19994
+ (cons (car w2-19994)
+ (let ((m2-20007
+ (cdr
w2-19994)))
+ (if (null?
m2-20007)
+ s1-19996
+ (append
+ s1-19996
+
m2-20007)))))
+ (cons (let ((m2-20015
+ (car
w2-19994)))
+ (if (null?
m2-20015)
+ m1-19995
+ (append
+ m1-19995
+ m2-20015)))
+ (let ((m2-20023
+ (cdr
w2-19994)))
+ (if (null?
m2-20023)
+ s1-19996
+ (append
+ s1-19996
+
m2-20023))))))))
+ (module-19987
+ (vector-ref x-19968 3)))
+ (vector
+ 'syntax-object
+ expression-19985
+ wrap-19986
+ module-19987))
+ (if (null? x-19968)
+ x-19968
+ (vector
+ 'syntax-object
+ x-19968
+ w-19969
+ mod-19392)))))
+ results-19962))))))
+ (f-19790 0 results-19788))))))
+ (scan-19393 (cdr w-19391) '()))))
+ (resolve-identifier-4571
+ (lambda (id-20036
+ w-20037
+ r-20038
+ mod-20039
+ resolve-syntax-parameters?-20040)
+ (let ((n-20044
+ (id-var-name-4569 id-20036 w-20037 mod-20039)))
+ (if (if (vector? n-20044)
+ (if (= (vector-length n-20044) 4)
+ (eq? (vector-ref n-20044 0) 'syntax-object)
+ #f)
+ #f)
+ (resolve-identifier-4571
+ n-20044
+ w-20037
+ r-20038
+ mod-20039
+ resolve-syntax-parameters?-20040)
+ (if (symbol? n-20044)
+ (let ((mod-20059
+ (if (if (vector? id-20036)
+ (if (= (vector-length id-20036) 4)
+ (eq? (vector-ref id-20036 0) 'syntax-object)
#f)
#f)
- (vector-ref #{id 42873}# 3)
- #{mod 42876}#)))
- (let ((#{b 42975}#
- (let ((#{b 42978}#
- (let ((#{t 42979}#
- (assq-ref #{r 42875}# #{n 42881}#)))
- (if #{t 42979}#
- #{t 42979}#
- '(displaced-lexical)))))
- (if (if #{resolve-syntax-parameters? 42877}#
- (eq? (car #{b 42978}#) 'syntax-parameter)
+ (vector-ref id-20036 3)
+ mod-20039)))
+ (let ((b-20060
+ (let ((b-20063
+ (let ((t-20064
+ (begin
+ (if (if (not mod-20059)
+ (current-module)
+ #f)
+ (warn "module system is booted,
we should have a module"
+ n-20044))
+ (let ((v-20113
+ (module-variable
+ (if mod-20059
+ (resolve-module
+ (cdr mod-20059))
+ (current-module))
+ n-20044)))
+ (if v-20113
+ (if (variable-bound? v-20113)
+ (let ((val-20122
+ (variable-ref
+ v-20113)))
+ (if (macro? val-20122)
+ (if (macro-type val-20122)
+ (cons (macro-type
+ val-20122)
+ (macro-binding
+ val-20122))
+ #f)
+ #f))
+ #f)
+ #f)))))
+ (if t-20064 t-20064 '(global)))))
+ (if (if resolve-syntax-parameters?-20040
+ (eq? (car b-20063) 'syntax-parameter)
#f)
- (let ((#{t 42980}#
- (assq-ref #{r 42875}# (cdr #{b 42978}#))))
- (if #{t 42980}#
- #{t 42980}#
- (cons 'macro (car (cdr #{b 42978}#)))))
- #{b 42978}#))))
- (values
- (car #{b 42975}#)
- (cdr #{b 42975}#)
- #{mod 42974}#)))
- (error "unexpected id-var-name"
- #{id 42873}#
- #{w 42874}#
- #{n 42881}#)))))))
- (#{free-id=? 28259}#
- (lambda (#{i 42993}# #{j 42994}#)
- (let ((#{mi 42995}#
- (if (if (vector? #{i 42993}#)
- (if (= (vector-length #{i 42993}#) 4)
- (eq? (vector-ref #{i 42993}# 0) 'syntax-object)
- #f)
- #f)
- (vector-ref #{i 42993}# 3)
- #f)))
- (let ((#{mj 42996}#
- (if (if (vector? #{j 42994}#)
- (if (= (vector-length #{j 42994}#) 4)
- (eq? (vector-ref #{j 42994}# 0) 'syntax-object)
+ (let ((t-20131 (assq-ref r-20038 (cdr b-20063))))
+ (if t-20131
+ t-20131
+ (cons 'macro (car (cdr b-20063)))))
+ b-20063))))
+ (if (eq? (car b-20060) 'global)
+ (values 'global n-20044 mod-20059)
+ (values (car b-20060) (cdr b-20060) mod-20059))))
+ (if (string? n-20044)
+ (let ((mod-20137
+ (if (if (vector? id-20036)
+ (if (= (vector-length id-20036) 4)
+ (eq? (vector-ref id-20036 0) 'syntax-object)
+ #f)
+ #f)
+ (vector-ref id-20036 3)
+ mod-20039)))
+ (let ((b-20138
+ (let ((b-20141
+ (let ((t-20142 (assq-ref r-20038 n-20044)))
+ (if t-20142
+ t-20142
+ '(displaced-lexical)))))
+ (if (if resolve-syntax-parameters?-20040
+ (eq? (car b-20141) 'syntax-parameter)
+ #f)
+ (let ((t-20143
+ (assq-ref r-20038 (cdr b-20141))))
+ (if t-20143
+ t-20143
+ (cons 'macro (car (cdr b-20141)))))
+ b-20141))))
+ (values (car b-20138) (cdr b-20138) mod-20137)))
+ (error "unexpected id-var-name"
+ id-20036
+ w-20037
+ n-20044)))))))
+ (free-id=?-4574
+ (lambda (i-20156 j-20157)
+ (let ((mi-20158
+ (if (if (vector? i-20156)
+ (if (= (vector-length i-20156) 4)
+ (eq? (vector-ref i-20156 0) 'syntax-object)
#f)
#f)
- (vector-ref #{j 42994}# 3)
+ (vector-ref i-20156 3)
#f)))
- (let ((#{ni 42997}#
- (#{id-var-name 28257}#
- #{i 42993}#
- '(())
- #{mi 42995}#)))
- (let ((#{nj 42998}#
- (#{id-var-name 28257}#
- #{j 42994}#
- '(())
- #{mj 42996}#)))
- (if (if (vector? #{ni 42997}#)
- (if (= (vector-length #{ni 42997}#) 4)
- (eq? (vector-ref #{ni 42997}# 0) 'syntax-object)
- #f)
- #f)
- (#{free-id=? 28259}# #{ni 42997}# #{j 42994}#)
- (if (if (vector? #{nj 42998}#)
- (if (= (vector-length #{nj 42998}#) 4)
- (eq? (vector-ref #{nj 42998}# 0) 'syntax-object)
+ (let ((mj-20159
+ (if (if (vector? j-20157)
+ (if (= (vector-length j-20157) 4)
+ (eq? (vector-ref j-20157 0) 'syntax-object)
+ #f)
+ #f)
+ (vector-ref j-20157 3)
+ #f)))
+ (let ((ni-20160
+ (id-var-name-4569 i-20156 '(()) mi-20158)))
+ (let ((nj-20161
+ (id-var-name-4569 j-20157 '(()) mj-20159)))
+ (if (if (vector? ni-20160)
+ (if (= (vector-length ni-20160) 4)
+ (eq? (vector-ref ni-20160 0) 'syntax-object)
#f)
#f)
- (#{free-id=? 28259}# #{i 42993}# #{nj 42998}#)
- (if (symbol? #{ni 42997}#)
- (if (eq? #{nj 42998}#
- (if (if (vector? #{j 42994}#)
- (if (= (vector-length #{j 42994}#) 4)
- (eq? (vector-ref #{j 42994}# 0)
- 'syntax-object)
+ (free-id=?-4574 ni-20160 j-20157)
+ (if (if (vector? nj-20161)
+ (if (= (vector-length nj-20161) 4)
+ (eq? (vector-ref nj-20161 0) 'syntax-object)
+ #f)
+ #f)
+ (free-id=?-4574 i-20156 nj-20161)
+ (if (symbol? ni-20160)
+ (if (eq? nj-20161
+ (if (if (vector? j-20157)
+ (if (= (vector-length j-20157) 4)
+ (eq? (vector-ref j-20157 0)
+ 'syntax-object)
+ #f)
#f)
- #f)
- (vector-ref #{j 42994}# 1)
- #{j 42994}#))
- (if (let ((#{bi 43070}#
- (module-variable
- (if #{mi 42995}#
- (resolve-module (cdr #{mi 42995}#))
- (current-module))
- (if (if (vector? #{i 42993}#)
- (if (= (vector-length #{i 42993}#)
- 4)
- (eq? (vector-ref #{i 42993}# 0)
- 'syntax-object)
+ (vector-ref j-20157 1)
+ j-20157))
+ (if (let ((bi-20233
+ (module-variable
+ (if mi-20158
+ (resolve-module (cdr mi-20158))
+ (current-module))
+ (if (if (vector? i-20156)
+ (if (= (vector-length i-20156) 4)
+ (eq? (vector-ref i-20156 0)
+ 'syntax-object)
+ #f)
#f)
- #f)
- (vector-ref #{i 42993}# 1)
- #{i 42993}#))))
- (if #{bi 43070}#
- (eq? #{bi 43070}#
- (module-variable
- (if #{mj 42996}#
- (resolve-module (cdr #{mj 42996}#))
- (current-module))
- (if (if (vector? #{j 42994}#)
- (if (= (vector-length #{j 42994}#)
- 4)
- (eq? (vector-ref #{j 42994}# 0)
- 'syntax-object)
+ (vector-ref i-20156 1)
+ i-20156))))
+ (if bi-20233
+ (eq? bi-20233
+ (module-variable
+ (if mj-20159
+ (resolve-module (cdr mj-20159))
+ (current-module))
+ (if (if (vector? j-20157)
+ (if (= (vector-length j-20157) 4)
+ (eq? (vector-ref j-20157 0)
+ 'syntax-object)
+ #f)
#f)
- #f)
- (vector-ref #{j 42994}# 1)
- #{j 42994}#)))
- (if (not (module-variable
- (if #{mj 42996}#
- (resolve-module (cdr #{mj 42996}#))
- (current-module))
- (if (if (vector? #{j 42994}#)
- (if (= (vector-length
- #{j 42994}#)
- 4)
- (eq? (vector-ref
- #{j 42994}#
- 0)
- 'syntax-object)
+ (vector-ref j-20157 1)
+ j-20157)))
+ (if (not (module-variable
+ (if mj-20159
+ (resolve-module (cdr mj-20159))
+ (current-module))
+ (if (if (vector? j-20157)
+ (if (= (vector-length
+ j-20157)
+ 4)
+ (eq? (vector-ref j-20157 0)
+ 'syntax-object)
+ #f)
#f)
- #f)
- (vector-ref #{j 42994}# 1)
- #{j 42994}#)))
- (eq? #{ni 42997}# #{nj 42998}#)
- #f)))
- (eq? (module-variable
- (if #{mi 42995}#
- (resolve-module (cdr #{mi 42995}#))
- (current-module))
- (if (if (vector? #{i 42993}#)
- (if (= (vector-length #{i 42993}#) 4)
- (eq? (vector-ref #{i 42993}# 0)
- 'syntax-object)
+ (vector-ref j-20157 1)
+ j-20157)))
+ (eq? ni-20160 nj-20161)
+ #f)))
+ (eq? (module-variable
+ (if mi-20158
+ (resolve-module (cdr mi-20158))
+ (current-module))
+ (if (if (vector? i-20156)
+ (if (= (vector-length i-20156) 4)
+ (eq? (vector-ref i-20156 0)
+ 'syntax-object)
+ #f)
#f)
- #f)
- (vector-ref #{i 42993}# 1)
- #{i 42993}#))
- (module-variable
- (if #{mj 42996}#
- (resolve-module (cdr #{mj 42996}#))
- (current-module))
- (if (if (vector? #{j 42994}#)
- (if (= (vector-length #{j 42994}#) 4)
- (eq? (vector-ref #{j 42994}# 0)
- 'syntax-object)
+ (vector-ref i-20156 1)
+ i-20156))
+ (module-variable
+ (if mj-20159
+ (resolve-module (cdr mj-20159))
+ (current-module))
+ (if (if (vector? j-20157)
+ (if (= (vector-length j-20157) 4)
+ (eq? (vector-ref j-20157 0)
+ 'syntax-object)
+ #f)
#f)
- #f)
- (vector-ref #{j 42994}# 1)
- #{j 42994}#)))
+ (vector-ref j-20157 1)
+ j-20157)))
+ #f)
#f)
- #f)
- (equal? #{ni 42997}# #{nj 42998}#))))))))))
- (#{bound-id=? 28260}#
- (lambda (#{i 43263}# #{j 43264}#)
- (if (if (if (vector? #{i 43263}#)
- (if (= (vector-length #{i 43263}#) 4)
- (eq? (vector-ref #{i 43263}# 0) 'syntax-object)
+ (equal? ni-20160 nj-20161))))))))))
+ (bound-id=?-4575
+ (lambda (i-20426 j-20427)
+ (if (if (if (vector? i-20426)
+ (if (= (vector-length i-20426) 4)
+ (eq? (vector-ref i-20426 0) 'syntax-object)
+ #f)
+ #f)
+ (if (vector? j-20427)
+ (if (= (vector-length j-20427) 4)
+ (eq? (vector-ref j-20427 0) 'syntax-object)
#f)
- #f)
- (if (vector? #{j 43264}#)
- (if (= (vector-length #{j 43264}#) 4)
- (eq? (vector-ref #{j 43264}# 0) 'syntax-object)
#f)
#f)
+ (if (eq? (vector-ref i-20426 1)
+ (vector-ref j-20427 1))
+ (same-marks?-4568
+ (car (vector-ref i-20426 2))
+ (car (vector-ref j-20427 2)))
#f)
- (if (eq? (vector-ref #{i 43263}# 1)
- (vector-ref #{j 43264}# 1))
- (#{same-marks? 28256}#
- (car (vector-ref #{i 43263}# 2))
- (car (vector-ref #{j 43264}# 2)))
- #f)
- (eq? #{i 43263}# #{j 43264}#))))
- (#{valid-bound-ids? 28261}#
- (lambda (#{ids 43433}#)
- (if (letrec*
- ((#{all-ids? 43434}#
- (lambda (#{ids 43631}#)
- (if (null? #{ids 43631}#)
- (null? #{ids 43631}#)
- (if (let ((#{x 43642}# (car #{ids 43631}#)))
- (if (symbol? #{x 43642}#)
- #t
- (if (if (vector? #{x 43642}#)
- (if (= (vector-length #{x 43642}#) 4)
- (eq? (vector-ref #{x 43642}# 0)
- 'syntax-object)
+ (eq? i-20426 j-20427))))
+ (valid-bound-ids?-4576
+ (lambda (ids-20596)
+ (if (letrec*
+ ((all-ids?-20597
+ (lambda (ids-20794)
+ (if (null? ids-20794)
+ (null? ids-20794)
+ (if (let ((x-20805 (car ids-20794)))
+ (if (symbol? x-20805)
+ #t
+ (if (if (vector? x-20805)
+ (if (= (vector-length x-20805) 4)
+ (eq? (vector-ref x-20805 0)
+ 'syntax-object)
+ #f)
#f)
- #f)
- (symbol? (vector-ref #{x 43642}# 1))
- #f)))
- (#{all-ids? 43434}# (cdr #{ids 43631}#))
- #f)))))
- (#{all-ids? 43434}# #{ids 43433}#))
- (#{distinct-bound-ids? 28262}# #{ids 43433}#)
- #f)))
- (#{distinct-bound-ids? 28262}#
- (lambda (#{ids 43763}#)
- (letrec*
- ((#{distinct? 43764}#
- (lambda (#{ids 43869}#)
- (if (null? #{ids 43869}#)
- (null? #{ids 43869}#)
- (if (not (#{bound-id-member? 28263}#
- (car #{ids 43869}#)
- (cdr #{ids 43869}#)))
- (#{distinct? 43764}# (cdr #{ids 43869}#))
- #f)))))
- (#{distinct? 43764}# #{ids 43763}#))))
- (#{bound-id-member? 28263}#
- (lambda (#{x 43965}# #{list 43966}#)
- (if (not (null? #{list 43966}#))
- (let ((#{t 43967}#
- (#{bound-id=? 28260}#
- #{x 43965}#
- (car #{list 43966}#))))
- (if #{t 43967}#
- #{t 43967}#
- (#{bound-id-member? 28263}#
- #{x 43965}#
- (cdr #{list 43966}#))))
- #f)))
- (#{source-wrap 28265}#
- (lambda (#{x 44145}#
- #{w 44146}#
- #{s 44147}#
- #{defmod 44148}#)
- (let ((#{x 44152}#
- (begin
- (if (if (pair? #{x 44145}#) #{s 44147}# #f)
- (set-source-properties! #{x 44145}# #{s 44147}#))
- #{x 44145}#)))
- (if (if (null? (car #{w 44146}#))
- (null? (cdr #{w 44146}#))
- #f)
- #{x 44152}#
- (if (if (vector? #{x 44152}#)
- (if (= (vector-length #{x 44152}#) 4)
- (eq? (vector-ref #{x 44152}# 0) 'syntax-object)
- #f)
- #f)
- (let ((#{expression 44184}# (vector-ref #{x 44152}# 1))
- (#{wrap 44185}#
- (let ((#{w2 44193}# (vector-ref #{x 44152}# 2)))
- (let ((#{m1 44194}# (car #{w 44146}#))
- (#{s1 44195}# (cdr #{w 44146}#)))
- (if (null? #{m1 44194}#)
- (if (null? #{s1 44195}#)
- #{w2 44193}#
- (cons (car #{w2 44193}#)
- (let ((#{m2 44210}# (cdr #{w2 44193}#)))
- (if (null? #{m2 44210}#)
- #{s1 44195}#
- (append #{s1 44195}# #{m2 44210}#)))))
- (cons (let ((#{m2 44218}# (car #{w2 44193}#)))
- (if (null? #{m2 44218}#)
- #{m1 44194}#
- (append #{m1 44194}# #{m2 44218}#)))
- (let ((#{m2 44226}# (cdr #{w2 44193}#)))
- (if (null? #{m2 44226}#)
- #{s1 44195}#
- (append #{s1 44195}# #{m2 44226}#))))))))
- (#{module 44186}# (vector-ref #{x 44152}# 3)))
- (vector
- 'syntax-object
- #{expression 44184}#
- #{wrap 44185}#
- #{module 44186}#))
- (if (null? #{x 44152}#)
- #{x 44152}#
- (vector
- 'syntax-object
- #{x 44152}#
- #{w 44146}#
- #{defmod 44148}#)))))))
- (#{expand-sequence 28266}#
- (lambda (#{body 59670}#
- #{r 59671}#
- #{w 59672}#
- #{s 59673}#
- #{mod 59674}#)
- (#{build-sequence 28220}#
- #{s 59673}#
+ (symbol? (vector-ref x-20805 1))
+ #f)))
+ (all-ids?-20597 (cdr ids-20794))
+ #f)))))
+ (all-ids?-20597 ids-20596))
+ (distinct-bound-ids?-4577 ids-20596)
+ #f)))
+ (distinct-bound-ids?-4577
+ (lambda (ids-20926)
(letrec*
- ((#{dobody 59762}#
- (lambda (#{body 59845}#
- #{r 59846}#
- #{w 59847}#
- #{mod 59848}#)
- (if (null? #{body 59845}#)
- '()
- (let ((#{first 59849}#
- (#{expand 28271}#
- (car #{body 59845}#)
- #{r 59846}#
- #{w 59847}#
- #{mod 59848}#)))
- (cons #{first 59849}#
- (#{dobody 59762}#
- (cdr #{body 59845}#)
- #{r 59846}#
- #{w 59847}#
- #{mod 59848}#)))))))
- (#{dobody 59762}#
- #{body 59670}#
- #{r 59671}#
- #{w 59672}#
- #{mod 59674}#)))))
- (#{expand-top-sequence 28267}#
- (lambda (#{body 44255}#
- #{r 44256}#
- #{w 44257}#
- #{s 44258}#
- #{m 44259}#
- #{esew 44260}#
- #{mod 44261}#)
- (let ((#{r 44262}#
- (cons '("placeholder" placeholder) #{r 44256}#)))
- (let ((#{ribcage 44263}# (vector 'ribcage '() '() '())))
- (let ((#{w 44264}#
- (cons (car #{w 44257}#)
- (cons #{ribcage 44263}# (cdr #{w 44257}#)))))
- (letrec*
- ((#{record-definition! 44265}#
- (lambda (#{id 47641}# #{var 47642}#)
- (let ((#{mod 47643}#
- (cons 'hygiene (module-name (current-module)))))
- (let ((#{label 47649}#
- (cons (vector-ref #{id 47641}# 3)
- (if (if (vector? #{var 47642}#)
- (if (= (vector-length #{var 47642}#)
- 4)
- (eq? (vector-ref #{var 47642}# 0)
- 'syntax-object)
+ ((distinct?-20927
+ (lambda (ids-21032)
+ (if (null? ids-21032)
+ (null? ids-21032)
+ (if (not (bound-id-member?-4578
+ (car ids-21032)
+ (cdr ids-21032)))
+ (distinct?-20927 (cdr ids-21032))
+ #f)))))
+ (distinct?-20927 ids-20926))))
+ (bound-id-member?-4578
+ (lambda (x-21128 list-21129)
+ (if (not (null? list-21129))
+ (let ((t-21130
+ (bound-id=?-4575 x-21128 (car list-21129))))
+ (if t-21130
+ t-21130
+ (bound-id-member?-4578 x-21128 (cdr list-21129))))
+ #f)))
+ (source-wrap-4580
+ (lambda (x-21308 w-21309 s-21310 defmod-21311)
+ (let ((x-21315
+ (begin
+ (if (if (pair? x-21308) s-21310 #f)
+ (set-source-properties! x-21308 s-21310))
+ x-21308)))
+ (if (if (null? (car w-21309))
+ (null? (cdr w-21309))
+ #f)
+ x-21315
+ (if (if (vector? x-21315)
+ (if (= (vector-length x-21315) 4)
+ (eq? (vector-ref x-21315 0) 'syntax-object)
+ #f)
+ #f)
+ (let ((expression-21347 (vector-ref x-21315 1))
+ (wrap-21348
+ (let ((w2-21356 (vector-ref x-21315 2)))
+ (let ((m1-21357 (car w-21309))
+ (s1-21358 (cdr w-21309)))
+ (if (null? m1-21357)
+ (if (null? s1-21358)
+ w2-21356
+ (cons (car w2-21356)
+ (let ((m2-21373 (cdr w2-21356)))
+ (if (null? m2-21373)
+ s1-21358
+ (append s1-21358 m2-21373)))))
+ (cons (let ((m2-21381 (car w2-21356)))
+ (if (null? m2-21381)
+ m1-21357
+ (append m1-21357 m2-21381)))
+ (let ((m2-21389 (cdr w2-21356)))
+ (if (null? m2-21389)
+ s1-21358
+ (append s1-21358 m2-21389))))))))
+ (module-21349 (vector-ref x-21315 3)))
+ (vector
+ 'syntax-object
+ expression-21347
+ wrap-21348
+ module-21349))
+ (if (null? x-21315)
+ x-21315
+ (vector
+ 'syntax-object
+ x-21315
+ w-21309
+ defmod-21311)))))))
+ (expand-sequence-4581
+ (lambda (body-36926 r-36927 w-36928 s-36929 mod-36930)
+ (build-sequence-4532
+ s-36929
+ (letrec*
+ ((dobody-37018
+ (lambda (body-37101 r-37102 w-37103 mod-37104)
+ (if (null? body-37101)
+ '()
+ (let ((first-37105
+ (expand-4586
+ (car body-37101)
+ r-37102
+ w-37103
+ mod-37104)))
+ (cons first-37105
+ (dobody-37018
+ (cdr body-37101)
+ r-37102
+ w-37103
+ mod-37104)))))))
+ (dobody-37018
+ body-36926
+ r-36927
+ w-36928
+ mod-36930)))))
+ (expand-top-sequence-4582
+ (lambda (body-21418
+ r-21419
+ w-21420
+ s-21421
+ m-21422
+ esew-21423
+ mod-21424)
+ (let ((r-21425
+ (cons '("placeholder" placeholder) r-21419)))
+ (let ((ribcage-21426 (vector 'ribcage '() '() '())))
+ (let ((w-21427
+ (cons (car w-21420)
+ (cons ribcage-21426 (cdr w-21420)))))
+ (letrec*
+ ((record-definition!-21428
+ (lambda (id-24805 var-24806)
+ (let ((mod-24807
+ (cons 'hygiene (module-name (current-module)))))
+ (let ((label-24813
+ (cons (vector-ref id-24805 3)
+ (if (if (vector? var-24806)
+ (if (= (vector-length var-24806) 4)
+ (eq? (vector-ref var-24806 0)
+ 'syntax-object)
+ #f)
#f)
- #f)
- (let ((#{expression 47711}#
- (vector-ref #{var 47642}# 1))
- (#{wrap 47712}#
- (let ((#{w2 47722}#
- (vector-ref
- #{var 47642}#
- 2)))
- (cons (let ((#{m2 47729}#
- (car #{w2
47722}#)))
- (if (null? #{m2
47729}#)
- '(top)
- (append
+ (let ((expression-24875
+ (vector-ref var-24806 1))
+ (wrap-24876
+ (let ((w2-24886
+ (vector-ref
+ var-24806
+ 2)))
+ (cons (let ((m2-24893
+ (car
w2-24886)))
+ (if (null? m2-24893)
'(top)
- #{m2 47729}#)))
- (let ((#{m2 47738}#
- (cdr #{w2
47722}#)))
- (if (null? #{m2
47738}#)
- '()
- (append
+ (append
+ '(top)
+ m2-24893)))
+ (let ((m2-24902
+ (cdr
w2-24886)))
+ (if (null? m2-24902)
'()
- #{m2 47738}#))))))
- (#{module 47713}#
- (vector-ref #{var 47642}# 3)))
- (vector
- 'syntax-object
- #{expression 47711}#
- #{wrap 47712}#
- #{module 47713}#))
- (if (null? #{var 47642}#)
- #{var 47642}#
- (vector
- 'syntax-object
- #{var 47642}#
- '((top))
- #{mod 47643}#))))))
- (begin
- (let ((#{update 47652}#
- (cons (vector-ref #{id 47641}# 1)
- (vector-ref #{ribcage 44263}# 1))))
- (vector-set!
- #{ribcage 44263}#
- 1
- #{update 47652}#))
- (let ((#{update 47667}#
- (cons (car (vector-ref #{id 47641}# 2))
- (vector-ref #{ribcage 44263}# 2))))
- (vector-set!
- #{ribcage 44263}#
- 2
- #{update 47667}#))
- (let ((#{update 47682}#
- (cons #{label 47649}#
- (vector-ref #{ribcage 44263}# 3))))
- (vector-set!
- #{ribcage 44263}#
- 3
- #{update 47682}#)))))))
- (#{parse 44268}#
- (lambda (#{body 44463}#
- #{r 44464}#
- #{w 44465}#
- #{s 44466}#
- #{m 44467}#
- #{esew 44468}#
- #{mod 44469}#)
- (letrec*
- ((#{lp 44470}#
- (lambda (#{body 44553}# #{exps 44554}#)
- (if (null? #{body 44553}#)
- #{exps 44554}#
- (#{lp 44470}#
- (cdr #{body 44553}#)
- (append
- (#{parse1 44269}#
- (car #{body 44553}#)
- #{r 44464}#
- #{w 44465}#
- #{s 44466}#
- #{m 44467}#
- #{esew 44468}#
- #{mod 44469}#)
- #{exps 44554}#))))))
- (#{lp 44470}# #{body 44463}# '()))))
- (#{parse1 44269}#
- (lambda (#{x 44624}#
- #{r 44625}#
- #{w 44626}#
- #{s 44627}#
- #{m 44628}#
- #{esew 44629}#
- #{mod 44630}#)
- (call-with-values
- (lambda ()
- (#{syntax-type 28270}#
- #{x 44624}#
- #{r 44625}#
- #{w 44626}#
- (#{source-annotation 28232}# #{x 44624}#)
- #{ribcage 44263}#
- #{mod 44630}#
- #f))
- (lambda (#{type 44816}#
- #{value 44817}#
- #{e 44818}#
- #{w 44819}#
- #{s 44820}#
- #{mod 44821}#)
- (if (eqv? #{type 44816}# 'define-form)
- (let ((#{id 44825}#
- (if (if (null? (car #{w 44819}#))
- (null? (cdr #{w 44819}#))
- #f)
- #{value 44817}#
- (if (if (vector? #{value 44817}#)
- (if (= (vector-length
- #{value 44817}#)
- 4)
- (eq? (vector-ref #{value 44817}# 0)
- 'syntax-object)
- #f)
- #f)
- (let ((#{expression 44875}#
- (vector-ref #{value 44817}# 1))
- (#{wrap 44876}#
- (let ((#{w2 44886}#
- (vector-ref
- #{value 44817}#
- 2)))
- (let ((#{m1 44887}#
- (car #{w 44819}#))
- (#{s1 44888}#
- (cdr #{w 44819}#)))
- (if (null? #{m1 44887}#)
- (if (null? #{s1 44888}#)
- #{w2 44886}#
- (cons (car #{w2 44886}#)
- (let ((#{m2 44905}#
- (cdr #{w2
44886}#)))
- (if (null? #{m2
44905}#)
- #{s1 44888}#
- (append
- #{s1 44888}#
- #{m2
44905}#)))))
- (cons (let ((#{m2 44913}#
- (car #{w2
44886}#)))
- (if (null? #{m2
44913}#)
- #{m1 44887}#
- (append
- #{m1 44887}#
- #{m2 44913}#)))
- (let ((#{m2 44921}#
- (cdr #{w2
44886}#)))
- (if (null? #{m2
44921}#)
- #{s1 44888}#
- (append
- #{s1 44888}#
- #{m2
44921}#))))))))
- (#{module 44877}#
- (vector-ref #{value 44817}# 3)))
- (vector
- 'syntax-object
- #{expression 44875}#
- #{wrap 44876}#
- #{module 44877}#))
- (if (null? #{value 44817}#)
- #{value 44817}#
- (vector
- 'syntax-object
- #{value 44817}#
- #{w 44819}#
- #{mod 44821}#))))))
- (begin
- (symbol->string (gensym "i"))
- (let ((#{var 44827}#
- (if (not (equal?
- (car (vector-ref
- #{id 44825}#
- 2))
- '(top)))
- (symbol-append
- (vector-ref #{id 44825}# 1)
- '-
- (string->symbol
- (number->string
- (hash (syntax->datum #{x 44624}#)
- most-positive-fixnum)
- 16)))
- (vector-ref #{id 44825}# 1))))
- (begin
- (#{record-definition! 44265}#
- #{id 44825}#
- #{var 44827}#)
- (list (if (eq? #{m 44628}# 'c&e)
- (let ((#{x 45047}#
- (#{build-global-definition
28213}#
- #{s 44820}#
- #{var 44827}#
- (#{expand 28271}#
- #{e 44818}#
- #{r 44625}#
- #{w 44819}#
- #{mod 44821}#))))
- (begin
- (#{top-level-eval-hook 28198}#
- #{x 45047}#
- #{mod 44821}#)
- (lambda () #{x 45047}#)))
- (lambda ()
- (#{build-global-definition 28213}#
- #{s 44820}#
- #{var 44827}#
- (#{expand 28271}#
- #{e 44818}#
- #{r 44625}#
- #{w 44819}#
- #{mod 44821}#)))))))))
- (if (if (eqv? #{type 44816}# 'define-syntax-form)
- #t
- (eqv? #{type 44816}#
- 'define-syntax-parameter-form))
- (let ((#{id 45541}#
- (if (if (null? (car #{w 44819}#))
- (null? (cdr #{w 44819}#))
+ (append
+ '()
+ m2-24902))))))
+ (module-24877
+ (vector-ref var-24806 3)))
+ (vector
+ 'syntax-object
+ expression-24875
+ wrap-24876
+ module-24877))
+ (if (null? var-24806)
+ var-24806
+ (vector
+ 'syntax-object
+ var-24806
+ '((top))
+ mod-24807))))))
+ (begin
+ (let ((update-24816
+ (cons (vector-ref id-24805 1)
+ (vector-ref ribcage-21426 1))))
+ (vector-set! ribcage-21426 1 update-24816))
+ (let ((update-24831
+ (cons (car (vector-ref id-24805 2))
+ (vector-ref ribcage-21426 2))))
+ (vector-set! ribcage-21426 2 update-24831))
+ (let ((update-24846
+ (cons label-24813
+ (vector-ref ribcage-21426 3))))
+ (vector-set! ribcage-21426 3 update-24846)))))))
+ (parse-21431
+ (lambda (body-21626
+ r-21627
+ w-21628
+ s-21629
+ m-21630
+ esew-21631
+ mod-21632)
+ (letrec*
+ ((lp-21633
+ (lambda (body-21716 exps-21717)
+ (if (null? body-21716)
+ exps-21717
+ (lp-21633
+ (cdr body-21716)
+ (append
+ (parse1-21432
+ (car body-21716)
+ r-21627
+ w-21628
+ s-21629
+ m-21630
+ esew-21631
+ mod-21632)
+ exps-21717))))))
+ (lp-21633 body-21626 '()))))
+ (parse1-21432
+ (lambda (x-21787
+ r-21788
+ w-21789
+ s-21790
+ m-21791
+ esew-21792
+ mod-21793)
+ (call-with-values
+ (lambda ()
+ (syntax-type-4585
+ x-21787
+ r-21788
+ w-21789
+ (source-annotation-4544 x-21787)
+ ribcage-21426
+ mod-21793
+ #f))
+ (lambda (type-21979
+ value-21980
+ form-21981
+ e-21982
+ w-21983
+ s-21984
+ mod-21985)
+ (if (eqv? type-21979 'define-form)
+ (let ((id-21989
+ (if (if (null? (car w-21983))
+ (null? (cdr w-21983))
#f)
- #{value 44817}#
- (if (if (vector? #{value 44817}#)
- (if (= (vector-length
- #{value 44817}#)
+ value-21980
+ (if (if (vector? value-21980)
+ (if (= (vector-length value-21980)
4)
- (eq? (vector-ref
- #{value 44817}#
- 0)
+ (eq? (vector-ref value-21980 0)
'syntax-object)
#f)
#f)
- (let ((#{expression 45591}#
- (vector-ref #{value 44817}# 1))
- (#{wrap 45592}#
- (let ((#{w2 45602}#
+ (let ((expression-22039
+ (vector-ref value-21980 1))
+ (wrap-22040
+ (let ((w2-22050
(vector-ref
- #{value 44817}#
+ value-21980
2)))
- (let ((#{m1 45603}#
- (car #{w 44819}#))
- (#{s1 45604}#
- (cdr #{w 44819}#)))
- (if (null? #{m1 45603}#)
- (if (null? #{s1 45604}#)
- #{w2 45602}#
- (cons (car #{w2
45602}#)
- (let ((#{m2
45621}#
- (cdr
#{w2 45602}#)))
- (if (null?
#{m2 45621}#)
- #{s1 45604}#
+ (let ((m1-22051
+ (car w-21983))
+ (s1-22052
+ (cdr w-21983)))
+ (if (null? m1-22051)
+ (if (null? s1-22052)
+ w2-22050
+ (cons (car w2-22050)
+ (let ((m2-22069
+ (cdr
w2-22050)))
+ (if (null?
m2-22069)
+ s1-22052
(append
- #{s1
45604}#
- #{m2
45621}#)))))
- (cons (let ((#{m2 45629}#
- (car #{w2
45602}#)))
- (if (null? #{m2
45629}#)
- #{m1 45603}#
+ s1-22052
+
m2-22069)))))
+ (cons (let ((m2-22077
+ (car
w2-22050)))
+ (if (null?
m2-22077)
+ m1-22051
(append
- #{m1 45603}#
- #{m2
45629}#)))
- (let ((#{m2 45637}#
- (cdr #{w2
45602}#)))
- (if (null? #{m2
45637}#)
- #{s1 45604}#
+ m1-22051
+ m2-22077)))
+ (let ((m2-22085
+ (cdr
w2-22050)))
+ (if (null?
m2-22085)
+ s1-22052
(append
- #{s1 45604}#
- #{m2
45637}#))))))))
- (#{module 45593}#
- (vector-ref
- #{value 44817}#
- 3)))
+ s1-22052
+
m2-22085))))))))
+ (module-22041
+ (vector-ref value-21980 3)))
(vector
'syntax-object
- #{expression 45591}#
- #{wrap 45592}#
- #{module 45593}#))
- (if (null? #{value 44817}#)
- #{value 44817}#
+ expression-22039
+ wrap-22040
+ module-22041))
+ (if (null? value-21980)
+ value-21980
(vector
'syntax-object
- #{value 44817}#
- #{w 44819}#
- #{mod 44821}#))))))
+ value-21980
+ w-21983
+ mod-21985))))))
(begin
- (symbol->string (gensym "i"))
- (let ((#{var 45543}#
+ (string-append
+ "l-"
+ (session-id-4511)
+ (symbol->string (gensym "-")))
+ (let ((var-21991
(if (not (equal?
(car (vector-ref
- #{id 45541}#
+ id-21989
2))
'(top)))
(symbol-append
- (vector-ref #{id 45541}# 1)
+ (vector-ref id-21989 1)
'-
(string->symbol
(number->string
- (hash (syntax->datum
- #{x 44624}#)
+ (hash (syntax->datum x-21787)
most-positive-fixnum)
16)))
- (vector-ref #{id 45541}# 1))))
+ (vector-ref id-21989 1))))
(begin
- (#{record-definition! 44265}#
- #{id 45541}#
- #{var 45543}#)
- (if (eqv? #{m 44628}# 'c)
- (if (memq 'compile #{esew 44629}#)
- (let ((#{e 45766}#
- (#{expand-install-global
28268}#
- #{var 45543}#
- #{type 44816}#
- (#{expand 28271}#
- #{e 44818}#
- #{r 44625}#
- #{w 44819}#
- #{mod 44821}#))))
- (begin
- (#{top-level-eval-hook 28198}#
- #{e 45766}#
- #{mod 44821}#)
- (if (memq 'load #{esew 44629}#)
- (list (lambda () #{e 45766}#))
- '())))
- (if (memq 'load #{esew 44629}#)
- (list (lambda ()
- (#{expand-install-global
28268}#
- #{var 45543}#
- #{type 44816}#
- (#{expand 28271}#
- #{e 44818}#
- #{r 44625}#
- #{w 44819}#
- #{mod 44821}#))))
- '()))
- (if (eqv? #{m 44628}# 'c&e)
- (let ((#{e 46269}#
- (#{expand-install-global
28268}#
- #{var 45543}#
- #{type 44816}#
- (#{expand 28271}#
- #{e 44818}#
- #{r 44625}#
- #{w 44819}#
- #{mod 44821}#))))
- (begin
- (#{top-level-eval-hook 28198}#
- #{e 46269}#
- #{mod 44821}#)
- (list (lambda () #{e 46269}#))))
- (begin
- (if (memq 'eval #{esew 44629}#)
- (#{top-level-eval-hook 28198}#
- (#{expand-install-global 28268}#
- #{var 45543}#
- #{type 44816}#
- (#{expand 28271}#
- #{e 44818}#
- #{r 44625}#
- #{w 44819}#
- #{mod 44821}#))
- #{mod 44821}#))
- '())))))))
- (if (eqv? #{type 44816}# 'begin-form)
- (let ((#{tmp 46879}#
- ($sc-dispatch
- #{e 44818}#
- '(_ . each-any))))
- (if #{tmp 46879}#
- (@apply
- (lambda (#{e1 46883}#)
- (#{parse 44268}#
- #{e1 46883}#
- #{r 44625}#
- #{w 44819}#
- #{s 44820}#
- #{m 44628}#
- #{esew 44629}#
- #{mod 44821}#))
- #{tmp 46879}#)
- (syntax-violation
- #f
- "source expression failed to match any
pattern"
- #{e 44818}#)))
- (if (eqv? #{type 44816}# 'local-syntax-form)
- (#{expand-local-syntax 28276}#
- #{value 44817}#
- #{e 44818}#
- #{r 44625}#
- #{w 44819}#
- #{s 44820}#
- #{mod 44821}#
- (lambda (#{forms 46926}#
- #{r 46927}#
- #{w 46928}#
- #{s 46929}#
- #{mod 46930}#)
- (#{parse 44268}#
- #{forms 46926}#
- #{r 46927}#
- #{w 46928}#
- #{s 46929}#
- #{m 44628}#
- #{esew 44629}#
- #{mod 46930}#)))
- (if (eqv? #{type 44816}# 'eval-when-form)
- (let ((#{tmp 46966}#
- ($sc-dispatch
- #{e 44818}#
- '(_ each-any any . each-any))))
- (if #{tmp 46966}#
- (@apply
- (lambda (#{x 46970}#
- #{e1 46971}#
- #{e2 46972}#)
- (let ((#{when-list 46973}#
- (#{parse-when-list 28269}#
- #{e 44818}#
- #{x 46970}#))
- (#{body 46974}#
- (cons #{e1 46971}#
- #{e2 46972}#)))
- (letrec*
- ((#{recurse 46975}#
- (lambda (#{m 47561}#
- #{esew 47562}#)
- (#{parse 44268}#
- #{body 46974}#
- #{r 44625}#
- #{w 44819}#
- #{s 44820}#
- #{m 47561}#
- #{esew 47562}#
- #{mod 44821}#))))
- (if (eq? #{m 44628}# 'e)
- (if (memq 'eval
- #{when-list 46973}#)
- (#{recurse 46975}#
- (if (memq 'expand
- #{when-list
46973}#)
- 'c&e
- 'e)
- '(eval))
- (begin
- (if (memq 'expand
- #{when-list
46973}#)
- (let ((#{x 47082}#
-
(#{expand-top-sequence 28267}#
- #{body 46974}#
- #{r 44625}#
- #{w 44819}#
- #{s 44820}#
- 'e
- '(eval)
- #{mod
44821}#)))
- (primitive-eval
- #{x 47082}#)))
- '()))
- (if (memq 'load
- #{when-list 46973}#)
- (if (let ((#{t 47110}#
- (memq 'compile
-
#{when-list 46973}#)))
- (if #{t 47110}#
- #{t 47110}#
- (let ((#{t 47163}#
- (memq 'expand
-
#{when-list 46973}#)))
- (if #{t 47163}#
- #{t 47163}#
- (if (eq? #{m
44628}#
- 'c&e)
- (memq 'eval
-
#{when-list 46973}#)
- #f)))))
- (#{recurse 46975}#
- 'c&e
- '(compile load))
- (if (if (eq? #{m 44628}#
- 'c)
- #t
- (eq? #{m 44628}#
- 'c&e))
- (#{recurse 46975}#
- 'c
- '(load))
- '()))
- (if (let ((#{t 47372}#
- (memq 'compile
-
#{when-list 46973}#)))
- (if #{t 47372}#
- #{t 47372}#
- (let ((#{t 47425}#
- (memq 'expand
-
#{when-list 46973}#)))
- (if #{t 47425}#
- #{t 47425}#
- (if (eq? #{m
44628}#
- 'c&e)
- (memq 'eval
-
#{when-list 46973}#)
- #f)))))
- (begin
- (let ((#{x 47559}#
-
(#{expand-top-sequence 28267}#
- #{body 46974}#
- #{r 44625}#
- #{w 44819}#
- #{s 44820}#
- 'e
- '(eval)
- #{mod
44821}#)))
- (primitive-eval
- #{x 47559}#))
- '())
- '()))))))
- #{tmp 46966}#)
- (syntax-violation
- #f
- "source expression failed to match any
pattern"
- #{e 44818}#)))
- (list (if (eq? #{m 44628}# 'c&e)
- (let ((#{x 47632}#
- (#{expand-expr 28272}#
- #{type 44816}#
- #{value 44817}#
- #{e 44818}#
- #{r 44625}#
- #{w 44819}#
- #{s 44820}#
- #{mod 44821}#)))
+ (record-definition!-21428
+ id-21989
+ var-21991)
+ (list (if (eq? m-21791 'c&e)
+ (let ((x-22211
+
(build-global-definition-4525
+ s-21984
+ var-21991
+ (expand-4586
+ e-21982
+ r-21788
+ w-21983
+ mod-21985))))
+ (begin
+ (top-level-eval-hook-4509
+ x-22211
+ mod-21985)
+ (lambda () x-22211)))
+ (lambda ()
+ (build-global-definition-4525
+ s-21984
+ var-21991
+ (expand-4586
+ e-21982
+ r-21788
+ w-21983
+ mod-21985)))))))))
+ (if (if (eqv? type-21979 'define-syntax-form)
+ #t
+ (eqv? type-21979
+ 'define-syntax-parameter-form))
+ (let ((id-22705
+ (if (if (null? (car w-21983))
+ (null? (cdr w-21983))
+ #f)
+ value-21980
+ (if (if (vector? value-21980)
+ (if (= (vector-length
+ value-21980)
+ 4)
+ (eq? (vector-ref value-21980 0)
+ 'syntax-object)
+ #f)
+ #f)
+ (let ((expression-22755
+ (vector-ref value-21980 1))
+ (wrap-22756
+ (let ((w2-22766
+ (vector-ref
+ value-21980
+ 2)))
+ (let ((m1-22767
+ (car w-21983))
+ (s1-22768
+ (cdr w-21983)))
+ (if (null? m1-22767)
+ (if (null? s1-22768)
+ w2-22766
+ (cons (car w2-22766)
+ (let ((m2-22785
+ (cdr
w2-22766)))
+ (if (null?
m2-22785)
+ s1-22768
+ (append
+ s1-22768
+
m2-22785)))))
+ (cons (let ((m2-22793
+ (car
w2-22766)))
+ (if (null?
m2-22793)
+ m1-22767
+ (append
+ m1-22767
+ m2-22793)))
+ (let ((m2-22801
+ (cdr
w2-22766)))
+ (if (null?
m2-22801)
+ s1-22768
+ (append
+ s1-22768
+
m2-22801))))))))
+ (module-22757
+ (vector-ref value-21980 3)))
+ (vector
+ 'syntax-object
+ expression-22755
+ wrap-22756
+ module-22757))
+ (if (null? value-21980)
+ value-21980
+ (vector
+ 'syntax-object
+ value-21980
+ w-21983
+ mod-21985))))))
+ (begin
+ (string-append
+ "l-"
+ (session-id-4511)
+ (symbol->string (gensym "-")))
+ (let ((var-22707
+ (if (not (equal?
+ (car (vector-ref
+ id-22705
+ 2))
+ '(top)))
+ (symbol-append
+ (vector-ref id-22705 1)
+ '-
+ (string->symbol
+ (number->string
+ (hash (syntax->datum x-21787)
+ most-positive-fixnum)
+ 16)))
+ (vector-ref id-22705 1))))
+ (begin
+ (record-definition!-21428
+ id-22705
+ var-22707)
+ (if (eqv? m-21791 'c)
+ (if (memq 'compile esew-21792)
+ (let ((e-22930
+ (expand-install-global-4583
+ var-22707
+ type-21979
+ (expand-4586
+ e-21982
+ r-21788
+ w-21983
+ mod-21985))))
(begin
- (primitive-eval #{x 47632}#)
- (lambda () #{x 47632}#)))
- (lambda ()
- (#{expand-expr 28272}#
- #{type 44816}#
- #{value 44817}#
- #{e 44818}#
- #{r 44625}#
- #{w 44819}#
- #{s 44820}#
- #{mod 44821}#))))))))))))))
- (let ((#{exps 44270}#
- (map (lambda (#{x 44393}#) (#{x 44393}#))
- (reverse
- (#{parse 44268}#
- #{body 44255}#
- #{r 44262}#
- #{w 44264}#
- #{s 44258}#
- #{m 44259}#
- #{esew 44260}#
- #{mod 44261}#)))))
- (if (null? #{exps 44270}#)
- (make-struct/no-tail
- (vector-ref %expanded-vtables 0)
- #{s 44258}#)
- (#{build-sequence 28220}#
- #{s 44258}#
- #{exps 44270}#)))))))))
- (#{expand-install-global 28268}#
- (lambda (#{name 47760}# #{type 47761}# #{e 47762}#)
- (let ((#{exp 47768}#
- (let ((#{args 47779}#
- (if (eq? #{type 47761}#
- 'define-syntax-parameter-form)
- (list (make-struct/no-tail
- (vector-ref %expanded-vtables 1)
- #f
- #{name 47760}#)
- (make-struct/no-tail
- (vector-ref %expanded-vtables 1)
- #f
- 'syntax-parameter)
- (let ((#{args 47802}# (list #{e 47762}#)))
+ (top-level-eval-hook-4509
+ e-22930
+ mod-21985)
+ (if (memq 'load esew-21792)
+ (list (lambda () e-22930))
+ '())))
+ (if (memq 'load esew-21792)
+ (list (lambda ()
+ (expand-install-global-4583
+ var-22707
+ type-21979
+ (expand-4586
+ e-21982
+ r-21788
+ w-21983
+ mod-21985))))
+ '()))
+ (if (eqv? m-21791 'c&e)
+ (let ((e-23433
+ (expand-install-global-4583
+ var-22707
+ type-21979
+ (expand-4586
+ e-21982
+ r-21788
+ w-21983
+ mod-21985))))
+ (begin
+ (top-level-eval-hook-4509
+ e-23433
+ mod-21985)
+ (list (lambda () e-23433))))
+ (begin
+ (if (memq 'eval esew-21792)
+ (top-level-eval-hook-4509
+ (expand-install-global-4583
+ var-22707
+ type-21979
+ (expand-4586
+ e-21982
+ r-21788
+ w-21983
+ mod-21985))
+ mod-21985))
+ '())))))))
+ (if (eqv? type-21979 'begin-form)
+ (let ((tmp-24043
+ ($sc-dispatch
+ e-21982
+ '(_ . each-any))))
+ (if tmp-24043
+ (@apply
+ (lambda (e1-24047)
+ (parse-21431
+ e1-24047
+ r-21788
+ w-21983
+ s-21984
+ m-21791
+ esew-21792
+ mod-21985))
+ tmp-24043)
+ (syntax-violation
+ #f
+ "source expression failed to match any
pattern"
+ e-21982)))
+ (if (eqv? type-21979 'local-syntax-form)
+ (expand-local-syntax-4591
+ value-21980
+ e-21982
+ r-21788
+ w-21983
+ s-21984
+ mod-21985
+ (lambda (forms-24090
+ r-24091
+ w-24092
+ s-24093
+ mod-24094)
+ (parse-21431
+ forms-24090
+ r-24091
+ w-24092
+ s-24093
+ m-21791
+ esew-21792
+ mod-24094)))
+ (if (eqv? type-21979 'eval-when-form)
+ (let ((tmp-24130
+ ($sc-dispatch
+ e-21982
+ '(_ each-any any . each-any))))
+ (if tmp-24130
+ (@apply
+ (lambda (x-24134 e1-24135 e2-24136)
+ (let ((when-list-24137
+ (parse-when-list-4584
+ e-21982
+ x-24134))
+ (body-24138
+ (cons e1-24135 e2-24136)))
+ (letrec*
+ ((recurse-24139
+ (lambda (m-24725 esew-24726)
+ (parse-21431
+ body-24138
+ r-21788
+ w-21983
+ s-21984
+ m-24725
+ esew-24726
+ mod-21985))))
+ (if (eq? m-21791 'e)
+ (if (memq 'eval
+ when-list-24137)
+ (recurse-24139
+ (if (memq 'expand
+
when-list-24137)
+ 'c&e
+ 'e)
+ '(eval))
+ (begin
+ (if (memq 'expand
+
when-list-24137)
+ (let ((x-24246
+
(expand-top-sequence-4582
+ body-24138
+ r-21788
+ w-21983
+ s-21984
+ 'e
+ '(eval)
+ mod-21985)))
+ (primitive-eval
+ x-24246)))
+ '()))
+ (if (memq 'load
+ when-list-24137)
+ (if (let ((t-24274
+ (memq 'compile
+
when-list-24137)))
+ (if t-24274
+ t-24274
+ (let ((t-24327
+ (memq
'expand
+
when-list-24137)))
+ (if t-24327
+ t-24327
+ (if (eq?
m-21791
+ 'c&e)
+ (memq 'eval
+
when-list-24137)
+ #f)))))
+ (recurse-24139
+ 'c&e
+ '(compile load))
+ (if (if (eq? m-21791 'c)
+ #t
+ (eq? m-21791 'c&e))
+ (recurse-24139
+ 'c
+ '(load))
+ '()))
+ (if (let ((t-24536
+ (memq 'compile
+
when-list-24137)))
+ (if t-24536
+ t-24536
+ (let ((t-24589
+ (memq
'expand
+
when-list-24137)))
+ (if t-24589
+ t-24589
+ (if (eq?
m-21791
+ 'c&e)
+ (memq 'eval
+
when-list-24137)
+ #f)))))
+ (begin
+ (let ((x-24723
+
(expand-top-sequence-4582
+ body-24138
+ r-21788
+ w-21983
+ s-21984
+ 'e
+ '(eval)
+ mod-21985)))
+ (primitive-eval
+ x-24723))
+ '())
+ '()))))))
+ tmp-24130)
+ (syntax-violation
+ #f
+ "source expression failed to match
any pattern"
+ e-21982)))
+ (list (if (eq? m-21791 'c&e)
+ (let ((x-24796
+ (expand-expr-4587
+ type-21979
+ value-21980
+ form-21981
+ e-21982
+ r-21788
+ w-21983
+ s-21984
+ mod-21985)))
+ (begin
+ (primitive-eval x-24796)
+ (lambda () x-24796)))
+ (lambda ()
+ (expand-expr-4587
+ type-21979
+ value-21980
+ form-21981
+ e-21982
+ r-21788
+ w-21983
+ s-21984
+ mod-21985))))))))))))))
+ (let ((exps-21433
+ (map (lambda (x-21556) (x-21556))
+ (reverse
+ (parse-21431
+ body-21418
+ r-21425
+ w-21427
+ s-21421
+ m-21422
+ esew-21423
+ mod-21424)))))
+ (if (null? exps-21433)
+ (make-struct/no-tail
+ (vector-ref %expanded-vtables 0)
+ s-21421)
+ (build-sequence-4532 s-21421 exps-21433)))))))))
+ (expand-install-global-4583
+ (lambda (name-24924 type-24925 e-24926)
+ (let ((exp-24932
+ (let ((args-24943
+ (if (eq? type-24925 'define-syntax-parameter-form)
+ (list (make-struct/no-tail
+ (vector-ref %expanded-vtables 1)
+ #f
+ name-24924)
(make-struct/no-tail
- (vector-ref %expanded-vtables 12)
+ (vector-ref %expanded-vtables 1)
#f
- 'list
- #{args 47802}#)))
- (list (make-struct/no-tail
- (vector-ref %expanded-vtables 1)
- #f
- #{name 47760}#)
- (make-struct/no-tail
- (vector-ref %expanded-vtables 1)
- #f
- 'macro)
- #{e 47762}#))))
- (make-struct/no-tail
- (vector-ref %expanded-vtables 12)
- #f
- 'make-syntax-transformer
- #{args 47779}#))))
- (begin
- (if (if (struct? #{exp 47768}#)
- (eq? (struct-vtable #{exp 47768}#)
- (vector-ref %expanded-vtables 14))
- #f)
- (let ((#{meta 47829}# (struct-ref #{exp 47768}# 1)))
- (if (not (assq 'name #{meta 47829}#))
- (let ((#{v 47836}#
- (cons (cons 'name #{name 47760}#) #{meta 47829}#)))
- (struct-set! #{exp 47768}# 1 #{v 47836}#)))))
- (make-struct/no-tail
- (vector-ref %expanded-vtables 9)
- #f
- #{name 47760}#
- #{exp 47768}#)))))
- (#{parse-when-list 28269}#
- (lambda (#{e 47847}# #{when-list 47848}#)
- (let ((#{result 47849}#
- (#{strip 28284}# #{when-list 47848}# '(()))))
- (letrec*
- ((#{lp 47850}#
- (lambda (#{l 47916}#)
- (if (null? #{l 47916}#)
- #{result 47849}#
- (if (let ((#{t 47918}# (car #{l 47916}#)))
- (if (eq? #{t 47918}# 'compile)
- #t
- (if (eq? #{t 47918}# 'load)
+ 'syntax-parameter)
+ (let ((args-24966 (list e-24926)))
+ (make-struct/no-tail
+ (vector-ref %expanded-vtables 12)
+ #f
+ 'list
+ args-24966)))
+ (list (make-struct/no-tail
+ (vector-ref %expanded-vtables 1)
+ #f
+ name-24924)
+ (make-struct/no-tail
+ (vector-ref %expanded-vtables 1)
+ #f
+ 'macro)
+ e-24926))))
+ (make-struct/no-tail
+ (vector-ref %expanded-vtables 12)
+ #f
+ 'make-syntax-transformer
+ args-24943))))
+ (begin
+ (if (if (struct? exp-24932)
+ (eq? (struct-vtable exp-24932)
+ (vector-ref %expanded-vtables 14))
+ #f)
+ (let ((meta-24993 (struct-ref exp-24932 1)))
+ (if (not (assq 'name meta-24993))
+ (let ((v-25000
+ (cons (cons 'name name-24924) meta-24993)))
+ (struct-set! exp-24932 1 v-25000)))))
+ (make-struct/no-tail
+ (vector-ref %expanded-vtables 9)
+ #f
+ name-24924
+ exp-24932)))))
+ (parse-when-list-4584
+ (lambda (e-25011 when-list-25012)
+ (let ((result-25013 (strip-4599 when-list-25012 '(()))))
+ (letrec*
+ ((lp-25014
+ (lambda (l-25080)
+ (if (null? l-25080)
+ result-25013
+ (if (let ((t-25082 (car l-25080)))
+ (if (eq? t-25082 'compile)
#t
- (if (eq? #{t 47918}# 'eval)
+ (if (eq? t-25082 'load)
#t
- (eq? #{t 47918}# 'expand)))))
- (#{lp 47850}# (cdr #{l 47916}#))
- (syntax-violation
- 'eval-when
- "invalid situation"
- #{e 47847}#
- (car #{l 47916}#)))))))
- (#{lp 47850}# #{result 47849}#)))))
- (#{syntax-type 28270}#
- (lambda (#{e 47920}#
- #{r 47921}#
- #{w 47922}#
- #{s 47923}#
- #{rib 47924}#
- #{mod 47925}#
- #{for-car? 47926}#)
- (if (symbol? #{e 47920}#)
- (call-with-values
- (lambda ()
- (#{resolve-identifier 28258}#
- #{e 47920}#
- #{w 47922}#
- #{r 47921}#
- #{mod 47925}#
- #t))
- (lambda (#{type 47929}# #{value 47930}# #{mod* 47931}#)
- (if (eqv? #{type 47929}# 'macro)
- (if #{for-car? 47926}#
- (values
- #{type 47929}#
- #{value 47930}#
- #{e 47920}#
- #{w 47922}#
- #{s 47923}#
- #{mod 47925}#)
- (#{syntax-type 28270}#
- (#{expand-macro 28274}#
- #{value 47930}#
- #{e 47920}#
- #{r 47921}#
- #{w 47922}#
- #{s 47923}#
- #{rib 47924}#
- #{mod 47925}#)
- #{r 47921}#
- '(())
- #{s 47923}#
- #{rib 47924}#
- #{mod 47925}#
- #f))
- (if (eqv? #{type 47929}# 'global)
- (values
- #{type 47929}#
- #{value 47930}#
- #{value 47930}#
- #{w 47922}#
- #{s 47923}#
- #{mod* 47931}#)
- (values
- #{type 47929}#
- #{value 47930}#
- #{e 47920}#
- #{w 47922}#
- #{s 47923}#
- #{mod 47925}#)))))
- (if (pair? #{e 47920}#)
- (let ((#{first 47940}# (car #{e 47920}#)))
- (call-with-values
- (lambda ()
- (#{syntax-type 28270}#
- #{first 47940}#
- #{r 47921}#
- #{w 47922}#
- #{s 47923}#
- #{rib 47924}#
- #{mod 47925}#
- #t))
- (lambda (#{ftype 47942}#
- #{fval 47943}#
- #{fe 47944}#
- #{fw 47945}#
- #{fs 47946}#
- #{fmod 47947}#)
- (if (eqv? #{ftype 47942}# 'lexical)
+ (if (eq? t-25082 'eval)
+ #t
+ (eq? t-25082 'expand)))))
+ (lp-25014 (cdr l-25080))
+ (syntax-violation
+ 'eval-when
+ "invalid situation"
+ e-25011
+ (car l-25080)))))))
+ (lp-25014 result-25013)))))
+ (syntax-type-4585
+ (lambda (e-25084
+ r-25085
+ w-25086
+ s-25087
+ rib-25088
+ mod-25089
+ for-car?-25090)
+ (if (symbol? e-25084)
+ (call-with-values
+ (lambda ()
+ (resolve-identifier-4571
+ e-25084
+ w-25086
+ r-25085
+ mod-25089
+ #t))
+ (lambda (type-25093 value-25094 mod*-25095)
+ (if (eqv? type-25093 'macro)
+ (if for-car?-25090
+ (values
+ type-25093
+ value-25094
+ e-25084
+ e-25084
+ w-25086
+ s-25087
+ mod-25089)
+ (syntax-type-4585
+ (expand-macro-4589
+ value-25094
+ e-25084
+ r-25085
+ w-25086
+ s-25087
+ rib-25088
+ mod-25089)
+ r-25085
+ '(())
+ s-25087
+ rib-25088
+ mod-25089
+ #f))
+ (if (eqv? type-25093 'global)
(values
- 'lexical-call
- #{fval 47943}#
- #{e 47920}#
- #{w 47922}#
- #{s 47923}#
- #{mod 47925}#)
- (if (eqv? #{ftype 47942}# 'global)
+ type-25093
+ value-25094
+ e-25084
+ value-25094
+ w-25086
+ s-25087
+ mod*-25095)
+ (values
+ type-25093
+ value-25094
+ e-25084
+ e-25084
+ w-25086
+ s-25087
+ mod-25089)))))
+ (if (pair? e-25084)
+ (let ((first-25104 (car e-25084)))
+ (call-with-values
+ (lambda ()
+ (syntax-type-4585
+ first-25104
+ r-25085
+ w-25086
+ s-25087
+ rib-25088
+ mod-25089
+ #t))
+ (lambda (ftype-25106
+ fval-25107
+ fform-25108
+ fe-25109
+ fw-25110
+ fs-25111
+ fmod-25112)
+ (if (eqv? ftype-25106 'lexical)
(values
- 'global-call
- (vector
- 'syntax-object
- #{fval 47943}#
- #{w 47922}#
- #{fmod 47947}#)
- #{e 47920}#
- #{w 47922}#
- #{s 47923}#
- #{mod 47925}#)
- (if (eqv? #{ftype 47942}# 'macro)
- (#{syntax-type 28270}#
- (#{expand-macro 28274}#
- #{fval 47943}#
- #{e 47920}#
- #{r 47921}#
- #{w 47922}#
- #{s 47923}#
- #{rib 47924}#
- #{mod 47925}#)
- #{r 47921}#
- '(())
- #{s 47923}#
- #{rib 47924}#
- #{mod 47925}#
- #{for-car? 47926}#)
- (if (eqv? #{ftype 47942}# 'module-ref)
- (call-with-values
- (lambda ()
- (#{fval 47943}#
- #{e 47920}#
- #{r 47921}#
- #{w 47922}#))
- (lambda (#{e 47968}#
- #{r 47969}#
- #{w 47970}#
- #{s 47971}#
- #{mod 47972}#)
- (#{syntax-type 28270}#
- #{e 47968}#
- #{r 47969}#
- #{w 47970}#
- #{s 47971}#
- #{rib 47924}#
- #{mod 47972}#
- #{for-car? 47926}#)))
- (if (eqv? #{ftype 47942}# 'core)
- (values
- 'core-form
- #{fval 47943}#
- #{e 47920}#
- #{w 47922}#
- #{s 47923}#
- #{mod 47925}#)
- (if (eqv? #{ftype 47942}# 'local-syntax)
+ 'lexical-call
+ fval-25107
+ e-25084
+ e-25084
+ w-25086
+ s-25087
+ mod-25089)
+ (if (eqv? ftype-25106 'global)
+ (values
+ 'global-call
+ (vector
+ 'syntax-object
+ fval-25107
+ w-25086
+ fmod-25112)
+ e-25084
+ e-25084
+ w-25086
+ s-25087
+ mod-25089)
+ (if (eqv? ftype-25106 'macro)
+ (syntax-type-4585
+ (expand-macro-4589
+ fval-25107
+ e-25084
+ r-25085
+ w-25086
+ s-25087
+ rib-25088
+ mod-25089)
+ r-25085
+ '(())
+ s-25087
+ rib-25088
+ mod-25089
+ for-car?-25090)
+ (if (eqv? ftype-25106 'module-ref)
+ (call-with-values
+ (lambda () (fval-25107 e-25084 r-25085 w-25086))
+ (lambda (e-25133
+ r-25134
+ w-25135
+ s-25136
+ mod-25137)
+ (syntax-type-4585
+ e-25133
+ r-25134
+ w-25135
+ s-25136
+ rib-25088
+ mod-25137
+ for-car?-25090)))
+ (if (eqv? ftype-25106 'core)
(values
- 'local-syntax-form
- #{fval 47943}#
- #{e 47920}#
- #{w 47922}#
- #{s 47923}#
- #{mod 47925}#)
- (if (eqv? #{ftype 47942}# 'begin)
+ 'core-form
+ fval-25107
+ e-25084
+ e-25084
+ w-25086
+ s-25087
+ mod-25089)
+ (if (eqv? ftype-25106 'local-syntax)
(values
- 'begin-form
- #f
- #{e 47920}#
- #{w 47922}#
- #{s 47923}#
- #{mod 47925}#)
- (if (eqv? #{ftype 47942}# 'eval-when)
+ 'local-syntax-form
+ fval-25107
+ e-25084
+ e-25084
+ w-25086
+ s-25087
+ mod-25089)
+ (if (eqv? ftype-25106 'begin)
(values
- 'eval-when-form
+ 'begin-form
#f
- #{e 47920}#
- #{w 47922}#
- #{s 47923}#
- #{mod 47925}#)
- (if (eqv? #{ftype 47942}# 'define)
- (let ((#{tmp 47989}#
- ($sc-dispatch
- #{e 47920}#
- '(_ any any))))
- (if (if #{tmp 47989}#
- (@apply
- (lambda (#{name 47993}#
- #{val 47994}#)
- (if (symbol? #{name 47993}#)
- #t
- (if (if (vector?
- #{name 47993}#)
- (if (= (vector-length
- #{name 47993}#)
- 4)
- (eq? (vector-ref
- #{name 47993}#
- 0)
- 'syntax-object)
- #f)
- #f)
- (symbol?
- (vector-ref
- #{name 47993}#
- 1))
- #f)))
- #{tmp 47989}#)
- #f)
- (@apply
- (lambda (#{name 48021}# #{val 48022}#)
- (values
- 'define-form
- #{name 48021}#
- #{val 48022}#
- #{w 47922}#
- #{s 47923}#
- #{mod 47925}#))
- #{tmp 47989}#)
- (let ((#{tmp 48023}#
- ($sc-dispatch
- #{e 47920}#
- '(_ (any . any)
- any
- .
- each-any))))
- (if (if #{tmp 48023}#
- (@apply
- (lambda (#{name 48027}#
- #{args 48028}#
- #{e1 48029}#
- #{e2 48030}#)
- (if (if (symbol?
- #{name 48027}#)
- #t
- (if (if (vector?
- #{name
48027}#)
- (if (=
(vector-length
- #{name
48027}#)
- 4)
- (eq?
(vector-ref
- #{name
48027}#
- 0)
-
'syntax-object)
- #f)
- #f)
- (symbol?
- (vector-ref
- #{name 48027}#
- 1))
- #f))
- (#{valid-bound-ids?
28261}#
- (#{lambda-var-list
28286}#
- #{args 48028}#))
- #f))
- #{tmp 48023}#)
- #f)
- (@apply
- (lambda (#{name 48493}#
- #{args 48494}#
- #{e1 48495}#
- #{e2 48496}#)
- (values
- 'define-form
- (if (if (null? (car #{w
47922}#))
- (null? (cdr #{w
47922}#))
- #f)
- #{name 48493}#
- (if (if (vector?
- #{name 48493}#)
+ e-25084
+ e-25084
+ w-25086
+ s-25087
+ mod-25089)
+ (if (eqv? ftype-25106 'eval-when)
+ (values
+ 'eval-when-form
+ #f
+ e-25084
+ e-25084
+ w-25086
+ s-25087
+ mod-25089)
+ (if (eqv? ftype-25106 'define)
+ (let ((tmp-25154
+ ($sc-dispatch
+ e-25084
+ '(_ any any))))
+ (if (if tmp-25154
+ (@apply
+ (lambda (name-25158 val-25159)
+ (if (symbol? name-25158)
+ #t
+ (if (if (vector? name-25158)
(if (= (vector-length
- #{name
48493}#)
+ name-25158)
4)
(eq? (vector-ref
- #{name
48493}#
+ name-25158
0)
'syntax-object)
#f)
#f)
- (let ((#{expression
48526}#
- (vector-ref
- #{name 48493}#
- 1))
- (#{wrap 48527}#
- (let ((#{w2
48537}#
-
(vector-ref
- #{name
48493}#
- 2)))
- (let ((#{m1
48538}#
- (car
#{w 47922}#))
- (#{s1
48539}#
- (cdr
#{w 47922}#)))
- (if (null?
#{m1 48538}#)
- (if (null?
#{s1 48539}#)
- #{w2
48537}#
- (cons
(car #{w2 48537}#)
-
(let ((#{m2 48556}#
-
(cdr #{w2 48537}#)))
-
(if (null? #{m2 48556}#)
-
#{s1 48539}#
+ (symbol?
+ (vector-ref
+ name-25158
+ 1))
+ #f)))
+ tmp-25154)
+ #f)
+ (@apply
+ (lambda (name-25186 val-25187)
+ (values
+ 'define-form
+ name-25186
+ e-25084
+ val-25187
+ w-25086
+ s-25087
+ mod-25089))
+ tmp-25154)
+ (let ((tmp-25188
+ ($sc-dispatch
+ e-25084
+ '(_ (any . any)
+ any
+ .
+ each-any))))
+ (if (if tmp-25188
+ (@apply
+ (lambda (name-25192
+ args-25193
+ e1-25194
+ e2-25195)
+ (if (if (symbol?
+ name-25192)
+ #t
+ (if (if (vector?
+
name-25192)
+ (if (=
(vector-length
+
name-25192)
+ 4)
+ (eq?
(vector-ref
+
name-25192
+ 0)
+
'syntax-object)
+ #f)
+ #f)
+ (symbol?
+ (vector-ref
+ name-25192
+ 1))
+ #f))
+ (valid-bound-ids?-4576
+ (lambda-var-list-4601
+ args-25193))
+ #f))
+ tmp-25188)
+ #f)
+ (@apply
+ (lambda (name-25658
+ args-25659
+ e1-25660
+ e2-25661)
+ (values
+ 'define-form
+ (if (if (null? (car
w-25086))
+ (null? (cdr w-25086))
+ #f)
+ name-25658
+ (if (if (vector?
+ name-25658)
+ (if (=
(vector-length
+ name-25658)
+ 4)
+ (eq? (vector-ref
+ name-25658
+ 0)
+
'syntax-object)
+ #f)
+ #f)
+ (let ((expression-25691
+ (vector-ref
+ name-25658
+ 1))
+ (wrap-25692
+ (let ((w2-25702
+
(vector-ref
+
name-25658
+ 2)))
+ (let
((m1-25703
+ (car
w-25086))
+
(s1-25704
+ (cdr
w-25086)))
+ (if (null?
m1-25703)
+ (if
(null? s1-25704)
+ w2-25702
+ (cons
(car w2-25702)
+
(let ((m2-25721
+
(cdr w2-25702)))
+
(if (null? m2-25721)
+
s1-25704
+
(append
+
s1-25704
+
m2-25721)))))
+ (cons
(let ((m2-25729
+
(car w2-25702)))
+
(if (null? m2-25729)
+
m1-25703
(append
-
#{s1 48539}#
-
#{m2 48556}#)))))
- (cons (let
((#{m2 48564}#
-
(car #{w2 48537}#)))
- (if
(null? #{m2 48564}#)
-
#{m1 48538}#
-
(append
-
#{m1 48538}#
-
#{m2 48564}#)))
- (let
((#{m2 48572}#
-
(cdr #{w2 48537}#)))
- (if
(null? #{m2 48572}#)
-
#{s1 48539}#
-
(append
-
#{s1 48539}#
-
#{m2 48572}#))))))))
- (#{module 48528}#
- (vector-ref
- #{name 48493}#
- 3)))
- (vector
- 'syntax-object
- #{expression 48526}#
- #{wrap 48527}#
- #{module 48528}#))
- (if (null? #{name 48493}#)
- #{name 48493}#
- (vector
- 'syntax-object
- #{name 48493}#
- #{w 47922}#
- #{mod 47925}#))))
- (let ((#{e 48598}#
- (cons '#(syntax-object
- lambda
- ((top)
- #(ribcage
- #(name
- args
- e1
- e2)
- #((top)
- (top)
- (top)
- (top))
- #("i25779"
- "i25780"
- "i25781"
-
"i25782"))
- #(ribcage
- ()
- ()
- ())
- #(ribcage
- ()
- ()
- ())
- #(ribcage
- #(ftype
- fval
- fe
- fw
- fs
- fmod)
- #((top)
- (top)
- (top)
- (top)
- (top)
- (top))
- #("i25732"
- "i25733"
- "i25734"
- "i25735"
- "i25736"
-
"i25737"))
- #(ribcage
- ()
- ()
- ())
- #(ribcage
- #(first)
- #((top))
-
#("i25724"))
- #(ribcage
- ()
- ()
- ())
- #(ribcage
- ()
- ()
- ())
- #(ribcage
- ()
- ()
- ())
- #(ribcage
- #(e
- r
- w
- s
- rib
- mod
-
for-car?)
- #((top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top))
- #("i25703"
- "i25704"
- "i25705"
- "i25706"
- "i25707"
- "i25708"
-
"i25709"))
- #(ribcage
-
(lambda-var-list
- gen-var
- strip
-
expand-lambda-case
-
lambda*-formals
-
expand-simple-lambda
-
lambda-formals
-
ellipsis?
-
expand-void
-
eval-local-transformer
-
expand-local-syntax
-
expand-body
-
expand-macro
-
expand-call
-
expand-expr
- expand
-
syntax-type
-
parse-when-list
-
expand-install-global
-
expand-top-sequence
-
expand-sequence
-
source-wrap
- wrap
-
bound-id-member?
-
distinct-bound-ids?
-
valid-bound-ids?
-
bound-id=?
-
free-id=?
-
resolve-identifier
-
id-var-name
-
same-marks?
-
join-marks
-
join-wraps
-
smart-append
-
make-binding-wrap
-
extend-ribcage!
-
make-empty-ribcage
- new-mark
-
anti-mark
-
the-anti-mark
-
top-marked?
- top-wrap
-
empty-wrap
-
set-ribcage-labels!
-
set-ribcage-marks!
-
set-ribcage-symnames!
-
ribcage-labels
-
ribcage-marks
-
ribcage-symnames
- ribcage?
-
make-ribcage
-
gen-labels
-
gen-label
-
make-rename
-
rename-marks
-
rename-new
-
rename-old
-
subst-rename?
-
wrap-subst
-
wrap-marks
-
make-wrap
-
id-sym-name&marks
-
id-sym-name
- id?
-
nonsymbol-id?
-
global-extend
-
macros-only-env
-
extend-var-env
-
extend-env
- null-env
-
binding-value
-
binding-type
-
make-binding
-
arg-check
-
source-annotation
-
no-source
-
set-syntax-object-module!
-
set-syntax-object-wrap!
-
set-syntax-object-expression!
-
syntax-object-module
-
syntax-object-wrap
-
syntax-object-expression
-
syntax-object?
-
make-syntax-object
-
build-lexical-var
-
build-letrec
-
build-named-let
-
build-let
-
build-sequence
-
build-data
-
build-primref
-
build-primcall
-
build-lambda-case
-
build-case-lambda
-
build-simple-lambda
-
build-global-definition
-
build-global-assignment
-
build-global-reference
-
analyze-variable
-
build-lexical-assignment
-
build-lexical-reference
-
build-dynlet
-
build-conditional
-
build-call
-
build-void
-
maybe-name-value!
-
decorate-source
-
get-global-definition-hook
-
put-global-definition-hook
-
gensym-hook
-
local-eval-hook
-
top-level-eval-hook
- fx<
- fx=
- fx-
- fx+
-
set-lambda-meta!
-
lambda-meta
- lambda?
-
make-dynlet
-
make-letrec
- make-let
-
make-lambda-case
-
make-lambda
- make-seq
-
make-primcall
-
make-call
-
make-conditional
-
make-toplevel-define
-
make-toplevel-set
-
make-toplevel-ref
-
make-module-set
-
make-module-ref
-
make-lexical-set
-
make-lexical-ref
-
make-primitive-ref
-
make-const
-
make-void)
- ((top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top))
- ("i24298"
- "i24296"
- "i24294"
- "i24292"
- "i24290"
- "i24288"
- "i24286"
- "i24284"
- "i24282"
- "i24280"
- "i24278"
- "i24276"
- "i24274"
- "i24272"
- "i24270"
- "i24268"
- "i24266"
- "i24264"
- "i24262"
- "i24260"
- "i24258"
- "i24256"
- "i24254"
- "i24252"
- "i24250"
- "i24248"
- "i24246"
- "i24244"
- "i24242"
- "i24240"
- "i24238"
- "i24236"
- "i24234"
- "i24232"
- "i24230"
- "i24228"
- "i24227"
- "i24225"
- "i24222"
- "i24221"
- "i24220"
- "i24218"
- "i24217"
- "i24215"
- "i24213"
- "i24211"
- "i24209"
- "i24207"
- "i24205"
- "i24203"
- "i24201"
- "i24198"
- "i24196"
- "i24195"
- "i24193"
- "i24191"
- "i24189"
- "i24187"
- "i24186"
- "i24185"
- "i24184"
- "i24182"
- "i24181"
- "i24178"
- "i24176"
- "i24174"
- "i24172"
- "i24170"
- "i24168"
- "i24167"
- "i24166"
- "i24164"
- "i24162"
- "i24161"
- "i24158"
- "i24157"
- "i24155"
- "i24153"
- "i24151"
- "i24149"
- "i24147"
- "i24145"
- "i24143"
- "i24141"
- "i24139"
- "i24136"
- "i24134"
- "i24132"
- "i24130"
- "i24128"
- "i24126"
- "i24124"
- "i24122"
- "i24120"
- "i24118"
- "i24116"
- "i24114"
- "i24112"
- "i24110"
- "i24108"
- "i24106"
- "i24104"
- "i24102"
- "i24100"
- "i24098"
- "i24096"
- "i24094"
- "i24092"
- "i24090"
- "i24089"
- "i24086"
- "i24084"
- "i24083"
- "i24082"
- "i24081"
- "i24080"
- "i24078"
- "i24076"
- "i24074"
- "i24071"
- "i24069"
- "i24067"
- "i24065"
- "i24063"
- "i24061"
- "i24059"
- "i24057"
- "i24055"
- "i24053"
- "i24051"
- "i24049"
- "i24047"
- "i24045"
- "i24043"
- "i24041"
- "i24039"
- "i24037"
-
"i24035"))
- #(ribcage
-
(define-structure
-
define-expansion-accessors
-
define-expansion-constructors)
- ((top)
- (top)
- (top))
- ("i23873"
- "i23872"
-
"i23871"))
- #(ribcage
- ()
- ()
- ()))
- (hygiene
- guile))
- (let ((#{x
48602}#
- (cons
#{args 48494}#
-
(cons #{e1 48495}#
-
#{e2 48496}#))))
- (if (if
(null? (car #{w 47922}#))
- (null?
(cdr #{w 47922}#))
- #f)
- #{x 48602}#
- (if (if
(vector?
-
#{x 48602}#)
- (if
(= (vector-length
-
#{x 48602}#)
-
4)
-
(eq? (vector-ref
-
#{x 48602}#
-
0)
-
'syntax-object)
- #f)
+
m1-25703
+
m2-25729)))
+
(let ((m2-25737
+
(cdr w2-25702)))
+
(if (null? m2-25737)
+
s1-25704
+
(append
+
s1-25704
+
m2-25737))))))))
+ (module-25693
+ (vector-ref
+ name-25658
+ 3)))
+ (vector
+ 'syntax-object
+ expression-25691
+ wrap-25692
+ module-25693))
+ (if (null? name-25658)
+ name-25658
+ (vector
+ 'syntax-object
+ name-25658
+ w-25086
+ mod-25089))))
+ (if (if (null? (car
w-25086))
+ (null? (cdr w-25086))
+ #f)
+ e-25084
+ (if (if (vector? e-25084)
+ (if (=
(vector-length
+ e-25084)
+ 4)
+ (eq? (vector-ref
+ e-25084
+ 0)
+
'syntax-object)
+ #f)
+ #f)
+ (let ((expression-25789
+ (vector-ref
+ e-25084
+ 1))
+ (wrap-25790
+ (let ((w2-25800
+
(vector-ref
+
e-25084
+ 2)))
+ (let
((m1-25801
+ (car
w-25086))
+
(s1-25802
+ (cdr
w-25086)))
+ (if (null?
m1-25801)
+ (if
(null? s1-25802)
+ w2-25800
+ (cons
(car w2-25800)
+
(let ((m2-25819
+
(cdr w2-25800)))
+
(if (null? m2-25819)
+
s1-25802
+
(append
+
s1-25802
+
m2-25819)))))
+ (cons
(let ((m2-25827
+
(car w2-25800)))
+
(if (null? m2-25827)
+
m1-25801
+
(append
+
m1-25801
+
m2-25827)))
+
(let ((m2-25835
+
(cdr w2-25800)))
+
(if (null? m2-25835)
+
s1-25802
+
(append
+
s1-25802
+
m2-25835))))))))
+ (module-25791
+ (vector-ref
+ e-25084
+ 3)))
+ (vector
+ 'syntax-object
+ expression-25789
+ wrap-25790
+ module-25791))
+ (if (null? e-25084)
+ e-25084
+ (vector
+ 'syntax-object
+ e-25084
+ w-25086
+ mod-25089))))
+ (let ((e-25861
+ (cons
'#(syntax-object
+ lambda
+ ((top)
+ #(ribcage
+ #(name
+ args
+ e1
+ e2)
+ #((top)
+ (top)
+ (top)
+ (top))
+
#("l-*-2021"
+
"l-*-2022"
+
"l-*-2023"
+
"l-*-2024"))
+ #(ribcage
+ ()
+ ()
+ ())
+ #(ribcage
+ ()
+ ()
+ ())
+ #(ribcage
+ #(ftype
+ fval
+ fform
+ fe
+ fw
+ fs
+ fmod)
+ #((top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top))
+
#("l-*-1973"
+
"l-*-1974"
+
"l-*-1975"
+
"l-*-1976"
+
"l-*-1977"
+
"l-*-1978"
+
"l-*-1979"))
+ #(ribcage
+ ()
+ ()
+ ())
+ #(ribcage
+ #(first)
+ #((top))
+
#("l-*-1964"))
+ #(ribcage
+ ()
+ ()
+ ())
+ #(ribcage
+ ()
+ ()
+ ())
+ #(ribcage
+ ()
+ ()
+ ())
+ #(ribcage
+ #(e
+ r
+ w
+ s
+ rib
+ mod
+
for-car?)
+ #((top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top))
+
#("l-*-1943"
+
"l-*-1944"
+
"l-*-1945"
+
"l-*-1946"
+
"l-*-1947"
+
"l-*-1948"
+
"l-*-1949"))
+ #(ribcage
+
(lambda-var-list
+
gen-var
+ strip
+
expand-lambda-case
+
lambda*-formals
+
expand-simple-lambda
+
lambda-formals
+
ellipsis?
+
expand-void
+
eval-local-transformer
+
expand-local-syntax
+
expand-body
+
expand-macro
+
expand-call
+
expand-expr
+ expand
+
syntax-type
+
parse-when-list
+
expand-install-global
+
expand-top-sequence
+
expand-sequence
+
source-wrap
+ wrap
+
bound-id-member?
+
distinct-bound-ids?
+
valid-bound-ids?
+
bound-id=?
+
free-id=?
+
with-transformer-environment
+
transformer-environment
+
resolve-identifier
+
locally-bound-identifiers
+
id-var-name
+
same-marks?
+
join-marks
+
join-wraps
+
smart-append
+
make-binding-wrap
+
extend-ribcage!
+
make-empty-ribcage
+
new-mark
+
anti-mark
+
the-anti-mark
+
top-marked?
+
top-wrap
+
empty-wrap
+
set-ribcage-labels!
+
set-ribcage-marks!
+
set-ribcage-symnames!
+
ribcage-labels
+
ribcage-marks
+
ribcage-symnames
+
ribcage?
+
make-ribcage
+
gen-labels
+
gen-label
+
make-rename
+
rename-marks
+
rename-new
+
rename-old
+
subst-rename?
+
wrap-subst
+
wrap-marks
+
make-wrap
+
id-sym-name&marks
+
id-sym-name
+ id?
+
nonsymbol-id?
+
global-extend
+
macros-only-env
+
extend-var-env
+
extend-env
+
null-env
+
binding-value
+
binding-type
+
make-binding
+
arg-check
+
source-annotation
+
no-source
+
set-syntax-object-module!
+
set-syntax-object-wrap!
+
set-syntax-object-expression!
+
syntax-object-module
+
syntax-object-wrap
+
syntax-object-expression
+
syntax-object?
+
make-syntax-object
+
build-lexical-var
+
build-letrec
+
build-named-let
+
build-let
+
build-sequence
+
build-data
+
build-primref
+
build-primcall
+
build-lambda-case
+
build-case-lambda
+
build-simple-lambda
+
build-global-definition
+
build-global-assignment
+
build-global-reference
+
analyze-variable
+
build-lexical-assignment
+
build-lexical-reference
+
build-dynlet
+
build-conditional
+
build-call
+
build-void
+
maybe-name-value!
+
decorate-source
+
get-global-definition-hook
+
put-global-definition-hook
+
session-id
+
local-eval-hook
+
top-level-eval-hook
+ fx<
+ fx=
+ fx-
+ fx+
+
set-lambda-meta!
+
lambda-meta
+
lambda?
+
make-dynlet
+
make-letrec
+
make-let
+
make-lambda-case
+
make-lambda
+
make-seq
+
make-primcall
+
make-call
+
make-conditional
+
make-toplevel-define
+
make-toplevel-set
+
make-toplevel-ref
+
make-module-set
+
make-module-ref
+
make-lexical-set
+
make-lexical-ref
+
make-primitive-ref
+
make-const
+
make-void)
+ ((top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top))
+
("l-*-478"
+
"l-*-476"
+
"l-*-474"
+
"l-*-472"
+
"l-*-470"
+
"l-*-468"
+
"l-*-466"
+
"l-*-464"
+
"l-*-462"
+
"l-*-460"
+
"l-*-458"
+
"l-*-456"
+
"l-*-454"
+
"l-*-452"
+
"l-*-450"
+
"l-*-448"
+
"l-*-446"
+
"l-*-444"
+
"l-*-442"
+
"l-*-440"
+
"l-*-438"
+
"l-*-436"
+
"l-*-434"
+
"l-*-432"
+
"l-*-430"
+
"l-*-428"
+
"l-*-426"
+
"l-*-424"
+
"l-*-422"
+
"l-*-420"
+
"l-*-418"
+
"l-*-416"
+
"l-*-414"
+
"l-*-412"
+
"l-*-410"
+
"l-*-408"
+
"l-*-406"
+
"l-*-404"
+
"l-*-402"
+
"l-*-401"
+
"l-*-399"
+
"l-*-396"
+
"l-*-395"
+
"l-*-394"
+
"l-*-392"
+
"l-*-391"
+
"l-*-389"
+
"l-*-387"
+
"l-*-385"
+
"l-*-383"
+
"l-*-381"
+
"l-*-379"
+
"l-*-377"
+
"l-*-375"
+
"l-*-372"
+
"l-*-370"
+
"l-*-369"
+
"l-*-367"
+
"l-*-365"
+
"l-*-363"
+
"l-*-361"
+
"l-*-360"
+
"l-*-359"
+
"l-*-358"
+
"l-*-356"
+
"l-*-355"
+
"l-*-352"
+
"l-*-350"
+
"l-*-348"
+
"l-*-346"
+
"l-*-344"
+
"l-*-342"
+
"l-*-341"
+
"l-*-340"
+
"l-*-338"
+
"l-*-336"
+
"l-*-335"
+
"l-*-332"
+
"l-*-331"
+
"l-*-329"
+
"l-*-327"
+
"l-*-325"
+
"l-*-323"
+
"l-*-321"
+
"l-*-319"
+
"l-*-317"
+
"l-*-315"
+
"l-*-313"
+
"l-*-310"
+
"l-*-308"
+
"l-*-306"
+
"l-*-304"
+
"l-*-302"
+
"l-*-300"
+
"l-*-298"
+
"l-*-296"
+
"l-*-294"
+
"l-*-292"
+
"l-*-290"
+
"l-*-288"
+
"l-*-286"
+
"l-*-284"
+
"l-*-282"
+
"l-*-280"
+
"l-*-278"
+
"l-*-276"
+
"l-*-274"
+
"l-*-272"
+
"l-*-270"
+
"l-*-268"
+
"l-*-266"
+
"l-*-264"
+
"l-*-262"
+
"l-*-260"
+
"l-*-258"
+
"l-*-257"
+
"l-*-256"
+
"l-*-255"
+
"l-*-254"
+
"l-*-252"
+
"l-*-250"
+
"l-*-248"
+
"l-*-245"
+
"l-*-243"
+
"l-*-241"
+
"l-*-239"
+
"l-*-237"
+
"l-*-235"
+
"l-*-233"
+
"l-*-231"
+
"l-*-229"
+
"l-*-227"
+
"l-*-225"
+
"l-*-223"
+
"l-*-221"
+
"l-*-219"
+
"l-*-217"
+
"l-*-215"
+
"l-*-213"
+
"l-*-211"
+
"l-*-209"))
+ #(ribcage
+
(define-structure
+
define-expansion-accessors
+
define-expansion-constructors)
+ ((top)
+ (top)
+ (top))
+
("l-*-47"
+
"l-*-46"
+
"l-*-45"))
+ #(ribcage
+ ()
+ ()
+ ()))
+ (hygiene
+ guile))
+ (let ((x-25865
+ (cons
args-25659
+
(cons e1-25660
+
e2-25661))))
+ (if (if
(null? (car w-25086))
+
(null? (cdr w-25086))
#f)
- (let
((#{expression 48620}#
-
(vector-ref
-
#{x 48602}#
-
1))
-
(#{wrap 48621}#
-
(let ((#{w2 48629}#
-
(vector-ref
-
#{x 48602}#
-
2)))
-
(let ((#{m1 48630}#
-
(car #{w 47922}#))
-
(#{s1 48631}#
-
(cdr #{w 47922}#)))
-
(if (null? #{m1 48630}#)
-
(if (null? #{s1 48631}#)
-
#{w2 48629}#
-
(cons (car #{w2 48629}#)
-
(let ((#{m2 48646}#
-
(cdr #{w2 48629}#)))
-
(if (null? #{m2 48646}#)
-
#{s1 48631}#
+ x-25865
+ (if (if
(vector?
+
x-25865)
+ (if
(= (vector-length
+
x-25865)
+
4)
+
(eq? (vector-ref
+
x-25865
+
0)
+
'syntax-object)
+
#f)
+ #f)
+ (let
((expression-25883
+
(vector-ref
+
x-25865
+
1))
+
(wrap-25884
+
(let ((w2-25892
+
(vector-ref
+
x-25865
+
2)))
+
(let ((m1-25893
+
(car w-25086))
+
(s1-25894
+
(cdr w-25086)))
+
(if (null? m1-25893)
+
(if (null? s1-25894)
+
w2-25892
+
(cons (car w2-25892)
+
(let ((m2-25909
+
(cdr w2-25892)))
+
(if (null? m2-25909)
+
s1-25894
+
(append
+
s1-25894
+
m2-25909)))))
+
(cons (let ((m2-25917
+
(car w2-25892)))
+
(if (null? m2-25917)
+
m1-25893
(append
-
#{s1 48631}#
-
#{m2 48646}#)))))
-
(cons (let ((#{m2 48654}#
-
(car #{w2 48629}#)))
-
(if (null? #{m2 48654}#)
-
#{m1 48630}#
-
(append
-
#{m1 48630}#
-
#{m2 48654}#)))
-
(let ((#{m2 48662}#
-
(cdr #{w2 48629}#)))
-
(if (null? #{m2 48662}#)
-
#{s1 48631}#
-
(append
-
#{s1 48631}#
-
#{m2 48662}#))))))))
-
(#{module 48622}#
-
(vector-ref
-
#{x 48602}#
-
3)))
- (vector
-
'syntax-object
-
#{expression 48620}#
-
#{wrap 48621}#
-
#{module 48622}#))
- (if
(null? #{x 48602}#)
- #{x
48602}#
- (vector
-
'syntax-object
- #{x
48602}#
- #{w
47922}#
- #{mod
47925}#))))))))
- (begin
- (if (if (pair? #{e
48598}#)
- #{s 47923}#
- #f)
- (set-source-properties!
- #{e 48598}#
- #{s 47923}#))
- #{e 48598}#))
- '(())
- #{s 47923}#
- #{mod 47925}#))
- #{tmp 48023}#)
- (let ((#{tmp 48681}#
- ($sc-dispatch
- #{e 47920}#
- '(_ any))))
- (if (if #{tmp 48681}#
- (@apply
- (lambda (#{name 48685}#)
- (if (symbol?
- #{name 48685}#)
- #t
+
m1-25893
+
m2-25917)))
+
(let ((m2-25925
+
(cdr w2-25892)))
+
(if (null? m2-25925)
+
s1-25894
+
(append
+
s1-25894
+
m2-25925))))))))
+
(module-25885
+
(vector-ref
+
x-25865
+
3)))
+
(vector
+
'syntax-object
+
expression-25883
+
wrap-25884
+
module-25885))
+ (if
(null? x-25865)
+
x-25865
+
(vector
+
'syntax-object
+
x-25865
+
w-25086
+
mod-25089))))))))
+ (begin
+ (if (if (pair? e-25861)
+ s-25087
+ #f)
+
(set-source-properties!
+ e-25861
+ s-25087))
+ e-25861))
+ '(())
+ s-25087
+ mod-25089))
+ tmp-25188)
+ (let ((tmp-25944
+ ($sc-dispatch
+ e-25084
+ '(_ any))))
+ (if (if tmp-25944
+ (@apply
+ (lambda (name-25948)
+ (if (symbol?
+ name-25948)
+ #t
+ (if (if (vector?
+
name-25948)
+ (if (=
(vector-length
+
name-25948)
+ 4)
+ (eq?
(vector-ref
+
name-25948
+ 0)
+
'syntax-object)
+ #f)
+ #f)
+ (symbol?
+ (vector-ref
+ name-25948
+ 1))
+ #f)))
+ tmp-25944)
+ #f)
+ (@apply
+ (lambda (name-25975)
+ (values
+ 'define-form
+ (if (if (null? (car
w-25086))
+ (null? (cdr
w-25086))
+ #f)
+ name-25975
(if (if (vector?
- #{name
48685}#)
+ name-25975)
(if (=
(vector-length
- #{name
48685}#)
+
name-25975)
4)
(eq?
(vector-ref
- #{name
48685}#
+
name-25975
0)
'syntax-object)
#f)
#f)
- (symbol?
- (vector-ref
- #{name 48685}#
- 1))
- #f)))
- #{tmp 48681}#)
- #f)
- (@apply
- (lambda (#{name 48712}#)
- (values
- 'define-form
- (if (if (null? (car #{w
47922}#))
- (null? (cdr #{w
47922}#))
- #f)
- #{name 48712}#
- (if (if (vector?
- #{name
48712}#)
- (if (=
(vector-length
- #{name
48712}#)
- 4)
- (eq? (vector-ref
- #{name
48712}#
- 0)
-
'syntax-object)
- #f)
- #f)
- (let ((#{expression
48742}#
- (vector-ref
- #{name
48712}#
- 1))
- (#{wrap 48743}#
- (let ((#{w2
48753}#
-
(vector-ref
-
#{name 48712}#
- 2)))
- (let ((#{m1
48754}#
-
(car #{w 47922}#))
- (#{s1
48755}#
-
(cdr #{w 47922}#)))
- (if
(null? #{m1 48754}#)
- (if
(null? #{s1 48755}#)
- #{w2
48753}#
- (cons
(car #{w2 48753}#)
-
(let ((#{m2 48772}#
-
(cdr #{w2 48753}#)))
-
(if (null? #{m2 48772}#)
-
#{s1 48755}#
+ (let
((expression-26005
+ (vector-ref
+ name-25975
+ 1))
+ (wrap-26006
+ (let
((w2-26016
+
(vector-ref
+
name-25975
+
2)))
+ (let
((m1-26017
+
(car w-25086))
+
(s1-26018
+
(cdr w-25086)))
+ (if
(null? m1-26017)
+ (if
(null? s1-26018)
+
w2-26016
+
(cons (car w2-26016)
+
(let ((m2-26035
+
(cdr w2-26016)))
+
(if (null? m2-26035)
+
s1-26018
+
(append
+
s1-26018
+
m2-26035)))))
+ (cons
(let ((m2-26043
+
(car w2-26016)))
+
(if (null? m2-26043)
+
m1-26017
(append
-
#{s1 48755}#
-
#{m2 48772}#)))))
- (cons
(let ((#{m2 48780}#
-
(car #{w2 48753}#)))
-
(if (null? #{m2 48780}#)
-
#{m1 48754}#
-
(append
-
#{m1 48754}#
-
#{m2 48780}#)))
-
(let ((#{m2 48788}#
-
(cdr #{w2 48753}#)))
-
(if (null? #{m2 48788}#)
-
#{s1 48755}#
-
(append
-
#{s1 48755}#
-
#{m2 48788}#))))))))
- (#{module
48744}#
- (vector-ref
- #{name
48712}#
- 3)))
- (vector
- 'syntax-object
- #{expression
48742}#
- #{wrap 48743}#
- #{module 48744}#))
- (if (null? #{name
48712}#)
- #{name 48712}#
- (vector
- 'syntax-object
- #{name 48712}#
- #{w 47922}#
- #{mod 47925}#))))
- '(#(syntax-object
- if
- ((top)
- #(ribcage
- #(name)
- #((top))
- #("i25792"))
- #(ribcage () () ())
- #(ribcage () () ())
- #(ribcage
- #(ftype
- fval
- fe
- fw
- fs
- fmod)
- #((top)
- (top)
- (top)
- (top)
- (top)
- (top))
- #("i25732"
- "i25733"
- "i25734"
- "i25735"
- "i25736"
- "i25737"))
- #(ribcage () () ())
- #(ribcage
- #(first)
- #((top))
- #("i25724"))
- #(ribcage () () ())
- #(ribcage () () ())
- #(ribcage () () ())
- #(ribcage
- #(e
- r
- w
- s
- rib
- mod
- for-car?)
- #((top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top))
- #("i25703"
- "i25704"
- "i25705"
- "i25706"
- "i25707"
- "i25708"
- "i25709"))
- #(ribcage
- (lambda-var-list
- gen-var
- strip
-
expand-lambda-case
- lambda*-formals
-
expand-simple-lambda
- lambda-formals
- ellipsis?
- expand-void
-
eval-local-transformer
-
expand-local-syntax
- expand-body
- expand-macro
- expand-call
- expand-expr
- expand
- syntax-type
- parse-when-list
-
expand-install-global
-
expand-top-sequence
- expand-sequence
- source-wrap
- wrap
- bound-id-member?
-
distinct-bound-ids?
- valid-bound-ids?
- bound-id=?
- free-id=?
-
resolve-identifier
- id-var-name
- same-marks?
- join-marks
- join-wraps
- smart-append
- make-binding-wrap
- extend-ribcage!
-
make-empty-ribcage
- new-mark
- anti-mark
- the-anti-mark
- top-marked?
- top-wrap
- empty-wrap
-
set-ribcage-labels!
-
set-ribcage-marks!
-
set-ribcage-symnames!
- ribcage-labels
- ribcage-marks
- ribcage-symnames
- ribcage?
- make-ribcage
- gen-labels
- gen-label
- make-rename
- rename-marks
- rename-new
- rename-old
- subst-rename?
- wrap-subst
- wrap-marks
- make-wrap
- id-sym-name&marks
- id-sym-name
- id?
- nonsymbol-id?
- global-extend
- macros-only-env
- extend-var-env
- extend-env
- null-env
- binding-value
- binding-type
- make-binding
- arg-check
- source-annotation
- no-source
-
set-syntax-object-module!
-
set-syntax-object-wrap!
-
set-syntax-object-expression!
-
syntax-object-module
-
syntax-object-wrap
-
syntax-object-expression
- syntax-object?
-
make-syntax-object
- build-lexical-var
- build-letrec
- build-named-let
- build-let
- build-sequence
- build-data
- build-primref
- build-primcall
- build-lambda-case
- build-case-lambda
-
build-simple-lambda
-
build-global-definition
-
build-global-assignment
-
build-global-reference
- analyze-variable
-
build-lexical-assignment
-
build-lexical-reference
- build-dynlet
- build-conditional
- build-call
- build-void
- maybe-name-value!
- decorate-source
-
get-global-definition-hook
-
put-global-definition-hook
- gensym-hook
- local-eval-hook
-
top-level-eval-hook
- fx<
- fx=
- fx-
- fx+
- set-lambda-meta!
- lambda-meta
- lambda?
- make-dynlet
- make-letrec
- make-let
- make-lambda-case
- make-lambda
- make-seq
- make-primcall
- make-call
- make-conditional
-
make-toplevel-define
- make-toplevel-set
- make-toplevel-ref
- make-module-set
- make-module-ref
- make-lexical-set
- make-lexical-ref
-
make-primitive-ref
- make-const
- make-void)
- ((top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top))
- ("i24298"
- "i24296"
- "i24294"
- "i24292"
- "i24290"
- "i24288"
- "i24286"
- "i24284"
- "i24282"
- "i24280"
- "i24278"
- "i24276"
- "i24274"
- "i24272"
- "i24270"
- "i24268"
- "i24266"
- "i24264"
- "i24262"
- "i24260"
- "i24258"
- "i24256"
- "i24254"
- "i24252"
- "i24250"
- "i24248"
- "i24246"
- "i24244"
- "i24242"
- "i24240"
- "i24238"
- "i24236"
- "i24234"
- "i24232"
- "i24230"
- "i24228"
- "i24227"
- "i24225"
- "i24222"
- "i24221"
- "i24220"
- "i24218"
- "i24217"
- "i24215"
- "i24213"
- "i24211"
- "i24209"
- "i24207"
- "i24205"
- "i24203"
- "i24201"
- "i24198"
- "i24196"
- "i24195"
- "i24193"
- "i24191"
- "i24189"
- "i24187"
- "i24186"
- "i24185"
- "i24184"
- "i24182"
- "i24181"
- "i24178"
- "i24176"
- "i24174"
- "i24172"
- "i24170"
- "i24168"
- "i24167"
- "i24166"
- "i24164"
- "i24162"
- "i24161"
- "i24158"
- "i24157"
- "i24155"
- "i24153"
- "i24151"
- "i24149"
- "i24147"
- "i24145"
- "i24143"
- "i24141"
- "i24139"
- "i24136"
- "i24134"
- "i24132"
- "i24130"
- "i24128"
- "i24126"
- "i24124"
- "i24122"
- "i24120"
- "i24118"
- "i24116"
- "i24114"
- "i24112"
- "i24110"
- "i24108"
- "i24106"
- "i24104"
- "i24102"
- "i24100"
- "i24098"
- "i24096"
- "i24094"
- "i24092"
- "i24090"
- "i24089"
- "i24086"
- "i24084"
- "i24083"
- "i24082"
- "i24081"
- "i24080"
- "i24078"
- "i24076"
- "i24074"
- "i24071"
- "i24069"
- "i24067"
- "i24065"
- "i24063"
- "i24061"
- "i24059"
- "i24057"
- "i24055"
- "i24053"
- "i24051"
- "i24049"
- "i24047"
- "i24045"
- "i24043"
- "i24041"
- "i24039"
- "i24037"
- "i24035"))
- #(ribcage
- (define-structure
-
define-expansion-accessors
-
define-expansion-constructors)
- ((top) (top) (top))
- ("i23873"
- "i23872"
- "i23871"))
- #(ribcage () () ()))
- (hygiene guile))
- #(syntax-object
- #f
- ((top)
- #(ribcage
- #(name)
- #((top))
- #("i25792"))
- #(ribcage () () ())
- #(ribcage () () ())
- #(ribcage
- #(ftype
- fval
- fe
- fw
- fs
- fmod)
- #((top)
- (top)
- (top)
- (top)
- (top)
- (top))
- #("i25732"
- "i25733"
- "i25734"
- "i25735"
- "i25736"
- "i25737"))
- #(ribcage () () ())
- #(ribcage
- #(first)
- #((top))
- #("i25724"))
- #(ribcage () () ())
- #(ribcage () () ())
- #(ribcage () () ())
- #(ribcage
- #(e
- r
- w
- s
- rib
- mod
- for-car?)
- #((top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top))
- #("i25703"
- "i25704"
- "i25705"
- "i25706"
- "i25707"
- "i25708"
- "i25709"))
- #(ribcage
- (lambda-var-list
- gen-var
- strip
-
expand-lambda-case
- lambda*-formals
-
expand-simple-lambda
- lambda-formals
- ellipsis?
- expand-void
-
eval-local-transformer
-
expand-local-syntax
- expand-body
- expand-macro
- expand-call
- expand-expr
- expand
- syntax-type
- parse-when-list
-
expand-install-global
-
expand-top-sequence
- expand-sequence
- source-wrap
- wrap
- bound-id-member?
-
distinct-bound-ids?
- valid-bound-ids?
- bound-id=?
- free-id=?
-
resolve-identifier
- id-var-name
- same-marks?
- join-marks
- join-wraps
- smart-append
- make-binding-wrap
- extend-ribcage!
-
make-empty-ribcage
- new-mark
- anti-mark
- the-anti-mark
- top-marked?
- top-wrap
- empty-wrap
-
set-ribcage-labels!
-
set-ribcage-marks!
-
set-ribcage-symnames!
- ribcage-labels
- ribcage-marks
- ribcage-symnames
- ribcage?
- make-ribcage
- gen-labels
- gen-label
- make-rename
- rename-marks
- rename-new
- rename-old
- subst-rename?
- wrap-subst
- wrap-marks
- make-wrap
- id-sym-name&marks
- id-sym-name
- id?
- nonsymbol-id?
- global-extend
- macros-only-env
- extend-var-env
- extend-env
- null-env
- binding-value
- binding-type
- make-binding
- arg-check
- source-annotation
- no-source
-
set-syntax-object-module!
-
set-syntax-object-wrap!
-
set-syntax-object-expression!
-
syntax-object-module
-
syntax-object-wrap
-
syntax-object-expression
- syntax-object?
-
make-syntax-object
- build-lexical-var
- build-letrec
- build-named-let
- build-let
- build-sequence
- build-data
- build-primref
- build-primcall
- build-lambda-case
- build-case-lambda
-
build-simple-lambda
-
build-global-definition
-
build-global-assignment
-
build-global-reference
- analyze-variable
-
build-lexical-assignment
-
build-lexical-reference
- build-dynlet
- build-conditional
- build-call
- build-void
- maybe-name-value!
- decorate-source
-
get-global-definition-hook
-
put-global-definition-hook
- gensym-hook
- local-eval-hook
-
top-level-eval-hook
- fx<
- fx=
- fx-
- fx+
- set-lambda-meta!
- lambda-meta
- lambda?
- make-dynlet
- make-letrec
- make-let
- make-lambda-case
- make-lambda
- make-seq
- make-primcall
- make-call
- make-conditional
-
make-toplevel-define
- make-toplevel-set
- make-toplevel-ref
- make-module-set
- make-module-ref
- make-lexical-set
- make-lexical-ref
-
make-primitive-ref
- make-const
- make-void)
- ((top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top))
- ("i24298"
- "i24296"
- "i24294"
- "i24292"
- "i24290"
- "i24288"
- "i24286"
- "i24284"
- "i24282"
- "i24280"
- "i24278"
- "i24276"
- "i24274"
- "i24272"
- "i24270"
- "i24268"
- "i24266"
- "i24264"
- "i24262"
- "i24260"
- "i24258"
- "i24256"
- "i24254"
- "i24252"
- "i24250"
- "i24248"
- "i24246"
- "i24244"
- "i24242"
- "i24240"
- "i24238"
- "i24236"
- "i24234"
- "i24232"
- "i24230"
- "i24228"
- "i24227"
- "i24225"
- "i24222"
- "i24221"
- "i24220"
- "i24218"
- "i24217"
- "i24215"
- "i24213"
- "i24211"
- "i24209"
- "i24207"
- "i24205"
- "i24203"
- "i24201"
- "i24198"
- "i24196"
- "i24195"
- "i24193"
- "i24191"
- "i24189"
- "i24187"
- "i24186"
- "i24185"
- "i24184"
- "i24182"
- "i24181"
- "i24178"
- "i24176"
- "i24174"
- "i24172"
- "i24170"
- "i24168"
- "i24167"
- "i24166"
- "i24164"
- "i24162"
- "i24161"
- "i24158"
- "i24157"
- "i24155"
- "i24153"
- "i24151"
- "i24149"
- "i24147"
- "i24145"
- "i24143"
- "i24141"
- "i24139"
- "i24136"
- "i24134"
- "i24132"
- "i24130"
- "i24128"
- "i24126"
- "i24124"
- "i24122"
- "i24120"
- "i24118"
- "i24116"
- "i24114"
- "i24112"
- "i24110"
- "i24108"
- "i24106"
- "i24104"
- "i24102"
- "i24100"
- "i24098"
- "i24096"
- "i24094"
- "i24092"
- "i24090"
- "i24089"
- "i24086"
- "i24084"
- "i24083"
- "i24082"
- "i24081"
- "i24080"
- "i24078"
- "i24076"
- "i24074"
- "i24071"
- "i24069"
- "i24067"
- "i24065"
- "i24063"
- "i24061"
- "i24059"
- "i24057"
- "i24055"
- "i24053"
- "i24051"
- "i24049"
- "i24047"
- "i24045"
- "i24043"
- "i24041"
- "i24039"
- "i24037"
- "i24035"))
- #(ribcage
- (define-structure
-
define-expansion-accessors
-
define-expansion-constructors)
- ((top) (top) (top))
- ("i23873"
- "i23872"
- "i23871"))
- #(ribcage () () ()))
- (hygiene guile))
- #(syntax-object
- #f
- ((top)
- #(ribcage
- #(name)
- #((top))
- #("i25792"))
- #(ribcage () () ())
- #(ribcage () () ())
- #(ribcage
- #(ftype
- fval
- fe
- fw
- fs
- fmod)
- #((top)
- (top)
- (top)
- (top)
- (top)
- (top))
- #("i25732"
- "i25733"
- "i25734"
- "i25735"
- "i25736"
- "i25737"))
- #(ribcage () () ())
- #(ribcage
- #(first)
- #((top))
- #("i25724"))
- #(ribcage () () ())
- #(ribcage () () ())
- #(ribcage () () ())
- #(ribcage
- #(e
- r
- w
- s
- rib
- mod
- for-car?)
- #((top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top))
- #("i25703"
- "i25704"
- "i25705"
- "i25706"
- "i25707"
- "i25708"
- "i25709"))
- #(ribcage
- (lambda-var-list
- gen-var
- strip
-
expand-lambda-case
- lambda*-formals
-
expand-simple-lambda
- lambda-formals
- ellipsis?
- expand-void
-
eval-local-transformer
-
expand-local-syntax
- expand-body
- expand-macro
- expand-call
- expand-expr
- expand
- syntax-type
- parse-when-list
-
expand-install-global
-
expand-top-sequence
- expand-sequence
- source-wrap
- wrap
- bound-id-member?
-
distinct-bound-ids?
- valid-bound-ids?
- bound-id=?
- free-id=?
-
resolve-identifier
- id-var-name
- same-marks?
- join-marks
- join-wraps
- smart-append
- make-binding-wrap
- extend-ribcage!
-
make-empty-ribcage
- new-mark
- anti-mark
- the-anti-mark
- top-marked?
- top-wrap
- empty-wrap
-
set-ribcage-labels!
-
set-ribcage-marks!
-
set-ribcage-symnames!
- ribcage-labels
- ribcage-marks
- ribcage-symnames
- ribcage?
- make-ribcage
- gen-labels
- gen-label
- make-rename
- rename-marks
- rename-new
- rename-old
- subst-rename?
- wrap-subst
- wrap-marks
- make-wrap
- id-sym-name&marks
- id-sym-name
- id?
- nonsymbol-id?
- global-extend
- macros-only-env
- extend-var-env
- extend-env
- null-env
- binding-value
- binding-type
- make-binding
- arg-check
- source-annotation
- no-source
-
set-syntax-object-module!
-
set-syntax-object-wrap!
-
set-syntax-object-expression!
-
syntax-object-module
-
syntax-object-wrap
-
syntax-object-expression
- syntax-object?
-
make-syntax-object
- build-lexical-var
- build-letrec
- build-named-let
- build-let
- build-sequence
- build-data
- build-primref
- build-primcall
- build-lambda-case
- build-case-lambda
-
build-simple-lambda
-
build-global-definition
-
build-global-assignment
-
build-global-reference
- analyze-variable
-
build-lexical-assignment
-
build-lexical-reference
- build-dynlet
- build-conditional
- build-call
- build-void
- maybe-name-value!
- decorate-source
-
get-global-definition-hook
-
put-global-definition-hook
- gensym-hook
- local-eval-hook
-
top-level-eval-hook
- fx<
- fx=
- fx-
- fx+
- set-lambda-meta!
- lambda-meta
- lambda?
- make-dynlet
- make-letrec
- make-let
- make-lambda-case
- make-lambda
- make-seq
- make-primcall
- make-call
- make-conditional
-
make-toplevel-define
- make-toplevel-set
- make-toplevel-ref
- make-module-set
- make-module-ref
- make-lexical-set
- make-lexical-ref
-
make-primitive-ref
- make-const
- make-void)
- ((top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top))
- ("i24298"
- "i24296"
- "i24294"
- "i24292"
- "i24290"
- "i24288"
- "i24286"
- "i24284"
- "i24282"
- "i24280"
- "i24278"
- "i24276"
- "i24274"
- "i24272"
- "i24270"
- "i24268"
- "i24266"
- "i24264"
- "i24262"
- "i24260"
- "i24258"
- "i24256"
- "i24254"
- "i24252"
- "i24250"
- "i24248"
- "i24246"
- "i24244"
- "i24242"
- "i24240"
- "i24238"
- "i24236"
- "i24234"
- "i24232"
- "i24230"
- "i24228"
- "i24227"
- "i24225"
- "i24222"
- "i24221"
- "i24220"
- "i24218"
- "i24217"
- "i24215"
- "i24213"
- "i24211"
- "i24209"
- "i24207"
- "i24205"
- "i24203"
- "i24201"
- "i24198"
- "i24196"
- "i24195"
- "i24193"
- "i24191"
- "i24189"
- "i24187"
- "i24186"
- "i24185"
- "i24184"
- "i24182"
- "i24181"
- "i24178"
- "i24176"
- "i24174"
- "i24172"
- "i24170"
- "i24168"
- "i24167"
- "i24166"
- "i24164"
- "i24162"
- "i24161"
- "i24158"
- "i24157"
- "i24155"
- "i24153"
- "i24151"
- "i24149"
- "i24147"
- "i24145"
- "i24143"
- "i24141"
- "i24139"
- "i24136"
- "i24134"
- "i24132"
- "i24130"
- "i24128"
- "i24126"
- "i24124"
- "i24122"
- "i24120"
- "i24118"
- "i24116"
- "i24114"
- "i24112"
- "i24110"
- "i24108"
- "i24106"
- "i24104"
- "i24102"
- "i24100"
- "i24098"
- "i24096"
- "i24094"
- "i24092"
- "i24090"
- "i24089"
- "i24086"
- "i24084"
- "i24083"
- "i24082"
- "i24081"
- "i24080"
- "i24078"
- "i24076"
- "i24074"
- "i24071"
- "i24069"
- "i24067"
- "i24065"
- "i24063"
- "i24061"
- "i24059"
- "i24057"
- "i24055"
- "i24053"
- "i24051"
- "i24049"
- "i24047"
- "i24045"
- "i24043"
- "i24041"
- "i24039"
- "i24037"
- "i24035"))
- #(ribcage
- (define-structure
-
define-expansion-accessors
-
define-expansion-constructors)
- ((top) (top) (top))
- ("i23873"
- "i23872"
- "i23871"))
- #(ribcage () () ()))
- (hygiene guile)))
- '(())
- #{s 47923}#
- #{mod 47925}#))
- #{tmp 48681}#)
- (syntax-violation
- #f
- "source expression failed to
match any pattern"
- #{e 47920}#)))))))
- (if (eqv? #{ftype 47942}# 'define-syntax)
- (let ((#{tmp 48827}#
- ($sc-dispatch
- #{e 47920}#
- '(_ any any))))
- (if (if #{tmp 48827}#
- (@apply
- (lambda (#{name 48831}#
- #{val 48832}#)
- (if (symbol? #{name 48831}#)
- #t
- (if (if (vector?
- #{name 48831}#)
- (if (= (vector-length
- #{name
48831}#)
- 4)
- (eq? (vector-ref
- #{name
48831}#
- 0)
- 'syntax-object)
- #f)
- #f)
- (symbol?
- (vector-ref
- #{name 48831}#
- 1))
- #f)))
- #{tmp 48827}#)
- #f)
- (@apply
- (lambda (#{name 48859}#
- #{val 48860}#)
- (values
- 'define-syntax-form
- #{name 48859}#
- #{val 48860}#
- #{w 47922}#
- #{s 47923}#
- #{mod 47925}#))
- #{tmp 48827}#)
- (syntax-violation
- #f
- "source expression failed to match
any pattern"
- #{e 47920}#)))
- (if (eqv? #{ftype 47942}#
- 'define-syntax-parameter)
- (let ((#{tmp 48871}#
- ($sc-dispatch
- #{e 47920}#
- '(_ any any))))
- (if (if #{tmp 48871}#
- (@apply
- (lambda (#{name 48875}#
- #{val 48876}#)
- (if (symbol? #{name 48875}#)
- #t
- (if (if (vector?
- #{name 48875}#)
- (if (=
(vector-length
- #{name
48875}#)
- 4)
- (eq? (vector-ref
- #{name
48875}#
- 0)
-
'syntax-object)
+
m1-26017
+
m2-26043)))
+
(let ((m2-26051
+
(cdr w2-26016)))
+
(if (null? m2-26051)
+
s1-26018
+
(append
+
s1-26018
+
m2-26051))))))))
+ (module-26007
+ (vector-ref
+ name-25975
+ 3)))
+ (vector
+ 'syntax-object
+ expression-26005
+ wrap-26006
+ module-26007))
+ (if (null?
name-25975)
+ name-25975
+ (vector
+ 'syntax-object
+ name-25975
+ w-25086
+ mod-25089))))
+ (if (if (null? (car
w-25086))
+ (null? (cdr
w-25086))
#f)
- #f)
- (symbol?
- (vector-ref
- #{name 48875}#
- 1))
- #f)))
- #{tmp 48871}#)
- #f)
- (@apply
- (lambda (#{name 48903}#
- #{val 48904}#)
- (values
- 'define-syntax-parameter-form
- #{name 48903}#
- #{val 48904}#
- #{w 47922}#
- #{s 47923}#
- #{mod 47925}#))
- #{tmp 48871}#)
- (syntax-violation
- #f
- "source expression failed to
match any pattern"
- #{e 47920}#)))
- (values
- 'call
- #f
- #{e 47920}#
- #{w 47922}#
- #{s 47923}#
- #{mod 47925}#)))))))))))))))
- (if (if (vector? #{e 47920}#)
- (if (= (vector-length #{e 47920}#) 4)
- (eq? (vector-ref #{e 47920}# 0) 'syntax-object)
- #f)
- #f)
- (#{syntax-type 28270}#
- (vector-ref #{e 47920}# 1)
- #{r 47921}#
- (let ((#{w2 48929}# (vector-ref #{e 47920}# 2)))
- (let ((#{m1 48930}# (car #{w 47922}#))
- (#{s1 48931}# (cdr #{w 47922}#)))
- (if (null? #{m1 48930}#)
- (if (null? #{s1 48931}#)
- #{w2 48929}#
- (cons (car #{w2 48929}#)
- (let ((#{m2 48942}# (cdr #{w2 48929}#)))
- (if (null? #{m2 48942}#)
- #{s1 48931}#
- (append #{s1 48931}# #{m2 48942}#)))))
- (cons (let ((#{m2 48950}# (car #{w2 48929}#)))
- (if (null? #{m2 48950}#)
- #{m1 48930}#
- (append #{m1 48930}# #{m2 48950}#)))
- (let ((#{m2 48958}# (cdr #{w2 48929}#)))
- (if (null? #{m2 48958}#)
- #{s1 48931}#
- (append #{s1 48931}# #{m2 48958}#)))))))
- (let ((#{t 48963}#
- (#{source-annotation 28232}# #{e 47920}#)))
- (if #{t 48963}# #{t 48963}# #{s 47923}#))
- #{rib 47924}#
- (let ((#{t 49239}# (vector-ref #{e 47920}# 3)))
- (if #{t 49239}# #{t 49239}# #{mod 47925}#))
- #{for-car? 47926}#)
- (if (self-evaluating? #{e 47920}#)
- (values
- 'constant
- #f
- #{e 47920}#
- #{w 47922}#
- #{s 47923}#
- #{mod 47925}#)
- (values
- 'other
- #f
- #{e 47920}#
- #{w 47922}#
- #{s 47923}#
- #{mod 47925}#)))))))
- (#{expand 28271}#
- (lambda (#{e 49248}#
- #{r 49249}#
- #{w 49250}#
- #{mod 49251}#)
- (call-with-values
- (lambda ()
- (#{syntax-type 28270}#
- #{e 49248}#
- #{r 49249}#
- #{w 49250}#
- (#{source-annotation 28232}# #{e 49248}#)
- #f
- #{mod 49251}#
- #f))
- (lambda (#{type 49437}#
- #{value 49438}#
- #{e 49439}#
- #{w 49440}#
- #{s 49441}#
- #{mod 49442}#)
- (#{expand-expr 28272}#
- #{type 49437}#
- #{value 49438}#
- #{e 49439}#
- #{r 49249}#
- #{w 49440}#
- #{s 49441}#
- #{mod 49442}#)))))
- (#{expand-expr 28272}#
- (lambda (#{type 49445}#
- #{value 49446}#
- #{e 49447}#
- #{r 49448}#
- #{w 49449}#
- #{s 49450}#
- #{mod 49451}#)
- (if (eqv? #{type 49445}# 'lexical)
- (make-struct/no-tail
- (vector-ref %expanded-vtables 3)
- #{s 49450}#
- #{e 49447}#
- #{value 49446}#)
- (if (if (eqv? #{type 49445}# 'core)
- #t
- (eqv? #{type 49445}# 'core-form))
- (#{value 49446}#
- #{e 49447}#
- #{r 49448}#
- #{w 49449}#
- #{s 49450}#
- #{mod 49451}#)
- (if (eqv? #{type 49445}# 'module-ref)
- (call-with-values
- (lambda ()
- (#{value 49446}#
- #{e 49447}#
- #{r 49448}#
- #{w 49449}#))
- (lambda (#{e 49477}#
- #{r 49478}#
- #{w 49479}#
- #{s 49480}#
- #{mod 49481}#)
- (#{expand 28271}#
- #{e 49477}#
- #{r 49478}#
- #{w 49479}#
- #{mod 49481}#)))
- (if (eqv? #{type 49445}# 'lexical-call)
- (#{expand-call 28273}#
- (let ((#{id 49654}# (car #{e 49447}#)))
- (#{build-lexical-reference 28208}#
- 'fun
- (#{source-annotation 28232}# #{id 49654}#)
- (if (if (vector? #{id 49654}#)
- (if (= (vector-length #{id 49654}#) 4)
- (eq? (vector-ref #{id 49654}# 0) 'syntax-object)
- #f)
- #f)
- (syntax->datum #{id 49654}#)
- #{id 49654}#)
- #{value 49446}#))
- #{e 49447}#
- #{r 49448}#
- #{w 49449}#
- #{s 49450}#
- #{mod 49451}#)
- (if (eqv? #{type 49445}# 'global-call)
- (#{expand-call 28273}#
- (#{build-global-reference 28211}#
- (#{source-annotation 28232}# (car #{e 49447}#))
- (if (if (vector? #{value 49446}#)
- (if (= (vector-length #{value 49446}#) 4)
- (eq? (vector-ref #{value 49446}# 0)
- 'syntax-object)
- #f)
- #f)
- (vector-ref #{value 49446}# 1)
- #{value 49446}#)
- (if (if (vector? #{value 49446}#)
- (if (= (vector-length #{value 49446}#) 4)
- (eq? (vector-ref #{value 49446}# 0)
- 'syntax-object)
- #f)
- #f)
- (vector-ref #{value 49446}# 3)
- #{mod 49451}#))
- #{e 49447}#
- #{r 49448}#
- #{w 49449}#
- #{s 49450}#
- #{mod 49451}#)
- (if (eqv? #{type 49445}# 'constant)
- (let ((#{exp 50328}#
- (#{strip 28284}#
- (let ((#{x 50341}#
- (begin
- (if (if (pair? #{e 49447}#)
- #{s 49450}#
- #f)
- (set-source-properties!
- #{e 49447}#
- #{s 49450}#))
- #{e 49447}#)))
- (if (if (null? (car #{w 49449}#))
- (null? (cdr #{w 49449}#))
- #f)
- #{x 50341}#
- (if (if (vector? #{x 50341}#)
- (if (= (vector-length #{x 50341}#) 4)
- (eq? (vector-ref #{x 50341}# 0)
- 'syntax-object)
- #f)
- #f)
- (let ((#{expression 50373}#
- (vector-ref #{x 50341}# 1))
- (#{wrap 50374}#
- (let ((#{w2 50382}#
- (vector-ref #{x 50341}# 2)))
- (let ((#{m1 50383}#
- (car #{w 49449}#))
- (#{s1 50384}#
- (cdr #{w 49449}#)))
- (if (null? #{m1 50383}#)
- (if (null? #{s1 50384}#)
- #{w2 50382}#
- (cons (car #{w2 50382}#)
- (let ((#{m2 50399}#
- (cdr #{w2
50382}#)))
- (if (null? #{m2
50399}#)
- #{s1 50384}#
- (append
- #{s1 50384}#
- #{m2
50399}#)))))
- (cons (let ((#{m2 50407}#
- (car #{w2
50382}#)))
- (if (null? #{m2
50407}#)
- #{m1 50383}#
- (append
- #{m1 50383}#
- #{m2 50407}#)))
- (let ((#{m2 50415}#
- (cdr #{w2
50382}#)))
- (if (null? #{m2
50415}#)
- #{s1 50384}#
- (append
- #{s1 50384}#
- #{m2
50415}#))))))))
- (#{module 50375}#
- (vector-ref #{x 50341}# 3)))
- (vector
- 'syntax-object
- #{expression 50373}#
- #{wrap 50374}#
- #{module 50375}#))
- (if (null? #{x 50341}#)
- #{x 50341}#
- (vector
- 'syntax-object
- #{x 50341}#
- #{w 49449}#
- #{mod 49451}#)))))
- '(()))))
- (make-struct/no-tail
- (vector-ref %expanded-vtables 1)
- #{s 49450}#
- #{exp 50328}#))
- (if (eqv? #{type 49445}# 'global)
- (#{analyze-variable 28210}#
- #{mod 49451}#
- #{value 49446}#
- (lambda (#{mod 50440}# #{var 50441}# #{public? 50442}#)
- (make-struct/no-tail
- (vector-ref %expanded-vtables 5)
- #{s 49450}#
- #{mod 50440}#
- #{var 50441}#
- #{public? 50442}#))
- (lambda (#{var 50450}#)
- (make-struct/no-tail
- (vector-ref %expanded-vtables 7)
- #{s 49450}#
- #{var 50450}#)))
- (if (eqv? #{type 49445}# 'call)
- (#{expand-call 28273}#
- (#{expand 28271}#
- (car #{e 49447}#)
- #{r 49448}#
- #{w 49449}#
- #{mod 49451}#)
- #{e 49447}#
- #{r 49448}#
- #{w 49449}#
- #{s 49450}#
- #{mod 49451}#)
- (if (eqv? #{type 49445}# 'begin-form)
- (let ((#{tmp 50620}#
- ($sc-dispatch
- #{e 49447}#
- '(_ any . each-any))))
- (if #{tmp 50620}#
- (@apply
- (lambda (#{e1 50624}# #{e2 50625}#)
- (#{expand-sequence 28266}#
- (cons #{e1 50624}# #{e2 50625}#)
- #{r 49448}#
- #{w 49449}#
- #{s 49450}#
- #{mod 49451}#))
- #{tmp 50620}#)
- (let ((#{tmp 50720}#
- ($sc-dispatch #{e 49447}# '(_))))
- (if #{tmp 50720}#
- (@apply
- (lambda ()
- (begin
- (issue-deprecation-warning
- "Sequences of zero expressions are
deprecated. Use *unspecified*.")
- (make-struct/no-tail
- (vector-ref %expanded-vtables 0)
- #f)))
- #{tmp 50720}#)
- (syntax-violation
- #f
- "source expression failed to match any
pattern"
- #{e 49447}#)))))
- (if (eqv? #{type 49445}# 'local-syntax-form)
- (#{expand-local-syntax 28276}#
- #{value 49446}#
- #{e 49447}#
- #{r 49448}#
- #{w 49449}#
- #{s 49450}#
- #{mod 49451}#
- #{expand-sequence 28266}#)
- (if (eqv? #{type 49445}# 'eval-when-form)
- (let ((#{tmp 50812}#
- ($sc-dispatch
- #{e 49447}#
- '(_ each-any any . each-any))))
- (if #{tmp 50812}#
- (@apply
- (lambda (#{x 50816}#
- #{e1 50817}#
- #{e2 50818}#)
- (let ((#{when-list 50819}#
- (#{parse-when-list 28269}#
- #{e 49447}#
- #{x 50816}#)))
- (if (memq 'eval #{when-list 50819}#)
- (#{expand-sequence 28266}#
- (cons #{e1 50817}# #{e2 50818}#)
- #{r 49448}#
- #{w 49449}#
- #{s 49450}#
- #{mod 49451}#)
- (make-struct/no-tail
- (vector-ref %expanded-vtables 0)
- #f))))
- #{tmp 50812}#)
- (syntax-violation
- #f
- "source expression failed to match any
pattern"
- #{e 49447}#)))
- (if (if (eqv? #{type 49445}# 'define-form)
- #t
- (if (eqv? #{type 49445}#
- 'define-syntax-form)
- #t
- (eqv? #{type 49445}#
- 'define-syntax-parameter-form)))
- (syntax-violation
- #f
- "definition in expression context"
- #{e 49447}#
- (if (if (null? (car #{w 49449}#))
- (null? (cdr #{w 49449}#))
- #f)
- #{value 49446}#
- (if (if (vector? #{value 49446}#)
- (if (= (vector-length #{value 49446}#)
- 4)
- (eq? (vector-ref #{value 49446}# 0)
- 'syntax-object)
- #f)
- #f)
- (let ((#{expression 51026}#
- (vector-ref #{value 49446}# 1))
- (#{wrap 51027}#
- (let ((#{w2 51037}#
- (vector-ref
- #{value 49446}#
- 2)))
- (let ((#{m1 51038}#
- (car #{w 49449}#))
- (#{s1 51039}#
- (cdr #{w 49449}#)))
- (if (null? #{m1 51038}#)
- (if (null? #{s1 51039}#)
- #{w2 51037}#
- (cons (car #{w2 51037}#)
- (let ((#{m2 51056}#
- (cdr #{w2
51037}#)))
- (if (null? #{m2
51056}#)
- #{s1 51039}#
- (append
- #{s1 51039}#
- #{m2
51056}#)))))
- (cons (let ((#{m2 51064}#
- (car #{w2
51037}#)))
- (if (null? #{m2
51064}#)
- #{m1 51038}#
- (append
- #{m1 51038}#
- #{m2 51064}#)))
- (let ((#{m2 51072}#
- (cdr #{w2
51037}#)))
- (if (null? #{m2
51072}#)
- #{s1 51039}#
- (append
- #{s1 51039}#
- #{m2
51072}#))))))))
- (#{module 51028}#
- (vector-ref #{value 49446}# 3)))
- (vector
- 'syntax-object
- #{expression 51026}#
- #{wrap 51027}#
- #{module 51028}#))
- (if (null? #{value 49446}#)
- #{value 49446}#
- (vector
- 'syntax-object
- #{value 49446}#
- #{w 49449}#
- #{mod 49451}#)))))
- (if (eqv? #{type 49445}# 'syntax)
- (syntax-violation
- #f
- "reference to pattern variable outside
syntax form"
- (let ((#{x 51107}#
- (begin
- (if (if (pair? #{e 49447}#)
- #{s 49450}#
- #f)
- (set-source-properties!
- #{e 49447}#
- #{s 49450}#))
- #{e 49447}#)))
- (if (if (null? (car #{w 49449}#))
- (null? (cdr #{w 49449}#))
- #f)
- #{x 51107}#
- (if (if (vector? #{x 51107}#)
- (if (= (vector-length #{x 51107}#)
- 4)
- (eq? (vector-ref #{x 51107}# 0)
- 'syntax-object)
- #f)
- #f)
- (let ((#{expression 51139}#
- (vector-ref #{x 51107}# 1))
- (#{wrap 51140}#
- (let ((#{w2 51148}#
- (vector-ref
- #{x 51107}#
- 2)))
- (let ((#{m1 51149}#
- (car #{w 49449}#))
- (#{s1 51150}#
- (cdr #{w 49449}#)))
- (if (null? #{m1 51149}#)
- (if (null? #{s1 51150}#)
- #{w2 51148}#
- (cons (car #{w2
51148}#)
- (let ((#{m2
51165}#
- (cdr
#{w2 51148}#)))
- (if (null?
#{m2 51165}#)
- #{s1 51150}#
- (append
- #{s1
51150}#
- #{m2
51165}#)))))
- (cons (let ((#{m2
51173}#
- (car #{w2
51148}#)))
- (if (null? #{m2
51173}#)
- #{m1 51149}#
- (append
- #{m1 51149}#
- #{m2
51173}#)))
- (let ((#{m2
51181}#
- (cdr #{w2
51148}#)))
- (if (null? #{m2
51181}#)
- #{s1 51150}#
- (append
- #{s1 51150}#
- #{m2
51181}#))))))))
- (#{module 51141}#
- (vector-ref #{x 51107}# 3)))
- (vector
- 'syntax-object
- #{expression 51139}#
- #{wrap 51140}#
- #{module 51141}#))
- (if (null? #{x 51107}#)
- #{x 51107}#
- (vector
- 'syntax-object
- #{x 51107}#
- #{w 49449}#
- #{mod 49451}#))))))
- (if (eqv? #{type 49445}# 'displaced-lexical)
- (syntax-violation
- #f
- "reference to identifier outside its
scope"
- (let ((#{x 51208}#
- (begin
- (if (if (pair? #{e 49447}#)
- #{s 49450}#
- #f)
- (set-source-properties!
- #{e 49447}#
- #{s 49450}#))
- #{e 49447}#)))
- (if (if (null? (car #{w 49449}#))
- (null? (cdr #{w 49449}#))
- #f)
- #{x 51208}#
- (if (if (vector? #{x 51208}#)
- (if (= (vector-length
- #{x 51208}#)
- 4)
- (eq? (vector-ref
- #{x 51208}#
- 0)
- 'syntax-object)
- #f)
- #f)
- (let ((#{expression 51240}#
- (vector-ref #{x 51208}# 1))
- (#{wrap 51241}#
- (let ((#{w2 51249}#
- (vector-ref
- #{x 51208}#
- 2)))
- (let ((#{m1 51250}#
- (car #{w 49449}#))
- (#{s1 51251}#
- (cdr #{w
49449}#)))
- (if (null? #{m1 51250}#)
- (if (null? #{s1
51251}#)
- #{w2 51249}#
- (cons (car #{w2
51249}#)
- (let ((#{m2
51266}#
- (cdr
#{w2 51249}#)))
- (if (null?
#{m2 51266}#)
- #{s1
51251}#
- (append
- #{s1
51251}#
- #{m2
51266}#)))))
- (cons (let ((#{m2
51274}#
- (car
#{w2 51249}#)))
- (if (null?
#{m2 51274}#)
- #{m1 51250}#
- (append
- #{m1
51250}#
- #{m2
51274}#)))
- (let ((#{m2
51282}#
- (cdr
#{w2 51249}#)))
- (if (null?
#{m2 51282}#)
- #{s1 51251}#
- (append
- #{s1
51251}#
- #{m2
51282}#))))))))
- (#{module 51242}#
- (vector-ref #{x 51208}# 3)))
- (vector
- 'syntax-object
- #{expression 51240}#
- #{wrap 51241}#
- #{module 51242}#))
- (if (null? #{x 51208}#)
- #{x 51208}#
- (vector
- 'syntax-object
- #{x 51208}#
- #{w 49449}#
- #{mod 49451}#))))))
- (syntax-violation
- #f
- "unexpected syntax"
- (let ((#{x 51306}#
- (begin
- (if (if (pair? #{e 49447}#)
- #{s 49450}#
- #f)
- (set-source-properties!
- #{e 49447}#
- #{s 49450}#))
- #{e 49447}#)))
- (if (if (null? (car #{w 49449}#))
- (null? (cdr #{w 49449}#))
- #f)
- #{x 51306}#
- (if (if (vector? #{x 51306}#)
- (if (= (vector-length
- #{x 51306}#)
- 4)
- (eq? (vector-ref
- #{x 51306}#
- 0)
- 'syntax-object)
- #f)
- #f)
- (let ((#{expression 51338}#
- (vector-ref #{x 51306}# 1))
- (#{wrap 51339}#
- (let ((#{w2 51347}#
- (vector-ref
- #{x 51306}#
- 2)))
- (let ((#{m1 51348}#
- (car #{w 49449}#))
- (#{s1 51349}#
- (cdr #{w
49449}#)))
- (if (null? #{m1 51348}#)
- (if (null? #{s1
51349}#)
- #{w2 51347}#
- (cons (car #{w2
51347}#)
- (let ((#{m2
51364}#
- (cdr
#{w2 51347}#)))
- (if (null?
#{m2 51364}#)
- #{s1
51349}#
- (append
- #{s1
51349}#
- #{m2
51364}#)))))
- (cons (let ((#{m2
51372}#
- (car
#{w2 51347}#)))
- (if (null?
#{m2 51372}#)
- #{m1 51348}#
- (append
- #{m1
51348}#
- #{m2
51372}#)))
- (let ((#{m2
51380}#
- (cdr
#{w2 51347}#)))
- (if (null?
#{m2 51380}#)
- #{s1 51349}#
- (append
- #{s1
51349}#
- #{m2
51380}#))))))))
- (#{module 51340}#
- (vector-ref #{x 51306}# 3)))
- (vector
- 'syntax-object
- #{expression 51338}#
- #{wrap 51339}#
- #{module 51340}#))
- (if (null? #{x 51306}#)
- #{x 51306}#
- (vector
- 'syntax-object
- #{x 51306}#
- #{w 49449}#
- #{mod
49451}#))))))))))))))))))))))
- (#{expand-call 28273}#
- (lambda (#{x 51395}#
- #{e 51396}#
- #{r 51397}#
- #{w 51398}#
- #{s 51399}#
- #{mod 51400}#)
- (let ((#{tmp 51402}#
- ($sc-dispatch #{e 51396}# '(any . each-any))))
- (if #{tmp 51402}#
- (@apply
- (lambda (#{e0 51406}# #{e1 51407}#)
- (#{build-call 28205}#
- #{s 51399}#
- #{x 51395}#
- (map (lambda (#{e 51495}#)
- (#{expand 28271}#
- #{e 51495}#
- #{r 51397}#
- #{w 51398}#
- #{mod 51400}#))
- #{e1 51407}#)))
- #{tmp 51402}#)
- (syntax-violation
- #f
- "source expression failed to match any pattern"
- #{e 51396}#)))))
- (#{expand-macro 28274}#
- (lambda (#{p 51579}#
- #{e 51580}#
- #{r 51581}#
- #{w 51582}#
- #{s 51583}#
- #{rib 51584}#
- #{mod 51585}#)
- (letrec*
- ((#{rebuild-macro-output 51586}#
- (lambda (#{x 51693}# #{m 51694}#)
- (if (pair? #{x 51693}#)
- (let ((#{e 51698}#
- (cons (#{rebuild-macro-output 51586}#
- (car #{x 51693}#)
- #{m 51694}#)
- (#{rebuild-macro-output 51586}#
- (cdr #{x 51693}#)
- #{m 51694}#))))
- (begin
- (if (if (pair? #{e 51698}#) #{s 51583}# #f)
- (set-source-properties! #{e 51698}# #{s 51583}#))
- #{e 51698}#))
- (if (if (vector? #{x 51693}#)
- (if (= (vector-length #{x 51693}#) 4)
- (eq? (vector-ref #{x 51693}# 0) 'syntax-object)
- #f)
- #f)
- (let ((#{w 51714}# (vector-ref #{x 51693}# 2)))
- (let ((#{ms 51715}# (car #{w 51714}#))
- (#{s 51716}# (cdr #{w 51714}#)))
- (if (if (pair? #{ms 51715}#)
- (eq? (car #{ms 51715}#) #f)
- #f)
- (let ((#{expression 51724}# (vector-ref #{x 51693}# 1))
- (#{wrap 51725}#
- (cons (cdr #{ms 51715}#)
- (if #{rib 51584}#
- (cons #{rib 51584}# (cdr #{s 51716}#))
- (cdr #{s 51716}#))))
- (#{module 51726}# (vector-ref #{x 51693}# 3)))
- (vector
- 'syntax-object
- #{expression 51724}#
- #{wrap 51725}#
- #{module 51726}#))
- (let ((#{expression 51736}#
- (let ((#{e 51741}# (vector-ref #{x 51693}# 1)))
- (begin
- (if (if (pair? #{e 51741}#) #{s 51716}# #f)
- (set-source-properties!
- #{e 51741}#
- #{s 51716}#))
- #{e 51741}#)))
- (#{wrap 51737}#
- (cons (cons #{m 51694}# #{ms 51715}#)
- (if #{rib 51584}#
- (cons #{rib 51584}#
- (cons 'shift #{s 51716}#))
- (cons 'shift #{s 51716}#))))
- (#{module 51738}# (vector-ref #{x 51693}# 3)))
- (vector
- 'syntax-object
- #{expression 51736}#
- #{wrap 51737}#
- #{module 51738}#)))))
- (if (vector? #{x 51693}#)
- (let ((#{n 51753}# (vector-length #{x 51693}#)))
- (let ((#{v 51754}#
- (let ((#{e 51820}# (make-vector #{n 51753}#)))
- (begin
- (if (if (pair? #{e 51820}#) #{x 51693}# #f)
- (set-source-properties!
- #{e 51820}#
- #{x 51693}#))
- #{e 51820}#))))
- (letrec*
- ((#{loop 51755}#
- (lambda (#{i 51816}#)
- (if (= #{i 51816}# #{n 51753}#)
- #{v 51754}#
- (begin
- (vector-set!
- #{v 51754}#
- #{i 51816}#
- (#{rebuild-macro-output 51586}#
- (vector-ref #{x 51693}# #{i 51816}#)
- #{m 51694}#))
- (#{loop 51755}# (#{1+}# #{i 51816}#)))))))
- (#{loop 51755}# 0))))
- (if (symbol? #{x 51693}#)
- (syntax-violation
- #f
- "encountered raw symbol in macro output"
- (let ((#{s 51831}# (cdr #{w 51582}#)))
- (let ((#{x 51835}#
- (begin
- (if (if (pair? #{e 51580}#) #{s 51831}# #f)
- (set-source-properties!
- #{e 51580}#
- #{s 51831}#))
- #{e 51580}#)))
- (if (if (null? (car #{w 51582}#))
- (null? (cdr #{w 51582}#))
- #f)
- #{x 51835}#
- (if (if (vector? #{x 51835}#)
- (if (= (vector-length #{x 51835}#) 4)
- (eq? (vector-ref #{x 51835}# 0)
- 'syntax-object)
- #f)
- #f)
- (let ((#{expression 51867}#
- (vector-ref #{x 51835}# 1))
- (#{wrap 51868}#
- (let ((#{w2 51876}#
- (vector-ref #{x 51835}# 2)))
- (let ((#{m1 51877}#
- (car #{w 51582}#))
- (#{s1 51878}#
- (cdr #{w 51582}#)))
- (if (null? #{m1 51877}#)
- (if (null? #{s1 51878}#)
- #{w2 51876}#
- (cons (car #{w2 51876}#)
- (let ((#{m2 51893}#
- (cdr #{w2
51876}#)))
- (if (null? #{m2
51893}#)
- #{s1 51878}#
- (append
- #{s1 51878}#
- #{m2 51893}#)))))
- (cons (let ((#{m2 51901}#
- (car #{w2
51876}#)))
- (if (null? #{m2 51901}#)
- #{m1 51877}#
- (append
- #{m1 51877}#
- #{m2 51901}#)))
- (let ((#{m2 51909}#
- (cdr #{w2
51876}#)))
- (if (null? #{m2 51909}#)
- #{s1 51878}#
- (append
- #{s1 51878}#
- #{m2 51909}#))))))))
- (#{module 51869}#
- (vector-ref #{x 51835}# 3)))
- (vector
- 'syntax-object
- #{expression 51867}#
- #{wrap 51868}#
- #{module 51869}#))
- (if (null? #{x 51835}#)
- #{x 51835}#
- (vector
- 'syntax-object
- #{x 51835}#
- #{w 51582}#
- #{mod 51585}#))))))
- #{x 51693}#)
- (begin
- (if (if (pair? #{x 51693}#) #{s 51583}# #f)
- (set-source-properties! #{x 51693}# #{s 51583}#))
- #{x 51693}#))))))))
- (#{rebuild-macro-output 51586}#
- (#{p 51579}#
- (let ((#{w 51593}#
- (cons (cons #f (car #{w 51582}#))
- (cons 'shift (cdr #{w 51582}#)))))
- (let ((#{x 51598}#
- (begin
- (if (if (pair? #{e 51580}#) #{s 51583}# #f)
- (set-source-properties! #{e 51580}# #{s 51583}#))
- #{e 51580}#)))
- (if (if (null? (car #{w 51593}#))
- (null? (cdr #{w 51593}#))
- #f)
- #{x 51598}#
- (if (if (vector? #{x 51598}#)
- (if (= (vector-length #{x 51598}#) 4)
- (eq? (vector-ref #{x 51598}# 0) 'syntax-object)
- #f)
- #f)
- (let ((#{expression 51636}# (vector-ref #{x 51598}# 1))
- (#{wrap 51637}#
- (let ((#{w2 51645}# (vector-ref #{x 51598}# 2)))
- (let ((#{m1 51646}# (car #{w 51593}#))
- (#{s1 51647}# (cdr #{w 51593}#)))
- (if (null? #{m1 51646}#)
- (if (null? #{s1 51647}#)
- #{w2 51645}#
- (cons (car #{w2 51645}#)
- (let ((#{m2 51662}#
- (cdr #{w2 51645}#)))
- (if (null? #{m2 51662}#)
- #{s1 51647}#
- (append
- #{s1 51647}#
- #{m2 51662}#)))))
- (cons (let ((#{m2 51670}#
- (car #{w2 51645}#)))
- (if (null? #{m2 51670}#)
- #{m1 51646}#
- (append
- #{m1 51646}#
- #{m2 51670}#)))
- (let ((#{m2 51678}#
- (cdr #{w2 51645}#)))
- (if (null? #{m2 51678}#)
- #{s1 51647}#
- (append
- #{s1 51647}#
- #{m2 51678}#))))))))
- (#{module 51638}# (vector-ref #{x 51598}# 3)))
- (vector
- 'syntax-object
- #{expression 51636}#
- #{wrap 51637}#
- #{module 51638}#))
- (if (null? #{x 51598}#)
- #{x 51598}#
- (vector
- 'syntax-object
- #{x 51598}#
- #{w 51593}#
- #{mod 51585}#)))))))
- (gensym "m")))))
- (#{expand-body 28275}#
- (lambda (#{body 51939}#
- #{outer-form 51940}#
- #{r 51941}#
- #{w 51942}#
- #{mod 51943}#)
- (let ((#{r 51944}#
- (cons '("placeholder" placeholder) #{r 51941}#)))
- (let ((#{ribcage 51945}# (vector 'ribcage '() '() '())))
- (let ((#{w 51946}#
- (cons (car #{w 51942}#)
- (cons #{ribcage 51945}# (cdr #{w 51942}#)))))
- (letrec*
- ((#{parse 51947}#
- (lambda (#{body 52055}#
- #{ids 52056}#
- #{labels 52057}#
- #{var-ids 52058}#
- #{vars 52059}#
- #{vals 52060}#
- #{bindings 52061}#)
- (if (null? #{body 52055}#)
- (syntax-violation
- #f
- "no expressions in body"
- #{outer-form 51940}#)
- (let ((#{e 52062}# (cdr (car #{body 52055}#)))
- (#{er 52063}# (car (car #{body 52055}#))))
- (call-with-values
- (lambda ()
- (#{syntax-type 28270}#
- #{e 52062}#
- #{er 52063}#
- '(())
- (#{source-annotation 28232}# #{er 52063}#)
- #{ribcage 51945}#
- #{mod 51943}#
- #f))
- (lambda (#{type 52251}#
- #{value 52252}#
- #{e 52253}#
- #{w 52254}#
- #{s 52255}#
- #{mod 52256}#)
- (if (eqv? #{type 52251}# 'define-form)
- (let ((#{id 52260}#
- (if (if (null? (car #{w 52254}#))
- (null? (cdr #{w 52254}#))
- #f)
- #{value 52252}#
- (if (if (vector? #{value 52252}#)
- (if (= (vector-length
- #{value 52252}#)
- 4)
- (eq? (vector-ref
- #{value 52252}#
- 0)
- 'syntax-object)
- #f)
- #f)
- (let ((#{expression 52305}#
- (vector-ref
- #{value 52252}#
- 1))
- (#{wrap 52306}#
- (let ((#{w2 52316}#
- (vector-ref
- #{value 52252}#
- 2)))
- (let ((#{m1 52317}#
- (car #{w 52254}#))
- (#{s1 52318}#
- (cdr #{w 52254}#)))
- (if (null? #{m1 52317}#)
- (if (null? #{s1
52318}#)
- #{w2 52316}#
- (cons (car #{w2
52316}#)
- (let ((#{m2
52335}#
- (cdr
#{w2 52316}#)))
- (if (null?
#{m2 52335}#)
- #{s1
52318}#
- (append
- #{s1
52318}#
- #{m2
52335}#)))))
- (cons (let ((#{m2
52343}#
- (car
#{w2 52316}#)))
- (if (null?
#{m2 52343}#)
- #{m1 52317}#
- (append
- #{m1
52317}#
- #{m2
52343}#)))
- (let ((#{m2
52351}#
- (cdr
#{w2 52316}#)))
- (if (null?
#{m2 52351}#)
- #{s1 52318}#
- (append
- #{s1
52318}#
- #{m2
52351}#))))))))
- (#{module 52307}#
- (vector-ref
- #{value 52252}#
- 3)))
- (vector
- 'syntax-object
- #{expression 52305}#
- #{wrap 52306}#
- #{module 52307}#))
- (if (null? #{value 52252}#)
- #{value 52252}#
- (vector
- 'syntax-object
- #{value 52252}#
- #{w 52254}#
- #{mod 52256}#)))))
- (#{label 52261}#
- (symbol->string (gensym "i"))))
- (let ((#{var 52262}#
- (let ((#{id 52412}#
- (if (if (vector? #{id 52260}#)
- (if (= (vector-length
- #{id 52260}#)
- 4)
- (eq? (vector-ref
- #{id 52260}#
- 0)
- 'syntax-object)
- #f)
- #f)
- (vector-ref #{id 52260}# 1)
- #{id 52260}#)))
- (gensym
- (string-append
- (symbol->string #{id 52412}#)
- " ")))))
- (begin
- (begin
- (let ((#{update 52271}#
- (cons (vector-ref #{id 52260}# 1)
- (vector-ref
- #{ribcage 51945}#
- 1))))
- (vector-set!
- #{ribcage 51945}#
- 1
- #{update 52271}#))
- (let ((#{update 52383}#
- (cons (car (vector-ref
- #{id 52260}#
- 2))
- (vector-ref
- #{ribcage 51945}#
- 2))))
- (vector-set!
- #{ribcage 51945}#
- 2
- #{update 52383}#))
- (let ((#{update 52398}#
- (cons #{label 52261}#
- (vector-ref
- #{ribcage 51945}#
- 3))))
- (vector-set!
- #{ribcage 51945}#
- 3
- #{update 52398}#)))
- (#{parse 51947}#
- (cdr #{body 52055}#)
- (cons #{id 52260}# #{ids 52056}#)
- (cons #{label 52261}# #{labels 52057}#)
- (cons #{id 52260}# #{var-ids 52058}#)
- (cons #{var 52262}# #{vars 52059}#)
- (cons (cons #{er 52063}#
- (if (if (null? (car #{w
52254}#))
- (null? (cdr #{w
52254}#))
- #f)
- #{e 52253}#
- (if (if (vector?
- #{e 52253}#)
- (if (= (vector-length
- #{e 52253}#)
- 4)
- (eq? (vector-ref
- #{e 52253}#
- 0)
-
'syntax-object)
- #f)
- #f)
- (let ((#{expression
52464}#
- (vector-ref
- #{e 52253}#
- 1))
- (#{wrap 52465}#
- (let ((#{w2
52475}#
-
(vector-ref
- #{e
52253}#
- 2)))
- (let ((#{m1
52476}#
- (car
#{w 52254}#))
- (#{s1
52477}#
- (cdr
#{w 52254}#)))
- (if (null?
#{m1 52476}#)
- (if (null?
#{s1 52477}#)
- #{w2
52475}#
- (cons
(car #{w2 52475}#)
-
(let ((#{m2 52494}#
-
(cdr #{w2 52475}#)))
-
(if (null? #{m2 52494}#)
-
#{s1 52477}#
-
(append
-
#{s1 52477}#
-
#{m2 52494}#)))))
- (cons (let
((#{m2 52502}#
-
(car #{w2 52475}#)))
-
(if (null? #{m2 52502}#)
-
#{m1 52476}#
-
(append
-
#{m1 52476}#
-
#{m2 52502}#)))
- (let
((#{m2 52510}#
-
(cdr #{w2 52475}#)))
-
(if (null? #{m2 52510}#)
-
#{s1 52477}#
-
(append
-
#{s1 52477}#
-
#{m2 52510}#))))))))
- (#{module 52466}#
- (vector-ref
- #{e 52253}#
- 3)))
- (vector
- 'syntax-object
- #{expression 52464}#
- #{wrap 52465}#
- #{module 52466}#))
- (if (null? #{e 52253}#)
- #{e 52253}#
- (vector
- 'syntax-object
- #{e 52253}#
- #{w 52254}#
- #{mod 52256}#)))))
- #{vals 52060}#)
- (cons (cons 'lexical #{var 52262}#)
- #{bindings 52061}#)))))
- (if (if (eqv? #{type 52251}# 'define-syntax-form)
- #t
- (eqv? #{type 52251}#
- 'define-syntax-parameter-form))
- (let ((#{id 52541}#
- (if (if (null? (car #{w 52254}#))
- (null? (cdr #{w 52254}#))
- #f)
- #{value 52252}#
- (if (if (vector? #{value 52252}#)
- (if (= (vector-length
- #{value 52252}#)
- 4)
- (eq? (vector-ref
- #{value 52252}#
- 0)
- 'syntax-object)
- #f)
- #f)
- (let ((#{expression 52585}#
- (vector-ref
- #{value 52252}#
- 1))
- (#{wrap 52586}#
- (let ((#{w2 52596}#
- (vector-ref
- #{value 52252}#
- 2)))
- (let ((#{m1 52597}#
- (car #{w
52254}#))
- (#{s1 52598}#
- (cdr #{w
52254}#)))
- (if (null? #{m1
52597}#)
- (if (null? #{s1
52598}#)
- #{w2 52596}#
- (cons (car #{w2
52596}#)
- (let ((#{m2
52615}#
- (cdr
#{w2 52596}#)))
- (if (null?
#{m2 52615}#)
- #{s1
52598}#
- (append
- #{s1
52598}#
- #{m2
52615}#)))))
- (cons (let ((#{m2
52623}#
- (car
#{w2 52596}#)))
- (if (null?
#{m2 52623}#)
- #{m1
52597}#
- (append
- #{m1
52597}#
- #{m2
52623}#)))
- (let ((#{m2
52631}#
- (cdr
#{w2 52596}#)))
- (if (null?
#{m2 52631}#)
- #{s1
52598}#
- (append
- #{s1
52598}#
- #{m2
52631}#))))))))
- (#{module 52587}#
- (vector-ref
- #{value 52252}#
- 3)))
- (vector
- 'syntax-object
- #{expression 52585}#
- #{wrap 52586}#
- #{module 52587}#))
- (if (null? #{value 52252}#)
- #{value 52252}#
- (vector
- 'syntax-object
- #{value 52252}#
- #{w 52254}#
- #{mod 52256}#)))))
- (#{label 52542}#
- (symbol->string (gensym "i"))))
- (begin
- (begin
- (let ((#{update 52551}#
- (cons (vector-ref #{id 52541}# 1)
- (vector-ref
- #{ribcage 51945}#
- 1))))
- (vector-set!
- #{ribcage 51945}#
- 1
- #{update 52551}#))
- (let ((#{update 52663}#
- (cons (car (vector-ref
- #{id 52541}#
- 2))
- (vector-ref
- #{ribcage 51945}#
- 2))))
- (vector-set!
- #{ribcage 51945}#
- 2
- #{update 52663}#))
- (let ((#{update 52678}#
- (cons #{label 52542}#
- (vector-ref
- #{ribcage 51945}#
- 3))))
- (vector-set!
- #{ribcage 51945}#
- 3
- #{update 52678}#)))
- (#{parse 51947}#
- (cdr #{body 52055}#)
- (cons #{id 52541}# #{ids 52056}#)
- (cons #{label 52542}# #{labels 52057}#)
- #{var-ids 52058}#
- #{vars 52059}#
- #{vals 52060}#
- (cons (cons (if (eq? #{type 52251}#
-
'define-syntax-parameter-form)
- 'syntax-parameter
- 'macro)
- (cons #{er 52063}#
- (if (if (null? (car
#{w 52254}#))
- (null? (cdr #{w
52254}#))
- #f)
- #{e 52253}#
- (if (if (vector?
- #{e
52253}#)
- (if (=
(vector-length
- #{e
52253}#)
- 4)
- (eq?
(vector-ref
- #{e
52253}#
- 0)
-
'syntax-object)
- #f)
- #f)
- (let
((#{expression 52717}#
- (vector-ref
- #{e
52253}#
- 1))
- (#{wrap
52718}#
- (let
((#{w2 52728}#
-
(vector-ref
-
#{e 52253}#
-
2)))
- (let
((#{m1 52729}#
-
(car #{w 52254}#))
-
(#{s1 52730}#
-
(cdr #{w 52254}#)))
- (if
(null? #{m1 52729}#)
- (if
(null? #{s1 52730}#)
-
#{w2 52728}#
-
(cons (car #{w2 52728}#)
-
(let ((#{m2 52747}#
-
(cdr #{w2 52728}#)))
-
(if (null? #{m2 52747}#)
-
#{s1 52730}#
-
(append
-
#{s1 52730}#
-
#{m2 52747}#)))))
-
(cons (let ((#{m2 52755}#
-
(car #{w2 52728}#)))
-
(if (null? #{m2 52755}#)
-
#{m1 52729}#
-
(append
-
#{m1 52729}#
-
#{m2 52755}#)))
-
(let ((#{m2 52763}#
-
(cdr #{w2 52728}#)))
-
(if (null? #{m2 52763}#)
-
#{s1 52730}#
-
(append
-
#{s1 52730}#
-
#{m2 52763}#))))))))
- (#{module
52719}#
- (vector-ref
- #{e
52253}#
- 3)))
- (vector
- 'syntax-object
- #{expression
52717}#
- #{wrap 52718}#
- #{module
52719}#))
- (if (null? #{e
52253}#)
- #{e 52253}#
- (vector
- 'syntax-object
- #{e 52253}#
- #{w 52254}#
- #{mod
52256}#))))))
- #{bindings 52061}#))))
- (if (eqv? #{type 52251}# 'begin-form)
- (let ((#{tmp 52790}#
- ($sc-dispatch
- #{e 52253}#
- '(_ . each-any))))
- (if #{tmp 52790}#
- (@apply
- (lambda (#{e1 52794}#)
- (#{parse 51947}#
- (letrec*
- ((#{f 52795}#
- (lambda (#{forms 52996}#)
- (if (null? #{forms 52996}#)
- (cdr #{body 52055}#)
- (cons (cons #{er 52063}#
- (let ((#{x
53000}#
- (car
#{forms 52996}#)))
- (if (if
(null? (car #{w 52254}#))
-
(null? (cdr #{w 52254}#))
- #f)
- #{x
53000}#
- (if (if
(vector?
-
#{x 53000}#)
- (if
(= (vector-length
-
#{x 53000}#)
-
4)
-
(eq? (vector-ref
-
#{x 53000}#
-
0)
-
'syntax-object)
-
#f)
- #f)
- (let
((#{expression 53018}#
-
(vector-ref
-
#{x 53000}#
-
1))
-
(#{wrap 53019}#
-
(let ((#{w2 53027}#
-
(vector-ref
-
#{x 53000}#
-
2)))
-
(let ((#{m1 53028}#
-
(car #{w 52254}#))
-
(#{s1 53029}#
-
(cdr #{w 52254}#)))
-
(if (null? #{m1 53028}#)
-
(if (null? #{s1 53029}#)
-
#{w2 53027}#
-
(cons (car #{w2 53027}#)
-
(let ((#{m2 53044}#
-
(cdr #{w2 53027}#)))
-
(if (null? #{m2 53044}#)
-
#{s1 53029}#
-
(append
-
#{s1 53029}#
-
#{m2 53044}#)))))
-
(cons (let ((#{m2 53052}#
-
(car #{w2 53027}#)))
-
(if (null? #{m2 53052}#)
-
#{m1 53028}#
-
(append
-
#{m1 53028}#
-
#{m2 53052}#)))
-
(let ((#{m2 53060}#
-
(cdr #{w2 53027}#)))
-
(if (null? #{m2 53060}#)
-
#{s1 53029}#
-
(append
-
#{s1 53029}#
-
#{m2 53060}#))))))))
-
(#{module 53020}#
-
(vector-ref
-
#{x 53000}#
-
3)))
-
(vector
-
'syntax-object
-
#{expression 53018}#
-
#{wrap 53019}#
-
#{module 53020}#))
- (if
(null? #{x 53000}#)
- #{x
53000}#
-
(vector
-
'syntax-object
- #{x
53000}#
- #{w
52254}#
-
#{mod 52256}#))))))
- (#{f 52795}#
- (cdr #{forms
52996}#)))))))
- (#{f 52795}# #{e1 52794}#))
- #{ids 52056}#
- #{labels 52057}#
- #{var-ids 52058}#
- #{vars 52059}#
- #{vals 52060}#
- #{bindings 52061}#))
- #{tmp 52790}#)
- (syntax-violation
- #f
- "source expression failed to match any
pattern"
- #{e 52253}#)))
- (if (eqv? #{type 52251}# 'local-syntax-form)
- (#{expand-local-syntax 28276}#
- #{value 52252}#
- #{e 52253}#
- #{er 52063}#
- #{w 52254}#
- #{s 52255}#
- #{mod 52256}#
- (lambda (#{forms 53086}#
- #{er 53087}#
- #{w 53088}#
- #{s 53089}#
- #{mod 53090}#)
- (#{parse 51947}#
- (letrec*
- ((#{f 53091}#
- (lambda (#{forms 53292}#)
- (if (null? #{forms 53292}#)
- (cdr #{body 52055}#)
- (cons (cons #{er 53087}#
- (let ((#{x
53296}#
- (car
#{forms 53292}#)))
- (if (if
(null? (car #{w 53088}#))
- (null?
(cdr #{w 53088}#))
- #f)
- #{x 53296}#
- (if (if
(vector?
-
#{x 53296}#)
- (if
(= (vector-length
-
#{x 53296}#)
-
4)
-
(eq? (vector-ref
-
#{x 53296}#
-
0)
-
'syntax-object)
- #f)
- #f)
- (let
((#{expression 53314}#
-
(vector-ref
-
#{x 53296}#
-
1))
-
(#{wrap 53315}#
-
(let ((#{w2 53323}#
-
(vector-ref
-
#{x 53296}#
-
2)))
-
(let ((#{m1 53324}#
-
(car #{w 53088}#))
-
(#{s1 53325}#
-
(cdr #{w 53088}#)))
-
(if (null? #{m1 53324}#)
-
(if (null? #{s1 53325}#)
-
#{w2 53323}#
-
(cons (car #{w2 53323}#)
-
(let ((#{m2 53340}#
-
(cdr #{w2 53323}#)))
-
(if (null? #{m2 53340}#)
-
#{s1 53325}#
-
(append
-
#{s1 53325}#
-
#{m2 53340}#)))))
-
(cons (let ((#{m2 53348}#
-
(car #{w2 53323}#)))
-
(if (null? #{m2 53348}#)
-
#{m1 53324}#
-
(append
-
#{m1 53324}#
-
#{m2 53348}#)))
-
(let ((#{m2 53356}#
-
(cdr #{w2 53323}#)))
-
(if (null? #{m2 53356}#)
-
#{s1 53325}#
-
(append
-
#{s1 53325}#
-
#{m2 53356}#))))))))
-
(#{module 53316}#
-
(vector-ref
-
#{x 53296}#
-
3)))
- (vector
-
'syntax-object
-
#{expression 53314}#
-
#{wrap 53315}#
-
#{module 53316}#))
- (if
(null? #{x 53296}#)
- #{x
53296}#
- (vector
-
'syntax-object
- #{x
53296}#
- #{w
53088}#
- #{mod
53090}#))))))
- (#{f 53091}#
- (cdr #{forms
53292}#)))))))
- (#{f 53091}# #{forms 53086}#))
- #{ids 52056}#
- #{labels 52057}#
- #{var-ids 52058}#
- #{vars 52059}#
- #{vals 52060}#
- #{bindings 52061}#)))
- (if (null? #{ids 52056}#)
- (#{build-sequence 28220}#
- #f
- (map (lambda (#{x 53441}#)
- (#{expand 28271}#
- (cdr #{x 53441}#)
- (car #{x 53441}#)
- '(())
- #{mod 52256}#))
- (cons (cons #{er 52063}#
- (let ((#{x 53516}#
- (begin
- (if (if
(pair? #{e 52253}#)
- #{s
52255}#
- #f)
-
(set-source-properties!
- #{e
52253}#
- #{s
52255}#))
- #{e
52253}#)))
- (if (if (null? (car
#{w 52254}#))
- (null? (cdr
#{w 52254}#))
+ e-25084
+ (if (if (vector?
+ e-25084)
+ (if (=
(vector-length
+
e-25084)
+ 4)
+ (eq?
(vector-ref
+ e-25084
+ 0)
+
'syntax-object)
#f)
- #{x 53516}#
- (if (if (vector?
- #{x
53516}#)
- (if (=
(vector-length
-
#{x 53516}#)
- 4)
- (eq?
(vector-ref
-
#{x 53516}#
- 0)
-
'syntax-object)
- #f)
- #f)
- (let
((#{expression 53548}#
-
(vector-ref
- #{x
53516}#
- 1))
- (#{wrap
53549}#
- (let
((#{w2 53557}#
-
(vector-ref
-
#{x 53516}#
-
2)))
- (let
((#{m1 53558}#
-
(car #{w 52254}#))
-
(#{s1 53559}#
-
(cdr #{w 52254}#)))
- (if
(null? #{m1 53558}#)
-
(if (null? #{s1 53559}#)
-
#{w2 53557}#
-
(cons (car #{w2 53557}#)
-
(let ((#{m2 53574}#
-
(cdr #{w2 53557}#)))
-
(if (null? #{m2 53574}#)
-
#{s1 53559}#
-
(append
-
#{s1 53559}#
-
#{m2 53574}#)))))
-
(cons (let ((#{m2 53582}#
-
(car #{w2 53557}#)))
-
(if (null? #{m2 53582}#)
-
#{m1 53558}#
-
(append
-
#{m1 53558}#
-
#{m2 53582}#)))
-
(let ((#{m2 53590}#
-
(cdr #{w2 53557}#)))
-
(if (null? #{m2 53590}#)
-
#{s1 53559}#
-
(append
-
#{s1 53559}#
-
#{m2 53590}#))))))))
- (#{module
53550}#
-
(vector-ref
- #{x
53516}#
- 3)))
- (vector
-
'syntax-object
-
#{expression 53548}#
- #{wrap
53549}#
- #{module
53550}#))
- (if (null? #{x
53516}#)
- #{x 53516}#
- (vector
-
'syntax-object
- #{x 53516}#
- #{w 52254}#
- #{mod
52256}#))))))
- (cdr #{body 52055}#))))
- (begin
- (if (not (#{valid-bound-ids? 28261}#
- #{ids 52056}#))
- (syntax-violation
- #f
- "invalid or duplicate identifier
in definition"
- #{outer-form 51940}#))
- (letrec*
- ((#{loop 53689}#
- (lambda (#{bs 53692}#
- #{er-cache 53693}#
- #{r-cache 53694}#)
- (if (not (null? #{bs 53692}#))
- (let ((#{b 53695}#
- (car #{bs 53692}#)))
- (if (let ((#{t 53698}#
- (car #{b
53695}#)))
- (if (eq? #{t 53698}#
- 'macro)
- #t
- (eq? #{t 53698}#
-
'syntax-parameter)))
- (let ((#{er 53700}#
- (car (cdr #{b
53695}#))))
- (let ((#{r-cache 53701}#
- (if (eq? #{er
53700}#
-
#{er-cache 53693}#)
- #{r-cache
53694}#
-
(#{macros-only-env 28235}#
- #{er
53700}#))))
- (begin
- (set-cdr!
- #{b 53695}#
-
(#{eval-local-transformer 28277}#
- (#{expand
28271}#
- (cdr (cdr #{b
53695}#))
- #{r-cache
53701}#
- '(())
- #{mod 52256}#)
- #{mod 52256}#))
- (if (eq? (car #{b
53695}#)
-
'syntax-parameter)
- (set-cdr!
- #{b 53695}#
- (list (cdr #{b
53695}#))))
- (#{loop 53689}#
- (cdr #{bs 53692}#)
- #{er 53700}#
- #{r-cache
53701}#))))
- (#{loop 53689}#
- (cdr #{bs 53692}#)
- #{er-cache 53693}#
- #{r-cache 53694}#)))))))
- (#{loop 53689}#
- #{bindings 52061}#
- #f
- #f))
- (set-cdr!
- #{r 51944}#
- (#{extend-env 28233}#
- #{labels 52057}#
- #{bindings 52061}#
- (cdr #{r 51944}#)))
- (#{build-letrec 28223}#
- #f
- #t
- (reverse
- (map syntax->datum
- #{var-ids 52058}#))
- (reverse #{vars 52059}#)
- (map (lambda (#{x 54121}#)
- (#{expand 28271}#
- (cdr #{x 54121}#)
- (car #{x 54121}#)
- '(())
- #{mod 52256}#))
- (reverse #{vals 52060}#))
- (#{build-sequence 28220}#
- #f
- (map (lambda (#{x 54257}#)
- (#{expand 28271}#
- (cdr #{x 54257}#)
- (car #{x 54257}#)
- '(())
- #{mod 52256}#))
- (cons (cons #{er 52063}#
- (let ((#{x 54332}#
- (begin
- (if (if
(pair? #{e 52253}#)
-
#{s 52255}#
-
#f)
-
(set-source-properties!
- #{e
52253}#
- #{s
52255}#))
- #{e
52253}#)))
- (if (if (null?
(car #{w 52254}#))
- (null?
(cdr #{w 52254}#))
- #f)
- #{x 54332}#
- (if (if
(vector?
- #{x
54332}#)
- (if (=
(vector-length
-
#{x 54332}#)
-
4)
- (eq?
(vector-ref
-
#{x 54332}#
-
0)
-
'syntax-object)
- #f)
- #f)
- (let
((#{expression 54364}#
-
(vector-ref
-
#{x 54332}#
-
1))
-
(#{wrap 54365}#
-
(let ((#{w2 54373}#
-
(vector-ref
-
#{x 54332}#
-
2)))
-
(let ((#{m1 54374}#
-
(car #{w 52254}#))
-
(#{s1 54375}#
-
(cdr #{w 52254}#)))
-
(if (null? #{m1 54374}#)
-
(if (null? #{s1 54375}#)
-
#{w2 54373}#
-
(cons (car #{w2 54373}#)
-
(let ((#{m2 54390}#
-
(cdr #{w2 54373}#)))
-
(if (null? #{m2 54390}#)
-
#{s1 54375}#
-
(append
-
#{s1 54375}#
-
#{m2 54390}#)))))
-
(cons (let ((#{m2 54398}#
-
(car #{w2 54373}#)))
-
(if (null? #{m2 54398}#)
-
#{m1 54374}#
-
(append
-
#{m1 54374}#
-
#{m2 54398}#)))
-
(let ((#{m2 54406}#
-
(cdr #{w2 54373}#)))
-
(if (null? #{m2 54406}#)
-
#{s1 54375}#
-
(append
-
#{s1 54375}#
-
#{m2 54406}#))))))))
-
(#{module 54366}#
+ #f)
+ (let
((expression-26103
+ (vector-ref
+ e-25084
+ 1))
+ (wrap-26104
+ (let
((w2-26114
(vector-ref
-
#{x 54332}#
-
3)))
- (vector
-
'syntax-object
-
#{expression 54364}#
- #{wrap
54365}#
-
#{module 54366}#))
- (if (null?
#{x 54332}#)
- #{x
54332}#
- (vector
-
'syntax-object
- #{x
54332}#
- #{w
52254}#
- #{mod
52256}#))))))
- (cdr #{body
52055}#))))))))))))))))))
- (#{parse 51947}#
- (map (lambda (#{x 51950}#)
- (cons #{r 51944}#
- (if (if (null? (car #{w 51946}#))
- (null? (cdr #{w 51946}#))
- #f)
- #{x 51950}#
- (if (if (vector? #{x 51950}#)
- (if (= (vector-length #{x 51950}#) 4)
- (eq? (vector-ref #{x 51950}# 0)
- 'syntax-object)
- #f)
- #f)
- (let ((#{expression 51986}#
- (vector-ref #{x 51950}# 1))
- (#{wrap 51987}#
- (let ((#{w2 51997}#
- (vector-ref #{x 51950}# 2)))
- (let ((#{m1 51998}#
- (car #{w 51946}#))
- (#{s1 51999}#
- (cdr #{w 51946}#)))
- (if (null? #{m1 51998}#)
- (if (null? #{s1 51999}#)
- #{w2 51997}#
- (cons (car #{w2 51997}#)
- (let ((#{m2 52016}#
- (cdr #{w2
51997}#)))
- (if (null? #{m2
52016}#)
- #{s1 51999}#
- (append
- #{s1 51999}#
- #{m2 52016}#)))))
- (cons (let ((#{m2 52024}#
- (car #{w2
51997}#)))
- (if (null? #{m2
52024}#)
- #{m1 51998}#
- (append
- #{m1 51998}#
- #{m2 52024}#)))
- (let ((#{m2 52032}#
- (cdr #{w2
51997}#)))
- (if (null? #{m2
52032}#)
- #{s1 51999}#
- (append
- #{s1 51999}#
- #{m2
52032}#))))))))
- (#{module 51988}#
- (vector-ref #{x 51950}# 3)))
- (vector
- 'syntax-object
- #{expression 51986}#
- #{wrap 51987}#
- #{module 51988}#))
- (if (null? #{x 51950}#)
- #{x 51950}#
- (vector
- 'syntax-object
- #{x 51950}#
- #{w 51946}#
- #{mod 51943}#))))))
- #{body 51939}#)
- '()
- '()
- '()
- '()
- '()
- '())))))))
- (#{expand-local-syntax 28276}#
- (lambda (#{rec? 54421}#
- #{e 54422}#
- #{r 54423}#
- #{w 54424}#
- #{s 54425}#
- #{mod 54426}#
- #{k 54427}#)
- (let ((#{tmp 54429}#
- ($sc-dispatch
- #{e 54422}#
- '(_ #(each (any any)) any . each-any))))
- (if #{tmp 54429}#
- (@apply
- (lambda (#{id 54433}#
- #{val 54434}#
- #{e1 54435}#
- #{e2 54436}#)
- (if (not (#{valid-bound-ids? 28261}# #{id 54433}#))
- (syntax-violation
- #f
- "duplicate bound keyword"
- #{e 54422}#)
- (let ((#{labels 54533}#
- (#{gen-labels 28241}# #{id 54433}#)))
- (let ((#{new-w 54534}#
- (#{make-binding-wrap 28252}#
- #{id 54433}#
- #{labels 54533}#
- #{w 54424}#)))
- (#{k 54427}#
- (cons #{e1 54435}# #{e2 54436}#)
- (#{extend-env 28233}#
- #{labels 54533}#
- (let ((#{trans-r 54574}#
- (#{macros-only-env 28235}# #{r 54423}#)))
- (begin
- (if #{rec? 54421}# #{new-w 54534}# #{w 54424}#)
- (map (lambda (#{x 54575}#)
- (cons 'macro
- (#{eval-local-transformer 28277}#
- (#{expand 28271}#
- #{x 54575}#
- #{trans-r 54574}#
- (values
- (if #{rec? 54421}#
- #{new-w 54534}#
- #{w 54424}#))
- #{mod 54426}#)
- #{mod 54426}#)))
- #{val 54434}#)))
- #{r 54423}#)
- #{new-w 54534}#
- #{s 54425}#
- #{mod 54426}#)))))
- #{tmp 54429}#)
- (syntax-violation
- #f
- "bad local syntax definition"
- (let ((#{x 54904}#
- (begin
- (if (if (pair? #{e 54422}#) #{s 54425}# #f)
- (set-source-properties! #{e 54422}# #{s 54425}#))
- #{e 54422}#)))
- (if (if (null? (car #{w 54424}#))
- (null? (cdr #{w 54424}#))
- #f)
- #{x 54904}#
- (if (if (vector? #{x 54904}#)
- (if (= (vector-length #{x 54904}#) 4)
- (eq? (vector-ref #{x 54904}# 0) 'syntax-object)
- #f)
- #f)
- (let ((#{expression 54936}# (vector-ref #{x 54904}# 1))
- (#{wrap 54937}#
- (let ((#{w2 54945}# (vector-ref #{x 54904}# 2)))
- (let ((#{m1 54946}# (car #{w 54424}#))
- (#{s1 54947}# (cdr #{w 54424}#)))
- (if (null? #{m1 54946}#)
- (if (null? #{s1 54947}#)
- #{w2 54945}#
- (cons (car #{w2 54945}#)
- (let ((#{m2 54962}#
- (cdr #{w2 54945}#)))
- (if (null? #{m2 54962}#)
- #{s1 54947}#
- (append
- #{s1 54947}#
- #{m2 54962}#)))))
- (cons (let ((#{m2 54970}# (car #{w2 54945}#)))
- (if (null? #{m2 54970}#)
- #{m1 54946}#
- (append #{m1 54946}# #{m2 54970}#)))
- (let ((#{m2 54978}# (cdr #{w2 54945}#)))
- (if (null? #{m2 54978}#)
- #{s1 54947}#
- (append
- #{s1 54947}#
- #{m2 54978}#))))))))
- (#{module 54938}# (vector-ref #{x 54904}# 3)))
- (vector
- 'syntax-object
- #{expression 54936}#
- #{wrap 54937}#
- #{module 54938}#))
- (if (null? #{x 54904}#)
- #{x 54904}#
- (vector
- 'syntax-object
- #{x 54904}#
- #{w 54424}#
- #{mod 54426}#))))))))))
- (#{eval-local-transformer 28277}#
- (lambda (#{expanded 54996}# #{mod 54997}#)
- (let ((#{p 54998}# (primitive-eval #{expanded 54996}#)))
- (if (procedure? #{p 54998}#)
- #{p 54998}#
- (syntax-violation
- #f
- "nonprocedure transformer"
- #{p 54998}#)))))
- (#{ellipsis? 28279}#
- (lambda (#{x 29819}#)
- (if (if (if (vector? #{x 29819}#)
- (if (= (vector-length #{x 29819}#) 4)
- (eq? (vector-ref #{x 29819}# 0) 'syntax-object)
- #f)
- #f)
- (symbol? (vector-ref #{x 29819}# 1))
- #f)
- (#{free-id=? 28259}#
- #{x 29819}#
- '#(syntax-object
- ...
- ((top)
- #(ribcage () () ())
- #(ribcage () () ())
- #(ribcage #(x) #((top)) #("i26166"))
- #(ribcage
- (lambda-var-list
- gen-var
- strip
- expand-lambda-case
- lambda*-formals
- expand-simple-lambda
- lambda-formals
- ellipsis?
- expand-void
- eval-local-transformer
- expand-local-syntax
- expand-body
- expand-macro
- expand-call
- expand-expr
- expand
- syntax-type
- parse-when-list
- expand-install-global
- expand-top-sequence
- expand-sequence
- source-wrap
- wrap
- bound-id-member?
- distinct-bound-ids?
- valid-bound-ids?
- bound-id=?
- free-id=?
- resolve-identifier
- id-var-name
- same-marks?
- join-marks
- join-wraps
- smart-append
- make-binding-wrap
- extend-ribcage!
- make-empty-ribcage
- new-mark
- anti-mark
- the-anti-mark
- top-marked?
- top-wrap
- empty-wrap
- set-ribcage-labels!
- set-ribcage-marks!
- set-ribcage-symnames!
- ribcage-labels
- ribcage-marks
- ribcage-symnames
- ribcage?
- make-ribcage
- gen-labels
- gen-label
- make-rename
- rename-marks
- rename-new
- rename-old
- subst-rename?
- wrap-subst
- wrap-marks
- make-wrap
- id-sym-name&marks
- id-sym-name
- id?
- nonsymbol-id?
- global-extend
- macros-only-env
- extend-var-env
- extend-env
- null-env
- binding-value
- binding-type
- make-binding
- arg-check
- source-annotation
- no-source
- set-syntax-object-module!
- set-syntax-object-wrap!
- set-syntax-object-expression!
- syntax-object-module
- syntax-object-wrap
- syntax-object-expression
- syntax-object?
- make-syntax-object
- build-lexical-var
- build-letrec
- build-named-let
- build-let
- build-sequence
- build-data
- build-primref
- build-primcall
- build-lambda-case
- build-case-lambda
- build-simple-lambda
- build-global-definition
- build-global-assignment
- build-global-reference
- analyze-variable
- build-lexical-assignment
- build-lexical-reference
- build-dynlet
- build-conditional
- build-call
- build-void
- maybe-name-value!
- decorate-source
- get-global-definition-hook
- put-global-definition-hook
- gensym-hook
- local-eval-hook
- top-level-eval-hook
- fx<
- fx=
- fx-
- fx+
- set-lambda-meta!
- lambda-meta
- lambda?
- make-dynlet
- make-letrec
- make-let
- make-lambda-case
- make-lambda
- make-seq
- make-primcall
- make-call
- make-conditional
- make-toplevel-define
- make-toplevel-set
- make-toplevel-ref
- make-module-set
- make-module-ref
- make-lexical-set
- make-lexical-ref
- make-primitive-ref
- make-const
- make-void)
- ((top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top))
- ("i24298"
- "i24296"
- "i24294"
- "i24292"
- "i24290"
- "i24288"
- "i24286"
- "i24284"
- "i24282"
- "i24280"
- "i24278"
- "i24276"
- "i24274"
- "i24272"
- "i24270"
- "i24268"
- "i24266"
- "i24264"
- "i24262"
- "i24260"
- "i24258"
- "i24256"
- "i24254"
- "i24252"
- "i24250"
- "i24248"
- "i24246"
- "i24244"
- "i24242"
- "i24240"
- "i24238"
- "i24236"
- "i24234"
- "i24232"
- "i24230"
- "i24228"
- "i24227"
- "i24225"
- "i24222"
- "i24221"
- "i24220"
- "i24218"
- "i24217"
- "i24215"
- "i24213"
- "i24211"
- "i24209"
- "i24207"
- "i24205"
- "i24203"
- "i24201"
- "i24198"
- "i24196"
- "i24195"
- "i24193"
- "i24191"
- "i24189"
- "i24187"
- "i24186"
- "i24185"
- "i24184"
- "i24182"
- "i24181"
- "i24178"
- "i24176"
- "i24174"
- "i24172"
- "i24170"
- "i24168"
- "i24167"
- "i24166"
- "i24164"
- "i24162"
- "i24161"
- "i24158"
- "i24157"
- "i24155"
- "i24153"
- "i24151"
- "i24149"
- "i24147"
- "i24145"
- "i24143"
- "i24141"
- "i24139"
- "i24136"
- "i24134"
- "i24132"
- "i24130"
- "i24128"
- "i24126"
- "i24124"
- "i24122"
- "i24120"
- "i24118"
- "i24116"
- "i24114"
- "i24112"
- "i24110"
- "i24108"
- "i24106"
- "i24104"
- "i24102"
- "i24100"
- "i24098"
- "i24096"
- "i24094"
- "i24092"
- "i24090"
- "i24089"
- "i24086"
- "i24084"
- "i24083"
- "i24082"
- "i24081"
- "i24080"
- "i24078"
- "i24076"
- "i24074"
- "i24071"
- "i24069"
- "i24067"
- "i24065"
- "i24063"
- "i24061"
- "i24059"
- "i24057"
- "i24055"
- "i24053"
- "i24051"
- "i24049"
- "i24047"
- "i24045"
- "i24043"
- "i24041"
- "i24039"
- "i24037"
- "i24035"))
- #(ribcage
- (define-structure
- define-expansion-accessors
- define-expansion-constructors)
- ((top) (top) (top))
- ("i23873" "i23872" "i23871"))
- #(ribcage () () ()))
- (hygiene guile)))
- #f)))
- (#{lambda-formals 28280}#
- (lambda (#{orig-args 55003}#)
- (letrec*
- ((#{req 55004}#
- (lambda (#{args 55008}# #{rreq 55009}#)
- (let ((#{tmp 55011}# ($sc-dispatch #{args 55008}# '())))
- (if #{tmp 55011}#
- (@apply
- (lambda ()
- (#{check 55005}# (reverse #{rreq 55009}#) #f))
- #{tmp 55011}#)
- (let ((#{tmp 55127}#
- ($sc-dispatch #{args 55008}# '(any . any))))
- (if (if #{tmp 55127}#
- (@apply
- (lambda (#{a 55131}# #{b 55132}#)
- (if (symbol? #{a 55131}#)
- #t
- (if (if (vector? #{a 55131}#)
- (if (= (vector-length #{a 55131}#) 4)
- (eq? (vector-ref #{a 55131}# 0)
- 'syntax-object)
- #f)
- #f)
- (symbol? (vector-ref #{a 55131}# 1))
- #f)))
- #{tmp 55127}#)
- #f)
- (@apply
- (lambda (#{a 55159}# #{b 55160}#)
- (#{req 55004}#
- #{b 55160}#
- (cons #{a 55159}# #{rreq 55009}#)))
- #{tmp 55127}#)
- (let ((#{tmp 55161}# (list #{args 55008}#)))
- (if (@apply
- (lambda (#{r 55163}#)
- (if (symbol? #{r 55163}#)
- #t
- (if (if (vector? #{r 55163}#)
- (if (= (vector-length #{r 55163}#) 4)
- (eq? (vector-ref #{r 55163}# 0)
- 'syntax-object)
- #f)
- #f)
- (symbol? (vector-ref #{r 55163}# 1))
- #f)))
- #{tmp 55161}#)
- (@apply
- (lambda (#{r 55193}#)
- (#{check 55005}#
- (reverse #{rreq 55009}#)
- #{r 55193}#))
- #{tmp 55161}#)
- (syntax-violation
- 'lambda
- "invalid argument list"
- #{orig-args 55003}#
- #{args 55008}#)))))))))
- (#{check 55005}#
- (lambda (#{req 55317}# #{rest 55318}#)
- (if (#{distinct-bound-ids? 28262}#
- (if #{rest 55318}#
- (cons #{rest 55318}# #{req 55317}#)
- #{req 55317}#))
- (values #{req 55317}# #f #{rest 55318}# #f)
- (syntax-violation
- 'lambda
- "duplicate identifier in argument list"
- #{orig-args 55003}#)))))
- (#{req 55004}# #{orig-args 55003}# '()))))
- (#{expand-simple-lambda 28281}#
- (lambda (#{e 55427}#
- #{r 55428}#
- #{w 55429}#
- #{s 55430}#
- #{mod 55431}#
- #{req 55432}#
- #{rest 55433}#
- #{meta 55434}#
- #{body 55435}#)
- (let ((#{ids 55436}#
- (if #{rest 55433}#
- (append #{req 55432}# (list #{rest 55433}#))
- #{req 55432}#)))
- (let ((#{vars 55437}#
- (map #{gen-var 28285}# #{ids 55436}#)))
- (let ((#{labels 55438}#
- (#{gen-labels 28241}# #{ids 55436}#)))
- (#{build-simple-lambda 28214}#
- #{s 55430}#
- (map syntax->datum #{req 55432}#)
- (if #{rest 55433}#
- (syntax->datum #{rest 55433}#)
- #f)
- #{vars 55437}#
- #{meta 55434}#
- (#{expand-body 28275}#
- #{body 55435}#
- (let ((#{x 55627}#
- (begin
- (if (if (pair? #{e 55427}#) #{s 55430}# #f)
- (set-source-properties! #{e 55427}# #{s 55430}#))
- #{e 55427}#)))
- (if (if (null? (car #{w 55429}#))
- (null? (cdr #{w 55429}#))
- #f)
- #{x 55627}#
- (if (if (vector? #{x 55627}#)
- (if (= (vector-length #{x 55627}#) 4)
- (eq? (vector-ref #{x 55627}# 0) 'syntax-object)
- #f)
- #f)
- (let ((#{expression 55659}# (vector-ref #{x 55627}# 1))
- (#{wrap 55660}#
- (let ((#{w2 55668}# (vector-ref #{x 55627}# 2)))
- (let ((#{m1 55669}# (car #{w 55429}#))
- (#{s1 55670}# (cdr #{w 55429}#)))
- (if (null? #{m1 55669}#)
- (if (null? #{s1 55670}#)
- #{w2 55668}#
- (cons (car #{w2 55668}#)
- (let ((#{m2 55685}#
- (cdr #{w2 55668}#)))
- (if (null? #{m2 55685}#)
- #{s1 55670}#
- (append
- #{s1 55670}#
- #{m2 55685}#)))))
- (cons (let ((#{m2 55693}#
- (car #{w2 55668}#)))
- (if (null? #{m2 55693}#)
- #{m1 55669}#
- (append
- #{m1 55669}#
- #{m2 55693}#)))
- (let ((#{m2 55701}#
- (cdr #{w2 55668}#)))
- (if (null? #{m2 55701}#)
- #{s1 55670}#
- (append
- #{s1 55670}#
- #{m2 55701}#))))))))
- (#{module 55661}# (vector-ref #{x 55627}# 3)))
- (vector
- 'syntax-object
- #{expression 55659}#
- #{wrap 55660}#
- #{module 55661}#))
- (if (null? #{x 55627}#)
- #{x 55627}#
- (vector
- 'syntax-object
- #{x 55627}#
- #{w 55429}#
- #{mod 55431}#)))))
- (#{extend-var-env 28234}#
- #{labels 55438}#
- #{vars 55437}#
- #{r 55428}#)
- (#{make-binding-wrap 28252}#
- #{ids 55436}#
- #{labels 55438}#
- #{w 55429}#)
- #{mod 55431}#)))))))
- (#{lambda*-formals 28282}#
- (lambda (#{orig-args 55932}#)
- (letrec*
- ((#{req 55933}#
- (lambda (#{args 55940}# #{rreq 55941}#)
- (let ((#{tmp 55943}# ($sc-dispatch #{args 55940}# '())))
- (if #{tmp 55943}#
- (@apply
- (lambda ()
- (#{check 55937}#
- (reverse #{rreq 55941}#)
- '()
- #f
- '()))
- #{tmp 55943}#)
- (let ((#{tmp 56062}#
- ($sc-dispatch #{args 55940}# '(any . any))))
- (if (if #{tmp 56062}#
- (@apply
- (lambda (#{a 56066}# #{b 56067}#)
- (if (symbol? #{a 56066}#)
- #t
- (if (if (vector? #{a 56066}#)
- (if (= (vector-length #{a 56066}#) 4)
- (eq? (vector-ref #{a 56066}# 0)
- 'syntax-object)
- #f)
- #f)
- (symbol? (vector-ref #{a 56066}# 1))
- #f)))
- #{tmp 56062}#)
- #f)
- (@apply
- (lambda (#{a 56094}# #{b 56095}#)
- (#{req 55933}#
- #{b 56095}#
- (cons #{a 56094}# #{rreq 55941}#)))
- #{tmp 56062}#)
- (let ((#{tmp 56096}#
- ($sc-dispatch #{args 55940}# '(any . any))))
- (if (if #{tmp 56096}#
- (@apply
- (lambda (#{a 56100}# #{b 56101}#)
- (eq? (syntax->datum #{a 56100}#) #:optional))
- #{tmp 56096}#)
- #f)
- (@apply
- (lambda (#{a 56102}# #{b 56103}#)
- (#{opt 55934}#
- #{b 56103}#
- (reverse #{rreq 55941}#)
- '()))
- #{tmp 56096}#)
- (let ((#{tmp 56106}#
- ($sc-dispatch #{args 55940}# '(any . any))))
- (if (if #{tmp 56106}#
- (@apply
- (lambda (#{a 56110}# #{b 56111}#)
- (eq? (syntax->datum #{a 56110}#) #:key))
- #{tmp 56106}#)
- #f)
- (@apply
- (lambda (#{a 56112}# #{b 56113}#)
- (#{key 55935}#
- #{b 56113}#
- (reverse #{rreq 55941}#)
- '()
- '()))
- #{tmp 56106}#)
- (let ((#{tmp 56116}#
- ($sc-dispatch
- #{args 55940}#
- '(any any))))
- (if (if #{tmp 56116}#
- (@apply
- (lambda (#{a 56120}# #{b 56121}#)
- (eq? (syntax->datum #{a 56120}#)
- #:rest))
- #{tmp 56116}#)
- #f)
- (@apply
- (lambda (#{a 56122}# #{b 56123}#)
- (#{rest 55936}#
- #{b 56123}#
- (reverse #{rreq 55941}#)
- '()
- '()))
- #{tmp 56116}#)
- (let ((#{tmp 56126}# (list #{args 55940}#)))
- (if (@apply
- (lambda (#{r 56128}#)
- (if (symbol? #{r 56128}#)
- #t
- (if (if (vector? #{r 56128}#)
- (if (= (vector-length
- #{r 56128}#)
- 4)
- (eq? (vector-ref
- #{r 56128}#
- 0)
- 'syntax-object)
- #f)
- #f)
- (symbol?
- (vector-ref #{r 56128}# 1))
- #f)))
- #{tmp 56126}#)
- (@apply
- (lambda (#{r 56158}#)
- (#{rest 55936}#
- #{r 56158}#
- (reverse #{rreq 55941}#)
- '()
- '()))
- #{tmp 56126}#)
- (syntax-violation
- 'lambda*
- "invalid argument list"
- #{orig-args 55932}#
- #{args 55940}#)))))))))))))))
- (#{opt 55934}#
- (lambda (#{args 56177}# #{req 56178}# #{ropt 56179}#)
- (let ((#{tmp 56181}# ($sc-dispatch #{args 56177}# '())))
- (if #{tmp 56181}#
- (@apply
- (lambda ()
- (#{check 55937}#
- #{req 56178}#
- (reverse #{ropt 56179}#)
- #f
- '()))
- #{tmp 56181}#)
- (let ((#{tmp 56302}#
- ($sc-dispatch #{args 56177}# '(any . any))))
- (if (if #{tmp 56302}#
- (@apply
- (lambda (#{a 56306}# #{b 56307}#)
- (if (symbol? #{a 56306}#)
- #t
- (if (if (vector? #{a 56306}#)
- (if (= (vector-length #{a 56306}#) 4)
- (eq? (vector-ref #{a 56306}# 0)
- 'syntax-object)
- #f)
- #f)
- (symbol? (vector-ref #{a 56306}# 1))
- #f)))
- #{tmp 56302}#)
- #f)
- (@apply
- (lambda (#{a 56334}# #{b 56335}#)
- (#{opt 55934}#
- #{b 56335}#
- #{req 56178}#
- (cons (cons #{a 56334}#
- '(#(syntax-object
- #f
- ((top)
- #(ribcage
- #(a b)
- #((top) (top))
- #("i26305" "i26306"))
- #(ribcage () () ())
- #(ribcage
- #(args req ropt)
- #((top) (top) (top))
- #("i26295" "i26296" "i26297"))
- #(ribcage
- (check rest key opt req)
- ((top) (top) (top) (top) (top))
- ("i26241"
- "i26239"
- "i26237"
- "i26235"
- "i26233"))
- #(ribcage
- #(orig-args)
- #((top))
- #("i26232"))
- #(ribcage
- (lambda-var-list
- gen-var
- strip
- expand-lambda-case
- lambda*-formals
- expand-simple-lambda
- lambda-formals
- ellipsis?
- expand-void
- eval-local-transformer
- expand-local-syntax
- expand-body
- expand-macro
- expand-call
- expand-expr
- expand
- syntax-type
- parse-when-list
- expand-install-global
- expand-top-sequence
- expand-sequence
- source-wrap
- wrap
- bound-id-member?
- distinct-bound-ids?
- valid-bound-ids?
- bound-id=?
- free-id=?
- resolve-identifier
- id-var-name
- same-marks?
- join-marks
- join-wraps
- smart-append
- make-binding-wrap
- extend-ribcage!
- make-empty-ribcage
- new-mark
- anti-mark
- the-anti-mark
- top-marked?
- top-wrap
- empty-wrap
- set-ribcage-labels!
- set-ribcage-marks!
- set-ribcage-symnames!
- ribcage-labels
- ribcage-marks
- ribcage-symnames
- ribcage?
- make-ribcage
- gen-labels
- gen-label
- make-rename
- rename-marks
- rename-new
- rename-old
- subst-rename?
- wrap-subst
- wrap-marks
- make-wrap
- id-sym-name&marks
- id-sym-name
- id?
- nonsymbol-id?
- global-extend
- macros-only-env
- extend-var-env
- extend-env
- null-env
- binding-value
- binding-type
- make-binding
- arg-check
- source-annotation
- no-source
- set-syntax-object-module!
- set-syntax-object-wrap!
- set-syntax-object-expression!
- syntax-object-module
- syntax-object-wrap
- syntax-object-expression
- syntax-object?
- make-syntax-object
- build-lexical-var
- build-letrec
- build-named-let
- build-let
- build-sequence
- build-data
- build-primref
- build-primcall
- build-lambda-case
- build-case-lambda
- build-simple-lambda
- build-global-definition
- build-global-assignment
- build-global-reference
- analyze-variable
- build-lexical-assignment
- build-lexical-reference
- build-dynlet
- build-conditional
- build-call
- build-void
- maybe-name-value!
- decorate-source
- get-global-definition-hook
- put-global-definition-hook
- gensym-hook
- local-eval-hook
- top-level-eval-hook
- fx<
- fx=
- fx-
- fx+
- set-lambda-meta!
- lambda-meta
- lambda?
- make-dynlet
- make-letrec
- make-let
- make-lambda-case
- make-lambda
- make-seq
- make-primcall
- make-call
- make-conditional
- make-toplevel-define
- make-toplevel-set
- make-toplevel-ref
- make-module-set
- make-module-ref
- make-lexical-set
- make-lexical-ref
- make-primitive-ref
- make-const
- make-void)
- ((top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top))
- ("i24298"
- "i24296"
- "i24294"
- "i24292"
- "i24290"
- "i24288"
- "i24286"
- "i24284"
- "i24282"
- "i24280"
- "i24278"
- "i24276"
- "i24274"
- "i24272"
- "i24270"
- "i24268"
- "i24266"
- "i24264"
- "i24262"
- "i24260"
- "i24258"
- "i24256"
- "i24254"
- "i24252"
- "i24250"
- "i24248"
- "i24246"
- "i24244"
- "i24242"
- "i24240"
- "i24238"
- "i24236"
- "i24234"
- "i24232"
- "i24230"
- "i24228"
- "i24227"
- "i24225"
- "i24222"
- "i24221"
- "i24220"
- "i24218"
- "i24217"
- "i24215"
- "i24213"
- "i24211"
- "i24209"
- "i24207"
- "i24205"
- "i24203"
- "i24201"
- "i24198"
- "i24196"
- "i24195"
- "i24193"
- "i24191"
- "i24189"
- "i24187"
- "i24186"
- "i24185"
- "i24184"
- "i24182"
- "i24181"
- "i24178"
- "i24176"
- "i24174"
- "i24172"
- "i24170"
- "i24168"
- "i24167"
- "i24166"
- "i24164"
- "i24162"
- "i24161"
- "i24158"
- "i24157"
- "i24155"
- "i24153"
- "i24151"
- "i24149"
- "i24147"
- "i24145"
- "i24143"
- "i24141"
- "i24139"
- "i24136"
- "i24134"
- "i24132"
- "i24130"
- "i24128"
- "i24126"
- "i24124"
- "i24122"
- "i24120"
- "i24118"
- "i24116"
- "i24114"
- "i24112"
- "i24110"
- "i24108"
- "i24106"
- "i24104"
- "i24102"
- "i24100"
- "i24098"
- "i24096"
- "i24094"
- "i24092"
- "i24090"
- "i24089"
- "i24086"
- "i24084"
- "i24083"
- "i24082"
- "i24081"
- "i24080"
- "i24078"
- "i24076"
- "i24074"
- "i24071"
- "i24069"
- "i24067"
- "i24065"
- "i24063"
- "i24061"
- "i24059"
- "i24057"
- "i24055"
- "i24053"
- "i24051"
- "i24049"
- "i24047"
- "i24045"
- "i24043"
- "i24041"
- "i24039"
- "i24037"
- "i24035"))
- #(ribcage
- (define-structure
- define-expansion-accessors
- define-expansion-constructors)
- ((top) (top) (top))
- ("i23873" "i23872" "i23871"))
- #(ribcage () () ()))
- (hygiene guile))))
- #{ropt 56179}#)))
- #{tmp 56302}#)
- (let ((#{tmp 56336}#
- ($sc-dispatch
- #{args 56177}#
- '((any any) . any))))
- (if (if #{tmp 56336}#
- (@apply
- (lambda (#{a 56340}#
- #{init 56341}#
- #{b 56342}#)
- (if (symbol? #{a 56340}#)
- #t
- (if (if (vector? #{a 56340}#)
- (if (= (vector-length #{a 56340}#) 4)
- (eq? (vector-ref #{a 56340}# 0)
- 'syntax-object)
- #f)
- #f)
- (symbol? (vector-ref #{a 56340}# 1))
- #f)))
- #{tmp 56336}#)
- #f)
- (@apply
- (lambda (#{a 56369}# #{init 56370}# #{b 56371}#)
- (#{opt 55934}#
- #{b 56371}#
- #{req 56178}#
- (cons (list #{a 56369}# #{init 56370}#)
- #{ropt 56179}#)))
- #{tmp 56336}#)
- (let ((#{tmp 56372}#
- ($sc-dispatch #{args 56177}# '(any . any))))
- (if (if #{tmp 56372}#
- (@apply
- (lambda (#{a 56376}# #{b 56377}#)
- (eq? (syntax->datum #{a 56376}#) #:key))
- #{tmp 56372}#)
- #f)
- (@apply
- (lambda (#{a 56378}# #{b 56379}#)
- (#{key 55935}#
- #{b 56379}#
- #{req 56178}#
- (reverse #{ropt 56179}#)
- '()))
- #{tmp 56372}#)
- (let ((#{tmp 56382}#
- ($sc-dispatch
- #{args 56177}#
- '(any any))))
- (if (if #{tmp 56382}#
- (@apply
- (lambda (#{a 56386}# #{b 56387}#)
- (eq? (syntax->datum #{a 56386}#)
- #:rest))
- #{tmp 56382}#)
- #f)
- (@apply
- (lambda (#{a 56388}# #{b 56389}#)
- (#{rest 55936}#
- #{b 56389}#
- #{req 56178}#
- (reverse #{ropt 56179}#)
- '()))
- #{tmp 56382}#)
- (let ((#{tmp 56392}# (list #{args 56177}#)))
- (if (@apply
- (lambda (#{r 56394}#)
- (if (symbol? #{r 56394}#)
- #t
- (if (if (vector? #{r 56394}#)
- (if (= (vector-length
- #{r 56394}#)
- 4)
- (eq? (vector-ref
- #{r 56394}#
- 0)
- 'syntax-object)
- #f)
- #f)
- (symbol?
- (vector-ref #{r 56394}# 1))
- #f)))
- #{tmp 56392}#)
- (@apply
- (lambda (#{r 56424}#)
- (#{rest 55936}#
- #{r 56424}#
- #{req 56178}#
- (reverse #{ropt 56179}#)
- '()))
- #{tmp 56392}#)
- (syntax-violation
- 'lambda*
- "invalid optional argument list"
- #{orig-args 55932}#
- #{args 56177}#)))))))))))))))
- (#{key 55935}#
- (lambda (#{args 56443}#
- #{req 56444}#
- #{opt 56445}#
- #{rkey 56446}#)
- (let ((#{tmp 56448}# ($sc-dispatch #{args 56443}# '())))
- (if #{tmp 56448}#
- (@apply
- (lambda ()
- (#{check 55937}#
- #{req 56444}#
- #{opt 56445}#
- #f
- (cons #f (reverse #{rkey 56446}#))))
- #{tmp 56448}#)
- (let ((#{tmp 56570}#
- ($sc-dispatch #{args 56443}# '(any . any))))
- (if (if #{tmp 56570}#
- (@apply
- (lambda (#{a 56574}# #{b 56575}#)
- (if (symbol? #{a 56574}#)
- #t
- (if (if (vector? #{a 56574}#)
- (if (= (vector-length #{a 56574}#) 4)
- (eq? (vector-ref #{a 56574}# 0)
- 'syntax-object)
- #f)
- #f)
- (symbol? (vector-ref #{a 56574}# 1))
- #f)))
- #{tmp 56570}#)
- #f)
- (@apply
- (lambda (#{a 56602}# #{b 56603}#)
- (let ((#{tmp 56604}#
- (symbol->keyword
- (syntax->datum #{a 56602}#))))
- (#{key 55935}#
- #{b 56603}#
- #{req 56444}#
- #{opt 56445}#
- (cons (cons #{tmp 56604}#
- (cons #{a 56602}#
- '(#(syntax-object
- #f
- ((top)
- #(ribcage () () ())
- #(ribcage
- #(k)
- #((top))
- #("i26368"))
- #(ribcage
- #(a b)
- #((top) (top))
- #("i26362" "i26363"))
- #(ribcage () () ())
- #(ribcage
- #(args req opt rkey)
- #((top)
- (top)
- (top)
- (top))
- #("i26351"
- "i26352"
- "i26353"
- "i26354"))
- #(ribcage
- (check rest key opt req)
- ((top)
- (top)
- (top)
- (top)
- (top))
- ("i26241"
- "i26239"
- "i26237"
- "i26235"
- "i26233"))
- #(ribcage
- #(orig-args)
- #((top))
- #("i26232"))
- #(ribcage
- (lambda-var-list
- gen-var
- strip
- expand-lambda-case
- lambda*-formals
- expand-simple-lambda
- lambda-formals
- ellipsis?
- expand-void
- eval-local-transformer
- expand-local-syntax
- expand-body
- expand-macro
- expand-call
- expand-expr
- expand
- syntax-type
- parse-when-list
- expand-install-global
- expand-top-sequence
- expand-sequence
- source-wrap
- wrap
- bound-id-member?
- distinct-bound-ids?
- valid-bound-ids?
- bound-id=?
- free-id=?
- resolve-identifier
- id-var-name
- same-marks?
- join-marks
- join-wraps
- smart-append
- make-binding-wrap
- extend-ribcage!
- make-empty-ribcage
- new-mark
- anti-mark
- the-anti-mark
- top-marked?
- top-wrap
- empty-wrap
- set-ribcage-labels!
- set-ribcage-marks!
- set-ribcage-symnames!
- ribcage-labels
- ribcage-marks
- ribcage-symnames
- ribcage?
- make-ribcage
- gen-labels
- gen-label
- make-rename
- rename-marks
- rename-new
- rename-old
- subst-rename?
- wrap-subst
- wrap-marks
- make-wrap
- id-sym-name&marks
- id-sym-name
- id?
- nonsymbol-id?
- global-extend
- macros-only-env
- extend-var-env
- extend-env
- null-env
- binding-value
- binding-type
- make-binding
- arg-check
- source-annotation
- no-source
-
set-syntax-object-module!
-
set-syntax-object-wrap!
-
set-syntax-object-expression!
- syntax-object-module
- syntax-object-wrap
-
syntax-object-expression
- syntax-object?
- make-syntax-object
- build-lexical-var
- build-letrec
- build-named-let
- build-let
- build-sequence
- build-data
- build-primref
- build-primcall
- build-lambda-case
- build-case-lambda
- build-simple-lambda
-
build-global-definition
-
build-global-assignment
- build-global-reference
- analyze-variable
-
build-lexical-assignment
-
build-lexical-reference
- build-dynlet
- build-conditional
- build-call
- build-void
- maybe-name-value!
- decorate-source
-
get-global-definition-hook
-
put-global-definition-hook
- gensym-hook
- local-eval-hook
- top-level-eval-hook
- fx<
- fx=
- fx-
- fx+
- set-lambda-meta!
- lambda-meta
- lambda?
- make-dynlet
- make-letrec
- make-let
- make-lambda-case
- make-lambda
- make-seq
- make-primcall
- make-call
- make-conditional
- make-toplevel-define
- make-toplevel-set
- make-toplevel-ref
- make-module-set
- make-module-ref
- make-lexical-set
- make-lexical-ref
- make-primitive-ref
- make-const
- make-void)
- ((top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top))
- ("i24298"
- "i24296"
- "i24294"
- "i24292"
- "i24290"
- "i24288"
- "i24286"
- "i24284"
- "i24282"
- "i24280"
- "i24278"
- "i24276"
- "i24274"
- "i24272"
- "i24270"
- "i24268"
- "i24266"
- "i24264"
- "i24262"
- "i24260"
- "i24258"
- "i24256"
- "i24254"
- "i24252"
- "i24250"
- "i24248"
- "i24246"
- "i24244"
- "i24242"
- "i24240"
- "i24238"
- "i24236"
- "i24234"
- "i24232"
- "i24230"
- "i24228"
- "i24227"
- "i24225"
- "i24222"
- "i24221"
- "i24220"
- "i24218"
- "i24217"
- "i24215"
- "i24213"
- "i24211"
- "i24209"
- "i24207"
- "i24205"
- "i24203"
- "i24201"
- "i24198"
- "i24196"
- "i24195"
- "i24193"
- "i24191"
- "i24189"
- "i24187"
- "i24186"
- "i24185"
- "i24184"
- "i24182"
- "i24181"
- "i24178"
- "i24176"
- "i24174"
- "i24172"
- "i24170"
- "i24168"
- "i24167"
- "i24166"
- "i24164"
- "i24162"
- "i24161"
- "i24158"
- "i24157"
- "i24155"
- "i24153"
- "i24151"
- "i24149"
- "i24147"
- "i24145"
- "i24143"
- "i24141"
- "i24139"
- "i24136"
- "i24134"
- "i24132"
- "i24130"
- "i24128"
- "i24126"
- "i24124"
- "i24122"
- "i24120"
- "i24118"
- "i24116"
- "i24114"
- "i24112"
- "i24110"
- "i24108"
- "i24106"
- "i24104"
- "i24102"
- "i24100"
- "i24098"
- "i24096"
- "i24094"
- "i24092"
- "i24090"
- "i24089"
- "i24086"
- "i24084"
- "i24083"
- "i24082"
- "i24081"
- "i24080"
- "i24078"
- "i24076"
- "i24074"
- "i24071"
- "i24069"
- "i24067"
- "i24065"
- "i24063"
- "i24061"
- "i24059"
- "i24057"
- "i24055"
- "i24053"
- "i24051"
- "i24049"
- "i24047"
- "i24045"
- "i24043"
- "i24041"
- "i24039"
- "i24037"
- "i24035"))
- #(ribcage
- (define-structure
-
define-expansion-accessors
-
define-expansion-constructors)
- ((top) (top) (top))
- ("i23873"
- "i23872"
- "i23871"))
- #(ribcage () () ()))
- (hygiene guile)))))
- #{rkey 56446}#))))
- #{tmp 56570}#)
- (let ((#{tmp 56607}#
- ($sc-dispatch
- #{args 56443}#
- '((any any) . any))))
- (if (if #{tmp 56607}#
- (@apply
- (lambda (#{a 56611}#
- #{init 56612}#
- #{b 56613}#)
- (if (symbol? #{a 56611}#)
- #t
- (if (if (vector? #{a 56611}#)
- (if (= (vector-length #{a 56611}#) 4)
- (eq? (vector-ref #{a 56611}# 0)
- 'syntax-object)
- #f)
- #f)
- (symbol? (vector-ref #{a 56611}# 1))
- #f)))
- #{tmp 56607}#)
- #f)
- (@apply
- (lambda (#{a 56640}# #{init 56641}# #{b 56642}#)
- (let ((#{tmp 56643}#
- (symbol->keyword
- (syntax->datum #{a 56640}#))))
- (#{key 55935}#
- #{b 56642}#
- #{req 56444}#
- #{opt 56445}#
- (cons (list #{tmp 56643}#
- #{a 56640}#
- #{init 56641}#)
- #{rkey 56446}#))))
- #{tmp 56607}#)
- (let ((#{tmp 56646}#
- ($sc-dispatch
- #{args 56443}#
- '((any any any) . any))))
- (if (if #{tmp 56646}#
- (@apply
- (lambda (#{a 56650}#
- #{init 56651}#
- #{k 56652}#
- #{b 56653}#)
- (if (if (symbol? #{a 56650}#)
- #t
- (if (if (vector? #{a 56650}#)
- (if (= (vector-length
- #{a 56650}#)
- 4)
- (eq? (vector-ref
- #{a 56650}#
- 0)
- 'syntax-object)
- #f)
- #f)
- (symbol?
- (vector-ref #{a 56650}# 1))
- #f))
- (keyword? (syntax->datum #{k 56652}#))
- #f))
- #{tmp 56646}#)
- #f)
- (@apply
- (lambda (#{a 56680}#
- #{init 56681}#
- #{k 56682}#
- #{b 56683}#)
- (#{key 55935}#
- #{b 56683}#
- #{req 56444}#
- #{opt 56445}#
- (cons (list #{k 56682}#
- #{a 56680}#
- #{init 56681}#)
- #{rkey 56446}#)))
- #{tmp 56646}#)
- (let ((#{tmp 56684}#
- ($sc-dispatch #{args 56443}# '(any))))
- (if (if #{tmp 56684}#
- (@apply
- (lambda (#{aok 56688}#)
- (eq? (syntax->datum #{aok 56688}#)
- #:allow-other-keys))
- #{tmp 56684}#)
- #f)
- (@apply
- (lambda (#{aok 56689}#)
- (#{check 55937}#
- #{req 56444}#
- #{opt 56445}#
- #f
- (cons #t (reverse #{rkey 56446}#))))
- #{tmp 56684}#)
- (let ((#{tmp 56808}#
- ($sc-dispatch
- #{args 56443}#
- '(any any any))))
- (if (if #{tmp 56808}#
- (@apply
- (lambda (#{aok 56812}#
- #{a 56813}#
- #{b 56814}#)
- (if (eq? (syntax->datum
- #{aok 56812}#)
- #:allow-other-keys)
- (eq? (syntax->datum
- #{a 56813}#)
- #:rest)
- #f))
- #{tmp 56808}#)
- #f)
- (@apply
- (lambda (#{aok 56815}#
- #{a 56816}#
- #{b 56817}#)
- (#{rest 55936}#
- #{b 56817}#
- #{req 56444}#
- #{opt 56445}#
- (cons #t
- (reverse #{rkey 56446}#))))
- #{tmp 56808}#)
- (let ((#{tmp 56820}#
- ($sc-dispatch
- #{args 56443}#
- '(any . any))))
- (if (if #{tmp 56820}#
- (@apply
- (lambda (#{aok 56824}#
- #{r 56825}#)
- (if (eq? (syntax->datum
- #{aok 56824}#)
- #:allow-other-keys)
- (if (symbol? #{r 56825}#)
- #t
- (if (if (vector?
- #{r 56825}#)
- (if (=
(vector-length
- #{r
56825}#)
- 4)
- (eq? (vector-ref
- #{r
56825}#
- 0)
-
'syntax-object)
- #f)
- #f)
- (symbol?
- (vector-ref
- #{r 56825}#
- 1))
- #f))
- #f))
- #{tmp 56820}#)
- #f)
- (@apply
- (lambda (#{aok 56852}# #{r 56853}#)
- (#{rest 55936}#
- #{r 56853}#
- #{req 56444}#
- #{opt 56445}#
- (cons #t
- (reverse
- #{rkey 56446}#))))
- #{tmp 56820}#)
- (let ((#{tmp 56856}#
- ($sc-dispatch
- #{args 56443}#
- '(any any))))
- (if (if #{tmp 56856}#
- (@apply
- (lambda (#{a 56860}#
- #{b 56861}#)
- (eq? (syntax->datum
- #{a 56860}#)
- #:rest))
- #{tmp 56856}#)
- #f)
- (@apply
- (lambda (#{a 56862}#
- #{b 56863}#)
- (#{rest 55936}#
- #{b 56863}#
- #{req 56444}#
- #{opt 56445}#
- (cons #f
- (reverse
- #{rkey 56446}#))))
- #{tmp 56856}#)
- (let ((#{tmp 56866}#
- (list #{args 56443}#)))
- (if (@apply
- (lambda (#{r 56868}#)
- (if (symbol?
- #{r 56868}#)
- #t
- (if (if (vector?
- #{r
56868}#)
- (if (=
(vector-length
- #{r
56868}#)
- 4)
- (eq?
(vector-ref
- #{r
56868}#
- 0)
-
'syntax-object)
- #f)
- #f)
- (symbol?
- (vector-ref
- #{r 56868}#
- 1))
- #f)))
- #{tmp 56866}#)
- (@apply
- (lambda (#{r 56898}#)
- (#{rest 55936}#
- #{r 56898}#
- #{req 56444}#
- #{opt 56445}#
- (cons #f
- (reverse
- #{rkey
56446}#))))
- #{tmp 56866}#)
- (syntax-violation
- 'lambda*
- "invalid keyword argument
list"
- #{orig-args 55932}#
- #{args
56443}#)))))))))))))))))))))
- (#{rest 55936}#
- (lambda (#{args 56926}#
- #{req 56927}#
- #{opt 56928}#
- #{kw 56929}#)
- (let ((#{tmp 56931}# (list #{args 56926}#)))
- (if (@apply
- (lambda (#{r 56933}#)
- (if (symbol? #{r 56933}#)
- #t
- (if (if (vector? #{r 56933}#)
- (if (= (vector-length #{r 56933}#) 4)
- (eq? (vector-ref #{r 56933}# 0)
- 'syntax-object)
- #f)
- #f)
- (symbol? (vector-ref #{r 56933}# 1))
- #f)))
- #{tmp 56931}#)
- (@apply
- (lambda (#{r 56963}#)
- (#{check 55937}#
- #{req 56927}#
- #{opt 56928}#
- #{r 56963}#
- #{kw 56929}#))
- #{tmp 56931}#)
- (syntax-violation
- 'lambda*
- "invalid rest argument"
- #{orig-args 55932}#
- #{args 56926}#)))))
- (#{check 55937}#
- (lambda (#{req 57091}#
- #{opt 57092}#
- #{rest 57093}#
- #{kw 57094}#)
- (if (#{distinct-bound-ids? 28262}#
- (append
- #{req 57091}#
- (map car #{opt 57092}#)
- (if #{rest 57093}# (list #{rest 57093}#) '())
- (if (pair? #{kw 57094}#)
- (map cadr (cdr #{kw 57094}#))
- '())))
- (values
- #{req 57091}#
- #{opt 57092}#
- #{rest 57093}#
- #{kw 57094}#)
- (syntax-violation
- 'lambda*
- "duplicate identifier in argument list"
- #{orig-args 55932}#)))))
- (#{req 55933}# #{orig-args 55932}# '()))))
- (#{expand-lambda-case 28283}#
- (lambda (#{e 57203}#
- #{r 57204}#
- #{w 57205}#
- #{s 57206}#
- #{mod 57207}#
- #{get-formals 57208}#
- #{clauses 57209}#)
- (letrec*
- ((#{parse-req 57210}#
- (lambda (#{req 57345}#
- #{opt 57346}#
- #{rest 57347}#
- #{kw 57348}#
- #{body 57349}#)
- (let ((#{vars 57350}#
- (map #{gen-var 28285}# #{req 57345}#))
- (#{labels 57351}#
- (#{gen-labels 28241}# #{req 57345}#)))
- (let ((#{r* 57352}#
- (#{extend-var-env 28234}#
- #{labels 57351}#
- #{vars 57350}#
- #{r 57204}#))
- (#{w* 57353}#
- (#{make-binding-wrap 28252}#
- #{req 57345}#
- #{labels 57351}#
- #{w 57205}#)))
- (#{parse-opt 57211}#
- (map syntax->datum #{req 57345}#)
- #{opt 57346}#
- #{rest 57347}#
- #{kw 57348}#
- #{body 57349}#
- (reverse #{vars 57350}#)
- #{r* 57352}#
- #{w* 57353}#
- '()
- '())))))
- (#{parse-opt 57211}#
- (lambda (#{req 57587}#
- #{opt 57588}#
- #{rest 57589}#
- #{kw 57590}#
- #{body 57591}#
- #{vars 57592}#
- #{r* 57593}#
- #{w* 57594}#
- #{out 57595}#
- #{inits 57596}#)
- (if (pair? #{opt 57588}#)
- (let ((#{tmp 57597}# (car #{opt 57588}#)))
- (let ((#{tmp 57598}#
- ($sc-dispatch #{tmp 57597}# '(any any))))
- (if #{tmp 57598}#
- (@apply
- (lambda (#{id 57600}# #{i 57601}#)
- (let ((#{v 57602}#
- (let ((#{id 57610}#
- (if (if (vector? #{id 57600}#)
- (if (= (vector-length
- #{id 57600}#)
- 4)
- (eq? (vector-ref
- #{id 57600}#
- 0)
- 'syntax-object)
- #f)
- #f)
- (vector-ref #{id 57600}# 1)
- #{id 57600}#)))
- (gensym
- (string-append
- (symbol->string #{id 57610}#)
- " ")))))
- (let ((#{l 57603}#
- (#{gen-labels 28241}# (list #{v 57602}#))))
- (let ((#{r** 57604}#
- (#{extend-var-env 28234}#
- #{l 57603}#
- (list #{v 57602}#)
- #{r* 57593}#)))
- (let ((#{w** 57605}#
- (#{make-binding-wrap 28252}#
- (list #{id 57600}#)
- #{l 57603}#
- #{w* 57594}#)))
- (#{parse-opt 57211}#
- #{req 57587}#
- (cdr #{opt 57588}#)
- #{rest 57589}#
- #{kw 57590}#
- #{body 57591}#
- (cons #{v 57602}# #{vars 57592}#)
- #{r** 57604}#
- #{w** 57605}#
- (cons (syntax->datum #{id 57600}#)
- #{out 57595}#)
- (cons (#{expand 28271}#
- #{i 57601}#
- #{r* 57593}#
- #{w* 57594}#
- #{mod 57207}#)
- #{inits 57596}#)))))))
- #{tmp 57598}#)
- (syntax-violation
- #f
- "source expression failed to match any pattern"
- #{tmp 57597}#))))
- (if #{rest 57589}#
- (let ((#{v 57904}#
- (let ((#{id 57914}#
- (if (if (vector? #{rest 57589}#)
- (if (= (vector-length #{rest 57589}#)
- 4)
- (eq? (vector-ref #{rest 57589}# 0)
- 'syntax-object)
- #f)
- #f)
- (vector-ref #{rest 57589}# 1)
- #{rest 57589}#)))
- (gensym
- (string-append
- (symbol->string #{id 57914}#)
- " ")))))
- (let ((#{l 57905}#
- (#{gen-labels 28241}# (list #{v 57904}#))))
- (let ((#{r* 57906}#
- (#{extend-var-env 28234}#
- #{l 57905}#
- (list #{v 57904}#)
- #{r* 57593}#)))
- (let ((#{w* 57907}#
- (#{make-binding-wrap 28252}#
- (list #{rest 57589}#)
- #{l 57905}#
- #{w* 57594}#)))
- (#{parse-kw 57212}#
- #{req 57587}#
- (if (pair? #{out 57595}#)
- (reverse #{out 57595}#)
- #f)
- (syntax->datum #{rest 57589}#)
- (if (pair? #{kw 57590}#)
- (cdr #{kw 57590}#)
- #{kw 57590}#)
- #{body 57591}#
- (cons #{v 57904}# #{vars 57592}#)
- #{r* 57906}#
- #{w* 57907}#
- (if (pair? #{kw 57590}#) (car #{kw 57590}#) #f)
- '()
- #{inits 57596}#)))))
- (#{parse-kw 57212}#
- #{req 57587}#
- (if (pair? #{out 57595}#)
- (reverse #{out 57595}#)
- #f)
- #f
- (if (pair? #{kw 57590}#)
- (cdr #{kw 57590}#)
- #{kw 57590}#)
- #{body 57591}#
- #{vars 57592}#
- #{r* 57593}#
- #{w* 57594}#
- (if (pair? #{kw 57590}#) (car #{kw 57590}#) #f)
- '()
- #{inits 57596}#)))))
- (#{parse-kw 57212}#
- (lambda (#{req 58133}#
- #{opt 58134}#
- #{rest 58135}#
- #{kw 58136}#
- #{body 58137}#
- #{vars 58138}#
- #{r* 58139}#
- #{w* 58140}#
- #{aok 58141}#
- #{out 58142}#
- #{inits 58143}#)
- (if (pair? #{kw 58136}#)
- (let ((#{tmp 58144}# (car #{kw 58136}#)))
- (let ((#{tmp 58145}#
- ($sc-dispatch #{tmp 58144}# '(any any any))))
- (if #{tmp 58145}#
- (@apply
- (lambda (#{k 58147}# #{id 58148}# #{i 58149}#)
- (let ((#{v 58150}#
- (let ((#{id 58158}#
- (if (if (vector? #{id 58148}#)
- (if (= (vector-length
- #{id 58148}#)
- 4)
- (eq? (vector-ref
- #{id 58148}#
- 0)
- 'syntax-object)
- #f)
- #f)
- (vector-ref #{id 58148}# 1)
- #{id 58148}#)))
- (gensym
- (string-append
- (symbol->string #{id 58158}#)
- " ")))))
- (let ((#{l 58151}#
- (#{gen-labels 28241}# (list #{v 58150}#))))
- (let ((#{r** 58152}#
- (#{extend-var-env 28234}#
- #{l 58151}#
- (list #{v 58150}#)
- #{r* 58139}#)))
- (let ((#{w** 58153}#
- (#{make-binding-wrap 28252}#
- (list #{id 58148}#)
- #{l 58151}#
- #{w* 58140}#)))
- (#{parse-kw 57212}#
- #{req 58133}#
- #{opt 58134}#
- #{rest 58135}#
- (cdr #{kw 58136}#)
- #{body 58137}#
- (cons #{v 58150}# #{vars 58138}#)
- #{r** 58152}#
- #{w** 58153}#
- #{aok 58141}#
- (cons (list (syntax->datum #{k 58147}#)
- (syntax->datum #{id 58148}#)
- #{v 58150}#)
- #{out 58142}#)
- (cons (#{expand 28271}#
- #{i 58149}#
- #{r* 58139}#
- #{w* 58140}#
- #{mod 57207}#)
- #{inits 58143}#)))))))
- #{tmp 58145}#)
- (syntax-violation
- #f
- "source expression failed to match any pattern"
- #{tmp 58144}#))))
- (#{parse-body 57213}#
- #{req 58133}#
- #{opt 58134}#
- #{rest 58135}#
- (if (if #{aok 58141}#
- #{aok 58141}#
- (pair? #{out 58142}#))
- (cons #{aok 58141}# (reverse #{out 58142}#))
- #f)
- #{body 58137}#
- (reverse #{vars 58138}#)
- #{r* 58139}#
- #{w* 58140}#
- (reverse #{inits 58143}#)
- '()))))
- (#{parse-body 57213}#
- (lambda (#{req 58461}#
- #{opt 58462}#
- #{rest 58463}#
- #{kw 58464}#
- #{body 58465}#
- #{vars 58466}#
- #{r* 58467}#
- #{w* 58468}#
- #{inits 58469}#
- #{meta 58470}#)
- (let ((#{tmp 58472}#
- ($sc-dispatch
- #{body 58465}#
- '(any any . each-any))))
- (if (if #{tmp 58472}#
- (@apply
- (lambda (#{docstring 58476}# #{e1 58477}# #{e2 58478}#)
- (string? (syntax->datum #{docstring 58476}#)))
- #{tmp 58472}#)
- #f)
- (@apply
- (lambda (#{docstring 58479}# #{e1 58480}# #{e2 58481}#)
- (#{parse-body 57213}#
- #{req 58461}#
- #{opt 58462}#
- #{rest 58463}#
- #{kw 58464}#
- (cons #{e1 58480}# #{e2 58481}#)
- #{vars 58466}#
- #{r* 58467}#
- #{w* 58468}#
- #{inits 58469}#
- (append
- #{meta 58470}#
- (list (cons 'documentation
- (syntax->datum #{docstring 58479}#))))))
- #{tmp 58472}#)
- (let ((#{tmp 58482}#
- ($sc-dispatch
- #{body 58465}#
- '(#(vector #(each (any . any))) any . each-any))))
- (if #{tmp 58482}#
- (@apply
- (lambda (#{k 58486}#
- #{v 58487}#
- #{e1 58488}#
- #{e2 58489}#)
- (#{parse-body 57213}#
- #{req 58461}#
- #{opt 58462}#
- #{rest 58463}#
- #{kw 58464}#
- (cons #{e1 58488}# #{e2 58489}#)
- #{vars 58466}#
- #{r* 58467}#
- #{w* 58468}#
- #{inits 58469}#
- (append
- #{meta 58470}#
- (syntax->datum
- (map cons #{k 58486}# #{v 58487}#)))))
- #{tmp 58482}#)
- (let ((#{tmp 58490}#
- ($sc-dispatch #{body 58465}# '(any . each-any))))
- (if #{tmp 58490}#
- (@apply
- (lambda (#{e1 58494}# #{e2 58495}#)
- (values
- #{meta 58470}#
- #{req 58461}#
- #{opt 58462}#
- #{rest 58463}#
- #{kw 58464}#
- #{inits 58469}#
- #{vars 58466}#
- (#{expand-body 28275}#
- (cons #{e1 58494}# #{e2 58495}#)
- (let ((#{x 58507}#
- (begin
- (if (if (pair? #{e 57203}#)
- #{s 57206}#
- #f)
- (set-source-properties!
- #{e 57203}#
- #{s 57206}#))
- #{e 57203}#)))
- (if (if (null? (car #{w 57205}#))
- (null? (cdr #{w 57205}#))
- #f)
- #{x 58507}#
- (if (if (vector? #{x 58507}#)
- (if (= (vector-length #{x 58507}#)
- 4)
- (eq? (vector-ref #{x 58507}# 0)
- 'syntax-object)
- #f)
- #f)
- (let ((#{expression 58539}#
- (vector-ref #{x 58507}# 1))
- (#{wrap 58540}#
- (let ((#{w2 58548}#
- (vector-ref
- #{x 58507}#
- 2)))
- (let ((#{m1 58549}#
- (car #{w 57205}#))
- (#{s1 58550}#
- (cdr #{w 57205}#)))
- (if (null? #{m1 58549}#)
- (if (null? #{s1 58550}#)
- #{w2 58548}#
- (cons (car #{w2
58548}#)
- (let ((#{m2
58565}#
- (cdr
#{w2 58548}#)))
- (if (null?
#{m2 58565}#)
- #{s1 58550}#
- (append
- #{s1
58550}#
- #{m2
58565}#)))))
- (cons (let ((#{m2 58573}#
- (car #{w2
58548}#)))
- (if (null? #{m2
58573}#)
- #{m1 58549}#
- (append
- #{m1 58549}#
- #{m2
58573}#)))
- (let ((#{m2 58581}#
- (cdr #{w2
58548}#)))
- (if (null? #{m2
58581}#)
- #{s1 58550}#
- (append
- #{s1 58550}#
- #{m2
58581}#))))))))
- (#{module 58541}#
- (vector-ref #{x 58507}# 3)))
- (vector
- 'syntax-object
- #{expression 58539}#
- #{wrap 58540}#
- #{module 58541}#))
- (if (null? #{x 58507}#)
- #{x 58507}#
- (vector
- 'syntax-object
- #{x 58507}#
- #{w 57205}#
- #{mod 57207}#)))))
- #{r* 58467}#
- #{w* 58468}#
- #{mod 57207}#)))
- #{tmp 58490}#)
- (syntax-violation
- #f
- "source expression failed to match any pattern"
- #{body 58465}#))))))))))
- (let ((#{tmp 57215}#
- ($sc-dispatch #{clauses 57209}# '())))
- (if #{tmp 57215}#
- (@apply
- (lambda () (values '() #f))
- #{tmp 57215}#)
- (let ((#{tmp 57219}#
- ($sc-dispatch
- #{clauses 57209}#
- '((any any . each-any)
- .
- #(each (any any . each-any))))))
- (if #{tmp 57219}#
- (@apply
- (lambda (#{args 57223}#
- #{e1 57224}#
- #{e2 57225}#
- #{args* 57226}#
- #{e1* 57227}#
- #{e2* 57228}#)
- (call-with-values
- (lambda ()
- (#{get-formals 57208}# #{args 57223}#))
- (lambda (#{req 57229}#
- #{opt 57230}#
- #{rest 57231}#
- #{kw 57232}#)
- (call-with-values
- (lambda ()
- (#{parse-req 57210}#
- #{req 57229}#
- #{opt 57230}#
- #{rest 57231}#
- #{kw 57232}#
- (cons #{e1 57224}# #{e2 57225}#)))
- (lambda (#{meta 57301}#
- #{req 57302}#
- #{opt 57303}#
- #{rest 57304}#
- #{kw 57305}#
- #{inits 57306}#
- #{vars 57307}#
- #{body 57308}#)
- (call-with-values
- (lambda ()
- (#{expand-lambda-case 28283}#
- #{e 57203}#
- #{r 57204}#
- #{w 57205}#
- #{s 57206}#
- #{mod 57207}#
- #{get-formals 57208}#
- (map (lambda (#{tmp 26711 57309}#
- #{tmp 26710 57310}#
- #{tmp 26709 57311}#)
- (cons #{tmp 26709 57311}#
- (cons #{tmp 26710 57310}#
- #{tmp 26711 57309}#)))
- #{e2* 57228}#
- #{e1* 57227}#
- #{args* 57226}#)))
- (lambda (#{meta* 57312}# #{else* 57313}#)
- (values
- (append #{meta 57301}# #{meta* 57312}#)
- (make-struct/no-tail
- (vector-ref %expanded-vtables 15)
- #{s 57206}#
- #{req 57302}#
- #{opt 57303}#
- #{rest 57304}#
- #{kw 57305}#
- #{inits 57306}#
- #{vars 57307}#
- #{body 57308}#
- #{else* 57313}#)))))))))
- #{tmp 57219}#)
- (syntax-violation
- #f
- "source expression failed to match any pattern"
- #{clauses 57209}#))))))))
- (#{strip 28284}#
- (lambda (#{x 58608}# #{w 58609}#)
- (if (memq 'top (car #{w 58609}#))
- #{x 58608}#
- (letrec*
- ((#{f 58610}#
- (lambda (#{x 58613}#)
- (if (if (vector? #{x 58613}#)
- (if (= (vector-length #{x 58613}#) 4)
- (eq? (vector-ref #{x 58613}# 0) 'syntax-object)
- #f)
- #f)
- (#{strip 28284}#
- (vector-ref #{x 58613}# 1)
- (vector-ref #{x 58613}# 2))
- (if (pair? #{x 58613}#)
- (let ((#{a 58632}# (#{f 58610}# (car #{x 58613}#)))
- (#{d 58633}# (#{f 58610}# (cdr #{x 58613}#))))
- (if (if (eq? #{a 58632}# (car #{x 58613}#))
- (eq? #{d 58633}# (cdr #{x 58613}#))
- #f)
- #{x 58613}#
- (cons #{a 58632}# #{d 58633}#)))
- (if (vector? #{x 58613}#)
- (let ((#{old 58636}# (vector->list #{x 58613}#)))
- (let ((#{new 58637}# (map #{f 58610}# #{old 58636}#)))
- (letrec*
- ((#{lp 58638}#
- (lambda (#{l1 58735}# #{l2 58736}#)
- (if (null? #{l1 58735}#)
- #{x 58613}#
- (if (eq? (car #{l1 58735}#)
- (car #{l2 58736}#))
- (#{lp 58638}#
- (cdr #{l1 58735}#)
- (cdr #{l2 58736}#))
- (list->vector #{new 58637}#))))))
- (#{lp 58638}# #{old 58636}# #{new 58637}#))))
- #{x 58613}#))))))
- (#{f 58610}# #{x 58608}#)))))
- (#{gen-var 28285}#
- (lambda (#{id 57357}#)
- (let ((#{id 57358}#
- (if (if (vector? #{id 57357}#)
- (if (= (vector-length #{id 57357}#) 4)
- (eq? (vector-ref #{id 57357}# 0) 'syntax-object)
- #f)
- #f)
- (vector-ref #{id 57357}# 1)
- #{id 57357}#)))
- (gensym
- (string-append (symbol->string #{id 57358}#) " ")))))
- (#{lambda-var-list 28286}#
- (lambda (#{vars 58737}#)
- (letrec*
- ((#{lvl 58738}#
- (lambda (#{vars 58741}# #{ls 58742}# #{w 58743}#)
- (if (pair? #{vars 58741}#)
- (#{lvl 58738}#
- (cdr #{vars 58741}#)
- (cons (let ((#{x 58747}# (car #{vars 58741}#)))
- (if (if (null? (car #{w 58743}#))
- (null? (cdr #{w 58743}#))
- #f)
- #{x 58747}#
- (if (if (vector? #{x 58747}#)
- (if (= (vector-length #{x 58747}#) 4)
- (eq? (vector-ref #{x 58747}# 0)
- 'syntax-object)
- #f)
- #f)
- (let ((#{expression 58765}#
- (vector-ref #{x 58747}# 1))
- (#{wrap 58766}#
- (let ((#{w2 58774}#
- (vector-ref #{x 58747}# 2)))
- (let ((#{m1 58775}# (car #{w 58743}#))
- (#{s1 58776}# (cdr #{w 58743}#)))
- (if (null? #{m1 58775}#)
- (if (null? #{s1 58776}#)
- #{w2 58774}#
- (cons (car #{w2 58774}#)
- (let ((#{m2 58791}#
- (cdr #{w2
58774}#)))
- (if (null? #{m2 58791}#)
- #{s1 58776}#
- (append
- #{s1 58776}#
- #{m2 58791}#)))))
- (cons (let ((#{m2 58799}#
- (car #{w2 58774}#)))
- (if (null? #{m2 58799}#)
- #{m1 58775}#
- (append
- #{m1 58775}#
- #{m2 58799}#)))
- (let ((#{m2 58807}#
- (cdr #{w2 58774}#)))
- (if (null? #{m2 58807}#)
- #{s1 58776}#
- (append
- #{s1 58776}#
- #{m2 58807}#))))))))
- (#{module 58767}#
- (vector-ref #{x 58747}# 3)))
- (vector
- 'syntax-object
- #{expression 58765}#
- #{wrap 58766}#
- #{module 58767}#))
- (if (null? #{x 58747}#)
- #{x 58747}#
- (vector
- 'syntax-object
- #{x 58747}#
- #{w 58743}#
- #f)))))
- #{ls 58742}#)
- #{w 58743}#)
- (if (if (symbol? #{vars 58741}#)
- #t
- (if (if (vector? #{vars 58741}#)
- (if (= (vector-length #{vars 58741}#) 4)
- (eq? (vector-ref #{vars 58741}# 0)
- 'syntax-object)
- #f)
- #f)
- (symbol? (vector-ref #{vars 58741}# 1))
- #f))
- (cons (if (if (null? (car #{w 58743}#))
- (null? (cdr #{w 58743}#))
- #f)
- #{vars 58741}#
- (if (if (vector? #{vars 58741}#)
- (if (= (vector-length #{vars 58741}#) 4)
- (eq? (vector-ref #{vars 58741}# 0)
- 'syntax-object)
- #f)
- #f)
- (let ((#{expression 58877}#
- (vector-ref #{vars 58741}# 1))
- (#{wrap 58878}#
- (let ((#{w2 58888}#
- (vector-ref #{vars 58741}# 2)))
- (let ((#{m1 58889}# (car #{w 58743}#))
- (#{s1 58890}# (cdr #{w 58743}#)))
- (if (null? #{m1 58889}#)
- (if (null? #{s1 58890}#)
- #{w2 58888}#
- (cons (car #{w2 58888}#)
- (let ((#{m2 58907}#
- (cdr #{w2 58888}#)))
- (if (null? #{m2 58907}#)
- #{s1 58890}#
- (append
- #{s1 58890}#
- #{m2 58907}#)))))
- (cons (let ((#{m2 58915}#
- (car #{w2 58888}#)))
- (if (null? #{m2 58915}#)
- #{m1 58889}#
- (append
- #{m1 58889}#
- #{m2 58915}#)))
- (let ((#{m2 58923}#
- (cdr #{w2 58888}#)))
- (if (null? #{m2 58923}#)
- #{s1 58890}#
- (append
- #{s1 58890}#
- #{m2 58923}#))))))))
- (#{module 58879}#
- (vector-ref #{vars 58741}# 3)))
- (vector
- 'syntax-object
- #{expression 58877}#
- #{wrap 58878}#
- #{module 58879}#))
- (if (null? #{vars 58741}#)
- #{vars 58741}#
- (vector
- 'syntax-object
- #{vars 58741}#
- #{w 58743}#
- #f))))
- #{ls 58742}#)
- (if (null? #{vars 58741}#)
- #{ls 58742}#
- (if (if (vector? #{vars 58741}#)
- (if (= (vector-length #{vars 58741}#) 4)
- (eq? (vector-ref #{vars 58741}# 0)
- 'syntax-object)
- #f)
- #f)
- (#{lvl 58738}#
- (vector-ref #{vars 58741}# 1)
- #{ls 58742}#
- (let ((#{w2 58964}# (vector-ref #{vars 58741}# 2)))
- (let ((#{m1 58965}# (car #{w 58743}#))
- (#{s1 58966}# (cdr #{w 58743}#)))
- (if (null? #{m1 58965}#)
- (if (null? #{s1 58966}#)
- #{w2 58964}#
- (cons (car #{w2 58964}#)
- (let ((#{m2 58977}# (cdr #{w2 58964}#)))
- (if (null? #{m2 58977}#)
- #{s1 58966}#
- (append
- #{s1 58966}#
- #{m2 58977}#)))))
- (cons (let ((#{m2 58985}# (car #{w2 58964}#)))
- (if (null? #{m2 58985}#)
- #{m1 58965}#
- (append #{m1 58965}# #{m2 58985}#)))
- (let ((#{m2 58993}# (cdr #{w2 58964}#)))
- (if (null? #{m2 58993}#)
- #{s1 58966}#
- (append
- #{s1 58966}#
- #{m2 58993}#))))))))
- (cons #{vars 58741}# #{ls 58742}#))))))))
- (#{lvl 58738}# #{vars 58737}# '() '(()))))))
- (begin
- (module-define!
- (current-module)
- 'letrec-syntax
- (make-syntax-transformer
- 'letrec-syntax
- 'local-syntax
- #t))
- (module-define!
- (current-module)
- 'let-syntax
- (make-syntax-transformer
- 'let-syntax
- 'local-syntax
- #f))
- (#{global-extend 28236}#
- 'core
- 'syntax-parameterize
- (lambda (#{e 28413}#
- #{r 28414}#
- #{w 28415}#
- #{s 28416}#
- #{mod 28417}#)
- (let ((#{tmp 28419}#
- ($sc-dispatch
- #{e 28413}#
- '(_ #(each (any any)) any . each-any))))
- (if (if #{tmp 28419}#
- (@apply
- (lambda (#{var 28423}#
- #{val 28424}#
- #{e1 28425}#
- #{e2 28426}#)
- (#{valid-bound-ids? 28261}# #{var 28423}#))
- #{tmp 28419}#)
- #f)
- (@apply
- (lambda (#{var 28511}#
- #{val 28512}#
- #{e1 28513}#
- #{e2 28514}#)
- (let ((#{names 28515}#
- (map (lambda (#{x 28855}#)
- (call-with-values
- (lambda ()
- (#{resolve-identifier 28258}#
- #{x 28855}#
- #{w 28415}#
- #{r 28414}#
- #{mod 28417}#
- #f))
- (lambda (#{type 28858}#
- #{value 28859}#
- #{mod 28860}#)
- (if (eqv? #{type 28858}# 'displaced-lexical)
- (syntax-violation
- 'syntax-parameterize
- "identifier out of context"
- #{e 28413}#
- (let ((#{x 28873}#
- (begin
- (if (if (pair? #{x 28855}#)
- #{s 28416}#
- #f)
- (set-source-properties!
- #{x 28855}#
- #{s 28416}#))
- #{x 28855}#)))
- (if (if (null? (car #{w 28415}#))
- (null? (cdr #{w 28415}#))
- #f)
- #{x 28873}#
- (if (if (vector? #{x 28873}#)
- (if (= (vector-length
- #{x 28873}#)
- 4)
- (eq? (vector-ref
- #{x 28873}#
- 0)
- 'syntax-object)
- #f)
- #f)
- (let ((#{expression 28905}#
- (vector-ref
- #{x 28873}#
- 1))
- (#{wrap 28906}#
- (let ((#{w2 28914}#
- (vector-ref
- #{x 28873}#
- 2)))
- (let ((#{m1 28915}#
- (car #{w
28415}#))
- (#{s1 28916}#
- (cdr #{w
28415}#)))
- (if (null? #{m1
28915}#)
- (if (null? #{s1
28916}#)
- #{w2 28914}#
- (cons (car #{w2
28914}#)
- (let ((#{m2
28931}#
-
(cdr #{w2 28914}#)))
- (if
(null? #{m2 28931}#)
- #{s1
28916}#
- (append
- #{s1
28916}#
- #{m2
28931}#)))))
- (cons (let ((#{m2
28939}#
- (car
#{w2 28914}#)))
- (if (null?
#{m2 28939}#)
- #{m1
28915}#
- (append
- #{m1
28915}#
- #{m2
28939}#)))
- (let ((#{m2
28947}#
- (cdr
#{w2 28914}#)))
- (if (null?
#{m2 28947}#)
- #{s1
28916}#
- (append
- #{s1
28916}#
- #{m2
28947}#))))))))
- (#{module 28907}#
- (vector-ref
- #{x 28873}#
- 3)))
- (vector
- 'syntax-object
- #{expression 28905}#
- #{wrap 28906}#
- #{module 28907}#))
- (if (null? #{x 28873}#)
- #{x 28873}#
- (vector
- 'syntax-object
- #{x 28873}#
- #{w 28415}#
- #{mod 28860}#))))))
- (if (eqv? #{type 28858}#
- 'syntax-parameter)
- #{value 28859}#
- (syntax-violation
- 'syntax-parameterize
- "invalid syntax parameter"
- #{e 28413}#
- (let ((#{x 28974}#
- (begin
- (if (if (pair? #{x 28855}#)
- #{s 28416}#
- #f)
- (set-source-properties!
- #{x 28855}#
- #{s 28416}#))
- #{x 28855}#)))
- (if (if (null? (car #{w 28415}#))
- (null? (cdr #{w 28415}#))
- #f)
- #{x 28974}#
- (if (if (vector? #{x 28974}#)
- (if (= (vector-length
- #{x 28974}#)
- 4)
- (eq? (vector-ref
- #{x 28974}#
- 0)
- 'syntax-object)
- #f)
- #f)
- (let ((#{expression 29006}#
- (vector-ref
- #{x 28974}#
- 1))
- (#{wrap 29007}#
- (let ((#{w2 29015}#
- (vector-ref
- #{x 28974}#
- 2)))
- (let ((#{m1 29016}#
- (car #{w
28415}#))
- (#{s1 29017}#
- (cdr #{w
28415}#)))
- (if (null? #{m1
29016}#)
- (if (null? #{s1
29017}#)
- #{w2 29015}#
- (cons (car #{w2
29015}#)
- (let
((#{m2 29032}#
-
(cdr #{w2 29015}#)))
- (if
(null? #{m2 29032}#)
- #{s1
29017}#
-
(append
-
#{s1 29017}#
-
#{m2 29032}#)))))
- (cons (let ((#{m2
29040}#
-
(car #{w2 29015}#)))
- (if
(null? #{m2 29040}#)
- #{m1
29016}#
- (append
- #{m1
29016}#
- #{m2
29040}#)))
- (let ((#{m2
29048}#
-
(cdr #{w2 29015}#)))
- (if
(null? #{m2 29048}#)
- #{s1
29017}#
- (append
- #{s1
29017}#
- #{m2
29048}#))))))))
- (#{module 29008}#
- (vector-ref
- #{x 28974}#
- 3)))
- (vector
- 'syntax-object
- #{expression 29006}#
- #{wrap 29007}#
- #{module 29008}#))
- (if (null? #{x 28974}#)
- #{x 28974}#
- (vector
- 'syntax-object
- #{x 28974}#
- #{w 28415}#
- #{mod 28860}#)))))))))))
- #{var 28511}#))
- (#{bindings 28516}#
- (let ((#{trans-r 29063}#
- (#{macros-only-env 28235}# #{r 28414}#)))
- (map (lambda (#{x 29064}#)
- (cons 'macro
- (#{eval-local-transformer 28277}#
- (#{expand 28271}#
- #{x 29064}#
- #{trans-r 29063}#
- #{w 28415}#
- #{mod 28417}#)
- #{mod 28417}#)))
- #{val 28512}#))))
- (#{expand-body 28275}#
- (cons #{e1 28513}# #{e2 28514}#)
- (let ((#{x 28528}#
- (begin
- (if (if (pair? #{e 28413}#) #{s 28416}# #f)
- (set-source-properties!
- #{e 28413}#
- #{s 28416}#))
- #{e 28413}#)))
- (if (if (null? (car #{w 28415}#))
- (null? (cdr #{w 28415}#))
- #f)
- #{x 28528}#
- (if (if (vector? #{x 28528}#)
- (if (= (vector-length #{x 28528}#) 4)
- (eq? (vector-ref #{x 28528}# 0) 'syntax-object)
- #f)
- #f)
- (let ((#{expression 28560}#
- (vector-ref #{x 28528}# 1))
- (#{wrap 28561}#
- (let ((#{w2 28569}#
- (vector-ref #{x 28528}# 2)))
- (let ((#{m1 28570}# (car #{w 28415}#))
- (#{s1 28571}# (cdr #{w 28415}#)))
- (if (null? #{m1 28570}#)
- (if (null? #{s1 28571}#)
- #{w2 28569}#
- (cons (car #{w2 28569}#)
- (let ((#{m2 28586}#
- (cdr #{w2 28569}#)))
- (if (null? #{m2 28586}#)
- #{s1 28571}#
- (append
- #{s1 28571}#
- #{m2 28586}#)))))
- (cons (let ((#{m2 28594}#
- (car #{w2 28569}#)))
- (if (null? #{m2 28594}#)
- #{m1 28570}#
- (append
- #{m1 28570}#
- #{m2 28594}#)))
- (let ((#{m2 28602}#
- (cdr #{w2 28569}#)))
- (if (null? #{m2 28602}#)
- #{s1 28571}#
- (append
- #{s1 28571}#
- #{m2 28602}#))))))))
- (#{module 28562}# (vector-ref #{x 28528}# 3)))
- (vector
- 'syntax-object
- #{expression 28560}#
- #{wrap 28561}#
- #{module 28562}#))
- (if (null? #{x 28528}#)
- #{x 28528}#
- (vector
- 'syntax-object
- #{x 28528}#
- #{w 28415}#
- #{mod 28417}#)))))
- (#{extend-env 28233}#
- #{names 28515}#
- #{bindings 28516}#
- #{r 28414}#)
- #{w 28415}#
- #{mod 28417}#)))
- #{tmp 28419}#)
- (syntax-violation
- 'syntax-parameterize
- "bad syntax"
- (let ((#{x 29284}#
- (begin
- (if (if (pair? #{e 28413}#) #{s 28416}# #f)
- (set-source-properties! #{e 28413}# #{s 28416}#))
- #{e 28413}#)))
- (if (if (null? (car #{w 28415}#))
- (null? (cdr #{w 28415}#))
- #f)
- #{x 29284}#
- (if (if (vector? #{x 29284}#)
- (if (= (vector-length #{x 29284}#) 4)
- (eq? (vector-ref #{x 29284}# 0) 'syntax-object)
- #f)
- #f)
- (let ((#{expression 29316}# (vector-ref #{x 29284}# 1))
- (#{wrap 29317}#
- (let ((#{w2 29325}# (vector-ref #{x 29284}# 2)))
- (let ((#{m1 29326}# (car #{w 28415}#))
- (#{s1 29327}# (cdr #{w 28415}#)))
- (if (null? #{m1 29326}#)
- (if (null? #{s1 29327}#)
- #{w2 29325}#
- (cons (car #{w2 29325}#)
- (let ((#{m2 29342}#
- (cdr #{w2 29325}#)))
- (if (null? #{m2 29342}#)
- #{s1 29327}#
- (append
- #{s1 29327}#
- #{m2 29342}#)))))
- (cons (let ((#{m2 29350}#
- (car #{w2 29325}#)))
- (if (null? #{m2 29350}#)
- #{m1 29326}#
- (append
- #{m1 29326}#
- #{m2 29350}#)))
- (let ((#{m2 29358}#
- (cdr #{w2 29325}#)))
- (if (null? #{m2 29358}#)
- #{s1 29327}#
- (append
- #{s1 29327}#
- #{m2 29358}#))))))))
- (#{module 29318}# (vector-ref #{x 29284}# 3)))
- (vector
- 'syntax-object
- #{expression 29316}#
- #{wrap 29317}#
- #{module 29318}#))
- (if (null? #{x 29284}#)
- #{x 29284}#
- (vector
- 'syntax-object
- #{x 29284}#
- #{w 28415}#
- #{mod 28417}#))))))))))
- (module-define!
- (current-module)
- 'quote
- (make-syntax-transformer
- 'quote
- 'core
- (lambda (#{e 29386}#
- #{r 29387}#
- #{w 29388}#
- #{s 29389}#
- #{mod 29390}#)
- (let ((#{tmp 29392}#
- ($sc-dispatch #{e 29386}# '(_ any))))
- (if #{tmp 29392}#
- (@apply
- (lambda (#{e 29395}#)
- (let ((#{exp 29399}#
- (#{strip 28284}# #{e 29395}# #{w 29388}#)))
- (make-struct/no-tail
- (vector-ref %expanded-vtables 1)
- #{s 29389}#
- #{exp 29399}#)))
- #{tmp 29392}#)
- (syntax-violation
- 'quote
- "bad syntax"
- (let ((#{x 29413}#
- (begin
- (if (if (pair? #{e 29386}#) #{s 29389}# #f)
- (set-source-properties! #{e 29386}# #{s 29389}#))
- #{e 29386}#)))
- (if (if (null? (car #{w 29388}#))
- (null? (cdr #{w 29388}#))
- #f)
- #{x 29413}#
- (if (if (vector? #{x 29413}#)
- (if (= (vector-length #{x 29413}#) 4)
- (eq? (vector-ref #{x 29413}# 0) 'syntax-object)
- #f)
- #f)
- (let ((#{expression 29445}# (vector-ref #{x 29413}# 1))
- (#{wrap 29446}#
- (let ((#{w2 29454}# (vector-ref #{x 29413}# 2)))
- (let ((#{m1 29455}# (car #{w 29388}#))
- (#{s1 29456}# (cdr #{w 29388}#)))
- (if (null? #{m1 29455}#)
- (if (null? #{s1 29456}#)
- #{w2 29454}#
- (cons (car #{w2 29454}#)
- (let ((#{m2 29471}#
- (cdr #{w2 29454}#)))
- (if (null? #{m2 29471}#)
- #{s1 29456}#
- (append
- #{s1 29456}#
- #{m2 29471}#)))))
- (cons (let ((#{m2 29479}#
- (car #{w2 29454}#)))
- (if (null? #{m2 29479}#)
- #{m1 29455}#
- (append
- #{m1 29455}#
- #{m2 29479}#)))
- (let ((#{m2 29487}#
- (cdr #{w2 29454}#)))
- (if (null? #{m2 29487}#)
- #{s1 29456}#
- (append
- #{s1 29456}#
- #{m2 29487}#))))))))
- (#{module 29447}# (vector-ref #{x 29413}# 3)))
- (vector
- 'syntax-object
- #{expression 29445}#
- #{wrap 29446}#
- #{module 29447}#))
- (if (null? #{x 29413}#)
- #{x 29413}#
- (vector
- 'syntax-object
- #{x 29413}#
- #{w 29388}#
- #{mod 29390}#)))))))))))
- (#{global-extend 28236}#
- 'core
- 'syntax
- (letrec*
- ((#{gen-syntax 29705}#
- (lambda (#{src 30136}#
- #{e 30137}#
- #{r 30138}#
- #{maps 30139}#
- #{ellipsis? 30140}#
- #{mod 30141}#)
- (if (if (symbol? #{e 30137}#)
- #t
- (if (if (vector? #{e 30137}#)
- (if (= (vector-length #{e 30137}#) 4)
- (eq? (vector-ref #{e 30137}# 0) 'syntax-object)
- #f)
- #f)
- (symbol? (vector-ref #{e 30137}# 1))
- #f))
- (call-with-values
- (lambda ()
- (#{resolve-identifier 28258}#
- #{e 30137}#
- '(())
- #{r 30138}#
- #{mod 30141}#
- #f))
- (lambda (#{type 30170}# #{value 30171}# #{mod 30172}#)
- (if (eqv? #{type 30170}# 'syntax)
- (call-with-values
- (lambda ()
- (#{gen-ref 29706}#
- #{src 30136}#
- (car #{value 30171}#)
- (cdr #{value 30171}#)
- #{maps 30139}#))
- (lambda (#{var 30178}# #{maps 30179}#)
- (values (list 'ref #{var 30178}#) #{maps 30179}#)))
- (if (#{ellipsis? 30140}# #{e 30137}#)
- (syntax-violation
- 'syntax
- "misplaced ellipsis"
- #{src 30136}#)
- (values (list 'quote #{e 30137}#) #{maps 30139}#)))))
- (let ((#{tmp 30181}#
- ($sc-dispatch #{e 30137}# '(any any))))
- (if (if #{tmp 30181}#
- (@apply
- (lambda (#{dots 30185}# #{e 30186}#)
- (#{ellipsis? 30140}# #{dots 30185}#))
- #{tmp 30181}#)
- #f)
- (@apply
- (lambda (#{dots 30187}# #{e 30188}#)
- (#{gen-syntax 29705}#
- #{src 30136}#
- #{e 30188}#
- #{r 30138}#
- #{maps 30139}#
- (lambda (#{x 30189}#) #f)
- #{mod 30141}#))
- #{tmp 30181}#)
- (let ((#{tmp 30190}#
- ($sc-dispatch #{e 30137}# '(any any . any))))
- (if (if #{tmp 30190}#
- (@apply
- (lambda (#{x 30194}# #{dots 30195}# #{y 30196}#)
- (#{ellipsis? 30140}# #{dots 30195}#))
- #{tmp 30190}#)
- #f)
- (@apply
- (lambda (#{x 30197}# #{dots 30198}# #{y 30199}#)
- (letrec*
- ((#{f 30200}#
- (lambda (#{y 30208}# #{k 30209}#)
- (let ((#{tmp 30211}#
- ($sc-dispatch
- #{y 30208}#
- '(any . any))))
- (if (if #{tmp 30211}#
- (@apply
- (lambda (#{dots 30215}#
- #{y 30216}#)
- (#{ellipsis? 30140}#
- #{dots 30215}#))
- #{tmp 30211}#)
- #f)
- (@apply
- (lambda (#{dots 30217}# #{y 30218}#)
- (#{f 30200}#
- #{y 30218}#
- (lambda (#{maps 30219}#)
- (call-with-values
- (lambda ()
- (#{k 30209}#
- (cons '() #{maps 30219}#)))
- (lambda (#{x 30220}#
- #{maps 30221}#)
- (if (null? (car #{maps
30221}#))
- (syntax-violation
- 'syntax
- "extra ellipsis"
- #{src 30136}#)
- (values
- (let ((#{map-env 30225}#
- (car #{maps
30221}#)))
- (list 'apply
- '(primitive
- append)
- (#{gen-map
29708}#
- #{x 30220}#
- #{map-env
30225}#)))
- (cdr #{maps
30221}#))))))))
- #{tmp 30211}#)
- (call-with-values
- (lambda ()
- (#{gen-syntax 29705}#
- #{src 30136}#
- #{y 30208}#
- #{r 30138}#
- #{maps 30139}#
- #{ellipsis? 30140}#
- #{mod 30141}#))
- (lambda (#{y 30228}# #{maps 30229}#)
- (call-with-values
- (lambda ()
- (#{k 30209}# #{maps 30229}#))
- (lambda (#{x 30230}#
- #{maps 30231}#)
- (values
- (if (equal? #{y 30228}# ''())
- #{x 30230}#
- (list 'append
- #{x 30230}#
- #{y 30228}#))
- #{maps 30231}#))))))))))
- (#{f 30200}#
- #{y 30199}#
- (lambda (#{maps 30203}#)
- (call-with-values
- (lambda ()
- (#{gen-syntax 29705}#
- #{src 30136}#
- #{x 30197}#
- #{r 30138}#
- (cons '() #{maps 30203}#)
- #{ellipsis? 30140}#
- #{mod 30141}#))
- (lambda (#{x 30204}# #{maps 30205}#)
- (if (null? (car #{maps 30205}#))
- (syntax-violation
- 'syntax
- "extra ellipsis"
- #{src 30136}#)
- (values
- (#{gen-map 29708}#
- #{x 30204}#
- (car #{maps 30205}#))
- (cdr #{maps 30205}#)))))))))
- #{tmp 30190}#)
- (let ((#{tmp 30247}#
- ($sc-dispatch #{e 30137}# '(any . any))))
- (if #{tmp 30247}#
- (@apply
- (lambda (#{x 30251}# #{y 30252}#)
- (call-with-values
- (lambda ()
- (#{gen-syntax 29705}#
- #{src 30136}#
- #{x 30251}#
- #{r 30138}#
- #{maps 30139}#
- #{ellipsis? 30140}#
- #{mod 30141}#))
- (lambda (#{x 30253}# #{maps 30254}#)
- (call-with-values
- (lambda ()
- (#{gen-syntax 29705}#
- #{src 30136}#
- #{y 30252}#
- #{r 30138}#
- #{maps 30254}#
- #{ellipsis? 30140}#
- #{mod 30141}#))
- (lambda (#{y 30255}# #{maps 30256}#)
- (values
- (let ((#{atom-key 30261}#
- (car #{y 30255}#)))
- (if (eqv? #{atom-key 30261}# 'quote)
- (if (eq? (car #{x 30253}#) 'quote)
- (list 'quote
- (cons (car (cdr #{x
30253}#))
- (car (cdr #{y
30255}#))))
- (if (eq? (car (cdr #{y 30255}#))
- '())
- (list 'list #{x 30253}#)
- (list 'cons
- #{x 30253}#
- #{y 30255}#)))
- (if (eqv? #{atom-key 30261}#
- 'list)
- (cons 'list
- (cons #{x 30253}#
- (cdr #{y 30255}#)))
- (list 'cons
- #{x 30253}#
- #{y 30255}#))))
- #{maps 30256}#))))))
- #{tmp 30247}#)
- (let ((#{tmp 30290}#
- ($sc-dispatch
- #{e 30137}#
- '#(vector (any . each-any)))))
- (if #{tmp 30290}#
- (@apply
- (lambda (#{e1 30294}# #{e2 30295}#)
- (call-with-values
- (lambda ()
- (#{gen-syntax 29705}#
- #{src 30136}#
- (cons #{e1 30294}# #{e2 30295}#)
- #{r 30138}#
- #{maps 30139}#
- #{ellipsis? 30140}#
- #{mod 30141}#))
- (lambda (#{e 30296}# #{maps 30297}#)
- (values
- (if (eq? (car #{e 30296}#) 'list)
- (cons 'vector (cdr #{e 30296}#))
- (if (eq? (car #{e 30296}#) 'quote)
- (list 'quote
- (list->vector
- (car (cdr #{e 30296}#))))
- (list 'list->vector #{e 30296}#)))
- #{maps 30297}#))))
- #{tmp 30290}#)
- (values
- (list 'quote #{e 30137}#)
- #{maps 30139}#))))))))))))
- (#{gen-ref 29706}#
- (lambda (#{src 30324}#
- #{var 30325}#
- #{level 30326}#
- #{maps 30327}#)
- (if (= #{level 30326}# 0)
- (values #{var 30325}# #{maps 30327}#)
- (if (null? #{maps 30327}#)
- (syntax-violation
- 'syntax
- "missing ellipsis"
- #{src 30324}#)
- (call-with-values
- (lambda ()
- (#{gen-ref 29706}#
- #{src 30324}#
- #{var 30325}#
- (#{1-}# #{level 30326}#)
- (cdr #{maps 30327}#)))
- (lambda (#{outer-var 30328}# #{outer-maps 30329}#)
- (let ((#{b 30330}#
- (assq #{outer-var 30328}# (car #{maps 30327}#))))
- (if #{b 30330}#
- (values (cdr #{b 30330}#) #{maps 30327}#)
- (let ((#{inner-var 30332}#
- (gensym
- (string-append (symbol->string 'tmp) " "))))
- (values
- #{inner-var 30332}#
- (cons (cons (cons #{outer-var 30328}#
- #{inner-var 30332}#)
- (car #{maps 30327}#))
- #{outer-maps 30329}#)))))))))))
- (#{gen-map 29708}#
- (lambda (#{e 30346}# #{map-env 30347}#)
- (let ((#{formals 30348}# (map cdr #{map-env 30347}#))
- (#{actuals 30349}#
- (map (lambda (#{x 30351}#)
- (list 'ref (car #{x 30351}#)))
- #{map-env 30347}#)))
- (if (eq? (car #{e 30346}#) 'ref)
- (car #{actuals 30349}#)
- (if (and-map
- (lambda (#{x 30352}#)
- (if (eq? (car #{x 30352}#) 'ref)
- (memq (car (cdr #{x 30352}#)) #{formals 30348}#)
- #f))
- (cdr #{e 30346}#))
- (cons 'map
- (cons (list 'primitive (car #{e 30346}#))
- (map (let ((#{r 30354}#
- (map cons
- #{formals 30348}#
- #{actuals 30349}#)))
- (lambda (#{x 30355}#)
- (cdr (assq (car (cdr #{x 30355}#))
- #{r 30354}#))))
- (cdr #{e 30346}#))))
- (cons 'map
- (cons (list 'lambda #{formals 30348}# #{e 30346}#)
- #{actuals 30349}#)))))))
- (#{regen 29712}#
- (lambda (#{x 30357}#)
- (let ((#{atom-key 30358}# (car #{x 30357}#)))
- (if (eqv? #{atom-key 30358}# 'ref)
- (let ((#{name 30368}# (car (cdr #{x 30357}#)))
- (#{var 30369}# (car (cdr #{x 30357}#))))
- (make-struct/no-tail
- (vector-ref %expanded-vtables 3)
- #f
- #{name 30368}#
- #{var 30369}#))
- (if (eqv? #{atom-key 30358}# 'primitive)
- (let ((#{name 30380}# (car (cdr #{x 30357}#))))
- (make-struct/no-tail
- (vector-ref %expanded-vtables 2)
- #f
- #{name 30380}#))
- (if (eqv? #{atom-key 30358}# 'quote)
- (let ((#{exp 30391}# (car (cdr #{x 30357}#))))
- (make-struct/no-tail
- (vector-ref %expanded-vtables 1)
- #f
- #{exp 30391}#))
- (if (eqv? #{atom-key 30358}# 'lambda)
- (if (list? (car (cdr #{x 30357}#)))
- (let ((#{req 30402}# (car (cdr #{x 30357}#)))
- (#{vars 30404}# (car (cdr #{x 30357}#)))
- (#{exp 30406}#
- (#{regen 29712}#
- (car (cdr (cdr #{x 30357}#))))))
- (let ((#{body 30411}#
- (make-struct/no-tail
- (vector-ref %expanded-vtables 15)
- #f
- #{req 30402}#
- #f
- #f
- #f
- '()
- #{vars 30404}#
- #{exp 30406}#
- #f)))
- (make-struct/no-tail
- (vector-ref %expanded-vtables 14)
- #f
- '()
- #{body 30411}#)))
- (error "how did we get here" #{x 30357}#))
- (let ((#{name 30427}# (car #{x 30357}#))
- (#{args 30428}#
- (map #{regen 29712}# (cdr #{x 30357}#))))
- (make-struct/no-tail
- (vector-ref %expanded-vtables 12)
- #f
- #{name 30427}#
- #{args 30428}#))))))))))
- (lambda (#{e 29713}#
- #{r 29714}#
- #{w 29715}#
- #{s 29716}#
- #{mod 29717}#)
- (let ((#{e 29718}#
- (let ((#{x 30047}#
- (begin
- (if (if (pair? #{e 29713}#) #{s 29716}# #f)
- (set-source-properties! #{e 29713}# #{s 29716}#))
- #{e 29713}#)))
- (if (if (null? (car #{w 29715}#))
- (null? (cdr #{w 29715}#))
- #f)
- #{x 30047}#
- (if (if (vector? #{x 30047}#)
- (if (= (vector-length #{x 30047}#) 4)
- (eq? (vector-ref #{x 30047}# 0) 'syntax-object)
- #f)
- #f)
- (let ((#{expression 30079}# (vector-ref #{x 30047}# 1))
- (#{wrap 30080}#
- (let ((#{w2 30088}#
- (vector-ref #{x 30047}# 2)))
- (let ((#{m1 30089}# (car #{w 29715}#))
- (#{s1 30090}# (cdr #{w 29715}#)))
- (if (null? #{m1 30089}#)
- (if (null? #{s1 30090}#)
- #{w2 30088}#
- (cons (car #{w2 30088}#)
- (let ((#{m2 30105}#
- (cdr #{w2 30088}#)))
- (if (null? #{m2 30105}#)
- #{s1 30090}#
- (append
- #{s1 30090}#
- #{m2 30105}#)))))
- (cons (let ((#{m2 30113}#
- (car #{w2 30088}#)))
- (if (null? #{m2 30113}#)
- #{m1 30089}#
- (append
- #{m1 30089}#
- #{m2 30113}#)))
- (let ((#{m2 30121}#
- (cdr #{w2 30088}#)))
- (if (null? #{m2 30121}#)
- #{s1 30090}#
- (append
- #{s1 30090}#
- #{m2 30121}#))))))))
- (#{module 30081}# (vector-ref #{x 30047}# 3)))
- (vector
- 'syntax-object
- #{expression 30079}#
- #{wrap 30080}#
- #{module 30081}#))
- (if (null? #{x 30047}#)
- #{x 30047}#
- (vector
- 'syntax-object
- #{x 30047}#
- #{w 29715}#
- #{mod 29717}#)))))))
- (let ((#{tmp 29719}# #{e 29718}#))
- (let ((#{tmp 29720}#
- ($sc-dispatch #{tmp 29719}# '(_ any))))
- (if #{tmp 29720}#
- (@apply
- (lambda (#{x 29768}#)
- (call-with-values
- (lambda ()
- (#{gen-syntax 29705}#
- #{e 29718}#
- #{x 29768}#
- #{r 29714}#
- '()
- #{ellipsis? 28279}#
- #{mod 29717}#))
- (lambda (#{e 29845}# #{maps 29846}#)
- (#{regen 29712}# #{e 29845}#))))
- #{tmp 29720}#)
- (syntax-violation
- 'syntax
- "bad `syntax' form"
- #{e 29718}#))))))))
- (#{global-extend 28236}#
- 'core
- 'lambda
- (lambda (#{e 30659}#
- #{r 30660}#
- #{w 30661}#
- #{s 30662}#
- #{mod 30663}#)
- (let ((#{tmp 30665}#
- ($sc-dispatch
- #{e 30659}#
- '(_ any any . each-any))))
- (if #{tmp 30665}#
- (@apply
- (lambda (#{args 30669}# #{e1 30670}# #{e2 30671}#)
- (call-with-values
- (lambda ()
- (#{lambda-formals 28280}# #{args 30669}#))
- (lambda (#{req 30674}#
- #{opt 30675}#
- #{rest 30676}#
- #{kw 30677}#)
- (letrec*
- ((#{lp 30678}#
- (lambda (#{body 30681}# #{meta 30682}#)
- (let ((#{tmp 30684}#
- ($sc-dispatch
- #{body 30681}#
- '(any any . each-any))))
- (if (if #{tmp 30684}#
- (@apply
- (lambda (#{docstring 30688}#
- #{e1 30689}#
- #{e2 30690}#)
- (string?
- (syntax->datum #{docstring 30688}#)))
- #{tmp 30684}#)
- #f)
- (@apply
- (lambda (#{docstring 30691}#
- #{e1 30692}#
- #{e2 30693}#)
- (#{lp 30678}#
- (cons #{e1 30692}# #{e2 30693}#)
- (append
- #{meta 30682}#
- (list (cons 'documentation
- (syntax->datum
- #{docstring 30691}#))))))
- #{tmp 30684}#)
- (let ((#{tmp 30694}#
- ($sc-dispatch
- #{body 30681}#
- '(#(vector #(each (any . any)))
- any
- .
- each-any))))
- (if #{tmp 30694}#
- (@apply
- (lambda (#{k 30698}#
- #{v 30699}#
- #{e1 30700}#
- #{e2 30701}#)
- (#{lp 30678}#
- (cons #{e1 30700}# #{e2 30701}#)
- (append
- #{meta 30682}#
- (syntax->datum
- (map cons
- #{k 30698}#
- #{v 30699}#)))))
- #{tmp 30694}#)
- (#{expand-simple-lambda 28281}#
- #{e 30659}#
- #{r 30660}#
- #{w 30661}#
- #{s 30662}#
- #{mod 30663}#
- #{req 30674}#
- #{rest 30676}#
- #{meta 30682}#
- #{body 30681}#))))))))
- (#{lp 30678}#
- (cons #{e1 30670}# #{e2 30671}#)
- '())))))
- #{tmp 30665}#)
- (syntax-violation
- 'lambda
- "bad lambda"
- #{e 30659}#)))))
- (#{global-extend 28236}#
- 'core
- 'lambda*
- (lambda (#{e 31081}#
- #{r 31082}#
- #{w 31083}#
- #{s 31084}#
- #{mod 31085}#)
- (let ((#{tmp 31087}#
- ($sc-dispatch
- #{e 31081}#
- '(_ any any . each-any))))
- (if #{tmp 31087}#
- (@apply
- (lambda (#{args 31091}# #{e1 31092}# #{e2 31093}#)
- (call-with-values
- (lambda ()
- (#{expand-lambda-case 28283}#
- #{e 31081}#
- #{r 31082}#
- #{w 31083}#
- #{s 31084}#
- #{mod 31085}#
- #{lambda*-formals 28282}#
- (list (cons #{args 31091}#
- (cons #{e1 31092}# #{e2 31093}#)))))
- (lambda (#{meta 31096}# #{lcase 31097}#)
- (make-struct/no-tail
- (vector-ref %expanded-vtables 14)
- #{s 31084}#
- #{meta 31096}#
- #{lcase 31097}#))))
- #{tmp 31087}#)
- (syntax-violation
- 'lambda
- "bad lambda*"
- #{e 31081}#)))))
- (#{global-extend 28236}#
- 'core
- 'case-lambda
- (lambda (#{e 31260}#
- #{r 31261}#
- #{w 31262}#
- #{s 31263}#
- #{mod 31264}#)
- (let ((#{tmp 31266}#
- ($sc-dispatch
- #{e 31260}#
- '(_ (any any . each-any)
- .
- #(each (any any . each-any))))))
- (if #{tmp 31266}#
- (@apply
- (lambda (#{args 31270}#
- #{e1 31271}#
- #{e2 31272}#
- #{args* 31273}#
- #{e1* 31274}#
- #{e2* 31275}#)
- (call-with-values
- (lambda ()
- (#{expand-lambda-case 28283}#
- #{e 31260}#
- #{r 31261}#
- #{w 31262}#
- #{s 31263}#
- #{mod 31264}#
- #{lambda-formals 28280}#
- (cons (cons #{args 31270}#
- (cons #{e1 31271}# #{e2 31272}#))
- (map (lambda (#{tmp 27210 31278}#
- #{tmp 27209 31279}#
- #{tmp 27208 31280}#)
- (cons #{tmp 27208 31280}#
- (cons #{tmp 27209 31279}#
- #{tmp 27210 31278}#)))
- #{e2* 31275}#
- #{e1* 31274}#
- #{args* 31273}#))))
- (lambda (#{meta 31281}# #{lcase 31282}#)
- (make-struct/no-tail
- (vector-ref %expanded-vtables 14)
- #{s 31263}#
- #{meta 31281}#
- #{lcase 31282}#))))
- #{tmp 31266}#)
- (syntax-violation
- 'case-lambda
- "bad case-lambda"
- #{e 31260}#)))))
- (#{global-extend 28236}#
- 'core
- 'case-lambda*
- (lambda (#{e 31451}#
- #{r 31452}#
- #{w 31453}#
- #{s 31454}#
- #{mod 31455}#)
- (let ((#{tmp 31457}#
- ($sc-dispatch
- #{e 31451}#
- '(_ (any any . each-any)
- .
- #(each (any any . each-any))))))
- (if #{tmp 31457}#
- (@apply
- (lambda (#{args 31461}#
- #{e1 31462}#
- #{e2 31463}#
- #{args* 31464}#
- #{e1* 31465}#
- #{e2* 31466}#)
- (call-with-values
- (lambda ()
- (#{expand-lambda-case 28283}#
- #{e 31451}#
- #{r 31452}#
- #{w 31453}#
- #{s 31454}#
- #{mod 31455}#
- #{lambda*-formals 28282}#
- (cons (cons #{args 31461}#
- (cons #{e1 31462}# #{e2 31463}#))
- (map (lambda (#{tmp 27245 31469}#
- #{tmp 27244 31470}#
- #{tmp 27243 31471}#)
- (cons #{tmp 27243 31471}#
- (cons #{tmp 27244 31470}#
- #{tmp 27245 31469}#)))
- #{e2* 31466}#
- #{e1* 31465}#
- #{args* 31464}#))))
- (lambda (#{meta 31472}# #{lcase 31473}#)
- (make-struct/no-tail
- (vector-ref %expanded-vtables 14)
- #{s 31454}#
- #{meta 31472}#
- #{lcase 31473}#))))
- #{tmp 31457}#)
- (syntax-violation
- 'case-lambda
- "bad case-lambda*"
- #{e 31451}#)))))
- (#{global-extend 28236}#
- 'core
- 'let
- (letrec*
- ((#{expand-let 31681}#
- (lambda (#{e 31891}#
- #{r 31892}#
- #{w 31893}#
- #{s 31894}#
- #{mod 31895}#
- #{constructor 31896}#
- #{ids 31897}#
- #{vals 31898}#
- #{exps 31899}#)
- (if (not (#{valid-bound-ids? 28261}# #{ids 31897}#))
- (syntax-violation
- 'let
- "duplicate bound variable"
- #{e 31891}#)
- (let ((#{labels 31984}#
- (#{gen-labels 28241}# #{ids 31897}#))
- (#{new-vars 31985}#
- (map #{gen-var 28285}# #{ids 31897}#)))
- (let ((#{nw 31986}#
- (#{make-binding-wrap 28252}#
- #{ids 31897}#
- #{labels 31984}#
- #{w 31893}#))
- (#{nr 31987}#
- (#{extend-var-env 28234}#
- #{labels 31984}#
- #{new-vars 31985}#
- #{r 31892}#)))
- (#{constructor 31896}#
- #{s 31894}#
- (map syntax->datum #{ids 31897}#)
- #{new-vars 31985}#
- (map (lambda (#{x 32004}#)
- (#{expand 28271}#
- #{x 32004}#
- #{r 31892}#
- #{w 31893}#
- #{mod 31895}#))
- #{vals 31898}#)
- (#{expand-body 28275}#
- #{exps 31899}#
- (#{source-wrap 28265}#
- #{e 31891}#
- #{nw 31986}#
- #{s 31894}#
- #{mod 31895}#)
- #{nr 31987}#
- #{nw 31986}#
- #{mod 31895}#))))))))
- (lambda (#{e 31682}#
- #{r 31683}#
- #{w 31684}#
- #{s 31685}#
- #{mod 31686}#)
- (let ((#{tmp 31688}#
- ($sc-dispatch
- #{e 31682}#
- '(_ #(each (any any)) any . each-any))))
- (if (if #{tmp 31688}#
- (@apply
- (lambda (#{id 31692}#
- #{val 31693}#
- #{e1 31694}#
- #{e2 31695}#)
- (and-map #{id? 28238}# #{id 31692}#))
- #{tmp 31688}#)
- #f)
- (@apply
- (lambda (#{id 31711}#
- #{val 31712}#
- #{e1 31713}#
- #{e2 31714}#)
- (#{expand-let 31681}#
- #{e 31682}#
- #{r 31683}#
- #{w 31684}#
- #{s 31685}#
- #{mod 31686}#
- (lambda (#{src 31718}#
- #{ids 31719}#
- #{vars 31720}#
- #{val-exps 31721}#
- #{body-exp 31722}#)
- (begin
- (for-each
- #{maybe-name-value! 28203}#
- #{ids 31719}#
- #{val-exps 31721}#)
- (if (null? #{vars 31720}#)
- #{body-exp 31722}#
- (make-struct/no-tail
- (vector-ref %expanded-vtables 16)
- #{src 31718}#
- #{ids 31719}#
- #{vars 31720}#
- #{val-exps 31721}#
- #{body-exp 31722}#))))
- #{id 31711}#
- #{val 31712}#
- (cons #{e1 31713}# #{e2 31714}#)))
- #{tmp 31688}#)
- (let ((#{tmp 31729}#
- ($sc-dispatch
- #{e 31682}#
- '(_ any #(each (any any)) any . each-any))))
- (if (if #{tmp 31729}#
- (@apply
- (lambda (#{f 31733}#
- #{id 31734}#
- #{val 31735}#
- #{e1 31736}#
- #{e2 31737}#)
- (if (if (symbol? #{f 31733}#)
- #t
- (if (if (vector? #{f 31733}#)
- (if (= (vector-length #{f 31733}#) 4)
- (eq? (vector-ref #{f 31733}# 0)
- 'syntax-object)
- #f)
- #f)
- (symbol? (vector-ref #{f 31733}# 1))
- #f))
- (and-map #{id? 28238}# #{id 31734}#)
- #f))
- #{tmp 31729}#)
- #f)
- (@apply
- (lambda (#{f 31779}#
- #{id 31780}#
- #{val 31781}#
- #{e1 31782}#
- #{e2 31783}#)
- (#{expand-let 31681}#
- #{e 31682}#
- #{r 31683}#
- #{w 31684}#
- #{s 31685}#
- #{mod 31686}#
- #{build-named-let 28222}#
- (cons #{f 31779}# #{id 31780}#)
- #{val 31781}#
- (cons #{e1 31782}# #{e2 31783}#)))
- #{tmp 31729}#)
- (syntax-violation
- 'let
- "bad let"
- (let ((#{x 31796}#
- (begin
- (if (if (pair? #{e 31682}#) #{s 31685}# #f)
- (set-source-properties!
- #{e 31682}#
- #{s 31685}#))
- #{e 31682}#)))
- (if (if (null? (car #{w 31684}#))
- (null? (cdr #{w 31684}#))
- #f)
- #{x 31796}#
- (if (if (vector? #{x 31796}#)
- (if (= (vector-length #{x 31796}#) 4)
- (eq? (vector-ref #{x 31796}# 0) 'syntax-object)
- #f)
- #f)
- (let ((#{expression 31828}#
- (vector-ref #{x 31796}# 1))
- (#{wrap 31829}#
- (let ((#{w2 31837}#
- (vector-ref #{x 31796}# 2)))
- (let ((#{m1 31838}# (car #{w 31684}#))
- (#{s1 31839}# (cdr #{w 31684}#)))
- (if (null? #{m1 31838}#)
- (if (null? #{s1 31839}#)
- #{w2 31837}#
- (cons (car #{w2 31837}#)
- (let ((#{m2 31854}#
- (cdr #{w2 31837}#)))
- (if (null? #{m2 31854}#)
- #{s1 31839}#
- (append
- #{s1 31839}#
- #{m2 31854}#)))))
- (cons (let ((#{m2 31862}#
- (car #{w2 31837}#)))
- (if (null? #{m2 31862}#)
- #{m1 31838}#
- (append
- #{m1 31838}#
- #{m2 31862}#)))
- (let ((#{m2 31870}#
- (cdr #{w2 31837}#)))
- (if (null? #{m2 31870}#)
- #{s1 31839}#
- (append
- #{s1 31839}#
- #{m2 31870}#))))))))
- (#{module 31830}# (vector-ref #{x 31796}# 3)))
- (vector
- 'syntax-object
- #{expression 31828}#
- #{wrap 31829}#
- #{module 31830}#))
- (if (null? #{x 31796}#)
- #{x 31796}#
- (vector
- 'syntax-object
- #{x 31796}#
- #{w 31684}#
- #{mod 31686}#)))))))))))))
- (#{global-extend 28236}#
- 'core
- 'letrec
- (lambda (#{e 32475}#
- #{r 32476}#
- #{w 32477}#
- #{s 32478}#
- #{mod 32479}#)
- (let ((#{tmp 32481}#
- ($sc-dispatch
- #{e 32475}#
- '(_ #(each (any any)) any . each-any))))
- (if (if #{tmp 32481}#
- (@apply
- (lambda (#{id 32485}#
- #{val 32486}#
- #{e1 32487}#
- #{e2 32488}#)
- (and-map #{id? 28238}# #{id 32485}#))
- #{tmp 32481}#)
- #f)
- (@apply
- (lambda (#{id 32504}#
- #{val 32505}#
- #{e1 32506}#
- #{e2 32507}#)
- (if (not (#{valid-bound-ids? 28261}# #{id 32504}#))
- (syntax-violation
- 'letrec
- "duplicate bound variable"
- #{e 32475}#)
- (let ((#{labels 32604}#
- (#{gen-labels 28241}# #{id 32504}#))
- (#{new-vars 32605}#
- (map #{gen-var 28285}# #{id 32504}#)))
- (let ((#{w 32606}#
- (#{make-binding-wrap 28252}#
- #{id 32504}#
- #{labels 32604}#
- #{w 32477}#))
- (#{r 32607}#
- (#{extend-var-env 28234}#
- #{labels 32604}#
- #{new-vars 32605}#
- #{r 32476}#)))
- (#{build-letrec 28223}#
- #{s 32478}#
- #f
- (map syntax->datum #{id 32504}#)
- #{new-vars 32605}#
- (map (lambda (#{x 32686}#)
- (#{expand 28271}#
- #{x 32686}#
- #{r 32607}#
- #{w 32606}#
- #{mod 32479}#))
- #{val 32505}#)
- (#{expand-body 28275}#
- (cons #{e1 32506}# #{e2 32507}#)
- (let ((#{x 32748}#
- (begin
- (if (if (pair? #{e 32475}#) #{s 32478}# #f)
- (set-source-properties!
- #{e 32475}#
- #{s 32478}#))
- #{e 32475}#)))
- (if (if (null? (car #{w 32606}#))
- (null? (cdr #{w 32606}#))
- #f)
- #{x 32748}#
- (if (if (vector? #{x 32748}#)
- (if (= (vector-length #{x 32748}#) 4)
- (eq? (vector-ref #{x 32748}# 0)
- 'syntax-object)
- #f)
- #f)
- (let ((#{expression 32780}#
- (vector-ref #{x 32748}# 1))
- (#{wrap 32781}#
- (let ((#{w2 32789}#
- (vector-ref #{x 32748}# 2)))
- (let ((#{m1 32790}#
- (car #{w 32606}#))
- (#{s1 32791}#
- (cdr #{w 32606}#)))
- (if (null? #{m1 32790}#)
- (if (null? #{s1 32791}#)
- #{w2 32789}#
- (cons (car #{w2 32789}#)
- (let ((#{m2 32806}#
- (cdr #{w2
32789}#)))
- (if (null? #{m2
32806}#)
- #{s1 32791}#
- (append
- #{s1 32791}#
- #{m2 32806}#)))))
- (cons (let ((#{m2 32814}#
- (car #{w2
32789}#)))
- (if (null? #{m2 32814}#)
- #{m1 32790}#
- (append
- #{m1 32790}#
- #{m2 32814}#)))
- (let ((#{m2 32822}#
- (cdr #{w2
32789}#)))
- (if (null? #{m2 32822}#)
- #{s1 32791}#
- (append
- #{s1 32791}#
- #{m2 32822}#))))))))
- (#{module 32782}#
- (vector-ref #{x 32748}# 3)))
- (vector
- 'syntax-object
- #{expression 32780}#
- #{wrap 32781}#
- #{module 32782}#))
- (if (null? #{x 32748}#)
- #{x 32748}#
- (vector
- 'syntax-object
- #{x 32748}#
- #{w 32606}#
- #{mod 32479}#)))))
- #{r 32607}#
- #{w 32606}#
- #{mod 32479}#))))))
- #{tmp 32481}#)
- (syntax-violation
- 'letrec
- "bad letrec"
- (let ((#{x 33061}#
- (begin
- (if (if (pair? #{e 32475}#) #{s 32478}# #f)
- (set-source-properties! #{e 32475}# #{s 32478}#))
- #{e 32475}#)))
- (if (if (null? (car #{w 32477}#))
- (null? (cdr #{w 32477}#))
- #f)
- #{x 33061}#
- (if (if (vector? #{x 33061}#)
- (if (= (vector-length #{x 33061}#) 4)
- (eq? (vector-ref #{x 33061}# 0) 'syntax-object)
- #f)
- #f)
- (let ((#{expression 33093}# (vector-ref #{x 33061}# 1))
- (#{wrap 33094}#
- (let ((#{w2 33102}# (vector-ref #{x 33061}# 2)))
- (let ((#{m1 33103}# (car #{w 32477}#))
- (#{s1 33104}# (cdr #{w 32477}#)))
- (if (null? #{m1 33103}#)
- (if (null? #{s1 33104}#)
- #{w2 33102}#
- (cons (car #{w2 33102}#)
- (let ((#{m2 33119}#
- (cdr #{w2 33102}#)))
- (if (null? #{m2 33119}#)
- #{s1 33104}#
- (append
- #{s1 33104}#
- #{m2 33119}#)))))
- (cons (let ((#{m2 33127}#
- (car #{w2 33102}#)))
- (if (null? #{m2 33127}#)
- #{m1 33103}#
- (append
- #{m1 33103}#
- #{m2 33127}#)))
- (let ((#{m2 33135}#
- (cdr #{w2 33102}#)))
- (if (null? #{m2 33135}#)
- #{s1 33104}#
- (append
- #{s1 33104}#
- #{m2 33135}#))))))))
- (#{module 33095}# (vector-ref #{x 33061}# 3)))
- (vector
- 'syntax-object
- #{expression 33093}#
- #{wrap 33094}#
- #{module 33095}#))
- (if (null? #{x 33061}#)
- #{x 33061}#
- (vector
- 'syntax-object
- #{x 33061}#
- #{w 32477}#
- #{mod 32479}#))))))))))
- (#{global-extend 28236}#
- 'core
- 'letrec*
- (lambda (#{e 33286}#
- #{r 33287}#
- #{w 33288}#
- #{s 33289}#
- #{mod 33290}#)
- (let ((#{tmp 33292}#
- ($sc-dispatch
- #{e 33286}#
- '(_ #(each (any any)) any . each-any))))
- (if (if #{tmp 33292}#
- (@apply
- (lambda (#{id 33296}#
- #{val 33297}#
- #{e1 33298}#
- #{e2 33299}#)
- (and-map #{id? 28238}# #{id 33296}#))
- #{tmp 33292}#)
- #f)
- (@apply
- (lambda (#{id 33315}#
- #{val 33316}#
- #{e1 33317}#
- #{e2 33318}#)
- (if (not (#{valid-bound-ids? 28261}# #{id 33315}#))
- (syntax-violation
- 'letrec*
- "duplicate bound variable"
- #{e 33286}#)
- (let ((#{labels 33415}#
- (#{gen-labels 28241}# #{id 33315}#))
- (#{new-vars 33416}#
- (map #{gen-var 28285}# #{id 33315}#)))
- (let ((#{w 33417}#
- (#{make-binding-wrap 28252}#
- #{id 33315}#
- #{labels 33415}#
- #{w 33288}#))
- (#{r 33418}#
- (#{extend-var-env 28234}#
- #{labels 33415}#
- #{new-vars 33416}#
- #{r 33287}#)))
- (#{build-letrec 28223}#
- #{s 33289}#
- #t
- (map syntax->datum #{id 33315}#)
- #{new-vars 33416}#
- (map (lambda (#{x 33497}#)
- (#{expand 28271}#
- #{x 33497}#
- #{r 33418}#
- #{w 33417}#
- #{mod 33290}#))
- #{val 33316}#)
- (#{expand-body 28275}#
- (cons #{e1 33317}# #{e2 33318}#)
- (let ((#{x 33559}#
- (begin
- (if (if (pair? #{e 33286}#) #{s 33289}# #f)
- (set-source-properties!
- #{e 33286}#
- #{s 33289}#))
- #{e 33286}#)))
- (if (if (null? (car #{w 33417}#))
- (null? (cdr #{w 33417}#))
- #f)
- #{x 33559}#
- (if (if (vector? #{x 33559}#)
- (if (= (vector-length #{x 33559}#) 4)
- (eq? (vector-ref #{x 33559}# 0)
- 'syntax-object)
- #f)
- #f)
- (let ((#{expression 33591}#
- (vector-ref #{x 33559}# 1))
- (#{wrap 33592}#
- (let ((#{w2 33600}#
- (vector-ref #{x 33559}# 2)))
- (let ((#{m1 33601}#
- (car #{w 33417}#))
- (#{s1 33602}#
- (cdr #{w 33417}#)))
- (if (null? #{m1 33601}#)
- (if (null? #{s1 33602}#)
- #{w2 33600}#
- (cons (car #{w2 33600}#)
- (let ((#{m2 33617}#
- (cdr #{w2
33600}#)))
- (if (null? #{m2
33617}#)
- #{s1 33602}#
- (append
- #{s1 33602}#
- #{m2 33617}#)))))
- (cons (let ((#{m2 33625}#
- (car #{w2
33600}#)))
- (if (null? #{m2 33625}#)
- #{m1 33601}#
- (append
- #{m1 33601}#
- #{m2 33625}#)))
- (let ((#{m2 33633}#
- (cdr #{w2
33600}#)))
- (if (null? #{m2 33633}#)
- #{s1 33602}#
- (append
- #{s1 33602}#
- #{m2 33633}#))))))))
- (#{module 33593}#
- (vector-ref #{x 33559}# 3)))
- (vector
- 'syntax-object
- #{expression 33591}#
- #{wrap 33592}#
- #{module 33593}#))
- (if (null? #{x 33559}#)
- #{x 33559}#
- (vector
- 'syntax-object
- #{x 33559}#
- #{w 33417}#
- #{mod 33290}#)))))
- #{r 33418}#
- #{w 33417}#
- #{mod 33290}#))))))
- #{tmp 33292}#)
- (syntax-violation
- 'letrec*
- "bad letrec*"
- (let ((#{x 33872}#
- (begin
- (if (if (pair? #{e 33286}#) #{s 33289}# #f)
- (set-source-properties! #{e 33286}# #{s 33289}#))
- #{e 33286}#)))
- (if (if (null? (car #{w 33288}#))
- (null? (cdr #{w 33288}#))
- #f)
- #{x 33872}#
- (if (if (vector? #{x 33872}#)
- (if (= (vector-length #{x 33872}#) 4)
- (eq? (vector-ref #{x 33872}# 0) 'syntax-object)
- #f)
- #f)
- (let ((#{expression 33904}# (vector-ref #{x 33872}# 1))
- (#{wrap 33905}#
- (let ((#{w2 33913}# (vector-ref #{x 33872}# 2)))
- (let ((#{m1 33914}# (car #{w 33288}#))
- (#{s1 33915}# (cdr #{w 33288}#)))
- (if (null? #{m1 33914}#)
- (if (null? #{s1 33915}#)
- #{w2 33913}#
- (cons (car #{w2 33913}#)
- (let ((#{m2 33930}#
- (cdr #{w2 33913}#)))
- (if (null? #{m2 33930}#)
- #{s1 33915}#
- (append
- #{s1 33915}#
- #{m2 33930}#)))))
- (cons (let ((#{m2 33938}#
- (car #{w2 33913}#)))
- (if (null? #{m2 33938}#)
- #{m1 33914}#
- (append
- #{m1 33914}#
- #{m2 33938}#)))
- (let ((#{m2 33946}#
- (cdr #{w2 33913}#)))
- (if (null? #{m2 33946}#)
- #{s1 33915}#
- (append
- #{s1 33915}#
- #{m2 33946}#))))))))
- (#{module 33906}# (vector-ref #{x 33872}# 3)))
- (vector
- 'syntax-object
- #{expression 33904}#
- #{wrap 33905}#
- #{module 33906}#))
- (if (null? #{x 33872}#)
- #{x 33872}#
- (vector
- 'syntax-object
- #{x 33872}#
- #{w 33288}#
- #{mod 33290}#))))))))))
- (#{global-extend 28236}#
- 'core
- 'set!
- (lambda (#{e 34105}#
- #{r 34106}#
- #{w 34107}#
- #{s 34108}#
- #{mod 34109}#)
- (let ((#{tmp 34111}#
- ($sc-dispatch #{e 34105}# '(_ any any))))
- (if (if #{tmp 34111}#
- (@apply
- (lambda (#{id 34115}# #{val 34116}#)
- (if (symbol? #{id 34115}#)
- #t
- (if (if (vector? #{id 34115}#)
- (if (= (vector-length #{id 34115}#) 4)
- (eq? (vector-ref #{id 34115}# 0) 'syntax-object)
- #f)
- #f)
- (symbol? (vector-ref #{id 34115}# 1))
- #f)))
- #{tmp 34111}#)
- #f)
- (@apply
- (lambda (#{id 34143}# #{val 34144}#)
- (call-with-values
- (lambda ()
- (#{resolve-identifier 28258}#
- #{id 34143}#
- #{w 34107}#
- #{r 34106}#
- #{mod 34109}#
- #t))
- (lambda (#{type 34147}# #{value 34148}# #{id-mod 34149}#)
- (if (eqv? #{type 34147}# 'lexical)
- (#{build-lexical-assignment 28209}#
- #{s 34108}#
- (syntax->datum #{id 34143}#)
- #{value 34148}#
- (#{expand 28271}#
- #{val 34144}#
- #{r 34106}#
- #{w 34107}#
- #{mod 34109}#))
- (if (eqv? #{type 34147}# 'global)
- (#{build-global-assignment 28212}#
- #{s 34108}#
- #{value 34148}#
- (#{expand 28271}#
- #{val 34144}#
- #{r 34106}#
- #{w 34107}#
- #{mod 34109}#)
- #{id-mod 34149}#)
- (if (eqv? #{type 34147}# 'macro)
- (if (procedure-property
- #{value 34148}#
- 'variable-transformer)
- (#{expand 28271}#
- (#{expand-macro 28274}#
- #{value 34148}#
- #{e 34105}#
- #{r 34106}#
- #{w 34107}#
- #{s 34108}#
- #f
- #{mod 34109}#)
- #{r 34106}#
- '(())
- #{mod 34109}#)
- (syntax-violation
- 'set!
- "not a variable transformer"
- (if (if (null? (car #{w 34107}#))
- (null? (cdr #{w 34107}#))
- #f)
- #{e 34105}#
- (if (if (vector? #{e 34105}#)
- (if (= (vector-length #{e 34105}#) 4)
- (eq? (vector-ref #{e 34105}# 0)
- 'syntax-object)
- #f)
- #f)
- (let ((#{expression 34589}#
- (vector-ref #{e 34105}# 1))
- (#{wrap 34590}#
- (let ((#{w2 34600}#
- (vector-ref #{e 34105}# 2)))
- (let ((#{m1 34601}#
- (car #{w 34107}#))
- (#{s1 34602}#
- (cdr #{w 34107}#)))
- (if (null? #{m1 34601}#)
- (if (null? #{s1 34602}#)
- #{w2 34600}#
- (cons (car #{w2 34600}#)
- (let ((#{m2 34619}#
- (cdr #{w2
34600}#)))
- (if (null? #{m2
34619}#)
- #{s1 34602}#
- (append
- #{s1 34602}#
- #{m2 34619}#)))))
- (cons (let ((#{m2 34627}#
- (car #{w2
34600}#)))
- (if (null? #{m2
34627}#)
- #{m1 34601}#
- (append
- #{m1 34601}#
- #{m2 34627}#)))
- (let ((#{m2 34635}#
- (cdr #{w2
34600}#)))
- (if (null? #{m2
34635}#)
- #{s1 34602}#
- (append
- #{s1 34602}#
- #{m2
34635}#))))))))
- (#{module 34591}#
- (vector-ref #{e 34105}# 3)))
- (vector
- 'syntax-object
- #{expression 34589}#
- #{wrap 34590}#
- #{module 34591}#))
- (if (null? #{e 34105}#)
- #{e 34105}#
- (vector
- 'syntax-object
- #{e 34105}#
- #{w 34107}#
- #{mod 34109}#))))
- (if (if (null? (car #{w 34107}#))
- (null? (cdr #{w 34107}#))
- #f)
- #{id 34143}#
- (if (if (vector? #{id 34143}#)
- (if (= (vector-length #{id 34143}#) 4)
- (eq? (vector-ref #{id 34143}# 0)
- 'syntax-object)
- #f)
- #f)
- (let ((#{expression 34687}#
- (vector-ref #{id 34143}# 1))
- (#{wrap 34688}#
- (let ((#{w2 34698}#
- (vector-ref #{id 34143}# 2)))
- (let ((#{m1 34699}#
- (car #{w 34107}#))
- (#{s1 34700}#
- (cdr #{w 34107}#)))
- (if (null? #{m1 34699}#)
- (if (null? #{s1 34700}#)
- #{w2 34698}#
- (cons (car #{w2 34698}#)
- (let ((#{m2 34717}#
- (cdr #{w2
34698}#)))
- (if (null? #{m2
34717}#)
- #{s1 34700}#
- (append
- #{s1 34700}#
- #{m2 34717}#)))))
- (cons (let ((#{m2 34725}#
- (car #{w2
34698}#)))
- (if (null? #{m2
34725}#)
- #{m1 34699}#
- (append
- #{m1 34699}#
- #{m2 34725}#)))
- (let ((#{m2 34733}#
- (cdr #{w2
34698}#)))
- (if (null? #{m2
34733}#)
- #{s1 34700}#
- (append
- #{s1 34700}#
- #{m2
34733}#))))))))
- (#{module 34689}#
- (vector-ref #{id 34143}# 3)))
- (vector
- 'syntax-object
- #{expression 34687}#
- #{wrap 34688}#
- #{module 34689}#))
- (if (null? #{id 34143}#)
- #{id 34143}#
- (vector
- 'syntax-object
- #{id 34143}#
- #{w 34107}#
- #{id-mod 34149}#))))))
- (if (eqv? #{type 34147}# 'displaced-lexical)
- (syntax-violation
- 'set!
- "identifier out of context"
- (if (if (null? (car #{w 34107}#))
- (null? (cdr #{w 34107}#))
- #f)
- #{id 34143}#
- (if (if (vector? #{id 34143}#)
- (if (= (vector-length #{id 34143}#) 4)
- (eq? (vector-ref #{id 34143}# 0)
- 'syntax-object)
- #f)
- #f)
- (let ((#{expression 34788}#
- (vector-ref #{id 34143}# 1))
- (#{wrap 34789}#
- (let ((#{w2 34799}#
- (vector-ref #{id 34143}# 2)))
- (let ((#{m1 34800}#
- (car #{w 34107}#))
- (#{s1 34801}#
- (cdr #{w 34107}#)))
- (if (null? #{m1 34800}#)
- (if (null? #{s1 34801}#)
- #{w2 34799}#
- (cons (car #{w2 34799}#)
- (let ((#{m2 34818}#
- (cdr #{w2
34799}#)))
- (if (null? #{m2
34818}#)
- #{s1 34801}#
- (append
- #{s1 34801}#
- #{m2 34818}#)))))
- (cons (let ((#{m2 34826}#
- (car #{w2
34799}#)))
- (if (null? #{m2
34826}#)
- #{m1 34800}#
- (append
- #{m1 34800}#
- #{m2 34826}#)))
- (let ((#{m2 34834}#
- (cdr #{w2
34799}#)))
- (if (null? #{m2
34834}#)
- #{s1 34801}#
- (append
- #{s1 34801}#
- #{m2
34834}#))))))))
- (#{module 34790}#
- (vector-ref #{id 34143}# 3)))
- (vector
- 'syntax-object
- #{expression 34788}#
- #{wrap 34789}#
- #{module 34790}#))
- (if (null? #{id 34143}#)
- #{id 34143}#
- (vector
- 'syntax-object
- #{id 34143}#
- #{w 34107}#
- #{mod 34109}#)))))
- (syntax-violation
- 'set!
- "bad set!"
- (let ((#{x 34866}#
- (begin
- (if (if (pair? #{e 34105}#)
- #{s 34108}#
- #f)
- (set-source-properties!
- #{e 34105}#
- #{s 34108}#))
- #{e 34105}#)))
- (if (if (null? (car #{w 34107}#))
- (null? (cdr #{w 34107}#))
- #f)
- #{x 34866}#
- (if (if (vector? #{x 34866}#)
- (if (= (vector-length #{x 34866}#) 4)
- (eq? (vector-ref #{x 34866}# 0)
- 'syntax-object)
- #f)
- #f)
- (let ((#{expression 34898}#
- (vector-ref #{x 34866}# 1))
- (#{wrap 34899}#
- (let ((#{w2 34907}#
- (vector-ref
- #{x 34866}#
- 2)))
- (let ((#{m1 34908}#
- (car #{w 34107}#))
- (#{s1 34909}#
- (cdr #{w 34107}#)))
- (if (null? #{m1 34908}#)
- (if (null? #{s1 34909}#)
- #{w2 34907}#
- (cons (car #{w2 34907}#)
- (let ((#{m2 34924}#
- (cdr #{w2
34907}#)))
- (if (null? #{m2
34924}#)
- #{s1 34909}#
- (append
- #{s1 34909}#
- #{m2
34924}#)))))
- (cons (let ((#{m2 34932}#
- (car #{w2
34907}#)))
- (if (null? #{m2
34932}#)
- #{m1 34908}#
- (append
- #{m1 34908}#
- #{m2 34932}#)))
- (let ((#{m2 34940}#
- (cdr #{w2
34907}#)))
- (if (null? #{m2
34940}#)
- #{s1 34909}#
- (append
- #{s1 34909}#
- #{m2
34940}#))))))))
- (#{module 34900}#
- (vector-ref #{x 34866}# 3)))
- (vector
- 'syntax-object
- #{expression 34898}#
- #{wrap 34899}#
- #{module 34900}#))
- (if (null? #{x 34866}#)
- #{x 34866}#
- (vector
- 'syntax-object
- #{x 34866}#
- #{w 34107}#
- #{mod 34109}#)))))))))))))
- #{tmp 34111}#)
- (let ((#{tmp 34955}#
- ($sc-dispatch
- #{e 34105}#
- '(_ (any . each-any) any))))
- (if #{tmp 34955}#
- (@apply
- (lambda (#{head 34959}# #{tail 34960}# #{val 34961}#)
- (call-with-values
- (lambda ()
- (#{syntax-type 28270}#
- #{head 34959}#
- #{r 34106}#
- '(())
- #f
- #f
- #{mod 34109}#
- #t))
- (lambda (#{type 34964}#
- #{value 34965}#
- #{ee 34966}#
- #{ww 34967}#
- #{ss 34968}#
- #{modmod 34969}#)
- (if (eqv? #{type 34964}# 'module-ref)
- (let ((#{val 34973}#
- (#{expand 28271}#
- #{val 34961}#
- #{r 34106}#
- #{w 34107}#
- #{mod 34109}#)))
- (call-with-values
- (lambda ()
- (#{value 34965}#
- (cons #{head 34959}# #{tail 34960}#)
- #{r 34106}#
- #{w 34107}#))
- (lambda (#{e 34974}#
- #{r 34975}#
- #{w 34976}#
- #{s* 34977}#
- #{mod 34978}#)
- (let ((#{tmp 34980}# (list #{e 34974}#)))
- (if (@apply
- (lambda (#{e 34982}#)
- (if (symbol? #{e 34982}#)
- #t
- (if (if (vector? #{e 34982}#)
- (if (= (vector-length
- #{e 34982}#)
- 4)
- (eq? (vector-ref
- #{e 34982}#
- 0)
- 'syntax-object)
- #f)
- #f)
- (symbol?
- (vector-ref #{e 34982}# 1))
- #f)))
- #{tmp 34980}#)
- (@apply
- (lambda (#{e 35012}#)
- (#{build-global-assignment 28212}#
- #{s 34108}#
- (syntax->datum #{e 35012}#)
- #{val 34973}#
- #{mod 34978}#))
- #{tmp 34980}#)
- (syntax-violation
- #f
- "source expression failed to match any
pattern"
- #{e 34974}#))))))
- (#{build-call 28205}#
- #{s 34108}#
- (#{expand 28271}#
- (list '#(syntax-object
- setter
- ((top)
- #(ribcage () () ())
- #(ribcage () () ())
- #(ribcage
- #(type value ee ww ss modmod)
- #((top)
- (top)
- (top)
- (top)
- (top)
- (top))
- #("i27483"
- "i27484"
- "i27485"
- "i27486"
- "i27487"
- "i27488"))
- #(ribcage
- #(head tail val)
- #((top) (top) (top))
- #("i27469" "i27470" "i27471"))
- #(ribcage () () ())
- #(ribcage
- #(e r w s mod)
- #((top) (top) (top) (top) (top))
- #("i27441"
- "i27442"
- "i27443"
- "i27444"
- "i27445"))
- #(ribcage
- (lambda-var-list
- gen-var
- strip
- expand-lambda-case
- lambda*-formals
- expand-simple-lambda
- lambda-formals
- ellipsis?
- expand-void
- eval-local-transformer
- expand-local-syntax
- expand-body
- expand-macro
- expand-call
- expand-expr
- expand
- syntax-type
- parse-when-list
- expand-install-global
- expand-top-sequence
- expand-sequence
- source-wrap
- wrap
- bound-id-member?
- distinct-bound-ids?
- valid-bound-ids?
- bound-id=?
- free-id=?
- resolve-identifier
- id-var-name
- same-marks?
- join-marks
- join-wraps
- smart-append
- make-binding-wrap
- extend-ribcage!
- make-empty-ribcage
- new-mark
- anti-mark
- the-anti-mark
- top-marked?
- top-wrap
- empty-wrap
- set-ribcage-labels!
- set-ribcage-marks!
- set-ribcage-symnames!
- ribcage-labels
- ribcage-marks
- ribcage-symnames
- ribcage?
- make-ribcage
- gen-labels
- gen-label
- make-rename
- rename-marks
- rename-new
- rename-old
- subst-rename?
- wrap-subst
- wrap-marks
- make-wrap
- id-sym-name&marks
- id-sym-name
- id?
- nonsymbol-id?
- global-extend
- macros-only-env
- extend-var-env
- extend-env
- null-env
- binding-value
- binding-type
- make-binding
- arg-check
- source-annotation
- no-source
- set-syntax-object-module!
- set-syntax-object-wrap!
- set-syntax-object-expression!
- syntax-object-module
- syntax-object-wrap
- syntax-object-expression
- syntax-object?
- make-syntax-object
- build-lexical-var
- build-letrec
- build-named-let
- build-let
- build-sequence
- build-data
- build-primref
- build-primcall
- build-lambda-case
- build-case-lambda
- build-simple-lambda
- build-global-definition
- build-global-assignment
- build-global-reference
- analyze-variable
- build-lexical-assignment
- build-lexical-reference
- build-dynlet
- build-conditional
- build-call
- build-void
- maybe-name-value!
- decorate-source
- get-global-definition-hook
- put-global-definition-hook
- gensym-hook
- local-eval-hook
- top-level-eval-hook
- fx<
- fx=
- fx-
- fx+
- set-lambda-meta!
- lambda-meta
- lambda?
- make-dynlet
- make-letrec
- make-let
- make-lambda-case
- make-lambda
- make-seq
- make-primcall
- make-call
- make-conditional
- make-toplevel-define
- make-toplevel-set
- make-toplevel-ref
- make-module-set
- make-module-ref
- make-lexical-set
- make-lexical-ref
- make-primitive-ref
- make-const
- make-void)
- ((top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top))
- ("i24298"
- "i24296"
- "i24294"
- "i24292"
- "i24290"
- "i24288"
- "i24286"
- "i24284"
- "i24282"
- "i24280"
- "i24278"
- "i24276"
- "i24274"
- "i24272"
- "i24270"
- "i24268"
- "i24266"
- "i24264"
- "i24262"
- "i24260"
- "i24258"
- "i24256"
- "i24254"
- "i24252"
- "i24250"
- "i24248"
- "i24246"
- "i24244"
- "i24242"
- "i24240"
- "i24238"
- "i24236"
- "i24234"
- "i24232"
- "i24230"
- "i24228"
- "i24227"
- "i24225"
- "i24222"
- "i24221"
- "i24220"
- "i24218"
- "i24217"
- "i24215"
- "i24213"
- "i24211"
- "i24209"
- "i24207"
- "i24205"
- "i24203"
- "i24201"
- "i24198"
- "i24196"
- "i24195"
- "i24193"
- "i24191"
- "i24189"
- "i24187"
- "i24186"
- "i24185"
- "i24184"
- "i24182"
- "i24181"
- "i24178"
- "i24176"
- "i24174"
- "i24172"
- "i24170"
- "i24168"
- "i24167"
- "i24166"
- "i24164"
- "i24162"
- "i24161"
- "i24158"
- "i24157"
- "i24155"
- "i24153"
- "i24151"
- "i24149"
- "i24147"
- "i24145"
- "i24143"
- "i24141"
- "i24139"
- "i24136"
- "i24134"
- "i24132"
- "i24130"
- "i24128"
- "i24126"
- "i24124"
- "i24122"
- "i24120"
- "i24118"
- "i24116"
- "i24114"
- "i24112"
- "i24110"
- "i24108"
- "i24106"
- "i24104"
- "i24102"
- "i24100"
- "i24098"
- "i24096"
- "i24094"
- "i24092"
- "i24090"
- "i24089"
- "i24086"
- "i24084"
- "i24083"
- "i24082"
- "i24081"
- "i24080"
- "i24078"
- "i24076"
- "i24074"
- "i24071"
- "i24069"
- "i24067"
- "i24065"
- "i24063"
- "i24061"
- "i24059"
- "i24057"
- "i24055"
- "i24053"
- "i24051"
- "i24049"
- "i24047"
- "i24045"
- "i24043"
- "i24041"
- "i24039"
- "i24037"
- "i24035"))
- #(ribcage
- (define-structure
- define-expansion-accessors
- define-expansion-constructors)
- ((top) (top) (top))
- ("i23873" "i23872" "i23871"))
- #(ribcage () () ()))
- (hygiene guile))
- #{head 34959}#)
- #{r 34106}#
- #{w 34107}#
- #{mod 34109}#)
- (map (lambda (#{e 35325}#)
- (#{expand 28271}#
- #{e 35325}#
- #{r 34106}#
- #{w 34107}#
- #{mod 34109}#))
- (append
- #{tail 34960}#
- (list #{val 34961}#))))))))
- #{tmp 34955}#)
- (syntax-violation
- 'set!
- "bad set!"
- (let ((#{x 35413}#
- (begin
- (if (if (pair? #{e 34105}#) #{s 34108}# #f)
- (set-source-properties! #{e 34105}# #{s 34108}#))
- #{e 34105}#)))
- (if (if (null? (car #{w 34107}#))
- (null? (cdr #{w 34107}#))
- #f)
- #{x 35413}#
- (if (if (vector? #{x 35413}#)
- (if (= (vector-length #{x 35413}#) 4)
- (eq? (vector-ref #{x 35413}# 0) 'syntax-object)
- #f)
- #f)
- (let ((#{expression 35445}# (vector-ref #{x 35413}# 1))
- (#{wrap 35446}#
- (let ((#{w2 35454}#
- (vector-ref #{x 35413}# 2)))
- (let ((#{m1 35455}# (car #{w 34107}#))
- (#{s1 35456}# (cdr #{w 34107}#)))
- (if (null? #{m1 35455}#)
- (if (null? #{s1 35456}#)
- #{w2 35454}#
- (cons (car #{w2 35454}#)
- (let ((#{m2 35471}#
- (cdr #{w2 35454}#)))
- (if (null? #{m2 35471}#)
- #{s1 35456}#
- (append
- #{s1 35456}#
- #{m2 35471}#)))))
- (cons (let ((#{m2 35479}#
- (car #{w2 35454}#)))
- (if (null? #{m2 35479}#)
- #{m1 35455}#
- (append
- #{m1 35455}#
- #{m2 35479}#)))
- (let ((#{m2 35487}#
- (cdr #{w2 35454}#)))
- (if (null? #{m2 35487}#)
- #{s1 35456}#
- (append
- #{s1 35456}#
- #{m2 35487}#))))))))
- (#{module 35447}# (vector-ref #{x 35413}# 3)))
- (vector
- 'syntax-object
- #{expression 35445}#
- #{wrap 35446}#
- #{module 35447}#))
- (if (null? #{x 35413}#)
- #{x 35413}#
- (vector
- 'syntax-object
- #{x 35413}#
- #{w 34107}#
- #{mod 34109}#))))))))))))
- (module-define!
- (current-module)
- '@
- (make-syntax-transformer
- '@
- 'module-ref
- (lambda (#{e 35518}# #{r 35519}# #{w 35520}#)
- (let ((#{tmp 35522}#
- ($sc-dispatch #{e 35518}# '(_ each-any any))))
- (if (if #{tmp 35522}#
- (@apply
- (lambda (#{mod 35525}# #{id 35526}#)
- (if (and-map #{id? 28238}# #{mod 35525}#)
- (if (symbol? #{id 35526}#)
- #t
- (if (if (vector? #{id 35526}#)
- (if (= (vector-length #{id 35526}#) 4)
- (eq? (vector-ref #{id 35526}# 0)
- 'syntax-object)
- #f)
- #f)
- (symbol? (vector-ref #{id 35526}# 1))
- #f))
- #f))
- #{tmp 35522}#)
- #f)
- (@apply
- (lambda (#{mod 35566}# #{id 35567}#)
- (values
- (syntax->datum #{id 35567}#)
- #{r 35519}#
- #{w 35520}#
- #f
- (syntax->datum
- (cons '#(syntax-object
- public
- ((top)
- #(ribcage
- #(mod id)
- #((top) (top))
- #("i27530" "i27531"))
- #(ribcage () () ())
- #(ribcage
- #(e r w)
- #((top) (top) (top))
- #("i27518" "i27519" "i27520"))
- #(ribcage
- (lambda-var-list
- gen-var
- strip
- expand-lambda-case
- lambda*-formals
- expand-simple-lambda
- lambda-formals
- ellipsis?
- expand-void
- eval-local-transformer
- expand-local-syntax
- expand-body
- expand-macro
- expand-call
- expand-expr
- expand
- syntax-type
- parse-when-list
- expand-install-global
- expand-top-sequence
- expand-sequence
- source-wrap
- wrap
- bound-id-member?
- distinct-bound-ids?
- valid-bound-ids?
- bound-id=?
- free-id=?
- resolve-identifier
- id-var-name
- same-marks?
- join-marks
- join-wraps
- smart-append
- make-binding-wrap
- extend-ribcage!
- make-empty-ribcage
- new-mark
- anti-mark
- the-anti-mark
- top-marked?
- top-wrap
- empty-wrap
- set-ribcage-labels!
- set-ribcage-marks!
- set-ribcage-symnames!
- ribcage-labels
- ribcage-marks
- ribcage-symnames
- ribcage?
- make-ribcage
- gen-labels
- gen-label
- make-rename
- rename-marks
- rename-new
- rename-old
- subst-rename?
- wrap-subst
- wrap-marks
- make-wrap
- id-sym-name&marks
- id-sym-name
- id?
- nonsymbol-id?
- global-extend
- macros-only-env
- extend-var-env
- extend-env
- null-env
- binding-value
- binding-type
- make-binding
- arg-check
- source-annotation
- no-source
- set-syntax-object-module!
- set-syntax-object-wrap!
- set-syntax-object-expression!
- syntax-object-module
- syntax-object-wrap
- syntax-object-expression
- syntax-object?
- make-syntax-object
- build-lexical-var
- build-letrec
- build-named-let
- build-let
- build-sequence
- build-data
- build-primref
- build-primcall
- build-lambda-case
- build-case-lambda
- build-simple-lambda
- build-global-definition
- build-global-assignment
- build-global-reference
- analyze-variable
- build-lexical-assignment
- build-lexical-reference
- build-dynlet
- build-conditional
- build-call
- build-void
- maybe-name-value!
- decorate-source
- get-global-definition-hook
- put-global-definition-hook
- gensym-hook
- local-eval-hook
- top-level-eval-hook
- fx<
- fx=
- fx-
- fx+
- set-lambda-meta!
- lambda-meta
- lambda?
- make-dynlet
- make-letrec
- make-let
- make-lambda-case
- make-lambda
- make-seq
- make-primcall
- make-call
- make-conditional
- make-toplevel-define
- make-toplevel-set
- make-toplevel-ref
- make-module-set
- make-module-ref
- make-lexical-set
- make-lexical-ref
- make-primitive-ref
- make-const
- make-void)
- ((top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top))
- ("i24298"
- "i24296"
- "i24294"
- "i24292"
- "i24290"
- "i24288"
- "i24286"
- "i24284"
- "i24282"
- "i24280"
- "i24278"
- "i24276"
- "i24274"
- "i24272"
- "i24270"
- "i24268"
- "i24266"
- "i24264"
- "i24262"
- "i24260"
- "i24258"
- "i24256"
- "i24254"
- "i24252"
- "i24250"
- "i24248"
- "i24246"
- "i24244"
- "i24242"
- "i24240"
- "i24238"
- "i24236"
- "i24234"
- "i24232"
- "i24230"
- "i24228"
- "i24227"
- "i24225"
- "i24222"
- "i24221"
- "i24220"
- "i24218"
- "i24217"
- "i24215"
- "i24213"
- "i24211"
- "i24209"
- "i24207"
- "i24205"
- "i24203"
- "i24201"
- "i24198"
- "i24196"
- "i24195"
- "i24193"
- "i24191"
- "i24189"
- "i24187"
- "i24186"
- "i24185"
- "i24184"
- "i24182"
- "i24181"
- "i24178"
- "i24176"
- "i24174"
- "i24172"
- "i24170"
- "i24168"
- "i24167"
- "i24166"
- "i24164"
- "i24162"
- "i24161"
- "i24158"
- "i24157"
- "i24155"
- "i24153"
- "i24151"
- "i24149"
- "i24147"
- "i24145"
- "i24143"
- "i24141"
- "i24139"
- "i24136"
- "i24134"
- "i24132"
- "i24130"
- "i24128"
- "i24126"
- "i24124"
- "i24122"
- "i24120"
- "i24118"
- "i24116"
- "i24114"
- "i24112"
- "i24110"
- "i24108"
- "i24106"
- "i24104"
- "i24102"
- "i24100"
- "i24098"
- "i24096"
- "i24094"
- "i24092"
- "i24090"
- "i24089"
- "i24086"
- "i24084"
- "i24083"
- "i24082"
- "i24081"
- "i24080"
- "i24078"
- "i24076"
- "i24074"
- "i24071"
- "i24069"
- "i24067"
- "i24065"
- "i24063"
- "i24061"
- "i24059"
- "i24057"
- "i24055"
- "i24053"
- "i24051"
- "i24049"
- "i24047"
- "i24045"
- "i24043"
- "i24041"
- "i24039"
- "i24037"
- "i24035"))
- #(ribcage
- (define-structure
- define-expansion-accessors
- define-expansion-constructors)
- ((top) (top) (top))
- ("i23873" "i23872" "i23871"))
- #(ribcage () () ()))
- (hygiene guile))
- #{mod 35566}#))))
- #{tmp 35522}#)
- (syntax-violation
- #f
- "source expression failed to match any pattern"
- #{e 35518}#))))))
- (#{global-extend 28236}#
- 'module-ref
- '@@
- (lambda (#{e 35667}# #{r 35668}# #{w 35669}#)
- (letrec*
- ((#{remodulate 35670}#
- (lambda (#{x 35888}# #{mod 35889}#)
- (if (pair? #{x 35888}#)
- (cons (#{remodulate 35670}#
- (car #{x 35888}#)
- #{mod 35889}#)
- (#{remodulate 35670}#
- (cdr #{x 35888}#)
- #{mod 35889}#))
- (if (if (vector? #{x 35888}#)
- (if (= (vector-length #{x 35888}#) 4)
- (eq? (vector-ref #{x 35888}# 0) 'syntax-object)
- #f)
- #f)
- (let ((#{expression 35903}#
- (#{remodulate 35670}#
- (vector-ref #{x 35888}# 1)
- #{mod 35889}#))
- (#{wrap 35904}# (vector-ref #{x 35888}# 2)))
- (vector
- 'syntax-object
- #{expression 35903}#
- #{wrap 35904}#
- #{mod 35889}#))
- (if (vector? #{x 35888}#)
- (let ((#{n 35912}# (vector-length #{x 35888}#)))
- (let ((#{v 35913}# (make-vector #{n 35912}#)))
- (letrec*
- ((#{loop 35914}#
- (lambda (#{i 35969}#)
- (if (= #{i 35969}# #{n 35912}#)
- #{v 35913}#
- (begin
- (vector-set!
- #{v 35913}#
- #{i 35969}#
- (#{remodulate 35670}#
- (vector-ref #{x 35888}# #{i 35969}#)
- #{mod 35889}#))
- (#{loop 35914}# (#{1+}# #{i 35969}#)))))))
- (#{loop 35914}# 0))))
- #{x 35888}#))))))
- (let ((#{tmp 35672}#
- ($sc-dispatch #{e 35667}# '(_ each-any any))))
- (if (if #{tmp 35672}#
- (@apply
- (lambda (#{mod 35676}# #{exp 35677}#)
- (and-map #{id? 28238}# #{mod 35676}#))
- #{tmp 35672}#)
- #f)
- (@apply
- (lambda (#{mod 35693}# #{exp 35694}#)
- (let ((#{mod 35695}#
- (syntax->datum
- (cons '#(syntax-object
- private
- ((top)
- #(ribcage
- #(mod exp)
- #((top) (top))
- #("i27574" "i27575"))
- #(ribcage
- (remodulate)
- ((top))
- ("i27541"))
- #(ribcage
- #(e r w)
- #((top) (top) (top))
- #("i27538" "i27539" "i27540"))
- #(ribcage
- (lambda-var-list
- gen-var
- strip
- expand-lambda-case
- lambda*-formals
- expand-simple-lambda
- lambda-formals
- ellipsis?
- expand-void
- eval-local-transformer
- expand-local-syntax
- expand-body
- expand-macro
- expand-call
- expand-expr
- expand
- syntax-type
- parse-when-list
- expand-install-global
- expand-top-sequence
- expand-sequence
- source-wrap
- wrap
- bound-id-member?
- distinct-bound-ids?
- valid-bound-ids?
- bound-id=?
- free-id=?
- resolve-identifier
- id-var-name
- same-marks?
- join-marks
- join-wraps
- smart-append
- make-binding-wrap
- extend-ribcage!
- make-empty-ribcage
- new-mark
- anti-mark
- the-anti-mark
- top-marked?
- top-wrap
- empty-wrap
- set-ribcage-labels!
- set-ribcage-marks!
- set-ribcage-symnames!
- ribcage-labels
- ribcage-marks
- ribcage-symnames
- ribcage?
- make-ribcage
- gen-labels
- gen-label
- make-rename
- rename-marks
- rename-new
- rename-old
- subst-rename?
- wrap-subst
- wrap-marks
- make-wrap
- id-sym-name&marks
- id-sym-name
- id?
- nonsymbol-id?
- global-extend
- macros-only-env
- extend-var-env
- extend-env
- null-env
- binding-value
- binding-type
- make-binding
- arg-check
- source-annotation
- no-source
- set-syntax-object-module!
- set-syntax-object-wrap!
- set-syntax-object-expression!
- syntax-object-module
- syntax-object-wrap
- syntax-object-expression
- syntax-object?
- make-syntax-object
- build-lexical-var
- build-letrec
- build-named-let
- build-let
- build-sequence
- build-data
- build-primref
- build-primcall
- build-lambda-case
- build-case-lambda
- build-simple-lambda
- build-global-definition
- build-global-assignment
- build-global-reference
- analyze-variable
- build-lexical-assignment
- build-lexical-reference
- build-dynlet
- build-conditional
- build-call
- build-void
- maybe-name-value!
- decorate-source
- get-global-definition-hook
- put-global-definition-hook
- gensym-hook
- local-eval-hook
- top-level-eval-hook
- fx<
- fx=
- fx-
- fx+
- set-lambda-meta!
- lambda-meta
- lambda?
- make-dynlet
- make-letrec
- make-let
- make-lambda-case
- make-lambda
- make-seq
- make-primcall
- make-call
- make-conditional
- make-toplevel-define
- make-toplevel-set
- make-toplevel-ref
- make-module-set
- make-module-ref
- make-lexical-set
- make-lexical-ref
- make-primitive-ref
- make-const
- make-void)
- ((top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top))
- ("i24298"
- "i24296"
- "i24294"
- "i24292"
- "i24290"
- "i24288"
- "i24286"
- "i24284"
- "i24282"
- "i24280"
- "i24278"
- "i24276"
- "i24274"
- "i24272"
- "i24270"
- "i24268"
- "i24266"
- "i24264"
- "i24262"
- "i24260"
- "i24258"
- "i24256"
- "i24254"
- "i24252"
- "i24250"
- "i24248"
- "i24246"
- "i24244"
- "i24242"
- "i24240"
- "i24238"
- "i24236"
- "i24234"
- "i24232"
- "i24230"
- "i24228"
- "i24227"
- "i24225"
- "i24222"
- "i24221"
- "i24220"
- "i24218"
- "i24217"
- "i24215"
- "i24213"
- "i24211"
- "i24209"
- "i24207"
- "i24205"
- "i24203"
- "i24201"
- "i24198"
- "i24196"
- "i24195"
- "i24193"
- "i24191"
- "i24189"
- "i24187"
- "i24186"
- "i24185"
- "i24184"
- "i24182"
- "i24181"
- "i24178"
- "i24176"
- "i24174"
- "i24172"
- "i24170"
- "i24168"
- "i24167"
- "i24166"
- "i24164"
- "i24162"
- "i24161"
- "i24158"
- "i24157"
- "i24155"
- "i24153"
- "i24151"
- "i24149"
- "i24147"
- "i24145"
- "i24143"
- "i24141"
- "i24139"
- "i24136"
- "i24134"
- "i24132"
- "i24130"
- "i24128"
- "i24126"
- "i24124"
- "i24122"
- "i24120"
- "i24118"
- "i24116"
- "i24114"
- "i24112"
- "i24110"
- "i24108"
- "i24106"
- "i24104"
- "i24102"
- "i24100"
- "i24098"
- "i24096"
- "i24094"
- "i24092"
- "i24090"
- "i24089"
- "i24086"
- "i24084"
- "i24083"
- "i24082"
- "i24081"
- "i24080"
- "i24078"
- "i24076"
- "i24074"
- "i24071"
- "i24069"
- "i24067"
- "i24065"
- "i24063"
- "i24061"
- "i24059"
- "i24057"
- "i24055"
- "i24053"
- "i24051"
- "i24049"
- "i24047"
- "i24045"
- "i24043"
- "i24041"
- "i24039"
- "i24037"
- "i24035"))
- #(ribcage
- (define-structure
- define-expansion-accessors
- define-expansion-constructors)
- ((top) (top) (top))
- ("i23873" "i23872" "i23871"))
- #(ribcage () () ()))
- (hygiene guile))
- #{mod 35693}#))))
- (values
- (#{remodulate 35670}#
- #{exp 35694}#
- #{mod 35695}#)
- #{r 35668}#
- #{w 35669}#
- (#{source-annotation 28232}# #{exp 35694}#)
- #{mod 35695}#)))
- #{tmp 35672}#)
- (syntax-violation
- #f
- "source expression failed to match any pattern"
- #{e 35667}#))))))
- (#{global-extend 28236}#
- 'core
- 'if
- (lambda (#{e 36078}#
- #{r 36079}#
- #{w 36080}#
- #{s 36081}#
- #{mod 36082}#)
- (let ((#{tmp 36084}#
- ($sc-dispatch #{e 36078}# '(_ any any))))
- (if #{tmp 36084}#
- (@apply
- (lambda (#{test 36088}# #{then 36089}#)
- (#{build-conditional 28206}#
- #{s 36081}#
- (#{expand 28271}#
- #{test 36088}#
- #{r 36079}#
- #{w 36080}#
- #{mod 36082}#)
- (#{expand 28271}#
- #{then 36089}#
- #{r 36079}#
- #{w 36080}#
- #{mod 36082}#)
- (make-struct/no-tail
- (vector-ref %expanded-vtables 0)
- #f)))
- #{tmp 36084}#)
- (let ((#{tmp 36338}#
- ($sc-dispatch #{e 36078}# '(_ any any any))))
- (if #{tmp 36338}#
- (@apply
- (lambda (#{test 36342}# #{then 36343}# #{else 36344}#)
- (#{build-conditional 28206}#
- #{s 36081}#
- (#{expand 28271}#
- #{test 36342}#
- #{r 36079}#
- #{w 36080}#
- #{mod 36082}#)
- (#{expand 28271}#
- #{then 36343}#
- #{r 36079}#
- #{w 36080}#
- #{mod 36082}#)
- (#{expand 28271}#
- #{else 36344}#
- #{r 36079}#
- #{w 36080}#
- #{mod 36082}#)))
- #{tmp 36338}#)
- (syntax-violation
- #f
- "source expression failed to match any pattern"
- #{e 36078}#)))))))
- (#{global-extend 28236}#
- 'core
- 'with-fluids
- (lambda (#{e 36783}#
- #{r 36784}#
- #{w 36785}#
- #{s 36786}#
- #{mod 36787}#)
- (let ((#{tmp 36789}#
- ($sc-dispatch
- #{e 36783}#
- '(_ #(each (any any)) any . each-any))))
- (if #{tmp 36789}#
- (@apply
- (lambda (#{fluid 36793}#
- #{val 36794}#
- #{b 36795}#
- #{b* 36796}#)
- (#{build-dynlet 28207}#
- #{s 36786}#
- (map (lambda (#{x 36885}#)
- (#{expand 28271}#
- #{x 36885}#
- #{r 36784}#
- #{w 36785}#
- #{mod 36787}#))
- #{fluid 36793}#)
- (map (lambda (#{x 36963}#)
- (#{expand 28271}#
- #{x 36963}#
- #{r 36784}#
- #{w 36785}#
- #{mod 36787}#))
- #{val 36794}#)
- (#{expand-body 28275}#
- (cons #{b 36795}# #{b* 36796}#)
- (let ((#{x 37052}#
- (begin
- (if (if (pair? #{e 36783}#) #{s 36786}# #f)
- (set-source-properties!
- #{e 36783}#
- #{s 36786}#))
- #{e 36783}#)))
- (if (if (null? (car #{w 36785}#))
- (null? (cdr #{w 36785}#))
- #f)
- #{x 37052}#
- (if (if (vector? #{x 37052}#)
- (if (= (vector-length #{x 37052}#) 4)
- (eq? (vector-ref #{x 37052}# 0) 'syntax-object)
- #f)
- #f)
- (let ((#{expression 37084}#
- (vector-ref #{x 37052}# 1))
- (#{wrap 37085}#
- (let ((#{w2 37093}#
- (vector-ref #{x 37052}# 2)))
- (let ((#{m1 37094}# (car #{w 36785}#))
- (#{s1 37095}# (cdr #{w 36785}#)))
- (if (null? #{m1 37094}#)
- (if (null? #{s1 37095}#)
- #{w2 37093}#
- (cons (car #{w2 37093}#)
- (let ((#{m2 37110}#
- (cdr #{w2 37093}#)))
- (if (null? #{m2 37110}#)
- #{s1 37095}#
- (append
- #{s1 37095}#
- #{m2 37110}#)))))
- (cons (let ((#{m2 37118}#
- (car #{w2 37093}#)))
- (if (null? #{m2 37118}#)
- #{m1 37094}#
- (append
- #{m1 37094}#
- #{m2 37118}#)))
- (let ((#{m2 37126}#
- (cdr #{w2 37093}#)))
- (if (null? #{m2 37126}#)
- #{s1 37095}#
- (append
- #{s1 37095}#
- #{m2 37126}#))))))))
- (#{module 37086}# (vector-ref #{x 37052}# 3)))
- (vector
- 'syntax-object
- #{expression 37084}#
- #{wrap 37085}#
- #{module 37086}#))
- (if (null? #{x 37052}#)
- #{x 37052}#
- (vector
- 'syntax-object
- #{x 37052}#
- #{w 36785}#
- #{mod 36787}#)))))
- #{r 36784}#
- #{w 36785}#
- #{mod 36787}#)))
- #{tmp 36789}#)
- (syntax-violation
- #f
- "source expression failed to match any pattern"
- #{e 36783}#)))))
- (module-define!
- (current-module)
- 'begin
- (make-syntax-transformer 'begin 'begin '()))
- (module-define!
- (current-module)
- 'define
- (make-syntax-transformer 'define 'define '()))
- (module-define!
- (current-module)
- 'define-syntax
- (make-syntax-transformer
- 'define-syntax
- 'define-syntax
- '()))
- (module-define!
- (current-module)
- 'define-syntax-parameter
- (make-syntax-transformer
- 'define-syntax-parameter
- 'define-syntax-parameter
- '()))
- (module-define!
- (current-module)
- 'eval-when
- (make-syntax-transformer
- 'eval-when
- 'eval-when
- '()))
- (#{global-extend 28236}#
- 'core
- 'syntax-case
- (letrec*
- ((#{convert-pattern 37426}#
- (lambda (#{pattern 39048}# #{keys 39049}#)
- (letrec*
- ((#{cvt* 39050}#
- (lambda (#{p* 39849}# #{n 39850}# #{ids 39851}#)
- (if (not (pair? #{p* 39849}#))
- (#{cvt 39052}#
- #{p* 39849}#
- #{n 39850}#
- #{ids 39851}#)
- (call-with-values
- (lambda ()
- (#{cvt* 39050}#
- (cdr #{p* 39849}#)
- #{n 39850}#
- #{ids 39851}#))
- (lambda (#{y 39854}# #{ids 39855}#)
- (call-with-values
- (lambda ()
- (#{cvt 39052}#
- (car #{p* 39849}#)
- #{n 39850}#
- #{ids 39855}#))
- (lambda (#{x 39858}# #{ids 39859}#)
- (values
- (cons #{x 39858}# #{y 39854}#)
- #{ids 39859}#))))))))
- (#{v-reverse 39051}#
- (lambda (#{x 39860}#)
- (letrec*
- ((#{loop 39861}#
- (lambda (#{r 39962}# #{x 39963}#)
- (if (not (pair? #{x 39963}#))
- (values #{r 39962}# #{x 39963}#)
- (#{loop 39861}#
- (cons (car #{x 39963}#) #{r 39962}#)
- (cdr #{x 39963}#))))))
- (#{loop 39861}# '() #{x 39860}#))))
- (#{cvt 39052}#
- (lambda (#{p 39055}# #{n 39056}# #{ids 39057}#)
- (if (if (symbol? #{p 39055}#)
- #t
- (if (if (vector? #{p 39055}#)
- (if (= (vector-length #{p 39055}#) 4)
- (eq? (vector-ref #{p 39055}# 0)
- 'syntax-object)
- #f)
- #f)
- (symbol? (vector-ref #{p 39055}# 1))
- #f))
- (if (#{bound-id-member? 28263}#
- #{p 39055}#
- #{keys 39049}#)
- (values
- (vector 'free-id #{p 39055}#)
- #{ids 39057}#)
- (if (#{free-id=? 28259}#
- #{p 39055}#
- '#(syntax-object
- _
- ((top)
- #(ribcage () () ())
- #(ribcage
- #(p n ids)
- #((top) (top) (top))
- #("i27675" "i27676" "i27677"))
- #(ribcage
- (cvt v-reverse cvt*)
- ((top) (top) (top))
- ("i27648" "i27646" "i27644"))
- #(ribcage
- #(pattern keys)
- #((top) (top))
- #("i27642" "i27643"))
- #(ribcage
- (gen-syntax-case
- gen-clause
- build-dispatch-call
- convert-pattern)
- ((top) (top) (top) (top))
- ("i27638" "i27636" "i27634" "i27632"))
- #(ribcage
- (lambda-var-list
- gen-var
- strip
- expand-lambda-case
- lambda*-formals
- expand-simple-lambda
- lambda-formals
- ellipsis?
- expand-void
- eval-local-transformer
- expand-local-syntax
- expand-body
- expand-macro
- expand-call
- expand-expr
- expand
- syntax-type
- parse-when-list
- expand-install-global
- expand-top-sequence
- expand-sequence
- source-wrap
- wrap
- bound-id-member?
- distinct-bound-ids?
- valid-bound-ids?
- bound-id=?
- free-id=?
- resolve-identifier
- id-var-name
- same-marks?
- join-marks
- join-wraps
- smart-append
- make-binding-wrap
- extend-ribcage!
- make-empty-ribcage
- new-mark
- anti-mark
- the-anti-mark
- top-marked?
- top-wrap
- empty-wrap
- set-ribcage-labels!
- set-ribcage-marks!
- set-ribcage-symnames!
- ribcage-labels
- ribcage-marks
- ribcage-symnames
- ribcage?
- make-ribcage
- gen-labels
- gen-label
- make-rename
- rename-marks
- rename-new
- rename-old
- subst-rename?
- wrap-subst
- wrap-marks
- make-wrap
- id-sym-name&marks
- id-sym-name
- id?
- nonsymbol-id?
- global-extend
- macros-only-env
- extend-var-env
- extend-env
- null-env
- binding-value
- binding-type
- make-binding
- arg-check
- source-annotation
- no-source
- set-syntax-object-module!
- set-syntax-object-wrap!
- set-syntax-object-expression!
- syntax-object-module
- syntax-object-wrap
- syntax-object-expression
- syntax-object?
- make-syntax-object
- build-lexical-var
- build-letrec
- build-named-let
- build-let
- build-sequence
- build-data
- build-primref
- build-primcall
- build-lambda-case
- build-case-lambda
- build-simple-lambda
- build-global-definition
- build-global-assignment
- build-global-reference
- analyze-variable
- build-lexical-assignment
- build-lexical-reference
- build-dynlet
- build-conditional
- build-call
- build-void
- maybe-name-value!
- decorate-source
- get-global-definition-hook
- put-global-definition-hook
- gensym-hook
- local-eval-hook
- top-level-eval-hook
- fx<
- fx=
- fx-
- fx+
- set-lambda-meta!
- lambda-meta
- lambda?
- make-dynlet
- make-letrec
- make-let
- make-lambda-case
- make-lambda
- make-seq
- make-primcall
- make-call
- make-conditional
- make-toplevel-define
- make-toplevel-set
- make-toplevel-ref
- make-module-set
- make-module-ref
- make-lexical-set
- make-lexical-ref
- make-primitive-ref
- make-const
- make-void)
- ((top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top))
- ("i24298"
- "i24296"
- "i24294"
- "i24292"
- "i24290"
- "i24288"
- "i24286"
- "i24284"
- "i24282"
- "i24280"
- "i24278"
- "i24276"
- "i24274"
- "i24272"
- "i24270"
- "i24268"
- "i24266"
- "i24264"
- "i24262"
- "i24260"
- "i24258"
- "i24256"
- "i24254"
- "i24252"
- "i24250"
- "i24248"
- "i24246"
- "i24244"
- "i24242"
- "i24240"
- "i24238"
- "i24236"
- "i24234"
- "i24232"
- "i24230"
- "i24228"
- "i24227"
- "i24225"
- "i24222"
- "i24221"
- "i24220"
- "i24218"
- "i24217"
- "i24215"
- "i24213"
- "i24211"
- "i24209"
- "i24207"
- "i24205"
- "i24203"
- "i24201"
- "i24198"
- "i24196"
- "i24195"
- "i24193"
- "i24191"
- "i24189"
- "i24187"
- "i24186"
- "i24185"
- "i24184"
- "i24182"
- "i24181"
- "i24178"
- "i24176"
- "i24174"
- "i24172"
- "i24170"
- "i24168"
- "i24167"
- "i24166"
- "i24164"
- "i24162"
- "i24161"
- "i24158"
- "i24157"
- "i24155"
- "i24153"
- "i24151"
- "i24149"
- "i24147"
- "i24145"
- "i24143"
- "i24141"
- "i24139"
- "i24136"
- "i24134"
- "i24132"
- "i24130"
- "i24128"
- "i24126"
- "i24124"
- "i24122"
- "i24120"
- "i24118"
- "i24116"
- "i24114"
- "i24112"
- "i24110"
- "i24108"
- "i24106"
- "i24104"
- "i24102"
- "i24100"
- "i24098"
- "i24096"
- "i24094"
- "i24092"
- "i24090"
- "i24089"
- "i24086"
- "i24084"
- "i24083"
- "i24082"
- "i24081"
- "i24080"
- "i24078"
- "i24076"
- "i24074"
- "i24071"
- "i24069"
- "i24067"
- "i24065"
- "i24063"
- "i24061"
- "i24059"
- "i24057"
- "i24055"
- "i24053"
- "i24051"
- "i24049"
- "i24047"
- "i24045"
- "i24043"
- "i24041"
- "i24039"
- "i24037"
- "i24035"))
- #(ribcage
- (define-structure
- define-expansion-accessors
- define-expansion-constructors)
- ((top) (top) (top))
- ("i23873" "i23872" "i23871"))
- #(ribcage () () ()))
- (hygiene guile)))
- (values '_ #{ids 39057}#)
- (values
- 'any
- (cons (cons #{p 39055}# #{n 39056}#)
- #{ids 39057}#))))
- (let ((#{tmp 39189}#
- ($sc-dispatch #{p 39055}# '(any any))))
- (if (if #{tmp 39189}#
- (@apply
- (lambda (#{x 39193}# #{dots 39194}#)
- (if (if (if (vector? #{dots 39194}#)
- (if (= (vector-length
- #{dots 39194}#)
- 4)
- (eq? (vector-ref
- #{dots 39194}#
- 0)
- 'syntax-object)
- #f)
- #f)
- (symbol? (vector-ref #{dots 39194}# 1))
- #f)
- (#{free-id=? 28259}#
- #{dots 39194}#
- '#(syntax-object
- ...
- ((top)
- #(ribcage () () ())
- #(ribcage () () ())
- #(ribcage #(x) #((top)) #("i26166"))
- #(ribcage
- (lambda-var-list
- gen-var
- strip
- expand-lambda-case
- lambda*-formals
- expand-simple-lambda
- lambda-formals
- ellipsis?
- expand-void
- eval-local-transformer
- expand-local-syntax
- expand-body
- expand-macro
- expand-call
- expand-expr
- expand
- syntax-type
- parse-when-list
- expand-install-global
- expand-top-sequence
- expand-sequence
- source-wrap
- wrap
- bound-id-member?
- distinct-bound-ids?
- valid-bound-ids?
- bound-id=?
- free-id=?
- resolve-identifier
- id-var-name
- same-marks?
- join-marks
- join-wraps
- smart-append
- make-binding-wrap
- extend-ribcage!
- make-empty-ribcage
- new-mark
- anti-mark
- the-anti-mark
- top-marked?
- top-wrap
- empty-wrap
- set-ribcage-labels!
- set-ribcage-marks!
- set-ribcage-symnames!
- ribcage-labels
- ribcage-marks
- ribcage-symnames
- ribcage?
- make-ribcage
- gen-labels
- gen-label
- make-rename
- rename-marks
- rename-new
- rename-old
- subst-rename?
- wrap-subst
- wrap-marks
- make-wrap
- id-sym-name&marks
- id-sym-name
- id?
- nonsymbol-id?
- global-extend
- macros-only-env
- extend-var-env
- extend-env
- null-env
- binding-value
- binding-type
- make-binding
- arg-check
- source-annotation
- no-source
- set-syntax-object-module!
- set-syntax-object-wrap!
- set-syntax-object-expression!
- syntax-object-module
- syntax-object-wrap
- syntax-object-expression
- syntax-object?
- make-syntax-object
- build-lexical-var
- build-letrec
- build-named-let
- build-let
- build-sequence
- build-data
- build-primref
- build-primcall
- build-lambda-case
- build-case-lambda
- build-simple-lambda
- build-global-definition
- build-global-assignment
- build-global-reference
- analyze-variable
- build-lexical-assignment
- build-lexical-reference
- build-dynlet
- build-conditional
- build-call
- build-void
- maybe-name-value!
- decorate-source
- get-global-definition-hook
- put-global-definition-hook
- gensym-hook
- local-eval-hook
- top-level-eval-hook
- fx<
- fx=
- fx-
- fx+
- set-lambda-meta!
- lambda-meta
- lambda?
- make-dynlet
- make-letrec
- make-let
- make-lambda-case
- make-lambda
- make-seq
- make-primcall
- make-call
- make-conditional
- make-toplevel-define
- make-toplevel-set
- make-toplevel-ref
- make-module-set
- make-module-ref
- make-lexical-set
- make-lexical-ref
- make-primitive-ref
- make-const
- make-void)
- ((top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top))
- ("i24298"
- "i24296"
- "i24294"
- "i24292"
- "i24290"
- "i24288"
- "i24286"
- "i24284"
- "i24282"
- "i24280"
- "i24278"
- "i24276"
- "i24274"
- "i24272"
- "i24270"
- "i24268"
- "i24266"
- "i24264"
- "i24262"
- "i24260"
- "i24258"
- "i24256"
- "i24254"
- "i24252"
- "i24250"
- "i24248"
- "i24246"
- "i24244"
- "i24242"
- "i24240"
- "i24238"
- "i24236"
- "i24234"
- "i24232"
- "i24230"
- "i24228"
- "i24227"
- "i24225"
- "i24222"
- "i24221"
- "i24220"
- "i24218"
- "i24217"
- "i24215"
- "i24213"
- "i24211"
- "i24209"
- "i24207"
- "i24205"
- "i24203"
- "i24201"
- "i24198"
- "i24196"
- "i24195"
- "i24193"
- "i24191"
- "i24189"
- "i24187"
- "i24186"
- "i24185"
- "i24184"
- "i24182"
- "i24181"
- "i24178"
- "i24176"
- "i24174"
- "i24172"
- "i24170"
- "i24168"
- "i24167"
- "i24166"
- "i24164"
- "i24162"
- "i24161"
- "i24158"
- "i24157"
- "i24155"
- "i24153"
- "i24151"
- "i24149"
- "i24147"
- "i24145"
- "i24143"
- "i24141"
- "i24139"
- "i24136"
- "i24134"
- "i24132"
- "i24130"
- "i24128"
- "i24126"
- "i24124"
- "i24122"
- "i24120"
- "i24118"
- "i24116"
- "i24114"
- "i24112"
- "i24110"
- "i24108"
- "i24106"
- "i24104"
- "i24102"
- "i24100"
- "i24098"
- "i24096"
- "i24094"
- "i24092"
- "i24090"
- "i24089"
- "i24086"
- "i24084"
- "i24083"
- "i24082"
- "i24081"
- "i24080"
- "i24078"
- "i24076"
- "i24074"
- "i24071"
- "i24069"
- "i24067"
- "i24065"
- "i24063"
- "i24061"
- "i24059"
- "i24057"
- "i24055"
- "i24053"
- "i24051"
- "i24049"
- "i24047"
- "i24045"
- "i24043"
- "i24041"
- "i24039"
- "i24037"
- "i24035"))
- #(ribcage
- (define-structure
- define-expansion-accessors
- define-expansion-constructors)
- ((top) (top) (top))
- ("i23873" "i23872" "i23871"))
- #(ribcage () () ()))
- (hygiene guile)))
- #f))
- #{tmp 39189}#)
- #f)
- (@apply
- (lambda (#{x 39233}# #{dots 39234}#)
- (call-with-values
- (lambda ()
- (#{cvt 39052}#
- #{x 39233}#
- (#{1+}# #{n 39056}#)
- #{ids 39057}#))
- (lambda (#{p 39235}# #{ids 39236}#)
- (values
- (if (eq? #{p 39235}# 'any)
- 'each-any
- (vector 'each #{p 39235}#))
- #{ids 39236}#))))
- #{tmp 39189}#)
- (let ((#{tmp 39237}#
- ($sc-dispatch #{p 39055}# '(any any . any))))
- (if (if #{tmp 39237}#
- (@apply
- (lambda (#{x 39241}#
- #{dots 39242}#
- #{ys 39243}#)
- (if (if (if (vector? #{dots 39242}#)
- (if (= (vector-length
- #{dots 39242}#)
- 4)
- (eq? (vector-ref
- #{dots 39242}#
- 0)
- 'syntax-object)
- #f)
- #f)
- (symbol?
- (vector-ref #{dots 39242}# 1))
- #f)
- (#{free-id=? 28259}#
- #{dots 39242}#
- '#(syntax-object
- ...
- ((top)
- #(ribcage () () ())
- #(ribcage () () ())
- #(ribcage
- #(x)
- #((top))
- #("i26166"))
- #(ribcage
- (lambda-var-list
- gen-var
- strip
- expand-lambda-case
- lambda*-formals
- expand-simple-lambda
- lambda-formals
- ellipsis?
- expand-void
- eval-local-transformer
- expand-local-syntax
- expand-body
- expand-macro
- expand-call
- expand-expr
- expand
- syntax-type
- parse-when-list
- expand-install-global
- expand-top-sequence
- expand-sequence
- source-wrap
- wrap
- bound-id-member?
- distinct-bound-ids?
- valid-bound-ids?
- bound-id=?
- free-id=?
- resolve-identifier
- id-var-name
- same-marks?
- join-marks
- join-wraps
- smart-append
- make-binding-wrap
- extend-ribcage!
- make-empty-ribcage
- new-mark
- anti-mark
- the-anti-mark
- top-marked?
- top-wrap
- empty-wrap
- set-ribcage-labels!
- set-ribcage-marks!
- set-ribcage-symnames!
- ribcage-labels
- ribcage-marks
- ribcage-symnames
- ribcage?
- make-ribcage
- gen-labels
- gen-label
- make-rename
- rename-marks
- rename-new
- rename-old
- subst-rename?
- wrap-subst
- wrap-marks
- make-wrap
- id-sym-name&marks
- id-sym-name
- id?
- nonsymbol-id?
- global-extend
- macros-only-env
- extend-var-env
- extend-env
- null-env
- binding-value
- binding-type
- make-binding
- arg-check
- source-annotation
- no-source
- set-syntax-object-module!
- set-syntax-object-wrap!
- set-syntax-object-expression!
- syntax-object-module
- syntax-object-wrap
- syntax-object-expression
- syntax-object?
- make-syntax-object
- build-lexical-var
- build-letrec
- build-named-let
- build-let
- build-sequence
- build-data
- build-primref
- build-primcall
- build-lambda-case
- build-case-lambda
- build-simple-lambda
- build-global-definition
- build-global-assignment
- build-global-reference
- analyze-variable
- build-lexical-assignment
- build-lexical-reference
- build-dynlet
- build-conditional
- build-call
- build-void
- maybe-name-value!
- decorate-source
- get-global-definition-hook
- put-global-definition-hook
- gensym-hook
- local-eval-hook
- top-level-eval-hook
- fx<
- fx=
- fx-
- fx+
- set-lambda-meta!
- lambda-meta
- lambda?
- make-dynlet
- make-letrec
- make-let
- make-lambda-case
- make-lambda
- make-seq
- make-primcall
- make-call
- make-conditional
- make-toplevel-define
- make-toplevel-set
- make-toplevel-ref
- make-module-set
- make-module-ref
- make-lexical-set
- make-lexical-ref
- make-primitive-ref
- make-const
- make-void)
- ((top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top))
- ("i24298"
- "i24296"
- "i24294"
- "i24292"
- "i24290"
- "i24288"
- "i24286"
- "i24284"
- "i24282"
- "i24280"
- "i24278"
- "i24276"
- "i24274"
- "i24272"
- "i24270"
- "i24268"
- "i24266"
- "i24264"
- "i24262"
- "i24260"
- "i24258"
- "i24256"
- "i24254"
- "i24252"
- "i24250"
- "i24248"
- "i24246"
- "i24244"
- "i24242"
- "i24240"
- "i24238"
- "i24236"
- "i24234"
- "i24232"
- "i24230"
- "i24228"
- "i24227"
- "i24225"
- "i24222"
- "i24221"
- "i24220"
- "i24218"
- "i24217"
- "i24215"
- "i24213"
- "i24211"
- "i24209"
- "i24207"
- "i24205"
- "i24203"
- "i24201"
- "i24198"
- "i24196"
- "i24195"
- "i24193"
- "i24191"
- "i24189"
- "i24187"
- "i24186"
- "i24185"
- "i24184"
- "i24182"
- "i24181"
- "i24178"
- "i24176"
- "i24174"
- "i24172"
- "i24170"
- "i24168"
- "i24167"
- "i24166"
- "i24164"
- "i24162"
- "i24161"
- "i24158"
- "i24157"
- "i24155"
- "i24153"
- "i24151"
- "i24149"
- "i24147"
- "i24145"
- "i24143"
- "i24141"
- "i24139"
- "i24136"
- "i24134"
- "i24132"
- "i24130"
- "i24128"
- "i24126"
- "i24124"
- "i24122"
- "i24120"
- "i24118"
- "i24116"
- "i24114"
- "i24112"
- "i24110"
- "i24108"
- "i24106"
- "i24104"
- "i24102"
- "i24100"
- "i24098"
- "i24096"
- "i24094"
- "i24092"
- "i24090"
- "i24089"
- "i24086"
- "i24084"
- "i24083"
- "i24082"
- "i24081"
- "i24080"
- "i24078"
- "i24076"
- "i24074"
- "i24071"
- "i24069"
- "i24067"
- "i24065"
- "i24063"
- "i24061"
- "i24059"
- "i24057"
- "i24055"
- "i24053"
- "i24051"
- "i24049"
- "i24047"
- "i24045"
- "i24043"
- "i24041"
- "i24039"
- "i24037"
- "i24035"))
- #(ribcage
- (define-structure
- define-expansion-accessors
-
define-expansion-constructors)
- ((top) (top) (top))
- ("i23873" "i23872" "i23871"))
- #(ribcage () () ()))
- (hygiene guile)))
- #f))
- #{tmp 39237}#)
- #f)
- (@apply
- (lambda (#{x 39282}#
- #{dots 39283}#
- #{ys 39284}#)
- (call-with-values
- (lambda ()
- (#{cvt* 39050}#
- #{ys 39284}#
- #{n 39056}#
- #{ids 39057}#))
- (lambda (#{ys 39769}# #{ids 39770}#)
- (call-with-values
- (lambda ()
- (#{cvt 39052}#
- #{x 39282}#
- (#{1+}# #{n 39056}#)
- #{ids 39770}#))
- (lambda (#{x 39771}# #{ids 39772}#)
- (call-with-values
- (lambda ()
- (#{v-reverse 39051}#
- #{ys 39769}#))
- (lambda (#{ys 39808}# #{e 39809}#)
- (values
+
e-25084
+
2)))
+ (let
((m1-26115
+
(car w-25086))
+
(s1-26116
+
(cdr w-25086)))
+ (if
(null? m1-26115)
+ (if
(null? s1-26116)
+
w2-26114
+
(cons (car w2-26114)
+
(let ((m2-26133
+
(cdr w2-26114)))
+
(if (null? m2-26133)
+
s1-26116
+
(append
+
s1-26116
+
m2-26133)))))
+ (cons
(let ((m2-26141
+
(car w2-26114)))
+
(if (null? m2-26141)
+
m1-26115
+
(append
+
m1-26115
+
m2-26141)))
+
(let ((m2-26149
+
(cdr w2-26114)))
+
(if (null? m2-26149)
+
s1-26116
+
(append
+
s1-26116
+
m2-26149))))))))
+ (module-26105
+ (vector-ref
+ e-25084
+ 3)))
+ (vector
+ 'syntax-object
+ expression-26103
+ wrap-26104
+ module-26105))
+ (if (null? e-25084)
+ e-25084
+ (vector
+ 'syntax-object
+ e-25084
+ w-25086
+ mod-25089))))
+ '(#(syntax-object
+ if
+ ((top)
+ #(ribcage
+ #(name)
+ #((top))
+ #("l-*-2034"))
+ #(ribcage () () ())
+ #(ribcage () () ())
+ #(ribcage
+ #(ftype
+ fval
+ fform
+ fe
+ fw
+ fs
+ fmod)
+ #((top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top))
+ #("l-*-1973"
+ "l-*-1974"
+ "l-*-1975"
+ "l-*-1976"
+ "l-*-1977"
+ "l-*-1978"
+ "l-*-1979"))
+ #(ribcage () () ())
+ #(ribcage
+ #(first)
+ #((top))
+ #("l-*-1964"))
+ #(ribcage () () ())
+ #(ribcage () () ())
+ #(ribcage () () ())
+ #(ribcage
+ #(e
+ r
+ w
+ s
+ rib
+ mod
+ for-car?)
+ #((top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top))
+ #("l-*-1943"
+ "l-*-1944"
+ "l-*-1945"
+ "l-*-1946"
+ "l-*-1947"
+ "l-*-1948"
+ "l-*-1949"))
+ #(ribcage
+ (lambda-var-list
+ gen-var
+ strip
+
expand-lambda-case
+ lambda*-formals
+
expand-simple-lambda
+ lambda-formals
+ ellipsis?
+ expand-void
+
eval-local-transformer
+
expand-local-syntax
+ expand-body
+ expand-macro
+ expand-call
+ expand-expr
+ expand
+ syntax-type
+ parse-when-list
+
expand-install-global
+
expand-top-sequence
+ expand-sequence
+ source-wrap
+ wrap
+
bound-id-member?
+
distinct-bound-ids?
+
valid-bound-ids?
+ bound-id=?
+ free-id=?
+
with-transformer-environment
+
transformer-environment
+
resolve-identifier
+
locally-bound-identifiers
+ id-var-name
+ same-marks?
+ join-marks
+ join-wraps
+ smart-append
+
make-binding-wrap
+ extend-ribcage!
+
make-empty-ribcage
+ new-mark
+ anti-mark
+ the-anti-mark
+ top-marked?
+ top-wrap
+ empty-wrap
+
set-ribcage-labels!
+
set-ribcage-marks!
+
set-ribcage-symnames!
+ ribcage-labels
+ ribcage-marks
+
ribcage-symnames
+ ribcage?
+ make-ribcage
+ gen-labels
+ gen-label
+ make-rename
+ rename-marks
+ rename-new
+ rename-old
+ subst-rename?
+ wrap-subst
+ wrap-marks
+ make-wrap
+
id-sym-name&marks
+ id-sym-name
+ id?
+ nonsymbol-id?
+ global-extend
+ macros-only-env
+ extend-var-env
+ extend-env
+ null-env
+ binding-value
+ binding-type
+ make-binding
+ arg-check
+
source-annotation
+ no-source
+
set-syntax-object-module!
+
set-syntax-object-wrap!
+
set-syntax-object-expression!
+
syntax-object-module
+
syntax-object-wrap
+
syntax-object-expression
+ syntax-object?
+
make-syntax-object
+
build-lexical-var
+ build-letrec
+ build-named-let
+ build-let
+ build-sequence
+ build-data
+ build-primref
+ build-primcall
+
build-lambda-case
+
build-case-lambda
+
build-simple-lambda
+
build-global-definition
+
build-global-assignment
+
build-global-reference
+
analyze-variable
+
build-lexical-assignment
+
build-lexical-reference
+ build-dynlet
+
build-conditional
+ build-call
+ build-void
+
maybe-name-value!
+ decorate-source
+
get-global-definition-hook
+
put-global-definition-hook
+ session-id
+ local-eval-hook
+
top-level-eval-hook
+ fx<
+ fx=
+ fx-
+ fx+
+
set-lambda-meta!
+ lambda-meta
+ lambda?
+ make-dynlet
+ make-letrec
+ make-let
+
make-lambda-case
+ make-lambda
+ make-seq
+ make-primcall
+ make-call
+
make-conditional
+
make-toplevel-define
+
make-toplevel-set
+
make-toplevel-ref
+ make-module-set
+ make-module-ref
+
make-lexical-set
+
make-lexical-ref
+
make-primitive-ref
+ make-const
+ make-void)
+ ((top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top))
+ ("l-*-478"
+ "l-*-476"
+ "l-*-474"
+ "l-*-472"
+ "l-*-470"
+ "l-*-468"
+ "l-*-466"
+ "l-*-464"
+ "l-*-462"
+ "l-*-460"
+ "l-*-458"
+ "l-*-456"
+ "l-*-454"
+ "l-*-452"
+ "l-*-450"
+ "l-*-448"
+ "l-*-446"
+ "l-*-444"
+ "l-*-442"
+ "l-*-440"
+ "l-*-438"
+ "l-*-436"
+ "l-*-434"
+ "l-*-432"
+ "l-*-430"
+ "l-*-428"
+ "l-*-426"
+ "l-*-424"
+ "l-*-422"
+ "l-*-420"
+ "l-*-418"
+ "l-*-416"
+ "l-*-414"
+ "l-*-412"
+ "l-*-410"
+ "l-*-408"
+ "l-*-406"
+ "l-*-404"
+ "l-*-402"
+ "l-*-401"
+ "l-*-399"
+ "l-*-396"
+ "l-*-395"
+ "l-*-394"
+ "l-*-392"
+ "l-*-391"
+ "l-*-389"
+ "l-*-387"
+ "l-*-385"
+ "l-*-383"
+ "l-*-381"
+ "l-*-379"
+ "l-*-377"
+ "l-*-375"
+ "l-*-372"
+ "l-*-370"
+ "l-*-369"
+ "l-*-367"
+ "l-*-365"
+ "l-*-363"
+ "l-*-361"
+ "l-*-360"
+ "l-*-359"
+ "l-*-358"
+ "l-*-356"
+ "l-*-355"
+ "l-*-352"
+ "l-*-350"
+ "l-*-348"
+ "l-*-346"
+ "l-*-344"
+ "l-*-342"
+ "l-*-341"
+ "l-*-340"
+ "l-*-338"
+ "l-*-336"
+ "l-*-335"
+ "l-*-332"
+ "l-*-331"
+ "l-*-329"
+ "l-*-327"
+ "l-*-325"
+ "l-*-323"
+ "l-*-321"
+ "l-*-319"
+ "l-*-317"
+ "l-*-315"
+ "l-*-313"
+ "l-*-310"
+ "l-*-308"
+ "l-*-306"
+ "l-*-304"
+ "l-*-302"
+ "l-*-300"
+ "l-*-298"
+ "l-*-296"
+ "l-*-294"
+ "l-*-292"
+ "l-*-290"
+ "l-*-288"
+ "l-*-286"
+ "l-*-284"
+ "l-*-282"
+ "l-*-280"
+ "l-*-278"
+ "l-*-276"
+ "l-*-274"
+ "l-*-272"
+ "l-*-270"
+ "l-*-268"
+ "l-*-266"
+ "l-*-264"
+ "l-*-262"
+ "l-*-260"
+ "l-*-258"
+ "l-*-257"
+ "l-*-256"
+ "l-*-255"
+ "l-*-254"
+ "l-*-252"
+ "l-*-250"
+ "l-*-248"
+ "l-*-245"
+ "l-*-243"
+ "l-*-241"
+ "l-*-239"
+ "l-*-237"
+ "l-*-235"
+ "l-*-233"
+ "l-*-231"
+ "l-*-229"
+ "l-*-227"
+ "l-*-225"
+ "l-*-223"
+ "l-*-221"
+ "l-*-219"
+ "l-*-217"
+ "l-*-215"
+ "l-*-213"
+ "l-*-211"
+ "l-*-209"))
+ #(ribcage
+ (define-structure
+
define-expansion-accessors
+
define-expansion-constructors)
+ ((top)
+ (top)
+ (top))
+ ("l-*-47"
+ "l-*-46"
+ "l-*-45"))
+ #(ribcage
+ ()
+ ()
+ ()))
+ (hygiene guile))
+ #(syntax-object
+ #f
+ ((top)
+ #(ribcage
+ #(name)
+ #((top))
+ #("l-*-2034"))
+ #(ribcage () () ())
+ #(ribcage () () ())
+ #(ribcage
+ #(ftype
+ fval
+ fform
+ fe
+ fw
+ fs
+ fmod)
+ #((top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top))
+ #("l-*-1973"
+ "l-*-1974"
+ "l-*-1975"
+ "l-*-1976"
+ "l-*-1977"
+ "l-*-1978"
+ "l-*-1979"))
+ #(ribcage () () ())
+ #(ribcage
+ #(first)
+ #((top))
+ #("l-*-1964"))
+ #(ribcage () () ())
+ #(ribcage () () ())
+ #(ribcage () () ())
+ #(ribcage
+ #(e
+ r
+ w
+ s
+ rib
+ mod
+ for-car?)
+ #((top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top))
+ #("l-*-1943"
+ "l-*-1944"
+ "l-*-1945"
+ "l-*-1946"
+ "l-*-1947"
+ "l-*-1948"
+ "l-*-1949"))
+ #(ribcage
+ (lambda-var-list
+ gen-var
+ strip
+
expand-lambda-case
+ lambda*-formals
+
expand-simple-lambda
+ lambda-formals
+ ellipsis?
+ expand-void
+
eval-local-transformer
+
expand-local-syntax
+ expand-body
+ expand-macro
+ expand-call
+ expand-expr
+ expand
+ syntax-type
+ parse-when-list
+
expand-install-global
+
expand-top-sequence
+ expand-sequence
+ source-wrap
+ wrap
+
bound-id-member?
+
distinct-bound-ids?
+
valid-bound-ids?
+ bound-id=?
+ free-id=?
+
with-transformer-environment
+
transformer-environment
+
resolve-identifier
+
locally-bound-identifiers
+ id-var-name
+ same-marks?
+ join-marks
+ join-wraps
+ smart-append
+
make-binding-wrap
+ extend-ribcage!
+
make-empty-ribcage
+ new-mark
+ anti-mark
+ the-anti-mark
+ top-marked?
+ top-wrap
+ empty-wrap
+
set-ribcage-labels!
+
set-ribcage-marks!
+
set-ribcage-symnames!
+ ribcage-labels
+ ribcage-marks
+
ribcage-symnames
+ ribcage?
+ make-ribcage
+ gen-labels
+ gen-label
+ make-rename
+ rename-marks
+ rename-new
+ rename-old
+ subst-rename?
+ wrap-subst
+ wrap-marks
+ make-wrap
+
id-sym-name&marks
+ id-sym-name
+ id?
+ nonsymbol-id?
+ global-extend
+ macros-only-env
+ extend-var-env
+ extend-env
+ null-env
+ binding-value
+ binding-type
+ make-binding
+ arg-check
+
source-annotation
+ no-source
+
set-syntax-object-module!
+
set-syntax-object-wrap!
+
set-syntax-object-expression!
+
syntax-object-module
+
syntax-object-wrap
+
syntax-object-expression
+ syntax-object?
+
make-syntax-object
+
build-lexical-var
+ build-letrec
+ build-named-let
+ build-let
+ build-sequence
+ build-data
+ build-primref
+ build-primcall
+
build-lambda-case
+
build-case-lambda
+
build-simple-lambda
+
build-global-definition
+
build-global-assignment
+
build-global-reference
+
analyze-variable
+
build-lexical-assignment
+
build-lexical-reference
+ build-dynlet
+
build-conditional
+ build-call
+ build-void
+
maybe-name-value!
+ decorate-source
+
get-global-definition-hook
+
put-global-definition-hook
+ session-id
+ local-eval-hook
+
top-level-eval-hook
+ fx<
+ fx=
+ fx-
+ fx+
+
set-lambda-meta!
+ lambda-meta
+ lambda?
+ make-dynlet
+ make-letrec
+ make-let
+
make-lambda-case
+ make-lambda
+ make-seq
+ make-primcall
+ make-call
+
make-conditional
+
make-toplevel-define
+
make-toplevel-set
+
make-toplevel-ref
+ make-module-set
+ make-module-ref
+
make-lexical-set
+
make-lexical-ref
+
make-primitive-ref
+ make-const
+ make-void)
+ ((top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top))
+ ("l-*-478"
+ "l-*-476"
+ "l-*-474"
+ "l-*-472"
+ "l-*-470"
+ "l-*-468"
+ "l-*-466"
+ "l-*-464"
+ "l-*-462"
+ "l-*-460"
+ "l-*-458"
+ "l-*-456"
+ "l-*-454"
+ "l-*-452"
+ "l-*-450"
+ "l-*-448"
+ "l-*-446"
+ "l-*-444"
+ "l-*-442"
+ "l-*-440"
+ "l-*-438"
+ "l-*-436"
+ "l-*-434"
+ "l-*-432"
+ "l-*-430"
+ "l-*-428"
+ "l-*-426"
+ "l-*-424"
+ "l-*-422"
+ "l-*-420"
+ "l-*-418"
+ "l-*-416"
+ "l-*-414"
+ "l-*-412"
+ "l-*-410"
+ "l-*-408"
+ "l-*-406"
+ "l-*-404"
+ "l-*-402"
+ "l-*-401"
+ "l-*-399"
+ "l-*-396"
+ "l-*-395"
+ "l-*-394"
+ "l-*-392"
+ "l-*-391"
+ "l-*-389"
+ "l-*-387"
+ "l-*-385"
+ "l-*-383"
+ "l-*-381"
+ "l-*-379"
+ "l-*-377"
+ "l-*-375"
+ "l-*-372"
+ "l-*-370"
+ "l-*-369"
+ "l-*-367"
+ "l-*-365"
+ "l-*-363"
+ "l-*-361"
+ "l-*-360"
+ "l-*-359"
+ "l-*-358"
+ "l-*-356"
+ "l-*-355"
+ "l-*-352"
+ "l-*-350"
+ "l-*-348"
+ "l-*-346"
+ "l-*-344"
+ "l-*-342"
+ "l-*-341"
+ "l-*-340"
+ "l-*-338"
+ "l-*-336"
+ "l-*-335"
+ "l-*-332"
+ "l-*-331"
+ "l-*-329"
+ "l-*-327"
+ "l-*-325"
+ "l-*-323"
+ "l-*-321"
+ "l-*-319"
+ "l-*-317"
+ "l-*-315"
+ "l-*-313"
+ "l-*-310"
+ "l-*-308"
+ "l-*-306"
+ "l-*-304"
+ "l-*-302"
+ "l-*-300"
+ "l-*-298"
+ "l-*-296"
+ "l-*-294"
+ "l-*-292"
+ "l-*-290"
+ "l-*-288"
+ "l-*-286"
+ "l-*-284"
+ "l-*-282"
+ "l-*-280"
+ "l-*-278"
+ "l-*-276"
+ "l-*-274"
+ "l-*-272"
+ "l-*-270"
+ "l-*-268"
+ "l-*-266"
+ "l-*-264"
+ "l-*-262"
+ "l-*-260"
+ "l-*-258"
+ "l-*-257"
+ "l-*-256"
+ "l-*-255"
+ "l-*-254"
+ "l-*-252"
+ "l-*-250"
+ "l-*-248"
+ "l-*-245"
+ "l-*-243"
+ "l-*-241"
+ "l-*-239"
+ "l-*-237"
+ "l-*-235"
+ "l-*-233"
+ "l-*-231"
+ "l-*-229"
+ "l-*-227"
+ "l-*-225"
+ "l-*-223"
+ "l-*-221"
+ "l-*-219"
+ "l-*-217"
+ "l-*-215"
+ "l-*-213"
+ "l-*-211"
+ "l-*-209"))
+ #(ribcage
+ (define-structure
+
define-expansion-accessors
+
define-expansion-constructors)
+ ((top)
+ (top)
+ (top))
+ ("l-*-47"
+ "l-*-46"
+ "l-*-45"))
+ #(ribcage
+ ()
+ ()
+ ()))
+ (hygiene guile))
+ #(syntax-object
+ #f
+ ((top)
+ #(ribcage
+ #(name)
+ #((top))
+ #("l-*-2034"))
+ #(ribcage () () ())
+ #(ribcage () () ())
+ #(ribcage
+ #(ftype
+ fval
+ fform
+ fe
+ fw
+ fs
+ fmod)
+ #((top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top))
+ #("l-*-1973"
+ "l-*-1974"
+ "l-*-1975"
+ "l-*-1976"
+ "l-*-1977"
+ "l-*-1978"
+ "l-*-1979"))
+ #(ribcage () () ())
+ #(ribcage
+ #(first)
+ #((top))
+ #("l-*-1964"))
+ #(ribcage () () ())
+ #(ribcage () () ())
+ #(ribcage () () ())
+ #(ribcage
+ #(e
+ r
+ w
+ s
+ rib
+ mod
+ for-car?)
+ #((top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top))
+ #("l-*-1943"
+ "l-*-1944"
+ "l-*-1945"
+ "l-*-1946"
+ "l-*-1947"
+ "l-*-1948"
+ "l-*-1949"))
+ #(ribcage
+ (lambda-var-list
+ gen-var
+ strip
+
expand-lambda-case
+ lambda*-formals
+
expand-simple-lambda
+ lambda-formals
+ ellipsis?
+ expand-void
+
eval-local-transformer
+
expand-local-syntax
+ expand-body
+ expand-macro
+ expand-call
+ expand-expr
+ expand
+ syntax-type
+ parse-when-list
+
expand-install-global
+
expand-top-sequence
+ expand-sequence
+ source-wrap
+ wrap
+
bound-id-member?
+
distinct-bound-ids?
+
valid-bound-ids?
+ bound-id=?
+ free-id=?
+
with-transformer-environment
+
transformer-environment
+
resolve-identifier
+
locally-bound-identifiers
+ id-var-name
+ same-marks?
+ join-marks
+ join-wraps
+ smart-append
+
make-binding-wrap
+ extend-ribcage!
+
make-empty-ribcage
+ new-mark
+ anti-mark
+ the-anti-mark
+ top-marked?
+ top-wrap
+ empty-wrap
+
set-ribcage-labels!
+
set-ribcage-marks!
+
set-ribcage-symnames!
+ ribcage-labels
+ ribcage-marks
+
ribcage-symnames
+ ribcage?
+ make-ribcage
+ gen-labels
+ gen-label
+ make-rename
+ rename-marks
+ rename-new
+ rename-old
+ subst-rename?
+ wrap-subst
+ wrap-marks
+ make-wrap
+
id-sym-name&marks
+ id-sym-name
+ id?
+ nonsymbol-id?
+ global-extend
+ macros-only-env
+ extend-var-env
+ extend-env
+ null-env
+ binding-value
+ binding-type
+ make-binding
+ arg-check
+
source-annotation
+ no-source
+
set-syntax-object-module!
+
set-syntax-object-wrap!
+
set-syntax-object-expression!
+
syntax-object-module
+
syntax-object-wrap
+
syntax-object-expression
+ syntax-object?
+
make-syntax-object
+
build-lexical-var
+ build-letrec
+ build-named-let
+ build-let
+ build-sequence
+ build-data
+ build-primref
+ build-primcall
+
build-lambda-case
+
build-case-lambda
+
build-simple-lambda
+
build-global-definition
+
build-global-assignment
+
build-global-reference
+
analyze-variable
+
build-lexical-assignment
+
build-lexical-reference
+ build-dynlet
+
build-conditional
+ build-call
+ build-void
+
maybe-name-value!
+ decorate-source
+
get-global-definition-hook
+
put-global-definition-hook
+ session-id
+ local-eval-hook
+
top-level-eval-hook
+ fx<
+ fx=
+ fx-
+ fx+
+
set-lambda-meta!
+ lambda-meta
+ lambda?
+ make-dynlet
+ make-letrec
+ make-let
+
make-lambda-case
+ make-lambda
+ make-seq
+ make-primcall
+ make-call
+
make-conditional
+
make-toplevel-define
+
make-toplevel-set
+
make-toplevel-ref
+ make-module-set
+ make-module-ref
+
make-lexical-set
+
make-lexical-ref
+
make-primitive-ref
+ make-const
+ make-void)
+ ((top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top))
+ ("l-*-478"
+ "l-*-476"
+ "l-*-474"
+ "l-*-472"
+ "l-*-470"
+ "l-*-468"
+ "l-*-466"
+ "l-*-464"
+ "l-*-462"
+ "l-*-460"
+ "l-*-458"
+ "l-*-456"
+ "l-*-454"
+ "l-*-452"
+ "l-*-450"
+ "l-*-448"
+ "l-*-446"
+ "l-*-444"
+ "l-*-442"
+ "l-*-440"
+ "l-*-438"
+ "l-*-436"
+ "l-*-434"
+ "l-*-432"
+ "l-*-430"
+ "l-*-428"
+ "l-*-426"
+ "l-*-424"
+ "l-*-422"
+ "l-*-420"
+ "l-*-418"
+ "l-*-416"
+ "l-*-414"
+ "l-*-412"
+ "l-*-410"
+ "l-*-408"
+ "l-*-406"
+ "l-*-404"
+ "l-*-402"
+ "l-*-401"
+ "l-*-399"
+ "l-*-396"
+ "l-*-395"
+ "l-*-394"
+ "l-*-392"
+ "l-*-391"
+ "l-*-389"
+ "l-*-387"
+ "l-*-385"
+ "l-*-383"
+ "l-*-381"
+ "l-*-379"
+ "l-*-377"
+ "l-*-375"
+ "l-*-372"
+ "l-*-370"
+ "l-*-369"
+ "l-*-367"
+ "l-*-365"
+ "l-*-363"
+ "l-*-361"
+ "l-*-360"
+ "l-*-359"
+ "l-*-358"
+ "l-*-356"
+ "l-*-355"
+ "l-*-352"
+ "l-*-350"
+ "l-*-348"
+ "l-*-346"
+ "l-*-344"
+ "l-*-342"
+ "l-*-341"
+ "l-*-340"
+ "l-*-338"
+ "l-*-336"
+ "l-*-335"
+ "l-*-332"
+ "l-*-331"
+ "l-*-329"
+ "l-*-327"
+ "l-*-325"
+ "l-*-323"
+ "l-*-321"
+ "l-*-319"
+ "l-*-317"
+ "l-*-315"
+ "l-*-313"
+ "l-*-310"
+ "l-*-308"
+ "l-*-306"
+ "l-*-304"
+ "l-*-302"
+ "l-*-300"
+ "l-*-298"
+ "l-*-296"
+ "l-*-294"
+ "l-*-292"
+ "l-*-290"
+ "l-*-288"
+ "l-*-286"
+ "l-*-284"
+ "l-*-282"
+ "l-*-280"
+ "l-*-278"
+ "l-*-276"
+ "l-*-274"
+ "l-*-272"
+ "l-*-270"
+ "l-*-268"
+ "l-*-266"
+ "l-*-264"
+ "l-*-262"
+ "l-*-260"
+ "l-*-258"
+ "l-*-257"
+ "l-*-256"
+ "l-*-255"
+ "l-*-254"
+ "l-*-252"
+ "l-*-250"
+ "l-*-248"
+ "l-*-245"
+ "l-*-243"
+ "l-*-241"
+ "l-*-239"
+ "l-*-237"
+ "l-*-235"
+ "l-*-233"
+ "l-*-231"
+ "l-*-229"
+ "l-*-227"
+ "l-*-225"
+ "l-*-223"
+ "l-*-221"
+ "l-*-219"
+ "l-*-217"
+ "l-*-215"
+ "l-*-213"
+ "l-*-211"
+ "l-*-209"))
+ #(ribcage
+ (define-structure
+
define-expansion-accessors
+
define-expansion-constructors)
+ ((top)
+ (top)
+ (top))
+ ("l-*-47"
+ "l-*-46"
+ "l-*-45"))
+ #(ribcage
+ ()
+ ()
+ ()))
+ (hygiene guile)))
+ '(())
+ s-25087
+ mod-25089))
+ tmp-25944)
+ (syntax-violation
+ #f
+ "source expression failed
to match any pattern"
+ e-25084)))))))
+ (if (eqv? ftype-25106 'define-syntax)
+ (let ((tmp-26188
+ ($sc-dispatch
+ e-25084
+ '(_ any any))))
+ (if (if tmp-26188
+ (@apply
+ (lambda (name-26192 val-26193)
+ (if (symbol? name-26192)
+ #t
+ (if (if (vector?
+ name-26192)
+ (if (=
(vector-length
+ name-26192)
+ 4)
+ (eq? (vector-ref
+ name-26192
+ 0)
+
'syntax-object)
+ #f)
+ #f)
+ (symbol?
+ (vector-ref
+ name-26192
+ 1))
+ #f)))
+ tmp-26188)
+ #f)
+ (@apply
+ (lambda (name-26220 val-26221)
+ (values
+ 'define-syntax-form
+ name-26220
+ e-25084
+ val-26221
+ w-25086
+ s-25087
+ mod-25089))
+ tmp-26188)
+ (syntax-violation
+ #f
+ "source expression failed to
match any pattern"
+ e-25084)))
+ (if (eqv? ftype-25106
+ 'define-syntax-parameter)
+ (let ((tmp-26232
+ ($sc-dispatch
+ e-25084
+ '(_ any any))))
+ (if (if tmp-26232
+ (@apply
+ (lambda (name-26236
+ val-26237)
+ (if (symbol? name-26236)
+ #t
+ (if (if (vector?
+ name-26236)
+ (if (=
(vector-length
+
name-26236)
+ 4)
+ (eq? (vector-ref
+
name-26236
+ 0)
+
'syntax-object)
+ #f)
+ #f)
+ (symbol?
+ (vector-ref
+ name-26236
+ 1))
+ #f)))
+ tmp-26232)
+ #f)
+ (@apply
+ (lambda (name-26264 val-26265)
+ (values
+
'define-syntax-parameter-form
+ name-26264
+ e-25084
+ val-26265
+ w-25086
+ s-25087
+ mod-25089))
+ tmp-26232)
+ (syntax-violation
+ #f
+ "source expression failed to
match any pattern"
+ e-25084)))
+ (values
+ 'call
+ #f
+ e-25084
+ e-25084
+ w-25086
+ s-25087
+ mod-25089)))))))))))))))
+ (if (if (vector? e-25084)
+ (if (= (vector-length e-25084) 4)
+ (eq? (vector-ref e-25084 0) 'syntax-object)
+ #f)
+ #f)
+ (syntax-type-4585
+ (vector-ref e-25084 1)
+ r-25085
+ (let ((w2-26290 (vector-ref e-25084 2)))
+ (let ((m1-26291 (car w-25086))
+ (s1-26292 (cdr w-25086)))
+ (if (null? m1-26291)
+ (if (null? s1-26292)
+ w2-26290
+ (cons (car w2-26290)
+ (let ((m2-26303 (cdr w2-26290)))
+ (if (null? m2-26303)
+ s1-26292
+ (append s1-26292 m2-26303)))))
+ (cons (let ((m2-26311 (car w2-26290)))
+ (if (null? m2-26311)
+ m1-26291
+ (append m1-26291 m2-26311)))
+ (let ((m2-26319 (cdr w2-26290)))
+ (if (null? m2-26319)
+ s1-26292
+ (append s1-26292 m2-26319)))))))
+ (let ((t-26324 (source-annotation-4544 e-25084)))
+ (if t-26324 t-26324 s-25087))
+ rib-25088
+ (let ((t-26600 (vector-ref e-25084 3)))
+ (if t-26600 t-26600 mod-25089))
+ for-car?-25090)
+ (if (self-evaluating? e-25084)
+ (values
+ 'constant
+ #f
+ e-25084
+ e-25084
+ w-25086
+ s-25087
+ mod-25089)
+ (values
+ 'other
+ #f
+ e-25084
+ e-25084
+ w-25086
+ s-25087
+ mod-25089)))))))
+ (expand-4586
+ (lambda (e-26609 r-26610 w-26611 mod-26612)
+ (call-with-values
+ (lambda ()
+ (syntax-type-4585
+ e-26609
+ r-26610
+ w-26611
+ (source-annotation-4544 e-26609)
+ #f
+ mod-26612
+ #f))
+ (lambda (type-26798
+ value-26799
+ form-26800
+ e-26801
+ w-26802
+ s-26803
+ mod-26804)
+ (expand-expr-4587
+ type-26798
+ value-26799
+ form-26800
+ e-26801
+ r-26610
+ w-26802
+ s-26803
+ mod-26804)))))
+ (expand-expr-4587
+ (lambda (type-26807
+ value-26808
+ form-26809
+ e-26810
+ r-26811
+ w-26812
+ s-26813
+ mod-26814)
+ (if (eqv? type-26807 'lexical)
+ (make-struct/no-tail
+ (vector-ref %expanded-vtables 3)
+ s-26813
+ e-26810
+ value-26808)
+ (if (if (eqv? type-26807 'core)
+ #t
+ (eqv? type-26807 'core-form))
+ (value-26808
+ e-26810
+ r-26811
+ w-26812
+ s-26813
+ mod-26814)
+ (if (eqv? type-26807 'module-ref)
+ (call-with-values
+ (lambda () (value-26808 e-26810 r-26811 w-26812))
+ (lambda (e-26840 r-26841 w-26842 s-26843 mod-26844)
+ (expand-4586 e-26840 r-26841 w-26842 mod-26844)))
+ (if (eqv? type-26807 'lexical-call)
+ (expand-call-4588
+ (let ((id-27017 (car e-26810)))
+ (build-lexical-reference-4520
+ 'fun
+ (source-annotation-4544 id-27017)
+ (if (if (vector? id-27017)
+ (if (= (vector-length id-27017) 4)
+ (eq? (vector-ref id-27017 0) 'syntax-object)
+ #f)
+ #f)
+ (syntax->datum id-27017)
+ id-27017)
+ value-26808))
+ e-26810
+ r-26811
+ w-26812
+ s-26813
+ mod-26814)
+ (if (eqv? type-26807 'global-call)
+ (expand-call-4588
+ (build-global-reference-4523
+ (source-annotation-4544 (car e-26810))
+ (if (if (vector? value-26808)
+ (if (= (vector-length value-26808) 4)
+ (eq? (vector-ref value-26808 0) 'syntax-object)
+ #f)
+ #f)
+ (vector-ref value-26808 1)
+ value-26808)
+ (if (if (vector? value-26808)
+ (if (= (vector-length value-26808) 4)
+ (eq? (vector-ref value-26808 0) 'syntax-object)
+ #f)
+ #f)
+ (vector-ref value-26808 3)
+ mod-26814))
+ e-26810
+ r-26811
+ w-26812
+ s-26813
+ mod-26814)
+ (if (eqv? type-26807 'constant)
+ (let ((exp-27691
+ (strip-4599
+ (let ((x-27704
+ (begin
+ (if (if (pair? e-26810) s-26813 #f)
+ (set-source-properties!
+ e-26810
+ s-26813))
+ e-26810)))
+ (if (if (null? (car w-26812))
+ (null? (cdr w-26812))
+ #f)
+ x-27704
+ (if (if (vector? x-27704)
+ (if (= (vector-length x-27704) 4)
+ (eq? (vector-ref x-27704 0)
+ 'syntax-object)
+ #f)
+ #f)
+ (let ((expression-27736
+ (vector-ref x-27704 1))
+ (wrap-27737
+ (let ((w2-27745
+ (vector-ref x-27704 2)))
+ (let ((m1-27746 (car w-26812))
+ (s1-27747 (cdr w-26812)))
+ (if (null? m1-27746)
+ (if (null? s1-27747)
+ w2-27745
+ (cons (car w2-27745)
+ (let ((m2-27762
+ (cdr
w2-27745)))
+ (if (null?
m2-27762)
+ s1-27747
+ (append
+ s1-27747
+ m2-27762)))))
+ (cons (let ((m2-27770
+ (car
w2-27745)))
+ (if (null? m2-27770)
+ m1-27746
+ (append
+ m1-27746
+ m2-27770)))
+ (let ((m2-27778
+ (cdr
w2-27745)))
+ (if (null? m2-27778)
+ s1-27747
+ (append
+ s1-27747
+ m2-27778))))))))
+ (module-27738
+ (vector-ref x-27704 3)))
+ (vector
+ 'syntax-object
+ expression-27736
+ wrap-27737
+ module-27738))
+ (if (null? x-27704)
+ x-27704
+ (vector
+ 'syntax-object
+ x-27704
+ w-26812
+ mod-26814)))))
+ '(()))))
+ (make-struct/no-tail
+ (vector-ref %expanded-vtables 1)
+ s-26813
+ exp-27691))
+ (if (eqv? type-26807 'global)
+ (analyze-variable-4522
+ mod-26814
+ value-26808
+ (lambda (mod-27803 var-27804 public?-27805)
+ (make-struct/no-tail
+ (vector-ref %expanded-vtables 5)
+ s-26813
+ mod-27803
+ var-27804
+ public?-27805))
+ (lambda (var-27813)
+ (make-struct/no-tail
+ (vector-ref %expanded-vtables 7)
+ s-26813
+ var-27813)))
+ (if (eqv? type-26807 'call)
+ (expand-call-4588
+ (expand-4586
+ (car e-26810)
+ r-26811
+ w-26812
+ mod-26814)
+ e-26810
+ r-26811
+ w-26812
+ s-26813
+ mod-26814)
+ (if (eqv? type-26807 'begin-form)
+ (let ((tmp-27983
+ ($sc-dispatch e-26810 '(_ any . each-any))))
+ (if tmp-27983
+ (@apply
+ (lambda (e1-27987 e2-27988)
+ (expand-sequence-4581
+ (cons e1-27987 e2-27988)
+ r-26811
+ w-26812
+ s-26813
+ mod-26814))
+ tmp-27983)
+ (let ((tmp-28083 ($sc-dispatch e-26810 '(_))))
+ (if tmp-28083
+ (@apply
+ (lambda ()
+ (syntax-violation
+ #f
+ "sequence of zero expressions"
+ (let ((x-28096
+ (begin
+ (if (if (pair? e-26810)
+ s-26813
+ #f)
+ (set-source-properties!
+ e-26810
+ s-26813))
+ e-26810)))
+ (if (if (null? (car w-26812))
+ (null? (cdr w-26812))
+ #f)
+ x-28096
+ (if (if (vector? x-28096)
+ (if (= (vector-length
+ x-28096)
+ 4)
+ (eq? (vector-ref
+ x-28096
+ 0)
+ 'syntax-object)
+ #f)
+ #f)
+ (let ((expression-28128
+ (vector-ref x-28096 1))
+ (wrap-28129
+ (let ((w2-28137
+ (vector-ref
+ x-28096
+ 2)))
+ (let ((m1-28138
+ (car w-26812))
+ (s1-28139
+ (cdr
w-26812)))
+ (if (null? m1-28138)
+ (if (null?
s1-28139)
+ w2-28137
+ (cons (car
w2-28137)
+ (let
((m2-28154
+
(cdr w2-28137)))
+ (if
(null? m2-28154)
+
s1-28139
+
(append
+
s1-28139
+
m2-28154)))))
+ (cons (let
((m2-28162
+
(car w2-28137)))
+ (if
(null? m2-28162)
+ m1-28138
+ (append
+
m1-28138
+
m2-28162)))
+ (let
((m2-28170
+
(cdr w2-28137)))
+ (if
(null? m2-28170)
+ s1-28139
+ (append
+
s1-28139
+
m2-28170))))))))
+ (module-28130
+ (vector-ref x-28096 3)))
+ (vector
+ 'syntax-object
+ expression-28128
+ wrap-28129
+ module-28130))
+ (if (null? x-28096)
+ x-28096
+ (vector
+ 'syntax-object
+ x-28096
+ w-26812
+ mod-26814)))))))
+ tmp-28083)
+ (syntax-violation
+ #f
+ "source expression failed to match any
pattern"
+ e-26810)))))
+ (if (eqv? type-26807 'local-syntax-form)
+ (expand-local-syntax-4591
+ value-26808
+ e-26810
+ r-26811
+ w-26812
+ s-26813
+ mod-26814
+ expand-sequence-4581)
+ (if (eqv? type-26807 'eval-when-form)
+ (let ((tmp-28265
+ ($sc-dispatch
+ e-26810
+ '(_ each-any any . each-any))))
+ (if tmp-28265
+ (@apply
+ (lambda (x-28269 e1-28270 e2-28271)
+ (let ((when-list-28272
+ (parse-when-list-4584
+ e-26810
+ x-28269)))
+ (if (memq 'eval when-list-28272)
+ (expand-sequence-4581
+ (cons e1-28270 e2-28271)
+ r-26811
+ w-26812
+ s-26813
+ mod-26814)
+ (make-struct/no-tail
+ (vector-ref %expanded-vtables 0)
+ #f))))
+ tmp-28265)
+ (syntax-violation
+ #f
+ "source expression failed to match any
pattern"
+ e-26810)))
+ (if (if (eqv? type-26807 'define-form)
+ #t
+ (if (eqv? type-26807 'define-syntax-form)
+ #t
+ (eqv? type-26807
+ 'define-syntax-parameter-form)))
+ (syntax-violation
+ #f
+ "definition in expression context, where
definitions are not allowed,"
+ (let ((x-28458
+ (begin
+ (if (if (pair? form-26809)
+ s-26813
+ #f)
+ (set-source-properties!
+ form-26809
+ s-26813))
+ form-26809)))
+ (if (if (null? (car w-26812))
+ (null? (cdr w-26812))
+ #f)
+ x-28458
+ (if (if (vector? x-28458)
+ (if (= (vector-length x-28458) 4)
+ (eq? (vector-ref x-28458 0)
+ 'syntax-object)
+ #f)
+ #f)
+ (let ((expression-28490
+ (vector-ref x-28458 1))
+ (wrap-28491
+ (let ((w2-28499
+ (vector-ref
+ x-28458
+ 2)))
+ (let ((m1-28500
+ (car w-26812))
+ (s1-28501
+ (cdr w-26812)))
+ (if (null? m1-28500)
+ (if (null? s1-28501)
+ w2-28499
+ (cons (car w2-28499)
+ (let ((m2-28516
+ (cdr
w2-28499)))
+ (if (null?
m2-28516)
+ s1-28501
+ (append
+ s1-28501
+
m2-28516)))))
+ (cons (let ((m2-28524
+ (car
w2-28499)))
+ (if (null?
m2-28524)
+ m1-28500
+ (append
+ m1-28500
+ m2-28524)))
+ (let ((m2-28532
+ (cdr
w2-28499)))
+ (if (null?
m2-28532)
+ s1-28501
+ (append
+ s1-28501
+
m2-28532))))))))
+ (module-28492
+ (vector-ref x-28458 3)))
+ (vector
+ 'syntax-object
+ expression-28490
+ wrap-28491
+ module-28492))
+ (if (null? x-28458)
+ x-28458
+ (vector
+ 'syntax-object
+ x-28458
+ w-26812
+ mod-26814))))))
+ (if (eqv? type-26807 'syntax)
+ (syntax-violation
+ #f
+ "reference to pattern variable outside
syntax form"
+ (let ((x-28559
+ (begin
+ (if (if (pair? e-26810)
+ s-26813
+ #f)
+ (set-source-properties!
+ e-26810
+ s-26813))
+ e-26810)))
+ (if (if (null? (car w-26812))
+ (null? (cdr w-26812))
+ #f)
+ x-28559
+ (if (if (vector? x-28559)
+ (if (= (vector-length x-28559)
+ 4)
+ (eq? (vector-ref x-28559 0)
+ 'syntax-object)
+ #f)
+ #f)
+ (let ((expression-28591
+ (vector-ref x-28559 1))
+ (wrap-28592
+ (let ((w2-28600
+ (vector-ref
+ x-28559
+ 2)))
+ (let ((m1-28601
+ (car w-26812))
+ (s1-28602
+ (cdr w-26812)))
+ (if (null? m1-28601)
+ (if (null? s1-28602)
+ w2-28600
+ (cons (car w2-28600)
+ (let
((m2-28617
+ (cdr
w2-28600)))
+ (if (null?
m2-28617)
+ s1-28602
+ (append
+ s1-28602
+
m2-28617)))))
+ (cons (let ((m2-28625
+ (car
w2-28600)))
+ (if (null?
m2-28625)
+ m1-28601
+ (append
+ m1-28601
+
m2-28625)))
+ (let ((m2-28633
+ (cdr
w2-28600)))
+ (if (null?
m2-28633)
+ s1-28602
+ (append
+ s1-28602
+
m2-28633))))))))
+ (module-28593
+ (vector-ref x-28559 3)))
+ (vector
+ 'syntax-object
+ expression-28591
+ wrap-28592
+ module-28593))
+ (if (null? x-28559)
+ x-28559
+ (vector
+ 'syntax-object
+ x-28559
+ w-26812
+ mod-26814))))))
+ (if (eqv? type-26807 'displaced-lexical)
+ (syntax-violation
+ #f
+ "reference to identifier outside its
scope"
+ (let ((x-28660
+ (begin
+ (if (if (pair? e-26810)
+ s-26813
+ #f)
+ (set-source-properties!
+ e-26810
+ s-26813))
+ e-26810)))
+ (if (if (null? (car w-26812))
+ (null? (cdr w-26812))
+ #f)
+ x-28660
+ (if (if (vector? x-28660)
+ (if (= (vector-length x-28660)
+ 4)
+ (eq? (vector-ref x-28660 0)
+ 'syntax-object)
+ #f)
+ #f)
+ (let ((expression-28692
+ (vector-ref x-28660 1))
+ (wrap-28693
+ (let ((w2-28701
+ (vector-ref
+ x-28660
+ 2)))
+ (let ((m1-28702
+ (car w-26812))
+ (s1-28703
+ (cdr w-26812)))
+ (if (null? m1-28702)
+ (if (null? s1-28703)
+ w2-28701
+ (cons (car
w2-28701)
+ (let
((m2-28718
+
(cdr w2-28701)))
+ (if
(null? m2-28718)
+ s1-28703
+ (append
+
s1-28703
+
m2-28718)))))
+ (cons (let
((m2-28726
+ (car
w2-28701)))
+ (if (null?
m2-28726)
+ m1-28702
+ (append
+ m1-28702
+
m2-28726)))
+ (let
((m2-28734
+ (cdr
w2-28701)))
+ (if (null?
m2-28734)
+ s1-28703
+ (append
+ s1-28703
+
m2-28734))))))))
+ (module-28694
+ (vector-ref x-28660 3)))
+ (vector
+ 'syntax-object
+ expression-28692
+ wrap-28693
+ module-28694))
+ (if (null? x-28660)
+ x-28660
+ (vector
+ 'syntax-object
+ x-28660
+ w-26812
+ mod-26814))))))
+ (syntax-violation
+ #f
+ "unexpected syntax"
+ (let ((x-28758
+ (begin
+ (if (if (pair? e-26810)
+ s-26813
+ #f)
+ (set-source-properties!
+ e-26810
+ s-26813))
+ e-26810)))
+ (if (if (null? (car w-26812))
+ (null? (cdr w-26812))
+ #f)
+ x-28758
+ (if (if (vector? x-28758)
+ (if (= (vector-length x-28758)
+ 4)
+ (eq? (vector-ref x-28758 0)
+ 'syntax-object)
+ #f)
+ #f)
+ (let ((expression-28790
+ (vector-ref x-28758 1))
+ (wrap-28791
+ (let ((w2-28799
+ (vector-ref
+ x-28758
+ 2)))
+ (let ((m1-28800
+ (car w-26812))
+ (s1-28801
+ (cdr w-26812)))
+ (if (null? m1-28800)
+ (if (null? s1-28801)
+ w2-28799
+ (cons (car
w2-28799)
+ (let
((m2-28816
+
(cdr w2-28799)))
+ (if
(null? m2-28816)
+ s1-28801
+ (append
+
s1-28801
+
m2-28816)))))
+ (cons (let
((m2-28824
+ (car
w2-28799)))
+ (if (null?
m2-28824)
+ m1-28800
+ (append
+ m1-28800
+
m2-28824)))
+ (let
((m2-28832
+ (cdr
w2-28799)))
+ (if (null?
m2-28832)
+ s1-28801
+ (append
+ s1-28801
+
m2-28832))))))))
+ (module-28792
+ (vector-ref x-28758 3)))
+ (vector
+ 'syntax-object
+ expression-28790
+ wrap-28791
+ module-28792))
+ (if (null? x-28758)
+ x-28758
+ (vector
+ 'syntax-object
+ x-28758
+ w-26812
+
mod-26814))))))))))))))))))))))
+ (expand-call-4588
+ (lambda (x-28847
+ e-28848
+ r-28849
+ w-28850
+ s-28851
+ mod-28852)
+ (let ((tmp-28854
+ ($sc-dispatch e-28848 '(any . each-any))))
+ (if tmp-28854
+ (@apply
+ (lambda (e0-28858 e1-28859)
+ (build-call-4517
+ s-28851
+ x-28847
+ (map (lambda (e-28947)
+ (expand-4586 e-28947 r-28849 w-28850 mod-28852))
+ e1-28859)))
+ tmp-28854)
+ (syntax-violation
+ #f
+ "source expression failed to match any pattern"
+ e-28848)))))
+ (expand-macro-4589
+ (lambda (p-29031
+ e-29032
+ r-29033
+ w-29034
+ s-29035
+ rib-29036
+ mod-29037)
+ (letrec*
+ ((rebuild-macro-output-29038
+ (lambda (x-29147 m-29148)
+ (if (pair? x-29147)
+ (let ((e-29152
+ (cons (rebuild-macro-output-29038
+ (car x-29147)
+ m-29148)
+ (rebuild-macro-output-29038
+ (cdr x-29147)
+ m-29148))))
+ (begin
+ (if (if (pair? e-29152) s-29035 #f)
+ (set-source-properties! e-29152 s-29035))
+ e-29152))
+ (if (if (vector? x-29147)
+ (if (= (vector-length x-29147) 4)
+ (eq? (vector-ref x-29147 0) 'syntax-object)
+ #f)
+ #f)
+ (let ((w-29168 (vector-ref x-29147 2)))
+ (let ((ms-29169 (car w-29168))
+ (s-29170 (cdr w-29168)))
+ (if (if (pair? ms-29169) (eq? (car ms-29169) #f) #f)
+ (let ((expression-29178 (vector-ref x-29147 1))
+ (wrap-29179
+ (cons (cdr ms-29169)
+ (if rib-29036
+ (cons rib-29036 (cdr s-29170))
+ (cdr s-29170))))
+ (module-29180 (vector-ref x-29147 3)))
+ (vector
+ 'syntax-object
+ expression-29178
+ wrap-29179
+ module-29180))
+ (let ((expression-29190
+ (let ((e-29195 (vector-ref x-29147 1)))
+ (begin
+ (if (if (pair? e-29195) s-29170 #f)
+ (set-source-properties!
+ e-29195
+ s-29170))
+ e-29195)))
+ (wrap-29191
+ (cons (cons m-29148 ms-29169)
+ (if rib-29036
+ (cons rib-29036
+ (cons 'shift s-29170))
+ (cons 'shift s-29170))))
+ (module-29192 (vector-ref x-29147 3)))
+ (vector
+ 'syntax-object
+ expression-29190
+ wrap-29191
+ module-29192)))))
+ (if (vector? x-29147)
+ (let ((n-29207 (vector-length x-29147)))
+ (let ((v-29208
+ (let ((e-29274 (make-vector n-29207)))
+ (begin
+ (if (if (pair? e-29274) x-29147 #f)
+ (set-source-properties! e-29274 x-29147))
+ e-29274))))
+ (letrec*
+ ((loop-29209
+ (lambda (i-29270)
+ (if (= i-29270 n-29207)
+ v-29208
+ (begin
+ (vector-set!
+ v-29208
+ i-29270
+ (rebuild-macro-output-29038
+ (vector-ref x-29147 i-29270)
+ m-29148))
+ (loop-29209 (#{1+}# i-29270)))))))
+ (loop-29209 0))))
+ (if (symbol? x-29147)
+ (syntax-violation
+ #f
+ "encountered raw symbol in macro output"
+ (let ((s-29285 (cdr w-29034)))
+ (let ((x-29289
+ (begin
+ (if (if (pair? e-29032) s-29285 #f)
+ (set-source-properties!
+ e-29032
+ s-29285))
+ e-29032)))
+ (if (if (null? (car w-29034))
+ (null? (cdr w-29034))
+ #f)
+ x-29289
+ (if (if (vector? x-29289)
+ (if (= (vector-length x-29289) 4)
+ (eq? (vector-ref x-29289 0)
+ 'syntax-object)
+ #f)
+ #f)
+ (let ((expression-29321
+ (vector-ref x-29289 1))
+ (wrap-29322
+ (let ((w2-29330
+ (vector-ref x-29289 2)))
+ (let ((m1-29331 (car w-29034))
+ (s1-29332 (cdr w-29034)))
+ (if (null? m1-29331)
+ (if (null? s1-29332)
+ w2-29330
+ (cons (car w2-29330)
+ (let ((m2-29347
+ (cdr
w2-29330)))
+ (if (null? m2-29347)
+ s1-29332
+ (append
+ s1-29332
+ m2-29347)))))
+ (cons (let ((m2-29355
+ (car w2-29330)))
+ (if (null? m2-29355)
+ m1-29331
+ (append
+ m1-29331
+ m2-29355)))
+ (let ((m2-29363
+ (cdr w2-29330)))
+ (if (null? m2-29363)
+ s1-29332
+ (append
+ s1-29332
+ m2-29363))))))))
+ (module-29323 (vector-ref x-29289 3)))
+ (vector
+ 'syntax-object
+ expression-29321
+ wrap-29322
+ module-29323))
+ (if (null? x-29289)
+ x-29289
+ (vector
+ 'syntax-object
+ x-29289
+ w-29034
+ mod-29037))))))
+ x-29147)
+ (begin
+ (if (if (pair? x-29147) s-29035 #f)
+ (set-source-properties! x-29147 s-29035))
+ x-29147))))))))
+ (with-fluids
+ ((transformer-environment-4572
+ (lambda (k-29039)
+ (k-29039
+ e-29032
+ r-29033
+ w-29034
+ s-29035
+ rib-29036
+ mod-29037))))
+ (rebuild-macro-output-29038
+ (p-29031
+ (let ((w-29046
+ (cons (cons #f (car w-29034))
+ (cons 'shift (cdr w-29034)))))
+ (let ((x-29051
+ (begin
+ (if (if (pair? e-29032) s-29035 #f)
+ (set-source-properties! e-29032 s-29035))
+ e-29032)))
+ (if (if (null? (car w-29046))
+ (null? (cdr w-29046))
+ #f)
+ x-29051
+ (if (if (vector? x-29051)
+ (if (= (vector-length x-29051) 4)
+ (eq? (vector-ref x-29051 0) 'syntax-object)
+ #f)
+ #f)
+ (let ((expression-29090 (vector-ref x-29051 1))
+ (wrap-29091
+ (let ((w2-29099 (vector-ref x-29051 2)))
+ (let ((m1-29100 (car w-29046))
+ (s1-29101 (cdr w-29046)))
+ (if (null? m1-29100)
+ (if (null? s1-29101)
+ w2-29099
+ (cons (car w2-29099)
+ (let ((m2-29116 (cdr w2-29099)))
+ (if (null? m2-29116)
+ s1-29101
+ (append
+ s1-29101
+ m2-29116)))))
+ (cons (let ((m2-29124 (car w2-29099)))
+ (if (null? m2-29124)
+ m1-29100
+ (append m1-29100 m2-29124)))
+ (let ((m2-29132 (cdr w2-29099)))
+ (if (null? m2-29132)
+ s1-29101
+ (append
+ s1-29101
+ m2-29132))))))))
+ (module-29092 (vector-ref x-29051 3)))
+ (vector
+ 'syntax-object
+ expression-29090
+ wrap-29091
+ module-29092))
+ (if (null? x-29051)
+ x-29051
+ (vector
+ 'syntax-object
+ x-29051
+ w-29046
+ mod-29037)))))))
+ (gensym
+ (string-append "m-" (session-id-4511) "-")))))))
+ (expand-body-4590
+ (lambda (body-29393
+ outer-form-29394
+ r-29395
+ w-29396
+ mod-29397)
+ (let ((r-29398
+ (cons '("placeholder" placeholder) r-29395)))
+ (let ((ribcage-29399 (vector 'ribcage '() '() '())))
+ (let ((w-29400
+ (cons (car w-29396)
+ (cons ribcage-29399 (cdr w-29396)))))
+ (letrec*
+ ((parse-29401
+ (lambda (body-29509
+ ids-29510
+ labels-29511
+ var-ids-29512
+ vars-29513
+ vals-29514
+ bindings-29515)
+ (if (null? body-29509)
+ (syntax-violation
+ #f
+ "no expressions in body"
+ outer-form-29394)
+ (let ((e-29516 (cdr (car body-29509)))
+ (er-29517 (car (car body-29509))))
+ (call-with-values
+ (lambda ()
+ (syntax-type-4585
+ e-29516
+ er-29517
+ '(())
+ (source-annotation-4544 er-29517)
+ ribcage-29399
+ mod-29397
+ #f))
+ (lambda (type-29705
+ value-29706
+ form-29707
+ e-29708
+ w-29709
+ s-29710
+ mod-29711)
+ (if (eqv? type-29705 'define-form)
+ (let ((id-29715
+ (if (if (null? (car w-29709))
+ (null? (cdr w-29709))
+ #f)
+ value-29706
+ (if (if (vector? value-29706)
+ (if (= (vector-length
+ value-29706)
+ 4)
+ (eq? (vector-ref
+ value-29706
+ 0)
+ 'syntax-object)
+ #f)
+ #f)
+ (let ((expression-29760
+ (vector-ref value-29706 1))
+ (wrap-29761
+ (let ((w2-29771
+ (vector-ref
+ value-29706
+ 2)))
+ (let ((m1-29772
+ (car w-29709))
+ (s1-29773
+ (cdr w-29709)))
+ (if (null? m1-29772)
+ (if (null? s1-29773)
+ w2-29771
+ (cons (car
w2-29771)
+ (let
((m2-29790
+ (cdr
w2-29771)))
+ (if (null?
m2-29790)
+ s1-29773
+ (append
+
s1-29773
+
m2-29790)))))
+ (cons (let ((m2-29798
+ (car
w2-29771)))
+ (if (null?
m2-29798)
+ m1-29772
+ (append
+ m1-29772
+
m2-29798)))
+ (let ((m2-29806
+ (cdr
w2-29771)))
+ (if (null?
m2-29806)
+ s1-29773
+ (append
+ s1-29773
+
m2-29806))))))))
+ (module-29762
+ (vector-ref
+ value-29706
+ 3)))
+ (vector
+ 'syntax-object
+ expression-29760
+ wrap-29761
+ module-29762))
+ (if (null? value-29706)
+ value-29706
+ (vector
+ 'syntax-object
+ value-29706
+ w-29709
+ mod-29711)))))
+ (label-29716
+ (string-append
+ "l-"
+ (session-id-4511)
+ (symbol->string (gensym "-")))))
+ (let ((var-29717
+ (let ((id-29867
+ (if (if (vector? id-29715)
+ (if (= (vector-length
+ id-29715)
+ 4)
+ (eq? (vector-ref
+ id-29715
+ 0)
+ 'syntax-object)
+ #f)
+ #f)
+ (vector-ref id-29715 1)
+ id-29715)))
+ (gensym
+ (string-append
+ (symbol->string id-29867)
+ "-")))))
+ (begin
+ (begin
+ (let ((update-29726
+ (cons (vector-ref id-29715 1)
+ (vector-ref
+ ribcage-29399
+ 1))))
+ (vector-set!
+ ribcage-29399
+ 1
+ update-29726))
+ (let ((update-29838
+ (cons (car (vector-ref
+ id-29715
+ 2))
+ (vector-ref
+ ribcage-29399
+ 2))))
+ (vector-set!
+ ribcage-29399
+ 2
+ update-29838))
+ (let ((update-29853
+ (cons label-29716
+ (vector-ref
+ ribcage-29399
+ 3))))
+ (vector-set!
+ ribcage-29399
+ 3
+ update-29853)))
+ (parse-29401
+ (cdr body-29509)
+ (cons id-29715 ids-29510)
+ (cons label-29716 labels-29511)
+ (cons id-29715 var-ids-29512)
+ (cons var-29717 vars-29513)
+ (cons (cons er-29517
+ (if (if (null? (car
w-29709))
+ (null? (cdr w-29709))
+ #f)
+ e-29708
+ (if (if (vector? e-29708)
+ (if (=
(vector-length
+ e-29708)
+ 4)
+ (eq? (vector-ref
+ e-29708
+ 0)
+
'syntax-object)
+ #f)
+ #f)
+ (let ((expression-29919
+ (vector-ref
+ e-29708
+ 1))
+ (wrap-29920
+ (let ((w2-29930
+
(vector-ref
+
e-29708
+ 2)))
+ (let
((m1-29931
+ (car
w-29709))
+
(s1-29932
+ (cdr
w-29709)))
+ (if (null?
m1-29931)
+ (if
(null? s1-29932)
+
w2-29930
+ (cons
(car w2-29930)
+
(let ((m2-29949
+
(cdr w2-29930)))
+
(if (null? m2-29949)
+
s1-29932
+
(append
+
s1-29932
+
m2-29949)))))
+ (cons
(let ((m2-29957
+
(car w2-29930)))
+
(if (null? m2-29957)
+
m1-29931
+
(append
+
m1-29931
+
m2-29957)))
+
(let ((m2-29965
+
(cdr w2-29930)))
+
(if (null? m2-29965)
+
s1-29932
+
(append
+
s1-29932
+
m2-29965))))))))
+ (module-29921
+ (vector-ref
+ e-29708
+ 3)))
+ (vector
+ 'syntax-object
+ expression-29919
+ wrap-29920
+ module-29921))
+ (if (null? e-29708)
+ e-29708
+ (vector
+ 'syntax-object
+ e-29708
+ w-29709
+ mod-29711)))))
+ vals-29514)
+ (cons (cons 'lexical var-29717)
+ bindings-29515)))))
+ (if (if (eqv? type-29705 'define-syntax-form)
+ #t
+ (eqv? type-29705
+ 'define-syntax-parameter-form))
+ (let ((id-29996
+ (if (if (null? (car w-29709))
+ (null? (cdr w-29709))
+ #f)
+ value-29706
+ (if (if (vector? value-29706)
+ (if (= (vector-length
+ value-29706)
+ 4)
+ (eq? (vector-ref
+ value-29706
+ 0)
+ 'syntax-object)
+ #f)
+ #f)
+ (let ((expression-30040
+ (vector-ref
+ value-29706
+ 1))
+ (wrap-30041
+ (let ((w2-30051
+ (vector-ref
+ value-29706
+ 2)))
+ (let ((m1-30052
+ (car w-29709))
+ (s1-30053
+ (cdr w-29709)))
+ (if (null? m1-30052)
+ (if (null?
s1-30053)
+ w2-30051
+ (cons (car
w2-30051)
+ (let
((m2-30070
+
(cdr w2-30051)))
+ (if
(null? m2-30070)
+
s1-30053
+ (append
+
s1-30053
+
m2-30070)))))
+ (cons (let
((m2-30078
+ (car
w2-30051)))
+ (if (null?
m2-30078)
+ m1-30052
+ (append
+
m1-30052
+
m2-30078)))
+ (let
((m2-30086
+ (cdr
w2-30051)))
+ (if (null?
m2-30086)
+ s1-30053
+ (append
+
s1-30053
+
m2-30086))))))))
+ (module-30042
+ (vector-ref
+ value-29706
+ 3)))
(vector
- 'each+
- #{x 39771}#
- #{ys 39808}#
- #{e 39809}#)
- #{ids 39772}#))))))))
- #{tmp 39237}#)
- (let ((#{tmp 39810}#
- ($sc-dispatch #{p 39055}# '(any . any))))
- (if #{tmp 39810}#
- (@apply
- (lambda (#{x 39814}# #{y 39815}#)
- (call-with-values
- (lambda ()
- (#{cvt 39052}#
- #{y 39815}#
- #{n 39056}#
- #{ids 39057}#))
- (lambda (#{y 39816}# #{ids 39817}#)
- (call-with-values
- (lambda ()
- (#{cvt 39052}#
- #{x 39814}#
- #{n 39056}#
- #{ids 39817}#))
- (lambda (#{x 39818}# #{ids 39819}#)
- (values
- (cons #{x 39818}# #{y 39816}#)
- #{ids 39819}#))))))
- #{tmp 39810}#)
- (let ((#{tmp 39820}#
- ($sc-dispatch #{p 39055}# '())))
- (if #{tmp 39820}#
- (@apply
- (lambda () (values '() #{ids 39057}#))
- #{tmp 39820}#)
- (let ((#{tmp 39824}#
- ($sc-dispatch
- #{p 39055}#
- '#(vector each-any))))
- (if #{tmp 39824}#
- (@apply
- (lambda (#{x 39828}#)
- (call-with-values
- (lambda ()
- (#{cvt 39052}#
- #{x 39828}#
- #{n 39056}#
- #{ids 39057}#))
- (lambda (#{p 39829}#
- #{ids 39830}#)
- (values
- (vector
- 'vector
- #{p 39829}#)
- #{ids 39830}#))))
- #{tmp 39824}#)
- (values
- (vector
- 'atom
- (#{strip 28284}#
- #{p 39055}#
- '(())))
- #{ids 39057}#)))))))))))))))
- (#{cvt 39052}# #{pattern 39048}# 0 '()))))
- (#{build-dispatch-call 37427}#
- (lambda (#{pvars 39964}#
- #{exp 39965}#
- #{y 39966}#
- #{r 39967}#
- #{mod 39968}#)
- (let ((#{ids 39969}# (map car #{pvars 39964}#)))
- (begin
- (map cdr #{pvars 39964}#)
- (let ((#{labels 39971}#
- (#{gen-labels 28241}# #{ids 39969}#))
- (#{new-vars 39972}#
- (map #{gen-var 28285}# #{ids 39969}#)))
- (#{build-primcall 28217}#
- #f
- 'apply
- (list (#{build-simple-lambda 28214}#
- #f
- (map syntax->datum #{ids 39969}#)
- #f
- #{new-vars 39972}#
- '()
- (#{expand 28271}#
- #{exp 39965}#
- (#{extend-env 28233}#
- #{labels 39971}#
- (map (lambda (#{var 40304}# #{level 40305}#)
- (cons 'syntax
- (cons #{var 40304}#
- #{level 40305}#)))
- #{new-vars 39972}#
- (map cdr #{pvars 39964}#))
- #{r 39967}#)
- (#{make-binding-wrap 28252}#
- #{ids 39969}#
- #{labels 39971}#
- '(()))
- #{mod 39968}#))
- #{y 39966}#)))))))
- (#{gen-clause 37428}#
- (lambda (#{x 38632}#
- #{keys 38633}#
- #{clauses 38634}#
- #{r 38635}#
- #{pat 38636}#
- #{fender 38637}#
- #{exp 38638}#
- #{mod 38639}#)
- (call-with-values
- (lambda ()
- (#{convert-pattern 37426}#
- #{pat 38636}#
- #{keys 38633}#))
- (lambda (#{p 38777}# #{pvars 38778}#)
- (if (not (#{distinct-bound-ids? 28262}#
- (map car #{pvars 38778}#)))
+ 'syntax-object
+ expression-30040
+ wrap-30041
+ module-30042))
+ (if (null? value-29706)
+ value-29706
+ (vector
+ 'syntax-object
+ value-29706
+ w-29709
+ mod-29711)))))
+ (label-29997
+ (string-append
+ "l-"
+ (session-id-4511)
+ (symbol->string (gensym "-")))))
+ (begin
+ (begin
+ (let ((update-30006
+ (cons (vector-ref id-29996 1)
+ (vector-ref
+ ribcage-29399
+ 1))))
+ (vector-set!
+ ribcage-29399
+ 1
+ update-30006))
+ (let ((update-30118
+ (cons (car (vector-ref
+ id-29996
+ 2))
+ (vector-ref
+ ribcage-29399
+ 2))))
+ (vector-set!
+ ribcage-29399
+ 2
+ update-30118))
+ (let ((update-30133
+ (cons label-29997
+ (vector-ref
+ ribcage-29399
+ 3))))
+ (vector-set!
+ ribcage-29399
+ 3
+ update-30133)))
+ (parse-29401
+ (cdr body-29509)
+ (cons id-29996 ids-29510)
+ (cons label-29997 labels-29511)
+ var-ids-29512
+ vars-29513
+ vals-29514
+ (cons (cons (if (eq? type-29705
+
'define-syntax-parameter-form)
+ 'syntax-parameter
+ 'macro)
+ (cons er-29517
+ (if (if (null? (car
w-29709))
+ (null? (cdr
w-29709))
+ #f)
+ e-29708
+ (if (if (vector?
+ e-29708)
+ (if (=
(vector-length
+
e-29708)
+ 4)
+ (eq?
(vector-ref
+
e-29708
+ 0)
+
'syntax-object)
+ #f)
+ #f)
+ (let
((expression-30172
+
(vector-ref
+ e-29708
+ 1))
+ (wrap-30173
+ (let
((w2-30183
+
(vector-ref
+
e-29708
+
2)))
+ (let
((m1-30184
+
(car w-29709))
+
(s1-30185
+
(cdr w-29709)))
+ (if
(null? m1-30184)
+
(if (null? s1-30185)
+
w2-30183
+
(cons (car w2-30183)
+
(let ((m2-30202
+
(cdr w2-30183)))
+
(if (null? m2-30202)
+
s1-30185
+
(append
+
s1-30185
+
m2-30202)))))
+
(cons (let ((m2-30210
+
(car w2-30183)))
+
(if (null? m2-30210)
+
m1-30184
+
(append
+
m1-30184
+
m2-30210)))
+
(let ((m2-30218
+
(cdr w2-30183)))
+
(if (null? m2-30218)
+
s1-30185
+
(append
+
s1-30185
+
m2-30218))))))))
+
(module-30174
+
(vector-ref
+ e-29708
+ 3)))
+ (vector
+
'syntax-object
+
expression-30172
+ wrap-30173
+
module-30174))
+ (if (null?
e-29708)
+ e-29708
+ (vector
+
'syntax-object
+ e-29708
+ w-29709
+
mod-29711))))))
+ bindings-29515))))
+ (if (eqv? type-29705 'begin-form)
+ (let ((tmp-30245
+ ($sc-dispatch
+ e-29708
+ '(_ . each-any))))
+ (if tmp-30245
+ (@apply
+ (lambda (e1-30249)
+ (parse-29401
+ (letrec*
+ ((f-30250
+ (lambda (forms-30451)
+ (if (null? forms-30451)
+ (cdr body-29509)
+ (cons (cons er-29517
+ (let
((x-30455
+
(car forms-30451)))
+ (if (if
(null? (car w-29709))
+
(null? (cdr w-29709))
+ #f)
+ x-30455
+ (if (if
(vector?
+
x-30455)
+
(if (= (vector-length
+
x-30455)
+
4)
+
(eq? (vector-ref
+
x-30455
+
0)
+
'syntax-object)
+
#f)
+
#f)
+ (let
((expression-30473
+
(vector-ref
+
x-30455
+
1))
+
(wrap-30474
+
(let ((w2-30482
+
(vector-ref
+
x-30455
+
2)))
+
(let ((m1-30483
+
(car w-29709))
+
(s1-30484
+
(cdr w-29709)))
+
(if (null? m1-30483)
+
(if (null? s1-30484)
+
w2-30482
+
(cons (car w2-30482)
+
(let ((m2-30499
+
(cdr w2-30482)))
+
(if (null? m2-30499)
+
s1-30484
+
(append
+
s1-30484
+
m2-30499)))))
+
(cons (let ((m2-30507
+
(car w2-30482)))
+
(if (null? m2-30507)
+
m1-30483
+
(append
+
m1-30483
+
m2-30507)))
+
(let ((m2-30515
+
(cdr w2-30482)))
+
(if (null? m2-30515)
+
s1-30484
+
(append
+
s1-30484
+
m2-30515))))))))
+
(module-30475
+
(vector-ref
+
x-30455
+
3)))
+
(vector
+
'syntax-object
+
expression-30473
+
wrap-30474
+
module-30475))
+ (if
(null? x-30455)
+
x-30455
+
(vector
+
'syntax-object
+
x-30455
+
w-29709
+
mod-29711))))))
+ (f-30250
+ (cdr
forms-30451)))))))
+ (f-30250 e1-30249))
+ ids-29510
+ labels-29511
+ var-ids-29512
+ vars-29513
+ vals-29514
+ bindings-29515))
+ tmp-30245)
+ (syntax-violation
+ #f
+ "source expression failed to match
any pattern"
+ e-29708)))
+ (if (eqv? type-29705 'local-syntax-form)
+ (expand-local-syntax-4591
+ value-29706
+ e-29708
+ er-29517
+ w-29709
+ s-29710
+ mod-29711
+ (lambda (forms-30541
+ er-30542
+ w-30543
+ s-30544
+ mod-30545)
+ (parse-29401
+ (letrec*
+ ((f-30546
+ (lambda (forms-30747)
+ (if (null? forms-30747)
+ (cdr body-29509)
+ (cons (cons er-30542
+ (let ((x-30751
+ (car
forms-30747)))
+ (if (if
(null? (car w-30543))
+
(null? (cdr w-30543))
+ #f)
+ x-30751
+ (if (if
(vector?
+
x-30751)
+ (if
(= (vector-length
+
x-30751)
+
4)
+
(eq? (vector-ref
+
x-30751
+
0)
+
'syntax-object)
+
#f)
+ #f)
+ (let
((expression-30769
+
(vector-ref
+
x-30751
+
1))
+
(wrap-30770
+
(let ((w2-30778
+
(vector-ref
+
x-30751
+
2)))
+
(let ((m1-30779
+
(car w-30543))
+
(s1-30780
+
(cdr w-30543)))
+
(if (null? m1-30779)
+
(if (null? s1-30780)
+
w2-30778
+
(cons (car w2-30778)
+
(let ((m2-30795
+
(cdr w2-30778)))
+
(if (null? m2-30795)
+
s1-30780
+
(append
+
s1-30780
+
m2-30795)))))
+
(cons (let ((m2-30803
+
(car w2-30778)))
+
(if (null? m2-30803)
+
m1-30779
+
(append
+
m1-30779
+
m2-30803)))
+
(let ((m2-30811
+
(cdr w2-30778)))
+
(if (null? m2-30811)
+
s1-30780
+
(append
+
s1-30780
+
m2-30811))))))))
+
(module-30771
+
(vector-ref
+
x-30751
+
3)))
+
(vector
+
'syntax-object
+
expression-30769
+
wrap-30770
+
module-30771))
+ (if
(null? x-30751)
+
x-30751
+
(vector
+
'syntax-object
+
x-30751
+
w-30543
+
mod-30545))))))
+ (f-30546
+ (cdr
forms-30747)))))))
+ (f-30546 forms-30541))
+ ids-29510
+ labels-29511
+ var-ids-29512
+ vars-29513
+ vals-29514
+ bindings-29515)))
+ (if (null? ids-29510)
+ (build-sequence-4532
+ #f
+ (map (lambda (x-30896)
+ (expand-4586
+ (cdr x-30896)
+ (car x-30896)
+ '(())
+ mod-29711))
+ (cons (cons er-29517
+ (let ((x-30971
+ (begin
+ (if (if
(pair? e-29708)
+
s-29710
+ #f)
+
(set-source-properties!
+
e-29708
+
s-29710))
+ e-29708)))
+ (if (if (null?
(car w-29709))
+ (null? (cdr
w-29709))
+ #f)
+ x-30971
+ (if (if (vector?
+
x-30971)
+ (if (=
(vector-length
+
x-30971)
+ 4)
+ (eq?
(vector-ref
+
x-30971
+
0)
+
'syntax-object)
+ #f)
+ #f)
+ (let
((expression-31003
+
(vector-ref
+
x-30971
+ 1))
+
(wrap-31004
+ (let
((w2-31012
+
(vector-ref
+
x-30971
+
2)))
+
(let ((m1-31013
+
(car w-29709))
+
(s1-31014
+
(cdr w-29709)))
+
(if (null? m1-31013)
+
(if (null? s1-31014)
+
w2-31012
+
(cons (car w2-31012)
+
(let ((m2-31029
+
(cdr w2-31012)))
+
(if (null? m2-31029)
+
s1-31014
+
(append
+
s1-31014
+
m2-31029)))))
+
(cons (let ((m2-31037
+
(car w2-31012)))
+
(if (null? m2-31037)
+
m1-31013
+
(append
+
m1-31013
+
m2-31037)))
+
(let ((m2-31045
+
(cdr w2-31012)))
+
(if (null? m2-31045)
+
s1-31014
+
(append
+
s1-31014
+
m2-31045))))))))
+
(module-31005
+
(vector-ref
+
x-30971
+ 3)))
+ (vector
+
'syntax-object
+
expression-31003
+ wrap-31004
+
module-31005))
+ (if (null?
x-30971)
+ x-30971
+ (vector
+
'syntax-object
+ x-30971
+ w-29709
+
mod-29711))))))
+ (cdr body-29509))))
+ (begin
+ (if (not (valid-bound-ids?-4576
+ ids-29510))
+ (syntax-violation
+ #f
+ "invalid or duplicate identifier
in definition"
+ outer-form-29394))
+ (letrec*
+ ((loop-31144
+ (lambda (bs-31147
+ er-cache-31148
+ r-cache-31149)
+ (if (not (null? bs-31147))
+ (let ((b-31150
+ (car bs-31147)))
+ (if (let ((t-31153
+ (car
b-31150)))
+ (if (eq? t-31153
+ 'macro)
+ #t
+ (eq? t-31153
+
'syntax-parameter)))
+ (let ((er-31155
+ (car (cdr
b-31150))))
+ (let ((r-cache-31156
+ (if (eq?
er-31155
+
er-cache-31148)
+
r-cache-31149
+
(macros-only-env-4547
+
er-31155))))
+ (begin
+ (set-cdr!
+ b-31150
+
(eval-local-transformer-4592
+ (expand-4586
+ (cdr (cdr
b-31150))
+
r-cache-31156
+ '(())
+ mod-29711)
+ mod-29711))
+ (if (eq? (car
b-31150)
+
'syntax-parameter)
+ (set-cdr!
+ b-31150
+ (list (cdr
b-31150))))
+ (loop-31144
+ (cdr bs-31147)
+ er-31155
+
r-cache-31156))))
+ (loop-31144
+ (cdr bs-31147)
+ er-cache-31148
+ r-cache-31149)))))))
+ (loop-31144 bindings-29515 #f #f))
+ (set-cdr!
+ r-29398
+ (extend-env-4545
+ labels-29511
+ bindings-29515
+ (cdr r-29398)))
+ (build-letrec-4535
+ #f
+ #t
+ (reverse
+ (map syntax->datum
+ var-ids-29512))
+ (reverse vars-29513)
+ (map (lambda (x-31576)
+ (expand-4586
+ (cdr x-31576)
+ (car x-31576)
+ '(())
+ mod-29711))
+ (reverse vals-29514))
+ (build-sequence-4532
+ #f
+ (map (lambda (x-31712)
+ (expand-4586
+ (cdr x-31712)
+ (car x-31712)
+ '(())
+ mod-29711))
+ (cons (cons er-29517
+ (let ((x-31787
+ (begin
+ (if
(if (pair? e-29708)
+
s-29710
+
#f)
+
(set-source-properties!
+
e-29708
+
s-29710))
+
e-29708)))
+ (if (if
(null? (car w-29709))
+ (null?
(cdr w-29709))
+ #f)
+ x-31787
+ (if (if
(vector?
+
x-31787)
+ (if
(= (vector-length
+
x-31787)
+
4)
+
(eq? (vector-ref
+
x-31787
+
0)
+
'syntax-object)
+ #f)
+ #f)
+ (let
((expression-31819
+
(vector-ref
+
x-31787
+
1))
+
(wrap-31820
+
(let ((w2-31828
+
(vector-ref
+
x-31787
+
2)))
+
(let ((m1-31829
+
(car w-29709))
+
(s1-31830
+
(cdr w-29709)))
+
(if (null? m1-31829)
+
(if (null? s1-31830)
+
w2-31828
+
(cons (car w2-31828)
+
(let ((m2-31845
+
(cdr w2-31828)))
+
(if (null? m2-31845)
+
s1-31830
+
(append
+
s1-31830
+
m2-31845)))))
+
(cons (let ((m2-31853
+
(car w2-31828)))
+
(if (null? m2-31853)
+
m1-31829
+
(append
+
m1-31829
+
m2-31853)))
+
(let ((m2-31861
+
(cdr w2-31828)))
+
(if (null? m2-31861)
+
s1-31830
+
(append
+
s1-31830
+
m2-31861))))))))
+
(module-31821
+
(vector-ref
+
x-31787
+
3)))
+ (vector
+
'syntax-object
+
expression-31819
+
wrap-31820
+
module-31821))
+ (if
(null? x-31787)
+ x-31787
+ (vector
+
'syntax-object
+
x-31787
+
w-29709
+
mod-29711))))))
+ (cdr
body-29509))))))))))))))))))
+ (parse-29401
+ (map (lambda (x-29404)
+ (cons r-29398
+ (if (if (null? (car w-29400))
+ (null? (cdr w-29400))
+ #f)
+ x-29404
+ (if (if (vector? x-29404)
+ (if (= (vector-length x-29404) 4)
+ (eq? (vector-ref x-29404 0)
+ 'syntax-object)
+ #f)
+ #f)
+ (let ((expression-29440
+ (vector-ref x-29404 1))
+ (wrap-29441
+ (let ((w2-29451
+ (vector-ref x-29404 2)))
+ (let ((m1-29452 (car w-29400))
+ (s1-29453 (cdr w-29400)))
+ (if (null? m1-29452)
+ (if (null? s1-29453)
+ w2-29451
+ (cons (car w2-29451)
+ (let ((m2-29470
+ (cdr
w2-29451)))
+ (if (null?
m2-29470)
+ s1-29453
+ (append
+ s1-29453
+ m2-29470)))))
+ (cons (let ((m2-29478
+ (car
w2-29451)))
+ (if (null? m2-29478)
+ m1-29452
+ (append
+ m1-29452
+ m2-29478)))
+ (let ((m2-29486
+ (cdr
w2-29451)))
+ (if (null? m2-29486)
+ s1-29453
+ (append
+ s1-29453
+ m2-29486))))))))
+ (module-29442
+ (vector-ref x-29404 3)))
+ (vector
+ 'syntax-object
+ expression-29440
+ wrap-29441
+ module-29442))
+ (if (null? x-29404)
+ x-29404
+ (vector
+ 'syntax-object
+ x-29404
+ w-29400
+ mod-29397))))))
+ body-29393)
+ '()
+ '()
+ '()
+ '()
+ '()
+ '())))))))
+ (expand-local-syntax-4591
+ (lambda (rec?-31876
+ e-31877
+ r-31878
+ w-31879
+ s-31880
+ mod-31881
+ k-31882)
+ (let ((tmp-31884
+ ($sc-dispatch
+ e-31877
+ '(_ #(each (any any)) any . each-any))))
+ (if tmp-31884
+ (@apply
+ (lambda (id-31888 val-31889 e1-31890 e2-31891)
+ (if (not (valid-bound-ids?-4576 id-31888))
(syntax-violation
- 'syntax-case
- "duplicate pattern variable"
- #{pat 38636}#)
- (if (not (and-map
- (lambda (#{x 38887}#)
- (not (let ((#{x 38891}# (car #{x 38887}#)))
- (if (if (if (vector? #{x 38891}#)
- (if (= (vector-length
- #{x 38891}#)
- 4)
- (eq? (vector-ref
- #{x 38891}#
- 0)
- 'syntax-object)
- #f)
- #f)
- (symbol?
- (vector-ref #{x 38891}# 1))
- #f)
- (#{free-id=? 28259}#
- #{x 38891}#
- '#(syntax-object
- ...
+ #f
+ "duplicate bound keyword"
+ e-31877)
+ (let ((labels-31988 (gen-labels-4553 id-31888)))
+ (let ((new-w-31989
+ (make-binding-wrap-4564
+ id-31888
+ labels-31988
+ w-31879)))
+ (k-31882
+ (cons e1-31890 e2-31891)
+ (extend-env-4545
+ labels-31988
+ (let ((trans-r-32027
+ (macros-only-env-4547 r-31878)))
+ (begin
+ (if rec?-31876 new-w-31989 w-31879)
+ (map (lambda (x-32028)
+ (cons 'macro
+ (eval-local-transformer-4592
+ (expand-4586
+ x-32028
+ trans-r-32027
+ (values
+ (if rec?-31876
+ new-w-31989
+ w-31879))
+ mod-31881)
+ mod-31881)))
+ val-31889)))
+ r-31878)
+ new-w-31989
+ s-31880
+ mod-31881)))))
+ tmp-31884)
+ (syntax-violation
+ #f
+ "bad local syntax definition"
+ (let ((x-32335
+ (begin
+ (if (if (pair? e-31877) s-31880 #f)
+ (set-source-properties! e-31877 s-31880))
+ e-31877)))
+ (if (if (null? (car w-31879))
+ (null? (cdr w-31879))
+ #f)
+ x-32335
+ (if (if (vector? x-32335)
+ (if (= (vector-length x-32335) 4)
+ (eq? (vector-ref x-32335 0) 'syntax-object)
+ #f)
+ #f)
+ (let ((expression-32367 (vector-ref x-32335 1))
+ (wrap-32368
+ (let ((w2-32376 (vector-ref x-32335 2)))
+ (let ((m1-32377 (car w-31879))
+ (s1-32378 (cdr w-31879)))
+ (if (null? m1-32377)
+ (if (null? s1-32378)
+ w2-32376
+ (cons (car w2-32376)
+ (let ((m2-32393 (cdr w2-32376)))
+ (if (null? m2-32393)
+ s1-32378
+ (append s1-32378 m2-32393)))))
+ (cons (let ((m2-32401 (car w2-32376)))
+ (if (null? m2-32401)
+ m1-32377
+ (append m1-32377 m2-32401)))
+ (let ((m2-32409 (cdr w2-32376)))
+ (if (null? m2-32409)
+ s1-32378
+ (append s1-32378 m2-32409))))))))
+ (module-32369 (vector-ref x-32335 3)))
+ (vector
+ 'syntax-object
+ expression-32367
+ wrap-32368
+ module-32369))
+ (if (null? x-32335)
+ x-32335
+ (vector
+ 'syntax-object
+ x-32335
+ w-31879
+ mod-31881))))))))))
+ (eval-local-transformer-4592
+ (lambda (expanded-32427 mod-32428)
+ (let ((p-32429 (primitive-eval expanded-32427)))
+ (if (procedure? p-32429)
+ p-32429
+ (syntax-violation
+ #f
+ "nonprocedure transformer"
+ p-32429)))))
+ (ellipsis?-4594
+ (lambda (x-6134)
+ (if (if (if (vector? x-6134)
+ (if (= (vector-length x-6134) 4)
+ (eq? (vector-ref x-6134 0) 'syntax-object)
+ #f)
+ #f)
+ (symbol? (vector-ref x-6134 1))
+ #f)
+ (free-id=?-4574
+ x-6134
+ '#(syntax-object
+ ...
+ ((top)
+ #(ribcage () () ())
+ #(ribcage () () ())
+ #(ribcage #(x) #((top)) #("l-*-2416"))
+ #(ribcage
+ (lambda-var-list
+ gen-var
+ strip
+ expand-lambda-case
+ lambda*-formals
+ expand-simple-lambda
+ lambda-formals
+ ellipsis?
+ expand-void
+ eval-local-transformer
+ expand-local-syntax
+ expand-body
+ expand-macro
+ expand-call
+ expand-expr
+ expand
+ syntax-type
+ parse-when-list
+ expand-install-global
+ expand-top-sequence
+ expand-sequence
+ source-wrap
+ wrap
+ bound-id-member?
+ distinct-bound-ids?
+ valid-bound-ids?
+ bound-id=?
+ free-id=?
+ with-transformer-environment
+ transformer-environment
+ resolve-identifier
+ locally-bound-identifiers
+ id-var-name
+ same-marks?
+ join-marks
+ join-wraps
+ smart-append
+ make-binding-wrap
+ extend-ribcage!
+ make-empty-ribcage
+ new-mark
+ anti-mark
+ the-anti-mark
+ top-marked?
+ top-wrap
+ empty-wrap
+ set-ribcage-labels!
+ set-ribcage-marks!
+ set-ribcage-symnames!
+ ribcage-labels
+ ribcage-marks
+ ribcage-symnames
+ ribcage?
+ make-ribcage
+ gen-labels
+ gen-label
+ make-rename
+ rename-marks
+ rename-new
+ rename-old
+ subst-rename?
+ wrap-subst
+ wrap-marks
+ make-wrap
+ id-sym-name&marks
+ id-sym-name
+ id?
+ nonsymbol-id?
+ global-extend
+ macros-only-env
+ extend-var-env
+ extend-env
+ null-env
+ binding-value
+ binding-type
+ make-binding
+ arg-check
+ source-annotation
+ no-source
+ set-syntax-object-module!
+ set-syntax-object-wrap!
+ set-syntax-object-expression!
+ syntax-object-module
+ syntax-object-wrap
+ syntax-object-expression
+ syntax-object?
+ make-syntax-object
+ build-lexical-var
+ build-letrec
+ build-named-let
+ build-let
+ build-sequence
+ build-data
+ build-primref
+ build-primcall
+ build-lambda-case
+ build-case-lambda
+ build-simple-lambda
+ build-global-definition
+ build-global-assignment
+ build-global-reference
+ analyze-variable
+ build-lexical-assignment
+ build-lexical-reference
+ build-dynlet
+ build-conditional
+ build-call
+ build-void
+ maybe-name-value!
+ decorate-source
+ get-global-definition-hook
+ put-global-definition-hook
+ session-id
+ local-eval-hook
+ top-level-eval-hook
+ fx<
+ fx=
+ fx-
+ fx+
+ set-lambda-meta!
+ lambda-meta
+ lambda?
+ make-dynlet
+ make-letrec
+ make-let
+ make-lambda-case
+ make-lambda
+ make-seq
+ make-primcall
+ make-call
+ make-conditional
+ make-toplevel-define
+ make-toplevel-set
+ make-toplevel-ref
+ make-module-set
+ make-module-ref
+ make-lexical-set
+ make-lexical-ref
+ make-primitive-ref
+ make-const
+ make-void)
+ ((top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top))
+ ("l-*-478"
+ "l-*-476"
+ "l-*-474"
+ "l-*-472"
+ "l-*-470"
+ "l-*-468"
+ "l-*-466"
+ "l-*-464"
+ "l-*-462"
+ "l-*-460"
+ "l-*-458"
+ "l-*-456"
+ "l-*-454"
+ "l-*-452"
+ "l-*-450"
+ "l-*-448"
+ "l-*-446"
+ "l-*-444"
+ "l-*-442"
+ "l-*-440"
+ "l-*-438"
+ "l-*-436"
+ "l-*-434"
+ "l-*-432"
+ "l-*-430"
+ "l-*-428"
+ "l-*-426"
+ "l-*-424"
+ "l-*-422"
+ "l-*-420"
+ "l-*-418"
+ "l-*-416"
+ "l-*-414"
+ "l-*-412"
+ "l-*-410"
+ "l-*-408"
+ "l-*-406"
+ "l-*-404"
+ "l-*-402"
+ "l-*-401"
+ "l-*-399"
+ "l-*-396"
+ "l-*-395"
+ "l-*-394"
+ "l-*-392"
+ "l-*-391"
+ "l-*-389"
+ "l-*-387"
+ "l-*-385"
+ "l-*-383"
+ "l-*-381"
+ "l-*-379"
+ "l-*-377"
+ "l-*-375"
+ "l-*-372"
+ "l-*-370"
+ "l-*-369"
+ "l-*-367"
+ "l-*-365"
+ "l-*-363"
+ "l-*-361"
+ "l-*-360"
+ "l-*-359"
+ "l-*-358"
+ "l-*-356"
+ "l-*-355"
+ "l-*-352"
+ "l-*-350"
+ "l-*-348"
+ "l-*-346"
+ "l-*-344"
+ "l-*-342"
+ "l-*-341"
+ "l-*-340"
+ "l-*-338"
+ "l-*-336"
+ "l-*-335"
+ "l-*-332"
+ "l-*-331"
+ "l-*-329"
+ "l-*-327"
+ "l-*-325"
+ "l-*-323"
+ "l-*-321"
+ "l-*-319"
+ "l-*-317"
+ "l-*-315"
+ "l-*-313"
+ "l-*-310"
+ "l-*-308"
+ "l-*-306"
+ "l-*-304"
+ "l-*-302"
+ "l-*-300"
+ "l-*-298"
+ "l-*-296"
+ "l-*-294"
+ "l-*-292"
+ "l-*-290"
+ "l-*-288"
+ "l-*-286"
+ "l-*-284"
+ "l-*-282"
+ "l-*-280"
+ "l-*-278"
+ "l-*-276"
+ "l-*-274"
+ "l-*-272"
+ "l-*-270"
+ "l-*-268"
+ "l-*-266"
+ "l-*-264"
+ "l-*-262"
+ "l-*-260"
+ "l-*-258"
+ "l-*-257"
+ "l-*-256"
+ "l-*-255"
+ "l-*-254"
+ "l-*-252"
+ "l-*-250"
+ "l-*-248"
+ "l-*-245"
+ "l-*-243"
+ "l-*-241"
+ "l-*-239"
+ "l-*-237"
+ "l-*-235"
+ "l-*-233"
+ "l-*-231"
+ "l-*-229"
+ "l-*-227"
+ "l-*-225"
+ "l-*-223"
+ "l-*-221"
+ "l-*-219"
+ "l-*-217"
+ "l-*-215"
+ "l-*-213"
+ "l-*-211"
+ "l-*-209"))
+ #(ribcage
+ (define-structure
+ define-expansion-accessors
+ define-expansion-constructors)
+ ((top) (top) (top))
+ ("l-*-47" "l-*-46" "l-*-45"))
+ #(ribcage () () ()))
+ (hygiene guile)))
+ #f)))
+ (lambda-formals-4595
+ (lambda (orig-args-32434)
+ (letrec*
+ ((req-32435
+ (lambda (args-32439 rreq-32440)
+ (let ((tmp-32442 ($sc-dispatch args-32439 '())))
+ (if tmp-32442
+ (@apply
+ (lambda () (check-32436 (reverse rreq-32440) #f))
+ tmp-32442)
+ (let ((tmp-32558
+ ($sc-dispatch args-32439 '(any . any))))
+ (if (if tmp-32558
+ (@apply
+ (lambda (a-32562 b-32563)
+ (if (symbol? a-32562)
+ #t
+ (if (if (vector? a-32562)
+ (if (= (vector-length a-32562) 4)
+ (eq? (vector-ref a-32562 0)
+ 'syntax-object)
+ #f)
+ #f)
+ (symbol? (vector-ref a-32562 1))
+ #f)))
+ tmp-32558)
+ #f)
+ (@apply
+ (lambda (a-32590 b-32591)
+ (req-32435 b-32591 (cons a-32590 rreq-32440)))
+ tmp-32558)
+ (let ((tmp-32592 (list args-32439)))
+ (if (@apply
+ (lambda (r-32594)
+ (if (symbol? r-32594)
+ #t
+ (if (if (vector? r-32594)
+ (if (= (vector-length r-32594) 4)
+ (eq? (vector-ref r-32594 0)
+ 'syntax-object)
+ #f)
+ #f)
+ (symbol? (vector-ref r-32594 1))
+ #f)))
+ tmp-32592)
+ (@apply
+ (lambda (r-32624)
+ (check-32436 (reverse rreq-32440) r-32624))
+ tmp-32592)
+ (syntax-violation
+ 'lambda
+ "invalid argument list"
+ orig-args-32434
+ args-32439)))))))))
+ (check-32436
+ (lambda (req-32748 rest-32749)
+ (if (distinct-bound-ids?-4577
+ (if rest-32749
+ (cons rest-32749 req-32748)
+ req-32748))
+ (values req-32748 #f rest-32749 #f)
+ (syntax-violation
+ 'lambda
+ "duplicate identifier in argument list"
+ orig-args-32434)))))
+ (req-32435 orig-args-32434 '()))))
+ (expand-simple-lambda-4596
+ (lambda (e-32858
+ r-32859
+ w-32860
+ s-32861
+ mod-32862
+ req-32863
+ rest-32864
+ meta-32865
+ body-32866)
+ (let ((ids-32867
+ (if rest-32864
+ (append req-32863 (list rest-32864))
+ req-32863)))
+ (let ((vars-32868 (map gen-var-4600 ids-32867)))
+ (let ((labels-32869 (gen-labels-4553 ids-32867)))
+ (build-simple-lambda-4526
+ s-32861
+ (map syntax->datum req-32863)
+ (if rest-32864 (syntax->datum rest-32864) #f)
+ vars-32868
+ meta-32865
+ (expand-body-4590
+ body-32866
+ (let ((x-33052
+ (begin
+ (if (if (pair? e-32858) s-32861 #f)
+ (set-source-properties! e-32858 s-32861))
+ e-32858)))
+ (if (if (null? (car w-32860))
+ (null? (cdr w-32860))
+ #f)
+ x-33052
+ (if (if (vector? x-33052)
+ (if (= (vector-length x-33052) 4)
+ (eq? (vector-ref x-33052 0) 'syntax-object)
+ #f)
+ #f)
+ (let ((expression-33084 (vector-ref x-33052 1))
+ (wrap-33085
+ (let ((w2-33093 (vector-ref x-33052 2)))
+ (let ((m1-33094 (car w-32860))
+ (s1-33095 (cdr w-32860)))
+ (if (null? m1-33094)
+ (if (null? s1-33095)
+ w2-33093
+ (cons (car w2-33093)
+ (let ((m2-33110 (cdr w2-33093)))
+ (if (null? m2-33110)
+ s1-33095
+ (append
+ s1-33095
+ m2-33110)))))
+ (cons (let ((m2-33118 (car w2-33093)))
+ (if (null? m2-33118)
+ m1-33094
+ (append m1-33094 m2-33118)))
+ (let ((m2-33126 (cdr w2-33093)))
+ (if (null? m2-33126)
+ s1-33095
+ (append
+ s1-33095
+ m2-33126))))))))
+ (module-33086 (vector-ref x-33052 3)))
+ (vector
+ 'syntax-object
+ expression-33084
+ wrap-33085
+ module-33086))
+ (if (null? x-33052)
+ x-33052
+ (vector
+ 'syntax-object
+ x-33052
+ w-32860
+ mod-32862)))))
+ (extend-var-env-4546
+ labels-32869
+ vars-32868
+ r-32859)
+ (make-binding-wrap-4564
+ ids-32867
+ labels-32869
+ w-32860)
+ mod-32862)))))))
+ (lambda*-formals-4597
+ (lambda (orig-args-33335)
+ (letrec*
+ ((req-33336
+ (lambda (args-33343 rreq-33344)
+ (let ((tmp-33346 ($sc-dispatch args-33343 '())))
+ (if tmp-33346
+ (@apply
+ (lambda ()
+ (check-33340 (reverse rreq-33344) '() #f '()))
+ tmp-33346)
+ (let ((tmp-33465
+ ($sc-dispatch args-33343 '(any . any))))
+ (if (if tmp-33465
+ (@apply
+ (lambda (a-33469 b-33470)
+ (if (symbol? a-33469)
+ #t
+ (if (if (vector? a-33469)
+ (if (= (vector-length a-33469) 4)
+ (eq? (vector-ref a-33469 0)
+ 'syntax-object)
+ #f)
+ #f)
+ (symbol? (vector-ref a-33469 1))
+ #f)))
+ tmp-33465)
+ #f)
+ (@apply
+ (lambda (a-33497 b-33498)
+ (req-33336 b-33498 (cons a-33497 rreq-33344)))
+ tmp-33465)
+ (let ((tmp-33499
+ ($sc-dispatch args-33343 '(any . any))))
+ (if (if tmp-33499
+ (@apply
+ (lambda (a-33503 b-33504)
+ (eq? (syntax->datum a-33503) #:optional))
+ tmp-33499)
+ #f)
+ (@apply
+ (lambda (a-33505 b-33506)
+ (opt-33337 b-33506 (reverse rreq-33344) '()))
+ tmp-33499)
+ (let ((tmp-33509
+ ($sc-dispatch args-33343 '(any . any))))
+ (if (if tmp-33509
+ (@apply
+ (lambda (a-33513 b-33514)
+ (eq? (syntax->datum a-33513) #:key))
+ tmp-33509)
+ #f)
+ (@apply
+ (lambda (a-33515 b-33516)
+ (key-33338
+ b-33516
+ (reverse rreq-33344)
+ '()
+ '()))
+ tmp-33509)
+ (let ((tmp-33519
+ ($sc-dispatch args-33343 '(any any))))
+ (if (if tmp-33519
+ (@apply
+ (lambda (a-33523 b-33524)
+ (eq? (syntax->datum a-33523)
+ #:rest))
+ tmp-33519)
+ #f)
+ (@apply
+ (lambda (a-33525 b-33526)
+ (rest-33339
+ b-33526
+ (reverse rreq-33344)
+ '()
+ '()))
+ tmp-33519)
+ (let ((tmp-33529 (list args-33343)))
+ (if (@apply
+ (lambda (r-33531)
+ (if (symbol? r-33531)
+ #t
+ (if (if (vector? r-33531)
+ (if (= (vector-length
+ r-33531)
+ 4)
+ (eq? (vector-ref
+ r-33531
+ 0)
+ 'syntax-object)
+ #f)
+ #f)
+ (symbol?
+ (vector-ref r-33531 1))
+ #f)))
+ tmp-33529)
+ (@apply
+ (lambda (r-33561)
+ (rest-33339
+ r-33561
+ (reverse rreq-33344)
+ '()
+ '()))
+ tmp-33529)
+ (syntax-violation
+ 'lambda*
+ "invalid argument list"
+ orig-args-33335
+ args-33343)))))))))))))))
+ (opt-33337
+ (lambda (args-33580 req-33581 ropt-33582)
+ (let ((tmp-33584 ($sc-dispatch args-33580 '())))
+ (if tmp-33584
+ (@apply
+ (lambda ()
+ (check-33340
+ req-33581
+ (reverse ropt-33582)
+ #f
+ '()))
+ tmp-33584)
+ (let ((tmp-33705
+ ($sc-dispatch args-33580 '(any . any))))
+ (if (if tmp-33705
+ (@apply
+ (lambda (a-33709 b-33710)
+ (if (symbol? a-33709)
+ #t
+ (if (if (vector? a-33709)
+ (if (= (vector-length a-33709) 4)
+ (eq? (vector-ref a-33709 0)
+ 'syntax-object)
+ #f)
+ #f)
+ (symbol? (vector-ref a-33709 1))
+ #f)))
+ tmp-33705)
+ #f)
+ (@apply
+ (lambda (a-33737 b-33738)
+ (opt-33337
+ b-33738
+ req-33581
+ (cons (cons a-33737
+ '(#(syntax-object
+ #f
((top)
- #(ribcage () () ())
+ #(ribcage
+ #(a b)
+ #((top) (top))
+ #("l-*-2555" "l-*-2556"))
#(ribcage () () ())
#(ribcage
- #(x)
+ #(args req ropt)
+ #((top) (top) (top))
+ #("l-*-2545"
+ "l-*-2546"
+ "l-*-2547"))
+ #(ribcage
+ (check rest key opt req)
+ ((top)
+ (top)
+ (top)
+ (top)
+ (top))
+ ("l-*-2491"
+ "l-*-2489"
+ "l-*-2487"
+ "l-*-2485"
+ "l-*-2483"))
+ #(ribcage
+ #(orig-args)
#((top))
- #("i26166"))
+ #("l-*-2482"))
#(ribcage
(lambda-var-list
gen-var
@@ -14487,7 +7358,10 @@
valid-bound-ids?
bound-id=?
free-id=?
+ with-transformer-environment
+ transformer-environment
resolve-identifier
+ locally-bound-identifiers
id-var-name
same-marks?
join-marks
@@ -14568,7 +7442,7 @@
decorate-source
get-global-definition-hook
put-global-definition-hook
- gensym-hook
+ session-id
local-eval-hook
top-level-eval-hook
fx<
@@ -14734,1841 +7608,7459 @@
(top)
(top)
(top)
+ (top)
+ (top)
+ (top)
(top))
- ("i24298"
- "i24296"
- "i24294"
- "i24292"
- "i24290"
- "i24288"
- "i24286"
- "i24284"
- "i24282"
- "i24280"
- "i24278"
- "i24276"
- "i24274"
- "i24272"
- "i24270"
- "i24268"
- "i24266"
- "i24264"
- "i24262"
- "i24260"
- "i24258"
- "i24256"
- "i24254"
- "i24252"
- "i24250"
- "i24248"
- "i24246"
- "i24244"
- "i24242"
- "i24240"
- "i24238"
- "i24236"
- "i24234"
- "i24232"
- "i24230"
- "i24228"
- "i24227"
- "i24225"
- "i24222"
- "i24221"
- "i24220"
- "i24218"
- "i24217"
- "i24215"
- "i24213"
- "i24211"
- "i24209"
- "i24207"
- "i24205"
- "i24203"
- "i24201"
- "i24198"
- "i24196"
- "i24195"
- "i24193"
- "i24191"
- "i24189"
- "i24187"
- "i24186"
- "i24185"
- "i24184"
- "i24182"
- "i24181"
- "i24178"
- "i24176"
- "i24174"
- "i24172"
- "i24170"
- "i24168"
- "i24167"
- "i24166"
- "i24164"
- "i24162"
- "i24161"
- "i24158"
- "i24157"
- "i24155"
- "i24153"
- "i24151"
- "i24149"
- "i24147"
- "i24145"
- "i24143"
- "i24141"
- "i24139"
- "i24136"
- "i24134"
- "i24132"
- "i24130"
- "i24128"
- "i24126"
- "i24124"
- "i24122"
- "i24120"
- "i24118"
- "i24116"
- "i24114"
- "i24112"
- "i24110"
- "i24108"
- "i24106"
- "i24104"
- "i24102"
- "i24100"
- "i24098"
- "i24096"
- "i24094"
- "i24092"
- "i24090"
- "i24089"
- "i24086"
- "i24084"
- "i24083"
- "i24082"
- "i24081"
- "i24080"
- "i24078"
- "i24076"
- "i24074"
- "i24071"
- "i24069"
- "i24067"
- "i24065"
- "i24063"
- "i24061"
- "i24059"
- "i24057"
- "i24055"
- "i24053"
- "i24051"
- "i24049"
- "i24047"
- "i24045"
- "i24043"
- "i24041"
- "i24039"
- "i24037"
- "i24035"))
+ ("l-*-478"
+ "l-*-476"
+ "l-*-474"
+ "l-*-472"
+ "l-*-470"
+ "l-*-468"
+ "l-*-466"
+ "l-*-464"
+ "l-*-462"
+ "l-*-460"
+ "l-*-458"
+ "l-*-456"
+ "l-*-454"
+ "l-*-452"
+ "l-*-450"
+ "l-*-448"
+ "l-*-446"
+ "l-*-444"
+ "l-*-442"
+ "l-*-440"
+ "l-*-438"
+ "l-*-436"
+ "l-*-434"
+ "l-*-432"
+ "l-*-430"
+ "l-*-428"
+ "l-*-426"
+ "l-*-424"
+ "l-*-422"
+ "l-*-420"
+ "l-*-418"
+ "l-*-416"
+ "l-*-414"
+ "l-*-412"
+ "l-*-410"
+ "l-*-408"
+ "l-*-406"
+ "l-*-404"
+ "l-*-402"
+ "l-*-401"
+ "l-*-399"
+ "l-*-396"
+ "l-*-395"
+ "l-*-394"
+ "l-*-392"
+ "l-*-391"
+ "l-*-389"
+ "l-*-387"
+ "l-*-385"
+ "l-*-383"
+ "l-*-381"
+ "l-*-379"
+ "l-*-377"
+ "l-*-375"
+ "l-*-372"
+ "l-*-370"
+ "l-*-369"
+ "l-*-367"
+ "l-*-365"
+ "l-*-363"
+ "l-*-361"
+ "l-*-360"
+ "l-*-359"
+ "l-*-358"
+ "l-*-356"
+ "l-*-355"
+ "l-*-352"
+ "l-*-350"
+ "l-*-348"
+ "l-*-346"
+ "l-*-344"
+ "l-*-342"
+ "l-*-341"
+ "l-*-340"
+ "l-*-338"
+ "l-*-336"
+ "l-*-335"
+ "l-*-332"
+ "l-*-331"
+ "l-*-329"
+ "l-*-327"
+ "l-*-325"
+ "l-*-323"
+ "l-*-321"
+ "l-*-319"
+ "l-*-317"
+ "l-*-315"
+ "l-*-313"
+ "l-*-310"
+ "l-*-308"
+ "l-*-306"
+ "l-*-304"
+ "l-*-302"
+ "l-*-300"
+ "l-*-298"
+ "l-*-296"
+ "l-*-294"
+ "l-*-292"
+ "l-*-290"
+ "l-*-288"
+ "l-*-286"
+ "l-*-284"
+ "l-*-282"
+ "l-*-280"
+ "l-*-278"
+ "l-*-276"
+ "l-*-274"
+ "l-*-272"
+ "l-*-270"
+ "l-*-268"
+ "l-*-266"
+ "l-*-264"
+ "l-*-262"
+ "l-*-260"
+ "l-*-258"
+ "l-*-257"
+ "l-*-256"
+ "l-*-255"
+ "l-*-254"
+ "l-*-252"
+ "l-*-250"
+ "l-*-248"
+ "l-*-245"
+ "l-*-243"
+ "l-*-241"
+ "l-*-239"
+ "l-*-237"
+ "l-*-235"
+ "l-*-233"
+ "l-*-231"
+ "l-*-229"
+ "l-*-227"
+ "l-*-225"
+ "l-*-223"
+ "l-*-221"
+ "l-*-219"
+ "l-*-217"
+ "l-*-215"
+ "l-*-213"
+ "l-*-211"
+ "l-*-209"))
#(ribcage
(define-structure
define-expansion-accessors
define-expansion-constructors)
((top) (top) (top))
- ("i23873" "i23872" "i23871"))
+ ("l-*-47" "l-*-46" "l-*-45"))
#(ribcage () () ()))
- (hygiene guile)))
- #f))))
- #{pvars 38778}#))
- (syntax-violation
- 'syntax-case
- "misplaced ellipsis"
- #{pat 38636}#)
- (let ((#{y 38916}#
- (gensym
- (string-append (symbol->string 'tmp) " "))))
- (let ((#{fun-exp 38921}#
- (let ((#{req 38930}# (list 'tmp))
- (#{vars 38932}# (list #{y 38916}#))
- (#{exp 38934}#
- (let ((#{y 38963}#
- (make-struct/no-tail
- (vector-ref
- %expanded-vtables
- 3)
- #f
- 'tmp
- #{y 38916}#)))
- (let ((#{test-exp 38967}#
- (let ((#{tmp 38976}#
- ($sc-dispatch
- #{fender 38637}#
- '#(atom #t))))
- (if #{tmp 38976}#
- (@apply
- (lambda () #{y 38963}#)
- #{tmp 38976}#)
- (let ((#{then-exp 38994}#
-
(#{build-dispatch-call 37427}#
- #{pvars 38778}#
- #{fender 38637}#
- #{y 38963}#
- #{r 38635}#
- #{mod 38639}#))
- (#{else-exp 38995}#
-
(make-struct/no-tail
- (vector-ref
-
%expanded-vtables
- 1)
- #f
- #f)))
- (make-struct/no-tail
- (vector-ref
- %expanded-vtables
- 10)
- #f
- #{y 38963}#
- #{then-exp 38994}#
- #{else-exp
38995}#)))))
- (#{then-exp 38968}#
- (#{build-dispatch-call 37427}#
- #{pvars 38778}#
- #{exp 38638}#
- #{y 38963}#
- #{r 38635}#
- #{mod 38639}#))
- (#{else-exp 38969}#
- (#{gen-syntax-case 37429}#
- #{x 38632}#
- #{keys 38633}#
- #{clauses 38634}#
- #{r 38635}#
- #{mod 38639}#)))
- (make-struct/no-tail
- (vector-ref %expanded-vtables 10)
- #f
- #{test-exp 38967}#
- #{then-exp 38968}#
- #{else-exp 38969}#)))))
- (let ((#{body 38939}#
- (make-struct/no-tail
- (vector-ref %expanded-vtables 15)
- #f
- #{req 38930}#
- #f
- #f
- #f
- '()
- #{vars 38932}#
- #{exp 38934}#
- #f)))
- (make-struct/no-tail
- (vector-ref %expanded-vtables 14)
- #f
- '()
- #{body 38939}#))))
- (#{arg-exps 38922}#
- (list (if (eq? #{p 38777}# 'any)
- (let ((#{args 39027}#
- (list #{x 38632}#)))
- (make-struct/no-tail
- (vector-ref %expanded-vtables 12)
- #f
- 'list
- #{args 39027}#))
- (let ((#{args 39036}#
- (list #{x 38632}#
- (make-struct/no-tail
- (vector-ref
- %expanded-vtables
- 1)
- #f
- #{p 38777}#))))
- (make-struct/no-tail
- (vector-ref %expanded-vtables 12)
- #f
- '$sc-dispatch
- #{args 39036}#))))))
- (make-struct/no-tail
- (vector-ref %expanded-vtables 11)
- #f
- #{fun-exp 38921}#
- #{arg-exps 38922}#)))))))))
- (#{gen-syntax-case 37429}#
- (lambda (#{x 38133}#
- #{keys 38134}#
- #{clauses 38135}#
- #{r 38136}#
- #{mod 38137}#)
- (if (null? #{clauses 38135}#)
- (let ((#{args 38143}#
- (list (make-struct/no-tail
- (vector-ref %expanded-vtables 1)
- #f
- #f)
- (make-struct/no-tail
- (vector-ref %expanded-vtables 1)
- #f
- "source expression failed to match any pattern")
- #{x 38133}#)))
- (make-struct/no-tail
- (vector-ref %expanded-vtables 12)
- #f
- 'syntax-violation
- #{args 38143}#))
- (let ((#{tmp 38162}# (car #{clauses 38135}#)))
- (let ((#{tmp 38163}#
- ($sc-dispatch #{tmp 38162}# '(any any))))
- (if #{tmp 38163}#
- (@apply
- (lambda (#{pat 38165}# #{exp 38166}#)
- (if (if (if (symbol? #{pat 38165}#)
- #t
- (if (if (vector? #{pat 38165}#)
- (if (= (vector-length #{pat 38165}#)
- 4)
- (eq? (vector-ref #{pat 38165}# 0)
- 'syntax-object)
- #f)
- #f)
- (symbol? (vector-ref #{pat 38165}# 1))
- #f))
- (and-map
- (lambda (#{x 38193}#)
- (not (#{free-id=? 28259}#
- #{pat 38165}#
- #{x 38193}#)))
- (cons '#(syntax-object
- ...
- ((top)
- #(ribcage
- #(pat exp)
- #((top) (top))
- #("i27835" "i27836"))
- #(ribcage () () ())
- #(ribcage
- #(x keys clauses r mod)
- #((top) (top) (top) (top) (top))
- #("i27825"
- "i27826"
- "i27827"
- "i27828"
- "i27829"))
- #(ribcage
- (gen-syntax-case
- gen-clause
- build-dispatch-call
- convert-pattern)
- ((top) (top) (top) (top))
- ("i27638"
- "i27636"
- "i27634"
- "i27632"))
- #(ribcage
- (lambda-var-list
- gen-var
- strip
- expand-lambda-case
- lambda*-formals
- expand-simple-lambda
- lambda-formals
- ellipsis?
- expand-void
- eval-local-transformer
- expand-local-syntax
- expand-body
- expand-macro
- expand-call
- expand-expr
- expand
- syntax-type
- parse-when-list
- expand-install-global
- expand-top-sequence
- expand-sequence
- source-wrap
- wrap
- bound-id-member?
- distinct-bound-ids?
- valid-bound-ids?
- bound-id=?
- free-id=?
- resolve-identifier
- id-var-name
- same-marks?
- join-marks
- join-wraps
- smart-append
- make-binding-wrap
- extend-ribcage!
- make-empty-ribcage
- new-mark
- anti-mark
- the-anti-mark
- top-marked?
- top-wrap
- empty-wrap
- set-ribcage-labels!
- set-ribcage-marks!
- set-ribcage-symnames!
- ribcage-labels
- ribcage-marks
- ribcage-symnames
- ribcage?
- make-ribcage
- gen-labels
- gen-label
- make-rename
- rename-marks
- rename-new
- rename-old
- subst-rename?
- wrap-subst
- wrap-marks
- make-wrap
- id-sym-name&marks
- id-sym-name
- id?
- nonsymbol-id?
- global-extend
- macros-only-env
- extend-var-env
- extend-env
- null-env
- binding-value
- binding-type
- make-binding
- arg-check
- source-annotation
- no-source
- set-syntax-object-module!
- set-syntax-object-wrap!
- set-syntax-object-expression!
- syntax-object-module
- syntax-object-wrap
- syntax-object-expression
- syntax-object?
- make-syntax-object
- build-lexical-var
- build-letrec
- build-named-let
- build-let
- build-sequence
- build-data
- build-primref
- build-primcall
- build-lambda-case
- build-case-lambda
- build-simple-lambda
- build-global-definition
- build-global-assignment
- build-global-reference
- analyze-variable
- build-lexical-assignment
- build-lexical-reference
- build-dynlet
- build-conditional
- build-call
- build-void
- maybe-name-value!
- decorate-source
- get-global-definition-hook
- put-global-definition-hook
- gensym-hook
- local-eval-hook
- top-level-eval-hook
- fx<
- fx=
- fx-
- fx+
- set-lambda-meta!
- lambda-meta
- lambda?
- make-dynlet
- make-letrec
- make-let
- make-lambda-case
- make-lambda
- make-seq
- make-primcall
- make-call
- make-conditional
- make-toplevel-define
- make-toplevel-set
- make-toplevel-ref
- make-module-set
- make-module-ref
- make-lexical-set
- make-lexical-ref
- make-primitive-ref
- make-const
- make-void)
- ((top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
+ (hygiene guile))))
+ ropt-33582)))
+ tmp-33705)
+ (let ((tmp-33739
+ ($sc-dispatch args-33580 '((any any) . any))))
+ (if (if tmp-33739
+ (@apply
+ (lambda (a-33743 init-33744 b-33745)
+ (if (symbol? a-33743)
+ #t
+ (if (if (vector? a-33743)
+ (if (= (vector-length a-33743) 4)
+ (eq? (vector-ref a-33743 0)
+ 'syntax-object)
+ #f)
+ #f)
+ (symbol? (vector-ref a-33743 1))
+ #f)))
+ tmp-33739)
+ #f)
+ (@apply
+ (lambda (a-33772 init-33773 b-33774)
+ (opt-33337
+ b-33774
+ req-33581
+ (cons (list a-33772 init-33773) ropt-33582)))
+ tmp-33739)
+ (let ((tmp-33775
+ ($sc-dispatch args-33580 '(any . any))))
+ (if (if tmp-33775
+ (@apply
+ (lambda (a-33779 b-33780)
+ (eq? (syntax->datum a-33779) #:key))
+ tmp-33775)
+ #f)
+ (@apply
+ (lambda (a-33781 b-33782)
+ (key-33338
+ b-33782
+ req-33581
+ (reverse ropt-33582)
+ '()))
+ tmp-33775)
+ (let ((tmp-33785
+ ($sc-dispatch args-33580 '(any any))))
+ (if (if tmp-33785
+ (@apply
+ (lambda (a-33789 b-33790)
+ (eq? (syntax->datum a-33789)
+ #:rest))
+ tmp-33785)
+ #f)
+ (@apply
+ (lambda (a-33791 b-33792)
+ (rest-33339
+ b-33792
+ req-33581
+ (reverse ropt-33582)
+ '()))
+ tmp-33785)
+ (let ((tmp-33795 (list args-33580)))
+ (if (@apply
+ (lambda (r-33797)
+ (if (symbol? r-33797)
+ #t
+ (if (if (vector? r-33797)
+ (if (= (vector-length
+ r-33797)
+ 4)
+ (eq? (vector-ref
+ r-33797
+ 0)
+ 'syntax-object)
+ #f)
+ #f)
+ (symbol?
+ (vector-ref r-33797 1))
+ #f)))
+ tmp-33795)
+ (@apply
+ (lambda (r-33827)
+ (rest-33339
+ r-33827
+ req-33581
+ (reverse ropt-33582)
+ '()))
+ tmp-33795)
+ (syntax-violation
+ 'lambda*
+ "invalid optional argument list"
+ orig-args-33335
+ args-33580)))))))))))))))
+ (key-33338
+ (lambda (args-33846 req-33847 opt-33848 rkey-33849)
+ (let ((tmp-33851 ($sc-dispatch args-33846 '())))
+ (if tmp-33851
+ (@apply
+ (lambda ()
+ (check-33340
+ req-33847
+ opt-33848
+ #f
+ (cons #f (reverse rkey-33849))))
+ tmp-33851)
+ (let ((tmp-33973
+ ($sc-dispatch args-33846 '(any . any))))
+ (if (if tmp-33973
+ (@apply
+ (lambda (a-33977 b-33978)
+ (if (symbol? a-33977)
+ #t
+ (if (if (vector? a-33977)
+ (if (= (vector-length a-33977) 4)
+ (eq? (vector-ref a-33977 0)
+ 'syntax-object)
+ #f)
+ #f)
+ (symbol? (vector-ref a-33977 1))
+ #f)))
+ tmp-33973)
+ #f)
+ (@apply
+ (lambda (a-34005 b-34006)
+ (let ((tmp-34007
+ (symbol->keyword (syntax->datum a-34005))))
+ (key-33338
+ b-34006
+ req-33847
+ opt-33848
+ (cons (cons tmp-34007
+ (cons a-34005
+ '(#(syntax-object
+ #f
+ ((top)
+ #(ribcage () () ())
+ #(ribcage
+ #(k)
+ #((top))
+ #("l-*-2618"))
+ #(ribcage
+ #(a b)
+ #((top) (top))
+ #("l-*-2612"
+ "l-*-2613"))
+ #(ribcage () () ())
+ #(ribcage
+ #(args req opt rkey)
+ #((top)
+ (top)
+ (top)
+ (top))
+ #("l-*-2601"
+ "l-*-2602"
+ "l-*-2603"
+ "l-*-2604"))
+ #(ribcage
+ (check rest
+ key
+ opt
+ req)
+ ((top)
+ (top)
+ (top)
+ (top)
+ (top))
+ ("l-*-2491"
+ "l-*-2489"
+ "l-*-2487"
+ "l-*-2485"
+ "l-*-2483"))
+ #(ribcage
+ #(orig-args)
+ #((top))
+ #("l-*-2482"))
+ #(ribcage
+ (lambda-var-list
+ gen-var
+ strip
+ expand-lambda-case
+ lambda*-formals
+ expand-simple-lambda
+ lambda-formals
+ ellipsis?
+ expand-void
+
eval-local-transformer
+ expand-local-syntax
+ expand-body
+ expand-macro
+ expand-call
+ expand-expr
+ expand
+ syntax-type
+ parse-when-list
+
expand-install-global
+ expand-top-sequence
+ expand-sequence
+ source-wrap
+ wrap
+ bound-id-member?
+ distinct-bound-ids?
+ valid-bound-ids?
+ bound-id=?
+ free-id=?
+
with-transformer-environment
+
transformer-environment
+ resolve-identifier
+
locally-bound-identifiers
+ id-var-name
+ same-marks?
+ join-marks
+ join-wraps
+ smart-append
+ make-binding-wrap
+ extend-ribcage!
+ make-empty-ribcage
+ new-mark
+ anti-mark
+ the-anti-mark
+ top-marked?
+ top-wrap
+ empty-wrap
+ set-ribcage-labels!
+ set-ribcage-marks!
+
set-ribcage-symnames!
+ ribcage-labels
+ ribcage-marks
+ ribcage-symnames
+ ribcage?
+ make-ribcage
+ gen-labels
+ gen-label
+ make-rename
+ rename-marks
+ rename-new
+ rename-old
+ subst-rename?
+ wrap-subst
+ wrap-marks
+ make-wrap
+ id-sym-name&marks
+ id-sym-name
+ id?
+ nonsymbol-id?
+ global-extend
+ macros-only-env
+ extend-var-env
+ extend-env
+ null-env
+ binding-value
+ binding-type
+ make-binding
+ arg-check
+ source-annotation
+ no-source
+
set-syntax-object-module!
+
set-syntax-object-wrap!
+
set-syntax-object-expression!
+ syntax-object-module
+ syntax-object-wrap
+
syntax-object-expression
+ syntax-object?
+ make-syntax-object
+ build-lexical-var
+ build-letrec
+ build-named-let
+ build-let
+ build-sequence
+ build-data
+ build-primref
+ build-primcall
+ build-lambda-case
+ build-case-lambda
+ build-simple-lambda
+
build-global-definition
+
build-global-assignment
+
build-global-reference
+ analyze-variable
+
build-lexical-assignment
+
build-lexical-reference
+ build-dynlet
+ build-conditional
+ build-call
+ build-void
+ maybe-name-value!
+ decorate-source
+
get-global-definition-hook
+
put-global-definition-hook
+ session-id
+ local-eval-hook
+ top-level-eval-hook
+ fx<
+ fx=
+ fx-
+ fx+
+ set-lambda-meta!
+ lambda-meta
+ lambda?
+ make-dynlet
+ make-letrec
+ make-let
+ make-lambda-case
+ make-lambda
+ make-seq
+ make-primcall
+ make-call
+ make-conditional
+ make-toplevel-define
+ make-toplevel-set
+ make-toplevel-ref
+ make-module-set
+ make-module-ref
+ make-lexical-set
+ make-lexical-ref
+ make-primitive-ref
+ make-const
+ make-void)
+ ((top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top))
+ ("l-*-478"
+ "l-*-476"
+ "l-*-474"
+ "l-*-472"
+ "l-*-470"
+ "l-*-468"
+ "l-*-466"
+ "l-*-464"
+ "l-*-462"
+ "l-*-460"
+ "l-*-458"
+ "l-*-456"
+ "l-*-454"
+ "l-*-452"
+ "l-*-450"
+ "l-*-448"
+ "l-*-446"
+ "l-*-444"
+ "l-*-442"
+ "l-*-440"
+ "l-*-438"
+ "l-*-436"
+ "l-*-434"
+ "l-*-432"
+ "l-*-430"
+ "l-*-428"
+ "l-*-426"
+ "l-*-424"
+ "l-*-422"
+ "l-*-420"
+ "l-*-418"
+ "l-*-416"
+ "l-*-414"
+ "l-*-412"
+ "l-*-410"
+ "l-*-408"
+ "l-*-406"
+ "l-*-404"
+ "l-*-402"
+ "l-*-401"
+ "l-*-399"
+ "l-*-396"
+ "l-*-395"
+ "l-*-394"
+ "l-*-392"
+ "l-*-391"
+ "l-*-389"
+ "l-*-387"
+ "l-*-385"
+ "l-*-383"
+ "l-*-381"
+ "l-*-379"
+ "l-*-377"
+ "l-*-375"
+ "l-*-372"
+ "l-*-370"
+ "l-*-369"
+ "l-*-367"
+ "l-*-365"
+ "l-*-363"
+ "l-*-361"
+ "l-*-360"
+ "l-*-359"
+ "l-*-358"
+ "l-*-356"
+ "l-*-355"
+ "l-*-352"
+ "l-*-350"
+ "l-*-348"
+ "l-*-346"
+ "l-*-344"
+ "l-*-342"
+ "l-*-341"
+ "l-*-340"
+ "l-*-338"
+ "l-*-336"
+ "l-*-335"
+ "l-*-332"
+ "l-*-331"
+ "l-*-329"
+ "l-*-327"
+ "l-*-325"
+ "l-*-323"
+ "l-*-321"
+ "l-*-319"
+ "l-*-317"
+ "l-*-315"
+ "l-*-313"
+ "l-*-310"
+ "l-*-308"
+ "l-*-306"
+ "l-*-304"
+ "l-*-302"
+ "l-*-300"
+ "l-*-298"
+ "l-*-296"
+ "l-*-294"
+ "l-*-292"
+ "l-*-290"
+ "l-*-288"
+ "l-*-286"
+ "l-*-284"
+ "l-*-282"
+ "l-*-280"
+ "l-*-278"
+ "l-*-276"
+ "l-*-274"
+ "l-*-272"
+ "l-*-270"
+ "l-*-268"
+ "l-*-266"
+ "l-*-264"
+ "l-*-262"
+ "l-*-260"
+ "l-*-258"
+ "l-*-257"
+ "l-*-256"
+ "l-*-255"
+ "l-*-254"
+ "l-*-252"
+ "l-*-250"
+ "l-*-248"
+ "l-*-245"
+ "l-*-243"
+ "l-*-241"
+ "l-*-239"
+ "l-*-237"
+ "l-*-235"
+ "l-*-233"
+ "l-*-231"
+ "l-*-229"
+ "l-*-227"
+ "l-*-225"
+ "l-*-223"
+ "l-*-221"
+ "l-*-219"
+ "l-*-217"
+ "l-*-215"
+ "l-*-213"
+ "l-*-211"
+ "l-*-209"))
+ #(ribcage
+ (define-structure
+
define-expansion-accessors
+
define-expansion-constructors)
+ ((top) (top) (top))
+ ("l-*-47"
+ "l-*-46"
+ "l-*-45"))
+ #(ribcage () () ()))
+ (hygiene guile)))))
+ rkey-33849))))
+ tmp-33973)
+ (let ((tmp-34010
+ ($sc-dispatch args-33846 '((any any) . any))))
+ (if (if tmp-34010
+ (@apply
+ (lambda (a-34014 init-34015 b-34016)
+ (if (symbol? a-34014)
+ #t
+ (if (if (vector? a-34014)
+ (if (= (vector-length a-34014) 4)
+ (eq? (vector-ref a-34014 0)
+ 'syntax-object)
+ #f)
+ #f)
+ (symbol? (vector-ref a-34014 1))
+ #f)))
+ tmp-34010)
+ #f)
+ (@apply
+ (lambda (a-34043 init-34044 b-34045)
+ (let ((tmp-34046
+ (symbol->keyword
+ (syntax->datum a-34043))))
+ (key-33338
+ b-34045
+ req-33847
+ opt-33848
+ (cons (list tmp-34046 a-34043 init-34044)
+ rkey-33849))))
+ tmp-34010)
+ (let ((tmp-34049
+ ($sc-dispatch
+ args-33846
+ '((any any any) . any))))
+ (if (if tmp-34049
+ (@apply
+ (lambda (a-34053
+ init-34054
+ k-34055
+ b-34056)
+ (if (if (symbol? a-34053)
+ #t
+ (if (if (vector? a-34053)
+ (if (= (vector-length
+ a-34053)
+ 4)
+ (eq? (vector-ref
+ a-34053
+ 0)
+ 'syntax-object)
+ #f)
+ #f)
+ (symbol?
+ (vector-ref a-34053 1))
+ #f))
+ (keyword? (syntax->datum k-34055))
+ #f))
+ tmp-34049)
+ #f)
+ (@apply
+ (lambda (a-34083 init-34084 k-34085 b-34086)
+ (key-33338
+ b-34086
+ req-33847
+ opt-33848
+ (cons (list k-34085 a-34083 init-34084)
+ rkey-33849)))
+ tmp-34049)
+ (let ((tmp-34087
+ ($sc-dispatch args-33846 '(any))))
+ (if (if tmp-34087
+ (@apply
+ (lambda (aok-34091)
+ (eq? (syntax->datum aok-34091)
+ #:allow-other-keys))
+ tmp-34087)
+ #f)
+ (@apply
+ (lambda (aok-34092)
+ (check-33340
+ req-33847
+ opt-33848
+ #f
+ (cons #t (reverse rkey-33849))))
+ tmp-34087)
+ (let ((tmp-34211
+ ($sc-dispatch
+ args-33846
+ '(any any any))))
+ (if (if tmp-34211
+ (@apply
+ (lambda (aok-34215
+ a-34216
+ b-34217)
+ (if (eq? (syntax->datum
+ aok-34215)
+ #:allow-other-keys)
+ (eq? (syntax->datum a-34216)
+ #:rest)
+ #f))
+ tmp-34211)
+ #f)
+ (@apply
+ (lambda (aok-34218 a-34219 b-34220)
+ (rest-33339
+ b-34220
+ req-33847
+ opt-33848
+ (cons #t (reverse rkey-33849))))
+ tmp-34211)
+ (let ((tmp-34223
+ ($sc-dispatch
+ args-33846
+ '(any . any))))
+ (if (if tmp-34223
+ (@apply
+ (lambda (aok-34227 r-34228)
+ (if (eq? (syntax->datum
+ aok-34227)
+
#:allow-other-keys)
+ (if (symbol? r-34228)
+ #t
+ (if (if (vector?
+ r-34228)
+ (if (=
(vector-length
+ r-34228)
+ 4)
+ (eq?
(vector-ref
+ r-34228
+ 0)
+
'syntax-object)
+ #f)
+ #f)
+ (symbol?
+ (vector-ref
+ r-34228
+ 1))
+ #f))
+ #f))
+ tmp-34223)
+ #f)
+ (@apply
+ (lambda (aok-34255 r-34256)
+ (rest-33339
+ r-34256
+ req-33847
+ opt-33848
+ (cons #t
+ (reverse rkey-33849))))
+ tmp-34223)
+ (let ((tmp-34259
+ ($sc-dispatch
+ args-33846
+ '(any any))))
+ (if (if tmp-34259
+ (@apply
+ (lambda (a-34263 b-34264)
+ (eq? (syntax->datum
+ a-34263)
+ #:rest))
+ tmp-34259)
+ #f)
+ (@apply
+ (lambda (a-34265 b-34266)
+ (rest-33339
+ b-34266
+ req-33847
+ opt-33848
+ (cons #f
+ (reverse
+ rkey-33849))))
+ tmp-34259)
+ (let ((tmp-34269
+ (list args-33846)))
+ (if (@apply
+ (lambda (r-34271)
+ (if (symbol? r-34271)
+ #t
+ (if (if (vector?
+ r-34271)
+ (if (=
(vector-length
+
r-34271)
+ 4)
+ (eq?
(vector-ref
+
r-34271
+ 0)
+
'syntax-object)
+ #f)
+ #f)
+ (symbol?
+ (vector-ref
+ r-34271
+ 1))
+ #f)))
+ tmp-34269)
+ (@apply
+ (lambda (r-34301)
+ (rest-33339
+ r-34301
+ req-33847
+ opt-33848
+ (cons #f
+ (reverse
+
rkey-33849))))
+ tmp-34269)
+ (syntax-violation
+ 'lambda*
+ "invalid keyword
argument list"
+ orig-args-33335
+
args-33846)))))))))))))))))))))
+ (rest-33339
+ (lambda (args-34329 req-34330 opt-34331 kw-34332)
+ (let ((tmp-34334 (list args-34329)))
+ (if (@apply
+ (lambda (r-34336)
+ (if (symbol? r-34336)
+ #t
+ (if (if (vector? r-34336)
+ (if (= (vector-length r-34336) 4)
+ (eq? (vector-ref r-34336 0) 'syntax-object)
+ #f)
+ #f)
+ (symbol? (vector-ref r-34336 1))
+ #f)))
+ tmp-34334)
+ (@apply
+ (lambda (r-34366)
+ (check-33340
+ req-34330
+ opt-34331
+ r-34366
+ kw-34332))
+ tmp-34334)
+ (syntax-violation
+ 'lambda*
+ "invalid rest argument"
+ orig-args-33335
+ args-34329)))))
+ (check-33340
+ (lambda (req-34494 opt-34495 rest-34496 kw-34497)
+ (if (distinct-bound-ids?-4577
+ (append
+ req-34494
+ (map car opt-34495)
+ (if rest-34496 (list rest-34496) '())
+ (if (pair? kw-34497)
+ (map cadr (cdr kw-34497))
+ '())))
+ (values req-34494 opt-34495 rest-34496 kw-34497)
+ (syntax-violation
+ 'lambda*
+ "duplicate identifier in argument list"
+ orig-args-33335)))))
+ (req-33336 orig-args-33335 '()))))
+ (expand-lambda-case-4598
+ (lambda (e-34606
+ r-34607
+ w-34608
+ s-34609
+ mod-34610
+ get-formals-34611
+ clauses-34612)
+ (letrec*
+ ((parse-req-34613
+ (lambda (req-34746
+ opt-34747
+ rest-34748
+ kw-34749
+ body-34750)
+ (let ((vars-34751 (map gen-var-4600 req-34746))
+ (labels-34752 (gen-labels-4553 req-34746)))
+ (let ((r*-34753
+ (extend-var-env-4546
+ labels-34752
+ vars-34751
+ r-34607))
+ (w*-34754
+ (make-binding-wrap-4564
+ req-34746
+ labels-34752
+ w-34608)))
+ (parse-opt-34614
+ (map syntax->datum req-34746)
+ opt-34747
+ rest-34748
+ kw-34749
+ body-34750
+ (reverse vars-34751)
+ r*-34753
+ w*-34754
+ '()
+ '())))))
+ (parse-opt-34614
+ (lambda (req-34951
+ opt-34952
+ rest-34953
+ kw-34954
+ body-34955
+ vars-34956
+ r*-34957
+ w*-34958
+ out-34959
+ inits-34960)
+ (if (pair? opt-34952)
+ (let ((tmp-34961 (car opt-34952)))
+ (let ((tmp-34962 ($sc-dispatch tmp-34961 '(any any))))
+ (if tmp-34962
+ (@apply
+ (lambda (id-34964 i-34965)
+ (let ((v-34966
+ (let ((id-34974
+ (if (if (vector? id-34964)
+ (if (= (vector-length
+ id-34964)
+ 4)
+ (eq? (vector-ref
+ id-34964
+ 0)
+ 'syntax-object)
+ #f)
+ #f)
+ (vector-ref id-34964 1)
+ id-34964)))
+ (gensym
+ (string-append
+ (symbol->string id-34974)
+ "-")))))
+ (let ((l-34967 (gen-labels-4553 (list v-34966))))
+ (let ((r**-34968
+ (extend-var-env-4546
+ l-34967
+ (list v-34966)
+ r*-34957)))
+ (let ((w**-34969
+ (make-binding-wrap-4564
+ (list id-34964)
+ l-34967
+ w*-34958)))
+ (parse-opt-34614
+ req-34951
+ (cdr opt-34952)
+ rest-34953
+ kw-34954
+ body-34955
+ (cons v-34966 vars-34956)
+ r**-34968
+ w**-34969
+ (cons (syntax->datum id-34964) out-34959)
+ (cons (expand-4586
+ i-34965
+ r*-34957
+ w*-34958
+ mod-34610)
+ inits-34960)))))))
+ tmp-34962)
+ (syntax-violation
+ #f
+ "source expression failed to match any pattern"
+ tmp-34961))))
+ (if rest-34953
+ (let ((v-35232
+ (let ((id-35242
+ (if (if (vector? rest-34953)
+ (if (= (vector-length rest-34953) 4)
+ (eq? (vector-ref rest-34953 0)
+ 'syntax-object)
+ #f)
+ #f)
+ (vector-ref rest-34953 1)
+ rest-34953)))
+ (gensym
+ (string-append
+ (symbol->string id-35242)
+ "-")))))
+ (let ((l-35233 (gen-labels-4553 (list v-35232))))
+ (let ((r*-35234
+ (extend-var-env-4546
+ l-35233
+ (list v-35232)
+ r*-34957)))
+ (let ((w*-35235
+ (make-binding-wrap-4564
+ (list rest-34953)
+ l-35233
+ w*-34958)))
+ (parse-kw-34615
+ req-34951
+ (if (pair? out-34959) (reverse out-34959) #f)
+ (syntax->datum rest-34953)
+ (if (pair? kw-34954) (cdr kw-34954) kw-34954)
+ body-34955
+ (cons v-35232 vars-34956)
+ r*-35234
+ w*-35235
+ (if (pair? kw-34954) (car kw-34954) #f)
+ '()
+ inits-34960)))))
+ (parse-kw-34615
+ req-34951
+ (if (pair? out-34959) (reverse out-34959) #f)
+ #f
+ (if (pair? kw-34954) (cdr kw-34954) kw-34954)
+ body-34955
+ vars-34956
+ r*-34957
+ w*-34958
+ (if (pair? kw-34954) (car kw-34954) #f)
+ '()
+ inits-34960)))))
+ (parse-kw-34615
+ (lambda (req-35425
+ opt-35426
+ rest-35427
+ kw-35428
+ body-35429
+ vars-35430
+ r*-35431
+ w*-35432
+ aok-35433
+ out-35434
+ inits-35435)
+ (if (pair? kw-35428)
+ (let ((tmp-35436 (car kw-35428)))
+ (let ((tmp-35437
+ ($sc-dispatch tmp-35436 '(any any any))))
+ (if tmp-35437
+ (@apply
+ (lambda (k-35439 id-35440 i-35441)
+ (let ((v-35442
+ (let ((id-35450
+ (if (if (vector? id-35440)
+ (if (= (vector-length
+ id-35440)
+ 4)
+ (eq? (vector-ref
+ id-35440
+ 0)
+ 'syntax-object)
+ #f)
+ #f)
+ (vector-ref id-35440 1)
+ id-35440)))
+ (gensym
+ (string-append
+ (symbol->string id-35450)
+ "-")))))
+ (let ((l-35443 (gen-labels-4553 (list v-35442))))
+ (let ((r**-35444
+ (extend-var-env-4546
+ l-35443
+ (list v-35442)
+ r*-35431)))
+ (let ((w**-35445
+ (make-binding-wrap-4564
+ (list id-35440)
+ l-35443
+ w*-35432)))
+ (parse-kw-34615
+ req-35425
+ opt-35426
+ rest-35427
+ (cdr kw-35428)
+ body-35429
+ (cons v-35442 vars-35430)
+ r**-35444
+ w**-35445
+ aok-35433
+ (cons (list (syntax->datum k-35439)
+ (syntax->datum id-35440)
+ v-35442)
+ out-35434)
+ (cons (expand-4586
+ i-35441
+ r*-35431
+ w*-35432
+ mod-34610)
+ inits-35435)))))))
+ tmp-35437)
+ (syntax-violation
+ #f
+ "source expression failed to match any pattern"
+ tmp-35436))))
+ (parse-body-34616
+ req-35425
+ opt-35426
+ rest-35427
+ (if (if aok-35433 aok-35433 (pair? out-35434))
+ (cons aok-35433 (reverse out-35434))
+ #f)
+ body-35429
+ (reverse vars-35430)
+ r*-35431
+ w*-35432
+ (reverse inits-35435)
+ '()))))
+ (parse-body-34616
+ (lambda (req-35717
+ opt-35718
+ rest-35719
+ kw-35720
+ body-35721
+ vars-35722
+ r*-35723
+ w*-35724
+ inits-35725
+ meta-35726)
+ (let ((tmp-35728
+ ($sc-dispatch body-35721 '(any any . each-any))))
+ (if (if tmp-35728
+ (@apply
+ (lambda (docstring-35732 e1-35733 e2-35734)
+ (string? (syntax->datum docstring-35732)))
+ tmp-35728)
+ #f)
+ (@apply
+ (lambda (docstring-35735 e1-35736 e2-35737)
+ (parse-body-34616
+ req-35717
+ opt-35718
+ rest-35719
+ kw-35720
+ (cons e1-35736 e2-35737)
+ vars-35722
+ r*-35723
+ w*-35724
+ inits-35725
+ (append
+ meta-35726
+ (list (cons 'documentation
+ (syntax->datum docstring-35735))))))
+ tmp-35728)
+ (let ((tmp-35738
+ ($sc-dispatch
+ body-35721
+ '(#(vector #(each (any . any)))
+ any
+ .
+ each-any))))
+ (if tmp-35738
+ (@apply
+ (lambda (k-35742 v-35743 e1-35744 e2-35745)
+ (parse-body-34616
+ req-35717
+ opt-35718
+ rest-35719
+ kw-35720
+ (cons e1-35744 e2-35745)
+ vars-35722
+ r*-35723
+ w*-35724
+ inits-35725
+ (append
+ meta-35726
+ (syntax->datum (map cons k-35742 v-35743)))))
+ tmp-35738)
+ (let ((tmp-35746
+ ($sc-dispatch body-35721 '(any . each-any))))
+ (if tmp-35746
+ (@apply
+ (lambda (e1-35750 e2-35751)
+ (values
+ meta-35726
+ req-35717
+ opt-35718
+ rest-35719
+ kw-35720
+ inits-35725
+ vars-35722
+ (expand-body-4590
+ (cons e1-35750 e2-35751)
+ (let ((x-35763
+ (begin
+ (if (if (pair? e-34606)
+ s-34609
+ #f)
+ (set-source-properties!
+ e-34606
+ s-34609))
+ e-34606)))
+ (if (if (null? (car w-34608))
+ (null? (cdr w-34608))
+ #f)
+ x-35763
+ (if (if (vector? x-35763)
+ (if (= (vector-length x-35763) 4)
+ (eq? (vector-ref x-35763 0)
+ 'syntax-object)
+ #f)
+ #f)
+ (let ((expression-35795
+ (vector-ref x-35763 1))
+ (wrap-35796
+ (let ((w2-35804
+ (vector-ref
+ x-35763
+ 2)))
+ (let ((m1-35805
+ (car w-34608))
+ (s1-35806
+ (cdr w-34608)))
+ (if (null? m1-35805)
+ (if (null? s1-35806)
+ w2-35804
+ (cons (car w2-35804)
+ (let ((m2-35821
+ (cdr
w2-35804)))
+ (if (null?
m2-35821)
+ s1-35806
+ (append
+ s1-35806
+
m2-35821)))))
+ (cons (let ((m2-35829
+ (car
w2-35804)))
+ (if (null?
m2-35829)
+ m1-35805
+ (append
+ m1-35805
+ m2-35829)))
+ (let ((m2-35837
+ (cdr
w2-35804)))
+ (if (null?
m2-35837)
+ s1-35806
+ (append
+ s1-35806
+
m2-35837))))))))
+ (module-35797
+ (vector-ref x-35763 3)))
+ (vector
+ 'syntax-object
+ expression-35795
+ wrap-35796
+ module-35797))
+ (if (null? x-35763)
+ x-35763
+ (vector
+ 'syntax-object
+ x-35763
+ w-34608
+ mod-34610)))))
+ r*-35723
+ w*-35724
+ mod-34610)))
+ tmp-35746)
+ (syntax-violation
+ #f
+ "source expression failed to match any pattern"
+ body-35721))))))))))
+ (let ((tmp-34618 ($sc-dispatch clauses-34612 '())))
+ (if tmp-34618
+ (@apply (lambda () (values '() #f)) tmp-34618)
+ (let ((tmp-34622
+ ($sc-dispatch
+ clauses-34612
+ '((any any . each-any)
+ .
+ #(each (any any . each-any))))))
+ (if tmp-34622
+ (@apply
+ (lambda (args-34626
+ e1-34627
+ e2-34628
+ args*-34629
+ e1*-34630
+ e2*-34631)
+ (call-with-values
+ (lambda () (get-formals-34611 args-34626))
+ (lambda (req-34632 opt-34633 rest-34634 kw-34635)
+ (call-with-values
+ (lambda ()
+ (parse-req-34613
+ req-34632
+ opt-34633
+ rest-34634
+ kw-34635
+ (cons e1-34627 e2-34628)))
+ (lambda (meta-34702
+ req-34703
+ opt-34704
+ rest-34705
+ kw-34706
+ inits-34707
+ vars-34708
+ body-34709)
+ (call-with-values
+ (lambda ()
+ (expand-lambda-case-4598
+ e-34606
+ r-34607
+ w-34608
+ s-34609
+ mod-34610
+ get-formals-34611
+ (map (lambda (tmp-2961-34710
+ tmp-2960-34711
+ tmp-2959-34712)
+ (cons tmp-2959-34712
+ (cons tmp-2960-34711
+ tmp-2961-34710)))
+ e2*-34631
+ e1*-34630
+ args*-34629)))
+ (lambda (meta*-34713 else*-34714)
+ (values
+ (append meta-34702 meta*-34713)
+ (make-struct/no-tail
+ (vector-ref %expanded-vtables 15)
+ s-34609
+ req-34703
+ opt-34704
+ rest-34705
+ kw-34706
+ inits-34707
+ vars-34708
+ body-34709
+ else*-34714)))))))))
+ tmp-34622)
+ (syntax-violation
+ #f
+ "source expression failed to match any pattern"
+ clauses-34612))))))))
+ (strip-4599
+ (lambda (x-35864 w-35865)
+ (if (memq 'top (car w-35865))
+ x-35864
+ (letrec*
+ ((f-35866
+ (lambda (x-35869)
+ (if (if (vector? x-35869)
+ (if (= (vector-length x-35869) 4)
+ (eq? (vector-ref x-35869 0) 'syntax-object)
+ #f)
+ #f)
+ (strip-4599
+ (vector-ref x-35869 1)
+ (vector-ref x-35869 2))
+ (if (pair? x-35869)
+ (let ((a-35888 (f-35866 (car x-35869)))
+ (d-35889 (f-35866 (cdr x-35869))))
+ (if (if (eq? a-35888 (car x-35869))
+ (eq? d-35889 (cdr x-35869))
+ #f)
+ x-35869
+ (cons a-35888 d-35889)))
+ (if (vector? x-35869)
+ (let ((old-35892 (vector->list x-35869)))
+ (let ((new-35893 (map f-35866 old-35892)))
+ (letrec*
+ ((lp-35894
+ (lambda (l1-35991 l2-35992)
+ (if (null? l1-35991)
+ x-35869
+ (if (eq? (car l1-35991) (car l2-35992))
+ (lp-35894 (cdr l1-35991) (cdr l2-35992))
+ (list->vector new-35893))))))
+ (lp-35894 old-35892 new-35893))))
+ x-35869))))))
+ (f-35866 x-35864)))))
+ (gen-var-4600
+ (lambda (id-34758)
+ (let ((id-34759
+ (if (if (vector? id-34758)
+ (if (= (vector-length id-34758) 4)
+ (eq? (vector-ref id-34758 0) 'syntax-object)
+ #f)
+ #f)
+ (vector-ref id-34758 1)
+ id-34758)))
+ (gensym
+ (string-append (symbol->string id-34759) "-")))))
+ (lambda-var-list-4601
+ (lambda (vars-35993)
+ (letrec*
+ ((lvl-35994
+ (lambda (vars-35997 ls-35998 w-35999)
+ (if (pair? vars-35997)
+ (lvl-35994
+ (cdr vars-35997)
+ (cons (let ((x-36003 (car vars-35997)))
+ (if (if (null? (car w-35999))
+ (null? (cdr w-35999))
+ #f)
+ x-36003
+ (if (if (vector? x-36003)
+ (if (= (vector-length x-36003) 4)
+ (eq? (vector-ref x-36003 0)
+ 'syntax-object)
+ #f)
+ #f)
+ (let ((expression-36021 (vector-ref x-36003 1))
+ (wrap-36022
+ (let ((w2-36030
+ (vector-ref x-36003 2)))
+ (let ((m1-36031 (car w-35999))
+ (s1-36032 (cdr w-35999)))
+ (if (null? m1-36031)
+ (if (null? s1-36032)
+ w2-36030
+ (cons (car w2-36030)
+ (let ((m2-36047
+ (cdr w2-36030)))
+ (if (null? m2-36047)
+ s1-36032
+ (append
+ s1-36032
+ m2-36047)))))
+ (cons (let ((m2-36055
+ (car w2-36030)))
+ (if (null? m2-36055)
+ m1-36031
+ (append
+ m1-36031
+ m2-36055)))
+ (let ((m2-36063
+ (cdr w2-36030)))
+ (if (null? m2-36063)
+ s1-36032
+ (append
+ s1-36032
+ m2-36063))))))))
+ (module-36023 (vector-ref x-36003 3)))
+ (vector
+ 'syntax-object
+ expression-36021
+ wrap-36022
+ module-36023))
+ (if (null? x-36003)
+ x-36003
+ (vector
+ 'syntax-object
+ x-36003
+ w-35999
+ #f)))))
+ ls-35998)
+ w-35999)
+ (if (if (symbol? vars-35997)
+ #t
+ (if (if (vector? vars-35997)
+ (if (= (vector-length vars-35997) 4)
+ (eq? (vector-ref vars-35997 0) 'syntax-object)
+ #f)
+ #f)
+ (symbol? (vector-ref vars-35997 1))
+ #f))
+ (cons (if (if (null? (car w-35999))
+ (null? (cdr w-35999))
+ #f)
+ vars-35997
+ (if (if (vector? vars-35997)
+ (if (= (vector-length vars-35997) 4)
+ (eq? (vector-ref vars-35997 0)
+ 'syntax-object)
+ #f)
+ #f)
+ (let ((expression-36133
+ (vector-ref vars-35997 1))
+ (wrap-36134
+ (let ((w2-36144
+ (vector-ref vars-35997 2)))
+ (let ((m1-36145 (car w-35999))
+ (s1-36146 (cdr w-35999)))
+ (if (null? m1-36145)
+ (if (null? s1-36146)
+ w2-36144
+ (cons (car w2-36144)
+ (let ((m2-36163
+ (cdr w2-36144)))
+ (if (null? m2-36163)
+ s1-36146
+ (append
+ s1-36146
+ m2-36163)))))
+ (cons (let ((m2-36171
+ (car w2-36144)))
+ (if (null? m2-36171)
+ m1-36145
+ (append
+ m1-36145
+ m2-36171)))
+ (let ((m2-36179
+ (cdr w2-36144)))
+ (if (null? m2-36179)
+ s1-36146
+ (append
+ s1-36146
+ m2-36179))))))))
+ (module-36135 (vector-ref vars-35997 3)))
+ (vector
+ 'syntax-object
+ expression-36133
+ wrap-36134
+ module-36135))
+ (if (null? vars-35997)
+ vars-35997
+ (vector
+ 'syntax-object
+ vars-35997
+ w-35999
+ #f))))
+ ls-35998)
+ (if (null? vars-35997)
+ ls-35998
+ (if (if (vector? vars-35997)
+ (if (= (vector-length vars-35997) 4)
+ (eq? (vector-ref vars-35997 0) 'syntax-object)
+ #f)
+ #f)
+ (lvl-35994
+ (vector-ref vars-35997 1)
+ ls-35998
+ (let ((w2-36220 (vector-ref vars-35997 2)))
+ (let ((m1-36221 (car w-35999))
+ (s1-36222 (cdr w-35999)))
+ (if (null? m1-36221)
+ (if (null? s1-36222)
+ w2-36220
+ (cons (car w2-36220)
+ (let ((m2-36233 (cdr w2-36220)))
+ (if (null? m2-36233)
+ s1-36222
+ (append s1-36222 m2-36233)))))
+ (cons (let ((m2-36241 (car w2-36220)))
+ (if (null? m2-36241)
+ m1-36221
+ (append m1-36221 m2-36241)))
+ (let ((m2-36249 (cdr w2-36220)))
+ (if (null? m2-36249)
+ s1-36222
+ (append s1-36222 m2-36249))))))))
+ (cons vars-35997 ls-35998))))))))
+ (lvl-35994 vars-35993 '() '(()))))))
+ (begin
+ (set! session-id-4511
+ (let ((v-18812
+ (module-variable
+ (current-module)
+ 'syntax-session-id)))
+ (lambda () ((variable-ref v-18812)))))
+ (set! transformer-environment-4572
+ (make-fluid
+ (lambda (k-17456)
+ (error "called outside the dynamic extent of a syntax
transformer"))))
+ (module-define!
+ (current-module)
+ 'letrec-syntax
+ (make-syntax-transformer
+ 'letrec-syntax
+ 'local-syntax
+ #t))
+ (module-define!
+ (current-module)
+ 'let-syntax
+ (make-syntax-transformer
+ 'let-syntax
+ 'local-syntax
+ #f))
+ (global-extend-4548
+ 'core
+ 'syntax-parameterize
+ (lambda (e-4728 r-4729 w-4730 s-4731 mod-4732)
+ (let ((tmp-4734
+ ($sc-dispatch
+ e-4728
+ '(_ #(each (any any)) any . each-any))))
+ (if (if tmp-4734
+ (@apply
+ (lambda (var-4738 val-4739 e1-4740 e2-4741)
+ (valid-bound-ids?-4576 var-4738))
+ tmp-4734)
+ #f)
+ (@apply
+ (lambda (var-4826 val-4827 e1-4828 e2-4829)
+ (let ((names-4830
+ (map (lambda (x-5170)
+ (call-with-values
+ (lambda ()
+ (resolve-identifier-4571
+ x-5170
+ w-4730
+ r-4729
+ mod-4732
+ #f))
+ (lambda (type-5173 value-5174 mod-5175)
+ (if (eqv? type-5173 'displaced-lexical)
+ (syntax-violation
+ 'syntax-parameterize
+ "identifier out of context"
+ e-4728
+ (let ((x-5188
+ (begin
+ (if (if (pair? x-5170)
+ s-4731
+ #f)
+ (set-source-properties!
+ x-5170
+ s-4731))
+ x-5170)))
+ (if (if (null? (car w-4730))
+ (null? (cdr w-4730))
+ #f)
+ x-5188
+ (if (if (vector? x-5188)
+ (if (= (vector-length
+ x-5188)
+ 4)
+ (eq? (vector-ref x-5188 0)
+ 'syntax-object)
+ #f)
+ #f)
+ (let ((expression-5220
+ (vector-ref x-5188 1))
+ (wrap-5221
+ (let ((w2-5229
+ (vector-ref
+ x-5188
+ 2)))
+ (let ((m1-5230
+ (car w-4730))
+ (s1-5231
+ (cdr w-4730)))
+ (if (null? m1-5230)
+ (if (null?
s1-5231)
+ w2-5229
+ (cons (car
w2-5229)
+ (let
((m2-5246
+
(cdr w2-5229)))
+ (if
(null? m2-5246)
+
s1-5231
+
(append
+
s1-5231
+
m2-5246)))))
+ (cons (let
((m2-5254
+
(car w2-5229)))
+ (if
(null? m2-5254)
+ m1-5230
+ (append
+
m1-5230
+
m2-5254)))
+ (let
((m2-5262
+
(cdr w2-5229)))
+ (if
(null? m2-5262)
+ s1-5231
+ (append
+
s1-5231
+
m2-5262))))))))
+ (module-5222
+ (vector-ref x-5188 3)))
+ (vector
+ 'syntax-object
+ expression-5220
+ wrap-5221
+ module-5222))
+ (if (null? x-5188)
+ x-5188
+ (vector
+ 'syntax-object
+ x-5188
+ w-4730
+ mod-5175))))))
+ (if (eqv? type-5173 'syntax-parameter)
+ value-5174
+ (syntax-violation
+ 'syntax-parameterize
+ "invalid syntax parameter"
+ e-4728
+ (let ((x-5289
+ (begin
+ (if (if (pair? x-5170)
+ s-4731
+ #f)
+ (set-source-properties!
+ x-5170
+ s-4731))
+ x-5170)))
+ (if (if (null? (car w-4730))
+ (null? (cdr w-4730))
+ #f)
+ x-5289
+ (if (if (vector? x-5289)
+ (if (= (vector-length
+ x-5289)
+ 4)
+ (eq? (vector-ref
+ x-5289
+ 0)
+ 'syntax-object)
+ #f)
+ #f)
+ (let ((expression-5321
+ (vector-ref x-5289 1))
+ (wrap-5322
+ (let ((w2-5330
+ (vector-ref
+ x-5289
+ 2)))
+ (let ((m1-5331
+ (car
w-4730))
+ (s1-5332
+ (cdr
w-4730)))
+ (if (null?
m1-5331)
+ (if (null?
s1-5332)
+ w2-5330
+ (cons (car
w2-5330)
+ (let
((m2-5347
+
(cdr w2-5330)))
+ (if
(null? m2-5347)
+
s1-5332
+
(append
+
s1-5332
+
m2-5347)))))
+ (cons (let
((m2-5355
+
(car w2-5330)))
+ (if
(null? m2-5355)
+
m1-5331
+
(append
+
m1-5331
+
m2-5355)))
+ (let
((m2-5363
+
(cdr w2-5330)))
+ (if
(null? m2-5363)
+
s1-5332
+
(append
+
s1-5332
+
m2-5363))))))))
+ (module-5323
+ (vector-ref
+ x-5289
+ 3)))
+ (vector
+ 'syntax-object
+ expression-5321
+ wrap-5322
+ module-5323))
+ (if (null? x-5289)
+ x-5289
+ (vector
+ 'syntax-object
+ x-5289
+ w-4730
+ mod-5175)))))))))))
+ var-4826))
+ (bindings-4831
+ (let ((trans-r-5378 (macros-only-env-4547 r-4729)))
+ (map (lambda (x-5379)
+ (cons 'macro
+ (eval-local-transformer-4592
+ (expand-4586
+ x-5379
+ trans-r-5378
+ w-4730
+ mod-4732)
+ mod-4732)))
+ val-4827))))
+ (expand-body-4590
+ (cons e1-4828 e2-4829)
+ (let ((x-4843
+ (begin
+ (if (if (pair? e-4728) s-4731 #f)
+ (set-source-properties! e-4728 s-4731))
+ e-4728)))
+ (if (if (null? (car w-4730)) (null? (cdr w-4730)) #f)
+ x-4843
+ (if (if (vector? x-4843)
+ (if (= (vector-length x-4843) 4)
+ (eq? (vector-ref x-4843 0) 'syntax-object)
+ #f)
+ #f)
+ (let ((expression-4875 (vector-ref x-4843 1))
+ (wrap-4876
+ (let ((w2-4884 (vector-ref x-4843 2)))
+ (let ((m1-4885 (car w-4730))
+ (s1-4886 (cdr w-4730)))
+ (if (null? m1-4885)
+ (if (null? s1-4886)
+ w2-4884
+ (cons (car w2-4884)
+ (let ((m2-4901
+ (cdr w2-4884)))
+ (if (null? m2-4901)
+ s1-4886
+ (append
+ s1-4886
+ m2-4901)))))
+ (cons (let ((m2-4909 (car w2-4884)))
+ (if (null? m2-4909)
+ m1-4885
+ (append m1-4885 m2-4909)))
+ (let ((m2-4917 (cdr w2-4884)))
+ (if (null? m2-4917)
+ s1-4886
+ (append
+ s1-4886
+ m2-4917))))))))
+ (module-4877 (vector-ref x-4843 3)))
+ (vector
+ 'syntax-object
+ expression-4875
+ wrap-4876
+ module-4877))
+ (if (null? x-4843)
+ x-4843
+ (vector
+ 'syntax-object
+ x-4843
+ w-4730
+ mod-4732)))))
+ (extend-env-4545 names-4830 bindings-4831 r-4729)
+ w-4730
+ mod-4732)))
+ tmp-4734)
+ (syntax-violation
+ 'syntax-parameterize
+ "bad syntax"
+ (let ((x-5599
+ (begin
+ (if (if (pair? e-4728) s-4731 #f)
+ (set-source-properties! e-4728 s-4731))
+ e-4728)))
+ (if (if (null? (car w-4730)) (null? (cdr w-4730)) #f)
+ x-5599
+ (if (if (vector? x-5599)
+ (if (= (vector-length x-5599) 4)
+ (eq? (vector-ref x-5599 0) 'syntax-object)
+ #f)
+ #f)
+ (let ((expression-5631 (vector-ref x-5599 1))
+ (wrap-5632
+ (let ((w2-5640 (vector-ref x-5599 2)))
+ (let ((m1-5641 (car w-4730))
+ (s1-5642 (cdr w-4730)))
+ (if (null? m1-5641)
+ (if (null? s1-5642)
+ w2-5640
+ (cons (car w2-5640)
+ (let ((m2-5657 (cdr w2-5640)))
+ (if (null? m2-5657)
+ s1-5642
+ (append s1-5642 m2-5657)))))
+ (cons (let ((m2-5665 (car w2-5640)))
+ (if (null? m2-5665)
+ m1-5641
+ (append m1-5641 m2-5665)))
+ (let ((m2-5673 (cdr w2-5640)))
+ (if (null? m2-5673)
+ s1-5642
+ (append s1-5642 m2-5673))))))))
+ (module-5633 (vector-ref x-5599 3)))
+ (vector
+ 'syntax-object
+ expression-5631
+ wrap-5632
+ module-5633))
+ (if (null? x-5599)
+ x-5599
+ (vector 'syntax-object x-5599 w-4730 mod-4732))))))))))
+ (module-define!
+ (current-module)
+ 'quote
+ (make-syntax-transformer
+ 'quote
+ 'core
+ (lambda (e-5701 r-5702 w-5703 s-5704 mod-5705)
+ (let ((tmp-5707 ($sc-dispatch e-5701 '(_ any))))
+ (if tmp-5707
+ (@apply
+ (lambda (e-5710)
+ (let ((exp-5714 (strip-4599 e-5710 w-5703)))
+ (make-struct/no-tail
+ (vector-ref %expanded-vtables 1)
+ s-5704
+ exp-5714)))
+ tmp-5707)
+ (syntax-violation
+ 'quote
+ "bad syntax"
+ (let ((x-5728
+ (begin
+ (if (if (pair? e-5701) s-5704 #f)
+ (set-source-properties! e-5701 s-5704))
+ e-5701)))
+ (if (if (null? (car w-5703)) (null? (cdr w-5703)) #f)
+ x-5728
+ (if (if (vector? x-5728)
+ (if (= (vector-length x-5728) 4)
+ (eq? (vector-ref x-5728 0) 'syntax-object)
+ #f)
+ #f)
+ (let ((expression-5760 (vector-ref x-5728 1))
+ (wrap-5761
+ (let ((w2-5769 (vector-ref x-5728 2)))
+ (let ((m1-5770 (car w-5703))
+ (s1-5771 (cdr w-5703)))
+ (if (null? m1-5770)
+ (if (null? s1-5771)
+ w2-5769
+ (cons (car w2-5769)
+ (let ((m2-5786 (cdr w2-5769)))
+ (if (null? m2-5786)
+ s1-5771
+ (append s1-5771 m2-5786)))))
+ (cons (let ((m2-5794 (car w2-5769)))
+ (if (null? m2-5794)
+ m1-5770
+ (append m1-5770 m2-5794)))
+ (let ((m2-5802 (cdr w2-5769)))
+ (if (null? m2-5802)
+ s1-5771
+ (append s1-5771 m2-5802))))))))
+ (module-5762 (vector-ref x-5728 3)))
+ (vector
+ 'syntax-object
+ expression-5760
+ wrap-5761
+ module-5762))
+ (if (null? x-5728)
+ x-5728
+ (vector
+ 'syntax-object
+ x-5728
+ w-5703
+ mod-5705)))))))))))
+ (global-extend-4548
+ 'core
+ 'syntax
+ (letrec*
+ ((gen-syntax-6020
+ (lambda (src-6451
+ e-6452
+ r-6453
+ maps-6454
+ ellipsis?-6455
+ mod-6456)
+ (if (if (symbol? e-6452)
+ #t
+ (if (if (vector? e-6452)
+ (if (= (vector-length e-6452) 4)
+ (eq? (vector-ref e-6452 0) 'syntax-object)
+ #f)
+ #f)
+ (symbol? (vector-ref e-6452 1))
+ #f))
+ (call-with-values
+ (lambda ()
+ (resolve-identifier-4571
+ e-6452
+ '(())
+ r-6453
+ mod-6456
+ #f))
+ (lambda (type-6485 value-6486 mod-6487)
+ (if (eqv? type-6485 'syntax)
+ (call-with-values
+ (lambda ()
+ (gen-ref-6021
+ src-6451
+ (car value-6486)
+ (cdr value-6486)
+ maps-6454))
+ (lambda (var-6493 maps-6494)
+ (values (list 'ref var-6493) maps-6494)))
+ (if (ellipsis?-6455 e-6452)
+ (syntax-violation
+ 'syntax
+ "misplaced ellipsis"
+ src-6451)
+ (values (list 'quote e-6452) maps-6454)))))
+ (let ((tmp-6496 ($sc-dispatch e-6452 '(any any))))
+ (if (if tmp-6496
+ (@apply
+ (lambda (dots-6500 e-6501)
+ (ellipsis?-6455 dots-6500))
+ tmp-6496)
+ #f)
+ (@apply
+ (lambda (dots-6502 e-6503)
+ (gen-syntax-6020
+ src-6451
+ e-6503
+ r-6453
+ maps-6454
+ (lambda (x-6504) #f)
+ mod-6456))
+ tmp-6496)
+ (let ((tmp-6505 ($sc-dispatch e-6452 '(any any . any))))
+ (if (if tmp-6505
+ (@apply
+ (lambda (x-6509 dots-6510 y-6511)
+ (ellipsis?-6455 dots-6510))
+ tmp-6505)
+ #f)
+ (@apply
+ (lambda (x-6512 dots-6513 y-6514)
+ (letrec*
+ ((f-6515
+ (lambda (y-6523 k-6524)
+ (let ((tmp-6526
+ ($sc-dispatch
+ y-6523
+ '(any . any))))
+ (if (if tmp-6526
+ (@apply
+ (lambda (dots-6530 y-6531)
+ (ellipsis?-6455 dots-6530))
+ tmp-6526)
+ #f)
+ (@apply
+ (lambda (dots-6532 y-6533)
+ (f-6515
+ y-6533
+ (lambda (maps-6534)
+ (call-with-values
+ (lambda ()
+ (k-6524
+ (cons '() maps-6534)))
+ (lambda (x-6535 maps-6536)
+ (if (null? (car maps-6536))
+ (syntax-violation
+ 'syntax
+ "extra ellipsis"
+ src-6451)
+ (values
+ (let ((map-env-6540
+ (car
maps-6536)))
+ (list 'apply
+ '(primitive
+ append)
+ (gen-map-6023
+ x-6535
+
map-env-6540)))
+ (cdr maps-6536))))))))
+ tmp-6526)
+ (call-with-values
+ (lambda ()
+ (gen-syntax-6020
+ src-6451
+ y-6523
+ r-6453
+ maps-6454
+ ellipsis?-6455
+ mod-6456))
+ (lambda (y-6543 maps-6544)
+ (call-with-values
+ (lambda () (k-6524 maps-6544))
+ (lambda (x-6545 maps-6546)
+ (values
+ (if (equal? y-6543 ''())
+ x-6545
+ (list 'append
+ x-6545
+ y-6543))
+ maps-6546))))))))))
+ (f-6515
+ y-6514
+ (lambda (maps-6518)
+ (call-with-values
+ (lambda ()
+ (gen-syntax-6020
+ src-6451
+ x-6512
+ r-6453
+ (cons '() maps-6518)
+ ellipsis?-6455
+ mod-6456))
+ (lambda (x-6519 maps-6520)
+ (if (null? (car maps-6520))
+ (syntax-violation
+ 'syntax
+ "extra ellipsis"
+ src-6451)
+ (values
+ (gen-map-6023
+ x-6519
+ (car maps-6520))
+ (cdr maps-6520)))))))))
+ tmp-6505)
+ (let ((tmp-6562 ($sc-dispatch e-6452 '(any . any))))
+ (if tmp-6562
+ (@apply
+ (lambda (x-6566 y-6567)
+ (call-with-values
+ (lambda ()
+ (gen-syntax-6020
+ src-6451
+ x-6566
+ r-6453
+ maps-6454
+ ellipsis?-6455
+ mod-6456))
+ (lambda (x-6568 maps-6569)
+ (call-with-values
+ (lambda ()
+ (gen-syntax-6020
+ src-6451
+ y-6567
+ r-6453
+ maps-6569
+ ellipsis?-6455
+ mod-6456))
+ (lambda (y-6570 maps-6571)
+ (values
+ (let ((atom-key-6576 (car y-6570)))
+ (if (eqv? atom-key-6576 'quote)
+ (if (eq? (car x-6568) 'quote)
+ (list 'quote
+ (cons (car (cdr x-6568))
+ (car (cdr
y-6570))))
+ (if (eq? (car (cdr y-6570))
+ '())
+ (list 'list x-6568)
+ (list 'cons x-6568 y-6570)))
+ (if (eqv? atom-key-6576 'list)
+ (cons 'list
+ (cons x-6568
+ (cdr y-6570)))
+ (list 'cons x-6568 y-6570))))
+ maps-6571))))))
+ tmp-6562)
+ (let ((tmp-6605
+ ($sc-dispatch
+ e-6452
+ '#(vector (any . each-any)))))
+ (if tmp-6605
+ (@apply
+ (lambda (e1-6609 e2-6610)
+ (call-with-values
+ (lambda ()
+ (gen-syntax-6020
+ src-6451
+ (cons e1-6609 e2-6610)
+ r-6453
+ maps-6454
+ ellipsis?-6455
+ mod-6456))
+ (lambda (e-6611 maps-6612)
+ (values
+ (if (eq? (car e-6611) 'list)
+ (cons 'vector (cdr e-6611))
+ (if (eq? (car e-6611) 'quote)
+ (list 'quote
+ (list->vector
+ (car (cdr e-6611))))
+ (list 'list->vector e-6611)))
+ maps-6612))))
+ tmp-6605)
+ (values
+ (list 'quote e-6452)
+ maps-6454))))))))))))
+ (gen-ref-6021
+ (lambda (src-6639 var-6640 level-6641 maps-6642)
+ (if (= level-6641 0)
+ (values var-6640 maps-6642)
+ (if (null? maps-6642)
+ (syntax-violation
+ 'syntax
+ "missing ellipsis"
+ src-6639)
+ (call-with-values
+ (lambda ()
+ (gen-ref-6021
+ src-6639
+ var-6640
+ (#{1-}# level-6641)
+ (cdr maps-6642)))
+ (lambda (outer-var-6643 outer-maps-6644)
+ (let ((b-6645 (assq outer-var-6643 (car maps-6642))))
+ (if b-6645
+ (values (cdr b-6645) maps-6642)
+ (let ((inner-var-6647
+ (gensym
+ (string-append
+ (symbol->string 'tmp)
+ "-"))))
+ (values
+ inner-var-6647
+ (cons (cons (cons outer-var-6643 inner-var-6647)
+ (car maps-6642))
+ outer-maps-6644)))))))))))
+ (gen-map-6023
+ (lambda (e-6661 map-env-6662)
+ (let ((formals-6663 (map cdr map-env-6662))
+ (actuals-6664
+ (map (lambda (x-6666) (list 'ref (car x-6666)))
+ map-env-6662)))
+ (if (eq? (car e-6661) 'ref)
+ (car actuals-6664)
+ (if (and-map
+ (lambda (x-6667)
+ (if (eq? (car x-6667) 'ref)
+ (memq (car (cdr x-6667)) formals-6663)
+ #f))
+ (cdr e-6661))
+ (cons 'map
+ (cons (list 'primitive (car e-6661))
+ (map (let ((r-6669
+ (map cons
+ formals-6663
+ actuals-6664)))
+ (lambda (x-6670)
+ (cdr (assq (car (cdr x-6670))
+ r-6669))))
+ (cdr e-6661))))
+ (cons 'map
+ (cons (list 'lambda formals-6663 e-6661)
+ actuals-6664)))))))
+ (regen-6027
+ (lambda (x-6672)
+ (let ((atom-key-6673 (car x-6672)))
+ (if (eqv? atom-key-6673 'ref)
+ (let ((name-6683 (car (cdr x-6672)))
+ (var-6684 (car (cdr x-6672))))
+ (make-struct/no-tail
+ (vector-ref %expanded-vtables 3)
+ #f
+ name-6683
+ var-6684))
+ (if (eqv? atom-key-6673 'primitive)
+ (let ((name-6695 (car (cdr x-6672))))
+ (make-struct/no-tail
+ (vector-ref %expanded-vtables 2)
+ #f
+ name-6695))
+ (if (eqv? atom-key-6673 'quote)
+ (let ((exp-6706 (car (cdr x-6672))))
+ (make-struct/no-tail
+ (vector-ref %expanded-vtables 1)
+ #f
+ exp-6706))
+ (if (eqv? atom-key-6673 'lambda)
+ (if (list? (car (cdr x-6672)))
+ (let ((req-6717 (car (cdr x-6672)))
+ (vars-6719 (car (cdr x-6672)))
+ (exp-6721
+ (regen-6027 (car (cdr (cdr x-6672))))))
+ (let ((body-6726
+ (make-struct/no-tail
+ (vector-ref %expanded-vtables 15)
+ #f
+ req-6717
+ #f
+ #f
+ #f
+ '()
+ vars-6719
+ exp-6721
+ #f)))
+ (make-struct/no-tail
+ (vector-ref %expanded-vtables 14)
+ #f
+ '()
+ body-6726)))
+ (error "how did we get here" x-6672))
+ (let ((name-6742 (car x-6672))
+ (args-6743 (map regen-6027 (cdr x-6672))))
+ (make-struct/no-tail
+ (vector-ref %expanded-vtables 12)
+ #f
+ name-6742
+ args-6743))))))))))
+ (lambda (e-6028 r-6029 w-6030 s-6031 mod-6032)
+ (let ((e-6033
+ (let ((x-6362
+ (begin
+ (if (if (pair? e-6028) s-6031 #f)
+ (set-source-properties! e-6028 s-6031))
+ e-6028)))
+ (if (if (null? (car w-6030)) (null? (cdr w-6030)) #f)
+ x-6362
+ (if (if (vector? x-6362)
+ (if (= (vector-length x-6362) 4)
+ (eq? (vector-ref x-6362 0) 'syntax-object)
+ #f)
+ #f)
+ (let ((expression-6394 (vector-ref x-6362 1))
+ (wrap-6395
+ (let ((w2-6403 (vector-ref x-6362 2)))
+ (let ((m1-6404 (car w-6030))
+ (s1-6405 (cdr w-6030)))
+ (if (null? m1-6404)
+ (if (null? s1-6405)
+ w2-6403
+ (cons (car w2-6403)
+ (let ((m2-6420 (cdr w2-6403)))
+ (if (null? m2-6420)
+ s1-6405
+ (append
+ s1-6405
+ m2-6420)))))
+ (cons (let ((m2-6428 (car w2-6403)))
+ (if (null? m2-6428)
+ m1-6404
+ (append m1-6404 m2-6428)))
+ (let ((m2-6436 (cdr w2-6403)))
+ (if (null? m2-6436)
+ s1-6405
+ (append
+ s1-6405
+ m2-6436))))))))
+ (module-6396 (vector-ref x-6362 3)))
+ (vector
+ 'syntax-object
+ expression-6394
+ wrap-6395
+ module-6396))
+ (if (null? x-6362)
+ x-6362
+ (vector
+ 'syntax-object
+ x-6362
+ w-6030
+ mod-6032)))))))
+ (let ((tmp-6034 e-6033))
+ (let ((tmp-6035 ($sc-dispatch tmp-6034 '(_ any))))
+ (if tmp-6035
+ (@apply
+ (lambda (x-6083)
+ (call-with-values
+ (lambda ()
+ (gen-syntax-6020
+ e-6033
+ x-6083
+ r-6029
+ '()
+ ellipsis?-4594
+ mod-6032))
+ (lambda (e-6160 maps-6161) (regen-6027 e-6160))))
+ tmp-6035)
+ (syntax-violation
+ 'syntax
+ "bad `syntax' form"
+ e-6033))))))))
+ (global-extend-4548
+ 'core
+ 'lambda
+ (lambda (e-6974 r-6975 w-6976 s-6977 mod-6978)
+ (let ((tmp-6980
+ ($sc-dispatch e-6974 '(_ any any . each-any))))
+ (if tmp-6980
+ (@apply
+ (lambda (args-6984 e1-6985 e2-6986)
+ (call-with-values
+ (lambda () (lambda-formals-4595 args-6984))
+ (lambda (req-6989 opt-6990 rest-6991 kw-6992)
+ (letrec*
+ ((lp-6993
+ (lambda (body-6996 meta-6997)
+ (let ((tmp-6999
+ ($sc-dispatch
+ body-6996
+ '(any any . each-any))))
+ (if (if tmp-6999
+ (@apply
+ (lambda (docstring-7003 e1-7004 e2-7005)
+ (string?
+ (syntax->datum docstring-7003)))
+ tmp-6999)
+ #f)
+ (@apply
+ (lambda (docstring-7006 e1-7007 e2-7008)
+ (lp-6993
+ (cons e1-7007 e2-7008)
+ (append
+ meta-6997
+ (list (cons 'documentation
+ (syntax->datum
+ docstring-7006))))))
+ tmp-6999)
+ (let ((tmp-7009
+ ($sc-dispatch
+ body-6996
+ '(#(vector #(each (any . any)))
+ any
+ .
+ each-any))))
+ (if tmp-7009
+ (@apply
+ (lambda (k-7013 v-7014 e1-7015 e2-7016)
+ (lp-6993
+ (cons e1-7015 e2-7016)
+ (append
+ meta-6997
+ (syntax->datum
+ (map cons k-7013 v-7014)))))
+ tmp-7009)
+ (expand-simple-lambda-4596
+ e-6974
+ r-6975
+ w-6976
+ s-6977
+ mod-6978
+ req-6989
+ rest-6991
+ meta-6997
+ body-6996))))))))
+ (lp-6993 (cons e1-6985 e2-6986) '())))))
+ tmp-6980)
+ (syntax-violation 'lambda "bad lambda" e-6974)))))
+ (global-extend-4548
+ 'core
+ 'lambda*
+ (lambda (e-7391 r-7392 w-7393 s-7394 mod-7395)
+ (let ((tmp-7397
+ ($sc-dispatch e-7391 '(_ any any . each-any))))
+ (if tmp-7397
+ (@apply
+ (lambda (args-7401 e1-7402 e2-7403)
+ (call-with-values
+ (lambda ()
+ (expand-lambda-case-4598
+ e-7391
+ r-7392
+ w-7393
+ s-7394
+ mod-7395
+ lambda*-formals-4597
+ (list (cons args-7401 (cons e1-7402 e2-7403)))))
+ (lambda (meta-7406 lcase-7407)
+ (make-struct/no-tail
+ (vector-ref %expanded-vtables 14)
+ s-7394
+ meta-7406
+ lcase-7407))))
+ tmp-7397)
+ (syntax-violation 'lambda "bad lambda*" e-7391)))))
+ (global-extend-4548
+ 'core
+ 'case-lambda
+ (lambda (e-7570 r-7571 w-7572 s-7573 mod-7574)
+ (let ((tmp-7576
+ ($sc-dispatch
+ e-7570
+ '(_ (any any . each-any)
+ .
+ #(each (any any . each-any))))))
+ (if tmp-7576
+ (@apply
+ (lambda (args-7580
+ e1-7581
+ e2-7582
+ args*-7583
+ e1*-7584
+ e2*-7585)
+ (call-with-values
+ (lambda ()
+ (expand-lambda-case-4598
+ e-7570
+ r-7571
+ w-7572
+ s-7573
+ mod-7574
+ lambda-formals-4595
+ (cons (cons args-7580 (cons e1-7581 e2-7582))
+ (map (lambda (tmp-3460-7588
+ tmp-3459-7589
+ tmp-3458-7590)
+ (cons tmp-3458-7590
+ (cons tmp-3459-7589 tmp-3460-7588)))
+ e2*-7585
+ e1*-7584
+ args*-7583))))
+ (lambda (meta-7591 lcase-7592)
+ (make-struct/no-tail
+ (vector-ref %expanded-vtables 14)
+ s-7573
+ meta-7591
+ lcase-7592))))
+ tmp-7576)
+ (syntax-violation
+ 'case-lambda
+ "bad case-lambda"
+ e-7570)))))
+ (global-extend-4548
+ 'core
+ 'case-lambda*
+ (lambda (e-7761 r-7762 w-7763 s-7764 mod-7765)
+ (let ((tmp-7767
+ ($sc-dispatch
+ e-7761
+ '(_ (any any . each-any)
+ .
+ #(each (any any . each-any))))))
+ (if tmp-7767
+ (@apply
+ (lambda (args-7771
+ e1-7772
+ e2-7773
+ args*-7774
+ e1*-7775
+ e2*-7776)
+ (call-with-values
+ (lambda ()
+ (expand-lambda-case-4598
+ e-7761
+ r-7762
+ w-7763
+ s-7764
+ mod-7765
+ lambda*-formals-4597
+ (cons (cons args-7771 (cons e1-7772 e2-7773))
+ (map (lambda (tmp-3495-7779
+ tmp-3494-7780
+ tmp-3493-7781)
+ (cons tmp-3493-7781
+ (cons tmp-3494-7780 tmp-3495-7779)))
+ e2*-7776
+ e1*-7775
+ args*-7774))))
+ (lambda (meta-7782 lcase-7783)
+ (make-struct/no-tail
+ (vector-ref %expanded-vtables 14)
+ s-7764
+ meta-7782
+ lcase-7783))))
+ tmp-7767)
+ (syntax-violation
+ 'case-lambda
+ "bad case-lambda*"
+ e-7761)))))
+ (global-extend-4548
+ 'core
+ 'let
+ (letrec*
+ ((expand-let-7991
+ (lambda (e-8201
+ r-8202
+ w-8203
+ s-8204
+ mod-8205
+ constructor-8206
+ ids-8207
+ vals-8208
+ exps-8209)
+ (if (not (valid-bound-ids?-4576 ids-8207))
+ (syntax-violation
+ 'let
+ "duplicate bound variable"
+ e-8201)
+ (let ((labels-8294 (gen-labels-4553 ids-8207))
+ (new-vars-8295 (map gen-var-4600 ids-8207)))
+ (let ((nw-8296
+ (make-binding-wrap-4564
+ ids-8207
+ labels-8294
+ w-8203))
+ (nr-8297
+ (extend-var-env-4546
+ labels-8294
+ new-vars-8295
+ r-8202)))
+ (constructor-8206
+ s-8204
+ (map syntax->datum ids-8207)
+ new-vars-8295
+ (map (lambda (x-8314)
+ (expand-4586 x-8314 r-8202 w-8203 mod-8205))
+ vals-8208)
+ (expand-body-4590
+ exps-8209
+ (source-wrap-4580 e-8201 nw-8296 s-8204 mod-8205)
+ nr-8297
+ nw-8296
+ mod-8205))))))))
+ (lambda (e-7992 r-7993 w-7994 s-7995 mod-7996)
+ (let ((tmp-7998
+ ($sc-dispatch
+ e-7992
+ '(_ #(each (any any)) any . each-any))))
+ (if (if tmp-7998
+ (@apply
+ (lambda (id-8002 val-8003 e1-8004 e2-8005)
+ (and-map id?-4550 id-8002))
+ tmp-7998)
+ #f)
+ (@apply
+ (lambda (id-8021 val-8022 e1-8023 e2-8024)
+ (expand-let-7991
+ e-7992
+ r-7993
+ w-7994
+ s-7995
+ mod-7996
+ (lambda (src-8028
+ ids-8029
+ vars-8030
+ val-exps-8031
+ body-exp-8032)
+ (begin
+ (for-each
+ maybe-name-value!-4515
+ ids-8029
+ val-exps-8031)
+ (if (null? vars-8030)
+ body-exp-8032
+ (make-struct/no-tail
+ (vector-ref %expanded-vtables 16)
+ src-8028
+ ids-8029
+ vars-8030
+ val-exps-8031
+ body-exp-8032))))
+ id-8021
+ val-8022
+ (cons e1-8023 e2-8024)))
+ tmp-7998)
+ (let ((tmp-8039
+ ($sc-dispatch
+ e-7992
+ '(_ any #(each (any any)) any . each-any))))
+ (if (if tmp-8039
+ (@apply
+ (lambda (f-8043 id-8044 val-8045 e1-8046 e2-8047)
+ (if (if (symbol? f-8043)
+ #t
+ (if (if (vector? f-8043)
+ (if (= (vector-length f-8043) 4)
+ (eq? (vector-ref f-8043 0)
+ 'syntax-object)
+ #f)
+ #f)
+ (symbol? (vector-ref f-8043 1))
+ #f))
+ (and-map id?-4550 id-8044)
+ #f))
+ tmp-8039)
+ #f)
+ (@apply
+ (lambda (f-8089 id-8090 val-8091 e1-8092 e2-8093)
+ (expand-let-7991
+ e-7992
+ r-7993
+ w-7994
+ s-7995
+ mod-7996
+ build-named-let-4534
+ (cons f-8089 id-8090)
+ val-8091
+ (cons e1-8092 e2-8093)))
+ tmp-8039)
+ (syntax-violation
+ 'let
+ "bad let"
+ (let ((x-8106
+ (begin
+ (if (if (pair? e-7992) s-7995 #f)
+ (set-source-properties! e-7992 s-7995))
+ e-7992)))
+ (if (if (null? (car w-7994)) (null? (cdr w-7994)) #f)
+ x-8106
+ (if (if (vector? x-8106)
+ (if (= (vector-length x-8106) 4)
+ (eq? (vector-ref x-8106 0) 'syntax-object)
+ #f)
+ #f)
+ (let ((expression-8138 (vector-ref x-8106 1))
+ (wrap-8139
+ (let ((w2-8147 (vector-ref x-8106 2)))
+ (let ((m1-8148 (car w-7994))
+ (s1-8149 (cdr w-7994)))
+ (if (null? m1-8148)
+ (if (null? s1-8149)
+ w2-8147
+ (cons (car w2-8147)
+ (let ((m2-8164
+ (cdr w2-8147)))
+ (if (null? m2-8164)
+ s1-8149
+ (append
+ s1-8149
+ m2-8164)))))
+ (cons (let ((m2-8172 (car w2-8147)))
+ (if (null? m2-8172)
+ m1-8148
+ (append m1-8148 m2-8172)))
+ (let ((m2-8180 (cdr w2-8147)))
+ (if (null? m2-8180)
+ s1-8149
+ (append
+ s1-8149
+ m2-8180))))))))
+ (module-8140 (vector-ref x-8106 3)))
+ (vector
+ 'syntax-object
+ expression-8138
+ wrap-8139
+ module-8140))
+ (if (null? x-8106)
+ x-8106
+ (vector
+ 'syntax-object
+ x-8106
+ w-7994
+ mod-7996)))))))))))))
+ (global-extend-4548
+ 'core
+ 'letrec
+ (lambda (e-8744 r-8745 w-8746 s-8747 mod-8748)
+ (let ((tmp-8750
+ ($sc-dispatch
+ e-8744
+ '(_ #(each (any any)) any . each-any))))
+ (if (if tmp-8750
+ (@apply
+ (lambda (id-8754 val-8755 e1-8756 e2-8757)
+ (and-map id?-4550 id-8754))
+ tmp-8750)
+ #f)
+ (@apply
+ (lambda (id-8773 val-8774 e1-8775 e2-8776)
+ (if (not (valid-bound-ids?-4576 id-8773))
+ (syntax-violation
+ 'letrec
+ "duplicate bound variable"
+ e-8744)
+ (let ((labels-8873 (gen-labels-4553 id-8773))
+ (new-vars-8874 (map gen-var-4600 id-8773)))
+ (let ((w-8875
+ (make-binding-wrap-4564
+ id-8773
+ labels-8873
+ w-8746))
+ (r-8876
+ (extend-var-env-4546
+ labels-8873
+ new-vars-8874
+ r-8745)))
+ (build-letrec-4535
+ s-8747
+ #f
+ (map syntax->datum id-8773)
+ new-vars-8874
+ (map (lambda (x-8953)
+ (expand-4586 x-8953 r-8876 w-8875 mod-8748))
+ val-8774)
+ (expand-body-4590
+ (cons e1-8775 e2-8776)
+ (let ((x-9015
+ (begin
+ (if (if (pair? e-8744) s-8747 #f)
+ (set-source-properties! e-8744 s-8747))
+ e-8744)))
+ (if (if (null? (car w-8875))
+ (null? (cdr w-8875))
+ #f)
+ x-9015
+ (if (if (vector? x-9015)
+ (if (= (vector-length x-9015) 4)
+ (eq? (vector-ref x-9015 0)
+ 'syntax-object)
+ #f)
+ #f)
+ (let ((expression-9047 (vector-ref x-9015 1))
+ (wrap-9048
+ (let ((w2-9056
+ (vector-ref x-9015 2)))
+ (let ((m1-9057 (car w-8875))
+ (s1-9058 (cdr w-8875)))
+ (if (null? m1-9057)
+ (if (null? s1-9058)
+ w2-9056
+ (cons (car w2-9056)
+ (let ((m2-9073
+ (cdr w2-9056)))
+ (if (null? m2-9073)
+ s1-9058
+ (append
+ s1-9058
+ m2-9073)))))
+ (cons (let ((m2-9081
+ (car w2-9056)))
+ (if (null? m2-9081)
+ m1-9057
+ (append
+ m1-9057
+ m2-9081)))
+ (let ((m2-9089
+ (cdr w2-9056)))
+ (if (null? m2-9089)
+ s1-9058
+ (append
+ s1-9058
+ m2-9089))))))))
+ (module-9049 (vector-ref x-9015 3)))
+ (vector
+ 'syntax-object
+ expression-9047
+ wrap-9048
+ module-9049))
+ (if (null? x-9015)
+ x-9015
+ (vector
+ 'syntax-object
+ x-9015
+ w-8875
+ mod-8748)))))
+ r-8876
+ w-8875
+ mod-8748))))))
+ tmp-8750)
+ (syntax-violation
+ 'letrec
+ "bad letrec"
+ (let ((x-9300
+ (begin
+ (if (if (pair? e-8744) s-8747 #f)
+ (set-source-properties! e-8744 s-8747))
+ e-8744)))
+ (if (if (null? (car w-8746)) (null? (cdr w-8746)) #f)
+ x-9300
+ (if (if (vector? x-9300)
+ (if (= (vector-length x-9300) 4)
+ (eq? (vector-ref x-9300 0) 'syntax-object)
+ #f)
+ #f)
+ (let ((expression-9332 (vector-ref x-9300 1))
+ (wrap-9333
+ (let ((w2-9341 (vector-ref x-9300 2)))
+ (let ((m1-9342 (car w-8746))
+ (s1-9343 (cdr w-8746)))
+ (if (null? m1-9342)
+ (if (null? s1-9343)
+ w2-9341
+ (cons (car w2-9341)
+ (let ((m2-9358 (cdr w2-9341)))
+ (if (null? m2-9358)
+ s1-9343
+ (append s1-9343 m2-9358)))))
+ (cons (let ((m2-9366 (car w2-9341)))
+ (if (null? m2-9366)
+ m1-9342
+ (append m1-9342 m2-9366)))
+ (let ((m2-9374 (cdr w2-9341)))
+ (if (null? m2-9374)
+ s1-9343
+ (append s1-9343 m2-9374))))))))
+ (module-9334 (vector-ref x-9300 3)))
+ (vector
+ 'syntax-object
+ expression-9332
+ wrap-9333
+ module-9334))
+ (if (null? x-9300)
+ x-9300
+ (vector 'syntax-object x-9300 w-8746 mod-8748))))))))))
+ (global-extend-4548
+ 'core
+ 'letrec*
+ (lambda (e-9525 r-9526 w-9527 s-9528 mod-9529)
+ (let ((tmp-9531
+ ($sc-dispatch
+ e-9525
+ '(_ #(each (any any)) any . each-any))))
+ (if (if tmp-9531
+ (@apply
+ (lambda (id-9535 val-9536 e1-9537 e2-9538)
+ (and-map id?-4550 id-9535))
+ tmp-9531)
+ #f)
+ (@apply
+ (lambda (id-9554 val-9555 e1-9556 e2-9557)
+ (if (not (valid-bound-ids?-4576 id-9554))
+ (syntax-violation
+ 'letrec*
+ "duplicate bound variable"
+ e-9525)
+ (let ((labels-9654 (gen-labels-4553 id-9554))
+ (new-vars-9655 (map gen-var-4600 id-9554)))
+ (let ((w-9656
+ (make-binding-wrap-4564
+ id-9554
+ labels-9654
+ w-9527))
+ (r-9657
+ (extend-var-env-4546
+ labels-9654
+ new-vars-9655
+ r-9526)))
+ (build-letrec-4535
+ s-9528
+ #t
+ (map syntax->datum id-9554)
+ new-vars-9655
+ (map (lambda (x-9734)
+ (expand-4586 x-9734 r-9657 w-9656 mod-9529))
+ val-9555)
+ (expand-body-4590
+ (cons e1-9556 e2-9557)
+ (let ((x-9796
+ (begin
+ (if (if (pair? e-9525) s-9528 #f)
+ (set-source-properties! e-9525 s-9528))
+ e-9525)))
+ (if (if (null? (car w-9656))
+ (null? (cdr w-9656))
+ #f)
+ x-9796
+ (if (if (vector? x-9796)
+ (if (= (vector-length x-9796) 4)
+ (eq? (vector-ref x-9796 0)
+ 'syntax-object)
+ #f)
+ #f)
+ (let ((expression-9828 (vector-ref x-9796 1))
+ (wrap-9829
+ (let ((w2-9837
+ (vector-ref x-9796 2)))
+ (let ((m1-9838 (car w-9656))
+ (s1-9839 (cdr w-9656)))
+ (if (null? m1-9838)
+ (if (null? s1-9839)
+ w2-9837
+ (cons (car w2-9837)
+ (let ((m2-9854
+ (cdr w2-9837)))
+ (if (null? m2-9854)
+ s1-9839
+ (append
+ s1-9839
+ m2-9854)))))
+ (cons (let ((m2-9862
+ (car w2-9837)))
+ (if (null? m2-9862)
+ m1-9838
+ (append
+ m1-9838
+ m2-9862)))
+ (let ((m2-9870
+ (cdr w2-9837)))
+ (if (null? m2-9870)
+ s1-9839
+ (append
+ s1-9839
+ m2-9870))))))))
+ (module-9830 (vector-ref x-9796 3)))
+ (vector
+ 'syntax-object
+ expression-9828
+ wrap-9829
+ module-9830))
+ (if (null? x-9796)
+ x-9796
+ (vector
+ 'syntax-object
+ x-9796
+ w-9656
+ mod-9529)))))
+ r-9657
+ w-9656
+ mod-9529))))))
+ tmp-9531)
+ (syntax-violation
+ 'letrec*
+ "bad letrec*"
+ (let ((x-10081
+ (begin
+ (if (if (pair? e-9525) s-9528 #f)
+ (set-source-properties! e-9525 s-9528))
+ e-9525)))
+ (if (if (null? (car w-9527)) (null? (cdr w-9527)) #f)
+ x-10081
+ (if (if (vector? x-10081)
+ (if (= (vector-length x-10081) 4)
+ (eq? (vector-ref x-10081 0) 'syntax-object)
+ #f)
+ #f)
+ (let ((expression-10113 (vector-ref x-10081 1))
+ (wrap-10114
+ (let ((w2-10122 (vector-ref x-10081 2)))
+ (let ((m1-10123 (car w-9527))
+ (s1-10124 (cdr w-9527)))
+ (if (null? m1-10123)
+ (if (null? s1-10124)
+ w2-10122
+ (cons (car w2-10122)
+ (let ((m2-10139 (cdr w2-10122)))
+ (if (null? m2-10139)
+ s1-10124
+ (append s1-10124 m2-10139)))))
+ (cons (let ((m2-10147 (car w2-10122)))
+ (if (null? m2-10147)
+ m1-10123
+ (append m1-10123 m2-10147)))
+ (let ((m2-10155 (cdr w2-10122)))
+ (if (null? m2-10155)
+ s1-10124
+ (append s1-10124 m2-10155))))))))
+ (module-10115 (vector-ref x-10081 3)))
+ (vector
+ 'syntax-object
+ expression-10113
+ wrap-10114
+ module-10115))
+ (if (null? x-10081)
+ x-10081
+ (vector
+ 'syntax-object
+ x-10081
+ w-9527
+ mod-9529))))))))))
+ (global-extend-4548
+ 'core
+ 'set!
+ (lambda (e-10314 r-10315 w-10316 s-10317 mod-10318)
+ (let ((tmp-10320 ($sc-dispatch e-10314 '(_ any any))))
+ (if (if tmp-10320
+ (@apply
+ (lambda (id-10324 val-10325)
+ (if (symbol? id-10324)
+ #t
+ (if (if (vector? id-10324)
+ (if (= (vector-length id-10324) 4)
+ (eq? (vector-ref id-10324 0) 'syntax-object)
+ #f)
+ #f)
+ (symbol? (vector-ref id-10324 1))
+ #f)))
+ tmp-10320)
+ #f)
+ (@apply
+ (lambda (id-10352 val-10353)
+ (call-with-values
+ (lambda ()
+ (resolve-identifier-4571
+ id-10352
+ w-10316
+ r-10315
+ mod-10318
+ #t))
+ (lambda (type-10356 value-10357 id-mod-10358)
+ (if (eqv? type-10356 'lexical)
+ (build-lexical-assignment-4521
+ s-10317
+ (syntax->datum id-10352)
+ value-10357
+ (expand-4586 val-10353 r-10315 w-10316 mod-10318))
+ (if (eqv? type-10356 'global)
+ (build-global-assignment-4524
+ s-10317
+ value-10357
+ (expand-4586 val-10353 r-10315 w-10316 mod-10318)
+ id-mod-10358)
+ (if (eqv? type-10356 'macro)
+ (if (procedure-property
+ value-10357
+ 'variable-transformer)
+ (expand-4586
+ (expand-macro-4589
+ value-10357
+ e-10314
+ r-10315
+ w-10316
+ s-10317
+ #f
+ mod-10318)
+ r-10315
+ '(())
+ mod-10318)
+ (syntax-violation
+ 'set!
+ "not a variable transformer"
+ (if (if (null? (car w-10316))
+ (null? (cdr w-10316))
+ #f)
+ e-10314
+ (if (if (vector? e-10314)
+ (if (= (vector-length e-10314) 4)
+ (eq? (vector-ref e-10314 0)
+ 'syntax-object)
+ #f)
+ #f)
+ (let ((expression-10798
+ (vector-ref e-10314 1))
+ (wrap-10799
+ (let ((w2-10809
+ (vector-ref e-10314 2)))
+ (let ((m1-10810 (car w-10316))
+ (s1-10811 (cdr w-10316)))
+ (if (null? m1-10810)
+ (if (null? s1-10811)
+ w2-10809
+ (cons (car w2-10809)
+ (let ((m2-10828
+ (cdr
w2-10809)))
+ (if (null?
m2-10828)
+ s1-10811
+ (append
+ s1-10811
+ m2-10828)))))
+ (cons (let ((m2-10836
+ (car
w2-10809)))
+ (if (null? m2-10836)
+ m1-10810
+ (append
+ m1-10810
+ m2-10836)))
+ (let ((m2-10844
+ (cdr
w2-10809)))
+ (if (null? m2-10844)
+ s1-10811
+ (append
+ s1-10811
+ m2-10844))))))))
+ (module-10800
+ (vector-ref e-10314 3)))
+ (vector
+ 'syntax-object
+ expression-10798
+ wrap-10799
+ module-10800))
+ (if (null? e-10314)
+ e-10314
+ (vector
+ 'syntax-object
+ e-10314
+ w-10316
+ mod-10318))))
+ (if (if (null? (car w-10316))
+ (null? (cdr w-10316))
+ #f)
+ id-10352
+ (if (if (vector? id-10352)
+ (if (= (vector-length id-10352) 4)
+ (eq? (vector-ref id-10352 0)
+ 'syntax-object)
+ #f)
+ #f)
+ (let ((expression-10896
+ (vector-ref id-10352 1))
+ (wrap-10897
+ (let ((w2-10907
+ (vector-ref id-10352 2)))
+ (let ((m1-10908 (car w-10316))
+ (s1-10909 (cdr w-10316)))
+ (if (null? m1-10908)
+ (if (null? s1-10909)
+ w2-10907
+ (cons (car w2-10907)
+ (let ((m2-10926
+ (cdr
w2-10907)))
+ (if (null?
m2-10926)
+ s1-10909
+ (append
+ s1-10909
+ m2-10926)))))
+ (cons (let ((m2-10934
+ (car
w2-10907)))
+ (if (null? m2-10934)
+ m1-10908
+ (append
+ m1-10908
+ m2-10934)))
+ (let ((m2-10942
+ (cdr
w2-10907)))
+ (if (null? m2-10942)
+ s1-10909
+ (append
+ s1-10909
+ m2-10942))))))))
+ (module-10898
+ (vector-ref id-10352 3)))
+ (vector
+ 'syntax-object
+ expression-10896
+ wrap-10897
+ module-10898))
+ (if (null? id-10352)
+ id-10352
+ (vector
+ 'syntax-object
+ id-10352
+ w-10316
+ id-mod-10358))))))
+ (if (eqv? type-10356 'displaced-lexical)
+ (syntax-violation
+ 'set!
+ "identifier out of context"
+ (if (if (null? (car w-10316))
+ (null? (cdr w-10316))
+ #f)
+ id-10352
+ (if (if (vector? id-10352)
+ (if (= (vector-length id-10352) 4)
+ (eq? (vector-ref id-10352 0)
+ 'syntax-object)
+ #f)
+ #f)
+ (let ((expression-10997
+ (vector-ref id-10352 1))
+ (wrap-10998
+ (let ((w2-11008
+ (vector-ref id-10352 2)))
+ (let ((m1-11009 (car w-10316))
+ (s1-11010 (cdr w-10316)))
+ (if (null? m1-11009)
+ (if (null? s1-11010)
+ w2-11008
+ (cons (car w2-11008)
+ (let ((m2-11027
+ (cdr
w2-11008)))
+ (if (null?
m2-11027)
+ s1-11010
+ (append
+ s1-11010
+ m2-11027)))))
+ (cons (let ((m2-11035
+ (car
w2-11008)))
+ (if (null? m2-11035)
+ m1-11009
+ (append
+ m1-11009
+ m2-11035)))
+ (let ((m2-11043
+ (cdr
w2-11008)))
+ (if (null? m2-11043)
+ s1-11010
+ (append
+ s1-11010
+ m2-11043))))))))
+ (module-10999
+ (vector-ref id-10352 3)))
+ (vector
+ 'syntax-object
+ expression-10997
+ wrap-10998
+ module-10999))
+ (if (null? id-10352)
+ id-10352
+ (vector
+ 'syntax-object
+ id-10352
+ w-10316
+ mod-10318)))))
+ (syntax-violation
+ 'set!
+ "bad set!"
+ (let ((x-11075
+ (begin
+ (if (if (pair? e-10314) s-10317 #f)
+ (set-source-properties!
+ e-10314
+ s-10317))
+ e-10314)))
+ (if (if (null? (car w-10316))
+ (null? (cdr w-10316))
+ #f)
+ x-11075
+ (if (if (vector? x-11075)
+ (if (= (vector-length x-11075) 4)
+ (eq? (vector-ref x-11075 0)
+ 'syntax-object)
+ #f)
+ #f)
+ (let ((expression-11107
+ (vector-ref x-11075 1))
+ (wrap-11108
+ (let ((w2-11116
+ (vector-ref x-11075 2)))
+ (let ((m1-11117 (car w-10316))
+ (s1-11118 (cdr w-10316)))
+ (if (null? m1-11117)
+ (if (null? s1-11118)
+ w2-11116
+ (cons (car w2-11116)
+ (let ((m2-11133
+ (cdr
w2-11116)))
+ (if (null?
m2-11133)
+ s1-11118
+ (append
+ s1-11118
+ m2-11133)))))
+ (cons (let ((m2-11141
+ (car
w2-11116)))
+ (if (null?
m2-11141)
+ m1-11117
+ (append
+ m1-11117
+ m2-11141)))
+ (let ((m2-11149
+ (cdr
w2-11116)))
+ (if (null?
m2-11149)
+ s1-11118
+ (append
+ s1-11118
+
m2-11149))))))))
+ (module-11109
+ (vector-ref x-11075 3)))
+ (vector
+ 'syntax-object
+ expression-11107
+ wrap-11108
+ module-11109))
+ (if (null? x-11075)
+ x-11075
+ (vector
+ 'syntax-object
+ x-11075
+ w-10316
+ mod-10318)))))))))))))
+ tmp-10320)
+ (let ((tmp-11164
+ ($sc-dispatch e-10314 '(_ (any . each-any) any))))
+ (if tmp-11164
+ (@apply
+ (lambda (head-11168 tail-11169 val-11170)
+ (call-with-values
+ (lambda ()
+ (syntax-type-4585
+ head-11168
+ r-10315
+ '(())
+ #f
+ #f
+ mod-10318
+ #t))
+ (lambda (type-11173
+ value-11174
+ ee*-11175
+ ee-11176
+ ww-11177
+ ss-11178
+ modmod-11179)
+ (if (eqv? type-11173 'module-ref)
+ (let ((val-11183
+ (expand-4586
+ val-11170
+ r-10315
+ w-10316
+ mod-10318)))
+ (call-with-values
+ (lambda ()
+ (value-11174
+ (cons head-11168 tail-11169)
+ r-10315
+ w-10316))
+ (lambda (e-11184
+ r-11185
+ w-11186
+ s*-11187
+ mod-11188)
+ (let ((tmp-11190 (list e-11184)))
+ (if (@apply
+ (lambda (e-11192)
+ (if (symbol? e-11192)
+ #t
+ (if (if (vector? e-11192)
+ (if (= (vector-length
+ e-11192)
+ 4)
+ (eq? (vector-ref
+ e-11192
+ 0)
+ 'syntax-object)
+ #f)
+ #f)
+ (symbol?
+ (vector-ref e-11192 1))
+ #f)))
+ tmp-11190)
+ (@apply
+ (lambda (e-11222)
+ (build-global-assignment-4524
+ s-10317
+ (syntax->datum e-11222)
+ val-11183
+ mod-11188))
+ tmp-11190)
+ (syntax-violation
+ #f
+ "source expression failed to match any
pattern"
+ e-11184))))))
+ (build-call-4517
+ s-10317
+ (expand-4586
+ (list '#(syntax-object
+ setter
+ ((top)
+ #(ribcage () () ())
+ #(ribcage () () ())
+ #(ribcage
+ #(type value ee* ee ww ss modmod)
+ #((top)
(top)
(top)
(top)
(top)
(top)
(top))
- ("i24298"
- "i24296"
- "i24294"
- "i24292"
- "i24290"
- "i24288"
- "i24286"
- "i24284"
- "i24282"
- "i24280"
- "i24278"
- "i24276"
- "i24274"
- "i24272"
- "i24270"
- "i24268"
- "i24266"
- "i24264"
- "i24262"
- "i24260"
- "i24258"
- "i24256"
- "i24254"
- "i24252"
- "i24250"
- "i24248"
- "i24246"
- "i24244"
- "i24242"
- "i24240"
- "i24238"
- "i24236"
- "i24234"
- "i24232"
- "i24230"
- "i24228"
- "i24227"
- "i24225"
- "i24222"
- "i24221"
- "i24220"
- "i24218"
- "i24217"
- "i24215"
- "i24213"
- "i24211"
- "i24209"
- "i24207"
- "i24205"
- "i24203"
- "i24201"
- "i24198"
- "i24196"
- "i24195"
- "i24193"
- "i24191"
- "i24189"
- "i24187"
- "i24186"
- "i24185"
- "i24184"
- "i24182"
- "i24181"
- "i24178"
- "i24176"
- "i24174"
- "i24172"
- "i24170"
- "i24168"
- "i24167"
- "i24166"
- "i24164"
- "i24162"
- "i24161"
- "i24158"
- "i24157"
- "i24155"
- "i24153"
- "i24151"
- "i24149"
- "i24147"
- "i24145"
- "i24143"
- "i24141"
- "i24139"
- "i24136"
- "i24134"
- "i24132"
- "i24130"
- "i24128"
- "i24126"
- "i24124"
- "i24122"
- "i24120"
- "i24118"
- "i24116"
- "i24114"
- "i24112"
- "i24110"
- "i24108"
- "i24106"
- "i24104"
- "i24102"
- "i24100"
- "i24098"
- "i24096"
- "i24094"
- "i24092"
- "i24090"
- "i24089"
- "i24086"
- "i24084"
- "i24083"
- "i24082"
- "i24081"
- "i24080"
- "i24078"
- "i24076"
- "i24074"
- "i24071"
- "i24069"
- "i24067"
- "i24065"
- "i24063"
- "i24061"
- "i24059"
- "i24057"
- "i24055"
- "i24053"
- "i24051"
- "i24049"
- "i24047"
- "i24045"
- "i24043"
- "i24041"
- "i24039"
- "i24037"
- "i24035"))
- #(ribcage
- (define-structure
- define-expansion-accessors
- define-expansion-constructors)
- ((top) (top) (top))
- ("i23873" "i23872" "i23871"))
- #(ribcage () () ()))
- (hygiene guile))
- #{keys 38134}#))
- #f)
- (if (#{free-id=? 28259}#
- '#(syntax-object
- pad
- ((top)
- #(ribcage
- #(pat exp)
- #((top) (top))
- #("i27835" "i27836"))
- #(ribcage () () ())
- #(ribcage
- #(x keys clauses r mod)
- #((top) (top) (top) (top) (top))
- #("i27825"
- "i27826"
- "i27827"
- "i27828"
- "i27829"))
- #(ribcage
- (gen-syntax-case
- gen-clause
- build-dispatch-call
- convert-pattern)
- ((top) (top) (top) (top))
- ("i27638" "i27636" "i27634" "i27632"))
- #(ribcage
- (lambda-var-list
- gen-var
- strip
- expand-lambda-case
- lambda*-formals
- expand-simple-lambda
- lambda-formals
- ellipsis?
- expand-void
- eval-local-transformer
- expand-local-syntax
- expand-body
- expand-macro
- expand-call
- expand-expr
- expand
- syntax-type
- parse-when-list
- expand-install-global
- expand-top-sequence
- expand-sequence
- source-wrap
- wrap
- bound-id-member?
- distinct-bound-ids?
- valid-bound-ids?
- bound-id=?
- free-id=?
- resolve-identifier
- id-var-name
- same-marks?
- join-marks
- join-wraps
- smart-append
- make-binding-wrap
- extend-ribcage!
- make-empty-ribcage
- new-mark
- anti-mark
- the-anti-mark
- top-marked?
- top-wrap
- empty-wrap
- set-ribcage-labels!
- set-ribcage-marks!
- set-ribcage-symnames!
- ribcage-labels
- ribcage-marks
- ribcage-symnames
- ribcage?
- make-ribcage
- gen-labels
- gen-label
- make-rename
- rename-marks
- rename-new
- rename-old
- subst-rename?
- wrap-subst
- wrap-marks
- make-wrap
- id-sym-name&marks
- id-sym-name
- id?
- nonsymbol-id?
- global-extend
- macros-only-env
- extend-var-env
- extend-env
- null-env
- binding-value
- binding-type
- make-binding
- arg-check
- source-annotation
- no-source
- set-syntax-object-module!
- set-syntax-object-wrap!
- set-syntax-object-expression!
- syntax-object-module
- syntax-object-wrap
- syntax-object-expression
- syntax-object?
- make-syntax-object
- build-lexical-var
- build-letrec
- build-named-let
- build-let
- build-sequence
- build-data
- build-primref
- build-primcall
- build-lambda-case
- build-case-lambda
- build-simple-lambda
- build-global-definition
- build-global-assignment
- build-global-reference
- analyze-variable
- build-lexical-assignment
- build-lexical-reference
- build-dynlet
- build-conditional
- build-call
- build-void
- maybe-name-value!
- decorate-source
- get-global-definition-hook
- put-global-definition-hook
- gensym-hook
- local-eval-hook
- top-level-eval-hook
- fx<
- fx=
- fx-
- fx+
- set-lambda-meta!
- lambda-meta
- lambda?
- make-dynlet
- make-letrec
- make-let
- make-lambda-case
- make-lambda
- make-seq
- make-primcall
- make-call
- make-conditional
- make-toplevel-define
- make-toplevel-set
- make-toplevel-ref
- make-module-set
- make-module-ref
- make-lexical-set
- make-lexical-ref
- make-primitive-ref
- make-const
- make-void)
- ((top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top))
- ("i24298"
- "i24296"
- "i24294"
- "i24292"
- "i24290"
- "i24288"
- "i24286"
- "i24284"
- "i24282"
- "i24280"
- "i24278"
- "i24276"
- "i24274"
- "i24272"
- "i24270"
- "i24268"
- "i24266"
- "i24264"
- "i24262"
- "i24260"
- "i24258"
- "i24256"
- "i24254"
- "i24252"
- "i24250"
- "i24248"
- "i24246"
- "i24244"
- "i24242"
- "i24240"
- "i24238"
- "i24236"
- "i24234"
- "i24232"
- "i24230"
- "i24228"
- "i24227"
- "i24225"
- "i24222"
- "i24221"
- "i24220"
- "i24218"
- "i24217"
- "i24215"
- "i24213"
- "i24211"
- "i24209"
- "i24207"
- "i24205"
- "i24203"
- "i24201"
- "i24198"
- "i24196"
- "i24195"
- "i24193"
- "i24191"
- "i24189"
- "i24187"
- "i24186"
- "i24185"
- "i24184"
- "i24182"
- "i24181"
- "i24178"
- "i24176"
- "i24174"
- "i24172"
- "i24170"
- "i24168"
- "i24167"
- "i24166"
- "i24164"
- "i24162"
- "i24161"
- "i24158"
- "i24157"
- "i24155"
- "i24153"
- "i24151"
- "i24149"
- "i24147"
- "i24145"
- "i24143"
- "i24141"
- "i24139"
- "i24136"
- "i24134"
- "i24132"
- "i24130"
- "i24128"
- "i24126"
- "i24124"
- "i24122"
- "i24120"
- "i24118"
- "i24116"
- "i24114"
- "i24112"
- "i24110"
- "i24108"
- "i24106"
- "i24104"
- "i24102"
- "i24100"
- "i24098"
- "i24096"
- "i24094"
- "i24092"
- "i24090"
- "i24089"
- "i24086"
- "i24084"
- "i24083"
- "i24082"
- "i24081"
- "i24080"
- "i24078"
- "i24076"
- "i24074"
- "i24071"
- "i24069"
- "i24067"
- "i24065"
- "i24063"
- "i24061"
- "i24059"
- "i24057"
- "i24055"
- "i24053"
- "i24051"
- "i24049"
- "i24047"
- "i24045"
- "i24043"
- "i24041"
- "i24039"
- "i24037"
- "i24035"))
- #(ribcage
- (define-structure
- define-expansion-accessors
- define-expansion-constructors)
- ((top) (top) (top))
- ("i23873" "i23872" "i23871"))
- #(ribcage () () ()))
- (hygiene guile))
- '#(syntax-object
- _
+ #("l-*-3734"
+ "l-*-3735"
+ "l-*-3736"
+ "l-*-3737"
+ "l-*-3738"
+ "l-*-3739"
+ "l-*-3740"))
+ #(ribcage
+ #(head tail val)
+ #((top) (top) (top))
+ #("l-*-3719"
+ "l-*-3720"
+ "l-*-3721"))
+ #(ribcage () () ())
+ #(ribcage
+ #(e r w s mod)
+ #((top) (top) (top) (top) (top))
+ #("l-*-3691"
+ "l-*-3692"
+ "l-*-3693"
+ "l-*-3694"
+ "l-*-3695"))
+ #(ribcage
+ (lambda-var-list
+ gen-var
+ strip
+ expand-lambda-case
+ lambda*-formals
+ expand-simple-lambda
+ lambda-formals
+ ellipsis?
+ expand-void
+ eval-local-transformer
+ expand-local-syntax
+ expand-body
+ expand-macro
+ expand-call
+ expand-expr
+ expand
+ syntax-type
+ parse-when-list
+ expand-install-global
+ expand-top-sequence
+ expand-sequence
+ source-wrap
+ wrap
+ bound-id-member?
+ distinct-bound-ids?
+ valid-bound-ids?
+ bound-id=?
+ free-id=?
+ with-transformer-environment
+ transformer-environment
+ resolve-identifier
+ locally-bound-identifiers
+ id-var-name
+ same-marks?
+ join-marks
+ join-wraps
+ smart-append
+ make-binding-wrap
+ extend-ribcage!
+ make-empty-ribcage
+ new-mark
+ anti-mark
+ the-anti-mark
+ top-marked?
+ top-wrap
+ empty-wrap
+ set-ribcage-labels!
+ set-ribcage-marks!
+ set-ribcage-symnames!
+ ribcage-labels
+ ribcage-marks
+ ribcage-symnames
+ ribcage?
+ make-ribcage
+ gen-labels
+ gen-label
+ make-rename
+ rename-marks
+ rename-new
+ rename-old
+ subst-rename?
+ wrap-subst
+ wrap-marks
+ make-wrap
+ id-sym-name&marks
+ id-sym-name
+ id?
+ nonsymbol-id?
+ global-extend
+ macros-only-env
+ extend-var-env
+ extend-env
+ null-env
+ binding-value
+ binding-type
+ make-binding
+ arg-check
+ source-annotation
+ no-source
+ set-syntax-object-module!
+ set-syntax-object-wrap!
+ set-syntax-object-expression!
+ syntax-object-module
+ syntax-object-wrap
+ syntax-object-expression
+ syntax-object?
+ make-syntax-object
+ build-lexical-var
+ build-letrec
+ build-named-let
+ build-let
+ build-sequence
+ build-data
+ build-primref
+ build-primcall
+ build-lambda-case
+ build-case-lambda
+ build-simple-lambda
+ build-global-definition
+ build-global-assignment
+ build-global-reference
+ analyze-variable
+ build-lexical-assignment
+ build-lexical-reference
+ build-dynlet
+ build-conditional
+ build-call
+ build-void
+ maybe-name-value!
+ decorate-source
+ get-global-definition-hook
+ put-global-definition-hook
+ session-id
+ local-eval-hook
+ top-level-eval-hook
+ fx<
+ fx=
+ fx-
+ fx+
+ set-lambda-meta!
+ lambda-meta
+ lambda?
+ make-dynlet
+ make-letrec
+ make-let
+ make-lambda-case
+ make-lambda
+ make-seq
+ make-primcall
+ make-call
+ make-conditional
+ make-toplevel-define
+ make-toplevel-set
+ make-toplevel-ref
+ make-module-set
+ make-module-ref
+ make-lexical-set
+ make-lexical-ref
+ make-primitive-ref
+ make-const
+ make-void)
+ ((top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top))
+ ("l-*-478"
+ "l-*-476"
+ "l-*-474"
+ "l-*-472"
+ "l-*-470"
+ "l-*-468"
+ "l-*-466"
+ "l-*-464"
+ "l-*-462"
+ "l-*-460"
+ "l-*-458"
+ "l-*-456"
+ "l-*-454"
+ "l-*-452"
+ "l-*-450"
+ "l-*-448"
+ "l-*-446"
+ "l-*-444"
+ "l-*-442"
+ "l-*-440"
+ "l-*-438"
+ "l-*-436"
+ "l-*-434"
+ "l-*-432"
+ "l-*-430"
+ "l-*-428"
+ "l-*-426"
+ "l-*-424"
+ "l-*-422"
+ "l-*-420"
+ "l-*-418"
+ "l-*-416"
+ "l-*-414"
+ "l-*-412"
+ "l-*-410"
+ "l-*-408"
+ "l-*-406"
+ "l-*-404"
+ "l-*-402"
+ "l-*-401"
+ "l-*-399"
+ "l-*-396"
+ "l-*-395"
+ "l-*-394"
+ "l-*-392"
+ "l-*-391"
+ "l-*-389"
+ "l-*-387"
+ "l-*-385"
+ "l-*-383"
+ "l-*-381"
+ "l-*-379"
+ "l-*-377"
+ "l-*-375"
+ "l-*-372"
+ "l-*-370"
+ "l-*-369"
+ "l-*-367"
+ "l-*-365"
+ "l-*-363"
+ "l-*-361"
+ "l-*-360"
+ "l-*-359"
+ "l-*-358"
+ "l-*-356"
+ "l-*-355"
+ "l-*-352"
+ "l-*-350"
+ "l-*-348"
+ "l-*-346"
+ "l-*-344"
+ "l-*-342"
+ "l-*-341"
+ "l-*-340"
+ "l-*-338"
+ "l-*-336"
+ "l-*-335"
+ "l-*-332"
+ "l-*-331"
+ "l-*-329"
+ "l-*-327"
+ "l-*-325"
+ "l-*-323"
+ "l-*-321"
+ "l-*-319"
+ "l-*-317"
+ "l-*-315"
+ "l-*-313"
+ "l-*-310"
+ "l-*-308"
+ "l-*-306"
+ "l-*-304"
+ "l-*-302"
+ "l-*-300"
+ "l-*-298"
+ "l-*-296"
+ "l-*-294"
+ "l-*-292"
+ "l-*-290"
+ "l-*-288"
+ "l-*-286"
+ "l-*-284"
+ "l-*-282"
+ "l-*-280"
+ "l-*-278"
+ "l-*-276"
+ "l-*-274"
+ "l-*-272"
+ "l-*-270"
+ "l-*-268"
+ "l-*-266"
+ "l-*-264"
+ "l-*-262"
+ "l-*-260"
+ "l-*-258"
+ "l-*-257"
+ "l-*-256"
+ "l-*-255"
+ "l-*-254"
+ "l-*-252"
+ "l-*-250"
+ "l-*-248"
+ "l-*-245"
+ "l-*-243"
+ "l-*-241"
+ "l-*-239"
+ "l-*-237"
+ "l-*-235"
+ "l-*-233"
+ "l-*-231"
+ "l-*-229"
+ "l-*-227"
+ "l-*-225"
+ "l-*-223"
+ "l-*-221"
+ "l-*-219"
+ "l-*-217"
+ "l-*-215"
+ "l-*-213"
+ "l-*-211"
+ "l-*-209"))
+ #(ribcage
+ (define-structure
+ define-expansion-accessors
+ define-expansion-constructors)
+ ((top) (top) (top))
+ ("l-*-47" "l-*-46" "l-*-45"))
+ #(ribcage () () ()))
+ (hygiene guile))
+ head-11168)
+ r-10315
+ w-10316
+ mod-10318)
+ (map (lambda (e-11535)
+ (expand-4586
+ e-11535
+ r-10315
+ w-10316
+ mod-10318))
+ (append tail-11169 (list val-11170))))))))
+ tmp-11164)
+ (syntax-violation
+ 'set!
+ "bad set!"
+ (let ((x-11623
+ (begin
+ (if (if (pair? e-10314) s-10317 #f)
+ (set-source-properties! e-10314 s-10317))
+ e-10314)))
+ (if (if (null? (car w-10316))
+ (null? (cdr w-10316))
+ #f)
+ x-11623
+ (if (if (vector? x-11623)
+ (if (= (vector-length x-11623) 4)
+ (eq? (vector-ref x-11623 0) 'syntax-object)
+ #f)
+ #f)
+ (let ((expression-11655 (vector-ref x-11623 1))
+ (wrap-11656
+ (let ((w2-11664 (vector-ref x-11623 2)))
+ (let ((m1-11665 (car w-10316))
+ (s1-11666 (cdr w-10316)))
+ (if (null? m1-11665)
+ (if (null? s1-11666)
+ w2-11664
+ (cons (car w2-11664)
+ (let ((m2-11681
+ (cdr w2-11664)))
+ (if (null? m2-11681)
+ s1-11666
+ (append
+ s1-11666
+ m2-11681)))))
+ (cons (let ((m2-11689 (car w2-11664)))
+ (if (null? m2-11689)
+ m1-11665
+ (append m1-11665 m2-11689)))
+ (let ((m2-11697 (cdr w2-11664)))
+ (if (null? m2-11697)
+ s1-11666
+ (append
+ s1-11666
+ m2-11697))))))))
+ (module-11657 (vector-ref x-11623 3)))
+ (vector
+ 'syntax-object
+ expression-11655
+ wrap-11656
+ module-11657))
+ (if (null? x-11623)
+ x-11623
+ (vector
+ 'syntax-object
+ x-11623
+ w-10316
+ mod-10318))))))))))))
+ (module-define!
+ (current-module)
+ '@
+ (make-syntax-transformer
+ '@
+ 'module-ref
+ (lambda (e-11728 r-11729 w-11730)
+ (let ((tmp-11732
+ ($sc-dispatch e-11728 '(_ each-any any))))
+ (if (if tmp-11732
+ (@apply
+ (lambda (mod-11735 id-11736)
+ (if (and-map id?-4550 mod-11735)
+ (if (symbol? id-11736)
+ #t
+ (if (if (vector? id-11736)
+ (if (= (vector-length id-11736) 4)
+ (eq? (vector-ref id-11736 0)
+ 'syntax-object)
+ #f)
+ #f)
+ (symbol? (vector-ref id-11736 1))
+ #f))
+ #f))
+ tmp-11732)
+ #f)
+ (@apply
+ (lambda (mod-11776 id-11777)
+ (values
+ (syntax->datum id-11777)
+ r-11729
+ w-11730
+ #f
+ (syntax->datum
+ (cons '#(syntax-object
+ public
+ ((top)
+ #(ribcage
+ #(mod id)
+ #((top) (top))
+ #("l-*-3782" "l-*-3783"))
+ #(ribcage () () ())
+ #(ribcage
+ #(e r w)
+ #((top) (top) (top))
+ #("l-*-3770" "l-*-3771" "l-*-3772"))
+ #(ribcage
+ (lambda-var-list
+ gen-var
+ strip
+ expand-lambda-case
+ lambda*-formals
+ expand-simple-lambda
+ lambda-formals
+ ellipsis?
+ expand-void
+ eval-local-transformer
+ expand-local-syntax
+ expand-body
+ expand-macro
+ expand-call
+ expand-expr
+ expand
+ syntax-type
+ parse-when-list
+ expand-install-global
+ expand-top-sequence
+ expand-sequence
+ source-wrap
+ wrap
+ bound-id-member?
+ distinct-bound-ids?
+ valid-bound-ids?
+ bound-id=?
+ free-id=?
+ with-transformer-environment
+ transformer-environment
+ resolve-identifier
+ locally-bound-identifiers
+ id-var-name
+ same-marks?
+ join-marks
+ join-wraps
+ smart-append
+ make-binding-wrap
+ extend-ribcage!
+ make-empty-ribcage
+ new-mark
+ anti-mark
+ the-anti-mark
+ top-marked?
+ top-wrap
+ empty-wrap
+ set-ribcage-labels!
+ set-ribcage-marks!
+ set-ribcage-symnames!
+ ribcage-labels
+ ribcage-marks
+ ribcage-symnames
+ ribcage?
+ make-ribcage
+ gen-labels
+ gen-label
+ make-rename
+ rename-marks
+ rename-new
+ rename-old
+ subst-rename?
+ wrap-subst
+ wrap-marks
+ make-wrap
+ id-sym-name&marks
+ id-sym-name
+ id?
+ nonsymbol-id?
+ global-extend
+ macros-only-env
+ extend-var-env
+ extend-env
+ null-env
+ binding-value
+ binding-type
+ make-binding
+ arg-check
+ source-annotation
+ no-source
+ set-syntax-object-module!
+ set-syntax-object-wrap!
+ set-syntax-object-expression!
+ syntax-object-module
+ syntax-object-wrap
+ syntax-object-expression
+ syntax-object?
+ make-syntax-object
+ build-lexical-var
+ build-letrec
+ build-named-let
+ build-let
+ build-sequence
+ build-data
+ build-primref
+ build-primcall
+ build-lambda-case
+ build-case-lambda
+ build-simple-lambda
+ build-global-definition
+ build-global-assignment
+ build-global-reference
+ analyze-variable
+ build-lexical-assignment
+ build-lexical-reference
+ build-dynlet
+ build-conditional
+ build-call
+ build-void
+ maybe-name-value!
+ decorate-source
+ get-global-definition-hook
+ put-global-definition-hook
+ session-id
+ local-eval-hook
+ top-level-eval-hook
+ fx<
+ fx=
+ fx-
+ fx+
+ set-lambda-meta!
+ lambda-meta
+ lambda?
+ make-dynlet
+ make-letrec
+ make-let
+ make-lambda-case
+ make-lambda
+ make-seq
+ make-primcall
+ make-call
+ make-conditional
+ make-toplevel-define
+ make-toplevel-set
+ make-toplevel-ref
+ make-module-set
+ make-module-ref
+ make-lexical-set
+ make-lexical-ref
+ make-primitive-ref
+ make-const
+ make-void)
((top)
- #(ribcage
- #(pat exp)
- #((top) (top))
- #("i27835" "i27836"))
- #(ribcage () () ())
- #(ribcage
- #(x keys clauses r mod)
- #((top) (top) (top) (top) (top))
- #("i27825"
- "i27826"
- "i27827"
- "i27828"
- "i27829"))
- #(ribcage
- (gen-syntax-case
- gen-clause
- build-dispatch-call
- convert-pattern)
- ((top) (top) (top) (top))
- ("i27638" "i27636" "i27634" "i27632"))
- #(ribcage
- (lambda-var-list
- gen-var
- strip
- expand-lambda-case
- lambda*-formals
- expand-simple-lambda
- lambda-formals
- ellipsis?
- expand-void
- eval-local-transformer
- expand-local-syntax
- expand-body
- expand-macro
- expand-call
- expand-expr
- expand
- syntax-type
- parse-when-list
- expand-install-global
- expand-top-sequence
- expand-sequence
- source-wrap
- wrap
- bound-id-member?
- distinct-bound-ids?
- valid-bound-ids?
- bound-id=?
- free-id=?
- resolve-identifier
- id-var-name
- same-marks?
- join-marks
- join-wraps
- smart-append
- make-binding-wrap
- extend-ribcage!
- make-empty-ribcage
- new-mark
- anti-mark
- the-anti-mark
- top-marked?
- top-wrap
- empty-wrap
- set-ribcage-labels!
- set-ribcage-marks!
- set-ribcage-symnames!
- ribcage-labels
- ribcage-marks
- ribcage-symnames
- ribcage?
- make-ribcage
- gen-labels
- gen-label
- make-rename
- rename-marks
- rename-new
- rename-old
- subst-rename?
- wrap-subst
- wrap-marks
- make-wrap
- id-sym-name&marks
- id-sym-name
- id?
- nonsymbol-id?
- global-extend
- macros-only-env
- extend-var-env
- extend-env
- null-env
- binding-value
- binding-type
- make-binding
- arg-check
- source-annotation
- no-source
- set-syntax-object-module!
- set-syntax-object-wrap!
- set-syntax-object-expression!
- syntax-object-module
- syntax-object-wrap
- syntax-object-expression
- syntax-object?
- make-syntax-object
- build-lexical-var
- build-letrec
- build-named-let
- build-let
- build-sequence
- build-data
- build-primref
- build-primcall
- build-lambda-case
- build-case-lambda
- build-simple-lambda
- build-global-definition
- build-global-assignment
- build-global-reference
- analyze-variable
- build-lexical-assignment
- build-lexical-reference
- build-dynlet
- build-conditional
- build-call
- build-void
- maybe-name-value!
- decorate-source
- get-global-definition-hook
- put-global-definition-hook
- gensym-hook
- local-eval-hook
- top-level-eval-hook
- fx<
- fx=
- fx-
- fx+
- set-lambda-meta!
- lambda-meta
- lambda?
- make-dynlet
- make-letrec
- make-let
- make-lambda-case
- make-lambda
- make-seq
- make-primcall
- make-call
- make-conditional
- make-toplevel-define
- make-toplevel-set
- make-toplevel-ref
- make-module-set
- make-module-ref
- make-lexical-set
- make-lexical-ref
- make-primitive-ref
- make-const
- make-void)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top))
+ ("l-*-478"
+ "l-*-476"
+ "l-*-474"
+ "l-*-472"
+ "l-*-470"
+ "l-*-468"
+ "l-*-466"
+ "l-*-464"
+ "l-*-462"
+ "l-*-460"
+ "l-*-458"
+ "l-*-456"
+ "l-*-454"
+ "l-*-452"
+ "l-*-450"
+ "l-*-448"
+ "l-*-446"
+ "l-*-444"
+ "l-*-442"
+ "l-*-440"
+ "l-*-438"
+ "l-*-436"
+ "l-*-434"
+ "l-*-432"
+ "l-*-430"
+ "l-*-428"
+ "l-*-426"
+ "l-*-424"
+ "l-*-422"
+ "l-*-420"
+ "l-*-418"
+ "l-*-416"
+ "l-*-414"
+ "l-*-412"
+ "l-*-410"
+ "l-*-408"
+ "l-*-406"
+ "l-*-404"
+ "l-*-402"
+ "l-*-401"
+ "l-*-399"
+ "l-*-396"
+ "l-*-395"
+ "l-*-394"
+ "l-*-392"
+ "l-*-391"
+ "l-*-389"
+ "l-*-387"
+ "l-*-385"
+ "l-*-383"
+ "l-*-381"
+ "l-*-379"
+ "l-*-377"
+ "l-*-375"
+ "l-*-372"
+ "l-*-370"
+ "l-*-369"
+ "l-*-367"
+ "l-*-365"
+ "l-*-363"
+ "l-*-361"
+ "l-*-360"
+ "l-*-359"
+ "l-*-358"
+ "l-*-356"
+ "l-*-355"
+ "l-*-352"
+ "l-*-350"
+ "l-*-348"
+ "l-*-346"
+ "l-*-344"
+ "l-*-342"
+ "l-*-341"
+ "l-*-340"
+ "l-*-338"
+ "l-*-336"
+ "l-*-335"
+ "l-*-332"
+ "l-*-331"
+ "l-*-329"
+ "l-*-327"
+ "l-*-325"
+ "l-*-323"
+ "l-*-321"
+ "l-*-319"
+ "l-*-317"
+ "l-*-315"
+ "l-*-313"
+ "l-*-310"
+ "l-*-308"
+ "l-*-306"
+ "l-*-304"
+ "l-*-302"
+ "l-*-300"
+ "l-*-298"
+ "l-*-296"
+ "l-*-294"
+ "l-*-292"
+ "l-*-290"
+ "l-*-288"
+ "l-*-286"
+ "l-*-284"
+ "l-*-282"
+ "l-*-280"
+ "l-*-278"
+ "l-*-276"
+ "l-*-274"
+ "l-*-272"
+ "l-*-270"
+ "l-*-268"
+ "l-*-266"
+ "l-*-264"
+ "l-*-262"
+ "l-*-260"
+ "l-*-258"
+ "l-*-257"
+ "l-*-256"
+ "l-*-255"
+ "l-*-254"
+ "l-*-252"
+ "l-*-250"
+ "l-*-248"
+ "l-*-245"
+ "l-*-243"
+ "l-*-241"
+ "l-*-239"
+ "l-*-237"
+ "l-*-235"
+ "l-*-233"
+ "l-*-231"
+ "l-*-229"
+ "l-*-227"
+ "l-*-225"
+ "l-*-223"
+ "l-*-221"
+ "l-*-219"
+ "l-*-217"
+ "l-*-215"
+ "l-*-213"
+ "l-*-211"
+ "l-*-209"))
+ #(ribcage
+ (define-structure
+ define-expansion-accessors
+ define-expansion-constructors)
+ ((top) (top) (top))
+ ("l-*-47" "l-*-46" "l-*-45"))
+ #(ribcage () () ()))
+ (hygiene guile))
+ mod-11776))))
+ tmp-11732)
+ (syntax-violation
+ #f
+ "source expression failed to match any pattern"
+ e-11728))))))
+ (global-extend-4548
+ 'module-ref
+ '@@
+ (lambda (e-11877 r-11878 w-11879)
+ (letrec*
+ ((remodulate-11880
+ (lambda (x-12098 mod-12099)
+ (if (pair? x-12098)
+ (cons (remodulate-11880 (car x-12098) mod-12099)
+ (remodulate-11880 (cdr x-12098) mod-12099))
+ (if (if (vector? x-12098)
+ (if (= (vector-length x-12098) 4)
+ (eq? (vector-ref x-12098 0) 'syntax-object)
+ #f)
+ #f)
+ (let ((expression-12113
+ (remodulate-11880
+ (vector-ref x-12098 1)
+ mod-12099))
+ (wrap-12114 (vector-ref x-12098 2)))
+ (vector
+ 'syntax-object
+ expression-12113
+ wrap-12114
+ mod-12099))
+ (if (vector? x-12098)
+ (let ((n-12122 (vector-length x-12098)))
+ (let ((v-12123 (make-vector n-12122)))
+ (letrec*
+ ((loop-12124
+ (lambda (i-12179)
+ (if (= i-12179 n-12122)
+ v-12123
+ (begin
+ (vector-set!
+ v-12123
+ i-12179
+ (remodulate-11880
+ (vector-ref x-12098 i-12179)
+ mod-12099))
+ (loop-12124 (#{1+}# i-12179)))))))
+ (loop-12124 0))))
+ x-12098))))))
+ (let ((tmp-11882
+ ($sc-dispatch e-11877 '(_ each-any any))))
+ (if (if tmp-11882
+ (@apply
+ (lambda (mod-11886 exp-11887)
+ (and-map id?-4550 mod-11886))
+ tmp-11882)
+ #f)
+ (@apply
+ (lambda (mod-11903 exp-11904)
+ (let ((mod-11905
+ (syntax->datum
+ (cons '#(syntax-object
+ private
((top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top))
- ("i24298"
- "i24296"
- "i24294"
- "i24292"
- "i24290"
- "i24288"
- "i24286"
- "i24284"
- "i24282"
- "i24280"
- "i24278"
- "i24276"
- "i24274"
- "i24272"
- "i24270"
- "i24268"
- "i24266"
- "i24264"
- "i24262"
- "i24260"
- "i24258"
- "i24256"
- "i24254"
- "i24252"
- "i24250"
- "i24248"
- "i24246"
- "i24244"
- "i24242"
- "i24240"
- "i24238"
- "i24236"
- "i24234"
- "i24232"
- "i24230"
- "i24228"
- "i24227"
- "i24225"
- "i24222"
- "i24221"
- "i24220"
- "i24218"
- "i24217"
- "i24215"
- "i24213"
- "i24211"
- "i24209"
- "i24207"
- "i24205"
- "i24203"
- "i24201"
- "i24198"
- "i24196"
- "i24195"
- "i24193"
- "i24191"
- "i24189"
- "i24187"
- "i24186"
- "i24185"
- "i24184"
- "i24182"
- "i24181"
- "i24178"
- "i24176"
- "i24174"
- "i24172"
- "i24170"
- "i24168"
- "i24167"
- "i24166"
- "i24164"
- "i24162"
- "i24161"
- "i24158"
- "i24157"
- "i24155"
- "i24153"
- "i24151"
- "i24149"
- "i24147"
- "i24145"
- "i24143"
- "i24141"
- "i24139"
- "i24136"
- "i24134"
- "i24132"
- "i24130"
- "i24128"
- "i24126"
- "i24124"
- "i24122"
- "i24120"
- "i24118"
- "i24116"
- "i24114"
- "i24112"
- "i24110"
- "i24108"
- "i24106"
- "i24104"
- "i24102"
- "i24100"
- "i24098"
- "i24096"
- "i24094"
- "i24092"
- "i24090"
- "i24089"
- "i24086"
- "i24084"
- "i24083"
- "i24082"
- "i24081"
- "i24080"
- "i24078"
- "i24076"
- "i24074"
- "i24071"
- "i24069"
- "i24067"
- "i24065"
- "i24063"
- "i24061"
- "i24059"
- "i24057"
- "i24055"
- "i24053"
- "i24051"
- "i24049"
- "i24047"
- "i24045"
- "i24043"
- "i24041"
- "i24039"
- "i24037"
- "i24035"))
- #(ribcage
- (define-structure
- define-expansion-accessors
- define-expansion-constructors)
- ((top) (top) (top))
- ("i23873" "i23872" "i23871"))
- #(ribcage () () ()))
- (hygiene guile)))
- (#{expand 28271}#
- #{exp 38166}#
- #{r 38136}#
- '(())
- #{mod 38137}#)
- (let ((#{labels 38275}#
- (list (symbol->string (gensym "i"))))
- (#{var 38276}#
- (let ((#{id 38314}#
- (if (if (vector? #{pat 38165}#)
+ #(ribcage
+ #(mod exp)
+ #((top) (top))
+ #("l-*-3826" "l-*-3827"))
+ #(ribcage
+ (remodulate)
+ ((top))
+ ("l-*-3793"))
+ #(ribcage
+ #(e r w)
+ #((top) (top) (top))
+ #("l-*-3790" "l-*-3791" "l-*-3792"))
+ #(ribcage
+ (lambda-var-list
+ gen-var
+ strip
+ expand-lambda-case
+ lambda*-formals
+ expand-simple-lambda
+ lambda-formals
+ ellipsis?
+ expand-void
+ eval-local-transformer
+ expand-local-syntax
+ expand-body
+ expand-macro
+ expand-call
+ expand-expr
+ expand
+ syntax-type
+ parse-when-list
+ expand-install-global
+ expand-top-sequence
+ expand-sequence
+ source-wrap
+ wrap
+ bound-id-member?
+ distinct-bound-ids?
+ valid-bound-ids?
+ bound-id=?
+ free-id=?
+ with-transformer-environment
+ transformer-environment
+ resolve-identifier
+ locally-bound-identifiers
+ id-var-name
+ same-marks?
+ join-marks
+ join-wraps
+ smart-append
+ make-binding-wrap
+ extend-ribcage!
+ make-empty-ribcage
+ new-mark
+ anti-mark
+ the-anti-mark
+ top-marked?
+ top-wrap
+ empty-wrap
+ set-ribcage-labels!
+ set-ribcage-marks!
+ set-ribcage-symnames!
+ ribcage-labels
+ ribcage-marks
+ ribcage-symnames
+ ribcage?
+ make-ribcage
+ gen-labels
+ gen-label
+ make-rename
+ rename-marks
+ rename-new
+ rename-old
+ subst-rename?
+ wrap-subst
+ wrap-marks
+ make-wrap
+ id-sym-name&marks
+ id-sym-name
+ id?
+ nonsymbol-id?
+ global-extend
+ macros-only-env
+ extend-var-env
+ extend-env
+ null-env
+ binding-value
+ binding-type
+ make-binding
+ arg-check
+ source-annotation
+ no-source
+ set-syntax-object-module!
+ set-syntax-object-wrap!
+ set-syntax-object-expression!
+ syntax-object-module
+ syntax-object-wrap
+ syntax-object-expression
+ syntax-object?
+ make-syntax-object
+ build-lexical-var
+ build-letrec
+ build-named-let
+ build-let
+ build-sequence
+ build-data
+ build-primref
+ build-primcall
+ build-lambda-case
+ build-case-lambda
+ build-simple-lambda
+ build-global-definition
+ build-global-assignment
+ build-global-reference
+ analyze-variable
+ build-lexical-assignment
+ build-lexical-reference
+ build-dynlet
+ build-conditional
+ build-call
+ build-void
+ maybe-name-value!
+ decorate-source
+ get-global-definition-hook
+ put-global-definition-hook
+ session-id
+ local-eval-hook
+ top-level-eval-hook
+ fx<
+ fx=
+ fx-
+ fx+
+ set-lambda-meta!
+ lambda-meta
+ lambda?
+ make-dynlet
+ make-letrec
+ make-let
+ make-lambda-case
+ make-lambda
+ make-seq
+ make-primcall
+ make-call
+ make-conditional
+ make-toplevel-define
+ make-toplevel-set
+ make-toplevel-ref
+ make-module-set
+ make-module-ref
+ make-lexical-set
+ make-lexical-ref
+ make-primitive-ref
+ make-const
+ make-void)
+ ((top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top))
+ ("l-*-478"
+ "l-*-476"
+ "l-*-474"
+ "l-*-472"
+ "l-*-470"
+ "l-*-468"
+ "l-*-466"
+ "l-*-464"
+ "l-*-462"
+ "l-*-460"
+ "l-*-458"
+ "l-*-456"
+ "l-*-454"
+ "l-*-452"
+ "l-*-450"
+ "l-*-448"
+ "l-*-446"
+ "l-*-444"
+ "l-*-442"
+ "l-*-440"
+ "l-*-438"
+ "l-*-436"
+ "l-*-434"
+ "l-*-432"
+ "l-*-430"
+ "l-*-428"
+ "l-*-426"
+ "l-*-424"
+ "l-*-422"
+ "l-*-420"
+ "l-*-418"
+ "l-*-416"
+ "l-*-414"
+ "l-*-412"
+ "l-*-410"
+ "l-*-408"
+ "l-*-406"
+ "l-*-404"
+ "l-*-402"
+ "l-*-401"
+ "l-*-399"
+ "l-*-396"
+ "l-*-395"
+ "l-*-394"
+ "l-*-392"
+ "l-*-391"
+ "l-*-389"
+ "l-*-387"
+ "l-*-385"
+ "l-*-383"
+ "l-*-381"
+ "l-*-379"
+ "l-*-377"
+ "l-*-375"
+ "l-*-372"
+ "l-*-370"
+ "l-*-369"
+ "l-*-367"
+ "l-*-365"
+ "l-*-363"
+ "l-*-361"
+ "l-*-360"
+ "l-*-359"
+ "l-*-358"
+ "l-*-356"
+ "l-*-355"
+ "l-*-352"
+ "l-*-350"
+ "l-*-348"
+ "l-*-346"
+ "l-*-344"
+ "l-*-342"
+ "l-*-341"
+ "l-*-340"
+ "l-*-338"
+ "l-*-336"
+ "l-*-335"
+ "l-*-332"
+ "l-*-331"
+ "l-*-329"
+ "l-*-327"
+ "l-*-325"
+ "l-*-323"
+ "l-*-321"
+ "l-*-319"
+ "l-*-317"
+ "l-*-315"
+ "l-*-313"
+ "l-*-310"
+ "l-*-308"
+ "l-*-306"
+ "l-*-304"
+ "l-*-302"
+ "l-*-300"
+ "l-*-298"
+ "l-*-296"
+ "l-*-294"
+ "l-*-292"
+ "l-*-290"
+ "l-*-288"
+ "l-*-286"
+ "l-*-284"
+ "l-*-282"
+ "l-*-280"
+ "l-*-278"
+ "l-*-276"
+ "l-*-274"
+ "l-*-272"
+ "l-*-270"
+ "l-*-268"
+ "l-*-266"
+ "l-*-264"
+ "l-*-262"
+ "l-*-260"
+ "l-*-258"
+ "l-*-257"
+ "l-*-256"
+ "l-*-255"
+ "l-*-254"
+ "l-*-252"
+ "l-*-250"
+ "l-*-248"
+ "l-*-245"
+ "l-*-243"
+ "l-*-241"
+ "l-*-239"
+ "l-*-237"
+ "l-*-235"
+ "l-*-233"
+ "l-*-231"
+ "l-*-229"
+ "l-*-227"
+ "l-*-225"
+ "l-*-223"
+ "l-*-221"
+ "l-*-219"
+ "l-*-217"
+ "l-*-215"
+ "l-*-213"
+ "l-*-211"
+ "l-*-209"))
+ #(ribcage
+ (define-structure
+ define-expansion-accessors
+ define-expansion-constructors)
+ ((top) (top) (top))
+ ("l-*-47" "l-*-46" "l-*-45"))
+ #(ribcage () () ()))
+ (hygiene guile))
+ mod-11903))))
+ (values
+ (remodulate-11880 exp-11904 mod-11905)
+ r-11878
+ w-11879
+ (source-annotation-4544 exp-11904)
+ mod-11905)))
+ tmp-11882)
+ (syntax-violation
+ #f
+ "source expression failed to match any pattern"
+ e-11877))))))
+ (global-extend-4548
+ 'core
+ 'if
+ (lambda (e-12288 r-12289 w-12290 s-12291 mod-12292)
+ (let ((tmp-12294 ($sc-dispatch e-12288 '(_ any any))))
+ (if tmp-12294
+ (@apply
+ (lambda (test-12298 then-12299)
+ (build-conditional-4518
+ s-12291
+ (expand-4586
+ test-12298
+ r-12289
+ w-12290
+ mod-12292)
+ (expand-4586
+ then-12299
+ r-12289
+ w-12290
+ mod-12292)
+ (make-struct/no-tail
+ (vector-ref %expanded-vtables 0)
+ #f)))
+ tmp-12294)
+ (let ((tmp-12548
+ ($sc-dispatch e-12288 '(_ any any any))))
+ (if tmp-12548
+ (@apply
+ (lambda (test-12552 then-12553 else-12554)
+ (build-conditional-4518
+ s-12291
+ (expand-4586
+ test-12552
+ r-12289
+ w-12290
+ mod-12292)
+ (expand-4586
+ then-12553
+ r-12289
+ w-12290
+ mod-12292)
+ (expand-4586
+ else-12554
+ r-12289
+ w-12290
+ mod-12292)))
+ tmp-12548)
+ (syntax-violation
+ #f
+ "source expression failed to match any pattern"
+ e-12288)))))))
+ (global-extend-4548
+ 'core
+ 'with-fluids
+ (lambda (e-12993 r-12994 w-12995 s-12996 mod-12997)
+ (let ((tmp-12999
+ ($sc-dispatch
+ e-12993
+ '(_ #(each (any any)) any . each-any))))
+ (if tmp-12999
+ (@apply
+ (lambda (fluid-13003 val-13004 b-13005 b*-13006)
+ (build-dynlet-4519
+ s-12996
+ (map (lambda (x-13095)
+ (expand-4586 x-13095 r-12994 w-12995 mod-12997))
+ fluid-13003)
+ (map (lambda (x-13173)
+ (expand-4586 x-13173 r-12994 w-12995 mod-12997))
+ val-13004)
+ (expand-body-4590
+ (cons b-13005 b*-13006)
+ (let ((x-13262
+ (begin
+ (if (if (pair? e-12993) s-12996 #f)
+ (set-source-properties! e-12993 s-12996))
+ e-12993)))
+ (if (if (null? (car w-12995))
+ (null? (cdr w-12995))
+ #f)
+ x-13262
+ (if (if (vector? x-13262)
+ (if (= (vector-length x-13262) 4)
+ (eq? (vector-ref x-13262 0) 'syntax-object)
+ #f)
+ #f)
+ (let ((expression-13294 (vector-ref x-13262 1))
+ (wrap-13295
+ (let ((w2-13303 (vector-ref x-13262 2)))
+ (let ((m1-13304 (car w-12995))
+ (s1-13305 (cdr w-12995)))
+ (if (null? m1-13304)
+ (if (null? s1-13305)
+ w2-13303
+ (cons (car w2-13303)
+ (let ((m2-13320
+ (cdr w2-13303)))
+ (if (null? m2-13320)
+ s1-13305
+ (append
+ s1-13305
+ m2-13320)))))
+ (cons (let ((m2-13328
+ (car w2-13303)))
+ (if (null? m2-13328)
+ m1-13304
+ (append
+ m1-13304
+ m2-13328)))
+ (let ((m2-13336
+ (cdr w2-13303)))
+ (if (null? m2-13336)
+ s1-13305
+ (append
+ s1-13305
+ m2-13336))))))))
+ (module-13296 (vector-ref x-13262 3)))
+ (vector
+ 'syntax-object
+ expression-13294
+ wrap-13295
+ module-13296))
+ (if (null? x-13262)
+ x-13262
+ (vector
+ 'syntax-object
+ x-13262
+ w-12995
+ mod-12997)))))
+ r-12994
+ w-12995
+ mod-12997)))
+ tmp-12999)
+ (syntax-violation
+ #f
+ "source expression failed to match any pattern"
+ e-12993)))))
+ (module-define!
+ (current-module)
+ 'begin
+ (make-syntax-transformer 'begin 'begin '()))
+ (module-define!
+ (current-module)
+ 'define
+ (make-syntax-transformer 'define 'define '()))
+ (module-define!
+ (current-module)
+ 'define-syntax
+ (make-syntax-transformer
+ 'define-syntax
+ 'define-syntax
+ '()))
+ (module-define!
+ (current-module)
+ 'define-syntax-parameter
+ (make-syntax-transformer
+ 'define-syntax-parameter
+ 'define-syntax-parameter
+ '()))
+ (module-define!
+ (current-module)
+ 'eval-when
+ (make-syntax-transformer
+ 'eval-when
+ 'eval-when
+ '()))
+ (global-extend-4548
+ 'core
+ 'syntax-case
+ (letrec*
+ ((convert-pattern-13636
+ (lambda (pattern-15258 keys-15259)
+ (letrec*
+ ((cvt*-15260
+ (lambda (p*-16059 n-16060 ids-16061)
+ (if (not (pair? p*-16059))
+ (cvt-15262 p*-16059 n-16060 ids-16061)
+ (call-with-values
+ (lambda ()
+ (cvt*-15260 (cdr p*-16059) n-16060 ids-16061))
+ (lambda (y-16064 ids-16065)
+ (call-with-values
+ (lambda ()
+ (cvt-15262 (car p*-16059) n-16060 ids-16065))
+ (lambda (x-16068 ids-16069)
+ (values
+ (cons x-16068 y-16064)
+ ids-16069))))))))
+ (v-reverse-15261
+ (lambda (x-16070)
+ (letrec*
+ ((loop-16071
+ (lambda (r-16172 x-16173)
+ (if (not (pair? x-16173))
+ (values r-16172 x-16173)
+ (loop-16071
+ (cons (car x-16173) r-16172)
+ (cdr x-16173))))))
+ (loop-16071 '() x-16070))))
+ (cvt-15262
+ (lambda (p-15265 n-15266 ids-15267)
+ (if (if (symbol? p-15265)
+ #t
+ (if (if (vector? p-15265)
+ (if (= (vector-length p-15265) 4)
+ (eq? (vector-ref p-15265 0) 'syntax-object)
+ #f)
+ #f)
+ (symbol? (vector-ref p-15265 1))
+ #f))
+ (if (bound-id-member?-4578 p-15265 keys-15259)
+ (values (vector 'free-id p-15265) ids-15267)
+ (if (free-id=?-4574
+ p-15265
+ '#(syntax-object
+ _
+ ((top)
+ #(ribcage () () ())
+ #(ribcage
+ #(p n ids)
+ #((top) (top) (top))
+ #("l-*-3927" "l-*-3928" "l-*-3929"))
+ #(ribcage
+ (cvt v-reverse cvt*)
+ ((top) (top) (top))
+ ("l-*-3900" "l-*-3898" "l-*-3896"))
+ #(ribcage
+ #(pattern keys)
+ #((top) (top))
+ #("l-*-3894" "l-*-3895"))
+ #(ribcage
+ (gen-syntax-case
+ gen-clause
+ build-dispatch-call
+ convert-pattern)
+ ((top) (top) (top) (top))
+ ("l-*-3890"
+ "l-*-3888"
+ "l-*-3886"
+ "l-*-3884"))
+ #(ribcage
+ (lambda-var-list
+ gen-var
+ strip
+ expand-lambda-case
+ lambda*-formals
+ expand-simple-lambda
+ lambda-formals
+ ellipsis?
+ expand-void
+ eval-local-transformer
+ expand-local-syntax
+ expand-body
+ expand-macro
+ expand-call
+ expand-expr
+ expand
+ syntax-type
+ parse-when-list
+ expand-install-global
+ expand-top-sequence
+ expand-sequence
+ source-wrap
+ wrap
+ bound-id-member?
+ distinct-bound-ids?
+ valid-bound-ids?
+ bound-id=?
+ free-id=?
+ with-transformer-environment
+ transformer-environment
+ resolve-identifier
+ locally-bound-identifiers
+ id-var-name
+ same-marks?
+ join-marks
+ join-wraps
+ smart-append
+ make-binding-wrap
+ extend-ribcage!
+ make-empty-ribcage
+ new-mark
+ anti-mark
+ the-anti-mark
+ top-marked?
+ top-wrap
+ empty-wrap
+ set-ribcage-labels!
+ set-ribcage-marks!
+ set-ribcage-symnames!
+ ribcage-labels
+ ribcage-marks
+ ribcage-symnames
+ ribcage?
+ make-ribcage
+ gen-labels
+ gen-label
+ make-rename
+ rename-marks
+ rename-new
+ rename-old
+ subst-rename?
+ wrap-subst
+ wrap-marks
+ make-wrap
+ id-sym-name&marks
+ id-sym-name
+ id?
+ nonsymbol-id?
+ global-extend
+ macros-only-env
+ extend-var-env
+ extend-env
+ null-env
+ binding-value
+ binding-type
+ make-binding
+ arg-check
+ source-annotation
+ no-source
+ set-syntax-object-module!
+ set-syntax-object-wrap!
+ set-syntax-object-expression!
+ syntax-object-module
+ syntax-object-wrap
+ syntax-object-expression
+ syntax-object?
+ make-syntax-object
+ build-lexical-var
+ build-letrec
+ build-named-let
+ build-let
+ build-sequence
+ build-data
+ build-primref
+ build-primcall
+ build-lambda-case
+ build-case-lambda
+ build-simple-lambda
+ build-global-definition
+ build-global-assignment
+ build-global-reference
+ analyze-variable
+ build-lexical-assignment
+ build-lexical-reference
+ build-dynlet
+ build-conditional
+ build-call
+ build-void
+ maybe-name-value!
+ decorate-source
+ get-global-definition-hook
+ put-global-definition-hook
+ session-id
+ local-eval-hook
+ top-level-eval-hook
+ fx<
+ fx=
+ fx-
+ fx+
+ set-lambda-meta!
+ lambda-meta
+ lambda?
+ make-dynlet
+ make-letrec
+ make-let
+ make-lambda-case
+ make-lambda
+ make-seq
+ make-primcall
+ make-call
+ make-conditional
+ make-toplevel-define
+ make-toplevel-set
+ make-toplevel-ref
+ make-module-set
+ make-module-ref
+ make-lexical-set
+ make-lexical-ref
+ make-primitive-ref
+ make-const
+ make-void)
+ ((top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top))
+ ("l-*-478"
+ "l-*-476"
+ "l-*-474"
+ "l-*-472"
+ "l-*-470"
+ "l-*-468"
+ "l-*-466"
+ "l-*-464"
+ "l-*-462"
+ "l-*-460"
+ "l-*-458"
+ "l-*-456"
+ "l-*-454"
+ "l-*-452"
+ "l-*-450"
+ "l-*-448"
+ "l-*-446"
+ "l-*-444"
+ "l-*-442"
+ "l-*-440"
+ "l-*-438"
+ "l-*-436"
+ "l-*-434"
+ "l-*-432"
+ "l-*-430"
+ "l-*-428"
+ "l-*-426"
+ "l-*-424"
+ "l-*-422"
+ "l-*-420"
+ "l-*-418"
+ "l-*-416"
+ "l-*-414"
+ "l-*-412"
+ "l-*-410"
+ "l-*-408"
+ "l-*-406"
+ "l-*-404"
+ "l-*-402"
+ "l-*-401"
+ "l-*-399"
+ "l-*-396"
+ "l-*-395"
+ "l-*-394"
+ "l-*-392"
+ "l-*-391"
+ "l-*-389"
+ "l-*-387"
+ "l-*-385"
+ "l-*-383"
+ "l-*-381"
+ "l-*-379"
+ "l-*-377"
+ "l-*-375"
+ "l-*-372"
+ "l-*-370"
+ "l-*-369"
+ "l-*-367"
+ "l-*-365"
+ "l-*-363"
+ "l-*-361"
+ "l-*-360"
+ "l-*-359"
+ "l-*-358"
+ "l-*-356"
+ "l-*-355"
+ "l-*-352"
+ "l-*-350"
+ "l-*-348"
+ "l-*-346"
+ "l-*-344"
+ "l-*-342"
+ "l-*-341"
+ "l-*-340"
+ "l-*-338"
+ "l-*-336"
+ "l-*-335"
+ "l-*-332"
+ "l-*-331"
+ "l-*-329"
+ "l-*-327"
+ "l-*-325"
+ "l-*-323"
+ "l-*-321"
+ "l-*-319"
+ "l-*-317"
+ "l-*-315"
+ "l-*-313"
+ "l-*-310"
+ "l-*-308"
+ "l-*-306"
+ "l-*-304"
+ "l-*-302"
+ "l-*-300"
+ "l-*-298"
+ "l-*-296"
+ "l-*-294"
+ "l-*-292"
+ "l-*-290"
+ "l-*-288"
+ "l-*-286"
+ "l-*-284"
+ "l-*-282"
+ "l-*-280"
+ "l-*-278"
+ "l-*-276"
+ "l-*-274"
+ "l-*-272"
+ "l-*-270"
+ "l-*-268"
+ "l-*-266"
+ "l-*-264"
+ "l-*-262"
+ "l-*-260"
+ "l-*-258"
+ "l-*-257"
+ "l-*-256"
+ "l-*-255"
+ "l-*-254"
+ "l-*-252"
+ "l-*-250"
+ "l-*-248"
+ "l-*-245"
+ "l-*-243"
+ "l-*-241"
+ "l-*-239"
+ "l-*-237"
+ "l-*-235"
+ "l-*-233"
+ "l-*-231"
+ "l-*-229"
+ "l-*-227"
+ "l-*-225"
+ "l-*-223"
+ "l-*-221"
+ "l-*-219"
+ "l-*-217"
+ "l-*-215"
+ "l-*-213"
+ "l-*-211"
+ "l-*-209"))
+ #(ribcage
+ (define-structure
+ define-expansion-accessors
+ define-expansion-constructors)
+ ((top) (top) (top))
+ ("l-*-47" "l-*-46" "l-*-45"))
+ #(ribcage () () ()))
+ (hygiene guile)))
+ (values '_ ids-15267)
+ (values
+ 'any
+ (cons (cons p-15265 n-15266) ids-15267))))
+ (let ((tmp-15399 ($sc-dispatch p-15265 '(any any))))
+ (if (if tmp-15399
+ (@apply
+ (lambda (x-15403 dots-15404)
+ (if (if (if (vector? dots-15404)
+ (if (= (vector-length dots-15404)
+ 4)
+ (eq? (vector-ref dots-15404 0)
+ 'syntax-object)
+ #f)
+ #f)
+ (symbol? (vector-ref dots-15404 1))
+ #f)
+ (free-id=?-4574
+ dots-15404
+ '#(syntax-object
+ ...
+ ((top)
+ #(ribcage () () ())
+ #(ribcage () () ())
+ #(ribcage
+ #(x)
+ #((top))
+ #("l-*-2416"))
+ #(ribcage
+ (lambda-var-list
+ gen-var
+ strip
+ expand-lambda-case
+ lambda*-formals
+ expand-simple-lambda
+ lambda-formals
+ ellipsis?
+ expand-void
+ eval-local-transformer
+ expand-local-syntax
+ expand-body
+ expand-macro
+ expand-call
+ expand-expr
+ expand
+ syntax-type
+ parse-when-list
+ expand-install-global
+ expand-top-sequence
+ expand-sequence
+ source-wrap
+ wrap
+ bound-id-member?
+ distinct-bound-ids?
+ valid-bound-ids?
+ bound-id=?
+ free-id=?
+ with-transformer-environment
+ transformer-environment
+ resolve-identifier
+ locally-bound-identifiers
+ id-var-name
+ same-marks?
+ join-marks
+ join-wraps
+ smart-append
+ make-binding-wrap
+ extend-ribcage!
+ make-empty-ribcage
+ new-mark
+ anti-mark
+ the-anti-mark
+ top-marked?
+ top-wrap
+ empty-wrap
+ set-ribcage-labels!
+ set-ribcage-marks!
+ set-ribcage-symnames!
+ ribcage-labels
+ ribcage-marks
+ ribcage-symnames
+ ribcage?
+ make-ribcage
+ gen-labels
+ gen-label
+ make-rename
+ rename-marks
+ rename-new
+ rename-old
+ subst-rename?
+ wrap-subst
+ wrap-marks
+ make-wrap
+ id-sym-name&marks
+ id-sym-name
+ id?
+ nonsymbol-id?
+ global-extend
+ macros-only-env
+ extend-var-env
+ extend-env
+ null-env
+ binding-value
+ binding-type
+ make-binding
+ arg-check
+ source-annotation
+ no-source
+ set-syntax-object-module!
+ set-syntax-object-wrap!
+ set-syntax-object-expression!
+ syntax-object-module
+ syntax-object-wrap
+ syntax-object-expression
+ syntax-object?
+ make-syntax-object
+ build-lexical-var
+ build-letrec
+ build-named-let
+ build-let
+ build-sequence
+ build-data
+ build-primref
+ build-primcall
+ build-lambda-case
+ build-case-lambda
+ build-simple-lambda
+ build-global-definition
+ build-global-assignment
+ build-global-reference
+ analyze-variable
+ build-lexical-assignment
+ build-lexical-reference
+ build-dynlet
+ build-conditional
+ build-call
+ build-void
+ maybe-name-value!
+ decorate-source
+ get-global-definition-hook
+ put-global-definition-hook
+ session-id
+ local-eval-hook
+ top-level-eval-hook
+ fx<
+ fx=
+ fx-
+ fx+
+ set-lambda-meta!
+ lambda-meta
+ lambda?
+ make-dynlet
+ make-letrec
+ make-let
+ make-lambda-case
+ make-lambda
+ make-seq
+ make-primcall
+ make-call
+ make-conditional
+ make-toplevel-define
+ make-toplevel-set
+ make-toplevel-ref
+ make-module-set
+ make-module-ref
+ make-lexical-set
+ make-lexical-ref
+ make-primitive-ref
+ make-const
+ make-void)
+ ((top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top))
+ ("l-*-478"
+ "l-*-476"
+ "l-*-474"
+ "l-*-472"
+ "l-*-470"
+ "l-*-468"
+ "l-*-466"
+ "l-*-464"
+ "l-*-462"
+ "l-*-460"
+ "l-*-458"
+ "l-*-456"
+ "l-*-454"
+ "l-*-452"
+ "l-*-450"
+ "l-*-448"
+ "l-*-446"
+ "l-*-444"
+ "l-*-442"
+ "l-*-440"
+ "l-*-438"
+ "l-*-436"
+ "l-*-434"
+ "l-*-432"
+ "l-*-430"
+ "l-*-428"
+ "l-*-426"
+ "l-*-424"
+ "l-*-422"
+ "l-*-420"
+ "l-*-418"
+ "l-*-416"
+ "l-*-414"
+ "l-*-412"
+ "l-*-410"
+ "l-*-408"
+ "l-*-406"
+ "l-*-404"
+ "l-*-402"
+ "l-*-401"
+ "l-*-399"
+ "l-*-396"
+ "l-*-395"
+ "l-*-394"
+ "l-*-392"
+ "l-*-391"
+ "l-*-389"
+ "l-*-387"
+ "l-*-385"
+ "l-*-383"
+ "l-*-381"
+ "l-*-379"
+ "l-*-377"
+ "l-*-375"
+ "l-*-372"
+ "l-*-370"
+ "l-*-369"
+ "l-*-367"
+ "l-*-365"
+ "l-*-363"
+ "l-*-361"
+ "l-*-360"
+ "l-*-359"
+ "l-*-358"
+ "l-*-356"
+ "l-*-355"
+ "l-*-352"
+ "l-*-350"
+ "l-*-348"
+ "l-*-346"
+ "l-*-344"
+ "l-*-342"
+ "l-*-341"
+ "l-*-340"
+ "l-*-338"
+ "l-*-336"
+ "l-*-335"
+ "l-*-332"
+ "l-*-331"
+ "l-*-329"
+ "l-*-327"
+ "l-*-325"
+ "l-*-323"
+ "l-*-321"
+ "l-*-319"
+ "l-*-317"
+ "l-*-315"
+ "l-*-313"
+ "l-*-310"
+ "l-*-308"
+ "l-*-306"
+ "l-*-304"
+ "l-*-302"
+ "l-*-300"
+ "l-*-298"
+ "l-*-296"
+ "l-*-294"
+ "l-*-292"
+ "l-*-290"
+ "l-*-288"
+ "l-*-286"
+ "l-*-284"
+ "l-*-282"
+ "l-*-280"
+ "l-*-278"
+ "l-*-276"
+ "l-*-274"
+ "l-*-272"
+ "l-*-270"
+ "l-*-268"
+ "l-*-266"
+ "l-*-264"
+ "l-*-262"
+ "l-*-260"
+ "l-*-258"
+ "l-*-257"
+ "l-*-256"
+ "l-*-255"
+ "l-*-254"
+ "l-*-252"
+ "l-*-250"
+ "l-*-248"
+ "l-*-245"
+ "l-*-243"
+ "l-*-241"
+ "l-*-239"
+ "l-*-237"
+ "l-*-235"
+ "l-*-233"
+ "l-*-231"
+ "l-*-229"
+ "l-*-227"
+ "l-*-225"
+ "l-*-223"
+ "l-*-221"
+ "l-*-219"
+ "l-*-217"
+ "l-*-215"
+ "l-*-213"
+ "l-*-211"
+ "l-*-209"))
+ #(ribcage
+ (define-structure
+ define-expansion-accessors
+ define-expansion-constructors)
+ ((top) (top) (top))
+ ("l-*-47" "l-*-46" "l-*-45"))
+ #(ribcage () () ()))
+ (hygiene guile)))
+ #f))
+ tmp-15399)
+ #f)
+ (@apply
+ (lambda (x-15443 dots-15444)
+ (call-with-values
+ (lambda ()
+ (cvt-15262
+ x-15443
+ (#{1+}# n-15266)
+ ids-15267))
+ (lambda (p-15445 ids-15446)
+ (values
+ (if (eq? p-15445 'any)
+ 'each-any
+ (vector 'each p-15445))
+ ids-15446))))
+ tmp-15399)
+ (let ((tmp-15447
+ ($sc-dispatch p-15265 '(any any . any))))
+ (if (if tmp-15447
+ (@apply
+ (lambda (x-15451 dots-15452 ys-15453)
+ (if (if (if (vector? dots-15452)
+ (if (= (vector-length
+ dots-15452)
+ 4)
+ (eq? (vector-ref
+ dots-15452
+ 0)
+ 'syntax-object)
+ #f)
+ #f)
+ (symbol?
+ (vector-ref dots-15452 1))
+ #f)
+ (free-id=?-4574
+ dots-15452
+ '#(syntax-object
+ ...
+ ((top)
+ #(ribcage () () ())
+ #(ribcage () () ())
+ #(ribcage
+ #(x)
+ #((top))
+ #("l-*-2416"))
+ #(ribcage
+ (lambda-var-list
+ gen-var
+ strip
+ expand-lambda-case
+ lambda*-formals
+ expand-simple-lambda
+ lambda-formals
+ ellipsis?
+ expand-void
+ eval-local-transformer
+ expand-local-syntax
+ expand-body
+ expand-macro
+ expand-call
+ expand-expr
+ expand
+ syntax-type
+ parse-when-list
+ expand-install-global
+ expand-top-sequence
+ expand-sequence
+ source-wrap
+ wrap
+ bound-id-member?
+ distinct-bound-ids?
+ valid-bound-ids?
+ bound-id=?
+ free-id=?
+
with-transformer-environment
+ transformer-environment
+ resolve-identifier
+ locally-bound-identifiers
+ id-var-name
+ same-marks?
+ join-marks
+ join-wraps
+ smart-append
+ make-binding-wrap
+ extend-ribcage!
+ make-empty-ribcage
+ new-mark
+ anti-mark
+ the-anti-mark
+ top-marked?
+ top-wrap
+ empty-wrap
+ set-ribcage-labels!
+ set-ribcage-marks!
+ set-ribcage-symnames!
+ ribcage-labels
+ ribcage-marks
+ ribcage-symnames
+ ribcage?
+ make-ribcage
+ gen-labels
+ gen-label
+ make-rename
+ rename-marks
+ rename-new
+ rename-old
+ subst-rename?
+ wrap-subst
+ wrap-marks
+ make-wrap
+ id-sym-name&marks
+ id-sym-name
+ id?
+ nonsymbol-id?
+ global-extend
+ macros-only-env
+ extend-var-env
+ extend-env
+ null-env
+ binding-value
+ binding-type
+ make-binding
+ arg-check
+ source-annotation
+ no-source
+ set-syntax-object-module!
+ set-syntax-object-wrap!
+
set-syntax-object-expression!
+ syntax-object-module
+ syntax-object-wrap
+ syntax-object-expression
+ syntax-object?
+ make-syntax-object
+ build-lexical-var
+ build-letrec
+ build-named-let
+ build-let
+ build-sequence
+ build-data
+ build-primref
+ build-primcall
+ build-lambda-case
+ build-case-lambda
+ build-simple-lambda
+ build-global-definition
+ build-global-assignment
+ build-global-reference
+ analyze-variable
+ build-lexical-assignment
+ build-lexical-reference
+ build-dynlet
+ build-conditional
+ build-call
+ build-void
+ maybe-name-value!
+ decorate-source
+ get-global-definition-hook
+ put-global-definition-hook
+ session-id
+ local-eval-hook
+ top-level-eval-hook
+ fx<
+ fx=
+ fx-
+ fx+
+ set-lambda-meta!
+ lambda-meta
+ lambda?
+ make-dynlet
+ make-letrec
+ make-let
+ make-lambda-case
+ make-lambda
+ make-seq
+ make-primcall
+ make-call
+ make-conditional
+ make-toplevel-define
+ make-toplevel-set
+ make-toplevel-ref
+ make-module-set
+ make-module-ref
+ make-lexical-set
+ make-lexical-ref
+ make-primitive-ref
+ make-const
+ make-void)
+ ((top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top))
+ ("l-*-478"
+ "l-*-476"
+ "l-*-474"
+ "l-*-472"
+ "l-*-470"
+ "l-*-468"
+ "l-*-466"
+ "l-*-464"
+ "l-*-462"
+ "l-*-460"
+ "l-*-458"
+ "l-*-456"
+ "l-*-454"
+ "l-*-452"
+ "l-*-450"
+ "l-*-448"
+ "l-*-446"
+ "l-*-444"
+ "l-*-442"
+ "l-*-440"
+ "l-*-438"
+ "l-*-436"
+ "l-*-434"
+ "l-*-432"
+ "l-*-430"
+ "l-*-428"
+ "l-*-426"
+ "l-*-424"
+ "l-*-422"
+ "l-*-420"
+ "l-*-418"
+ "l-*-416"
+ "l-*-414"
+ "l-*-412"
+ "l-*-410"
+ "l-*-408"
+ "l-*-406"
+ "l-*-404"
+ "l-*-402"
+ "l-*-401"
+ "l-*-399"
+ "l-*-396"
+ "l-*-395"
+ "l-*-394"
+ "l-*-392"
+ "l-*-391"
+ "l-*-389"
+ "l-*-387"
+ "l-*-385"
+ "l-*-383"
+ "l-*-381"
+ "l-*-379"
+ "l-*-377"
+ "l-*-375"
+ "l-*-372"
+ "l-*-370"
+ "l-*-369"
+ "l-*-367"
+ "l-*-365"
+ "l-*-363"
+ "l-*-361"
+ "l-*-360"
+ "l-*-359"
+ "l-*-358"
+ "l-*-356"
+ "l-*-355"
+ "l-*-352"
+ "l-*-350"
+ "l-*-348"
+ "l-*-346"
+ "l-*-344"
+ "l-*-342"
+ "l-*-341"
+ "l-*-340"
+ "l-*-338"
+ "l-*-336"
+ "l-*-335"
+ "l-*-332"
+ "l-*-331"
+ "l-*-329"
+ "l-*-327"
+ "l-*-325"
+ "l-*-323"
+ "l-*-321"
+ "l-*-319"
+ "l-*-317"
+ "l-*-315"
+ "l-*-313"
+ "l-*-310"
+ "l-*-308"
+ "l-*-306"
+ "l-*-304"
+ "l-*-302"
+ "l-*-300"
+ "l-*-298"
+ "l-*-296"
+ "l-*-294"
+ "l-*-292"
+ "l-*-290"
+ "l-*-288"
+ "l-*-286"
+ "l-*-284"
+ "l-*-282"
+ "l-*-280"
+ "l-*-278"
+ "l-*-276"
+ "l-*-274"
+ "l-*-272"
+ "l-*-270"
+ "l-*-268"
+ "l-*-266"
+ "l-*-264"
+ "l-*-262"
+ "l-*-260"
+ "l-*-258"
+ "l-*-257"
+ "l-*-256"
+ "l-*-255"
+ "l-*-254"
+ "l-*-252"
+ "l-*-250"
+ "l-*-248"
+ "l-*-245"
+ "l-*-243"
+ "l-*-241"
+ "l-*-239"
+ "l-*-237"
+ "l-*-235"
+ "l-*-233"
+ "l-*-231"
+ "l-*-229"
+ "l-*-227"
+ "l-*-225"
+ "l-*-223"
+ "l-*-221"
+ "l-*-219"
+ "l-*-217"
+ "l-*-215"
+ "l-*-213"
+ "l-*-211"
+ "l-*-209"))
+ #(ribcage
+ (define-structure
+ define-expansion-accessors
+
define-expansion-constructors)
+ ((top) (top) (top))
+ ("l-*-47" "l-*-46" "l-*-45"))
+ #(ribcage () () ()))
+ (hygiene guile)))
+ #f))
+ tmp-15447)
+ #f)
+ (@apply
+ (lambda (x-15492 dots-15493 ys-15494)
+ (call-with-values
+ (lambda ()
+ (cvt*-15260
+ ys-15494
+ n-15266
+ ids-15267))
+ (lambda (ys-15979 ids-15980)
+ (call-with-values
+ (lambda ()
+ (cvt-15262
+ x-15492
+ (#{1+}# n-15266)
+ ids-15980))
+ (lambda (x-15981 ids-15982)
+ (call-with-values
+ (lambda ()
+ (v-reverse-15261 ys-15979))
+ (lambda (ys-16018 e-16019)
+ (values
+ (vector
+ 'each+
+ x-15981
+ ys-16018
+ e-16019)
+ ids-15982))))))))
+ tmp-15447)
+ (let ((tmp-16020
+ ($sc-dispatch p-15265 '(any . any))))
+ (if tmp-16020
+ (@apply
+ (lambda (x-16024 y-16025)
+ (call-with-values
+ (lambda ()
+ (cvt-15262
+ y-16025
+ n-15266
+ ids-15267))
+ (lambda (y-16026 ids-16027)
+ (call-with-values
+ (lambda ()
+ (cvt-15262
+ x-16024
+ n-15266
+ ids-16027))
+ (lambda (x-16028 ids-16029)
+ (values
+ (cons x-16028 y-16026)
+ ids-16029))))))
+ tmp-16020)
+ (let ((tmp-16030
+ ($sc-dispatch p-15265 '())))
+ (if tmp-16030
+ (@apply
+ (lambda () (values '() ids-15267))
+ tmp-16030)
+ (let ((tmp-16034
+ ($sc-dispatch
+ p-15265
+ '#(vector each-any))))
+ (if tmp-16034
+ (@apply
+ (lambda (x-16038)
+ (call-with-values
+ (lambda ()
+ (cvt-15262
+ x-16038
+ n-15266
+ ids-15267))
+ (lambda (p-16039 ids-16040)
+ (values
+ (vector 'vector p-16039)
+ ids-16040))))
+ tmp-16034)
+ (values
+ (vector
+ 'atom
+ (strip-4599 p-15265 '(())))
+ ids-15267)))))))))))))))
+ (cvt-15262 pattern-15258 0 '()))))
+ (build-dispatch-call-13637
+ (lambda (pvars-16174 exp-16175 y-16176 r-16177 mod-16178)
+ (let ((ids-16179 (map car pvars-16174)))
+ (begin
+ (map cdr pvars-16174)
+ (let ((labels-16181 (gen-labels-4553 ids-16179))
+ (new-vars-16182 (map gen-var-4600 ids-16179)))
+ (build-primcall-4529
+ #f
+ 'apply
+ (list (build-simple-lambda-4526
+ #f
+ (map syntax->datum ids-16179)
+ #f
+ new-vars-16182
+ '()
+ (expand-4586
+ exp-16175
+ (extend-env-4545
+ labels-16181
+ (map (lambda (var-16510 level-16511)
+ (cons 'syntax
+ (cons var-16510 level-16511)))
+ new-vars-16182
+ (map cdr pvars-16174))
+ r-16177)
+ (make-binding-wrap-4564
+ ids-16179
+ labels-16181
+ '(()))
+ mod-16178))
+ y-16176)))))))
+ (gen-clause-13638
+ (lambda (x-14842
+ keys-14843
+ clauses-14844
+ r-14845
+ pat-14846
+ fender-14847
+ exp-14848
+ mod-14849)
+ (call-with-values
+ (lambda ()
+ (convert-pattern-13636 pat-14846 keys-14843))
+ (lambda (p-14987 pvars-14988)
+ (if (not (distinct-bound-ids?-4577 (map car pvars-14988)))
+ (syntax-violation
+ 'syntax-case
+ "duplicate pattern variable"
+ pat-14846)
+ (if (not (and-map
+ (lambda (x-15097)
+ (not (let ((x-15101 (car x-15097)))
+ (if (if (if (vector? x-15101)
(if (= (vector-length
- #{pat 38165}#)
+ x-15101)
4)
(eq? (vector-ref
- #{pat 38165}#
+ x-15101
0)
'syntax-object)
#f)
#f)
- (vector-ref #{pat 38165}# 1)
- #{pat 38165}#)))
- (gensym
- (string-append
- (symbol->string #{id 38314}#)
- " ")))))
- (#{build-call 28205}#
- #f
- (#{build-simple-lambda 28214}#
- #f
- (list (syntax->datum #{pat 38165}#))
- #f
- (list #{var 38276}#)
- '()
- (#{expand 28271}#
- #{exp 38166}#
- (#{extend-env 28233}#
- #{labels 38275}#
- (list (cons 'syntax
- (cons #{var 38276}# 0)))
- #{r 38136}#)
- (#{make-binding-wrap 28252}#
- (list #{pat 38165}#)
- #{labels 38275}#
- '(()))
- #{mod 38137}#))
- (list #{x 38133}#))))
- (#{gen-clause 37428}#
- #{x 38133}#
- #{keys 38134}#
- (cdr #{clauses 38135}#)
- #{r 38136}#
- #{pat 38165}#
- #t
- #{exp 38166}#
- #{mod 38137}#)))
- #{tmp 38163}#)
- (let ((#{tmp 38624}#
- ($sc-dispatch #{tmp 38162}# '(any any any))))
- (if #{tmp 38624}#
- (@apply
- (lambda (#{pat 38626}#
- #{fender 38627}#
- #{exp 38628}#)
- (#{gen-clause 37428}#
- #{x 38133}#
- #{keys 38134}#
- (cdr #{clauses 38135}#)
- #{r 38136}#
- #{pat 38626}#
- #{fender 38627}#
- #{exp 38628}#
- #{mod 38137}#))
- #{tmp 38624}#)
- (syntax-violation
- 'syntax-case
- "invalid clause"
- (car #{clauses 38135}#)))))))))))
- (lambda (#{e 37430}#
- #{r 37431}#
- #{w 37432}#
- #{s 37433}#
- #{mod 37434}#)
- (let ((#{e 37435}#
- (let ((#{x 38044}#
- (begin
- (if (if (pair? #{e 37430}#) #{s 37433}# #f)
- (set-source-properties! #{e 37430}# #{s 37433}#))
- #{e 37430}#)))
- (if (if (null? (car #{w 37432}#))
- (null? (cdr #{w 37432}#))
- #f)
- #{x 38044}#
- (if (if (vector? #{x 38044}#)
- (if (= (vector-length #{x 38044}#) 4)
- (eq? (vector-ref #{x 38044}# 0) 'syntax-object)
- #f)
- #f)
- (let ((#{expression 38076}# (vector-ref #{x 38044}# 1))
- (#{wrap 38077}#
- (let ((#{w2 38085}#
- (vector-ref #{x 38044}# 2)))
- (let ((#{m1 38086}# (car #{w 37432}#))
- (#{s1 38087}# (cdr #{w 37432}#)))
- (if (null? #{m1 38086}#)
- (if (null? #{s1 38087}#)
- #{w2 38085}#
- (cons (car #{w2 38085}#)
- (let ((#{m2 38102}#
- (cdr #{w2 38085}#)))
- (if (null? #{m2 38102}#)
- #{s1 38087}#
- (append
- #{s1 38087}#
- #{m2 38102}#)))))
- (cons (let ((#{m2 38110}#
- (car #{w2 38085}#)))
- (if (null? #{m2 38110}#)
- #{m1 38086}#
- (append
- #{m1 38086}#
- #{m2 38110}#)))
- (let ((#{m2 38118}#
- (cdr #{w2 38085}#)))
- (if (null? #{m2 38118}#)
- #{s1 38087}#
- (append
- #{s1 38087}#
- #{m2 38118}#))))))))
- (#{module 38078}# (vector-ref #{x 38044}# 3)))
- (vector
- 'syntax-object
- #{expression 38076}#
- #{wrap 38077}#
- #{module 38078}#))
- (if (null? #{x 38044}#)
- #{x 38044}#
- (vector
- 'syntax-object
- #{x 38044}#
- #{w 37432}#
- #{mod 37434}#)))))))
- (let ((#{tmp 37436}# #{e 37435}#))
- (let ((#{tmp 37437}#
- ($sc-dispatch
- #{tmp 37436}#
- '(_ any each-any . each-any))))
- (if #{tmp 37437}#
- (@apply
- (lambda (#{val 37485}# #{key 37486}# #{m 37487}#)
- (if (and-map
- (lambda (#{x 37488}#)
- (if (if (symbol? #{x 37488}#)
- #t
- (if (if (vector? #{x 37488}#)
- (if (= (vector-length #{x 37488}#) 4)
- (eq? (vector-ref #{x 37488}# 0)
- 'syntax-object)
- #f)
- #f)
- (symbol? (vector-ref #{x 37488}# 1))
- #f))
- (not (if (if (if (vector? #{x 37488}#)
- (if (= (vector-length
- #{x 37488}#)
- 4)
- (eq? (vector-ref
- #{x 37488}#
- 0)
- 'syntax-object)
- #f)
+ (symbol? (vector-ref x-15101 1))
#f)
- (symbol? (vector-ref #{x 37488}# 1))
+ (free-id=?-4574
+ x-15101
+ '#(syntax-object
+ ...
+ ((top)
+ #(ribcage () () ())
+ #(ribcage () () ())
+ #(ribcage
+ #(x)
+ #((top))
+ #("l-*-2416"))
+ #(ribcage
+ (lambda-var-list
+ gen-var
+ strip
+ expand-lambda-case
+ lambda*-formals
+ expand-simple-lambda
+ lambda-formals
+ ellipsis?
+ expand-void
+ eval-local-transformer
+ expand-local-syntax
+ expand-body
+ expand-macro
+ expand-call
+ expand-expr
+ expand
+ syntax-type
+ parse-when-list
+ expand-install-global
+ expand-top-sequence
+ expand-sequence
+ source-wrap
+ wrap
+ bound-id-member?
+ distinct-bound-ids?
+ valid-bound-ids?
+ bound-id=?
+ free-id=?
+
with-transformer-environment
+ transformer-environment
+ resolve-identifier
+ locally-bound-identifiers
+ id-var-name
+ same-marks?
+ join-marks
+ join-wraps
+ smart-append
+ make-binding-wrap
+ extend-ribcage!
+ make-empty-ribcage
+ new-mark
+ anti-mark
+ the-anti-mark
+ top-marked?
+ top-wrap
+ empty-wrap
+ set-ribcage-labels!
+ set-ribcage-marks!
+ set-ribcage-symnames!
+ ribcage-labels
+ ribcage-marks
+ ribcage-symnames
+ ribcage?
+ make-ribcage
+ gen-labels
+ gen-label
+ make-rename
+ rename-marks
+ rename-new
+ rename-old
+ subst-rename?
+ wrap-subst
+ wrap-marks
+ make-wrap
+ id-sym-name&marks
+ id-sym-name
+ id?
+ nonsymbol-id?
+ global-extend
+ macros-only-env
+ extend-var-env
+ extend-env
+ null-env
+ binding-value
+ binding-type
+ make-binding
+ arg-check
+ source-annotation
+ no-source
+ set-syntax-object-module!
+ set-syntax-object-wrap!
+
set-syntax-object-expression!
+ syntax-object-module
+ syntax-object-wrap
+ syntax-object-expression
+ syntax-object?
+ make-syntax-object
+ build-lexical-var
+ build-letrec
+ build-named-let
+ build-let
+ build-sequence
+ build-data
+ build-primref
+ build-primcall
+ build-lambda-case
+ build-case-lambda
+ build-simple-lambda
+ build-global-definition
+ build-global-assignment
+ build-global-reference
+ analyze-variable
+ build-lexical-assignment
+ build-lexical-reference
+ build-dynlet
+ build-conditional
+ build-call
+ build-void
+ maybe-name-value!
+ decorate-source
+ get-global-definition-hook
+ put-global-definition-hook
+ session-id
+ local-eval-hook
+ top-level-eval-hook
+ fx<
+ fx=
+ fx-
+ fx+
+ set-lambda-meta!
+ lambda-meta
+ lambda?
+ make-dynlet
+ make-letrec
+ make-let
+ make-lambda-case
+ make-lambda
+ make-seq
+ make-primcall
+ make-call
+ make-conditional
+ make-toplevel-define
+ make-toplevel-set
+ make-toplevel-ref
+ make-module-set
+ make-module-ref
+ make-lexical-set
+ make-lexical-ref
+ make-primitive-ref
+ make-const
+ make-void)
+ ((top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top))
+ ("l-*-478"
+ "l-*-476"
+ "l-*-474"
+ "l-*-472"
+ "l-*-470"
+ "l-*-468"
+ "l-*-466"
+ "l-*-464"
+ "l-*-462"
+ "l-*-460"
+ "l-*-458"
+ "l-*-456"
+ "l-*-454"
+ "l-*-452"
+ "l-*-450"
+ "l-*-448"
+ "l-*-446"
+ "l-*-444"
+ "l-*-442"
+ "l-*-440"
+ "l-*-438"
+ "l-*-436"
+ "l-*-434"
+ "l-*-432"
+ "l-*-430"
+ "l-*-428"
+ "l-*-426"
+ "l-*-424"
+ "l-*-422"
+ "l-*-420"
+ "l-*-418"
+ "l-*-416"
+ "l-*-414"
+ "l-*-412"
+ "l-*-410"
+ "l-*-408"
+ "l-*-406"
+ "l-*-404"
+ "l-*-402"
+ "l-*-401"
+ "l-*-399"
+ "l-*-396"
+ "l-*-395"
+ "l-*-394"
+ "l-*-392"
+ "l-*-391"
+ "l-*-389"
+ "l-*-387"
+ "l-*-385"
+ "l-*-383"
+ "l-*-381"
+ "l-*-379"
+ "l-*-377"
+ "l-*-375"
+ "l-*-372"
+ "l-*-370"
+ "l-*-369"
+ "l-*-367"
+ "l-*-365"
+ "l-*-363"
+ "l-*-361"
+ "l-*-360"
+ "l-*-359"
+ "l-*-358"
+ "l-*-356"
+ "l-*-355"
+ "l-*-352"
+ "l-*-350"
+ "l-*-348"
+ "l-*-346"
+ "l-*-344"
+ "l-*-342"
+ "l-*-341"
+ "l-*-340"
+ "l-*-338"
+ "l-*-336"
+ "l-*-335"
+ "l-*-332"
+ "l-*-331"
+ "l-*-329"
+ "l-*-327"
+ "l-*-325"
+ "l-*-323"
+ "l-*-321"
+ "l-*-319"
+ "l-*-317"
+ "l-*-315"
+ "l-*-313"
+ "l-*-310"
+ "l-*-308"
+ "l-*-306"
+ "l-*-304"
+ "l-*-302"
+ "l-*-300"
+ "l-*-298"
+ "l-*-296"
+ "l-*-294"
+ "l-*-292"
+ "l-*-290"
+ "l-*-288"
+ "l-*-286"
+ "l-*-284"
+ "l-*-282"
+ "l-*-280"
+ "l-*-278"
+ "l-*-276"
+ "l-*-274"
+ "l-*-272"
+ "l-*-270"
+ "l-*-268"
+ "l-*-266"
+ "l-*-264"
+ "l-*-262"
+ "l-*-260"
+ "l-*-258"
+ "l-*-257"
+ "l-*-256"
+ "l-*-255"
+ "l-*-254"
+ "l-*-252"
+ "l-*-250"
+ "l-*-248"
+ "l-*-245"
+ "l-*-243"
+ "l-*-241"
+ "l-*-239"
+ "l-*-237"
+ "l-*-235"
+ "l-*-233"
+ "l-*-231"
+ "l-*-229"
+ "l-*-227"
+ "l-*-225"
+ "l-*-223"
+ "l-*-221"
+ "l-*-219"
+ "l-*-217"
+ "l-*-215"
+ "l-*-213"
+ "l-*-211"
+ "l-*-209"))
+ #(ribcage
+ (define-structure
+ define-expansion-accessors
+
define-expansion-constructors)
+ ((top) (top) (top))
+ ("l-*-47"
+ "l-*-46"
+ "l-*-45"))
+ #(ribcage () () ()))
+ (hygiene guile)))
+ #f))))
+ pvars-14988))
+ (syntax-violation
+ 'syntax-case
+ "misplaced ellipsis"
+ pat-14846)
+ (let ((y-15126
+ (gensym
+ (string-append (symbol->string 'tmp) "-"))))
+ (let ((fun-exp-15131
+ (let ((req-15140 (list 'tmp))
+ (vars-15142 (list y-15126))
+ (exp-15144
+ (let ((y-15173
+ (make-struct/no-tail
+ (vector-ref
+ %expanded-vtables
+ 3)
+ #f
+ 'tmp
+ y-15126)))
+ (let ((test-exp-15177
+ (let ((tmp-15186
+ ($sc-dispatch
+ fender-14847
+ '#(atom #t))))
+ (if tmp-15186
+ (@apply
+ (lambda () y-15173)
+ tmp-15186)
+ (let ((then-exp-15204
+
(build-dispatch-call-13637
+ pvars-14988
+ fender-14847
+ y-15173
+ r-14845
+ mod-14849))
+ (else-exp-15205
+
(make-struct/no-tail
+ (vector-ref
+
%expanded-vtables
+ 1)
+ #f
+ #f)))
+ (make-struct/no-tail
+ (vector-ref
+ %expanded-vtables
+ 10)
+ #f
+ y-15173
+ then-exp-15204
+ else-exp-15205)))))
+ (then-exp-15178
+ (build-dispatch-call-13637
+ pvars-14988
+ exp-14848
+ y-15173
+ r-14845
+ mod-14849))
+ (else-exp-15179
+ (gen-syntax-case-13639
+ x-14842
+ keys-14843
+ clauses-14844
+ r-14845
+ mod-14849)))
+ (make-struct/no-tail
+ (vector-ref
+ %expanded-vtables
+ 10)
+ #f
+ test-exp-15177
+ then-exp-15178
+ else-exp-15179)))))
+ (let ((body-15149
+ (make-struct/no-tail
+ (vector-ref %expanded-vtables 15)
+ #f
+ req-15140
+ #f
+ #f
+ #f
+ '()
+ vars-15142
+ exp-15144
+ #f)))
+ (make-struct/no-tail
+ (vector-ref %expanded-vtables 14)
+ #f
+ '()
+ body-15149))))
+ (arg-exps-15132
+ (list (if (eq? p-14987 'any)
+ (let ((args-15237 (list x-14842)))
+ (make-struct/no-tail
+ (vector-ref %expanded-vtables 12)
+ #f
+ 'list
+ args-15237))
+ (let ((args-15246
+ (list x-14842
+ (make-struct/no-tail
+ (vector-ref
+ %expanded-vtables
+ 1)
+ #f
+ p-14987))))
+ (make-struct/no-tail
+ (vector-ref %expanded-vtables 12)
+ #f
+ '$sc-dispatch
+ args-15246))))))
+ (make-struct/no-tail
+ (vector-ref %expanded-vtables 11)
+ #f
+ fun-exp-15131
+ arg-exps-15132)))))))))
+ (gen-syntax-case-13639
+ (lambda (x-14343
+ keys-14344
+ clauses-14345
+ r-14346
+ mod-14347)
+ (if (null? clauses-14345)
+ (let ((args-14353
+ (list (make-struct/no-tail
+ (vector-ref %expanded-vtables 1)
+ #f
+ #f)
+ (make-struct/no-tail
+ (vector-ref %expanded-vtables 1)
+ #f
+ "source expression failed to match any
pattern")
+ x-14343)))
+ (make-struct/no-tail
+ (vector-ref %expanded-vtables 12)
+ #f
+ 'syntax-violation
+ args-14353))
+ (let ((tmp-14372 (car clauses-14345)))
+ (let ((tmp-14373 ($sc-dispatch tmp-14372 '(any any))))
+ (if tmp-14373
+ (@apply
+ (lambda (pat-14375 exp-14376)
+ (if (if (if (symbol? pat-14375)
+ #t
+ (if (if (vector? pat-14375)
+ (if (= (vector-length pat-14375) 4)
+ (eq? (vector-ref pat-14375 0)
+ 'syntax-object)
+ #f)
#f)
- (#{free-id=? 28259}#
- #{x 37488}#
- '#(syntax-object
+ (symbol? (vector-ref pat-14375 1))
+ #f))
+ (and-map
+ (lambda (x-14403)
+ (not (free-id=?-4574 pat-14375 x-14403)))
+ (cons '#(syntax-object
...
((top)
- #(ribcage () () ())
+ #(ribcage
+ #(pat exp)
+ #((top) (top))
+ #("l-*-4087" "l-*-4088"))
#(ribcage () () ())
#(ribcage
- #(x)
- #((top))
- #("i26166"))
+ #(x keys clauses r mod)
+ #((top) (top) (top) (top) (top))
+ #("l-*-4077"
+ "l-*-4078"
+ "l-*-4079"
+ "l-*-4080"
+ "l-*-4081"))
+ #(ribcage
+ (gen-syntax-case
+ gen-clause
+ build-dispatch-call
+ convert-pattern)
+ ((top) (top) (top) (top))
+ ("l-*-3890"
+ "l-*-3888"
+ "l-*-3886"
+ "l-*-3884"))
#(ribcage
(lambda-var-list
gen-var
@@ -16598,7 +15090,10 @@
valid-bound-ids?
bound-id=?
free-id=?
+ with-transformer-environment
+ transformer-environment
resolve-identifier
+ locally-bound-identifiers
id-var-name
same-marks?
join-marks
@@ -16679,7 +15174,7 @@
decorate-source
get-global-definition-hook
put-global-definition-hook
- gensym-hook
+ session-id
local-eval-hook
top-level-eval-hook
fx<
@@ -16845,962 +15340,2540 @@
(top)
(top)
(top)
+ (top)
+ (top)
+ (top)
(top))
- ("i24298"
- "i24296"
- "i24294"
- "i24292"
- "i24290"
- "i24288"
- "i24286"
- "i24284"
- "i24282"
- "i24280"
- "i24278"
- "i24276"
- "i24274"
- "i24272"
- "i24270"
- "i24268"
- "i24266"
- "i24264"
- "i24262"
- "i24260"
- "i24258"
- "i24256"
- "i24254"
- "i24252"
- "i24250"
- "i24248"
- "i24246"
- "i24244"
- "i24242"
- "i24240"
- "i24238"
- "i24236"
- "i24234"
- "i24232"
- "i24230"
- "i24228"
- "i24227"
- "i24225"
- "i24222"
- "i24221"
- "i24220"
- "i24218"
- "i24217"
- "i24215"
- "i24213"
- "i24211"
- "i24209"
- "i24207"
- "i24205"
- "i24203"
- "i24201"
- "i24198"
- "i24196"
- "i24195"
- "i24193"
- "i24191"
- "i24189"
- "i24187"
- "i24186"
- "i24185"
- "i24184"
- "i24182"
- "i24181"
- "i24178"
- "i24176"
- "i24174"
- "i24172"
- "i24170"
- "i24168"
- "i24167"
- "i24166"
- "i24164"
- "i24162"
- "i24161"
- "i24158"
- "i24157"
- "i24155"
- "i24153"
- "i24151"
- "i24149"
- "i24147"
- "i24145"
- "i24143"
- "i24141"
- "i24139"
- "i24136"
- "i24134"
- "i24132"
- "i24130"
- "i24128"
- "i24126"
- "i24124"
- "i24122"
- "i24120"
- "i24118"
- "i24116"
- "i24114"
- "i24112"
- "i24110"
- "i24108"
- "i24106"
- "i24104"
- "i24102"
- "i24100"
- "i24098"
- "i24096"
- "i24094"
- "i24092"
- "i24090"
- "i24089"
- "i24086"
- "i24084"
- "i24083"
- "i24082"
- "i24081"
- "i24080"
- "i24078"
- "i24076"
- "i24074"
- "i24071"
- "i24069"
- "i24067"
- "i24065"
- "i24063"
- "i24061"
- "i24059"
- "i24057"
- "i24055"
- "i24053"
- "i24051"
- "i24049"
- "i24047"
- "i24045"
- "i24043"
- "i24041"
- "i24039"
- "i24037"
- "i24035"))
+ ("l-*-478"
+ "l-*-476"
+ "l-*-474"
+ "l-*-472"
+ "l-*-470"
+ "l-*-468"
+ "l-*-466"
+ "l-*-464"
+ "l-*-462"
+ "l-*-460"
+ "l-*-458"
+ "l-*-456"
+ "l-*-454"
+ "l-*-452"
+ "l-*-450"
+ "l-*-448"
+ "l-*-446"
+ "l-*-444"
+ "l-*-442"
+ "l-*-440"
+ "l-*-438"
+ "l-*-436"
+ "l-*-434"
+ "l-*-432"
+ "l-*-430"
+ "l-*-428"
+ "l-*-426"
+ "l-*-424"
+ "l-*-422"
+ "l-*-420"
+ "l-*-418"
+ "l-*-416"
+ "l-*-414"
+ "l-*-412"
+ "l-*-410"
+ "l-*-408"
+ "l-*-406"
+ "l-*-404"
+ "l-*-402"
+ "l-*-401"
+ "l-*-399"
+ "l-*-396"
+ "l-*-395"
+ "l-*-394"
+ "l-*-392"
+ "l-*-391"
+ "l-*-389"
+ "l-*-387"
+ "l-*-385"
+ "l-*-383"
+ "l-*-381"
+ "l-*-379"
+ "l-*-377"
+ "l-*-375"
+ "l-*-372"
+ "l-*-370"
+ "l-*-369"
+ "l-*-367"
+ "l-*-365"
+ "l-*-363"
+ "l-*-361"
+ "l-*-360"
+ "l-*-359"
+ "l-*-358"
+ "l-*-356"
+ "l-*-355"
+ "l-*-352"
+ "l-*-350"
+ "l-*-348"
+ "l-*-346"
+ "l-*-344"
+ "l-*-342"
+ "l-*-341"
+ "l-*-340"
+ "l-*-338"
+ "l-*-336"
+ "l-*-335"
+ "l-*-332"
+ "l-*-331"
+ "l-*-329"
+ "l-*-327"
+ "l-*-325"
+ "l-*-323"
+ "l-*-321"
+ "l-*-319"
+ "l-*-317"
+ "l-*-315"
+ "l-*-313"
+ "l-*-310"
+ "l-*-308"
+ "l-*-306"
+ "l-*-304"
+ "l-*-302"
+ "l-*-300"
+ "l-*-298"
+ "l-*-296"
+ "l-*-294"
+ "l-*-292"
+ "l-*-290"
+ "l-*-288"
+ "l-*-286"
+ "l-*-284"
+ "l-*-282"
+ "l-*-280"
+ "l-*-278"
+ "l-*-276"
+ "l-*-274"
+ "l-*-272"
+ "l-*-270"
+ "l-*-268"
+ "l-*-266"
+ "l-*-264"
+ "l-*-262"
+ "l-*-260"
+ "l-*-258"
+ "l-*-257"
+ "l-*-256"
+ "l-*-255"
+ "l-*-254"
+ "l-*-252"
+ "l-*-250"
+ "l-*-248"
+ "l-*-245"
+ "l-*-243"
+ "l-*-241"
+ "l-*-239"
+ "l-*-237"
+ "l-*-235"
+ "l-*-233"
+ "l-*-231"
+ "l-*-229"
+ "l-*-227"
+ "l-*-225"
+ "l-*-223"
+ "l-*-221"
+ "l-*-219"
+ "l-*-217"
+ "l-*-215"
+ "l-*-213"
+ "l-*-211"
+ "l-*-209"))
#(ribcage
(define-structure
define-expansion-accessors
define-expansion-constructors)
((top) (top) (top))
- ("i23873" "i23872" "i23871"))
+ ("l-*-47" "l-*-46" "l-*-45"))
#(ribcage () () ()))
- (hygiene guile)))
- #f))
- #f))
- #{key 37486}#)
- (let ((#{x 37553}#
- (gensym
- (string-append (symbol->string 'tmp) " "))))
- (#{build-call 28205}#
- #{s 37433}#
- (let ((#{req 37691}# (list 'tmp))
- (#{vars 37693}# (list #{x 37553}#))
- (#{exp 37695}#
- (#{gen-syntax-case 37429}#
- (make-struct/no-tail
- (vector-ref %expanded-vtables 3)
- #f
- 'tmp
- #{x 37553}#)
- #{key 37486}#
- #{m 37487}#
- #{r 37431}#
- #{mod 37434}#)))
- (let ((#{body 37700}#
- (make-struct/no-tail
- (vector-ref %expanded-vtables 15)
- #f
- #{req 37691}#
- #f
- #f
- #f
- '()
- #{vars 37693}#
- #{exp 37695}#
- #f)))
- (make-struct/no-tail
- (vector-ref %expanded-vtables 14)
- #f
- '()
- #{body 37700}#)))
- (list (#{expand 28271}#
- #{val 37485}#
- #{r 37431}#
- '(())
- #{mod 37434}#))))
- (syntax-violation
- 'syntax-case
- "invalid literals list"
- #{e 37435}#)))
- #{tmp 37437}#)
- (syntax-violation
- #f
- "source expression failed to match any pattern"
- #{tmp 37436}#))))))))
- (set! macroexpand
- (lambda*
- (#{x 40406}#
- #:optional
- (#{m 40407}# 'e)
- (#{esew 40408}# '(eval)))
- (#{expand-top-sequence 28267}#
- (list #{x 40406}#)
- '()
- '((top))
- #f
- #{m 40407}#
- #{esew 40408}#
- (cons 'hygiene (module-name (current-module))))))
- (set! identifier?
- (lambda (#{x 40411}#)
- (if (if (vector? #{x 40411}#)
- (if (= (vector-length #{x 40411}#) 4)
- (eq? (vector-ref #{x 40411}# 0) 'syntax-object)
+ (hygiene guile))
+ keys-14344))
+ #f)
+ (if (free-id=?-4574
+ '#(syntax-object
+ pad
+ ((top)
+ #(ribcage
+ #(pat exp)
+ #((top) (top))
+ #("l-*-4087" "l-*-4088"))
+ #(ribcage () () ())
+ #(ribcage
+ #(x keys clauses r mod)
+ #((top) (top) (top) (top) (top))
+ #("l-*-4077"
+ "l-*-4078"
+ "l-*-4079"
+ "l-*-4080"
+ "l-*-4081"))
+ #(ribcage
+ (gen-syntax-case
+ gen-clause
+ build-dispatch-call
+ convert-pattern)
+ ((top) (top) (top) (top))
+ ("l-*-3890"
+ "l-*-3888"
+ "l-*-3886"
+ "l-*-3884"))
+ #(ribcage
+ (lambda-var-list
+ gen-var
+ strip
+ expand-lambda-case
+ lambda*-formals
+ expand-simple-lambda
+ lambda-formals
+ ellipsis?
+ expand-void
+ eval-local-transformer
+ expand-local-syntax
+ expand-body
+ expand-macro
+ expand-call
+ expand-expr
+ expand
+ syntax-type
+ parse-when-list
+ expand-install-global
+ expand-top-sequence
+ expand-sequence
+ source-wrap
+ wrap
+ bound-id-member?
+ distinct-bound-ids?
+ valid-bound-ids?
+ bound-id=?
+ free-id=?
+ with-transformer-environment
+ transformer-environment
+ resolve-identifier
+ locally-bound-identifiers
+ id-var-name
+ same-marks?
+ join-marks
+ join-wraps
+ smart-append
+ make-binding-wrap
+ extend-ribcage!
+ make-empty-ribcage
+ new-mark
+ anti-mark
+ the-anti-mark
+ top-marked?
+ top-wrap
+ empty-wrap
+ set-ribcage-labels!
+ set-ribcage-marks!
+ set-ribcage-symnames!
+ ribcage-labels
+ ribcage-marks
+ ribcage-symnames
+ ribcage?
+ make-ribcage
+ gen-labels
+ gen-label
+ make-rename
+ rename-marks
+ rename-new
+ rename-old
+ subst-rename?
+ wrap-subst
+ wrap-marks
+ make-wrap
+ id-sym-name&marks
+ id-sym-name
+ id?
+ nonsymbol-id?
+ global-extend
+ macros-only-env
+ extend-var-env
+ extend-env
+ null-env
+ binding-value
+ binding-type
+ make-binding
+ arg-check
+ source-annotation
+ no-source
+ set-syntax-object-module!
+ set-syntax-object-wrap!
+ set-syntax-object-expression!
+ syntax-object-module
+ syntax-object-wrap
+ syntax-object-expression
+ syntax-object?
+ make-syntax-object
+ build-lexical-var
+ build-letrec
+ build-named-let
+ build-let
+ build-sequence
+ build-data
+ build-primref
+ build-primcall
+ build-lambda-case
+ build-case-lambda
+ build-simple-lambda
+ build-global-definition
+ build-global-assignment
+ build-global-reference
+ analyze-variable
+ build-lexical-assignment
+ build-lexical-reference
+ build-dynlet
+ build-conditional
+ build-call
+ build-void
+ maybe-name-value!
+ decorate-source
+ get-global-definition-hook
+ put-global-definition-hook
+ session-id
+ local-eval-hook
+ top-level-eval-hook
+ fx<
+ fx=
+ fx-
+ fx+
+ set-lambda-meta!
+ lambda-meta
+ lambda?
+ make-dynlet
+ make-letrec
+ make-let
+ make-lambda-case
+ make-lambda
+ make-seq
+ make-primcall
+ make-call
+ make-conditional
+ make-toplevel-define
+ make-toplevel-set
+ make-toplevel-ref
+ make-module-set
+ make-module-ref
+ make-lexical-set
+ make-lexical-ref
+ make-primitive-ref
+ make-const
+ make-void)
+ ((top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top))
+ ("l-*-478"
+ "l-*-476"
+ "l-*-474"
+ "l-*-472"
+ "l-*-470"
+ "l-*-468"
+ "l-*-466"
+ "l-*-464"
+ "l-*-462"
+ "l-*-460"
+ "l-*-458"
+ "l-*-456"
+ "l-*-454"
+ "l-*-452"
+ "l-*-450"
+ "l-*-448"
+ "l-*-446"
+ "l-*-444"
+ "l-*-442"
+ "l-*-440"
+ "l-*-438"
+ "l-*-436"
+ "l-*-434"
+ "l-*-432"
+ "l-*-430"
+ "l-*-428"
+ "l-*-426"
+ "l-*-424"
+ "l-*-422"
+ "l-*-420"
+ "l-*-418"
+ "l-*-416"
+ "l-*-414"
+ "l-*-412"
+ "l-*-410"
+ "l-*-408"
+ "l-*-406"
+ "l-*-404"
+ "l-*-402"
+ "l-*-401"
+ "l-*-399"
+ "l-*-396"
+ "l-*-395"
+ "l-*-394"
+ "l-*-392"
+ "l-*-391"
+ "l-*-389"
+ "l-*-387"
+ "l-*-385"
+ "l-*-383"
+ "l-*-381"
+ "l-*-379"
+ "l-*-377"
+ "l-*-375"
+ "l-*-372"
+ "l-*-370"
+ "l-*-369"
+ "l-*-367"
+ "l-*-365"
+ "l-*-363"
+ "l-*-361"
+ "l-*-360"
+ "l-*-359"
+ "l-*-358"
+ "l-*-356"
+ "l-*-355"
+ "l-*-352"
+ "l-*-350"
+ "l-*-348"
+ "l-*-346"
+ "l-*-344"
+ "l-*-342"
+ "l-*-341"
+ "l-*-340"
+ "l-*-338"
+ "l-*-336"
+ "l-*-335"
+ "l-*-332"
+ "l-*-331"
+ "l-*-329"
+ "l-*-327"
+ "l-*-325"
+ "l-*-323"
+ "l-*-321"
+ "l-*-319"
+ "l-*-317"
+ "l-*-315"
+ "l-*-313"
+ "l-*-310"
+ "l-*-308"
+ "l-*-306"
+ "l-*-304"
+ "l-*-302"
+ "l-*-300"
+ "l-*-298"
+ "l-*-296"
+ "l-*-294"
+ "l-*-292"
+ "l-*-290"
+ "l-*-288"
+ "l-*-286"
+ "l-*-284"
+ "l-*-282"
+ "l-*-280"
+ "l-*-278"
+ "l-*-276"
+ "l-*-274"
+ "l-*-272"
+ "l-*-270"
+ "l-*-268"
+ "l-*-266"
+ "l-*-264"
+ "l-*-262"
+ "l-*-260"
+ "l-*-258"
+ "l-*-257"
+ "l-*-256"
+ "l-*-255"
+ "l-*-254"
+ "l-*-252"
+ "l-*-250"
+ "l-*-248"
+ "l-*-245"
+ "l-*-243"
+ "l-*-241"
+ "l-*-239"
+ "l-*-237"
+ "l-*-235"
+ "l-*-233"
+ "l-*-231"
+ "l-*-229"
+ "l-*-227"
+ "l-*-225"
+ "l-*-223"
+ "l-*-221"
+ "l-*-219"
+ "l-*-217"
+ "l-*-215"
+ "l-*-213"
+ "l-*-211"
+ "l-*-209"))
+ #(ribcage
+ (define-structure
+ define-expansion-accessors
+ define-expansion-constructors)
+ ((top) (top) (top))
+ ("l-*-47" "l-*-46" "l-*-45"))
+ #(ribcage () () ()))
+ (hygiene guile))
+ '#(syntax-object
+ _
+ ((top)
+ #(ribcage
+ #(pat exp)
+ #((top) (top))
+ #("l-*-4087" "l-*-4088"))
+ #(ribcage () () ())
+ #(ribcage
+ #(x keys clauses r mod)
+ #((top) (top) (top) (top) (top))
+ #("l-*-4077"
+ "l-*-4078"
+ "l-*-4079"
+ "l-*-4080"
+ "l-*-4081"))
+ #(ribcage
+ (gen-syntax-case
+ gen-clause
+ build-dispatch-call
+ convert-pattern)
+ ((top) (top) (top) (top))
+ ("l-*-3890"
+ "l-*-3888"
+ "l-*-3886"
+ "l-*-3884"))
+ #(ribcage
+ (lambda-var-list
+ gen-var
+ strip
+ expand-lambda-case
+ lambda*-formals
+ expand-simple-lambda
+ lambda-formals
+ ellipsis?
+ expand-void
+ eval-local-transformer
+ expand-local-syntax
+ expand-body
+ expand-macro
+ expand-call
+ expand-expr
+ expand
+ syntax-type
+ parse-when-list
+ expand-install-global
+ expand-top-sequence
+ expand-sequence
+ source-wrap
+ wrap
+ bound-id-member?
+ distinct-bound-ids?
+ valid-bound-ids?
+ bound-id=?
+ free-id=?
+ with-transformer-environment
+ transformer-environment
+ resolve-identifier
+ locally-bound-identifiers
+ id-var-name
+ same-marks?
+ join-marks
+ join-wraps
+ smart-append
+ make-binding-wrap
+ extend-ribcage!
+ make-empty-ribcage
+ new-mark
+ anti-mark
+ the-anti-mark
+ top-marked?
+ top-wrap
+ empty-wrap
+ set-ribcage-labels!
+ set-ribcage-marks!
+ set-ribcage-symnames!
+ ribcage-labels
+ ribcage-marks
+ ribcage-symnames
+ ribcage?
+ make-ribcage
+ gen-labels
+ gen-label
+ make-rename
+ rename-marks
+ rename-new
+ rename-old
+ subst-rename?
+ wrap-subst
+ wrap-marks
+ make-wrap
+ id-sym-name&marks
+ id-sym-name
+ id?
+ nonsymbol-id?
+ global-extend
+ macros-only-env
+ extend-var-env
+ extend-env
+ null-env
+ binding-value
+ binding-type
+ make-binding
+ arg-check
+ source-annotation
+ no-source
+ set-syntax-object-module!
+ set-syntax-object-wrap!
+ set-syntax-object-expression!
+ syntax-object-module
+ syntax-object-wrap
+ syntax-object-expression
+ syntax-object?
+ make-syntax-object
+ build-lexical-var
+ build-letrec
+ build-named-let
+ build-let
+ build-sequence
+ build-data
+ build-primref
+ build-primcall
+ build-lambda-case
+ build-case-lambda
+ build-simple-lambda
+ build-global-definition
+ build-global-assignment
+ build-global-reference
+ analyze-variable
+ build-lexical-assignment
+ build-lexical-reference
+ build-dynlet
+ build-conditional
+ build-call
+ build-void
+ maybe-name-value!
+ decorate-source
+ get-global-definition-hook
+ put-global-definition-hook
+ session-id
+ local-eval-hook
+ top-level-eval-hook
+ fx<
+ fx=
+ fx-
+ fx+
+ set-lambda-meta!
+ lambda-meta
+ lambda?
+ make-dynlet
+ make-letrec
+ make-let
+ make-lambda-case
+ make-lambda
+ make-seq
+ make-primcall
+ make-call
+ make-conditional
+ make-toplevel-define
+ make-toplevel-set
+ make-toplevel-ref
+ make-module-set
+ make-module-ref
+ make-lexical-set
+ make-lexical-ref
+ make-primitive-ref
+ make-const
+ make-void)
+ ((top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top))
+ ("l-*-478"
+ "l-*-476"
+ "l-*-474"
+ "l-*-472"
+ "l-*-470"
+ "l-*-468"
+ "l-*-466"
+ "l-*-464"
+ "l-*-462"
+ "l-*-460"
+ "l-*-458"
+ "l-*-456"
+ "l-*-454"
+ "l-*-452"
+ "l-*-450"
+ "l-*-448"
+ "l-*-446"
+ "l-*-444"
+ "l-*-442"
+ "l-*-440"
+ "l-*-438"
+ "l-*-436"
+ "l-*-434"
+ "l-*-432"
+ "l-*-430"
+ "l-*-428"
+ "l-*-426"
+ "l-*-424"
+ "l-*-422"
+ "l-*-420"
+ "l-*-418"
+ "l-*-416"
+ "l-*-414"
+ "l-*-412"
+ "l-*-410"
+ "l-*-408"
+ "l-*-406"
+ "l-*-404"
+ "l-*-402"
+ "l-*-401"
+ "l-*-399"
+ "l-*-396"
+ "l-*-395"
+ "l-*-394"
+ "l-*-392"
+ "l-*-391"
+ "l-*-389"
+ "l-*-387"
+ "l-*-385"
+ "l-*-383"
+ "l-*-381"
+ "l-*-379"
+ "l-*-377"
+ "l-*-375"
+ "l-*-372"
+ "l-*-370"
+ "l-*-369"
+ "l-*-367"
+ "l-*-365"
+ "l-*-363"
+ "l-*-361"
+ "l-*-360"
+ "l-*-359"
+ "l-*-358"
+ "l-*-356"
+ "l-*-355"
+ "l-*-352"
+ "l-*-350"
+ "l-*-348"
+ "l-*-346"
+ "l-*-344"
+ "l-*-342"
+ "l-*-341"
+ "l-*-340"
+ "l-*-338"
+ "l-*-336"
+ "l-*-335"
+ "l-*-332"
+ "l-*-331"
+ "l-*-329"
+ "l-*-327"
+ "l-*-325"
+ "l-*-323"
+ "l-*-321"
+ "l-*-319"
+ "l-*-317"
+ "l-*-315"
+ "l-*-313"
+ "l-*-310"
+ "l-*-308"
+ "l-*-306"
+ "l-*-304"
+ "l-*-302"
+ "l-*-300"
+ "l-*-298"
+ "l-*-296"
+ "l-*-294"
+ "l-*-292"
+ "l-*-290"
+ "l-*-288"
+ "l-*-286"
+ "l-*-284"
+ "l-*-282"
+ "l-*-280"
+ "l-*-278"
+ "l-*-276"
+ "l-*-274"
+ "l-*-272"
+ "l-*-270"
+ "l-*-268"
+ "l-*-266"
+ "l-*-264"
+ "l-*-262"
+ "l-*-260"
+ "l-*-258"
+ "l-*-257"
+ "l-*-256"
+ "l-*-255"
+ "l-*-254"
+ "l-*-252"
+ "l-*-250"
+ "l-*-248"
+ "l-*-245"
+ "l-*-243"
+ "l-*-241"
+ "l-*-239"
+ "l-*-237"
+ "l-*-235"
+ "l-*-233"
+ "l-*-231"
+ "l-*-229"
+ "l-*-227"
+ "l-*-225"
+ "l-*-223"
+ "l-*-221"
+ "l-*-219"
+ "l-*-217"
+ "l-*-215"
+ "l-*-213"
+ "l-*-211"
+ "l-*-209"))
+ #(ribcage
+ (define-structure
+ define-expansion-accessors
+ define-expansion-constructors)
+ ((top) (top) (top))
+ ("l-*-47" "l-*-46" "l-*-45"))
+ #(ribcage () () ()))
+ (hygiene guile)))
+ (expand-4586 exp-14376 r-14346 '(()) mod-14347)
+ (let ((labels-14485
+ (list (string-append
+ "l-"
+ (session-id-4511)
+ (symbol->string (gensym "-")))))
+ (var-14486
+ (let ((id-14524
+ (if (if (vector? pat-14375)
+ (if (= (vector-length
+ pat-14375)
+ 4)
+ (eq? (vector-ref
+ pat-14375
+ 0)
+ 'syntax-object)
+ #f)
+ #f)
+ (vector-ref pat-14375 1)
+ pat-14375)))
+ (gensym
+ (string-append
+ (symbol->string id-14524)
+ "-")))))
+ (build-call-4517
+ #f
+ (build-simple-lambda-4526
+ #f
+ (list (syntax->datum pat-14375))
+ #f
+ (list var-14486)
+ '()
+ (expand-4586
+ exp-14376
+ (extend-env-4545
+ labels-14485
+ (list (cons 'syntax
+ (cons var-14486 0)))
+ r-14346)
+ (make-binding-wrap-4564
+ (list pat-14375)
+ labels-14485
+ '(()))
+ mod-14347))
+ (list x-14343))))
+ (gen-clause-13638
+ x-14343
+ keys-14344
+ (cdr clauses-14345)
+ r-14346
+ pat-14375
+ #t
+ exp-14376
+ mod-14347)))
+ tmp-14373)
+ (let ((tmp-14834
+ ($sc-dispatch tmp-14372 '(any any any))))
+ (if tmp-14834
+ (@apply
+ (lambda (pat-14836 fender-14837 exp-14838)
+ (gen-clause-13638
+ x-14343
+ keys-14344
+ (cdr clauses-14345)
+ r-14346
+ pat-14836
+ fender-14837
+ exp-14838
+ mod-14347))
+ tmp-14834)
+ (syntax-violation
+ 'syntax-case
+ "invalid clause"
+ (car clauses-14345)))))))))))
+ (lambda (e-13640 r-13641 w-13642 s-13643 mod-13644)
+ (let ((e-13645
+ (let ((x-14254
+ (begin
+ (if (if (pair? e-13640) s-13643 #f)
+ (set-source-properties! e-13640 s-13643))
+ e-13640)))
+ (if (if (null? (car w-13642))
+ (null? (cdr w-13642))
+ #f)
+ x-14254
+ (if (if (vector? x-14254)
+ (if (= (vector-length x-14254) 4)
+ (eq? (vector-ref x-14254 0) 'syntax-object)
+ #f)
+ #f)
+ (let ((expression-14286 (vector-ref x-14254 1))
+ (wrap-14287
+ (let ((w2-14295 (vector-ref x-14254 2)))
+ (let ((m1-14296 (car w-13642))
+ (s1-14297 (cdr w-13642)))
+ (if (null? m1-14296)
+ (if (null? s1-14297)
+ w2-14295
+ (cons (car w2-14295)
+ (let ((m2-14312
+ (cdr w2-14295)))
+ (if (null? m2-14312)
+ s1-14297
+ (append
+ s1-14297
+ m2-14312)))))
+ (cons (let ((m2-14320 (car w2-14295)))
+ (if (null? m2-14320)
+ m1-14296
+ (append m1-14296 m2-14320)))
+ (let ((m2-14328 (cdr w2-14295)))
+ (if (null? m2-14328)
+ s1-14297
+ (append
+ s1-14297
+ m2-14328))))))))
+ (module-14288 (vector-ref x-14254 3)))
+ (vector
+ 'syntax-object
+ expression-14286
+ wrap-14287
+ module-14288))
+ (if (null? x-14254)
+ x-14254
+ (vector
+ 'syntax-object
+ x-14254
+ w-13642
+ mod-13644)))))))
+ (let ((tmp-13646 e-13645))
+ (let ((tmp-13647
+ ($sc-dispatch
+ tmp-13646
+ '(_ any each-any . each-any))))
+ (if tmp-13647
+ (@apply
+ (lambda (val-13695 key-13696 m-13697)
+ (if (and-map
+ (lambda (x-13698)
+ (if (if (symbol? x-13698)
+ #t
+ (if (if (vector? x-13698)
+ (if (= (vector-length x-13698) 4)
+ (eq? (vector-ref x-13698 0)
+ 'syntax-object)
+ #f)
+ #f)
+ (symbol? (vector-ref x-13698 1))
+ #f))
+ (not (if (if (if (vector? x-13698)
+ (if (= (vector-length x-13698)
+ 4)
+ (eq? (vector-ref x-13698 0)
+ 'syntax-object)
+ #f)
+ #f)
+ (symbol? (vector-ref x-13698 1))
+ #f)
+ (free-id=?-4574
+ x-13698
+ '#(syntax-object
+ ...
+ ((top)
+ #(ribcage () () ())
+ #(ribcage () () ())
+ #(ribcage
+ #(x)
+ #((top))
+ #("l-*-2416"))
+ #(ribcage
+ (lambda-var-list
+ gen-var
+ strip
+ expand-lambda-case
+ lambda*-formals
+ expand-simple-lambda
+ lambda-formals
+ ellipsis?
+ expand-void
+ eval-local-transformer
+ expand-local-syntax
+ expand-body
+ expand-macro
+ expand-call
+ expand-expr
+ expand
+ syntax-type
+ parse-when-list
+ expand-install-global
+ expand-top-sequence
+ expand-sequence
+ source-wrap
+ wrap
+ bound-id-member?
+ distinct-bound-ids?
+ valid-bound-ids?
+ bound-id=?
+ free-id=?
+ with-transformer-environment
+ transformer-environment
+ resolve-identifier
+ locally-bound-identifiers
+ id-var-name
+ same-marks?
+ join-marks
+ join-wraps
+ smart-append
+ make-binding-wrap
+ extend-ribcage!
+ make-empty-ribcage
+ new-mark
+ anti-mark
+ the-anti-mark
+ top-marked?
+ top-wrap
+ empty-wrap
+ set-ribcage-labels!
+ set-ribcage-marks!
+ set-ribcage-symnames!
+ ribcage-labels
+ ribcage-marks
+ ribcage-symnames
+ ribcage?
+ make-ribcage
+ gen-labels
+ gen-label
+ make-rename
+ rename-marks
+ rename-new
+ rename-old
+ subst-rename?
+ wrap-subst
+ wrap-marks
+ make-wrap
+ id-sym-name&marks
+ id-sym-name
+ id?
+ nonsymbol-id?
+ global-extend
+ macros-only-env
+ extend-var-env
+ extend-env
+ null-env
+ binding-value
+ binding-type
+ make-binding
+ arg-check
+ source-annotation
+ no-source
+ set-syntax-object-module!
+ set-syntax-object-wrap!
+
set-syntax-object-expression!
+ syntax-object-module
+ syntax-object-wrap
+ syntax-object-expression
+ syntax-object?
+ make-syntax-object
+ build-lexical-var
+ build-letrec
+ build-named-let
+ build-let
+ build-sequence
+ build-data
+ build-primref
+ build-primcall
+ build-lambda-case
+ build-case-lambda
+ build-simple-lambda
+ build-global-definition
+ build-global-assignment
+ build-global-reference
+ analyze-variable
+ build-lexical-assignment
+ build-lexical-reference
+ build-dynlet
+ build-conditional
+ build-call
+ build-void
+ maybe-name-value!
+ decorate-source
+ get-global-definition-hook
+ put-global-definition-hook
+ session-id
+ local-eval-hook
+ top-level-eval-hook
+ fx<
+ fx=
+ fx-
+ fx+
+ set-lambda-meta!
+ lambda-meta
+ lambda?
+ make-dynlet
+ make-letrec
+ make-let
+ make-lambda-case
+ make-lambda
+ make-seq
+ make-primcall
+ make-call
+ make-conditional
+ make-toplevel-define
+ make-toplevel-set
+ make-toplevel-ref
+ make-module-set
+ make-module-ref
+ make-lexical-set
+ make-lexical-ref
+ make-primitive-ref
+ make-const
+ make-void)
+ ((top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top))
+ ("l-*-478"
+ "l-*-476"
+ "l-*-474"
+ "l-*-472"
+ "l-*-470"
+ "l-*-468"
+ "l-*-466"
+ "l-*-464"
+ "l-*-462"
+ "l-*-460"
+ "l-*-458"
+ "l-*-456"
+ "l-*-454"
+ "l-*-452"
+ "l-*-450"
+ "l-*-448"
+ "l-*-446"
+ "l-*-444"
+ "l-*-442"
+ "l-*-440"
+ "l-*-438"
+ "l-*-436"
+ "l-*-434"
+ "l-*-432"
+ "l-*-430"
+ "l-*-428"
+ "l-*-426"
+ "l-*-424"
+ "l-*-422"
+ "l-*-420"
+ "l-*-418"
+ "l-*-416"
+ "l-*-414"
+ "l-*-412"
+ "l-*-410"
+ "l-*-408"
+ "l-*-406"
+ "l-*-404"
+ "l-*-402"
+ "l-*-401"
+ "l-*-399"
+ "l-*-396"
+ "l-*-395"
+ "l-*-394"
+ "l-*-392"
+ "l-*-391"
+ "l-*-389"
+ "l-*-387"
+ "l-*-385"
+ "l-*-383"
+ "l-*-381"
+ "l-*-379"
+ "l-*-377"
+ "l-*-375"
+ "l-*-372"
+ "l-*-370"
+ "l-*-369"
+ "l-*-367"
+ "l-*-365"
+ "l-*-363"
+ "l-*-361"
+ "l-*-360"
+ "l-*-359"
+ "l-*-358"
+ "l-*-356"
+ "l-*-355"
+ "l-*-352"
+ "l-*-350"
+ "l-*-348"
+ "l-*-346"
+ "l-*-344"
+ "l-*-342"
+ "l-*-341"
+ "l-*-340"
+ "l-*-338"
+ "l-*-336"
+ "l-*-335"
+ "l-*-332"
+ "l-*-331"
+ "l-*-329"
+ "l-*-327"
+ "l-*-325"
+ "l-*-323"
+ "l-*-321"
+ "l-*-319"
+ "l-*-317"
+ "l-*-315"
+ "l-*-313"
+ "l-*-310"
+ "l-*-308"
+ "l-*-306"
+ "l-*-304"
+ "l-*-302"
+ "l-*-300"
+ "l-*-298"
+ "l-*-296"
+ "l-*-294"
+ "l-*-292"
+ "l-*-290"
+ "l-*-288"
+ "l-*-286"
+ "l-*-284"
+ "l-*-282"
+ "l-*-280"
+ "l-*-278"
+ "l-*-276"
+ "l-*-274"
+ "l-*-272"
+ "l-*-270"
+ "l-*-268"
+ "l-*-266"
+ "l-*-264"
+ "l-*-262"
+ "l-*-260"
+ "l-*-258"
+ "l-*-257"
+ "l-*-256"
+ "l-*-255"
+ "l-*-254"
+ "l-*-252"
+ "l-*-250"
+ "l-*-248"
+ "l-*-245"
+ "l-*-243"
+ "l-*-241"
+ "l-*-239"
+ "l-*-237"
+ "l-*-235"
+ "l-*-233"
+ "l-*-231"
+ "l-*-229"
+ "l-*-227"
+ "l-*-225"
+ "l-*-223"
+ "l-*-221"
+ "l-*-219"
+ "l-*-217"
+ "l-*-215"
+ "l-*-213"
+ "l-*-211"
+ "l-*-209"))
+ #(ribcage
+ (define-structure
+ define-expansion-accessors
+
define-expansion-constructors)
+ ((top) (top) (top))
+ ("l-*-47" "l-*-46" "l-*-45"))
+ #(ribcage () () ()))
+ (hygiene guile)))
+ #f))
+ #f))
+ key-13696)
+ (let ((x-13763
+ (gensym
+ (string-append
+ (symbol->string 'tmp)
+ "-"))))
+ (build-call-4517
+ s-13643
+ (let ((req-13901 (list 'tmp))
+ (vars-13903 (list x-13763))
+ (exp-13905
+ (gen-syntax-case-13639
+ (make-struct/no-tail
+ (vector-ref %expanded-vtables 3)
+ #f
+ 'tmp
+ x-13763)
+ key-13696
+ m-13697
+ r-13641
+ mod-13644)))
+ (let ((body-13910
+ (make-struct/no-tail
+ (vector-ref %expanded-vtables 15)
+ #f
+ req-13901
+ #f
+ #f
+ #f
+ '()
+ vars-13903
+ exp-13905
+ #f)))
+ (make-struct/no-tail
+ (vector-ref %expanded-vtables 14)
+ #f
+ '()
+ body-13910)))
+ (list (expand-4586
+ val-13695
+ r-13641
+ '(())
+ mod-13644))))
+ (syntax-violation
+ 'syntax-case
+ "invalid literals list"
+ e-13645)))
+ tmp-13647)
+ (syntax-violation
+ #f
+ "source expression failed to match any pattern"
+ tmp-13646))))))))
+ (set! macroexpand
+ (lambda*
+ (x-16590
+ #:optional
+ (m-16591 'e)
+ (esew-16592 '(eval)))
+ (expand-top-sequence-4582
+ (list x-16590)
+ '()
+ '((top))
+ #f
+ m-16591
+ esew-16592
+ (cons 'hygiene (module-name (current-module))))))
+ (set! identifier?
+ (lambda (x-16595)
+ (if (if (vector? x-16595)
+ (if (= (vector-length x-16595) 4)
+ (eq? (vector-ref x-16595 0) 'syntax-object)
+ #f)
#f)
- #f)
- (symbol? (vector-ref #{x 40411}# 1))
- #f)))
- (set! datum->syntax
- (lambda (#{id 40436}# #{datum 40437}#)
- (let ((#{wrap 40442}# (vector-ref #{id 40436}# 2))
- (#{module 40443}# (vector-ref #{id 40436}# 3)))
- (vector
- 'syntax-object
- #{datum 40437}#
- #{wrap 40442}#
- #{module 40443}#))))
- (set! syntax->datum
- (lambda (#{x 40450}#)
- (#{strip 28284}# #{x 40450}# '(()))))
- (set! syntax-source
- (lambda (#{x 40453}#)
- (#{source-annotation 28232}# #{x 40453}#)))
- (set! generate-temporaries
- (lambda (#{ls 40637}#)
- (begin
- (if (not (list? #{ls 40637}#))
- (syntax-violation
- 'generate-temporaries
- "invalid argument"
- #{ls 40637}#))
- (let ((#{mod 40645}#
- (cons 'hygiene (module-name (current-module)))))
- (map (lambda (#{x 40646}#)
- (let ((#{x 40650}# (gensym)))
- (if (if (vector? #{x 40650}#)
- (if (= (vector-length #{x 40650}#) 4)
- (eq? (vector-ref #{x 40650}# 0) 'syntax-object)
+ (symbol? (vector-ref x-16595 1))
+ #f)))
+ (set! datum->syntax
+ (lambda (id-16620 datum-16621)
+ (let ((wrap-16626 (vector-ref id-16620 2))
+ (module-16627 (vector-ref id-16620 3)))
+ (vector
+ 'syntax-object
+ datum-16621
+ wrap-16626
+ module-16627))))
+ (set! syntax->datum
+ (lambda (x-16634) (strip-4599 x-16634 '(()))))
+ (set! syntax-source
+ (lambda (x-16637)
+ (source-annotation-4544 x-16637)))
+ (set! generate-temporaries
+ (lambda (ls-16821)
+ (begin
+ (if (not (list? ls-16821))
+ (syntax-violation
+ 'generate-temporaries
+ "invalid argument"
+ ls-16821))
+ (let ((mod-16829
+ (cons 'hygiene (module-name (current-module)))))
+ (map (lambda (x-16830)
+ (let ((x-16834 (gensym "t-")))
+ (if (if (vector? x-16834)
+ (if (= (vector-length x-16834) 4)
+ (eq? (vector-ref x-16834 0) 'syntax-object)
+ #f)
+ #f)
+ (let ((expression-16849 (vector-ref x-16834 1))
+ (wrap-16850
+ (let ((w2-16858 (vector-ref x-16834 2)))
+ (cons (let ((m2-16865 (car w2-16858)))
+ (if (null? m2-16865)
+ '(top)
+ (append '(top) m2-16865)))
+ (let ((m2-16872 (cdr w2-16858)))
+ (if (null? m2-16872)
+ '()
+ (append '() m2-16872))))))
+ (module-16851 (vector-ref x-16834 3)))
+ (vector
+ 'syntax-object
+ expression-16849
+ wrap-16850
+ module-16851))
+ (if (null? x-16834)
+ x-16834
+ (vector
+ 'syntax-object
+ x-16834
+ '((top))
+ mod-16829)))))
+ ls-16821)))))
+ (set! free-identifier=?
+ (lambda (x-16881 y-16882)
+ (begin
+ (if (not (if (if (vector? x-16881)
+ (if (= (vector-length x-16881) 4)
+ (eq? (vector-ref x-16881 0) 'syntax-object)
#f)
#f)
- (let ((#{expression 40665}# (vector-ref #{x 40650}# 1))
- (#{wrap 40666}#
- (let ((#{w2 40674}# (vector-ref #{x 40650}# 2)))
- (cons (let ((#{m2 40681}# (car #{w2 40674}#)))
- (if (null? #{m2 40681}#)
- '(top)
- (append '(top) #{m2 40681}#)))
- (let ((#{m2 40688}# (cdr #{w2 40674}#)))
- (if (null? #{m2 40688}#)
- '()
- (append '() #{m2 40688}#))))))
- (#{module 40667}# (vector-ref #{x 40650}# 3)))
- (vector
- 'syntax-object
- #{expression 40665}#
- #{wrap 40666}#
- #{module 40667}#))
- (if (null? #{x 40650}#)
- #{x 40650}#
- (vector
- 'syntax-object
- #{x 40650}#
- '((top))
- #{mod 40645}#)))))
- #{ls 40637}#)))))
- (set! free-identifier=?
- (lambda (#{x 40697}# #{y 40698}#)
- (begin
- (if (not (if (if (vector? #{x 40697}#)
- (if (= (vector-length #{x 40697}#) 4)
- (eq? (vector-ref #{x 40697}# 0) 'syntax-object)
- #f)
- #f)
- (symbol? (vector-ref #{x 40697}# 1))
- #f))
- (syntax-violation
- 'free-identifier=?
- "invalid argument"
- #{x 40697}#))
- (if (not (if (if (vector? #{y 40698}#)
- (if (= (vector-length #{y 40698}#) 4)
- (eq? (vector-ref #{y 40698}# 0) 'syntax-object)
+ (symbol? (vector-ref x-16881 1))
+ #f))
+ (syntax-violation
+ 'free-identifier=?
+ "invalid argument"
+ x-16881))
+ (if (not (if (if (vector? y-16882)
+ (if (= (vector-length y-16882) 4)
+ (eq? (vector-ref y-16882 0) 'syntax-object)
+ #f)
#f)
- #f)
- (symbol? (vector-ref #{y 40698}# 1))
- #f))
- (syntax-violation
- 'free-identifier=?
- "invalid argument"
- #{y 40698}#))
- (#{free-id=? 28259}# #{x 40697}# #{y 40698}#))))
- (set! bound-identifier=?
- (lambda (#{x 40773}# #{y 40774}#)
- (begin
- (if (not (if (if (vector? #{x 40773}#)
- (if (= (vector-length #{x 40773}#) 4)
- (eq? (vector-ref #{x 40773}# 0) 'syntax-object)
+ (symbol? (vector-ref y-16882 1))
+ #f))
+ (syntax-violation
+ 'free-identifier=?
+ "invalid argument"
+ y-16882))
+ (free-id=?-4574 x-16881 y-16882))))
+ (set! bound-identifier=?
+ (lambda (x-16957 y-16958)
+ (begin
+ (if (not (if (if (vector? x-16957)
+ (if (= (vector-length x-16957) 4)
+ (eq? (vector-ref x-16957 0) 'syntax-object)
+ #f)
#f)
- #f)
- (symbol? (vector-ref #{x 40773}# 1))
- #f))
- (syntax-violation
- 'bound-identifier=?
- "invalid argument"
- #{x 40773}#))
- (if (not (if (if (vector? #{y 40774}#)
- (if (= (vector-length #{y 40774}#) 4)
- (eq? (vector-ref #{y 40774}# 0) 'syntax-object)
+ (symbol? (vector-ref x-16957 1))
+ #f))
+ (syntax-violation
+ 'bound-identifier=?
+ "invalid argument"
+ x-16957))
+ (if (not (if (if (vector? y-16958)
+ (if (= (vector-length y-16958) 4)
+ (eq? (vector-ref y-16958 0) 'syntax-object)
+ #f)
#f)
- #f)
- (symbol? (vector-ref #{y 40774}# 1))
- #f))
- (syntax-violation
- 'bound-identifier=?
- "invalid argument"
- #{y 40774}#))
- (#{bound-id=? 28260}# #{x 40773}# #{y 40774}#))))
- (set! syntax-violation
- (lambda*
- (#{who 40940}#
- #{message 40941}#
- #{form 40942}#
- #:optional
- (#{subform 40943}# #f))
+ (symbol? (vector-ref y-16958 1))
+ #f))
+ (syntax-violation
+ 'bound-identifier=?
+ "invalid argument"
+ y-16958))
+ (bound-id=?-4575 x-16957 y-16958))))
+ (set! syntax-violation
+ (lambda*
+ (who-17124
+ message-17125
+ form-17126
+ #:optional
+ (subform-17127 #f))
+ (begin
+ (if (not (if (not who-17124)
+ (not who-17124)
+ (let ((t-17145 (string? who-17124)))
+ (if t-17145 t-17145 (symbol? who-17124)))))
+ (syntax-violation
+ 'syntax-violation
+ "invalid argument"
+ who-17124))
+ (if (not (string? message-17125))
+ (syntax-violation
+ 'syntax-violation
+ "invalid argument"
+ message-17125))
+ (throw 'syntax-error
+ who-17124
+ message-17125
+ (source-annotation-4544
+ (if form-17126 form-17126 subform-17127))
+ (strip-4599 form-17126 '(()))
+ (if subform-17127
+ (strip-4599 subform-17127 '(()))
+ #f)))))
+ (letrec*
+ ((syntax-local-binding-17377
+ (lambda (id-17517)
+ (begin
+ (if (not (if (if (vector? id-17517)
+ (if (= (vector-length id-17517) 4)
+ (eq? (vector-ref id-17517 0) 'syntax-object)
+ #f)
+ #f)
+ (symbol? (vector-ref id-17517 1))
+ #f))
+ (syntax-violation
+ 'syntax-local-binding
+ "invalid argument"
+ id-17517))
+ ((fluid-ref transformer-environment-4572)
+ (lambda (e-17557
+ r-17558
+ w-17559
+ s-17560
+ rib-17561
+ mod-17562)
+ (call-with-values
+ (lambda ()
+ (resolve-identifier-4571
+ (vector-ref id-17517 1)
+ (let ((w-17569 (vector-ref id-17517 2)))
+ (let ((ms-17570 (car w-17569))
+ (s-17571 (cdr w-17569)))
+ (if (if (pair? ms-17570)
+ (eq? (car ms-17570) #f)
+ #f)
+ (cons (cdr ms-17570)
+ (if rib-17561
+ (cons rib-17561 (cdr s-17571))
+ (cdr s-17571)))
+ (cons ms-17570
+ (if rib-17561
+ (cons rib-17561 s-17571)
+ s-17571)))))
+ r-17558
+ (vector-ref id-17517 3)
+ #t))
+ (lambda (type-17578 value-17579 mod-17580)
+ (if (eqv? type-17578 'lexical)
+ (values 'lexical value-17579)
+ (if (eqv? type-17578 'macro)
+ (values 'macro value-17579)
+ (if (eqv? type-17578 'syntax)
+ (values 'pattern-variable value-17579)
+ (if (eqv? type-17578 'displaced-lexical)
+ (values 'displaced-lexical #f)
+ (if (eqv? type-17578 'global)
+ (values
+ 'global
+ (cons value-17579 (cdr mod-17580)))
+ (values 'other #f)))))))))))))
+ (syntax-locally-bound-identifiers-17378
+ (lambda (id-17591)
+ (begin
+ (if (not (if (if (vector? id-17591)
+ (if (= (vector-length id-17591) 4)
+ (eq? (vector-ref id-17591 0) 'syntax-object)
+ #f)
+ #f)
+ (symbol? (vector-ref id-17591 1))
+ #f))
+ (syntax-violation
+ 'syntax-locally-bound-identifiers
+ "invalid argument"
+ id-17591))
+ (locally-bound-identifiers-4570
+ (vector-ref id-17591 2)
+ (vector-ref id-17591 3))))))
(begin
- (if (not (if (not #{who 40940}#)
- (not #{who 40940}#)
- (let ((#{t 40961}# (string? #{who 40940}#)))
- (if #{t 40961}#
- #{t 40961}#
- (symbol? #{who 40940}#)))))
- (syntax-violation
- 'syntax-violation
- "invalid argument"
- #{who 40940}#))
- (if (not (string? #{message 40941}#))
- (syntax-violation
- 'syntax-violation
- "invalid argument"
- #{message 40941}#))
- (throw 'syntax-error
- #{who 40940}#
- #{message 40941}#
- (#{source-annotation 28232}#
- (if #{form 40942}#
- #{form 40942}#
- #{subform 40943}#))
- (#{strip 28284}# #{form 40942}# '(()))
- (if #{subform 40943}#
- (#{strip 28284}# #{subform 40943}# '(()))
- #f)))))
- (letrec*
- ((#{match-each 41192}#
- (lambda (#{e 42071}#
- #{p 42072}#
- #{w 42073}#
- #{mod 42074}#)
- (if (pair? #{e 42071}#)
- (let ((#{first 42075}#
- (#{match 41198}#
- (car #{e 42071}#)
- #{p 42072}#
- #{w 42073}#
- '()
- #{mod 42074}#)))
- (if #{first 42075}#
- (let ((#{rest 42078}#
- (#{match-each 41192}#
- (cdr #{e 42071}#)
- #{p 42072}#
- #{w 42073}#
- #{mod 42074}#)))
- (if #{rest 42078}#
- (cons #{first 42075}# #{rest 42078}#)
- #f))
- #f))
- (if (null? #{e 42071}#)
- '()
- (if (if (vector? #{e 42071}#)
- (if (= (vector-length #{e 42071}#) 4)
- (eq? (vector-ref #{e 42071}# 0) 'syntax-object)
- #f)
- #f)
- (#{match-each 41192}#
- (vector-ref #{e 42071}# 1)
- #{p 42072}#
- (let ((#{w2 42100}# (vector-ref #{e 42071}# 2)))
- (let ((#{m1 42101}# (car #{w 42073}#))
- (#{s1 42102}# (cdr #{w 42073}#)))
- (if (null? #{m1 42101}#)
- (if (null? #{s1 42102}#)
- #{w2 42100}#
- (cons (car #{w2 42100}#)
- (let ((#{m2 42113}# (cdr #{w2 42100}#)))
- (if (null? #{m2 42113}#)
- #{s1 42102}#
- (append #{s1 42102}# #{m2 42113}#)))))
- (cons (let ((#{m2 42121}# (car #{w2 42100}#)))
- (if (null? #{m2 42121}#)
- #{m1 42101}#
- (append #{m1 42101}# #{m2 42121}#)))
- (let ((#{m2 42129}# (cdr #{w2 42100}#)))
- (if (null? #{m2 42129}#)
- #{s1 42102}#
- (append #{s1 42102}# #{m2 42129}#)))))))
- (vector-ref #{e 42071}# 3))
- #f)))))
- (#{match-each-any 41194}#
- (lambda (#{e 42138}# #{w 42139}# #{mod 42140}#)
- (if (pair? #{e 42138}#)
- (let ((#{l 42141}#
- (#{match-each-any 41194}#
- (cdr #{e 42138}#)
- #{w 42139}#
- #{mod 42140}#)))
- (if #{l 42141}#
- (cons (let ((#{x 42146}# (car #{e 42138}#)))
- (if (if (null? (car #{w 42139}#))
- (null? (cdr #{w 42139}#))
+ (define!
+ 'syntax-module
+ (lambda (id-17380)
+ (begin
+ (if (not (if (if (vector? id-17380)
+ (if (= (vector-length id-17380) 4)
+ (eq? (vector-ref id-17380 0) 'syntax-object)
+ #f)
#f)
- #{x 42146}#
- (if (if (vector? #{x 42146}#)
- (if (= (vector-length #{x 42146}#) 4)
- (eq? (vector-ref #{x 42146}# 0)
- 'syntax-object)
- #f)
+ (symbol? (vector-ref id-17380 1))
+ #f))
+ (syntax-violation
+ 'syntax-module
+ "invalid argument"
+ id-17380))
+ (cdr (vector-ref id-17380 3)))))
+ (define!
+ 'syntax-local-binding
+ syntax-local-binding-17377)
+ (define!
+ 'syntax-locally-bound-identifiers
+ syntax-locally-bound-identifiers-17378)))
+ (letrec*
+ ((match-each-17708
+ (lambda (e-18587 p-18588 w-18589 mod-18590)
+ (if (pair? e-18587)
+ (let ((first-18591
+ (match-17714
+ (car e-18587)
+ p-18588
+ w-18589
+ '()
+ mod-18590)))
+ (if first-18591
+ (let ((rest-18594
+ (match-each-17708
+ (cdr e-18587)
+ p-18588
+ w-18589
+ mod-18590)))
+ (if rest-18594 (cons first-18591 rest-18594) #f))
+ #f))
+ (if (null? e-18587)
+ '()
+ (if (if (vector? e-18587)
+ (if (= (vector-length e-18587) 4)
+ (eq? (vector-ref e-18587 0) 'syntax-object)
+ #f)
+ #f)
+ (match-each-17708
+ (vector-ref e-18587 1)
+ p-18588
+ (let ((w2-18616 (vector-ref e-18587 2)))
+ (let ((m1-18617 (car w-18589))
+ (s1-18618 (cdr w-18589)))
+ (if (null? m1-18617)
+ (if (null? s1-18618)
+ w2-18616
+ (cons (car w2-18616)
+ (let ((m2-18629 (cdr w2-18616)))
+ (if (null? m2-18629)
+ s1-18618
+ (append s1-18618 m2-18629)))))
+ (cons (let ((m2-18637 (car w2-18616)))
+ (if (null? m2-18637)
+ m1-18617
+ (append m1-18617 m2-18637)))
+ (let ((m2-18645 (cdr w2-18616)))
+ (if (null? m2-18645)
+ s1-18618
+ (append s1-18618 m2-18645)))))))
+ (vector-ref e-18587 3))
+ #f)))))
+ (match-each-any-17710
+ (lambda (e-18654 w-18655 mod-18656)
+ (if (pair? e-18654)
+ (let ((l-18657
+ (match-each-any-17710
+ (cdr e-18654)
+ w-18655
+ mod-18656)))
+ (if l-18657
+ (cons (let ((x-18662 (car e-18654)))
+ (if (if (null? (car w-18655))
+ (null? (cdr w-18655))
#f)
- (let ((#{expression 42164}#
- (vector-ref #{x 42146}# 1))
- (#{wrap 42165}#
- (let ((#{w2 42173}#
- (vector-ref #{x 42146}# 2)))
- (let ((#{m1 42174}# (car #{w 42139}#))
- (#{s1 42175}# (cdr #{w 42139}#)))
- (if (null? #{m1 42174}#)
- (if (null? #{s1 42175}#)
- #{w2 42173}#
- (cons (car #{w2 42173}#)
- (let ((#{m2 42190}#
- (cdr #{w2 42173}#)))
- (if (null? #{m2 42190}#)
- #{s1 42175}#
+ x-18662
+ (if (if (vector? x-18662)
+ (if (= (vector-length x-18662) 4)
+ (eq? (vector-ref x-18662 0)
+ 'syntax-object)
+ #f)
+ #f)
+ (let ((expression-18680 (vector-ref x-18662 1))
+ (wrap-18681
+ (let ((w2-18689 (vector-ref x-18662 2)))
+ (let ((m1-18690 (car w-18655))
+ (s1-18691 (cdr w-18655)))
+ (if (null? m1-18690)
+ (if (null? s1-18691)
+ w2-18689
+ (cons (car w2-18689)
+ (let ((m2-18706
+ (cdr w2-18689)))
+ (if (null? m2-18706)
+ s1-18691
+ (append
+ s1-18691
+ m2-18706)))))
+ (cons (let ((m2-18714
+ (car w2-18689)))
+ (if (null? m2-18714)
+ m1-18690
(append
- #{s1 42175}#
- #{m2 42190}#)))))
- (cons (let ((#{m2 42198}#
- (car #{w2 42173}#)))
- (if (null? #{m2 42198}#)
- #{m1 42174}#
- (append
- #{m1 42174}#
- #{m2 42198}#)))
- (let ((#{m2 42206}#
- (cdr #{w2 42173}#)))
- (if (null? #{m2 42206}#)
- #{s1 42175}#
- (append
- #{s1 42175}#
- #{m2 42206}#))))))))
- (#{module 42166}#
- (vector-ref #{x 42146}# 3)))
- (vector
- 'syntax-object
- #{expression 42164}#
- #{wrap 42165}#
- #{module 42166}#))
- (if (null? #{x 42146}#)
- #{x 42146}#
- (vector
- 'syntax-object
- #{x 42146}#
- #{w 42139}#
- #{mod 42140}#)))))
- #{l 42141}#)
- #f))
- (if (null? #{e 42138}#)
- '()
- (if (if (vector? #{e 42138}#)
- (if (= (vector-length #{e 42138}#) 4)
- (eq? (vector-ref #{e 42138}# 0) 'syntax-object)
+ m1-18690
+ m2-18714)))
+ (let ((m2-18722
+ (cdr w2-18689)))
+ (if (null? m2-18722)
+ s1-18691
+ (append
+ s1-18691
+ m2-18722))))))))
+ (module-18682 (vector-ref x-18662 3)))
+ (vector
+ 'syntax-object
+ expression-18680
+ wrap-18681
+ module-18682))
+ (if (null? x-18662)
+ x-18662
+ (vector
+ 'syntax-object
+ x-18662
+ w-18655
+ mod-18656)))))
+ l-18657)
+ #f))
+ (if (null? e-18654)
+ '()
+ (if (if (vector? e-18654)
+ (if (= (vector-length e-18654) 4)
+ (eq? (vector-ref e-18654 0) 'syntax-object)
+ #f)
#f)
- #f)
- (#{match-each-any 41194}#
- (vector-ref #{e 42138}# 1)
- (let ((#{w2 42239}# (vector-ref #{e 42138}# 2)))
- (let ((#{m1 42240}# (car #{w 42139}#))
- (#{s1 42241}# (cdr #{w 42139}#)))
- (if (null? #{m1 42240}#)
- (if (null? #{s1 42241}#)
- #{w2 42239}#
- (cons (car #{w2 42239}#)
- (let ((#{m2 42252}# (cdr #{w2 42239}#)))
- (if (null? #{m2 42252}#)
- #{s1 42241}#
- (append #{s1 42241}# #{m2 42252}#)))))
- (cons (let ((#{m2 42260}# (car #{w2 42239}#)))
- (if (null? #{m2 42260}#)
- #{m1 42240}#
- (append #{m1 42240}# #{m2 42260}#)))
- (let ((#{m2 42268}# (cdr #{w2 42239}#)))
- (if (null? #{m2 42268}#)
- #{s1 42241}#
- (append #{s1 42241}# #{m2 42268}#)))))))
- #{mod 42140}#)
- #f)))))
- (#{match-empty 41195}#
- (lambda (#{p 42273}# #{r 42274}#)
- (if (null? #{p 42273}#)
- #{r 42274}#
- (if (eq? #{p 42273}# '_)
- #{r 42274}#
- (if (eq? #{p 42273}# 'any)
- (cons '() #{r 42274}#)
- (if (pair? #{p 42273}#)
- (#{match-empty 41195}#
- (car #{p 42273}#)
- (#{match-empty 41195}#
- (cdr #{p 42273}#)
- #{r 42274}#))
- (if (eq? #{p 42273}# 'each-any)
- (cons '() #{r 42274}#)
- (let ((#{atom-key 42275}# (vector-ref #{p 42273}# 0)))
- (if (eqv? #{atom-key 42275}# 'each)
- (#{match-empty 41195}#
- (vector-ref #{p 42273}# 1)
- #{r 42274}#)
- (if (eqv? #{atom-key 42275}# 'each+)
- (#{match-empty 41195}#
- (vector-ref #{p 42273}# 1)
- (#{match-empty 41195}#
- (reverse (vector-ref #{p 42273}# 2))
- (#{match-empty 41195}#
- (vector-ref #{p 42273}# 3)
- #{r 42274}#)))
- (if (if (eqv? #{atom-key 42275}# 'free-id)
- #t
- (eqv? #{atom-key 42275}# 'atom))
- #{r 42274}#
- (if (eqv? #{atom-key 42275}# 'vector)
- (#{match-empty 41195}#
- (vector-ref #{p 42273}# 1)
- #{r 42274}#)))))))))))))
- (#{combine 41196}#
- (lambda (#{r* 42294}# #{r 42295}#)
- (if (null? (car #{r* 42294}#))
- #{r 42295}#
- (cons (map car #{r* 42294}#)
- (#{combine 41196}#
- (map cdr #{r* 42294}#)
- #{r 42295}#)))))
- (#{match* 41197}#
- (lambda (#{e 41227}#
- #{p 41228}#
- #{w 41229}#
- #{r 41230}#
- #{mod 41231}#)
- (if (null? #{p 41228}#)
- (if (null? #{e 41227}#) #{r 41230}# #f)
- (if (pair? #{p 41228}#)
- (if (pair? #{e 41227}#)
- (#{match 41198}#
- (car #{e 41227}#)
- (car #{p 41228}#)
- #{w 41229}#
- (#{match 41198}#
- (cdr #{e 41227}#)
- (cdr #{p 41228}#)
- #{w 41229}#
- #{r 41230}#
- #{mod 41231}#)
- #{mod 41231}#)
- #f)
- (if (eq? #{p 41228}# 'each-any)
- (let ((#{l 41236}#
- (#{match-each-any 41194}#
- #{e 41227}#
- #{w 41229}#
- #{mod 41231}#)))
- (if #{l 41236}#
- (cons #{l 41236}# #{r 41230}#)
- #f))
- (let ((#{atom-key 41241}# (vector-ref #{p 41228}# 0)))
- (if (eqv? #{atom-key 41241}# 'each)
- (if (null? #{e 41227}#)
- (#{match-empty 41195}#
- (vector-ref #{p 41228}# 1)
- #{r 41230}#)
- (let ((#{l 41248}#
- (#{match-each 41192}#
- #{e 41227}#
- (vector-ref #{p 41228}# 1)
- #{w 41229}#
- #{mod 41231}#)))
- (if #{l 41248}#
- (letrec*
- ((#{collect 41251}#
- (lambda (#{l 41308}#)
- (if (null? (car #{l 41308}#))
- #{r 41230}#
- (cons (map car #{l 41308}#)
- (#{collect 41251}#
- (map cdr #{l 41308}#)))))))
- (#{collect 41251}# #{l 41248}#))
- #f)))
- (if (eqv? #{atom-key 41241}# 'each+)
- (call-with-values
- (lambda ()
- (let ((#{x-pat 41317}# (vector-ref #{p 41228}# 1))
- (#{y-pat 41318}# (vector-ref #{p 41228}# 2))
- (#{z-pat 41319}# (vector-ref #{p 41228}# 3)))
+ (match-each-any-17710
+ (vector-ref e-18654 1)
+ (let ((w2-18755 (vector-ref e-18654 2)))
+ (let ((m1-18756 (car w-18655))
+ (s1-18757 (cdr w-18655)))
+ (if (null? m1-18756)
+ (if (null? s1-18757)
+ w2-18755
+ (cons (car w2-18755)
+ (let ((m2-18768 (cdr w2-18755)))
+ (if (null? m2-18768)
+ s1-18757
+ (append s1-18757 m2-18768)))))
+ (cons (let ((m2-18776 (car w2-18755)))
+ (if (null? m2-18776)
+ m1-18756
+ (append m1-18756 m2-18776)))
+ (let ((m2-18784 (cdr w2-18755)))
+ (if (null? m2-18784)
+ s1-18757
+ (append s1-18757 m2-18784)))))))
+ mod-18656)
+ #f)))))
+ (match-empty-17711
+ (lambda (p-18789 r-18790)
+ (if (null? p-18789)
+ r-18790
+ (if (eq? p-18789 '_)
+ r-18790
+ (if (eq? p-18789 'any)
+ (cons '() r-18790)
+ (if (pair? p-18789)
+ (match-empty-17711
+ (car p-18789)
+ (match-empty-17711 (cdr p-18789) r-18790))
+ (if (eq? p-18789 'each-any)
+ (cons '() r-18790)
+ (let ((atom-key-18791 (vector-ref p-18789 0)))
+ (if (eqv? atom-key-18791 'each)
+ (match-empty-17711
+ (vector-ref p-18789 1)
+ r-18790)
+ (if (eqv? atom-key-18791 'each+)
+ (match-empty-17711
+ (vector-ref p-18789 1)
+ (match-empty-17711
+ (reverse (vector-ref p-18789 2))
+ (match-empty-17711
+ (vector-ref p-18789 3)
+ r-18790)))
+ (if (if (eqv? atom-key-18791 'free-id)
+ #t
+ (eqv? atom-key-18791 'atom))
+ r-18790
+ (if (eqv? atom-key-18791 'vector)
+ (match-empty-17711
+ (vector-ref p-18789 1)
+ r-18790)))))))))))))
+ (combine-17712
+ (lambda (r*-18810 r-18811)
+ (if (null? (car r*-18810))
+ r-18811
+ (cons (map car r*-18810)
+ (combine-17712 (map cdr r*-18810) r-18811)))))
+ (match*-17713
+ (lambda (e-17743 p-17744 w-17745 r-17746 mod-17747)
+ (if (null? p-17744)
+ (if (null? e-17743) r-17746 #f)
+ (if (pair? p-17744)
+ (if (pair? e-17743)
+ (match-17714
+ (car e-17743)
+ (car p-17744)
+ w-17745
+ (match-17714
+ (cdr e-17743)
+ (cdr p-17744)
+ w-17745
+ r-17746
+ mod-17747)
+ mod-17747)
+ #f)
+ (if (eq? p-17744 'each-any)
+ (let ((l-17752
+ (match-each-any-17710 e-17743 w-17745 mod-17747)))
+ (if l-17752 (cons l-17752 r-17746) #f))
+ (let ((atom-key-17757 (vector-ref p-17744 0)))
+ (if (eqv? atom-key-17757 'each)
+ (if (null? e-17743)
+ (match-empty-17711
+ (vector-ref p-17744 1)
+ r-17746)
+ (let ((l-17764
+ (match-each-17708
+ e-17743
+ (vector-ref p-17744 1)
+ w-17745
+ mod-17747)))
+ (if l-17764
(letrec*
- ((#{f 41323}#
- (lambda (#{e 41325}# #{w 41326}#)
- (if (pair? #{e 41325}#)
- (call-with-values
- (lambda ()
- (#{f 41323}#
- (cdr #{e 41325}#)
- #{w 41326}#))
- (lambda (#{xr* 41327}#
- #{y-pat 41328}#
- #{r 41329}#)
- (if #{r 41329}#
- (if (null? #{y-pat 41328}#)
- (let ((#{xr 41330}#
- (#{match 41198}#
- (car #{e 41325}#)
- #{x-pat 41317}#
- #{w 41326}#
- '()
- #{mod 41231}#)))
- (if #{xr 41330}#
- (values
- (cons #{xr 41330}#
- #{xr* 41327}#)
- #{y-pat 41328}#
- #{r 41329}#)
- (values #f #f #f)))
- (values
- '()
- (cdr #{y-pat 41328}#)
- (#{match 41198}#
- (car #{e 41325}#)
- (car #{y-pat 41328}#)
- #{w 41326}#
- #{r 41329}#
- #{mod 41231}#)))
- (values #f #f #f))))
- (if (if (vector? #{e 41325}#)
- (if (= (vector-length #{e 41325}#)
- 4)
- (eq? (vector-ref #{e 41325}# 0)
- 'syntax-object)
+ ((collect-17767
+ (lambda (l-17824)
+ (if (null? (car l-17824))
+ r-17746
+ (cons (map car l-17824)
+ (collect-17767
+ (map cdr l-17824)))))))
+ (collect-17767 l-17764))
+ #f)))
+ (if (eqv? atom-key-17757 'each+)
+ (call-with-values
+ (lambda ()
+ (let ((x-pat-17833 (vector-ref p-17744 1))
+ (y-pat-17834 (vector-ref p-17744 2))
+ (z-pat-17835 (vector-ref p-17744 3)))
+ (letrec*
+ ((f-17839
+ (lambda (e-17841 w-17842)
+ (if (pair? e-17841)
+ (call-with-values
+ (lambda ()
+ (f-17839 (cdr e-17841) w-17842))
+ (lambda (xr*-17843
+ y-pat-17844
+ r-17845)
+ (if r-17845
+ (if (null? y-pat-17844)
+ (let ((xr-17846
+ (match-17714
+ (car e-17841)
+ x-pat-17833
+ w-17842
+ '()
+ mod-17747)))
+ (if xr-17846
+ (values
+ (cons xr-17846 xr*-17843)
+ y-pat-17844
+ r-17845)
+ (values #f #f #f)))
+ (values
+ '()
+ (cdr y-pat-17844)
+ (match-17714
+ (car e-17841)
+ (car y-pat-17844)
+ w-17842
+ r-17845
+ mod-17747)))
+ (values #f #f #f))))
+ (if (if (vector? e-17841)
+ (if (= (vector-length e-17841) 4)
+ (eq? (vector-ref e-17841 0)
+ 'syntax-object)
+ #f)
#f)
- #f)
- (#{f 41323}#
- (vector-ref #{e 41325}# 1)
- (let ((#{m1 41356}#
- (car #{w 41326}#))
- (#{s1 41357}#
- (cdr #{w 41326}#)))
- (if (null? #{m1 41356}#)
- (if (null? #{s1 41357}#)
- #{e 41325}#
- (cons (car #{e 41325}#)
- (let ((#{m2 41369}#
- (cdr #{e
41325}#)))
- (if (null? #{m2
41369}#)
- #{s1 41357}#
+ (f-17839
+ (vector-ref e-17841 1)
+ (let ((m1-17872 (car w-17842))
+ (s1-17873 (cdr w-17842)))
+ (if (null? m1-17872)
+ (if (null? s1-17873)
+ e-17841
+ (cons (car e-17841)
+ (let ((m2-17885
+ (cdr e-17841)))
+ (if (null? m2-17885)
+ s1-17873
+ (append
+ s1-17873
+ m2-17885)))))
+ (cons (let ((m2-17895
+ (car e-17841)))
+ (if (null? m2-17895)
+ m1-17872
(append
- #{s1 41357}#
- #{m2 41369}#)))))
- (cons (let ((#{m2 41379}#
- (car #{e 41325}#)))
- (if (null? #{m2 41379}#)
- #{m1 41356}#
- (append
- #{m1 41356}#
- #{m2 41379}#)))
- (let ((#{m2 41389}#
- (cdr #{e 41325}#)))
- (if (null? #{m2 41389}#)
- #{s1 41357}#
- (append
- #{s1 41357}#
- #{m2 41389}#)))))))
- (values
- '()
- #{y-pat 41318}#
- (#{match 41198}#
- #{e 41325}#
- #{z-pat 41319}#
- #{w 41326}#
- #{r 41230}#
- #{mod 41231}#)))))))
- (#{f 41323}# #{e 41227}# #{w 41229}#))))
- (lambda (#{xr* 41399}# #{y-pat 41400}# #{r 41401}#)
- (if #{r 41401}#
- (if (null? #{y-pat 41400}#)
- (if (null? #{xr* 41399}#)
- (#{match-empty 41195}#
- (vector-ref #{p 41228}# 1)
- #{r 41401}#)
- (#{combine 41196}# #{xr* 41399}# #{r 41401}#))
- #f)
- #f)))
- (if (eqv? #{atom-key 41241}# 'free-id)
- (if (if (symbol? #{e 41227}#)
- #t
- (if (if (vector? #{e 41227}#)
- (if (= (vector-length #{e 41227}#) 4)
- (eq? (vector-ref #{e 41227}# 0)
- 'syntax-object)
- #f)
- #f)
- (symbol? (vector-ref #{e 41227}# 1))
- #f))
- (if (#{free-id=? 28259}#
- (if (if (null? (car #{w 41229}#))
- (null? (cdr #{w 41229}#))
+ m1-17872
+ m2-17895)))
+ (let ((m2-17905
+ (cdr e-17841)))
+ (if (null? m2-17905)
+ s1-17873
+ (append
+ s1-17873
+ m2-17905)))))))
+ (values
+ '()
+ y-pat-17834
+ (match-17714
+ e-17841
+ z-pat-17835
+ w-17842
+ r-17746
+ mod-17747)))))))
+ (f-17839 e-17743 w-17745))))
+ (lambda (xr*-17915 y-pat-17916 r-17917)
+ (if r-17917
+ (if (null? y-pat-17916)
+ (if (null? xr*-17915)
+ (match-empty-17711
+ (vector-ref p-17744 1)
+ r-17917)
+ (combine-17712 xr*-17915 r-17917))
+ #f)
+ #f)))
+ (if (eqv? atom-key-17757 'free-id)
+ (if (if (symbol? e-17743)
+ #t
+ (if (if (vector? e-17743)
+ (if (= (vector-length e-17743) 4)
+ (eq? (vector-ref e-17743 0)
+ 'syntax-object)
+ #f)
#f)
- #{e 41227}#
- (if (if (vector? #{e 41227}#)
- (if (= (vector-length #{e 41227}#) 4)
- (eq? (vector-ref #{e 41227}# 0)
- 'syntax-object)
- #f)
+ (symbol? (vector-ref e-17743 1))
+ #f))
+ (if (free-id=?-4574
+ (if (if (null? (car w-17745))
+ (null? (cdr w-17745))
#f)
- (let ((#{expression 41829}#
- (vector-ref #{e 41227}# 1))
- (#{wrap 41830}#
- (let ((#{w2 41840}#
- (vector-ref
- #{e 41227}#
- 2)))
- (let ((#{m1 41841}#
- (car #{w 41229}#))
- (#{s1 41842}#
- (cdr #{w 41229}#)))
- (if (null? #{m1 41841}#)
- (if (null? #{s1 41842}#)
- #{w2 41840}#
- (cons (car #{w2 41840}#)
- (let ((#{m2 41859}#
- (cdr #{w2
41840}#)))
- (if (null? #{m2
41859}#)
- #{s1 41842}#
+ e-17743
+ (if (if (vector? e-17743)
+ (if (= (vector-length e-17743) 4)
+ (eq? (vector-ref e-17743 0)
+ 'syntax-object)
+ #f)
+ #f)
+ (let ((expression-18345
+ (vector-ref e-17743 1))
+ (wrap-18346
+ (let ((w2-18356
+ (vector-ref e-17743 2)))
+ (let ((m1-18357 (car w-17745))
+ (s1-18358
+ (cdr w-17745)))
+ (if (null? m1-18357)
+ (if (null? s1-18358)
+ w2-18356
+ (cons (car w2-18356)
+ (let ((m2-18375
+ (cdr
w2-18356)))
+ (if (null?
m2-18375)
+ s1-18358
+ (append
+ s1-18358
+
m2-18375)))))
+ (cons (let ((m2-18383
+ (car
w2-18356)))
+ (if (null?
m2-18383)
+ m1-18357
(append
- #{s1 41842}#
- #{m2
41859}#)))))
- (cons (let ((#{m2 41867}#
- (car #{w2
41840}#)))
- (if (null? #{m2
41867}#)
- #{m1 41841}#
- (append
- #{m1 41841}#
- #{m2 41867}#)))
- (let ((#{m2 41875}#
- (cdr #{w2
41840}#)))
- (if (null? #{m2
41875}#)
- #{s1 41842}#
- (append
- #{s1 41842}#
- #{m2
41875}#))))))))
- (#{module 41831}#
- (vector-ref #{e 41227}# 3)))
- (vector
- 'syntax-object
- #{expression 41829}#
- #{wrap 41830}#
- #{module 41831}#))
- (if (null? #{e 41227}#)
- #{e 41227}#
- (vector
- 'syntax-object
- #{e 41227}#
- #{w 41229}#
- #{mod 41231}#))))
- (vector-ref #{p 41228}# 1))
- #{r 41230}#
- #f)
- #f)
- (if (eqv? #{atom-key 41241}# 'atom)
- (if (equal?
- (vector-ref #{p 41228}# 1)
- (#{strip 28284}# #{e 41227}# #{w 41229}#))
- #{r 41230}#
- #f)
- (if (eqv? #{atom-key 41241}# 'vector)
- (if (vector? #{e 41227}#)
- (#{match 41198}#
- (vector->list #{e 41227}#)
- (vector-ref #{p 41228}# 1)
- #{w 41229}#
- #{r 41230}#
- #{mod 41231}#)
- #f))))))))))))
- (#{match 41198}#
- (lambda (#{e 41908}#
- #{p 41909}#
- #{w 41910}#
- #{r 41911}#
- #{mod 41912}#)
- (if (not #{r 41911}#)
- #f
- (if (eq? #{p 41909}# '_)
- #{r 41911}#
- (if (eq? #{p 41909}# 'any)
- (cons (if (if (null? (car #{w 41910}#))
- (null? (cdr #{w 41910}#))
+ m1-18357
+ m2-18383)))
+ (let ((m2-18391
+ (cdr
w2-18356)))
+ (if (null?
m2-18391)
+ s1-18358
+ (append
+ s1-18358
+
m2-18391))))))))
+ (module-18347
+ (vector-ref e-17743 3)))
+ (vector
+ 'syntax-object
+ expression-18345
+ wrap-18346
+ module-18347))
+ (if (null? e-17743)
+ e-17743
+ (vector
+ 'syntax-object
+ e-17743
+ w-17745
+ mod-17747))))
+ (vector-ref p-17744 1))
+ r-17746
+ #f)
#f)
- #{e 41908}#
- (if (if (vector? #{e 41908}#)
- (if (= (vector-length #{e 41908}#) 4)
- (eq? (vector-ref #{e 41908}# 0)
- 'syntax-object)
- #f)
+ (if (eqv? atom-key-17757 'atom)
+ (if (equal?
+ (vector-ref p-17744 1)
+ (strip-4599 e-17743 w-17745))
+ r-17746
+ #f)
+ (if (eqv? atom-key-17757 'vector)
+ (if (vector? e-17743)
+ (match-17714
+ (vector->list e-17743)
+ (vector-ref p-17744 1)
+ w-17745
+ r-17746
+ mod-17747)
+ #f))))))))))))
+ (match-17714
+ (lambda (e-18424 p-18425 w-18426 r-18427 mod-18428)
+ (if (not r-18427)
+ #f
+ (if (eq? p-18425 '_)
+ r-18427
+ (if (eq? p-18425 'any)
+ (cons (if (if (null? (car w-18426))
+ (null? (cdr w-18426))
#f)
- (let ((#{expression 41942}#
- (vector-ref #{e 41908}# 1))
- (#{wrap 41943}#
- (let ((#{w2 41953}#
- (vector-ref #{e 41908}# 2)))
- (let ((#{m1 41954}# (car #{w 41910}#))
- (#{s1 41955}# (cdr #{w 41910}#)))
- (if (null? #{m1 41954}#)
- (if (null? #{s1 41955}#)
- #{w2 41953}#
- (cons (car #{w2 41953}#)
- (let ((#{m2 41972}#
- (cdr #{w2 41953}#)))
- (if (null? #{m2 41972}#)
- #{s1 41955}#
+ e-18424
+ (if (if (vector? e-18424)
+ (if (= (vector-length e-18424) 4)
+ (eq? (vector-ref e-18424 0) 'syntax-object)
+ #f)
+ #f)
+ (let ((expression-18458 (vector-ref e-18424 1))
+ (wrap-18459
+ (let ((w2-18469 (vector-ref e-18424 2)))
+ (let ((m1-18470 (car w-18426))
+ (s1-18471 (cdr w-18426)))
+ (if (null? m1-18470)
+ (if (null? s1-18471)
+ w2-18469
+ (cons (car w2-18469)
+ (let ((m2-18488
+ (cdr w2-18469)))
+ (if (null? m2-18488)
+ s1-18471
+ (append
+ s1-18471
+ m2-18488)))))
+ (cons (let ((m2-18496
+ (car w2-18469)))
+ (if (null? m2-18496)
+ m1-18470
(append
- #{s1 41955}#
- #{m2 41972}#)))))
- (cons (let ((#{m2 41980}#
- (car #{w2 41953}#)))
- (if (null? #{m2 41980}#)
- #{m1 41954}#
- (append
- #{m1 41954}#
- #{m2 41980}#)))
- (let ((#{m2 41988}#
- (cdr #{w2 41953}#)))
- (if (null? #{m2 41988}#)
- #{s1 41955}#
- (append
- #{s1 41955}#
- #{m2 41988}#))))))))
- (#{module 41944}# (vector-ref #{e 41908}# 3)))
- (vector
- 'syntax-object
- #{expression 41942}#
- #{wrap 41943}#
- #{module 41944}#))
- (if (null? #{e 41908}#)
- #{e 41908}#
- (vector
- 'syntax-object
- #{e 41908}#
- #{w 41910}#
- #{mod 41912}#))))
- #{r 41911}#)
- (if (if (vector? #{e 41908}#)
- (if (= (vector-length #{e 41908}#) 4)
- (eq? (vector-ref #{e 41908}# 0) 'syntax-object)
+ m1-18470
+ m2-18496)))
+ (let ((m2-18504
+ (cdr w2-18469)))
+ (if (null? m2-18504)
+ s1-18471
+ (append
+ s1-18471
+ m2-18504))))))))
+ (module-18460 (vector-ref e-18424 3)))
+ (vector
+ 'syntax-object
+ expression-18458
+ wrap-18459
+ module-18460))
+ (if (null? e-18424)
+ e-18424
+ (vector
+ 'syntax-object
+ e-18424
+ w-18426
+ mod-18428))))
+ r-18427)
+ (if (if (vector? e-18424)
+ (if (= (vector-length e-18424) 4)
+ (eq? (vector-ref e-18424 0) 'syntax-object)
+ #f)
#f)
- #f)
- (#{match* 41197}#
- (vector-ref #{e 41908}# 1)
- #{p 41909}#
- (let ((#{w2 42031}# (vector-ref #{e 41908}# 2)))
- (let ((#{m1 42032}# (car #{w 41910}#))
- (#{s1 42033}# (cdr #{w 41910}#)))
- (if (null? #{m1 42032}#)
- (if (null? #{s1 42033}#)
- #{w2 42031}#
- (cons (car #{w2 42031}#)
- (let ((#{m2 42044}# (cdr #{w2 42031}#)))
- (if (null? #{m2 42044}#)
- #{s1 42033}#
- (append #{s1 42033}# #{m2 42044}#)))))
- (cons (let ((#{m2 42052}# (car #{w2 42031}#)))
- (if (null? #{m2 42052}#)
- #{m1 42032}#
- (append #{m1 42032}# #{m2 42052}#)))
- (let ((#{m2 42060}# (cdr #{w2 42031}#)))
- (if (null? #{m2 42060}#)
- #{s1 42033}#
- (append #{s1 42033}# #{m2 42060}#)))))))
- #{r 41911}#
- (vector-ref #{e 41908}# 3))
- (#{match* 41197}#
- #{e 41908}#
- #{p 41909}#
- #{w 41910}#
- #{r 41911}#
- #{mod 41912}#))))))))
- (set! $sc-dispatch
- (lambda (#{e 41199}# #{p 41200}#)
- (if (eq? #{p 41200}# 'any)
- (list #{e 41199}#)
- (if (eq? #{p 41200}# '_)
- '()
- (if (if (vector? #{e 41199}#)
- (if (= (vector-length #{e 41199}#) 4)
- (eq? (vector-ref #{e 41199}# 0) 'syntax-object)
+ (match*-17713
+ (vector-ref e-18424 1)
+ p-18425
+ (let ((w2-18547 (vector-ref e-18424 2)))
+ (let ((m1-18548 (car w-18426))
+ (s1-18549 (cdr w-18426)))
+ (if (null? m1-18548)
+ (if (null? s1-18549)
+ w2-18547
+ (cons (car w2-18547)
+ (let ((m2-18560 (cdr w2-18547)))
+ (if (null? m2-18560)
+ s1-18549
+ (append s1-18549 m2-18560)))))
+ (cons (let ((m2-18568 (car w2-18547)))
+ (if (null? m2-18568)
+ m1-18548
+ (append m1-18548 m2-18568)))
+ (let ((m2-18576 (cdr w2-18547)))
+ (if (null? m2-18576)
+ s1-18549
+ (append s1-18549 m2-18576)))))))
+ r-18427
+ (vector-ref e-18424 3))
+ (match*-17713
+ e-18424
+ p-18425
+ w-18426
+ r-18427
+ mod-18428))))))))
+ (set! $sc-dispatch
+ (lambda (e-17715 p-17716)
+ (if (eq? p-17716 'any)
+ (list e-17715)
+ (if (eq? p-17716 '_)
+ '()
+ (if (if (vector? e-17715)
+ (if (= (vector-length e-17715) 4)
+ (eq? (vector-ref e-17715 0) 'syntax-object)
+ #f)
#f)
- #f)
- (#{match* 41197}#
- (vector-ref #{e 41199}# 1)
- #{p 41200}#
- (vector-ref #{e 41199}# 2)
- '()
- (vector-ref #{e 41199}# 3))
- (#{match* 41197}#
- #{e 41199}#
- #{p 41200}#
- '(())
- '()
- #f)))))))))
+ (match*-17713
+ (vector-ref e-17715 1)
+ p-17716
+ (vector-ref e-17715 2)
+ '()
+ (vector-ref e-17715 3))
+ (match*-17713 e-17715 p-17716 '(()) '() #f))))))))))
(define with-syntax
(make-syntax-transformer
'with-syntax
'macro
- (lambda (#{x 59996}#)
- (let ((#{tmp 59998}#
- ($sc-dispatch #{x 59996}# '(_ () any . each-any))))
- (if #{tmp 59998}#
+ (lambda (x-37252)
+ (let ((tmp-37254
+ ($sc-dispatch x-37252 '(_ () any . each-any))))
+ (if tmp-37254
(@apply
- (lambda (#{e1 60002}# #{e2 60003}#)
+ (lambda (e1-37258 e2-37259)
(cons '#(syntax-object
let
((top)
#(ribcage
#(e1 e2)
#((top) (top))
- #("i59969" "i59970"))
+ #("l-*-37225" "l-*-37226"))
#(ribcage () () ())
- #(ribcage #(x) #((top)) #("i59966"))
+ #(ribcage #(x) #((top)) #("l-*-37222"))
#(ribcage
(with-syntax)
((top))
@@ -17811,27 +17884,27 @@
((top))
(hygiene guile))))))
(hygiene guile))
- (cons '() (cons #{e1 60002}# #{e2 60003}#))))
- #{tmp 59998}#)
- (let ((#{tmp 60004}#
+ (cons '() (cons e1-37258 e2-37259))))
+ tmp-37254)
+ (let ((tmp-37260
($sc-dispatch
- #{x 59996}#
+ x-37252
'(_ ((any any)) any . each-any))))
- (if #{tmp 60004}#
+ (if tmp-37260
(@apply
- (lambda (#{out 60008}#
- #{in 60009}#
- #{e1 60010}#
- #{e2 60011}#)
+ (lambda (out-37264 in-37265 e1-37266 e2-37267)
(list '#(syntax-object
syntax-case
((top)
#(ribcage
#(out in e1 e2)
#((top) (top) (top) (top))
- #("i59975" "i59976" "i59977" "i59978"))
+ #("l-*-37231"
+ "l-*-37232"
+ "l-*-37233"
+ "l-*-37234"))
#(ribcage () () ())
- #(ribcage #(x) #((top)) #("i59966"))
+ #(ribcage #(x) #((top)) #("l-*-37222"))
#(ribcage
(with-syntax)
((top))
@@ -17842,21 +17915,21 @@
((top))
(hygiene guile))))))
(hygiene guile))
- #{in 60009}#
+ in-37265
'()
- (list #{out 60008}#
+ (list out-37264
(cons '#(syntax-object
let
((top)
#(ribcage
#(out in e1 e2)
#((top) (top) (top) (top))
- #("i59975"
- "i59976"
- "i59977"
- "i59978"))
+ #("l-*-37231"
+ "l-*-37232"
+ "l-*-37233"
+ "l-*-37234"))
#(ribcage () () ())
- #(ribcage #(x) #((top)) #("i59966"))
+ #(ribcage #(x) #((top)) #("l-*-37222"))
#(ribcage
(with-syntax)
((top))
@@ -17867,28 +17940,27 @@
((top))
(hygiene guile))))))
(hygiene guile))
- (cons '()
- (cons #{e1 60010}# #{e2 60011}#))))))
- #{tmp 60004}#)
- (let ((#{tmp 60012}#
+ (cons '() (cons e1-37266 e2-37267))))))
+ tmp-37260)
+ (let ((tmp-37268
($sc-dispatch
- #{x 59996}#
+ x-37252
'(_ #(each (any any)) any . each-any))))
- (if #{tmp 60012}#
+ (if tmp-37268
(@apply
- (lambda (#{out 60016}#
- #{in 60017}#
- #{e1 60018}#
- #{e2 60019}#)
+ (lambda (out-37272 in-37273 e1-37274 e2-37275)
(list '#(syntax-object
syntax-case
((top)
#(ribcage
#(out in e1 e2)
#((top) (top) (top) (top))
- #("i59985" "i59986" "i59987" "i59988"))
+ #("l-*-37241"
+ "l-*-37242"
+ "l-*-37243"
+ "l-*-37244"))
#(ribcage () () ())
- #(ribcage #(x) #((top)) #("i59966"))
+ #(ribcage #(x) #((top)) #("l-*-37222"))
#(ribcage
(with-syntax)
((top))
@@ -17905,9 +17977,12 @@
#(ribcage
#(out in e1 e2)
#((top) (top) (top) (top))
- #("i59985" "i59986" "i59987" "i59988"))
+ #("l-*-37241"
+ "l-*-37242"
+ "l-*-37243"
+ "l-*-37244"))
#(ribcage () () ())
- #(ribcage #(x) #((top)) #("i59966"))
+ #(ribcage #(x) #((top)) #("l-*-37222"))
#(ribcage
(with-syntax)
((top))
@@ -17918,24 +17993,24 @@
((top))
(hygiene guile))))))
(hygiene guile))
- #{in 60017}#)
+ in-37273)
'()
- (list #{out 60016}#
+ (list out-37272
(cons '#(syntax-object
let
((top)
#(ribcage
#(out in e1 e2)
#((top) (top) (top) (top))
- #("i59985"
- "i59986"
- "i59987"
- "i59988"))
+ #("l-*-37241"
+ "l-*-37242"
+ "l-*-37243"
+ "l-*-37244"))
#(ribcage () () ())
#(ribcage
#(x)
#((top))
- #("i59966"))
+ #("l-*-37222"))
#(ribcage
(with-syntax)
((top))
@@ -17946,39 +18021,40 @@
((top))
(hygiene guile))))))
(hygiene guile))
- (cons '()
- (cons #{e1 60018}#
- #{e2 60019}#))))))
- #{tmp 60012}#)
+ (cons '() (cons e1-37274 e2-37275))))))
+ tmp-37268)
(syntax-violation
#f
"source expression failed to match any pattern"
- #{x 59996}#))))))))))
+ x-37252))))))))))
(define syntax-rules
(make-syntax-transformer
'syntax-rules
'macro
- (lambda (#{x 60074}#)
- (let ((#{tmp 60076}#
+ (lambda (x-37330)
+ (let ((tmp-37332
($sc-dispatch
- #{x 60074}#
+ x-37330
'(_ each-any . #(each ((any . any) any))))))
- (if #{tmp 60076}#
+ (if tmp-37332
(@apply
- (lambda (#{k 60080}#
- #{keyword 60081}#
- #{pattern 60082}#
- #{template 60083}#)
+ (lambda (k-37336
+ keyword-37337
+ pattern-37338
+ template-37339)
(list '#(syntax-object
lambda
((top)
#(ribcage
#(k keyword pattern template)
#((top) (top) (top) (top))
- #("i60037" "i60038" "i60039" "i60040"))
+ #("l-*-37293"
+ "l-*-37294"
+ "l-*-37295"
+ "l-*-37296"))
#(ribcage () () ())
- #(ribcage #(x) #((top)) #("i60034"))
+ #(ribcage #(x) #((top)) #("l-*-37290"))
#(ribcage
(syntax-rules)
((top))
@@ -17995,9 +18071,12 @@
#(ribcage
#(k keyword pattern template)
#((top) (top) (top) (top))
- #("i60037" "i60038" "i60039" "i60040"))
+ #("l-*-37293"
+ "l-*-37294"
+ "l-*-37295"
+ "l-*-37296"))
#(ribcage () () ())
- #(ribcage #(x) #((top)) #("i60034"))
+ #(ribcage #(x) #((top)) #("l-*-37290"))
#(ribcage
(syntax-rules)
((top))
@@ -18015,9 +18094,12 @@
#(ribcage
#(k keyword pattern template)
#((top) (top) (top) (top))
- #("i60037" "i60038" "i60039" "i60040"))
+ #("l-*-37293"
+ "l-*-37294"
+ "l-*-37295"
+ "l-*-37296"))
#(ribcage () () ())
- #(ribcage #(x) #((top)) #("i60034"))
+ #(ribcage #(x) #((top)) #("l-*-37290"))
#(ribcage
(syntax-rules)
((top))
@@ -18035,9 +18117,12 @@
#(ribcage
#(k keyword pattern template)
#((top) (top) (top) (top))
- #("i60037" "i60038" "i60039" "i60040"))
+ #("l-*-37293"
+ "l-*-37294"
+ "l-*-37295"
+ "l-*-37296"))
#(ribcage () () ())
- #(ribcage #(x) #((top)) #("i60034"))
+ #(ribcage #(x) #((top)) #("l-*-37290"))
#(ribcage
(syntax-rules)
((top))
@@ -18054,9 +18139,12 @@
#(ribcage
#(k keyword pattern template)
#((top) (top) (top) (top))
- #("i60037" "i60038" "i60039" "i60040"))
+ #("l-*-37293"
+ "l-*-37294"
+ "l-*-37295"
+ "l-*-37296"))
#(ribcage () () ())
- #(ribcage #(x) #((top)) #("i60034"))
+ #(ribcage #(x) #((top)) #("l-*-37290"))
#(ribcage
(syntax-rules)
((top))
@@ -18067,16 +18155,19 @@
((top))
(hygiene guile))))))
(hygiene guile))
- #{pattern 60082}#))
+ pattern-37338))
(cons '#(syntax-object
syntax-case
((top)
#(ribcage
#(k keyword pattern template)
#((top) (top) (top) (top))
- #("i60037" "i60038" "i60039" "i60040"))
+ #("l-*-37293"
+ "l-*-37294"
+ "l-*-37295"
+ "l-*-37296"))
#(ribcage () () ())
- #(ribcage #(x) #((top)) #("i60034"))
+ #(ribcage #(x) #((top)) #("l-*-37290"))
#(ribcage
(syntax-rules)
((top))
@@ -18093,9 +18184,12 @@
#(ribcage
#(k keyword pattern template)
#((top) (top) (top) (top))
- #("i60037" "i60038" "i60039" "i60040"))
+ #("l-*-37293"
+ "l-*-37294"
+ "l-*-37295"
+ "l-*-37296"))
#(ribcage () () ())
- #(ribcage #(x) #((top)) #("i60034"))
+ #(ribcage #(x) #((top)) #("l-*-37290"))
#(ribcage
(syntax-rules)
((top))
@@ -18106,9 +18200,9 @@
((top))
(hygiene guile))))))
(hygiene guile))
- (cons #{k 60080}#
- (map (lambda (#{tmp 60048 60084}#
- #{tmp 60047 60085}#)
+ (cons k-37336
+ (map (lambda (tmp-37304-37340
+ tmp-37303-37341)
(list (cons '#(syntax-object
_
((top)
@@ -18121,10 +18215,10 @@
(top)
(top)
(top))
- #("i60037"
- "i60038"
- "i60039"
- "i60040"))
+ #("l-*-37293"
+ "l-*-37294"
+ "l-*-37295"
+ "l-*-37296"))
#(ribcage
()
()
@@ -18132,7 +18226,7 @@
#(ribcage
#(x)
#((top))
- #("i60034"))
+ #("l-*-37290"))
#(ribcage
(syntax-rules)
((top))
@@ -18145,7 +18239,7 @@
(hygiene
guile))))))
(hygiene guile))
- #{tmp 60047 60085}#)
+ tmp-37303-37341)
(list '#(syntax-object
syntax
((top)
@@ -18158,10 +18252,10 @@
(top)
(top)
(top))
- #("i60037"
- "i60038"
- "i60039"
- "i60040"))
+ #("l-*-37293"
+ "l-*-37294"
+ "l-*-37295"
+ "l-*-37296"))
#(ribcage
()
()
@@ -18169,7 +18263,7 @@
#(ribcage
#(x)
#((top))
- #("i60034"))
+ #("l-*-37290"))
#(ribcage
(syntax-rules)
((top))
@@ -18182,39 +18276,43 @@
(hygiene
guile))))))
(hygiene guile))
- #{tmp 60048 60084}#)))
- #{template 60083}#
- #{pattern 60082}#))))))
- #{tmp 60076}#)
- (let ((#{tmp 60086}#
+ tmp-37304-37340)))
+ template-37339
+ pattern-37338))))))
+ tmp-37332)
+ (let ((tmp-37342
($sc-dispatch
- #{x 60074}#
+ x-37330
'(_ each-any any . #(each ((any . any) any))))))
- (if (if #{tmp 60086}#
+ (if (if tmp-37342
(@apply
- (lambda (#{k 60090}#
- #{docstring 60091}#
- #{keyword 60092}#
- #{pattern 60093}#
- #{template 60094}#)
- (string? (syntax->datum #{docstring 60091}#)))
- #{tmp 60086}#)
+ (lambda (k-37346
+ docstring-37347
+ keyword-37348
+ pattern-37349
+ template-37350)
+ (string? (syntax->datum docstring-37347)))
+ tmp-37342)
#f)
(@apply
- (lambda (#{k 60095}#
- #{docstring 60096}#
- #{keyword 60097}#
- #{pattern 60098}#
- #{template 60099}#)
+ (lambda (k-37351
+ docstring-37352
+ keyword-37353
+ pattern-37354
+ template-37355)
(list '#(syntax-object
lambda
((top)
#(ribcage
#(k docstring keyword pattern template)
#((top) (top) (top) (top) (top))
- #("i60060" "i60061" "i60062" "i60063" "i60064"))
+ #("l-*-37316"
+ "l-*-37317"
+ "l-*-37318"
+ "l-*-37319"
+ "l-*-37320"))
#(ribcage () () ())
- #(ribcage #(x) #((top)) #("i60034"))
+ #(ribcage #(x) #((top)) #("l-*-37290"))
#(ribcage
(syntax-rules)
((top))
@@ -18231,9 +18329,13 @@
#(ribcage
#(k docstring keyword pattern template)
#((top) (top) (top) (top) (top))
- #("i60060" "i60061" "i60062" "i60063" "i60064"))
+ #("l-*-37316"
+ "l-*-37317"
+ "l-*-37318"
+ "l-*-37319"
+ "l-*-37320"))
#(ribcage () () ())
- #(ribcage #(x) #((top)) #("i60034"))
+ #(ribcage #(x) #((top)) #("l-*-37290"))
#(ribcage
(syntax-rules)
((top))
@@ -18244,7 +18346,7 @@
((top))
(hygiene guile))))))
(hygiene guile)))
- #{docstring 60096}#
+ docstring-37352
(vector
'(#(syntax-object
macro-type
@@ -18252,13 +18354,13 @@
#(ribcage
#(k docstring keyword pattern template)
#((top) (top) (top) (top) (top))
- #("i60060"
- "i60061"
- "i60062"
- "i60063"
- "i60064"))
+ #("l-*-37316"
+ "l-*-37317"
+ "l-*-37318"
+ "l-*-37319"
+ "l-*-37320"))
#(ribcage () () ())
- #(ribcage #(x) #((top)) #("i60034"))
+ #(ribcage #(x) #((top)) #("l-*-37290"))
#(ribcage
(syntax-rules)
((top))
@@ -18276,13 +18378,13 @@
#(ribcage
#(k docstring keyword pattern template)
#((top) (top) (top) (top) (top))
- #("i60060"
- "i60061"
- "i60062"
- "i60063"
- "i60064"))
+ #("l-*-37316"
+ "l-*-37317"
+ "l-*-37318"
+ "l-*-37319"
+ "l-*-37320"))
#(ribcage () () ())
- #(ribcage #(x) #((top)) #("i60034"))
+ #(ribcage #(x) #((top)) #("l-*-37290"))
#(ribcage
(syntax-rules)
((top))
@@ -18299,13 +18401,13 @@
#(ribcage
#(k docstring keyword pattern template)
#((top) (top) (top) (top) (top))
- #("i60060"
- "i60061"
- "i60062"
- "i60063"
- "i60064"))
+ #("l-*-37316"
+ "l-*-37317"
+ "l-*-37318"
+ "l-*-37319"
+ "l-*-37320"))
#(ribcage () () ())
- #(ribcage #(x) #((top)) #("i60034"))
+ #(ribcage #(x) #((top)) #("l-*-37290"))
#(ribcage
(syntax-rules)
((top))
@@ -18316,20 +18418,20 @@
((top))
(hygiene guile))))))
(hygiene guile))
- #{pattern 60098}#))
+ pattern-37354))
(cons '#(syntax-object
syntax-case
((top)
#(ribcage
#(k docstring keyword pattern template)
#((top) (top) (top) (top) (top))
- #("i60060"
- "i60061"
- "i60062"
- "i60063"
- "i60064"))
+ #("l-*-37316"
+ "l-*-37317"
+ "l-*-37318"
+ "l-*-37319"
+ "l-*-37320"))
#(ribcage () () ())
- #(ribcage #(x) #((top)) #("i60034"))
+ #(ribcage #(x) #((top)) #("l-*-37290"))
#(ribcage
(syntax-rules)
((top))
@@ -18350,13 +18452,13 @@
pattern
template)
#((top) (top) (top) (top) (top))
- #("i60060"
- "i60061"
- "i60062"
- "i60063"
- "i60064"))
+ #("l-*-37316"
+ "l-*-37317"
+ "l-*-37318"
+ "l-*-37319"
+ "l-*-37320"))
#(ribcage () () ())
- #(ribcage #(x) #((top)) #("i60034"))
+ #(ribcage #(x) #((top)) #("l-*-37290"))
#(ribcage
(syntax-rules)
((top))
@@ -18367,9 +18469,9 @@
((top))
(hygiene guile))))))
(hygiene guile))
- (cons #{k 60095}#
- (map (lambda (#{tmp 60073 60100}#
- #{tmp 60072 60101}#)
+ (cons k-37351
+ (map (lambda (tmp-37329-37356
+ tmp-37328-37357)
(list (cons '#(syntax-object
_
((top)
@@ -18384,11 +18486,11 @@
(top)
(top)
(top))
- #("i60060"
- "i60061"
- "i60062"
- "i60063"
- "i60064"))
+
#("l-*-37316"
+
"l-*-37317"
+
"l-*-37318"
+
"l-*-37319"
+
"l-*-37320"))
#(ribcage
()
()
@@ -18396,7 +18498,7 @@
#(ribcage
#(x)
#((top))
- #("i60034"))
+
#("l-*-37290"))
#(ribcage
(syntax-rules)
((top))
@@ -18410,7 +18512,7 @@
guile))))))
(hygiene
guile))
- #{tmp 60072
60101}#)
+ tmp-37328-37357)
(list '#(syntax-object
syntax
((top)
@@ -18425,11 +18527,11 @@
(top)
(top)
(top))
- #("i60060"
- "i60061"
- "i60062"
- "i60063"
- "i60064"))
+
#("l-*-37316"
+
"l-*-37317"
+
"l-*-37318"
+
"l-*-37319"
+
"l-*-37320"))
#(ribcage
()
()
@@ -18437,7 +18539,7 @@
#(ribcage
#(x)
#((top))
- #("i60034"))
+
#("l-*-37290"))
#(ribcage
(syntax-rules)
((top))
@@ -18451,36 +18553,34 @@
guile))))))
(hygiene
guile))
- #{tmp 60073
60100}#)))
- #{template 60099}#
- #{pattern 60098}#))))))
- #{tmp 60086}#)
+ tmp-37329-37356)))
+ template-37355
+ pattern-37354))))))
+ tmp-37342)
(syntax-violation
#f
"source expression failed to match any pattern"
- #{x 60074}#))))))))
+ x-37330))))))))
(define define-syntax-rule
(make-syntax-transformer
'define-syntax-rule
'macro
- (lambda (#{x 60139}#)
- (let ((#{tmp 60141}#
- ($sc-dispatch #{x 60139}# '(_ (any . any) any))))
- (if #{tmp 60141}#
+ (lambda (x-37395)
+ (let ((tmp-37397
+ ($sc-dispatch x-37395 '(_ (any . any) any))))
+ (if tmp-37397
(@apply
- (lambda (#{name 60145}#
- #{pattern 60146}#
- #{template 60147}#)
+ (lambda (name-37401 pattern-37402 template-37403)
(list '#(syntax-object
define-syntax
((top)
#(ribcage
#(name pattern template)
#((top) (top) (top))
- #("i60116" "i60117" "i60118"))
+ #("l-*-37372" "l-*-37373" "l-*-37374"))
#(ribcage () () ())
- #(ribcage #(x) #((top)) #("i60113"))
+ #(ribcage #(x) #((top)) #("l-*-37369"))
#(ribcage
(define-syntax-rule)
((top))
@@ -18491,16 +18591,16 @@
((top))
(hygiene guile))))))
(hygiene guile))
- #{name 60145}#
+ name-37401
(list '#(syntax-object
syntax-rules
((top)
#(ribcage
#(name pattern template)
#((top) (top) (top))
- #("i60116" "i60117" "i60118"))
+ #("l-*-37372" "l-*-37373" "l-*-37374"))
#(ribcage () () ())
- #(ribcage #(x) #((top)) #("i60113"))
+ #(ribcage #(x) #((top)) #("l-*-37369"))
#(ribcage
(define-syntax-rule)
((top))
@@ -18518,9 +18618,14 @@
#(ribcage
#(name pattern template)
#((top) (top) (top))
- #("i60116" "i60117" "i60118"))
+ #("l-*-37372"
+ "l-*-37373"
+ "l-*-37374"))
#(ribcage () () ())
- #(ribcage #(x) #((top)) #("i60113"))
+ #(ribcage
+ #(x)
+ #((top))
+ #("l-*-37369"))
#(ribcage
(define-syntax-rule)
((top))
@@ -18531,36 +18636,37 @@
((top))
(hygiene guile))))))
(hygiene guile))
- #{pattern 60146}#)
- #{template 60147}#))))
- #{tmp 60141}#)
- (let ((#{tmp 60148}#
- ($sc-dispatch
- #{x 60139}#
- '(_ (any . any) any any))))
- (if (if #{tmp 60148}#
+ pattern-37402)
+ template-37403))))
+ tmp-37397)
+ (let ((tmp-37404
+ ($sc-dispatch x-37395 '(_ (any . any) any any))))
+ (if (if tmp-37404
(@apply
- (lambda (#{name 60152}#
- #{pattern 60153}#
- #{docstring 60154}#
- #{template 60155}#)
- (string? (syntax->datum #{docstring 60154}#)))
- #{tmp 60148}#)
+ (lambda (name-37408
+ pattern-37409
+ docstring-37410
+ template-37411)
+ (string? (syntax->datum docstring-37410)))
+ tmp-37404)
#f)
(@apply
- (lambda (#{name 60156}#
- #{pattern 60157}#
- #{docstring 60158}#
- #{template 60159}#)
+ (lambda (name-37412
+ pattern-37413
+ docstring-37414
+ template-37415)
(list '#(syntax-object
define-syntax
((top)
#(ribcage
#(name pattern docstring template)
#((top) (top) (top) (top))
- #("i60131" "i60132" "i60133" "i60134"))
+ #("l-*-37387"
+ "l-*-37388"
+ "l-*-37389"
+ "l-*-37390"))
#(ribcage () () ())
- #(ribcage #(x) #((top)) #("i60113"))
+ #(ribcage #(x) #((top)) #("l-*-37369"))
#(ribcage
(define-syntax-rule)
((top))
@@ -18571,16 +18677,19 @@
((top))
(hygiene guile))))))
(hygiene guile))
- #{name 60156}#
+ name-37412
(list '#(syntax-object
syntax-rules
((top)
#(ribcage
#(name pattern docstring template)
#((top) (top) (top) (top))
- #("i60131" "i60132" "i60133" "i60134"))
+ #("l-*-37387"
+ "l-*-37388"
+ "l-*-37389"
+ "l-*-37390"))
#(ribcage () () ())
- #(ribcage #(x) #((top)) #("i60113"))
+ #(ribcage #(x) #((top)) #("l-*-37369"))
#(ribcage
(define-syntax-rule)
((top))
@@ -18592,7 +18701,7 @@
(hygiene guile))))))
(hygiene guile))
'()
- #{docstring 60158}#
+ docstring-37414
(list (cons '#(syntax-object
_
((top)
@@ -18602,15 +18711,15 @@
docstring
template)
#((top) (top) (top) (top))
- #("i60131"
- "i60132"
- "i60133"
- "i60134"))
+ #("l-*-37387"
+ "l-*-37388"
+ "l-*-37389"
+ "l-*-37390"))
#(ribcage () () ())
#(ribcage
#(x)
#((top))
- #("i60113"))
+ #("l-*-37369"))
#(ribcage
(define-syntax-rule)
((top))
@@ -18621,43 +18730,35 @@
((top))
(hygiene guile))))))
(hygiene guile))
- #{pattern 60157}#)
- #{template 60159}#))))
- #{tmp 60148}#)
+ pattern-37413)
+ template-37415))))
+ tmp-37404)
(syntax-violation
#f
"source expression failed to match any pattern"
- #{x 60139}#))))))))
+ x-37395))))))))
(define let*
(make-syntax-transformer
'let*
'macro
- (lambda (#{x 60209}#)
- (let ((#{tmp 60211}#
+ (lambda (x-37465)
+ (let ((tmp-37467
($sc-dispatch
- #{x 60209}#
+ x-37465
'(any #(each (any any)) any . each-any))))
- (if (if #{tmp 60211}#
+ (if (if tmp-37467
(@apply
- (lambda (#{let* 60215}#
- #{x 60216}#
- #{v 60217}#
- #{e1 60218}#
- #{e2 60219}#)
- (and-map identifier? #{x 60216}#))
- #{tmp 60211}#)
+ (lambda (let*-37471 x-37472 v-37473 e1-37474 e2-37475)
+ (and-map identifier? x-37472))
+ tmp-37467)
#f)
(@apply
- (lambda (#{let* 60220}#
- #{x 60221}#
- #{v 60222}#
- #{e1 60223}#
- #{e2 60224}#)
+ (lambda (let*-37476 x-37477 v-37478 e1-37479 e2-37480)
(letrec*
- ((#{f 60225}#
- (lambda (#{bindings 60228}#)
- (if (null? #{bindings 60228}#)
+ ((f-37481
+ (lambda (bindings-37484)
+ (if (null? bindings-37484)
(cons '#(syntax-object
let
((top)
@@ -18665,17 +18766,17 @@
#(ribcage
#(f bindings)
#((top) (top))
- #("i60195" "i60196"))
+ #("l-*-37451" "l-*-37452"))
#(ribcage
#(let* x v e1 e2)
#((top) (top) (top) (top) (top))
- #("i60185"
- "i60186"
- "i60187"
- "i60188"
- "i60189"))
+ #("l-*-37441"
+ "l-*-37442"
+ "l-*-37443"
+ "l-*-37444"
+ "l-*-37445"))
#(ribcage () () ())
- #(ribcage #(x) #((top)) #("i60171"))
+ #(ribcage #(x) #((top)) #("l-*-37427"))
#(ribcage
(let*)
((top))
@@ -18686,15 +18787,14 @@
((top))
(hygiene guile))))))
(hygiene guile))
- (cons '() (cons #{e1 60223}# #{e2 60224}#)))
- (let ((#{tmp 60229}#
- (list (#{f 60225}# (cdr #{bindings 60228}#))
- (car #{bindings 60228}#))))
- (let ((#{tmp 60230}#
- ($sc-dispatch #{tmp 60229}# '(any any))))
- (if #{tmp 60230}#
+ (cons '() (cons e1-37479 e2-37480)))
+ (let ((tmp-37485
+ (list (f-37481 (cdr bindings-37484))
+ (car bindings-37484))))
+ (let ((tmp-37486 ($sc-dispatch tmp-37485 '(any any))))
+ (if tmp-37486
(@apply
- (lambda (#{body 60232}# #{binding 60233}#)
+ (lambda (body-37488 binding-37489)
(list '#(syntax-object
let
((top)
@@ -18702,22 +18802,25 @@
#(ribcage
#(body binding)
#((top) (top))
- #("i60205" "i60206"))
+ #("l-*-37461" "l-*-37462"))
#(ribcage () () ())
#(ribcage
#(f bindings)
#((top) (top))
- #("i60195" "i60196"))
+ #("l-*-37451" "l-*-37452"))
#(ribcage
#(let* x v e1 e2)
#((top) (top) (top) (top) (top))
- #("i60185"
- "i60186"
- "i60187"
- "i60188"
- "i60189"))
+ #("l-*-37441"
+ "l-*-37442"
+ "l-*-37443"
+ "l-*-37444"
+ "l-*-37445"))
#(ribcage () () ())
- #(ribcage #(x) #((top)) #("i60171"))
+ #(ribcage
+ #(x)
+ #((top))
+ #("l-*-37427"))
#(ribcage
(let*)
((top))
@@ -18728,66 +18831,64 @@
((top))
(hygiene guile))))))
(hygiene guile))
- (list #{binding 60233}#)
- #{body 60232}#))
- #{tmp 60230}#)
+ (list binding-37489)
+ body-37488))
+ tmp-37486)
(syntax-violation
#f
"source expression failed to match any pattern"
- #{tmp 60229}#))))))))
- (#{f 60225}# (map list #{x 60221}# #{v 60222}#))))
- #{tmp 60211}#)
+ tmp-37485))))))))
+ (f-37481 (map list x-37477 v-37478))))
+ tmp-37467)
(syntax-violation
#f
"source expression failed to match any pattern"
- #{x 60209}#))))))
+ x-37465))))))
(define do
(make-syntax-transformer
'do
'macro
- (lambda (#{orig-x 60292}#)
- (let ((#{tmp 60294}#
+ (lambda (orig-x-37548)
+ (let ((tmp-37550
($sc-dispatch
- #{orig-x 60292}#
+ orig-x-37548
'(_ #(each (any any . any))
(any . each-any)
.
each-any))))
- (if #{tmp 60294}#
+ (if tmp-37550
(@apply
- (lambda (#{var 60298}#
- #{init 60299}#
- #{step 60300}#
- #{e0 60301}#
- #{e1 60302}#
- #{c 60303}#)
- (let ((#{tmp 60304}#
- (map (lambda (#{v 60307}# #{s 60308}#)
- (let ((#{tmp 60310}#
- ($sc-dispatch #{s 60308}# '())))
- (if #{tmp 60310}#
- (@apply (lambda () #{v 60307}#) #{tmp 60310}#)
- (let ((#{tmp 60313}#
- ($sc-dispatch #{s 60308}# '(any))))
- (if #{tmp 60313}#
+ (lambda (var-37554
+ init-37555
+ step-37556
+ e0-37557
+ e1-37558
+ c-37559)
+ (let ((tmp-37560
+ (map (lambda (v-37563 s-37564)
+ (let ((tmp-37566 ($sc-dispatch s-37564 '())))
+ (if tmp-37566
+ (@apply (lambda () v-37563) tmp-37566)
+ (let ((tmp-37569
+ ($sc-dispatch s-37564 '(any))))
+ (if tmp-37569
(@apply
- (lambda (#{e 60316}#) #{e 60316}#)
- #{tmp 60313}#)
+ (lambda (e-37572) e-37572)
+ tmp-37569)
(syntax-violation
'do
"bad step expression"
- #{orig-x 60292}#
- #{s 60308}#))))))
- #{var 60298}#
- #{step 60300}#)))
- (let ((#{tmp 60305}#
- ($sc-dispatch #{tmp 60304}# 'each-any)))
- (if #{tmp 60305}#
+ orig-x-37548
+ s-37564))))))
+ var-37554
+ step-37556)))
+ (let ((tmp-37561 ($sc-dispatch tmp-37560 'each-any)))
+ (if tmp-37561
(@apply
- (lambda (#{step 60322}#)
- (let ((#{tmp 60324}# ($sc-dispatch #{e1 60302}# '())))
- (if #{tmp 60324}#
+ (lambda (step-37578)
+ (let ((tmp-37580 ($sc-dispatch e1-37558 '())))
+ (if tmp-37580
(@apply
(lambda ()
(list '#(syntax-object
@@ -18797,7 +18898,7 @@
#(ribcage
#(step)
#((top))
- #("i60260"))
+ #("l-*-37516"))
#(ribcage
#(var init step e0 e1 c)
#((top)
@@ -18806,17 +18907,17 @@
(top)
(top)
(top))
- #("i60245"
- "i60246"
- "i60247"
- "i60248"
- "i60249"
- "i60250"))
+ #("l-*-37501"
+ "l-*-37502"
+ "l-*-37503"
+ "l-*-37504"
+ "l-*-37505"
+ "l-*-37506"))
#(ribcage () () ())
#(ribcage
#(orig-x)
#((top))
- #("i60242"))
+ #("l-*-37498"))
#(ribcage
(do)
((top))
@@ -18834,7 +18935,7 @@
#(ribcage
#(step)
#((top))
- #("i60260"))
+ #("l-*-37516"))
#(ribcage
#(var init step e0 e1 c)
#((top)
@@ -18843,17 +18944,17 @@
(top)
(top)
(top))
- #("i60245"
- "i60246"
- "i60247"
- "i60248"
- "i60249"
- "i60250"))
+ #("l-*-37501"
+ "l-*-37502"
+ "l-*-37503"
+ "l-*-37504"
+ "l-*-37505"
+ "l-*-37506"))
#(ribcage () () ())
#(ribcage
#(orig-x)
#((top))
- #("i60242"))
+ #("l-*-37498"))
#(ribcage
(do)
((top))
@@ -18864,7 +18965,7 @@
((top))
(hygiene guile))))))
(hygiene guile))
- (map list #{var 60298}# #{init 60299}#)
+ (map list var-37554 init-37555)
(list '#(syntax-object
if
((top)
@@ -18872,7 +18973,7 @@
#(ribcage
#(step)
#((top))
- #("i60260"))
+ #("l-*-37516"))
#(ribcage
#(var init step e0 e1 c)
#((top)
@@ -18881,17 +18982,17 @@
(top)
(top)
(top))
- #("i60245"
- "i60246"
- "i60247"
- "i60248"
- "i60249"
- "i60250"))
+ #("l-*-37501"
+ "l-*-37502"
+ "l-*-37503"
+ "l-*-37504"
+ "l-*-37505"
+ "l-*-37506"))
#(ribcage () () ())
#(ribcage
#(orig-x)
#((top))
- #("i60242"))
+ #("l-*-37498"))
#(ribcage
(do)
((top))
@@ -18909,7 +19010,7 @@
#(ribcage
#(step)
#((top))
- #("i60260"))
+ #("l-*-37516"))
#(ribcage
#(var
init
@@ -18923,17 +19024,17 @@
(top)
(top)
(top))
- #("i60245"
- "i60246"
- "i60247"
- "i60248"
- "i60249"
- "i60250"))
+ #("l-*-37501"
+ "l-*-37502"
+ "l-*-37503"
+ "l-*-37504"
+ "l-*-37505"
+ "l-*-37506"))
#(ribcage () () ())
#(ribcage
#(orig-x)
#((top))
- #("i60242"))
+ #("l-*-37498"))
#(ribcage
(do)
((top))
@@ -18945,7 +19046,7 @@
(hygiene
guile))))))
(hygiene guile))
- #{e0 60301}#)
+ e0-37557)
(cons '#(syntax-object
begin
((top)
@@ -18953,7 +19054,7 @@
#(ribcage
#(step)
#((top))
- #("i60260"))
+ #("l-*-37516"))
#(ribcage
#(var
init
@@ -18967,17 +19068,17 @@
(top)
(top)
(top))
- #("i60245"
- "i60246"
- "i60247"
- "i60248"
- "i60249"
- "i60250"))
+ #("l-*-37501"
+ "l-*-37502"
+ "l-*-37503"
+ "l-*-37504"
+ "l-*-37505"
+ "l-*-37506"))
#(ribcage () () ())
#(ribcage
#(orig-x)
#((top))
- #("i60242"))
+ #("l-*-37498"))
#(ribcage
(do)
((top))
@@ -18990,7 +19091,7 @@
guile))))))
(hygiene guile))
(append
- #{c 60303}#
+ c-37559
(list (cons
'#(syntax-object
doloop
((top)
@@ -19001,7 +19102,7 @@
#(ribcage
#(step)
#((top))
-
#("i60260"))
+
#("l-*-37516"))
#(ribcage
#(var
init
@@ -19015,12 +19116,12 @@
(top)
(top)
(top))
-
#("i60245"
-
"i60246"
-
"i60247"
-
"i60248"
-
"i60249"
-
"i60250"))
+
#("l-*-37501"
+
"l-*-37502"
+
"l-*-37503"
+
"l-*-37504"
+
"l-*-37505"
+
"l-*-37506"))
#(ribcage
()
()
@@ -19028,7 +19129,7 @@
#(ribcage
#(orig-x)
#((top))
-
#("i60242"))
+
#("l-*-37498"))
#(ribcage
(do)
((top))
@@ -19042,27 +19143,25 @@
guile))))))
(hygiene
guile))
- #{step
60322}#)))))))
- #{tmp 60324}#)
- (let ((#{tmp 60328}#
- ($sc-dispatch
- #{e1 60302}#
- '(any . each-any))))
- (if #{tmp 60328}#
+
step-37578)))))))
+ tmp-37580)
+ (let ((tmp-37584
+ ($sc-dispatch e1-37558 '(any . each-any))))
+ (if tmp-37584
(@apply
- (lambda (#{e1 60332}# #{e2 60333}#)
+ (lambda (e1-37588 e2-37589)
(list '#(syntax-object
let
((top)
#(ribcage
#(e1 e2)
#((top) (top))
- #("i60269" "i60270"))
+ #("l-*-37525" "l-*-37526"))
#(ribcage () () ())
#(ribcage
#(step)
#((top))
- #("i60260"))
+ #("l-*-37516"))
#(ribcage
#(var init step e0 e1 c)
#((top)
@@ -19071,17 +19170,17 @@
(top)
(top)
(top))
- #("i60245"
- "i60246"
- "i60247"
- "i60248"
- "i60249"
- "i60250"))
+ #("l-*-37501"
+ "l-*-37502"
+ "l-*-37503"
+ "l-*-37504"
+ "l-*-37505"
+ "l-*-37506"))
#(ribcage () () ())
#(ribcage
#(orig-x)
#((top))
- #("i60242"))
+ #("l-*-37498"))
#(ribcage
(do)
((top))
@@ -19098,12 +19197,12 @@
#(ribcage
#(e1 e2)
#((top) (top))
- #("i60269" "i60270"))
+ #("l-*-37525" "l-*-37526"))
#(ribcage () () ())
#(ribcage
#(step)
#((top))
- #("i60260"))
+ #("l-*-37516"))
#(ribcage
#(var init step e0 e1 c)
#((top)
@@ -19112,17 +19211,17 @@
(top)
(top)
(top))
- #("i60245"
- "i60246"
- "i60247"
- "i60248"
- "i60249"
- "i60250"))
+ #("l-*-37501"
+ "l-*-37502"
+ "l-*-37503"
+ "l-*-37504"
+ "l-*-37505"
+ "l-*-37506"))
#(ribcage () () ())
#(ribcage
#(orig-x)
#((top))
- #("i60242"))
+ #("l-*-37498"))
#(ribcage
(do)
((top))
@@ -19133,21 +19232,20 @@
((top))
(hygiene guile))))))
(hygiene guile))
- (map list
- #{var 60298}#
- #{init 60299}#)
+ (map list var-37554 init-37555)
(list '#(syntax-object
if
((top)
#(ribcage
#(e1 e2)
#((top) (top))
- #("i60269" "i60270"))
+ #("l-*-37525"
+ "l-*-37526"))
#(ribcage () () ())
#(ribcage
#(step)
#((top))
- #("i60260"))
+ #("l-*-37516"))
#(ribcage
#(var init step e0 e1 c)
#((top)
@@ -19156,17 +19254,17 @@
(top)
(top)
(top))
- #("i60245"
- "i60246"
- "i60247"
- "i60248"
- "i60249"
- "i60250"))
+ #("l-*-37501"
+ "l-*-37502"
+ "l-*-37503"
+ "l-*-37504"
+ "l-*-37505"
+ "l-*-37506"))
#(ribcage () () ())
#(ribcage
#(orig-x)
#((top))
- #("i60242"))
+ #("l-*-37498"))
#(ribcage
(do)
((top))
@@ -19177,20 +19275,20 @@
((top))
(hygiene guile))))))
(hygiene guile))
- #{e0 60301}#
+ e0-37557
(cons '#(syntax-object
begin
((top)
#(ribcage
#(e1 e2)
#((top) (top))
- #("i60269"
- "i60270"))
+ #("l-*-37525"
+ "l-*-37526"))
#(ribcage () () ())
#(ribcage
#(step)
#((top))
- #("i60260"))
+ #("l-*-37516"))
#(ribcage
#(var
init
@@ -19204,17 +19302,17 @@
(top)
(top)
(top))
- #("i60245"
- "i60246"
- "i60247"
- "i60248"
- "i60249"
- "i60250"))
+ #("l-*-37501"
+ "l-*-37502"
+ "l-*-37503"
+ "l-*-37504"
+ "l-*-37505"
+ "l-*-37506"))
#(ribcage () () ())
#(ribcage
#(orig-x)
#((top))
- #("i60242"))
+ #("l-*-37498"))
#(ribcage
(do)
((top))
@@ -19226,21 +19324,20 @@
(hygiene
guile))))))
(hygiene guile))
- (cons #{e1 60332}#
- #{e2 60333}#))
+ (cons e1-37588 e2-37589))
(cons '#(syntax-object
begin
((top)
#(ribcage
#(e1 e2)
#((top) (top))
- #("i60269"
- "i60270"))
+ #("l-*-37525"
+ "l-*-37526"))
#(ribcage () () ())
#(ribcage
#(step)
#((top))
- #("i60260"))
+ #("l-*-37516"))
#(ribcage
#(var
init
@@ -19254,17 +19351,17 @@
(top)
(top)
(top))
- #("i60245"
- "i60246"
- "i60247"
- "i60248"
- "i60249"
- "i60250"))
+ #("l-*-37501"
+ "l-*-37502"
+ "l-*-37503"
+ "l-*-37504"
+ "l-*-37505"
+ "l-*-37506"))
#(ribcage () () ())
#(ribcage
#(orig-x)
#((top))
- #("i60242"))
+ #("l-*-37498"))
#(ribcage
(do)
((top))
@@ -19277,7 +19374,7 @@
guile))))))
(hygiene guile))
(append
- #{c 60303}#
+ c-37559
(list (cons
'#(syntax-object
doloop
((top)
@@ -19286,8 +19383,8 @@
e2)
#((top)
(top))
-
#("i60269"
-
"i60270"))
+
#("l-*-37525"
+
"l-*-37526"))
#(ribcage
()
()
@@ -19295,7 +19392,7 @@
#(ribcage
#(step)
#((top))
-
#("i60260"))
+
#("l-*-37516"))
#(ribcage
#(var
init
@@ -19309,12 +19406,12 @@
(top)
(top)
(top))
-
#("i60245"
-
"i60246"
-
"i60247"
-
"i60248"
-
"i60249"
-
"i60250"))
+
#("l-*-37501"
+
"l-*-37502"
+
"l-*-37503"
+
"l-*-37504"
+
"l-*-37505"
+
"l-*-37506"))
#(ribcage
()
()
@@ -19322,7 +19419,7 @@
#(ribcage
#(orig-x)
#((top))
-
#("i60242"))
+
#("l-*-37498"))
#(ribcage
(do)
((top))
@@ -19336,33 +19433,33 @@
guile))))))
(hygiene
guile))
- #{step
60322}#)))))))
- #{tmp 60328}#)
+
step-37578)))))))
+ tmp-37584)
(syntax-violation
#f
"source expression failed to match any
pattern"
- #{e1 60302}#))))))
- #{tmp 60305}#)
+ e1-37558))))))
+ tmp-37561)
(syntax-violation
#f
"source expression failed to match any pattern"
- #{tmp 60304}#)))))
- #{tmp 60294}#)
+ tmp-37560)))))
+ tmp-37550)
(syntax-violation
#f
"source expression failed to match any pattern"
- #{orig-x 60292}#))))))
+ orig-x-37548))))))
(define quasiquote
(make-syntax-transformer
'quasiquote
'macro
(letrec*
- ((#{quasi 60620}#
- (lambda (#{p 60644}# #{lev 60645}#)
- (let ((#{tmp 60647}#
+ ((quasi-37876
+ (lambda (p-37900 lev-37901)
+ (let ((tmp-37903
($sc-dispatch
- #{p 60644}#
+ p-37900
'(#(free-id
#(syntax-object
unquote
@@ -19371,7 +19468,7 @@
#(ribcage
#(p lev)
#((top) (top))
- #("i60366" "i60367"))
+ #("l-*-37622" "l-*-37623"))
#(ribcage
(emit quasivector
quasilist*
@@ -19380,13 +19477,13 @@
vquasi
quasi)
((top) (top) (top) (top) (top) (top) (top))
- ("i60362"
- "i60360"
- "i60358"
- "i60356"
- "i60354"
- "i60352"
- "i60350"))
+ ("l-*-37618"
+ "l-*-37616"
+ "l-*-37614"
+ "l-*-37612"
+ "l-*-37610"
+ "l-*-37608"
+ "l-*-37606"))
#(ribcage
(quasiquote)
((top))
@@ -19398,19 +19495,19 @@
(hygiene guile))))))
(hygiene guile)))
any))))
- (if #{tmp 60647}#
+ (if tmp-37903
(@apply
- (lambda (#{p 60651}#)
- (if (= #{lev 60645}# 0)
+ (lambda (p-37907)
+ (if (= lev-37901 0)
(list '#(syntax-object
"value"
((top)
- #(ribcage #(p) #((top)) #("i60370"))
+ #(ribcage #(p) #((top)) #("l-*-37626"))
#(ribcage () () ())
#(ribcage
#(p lev)
#((top) (top))
- #("i60366" "i60367"))
+ #("l-*-37622" "l-*-37623"))
#(ribcage
(emit quasivector
quasilist*
@@ -19419,13 +19516,13 @@
vquasi
quasi)
((top) (top) (top) (top) (top) (top) (top))
- ("i60362"
- "i60360"
- "i60358"
- "i60356"
- "i60354"
- "i60352"
- "i60350"))
+ ("l-*-37618"
+ "l-*-37616"
+ "l-*-37614"
+ "l-*-37612"
+ "l-*-37610"
+ "l-*-37608"
+ "l-*-37606"))
#(ribcage
(quasiquote)
((top))
@@ -19436,17 +19533,17 @@
((top))
(hygiene guile))))))
(hygiene guile))
- #{p 60651}#)
- (#{quasicons 60622}#
+ p-37907)
+ (quasicons-37878
'(#(syntax-object
"quote"
((top)
- #(ribcage #(p) #((top)) #("i60370"))
+ #(ribcage #(p) #((top)) #("l-*-37626"))
#(ribcage () () ())
#(ribcage
#(p lev)
#((top) (top))
- #("i60366" "i60367"))
+ #("l-*-37622" "l-*-37623"))
#(ribcage
(emit quasivector
quasilist*
@@ -19455,13 +19552,13 @@
vquasi
quasi)
((top) (top) (top) (top) (top) (top) (top))
- ("i60362"
- "i60360"
- "i60358"
- "i60356"
- "i60354"
- "i60352"
- "i60350"))
+ ("l-*-37618"
+ "l-*-37616"
+ "l-*-37614"
+ "l-*-37612"
+ "l-*-37610"
+ "l-*-37608"
+ "l-*-37606"))
#(ribcage
(quasiquote)
((top))
@@ -19475,12 +19572,12 @@
#(syntax-object
unquote
((top)
- #(ribcage #(p) #((top)) #("i60370"))
+ #(ribcage #(p) #((top)) #("l-*-37626"))
#(ribcage () () ())
#(ribcage
#(p lev)
#((top) (top))
- #("i60366" "i60367"))
+ #("l-*-37622" "l-*-37623"))
#(ribcage
(emit quasivector
quasilist*
@@ -19489,13 +19586,13 @@
vquasi
quasi)
((top) (top) (top) (top) (top) (top) (top))
- ("i60362"
- "i60360"
- "i60358"
- "i60356"
- "i60354"
- "i60352"
- "i60350"))
+ ("l-*-37618"
+ "l-*-37616"
+ "l-*-37614"
+ "l-*-37612"
+ "l-*-37610"
+ "l-*-37608"
+ "l-*-37606"))
#(ribcage
(quasiquote)
((top))
@@ -19506,13 +19603,11 @@
((top))
(hygiene guile))))))
(hygiene guile)))
- (#{quasi 60620}#
- (list #{p 60651}#)
- (#{1-}# #{lev 60645}#)))))
- #{tmp 60647}#)
- (let ((#{tmp 60654}#
+ (quasi-37876 (list p-37907) (#{1-}# lev-37901)))))
+ tmp-37903)
+ (let ((tmp-37910
($sc-dispatch
- #{p 60644}#
+ p-37900
'(#(free-id
#(syntax-object
quasiquote
@@ -19521,7 +19616,7 @@
#(ribcage
#(p lev)
#((top) (top))
- #("i60366" "i60367"))
+ #("l-*-37622" "l-*-37623"))
#(ribcage
(emit quasivector
quasilist*
@@ -19530,13 +19625,13 @@
vquasi
quasi)
((top) (top) (top) (top) (top) (top) (top))
- ("i60362"
- "i60360"
- "i60358"
- "i60356"
- "i60354"
- "i60352"
- "i60350"))
+ ("l-*-37618"
+ "l-*-37616"
+ "l-*-37614"
+ "l-*-37612"
+ "l-*-37610"
+ "l-*-37608"
+ "l-*-37606"))
#(ribcage
(quasiquote)
((top))
@@ -19548,19 +19643,19 @@
(hygiene guile))))))
(hygiene guile)))
any))))
- (if #{tmp 60654}#
+ (if tmp-37910
(@apply
- (lambda (#{p 60658}#)
- (#{quasicons 60622}#
+ (lambda (p-37914)
+ (quasicons-37878
'(#(syntax-object
"quote"
((top)
- #(ribcage #(p) #((top)) #("i60373"))
+ #(ribcage #(p) #((top)) #("l-*-37629"))
#(ribcage () () ())
#(ribcage
#(p lev)
#((top) (top))
- #("i60366" "i60367"))
+ #("l-*-37622" "l-*-37623"))
#(ribcage
(emit quasivector
quasilist*
@@ -19569,13 +19664,13 @@
vquasi
quasi)
((top) (top) (top) (top) (top) (top) (top))
- ("i60362"
- "i60360"
- "i60358"
- "i60356"
- "i60354"
- "i60352"
- "i60350"))
+ ("l-*-37618"
+ "l-*-37616"
+ "l-*-37614"
+ "l-*-37612"
+ "l-*-37610"
+ "l-*-37608"
+ "l-*-37606"))
#(ribcage
(quasiquote)
((top))
@@ -19589,12 +19684,12 @@
#(syntax-object
quasiquote
((top)
- #(ribcage #(p) #((top)) #("i60373"))
+ #(ribcage #(p) #((top)) #("l-*-37629"))
#(ribcage () () ())
#(ribcage
#(p lev)
#((top) (top))
- #("i60366" "i60367"))
+ #("l-*-37622" "l-*-37623"))
#(ribcage
(emit quasivector
quasilist*
@@ -19603,13 +19698,13 @@
vquasi
quasi)
((top) (top) (top) (top) (top) (top) (top))
- ("i60362"
- "i60360"
- "i60358"
- "i60356"
- "i60354"
- "i60352"
- "i60350"))
+ ("l-*-37618"
+ "l-*-37616"
+ "l-*-37614"
+ "l-*-37612"
+ "l-*-37610"
+ "l-*-37608"
+ "l-*-37606"))
#(ribcage
(quasiquote)
((top))
@@ -19620,18 +19715,15 @@
((top))
(hygiene guile))))))
(hygiene guile)))
- (#{quasi 60620}#
- (list #{p 60658}#)
- (#{1+}# #{lev 60645}#))))
- #{tmp 60654}#)
- (let ((#{tmp 60661}#
- ($sc-dispatch #{p 60644}# '(any . any))))
- (if #{tmp 60661}#
+ (quasi-37876 (list p-37914) (#{1+}# lev-37901))))
+ tmp-37910)
+ (let ((tmp-37917 ($sc-dispatch p-37900 '(any . any))))
+ (if tmp-37917
(@apply
- (lambda (#{p 60665}# #{q 60666}#)
- (let ((#{tmp 60668}#
+ (lambda (p-37921 q-37922)
+ (let ((tmp-37924
($sc-dispatch
- #{p 60665}#
+ p-37921
'(#(free-id
#(syntax-object
unquote
@@ -19639,12 +19731,12 @@
#(ribcage
#(p q)
#((top) (top))
- #("i60376" "i60377"))
+ #("l-*-37632" "l-*-37633"))
#(ribcage () () ())
#(ribcage
#(p lev)
#((top) (top))
- #("i60366" "i60367"))
+ #("l-*-37622" "l-*-37623"))
#(ribcage
(emit quasivector
quasilist*
@@ -19659,13 +19751,13 @@
(top)
(top)
(top))
- ("i60362"
- "i60360"
- "i60358"
- "i60356"
- "i60354"
- "i60352"
- "i60350"))
+ ("l-*-37618"
+ "l-*-37616"
+ "l-*-37614"
+ "l-*-37612"
+ "l-*-37610"
+ "l-*-37608"
+ "l-*-37606"))
#(ribcage
(quasiquote)
((top))
@@ -19678,28 +19770,30 @@
(hygiene guile)))
.
each-any))))
- (if #{tmp 60668}#
+ (if tmp-37924
(@apply
- (lambda (#{p 60672}#)
- (if (= #{lev 60645}# 0)
- (#{quasilist* 60624}#
- (map (lambda (#{tmp 60384 60711}#)
+ (lambda (p-37928)
+ (if (= lev-37901 0)
+ (quasilist*-37880
+ (map (lambda (tmp-37640-37967)
(list '#(syntax-object
"value"
((top)
#(ribcage
#(p)
#((top))
- #("i60382"))
+ #("l-*-37638"))
#(ribcage
#(p q)
#((top) (top))
- #("i60376" "i60377"))
+ #("l-*-37632"
+ "l-*-37633"))
#(ribcage () () ())
#(ribcage
#(p lev)
#((top) (top))
- #("i60366" "i60367"))
+ #("l-*-37622"
+ "l-*-37623"))
#(ribcage
(emit quasivector
quasilist*
@@ -19714,13 +19808,13 @@
(top)
(top)
(top))
- ("i60362"
- "i60360"
- "i60358"
- "i60356"
- "i60354"
- "i60352"
- "i60350"))
+ ("l-*-37618"
+ "l-*-37616"
+ "l-*-37614"
+ "l-*-37612"
+ "l-*-37610"
+ "l-*-37608"
+ "l-*-37606"))
#(ribcage
(quasiquote)
((top))
@@ -19732,29 +19826,27 @@
(hygiene
guile))))))
(hygiene guile))
- #{tmp 60384 60711}#))
- #{p 60672}#)
- (#{quasi 60620}#
- #{q 60666}#
- #{lev 60645}#))
- (#{quasicons 60622}#
- (#{quasicons 60622}#
+ tmp-37640-37967))
+ p-37928)
+ (quasi-37876 q-37922 lev-37901))
+ (quasicons-37878
+ (quasicons-37878
'(#(syntax-object
"quote"
((top)
#(ribcage
#(p)
#((top))
- #("i60382"))
+ #("l-*-37638"))
#(ribcage
#(p q)
#((top) (top))
- #("i60376" "i60377"))
+ #("l-*-37632" "l-*-37633"))
#(ribcage () () ())
#(ribcage
#(p lev)
#((top) (top))
- #("i60366" "i60367"))
+ #("l-*-37622" "l-*-37623"))
#(ribcage
(emit quasivector
quasilist*
@@ -19769,13 +19861,13 @@
(top)
(top)
(top))
- ("i60362"
- "i60360"
- "i60358"
- "i60356"
- "i60354"
- "i60352"
- "i60350"))
+ ("l-*-37618"
+ "l-*-37616"
+ "l-*-37614"
+ "l-*-37612"
+ "l-*-37610"
+ "l-*-37608"
+ "l-*-37606"))
#(ribcage
(quasiquote)
((top))
@@ -19792,16 +19884,16 @@
#(ribcage
#(p)
#((top))
- #("i60382"))
+ #("l-*-37638"))
#(ribcage
#(p q)
#((top) (top))
- #("i60376" "i60377"))
+ #("l-*-37632" "l-*-37633"))
#(ribcage () () ())
#(ribcage
#(p lev)
#((top) (top))
- #("i60366" "i60367"))
+ #("l-*-37622" "l-*-37623"))
#(ribcage
(emit quasivector
quasilist*
@@ -19816,13 +19908,13 @@
(top)
(top)
(top))
- ("i60362"
- "i60360"
- "i60358"
- "i60356"
- "i60354"
- "i60352"
- "i60350"))
+ ("l-*-37618"
+ "l-*-37616"
+ "l-*-37614"
+ "l-*-37612"
+ "l-*-37610"
+ "l-*-37608"
+ "l-*-37606"))
#(ribcage
(quasiquote)
((top))
@@ -19833,16 +19925,14 @@
((top))
(hygiene guile))))))
(hygiene guile)))
- (#{quasi 60620}#
- #{p 60672}#
- (#{1-}# #{lev 60645}#)))
- (#{quasi 60620}#
- #{q 60666}#
- #{lev 60645}#))))
- #{tmp 60668}#)
- (let ((#{tmp 60716}#
+ (quasi-37876
+ p-37928
+ (#{1-}# lev-37901)))
+ (quasi-37876 q-37922 lev-37901))))
+ tmp-37924)
+ (let ((tmp-37972
($sc-dispatch
- #{p 60665}#
+ p-37921
'(#(free-id
#(syntax-object
unquote-splicing
@@ -19850,12 +19940,12 @@
#(ribcage
#(p q)
#((top) (top))
- #("i60376" "i60377"))
+ #("l-*-37632" "l-*-37633"))
#(ribcage () () ())
#(ribcage
#(p lev)
#((top) (top))
- #("i60366" "i60367"))
+ #("l-*-37622" "l-*-37623"))
#(ribcage
(emit quasivector
quasilist*
@@ -19870,13 +19960,13 @@
(top)
(top)
(top))
- ("i60362"
- "i60360"
- "i60358"
- "i60356"
- "i60354"
- "i60352"
- "i60350"))
+ ("l-*-37618"
+ "l-*-37616"
+ "l-*-37614"
+ "l-*-37612"
+ "l-*-37610"
+ "l-*-37608"
+ "l-*-37606"))
#(ribcage
(quasiquote)
((top))
@@ -19889,30 +19979,30 @@
(hygiene guile)))
.
each-any))))
- (if #{tmp 60716}#
+ (if tmp-37972
(@apply
- (lambda (#{p 60720}#)
- (if (= #{lev 60645}# 0)
- (#{quasiappend 60623}#
- (map (lambda (#{tmp 60389 60723}#)
+ (lambda (p-37976)
+ (if (= lev-37901 0)
+ (quasiappend-37879
+ (map (lambda (tmp-37645-37979)
(list '#(syntax-object
"value"
((top)
#(ribcage
#(p)
#((top))
- #("i60387"))
+ #("l-*-37643"))
#(ribcage
#(p q)
#((top) (top))
- #("i60376"
- "i60377"))
+ #("l-*-37632"
+ "l-*-37633"))
#(ribcage () () ())
#(ribcage
#(p lev)
#((top) (top))
- #("i60366"
- "i60367"))
+ #("l-*-37622"
+ "l-*-37623"))
#(ribcage
(emit quasivector
quasilist*
@@ -19927,13 +20017,13 @@
(top)
(top)
(top))
- ("i60362"
- "i60360"
- "i60358"
- "i60356"
- "i60354"
- "i60352"
- "i60350"))
+ ("l-*-37618"
+ "l-*-37616"
+ "l-*-37614"
+ "l-*-37612"
+ "l-*-37610"
+ "l-*-37608"
+ "l-*-37606"))
#(ribcage
(quasiquote)
((top))
@@ -19945,29 +20035,27 @@
(hygiene
guile))))))
(hygiene guile))
- #{tmp 60389 60723}#))
- #{p 60720}#)
- (#{quasi 60620}#
- #{q 60666}#
- #{lev 60645}#))
- (#{quasicons 60622}#
- (#{quasicons 60622}#
+ tmp-37645-37979))
+ p-37976)
+ (quasi-37876 q-37922 lev-37901))
+ (quasicons-37878
+ (quasicons-37878
'(#(syntax-object
"quote"
((top)
#(ribcage
#(p)
#((top))
- #("i60387"))
+ #("l-*-37643"))
#(ribcage
#(p q)
#((top) (top))
- #("i60376" "i60377"))
+ #("l-*-37632" "l-*-37633"))
#(ribcage () () ())
#(ribcage
#(p lev)
#((top) (top))
- #("i60366" "i60367"))
+ #("l-*-37622" "l-*-37623"))
#(ribcage
(emit quasivector
quasilist*
@@ -19982,13 +20070,13 @@
(top)
(top)
(top))
- ("i60362"
- "i60360"
- "i60358"
- "i60356"
- "i60354"
- "i60352"
- "i60350"))
+ ("l-*-37618"
+ "l-*-37616"
+ "l-*-37614"
+ "l-*-37612"
+ "l-*-37610"
+ "l-*-37608"
+ "l-*-37606"))
#(ribcage
(quasiquote)
((top))
@@ -20005,16 +20093,16 @@
#(ribcage
#(p)
#((top))
- #("i60387"))
+ #("l-*-37643"))
#(ribcage
#(p q)
#((top) (top))
- #("i60376" "i60377"))
+ #("l-*-37632" "l-*-37633"))
#(ribcage () () ())
#(ribcage
#(p lev)
#((top) (top))
- #("i60366" "i60367"))
+ #("l-*-37622" "l-*-37623"))
#(ribcage
(emit quasivector
quasilist*
@@ -20029,13 +20117,13 @@
(top)
(top)
(top))
- ("i60362"
- "i60360"
- "i60358"
- "i60356"
- "i60354"
- "i60352"
- "i60350"))
+ ("l-*-37618"
+ "l-*-37616"
+ "l-*-37614"
+ "l-*-37612"
+ "l-*-37610"
+ "l-*-37608"
+ "l-*-37606"))
#(ribcage
(quasiquote)
((top))
@@ -20046,49 +20134,41 @@
((top))
(hygiene guile))))))
(hygiene guile)))
- (#{quasi 60620}#
- #{p 60720}#
- (#{1-}# #{lev 60645}#)))
- (#{quasi 60620}#
- #{q 60666}#
- #{lev 60645}#))))
- #{tmp 60716}#)
- (#{quasicons 60622}#
- (#{quasi 60620}#
- #{p 60665}#
- #{lev 60645}#)
- (#{quasi 60620}#
- #{q 60666}#
- #{lev 60645}#)))))))
- #{tmp 60661}#)
- (let ((#{tmp 60737}#
- ($sc-dispatch #{p 60644}# '#(vector each-any))))
- (if #{tmp 60737}#
+ (quasi-37876
+ p-37976
+ (#{1-}# lev-37901)))
+ (quasi-37876 q-37922 lev-37901))))
+ tmp-37972)
+ (quasicons-37878
+ (quasi-37876 p-37921 lev-37901)
+ (quasi-37876 q-37922 lev-37901)))))))
+ tmp-37917)
+ (let ((tmp-37993
+ ($sc-dispatch p-37900 '#(vector each-any))))
+ (if tmp-37993
(@apply
- (lambda (#{x 60741}#)
- (let ((#{x 60744}#
- (#{vquasi 60621}#
- #{x 60741}#
- #{lev 60645}#)))
- (let ((#{tmp 60746}#
+ (lambda (x-37997)
+ (let ((x-38000
+ (vquasi-37877 x-37997 lev-37901)))
+ (let ((tmp-38002
($sc-dispatch
- #{x 60744}#
+ x-38000
'(#(atom "quote") each-any))))
- (if #{tmp 60746}#
+ (if tmp-38002
(@apply
- (lambda (#{x 60750}#)
+ (lambda (x-38006)
(list '#(syntax-object
"quote"
((top)
#(ribcage
#(x)
#((top))
- #("i60494"))
+ #("l-*-37750"))
#(ribcage () () ())
#(ribcage
#(x)
#((top))
- #("i60491"))
+ #("l-*-37747"))
#(ribcage
(emit quasivector
quasilist*
@@ -20103,13 +20183,13 @@
(top)
(top)
(top))
- ("i60362"
- "i60360"
- "i60358"
- "i60356"
- "i60354"
- "i60352"
- "i60350"))
+ ("l-*-37618"
+ "l-*-37616"
+ "l-*-37614"
+ "l-*-37612"
+ "l-*-37610"
+ "l-*-37608"
+ "l-*-37606"))
#(ribcage
(quasiquote)
((top))
@@ -20120,28 +20200,28 @@
((top))
(hygiene guile))))))
(hygiene guile))
- (list->vector #{x 60750}#)))
- #{tmp 60746}#)
+ (list->vector x-38006)))
+ tmp-38002)
(letrec*
- ((#{f 60752}#
- (lambda (#{y 60764}# #{k 60765}#)
- (let ((#{tmp 60767}#
+ ((f-38008
+ (lambda (y-38020 k-38021)
+ (let ((tmp-38023
($sc-dispatch
- #{y 60764}#
+ y-38020
'(#(atom "quote")
each-any))))
- (if #{tmp 60767}#
+ (if tmp-38023
(@apply
- (lambda (#{y 60770}#)
- (#{k 60765}#
- (map (lambda (#{tmp
60519 60771}#)
+ (lambda (y-38026)
+ (k-38021
+ (map (lambda
(tmp-37775-38027)
(list
'#(syntax-object
"quote"
((top)
#(ribcage
#(y)
#((top))
-
#("i60517"))
+
#("l-*-37773"))
#(ribcage
()
()
@@ -20153,13 +20233,13 @@
#((top)
(top)
(top))
-
#("i60499"
-
"i60500"
-
"i60501"))
+
#("l-*-37755"
+
"l-*-37756"
+
"l-*-37757"))
#(ribcage
#(_)
#((top))
-
#("i60497"))
+
#("l-*-37753"))
#(ribcage
()
()
@@ -20167,7 +20247,7 @@
#(ribcage
#(x)
#((top))
-
#("i60491"))
+
#("l-*-37747"))
#(ribcage
(emit
quasivector
quasilist*
@@ -20182,13 +20262,13 @@
(top)
(top)
(top))
-
("i60362"
-
"i60360"
-
"i60358"
-
"i60356"
-
"i60354"
-
"i60352"
-
"i60350"))
+
("l-*-37618"
+
"l-*-37616"
+
"l-*-37614"
+
"l-*-37612"
+
"l-*-37610"
+
"l-*-37608"
+
"l-*-37606"))
#(ribcage
(quasiquote)
((top))
@@ -20202,42 +20282,41 @@
guile))))))
(hygiene
guile))
- #{tmp 60519
60771}#))
- #{y 60770}#)))
- #{tmp 60767}#)
- (let ((#{tmp 60772}#
+
tmp-37775-38027))
+ y-38026)))
+ tmp-38023)
+ (let ((tmp-38028
($sc-dispatch
- #{y 60764}#
+ y-38020
'(#(atom "list")
.
each-any))))
- (if #{tmp 60772}#
+ (if tmp-38028
(@apply
- (lambda (#{y 60775}#)
- (#{k 60765}#
- #{y 60775}#))
- #{tmp 60772}#)
- (let ((#{tmp 60776}#
+ (lambda (y-38031)
+ (k-38021 y-38031))
+ tmp-38028)
+ (let ((tmp-38032
($sc-dispatch
- #{y 60764}#
+ y-38020
'(#(atom "list*")
.
#(each+
any
(any)
())))))
- (if #{tmp 60776}#
+ (if tmp-38032
(@apply
- (lambda (#{y 60779}#
- #{z 60780}#)
- (#{f 60752}#
- #{z 60780}#
- (lambda (#{ls
60781}#)
- (#{k 60765}#
+ (lambda (y-38035
+ z-38036)
+ (f-38008
+ z-38036
+ (lambda
(ls-38037)
+ (k-38021
(append
- #{y 60779}#
- #{ls
60781}#)))))
- #{tmp 60776}#)
+ y-38035
+
ls-38037)))))
+ tmp-38032)
(list '#(syntax-object
"list->vector"
((top)
@@ -20246,14 +20325,14 @@
()
())
#(ribcage
- #(#{
g60534}#)
- #((m60535
+ #(t-37790)
+
#((m-*-37791
top))
-
#("i60538"))
+
#("l-*-37794"))
#(ribcage
#(else)
#((top))
-
#("i60532"))
+
#("l-*-37788"))
#(ribcage
()
()
@@ -20263,13 +20342,13 @@
#((top)
(top)
(top))
- #("i60499"
- "i60500"
-
"i60501"))
+
#("l-*-37755"
+
"l-*-37756"
+
"l-*-37757"))
#(ribcage
#(_)
#((top))
-
#("i60497"))
+
#("l-*-37753"))
#(ribcage
()
()
@@ -20277,7 +20356,7 @@
#(ribcage
#(x)
#((top))
-
#("i60491"))
+
#("l-*-37747"))
#(ribcage
(emit
quasivector
quasilist*
@@ -20292,13 +20371,13 @@
(top)
(top)
(top))
- ("i60362"
- "i60360"
- "i60358"
- "i60356"
- "i60354"
- "i60352"
- "i60350"))
+
("l-*-37618"
+
"l-*-37616"
+
"l-*-37614"
+
"l-*-37612"
+
"l-*-37610"
+
"l-*-37608"
+
"l-*-37606"))
#(ribcage
(quasiquote)
((top))
@@ -20312,17 +20391,17 @@
guile))))))
(hygiene
guile))
- #{x
60744}#))))))))))
- (#{f 60752}#
- #{x 60744}#
- (lambda (#{ls 60754}#)
- (let ((#{tmp 60756}#
+ x-38000))))))))))
+ (f-38008
+ x-38000
+ (lambda (ls-38010)
+ (let ((tmp-38012
($sc-dispatch
- #{ls 60754}#
+ ls-38010
'each-any)))
- (if #{tmp 60756}#
+ (if tmp-38012
(@apply
- (lambda (#{ g60507 60759}#)
+ (lambda (t-37763-38015)
(cons '#(syntax-object
"vector"
((top)
@@ -20331,9 +20410,10 @@
()
())
#(ribcage
- #(#{ g60507}#)
- #((m60508 top))
- #("i60512"))
+ #(t-37763)
+ #((m-*-37764
+ top))
+ #("l-*-37768"))
#(ribcage
()
()
@@ -20349,11 +20429,11 @@
#(ribcage
#(ls)
#((top))
- #("i60506"))
+ #("l-*-37762"))
#(ribcage
#(_)
#((top))
- #("i60497"))
+ #("l-*-37753"))
#(ribcage
()
()
@@ -20361,7 +20441,7 @@
#(ribcage
#(x)
#((top))
- #("i60491"))
+ #("l-*-37747"))
#(ribcage
(emit
quasivector
quasilist*
@@ -20376,13 +20456,13 @@
(top)
(top)
(top))
- ("i60362"
- "i60360"
- "i60358"
- "i60356"
- "i60354"
- "i60352"
- "i60350"))
+ ("l-*-37618"
+ "l-*-37616"
+ "l-*-37614"
+ "l-*-37612"
+ "l-*-37610"
+ "l-*-37608"
+ "l-*-37606"))
#(ribcage
(quasiquote)
((top))
@@ -20395,22 +20475,22 @@
(hygiene
guile))))))
(hygiene guile))
- #{ g60507 60759}#))
- #{tmp 60756}#)
+ t-37763-38015))
+ tmp-38012)
(syntax-violation
#f
"source expression failed to
match any pattern"
- #{ls 60754}#))))))))))
- #{tmp 60737}#)
+ ls-38010))))))))))
+ tmp-37993)
(list '#(syntax-object
"quote"
((top)
- #(ribcage #(p) #((top)) #("i60397"))
+ #(ribcage #(p) #((top)) #("l-*-37653"))
#(ribcage () () ())
#(ribcage
#(p lev)
#((top) (top))
- #("i60366" "i60367"))
+ #("l-*-37622" "l-*-37623"))
#(ribcage
(emit quasivector
quasilist*
@@ -20425,13 +20505,13 @@
(top)
(top)
(top))
- ("i60362"
- "i60360"
- "i60358"
- "i60356"
- "i60354"
- "i60352"
- "i60350"))
+ ("l-*-37618"
+ "l-*-37616"
+ "l-*-37614"
+ "l-*-37612"
+ "l-*-37610"
+ "l-*-37608"
+ "l-*-37606"))
#(ribcage
(quasiquote)
((top))
@@ -20442,17 +20522,16 @@
((top))
(hygiene guile))))))
(hygiene guile))
- #{p 60644}#)))))))))))
- (#{vquasi 60621}#
- (lambda (#{p 60809}# #{lev 60810}#)
- (let ((#{tmp 60812}#
- ($sc-dispatch #{p 60809}# '(any . any))))
- (if #{tmp 60812}#
+ p-37900)))))))))))
+ (vquasi-37877
+ (lambda (p-38065 lev-38066)
+ (let ((tmp-38068 ($sc-dispatch p-38065 '(any . any))))
+ (if tmp-38068
(@apply
- (lambda (#{p 60816}# #{q 60817}#)
- (let ((#{tmp 60819}#
+ (lambda (p-38072 q-38073)
+ (let ((tmp-38075
($sc-dispatch
- #{p 60816}#
+ p-38072
'(#(free-id
#(syntax-object
unquote
@@ -20460,12 +20539,12 @@
#(ribcage
#(p q)
#((top) (top))
- #("i60405" "i60406"))
+ #("l-*-37661" "l-*-37662"))
#(ribcage () () ())
#(ribcage
#(p lev)
#((top) (top))
- #("i60401" "i60402"))
+ #("l-*-37657" "l-*-37658"))
#(ribcage
(emit quasivector
quasilist*
@@ -20480,13 +20559,13 @@
(top)
(top)
(top))
- ("i60362"
- "i60360"
- "i60358"
- "i60356"
- "i60354"
- "i60352"
- "i60350"))
+ ("l-*-37618"
+ "l-*-37616"
+ "l-*-37614"
+ "l-*-37612"
+ "l-*-37610"
+ "l-*-37608"
+ "l-*-37606"))
#(ribcage
(quasiquote)
((top))
@@ -20499,28 +20578,28 @@
(hygiene guile)))
.
each-any))))
- (if #{tmp 60819}#
+ (if tmp-38075
(@apply
- (lambda (#{p 60823}#)
- (if (= #{lev 60810}# 0)
- (#{quasilist* 60624}#
- (map (lambda (#{tmp 60413 60862}#)
+ (lambda (p-38079)
+ (if (= lev-38066 0)
+ (quasilist*-37880
+ (map (lambda (tmp-37669-38118)
(list '#(syntax-object
"value"
((top)
#(ribcage
#(p)
#((top))
- #("i60411"))
+ #("l-*-37667"))
#(ribcage
#(p q)
#((top) (top))
- #("i60405" "i60406"))
+ #("l-*-37661" "l-*-37662"))
#(ribcage () () ())
#(ribcage
#(p lev)
#((top) (top))
- #("i60401" "i60402"))
+ #("l-*-37657" "l-*-37658"))
#(ribcage
(emit quasivector
quasilist*
@@ -20535,13 +20614,13 @@
(top)
(top)
(top))
- ("i60362"
- "i60360"
- "i60358"
- "i60356"
- "i60354"
- "i60352"
- "i60350"))
+ ("l-*-37618"
+ "l-*-37616"
+ "l-*-37614"
+ "l-*-37612"
+ "l-*-37610"
+ "l-*-37608"
+ "l-*-37606"))
#(ribcage
(quasiquote)
((top))
@@ -20552,24 +20631,24 @@
((top))
(hygiene guile))))))
(hygiene guile))
- #{tmp 60413 60862}#))
- #{p 60823}#)
- (#{vquasi 60621}# #{q 60817}# #{lev 60810}#))
- (#{quasicons 60622}#
- (#{quasicons 60622}#
+ tmp-37669-38118))
+ p-38079)
+ (vquasi-37877 q-38073 lev-38066))
+ (quasicons-37878
+ (quasicons-37878
'(#(syntax-object
"quote"
((top)
- #(ribcage #(p) #((top)) #("i60411"))
+ #(ribcage #(p) #((top)) #("l-*-37667"))
#(ribcage
#(p q)
#((top) (top))
- #("i60405" "i60406"))
+ #("l-*-37661" "l-*-37662"))
#(ribcage () () ())
#(ribcage
#(p lev)
#((top) (top))
- #("i60401" "i60402"))
+ #("l-*-37657" "l-*-37658"))
#(ribcage
(emit quasivector
quasilist*
@@ -20584,13 +20663,13 @@
(top)
(top)
(top))
- ("i60362"
- "i60360"
- "i60358"
- "i60356"
- "i60354"
- "i60352"
- "i60350"))
+ ("l-*-37618"
+ "l-*-37616"
+ "l-*-37614"
+ "l-*-37612"
+ "l-*-37610"
+ "l-*-37608"
+ "l-*-37606"))
#(ribcage
(quasiquote)
((top))
@@ -20604,16 +20683,16 @@
#(syntax-object
unquote
((top)
- #(ribcage #(p) #((top)) #("i60411"))
+ #(ribcage #(p) #((top)) #("l-*-37667"))
#(ribcage
#(p q)
#((top) (top))
- #("i60405" "i60406"))
+ #("l-*-37661" "l-*-37662"))
#(ribcage () () ())
#(ribcage
#(p lev)
#((top) (top))
- #("i60401" "i60402"))
+ #("l-*-37657" "l-*-37658"))
#(ribcage
(emit quasivector
quasilist*
@@ -20628,13 +20707,13 @@
(top)
(top)
(top))
- ("i60362"
- "i60360"
- "i60358"
- "i60356"
- "i60354"
- "i60352"
- "i60350"))
+ ("l-*-37618"
+ "l-*-37616"
+ "l-*-37614"
+ "l-*-37612"
+ "l-*-37610"
+ "l-*-37608"
+ "l-*-37606"))
#(ribcage
(quasiquote)
((top))
@@ -20645,14 +20724,12 @@
((top))
(hygiene guile))))))
(hygiene guile)))
- (#{quasi 60620}#
- #{p 60823}#
- (#{1-}# #{lev 60810}#)))
- (#{vquasi 60621}# #{q 60817}# #{lev 60810}#))))
- #{tmp 60819}#)
- (let ((#{tmp 60869}#
+ (quasi-37876 p-38079 (#{1-}# lev-38066)))
+ (vquasi-37877 q-38073 lev-38066))))
+ tmp-38075)
+ (let ((tmp-38125
($sc-dispatch
- #{p 60816}#
+ p-38072
'(#(free-id
#(syntax-object
unquote-splicing
@@ -20660,12 +20737,12 @@
#(ribcage
#(p q)
#((top) (top))
- #("i60405" "i60406"))
+ #("l-*-37661" "l-*-37662"))
#(ribcage () () ())
#(ribcage
#(p lev)
#((top) (top))
- #("i60401" "i60402"))
+ #("l-*-37657" "l-*-37658"))
#(ribcage
(emit quasivector
quasilist*
@@ -20680,13 +20757,13 @@
(top)
(top)
(top))
- ("i60362"
- "i60360"
- "i60358"
- "i60356"
- "i60354"
- "i60352"
- "i60350"))
+ ("l-*-37618"
+ "l-*-37616"
+ "l-*-37614"
+ "l-*-37612"
+ "l-*-37610"
+ "l-*-37608"
+ "l-*-37606"))
#(ribcage
(quasiquote)
((top))
@@ -20699,28 +20776,30 @@
(hygiene guile)))
.
each-any))))
- (if #{tmp 60869}#
+ (if tmp-38125
(@apply
- (lambda (#{p 60873}#)
- (if (= #{lev 60810}# 0)
- (#{quasiappend 60623}#
- (map (lambda (#{tmp 60418 60876}#)
+ (lambda (p-38129)
+ (if (= lev-38066 0)
+ (quasiappend-37879
+ (map (lambda (tmp-37674-38132)
(list '#(syntax-object
"value"
((top)
#(ribcage
#(p)
#((top))
- #("i60416"))
+ #("l-*-37672"))
#(ribcage
#(p q)
#((top) (top))
- #("i60405" "i60406"))
+ #("l-*-37661"
+ "l-*-37662"))
#(ribcage () () ())
#(ribcage
#(p lev)
#((top) (top))
- #("i60401" "i60402"))
+ #("l-*-37657"
+ "l-*-37658"))
#(ribcage
(emit quasivector
quasilist*
@@ -20735,13 +20814,13 @@
(top)
(top)
(top))
- ("i60362"
- "i60360"
- "i60358"
- "i60356"
- "i60354"
- "i60352"
- "i60350"))
+ ("l-*-37618"
+ "l-*-37616"
+ "l-*-37614"
+ "l-*-37612"
+ "l-*-37610"
+ "l-*-37608"
+ "l-*-37606"))
#(ribcage
(quasiquote)
((top))
@@ -20752,26 +20831,27 @@
((top))
(hygiene guile))))))
(hygiene guile))
- #{tmp 60418 60876}#))
- #{p 60873}#)
- (#{vquasi 60621}#
- #{q 60817}#
- #{lev 60810}#))
- (#{quasicons 60622}#
- (#{quasicons 60622}#
+ tmp-37674-38132))
+ p-38129)
+ (vquasi-37877 q-38073 lev-38066))
+ (quasicons-37878
+ (quasicons-37878
'(#(syntax-object
"quote"
((top)
- #(ribcage #(p) #((top)) #("i60416"))
+ #(ribcage
+ #(p)
+ #((top))
+ #("l-*-37672"))
#(ribcage
#(p q)
#((top) (top))
- #("i60405" "i60406"))
+ #("l-*-37661" "l-*-37662"))
#(ribcage () () ())
#(ribcage
#(p lev)
#((top) (top))
- #("i60401" "i60402"))
+ #("l-*-37657" "l-*-37658"))
#(ribcage
(emit quasivector
quasilist*
@@ -20786,13 +20866,13 @@
(top)
(top)
(top))
- ("i60362"
- "i60360"
- "i60358"
- "i60356"
- "i60354"
- "i60352"
- "i60350"))
+ ("l-*-37618"
+ "l-*-37616"
+ "l-*-37614"
+ "l-*-37612"
+ "l-*-37610"
+ "l-*-37608"
+ "l-*-37606"))
#(ribcage
(quasiquote)
((top))
@@ -20806,16 +20886,19 @@
#(syntax-object
unquote-splicing
((top)
- #(ribcage #(p) #((top)) #("i60416"))
+ #(ribcage
+ #(p)
+ #((top))
+ #("l-*-37672"))
#(ribcage
#(p q)
#((top) (top))
- #("i60405" "i60406"))
+ #("l-*-37661" "l-*-37662"))
#(ribcage () () ())
#(ribcage
#(p lev)
#((top) (top))
- #("i60401" "i60402"))
+ #("l-*-37657" "l-*-37658"))
#(ribcage
(emit quasivector
quasilist*
@@ -20830,13 +20913,13 @@
(top)
(top)
(top))
- ("i60362"
- "i60360"
- "i60358"
- "i60356"
- "i60354"
- "i60352"
- "i60350"))
+ ("l-*-37618"
+ "l-*-37616"
+ "l-*-37614"
+ "l-*-37612"
+ "l-*-37610"
+ "l-*-37608"
+ "l-*-37606"))
#(ribcage
(quasiquote)
((top))
@@ -20847,19 +20930,15 @@
((top))
(hygiene guile))))))
(hygiene guile)))
- (#{quasi 60620}#
- #{p 60873}#
- (#{1-}# #{lev 60810}#)))
- (#{vquasi 60621}#
- #{q 60817}#
- #{lev 60810}#))))
- #{tmp 60869}#)
- (#{quasicons 60622}#
- (#{quasi 60620}# #{p 60816}# #{lev 60810}#)
- (#{vquasi 60621}# #{q 60817}# #{lev 60810}#)))))))
- #{tmp 60812}#)
- (let ((#{tmp 60894}# ($sc-dispatch #{p 60809}# '())))
- (if #{tmp 60894}#
+ (quasi-37876 p-38129 (#{1-}# lev-38066)))
+ (vquasi-37877 q-38073 lev-38066))))
+ tmp-38125)
+ (quasicons-37878
+ (quasi-37876 p-38072 lev-38066)
+ (vquasi-37877 q-38073 lev-38066)))))))
+ tmp-38068)
+ (let ((tmp-38150 ($sc-dispatch p-38065 '())))
+ (if tmp-38150
(@apply
(lambda ()
'(#(syntax-object
@@ -20869,7 +20948,7 @@
#(ribcage
#(p lev)
#((top) (top))
- #("i60401" "i60402"))
+ #("l-*-37657" "l-*-37658"))
#(ribcage
(emit quasivector
quasilist*
@@ -20878,13 +20957,13 @@
vquasi
quasi)
((top) (top) (top) (top) (top) (top) (top))
- ("i60362"
- "i60360"
- "i60358"
- "i60356"
- "i60354"
- "i60352"
- "i60350"))
+ ("l-*-37618"
+ "l-*-37616"
+ "l-*-37614"
+ "l-*-37612"
+ "l-*-37610"
+ "l-*-37608"
+ "l-*-37606"))
#(ribcage
(quasiquote)
((top))
@@ -20896,55 +20975,52 @@
(hygiene guile))))))
(hygiene guile))
()))
- #{tmp 60894}#)
+ tmp-38150)
(syntax-violation
#f
"source expression failed to match any pattern"
- #{p 60809}#)))))))
- (#{quasicons 60622}#
- (lambda (#{x 60907}# #{y 60908}#)
- (let ((#{tmp 60909}# (list #{x 60907}# #{y 60908}#)))
- (let ((#{tmp 60910}#
- ($sc-dispatch #{tmp 60909}# '(any any))))
- (if #{tmp 60910}#
+ p-38065)))))))
+ (quasicons-37878
+ (lambda (x-38163 y-38164)
+ (let ((tmp-38165 (list x-38163 y-38164)))
+ (let ((tmp-38166 ($sc-dispatch tmp-38165 '(any any))))
+ (if tmp-38166
(@apply
- (lambda (#{x 60912}# #{y 60913}#)
- (let ((#{tmp 60915}#
- ($sc-dispatch
- #{y 60913}#
- '(#(atom "quote") any))))
- (if #{tmp 60915}#
+ (lambda (x-38168 y-38169)
+ (let ((tmp-38171
+ ($sc-dispatch y-38169 '(#(atom "quote") any))))
+ (if tmp-38171
(@apply
- (lambda (#{dy 60919}#)
- (let ((#{tmp 60921}#
+ (lambda (dy-38175)
+ (let ((tmp-38177
($sc-dispatch
- #{x 60912}#
+ x-38168
'(#(atom "quote") any))))
- (if #{tmp 60921}#
+ (if tmp-38177
(@apply
- (lambda (#{dx 60925}#)
+ (lambda (dx-38181)
(list '#(syntax-object
"quote"
((top)
#(ribcage
#(dx)
#((top))
- #("i60440"))
+ #("l-*-37696"))
#(ribcage
#(dy)
#((top))
- #("i60436"))
+ #("l-*-37692"))
#(ribcage () () ())
#(ribcage
#(x y)
#((top) (top))
- #("i60430" "i60431"))
+ #("l-*-37686" "l-*-37687"))
#(ribcage () () ())
#(ribcage () () ())
#(ribcage
#(x y)
#((top) (top))
- #("i60425" "i60426"))
+ #("l-*-37681" "l-*-37682"))
#(ribcage
(emit quasivector
quasilist*
@@ -20959,13 +21035,13 @@
(top)
(top)
(top))
- ("i60362"
- "i60360"
- "i60358"
- "i60356"
- "i60354"
- "i60352"
- "i60350"))
+ ("l-*-37618"
+ "l-*-37616"
+ "l-*-37614"
+ "l-*-37612"
+ "l-*-37610"
+ "l-*-37608"
+ "l-*-37606"))
#(ribcage
(quasiquote)
((top))
@@ -20976,31 +21052,31 @@
((top))
(hygiene guile))))))
(hygiene guile))
- (cons #{dx 60925}# #{dy 60919}#)))
- #{tmp 60921}#)
- (if (null? #{dy 60919}#)
+ (cons dx-38181 dy-38175)))
+ tmp-38177)
+ (if (null? dy-38175)
(list '#(syntax-object
"list"
((top)
#(ribcage
#(_)
#((top))
- #("i60442"))
+ #("l-*-37698"))
#(ribcage
#(dy)
#((top))
- #("i60436"))
+ #("l-*-37692"))
#(ribcage () () ())
#(ribcage
#(x y)
#((top) (top))
- #("i60430" "i60431"))
+ #("l-*-37686" "l-*-37687"))
#(ribcage () () ())
#(ribcage () () ())
#(ribcage
#(x y)
#((top) (top))
- #("i60425" "i60426"))
+ #("l-*-37681" "l-*-37682"))
#(ribcage
(emit quasivector
quasilist*
@@ -21015,13 +21091,13 @@
(top)
(top)
(top))
- ("i60362"
- "i60360"
- "i60358"
- "i60356"
- "i60354"
- "i60352"
- "i60350"))
+ ("l-*-37618"
+ "l-*-37616"
+ "l-*-37614"
+ "l-*-37612"
+ "l-*-37610"
+ "l-*-37608"
+ "l-*-37606"))
#(ribcage
(quasiquote)
((top))
@@ -21032,29 +21108,29 @@
((top))
(hygiene guile))))))
(hygiene guile))
- #{x 60912}#)
+ x-38168)
(list '#(syntax-object
"list*"
((top)
#(ribcage
#(_)
#((top))
- #("i60442"))
+ #("l-*-37698"))
#(ribcage
#(dy)
#((top))
- #("i60436"))
+ #("l-*-37692"))
#(ribcage () () ())
#(ribcage
#(x y)
#((top) (top))
- #("i60430" "i60431"))
+ #("l-*-37686" "l-*-37687"))
#(ribcage () () ())
#(ribcage () () ())
#(ribcage
#(x y)
#((top) (top))
- #("i60425" "i60426"))
+ #("l-*-37681" "l-*-37682"))
#(ribcage
(emit quasivector
quasilist*
@@ -21069,13 +21145,13 @@
(top)
(top)
(top))
- ("i60362"
- "i60360"
- "i60358"
- "i60356"
- "i60354"
- "i60352"
- "i60350"))
+ ("l-*-37618"
+ "l-*-37616"
+ "l-*-37614"
+ "l-*-37612"
+ "l-*-37610"
+ "l-*-37608"
+ "l-*-37606"))
#(ribcage
(quasiquote)
((top))
@@ -21086,34 +21162,34 @@
((top))
(hygiene guile))))))
(hygiene guile))
- #{x 60912}#
- #{y 60913}#)))))
- #{tmp 60915}#)
- (let ((#{tmp 60930}#
+ x-38168
+ y-38169)))))
+ tmp-38171)
+ (let ((tmp-38186
($sc-dispatch
- #{y 60913}#
+ y-38169
'(#(atom "list") . any))))
- (if #{tmp 60930}#
+ (if tmp-38186
(@apply
- (lambda (#{stuff 60934}#)
+ (lambda (stuff-38190)
(cons '#(syntax-object
"list"
((top)
#(ribcage
#(stuff)
#((top))
- #("i60445"))
+ #("l-*-37701"))
#(ribcage () () ())
#(ribcage
#(x y)
#((top) (top))
- #("i60430" "i60431"))
+ #("l-*-37686" "l-*-37687"))
#(ribcage () () ())
#(ribcage () () ())
#(ribcage
#(x y)
#((top) (top))
- #("i60425" "i60426"))
+ #("l-*-37681" "l-*-37682"))
#(ribcage
(emit quasivector
quasilist*
@@ -21128,13 +21204,13 @@
(top)
(top)
(top))
- ("i60362"
- "i60360"
- "i60358"
- "i60356"
- "i60354"
- "i60352"
- "i60350"))
+ ("l-*-37618"
+ "l-*-37616"
+ "l-*-37614"
+ "l-*-37612"
+ "l-*-37610"
+ "l-*-37608"
+ "l-*-37606"))
#(ribcage
(quasiquote)
((top))
@@ -21145,33 +21221,33 @@
((top))
(hygiene guile))))))
(hygiene guile))
- (cons #{x 60912}# #{stuff 60934}#)))
- #{tmp 60930}#)
- (let ((#{tmp 60935}#
+ (cons x-38168 stuff-38190)))
+ tmp-38186)
+ (let ((tmp-38191
($sc-dispatch
- #{y 60913}#
+ y-38169
'(#(atom "list*") . any))))
- (if #{tmp 60935}#
+ (if tmp-38191
(@apply
- (lambda (#{stuff 60939}#)
+ (lambda (stuff-38195)
(cons '#(syntax-object
"list*"
((top)
#(ribcage
#(stuff)
#((top))
- #("i60448"))
+ #("l-*-37704"))
#(ribcage () () ())
#(ribcage
#(x y)
#((top) (top))
- #("i60430" "i60431"))
+ #("l-*-37686" "l-*-37687"))
#(ribcage () () ())
#(ribcage () () ())
#(ribcage
#(x y)
#((top) (top))
- #("i60425" "i60426"))
+ #("l-*-37681" "l-*-37682"))
#(ribcage
(emit quasivector
quasilist*
@@ -21186,13 +21262,13 @@
(top)
(top)
(top))
- ("i60362"
- "i60360"
- "i60358"
- "i60356"
- "i60354"
- "i60352"
- "i60350"))
+ ("l-*-37618"
+ "l-*-37616"
+ "l-*-37614"
+ "l-*-37612"
+ "l-*-37610"
+ "l-*-37608"
+ "l-*-37606"))
#(ribcage
(quasiquote)
((top))
@@ -21203,23 +21279,26 @@
((top))
(hygiene guile))))))
(hygiene guile))
- (cons #{x 60912}# #{stuff 60939}#)))
- #{tmp 60935}#)
+ (cons x-38168 stuff-38195)))
+ tmp-38191)
(list '#(syntax-object
"list*"
((top)
- #(ribcage #(_) #((top)) #("i60450"))
+ #(ribcage
+ #(_)
+ #((top))
+ #("l-*-37706"))
#(ribcage () () ())
#(ribcage
#(x y)
#((top) (top))
- #("i60430" "i60431"))
+ #("l-*-37686" "l-*-37687"))
#(ribcage () () ())
#(ribcage () () ())
#(ribcage
#(x y)
#((top) (top))
- #("i60425" "i60426"))
+ #("l-*-37681" "l-*-37682"))
#(ribcage
(emit quasivector
quasilist*
@@ -21234,13 +21313,13 @@
(top)
(top)
(top))
- ("i60362"
- "i60360"
- "i60358"
- "i60356"
- "i60354"
- "i60352"
- "i60350"))
+ ("l-*-37618"
+ "l-*-37616"
+ "l-*-37614"
+ "l-*-37612"
+ "l-*-37610"
+ "l-*-37608"
+ "l-*-37606"))
#(ribcage
(quasiquote)
((top))
@@ -21251,21 +21330,21 @@
((top))
(hygiene guile))))))
(hygiene guile))
- #{x 60912}#
- #{y 60913}#))))))))
- #{tmp 60910}#)
+ x-38168
+ y-38169))))))))
+ tmp-38166)
(syntax-violation
#f
"source expression failed to match any pattern"
- #{tmp 60909}#))))))
- (#{quasiappend 60623}#
- (lambda (#{x 60950}# #{y 60951}#)
- (let ((#{tmp 60953}#
- ($sc-dispatch #{y 60951}# '(#(atom "quote") ()))))
- (if #{tmp 60953}#
+ tmp-38165))))))
+ (quasiappend-37879
+ (lambda (x-38206 y-38207)
+ (let ((tmp-38209
+ ($sc-dispatch y-38207 '(#(atom "quote") ()))))
+ (if tmp-38209
(@apply
(lambda ()
- (if (null? #{x 60950}#)
+ (if (null? x-38206)
'(#(syntax-object
"quote"
((top)
@@ -21273,7 +21352,7 @@
#(ribcage
#(x y)
#((top) (top))
- #("i60454" "i60455"))
+ #("l-*-37710" "l-*-37711"))
#(ribcage
(emit quasivector
quasilist*
@@ -21282,13 +21361,13 @@
vquasi
quasi)
((top) (top) (top) (top) (top) (top) (top))
- ("i60362"
- "i60360"
- "i60358"
- "i60356"
- "i60354"
- "i60352"
- "i60350"))
+ ("l-*-37618"
+ "l-*-37616"
+ "l-*-37614"
+ "l-*-37612"
+ "l-*-37610"
+ "l-*-37608"
+ "l-*-37606"))
#(ribcage
(quasiquote)
((top))
@@ -21300,23 +21379,25 @@
(hygiene guile))))))
(hygiene guile))
())
- (if (null? (cdr #{x 60950}#))
- (car #{x 60950}#)
- (let ((#{tmp 60958}#
- ($sc-dispatch #{x 60950}# 'each-any)))
- (if #{tmp 60958}#
+ (if (null? (cdr x-38206))
+ (car x-38206)
+ (let ((tmp-38214 ($sc-dispatch x-38206 'each-any)))
+ (if tmp-38214
(@apply
- (lambda (#{p 60962}#)
+ (lambda (p-38218)
(cons '#(syntax-object
"append"
((top)
#(ribcage () () ())
- #(ribcage #(p) #((top)) #("i60466"))
+ #(ribcage
+ #(p)
+ #((top))
+ #("l-*-37722"))
#(ribcage () () ())
#(ribcage
#(x y)
#((top) (top))
- #("i60454" "i60455"))
+ #("l-*-37710" "l-*-37711"))
#(ribcage
(emit quasivector
quasilist*
@@ -21331,13 +21412,13 @@
(top)
(top)
(top))
- ("i60362"
- "i60360"
- "i60358"
- "i60356"
- "i60354"
- "i60352"
- "i60350"))
+ ("l-*-37618"
+ "l-*-37616"
+ "l-*-37614"
+ "l-*-37612"
+ "l-*-37610"
+ "l-*-37608"
+ "l-*-37606"))
#(ribcage
(quasiquote)
((top))
@@ -21348,21 +21429,21 @@
((top))
(hygiene guile))))))
(hygiene guile))
- #{p 60962}#))
- #{tmp 60958}#)
+ p-38218))
+ tmp-38214)
(syntax-violation
#f
"source expression failed to match any pattern"
- #{x 60950}#))))))
- #{tmp 60953}#)
- (if (null? #{x 60950}#)
- #{y 60951}#
- (let ((#{tmp 60970}# (list #{x 60950}# #{y 60951}#)))
- (let ((#{tmp 60971}#
- ($sc-dispatch #{tmp 60970}# '(each-any any))))
- (if #{tmp 60971}#
+ x-38206))))))
+ tmp-38209)
+ (if (null? x-38206)
+ y-38207
+ (let ((tmp-38226 (list x-38206 y-38207)))
+ (let ((tmp-38227
+ ($sc-dispatch tmp-38226 '(each-any any))))
+ (if tmp-38227
(@apply
- (lambda (#{p 60973}# #{y 60974}#)
+ (lambda (p-38229 y-38230)
(cons '#(syntax-object
"append"
((top)
@@ -21370,13 +21451,13 @@
#(ribcage
#(p y)
#((top) (top))
- #("i60477" "i60478"))
- #(ribcage #(_) #((top)) #("i60469"))
+ #("l-*-37733" "l-*-37734"))
+ #(ribcage #(_) #((top)) #("l-*-37725"))
#(ribcage () () ())
#(ribcage
#(x y)
#((top) (top))
- #("i60454" "i60455"))
+ #("l-*-37710" "l-*-37711"))
#(ribcage
(emit quasivector
quasilist*
@@ -21391,13 +21472,13 @@
(top)
(top)
(top))
- ("i60362"
- "i60360"
- "i60358"
- "i60356"
- "i60354"
- "i60352"
- "i60350"))
+ ("l-*-37618"
+ "l-*-37616"
+ "l-*-37614"
+ "l-*-37612"
+ "l-*-37610"
+ "l-*-37608"
+ "l-*-37606"))
#(ribcage
(quasiquote)
((top))
@@ -21408,36 +21489,36 @@
((top))
(hygiene guile))))))
(hygiene guile))
- (append #{p 60973}# (list #{y 60974}#))))
- #{tmp 60971}#)
+ (append p-38229 (list y-38230))))
+ tmp-38227)
(syntax-violation
#f
"source expression failed to match any pattern"
- #{tmp 60970}#)))))))))
- (#{quasilist* 60624}#
- (lambda (#{x 60978}# #{y 60979}#)
+ tmp-38226)))))))))
+ (quasilist*-37880
+ (lambda (x-38234 y-38235)
(letrec*
- ((#{f 60980}#
- (lambda (#{x 61084}#)
- (if (null? #{x 61084}#)
- #{y 60979}#
- (#{quasicons 60622}#
- (car #{x 61084}#)
- (#{f 60980}# (cdr #{x 61084}#)))))))
- (#{f 60980}# #{x 60978}#))))
- (#{emit 60626}#
- (lambda (#{x 61087}#)
- (let ((#{tmp 61089}#
- ($sc-dispatch #{x 61087}# '(#(atom "quote") any))))
- (if #{tmp 61089}#
+ ((f-38236
+ (lambda (x-38340)
+ (if (null? x-38340)
+ y-38235
+ (quasicons-37878
+ (car x-38340)
+ (f-38236 (cdr x-38340)))))))
+ (f-38236 x-38234))))
+ (emit-37882
+ (lambda (x-38343)
+ (let ((tmp-38345
+ ($sc-dispatch x-38343 '(#(atom "quote") any))))
+ (if tmp-38345
(@apply
- (lambda (#{x 61093}#)
+ (lambda (x-38349)
(list '#(syntax-object
quote
((top)
- #(ribcage #(x) #((top)) #("i60544"))
+ #(ribcage #(x) #((top)) #("l-*-37800"))
#(ribcage () () ())
- #(ribcage #(x) #((top)) #("i60541"))
+ #(ribcage #(x) #((top)) #("l-*-37797"))
#(ribcage
(emit quasivector
quasilist*
@@ -21446,13 +21527,13 @@
vquasi
quasi)
((top) (top) (top) (top) (top) (top) (top))
- ("i60362"
- "i60360"
- "i60358"
- "i60356"
- "i60354"
- "i60352"
- "i60350"))
+ ("l-*-37618"
+ "l-*-37616"
+ "l-*-37614"
+ "l-*-37612"
+ "l-*-37610"
+ "l-*-37608"
+ "l-*-37606"))
#(ribcage
(quasiquote)
((top))
@@ -21463,32 +21544,37 @@
((top))
(hygiene guile))))))
(hygiene guile))
- #{x 61093}#))
- #{tmp 61089}#)
- (let ((#{tmp 61094}#
+ x-38349))
+ tmp-38345)
+ (let ((tmp-38350
($sc-dispatch
- #{x 61087}#
+ x-38343
'(#(atom "list") . each-any))))
- (if #{tmp 61094}#
+ (if tmp-38350
(@apply
- (lambda (#{x 61098}#)
- (let ((#{tmp 61099}# (map #{emit 60626}# #{x 61098}#)))
- (let ((#{tmp 61100}#
- ($sc-dispatch #{tmp 61099}# 'each-any)))
- (if #{tmp 61100}#
+ (lambda (x-38354)
+ (let ((tmp-38355 (map emit-37882 x-38354)))
+ (let ((tmp-38356 ($sc-dispatch tmp-38355 'each-any)))
+ (if tmp-38356
(@apply
- (lambda (#{ g60549 61102}#)
+ (lambda (t-37805-38358)
(cons '#(syntax-object
list
((top)
#(ribcage () () ())
#(ribcage
- #(#{ g60549}#)
- #((m60550 top))
- #("i60554"))
- #(ribcage #(x) #((top)) #("i60547"))
+ #(t-37805)
+ #((m-*-37806 top))
+ #("l-*-37810"))
+ #(ribcage
+ #(x)
+ #((top))
+ #("l-*-37803"))
#(ribcage () () ())
- #(ribcage #(x) #((top)) #("i60541"))
+ #(ribcage
+ #(x)
+ #((top))
+ #("l-*-37797"))
#(ribcage
(emit quasivector
quasilist*
@@ -21503,13 +21589,13 @@
(top)
(top)
(top))
- ("i60362"
- "i60360"
- "i60358"
- "i60356"
- "i60354"
- "i60352"
- "i60350"))
+ ("l-*-37618"
+ "l-*-37616"
+ "l-*-37614"
+ "l-*-37612"
+ "l-*-37610"
+ "l-*-37608"
+ "l-*-37606"))
#(ribcage
(quasiquote)
((top))
@@ -21520,62 +21606,62 @@
((top))
(hygiene guile))))))
(hygiene guile))
- #{ g60549 61102}#))
- #{tmp 61100}#)
+ t-37805-38358))
+ tmp-38356)
(syntax-violation
#f
"source expression failed to match any pattern"
- #{tmp 61099}#)))))
- #{tmp 61094}#)
- (let ((#{tmp 61103}#
+ tmp-38355)))))
+ tmp-38350)
+ (let ((tmp-38359
($sc-dispatch
- #{x 61087}#
+ x-38343
'(#(atom "list*") . #(each+ any (any) ())))))
- (if #{tmp 61103}#
+ (if tmp-38359
(@apply
- (lambda (#{x 61107}# #{y 61108}#)
+ (lambda (x-38363 y-38364)
(letrec*
- ((#{f 61109}#
- (lambda (#{x* 61112}#)
- (if (null? #{x* 61112}#)
- (#{emit 60626}# #{y 61108}#)
- (let ((#{tmp 61113}#
- (list (#{emit 60626}#
- (car #{x* 61112}#))
- (#{f 61109}#
- (cdr #{x* 61112}#)))))
- (let ((#{tmp 61114}#
+ ((f-38365
+ (lambda (x*-38368)
+ (if (null? x*-38368)
+ (emit-37882 y-38364)
+ (let ((tmp-38369
+ (list (emit-37882 (car x*-38368))
+ (f-38365 (cdr x*-38368)))))
+ (let ((tmp-38370
($sc-dispatch
- #{tmp 61113}#
+ tmp-38369
'(any any))))
- (if #{tmp 61114}#
+ (if tmp-38370
(@apply
- (lambda (#{ g60569 61116}#
- #{ g60568 61117}#)
+ (lambda (t-37825-38372
+ t-37824-38373)
(list '#(syntax-object
cons
((top)
#(ribcage () () ())
#(ribcage
- #(#{ g60569}#
- #{ g60568}#)
- #((m60570 top)
- (m60570 top))
- #("i60574" "i60575"))
+ #(t-37825 t-37824)
+ #((m-*-37826 top)
+ (m-*-37826 top))
+ #("l-*-37830"
+ "l-*-37831"))
#(ribcage () () ())
#(ribcage
#(f x*)
#((top) (top))
- #("i60563" "i60564"))
+ #("l-*-37819"
+ "l-*-37820"))
#(ribcage
#(x y)
#((top) (top))
- #("i60559" "i60560"))
+ #("l-*-37815"
+ "l-*-37816"))
#(ribcage () () ())
#(ribcage
#(x)
#((top))
- #("i60541"))
+ #("l-*-37797"))
#(ribcage
(emit quasivector
quasilist*
@@ -21590,13 +21676,13 @@
(top)
(top)
(top))
- ("i60362"
- "i60360"
- "i60358"
- "i60356"
- "i60354"
- "i60352"
- "i60350"))
+ ("l-*-37618"
+ "l-*-37616"
+ "l-*-37614"
+ "l-*-37612"
+ "l-*-37610"
+ "l-*-37608"
+ "l-*-37606"))
#(ribcage
(quasiquote)
((top))
@@ -21608,48 +21694,45 @@
(hygiene
guile))))))
(hygiene guile))
- #{ g60569 61116}#
- #{ g60568 61117}#))
- #{tmp 61114}#)
+ t-37825-38372
+ t-37824-38373))
+ tmp-38370)
(syntax-violation
#f
"source expression failed to match
any pattern"
- #{tmp 61113}#))))))))
- (#{f 61109}# #{x 61107}#)))
- #{tmp 61103}#)
- (let ((#{tmp 61118}#
+ tmp-38369))))))))
+ (f-38365 x-38363)))
+ tmp-38359)
+ (let ((tmp-38374
($sc-dispatch
- #{x 61087}#
+ x-38343
'(#(atom "append") . each-any))))
- (if #{tmp 61118}#
+ (if tmp-38374
(@apply
- (lambda (#{x 61122}#)
- (let ((#{tmp 61123}#
- (map #{emit 60626}# #{x 61122}#)))
- (let ((#{tmp 61124}#
- ($sc-dispatch
- #{tmp 61123}#
- 'each-any)))
- (if #{tmp 61124}#
+ (lambda (x-38378)
+ (let ((tmp-38379 (map emit-37882 x-38378)))
+ (let ((tmp-38380
+ ($sc-dispatch tmp-38379 'each-any)))
+ (if tmp-38380
(@apply
- (lambda (#{ g60581 61126}#)
+ (lambda (t-37837-38382)
(cons '#(syntax-object
append
((top)
#(ribcage () () ())
#(ribcage
- #(#{ g60581}#)
- #((m60582 top))
- #("i60586"))
+ #(t-37837)
+ #((m-*-37838 top))
+ #("l-*-37842"))
#(ribcage
#(x)
#((top))
- #("i60579"))
+ #("l-*-37835"))
#(ribcage () () ())
#(ribcage
#(x)
#((top))
- #("i60541"))
+ #("l-*-37797"))
#(ribcage
(emit quasivector
quasilist*
@@ -21664,13 +21747,13 @@
(top)
(top)
(top))
- ("i60362"
- "i60360"
- "i60358"
- "i60356"
- "i60354"
- "i60352"
- "i60350"))
+ ("l-*-37618"
+ "l-*-37616"
+ "l-*-37614"
+ "l-*-37612"
+ "l-*-37610"
+ "l-*-37608"
+ "l-*-37606"))
#(ribcage
(quasiquote)
((top))
@@ -21681,46 +21764,45 @@
((top))
(hygiene guile))))))
(hygiene guile))
- #{ g60581 61126}#))
- #{tmp 61124}#)
+ t-37837-38382))
+ tmp-38380)
(syntax-violation
#f
"source expression failed to match any
pattern"
- #{tmp 61123}#)))))
- #{tmp 61118}#)
- (let ((#{tmp 61127}#
+ tmp-38379)))))
+ tmp-38374)
+ (let ((tmp-38383
($sc-dispatch
- #{x 61087}#
+ x-38343
'(#(atom "vector") . each-any))))
- (if #{tmp 61127}#
+ (if tmp-38383
(@apply
- (lambda (#{x 61131}#)
- (let ((#{tmp 61132}#
- (map #{emit 60626}# #{x 61131}#)))
- (let ((#{tmp 61133}#
+ (lambda (x-38387)
+ (let ((tmp-38388 (map emit-37882 x-38387)))
+ (let ((tmp-38389
($sc-dispatch
- #{tmp 61132}#
+ tmp-38388
'each-any)))
- (if #{tmp 61133}#
+ (if tmp-38389
(@apply
- (lambda (#{ g60593 61135}#)
+ (lambda (t-37849-38391)
(cons '#(syntax-object
vector
((top)
#(ribcage () () ())
#(ribcage
- #(#{ g60593}#)
- #((m60594 top))
- #("i60598"))
+ #(t-37849)
+ #((m-*-37850 top))
+ #("l-*-37854"))
#(ribcage
#(x)
#((top))
- #("i60591"))
+ #("l-*-37847"))
#(ribcage () () ())
#(ribcage
#(x)
#((top))
- #("i60541"))
+ #("l-*-37797"))
#(ribcage
(emit quasivector
quasilist*
@@ -21735,13 +21817,13 @@
(top)
(top)
(top))
- ("i60362"
- "i60360"
- "i60358"
- "i60356"
- "i60354"
- "i60352"
- "i60350"))
+ ("l-*-37618"
+ "l-*-37616"
+ "l-*-37614"
+ "l-*-37612"
+ "l-*-37610"
+ "l-*-37608"
+ "l-*-37606"))
#(ribcage
(quasiquote)
((top))
@@ -21753,39 +21835,38 @@
(hygiene
guile))))))
(hygiene guile))
- #{ g60593 61135}#))
- #{tmp 61133}#)
+ t-37849-38391))
+ tmp-38389)
(syntax-violation
#f
"source expression failed to match
any pattern"
- #{tmp 61132}#)))))
- #{tmp 61127}#)
- (let ((#{tmp 61136}#
+ tmp-38388)))))
+ tmp-38383)
+ (let ((tmp-38392
($sc-dispatch
- #{x 61087}#
+ x-38343
'(#(atom "list->vector") any))))
- (if #{tmp 61136}#
+ (if tmp-38392
(@apply
- (lambda (#{x 61140}#)
- (let ((#{tmp 61141}#
- (#{emit 60626}# #{x 61140}#)))
+ (lambda (x-38396)
+ (let ((tmp-38397 (emit-37882 x-38396)))
(list '#(syntax-object
list->vector
((top)
#(ribcage () () ())
#(ribcage
- #(#{ g60605}#)
- #((m60606 top))
- #("i60609"))
+ #(t-37861)
+ #((m-*-37862 top))
+ #("l-*-37865"))
#(ribcage
#(x)
#((top))
- #("i60603"))
+ #("l-*-37859"))
#(ribcage () () ())
#(ribcage
#(x)
#((top))
- #("i60541"))
+ #("l-*-37797"))
#(ribcage
(emit quasivector
quasilist*
@@ -21800,13 +21881,13 @@
(top)
(top)
(top))
- ("i60362"
- "i60360"
- "i60358"
- "i60356"
- "i60354"
- "i60352"
- "i60350"))
+ ("l-*-37618"
+ "l-*-37616"
+ "l-*-37614"
+ "l-*-37612"
+ "l-*-37610"
+ "l-*-37608"
+ "l-*-37606"))
#(ribcage
(quasiquote)
((top))
@@ -21817,83 +21898,81 @@
((top))
(hygiene guile))))))
(hygiene guile))
- #{tmp 61141}#)))
- #{tmp 61136}#)
- (let ((#{tmp 61144}#
+ tmp-38397)))
+ tmp-38392)
+ (let ((tmp-38400
($sc-dispatch
- #{x 61087}#
+ x-38343
'(#(atom "value") any))))
- (if #{tmp 61144}#
+ (if tmp-38400
(@apply
- (lambda (#{x 61148}#) #{x 61148}#)
- #{tmp 61144}#)
+ (lambda (x-38404) x-38404)
+ tmp-38400)
(syntax-violation
#f
"source expression failed to match
any pattern"
- #{x 61087}#))))))))))))))))))
- (lambda (#{x 60627}#)
- (let ((#{tmp 60629}#
- ($sc-dispatch #{x 60627}# '(_ any))))
- (if #{tmp 60629}#
+ x-38343))))))))))))))))))
+ (lambda (x-37883)
+ (let ((tmp-37885 ($sc-dispatch x-37883 '(_ any))))
+ (if tmp-37885
(@apply
- (lambda (#{e 60633}#)
- (#{emit 60626}# (#{quasi 60620}# #{e 60633}# 0)))
- #{tmp 60629}#)
+ (lambda (e-37889)
+ (emit-37882 (quasi-37876 e-37889 0)))
+ tmp-37885)
(syntax-violation
#f
"source expression failed to match any pattern"
- #{x 60627}#)))))))
+ x-37883)))))))
(define include
(make-syntax-transformer
'include
'macro
- (lambda (#{x 61204}#)
+ (lambda (x-38460)
(letrec*
- ((#{read-file 61205}#
- (lambda (#{fn 61314}# #{k 61315}#)
- (let ((#{p 61316}# (open-input-file #{fn 61314}#)))
+ ((read-file-38461
+ (lambda (fn-38570 k-38571)
+ (let ((p-38572 (open-input-file fn-38570)))
(letrec*
- ((#{f 61317}#
- (lambda (#{x 61371}# #{result 61372}#)
- (if (eof-object? #{x 61371}#)
+ ((f-38573
+ (lambda (x-38627 result-38628)
+ (if (eof-object? x-38627)
(begin
- (close-input-port #{p 61316}#)
- (reverse #{result 61372}#))
- (#{f 61317}#
- (read #{p 61316}#)
- (cons (datum->syntax #{k 61315}# #{x 61371}#)
- #{result 61372}#))))))
- (#{f 61317}# (read #{p 61316}#) '()))))))
- (let ((#{tmp 61207}#
- ($sc-dispatch #{x 61204}# '(any any))))
- (if #{tmp 61207}#
+ (close-input-port p-38572)
+ (reverse result-38628))
+ (f-38573
+ (read p-38572)
+ (cons (datum->syntax k-38571 x-38627)
+ result-38628))))))
+ (f-38573 (read p-38572) '()))))))
+ (let ((tmp-38463 ($sc-dispatch x-38460 '(any any))))
+ (if tmp-38463
(@apply
- (lambda (#{k 61211}# #{filename 61212}#)
- (let ((#{fn 61213}# (syntax->datum #{filename 61212}#)))
- (let ((#{tmp 61214}#
- (#{read-file 61205}#
- #{fn 61213}#
- #{filename 61212}#)))
- (let ((#{tmp 61215}#
- ($sc-dispatch #{tmp 61214}# 'each-any)))
- (if #{tmp 61215}#
+ (lambda (k-38467 filename-38468)
+ (let ((fn-38469 (syntax->datum filename-38468)))
+ (let ((tmp-38470
+ (read-file-38461 fn-38469 filename-38468)))
+ (let ((tmp-38471 ($sc-dispatch tmp-38470 'each-any)))
+ (if tmp-38471
(@apply
- (lambda (#{exp 61233}#)
+ (lambda (exp-38489)
(cons '#(syntax-object
begin
((top)
#(ribcage () () ())
- #(ribcage #(exp) #((top)) #("i61201"))
+ #(ribcage #(exp) #((top)) #("l-*-38457"))
#(ribcage () () ())
#(ribcage () () ())
- #(ribcage #(fn) #((top)) #("i61196"))
+ #(ribcage #(fn) #((top)) #("l-*-38452"))
#(ribcage
#(k filename)
#((top) (top))
- #("i61192" "i61193"))
- #(ribcage (read-file) ((top)) ("i61176"))
- #(ribcage #(x) #((top)) #("i61175"))
+ #("l-*-38448" "l-*-38449"))
+ #(ribcage
+ (read-file)
+ ((top))
+ ("l-*-38432"))
+ #(ribcage #(x) #((top)) #("l-*-38431"))
#(ribcage
(include)
((top))
@@ -21904,54 +21983,53 @@
((top))
(hygiene guile))))))
(hygiene guile))
- #{exp 61233}#))
- #{tmp 61215}#)
+ exp-38489))
+ tmp-38471)
(syntax-violation
#f
"source expression failed to match any pattern"
- #{tmp 61214}#))))))
- #{tmp 61207}#)
+ tmp-38470))))))
+ tmp-38463)
(syntax-violation
#f
"source expression failed to match any pattern"
- #{x 61204}#)))))))
+ x-38460)))))))
(define include-from-path
(make-syntax-transformer
'include-from-path
'macro
- (lambda (#{x 61392}#)
- (let ((#{tmp 61394}#
- ($sc-dispatch #{x 61392}# '(any any))))
- (if #{tmp 61394}#
+ (lambda (x-38648)
+ (let ((tmp-38650 ($sc-dispatch x-38648 '(any any))))
+ (if tmp-38650
(@apply
- (lambda (#{k 61398}# #{filename 61399}#)
- (let ((#{fn 61400}# (syntax->datum #{filename 61399}#)))
- (let ((#{tmp 61401}#
+ (lambda (k-38654 filename-38655)
+ (let ((fn-38656 (syntax->datum filename-38655)))
+ (let ((tmp-38657
(datum->syntax
- #{filename 61399}#
- (let ((#{t 61404}# (%search-load-path #{fn 61400}#)))
- (if #{t 61404}#
- #{t 61404}#
+ filename-38655
+ (let ((t-38660 (%search-load-path fn-38656)))
+ (if t-38660
+ t-38660
(syntax-violation
'include-from-path
"file not found in path"
- #{x 61392}#
- #{filename 61399}#))))))
+ x-38648
+ filename-38655))))))
(list '#(syntax-object
include
((top)
#(ribcage () () ())
- #(ribcage #(fn) #((top)) #("i61386"))
+ #(ribcage #(fn) #((top)) #("l-*-38642"))
#(ribcage () () ())
#(ribcage () () ())
- #(ribcage #(fn) #((top)) #("i61382"))
+ #(ribcage #(fn) #((top)) #("l-*-38638"))
#(ribcage
#(k filename)
#((top) (top))
- #("i61378" "i61379"))
+ #("l-*-38634" "l-*-38635"))
#(ribcage () () ())
- #(ribcage #(x) #((top)) #("i61375"))
+ #(ribcage #(x) #((top)) #("l-*-38631"))
#(ribcage
(include-from-path)
((top))
@@ -21962,53 +22040,51 @@
((top))
(hygiene guile))))))
(hygiene guile))
- #{tmp 61401}#))))
- #{tmp 61394}#)
+ tmp-38657))))
+ tmp-38650)
(syntax-violation
#f
"source expression failed to match any pattern"
- #{x 61392}#))))))
+ x-38648))))))
(define unquote
(make-syntax-transformer
'unquote
'macro
- (lambda (#{x 61414}#)
+ (lambda (x-38670)
(syntax-violation
'unquote
"expression not valid outside of quasiquote"
- #{x 61414}#))))
+ x-38670))))
(define unquote-splicing
(make-syntax-transformer
'unquote-splicing
'macro
- (lambda (#{x 61418}#)
+ (lambda (x-38674)
(syntax-violation
'unquote-splicing
"expression not valid outside of quasiquote"
- #{x 61418}#))))
+ x-38674))))
(define case
(make-syntax-transformer
'case
'macro
- (lambda (#{x 61475}#)
- (let ((#{tmp 61477}#
- ($sc-dispatch
- #{x 61475}#
- '(_ any any . each-any))))
- (if #{tmp 61477}#
+ (lambda (x-38731)
+ (let ((tmp-38733
+ ($sc-dispatch x-38731 '(_ any any . each-any))))
+ (if tmp-38733
(@apply
- (lambda (#{e 61481}# #{m1 61482}# #{m2 61483}#)
- (let ((#{tmp 61484}#
+ (lambda (e-38737 m1-38738 m2-38739)
+ (let ((tmp-38740
(letrec*
- ((#{f 61538}#
- (lambda (#{clause 61541}# #{clauses 61542}#)
- (if (null? #{clauses 61542}#)
- (let ((#{tmp 61544}#
+ ((f-38794
+ (lambda (clause-38797 clauses-38798)
+ (if (null? clauses-38798)
+ (let ((tmp-38800
($sc-dispatch
- #{clause 61541}#
+ clause-38797
'(#(free-id
#(syntax-object
else
@@ -22017,20 +22093,20 @@
#(ribcage
#(f clause clauses)
#((top) (top) (top))
- #("i61434"
- "i61435"
- "i61436"))
+ #("l-*-38690"
+ "l-*-38691"
+ "l-*-38692"))
#(ribcage
#(e m1 m2)
#((top) (top) (top))
- #("i61424"
- "i61425"
- "i61426"))
+ #("l-*-38680"
+ "l-*-38681"
+ "l-*-38682"))
#(ribcage () () ())
#(ribcage
#(x)
#((top))
- #("i61421"))
+ #("l-*-38677"))
#(ribcage
(case)
((top))
@@ -22044,34 +22120,34 @@
any
.
each-any))))
- (if #{tmp 61544}#
+ (if tmp-38800
(@apply
- (lambda (#{e1 61548}# #{e2 61549}#)
+ (lambda (e1-38804 e2-38805)
(cons '#(syntax-object
begin
((top)
#(ribcage
#(e1 e2)
#((top) (top))
- #("i61443" "i61444"))
+ #("l-*-38699" "l-*-38700"))
#(ribcage () () ())
#(ribcage
#(f clause clauses)
#((top) (top) (top))
- #("i61434"
- "i61435"
- "i61436"))
+ #("l-*-38690"
+ "l-*-38691"
+ "l-*-38692"))
#(ribcage
#(e m1 m2)
#((top) (top) (top))
- #("i61424"
- "i61425"
- "i61426"))
+ #("l-*-38680"
+ "l-*-38681"
+ "l-*-38682"))
#(ribcage () () ())
#(ribcage
#(x)
#((top))
- #("i61421"))
+ #("l-*-38677"))
#(ribcage
(case)
((top))
@@ -22082,44 +22158,42 @@
((top))
(hygiene guile))))))
(hygiene guile))
- (cons #{e1 61548}# #{e2 61549}#)))
- #{tmp 61544}#)
- (let ((#{tmp 61550}#
+ (cons e1-38804 e2-38805)))
+ tmp-38800)
+ (let ((tmp-38806
($sc-dispatch
- #{clause 61541}#
+ clause-38797
'(each-any any . each-any))))
- (if #{tmp 61550}#
+ (if tmp-38806
(@apply
- (lambda (#{k 61554}#
- #{e1 61555}#
- #{e2 61556}#)
+ (lambda (k-38810 e1-38811 e2-38812)
(list '#(syntax-object
if
((top)
#(ribcage
#(k e1 e2)
#((top) (top) (top))
- #("i61449"
- "i61450"
- "i61451"))
+ #("l-*-38705"
+ "l-*-38706"
+ "l-*-38707"))
#(ribcage () () ())
#(ribcage
#(f clause clauses)
#((top) (top) (top))
- #("i61434"
- "i61435"
- "i61436"))
+ #("l-*-38690"
+ "l-*-38691"
+ "l-*-38692"))
#(ribcage
#(e m1 m2)
#((top) (top) (top))
- #("i61424"
- "i61425"
- "i61426"))
+ #("l-*-38680"
+ "l-*-38681"
+ "l-*-38682"))
#(ribcage () () ())
#(ribcage
#(x)
#((top))
- #("i61421"))
+ #("l-*-38677"))
#(ribcage
(case)
((top))
@@ -22138,9 +22212,9 @@
#((top)
(top)
(top))
- #("i61449"
- "i61450"
- "i61451"))
+ #("l-*-38705"
+ "l-*-38706"
+ "l-*-38707"))
#(ribcage () () ())
#(ribcage
#(f
@@ -22149,22 +22223,22 @@
#((top)
(top)
(top))
- #("i61434"
- "i61435"
- "i61436"))
+ #("l-*-38690"
+ "l-*-38691"
+ "l-*-38692"))
#(ribcage
#(e m1 m2)
#((top)
(top)
(top))
- #("i61424"
- "i61425"
- "i61426"))
+ #("l-*-38680"
+ "l-*-38681"
+ "l-*-38682"))
#(ribcage () () ())
#(ribcage
#(x)
#((top))
- #("i61421"))
+ #("l-*-38677"))
#(ribcage
(case)
((top))
@@ -22184,9 +22258,9 @@
#((top)
(top)
(top))
- #("i61449"
- "i61450"
- "i61451"))
+ #("l-*-38705"
+ "l-*-38706"
+ "l-*-38707"))
#(ribcage () () ())
#(ribcage
#(f
@@ -22195,22 +22269,22 @@
#((top)
(top)
(top))
- #("i61434"
- "i61435"
- "i61436"))
+ #("l-*-38690"
+ "l-*-38691"
+ "l-*-38692"))
#(ribcage
#(e m1 m2)
#((top)
(top)
(top))
- #("i61424"
- "i61425"
- "i61426"))
+ #("l-*-38680"
+ "l-*-38681"
+ "l-*-38682"))
#(ribcage () () ())
#(ribcage
#(x)
#((top))
- #("i61421"))
+ #("l-*-38677"))
#(ribcage
(case)
((top))
@@ -22230,9 +22304,9 @@
#((top)
(top)
(top))
- #("i61449"
- "i61450"
- "i61451"))
+
#("l-*-38705"
+
"l-*-38706"
+
"l-*-38707"))
#(ribcage
()
()
@@ -22244,17 +22318,17 @@
#((top)
(top)
(top))
- #("i61434"
- "i61435"
- "i61436"))
+
#("l-*-38690"
+
"l-*-38691"
+
"l-*-38692"))
#(ribcage
#(e m1 m2)
#((top)
(top)
(top))
- #("i61424"
- "i61425"
- "i61426"))
+
#("l-*-38680"
+
"l-*-38681"
+
"l-*-38682"))
#(ribcage
()
()
@@ -22262,7 +22336,7 @@
#(ribcage
#(x)
#((top))
- #("i61421"))
+
#("l-*-38677"))
#(ribcage
(case)
((top))
@@ -22276,7 +22350,7 @@
guile))))))
(hygiene
guile))
- #{k 61554}#))
+ k-38810))
(cons '#(syntax-object
begin
((top)
@@ -22285,9 +22359,9 @@
#((top)
(top)
(top))
- #("i61449"
- "i61450"
- "i61451"))
+ #("l-*-38705"
+ "l-*-38706"
+ "l-*-38707"))
#(ribcage () () ())
#(ribcage
#(f
@@ -22296,22 +22370,22 @@
#((top)
(top)
(top))
- #("i61434"
- "i61435"
- "i61436"))
+ #("l-*-38690"
+ "l-*-38691"
+ "l-*-38692"))
#(ribcage
#(e m1 m2)
#((top)
(top)
(top))
- #("i61424"
- "i61425"
- "i61426"))
+ #("l-*-38680"
+ "l-*-38681"
+ "l-*-38682"))
#(ribcage () () ())
#(ribcage
#(x)
#((top))
- #("i61421"))
+ #("l-*-38677"))
#(ribcage
(case)
((top))
@@ -22323,59 +22397,57 @@
(hygiene
guile))))))
(hygiene guile))
- (cons #{e1 61555}#
- #{e2 61556}#))))
- #{tmp 61550}#)
+ (cons e1-38811
+ e2-38812))))
+ tmp-38806)
(syntax-violation
'case
"bad clause"
- #{x 61475}#
- #{clause 61541}#)))))
- (let ((#{tmp 61564}#
- (#{f 61538}#
- (car #{clauses 61542}#)
- (cdr #{clauses 61542}#))))
- (let ((#{tmp 61567}#
+ x-38731
+ clause-38797)))))
+ (let ((tmp-38820
+ (f-38794
+ (car clauses-38798)
+ (cdr clauses-38798))))
+ (let ((tmp-38823
($sc-dispatch
- #{clause 61541}#
+ clause-38797
'(each-any any . each-any))))
- (if #{tmp 61567}#
+ (if tmp-38823
(@apply
- (lambda (#{k 61571}#
- #{e1 61572}#
- #{e2 61573}#)
+ (lambda (k-38827 e1-38828 e2-38829)
(list '#(syntax-object
if
((top)
#(ribcage
#(k e1 e2)
#((top) (top) (top))
- #("i61465"
- "i61466"
- "i61467"))
+ #("l-*-38721"
+ "l-*-38722"
+ "l-*-38723"))
#(ribcage () () ())
#(ribcage
#(rest)
#((top))
- #("i61461"))
+ #("l-*-38717"))
#(ribcage () () ())
#(ribcage
#(f clause clauses)
#((top) (top) (top))
- #("i61434"
- "i61435"
- "i61436"))
+ #("l-*-38690"
+ "l-*-38691"
+ "l-*-38692"))
#(ribcage
#(e m1 m2)
#((top) (top) (top))
- #("i61424"
- "i61425"
- "i61426"))
+ #("l-*-38680"
+ "l-*-38681"
+ "l-*-38682"))
#(ribcage () () ())
#(ribcage
#(x)
#((top))
- #("i61421"))
+ #("l-*-38677"))
#(ribcage
(case)
((top))
@@ -22392,32 +22464,32 @@
#(ribcage
#(k e1 e2)
#((top) (top) (top))
- #("i61465"
- "i61466"
- "i61467"))
+ #("l-*-38721"
+ "l-*-38722"
+ "l-*-38723"))
#(ribcage () () ())
#(ribcage
#(rest)
#((top))
- #("i61461"))
+ #("l-*-38717"))
#(ribcage () () ())
#(ribcage
#(f clause clauses)
#((top) (top) (top))
- #("i61434"
- "i61435"
- "i61436"))
+ #("l-*-38690"
+ "l-*-38691"
+ "l-*-38692"))
#(ribcage
#(e m1 m2)
#((top) (top) (top))
- #("i61424"
- "i61425"
- "i61426"))
+ #("l-*-38680"
+ "l-*-38681"
+ "l-*-38682"))
#(ribcage () () ())
#(ribcage
#(x)
#((top))
- #("i61421"))
+ #("l-*-38677"))
#(ribcage
(case)
((top))
@@ -22435,32 +22507,32 @@
#(ribcage
#(k e1 e2)
#((top) (top) (top))
- #("i61465"
- "i61466"
- "i61467"))
+ #("l-*-38721"
+ "l-*-38722"
+ "l-*-38723"))
#(ribcage () () ())
#(ribcage
#(rest)
#((top))
- #("i61461"))
+ #("l-*-38717"))
#(ribcage () () ())
#(ribcage
#(f clause clauses)
#((top) (top) (top))
- #("i61434"
- "i61435"
- "i61436"))
+ #("l-*-38690"
+ "l-*-38691"
+ "l-*-38692"))
#(ribcage
#(e m1 m2)
#((top) (top) (top))
- #("i61424"
- "i61425"
- "i61426"))
+ #("l-*-38680"
+ "l-*-38681"
+ "l-*-38682"))
#(ribcage () () ())
#(ribcage
#(x)
#((top))
- #("i61421"))
+ #("l-*-38677"))
#(ribcage
(case)
((top))
@@ -22480,9 +22552,9 @@
#((top)
(top)
(top))
- #("i61465"
- "i61466"
- "i61467"))
+ #("l-*-38721"
+ "l-*-38722"
+
"l-*-38723"))
#(ribcage
()
()
@@ -22490,7 +22562,7 @@
#(ribcage
#(rest)
#((top))
- #("i61461"))
+
#("l-*-38717"))
#(ribcage
()
()
@@ -22502,17 +22574,17 @@
#((top)
(top)
(top))
- #("i61434"
- "i61435"
- "i61436"))
+ #("l-*-38690"
+ "l-*-38691"
+
"l-*-38692"))
#(ribcage
#(e m1 m2)
#((top)
(top)
(top))
- #("i61424"
- "i61425"
- "i61426"))
+ #("l-*-38680"
+ "l-*-38681"
+
"l-*-38682"))
#(ribcage
()
()
@@ -22520,7 +22592,7 @@
#(ribcage
#(x)
#((top))
- #("i61421"))
+
#("l-*-38677"))
#(ribcage
(case)
((top))
@@ -22533,39 +22605,39 @@
(hygiene
guile))))))
(hygiene guile))
- #{k 61571}#))
+ k-38827))
(cons '#(syntax-object
begin
((top)
#(ribcage
#(k e1 e2)
#((top) (top) (top))
- #("i61465"
- "i61466"
- "i61467"))
+ #("l-*-38721"
+ "l-*-38722"
+ "l-*-38723"))
#(ribcage () () ())
#(ribcage
#(rest)
#((top))
- #("i61461"))
+ #("l-*-38717"))
#(ribcage () () ())
#(ribcage
#(f clause clauses)
#((top) (top) (top))
- #("i61434"
- "i61435"
- "i61436"))
+ #("l-*-38690"
+ "l-*-38691"
+ "l-*-38692"))
#(ribcage
#(e m1 m2)
#((top) (top) (top))
- #("i61424"
- "i61425"
- "i61426"))
+ #("l-*-38680"
+ "l-*-38681"
+ "l-*-38682"))
#(ribcage () () ())
#(ribcage
#(x)
#((top))
- #("i61421"))
+ #("l-*-38677"))
#(ribcage
(case)
((top))
@@ -22577,28 +22649,27 @@
(hygiene
guile))))))
(hygiene guile))
- (cons #{e1 61572}#
- #{e2 61573}#))
- #{tmp 61564}#))
- #{tmp 61567}#)
+ (cons e1-38828 e2-38829))
+ tmp-38820))
+ tmp-38823)
(syntax-violation
'case
"bad clause"
- #{x 61475}#
- #{clause 61541}#))))))))
- (#{f 61538}# #{m1 61482}# #{m2 61483}#))))
- (let ((#{body 61485}# #{tmp 61484}#))
+ x-38731
+ clause-38797))))))))
+ (f-38794 m1-38738 m2-38739))))
+ (let ((body-38741 tmp-38740))
(list '#(syntax-object
let
((top)
#(ribcage () () ())
- #(ribcage #(body) #((top)) #("i61432"))
+ #(ribcage #(body) #((top)) #("l-*-38688"))
#(ribcage
#(e m1 m2)
#((top) (top) (top))
- #("i61424" "i61425" "i61426"))
+ #("l-*-38680" "l-*-38681" "l-*-38682"))
#(ribcage () () ())
- #(ribcage #(x) #((top)) #("i61421"))
+ #(ribcage #(x) #((top)) #("l-*-38677"))
#(ribcage
(case)
((top))
@@ -22613,13 +22684,18 @@
t
((top)
#(ribcage () () ())
- #(ribcage #(body) #((top)) #("i61432"))
+ #(ribcage
+ #(body)
+ #((top))
+ #("l-*-38688"))
#(ribcage
#(e m1 m2)
#((top) (top) (top))
- #("i61424" "i61425" "i61426"))
+ #("l-*-38680"
+ "l-*-38681"
+ "l-*-38682"))
#(ribcage () () ())
- #(ribcage #(x) #((top)) #("i61421"))
+ #(ribcage #(x) #((top)) #("l-*-38677"))
#(ribcage
(case)
((top))
@@ -22630,46 +22706,44 @@
((top))
(hygiene guile))))))
(hygiene guile))
- #{e 61481}#))
- #{body 61485}#))))
- #{tmp 61477}#)
+ e-38737))
+ body-38741))))
+ tmp-38733)
(syntax-violation
#f
"source expression failed to match any pattern"
- #{x 61475}#))))))
+ x-38731))))))
(define make-variable-transformer
- (lambda (#{proc 61592}#)
- (if (procedure? #{proc 61592}#)
+ (lambda (proc-38848)
+ (if (procedure? proc-38848)
(letrec*
- ((#{trans 61593}#
- (lambda (#{x 61595}#)
- (#{proc 61592}# #{x 61595}#))))
+ ((trans-38849
+ (lambda (x-38851) (proc-38848 x-38851))))
(begin
(set-procedure-property!
- #{trans 61593}#
+ trans-38849
'variable-transformer
#t)
- #{trans 61593}#))
+ trans-38849))
(error "variable transformer not a procedure"
- #{proc 61592}#))))
+ proc-38848))))
(define identifier-syntax
(make-syntax-transformer
'identifier-syntax
'macro
- (lambda (#{x 61632}#)
- (let ((#{tmp 61634}#
- ($sc-dispatch #{x 61632}# '(_ any))))
- (if #{tmp 61634}#
+ (lambda (x-38888)
+ (let ((tmp-38890 ($sc-dispatch x-38888 '(_ any))))
+ (if tmp-38890
(@apply
- (lambda (#{e 61638}#)
+ (lambda (e-38894)
(list '#(syntax-object
lambda
((top)
- #(ribcage #(e) #((top)) #("i61607"))
+ #(ribcage #(e) #((top)) #("l-*-38863"))
#(ribcage () () ())
- #(ribcage #(x) #((top)) #("i61604"))
+ #(ribcage #(x) #((top)) #("l-*-38860"))
#(ribcage
(identifier-syntax)
((top))
@@ -22683,9 +22757,9 @@
'(#(syntax-object
x
((top)
- #(ribcage #(e) #((top)) #("i61607"))
+ #(ribcage #(e) #((top)) #("l-*-38863"))
#(ribcage () () ())
- #(ribcage #(x) #((top)) #("i61604"))
+ #(ribcage #(x) #((top)) #("l-*-38860"))
#(ribcage
(identifier-syntax)
((top))
@@ -22699,9 +22773,9 @@
'#((#(syntax-object
macro-type
((top)
- #(ribcage #(e) #((top)) #("i61607"))
+ #(ribcage #(e) #((top)) #("l-*-38863"))
#(ribcage () () ())
- #(ribcage #(x) #((top)) #("i61604"))
+ #(ribcage #(x) #((top)) #("l-*-38860"))
#(ribcage
(identifier-syntax)
((top))
@@ -22716,9 +22790,9 @@
#(syntax-object
identifier-syntax
((top)
- #(ribcage #(e) #((top)) #("i61607"))
+ #(ribcage #(e) #((top)) #("l-*-38863"))
#(ribcage () () ())
- #(ribcage #(x) #((top)) #("i61604"))
+ #(ribcage #(x) #((top)) #("l-*-38860"))
#(ribcage
(identifier-syntax)
((top))
@@ -22732,9 +22806,9 @@
(list '#(syntax-object
syntax-case
((top)
- #(ribcage #(e) #((top)) #("i61607"))
+ #(ribcage #(e) #((top)) #("l-*-38863"))
#(ribcage () () ())
- #(ribcage #(x) #((top)) #("i61604"))
+ #(ribcage #(x) #((top)) #("l-*-38860"))
#(ribcage
(identifier-syntax)
((top))
@@ -22748,9 +22822,9 @@
'#(syntax-object
x
((top)
- #(ribcage #(e) #((top)) #("i61607"))
+ #(ribcage #(e) #((top)) #("l-*-38863"))
#(ribcage () () ())
- #(ribcage #(x) #((top)) #("i61604"))
+ #(ribcage #(x) #((top)) #("l-*-38860"))
#(ribcage
(identifier-syntax)
((top))
@@ -22765,9 +22839,9 @@
(list '#(syntax-object
id
((top)
- #(ribcage #(e) #((top)) #("i61607"))
+ #(ribcage #(e) #((top)) #("l-*-38863"))
#(ribcage () () ())
- #(ribcage #(x) #((top)) #("i61604"))
+ #(ribcage #(x) #((top)) #("l-*-38860"))
#(ribcage
(identifier-syntax)
((top))
@@ -22781,9 +22855,9 @@
'(#(syntax-object
identifier?
((top)
- #(ribcage #(e) #((top)) #("i61607"))
+ #(ribcage #(e) #((top)) #("l-*-38863"))
#(ribcage () () ())
- #(ribcage #(x) #((top)) #("i61604"))
+ #(ribcage #(x) #((top)) #("l-*-38860"))
#(ribcage
(identifier-syntax)
((top))
@@ -22797,9 +22871,9 @@
(#(syntax-object
syntax
((top)
- #(ribcage #(e) #((top)) #("i61607"))
+ #(ribcage #(e) #((top)) #("l-*-38863"))
#(ribcage () () ())
- #(ribcage #(x) #((top)) #("i61604"))
+ #(ribcage #(x) #((top)) #("l-*-38860"))
#(ribcage
(identifier-syntax)
((top))
@@ -22813,9 +22887,9 @@
#(syntax-object
id
((top)
- #(ribcage #(e) #((top)) #("i61607"))
+ #(ribcage #(e) #((top)) #("l-*-38863"))
#(ribcage () () ())
- #(ribcage #(x) #((top)) #("i61604"))
+ #(ribcage #(x) #((top)) #("l-*-38860"))
#(ribcage
(identifier-syntax)
((top))
@@ -22829,9 +22903,15 @@
(list '#(syntax-object
syntax
((top)
- #(ribcage #(e) #((top)) #("i61607"))
+ #(ribcage
+ #(e)
+ #((top))
+ #("l-*-38863"))
#(ribcage () () ())
- #(ribcage #(x) #((top)) #("i61604"))
+ #(ribcage
+ #(x)
+ #((top))
+ #("l-*-38860"))
#(ribcage
(identifier-syntax)
((top))
@@ -22842,13 +22922,13 @@
((top))
(hygiene guile))))))
(hygiene guile))
- #{e 61638}#))
+ e-38894))
(list '(#(syntax-object
_
((top)
- #(ribcage #(e) #((top)) #("i61607"))
+ #(ribcage #(e) #((top)) #("l-*-38863"))
#(ribcage () () ())
- #(ribcage #(x) #((top)) #("i61604"))
+ #(ribcage #(x) #((top)) #("l-*-38860"))
#(ribcage
(identifier-syntax)
((top))
@@ -22862,9 +22942,9 @@
#(syntax-object
x
((top)
- #(ribcage #(e) #((top)) #("i61607"))
+ #(ribcage #(e) #((top)) #("l-*-38863"))
#(ribcage () () ())
- #(ribcage #(x) #((top)) #("i61604"))
+ #(ribcage #(x) #((top)) #("l-*-38860"))
#(ribcage
(identifier-syntax)
((top))
@@ -22878,9 +22958,9 @@
#(syntax-object
...
((top)
- #(ribcage #(e) #((top)) #("i61607"))
+ #(ribcage #(e) #((top)) #("l-*-38863"))
#(ribcage () () ())
- #(ribcage #(x) #((top)) #("i61604"))
+ #(ribcage #(x) #((top)) #("l-*-38860"))
#(ribcage
(identifier-syntax)
((top))
@@ -22894,9 +22974,15 @@
(list '#(syntax-object
syntax
((top)
- #(ribcage #(e) #((top)) #("i61607"))
+ #(ribcage
+ #(e)
+ #((top))
+ #("l-*-38863"))
#(ribcage () () ())
- #(ribcage #(x) #((top)) #("i61604"))
+ #(ribcage
+ #(x)
+ #((top))
+ #("l-*-38860"))
#(ribcage
(identifier-syntax)
((top))
@@ -22907,19 +22993,19 @@
((top))
(hygiene guile))))))
(hygiene guile))
- (cons #{e 61638}#
+ (cons e-38894
'(#(syntax-object
x
((top)
#(ribcage
#(e)
#((top))
- #("i61607"))
+ #("l-*-38863"))
#(ribcage () () ())
#(ribcage
#(x)
#((top))
- #("i61604"))
+ #("l-*-38860"))
#(ribcage
(identifier-syntax)
((top))
@@ -22936,12 +23022,12 @@
#(ribcage
#(e)
#((top))
- #("i61607"))
+ #("l-*-38863"))
#(ribcage () () ())
#(ribcage
#(x)
#((top))
- #("i61604"))
+ #("l-*-38860"))
#(ribcage
(identifier-syntax)
((top))
@@ -22952,17 +23038,17 @@
((top))
(hygiene guile))))))
(hygiene guile)))))))))
- #{tmp 61634}#)
- (let ((#{tmp 61639}#
+ tmp-38890)
+ (let ((tmp-38895
($sc-dispatch
- #{x 61632}#
+ x-38888
'(_ (any any)
((#(free-id
#(syntax-object
set!
((top)
#(ribcage () () ())
- #(ribcage #(x) #((top)) #("i61604"))
+ #(ribcage #(x) #((top)) #("l-*-38860"))
#(ribcage
(identifier-syntax)
((top))
@@ -22976,33 +23062,37 @@
any
any)
any)))))
- (if (if #{tmp 61639}#
+ (if (if tmp-38895
(@apply
- (lambda (#{id 61643}#
- #{exp1 61644}#
- #{var 61645}#
- #{val 61646}#
- #{exp2 61647}#)
- (if (identifier? #{id 61643}#)
- (identifier? #{var 61645}#)
+ (lambda (id-38899
+ exp1-38900
+ var-38901
+ val-38902
+ exp2-38903)
+ (if (identifier? id-38899)
+ (identifier? var-38901)
#f))
- #{tmp 61639}#)
+ tmp-38895)
#f)
(@apply
- (lambda (#{id 61648}#
- #{exp1 61649}#
- #{var 61650}#
- #{val 61651}#
- #{exp2 61652}#)
+ (lambda (id-38904
+ exp1-38905
+ var-38906
+ val-38907
+ exp2-38908)
(list '#(syntax-object
make-variable-transformer
((top)
#(ribcage
#(id exp1 var val exp2)
#((top) (top) (top) (top) (top))
- #("i61622" "i61623" "i61624" "i61625" "i61626"))
+ #("l-*-38878"
+ "l-*-38879"
+ "l-*-38880"
+ "l-*-38881"
+ "l-*-38882"))
#(ribcage () () ())
- #(ribcage #(x) #((top)) #("i61604"))
+ #(ribcage #(x) #((top)) #("l-*-38860"))
#(ribcage
(identifier-syntax)
((top))
@@ -23019,13 +23109,13 @@
#(ribcage
#(id exp1 var val exp2)
#((top) (top) (top) (top) (top))
- #("i61622"
- "i61623"
- "i61624"
- "i61625"
- "i61626"))
+ #("l-*-38878"
+ "l-*-38879"
+ "l-*-38880"
+ "l-*-38881"
+ "l-*-38882"))
#(ribcage () () ())
- #(ribcage #(x) #((top)) #("i61604"))
+ #(ribcage #(x) #((top)) #("l-*-38860"))
#(ribcage
(identifier-syntax)
((top))
@@ -23042,13 +23132,13 @@
#(ribcage
#(id exp1 var val exp2)
#((top) (top) (top) (top) (top))
- #("i61622"
- "i61623"
- "i61624"
- "i61625"
- "i61626"))
+ #("l-*-38878"
+ "l-*-38879"
+ "l-*-38880"
+ "l-*-38881"
+ "l-*-38882"))
#(ribcage () () ())
- #(ribcage #(x) #((top)) #("i61604"))
+ #(ribcage #(x) #((top)) #("l-*-38860"))
#(ribcage
(identifier-syntax)
((top))
@@ -23065,13 +23155,13 @@
#(ribcage
#(id exp1 var val exp2)
#((top) (top) (top) (top) (top))
- #("i61622"
- "i61623"
- "i61624"
- "i61625"
- "i61626"))
+ #("l-*-38878"
+ "l-*-38879"
+ "l-*-38880"
+ "l-*-38881"
+ "l-*-38882"))
#(ribcage () () ())
- #(ribcage #(x) #((top)) #("i61604"))
+ #(ribcage #(x) #((top)) #("l-*-38860"))
#(ribcage
(identifier-syntax)
((top))
@@ -23089,13 +23179,13 @@
#(ribcage
#(id exp1 var val exp2)
#((top) (top) (top) (top) (top))
- #("i61622"
- "i61623"
- "i61624"
- "i61625"
- "i61626"))
+ #("l-*-38878"
+ "l-*-38879"
+ "l-*-38880"
+ "l-*-38881"
+ "l-*-38882"))
#(ribcage () () ())
- #(ribcage #(x) #((top)) #("i61604"))
+ #(ribcage #(x) #((top)) #("l-*-38860"))
#(ribcage
(identifier-syntax)
((top))
@@ -23112,13 +23202,13 @@
#(ribcage
#(id exp1 var val exp2)
#((top) (top) (top) (top) (top))
- #("i61622"
- "i61623"
- "i61624"
- "i61625"
- "i61626"))
+ #("l-*-38878"
+ "l-*-38879"
+ "l-*-38880"
+ "l-*-38881"
+ "l-*-38882"))
#(ribcage () () ())
- #(ribcage #(x) #((top)) #("i61604"))
+ #(ribcage #(x) #((top)) #("l-*-38860"))
#(ribcage
(identifier-syntax)
((top))
@@ -23135,13 +23225,13 @@
#(ribcage
#(id exp1 var val exp2)
#((top) (top) (top) (top) (top))
- #("i61622"
- "i61623"
- "i61624"
- "i61625"
- "i61626"))
+ #("l-*-38878"
+ "l-*-38879"
+ "l-*-38880"
+ "l-*-38881"
+ "l-*-38882"))
#(ribcage () () ())
- #(ribcage #(x) #((top)) #("i61604"))
+ #(ribcage #(x) #((top)) #("l-*-38860"))
#(ribcage
(identifier-syntax)
((top))
@@ -23158,13 +23248,16 @@
#(ribcage
#(id exp1 var val exp2)
#((top) (top) (top) (top) (top))
- #("i61622"
- "i61623"
- "i61624"
- "i61625"
- "i61626"))
+ #("l-*-38878"
+ "l-*-38879"
+ "l-*-38880"
+ "l-*-38881"
+ "l-*-38882"))
#(ribcage () () ())
- #(ribcage #(x) #((top)) #("i61604"))
+ #(ribcage
+ #(x)
+ #((top))
+ #("l-*-38860"))
#(ribcage
(identifier-syntax)
((top))
@@ -23185,16 +23278,16 @@
(top)
(top)
(top))
- #("i61622"
- "i61623"
- "i61624"
- "i61625"
- "i61626"))
+ #("l-*-38878"
+ "l-*-38879"
+ "l-*-38880"
+ "l-*-38881"
+ "l-*-38882"))
#(ribcage () () ())
#(ribcage
#(x)
#((top))
- #("i61604"))
+ #("l-*-38860"))
#(ribcage
(identifier-syntax)
((top))
@@ -23205,8 +23298,8 @@
((top))
(hygiene guile))))))
(hygiene guile))
- #{var 61650}#
- #{val 61651}#)
+ var-38906
+ val-38907)
(list '#(syntax-object
syntax
((top)
@@ -23217,16 +23310,16 @@
(top)
(top)
(top))
- #("i61622"
- "i61623"
- "i61624"
- "i61625"
- "i61626"))
+ #("l-*-38878"
+ "l-*-38879"
+ "l-*-38880"
+ "l-*-38881"
+ "l-*-38882"))
#(ribcage () () ())
#(ribcage
#(x)
#((top))
- #("i61604"))
+ #("l-*-38860"))
#(ribcage
(identifier-syntax)
((top))
@@ -23237,8 +23330,8 @@
((top))
(hygiene guile))))))
(hygiene guile))
- #{exp2 61652}#))
- (list (cons #{id 61648}#
+ exp2-38908))
+ (list (cons id-38904
'(#(syntax-object
x
((top)
@@ -23249,16 +23342,16 @@
(top)
(top)
(top))
- #("i61622"
- "i61623"
- "i61624"
- "i61625"
- "i61626"))
+ #("l-*-38878"
+ "l-*-38879"
+ "l-*-38880"
+ "l-*-38881"
+ "l-*-38882"))
#(ribcage () () ())
#(ribcage
#(x)
#((top))
- #("i61604"))
+ #("l-*-38860"))
#(ribcage
(identifier-syntax)
((top))
@@ -23279,16 +23372,16 @@
(top)
(top)
(top))
- #("i61622"
- "i61623"
- "i61624"
- "i61625"
- "i61626"))
+ #("l-*-38878"
+ "l-*-38879"
+ "l-*-38880"
+ "l-*-38881"
+ "l-*-38882"))
#(ribcage () () ())
#(ribcage
#(x)
#((top))
- #("i61604"))
+ #("l-*-38860"))
#(ribcage
(identifier-syntax)
((top))
@@ -23309,16 +23402,16 @@
(top)
(top)
(top))
- #("i61622"
- "i61623"
- "i61624"
- "i61625"
- "i61626"))
+ #("l-*-38878"
+ "l-*-38879"
+ "l-*-38880"
+ "l-*-38881"
+ "l-*-38882"))
#(ribcage () () ())
#(ribcage
#(x)
#((top))
- #("i61604"))
+ #("l-*-38860"))
#(ribcage
(identifier-syntax)
((top))
@@ -23329,7 +23422,7 @@
((top))
(hygiene guile))))))
(hygiene guile))
- (cons #{exp1 61649}#
+ (cons exp1-38905
'(#(syntax-object
x
((top)
@@ -23344,16 +23437,16 @@
(top)
(top)
(top))
- #("i61622"
- "i61623"
- "i61624"
- "i61625"
- "i61626"))
+ #("l-*-38878"
+ "l-*-38879"
+ "l-*-38880"
+ "l-*-38881"
+ "l-*-38882"))
#(ribcage () () ())
#(ribcage
#(x)
#((top))
- #("i61604"))
+ #("l-*-38860"))
#(ribcage
(identifier-syntax)
((top))
@@ -23379,16 +23472,16 @@
(top)
(top)
(top))
- #("i61622"
- "i61623"
- "i61624"
- "i61625"
- "i61626"))
+ #("l-*-38878"
+ "l-*-38879"
+ "l-*-38880"
+ "l-*-38881"
+ "l-*-38882"))
#(ribcage () () ())
#(ribcage
#(x)
#((top))
- #("i61604"))
+ #("l-*-38860"))
#(ribcage
(identifier-syntax)
((top))
@@ -23400,7 +23493,7 @@
(hygiene
guile))))))
(hygiene guile))))))
- (list #{id 61648}#
+ (list id-38904
(list '#(syntax-object
identifier?
((top)
@@ -23411,16 +23504,16 @@
(top)
(top)
(top))
- #("i61622"
- "i61623"
- "i61624"
- "i61625"
- "i61626"))
+ #("l-*-38878"
+ "l-*-38879"
+ "l-*-38880"
+ "l-*-38881"
+ "l-*-38882"))
#(ribcage () () ())
#(ribcage
#(x)
#((top))
- #("i61604"))
+ #("l-*-38860"))
#(ribcage
(identifier-syntax)
((top))
@@ -23445,16 +23538,16 @@
(top)
(top)
(top))
- #("i61622"
- "i61623"
- "i61624"
- "i61625"
- "i61626"))
+ #("l-*-38878"
+ "l-*-38879"
+ "l-*-38880"
+ "l-*-38881"
+ "l-*-38882"))
#(ribcage () () ())
#(ribcage
#(x)
#((top))
- #("i61604"))
+ #("l-*-38860"))
#(ribcage
(identifier-syntax)
((top))
@@ -23466,7 +23559,7 @@
(hygiene
guile))))))
(hygiene guile))
- #{id 61648}#))
+ id-38904))
(list '#(syntax-object
syntax
((top)
@@ -23477,16 +23570,16 @@
(top)
(top)
(top))
- #("i61622"
- "i61623"
- "i61624"
- "i61625"
- "i61626"))
+ #("l-*-38878"
+ "l-*-38879"
+ "l-*-38880"
+ "l-*-38881"
+ "l-*-38882"))
#(ribcage () () ())
#(ribcage
#(x)
#((top))
- #("i61604"))
+ #("l-*-38860"))
#(ribcage
(identifier-syntax)
((top))
@@ -23497,37 +23590,37 @@
((top))
(hygiene guile))))))
(hygiene guile))
- #{exp1 61649}#))))))
- #{tmp 61639}#)
+ exp1-38905))))))
+ tmp-38895)
(syntax-violation
#f
"source expression failed to match any pattern"
- #{x 61632}#))))))))
+ x-38888))))))))
(define define*
(make-syntax-transformer
'define*
'macro
- (lambda (#{x 61685}#)
- (let ((#{tmp 61687}#
+ (lambda (x-38941)
+ (let ((tmp-38943
($sc-dispatch
- #{x 61685}#
+ x-38941
'(_ (any . any) any . each-any))))
- (if #{tmp 61687}#
+ (if tmp-38943
(@apply
- (lambda (#{id 61691}#
- #{args 61692}#
- #{b0 61693}#
- #{b1 61694}#)
+ (lambda (id-38947 args-38948 b0-38949 b1-38950)
(list '#(syntax-object
define
((top)
#(ribcage
#(id args b0 b1)
#((top) (top) (top) (top))
- #("i61667" "i61668" "i61669" "i61670"))
+ #("l-*-38923"
+ "l-*-38924"
+ "l-*-38925"
+ "l-*-38926"))
#(ribcage () () ())
- #(ribcage #(x) #((top)) #("i61664"))
+ #(ribcage #(x) #((top)) #("l-*-38920"))
#(ribcage
(define*)
((top))
@@ -23538,16 +23631,19 @@
((top))
(hygiene guile))))))
(hygiene guile))
- #{id 61691}#
+ id-38947
(cons '#(syntax-object
lambda*
((top)
#(ribcage
#(id args b0 b1)
#((top) (top) (top) (top))
- #("i61667" "i61668" "i61669" "i61670"))
+ #("l-*-38923"
+ "l-*-38924"
+ "l-*-38925"
+ "l-*-38926"))
#(ribcage () () ())
- #(ribcage #(x) #((top)) #("i61664"))
+ #(ribcage #(x) #((top)) #("l-*-38920"))
#(ribcage
(define*)
((top))
@@ -23558,14 +23654,12 @@
((top))
(hygiene guile))))))
(hygiene guile))
- (cons #{args 61692}#
- (cons #{b0 61693}# #{b1 61694}#)))))
- #{tmp 61687}#)
- (let ((#{tmp 61695}#
- ($sc-dispatch #{x 61685}# '(_ any any))))
- (if (if #{tmp 61695}#
+ (cons args-38948 (cons b0-38949 b1-38950)))))
+ tmp-38943)
+ (let ((tmp-38951 ($sc-dispatch x-38941 '(_ any any))))
+ (if (if tmp-38951
(@apply
- (lambda (#{id 61699}# #{val 61700}#)
+ (lambda (id-38955 val-38956)
(identifier?
'#(syntax-object
x
@@ -23573,9 +23667,9 @@
#(ribcage
#(id val)
#((top) (top))
- #("i61677" "i61678"))
+ #("l-*-38933" "l-*-38934"))
#(ribcage () () ())
- #(ribcage #(x) #((top)) #("i61664"))
+ #(ribcage #(x) #((top)) #("l-*-38920"))
#(ribcage
(define*)
((top))
@@ -23586,19 +23680,19 @@
((top))
(hygiene guile))))))
(hygiene guile))))
- #{tmp 61695}#)
+ tmp-38951)
#f)
(@apply
- (lambda (#{id 61701}# #{val 61702}#)
+ (lambda (id-38957 val-38958)
(list '#(syntax-object
define
((top)
#(ribcage
#(id val)
#((top) (top))
- #("i61681" "i61682"))
+ #("l-*-38937" "l-*-38938"))
#(ribcage () () ())
- #(ribcage #(x) #((top)) #("i61664"))
+ #(ribcage #(x) #((top)) #("l-*-38920"))
#(ribcage
(define*)
((top))
@@ -23609,11 +23703,11 @@
((top))
(hygiene guile))))))
(hygiene guile))
- #{id 61701}#
- #{val 61702}#))
- #{tmp 61695}#)
+ id-38957
+ val-38958))
+ tmp-38951)
(syntax-violation
#f
"source expression failed to match any pattern"
- #{x 61685}#))))))))
+ x-38941))))))))
diff --git a/module/ice-9/psyntax.scm b/module/ice-9/psyntax.scm
index d96c3cf..428b583 100644
--- a/module/ice-9/psyntax.scm
+++ b/module/ice-9/psyntax.scm
@@ -273,8 +273,11 @@
(lambda (x mod)
(primitive-eval x)))
- (define-syntax-rule (gensym-hook)
- (gensym))
+ ;; Capture syntax-session-id before we shove it off into a module.
+ (define session-id
+ (let ((v (module-variable (current-module) 'syntax-session-id)))
+ (lambda ()
+ ((variable-ref v)))))
(define put-global-definition-hook
(lambda (symbol type val)
@@ -452,7 +455,7 @@
;; FIXME: use a faster gensym
(define-syntax-rule (build-lexical-var src id)
- (gensym (string-append (symbol->string id) " ")))
+ (gensym (string-append (symbol->string id) "-")))
(define-structure (syntax-object expression wrap module))
@@ -626,8 +629,8 @@
;; labels must be comparable with "eq?", have read-write invariance,
;; and distinct from symbols.
- (define gen-label
- (lambda () (symbol->string (gensym "i"))))
+ (define (gen-label)
+ (string-append "l-" (session-id) (symbol->string (gensym "-"))))
(define gen-labels
(lambda (ls)
@@ -656,7 +659,7 @@
(cons 'shift (wrap-subst w)))))
(define-syntax-rule (new-mark)
- (gensym "m"))
+ (gensym (string-append "m-" (session-id) "-")))
;; make-empty-ribcage and extend-ribcage maintain list-based ribcages for
;; internal definitions, in which the ribcages are built incrementally
@@ -812,6 +815,55 @@
id))))))
(else (syntax-violation 'id-var-name "invalid id" id)))))
+ ;; A helper procedure for syntax-locally-bound-identifiers, which
+ ;; itself is a helper for transformer procedures.
+ ;; `locally-bound-identifiers' returns a list of all bindings
+ ;; visible to a syntax object with the given wrap. They are in
+ ;; order from outer to inner.
+ ;;
+ ;; The purpose of this procedure is to give a transformer procedure
+ ;; references on bound identifiers, that the transformer can then
+ ;; introduce some of them in its output. As such, the identifiers
+ ;; are anti-marked, so that rebuild-macro-output doesn't apply new
+ ;; marks to them.
+ ;;
+ (define locally-bound-identifiers
+ (lambda (w mod)
+ (define scan
+ (lambda (subst results)
+ (if (null? subst)
+ results
+ (let ((fst (car subst)))
+ (if (eq? fst 'shift)
+ (scan (cdr subst) results)
+ (let ((symnames (ribcage-symnames fst))
+ (marks (ribcage-marks fst)))
+ (if (vector? symnames)
+ (scan-vector-rib subst symnames marks results)
+ (scan-list-rib subst symnames marks results))))))))
+ (define scan-list-rib
+ (lambda (subst symnames marks results)
+ (let f ((symnames symnames) (marks marks) (results results))
+ (if (null? symnames)
+ (scan (cdr subst) results)
+ (f (cdr symnames) (cdr marks)
+ (cons (wrap (car symnames)
+ (anti-mark (make-wrap (car marks) subst))
+ mod)
+ results))))))
+ (define scan-vector-rib
+ (lambda (subst symnames marks results)
+ (let ((n (vector-length symnames)))
+ (let f ((i 0) (results results))
+ (if (fx= i n)
+ (scan (cdr subst) results)
+ (f (fx+ i 1)
+ (cons (wrap (vector-ref symnames i)
+ (anti-mark (make-wrap (vector-ref marks i)
subst))
+ mod)
+ results)))))))
+ (scan (wrap-subst w) '())))
+
;; Returns three values: binding type, binding value, the module (for
;; resolving toplevel vars).
(define (resolve-identifier id w r mod resolve-syntax-parameters?)
@@ -850,6 +902,14 @@
(else
(error "unexpected id-var-name" id w n)))))
+ (define transformer-environment
+ (make-fluid
+ (lambda (k)
+ (error "called outside the dynamic extent of a syntax transformer"))))
+
+ (define (with-transformer-environment k)
+ ((fluid-ref transformer-environment) k))
+
;; free-id=? must be passed fully wrapped ids since (free-id=? x y)
;; may be true even if (free-id=? (wrap x w) (wrap y w)) is not.
@@ -1017,7 +1077,7 @@
(call-with-values
(lambda ()
(syntax-type x r w (source-annotation x) ribcage mod #f))
- (lambda (type value e w s mod)
+ (lambda (type value form e w s mod)
(case type
((define-form)
(let* ((id (wrap value w mod))
@@ -1109,11 +1169,11 @@
(else
(list
(if (eq? m 'c&e)
- (let ((x (expand-expr type value e r w s mod)))
+ (let ((x (expand-expr type value form e r w s mod)))
(top-level-eval-hook x mod)
(lambda () x))
(lambda ()
- (expand-expr type value e r w s mod)))))))))
+ (expand-expr type value form e r w s mod)))))))))
(let ((exps (map (lambda (x) (x))
(reverse (parse body r w s m esew mod)))))
(if (null? exps)
@@ -1152,8 +1212,8 @@
(syntax-violation 'eval-when "invalid situation" e
(car l))))))))
- ;; syntax-type returns six values: type, value, e, w, s, and mod. The
- ;; first two are described in the table below.
+ ;; syntax-type returns seven values: type, value, form, e, w, s, and
+ ;; mod. The first two are described in the table below.
;;
;; type value explanation
;; -------------------------------------------------------------------
@@ -1182,10 +1242,11 @@
;; constant none self-evaluating datum
;; other none anything else
;;
- ;; For definition forms (define-form, define-syntax-parameter-form,
- ;; and define-syntax-form), e is the rhs expression. For all
- ;; others, e is the entire form. w is the wrap for e. s is the
- ;; source for the entire form. mod is the module for e.
+ ;; form is the entire form. For definition forms (define-form,
+ ;; define-syntax-form, and define-syntax-parameter-form), e is the
+ ;; rhs expression. For all others, e is the entire form. w is the
+ ;; wrap for both form and e. s is the source for the entire form.
+ ;; mod is the module for both form and e.
;;
;; syntax-type expands macros and unwraps as necessary to get to one
;; of the forms above. It also parses definition forms, although
@@ -1200,28 +1261,28 @@
(case type
((macro)
(if for-car?
- (values type value e w s mod)
+ (values type value e e w s mod)
(syntax-type (expand-macro value e r w s rib mod)
r empty-wrap s rib mod #f)))
((global)
;; Toplevel definitions may resolve to bindings with
;; different names or in different modules.
- (values type value value w s mod*))
- (else (values type value e w s mod))))))
+ (values type value e value w s mod*))
+ (else (values type value e e w s mod))))))
((pair? e)
(let ((first (car e)))
(call-with-values
(lambda () (syntax-type first r w s rib mod #t))
- (lambda (ftype fval fe fw fs fmod)
+ (lambda (ftype fval fform fe fw fs fmod)
(case ftype
((lexical)
- (values 'lexical-call fval e w s mod))
+ (values 'lexical-call fval e e w s mod))
((global)
;; If we got here via an (@@ ...) expansion, we need to
;; make sure the fmod information is propagated back
;; correctly -- hence this consing.
(values 'global-call (make-syntax-object fval w fmod)
- e w s mod))
+ e e w s mod))
((macro)
(syntax-type (expand-macro fval e r w s rib mod)
r empty-wrap s rib mod for-car?))
@@ -1230,23 +1291,24 @@
(lambda (e r w s mod)
(syntax-type e r w s rib mod for-car?))))
((core)
- (values 'core-form fval e w s mod))
+ (values 'core-form fval e e w s mod))
((local-syntax)
- (values 'local-syntax-form fval e w s mod))
+ (values 'local-syntax-form fval e e w s mod))
((begin)
- (values 'begin-form #f e w s mod))
+ (values 'begin-form #f e e w s mod))
((eval-when)
- (values 'eval-when-form #f e w s mod))
+ (values 'eval-when-form #f e e w s mod))
((define)
(syntax-case e ()
((_ name val)
(id? #'name)
- (values 'define-form #'name #'val w s mod))
+ (values 'define-form #'name e #'val w s mod))
((_ (name . args) e1 e2 ...)
(and (id? #'name)
(valid-bound-ids? (lambda-var-list #'args)))
;; need lambda here...
(values 'define-form (wrap #'name w mod)
+ (wrap e w mod)
(decorate-source
(cons #'lambda (wrap #'(args e1 e2 ...) w mod))
s)
@@ -1254,38 +1316,39 @@
((_ name)
(id? #'name)
(values 'define-form (wrap #'name w mod)
+ (wrap e w mod)
#'(if #f #f)
empty-wrap s mod))))
((define-syntax)
(syntax-case e ()
((_ name val)
(id? #'name)
- (values 'define-syntax-form #'name #'val w s mod))))
+ (values 'define-syntax-form #'name e #'val w s mod))))
((define-syntax-parameter)
(syntax-case e ()
((_ name val)
(id? #'name)
- (values 'define-syntax-parameter-form #'name #'val w s
mod))))
+ (values 'define-syntax-parameter-form #'name e #'val w s
mod))))
(else
- (values 'call #f e w s mod)))))))
+ (values 'call #f e e w s mod)))))))
((syntax-object? e)
(syntax-type (syntax-object-expression e)
r
(join-wraps w (syntax-object-wrap e))
(or (source-annotation e) s) rib
(or (syntax-object-module e) mod) for-car?))
- ((self-evaluating? e) (values 'constant #f e w s mod))
- (else (values 'other #f e w s mod)))))
+ ((self-evaluating? e) (values 'constant #f e e w s mod))
+ (else (values 'other #f e e w s mod)))))
(define expand
(lambda (e r w mod)
(call-with-values
(lambda () (syntax-type e r w (source-annotation e) #f mod #f))
- (lambda (type value e w s mod)
- (expand-expr type value e r w s mod)))))
+ (lambda (type value form e w s mod)
+ (expand-expr type value form e r w s mod)))))
(define expand-expr
- (lambda (type value e r w s mod)
+ (lambda (type value form e r w s mod)
(case type
((lexical)
(build-lexical-reference 'value s e value))
@@ -1334,8 +1397,8 @@
(expand-sequence #'(e1 e2 ...) r w s mod)
(expand-void))))))
((define-form define-syntax-form define-syntax-parameter-form)
- (syntax-violation #f "definition in expression context"
- e (wrap value w mod)))
+ (syntax-violation #f "definition in expression context, where
definitions are not allowed,"
+ (source-wrap form w s mod)))
((syntax)
(syntax-violation #f "reference to pattern variable outside syntax
form"
(source-wrap e w s mod)))
@@ -1423,8 +1486,10 @@
(syntax-violation #f "encountered raw symbol in macro
output"
(source-wrap e w (wrap-subst w) mod) x))
(else (decorate-source x s)))))
- (rebuild-macro-output (p (source-wrap e (anti-mark w) s mod))
- (new-mark))))
+ (with-fluids ((transformer-environment
+ (lambda (k) (k e r w s rib mod))))
+ (rebuild-macro-output (p (source-wrap e (anti-mark w) s mod))
+ (new-mark)))))
(define expand-body
;; In processing the forms of the body, we create a new, empty wrap.
@@ -1477,7 +1542,7 @@
(let ((e (cdar body)) (er (caar body)))
(call-with-values
(lambda () (syntax-type e er empty-wrap
(source-annotation er) ribcage mod #f))
- (lambda (type value e w s mod)
+ (lambda (type value form e w s mod)
(case type
((define-form)
(let ((id (wrap value w mod)) (label (gen-label)))
@@ -2243,7 +2308,7 @@
((_ (head tail ...) val)
(call-with-values
(lambda () (syntax-type #'head r empty-wrap no-source #f mod #t))
- (lambda (type value ee ww ss modmod)
+ (lambda (type value ee* ee ww ss modmod)
(case type
((module-ref)
(let ((val (expand #'val r w mod)))
@@ -2545,7 +2610,7 @@
(lambda (ls)
(arg-check list? ls 'generate-temporaries)
(let ((mod (cons 'hygiene (module-name (current-module)))))
- (map (lambda (x) (wrap (gensym-hook) top-wrap mod)) ls))))
+ (map (lambda (x) (wrap (gensym "t-") top-wrap mod)) ls))))
(set! free-identifier=?
(lambda (x y)
@@ -2569,6 +2634,53 @@
(strip form empty-wrap)
(and subform (strip subform empty-wrap)))))
+ (let ()
+ (define (syntax-module id)
+ (arg-check nonsymbol-id? id 'syntax-module)
+ (cdr (syntax-object-module id)))
+
+ (define (syntax-local-binding id)
+ (arg-check nonsymbol-id? id 'syntax-local-binding)
+ (with-transformer-environment
+ (lambda (e r w s rib mod)
+ (define (strip-anti-mark w)
+ (let ((ms (wrap-marks w)) (s (wrap-subst w)))
+ (if (and (pair? ms) (eq? (car ms) the-anti-mark))
+ ;; output is from original text
+ (make-wrap (cdr ms) (if rib (cons rib (cdr s)) (cdr s)))
+ ;; output introduced by macro
+ (make-wrap ms (if rib (cons rib s) s)))))
+ (call-with-values (lambda ()
+ (resolve-identifier
+ (syntax-object-expression id)
+ (strip-anti-mark (syntax-object-wrap id))
+ r
+ (syntax-object-module id)
+ ;; FIXME: come up with a better policy for
+ ;; resolve-syntax-parameters
+ #t))
+ (lambda (type value mod)
+ (case type
+ ((lexical) (values 'lexical value))
+ ((macro) (values 'macro value))
+ ((syntax) (values 'pattern-variable value))
+ ((displaced-lexical) (values 'displaced-lexical #f))
+ ((global) (values 'global (cons value (cdr mod))))
+ (else (values 'other #f))))))))
+
+ (define (syntax-locally-bound-identifiers id)
+ (arg-check nonsymbol-id? id 'syntax-locally-bound-identifiers)
+ (locally-bound-identifiers (syntax-object-wrap id)
+ (syntax-object-module id)))
+
+ ;; Using define! instead of set! to avoid warnings at
+ ;; compile-time, after the variables are stolen away into (system
+ ;; syntax). See the end of boot-9.scm.
+ ;;
+ (define! 'syntax-module syntax-module)
+ (define! 'syntax-local-binding syntax-local-binding)
+ (define! 'syntax-locally-bound-identifiers
syntax-locally-bound-identifiers))
+
;; $sc-dispatch expects an expression and a pattern. If the expression
;; matches the pattern a list of the matching expressions for each
;; "any" is returned. Otherwise, #f is returned. (This use of #f will
diff --git a/module/ice-9/vlist.scm b/module/ice-9/vlist.scm
index a62bf59..0ed4b6d 100644
--- a/module/ice-9/vlist.scm
+++ b/module/ice-9/vlist.scm
@@ -1,6 +1,6 @@
;;; -*- mode: scheme; coding: utf-8; -*-
;;;
-;;; Copyright (C) 2009, 2010, 2011 Free Software Foundation, Inc.
+;;; Copyright (C) 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
;;;
;;; This library is free software; you can redistribute it and/or
;;; modify it under the terms of the GNU Lesser General Public
@@ -21,6 +21,7 @@
#:use-module (srfi srfi-9)
#:use-module (srfi srfi-9 gnu)
#:use-module (srfi srfi-26)
+ #:use-module (ice-9 format)
#:export (vlist? vlist-cons vlist-head vlist-tail vlist-null?
vlist-null list->vlist vlist-ref vlist-drop vlist-take
diff --git a/module/language/assembly/disassemble.scm
b/module/language/assembly/disassemble.scm
index 88ea0d7..ced5f26 100644
--- a/module/language/assembly/disassemble.scm
+++ b/module/language/assembly/disassemble.scm
@@ -1,6 +1,6 @@
;;; Guile VM code converters
-;; Copyright (C) 2001, 2009, 2010 Free Software Foundation, Inc.
+;; Copyright (C) 2001, 2009, 2010, 2012 Free Software Foundation, Inc.
;;;; This library is free software; you can redistribute it and/or
;;;; modify it under the terms of the GNU Lesser General Public
@@ -141,6 +141,9 @@
(list "`~a'address@hidden (arg)~]"
(binding:name b) (< (binding:index b) nargs))
(lp (cdr bindings))))))))
+ ((assert-nargs-ee/locals assert-nargs-ge/locals)
+ (list "~a arg~:p, ~a local~:p"
+ (logand (car args) #x7) (ash (car args) -3)))
((free-ref free-boxed-ref free-boxed-set)
;; FIXME: we can do better than this
(list "(closure variable)"))
diff --git a/module/language/glil/compile-assembly.scm
b/module/language/glil/compile-assembly.scm
index c76e412..a51fd58 100644
--- a/module/language/glil/compile-assembly.scm
+++ b/module/language/glil/compile-assembly.scm
@@ -103,6 +103,15 @@
(define (immediate? x)
(object->assembly x))
+;; This tests for a proper scheme list whose last cdr is '(), not #nil.
+;;
+(define (scheme-list? x)
+ (and (list? x)
+ (or (eq? x '())
+ (let ((p (last-pair x)))
+ (and (pair? p)
+ (eq? (cdr p) '()))))))
+
;; Note: in all of these procedures that build up constant tables, the
;; first (zeroth) index is reserved. At runtime it is replaced with the
;; procedure's module. Hence all of this 1+ length business.
@@ -733,7 +742,7 @@
((keyword? x)
`(,@(dump-object (keyword->symbol x) addr)
(make-keyword)))
- ((list? x)
+ ((scheme-list? x)
(let ((tail (let ((len (length x)))
(if (>= len 65536) (too-long "list"))
`((list ,(quotient len 256) ,(modulo len 256))))))
@@ -815,7 +824,7 @@
(values code (addr+ addr code))))
((variable-cache-cell? x)
(dump1 (variable-cache-cell-key x) i addr))
- ((list? x)
+ ((scheme-list? x)
(receive (codes addr)
(fold2 (lambda (x codes addr)
(receive (subcode addr) (ref-or-dump x i addr)
diff --git a/module/language/scheme/spec.scm b/module/language/scheme/spec.scm
index 0df4171..e4cf55c 100644
--- a/module/language/scheme/spec.scm
+++ b/module/language/scheme/spec.scm
@@ -1,6 +1,6 @@
;;; Guile Scheme specification
-;; Copyright (C) 2001, 2009, 2010, 2011 Free Software Foundation, Inc.
+;; Copyright (C) 2001, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
;;;; This library is free software; you can redistribute it and/or
;;;; modify it under the terms of the GNU Lesser General Public
@@ -53,4 +53,11 @@
;; compile-time changes to `current-reader' are
;; limited to the current compilation unit.
(module-define! m 'current-reader (make-fluid))
+
+ ;; Default to `simple-format', as is the case until
+ ;; (ice-9 format) is loaded. This allows
+ ;; compile-time warnings to be emitted when using
+ ;; unsupported options.
+ (module-set! m 'format simple-format)
+
m)))
diff --git a/module/language/tree-il/analyze.scm
b/module/language/tree-il/analyze.scm
index f75c9f1..04687a8 100644
--- a/module/language/tree-il/analyze.scm
+++ b/module/language/tree-il/analyze.scm
@@ -22,6 +22,7 @@
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-9)
#:use-module (srfi srfi-11)
+ #:use-module (srfi srfi-26)
#:use-module (ice-9 vlist)
#:use-module (ice-9 match)
#:use-module (system base syntax)
@@ -1392,7 +1393,7 @@ accurate information is missing from a given `tree-il'
element."
((,port ,fmt . ,rest)
(if (and (const? port)
(not (boolean? (const-exp port))))
- (warn 'format loc 'wrong-port (const-exp port)))
+ (warning 'format loc 'wrong-port (const-exp port)))
;; Warn on non-literal format strings, unless they refer to a
;; lexical variable named "fmt".
(if (record-case fmt
@@ -1403,6 +1404,36 @@ accurate information is missing from a given `tree-il'
element."
(else
(warning 'format loc 'wrong-num-args (length args)))))
+ (define (check-simple-format-args args loc)
+ ;; Check the arguments to the `simple-format' procedure, which is
+ ;; less capable than that of (ice-9 format).
+
+ (define allowed-chars
+ '(#\A #\S #\a #\s #\~ #\%))
+
+ (define (format-chars fmt)
+ (let loop ((chars (string->list fmt))
+ (result '()))
+ (match chars
+ (()
+ (reverse result))
+ ((#\~ opt rest ...)
+ (loop rest (cons opt result)))
+ ((_ rest ...)
+ (loop rest result)))))
+
+ (match args
+ ((port ($ <const> _ (? string? fmt)) _ ...)
+ (let ((opts (format-chars fmt)))
+ (or (every (cut memq <> allowed-chars) opts)
+ (begin
+ (warning 'format loc 'simple-format fmt
+ (find (negate (cut memq <> allowed-chars)) opts))
+ #f))))
+ ((port (($ <const> _ '_) fmt) args ...)
+ (check-simple-format-args `(,port ,fmt ,args) loc))
+ (_ #t)))
+
(define (resolve-toplevel name)
(and (module? env)
(false-if-exception (module-ref env name))))
@@ -1410,9 +1441,19 @@ accurate information is missing from a given `tree-il'
element."
(match x
(($ <call> src ($ <toplevel-ref> _ name) args)
(let ((proc (resolve-toplevel name)))
- (and (or (eq? proc format)
- (eq? proc (@ (ice-9 format) format)))
- (check-format-args args (or src (find pair? locs))))))
+ (if (or (and (eq? proc (@ (guile) simple-format))
+ (check-simple-format-args args
+ (or src (find pair? locs))))
+ (eq? proc (@ (ice-9 format) format)))
+ (check-format-args args (or src (find pair? locs))))))
+ (($ <call> src ($ <module-ref> _ '(ice-9 format) 'format) args)
+ (check-format-args args (or src (find pair? locs))))
+ (($ <call> src ($ <module-ref> _ '(guile)
+ (or 'format 'simple-format))
+ args)
+ (and (check-simple-format-args args
+ (or src (find pair? locs)))
+ (check-format-args args (or src (find pair? locs)))))
(_ #t))
#t)
diff --git a/module/language/tree-il/compile-glil.scm
b/module/language/tree-il/compile-glil.scm
index 31e9a70..81defa1 100644
--- a/module/language/tree-il/compile-glil.scm
+++ b/module/language/tree-il/compile-glil.scm
@@ -1,6 +1,6 @@
;;; TREE-IL -> GLIL compiler
-;; Copyright (C) 2001,2008,2009,2010,2011 Free Software Foundation, Inc.
+;; Copyright (C) 2001,2008,2009,2010,2011,2012 Free Software Foundation, Inc.
;;;; This library is free software; you can redistribute it and/or
;;;; modify it under the terms of the GNU Lesser General Public
@@ -402,13 +402,12 @@
;; values-mismatch warning pass.
(comp-push (make-call src (make-primitive-ref #f 'values)
'())))
- ((1)
- (comp-push (car args)))
(else
;; Taking advantage of unspecified order of evaluation of
;; arguments.
(for-each comp-drop (cdr args))
- (comp-push (car args)))))
+ (comp-push (car args))
+ (maybe-emit-return))))
((vals)
(for-each comp-push args)
(emit-code #f (make-glil-const (length args)))
diff --git a/module/language/tree-il/peval.scm
b/module/language/tree-il/peval.scm
index 1a355a0..9aac24c 100644
--- a/module/language/tree-il/peval.scm
+++ b/module/language/tree-il/peval.scm
@@ -411,7 +411,7 @@ top-level bindings from ENV and return the resulting
expression."
(define (fresh-gensyms vars)
(map (lambda (var)
(let ((new (gensym (string-append (symbol->string (var-name var))
- " "))))
+ "-"))))
(set! store (vhash-consq new var store))
new))
vars))
@@ -1008,7 +1008,9 @@ top-level bindings from ENV and return the resulting
expression."
exp))
(else
(let ((vals (map for-value exps)))
- (if (and (memq ctx '(value test effect))
+ (if (and (case ctx
+ ((value test effect) #t)
+ (else (null? (cdr vals))))
(every singly-valued-expression? vals))
(for-tail (list->seq src (append (cdr vals) (list (car vals)))))
(make-primcall src 'values vals))))))
diff --git a/module/language/tree-il/primitives.scm
b/module/language/tree-il/primitives.scm
index 8e9d2eb..f192c4f 100644
--- a/module/language/tree-il/primitives.scm
+++ b/module/language/tree-il/primitives.scm
@@ -1,6 +1,6 @@
;;; open-coding primitive procedures
-;; Copyright (C) 2009, 2010, 2011 Free Software Foundation, Inc.
+;; Copyright (C) 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
;;;; This library is free software; you can redistribute it and/or
;;;; modify it under the terms of the GNU Lesser General Public
@@ -487,8 +487,8 @@
'@dynamic-wind
(case-lambda
((src pre expr post)
- (let ((PRE (gensym " pre"))
- (POST (gensym " post")))
+ (let ((PRE (gensym "pre-"))
+ (POST (gensym "post-")))
(make-let
src
'(pre post)
diff --git a/module/rnrs/control.scm b/module/rnrs/control.scm
index b81c133..25ffa3e 100644
--- a/module/rnrs/control.scm
+++ b/module/rnrs/control.scm
@@ -1,6 +1,6 @@
;;; control.scm --- The R6RS control structures library
-;; Copyright (C) 2010 Free Software Foundation, Inc.
+;; Copyright (C) 2010, 2012 Free Software Foundation, Inc.
;;
;; This library is free software; you can redistribute it and/or
;; modify it under the terms of the GNU Lesser General Public
@@ -19,14 +19,4 @@
(library (rnrs control (6))
(export when unless do case-lambda)
- (import (only (guile) if not begin define-syntax syntax-rules do
case-lambda))
-
- (define-syntax when
- (syntax-rules ()
- ((when test result1 result2 ...)
- (if test (begin result1 result2 ...)))))
-
- (define-syntax unless
- (syntax-rules ()
- ((unless test result1 result2 ...)
- (if (not test) (begin result1 result2 ...))))))
+ (import (only (guile) when unless do case-lambda)))
diff --git a/module/scripts/list.scm b/module/scripts/list.scm
index 0f1d715..66116ce 100644
--- a/module/scripts/list.scm
+++ b/module/scripts/list.scm
@@ -1,6 +1,6 @@
;;; List --- List scripts that can be invoked by guild -*- coding: iso-8859-1
-*-
-;;;; Copyright (C) 2009, 2010, 2011 Free Software Foundation, Inc.
+;;;; Copyright (C) 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
;;;;
;;;; This library is free software; you can redistribute it and/or
;;;; modify it under the terms of the GNU Lesser General Public
@@ -26,6 +26,7 @@
;;; Code:
(define-module (scripts list)
+ #:use-module (srfi srfi-1)
#:export (list-scripts))
(define %include-in-guild-list #f)
diff --git a/module/sxml/ssax.scm b/module/sxml/ssax.scm
index 9709641..a4de0e3 100644
--- a/module/sxml/ssax.scm
+++ b/module/sxml/ssax.scm
@@ -1,6 +1,6 @@
;;;; (sxml ssax) -- the SSAX parser
;;;;
-;;;; Copyright (C) 2009, 2010 Free Software Foundation, Inc.
+;;;; Copyright (C) 2009, 2010,2012 Free Software Foundation, Inc.
;;;; Modified 2004 by Andy Wingo <wingo at pobox dot com>.
;;;; Written 2001,2002,2003,2004 by Oleg Kiselyov <oleg at pobox dot com>
as SSAX.scm.
;;;;
@@ -209,13 +209,6 @@ string @var{str}, which will then be parsed."
(set! ssax:predefined-parsed-entities
(acons entity str ssax:predefined-parsed-entities)))
-;; if condition is true, execute stmts in turn and return the result of
-;; the last statement otherwise, return #f
-(define-syntax when
- (syntax-rules ()
- ((when condition . stmts)
- (and condition (begin . stmts)))))
-
;; Execute a sequence of forms and return the result of the _first_ one.
;; Like PROG1 in Lisp. Typically used to evaluate one or more forms with
;; side effects and return a value that must be computed before some or
diff --git a/module/system/base/message.scm b/module/system/base/message.scm
index 75e14ea..8cf285a 100644
--- a/module/system/base/message.scm
+++ b/module/system/base/message.scm
@@ -1,6 +1,6 @@
;;; User interface messages
-;; Copyright (C) 2009, 2010, 2011 Free Software Foundation, Inc.
+;; Copyright (C) 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
;;; This library is free software; you can redistribute it and/or
;;; modify it under the terms of the GNU Lesser General Public
@@ -150,6 +150,10 @@
(emit #f "~a to ~a" min max))))
(match rest
+ (('simple-format fmt opt)
+ (emit port
+ "~A: warning: ~S: unsupported format option ~~~A, use
(ice-9 format) instead~%"
+ loc (escape-newlines fmt) opt))
(('wrong-format-arg-count fmt min max actual)
(emit port
"~A: warning: ~S: wrong number of `format' arguments:
expected ~A, got ~A~%"
diff --git a/module/system/repl/common.scm b/module/system/repl/common.scm
index 6c6ee2a..346ba99 100644
--- a/module/system/repl/common.scm
+++ b/module/system/repl/common.scm
@@ -39,7 +39,7 @@
(define *version*
(format #f "GNU Guile ~A
-Copyright (C) 1995-2011 Free Software Foundation, Inc.
+Copyright (C) 1995-2012 Free Software Foundation, Inc.
Guile comes with ABSOLUTELY NO WARRANTY; for details type `,show w'.
This program is free software, and you are welcome to redistribute it
diff --git a/module/system/repl/error-handling.scm
b/module/system/repl/error-handling.scm
index 2a585aa..0e31eb9 100644
--- a/module/system/repl/error-handling.scm
+++ b/module/system/repl/error-handling.scm
@@ -1,6 +1,6 @@
;;; Error handling in the REPL
-;; Copyright (C) 2001, 2009, 2010, 2011 Free Software Foundation, Inc.
+;; Copyright (C) 2001, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
;; This library is free software; you can redistribute it and/or
;; modify it under the terms of the GNU Lesser General Public
@@ -23,6 +23,7 @@
#:use-module (system base pmatch)
#:use-module (system vm trap-state)
#:use-module (system repl debug)
+ #:use-module (ice-9 format)
#:export (call-with-error-handling
with-error-handling))
diff --git a/test-suite/lalr/common-test.scm b/test-suite/lalr/common-test.scm
index 8563029..8009148 100644
--- a/test-suite/lalr/common-test.scm
+++ b/test-suite/lalr/common-test.scm
@@ -8,13 +8,6 @@
(define *error* '())
-(define-syntax when
- (syntax-rules ()
- ((_ ?expr ?body ...)
- (if ?expr
- (let () ?body ...)
- #f))))
-
(define-syntax check
(syntax-rules (=>)
((_ ?expr => ?expected-result)
diff --git a/test-suite/standalone/Makefile.am
b/test-suite/standalone/Makefile.am
index 08d249c..d8cfafa 100644
--- a/test-suite/standalone/Makefile.am
+++ b/test-suite/standalone/Makefile.am
@@ -189,6 +189,13 @@ test_scm_to_latin1_string_LDADD = $(LIBGUILE_LDADD)
check_PROGRAMS += test-scm-to-latin1-string
TESTS += test-scm-to-latin1-string
+# test-scm-values
+test_scm_values_SOURCES = test-scm-values.c
+test_scm_values_CFLAGS = ${test_cflags}
+test_scm_values_LDADD = $(LIBGUILE_LDADD)
+check_PROGRAMS += test-scm-values
+TESTS += test-scm-values
+
if HAVE_SHARED_LIBRARIES
# test-extensions
diff --git a/test-suite/standalone/test-guile-snarf
b/test-suite/standalone/test-guile-snarf
index 41a9dc6..e314791 100755
--- a/test-suite/standalone/test-guile-snarf
+++ b/test-suite/standalone/test-guile-snarf
@@ -1,7 +1,23 @@
#!/bin/sh
+
+# Test the `guile-snarf' tool.
+
+# Strip the first line, like GNU `tail -n +2' does, but in a portable
+# way (`tail' on Solaris 10 doesn't support `-n +2' for instance.)
+strip_first_line ()
+{
+ read line
+ while read line
+ do
+ echo "$line"
+ done
+}
+
snarf ()
{
- echo "$1" | guile-snarf - | tail -n +2 | tr -d ' \t\n'
+ # GNU cpp emits a comment on the first line, which shows what
+ # arguments it was passed. Strip this line.
+ echo "$1" | guile-snarf - | strip_first_line | tr -d ' \t\n'
}
snarf_test ()
diff --git a/test-suite/standalone/test-loose-ends.c
b/test-suite/standalone/test-loose-ends.c
index 2fdbe7d..ee0fcf3 100644
--- a/test-suite/standalone/test-loose-ends.c
+++ b/test-suite/standalone/test-loose-ends.c
@@ -3,7 +3,7 @@
* Test items of the Guile C API that aren't covered by any other tests.
*/
-/* Copyright (C) 2009 Free Software Foundation, Inc.
+/* Copyright (C) 2009, 2012 Free Software Foundation, Inc.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public License
@@ -43,9 +43,43 @@ test_scm_from_locale_keywordn ()
}
static void
+test_scm_local_eval ()
+{
+ SCM result;
+
+ scm_c_use_module ("ice-9 local-eval");
+ result = scm_local_eval
+ (scm_list_3 (scm_from_latin1_symbol ("+"),
+ scm_from_latin1_symbol ("x"),
+ scm_from_latin1_symbol ("y")),
+ scm_c_eval_string ("(let ((x 1) (y 2)) (the-environment))"));
+
+ assert (scm_is_true (scm_equal_p (result,
+ scm_from_signed_integer (3))));
+}
+
+static void
+test_scm_call ()
+{
+ SCM result;
+
+ result = scm_call (scm_c_public_ref ("guile", "+"),
+ scm_from_int (1),
+ scm_from_int (2),
+ SCM_UNDEFINED);
+ assert (scm_is_true (scm_equal_p (result, scm_from_int (3))));
+
+ result = scm_call (scm_c_public_ref ("guile", "list"),
+ SCM_UNDEFINED);
+ assert (scm_is_eq (result, SCM_EOL));
+}
+
+static void
tests (void *data, int argc, char **argv)
{
test_scm_from_locale_keywordn ();
+ test_scm_local_eval ();
+ test_scm_call ();
}
int
diff --git a/test-suite/standalone/test-list.c
b/test-suite/standalone/test-scm-values.c
similarity index 50%
copy from test-suite/standalone/test-list.c
copy to test-suite/standalone/test-scm-values.c
index b51a2a1..ece62da 100644
--- a/test-suite/standalone/test-list.c
+++ b/test-suite/standalone/test-scm-values.c
@@ -1,6 +1,4 @@
-/* test-list.c - exercise libguile/list.c functions */
-
-/* Copyright (C) 2006, 2008, 2009, 2010 Free Software Foundation, Inc.
+/* Copyright (C) 2012 Free Software Foundation, Inc.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public License
@@ -22,39 +20,45 @@
# include <config.h>
#endif
+#include <assert.h>
#include <libguile.h>
-
#include <stdlib.h>
-#include <stdio.h>
#include <string.h>
-/* pretty trivial, but ensure this entrypoint exists, since it was
- documented in Guile 1.6 and earlier */
static void
-test_scm_list (void)
+test_scm_c_value_ref_on_multiple_values ()
{
- {
- if (! scm_is_eq (SCM_EOL, scm_list (SCM_EOL)))
- {
- fprintf (stderr, "fail: scm_list SCM_EOL\n");
- exit (EXIT_FAILURE);
- }
- }
+ SCM values = scm_values (scm_list_3 (scm_from_latin1_string ("foo"),
+ scm_from_latin1_string ("bar"),
+ scm_from_latin1_string ("baz")));
+
+ char *foo = scm_to_latin1_string (scm_c_value_ref (values, 0));
+ char *bar = scm_to_latin1_string (scm_c_value_ref (values, 1));
+ char *baz = scm_to_latin1_string (scm_c_value_ref (values, 2));
+
+ assert (strcmp (foo, "foo") == 0);
+ assert (strcmp (bar, "bar") == 0);
+ assert (strcmp (baz, "baz") == 0);
- {
- SCM lst = scm_list_2 (scm_from_int (1), scm_from_int (2));
- if (! scm_is_true (scm_equal_p (lst, scm_list (lst))))
- {
- fprintf (stderr, "fail: scm_list '(1 2)\n");
- exit (EXIT_FAILURE);
- }
- }
+ free (foo);
+ free (bar);
+ free (baz);
+}
+
+static void
+test_scm_c_value_ref_on_a_single_value ()
+{
+ SCM value = scm_from_latin1_string ("foo");
+ char *foo = scm_to_latin1_string (scm_c_value_ref (value, 0));
+ assert (strcmp (foo, "foo") == 0);
+ free (foo);
}
static void
tests (void *data, int argc, char **argv)
{
- test_scm_list ();
+ test_scm_c_value_ref_on_multiple_values ();
+ test_scm_c_value_ref_on_a_single_value ();
}
int
diff --git a/test-suite/tests/asm-to-bytecode.test
b/test-suite/tests/asm-to-bytecode.test
index 1132a41..9a8178c 100644
--- a/test-suite/tests/asm-to-bytecode.test
+++ b/test-suite/tests/asm-to-bytecode.test
@@ -1,6 +1,6 @@
;;;; Assembly to bytecode compilation -*- mode: scheme; coding: utf-8; -*-
;;;;
-;;;; Copyright (C) 2010, 2011 Free Software Foundation, Inc.
+;;;; Copyright (C) 2010, 2011, 2012 Free Software Foundation, Inc.
;;;;
;;;; This library is free software; you can redistribute it and/or
;;;; modify it under the terms of the GNU Lesser General Public
@@ -129,6 +129,12 @@
(string=? (target-vendor) vendor)
(string=? (target-os) os)))))))
+(define (native-cpu)
+ (with-target %host-type target-cpu))
+
+(define (native-word-size)
+ ((@ (system foreign) sizeof) '*))
+
(define %objcode-cookie-size
(string-length "GOOF----LE-8"))
@@ -139,7 +145,17 @@
(lambda (p get-objcode)
(with-target triplet
(lambda ()
- (let ((b (compile-bytecode
+ (let ((word-size
+ ;; When the target is the native CPU, rather trust
+ ;; the native CPU's word size. This is because
+ ;; Debian's `sparc64-linux-gnu' port, for instance,
+ ;; actually has a 32-bit user-land, for instance (see
+ ;; <http://www.debian.org/ports/sparc/#sparc64bit>
+ ;; for details.)
+ (if (string=? (native-cpu) (target-cpu))
+ (native-word-size)
+ word-size))
+ (b (compile-bytecode
'(load-program () 16 #f
(assert-nargs-ee/locals 1)
(make-int8 77)
diff --git a/test-suite/tests/eval.test b/test-suite/tests/eval.test
index a128cd7..a5fbfec 100644
--- a/test-suite/tests/eval.test
+++ b/test-suite/tests/eval.test
@@ -1,5 +1,5 @@
;;;; eval.test --- tests guile's evaluator -*- scheme -*-
-;;;; Copyright (C) 2000, 2001, 2006, 2007, 2009, 2010, 2011 Free Software
Foundation, Inc.
+;;;; Copyright (C) 2000, 2001, 2006, 2007, 2009, 2010, 2011, 2012 Free
Software Foundation, Inc.
;;;;
;;;; This library is free software; you can redistribute it and/or
;;;; modify it under the terms of the GNU Lesser General Public
@@ -19,7 +19,8 @@
:use-module (test-suite lib)
:use-module ((srfi srfi-1) :select (unfold count))
:use-module ((system vm vm) :select (make-vm call-with-vm))
- :use-module (ice-9 documentation))
+ :use-module (ice-9 documentation)
+ :use-module (ice-9 local-eval))
(define exception:bad-expression
@@ -74,6 +75,10 @@
(with-test-prefix "evaluator"
+ (pass-if "definitions return #<unspecified>"
+ (eq? (primitive-eval '(define test-var 'foo))
+ (if #f #f)))
+
(with-test-prefix "symbol lookup"
(with-test-prefix "top level"
@@ -422,4 +427,96 @@
(thunk (let loop () (cons 's (loop)))))
(call-with-vm vm thunk))))
+;;;
+;;; local-eval
+;;;
+
+(with-test-prefix "local evaluation"
+
+ (pass-if "local-eval"
+
+ (let* ((env1 (local-eval '(let ((x 1) (y 2) (z 3))
+ (define-syntax-rule (foo x) (quote x))
+ (the-environment))
+ (current-module)))
+ (env2 (local-eval '(let ((x 111) (a 'a))
+ (define-syntax-rule (bar x) (quote x))
+ (the-environment))
+ env1)))
+ (local-eval '(set! x 11) env1)
+ (local-eval '(set! y 22) env1)
+ (local-eval '(set! z 33) env2)
+ (and (equal? (local-eval '(list x y z) env1)
+ '(11 22 33))
+ (equal? (local-eval '(list x y z a) env2)
+ '(111 22 33 a)))))
+
+ (pass-if "local-compile"
+
+ (let* ((env1 (local-compile '(let ((x 1) (y 2) (z 3))
+ (define-syntax-rule (foo x) (quote x))
+ (the-environment))
+ (current-module)))
+ (env2 (local-compile '(let ((x 111) (a 'a))
+ (define-syntax-rule (bar x) (quote x))
+ (the-environment))
+ env1)))
+ (local-compile '(set! x 11) env1)
+ (local-compile '(set! y 22) env1)
+ (local-compile '(set! z 33) env2)
+ (and (equal? (local-compile '(list x y z) env1)
+ '(11 22 33))
+ (equal? (local-compile '(list x y z a) env2)
+ '(111 22 33 a)))))
+
+ (pass-if "the-environment within a macro"
+ (let ((module-a-name '(test module the-environment a))
+ (module-b-name '(test module the-environment b)))
+ (let ((module-a (resolve-module module-a-name))
+ (module-b (resolve-module module-b-name)))
+ (module-use! module-a (resolve-interface '(guile)))
+ (module-use! module-a (resolve-interface '(ice-9 local-eval)))
+ (eval '(begin
+ (define z 3)
+ (define-syntax-rule (test)
+ (let ((x 1) (y 2))
+ (the-environment))))
+ module-a)
+ (module-use! module-b (resolve-interface '(guile)))
+ (let ((env (local-eval `(let ((x 111) (y 222))
+ ((@@ ,module-a-name test)))
+ module-b)))
+ (equal? (local-eval '(list x y z) env)
+ '(1 2 3))))))
+
+ (pass-if "capture pattern variables"
+ (let ((env (syntax-case #'(((a 1) (b 2) (c 3))
+ ((d 4) (e 5) (f 6))) ()
+ ((((k v) ...) ...) (the-environment)))))
+ (equal? (syntax->datum (local-eval '#'((k ... v ...) ...) env))
+ '((a b c 1 2 3) (d e f 4 5 6)))))
+
+ (pass-if "mixed primitive-eval, local-eval and local-compile"
+
+ (let* ((env1 (primitive-eval '(let ((x 1) (y 2) (z 3))
+ (define-syntax-rule (foo x) (quote x))
+ (the-environment))))
+ (env2 (local-eval '(let ((x 111) (a 'a))
+ (define-syntax-rule (bar x) (quote x))
+ (the-environment))
+ env1))
+ (env3 (local-compile '(let ((y 222) (b 'b))
+ (the-environment))
+ env2)))
+ (local-eval '(set! x 11) env1)
+ (local-compile '(set! y 22) env2)
+ (local-eval '(set! z 33) env2)
+ (local-compile '(set! a (* y 2)) env3)
+ (and (equal? (local-compile '(list x y z) env1)
+ '(11 22 33))
+ (equal? (local-eval '(list x y z a) env2)
+ '(111 22 33 444))
+ (equal? (local-eval '(list x y z a b) env3)
+ '(111 222 33 444 b))))))
+
;;; eval.test ends here
diff --git a/test-suite/tests/foreign.test b/test-suite/tests/foreign.test
index 2c326c9..6eafe95 100644
--- a/test-suite/tests/foreign.test
+++ b/test-suite/tests/foreign.test
@@ -1,6 +1,6 @@
;;;; foreign.test --- FFI. -*- mode: scheme; coding: utf-8; -*-
;;;;
-;;;; Copyright (C) 2010, 2011 Free Software Foundation, Inc.
+;;;; Copyright (C) 2010, 2011, 2012 Free Software Foundation, Inc.
;;;;
;;;; This library is free software; you can redistribute it and/or
;;;; modify it under the terms of the GNU Lesser General Public
@@ -71,6 +71,12 @@
(equal? (make-pointer 123)
(make-pointer 123 finalizer))))
+ (pass-if "equal? modulo finalizer (set-pointer-finalizer!)"
+ (let ((finalizer (dynamic-func "scm_is_pair" (dynamic-link)))
+ (ptr (make-pointer 123)))
+ (set-pointer-finalizer! ptr finalizer)
+ (equal? (make-pointer 123) ptr)))
+
(pass-if "not equal?"
(not (equal? (make-pointer 123) (make-pointer 456)))))
diff --git a/test-suite/tests/gc.test b/test-suite/tests/gc.test
index 25dc577..97eeb19 100644
--- a/test-suite/tests/gc.test
+++ b/test-suite/tests/gc.test
@@ -1,6 +1,6 @@
;;;; gc.test --- test guile's garbage collection -*- scheme -*-
;;;; Copyright (C) 2000, 2001, 2004, 2006, 2007, 2008, 2009,
-;;;; 2011 Free Software Foundation, Inc.
+;;;; 2011, 2012 Free Software Foundation, Inc.
;;;;
;;;; This library is free software; you can redistribute it and/or
;;;; modify it under the terms of the GNU Lesser General Public
@@ -87,11 +87,26 @@
total)))
(pass-if "Lexical vars are collectable"
- (procedure?
- (compile
- '(begin
- (define guardian (make-guardian))
- (let ((f (lambda () (display "test\n"))))
- (guardian f))
- (gc)(gc)(gc)
- (guardian))))))
+ (let ((l (compile
+ '(begin
+ (define guardian (make-guardian))
+ (let ((f (list 'foo)))
+ (guardian f))
+ ;; See below.
+ ;; ((lambda () #t))
+ (gc)(gc)(gc)
+ (guardian))
+ ;; Prevent the optimizer from propagating f.
+ #:opts '(#:partial-eval? #f))))
+ (if (not l)
+ ;; We think that something on the C stack in the VM is holding
+ ;; on to a reference to the list. This happens on
+ ;; register-poor architectures, where more locals are spilled
+ ;; to the stack. If more code runs before the (gc) is run,
+ ;; like a ((lambda () #t)), then the test passes. So given
+ ;; that at some point, the reference will be dropped, we will
+ ;; count these cases as "unresolved" instead of "fail".
+ ;;
+ ;; See http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10336.
+ (throw 'unresolved)
+ (equal? l '(foo))))))
diff --git a/test-suite/tests/hash.test b/test-suite/tests/hash.test
index f3d603d..bcdfe91 100644
--- a/test-suite/tests/hash.test
+++ b/test-suite/tests/hash.test
@@ -1,6 +1,6 @@
;;;; hash.test --- test guile hashing -*- scheme -*-
;;;;
-;;;; Copyright (C) 2004, 2005, 2006, 2008, 2011 Free Software Foundation, Inc.
+;;;; Copyright (C) 2004, 2005, 2006, 2008, 2011, 2012 Free Software
Foundation, Inc.
;;;;
;;;; This library is free software; you can redistribute it and/or
;;;; modify it under the terms of the GNU Lesser General Public
@@ -75,9 +75,10 @@
(make-hash-table -1))
(pass-if (hash-table? (make-hash-table 0))) ;; default
(pass-if (not (hash-table? 'not-a-hash-table)))
- (pass-if (equal? "#<hash-table 0/113>"
- (with-output-to-string
- (lambda () (write (make-hash-table 100)))))))
+ (pass-if (string-suffix? " 0/113>"
+ (with-output-to-string
+ (lambda ()
+ (write (make-hash-table 100)))))))
;;;
;;; usual set and reference
@@ -129,8 +130,9 @@
(equal? 'thirty (hash-ref table 30))
(equal? 'thirty-three (hash-ref table 33))
(equal? 'bar (hash-ref table 'foo))
- (equal? "#<hash-table 36/61>"
- (with-output-to-string (lambda () (write table)))))))
+ (string-suffix? " 36/61>"
+ (with-output-to-string
+ (lambda () (write table)))))))
;; 1 and 1 are equal? and eqv? and eq?
(pass-if (equal? 'foo
@@ -240,8 +242,9 @@
(pass-if (equal? 'equal (hashx-ref hash assoc table 2/64)))
(pass-if (equal? 'equal (hashx-ref hash assoc table 2/66)))
(pass-if (equal? 'equal (hashx-ref hash assoc table 34)))
- (pass-if (equal? "#<hash-table 33/61>"
- (with-output-to-string (lambda () (write table)))))))
+ (pass-if (string-suffix? " 33/61>"
+ (with-output-to-string
+ (lambda () (write table)))))))
(with-test-prefix
"hashx"
diff --git a/test-suite/tests/i18n.test b/test-suite/tests/i18n.test
index 0567051..da23080 100644
--- a/test-suite/tests/i18n.test
+++ b/test-suite/tests/i18n.test
@@ -138,9 +138,11 @@
(under-locale-or-unresolved %french-utf8-locale thunk))
(define (under-turkish-utf8-locale-or-unresolved thunk)
- ;; FreeBSD 8.2 has a broken tr_TR locale where `i' is mapped to
- ;; uppercase `I' instead of `Ä°', so disable tests on that platform.
- (if (string-contains %host-type "freebsd8")
+ ;; FreeBSD 8.2 and Solaris 2.10 have a broken tr_TR locale where `i'
+ ;; is mapped to uppercase `I' instead of `Ä°', so disable tests on that
+ ;; platform.
+ (if (or (string-contains %host-type "freebsd8")
+ (string-contains %host-type "solaris2.10"))
(throw 'unresolved)
(under-locale-or-unresolved %turkish-utf8-locale thunk)))
diff --git a/test-suite/tests/statprof.test b/test-suite/tests/statprof.test
index b2ee41e..1fec617 100644
--- a/test-suite/tests/statprof.test
+++ b/test-suite/tests/statprof.test
@@ -31,8 +31,22 @@
#:use-module (srfi srfi-1)
#:use-module (statprof))
+;; Throw `unresolved' upon ENOSYS. This is used to skip tests on
+;; platforms such as GNU/Hurd where `ITIMER_PROF' is is currently
+;; unimplemented.
+(define-syntax-rule (when-implemented body ...)
+ (catch 'system-error
+ (lambda ()
+ body ...)
+ (lambda args
+ (let ((errno (system-error-errno args)))
+ (false-if-exception (statprof-stop))
+ (if (= errno ENOSYS)
+ (throw 'unresolved)
+ (apply throw args))))))
+
(pass-if "statistical sample counts within expected range"
- (let ()
+ (when-implemented
;; test to see that if we call 3 identical functions equally, they
;; show up equally in the call count, +/- 30%. it's a big range, and
;; I tried to do something more statistically valid, but failed (for
@@ -43,18 +57,18 @@
;; Disable partial evaluation so that `(+ i i)' doesn't get
;; stripped.
(compile '(lambda (n)
- (do ((i 0 (+ i 1))) ((= 200 i)) (+ i i)))
- #:opts '(#:partial-eval? #f)))
+ (do ((i 0 (+ i 1))) ((= 200 i)) (+ i i)))
+ #:opts '(#:partial-eval? #f)))
(define run-test
(compile '(lambda (num-calls funcs)
- (let loop ((x num-calls) (funcs funcs))
- (cond
- ((positive? x)
- ((car funcs) x)
- (loop (- x 1) (cdr funcs))))))))
-
+ (let loop ((x num-calls) (funcs funcs))
+ (cond
+ ((positive? x)
+ ((car funcs) x)
+ (loop (- x 1) (cdr funcs))))))))
+
(let ((num-calls 80000)
- (funcs (circular-list (make-func) (make-func) (make-func))))
+ (funcs (circular-list (make-func) (make-func) (make-func))))
;; Run test. 20000 us == 200 Hz.
(statprof-reset 0 20000 #f #f)
@@ -62,25 +76,31 @@
(run-test num-calls funcs)
(statprof-stop)
- (let* ((a-data (statprof-proc-call-data (car funcs)))
- (b-data (statprof-proc-call-data (cadr funcs)))
- (c-data (statprof-proc-call-data (caddr funcs)))
- (samples (map statprof-call-data-cum-samples
- (list a-data b-data c-data)))
- (average (/ (apply + samples) 3))
- (max-allowed-drift 0.30) ; 30%
- (diffs (map (lambda (x) (abs (- x average)))
- samples))
- (max-diff (apply max diffs)))
+ (let ((a-data (statprof-proc-call-data (car funcs)))
+ (b-data (statprof-proc-call-data (cadr funcs)))
+ (c-data (statprof-proc-call-data (caddr funcs))))
+ (if (and a-data b-data c-data)
+ (let* ((samples (map statprof-call-data-cum-samples
+ (list a-data b-data c-data)))
+ (average (/ (apply + samples) 3))
+ (max-allowed-drift 0.30) ; 30%
+ (diffs (map (lambda (x) (abs (- x average)))
+ samples))
+ (max-diff (apply max diffs)))
+
+ (let ((drift-fraction (/ max-diff average)))
+ (or (< drift-fraction max-allowed-drift)
+ ;; don't stop the test suite for what statistically is
+ ;; bound to happen.
+ (throw 'unresolved (pk average drift-fraction)))))
- (let ((drift-fraction (/ max-diff average)))
- (or (< drift-fraction max-allowed-drift)
- ;; don't stop the test suite for what statistically is
- ;; bound to happen.
- (throw 'unresolved (pk average drift-fraction))))))))
+ ;; Samples were not collected for at least one of the
+ ;; functions, possibly because NUM-CALLS is too low compared
+ ;; to the CPU speed.
+ (throw 'unresolved (pk (list a-data b-data c-data))))))))
(pass-if "accurate call counting"
- (let ()
+ (when-implemented
;; Test to see that if we call a function N times while the profiler
;; is active, it shows up N times.
(let ((num-calls 200))
diff --git a/test-suite/tests/tree-il.test b/test-suite/tests/tree-il.test
index e8945c6..0ab58c9 100644
--- a/test-suite/tests/tree-il.test
+++ b/test-suite/tests/tree-il.test
@@ -1,7 +1,7 @@
;;;; tree-il.test --- test suite for compiling tree-il -*- scheme -*-
;;;; Andy Wingo <address@hidden> --- May 2009
;;;;
-;;;; Copyright (C) 2009, 2010, 2011 Free Software Foundation, Inc.
+;;;; Copyright (C) 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
;;;;
;;;; This library is free software; you can redistribute it and/or
;;;; modify it under the terms of the GNU Lesser General Public
@@ -546,7 +546,24 @@
(primcall +
(primcall values (const 1) (const 2)))
(program () (std-prelude 0 0 #f) (label _)
- (const 1) (call return 1))))
+ (const 1) (call return 1)))
+
+ ;; Testing `(values foo)' in push context with RA.
+ (assert-tree-il->glil without-partial-evaluation
+ (primcall cdr
+ (letrec (lp) (#{lp ~V9KrhVD4PFEL6oCTrLg3A}#)
+ ((lambda ((name . lp))
+ (lambda-case ((() #f #f #f () ())
+ (primcall values (const (one two)))))))
+ (call (lexical lp #{lp ~V9KrhVD4PFEL6oCTrLg3A}#))))
+ (program () (std-prelude 0 0 #f) (label _)
+ (branch br _) ;; entering the fix, jump to :2
+ ;; :1 body of lp, jump to :3
+ (label _) (bind) (const (one two)) (branch br _) (unbind)
+ ;; :2 initial call of lp, jump to :1
+ (label _) (bind) (branch br _) (label _) (unbind)
+ ;; :3 the push continuation
+ (call cdr 1) (call return 1))))
;; FIXME: binding info for or-hacked locals might bork the disassembler,
;; and could be tightened in any case
@@ -2177,7 +2194,8 @@
(pass-if "~%, ~~, ~&, ~t, ~_, and ~\\n"
(null? (call-with-warnings
(lambda ()
- (compile '(format some-port "~&~3_~~ ~\n~12they~%")
+ (compile '((@ (ice-9 format) format) some-port
+ "~&~3_~~ ~\n~12they~%")
#:opts %opts-w-format
#:to 'assembly)))))
@@ -2204,7 +2222,8 @@
(pass-if "two missing arguments"
(let ((w (call-with-warnings
(lambda ()
- (compile '(format #f "foo ~10,2f and bar ~S~%")
+ (compile '((@ (ice-9 format) format) #f
+ "foo ~10,2f and bar ~S~%")
#:opts %opts-w-format
#:to 'assembly)))))
(and (= (length w) 1)
@@ -2235,7 +2254,7 @@
(pass-if "literals"
(null? (call-with-warnings
(lambda ()
- (compile '(format #f "~A ~[foo~;bar~;baz~;~] ~10,2f"
+ (compile '((@ (ice-9 format) format) #f "~A
~[foo~;bar~;baz~;~] ~10,2f"
'a 1 3.14)
#:opts %opts-w-format
#:to 'assembly)))))
@@ -2243,7 +2262,7 @@
(pass-if "literals with selector"
(let ((w (call-with-warnings
(lambda ()
- (compile '(format #f "~2[foo~;bar~;baz~;~] ~A"
+ (compile '((@ (ice-9 format) format) #f
"~2[foo~;bar~;baz~;~] ~A"
1 'dont-ignore-me)
#:opts %opts-w-format
#:to 'assembly)))))
@@ -2254,7 +2273,7 @@
(pass-if "escapes (exact count)"
(let ((w (call-with-warnings
(lambda ()
- (compile '(format #f "~[~a~;~a~]")
+ (compile '((@ (ice-9 format) format) #f "~[~a~;~a~]")
#:opts %opts-w-format
#:to 'assembly)))))
(and (= (length w) 1)
@@ -2264,7 +2283,7 @@
(pass-if "escapes with selector"
(let ((w (call-with-warnings
(lambda ()
- (compile '(format #f "~1[chbouib~;~a~]")
+ (compile '((@ (ice-9 format) format) #f
"~1[chbouib~;~a~]")
#:opts %opts-w-format
#:to 'assembly)))))
(and (= (length w) 1)
@@ -2274,7 +2293,7 @@
(pass-if "escapes, range"
(let ((w (call-with-warnings
(lambda ()
- (compile '(format #f "~[chbouib~;~a~;~2*~a~]")
+ (compile '((@ (ice-9 format) format) #f
"~[chbouib~;~a~;~2*~a~]")
#:opts %opts-w-format
#:to 'assembly)))))
(and (= (length w) 1)
@@ -2284,7 +2303,7 @@
(pass-if "@"
(let ((w (call-with-warnings
(lambda ()
- (compile '(format #f "address@hidden")
+ (compile '((@ (ice-9 format) format) #f "address@hidden")
#:opts %opts-w-format
#:to 'assembly)))))
(and (= (length w) 1)
@@ -2294,7 +2313,7 @@
(pass-if "nested"
(let ((w (call-with-warnings
(lambda ()
- (compile '(format #f "~:[~[hey~;~a~;~va~]~;~3*~]")
+ (compile '((@ (ice-9 format) format) #f
"~:[~[hey~;~a~;~va~]~;~3*~]")
#:opts %opts-w-format
#:to 'assembly)))))
(and (= (length w) 1)
@@ -2304,7 +2323,7 @@
(pass-if "unterminated"
(let ((w (call-with-warnings
(lambda ()
- (compile '(format #f "~[unterminated")
+ (compile '((@ (ice-9 format) format) #f "~[unterminated")
#:opts %opts-w-format
#:to 'assembly)))))
(and (= (length w) 1)
@@ -2314,7 +2333,7 @@
(pass-if "unexpected ~;"
(let ((w (call-with-warnings
(lambda ()
- (compile '(format #f "foo~;bar")
+ (compile '((@ (ice-9 format) format) #f "foo~;bar")
#:opts %opts-w-format
#:to 'assembly)))))
(and (= (length w) 1)
@@ -2324,7 +2343,7 @@
(pass-if "unexpected ~]"
(let ((w (call-with-warnings
(lambda ()
- (compile '(format #f "foo~]")
+ (compile '((@ (ice-9 format) format) #f "foo~]")
#:opts %opts-w-format
#:to 'assembly)))))
(and (= (length w) 1)
@@ -2334,7 +2353,7 @@
(pass-if "~{...~}"
(null? (call-with-warnings
(lambda ()
- (compile '(format #f "~A ~{~S~} ~A"
+ (compile '((@ (ice-9 format) format) #f "~A ~{~S~} ~A"
'hello '("ladies" "and")
'gentlemen)
#:opts %opts-w-format
@@ -2343,7 +2362,7 @@
(pass-if "~{...~}, too many args"
(let ((w (call-with-warnings
(lambda ()
- (compile '(format #f "~{~S~}" 1 2 3)
+ (compile '((@ (ice-9 format) format) #f "~{~S~}" 1 2 3)
#:opts %opts-w-format
#:to 'assembly)))))
(and (= (length w) 1)
@@ -2353,14 +2372,14 @@
(pass-if "address@hidden"
(null? (call-with-warnings
(lambda ()
- (compile '(format #f "address@hidden" 1 2 3)
+ (compile '((@ (ice-9 format) format) #f "address@hidden" 1 2
3)
#:opts %opts-w-format
#:to 'assembly)))))
(pass-if "address@hidden, too few args"
(let ((w (call-with-warnings
(lambda ()
- (compile '(format #f "~A address@hidden")
+ (compile '((@ (ice-9 format) format) #f "~A address@hidden")
#:opts %opts-w-format
#:to 'assembly)))))
(and (= (length w) 1)
@@ -2370,7 +2389,7 @@
(pass-if "unterminated ~{...~}"
(let ((w (call-with-warnings
(lambda ()
- (compile '(format #f "~{")
+ (compile '((@ (ice-9 format) format) #f "~{")
#:opts %opts-w-format
#:to 'assembly)))))
(and (= (length w) 1)
@@ -2380,14 +2399,14 @@
(pass-if "~(...~)"
(null? (call-with-warnings
(lambda ()
- (compile '(format #f "~:@(~A ~A~)" 'foo 'bar)
+ (compile '((@ (ice-9 format) format) #f "~:@(~A ~A~)" 'foo
'bar)
#:opts %opts-w-format
#:to 'assembly)))))
(pass-if "~v"
(let ((w (call-with-warnings
(lambda ()
- (compile '(format #f "~v_foo")
+ (compile '((@ (ice-9 format) format) #f "~v_foo")
#:opts %opts-w-format
#:to 'assembly)))))
(and (= (length w) 1)
@@ -2396,7 +2415,7 @@
(pass-if "~v:@y"
(null? (call-with-warnings
(lambda ()
- (compile '(format #f "~v:@y" 1 123)
+ (compile '((@ (ice-9 format) format) #f "~v:@y" 1 123)
#:opts %opts-w-format
#:to 'assembly)))))
@@ -2404,7 +2423,7 @@
(pass-if "~*"
(let ((w (call-with-warnings
(lambda ()
- (compile '(format #f "~2*~a" 'a 'b)
+ (compile '((@ (ice-9 format) format) #f "~2*~a" 'a 'b)
#:opts %opts-w-format
#:to 'assembly)))))
(and (= (length w) 1)
@@ -2414,14 +2433,14 @@
(pass-if "~?"
(null? (call-with-warnings
(lambda ()
- (compile '(format #f "~?" "~d ~d" '(1 2))
+ (compile '((@ (ice-9 format) format) #f "~?" "~d ~d" '(1 2))
#:opts %opts-w-format
#:to 'assembly)))))
(pass-if "complex 1"
(let ((w (call-with-warnings
(lambda ()
- (compile '(format #f
+ (compile '((@ (ice-9 format) format) #f
"address@hidden address@hidden;;
address@hidden@[~61t at ~a~]\n"
1 2 3 4 5 6)
#:opts %opts-w-format
@@ -2433,7 +2452,7 @@
(pass-if "complex 2"
(let ((w (call-with-warnings
(lambda ()
- (compile '(format #f
+ (compile '((@ (ice-9 format) format) #f
"~:(~A~) Commands~:[~; [abbrev]~]:~2%"
1 2 3 4)
#:opts %opts-w-format
@@ -2445,7 +2464,7 @@
(pass-if "complex 3"
(let ((w (call-with-warnings
(lambda ()
- (compile '(format #f "address@hidden:[~*~3_~;~3d~] ~v:@y~%")
+ (compile '((@ (ice-9 format) format) #f
"address@hidden:[~*~3_~;~3d~] ~v:@y~%")
#:opts %opts-w-format
#:to 'assembly)))))
(and (= (length w) 1)
@@ -2472,4 +2491,31 @@
(compile '(let ((format chbouib))
(format #t "not ~A a format string"))
#:opts %opts-w-format
- #:to 'assembly)))))))
+ #:to 'assembly)))))
+
+ (with-test-prefix "simple-format"
+
+ (pass-if "good"
+ (null? (call-with-warnings
+ (lambda ()
+ (compile '(simple-format #t "foo ~a bar ~s ~%~~" 1 2)
+ #:opts %opts-w-format
+ #:to 'assembly)))))
+
+ (pass-if "wrong number of args"
+ (let ((w (call-with-warnings
+ (lambda ()
+ (compile '(simple-format #t "foo ~a ~s~%" 'one-missing)
+ #:opts %opts-w-format
+ #:to 'assembly)))))
+ (and (= (length w) 1)
+ (number? (string-contains (car w) "wrong number")))))
+
+ (pass-if "unsupported"
+ (let ((w (call-with-warnings
+ (lambda ()
+ (compile '(simple-format #t "foo ~x~%" 16)
+ #:opts %opts-w-format
+ #:to 'assembly)))))
+ (and (= (length w) 1)
+ (number? (string-contains (car w) "unsupported format
option"))))))))
hooks/post-receive
--
GNU Guile
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Guile-commits] GNU Guile branch, master, updated. v2.1.0-370-g3bf3d73,
Andy Wingo <=