~ chicken-core (chicken-5) 39cf6a5fc1f058cb393d0549d991698496389873


commit 39cf6a5fc1f058cb393d0549d991698496389873
Author:     Peter Bex <peter.bex@xs4all.nl>
AuthorDate: Mon Mar 14 22:58:43 2011 +0100
Commit:     Peter Bex <peter.bex@xs4all.nl>
CommitDate: Mon Mar 14 22:58:43 2011 +0100

    Revert fix for second part of #444 - this is also handled by the extra level of indirection that fixes #518.  Now core primitive names are not "stripped" incorrectly anymore either

diff --git a/expand.scm b/expand.scm
index b8c50262..e4387532 100644
--- a/expand.scm
+++ b/expand.scm
@@ -95,7 +95,6 @@
            ((symbol? x)
             (let ((x2 (getp x '##core#macro-alias) ) )
               (cond ((getp x '##core#real-name))
-                    ((getp x '##core#primitive))
                     ((not x2) x)
                     ((pair? x2) x)
                     (else x2))))
diff --git a/tests/syntax-tests.scm b/tests/syntax-tests.scm
index 3d151ee2..132a1ed2 100644
--- a/tests/syntax-tests.scm
+++ b/tests/syntax-tests.scm
@@ -209,8 +209,17 @@
    (lambda (e r c)
      `',(strip-syntax (r 'bar)))))
 
-(t 'bar (baz bar))
-(t 'bar (baz void))
+(t "bar" (symbol->string (baz bar)))
+(t "bar" (symbol->string (baz void)))
+
+;; Fully qualified symbols are not mangled - these names are internal
+;; and not documented, but shouldn't be messed with by the expander
+
+(t "foo#bar" (symbol->string 'foo#bar))
+(t "#%void" (symbol->string '#%void))
+
+(t "foo#bar" (symbol->string (strip-syntax 'foo#bar)))
+(t "#%void" (symbol->string (strip-syntax '#%void)))
 
 ;;; alternative ellipsis test (SRFI-46)
 
Trap