summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp/lisp-mode.el
diff options
context:
space:
mode:
authorJoão Távora <joaotavora@gmail.com>2013-12-26 22:02:49 +0000
committerJoão Távora <joaotavora@gmail.com>2013-12-26 22:02:49 +0000
commit3b8d5131a316ad2fdc206744cec489a11f0bf1d3 (patch)
tree7a717cd2152141fdd7e5abe20926c7c0d4092869 /lisp/emacs-lisp/lisp-mode.el
parentfbcc63a3176389f39cb06f5a56f2abb29b06eaab (diff)
downloademacs-3b8d5131a316ad2fdc206744cec489a11f0bf1d3.tar.gz
Make Electric Pair mode smarter/more useful:
* lisp/electric.el: Pairing/skipping helps preserve balance. Autobackspacing behaviour. Opens extra newlines between pairs. Skip whitespace before closing delimiters. * lisp/emacs-lisp/lisp-mode.el (lisp-mode-variables): Use new features. * test/automated/electric-tests.lisp: New file. * doc/emacs/programs.texi: Describe new features. * lisp/simple.el: Pass non-nil interactive arg to newline call inside newline-and-indent.
Diffstat (limited to 'lisp/emacs-lisp/lisp-mode.el')
-rw-r--r--lisp/emacs-lisp/lisp-mode.el8
1 files changed, 7 insertions, 1 deletions
diff --git a/lisp/emacs-lisp/lisp-mode.el b/lisp/emacs-lisp/lisp-mode.el
index b7bd33f628f..f1eae18c507 100644
--- a/lisp/emacs-lisp/lisp-mode.el
+++ b/lisp/emacs-lisp/lisp-mode.el
@@ -472,7 +472,13 @@ font-lock keywords will not be case sensitive."
(font-lock-mark-block-function . mark-defun)
(font-lock-syntactic-face-function
. lisp-font-lock-syntactic-face-function)))
- (setq-local prettify-symbols-alist lisp--prettify-symbols-alist))
+ (setq-local prettify-symbols-alist lisp--prettify-symbols-alist)
+ ;; electric
+ (when elisp
+ (setq-local electric-pair-text-pairs
+ (cons '(?\` . ?\') electric-pair-text-pairs)))
+ (setq-local electric-pair-skip-whitespace 'chomp)
+ (setq-local electric-pair-open-newline-between-pairs nil))
(defun lisp-outline-level ()
"Lisp mode `outline-level' function."