Subject: Re: bug#49247: 28.0.50; [Feature Request] Make tab-bar-lines dragable

From: Juri Linkov <[email-masked]>
Date: Tue, 06 Jul 2021 19:41:12 +0300

> I think the culprit is this binding
>
>     (define-key map [tab-line mouse-2] 'tab-line-close-tab)
>
> in `tab-line-tab-map' likely together with some queer mouse-1/mouse-2
> mapping.  I'd suggest to don't do that, if possible.  Otherwise, we have
> to dig further.

The problem also can be fixed by removing this line from info.el
from Info-mode-map:

  (define-key map [follow-link] 'mouse-face)

Why buffer's mode keymap affects the behavior of clicking
on the tab-line?

1. Here is what 'C-h k' and clicking on the tab-line shows
   in normal case when mouse-1 selects the tab:

  "There were several key-sequences:

    <tab-line> <down-mouse-1> (translated from <down-mouse-1>) at that spot runs the command mouse-drag-tab-line
    <tab-line> <mouse-1> (translated from <mouse-1>) at that spot runs the command tab-line-select-tab

    <tab-line> <down-mouse-1> (translated from <down-mouse-1>) at that
    spot runs the command mouse-drag-tab-line (found in global-map)

    <tab-line> <mouse-1> (translated from <mouse-1>) at that spot runs the
    command tab-line-select-tab (found in tab-line-tab-map)"

2. Here is what 'C-h k' and clicking on the tab-line shows
   when mouse-1 closes the tab instead of selecting:

  "There were several key-sequences:

    <tab-line> <down-mouse-1> (translated from <down-mouse-1>) at that spot runs the command mouse-drag-tab-line
    <tab-line> <mouse-2> (translated from <mouse-1>) at that spot runs the command tab-line-close-tab

    Those are influenced by `mouse-1-click-follows-link'

    <tab-line> <down-mouse-1> (translated from <down-mouse-1>) at that
    spot runs the command mouse-drag-tab-line (found in global-map)

    <tab-line> <mouse-2> (translated from <mouse-1>) at that spot runs the
    command tab-line-close-tab (found in tab-line-tab-map)"

The difference is that in the broken case it says:

  "Those are influenced by `mouse-1-click-follows-link'"

and translates <mouse-1> to <mouse-2>, where <mouse-2> is a valid
binding that closes the tab.  But translating <mouse-1> to <mouse-2>
is a bug, I don't know how to fix it.