+(defcustom aggressive-indent-modes-to-prefer-defun
+ '(emacs-lisp-mode lisp-mode scheme-mode clojure-mode)
+ "List of major-modes in which indenting defun is preferred.
+Add here any major modes with very good definitions of
+`end-of-defun' and `beginning-of-defun', or modes which bug out
+if you have `after-change-functions' (such as paredit).
+
+If current major mode is derived from one of these,
+`aggressive-indent' will call `aggressive-indent-indent-defun'
+after every command. Otherwise, it will call
+`aggressive-indent-indent-region-and-on' after every buffer
+change."
+ :type '(repeat symbol)
+ :package-version '(aggressive-indent . "0.3"))
+
+;;; Preventing indentation
+(defvar aggressive-indent--internal-dont-indent-if