Subject: bug#15783: 24.3; posn-at-x-y is relative to the buffer area, posn-at-point is relative to the text area.

From: Eli Zaretskii <[email-masked]>
Date: Fri, 01 Nov 2013 18:32:10 +0200

> From: 椎野 裕樹
> 	<[email-masked]>
> Date: Fri, 1 Nov 2013 23:49:00 +0900
> 
> On Emacs 24 with non-nil header-line-format, y offset returned by
> `posn-at-point' is relative to the text area *not including the header
> line*.  However, `posn-at-x-y' takes y offset relative to the buffer
> area *including the header line*.
> 
> Is this by design?

Yes.

> When I get the position by `posn-at-point', and then convert the
> position to the point by `posn-at-x-y', the resulting point does not
> match the point given to `posn-at-point'.

You should test for non-nil header-line-format, and adjust the value
accordingly.

> On Emacs 22 and 23, both functions are relative to the buffer area
> including the header line.  It's fine.

That caused much more grave bugs.