* bug#53353: 29.0.50; spurious <tab-bar> <mouse-movement> events generated by mouse motion in tab-bar
@ 2022-01-19 1:02 Mark Kennedy
2022-01-19 1:52 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
0 siblings, 1 reply; 8+ messages in thread
From: Mark Kennedy @ 2022-01-19 1:02 UTC (permalink / raw)
To: 53353
This bug occurs in LSP clients (observed for both scala and python) with
many minor modes in effect. Not feasible to reproduce from -Q. Mouse motion in
the tab bar (over both a tab name or the white space between them)
generates unwanted "<tab-bar> <mouse-motion>" input events (which are
unbound). Eli, if this isn't sufficient info, feel free to point me at
where to start looking again. Thanks.
In GNU Emacs 29.0.50 (build 43, x86_64-pc-linux-gnu, GTK+ Version 3.24.31, cairo version 1.17.4)
of 2022-01-17 built on x1.mofjwutu.com
Repository revision: 2dad332a1439b59a62cd5ed0d8e3626d9e91e3e5
Repository branch: master
Windowing system distributor 'The X.Org Foundation', version 11.0.12014000
System Description: Fedora Linux 35 (Workstation Edition)
Configured using:
'configure --with-native-compilation'
Configured features:
ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GSETTINGS HARFBUZZ JPEG JSON
LIBSELINUX LIBSYSTEMD LIBXML2 MODULES NATIVE_COMP NOTIFY INOTIFY PDUMPER
PNG SECCOMP SOUND SQLITE3 THREADS TIFF TOOLKIT_SCROLL_BARS WEBP X11 XDBE
XIM XPM GTK3 ZLIB
Important settings:
value of $LANG: en_US.UTF-8
value of $XMODIFIERS: @im=none
locale-coding-system: utf-8-unix
Major mode: Scala
Minor modes in effect:
shell-dirtrack-mode: t
lsp-headerline-breadcrumb-mode: t
lsp-diagnostics-mode: t
lsp-modeline-workspace-status-mode: t
lsp-modeline-diagnostics-mode: t
lsp-modeline-code-actions-mode: t
lsp-completion-mode: t
indent-guide-mode: t
subword-mode: t
save-place-mode: t
desktop-save-mode: t
global-display-line-numbers-mode: t
display-line-numbers-mode: t
beacon-mode: t
pcre-mode: t
dynamic-completion-mode: t
msb-mode: t
winner-mode: t
savehist-mode: t
which-function-mode: t
global-page-break-lines-mode: t
global-hi-lock-mode: t
hi-lock-mode: t
icomplete-mode: t
dap-tooltip-mode: t
dap-ui-many-windows-mode: t
dap-ui-controls-mode: t
dap-ui-mode: t
auto-revert-mode: t
lsp-ui-mode: t
lsp-ui-doc-mode: t
lsp-ui-sideline-mode: t
company-mode: t
treemacs-filewatch-mode: t
treemacs-follow-mode: t
treemacs-git-mode: t
treemacs-fringe-indicator-mode: t
lsp-lens-mode: t
dap-auto-configure-mode: t
dap-mode: t
lsp-managed-mode: t
lsp-mode: t
yas-minor-mode: t
flycheck-mode: t
override-global-mode: t
hl-todo-mode: t
tooltip-mode: t
global-eldoc-mode: t
eldoc-mode: t
show-paren-mode: t
electric-indent-mode: t
mouse-wheel-mode: t
tool-bar-mode: t
tab-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
size-indication-mode: t
column-number-mode: t
line-number-mode: t
transient-mark-mode: t
Load-path shadows:
/home/mtk/.emacs.d/elpa/transient-20220117.1122/transient hides /usr/local/share/emacs/29.0.50/lisp/transient
Features:
(shadow emacsbug names edebug autoload rfc2104 magit-utils crm jka-compr
novice mailalias sort mail-extr smtpmail sendmail cus-start python
tramp-sh tramp tramp-loaddefs trampver tramp-integration files-x
tramp-compat shell pcomplete parse-time iso8601 ls-lisp format-spec teco
cl-print debug backtrace shortdoc help-fns radix-tree bs hippie-exp
misearch multi-isearch add-log mm-archive message yank-media rfc822 mml
mml-sec epa derived gnus-util mailabbrev gmm-utils mm-decode mm-bodies
mm-encode lsp-headerline lsp-icons vc bug-reference dired-aux dired
dired-loaddefs url-http url-gw url-cache url-auth mule-util time-date
lsp-diagnostics lsp-modeline vc-git diff-mode vc-dispatcher
company-oddmuse company-keywords company-etags etags fileloop generator
company-gtags company-dabbrev-code company-dabbrev company-files
company-clang company-capf company-cmake company-semantic
company-template company-bbdb lsp-zig lsp-steep lsp-svelte lsp-sqls
lsp-yaml lsp-xml lsp-vimscript lsp-vhdl lsp-vetur lsp-html lsp-verilog
lsp-vala lsp-v lsp-toml lsp-terraform lsp-tex lsp-sorbet lsp-solargraph
lsp-rust lsp-rf lsp-r lsp-purescript lsp-pylsp lsp-pyls lsp-pwsh lsp-php
lsp-perl lsp-ocaml lsp-nix lsp-nim lsp-nginx lsp-markdown lsp-lua
lsp-kotlin lsp-json lsp-javascript lsp-haxe lsp-groovy lsp-hack
lsp-graphql lsp-go lsp-completion lsp-gdscript lsp-fsharp lsp-fortran
lsp-eslint lsp-erlang lsp-elixir lsp-elm lsp-dockerfile lsp-dhall lsp-d
lsp-css lsp-csharp gnutls lsp-crystal lsp-cmake lsp-clojure
lsp-semantic-tokens lsp-clangd dom lsp-beancount lsp-bash lsp-angular
lsp-ada lsp-actionscript ccls ccls-member-hierarchy
ccls-inheritance-hierarchy ccls-call-hierarchy ccls-tree ccls-code-lens
ccls-semantic-highlight ccls-common scala-mode
scala-mode-prettify-symbols scala-mode-imenu scala-mode-map
scala-mode-fontlock scala-mode-indent scala-mode-paragraph
scala-mode-syntax scala-mode-lib disp-table indent-guide hlinum linum
cap-words superword subword saveplace desktop frameset
display-line-numbers beacon pcre2el rxt re-builder completion msb winner
savehist which-func page-break-lines hi-lock avoid icomplete server
lsp-pyright dap-mouse dap-ui gdb-mi gud bui bui-list bui-info bui-entry
bui-core bui-history bui-button bui-utils cus-edit pp cus-load dap-java
lsp-java request mailheader autorevert mail-utils cc-mode cc-fonts
cc-guess cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs
lsp-ui lsp-ui-flycheck lsp-ui-doc goto-addr lsp-ui-imenu lsp-ui-peek
lsp-ui-sideline lsp-ui-util face-remap company hydra flycheck-package
package-lint let-alist finder finder-inf projectile lisp-mnt mail-parse
rfc2231 rfc2047 rfc2045 mm-util ietf-drums mail-prsvr grep ibuf-ext
ibuffer ibuffer-loaddefs lsp-metals view lsp-metals-treeview
lsp-treemacs lsp-treemacs-themes treemacs treemacs-header-line
treemacs-compatibility treemacs-mode treemacs-interface
treemacs-extensions treemacs-mouse-interface treemacs-tags
treemacs-persistence treemacs-filewatch-mode treemacs-follow-mode
treemacs-rendering treemacs-async treemacs-workspaces treemacs-dom
treemacs-visuals treemacs-fringe-indicator treemacs-scope pulse
treemacs-faces treemacs-icons treemacs-themes treemacs-core-utils
pfuture hl-line treemacs-logging treemacs-customization treemacs-macros
lsp-metals-protocol lsp-lens dap-mode dap-launch posframe dap-overlays
which-key lsp-mode lsp-protocol aws-snippets go-snippets
yasnippet-snippets yasnippet xref project tree-widget wid-edit spinner
pcase network-stream puny nsm rmc markdown-mode color thingatpt noutline
outline lv inline imenu ht filenotify ewoc epg rfc6068 epg-config
compile text-property-search comint ring flycheck-eldev flycheck
ansi-color find-func use-package-bind-key bind-key easy-mmode
importmagic f dash s epc ctable edmacro kmacro concurrent deferred
hl-todo use-package-ensure ialign align use-package-core tab-line comp
comp-cstr cl-extra help-mode trim page-menu cperl-mode facemenu warnings
rx cl advice info package browse-url url url-proxy url-privacy
url-expand url-methods url-history url-cookie url-domsuf url-util
mailcap url-handlers url-parse auth-source cl-seq eieio eieio-core
cl-macs eieio-loaddefs password-cache json map url-vars seq gv subr-x
byte-opt bytecomp byte-compile cconv cl-loaddefs cl-lib iso-transl
tooltip eldoc paren electric uniquify ediff-hook vc-hooks
lisp-float-type elisp-mode mwheel term/x-win x-win term/common-win x-dnd
tool-bar dnd fontset image regexp-opt fringe tabulated-list replace
newcomment text-mode lisp-mode prog-mode register page tab-bar menu-bar
rfn-eshadow isearch easymenu timer select scroll-bar mouse jit-lock
font-lock syntax font-core term/tty-colors frame minibuffer cl-generic
cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao
korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech
european ethiopic indian cyrillic chinese composite emoji-zwj charscript
charprop case-table epa-hook jka-cmpr-hook help simple abbrev obarray
cl-preloaded nadvice button loaddefs faces cus-face macroexp files
window text-properties overlay sha1 md5 base64 format env code-pages
mule custom widget keymap hashtable-print-readable backquote threads
dbusbind inotify dynamic-setting system-font-setting font-render-setting
cairo move-toolbar gtk x-toolkit x multi-tty make-network-process
native-compile emacs)
Memory information:
((conses 16 2213757 1808274)
(symbols 48 70393 1138)
(strings 32 431706 277233)
(string-bytes 1 17004484)
(vectors 16 240645)
(vector-slots 8 4030196 877167)
(floats 8 934 7751)
(intervals 56 216050 127208)
(buffers 992 61))
^ permalink raw reply [flat|nested] 8+ messages in thread
* bug#53353: 29.0.50; spurious <tab-bar> <mouse-movement> events generated by mouse motion in tab-bar
2022-01-19 1:02 bug#53353: 29.0.50; spurious <tab-bar> <mouse-movement> events generated by mouse motion in tab-bar Mark Kennedy
@ 2022-01-19 1:52 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-01-19 1:56 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
0 siblings, 1 reply; 8+ messages in thread
From: Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2022-01-19 1:52 UTC (permalink / raw)
To: Mark Kennedy; +Cc: 53353
Mark Kennedy <mark.t.kennedy@gmail.com> writes:
> This bug occurs in LSP clients (observed for both scala and python) with
> many minor modes in effect. Not feasible to reproduce from -Q. Mouse motion in
> the tab bar (over both a tab name or the white space between them)
> generates unwanted "<tab-bar> <mouse-motion>" input events (which are
> unbound).
What is the value of `track-mouse' when the bug occurs? Thanks.
^ permalink raw reply [flat|nested] 8+ messages in thread
* bug#53353: 29.0.50; spurious <tab-bar> <mouse-movement> events generated by mouse motion in tab-bar
2022-01-19 1:52 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2022-01-19 1:56 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-01-19 7:52 ` Eli Zaretskii
0 siblings, 1 reply; 8+ messages in thread
From: Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2022-01-19 1:56 UTC (permalink / raw)
To: Mark Kennedy; +Cc: Eli Zaretskii, 53353
Po Lu <luangruo@yahoo.com> writes:
> What is the value of `track-mouse' when the bug occurs? Thanks.
I can reproduce this problem by setting `track-mouse' to t. IMO, the
best solution would probably be to bind <tab-bar> <mouse-movement> to
`ignore', like we do with the rest of the mouse movement events.
Eli, WDYT?
Thanks in advance.
^ permalink raw reply [flat|nested] 8+ messages in thread
* bug#53353: 29.0.50; spurious <tab-bar> <mouse-movement> events generated by mouse motion in tab-bar
2022-01-19 1:56 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2022-01-19 7:52 ` Eli Zaretskii
2022-01-19 9:31 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
0 siblings, 1 reply; 8+ messages in thread
From: Eli Zaretskii @ 2022-01-19 7:52 UTC (permalink / raw)
To: Po Lu; +Cc: mark.t.kennedy, 53353
> From: Po Lu <luangruo@yahoo.com>
> Cc: 53353@debbugs.gnu.org, Eli Zaretskii <eliz@gnu.org>
> Date: Wed, 19 Jan 2022 09:56:09 +0800
>
> Po Lu <luangruo@yahoo.com> writes:
>
> > What is the value of `track-mouse' when the bug occurs? Thanks.
>
> I can reproduce this problem by setting `track-mouse' to t. IMO, the
> best solution would probably be to bind <tab-bar> <mouse-movement> to
> `ignore', like we do with the rest of the mouse movement events.
>
> Eli, WDYT?
I'm not sure I understand: bind to 'ignore' where?
The usual protocol is that Lisp programs that enable mouse tracking
are those that bind mouse-movement events to 'ignore' as they see
fit. If that is what you propose, then it follows that LSP should do
that if it doesn't want to support mouse-movement on the tab bar.
^ permalink raw reply [flat|nested] 8+ messages in thread
* bug#53353: 29.0.50; spurious <tab-bar> <mouse-movement> events generated by mouse motion in tab-bar
2022-01-19 7:52 ` Eli Zaretskii
@ 2022-01-19 9:31 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-01-19 11:37 ` Eli Zaretskii
0 siblings, 1 reply; 8+ messages in thread
From: Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2022-01-19 9:31 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: 53353, mark.t.kennedy
Eli Zaretskii <eliz@gnu.org> writes:
> The usual protocol is that Lisp programs that enable mouse tracking
> are those that bind mouse-movement events to 'ignore' as they see
> fit. If that is what you propose, then it follows that LSP should do
> that if it doesn't want to support mouse-movement on the tab bar.
bindings.el binds mouse-movement events to `ignore', so I think the same
should be done with the tab bar (and tool bar) mouse-movement events.
But either way, this is probably not a bug in Emacs. Mark, can you
verify whether or not `track-mouse' is not nil when those spurious
events are generated? Thanks.
^ permalink raw reply [flat|nested] 8+ messages in thread
* bug#53353: 29.0.50; spurious <tab-bar> <mouse-movement> events generated by mouse motion in tab-bar
2022-01-19 9:31 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2022-01-19 11:37 ` Eli Zaretskii
2022-01-19 11:54 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
0 siblings, 1 reply; 8+ messages in thread
From: Eli Zaretskii @ 2022-01-19 11:37 UTC (permalink / raw)
To: Po Lu; +Cc: mark.t.kennedy, 53353
> From: Po Lu <luangruo@yahoo.com>
> Cc: mark.t.kennedy@gmail.com, 53353@debbugs.gnu.org
> Date: Wed, 19 Jan 2022 17:31:07 +0800
>
> Eli Zaretskii <eliz@gnu.org> writes:
>
> > The usual protocol is that Lisp programs that enable mouse tracking
> > are those that bind mouse-movement events to 'ignore' as they see
> > fit. If that is what you propose, then it follows that LSP should do
> > that if it doesn't want to support mouse-movement on the tab bar.
>
> bindings.el binds mouse-movement events to `ignore'
That's only for the text area, not for the other elements of the Emacs
display.
> so I think the same should be done with the tab bar (and tool bar)
> mouse-movement events.
And scroll bar, and mode-line, and header-line, and tab-line,
etc. etc. Where does all this end?
The global binding of mouse-movement in bindings.el is very old, and I
have no idea what were the reasons for it. But we don't do anything
like that for any other mouse-movement gesture, so I don't think I
agree we should do it now. If LSP doesn't want these events, it
should bind them to 'ignore' inside the track-mouse forms.
^ permalink raw reply [flat|nested] 8+ messages in thread
* bug#53353: 29.0.50; spurious <tab-bar> <mouse-movement> events generated by mouse motion in tab-bar
2022-01-19 11:37 ` Eli Zaretskii
@ 2022-01-19 11:54 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
[not found] ` <CANru7VFRPt_To+v6PYCBBRbXVSQaXVWJsf-EK6WxPTXJvQuuiQ@mail.gmail.com>
0 siblings, 1 reply; 8+ messages in thread
From: Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2022-01-19 11:54 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: 53353, mark.t.kennedy
Eli Zaretskii <eliz@gnu.org> writes:
> The global binding of mouse-movement in bindings.el is very old, and I
> have no idea what were the reasons for it. But we don't do anything
> like that for any other mouse-movement gesture, so I don't think I
> agree we should do it now. If LSP doesn't want these events, it
> should bind them to 'ignore' inside the track-mouse forms.
That's reasonable, thanks.
I'll close this bug if Mark confirms that it's not Emacs who is setting
track-mouse to t.
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2022-01-20 0:58 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-01-19 1:02 bug#53353: 29.0.50; spurious <tab-bar> <mouse-movement> events generated by mouse motion in tab-bar Mark Kennedy
2022-01-19 1:52 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-01-19 1:56 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-01-19 7:52 ` Eli Zaretskii
2022-01-19 9:31 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-01-19 11:37 ` Eli Zaretskii
2022-01-19 11:54 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
[not found] ` <CANru7VFRPt_To+v6PYCBBRbXVSQaXVWJsf-EK6WxPTXJvQuuiQ@mail.gmail.com>
2022-01-20 0:58 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.