--- Begin Message ---
Subject: |
24.5; mouse-on-link-p breaks for positions |
Date: |
Tue, 05 Jul 2016 13:32:49 -0400 |
The documentation for mouse-on-link-p says:
POS must be a buffer position in the current buffer or a mouse
event location in the selected window (see `event-start').
However, doing M-: (mouse-on-link-p (point)) fails with a type
error. And, in general, passing a buffer position to mouse-on-link-p
fails with a type error.
This appears to be due to this section of mouse-on-link-p:
(let ((area (posn-area pos)))
(when area
(key-binding (vector area 'follow-link) nil t pos)))
I would recommend wrapping this in a (and (consp pos) ...) to avoid
running posn-area on buffer positions. The rest of the function works
fine, this part was added later.
--- End Message ---
--- Begin Message ---
Subject: |
Re: bug#23899: 24.5; mouse-on-link-p breaks for positions |
Date: |
Thu, 07 Jul 2016 19:16:20 +0300 |
> From: address@hidden
> Date: Tue, 05 Jul 2016 13:32:49 -0400
>
> The documentation for mouse-on-link-p says:
> POS must be a buffer position in the current buffer or a mouse
> event location in the selected window (see `event-start').
> However, doing M-: (mouse-on-link-p (point)) fails with a type
> error. And, in general, passing a buffer position to mouse-on-link-p
> fails with a type error.
>
> This appears to be due to this section of mouse-on-link-p:
> (let ((area (posn-area pos)))
> (when area
> (key-binding (vector area 'follow-link) nil t pos)))
>
> I would recommend wrapping this in a (and (consp pos) ...) to avoid
> running posn-area on buffer positions. The rest of the function works
> fine, this part was added later.
I don't think any code changes are required. This is just a
documentation problem: what the doc string fails to tell is that the
function needs POS as a mouse-click position, which is a list. If you
want to invoke the function at point, you can get the argument by
calling posn-at-point.
I installed a change to that effect on the emacs-25 branch, and I'm
marking this bug "done".
Thanks.
--- End Message ---