- auto-invoke code gc
-- signal 4 on datastack underflow on mac intel??
- fix alien-callback/SEH bug on win32
+ ui:
+- the mouse button overload sucks, use popup menus instead
- nested presentation mouse over is not right
- ui quick start doc
- x11: scroll up/down wiggles caret
/* The exception port on which our thread listens. */
static mach_port_t our_exception_port;
-/* Communication area for the exception state and thread state. */
-static SIGSEGV_THREAD_STATE_TYPE save_thread_state;
-
/* A handler that is called in the faulting thread. */
static void
terminating_handler (void *fault_addr)
sp = (unsigned long) (SIGSEGV_STACK_POINTER (thread_state));
- save_thread_state = thread_state;
-
SIGSEGV_PROGRAM_COUNTER (thread_state) = (unsigned long) terminating_handler;
SIGSEGV_STACK_POINTER (thread_state) = fix_stack_ptr(sp);
pass_arg0(&thread_state,SIGSEGV_EXC_STATE_FAULT(exc_state));
/* Adjust stack pointer so we can push an arg */
INLINE unsigned long fix_stack_ptr(unsigned long sp)
{
- if ((sp & 0xf) != 0) sp -= (sp & 0xf);
- sp -= 8;
- return sp;
+ return sp - (sp & 0xf);
}
INLINE void pass_arg0(SIGSEGV_THREAD_STATE_TYPE *thr_state, CELL arg)