]> git.eshelyaron.com Git - emacs.git/commitdiff
Make 'electric-pair-mode' buffer-local
authorEshel Yaron <me@eshelyaron.com>
Fri, 21 Feb 2025 17:30:55 +0000 (18:30 +0100)
committerEshel Yaron <me@eshelyaron.com>
Fri, 21 Feb 2025 17:30:55 +0000 (18:30 +0100)
doc/emacs/programs.texi
lisp/elec-pair.el
test/lisp/electric-tests.el

index dbc7f84c13b1a9a77d20585787e0c5a1bae9a7a0..f8ae34fd27a66cb7bf5d983c826699c8bc2645e8 100644 (file)
@@ -1057,9 +1057,7 @@ mode to skip whitespace forward before deciding whether to skip over
 the closing delimiter.
 @end itemize
 
-To toggle Electric Pair mode, type @kbd{M-x electric-pair-mode}.  To
-toggle the mode in a single buffer, use @kbd{M-x
-electric-pair-local-mode}.
+To toggle Electric Pair mode, type @kbd{M-x electric-pair-mode}.
 
 @node Comments
 @section Manipulating Comments
index 056ce20300516dcb67641f20fe85e2f9f9625ac8..4093add536a22573299ea8c1a16973248f5bc26e 100644 (file)
@@ -646,46 +646,29 @@ ARG and KILLP are passed directly to
 
 ;;;###autoload
 (define-minor-mode electric-pair-mode
-  "Toggle automatic parens pairing (Electric Pair mode).
-
-Electric Pair mode is a global minor mode.  When enabled, typing
-an open parenthesis automatically inserts the corresponding
-closing parenthesis, and vice versa.  (Likewise for brackets, etc.).
-If the region is active, the parentheses (brackets, etc.) are
-inserted around the region instead.
-
-To toggle the mode in a single buffer, use `electric-pair-local-mode'."
-  :global t :group 'electricity
+  "Toggle automatic parens pairing (Electric Pair mode)."
+  :group 'electricity
   (if electric-pair-mode
       (progn
        (add-hook 'post-self-insert-hook
                  #'electric-pair-post-self-insert-function
-                  50)
+                  50 t)
         (add-hook 'post-self-insert-hook
                  #'electric-pair-open-newline-between-pairs-psif
-                  50)
+                  50 t)
        (add-hook 'self-insert-uses-region-functions
-                 #'electric-pair-will-use-region))
+                 #'electric-pair-will-use-region t))
     (remove-hook 'post-self-insert-hook
-                 #'electric-pair-post-self-insert-function)
+                 #'electric-pair-post-self-insert-function t)
     (remove-hook 'post-self-insert-hook
-                 #'electric-pair-open-newline-between-pairs-psif)
+                 #'electric-pair-open-newline-between-pairs-psif t)
     (remove-hook 'self-insert-uses-region-functions
-                 #'electric-pair-will-use-region)))
+                 #'electric-pair-will-use-region t)))
 
 ;;;###autoload
-(define-minor-mode electric-pair-local-mode
-  "Toggle `electric-pair-mode' only in this buffer."
-  :variable ( electric-pair-mode .
-              (lambda (val) (setq-local electric-pair-mode val)))
-  (cond
-   ((eq electric-pair-mode (default-value 'electric-pair-mode))
-    (kill-local-variable 'electric-pair-mode))
-   ((not (default-value 'electric-pair-mode))
-    ;; Locally enabled, but globally disabled.
-    (electric-pair-mode 1)               ; Setup the hooks.
-    (setq-default electric-pair-mode nil) ; But keep it globally disabled.
-    )))
+(define-globalized-minor-mode global-electric-pair-mode
+  electric-pair-mode electric-pair-mode
+  :group 'electricity)
 
 (provide 'elec-pair)
 
index ac5b47e93dbb17c8fc0a74737f531de44f28e358..1d258a5ffcb9ca4716e65552d5ae5aa9ff6e609b 100644 (file)
@@ -551,7 +551,7 @@ baz\"\""
   "Make sure `electric-pair-mode' does not confuse `undo' (bug#39680)."
   (with-temp-buffer
     (buffer-enable-undo)
-    (electric-pair-local-mode)
+    (electric-pair-mode)
     (let ((last-command-event ?\())
       (ert-simulate-command '(self-insert-command 1)))
     (undo-boundary)