The main release doesn't use them yet, but the Windows port does.
My co-routine library also allows arbitrary arguments, but it just uses va_list for this.
Also I use setjmp/longjump and stack allocations (if ucontext is not available), but do not depend on c99 dynamic arrays to do it. BTW, the array trick doesn't work on some architectures: IA64 (there are two stacks) or Cray (the stack is a linked-list).
http://sourceforge.net/p/joe-editor/mercurial/ci/default/tre...
The main release doesn't use them yet, but the Windows port does.
My co-routine library also allows arbitrary arguments, but it just uses va_list for this.
Also I use setjmp/longjump and stack allocations (if ucontext is not available), but do not depend on c99 dynamic arrays to do it. BTW, the array trick doesn't work on some architectures: IA64 (there are two stacks) or Cray (the stack is a linked-list).