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 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 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} @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 either converts the tab into spaces (when @code{indent-tabs-mode} is
@var{column}. Other multicolumn characters can cause anomalies despite @code{nil}), or inserts enough spaces before it (otherwise), so that
@var{force}, since there is no way to split them. 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 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 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. 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 Optional second argument FORCE non-nil means if COLUMN is in the
middle of a tab character, change it to spaces. middle of a tab character, either change it to spaces (when
In addition, if FORCE is t, and the line is too short to reach `indent-tabs-mode' is nil), or insert enough spaces before it to reach
COLUMN, add spaces/tabs to get there. 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. */) The return value is the current column. */)
(Lisp_Object column, Lisp_Object force) (Lisp_Object column, Lisp_Object force)