Seems keyword handling somehow interrelates (actually I was suspecting that consing in the print parameters may be the reason, but these example show that it's not consing per se):
(print c (list c 1 3)) does not segfault (print (list c 1 3)) segfaults
Could just be by coincidence, of course. (I would guess the problem is somewhere in memory handling in the buffer writing/copying code in string port operations?)
Christian.