• Stefan Monnier's avatar
    (mouse-wheel-buttons): Map old-style wheel buttons to actual wheel events · e720ba62
    Stefan Monnier authored
    Change the handling of the old X11 convention that uses mouse-4/5/6/7
    events to represent wheel events: instead of asking downstream
    packages to use the `mouse-wheel-*-event` variables to know which events
    represent wheel events, use new var `mouse-wheel-buttons` to directly
    convert those events into the standard `wheel-up/down/left/right` events
    used everywhere else.
    
    This will simplify the work of packages which can thus just bind their
    commands to `wheel-up/down/left/right`.
    
    * lisp/mouse.el (mouse-wheel-buttons): New custom variable.
    
    * src/keyboard.c (make_lispy_event): Adjust for "wheel-clicks" on the tab-bar.
    * src/xterm.c (x_construct_mouse_click): Add `xi2` argument and
    obey `mouse-wheel-buttons` variable.
    (handle_one_xevent): Adjust calls accordingly.
    (syms_of_xterm): Define the `mouse-wheel-buttons` and the
    `wheel-up/down/left/right`symbols.
    
    * lisp/xt-mouse.el: Don't require `mwheel` any more.
    (xterm-mouse--same-button-p): Delete function.
    (xterm-mouse--read-event-sequence): Use `mouse-wheel-buttons`.
    
    * lisp/mwheel.el (mouse-wheel-up-event, mouse-wheel-down-event)
    (mouse-wheel-left-event, mouse-wheel-right-event): Make obsolete.
    (mouse-wheel-obey-old-style-wheel-buttons): Delete variable.
    
    * lisp/completion-preview.el (completion-preview--mouse-map):
    * lisp/progmodes/flymake.el (flymake--mode-line-counter-map):
    * lisp/edmacro.el (edmacro-fix-menu-commands): Silence warnings.
    e720ba62