GNU logs - #79094, boring messages


Message sent to joe@HIDDEN, bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#79094: [wishlist] Optimizations for round trips in tramp
Resent-From: Michael Albinus <michael.albinus@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: joe@HIDDEN, bug-gnu-emacs@HIDDEN
Resent-Date: Fri, 25 Jul 2025 13:25:02 +0000
Resent-Message-ID: <handler.79094.B.175344987217589 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: report 79094
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: 79094 <at> debbugs.gnu.org
Cc: "Joe Sadusk" <joe@HIDDEN>
X-Debbugs-Original-To: bug-gnu-emacs@HIDDEN
X-Debbugs-Original-Xcc: "Joe Sadusk" <joe@HIDDEN>
Received: via spool by submit <at> debbugs.gnu.org id=B.175344987217589
          (code B ref -1); Fri, 25 Jul 2025 13:25:02 +0000
Received: (at submit) by debbugs.gnu.org; 25 Jul 2025 13:24:32 +0000
Received: from localhost ([127.0.0.1]:33783 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1ufIPX-0004Zb-FM
	for submit <at> debbugs.gnu.org; Fri, 25 Jul 2025 09:24:32 -0400
Received: from lists.gnu.org ([2001:470:142::17]:32976)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <michael.albinus@HIDDEN>)
 id 1ufIPS-0004Z1-45
 for submit <at> debbugs.gnu.org; Fri, 25 Jul 2025 09:24:29 -0400
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 <michael.albinus@HIDDEN>)
 id 1ufIPA-0005Od-8h
 for bug-gnu-emacs@HIDDEN; Fri, 25 Jul 2025 09:24:15 -0400
Received: from mout.gmx.net ([212.227.17.20])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <michael.albinus@HIDDEN>)
 id 1ufIP2-0006fU-ES
 for bug-gnu-emacs@HIDDEN; Fri, 25 Jul 2025 09:24:07 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmx.de;
 s=s31663417; t=1753449837; x=1754054637; i=michael.albinus@HIDDEN;
 bh=dsf/4XtdmLY6KibbRQ1JYO3J7rpZIdZD1+q/lPJrXJM=;
 h=X-UI-Sender-Class:From:To:Subject:Date:Message-ID:MIME-Version:
 Content-Type:cc:content-transfer-encoding:content-type:date:from:
 message-id:mime-version:reply-to:subject:to;
 b=ch5sKnZC9xw2CxA7DNtqBfvLUXDGlr2c/zSOjFa56JeRZKvRs5ZdOhQTwnC5DO+e
 zEhAyzGzrwHKXv1bS4BEqNnhxhKEQ8VFoCjSSiz8R9JF5btwIKgAF9z+uoYIRgKcw
 wE/bhU31zhwe0E0VbdRdvdgq0CtCo3NkuMdIRW32vdKIWTT02+8aM106g8QUjyEWQ
 ImUj5GyfaTuWmhFiG4R6hbsWNTsrEfKQyRf08nywM9Itx/or1VSTxOq0VSbxzHhqP
 N/vh+RMbAx/D8YE+UHYE8pbZpeNPmppq54pqg8gGtEKYOAyqx6nxjBhlxFH/QQuik
 zFB8CQ2z+dnnK0ToJg==
X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a
Received: from gandalf.gmx.de ([185.89.37.61]) by mail.gmx.net (mrgmx105
 [212.227.17.168]) with ESMTPSA (Nemesis) id 1N4hvb-1uWjYw0fTz-016nMg for
 <bug-gnu-emacs@HIDDEN>; Fri, 25 Jul 2025 15:23:57 +0200
From: Michael Albinus <michael.albinus@HIDDEN>
Date: Fri, 25 Jul 2025 15:23:56 +0200
Message-ID: <87ikjgo13n.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="=-=-="
X-Provags-ID: V03:K1:SlmEpleUbuVm4Yq8/9+RgVDuX8wxwT83QbtJhffPXjI+JmYjPu5
 9vuG8rz1rb6+Pyaa8XP+L/USpObbtTbTx8rljqN9FzEzraz3XZu20PF/FI2OdARSwsSIStU
 U0IZ5EpdPQroJCH8bouTTHmzg4EFNB8MSmWLC8SdZ10qa4bgU5qeh0pYEB9lYskXNaKhVL/
 RuTMPrbpJLv1R+mvRUlVA==
X-Spam-Flag: NO
UI-OutboundReport: notjunk:1;M01:P0:2s40iBuh1AM=;Xp488pBfbJ2LY34+UEWwUlShryb
 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
Received-SPF: pass client-ip=212.227.17.20;
 envelope-from=michael.albinus@HIDDEN; helo=mout.gmx.net
X-Spam_score_int: -27
X-Spam_score: -2.8
X-Spam_bar: --
X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1,
 DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001,
 HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H4=0.001,
 RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001,
 RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001, SPF_HELO_NONE=0.001,
 SPF_PASS=-0.001 autolearn=ham autolearn_force=no
X-Spam_action: no action
X-Spam-Score: 0.0 (/)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

--=-=-=
Content-Type: text/plain


-------------------- Start of forwarded message --------------------
From: "Joe Sadusk" <joe@HIDDEN>
Subject: Optimizations for round trips in tramp
Date: Wed, 23 Jul 2025 17:30:53 +0000
To: emacs-devel@HIDDEN


--=-=-=
Content-Type: multipart/alternative; boundary="==-=-="

--==-=-=
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

Hi, long time emacs user, first time contributor. I maintain an emacs confi=
g for my company's dev environment, which is primarily using remote worksta=
tions, so the config makes heavy use of tramp. I did some digging to find t=
he source of some pauses and delays that happen during navigation and file =
open, particularly when remote dir-locals are enabled. And I found that a m=
ajor piece of these pauses comes from calls to locate-dominating-file. This=
 function doesn't have a tramp specific implementation, and so it loops in =
lisp, making many small tramp calls for things like expand-file-name, file-=
exists-p, file-directory-p, each of which issue a tramp-send-command and in=
cur a round-trip to the server.

My remote workstation connection has somewhat bad latency, each tramp round=
trip appears to take around 0.15s. Clocking a call to do (locate-dominating=
-file "/some/file/deep/in/a/repo" ".git") took over 2 seconds. This gets ev=
en worse when locate-dominating-file is used by dir-locals-find-file, becau=
se it uses the predicate form of locate-dominating-file, and the predicate =
does multiple tramp round trips itself. (dir-locals-find-file=C2=A0"/some/f=
ile/deep/in/a/repo") took over 3 seconds. This kind of a delay pops up when=
 opening a file, reverting, traversing directories, making the dev experien=
ce much less fluid.

So I did an experiment to see if I could implement these operations to use =
a single tramp round-trip, or as few as possible. The result is here:
https://github.com/jsadusk/tramp-hlo

The result is a huge improvement. dir-locals-find-file went from 3+ seconds=
 to 0.18 seconds, with only 1 or 2 tramp-send-commands. This also hugely sp=
eeds up vc-mode, which many people turn off for tramp to optmize speed. Min=
d you, this is on my workstation, which is a fairly stock Ubuntu 22.04 mach=
ine. I haven't tested this on the myriad of environments tramp has to work =
with. I'm sure there are edge cases I'm missing. But its working great for =
me, so I'm treating this as a proof of concept. I also wrote this as an adv=
ice function rather than a tramp handler, so I could turn it on and off eas=
ily. A real version of this would be vetted across many environments and be=
 properly integrated with tramp-sh.el.=C2=A0

So I wanted to see what people think about this approach and if its worth t=
urning into a real patch for tramp? And if there's any advice on making it =
more comprehensive? Also, I'm searching out other higher level operations t=
hat could be made into server side tramp scripts, if anyone knows of some g=
ood targets.

So please, comment, critique, tell me I'm doing it wrong, or give me the go=
ahead and I'll be happy to make a patch.=C2=A0

Joe Sadusk
--==-=-=
Content-Type: text/html; charset=utf-8
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE html><html><head><meta http-equiv=3D"Content-Type" content=3D"tex=
t/html; charset=3Dutf-8"></head><body><div>Hi, long time emacs user, first =
time contributor. I maintain an emacs config for my company's dev environme=
nt, which is primarily using remote workstations, so the config makes heavy=
 use of tramp. I did some digging to find the source of some pauses and del=
ays that happen during navigation and file open, particularly when remote d=
ir-locals are enabled. And I found that a major piece of these pauses comes=
 from calls to locate-dominating-file. This function doesn't have a tramp s=
pecific implementation, and so it loops in lisp, making many small tramp ca=
lls for things like expand-file-name, file-exists-p, file-directory-p, each=
 of which issue a tramp-send-command and incur a round-trip to the server.<=
/div><div><br></div><div>My remote workstation connection has somewhat bad =
latency, each tramp roundtrip appears to take around 0.15s. Clocking a call=
 to do (locate-dominating-file "/some/file/deep/in/a/repo" ".git") took ove=
r 2 seconds. This gets even worse when locate-dominating-file is used by di=
r-locals-find-file, because it uses the predicate form of locate-dominating=
-file, and the predicate does multiple tramp round trips itself. (dir-local=
s-find-file=C2=A0"/some/file/deep/in/a/repo") took over 3 seconds. This kin=
d of a delay pops up when opening a file, reverting, traversing directories=
, making the dev experience much less fluid.</div><div><br></div><div>So I =
did an experiment to see if I could implement these operations to use a sin=
gle tramp round-trip, or as few as possible. The result is here:</div><div>=
<a href=3D"https://github.com/jsadusk/tramp-hlo">https://github.com/jsadusk=
/tramp-hlo</a></div><div><br></div><div>The result is a huge improvement. d=
ir-locals-find-file went from 3+ seconds to 0.18 seconds, with only 1 or 2 =
tramp-send-commands. This also hugely speeds up vc-mode, which many people =
turn off for tramp to optmize speed. Mind you, this is on my workstation, w=
hich is a fairly stock Ubuntu 22.04 machine. I haven't tested this on the m=
yriad of environments tramp has to work with. I'm sure there are edge cases=
 I'm missing. But its working great for me, so I'm treating this as a proof=
 of concept. I also wrote this as an advice function rather than a tramp ha=
ndler, so I could turn it on and off easily. A real version of this would b=
e vetted across many environments and be properly integrated with tramp-sh.=
el.=C2=A0</div><div><br></div><div>So I wanted to see what people think abo=
ut this approach and if its worth turning into a real patch for tramp? And =
if there's any advice on making it more comprehensive? Also, I'm searching =
out other higher level operations that could be made into server side tramp=
 scripts, if anyone knows of some good targets.</div><div><br></div><div>So=
 please, comment, critique, tell me I'm doing it wrong, or give me the goah=
ead and I'll be happy to make a patch.=C2=A0</div><div><br></div><div>Joe S=
adusk</div></body></html>
--==-=-=--

--=-=-=
Content-Type: text/plain

-------------------- End of forwarded message --------------------

--=-=-=--




Message sent:


Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-Mailer: MIME-tools 5.505 (Entity 5.505)
Content-Type: text/plain; charset=utf-8
X-Loop: help-debbugs@HIDDEN
From: help-debbugs@HIDDEN (GNU bug Tracking System)
To: Michael Albinus <michael.albinus@HIDDEN>
Subject: bug#79094: Acknowledgement ([wishlist] Optimizations for round
 trips in tramp)
Message-ID: <handler.79094.B.175344987217589.ack <at> debbugs.gnu.org>
References: <87ikjgo13n.fsf@HIDDEN>
X-Gnu-PR-Message: ack 79094
X-Gnu-PR-Package: emacs
Reply-To: 79094 <at> debbugs.gnu.org
Date: Fri, 25 Jul 2025 13:25:02 +0000

Thank you for filing a new bug report with debbugs.gnu.org.

This is an automatically generated reply to let you know your message
has been received.

Your message is being forwarded to the package maintainers and other
interested parties for their attention; they will reply in due course.

As you requested using X-Debbugs-CC, your message was also forwarded to
  "Joe Sadusk" <joe@HIDDEN>
(after having been given a bug report number, if it did not have one).

Your message has been sent to the package maintainer(s):
 bug-gnu-emacs@HIDDEN

If you wish to submit further information on this problem, please
send it to 79094 <at> debbugs.gnu.org.

Please do not send mail to help-debbugs@HIDDEN unless you wish
to report a problem with the Bug-tracking system.

--=20
79094: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D79094
GNU Bug Tracking System
Contact help-debbugs@HIDDEN with problems


Message received at control <at> debbugs.gnu.org:


Received: (at control) by debbugs.gnu.org; 25 Jul 2025 13:34:06 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Jul 25 09:34:06 2025
Received: from localhost ([127.0.0.1]:33833 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1ufIYn-0005N1-Fx
	for submit <at> debbugs.gnu.org; Fri, 25 Jul 2025 09:34:06 -0400
Received: from mout.gmx.net ([212.227.17.22]:46795)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <michael.albinus@HIDDEN>)
 id 1ufIYT-0005LZ-5V
 for control <at> debbugs.gnu.org; Fri, 25 Jul 2025 09:33:58 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmx.de;
 s=s31663417; t=1753450418; x=1754055218; i=michael.albinus@HIDDEN;
 bh=JG763DfaTzl/mfqK/kkznCtGeMan/xjlv+YapAUl3ks=;
 h=X-UI-Sender-Class:From:To:Subject:Date:Message-ID:MIME-Version:
 Content-Type:cc:content-transfer-encoding:content-type:date:from:
 message-id:mime-version:reply-to:subject:to;
 b=NaV+iZMnskJdCJrhSIWenhXjFEMnd1j2Gf+Xnzj19Hdjj888+EEOr3pKJ3QPfVni
 wR80j5gMsVXq2KL7YHwwWZASd5EksZ8zz1flTueDJaE5fG/pqLk40V26hthbanU84
 QnaEP1xLPzshgs/IJFENupnjx+idV6bveE9rRXKKKwjDCw3ZVL7le3a/wFEL/CYaV
 9nGpDBihQzYfqGW3wtH977949EgNcvRj2i525UqdrkjGbKF1P+PxJ8+w20voGJnZb
 Ryal7DOpufjq5Jmk2teQeF37038vyJ+hafsQFhxiC7KsgnV2KSzdzPX6J290uFBIg
 dKCIajDfE/5q0VV9Vw==
X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a
Received: from gandalf.gmx.de ([185.89.37.61]) by mail.gmx.net (mrgmx104
 [212.227.17.168]) with ESMTPSA (Nemesis) id 1MirjY-1uBTVd23Iy-00ac3U for
 <control <at> debbugs.gnu.org>; Fri, 25 Jul 2025 15:33:37 +0200
From: Michael Albinus <michael.albinus@HIDDEN>
To: control <at> debbugs.gnu.org
Subject: control message for bug #79094
Date: Fri, 25 Jul 2025 15:33:36 +0200
Message-ID: <87freko0nj.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain
X-Provags-ID: V03:K1:8WS3vOjP2uiyTBWhqQg10U1JPsY1kl/FLIFADM8lNu36/6agw46
 TJ9F+201SrHaJjJ05VQKW39tmWfGyScidNx5KPchUWwWtueo7IoYitayxGMTRvQnFCJRmtI
 oGzLeEEfkTsD9ngIGKLgI+yIULdntYFY+bRG2Z09AI93a8spix6+lrGV/DdVgmRF0XRLLPU
 EsU+jSH+94XHdqdMcll8g==
X-Spam-Flag: NO
UI-OutboundReport: notjunk:1;M01:P0:On4BCq97tFI=;zA6Fk8XcMgNPAmHb1E3yJOpIMqh
 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
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: control
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.7 (-)

submitter 79094 "Joe Sadusk" <joe@HIDDEN>
quit





Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#79094: [wishlist] Optimizations for round trips in tramp
Resent-From: Michael Albinus <michael.albinus@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Fri, 25 Jul 2025 14:42:02 +0000
Resent-Message-ID: <handler.79094.B79094.175345447618469 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 79094
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: "Joe Sadusk" <joe@HIDDEN>
Cc: 79094 <at> debbugs.gnu.org
Received: via spool by 79094-submit <at> debbugs.gnu.org id=B79094.175345447618469
          (code B ref 79094); Fri, 25 Jul 2025 14:42:02 +0000
Received: (at 79094) by debbugs.gnu.org; 25 Jul 2025 14:41:16 +0000
Received: from localhost ([127.0.0.1]:35119 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1ufJbn-0004ni-Jk
	for submit <at> debbugs.gnu.org; Fri, 25 Jul 2025 10:41:16 -0400
Received: from mout.gmx.net ([212.227.17.20]:42769)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <michael.albinus@HIDDEN>)
 id 1ufJbk-0004nF-D5
 for 79094 <at> debbugs.gnu.org; Fri, 25 Jul 2025 10:41:14 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmx.de;
 s=s31663417; t=1753454463; x=1754059263; i=michael.albinus@HIDDEN;
 bh=mXMpFbfKNiBRSkLIdYidAsKujCiv2o0kWuMxazkN8mo=;
 h=X-UI-Sender-Class:From:To:Cc:Subject:In-Reply-To:References:Date:
 Message-ID:MIME-Version:Content-Type:Content-Transfer-Encoding:cc:
 content-transfer-encoding:content-type:date:from:message-id:
 mime-version:reply-to:subject:to;
 b=ARrcPPzOWi+7Myf9fXLVWxP7FplHakU/BGQ6MXJ+BhKUlLZKmy7MkYugLKikq+OY
 VJdL68M+VdP8yKIIIKARu1CvhbmIUL7bBw9jgyFJcYalgMv+icNeVhs5jF4AJRk6I
 soRt3YsNjsxsxKT6jA/oK2MKEx8vOeuM96EQTDJA2UsfCRd5KFBKiMqL0f3UbupQW
 wE2pWIhtsZdpH4h0ADS290LsOhLWEeVXFfcSYRX2s8mPEoZU+oOzVAi7LmX9B75oX
 iBgJ7QymFJHiYWpeHR5bLNXkfhUmNJnqFsviycofcsciOQ8gF6+9bd9wxP7mp9wJ2
 EiewD3TQipwfdourcw==
X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a
Received: from gandalf.gmx.de ([185.89.37.61]) by mail.gmx.net (mrgmx104
 [212.227.17.168]) with ESMTPSA (Nemesis) id 1MyKDU-1uVKnD16mi-00uUFe; Fri, 25
 Jul 2025 16:41:03 +0200
From: Michael Albinus <michael.albinus@HIDDEN>
In-Reply-To: <87ikjgo13n.fsf@HIDDEN>
References: <87ikjgo13n.fsf@HIDDEN>
Date: Fri, 25 Jul 2025 16:41:02 +0200
Message-ID: <877bzwnxj5.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-Provags-ID: V03:K1:qqlNqV1r53dAKnYDIon8qylnb7WA4S8p1G5enxW12F7Ms2ekD3e
 P8eOOVpXYmXLl+IaAs6xzVh/HlS6uAX+smtf0kpzUm6D2S+rE0DeTlNToIijlMs2u7EV9cU
 1wOYC07B2CZTXW8s45xFk0D9TlUQtFn4LtKrapeawQPscCHEs9wMYRfXmOqW3xxz6RmHg/g
 ld1w1SlzUdA+tCDPWkbkg==
X-Spam-Flag: NO
UI-OutboundReport: notjunk:1;M01:P0:lwx/pZU1pFk=;VyyJbv9qTokCjeCIAw1dq/96vqa
 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
 Qr08ygZfw2HUXPZ0+/drlS1wRNS14Pdo=
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: -0.7 (/)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.7 (-)


> Hi, long time emacs user, first time contributor.

Hi Joe,
I much appreciate your ideas. I've played a little bit with the code,
here are my first remarks.

> I maintain an emacs config for my company's dev environment, which is
> primarily using remote workstations, so the config makes heavy use of
> tramp. I did some digging to find the source of some pauses and delays
> that happen during navigation and file open, particularly when remote
> dir-locals are enabled. And I found that a major piece of these pauses
> comes from calls to locate-dominating-file. This function doesn't have
> a tramp specific implementation, and so it loops in lisp, making many
> small tramp calls for things like expand-file-name, file-exists-p,
> file-directory-p, each of which issue a tramp-send-command and incur a
> round-trip to the server.

Yes, this is a common problem in Tramp. There are already also some attemp=
ts to
optimize Tramp, see the places tramp-bundle-read-file-names is used.

> My remote workstation connection has somewhat bad latency, each tramp
> roundtrip appears to take around 0.15s. Clocking a call to do
> (locate-dominating-file "/some/file/deep/in/a/repo" ".git") took over
> 2 seconds. This gets even worse when locate-dominating-file is used by
> dir-locals-find-file, because it uses the predicate form of
> locate-dominating-file, and the predicate does multiple tramp round
> trips itself. (dir-locals-find-file "/some/file/deep/in/a/repo") took
> over 3 seconds. This kind of a delay pops up when opening a file,
> reverting, traversing directories, making the dev experience much less
> fluid.
>
> So I did an experiment to see if I could implement these operations to
> use a single tramp round-trip, or as few as possible. The result is
> here:
> https://github.com/jsadusk/tramp-hlo
>
> The result is a huge improvement. dir-locals-find-file went from 3+
> seconds to 0.18 seconds, with only 1 or 2 tramp-send-commands. This
> also hugely speeds up vc-mode, which many people turn off for tramp to
> optmize speed. Mind you, this is on my workstation, which is a fairly
> stock Ubuntu 22.04 machine. I haven't tested this on the myriad of
> environments tramp has to work with. I'm sure there are edge cases I'm
> missing. But its working great for me, so I'm treating this as a proof
> of concept. I also wrote this as an advice function rather than a
> tramp handler, so I could turn it on and off easily. A real version of
> this would be vetted across many environments and be properly
> integrated with tramp-sh.el.=20
>
> So I wanted to see what people think about this approach and if its
> worth turning into a real patch for tramp? And if there's any advice
> on making it more comprehensive? Also, I'm searching out other higher
> level operations that could be made into server side tramp scripts, if
> anyone knows of some good targets.
>
> So please, comment, critique, tell me I'm doing it wrong, or give me
> the goahead and I'll be happy to make a patch.

I believe this is worth to give it to the public. Since Tramp is just
the implementation of core magic file operations, I believe it might be
better offered as GNU ELPA package. But I may be wrong, let's see what
other people think.

Here are my first comments on the code after playing with it for an hour
or so. All my proposals for change are rather untested, so you should
use them with care.

First of all, I had to adapt tramp-hlo-dir-locals--all-files. It misses
the argument '&optional base-el-only', and I got an error at runtime.

