[bigloo] Update to 3.8a. Drop upstreamed patches. Add avahi-devel BR for new API.

Jerry James jjames at fedoraproject.org
Fri Mar 23 22:54:24 UTC 2012


commit dd7b829c5d7498c83a30fc97acef28a7c53c3622
Author: Jerry James <loganjerry at gmail.com>
Date:   Fri Mar 23 16:53:29 2012 -0600

    Update to 3.8a.
    Drop upstreamed patches.
    Add avahi-devel BR for new API.

 .gitignore            |    2 +-
 bigloo-emacs.patch    | 1994 ++++++++++++++++++++++++-------------------------
 bigloo-makefile.patch |   11 -
 bigloo-return.patch   |   77 --
 bigloo-sendfile.patch |   57 --
 bigloo.spec           |   36 +-
 sources               |    2 +-
 7 files changed, 1003 insertions(+), 1176 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index e8e0dea..f2b1ac6 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1 @@
-/bigloo3.7a.tar.gz
+/bigloo3.8a.tar.gz
diff --git a/bigloo-emacs.patch b/bigloo-emacs.patch
index ad2098f..fd782e3 100644
--- a/bigloo-emacs.patch
+++ b/bigloo-emacs.patch
@@ -1,6 +1,6 @@
---- ./bmacs/xemacs-etags.el.orig	2011-09-26 01:39:17.000000000 -0600
-+++ ./bmacs/xemacs-etags.el	2011-11-23 10:47:33.422521430 -0700
-@@ -236,8 +236,7 @@
+--- ./bmacs/xemacs-etags.el.orig	2012-03-17 00:14:07.000000000 -0600
++++ ./bmacs/xemacs-etags.el	2012-03-21 15:43:55.311999054 -0600
+@@ -236,8 +236,7 @@ file the tag was in."
  		     ;; it is initialized as a tag table buffer.
  		     (save-excursion
  		       (tags-verify-table (buffer-file-name table-buffer))))
