GNU bug report logs - #23899
24.5; mouse-on-link-p breaks for positions

Previous Next

Package: emacs;

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

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: tracker <at> debbugs.gnu.org
Subject: bug#23899: closed (24.5; mouse-on-link-p breaks for positions)
Date: Thu, 07 Jul 2016 16:17:01 +0000
[Message part 1 (text/plain, inline)]
Your message dated Thu, 07 Jul 2016 19:16:20 +0300
with message-id <8337nll8yz.fsf <at> gnu.org>
and subject line Re: bug#23899: 24.5; mouse-on-link-p breaks for positions
has caused the debbugs.gnu.org bug report #23899,
regarding 24.5; mouse-on-link-p breaks for positions
to be marked as done.

(If you believe you have received this mail in error, please contact
help-debbugs <at> 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
To: bug-gnu-emacs <at> gnu.org
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.


[Message part 3 (message/rfc822, inline)]
From: Eli Zaretskii <eliz <at> gnu.org>
To: sbaugh <at> catern.com
Cc: 23899-done <at> debbugs.gnu.org
Subject: Re: bug#23899: 24.5; mouse-on-link-p breaks for positions
Date: Thu, 07 Jul 2016 19:16:20 +0300
> 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.


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.