]> code.delx.au - gnu-emacs-elpa/commitdiff
Merge branch 'dev'
authorArtur Malabarba <bruce.connor.am@gmail.com>
Fri, 17 Oct 2014 23:18:24 +0000 (00:18 +0100)
committerArtur Malabarba <bruce.connor.am@gmail.com>
Fri, 17 Oct 2014 23:18:24 +0000 (00:18 +0100)
Conflicts:
aggressive-indent.el

1  2 
aggressive-indent.el

diff --combined aggressive-indent.el
index b3ca3d4937aed16d275fe136004787db585178a4,0c6df3625b9eb9d9df6aa01dfcc8fc9cf89c23e5..ac3afee3abbba84dc9d25caa67a971826c328b81
@@@ -1,4 -1,4 +1,4 @@@
 -;;; aggressive-indent.el --- Minor mode to keep your code always indented. More aggressive than electric-indent-mode.
 +;;; aggressive-indent.el --- Minor mode to aggressively keep your code always indented
  
  ;; Copyright (C) 2014 Artur Malabarba <bruce.connor.am@gmail.com>
  
  ;; Separator: -
  
  ;;; Commentary:
 -;; 
 +;;
  ;; `electric-indent-mode' is enough to keep your code nicely aligned when
  ;; all you do is type. However, once you start shifting blocks around,
  ;; transposing lines, or slurping and barfing sexps, indentation is bound
  ;; to go wrong.
 -;; 
 +;;
  ;; `aggressive-indent-mode' is a minor mode that keeps your code always
  ;; indented. It reindents after every command, making it more reliable
  ;; than `electric-indent-mode'.
 -;; 
 +;;
  ;; ### Instructions ###
 -;; 
 +;;
  ;; This package is available fom Melpa, you may install it by calling
 -;; 
 +;;
  ;;     M-x package-install RET aggressive-indent
 -;; 
 +;;
  ;; Then activate it with
 -;; 
 +;;
  ;;     (add-hook 'emacs-lisp-mode-hook #'aggressive-indent-mode)
  ;;     (add-hook 'css-mode-hook #'aggressive-indent-mode)
 -;; 
 +;;
  ;; You can use this hook on any mode you want, `aggressive-indent' is not
  ;; exclusive to emacs-lisp code. In fact, if you want to turn it on for
  ;; every programming mode, you can do something like:
 -;; 
 +;;
  ;;     (global-aggressive-indent-mode 1)
  ;;     (add-to-list 'aggressive-indent-excluded-modes 'html-mode)
 -;;     
 +;;
  ;; ### Manual Installation ###
 -;;     
 +;;
  ;; If you don't want to install from Melpa, you can download it manually,
  ;; place it in your `load-path' and require it with
 -;; 
 +;;
  ;;     (require 'aggressive-indent)
  
  ;;; Instructions:
@@@ -101,7 -101,9 +101,9 @@@ Please include this in your report!
  
  \f
  ;;; Start of actual Code:
- (defcustom excluded-modes '(text-mode tabulated-list-mode special-mode)
+ (defcustom excluded-modes
+   '(text-mode tabulated-list-mode special-mode
+               minibuffer-inactive-mode)
    "Modes in which `aggressive-indent-mode' should not be activated.
  This variable is only used if `global-aggressive-indent-mode' is
  active. If the minor mode is turned on with the local command,
@@@ -138,29 -140,33 +140,33 @@@ Meant for use in hooks. Interactively, 
    "Indent current defun.
  Throw an error if parentheses are unbalanced."
    (interactive)
-   (indent-region
-    (save-excursion (beginning-of-defun 1) (point))
-    (save-excursion (end-of-defun 1) (point))))
+   (let ((p (point-marker)))
+     (set-marker-insertion-type p t)
+     (indent-region
+      (save-excursion (beginning-of-defun 1) (point))
+      (save-excursion (end-of-defun 1) (point)))
+     (goto-char p)))
  
  \f
  ;;; Minor modes
 -:autoload
 -(define-globalized-minor-mode global-aggressive-indent-mode 
 -  mode mode)
 -
  :autoload
  (define-minor-mode mode nil nil " =>"
    '(("\C-c\C-q" . aggressive-indent-indent-defun))
    (if mode
        (if (and global-aggressive-indent-mode
-                (cl-member-if #'derived-mode-p excluded-modes))
+                (or (cl-member-if #'derived-mode-p excluded-modes)
+                    buffer-read-only))
            (mode -1)
          (setq-local electric-indent-mode nil)
          (add-hook 'post-command-hook #'-softly-indent-defun nil 'local))
      (remove-hook 'post-command-hook #'-softly-indent-defun 'local)))
  
 +:autoload
 +(define-globalized-minor-mode global-aggressive-indent-mode
 +  mode mode)
 +
  :autoload
- (defalias #'aggressive-indent-global-mode
+ (defalias 'aggressive-indent-global-mode 
    #'global-aggressive-indent-mode)
  )