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

View file

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