diff --git a/Modules/regexpr.c b/Modules/regexpr.c
index 137e41d..ccf515a 100644
--- a/Modules/regexpr.c
+++ b/Modules/regexpr.c
@@ -13,6 +13,7 @@
 
 Created: Thu Sep 26 17:14:05 1991 ylo
 Last modified: Mon Nov  4 17:06:48 1991 ylo
+Ported to Think C: 19 Jan 1992 guido@cwi.nl
 
 This code draws many ideas from the regular expression packages by
 Henry Spencer of the University of Toronto and Richard Stallman of the
@@ -25,13 +26,21 @@
 
 */
 
+#include "PROTO.h" /* For PROTO macro --Guido */
+
 #include <stdio.h>
 #include <assert.h>
 #include "regexpr.h"
 
+#ifdef THINK_C
+/* Think C on the Mac really needs these headers... --Guido */
+#include <stdlib.h>
+#include <string.h>
+#else
 char *malloc();
 void free();
 char *realloc();
+#endif
 
 #define MACRO_BEGIN do {
 #define MACRO_END } while (0)
@@ -136,6 +145,7 @@
 
 #endif /* emacs */
 
+static void re_compile_initialize PROTO((void));
 static void re_compile_initialize()
 {
   int a;
@@ -244,6 +254,7 @@
   return ret;
 }
 
+static int hex_char_to_decimal PROTO((int));
 static int hex_char_to_decimal(ch)
 int ch;
 {
@@ -752,6 +763,8 @@
 #undef SETBIT
 #undef SET_FIELDS
 
+static void re_compile_fastmap_aux
+	PROTO((char *, int, char *, char *, char *));
 static void re_compile_fastmap_aux(code, pos, visited, can_be_null, fastmap)
 char *code, *visited, *can_be_null, *fastmap;
 int pos;
@@ -848,6 +861,7 @@
       }
 }
 
+static int re_do_compile_fastmap PROTO((char *, int, int, char *, char *));
 static int re_do_compile_fastmap(buffer, used, pos, can_be_null, fastmap)
 char *buffer, *fastmap, *can_be_null;
 int used, pos;
@@ -1328,7 +1342,7 @@
 	  /*NOTREACHED*/
 	}
     }
-#if 0 /* This line is never reached */
+#if 0 /* This line is never reached --Guido */
   abort();
 #endif
   /*NOTREACHED*/
@@ -1396,7 +1410,6 @@
     }
   else
     dir = 1;
-  /* range--; /* Bugfix by Guido */
   if (anchor == 2)
     if (pos != 0)
       return -1;
