Fix description of (move-to-column <n> t) when column <n> is inside a tab

This fixes bug #35647.  State that when indent-tabs-mode is non-nil, spaces
are inserted before the tab rather than the tab being replaced by spaces.

* doc/lispref/text.texi (columns)
* src/indent.c (move-to-column): Make the above documentation amendment.
This commit is contained in:
Alan Mackenzie 2019-05-09 16:27:03 +00:00
parent 0397b7c797
commit 32d181326a
2 changed files with 9 additions and 6 deletions

View file

@ -2245,9 +2245,11 @@ If it is impossible to move to column @var{column} because that is in
the middle of a multicolumn character such as a tab, point moves to the
end of that character. However, if @var{force} is non-@code{nil}, and
@var{column} is in the middle of a tab, then @code{move-to-column}
converts the tab into spaces so that it can move precisely to column
@var{column}. Other multicolumn characters can cause anomalies despite
@var{force}, since there is no way to split them.
either converts the tab into spaces (when @code{indent-tabs-mode} is
@code{nil}), or inserts enough spaces before it (otherwise), so that
point can move precisely to column @var{column}. Other multicolumn
characters can cause anomalies despite @var{force}, since there is no
way to split them.
The argument @var{force} also has an effect if the line isn't long
enough to reach column @var{column}; if it is @code{t}, that means to

View file

@ -983,9 +983,10 @@ If specified column is within a character, point goes after that character.
If it's past end of line, point goes to end of line.
Optional second argument FORCE non-nil means if COLUMN is in the
middle of a tab character, change it to spaces.
In addition, if FORCE is t, and the line is too short to reach
COLUMN, add spaces/tabs to get there.
middle of a tab character, either change it to spaces (when
`indent-tabs-mode' is nil), or insert enough spaces before it to reach
COLUMN (otherwise). In addition, if FORCE is t, and the line is too short
to reach COLUMN, add spaces/tabs to get there.
The return value is the current column. */)
(Lisp_Object column, Lisp_Object force)