--- bmacs/bee/bee-browse.el.orig 2020-05-12 00:35:36.000000000 -0600 +++ bmacs/bee/bee-browse.el 2020-10-19 13:55:40.598346930 -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/bee/bee-config.el.orig 2020-05-12 00:35:36.000000000 -0600 +++ bmacs/bee/bee-config.el 2020-10-19 14:18:24.817708323 -0600 @@ -252,7 +252,8 @@ Setting that variable must change the bu 1 'ude-font-lock-face-12)) "The Bee font-lock specification." - :group 'bee) + :group 'bee + :type 'sexp) ;; bee menu (defcustom bee-imenu-generic-expression @@ -263,7 +264,8 @@ Setting that variable must change the bu ("Macros" "^(\\(define-expander\\|define-macro\\|define-syntax\\)\\s-+(?\\(\\sw+\\)" 2)) "Imenu generic expression for Scheme mode. See `imenu-generic-expression'." - :group 'bee) + :group 'bee + :type 'sexp) ;; compile configuration (defcustom bee-compilation-font-lock-keywords @@ -275,7 +277,8 @@ Setting that variable must change the bu ("[*][*][*] WARNING.*$" . font-lock-comment-face) ("Compilation finished.*$" . ude-ok-face)) "The regular expressions for compilation font lock errors." - :group 'bee) + :group 'bee + :type 'sexp) (defcustom bee-error-regexp "^File \"\\([^\"]+\\)\", line \\([0-9]+\\)" "*The expression that matches Bigloo errors." @@ -284,7 +287,8 @@ Setting that variable must change the bu (defcustom bee-compilation-error-regexp-alist (list bee-error-regexp 1 2) "The expression for compilation errors." - :group 'bee) + :group 'bee + :type 'sexp) ;; afile (defcustom bee-afile-name ".afile" --- bmacs/bee/bee-expand.el.orig 2020-05-12 00:35:36.000000000 -0600 +++ bmacs/bee/bee-expand.el 2020-10-19 13:55:40.598346930 -0600 @@ -79,9 +79,10 @@ (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) - (toggle-read-only nil) + (with-current-buffer bee-expand-temporary-buffer + (if (featurep 'xemacs) + (toggle-read-only 0) + (setq buffer-read-only nil)) (erase-buffer)) (setq bee-expand-temporary-buffer (get-buffer-create "*bee tmp expand*")))) @@ -106,7 +107,7 @@ (funcall completion-hook bee-expand-temporary-buffer)) (delete-file (buffer-file-name bee-expand-temporary-buffer)) (set-buffer-modified-p nil) - (toggle-read-only t) + (if (featurep 'xemacs) (toggle-read-only 1) (setq buffer-read-only t)) (let* ((pop-up-frames t) (lines (+ 3 (count-lines (point-min) (point-max)))) (cur-height (frame-height (selected-frame))) @@ -133,7 +134,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/bee/bee-indent.el.orig 2020-05-12 00:35:36.000000000 -0600 +++ bmacs/bee/bee-indent.el 2020-10-19 14:19:19.025554089 -0600 @@ -157,7 +157,7 @@ of the start of the containing expressio (defun bee-calculate-forced-indent () (when (> (count-lines 1 (point)) 1) (save-excursion - (previous-line 1) + (forward-line -1) (beginning-of-line) (skip-chars-forward " \t") (let ((s (current-column))) @@ -360,7 +360,7 @@ of the start of the containing expressio (defun bee-indent-brace-p (state) (or (and (integerp (car (nthcdr 1 state))) (let ((c (char-after (car (nthcdr 1 state))))) - (or (eq c ?{) (and (eq c ?[) (eq bee-indent-mode 'hop))))) + (or (eq c ?{) (and (eq c ?\[) (eq bee-indent-mode 'hop))))) (let ((op (car (nthcdr 9 state)))) (and (consp op) (let ((po (reverse op)) --- bmacs/bee/bee-mode.el.orig 2020-05-12 00:35:36.000000000 -0600 +++ bmacs/bee/bee-mode.el 2020-10-19 14:20:04.705424126 -0600 @@ -85,8 +85,8 @@ ;; These characters are delimiters but otherwise undefined. ;; Brackets and braces balance for editing convenience. - (modify-syntax-entry ?[ "(] " local-syntax-table) - (modify-syntax-entry ?] ")[ " local-syntax-table) + (modify-syntax-entry ?\[ "(] " local-syntax-table) + (modify-syntax-entry ?\] ")[ " local-syntax-table) (modify-syntax-entry ?{ "(} " local-syntax-table) (modify-syntax-entry ?} "){ " local-syntax-table) --- bmacs/bee/bee-module.el.orig 2020-05-12 00:35:36.000000000 -0600 +++ bmacs/bee/bee-module.el 2020-10-19 13:55:40.600346929 -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-tags.el.orig 2020-05-12 00:35:36.000000000 -0600 +++ bmacs/bee/bee-tags.el 2020-10-19 14:47:13.671672938 -0600 @@ -165,8 +165,7 @@ (let ((old-buffer (find-buffer-visiting (concat ude-root-directory ude-afile-name)))) (if (bufferp old-buffer) - (save-excursion - (set-buffer old-buffer) + (with-current-buffer old-buffer (goto-char (point-min)) (sort (mapcar #'(lambda (x) (symbol-name (car x))) (read old-buffer)) --- bmacs/bee/bee-usage.el.orig 2020-05-12 00:35:36.000000000 -0600 +++ bmacs/bee/bee-usage.el 2020-10-19 13:55:40.600346929 -0600 @@ -33,9 +33,7 @@ (goto-char pos) (beginning-of-line) (point)) - (save-excursion - (end-of-line) - (point))))) + (point-at-eol)))) (vector (concat "def : " define) `(let ((pop-up-frames t)) (pop-to-buffer ,buffer) @@ -271,7 +269,7 @@ It is used to bypass the buffer local va (pop-to-buffer buffer)) (set-buffer buffer) (goto-char (point-min)) - (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-class.el.orig 2020-05-12 00:35:36.000000000 -0600 +++ bmacs/bug/bug-class.el 2020-10-19 13:55:40.600346929 -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-connect.el.orig 2020-05-12 00:35:36.000000000 -0600 +++ bmacs/bug/bug-connect.el 2020-10-19 13:55:40.600346929 -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 2020-05-12 00:35:36.000000000 -0600 +++ bmacs/bug/bug.el 2020-10-19 13:55:40.600346929 -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-filter.el.orig 2020-05-12 00:35:36.000000000 -0600 +++ bmacs/bug/bug-filter.el 2020-10-19 14:48:51.943594453 -0600 @@ -19,6 +19,7 @@ (require 'bug-config) (require 'bug-images) (require 'bee-autoload) +(eval-when-compile (require 'comint)) ;*---------------------------------------------------------------------*/ ;* Global filtering control variables */ @@ -51,9 +52,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 +271,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 +300,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 2020-05-12 00:35:36.000000000 -0600 +++ bmacs/bug/bug-gnu-emacs.el 2020-10-19 13:55:40.601346929 -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-hooking.el.orig 2020-05-12 00:35:36.000000000 -0600 +++ bmacs/bug/bug-hooking.el 2020-10-19 13:55:40.601346929 -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-process.el.orig 2020-05-12 00:35:36.000000000 -0600 +++ bmacs/bug/bug-process.el 2020-10-19 13:55:40.601346929 -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/bug/bug-source.el.orig 2020-05-12 00:35:36.000000000 -0600 +++ bmacs/bug/bug-source.el 2020-10-19 13:55:40.601346929 -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-xemacs.el.orig 2020-05-12 00:35:36.000000000 -0600 +++ bmacs/bug/bug-xemacs.el 2020-10-19 13:55:40.601346929 -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) - (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 @@ static char *arrow[] = { ;* 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/cee/cee-config.el.orig 2020-05-12 00:35:36.000000000 -0600 +++ bmacs/cee/cee-config.el 2020-10-19 14:51:44.559491234 -0600 @@ -31,12 +31,14 @@ ;; online documentation preferred format (defcustom cee-docline-preferred-format '((java-mode . html) (t . info)) "*The docline preferred format." - :group 'cee) + :group 'cee + :type 'sexp) ;; online documentation preferred format (defcustom cee-docline-files '((java-mode . "file:///usr/java/doc/jdk1.3.1/api/java/lang/package-summary.html")) "*The docline external files." - :group 'cee) + :group 'cee + :type 'sexp) ;; online documentation info pages (defcustom cee-info-file-list '("libc.info" "ccp.info" "readline.info") @@ -144,7 +146,8 @@ a short [find-definition] facility." "\\|new\\|malloc\\)\\>\\|[{}]\\)") 'font-lock-keyword-face)) "The Cee font-lock specification." - :group 'cee) + :group 'cee + :type 'sexp) ;*---------------------------------------------------------------------*/ ;* cee-customize ... */ --- bmacs/cee/cee-kbdb.el.orig 2020-05-12 00:35:36.000000000 -0600 +++ bmacs/cee/cee-kbdb.el 2020-10-19 13:55:40.601346929 -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/dbg/dbg-args.el.orig 2020-05-12 00:35:36.000000000 -0600 +++ bmacs/dbg/dbg-args.el 2020-10-19 13:55:40.602346928 -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 ((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))))))))))) ;*---------------------------------------------------------------------*/ @@ -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 (goto-char (event-closest-point event)) (message "point: %S" (point)) --- bmacs/dbg/dbg-breakpoint.el.orig 2020-05-12 00:35:36.000000000 -0600 +++ bmacs/dbg/dbg-breakpoint.el 2020-10-19 13:55:40.602346928 -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 2020-05-12 00:35:36.000000000 -0600 +++ bmacs/dbg/dbg-connect.el 2020-10-19 13:55:40.602346928 -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-display.el.orig 2020-05-12 00:35:36.000000000 -0600 +++ bmacs/dbg/dbg-display.el 2020-10-19 13:55:40.602346928 -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 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 @@ 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))))))))))) ;*---------------------------------------------------------------------*/ @@ -248,8 +246,7 @@ This is implemented using the DBG `displ (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.el.orig 2020-05-12 00:35:36.000000000 -0600 +++ bmacs/dbg/dbg.el 2020-10-19 13:55:40.602346928 -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 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 @@ 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 "/-\\|")) - (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 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) + (with-current-buffer buffer (let (start) (save-excursion (save-restriction --- bmacs/dbg/dbg-filter.el.orig 2020-05-12 00:35:36.000000000 -0600 +++ bmacs/dbg/dbg-filter.el 2020-10-19 13:55:40.603346928 -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-locals.el.orig 2020-05-12 00:35:36.000000000 -0600 +++ bmacs/dbg/dbg-locals.el 2020-10-19 13:55:40.603346928 -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-mode.el.orig 2020-05-12 00:35:36.000000000 -0600 +++ bmacs/dbg/dbg-mode.el 2020-10-19 13:55:40.603346928 -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-source.el.orig 2020-05-12 00:35:36.000000000 -0600 +++ bmacs/dbg/dbg-source.el 2020-10-19 13:55:40.603346928 -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 2020-05-12 00:35:36.000000000 -0600 +++ bmacs/dbg/dbg-stack.el 2020-10-19 13:55:40.603346928 -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/ude/id-select.el.orig 2020-05-12 00:35:36.000000000 -0600 +++ bmacs/ude/id-select.el 2020-10-19 14:08:10.331732736 -0600 @@ -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 ;;; ************************************************************************ @@ -290,7 +356,10 @@ the minibuffer." (if (and (boundp 'transient-mark-mode) transient-mark-mode) (setq mark-active t)) - (and (interactive-p) id-select-display-type + (and (if (featurep 'xemacs) + (interactive-p) + (called-interactively-p 'interactive)) + id-select-display-type (message "%s" id-select-previous)) (run-hooks 'id-select-thing-hook) t)))) @@ -316,7 +385,7 @@ the type of selection is displayed in th ;; Emacs 19 ((and (boundp 'interprogram-cut-function) interprogram-cut-function) - (x-set-selection 'PRIMARY (buffer-substring (point) (mark))))) + (gui-set-selection 'PRIMARY (buffer-substring (point) (mark))))) (message "%s" id-select-previous))) t) (t (setq this-command 'mouse-start-selection) @@ -425,7 +494,9 @@ does not have a `>' terminator character ((null tag) (error "(id-select-goto-matching-tag): No following point")) ((null result) - (if (interactive-p) + (if (if (featurep 'xemacs) + (interactive-p) + (called-interactively-p 'interactive)) (progn (beep) (message "(id-select-goto-matching-tag): No matching tag for %s>" @@ -456,7 +527,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) - (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 +549,7 @@ The character at POS is selected if no o (t (let ((min-region (1+ (- (point-max) (point-min)))) (result) region region-size) - (mapcar + (mapc (function (lambda (sym-func) (setq region @@ -1209,71 +1281,5 @@ list, id-select-markup-modes." (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/plugin.el.orig 2020-05-12 00:35:36.000000000 -0600 +++ bmacs/ude/plugin.el 2020-10-19 13:55:40.604346927 -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-about.el.orig 2020-05-12 00:35:36.000000000 -0600 +++ bmacs/ude/ude-about.el 2020-10-19 13:55:40.604346927 -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 2020-05-12 00:35:36.000000000 -0600 +++ bmacs/ude/ude-autoload.el 2020-10-19 13:55:40.604346927 -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-compile.el.orig 2020-05-12 00:35:36.000000000 -0600 +++ bmacs/ude/ude-compile.el 2020-10-19 14:06:13.250832868 -0600 @@ -316,7 +316,7 @@ Executed hooks are removed from that lis (if ude-compile-p (progn (setq font-lock-defaults '(compilation-font-lock-keywords-tmp t)) - (font-lock-fontify-buffer) + (if (featurep 'xemacs) (font-lock-fontify-buffer) (font-lock-ensure)) (setq ude-last-compile-buffer buffer) ;; MS: 5 jul 2010, commented out ;; (compile-error-at-point) @@ -344,8 +344,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/ude/ude-docline.el.orig 2020-05-12 00:35:36.000000000 -0600 +++ bmacs/ude/ude-docline.el 2020-10-19 14:10:57.161590112 -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 + (if (featurep 'xemacs) (font-lock-fontify-buffer) (font-lock-ensure)))))) (ude-pop-to-info)))))) ;*---------------------------------------------------------------------*/ @@ -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 + (if (featurep 'xemacs) (font-lock-fontify-buffer) (font-lock-ensure)))))) (ude-pop-to-info))))) ;*---------------------------------------------------------------------*/ @@ -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-error.el.orig 2020-05-12 00:35:36.000000000 -0600 +++ bmacs/ude/ude-error.el 2020-10-19 14:01:56.402052659 -0600 @@ -14,6 +14,7 @@ (provide 'ude-error) (require 'ude-custom) (require (if (featurep 'xemacs) 'bmacs-xemacs 'bmacs-gnu-emacs)) +(eval-when-compile (require 'bmacs-config)) ;*---------------------------------------------------------------------*/ ;* ude-error ... */ --- bmacs/ude/ude-icon.el.orig 2020-05-12 00:35:36.000000000 -0600 +++ bmacs/ude/ude-icon.el 2020-10-19 13:55:40.605346927 -0600 @@ -19,6 +19,7 @@ (require 'ude-custom) ;;; add to emacs image-load-path the directory containing the toolbar icons +(defvar image-load-path nil) (add-to-list 'image-load-path (concat bmacs-lispdir "/" ude-toolbar-image-directory)) --- bmacs/ude/ude-ident.el.orig 2020-05-12 00:35:36.000000000 -0600 +++ bmacs/ude/ude-ident.el 2020-10-19 13:55:40.605346927 -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 @@ ;*---------------------------------------------------------------------*/ (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))) ;*---------------------------------------------------------------------*/ @@ -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-info.el.orig 2020-05-12 00:35:36.000000000 -0600 +++ bmacs/ude/ude-info.el 2020-10-19 14:06:59.154793603 -0600 @@ -131,7 +131,7 @@ (add-hook 'Info-select-hook #'(lambda () (if ude-info-fontify - (font-lock-fontify-buffer)))) + (if (featurep 'xemacs) (font-lock-fontify-buffer) (font-lock-ensure))))) (add-hook 'Info-startup-hook #'(lambda () (let ((kwd ude-info-font-lock-keywords)) --- bmacs/ude/ude-makefile.el.orig 2020-05-12 00:35:36.000000000 -0600 +++ bmacs/ude/ude-makefile.el 2020-10-19 13:55:40.605346927 -0600 @@ -209,14 +209,12 @@ (interactive) (let ((default-directory ude-root-directory)) (if (and (stringp ude-makefile) (file-exists-p ude-makefile)) - (let ((buffer (current-buffer))) + (progn (message "Switching to high debugging mode...") (setq ude-compile-mode 'debug) (if (bufferp ude-last-compile-buffer) - (progn - (set-buffer ude-last-compile-buffer) - (ude-set-compilation-modeline) - (set-buffer buffer))) + (with-current-buffer ude-last-compile-buffer + (ude-set-compilation-modeline))) (let* ((cmd (format "%s -o %s -debug" ude-makemake ude-makefile)) @@ -234,14 +232,12 @@ (interactive) (let ((default-directory ude-root-directory)) (if (and (stringp ude-makefile) (file-exists-p ude-makefile)) - (let ((buffer (current-buffer))) + (progn (message "Switching to development mode...") (setq ude-compile-mode 'devel) (if (bufferp ude-last-compile-buffer) - (progn - (set-buffer ude-last-compile-buffer) - (ude-set-compilation-modeline) - (set-buffer buffer))) + (with-current-buffer ude-last-compile-buffer + (ude-set-compilation-modeline))) (let* ((cmd (format "%s -o %s -devel" ude-makemake ude-makefile)) @@ -259,14 +255,12 @@ (interactive) (let ((default-directory ude-root-directory)) (if (and (stringp ude-makefile) (file-exists-p ude-makefile)) - (let ((buffer (current-buffer))) + (progn (message "Switching to final mode...") (setq ude-compile-mode 'final) (if (bufferp ude-last-compile-buffer) - (progn - (set-buffer ude-last-compile-buffer) - (ude-set-compilation-modeline) - (set-buffer buffer))) + (with-current-buffer ude-last-compile-buffer + (ude-set-compilation-modeline))) (let* ((cmd (format "%s -o %s -final" ude-makemake ude-makefile)) @@ -284,13 +278,11 @@ (interactive "SProject name: ") (let ((default-directory ude-root-directory)) (if (and (stringp ude-makefile) (file-exists-p ude-makefile)) - (let ((buffer (current-buffer))) + (progn (message (format "Setting project name to %S..." arg)) (if (bufferp ude-last-compile-buffer) - (progn - (set-buffer ude-last-compile-buffer) - (ude-set-compilation-modeline) - (set-buffer buffer))) + (with-current-buffer ude-last-compile-buffer + (ude-set-compilation-modeline))) (let* ((cmd (format "%s -o %s -project %s" ude-makemake ude-makefile --- bmacs/ude/ude-repl.el.orig 2020-05-12 00:35:36.000000000 -0600 +++ bmacs/ude/ude-repl.el 2020-10-19 13:55:40.605346927 -0600 @@ -43,8 +43,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/xemacs-etags.el.orig 2020-05-12 00:35:36.000000000 -0600 +++ bmacs/xemacs-etags.el 2020-10-19 13:55:40.606346926 -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)))) - (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 @@ file the tag was in." (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 @@ Assumes the tags table is the current bu (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 @@ 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))) - (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 @@ 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. - (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 @@ See documentation of variable `tags-file ;; 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 @@ See documentation of variable `tags-file (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