]> code.delx.au - gnu-emacs-elpa/blobdiff - aggressive-indent.el
Fix a bug in the take-10 logic
[gnu-emacs-elpa] / aggressive-indent.el
index 241d0dee8be3c077909ef1e6491438ded228b611..5c2f7b8b971ea34e2541b56f55a13f03f0efc87b 100644 (file)
@@ -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