(defvar electric-indent-functions-without-reindent
'(indent-relative indent-to-left-margin indent-relative-maybe
- py-indent-line coffee-indent-line org-indent-line yaml-indent-line
- haskell-indentation-indent-line haskell-indent-cycle haskell-simple-indent
- yaml-indent-line)
+ indent-relative-first-indent-point py-indent-line coffee-indent-line
+ org-indent-line yaml-indent-line haskell-indentation-indent-line
+ haskell-indent-cycle haskell-simple-indent yaml-indent-line)
"List of indent functions that can't reindent.
If `indent-line-function' is one of those, then `electric-indent-mode' will
not try to reindent lines. It is normally better to make the major
"Indent line in proper way for current major mode.
Normally, this is done by calling the function specified by the
variable `indent-line-function'. However, if the value of that
-variable is `indent-relative' or `indent-relative-maybe', handle
-it specially (since those functions are used for tabbing); in
-that case, indent by aligning to the previous non-blank line."
+variable is `indent-relative' or `indent-relative-first-indent-point',
+handle it specially (since those functions are used for tabbing);
+in that case, indent by aligning to the previous non-blank line."
(interactive)
(save-restriction
(widen)
(syntax-propertize (line-end-position))
(if (memq indent-line-function
- '(indent-relative indent-relative-maybe))
+ '(indent-relative
+ indent-relative-maybe
+ indent-relative-first-indent-point))
;; These functions are used for tabbing, but can't be used for
;; indenting. Replace with something ad-hoc.
(let ((column (save-excursion
(define-key vi-com-map "\C-e" 'vi-expose-line-below)
(define-key vi-com-map "\C-f" 'vi-forward-windowful)
(define-key vi-com-map "\C-g" 'keyboard-quit)
- (define-key vi-com-map "\C-i" 'indent-relative-maybe) ; TAB
+ (define-key vi-com-map "\C-i" 'indent-relative-first-indent-point) ; TAB
(define-key vi-com-map "\C-j" 'vi-next-line) ; LFD
(define-key vi-com-map "\C-k" 'vi-kill-line) ; extension
(define-key vi-com-map "\C-l" 'recenter)