spacemacs: fix undo of auto-indentation of pasted text

Fixes #2346
This commit is contained in:
syl20bnr 2015-09-11 21:01:11 -04:00
parent 44672329fb
commit 520fa4bdb8
1 changed files with 8 additions and 3 deletions

View File

@ -911,15 +911,20 @@ first element is the symbol `image')."
(indent-region beg end nil)))
(spacemacs|advise-commands
"indent" (yank yank-pop evil-paste-before evil-paste-after) after
"indent" (yank yank-pop evil-paste-before evil-paste-after) around
"If current mode is not one of spacemacs-indent-sensitive-modes
indent yanked text (with universal arg don't indent)."
(evil-start-undo-step)
ad-do-it
(if (and (not (equal '(4) (ad-get-arg 0)))
(not (member major-mode spacemacs-indent-sensitive-modes))
(or (derived-mode-p 'prog-mode)
(member major-mode spacemacs-indent-sensitive-modes)))
(let ((transient-mark-mode nil))
(spacemacs/yank-advised-indent-function (region-beginning) (region-end)))))
(let ((transient-mark-mode nil)
(save-undo buffer-undo-list))
(spacemacs/yank-advised-indent-function (region-beginning)
(region-end))))
(evil-end-undo-step))
(defun spacemacs//intersperse (seq separator)
"Returns a list with `SEPARATOR' added between each element