From unknown Tue Jun 17 22:29:13 2025 X-Loop: help-debbugs@gnu.org Subject: bug#59194: 29.0.50; Tramp autoloads and ordering Resent-From: Stefan Monnier Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 11 Nov 2022 14:08:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 59194 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: 59194@debbugs.gnu.org X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.166817565331820 (code B ref -1); Fri, 11 Nov 2022 14:08:02 +0000 Received: (at submit) by debbugs.gnu.org; 11 Nov 2022 14:07:33 +0000 Received: from localhost ([127.0.0.1]:45441 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1otUgu-0008H9-1n for submit@debbugs.gnu.org; Fri, 11 Nov 2022 09:07:32 -0500 Received: from lists.gnu.org ([209.51.188.17]:50330) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1otUgp-0008Gx-G9 for submit@debbugs.gnu.org; Fri, 11 Nov 2022 09:07:30 -0500 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 ) id 1otUgn-0002Ya-Mf for bug-gnu-emacs@gnu.org; Fri, 11 Nov 2022 09:07:27 -0500 Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1otUgk-0001D6-Sd for bug-gnu-emacs@gnu.org; Fri, 11 Nov 2022 09:07:25 -0500 Received: from pmg2.iro.umontreal.ca (localhost.localdomain [127.0.0.1]) by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id 8B1B78088B for ; Fri, 11 Nov 2022 09:07:19 -0500 (EST) Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id EF3E5807AF for ; Fri, 11 Nov 2022 09:07:17 -0500 (EST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1668175638; bh=apR2b24E2/ZZIjrMTtT/b8AQnNXqwue5+X2sWZ2cgOY=; h=From:To:Subject:Date:From; b=gVKBuk+qq51yULXjc8vCEU6nVT9FD1XyzKo+p75GJktIJmcmpAtGwnmwj2SJCGZMX SO5gwXa16sf0CiDlADEdWBk43RtzudMWfa+CCrK5MuVtzzm2c4EhjX4YPdybWI7N+A +IobVpaXzG8LPsMKZ12r18bsakQ5TB0p+blxwyFB7sPUSwOTAm6pLwejdXMADvELA0 Z21v5dAGB5mMEoKbcWClitG1ky3usNuTJiOsKeAWDfk3XYk96hEAeezY+bAsIaLpZq uJ/8ZxWMjoCspVqBeN0QVZaDErXbkarCc+EHazLSr8BomRpuB5Odr3HDxDeN9DV8J8 Vfvvyg/r/PKuw== Received: from pastel (unknown [104.247.241.157]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id C398B1208F2 for ; Fri, 11 Nov 2022 09:07:17 -0500 (EST) From: Stefan Monnier Date: Fri, 11 Nov 2022 09:07:06 -0500 Message-ID: MIME-Version: 1.0 Content-Type: text/plain X-SPAM-INFO: Spam detection results: 0 ALL_TRUSTED -1 Passed through trusted hosts only via SMTP AWL -0.111 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DKIM_SIGNED 0.1 Message has a DKIM or DK signature, not necessarily valid DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's domain X-SPAM-LEVEL: Received-SPF: pass client-ip=132.204.25.50; envelope-from=monnier@iro.umontreal.ca; helo=mailscanner.iro.umontreal.ca X-Spam_score_int: -42 X-Spam_score: -4.3 X-Spam_bar: ---- X-Spam_report: (-4.3 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_MED=-2.3, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) Package: Emacs Version: 29.0.50 `tramp.el` has the following: ;;;###tramp-autoload (progn (defvar tramp--startup-hook nil "Forms to be executed at the end of tramp.el.") (put 'tramp--startup-hook 'tramp-suppress-trace t) (defmacro tramp--with-startup (&rest body) "Schedule BODY to be executed at the end of tramp.el." `(add-hook 'tramp--startup-hook (lambda () ,@body)))) and then various other Tramp files have autoloaded forms like: ;;;###tramp-autoload (tramp--with-startup (add-to-list 'tramp-methods ...)) The problem here is that the resulting `tramp-loaddefs.el` may or may not be valid depending on the order in which it gets filled, which is not something that's documented/guaranteed. Stefan From unknown Tue Jun 17 22:29:13 2025 X-Loop: help-debbugs@gnu.org Subject: bug#59194: 29.0.50; Tramp autoloads and ordering Resent-From: Michael Albinus Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 18 Nov 2022 20:20:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 59194 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: 59194@debbugs.gnu.org Cc: monnier@iro.umontreal.ca X-Debbugs-Original-To: Stefan Monnier via "Bug reports for GNU Emacs, the Swiss army knife of text editors" X-Debbugs-Original-Cc: 59194@debbugs.gnu.org, Stefan Monnier Received: via spool by submit@debbugs.gnu.org id=B.166880279825506 (code B ref -1); Fri, 18 Nov 2022 20:20:02 +0000 Received: (at submit) by debbugs.gnu.org; 18 Nov 2022 20:19:58 +0000 Received: from localhost ([127.0.0.1]:38397 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ow7q9-0006dK-PW for submit@debbugs.gnu.org; Fri, 18 Nov 2022 15:19:58 -0500 Received: from lists.gnu.org ([209.51.188.17]:45370) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ow7q6-0006dA-K1 for submit@debbugs.gnu.org; Fri, 18 Nov 2022 15:19:54 -0500 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 ) id 1ow7q6-0003pS-Eo for bug-gnu-emacs@gnu.org; Fri, 18 Nov 2022 15:19:54 -0500 Received: from mout.gmx.net ([212.227.15.18]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ow7q4-0000v1-P6 for bug-gnu-emacs@gnu.org; Fri, 18 Nov 2022 15:19:54 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.de; s=s31663417; t=1668802779; bh=c6A8BeC2Z/3EtIA1MxbMgKuoFGa4mDMXVis2lwChl/c=; h=X-UI-Sender-Class:From:To:Cc:Subject:In-Reply-To:References:Date; b=TDMdP+JSjuh8HHXr5sJ94HilCyIziouvyzDMU0aujOTmA69d2tQPRGholsLoyhUxy sKtR7mGpUzaAUfWzo3BiSvG55y4mw/RfdzHO1dyBZO2zldBPkBvrSgi4yHQmPzK0jg vYMBGsYbe/swsPYY2qooBXMK7zHJbwNHCggz0P42opPr92ZgTHAV3HTOE4KEUJzcRf U2gqjOInQet3IM7PbkvR4DhNHNJm9aNEg2BCdwKK8T7BJAUOyo2Do0fYq6Fhi7u+VS Z945HFZNcNt70UiC1xTaSojgWv0JVfZrQpZColHr0DCXzRob2GcHghtsxsgG8FYZVL LpjiL8ZM16wPw== X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a Received: from gandalf.gmx.de ([185.89.39.6]) by mail.gmx.net (mrgmx005 [212.227.17.190]) with ESMTPSA (Nemesis) id 1M5QF5-1oukvO22nl-001RJl; Fri, 18 Nov 2022 21:19:39 +0100 From: Michael Albinus In-Reply-To: (Stefan Monnier via's message of "Fri, 11 Nov 2022 09:07:06 -0500") References: Date: Fri, 18 Nov 2022 21:19:37 +0100 Message-ID: <87cz9kvwva.fsf@gmx.de> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Provags-ID: V03:K1:fRCwhoust0tt6lDfZdCBRbbVfC45x/2C5XJyC4DjcLpDnzPBPrb 4mI3QyBclb9qoVQoaCQO1kgXbHMcOHZjIvSTn6hGIjWe9a7bYOXfd99Tz0RoMhn0a1BrPf4 +31cjmrml2HhxX724g78RzAmwj+OR3jdkaS1wF5qllDXd1kARRhSm5+DHn2M+VxqnsNqHF6 ouyb2dtw1bjWi+sJUmuMg== X-Spam-Flag: NO UI-OutboundReport: notjunk:1;M01:P0:D+CMSVm594Y=;O/hwgnzq42/3SHoHd1ZYZgalkol 9XgR2c+61tWdYQyzwPE1mKbh5GKJ2gUT5SbIWAykiRGiYSmy5vM/tVMikRusBfTG36wvTqhx/ MPbcQdImWa4EgNVN7ykV2vjZIQyq4q/BxokG7T2BrzmZRSxXnYjnDuwThPpx1tHLR/L7/NfDL uqN+EjFJzKmHhQkGPCA5tteLmPwTrT8e24DJmmY8nrh1DukEmPYztiNdaNOahQEQVE/Vj4gja aPccB8fB9QotbnZvwXtUwnjsnCc3jyh8/om3gwSmGdZuqW3ES6Kemi9F8ik2vEAl38tckluvb zdY/S/QFVLKo1flIRkb7942W3vBd/Dyu8xiu9us6kOcom8MiZR7R4haIfDbwSsDIrBcF3oLsL Tm5KoSjfmshIk0/G0M/3LZ1ofHmP9zhxFjmgRq93fsVnX4CgSRwp9UFtoXN0JSYknc6ZhgMGa 3uBPPOB/8NoQOVIO1ip6AG1HTqdrAL6QW2uYN/0qqsptylutR4n0QMHv3KDf3iDdKjN3l1zTN obUfyXaE1KBrwHgbEi9p+769p6xuChng0L3bZpidFMykLN5CPGqeVOqExe9TodJ8HI33dIPW2 9qt+Ca7c3FrHsIjnjCveGoqhO5fE0mUr5hwAZaXS+4CmFnGsMtPHhFMtIVuBSSBhY95squmod kcWT6uZVEphagpkk5mffwsRoqwP4ZJfK2RnEXleyIzyvR7MPlsgzb3CtyaL/mbMvrHpP+zYFB jXyTokUI/a5eVImTv8jP+ZUxTVA+esnoStEGUAzY1sCqlKOlZ3dHriBB1YAZaSm9BYvG7waNj 9F1POiTKrHxTQ7TacYArV3GdGNnswpS1Y5ba2o4LLUb5ZriAhskm+t14sarZdZBpjTsUKhx+9 2RHox69wirgodtHG8p85swYAtNsx2bKSU96Ov71gCpi4yhGzuB2T3E1o9sy9buaEYGmZ+2a3F lt1F9w== Content-Transfer-Encoding: quoted-printable Received-SPF: pass client-ip=212.227.15.18; envelope-from=michael.albinus@gmx.de; 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, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.4 (-) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.4 (--) Stefan Monnier via "Bug reports for GNU Emacs, the Swiss army knife of text editors" writes: Hi Stefan, > `tramp.el` has the following: > > ;;;###tramp-autoload > (progn > (defvar tramp--startup-hook nil > "Forms to be executed at the end of tramp.el.") > (put 'tramp--startup-hook 'tramp-suppress-trace t) > > (defmacro tramp--with-startup (&rest body) > "Schedule BODY to be executed at the end of tramp.el." > `(add-hook 'tramp--startup-hook (lambda () ,@body)))) > > and then various other Tramp files have autoloaded forms like: > > ;;;###tramp-autoload > (tramp--with-startup > (add-to-list 'tramp-methods > ...)) > > The problem here is that the resulting `tramp-loaddefs.el` may or may > not be valid depending on the order in which it gets filled, which is > not something that's documented/guaranteed. I'm aware of this. It was already reported on emacs-devel, see thread starting with <87edvw7bjk.fsf@dataswamp.org>. In that case I've added some variable declarations. However, I don't know how to fix this in general. > Stefan Best regards, Michael. From unknown Tue Jun 17 22:29:13 2025 X-Loop: help-debbugs@gnu.org Subject: bug#59194: 29.0.50; Tramp autoloads and ordering Resent-From: Stefan Monnier Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 18 Nov 2022 21:17:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 59194 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Michael Albinus Cc: 59194@debbugs.gnu.org Received: via spool by 59194-submit@debbugs.gnu.org id=B59194.166880620831080 (code B ref 59194); Fri, 18 Nov 2022 21:17:02 +0000 Received: (at 59194) by debbugs.gnu.org; 18 Nov 2022 21:16:48 +0000 Received: from localhost ([127.0.0.1]:38429 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ow8jA-00085E-BN for submit@debbugs.gnu.org; Fri, 18 Nov 2022 16:16:48 -0500 Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:8771) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ow8j7-000851-RN for 59194@debbugs.gnu.org; Fri, 18 Nov 2022 16:16:46 -0500 Received: from pmg1.iro.umontreal.ca (localhost.localdomain [127.0.0.1]) by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id 89FFE1000EF; Fri, 18 Nov 2022 16:16:40 -0500 (EST) Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id D0D031000C3; Fri, 18 Nov 2022 16:16:34 -0500 (EST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1668806194; bh=0P1ZsxQEjhnkIZBDyZOhb46dSADvd5eZAwtBEFlPJHA=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=CYm5SaCR2Fd2KSjqr2Gqb4XjhonIC94TjmMRxeVrtn1GUOeTwE6pAPBnmdO7bT7oU NfVbptuHvy40Soj0Kg2HaA590UHvbIK3CGoN3EmzrtAw1pIO9zUaykNkL+D9lsikjA kMo6Z3za1eLJlTDVR/IzzzxL+MDJOgfNqelnolMXqku5DBI49XOACoeA1L18WOb8rN iJ19sdNm4y2fRJWRuvED0L22dboncaUpnbyxRF2QF/kzTiLw8Xi9ZUqjeod27bVFiP l953XyNq8pJF0a7CoexeNm6vpbh85+rLa3lvhb27pz1wJ/Sxfd5tf27/BUnZ8gZXJu n9/MDScpXissg== Received: from pastel (unknown [104.247.241.157]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id AE5C2120A6F; Fri, 18 Nov 2022 16:16:34 -0500 (EST) From: Stefan Monnier In-Reply-To: <87cz9kvwva.fsf@gmx.de> (Michael Albinus's message of "Fri, 18 Nov 2022 21:19:37 +0100") Message-ID: References: <87cz9kvwva.fsf@gmx.de> Date: Fri, 18 Nov 2022 16:16:33 -0500 User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-SPAM-INFO: Spam detection results: 0 ALL_TRUSTED -1 Passed through trusted hosts only via SMTP AWL 0.017 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DKIM_SIGNED 0.1 Message has a DKIM or DK signature, not necessarily valid DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's domain X-SPAM-LEVEL: X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) >> `tramp.el` has the following: >> >> ;;;###tramp-autoload >> (progn >> (defvar tramp--startup-hook nil >> "Forms to be executed at the end of tramp.el.") >> (put 'tramp--startup-hook 'tramp-suppress-trace t) >> >> (defmacro tramp--with-startup (&rest body) >> "Schedule BODY to be executed at the end of tramp.el." >> `(add-hook 'tramp--startup-hook (lambda () ,@body)))) >> >> and then various other Tramp files have autoloaded forms like: >> >> ;;;###tramp-autoload >> (tramp--with-startup >> (add-to-list 'tramp-methods >> ...)) >> >> The problem here is that the resulting `tramp-loaddefs.el` may or may >> not be valid depending on the order in which it gets filled, which is >> not something that's documented/guaranteed. > > I'm aware of this. It was already reported on emacs-devel, see thread > starting with <87edvw7bjk.fsf@dataswamp.org>. In that case I've added > some variable declarations. > > However, I don't know how to fix this in general. Can you arrange to load `tramp-loaddefs.el` only after some initialization (e.g. creation of `tramp-foo-methods` or equivalent) so you can do just: ;;;###tramp-autoload (add-to-list 'tramp-foo-methods ...) If those methods really need to be registered later, then `tramp.el` can finish with a short loop moving the methods from `tramp-foo-methods` to `tramp-methods`. Would that make sense? Stefan