﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc	difficulty
379	Complete SRFI-46 support	sjamaan	felix winkelmann	"I got bored so I decided to finish srfi-46 support.

Right now we have support for custom ellipsis identifiers, which is half of SRFI-46. It's much simpler to explain that Chicken supports SRFI-46 than just the ellipsis stuff, and tail patterns provide for slightly more powerful macros.

During my work on it I also found a bug in the way vectors are matched:

{{{
(define-syntax foo  (syntax-rules () ((_ #((a) ...)) (list a ...))))
(foo #((1))) => error. It should return (1)
}}}

I just dropped the specialized vector matching and converted vectors to list, on match too (it was already done this way for the patterns). This solves any vector-specific bugs and also helps keep the code compact. If speed is an issue, I also have a version that adds SRFI-46 to the vector-specific code.

If there's a better way to do the take-right and drop-right, I'd be happy to hear it."	defect	closed	minor	4.9.0	core libraries	4.6.x	fixed	syntax-rules, srfi-46		
