diff --git a/CHANGES.html b/CHANGES.html
index d723813877..0872389cde 100644
--- a/CHANGES.html
+++ b/CHANGES.html
@@ -17,6 +17,7 @@
Stack shuffles are compiled more efficiently.
Pushing literals on either side of a stack shuffle is now compiled more efficiently.
Fixed a problem with relocation of compiled code on PowerPC.
+Fixed various FFI issues on Mac OS X.
@@ -24,7 +25,7 @@
User interface:
-
+- Graphics rendering is now done using OpenGL and text rendering is done via FreeType. SDL_gfx and SDL_ttf libraries are no longer required.
- Added expandable outliners. Used by the inspector,
.s, usage., uses., vocabs., and various other words.
- Added word completion to the listener pane; press
TAB.
- Added word navigation shortcuts to the listener pane; press
C+LEFT and C+RIGHT to move a word at a time, and C+BACKSPACE and C+DELETE to delete the previous and next word, respectively.
@@ -51,29 +52,9 @@ prefix removed.
Everything else:
-- Quaternions added to math library.
-
-Quaternions are represented as pairs of real numbers. Literal syntax is
Q{ a b c d }Q, where a, b, c and d are real numbers.
-
-Many quaternion operations can be done using Factor's existing vector algebra words; this follows from the mathematical fact that the quaternions are a 2-dimensional vector space over the complex numbers:
-
-- Addition:
v+
-- Subtraction:
v-
-- Negation:
vneg
-- Norm:
norm
-- Multiplication by a complex number on the left:
n*v
-
-A few new words are also needed:
-
-- Convert complex number to quaternion:
c>n
-- Multiply by a complex number on the right:
q*n
-- Quaternion multiplication:
q*
-- Quaternion division:
q/
-- Quaternion conjugate:
qconjugate
-
-
-
+- On Mac OS X, signal 11 errors caused by stack under/overflow no longer trigger the
+OS X crash reporter dialog.
- Easier exception handling. The
cleanup ( try cleanup -- ) word encapsulates the following idiom:
[ A ] [ B rethrow ] catch
@@ -105,7 +86,12 @@ However, most uses of catch can be replaced by cleanup
- Intel 8080 CPU and Space Invaders emulator in
contrib/space-invaders (Chris Double)
- AOL Instant Messenger chat client library in
contrib/aim (Doug Coleman)
-- Cairo graphics library binding in
contrib/cairo (Sampo Vuori)
+- Cairo graphics library binding in
contrib/cairo. (Sampo Vuori)
+- New
contrib/math/ library with quaternions, matrices, polynomials, and various
+advanced mathematical functions. (Doug Coleman)
+
+
+
diff --git a/library/compiler/ppc/generator.factor b/library/compiler/ppc/generator.factor
index 91eac8e198..7db4a1c9ef 100644
--- a/library/compiler/ppc/generator.factor
+++ b/library/compiler/ppc/generator.factor
@@ -7,7 +7,7 @@ kernel-internals lists math memory namespaces words ;
: compile-c-call ( symbol dll -- )
2dup dlsym 11 LOAD32 0 1 rel-dlsym 11 MTLR BLRL ;
-: stack-increment \ stack-reserve get stack@ 16 align ;
+: stack-increment \ stack-reserve get 32 max stack@ 16 align ;
M: %prologue generate-node ( vop -- )
drop
diff --git a/native/unix/mach_signal.c b/native/unix/mach_signal.c
index 8b52fec1aa..a6f5ba9a42 100644
--- a/native/unix/mach_signal.c
+++ b/native/unix/mach_signal.c
@@ -3,7 +3,9 @@ Copyright (C) 1993-1999, 2002-2003 Bruno Haible
Copyright (C) 2003 Paolo Bonzini
Used under BSD license with permission from Paolo Bonzini and Bruno Haible,
-2005-03-10 */
+2005-03-10
+
+see http://www.caddr.com/macho/archives/sbcl-devel/2005-3/4764.html */
#ifdef __APPLE__
@@ -26,10 +28,7 @@ static SIGSEGV_THREAD_STATE_TYPE save_thread_state;
static void
terminating_handler ()
{
- /* Dump core. */
raise (SIGSEGV);
-
- /* Seriously. */
abort ();
}