(defun insert-tab (&optional prefix-arg)
(let ((count (prefix-numeric-value prefix-arg)))
- (if abbrev-mode
+ (if (and abbrev-mode
+ (eq (char-syntax (preceding-char)) ?w))
(expand-abbrev))
(if indent-tabs-mode
(insert-char ?\t count)
(defun indent-region (start end column)
"Indent each nonblank line in the region.
-With no argument, indent each line using `indent-according-to-mode',
+With prefix no argument, indent each line using `indent-according-to-mode',
or use `indent-region-function' to do the whole region if that's non-nil.
If there is a fill prefix, make each line start with the fill prefix.
With argument COLUMN, indent each line to that column.
-Called from a program, takes three args: START, END and COLUMN."
+
+When you call this from a program, START and END specify
+the region to indent, and COLUMN specifies the indentation column.
+If COLUMN is nil, then indent each line according to the mode."
(interactive "r\nP")
(if (null column)
(if fill-prefix
(defun indent-relative (&optional unindented-ok)
"Space out to under next indent point in previous nonblank line.
An indent point is a non-whitespace character following whitespace.
+The following line shows the indentation points in this line.
+ ^ ^ ^ ^ ^ ^ ^ ^ ^
If the previous nonblank line has no indent points beyond the
column point starts at, `tab-to-tab-stop' is done instead."
(interactive "P")
- (if abbrev-mode (expand-abbrev))
+ (if (and abbrev-mode
+ (eq (char-syntax (preceding-char)) ?w))
+ (expand-abbrev))
(let ((start-column (current-column))
indent)
(save-excursion
(defcustom tab-stop-list
'(8 16 24 32 40 48 56 64 72 80 88 96 104 112 120)
- "*List of tab stop positions used by `tab-to-tab-stops'.
+ "*List of tab stop positions used by `tab-to-tab-stop'.
This should be a list of integers, ordered from smallest to largest."
:group 'indent
:type '(repeat integer))