Subject: bug#35898: 26.1; line-beginning-position sometimes does not yield line beginning position

From: Eli Zaretskii <[email-masked]>
Date: Sat, 25 May 2019 17:01:01 +0300

> From: Markus Triska <[email-masked]>
> Date: Sat, 25 May 2019 15:23:48 +0200
> 
>     $ wget https://www.metalevel.at/ei/hello.png
> 
> and then, starting Emacs with "emacs -Q", evaluate the following form:
> 
>     (progn
>       (goto-char (point-min))
>       (save-excursion (insert "\n"))
>       (goto-char (+ (point) (cadr (insert-image-file "hello.png"))))
>       (line-beginning-position))
> 
> This yields 592, whereas I expect it to yield 1.

Your expectations are unjustified, because line-beginning-position is
not supposed to work on visual lines, it works on logical/physical
lines, i.e. it scans the buffer for newline characters.

For visual-line operation, you can use either beginning-of-visual-line
or vertical-motion (the former actually calls the latter internally).

> Is there a way to make line-beginning-position yield the line beginning
> position in cases like this? Would you please consider adding this feature?

We already have features to query about the visual lines, so I don't
see why we would need line-beginning-position work in terms of visual
lines.  It will fail Lisp programs that want to disregard the visual
appearance of the buffer.