Subject: 25.0.50; Strangeness with mouse-1 button up events

From: Michael Welsh Duggan <[email-masked]>
Date: Tue, 25 Nov 2014 19:52:08 -0500

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])