From 381321494657eda6861cad615a95a4745f15c453 Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Tue, 20 Nov 2001 18:26:55 +0000 Subject: [PATCH] (re-builder): Don't re-enter RE Builder Mode. --- lisp/ChangeLog | 10 ++++++++++ lisp/emacs-lisp/re-builder.el | 31 +++++++++++++++++-------------- 2 files changed, 27 insertions(+), 14 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index f43a72bb15d..dfa1863f318 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,13 @@ +2001-11-20 Juanma Barranquero + + * emacs-lisp/re-builder.el (reb-change-target-buffer): New + function. + (top-level): Bind it to C-c C-b. + (re-builder): Don't re-enter RE Builder Mode. + + * bs.el (bs-delete): Signal an error if the buffer cannot be + deleted. + 2001-11-20 Stefan Monnier * emacs-lisp/lisp-mode.el (lisp-fill-paragraph): Don't move back diff --git a/lisp/emacs-lisp/re-builder.el b/lisp/emacs-lisp/re-builder.el index 350a569a456..3c98827df23 100644 --- a/lisp/emacs-lisp/re-builder.el +++ b/lisp/emacs-lisp/re-builder.el @@ -313,20 +313,23 @@ Except for Lisp syntax this is the same as `reb-regexp'.") "Call up the RE Builder for the current window." (interactive) - (if reb-target-buffer - (reb-delete-overlays)) - (setq reb-target-buffer (current-buffer) - reb-target-window (selected-window) - reb-window-config (current-window-configuration)) - (select-window (split-window (selected-window) (- (window-height) 4))) - (switch-to-buffer (get-buffer-create reb-buffer)) - (erase-buffer) - (reb-insert-regexp) - (goto-char (+ 2 (point-min))) - (cond - ((reb-lisp-syntax-p) - (reb-lisp-mode)) - (t (reb-mode)))) + (if (and (string= (buffer-name) reb-buffer) + (memq major-mode '(reb-mode reb-lisp-mode))) + (message "Already in the RE Builder") + (if reb-target-buffer + (reb-delete-overlays)) + (setq reb-target-buffer (current-buffer) + reb-target-window (selected-window) + reb-window-config (current-window-configuration)) + (select-window (split-window (selected-window) (- (window-height) 4))) + (switch-to-buffer (get-buffer-create reb-buffer)) + (erase-buffer) + (reb-insert-regexp) + (goto-char (+ 2 (point-min))) + (cond + ((reb-lisp-syntax-p) + (reb-lisp-mode)) + (t (reb-mode))))) (defun reb-change-target-buffer (buf) "Change the target buffer and display it in the target window." -- 2.39.2