9d2a41f
--- autoconf/emacsbrand.orig	2018-02-04 23:59:28.000000000 -0700
9d2a41f
+++ autoconf/emacsbrand	2018-06-17 15:34:30.642359854 -0600
9d2a41f
@@ -35,7 +35,8 @@ done
9d2a41f
 #*    The autodetection ELisp expression                               */
9d2a41f
 #*---------------------------------------------------------------------*/
9d2a41f
 expr="(cond \
9d2a41f
-        ((string-match \"GNU Emacs 25\" (emacs-version)) (kill-emacs 25))
9d2a41f
+        ((string-match \"GNU Emacs 26\" (emacs-version)) (kill-emacs 26)) \
9d2a41f
+        ((string-match \"GNU Emacs 25\" (emacs-version)) (kill-emacs 25)) \
9d2a41f
         ((string-match \"GNU Emacs 24\" (emacs-version)) (kill-emacs 24)) \
9d2a41f
         ((string-match \"GNU Emacs 23\" (emacs-version)) (kill-emacs 23)) \
9d2a41f
         ((string-match \"GNU Emacs 22\" (emacs-version)) (kill-emacs 22)) \
9d2a41f
@@ -67,7 +68,11 @@ else
9d2a41f
             if [ "$version" = "25" ]; then
9d2a41f
               echo "emacs25"      
9d2a41f
             else
9d2a41f
-              echo "generic";
9d2a41f
+              if [ "$version" = "26" ]; then
9d2a41f
+                echo "emacs26"
9d2a41f
+              else
9d2a41f
+                echo "generic";
9d2a41f
+              fi
9d2a41f
             fi    
9d2a41f
           fi
9d2a41f
         fi
9d2a41f
--- bmacs/bee/bee-browse.el.orig	2018-02-04 23:59:28.000000000 -0700
9d2a41f
+++ bmacs/bee/bee-browse.el	2018-06-17 15:32:42.037634520 -0600
Jerry James 63e3895
@@ -144,14 +144,16 @@
Jerry James 63e3895
 				     (select-frame frame)
Jerry James 63e3895
 				     (select-window win)
Jerry James 63e3895
 				     (set-buffer buffer)
Jerry James 63e3895
-				     (goto-line line)
Jerry James 63e3895
+				     (goto-char (point-min))
Jerry James 63e3895
+				     (forward-line (1- line))
Jerry James 63e3895
 				     (recenter)
Jerry James 63e3895
 				     t)
Jerry James 63e3895
 				 nil))))))
Jerry James 63e3895
 	    (let ((pop-up-frames t)
Jerry James 63e3895
 		  (buffer (find-file-noselect aname)))
Jerry James 63e3895
 	      (pop-to-buffer buffer)
Jerry James 63e3895
-	      (goto-line line)
Jerry James 63e3895
+	      (goto-char (point-min))
Jerry James 63e3895
+	      (forward-line (1- line))
Jerry James 63e3895
 	      (recenter)))))
Jerry James 63e3895
     t)
Jerry James 63e3895
    ((and (consp command) 
9d2a41f
--- bmacs/bee/bee-expand.el.orig	2018-02-04 23:59:28.000000000 -0700
9d2a41f
+++ bmacs/bee/bee-expand.el	2018-06-17 15:32:42.043634505 -0600
Jerry James 63e3895
@@ -79,9 +79,10 @@
Jerry James 63e3895
 (defun bee-set-expand-temporary-buffer ()
Jerry James 63e3895
   (if (and (bufferp bee-expand-temporary-buffer)
Jerry James 63e3895
 	   (buffer-live-p bee-expand-temporary-buffer))
Jerry James 63e3895
-      (save-excursion
Jerry James 63e3895
-	(set-buffer bee-expand-temporary-buffer)
Jerry James 63e3895
-	(toggle-read-only nil)
Jerry James 63e3895
+      (with-current-buffer bee-expand-temporary-buffer
Jerry James 63e3895
+	(if (featurep 'xemacs)
Jerry James 63e3895
+	    (toggle-read-only 0)
Jerry James 63e3895
+	  (setq buffer-read-only nil))
Jerry James 63e3895
 	(erase-buffer))
Jerry James 63e3895
     (setq bee-expand-temporary-buffer (get-buffer-create "*bee tmp expand*"))))
fe91a3d
 
Jerry James 63e3895
@@ -106,7 +107,7 @@
Jerry James 63e3895
       (funcall completion-hook bee-expand-temporary-buffer))
Jerry James 63e3895
   (delete-file (buffer-file-name bee-expand-temporary-buffer))
Jerry James 63e3895
   (set-buffer-modified-p nil)
Jerry James 63e3895
-  (toggle-read-only t)
Jerry James 63e3895
+  (if (featurep 'xemacs) (toggle-read-only 1) (setq buffer-read-only t))
Jerry James 63e3895
   (let* ((pop-up-frames t)
Jerry James 63e3895
 	 (lines      (+ 3 (count-lines (point-min) (point-max))))
Jerry James 63e3895
 	 (cur-height (frame-height (selected-frame)))
Jerry James 63e3895
@@ -133,7 +134,7 @@
Jerry James 63e3895
 		   (bee-get-temp-name)))))
Jerry James 63e3895
     (bee-set-expand-temporary-buffer)
Jerry James 63e3895
     (set-buffer bee-expand-temporary-buffer)
Jerry James 63e3895
-    (insert-buffer buf)
Jerry James 63e3895
+    (insert-buffer-substring buf)
Jerry James 63e3895
     (write-file fname nil)
Jerry James 63e3895
     (bee-expand-buffer-internal)))
Jerry James 63e3895
 
9d2a41f
--- bmacs/bee/bee-indent.el.orig	2018-02-04 23:59:28.000000000 -0700
9d2a41f
+++ bmacs/bee/bee-indent.el	2018-06-17 15:32:42.044634502 -0600
d29f134
@@ -157,7 +157,7 @@ of the start of the containing expressio
d29f134
 (defun bee-calculate-forced-indent ()
d29f134
   (when (> (count-lines 1 (point)) 1)
d29f134
     (save-excursion
d29f134
-      (previous-line 1)
d29f134
+      (forward-line -1)
d29f134
       (beginning-of-line)
d29f134
       (skip-chars-forward " \t")
d29f134
       (let ((s (current-column)))
9d2a41f
--- bmacs/bee/bee-module.el.orig	2018-02-04 23:59:28.000000000 -0700
9d2a41f
+++ bmacs/bee/bee-module.el	2018-06-17 15:32:42.045634500 -0600
Jerry James 63e3895
@@ -359,8 +359,7 @@
Jerry James 63e3895
 ;*    bee-get-module-name ...                                          */
dd7b829
 ;*---------------------------------------------------------------------*/
Jerry James 63e3895
 (defun bee-get-module-name (buffer)
dd7b829
-  (save-excursion
dd7b829
-    (set-buffer buffer)
dd7b829
+  (with-current-buffer buffer
dd7b829
     (goto-char (point-min))
Jerry James 63e3895
     ;; first we search for the module declaration
Jerry James 63e3895
     (if (re-search-forward (concat "(module[ \n\t]\\(" (ude-ident-regexp)
9d2a41f
--- bmacs/bee/bee-usage.el.orig	2018-02-04 23:59:28.000000000 -0700
9d2a41f
+++ bmacs/bee/bee-usage.el	2018-06-17 15:32:42.046634497 -0600
Jerry James 63e3895
@@ -33,9 +33,7 @@
Jerry James 63e3895
 						  (goto-char pos)
Jerry James 63e3895
 						  (beginning-of-line)
Jerry James 63e3895
 						  (point))
Jerry James 63e3895
-						(save-excursion
Jerry James 63e3895
-						  (end-of-line)
Jerry James 63e3895
-						  (point)))))
Jerry James 63e3895
+						(point-at-eol))))
Jerry James 63e3895
     (vector (concat "def   : " define)
Jerry James 63e3895
 	    `(let ((pop-up-frames t))
Jerry James 63e3895
 	       (pop-to-buffer ,buffer)
Jerry James 63e3895
@@ -271,7 +269,7 @@ It is used to bypass the buffer local va
Jerry James 63e3895
 			(pop-to-buffer buffer))
Jerry James 63e3895
 		      (set-buffer buffer)
Jerry James 63e3895
 		      (goto-char (point-min))
Jerry James 63e3895
-		      (goto-line (string-to-number line)))
Jerry James 63e3895
+		      (forward-line (1- (string-to-number line))))
Jerry James 63e3895
 		  (ude-error "Can't find buffer for %S" file))))))))
Jerry James 63e3895
 
Jerry James 63e3895
 ;*---------------------------------------------------------------------*/
9d2a41f
--- bmacs/bug/bug-class.el.orig	2018-02-04 23:59:28.000000000 -0700
9d2a41f
+++ bmacs/bug/bug-class.el	2018-06-17 15:32:42.046634497 -0600
Jerry James 63e3895
@@ -36,15 +36,13 @@
Jerry James 63e3895
 ;*    bug-file-to-string ...                                           */
dd7b829
 ;*---------------------------------------------------------------------*/
Jerry James 63e3895
 (defun bug-file-to-string (file)
dd7b829
-  (save-excursion
Jerry James 63e3895
-    (let ((buffer (bug-find-file file)))
Jerry James 63e3895
-      (if buffer
Jerry James 63e3895
-	  (progn
Jerry James 63e3895
-	    (set-buffer buffer)
Jerry James 63e3895
-	    (let ((s (buffer-string)))
Jerry James 63e3895
-	      (kill-buffer buffer)
Jerry James 63e3895
-	      s))
Jerry James 63e3895
-	""))))
Jerry James 63e3895
+  (let ((buffer (bug-find-file file)))
Jerry James 63e3895
+    (if buffer
Jerry James 63e3895
+	(with-current-buffer buffer
Jerry James 63e3895
+	  (let ((s (buffer-string)))
Jerry James 63e3895
+	    (kill-buffer buffer)
Jerry James 63e3895
+	    s))
Jerry James 63e3895
+      "")))
Jerry James 63e3895
 
Jerry James 63e3895
 ;*---------------------------------------------------------------------*/
Jerry James 63e3895
 ;*    bug-jfile-module-name ...                                        */
Jerry James 63e3895
@@ -104,8 +102,7 @@
Jerry James 63e3895
 (defun bug-file-to-class (file)
Jerry James 63e3895
   (interactive "Ffile: ")
Jerry James 63e3895
   (let ((buffer (get-buffer file)))
Jerry James 63e3895
-    (save-excursion
dd7b829
-      (set-buffer buffer)
dd7b829
+    (with-current-buffer buffer
Jerry James 63e3895
       (if bug-buffer-class
Jerry James 63e3895
 	  bug-buffer-class
Jerry James 63e3895
 	(progn
9d2a41f
--- bmacs/bug/bug-connect.el.orig	2018-02-04 23:59:28.000000000 -0700
9d2a41f
+++ bmacs/bug/bug-connect.el	2018-06-17 15:32:42.047634495 -0600
Jerry James 63e3895
@@ -74,8 +74,7 @@
Jerry James 63e3895
 ;*    This function returns the point line number.                     */
fe91a3d
 ;*---------------------------------------------------------------------*/
Jerry James 63e3895
 (defun bug-line-number (buffer pos)
Jerry James 63e3895
-  (save-restriction
fe91a3d
-    (set-buffer buffer)
Jerry James 63e3895
+  (with-current-buffer buffer
Jerry James 63e3895
     (let (start)
Jerry James 63e3895
       (save-excursion
Jerry James 63e3895
 	(save-restriction
9d2a41f
--- bmacs/bug/bug.el.orig	2018-02-04 23:59:28.000000000 -0700
9d2a41f
+++ bmacs/bug/bug.el	2018-06-17 15:32:42.048634492 -0600
dedaf22
@@ -71,7 +71,10 @@ and source-file directory for your debug
dedaf22
 	     `(,bugname ,binary ,nil ,@(bug-string->list bug-emacs-option)
dedaf22
 			,a.out))
dedaf22
       ;; the process filter and sentinel
dedaf22
-      (process-kill-without-query (get-buffer-process bug-comint-buffer))
dedaf22
+      (if (featurep 'xemacs)
dedaf22
+	  (process-kill-without-query (get-buffer-process bug-comint-buffer))
dedaf22
+	(set-process-query-on-exit-flag (get-buffer-process bug-comint-buffer)
dedaf22
+					nil))
dedaf22
       (set-process-filter (get-buffer-process bug-comint-buffer)
dedaf22
 			  'bug-filter))
dedaf22
     ;; we start the bug-mode
dedaf22
@@ -130,8 +133,7 @@ and source-file directory for your debug
dedaf22
 (defun bugloo-quit ()
dedaf22
   (interactive)
dedaf22
   (if (bufferp bug-comint-buffer)
dedaf22
-      (save-excursion
dedaf22
-	(set-buffer bug-comint-buffer)
dedaf22
+      (with-current-buffer bug-comint-buffer
dedaf22
 	(condition-case ()
dedaf22
 	    (comint-kill-subjob)
dedaf22
 	  (error
9d2a41f
--- bmacs/bug/bug-filter.el.orig	2018-02-04 23:59:28.000000000 -0700
9d2a41f
+++ bmacs/bug/bug-filter.el	2018-06-17 15:32:42.048634492 -0600
Jerry James 63e3895
@@ -51,9 +51,7 @@
Jerry James 63e3895
 ;*    bug-buffer-text-properties-at ...                                */
Jerry James 63e3895
 ;*---------------------------------------------------------------------*/
Jerry James 63e3895
 (defun bug-buffer-text-properties-at (buf p)
Jerry James 63e3895
-  (save-excursion
Jerry James 63e3895
-    (set-buffer buf)
Jerry James 63e3895
-    (text-properties-at p)))
Jerry James 63e3895
+  (text-properties-at p buf))
a07604c
 
a07604c
 ;*---------------------------------------------------------------------*/
Jerry James 63e3895
 ;*    bug-filter-init ...                                              */
Jerry James 63e3895
@@ -272,10 +270,8 @@
Jerry James 63e3895
   (insert-text-property 0 (length output) 'keymap bug-filter-footprint-map output)
Jerry James 63e3895
   (insert-text-property 0 (length output) 'help-echo "mouse-3: Edit properties" output)
Jerry James 63e3895
   (funcall bug-filter-output proc output)
Jerry James 63e3895
-  (save-excursion
Jerry James 63e3895
-    (set-buffer bug-comint-buffer)
Jerry James 63e3895
-    (bug-add-image-overlay bug-comint-buffer (1- (point-max))
Jerry James 63e3895
-			   bug-footprint-enable-image)))
Jerry James 63e3895
+  (bug-add-image-overlay bug-comint-buffer (1- (point-max))
Jerry James 63e3895
+			 bug-footprint-enable-image))
Jerry James 63e3895
   
Jerry James 63e3895
 ;*---------------------------------------------------------------------*/
Jerry James 63e3895
 ;*    bug-filter-breakpoint-map ...                                    */
Jerry James 63e3895
@@ -303,10 +299,8 @@
Jerry James 63e3895
   (insert-text-property 0 (length output) 'keymap bug-filter-breakpoint-map output)
Jerry James 63e3895
   (insert-text-property 0 (length output) 'help-echo "mouse-3: Edit properties" output)
Jerry James 63e3895
   (funcall bug-filter-output proc output)
Jerry James 63e3895
-  (save-excursion
Jerry James 63e3895
-    (set-buffer bug-comint-buffer)
Jerry James 63e3895
-    (bug-add-image-overlay bug-comint-buffer (1- (point-max))
Jerry James 63e3895
-			   bug-breakpoint-red-image)))
Jerry James 63e3895
+  (bug-add-image-overlay bug-comint-buffer (1- (point-max))
Jerry James 63e3895
+			 bug-breakpoint-red-image))
fe91a3d
 
fe91a3d
 ;*---------------------------------------------------------------------*/
Jerry James 63e3895
 ;*    bug-filter-ident-map ...                                         */
9d2a41f
--- bmacs/bug/bug-gnu-emacs.el.orig	2018-02-04 23:59:28.000000000 -0700
9d2a41f
+++ bmacs/bug/bug-gnu-emacs.el	2018-06-17 15:32:42.049634490 -0600
Jerry James 63e3895
@@ -14,6 +14,7 @@
Jerry James 63e3895
 ;*---------------------------------------------------------------------*/
Jerry James 63e3895
 (provide 'bug-gnu-emacs)
Jerry James 63e3895
 (require 'bug-custom)
Jerry James 63e3895
+(require 'bmacs-gnu-emacs)
fe91a3d
 
fe91a3d
 ;*---------------------------------------------------------------------*/
Jerry James 63e3895
 ;*    GNU emacs settings...                                            */
Jerry James 63e3895
@@ -49,9 +50,9 @@
Jerry James 63e3895
 ;*    bug-add-margin-image-overlay ...                                 */
dd7b829
 ;*---------------------------------------------------------------------*/
Jerry James 63e3895
 (defun bug-add-margin-image-overlay (buffer line image)
dd7b829
-  (save-excursion
dd7b829
-    (set-buffer buffer)
Jerry James 63e3895
-    (goto-line line)
dd7b829
+  (with-current-buffer buffer
Jerry James 63e3895
+    (goto-char (point-min))
Jerry James 63e3895
+    (forward-line (1- line))
Jerry James 63e3895
     (let ((o (make-overlay (line-beginning-position)
Jerry James 63e3895
 			   (1+ (line-beginning-position))))
Jerry James 63e3895
 	  (s (string ? )))
Jerry James 63e3895
@@ -69,8 +70,7 @@
Jerry James 63e3895
 ;*    bug-add-image-overlay ...                                        */
dd7b829
 ;*---------------------------------------------------------------------*/
dd7b829
 (defun bug-add-image-overlay (buffer char image)
dd7b829
-  (save-excursion
dd7b829
-    (set-buffer buffer)
dd7b829
+  (with-current-buffer buffer
dd7b829
     (goto-char char)
dd7b829
     (let ((o (make-overlay (line-beginning-position)
dd7b829
 			   (1+ (line-beginning-position))))
dd7b829
@@ -132,12 +132,12 @@
dd7b829
       (progn
dd7b829
 	(setq bug-gnu-emacs-source-line-overlay (make-overlay 1 1))
dd7b829
 	(overlay-put bug-gnu-emacs-source-line-overlay 'face 'bug-line-face)))
dd7b829
-  (save-excursion
dd7b829
-    (set-buffer buffer)
dd7b829
+  (with-current-buffer buffer
dd7b829
     (let ((pos))
dd7b829
       (save-restriction
dd7b829
 	(widen)
dd7b829
-	(goto-line line)
dd7b829
+	(goto-char (point-min))
dd7b829
+	(forward-line (1- line))
dd7b829
 	(setq pos (point))
dd7b829
 	(move-overlay bug-gnu-emacs-source-line-overlay
dd7b829
 		      (line-beginning-position)
9d2a41f
--- bmacs/bug/bug-hooking.el.orig	2018-02-04 23:59:28.000000000 -0700
9d2a41f
+++ bmacs/bug/bug-hooking.el	2018-06-17 15:32:42.049634490 -0600
dd7b829
@@ -48,7 +48,7 @@
dd7b829
 	(redisplay-frame)
dd7b829
 	(sit-for 0.2)
dd7b829
 	(bug-wait-process "hooks" bug-hook-timeout)
dd7b829
-	(mapcar (lambda (hook) (funcall hook)) bug-command-hooks)
dd7b829
+	(mapc (lambda (hook) (funcall hook)) bug-command-hooks)
dd7b829
 	(redisplay-frame)
dd7b829
 	(setq bug-command-hook-p nil))))
dd7b829
 
dd7b829
@@ -69,8 +69,7 @@
dd7b829
     ;; we wait for comint to be ready
dd7b829
     (sit-for 0.1)
dd7b829
     (if (bug-wait-process "bug-hook-command" bug-hook-timeout)
dd7b829
-	(save-excursion
dd7b829
-	  (set-buffer buffer)
dd7b829
+	(with-current-buffer buffer
dd7b829
 	  (let ((buffer-read-only nil))
dd7b829
 	    (erase-buffer)
dd7b829
 	    ;; Temporarily install our filter function.
dd7b829
@@ -79,8 +78,7 @@
dd7b829
 		  (old-prompt-hook bug-prompt-hook))
dd7b829
 	      (setq bug-filter-output
dd7b829
 		    #'(lambda (proc str)
dd7b829
-			(save-excursion
dd7b829
-			  (set-buffer buffer)
dd7b829
+			(with-current-buffer buffer
dd7b829
 			  (goto-char (point-max))
dd7b829
 			  (insert str))))
dd7b829
 	      (setq bug-prompt-hook
9d2a41f
--- bmacs/bug/bug-process.el.orig	2018-02-04 23:59:28.000000000 -0700
9d2a41f
+++ bmacs/bug/bug-process.el	2018-06-17 15:32:42.049634490 -0600
dd7b829
@@ -63,8 +63,7 @@
dd7b829
   (let ((proc (get-buffer-process bug-comint-buffer)))
dd7b829
     (or proc (ude-error "Current buffer has no process"))
dd7b829
     ;; Arrange for the current prompt to get deleted.
dd7b829
-    (save-excursion
dd7b829
-      (set-buffer bug-comint-buffer)
dd7b829
+    (with-current-buffer bug-comint-buffer
dd7b829
       (goto-char (process-mark proc))
dd7b829
       (delete-region (point) (point-max))
dd7b829
       (process-send-string proc (concat command "\n")))))
dd7b829
@@ -83,47 +82,45 @@
dd7b829
 (defun bug-wait-process (from timeout)
dd7b829
   (if (not bug-comint-buffer)
dd7b829
       (ude-error "No debugger running")
dd7b829
-    (save-excursion
dd7b829
-      (save-restriction
dd7b829
-	(widen)
dd7b829
-	(let ((count 0)
dd7b829
-	      (str   "/-\\|")
dd7b829
-	      (l (length bug-prompt-regexp)))
dd7b829
-	  (setq str str)
dd7b829
-	  (set-buffer bug-comint-buffer)
dd7b829
-	  ;; we mark bug waiting
dd7b829
-	  (setq bug-waiting t)
dd7b829
-	  (accept-process-output)
dd7b829
-	  (goto-char (point-max))
dd7b829
-	  (while (progn
dd7b829
-		   (goto-char (point-max))
dd7b829
-		   (or (<= (point) l)
dd7b829
-		       (and (save-excursion
dd7b829
-			      (backward-char l)
dd7b829
-			      (not (re-search-forward bug-prompt-eol-regexp
dd7b829
-						      (point-max)
dd7b829
-						      t)))
dd7b829
-			    (or (not (numberp timeout))
dd7b829
-				(< count timeout)))))
dd7b829
+    (with-current-buffer bug-comint-buffer
dd7b829
+      (save-excursion
dd7b829
+	(save-restriction
dd7b829
+	  (widen)
dd7b829
+	  (let ((count 0)
dd7b829
+		(str   "/-\\|")
dd7b829
+		(l (length bug-prompt-regexp)))
dd7b829
+	    ;; we mark bug waiting
dd7b829
+	    (setq bug-waiting t)
dd7b829
 	    (accept-process-output)
dd7b829
-	    (setq count (+ 1 count))
dd7b829
-	    (if (numberp timeout)
dd7b829
+	    (goto-char (point-max))
dd7b829
+	    (while (progn
dd7b829
+		     (goto-char (point-max))
dd7b829
+		     (or (<= (point) l)
dd7b829
+			 (and (save-excursion
dd7b829
+				(backward-char l)
dd7b829
+				(not (re-search-forward bug-prompt-eol-regexp
dd7b829
+							(point-max)
dd7b829
+							t)))
dd7b829
+			      (or (not (numberp timeout))
dd7b829
+				  (< count timeout)))))
dd7b829
+	      (accept-process-output)
dd7b829
+	      (setq count (+ 1 count))
dd7b829
+	      (if (numberp timeout)
dd7b829
+		  (display-message 'no-log
dd7b829
+		    (format "waiting for `%s' [%c] (timeout %d/%S)"
dd7b829
+			    from
dd7b829
+			    (aref str (% count 4))
dd7b829
+			    count
dd7b829
+			    timeout))
dd7b829
 		(display-message 'no-log
dd7b829
-				 (format "waiting for `%s' [%c] (timeout %d/%S)"
dd7b829
-					 from
dd7b829
-					 (aref str (% count 4))
dd7b829
-					 count
dd7b829
-					 timeout))
dd7b829
-	      (display-message 'no-log
dd7b829
-			       (format "waiting for `%s' [%c]"
dd7b829
-				       from
dd7b829
-				       (aref str (% count 4)))))
dd7b829
-	    (sit-for 0.3)
dd7b829
-	    (redisplay-frame (selected-frame) t))
dd7b829
-	  ;; we remove the last wait message
dd7b829
-	  (display-message 'no-log " ")
dd7b829
-	  ;; bug is now ready
dd7b829
-	  (setq bug-waiting nil)
dd7b829
-	  (or (not (numberp timeout))
dd7b829
-	      (< count timeout)))))))
dd7b829
-
dd7b829
+		  (format "waiting for `%s' [%c]"
dd7b829
+			  from
dd7b829
+			  (aref str (% count 4)))))
dd7b829
+	      (sit-for 0.3)
dd7b829
+	      (redisplay-frame (selected-frame) t))
dd7b829
+	    ;; we remove the last wait message
dd7b829
+	    (display-message 'no-log " ")
dd7b829
+	    ;; bug is now ready
dd7b829
+	    (setq bug-waiting nil)
dd7b829
+	    (or (not (numberp timeout))
dd7b829
+		(< count timeout))))))))
9d2a41f
--- bmacs/bug/bug-source.el.orig	2018-02-04 23:59:28.000000000 -0700
9d2a41f
+++ bmacs/bug/bug-source.el	2018-06-17 15:32:42.049634490 -0600
Jerry James 63e3895
@@ -80,7 +80,8 @@
Jerry James 63e3895
 			(display-buffer buffer))))
Jerry James 63e3895
 	  (set-buffer buffer)
Jerry James 63e3895
 	  (bug-connect-buffer buffer)
Jerry James 63e3895
-	  (goto-line line)
Jerry James 63e3895
+	  (goto-char (point-min))
Jerry James 63e3895
+	  (forward-line (1- line))
Jerry James 63e3895
 	  (set-window-point window (point))
Jerry James 63e3895
 	  (if bug-raise-active-source-frame-p
Jerry James 63e3895
 	      (let ((frame (window-frame window)))
9d2a41f
--- bmacs/bug/bug-xemacs.el.orig	2018-02-04 23:59:28.000000000 -0700
9d2a41f
+++ bmacs/bug/bug-xemacs.el	2018-06-17 15:32:42.049634490 -0600
Jerry James 63e3895
@@ -143,7 +143,8 @@ static char *arrow[] = {
Jerry James 63e3895
       (save-excursion
Jerry James 63e3895
 	(save-restriction
Jerry James 63e3895
 	  (widen)
Jerry James 63e3895
-	  (goto-line line)
Jerry James 63e3895
+	  (goto-char (point-min))
Jerry James 63e3895
+	  (forward-line (1- line))
Jerry James 63e3895
 	  (setq pos (point))))
Jerry James 63e3895
       (goto-char pos)
Jerry James 63e3895
       (set-window-point window pos)
Jerry James 63e3895
@@ -162,9 +163,9 @@ static char *arrow[] = {
Jerry James 63e3895
 ;*    bug-add-margin-image-overlay ...                                 */
dd7b829
 ;*---------------------------------------------------------------------*/
Jerry James 63e3895
 (defun bug-add-margin-image-overlay (buffer line image)
dd7b829
-  (save-excursion
dd7b829
-    (set-buffer buffer)
Jerry James 63e3895
-    (goto-line line)
dd7b829
+  (with-current-buffer buffer
Jerry James 63e3895
+    (goto-char (point-min))
Jerry James 63e3895
+    (forward-line (1- line))
Jerry James 63e3895
     (let ((o (make-extent (line-beginning-position)
Jerry James 63e3895
 			  (1+ (line-beginning-position))
Jerry James 63e3895
 			  buffer)))
Jerry James 63e3895
@@ -177,8 +178,7 @@ static char *arrow[] = {
Jerry James 63e3895
 ;*    bug-add-image-overlay ...                                        */
dd7b829
 ;*---------------------------------------------------------------------*/
Jerry James 63e3895
 (defun bug-add-image-overlay (buffer char image)
a07604c
-  (save-excursion
a07604c
-    (set-buffer buffer)
a07604c
+  (with-current-buffer buffer
Jerry James 63e3895
     (goto-char char)
Jerry James 63e3895
     (let ((o (make-extent (line-beginning-position)
Jerry James 63e3895
 			  (1+ (line-beginning-position))
9d2a41f
--- bmacs/cee/cee-kbdb.el.orig	2018-02-04 23:59:28.000000000 -0700
9d2a41f
+++ bmacs/cee/cee-kbdb.el	2018-06-17 15:32:42.049634490 -0600
Jerry James 63e3895
@@ -389,7 +389,8 @@
Jerry James 63e3895
 		      (select-frame frame)
Jerry James 63e3895
 		      (select-window win)
Jerry James 63e3895
 		      (set-buffer buf)
Jerry James 63e3895
-		      (goto-line npos)
Jerry James 63e3895
+		      (goto-char (point-min))
Jerry James 63e3895
+		      (forward-line (1- npos))
Jerry James 63e3895
 		      (beginning-of-line)
Jerry James 63e3895
 		      (set-window-point win npos)
Jerry James 63e3895
 		      t))))
Jerry James 63e3895
@@ -399,7 +400,8 @@
Jerry James 63e3895
 	  (if (bufferp buf)
Jerry James 63e3895
 	      (progn
Jerry James 63e3895
 		(set-buffer buf)
Jerry James 63e3895
-		(goto-line npos)
Jerry James 63e3895
+		(goto-char (point-min))
Jerry James 63e3895
+		(forward-line (1- npos))
Jerry James 63e3895
 		(beginning-of-line)
Jerry James 63e3895
 		t))))
Jerry James 63e3895
        (t
9d2a41f
--- bmacs/dbg/dbg-args.el.orig	2018-02-04 23:59:28.000000000 -0700
9d2a41f
+++ bmacs/dbg/dbg-args.el	2018-06-17 15:32:42.049634490 -0600
dedaf22
@@ -100,8 +100,7 @@ This is implemented using the DBG `args'
dedaf22
   (let ((proc (get-buffer-process dbg-comint-buffer)))
dedaf22
     (or proc (ude-error "Current buffer has no process"))
dedaf22
     ;; Arrange for the current prompt to get deleted.
dedaf22
-    (save-excursion
dedaf22
-      (set-buffer dbg-comint-buffer)
dedaf22
+    (with-current-buffer dbg-comint-buffer
dedaf22
       (goto-char (process-mark proc))
dedaf22
       (while (not (looking-at comint-prompt-regexp))
dedaf22
 	(goto-char (process-mark proc))
dedaf22
@@ -140,8 +139,7 @@ This is implemented using the DBG `args'
dedaf22
 ;*    Args a new args in a separate buffer.                            */
dedaf22
 ;*---------------------------------------------------------------------*/
dedaf22
 (defun dbg-args-args (buffer args)
dedaf22
-  (save-excursion
dedaf22
-    (set-buffer buffer)
dedaf22
+  (with-current-buffer buffer
dedaf22
     (let ((buffer-read-only nil))
dedaf22
       (erase-buffer)
dedaf22
       (insert args)
dedaf22
@@ -164,12 +162,12 @@ This is implemented using the DBG `args'
dedaf22
 					 'mouse-face 'highlight
dedaf22
 					 'keymap dbg-args-mouse-map)
dedaf22
 		    (if (< end (point-max))
dedaf22
-			(next-line 1)
dedaf22
+			(forward-line 1)
dedaf22
 		      (setq keep nil)))
dedaf22
 		(progn
dedaf22
 		  (end-of-line)
dedaf22
 		  (if (< (point) (point-max))
dedaf22
-		      (next-line 1)
dedaf22
+		      (forward-line 1)
dedaf22
 		    (setq keep nil)))))))))))
dedaf22
 		
dedaf22
 ;*---------------------------------------------------------------------*/
dedaf22
@@ -243,8 +241,7 @@ This is implemented using the DBG `args'
dedaf22
 (defun dbg-args-menu (event)
dedaf22
   (interactive "e")
dedaf22
   (let (selection)
dedaf22
-    (save-excursion
dedaf22
-      (set-buffer (event-buffer event))
dedaf22
+    (with-current-buffer (event-buffer event)
dedaf22
       (save-excursion
dedaf22
 	(goto-char (event-closest-point event))
dedaf22
 	(message "point: %S" (point))
9d2a41f
--- bmacs/dbg/dbg-breakpoint.el.orig	2018-02-04 23:59:28.000000000 -0700
9d2a41f
+++ bmacs/dbg/dbg-breakpoint.el	2018-06-17 15:32:42.050634487 -0600
dedaf22
@@ -304,8 +304,7 @@ static char *footprint[] = {
dedaf22
   (let ((proc (get-buffer-process dbg-comint-buffer)))
dedaf22
     (or proc (ude-error "Current buffer has no process"))
dedaf22
     ;; Arrange for the current prompt to get deleted.
dedaf22
-    (save-excursion
dedaf22
-      (set-buffer dbg-comint-buffer)
dedaf22
+    (with-current-buffer dbg-comint-buffer
dedaf22
       (goto-char (process-mark proc))
dedaf22
       (process-send-string proc dbg-info-break-command)
dedaf22
       (process-send-string proc "\n"))))
dedaf22
@@ -323,8 +322,7 @@ static char *footprint[] = {
dedaf22
 	  (proc (get-buffer-process dbg-comint-buffer)))
dedaf22
       (or proc (ude-error "Current buffer has no process"))
dedaf22
       ;; Arrange for the current prompt to get deleted.
dedaf22
-      (save-excursion
dedaf22
-	(set-buffer dbg-comint-buffer)
dedaf22
+      (with-current-buffer dbg-comint-buffer
dedaf22
 	(goto-char (process-mark proc))
dedaf22
 	(process-send-string proc command)))))
dedaf22
 
dedaf22
@@ -533,7 +531,8 @@ static char *footprint[] = {
dedaf22
 	    (set-extent-property extent 'mouse-face 'highlight)
dedaf22
 	    (set-extent-property extent 'dbg-breakpoint bp)
dedaf22
 	    (set-buffer buffer)
dedaf22
-	    (goto-line line)
dedaf22
+	    (goto-char (point-min))
dedaf22
+	    (forward-line (1- line))
dedaf22
 	    (beginning-of-line)
dedaf22
 	    (set-extent-endpoints extent (point) (point))
dedaf22
 	    bp)))))
9d2a41f
--- bmacs/dbg/dbg-connect.el.orig	2018-02-04 23:59:28.000000000 -0700
9d2a41f
+++ bmacs/dbg/dbg-connect.el	2018-06-17 15:32:42.050634487 -0600
dedaf22
@@ -157,6 +157,6 @@
dedaf22
 ;*    Disconnect all currently connected buffers.                      */
dedaf22
 ;*---------------------------------------------------------------------*/
dedaf22
 (defun dbg-disconnect-all-buffers ()
dedaf22
-  (mapcar 'dbg-disconnect-buffer dbg-connected-buffers)
dedaf22
+  (mapc 'dbg-disconnect-buffer dbg-connected-buffers)
dedaf22
   (setq dbg-connected-buffers '()))
dedaf22
   
9d2a41f
--- bmacs/dbg/dbg-display.el.orig	2018-02-04 23:59:28.000000000 -0700
9d2a41f
+++ bmacs/dbg/dbg-display.el	2018-06-17 15:32:42.050634487 -0600
dedaf22
@@ -100,8 +100,7 @@ This is implemented using the DBG `displ
dedaf22
   (let ((proc (get-buffer-process dbg-comint-buffer)))
dedaf22
     (or proc (ude-error "Current buffer has no process"))
dedaf22
     ;; Arrange for the current prompt to get deleted.
dedaf22
-    (save-excursion
dedaf22
-      (set-buffer dbg-comint-buffer)
dedaf22
+    (with-current-buffer dbg-comint-buffer
dedaf22
       (goto-char (process-mark proc))
dedaf22
       (while (not (looking-at comint-prompt-regexp))
dedaf22
 	(goto-char (process-mark proc))
dedaf22
@@ -140,8 +139,7 @@ This is implemented using the DBG `displ
dedaf22
 ;*    Display a new display in a separate buffer.                      */
dedaf22
 ;*---------------------------------------------------------------------*/
dedaf22
 (defun dbg-display-display (buffer display)
dedaf22
-  (save-excursion
dedaf22
-    (set-buffer buffer)
dedaf22
+  (with-current-buffer buffer
dedaf22
     (let ((buffer-read-only nil))
dedaf22
       (erase-buffer)
dedaf22
       (insert display)
dedaf22
@@ -164,12 +162,12 @@ This is implemented using the DBG `displ
dedaf22
 					 'mouse-face 'highlight
dedaf22
 					 'keymap dbg-display-mouse-map)
dedaf22
 		    (if (< end (point-max))
dedaf22
-			(next-line 1)
dedaf22
+			(forward-line 1)
dedaf22
 		      (setq keep nil)))
dedaf22
 		(progn
dedaf22
 		  (end-of-line)
dedaf22
 		  (if (< (point) (point-max))
dedaf22
-		      (next-line 1)
dedaf22
+		      (forward-line 1)
dedaf22
 		    (setq keep nil)))))))))))
dedaf22
 		
dedaf22
 ;*---------------------------------------------------------------------*/
dedaf22
@@ -248,8 +246,7 @@ This is implemented using the DBG `displ
dedaf22
 (defun dbg-display-menu (event)
dedaf22
   (interactive "e")
dedaf22
   (let (selection)
dedaf22
-    (save-excursion
dedaf22
-      (set-buffer (event-buffer event))
dedaf22
+    (with-current-buffer (event-buffer event)
dedaf22
       (save-excursion
dedaf22
 	(goto-char (event-closest-point event))
dedaf22
 	(message "point: %S" (point))
9d2a41f
--- bmacs/dbg/dbg.el.orig	2018-02-04 23:59:28.000000000 -0700
9d2a41f
+++ bmacs/dbg/dbg.el	2018-06-17 15:32:42.050634487 -0600
dd7b829
@@ -80,7 +80,12 @@ and source-file directory for your debug
dd7b829
 	  (setq dbg-marker-filter 'dbg-default-marker-filter)
dd7b829
 	  (make-comint dbgname binary nil dbg-emacs-option a.out)
dd7b829
 	  ;; the process filter and sentinel
dd7b829
-	  (process-kill-without-query (get-buffer-process dbg-comint-buffer))
dd7b829
+	  (if (featurep 'xemacs)
dd7b829
+	      (process-kill-without-query
dd7b829
+	       (get-buffer-process dbg-comint-buffer))
dd7b829
+	    (set-process-query-on-exit-flag
dd7b829
+	     (get-buffer-process dbg-comint-buffer)
dd7b829
+	     nil))
dd7b829
 	  (set-process-filter (get-buffer-process dbg-comint-buffer)
dd7b829
 			      'dbg-filter)
dd7b829
 	  (set-process-sentinel (get-buffer-process dbg-comint-buffer)
dd7b829
@@ -203,8 +208,7 @@ and source-file directory for your debug
dd7b829
 	(proc (get-buffer-process dbg-comint-buffer)))
a07604c
     (or proc (ude-error "Current buffer has no process"))
a07604c
     ;; Arrange for the current prompt to get deleted.
a07604c
-    (save-excursion
dd7b829
-      (set-buffer dbg-comint-buffer)
dd7b829
+    (with-current-buffer dbg-comint-buffer
a07604c
       (goto-char (process-mark proc))
dd7b829
       (beginning-of-line)
dd7b829
       (if (looking-at comint-prompt-regexp)
dd7b829
@@ -226,7 +230,7 @@ and source-file directory for your debug
dd7b829
 	(dbg-console-log "dbg-send-input" intxt 'font-lock-type-face)
dd7b829
       (dbg-console-log "dbg-send-input" 'nil 'font-lock-string-face))
dd7b829
     (comint-send-input)
dd7b829
-    (mapcar (lambda (hook) (funcall hook intxt)) dbg-send-input-hooks)
dd7b829
+    (mapc (lambda (hook) (funcall hook intxt)) dbg-send-input-hooks)
dd7b829
     (redisplay-frame)))
dd7b829
 
dd7b829
 ;*---------------------------------------------------------------------*/
dd7b829
@@ -282,8 +286,7 @@ This is implemented using the DBG `no-ou
dd7b829
 	(proc (get-buffer-process dbg-comint-buffer)))
dd7b829
     (or proc (ude-error "Current buffer has no process"))
dd7b829
     ;; Arrange for the current prompt to get deleted.
dd7b829
-    (save-excursion
dd7b829
-      (set-buffer dbg-comint-buffer)
dd7b829
+    (with-current-buffer dbg-comint-buffer
dd7b829
       (goto-char (process-mark proc))
dd7b829
       (while (not (looking-at comint-prompt-regexp))
dd7b829
 	(goto-char (process-mark proc))
dd7b829
@@ -341,7 +344,7 @@ This is implemented using the DBG `no-ou
dd7b829
   (let ((dbg-mode nil))
dd7b829
     (setq dbg-mode dbg-mode)
dd7b829
     (recenter following)
dd7b829
-    (mapcar (lambda (hook) (funcall hook nil)) dbg-send-input-hooks)
dd7b829
+    (mapc (lambda (hook) (funcall hook nil)) dbg-send-input-hooks)
dd7b829
     (redisplay-frame)))
dd7b829
 
dd7b829
 ;*---------------------------------------------------------------------*/
dd7b829
@@ -360,11 +363,10 @@ This is implemented using the DBG `no-ou
dd7b829
 (defun dbg-comint-ready-p ()
dd7b829
   (if dbg-waiting
dd7b829
       nil
dd7b829
-    (save-excursion
dd7b829
-      (save-restriction
dd7b829
-	(widen)
dd7b829
-	(progn
dd7b829
-	  (set-buffer dbg-comint-buffer)
dd7b829
+    (with-current-buffer dbg-comint-buffer
dd7b829
+      (save-excursion
dd7b829
+	(save-restriction
dd7b829
+	  (widen)
dd7b829
 	  (goto-char (point-max))
dd7b829
 	  (let ((bound (point)))
dd7b829
 	    (beginning-of-line)
dd7b829
@@ -385,40 +387,39 @@ This is implemented using the DBG `no-ou
dd7b829
 (defun dbg-wait-for-comint (from timeout)
dd7b829
   (if (not dbg-comint-buffer)
a07604c
       (ude-error "No debugger running")
a07604c
-    (save-excursion
a07604c
-      (save-restriction
a07604c
-	(widen)
a07604c
-	(let ((count 0)
dd7b829
-	      (str   "/-\\|"))
a07604c
-	  (setq str str)
dd7b829
-	  (set-buffer dbg-comint-buffer)
dd7b829
-	  ;; we mark dbg waiting
dd7b829
-	  (setq dbg-waiting t)
a07604c
-	  (accept-process-output)
a07604c
-	  (while (progn
a07604c
-		   (goto-char (point-max))
dd7b829
-		   (let ((bound (point)))
dd7b829
-		     (beginning-of-line)
dd7b829
-		     (and (not (re-search-forward (concat
dd7b829
-						   comint-prompt-regexp
dd7b829
-						   "[ \t\n]*")
dd7b829
-						  bound t))
dd7b829
-			  (or (not (numberp timeout))
dd7b829
-			      (< count timeout)))))
a07604c
-	    (setq count (+ 1 count))
dd7b829
-	    '(display-message 'no-log
dd7b829
-	      (format "waiting for `%s' [%c] (timeout %d/%S)"
dd7b829
-		      from
dd7b829
-		      (aref str (% count 4))
dd7b829
-		      count
dd7b829
-		      timeout))
dd7b829
-	    (sit-for 0.1)
dd7b829
-	    (redisplay-frame (selected-frame) t)
dd7b829
-	    (set-buffer dbg-comint-buffer))
a07604c
-	  ;; we remove the last wait message
a07604c
-	  (display-message 'no-log " ")
dd7b829
-	  ;; dbg is now ready
dd7b829
-	  (setq dbg-waiting nil))))))
dd7b829
+    (with-current-buffer dbg-comint-buffer
dd7b829
+      (save-excursion
dd7b829
+	(save-restriction
dd7b829
+	  (widen)
dd7b829
+	  (let ((count 0)
dd7b829
+		(str   "/-\\|"))
dd7b829
+	    ;; we mark dbg waiting
dd7b829
+	    (setq dbg-waiting t)
dd7b829
+	    (accept-process-output)
dd7b829
+	    (while (progn
dd7b829
+		     (goto-char (point-max))
dd7b829
+		     (let ((bound (point)))
dd7b829
+		       (beginning-of-line)
dd7b829
+		       (and (not (re-search-forward (concat
dd7b829
+						     comint-prompt-regexp
dd7b829
+						     "[ \t\n]*")
dd7b829
+						    bound t))
dd7b829
+			    (or (not (numberp timeout))
dd7b829
+				(< count timeout)))))
dd7b829
+	      (setq count (+ 1 count))
dd7b829
+	      '(display-message 'no-log
dd7b829
+		(format "waiting for `%s' [%c] (timeout %d/%S)"
dd7b829
+			from
dd7b829
+			(aref str (% count 4))
dd7b829
+			count
dd7b829
+			timeout))
dd7b829
+	      (sit-for 0.1)
dd7b829
+	      (redisplay-frame (selected-frame) t)
dd7b829
+	      (set-buffer dbg-comint-buffer))
a07604c
+	    ;; we remove the last wait message
a07604c
+	    (display-message 'no-log " ")
dd7b829
+	    ;; dbg is now ready
dd7b829
+	    (setq dbg-waiting nil)))))))
dd7b829
 
fe91a3d
 ;*---------------------------------------------------------------------*/
dd7b829
 ;*    dbg-clear-window ...                                             */
dd7b829
@@ -449,8 +450,7 @@ This is implemented using the DBG `no-ou
dd7b829
 ;*    This function returns the point line number.                     */
dd7b829
 ;*---------------------------------------------------------------------*/
dd7b829
 (defun dbg-line-number (buffer pos)
dd7b829
-  (save-restriction
fe91a3d
-    (set-buffer buffer)
fe91a3d
+  (with-current-buffer buffer
dd7b829
     (let (start)
dd7b829
       (save-excursion
dd7b829
 	(save-restriction
9d2a41f
--- bmacs/dbg/dbg-filter.el.orig	2018-02-04 23:59:28.000000000 -0700
9d2a41f
+++ bmacs/dbg/dbg-filter.el	2018-06-17 15:32:42.050634487 -0600
Jerry James 63e3895
@@ -30,10 +30,12 @@ It is saved for when this flag is not se
Jerry James 63e3895
 (defvar dbg-delete-prompt-marker nil)
Jerry James 63e3895
 
Jerry James 63e3895
 (defvar dbg-last-frame nil)
Jerry James 63e3895
+(make-variable-buffer-local 'dbg-last-frame)
Jerry James 63e3895
 
Jerry James 63e3895
 (defvar dbg-last-last-frame nil)
Jerry James 63e3895
 
Jerry James 63e3895
 (defvar dbg-marker-acc "")
Jerry James 63e3895
+(make-variable-buffer-local 'dbg-marker-acc)
Jerry James 63e3895
 
Jerry James 63e3895
 (defvar dbg-marker-filter nil)
Jerry James 63e3895
 
Jerry James 63e3895
@@ -309,8 +311,7 @@ It is saved for when this flag is not se
Jerry James 63e3895
 		(progn
Jerry James 63e3895
 		  (setq string (concat dbg-filter-pending-text string))
Jerry James 63e3895
 		  (setq dbg-filter-pending-text nil)))
Jerry James 63e3895
-	    (save-excursion
Jerry James 63e3895
-	      (set-buffer (process-buffer proc))
Jerry James 63e3895
+	    (with-current-buffer (process-buffer proc)
Jerry James 63e3895
 	      ;; If we have been so requested, delete the debugger prompt.
Jerry James 63e3895
 	      (if (marker-buffer dbg-delete-prompt-marker)
Jerry James 63e3895
 		  (progn
Jerry James 63e3895
@@ -344,11 +345,8 @@ It is saved for when this flag is not se
Jerry James 63e3895
 		(dbg-display-frame))
Jerry James 63e3895
 	    ;; We have to be in the proper buffer, (process-buffer proc),
Jerry James 63e3895
 	    ;; but not in a save-excursion, because that would restore point.
Jerry James 63e3895
-	    (let ((old-buf (current-buffer)))
Jerry James 63e3895
-	      (set-buffer (process-buffer proc))
Jerry James 63e3895
-	      (unwind-protect
Jerry James 63e3895
-		  (dbg-display-frame)
Jerry James 63e3895
-		(set-buffer old-buf))))
Jerry James 63e3895
+	    (with-current-buffer (process-buffer proc)
Jerry James 63e3895
+	      (dbg-display-frame)))
Jerry James 63e3895
 	  ;; If we deferred text that arrived during this processing,
Jerry James 63e3895
 	  ;; handle it now.
Jerry James 63e3895
 	  (if dbg-filter-pending-text
9d2a41f
--- bmacs/dbg/dbg-locals.el.orig	2018-02-04 23:59:28.000000000 -0700
9d2a41f
+++ bmacs/dbg/dbg-locals.el	2018-06-17 15:32:42.050634487 -0600
Jerry James 63e3895
@@ -100,8 +100,7 @@ This is implemented using the DBG `local
Jerry James 63e3895
   (let ((proc (get-buffer-process dbg-comint-buffer)))
Jerry James 63e3895
     (or proc (ude-error "Current buffer has no process"))
Jerry James 63e3895
     ;; Arrange for the current prompt to get deleted.
Jerry James 63e3895
-    (save-excursion
Jerry James 63e3895
-      (set-buffer dbg-comint-buffer)
Jerry James 63e3895
+    (with-current-buffer dbg-comint-buffer
Jerry James 63e3895
       (goto-char (process-mark proc))
Jerry James 63e3895
       (while (not (looking-at comint-prompt-regexp))
Jerry James 63e3895
 	(goto-char (process-mark proc))
Jerry James 63e3895
@@ -140,8 +139,7 @@ This is implemented using the DBG `local
Jerry James 63e3895
 ;*    Locals a new locals in a separate buffer.                        */
Jerry James 63e3895
 ;*---------------------------------------------------------------------*/
Jerry James 63e3895
 (defun dbg-locals-locals (buffer locals)
Jerry James 63e3895
-  (save-excursion
Jerry James 63e3895
-    (set-buffer buffer)
Jerry James 63e3895
+  (with-current-buffer buffer
Jerry James 63e3895
     (let ((buffer-read-only nil))
Jerry James 63e3895
       (erase-buffer)
Jerry James 63e3895
       (insert locals)
Jerry James 63e3895
@@ -164,12 +162,12 @@ This is implemented using the DBG `local
Jerry James 63e3895
 					 'mouse-face 'highlight
Jerry James 63e3895
 					 'keymap dbg-locals-mouse-map)
Jerry James 63e3895
 		    (if (< end (point-max))
Jerry James 63e3895
-			(next-line 1)
Jerry James 63e3895
+			(forward-line 1)
Jerry James 63e3895
 		      (setq keep nil)))
Jerry James 63e3895
 		(progn
Jerry James 63e3895
 		  (end-of-line)
Jerry James 63e3895
 		  (if (< (point) (point-max))
Jerry James 63e3895
-		      (next-line 1)
Jerry James 63e3895
+		      (forward-line 1)
Jerry James 63e3895
 		    (setq keep nil)))))))))))
Jerry James 63e3895
 		
Jerry James 63e3895
 ;*---------------------------------------------------------------------*/
Jerry James 63e3895
@@ -242,8 +240,7 @@ This is implemented using the DBG `local
Jerry James 63e3895
 (defun dbg-locals-menu (event)
Jerry James 63e3895
   (interactive "e")
Jerry James 63e3895
   (let (selection)
Jerry James 63e3895
-    (save-excursion
Jerry James 63e3895
-      (set-buffer (event-buffer event))
Jerry James 63e3895
+    (with-current-buffer (event-buffer event)
Jerry James 63e3895
       (save-excursion
Jerry James 63e3895
 	(goto-char (event-closest-point event))
Jerry James 63e3895
 	(message "point: %S" (point))
9d2a41f
--- bmacs/dbg/dbg-mode.el.orig	2018-02-04 23:59:28.000000000 -0700
9d2a41f
+++ bmacs/dbg/dbg-mode.el	2018-06-17 15:32:42.051634485 -0600
Jerry James 63e3895
@@ -98,10 +98,7 @@ The following command are available:
Jerry James 63e3895
   (make-local-variable 'dbg-delete-prompt-marker)
Jerry James 63e3895
   (setq dbg-delete-prompt-marker (make-marker))
Jerry James 63e3895
   ;; same for dbg-last-frame
Jerry James 63e3895
-  (make-variable-buffer-local 'dbg-last-frame)
Jerry James 63e3895
   (setq dbg-last-frame nil)
Jerry James 63e3895
-  ;; and so it is for dbg-marker-acc
Jerry James 63e3895
-  (make-variable-buffer-local 'dbg-marker-acc)
Jerry James 63e3895
   ;; the mouse shape when flying over non text
Jerry James 63e3895
   (ude-set-nontext-pointer "left_ptr")
Jerry James 63e3895
   ;; we set up kill buffer hook
9d2a41f
--- bmacs/dbg/dbg-source.el.orig	2018-02-04 23:59:28.000000000 -0700
9d2a41f
+++ bmacs/dbg/dbg-source.el	2018-06-17 15:32:42.051634485 -0600
Jerry James 63e3895
@@ -152,11 +152,11 @@ static char *arrow[] = {
Jerry James 63e3895
 		(set-extent-begin-glyph extent dbg-arrow-glyph)
Jerry James 63e3895
 		(set-extent-begin-glyph-layout extent 'outside-margin)
Jerry James 63e3895
 		(setq dbg-source-line-extent extent)))
Jerry James 63e3895
-	  (save-excursion
Jerry James 63e3895
-	    (set-buffer buffer)
Jerry James 63e3895
+	  (with-current-buffer buffer
Jerry James 63e3895
 	    (save-restriction
Jerry James 63e3895
 	      (widen)
Jerry James 63e3895
-	      (goto-line line)
Jerry James 63e3895
+	      (goto-char (point-min))
Jerry James 63e3895
+	      (forward-line (1- line))
Jerry James 63e3895
 	      (set-window-point window (point))
Jerry James 63e3895
 	      (setq pos (progn
Jerry James 63e3895
 			  (beginning-of-line)
9d2a41f
--- bmacs/dbg/dbg-stack.el.orig	2018-02-04 23:59:28.000000000 -0700
9d2a41f
+++ bmacs/dbg/dbg-stack.el	2018-06-17 15:32:42.051634485 -0600
Jerry James 63e3895
@@ -110,8 +110,7 @@ This is implemented using the DBG `stack
Jerry James 63e3895
 	(proc (get-buffer-process dbg-comint-buffer)))
Jerry James 63e3895
     (or proc (ude-error "Current buffer has no process"))
Jerry James 63e3895
     ;; Arrange for the current prompt to get deleted.
Jerry James 63e3895
-    (save-excursion
Jerry James 63e3895
-      (set-buffer dbg-comint-buffer)
Jerry James 63e3895
+    (with-current-buffer dbg-comint-buffer
Jerry James 63e3895
       (goto-char (process-mark proc))
Jerry James 63e3895
       (while (not (looking-at comint-prompt-regexp))
Jerry James 63e3895
 	(goto-char (process-mark proc))
Jerry James 63e3895
@@ -149,8 +148,7 @@ This is implemented using the DBG `stack
Jerry James 63e3895
 ;*    Display a new stack in a separate buffer.                        */
Jerry James 63e3895
 ;*---------------------------------------------------------------------*/
Jerry James 63e3895
 (defun dbg-display-stack (buffer stack)
Jerry James 63e3895
-  (save-excursion
Jerry James 63e3895
-    (set-buffer buffer)
Jerry James 63e3895
+  (with-current-buffer buffer
Jerry James 63e3895
     (let ((buffer-read-only nil))
Jerry James 63e3895
       (erase-buffer)
Jerry James 63e3895
       (insert stack)
Jerry James 63e3895
@@ -173,12 +171,12 @@ This is implemented using the DBG `stack
Jerry James 63e3895
 					 'mouse-face 'highlight
Jerry James 63e3895
 					 'keymap dbg-stack-mouse-map)
Jerry James 63e3895
 		    (if (< end (point-max))
Jerry James 63e3895
-			(next-line 1)
Jerry James 63e3895
+			(forward-line 1)
Jerry James 63e3895
 		      (setq keep nil)))
Jerry James 63e3895
 		(progn
Jerry James 63e3895
 		  (end-of-line)
Jerry James 63e3895
 		  (if (< (point) (point-max))
Jerry James 63e3895
-		      (next-line 1)
Jerry James 63e3895
+		      (forward-line 1)
Jerry James 63e3895
 		    (setq keep nil)))))))))))
Jerry James 63e3895
 		
Jerry James 63e3895
 ;*---------------------------------------------------------------------*/
Jerry James 63e3895
@@ -276,8 +274,7 @@ This is implemented using the DBG `stack
Jerry James 63e3895
 (defun dbg-frames-select-by-mouse (event)
Jerry James 63e3895
   (interactive "e")
Jerry James 63e3895
   (let (selection)
Jerry James 63e3895
-    (save-excursion
Jerry James 63e3895
-      (set-buffer (event-buffer event))
Jerry James 63e3895
+    (with-current-buffer (event-buffer event)
Jerry James 63e3895
       (save-excursion
Jerry James 63e3895
 	(goto-char (event-closest-point event))
Jerry James 63e3895
 	(setq selection (dbg-get-frame-number))))
9d2a41f
--- bmacs/Makefile.orig	2018-02-04 23:59:28.000000000 -0700
9d2a41f
+++ bmacs/Makefile	2018-06-17 15:35:03.809275972 -0600
9d2a41f
@@ -116,7 +116,7 @@ POPULATION	= Makefile README $(EMACS_SOU
9d2a41f
 #*---------------------------------------------------------------------*/
9d2a41f
 all: $(EMACSBRAND)
9d2a41f
 
9d2a41f
-emacs22 emacs23 emacs24 emacs25:
9d2a41f
+emacs22 emacs23 emacs24 emacs25 emacs26:
9d2a41f
 	(expr=load-path; \
9d2a41f
           for p in . $(LOADPATH); do \
9d2a41f
              expr="(cons \"../$$p\" (cons \"$$p\" $$expr))"; \
9d2a41f
@@ -181,6 +181,7 @@ install.emacs22: doinstall
9d2a41f
 install.emacs23: doinstall
9d2a41f
 install.emacs24: doinstall
9d2a41f
 install.emacs25: doinstall
9d2a41f
+install.emacs26: doinstall
9d2a41f
 install.xemacs: doinstall
9d2a41f
 
9d2a41f
 install.generic:
9d2a41f
--- bmacs/ude/id-select.el.orig	2018-02-04 23:59:28.000000000 -0700
9d2a41f
+++ bmacs/ude/id-select.el	2018-06-17 15:32:42.051634485 -0600
Jerry James 63e3895
@@ -248,6 +248,72 @@
Jerry James 63e3895
 (defvar id-select-prior-buffer 'nil)
Jerry James 63e3895
 
Jerry James 63e3895
 ;;; ************************************************************************
Jerry James 63e3895
+;;; Private variables
Jerry James 63e3895
+;;; ************************************************************************
Jerry James 63e3895
+
Jerry James 63e3895
+(defvar id-select-bigger-alist
Jerry James 63e3895
+  '((char nil)
Jerry James 63e3895
+    (whitespace id-select-whitespace)
Jerry James 63e3895
+    (word id-select-word)
Jerry James 63e3895
+    (symbol id-select-symbol)
Jerry James 63e3895
+    (punctuation nil)
Jerry James 63e3895
+    (string id-select-string)
Jerry James 63e3895
+    (text nil)
Jerry James 63e3895
+    (comment id-select-comment)
Jerry James 63e3895
+    (markup-pair nil)
Jerry James 63e3895
+    (preprocessor-def nil)
Jerry James 63e3895
+    (sexp id-select-sexp)
Jerry James 63e3895
+    (sexp-start nil)
Jerry James 63e3895
+    (sexp-end nil)
Jerry James 63e3895
+    (sexp-up id-select-sexp-up)
Jerry James 63e3895
+    (line id-select-line)
Jerry James 63e3895
+    (sentence id-select-sentence)
Jerry James 63e3895
+    (brace-def-or-declaration id-select-brace-def-or-declaration)
Jerry James 63e3895
+    (indent-def id-select-indent-def)
Jerry James 63e3895
+    (paragraph id-select-paragraph)
Jerry James 63e3895
+    (page id-select-page)
Jerry James 63e3895
+    (buffer id-select-buffer)
Jerry James 63e3895
+    )
Jerry James 63e3895
+  "List of (REGION-TYPE-SYMBOL REGION-SELECTION-FUNCTION) pairs.
Jerry James 63e3895
+Used to go from one thing to a bigger thing.  See id-select-bigger-thing.
Jerry James 63e3895
+Nil value for REGION-SELECTION-FUNCTION means that region type is skipped
Jerry James 63e3895
+over when trying to grow the region and is only used when a selection is made
Jerry James 63e3895
+with point on a character that triggers that type of selection.  Ordering of
Jerry James 63e3895
+entries is largely irrelevant to any code that uses this list.")
Jerry James 63e3895
+
Jerry James 63e3895
+
Jerry James 63e3895
+(defvar id-select-prior-buffer nil)
Jerry James 63e3895
+(defvar id-select-prior-point nil)
Jerry James 63e3895
+
Jerry James 63e3895
+(defvar id-select-previous 'char
Jerry James 63e3895
+  "Most recent type of selection.  Must be set by all id-select functions.")
Jerry James 63e3895
+
Jerry James 63e3895
+(defvar id-select-region (cons 'nil 'nil)
Jerry James 63e3895
+  "Cons cell that contains a region (<beginning> . <end>).
Jerry James 63e3895
+The function `id-select-set-region' updates and returns it.")
Jerry James 63e3895
+
Jerry James 63e3895
+(defvar id-select-old-region (cons 'nil 'nil)
Jerry James 63e3895
+  "Cons cell that contains a region (<beginning> . <end>).")
Jerry James 63e3895
+
Jerry James 63e3895
+(defcustom id-select-syntax-alist
Jerry James 63e3895
+  '((?w  id-select-word)
Jerry James 63e3895
+    (?_  id-select-symbol)
Jerry James 63e3895
+    (?\" id-select-string)
Jerry James 63e3895
+    (?\( id-select-sexp-start)
Jerry James 63e3895
+    (?\$ id-select-sexp-start)
Jerry James 63e3895
+    (?'  id-select-sexp-start)
Jerry James 63e3895
+    (?\) id-select-sexp-end)
Jerry James 63e3895
+    (?   id-select-whitespace)
Jerry James 63e3895
+    (?<  id-select-comment)
Jerry James 63e3895
+    (?.  id-select-punctuation))
Jerry James 63e3895
+  "*List of pairs of the form (SYNTAX-CHAR FUNCTION) used by the function `id-select-syntactical-region'.
Jerry James 63e3895
+Each FUNCTION takes a single position argument and returns a region
Jerry James 63e3895
+(start . end) delineating the boundaries of the thing at that position.
Jerry James 63e3895
+Ordering of entries is largely irrelevant to any code that uses this list."
Jerry James 63e3895
+  :type '(repeat (list (sexp :tag "Syntax-Char" function)))
Jerry James 63e3895
+  :group 'id-select)
Jerry James 63e3895
+
Jerry James 63e3895
+;;; ************************************************************************
Jerry James 63e3895
 ;;; Public functions
Jerry James 63e3895
 ;;; ************************************************************************
Jerry James 63e3895
 
Jerry James 63e3895
@@ -290,7 +356,10 @@ the minibuffer."
Jerry James 63e3895
 	       (if (and (boundp 'transient-mark-mode)
Jerry James 63e3895
 			transient-mark-mode)
Jerry James 63e3895
 		   (setq mark-active t))
Jerry James 63e3895
-	       (and (interactive-p) id-select-display-type
Jerry James 63e3895
+	       (and (if (featurep 'xemacs)
Jerry James 63e3895
+			(interactive-p)
Jerry James 63e3895
+		      (called-interactively-p 'interactive))
Jerry James 63e3895
+		    id-select-display-type
Jerry James 63e3895
 		    (message "%s" id-select-previous))
Jerry James 63e3895
 	       (run-hooks 'id-select-thing-hook)
Jerry James 63e3895
 	       t))))
Jerry James 63e3895
@@ -425,7 +494,9 @@ does not have a `>' terminator character
Jerry James 63e3895
 	    ((null tag)
Jerry James 63e3895
 	     (error "(id-select-goto-matching-tag): No <tag> following point"))
Jerry James 63e3895
 	    ((null result)
Jerry James 63e3895
-	     (if (interactive-p)
Jerry James 63e3895
+	     (if (if (featurep 'xemacs)
Jerry James 63e3895
+		     (interactive-p)
Jerry James 63e3895
+		   (called-interactively-p 'interactive))
Jerry James 63e3895
 		 (progn
Jerry James 63e3895
 		   (beep)
Jerry James 63e3895
 		   (message "(id-select-goto-matching-tag): No matching tag for %s>"
Jerry James 63e3895
@@ -456,7 +527,8 @@ does not have a `>' terminator character
Jerry James 63e3895
   "Return the (start . end) of a syntactically defined region based upon the last region selected or on position POS.
Jerry James 63e3895
 The character at POS is selected if no other thing is matched."
Jerry James 63e3895
   (interactive)
Jerry James 63e3895
-  (setq zmacs-region-stays t)
Jerry James 63e3895
+  (if (featurep 'xemacs)
Jerry James 63e3895
+      (setq zmacs-region-stays t))
Jerry James 63e3895
   (setcar id-select-old-region (car id-select-region))
Jerry James 63e3895
   (setcdr id-select-old-region (cdr id-select-region))
Jerry James 63e3895
   (let ((prior-type id-select-previous))
Jerry James 63e3895
@@ -477,7 +549,7 @@ The character at POS is selected if no o
Jerry James 63e3895
      (t (let ((min-region (1+ (- (point-max) (point-min))))
Jerry James 63e3895
 	      (result)
Jerry James 63e3895
 	      region region-size)
Jerry James 63e3895
-	  (mapcar
Jerry James 63e3895
+	  (mapc
Jerry James 63e3895
 	   (function
Jerry James 63e3895
 	    (lambda (sym-func)
Jerry James 63e3895
 	      (setq region
Jerry James 63e3895
@@ -1209,71 +1281,5 @@ list, id-select-markup-modes."
Jerry James 63e3895
   (setq id-select-previous 'buffer)
Jerry James 63e3895
   (id-select-set-region (point-min) (point-max)))
Jerry James 63e3895
 
Jerry James 63e3895
-;;; ************************************************************************
Jerry James 63e3895
-;;; Private variables
Jerry James 63e3895
-;;; ************************************************************************
Jerry James 63e3895
-
Jerry James 63e3895
-(defvar id-select-bigger-alist
Jerry James 63e3895
-  '((char nil)
Jerry James 63e3895
-    (whitespace id-select-whitespace)
Jerry James 63e3895
-    (word id-select-word)
Jerry James 63e3895
-    (symbol id-select-symbol)
Jerry James 63e3895
-    (punctuation nil)
Jerry James 63e3895
-    (string id-select-string)
Jerry James 63e3895
-    (text nil)
Jerry James 63e3895
-    (comment id-select-comment)
Jerry James 63e3895
-    (markup-pair nil)
Jerry James 63e3895
-    (preprocessor-def nil)
Jerry James 63e3895
-    (sexp id-select-sexp)
Jerry James 63e3895
-    (sexp-start nil)
Jerry James 63e3895
-    (sexp-end nil)
Jerry James 63e3895
-    (sexp-up id-select-sexp-up)
Jerry James 63e3895
-    (line id-select-line)
Jerry James 63e3895
-    (sentence id-select-sentence)
Jerry James 63e3895
-    (brace-def-or-declaration id-select-brace-def-or-declaration)
Jerry James 63e3895
-    (indent-def id-select-indent-def)
Jerry James 63e3895
-    (paragraph id-select-paragraph)
Jerry James 63e3895
-    (page id-select-page)
Jerry James 63e3895
-    (buffer id-select-buffer)
Jerry James 63e3895
-    )
Jerry James 63e3895
-  "List of (REGION-TYPE-SYMBOL REGION-SELECTION-FUNCTION) pairs.
Jerry James 63e3895
-Used to go from one thing to a bigger thing.  See id-select-bigger-thing.
Jerry James 63e3895
-Nil value for REGION-SELECTION-FUNCTION means that region type is skipped
Jerry James 63e3895
-over when trying to grow the region and is only used when a selection is made
Jerry James 63e3895
-with point on a character that triggers that type of selection.  Ordering of
Jerry James 63e3895
-entries is largely irrelevant to any code that uses this list.")
Jerry James 63e3895
-
Jerry James 63e3895
-
Jerry James 63e3895
-(defvar id-select-prior-buffer nil)
Jerry James 63e3895
-(defvar id-select-prior-point nil)
Jerry James 63e3895
-
Jerry James 63e3895
-(defvar id-select-previous 'char
Jerry James 63e3895
-  "Most recent type of selection.  Must be set by all id-select functions.")
Jerry James 63e3895
-
Jerry James 63e3895
-(defvar id-select-region (cons 'nil 'nil)
Jerry James 63e3895
-  "Cons cell that contains a region (<beginning> . <end>).
Jerry James 63e3895
-The function `id-select-set-region' updates and returns it.")
Jerry James 63e3895
-
Jerry James 63e3895
-(defvar id-select-old-region (cons 'nil 'nil)
Jerry James 63e3895
-  "Cons cell that contains a region (<beginning> . <end>).")
Jerry James 63e3895
-
Jerry James 63e3895
-(defcustom id-select-syntax-alist
Jerry James 63e3895
-  '((?w  id-select-word)
Jerry James 63e3895
-    (?_  id-select-symbol)
Jerry James 63e3895
-    (?\" id-select-string)
Jerry James 63e3895
-    (?\( id-select-sexp-start)
Jerry James 63e3895
-    (?\$ id-select-sexp-start)
Jerry James 63e3895
-    (?'  id-select-sexp-start)
Jerry James 63e3895
-    (?\) id-select-sexp-end)
Jerry James 63e3895
-    (?   id-select-whitespace)
Jerry James 63e3895
-    (?<  id-select-comment)
Jerry James 63e3895
-    (?.  id-select-punctuation))
Jerry James 63e3895
-  "*List of pairs of the form (SYNTAX-CHAR FUNCTION) used by the function `id-select-syntactical-region'.
Jerry James 63e3895
-Each FUNCTION takes a single position argument and returns a region
Jerry James 63e3895
-(start . end) delineating the boundaries of the thing at that position.
Jerry James 63e3895
-Ordering of entries is largely irrelevant to any code that uses this list."
Jerry James 63e3895
-  :type '(repeat (list (sexp :tag "Syntax-Char" function)))
Jerry James 63e3895
-  :group 'id-select)
Jerry James 63e3895
-
Jerry James 63e3895
 
Jerry James 63e3895
 (provide 'id-select)
9d2a41f
--- bmacs/ude/plugin.el.orig	2018-02-04 23:59:28.000000000 -0700
9d2a41f
+++ bmacs/ude/plugin.el	2018-06-17 15:32:42.051634485 -0600
Jerry James 63e3895
@@ -371,14 +371,16 @@ process structure hosting the plugin.
Jerry James 63e3895
 			       (select-frame frame)
Jerry James 63e3895
 			       (select-window win)
Jerry James 63e3895
 			       (set-buffer buffer)
Jerry James 63e3895
-			       (goto-line line)
Jerry James 63e3895
+			       (goto-char (point-min))
Jerry James 63e3895
+			       (forward-line (1- line))
Jerry James 63e3895
 			       (recenter)
Jerry James 63e3895
 			       t)
Jerry James 63e3895
 			   nil))
Jerry James 63e3895
 		     nil))
Jerry James 63e3895
 	      (let ((pop-up-frames t))
Jerry James 63e3895
 		(pop-to-buffer buffer)
Jerry James 63e3895
-		(goto-line line)
Jerry James 63e3895
+		(goto-char (point-min))
Jerry James 63e3895
+		(forward-line (1- line))
Jerry James 63e3895
 		(recenter))))))
Jerry James 63e3895
      ((and (consp command) (memq (car command) '(HELP help)))
Jerry James 63e3895
       (let ((prgm (let ((p (cadr command)))
9d2a41f
--- bmacs/ude/ude-about.el.orig	2018-02-04 23:59:28.000000000 -0700
9d2a41f
+++ bmacs/ude/ude-about.el	2018-06-17 15:32:42.051634485 -0600
Jerry James 63e3895
@@ -27,8 +27,7 @@
Jerry James 63e3895
   (if (featurep 'xemacs)
Jerry James 63e3895
       (let ((window-min-height 1)
Jerry James 63e3895
 	    (window-min-width 1))
Jerry James 63e3895
-	(save-excursion
Jerry James 63e3895
-	  (set-buffer (generate-new-buffer "*junk-frame-buffer*"))
Jerry James 63e3895
+	(with-current-buffer (generate-new-buffer "*junk-frame-buffer*")
Jerry James 63e3895
 	  (prog1
Jerry James 63e3895
 	      (make-frame '(minibuffer t initially-unmapped t width 1 height 1))
Jerry James 63e3895
 	    (rename-buffer " *junk-frame-buffer*" t))))))
Jerry James 63e3895
@@ -37,15 +36,14 @@
Jerry James 63e3895
 ;*    ude-about-make-frame ...                                         */
Jerry James 63e3895
 ;*---------------------------------------------------------------------*/
Jerry James 63e3895
 (defun ude-about-make-frame (x y msg xpm)
Jerry James 63e3895
-  (save-excursion
Jerry James 63e3895
-    (let ((window-min-height 100)
Jerry James 63e3895
-	  (window-min-width 100)
Jerry James 63e3895
-	  (bg-color (or (x-get-global-resource "backgroundToolBarColor"
Jerry James 63e3895
-					       "BackgroundToolBarColor")
Jerry James 63e3895
-			"grey75"))
Jerry James 63e3895
-	  (buffer (get-buffer-create " *ude-about-buffer*"))
Jerry James 63e3895
-	  (frame nil))
Jerry James 63e3895
-      (set-buffer buffer)
Jerry James 63e3895
+  (let ((window-min-height 100)
Jerry James 63e3895
+	(window-min-width 100)
Jerry James 63e3895
+	(bg-color (or (x-get-global-resource "backgroundToolBarColor"
Jerry James 63e3895
+					     "BackgroundToolBarColor")
Jerry James 63e3895
+		      "grey75"))
Jerry James 63e3895
+	(buffer (get-buffer-create " *ude-about-buffer*"))
Jerry James 63e3895
+	(frame nil))
Jerry James 63e3895
+    (with-current-buffer buffer
Jerry James 63e3895
       (ude-about-insert-xpm (current-buffer) xpm)
Jerry James 63e3895
       (insert "\n")
Jerry James 63e3895
       (insert msg)
9d2a41f
--- bmacs/ude/ude-autoload.el.orig	2018-02-04 23:59:28.000000000 -0700
9d2a41f
+++ bmacs/ude/ude-autoload.el	2018-06-17 15:32:42.052634482 -0600
Jerry James 63e3895
@@ -17,6 +17,7 @@
Jerry James 63e3895
 (autoload 'ude-customize "ude-custom" "Ude customization." t)
Jerry James 63e3895
 ;; config
Jerry James 63e3895
 (autoload 'bmacs-docdir "bmacs-config" "Bmacs configuration." t)
Jerry James 63e3895
+(autoload 'bmacs-lispdir "bmacs-config" "Bmacs configuration." t)
Jerry James 63e3895
 ;; parent
Jerry James 63e3895
 (autoload 'ude-paren-init "ude-paren" "Ude paren initialization." t)
Jerry James 63e3895
 ;; root
Jerry James 63e3895
@@ -124,7 +125,7 @@
Jerry James 63e3895
 (autoload 'ude-checkin-project "ude-version" "Version manager." t)
Jerry James 63e3895
 (autoload 'ude-tar-gz-project "ude-version" "Version manager." t)
Jerry James 63e3895
 ;; ude-balloon
Jerry James 63e3895
-(autoload 'ude-add-ballon-action "ude-balloon" "Bdb balloon system." t)
Jerry James 63e3895
+(autoload 'ude-add-balloon-action "ude-balloon" "Bdb balloon system." t)
Jerry James 63e3895
 (autoload 'ude-balloon-start "ude-balloon" "Bdb balloon system." t)
Jerry James 63e3895
 (autoload 'ude-balloon-stop "ude-balloon" "Bdb balloon system." t)
Jerry James 63e3895
 (autoload 'ude-balloon-get-buffer "ude-balloon" "Bdb balloon system." t)
9d2a41f
--- bmacs/ude/ude-compile.el.orig	2018-02-04 23:59:28.000000000 -0700
9d2a41f
+++ bmacs/ude/ude-compile.el	2018-06-17 15:32:42.052634482 -0600
d29f134
@@ -344,8 +344,7 @@ Executed hooks are removed from that lis
Jerry James 63e3895
    (ude-pop-compilation-frame-on-error
Jerry James 63e3895
     ;; we have to pop up a frame
Jerry James 63e3895
     (let* ((pop-up-frames t)
Jerry James 63e3895
-	   (height (save-excursion
Jerry James 63e3895
-		     (set-buffer buffer)
Jerry James 63e3895
+	   (height (with-current-buffer buffer
Jerry James 63e3895
 		     (+ 2 (count-lines (point-min) (point-max)))))
Jerry James 63e3895
 	   (cur-height (frame-height (selected-frame)))
Jerry James 63e3895
 	   (err-height (if (> height cur-height) cur-height height))
9d2a41f
--- bmacs/ude/ude-docline.el.orig	2018-02-04 23:59:28.000000000 -0700
9d2a41f
+++ bmacs/ude/ude-docline.el	2018-06-17 15:32:42.052634482 -0600
Jerry James 63e3895
@@ -106,13 +106,10 @@
Jerry James 63e3895
 	  (ude-error "Can't find documentation for `%S'" var)
Jerry James 63e3895
 	(progn
Jerry James 63e3895
 	  (if ude-info-fontify
Jerry James 63e3895
-	      (let* ((cbuf (current-buffer))
Jerry James 63e3895
-		     (ibuf (get-buffer "*info*")))
Jerry James 63e3895
+	      (let ((ibuf (get-buffer "*info*")))
Jerry James 63e3895
 		(if (bufferp ibuf)
Jerry James 63e3895
-		    (progn
Jerry James 63e3895
-		      (set-buffer ibuf)
Jerry James 63e3895
-		      (font-lock-fontify-buffer)
Jerry James 63e3895
-		      (set-buffer cbuf)))))
Jerry James 63e3895
+		    (with-current-buffer ibuf
Jerry James 63e3895
+		      (font-lock-fontify-buffer)))))
Jerry James 63e3895
 	  (ude-pop-to-info))))))
Jerry James 63e3895
 
Jerry James 63e3895
 ;*---------------------------------------------------------------------*/
Jerry James 63e3895
@@ -140,13 +137,10 @@ This command is designed to be used whet
Jerry James 63e3895
 	(ude-error (format "Can't find section `%S'" section))
Jerry James 63e3895
       (progn
Jerry James 63e3895
 	(if ude-info-fontify
Jerry James 63e3895
-	    (let* ((cbuf (current-buffer))
Jerry James 63e3895
-		   (ibuf (get-buffer "*info*")))
Jerry James 63e3895
+	    (let ((ibuf (get-buffer "*info*")))
Jerry James 63e3895
 	      (if (bufferp ibuf)
Jerry James 63e3895
-		  (progn
Jerry James 63e3895
-		    (set-buffer ibuf)
Jerry James 63e3895
-		    (font-lock-fontify-buffer)
Jerry James 63e3895
-		    (set-buffer cbuf)))))
Jerry James 63e3895
+		  (with-current-buffer ibuf
Jerry James 63e3895
+		    (font-lock-fontify-buffer)))))
Jerry James 63e3895
 	(ude-pop-to-info)))))
Jerry James 63e3895
 
Jerry James 63e3895
 ;*---------------------------------------------------------------------*/
Jerry James 63e3895
@@ -237,8 +231,7 @@ This command is designed to be used whet
Jerry James 63e3895
 ;*---------------------------------------------------------------------*/
Jerry James 63e3895
 (defun ude-fontify-doc-source (buffer)
Jerry James 63e3895
   (interactive "Bbuffer: ")
Jerry James 63e3895
-  (save-excursion
Jerry James 63e3895
-    (set-buffer buffer)
Jerry James 63e3895
+  (with-current-buffer buffer
Jerry James 63e3895
     (goto-char (point-min))
Jerry James 63e3895
     (let* ((path-regexp   "@path[ \t]+\\([^@]+\\)@")
Jerry James 63e3895
 	   (anchor-regexp "@ref[ \t]+\\([^@:]+\\):\\([^@]+\\)@")
9d2a41f
--- bmacs/ude/ude-icon.el.orig	2018-02-04 23:59:28.000000000 -0700
9d2a41f
+++ bmacs/ude/ude-icon.el	2018-06-17 15:32:42.052634482 -0600
Jerry James 63e3895
@@ -19,6 +19,7 @@
Jerry James 63e3895
 (require 'ude-custom)
Jerry James 63e3895
 
Jerry James 63e3895
 ;;; add to emacs image-load-path the directory containing the toolbar icons
Jerry James 63e3895
+(defvar image-load-path nil)
Jerry James 63e3895
 (add-to-list 'image-load-path (concat bmacs-lispdir 
Jerry James 63e3895
 				      "/" 
Jerry James 63e3895
 				      ude-toolbar-image-directory))
9d2a41f
--- bmacs/ude/ude-ident.el.orig	2018-02-04 23:59:28.000000000 -0700
9d2a41f
+++ bmacs/ude/ude-ident.el	2018-06-17 15:32:42.052634482 -0600
Jerry James 63e3895
@@ -36,8 +36,8 @@
Jerry James 63e3895
   (save-excursion
Jerry James 63e3895
     (goto-char pos)
Jerry James 63e3895
     ;; we start skipping left until we found a separator
Jerry James 63e3895
-    (let* ((min (save-excursion (beginning-of-line) (point)))
Jerry James 63e3895
-	   (max (save-excursion (end-of-line) (point))))
Jerry James 63e3895
+    (let* ((min (point-at-bol))
Jerry James 63e3895
+	   (max (point-at-eol)))
Jerry James 63e3895
       (if (looking-at (ude-ident-regexp))
Jerry James 63e3895
 	  ;; we could be located on a identifier we go left until we found
Jerry James 63e3895
 	  ;; a non identifier character
Jerry James 63e3895
@@ -215,13 +215,11 @@
Jerry James 63e3895
 ;*---------------------------------------------------------------------*/
Jerry James 63e3895
 (defun ude-tags-balloon-remove (event)
Jerry James 63e3895
   (interactive "e")
Jerry James 63e3895
-  (let* ((point   (event-closest-point event))
Jerry James 63e3895
-	 (buffer  (event-buffer event))
Jerry James 63e3895
-	 (current (current-buffer)))
Jerry James 63e3895
-    (set-buffer buffer)
Jerry James 63e3895
-    ;; we store the disabled position
Jerry James 63e3895
-    (setq ude-tags-disabled (cons buffer point))
Jerry James 63e3895
-    (set-buffer current)
Jerry James 63e3895
+  (let ((point   (event-closest-point event))
Jerry James 63e3895
+	(buffer  (event-buffer event)))
Jerry James 63e3895
+    (with-current-buffer buffer
Jerry James 63e3895
+      ;; we store the disabled position
Jerry James 63e3895
+      (setq ude-tags-disabled (cons buffer point)))
Jerry James 63e3895
     (ude-tags-balloon-delete)))
Jerry James 63e3895
 
Jerry James 63e3895
 ;*---------------------------------------------------------------------*/
Jerry James 63e3895
@@ -262,16 +260,14 @@
Jerry James 63e3895
 (defun ude-tags-balloon-delete (&optional frame)
Jerry James 63e3895
   (if (consp ude-tags-balloon-region)
Jerry James 63e3895
       (let ((buffer (car ude-tags-balloon-region))
Jerry James 63e3895
-	    (region (cdr ude-tags-balloon-region))
Jerry James 63e3895
-	    (cbuf (current-buffer)))
Jerry James 63e3895
-	(set-buffer buffer)
Jerry James 63e3895
-	(let ((mod (buffer-modified-p))
Jerry James 63e3895
-	      (l '(help-echo ude-balloon-ident mouse-face keymap)))
Jerry James 63e3895
-	  (while (consp l)
Jerry James 63e3895
-	    (remove-text-property (car region) (cdr region) (car l))
Jerry James 63e3895
-	    (setq l (cdr l)))
Jerry James 63e3895
-	  (set-buffer-modified-p mod))
Jerry James 63e3895
-	(set-buffer cbuf)
Jerry James 63e3895
+	    (region (cdr ude-tags-balloon-region)))
Jerry James 63e3895
+	(with-current-buffer buffer
Jerry James 63e3895
+	  (let ((mod (buffer-modified-p))
Jerry James 63e3895
+		(l '(help-echo ude-balloon-ident mouse-face keymap)))
Jerry James 63e3895
+	    (while (consp l)
Jerry James 63e3895
+	      (remove-text-property (car region) (cdr region) (car l))
Jerry James 63e3895
+	      (setq l (cdr l)))
Jerry James 63e3895
+	    (set-buffer-modified-p mod)))
Jerry James 63e3895
 	(setq ude-tags-balloon-region nil))))
Jerry James 63e3895
 
Jerry James 63e3895
 ;*---------------------------------------------------------------------*/
9d2a41f
--- bmacs/ude/ude-makefile.el.orig	2018-02-04 23:59:28.000000000 -0700
9d2a41f
+++ bmacs/ude/ude-makefile.el	2018-06-17 15:32:42.052634482 -0600
Jerry James 63e3895
@@ -209,14 +209,12 @@
Jerry James 63e3895
   (interactive)
Jerry James 63e3895
   (let ((default-directory ude-root-directory))
Jerry James 63e3895
     (if (and (stringp ude-makefile) (file-exists-p ude-makefile))
Jerry James 63e3895
-	(let ((buffer (current-buffer)))
Jerry James 63e3895
+	(progn
Jerry James 63e3895
 	  (message "Switching to high debugging mode...")
Jerry James 63e3895
 	  (setq ude-compile-mode 'debug)
Jerry James 63e3895
 	  (if (bufferp ude-last-compile-buffer)
Jerry James 63e3895
-	      (progn
Jerry James 63e3895
-		(set-buffer ude-last-compile-buffer)
Jerry James 63e3895
-		(ude-set-compilation-modeline)
Jerry James 63e3895
-		(set-buffer buffer)))
Jerry James 63e3895
+	      (with-current-buffer ude-last-compile-buffer
Jerry James 63e3895
+		(ude-set-compilation-modeline)))
Jerry James 63e3895
 	  (let* ((cmd (format "%s -o %s -debug"
Jerry James 63e3895
 			      ude-makemake
Jerry James 63e3895
 			      ude-makefile))
Jerry James 63e3895
@@ -234,14 +232,12 @@
Jerry James 63e3895
   (interactive)
Jerry James 63e3895
   (let ((default-directory ude-root-directory))
Jerry James 63e3895
     (if (and (stringp ude-makefile) (file-exists-p ude-makefile))
Jerry James 63e3895
-	(let ((buffer (current-buffer)))
Jerry James 63e3895
+	(progn
Jerry James 63e3895
 	  (message "Switching to development mode...")
Jerry James 63e3895
 	  (setq ude-compile-mode 'devel)
Jerry James 63e3895
 	  (if (bufferp ude-last-compile-buffer)
Jerry James 63e3895
-	      (progn
Jerry James 63e3895
-		(set-buffer ude-last-compile-buffer)
Jerry James 63e3895
-		(ude-set-compilation-modeline)
Jerry James 63e3895
-		(set-buffer buffer)))
Jerry James 63e3895
+	      (with-current-buffer ude-last-compile-buffer
Jerry James 63e3895
+		(ude-set-compilation-modeline)))
Jerry James 63e3895
 	  (let* ((cmd (format "%s -o %s -devel"
Jerry James 63e3895
 			      ude-makemake
Jerry James 63e3895
 			      ude-makefile))
Jerry James 63e3895
@@ -259,14 +255,12 @@
Jerry James 63e3895
   (interactive)
Jerry James 63e3895
   (let ((default-directory ude-root-directory))
Jerry James 63e3895
     (if (and (stringp ude-makefile) (file-exists-p ude-makefile))
Jerry James 63e3895
-	(let ((buffer (current-buffer)))
Jerry James 63e3895
+	(progn
Jerry James 63e3895
 	  (message "Switching to final mode...")
Jerry James 63e3895
 	  (setq ude-compile-mode 'final)
Jerry James 63e3895
 	  (if (bufferp ude-last-compile-buffer)
Jerry James 63e3895
-	      (progn
Jerry James 63e3895
-		(set-buffer ude-last-compile-buffer)
Jerry James 63e3895
-		(ude-set-compilation-modeline)
Jerry James 63e3895
-		(set-buffer buffer)))
Jerry James 63e3895
+	      (with-current-buffer ude-last-compile-buffer
Jerry James 63e3895
+		(ude-set-compilation-modeline)))
Jerry James 63e3895
 	  (let* ((cmd (format "%s -o %s -final"
Jerry James 63e3895
 			      ude-makemake
Jerry James 63e3895
 			      ude-makefile))
Jerry James 63e3895
@@ -284,13 +278,11 @@
Jerry James 63e3895
   (interactive "SProject name: ")
Jerry James 63e3895
   (let ((default-directory ude-root-directory))
Jerry James 63e3895
     (if (and (stringp ude-makefile) (file-exists-p ude-makefile))
Jerry James 63e3895
-	(let ((buffer (current-buffer)))
Jerry James 63e3895
+	(progn
Jerry James 63e3895
 	  (message (format "Setting project name to %S..." arg))
Jerry James 63e3895
 	  (if (bufferp ude-last-compile-buffer)
Jerry James 63e3895
-	      (progn
Jerry James 63e3895
-		(set-buffer ude-last-compile-buffer)
Jerry James 63e3895
-		(ude-set-compilation-modeline)
Jerry James 63e3895
-		(set-buffer buffer)))
Jerry James 63e3895
+	      (with-current-buffer ude-last-compile-buffer
Jerry James 63e3895
+		(ude-set-compilation-modeline)))
Jerry James 63e3895
 	  (let* ((cmd (format "%s -o %s -project %s"
Jerry James 63e3895
 			      ude-makemake
Jerry James 63e3895
 			      ude-makefile
9d2a41f
--- bmacs/ude/ude-repl.el.orig	2018-02-04 23:59:28.000000000 -0700
9d2a41f
+++ bmacs/ude/ude-repl.el	2018-06-17 15:32:42.053634480 -0600
Jerry James 63e3895
@@ -43,8 +43,7 @@
Jerry James 63e3895
 			'ude-repl-sentinel)
Jerry James 63e3895
   (set-process-filter ude-repl-comint-process
Jerry James 63e3895
 		      (function ude-repl-output-from-process))
Jerry James 63e3895
-  (save-excursion
Jerry James 63e3895
-    (set-buffer ude-repl-buffer)
Jerry James 63e3895
+  (with-current-buffer ude-repl-buffer
Jerry James 63e3895
     (setq comint-prompt-regexp ude-repl-prompt-regexp)
Jerry James 63e3895
     (setq comint-scroll-show-maximum-output 0.4)
Jerry James 63e3895
     (setq comint-scroll-to-bottom-on-output t)
9d2a41f
--- bmacs/xemacs-etags.el.orig	2018-02-04 23:59:28.000000000 -0700
9d2a41f
+++ bmacs/xemacs-etags.el	2018-06-17 15:32:42.053634480 -0600
Jerry James 63e3895
@@ -236,8 +236,7 @@ file the tag was in."
Jerry James 63e3895
 		     ;; it is initialized as a tag table buffer.
Jerry James 63e3895
 		     (save-excursion
Jerry James 63e3895
 		       (tags-verify-table (buffer-file-name table-buffer))))
Jerry James 63e3895
-		(save-excursion
Jerry James 63e3895
-		  (set-buffer table-buffer)
Jerry James 63e3895
+		(with-current-buffer table-buffer
Jerry James 63e3895
 		  (if (tags-included-tables)
Jerry James 63e3895
 		      ;; Insert the included tables into the list we
Jerry James 63e3895
 		      ;; are processing.
Jerry James 63e3895
@@ -276,8 +275,7 @@ file the tag was in."
Jerry James 63e3895
 	      (setq computed (cons (car tables) computed)
Jerry James 63e3895
 		    table-buffer (get-file-buffer (car tables)))
Jerry James 63e3895
 	      (if table-buffer
Jerry James 63e3895
-		  (save-excursion
Jerry James 63e3895
-		    (set-buffer table-buffer)
Jerry James 63e3895
+		  (with-current-buffer table-buffer
Jerry James 63e3895
 		    (if (tags-included-tables)
Jerry James 63e3895
 			;; Insert the included tables into the list we
Jerry James 63e3895
 			;; are processing.
Jerry James 63e3895
@@ -663,12 +661,8 @@ Assumes the tags table is the current bu
Jerry James 63e3895
   (save-excursion
Jerry James 63e3895
     (while (looking-at "\\sw\\|\\s_")
Jerry James 63e3895
       (forward-char 1))
Jerry James 63e3895
-    (if (or (re-search-backward "\\sw\\|\\s_"
Jerry James 63e3895
-				(save-excursion (beginning-of-line) (point))
Jerry James 63e3895
-				t)
Jerry James 63e3895
-	    (re-search-forward "\\(\\sw\\|\\s_\\)+"
Jerry James 63e3895
-			       (save-excursion (end-of-line) (point))
Jerry James 63e3895
-			       t))
Jerry James 63e3895
+    (if (or (re-search-backward "\\sw\\|\\s_" (point-at-bol) t)
Jerry James 63e3895
+	    (re-search-forward "\\(\\sw\\|\\s_\\)+" (point-at-eol) t))
Jerry James 63e3895
 	(progn (goto-char (match-end 0))
Jerry James 63e3895
 	       (buffer-substring (point)
Jerry James 63e3895
 				 (progn (forward-sexp -1)
Jerry James 63e3895
@@ -752,22 +746,21 @@ See documentation of variable `tags-file
Jerry James 63e3895
 	(setq last-tag tagname))
Jerry James 63e3895
       ;; Record the location so we can pop back to it later.
Jerry James 63e3895
       (let ((marker (make-marker)))
Jerry James 63e3895
-	(save-excursion
Jerry James 63e3895
-	  (set-buffer
Jerry James 63e3895
-	   ;; find-tag-in-order does the real work.
Jerry James 63e3895
-	   (find-tag-in-order
Jerry James 63e3895
-	    (if next-p last-tag tagname)
Jerry James 63e3895
-	    (if regexp-p
Jerry James 63e3895
-		find-tag-regexp-search-function
Jerry James 63e3895
-	      find-tag-search-function)
Jerry James 63e3895
-	    (if regexp-p
Jerry James 63e3895
-		find-tag-regexp-tag-order
Jerry James 63e3895
-	      find-tag-tag-order)
Jerry James 63e3895
-	    (if regexp-p
Jerry James 63e3895
-		find-tag-regexp-next-line-after-failure-p
Jerry James 63e3895
-	      find-tag-next-line-after-failure-p)
Jerry James 63e3895
-	    (if regexp-p "matching" "containing")
Jerry James 63e3895
-	    (not next-p)))
Jerry James 63e3895
+	(with-current-buffer
Jerry James 63e3895
+	 ;; find-tag-in-order does the real work.
Jerry James 63e3895
+	 (find-tag-in-order
Jerry James 63e3895
+	  (if next-p last-tag tagname)
Jerry James 63e3895
+	  (if regexp-p
Jerry James 63e3895
+	      find-tag-regexp-search-function
Jerry James 63e3895
+	    find-tag-search-function)
Jerry James 63e3895
+	  (if regexp-p
Jerry James 63e3895
+	      find-tag-regexp-tag-order
Jerry James 63e3895
+	    find-tag-tag-order)
Jerry James 63e3895
+	  (if regexp-p
Jerry James 63e3895
+	      find-tag-regexp-next-line-after-failure-p
Jerry James 63e3895
+	    find-tag-next-line-after-failure-p)
Jerry James 63e3895
+	  (if regexp-p "matching" "containing")
Jerry James 63e3895
+	  (not next-p))
Jerry James 63e3895
 	  (set-marker marker (point))
Jerry James 63e3895
 	  (run-hooks 'local-find-tag-hook)
Jerry James 63e3895
 	  (setq tags-location-stack
Jerry James 63e3895
@@ -978,9 +971,7 @@ See documentation of variable `tags-file
Jerry James 63e3895
 	      ;; Naive match found.  Qualify the match.
Jerry James 63e3895
 	      (and (funcall (car order) pattern)
Jerry James 63e3895
 		   ;; Make sure it is not a previous qualified match.
Jerry James 63e3895
-		   (not (member (set-marker match-marker (save-excursion
Jerry James 63e3895
-							   (beginning-of-line)
Jerry James 63e3895
-							   (point)))
Jerry James 63e3895
+		   (not (member (set-marker match-marker (point-at-bol))
Jerry James 63e3895
 				tag-lines-already-matched))
Jerry James 63e3895
 		   (throw 'qualified-match-found nil))
Jerry James 63e3895
 	      (if next-line-after-failure-p
Jerry James 63e3895
@@ -1103,9 +1094,7 @@ See documentation of variable `tags-file
Jerry James 63e3895
 
Jerry James 63e3895
       ;; Find the end of the tag and record the whole tag text.
Jerry James 63e3895
       (search-forward "\177")
Jerry James 63e3895
-      (setq tag-text (buffer-substring (1- (point))
Jerry James 63e3895
-				       (save-excursion (beginning-of-line)
Jerry James 63e3895
-						       (point))))
Jerry James 63e3895
+      (setq tag-text (buffer-substring (1- (point)) (point-at-bol)))
Jerry James 63e3895
       ;; Skip explicit tag name if present.
Jerry James 63e3895
       (search-forward "\001" (save-excursion (forward-line 1) (point)) t)
Jerry James 63e3895
       (if (looking-at "[0-9]")
Jerry James 63e3895
@@ -1312,7 +1301,7 @@ See documentation of variable `tags-file
Jerry James 63e3895
   (save-excursion
Jerry James 63e3895
     (beginning-of-line)
Jerry James 63e3895
     (let ((bol (point)))
Jerry James 63e3895
-      (and (search-forward "\177" (save-excursion (end-of-line) (point)) t)
Jerry James 63e3895
+      (and (search-forward "\177" (point-at-eol) t)
Jerry James 63e3895
 	   (re-search-backward re bol t)))))
Jerry James 63e3895
 
Jerry James 63e3895
 ;;;###autoload