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 7lwn3fNDF8/Sq2tywkbz7CPAPdGB98WWcjUTGbnjupkDsYSC+E+vI1f+26uHJNW5tpEHKAAoT IFjfwds2FvckxI0Tz1TGER8BWEJsyIZt4/SMxTTGWRZ8P24igKJ8QG+AhQcddiKl/S587XRQH F0HSleYr5UH5RMqOXoJe+psHjJp4caWJgba56imd1YqEWlGSsUIV0gR+gr4WR/54Z8nlOsSL+ 2soe8T7QYAiQVNk8uzRu9pnAQ4jA9NnTX8vy9TR+OQihgyukGwN+uE5z2pOp+/7T66gjoQmWQ aCzCvORv2idZYgwUchek1jVzFKWzevQsBQgRmgCVo8p7LPeVyqOUzCULJ3Mn2GbU9txH6OHyR bqa1y6dbkWbnjrOR+hbarAFgITxAJJlLJwkI+HAvIHgtF2aRIzPxZ7BdaZ091mkBsVc/k25lJ SixaP7xkuZMglPrQpXnuIiU2ZHiuqS87hdJiAsoCtTS7qPk9p9/KWi2fQut7tN+2vKA188mEF FNAD/7fjM7vu69RWhedY9TOauTvy5qxvBPOZ78bJpHlbVwQh9z1rG4kwzy2CXkBzAJB7jQgx6 d65sxHwTK0VvO4QvDu9+Nq0puu+v7e5KvW0yTDMjhB9YSTXb/myRfPtaCVYQcQAgvTmZGZZQN e7oTAwA3V0cCKXq+cdtQgQ6ChhqVETLa61vrntl1FvhF7xvikVVU6iQFI0msuzdP92ChDu/yU P50qRFue95tp0N2yeyndxdhq6E1p4B2HaIK6SoDylTNaGkpuO2uQJiCnF429tZEbYZQMs0dOe 5qiXhBugGjDnX+4fmnlDhyeJ9Tnf0hhKVp3wCLbXTKm8UL1P3tZsVk3VLqVTgJLtc5XJswHaK iKCn6F6VrNPRd7N7phfSR51TFWq12iWS5e6kKOVpaVVW3ICOhfdJHMBZ3DZIBkuboV/k/iAmq grw/+cbqELWfeMl5QukGX2R25+wKYWJy6M7AKSEvyAlhh4Vdv5KGFWktTJKTPvD1VA5JXA37n wurnq+RpN0ln/dzdn2xDZvPHPA3URyq95SOP9fRGskOr2Kk50AAWrn/kMwMrqIXK7hKavcHKi XqP6BoGtBlOfm1Vp5Ea2CZm1QjLIBgwpbJkpd+qX9yey8xrgUGyE952DPJ+05vYeldHN1KiKB wiJNEKPA9uGB2arnmwjWXWw8D1I9/sPsd/8l9qDWytKl2eT8sDbUBEwF247tbsV/6WVtZ8Y7E PfK93+B93Yon0vBnpFyNHOe38nEQRV/5owdhS/TWhJUPs9ot1MCaQveizvJ4wd5I5bkr0rZpV sClkgwdSVRLL/mO/J62C6/n98/2ckX64/kj/pJrpYyC8TGw15IVSpbix/USHB9Jsa6vKxAaze 7CWXi1x9PVXmE+phK4YpM0B8mxU/SL5L8/baP3r9cjRfVCKlCCLB4XA9hR6dwBa6MJGn6UO2F odRwxjhmf5aWkKJ9V5VZnKOwNzhQsaNE0Jm3nAhOAQkqMhgzkRhU7hr6ioUNaSH+Kiia+aatz DfqgfKSddQJ4rrcQtdKHjOXNtGJNoVbiCdrQUhlKLSfjKZf6FAO/YKeo0OqSNVxQ/XbINFnK8 rq9k+SFNQNCPL+3TorxLvcA85IDUB4+ztTDHK1JNCXq1JD6JXL5zeQRPQJq/1gfSQgXenQVdh 0jOnVw0VnVqIf5M9K0Ek9tZc+Pvz3HQF5WTWclrye/PGhO/yw/LsZp2IGFaMfBbUGkg3Ud80P jym4YA7IlPU0/uM2QVdm6UsuwW2+s/Wj1cq0MKXe1FdM7IfPNVBQYL3AXuUAQOv7clkZX4jlz KqxQDrfcc94gLsFl7PtIXoze15At7vYw6iWUmx5/hGcU6pBoMv7uBNsJY6nuECbcrZl/G/2iD hYUCkyZrOs1ubnGcv5LmsDoBvB9u/2Wmron8A4eV18RyQ4E0krRVvUsAQrF5cm9XTF+KMxsPA vKiUmcoZzmn3U/RCpshUczvsfDdbnT9OZmdEYbdTtgrZht2c0EGCfDe8QMM5iMwcByBdkYiyf TWwgGRJLj7afqEds+Fbzu4f75a5vneU0CClUoaUwYpBoW97wIaH1fyH1RFfaSo/oUd9wTV9rs SKOMakc15TNRNIudIV4CPbsb7r+2mzuUweWzximYWn69aYyb8hDbEaNxjS2HQ8/ClyFTbcvHX UytZ4g571FafSXRM6HonTEvomFTqLh67RgnYnz/0/6eaNiow+stp5snGl82wZFVV1gGZ1rJJo RGl/5kJW5Q3WIIsk7/v+uezaIK5wgqqCgkdTSduA0uHdnSlINFrB1BsoA9PdIyuWfL8t3w4NV zHkIBG9l0ojv96UTl/44s6RFC91yHC0yRazU+pwY4eZQybda3u78eHUdYPQLOFsZt3K+AD3Wn aGzW0VM3RJ8y7jY7BmNT4sc6lIUytxVcY2tIiW/6kC+f70osQ4jEWr8HGV21QVtH7ZMdI95GI mY42yoQ6KmHCMNIebUfr49uwRTtDYLr8jeVpS/0QBADseZBzgGLQB4Ie5wDbvRziqd0RgKpFg 6h7wZ3bkKL+b/tmQBRVNCf5R4NIqgchQW4ilYQVSD443F6vnisv9g2r7A6QEcAgNlOQHlFWWS 5ONkHPpEH3obnR8Mq8FYueaEoH0/rC7TkN3XNOA7ss9h/klDGTkQAm/IrdIcGawO8B9MFpNTg EmTcYqY41/xh3cLaEncFIVEAMSYgyr0+clGHp2UyvE4RSWITE3nKPIsfskE7j6Zb2lmuRK+WI awiHPqT5WpLZIJGm6YJm6BmzU1+0i8SaVYXHKjjGnD9kqlTCtSIOSTjxVSnH3rW4NtJYPwnnw DrnahJ33v+2plWzw+9XcvRx3BE2WJI3afIhh1CxcpOOw6m/WsGWTQTfIBPkN/W9Fgn4NEU/VM FVOVtp6+O+XC1pZ7hWzsDnvbf0dWmazUxj94sJ5zzXJ/550eiFGpWrTnSBAri/tde1OA6yO1L t2srSG9uYsOm9gaEI2mATbSl9KYyBBpne6FRqpX/w2gF0DCjaPqWNBnnCu5iYakNiOP6fcNo7 TWqpgohnyu8dwTrWkTNRsvNiXQplCCIwQ7o1FdrZmN7kDM0RCEFR7SKGzDLkeesIkb48zc9kn 4Zf0fSrg468Q2GYXzzmc0o5jXD1tzlmlNTx5w8km04v6k2/T4nK17Oz6iAZmxZKIPF3oy8/d/ /40KIBgctCSVUnH0cS7uHcO8VcZ8TIpXLTA9bToHg8jMv7tw+yZHPLidkLckYLnNBo6gg2WuC NyBkCZoaFhSQu6VO/90NF6HvxF+12BngYH8OLAaxqPKsBwoSoYW3+5l4efVcE5kyiVCNE2mMa U78s/gYQhsLAFn/bt4PfqPx5ZYhSMn9gb3BaJaeBUpaM97Zi6BU5xt+FGXbHzvnatvsqpqzS5 xufBw01s9BDlFB0RCmkcJABhv1kjUVCg9SK7pnliu4YUfpBT7N8j/lHu1lqG6HAzMWHAQeENT +CG09OL+yzeSm0A+t3gfSMvuljfGq5lkbi08hm6moQ33//KYBhnI/bOzSqXFo9/il8pgXyG2O I7ZffYd9Hz0KXd3Uf7c4c/1gZn5B8ajrFfUuuXvu4EA2MZZtLYQCA8JSLIK7JSlIN31cRm2YD 4baTmjgcNwGizYydKQ0x3xhj8ajefxLetN+yKk/eLClCwDmcooBGdaJPJU48JH0u67ls4pEZo jZEecTxmZ/CR8oNTY1QKMxFcWASz5joVyB6DPpnr+qv6LItXb8ZIJCNxZyPvYa5mt7L405r4j Tw22t5bWFXLMHrmuyELq89IInL7RCoFCZCkq8RdwY3XQVu1xhFH688NXKMrrTrusfIRtcBM5q GIkemcIiSVZf0cX0+nFCi1YXPKTHnyLB1s9pI4OCsYhm8L+lpe1B9T0K88mnG+qKEAlj5tatN wSvFHiMte51/GvjtS2yneftQBpDYE92ao0v6+nVPU2BSVy9NwyEZrym2BCB9dm8sYygShCzVg eyjQLhNWWHFqNKfS45YneAFY1xCqtnhxNAFIESsQg/GaDQ3ARHKPe32gusIAqxYFI9Ibkunwx P04oTGo3srjtY5mbxLLiQi+ySgz3dwYe8KtNMRXolkPZ/WuS5dLJHtKiLBXKpj8J4pc81Zy6I qNMZpzg3nIIeTArUuJYJ1W+70+Z+b0bf1fqehHJqQN3QMeDS7tmt13VBcWEJbjMM/o3Ml3dwh pZJBaDEQ0mWvZEQLRd6I0/LCHEWg86abHt5DLaBSNAGxOrr/lSZtRpOt7wI+xg68x62hfHk44 1xYqdPZQqRUAVsVLLvUybSXWKB6HxuqkJF11IfrBvgPTDhH1lo7GWoCX84xKckLQ1WGZeVR2C fb8dLEQwRvV7cnTwF1AkvZlAEHLtOHy/omHJi0QctkqaJHoWCm9Vhuum3xjZj7dsT5/NZr11R g+DU0jsy0KNePg8bw+g5IoTF451jLzjaGWBgaSyLxHKFxPOHyYpxLjW+6q5QYL6/H2ob5UYN2 iwYkGW+xQt2QblYceoNdc/U8iip2oeuM6zg20mh+A+Sk8P4a2JRUXlZ3vXRN2TE1TjjmCzVQJ WIzFPyHHWky8M/dGFJ41esWa4h8eg9vrYTB0vhHOdJOJ8LOuNayZxAO8gszZ8Nyv0BIOwe7OP 0C1WYP//p3e28nEP/ZHQRjJErxBZiXwiRj4aFj0QiCH+kJWYb7nguwd76uzA2WkJWFfHfmRrl O3OrE472dXCkS3FxIk6Ekbr7pFtE8hTPGbQO3sssHCjqB3j15S8/D5hWpSphC5vYXQcXxEbZY LVM9/9dZHwvZv5dSdNrQv2NOmcW6mddY8KNEBnJLqCSN9w8C5njnaXhGW481OnWxlXNnfkdEC BPei9k2LHO9GeQ5nMzvR4nal+NCXXYjGE3XheID191nc/n0+OnNsLL6YO4wGP0o2RNiJsc3WQ Zleswg5XAUMgSb/yiVXxduIvlkWBHIuyZIAxExkIHLxmy4394i7URBlz62h7+WuXHQbh4xA6q +sENDikeQt4+7tpbaJ0qzME6AcW/UPK8oAJx0TjbUcucqDOrVp2wGeKO6m3HfoYghWfLqSyro 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.
bug-gnu-emacs@HIDDEN:bug#79094; Package emacs.
Full text available.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 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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 (-) "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.
bug-gnu-emacs@HIDDEN:bug#79094; Package emacs.
Full text available.
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
--=-=-=--
bug-gnu-emacs@HIDDEN:bug#79094; Package emacs.
Full text available.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.
bug-gnu-emacs@HIDDEN:bug#79094; Package emacs.
Full text available.
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
--=-=-=--
bug-gnu-emacs@HIDDEN:bug#79094; Package emacs.
Full text available.Debbugs Internal Request <help-debbugs@HIDDEN>
to internal_control <at> debbugs.gnu.org.
Full text available.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.
"Joe Sadusk" <joe@HIDDEN>:Michael Albinus <michael.albinus@HIDDEN>: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.
bug-gnu-emacs@HIDDEN:bug#79094; Package emacs.
Full text available.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.
bug-gnu-emacs@HIDDEN:bug#79094; Package emacs.
Full text available.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"= <<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>> wrote:</p><blockquote>Michael Albinus <mic= hael.albinus@HIDDEN> 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--
bug-gnu-emacs@HIDDEN:bug#79094; Package emacs.
Full text available.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 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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 (-) 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.
bug-gnu-emacs@HIDDEN:bug#79094; Package emacs.
Full text available.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.
bug-gnu-emacs@HIDDEN:bug#79094; Package emacs.
Full text available.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.
bug-gnu-emacs@HIDDEN:bug#79094; Package emacs.
Full text available.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"= <<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>> wrote:</p><blockquote>"Joe Sadusk" <joe@sa= dusk.com> 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<---= ------------cut here---------------start------------->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<---------------cu= t here---------------end--------------->8---<br><br>--8<-----------= ----cut here---------------start------------->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<-----------= ----cut here---------------end--------------->8---<br><br>So all what = you need to do is something like this:<br><br>--8<---------------cut h= ere---------------start------------->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<---------------cut here---------------end--------= ------->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<---------------cut here---------------start------------= ->8---<br>(with-parsed-tramp-file-name nil file ...)<br>--8<-------= --------cut here---------------end--------------->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--
bug-gnu-emacs@HIDDEN:bug#79094; Package emacs.
Full text available.
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)
--=-=-=--
bug-gnu-emacs@HIDDEN:bug#79094; Package emacs.
Full text available.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" <<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>> wrote:</p><blockquote>"Joe Sadusk" <joe@HIDDEN>= 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--
bug-gnu-emacs@HIDDEN:bug#79094; Package emacs.
Full text available.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.
bug-gnu-emacs@HIDDEN:bug#79094; Package emacs.
Full text available.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
bug-gnu-emacs@HIDDEN:bug#79094; Package emacs.
Full text available.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 CLiI7VQw7cWCizOW7K+35h9l9H50x3MubMLS10XsRrypQsr04BZCKI4Z5nAOBLU0LrLHcjgxy 3XqwLt1dPs4sZuQyLdi+0fravA49kP1eZg30fNX6nn2MXlsYOQOKOplX/iiRubta4qHhavs3D s8BHv/78/5m/+/H0HiSvOvFPl71Zvb2A7VETsL2I1sFJwRsdZbtM7GgIV0t429bf4bTOr09SU YRPJ0kgqbTNFXbGlXyH66QTWP35q4V88fsqS8yIDpEQXX+Oi6tVQH7hDpBg2e110rbcUticZC XQEO/kO6jBlBwt+1d4ZAm8148EyRIVRfiKmlQoEZVxIg5eN7JNWsYChO/Uvhv9rQzMI6m+eeY zgo1VZ78KYJdRBEQP+dm+olDSpUvkhNinCd6qlYS92evLM7mo5cjqO/lxUlsadPD0Yqc9ZAeM 2ysZSYnmSS72YG0RiKiVwz1WdTGdbvh3NqZ+8y4cGZKS4i7bY0FBsbuYe/pGTB/WGS98ew9zo G+eATIhx0HApUUgrMZgfd0ZvJTrDQFYFKFOud0qoKzCj3sc5IaGK/zTvDgxZiHlFHbSARo6/8 TfScALrncfoQFCRuLPG93ktm8mW+2bjWlpiozrU4ADQvsp8vATuWZdyde0LUD2pGiMO8n9cYV lzzc3WmxJqgduS59T3UKXPWUvnVYcs9xxHCoGU6OJzULJSwv+afL4sV/SIr30g7ecHM4I4WbH SH2HChPPgRD1YbyboPa52xyGORJqyYEcqXoJIWdWAnJV7RyquBhMujZSXlAwbMVmpy7qjTX8F om6R4uBIaao7TsvP6fXsjERUpQ1cJscaTEtskcIwWkt+NWKMQDwb2FeEwabCyh/i5UcGFwXn9 ZC90o+ToGmmdkJDzTefMDp32kwPIXnRVrPmpYcSB5uW9k87SNhbFlxDu11j1sFqgJzdaAdlVr saRZdDvfBznLnlUpwY9P28gotL60fuxepk+MCVdsz97JLC1VN9gTInC+dLKjgdHO9qnWuAHMP IG26+/azLx0Bo6uSHxGYa6NY9TFgq+FOiA/cIVZTO3VDj9RAaddM/rn3/Wqr717+x8qtGBd+V fFYQqkM0MSNBJ8OH0QKmnio5ZbzNUNfhmgnmeMLrGWjVIh8qr2QXejaYIJwRRRyDRBWa+lDNw /4eySp5On0qzISEC7jvRAZy9eLCHu7RW7CZQCJdYe6hvpoOo1pSeP8asa/5xIQy8XXNDIn1ew unJ02nDVe1GyfqrbRHLUG5gNzPp1xJHb4ZQts3kZ4ytYTEteAY9YuoOyFoUrUn19SS0P3DLs9 plBGNTZTC9gKykQP3w6jYAfy5J3j29z3b7mH+ylucRCv8hQOQD9zVf6ZQwbYR/W1M0Tzs7++S eS0r9s8pK/DyhE6BwytMQhu0GL6N5R8kFqia4Hn38W5dArqv4nUshhv3VrAZqfF7/fONbqKmm mXwhInDzJxDThNp4cJne+ErUm3EKcIjx1sMdbGWHVVTGlrYGpt7+nG3wYMsedXsP4qkd9tJ9c j4PMvrnbz0PeL1UhHkZVzq6qsnhUMKtPO0z/bog3oYd8HMvE1j+s0gcbG1uzvpQl2+DzA02Fj rN6oXLAYofOm/vTe4cRu6Gd2hnpdrkkVRFknoC6tLhCoSuw833+91G9EsG+ZUN6kF9NrCZyOe xL02AmL8x0rGosTuUuNYdaGseeEsgBHX928dHa5RUCQ0jsQMJsWL9IzQuIVznhaTCA87ct7D1 2qOXFbErsHJVrfLfjzZkOcXrujwf2Yy/OwFhdOQ2mbuXdSUg1l1ZphUDBiMPf6k6/X2jIsx8G 7kjzwZ3+lKqNYbwcHR8RFwIBn8M0HweAprDvJnzGnkWBFeerYepwguZfbXSz4t3KDOQK4jtuJ mPXdsmTbWudoi2Lq04vnuWRFduolWv9uoJLRF3IibASPdMOMH76SIZS+n0d+Xswxh1pa8vUQy +UOKcGKGLNzpt40dnCEbxkpJqlRgOEXSf5uNN+H9HJJPwACnDK0AJb9GLyJvgEwS/9qBStmnL rYOGLKFZ9udXa1zvvFYDfCcEaB95sf4R+MP0usTi2BJTd4uPgyygi52VOCw7ueiey6wRRh/NB sZmgurIUdu/CMFBAKha6UrqyCcz/+qaAgPJtd7DrzIQhr/s9lkizntEY15GD7TOmxmQbO8OuI MW8DIFiSXzoRH7mDI8v0wvL8KmZ+K2Bg3DJOjxtL9ElBg8/zw7rZk/jV+OWRdhQHoEPH9BBmU 2jvnHOf1ODFElBiD33eKSsQAcwscg45eu3VBdS80jwpNV008GxZr5b+WWTfeLNRhwZ25pnX5X 3zkQA0bKmfFyxjL8//Phu+fvf0SqxPWT3d/Q4NeMVnLA0zkvahgbw1XX6wLBWLve6YFL+V4sm WifwOlYzoi3eAimgC+Jbwy8LNcnVRrde5uKNto0zhBUMHV+yAD2zfB6WlLOI5QgsAUSBrL5lv VIO77pKYYn5WLfUqPGdqp5UV26oqVGbWQUVPfiVXFQgIIjJak6RNz2jY6hHYYLrTpov6zzLFo qQLp+xO3FVH+pxTirQYeoDFI57zNcqR/bFjF5L6OMI+VHNb3zRzICSzH0jOht/FA8go72EXWJ oxVx+yvRif329th9fXeCYhDcXrYAoEQOTXrJoJ51hoO40hoel7okTH0x3Y+Khbd0oPr1cNaGR CzkpF3MrTr2d9JAOT5fKESKr1V50dfdPVorsg/HH2Kk/F+UtzSCZWQrqpNfYuggTE9v6P4ZHb e3mao2G4cwNPVRi2081f9AaIytwF1n7EA9CRwF2dyrkZ2+KnV26WKbGxL5z4ludv1jxK1xRau oGL9cQgxjQMQbZ463uQJktypgCYbw1yjnioI8uEy3A+DVZ2LqyvSPwQ0F9hpwGAH4Ew4MVpoo ukaWTAN6ymMZmEDqik7U6QofsN5q4hYyMvTB8bQS487r5bNNre3ThXlEnZ18UhkvSTr6LizRi 9Rrlh1s+d8Fn9R96HNQLTpj6+wiNgYlCZz/aoM2Seqw4VUcBZTrrAad1SMislC+EkCFB2TAiH 3C87BSJp3yItZcXVBm70wDbecOo1tQ3XwpIvTqbi4IFlnuH2WW/PsoPu/ZAGnMW9tZXJqQf5O ShOrKQZFeF+9iRVZbZJvKYxA1VLB80RrXJ5IvCls5PD5WGLAIuXz3prpXebnv1K8R6H+swhFc +EFbOwoGvY3xsW6ENfPWt0VPfZK9hovNo9GV55AvS8FtTkcOFjniYN6NeJo0f/EdYI/1kYykt PrmWz+j0fv6+8y9Zc0VkpDfBFsA5yD8iJkBEp3ILplP6DqzM8/fQFzMaPNpowC3Kbj434FBQx Mwp/FUBCbrI5Gn6X722AdxIfL/vYhGjyB72pom90FBR0iE7KDyBAw2hBIcN+Ysz9AqektSJNE 7ObgVf7qxCSmUXoqUpNTwsPQVPjqzyRQ3ivc2Tu4m4D9+tbAjhbSlJ4fLOhI8EzQgyOSvYDDW yeC35qS7BsNkzXE2GcWWl3fmTc7jdSWIXEToRSJhq8vwT0HH/56tT 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.
bug-gnu-emacs@HIDDEN:bug#79094; Package emacs.
Full text available.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
bug-gnu-emacs@HIDDEN:bug#79094; Package emacs.
Full text available.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
bug-gnu-emacs@HIDDEN:bug#79094; Package emacs.
Full text available.
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
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
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.
bug-gnu-emacs@HIDDEN:bug#79094; Package emacs.
Full text available.Michael Albinus <michael.albinus@HIDDEN>
to control <at> debbugs.gnu.org.
Full text available.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 ZVvpxnNmoBT49vOUeGeSWsk03hFlhFa86IjeraleztXxb3p3ej0ljw9abqlXAngcBKqXeofC+ xHYK+qVK65EBr8s2EkEspEDjIOfZvp+4AoWRWzj10oJQLj3K7uqq4i0Ps9lzXtR8IkMq4w7v/ +urKWTk4Erc+juB2EZmO9pnEPabdDEPmYFBGYcndjAP/+G1M1UsIJzqIgZZU45umztHA40UY5 opKKIauwP1gHWULxsN/0gdR5f7AKCdj2eI2w+0j0fWgcCgxxgpTbqS1Zies9A/V+E+f/TX5fo 7vONreVRXUkD//G82pKLQfu2T/x/PxEKW8LnkdFOUk31uRXHPRjzNCDuil07zYBwZUgfyYYXq V5d74SMC5zXfaJxqXCUkD5T1BtSoy/82c1hFNo2JNTFJrMmhXvOPfgwf73KWzGjj2vOBglhuy FjsA26Z9iqHUVgY99KCNnoJKaccdv/rtaLtE25jQLc3igyJpe3kNIO925wcdLgJDphhFV3ynE 4LJCRHITGO1Oc8vSEIaZULoaiXaINvTWYGoTfJPkkqTfUj1PXSRnW/dUnqAU2zEFAQ+34X6i6 W+5qRZo1mvLJIMALjDimTns4DoEhplLrbAPspwaaalEPWURH0HFPpxzuZeHIC9vaEhV2KXznC 0txLi5SqfL5crW7ya7tQ/WvspXYSIo/ZOUW8iy+oV0IxPbzGq/cTQBeQ4/QUTJKN0y17o+T3Q lqCySowKfL66qhYXDyFXMiPLs3M07oXI0qiNinTIpfoNG6MAUmSbgp5VeH9tJWb7wNw1qdmpB 7p8xBuSj+PZNF+xLaMPfmIWZ3qLLdBGJ54fsE0AK+maDwFipvW+LhiNE/p9XRTbZGj56g+gkF WjA6NS1q+df62JW/6lAakoGXIw/x6n/mqLDAixXo3c6o25M46IT5ibEv3e/0gM9gKvFEzTPBc +eMrOEHIu9+SG5XTm+Q/UnkryNmjgj18/X5B/8cfkj8/u0VpfAraq1wOqY0hqnPrZxnHFnKPw 01IR/61SlzfBTWXreVsrL87QtnQVQ/p8sORS2lwv4iUcbdpHjoVjW2cW2u+rAnad6N0DeuDkX Eb2ZbhiLNuFtbvXK/HuX+Qq8mvxG7naYeHRhyhdOmL0BjVh9MPnBlJAVAodMLvur6D9I4P3QM DK5Ghn2spibg2g6kHHWQCuJA0lMFJio71IA6qWaDJJzuL3+KoTqvD0sfjfNOtxQK12kEtAQW3 I2awEvH/TisdtT1G8icAeKXwCF1thwZKCvYMcqU7TOXk22jwzJhpj+bqHkgVhDMroVDWKqK5H 9TXDR7nDrVtss59XnnB55rDeMX7hV62AxYWf0AeWcha2gye/vYj3R1JlfOhDFf58pCE5jgHav 2IaDdnprDYCVpLJARq+2MquXs9g9p48TrKfYGjIFUqpN2ppyqHKVkBwzMbwbifXOLZiTQXUO1 Q91+Cg0FQOloUGSgWy1eP/vGLSuisyc2F9aDU/TIDAFbNbJk6odcuUy+nYqZ3eaLHYeU7y7e5 H79xvfbfaEhkt8f/0Z+FbU2FDC5ilAkEUO606xRM878lg8hGoPs2nr0evSVf43vHjbq54JFbN 7SZqoU+VzXRXyAOUpCp8TPV3cTbWB7d+W/BOK2PzyNjfx6xie6Iuhj8FfmjFwHe9A+j3B1/KX e57794o4aSr4VnlIHvEJP2DRsJEujF2pZux83wcbtDp6kQUVAt3A5qMZEjr750E77RKtAwV+9 XOT2koRmJjYcRTlRMcVyN/kD/vUDACiICwi/pSFsHkazjSFL0kfXA3OkreJZ3iKIQpEFag/0k 98+U0REG5njvE7jPE+wamu/jICJgVrCE/ce9CAjYp1/XdW3yXrVPdvhzV5ilA4LAp2hvmHi4A pGIP4uio3U5qtksZ6Cbcz2pa/v2c0tNlWGZmhAgyVgr7Pa9pialv0Q7+AGqCdPTN6f3botWQ1 DkuSNo8EHMaRRuFB6js++/5WnaD6IVLPNQyZKhdguJLkpbl4NnCgBSmkXRMbZigx13kfxVG4X marOB+jo5PyFUmVo7WZ0H8zfSXEJDsR7OUY8mY6NtXthoFsPSWW87tkCYZ4/mHzWJHdUD6EkR eFuQGekiYymoTOwx68VhS1nD4gctC+ckHrPEIxXDn/vh3pvls6aH6fCUxTJ6EfuxfgYiP8C6j D/1GGO/ZKCHef0N8WiD2p9PG909JIp7qXQDFGS1H1cOtUjAzCVZfR9y+Lp9mVc3uicI92P4vt QpyP6MObudeG9lttIKacAgfU8jhC6GqmXudXrCw8DO2O2j+FccqvPM8D7XXlpwLGQ/vtso6+7 2ypXbCRouj+3ugNLX1L3ovN3pSLTwSs0Dshw9sBZNsPfixqV3+pKJfEjmHTP2N8UskUEUxgPj QqDOsWx8wMp18UPLnTFhtFd1D1ux5W5mmhwokW4kK++R1Y2WfAiFX2cXN4L4cc48OTJGpLpng ctL7HEtb6t8Q7w9ZQf4qjQnMKyAoXQgbsfJ9YxNUIg6VgDfcKksGh5jgyyINsA9+gmSM/cA2V /Xqi8gw9gSENQjDDLtu0YBZaydVJOlcTeDMJrGFr0OtIFUbUGTzm8BbEfjOzDGWpdxLJR794a NDBT7rFSTaJx4vfJ5XKSb6cG7xhavSUYqUlQ/uSLAUuNyeEY2nsbOmDN8tjWaVPNFawpAma3L ybLhLNAbLc2vTL104PFozKWQ8mENKYzmrgdG1mTcB8Rai9qrO3+yNdakw9DEWmcD4VqYMTYyw I0acQZZ0nNvMfdo6STxNluplJwdTqrqHHrCCR3j1qlQ9DCqVvdgNsc8Pk1VuF7X/e9htsmol2 r1vyErbJB4aDF21MzSBFnreyIEh8LJ771fxxXJUrVt+TuaZd3hPOpOBn29MYf71ZAsAGJ7FVc 7Tfzd7tCQ6kh3gleM7kikq6x+qcZENpp1y2k6eEgzU1KaMMNhgAwyGrdpGrGsCX/4xq0l58s7 n/rq+JugKbZrzTn6zZabJ9nz1BWZYCORXYR/n2Qnx9NcpRUfZr8JbXFl2XEyTvMhlm1KcTVVD Xw12yTyFqtTvuc2q89nU7PmOjDszedgINGeKgHVlKtRI/UfVIlaZTIdSoQ26ffo3SqrCQGwSt PPA2j4+Dc1yizhmT1P89mfm2qwqF3/jMArEUY/TepLhxWljn0CGXodiCaUhvIwRtFuj+KUd1B A32pOEk+/DMGXOF3beft3UzRWlCCwyfZnZBib10+fx9QV0zEoubOgD0LIj8i6eKuw0VAMOKRi WBGiDTkL+1nwpnwG4xEMhhdp/1E3xYpcU7n+89G3lTgFfY8UswTJFMPH7cWComGb8mzypZKtw B3kmMnfhsZBW2Io8NVGr35qbK45bonU5h2QoAV2c874WO0IEUWWCvj/c2xrO8KFiQA0SL/0gL s6OCeQhlnCPWsqXbehOFCi26+P5YWM2x/5iJ9KtoKQZyAfhnma4qWSyaUb82JQ3QzyWby7kkz NL4y6SjgBY9W9aDzA2FzSLBIF8cjvSdNLt/LA6ihcm0NRxiHM3ufag+H9PA+WMgAcj2KzDclh Cnwjtjq2bNGDMx1CrOHQtwnoWCjIEAI71w6bXeGBSvT99Nrwtq4v0UghtE3twy2MlJp5M0yqH agKOK1ZOnaUwRl/Lk6EVlzabwONl4YNcJcyV+xiPqqXs9QhSC03DPPStO2h4J7vVK0e8RfSqK LybYNuUPfekLKxwGMYMCiVrRz3jT0WgYOs8sRB5TLCYt5C/w== 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 -------------------- --=-=-=--
Michael Albinus <michael.albinus@HIDDEN>:joe@HIDDEN, bug-gnu-emacs@HIDDEN.
Full text available.joe@HIDDEN, bug-gnu-emacs@HIDDEN:bug#79094; Package emacs.
Full text available.
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997 nCipher Corporation Ltd,
1994-97 Ian Jackson.