GNU bug report logs -
#23899
24.5; mouse-on-link-p breaks for positions
Previous Next
Reported by: sbaugh <at> catern.com
Date: Tue, 5 Jul 2016 17:45:02 UTC
Severity: normal
Found in version 24.5
Done: Eli Zaretskii <eliz <at> gnu.org>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
Your bug report
#23899: 24.5; mouse-on-link-p breaks for positions
which was filed against the emacs package, has been closed.
The explanation is attached below, along with your original report.
If you require more details, please reply to 23899 <at> debbugs.gnu.org.
--
23899: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=23899
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
> From: sbaugh <at> catern.com
> 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.
[Message part 3 (message/rfc822, inline)]
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.
This bug report was last modified 9 years and 6 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.