diff --git a/bigloo-emacs.patch b/bigloo-emacs.patch index d5835f8..ad2098f 100644 --- a/bigloo-emacs.patch +++ b/bigloo-emacs.patch @@ -1,7 +1,135 @@ ---- ./bmacs/dbg/dbg-stack.el.orig 2011-09-26 01:39:17.000000000 -0600 -+++ ./bmacs/dbg/dbg-stack.el 2011-09-26 09:55:15.704860766 -0600 -@@ -110,8 +110,7 @@ - (proc (get-buffer-process dbg-comint-buffer))) +--- ./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 @@ + ;; it is initialized as a tag table buffer. + (save-excursion + (tags-verify-table (buffer-file-name table-buffer)))) +- (save-excursion +- (set-buffer table-buffer) ++ (with-current-buffer table-buffer + (if (tags-included-tables) + ;; Insert the included tables into the list we + ;; are processing. +@@ -276,8 +275,7 @@ + (setq computed (cons (car tables) computed) + table-buffer (get-file-buffer (car tables))) + (if table-buffer +- (save-excursion +- (set-buffer table-buffer) ++ (with-current-buffer table-buffer + (if (tags-included-tables) + ;; Insert the included tables into the list we + ;; are processing. +@@ -663,12 +661,8 @@ + (save-excursion + (while (looking-at "\\sw\\|\\s_") + (forward-char 1)) +- (if (or (re-search-backward "\\sw\\|\\s_" +- (save-excursion (beginning-of-line) (point)) +- t) +- (re-search-forward "\\(\\sw\\|\\s_\\)+" +- (save-excursion (end-of-line) (point)) +- t)) ++ (if (or (re-search-backward "\\sw\\|\\s_" (point-at-bol) t) ++ (re-search-forward "\\(\\sw\\|\\s_\\)+" (point-at-eol) t)) + (progn (goto-char (match-end 0)) + (buffer-substring (point) + (progn (forward-sexp -1) +@@ -752,22 +746,21 @@ + (setq last-tag tagname)) + ;; Record the location so we can pop back to it later. + (let ((marker (make-marker))) +- (save-excursion +- (set-buffer +- ;; find-tag-in-order does the real work. +- (find-tag-in-order +- (if next-p last-tag tagname) +- (if regexp-p +- find-tag-regexp-search-function +- find-tag-search-function) +- (if regexp-p +- find-tag-regexp-tag-order +- find-tag-tag-order) +- (if regexp-p +- find-tag-regexp-next-line-after-failure-p +- find-tag-next-line-after-failure-p) +- (if regexp-p "matching" "containing") +- (not next-p))) ++ (with-current-buffer ++ ;; find-tag-in-order does the real work. ++ (find-tag-in-order ++ (if next-p last-tag tagname) ++ (if regexp-p ++ find-tag-regexp-search-function ++ find-tag-search-function) ++ (if regexp-p ++ find-tag-regexp-tag-order ++ find-tag-tag-order) ++ (if regexp-p ++ find-tag-regexp-next-line-after-failure-p ++ find-tag-next-line-after-failure-p) ++ (if regexp-p "matching" "containing") ++ (not next-p)) + (set-marker marker (point)) + (run-hooks 'local-find-tag-hook) + (setq tags-location-stack +@@ -978,9 +971,7 @@ + ;; Naive match found. Qualify the match. + (and (funcall (car order) pattern) + ;; Make sure it is not a previous qualified match. +- (not (member (set-marker match-marker (save-excursion +- (beginning-of-line) +- (point))) ++ (not (member (set-marker match-marker (point-at-bol)) + tag-lines-already-matched)) + (throw 'qualified-match-found nil)) + (if next-line-after-failure-p +@@ -1103,9 +1094,7 @@ + + ;; Find the end of the tag and record the whole tag text. + (search-forward "\177") +- (setq tag-text (buffer-substring (1- (point)) +- (save-excursion (beginning-of-line) +- (point)))) ++ (setq tag-text (buffer-substring (1- (point)) (point-at-bol))) + ;; 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 @@ + (save-excursion + (beginning-of-line) + (let ((bol (point))) +- (and (search-forward "\177" (save-excursion (end-of-line) (point)) t) ++ (and (search-forward "\177" (point-at-eol) t) + (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 @@ -10,19 +138,19 @@ (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. */ +@@ -140,8 +139,7 @@ + ;* Display a new display in a separate buffer. */ ;*---------------------------------------------------------------------*/ - (defun dbg-display-stack (buffer stack) + (defun dbg-display-display (buffer display) - (save-excursion - (set-buffer buffer) + (with-current-buffer buffer (let ((buffer-read-only nil)) (erase-buffer) - (insert stack) -@@ -173,12 +171,12 @@ + (insert display) +@@ -164,12 +162,12 @@ 'mouse-face 'highlight - 'keymap dbg-stack-mouse-map) + 'keymap dbg-display-mouse-map) (if (< end (point-max)) - (next-line 1) + (forward-line 1) @@ -35,8 +163,8 @@ (setq keep nil))))))))))) ;*---------------------------------------------------------------------*/ -@@ -276,8 +274,7 @@ - (defun dbg-frames-select-by-mouse (event) +@@ -248,8 +246,7 @@ + (defun dbg-display-menu (event) (interactive "e") (let (selection) - (save-excursion @@ -44,10 +172,27 @@ + (with-current-buffer (event-buffer event) (save-excursion (goto-char (event-closest-point event)) - (setq selection (dbg-get-frame-number)))) ---- ./bmacs/dbg/dbg-args.el.orig 2011-09-26 01:39:17.000000000 -0600 -+++ ./bmacs/dbg/dbg-args.el 2011-09-26 09:55:15.707860704 -0600 -@@ -100,8 +100,7 @@ + (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. @@ -55,266 +200,56 @@ - (set-buffer dbg-comint-buffer) + (with-current-buffer dbg-comint-buffer (goto-char (process-mark proc)) - (while (not (looking-at comint-prompt-regexp)) + (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)) -@@ -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))))))))))) - + (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. */ ;*---------------------------------------------------------------------*/ -@@ -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-09-26 09:55:15.706860724 -0600 -@@ -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-display.el.orig 2011-09-26 01:39:17.000000000 -0600 -+++ ./bmacs/dbg/dbg-display.el 2011-09-26 09:55:15.705860745 -0600 -@@ -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-breakpoint.el.orig 2011-09-26 01:39:17.000000000 -0600 -+++ ./bmacs/dbg/dbg-breakpoint.el 2011-09-26 09:55:15.697860911 -0600 -@@ -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-source.el.orig 2011-09-26 01:39:17.000000000 -0600 -+++ ./bmacs/dbg/dbg-source.el 2011-09-26 09:55:15.705860745 -0600 -@@ -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-connect.el.orig 2011-09-26 01:39:17.000000000 -0600 -+++ ./bmacs/dbg/dbg-connect.el 2011-09-26 09:55:15.708860684 -0600 -@@ -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-mode.el.orig 2011-09-26 01:39:17.000000000 -0600 -+++ ./bmacs/dbg/dbg-mode.el 2011-09-26 09:55:15.697860911 -0600 -@@ -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/dbg/dbg-filter.el.orig 2011-09-26 01:39:17.000000000 -0600 -+++ ./bmacs/dbg/dbg-filter.el 2011-09-26 09:55:15.707860704 -0600 -@@ -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.el.orig 2011-09-26 01:39:17.000000000 -0600 -+++ ./bmacs/dbg/dbg.el 2011-09-26 09:55:15.706860724 -0600 -@@ -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))) + (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 @@ -451,377 +386,236 @@ (let (start) (save-excursion (save-restriction ---- ./bmacs/ude/ude-repl.el.orig 2011-09-26 01:39:17.000000000 -0600 -+++ ./bmacs/ude/ude-repl.el 2011-09-26 09:55:15.715860538 -0600 -@@ -38,8 +38,7 @@ - 'ude-repl-sentinel) - (set-process-filter ude-repl-comint-process - (function ude-repl-output-from-process)) -- (save-excursion -- (set-buffer ude-repl-buffer) -+ (with-current-buffer ude-repl-buffer - (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-docline.el.orig 2011-09-26 01:39:17.000000000 -0600 -+++ ./bmacs/ude/ude-docline.el 2011-09-26 09:55:15.713860580 -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)))))) - +--- ./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. */ ;*---------------------------------------------------------------------*/ -@@ -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))))) - + (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))))))))))) + ;*---------------------------------------------------------------------*/ -@@ -237,8 +231,7 @@ +@@ -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 ude-fontify-doc-source (buffer) - (interactive "Bbuffer: ") + (defun dbg-args-args (buffer args) - (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-about.el.orig 2011-09-26 01:39:17.000000000 -0600 -+++ ./bmacs/ude/ude-about.el 2011-09-26 09:55:15.712860601 -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 ... */ + (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))))))))))) + ;*---------------------------------------------------------------------*/ - (defun ude-about-make-frame (x y msg xpm) +@@ -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 -- (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/plugin.el.orig 2011-09-26 01:39:17.000000000 -0600 -+++ ./bmacs/ude/plugin.el 2011-09-26 09:55:15.714860559 -0600 -@@ -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/id-select.el.orig 2011-09-26 01:39:17.000000000 -0600 -+++ ./bmacs/ude/id-select.el 2011-09-26 09:55:15.715860538 -0600 -@@ -248,6 +248,72 @@ - (defvar id-select-prior-buffer 'nil) +- (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)))) - ;;; ************************************************************************ -+;;; Private variables -+;;; ************************************************************************ -+ -+(defvar id-select-bigger-alist -+ '((char nil) -+ (whitespace id-select-whitespace) -+ (word id-select-word) -+ (symbol id-select-symbol) -+ (punctuation nil) -+ (string id-select-string) -+ (text nil) -+ (comment id-select-comment) -+ (markup-pair nil) -+ (preprocessor-def nil) -+ (sexp id-select-sexp) -+ (sexp-start nil) -+ (sexp-end nil) -+ (sexp-up id-select-sexp-up) -+ (line id-select-line) -+ (sentence id-select-sentence) -+ (brace-def-or-declaration id-select-brace-def-or-declaration) -+ (indent-def id-select-indent-def) -+ (paragraph id-select-paragraph) -+ (page id-select-page) -+ (buffer id-select-buffer) -+ ) -+ "List of (REGION-TYPE-SYMBOL REGION-SELECTION-FUNCTION) pairs. -+Used to go from one thing to a bigger thing. See id-select-bigger-thing. -+Nil value for REGION-SELECTION-FUNCTION means that region type is skipped -+over when trying to grow the region and is only used when a selection is made -+with point on a character that triggers that type of selection. Ordering of -+entries is largely irrelevant to any code that uses this list.") -+ -+ -+(defvar id-select-prior-buffer nil) -+(defvar id-select-prior-point nil) -+ -+(defvar id-select-previous 'char -+ "Most recent type of selection. Must be set by all id-select functions.") -+ -+(defvar id-select-region (cons 'nil 'nil) -+ "Cons cell that contains a region ( . ). -+The function `id-select-set-region' updates and returns it.") -+ -+(defvar id-select-old-region (cons 'nil 'nil) -+ "Cons cell that contains a region ( . ).") -+ -+(defcustom id-select-syntax-alist -+ '((?w id-select-word) -+ (?_ id-select-symbol) -+ (?\" id-select-string) -+ (?\( id-select-sexp-start) -+ (?\$ id-select-sexp-start) -+ (?' id-select-sexp-start) -+ (?\) id-select-sexp-end) -+ (? id-select-whitespace) -+ (?< id-select-comment) -+ (?. id-select-punctuation)) -+ "*List of pairs of the form (SYNTAX-CHAR FUNCTION) used by the function `id-select-syntactical-region'. -+Each FUNCTION takes a single position argument and returns a region -+(start . end) delineating the boundaries of the thing at that position. -+Ordering of entries is largely irrelevant to any code that uses this list." -+ :type '(repeat (list (sexp :tag "Syntax-Char" function))) -+ :group 'id-select) + ;*---------------------------------------------------------------------*/ ++;* 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)))))) + -+;;; ************************************************************************ - ;;; Public functions - ;;; ************************************************************************ - -@@ -456,7 +522,8 @@ - "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) -- (setq zmacs-region-stays t) -+ (if (featurep 'xemacs) -+ (setq zmacs-region-stays t)) - (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 @@ - (t (let ((min-region (1+ (- (point-max) (point-min)))) - (result) - region region-size) -- (mapcar -+ (mapc - (function - (lambda (sym-func) - (setq region -@@ -1209,71 +1276,5 @@ - (setq id-select-previous 'buffer) - (id-select-set-region (point-min) (point-max))) - --;;; ************************************************************************ --;;; Private variables --;;; ************************************************************************ -- --(defvar id-select-bigger-alist -- '((char nil) -- (whitespace id-select-whitespace) -- (word id-select-word) -- (symbol id-select-symbol) -- (punctuation nil) -- (string id-select-string) -- (text nil) -- (comment id-select-comment) -- (markup-pair nil) -- (preprocessor-def nil) -- (sexp id-select-sexp) -- (sexp-start nil) -- (sexp-end nil) -- (sexp-up id-select-sexp-up) -- (line id-select-line) -- (sentence id-select-sentence) -- (brace-def-or-declaration id-select-brace-def-or-declaration) -- (indent-def id-select-indent-def) -- (paragraph id-select-paragraph) -- (page id-select-page) -- (buffer id-select-buffer) -- ) -- "List of (REGION-TYPE-SYMBOL REGION-SELECTION-FUNCTION) pairs. --Used to go from one thing to a bigger thing. See id-select-bigger-thing. --Nil value for REGION-SELECTION-FUNCTION means that region type is skipped --over when trying to grow the region and is only used when a selection is made --with point on a character that triggers that type of selection. Ordering of --entries is largely irrelevant to any code that uses this list.") -- -- --(defvar id-select-prior-buffer nil) --(defvar id-select-prior-point nil) -- --(defvar id-select-previous 'char -- "Most recent type of selection. Must be set by all id-select functions.") -- --(defvar id-select-region (cons 'nil 'nil) -- "Cons cell that contains a region ( . ). --The function `id-select-set-region' updates and returns it.") -- --(defvar id-select-old-region (cons 'nil 'nil) -- "Cons cell that contains a region ( . ).") -- --(defcustom id-select-syntax-alist -- '((?w id-select-word) -- (?_ id-select-symbol) -- (?\" id-select-string) -- (?\( id-select-sexp-start) -- (?\$ id-select-sexp-start) -- (?' id-select-sexp-start) -- (?\) id-select-sexp-end) -- (? id-select-whitespace) -- (?< id-select-comment) -- (?. id-select-punctuation)) -- "*List of pairs of the form (SYNTAX-CHAR FUNCTION) used by the function `id-select-syntactical-region'. --Each FUNCTION takes a single position argument and returns a region --(start . end) delineating the boundaries of the thing at that position. --Ordering of entries is largely irrelevant to any code that uses this list." -- :type '(repeat (list (sexp :tag "Syntax-Char" function))) -- :group 'id-select) -- - - (provide 'id-select) ---- ./bmacs/ude/ude-autoload.el.orig 2011-09-26 01:39:17.000000000 -0600 -+++ ./bmacs/ude/ude-autoload.el 2011-09-26 09:55:15.716860518 -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 2011-09-26 01:39:17.000000000 -0600 -+++ ./bmacs/ude/ude-ident.el 2011-09-26 09:55:15.712860601 -0600 -@@ -36,8 +36,8 @@ - (save-excursion - (goto-char pos) - ;; we start skipping left until we found a separator -- (let* ((min (save-excursion (beginning-of-line) (point))) -- (max (save-excursion (end-of-line) (point)))) -+ (let* ((min (point-at-bol)) -+ (max (point-at-eol))) - (if (looking-at (ude-ident-regexp)) - ;; we could be located on a identifier we go left until we found - ;; a non identifier character -@@ -215,13 +215,11 @@ ++;*---------------------------------------------------------------------*/ + ;* frame-parameter ... */ ;*---------------------------------------------------------------------*/ - (defun ude-tags-balloon-remove (event) - (interactive "e") -- (let* ((point (event-closest-point event)) -- (buffer (event-buffer event)) -- (current (current-buffer))) -- (set-buffer buffer) -- ;; we store the disabled position -- (setq ude-tags-disabled (cons buffer point)) -- (set-buffer current) -+ (let ((point (event-closest-point event)) -+ (buffer (event-buffer event))) -+ (with-current-buffer buffer -+ ;; we store the disabled position -+ (setq ude-tags-disabled (cons buffer point))) - (ude-tags-balloon-delete))) - + (defun frame-parameter (frame key) +@@ -293,8 +308,8 @@ ;*---------------------------------------------------------------------*/ -@@ -262,16 +260,14 @@ - (defun ude-tags-balloon-delete (&optional frame) - (if (consp ude-tags-balloon-region) - (let ((buffer (car ude-tags-balloon-region)) -- (region (cdr ude-tags-balloon-region)) -- (cbuf (current-buffer))) -- (set-buffer buffer) -- (let ((mod (buffer-modified-p)) -- (l '(help-echo ude-balloon-ident mouse-face keymap))) -- (while (consp l) -- (remove-text-property (car region) (cdr region) (car l)) -- (setq l (cdr l))) -- (set-buffer-modified-p mod)) -- (set-buffer cbuf) -+ (region (cdr ude-tags-balloon-region))) -+ (with-current-buffer buffer -+ (let ((mod (buffer-modified-p)) -+ (l '(help-echo ude-balloon-ident mouse-face keymap))) -+ (while (consp l) -+ (remove-text-property (car region) (cdr region) (car l)) -+ (setq l (cdr l))) -+ (set-buffer-modified-p mod))) - (setq ude-tags-balloon-region nil)))) + ;* 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))) ;*---------------------------------------------------------------------*/ ---- ./bmacs/ude/ude-compile.el.orig 2011-09-26 01:39:18.000000000 -0600 -+++ ./bmacs/ude/ude-compile.el 2011-09-26 09:55:15.713860580 -0600 -@@ -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)) + ;* ude-set-nontext-pointer ... */ --- ./bmacs/ude/ude-makefile.el.orig 2011-09-26 01:39:17.000000000 -0600 -+++ ./bmacs/ude/ude-makefile.el 2011-09-26 09:55:15.716860518 -0600 ++++ ./bmacs/ude/ude-makefile.el 2011-11-23 10:47:33.420521471 -0700 @@ -209,14 +209,12 @@ (interactive) (let ((default-directory ude-root-directory)) @@ -893,226 +687,377 @@ (let* ((cmd (format "%s -o %s -project %s" ude-makemake ude-makefile ---- ./bmacs/bmacs-xemacs.el.orig 2011-09-26 01:39:17.000000000 -0600 -+++ ./bmacs/bmacs-xemacs.el 2011-09-26 10:08:15.468334036 -0600 -@@ -177,6 +177,21 @@ - (delete-window)))) - - ;*---------------------------------------------------------------------*/ -+;* 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) ---- ./bmacs/cee/cee-kbdb.el.orig 2011-09-26 01:39:17.000000000 -0600 -+++ ./bmacs/cee/cee-kbdb.el 2011-09-26 09:55:15.720860436 -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 ---- ./bmacs/xemacs-etags.el.orig 2011-09-26 01:39:17.000000000 -0600 -+++ ./bmacs/xemacs-etags.el 2011-09-26 09:55:15.721860415 -0600 -@@ -236,8 +236,7 @@ - ;; it is initialized as a tag table buffer. - (save-excursion - (tags-verify-table (buffer-file-name table-buffer)))) -- (save-excursion -- (set-buffer table-buffer) -+ (with-current-buffer table-buffer - (if (tags-included-tables) - ;; Insert the included tables into the list we - ;; are processing. -@@ -276,8 +275,7 @@ - (setq computed (cons (car tables) computed) - table-buffer (get-file-buffer (car tables))) - (if table-buffer -- (save-excursion -- (set-buffer table-buffer) -+ (with-current-buffer table-buffer - (if (tags-included-tables) - ;; Insert the included tables into the list we - ;; are processing. -@@ -663,12 +661,8 @@ +--- ./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 +@@ -36,8 +36,8 @@ (save-excursion - (while (looking-at "\\sw\\|\\s_") - (forward-char 1)) -- (if (or (re-search-backward "\\sw\\|\\s_" -- (save-excursion (beginning-of-line) (point)) -- t) -- (re-search-forward "\\(\\sw\\|\\s_\\)+" -- (save-excursion (end-of-line) (point)) -- t)) -+ (if (or (re-search-backward "\\sw\\|\\s_" (point-at-bol) t) -+ (re-search-forward "\\(\\sw\\|\\s_\\)+" (point-at-eol) t)) - (progn (goto-char (match-end 0)) - (buffer-substring (point) - (progn (forward-sexp -1) -@@ -752,22 +746,21 @@ - (setq last-tag tagname)) - ;; Record the location so we can pop back to it later. - (let ((marker (make-marker))) -- (save-excursion -- (set-buffer -- ;; find-tag-in-order does the real work. -- (find-tag-in-order -- (if next-p last-tag tagname) -- (if regexp-p -- find-tag-regexp-search-function -- find-tag-search-function) -- (if regexp-p -- find-tag-regexp-tag-order -- find-tag-tag-order) -- (if regexp-p -- find-tag-regexp-next-line-after-failure-p -- find-tag-next-line-after-failure-p) -- (if regexp-p "matching" "containing") -- (not next-p))) -+ (with-current-buffer -+ ;; find-tag-in-order does the real work. -+ (find-tag-in-order -+ (if next-p last-tag tagname) -+ (if regexp-p -+ find-tag-regexp-search-function -+ find-tag-search-function) -+ (if regexp-p -+ find-tag-regexp-tag-order -+ find-tag-tag-order) -+ (if regexp-p -+ find-tag-regexp-next-line-after-failure-p -+ find-tag-next-line-after-failure-p) -+ (if regexp-p "matching" "containing") -+ (not next-p)) - (set-marker marker (point)) - (run-hooks 'local-find-tag-hook) - (setq tags-location-stack -@@ -978,9 +971,7 @@ - ;; Naive match found. Qualify the match. - (and (funcall (car order) pattern) - ;; Make sure it is not a previous qualified match. -- (not (member (set-marker match-marker (save-excursion -- (beginning-of-line) -- (point))) -+ (not (member (set-marker match-marker (point-at-bol)) - tag-lines-already-matched)) - (throw 'qualified-match-found nil)) - (if next-line-after-failure-p -@@ -1103,9 +1094,7 @@ + (goto-char pos) + ;; we start skipping left until we found a separator +- (let* ((min (save-excursion (beginning-of-line) (point))) +- (max (save-excursion (end-of-line) (point)))) ++ (let* ((min (point-at-bol)) ++ (max (point-at-eol))) + (if (looking-at (ude-ident-regexp)) + ;; we could be located on a identifier we go left until we found + ;; a non identifier character +@@ -215,13 +215,11 @@ + ;*---------------------------------------------------------------------*/ + (defun ude-tags-balloon-remove (event) + (interactive "e") +- (let* ((point (event-closest-point event)) +- (buffer (event-buffer event)) +- (current (current-buffer))) +- (set-buffer buffer) +- ;; we store the disabled position +- (setq ude-tags-disabled (cons buffer point)) +- (set-buffer current) ++ (let ((point (event-closest-point event)) ++ (buffer (event-buffer event))) ++ (with-current-buffer buffer ++ ;; we store the disabled position ++ (setq ude-tags-disabled (cons buffer point))) + (ude-tags-balloon-delete))) - ;; Find the end of the tag and record the whole tag text. - (search-forward "\177") -- (setq tag-text (buffer-substring (1- (point)) -- (save-excursion (beginning-of-line) -- (point)))) -+ (setq tag-text (buffer-substring (1- (point)) (point-at-bol))) - ;; 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 @@ - (save-excursion - (beginning-of-line) - (let ((bol (point))) -- (and (search-forward "\177" (save-excursion (end-of-line) (point)) t) -+ (and (search-forward "\177" (point-at-eol) t) - (re-search-backward re bol t))))) - - ;;;###autoload ---- ./bmacs/bee/bee-module.el.orig 2011-09-26 01:39:17.000000000 -0600 -+++ ./bmacs/bee/bee-module.el 2011-09-26 09:55:15.709860664 -0600 -@@ -359,8 +359,7 @@ - ;* bee-get-module-name ... */ ;*---------------------------------------------------------------------*/ - (defun bee-get-module-name (buffer) +@@ -262,16 +260,14 @@ + (defun ude-tags-balloon-delete (&optional frame) + (if (consp ude-tags-balloon-region) + (let ((buffer (car ude-tags-balloon-region)) +- (region (cdr ude-tags-balloon-region)) +- (cbuf (current-buffer))) +- (set-buffer buffer) +- (let ((mod (buffer-modified-p)) +- (l '(help-echo ude-balloon-ident mouse-face keymap))) +- (while (consp l) +- (remove-text-property (car region) (cdr region) (car l)) +- (setq l (cdr l))) +- (set-buffer-modified-p mod)) +- (set-buffer cbuf) ++ (region (cdr ude-tags-balloon-region))) ++ (with-current-buffer buffer ++ (let ((mod (buffer-modified-p)) ++ (l '(help-echo ude-balloon-ident mouse-face keymap))) ++ (while (consp l) ++ (remove-text-property (car region) (cdr region) (car l)) ++ (setq l (cdr l))) ++ (set-buffer-modified-p mod))) + (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)) - ;; first we search for the module declaration - (if (re-search-forward (concat "(module[ \n\t]\\(" (ude-ident-regexp) ---- ./bmacs/bee/bee-expand.el.orig 2011-09-26 01:39:17.000000000 -0600 -+++ ./bmacs/bee/bee-expand.el 2011-09-26 09:55:15.708860684 -0600 -@@ -79,8 +79,7 @@ - (defun bee-set-expand-temporary-buffer () - (if (and (bufferp bee-expand-temporary-buffer) - (buffer-live-p bee-expand-temporary-buffer)) -- (save-excursion -- (set-buffer bee-expand-temporary-buffer) -+ (with-current-buffer bee-expand-temporary-buffer - (toggle-read-only nil) - (erase-buffer)) - (setq bee-expand-temporary-buffer (get-buffer-create "*bee tmp expand*")))) -@@ -133,7 +132,7 @@ - (bee-get-temp-name))))) - (bee-set-expand-temporary-buffer) - (set-buffer bee-expand-temporary-buffer) -- (insert-buffer buf) -+ (insert-buffer-substring buf) - (write-file fname nil) - (bee-expand-buffer-internal))) + (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 +@@ -248,6 +248,72 @@ + (defvar id-select-prior-buffer 'nil) + + ;;; ************************************************************************ ++;;; Private variables ++;;; ************************************************************************ ++ ++(defvar id-select-bigger-alist ++ '((char nil) ++ (whitespace id-select-whitespace) ++ (word id-select-word) ++ (symbol id-select-symbol) ++ (punctuation nil) ++ (string id-select-string) ++ (text nil) ++ (comment id-select-comment) ++ (markup-pair nil) ++ (preprocessor-def nil) ++ (sexp id-select-sexp) ++ (sexp-start nil) ++ (sexp-end nil) ++ (sexp-up id-select-sexp-up) ++ (line id-select-line) ++ (sentence id-select-sentence) ++ (brace-def-or-declaration id-select-brace-def-or-declaration) ++ (indent-def id-select-indent-def) ++ (paragraph id-select-paragraph) ++ (page id-select-page) ++ (buffer id-select-buffer) ++ ) ++ "List of (REGION-TYPE-SYMBOL REGION-SELECTION-FUNCTION) pairs. ++Used to go from one thing to a bigger thing. See id-select-bigger-thing. ++Nil value for REGION-SELECTION-FUNCTION means that region type is skipped ++over when trying to grow the region and is only used when a selection is made ++with point on a character that triggers that type of selection. Ordering of ++entries is largely irrelevant to any code that uses this list.") ++ ++ ++(defvar id-select-prior-buffer nil) ++(defvar id-select-prior-point nil) ++ ++(defvar id-select-previous 'char ++ "Most recent type of selection. Must be set by all id-select functions.") ++ ++(defvar id-select-region (cons 'nil 'nil) ++ "Cons cell that contains a region ( . ). ++The function `id-select-set-region' updates and returns it.") ++ ++(defvar id-select-old-region (cons 'nil 'nil) ++ "Cons cell that contains a region ( . ).") ++ ++(defcustom id-select-syntax-alist ++ '((?w id-select-word) ++ (?_ id-select-symbol) ++ (?\" id-select-string) ++ (?\( id-select-sexp-start) ++ (?\$ id-select-sexp-start) ++ (?' id-select-sexp-start) ++ (?\) id-select-sexp-end) ++ (? id-select-whitespace) ++ (?< id-select-comment) ++ (?. id-select-punctuation)) ++ "*List of pairs of the form (SYNTAX-CHAR FUNCTION) used by the function `id-select-syntactical-region'. ++Each FUNCTION takes a single position argument and returns a region ++(start . end) delineating the boundaries of the thing at that position. ++Ordering of entries is largely irrelevant to any code that uses this list." ++ :type '(repeat (list (sexp :tag "Syntax-Char" function))) ++ :group 'id-select) ++ ++;;; ************************************************************************ + ;;; Public functions + ;;; ************************************************************************ ---- ./bmacs/bee/bee-tags.el.orig 2011-09-26 01:39:18.000000000 -0600 -+++ ./bmacs/bee/bee-tags.el 2011-09-26 09:55:15.711860622 -0600 -@@ -66,7 +66,7 @@ - (defun bee-safe-read (port) - (condition-case err - (read port) -- (error f))) -+ (error port))) +@@ -456,7 +522,8 @@ + "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) +- (setq zmacs-region-stays t) ++ (if (featurep 'xemacs) ++ (setq zmacs-region-stays t)) + (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 @@ + (t (let ((min-region (1+ (- (point-max) (point-min)))) + (result) + region region-size) +- (mapcar ++ (mapc + (function + (lambda (sym-func) + (setq region +@@ -1209,71 +1276,5 @@ + (setq id-select-previous 'buffer) + (id-select-set-region (point-min) (point-max))) - ;*---------------------------------------------------------------------*/ - ;* bee-find-afile-module ... */ ---- ./bmacs/bee/bee-indent.el.orig 2011-09-26 01:39:18.000000000 -0600 -+++ ./bmacs/bee/bee-indent.el 2011-09-26 09:55:15.710860643 -0600 -@@ -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-toolbar.el.orig 2011-09-26 01:39:17.000000000 -0600 -+++ ./bmacs/bee/bee-toolbar.el 2011-09-26 09:55:15.709860664 -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"))) +-;;; ************************************************************************ +-;;; Private variables +-;;; ************************************************************************ +- +-(defvar id-select-bigger-alist +- '((char nil) +- (whitespace id-select-whitespace) +- (word id-select-word) +- (symbol id-select-symbol) +- (punctuation nil) +- (string id-select-string) +- (text nil) +- (comment id-select-comment) +- (markup-pair nil) +- (preprocessor-def nil) +- (sexp id-select-sexp) +- (sexp-start nil) +- (sexp-end nil) +- (sexp-up id-select-sexp-up) +- (line id-select-line) +- (sentence id-select-sentence) +- (brace-def-or-declaration id-select-brace-def-or-declaration) +- (indent-def id-select-indent-def) +- (paragraph id-select-paragraph) +- (page id-select-page) +- (buffer id-select-buffer) +- ) +- "List of (REGION-TYPE-SYMBOL REGION-SELECTION-FUNCTION) pairs. +-Used to go from one thing to a bigger thing. See id-select-bigger-thing. +-Nil value for REGION-SELECTION-FUNCTION means that region type is skipped +-over when trying to grow the region and is only used when a selection is made +-with point on a character that triggers that type of selection. Ordering of +-entries is largely irrelevant to any code that uses this list.") +- +- +-(defvar id-select-prior-buffer nil) +-(defvar id-select-prior-point nil) +- +-(defvar id-select-previous 'char +- "Most recent type of selection. Must be set by all id-select functions.") +- +-(defvar id-select-region (cons 'nil 'nil) +- "Cons cell that contains a region ( . ). +-The function `id-select-set-region' updates and returns it.") +- +-(defvar id-select-old-region (cons 'nil 'nil) +- "Cons cell that contains a region ( . ).") +- +-(defcustom id-select-syntax-alist +- '((?w id-select-word) +- (?_ id-select-symbol) +- (?\" id-select-string) +- (?\( id-select-sexp-start) +- (?\$ id-select-sexp-start) +- (?' id-select-sexp-start) +- (?\) id-select-sexp-end) +- (? id-select-whitespace) +- (?< id-select-comment) +- (?. id-select-punctuation)) +- "*List of pairs of the form (SYNTAX-CHAR FUNCTION) used by the function `id-select-syntactical-region'. +-Each FUNCTION takes a single position argument and returns a region +-(start . end) delineating the boundaries of the thing at that position. +-Ordering of entries is largely irrelevant to any code that uses this list." +- :type '(repeat (list (sexp :tag "Syntax-Char" function))) +- :group 'id-select) +- + (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 +@@ -38,8 +38,7 @@ + 'ude-repl-sentinel) + (set-process-filter ude-repl-comint-process + (function ude-repl-output-from-process)) +- (save-excursion +- (set-buffer ude-repl-buffer) ++ (with-current-buffer ude-repl-buffer + (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-09-26 09:55:15.711860622 -0600 ++++ ./bmacs/bee/bee-browse.el 2011-11-23 10:47:33.425521366 -0700 @@ -144,14 +144,16 @@ (select-frame frame) (select-window win) @@ -1132,8 +1077,30 @@ (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))) + + ;*---------------------------------------------------------------------*/ + ;* bee-find-afile-module ... */ --- ./bmacs/bee/bee-usage.el.orig 2011-09-26 01:39:17.000000000 -0600 -+++ ./bmacs/bee/bee-usage.el 2011-09-26 09:55:15.710860643 -0600 ++++ ./bmacs/bee/bee-usage.el 2011-11-23 10:47:33.425521366 -0700 @@ -33,9 +33,7 @@ (goto-char pos) (beginning-of-line) @@ -1152,111 +1119,66 @@ - (goto-line (string-to-number line))) + (forward-line (1- (string-to-number line)))) (ude-error "Can't find buffer for %S" file)))))))) - - ;*---------------------------------------------------------------------*/ ---- ./bmacs/bug/bug-xemacs.el.orig 2011-09-26 01:39:17.000000000 -0600 -+++ ./bmacs/bug/bug-xemacs.el 2011-09-26 09:55:15.717860498 -0600 -@@ -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 ... */ - ;*---------------------------------------------------------------------*/ - (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-extent (line-beginning-position) - (1+ (line-beginning-position)) - buffer))) -@@ -177,8 +178,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-extent (line-beginning-position) - (1+ (line-beginning-position)) ---- ./bmacs/bug/bug-hooking.el.orig 2011-09-26 01:39:17.000000000 -0600 -+++ ./bmacs/bug/bug-hooking.el 2011-09-26 09:55:15.718860478 -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-class.el.orig 2011-09-26 01:39:17.000000000 -0600 -+++ ./bmacs/bug/bug-class.el 2011-09-26 09:55:15.718860478 -0600 -@@ -36,15 +36,13 @@ - ;* bug-file-to-string ... */ + ;*---------------------------------------------------------------------*/ - (defun bug-file-to-string (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 -- (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)) -+ ""))) +- (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"))) - ;*---------------------------------------------------------------------*/ - ;* 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/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 +@@ -79,8 +79,7 @@ + (defun bee-set-expand-temporary-buffer () + (if (and (bufferp bee-expand-temporary-buffer) + (buffer-live-p bee-expand-temporary-buffer)) +- (save-excursion +- (set-buffer bee-expand-temporary-buffer) ++ (with-current-buffer bee-expand-temporary-buffer + (toggle-read-only nil) + (erase-buffer)) + (setq bee-expand-temporary-buffer (get-buffer-create "*bee tmp expand*")))) +@@ -133,7 +132,7 @@ + (bee-get-temp-name))))) + (bee-set-expand-temporary-buffer) + (set-buffer bee-expand-temporary-buffer) +- (insert-buffer buf) ++ (insert-buffer-substring buf) + (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 +@@ -80,7 +80,8 @@ + (display-buffer buffer)))) + (set-buffer buffer) + (bug-connect-buffer buffer) +- (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-09-26 09:55:15.720860436 -0600 ++++ ./bmacs/bug/bug-gnu-emacs.el 2011-11-23 10:47:33.427521324 -0700 @@ -14,6 +14,7 @@ ;*---------------------------------------------------------------------*/ (provide 'bug-gnu-emacs) @@ -1304,8 +1226,44 @@ (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. */ + ;*---------------------------------------------------------------------*/ + (defun bug-line-number (buffer pos) +- (save-restriction +- (set-buffer buffer) ++ (with-current-buffer buffer + (let (start) + (save-excursion + (save-restriction --- ./bmacs/bug/bug-process.el.orig 2011-09-26 01:39:17.000000000 -0600 -+++ ./bmacs/bug/bug-process.el 2011-09-26 09:55:15.719860457 -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))) (or proc (ude-error "Current buffer has no process")) @@ -1404,8 +1362,78 @@ + (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 ... */ + ;*---------------------------------------------------------------------*/ + (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-extent (line-beginning-position) + (1+ (line-beginning-position)) + buffer))) +@@ -177,8 +178,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-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)) ++ ""))) + + ;*---------------------------------------------------------------------*/ + ;* 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-filter.el.orig 2011-09-26 01:39:17.000000000 -0600 -+++ ./bmacs/bug/bug-filter.el 2011-09-26 09:55:15.719860457 -0600 ++++ ./bmacs/bug/bug-filter.el 2011-11-23 10:47:33.428521303 -0700 @@ -51,9 +51,7 @@ ;* bug-buffer-text-properties-at ... */ ;*---------------------------------------------------------------------*/ @@ -1443,51 +1471,34 @@ ;*---------------------------------------------------------------------*/ ;* bug-filter-ident-map ... */ ---- ./bmacs/bug/bug-source.el.orig 2011-09-26 01:39:17.000000000 -0600 -+++ ./bmacs/bug/bug-source.el 2011-09-26 09:55:15.716860518 -0600 -@@ -80,7 +80,8 @@ - (display-buffer buffer)))) - (set-buffer buffer) - (bug-connect-buffer buffer) -- (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-connect.el.orig 2011-09-26 01:39:17.000000000 -0600 -+++ ./bmacs/bug/bug-connect.el 2011-09-26 09:55:15.717860498 -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.el.orig 2011-09-26 01:39:17.000000000 -0600 -+++ ./bmacs/bug/bug.el 2011-09-26 09:55:15.719860457 -0600 -@@ -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-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 diff --git a/bigloo-sendfile.patch b/bigloo-sendfile.patch index 1ae972b..7044be0 100644 --- a/bigloo-sendfile.patch +++ b/bigloo-sendfile.patch @@ -1,6 +1,6 @@ --- runtime/Clib/cports.c.orig 2011-09-26 01:39:18.000000000 -0600 -+++ runtime/Clib/cports.c 2011-09-26 09:49:08.634625907 -0600 -@@ -2048,6 +2048,8 @@ bgl_sendchars( obj_t ip, obj_t op, long ++++ runtime/Clib/cports.c 2011-11-23 11:01:07.370345706 -0700 +@@ -2048,6 +2048,8 @@ bgl_sendchars( obj_t ip, obj_t op, long #endif /* BGL_HAVE_SENDFILE */ if( sz != 0 ) { n = copyfile( op, ip, sz, INPUT_PORT( ip ).sysread ); @@ -9,23 +9,16 @@ } if( n < 0 ) { C_SYSTEM_FAILURE( bglerror( errno ), -@@ -2092,6 +2094,8 @@ bgl_sendchars( obj_t ip, obj_t op, long +@@ -2092,6 +2094,8 @@ bgl_sendchars( obj_t ip, obj_t op, long -> error BGL_GC_HAVE_BLOCKING or BGL_GC_HAVE_DO_BLOCKING required # endif /* BGL_HAVE_DO_BLOCKING */ #endif /* BGL_HAVE_BLOCKING */ + } else { -+ n = 0; ++ n = 0; } if( n < 0 ) -@@ -2130,12 +2134,19 @@ bgl_sendfile( obj_t name, obj_t op, long - /* in the configuration files and used to determine what has */ - /* to be checked before invoking the actual sendfile sys call */ - # if( BGL_SENDFILE_REQUIRE_OUTPUT_SOCKET ) -- if( outp.port.kindof != KINDOF_SOCKET) -+ if( PORT( op ).kindof != KINDOF_SOCKET) - return BFALSE; - # endif +@@ -2136,6 +2140,13 @@ bgl_sendfile( obj_t name, obj_t op, long bgl_output_flush( op, 0, 0 ); diff --git a/bigloo.spec b/bigloo.spec index 75a84f3..388d246 100644 --- a/bigloo.spec +++ b/bigloo.spec @@ -12,14 +12,14 @@ Name: bigloo Version: 3.7a -Release: 1%{?patch_ver:.%{patch_ver}}%{?dist}.2 +Release: 2%{?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 -# Not yet sent upstream: fix some bugs in the sendfile implementation. +# 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. @@ -27,7 +27,7 @@ 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 -# Sent upstream 26 Sep 2011: fix a syntax error in a Makefile. +# Applied upstream: fix a syntax error in a Makefile. Patch3: bigloo-makefile.patch BuildRequires: emacs @@ -244,16 +244,24 @@ mkdir -p $RPM_BUILD_ROOT%{_emacs_sitestartdir} cat > $RPM_BUILD_ROOT%{_emacs_sitestartdir}/bigloo.el < $RPM_BUILD_ROOT%{_xemacs_sitestartdir}/bigloo.el < - 3.7a-2 +- Fix (X)Emacs installations (bz 754592) +- Refresh sendfile patch to match upstream's version + * Thu Oct 20 2011 Marcela Mašláňová - 3.7a-1.2 - rebuild with new gmp without compat lib