diff --git a/expand.scm b/expand.scm
index c7beae6..55b85b6 100644
|
a
|
b
|
|
| 94 | 94 | (lookup x se) |
| 95 | 95 | (getp x '##core#macro-alias) ) ) ) |
| 96 | 96 | (cond ((getp x '##core#real-name)) |
| | 97 | ((getp x '##core#primitive)) |
| 97 | 98 | ((and alias (not (assq x se))) |
| 98 | 99 | (##sys#alias-global-hook x #f #f)) |
| 99 | 100 | ((not x2) x) |
diff --git a/tests/compiler-tests.scm b/tests/compiler-tests.scm
index f402f75..43e308e 100644
|
a
|
b
|
|
| 99 | 99 | (strlen-safe-macro* "hello, world") |
| 100 | 100 | (strlen-primitive-macro "hello, world")) |
| 101 | 101 | |
| | 102 | ;; Type specifiers and variable names in foreign-lambda in macros |
| | 103 | ;; are incorrectly renamed in modules, too. |
| | 104 | (foreign-declare "void foo(void *abc) { printf(\"hi\\n\"); }") |
| | 105 | |
| | 106 | (module foo () |
| | 107 | (import chicken scheme foreign) ; "chicken" includes an export for "void" |
| | 108 | |
| | 109 | (let-syntax ((fl |
| | 110 | (syntax-rules () |
| | 111 | ((_) |
| | 112 | (foreign-lambda void foo (c-pointer void))))) |
| | 113 | (fl* |
| | 114 | (syntax-rules () |
| | 115 | ((_) |
| | 116 | (foreign-lambda* void (((c-pointer void) a)) |
| | 117 | "C_return(a);")))) |
| | 118 | (fp |
| | 119 | (syntax-rules () |
| | 120 | ((_) |
| | 121 | (foreign-primitive void (((c-pointer void) a)) |
| | 122 | "C_return(a);"))))) |
| | 123 | (fl) |
| | 124 | (fl*) |
| | 125 | (fp))) |
| | 126 | |
| | 127 | |
| 102 | 128 | ;;; compiler-syntax for map/for-each must be careful when the |
| 103 | 129 | ; operator may have side-effects (currently only lambda exprs and symbols |
| 104 | 130 | ; are allowed) |
| … |
… |
|
| 142 | 168 | (define (baz) |
| 143 | 169 | (bar a: #t)) |
| 144 | 170 | baz) |
| 145 | | bar) |
| | 171 | bar) |
| | 172 | No newline at end of file |