diff -Nurd prcs-1.3.3.orig/emacs/Makefile.in prcs-1.3.3/emacs/Makefile.in
--- prcs-1.3.3.orig/emacs/Makefile.in	2004-05-09 21:28:33.000000000 -0400
+++ prcs-1.3.3/emacs/Makefile.in	2005-12-14 02:59:59.000000000 -0500
@@ -157,7 +157,7 @@
 	if test $(EMACS) != no; then \
 	  EMACS=$(EMACS) $(SHELL) $(elisp_comp) $<; \
 	else : ; fi
-install-lispLISP: $(lisp_LISP) $(ELCFILES)
+install-lispLISP: $(lisp_LISP)
 	@$(NORMAL_INSTALL)
 	@if test -n "$(lispdir)"; then \
 	  $(mkinstalldirs) $(DESTDIR)$(lispdir); \
@@ -166,10 +166,6 @@
 	    f="`echo $$p | sed -e 's|^.*/||'`"; \
 	    echo " $(lispLISP_INSTALL) $$d$$p $(DESTDIR)$(lispdir)/$$f"; \
 	    $(lispLISP_INSTALL) $$d$$p $(DESTDIR)$(lispdir)/$$f; \
-	    if test -f $${p}c; then \
-	      echo " $(lispLISP_INSTALL) $${p}c $(DESTDIR)$(lispdir)/$${f}c"; \
-	      $(lispLISP_INSTALL) $${p}c $(DESTDIR)$(lispdir)/$${f}c; \
-	    else : ; fi; \
 	  done; \
 	else : ; fi
 
@@ -259,7 +255,7 @@
 	done
 check-am: all-am
 check: check-am
-all-am: Makefile $(SCRIPTS) $(LISP) $(ELCFILES) $(MANS)
+all-am: Makefile $(SCRIPTS) $(LISP) $(MANS)
 
 installdirs:
 	$(mkinstalldirs) $(DESTDIR)$(bindir) $(DESTDIR)$(lispdir) $(DESTDIR)$(man1dir)
diff -Nurd prcs-1.3.3.orig/src/getopt.c prcs-1.3.3/src/getopt.c
--- prcs-1.3.3.orig/src/getopt.c	2002-04-08 04:19:50.000000000 -0400
+++ prcs-1.3.3/src/getopt.c	2005-12-14 02:08:54.000000000 -0500
@@ -38,6 +38,7 @@
 #endif
 #endif
 
+#include <string.h>
 #include <stdio.h>
 
 /* Comment out all this code if we are using the GNU C Library, and are not
diff -Nurd prcs-1.3.3.orig/src/include/regex2.h prcs-1.3.3/src/include/regex2.h
--- prcs-1.3.3.orig/src/include/regex2.h	2004-05-09 21:14:07.000000000 -0400
+++ prcs-1.3.3/src/include/regex2.h	2005-12-14 02:44:05.000000000 -0500
@@ -550,7 +550,7 @@
 extern size_t regerror _RE_ARGS ((int __errcode, const reg2ex2_t *__preg,
 				  char *__errbuf, size_t __errbuf_size));
 
-extern void regfree _RE_ARGS ((reg2ex2_t *__preg));
+extern void my_regfree _RE_ARGS ((reg2ex2_t *__preg));
 
 
 #ifdef __cplusplus
diff -Nurd prcs-1.3.3.orig/src/prcserror.cc prcs-1.3.3/src/prcserror.cc
--- prcs-1.3.3.orig/src/prcserror.cc	2004-05-09 21:21:20.000000000 -0400
+++ prcs-1.3.3/src/prcserror.cc	2005-12-14 02:05:17.000000000 -0500
@@ -50,13 +50,8 @@
 int return_if_fail_if_ne_val;
 #endif
 
-#if defined(__APPLE__)
- stdiobuf stdout_stream(STDOUT_FILENO);
- stdiobuf stderr_stream(STDERR_FILENO);
-#else
  __gnu_cxx::stdio_filebuf<char> stdout_stream(stdout, ios::out);
  __gnu_cxx::stdio_filebuf<char> stderr_stream(stderr, ios::out);
-#endif /* if defined(__APPLE__) */
 strstreambuf query_stream;
 
 static PrettyStreambuf pretty_stdout_stream(&stdout_stream, NULL);
diff -Nurd prcs-1.3.3.orig/src/prcserror.tl prcs-1.3.3/src/prcserror.tl
--- prcs-1.3.3.orig/src/prcserror.tl	2004-05-09 20:40:56.000000000 -0400
+++ prcs-1.3.3/src/prcserror.tl	2005-12-14 01:57:41.000000000 -0500
@@ -52,11 +52,11 @@
 template class PrError<FileEntry*>;
 template class PrError<const PrcsAttrs*>;
 
-#if defined(__GNUG__) && __GNUC__ >= 2 && __GNUC_MINOR__ < 8
-#define WACK
-#else
+//#if defined(__GNUG__) && __GNUC__ >= 2 && __GNUC_MINOR__ < 8
+//#define WACK
+//#else
 #define WACK <>
-#endif
+//#endif
 
 #define MkTemplate(errtype, tclass) \
     template const errtype<tclass>& \
diff -Nurd prcs-1.3.3.orig/src/regex.c prcs-1.3.3/src/regex.c
--- prcs-1.3.3.orig/src/regex.c	2002-04-08 04:19:50.000000000 -0400
+++ prcs-1.3.3/src/regex.c	2005-12-14 02:43:56.000000000 -0500
@@ -296,11 +296,6 @@
 
 # endif /* emacs */
 
-/* Integer type for pointers.  */
-# if !defined _LIBC
-typedef unsigned long int uintptr_t;
-# endif
-
 /* Should we use malloc or alloca?  If REG2EX2_MALLOC is not defined, we
    use `alloca' instead of `malloc'.  This is because using malloc in
    re_search* or re_match* could cause memory leaks when C-g is used in
@@ -8219,7 +8214,7 @@
 /* Free dynamically allocated space used by PREG.  */
 
 void
-regfree (preg)
+my_regfree (preg)
     reg2ex2_t *preg;
 {
   if (preg->buffer != NULL)
diff -Nurd prcs-1.3.3.orig/src/vc.cc prcs-1.3.3/src/vc.cc
--- prcs-1.3.3.orig/src/vc.cc	2004-05-09 20:40:55.000000000 -0400
+++ prcs-1.3.3/src/vc.cc	2005-12-14 03:04:49.000000000 -0500
@@ -33,7 +33,7 @@
 
 EXTERN char* rcs_text;       /* declared in vc.l */
 EXTERN int VC_get_token(FILE* is);
-EXTERN int VC_init_seg_get_c(char* seg, size_t len);
+EXTERN void VC_init_seg_get_c(char* seg, size_t len);
 
 static bool VC_expect_token(FILE* stream, int type, Dstring* result);
 static PrVoidError fix_version_data(const ProjectVersionDataPtrArray *pvda,
diff -Nurd prcs-1.3.3.orig/src/vclex.c prcs-1.3.3/src/vclex.c
--- prcs-1.3.3.orig/src/vclex.c	2004-05-09 21:13:15.000000000 -0400
+++ prcs-1.3.3/src/vclex.c	2005-12-14 02:53:06.000000000 -0500
@@ -3302,7 +3302,7 @@
     return yylex();
 }
 
-int VC_init_seg_get_c(char* seg, size_t len)
+void VC_init_seg_get_c(char* seg, size_t len)
 {
     if(buffer)
 	yy_delete_buffer(buffer);
