all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Stefan Monnier via "Bug reports for GNU Emacs, the Swiss army knife of text editors" <bug-gnu-emacs@gnu.org>
To: Jared Finder <jared@finder.org>
Cc: 74833@debbugs.gnu.org, rms@gnu.org, gerd.moellmann@gmail.com,
	shipmints@gmail.com, Eli Zaretskii <eliz@gnu.org>,
	fgunbin@fastmail.fm
Subject: bug#74833: 31.0.50; Copy to OS clipboard doesn't work in macOS Terminal.app with xterm-mouse-mode enabled
Date: Mon, 06 Jan 2025 13:25:31 -0500	[thread overview]
Message-ID: <jwvv7ureset.fsf-monnier+emacs@gnu.org> (raw)
In-Reply-To: <6b8d9d19697dae5f0b4a06920e559dc1@finder.org> (Jared Finder's message of "Thu, 02 Jan 2025 08:55:02 -0800")

> +(defconst xterm--auto-xt-mouse-allowed-names
> +  (mapconcat (lambda (s) (concat "^" s "\\>"))
> +             '("Konsole"
> +               "WezTerm"
> +               ;; "XTerm"   ;Disabled because OSC52 support is opt-in only.
> +               "iTerm2"     ;OSC52 support has opt-in/out UI on first usage
> +               "kitty")
> +             "\\|")

Sounds good, tho I'd use

    (concat "\\`" (regexp-opt '(...)) "\\>")

> +(defconst xterm--auto-xt-mouse-allowed-types
> +  (mapconcat (lambda (s) (concat "^" s "$"))
> +             '("alacritty"
> +               "contour")
> +             "\\|")

Same here (with \` and \')

> +  "Like `xterm--auto-xt-mouse-allowed-names', but for the terminal's type.
> +This will get matched against the environment variable \"TERM\".")

We should clarify if it's an "and" or an "or": if only one of
the two vars matches, is the feature enabled or not?

> @@ -907,7 +963,15 @@ xterm--init
>  
>    (when xterm-set-window-title
>      (xterm--init-frame-title))
> -  (when xterm-mouse-mode
> +  (when (and (not xterm-mouse-mode-called)
> +             ;; Only automatically enable xterm mouse on terminals
> +             ;; confirmed to still support all critical editing
> +             ;; workflows (bug#74833).
> +             (or (string-match-p xterm--auto-xt-mouse-allowed-types
> +                                 (tty-type (selected-frame)))
> +                 (and-let* ((name-and-version (xterm--query-name-and-version)))
> +                   (string-match-p xterm--auto-xt-mouse-allowed-names
> +                                   name-and-version))))
>      (xterm-mouse-mode 1))
>    ;; Unconditionally enable bracketed paste mode: terminals that don't
>    ;; support it just ignore the sequence.

- The above enables `xterm-mouse-mode` which will
  then proceed to *not* obey `xterm--auto-xt-mouse-allowed-*` on any
  further ttys used in the same session.

  IOW, I think the above test belongs in
  `turn-on-xterm-mouse-tracking-on-terminal` rather than here.

- Maybe instead of `xterm-mouse-mode-called` we should test

    (eq xterm-mouse-mode 'when-safe)

  or maybe rename the var to something more explicit like
  `xterm-mouse-mode-only-when-safe`.

- Of course, the previous code was also very weird:

    (when xterm-mouse-mode (xterm-mouse-mode 1))

  says to enable the mode, but only when it's already enabled?!


        Stefan






  parent reply	other threads:[~2025-01-06 18:25 UTC|newest]

Thread overview: 68+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-12-12 17:54 bug#74833: 31.0.50; Copy to OS clipboard doesn't work in macOS Terminal.app with xterm-mouse-mode enabled Filipp Gunbin
2024-12-12 18:08 ` Ship Mints
2024-12-12 18:18   ` Filipp Gunbin
2024-12-12 18:20     ` Ship Mints
2024-12-12 19:15 ` Eli Zaretskii
2024-12-12 19:18   ` Ship Mints
2024-12-12 19:32     ` Eli Zaretskii
2024-12-12 20:07       ` Gerd Möllmann
2024-12-12 20:31       ` Ship Mints
2024-12-13  7:21         ` Eli Zaretskii
2024-12-13 14:46           ` Ship Mints
2024-12-13 16:35           ` Filipp Gunbin
2024-12-13 16:42             ` Ship Mints
2024-12-13 16:52               ` Ship Mints
2024-12-13 20:46                 ` Filipp Gunbin
2024-12-13 16:49             ` Eli Zaretskii
2024-12-13 20:32               ` Filipp Gunbin
2024-12-13 20:54                 ` Ship Mints
2024-12-14  7:52                 ` Eli Zaretskii
2024-12-14  9:40                   ` Gerd Möllmann
2024-12-16 16:32                     ` Filipp Gunbin
2024-12-16 17:30                       ` Gerd Möllmann
2024-12-16 17:42                         ` Eli Zaretskii
2024-12-16 17:53                           ` Gerd Möllmann
2024-12-16 19:09                         ` Filipp Gunbin
2024-12-16 19:20                           ` Ship Mints
2024-12-16 19:57                             ` Gerd Möllmann
2024-12-16 19:58                             ` Eli Zaretskii
2024-12-16 20:07                               ` Ship Mints
2024-12-16 20:19                                 ` Eli Zaretskii
2024-12-17  3:32                                   ` Gerd Möllmann
2024-12-17 12:32                                     ` Eli Zaretskii
2024-12-18 17:50                                       ` Ship Mints
2024-12-19  5:16                                         ` Jared Finder via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-19 17:23                                           ` Ship Mints
2024-12-20 18:48                                             ` Jared Finder via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-22  4:49                                             ` Richard Stallman
2024-12-22  6:12                                               ` Gerd Möllmann
2024-12-22  7:46                                               ` Eli Zaretskii
     [not found]                                                 ` <861pxy5zxk.fsf@gnu.org>
2024-12-23 13:36                                                   ` Ship Mints
2024-12-23 13:55                                                     ` Eli Zaretskii
2024-12-23 14:44                                                       ` Ship Mints
2024-12-23 15:06                                                         ` Eli Zaretskii
2024-12-23 19:43                                                           ` Ship Mints
2024-12-26 23:51                                                             ` Jared Finder via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-27  8:02                                                               ` Eli Zaretskii
2024-12-28  7:08                                                                 ` Jared Finder via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-28  8:54                                                                   ` Eli Zaretskii
2024-12-29  5:16                                                                     ` Jared Finder via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-29  7:13                                                                       ` Eli Zaretskii
2025-01-02  7:10                                                                         ` Jared Finder via Bug reports for GNU Emacs, the Swiss army knife of text editors
2025-01-02  8:10                                                                           ` Eli Zaretskii
2025-01-02 16:55                                                                             ` Jared Finder via Bug reports for GNU Emacs, the Swiss army knife of text editors
2025-01-04 13:15                                                                               ` Eli Zaretskii
2025-01-06 18:25                                                                               ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors [this message]
2025-01-19  5:21                                                                                 ` Jared Finder via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-16 19:53                           ` Gerd Möllmann
2024-12-16 20:25                             ` Filipp Gunbin
2024-12-16 20:29                               ` Ship Mints
2024-12-12 19:55   ` Gerd Möllmann
2024-12-16  1:41 ` Jared Finder via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-16  3:40   ` Gerd Möllmann
2024-12-16  5:16     ` Jared Finder via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-16 16:37       ` Eli Zaretskii
2024-12-16 16:47         ` Ship Mints
2024-12-16 17:36         ` Gerd Möllmann
2024-12-16 16:30     ` Eli Zaretskii
2024-12-16 16:49   ` Filipp Gunbin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=jwvv7ureset.fsf-monnier+emacs@gnu.org \
    --to=bug-gnu-emacs@gnu.org \
    --cc=74833@debbugs.gnu.org \
    --cc=eliz@gnu.org \
    --cc=fgunbin@fastmail.fm \
    --cc=gerd.moellmann@gmail.com \
    --cc=jared@finder.org \
    --cc=monnier@iro.umontreal.ca \
    --cc=rms@gnu.org \
    --cc=shipmints@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.