I cannot see any possibility that the compiler would confuse things in such a way that instead of doing (string->keyword "path") it does (string->symbol "path:") . Can you please reduce this bug to its simplest form and tell the outcome here? This ought to shed light over what's wrong.<div>

<br></div><div>Brgds<br><br><div class="gmail_quote">2012/6/10 David Rush <span dir="ltr"><<a href="mailto:kumoyuki@gmail.com" target="_blank">kumoyuki@gmail.com</a>></span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<div class="im">On 10 June 2012 14:31, Mikael <<a href="mailto:mikael.rcv@gmail.com">mikael.rcv@gmail.com</a>> wrote:<br>
><br>
> Uh this is funny:<br>
><br>
> (open-output-file '(|path:| "test.flog" |create:| maybe |append:| #t))<br>
><br>
> look there, there's  |:s around the keywords. This means they're *not*<br>
> actually keywords but *symbols* that kind of look like keywords.<br>
<br>
</div>That is interesting. I have no idea why, as I said it's the same code<br>
in both cases (code was included in the tail of the OP)<br>
<div class="im"><br>
> Tried to reproduce your error on 4.6.2:<br>
><br>
> $ cat a.scm<br>
> (write (cons abcde: 123))<br>
> $ gsi a.scm<br>
> (abcde: . 123)$ gsc -exe a.scm<br>
> $ ./a<br>
> (abcde: . 123)<br>
<br>
</div>I wonder if mine is a case that occurs because the code renames cons<br>
(in an attempt to avoid variable capture while expanding macros) so<br>
that instead of cons the var referenced is actually _cons_23 - leading<br>
to compiler confusion about special cases.<br>
<div class="im"><br>
> Do you compile this code just with gsc filename.scm  or (compile-file<br>
> "filename.scm") or do you have some preprocessor on it?<br>
<br>
</div>from the original message:<br>
<br>
-----------------------------------------------------------------------<br>
<div class="im">drr@dibbuk$ make target=gambit test/bug.gambit<br>
gsc -:s -link test/bug.Gambit<br>
gcc -I/home/drr/include test/bug.c test/bug_.c -o test/bug.gambit \<br>
               -L/home/drr/lib -lgambc -lm -lutil -ldl<br>
</div>------------------------------------------------------------------------<br>
<br>
which is something of a habit i have with Gambit going back many years<br>
in order to actually insert a lot of gcc optimization flags (*not*<br>
included in this test case)<br>
<div class="im"><br>
> Do you see any other reasons for why this occured?<br>
<br>
</div>just what I suggested above. It gives me something to try anyway.<br>
<span class="HOEnZb"><font color="#888888"><br>
d<br>
--<br>
GPG Public key at <a href="http://cyber-rush.org/drr/gpg-public-key.txt" target="_blank">http://cyber-rush.org/drr/gpg-public-key.txt</a><br>
</font></span></blockquote></div><br></div>