]> code.delx.au - gnu-emacs-elpa/blobdiff - aggressive-indent.el
Version 1.7
[gnu-emacs-elpa] / aggressive-indent.el
index 5ee9e35ae6c8564dcd0d9097d916cd0930f4c6d2..9530bf2a993b00123ab68c36b4841ac2e80edff7 100644 (file)
@@ -4,7 +4,7 @@
 
 ;; Author: Artur Malabarba <emacs@endlessparentheses.com>
 ;; URL: https://github.com/Malabarba/aggressive-indent-mode
-;; Version: 1.6
+;; Version: 1.7
 ;; Package-Requires: ((emacs "24.1") (cl-lib "0.5"))
 ;; Keywords: indent lisp maint tools
 ;; Prefix: aggressive-indent
@@ -349,8 +349,9 @@ or messages."
   "List of (left right) limit of regions changed in the last command loop.")
 (make-variable-buffer-local 'aggressive-indent--changed-list)
 
-(defvar-local aggressive-indent--balanced-parens t
+(defvar aggressive-indent--balanced-parens t
   "Non-nil if the current-buffer has balanced parens.")
+(make-variable-buffer-local 'aggressive-indent--balanced-parens)
 
 (defun aggressive-indent--proccess-changed-list-and-indent ()
   "Indent the regions in `aggressive-indent--changed-list'."
@@ -360,7 +361,7 @@ or messages."
          (if (cl-member-if #'derived-mode-p aggressive-indent-modes-to-prefer-defun)
              #'aggressive-indent--softly-indent-defun #'aggressive-indent--softly-indent-region-and-on)))
     ;; Take the 10 most recent changes.
-    (let ((cell (last aggressive-indent--changed-list 10)))
+    (let ((cell (nthcdr 10 aggressive-indent--changed-list)))
       (when cell (setcdr cell nil)))
     ;; (message "----------")
     (while aggressive-indent--changed-list
@@ -386,8 +387,7 @@ Store result in `aggressive-indent--balanced-parens'."
   (setq aggressive-indent--balanced-parens
         (save-excursion
           (ignore-errors
-            (check-parens)
-            t))))
+            (zerop (car (syntax-ppss (point-max))))))))
 
 (defun aggressive-indent--keep-track-of-changes (l r &rest _)
   "Store the limits (L and R) of each change in the buffer."