From mboxrd@z Thu Jan  1 00:00:00 1970
Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail
From: Jared Finder via "Bug reports for GNU Emacs,
 the Swiss army knife of text editors" <bug-gnu-emacs@gnu.org>
Newsgroups: gmane.emacs.bugs
Subject: bug#74833: 31.0.50;
 Copy to OS clipboard doesn't work in macOS Terminal.app with
 xterm-mouse-mode enabled
Date: Sun, 15 Dec 2024 17:41:01 -0800
Message-ID: <f60142c9c903bf4e29776c6ede21f7d0@finder.org>
References: <m1cyhweqhe.fsf@fastmail.fm>
Reply-To: Jared Finder <jared@finder.org>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8;
 format=flowed
Content-Transfer-Encoding: 8bit
Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214";
	logging-data="21429"; mail-complaints-to="usenet@ciao.gmane.io"
Cc: Eli Zaretskii <eliz@gnu.org>, Filipp Gunbin <fgunbin@fastmail.fm>,
 74833@debbugs.gnu.org, shipmints@gmail.com
To: Gerd =?UTF-8?Q?M=C3=B6llmann?= <gerd.moellmann@gmail.com>
Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Mon Dec 16 02:42:31 2024
Return-path: <bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org>
Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org
Original-Received: from lists.gnu.org ([209.51.188.17])
	by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
	(Exim 4.92)
	(envelope-from <bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org>)
	id 1tN07x-0005OG-H9
	for geb-bug-gnu-emacs@m.gmane-mx.org; Mon, 16 Dec 2024 02:42:29 +0100
Original-Received: from localhost ([::1] helo=lists1p.gnu.org)
	by lists.gnu.org with esmtp (Exim 4.90_1)
	(envelope-from <bug-gnu-emacs-bounces@gnu.org>)
	id 1tN07Y-00055Y-Bi; Sun, 15 Dec 2024 20:42:04 -0500
Original-Received: from eggs.gnu.org ([2001:470:142:3::10])
 by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <Debian-debbugs@debbugs.gnu.org>)
 id 1tN07W-000558-KO
 for bug-gnu-emacs@gnu.org; Sun, 15 Dec 2024 20:42:02 -0500
Original-Received: from debbugs.gnu.org ([2001:470:142:5::43])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.90_1) (envelope-from <Debian-debbugs@debbugs.gnu.org>)
 id 1tN07W-0005iA-BZ
 for bug-gnu-emacs@gnu.org; Sun, 15 Dec 2024 20:42:02 -0500
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
 d=debbugs.gnu.org; s=debbugs-gnu-org; 
 h=From:Date:MIME-Version:To:In-Reply-To:References:Subject;
 bh=0Zx4LblpXAwmPFCi914UadN8dbKSMmHEQ6bFtMt6qW4=; 
 b=fBbDY2jt1vV2bZZgTRICveB2wfaXLfdT77/oNEQxT+96eGO1LqShNLTynX4Fmf8FeIy21yEP4pCOzxyqvayfqqEdbI7/j+t92PvtrMvFkbQzfPSbHYxrdVP3VVs+YHZVKrDzc27Cka6KEiIX9ewAcN1jN8SE88l/7O3zv7QLCkPBXlcQVM30pVgxuSWoHkZIYoKTXMSSkc/BrJqTD8XGEC0CcYG1CdSItAqA9FNR9unHrDytdhuTIMeJyqchZm+5CpIqiwP83CQT/VjSwxmPomX4WJ2xqOzZLUHivRP5Xv8gkBbUjR4PU4IcgT42ZjCcf25QgRPmbgIavHFPOzZALQ==;
Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2)
 (envelope-from <Debian-debbugs@debbugs.gnu.org>) id 1tN07W-00086d-5e
 for bug-gnu-emacs@gnu.org; Sun, 15 Dec 2024 20:42:02 -0500
