From eb11dae499fc395bbf3d51883ced6244c91019cf Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Sat, 30 Jul 2022 19:34:38 +0300 Subject: [PATCH] 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) --- doc/lispref/text.texi | 7 +++++++ src/indent.c | 9 +++++++-- 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. -- 2.39.2