Emacs also uses alloca() extensively. My understanding is that it allows very fast dynamic allocation by just decrementing the stack pointer and fixing up the stack frame. One doesn't have to free its memory, you just return from the function that used it; that stack frame fixup will ensure that the return does the right thing, rather than jumping off into space. It also causes a lot of portability problems, so you should make sure that Haiku's alloca() does the right thing. You might need to look at the assembly code of a function that uses it. I've built Emacs a few times. Its build is scary enough even on supported platforms. Mike -- Michael David Crawford mdcrawford at gmail dot com GoingWare's Bag of Programming Tricks http://www.goingware.com/tips/