Here's a patch that fixes the bug for me. I'd also like to add a test suite for the stack functions, to make sure this doesn't happen again, but I'll look at that later.
Noah On Wed, Apr 18, 2012 at 9:36 PM, Andy Wingo <wi...@pobox.com> wrote: > On Wed 18 Apr 2012 18:08, Noah Lavine <noah.b.lav...@gmail.com> writes: > >>> We need to change to default to consider generic objects as >>> eq?-compared prompt tags. >> >> I agree, but you still couldn't use procedures or integers as prompt >> tags if you wanted make-stack to work, because those are special >> cases. > > Yeah, but the whole point of prompt tags is that you can make a new one > and know that it is eq?-unique, which is not the case for integers. So > integers are not in the general case. It seems useful to add procedures > as a special case too, no? > >> That's why I thought of just changing the interface to make-stack to >> specify what you want - it's such a weird restriction that someone >> could be bitten by it and have a lot of trouble tracking it down. And >> because an argument can mean three different things, code that uses >> make-stack is hard to understand (or at least it was for me). > > It's something of a nasty interface, I agree. But it's been around for > a long time; if we can make a minimal change, we should, it seems to me. > > Want to make a patch? > > Regards, > > Andy > -- > http://wingolog.org/
0001-make-stack-handles-prompt-tags-better.patch
Description: Binary data