GNU bug report logs - #79094
[wishlist] Optimizations for round trips in tramp

Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.

Package: emacs; Severity: wishlist; Reported by: "Joe Sadusk" <joe@HIDDEN>; dated Fri, 25 Jul 2025 13:25:02 UTC; Maintainer for emacs is bug-gnu-emacs@HIDDEN.

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


Received: (at 79094) by debbugs.gnu.org; 9 Nov 2025 12:22:23 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun Nov 09 07:22:23 2025
Received: from localhost ([127.0.0.1]:58697 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1vI4R5-0008Cr-Jd
	for submit <at> debbugs.gnu.org; Sun, 09 Nov 2025 07:22:23 -0500
Received: from mout.gmx.net ([212.227.17.22]:43693)
 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 1vI4R2-0008CZ-7N
 for 79094 <at> debbugs.gnu.org; Sun, 09 Nov 2025 07:22:21 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmx.de;
 s=s31663417; t=1762690931; x=1763295731; i=michael.albinus@HIDDEN;
 bh=jUxSIKUQOJB5yotrmMdYLa6YJ4Y+j+OvDia/qEyB0Yw=;
 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=Ann8Hxe9k7XgugyQbaPIilWEqqZYNSfMZO7tBCGRhzKsYSS+OcQfNn7gKbLZuJQd
 PWGurXwdLOsdJxIGAGJ3gqWEZNAojYa7du+Ab7gcCtwSOGXDF/1sGG/iabZRHY5xQ
 V8quGhnccfSlBraf+spxSIykZSKWvAxTXBVVlRQ0uGXJkNbM0stOjIeWnWpuWVFU7
 jCWym2FfubEpDB07vKxSmq3/KIGuGuthDZV20FYOzJd8hrej3V40yv0ZR8BBURUtp
 wnN7secnxIkgP/Nnsjf9jo5mpMC6oxKUVaplt1avX5Oh3cfov5v1a1FrwQOx1Fmr1
 J1JFjkRu1BeRSoZnmA==
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 1MtfJX-1wCvNc15aB-00zgcU; Sun, 09
 Nov 2025 13:22:11 +0100
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: <873474n04v.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> <87o6q78f92.fsf@HIDDEN>
 <9E349059-5324-4D91-8092-A3A5BF47CB9C@HIDDEN>
 <87ecr197sd.fsf@HIDDEN>
 <33be758bfb73dfb3088d9bfa37dc3f7e8fbc991c@HIDDEN>
 <87zf9dna6c.fsf@HIDDEN>
 <f30954d4e4c3f6387e3408d0649fb548d9b85f9c@HIDDEN>
 <873474n04v.fsf@HIDDEN>
Date: Sun, 09 Nov 2025 13:22:10 +0100
Message-ID: <87ikfj5rbh.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-Provags-ID: V03:K1:+zGyO6RHTdV1C5lymFloF2EyjSJEjyiFJjHY7ZOS+PKlc+1vRWA
 fhRc+GvQtPQ3MQQ+eEKNjtT7jysA99MQjTC0V6KkkLFOF+6Vt6xq76d6lndpiFOKR/97TDq
 m3AfKsHgyayQvhLgzimOdNkNJfOo7Uls0druA8JyXK+uKbghOBNOXtinLZOeiUDB2e7nRFY
 D86nV0VZX1KcOH3eBwZRw==
X-Spam-Flag: NO
UI-OutboundReport: notjunk:1;M01:P0:zkO/RQ0FjmQ=;K1G2Rux5UmM0YX/NS8+UYMxK5gP
 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
 ghihlEHDhc7gN1lkqGOflJMC30=
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 79094
Cc: 79094 <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 (-)

Michael Albinus <michael.albinus@HIDDEN> writes:

Hi Joe,

just a heads-up. I've fixed a long-standing bug in tramp-expand-script,
which let the SCRIPT argument run through format-spec, or not. As a
result, it was kinda undecided, whether the script expands "%" format
specifiers.

As a result, you must now double all literal "%" characters in your own
shell scripts, in order to keep them.

Best regards, Michael.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#79094; Package emacs. Full text available.

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


Received: (at 79094) by debbugs.gnu.org; 27 Oct 2025 09:51:32 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Oct 27 05:51:32 2025
Received: from localhost ([127.0.0.1]:48021 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1vDJsw-0002pC-TH
	for submit <at> debbugs.gnu.org; Mon, 27 Oct 2025 05:51:31 -0400
Received: from mout.gmx.net ([212.227.15.15]:57603)
 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 1vDJsp-0002od-17
 for 79094 <at> debbugs.gnu.org; Mon, 27 Oct 2025 05:51:26 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmx.de;
 s=s31663417; t=1761558673; x=1762163473; i=michael.albinus@HIDDEN;
 bh=YifsJVg3tH3SqtFKJZs6hVBNQ3JxAKr7STWDeWV5TC0=;
 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=RaPDidN/2SoWUAcaXjOydHBVFJnHHd3bpO2w4OWJ/MXPSb3kwkHOf/1kRyCdBIl4
 s/mUf24ZqJnuQs28V4iVIYp9BrAgYDFFWUQSe8pmSLWbimrE99p9ydxFeHopfJpMT
 Pbwu2JVlV95TgW34V32ortaBWk2ZWlYXhR1yIHtpn+o8EuPr2dsM5aTYudkxtxZqV
 JvMtBmWlcZyZrzetQRyO3KbiLxu0hDQyrkQbudjYZPMpG2QkvAzIVI0E/kGILcYjG
 yJ2d7Wxmz07OuXdu+vAVoMura99wNC7D0n/sdgew/H3bgjqdFclJJBvSrYTTC3J9g
 uL6yUwhVmsq+e1A94w==
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 1N79yQ-1u69nx0dDw-013YtI; Mon, 27
 Oct 2025 10:51:13 +0100
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: <f30954d4e4c3f6387e3408d0649fb548d9b85f9c@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> <87o6q78f92.fsf@HIDDEN>
 <9E349059-5324-4D91-8092-A3A5BF47CB9C@HIDDEN>
 <87ecr197sd.fsf@HIDDEN>
 <33be758bfb73dfb3088d9bfa37dc3f7e8fbc991c@HIDDEN>
 <87zf9dna6c.fsf@HIDDEN>
 <f30954d4e4c3f6387e3408d0649fb548d9b85f9c@HIDDEN>
Date: Mon, 27 Oct 2025 10:51:12 +0100
Message-ID: <873474n04v.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-Provags-ID: V03:K1:A1CWqvHBoTAzVxBFQlRPAbrOzrT722nm3sfQR3THWgfZsPM/yR8
 bYGBAdMmtO8INyWcLfl0gtr15N3Kgv06Xv3I5f6ywGGO8yTkEmLyrEh8giuu+tCBfyFJbd3
 XRdeICmTytla6E1Iv1gLq8eQcrQBgQcr1H2SGFljrJSGxw3O22RNCn41IHaspeUCdtyN0+G
 +EqfM5HMJEZ2jJ4ifD9Uw==
X-Spam-Flag: NO
UI-OutboundReport: notjunk:1;M01:P0:wFfeNZobb6k=;pCLM2RThRnVwnLD8nUpsHa4zLqj
 bumW2f7zcPj038CPcnGA8R6v0IdgPMbx7Bwva0t+VPT4VLHkvOYtB0FMhzCU1guHUM6NnNLlb
 2WubVFh+yRXS0bh/20ifKKS/V+nlbiq1Aa4MlowfAI7+wVoq4x1mIu+Iq6qDNLevUJX1Dsyxt
 vCKlrGo+AI613uOxeMzkCW36DP1aG+rbY4cRSCWoZXCcyg3jJIinbhew1aFT5PNjhbo3oM6Xj
 gvl9RCAnxZ7+QDNPvainh7pwVagfg9X47DflUb4nD+IQaqKCMEtbkHsFuQywm0B1GHa0YJny8
 aZYRl9CEii+1USph39ROVd5argmjK/JXBiei5qcLVSKV9OP/Xy8U3yuDUt4DMHGmfGH6tHjo0
 NHr2ySdYS4mXvEQw6/tWSFKHxKoD7ufFZU2dadVPN+Ahs+WEIGX8QIE8o4nrFGSqU4gtgvC6P
 xeDCsLXfpKnkximeTQOX6bZXdbomjP7Zmp4vVui58qAYD2JNnt1MrOmeKb0L6sqdbGQyJj0f4
 1AT8I+2hENIrrrt9i5oG9oMUy59tZy42nvFPfyrU6Tg6PX5Xwkz75PrAo1kMb6zLegRamACxj
 s2CJOuah74UokJxpJGUhzXtAiKWgcgsIo6lPI2WBfsPqyToAuK+PdV6Yco8B2+35nTz7i+h7w
 9W46jYqtP49awnBCMdU6KWDONIXdYY8+ztbfEKNxT4vrjNIiCjd7dZdRpbfRp+DMulULBFMTR
 W2AZTEHZagrV31ftL7CYFySurYUir7AhkbojiWCXROBX7kQ4pn28LpNhSXRBs/qKp2xOJ1NU+
 HgQ/MXW43Q710mljQbcmGCijNvlUYnVLzxU0ZTFjJyvdiWQZcsgEe/QwfLRWIzfO5Tt44DSzp
 THzrlRv7hFUj092dRrvBlbEEkt5+zTMpJp7iVLbtvUU2ktgsChudLxBGykkEtOSYLoBbSM/vg
 tfXcZmvw98ayk9yhfr7PjTcBOsJpgm6rBXQIwlXEjF9C1YfGOC/VqfXERbHi9Rxf96wNMFFjc
 9vZoKdvRe8Oz3ohLRdzHpp1swPKD0ITySTbzhoFLo6ZGYq4IUcVemx8IW5nsJFJIp1M4YcscB
 dRMLIvQxeMaTxxqzA3T+9Kx3m+qCcQEbGk6nSsY72bWkFbYeZngncp1tvYJ6lWOyXJHJA24wm
 uTG+CZRtPth9cYhbC1bokNzIqFHVOok/FtGVlelMh4rVV2K4gvi2UPzrGMbBrnFqeaeXMW5rz
 2youPJCpbCvc7LFmB6Icw9psWw/k8+EnLdwxsXqdbfYmqso2npNn9k1EqbCuanpkB5SJVBfZ5
 /62faSYlqzTeUpOiFjKKStDGxv+GwZmkokW8m/hUcdh6cJZsuPbMa2mmWBk0UezRW2JgDChx6
 kT8Wa164oQrJmaACHJdgB3tInXPN/9IyKe8YmGWShhRqvpBjThavCJ7WKiFS6qt0WALD1+/8P
 xMHJj9hKn38aUeH2OAdAIO/5rSWW+oYj1jU2SHvOs3X/KCUieERIkvxOztXJTCQnDdToEQB1h
 7ed4Pn97ry9dlfd9soYpGOoUJRhiqqeBBWlLKWMDpddUxm3Nip8qO8ClwfLmPYL8xGq1wNhBf
 5FKVsHzoq2bjNJ304mg9Ykm/XD8cz4D69gdlmxcA6arD6Lc3lOT+AKfbfgPXj4HK9H3fb2Adj
 FbMv9jIzUx8J1AXHIYeV8T43ubb06s7gdbvc64nCR+5uY+rQ+wVuiNeFGaMKfgkkNNns511TZ
 TbjefLQCewaOqOOLie2JQswWcJ7MqPkab6OvqKutIPO6otaJxmeVDYNSg7XCzsDFZMu/d/33Y
 FMsah9mLLxtY+7j4AqdNxtiI8JVKDdwgY0o+NySF+csogq1J3b3h7psyNE/WrrDdcNTiwipU0
 ld73E/eDzM5vUmtUqOgoEiNbGqb/uwbt+ZsI1AQWFpMbdRSwissA1qOUzJGGAgc1/Tpe9di+I
 aZP92Fkl/YJBPlxr91LKHDBvhbbMwINswsWF8i2e4GDnQdY72ws/ftet8z78y3nyU5J5wpY7J
 v/aokcSCrbh39NY2Ffpvb5s7cv88imM+cInOL+R6+fd5zT/VUaAps/qSprRZ/+0hzbi4tyzu3
 g4lTyO295YT8IVUN/HuHudCSQ/by2K0nPBzxV1xRi1N6IIRqpZsdoqAycBWPskTcvcD/cdvk+
 pAuYvfy/npLF+bO8lYGMvSaPzskJxNjt1G3BB64gb3bsHUJUjrnf671cPwucy8VRM18Oq2VrK
 bejrcAW8bNjmT4QmMVNmQqjyZ2sgpCx7CV4Ay0tZO7KBUS7Aur/gfgLFjYVyVIYXFMCNB/kY5
 oPp3vIFjPnGVFVSNNUFKKKNHYatiBCmbCagewVuc6BfNXRv8EQaZD5oP/NW1+eKNU5P084VJm
 PxW7TUFob5MWb3qj+pZiBFyMz+Pjn0j+0+vhyc69PYekrT+0JTLq9t8jKzA9ha0ca/FsJMfyD
 itWOec2qjOqDb5DtcCijlFJsYvtHC1WfzaxgqfwonCZopdmUf8aBrsMbkItUUt+/RpBeyVOln
 7ckPTMTjHsFgcZyAxgP22c3THt7YGWUrae6QoJbCcPcZFeXYFDCPsB1gZw0FSycdaV4+WSEYi
 pdUZ6PBACrcEmhELV1UfDiiCflRom8/dHC+0D49qxZZxi97JQIyr5ulcs0ZbUgJyD3xInDEtM
 ckG/xrpUgq2OGRWpWSvLkxnhLPVx3mwyEbBIZqFUjPLUR3nzQfJdzR87uqsSIdiSL+pOJUN2E
 ganDlxDPx4ZfvccKRsopQf/06c9aFaVxWL9gGB7XZVMhNtREHGlQt5nfruZ6c9m8+6KV+SP3F
 U7q6fjIlE/MhVDjT3KnJBv2+mahXlw6nU4LN/dhFstwrw0dZ2epCv6d5bVN1vua9OC+/IqAUZ
 M/8qe49SHp9CHpt3JcS2w3crkPZAdKxM5OhnrjnEZfzne9LsoAuINyrQEkiAojZF/ubd8j61t
 O6QWRVGbVcrx2H8iQ3E8s7nAlcnsPUgKXRHHVKisZrwG6+aMpE9WTAMg0B4UuGD5Xh/Hq9coy
 7qUF6Fz6/5Iix1q8H+MI1/J3mZcTWCQWyoVG7+4kVKtJDYFibFCIe/pnGwtLq+v+tknVF8FTn
 nJNGYbKitaba8AoK4j7hVy1XwvNYMudM7jppwZKi8HQhbAke7/z6b5gz0LagN7fqsqa9EYicw
 Zei6DrZ25yNZj23WV9BhUvumOtihTjOFb0fiOEeRStFD5ta/dKeKrPUGwN5/M4VrARA8khKUR
 MGbw2pffxAkF4Bhc/a/z5DsSbdIxxBBss+RyXWIODDId/TphCg5iDIOhJ5Tm13l925liiAdrz
 45Q4239525pjtLRynk7sm+V8nKP+qERfFfb3n1qKU5RzWItH3iCkaBC4QsIsfl7hjZuXPw5Zi
 PcMuinAxXim/zDoK+a5DyZGbZ1wtJR/8H56Tnr5O8CIHGAmiOe0/wOjL/8zvHc+Ffxqqrm/nw
 RA4M9j/y/yHVyTB9S3DNQI9GyJLF1Y1dftWzDq2Os8gsk5oHje/EjCRRt17FKmMKxjsT5dRoc
 noss1rkdwaxY4ss1waE5/qBOa5WFzGnWae+nSzFoE2vHKZuQTYZCvEIOaL2mBM70nm+Qg4Pw2
 JWKQqXtbchWdzNVZKLSo3AqCQ2hzBmzIN7gSDZw+cdfX0GjUGzMyl0u+0DudefUHqIfYsxgNW
 6IV/j1D8u+U5bI4N+ugzrGgaJ1DoYA5VVrg2WTkg7sqwsbDr8MN55yoj4cbNbRXnUxGg3/Z4J
 YD2jjn6LLLXEw3+2qf0VqW2xEBWgcHwSp5yiTujIKThQA91dph5bzFX2gRfYBsoZUFLkIfJlh
 3ePzjF5uR1XbnlFLFfL5+cW0rDN/Mhp9CltkecvQYLLXC+DQpBah3R9y8P6uxZVr52E/e3RCO
 hWXuhqy3JUD5Yc254CFkKIwYQXTPs3dvlVlmo2x2G3cyrUBnC9SKWDJu0itgIT6QFcbTtwdRD
 d5j2uL8qNTYeTHANZCIDZq91pqtMWZLAgZy+KPfkgXt40I3zrUq+JkZ7fkam4zYB47JnYrh8y
 ipL5ILSfiJ/O3Nc/6nvx9CQj2xMPxbwKWU2A+UMCVvp6r2vKLLOpJWqz58pdzg2nkNgESglsF
 KGV8at1I3Cx3XC0KGW/wO7pZwJodVO/lpzwHrYo1765mEyyD/NA9u3XS5RKSUu4GlIzxkjK2o
 0HaikDhosb+dVZ+PsqSXLIF91ab+MnX5dqQYiZKI6ontWpKXQi7IvuRf8W7sDi1XTk7ATX2qD
 Ncr0EXE/okYQTDrgl+iFnqAMkXwacs1rQBQ1yGLd40ijEyWmou0RdrnPgjbDGnK6xKUvRVJD0
 gjDOK4Wq1z2ZVBvo6ebGgx/ccpfUvo0Fn0bN9lR6hboyuw+xfc1rZ4fIWtDLpK9pXoCmp2SKx
 zLm3Np4kHRWSSrSImG7gXXMoWW11oSJIkzQ5lR2wmnK+q7X8BeLYfFhu9kOZVD+48fyfA0cny
 baUPiPS0lFDQhIqZemBx00SdqdPMDIc0PAnYifMWlRQvCwmYZHUTKXAafdfjD/m255MXmj/1S
 U1BwvzflSemWPgjcquiSbnsM3Z97plgSJm6Ap4cZSou5dUcLQAfb2ULr6n1cEQT4avNfB260w
 6Smd+averQosi/p7vONjF9EUKla5qHA5fmP+K0x1yvCO/Sy2h3wjm9+QoHBjPTsZw7g4UuvsN
 pmaIcL2Qk7t+6qUrOTpL5wxDMI+hzBlaGTZJdt5mniDd6tlc0nxq9ObImq2/+Jn/Eaa/wObqK
 wbeuDUjMdN+fydePOeXHkzkvlVZ6ok3nvPkwkn3mY5hCCv9l+zsWQyNkAHOVVFMi1fDIx++sZ
 v1lKz6VFr5D/CLjxP1z3yV1sE6JhipCljMb5c9+I7QtetaL4GEmA3MU4zyqRygPV0QlJZllkI
 a0ucSQ8fsNWK791Bjl20XyL9dZ0HgGV4vOObzz5/ysF3DXMSa4uosHLGh06K4H1z3huJFHxTc
 3XsJSHwMcmOn/WSJYSAiUEY5x9A6wZmtE5FMSGWv2AaP2N+DgviAvYVk
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 79094
Cc: 79094 <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 (-)

"Joe Sadusk" <joe@HIDDEN> writes:

Hi Joe,

> Thanks again for the help. After this is working I have some more
> optimizations for vc and project. I have a hack to find operations
> that make excessive tramp roundtrips with this advice function:
>
> (setq num-commands 0)
> (setq in-log-stack nil)
> (defun tramp-send-command-log-stack (orig-fun vec command &optional neveropen nooutput)
>   (if (not in-log-stack)
>       (let ((in-log-stack t))
>         (message "\n***start tramp-send-command %s***\n%S***end stack***" command (backtrace-frames))
>         (setq num-commands (+ num-commands 1))
>         (funcall orig-fun vec command neveropen nooutput)
>         (message "***Finished with tramp commands: %d***" num-commands)
>         )
>     (funcall orig-fun vec command neveropen nooutput)
>
>     )
>   )
> (defun track-tramp ()
>   (interactive)
>
>   (advice-add 'tramp-send-command :around #'tramp-send-command-log-stack)
>   )
> (defun untrack-tramp ()
>   (interactive)
>   (advice-remove 'tramp-send-command #'tramp-send-command-log-stack)
>   )

We could add something like this to Tramp proper.

ATM, I recommend you to set tramp-debug-command-messages to t and
tramp-verbose to 6. In this case, the Tramp debug buffer looks
different. It shows all invocations of magic file operations Tramp
handles plus the commands issued for this operation. This gives you
already a good overview what happens where. See (info "(tramp) Traces
and Profiles") .

If you have proposals for extending this kind of logs, let me know.

Best regards, Michael.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#79094; Package emacs. Full text available.

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


Received: (at 79094) by debbugs.gnu.org; 27 Oct 2025 09:30:10 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Oct 27 05:30:10 2025
Received: from localhost ([127.0.0.1]:47973 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1vDJYI-0001YV-33
	for submit <at> debbugs.gnu.org; Mon, 27 Oct 2025 05:30:10 -0400
Received: from mout.gmx.net ([212.227.17.21]:48319)
 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 1vDJY8-0001RE-75
 for 79094 <at> debbugs.gnu.org; Mon, 27 Oct 2025 05:30:01 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmx.de;
 s=s31663417; t=1761557393; x=1762162193; i=michael.albinus@HIDDEN;
 bh=DrcScc0jQF+MsGfJeuP0SXTtx1R3m25nlH/3rlErL00=;
 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=lEK0zZrvMpIpW0dBtHbVXglobrgG3heR4J22MUayJE4K9gpLWdUSBj9sSvXaqC2S
 hQM4zI+YG+E2zp1NhcJVfPwy0yFP74zpkjCvsPbGAU15EdGvkNIEl3S6VEDkT/9sR
 9Hq3wh7793zjFnnYN08+TAMWbFU/MhQNINqTZ3+481QlWM38O8ZzAhZT6r0e988YA
 /9FeDK0E3/q7knkWVvIdwWuDYgTk73cqkxweQ4qEy6wrxEFQ9RxuWOMWplOAuzAM9
 72P9Uq032YSSKgxfY1CSY1zhrroX8vWGs0jtVvzSXgUByuZ7tIT9wPJQnhLF7WNYN
 7TXe7s5wiFvF6syQjA==
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 1MGQj7-1uwU2f3opp-00FWI1; Mon, 27
 Oct 2025 10:29:52 +0100
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: <f30954d4e4c3f6387e3408d0649fb548d9b85f9c@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> <87o6q78f92.fsf@HIDDEN>
 <9E349059-5324-4D91-8092-A3A5BF47CB9C@HIDDEN>
 <87ecr197sd.fsf@HIDDEN>
 <33be758bfb73dfb3088d9bfa37dc3f7e8fbc991c@HIDDEN>
 <87zf9dna6c.fsf@HIDDEN>
 <f30954d4e4c3f6387e3408d0649fb548d9b85f9c@HIDDEN>
Date: Mon, 27 Oct 2025 10:29:52 +0100
Message-ID: <878qgwn14f.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="=-=-="
X-Provags-ID: V03:K1:7wzbSBrq3uuME/7EUy2cKR/zlWEFcL7z+VcANCSdzHaT/mTb26c
 hKpEq1dfk+k95IebYt3VmuFXf7hYFP1nOv1vKVIRU452suf20mkrMKVQaFTWwzTCOAUYFd+
 XLn+JgIInzuMIZvW+FQNMpiViJV8UQlB0lkxqRMechrMuJWsDpdP9lmB//ZZga6LqVllPUX
 bnnnDcq0DXIW3MdVKX4bg==
X-Spam-Flag: NO
UI-OutboundReport: notjunk:1;M01:P0:+l9PljR8Uns=;z8c1YXEbhS4d8tAUjQzJUGNFYFI
 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
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 79094
Cc: 79094 <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 (-)

--=-=-=
Content-Type: text/plain
Content-Transfer-Encoding: quoted-printable

"Joe Sadusk" <joe@HIDDEN> writes:

Hi Jow,

[Please keep <79094 <at> debbugs.gnu.org> in Cc]

> Thanks for the review! I made most of your changes with a couple excepti=
ons

Thanks.

>> In order to understand the code better, I wrote tramp-hlo-tests.el. It
>> uses ERT, as it is common in Emacs. You can run the tests either
>> interactively, or in batch, like
>>=20
>> --8<---------------cut here---------------start------------->8---
>> # emacs -L . -l tramp-hlo-tests -f ert
>> # emacs --batch -L . -l tramp-hlo-tests -f ert-run-tests-batch
>> --8<---------------cut here---------------end--------------->8---
>>=20
>> They show failing tests, which might help you improving tramp-hlo.el.
>>=20
>> During testing, I've found another bug in Tramp relevant for
>> tramp-hlo. I've fixed it in both Emacs and Tramp repositories, please
>> use a recent build.
>>=20
>> If you like the test file, you can add it to your Github repo.
>
> Thank you for this! I didn't add tests because I didn't think it was
> possible to test without a remote. I've also been meaning to learn
> ert, rather than ad-hoc lisp test files.

Yep. The default test will happen with the mockup method. If you want to
test with a real remote target, you could do something like

=2D-8<---------------cut here---------------start------------->8---
# env REMOTE_TEMPORARY_FILE_DIRECTORY=3D/ssh:user@host:/tmp emacs -L . -l =
tramp-hlo-tests -f ert
=2D-8<---------------cut here---------------end--------------->8---

This requires the appended patch for tramp-hlo-tests.el.

> I added the attached tramp-hlo-tests.el, but it had a few syntax
> errors in it (a misspelled function, an extra paren), so I wonder if
> you sent an old version of the file.

Oops, the check for tramp-sh-file-name-handler-p was added last minute,
w/o rerunning the check. Sorry!

> That said, I cleaned it up and got it running, but its failing for me
> in each test with:
> Test tramp-hlo-test-dir-locals--all-files condition:
>     (void-function tramp-remove-external-operation)
>
> tramp-remove-external-operation definitely exists, and is being
> successfully used by tramp-hlo when in normal use. Is there something
> special I need to do to resolve the dependency when running ert in
> batch?

Hmm. Could you check that the load-path is always proper? Do you gave a
Lisp backtrace of this error?

>> >=20
>> > Joe

Best regards, Michael.


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

diff --git a/tramp-hlo-tests.el b/tramp-hlo-tests.el
index 9f03eb2..1770083 100644
=2D-- a/tramp-hlo-tests.el
+++ b/tramp-hlo-tests.el
@@ -107,7 +107,7 @@ The result must be equal."
   (skip-unless (tramp-hlo--test-enabled))
=20
   (ert-with-temp-directory tmpdir
-    :prefix ert-remote-temporary-file-directory
+    :prefix (file-name-as-directory ert-remote-temporary-file-directory)
     (make-empty-file (expand-file-name dir-locals-file tmpdir))
     (make-empty-file
      (expand-file-name (string-replace ".el" "-2.el" dir-locals-file) tmp=
dir))
@@ -134,7 +134,7 @@ The result must be equal."
=20
   ;; Use another `dir-locals-file'.
   (ert-with-temp-directory tmpdir
-    :prefix ert-remote-temporary-file-directory
+    :prefix (file-name-as-directory ert-remote-temporary-file-directory)
     (let ((dir-locals-file "foo.el"))
       (make-empty-file (expand-file-name dir-locals-file tmpdir))
       (make-empty-file
@@ -149,7 +149,7 @@ The result must be equal."
   (skip-unless (tramp-hlo--test-enabled))
=20
   (ert-with-temp-directory tmpdir
-    :prefix ert-remote-temporary-file-directory
+    :prefix (file-name-as-directory ert-remote-temporary-file-directory)
     (make-directory (file-name-concat tmpdir "foo" "bar") 'parents)
     (make-empty-file (expand-file-name dir-locals-file tmpdir))
     (make-empty-file
@@ -165,7 +165,7 @@ The result must be equal."
   (skip-unless (tramp-hlo--test-enabled))
=20
   (ert-with-temp-directory tmpdir
-    :prefix ert-remote-temporary-file-directory
+    :prefix (file-name-as-directory ert-remote-temporary-file-directory)
     (make-directory (file-name-concat tmpdir "foo" "bar") 'parents)
     (make-empty-file (expand-file-name dir-locals-file tmpdir))
=20

--=-=-=--




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#79094; Package emacs. Full text available.

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


Received: (at 79094) by debbugs.gnu.org; 27 Oct 2025 08:47:09 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Oct 27 04:47:09 2025
Received: from localhost ([127.0.0.1]:47913 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1vDIse-0007rQ-R0
	for submit <at> debbugs.gnu.org; Mon, 27 Oct 2025 04:47:09 -0400
Received: from mout.gmx.net ([212.227.15.19]:48233)
 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 1vDIsa-0007qX-Iy
 for 79094 <at> debbugs.gnu.org; Mon, 27 Oct 2025 04:47:06 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmx.de;
 s=s31663417; t=1761554816; x=1762159616; i=michael.albinus@HIDDEN;
 bh=GC5d5wxn/zyDnxosORDVKncY0lWzO7RqPSULY3lv0EA=;
 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=tVg7LOukFjcs85EAyniXtKEHaEA6I/fqyaDvei9Ixnylh7xNVOrSA8q91D2I0E0c
 mLwrTcPRVpNmGqRqn/yo7ILypl7lSvYnPVkCzx7j31y9E+45AfrKQP+L35DvE5Z5s
 7yfWLKPyQiAM5TPTBBXiaPLGgxwPFujdcVKiG7XO4SQk32vw32TSRrpV2417nQ/Yu
 6d+e9xvp8q/2BSJuxHD/MdJytN3N+lSieiZaJxvaQN3W7WjeXYu8NyDGklBPs3S2Q
 Pqp0bjkX9oyXibjz9tsAvdFyyChjMT4sjGrUluj5QvuMx/oDDijoKfcsyhX/eEXJ4
 KoX2+kHSrMqcpHzheg==
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 1MRmjw-1ukCSj3ydW-00XEuU; Mon, 27
 Oct 2025 09:46:56 +0100
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: <5d96e8562acbf6adb018bb511aa5e3b0b272e2a6@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> <87o6q78f92.fsf@HIDDEN>
 <9E349059-5324-4D91-8092-A3A5BF47CB9C@HIDDEN>
 <87ecr197sd.fsf@HIDDEN>
 <33be758bfb73dfb3088d9bfa37dc3f7e8fbc991c@HIDDEN>
 <87zf9dna6c.fsf@HIDDEN>
 <5d96e8562acbf6adb018bb511aa5e3b0b272e2a6@HIDDEN>
Date: Mon, 27 Oct 2025 09:46:55 +0100
Message-ID: <87cy68n340.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-Provags-ID: V03:K1:Rv23fZSG5CHw1c+R7G5L1RehabQB1MSlteGNhSHy+7cfeV/kyGy
 N9fNeC6YfXTNlITKViRg7H4jnkbrHPHVdXo61lV5XKu5oYm7WpuwQhnVYgPvBux36RLCHtP
 COvxD6LPVM8/lEX0SfbuyIVuEFEUoKZ2AMoo0SBWyljYumCLGQK+587YVORMaa+l9dg34ku
 jYbeT99nPRKjed6xfG6tw==
X-Spam-Flag: NO
UI-OutboundReport: notjunk:1;M01:P0:iPcnCGrZeuA=;ZWBVx6pL9sa4IFPLS1bzgknlOEr
 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
 Bu/jkXYH31yYE4cubFb99TPgDV6zoRNwVZA=
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 79094
Cc: 79094 <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 (-)

"Joe Sadusk" <joe@HIDDEN> writes:

[Please keep <79094 <at> debbugs.gnu.org> in Cc]

> Oh also, an issue I ran into with tramp-add-external-operation is that
> it requires the arguments for the external operation and the operation
> it's overriding to be exactly the same. This makes it hard to make an
> operation that is backward compatible with multiple versions of the
> same function. For example, the function dir-locals--all-files, in
> emacs 30.2 has the signature:
> (defun dir-locals--all-files (directory)
>
> But in emacs master it has:
> (defun dir-locals--all-files (directory &optional base-el-only)
>
> If there weren't argument matching I could accept the optional
> argument in my operation and it wouldn't break the old version.=20

I don't see the problem (yet). Could you, pls, show the error in Emacs
30.2, which happens when you use=20

=2D-8<---------------cut here---------------start------------->8---
(defun tramp-hlo-dir-locals--all-files (directory &optional base-el-only)
=2D-8<---------------cut here---------------end--------------->8---

In tramp-add-external-operation I don't see the request that the
arguments must be exactly the same. It uses '(lambda (orig-fun &rest
args) ...', and all it checks is '(car args)'.

What do I miss?

> Joe

Best regards, Michael.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#79094; Package emacs. Full text available.

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


Received: (at 79094) by debbugs.gnu.org; 26 Oct 2025 12:02:15 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun Oct 26 08:02:15 2025
Received: from localhost ([127.0.0.1]:44515 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1vCzRu-000795-Fc
	for submit <at> debbugs.gnu.org; Sun, 26 Oct 2025 08:02:15 -0400
Received: from mout.gmx.net ([212.227.17.22]:38857)
 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 1vCzRq-00078T-SM
 for 79094 <at> debbugs.gnu.org; Sun, 26 Oct 2025 08:02:12 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmx.de;
 s=s31663417; t=1761480124; x=1762084924; i=michael.albinus@HIDDEN;
 bh=icIfTqK8+6Z90ae7+YHkVVAFjq5OQielS02HkEdWgSs=;
 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=mZL+7wAT0/wWjUnFc0XI5a+uJwMA2PlCrAJfWpF8fOvcFUHHT+4C8R1CdM88EjEK
 goQ/MmS3FXDB0FqzgSKHuu3BS/1Vn3j7+fF2FgyNxAGdUMCETVBpCgbVAG6dXvaT9
 /RrM5Newx2vTqmdv72EatwoJZBmac8yg+Ju90ZvrJjLS1k5F3wEHxOgPEXybO3MT8
 xw87+pgnNdzG4oO0mR7Ycdytg1vkVs+X8moqjMVVfhAfI2EeCbWsV0rA4eZcgiH8K
 ZJBoVcbM7lQrc57uP+n7FfDezOuutqURWaMPE4cXV4+95NYLFu4cvkqZZ8usFAwm1
 oLNHo5stF10OJz79YA==
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 1N6bjy-1u5OJG0ZYs-017D2d; Sun, 26
 Oct 2025 13:02:04 +0100
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: <33be758bfb73dfb3088d9bfa37dc3f7e8fbc991c@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> <87o6q78f92.fsf@HIDDEN>
 <9E349059-5324-4D91-8092-A3A5BF47CB9C@HIDDEN>
 <87ecr197sd.fsf@HIDDEN>
 <33be758bfb73dfb3088d9bfa37dc3f7e8fbc991c@HIDDEN>
Date: Sun, 26 Oct 2025 13:02:03 +0100
Message-ID: <87zf9dna6c.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="=-=-="
X-Provags-ID: V03:K1:A6R7e/8+dNn8R225a1x7Ww1Ylg4x5iNJrH251mwonqriyyU3hYz
 9gK3L0r3TWei97CzIlhEeCAVYtPM0ez9CXJ8PNVv21aIw/SyB6g2jmKp3NBEdAa0N43+COD
 6gwNWrZjByQm5yfehVDwidQNcGkZWAqo2D2NmUvr/JbHsKUL3oCeRgOlDWs6+etCBSlBwwm
 IY2HmYAbc3Mq2JhRB1fRQ==
X-Spam-Flag: NO
UI-OutboundReport: notjunk:1;M01:P0:OMYbi70t1YY=;vDUhYzLXW8igglNYatCT6vSGSY4
 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
 L4U+HYZU=
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 79094
Cc: 79094 <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 (-)

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

"Joe Sadusk" <joe@HIDDEN> writes:

Hi Joe,

> Ok, I have the updates I wanted done, and I made use of your
> tramp-add-external-operation mechanism.

Thanks! I have reopened bug#79094, we can still use it for discussion.

Enclosed are my comments on the new version of tramp-hlo.el. People
could compare with the recent source at <https://github.com/jsadusk/tramp-h=
lo>.

I would add the following after the ;;; Version line:

--8<---------------cut here---------------start------------->8---
;; Package-Requires: ((tramp "2.8.1"))
--8<---------------cut here---------------end--------------->8---

Tramp 2.8.1 doesn't exist yet, it is scheduled for the end of this
year. If tramp-hlo is added to GNU ELPA earlier, we could adapt it.

The license claim must be added for FSF. Take it from another GNU ELPA
file, or from the file I've appended below.

The defconsts tramp-hlo-locate-dominating-file-script and
tramp-hlo-dir-locals-find-file-cache-update-script are not used. Worth
to be removed?

I recommend to rename setup-tramp-hlo and remove-tramp-hlo to
tramp-hlo-setup and tramp-hlo-remove, respectively. We should respect
namespaces.

Byte compiling tramp-hlo.el yields compiler warnings:

--8<---------------cut here---------------start------------->8---
Compiling file /home/albinus/src/tramp-hlo/tramp-hlo.el at Sun Oct 26 12:17=
:54 2025
Entering directory =E2=80=98/home/albinus/src/tramp-hlo/=E2=80=99

In tramp-hlo-locate-dominating-file-list:
tramp-hlo.el:249:11: Warning: Unused lexical variable =E2=80=98quoted-names=
=E2=80=99

In tramp-hlo-dir-locals-find-file-cache-update:
tramp-hlo.el:317:13: Warning: Unused lexical variable =E2=80=98cache-remote=
s=E2=80=99
tramp-hlo.el:323:13: Warning: Unused lexical variable =E2=80=98same-remotes=
=E2=80=99

In tramp-hlo-dir-locals-find-file:
tramp-hlo.el:361:11: Warning: Unused lexical variable =E2=80=98file=E2=80=99
--8<---------------cut here---------------end--------------->8---

Pls fix them.

In order to understand the code better, I wrote tramp-hlo-tests.el. It
uses ERT, as it is common in Emacs. You can run the tests either
interactively, or in batch, like

--8<---------------cut here---------------start------------->8---
# emacs -L . -l tramp-hlo-tests -f ert
# emacs --batch -L . -l tramp-hlo-tests -f ert-run-tests-batch
--8<---------------cut here---------------end--------------->8---

They show failing tests, which might help you improving tramp-hlo.el.

During testing, I've found another bug in Tramp relevant for
tramp-hlo. I've fixed it in both Emacs and Tramp repositories, please
use a recent build.

If you like the test file, you can add it to your Github repo.

> Joe

Best regards, Michael.


--=-=-=
Content-Type: text/plain
Content-Disposition: attachment; filename=tramp-hlo-tests.el

;;; tramp-hlo-tests.el --- Tests of tramp-hlo  -*- lexical-binding:t -*-

;; Copyright (C) 2025 Free Software Foundation, Inc.

;; Author: Michael Albinus <michael.albinus@HIDDEN>

;; This file is not part of GNU Emacs.

;; This program is free software: you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by
;; the Free Software Foundation, either version 3 of the License, or
;; (at your option) any later version.

;; This program is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
;; GNU General Public License for more details.

;; You should have received a copy of the GNU General Public License
;; along with GNU Emacs.  If not, see <https://www.gnu.org/licenses/>.

;;; Commentary:

;; Some of the tests require access to a remote host files.  Since
;; this could be problematic, a mock-up connection method "mock" is
;; used.  Emulating a remote connection, it simply calls "sh -i".
;; Tramp's file name handlers still run, so this test is sufficient
;; except for connection establishing.

;; If you want to test a real Tramp connection, set
;; $REMOTE_TEMPORARY_FILE_DIRECTORY to a suitable value in order to
;; overwrite the default value.  If you want to skip tests accessing a
;; remote host, set this environment variable to "/dev/null" or
;; whatever is appropriate on your system.

;;; Code:

(require 'tramp-hlo)
(require 'ert-x)

(setq auth-source-cache-expiry nil
      auth-source-save-behavior nil
      password-cache-expiry nil
      remote-file-name-inhibit-cache nil
      tramp-allow-unsafe-temporary-files t
      tramp-cache-read-persistent-data t ;; For auth-sources.
      tramp-copy-size-limit nil
      tramp-error-show-message-timeout nil
      tramp-persistency-file-name nil
      tramp-verbose 0)

(defvar tramp-hlo--test-enabled-checked nil
  "Cached result of `tramp-hlo--test-enabled'.
If the function did run, the value is a cons cell, the `cdr'
being the result.")

(defun tramp-hlo--test-enabled ()
  "Whether remote file access is enabled."
  (unless (consp tramp-hlo--test-enabled-checked)
    (setq
     tramp-hlo--test-enabled-checked
     (cons
      t (ignore-errors
	  (and
	   (file-remote-p ert-remote-temporary-file-directory)
	   (file-directory-p ert-remote-temporary-file-directory)
	   (file-writable-p ert-remote-temporary-file-directory)
	   (tramp-sh-file-name-handler-p
	    (tramp.diessect-file-name ert-remote-temporary-file-directory))))))))

  (cdr tramp-hlo--test-enabled-checked))

(defun tramp-hlo--test-advice-function (&rest args)
  "Advice funtion."
  (message "tramp-hlo been here %S" args))

(defun tramp-hlo--run-test (fun &rest args)
  "Run `(apply FUN ARGS)' with and without tramp-hlo handlers.
The result must be equal."
  (let ((hlo-fun (intern (concat "tramp-hlo-" (symbol-name fun))))
	expected received)
    (unwind-protect
	(progn
	  ;; Advice `hlo-fun'.
	  (add-function
	   :before (symbol-function hlo-fun) #'tramp-hlo--test-advice-function)
	  ;; Check result w/o tramp-hlo.
	  (ert-with-message-capture captured-messages
	    (remove-tramp-hlo)
	    (setq expected (apply fun args))
	    (should-not
	     (string-match-p "tramp-hlo been here" captured-messages)))
	  ;; Check result with tramp-hlo.
	  (ert-with-message-capture captured-messages
	    (setup-tramp-hlo)
	    (setq received (apply fun args))
	    (should (string-match-p "tramp-hlo been here" captured-messages)))
	  ;; Compare results.
	  (should (equal expected received)))

      ;; Cleanup.
      (remove-function
       (symbol-function hlo-fun) #'tramp-hlo--test-advice-function))))

(ert-deftest tramp-hlo-test-dir-locals--all-files ()
  "Test `dir-locals--all-files'."
  (skip-unless (tramp-hlo--test-enabled))

  (ert-with-temp-directory tmpdir
    :prefix ert-remote-temporary-file-directory
    (make-empty-file (expand-file-name dir-locals-file tmpdir))
    (make-empty-file
     (expand-file-name (string-replace ".el" "-2.el" dir-locals-file) tmpdir))

    ;; Use absolute directory.
    (tramp-hlo--run-test 'dir-locals--all-files tmpdir)
    (tramp-hlo--run-test 'dir-locals--all-files tmpdir 'base-el-only)
    ;; Use relative directory.
    (let ((default-directory tmpdir))
      (tramp-hlo--run-test 'dir-locals--all-files "./")
      (tramp-hlo--run-test 'dir-locals--all-files "./" 'base-el-only)))

  ;; Try directory with special characters.  See tramp-tests.el for
  ;; more examples.
  (dolist (prefix '(" foo\tbar baz\t" "&foo&bar&baz&" "$foo$bar$$baz$"))
    (ert-with-temp-directory tmpdir
      :prefix (expand-file-name prefix ert-remote-temporary-file-directory)
      (make-empty-file (expand-file-name dir-locals-file tmpdir))
      (make-empty-file
       (expand-file-name (string-replace ".el" "-2.el" dir-locals-file) tmpdir))

      (tramp-hlo--run-test 'dir-locals--all-files tmpdir)
      (tramp-hlo--run-test 'dir-locals--all-files tmpdir 'base-el-only)))

  ;; Use another `dir-locals-file'.
  (ert-with-temp-directory tmpdir
    :prefix ert-remote-temporary-file-directory
    (let ((dir-locals-file "foo.el"))
      (make-empty-file (expand-file-name dir-locals-file tmpdir))
      (make-empty-file
       (expand-file-name (string-replace ".el" "-2.el" dir-locals-file) tmpdir))

      (tramp-hlo--run-test 'dir-locals--all-files tmpdir)
      (tramp-hlo--run-test 'dir-locals--all-files tmpdir 'base-el-only))))

;; TODO: Add more scenarii.
(ert-deftest tramp-hlo-test-dir-locals-find-file ()
  "Test `dir-locals-find-file'."
  (skip-unless (tramp-hlo--test-enabled))

  (ert-with-temp-directory tmpdir
    :prefix ert-remote-temporary-file-directory
    (make-directory (file-name-concat tmpdir "foo" "bar") 'parents)
    (make-empty-file (expand-file-name dir-locals-file tmpdir))
    (make-empty-file
     (expand-file-name (string-replace ".el" "-2.el" dir-locals-file) tmpdir))

    ;; Use absolute directory.
    (tramp-hlo--run-test
     'dir-locals-find-file (file-name-concat tmpdir "foo" "bar" "baz"))))

;; TODO: Add more scenarii.
(ert-deftest tramp-hlo-test-locate-dominating-file ()
  "Test `locate-dominating-file'."
  (skip-unless (tramp-hlo--test-enabled))

  (ert-with-temp-directory tmpdir
    :prefix ert-remote-temporary-file-directory
    (make-directory (file-name-concat tmpdir "foo" "bar") 'parents)
    (make-empty-file (expand-file-name dir-locals-file tmpdir))

    ;; Use absolute directory.  Search for regular file and directory.
    (tramp-hlo--run-test
     'locate-dominating-file
     (file-name-concat tmpdir "foo" "bar" "baz") dir-locals-file)
    (tramp-hlo--run-test
     'locate-dominating-file (file-name-concat tmpdir "foo" "bar" "baz") "foo")))

(provide 'tramp-hlo-tests)

;;; tramp-hlo-tests.el ends here

--=-=-=--




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#79094; Package emacs. Full text available.
bug No longer marked as fixed in versions 31.1 and reopened. Request was from Debbugs Internal Request <help-debbugs@HIDDEN> to internal_control <at> debbugs.gnu.org. Full text available.

Message received at 79094-done <at> debbugs.gnu.org:


Received: (at 79094-done) by debbugs.gnu.org; 16 Oct 2025 07:42:17 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Oct 16 03:42:16 2025
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.




Notification sent to "Joe Sadusk" <joe@HIDDEN>:
bug acknowledged by developer. Full text available.
Reply sent to Michael Albinus <michael.albinus@HIDDEN>:
You have taken responsibility. Full text available.

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


Received: (at 79094) by debbugs.gnu.org; 26 Aug 2025 17:55:37 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Aug 26 13:55:36 2025
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>
To: "Joe Sadusk" <joe@HIDDEN>
Subject: Re: bug#79094: [wishlist] Optimizations for round trips in tramp
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-Debbugs-Envelope-To: 79094
Cc: 79094 <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.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.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#79094; Package emacs. Full text available.

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


Received: (at 79094) by debbugs.gnu.org; 6 Aug 2025 13:31:40 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Aug 06 09:31:40 2025
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>
To: "Joe Sadusk" <joe@HIDDEN>
Subject: Re: bug#79094: [wishlist] Optimizations for round trips in tramp
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-Debbugs-Envelope-To: 79094
Cc: 79094 <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 (-)

"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.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#79094; Package emacs. Full text available.

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


Received: (at 79094) by debbugs.gnu.org; 6 Aug 2025 12:33:46 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Aug 06 08:33:46 2025
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
Subject: Re: bug#79094: [wishlist] Optimizations for round trips in tramp
To: "Michael Albinus" <michael.albinus@HIDDEN>
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-Debbugs-Envelope-To: 79094
Cc: 79094 <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.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--




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#79094; Package emacs. Full text available.

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


Received: (at 79094) by debbugs.gnu.org; 5 Aug 2025 10:03:43 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Aug 05 06:03:42 2025
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>
To: "Joe Sadusk" <joe@HIDDEN>
Subject: Re: bug#79094: [wishlist] Optimizations for round trips in tramp
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
 BPhK4eV8hIDP3foOXopOmAPSsya2VRUUx3hckiXxghPGmIZ4tOjVQotoIaC1eNl8DVOHYZk3k
 7MgKZpo0N5RHT6JHdtUDnBpjJoyuaehErIjgAYJ+Rvjr/LnkoB+uSnVdfcBiRQsF2OF10kuMv
 GSgBprEITaXYpIFdecnNnKrrsLDgRTjpeCb5J3Nr/l8+XNcZjg8G6ruUYjrMFAMjYwvrlGaqJ
 1/Nqoa1CAVgXcDFNf1D32ncHadJ60Zx6fcbjPvA0pljpDVAGhyaYsrT1+4yXGZm0KarHL0P0x
 4zC9ZWOj4xLUT3PFunRb1SyIpVlvlyieTQDGeMIQutUINHZKUAEa7cy+O1+TVcz1wMk1vrRbj
 u8Nzua/+/oQD6COI0hyzgUJChxOjbmOdq7aVCpEDBjSoxNOS3UJrGym2nTifz6DxGrCmPRQT6
 ASzSphHGSPCgo2SF0N6j4z+qdzBUF51a2lzAM6RXNNX7X2yl4XZeqcnBBJSyZRVUWaYIWn9va
 IZVcB41fQIzXaJD8MgJAjbhMT9LvB9PwRnJfOtSo1VuJK68oNxPkLcIqOi2GMtK/UEN9HH/Ol
 1A1v7QSHu4aa4L8+A0J7AwKjaCRR42H6TsXIuSvpdCt3rjoAlmKShbKwXyRxDx7ol8Dl0Dp7S
 wKq3WW0e7m6Jdq4uSN9B3i+60dqCugCTgmHV/XXQAJmvMY74csD6onU4VHLoClW4Zd6bXRz8Y
 c43s3jE3NUEwavsLYaL96k5dBCOYgDKxOFq5a6t9BAjME9R9HVvbO5x7yDngt6p5C8gDi2Mjd
 92ZEMOqxHhpyPUILXht1Ajj4crbBn+gZqrdHL7p/1w0US5veEYx1hwZBi+IugyIjqxHFz1GAu
 HJBQJvHIUHnQe4ipFZCcpzIIZRXksnK+HawRWxxMPzuMfOA/zJhI7iRjC/9aOpO+XibyIRsLa
 JHq2OEWbpnd9Kt7t6IVPq5ErJEWGyYZBFj8yeYLQsDePAuDEoUv2dR3Z7lupCgdi/SkBzJxI9
 L/m45muIdxsKV3GAn0oJXzgG2COH6/bdmPwVwE2oihfK7qS6hf98wCXT9ZMjm+NhTUsAnS1Rl
 oiGnRoQY4uyRBQI4PiJPmSiOjZQ2ROA3KCsHrZtwswJDthhgORhfKlpCI09F1f9124S+xh6oI
 V9xSeM8DYoSZnK8lW0T6Zjav4oNUSlOaa5cC7Onf1sIlUgMGK1plRDsUEz9Gc8Bw4HZO1K5YO
 T4Y9HI2XEibjaZUXv+nr97Wm9OcSWj9NVBQFLJrcolrmaA07YVC/kCPRp8LfKbEl9dzQd9yR8
 z3ot8cl8xIyGx435SJlYv//z5a0hdc0DfjskNxDMuR1hFD+sPwUGDY2GcwDuH42AgUsL7KKGy
 6cakVFIZ9phE4sLdr8ucJ1dulY+TRFkSpmoPBrD4cWG9YJij7gn9lq/DX3bVUENr1McyNStZu
 rPB5wVG0UjJfbnhpMTwN0tADoVQAb3K30yMkXzJZUXiDhWoRcotspFRUBoxtmJTuzbCgIlLPH
 BOXHgojVeZ0zxWk+CklBHyfg6HfYNAOtOwdgrGiZNQcYdH1BnSl/fRce8ekU7HZwoKML2BB+o
 h9x+j+MW/29EjAZ9Uf0qRddpC3OavC29iHHweO2bpJ145l1wEg+Wy5EikqaXhh+u9wHwLvNt3
 YtyBagXnmlhLnc5qFXiyMiwBtvotqY0xRCCMh3gNKfart285isXg/1gIrN46/d4NrTa27PvYi
 WpSaKN8vt85CBKjYgYun25QK1hxNRoo0mTiEq5lfYf+Zo7WaSGF5YRscmerTfk8xdE+xCzcG1
 xRgZuidAnVmJSMuzJdwLqvERCDbNBgvurxu+GWRjC1wfgkSIg13D6eWYe26R3yrrbApYHjSeh
 mceOlguCWNN4K+Fb4VQBBIBAPzCvx4d22+6Ysnuh2q3BhL+cu4OMvW0i1v+u3ZFmgEzz9Vzm0
 gLlD3o3NOZNf22Kbx0zLo4bo3l6BhhnRAcwLYb+zqFaQqcRs8P2F/llji7E1uA1/awWU6jEEd
 UW4ShFlAc5Nbt1JDl11Sz/Qmm7uiMTMJogzHLL1diHI1ibMgLn1C4XeLQhFjyRHjn2wlsPiJa
 iTyHv5HDOsHPzJWD1qtQs5tXf9oUBfLODkXEk6e7BiZZR5nVZ/25J/SxsdssWu/6DgT8tzmXZ
 ghwBdB/ujx6CiiFb9S1zrWYgSu+RaH9nctNy/0u8L3rbr/guftJCvgZUNpC9YeEaZ4XlTGsvg
 MH1+gD17eBNrmVMDwQLKD0x4U7kONwh28XUU2aViTqys/mFYJg8BWIPWdZzRfnTrweuJsmHN5
 v0iIh/MbHAfiaLlKfvD/Y7F8IrI49hOUrk2BRKGGTKKMRGmtlrNKsFjW+noAkICZvydDpwe7B
 2ha/TUypy9wavnfGroU9y1QSXTWRReDpJqm8JQ5HgzFRwRWFq9uaZ4bQDIkUnNe3SZPSuYVy8
 0a0b1kcWUJOoRrGSmuvVcU1H0ujDZDECoYCdLzE8s0fgL4Y3B7sqkabt7OcehVoKRGO9fLggk
 0NqHTpOSgdrx1tMawvaqxi/+VtdB1e4AVq3BamKwQQ9/sJGHIfoiZ7y9gRWNUboA1uNv4x8eO
 kG9na2DxSchW0rA8SjELBRP9CXt+AXAxhRZcc5oiX/pprcNZ46LQOLBdtujex/t/ldCZB4mYg
 5hHZn0rnK6eSXbt/QC7K0VSv9CwYUbG8ccWDwTmoi4HdTDoPPuJ8YFaHJNBe9DxHxHKcjTKMd
 vt6Upa2SmklBMDX7uraEBzwtKuCvG5Ow3x+Cf7rKRp5slXLYA+2Wi6ZFralT29URTu6dOOWL6
 3R5w32HdqR88ryziNpNfTgekkPtzcbfcvdAhuPZhlAaT2jUbWpjlqBijyMvGBTR+4n3lqKbhX
 iYgFxzjCfmbAyEeOm4E9p3fCxpYu74Wxaj25hOUZ5R3zNVu5Nah2Nf4Fiq4SFKrolz/+nIj+d
 9S4iRzqN+KgeYFbldsMquD4Ks/2vgi811EucsmHzPpawS9CIB3cBjvQZ2fM5RCJgvdTqpxbsm
 wDzYEPqKQjf5yAOGJR5mrOo6KzZBhx4aKBDES57ZKRUqrRfsJzQkZj+jJS5wka6+GrtSidFfz
 QaZVmRWf0Y3IAK5n8jG3eqZltaCV2O1gwGD6OfCPynsCkywPaOhg98pfzisxkiYom4krNr6aM
 6JdYVuDAvqvAB67ytFeILkYY5eiwPF+e0tnhEjSj/2FmMtRj13eU8qm8r1AE/Th7twLgRYssG
 WkghuQ3PezSl3kzdTCv07dcJsrOQTMe88qQP+YTjDGqJCjxb5PFZJWMfiQB9WJm8sCo6ODJfL
 7ap5VKBl0b47ddiPt4Bw7gZUHnU+eWPT+2noYwi0qjLSztrRg1Em8r2y16wO5UtchNT0fUQcR
 sj2MjcuO0amTiG7LzOIsZHs802QwAuwZbXUfF8jChQiUfAIk5oGUhY8uC01UChXdVJ1RlBnzT
 GOq2CKWUkZvL3VnsalS+jWAAfwq1CHBbJkuGoWTk87F667AemQfYF
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 79094
Cc: 79094 <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 (-)

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.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#79094; Package emacs. Full text available.

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


Received: (at 79094) by debbugs.gnu.org; 3 Aug 2025 09:42:37 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun Aug 03 05:42:37 2025
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>
To: "Joe Sadusk" <joe@HIDDEN>
Subject: Re: bug#79094: [wishlist] Optimizations for round trips in tramp
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
 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
 yXclMkcUrBip/M5mouaSIvEW/LY1UhOo=
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 79094
Cc: 79094 <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 (-)

"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.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#79094; Package emacs. Full text available.

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


Received: (at 79094) by debbugs.gnu.org; 3 Aug 2025 06:48:42 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun Aug 03 02:48:42 2025
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>
To: "Joe Sadusk" <joe@HIDDEN>
Subject: Re: bug#79094: [wishlist] Optimizations for round trips in tramp
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-Debbugs-Envelope-To: 79094
Cc: 79094 <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 (-)

"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.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#79094; Package emacs. Full text available.

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


Received: (at 79094) by debbugs.gnu.org; 3 Aug 2025 03:10:26 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Aug 02 23:10:26 2025
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
Subject: Re: bug#79094: [wishlist] Optimizations for round trips in tramp
To: "Michael Albinus" <michael.albinus@HIDDEN>
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-Debbugs-Envelope-To: 79094
Cc: 79094 <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.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--




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#79094; Package emacs. Full text available.

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


Received: (at 79094) by debbugs.gnu.org; 2 Aug 2025 15:35:52 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Aug 02 11:35:52 2025
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>
To: "Joe Sadusk" <joe@HIDDEN>
Subject: Re: bug#79094: [wishlist] Optimizations for round trips in tramp
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-Debbugs-Envelope-To: 79094
Cc: 79094 <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 (-)

--=-=-=
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)

--=-=-=--




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#79094; Package emacs. Full text available.

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


Received: (at 79094) by debbugs.gnu.org; 31 Jul 2025 15:28:38 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Jul 31 11:28:38 2025
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
Subject: Re: bug#79094: [wishlist] Optimizations for round trips in tramp
To: "Michael Albinus" <michael.albinus@HIDDEN>
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-Debbugs-Envelope-To: 79094
Cc: 79094 <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.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--




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#79094; Package emacs. Full text available.

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


Received: (at 79094) by debbugs.gnu.org; 31 Jul 2025 05:34:09 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Jul 31 01:34:09 2025
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>
To: "Joe Sadusk" <joe@HIDDEN>
Subject: Re: bug#79094: [wishlist] Optimizations for round trips in tramp
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-Debbugs-Envelope-To: 79094
Cc: 79094 <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 (-)

"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.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#79094; Package emacs. Full text available.

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


Received: (at 79094) by debbugs.gnu.org; 30 Jul 2025 17:52:50 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Jul 30 13:52:50 2025
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
Subject: Re: bug#79094: [wishlist] Optimizations for round trips in tramp
To: "Michael Albinus" <michael.albinus@HIDDEN>
In-Reply-To: <87o6t7mmoi.fsf@HIDDEN>
References: <87ikjgo13n.fsf@HIDDEN> <877bzwnxj5.fsf@HIDDEN>
 <4c29df968c7a437e5490cb8d644dacbe3f27651f@HIDDEN>
 <87o6t7mmoi.fsf@HIDDEN>
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 79094
Cc: 79094 <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.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




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#79094; Package emacs. Full text available.

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


Received: (at 79094) by debbugs.gnu.org; 26 Jul 2025 07:33:12 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Jul 26 03:33:12 2025
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>
To: "Joe Sadusk" <joe@HIDDEN>
Subject: Re: bug#79094: [wishlist] Optimizations for round trips in tramp
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-Debbugs-Envelope-To: 79094
Cc: 79094 <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 (-)

"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.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#79094; Package emacs. Full text available.

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


Received: (at 79094) by debbugs.gnu.org; 26 Jul 2025 05:55:57 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Jul 26 01:55:57 2025
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
Subject: Re: bug#79094: [wishlist] Optimizations for round trips in tramp
To: 79094 <at> debbugs.gnu.org
In-Reply-To: <877bzwnxj5.fsf@HIDDEN>
References: <87ikjgo13n.fsf@HIDDEN> <877bzwnxj5.fsf@HIDDEN>
X-Spam-Score: 0.2 (/)
X-Debbugs-Envelope-To: 79094
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




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#79094; Package emacs. Full text available.

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


Received: (at 79094) by debbugs.gnu.org; 26 Jul 2025 05:55:57 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Jul 26 01:55:57 2025
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
Subject: Re: bug#79094: [wishlist] Optimizations for round trips in tramp
To: "Michael Albinus" <michael.albinus@HIDDEN>
In-Reply-To: <877bzwnxj5.fsf@HIDDEN>
References: <87ikjgo13n.fsf@HIDDEN> <877bzwnxj5.fsf@HIDDEN>
X-Spam-Score: 0.2 (/)
X-Debbugs-Envelope-To: 79094
X-Mailman-Approved-At: Sat, 26 Jul 2025 01:55:55 -0400
Cc: 79094 <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: -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




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#79094; Package emacs. Full text available.

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


Received: (at 79094) by debbugs.gnu.org; 25 Jul 2025 14:41:16 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Jul 25 10:41:16 2025
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>
To: "Joe Sadusk" <joe@HIDDEN>
Subject: Re: bug#79094: [wishlist] Optimizations for round trips in tramp
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
 W7+x4ypZigVKQVbDXOJJrv9KkJjgJiR1ncxqajnfvuEn4FVOBd6dmVDnNpGo7bcqlN/g7zc2P
 KA/El8wSe8wLooK1anKt7Zyr7+G2juUoWy4WHZOxEBhB5LvodJ7w0ti97r+6SdW3qhvLnlQyI
 mTzzTr9I+F3x7SUDDmT+QS91Ly53sh/FpfQBETzJ52Djzyw5eQULXv/yL/E/XiKb+b2g2DeZu
 h8LUV7w+KvlgkDiSk+ZwNf9cHiky5x2czNWUB8seX96GYYH8Rz/xSGy9t9XP3402xiUgZtXrG
 3DO3/FDbbIOQot5tfWhoWq92fYp2IS+Ox7eHs/YAvzUz/HPsE6IowjT9DZngHQUjfvwxW8/Qx
 UNlbiaibFhYdGKHtMErz7pSu3I6bBz87uvmK+lrWdbFJlUNsayE0+ogVLpce+U6K+ULWuk/Fv
 My1QYM1IfzxRl5OatdSaQfz4o1T8TA0OiypgAaYDiticks8YxjjSQiM9G9jNENsf7JNBJHXpd
 +IhjMpfOfiW6VYwdrc4b52Mur0ljpmZhe9+bZQUpFw4GPYHJjxhcedgXdE1vaZo4wCUY5AfIP
 gpx5zhv89YbttO+A+6fi3jxw04rEczRPvgoDGGNfSAJ1/K03XYHHEsXFd0r+np3thWhG5AZCd
 Ujc5NTxHd5fpcfa/x9CvhH4n3aR21FlUa6WrIf4Ofy0VWkJJi1CWIWmF32xVgYoz2hvM1YzsD
 y02sv6NBfgkH5475t/RF6grQF8z0y0MtwW5hhiX4QM+avLM/qGyl1hzFzLvk7+fI8QnTNdA6L
 Zql3BWmyjC3rOcq6yv9arOMF7n3efjJ4ZZ+ZNh5uFQoNpGfBtEWY3KKJu8tZnZbimKct5y2jp
 oUx1O2BKRfWQ+Nz/Z33YozwUZ7Qj0vtKicUWjUsXRgLLenS72h49MUUCd48TVNXR6XtqfSsKJ
 X7lf/zPrmURWSSj6aJLBDmEVczx2oSQSRtYVAxljiH4jEYh7GrqO0ZhTyXP/nwMYzuIC6eJPm
 zdvZBN6E9Po0WnIWozCVlkuYe4yhWnIBwxVpb9Osctpx1I+0OvO51Oztc1QsL4uytENmkf/EN
 Z28JOleZhRT+EWXD17J3fi9PFEFca+HjIUgdVcFzD3O2YbM3IygyIP1/7F4Y1nhT/3UQPq/w+
 fTFBxph07vBfLhm60jQZt/hrv2qCHVR53I1eFJU/MGv0IRdhb+PN8ajYon0qcg9J+W7PyQV6Q
 9LWF4QP0rVVinTIHYN3OzhzPBqPVISnpzuqmzhOspfDYLCMIBOwa8IXF6jj4zjwTRga3Jk3u1
 mUHpVkKFh99/42cbhx+U+iLbNbuNcz9kEhPR5So0ufmhYrLxMmiXzvJbsfyat+ywXPZjdkgKs
 TxeAH0IfvtpYzIJw6q+QD0TBZ5X8r1Q2prouMp4xpc8UELhqrg9oZsDb4mb3Csqp2wrCakg7U
 ybxzq23s8S1D35F5rohiQBzM93APUQd2gh8I14ZbF/SnlIZZAzjefnoubafvbDCm2wmsS5LuN
 ZHTrhbrcy2vkMOcc0x16D8yK5iUAuhnS28O7WOG696/E7mPiCzjokl7F1FjWlrKu6nwaKGAZT
 R+t/x4sQI+qbvRqtg9JN61AiVEEcOtGj8YcshLxEY4HTe1VdCis0gfSVrnP4ldXjcuzhQR1fh
 xWRqdQQi2U3OD4dh5AHJ/OvQsc5NBw6RigmckW7nmiAsSAyERVihz0MpI9ROKF2HNN0quADQU
 qiI5HVWBPZ1boRTxbOmt7uXzoSS/GqMS3S39ycc0O8ctmaZTLjhU8NRmht5yfDSlCYe75x9ko
 OColhIdviQDHvxA+ImWzEhkI4DHiSn0rJdQrv5RbMnlpyHGa8TVhUTBTMJTe3LFZZFapIaia1
 kpULj+dJuPb03POGnNTGznliWQ8u6rNH/iORVs9SIFLe9tchvvnAPYch74lkIeMuqIM0va70Y
 UUq0cTnxpO03Xoo6FlYqDtZFq3N8drdNbOwn/DjMfvYBFpy7YfAN+wdoyB20WQ2kHPkHYbn2D
 Q0Ynr99kSXTG02eFFRIXN+ARBloZthYx8xc8jVSBdiRU9f0SjuQKwLw4A95oLP4uP4bIlWxtA
 qlr1yA9owXXHcSq8/gYLm1ys2/KBYiilVtiziBBV3kSQd8b9ARhWgZ5OYuIdeIdi3pNyM/tHA
 SbXSydj9cTuQ33jKHNNtdX5zleUwION/AUU6z73HWejQCNQzc+5L1MhkQKjz+d0gWgXoItPYZ
 W1su95I32XSqb4UxsyJX/nqiQfq/Plsj7MKUo+I/csDg1UIaYNGTWDWTo/drH05TFH70iQcwp
 yjMcnJNsafvGOl62bYBRCyiGnKNTK6sxusTth8XC6L6sKCvktMa9rAevNftTXIeAqbtkgocHm
 vuMFmrWP9ZOGBL09P9N/8Uzv8b6PD5Yzw4hc78jjvdscudQ9LQgWcAmxaMeD8F5uONY6hWZo5
 87Z6lkjsAaFK77dQJKuFy5qX5ymgdSjcOIeuKc1meM5jPi9zuqm82BXwWm2fb1MxAQa0N5GX1
 SKFH8eXqOQ+jUucTO6urVoU6SyLNssqIRs4OGZE2rq643gDXD3m9D5apCDRQkq0a0HZYV4fzc
 ipup4HOGAf9Bv3ZKFsCibWW34vYhODqPy6WcbSyz/Or6vBFsh4fPIH7ePhVk+nfM8ETbsWcJ0
 s70rPm4uFvNVeOE23CAJ8H2kdxW2ZCzcraaT/8Hh7fP3jmW6blmiUlSGc72/SvzDNW4oN5KGr
 DqoliQB8UXRVV5WT1NAta8T0HhVSg7Kgfnm7m3ep9ZPXl9m+sHB0IGwCBG6kvaGjr61SwgJ2b
 py17zlTYimGjEl2+OkBcTupzXf5lwIVCFhDzfM2uWLBSYMfE2AEIawhccQcMjF6Ly9kQXh4mK
 C+E4B+440QOhkWYgAZbR6vsn2/WepykwCKaS/7blbgRPrRCIiSeyN4SXJ57m9PFLzEIlObPMo
 yT8gU8McxHAKMWiolQDOELuaIH3dS/K7+muhU9DrecDkwBTJ0DV/2phofSzSYA9vjNs7wlAtc
 ArY0gEFoTFFKI34sAM6OOIObtG/2Y1pYRFgdW/R628k+zBXTyEEthnq7KScL0Bj0ewiGVn+EQ
 AlJEvrFLbEZNnUJkhyZ/qbE6+GxI7p+Ve+DKrO3s0wURs0FGtnJmVuKuUE8uGVUztFKLspjbn
 TCWhWDIrMscpq/TgNSJm6ooRtQG8AWTLQh0VvoSNvtH7t1gevC/aDz8+FmMMSc5aMt88zgyee
 yL253p8rPk0MAAMLln4vczW2Yqc8VBrGF8mED8CXKBhV+0b0Di68qQKjVratf6LteUEczOrmQ
 uterOSNB07P5P8L2JSXfdtTgZsiCjK17GikoaYwiUU5Chp4BRS4AMBca70cTLZku1U6pjNtai
 dXWfipH/oYRZpFFWiNudtLIUHiGM6B+QHwByXyS2/VHvSyGyglyiX+4xi3gUGghF3r2utd0j6
 Qr08ygZfw2HUXPZ0+/drlS1wRNS14Pdo=
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 79094
Cc: 79094 <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 (-)


> 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.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#79094; Package emacs. Full text available.
Changed bug submitter to '"Joe Sadusk" <joe@HIDDEN>' from 'Michael Albinus <michael.albinus@HIDDEN>' Request was from Michael Albinus <michael.albinus@HIDDEN> to control <at> debbugs.gnu.org. Full text available.

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


Received: (at submit) by debbugs.gnu.org; 25 Jul 2025 13:24:32 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Jul 25 09:24:32 2025
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 --------------------

--=-=-=--




Acknowledgement sent to Michael Albinus <michael.albinus@HIDDEN>:
New bug report received and forwarded. Copy sent to joe@HIDDEN, bug-gnu-emacs@HIDDEN. Full text available.
Report forwarded to joe@HIDDEN, bug-gnu-emacs@HIDDEN:
bug#79094; Package emacs. Full text available.
Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.
Last modified: Sun, 9 Nov 2025 12:30:02 UTC

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