[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] master 40b3dcd: New `electric-pair-local-mode'
From: |
João Távora |
Subject: |
[Emacs-diffs] master 40b3dcd: New `electric-pair-local-mode' |
Date: |
Sat, 28 Mar 2015 15:41:41 +0000 |
branch: master
commit 40b3dcd2c06e30048be0bdc32861148a53660c90
Author: Tom Willemse <address@hidden>
Commit: João Távora <address@hidden>
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.
---
doc/emacs/programs.texi | 4 +++-
etc/NEWS | 3 +++
lisp/ChangeLog | 6 ++++++
lisp/elec-pair.el | 16 +++++++++++++++-
4 files changed, 27 insertions(+), 2 deletions(-)
diff --git a/doc/emacs/programs.texi b/doc/emacs/programs.texi
index b161a0c..1fffa23 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
the closing delimiter.
@end itemize
-To toggle Electric Pair mode, type @kbd{M-x electric-pair-mode}.
+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}.
@node Comments
@section Manipulating Comments
diff --git a/etc/NEWS b/etc/NEWS
index 396335e..6de8f03 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -215,6 +215,9 @@ Unicode standards.
** You can access `mouse-buffer-menu' (C-down-mouse-1) using C-f10.
++++
+** New buffer-local `electric-pair-local-mode'.
+
* Changes in Specialized Modes and Packages in Emacs 25.1
** xterm-mouse-mode now supports mouse-tracking (if your xterm supports it).
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 488abb1..40a5790 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,9 @@
+2015-03-28 Tom Willemse <address@hidden>
+
+ * elec-pair.el (electric-pair-local-mode): New command.
+ (electric-pair-mode): Mention `electric-pair-local-mode' in the
+ docstring.
+
2015-03-28 Jan Djärv <address@hidden>
* emacs-lisp/package.el (package-refresh-contents): Add a message at
diff --git a/lisp/elec-pair.el b/lisp/elec-pair.el
index 2cede62..562b294 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
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] master 40b3dcd: New `electric-pair-local-mode',
João Távora <=