X-Loop: help-debbugs@gnu.org
In-Reply-To: <m1cyhweqhe.fsf@fastmail.fm>
Resent-From: Jared Finder <jared@finder.org>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces@debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@gnu.org
Resent-Date: Mon, 16 Dec 2024 01:42:02 +0000
Resent-Message-ID: <handler.74833.B74833.173431327431080@debbugs.gnu.org>
Resent-Sender: help-debbugs@gnu.org
X-GNU-PR-Message: followup 74833
X-GNU-PR-Package: emacs
Original-Received: via spool by 74833-submit@debbugs.gnu.org id=B74833.173431327431080
 (code B ref 74833); Mon, 16 Dec 2024 01:42:02 +0000
Original-Received: (at 74833) by debbugs.gnu.org; 16 Dec 2024 01:41:14 +0000
Original-Received: from localhost ([127.0.0.1]:52806 helo=debbugs.gnu.org)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <debbugs-submit-bounces@debbugs.gnu.org>)
 id 1tN06j-00085B-Rw
 for submit@debbugs.gnu.org; Sun, 15 Dec 2024 20:41:14 -0500
Original-Received: from greenhill.hpalace.com ([192.155.80.58]:54778)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <jared@finder.org>) id 1tN06e-00084x-4z
 for 74833@debbugs.gnu.org; Sun, 15 Dec 2024 20:41:11 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=finder.org; s=2018;
 t=1734313261; bh=NJ5D25FMQn+Xpl1RsiOugMmzO4qG/MgCPJoeKkyMSns=;
 h=Date:From:To:Cc:Subject:From;
 b=T/p446wBexOsY5Wa9zpoD1dFuY47YbcL3Go88js/lCPqV4PsOH0PD1XPcqNDzR1sq
 5RWu7/JlUuKXwhLz3CkEmBnQSS4DYStrizxTuKXuwHtECm+V+KtsNcw+g2AZF3e2AS
 FjHBzCRaGIHk/EQt126KITiReMkTiWjqOs1MRt9eHe37GQZPtJVThs/qNmnZfoNBLJ
 3rTEvf6PuJnHUl2csb+7l7BjLOpaxdsMn+mzD5E4cJAa5GeR0co0nEbydbXEfxtcKf
 mahFRYS7DU69V5RttInUWmrTvzzOmNBdMMOreMPLIh5uaWDkug3EUYLdlZ3381/ecj
 3opX8I2evaxMg==
Original-Received: from mail.finder.org (unknown [192.155.80.58])
 by greenhill.hpalace.com (Postfix) with ESMTPSA id 9E610531;
 Mon, 16 Dec 2024 01:41:01 +0000 (UTC)
X-Sender: jared@finder.org
X-BeenThere: debbugs-submit@debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
X-BeenThere: bug-gnu-emacs@gnu.org
List-Id: "Bug reports for GNU Emacs,
 the Swiss army knife of text editors" <bug-gnu-emacs.gnu.org>
List-Unsubscribe: <https://lists.gnu.org/mailman/options/bug-gnu-emacs>,
 <mailto:bug-gnu-emacs-request@gnu.org?subject=unsubscribe>
List-Archive: <https://lists.gnu.org/archive/html/bug-gnu-emacs>
List-Post: <mailto:bug-gnu-emacs@gnu.org>
List-Help: <mailto:bug-gnu-emacs-request@gnu.org?subject=help>
List-Subscribe: <https://lists.gnu.org/mailman/listinfo/bug-gnu-emacs>,
 <mailto:bug-gnu-emacs-request@gnu.org?subject=subscribe>
Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org
Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org
Xref: news.gmane.io gmane.emacs.bugs:297151
Archived-At: <http://permalink.gmane.org/gmane.emacs.bugs/297151>

