(interactive (list (prefix-numeric-value current-prefix-arg) t))
(beginning-of-line n)
(skip-chars-forward " \t")
- (let ((lm (current-left-margin))
- (cc (current-column)))
- (cond ((> cc lm)
- (if (> (move-to-column lm force) lm)
- ;; If lm is in a tab and we are not forcing, move before tab
- (backward-char 1)))
- ((and force (< cc lm))
- (indent-to-left-margin)))))
+ (if (minibufferp (current-buffer))
+ (if (save-excursion (beginning-of-line) (bobp))
+ (goto-char (minibuffer-prompt-end))
+ (beginning-of-line))
+ (let ((lm (current-left-margin))
+ (cc (current-column)))
+ (cond ((> cc lm)
+ (if (> (move-to-column lm force) lm)
+ ;; If lm is in a tab and we are not forcing, move before tab
+ (backward-char 1)))
+ ((and force (< cc lm))
+ (indent-to-left-margin))))))
;; This used to be the default indent-line-function,
;; used in Fundamental Mode, Text Mode, etc.