Subject: Re: bug#12679: 24.2.50; Can't font-at for the beginning of a string

From: Kenichi Handa <[email-masked]>
Date: Tue, 30 Oct 2012 20:45:55 +0900

In article <[email-masked]>, martin rudalics <[email-masked]> writes:

> Could you please also (1) add a description of the STRING argument in
> the doc-string of `font-at',

I added this statement to the docstring.

  Optional third arg STRING, if non-nil, is a string containing the target
  character at index specified by POSITION.

> and (2) explain what happens when the
> selected window or the window passed as argument do not show the current
> buffer.

> IIUC face_at_buffer_position expects the window passed to it to
> show the current buffer but this might not be true when `font-at' calls
> it.  There's also this comment in face_at_buffer_position:

>    /* W must display the current buffer.  We could write this function
>       to use the frame and buffer of W, but right now it doesn't.  */
>    /* eassert (XBUFFER (w->buffer) == current_buffer); */

> Later in the code of face_at_buffer_position I see that w->buffer is
> sometimes used explicitly but get the impression that most other parts
> of the code use the current buffer instead.

I think your worrying is right.  So, I changed font-at to
signal an error when the specified window is not displaying
the current buffer.

---
Kenichi Handa
[email-masked]