@ -297,40 +297,28 @@ The body of the advice is in BODY."
( with-region-or-buffer untabify )
( with-region-or-buffer untabify )
;; automatically indenting yanked text if in programming-modes
;; automatically indenting yanked text if in programming-modes
( defvar yank-indent-modes
' ( LaTeX-mode TeX-mode )
" Modes in which to indent regions that are yanked (or yank-popped).
Only modes that don 't derive from ` prog-mode ' should be listed here. " )
( defvar yank-indent-blacklisted-modes
' ( python-mode slim-mode haml-mode )
" Modes for which auto-indenting is suppressed. " )
( defvar yank-advised-indent-threshold 1000
" Threshold (# chars) over which indentation does not automatically occur. " )
( defun yank-advised-indent-function ( beg end )
( defun yank-advised-indent-function ( beg end )
" Do indentation, as long as the region isn't too large. "
" Do indentation, as long as the region isn't too large. "
( if ( <= ( - end beg ) yank-advised -indent-threshold )
( if ( <= ( - end beg ) prelude-yank-indent-threshold )
( indent-region beg end nil ) ) )
( indent-region beg end nil ) ) )
( defadvice yank ( after yank-indent activate )
( defadvice yank ( after yank-indent activate )
" If current mode is one of 'yank-indent-modes,
" If current mode is one of 'prelude-yank-indent-modes,
indent yanked text ( with prefix arg don 't indent ) . "
indent yanked text ( with prefix arg don 't indent ) . "
( if ( and ( not ( ad-get-arg 0 ) )
( if ( and ( not ( ad-get-arg 0 ) )
( not ( member major-mode yank-indent-blacklisted -modes) )
( not ( member major-mode prelude-indent-sensitive-modes ) )
( or ( derived-mode-p 'prog-mode )
( or ( derived-mode-p 'prog-mode )
( member major-mode yank-indent-modes ) ) )
( member major-mode prelude-yank-indent-modes ) ) )
( let ( ( transient-mark-mode nil ) )
( let ( ( transient-mark-mode nil ) )
( yank-advised-indent-function ( region-beginning ) ( region-end ) ) ) ) )
( yank-advised-indent-function ( region-beginning ) ( region-end ) ) ) ) )
( defadvice yank-pop ( after yank-pop-indent activate )
( defadvice yank-pop ( after yank-pop-indent activate )
" If current mode is one of `yank-indent-modes' ,
" If current mode is one of `prelude- yank-indent-modes' ,
indent yanked text ( with prefix arg don 't indent ) . "
indent yanked text ( with prefix arg don 't indent ) . "
( when ( and ( not ( ad-get-arg 0 ) )
( when ( and ( not ( ad-get-arg 0 ) )
( not ( member major-mode yank-indent-blacklisted -modes) )
( not ( member major-mode prelude-indent-sensitive -modes) )
( or ( derived-mode-p 'prog-mode )
( or ( derived-mode-p 'prog-mode )
( member major-mode yank-indent-modes ) ) )
( member major-mode prelude- yank-indent-modes) ) )
( let ( ( transient-mark-mode nil ) )
( let ( ( transient-mark-mode nil ) )
( yank-advised-indent-function ( region-beginning ) ( region-end ) ) ) ) )
( yank-advised-indent-function ( region-beginning ) ( region-end ) ) ) ) )