fix compilation of quasiquote with splicing and improper lists
authorAndy Wingo <wingo@pobox.com>
Tue, 30 Sep 2008 21:41:16 +0000 (23:41 +0200)
committerAndy Wingo <wingo@pobox.com>
Tue, 30 Sep 2008 21:41:16 +0000 (23:41 +0200)
commit2bd859c81ac55b8f229778b0fff23a35b0d6e904
tree74f7bd1ba7b7470b6e56fc5e20e1d49bc3c7e093
parent887ce75ae828fabd9a76d8e719bd3070c334eb44
fix compilation of quasiquote with splicing and improper lists

* libguile/vm-engine.h (POP_CONS_MARK): New macro, analagous to
  POP_LIST_MARK; used in quasiquote on improper lists.

* libguile/vm-i-system.c (cons-mark): New instruction. You know the
  drill, remove all your .go files please.

* module/system/il/compile.scm (codegen): Compile quasiquoted improper
  lists with splices correctly. Additionally check that we don't have
  slices in the CDR of an improper list.

* testsuite/t-quasiquote.scm: Add a test for unquote-splicing in improper
  lists.
libguile/vm-engine.h
libguile/vm-i-system.c
module/system/il/compile.scm
testsuite/t-quasiquote.scm