diff -Nurd -x'*~' emacs-23.3.orig/configure emacs-23.3/configure
--- emacs-23.3.orig/configure	2011-03-07 00:29:43.000000000 -0500
+++ emacs-23.3/configure	2011-10-10 12:25:38.000000000 -0400
@@ -2466,7 +2466,7 @@
 etcdir='${datadir}/emacs/${version}/etc'
 archlibdir='${libexecdir}/emacs/${version}/${configuration}'
 docdir='${datadir}/emacs/${version}/etc'
-gamedir='${localstatedir}/games/emacs'
+gamedir='${localstatedir}/games/emacs23'
 
 gameuser=games
 
@@ -3165,12 +3165,6 @@
     opsys=darwin
     # Define CPP as follows to make autoconf work correctly.
     CPP="${CC-cc} -E -no-cpp-precomp"
-    # Use fink packages if available.
-    if test -d /sw/include && test -d /sw/lib; then
-      GCC_TEST_OPTIONS="-I/sw/include -L/sw/lib"
-      CPP="${CPP} ${GCC_TEST_OPTIONS}"
-      NON_GCC_TEST_OPTIONS=${GCC_TEST_OPTIONS}
-    fi
   ;;
 
   ## HP 9000 series 700 and 800, running HP/UX
@@ -8074,7 +8068,7 @@
 HAVE_GTK=no
 if test "${with_gtk}" = "yes" || test "$USE_X_TOOLKIT" = "maybe"; then
   GLIB_REQUIRED=2.6
-  GTK_REQUIRED=2.6
+  GTK_REQUIRED=2.17.9
   GTK_MODULES="gtk+-2.0 >= $GTK_REQUIRED glib-2.0 >= $GLIB_REQUIRED"
 
 
@@ -10097,9 +10091,9 @@
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ungif_EGifPutExtensionLast" >&5
 $as_echo "$ac_cv_lib_ungif_EGifPutExtensionLast" >&6; }
-if test "x$ac_cv_lib_ungif_EGifPutExtensionLast" = x""yes; then :
+#if test "x$ac_cv_lib_ungif_EGifPutExtensionLast" = x""yes; then :
   HAVE_GIF=yes
-fi
+#fi
 
 
     if test "$HAVE_GIF" = yes; then
diff -Nurd -x'*~' emacs-23.3.orig/fix-info emacs-23.3/fix-info
--- emacs-23.3.orig/fix-info	1969-12-31 19:00:00.000000000 -0500
+++ emacs-23.3/fix-info	2011-10-10 12:25:38.000000000 -0400
@@ -0,0 +1,13 @@
+#!/bin/sh
+
+THE_INFO_PREFIX=$1
+
+for file in ada-mode auth autotype calc ccmode cl dbus dired-x \
+           ebrowse ediff efaq eintr elisp emacs emacs-mime epa erc \
+           eshell eudc flymake forms gnus idlwave info mairix-el \
+           message mh-e newsticker nxml-mode org pcl-cvs pgg rcirc \
+           reftex remember sasl sc ses sieve smtpmail speedbar tramp \
+           url vip viper widget woman
+do
+    ./mangle-info ${THE_INFO_PREFIX}/${file}
+done
\ No newline at end of file
diff -Nurd -x'*~' emacs-23.3.orig/lib-src/Makefile.in emacs-23.3/lib-src/Makefile.in
--- emacs-23.3.orig/lib-src/Makefile.in	2011-01-08 12:45:14.000000000 -0500
+++ emacs-23.3/lib-src/Makefile.in	2011-10-10 12:25:38.000000000 -0400
@@ -307,13 +307,6 @@
 	umask 022; $(top_srcdir)/mkinstalldirs $(DESTDIR)${gamedir}; \
 	touch $(DESTDIR)${gamedir}/snake-scores; \
 	touch $(DESTDIR)${gamedir}/tetris-scores
-/* If the following commands fail, that is not a big deal.
-   update-game-score will detect at runtime that it is not setuid,
-   and handle things accordingly. */
-	-if chown ${gameuser} $(DESTDIR)${archlibdir}/update-game-score && chmod u+s $(DESTDIR)${archlibdir}/update-game-score; then \
-	  chown ${gameuser} $(DESTDIR)${gamedir}; \
-	  chmod u=rwx,g=rwx,o=rx $(DESTDIR)${gamedir}; \
-	fi
         if [ `(cd $(DESTDIR)${archlibdir} && /bin/pwd)` \
              != `(cd ${srcdir} && /bin/pwd)` ]; then \
 	  for file in ${SCRIPTS}; do \
diff -Nurd -x'*~' emacs-23.3.orig/lisp/startup.el emacs-23.3/lisp/startup.el
--- emacs-23.3.orig/lisp/startup.el	2011-01-08 12:45:14.000000000 -0500
+++ emacs-23.3/lisp/startup.el	2011-10-10 12:25:38.000000000 -0400
@@ -375,6 +375,10 @@
 
 (defvar normal-top-level-add-subdirs-inode-list nil)
 
