﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc	difficulty
484	-scrutinize not properly expanding match macro.	Alan Post		"I've encountered a problem using the match macro while having  '-scrutinize' enabled.

I've attached a .scm file that uses the match egg testing four cases.  Compiling this file with the following command:

{{{
csc -feature compiling-extension -setup-mode -s -scrutinize -j testegg -o testegg.so testegg.scm
}}}

Gives me the following error:

{{{
Error: (caddr) bad argument type: *

        Call history:

        <syntax>          (##core#let ((g670 ((make-bar ""aisa"" #f #t) ""baz""))) (g670))
        <syntax>          ((make-bar ""aisa"" #f #t) ""baz"")
        <syntax>          (##core#let ((g672 (make-bar ""aisa"" #f #t))) (g672 ""baz""))
        <syntax>          (make-bar ""aisa"" #f #t)
        <syntax>          (##core#begin (g672 ""baz""))
        <syntax>          (g672 ""baz"")
        <syntax>          (##core#begin (g670))
        <syntax>          (g670)
        <syntax>          (newline)
        <syntax>          (##core#undefined)    <--

Error: shell command terminated with non-zero exit status 17920: /opt/chicken-master/bin/chicken testegg.scm -output-file testegg.c -dynamic -feature chicken-compile-shared -feature compiling-extension -setup-mode -scrutinize -emit-import-library testegg
}}}

This code compiles fine in the following conditions:

* it runs fine in csi, this problem relates to the compiler.
* it runs fine if you comment-out all but one case in match.  The particular case doesn't matter, so long as there is only one of them.
* it runs fine without the -scrutinizer command-line option.

I've confirmed this problem on experimental (df0bb192a6ac069e9d845d8445d96bf173e117fa: updated manifest) and 4.6.0.  I'm running OpenBSD 4.8.  C-Keen has confirmed this problem with Chicken 4.6.0."	defect	closed	major	4.9.0	compiler	4.6.x	fixed			
