Subject: bug#30834: 27.0.50; posn-at-point and display-line-numbers-mode

From: Andreas Röhler <[email-masked]>
Date: Fri, 16 Mar 2018 16:34:30 +0100

On 16.03.2018 11:45, Sébastien Chapuis wrote:
> Hi,
> 
> When display-line-numbers-mode is on and the (point) is on the
> beginning of line, posn-at-point returns a wrong value.
> 
> Reproducible in emacs -Q:
> 
> ```
> (save-excursion
>    (message "Without display-line-numbers:")
>    (display-line-numbers-mode -1)
>    (goto-char (line-beginning-position))
>    (message "column 0: %s" (car (nth 2 (posn-at-point))))
>    (forward-char)
>    (message "column 1: %s" (car (nth 2 (posn-at-point))))
>    (message "With display-line-numbers:")
>    (display-line-numbers-mode)
>    (goto-char (line-beginning-position))
>    (message "column 0: %s" (car (nth 2 (posn-at-point))))
>    (forward-char)
>    (message "column 1: %s" (car (nth 2 (posn-at-point))))
>    )
> ```
> 
> Output:
> ```
> Without display-line-numbers:
> column 0: 0
> column 1: 19
> With display-line-numbers:
> column 0: 0
> column 1: 114
> ```
> 
> On the bol, it returns zero but it should return (- 114 19)
> 
> 
> In GNU Emacs 27.0.50 (build 6, x86_64-pc-linux-gnu, GTK+ Version 3.22.26)
>   of 2018-03-13 built on XPS13
> Repository revision: ae80854e9a9f8f6733870b5b5a88467867dceb6c
> Windowing system distributor 'Fedora Project', version 11.0.11906000
> System Description: Fedora 27 (Twenty Seven)
> 
> Configured using:
>   'configure --prefix=/opt/emacs-git --with-modules --with-xwidgets
>   --with-imagemagick CC=clang'
> 
> --
> Sebastien Chapuis
> 
> 
> 

In use here:

(defun ar-count-lines (&optional beg end)
   "Count lines in accessible part of buffer.

See http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7115"
   (interactive)
   (let ((beg (or beg (point-min)))
	(end (or end (point)))
	erg)
     (if (bolp)
	(setq erg (1+ (count-lines beg end)))
       (setq erg (count-lines beg end)))
     (when (called-interactively-p 'any) (message "%s" erg))
     erg))