# HG changeset patch # User Eli Zaretskii # Date 1006280702 0 # Node ID a2bce9d9c349ec06457fcc2c03d325d0f5d571c4 # Parent 2186cf9476ba713504ba573dc167723dc3aef9bb (re-builder): Don't re-enter RE Builder Mode. diff -r 2186cf9476ba -r a2bce9d9c349 lisp/emacs-lisp/re-builder.el --- a/lisp/emacs-lisp/re-builder.el Tue Nov 20 18:20:56 2001 +0000 +++ b/lisp/emacs-lisp/re-builder.el Tue Nov 20 18:25:02 2001 +0000 @@ -313,20 +313,23 @@ "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."