aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTom Willemse2015-03-28 14:43:33 +0000
committerJoão Távora2015-03-28 15:16:13 +0000
commit40b3dcd2c06e30048be0bdc32861148a53660c90 (patch)
treeb3e8786fe490020562b306d42b193d8921e2127d
parentbe5e9348dc137d06655676e686f153cf33de4f28 (diff)
downloademacs-40b3dcd2c06e30048be0bdc32861148a53660c90.tar.gz
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.
-rw-r--r--doc/emacs/programs.texi4
-rw-r--r--etc/NEWS3
-rw-r--r--lisp/ChangeLog6
-rw-r--r--lisp/elec-pair.el16
4 files changed, 27 insertions, 2 deletions
diff --git a/doc/emacs/programs.texi b/doc/emacs/programs.texi
index b161a0cc63b..1fffa233e56 100644
--- a/doc/emacs/programs.texi
+++ b/doc/emacs/programs.texi
@@ -870,7 +870,9 @@ mode to skip whitespace forward before deciding whether to skip over
870the closing delimiter. 870the closing delimiter.
871@end itemize 871@end itemize
872 872
873To toggle Electric Pair mode, type @kbd{M-x electric-pair-mode}. 873To toggle Electric Pair mode, type @kbd{M-x electric-pair-mode}. To
874toggle the mode in a single buffer, use @kbd{M-x
875electric-pair-local-mode}.
874 876
875@node Comments 877@node Comments
876@section Manipulating Comments 878@section Manipulating Comments
diff --git a/etc/NEWS b/etc/NEWS
index 396335edffc..6de8f030d94 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -215,6 +215,9 @@ Unicode standards.
215 215
216** You can access `mouse-buffer-menu' (C-down-mouse-1) using C-f10. 216** You can access `mouse-buffer-menu' (C-down-mouse-1) using C-f10.
217 217
218+++
219** New buffer-local `electric-pair-local-mode'.
220
218 221
219* Changes in Specialized Modes and Packages in Emacs 25.1 222* Changes in Specialized Modes and Packages in Emacs 25.1
220** xterm-mouse-mode now supports mouse-tracking (if your xterm supports it). 223** xterm-mouse-mode now supports mouse-tracking (if your xterm supports it).
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 488abb1b39b..40a57902d1d 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,9 @@
12015-03-28 Tom Willemse <tom@ryuslash.org>
2
3 * elec-pair.el (electric-pair-local-mode): New command.
4 (electric-pair-mode): Mention `electric-pair-local-mode' in the
5 docstring.
6
12015-03-28 Jan Djärv <jan.h.d@swipnet.se> 72015-03-28 Jan Djärv <jan.h.d@swipnet.se>
2 8
3 * emacs-lisp/package.el (package-refresh-contents): Add a message at 9 * emacs-lisp/package.el (package-refresh-contents): Add a message at
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.
557 557
558Electric Pair mode is a global minor mode. When enabled, typing 558Electric Pair mode is a global minor mode. When enabled, typing
559an open parenthesis automatically inserts the corresponding 559an open parenthesis automatically inserts the corresponding
560closing parenthesis. (Likewise for brackets, etc.)." 560closing parenthesis. (Likewise for brackets, etc.). To toggle
561the mode in a single buffer, use `electric-pair-local-mode'."
561 :global t :group 'electricity 562 :global t :group 'electricity
562 (if electric-pair-mode 563 (if electric-pair-mode
563 (progn 564 (progn
@@ -571,6 +572,19 @@ closing parenthesis. (Likewise for brackets, etc.)."
571 (remove-hook 'self-insert-uses-region-functions 572 (remove-hook 'self-insert-uses-region-functions
572 #'electric-pair-will-use-region))) 573 #'electric-pair-will-use-region)))
573 574
575;;;###autoload
576(define-minor-mode electric-pair-local-mode
577 "Toggle `electric-pair-mode' only in this buffer."
578 :variable (buffer-local-value 'electric-pair-mode (current-buffer))
579 (cond
580 ((eq electric-pair-mode (default-value 'electric-pair-mode))
581 (kill-local-variable 'electric-pair-mode))
582 ((not (default-value 'electric-pair-mode))
583 ;; Locally enabled, but globally disabled.
584 (electric-pair-mode 1) ; Setup the hooks.
585 (setq-default electric-pair-mode nil) ; But keep it globally disabled.
586 )))
587
574(provide 'elec-pair) 588(provide 'elec-pair)
575 589
576;;; elec-pair.el ends here 590;;; elec-pair.el ends here