@@ -10,7 +10,7 @@
  		  (if (tags-included-tables)
  		      ;; Insert the included tables into the list we
  		      ;; are processing.
-@@ -276,8 +275,7 @@
+@@ -276,8 +275,7 @@ file the tag was in."
  	      (setq computed (cons (car tables) computed)
  		    table-buffer (get-file-buffer (car tables)))
  	      (if table-buffer
@@ -20,7 +20,7 @@
  		    (if (tags-included-tables)
  			;; Insert the included tables into the list we
  			;; are processing.
-@@ -663,12 +661,8 @@
+@@ -663,12 +661,8 @@ Assumes the tags table is the current bu
    (save-excursion
      (while (looking-at "\\sw\\|\\s_")
        (forward-char 1))
@@ -35,7 +35,7 @@
  	(progn (goto-char (match-end 0))
  	       (buffer-substring (point)
  				 (progn (forward-sexp -1)
-@@ -752,22 +746,21 @@
+@@ -752,22 +746,21 @@ See documentation of variable `tags-file
  	(setq last-tag tagname))
        ;; Record the location so we can pop back to it later.
        (let ((marker (make-marker)))
@@ -73,7 +73,7 @@
  	  (set-marker marker (point))
  	  (run-hooks 'local-find-tag-hook)
  	  (setq tags-location-stack
-@@ -978,9 +971,7 @@
+@@ -978,9 +971,7 @@ See documentation of variable `tags-file
  	      ;; Naive match found.  Qualify the match.
  	      (and (funcall (car order) pattern)
  		   ;; Make sure it is not a previous qualified match.
@@ -84,7 +84,7 @@
  				tag-lines-already-matched))
  		   (throw 'qualified-match-found nil))
  	      (if next-line-after-failure-p
-@@ -1103,9 +1094,7 @@
+@@ -1103,9 +1094,7 @@ See documentation of variable `tags-file
  
        ;; Find the end of the tag and record the whole tag text.
        (search-forward "\177")
@@ -95,7 +95,7 @@
        ;; Skip explicit tag name if present.
        (search-forward "\001" (save-excursion (forward-line 1) (point)) t)
        (if (looking-at "[0-9]")
-@@ -1312,7 +1301,7 @@
+@@ -1312,7 +1301,7 @@ See documentation of variable `tags-file
    (save-excursion
      (beginning-of-line)
      (let ((bol (point)))
@@ -104,518 +104,54 @@
  	   (re-search-backward re bol t)))))
  
  ;;;###autoload
---- ./bmacs/cee/cee-kbdb.el.orig	2011-09-26 01:39:17.000000000 -0600
-+++ ./bmacs/cee/cee-kbdb.el	2011-11-23 10:47:33.421521451 -0700
-@@ -389,7 +389,8 @@
- 		      (select-frame frame)
- 		      (select-window win)
- 		      (set-buffer buf)
--		      (goto-line npos)
-+		      (goto-char (point-min))
-+		      (forward-line (1- npos))
- 		      (beginning-of-line)
- 		      (set-window-point win npos)
- 		      t))))
-@@ -399,7 +400,8 @@
- 	  (if (bufferp buf)
- 	      (progn
- 		(set-buffer buf)
--		(goto-line npos)
-+		(goto-char (point-min))
-+		(forward-line (1- npos))
- 		(beginning-of-line)
- 		t))))
-        (t
---- ./bmacs/dbg/dbg-display.el.orig	2011-09-26 01:39:17.000000000 -0600
-+++ ./bmacs/dbg/dbg-display.el	2011-11-23 10:47:33.412521641 -0700
-@@ -100,8 +100,7 @@
-   (let ((proc (get-buffer-process dbg-comint-buffer)))
-     (or proc (ude-error "Current buffer has no process"))
-     ;; Arrange for the current prompt to get deleted.
--    (save-excursion
--      (set-buffer dbg-comint-buffer)
-+    (with-current-buffer dbg-comint-buffer
-       (goto-char (process-mark proc))
-       (while (not (looking-at comint-prompt-regexp))
- 	(goto-char (process-mark proc))
-@@ -140,8 +139,7 @@
- ;*    Display a new display in a separate buffer.                      */
- ;*---------------------------------------------------------------------*/
- (defun dbg-display-display (buffer display)
--  (save-excursion
--    (set-buffer buffer)
-+  (with-current-buffer buffer
-     (let ((buffer-read-only nil))
-       (erase-buffer)
-       (insert display)
-@@ -164,12 +162,12 @@
- 					 'mouse-face 'highlight
- 					 'keymap dbg-display-mouse-map)
- 		    (if (< end (point-max))
--			(next-line 1)
-+			(forward-line 1)
- 		      (setq keep nil)))
- 		(progn
- 		  (end-of-line)
- 		  (if (< (point) (point-max))
--		      (next-line 1)
-+		      (forward-line 1)
- 		    (setq keep nil)))))))))))
- 		
- ;*---------------------------------------------------------------------*/
-@@ -248,8 +246,7 @@
- (defun dbg-display-menu (event)
-   (interactive "e")
-   (let (selection)
--    (save-excursion
--      (set-buffer (event-buffer event))
-+    (with-current-buffer (event-buffer event)
-       (save-excursion
- 	(goto-char (event-closest-point event))
- 	(message "point: %S" (point))
---- ./bmacs/dbg/dbg-source.el.orig	2011-09-26 01:39:17.000000000 -0600
-+++ ./bmacs/dbg/dbg-source.el	2011-11-23 10:47:33.413521618 -0700
-@@ -152,11 +152,11 @@
- 		(set-extent-begin-glyph extent dbg-arrow-glyph)
- 		(set-extent-begin-glyph-layout extent 'outside-margin)
- 		(setq dbg-source-line-extent extent)))
--	  (save-excursion
--	    (set-buffer buffer)
-+	  (with-current-buffer buffer
- 	    (save-restriction
- 	      (widen)
--	      (goto-line line)
-+	      (goto-char (point-min))
-+	      (forward-line (1- line))
- 	      (set-window-point window (point))
- 	      (setq pos (progn
- 			  (beginning-of-line)
---- ./bmacs/dbg/dbg-breakpoint.el.orig	2011-09-26 01:39:17.000000000 -0600
-+++ ./bmacs/dbg/dbg-breakpoint.el	2011-11-23 10:47:33.413521618 -0700
-@@ -304,8 +304,7 @@
-   (let ((proc (get-buffer-process dbg-comint-buffer)))
-     (or proc (ude-error "Current buffer has no process"))
-     ;; Arrange for the current prompt to get deleted.
--    (save-excursion
--      (set-buffer dbg-comint-buffer)
-+    (with-current-buffer dbg-comint-buffer
-       (goto-char (process-mark proc))
-       (process-send-string proc dbg-info-break-command)
-       (process-send-string proc "\n"))))
-@@ -323,8 +322,7 @@
- 	  (proc (get-buffer-process dbg-comint-buffer)))
-       (or proc (ude-error "Current buffer has no process"))
-       ;; Arrange for the current prompt to get deleted.
--      (save-excursion
--	(set-buffer dbg-comint-buffer)
-+      (with-current-buffer dbg-comint-buffer
- 	(goto-char (process-mark proc))
- 	(process-send-string proc command)))))
- 
-@@ -533,7 +531,8 @@
- 	    (set-extent-property extent 'mouse-face 'highlight)
- 	    (set-extent-property extent 'dbg-breakpoint bp)
- 	    (set-buffer buffer)
--	    (goto-line line)
-+	    (goto-char (point-min))
-+	    (forward-line (1- line))
- 	    (beginning-of-line)
- 	    (set-extent-endpoints extent (point) (point))
- 	    bp)))))
---- ./bmacs/dbg/dbg-connect.el.orig	2011-09-26 01:39:17.000000000 -0600
-+++ ./bmacs/dbg/dbg-connect.el	2011-11-23 10:47:33.414521596 -0700
-@@ -157,6 +157,6 @@
- ;*    Disconnect all currently connected buffers.                      */
- ;*---------------------------------------------------------------------*/
- (defun dbg-disconnect-all-buffers ()
--  (mapcar 'dbg-disconnect-buffer dbg-connected-buffers)
-+  (mapc 'dbg-disconnect-buffer dbg-connected-buffers)
-   (setq dbg-connected-buffers '()))
-   
---- ./bmacs/dbg/dbg.el.orig	2011-09-26 01:39:17.000000000 -0600
-+++ ./bmacs/dbg/dbg.el	2011-11-23 10:47:33.415521574 -0700
-@@ -80,7 +80,12 @@
- 	  (setq dbg-marker-filter 'dbg-default-marker-filter)
- 	  (make-comint dbgname binary nil dbg-emacs-option a.out)
- 	  ;; the process filter and sentinel
--	  (process-kill-without-query (get-buffer-process dbg-comint-buffer))
-+	  (if (featurep 'xemacs)
-+	      (process-kill-without-query
-+	       (get-buffer-process dbg-comint-buffer))
-+	    (set-process-query-on-exit-flag
-+	     (get-buffer-process dbg-comint-buffer)
-+	     nil))
- 	  (set-process-filter (get-buffer-process dbg-comint-buffer)
- 			      'dbg-filter)
- 	  (set-process-sentinel (get-buffer-process dbg-comint-buffer)
-@@ -203,8 +208,7 @@
- 	(proc (get-buffer-process dbg-comint-buffer)))
-     (or proc (ude-error "Current buffer has no process"))
-     ;; Arrange for the current prompt to get deleted.
--    (save-excursion
--      (set-buffer dbg-comint-buffer)
-+    (with-current-buffer dbg-comint-buffer
-       (goto-char (process-mark proc))
-       (beginning-of-line)
-       (if (looking-at comint-prompt-regexp)
-@@ -226,7 +230,7 @@
- 	(dbg-console-log "dbg-send-input" intxt 'font-lock-type-face)
-       (dbg-console-log "dbg-send-input" 'nil 'font-lock-string-face))
-     (comint-send-input)
--    (mapcar (lambda (hook) (funcall hook intxt)) dbg-send-input-hooks)
-+    (mapc (lambda (hook) (funcall hook intxt)) dbg-send-input-hooks)
-     (redisplay-frame)))
- 
- ;*---------------------------------------------------------------------*/
-@@ -282,8 +286,7 @@
- 	(proc (get-buffer-process dbg-comint-buffer)))
-     (or proc (ude-error "Current buffer has no process"))
-     ;; Arrange for the current prompt to get deleted.
--    (save-excursion
--      (set-buffer dbg-comint-buffer)
-+    (with-current-buffer dbg-comint-buffer
-       (goto-char (process-mark proc))
-       (while (not (looking-at comint-prompt-regexp))
- 	(goto-char (process-mark proc))
-@@ -341,7 +344,7 @@
-   (let ((dbg-mode nil))
-     (setq dbg-mode dbg-mode)
-     (recenter following)
--    (mapcar (lambda (hook) (funcall hook nil)) dbg-send-input-hooks)
-+    (mapc (lambda (hook) (funcall hook nil)) dbg-send-input-hooks)
-     (redisplay-frame)))
- 
- ;*---------------------------------------------------------------------*/
-@@ -360,11 +363,10 @@
- (defun dbg-comint-ready-p ()
-   (if dbg-waiting
-       nil
--    (save-excursion
--      (save-restriction
--	(widen)
--	(progn
--	  (set-buffer dbg-comint-buffer)
-+    (with-current-buffer dbg-comint-buffer
-+      (save-excursion
-+	(save-restriction
-+	  (widen)
- 	  (goto-char (point-max))
- 	  (let ((bound (point)))
- 	    (beginning-of-line)
-@@ -385,40 +387,39 @@
- (defun dbg-wait-for-comint (from timeout)
-   (if (not dbg-comint-buffer)
-       (ude-error "No debugger running")
--    (save-excursion
--      (save-restriction
--	(widen)
--	(let ((count 0)
--	      (str   "/-\\|"))
--	  (setq str str)
--	  (set-buffer dbg-comint-buffer)
--	  ;; we mark dbg waiting
--	  (setq dbg-waiting t)
--	  (accept-process-output)
--	  (while (progn
--		   (goto-char (point-max))
--		   (let ((bound (point)))
--		     (beginning-of-line)
--		     (and (not (re-search-forward (concat
--						   comint-prompt-regexp
--						   "[ \t\n]*")
--						  bound t))
--			  (or (not (numberp timeout))
--			      (< count timeout)))))
--	    (setq count (+ 1 count))
--	    '(display-message 'no-log
--	      (format "waiting for `%s' [%c] (timeout %d/%S)"
--		      from
--		      (aref str (% count 4))
--		      count
--		      timeout))
--	    (sit-for 0.1)
--	    (redisplay-frame (selected-frame) t)
--	    (set-buffer dbg-comint-buffer))
--	  ;; we remove the last wait message
--	  (display-message 'no-log " ")
--	  ;; dbg is now ready
--	  (setq dbg-waiting nil))))))
-+    (with-current-buffer dbg-comint-buffer
-+      (save-excursion
-+	(save-restriction
-+	  (widen)
-+	  (let ((count 0)
-+		(str   "/-\\|"))
-+	    ;; we mark dbg waiting
-+	    (setq dbg-waiting t)
-+	    (accept-process-output)
-+	    (while (progn
-+		     (goto-char (point-max))
-+		     (let ((bound (point)))
-+		       (beginning-of-line)
-+		       (and (not (re-search-forward (concat
-+						     comint-prompt-regexp
-+						     "[ \t\n]*")
-+						    bound t))
-+			    (or (not (numberp timeout))
-+				(< count timeout)))))
-+	      (setq count (+ 1 count))
-+	      '(display-message 'no-log
-+		(format "waiting for `%s' [%c] (timeout %d/%S)"
-+			from
-+			(aref str (% count 4))
-+			count
-+			timeout))
-+	      (sit-for 0.1)
-+	      (redisplay-frame (selected-frame) t)
-+	      (set-buffer dbg-comint-buffer))
-+	    ;; we remove the last wait message
-+	    (display-message 'no-log " ")
-+	    ;; dbg is now ready
-+	    (setq dbg-waiting nil)))))))
- 
- ;*---------------------------------------------------------------------*/
- ;*    dbg-clear-window ...                                             */
-@@ -449,8 +450,7 @@
- ;*    This function returns the point line number.                     */
- ;*---------------------------------------------------------------------*/
- (defun dbg-line-number (buffer pos)
--  (save-restriction
--    (set-buffer buffer)
-+  (with-current-buffer buffer
-     (let (start)
-       (save-excursion
- 	(save-restriction
---- ./bmacs/dbg/dbg-stack.el.orig	2011-09-26 01:39:17.000000000 -0600
-+++ ./bmacs/dbg/dbg-stack.el	2011-11-23 10:47:33.411521663 -0700
-@@ -110,8 +110,7 @@
- 	(proc (get-buffer-process dbg-comint-buffer)))
-     (or proc (ude-error "Current buffer has no process"))
-     ;; Arrange for the current prompt to get deleted.
--    (save-excursion
--      (set-buffer dbg-comint-buffer)
-+    (with-current-buffer dbg-comint-buffer
-       (goto-char (process-mark proc))
-       (while (not (looking-at comint-prompt-regexp))
- 	(goto-char (process-mark proc))
-@@ -149,8 +148,7 @@
- ;*    Display a new stack in a separate buffer.                        */
- ;*---------------------------------------------------------------------*/
- (defun dbg-display-stack (buffer stack)
--  (save-excursion
--    (set-buffer buffer)
-+  (with-current-buffer buffer
-     (let ((buffer-read-only nil))
-       (erase-buffer)
-       (insert stack)
-@@ -173,12 +171,12 @@
- 					 'mouse-face 'highlight
- 					 'keymap dbg-stack-mouse-map)
- 		    (if (< end (point-max))
--			(next-line 1)
-+			(forward-line 1)
- 		      (setq keep nil)))
- 		(progn
- 		  (end-of-line)
- 		  (if (< (point) (point-max))
--		      (next-line 1)
-+		      (forward-line 1)
- 		    (setq keep nil)))))))))))
- 		
- ;*---------------------------------------------------------------------*/
-@@ -276,8 +274,7 @@
- (defun dbg-frames-select-by-mouse (event)
-   (interactive "e")
-   (let (selection)
--    (save-excursion
--      (set-buffer (event-buffer event))
-+    (with-current-buffer (event-buffer event)
-       (save-excursion
- 	(goto-char (event-closest-point event))
- 	(setq selection (dbg-get-frame-number))))
---- ./bmacs/dbg/dbg-filter.el.orig	2011-09-26 01:39:17.000000000 -0600
-+++ ./bmacs/dbg/dbg-filter.el	2011-11-23 10:47:33.415521574 -0700
-@@ -30,10 +30,12 @@
- (defvar dbg-delete-prompt-marker nil)
- 
- (defvar dbg-last-frame nil)
-+(make-variable-buffer-local 'dbg-last-frame)
- 
- (defvar dbg-last-last-frame nil)
- 
- (defvar dbg-marker-acc "")
-+(make-variable-buffer-local 'dbg-marker-acc)
- 
- (defvar dbg-marker-filter nil)
- 
-@@ -309,8 +311,7 @@
- 		(progn
- 		  (setq string (concat dbg-filter-pending-text string))
- 		  (setq dbg-filter-pending-text nil)))
--	    (save-excursion
--	      (set-buffer (process-buffer proc))
-+	    (with-current-buffer (process-buffer proc)
- 	      ;; If we have been so requested, delete the debugger prompt.
- 	      (if (marker-buffer dbg-delete-prompt-marker)
- 		  (progn
-@@ -344,11 +345,8 @@
- 		(dbg-display-frame))
- 	    ;; We have to be in the proper buffer, (process-buffer proc),
- 	    ;; but not in a save-excursion, because that would restore point.
--	    (let ((old-buf (current-buffer)))
--	      (set-buffer (process-buffer proc))
--	      (unwind-protect
--		  (dbg-display-frame)
--		(set-buffer old-buf))))
-+	    (with-current-buffer (process-buffer proc)
-+	      (dbg-display-frame)))
- 	  ;; If we deferred text that arrived during this processing,
- 	  ;; handle it now.
- 	  (if dbg-filter-pending-text
---- ./bmacs/dbg/dbg-args.el.orig	2011-09-26 01:39:17.000000000 -0600
-+++ ./bmacs/dbg/dbg-args.el	2011-11-23 10:47:33.411521663 -0700
-@@ -100,8 +100,7 @@
-   (let ((proc (get-buffer-process dbg-comint-buffer)))
-     (or proc (ude-error "Current buffer has no process"))
-     ;; Arrange for the current prompt to get deleted.
--    (save-excursion
--      (set-buffer dbg-comint-buffer)
-+    (with-current-buffer dbg-comint-buffer
-       (goto-char (process-mark proc))
-       (while (not (looking-at comint-prompt-regexp))
- 	(goto-char (process-mark proc))
-@@ -140,8 +139,7 @@
- ;*    Args a new args in a separate buffer.                            */
- ;*---------------------------------------------------------------------*/
- (defun dbg-args-args (buffer args)
--  (save-excursion
--    (set-buffer buffer)
-+  (with-current-buffer buffer
-     (let ((buffer-read-only nil))
-       (erase-buffer)
-       (insert args)
-@@ -164,12 +162,12 @@
- 					 'mouse-face 'highlight
- 					 'keymap dbg-args-mouse-map)
- 		    (if (< end (point-max))
--			(next-line 1)
-+			(forward-line 1)
- 		      (setq keep nil)))
- 		(progn
- 		  (end-of-line)
- 		  (if (< (point) (point-max))
--		      (next-line 1)
-+		      (forward-line 1)
- 		    (setq keep nil)))))))))))
- 		
- ;*---------------------------------------------------------------------*/
-@@ -243,8 +241,7 @@
- (defun dbg-args-menu (event)
-   (interactive "e")
-   (let (selection)
--    (save-excursion
--      (set-buffer (event-buffer event))
-+    (with-current-buffer (event-buffer event)
-       (save-excursion
- 	(goto-char (event-closest-point event))
- 	(message "point: %S" (point))
---- ./bmacs/dbg/dbg-locals.el.orig	2011-09-26 01:39:17.000000000 -0600
-+++ ./bmacs/dbg/dbg-locals.el	2011-11-23 10:47:33.412521641 -0700
-@@ -100,8 +100,7 @@
-   (let ((proc (get-buffer-process dbg-comint-buffer)))
-     (or proc (ude-error "Current buffer has no process"))
-     ;; Arrange for the current prompt to get deleted.
--    (save-excursion
--      (set-buffer dbg-comint-buffer)
-+    (with-current-buffer dbg-comint-buffer
-       (goto-char (process-mark proc))
-       (while (not (looking-at comint-prompt-regexp))
- 	(goto-char (process-mark proc))
-@@ -140,8 +139,7 @@
- ;*    Locals a new locals in a separate buffer.                        */
- ;*---------------------------------------------------------------------*/
- (defun dbg-locals-locals (buffer locals)
--  (save-excursion
--    (set-buffer buffer)
-+  (with-current-buffer buffer
-     (let ((buffer-read-only nil))
-       (erase-buffer)
-       (insert locals)
-@@ -164,12 +162,12 @@
- 					 'mouse-face 'highlight
- 					 'keymap dbg-locals-mouse-map)
- 		    (if (< end (point-max))
--			(next-line 1)
-+			(forward-line 1)
- 		      (setq keep nil)))
- 		(progn
- 		  (end-of-line)
- 		  (if (< (point) (point-max))
--		      (next-line 1)
-+		      (forward-line 1)
- 		    (setq keep nil)))))))))))
- 		
- ;*---------------------------------------------------------------------*/
-@@ -242,8 +240,7 @@
- (defun dbg-locals-menu (event)
-   (interactive "e")
-   (let (selection)
--    (save-excursion
--      (set-buffer (event-buffer event))
-+    (with-current-buffer (event-buffer event)
-       (save-excursion
- 	(goto-char (event-closest-point event))
- 	(message "point: %S" (point))
---- ./bmacs/dbg/dbg-mode.el.orig	2011-09-26 01:39:17.000000000 -0600
-+++ ./bmacs/dbg/dbg-mode.el	2011-11-23 10:47:33.414521596 -0700
-@@ -98,10 +98,7 @@
-   (make-local-variable 'dbg-delete-prompt-marker)
-   (setq dbg-delete-prompt-marker (make-marker))
-   ;; same for dbg-last-frame
--  (make-variable-buffer-local 'dbg-last-frame)
-   (setq dbg-last-frame nil)
--  ;; and so it is for dbg-marker-acc
--  (make-variable-buffer-local 'dbg-marker-acc)
-   ;; the mouse shape when flying over non text
-   (ude-set-nontext-pointer "left_ptr")
-   ;; we set up kill buffer hook
---- ./bmacs/bmacs-xemacs.el.orig	2011-09-26 01:39:17.000000000 -0600
-+++ ./bmacs/bmacs-xemacs.el	2011-11-23 10:50:06.739320035 -0700
-@@ -177,6 +177,21 @@
-       (delete-window))))
+--- ./bmacs/ude/ude-docline.el.orig	2012-03-17 00:14:07.000000000 -0600
++++ ./bmacs/ude/ude-docline.el	2012-03-21 15:43:58.230998900 -0600
+@@ -106,13 +106,10 @@
+ 	  (ude-error "Can't find documentation for `%S'" var)
+ 	(progn
+ 	  (if ude-info-fontify
+-	      (let* ((cbuf (current-buffer))
+-		     (ibuf (get-buffer "*info*")))
++	      (let ((ibuf (get-buffer "*info*")))
+ 		(if (bufferp ibuf)
+-		    (progn
+-		      (set-buffer ibuf)
+-		      (font-lock-fontify-buffer)
+-		      (set-buffer cbuf)))))
++		    (with-current-buffer ibuf
++		      (font-lock-fontify-buffer)))))
+ 	  (ude-pop-to-info))))))
  
  ;*---------------------------------------------------------------------*/
-+;*    file-installed-p ...                                             */
-+;*---------------------------------------------------------------------*/
-+(defun file-installed-p (file &optional paths)
-+  "Return absolute-path of FILE if FILE exists in PATHS.
-+If PATHS is omitted, `load-path' is used."
-+  (if (null paths) (setq paths load-path))
-+  (catch 'tag
-+    (let (path)
-+      (while paths
-+	(setq path (expand-file-name file (car paths)))
-+	(if (file-exists-p path)
-+	    (throw 'tag path))
-+	(setq paths (cdr paths))))))
-+
-+;*---------------------------------------------------------------------*/
- ;*    frame-parameter ...                                              */
- ;*---------------------------------------------------------------------*/
- (defun frame-parameter (frame key)
-@@ -293,8 +308,8 @@
- ;*---------------------------------------------------------------------*/
- ;*    set-default-toolbar-visible ...                                  */
- ;*---------------------------------------------------------------------*/
--(defun set-default-toolbar-visible (t)
--  (set-specifier default-toolbar-visible-p t (selected-frame)))
-+(defun set-default-toolbar-visible (b)
-+  (set-specifier default-toolbar-visible-p b (selected-frame)))
+@@ -140,13 +137,10 @@ This command is designed to be used whet
+ 	(ude-error (format "Can't find section `%S'" section))
+       (progn
+ 	(if ude-info-fontify
+-	    (let* ((cbuf (current-buffer))
+-		   (ibuf (get-buffer "*info*")))
++	    (let ((ibuf (get-buffer "*info*")))
+ 	      (if (bufferp ibuf)
+-		  (progn
+-		    (set-buffer ibuf)
+-		    (font-lock-fontify-buffer)
+-		    (set-buffer cbuf)))))
++		  (with-current-buffer ibuf
++		    (font-lock-fontify-buffer)))))
+ 	(ude-pop-to-info)))))
  
  ;*---------------------------------------------------------------------*/
- ;*    ude-set-nontext-pointer ...                                      */
---- ./bmacs/ude/ude-makefile.el.orig	2011-09-26 01:39:17.000000000 -0600
-+++ ./bmacs/ude/ude-makefile.el	2011-11-23 10:47:33.420521471 -0700
+@@ -237,8 +231,7 @@ This command is designed to be used whet
+ ;*---------------------------------------------------------------------*/
+ (defun ude-fontify-doc-source (buffer)
+   (interactive "Bbuffer: ")
+-  (save-excursion
+-    (set-buffer buffer)
++  (with-current-buffer buffer
+     (goto-char (point-min))
+     (let* ((path-regexp   "@path[ \t]+\\([^@]+\\)@")
+ 	   (anchor-regexp "@ref[ \t]+\\([^@:]+\\):\\([^@]+\\)@")
+--- ./bmacs/ude/ude-makefile.el.orig	2012-03-17 00:14:07.000000000 -0600
++++ ./bmacs/ude/ude-makefile.el	2012-03-21 15:43:58.229998864 -0600
 @@ -209,14 +209,12 @@
    (interactive)
    (let ((default-directory ude-root-directory))
@@ -687,8 +223,63 @@
  	  (let* ((cmd (format "%s -o %s -project %s"
  			      ude-makemake
  			      ude-makefile
---- ./bmacs/ude/ude-ident.el.orig	2011-09-26 01:39:17.000000000 -0600
-+++ ./bmacs/ude/ude-ident.el	2011-11-23 10:47:33.419521491 -0700
+--- ./bmacs/ude/ude-about.el.orig	2012-03-17 00:14:07.000000000 -0600
++++ ./bmacs/ude/ude-about.el	2012-03-21 15:43:58.232998952 -0600
+@@ -27,8 +27,7 @@
+   (if (featurep 'xemacs)
+       (let ((window-min-height 1)
+ 	    (window-min-width 1))
+-	(save-excursion
+-	  (set-buffer (generate-new-buffer "*junk-frame-buffer*"))
++	(with-current-buffer (generate-new-buffer "*junk-frame-buffer*")
+ 	  (prog1
+ 	      (make-frame '(minibuffer t initially-unmapped t width 1 height 1))
+ 	    (rename-buffer " *junk-frame-buffer*" t))))))
+@@ -37,15 +36,14 @@
+ ;*    ude-about-make-frame ...                                         */
+ ;*---------------------------------------------------------------------*/
+ (defun ude-about-make-frame (x y msg xpm)
+-  (save-excursion
+-    (let ((window-min-height 100)
+-	  (window-min-width 100)
+-	  (bg-color (or (x-get-global-resource "backgroundToolBarColor"
+-					       "BackgroundToolBarColor")
+-			"grey75"))
+-	  (buffer (get-buffer-create " *ude-about-buffer*"))
+-	  (frame nil))
+-      (set-buffer buffer)
++  (let ((window-min-height 100)
++	(window-min-width 100)
++	(bg-color (or (x-get-global-resource "backgroundToolBarColor"
++					     "BackgroundToolBarColor")
++		      "grey75"))
++	(buffer (get-buffer-create " *ude-about-buffer*"))
++	(frame nil))
++    (with-current-buffer buffer
+       (ude-about-insert-xpm (current-buffer) xpm)
+       (insert "\n")
+       (insert msg)
+--- ./bmacs/ude/ude-autoload.el.orig	2012-03-17 00:14:07.000000000 -0600
++++ ./bmacs/ude/ude-autoload.el	2012-03-21 15:43:58.234999083 -0600
+@@ -17,6 +17,7 @@
+ (autoload 'ude-customize "ude-custom" "Ude customization." t)
+ ;; config
+ (autoload 'bmacs-docdir "bmacs-config" "Bmacs configuration." t)
++(autoload 'bmacs-lispdir "bmacs-config" "Bmacs configuration." t)
+ ;; parent
+ (autoload 'ude-paren-init "ude-paren" "Ude paren initialization." t)
+ ;; root
+@@ -124,7 +125,7 @@
+ (autoload 'ude-checkin-project "ude-version" "Version manager." t)
+ (autoload 'ude-tar-gz-project "ude-version" "Version manager." t)
+ ;; ude-balloon
+-(autoload 'ude-add-ballon-action "ude-balloon" "Bdb balloon system." t)
++(autoload 'ude-add-balloon-action "ude-balloon" "Bdb balloon system." t)
+ (autoload 'ude-balloon-start "ude-balloon" "Bdb balloon system." t)
+ (autoload 'ude-balloon-stop "ude-balloon" "Bdb balloon system." t)
+ (autoload 'ude-balloon-get-buffer "ude-balloon" "Bdb balloon system." t)
+--- ./bmacs/ude/ude-ident.el.orig	2012-03-17 00:14:07.000000000 -0600
++++ ./bmacs/ude/ude-ident.el	2012-03-21 15:43:58.229998864 -0600
 @@ -36,8 +36,8 @@
    (save-excursion
      (goto-char pos)
@@ -744,123 +335,8 @@
  	(setq ude-tags-balloon-region nil))))
  
  ;*---------------------------------------------------------------------*/
---- ./bmacs/ude/ude-docline.el.orig	2011-09-26 01:39:17.000000000 -0600
-+++ ./bmacs/ude/ude-docline.el	2011-11-23 10:47:33.416521552 -0700
-@@ -106,13 +106,10 @@
- 	  (ude-error "Can't find documentation for `%S'" var)
- 	(progn
- 	  (if ude-info-fontify
--	      (let* ((cbuf (current-buffer))
--		     (ibuf (get-buffer "*info*")))
-+	      (let ((ibuf (get-buffer "*info*")))
- 		(if (bufferp ibuf)
--		    (progn
--		      (set-buffer ibuf)
--		      (font-lock-fontify-buffer)
--		      (set-buffer cbuf)))))
-+		    (with-current-buffer ibuf
-+		      (font-lock-fontify-buffer)))))
- 	  (ude-pop-to-info))))))
- 
- ;*---------------------------------------------------------------------*/
-@@ -140,13 +137,10 @@
- 	(ude-error (format "Can't find section `%S'" section))
-       (progn
- 	(if ude-info-fontify
--	    (let* ((cbuf (current-buffer))
--		   (ibuf (get-buffer "*info*")))
-+	    (let ((ibuf (get-buffer "*info*")))
- 	      (if (bufferp ibuf)
--		  (progn
--		    (set-buffer ibuf)
--		    (font-lock-fontify-buffer)
--		    (set-buffer cbuf)))))
-+		  (with-current-buffer ibuf
-+		    (font-lock-fontify-buffer)))))
- 	(ude-pop-to-info)))))
- 
- ;*---------------------------------------------------------------------*/
-@@ -237,8 +231,7 @@
- ;*---------------------------------------------------------------------*/
- (defun ude-fontify-doc-source (buffer)
-   (interactive "Bbuffer: ")
--  (save-excursion
--    (set-buffer buffer)
-+  (with-current-buffer buffer
-     (goto-char (point-min))
-     (let* ((path-regexp   "@path[ \t]+\\([^@]+\\)@")
- 	   (anchor-regexp "@ref[ \t]+\\([^@:]+\\):\\([^@]+\\)@")
---- ./bmacs/ude/plugin.el.orig	2011-09-26 01:39:17.000000000 -0600
-+++ ./bmacs/ude/plugin.el	2011-11-23 10:47:33.417521531 -0700
-@@ -371,14 +371,16 @@
- 			       (select-frame frame)
- 			       (select-window win)
- 			       (set-buffer buffer)
--			       (goto-line line)
-+			       (goto-char (point-min))
-+			       (forward-line (1- line))
- 			       (recenter)
- 			       t)
- 			   nil))
- 		     nil))
- 	      (let ((pop-up-frames t))
- 		(pop-to-buffer buffer)
--		(goto-line line)
-+		(goto-char (point-min))
-+		(forward-line (1- line))
- 		(recenter))))))
-      ((and (consp command) (memq (car command) '(HELP help)))
-       (let ((prgm (let ((p (cadr command)))
---- ./bmacs/ude/ude-compile.el.orig	2011-09-26 01:39:18.000000000 -0600
-+++ ./bmacs/ude/ude-compile.el	2011-11-23 10:47:33.419521491 -0700
-@@ -351,8 +351,7 @@
-    (ude-pop-compilation-frame-on-error
-     ;; we have to pop up a frame
-     (let* ((pop-up-frames t)
--	   (height (save-excursion
--		     (set-buffer buffer)
-+	   (height (with-current-buffer buffer
- 		     (+ 2 (count-lines (point-min) (point-max)))))
- 	   (cur-height (frame-height (selected-frame)))
- 	   (err-height (if (> height cur-height) cur-height height))
---- ./bmacs/ude/ude-about.el.orig	2011-09-26 01:39:17.000000000 -0600
-+++ ./bmacs/ude/ude-about.el	2011-11-23 10:47:33.417521531 -0700
-@@ -27,8 +27,7 @@
-   (if (featurep 'xemacs)
-       (let ((window-min-height 1)
- 	    (window-min-width 1))
--	(save-excursion
--	  (set-buffer (generate-new-buffer "*junk-frame-buffer*"))
-+	(with-current-buffer (generate-new-buffer "*junk-frame-buffer*")
- 	  (prog1
- 	      (make-frame '(minibuffer t initially-unmapped t width 1 height 1))
- 	    (rename-buffer " *junk-frame-buffer*" t))))))
-@@ -37,15 +36,14 @@
- ;*    ude-about-make-frame ...                                         */
- ;*---------------------------------------------------------------------*/
- (defun ude-about-make-frame (x y msg xpm)
--  (save-excursion
--    (let ((window-min-height 100)
--	  (window-min-width 100)
--	  (bg-color (or (x-get-global-resource "backgroundToolBarColor"
--					       "BackgroundToolBarColor")
--			"grey75"))
--	  (buffer (get-buffer-create " *ude-about-buffer*"))
--	  (frame nil))
--      (set-buffer buffer)
-+  (let ((window-min-height 100)
-+	(window-min-width 100)
-+	(bg-color (or (x-get-global-resource "backgroundToolBarColor"
-+					     "BackgroundToolBarColor")
-+		      "grey75"))
-+	(buffer (get-buffer-create " *ude-about-buffer*"))
-+	(frame nil))
-+    (with-current-buffer buffer
-       (ude-about-insert-xpm (current-buffer) xpm)
-       (insert "\n")
-       (insert msg)
---- ./bmacs/ude/id-select.el.orig	2011-09-26 01:39:17.000000000 -0600
-+++ ./bmacs/ude/id-select.el	2011-11-23 10:47:33.418521511 -0700
+--- ./bmacs/ude/id-select.el.orig	2012-03-17 00:14:07.000000000 -0600
++++ ./bmacs/ude/id-select.el	2012-03-21 15:43:58.233999018 -0600
 @@ -248,6 +248,72 @@
  (defvar id-select-prior-buffer 'nil)
  
@@ -934,7 +410,7 @@
  ;;; Public functions
  ;;; ************************************************************************
  
-@@ -456,7 +522,8 @@
+@@ -456,7 +522,8 @@ does not have a `>' terminator character
    "Return the (start . end) of a syntactically defined region based upon the last region selected or on position POS.
  The character at POS is selected if no other thing is matched."
    (interactive)
@@ -944,7 +420,7 @@
    (setcar id-select-old-region (car id-select-region))
    (setcdr id-select-old-region (cdr id-select-region))
    (let ((prior-type id-select-previous))
-@@ -477,7 +544,7 @@
+@@ -477,7 +544,7 @@ The character at POS is selected if no o
       (t (let ((min-region (1+ (- (point-max) (point-min))))
  	      (result)
  	      region region-size)
@@ -953,7 +429,7 @@
  	   (function
  	    (lambda (sym-func)
  	      (setq region
-@@ -1209,71 +1276,5 @@
+@@ -1209,71 +1276,5 @@ list, id-select-markup-modes."
    (setq id-select-previous 'buffer)
    (id-select-set-region (point-min) (point-max)))
  
@@ -1025,8 +501,8 @@
 -
  
  (provide 'id-select)
---- ./bmacs/ude/ude-repl.el.orig	2011-09-26 01:39:17.000000000 -0600
-+++ ./bmacs/ude/ude-repl.el	2011-11-23 10:47:33.416521552 -0700
+--- ./bmacs/ude/ude-repl.el.orig	2012-03-17 00:14:07.000000000 -0600
++++ ./bmacs/ude/ude-repl.el	2012-03-21 15:43:58.233999018 -0600
 @@ -38,8 +38,7 @@
  			'ude-repl-sentinel)
    (set-process-filter ude-repl-comint-process
@@ -1037,70 +513,54 @@
      (setq comint-prompt-regexp ude-repl-prompt-regexp)
      (setq comint-scroll-show-maximum-output 0.4)
      (setq comint-scroll-to-bottom-on-output t)
---- ./bmacs/ude/ude-autoload.el.orig	2011-09-26 01:39:17.000000000 -0600
-+++ ./bmacs/ude/ude-autoload.el	2011-11-23 10:47:33.418521511 -0700
-@@ -17,6 +17,7 @@
- (autoload 'ude-customize "ude-custom" "Ude customization." t)
- ;; config
- (autoload 'bmacs-docdir "bmacs-config" "Bmacs configuration." t)
-+(autoload 'bmacs-lispdir "bmacs-config" "Bmacs configuration." t)
- ;; parent
- (autoload 'ude-paren-init "ude-paren" "Ude paren initialization." t)
- ;; root
-@@ -124,7 +125,7 @@
- (autoload 'ude-checkin-project "ude-version" "Version manager." t)
- (autoload 'ude-tar-gz-project "ude-version" "Version manager." t)
- ;; ude-balloon
--(autoload 'ude-add-ballon-action "ude-balloon" "Bdb balloon system." t)
-+(autoload 'ude-add-balloon-action "ude-balloon" "Bdb balloon system." t)
- (autoload 'ude-balloon-start "ude-balloon" "Bdb balloon system." t)
- (autoload 'ude-balloon-stop "ude-balloon" "Bdb balloon system." t)
- (autoload 'ude-balloon-get-buffer "ude-balloon" "Bdb balloon system." t)
---- ./bmacs/bee/bee-browse.el.orig	2011-09-26 01:39:17.000000000 -0600
-+++ ./bmacs/bee/bee-browse.el	2011-11-23 10:47:33.425521366 -0700
-@@ -144,14 +144,16 @@
- 				     (select-frame frame)
- 				     (select-window win)
- 				     (set-buffer buffer)
--				     (goto-line line)
-+				     (goto-char (point-min))
-+				     (forward-line (1- line))
- 				     (recenter)
- 				     t)
- 				 nil))))))
- 	    (let ((pop-up-frames t)
- 		  (buffer (find-file-noselect aname)))
- 	      (pop-to-buffer buffer)
--	      (goto-line line)
-+	      (goto-char (point-min))
-+	      (forward-line (1- line))
- 	      (recenter)))))
-     t)
-    ((and (consp command) 
---- ./bmacs/bee/bee-indent.el.orig	2011-09-26 01:39:18.000000000 -0600
-+++ ./bmacs/bee/bee-indent.el	2011-11-23 10:47:33.424521387 -0700
-@@ -150,7 +150,7 @@
- ;*---------------------------------------------------------------------*/
- (defun bee-calculate-forced-indent ()
-   (save-excursion
--    (previous-line 1)
-+    (forward-line -1)
-     (beginning-of-line)
-     (skip-chars-forward " \t")
-     (let ((s (current-column)))
---- ./bmacs/bee/bee-tags.el.orig	2011-09-26 01:39:18.000000000 -0600
-+++ ./bmacs/bee/bee-tags.el	2011-11-23 10:47:33.423521409 -0700
-@@ -66,7 +66,7 @@
- (defun bee-safe-read (port)
-   (condition-case err
-       (read port)
--    (error f)))
-+    (error port)))
+--- ./bmacs/ude/plugin.el.orig	2012-03-17 00:14:07.000000000 -0600
++++ ./bmacs/ude/plugin.el	2012-03-21 15:43:58.230998900 -0600
+@@ -371,14 +371,16 @@ process structure hosting the plugin.
+ 			       (select-frame frame)
+ 			       (select-window win)
+ 			       (set-buffer buffer)
+-			       (goto-line line)
++			       (goto-char (point-min))
++			       (forward-line (1- line))
+ 			       (recenter)
+ 			       t)
+ 			   nil))
+ 		     nil))
+ 	      (let ((pop-up-frames t))
+ 		(pop-to-buffer buffer)
+-		(goto-line line)
++		(goto-char (point-min))
++		(forward-line (1- line))
+ 		(recenter))))))
+      ((and (consp command) (memq (car command) '(HELP help)))
+       (let ((prgm (let ((p (cadr command)))
+--- ./bmacs/ude/ude-compile.el.orig	2012-03-17 00:14:08.000000000 -0600
++++ ./bmacs/ude/ude-compile.el	2012-03-21 15:43:58.231998936 -0600
+@@ -351,8 +351,7 @@ Executed hooks are removed from that lis
+    (ude-pop-compilation-frame-on-error
+     ;; we have to pop up a frame
+     (let* ((pop-up-frames t)
+-	   (height (save-excursion
+-		     (set-buffer buffer)
++	   (height (with-current-buffer buffer
+ 		     (+ 2 (count-lines (point-min) (point-max)))))
+ 	   (cur-height (frame-height (selected-frame)))
+ 	   (err-height (if (> height cur-height) cur-height height))
+--- ./bmacs/bmacs-xemacs.el.orig	2012-03-17 00:14:08.000000000 -0600
++++ ./bmacs/bmacs-xemacs.el	2012-03-21 15:45:10.349999616 -0600
+@@ -308,8 +308,8 @@ If PATHS is omitted, `load-path' is used
+ ;*---------------------------------------------------------------------*/
+ ;*    set-default-toolbar-visible ...                                  */
+ ;*---------------------------------------------------------------------*/
+-(defun set-default-toolbar-visible (t)
+-  (set-specifier default-toolbar-visible-p t (selected-frame)))
++(defun set-default-toolbar-visible (b)
++  (set-specifier default-toolbar-visible-p b (selected-frame)))
  
  ;*---------------------------------------------------------------------*/
- ;*    bee-find-afile-module ...                                        */
---- ./bmacs/bee/bee-usage.el.orig	2011-09-26 01:39:17.000000000 -0600
-+++ ./bmacs/bee/bee-usage.el	2011-11-23 10:47:33.425521366 -0700
+ ;*    ude-set-nontext-pointer ...                                      */
+--- ./bmacs/bee/bee-usage.el.orig	2012-03-17 00:14:07.000000000 -0600
++++ ./bmacs/bee/bee-usage.el	2012-03-21 15:43:58.236999201 -0600
 @@ -33,9 +33,7 @@
  						  (goto-char pos)
  						  (beginning-of-line)
@@ -1112,7 +572,7 @@
      (vector (concat "def   : " define)
  	    `(let ((pop-up-frames t))
  	       (pop-to-buffer ,buffer)
-@@ -271,7 +269,7 @@
+@@ -271,7 +269,7 @@ It is used to bypass the buffer local va
  			(pop-to-buffer buffer))
  		      (set-buffer buffer)
  		      (goto-char (point-min))
@@ -1121,31 +581,8 @@
  		  (ude-error "Can't find buffer for %S" file))))))))
  
  ;*---------------------------------------------------------------------*/
---- ./bmacs/bee/bee-module.el.orig	2011-09-26 01:39:17.000000000 -0600
-+++ ./bmacs/bee/bee-module.el	2011-11-23 10:47:33.422521430 -0700
-@@ -359,8 +359,7 @@
- ;*    bee-get-module-name ...                                          */
- ;*---------------------------------------------------------------------*/
- (defun bee-get-module-name (buffer)
--  (save-excursion
--    (set-buffer buffer)
-+  (with-current-buffer buffer
-     (goto-char (point-min))
-     ;; first we search for the module declaration
-     (if (re-search-forward (concat "(module[ \n\t]\\(" (ude-ident-regexp)
---- ./bmacs/bee/bee-toolbar.el.orig	2011-09-26 01:39:17.000000000 -0600
-+++ ./bmacs/bee/bee-toolbar.el	2011-11-23 10:47:33.424521387 -0700
-@@ -31,7 +31,7 @@
-       ;; either the find or the ibuilder button
-       ,@(if (bee-interface-builder-ready-p)
- 	    ;; the ibuilder button
--	    `(,(ude-ibuilder-icon bee-interface-builder-start "Interface builder"))
-+	    `((,ude-ibuilder-icon bee-interface-builder-start "Interface builder"))
- 	  ;; the find button
- 	  `((,ude-edit-icon bee-tags-find "Find definition")))
- 
---- ./bmacs/bee/bee-expand.el.orig	2011-09-26 01:39:17.000000000 -0600
-+++ ./bmacs/bee/bee-expand.el	2011-11-23 10:47:33.423521409 -0700
+--- ./bmacs/bee/bee-expand.el.orig	2012-03-17 00:14:07.000000000 -0600
++++ ./bmacs/bee/bee-expand.el	2012-03-21 15:43:58.237999254 -0600
 @@ -79,8 +79,7 @@
  (defun bee-set-expand-temporary-buffer ()
    (if (and (bufferp bee-expand-temporary-buffer)
@@ -1165,8 +602,162 @@
      (write-file fname nil)
      (bee-expand-buffer-internal)))
  
---- ./bmacs/bug/bug-source.el.orig	2011-09-26 01:39:17.000000000 -0600
-+++ ./bmacs/bug/bug-source.el	2011-11-23 10:47:33.428521303 -0700
+--- ./bmacs/bee/bee-toolbar.el.orig	2012-03-17 00:14:07.000000000 -0600
++++ ./bmacs/bee/bee-toolbar.el	2012-03-21 15:43:58.237999254 -0600
+@@ -31,7 +31,7 @@
+       ;; either the find or the ibuilder button
+       ,@(if (bee-interface-builder-ready-p)
+ 	    ;; the ibuilder button
+-	    `(,(ude-ibuilder-icon bee-interface-builder-start "Interface builder"))
++	    `((,ude-ibuilder-icon bee-interface-builder-start "Interface builder"))
+ 	  ;; the find button
+ 	  `((,ude-edit-icon bee-tags-find "Find definition")))
+ 
+--- ./bmacs/bee/bee-module.el.orig	2012-03-17 00:14:07.000000000 -0600
++++ ./bmacs/bee/bee-module.el	2012-03-21 15:43:58.236999201 -0600
+@@ -359,8 +359,7 @@
+ ;*    bee-get-module-name ...                                          */
+ ;*---------------------------------------------------------------------*/
+ (defun bee-get-module-name (buffer)
+-  (save-excursion
+-    (set-buffer buffer)
++  (with-current-buffer buffer
+     (goto-char (point-min))
+     ;; first we search for the module declaration
+     (if (re-search-forward (concat "(module[ \n\t]\\(" (ude-ident-regexp)
+--- ./bmacs/bee/bee-indent.el.orig	2012-03-17 00:14:08.000000000 -0600
++++ ./bmacs/bee/bee-indent.el	2012-03-21 15:43:58.235999144 -0600
+@@ -150,7 +150,7 @@ of the start of the containing expressio
+ ;*---------------------------------------------------------------------*/
+ (defun bee-calculate-forced-indent ()
+   (save-excursion
+-    (previous-line 1)
++    (forward-line -1)
+     (beginning-of-line)
+     (skip-chars-forward " \t")
+     (let ((s (current-column)))
+--- ./bmacs/bee/bee-tags.el.orig	2012-03-17 00:14:08.000000000 -0600
++++ ./bmacs/bee/bee-tags.el	2012-03-21 15:43:58.235999144 -0600
+@@ -66,7 +66,7 @@
+ (defun bee-safe-read (port)
+   (condition-case err
+       (read port)
+-    (error f)))
++    (error port)))
+ 
+ ;*---------------------------------------------------------------------*/
+ ;*    bee-find-afile-module ...                                        */
+--- ./bmacs/bee/bee-browse.el.orig	2012-03-17 00:14:07.000000000 -0600
++++ ./bmacs/bee/bee-browse.el	2012-03-21 15:43:58.234999083 -0600
+@@ -144,14 +144,16 @@
+ 				     (select-frame frame)
+ 				     (select-window win)
+ 				     (set-buffer buffer)
+-				     (goto-line line)
++				     (goto-char (point-min))
++				     (forward-line (1- line))
+ 				     (recenter)
+ 				     t)
+ 				 nil))))))
+ 	    (let ((pop-up-frames t)
+ 		  (buffer (find-file-noselect aname)))
+ 	      (pop-to-buffer buffer)
+-	      (goto-line line)
++	      (goto-char (point-min))
++	      (forward-line (1- line))
+ 	      (recenter)))))
+     t)
+    ((and (consp command) 
+--- ./bmacs/bug/bug-filter.el.orig	2012-03-17 00:14:07.000000000 -0600
++++ ./bmacs/bug/bug-filter.el	2012-03-21 15:43:58.240999393 -0600
+@@ -51,9 +51,7 @@
+ ;*    bug-buffer-text-properties-at ...                                */
+ ;*---------------------------------------------------------------------*/
+ (defun bug-buffer-text-properties-at (buf p)
+-  (save-excursion
+-    (set-buffer buf)
+-    (text-properties-at p)))
++  (text-properties-at p buf))
+ 
+ ;*---------------------------------------------------------------------*/
+ ;*    bug-filter-init ...                                              */
+@@ -272,10 +270,8 @@
+   (insert-text-property 0 (length output) 'keymap bug-filter-footprint-map output)
+   (insert-text-property 0 (length output) 'help-echo "mouse-3: Edit properties" output)
+   (funcall bug-filter-output proc output)
+-  (save-excursion
+-    (set-buffer bug-comint-buffer)
+-    (bug-add-image-overlay bug-comint-buffer (1- (point-max))
+-			   bug-footprint-enable-image)))
++  (bug-add-image-overlay bug-comint-buffer (1- (point-max))
++			 bug-footprint-enable-image))
+   
+ ;*---------------------------------------------------------------------*/
+ ;*    bug-filter-breakpoint-map ...                                    */
+@@ -303,10 +299,8 @@
+   (insert-text-property 0 (length output) 'keymap bug-filter-breakpoint-map output)
+   (insert-text-property 0 (length output) 'help-echo "mouse-3: Edit properties" output)
+   (funcall bug-filter-output proc output)
+-  (save-excursion
+-    (set-buffer bug-comint-buffer)
+-    (bug-add-image-overlay bug-comint-buffer (1- (point-max))
+-			   bug-breakpoint-red-image)))
++  (bug-add-image-overlay bug-comint-buffer (1- (point-max))
++			 bug-breakpoint-red-image))
+ 
+ ;*---------------------------------------------------------------------*/
+ ;*    bug-filter-ident-map ...                                         */
+--- ./bmacs/bug/bug-gnu-emacs.el.orig	2012-03-17 00:14:07.000000000 -0600
++++ ./bmacs/bug/bug-gnu-emacs.el	2012-03-21 15:43:58.238999302 -0600
+@@ -14,6 +14,7 @@
+ ;*---------------------------------------------------------------------*/
+ (provide 'bug-gnu-emacs)
+ (require 'bug-custom)
++(require 'bmacs-gnu-emacs)
+ 
+ ;*---------------------------------------------------------------------*/
+ ;*    GNU emacs settings...                                            */
+@@ -49,9 +50,9 @@
+ ;*    bug-add-margin-image-overlay ...                                 */
+ ;*---------------------------------------------------------------------*/
+ (defun bug-add-margin-image-overlay (buffer line image)
+-  (save-excursion
+-    (set-buffer buffer)
+-    (goto-line line)
++  (with-current-buffer buffer
++    (goto-char (point-min))
++    (forward-line (1- line))
+     (let ((o (make-overlay (line-beginning-position)
+ 			   (1+ (line-beginning-position))))
+ 	  (s (string ? )))
+@@ -69,8 +70,7 @@
+ ;*    bug-add-image-overlay ...                                        */
+ ;*---------------------------------------------------------------------*/
+ (defun bug-add-image-overlay (buffer char image)
+-  (save-excursion
+-    (set-buffer buffer)
++  (with-current-buffer buffer
+     (goto-char char)
+     (let ((o (make-overlay (line-beginning-position)
+ 			   (1+ (line-beginning-position))))
+@@ -132,12 +132,12 @@
+       (progn
+ 	(setq bug-gnu-emacs-source-line-overlay (make-overlay 1 1))
+ 	(overlay-put bug-gnu-emacs-source-line-overlay 'face 'bug-line-face)))
+-  (save-excursion
+-    (set-buffer buffer)
++  (with-current-buffer buffer
+     (let ((pos))
+       (save-restriction
+ 	(widen)
+-	(goto-line line)
++	(goto-char (point-min))
++	(forward-line (1- line))
+ 	(setq pos (point))
+ 	(move-overlay bug-gnu-emacs-source-line-overlay
+ 		      (line-beginning-position)
+--- ./bmacs/bug/bug-source.el.orig	2012-03-17 00:14:07.000000000 -0600
++++ ./bmacs/bug/bug-source.el	2012-03-21 15:43:58.237999254 -0600
 @@ -80,7 +80,8 @@
  			(display-buffer buffer))))
  	  (set-buffer buffer)
@@ -1174,20 +765,124 @@
 -	  (goto-line line)
 +	  (goto-char (point-min))
 +	  (forward-line (1- line))
- 	  (set-window-point window (point))
- 	  (if bug-raise-active-source-frame-p
- 	      (let ((frame (window-frame window)))
---- ./bmacs/bug/bug-gnu-emacs.el.orig	2011-09-26 01:39:17.000000000 -0600
-+++ ./bmacs/bug/bug-gnu-emacs.el	2011-11-23 10:47:33.427521324 -0700
-@@ -14,6 +14,7 @@
- ;*---------------------------------------------------------------------*/
- (provide 'bug-gnu-emacs)
- (require 'bug-custom)
-+(require 'bmacs-gnu-emacs)
- 
- ;*---------------------------------------------------------------------*/
- ;*    GNU emacs settings...                                            */
-@@ -49,9 +50,9 @@
+ 	  (set-window-point window (point))
+ 	  (if bug-raise-active-source-frame-p
+ 	      (let ((frame (window-frame window)))
+--- ./bmacs/bug/bug-class.el.orig	2012-03-17 00:14:07.000000000 -0600
++++ ./bmacs/bug/bug-class.el	2012-03-21 15:43:58.240999393 -0600
+@@ -36,15 +36,13 @@
+ ;*    bug-file-to-string ...                                           */
+ ;*---------------------------------------------------------------------*/
+ (defun bug-file-to-string (file)
+-  (save-excursion
+-    (let ((buffer (bug-find-file file)))
+-      (if buffer
+-	  (progn
+-	    (set-buffer buffer)
+-	    (let ((s (buffer-string)))
+-	      (kill-buffer buffer)
+-	      s))
+-	""))))
++  (let ((buffer (bug-find-file file)))
++    (if buffer
++	(with-current-buffer buffer
++	  (let ((s (buffer-string)))
++	    (kill-buffer buffer)
++	    s))
++      "")))
+ 
+ ;*---------------------------------------------------------------------*/
+ ;*    bug-jfile-module-name ...                                        */
+@@ -104,8 +102,7 @@
+ (defun bug-file-to-class (file)
+   (interactive "Ffile: ")
+   (let ((buffer (get-buffer file)))
+-    (save-excursion
+-      (set-buffer buffer)
++    (with-current-buffer buffer
+       (if bug-buffer-class
+ 	  bug-buffer-class
+ 	(progn
+--- ./bmacs/bug/bug-hooking.el.orig	2012-03-17 00:14:07.000000000 -0600
++++ ./bmacs/bug/bug-hooking.el	2012-03-21 15:43:58.240999393 -0600
+@@ -48,7 +48,7 @@
+ 	(redisplay-frame)
+ 	(sit-for 0.2)
+ 	(bug-wait-process "hooks" bug-hook-timeout)
+-	(mapcar (lambda (hook) (funcall hook)) bug-command-hooks)
++	(mapc (lambda (hook) (funcall hook)) bug-command-hooks)
+ 	(redisplay-frame)
+ 	(setq bug-command-hook-p nil))))
+ 
+@@ -69,8 +69,7 @@
+     ;; we wait for comint to be ready
+     (sit-for 0.1)
+     (if (bug-wait-process "bug-hook-command" bug-hook-timeout)
+-	(save-excursion
+-	  (set-buffer buffer)
++	(with-current-buffer buffer
+ 	  (let ((buffer-read-only nil))
+ 	    (erase-buffer)
+ 	    ;; Temporarily install our filter function.
+@@ -79,8 +78,7 @@
+ 		  (old-prompt-hook bug-prompt-hook))
+ 	      (setq bug-filter-output
+ 		    #'(lambda (proc str)
+-			(save-excursion
+-			  (set-buffer buffer)
++			(with-current-buffer buffer
+ 			  (goto-char (point-max))
+ 			  (insert str))))
+ 	      (setq bug-prompt-hook
+--- ./bmacs/bug/bug.el.orig	2012-03-17 00:14:07.000000000 -0600
++++ ./bmacs/bug/bug.el	2012-03-21 15:43:58.238999302 -0600
+@@ -71,7 +71,10 @@ and source-file directory for your debug
+ 	     `(,bugname ,binary ,nil ,@(bug-string->list bug-emacs-option)
+ 			,a.out))
+       ;; the process filter and sentinel
+-      (process-kill-without-query (get-buffer-process bug-comint-buffer))
++      (if (featurep 'xemacs)
++	  (process-kill-without-query (get-buffer-process bug-comint-buffer))
++	(set-process-query-on-exit-flag (get-buffer-process bug-comint-buffer)
++					nil))
+       (set-process-filter (get-buffer-process bug-comint-buffer)
+ 			  'bug-filter))
+     ;; we start the bug-mode
+@@ -130,8 +133,7 @@ and source-file directory for your debug
+ (defun bugloo-quit ()
+   (interactive)
+   (if (bufferp bug-comint-buffer)
+-      (save-excursion
+-	(set-buffer bug-comint-buffer)
++      (with-current-buffer bug-comint-buffer
+ 	(condition-case ()
+ 	    (comint-kill-subjob)
+ 	  (error
+--- ./bmacs/bug/bug-connect.el.orig	2012-03-17 00:14:07.000000000 -0600
++++ ./bmacs/bug/bug-connect.el	2012-03-21 15:43:58.238999302 -0600
+@@ -74,8 +74,7 @@
+ ;*    This function returns the point line number.                     */
+ ;*---------------------------------------------------------------------*/
+ (defun bug-line-number (buffer pos)
+-  (save-restriction
+-    (set-buffer buffer)
++  (with-current-buffer buffer
+     (let (start)
+       (save-excursion
+ 	(save-restriction
+--- ./bmacs/bug/bug-xemacs.el.orig	2012-03-17 00:14:07.000000000 -0600
++++ ./bmacs/bug/bug-xemacs.el	2012-03-21 15:43:58.239999350 -0600
+@@ -143,7 +143,8 @@ static char *arrow[] = {
+       (save-excursion
+ 	(save-restriction
+ 	  (widen)
+-	  (goto-line line)
++	  (goto-char (point-min))
++	  (forward-line (1- line))
+ 	  (setq pos (point))))
+       (goto-char pos)
+       (set-window-point window pos)
+@@ -162,9 +163,9 @@ static char *arrow[] = {
  ;*    bug-add-margin-image-overlay ...                                 */
  ;*---------------------------------------------------------------------*/
  (defun bug-add-margin-image-overlay (buffer line image)
@@ -1197,10 +892,10 @@
 +  (with-current-buffer buffer
 +    (goto-char (point-min))
 +    (forward-line (1- line))
-     (let ((o (make-overlay (line-beginning-position)
- 			   (1+ (line-beginning-position))))
- 	  (s (string ? )))
-@@ -69,8 +70,7 @@
+     (let ((o (make-extent (line-beginning-position)
+ 			  (1+ (line-beginning-position))
+ 			  buffer)))
+@@ -177,8 +178,7 @@ static char *arrow[] = {
  ;*    bug-add-image-overlay ...                                        */
  ;*---------------------------------------------------------------------*/
  (defun bug-add-image-overlay (buffer char image)
@@ -1208,297 +903,580 @@
 -    (set-buffer buffer)
 +  (with-current-buffer buffer
      (goto-char char)
-     (let ((o (make-overlay (line-beginning-position)
- 			   (1+ (line-beginning-position))))
-@@ -132,12 +132,12 @@
-       (progn
- 	(setq bug-gnu-emacs-source-line-overlay (make-overlay 1 1))
- 	(overlay-put bug-gnu-emacs-source-line-overlay 'face 'bug-line-face)))
+     (let ((o (make-extent (line-beginning-position)
+ 			  (1+ (line-beginning-position))
+--- ./bmacs/bug/bug-process.el.orig	2012-03-17 00:14:07.000000000 -0600
++++ ./bmacs/bug/bug-process.el	2012-03-21 15:43:58.239999350 -0600
+@@ -63,8 +63,7 @@
+   (let ((proc (get-buffer-process bug-comint-buffer)))
+     (or proc (ude-error "Current buffer has no process"))
+     ;; Arrange for the current prompt to get deleted.
+-    (save-excursion
+-      (set-buffer bug-comint-buffer)
++    (with-current-buffer bug-comint-buffer
+       (goto-char (process-mark proc))
+       (delete-region (point) (point-max))
+       (process-send-string proc (concat command "\n")))))
+@@ -83,47 +82,45 @@
+ (defun bug-wait-process (from timeout)
+   (if (not bug-comint-buffer)
+       (ude-error "No debugger running")
+-    (save-excursion
+-      (save-restriction
+-	(widen)
+-	(let ((count 0)
+-	      (str   "/-\\|")
+-	      (l (length bug-prompt-regexp)))
+-	  (setq str str)
+-	  (set-buffer bug-comint-buffer)
+-	  ;; we mark bug waiting
+-	  (setq bug-waiting t)
+-	  (accept-process-output)
+-	  (goto-char (point-max))
+-	  (while (progn
+-		   (goto-char (point-max))
+-		   (or (<= (point) l)
+-		       (and (save-excursion
+-			      (backward-char l)
+-			      (not (re-search-forward bug-prompt-eol-regexp
+-						      (point-max)
+-						      t)))
+-			    (or (not (numberp timeout))
+-				(< count timeout)))))
++    (with-current-buffer bug-comint-buffer
++      (save-excursion
++	(save-restriction
++	  (widen)
++	  (let ((count 0)
++		(str   "/-\\|")
++		(l (length bug-prompt-regexp)))
++	    ;; we mark bug waiting
++	    (setq bug-waiting t)
+ 	    (accept-process-output)
+-	    (setq count (+ 1 count))
+-	    (if (numberp timeout)
++	    (goto-char (point-max))
++	    (while (progn
++		     (goto-char (point-max))
++		     (or (<= (point) l)
++			 (and (save-excursion
++				(backward-char l)
++				(not (re-search-forward bug-prompt-eol-regexp
++							(point-max)
++							t)))
++			      (or (not (numberp timeout))
++				  (< count timeout)))))
++	      (accept-process-output)
++	      (setq count (+ 1 count))
++	      (if (numberp timeout)
++		  (display-message 'no-log
++		    (format "waiting for `%s' [%c] (timeout %d/%S)"
++			    from
++			    (aref str (% count 4))
++			    count
++			    timeout))
+ 		(display-message 'no-log
+-				 (format "waiting for `%s' [%c] (timeout %d/%S)"
+-					 from
+-					 (aref str (% count 4))
+-					 count
+-					 timeout))
+-	      (display-message 'no-log
+-			       (format "waiting for `%s' [%c]"
+-				       from
+-				       (aref str (% count 4)))))
+-	    (sit-for 0.3)
+-	    (redisplay-frame (selected-frame) t))
+-	  ;; we remove the last wait message
+-	  (display-message 'no-log " ")
+-	  ;; bug is now ready
+-	  (setq bug-waiting nil)
+-	  (or (not (numberp timeout))
+-	      (< count timeout)))))))
+-
++		  (format "waiting for `%s' [%c]"
++			  from
++			  (aref str (% count 4)))))
++	      (sit-for 0.3)
++	      (redisplay-frame (selected-frame) t))
++	    ;; we remove the last wait message
++	    (display-message 'no-log " ")
++	    ;; bug is now ready
++	    (setq bug-waiting nil)
++	    (or (not (numberp timeout))
++		(< count timeout))))))))
+--- ./bmacs/dbg/dbg-source.el.orig	2012-03-17 00:14:07.000000000 -0600
++++ ./bmacs/dbg/dbg-source.el	2012-03-21 15:43:55.313999176 -0600
+@@ -152,11 +152,11 @@ static char *arrow[] = {
+ 		(set-extent-begin-glyph extent dbg-arrow-glyph)
+ 		(set-extent-begin-glyph-layout extent 'outside-margin)
+ 		(setq dbg-source-line-extent extent)))
+-	  (save-excursion
+-	    (set-buffer buffer)
++	  (with-current-buffer buffer
+ 	    (save-restriction
+ 	      (widen)
+-	      (goto-line line)
++	      (goto-char (point-min))
++	      (forward-line (1- line))
+ 	      (set-window-point window (point))
+ 	      (setq pos (progn
+ 			  (beginning-of-line)
+--- ./bmacs/dbg/dbg-stack.el.orig	2012-03-17 00:14:07.000000000 -0600
++++ ./bmacs/dbg/dbg-stack.el	2012-03-21 15:43:55.316999330 -0600
+@@ -110,8 +110,7 @@ This is implemented using the DBG `stack
+ 	(proc (get-buffer-process dbg-comint-buffer)))
+     (or proc (ude-error "Current buffer has no process"))
+     ;; Arrange for the current prompt to get deleted.
+-    (save-excursion
+-      (set-buffer dbg-comint-buffer)
++    (with-current-buffer dbg-comint-buffer
+       (goto-char (process-mark proc))
+       (while (not (looking-at comint-prompt-regexp))
+ 	(goto-char (process-mark proc))
+@@ -149,8 +148,7 @@ This is implemented using the DBG `stack
+ ;*    Display a new stack in a separate buffer.                        */
+ ;*---------------------------------------------------------------------*/
+ (defun dbg-display-stack (buffer stack)
+-  (save-excursion
+-    (set-buffer buffer)
++  (with-current-buffer buffer
+     (let ((buffer-read-only nil))
+       (erase-buffer)
+       (insert stack)
+@@ -173,12 +171,12 @@ This is implemented using the DBG `stack
+ 					 'mouse-face 'highlight
+ 					 'keymap dbg-stack-mouse-map)
+ 		    (if (< end (point-max))
+-			(next-line 1)
++			(forward-line 1)
+ 		      (setq keep nil)))
+ 		(progn
+ 		  (end-of-line)
+ 		  (if (< (point) (point-max))
+-		      (next-line 1)
++		      (forward-line 1)
+ 		    (setq keep nil)))))))))))
+ 		
+ ;*---------------------------------------------------------------------*/
+@@ -276,8 +274,7 @@ This is implemented using the DBG `stack
+ (defun dbg-frames-select-by-mouse (event)
+   (interactive "e")
+   (let (selection)
+-    (save-excursion
+-      (set-buffer (event-buffer event))
++    (with-current-buffer (event-buffer event)
+       (save-excursion
+ 	(goto-char (event-closest-point event))
+ 	(setq selection (dbg-get-frame-number))))
+--- ./bmacs/dbg/dbg-locals.el.orig	2012-03-17 00:14:07.000000000 -0600
++++ ./bmacs/dbg/dbg-locals.el	2012-03-21 15:43:55.317999376 -0600
+@@ -100,8 +100,7 @@ This is implemented using the DBG `local
+   (let ((proc (get-buffer-process dbg-comint-buffer)))
+     (or proc (ude-error "Current buffer has no process"))
+     ;; Arrange for the current prompt to get deleted.
+-    (save-excursion
+-      (set-buffer dbg-comint-buffer)
++    (with-current-buffer dbg-comint-buffer
+       (goto-char (process-mark proc))
+       (while (not (looking-at comint-prompt-regexp))
+ 	(goto-char (process-mark proc))
+@@ -140,8 +139,7 @@ This is implemented using the DBG `local
+ ;*    Locals a new locals in a separate buffer.                        */
+ ;*---------------------------------------------------------------------*/
+ (defun dbg-locals-locals (buffer locals)
+-  (save-excursion
+-    (set-buffer buffer)
++  (with-current-buffer buffer
+     (let ((buffer-read-only nil))
+       (erase-buffer)
+       (insert locals)
+@@ -164,12 +162,12 @@ This is implemented using the DBG `local
+ 					 'mouse-face 'highlight
+ 					 'keymap dbg-locals-mouse-map)
+ 		    (if (< end (point-max))
+-			(next-line 1)
++			(forward-line 1)
+ 		      (setq keep nil)))
+ 		(progn
+ 		  (end-of-line)
+ 		  (if (< (point) (point-max))
+-		      (next-line 1)
++		      (forward-line 1)
+ 		    (setq keep nil)))))))))))
+ 		
+ ;*---------------------------------------------------------------------*/
+@@ -242,8 +240,7 @@ This is implemented using the DBG `local
+ (defun dbg-locals-menu (event)
+   (interactive "e")
+   (let (selection)
+-    (save-excursion
+-      (set-buffer (event-buffer event))
++    (with-current-buffer (event-buffer event)
+       (save-excursion
+ 	(goto-char (event-closest-point event))
+ 	(message "point: %S" (point))
+--- ./bmacs/dbg/dbg-args.el.orig	2012-03-17 00:14:07.000000000 -0600
++++ ./bmacs/dbg/dbg-args.el	2012-03-21 15:43:55.316999330 -0600
+@@ -100,8 +100,7 @@ This is implemented using the DBG `args'
+   (let ((proc (get-buffer-process dbg-comint-buffer)))
+     (or proc (ude-error "Current buffer has no process"))
+     ;; Arrange for the current prompt to get deleted.
+-    (save-excursion
+-      (set-buffer dbg-comint-buffer)
++    (with-current-buffer dbg-comint-buffer
+       (goto-char (process-mark proc))
+       (while (not (looking-at comint-prompt-regexp))
+ 	(goto-char (process-mark proc))
+@@ -140,8 +139,7 @@ This is implemented using the DBG `args'
+ ;*    Args a new args in a separate buffer.                            */
+ ;*---------------------------------------------------------------------*/
+ (defun dbg-args-args (buffer args)
 -  (save-excursion
 -    (set-buffer buffer)
 +  (with-current-buffer buffer
-     (let ((pos))
-       (save-restriction
- 	(widen)
--	(goto-line line)
-+	(goto-char (point-min))
-+	(forward-line (1- line))
- 	(setq pos (point))
- 	(move-overlay bug-gnu-emacs-source-line-overlay
- 		      (line-beginning-position)
---- ./bmacs/bug/bug.el.orig	2011-09-26 01:39:17.000000000 -0600
-+++ ./bmacs/bug/bug.el	2011-11-23 10:47:33.429521282 -0700
-@@ -71,7 +71,10 @@
- 	     `(,bugname ,binary ,nil ,@(bug-string->list bug-emacs-option)
- 			,a.out))
-       ;; the process filter and sentinel
--      (process-kill-without-query (get-buffer-process bug-comint-buffer))
-+      (if (featurep 'xemacs)
-+	  (process-kill-without-query (get-buffer-process bug-comint-buffer))
-+	(set-process-query-on-exit-flag (get-buffer-process bug-comint-buffer)
-+					nil))
-       (set-process-filter (get-buffer-process bug-comint-buffer)
- 			  'bug-filter))
-     ;; we start the bug-mode
-@@ -130,8 +133,7 @@
- (defun bugloo-quit ()
-   (interactive)
-   (if (bufferp bug-comint-buffer)
--      (save-excursion
--	(set-buffer bug-comint-buffer)
-+      (with-current-buffer bug-comint-buffer
- 	(condition-case ()
- 	    (comint-kill-subjob)
- 	  (error
---- ./bmacs/bug/bug-connect.el.orig	2011-09-26 01:39:17.000000000 -0600
-+++ ./bmacs/bug/bug-connect.el	2011-11-23 10:47:33.428521303 -0700
-@@ -74,8 +74,7 @@
- ;*    This function returns the point line number.                     */
+     (let ((buffer-read-only nil))
+       (erase-buffer)
+       (insert args)
+@@ -164,12 +162,12 @@ This is implemented using the DBG `args'
+ 					 'mouse-face 'highlight
+ 					 'keymap dbg-args-mouse-map)
+ 		    (if (< end (point-max))
+-			(next-line 1)
++			(forward-line 1)
+ 		      (setq keep nil)))
+ 		(progn
+ 		  (end-of-line)
+ 		  (if (< (point) (point-max))
+-		      (next-line 1)
++		      (forward-line 1)
+ 		    (setq keep nil)))))))))))
+ 		
  ;*---------------------------------------------------------------------*/
- (defun bug-line-number (buffer pos)
--  (save-restriction
--    (set-buffer buffer)
-+  (with-current-buffer buffer
-     (let (start)
+@@ -243,8 +241,7 @@ This is implemented using the DBG `args'
+ (defun dbg-args-menu (event)
+   (interactive "e")
+   (let (selection)
+-    (save-excursion
+-      (set-buffer (event-buffer event))
++    (with-current-buffer (event-buffer event)
        (save-excursion
- 	(save-restriction
---- ./bmacs/bug/bug-process.el.orig	2011-09-26 01:39:17.000000000 -0600
-+++ ./bmacs/bug/bug-process.el	2011-11-23 10:47:33.427521324 -0700
-@@ -63,8 +63,7 @@
-   (let ((proc (get-buffer-process bug-comint-buffer)))
+ 	(goto-char (event-closest-point event))
+ 	(message "point: %S" (point))
+--- ./bmacs/dbg/dbg-filter.el.orig	2012-03-17 00:14:07.000000000 -0600
++++ ./bmacs/dbg/dbg-filter.el	2012-03-21 15:43:55.316999330 -0600
+@@ -30,10 +30,12 @@ It is saved for when this flag is not se
+ (defvar dbg-delete-prompt-marker nil)
+ 
+ (defvar dbg-last-frame nil)
++(make-variable-buffer-local 'dbg-last-frame)
+ 
+ (defvar dbg-last-last-frame nil)
+ 
+ (defvar dbg-marker-acc "")
++(make-variable-buffer-local 'dbg-marker-acc)
+ 
+ (defvar dbg-marker-filter nil)
+ 
+@@ -309,8 +311,7 @@ It is saved for when this flag is not se
+ 		(progn
+ 		  (setq string (concat dbg-filter-pending-text string))
+ 		  (setq dbg-filter-pending-text nil)))
+-	    (save-excursion
+-	      (set-buffer (process-buffer proc))
++	    (with-current-buffer (process-buffer proc)
+ 	      ;; If we have been so requested, delete the debugger prompt.
+ 	      (if (marker-buffer dbg-delete-prompt-marker)
+ 		  (progn
+@@ -344,11 +345,8 @@ It is saved for when this flag is not se
+ 		(dbg-display-frame))
+ 	    ;; We have to be in the proper buffer, (process-buffer proc),
+ 	    ;; but not in a save-excursion, because that would restore point.
+-	    (let ((old-buf (current-buffer)))
+-	      (set-buffer (process-buffer proc))
+-	      (unwind-protect
+-		  (dbg-display-frame)
+-		(set-buffer old-buf))))
++	    (with-current-buffer (process-buffer proc)
++	      (dbg-display-frame)))
+ 	  ;; If we deferred text that arrived during this processing,
+ 	  ;; handle it now.
+ 	  (if dbg-filter-pending-text
+--- ./bmacs/dbg/dbg.el.orig	2012-03-17 00:14:07.000000000 -0600
++++ ./bmacs/dbg/dbg.el	2012-03-21 15:43:55.315999283 -0600
+@@ -80,7 +80,12 @@ and source-file directory for your debug
+ 	  (setq dbg-marker-filter 'dbg-default-marker-filter)
+ 	  (make-comint dbgname binary nil dbg-emacs-option a.out)
+ 	  ;; the process filter and sentinel
+-	  (process-kill-without-query (get-buffer-process dbg-comint-buffer))
++	  (if (featurep 'xemacs)
++	      (process-kill-without-query
++	       (get-buffer-process dbg-comint-buffer))
++	    (set-process-query-on-exit-flag
++	     (get-buffer-process dbg-comint-buffer)
++	     nil))
+ 	  (set-process-filter (get-buffer-process dbg-comint-buffer)
+ 			      'dbg-filter)
+ 	  (set-process-sentinel (get-buffer-process dbg-comint-buffer)
+@@ -203,8 +208,7 @@ and source-file directory for your debug
+ 	(proc (get-buffer-process dbg-comint-buffer)))
      (or proc (ude-error "Current buffer has no process"))
      ;; Arrange for the current prompt to get deleted.
 -    (save-excursion
--      (set-buffer bug-comint-buffer)
-+    (with-current-buffer bug-comint-buffer
+-      (set-buffer dbg-comint-buffer)
++    (with-current-buffer dbg-comint-buffer
        (goto-char (process-mark proc))
-       (delete-region (point) (point-max))
-       (process-send-string proc (concat command "\n")))))
-@@ -83,47 +82,45 @@
- (defun bug-wait-process (from timeout)
-   (if (not bug-comint-buffer)
+       (beginning-of-line)
+       (if (looking-at comint-prompt-regexp)
+@@ -226,7 +230,7 @@ and source-file directory for your debug
+ 	(dbg-console-log "dbg-send-input" intxt 'font-lock-type-face)
+       (dbg-console-log "dbg-send-input" 'nil 'font-lock-string-face))
+     (comint-send-input)
+-    (mapcar (lambda (hook) (funcall hook intxt)) dbg-send-input-hooks)
++    (mapc (lambda (hook) (funcall hook intxt)) dbg-send-input-hooks)
+     (redisplay-frame)))
+ 
+ ;*---------------------------------------------------------------------*/
+@@ -282,8 +286,7 @@ This is implemented using the DBG `no-ou
+ 	(proc (get-buffer-process dbg-comint-buffer)))
+     (or proc (ude-error "Current buffer has no process"))
+     ;; Arrange for the current prompt to get deleted.
+-    (save-excursion
+-      (set-buffer dbg-comint-buffer)
++    (with-current-buffer dbg-comint-buffer
+       (goto-char (process-mark proc))
+       (while (not (looking-at comint-prompt-regexp))
+ 	(goto-char (process-mark proc))
+@@ -341,7 +344,7 @@ This is implemented using the DBG `no-ou
+   (let ((dbg-mode nil))
+     (setq dbg-mode dbg-mode)
+     (recenter following)
+-    (mapcar (lambda (hook) (funcall hook nil)) dbg-send-input-hooks)
++    (mapc (lambda (hook) (funcall hook nil)) dbg-send-input-hooks)
+     (redisplay-frame)))
+ 
+ ;*---------------------------------------------------------------------*/
+@@ -360,11 +363,10 @@ This is implemented using the DBG `no-ou
+ (defun dbg-comint-ready-p ()
+   (if dbg-waiting
+       nil
+-    (save-excursion
+-      (save-restriction
+-	(widen)
+-	(progn
+-	  (set-buffer dbg-comint-buffer)
++    (with-current-buffer dbg-comint-buffer
++      (save-excursion
++	(save-restriction
++	  (widen)
+ 	  (goto-char (point-max))
+ 	  (let ((bound (point)))
+ 	    (beginning-of-line)
+@@ -385,40 +387,39 @@ This is implemented using the DBG `no-ou
+ (defun dbg-wait-for-comint (from timeout)
+   (if (not dbg-comint-buffer)
        (ude-error "No debugger running")
 -    (save-excursion
 -      (save-restriction
 -	(widen)
 -	(let ((count 0)
--	      (str   "/-\\|")
--	      (l (length bug-prompt-regexp)))
+-	      (str   "/-\\|"))
 -	  (setq str str)
--	  (set-buffer bug-comint-buffer)
--	  ;; we mark bug waiting
--	  (setq bug-waiting t)
+-	  (set-buffer dbg-comint-buffer)
+-	  ;; we mark dbg waiting
+-	  (setq dbg-waiting t)
 -	  (accept-process-output)
--	  (goto-char (point-max))
 -	  (while (progn
 -		   (goto-char (point-max))
--		   (or (<= (point) l)
--		       (and (save-excursion
--			      (backward-char l)
--			      (not (re-search-forward bug-prompt-eol-regexp
--						      (point-max)
--						      t)))
--			    (or (not (numberp timeout))
--				(< count timeout)))))
-+    (with-current-buffer bug-comint-buffer
-+      (save-excursion
-+	(save-restriction
-+	  (widen)
-+	  (let ((count 0)
-+		(str   "/-\\|")
-+		(l (length bug-prompt-regexp)))
-+	    ;; we mark bug waiting
-+	    (setq bug-waiting t)
- 	    (accept-process-output)
+-		   (let ((bound (point)))
+-		     (beginning-of-line)
+-		     (and (not (re-search-forward (concat
+-						   comint-prompt-regexp
+-						   "[ \t\n]*")
+-						  bound t))
+-			  (or (not (numberp timeout))
+-			      (< count timeout)))))
 -	    (setq count (+ 1 count))
--	    (if (numberp timeout)
-+	    (goto-char (point-max))
-+	    (while (progn
-+		     (goto-char (point-max))
-+		     (or (<= (point) l)
-+			 (and (save-excursion
-+				(backward-char l)
-+				(not (re-search-forward bug-prompt-eol-regexp
-+							(point-max)
-+							t)))
-+			      (or (not (numberp timeout))
-+				  (< count timeout)))))
-+	      (accept-process-output)
-+	      (setq count (+ 1 count))
-+	      (if (numberp timeout)
-+		  (display-message 'no-log
-+		    (format "waiting for `%s' [%c] (timeout %d/%S)"
-+			    from
-+			    (aref str (% count 4))
-+			    count
-+			    timeout))
- 		(display-message 'no-log
--				 (format "waiting for `%s' [%c] (timeout %d/%S)"
--					 from
--					 (aref str (% count 4))
--					 count
--					 timeout))
--	      (display-message 'no-log
--			       (format "waiting for `%s' [%c]"
--				       from
--				       (aref str (% count 4)))))
--	    (sit-for 0.3)
--	    (redisplay-frame (selected-frame) t))
+-	    '(display-message 'no-log
+-	      (format "waiting for `%s' [%c] (timeout %d/%S)"
+-		      from
+-		      (aref str (% count 4))
+-		      count
+-		      timeout))
+-	    (sit-for 0.1)
+-	    (redisplay-frame (selected-frame) t)
+-	    (set-buffer dbg-comint-buffer))
 -	  ;; we remove the last wait message
 -	  (display-message 'no-log " ")
--	  ;; bug is now ready
--	  (setq bug-waiting nil)
--	  (or (not (numberp timeout))
--	      (< count timeout)))))))
--
-+		  (format "waiting for `%s' [%c]"
-+			  from
-+			  (aref str (% count 4)))))
-+	      (sit-for 0.3)
-+	      (redisplay-frame (selected-frame) t))
+-	  ;; dbg is now ready
+-	  (setq dbg-waiting nil))))))
++    (with-current-buffer dbg-comint-buffer
++      (save-excursion
++	(save-restriction
++	  (widen)
++	  (let ((count 0)
++		(str   "/-\\|"))
++	    ;; we mark dbg waiting
++	    (setq dbg-waiting t)
++	    (accept-process-output)
++	    (while (progn
++		     (goto-char (point-max))
++		     (let ((bound (point)))
++		       (beginning-of-line)
++		       (and (not (re-search-forward (concat
++						     comint-prompt-regexp
++						     "[ \t\n]*")
++						    bound t))
++			    (or (not (numberp timeout))
++				(< count timeout)))))
++	      (setq count (+ 1 count))
++	      '(display-message 'no-log
++		(format "waiting for `%s' [%c] (timeout %d/%S)"
++			from
++			(aref str (% count 4))
++			count
++			timeout))
++	      (sit-for 0.1)
++	      (redisplay-frame (selected-frame) t)
++	      (set-buffer dbg-comint-buffer))
 +	    ;; we remove the last wait message
 +	    (display-message 'no-log " ")
-+	    ;; bug is now ready
-+	    (setq bug-waiting nil)
-+	    (or (not (numberp timeout))
-+		(< count timeout))))))))
---- ./bmacs/bug/bug-xemacs.el.orig	2011-09-26 01:39:17.000000000 -0600
-+++ ./bmacs/bug/bug-xemacs.el	2011-11-23 10:47:33.426521345 -0700
-@@ -143,7 +143,8 @@
-       (save-excursion
- 	(save-restriction
- 	  (widen)
--	  (goto-line line)
-+	  (goto-char (point-min))
-+	  (forward-line (1- line))
- 	  (setq pos (point))))
-       (goto-char pos)
-       (set-window-point window pos)
-@@ -162,9 +163,9 @@
- ;*    bug-add-margin-image-overlay ...                                 */
++	    ;; dbg is now ready
++	    (setq dbg-waiting nil)))))))
+ 
  ;*---------------------------------------------------------------------*/
- (defun bug-add-margin-image-overlay (buffer line image)
--  (save-excursion
+ ;*    dbg-clear-window ...                                             */
+@@ -449,8 +450,7 @@ This is implemented using the DBG `no-ou
+ ;*    This function returns the point line number.                     */
+ ;*---------------------------------------------------------------------*/
+ (defun dbg-line-number (buffer pos)
+-  (save-restriction
 -    (set-buffer buffer)
--    (goto-line line)
 +  (with-current-buffer buffer
-+    (goto-char (point-min))
-+    (forward-line (1- line))
-     (let ((o (make-extent (line-beginning-position)
- 			  (1+ (line-beginning-position))
- 			  buffer)))
-@@ -177,8 +178,7 @@
- ;*    bug-add-image-overlay ...                                        */
+     (let (start)
+       (save-excursion
+ 	(save-restriction
+--- ./bmacs/dbg/dbg-mode.el.orig	2012-03-17 00:14:07.000000000 -0600
++++ ./bmacs/dbg/dbg-mode.el	2012-03-21 15:43:55.317999376 -0600
+@@ -98,10 +98,7 @@ The following command are available:
+   (make-local-variable 'dbg-delete-prompt-marker)
+   (setq dbg-delete-prompt-marker (make-marker))
+   ;; same for dbg-last-frame
+-  (make-variable-buffer-local 'dbg-last-frame)
+   (setq dbg-last-frame nil)
+-  ;; and so it is for dbg-marker-acc
+-  (make-variable-buffer-local 'dbg-marker-acc)
+   ;; the mouse shape when flying over non text
+   (ude-set-nontext-pointer "left_ptr")
+   ;; we set up kill buffer hook
+--- ./bmacs/dbg/dbg-display.el.orig	2012-03-17 00:14:07.000000000 -0600
++++ ./bmacs/dbg/dbg-display.el	2012-03-21 15:43:55.313999176 -0600
+@@ -100,8 +100,7 @@ This is implemented using the DBG `displ
+   (let ((proc (get-buffer-process dbg-comint-buffer)))
+     (or proc (ude-error "Current buffer has no process"))
+     ;; Arrange for the current prompt to get deleted.
+-    (save-excursion
+-      (set-buffer dbg-comint-buffer)
++    (with-current-buffer dbg-comint-buffer
+       (goto-char (process-mark proc))
+       (while (not (looking-at comint-prompt-regexp))
+ 	(goto-char (process-mark proc))
+@@ -140,8 +139,7 @@ This is implemented using the DBG `displ
+ ;*    Display a new display in a separate buffer.                      */
  ;*---------------------------------------------------------------------*/
- (defun bug-add-image-overlay (buffer char image)
+ (defun dbg-display-display (buffer display)
 -  (save-excursion
 -    (set-buffer buffer)
 +  (with-current-buffer buffer
-     (goto-char char)
-     (let ((o (make-extent (line-beginning-position)
- 			  (1+ (line-beginning-position))
---- ./bmacs/bug/bug-class.el.orig	2011-09-26 01:39:17.000000000 -0600
-+++ ./bmacs/bug/bug-class.el	2011-11-23 10:47:33.426521345 -0700
-@@ -36,15 +36,13 @@
- ;*    bug-file-to-string ...                                           */
- ;*---------------------------------------------------------------------*/
- (defun bug-file-to-string (file)
--  (save-excursion
--    (let ((buffer (bug-find-file file)))
--      (if buffer
--	  (progn
--	    (set-buffer buffer)
--	    (let ((s (buffer-string)))
--	      (kill-buffer buffer)
--	      s))
--	""))))
-+  (let ((buffer (bug-find-file file)))
-+    (if buffer
-+	(with-current-buffer buffer
-+	  (let ((s (buffer-string)))
-+	    (kill-buffer buffer)
-+	    s))
-+      "")))
- 
+     (let ((buffer-read-only nil))
+       (erase-buffer)
+       (insert display)
+@@ -164,12 +162,12 @@ This is implemented using the DBG `displ
+ 					 'mouse-face 'highlight
+ 					 'keymap dbg-display-mouse-map)
+ 		    (if (< end (point-max))
+-			(next-line 1)
++			(forward-line 1)
+ 		      (setq keep nil)))
+ 		(progn
+ 		  (end-of-line)
+ 		  (if (< (point) (point-max))
+-		      (next-line 1)
++		      (forward-line 1)
+ 		    (setq keep nil)))))))))))
+ 		
  ;*---------------------------------------------------------------------*/
- ;*    bug-jfile-module-name ...                                        */
-@@ -104,8 +102,7 @@
- (defun bug-file-to-class (file)
-   (interactive "Ffile: ")
-   (let ((buffer (get-buffer file)))
+@@ -248,8 +246,7 @@ This is implemented using the DBG `displ
+ (defun dbg-display-menu (event)
+   (interactive "e")
+   (let (selection)
 -    (save-excursion
--      (set-buffer buffer)
-+    (with-current-buffer buffer
-       (if bug-buffer-class
- 	  bug-buffer-class
- 	(progn
---- ./bmacs/bug/bug-filter.el.orig	2011-09-26 01:39:17.000000000 -0600
-+++ ./bmacs/bug/bug-filter.el	2011-11-23 10:47:33.428521303 -0700
-@@ -51,9 +51,7 @@
- ;*    bug-buffer-text-properties-at ...                                */
- ;*---------------------------------------------------------------------*/
- (defun bug-buffer-text-properties-at (buf p)
--  (save-excursion
--    (set-buffer buf)
--    (text-properties-at p)))
-+  (text-properties-at p buf))
+-      (set-buffer (event-buffer event))
++    (with-current-buffer (event-buffer event)
+       (save-excursion
+ 	(goto-char (event-closest-point event))
+ 	(message "point: %S" (point))
+--- ./bmacs/dbg/dbg-breakpoint.el.orig	2012-03-17 00:14:07.000000000 -0600
++++ ./bmacs/dbg/dbg-breakpoint.el	2012-03-21 15:43:55.314999231 -0600
+@@ -304,8 +304,7 @@ static char *footprint[] = {
+   (let ((proc (get-buffer-process dbg-comint-buffer)))
+     (or proc (ude-error "Current buffer has no process"))
+     ;; Arrange for the current prompt to get deleted.
+-    (save-excursion
+-      (set-buffer dbg-comint-buffer)
++    (with-current-buffer dbg-comint-buffer
+       (goto-char (process-mark proc))
+       (process-send-string proc dbg-info-break-command)
+       (process-send-string proc "\n"))))
+@@ -323,8 +322,7 @@ static char *footprint[] = {
+ 	  (proc (get-buffer-process dbg-comint-buffer)))
+       (or proc (ude-error "Current buffer has no process"))
+       ;; Arrange for the current prompt to get deleted.
+-      (save-excursion
+-	(set-buffer dbg-comint-buffer)
++      (with-current-buffer dbg-comint-buffer
+ 	(goto-char (process-mark proc))
+ 	(process-send-string proc command)))))
  
+@@ -533,7 +531,8 @@ static char *footprint[] = {
+ 	    (set-extent-property extent 'mouse-face 'highlight)
+ 	    (set-extent-property extent 'dbg-breakpoint bp)
+ 	    (set-buffer buffer)
+-	    (goto-line line)
++	    (goto-char (point-min))
++	    (forward-line (1- line))
+ 	    (beginning-of-line)
+ 	    (set-extent-endpoints extent (point) (point))
+ 	    bp)))))
+--- ./bmacs/dbg/dbg-connect.el.orig	2012-03-17 00:14:07.000000000 -0600
++++ ./bmacs/dbg/dbg-connect.el	2012-03-21 15:43:55.315999283 -0600
+@@ -157,6 +157,6 @@
+ ;*    Disconnect all currently connected buffers.                      */
  ;*---------------------------------------------------------------------*/
- ;*    bug-filter-init ...                                              */
-@@ -272,10 +270,8 @@
-   (insert-text-property 0 (length output) 'keymap bug-filter-footprint-map output)
-   (insert-text-property 0 (length output) 'help-echo "mouse-3: Edit properties" output)
-   (funcall bug-filter-output proc output)
--  (save-excursion
--    (set-buffer bug-comint-buffer)
--    (bug-add-image-overlay bug-comint-buffer (1- (point-max))
--			   bug-footprint-enable-image)))
-+  (bug-add-image-overlay bug-comint-buffer (1- (point-max))
-+			 bug-footprint-enable-image))
+ (defun dbg-disconnect-all-buffers ()
+-  (mapcar 'dbg-disconnect-buffer dbg-connected-buffers)
++  (mapc 'dbg-disconnect-buffer dbg-connected-buffers)
+   (setq dbg-connected-buffers '()))
    
- ;*---------------------------------------------------------------------*/
- ;*    bug-filter-breakpoint-map ...                                    */
-@@ -303,10 +299,8 @@
-   (insert-text-property 0 (length output) 'keymap bug-filter-breakpoint-map output)
-   (insert-text-property 0 (length output) 'help-echo "mouse-3: Edit properties" output)
-   (funcall bug-filter-output proc output)
--  (save-excursion
--    (set-buffer bug-comint-buffer)
--    (bug-add-image-overlay bug-comint-buffer (1- (point-max))
--			   bug-breakpoint-red-image)))
-+  (bug-add-image-overlay bug-comint-buffer (1- (point-max))
-+			 bug-breakpoint-red-image))
- 
- ;*---------------------------------------------------------------------*/
- ;*    bug-filter-ident-map ...                                         */
---- ./bmacs/bug/bug-hooking.el.orig	2011-09-26 01:39:17.000000000 -0600
-+++ ./bmacs/bug/bug-hooking.el	2011-11-23 10:47:33.426521345 -0700
-@@ -48,7 +48,7 @@
- 	(redisplay-frame)
- 	(sit-for 0.2)
- 	(bug-wait-process "hooks" bug-hook-timeout)
--	(mapcar (lambda (hook) (funcall hook)) bug-command-hooks)
-+	(mapc (lambda (hook) (funcall hook)) bug-command-hooks)
- 	(redisplay-frame)
- 	(setq bug-command-hook-p nil))))
- 
-@@ -69,8 +69,7 @@
-     ;; we wait for comint to be ready
-     (sit-for 0.1)
-     (if (bug-wait-process "bug-hook-command" bug-hook-timeout)
--	(save-excursion
--	  (set-buffer buffer)
-+	(with-current-buffer buffer
- 	  (let ((buffer-read-only nil))
- 	    (erase-buffer)
- 	    ;; Temporarily install our filter function.
-@@ -79,8 +78,7 @@
- 		  (old-prompt-hook bug-prompt-hook))
- 	      (setq bug-filter-output
- 		    #'(lambda (proc str)
--			(save-excursion
--			  (set-buffer buffer)
-+			(with-current-buffer buffer
- 			  (goto-char (point-max))
- 			  (insert str))))
- 	      (setq bug-prompt-hook
+--- ./bmacs/cee/cee-kbdb.el.orig	2012-03-17 00:14:07.000000000 -0600
++++ ./bmacs/cee/cee-kbdb.el	2012-03-21 15:43:55.312999117 -0600
+@@ -389,7 +389,8 @@
+ 		      (select-frame frame)
+ 		      (select-window win)
+ 		      (set-buffer buf)
+-		      (goto-line npos)
++		      (goto-char (point-min))
++		      (forward-line (1- npos))
+ 		      (beginning-of-line)
+ 		      (set-window-point win npos)
+ 		      t))))
+@@ -399,7 +400,8 @@
+ 	  (if (bufferp buf)
+ 	      (progn
+ 		(set-buffer buf)
+-		(goto-line npos)
++		(goto-char (point-min))
++		(forward-line (1- npos))
+ 		(beginning-of-line)
+ 		t))))
+        (t
diff --git a/bigloo.spec b/bigloo.spec
index b162bcb..0f19f2a 100644
--- a/bigloo.spec
+++ b/bigloo.spec
@@ -11,24 +11,17 @@
 %global pkgname Bigloo
 
 Name:           bigloo
-Version:        3.7a
-Release:        3%{?patch_ver:.%{patch_ver}}%{?dist}
+Version:        3.8a
+Release:        1%{?patch_ver:.%{patch_ver}}%{?dist}
 Summary:        A compiler for the Scheme programming language
 
 Group:          Development/Languages
 License:        GPLv2+
 URL:            http://www-sop.inria.fr/mimosa/fp/Bigloo
 Source0:        ftp://ftp-sop.inria.fr/indes/fp/Bigloo/bigloo%{version}%{?patch_suffix}.tar.gz
-# Applied upstream: fix some bugs in the sendfile implementation.
-Patch0:         bigloo-sendfile.patch
-# Not yet sent upstream: fix various places where control falls off the end
-# of a function that is declared to return a value.
-Patch1:         bigloo-return.patch
 # Not yet sent upstream: fix some bugs in the Emacs interface, and also
 # modernizes the code somewhat.
-Patch2:         bigloo-emacs.patch
-# Applied upstream: fix a syntax error in a Makefile.
-Patch3:         bigloo-makefile.patch
+Patch0:         bigloo-emacs.patch
 
 BuildRequires:  emacs
 BuildRequires:  xemacs
@@ -39,6 +32,7 @@ BuildRequires:  jpackage-utils
 BuildRequires:  pkgconfig
 BuildRequires:  zip
 BuildRequires:  alsa-lib-devel
+BuildRequires:  avahi-devel
 BuildRequires:  dbus-devel
 BuildRequires:  flac-devel
 BuildRequires:  gc-devel
@@ -134,9 +128,6 @@ package to use %{pkgname} with XEmacs.
 %prep
 %setup -q -n %{name}%{version}%{?patch_suffix}
 %patch0
-%patch1
-%patch2
-%patch3
 
 # encoding fixes
 for f in README examples/Socket/socket.scm manuals/bigloo.info-2 \
@@ -158,17 +149,16 @@ ln -sf libbigloo_s-%{version}.so.0 libbigloo_s-%{version}.so)
 find examples -name Makefile -print0 | xargs -0 \
      sed -i 's|include.*Makefile.config|include %{_libdir}/bigloo/%{version}/Makefile.config|g'
 
-# fix a broken test
-sed -i "s|-o recette\$(EXE_SUFFIX)|-o recette\$(EXE_SUFFIX) -lgstbase-0.10|" \
-    api/gstreamer/recette/Makefile
-
+# fix missing linkage
+sed -i 's/^extralibs="-lm"/extralibs="-lgc -lm"/' configure
+sed -i 's/LDOPTS="/&-Wl,--as-needed -lgc /' Makefile.misc
 
 %build
 %define inplace `pwd`/inplace
-%define bigloo_opt_flags "`echo $RPM_OPT_FLAGS | sed 's/-Wall/-w/g' | sed 's/FORTIFY_SOURCE=./FORTIFY_SOURCE=0/g'`"
+%define bigloo_opt_flags "`echo $RPM_OPT_FLAGS | sed -e 's/-Wall/-w/g' -e 's/FORTIFY_SOURCE=./FORTIFY_SOURCE=0/g'`"
 
-CFLAGS="%bigloo_opt_flags"
-export CFLAGS
+export CFLAGS="%bigloo_opt_flags"
+export LDFLAGS="$RPM_LD_FLAGS -Wl,--as-needed"
 sed -i -e "s/^jcflags=-O$/jcflags=-deprecation/" configure
 ./configure \
         --prefix=%{_prefix} \
@@ -186,7 +176,6 @@ sed -i -e "s/^jcflags=-O$/jcflags=-deprecation/" configure
         --sharedbde=yes \
         --sharedcompiler=yes \
         --native-default-backend \
-        --dotnet=no \
         --customgmp=no \
         --strip=no \
         --configureinfo=yes
@@ -327,6 +316,11 @@ make test
 
 
 %changelog
+* Fri Mar 23 2012 Jerry James <loganjerry at gamil.com> - 3.8a-1
+- Update to 3.8a
+- Drop upstreamed patches
+- Add avahi-devel BR for new API
+
 * Mon Jan  9 2012 Jerry James <loganjerry at gmail.com> - 3.7a-3
 - Rebuild for GCC 4.7
 - Drop unnecessary BRs
diff --git a/sources b/sources
index 377a69b..3d2271e 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-643278f518c4b6ff1132d713030994d7  bigloo3.7a.tar.gz
+3ca6db718e759c1240ae01f41d321c91  bigloo3.8a.tar.gz


More information about the scm-commits mailing list