+(defconst fink-emacs-flavor 'emacs23
+  "A symbol representing the particular fink flavor of emacs running.
+Something like 'emacs20, 'xemacs20, etc.")
+
 (defvar no-blinking-cursor nil)
 
 (defvar default-frame-background-mode)
@@ -955,9 +959,19 @@
     ;; be loaded from site-run-file and wants to test if -q was given
     ;; should check init-file-user instead, since that is already set.
     ;; See cus-edit.el for an example.
-    (if site-run-file
-	(load site-run-file t t))
-
+    ;; (if site-run-file                                                       
+    ;;     (load site-run-file t t))                                           
+                                                                               
+    ;; Fink version of site-start.                                           
+    (if site-run-file                                                          
+ 	(progn                                                                 
+ 	  ;; Load all the fink package snippets.                             
+ 	  ;; It's in here because we want -q to kill it too.                   
+ 	  (if (load "fink-startup" t t nil)                                  
+ 	      (fink-startup fink-emacs-flavor))                            
+ 	  ;; Now the normal site file...                                       
+ 	  (load site-run-file t t nil)))
+    
     ;; Sites should not disable this.  Only individuals should disable
     ;; the startup screen.
     (setq inhibit-startup-screen nil)
diff -Nurd -x'*~' emacs-23.3.orig/mangle-info emacs-23.3/mangle-info
--- emacs-23.3.orig/mangle-info	1969-12-31 19:00:00.000000000 -0500
+++ emacs-23.3/mangle-info	2011-10-10 12:25:38.000000000 -0400
@@ -0,0 +1,18 @@
+#!/usr/bin/perl -w -i
+
+use English;
+use strict;
+
+$RS = undef;
+
+my $prefix = "emacs-23";
+
+my $x = <>;
+if(!($x =~ m/^(\s*START-INFO-DIR-ENTRY\s+\*\s*[^:]+:\s*)\(([^\)]+)\)/mo)) {
+  die "Couldn't find START-INFO-DIR-ENTRY.";
+}
+   
+print ${PREMATCH};
+print "$1($prefix/$2)";
+print ${POSTMATCH};
+
diff -Nurd -x'*~' emacs-23.3.orig/src/Makefile.in emacs-23.3/src/Makefile.in
--- emacs-23.3.orig/src/Makefile.in	2011-02-19 12:30:55.000000000 -0500
+++ emacs-23.3/src/Makefile.in	2011-10-10 12:25:38.000000000 -0400
@@ -269,7 +269,7 @@
 
 /* C_SWITCH_X_SITE must come before C_SWITCH_X_MACHINE and C_SWITCH_X_SYSTEM
    since it may have -I options that should override those two.  */
-ALL_CFLAGS=-Demacs -DHAVE_CONFIG_H $(MYCPPFLAGS) -I. -I${srcdir} C_SWITCH_MACHINE C_SWITCH_SYSTEM C_SWITCH_X_SITE C_SWITCH_X_MACHINE C_SWITCH_X_SYSTEM C_SWITCH_SYSTEM_TEMACS ${CFLAGS_SOUND} ${RSVG_CFLAGS} ${DBUS_CFLAGS} ${GCONF_CFLAGS} ${CFLAGS} @FREETYPE_CFLAGS@ @FONTCONFIG_CFLAGS@ @LIBOTF_CFLAGS@ @M17N_FLT_CFLAGS@ ${DEPFLAGS}
+ALL_CFLAGS=-Demacs -DHAVE_CONFIG_H $(MYCPPFLAGS) -I. -I${srcdir} C_SWITCH_MACHINE C_SWITCH_SYSTEM C_SWITCH_SYSTEM_TEMACS @XFT_CFLAGS@ @FREETYPE_CFLAGS@ @FONTCONFIG_CFLAGS@ ${CFLAGS_SOUND} ${RSVG_CFLAGS} ${DBUS_CFLAGS} ${GCONF_CFLAGS} ${CFLAGS} @LIBOTF_CFLAGS@ @M17N_FLT_CFLAGS@ C_SWITCH_X_SITE C_SWITCH_X_MACHINE C_SWITCH_X_SYSTEM ${DEPFLAGS}
 ALL_OBJC_CFLAGS=$(ALL_CFLAGS) @GNU_OBJC_CFLAGS@
 
 .SUFFIXES: .m
diff -Nurd -x'*~' emacs-23.3.orig/src/unexmacosx.c emacs-23.3/src/unexmacosx.c
--- emacs-23.3.orig/src/unexmacosx.c	2011-01-08 12:45:14.000000000 -0500
+++ emacs-23.3/src/unexmacosx.c	2011-10-10 12:25:38.000000000 -0400
@@ -822,6 +822,7 @@
 	}
       else if (strncmp (sectp->sectname, "__la_symbol_ptr", 16) == 0
 	       || strncmp (sectp->sectname, "__nl_symbol_ptr", 16) == 0
+	       || strncmp (sectp->sectname, "__got", 16) == 0
 	       || strncmp (sectp->sectname, "__la_sym_ptr2", 16) == 0
 	       || strncmp (sectp->sectname, "__dyld", 16) == 0
 	       || strncmp (sectp->sectname, "__const", 16) == 0
