[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] master efb01e6 3/3: Merge commit '456c40803432b34842e43ceda66cdd1
From: |
Artur Malabarba |
Subject: |
[elpa] master efb01e6 3/3: Merge commit '456c40803432b34842e43ceda66cdd105fbf8866' |
Date: |
Mon, 04 Apr 2016 13:34:09 +0000 |
branch: master
commit efb01e66f7ea5688ec572d243b5378440093c00f
Merge: 7a2da55 456c408
Author: Artur Malabarba <address@hidden>
Commit: Artur Malabarba <address@hidden>
Merge commit '456c40803432b34842e43ceda66cdd105fbf8866'
---
packages/aggressive-indent/aggressive-indent.el | 21 ++++++++++++++++++---
1 files changed, 18 insertions(+), 3 deletions(-)
diff --git a/packages/aggressive-indent/aggressive-indent.el
b/packages/aggressive-indent/aggressive-indent.el
index a744324..a0c8c70 100644
--- a/packages/aggressive-indent/aggressive-indent.el
+++ b/packages/aggressive-indent/aggressive-indent.el
@@ -4,7 +4,7 @@
;; Author: Artur Malabarba <address@hidden>
;; URL: https://github.com/Malabarba/aggressive-indent-mode
-;; Version: 1.5.1
+;; Version: 1.5.2
;; Package-Requires: ((emacs "24.1") (cl-lib "0.5"))
;; Keywords: indent lisp maint tools
;; Prefix: aggressive-indent
@@ -368,10 +368,24 @@ or messages."
(setq aggressive-indent--changed-list
(cdr aggressive-indent--changed-list))))))))))
+(defvar-local aggressive-indent--balanced-parens t
+ "Non-nil if the current-buffer has balanced parens.")
+
+(defun aggressive-indent--check-parens ()
+ "Check if parens are balanced in the current buffer.
+Store result in `aggressive-indent--balanced-parens'."
+ (setq aggressive-indent--balanced-parens
+ (ignore-errors
+ (save-restriction
+ (narrow-to-defun)
+ (check-parens)
+ t))))
+
(defun aggressive-indent--keep-track-of-changes (l r &rest _)
"Store the limits (L and R) of each change in the buffer."
(when aggressive-indent-mode
- (push (list l r) aggressive-indent--changed-list)))
+ (push (list l r) aggressive-indent--changed-list)
+ (aggressive-indent--check-parens)))
;;; Minor modes
;;;###autoload
@@ -393,11 +407,12 @@ or messages."
(memq major-mode '(text-mode fundamental-mode))
buffer-read-only))
(aggressive-indent-mode -1)
- ;; Should electric indent be ON or OFF?
+ ;; Should electric indent be ON or OFF?
(if (or (eq aggressive-indent-dont-electric-modes t)
(cl-member-if #'derived-mode-p
aggressive-indent-dont-electric-modes))
(aggressive-indent--local-electric nil)
(aggressive-indent--local-electric t))
+ (aggressive-indent--check-parens)
(add-hook 'after-change-functions
#'aggressive-indent--keep-track-of-changes nil 'local)
(add-hook 'post-command-hook #'aggressive-indent--indent-if-changed
nil 'local))
;; Clean the hooks