;;; indent.el --- indentation commands for Emacs
-;; Copyright (C) 1985, 1995, 2001 Free Software Foundation, Inc.
+;; Copyright (C) 1985, 1995, 2001, 2004 Free Software Foundation, Inc.
;; Maintainer: FSF
(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.
(forward-line 1))
(move-marker to nil)))
-(defun set-left-margin (from to lm)
+(defun set-left-margin (from to width)
"Set the left margin of the region to WIDTH.
-If `auto-fill-mode' is active, re-fill the region to fit the new margin."
+If `auto-fill-mode' is active, re-fill the region to fit the new margin.
+
+Interactively, WIDTH is the prefix argument, if specified.
+Without prefix argument, the command prompts for WIDTH."
(interactive "r\nNSet left margin to column: ")
- (if (interactive-p) (setq lm (prefix-numeric-value lm)))
(save-excursion
;; If inside indentation, start from BOL.
(goto-char from)
(setq to (point-marker)))
;; Delete margin indentation first, but keep paragraph indentation.
(delete-to-left-margin from to)
- (put-text-property from to 'left-margin lm)
- (indent-rigidly from to lm)
+ (put-text-property from to 'left-margin width)
+ (indent-rigidly from to width)
(if auto-fill-function (save-excursion (fill-region from to nil t t)))
(move-marker to nil))
-(defun set-right-margin (from to lm)
+(defun set-right-margin (from to width)
"Set the right margin of the region to WIDTH.
-If `auto-fill-mode' is active, re-fill the region to fit the new margin."
+If `auto-fill-mode' is active, re-fill the region to fit the new margin.
+
+Interactively, WIDTH is the prefix argument, if specified.
+Without prefix argument, the command prompts for WIDTH."
(interactive "r\nNSet right margin to width: ")
- (if (interactive-p) (setq lm (prefix-numeric-value lm)))
(save-excursion
(goto-char from)
(skip-chars-backward " \t")
(if (bolp) (setq from (point))))
- (put-text-property from to 'right-margin lm)
+ (put-text-property from to 'right-margin width)
(if auto-fill-function (save-excursion (fill-region from to nil t t))))
(defun alter-text-property (from to prop func &optional object)
the right margin width.
If `auto-fill-mode' is active, re-fill the region to fit the new margin."
(interactive "r\nP")
- (if (interactive-p)
- (setq inc (if inc (prefix-numeric-value current-prefix-arg)
- standard-indent)))
+ (setq inc (if inc (prefix-numeric-value inc) standard-indent))
(save-excursion
(alter-text-property from to 'right-margin
- (lambda (v) (+ inc (or v 0))))
+ (lambda (v) (+ inc (or v 0))))
(if auto-fill-function
(fill-region from to nil t t))))
"Keymap used in `edit-tab-stops'.")
(defvar edit-tab-stops-buffer nil
- "Buffer whose tab stops are being edited--in case
-the variable `tab-stop-list' is local in that buffer.")
+ "Buffer whose tab stops are being edited.
+This matters if the variable `tab-stop-list' is local in that buffer.")
(defun edit-tab-stops ()
"Edit the tab stops used by `tab-to-tab-stop'.
(define-key ctl-x-map "\t" 'indent-rigidly)
(define-key esc-map "i" 'tab-to-tab-stop)
+;;; arch-tag: f402b2a7-e44f-492f-b5b8-38996020b7c3
;;; indent.el ends here