> (defgroup tramp-hlo nil
>   "High level operations as tramp handlers"
>   :group 'tools)

I believe you don't need it. You have no defcustom or defface to place
it there. And even if you would have it, the defgroup 'tramp' would be
sufficient.

> (defconst tramp-hlo-dir-locals--all-files-script
>   "Script to check for dir-locals in a remote dir"
>=20
> (defconst tramp-hlo-list-parents-script
>   "Script to list all parents in upward order of a directory, with home =
abbreviations"
>=20
> (defconst tramp-hlo-locate-dominating-file-script
>   "Script to find a dominating file directory on a remote host"
>=20
> (defconst tramp-hlo-locate-dominating-file-multi-script
>   "Script to find several dominating files on a remote host"

The docstrings are very terse. Please explain which arguments are
expected, and what will be the result.

> (defun tramp-hlo-dir-locals--all-files (orig-fun directory &optional bas=
e-el-only)
>   "Tramp version of dir-locals--all-files"

Please quote Lisp symbols in docstrings `like-this'.  The first sentence
of a docstring must finish with a period. And again, explain arguiments
and the result of the function. This yields also for the other
docstrings.

>   (let ((connection (file-remote-p directory)))
>     (if connection

Well, you have this for almost all functions. And this doesn't work, if
directory is relative file name, or it is handled by another Tramp
backend but tramp-sh.el.

I would introduce a macro, like

(defmacro tramp-hlo-active-p (file)
  `(and-let* ((non-essential t)
	      (vec (ignore-errors
		     (tramp-dissect-file-name (expand-file-name ,file))))
	      ((tramp-sh-file-name-handler-p vec)))))

Then you can write

(if (tramp-hlo-active-p directory)

>           (mapcar (lambda (name) (concat connection name))

You don't need connection here, you have vec which knows everything
about the remote file name. Call

(mapcar (lambda (name) (tramp-make-tramp-file-name vec name))
=20
> (defun tramp-hlo-locate-dominating-file-pred (connection vec file pred)
>   "Implementation of tramp-hlo-locate-dominating-file for a name predica=
te"

You don't need connection as argument. Use tramp-make-tramp-file-name
where appropriate.
=20
> (defun tramp-hlo-locate-dominating-file-list (connection vec file names)
>   "Implementation of tramp-hlo-locate-dominating-file for a list of name=
s"

Same for connection.

>   (let* ((localfile (nth 6 vec))

Pls use the accessor functions for vec. In this case, use

(let* ((localfile (tramp-file-name-localname vec))

>          (quoted-names (mapcar (lambda (name) (format "\"%s\"" name)) na=
mes))

Please donm't quote with '"'. This works often enough, but if, for
example, name contains a quotation mark itself, you're lost. Use instead

(quoted-names (mapcar #'tramp-shell-quote-argument names))

> (defun tramp-hlo-dir-locals-find-file (orig-fun file)
>   "Tramp implementation of dir-locals-find-file"

In this function, you have implemented an own cache. Consider using
tramp-cache.el, it is more powerful. For example. it handles also cache
expiration, and much more.

>         (let* ((locals-files (tramp-hlo-find-dominating-files (file-name=
-directory file)
>                                                    '(".dir-locals.el" ".=
dir-locals-2.el")))

...

> 					(file-attribute-modification-time
> 					 (file-attributes f))))

file-attributes could cause another round-trip to the remote. Perhaps
you expand your script(s) to return also some file attributes already,
associated with the file name(s), like tramp-bundle-read-file-names does.
=20
> (defun configure-tramp-hlo ()
>   (advice-add 'dir-locals--all-files :around #'tramp-hlo-dir-locals--all=
-files)
>   (advice-add 'locate-dominating-file :around #'tramp-hlo-locate-dominat=
ing-file)
>   (advice-add 'dir-locals-find-file :around #'tramp-hlo-dir-locals-find-=
file)
>   )

Please add also a function to remove the advices. And shouldn't this be in=
teractive?

> Joe Sadusk

Best regards, Michael.




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#79094: [wishlist] Optimizations for round trips in tramp
Resent-From: "Joe Sadusk" <joe@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Sat, 26 Jul 2025 05:56:02 +0000
Resent-Message-ID: <handler.79094.B79094.175350935720572 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 79094
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: "Michael Albinus" <michael.albinus@HIDDEN>
Cc: 79094 <at> debbugs.gnu.org
Received: via spool by 79094-submit <at> debbugs.gnu.org id=B79094.175350935720572
          (code B ref 79094); Sat, 26 Jul 2025 05:56:02 +0000
Received: (at 79094) by debbugs.gnu.org; 26 Jul 2025 05:55:57 +0000
Received: from localhost ([127.0.0.1]:39056 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1ufXsy-0005Lh-AO
	for submit <at> debbugs.gnu.org; Sat, 26 Jul 2025 01:55:56 -0400
Received: from mail-pj1-f42.google.com ([209.85.216.42]:60871)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.84_2) (envelope-from <jsadusk@HIDDEN>) id 1ufPQM-0008Jl-5H
 for 79094 <at> debbugs.gnu.org; Fri, 25 Jul 2025 16:53:50 -0400
Received: by mail-pj1-f42.google.com with SMTP id
 98e67ed59e1d1-31223a4cddeso2014201a91.1
 for <79094 <at> debbugs.gnu.org>; Fri, 25 Jul 2025 13:53:50 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1753476824; x=1754081624;
 h=references:in-reply-to:cc:to:subject:tls-required:message-id:from
 :content-transfer-encoding:date:mime-version:x-gm-message-state:from
 :to:cc:subject:date:message-id:reply-to;
 bh=/dYSF5OpZr1ZJseGPZFTx10xsAIVi/+bvQE6bSQMqa8=;
 b=v7qDENDWQEVoLYY+mzkF0WOYR0ckXyPx4Kz35UWahKrH+I6OX2KTMMvWWq5ucXRlIX
 kSOedF0ZDF+MuoGfnQIVLjMlCkGuR6GHfI110glFsEgGjUFWiTM7KYhR/elFlmvnVOkt
 l2eosjhwYvBhRjPn+UnH/Fdd3rCri4gEXUDQ0ZfWC6THwsYtNR7vXZyWeWf0HwvjrXWB
 ifAFc7Ta586IRTNKl4M91jPYrX347WqXusrfH0i+E06uvoCMB0muPq68udLJq1eAKnVS
 qkm/td/l/ECL78d7s9njsYTu9HB6qmVKrjS9EY2UXlzwQquzN+J950flMJ0IOdubWTB6
 /yUA==
X-Gm-Message-State: AOJu0Yy/bNhyyFh1Q/vfGQjx6LMmviR1VA/1VgQAG/niUae34wK23vis
 DirvWaTw6HSrnIx67QmQh96HgGATuFvXOwA+qD+BtXUhsAvrFWGe2/AjRa2Yqw==
X-Gm-Gg: ASbGncv4LUTDlEPL9x8rCvPSCw+HQ4wVc4WJW8I4NSv6iLrQjpAv8t+vJxFghF2q4dV
 WgldMdNELPZtzkIpLbZ4LaK2RxCW/HML9kfqzNwha/GXLjd7BDubN0a7DUlErDuoN5sD7jjqaUP
 e8Zaa78ThBpU6WmbYcUzRfXj5j6nCLnqHEdydKKPFP7XPQ7Q0UFlYSJLgkv4oiTiddyjGuxfWvj
 dbggKE0kLt/L4yOy6/QnTxr8+3N4YUWg1+bkupB4lHlSGl3X2dXh+797HZhCTNYKuJ8FxzeGYh5
 2brIzunsgdpmPk4Hz+GqGn76Cmox2dKNmeDd5uuTcKt90L/DoM6onpyVKjXS8c8dpE4JnqbFDI9
 UhORNnqdoruiF
X-Google-Smtp-Source: AGHT+IELE7CTt1fo5xFKbsrpdhopwozw4tsIk8y2z+2UXhmdpdSP3WtJu+Q3SIDebf/2WHucY7g8MQ==
X-Received: by 2002:a17:90b:4ac5:b0:315:cc22:68d9 with SMTP id
 98e67ed59e1d1-31e77a4af86mr4359476a91.31.1753476823350; 
 Fri, 25 Jul 2025 13:53:43 -0700 (PDT)
Received: from sadusk.com ([157.131.129.2]) by smtp.gmail.com with ESMTPSA id
 41be03b00d2f7-b3f7f6d93f6sm456735a12.69.2025.07.25.13.53.42
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 25 Jul 2025 13:53:42 -0700 (PDT)
Received: from sadusk.com (ZenWiFi_XT8-EA80 [192.168.50.1])
 by sadusk.com (Postfix) with ESMTPSA id DF3AA3E387;
 Fri, 25 Jul 2025 13:53:41 -0700 (PDT)
MIME-Version: 1.0
Date: Fri, 25 Jul 2025 20:53:41 +0000
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: quoted-printable
From: "Joe Sadusk" <joe@HIDDEN>
Message-ID: <4c29df968c7a437e5490cb8d644dacbe3f27651f@HIDDEN>
TLS-Required: No
In-Reply-To: <877bzwnxj5.fsf@HIDDEN>
References: <87ikjgo13n.fsf@HIDDEN> <877bzwnxj5.fsf@HIDDEN>
X-Spam-Score: 0.2 (/)
X-Mailman-Approved-At: Sat, 26 Jul 2025 01:55:55 -0400
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -0.8 (/)

Thanks for the feedback! I'm happy to make some changes.=20

>=20Yes, this is a common problem in Tramp. There are already also some a=
ttempts to
> optimize Tramp, see the places tramp-bundle-read-file-names is used.

Makes sense, let me know if there are any optimizations duplicated in the=
 main tramp codebase, or any that would better fit there.

> I believe this is worth to give it to the public. Since Tramp is just
> the implementation of core magic file operations, I believe it might be
> better offered as GNU ELPA package. But I may be wrong, let's see what
> other people think.

I realized after posting in emacs-devel that tramp handlers are restricte=
d to the magic file handlers, so I agree that this would work better as a=
n ELPA module. I'll plan to rework this into a user accessible module. Wo=
uld it make sense to make this a minor mode?

> First of all, I had to adapt tramp-hlo-dir-locals--all-files. It misses
> the argument '&optional base-el-only', and I got an error at runtime.

Is that an argument in master? I'm looking at the implementation of dir-l=
ocals--all-files in 30.1 and it only has a single directory argument.

> > (defgroup tramp-hlo nil
> >  "High level operations as tramp handlers"
> >  :group 'tools)

> I believe you don't need it. You have no defcustom or defface to place
> it there. And even if you would have it, the defgroup 'tramp' would be
> sufficient.

Good point, I've always just defined groups for every module without cons=
idering whether its necessary. I can see some defcustoms for enabling fea=
tures though, let me see what it looks like as I flesh out functionality.


> The docstrings are very terse. Please explain which arguments are
> expected, and what will be the result.

Absolutely, this was a minimal first effort to get the experiment working=
. I'll fill these out properly.
=20

>=20Please quote Lisp symbols in docstrings `like-this'. The first senten=
ce
> of a docstring must finish with a period. And again, explain arguiments
> and the result of the function. This yields also for the other
> docstrings.

Noted.
=20

>=20Well, you have this for almost all functions. And this doesn't work, =
if
> directory is relative file name, or it is handled by another Tramp
> backend but tramp-sh.el.
>=20
>=20I would introduce a macro, like
>=20
>=20(defmacro tramp-hlo-active-p (file)
>  `(and-let* ((non-essential t)
>  (vec (ignore-errors
>  (tramp-dissect-file-name (expand-file-name ,file))))
>  ((tramp-sh-file-name-handler-p vec)))))
>=20
>=20Then you can write
>=20
>=20(if (tramp-hlo-active-p directory)

Definitely, this was least effort for the experiment. I had actually cons=
idered writing a small framework for defining per-protocol high-level han=
dlers, similar to tramp-file-handlers-alist. This would also allow other =
modules to add their own handlers.


> You don't need connection here, you have vec which knows everything
> about the remote file name. Call
>=20
>=20(mapcar (lambda (name) (tramp-make-tramp-file-name vec name))


> You don't need connection as argument. Use tramp-make-tramp-file-name
> where appropriate.

Got it, I didn't know the right function to format a connection string fr=
om vec. This is much better.

> Pls use the accessor functions for vec. In this case, use
>=20
>=20(let* ((localfile (tramp-file-name-localname vec))

Noted.

> Please donm't quote with '"'. This works often enough, but if, for
> example, name contains a quotation mark itself, you're lost. Use instea=
d
>=20
>=20(quoted-names (mapcar #'tramp-shell-quote-argument names))

Great, I was afraid of these escaping issues but didn't know there was a =
function available for it. Thanks.

> In this function, you have implemented an own cache. Consider using
> tramp-cache.el, it is more powerful. For example. it handles also cache
> expiration, and much more.

This isn't my cache, is the cache from dir-locals. This function is a mos=
tly copy and paste from emacs/lisp/files.el:dir-locals-find-file, with th=
e initial call to locate-dominating-file reworked. I couldn't think of a =
way to reuse the old function but still avoid round-trips, hence the copy=
-paste. But I still need to use the same cache dir-locals creates in orde=
r to be compatible with the parsing mechanism.
=20

>=20file-attributes could cause another round-trip to the remote. Perhaps
> you expand your script(s) to return also some file attributes already,
> associated with the file name(s), like tramp-bundle-read-file-names doe=
s.

That was definitely one of my plans, but it is looking at mtime for the f=
ile returned from cache, which might not be the same file queried earlier=
 in the function. I could filter the cache for all filenames on the same =
remote, and look up all of them in the script.=20
=20=20

>=20Please add also a function to remove the advices. And shouldn't this =
be interactive?

Absolutely, this was a minimal effort to make it work. I'll clean up the =
user-facing interface. Would this make sense as a minor-mode? Or should i=
t just have a function to add and remove advices?

Joe




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#79094: [wishlist] Optimizations for round trips in tramp
Resent-From: "Joe Sadusk" <joe@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Sat, 26 Jul 2025 05:56:02 +0000
Resent-Message-ID: <handler.79094.B79094.175350935720583 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 79094
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: 79094 <at> debbugs.gnu.org
Received: via spool by 79094-submit <at> debbugs.gnu.org id=B79094.175350935720583
          (code B ref 79094); Sat, 26 Jul 2025 05:56:02 +0000
Received: (at 79094) by debbugs.gnu.org; 26 Jul 2025 05:55:57 +0000
Received: from localhost ([127.0.0.1]:39058 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1ufXsz-0005Lm-0Y
	for submit <at> debbugs.gnu.org; Sat, 26 Jul 2025 01:55:57 -0400
Received: from mail-pf1-f175.google.com ([209.85.210.175]:45353)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.84_2) (envelope-from <jsadusk@HIDDEN>) id 1ufR8I-0007kM-OY
 for 79094 <at> debbugs.gnu.org; Fri, 25 Jul 2025 18:43:20 -0400
Received: by mail-pf1-f175.google.com with SMTP id
 d2e1a72fcca58-7426c44e014so2255684b3a.3
 for <79094 <at> debbugs.gnu.org>; Fri, 25 Jul 2025 15:43:18 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1753483392; x=1754088192;
 h=references:in-reply-to:to:subject:tls-required:message-id:from
 :content-transfer-encoding:date:mime-version:x-gm-message-state:from
 :to:cc:subject:date:message-id:reply-to;
 bh=/dYSF5OpZr1ZJseGPZFTx10xsAIVi/+bvQE6bSQMqa8=;
 b=Jeu70rIYAv92cElVJyEm2UlQyIUIJVytE3JaBVqsOHbuG0F8QZPojMQDb+wjQJjBpS
 KfQUl/4gTKLwMar8/frlykBNcRefBTY7w85mZO8jEztagtVB2XJjbF1zZK8FOeRRhSj1
 RQ/ONm77GL6/7GRx723oiGczewSvJAwNKJbZpTn9LnyZ8wndmKOR2pa6WisJKsOq5oHO
 sMKNJ+Accnv9qg+JIqgEdVCe5eoleiM2k1RThoGlBD7jSI2R1PGPR7cKeDHaoh7bhGYV
 bot8vz/ju7EbLgo0coXB/VOXuJ6PlPNA0ie7POqHRbPGcGGpRodxjzC63ZwOeFEA2lfx
 Vqyg==
X-Gm-Message-State: AOJu0YxChjWb0fiSWPo0BegzoGpgpnC7vydnVLc6kzL/QJUOvrAeM5i0
 aVZpLuCJNGFQIVa1a5LJRuJ9uRIxCHHPb6hY69DRJnOsUgIU2XEZtEiQqTq03Q==
X-Gm-Gg: ASbGncuwQl8AIyG+V+5rAd47OuA3NXe0oiN1dcBA06Lwz6LFXvz+D41Np+5G8cp92ri
 sXQvBitK03Zq1/XGq/mLjy535ugn8/0uWd/MCSPUhp+l0V2Sia7GwEt3Vk/KOE7fHM3dQJaO94Q
 03cpSN7kZDfJ2NB7VbMrtY9zKJP2SxxuIwolXUOHI5Rtg7B6wQ1IqxJrb8mDQcYF07H/jRwRGvk
 qvMR0tCvXt04pd++oyqZhefH21mUJTsUsDdOrCrmziLGXju287K4BNlTN4DLZUe8R5hCo/dAL32
 Imd4I+Gl9YXSDeD7pBPs0WxQcJH1/aJ0vr8E3i4z+yYFprRQrxza5stFyaEEeoahrkC51azGjtI
 20AEfqUyk8Muj
X-Google-Smtp-Source: AGHT+IEiA2EzLPg/W2ygHq3yv83Seilgp/FGsl4qA4BAby2/3QsgiKkBEGU4s8z+RgTuZKKvVCj06A==
X-Received: by 2002:a05:6a20:3949:b0:231:c295:136d with SMTP id
 adf61e73a8af0-23d70028218mr6009862637.14.1753483392001; 
 Fri, 25 Jul 2025 15:43:12 -0700 (PDT)
Received: from sadusk.com ([157.131.129.2]) by smtp.gmail.com with ESMTPSA id
 d2e1a72fcca58-7640b8b5080sm464525b3a.134.2025.07.25.15.43.11
 for <79094 <at> debbugs.gnu.org>
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 25 Jul 2025 15:43:11 -0700 (PDT)
Received: from sadusk.com (ZenWiFi_XT8-EA80 [192.168.50.1])
 by sadusk.com (Postfix) with ESMTPSA id CD97E3E387
 for <79094 <at> debbugs.gnu.org>; Fri, 25 Jul 2025 15:43:10 -0700 (PDT)
MIME-Version: 1.0
Date: Fri, 25 Jul 2025 22:43:10 +0000
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: quoted-printable
From: "Joe Sadusk" <joe@HIDDEN>
Message-ID: <2e925184d251aad2deb694f497e1dd3e6753da72@HIDDEN>
TLS-Required: No
In-Reply-To: <877bzwnxj5.fsf@HIDDEN>
References: <87ikjgo13n.fsf@HIDDEN> <877bzwnxj5.fsf@HIDDEN>
X-Spam-Score: 0.2 (/)
X-Mailman-Approved-At: Sat, 26 Jul 2025 01:55:55 -0400
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -0.8 (/)

Thanks for the feedback! I'm happy to make some changes.=20

>=20Yes, this is a common problem in Tramp. There are already also some a=
ttempts to
> optimize Tramp, see the places tramp-bundle-read-file-names is used.

Makes sense, let me know if there are any optimizations duplicated in the=
 main tramp codebase, or any that would better fit there.

> I believe this is worth to give it to the public. Since Tramp is just
> the implementation of core magic file operations, I believe it might be
> better offered as GNU ELPA package. But I may be wrong, let's see what
> other people think.

I realized after posting in emacs-devel that tramp handlers are restricte=
d to the magic file handlers, so I agree that this would work better as a=
n ELPA module. I'll plan to rework this into a user accessible module. Wo=
uld it make sense to make this a minor mode?

> First of all, I had to adapt tramp-hlo-dir-locals--all-files. It misses
> the argument '&optional base-el-only', and I got an error at runtime.

Is that an argument in master? I'm looking at the implementation of dir-l=
ocals--all-files in 30.1 and it only has a single directory argument.

> > (defgroup tramp-hlo nil
> >  "High level operations as tramp handlers"
> >  :group 'tools)

> I believe you don't need it. You have no defcustom or defface to place
> it there. And even if you would have it, the defgroup 'tramp' would be
> sufficient.

Good point, I've always just defined groups for every module without cons=
idering whether its necessary. I can see some defcustoms for enabling fea=
tures though, let me see what it looks like as I flesh out functionality.


> The docstrings are very terse. Please explain which arguments are
> expected, and what will be the result.

Absolutely, this was a minimal first effort to get the experiment working=
. I'll fill these out properly.
=20

>=20Please quote Lisp symbols in docstrings `like-this'. The first senten=
ce
> of a docstring must finish with a period. And again, explain arguiments
> and the result of the function. This yields also for the other
> docstrings.

Noted.
=20

>=20Well, you have this for almost all functions. And this doesn't work, =
if
> directory is relative file name, or it is handled by another Tramp
> backend but tramp-sh.el.
>=20
>=20I would introduce a macro, like
>=20
>=20(defmacro tramp-hlo-active-p (file)
>  `(and-let* ((non-essential t)
>  (vec (ignore-errors
>  (tramp-dissect-file-name (expand-file-name ,file))))
>  ((tramp-sh-file-name-handler-p vec)))))
>=20
>=20Then you can write
>=20
>=20(if (tramp-hlo-active-p directory)

Definitely, this was least effort for the experiment. I had actually cons=
idered writing a small framework for defining per-protocol high-level han=
dlers, similar to tramp-file-handlers-alist. This would also allow other =
modules to add their own handlers.


> You don't need connection here, you have vec which knows everything
> about the remote file name. Call
>=20
>=20(mapcar (lambda (name) (tramp-make-tramp-file-name vec name))


> You don't need connection as argument. Use tramp-make-tramp-file-name
> where appropriate.

Got it, I didn't know the right function to format a connection string fr=
om vec. This is much better.

> Pls use the accessor functions for vec. In this case, use
>=20
>=20(let* ((localfile (tramp-file-name-localname vec))

Noted.

> Please donm't quote with '"'. This works often enough, but if, for
> example, name contains a quotation mark itself, you're lost. Use instea=
d
>=20
>=20(quoted-names (mapcar #'tramp-shell-quote-argument names))

Great, I was afraid of these escaping issues but didn't know there was a =
function available for it. Thanks.

> In this function, you have implemented an own cache. Consider using
> tramp-cache.el, it is more powerful. For example. it handles also cache
> expiration, and much more.

This isn't my cache, is the cache from dir-locals. This function is a mos=
tly copy and paste from emacs/lisp/files.el:dir-locals-find-file, with th=
e initial call to locate-dominating-file reworked. I couldn't think of a =
way to reuse the old function but still avoid round-trips, hence the copy=
-paste. But I still need to use the same cache dir-locals creates in orde=
r to be compatible with the parsing mechanism.
=20

>=20file-attributes could cause another round-trip to the remote. Perhaps
> you expand your script(s) to return also some file attributes already,
> associated with the file name(s), like tramp-bundle-read-file-names doe=
s.

That was definitely one of my plans, but it is looking at mtime for the f=
ile returned from cache, which might not be the same file queried earlier=
 in the function. I could filter the cache for all filenames on the same =
remote, and look up all of them in the script.=20
=20=20

>=20Please add also a function to remove the advices. And shouldn't this =
be interactive?

Absolutely, this was a minimal effort to make it work. I'll clean up the =
user-facing interface. Would this make sense as a minor-mode? Or should i=
t just have a function to add and remove advices?

Joe




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#79094: [wishlist] Optimizations for round trips in tramp
Resent-From: Michael Albinus <michael.albinus@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Sat, 26 Jul 2025 07:34:01 +0000
Resent-Message-ID: <handler.79094.B79094.175351519214805 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 79094
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: "Joe Sadusk" <joe@HIDDEN>
Cc: 79094 <at> debbugs.gnu.org
Received: via spool by 79094-submit <at> debbugs.gnu.org id=B79094.175351519214805
          (code B ref 79094); Sat, 26 Jul 2025 07:34:01 +0000
Received: (at 79094) by debbugs.gnu.org; 26 Jul 2025 07:33:12 +0000
Received: from localhost ([127.0.0.1]:39411 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1ufZP5-0003qh-T5
	for submit <at> debbugs.gnu.org; Sat, 26 Jul 2025 03:33:12 -0400
Received: from mout.gmx.net ([212.227.15.18]:43223)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <michael.albinus@HIDDEN>)
 id 1ufZP3-0003qL-4m
 for 79094 <at> debbugs.gnu.org; Sat, 26 Jul 2025 03:33:10 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmx.de;
 s=s31663417; t=1753515182; x=1754119982; i=michael.albinus@HIDDEN;
 bh=eBqEBxXJB7yxyt4HSKHYcZPwVW6fzYu5dB7dXY1sKWQ=;
 h=X-UI-Sender-Class:From:To:Cc:Subject:In-Reply-To:References:Date:
 Message-ID:MIME-Version:Content-Type:Content-Transfer-Encoding:cc:
 content-transfer-encoding:content-type:date:from:message-id:
 mime-version:reply-to:subject:to;
 b=EVqWzc+ZB/LaZ/wrWViueIrBckgNE8QJnPL1TKTGQgKPw59TOWuRE/N+2yaStr/r
 Dv1yEx7hQ7RQ3y06LMegz47vtN2e/uPdUK1KRb0ZX4gFQ6owvyrC/3dh7SO6Dg0uM
 kuWZ41inV16E0Jh8gzSKNznkB0R/MNHWuKo29t1nEZsutnZqpUur2qxmHT336rgJ/
 a2aMTR7xYsTBp9XDLcFdL1nPY5qV/6WlCSdTf3eZ4jWFjmAyIEuvoXu3hbv2aj8Zd
 cEOkdQhbv0LIfIBxsSYxd8IliT/PMgN14dq76Amv/MgGPZnAyFDZyRENmpHv8KuGs
 JdDr4hFbSJkDz4xu0Q==
X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a
Received: from gandalf.gmx.de ([185.89.37.61]) by mail.gmx.net (mrgmx004
 [212.227.17.190]) with ESMTPSA (Nemesis) id 1M8ygO-1ujR1M0sgI-00AJg9; Sat, 26
 Jul 2025 09:33:02 +0200
From: Michael Albinus <michael.albinus@HIDDEN>
In-Reply-To: <4c29df968c7a437e5490cb8d644dacbe3f27651f@HIDDEN>
References: <87ikjgo13n.fsf@HIDDEN> <877bzwnxj5.fsf@HIDDEN>
 <4c29df968c7a437e5490cb8d644dacbe3f27651f@HIDDEN>
Date: Sat, 26 Jul 2025 09:33:01 +0200
Message-ID: <87o6t7mmoi.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-Provags-ID: V03:K1:n+sfIaw63ofw5CnTe+843QKxO42CatGjjnhU0HDMI6o93ZJlpd3
 /R9HbsygUNbTAqSfY+58B1waBjnStZcxb5LIL+Yxb+TNTOVAD0Xsd2h7JowxbaNtiCRie+p
 9/KjNKkkwYL4xgDUKyyjfqjd2RpEMzJp6/L2I8BNzazGaISSEWsQsEmlUw1JRsF7uqUE4sq
 WWP9xVv3ogPeYL5+cA8sQ==
X-Spam-Flag: NO
UI-OutboundReport: notjunk:1;M01:P0:oA+wUnJGlPo=;M+1GMWxgYLCF1wfZLpZ1rQTpIzv
 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
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: -0.7 (/)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.7 (-)

"Joe Sadusk" <joe@HIDDEN> writes:

Hi Joe,

>> Yes, this is a common problem in Tramp. There are already also some att=
empts to
>> optimize Tramp, see the places tramp-bundle-read-file-names is used.
>
> Makes sense, let me know if there are any optimizations duplicated in
> the main tramp codebase, or any that would better fit there.

No, in Tramp's codebase there are no optimizations like yours (yet).

>> I believe this is worth to give it to the public. Since Tramp is just
>> the implementation of core magic file operations, I believe it might be
>> better offered as GNU ELPA package. But I may be wrong, let's see what
>> other people think.
>
> I realized after posting in emacs-devel that tramp handlers are
> restricted to the magic file handlers, so I agree that this would work
> better as an ELPA module. I'll plan to rework this into a user
> accessible module. Would it make sense to make this a minor mode?

It would need to be a global minor mode. The only advance I see is that
you can enable/disable it with predefined command names, but that's not
different from calling configure-tramp-hlo.

Your package does not define key bindings, and it does not offer hooks,
which would be another reason for a minor mode. There's no user option
to customize. And there's no major mode which would like to enable your
minor mode by default.

>> First of all, I had to adapt tramp-hlo-dir-locals--all-files. It misses
>> the argument '&optional base-el-only', and I got an error at runtime.
>
> Is that an argument in master? I'm looking at the implementation of
> dir-locals--all-files in 30.1 and it only has a single directory
> argument.

Yes, it is a recent change, commit 81c21d89ede8 in Emacs master. See
also bug#75890.

>> I would introduce a macro, like
>>=20
>> (defmacro tramp-hlo-active-p (file)
>>  `(and-let* ((non-essential t)
>>  (vec (ignore-errors
>>  (tramp-dissect-file-name (expand-file-name ,file))))
>>  ((tramp-sh-file-name-handler-p vec)))))
>>=20
>> Then you can write
>>=20
>> (if (tramp-hlo-active-p directory)
>
> Definitely, this was least effort for the experiment. I had actually
> considered writing a small framework for defining per-protocol
> high-level handlers, similar to tramp-file-handlers-alist. This would
> also allow other modules to add their own handlers.

Good idea. But this can wait until needed.

>> file-attributes could cause another round-trip to the remote. Perhaps
>> you expand your script(s) to return also some file attributes already,
>> associated with the file name(s), like tramp-bundle-read-file-names doe=
s.
>
> That was definitely one of my plans, but it is looking at mtime for
> the file returned from cache, which might not be the same file queried
> earlier in the function. I could filter the cache for all filenames on
> the same remote, and look up all of them in the script.

Let's discuss this with your next cede version.

> Would this make sense as a minor-mode? Or should it just have a function=
 to add and remove advices?

The latter, I believe.

Another question: if we bring this code to Tramp core or to GNU ELPA,
the copyright must be assigned to the FSF. There are some papers to be
signed. Would you be willing to do so?

I ask it now, because the process can be fast, or not ... And we don't
want to be blocked by legal issues :-)

> Joe

Best regards, Michael.




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#79094: [wishlist] Optimizations for round trips in tramp
Resent-From: "Joe Sadusk" <joe@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Wed, 30 Jul 2025 17:53:01 +0000
Resent-Message-ID: <handler.79094.B79094.17538979704366 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 79094
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: "Michael Albinus" <michael.albinus@HIDDEN>
Cc: 79094 <at> debbugs.gnu.org
Received: via spool by 79094-submit <at> debbugs.gnu.org id=B79094.17538979704366
          (code B ref 79094); Wed, 30 Jul 2025 17:53:01 +0000
Received: (at 79094) by debbugs.gnu.org; 30 Jul 2025 17:52:50 +0000
Received: from localhost ([127.0.0.1]:42567 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1uhAyv-00018M-LR
	for submit <at> debbugs.gnu.org; Wed, 30 Jul 2025 13:52:50 -0400
Received: from mail-pl1-f172.google.com ([209.85.214.172]:43260)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.84_2) (envelope-from <jsadusk@HIDDEN>) id 1uhAys-00017z-Ca
 for 79094 <at> debbugs.gnu.org; Wed, 30 Jul 2025 13:52:47 -0400
Received: by mail-pl1-f172.google.com with SMTP id
 d9443c01a7336-2403c13cac3so10328005ad.0
 for <79094 <at> debbugs.gnu.org>; Wed, 30 Jul 2025 10:52:46 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1753897960; x=1754502760;
 h=references:in-reply-to:cc:to:subject:tls-required:message-id:from
 :content-transfer-encoding:date:mime-version:x-gm-message-state:from
 :to:cc:subject:date:message-id:reply-to;
 bh=mNXliEyjkT2ElNZ3J/jEYAnG60pSumHznn76smDR3VA=;
 b=Af/KSzwIpyflUvaE3Qt6F6A4EPfLWItZjYekxTjP+06afMtPSfH4HJocQOZZ7Gi+MX
 vFs7cp2kHxJ9k3595Q8RIWlZmtcOibRpOmEvfiyi/SV8NGDlMyVhBFXv0h3miJFXDAIv
 Pue6ZaMXFaKHXvBxth8J6qWFl4PRqyeEn6KiwB7HxIBcBrDPGGztidozSsz6wQOi8Xb0
 4aS9NhcjKZRmxMnKQzXJsA3pVjmaH1py5lmxF4SGYpBJG72YxHsORCZTnnIl193dMyJs
 /kbDLOc+93x17artB3eZU7DgLiWoaC68W+lMIQDxJeH065kMOe8AJKVjPRgLHRO2vDK8
 23dg==
X-Gm-Message-State: AOJu0Yy8ywzC9p/PUmA36jXFEmNZLQ4okHmX2CybJQNmzG6rnaikZbdV
 H3F8DM6jcM99SXSm44Ykvdq2LqfAttzlu1OMRjLaVkF1TsfhYdBSlIZrt46wWw==
X-Gm-Gg: ASbGncuurwqb3J150CB6LNb5LwALcdXPjSg3YL9VLYrRFOfNbRG99M5JkMsxzW24OZ2
 0CjwQYtLVo0rubbrhJv7iAMyxRoEm16OPKOEOYnmBKA8PL+21hT8Bb6U/vNhFExv4Ga4GpGXkEf
 o4cKDjPUnUSOR8JDo8t8VbE4QgfbtSeRbpOz7gbAq2lP9giZVudWmEG9Tt2fECJnEj2QOTsRJoy
 TV7gYOAKwP5pVAO8995iRU8EYTsWUZfmY5Y+V2M6n7Tan9NZ6TfzJEDUf5qrd8kjzevoadbsLez
 gyzOYKCzwk0Q8F94JLqshkSLzhPBVNA3+BZmUQ04n2q2/eQ8NcpUvlrFkfTiP6kk0JPQowqE94N
 7TL6A/jXJbq92
X-Google-Smtp-Source: AGHT+IFyzRRYnNyTXT0bZSPBWVl7ACpjUtDsIw2V9FMABp35C0IPETuU9YIdVjqsgrDOyNqv075ftQ==
X-Received: by 2002:a17:902:f64a:b0:240:8cb5:98cc with SMTP id
 d9443c01a7336-240968c9470mr57467065ad.26.1753897959907; 
 Wed, 30 Jul 2025 10:52:39 -0700 (PDT)
Received: from sadusk.com ([157.131.129.2]) by smtp.gmail.com with ESMTPSA id
 d9443c01a7336-2408cc228b7sm31315635ad.53.2025.07.30.10.52.39
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 30 Jul 2025 10:52:39 -0700 (PDT)
Received: from sadusk.com (ZenWiFi_XT8-EA80 [192.168.50.1])
 by sadusk.com (Postfix) with ESMTPSA id 8F44D3E38F;
 Wed, 30 Jul 2025 10:52:38 -0700 (PDT)
MIME-Version: 1.0
Date: Wed, 30 Jul 2025 17:52:38 +0000
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: quoted-printable
From: "Joe Sadusk" <joe@HIDDEN>
Message-ID: <b788bbdc3a84d2f90fc1bd44232761b7dabea8ae@HIDDEN>
TLS-Required: No
In-Reply-To: <87o6t7mmoi.fsf@HIDDEN>
References: <87ikjgo13n.fsf@HIDDEN> <877bzwnxj5.fsf@HIDDEN>
 <4c29df968c7a437e5490cb8d644dacbe3f27651f@HIDDEN>
 <87o6t7mmoi.fsf@HIDDEN>
X-Spam-Score: 0.0 (/)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

July 26, 2025 at 12:33 AM, "Michael Albinus" <michael.albinus@HIDDEN mail=
to:michael.albinus@HIDDEN?to=3D%22Michael%20Albinus%22%20%3Cmichael.albin=
us%40gmx.de%3E > wrote:

I've pushed changes to address all the issues except for the remaining ro=
undtrip in tramp-hlo-dir-locals-find-file. My first attempt at that one b=
roke some functionality, so it'll take a little trial and error and I did=
n't want to hold up the rest.

> > > I believe this is worth to give it to the public. Since Tramp is ju=
st
> > >  the implementation of core magic file operations, I believe it mig=
ht be
> > >  better offered as GNU ELPA package. But I may be wrong, let's see =
what
> > >  other people think.
> > >=20
>=20>  I realized after posting in emacs-devel that tramp handlers are
> >  restricted to the magic file handlers, so I agree that this would wo=
rk
> >  better as an ELPA module. I'll plan to rework this into a user
> >  accessible module. Would it make sense to make this a minor mode?
> >=20
>=20It would need to be a global minor mode. The only advance I see is th=
at
> you can enable/disable it with predefined command names, but that's not
> different from calling configure-tramp-hlo.
>=20
>=20Your package does not define key bindings, and it does not offer hook=
s,
> which would be another reason for a minor mode. There's no user option
> to customize. And there's no major mode which would like to enable your
> minor mode by default.

Got it, makes sense as a global overlay rather than a mode.

> > >=20
>=20> > First of all, I had to adapt tramp-hlo-dir-locals--all-files. It =
misses
> > >  the argument '&optional base-el-only', and I got an error at runti=
me.
> > >=20
>=20>  Is that an argument in master? I'm looking at the implementation o=
f
> >  dir-locals--all-files in 30.1 and it only has a single directory
> >  argument.
> >=20
>=20Yes, it is a recent change, commit 81c21d89ede8 in Emacs master. See
> also bug#75890.

Noted, I'm now testing with master and stable to ensure compatibilty.=20

>=20> > I would introduce a macro, like
> > >=20=20
>=20> >  (defmacro tramp-hlo-active-p (file)
> > >  `(and-let* ((non-essential t)
> > >  (vec (ignore-errors
> > >  (tramp-dissect-file-name (expand-file-name ,file))))
> > >  ((tramp-sh-file-name-handler-p vec)))))
> > >=20=20
>=20> >  Then you can write
> > >=20=20
>=20> >  (if (tramp-hlo-active-p directory)
> > >=20
>=20>  Definitely, this was least effort for the experiment. I had actual=
ly
> >  considered writing a small framework for defining per-protocol
> >  high-level handlers, similar to tramp-file-handlers-alist. This woul=
d
> >  also allow other modules to add their own handlers.

I took your idea and ran with it, making it a little more concise. See th=
e tramp-hlo-advice macro.

> > > file-attributes could cause another round-trip to the remote. Perha=
ps
> > >  you expand your script(s) to return also some file attributes alre=
ady,
> > >  associated with the file name(s), like tramp-bundle-read-file-name=
s does.
> > >=20
>=20>  That was definitely one of my plans, but it is looking at mtime fo=
r
> >  the file returned from cache, which might not be the same file queri=
ed
> >  earlier in the function. I could filter the cache for all filenames =
on
> >  the same remote, and look up all of them in the script.
> >=20
>=20Let's discuss this with your next cede version.

I'm still tweaking this. The way to make it work is a script specific to =
`dir-locals-find-file` which checks for dominating files and cache direct=
ories in one go. This however reworks the flow of the original dir-locals=
-find-file function, which is currently mostly a cut and paste of the ori=
ginal. I am trying to ensure it is 100% workalike before adding this chan=
ge.
=20
>=20> Would this make sense as a minor-mode? Or should it just have a fun=
ction to add and remove advices?
> >=20
>=20The latter, I believe.

There's now a setup-tramp-hlo and remove-tramp-hlo, and they're interacti=
ve.

> Another question: if we bring this code to Tramp core or to GNU ELPA,
> the copyright must be assigned to the FSF. There are some papers to be
> signed. Would you be willing to do so?
>=20
>=20I ask it now, because the process can be fast, or not ... And we don'=
t
> want to be blocked by legal issues :-)

Happy to sign it over. I want to make this as widely accessible as possib=
le.

Joe




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#79094: [wishlist] Optimizations for round trips in tramp
Resent-From: Michael Albinus <michael.albinus@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Thu, 31 Jul 2025 05:35:01 +0000
Resent-Message-ID: <handler.79094.B79094.175394004926722 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 79094
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: "Joe Sadusk" <joe@HIDDEN>
Cc: 79094 <at> debbugs.gnu.org
Received: via spool by 79094-submit <at> debbugs.gnu.org id=B79094.175394004926722
          (code B ref 79094); Thu, 31 Jul 2025 05:35:01 +0000
Received: (at 79094) by debbugs.gnu.org; 31 Jul 2025 05:34:09 +0000
Received: from localhost ([127.0.0.1]:45382 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1uhLvd-0006ww-Aa
	for submit <at> debbugs.gnu.org; Thu, 31 Jul 2025 01:34:09 -0400
Received: from mout.gmx.net ([212.227.15.19]:37197)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <michael.albinus@HIDDEN>)
 id 1uhLva-0006wD-Uc
 for 79094 <at> debbugs.gnu.org; Thu, 31 Jul 2025 01:34:07 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmx.de;
 s=s31663417; t=1753940038; x=1754544838; i=michael.albinus@HIDDEN;
 bh=UPwgl+GoDXL8FHiTDCi9ugaDOTViGh9+uUg37+f3YFI=;
 h=X-UI-Sender-Class:From:To:Cc:Subject:In-Reply-To:References:Date:
 Message-ID:MIME-Version:Content-Type:Content-Transfer-Encoding:cc:
 content-transfer-encoding:content-type:date:from:message-id:
 mime-version:reply-to:subject:to;
 b=Ib37b8pApQ17Z04kYSgPfTyOfp7tYn0sik6Jm2sOdMWOMnUU35h/ESaoPrwODNBe
 c3op3EElQLH+xDlmDD3qjP/xgOJoS78H0ZfoB3o8GHRNS/POMCnP+Du6GMk7bLDzp
 V/hSM0Cf1+S+OrZkPsrHKqWa31fZ31DyxdBMNTcYFTMwJRisLa7sJsXHlsMv3tD4G
 /WE5hhx0+ChCfLL9LCLttz+DsqVbfuBBfD2KnDtrcVG3sFY6sm+uwODo+E0/lNBL7
 hhiw5sDC0a00hs1TP/I+PIvGgWGbN7dQ8BLa1yC5LFWtm5obZIuWue5+IKGtDVL08
 gjYTlpA9lWltGelsJg==
X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a
Received: from gandalf.gmx.de ([185.89.37.61]) by mail.gmx.net (mrgmx005
 [212.227.17.190]) with ESMTPSA (Nemesis) id 1MXGvM-1vAdUx3faw-00JQlf; Thu, 31
 Jul 2025 07:33:57 +0200
From: Michael Albinus <michael.albinus@HIDDEN>
In-Reply-To: <b788bbdc3a84d2f90fc1bd44232761b7dabea8ae@HIDDEN>
References: <87ikjgo13n.fsf@HIDDEN> <877bzwnxj5.fsf@HIDDEN>
 <4c29df968c7a437e5490cb8d644dacbe3f27651f@HIDDEN>
 <87o6t7mmoi.fsf@HIDDEN>
 <b788bbdc3a84d2f90fc1bd44232761b7dabea8ae@HIDDEN>
Date: Thu, 31 Jul 2025 07:33:57 +0200
Message-ID: <871ppwsz3u.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-Provags-ID: V03:K1:dayAm4u4jyzbveFOUJVDKH8OS+o9k5zPFA0djanChHajYBbgPSl
 7O9YgGltTceZfIKgOtiMBkLZtBKU9G91iZXJHbGCOmAWL321Fp2r1Nc4PeDzX6OjHEjHxNz
 lRFCcuRyBDuuWozh0HeOmNWB253nlBpgGWmvIJtIogHds5nxkeYe1cVnoCuxX6/Wpahwpq+
 PD312FsNtIaMZIiuXDjJg==
X-Spam-Flag: NO
UI-OutboundReport: notjunk:1;M01:P0:8VS9fKFtzm0=;kQAv9Uge58fgkqzkWDLiUyz1ykt
 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
 SSpl0AxGjmyULZI5IUSu/ShBbqFRWCbw=
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: -0.7 (/)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.7 (-)

"Joe Sadusk" <joe@HIDDEN> writes:

Hi Joe,

> I've pushed changes to address all the issues except for the remaining
> roundtrip in tramp-hlo-dir-locals-find-file. My first attempt at that
> one broke some functionality, so it'll take a little trial and error
> and I didn't want to hold up the rest.

I'm busy these days. Will check over the weekend.
=20
>> I ask it now, because the process can be fast, or not ... And we don't
>> want to be blocked by legal issues :-)
>
> Happy to sign it over. I want to make this as widely accessible as possi=
ble.

Template sent off-list.

> Joe

Best regards, Michael.




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#79094: [wishlist] Optimizations for round trips in tramp
Resent-From: "Joe Sadusk" <joe@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Thu, 31 Jul 2025 15:29:02 +0000
Resent-Message-ID: <handler.79094.B79094.17539757181223 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 79094
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: "Michael Albinus" <michael.albinus@HIDDEN>
Cc: 79094 <at> debbugs.gnu.org
Received: via spool by 79094-submit <at> debbugs.gnu.org id=B79094.17539757181223
          (code B ref 79094); Thu, 31 Jul 2025 15:29:02 +0000
Received: (at 79094) by debbugs.gnu.org; 31 Jul 2025 15:28:38 +0000
Received: from localhost ([127.0.0.1]:49139 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1uhVCw-0000Jc-8R
	for submit <at> debbugs.gnu.org; Thu, 31 Jul 2025 11:28:38 -0400
Received: from mail-pg1-f169.google.com ([209.85.215.169]:55756)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.84_2) (envelope-from <jsadusk@HIDDEN>) id 1uhVCt-0000JI-JA
 for 79094 <at> debbugs.gnu.org; Thu, 31 Jul 2025 11:28:36 -0400
Received: by mail-pg1-f169.google.com with SMTP id
 41be03b00d2f7-b34a6d0c9a3so636152a12.3
 for <79094 <at> debbugs.gnu.org>; Thu, 31 Jul 2025 08:28:35 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1753975709; x=1754580509;
 h=references:in-reply-to:cc:to:subject:tls-required:message-id:from
 :date:mime-version:x-gm-message-state:from:to:cc:subject:date
 :message-id:reply-to;
 bh=3QzxOhpWqbQ08dcDnJ+F+aVGwZtu10dIT9W45t96Y0c=;
 b=d0pbnVqsexspmJ4icyU8WH7dY4nFpscMYIGpAWXOtPDjkM2iTl5cgqSN0gOliKQXsg
 FnK5kejP+9I8VI/dpi4J5hsJHu85Hg3uaY4vXl5bfd/laxku65Hp6FxcLZC+n6EKvHz+
 hIBxgSbsigirl6XfYENwvIYDunL2Pp+ziks15GHvaRLoTMU1n9Nq+iVGCMxDVP5pGZoM
 UNj1OSB4mSVNSZgp8BkyGlW9D/KEYfTN7U+eWAa0sgNx+OtlUdBPjKLzYKmlKY5relzq
 HHLg7kVDNX1Z1SmzN+52ua7JLcSZrd1EDCs35EYh/piLwv2+onvWB6dOxg4jtN5PcRS8
 hvCw==
X-Gm-Message-State: AOJu0YxcIyTvR4ut6FZFID6F1W2vwBXZACPD4yPLoQZ887TQbgyNYugN
 1GBOexNFlpg6d3wKTYlJpIOd133+2UxQ8RYgJPjjr6r92eaSs3IsW7pgfFmpVw==
X-Gm-Gg: ASbGncuJ2AYrZBVB7E65ohTPzPru6/KstE8GfOthW3owwB2qP+/5TbhO7XeFe1E3R9k
 m+OwFYkZPQgumZ4MNS4lQXRTMPK9mAZxjwmS5yQa8oirmmjSWGUq5J1RIqA4qZKppthveg0yHuG
 WjTj53+BFmReKgCnUoqO7sf20yYoo4KTYVDMHRZjZiGqPwzxYvsGKgFoP+zaaHVxBUid/9uCT09
 LVnAzYj6FN0A4WdXXaBXrAc2PMjO7UjbRquIgeFiM2UBZXSblNSYa7E5AdAm/DENrZ9vsYRSSgH
 13moggzB5+GF9GFTqxqiOUyMlmChVcbiFVNzY1eLcZ7iSEeLYa1XXHqbBQTxK/3ifbA7h29lO7Y
 7q5bjFpXdmb/kDGEo++77aN0=
X-Google-Smtp-Source: AGHT+IHUHeO1l92sanQfCSee1ckJx8At2l74DKX7L11s8LO4YQhcZCC2uw2LrohuCVVTHcoeMJH0tw==
X-Received: by 2002:a17:903:1ca:b0:240:fc:abd7 with SMTP id
 d9443c01a7336-24096b23bc8mr110537775ad.31.1753975708831; 
 Thu, 31 Jul 2025 08:28:28 -0700 (PDT)
Received: from sadusk.com ([157.131.129.2]) by smtp.gmail.com with ESMTPSA id
 d9443c01a7336-241e899d272sm20775355ad.135.2025.07.31.08.28.28
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 31 Jul 2025 08:28:28 -0700 (PDT)
Received: from sadusk.com (ZenWiFi_XT8-EA80 [192.168.50.1])
 by sadusk.com (Postfix) with ESMTPSA id E6AC93E38F;
 Thu, 31 Jul 2025 08:28:27 -0700 (PDT)
MIME-Version: 1.0
Date: Thu, 31 Jul 2025 15:28:27 +0000
Content-Type: multipart/alternative;
 boundary="a48566e1-aa66-4c7d-a74e-82bd1ba35607-1"
From: "Joe Sadusk" <joe@HIDDEN>
Message-ID: <ef7212a43aa8a4d9f6974efc759c31fd76ee5c3c@HIDDEN>
TLS-Required: No
In-Reply-To: <871ppwsz3u.fsf@HIDDEN>
References: <87ikjgo13n.fsf@HIDDEN> <877bzwnxj5.fsf@HIDDEN>
 <4c29df968c7a437e5490cb8d644dacbe3f27651f@HIDDEN>
 <87o6t7mmoi.fsf@HIDDEN>
 <b788bbdc3a84d2f90fc1bd44232761b7dabea8ae@HIDDEN>
 <871ppwsz3u.fsf@HIDDEN>
X-Spam-Score: 0.0 (/)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

--a48566e1-aa66-4c7d-a74e-82bd1ba35607-1
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: quoted-printable

Don't bother yet, I just realized I pushed with a bug. I'll update when I=
've got it working for real.


July 30, 2025 at 10:33 PM, "Michael Albinus" <michael.albinus@HIDDEN mail=
to:michael.albinus@HIDDEN?to=3D%22Michael%20Albinus%22%20%3Cmichael.albin=
us%40gmx.de%3E > wrote:


>=20
>=20"Joe Sadusk" <joe@HIDDEN> writes:
>=20
>=20Hi Joe,
>=20
>=20>=20
>=20> I've pushed changes to address all the issues except for the remain=
ing
> >  roundtrip in tramp-hlo-dir-locals-find-file. My first attempt at tha=
t
> >  one broke some functionality, so it'll take a little trial and error
> >  and I didn't want to hold up the rest.
> >=20
>=20I'm busy these days. Will check over the weekend.
>=20=20
>=20
> >=20
>=20> >=20
>=20> > I ask it now, because the process can be fast, or not ... And we =
don't
> > >  want to be blocked by legal issues :-)
> > >=20
>=20>  Happy to sign it over. I want to make this as widely accessible as=
 possible.
> >=20
>=20Template sent off-list.
>=20
>=20>=20
>=20> Joe
> >=20
>=20Best regards, Michael.
>
--a48566e1-aa66-4c7d-a74e-82bd1ba35607-1
Content-Type: text/html; charset="utf-8"
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE html><html><head><meta http-equiv=3D"Content-Type" content=3D"t=
ext/html; charset=3Dutf-8"></head><body><div>Don't bother yet, I just rea=
lized I pushed with a bug. I'll update when I've got it working for real.=
<br><br></div><p>July 30, 2025 at 10:33 PM, "Michael Albinus" &lt;<a href=
=3D"mailto:michael.albinus@HIDDEN?to=3D%22Michael%20Albinus%22%20%3Cmicha=
el.albinus%40gmx.de%3E" target=3D"_blank" tabindex=3D"-1">michael.albinus=
@gmx.de</a>&gt; wrote:</p><blockquote>"Joe Sadusk" &lt;joe@HIDDEN&gt;=
 writes:<br><br>Hi Joe,<br><br><blockquote>I've pushed changes to address=
 all the issues except for the remaining<br> roundtrip in tramp-hlo-dir-l=
ocals-find-file. My first attempt at that<br> one broke some functionalit=
y, so it'll take a little trial and error<br> and I didn't want to hold u=
p the rest.</blockquote><br>I'm busy these days. Will check over the week=
end.<br> <br><blockquote><blockquote>I ask it now, because the process ca=
n be fast, or not ... And we don't<br> want to be blocked by legal issues=
 :-)</blockquote><br> Happy to sign it over. I want to make this as widel=
y accessible as possible.</blockquote><br>Template sent off-list.<br><br>=
<blockquote>Joe</blockquote><br>Best regards, Michael.</blockquote><div><=
br></div></body></html>
--a48566e1-aa66-4c7d-a74e-82bd1ba35607-1--




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#79094: [wishlist] Optimizations for round trips in tramp
Resent-From: Michael Albinus <michael.albinus@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Sat, 02 Aug 2025 15:36:02 +0000
Resent-Message-ID: <handler.79094.B79094.175414895232718 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 79094
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: "Joe Sadusk" <joe@HIDDEN>
Cc: 79094 <at> debbugs.gnu.org
Received: via spool by 79094-submit <at> debbugs.gnu.org id=B79094.175414895232718
          (code B ref 79094); Sat, 02 Aug 2025 15:36:02 +0000
Received: (at 79094) by debbugs.gnu.org; 2 Aug 2025 15:35:52 +0000
Received: from localhost ([127.0.0.1]:37161 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1uiEH0-0008VX-MB
	for submit <at> debbugs.gnu.org; Sat, 02 Aug 2025 11:35:52 -0400
Received: from mout.gmx.net ([212.227.17.21]:55461)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <michael.albinus@HIDDEN>)
 id 1uiEGx-0008Ux-JE
 for 79094 <at> debbugs.gnu.org; Sat, 02 Aug 2025 11:35:48 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmx.de;
 s=s31663417; t=1754148939; x=1754753739; i=michael.albinus@HIDDEN;
 bh=zFVzclRWgrozHO4hsw9UsbRguzx2p6xT9m1mRNGzs0E=;
 h=X-UI-Sender-Class:From:To:Cc:Subject:In-Reply-To:References:Date:
 Message-ID:MIME-Version:Content-Type:cc:content-transfer-encoding:
 content-type:date:from:message-id:mime-version:reply-to:subject:
 to;
 b=eQZq1EZ2XWFCbJ9/5vvDL7BQJ6tQTc2xC9NrFf29XTmD9Ova1LpSmWtN89+CRCzw
 B8esm8iSmb/DvIeNWYD3b2Q+3J4LqTTUNfBSEiW9eyQ6cVzNTA/a2bRYRGn2EcvxT
 F9WNXlVBz7FawRITuSjg0KwmmvSvAI2CmOu4xwLbM/9oeU7oGd+DFAK4OTefbpOFp
 p/bZ8iWCoIQQ8Jr3i37yAZAOVRM6e2c1aUSTukiSEnD5ph74OBU4ndcyTIIKMvTtD
 2/X51pdiwjRDtIkvZ9+KJiVOJZNLRk3DSE5HZREKCKRfJMAq0PO//9dpQXMSX294m
 adb0Kj7+xU/1lhNYVw==
X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a
Received: from gandalf.gmx.de ([185.89.37.61]) by mail.gmx.net (mrgmx105
 [212.227.17.168]) with ESMTPSA (Nemesis) id 1MRTNF-1v3SYR2s6P-00JxDj; Sat, 02
 Aug 2025 17:35:38 +0200
From: Michael Albinus <michael.albinus@HIDDEN>
In-Reply-To: <b788bbdc3a84d2f90fc1bd44232761b7dabea8ae@HIDDEN>
References: <87ikjgo13n.fsf@HIDDEN> <877bzwnxj5.fsf@HIDDEN>
 <4c29df968c7a437e5490cb8d644dacbe3f27651f@HIDDEN>
 <87o6t7mmoi.fsf@HIDDEN>
 <b788bbdc3a84d2f90fc1bd44232761b7dabea8ae@HIDDEN>
Date: Sat, 02 Aug 2025 17:35:37 +0200
Message-ID: <87y0s1g2ie.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="=-=-="
X-Provags-ID: V03:K1:KFZWK74UsGL6qP+fAKUqHSaBkFoNVouvhfoSAq/EXhGnezmAXZK
 4sQ71YPmEPZRcYglkOvdf2dwgopfyH+Fi0RPk85eB4ETLEfdTtxdCbCnvqruhN3i061P1de
 i5GE3d/YryRgoB7v683l7uSQrKw5xF2Sy2bBY9H7M6JU93aIwDCzwwJl/FrKbo3QKTs6X/q
 U8Xbw7juREmYFbiFDbXfg==
X-Spam-Flag: NO
UI-OutboundReport: notjunk:1;M01:P0:nVXVIKeItfw=;QJ1EUJxqTCWRlVDsLEpvX2PzXHJ
 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
X-Spam-Score: -0.7 (/)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.7 (-)

--=-=-=
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

"Joe Sadusk" <joe@HIDDEN> writes:

Hi Joe,

> I've pushed changes to address all the issues except for the remaining
> roundtrip in tramp-hlo-dir-locals-find-file. My first attempt at that
> one broke some functionality, so it'll take a little trial and error
> and I didn't want to hold up the rest.

Thanks. I still need to review this.

However, I'm working on a WIP patch, which adds the infrastructure to
Tramp for adding new handlers for operations, which aren't foreseen
yet. Essentially, there are two new functions:

--8<---------------cut here---------------start------------->8---
tramp-add-external-operation is a byte-code-function in =E2=80=98tramp.el=
=E2=80=99.

(tramp-add-external-operation OPERATION FUNCTION BACKEND)

Add FUNTION to Tramp BACKEND as handler for OPERATION.
OPERATION must not be one the the magic operations listed in Info
node =E2=80=98(elisp) Magic File Names=E2=80=99.  FUNCTION must have the sa=
me argument
list as OPERATION.  BACKEND, a symbol, must be one of the Tramp backend
packages like =E2=80=98tramp-sh=E2=80=99.
--8<---------------cut here---------------end--------------->8---

--8<---------------cut here---------------start------------->8---
tramp-remove-external-operation is a byte-code-function in =E2=80=98tramp.e=
l=E2=80=99.

(tramp-remove-external-operation OPERATION BACKEND)

Remove OPERATION from Tramp BACKEND as handler for OPERATION.
OPERATION must not be one the the magic operations listed in Info
node =E2=80=98(elisp) Magic File Names=E2=80=99. BACKEND, a symbol, must be=
 one of the
Tramp backend packages like =E2=80=98tramp-sh=E2=80=99.
--8<---------------cut here---------------end--------------->8---

So all what you need to do is something like this:

--8<---------------cut here---------------start------------->8---

(defun setup-tramp-hlo ()
  "Setup tramp high-level functions.
Adds advice functions with tramp implementations for the following emacs
built-in functions:
- `dir-locals--all-files'
- `locate-dominating-file'
- `dir-locals-find-file'"
  (interactive)
  (tramp-add-external-operation
   #'dir-locals--all-files
   #'tramp-hlo-dir-locals--all-files 'tramp-sh)
  (tramp-add-external-operation
   #'locate-dominating-file
   #'tramp-hlo-locate-dominating-file 'tramp-sh)
  (tramp-add-external-operation
   #'dir-locals-find-file
   #'tramp-hlo-dir-locals-find-file 'tramp-sh)
  )

(defun remove-tramp-hlo ()
  "Remove tramp high-level functions.
Remove tramp advice functions for the following emacs built-in functions:
- `dir-locals--all-files'
- `locate-dominating-file'
- `dir-locals-find-file'"
  (interactive)
  (tramp-remove-external-operation
   #'dir-locals--all-files 'tramp-sh)
  (tramp-remove-external-operation
   #'locate-dominating-file 'tramp-sh)
  (tramp-remove-external-operation
   #'dir-locals-find-file 'tramp-sh)
  )
--8<---------------cut here---------------end--------------->8---

tramp-hlo-dir-locals--all-files, tramp-hlo-locate-dominating-file and
tramp-hlo-dir-locals-find-file don't need any longer the first argument,
orig-fun. And you can get rid of tramp-hlo-advice.

In your own backend implementations, I recommend to use the macro

--8<---------------cut here---------------start------------->8---
(with-parsed-tramp-file-name nil file ...)
--8<---------------cut here---------------end--------------->8---

This creates for you the variables 'v' (the tramp-file-name structure of
'file') as well as 'method', 'user', 'host' and 'localname' (the
respective parts of the remote file name 'file'.

The Tramp patch is appended. Do you like to test it?

> Joe

Best regards, Michael.


--=-=-=
Content-Type: text/x-patch
Content-Disposition: attachment
Content-Transfer-Encoding: quoted-printable

diff --git a/lisp/tramp.el b/lisp/tramp.el
index 2208ce88..b8012f59 100644
=2D-- a/lisp/tramp.el
+++ b/lisp/tramp.el
@@ -2380,6 +2380,9 @@ arguments to pass to the OPERATION."
 	 signal-hook-function)
     (apply operation args)))
=20
+(defvar tramp-file-name-for-operation-external nil
+  "List of operations added by external packages.")
+
 ;; We handle here all file primitives.  Most of them have the file
 ;; name as first parameter; nevertheless we check for them explicitly
 ;; in order to be signaled if a new primitive appears.  This
@@ -2387,6 +2390,10 @@ arguments to pass to the OPERATION."
 ;; syntactical means whether a foreign method must be called.  It would
 ;; ease the life if `file-name-handler-alist' would support a decision
 ;; function as well but regexp only.
+;; Operations added by external packages are added to
+;; `tramp-file-name-for-operation-external'.  They expect the file
+;; name to be checked as first argument or, if there isn't any
+;; argument, `default-directory'.
 (defun tramp-file-name-for-operation (operation &rest args)
   "Return file name related to OPERATION file primitive.
 ARGS are the arguments OPERATION has been called with.
@@ -2396,40 +2403,40 @@ first argument of `expand-file-name' is absolute a=
nd not remote.
 Must be handled by the callers."
   (cond
    ;; FILE resp DIRECTORY.
-   ((member operation
-	    '(access-file byte-compiler-base-file-name delete-directory
-	      delete-file diff-latest-backup-file directory-file-name
-	      directory-files directory-files-and-attributes dired-compress-file
-	      dired-uncache file-acl file-accessible-directory-p file-attributes
-	      file-directory-p file-executable-p file-exists-p file-local-copy
-	      file-locked-p file-modes file-name-as-directory
-	      file-name-case-insensitive-p file-name-directory
-	      file-name-nondirectory file-name-sans-versions
-	      file-notify-add-watch file-ownership-preserved-p file-readable-p
-	      file-regular-p file-remote-p file-selinux-context file-symlink-p
-	      file-system-info file-truename file-writable-p
-	      find-backup-file-name get-file-buffer
-	      insert-directory insert-file-contents load lock-file make-director=
y
-	      make-lock-file-name set-file-acl set-file-modes
-	      set-file-selinux-context set-file-times substitute-in-file-name
-	      unhandled-file-name-directory unlock-file vc-registered
-	      ;; Emacs 28- only.
-	      make-directory-internal
-	      ;; Emacs 29+ only.
-	      abbreviate-file-name
-	      ;; Tramp internal magic file name function.
-	      tramp-set-file-uid-gid))
+   ((memq operation
+	  '(access-file byte-compiler-base-file-name delete-directory
+	    delete-file diff-latest-backup-file directory-file-name
+	    directory-files directory-files-and-attributes dired-compress-file
+	    dired-uncache file-acl file-accessible-directory-p file-attributes
+	    file-directory-p file-executable-p file-exists-p file-local-copy
+	    file-locked-p file-modes file-name-as-directory
+	    file-name-case-insensitive-p file-name-directory
+	    file-name-nondirectory file-name-sans-versions
+	    file-notify-add-watch file-ownership-preserved-p file-readable-p
+	    file-regular-p file-remote-p file-selinux-context file-symlink-p
+	    file-system-info file-truename file-writable-p
+	    find-backup-file-name get-file-buffer
+	    insert-directory insert-file-contents load lock-file make-directory
+	    make-lock-file-name set-file-acl set-file-modes
+	    set-file-selinux-context set-file-times substitute-in-file-name
+	    unhandled-file-name-directory unlock-file vc-registered
+	    ;; Emacs 28- only.
+	    make-directory-internal
+	    ;; Emacs 29+ only.
+	    abbreviate-file-name
+	    ;; Tramp internal magic file name function.
+	    tramp-set-file-uid-gid))
     (if (file-name-absolute-p (nth 0 args))
 	(nth 0 args)
       default-directory))
    ;; STRING FILE.
    ((eq operation 'make-symbolic-link) (nth 1 args))
    ;; FILE DIRECTORY resp FILE1 FILE2.
-   ((member operation
-	    '(add-name-to-file copy-directory copy-file
-	      file-equal-p file-in-directory-p
-	      file-name-all-completions file-name-completion
-	      file-newer-than-file-p rename-file))
+   ((memq operation
+	  '(add-name-to-file copy-directory copy-file
+	    file-equal-p file-in-directory-p
+	    file-name-all-completions file-name-completion
+	    file-newer-than-file-p rename-file))
     (cond
      ((tramp-tramp-file-p (nth 0 args)) (nth 0 args))
      ((file-name-absolute-p (nth 1 args)) (nth 1 args))
@@ -2446,29 +2453,34 @@ Must be handled by the callers."
 	(nth 2 args)
       default-directory))
    ;; BUFFER.
-   ((member operation
-	    '(make-auto-save-file-name
-	      set-visited-file-modtime verify-visited-file-modtime))
+   ((memq operation
+	  '(make-auto-save-file-name
+	    set-visited-file-modtime verify-visited-file-modtime))
     (buffer-file-name
      (if (bufferp (nth 0 args)) (nth 0 args) (current-buffer))))
    ;; COMMAND.
-   ((member operation
-	    '(exec-path make-nearby-temp-file make-process process-file
-	      shell-command start-file-process temporary-file-directory
-	      ;; Emacs 29+ only.
-              list-system-processes memory-info process-attributes
-              ;; Emacs 30+ only.
-	      file-group-gid file-user-uid))
+   ((memq operation
+	  '(exec-path make-nearby-temp-file make-process process-file
+	    shell-command start-file-process temporary-file-directory
+	    ;; Emacs 29+ only.
+            list-system-processes memory-info process-attributes
+            ;; Emacs 30+ only.
+	    file-group-gid file-user-uid))
     default-directory)
    ;; PROC.
-   ((member operation '(file-notify-rm-watch file-notify-valid-p))
+   ((memq operation '(file-notify-rm-watch file-notify-valid-p))
     (when (processp (nth 0 args))
       (tramp-get-default-directory (process-buffer (nth 0 args)))))
    ;; VEC.
-   ((member operation
-	    '(tramp-get-home-directory tramp-get-remote-gid
-	      tramp-get-remote-groups tramp-get-remote-uid))
+   ((memq operation
+	  '(tramp-get-home-directory tramp-get-remote-gid
+	    tramp-get-remote-groups tramp-get-remote-uid))
     (tramp-make-tramp-file-name (nth 0 args)))
+   ;; FILE resp DIRECTORY.
+   ((memq operation tramp-file-name-for-operation-external)
+    (if (file-name-absolute-p (nth 0 args))
+	(nth 0 args)
+      default-directory))
    ;; Unknown file primitive.
    (t (error "Unknown file I/O primitive: %s" operation))))
=20
@@ -2494,6 +2506,65 @@ Must be handled by the callers."
 		res (cdr elt))))
       res)))
=20
+(defun tramp-add-external-operation (operation function backend)
+  "Add FUNTION to Tramp BACKEND as handler for OPERATION.
+OPERATION must not be one the the magic operations listed in Info
+node `(elisp) Magic File Names'.  FUNCTION must have the same argument
+list as OPERATION.  BACKEND, a symbol, must be one of the Tramp backend
+packages like `tramp-sh'."
+  (require backend)
+  ;; Make BACKEND aware of the new operation.
+  (when-let* ((fnha
+	       (intern
+		(concat (symbol-name backend) "-file-name-handler-alist")))
+	      ((boundp fnha)))
+    (add-to-list fnha (cons operation function)))
+  (unless (memq operation tramp-file-name-for-operation-external)
+    ;; Make Tramp aware of the new operation.
+    (add-to-list 'tramp-file-name-for-operation-external operation)
+    (put #'tramp-file-name-handler
+	 'operations
+         (cons operation (get 'tramp-file-name-handler 'operations)))
+    ;; Add an advice for OPERATION, in order to invoke the handler FUNCTI=
ON.
+    (advice-add
+     operation :around
+     `(lambda (orig-fun &rest args)
+	(if-let* ((handler (find-file-name-handler (car args) #',operation)))
+	    (apply handler #',operation args)
+	  (apply orig-fun args)))
+     `((name . ,(concat "tramp-advice-" (symbol-name operation)))))))
+
+(defun tramp-remove-external-operation (operation backend)
+  "Remove OPERATION from Tramp BACKEND as handler for OPERATION.
+OPERATION must not be one the the magic operations listed in Info
+node `(elisp) Magic File Names'. BACKEND, a symbol, must be one of the
+Tramp backend packages like `tramp-sh'."
+  ;; Remove OPERATION from BACKEND.
+  (when-let* ((fnha
+	       (intern
+		(concat (symbol-name backend) "-file-name-handler-alist")))
+	      ((boundp fnha)))
+    (setf (alist-get operation (symbol-value fnha) nil 'remove) nil))
+  ;; Check, whether OPERATION is still used in any backend.
+  (unless (seq-some
+	   (lambda (fnha)
+	     (unless (eq 'tramp-ftp-file-name-handler (cdr fnha))
+	       ;; Load backend.
+	       (funcall (symbol-function (car fnha)) "/")
+	       (alist-get
+		operation
+		(symbol-value
+		 (intern (concat (symbol-name (cdr fnha)) "-alist"))))))
+	   tramp-foreign-file-name-handler-alist)
+    ;; Make Tramp unaware of OPERATION.
+    (setq tramp-file-name-for-operation-external
+	  (delq operation tramp-file-name-for-operation-external))
+    (put #'tramp-file-name-handler
+	 'operations
+         (delete operation (get 'tramp-file-name-handler 'operations)))
+    ;; Remove an advice for OPERATION.
+    (advice-remove operation (concat "tramp-advice-" (symbol-name operati=
on)))))
+
 ;; Main function.
 ;;;###autoload
 (defun tramp-file-name-handler (operation &rest args)

--=-=-=--




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#79094: [wishlist] Optimizations for round trips in tramp
Resent-From: "Joe Sadusk" <joe@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Sun, 03 Aug 2025 03:11:02 +0000
Resent-Message-ID: <handler.79094.B79094.17541906262570 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 79094
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: "Michael Albinus" <michael.albinus@HIDDEN>
Cc: 79094 <at> debbugs.gnu.org
Received: via spool by 79094-submit <at> debbugs.gnu.org id=B79094.17541906262570
          (code B ref 79094); Sun, 03 Aug 2025 03:11:02 +0000
Received: (at 79094) by debbugs.gnu.org; 3 Aug 2025 03:10:26 +0000
Received: from localhost ([127.0.0.1]:40443 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1uiP7B-0000fL-0H
	for submit <at> debbugs.gnu.org; Sat, 02 Aug 2025 23:10:25 -0400
Received: from mail-qk1-f174.google.com ([209.85.222.174]:50660)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.84_2) (envelope-from <jsadusk@HIDDEN>) id 1uiP77-0000eR-U8
 for 79094 <at> debbugs.gnu.org; Sat, 02 Aug 2025 23:10:22 -0400
Received: by mail-qk1-f174.google.com with SMTP id
 af79cd13be357-7e7fb58425cso6206485a.1
 for <79094 <at> debbugs.gnu.org>; Sat, 02 Aug 2025 20:10:21 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1754190616; x=1754795416;
 h=references:in-reply-to:cc:to:subject:tls-required:message-id:from
 :date:mime-version:x-gm-message-state:from:to:cc:subject:date
 :message-id:reply-to;
 bh=zIaBG34wZsk+LK0E43dyQ/u8W2jluzFTERMC9WoF2Cw=;
 b=r8810lJHGpaMD+u8gYro33cPbETe5N07XyuGzGBsgR31NViT/6qJ9wqexIwyaSb8AP
 wVmLF8B9UkQaMUT2eMrWYYSltLdWCnKeJImox1PiNJ3AFkuqfb0hUpq+v24+xO5J3w9e
 yTYMlI06R3HMMNP+iE53T02hv7tzZjwji/Lmtr2mTvoy6Yv3oilH16C2qRrZy984QQQE
 nyrfNi8nGZ3BFs7O1WW/HcRpTVlDQwLpqKAckFwQN9a3QlsiNUvIgVzwfw0OX4SR4pR7
 0lCOGQ0YjxrpJ/kECqBdrveZuGF5cVR4Bq+BujXhhSpMIJ0hvV8rJmazP2HFDrMVT/+k
 LE7Q==
X-Gm-Message-State: AOJu0YyjM2SnZtl9Y5hXmkrfvTZrYSrWNifPOhAagkwHI62ObKp60nPw
 pOknGURRdoUhmcLKy3xiPS7Vq71j82e9I4w7MAr0GFjhgVVLCdWCiJVRlzfraQ==
X-Gm-Gg: ASbGncuRPLuLY90E2ClgmJZLx2zUX9AbeVzp/c67x971kJNzDVMW4hK0gJTq3gRWrrj
 BRD6BSDMA3HbjiO+7UI4GccdXx7OnLgV2A9ZYe7uq8wJ8LnuXCDLVihoPvwe/QX/mNVyH75wMmV
 85Lu1QwVPInFNyqHppiulSvdklRfh03+zRy7xPr0JFNoU10Q8sCm3gspNK5gTmfIifb6AiLwLdH
 YcCyaCqpT54Fqb8NkLHZgZD2ZEdtcGoykKfuycys06ABmDRBqX/DQU2qadn3fohRidDPsM3xVny
 AAJfE/Dkp3zvr0RtyiLu8kRHV07xNV+LYX6us1i56ulJokM8G6y+VxM/P+zmwEneJ2m906HkLUN
 nNyQWBZJo8zR1
X-Google-Smtp-Source: AGHT+IHCUzCZsf01lDn0McntLg8IDTymnPHBsK79DCkXcjVldCRx7Meo7w4xatkmt9zWiE/YWe2nOA==
X-Received: by 2002:a05:620a:844:b0:7e6:5ef5:c7e3 with SMTP id
 af79cd13be357-7e696399d03mr467032385a.63.1754190615898; 
 Sat, 02 Aug 2025 20:10:15 -0700 (PDT)
Received: from sadusk.com ([157.131.129.2]) by smtp.gmail.com with ESMTPSA id
 af79cd13be357-7e67f742e7asm400282585a.71.2025.08.02.20.10.15
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sat, 02 Aug 2025 20:10:15 -0700 (PDT)
Received: from sadusk.com (ZenWiFi_XT8-EA80 [192.168.50.1])
 by sadusk.com (Postfix) with ESMTPSA id EC3FA3E387;
 Sat,  2 Aug 2025 20:10:13 -0700 (PDT)
MIME-Version: 1.0
Date: Sun, 03 Aug 2025 03:10:13 +0000
Content-Type: multipart/alternative;
 boundary="8d0d2933-3b19-4878-a606-05d815851389-1"
From: "Joe Sadusk" <joe@HIDDEN>
Message-ID: <cb9787de81b522f673de9e062aae8ce47cf96545@HIDDEN>
TLS-Required: No
In-Reply-To: <87y0s1g2ie.fsf@HIDDEN>
References: <87ikjgo13n.fsf@HIDDEN> <877bzwnxj5.fsf@HIDDEN>
 <4c29df968c7a437e5490cb8d644dacbe3f27651f@HIDDEN>
 <87o6t7mmoi.fsf@HIDDEN>
 <b788bbdc3a84d2f90fc1bd44232761b7dabea8ae@HIDDEN>
 <87y0s1g2ie.fsf@HIDDEN>
X-Spam-Score: 0.0 (/)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

--8d0d2933-3b19-4878-a606-05d815851389-1
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: quoted-printable

That would be perfect for this application. I will definitely test it out=
. I'm assuming this patch is for unstable emacs?=C2=A0=C2=A0

Also, I saw with-parse-tramp-file-name and considered using it. However t=
he macro I wrote for the advice function form of these operations already=
 has to dissect the filename to check if its a valid tramp file, so I wan=
ted to reuse the parse that already happened. However in the case of your=
 new tramp external operations it completely makes sense.

What would you say if I made a version using advice functions for emacs 3=
0, and another using tramp external operations for unstable?

Joe


August 2, 2025 at 11:35 AM, "Michael Albinus" <michael.albinus@HIDDEN mai=
lto:michael.albinus@HIDDEN?to=3D%22Michael%20Albinus%22%20%3Cmichael.albi=
nus%40gmx.de%3E > wrote:


>=20
>=20"Joe Sadusk" <joe@HIDDEN> writes:
>=20
>=20Hi Joe,
>=20
>=20>=20
>=20> I've pushed changes to address all the issues except for the remain=
ing
> >  roundtrip in tramp-hlo-dir-locals-find-file. My first attempt at tha=
t
> >  one broke some functionality, so it'll take a little trial and error
> >  and I didn't want to hold up the rest.
> >=20
>=20Thanks. I still need to review this.
>=20
>=20However, I'm working on a WIP patch, which adds the infrastructure to
> Tramp for adding new handlers for operations, which aren't foreseen
> yet. Essentially, there are two new functions:
>=20
>=20--8<---------------cut here---------------start------------->8---
> tramp-add-external-operation is a byte-code-function in =E2=80=98tramp.=
el=E2=80=99.
>=20
>=20(tramp-add-external-operation OPERATION FUNCTION BACKEND)
>=20
>=20Add FUNTION to Tramp BACKEND as handler for OPERATION.
> OPERATION must not be one the the magic operations listed in Info
> node =E2=80=98(elisp) Magic File Names=E2=80=99. FUNCTION must have the=
 same argument
> list as OPERATION. BACKEND, a symbol, must be one of the Tramp backend
> packages like =E2=80=98tramp-sh=E2=80=99.
> --8<---------------cut here---------------end--------------->8---
>=20
>=20--8<---------------cut here---------------start------------->8---
> tramp-remove-external-operation is a byte-code-function in =E2=80=98tra=
mp.el=E2=80=99.
>=20
>=20(tramp-remove-external-operation OPERATION BACKEND)
>=20
>=20Remove OPERATION from Tramp BACKEND as handler for OPERATION.
> OPERATION must not be one the the magic operations listed in Info
> node =E2=80=98(elisp) Magic File Names=E2=80=99. BACKEND, a symbol, mus=
t be one of the
> Tramp backend packages like =E2=80=98tramp-sh=E2=80=99.
> --8<---------------cut here---------------end--------------->8---
>=20
>=20So all what you need to do is something like this:
>=20
>=20--8<---------------cut here---------------start------------->8---
>=20
>=20(defun setup-tramp-hlo ()
>  "Setup tramp high-level functions.
> Adds advice functions with tramp implementations for the following emac=
s
> built-in functions:
> - `dir-locals--all-files'
> - `locate-dominating-file'
> - `dir-locals-find-file'"
>  (interactive)
>  (tramp-add-external-operation
>  #'dir-locals--all-files
>  #'tramp-hlo-dir-locals--all-files 'tramp-sh)
>  (tramp-add-external-operation
>  #'locate-dominating-file
>  #'tramp-hlo-locate-dominating-file 'tramp-sh)
>  (tramp-add-external-operation
>  #'dir-locals-find-file
>  #'tramp-hlo-dir-locals-find-file 'tramp-sh)
>  )
>=20
>=20(defun remove-tramp-hlo ()
>  "Remove tramp high-level functions.
> Remove tramp advice functions for the following emacs built-in function=
s:
> - `dir-locals--all-files'
> - `locate-dominating-file'
> - `dir-locals-find-file'"
>  (interactive)
>  (tramp-remove-external-operation
>  #'dir-locals--all-files 'tramp-sh)
>  (tramp-remove-external-operation
>  #'locate-dominating-file 'tramp-sh)
>  (tramp-remove-external-operation
>  #'dir-locals-find-file 'tramp-sh)
>  )
> --8<---------------cut here---------------end--------------->8---
>=20
>=20tramp-hlo-dir-locals--all-files, tramp-hlo-locate-dominating-file and
> tramp-hlo-dir-locals-find-file don't need any longer the first argument=
,
> orig-fun. And you can get rid of tramp-hlo-advice.
>=20
>=20In your own backend implementations, I recommend to use the macro
>=20
>=20--8<---------------cut here---------------start------------->8---
> (with-parsed-tramp-file-name nil file ...)
> --8<---------------cut here---------------end--------------->8---
>=20
>=20This creates for you the variables 'v' (the tramp-file-name structure=
 of
> 'file') as well as 'method', 'user', 'host' and 'localname' (the
> respective parts of the remote file name 'file'.
>=20
>=20The Tramp patch is appended. Do you like to test it?
>=20
>=20>=20
>=20> Joe
> >=20
>=20Best regards, Michael.
>
--8d0d2933-3b19-4878-a606-05d815851389-1
Content-Type: text/html; charset="utf-8"
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE html><html><head><meta http-equiv=3D"Content-Type" content=3D"t=
ext/html; charset=3Dutf-8"></head><body><div>That would be perfect for th=
is application. I will definitely test it out. I'm assuming this patch is=
 for unstable emacs?=C2=A0=C2=A0</div><div><br></div><div>Also, I saw wit=
h-parse-tramp-file-name and considered using it. However the macro I wrot=
e for the advice function form of these operations already has to dissect=
 the filename to check if its a valid tramp file, so I wanted to reuse th=
e parse that already happened. However in the case of your new tramp exte=
rnal operations it completely makes sense.</div><div><br></div><div>What =
would you say if I made a version using advice functions for emacs 30, an=
d another using tramp external operations for unstable?</div><div><br></d=
iv><div>Joe<br><br></div><p>August 2, 2025 at 11:35 AM, "Michael Albinus"=
 &lt;<a href=3D"mailto:michael.albinus@HIDDEN?to=3D%22Michael%20Albinus%2=
2%20%3Cmichael.albinus%40gmx.de%3E" target=3D"_blank" tabindex=3D"-1">mic=
hael.albinus@HIDDEN</a>&gt; wrote:</p><blockquote>"Joe Sadusk" &lt;joe@sa=
dusk.com&gt; writes:<br><br>Hi Joe,<br><br><blockquote>I've pushed change=
s to address all the issues except for the remaining<br> roundtrip in tra=
mp-hlo-dir-locals-find-file. My first attempt at that<br> one broke some =
functionality, so it'll take a little trial and error<br> and I didn't wa=
nt to hold up the rest.</blockquote><br>Thanks. I still need to review th=
is.<br><br>However, I'm working on a WIP patch, which adds the infrastruc=
ture to<br>Tramp for adding new handlers for operations, which aren't for=
eseen<br>yet. Essentially, there are two new functions:<br><br>--8&lt;---=
------------cut here---------------start-------------&gt;8---<br>tramp-ad=
d-external-operation is a byte-code-function in =E2=80=98tramp.el=E2=80=
=99.<br><br>(tramp-add-external-operation OPERATION FUNCTION BACKEND)<br>=
<br>Add FUNTION to Tramp BACKEND as handler for OPERATION.<br>OPERATION m=
ust not be one the the magic operations listed in Info<br>node =E2=80=98(=
elisp) Magic File Names=E2=80=99.  FUNCTION must have the same argument<b=
r>list as OPERATION.  BACKEND, a symbol, must be one of the Tramp backend=
<br>packages like =E2=80=98tramp-sh=E2=80=99.<br>--8&lt;---------------cu=
t here---------------end---------------&gt;8---<br><br>--8&lt;-----------=
----cut here---------------start-------------&gt;8---<br>tramp-remove-ext=
ernal-operation is a byte-code-function in =E2=80=98tramp.el=E2=80=99.<br=
><br>(tramp-remove-external-operation OPERATION BACKEND)<br><br>Remove OP=
ERATION from Tramp BACKEND as handler for OPERATION.<br>OPERATION must no=
t be one the the magic operations listed in Info<br>node =E2=80=98(elisp)=
 Magic File Names=E2=80=99. BACKEND, a symbol, must be one of the<br>Tram=
p backend packages like =E2=80=98tramp-sh=E2=80=99.<br>--8&lt;-----------=
----cut here---------------end---------------&gt;8---<br><br>So all what =
you need to do is something like this:<br><br>--8&lt;---------------cut h=
ere---------------start-------------&gt;8---<br><br>(defun setup-tramp-hl=
o ()<br>  "Setup tramp high-level functions.<br>Adds advice functions wit=
h tramp implementations for the following emacs<br>built-in functions:<br=
>- `dir-locals--all-files'<br>- `locate-dominating-file'<br>- `dir-locals=
-find-file'"<br>  (interactive)<br>  (tramp-add-external-operation<br>   =
#'dir-locals--all-files<br>   #'tramp-hlo-dir-locals--all-files 'tramp-sh=
)<br>  (tramp-add-external-operation<br>   #'locate-dominating-file<br>  =
 #'tramp-hlo-locate-dominating-file 'tramp-sh)<br>  (tramp-add-external-o=
peration<br>   #'dir-locals-find-file<br>   #'tramp-hlo-dir-locals-find-f=
ile 'tramp-sh)<br>  )<br><br>(defun remove-tramp-hlo ()<br>  "Remove tram=
p high-level functions.<br>Remove tramp advice functions for the followin=
g emacs built-in functions:<br>- `dir-locals--all-files'<br>- `locate-dom=
inating-file'<br>- `dir-locals-find-file'"<br>  (interactive)<br>  (tramp=
-remove-external-operation<br>   #'dir-locals--all-files 'tramp-sh)<br>  =
(tramp-remove-external-operation<br>   #'locate-dominating-file 'tramp-sh=
)<br>  (tramp-remove-external-operation<br>   #'dir-locals-find-file 'tra=
mp-sh)<br>  )<br>--8&lt;---------------cut here---------------end--------=
-------&gt;8---<br><br>tramp-hlo-dir-locals--all-files, tramp-hlo-locate-=
dominating-file and<br>tramp-hlo-dir-locals-find-file don't need any long=
er the first argument,<br>orig-fun. And you can get rid of tramp-hlo-advi=
ce.<br><br>In your own backend implementations, I recommend to use the ma=
cro<br><br>--8&lt;---------------cut here---------------start------------=
-&gt;8---<br>(with-parsed-tramp-file-name nil file ...)<br>--8&lt;-------=
--------cut here---------------end---------------&gt;8---<br><br>This cre=
ates for you the variables 'v' (the tramp-file-name structure of<br>'file=
') as well as 'method', 'user', 'host' and 'localname' (the<br>respective=
 parts of the remote file name 'file'.<br><br>The Tramp patch is appended=
. Do you like to test it?<br><br><blockquote>Joe</blockquote><br>Best reg=
ards, Michael.</blockquote><div><br></div></body></html>
--8d0d2933-3b19-4878-a606-05d815851389-1--




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#79094: [wishlist] Optimizations for round trips in tramp
Resent-From: Michael Albinus <michael.albinus@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Sun, 03 Aug 2025 06:49:02 +0000
Resent-Message-ID: <handler.79094.B79094.17542037226498 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 79094
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: "Joe Sadusk" <joe@HIDDEN>
Cc: 79094 <at> debbugs.gnu.org
Received: via spool by 79094-submit <at> debbugs.gnu.org id=B79094.17542037226498
          (code B ref 79094); Sun, 03 Aug 2025 06:49:02 +0000
Received: (at 79094) by debbugs.gnu.org; 3 Aug 2025 06:48:42 +0000
Received: from localhost ([127.0.0.1]:41580 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1uiSWQ-0001gk-4P
	for submit <at> debbugs.gnu.org; Sun, 03 Aug 2025 02:48:42 -0400
Received: from mout.gmx.net ([212.227.17.20]:47169)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <michael.albinus@HIDDEN>)
 id 1uiSWM-0001gO-VG
 for 79094 <at> debbugs.gnu.org; Sun, 03 Aug 2025 02:48:39 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmx.de;
 s=s31663417; t=1754203712; x=1754808512; i=michael.albinus@HIDDEN;
 bh=Dlpxm1AhkRuKwzIJqNZf01t2KhtlNFED0oYrmt2LZn0=;
 h=X-UI-Sender-Class:From:To:Cc:Subject:In-Reply-To:References:Date:
 Message-ID:MIME-Version:Content-Type:Content-Transfer-Encoding:cc:
 content-transfer-encoding:content-type:date:from:message-id:
 mime-version:reply-to:subject:to;
 b=q+wCtQd8DRUqOukm4UpY4erjXYhPftwT4NgPvAG3q+f8Qw3/sgaq4LtXLA6dUmAg
 v7vdP/f2G6eNgA+0IaVEQEDZt1RnUByaqB+tcaLIVQo/UQB+buqR2H88kWlC8l5Jd
 h22GNUnZMXgrxRgHfbX8cUkYowA3QTWvAv1HHVS69dEpRna/IE8NWsAsxXL4JXzdF
 U6/RU6QG2m3flWGwpY9tXKryg3M9bmLQcl3+lndJH9RnZ/ysJdkzNerVupP5Y9Iky
 piolxv3HERyS6g/BkUB2LemFPmN6VwzP9toEQC7/R0Vvu/R/XJ4gzhOGHEDs7DG6H
 lMq1wobyYB7+/1d2cA==
X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a
Received: from gandalf.gmx.de ([185.89.37.61]) by mail.gmx.net (mrgmx105
 [212.227.17.168]) with ESMTPSA (Nemesis) id 1M7K3Y-1uja3Q0zXg-000Vfd; Sun, 03
 Aug 2025 08:48:32 +0200
From: Michael Albinus <michael.albinus@HIDDEN>
In-Reply-To: <cb9787de81b522f673de9e062aae8ce47cf96545@HIDDEN>
References: <87ikjgo13n.fsf@HIDDEN> <877bzwnxj5.fsf@HIDDEN>
 <4c29df968c7a437e5490cb8d644dacbe3f27651f@HIDDEN>
 <87o6t7mmoi.fsf@HIDDEN>
 <b788bbdc3a84d2f90fc1bd44232761b7dabea8ae@HIDDEN>
 <87y0s1g2ie.fsf@HIDDEN>
 <cb9787de81b522f673de9e062aae8ce47cf96545@HIDDEN>
Date: Sun, 03 Aug 2025 08:48:31 +0200
Message-ID: <87jz3kgatc.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-Provags-ID: V03:K1:C83EVGfE9elCKBU3dP58JLE1p5SLI5mteN/BmCRdTqLtIIfDIzp
 MJkc56Iw96axBRGYVl7AbcjgBiVZl4RYdWyZEBm4V8g2KPpt0OA5qdWXCaNjAqYQkf4fgFc
 mNiI3JH6zHmO3R+8uaoHhz9Row2coeirdq0pZvRTYpZ3UpXG80tniwtNKYAavrE6bpAYKwH
 hR7I0IH39GpSP5WdBYygQ==
X-Spam-Flag: NO
UI-OutboundReport: notjunk:1;M01:P0:sLo/GXQAuSg=;ar3yjrcMHnc7yeEHuUtMcZ3oHH1
 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
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: -0.7 (/)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.7 (-)

"Joe Sadusk" <joe@HIDDEN> writes:

Hi Joe,

> That would be perfect for this application. I will definitely test it
> out. I'm assuming this patch is for unstable emacs? =20

Yes. Emacs 30 is closed for new features.

> What would you say if I made a version using advice functions for
> emacs 30, and another using tramp external operations for unstable?

That's not needed. Tramp is also available on GNU ELPA. The next release
for GNU ELPA, 2.8.0.2, planned for the end of this month, will include
my patch.

Tramp 2.8 is backward compatible down to Emacs 28.

All what you need in your package is a line like the following in the
head of the file:

=2D-8<---------------cut here---------------start------------->8---
;; Package-Requires: ((tramp "2.8"))
=2D-8<---------------cut here---------------end--------------->8---

> Joe

Best regards, Michael.




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#79094: [wishlist] Optimizations for round trips in tramp
Resent-From: Michael Albinus <michael.albinus@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Sun, 03 Aug 2025 09:43:02 +0000
Resent-Message-ID: <handler.79094.B79094.175421415719084 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 79094
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: "Joe Sadusk" <joe@HIDDEN>
Cc: 79094 <at> debbugs.gnu.org
Received: via spool by 79094-submit <at> debbugs.gnu.org id=B79094.175421415719084
          (code B ref 79094); Sun, 03 Aug 2025 09:43:02 +0000
Received: (at 79094) by debbugs.gnu.org; 3 Aug 2025 09:42:37 +0000
Received: from localhost ([127.0.0.1]:42584 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1uiVEi-0004xi-OU
	for submit <at> debbugs.gnu.org; Sun, 03 Aug 2025 05:42:37 -0400
Received: from mout.gmx.net ([212.227.15.18]:39189)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <michael.albinus@HIDDEN>)
 id 1uiVEf-0004xM-Ui
 for 79094 <at> debbugs.gnu.org; Sun, 03 Aug 2025 05:42:35 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmx.de;
 s=s31663417; t=1754214145; x=1754818945; i=michael.albinus@HIDDEN;
 bh=EqcYj2GSwKFE2BqDRJ40g6fqZ4nSikuTWqCyl/zdgQk=;
 h=X-UI-Sender-Class:From:To:Cc:Subject:In-Reply-To:References:Date:
 Message-ID:MIME-Version:Content-Type:cc:content-transfer-encoding:
 content-type:date:from:message-id:mime-version:reply-to:subject:
 to;
 b=Z+BuK/iRz3SO5B6ykoc45Fp615wCdpmMCcX1XfkRDVPgRJqemRZYxRdlf0bgY3Yb
 zwOds6KZy3/VLHht/KhVIzOUrZ7FcfrXeiblBWf/KL7OeIuvanUsGajxbLSUr2GF1
 RUn3vOyCIJlSp9ZAc6wdkw+IVXggDvmBRQhh/2ORJqREc/vDDC4k8+ywYj3/Jj34I
 bBVtFlzOmZaRb/ytJk1neapjkpzaLPYXYoHqY0dEolXmRxCJLHku+1Exh6tult0YZ
 ADtFa1gGSiqotErD1Qzz01Ae3zYR+RQtTe1+9U4jhdIitw8pYZqwNPGuM3q/o9JOZ
 jf3cpW6P94ezbwODrQ==
X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a
Received: from gandalf.gmx.de ([185.89.37.61]) by mail.gmx.net (mrgmx004
 [212.227.17.190]) with ESMTPSA (Nemesis) id 1MvbBk-1uPSFS43eg-015STR; Sun, 03
 Aug 2025 11:42:25 +0200
From: Michael Albinus <michael.albinus@HIDDEN>
In-Reply-To: <b788bbdc3a84d2f90fc1bd44232761b7dabea8ae@HIDDEN>
References: <87ikjgo13n.fsf@HIDDEN> <877bzwnxj5.fsf@HIDDEN>
 <4c29df968c7a437e5490cb8d644dacbe3f27651f@HIDDEN>
 <87o6t7mmoi.fsf@HIDDEN>
 <b788bbdc3a84d2f90fc1bd44232761b7dabea8ae@HIDDEN>
Date: Sun, 03 Aug 2025 11:42:24 +0200
Message-ID: <875xf4g2rj.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-Provags-ID: V03:K1:4GAj0zvh+rqI7VJTYBXeeDivjWK18eCdjZe6jluJQLpRQMNscgO
 kRzbmEypEBh8V7DsRtku+dKVRvSpjJJPzFcoRFHLKF0pzQYwyKUj4yhR3RDazZ+E3y669iU
 DsIv0YZq/BupaLIPWfweovCwmcZQkGC56b8lmuNJp0XPg2oB0sDI67wZLbLtgzs/qvlpIHq
 tjzJPLpl5BL2gkU9pKjfg==
X-Spam-Flag: NO
UI-OutboundReport: notjunk:1;M01:P0:Ir6vnwYl3eE=;YuF6Ae5UyT0eE+TetxvXLCC1q7K
 9EnwYnMqOdO14WfvjplFEaCJqu3pXIX+EUkwdVMT3BuLYqFnfGZ3wVGmeNJrbNl63O0/FGuzE
 ukGpt/ZH/GBf1gUhn4Wq7O+fBOvUIOoXru3I6u2wGAY3MNiUUacZkTM0Qz/ZE2GHz9kA8Ja7j
 Uml/JZZmUE95hTZD0pF6kK+qH9/RSWqhefKTbSORkSXydr699UADGvS8fZBCG0QsJ4x/AaJf6
 aDPmuKeYFp+v3oCsN+MArvua755YqTvn7iKmo7cAW6BosVUVLwKjHKWK8H9o0OpIZiWI/ksqu
 QCO4VBd5dmMB9nwQgB+9MjgPw2mOaGKeF6EzWbclSD7mirQovpMg3XzaOZ2L2+ttfVpuMeUdh
 /4zC83DTuggGQieRrJQtWgvbN7XtcKL7LeIMJnn0ZJmBOC2AidH9uN75uBO1tWZKmD1oKgIaE
 Tg17/WbLKoWZn1Uxh5+3Z92AoZc3VjWtuVV5W0hjawlIla+AWmcTGIXR7sbbmoWy3gJHNzStl
 l2z6SZGb4oEYwcufDN38yAQPoUD1LQZYR9FaYzXLr/3Rueyt0XYzLzyejtT9kEUfncoIPnmK1
 c9uN8YWJ+CiLH/1AFKn6jdR0zZWsKgO6/GXSu5W3bTKSVtg8aECY11RtjbCLmebgZfbBhWWZ2
 uXx0M20dHgRWoCE4gLsNZPtJ1mxaO1523yXCeLFFAdgFB5/IoUYm2kskxni1wvxjO09jr9uv+
 VPZ0/MSuu+ExjzIygkSADNeckaFdkyORBhtT11ysb2/M3nQ7vyfQbRKh/tj3tQ09JGVEAlPrB
 DqIRJTKhC/q8dktosaFL5RXNYLgSFW310CjMbAv9QBuxnygUdi9U8tRNAhaiLdhuovOiHikmZ
 jmDNR4wiVLqpLQPKFbckqXj4s0BmgOCMybZNSttEw1iJqWdqkPqQSLstxlydvIfDwOjCvBaot
 jODPC74aVQPmva2fv4w0H908l47mgK4pje4NuBO31PrrpqO+7jBsY1bhv10oHqe5kxOQkPETh
 uFSss67GkhPFm+sbyxoPuzXCka7ZPXhUX3N+R2Oknt68WhZRNh55hdAjme9rjart2vzF6fZNK
 PfDGqq1BObFYcIxS2ev7ngG4PKvGRNizM+qrl99Sfi5OJJ3fHf8pvVWPWteRbm+lS+nyqFs8z
 pIHtZ0quiZI0b1q1yf002AbabkVBzwy/p+osNU7NXE9tmYGBPabe5s+LU6BttSVRKJx2W10N1
 o4XiX6mwzhDhV+wVUkUHFNabv5AZkUMj2BXv/DKeaOTpTuUJWIm5/ggKdywAUjVpHrEhX8/Kx
 IVI488625MLbRceH6rKkgrQvnwgnvWpZoO8UH1FohGKw/vE0k1slrvXxX0Z2GJ+Vaof4PUkeI
 g1Z3oDvhUJgJOkbpJ8q6epiOYGj/2ywxc9UO+CTkF2fqvYIkS5ljoX7+hroJxWd4i0Ij3Hq3O
 5wn7LLhrvGdysQ8gB/VhHyJVYYcTneHIkh5jDSaFla0YMdSzZZQAnDPPJ5S/cfB7byPqSBJGG
 /D3odpYDxP4sfCoxIx5Mh2zdjUZ49y5BNPGMIterexItuD94ab+cAOnILijllByA2MNtKbf4M
 bdoKpUi0kDY+axvcjnvptVnWvSEmSwL7lWf/nj4dNMbOjWIaayiw6swlD8whx5bV8b7x0m4g8
 3Mp/D+G//9v9pW7a1wlDo2cI0X+xYRXV2/7cjoI6J9UzEPletAbjuwIybaRhbiYjxK6M/foJs
 IgUfU2HZnXi5w7+oK/WC1AiJlZcrZ71NoFZVRuKb/gx6yv+6fzEKfyXZq0LUpiWbMHJh7a7hV
 /nok2une+sFDQXeAkp1gWGRFjyesAJuBuLbOXVRD5YNcAzcPMuDtUpUSj1GqLtbiDvAQF6kqP
 zTDnmi1BZahBS3KPJT14ue8tr/E/nkwdNtpl/7PnUnIfHE/1AYvND8tve5h8QRZRwXgScxet6
 UQ3thnB5lClgK1CoBdggXgKGFFiLJn/fT8RpmXMejvZbO+Q9np8EgfQhZpea/iN6HrsTWuf0T
 EYsRc9B8bnwT8VVQ//0CcbqIIZex/5tkyhQkP6ZlpNQ88Dxh1vcrcbDyXPJQ9p7Cmn6Y1evwp
 Hvr2MyOAv5CuL6zz16ok2JTgsB0QUSGIrkKXSMx1TgqlJmgZtrPuXBmbl5/HgrYvne7xNXG7q
 Gb9FYfGY2eHGStzxIeqf2wsL651uVXzS2N52jqfWTysBwjDZJ/G8+7VoWVvMF9185ikTL2Zz9
 /Hvl1I84r+nKLboKhKsEazbSaAPPBzBT6Za1dmj60ftAW58MhHM5VysYeUaq0DtObYVKHa0iJ
 ZS+mDWLYSQrCTZrHircLttyvJGv855yiuPxkLWayCvHZIMPDcTureGz9lg2SjdBKwp4dvcEHg
 XBPKE98+uydRPAWJNH5QRR+ff0NIeOoIqN0sfpgA4YPEsh6pHb+zODrOJV4AzAXrzi+dP7qS6
 tPVw4Dt8uzz2KVgZKUethmsAdxWg1IFxU20CRfEUopT07n0UtKpj+2T97f5x9IkX69dRsupZW
 +9KxwjYWf9XktR6UD8SxKOHMy/fAH1CpYj0u3WjkANInxGbnnombIcE1ZrQzyiZnFhWwqDchG
 7Nca4mzn32Gk1K7fQq7xj4pYU8KuGtpTRtXoSLpyXyaCJ8jdaw41hsSZAcaOvFF03vT+XKc3t
 jUXYmoFV/I6zlPaN/pHhz6Z6nJ6pUPjjfbm6OJrrwb9n6Gd+/cUTJ8NVl3HPn3fC5wGAHumeN
 Dg6ZtjYgMossUertdz15/sGD2ZggMBkbRDsCC8X4xZ2G/jrQS9bih5zHURLVx8D9JvCynU/bY
 OtUyh3fEn4xBDA8I/ThIhmeyxfxUpjJOETeW7hyGd+j4CtmyNRNJm5/oH7+gDVOfnSUFiYVlc
 huSBDT6sN1SVTo2Q2t2FG6kkhm0GRIn+0NbMYwopGo3/KO0S1B+GsqSClO6C3pdvl1eaoM31e
 xlLR4gXzNMEv3tEEOfjA0QpBUzfZHS+eh5ap4KGx1nZin8xUmyi5/q2iiYnH76jMtMluooJM6
 DCwrNtXNxb5hqmHySByvrL/4uW3bdn4FBIClq/eYts5s0QuA9LCGNHyEay9UXA9naNrzabQ+E
 mVVUfiTxngFdEvjE6vMruVFNXlR1kw21zPRcyvTZ176+QdHubntJxyFXy5qCE/i/iWJc5/DL+
 gCJLnb2un7TyOA8MMG2WkguTbLa7NFyx6V/n3c5NIOE27rq4waQNaqMcUozo0+r3o8Fj8Iub6
 mXt4SeDSSNqTljtFJkRve4GXYuSjXktUisfD/y+M+Dms3uX7dTaQNoMNFi+edbyOcgt0sY5Du
 NoacXdMnI4Z6Cxp/GqbKMDe6CH6xEGITevWjM2RIR1JwUXMzrXJGHMcKTVxG+8r+ncLliDNVa
 Xsqp1nrIWpBK9M9LcbMqo8FKmJhGwtqb6nkM1WUdJq1ZTCS9sxljVRuylkfKlJ2PsO7sSmsqV
 yXclMkcUrBip/M5mouaSIvEW/LY1UhOo=
X-Spam-Score: -0.7 (/)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.7 (-)

"Joe Sadusk" <joe@HIDDEN> writes:

Hi Joe,

I went through the current version of tramp-hlo.el. Besides of the
proposed infrastructure change, there's not too much to say now. The
file needs some formatting change (don't excedd 80 chars width), and the
header might be in more sync with other files in GNU ELPA:

There are some documentation nitpicks. The first line in a docstring
shall be finished with a period. Two sentences shall be divided by two
space characters. Something like this, see (info "(elisp) Documentation Tips")

Tramp is written in documentation "Tramp", and Emacs is written
"Emacs". Capitalized.

For the ;;; Commentary section, I'll provide you an info link into the
Tramp manual, describing this approach. Once available.

For my taste, some more comments would be useful.

You see, all of this is rather minor :-)

> Joe

Best regards, Michael.




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#79094: [wishlist] Optimizations for round trips in tramp
Resent-From: Michael Albinus <michael.albinus@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Tue, 05 Aug 2025 10:04:02 +0000
Resent-Message-ID: <handler.79094.B79094.17543882235165 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 79094
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: "Joe Sadusk" <joe@HIDDEN>
Cc: 79094 <at> debbugs.gnu.org
Received: via spool by 79094-submit <at> debbugs.gnu.org id=B79094.17543882235165
          (code B ref 79094); Tue, 05 Aug 2025 10:04:02 +0000
Received: (at 79094) by debbugs.gnu.org; 5 Aug 2025 10:03:43 +0000
Received: from localhost ([127.0.0.1]:53743 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1ujEWE-0001LE-KE
	for submit <at> debbugs.gnu.org; Tue, 05 Aug 2025 06:03:42 -0400
Received: from mout.gmx.net ([212.227.17.22]:54753)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <michael.albinus@HIDDEN>)
 id 1ujEWB-0001Kw-MJ
 for 79094 <at> debbugs.gnu.org; Tue, 05 Aug 2025 06:03:40 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmx.de;
 s=s31663417; t=1754388210; x=1754993010; i=michael.albinus@HIDDEN;
 bh=9kirBlGpumYlW25uOkhOdLZdsqDzBHjl78MU28d8llY=;
 h=X-UI-Sender-Class:From:To:Cc:Subject:In-Reply-To:References:Date:
 Message-ID:MIME-Version:Content-Type:Content-Transfer-Encoding:cc:
 content-transfer-encoding:content-type:date:from:message-id:
 mime-version:reply-to:subject:to;
 b=ldvrIUt01rj05VdDS1MSPJteWpVC1+DiqURhFa5KcPzOskM155BdNHRTUVMPcbJS
 nbYl7dV7kKWYrNvcjlK/oPG/YmhfU8eVpvVJDG4X4OdLRCgsKUeGmUYhegGPY0u9z
 KYpsOeCV/Wx/0WfZTJ96B8Gwp45V944yN8VPunBp4kMoD8zSrhWUFBQe3Aww7n3y1
 /xbstAoMtFMTZXgMs+2AthJmHdwH0O6BNyabw/1cMcyQDbLWujJ1NUIoCACSnpL4W
 RsL9BvQerxJS9y6//W1cv5MJuTnfaHcGUIQ49wjdd7FnJ5ZhvuhRYnzPZnzeRr7pS
 KaaUwBrCc4LeEtcvGg==
X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a
Received: from gandalf.gmx.de ([185.89.37.61]) by mail.gmx.net (mrgmx104
 [212.227.17.168]) with ESMTPSA (Nemesis) id 1MTzb8-1vA91E17sw-00L8lp; Tue, 05
 Aug 2025 12:03:30 +0200
From: Michael Albinus <michael.albinus@HIDDEN>
In-Reply-To: <87jz3kgatc.fsf@HIDDEN>
References: <87ikjgo13n.fsf@HIDDEN> <877bzwnxj5.fsf@HIDDEN>
 <4c29df968c7a437e5490cb8d644dacbe3f27651f@HIDDEN>
 <87o6t7mmoi.fsf@HIDDEN>
 <b788bbdc3a84d2f90fc1bd44232761b7dabea8ae@HIDDEN>
 <87y0s1g2ie.fsf@HIDDEN>
 <cb9787de81b522f673de9e062aae8ce47cf96545@HIDDEN>
 <87jz3kgatc.fsf@HIDDEN>
Date: Tue, 05 Aug 2025 12:03:29 +0200
Message-ID: <87pldaccge.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-Provags-ID: V03:K1:WjxBu9dQib7D2Ue+kdqMGjWJtuNbvHC4lJvi/QW7qKUkg+vQDg5
 a5PcZ3mILzLV86xACTlTIASHmrFuRbC5KaoJmjvo3BL8Kslv7KKulP8qES3oZqMOVZDe+b5
 0qUb0Vgvm5Uyt27jRXRydSJ89aOvTPiXbBfB1pfXGPN1EHFwaqm2tJVB/n23LnX2g06xNFs
 VqX51R90kcwX2sSXUhXRg==
X-Spam-Flag: NO
UI-OutboundReport: notjunk:1;M01:P0:2O7AUVhdkWs=;KTlnVYepKgYHfWqzhBZEPF0YpmL
 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
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: -0.7 (/)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.7 (-)

Michael Albinus <michael.albinus@HIDDEN> writes:

Hi Joe,

>> That would be perfect for this application. I will definitely test it
>> out. I'm assuming this patch is for unstable emacs? =20
>
> Yes. Emacs 30 is closed for new features.

I've pushed the patch to the repositories.

>> Joe

Best regards, Michael.




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#79094: [wishlist] Optimizations for round trips in tramp
Resent-From: "Joe Sadusk" <joe@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Wed, 06 Aug 2025 12:34:02 +0000
Resent-Message-ID: <handler.79094.B79094.175448362618095 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 79094
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: "Michael Albinus" <michael.albinus@HIDDEN>
Cc: 79094 <at> debbugs.gnu.org
Received: via spool by 79094-submit <at> debbugs.gnu.org id=B79094.175448362618095
          (code B ref 79094); Wed, 06 Aug 2025 12:34:02 +0000
Received: (at 79094) by debbugs.gnu.org; 6 Aug 2025 12:33:46 +0000
Received: from localhost ([127.0.0.1]:58412 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1ujdL0-0004hm-0T
	for submit <at> debbugs.gnu.org; Wed, 06 Aug 2025 08:33:46 -0400
Received: from mail-pf1-f172.google.com ([209.85.210.172]:48506)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.84_2) (envelope-from <jsadusk@HIDDEN>) id 1ujdKx-0004hY-8b
 for 79094 <at> debbugs.gnu.org; Wed, 06 Aug 2025 08:33:44 -0400
Received: by mail-pf1-f172.google.com with SMTP id
 d2e1a72fcca58-76c18568e5eso2540711b3a.1
 for <79094 <at> debbugs.gnu.org>; Wed, 06 Aug 2025 05:33:43 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1754483617; x=1755088417;
 h=references:in-reply-to:cc:to:subject:tls-required:message-id:from
 :date:mime-version:x-gm-message-state:from:to:cc:subject:date
 :message-id:reply-to;
 bh=FnT1dte8hk5gqAIyg1Uc+5gTeaoeEAvrXmtqGQIm040=;
 b=l4KaMp/EjUi++ycxd9/5bkfNkQSqG5OEZorYjtPLq/0e6M+QQSMFSp/ReHkRz8TJm9
 LzikOJOh8ApBQaPxjswfRZG1wtVTytJ3XUPS0VuvWT4kIRVE1vR+hFtnLEJEQMw2KQBC
 cIvOCvQdf+1zoo/0gX2tZVR+SEt2HBTSUgR/0TxmETXV2mM1vP1yiUlkrue4Z8s5xkXt
 Wo0UDr/NJEFYTn3Vn8zniLuCKrsTuQ8xUooXlbaCkGDay0HbnFNG7y5v2xtZ56gq5HKh
 3HUJ2DezmIgR+qeZnCB0kTjOg7PKh32uHsBlrp1bjEuvo6V383ELlUTfQKcJsk/Q5MyA
 WNxg==
X-Gm-Message-State: AOJu0YyL0kRAZ4OdvmpDbhyeLLc72VtqqynBH7b0WRONr4jtTP26VfRZ
 rgRyn6JvU75bxGmQTk/bIwGBUodwxDLwDgp8a1+ce3vJdWRSrsRN71x9ZWFp1g==
X-Gm-Gg: ASbGncvm882lUCS4d4Z6BlqBZRQ5hObvz+uov2tIAzk1AkLvpnCyQy1dN9bj8Fu7YX1
 CcIapupOZ+sQprjqmNRgeDzH5NqQnbS2G3MOUNM60OnQM3xCPaLp775Uy0Lk4rxsJ01rxe2ooEw
 JP5NAl4i0bMLfG1qsNKpxfwrGH8jspDXNtlw+jvfPyYNMMc9mynRL5y1oNj9r+LJ50lomhs+l12
 gKYUb/TxAbtsoc5Ipwzd0saPQ3EFoepDvyAZMkLDENqukelyzWIckTpzu3A7PjimPV1DFQQwtAQ
 RiFHi+3pNNre7mHMnmNILhdw6ldIf6QHMjqpwVdGttRMocOqYej5J3z3wOkesMeLcDd9rDpBvk8
 ZPHnjnUyIHuW5
X-Google-Smtp-Source: AGHT+IHpQhhXQ194o2LpcZRcxqyt3M5BixgIl6D38ZqBCN7BztJlUKg7kvowqWnuDxkaK+lpw+xrFA==
X-Received: by 2002:a05:6a20:3d19:b0:23f:facd:5bc3 with SMTP id
 adf61e73a8af0-240313b9ea3mr3637148637.23.1754483616472; 
 Wed, 06 Aug 2025 05:33:36 -0700 (PDT)
Received: from sadusk.com ([157.131.129.2]) by smtp.gmail.com with ESMTPSA id
 d2e1a72fcca58-76bcceab691sm15293536b3a.55.2025.08.06.05.33.35
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 06 Aug 2025 05:33:35 -0700 (PDT)
Received: from sadusk.com (ZenWiFi_XT8-EA80 [192.168.50.1])
 by sadusk.com (Postfix) with ESMTPSA id F25373E38F;
 Wed,  6 Aug 2025 05:33:34 -0700 (PDT)
MIME-Version: 1.0
Date: Wed, 06 Aug 2025 12:33:34 +0000
Content-Type: multipart/alternative;
 boundary="35dcfea0-207d-4a79-a53b-e8d6e2d3ee30-1"
From: "Joe Sadusk" <joe@HIDDEN>
Message-ID: <f78a404bd4ba226608fa8ccbd57041595dcfef93@HIDDEN>
TLS-Required: No
In-Reply-To: <87pldaccge.fsf@HIDDEN>
References: <87ikjgo13n.fsf@HIDDEN> <877bzwnxj5.fsf@HIDDEN>
 <4c29df968c7a437e5490cb8d644dacbe3f27651f@HIDDEN>
 <87o6t7mmoi.fsf@HIDDEN>
 <b788bbdc3a84d2f90fc1bd44232761b7dabea8ae@HIDDEN>
 <87y0s1g2ie.fsf@HIDDEN>
 <cb9787de81b522f673de9e062aae8ce47cf96545@HIDDEN>
 <87jz3kgatc.fsf@HIDDEN> <87pldaccge.fsf@HIDDEN>
X-Spam-Score: 0.0 (/)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

--35dcfea0-207d-4a79-a53b-e8d6e2d3ee30-1
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: quoted-printable

Sorry, I've been on a family vacation and haven't had a chance to test. I=
'm hoping to have some time today.=C2=A0


August 5, 2025 at 6:03 AM, "Michael Albinus" <michael.albinus@HIDDEN mail=
to:michael.albinus@HIDDEN?to=3D%22Michael%20Albinus%22%20%3Cmichael.albin=
us%40gmx.de%3E > wrote:


>=20
>=20Michael Albinus <michael.albinus@HIDDEN> writes:
>=20
>=20Hi Joe,
>=20
>=20>=20
>=20> >=20
>=20> > That would be perfect for this application. I will definitely tes=
t it
> > >  out. I'm assuming this patch is for unstable emacs?
> > >=20
>=20>  Yes. Emacs 30 is closed for new features.
> >=20
>=20I've pushed the patch to the repositories.
>=20
>=20>=20
>=20> >=20
>=20> > Joe
> > >
> >=20
>=20Best regards, Michael.
>
--35dcfea0-207d-4a79-a53b-e8d6e2d3ee30-1
Content-Type: text/html; charset="utf-8"
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE html><html><head><meta http-equiv=3D"Content-Type" content=3D"t=
ext/html; charset=3Dutf-8"></head><body><div>Sorry, I've been on a family=
 vacation and haven't had a chance to test. I'm hoping to have some time =
today.=C2=A0<br><br></div><p>August 5, 2025 at 6:03 AM, "Michael Albinus"=
 &lt;<a href=3D"mailto:michael.albinus@HIDDEN?to=3D%22Michael%20Albinus%2=
2%20%3Cmichael.albinus%40gmx.de%3E" target=3D"_blank" tabindex=3D"-1">mic=
hael.albinus@HIDDEN</a>&gt; wrote:</p><blockquote>Michael Albinus &lt;mic=
hael.albinus@HIDDEN&gt; writes:<br><br>Hi Joe,<br><br><blockquote><blockq=
uote>That would be perfect for this application. I will definitely test i=
t<br> out. I'm assuming this patch is for unstable emacs?</blockquote><br=
> Yes. Emacs 30 is closed for new features.</blockquote><br>I've pushed t=
he patch to the repositories.<br><br><blockquote><blockquote>Joe</blockqu=
ote></blockquote><br>Best regards, Michael.</blockquote><div><br></div></=
body></html>
--35dcfea0-207d-4a79-a53b-e8d6e2d3ee30-1--




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#79094: [wishlist] Optimizations for round trips in tramp
Resent-From: Michael Albinus <michael.albinus@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Wed, 06 Aug 2025 13:32:02 +0000
Resent-Message-ID: <handler.79094.B79094.175448710029219 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 79094
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: "Joe Sadusk" <joe@HIDDEN>
Cc: 79094 <at> debbugs.gnu.org
Received: via spool by 79094-submit <at> debbugs.gnu.org id=B79094.175448710029219
          (code B ref 79094); Wed, 06 Aug 2025 13:32:02 +0000
Received: (at 79094) by debbugs.gnu.org; 6 Aug 2025 13:31:40 +0000
Received: from localhost ([127.0.0.1]:58548 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1ujeF1-0007bB-Sg
	for submit <at> debbugs.gnu.org; Wed, 06 Aug 2025 09:31:40 -0400
Received: from mout.gmx.net ([212.227.15.15]:60867)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <michael.albinus@HIDDEN>)
 id 1ujeEy-0007ax-Pk
 for 79094 <at> debbugs.gnu.org; Wed, 06 Aug 2025 09:31:37 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmx.de;
 s=s31663417; t=1754487088; x=1755091888; i=michael.albinus@HIDDEN;
 bh=Xtj6LtTytYih6BvqVkO7jSFg23//OW6yy9ZrnX9UvbY=;
 h=X-UI-Sender-Class:From:To:Cc:Subject:In-Reply-To:References:Date:
 Message-ID:MIME-Version:Content-Type:Content-Transfer-Encoding:cc:
 content-transfer-encoding:content-type:date:from:message-id:
 mime-version:reply-to:subject:to;
 b=HBEY3B8c4YDkWZfvod43Xl5fxDwp9jgKZ9sGYXeXkpmb8RhR3WPS9QFy105qti9r
 Gnm3WQ58AcTTxb/PgDEbUozNDT4a5ZHxEwczV35Y/kGB5dDXlSB5t+bTrlFJ2XwOy
 pkinIkeEwy6gpUH4VNpa8iNnriMiobpXLzofeW3xCW80cmOrvqAw62X8dH4xS1O9T
 Sd8wo1AH0qiOXZAXZMDy+HNgU8dVrCJdy025lgBevcTvPx9FLlxKBz6n/eUxtwg03
 o51RHpFolQ3m57y0+6LBIfBVA8Xj897IPGSy1l/fUEdJCtkXiyTLC2Dt025w0RgQO
 0lw3XjCN4j/TEighAQ==
X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a
Received: from gandalf.gmx.de ([185.89.37.61]) by mail.gmx.net (mrgmx005
 [212.227.17.190]) with ESMTPSA (Nemesis) id 1MVvL5-1vAq9i3cWb-00WMu3; Wed, 06
 Aug 2025 15:31:27 +0200
From: Michael Albinus <michael.albinus@HIDDEN>
In-Reply-To: <f78a404bd4ba226608fa8ccbd57041595dcfef93@HIDDEN>
References: <87ikjgo13n.fsf@HIDDEN> <877bzwnxj5.fsf@HIDDEN>
 <4c29df968c7a437e5490cb8d644dacbe3f27651f@HIDDEN>
 <87o6t7mmoi.fsf@HIDDEN>
 <b788bbdc3a84d2f90fc1bd44232761b7dabea8ae@HIDDEN>
 <87y0s1g2ie.fsf@HIDDEN>
 <cb9787de81b522f673de9e062aae8ce47cf96545@HIDDEN>
 <87jz3kgatc.fsf@HIDDEN> <87pldaccge.fsf@HIDDEN>
 <f78a404bd4ba226608fa8ccbd57041595dcfef93@HIDDEN>
Date: Wed, 06 Aug 2025 15:31:27 +0200
Message-ID: <87jz3gbmq8.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-Provags-ID: V03:K1:geDg3tvDAzvydWZJ0eKHCV89VXosmhN3ho9kG4tPvMLw+eaOtDr
 L44sVCi8HxPQTdQJM22EhkddkRIvw+o83cM+K3ihqcHZ40lq6BKOBfQA5D/HzFTdzhRldey
 Btok+wNdFW3s0QuovwOohR5PmdLo62S8ltr8DGETDUQG7bavI7qe3wB5DbTdvVx1LNRYvQY
 WTI+DRmeMNYryW209/61w==
X-Spam-Flag: NO
UI-OutboundReport: notjunk:1;M01:P0:xeJhM/S/8xM=;YqJDwheWGHa7W+IUH8olw9xeIYz
 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
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: -0.7 (/)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.7 (-)

"Joe Sadusk" <joe@HIDDEN> writes:

Hi Joe,

> Sorry, I've been on a family vacation and haven't had a chance to
> test. I'm hoping to have some time today.=20

No problem, take your time.

Best regards, Michael.




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#79094: [wishlist] Optimizations for round trips in tramp
Resent-From: Michael Albinus <michael.albinus@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Tue, 26 Aug 2025 17:56:02 +0000
Resent-Message-ID: <handler.79094.B79094.175623093721041 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 79094
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: "Joe Sadusk" <joe@HIDDEN>
Cc: 79094 <at> debbugs.gnu.org
Received: via spool by 79094-submit <at> debbugs.gnu.org id=B79094.175623093721041
          (code B ref 79094); Tue, 26 Aug 2025 17:56:02 +0000
Received: (at 79094) by debbugs.gnu.org; 26 Aug 2025 17:55:37 +0000
Received: from localhost ([127.0.0.1]:56559 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1uqxtQ-0005TJ-Fq
	for submit <at> debbugs.gnu.org; Tue, 26 Aug 2025 13:55:36 -0400
Received: from mout.gmx.net ([212.227.17.22]:37817)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <michael.albinus@HIDDEN>)
 id 1uqxtM-0005T2-Cz
 for 79094 <at> debbugs.gnu.org; Tue, 26 Aug 2025 13:55:33 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmx.de;
 s=s31663417; t=1756230925; x=1756835725; i=michael.albinus@HIDDEN;
 bh=2jwWa5Qf0urXcrznE1FbNsacDE6NuD7cBf+uAUml7RU=;
 h=X-UI-Sender-Class:From:To:Cc:Subject:In-Reply-To:References:Date:
 Message-ID:MIME-Version:Content-Type:Content-Transfer-Encoding:cc:
 content-transfer-encoding:content-type:date:from:message-id:
 mime-version:reply-to:subject:to;
 b=cKG8M0FIU/vTZrDxU7u9D2FhzJ5mcGS8w1oQgUnhjtHMp6Of9Ucgenkb907eFx65
 JNR8C2pfQKbX5FUDdq52P4tXL9b75YOyitd3ImYrtcNMARRBU30CKd/cAcsO6wH4M
 gYOUwYaSB5IJWZG8whGIGEAHK4I3Y73VBIiAFhDSSkfF2B8TX7XdM/kZl+OFkQMfD
 1gk9ZyqczC4PLyEHD9kupAQzWzXsIa/JLZwjmZPcEMqxyBmvyq4xK+DDfNFCzzx4n
 b8evlsaAYm/kzqibbhMGp8oPVwNUKG8SAdIzwi+bXHW6jq0oP5rD941jzSTPF5djZ
 2Ij9O2gOQHJCne+Thw==
X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a
Received: from gandalf.gmx.de ([185.89.37.61]) by mail.gmx.net (mrgmx105
 [212.227.17.168]) with ESMTPSA (Nemesis) id 1N0XD2-1ucRHU3sbU-010PfM; Tue, 26
 Aug 2025 19:55:25 +0200
From: Michael Albinus <michael.albinus@HIDDEN>
In-Reply-To: <f78a404bd4ba226608fa8ccbd57041595dcfef93@HIDDEN>
References: <87ikjgo13n.fsf@HIDDEN> <877bzwnxj5.fsf@HIDDEN>
 <4c29df968c7a437e5490cb8d644dacbe3f27651f@HIDDEN>
 <87o6t7mmoi.fsf@HIDDEN>
 <b788bbdc3a84d2f90fc1bd44232761b7dabea8ae@HIDDEN>
 <87y0s1g2ie.fsf@HIDDEN>
 <cb9787de81b522f673de9e062aae8ce47cf96545@HIDDEN>
 <87jz3kgatc.fsf@HIDDEN> <87pldaccge.fsf@HIDDEN>
 <f78a404bd4ba226608fa8ccbd57041595dcfef93@HIDDEN>
Date: Tue, 26 Aug 2025 19:55:23 +0200
Message-ID: <87tt1uge7o.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-Provags-ID: V03:K1:4FioEgkpsSMvWOUbvDmyP9U6+dT5/5PaVa87qmAngEuEcfFD7/g
 vSlz6oxUGNUjRrTnjmy/lxlLymmP7jrszPzCWHtEDIJ2xlqhcdoJcMrcRnvCf2JXKnqp19S
 7utSG2rktpwYKsockv8qrlHkmKVpSuEMx9lmkG5EUsJisetF33cEzzCl9ekyft7wi18qA+/
 1dAkh7nmVYTcpKWBuNHXA==
X-Spam-Flag: NO
UI-OutboundReport: notjunk:1;M01:P0:eCiiMPCxu28=;vMF+ebvBUfyCqt1Zl+FSGr5FYIB
 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
 89Zw7ldmwVNlirLJQ6NaWpFM6JTO
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 0.0 (/)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

"Joe Sadusk" <joe@HIDDEN> writes:

Hi Joe,

> Sorry, I've been on a family vacation and haven't had a chance to
> test. I'm hoping to have some time today.=20

Is there something I could help?

Best regards, Michael.




Message sent:


MIME-Version: 1.0
X-Mailer: MIME-tools 5.505 (Entity 5.505)
X-Loop: help-debbugs@HIDDEN
From: help-debbugs@HIDDEN (GNU bug Tracking System)
To: Michael Albinus <michael.albinus@HIDDEN>
Subject: bug#79094: closed ([wishlist] Optimizations for round trips in tramp)
CC: tracker <at> debbugs.gnu.org
Message-ID: <handler.79094.D79094.176060053723846.ackdone <at> debbugs.gnu.org>
References: <87o6q78f92.fsf@HIDDEN> <87ikjgo13n.fsf@HIDDEN>
X-Gnu-PR-Message: closed 79094
X-Gnu-PR-Package: emacs
Date: Thu, 16 Oct 2025 07:43:02 +0000
Content-Type: multipart/mixed; boundary="----------=_1760600582-23929-0"

This is a multi-part message in MIME format...

------------=_1760600582-23929-0
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset=utf-8

Your message dated Thu, 16 Oct 2025 09:42:01 +0200
with message-id <87o6q78f92.fsf@HIDDEN>
and subject line Re: bug#79094: [wishlist] Optimizations for round trips in=
 tramp
has caused the debbugs.gnu.org bug report #79094,
regarding [wishlist] Optimizations for round trips in tramp
to be marked as done.

(If you believe you have received this mail in error, please contact
help-debbugs@HIDDEN)


--=20
79094: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D79094
GNU Bug Tracking System
Contact help-debbugs@HIDDEN with problems

------------=_1760600582-23929-0
Content-Type: message/rfc822
Content-Disposition: inline
Content-Transfer-Encoding: 7bit

Received: (at submit) by debbugs.gnu.org; 25 Jul 2025 13:24:32 +0000
Received: from localhost ([127.0.0.1]:33783 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1ufIPX-0004Zb-FM
	for submit <at> debbugs.gnu.org; Fri, 25 Jul 2025 09:24:32 -0400
Received: from lists.gnu.org ([2001:470:142::17]:32976)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <michael.albinus@HIDDEN>)
 id 1ufIPS-0004Z1-45
 for submit <at> debbugs.gnu.org; Fri, 25 Jul 2025 09:24:29 -0400
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 <michael.albinus@HIDDEN>)
 id 1ufIPA-0005Od-8h
 for bug-gnu-emacs@HIDDEN; Fri, 25 Jul 2025 09:24:15 -0400
Received: from mout.gmx.net ([212.227.17.20])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <michael.albinus@HIDDEN>)
 id 1ufIP2-0006fU-ES
 for bug-gnu-emacs@HIDDEN; Fri, 25 Jul 2025 09:24:07 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmx.de;
 s=s31663417; t=1753449837; x=1754054637; i=michael.albinus@HIDDEN;
 bh=dsf/4XtdmLY6KibbRQ1JYO3J7rpZIdZD1+q/lPJrXJM=;
 h=X-UI-Sender-Class:From:To:Subject:Date:Message-ID:MIME-Version:
 Content-Type:cc:content-transfer-encoding:content-type:date:from:
 message-id:mime-version:reply-to:subject:to;
 b=ch5sKnZC9xw2CxA7DNtqBfvLUXDGlr2c/zSOjFa56JeRZKvRs5ZdOhQTwnC5DO+e
 zEhAyzGzrwHKXv1bS4BEqNnhxhKEQ8VFoCjSSiz8R9JF5btwIKgAF9z+uoYIRgKcw
 wE/bhU31zhwe0E0VbdRdvdgq0CtCo3NkuMdIRW32vdKIWTT02+8aM106g8QUjyEWQ
 ImUj5GyfaTuWmhFiG4R6hbsWNTsrEfKQyRf08nywM9Itx/or1VSTxOq0VSbxzHhqP
 N/vh+RMbAx/D8YE+UHYE8pbZpeNPmppq54pqg8gGtEKYOAyqx6nxjBhlxFH/QQuik
 zFB8CQ2z+dnnK0ToJg==
X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a
Received: from gandalf.gmx.de ([185.89.37.61]) by mail.gmx.net (mrgmx105
 [212.227.17.168]) with ESMTPSA (Nemesis) id 1N4hvb-1uWjYw0fTz-016nMg for
 <bug-gnu-emacs@HIDDEN>; Fri, 25 Jul 2025 15:23:57 +0200
From: Michael Albinus <michael.albinus@HIDDEN>
To: bug-gnu-emacs@HIDDEN
Subject: [wishlist] Optimizations for round trips in tramp
X-Debbugs-Cc: "Joe Sadusk" <joe@HIDDEN>
Date: Fri, 25 Jul 2025 15:23:56 +0200
Message-ID: <87ikjgo13n.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="=-=-="
X-Provags-ID: V03:K1:SlmEpleUbuVm4Yq8/9+RgVDuX8wxwT83QbtJhffPXjI+JmYjPu5
 9vuG8rz1rb6+Pyaa8XP+L/USpObbtTbTx8rljqN9FzEzraz3XZu20PF/FI2OdARSwsSIStU
 U0IZ5EpdPQroJCH8bouTTHmzg4EFNB8MSmWLC8SdZ10qa4bgU5qeh0pYEB9lYskXNaKhVL/
 RuTMPrbpJLv1R+mvRUlVA==
X-Spam-Flag: NO
UI-OutboundReport: notjunk:1;M01:P0:2s40iBuh1AM=;Xp488pBfbJ2LY34+UEWwUlShryb
 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
Received-SPF: pass client-ip=212.227.17.20;
 envelope-from=michael.albinus@HIDDEN; helo=mout.gmx.net
X-Spam_score_int: -27
X-Spam_score: -2.8
X-Spam_bar: --
X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1,
 DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001,
 HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H4=0.001,
 RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001,
 RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001, SPF_HELO_NONE=0.001,
 SPF_PASS=-0.001 autolearn=ham autolearn_force=no
X-Spam_action: no action
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: submit
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

--=-=-=
Content-Type: text/plain


-------------------- Start of forwarded message --------------------
From: "Joe Sadusk" <joe@HIDDEN>
Subject: Optimizations for round trips in tramp
Date: Wed, 23 Jul 2025 17:30:53 +0000
To: emacs-devel@HIDDEN


--=-=-=
Content-Type: multipart/alternative; boundary="==-=-="

--==-=-=
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

Hi, long time emacs user, first time contributor. I maintain an emacs confi=
g for my company's dev environment, which is primarily using remote worksta=
tions, so the config makes heavy use of tramp. I did some digging to find t=
he source of some pauses and delays that happen during navigation and file =
open, particularly when remote dir-locals are enabled. And I found that a m=
ajor piece of these pauses comes from calls to locate-dominating-file. This=
 function doesn't have a tramp specific implementation, and so it loops in =
lisp, making many small tramp calls for things like expand-file-name, file-=
exists-p, file-directory-p, each of which issue a tramp-send-command and in=
cur a round-trip to the server.

My remote workstation connection has somewhat bad latency, each tramp round=
trip appears to take around 0.15s. Clocking a call to do (locate-dominating=
-file "/some/file/deep/in/a/repo" ".git") took over 2 seconds. This gets ev=
en worse when locate-dominating-file is used by dir-locals-find-file, becau=
se it uses the predicate form of locate-dominating-file, and the predicate =
does multiple tramp round trips itself. (dir-locals-find-file=C2=A0"/some/f=
ile/deep/in/a/repo") took over 3 seconds. This kind of a delay pops up when=
 opening a file, reverting, traversing directories, making the dev experien=
ce much less fluid.

So I did an experiment to see if I could implement these operations to use =
a single tramp round-trip, or as few as possible. The result is here:
https://github.com/jsadusk/tramp-hlo

The result is a huge improvement. dir-locals-find-file went from 3+ seconds=
 to 0.18 seconds, with only 1 or 2 tramp-send-commands. This also hugely sp=
eeds up vc-mode, which many people turn off for tramp to optmize speed. Min=
d you, this is on my workstation, which is a fairly stock Ubuntu 22.04 mach=
ine. I haven't tested this on the myriad of environments tramp has to work =
with. I'm sure there are edge cases I'm missing. But its working great for =
me, so I'm treating this as a proof of concept. I also wrote this as an adv=
ice function rather than a tramp handler, so I could turn it on and off eas=
ily. A real version of this would be vetted across many environments and be=
 properly integrated with tramp-sh.el.=C2=A0

So I wanted to see what people think about this approach and if its worth t=
urning into a real patch for tramp? And if there's any advice on making it =
more comprehensive? Also, I'm searching out other higher level operations t=
hat could be made into server side tramp scripts, if anyone knows of some g=
ood targets.

So please, comment, critique, tell me I'm doing it wrong, or give me the go=
ahead and I'll be happy to make a patch.=C2=A0

Joe Sadusk
--==-=-=
Content-Type: text/html; charset=utf-8
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE html><html><head><meta http-equiv=3D"Content-Type" content=3D"tex=
t/html; charset=3Dutf-8"></head><body><div>Hi, long time emacs user, first =
time contributor. I maintain an emacs config for my company's dev environme=
nt, which is primarily using remote workstations, so the config makes heavy=
 use of tramp. I did some digging to find the source of some pauses and del=
ays that happen during navigation and file open, particularly when remote d=
ir-locals are enabled. And I found that a major piece of these pauses comes=
 from calls to locate-dominating-file. This function doesn't have a tramp s=
pecific implementation, and so it loops in lisp, making many small tramp ca=
lls for things like expand-file-name, file-exists-p, file-directory-p, each=
 of which issue a tramp-send-command and incur a round-trip to the server.<=
/div><div><br></div><div>My remote workstation connection has somewhat bad =
latency, each tramp roundtrip appears to take around 0.15s. Clocking a call=
 to do (locate-dominating-file "/some/file/deep/in/a/repo" ".git") took ove=
r 2 seconds. This gets even worse when locate-dominating-file is used by di=
r-locals-find-file, because it uses the predicate form of locate-dominating=
-file, and the predicate does multiple tramp round trips itself. (dir-local=
s-find-file=C2=A0"/some/file/deep/in/a/repo") took over 3 seconds. This kin=
d of a delay pops up when opening a file, reverting, traversing directories=
, making the dev experience much less fluid.</div><div><br></div><div>So I =
did an experiment to see if I could implement these operations to use a sin=
gle tramp round-trip, or as few as possible. The result is here:</div><div>=
<a href=3D"https://github.com/jsadusk/tramp-hlo">https://github.com/jsadusk=
/tramp-hlo</a></div><div><br></div><div>The result is a huge improvement. d=
ir-locals-find-file went from 3+ seconds to 0.18 seconds, with only 1 or 2 =
tramp-send-commands. This also hugely speeds up vc-mode, which many people =
turn off for tramp to optmize speed. Mind you, this is on my workstation, w=
hich is a fairly stock Ubuntu 22.04 machine. I haven't tested this on the m=
yriad of environments tramp has to work with. I'm sure there are edge cases=
 I'm missing. But its working great for me, so I'm treating this as a proof=
 of concept. I also wrote this as an advice function rather than a tramp ha=
ndler, so I could turn it on and off easily. A real version of this would b=
e vetted across many environments and be properly integrated with tramp-sh.=
el.=C2=A0</div><div><br></div><div>So I wanted to see what people think abo=
ut this approach and if its worth turning into a real patch for tramp? And =
if there's any advice on making it more comprehensive? Also, I'm searching =
out other higher level operations that could be made into server side tramp=
 scripts, if anyone knows of some good targets.</div><div><br></div><div>So=
 please, comment, critique, tell me I'm doing it wrong, or give me the goah=
ead and I'll be happy to make a patch.=C2=A0</div><div><br></div><div>Joe S=
adusk</div></body></html>
--==-=-=--

--=-=-=
Content-Type: text/plain

-------------------- End of forwarded message --------------------

--=-=-=--



------------=_1760600582-23929-0
Content-Type: message/rfc822
Content-Disposition: inline
Content-Transfer-Encoding: 7bit

Received: (at 79094-done) by debbugs.gnu.org; 16 Oct 2025 07:42:17 +0000
Received: from localhost ([127.0.0.1]:33734 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1v9Icq-0006CX-LL
	for submit <at> debbugs.gnu.org; Thu, 16 Oct 2025 03:42:16 -0400
Received: from mout.gmx.net ([212.227.17.22]:53683)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <michael.albinus@HIDDEN>)
 id 1v9Icm-0006CF-0A
 for 79094-done <at> debbugs.gnu.org; Thu, 16 Oct 2025 03:42:13 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmx.de;
 s=s31663417; t=1760600522; x=1761205322; i=michael.albinus@HIDDEN;
 bh=fwof2/2tsg67S490lNgDvICyclK6f8dALhtKvojKVfc=;
 h=X-UI-Sender-Class:From:To:Cc:Subject:In-Reply-To:References:Date:
 Message-ID:MIME-Version:Content-Type:Content-Transfer-Encoding:cc:
 content-transfer-encoding:content-type:date:from:message-id:
 mime-version:reply-to:subject:to;
 b=uaZqAqSRsnfOHkEwxgdlVzsiTM51c6Qy3eF0IC93FRtyn5PkqGi38f0td4ZdP/+M
 2WsPmo6i7XUCM0+YRvONUCSv7xg8AKC9BZN+7BP8hURUBY8AJ2rQzCXzyENzXEkwp
 EQtDc7P8e/3r/QhwJ3IrSGz1HR/YNe3X125TnK/T4dea1lfw7nuhF6awst2YkAC71
 9P0hfnF7mid+e60DgN3NyE9r2R8R+kV461w+W9X5wW6RLC6qX+1DDGV4Ysf4WBZn7
 JCWcR3eYJZDBGb0K+wAyVDfU95KmCPrIQqcs8XTVwpKEYmfjLVx5rtQ2viE2x8D3H
 TTG0CvdCFSANXuCTfw==
X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a
Received: from gandalf.gmx.de ([185.89.37.61]) by mail.gmx.net (mrgmx105
 [212.227.17.168]) with ESMTPSA (Nemesis) id 1MWRRT-1uhaTJ1sRX-00YhqC; Thu, 16
 Oct 2025 09:42:02 +0200
From: Michael Albinus <michael.albinus@HIDDEN>
To: "Joe Sadusk" <joe@HIDDEN>
Subject: Re: bug#79094: [wishlist] Optimizations for round trips in tramp
In-Reply-To: <87tt1uge7o.fsf@HIDDEN>
References: <87ikjgo13n.fsf@HIDDEN> <877bzwnxj5.fsf@HIDDEN>
 <4c29df968c7a437e5490cb8d644dacbe3f27651f@HIDDEN>
 <87o6t7mmoi.fsf@HIDDEN>
 <b788bbdc3a84d2f90fc1bd44232761b7dabea8ae@HIDDEN>
 <87y0s1g2ie.fsf@HIDDEN>
 <cb9787de81b522f673de9e062aae8ce47cf96545@HIDDEN>
 <87jz3kgatc.fsf@HIDDEN> <87pldaccge.fsf@HIDDEN>
 <f78a404bd4ba226608fa8ccbd57041595dcfef93@HIDDEN>
 <87tt1uge7o.fsf@HIDDEN>
Date: Thu, 16 Oct 2025 09:42:01 +0200
Message-ID: <87o6q78f92.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-Provags-ID: V03:K1:NBJrXlnE3++3dYm+YQ3hqaKvS948tP7jFHFytySfB23pQIgqCIG
 eUADHZv7216d5H4MpkNadU6ntiKrAmOOkLAUG917i7890qg8C4HEZgtC9kprDVnRJ8vKFBC
 SYP+ZPX5izPYY7kpfIc/ABPdDvfYZ65x7kzqy679PFQOaJC8048vw/CxywDhpCcJ6Uz6mRJ
 KSeBHJ2byzJs+zSlZyMgw==
X-Spam-Flag: NO
UI-OutboundReport: notjunk:1;M01:P0:N2Y82PlsdYg=;O5Jr6pAok+oYqD/c8KAdSmpRoXL
 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
 TfTHgCsBe8WFtJQ3hXef3yogEuelLjq9jNA=
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 79094-done
Cc: 79094-done <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.7 (-)

Version: 31.1

Michael Albinus <michael.albinus@HIDDEN> writes:

Hi Joe,

>> Sorry, I've been on a family vacation and haven't had a chance to
>> test. I'm hoping to have some time today.=20
>
> Is there something I could help?

Well, no further problem reported for weeks. I'll close the bug; pls
report if you see problems with Tramp's implementation of the new mechanis=
m.

Btw, I haven't seen your name yet on the list of FSF contributors. Do
you have problems in getting copyright papers from FSF?

Best regards, Michael.


------------=_1760600582-23929-0--


Message sent:


MIME-Version: 1.0
X-Mailer: MIME-tools 5.505 (Entity 5.505)
X-Loop: help-debbugs@HIDDEN
From: help-debbugs@HIDDEN (GNU bug Tracking System)
To: "Joe Sadusk" <joe@HIDDEN>
Subject: bug#79094: closed (Re: bug#79094: [wishlist] Optimizations for
 round trips in tramp)
Message-ID: <handler.79094.D79094.176060053723846.notifdone <at> debbugs.gnu.org>
References: <87o6q78f92.fsf@HIDDEN> <87ikjgo13n.fsf@HIDDEN>
X-Gnu-PR-Message: they-closed 79094
X-Gnu-PR-Package: emacs
Reply-To: 79094 <at> debbugs.gnu.org
Date: Thu, 16 Oct 2025 07:43:02 +0000
Content-Type: multipart/mixed; boundary="----------=_1760600582-23929-1"

This is a multi-part message in MIME format...

------------=_1760600582-23929-1
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset="utf-8"

Your bug report

#79094: [wishlist] Optimizations for round trips in tramp

which was filed against the emacs package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to 79094 <at> debbugs.gnu.org.

--=20
79094: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D79094
GNU Bug Tracking System
Contact help-debbugs@HIDDEN with problems

------------=_1760600582-23929-1
Content-Type: message/rfc822
Content-Disposition: inline
Content-Transfer-Encoding: 7bit

Received: (at 79094-done) by debbugs.gnu.org; 16 Oct 2025 07:42:17 +0000
Received: from localhost ([127.0.0.1]:33734 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1v9Icq-0006CX-LL
	for submit <at> debbugs.gnu.org; Thu, 16 Oct 2025 03:42:16 -0400
Received: from mout.gmx.net ([212.227.17.22]:53683)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <michael.albinus@HIDDEN>)
 id 1v9Icm-0006CF-0A
 for 79094-done <at> debbugs.gnu.org; Thu, 16 Oct 2025 03:42:13 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmx.de;
 s=s31663417; t=1760600522; x=1761205322; i=michael.albinus@HIDDEN;
 bh=fwof2/2tsg67S490lNgDvICyclK6f8dALhtKvojKVfc=;
 h=X-UI-Sender-Class:From:To:Cc:Subject:In-Reply-To:References:Date:
 Message-ID:MIME-Version:Content-Type:Content-Transfer-Encoding:cc:
 content-transfer-encoding:content-type:date:from:message-id:
 mime-version:reply-to:subject:to;
 b=uaZqAqSRsnfOHkEwxgdlVzsiTM51c6Qy3eF0IC93FRtyn5PkqGi38f0td4ZdP/+M
 2WsPmo6i7XUCM0+YRvONUCSv7xg8AKC9BZN+7BP8hURUBY8AJ2rQzCXzyENzXEkwp
 EQtDc7P8e/3r/QhwJ3IrSGz1HR/YNe3X125TnK/T4dea1lfw7nuhF6awst2YkAC71
 9P0hfnF7mid+e60DgN3NyE9r2R8R+kV461w+W9X5wW6RLC6qX+1DDGV4Ysf4WBZn7
 JCWcR3eYJZDBGb0K+wAyVDfU95KmCPrIQqcs8XTVwpKEYmfjLVx5rtQ2viE2x8D3H
 TTG0CvdCFSANXuCTfw==
X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a
Received: from gandalf.gmx.de ([185.89.37.61]) by mail.gmx.net (mrgmx105
 [212.227.17.168]) with ESMTPSA (Nemesis) id 1MWRRT-1uhaTJ1sRX-00YhqC; Thu, 16
 Oct 2025 09:42:02 +0200
From: Michael Albinus <michael.albinus@HIDDEN>
To: "Joe Sadusk" <joe@HIDDEN>
Subject: Re: bug#79094: [wishlist] Optimizations for round trips in tramp
In-Reply-To: <87tt1uge7o.fsf@HIDDEN>
References: <87ikjgo13n.fsf@HIDDEN> <877bzwnxj5.fsf@HIDDEN>
 <4c29df968c7a437e5490cb8d644dacbe3f27651f@HIDDEN>
 <87o6t7mmoi.fsf@HIDDEN>
 <b788bbdc3a84d2f90fc1bd44232761b7dabea8ae@HIDDEN>
 <87y0s1g2ie.fsf@HIDDEN>
 <cb9787de81b522f673de9e062aae8ce47cf96545@HIDDEN>
 <87jz3kgatc.fsf@HIDDEN> <87pldaccge.fsf@HIDDEN>
 <f78a404bd4ba226608fa8ccbd57041595dcfef93@HIDDEN>
 <87tt1uge7o.fsf@HIDDEN>
Date: Thu, 16 Oct 2025 09:42:01 +0200
Message-ID: <87o6q78f92.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-Provags-ID: V03:K1:NBJrXlnE3++3dYm+YQ3hqaKvS948tP7jFHFytySfB23pQIgqCIG
 eUADHZv7216d5H4MpkNadU6ntiKrAmOOkLAUG917i7890qg8C4HEZgtC9kprDVnRJ8vKFBC
 SYP+ZPX5izPYY7kpfIc/ABPdDvfYZ65x7kzqy679PFQOaJC8048vw/CxywDhpCcJ6Uz6mRJ
 KSeBHJ2byzJs+zSlZyMgw==
X-Spam-Flag: NO
UI-OutboundReport: notjunk:1;M01:P0:N2Y82PlsdYg=;O5Jr6pAok+oYqD/c8KAdSmpRoXL
 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
 TfTHgCsBe8WFtJQ3hXef3yogEuelLjq9jNA=
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 79094-done
Cc: 79094-done <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.7 (-)

Version: 31.1

Michael Albinus <michael.albinus@HIDDEN> writes:

Hi Joe,

>> Sorry, I've been on a family vacation and haven't had a chance to
>> test. I'm hoping to have some time today.=20
>
> Is there something I could help?

Well, no further problem reported for weeks. I'll close the bug; pls
report if you see problems with Tramp's implementation of the new mechanis=
m.

Btw, I haven't seen your name yet on the list of FSF contributors. Do
you have problems in getting copyright papers from FSF?

Best regards, Michael.


------------=_1760600582-23929-1
Content-Type: message/rfc822
Content-Disposition: inline
Content-Transfer-Encoding: 7bit

Received: (at submit) by debbugs.gnu.org; 25 Jul 2025 13:24:32 +0000
Received: from localhost ([127.0.0.1]:33783 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1ufIPX-0004Zb-FM
	for submit <at> debbugs.gnu.org; Fri, 25 Jul 2025 09:24:32 -0400
Received: from lists.gnu.org ([2001:470:142::17]:32976)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <michael.albinus@HIDDEN>)
 id 1ufIPS-0004Z1-45
 for submit <at> debbugs.gnu.org; Fri, 25 Jul 2025 09:24:29 -0400
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 <michael.albinus@HIDDEN>)
 id 1ufIPA-0005Od-8h
 for bug-gnu-emacs@HIDDEN; Fri, 25 Jul 2025 09:24:15 -0400
Received: from mout.gmx.net ([212.227.17.20])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <michael.albinus@HIDDEN>)
 id 1ufIP2-0006fU-ES
 for bug-gnu-emacs@HIDDEN; Fri, 25 Jul 2025 09:24:07 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmx.de;
 s=s31663417; t=1753449837; x=1754054637; i=michael.albinus@HIDDEN;
 bh=dsf/4XtdmLY6KibbRQ1JYO3J7rpZIdZD1+q/lPJrXJM=;
 h=X-UI-Sender-Class:From:To:Subject:Date:Message-ID:MIME-Version:
 Content-Type:cc:content-transfer-encoding:content-type:date:from:
 message-id:mime-version:reply-to:subject:to;
 b=ch5sKnZC9xw2CxA7DNtqBfvLUXDGlr2c/zSOjFa56JeRZKvRs5ZdOhQTwnC5DO+e
 zEhAyzGzrwHKXv1bS4BEqNnhxhKEQ8VFoCjSSiz8R9JF5btwIKgAF9z+uoYIRgKcw
 wE/bhU31zhwe0E0VbdRdvdgq0CtCo3NkuMdIRW32vdKIWTT02+8aM106g8QUjyEWQ
 ImUj5GyfaTuWmhFiG4R6hbsWNTsrEfKQyRf08nywM9Itx/or1VSTxOq0VSbxzHhqP
 N/vh+RMbAx/D8YE+UHYE8pbZpeNPmppq54pqg8gGtEKYOAyqx6nxjBhlxFH/QQuik
 zFB8CQ2z+dnnK0ToJg==
X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a
Received: from gandalf.gmx.de ([185.89.37.61]) by mail.gmx.net (mrgmx105
 [212.227.17.168]) with ESMTPSA (Nemesis) id 1N4hvb-1uWjYw0fTz-016nMg for
 <bug-gnu-emacs@HIDDEN>; Fri, 25 Jul 2025 15:23:57 +0200
From: Michael Albinus <michael.albinus@HIDDEN>
To: bug-gnu-emacs@HIDDEN
Subject: [wishlist] Optimizations for round trips in tramp
X-Debbugs-Cc: "Joe Sadusk" <joe@HIDDEN>
Date: Fri, 25 Jul 2025 15:23:56 +0200
Message-ID: <87ikjgo13n.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="=-=-="
X-Provags-ID: V03:K1:SlmEpleUbuVm4Yq8/9+RgVDuX8wxwT83QbtJhffPXjI+JmYjPu5
 9vuG8rz1rb6+Pyaa8XP+L/USpObbtTbTx8rljqN9FzEzraz3XZu20PF/FI2OdARSwsSIStU
 U0IZ5EpdPQroJCH8bouTTHmzg4EFNB8MSmWLC8SdZ10qa4bgU5qeh0pYEB9lYskXNaKhVL/
 RuTMPrbpJLv1R+mvRUlVA==
X-Spam-Flag: NO
UI-OutboundReport: notjunk:1;M01:P0:2s40iBuh1AM=;Xp488pBfbJ2LY34+UEWwUlShryb
 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
Received-SPF: pass client-ip=212.227.17.20;
 envelope-from=michael.albinus@HIDDEN; helo=mout.gmx.net
X-Spam_score_int: -27
X-Spam_score: -2.8
X-Spam_bar: --
X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1,
 DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001,
 HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H4=0.001,
 RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001,
 RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001, SPF_HELO_NONE=0.001,
 SPF_PASS=-0.001 autolearn=ham autolearn_force=no
X-Spam_action: no action
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: submit
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

--=-=-=
Content-Type: text/plain


-------------------- Start of forwarded message --------------------
From: "Joe Sadusk" <joe@HIDDEN>
Subject: Optimizations for round trips in tramp
Date: Wed, 23 Jul 2025 17:30:53 +0000
To: emacs-devel@HIDDEN


--=-=-=
Content-Type: multipart/alternative; boundary="==-=-="

--==-=-=
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

Hi, long time emacs user, first time contributor. I maintain an emacs confi=
g for my company's dev environment, which is primarily using remote worksta=
tions, so the config makes heavy use of tramp. I did some digging to find t=
he source of some pauses and delays that happen during navigation and file =
open, particularly when remote dir-locals are enabled. And I found that a m=
ajor piece of these pauses comes from calls to locate-dominating-file. This=
 function doesn't have a tramp specific implementation, and so it loops in =
lisp, making many small tramp calls for things like expand-file-name, file-=
exists-p, file-directory-p, each of which issue a tramp-send-command and in=
cur a round-trip to the server.

My remote workstation connection has somewhat bad latency, each tramp round=
trip appears to take around 0.15s. Clocking a call to do (locate-dominating=
-file "/some/file/deep/in/a/repo" ".git") took over 2 seconds. This gets ev=
en worse when locate-dominating-file is used by dir-locals-find-file, becau=
se it uses the predicate form of locate-dominating-file, and the predicate =
does multiple tramp round trips itself. (dir-locals-find-file=C2=A0"/some/f=
ile/deep/in/a/repo") took over 3 seconds. This kind of a delay pops up when=
 opening a file, reverting, traversing directories, making the dev experien=
ce much less fluid.

So I did an experiment to see if I could implement these operations to use =
a single tramp round-trip, or as few as possible. The result is here:
https://github.com/jsadusk/tramp-hlo

The result is a huge improvement. dir-locals-find-file went from 3+ seconds=
 to 0.18 seconds, with only 1 or 2 tramp-send-commands. This also hugely sp=
eeds up vc-mode, which many people turn off for tramp to optmize speed. Min=
d you, this is on my workstation, which is a fairly stock Ubuntu 22.04 mach=
ine. I haven't tested this on the myriad of environments tramp has to work =
with. I'm sure there are edge cases I'm missing. But its working great for =
me, so I'm treating this as a proof of concept. I also wrote this as an adv=
ice function rather than a tramp handler, so I could turn it on and off eas=
ily. A real version of this would be vetted across many environments and be=
 properly integrated with tramp-sh.el.=C2=A0

So I wanted to see what people think about this approach and if its worth t=
urning into a real patch for tramp? And if there's any advice on making it =
more comprehensive? Also, I'm searching out other higher level operations t=
hat could be made into server side tramp scripts, if anyone knows of some g=
ood targets.

So please, comment, critique, tell me I'm doing it wrong, or give me the go=
ahead and I'll be happy to make a patch.=C2=A0

Joe Sadusk
--==-=-=
Content-Type: text/html; charset=utf-8
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE html><html><head><meta http-equiv=3D"Content-Type" content=3D"tex=
t/html; charset=3Dutf-8"></head><body><div>Hi, long time emacs user, first =
time contributor. I maintain an emacs config for my company's dev environme=
nt, which is primarily using remote workstations, so the config makes heavy=
 use of tramp. I did some digging to find the source of some pauses and del=
ays that happen during navigation and file open, particularly when remote d=
ir-locals are enabled. And I found that a major piece of these pauses comes=
 from calls to locate-dominating-file. This function doesn't have a tramp s=
pecific implementation, and so it loops in lisp, making many small tramp ca=
lls for things like expand-file-name, file-exists-p, file-directory-p, each=
 of which issue a tramp-send-command and incur a round-trip to the server.<=
/div><div><br></div><div>My remote workstation connection has somewhat bad =
latency, each tramp roundtrip appears to take around 0.15s. Clocking a call=
 to do (locate-dominating-file "/some/file/deep/in/a/repo" ".git") took ove=
r 2 seconds. This gets even worse when locate-dominating-file is used by di=
r-locals-find-file, because it uses the predicate form of locate-dominating=
-file, and the predicate does multiple tramp round trips itself. (dir-local=
s-find-file=C2=A0"/some/file/deep/in/a/repo") took over 3 seconds. This kin=
d of a delay pops up when opening a file, reverting, traversing directories=
, making the dev experience much less fluid.</div><div><br></div><div>So I =
did an experiment to see if I could implement these operations to use a sin=
gle tramp round-trip, or as few as possible. The result is here:</div><div>=
<a href=3D"https://github.com/jsadusk/tramp-hlo">https://github.com/jsadusk=
/tramp-hlo</a></div><div><br></div><div>The result is a huge improvement. d=
ir-locals-find-file went from 3+ seconds to 0.18 seconds, with only 1 or 2 =
tramp-send-commands. This also hugely speeds up vc-mode, which many people =
turn off for tramp to optmize speed. Mind you, this is on my workstation, w=
hich is a fairly stock Ubuntu 22.04 machine. I haven't tested this on the m=
yriad of environments tramp has to work with. I'm sure there are edge cases=
 I'm missing. But its working great for me, so I'm treating this as a proof=
 of concept. I also wrote this as an advice function rather than a tramp ha=
ndler, so I could turn it on and off easily. A real version of this would b=
e vetted across many environments and be properly integrated with tramp-sh.=
el.=C2=A0</div><div><br></div><div>So I wanted to see what people think abo=
ut this approach and if its worth turning into a real patch for tramp? And =
if there's any advice on making it more comprehensive? Also, I'm searching =
out other higher level operations that could be made into server side tramp=
 scripts, if anyone knows of some good targets.</div><div><br></div><div>So=
 please, comment, critique, tell me I'm doing it wrong, or give me the goah=
ead and I'll be happy to make a patch.=C2=A0</div><div><br></div><div>Joe S=
adusk</div></body></html>
--==-=-=--

--=-=-=
Content-Type: text/plain

-------------------- End of forwarded message --------------------

--=-=-=--



------------=_1760600582-23929-1--


Message received at fakecontrol@fakecontrolmessage:


Received: (at fakecontrol) by fakecontrolmessage;
To: internal_control <at> debbugs.gnu.org
From: Debbugs Internal Request <help-debbugs@HIDDEN>
Subject: Internal Control
Message-Id: bug No longer marked as fixed in versions 31.1 and reopened.
Date: Sun, 26 Oct 2025 11:29:01 +0000
User-Agent: Fakemail v42.6.9

# This is a fake control message.
#
# The action:
# bug No longer marked as fixed in versions 31.1 and reopened.
thanks
# This fakemail brought to you by your local debbugs
# administrator



Last modified: Sun, 26 Oct 2025 11:30:03 UTC

GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997 nCipher Corporation Ltd, 1994-97 Ian Jackson.