diff options
author | Eli Zaretskii <eliz@gnu.org> | 2001-11-20 18:26:55 +0000 |
---|---|---|
committer | Eli Zaretskii <eliz@gnu.org> | 2001-11-20 18:26:55 +0000 |
commit | 381321494657eda6861cad615a95a4745f15c453 (patch) | |
tree | cbc27809aa6d3bd27234fabec59eaa34791dcac2 /lisp/emacs-lisp/re-builder.el | |
parent | 84c7e2dc6143b49707fa9481f0626feee1962a47 (diff) | |
download | emacs-381321494657eda6861cad615a95a4745f15c453.tar.gz emacs-381321494657eda6861cad615a95a4745f15c453.tar.bz2 emacs-381321494657eda6861cad615a95a4745f15c453.zip |
(re-builder): Don't re-enter RE Builder Mode.
Diffstat (limited to 'lisp/emacs-lisp/re-builder.el')
-rw-r--r-- | lisp/emacs-lisp/re-builder.el | 31 |
1 files changed, 17 insertions, 14 deletions
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." |