574c352
--- ./etc/emacs/gap-process.el.orig	2005-05-08 01:44:58.000000000 -0600
574c352
+++ ./etc/emacs/gap-process.el	2011-08-04 15:25:18.327841875 -0600
574c352
@@ -337,7 +337,9 @@
574c352
       (unwind-protect
574c352
    (progn
574c352
      (with-output-to-temp-buffer "*Completions*"
574c352
-       (print-help-return-message))
574c352
+       (if (featurep 'xemacs)
574c352
+	   (print-help-return-message)
574c352
+	 (help-print-return-message)))
574c352
      (set-process-filter process 'gap-completions-filter)
574c352
      (process-send-string process (concat gap-completion-ident
574c352
        "\t\t\C-x")))))))
574c352
@@ -371,8 +373,10 @@
574c352
     (unwind-protect
574c352
  (progn
574c352
    (with-output-to-temp-buffer "*Help*"
574c352
-     (print-help-return-message))
574c352
-          (set-process-filter process 'gap-help-filter)
574c352
+     (if (featurep 'xemacs)
574c352
+	 (print-help-return-message)
574c352
+       (help-print-return-message)))
574c352
+   (set-process-filter process 'gap-help-filter)
574c352
    (process-send-string process (concat "?" topic "\n"))))))
574c352
 
574c352
 (defun get-start-process (progm &optional name dir args startfile)
574c352
@@ -382,17 +386,17 @@
574c352
 containing initial standard input to process."
574c352
   (interactive)
574c352
   (require 'comint)
574c352
-  (setq name (or name (file-name-nondirectory progm)))
574c352
-  (setq buffname (concat "*" name "*"))
574c352
-  (cond ((not (comint-check-proc buffname))
574c352
-  (let ((buff (get-buffer-create buffname)))
574c352
-    (set-buffer buff)
574c352
-    (switch-to-buffer buff)
574c352
-    (if dir (cd dir))
574c352
-    (apply 'make-comint name progm startfile args)))
574c352
- (t
574c352
-  (switch-to-buffer buffname)
574c352
-  (get-buffer buffname))))
574c352
+  (let ((name (or name (file-name-nondirectory progm)))
574c352
+	(buffname (concat "*" name "*")))
574c352
+    (cond ((not (comint-check-proc buffname))
574c352
+	   (let ((buff (get-buffer-create buffname)))
574c352
+	     (set-buffer buff)
574c352
+	     (switch-to-buffer buff)
574c352
+	     (if dir (cd dir))
574c352
+	     (apply 'make-comint name progm startfile args)))
574c352
+	  (t
574c352
+	   (switch-to-buffer buffname)
574c352
+	   (get-buffer buffname)))))
574c352
 (defun string-strip-chars (string strip)
574c352
   "Take STRING and remove characters in STRIP"
574c352
   (while (> (length strip) 0)
574c352
--- ./etc/emacs/gap-mode.el.orig	2001-08-15 10:42:16.000000000 -0600
574c352
+++ ./etc/emacs/gap-mode.el	2011-08-04 15:29:19.482725282 -0600
574c352
@@ -89,15 +89,6 @@
574c352
 (autoload 'gap-complete "gap-process" nil t)
574c352
 
574c352
 
574c352
-;;! Fix member function?!
574c352
-(defun memberequal (x y)
574c352
-  "Like memq, but uses `equal' for comparison.
574c352
-This is a subr in Emacs 19."
574c352
-  (while (and y (not (equal x (car y))))
574c352
-    (setq y (cdr y)))
574c352
-  y)
574c352
-
574c352
-
574c352
 (defvar gap-indent-brackets t
574c352
   "* Whether to check back for unclosed brackets in determining
574c352
 indentation level. This is good for formatting lists and matrices.")
574c352
@@ -445,12 +436,12 @@
574c352
                (setq name (buffer-substring (match-beginning 2) (match-end 2)))
574c352
                (goto-char (match-end 0)))
574c352
               (t (error "gap-insert-local-variables incorrect code!")))
574c352
-        (if (not (memberequal name names))
574c352
+        (if (not (member name names))
574c352
             (setq names (append names (list name))))))
574c352
     (beginning-of-line)
574c352
     (let (lnames)
574c352
       (while (car names)
574c352
-        (if (memberequal (car names) formal)
574c352
+        (if (member (car names) formal)
574c352
             (setq names (cdr names))
574c352
           (setq lnames (append lnames (list (car names))))
574c352
           (setq names (cdr names))))
574c352
@@ -527,11 +518,11 @@
574c352
 ;;! Now the indentation functions and variables
574c352
 ;;
574c352
 
574c352
-(setq gap-end-of-statement
574c352
+(defconst gap-end-of-statement
574c352
       (concat "\\(;\\|\\<then\\>\\|\\<else\\>\\|\\<do\\>\\|"
574c352
 	      "\\<repeat\\>\\|\\<function\\>.*(.*)\\)"))
574c352
 
574c352
-(setq gap-increment-indentation-regexp (concat "^[ \t]*\\("
574c352
+(defconst gap-increment-indentation-regexp (concat "^[ \t]*\\("
574c352
 					       "if\\>"
574c352
 					       "\\|else\\>"
574c352
 					       "\\|elif\\>"
574c352
@@ -541,7 +532,7 @@
574c352
 					       "\\|.*\\<function\\>"
574c352
 					       "\\)"))
574c352
 
574c352
-(setq gap-decrement-indentation-regexp (concat "^[ \t]*\\("
574c352
+(defconst gap-decrement-indentation-regexp (concat "^[ \t]*\\("
574c352
 					       "fi\\>"
574c352
 					       "\\|od\\>"
574c352
 					       "\\|else\\>"