summaryrefslogtreecommitdiff
path: root/lisp/elec-pair.el
diff options
context:
space:
mode:
authorTom Willemse <tom@ryuslash.org>2015-03-28 14:43:33 +0000
committerJoão Távora <joaotavora@gmail.com>2015-03-28 15:16:13 +0000
commit40b3dcd2c06e30048be0bdc32861148a53660c90 (patch)
treeb3e8786fe490020562b306d42b193d8921e2127d /lisp/elec-pair.el
parentbe5e9348dc137d06655676e686f153cf33de4f28 (diff)
downloademacs-40b3dcd2c06e30048be0bdc32861148a53660c90.tar.gz
emacs-40b3dcd2c06e30048be0bdc32861148a53660c90.tar.bz2
emacs-40b3dcd2c06e30048be0bdc32861148a53660c90.zip
New `electric-pair-local-mode'
Fixes: big#19528 * lisp/elec-pair.el (electric-pair-local-mode): New command. (electric-pair-mode): Mention `electric-pair-local-mode' in the docstring.
Diffstat (limited to 'lisp/elec-pair.el')
-rw-r--r--lisp/elec-pair.el16
1 files changed, 15 insertions, 1 deletions
diff --git a/lisp/elec-pair.el b/lisp/elec-pair.el
index 2cede62ab4f..562b29467c1 100644
--- a/lisp/elec-pair.el
+++ b/lisp/elec-pair.el
@@ -557,7 +557,8 @@ the mode if ARG is omitted or nil.
Electric Pair mode is a global minor mode. When enabled, typing
an open parenthesis automatically inserts the corresponding
-closing parenthesis. (Likewise for brackets, etc.)."
+closing parenthesis. (Likewise for brackets, etc.). To toggle
+the mode in a single buffer, use `electric-pair-local-mode'."
:global t :group 'electricity
(if electric-pair-mode
(progn
@@ -571,6 +572,19 @@ closing parenthesis. (Likewise for brackets, etc.)."
(remove-hook 'self-insert-uses-region-functions
#'electric-pair-will-use-region)))
+;;;###autoload
+(define-minor-mode electric-pair-local-mode
+ "Toggle `electric-pair-mode' only in this buffer."
+ :variable (buffer-local-value 'electric-pair-mode (current-buffer))
+ (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.
+ )))
+
(provide 'elec-pair)
;;; elec-pair.el ends here