Subject: bug#19185: closed (Re: bug#20398: 25.0.50; Clicking `window-divider-last-pixel' in help for `window-divider')

From: [email-masked] (GNU bug Tracking System)
Date: Tue, 03 May 2016 06:46:02 +0000

Your bug report

#20398: 25.0.50; Strangeness with mouse-1 button up events

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 [email-masked].

-- 
20398: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=20398
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#20398: 25.0.50; Clicking `window-divider-last-pixel' in help for `window-divider'
From: martin rudalics <[email-masked]>
To: Lars Ingebrigtsen <[email-masked]>
Cc: Eli Zaretskii <[email-masked]>, [email-masked], Stefan Monnier <[email-masked]>
Date: Tue, 03 May 2016 08:44:38 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

 >> So the patch is as below.  Any objections to apply this to the emacs-25
 >> branch?
 >
 > [...]
 >
 >> -    (define-key map [down-mouse-2] 'widget-button-click)
 >> -    (define-key map [down-mouse-1] 'widget-button-click)
 >> +    (define-key map [mouse-2] 'widget-button-click)
 >> +    (define-key map [mouse-1] 'widget-button-click)
 >
 > Isn't this a rather large change to go in at this point?  People may
 > have rebound `down-mouse-1' (etc) instead of `mouse-1'...

No idea.  But counted as objection and therefore committed to master.
Closing the bug.

martin

Subject: 25.0.50; Strangeness with mouse-1 button up events
From: Michael Welsh Duggan <[email-masked]>
To: [email-masked]
Date: Tue, 25 Nov 2014 19:52:08 -0500
List-Id: <debbugs-submit.debbugs.gnu.org>

emacs -Q
C-h k <click mouse-1 in the *scratch* buffer>

We get the following *Help*:

    <down-mouse-1> at that spot runs the command mouse-drag-region (found
    in global-map), which is an interactive compiled Lisp function in
    `mouse.el'.
    
    It is bound to <down-mouse-1>.
    
    (mouse-drag-region START-EVENT)
    
    Set the region to the text that the mouse is dragged over.
    Highlight the drag area as you move the mouse.
    This must be bound to a button-down mouse event.
    In Transient Mark mode, the highlighting remains as long as the mark
    remains active.  Otherwise, it remains until the next input event.
    
    ----------------- up-event ----------------
    
    <mouse-1> at that spot runs the command mouse-set-point (found in
    global-map), which is an interactive compiled Lisp function in
    `mouse.el'.
    
    It is bound to <mouse-1>.
    
    (mouse-set-point EVENT &optional PROMOTE-TO-REGION)
    
    Move point to the position clicked on with the mouse.
    This should be bound to a mouse click event type.
    If PROMOTE-TO-REGION is non-nil and event is a multiple-click,
    select the corresponding element around point.
    
    [back]

Now, type C-h k and click (mouse-1) on a `mouse.el' link in the *Help*
buffer.

    <down-mouse-1> (translated from <mouse-1>) at that spot runs the
    command mouse-drag-region (found in global-map), which is an
    interactive compiled Lisp function in `mouse.el'.
    
    It is bound to <down-mouse-1>.
    
    (mouse-drag-region START-EVENT)
    
    Set the region to the text that the mouse is dragged over.
    Highlight the drag area as you move the mouse.
    This must be bound to a button-down mouse event.
    In Transient Mark mode, the highlighting remains as long as the mark
    remains active.  Otherwise, it remains until the next input event.
    
    ----------------- up-event ----------------
    
    <mouse-2> at that spot runs the command push-button (found in
    button-map), which is an interactive compiled Lisp function in
    `button.el'.
    
    (push-button &optional POS USE-MOUSE-ACTION)
    
    Perform the action specified by a button at location POS.
    POS may be either a buffer position or a mouse-event.  If
    USE-MOUSE-ACTION is non-nil, invoke the button's mouse-action
    instead of its normal action; if the button has no mouse-action,
    the normal action is used instead.  The action may be either a
    function to call or a marker to display and is invoked using
    `button-activate' (which see).
    
    POS defaults to point, except when `push-button' is invoked
    interactively as the result of a mouse-event, in which case, the
    mouse event is used.
    If there's no button at POS, do nothing and return nil, otherwise
    return t.
    
    [back]
    
Here the up-event is <mouse-2>.  Why?  Going further, if I am in Gnus
and click on a link in an email, I get the following:

    <down-mouse-1> (translated from <mouse-1>) at that spot runs the
    command widget-button-click (found in gnus-article-mode-map), which is
    an interactive compiled Lisp function in `wid-edit.el'.
    
    (widget-button-click EVENT)
    
    Invoke the button that the mouse is pointing at.
    
    ----------------- up-event ----------------
    
    <mouse-2> at that spot runs the command mouse-yank-primary (found in
    global-map), which is an interactive compiled Lisp function in
    `mouse.el'.
    
    (mouse-yank-primary CLICK)
    
    Insert the primary selection at the position clicked on.
    Move point to the end of the inserted text, and set mark at
    beginning.  If `mouse-yank-at-point' is non-nil, insert at point
    regardless of where you click.
    
    [back]
    
This is definitely wrong.  widget-button-click makes sense, but
mouse-yank-primary makes Emacs beep at me.

In GNU Emacs 25.0.50.1 (x86_64-unknown-linux-gnu, X toolkit)
 of 2014-11-13 on maru2
Windowing system distributor `The X.Org Foundation', version 11.0.11601000
System Description:	Debian GNU/Linux unstable (sid)

Configured using:
 `configure --without-toolkit-scroll-bars --with-x-toolkit=lucid
 'CFLAGS=-Og -ggdb -g3' --with-wide-int'

Configured features:
XPM JPEG TIFF GIF PNG RSVG IMAGEMAGICK SOUND GPM DBUS GCONF GSETTINGS
NOTIFY ACL GNUTLS LIBXML2 FREETYPE M17N_FLT LIBOTF XFT ZLIB

Important settings:
  value of $LANG: en_US.UTF-8
  locale-coding-system: utf-8-unix

Major mode: Help

Minor modes in effect:
  tooltip-mode: t
  global-eldoc-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  tool-bar-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  buffer-read-only: t
  line-number-mode: t

Recent messages:
For information about GNU Emacs and the GNU system, type C-h C-a.
Quit
Making completion list...
Type C-x 1 to delete the help window.

previous-line: Beginning of buffer [2 times]
Type C-x 1 to delete the help window, C-M-v to scroll help.

Load-path shadows:
None found.

Features:
(shadow sort gnus-util mail-extr emacsbug message dired format-spec
rfc822 mml mml-sec mm-decode mm-bodies mm-encode mail-parse rfc2231
mailabbrev gmm-utils mailheader sendmail rfc2047 rfc2045 ietf-drums
mm-util mail-prsvr mail-utils help-mode easymenu help-fns time-date
tooltip eldoc electric uniquify ediff-hook vc-hooks lisp-float-type
mwheel x-win x-dnd tool-bar dnd fontset image regexp-opt fringe
tabulated-list newcomment elisp-mode lisp-mode prog-mode register page
menu-bar rfn-eshadow timer select scroll-bar mouse jit-lock font-lock
syntax facemenu font-core frame cham georgian utf-8-lang misc-lang
vietnamese tibetan thai tai-viet lao korean japanese hebrew greek
romanian slovak czech european ethiopic indian cyrillic chinese
case-table epa-hook jka-cmpr-hook help simple abbrev minibuffer nadvice
loaddefs button faces cus-face macroexp files text-properties overlay
sha1 md5 base64 format env code-pages mule custom widget
hashtable-print-readable backquote make-network-process dbusbind
gfilenotify dynamic-setting system-font-setting font-render-setting
x-toolkit x multi-tty emacs)

Memory information:
((conses 16 78708 8870)
 (symbols 48 18226 0)
 (miscs 40 56 150)
 (strings 32 12151 4682)
 (string-bytes 1 315968)
 (vectors 16 9437)
 (vector-slots 8 387790 14511)
 (floats 8 79 357)
 (intervals 56 666 183)
 (buffers 976 14)
 (heap 1024 22548 1237))

-- 
Michael Welsh Duggan
([email-masked])