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.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 23899 in the body.
You can then email your comments to 23899 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-gnu-emacs <at> gnu.org:
bug#23899; Package emacs. (Tue, 05 Jul 2016 17:45:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to sbaugh <at> catern.com:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Tue, 05 Jul 2016 17:45:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

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.




Reply sent to Eli Zaretskii <eliz <at> gnu.org>:
You have taken responsibility. (Thu, 07 Jul 2016 16:17:01 GMT) Full text and rfc822 format available.

Notification sent to sbaugh <at> catern.com:
bug acknowledged by developer. (Thu, 07 Jul 2016 16:17:02 GMT) Full text and rfc822 format available.

Message #10 received at 23899-done <at> debbugs.gnu.org (full text, mbox):

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.




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Fri, 05 Aug 2016 11:24:04 GMT) Full text and rfc822 format available.

This bug report was last modified 8 years and 322 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.