summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEli Zaretskii <eliz@gnu.org>2022-07-30 19:34:38 +0300
committerEli Zaretskii <eliz@gnu.org>2022-07-30 19:34:38 +0300
commiteb11dae499fc395bbf3d51883ced6244c91019cf (patch)
treebd590d73825c88dc1948b751e70626d612d7f3fd
parentc95a34c96013aaba1cdf2166c4a1d0e2c5f3de6a (diff)
downloademacs-eb11dae499fc395bbf3d51883ced6244c91019cf.tar.gz
Improve documentation of column-related functions
* doc/lispref/text.texi (Primitive Indent, Columns): * src/indent.c (Fcurrent_indentation, Fmove_to_column): Document that column counting ignores invisible text. (Bug#56837)
-rw-r--r--doc/lispref/text.texi7
-rw-r--r--src/indent.c9
2 files changed, 14 insertions, 2 deletions
diff --git a/doc/lispref/text.texi b/doc/lispref/text.texi
index 6ac631ebbfc..72fb674aa5a 100644
--- a/doc/lispref/text.texi
+++ b/doc/lispref/text.texi
@@ -2297,6 +2297,9 @@ begins. @xref{Usual Display}.
amount of horizontal scrolling. Consequently, a column value can be
arbitrarily high. The first (or leftmost) column is numbered 0. They
also ignore overlays and text properties, aside from invisibility.
+Invisible text is considered as having zero width, unless
+@code{buffer-invisibility-spec} specifies that invisible text should
+be displayed as ellipsis (@pxref{Invisible Text}).
@defun current-column
This function returns the horizontal position of point, measured in
@@ -2370,6 +2373,10 @@ This function returns the indentation of the current line, which is
the horizontal position of the first nonblank character. If the
contents are entirely blank, then this is the horizontal position of the
end of the line.
+
+This function considers invisible text as having zero width, unless
+@code{buffer-invisibility-spec} specifies that invisible text should
+be displayed as ellipsis. @xref{Invisible Text}.
@end defun
@deffn Command indent-to column &optional minimum
diff --git a/src/indent.c b/src/indent.c
index f5a2a078b98..5e33fc2e77b 100644
--- a/src/indent.c
+++ b/src/indent.c
@@ -866,8 +866,10 @@ The return value is the column where the insertion ends. */)
DEFUN ("current-indentation", Fcurrent_indentation, Scurrent_indentation,
0, 0, 0,
doc: /* Return the indentation of the current line.
-This is the horizontal position of the character
-following any initial whitespace. */)
+This is the horizontal position of the character following any initial
+whitespace.
+Text that has an invisible property is considered as having width 0, unless
+`buffer-invisibility-spec' specifies that it is replaced by an ellipsis. */)
(void)
{
ptrdiff_t posbyte;
@@ -985,6 +987,9 @@ as displayed of the previous characters in the line.
This function ignores line-continuation;
there is no upper limit on the column number a character can have
and horizontal scrolling has no effect.
+Text that has an invisible property is considered as having width 0,
+unless `buffer-invisibility-spec' specifies that it is replaced by
+an ellipsis.
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.