I don't really understand the internals of JOE, but it looks like the crash occurs because the editor tries to remove a corrupt/non-existent/orphaned link from a doubly linked list in b.c line 334 (using the deque_f macro from queue.h on line 29).
This quick fix prevents the segfault but might leak memory, cause some other defects and/or mask the real bug: --- orig/joe-3.1/b.c 2004-05-27 01:23:37.000000000 +0300 +++ joe-3.1/b.c 2005-07-10 18:16:26.000000000 +0300 @@ -331,7 +331,8 @@ *p->owner = NULL; if (p->ptr) vunlock(p->ptr); - pfree(deque_f(P, link, p)); + if ( p->link.prev && p->link.next ) + pfree(deque_f(P, link, p)); } P *pset(P *n, P *p) -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]