On 2024-12-14 04:40, Gerd Möllmann wrote:
> Eli Zaretskii <eliz@gnu.org> writes:
> 
>>> From: Filipp Gunbin <fgunbin@fastmail.fm>
>>> Cc: shipmints@gmail.com,  74833@debbugs.gnu.org
>>> Date: Fri, 13 Dec 2024 23:32:39 +0300
>>> 
>>> On 13/12/2024 18:49 +0200, Eli Zaretskii wrote:
>>> 
>>> >> From: Filipp Gunbin <fgunbin@fastmail.fm>
>>> >> Cc: Ship Mints <shipmints@gmail.com>,  74833@debbugs.gnu.org
>>> >> Date: Fri, 13 Dec 2024 19:35:15 +0300
>>> >>
>>> >> On 13/12/2024 09:21 +0200, Eli Zaretskii wrote:
>>> >>
>>> >> > So why is this an Emacs bug?  It sounds like the OP expects something
>>> >> > to happen which shouldn't, because the xterm protocol for selections
>>> >> > and the clipboard are not supported by Terminal.app?  In that case,
>>> >> > this could be at best a feature request, not a bug.
>>> >>
>>> >> I'll try to explain differently.
>>> >>
>>> >> Without xterm-mouse-mode you can copy/paste from/into Terminal.app
>>> >> window, looks like Terminal.app gives this ability on its own.  This is
>>> >> not integration with Emacs kill ring, no.  Emacs cursor does not react
>>> >> to mouse clicks, and selection happens with OS mouse pointer.  Paste
>>> >> works rather slow (bad idea to paste large chunks of text), but
>>> >> tolerable.
>>> >>
>>> >> Now, yesterday my daily master build got me xterm-mouse-mode enabled, so
>>> >> I did some testing just out of curiosity.  Most of the things work,
>>> >> including clicking and selection.  However, Command-C now just doesn't
>>> >> copy text to OS clipboard.  And it's non-obvious that you should disable
>>> >> xterm-mouse-mode to be able to copy.
>>> >
>>> > xterm-mouse-mode is supposed to be enabled only on terminals that load
>>> > xterm.el, which means they are xterm-compatible.  Does Terminal.app
>>> > load xterm.el on startup?
>>> 
>>> Terminal.app sets TERM=xterm-256color (this is configurable in 
>>> "Settings
>>> -> Profiles -> Advanced -> Declare terminal as", I doubt I ever 
>>> changed
>>> it), so xterm.el should be loaded, yes.
>>> 
>>> Other term-related vars are:
>>> 
>>> TERM_PROGRAM=Apple_Terminal
>>> TERM_PROGRAM_VERSION=453
>>> TERM_SESSION_ID=1251C872-8246-4380-A2AE-ED1F8B649878
>> 
>> Then we should amend xterm.el to not allow xterm-mouse on this
>> terminal.  Jared, could you please add such a condition?
>> 
>> And I think the Terminal.app developers should be told that pretending
>> to be xterm without full support for all the xterm features is not
>> TRT, and they should stop.  Would someone please file an issue with
>> their issue tracker?
> 
> I still think that this is a cockpit error.

I agree. While in Emacs, with Emacs managing the selection, one should 
expect to use Emacs commands to manage the clipboard like C-w and M-w. 
Sadly, Terminal.app does not support OSC52 therefore the clipboard is 
shared only within Emacs. Terminal.app provides fn+mouse drag to select 
things that Command-C notices as well as Command-R to disable mouse 
reporting already for exactly this reason.

However, I'm sensitive that someone using Terminal.app is just using the 
MacOS default configuration for terminal and will think Emacs is broken 
here. Terminal.app is MacOS's default terminal emulator after all. Other 
popular MacOS terminal emulators like iTerm2 work fine because they 
support OSC52 (copy protocol).

What about adding a workaround that uses the command line tool pbcopy 
(Mac version of xclip)? The pbcopy program is distributed with MacOS by 
default. This won't work over SSH, but at that point I don't think 
there's anything that can be done. TERM_PROGRAM isn't sent to the server 
by default.

I also think I could make the news entry more detailed.


Paste works just fine in MacOS under Terminal.app for me.

   -- MJF