From unknown Tue Aug 12 03:20:28 2025 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.509 (Entity 5.509) Content-Type: text/plain; charset=utf-8 From: bug#53632 <53632@debbugs.gnu.org> To: bug#53632 <53632@debbugs.gnu.org> Subject: Status: Function definition history Reply-To: bug#53632 <53632@debbugs.gnu.org> Date: Tue, 12 Aug 2025 10:20:28 +0000 retitle 53632 Function definition history reassign 53632 emacs submitter 53632 Stefan Monnier severity 53632 normal tag 53632 patch thanks From debbugs-submit-bounces@debbugs.gnu.org Sun Jan 30 00:08:27 2022 Received: (at submit) by debbugs.gnu.org; 30 Jan 2022 05:08:27 +0000 Received: from localhost ([127.0.0.1]:35381 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nE2Ru-0004me-CS for submit@debbugs.gnu.org; Sun, 30 Jan 2022 00:08:27 -0500 Received: from lists.gnu.org ([209.51.188.17]:35926) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nE2Rr-0004mV-B0 for submit@debbugs.gnu.org; Sun, 30 Jan 2022 00:08:24 -0500 Received: from eggs.gnu.org ([209.51.188.92]:54230) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nE2Rq-0002fD-9V for bug-gnu-emacs@gnu.org; Sun, 30 Jan 2022 00:08:22 -0500 Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:60220) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nE2Rm-0006In-2g for bug-gnu-emacs@gnu.org; Sun, 30 Jan 2022 00:08:20 -0500 Received: from pmg1.iro.umontreal.ca (localhost.localdomain [127.0.0.1]) by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id 8F123100287 for ; Sun, 30 Jan 2022 00:08:11 -0500 (EST) Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id EC15B1000F8 for ; Sun, 30 Jan 2022 00:08:07 -0500 (EST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1643519287; bh=7NGuzLgxLngcYBmar/TX10iBKie03HEwy2iAB1zi2rc=; h=From:To:Subject:Date:From; b=k10wAEAHN8imbKbcmD7wEaIMjnsAurgCXPBRKGi70R1ShXxvRT9SGCym4fs4XkYCI wj1y8eGZ2Lwo8WvHLDWHX4H60rbYRE+kND3PmxokLrfEoJ8sUURTG4r9gWaFW8AFET 4BeNSj83HmGGzWGoX5rJQMs1UemfxDAZf+WLqiyraMpEK+UK/KqOKWKmJEGWaRQaL9 pdu4EOgVrUSa+xuy5wDkolkhW79Egd+w7qmJqwOqGAyyKCrOj2rPBlwSxmVATwQp8C gCjxPFFxUpIggOTIKsubQgKN6bn/I79FqVVQaLf0Ijj3bs5yAqJJfyybt1m6noXPxf kz789Gpj/A6wQ== Received: from ceviche (76-10-138-212.dsl.teksavvy.com [76.10.138.212]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 9A54C12077C for ; Sun, 30 Jan 2022 00:08:07 -0500 (EST) From: Stefan Monnier To: bug-gnu-emacs@gnu.org Subject: Function definition history Date: Sun, 30 Jan 2022 00:07:57 -0500 Message-ID: MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-SPAM-INFO: Spam detection results: 0 ALL_TRUSTED -1 Passed through trusted hosts only via SMTP AWL -0.008 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 T_SCC_BODY_TEXT_LINE -0.01 - 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, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.3 (-) X-Debbugs-Envelope-To: submit 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 (--) --=-=-= Content-Type: text/plain Tags: patch I don't much like the code we have in Fdefalias that tries to keep track of definitions so as to be able to undo them later. It's too ad-hoc for its own good. The patch below tries to make it a bit better defined. We used to store in `load-history` when an autoload is redefined as a non-autoload and in the `autoload` symbol property we used to store the autoload data that used to be used before it got overriden. I suggest to replace that info with something slightly more complete. In the patch below I store the history of the function definition of a symbol in its `function-history` symbol property. This history is stored as a list of the form (... VAL(n+1) FILE(n+1) VALn FILEn ...) where VALn is the value set by FILEn. To make this list cheap in the default case, the latest value is not stored in the list (since it's in the `symbol-function`) and neither is the first file. So if there's only been a single definition (the most common case), the list is empty and the property is just not present at all. If a function was first defined as an autoload and then overriden by the actual function definition, then the list will hold (FILE2 AUTOLOAD), i.e. the name of the file that provided the actual function definition and the autoload that was used before that. [ Note: the name of the file that provided the first definition can be recovered if really needed by checking all entries in `load-history`. In the patch below I have not needed it. ] This makes it possible to handle correctly things like unloading `cl-loaddefs.el` which should remove the autoloads that are still autoloads and leave untouched the functions whose autoload have been replaced by the actual function definition. In my tests it increased the size of the .pdmp by about 2KB (on a 32bit build). The patch also gets rid of the `autoload` vs `defun` distinction in `load-history` which seems unnecessary (a significant part of the motivation for this patch was to get rid of the special handling of autoloads in this part of the code). At least I couldn't find any place in the code which took advantage of that distinction. Comments? Objections? Stefan In GNU Emacs 29.0.50 (build 1, i686-pc-linux-gnu, GTK+ Version 2.24.33, cairo version 1.16.0) of 2022-01-14 built on ceviche Repository revision: 161657c1e1598b41c82fcc740ec13b539b013191 Repository branch: work Windowing system distributor 'The X.Org Foundation', version 11.0.12013000 System Description: Debian GNU/Linux bookworm/sid Configured using: 'configure -C --enable-checking --with-modules --enable-check-lisp-object-type 'CFLAGS=-Wall -g3 -Og -Wno-pointer-sign' PKG_CONFIG_PATH=/home/monnier/lib/pkgconfig' --=-=-= Content-Type: text/patch Content-Disposition: attachment; filename=function-history.patch diff --git a/lisp/help-fns.el b/lisp/help-fns.el index 98a1b11e08..36c7966919 100644 --- a/lisp/help-fns.el +++ b/lisp/help-fns.el @@ -33,6 +33,7 @@ ;;; Code: (require 'cl-lib) +(require 'seq) (require 'help-mode) (require 'radix-tree) (eval-when-compile (require 'subr-x)) ;For when-let. @@ -678,19 +679,9 @@ help-fns--globalized-minor-mode (terpri))) ;; We could use `symbol-file' but this is a wee bit more efficient. -(defun help-fns--autoloaded-p (function file) - "Return non-nil if FUNCTION has previously been autoloaded. -FILE is the file where FUNCTION was probably defined." - (let* ((file (file-name-sans-extension (file-truename file))) - (load-hist load-history) - (target (cons t function)) - found) - (while (and load-hist (not found)) - (and (stringp (caar load-hist)) - (equal (file-name-sans-extension (caar load-hist)) file) - (setq found (member target (cdar load-hist)))) - (setq load-hist (cdr load-hist))) - found)) +(defun help-fns--autoloaded-p (function) + "Return non-nil if FUNCTION has previously been autoloaded." + (seq-some #'autoloadp (get function 'function-history))) (defun help-fns--interactive-only (function) "Insert some help blurb if FUNCTION should only be used interactively." @@ -873,13 +864,13 @@ help-fns-function-description-header "Print a line describing FUNCTION to `standard-output'." (pcase-let* ((`(,_real-function ,def ,aliased ,real-def) (help-fns--analyze-function function)) - (file-name (find-lisp-object-file-name function (if aliased 'defun - def))) + (file-name (find-lisp-object-file-name + function (if aliased 'defun def))) (beg (if (and (or (byte-code-function-p def) (keymapp def) (memq (car-safe def) '(macro lambda closure))) (stringp file-name) - (help-fns--autoloaded-p function file-name)) + (help-fns--autoloaded-p function)) (concat "an autoloaded " (if (commandp def) "interactive ")) diff --git a/lisp/loadhist.el b/lisp/loadhist.el index 48058f4053..8f634afaca 100644 --- a/lisp/loadhist.el +++ b/lisp/loadhist.el @@ -157,38 +157,30 @@ unload--set-major-mode ;; mode, or proposed is not nil and not major-mode, and so we use it. (funcall (or proposed 'fundamental-mode))))))) +(defvar loadhist-unload-filename nil) + (cl-defgeneric loadhist-unload-element (x) - "Unload an element from the `load-history'." + "Unload an element from the `load-history'. +The variable `loadhist-unload-filename' holds the name of the file we're +unloading." (message "Unexpected element %S in load-history" x)) -;; In `load-history', the definition of a previously autoloaded -;; function is represented by 2 entries: (t . SYMBOL) comes before -;; (defun . SYMBOL) and says we should restore SYMBOL's autoload when -;; we undefine it. -;; So we use this auxiliary variable to keep track of the last (t . SYMBOL) -;; that occurred. -(defvar loadhist--restore-autoload nil - "If non-nil, is a symbol for which to try to restore a previous autoload.") - -(cl-defmethod loadhist-unload-element ((x (head t))) - (setq loadhist--restore-autoload (cdr x))) - -(defun loadhist--unload-function (x) - (let ((fun (cdr x))) - (when (fboundp fun) - (when (fboundp 'ad-unadvise) - (ad-unadvise fun)) - (let ((aload (get fun 'autoload))) - (defalias fun - (if (and aload (eq fun loadhist--restore-autoload)) - (cons 'autoload aload) - nil))))) - (setq loadhist--restore-autoload nil)) - (cl-defmethod loadhist-unload-element ((x (head defun))) - (loadhist--unload-function x)) -(cl-defmethod loadhist-unload-element ((x (head autoload))) - (loadhist--unload-function x)) + (let ((fun (cdr x)) + (hist (get fun 'function-history))) + (cond + ((null hist) (defalias fun nil)) + ((equal (car hist) loadhist-unload-filename) + (put fun 'function-history (cddr hist)) + (defalias fun (cadr hist))) + (t + ;; Unloading a file whose definition is "inactive" (i.e. has been + ;; overridden by another file): just remove it from the history, + ;; so future unloading of that other file has a chance to DTRT. + (let* ((tmp (plist-member hist loadhist-unload-filename)) + (pos (- (length hist) (length tmp)))) + (cl-assert (> pos 1)) + (setcdr (nthcdr (1- pos) hist) (cdr tmp))))))) (cl-defmethod loadhist-unload-element ((_ (head require))) nil) (cl-defmethod loadhist-unload-element ((_ (head defface))) nil) @@ -257,6 +249,7 @@ unload-feature (prin1-to-string dependents) file)))) (let* ((unload-function-defs-list (feature-symbols feature)) (file (pop unload-function-defs-list)) + (loadhist-unload-filename file) (name (symbol-name feature)) (unload-hook (intern-soft (concat name "-unload-hook"))) (unload-func (intern-soft (concat name "-unload-function")))) diff --git a/src/data.c b/src/data.c index a5a76a2755..8cd13f3a77 100644 --- a/src/data.c +++ b/src/data.c @@ -859,6 +859,43 @@ DEFUN ("fset", Ffset, Sfset, 2, 2, 0, return definition; } +static void +add_to_function_history (Lisp_Object symbol, Lisp_Object olddef) +{ + eassert (!NILP (olddef)); + + Lisp_Object past = Fget (symbol, Qfunction_history); + Lisp_Object file = Qnil; + /* FIXME: Sadly, `Vload_file_name` gives less precise information + (it's sometimes non-nil when it shoujld be nil). */ + Lisp_Object tail = Vcurrent_load_list; + FOR_EACH_TAIL_SAFE (tail) + if (NILP (XCDR (tail)) && STRINGP (XCAR (tail))) + file = XCAR (tail); + + Lisp_Object tem = Fplist_member (past, file); + if (!NILP (tem)) + { /* New def from a file used before. + Overwrite the previous record associated with this file. */ + if (EQ (tem, past)) + /* The new def is from the same file as the last change, so + there's nothing to do: unloading the file should revert to + the status before the last change rather than before this load. */ + return; + Lisp_Object pastlen = Flength (past); + Lisp_Object temlen = Flength (tem); + EMACS_INT tempos = XFIXNUM (pastlen) - XFIXNUM (temlen); + eassert (tempos > 1); + Lisp_Object prev = Fnthcdr (make_fixnum (tempos - 2), past); + /* Remove the previous info for this file. + E.g. change `hist` from (... OTHERFILE DEF3 THISFILE DEF2 ...) + to (... OTHERFILE DEF2). */ + XSETCDR (prev, XCDR (tem)); + } + /* Push new def from new file. */ + Fput (symbol, Qfunction_history, Fcons (file, Fcons (olddef, past))); +} + void defalias (Lisp_Object symbol, Lisp_Object definition) { @@ -867,28 +904,24 @@ defalias (Lisp_Object symbol, Lisp_Object definition) if (!will_dump_p () || !autoload) { /* Only add autoload entries after dumping, because the ones before are not useful and else we get loads of them from the loaddefs.el. */ - Lisp_Object function = XSYMBOL (symbol)->u.s.function; - - if (AUTOLOADP (function)) - /* Remember that the function was already an autoload. */ - LOADHIST_ATTACH (Fcons (Qt, symbol)); - LOADHIST_ATTACH (Fcons (autoload ? Qautoload : Qdefun, symbol)); - - if (!NILP (Vautoload_queue) && !NILP (function)) - Vautoload_queue = Fcons (Fcons (symbol, function), Vautoload_queue); - - if (AUTOLOADP (function)) - Fput (symbol, Qautoload, XCDR (function)); + LOADHIST_ATTACH (Fcons (Qdefun, symbol)); } } - { /* Handle automatic advice activation. */ - Lisp_Object hook = Fget (symbol, Qdefalias_fset_function); - if (!NILP (hook)) - call2 (hook, symbol, definition); - else - Ffset (symbol, definition); - } + Lisp_Object olddef = XSYMBOL (symbol)->u.s.function; + if (!NILP (olddef)) + { + if (!NILP (Vautoload_queue)) + Vautoload_queue = Fcons (symbol, Vautoload_queue); + add_to_function_history (symbol, olddef); + } + + /* Handle automatic advice activation. */ + Lisp_Object hook = Fget (symbol, Qdefalias_fset_function); + if (!NILP (hook)) + call2 (hook, symbol, definition); + else + Ffset (symbol, definition); } DEFUN ("defalias", Fdefalias, Sdefalias, 2, 3, 0, @@ -4171,6 +4204,7 @@ #define PUT_ERROR(sym, tail, msg) \ DEFSYM (Qinteractive_form, "interactive-form"); DEFSYM (Qdefalias_fset_function, "defalias-fset-function"); + DEFSYM (Qfunction_history, "function-history"); DEFSYM (Qbyte_code_function_p, "byte-code-function-p"); diff --git a/src/eval.c b/src/eval.c index b083a00a79..cf38e76718 100644 --- a/src/eval.c +++ b/src/eval.c @@ -2236,35 +2236,40 @@ DEFUN ("autoload", Fautoload, Sautoload, 2, 5, 0, && !AUTOLOADP (XSYMBOL (function)->u.s.function)) return Qnil; + ptrdiff_t count = SPECPDL_INDEX (); + if (will_dump_p) + /* Only add autoload entries after dumping, because the ones before are + not useful and else we get loads of them from the loaddefs.el. */ + specbind (Qcurrent_load_list, Qnil); + if (!NILP (Vpurify_flag) && EQ (docstring, make_fixnum (0))) /* `read1' in lread.c has found the docstring starting with "\ and assumed the docstring will be provided by Snarf-documentation, so it passed us 0 instead. But that leads to accidental sharing in purecopy's hash-consing, so we use a (hopefully) unique integer instead. */ docstring = make_ufixnum (XHASH (function)); - return Fdefalias (function, - list5 (Qautoload, file, docstring, interactive, type), - Qnil); + Lisp_Object tem + = Fdefalias (function, + list5 (Qautoload, file, docstring, interactive, type), + Qnil); + unbind_to (count, Qnil); + return tem; } static void un_autoload (Lisp_Object oldqueue) { - Lisp_Object queue, first, second; - /* Queue to unwind is current value of Vautoload_queue. oldqueue is the shadowed value to leave in Vautoload_queue. */ - queue = Vautoload_queue; + Lisp_Object queue = Vautoload_queue; Vautoload_queue = oldqueue; while (CONSP (queue)) { - first = XCAR (queue); - second = Fcdr (first); - first = Fcar (first); - if (EQ (first, make_fixnum (0))) - Vfeatures = second; + Lisp_Object first = XCAR (queue); + if (CONSP (first) && EQ (XCAR (first), make_fixnum (0))) + Vfeatures = XCDR (first); else - Ffset (first, second); + Ffset (first, Fcar (Fcdr (Fget (first, Qfunction_history)))); queue = XCDR (queue); } } diff --git a/src/lread.c b/src/lread.c index 9910db27de..ada137ff19 100644 --- a/src/lread.c +++ b/src/lread.c @@ -5240,12 +5248,9 @@ syms_of_lread (void) The remaining ENTRIES in the alist element describe the functions and variables defined in that file, the features provided, and the features required. Each entry has the form `(provide . FEATURE)', -`(require . FEATURE)', `(defun . FUNCTION)', `(autoload . SYMBOL)', -`(defface . SYMBOL)', `(define-type . SYMBOL)', -`(cl-defmethod METHOD SPECIALIZERS)', or `(t . SYMBOL)'. -Entries like `(t . SYMBOL)' may precede a `(defun . FUNCTION)' entry, -and mean that SYMBOL was an autoload before this file redefined it -as a function. In addition, entries may also be single symbols, +`(require . FEATURE)', `(defun . FUNCTION)', `(defface . SYMBOL)', + `(define-type . SYMBOL)', or `(cl-defmethod METHOD SPECIALIZERS)'. +In addition, entries may also be single symbols, which means that symbol was defined by `defvar' or `defconst'. During preloading, the file name recorded is relative to the main Lisp --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Sun Jan 30 02:43:28 2022 Received: (at 53632) by debbugs.gnu.org; 30 Jan 2022 07:43:28 +0000 Received: from localhost ([127.0.0.1]:35495 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nE4rw-0000nh-H4 for submit@debbugs.gnu.org; Sun, 30 Jan 2022 02:43:28 -0500 Received: from eggs.gnu.org ([209.51.188.92]:33910) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nE4rt-0000nR-CR for 53632@debbugs.gnu.org; Sun, 30 Jan 2022 02:43:26 -0500 Received: from [2001:470:142:3::e] (port=43050 helo=fencepost.gnu.org) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nE4ro-0008KT-3M; Sun, 30 Jan 2022 02:43:20 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=jMCmDiOCc6xs9E7/YWlsJqbHqVyY4L3NdU7JoQTH2X8=; b=mG77erOC7X+h pyEz5IQ2chtS6f75OKcfZY9D5iAL4CC5w8OxGKPKJwDvMoJ1h9nboC5nXhnoe9tfQywYgxutRIla5 7QDELgiKf9Kn9XkEMosFCKbOMo42n65X0wkZyk0oT/YSltFIsrk09XVACDjTIZQHlDB/+ob8sZ+IS kuBS+UpK/a6Ofvmw4Pjip3al55PxIKIWGW2BsqKt5hF4EieGr0qo1k5g1Q37tSMH7f1r47/PLtM9l laISURQJXzx61Jc3QDBGoAtLCRjzqxc+XDJJa+BzeliqA72f6pg1nZKx5UsvpUuVA7wlYw8/EW9hX 0T3QBKYo29dpULpYIDIQlQ==; Received: from [87.69.77.57] (port=3488 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nE4rn-00041I-Go; Sun, 30 Jan 2022 02:43:19 -0500 Date: Sun, 30 Jan 2022 09:43:12 +0200 Message-Id: <831r0pbre7.fsf@gnu.org> From: Eli Zaretskii To: Stefan Monnier In-Reply-To: (bug-gnu-emacs@gnu.org) Subject: Re: bug#53632: Function definition history References: X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 53632 Cc: 53632@debbugs.gnu.org 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 (---) > Date: Sun, 30 Jan 2022 00:07:57 -0500 > From: Stefan Monnier via "Bug reports for GNU Emacs, > the Swiss army knife of text editors" > > I suggest to replace that info with something slightly more complete. > In the patch below I store the history of the function definition of > a symbol in its `function-history` symbol property. This history is > stored as a list of the form (... VAL(n+1) FILE(n+1) VALn FILEn ...) > where VALn is the value set by FILEn. To make this list cheap in the > default case, the latest value is not stored in the list (since it's in > the `symbol-function`) and neither is the first file. So if there's > only been a single definition (the most common case), the list is empty > and the property is just not present at all. If a function was first > defined as an autoload and then overriden by the actual function > definition, then the list will hold (FILE2 AUTOLOAD), i.e. the name of > the file that provided the actual function definition and the autoload > that was used before that. > [ Note: the name of the file that provided the first definition can be > recovered if really needed by checking all entries in `load-history`. > In the patch below I have not needed it. ] > > This makes it possible to handle correctly things like unloading > `cl-loaddefs.el` which should remove the autoloads that are still > autoloads and leave untouched the functions whose autoload have been > replaced by the actual function definition. > > In my tests it increased the size of the .pdmp by about 2KB (on a 32bit > build). > > The patch also gets rid of the `autoload` vs `defun` distinction in > `load-history` which seems unnecessary (a significant part of the > motivation for this patch was to get rid of the special handling of > autoloads in this part of the code). At least I couldn't find any place > in the code which took advantage of that distinction. > > Comments? Objections? Please make sure to document this in the ELisp manual. From debbugs-submit-bounces@debbugs.gnu.org Sun Jan 30 11:16:23 2022 Received: (at 53632) by debbugs.gnu.org; 30 Jan 2022 16:16:23 +0000 Received: from localhost ([127.0.0.1]:37440 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nECsJ-0001W8-8C for submit@debbugs.gnu.org; Sun, 30 Jan 2022 11:16:23 -0500 Received: from quimby.gnus.org ([95.216.78.240]:36200) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nECsG-0001Px-QI for 53632@debbugs.gnu.org; Sun, 30 Jan 2022 11:16:21 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnus.org; s=20200322; h=Content-Type:MIME-Version:Message-ID:In-Reply-To:Date: References:Subject:Cc:To:From:Sender:Reply-To:Content-Transfer-Encoding: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=6ltXY8p/J50uwNUSPkXRmccjUxXMB5nyt5NyHBpHLkw=; b=P26Pll1Omseuytq3XygBlxBpD4 Zu6rv3lU8EeoolZnRKcWn4sGawRWeqxfeVDTVeUL+HBgUSv2bFya41UZZ5nrYyHGHcFsH1ZAiKrvI 2I+aTbEJtbvmN+0dTK4pLFb0awG488LsQ8PxmqM4WxeJHLtA54yWgUyEB9A47xAtLYsc=; Received: from [84.212.220.105] (helo=giant) by quimby.gnus.org with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1nECs7-0007zJ-MX; Sun, 30 Jan 2022 17:16:14 +0100 From: Lars Ingebrigtsen To: Stefan Monnier Subject: Re: bug#53632: Function definition history References: X-Now-Playing: Ida's _Ten Small Paces_: "Dream Date" Date: Sun, 30 Jan 2022 17:16:11 +0100 In-Reply-To: (Stefan Monnier's message of "Sun, 30 Jan 2022 00:07:57 -0500") Message-ID: <87ilu19p2s.fsf@gnus.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Report: Spam detection software, running on the system "quimby.gnus.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see @@CONTACT_ADDRESS@@ for details. Content preview: Stefan Monnier writes: > I suggest to replace that info with something slightly more complete. > In the patch below I store the history of the function definition of > a symbol in its `function-history` symbol property. Thi [...] Content analysis details: (-2.9 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -1.0 ALL_TRUSTED Passed through trusted hosts only via SMTP -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% [score: 0.0000] X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 53632 Cc: 53632@debbugs.gnu.org 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 (---) Stefan Monnier writes: > I suggest to replace that info with something slightly more complete. > In the patch below I store the history of the function definition of > a symbol in its `function-history` symbol property. This history is > stored as a list of the form (... VAL(n+1) FILE(n+1) VALn FILEn ...) > where VALn is the value set by FILEn. I like it. -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no From debbugs-submit-bounces@debbugs.gnu.org Mon Jan 31 11:08:13 2022 Received: (at 53632-done) by debbugs.gnu.org; 31 Jan 2022 16:08:13 +0000 Received: from localhost ([127.0.0.1]:40390 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nEZDx-0006MN-KV for submit@debbugs.gnu.org; Mon, 31 Jan 2022 11:08:13 -0500 Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:61174) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nEZDv-0006M6-Vp for 53632-done@debbugs.gnu.org; Mon, 31 Jan 2022 11:08:12 -0500 Received: from pmg1.iro.umontreal.ca (localhost.localdomain [127.0.0.1]) by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id 059A51001D2; Mon, 31 Jan 2022 11:08:06 -0500 (EST) Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id B8434100134; Mon, 31 Jan 2022 11:08:04 -0500 (EST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1643645284; bh=kArK2TRkgG/91lqNBprstkK2HH0su3rL5+KeVjxM2nE=; h=From:To:Cc:Subject:References:Date:In-Reply-To:From; b=PZ6ehKoyODSEFwundcmCX6xpliPL1geJZDaXGYUXlyOBgzLCIqwshOC9PJBaIuPSi Bf58WnOH/z47Znqa2V3UETDdMp51DB73UeHlSxVKpFhzAYPuzjNy+R8VIz7R/968// i9HagGocM8orqgMDU+5kYUzq2zIt7zkzu8rqz75m9ecndodGWLnXryY9UwPPTF+BSp mspZrSabL7xKo9lxVf2J8AHR+97fr7agdj3r80mE5o8AW+EXN8MXNChXS4navQNPhy gxXvgGoZhDtpOswSztrmQL/HfPYV3XMXpEiHzPCj3H3uHGTYqkD9SP4S5k/q1bRqsK tMKck7iEe+ZUA== Received: from pastel (76-10-138-212.dsl.teksavvy.com [76.10.138.212]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 81C851203D5; Mon, 31 Jan 2022 11:08:04 -0500 (EST) From: Stefan Monnier To: Eli Zaretskii Subject: Re: bug#53632: Function definition history Message-ID: References: <831r0pbre7.fsf@gnu.org> Date: Mon, 31 Jan 2022 11:07:58 -0500 In-Reply-To: <831r0pbre7.fsf@gnu.org> (Eli Zaretskii's message of "Sun, 30 Jan 2022 09:43:12 +0200") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux) 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.009 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 T_SCC_BODY_TEXT_LINE -0.01 - X-SPAM-LEVEL: X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 53632-done Cc: 53632-done@debbugs.gnu.org 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 (---) > Please make sure to document this in the ELisp manual. Done, thanks, pushed, Stefan From debbugs-submit-bounces@debbugs.gnu.org Wed Feb 02 11:21:16 2022 Received: (at 53632) by debbugs.gnu.org; 2 Feb 2022 16:21:16 +0000 Received: from localhost ([127.0.0.1]:53169 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nFINg-00075m-FX for submit@debbugs.gnu.org; Wed, 02 Feb 2022 11:21:16 -0500 Received: from eggs.gnu.org ([209.51.188.92]:56302) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nFINe-00075W-7G for 53632@debbugs.gnu.org; Wed, 02 Feb 2022 11:21:15 -0500 Received: from [2001:470:142:3::e] (port=37302 helo=fencepost.gnu.org) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nFINY-0006Ok-7m; Wed, 02 Feb 2022 11:21:08 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-Version:In-Reply-To:Date:References:Subject:To: From; bh=CroVN0CeELi4vOazJbSTnJg4q0VuA+wcYVtBTZuR8bU=; b=c4jB7XRI33bZShuHTHv1 WAE0+L7phYa9/ZBUShQEjeijJc5rgEMNlXjzVfZpdxbyDtJuz1+KOOBdewYg49+52IgWefRjAbSlj ZFS2NJbG7M2PbV/x3DdE4Jw41HL22tGZ/EeNNXCFctwj70IrgWh6tZFhXwkyFaaB1rs8/Ye5dLnqb UVH4Oc1+gv1rGc4ugkPI2SFx4+UFgRZdV7CpUVgt+tZcmConNLHuqlNImQnoQ5UdY4D/0EfSsj7MP yi2/mD+Anu2Uf8zOwTG8SFugawTYeJ0rfSfHB60CIMdqOFwcvV9d/HAdMcDrJk4bWy2WABMME+VPS PUyOr1Ati15/4A==; Received: from rgm by fencepost.gnu.org with local (Exim 4.90_1) (envelope-from ) id 1nFINW-0003vh-D2; Wed, 02 Feb 2022 11:21:06 -0500 From: Glenn Morris To: Stefan Monnier , 53632@debbugs.gnu.org Subject: Re: bug#53632: Function definition history References: Date: Wed, 02 Feb 2022 11:21:05 -0500 In-Reply-To: (GNU bug Tracking System's message of "Mon, 31 Jan 2022 16:09:02 +0000") Message-ID: User-Agent: Gnus (www.gnus.org), GNU Emacs (www.gnu.org/software/emacs/) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 53632 Cc: Michael Albinus 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 (---) Since 1d1b664fb, tramp-test47-unload fails. Ref eg https://hydra.nixos.org/build/166143250 `tramp-unload-file-name-handlers' still bound From debbugs-submit-bounces@debbugs.gnu.org Thu Feb 03 03:11:45 2022 Received: (at 53632) by debbugs.gnu.org; 3 Feb 2022 08:11:45 +0000 Received: from localhost ([127.0.0.1]:54323 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nFXDV-0007kJ-24 for submit@debbugs.gnu.org; Thu, 03 Feb 2022 03:11:45 -0500 Received: from mout.gmx.net ([212.227.15.15]:33251) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nFXDS-0007k2-9y for 53632@debbugs.gnu.org; Thu, 03 Feb 2022 03:11:43 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1643875893; bh=Lv8Xt8jcrjv8zb3Eg/STu5Bp5i6qqRM7wsujjLN4Olw=; h=X-UI-Sender-Class:From:To:Cc:Subject:References:Date; b=ERk+VvI4WAaZljrB/ysO5lh/OWtNqkfp/kHY0+noM4FdmXViq/LBvWYs8YgViPI4E 3fp2Qx6hM/8VZhy6liBwPyhOiHo52lZoXqQRrnMRtKGr9Ujo63OfOpIhF1pegbjJYq 6Pwz+3ClY2Y50ne3yx/lSiYv3ab8QOee/W3KbLLI= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from gandalf.gmx.de ([213.220.159.97]) by mail.gmx.net (mrgmx004 [212.227.17.190]) with ESMTPSA (Nemesis) id 1MPGW7-1msEfI0RnJ-00PhSA; Thu, 03 Feb 2022 09:11:33 +0100 From: Michael Albinus To: Glenn Morris Subject: Re: bug#53632: Function definition history References: Date: Thu, 03 Feb 2022 09:11:31 +0100 Message-ID: <87y22spdxo.fsf@gmx.de> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Provags-ID: V03:K1:4/BEKLdP8FbBQeoHLbEDvQsmPH58NaSirQwa0vnaWWVNHPuUell DyjUMLTvIgQ0u0eVpqp5sPNUNigDILHhh6ngYqDqGwwg11DCaKb0OcZZXzCMGyWpZZzoPyv 5bsBmgtW6nUvBXuxNosUHfOLAsZOHWynt5Mwaor15MS3kTbvaHG+HhHUD3oC+mA/CiShDMR cPHEbfCE9Kc70z6L5pz4A== X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1;V03:K0:1h2mru8irPk=:VnzJC/aa01yBp9yvEffM4f WGksETlZcK4AOtDTA4LXNj0P8LFJ3IsUTFwdT/OUHPyplQyhK6O0WcyFK6jWAZN+oFYSCn2Vy 8E4NfTnm45WkA0aVG/ZFr5BPIxv9e9Sg4L6G+vHRxF+Sa72kBfd6vvBtwZ4JRZa+FKPuZ8nYN ABxgEOrhBM6N+mAH/f47BfZ6uWoYgOWO2LFgD0z0NG9bxZsNqnfbDR+0xV2A5JS4LrIwupZaU Sl65cgMLZcBHjJfIFEF1X89Gi08BSU1BTfkGnPJRrhRdGSMs3e4hvtxA2t/s0k4/kYHzHnCcn 22+hvo17bjNDD8rBntiBMEYxvgR5ub/mDuFdw6H5D+kWqKmbfZbrQWIfjSDqWiL3SotdqEH08 Z/vaSYYQOmpj/JbzDpltDQinO9PfXRGiRHoq1y5DGIpVMIVg8zUGCnLirbLQ14vpggv2Z5lsu TyjSJ2LIKzUlcJNEc2cuVA3RgQ2r3UjKo6eezftZXcWMT8SJxfOII7ZARdIQsIwqPSTm+Fczt QLho11hQgphNeTYRl8MQszrLU4M8132BVsTrfzh6tV65StMKHBj9zb25DyUiePmCJH4rIxyT2 C1WgoqPZizCVENsmhHSQ0vg2XV/LmKJaJLV8EDfL3Fk81xZYojJeI2dYNQALyKaN3e3nxkyXc WrTDFoHX9286r9Iq82C10+tClDwXb8v03gkE3YTErqbrJj1+eh4l0A6GjGFUwml2uXLTK9KiE iMbNMQK9jE48obLvSF4PeJVBUve8nR6zB43Ki5sEvub+K30tvjVqGwm3msc7tJTV4BdOmZPZ/ uu690Esuv11pANnTPmZ7HHlqN7rZhLxyt/tjULPKCHOTsATvZLLgm0rN2R2Gw8WWbMvjqQfmC l2SWs6g3DIv77xib5TqJMHaF+SiflPFTaiBo/VOYnDkLdIn2O4GcU50b+BeUa9z1pcKdLsmeD 3OoPN+w+YmlC6hTeFvgEGn9OUPcdsAiYQicGkJtkXHWARhPhxFP9r/TGL6O4KF9CVyDfeR6iM zyF0ZdEeFz+N3xOQWipuhua+75z//7xm6LkH7rbv2KLzmGLLEGNpqr5QIbCxPim7ND5oipbSP LIIj5feN5IzG7M= X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 53632 Cc: 53632@debbugs.gnu.org, Stefan Monnier 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: -1.7 (-) Glenn Morris writes: Hi, > Since 1d1b664fb, tramp-test47-unload fails. > Ref eg https://hydra.nixos.org/build/166143250 > `tramp-unload-file-name-handlers' still bound This is due to a changed behavior of `unload-feature'. Prior this patch, there is --8<---------------cut here---------------start------------->8--- # emacs -Q -l tramp (unload-feature 'tramp 'force) (mapatoms (lambda (x) (and (functionp x) (string-match-p "^tramp" (symbol-name x)) (message "%s" x)))) => tramp-register-archive-file-name-handler tramp-archive-autoload-file-name-handler --8<---------------cut here---------------end--------------->8--- This is OK, because tramp-archive.el is not unloaded via unloading tramp.el. Now, this behavior has changed. With the same recipe, we get --8<---------------cut here---------------start------------->8--- => tramp-unload-file-name-handlers tramp-unload-tramp tramp-register-archive-file-name-handler tramp-archive-autoload-file-name-handler tramp-register-autoload-file-name-handlers tramp-autoload-file-name-handler --8<---------------cut here---------------end--------------->8--- Best regards, Michael. From debbugs-submit-bounces@debbugs.gnu.org Fri Feb 04 11:30:42 2022 Received: (at 53632) by debbugs.gnu.org; 4 Feb 2022 16:30:42 +0000 Received: from localhost ([127.0.0.1]:60908 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nG1Tt-00029O-Rs for submit@debbugs.gnu.org; Fri, 04 Feb 2022 11:30:42 -0500 Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:55338) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nG1Ts-00029A-Co for 53632@debbugs.gnu.org; Fri, 04 Feb 2022 11:30:40 -0500 Received: from pmg2.iro.umontreal.ca (localhost.localdomain [127.0.0.1]) by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id 5C62480521; Fri, 4 Feb 2022 11:30:34 -0500 (EST) Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id 7B33B80306; Fri, 4 Feb 2022 11:30:32 -0500 (EST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1643992232; bh=BhKzEOhlGFc0RmY3oDSLJcjzT6dcXFmZ4dTe+c2iKYg=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=gOMFBkTsvjBiKZcEGzBFhAXvFTj5kR7iy0WnjmCZ9WqbzYHfagWqBhAKPTYfY/K8c INk0LbQp50JtLTehFuu/7wzp1h/k8Akcu6lW15AwXJFvNJ4J9jQ9Aqe8Af6opeuu0N sgiMmy998CSPtcRED9pRnfYDiU07aVW+x0XICwAhSqCVkdLdWZa3VRmJF6jBcKjroc Hz2LBqjBYGNBcIppAlyJCNjbTQPFSmL47t/XnSlL8de52uydCPnGprtX5eDBIZfcBJ F7r/EWIzdA/wsAQ6sswHRP0j8Ty8UoSMmxgyenXH+XK1NUr386ULWKKvXrCKFd1Rdg dAjkLAtxtTdLA== Received: from pastel (76-10-138-212.dsl.teksavvy.com [76.10.138.212]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 50887120709; Fri, 4 Feb 2022 11:30:32 -0500 (EST) From: Stefan Monnier To: Michael Albinus Subject: Re: bug#53632: Function definition history In-Reply-To: <87y22spdxo.fsf@gmx.de> (Michael Albinus's message of "Thu, 03 Feb 2022 09:11:31 +0100") Message-ID: References: <87y22spdxo.fsf@gmx.de> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux) Date: Fri, 04 Feb 2022 11:30:26 -0500 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.034 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 T_SCC_BODY_TEXT_LINE -0.01 - X-SPAM-LEVEL: X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 53632 Cc: Glenn Morris , 53632@debbugs.gnu.org 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 (---) > Now, this behavior has changed. With the same recipe, we get > > --8<---------------cut here---------------start------------->8--- > => > tramp-unload-file-name-handlers > tramp-unload-tramp > tramp-register-archive-file-name-handler > tramp-archive-autoload-file-name-handler > tramp-register-autoload-file-name-handlers > tramp-autoload-file-name-handler > --8<---------------cut here---------------end--------------->8--- Indeed, the behavior is changed, but AFAICT it's "better" in that it gives us a state closer to the one we had before `tramp.el` was loaded: the above functions are predefined in `loaddefs.el` via `;;;###autoload` cookies, so it's normal that they're defined when `tramp` is not loaded. So I think the problem is in the test rather than in the unload code. The patch below fixes the test for me. BTW, I notice that the test uses `functionp` so it doesn't pay attention to whether macros are properly unloaded (I noticed because I thought it was odd that the above list didn't include `tramp-archive-autoload-file-name-regexp` which is similarly predefined in `loaddefs.el`). Stefan diff --git a/test/lisp/net/tramp-tests.el b/test/lisp/net/tramp-tests.el index b41824a6cf3..1f9eea4c5f7 100644 --- a/test/lisp/net/tramp-tests.el +++ b/test/lisp/net/tramp-tests.el @@ -202,8 +202,8 @@ tramp--test-instrument-test-case (trace-buffer (tramp-trace-buffer-name tramp-test-vec)) (debug-ignored-errors (append - '("^make-symbolic-link not supported$" - "^error with add-name-to-file") + '("\\`make-symbolic-link not supported\\'" + "\\`error with add-name-to-file") debug-ignored-errors)) inhibit-message) (unwind-protect @@ -326,7 +326,7 @@ tramp-test01-file-name-syntax (let (tramp-mode) (should-not (tramp-tramp-file-p "/method:user@host:"))) ;; `tramp-ignored-file-name-regexp' suppresses Tramp. - (let ((tramp-ignored-file-name-regexp "^/method:user@host:")) + (let ((tramp-ignored-file-name-regexp "\\`/method:user@host:")) (should-not (tramp-tramp-file-p "/method:user@host:"))) ;; Methods shall be at least two characters on MS Windows, ;; except the default method. @@ -3664,7 +3664,7 @@ tramp--test-ignore-add-name-to-file-error `(condition-case err (progn ,@body) (file-error - (unless (string-match-p "^error with add-name-to-file" + (unless (string-match-p "\\`error with add-name-to-file" (error-message-string err)) (signal (car err) (cdr err)))))) @@ -6070,7 +6070,7 @@ tramp-test39-detect-external-change (when create-lockfiles (should (string-match-p (format - "^%s changed on disk; really edit the buffer\\?" + "\\`%s changed on disk; really edit the buffer\\?" (if (tramp--test-crypt-p) ".+" (file-name-nondirectory tmp-name))) captured-messages)) @@ -6183,7 +6183,7 @@ tramp--test-ftp-p This does not support globbing characters in file names (yet)." ;; Globbing characters are ??, ?* and ?\[. (string-match-p - "ftp$" (file-remote-p tramp-test-temporary-file-directory 'method))) + "ftp\\'" (file-remote-p tramp-test-temporary-file-directory 'method))) (defun tramp--test-fuse-p () "Check, whether an FUSE file system isused." @@ -6215,7 +6215,7 @@ tramp--test-ksh-p ;; We must refill the cache. `file-truename' does it. (file-truename tramp-test-temporary-file-directory) (string-match-p - "ksh$" (tramp-get-connection-property tramp-test-vec "remote-shell" ""))) + "ksh\\'" (tramp-get-connection-property tramp-test-vec "remote-shell" ""))) (defun tramp--test-macos-p () "Check, whether the remote host runs macOS." @@ -6263,7 +6263,7 @@ tramp--test-share-p "Check, whether the method needs a share." (and (tramp--test-gvfs-p) (string-match-p - "^\\(afp\\|davs?\\|smb\\)$" + "\\`\\(afp\\|davs?\\|smb\\)\\'" (file-remote-p tramp-test-temporary-file-directory 'method)))) (defun tramp--test-sshfs-p () @@ -7206,11 +7206,20 @@ tramp-test47-unload (lambda (x) (and (or (and (boundp x) (null (local-variable-if-set-p x))) (and (functionp x) (null (autoloadp (symbol-function x))))) - (string-match-p "^tramp" (symbol-name x)) + (string-match-p "\\`tramp" (symbol-name x)) ;; `tramp-completion-mode' is autoloaded in Emacs < 28.1. (not (eq 'tramp-completion-mode x)) - (not (string-match-p "^tramp\\(-archive\\)?--?test" (symbol-name x))) - (not (string-match-p "unload-hook$" (symbol-name x))) + ;; Some functions aren't autoloads but they are similarly + ;; predefined before `Tramp' is loaded (bug#53632): + (not (memq x '(tramp-unload-file-name-handlers + tramp-unload-tramp + tramp-register-archive-file-name-handler + tramp-archive-autoload-file-name-handler + tramp-register-autoload-file-name-handlers + tramp-autoload-file-name-handler))) + (not (string-match-p "\\`tramp\\(-archive\\)?--?test" + (symbol-name x))) + (not (string-match-p "unload-hook\\'" (symbol-name x))) (ert-fail (format "`%s' still bound" x))))) ;; The defstruct `tramp-file-name' and all its internal functions ;; shall be purged. @@ -7225,8 +7234,8 @@ tramp-test47-unload (mapatoms (lambda (x) (and (boundp x) - (string-match-p "-\\(hook\\|function\\)s?$" (symbol-name x)) - (not (string-match-p "unload-hook$" (symbol-name x))) + (string-match-p "-\\(hook\\|function\\)s?\\'" (symbol-name x)) + (not (string-match-p "unload-hook\\'" (symbol-name x))) (consp (symbol-value x)) (ignore-errors (all-completions "tramp" (symbol-value x))) (ert-fail (format "Hook `%s' still contains Tramp function" x)))))) @@ -7237,7 +7246,7 @@ tramp-test-all (interactive "p") (funcall (if interactive #'ert-run-tests-interactively #'ert-run-tests-batch) - "^tramp")) + "\\`tramp")) ;; TODO: From debbugs-submit-bounces@debbugs.gnu.org Fri Feb 04 12:00:56 2022 Received: (at 53632) by debbugs.gnu.org; 4 Feb 2022 17:00:56 +0000 Received: from localhost ([127.0.0.1]:60947 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nG1xA-0002vN-2R for submit@debbugs.gnu.org; Fri, 04 Feb 2022 12:00:56 -0500 Received: from mout.gmx.net ([212.227.17.20]:50427) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nG1x7-0002vA-S2 for 53632@debbugs.gnu.org; Fri, 04 Feb 2022 12:00:54 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1643994044; bh=y4xICwx6QKzg5jle/y7a64dv1rDyy8XI7KbdtLqb16Q=; h=X-UI-Sender-Class:From:To:Cc:Subject:References:Date:In-Reply-To; b=iwbdmzdMaXuB5MzFf27Rei7mhkI8oS6DVU3zoLmOMRTiVokXTGxiTqcgv/svxZurC wbgieZvx+NwwVL7WO4Qoo1D6nbU5bCquwPscvp8Jkq2ym8MySZRZMVe9JHdLStpQTs dn9FNkg2X+dnZrtyio9l6/qr1vuZBwC8dXnAmiLc= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from gandalf.gmx.de ([213.220.159.97]) by mail.gmx.net (mrgmx104 [212.227.17.168]) with ESMTPSA (Nemesis) id 1MFbRm-1n05lS2tUk-00H7TH; Fri, 04 Feb 2022 18:00:44 +0100 From: Michael Albinus To: Stefan Monnier Subject: Re: bug#53632: Function definition history References: <87y22spdxo.fsf@gmx.de> Date: Fri, 04 Feb 2022 18:00:43 +0100 In-Reply-To: (Stefan Monnier's message of "Fri, 04 Feb 2022 11:30:26 -0500") Message-ID: <87y22qmuro.fsf@gmx.de> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Provags-ID: V03:K1:SAtG0L/R+HbALKa/1RYHF+rKF7JfikDoc5MwaN3dOU68A+JxK6d 0Knc2rO762NI2gLXPIvARTrCeM+GSP/+Hf7lqxMOe3pOrSvFJVy+OYRU2NxMbW8LNmkQZsw +sQvs4FV4ehucnNs3SNPt98RUC+iInu4Qj4/JkZZM6qY3A6oBpIKgsURXbsVqbTfWRxw2dK 4/+fBFC8ga+mpF9DOLG3w== X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1;V03:K0:AkMJmi0gQuQ=:NXwWvF14/r7uJ1ypvIUW80 wBFlAxqwWEJaWicCI/ikWYFaaO/gIJ9gI9BQBABT87jZtD8aKsyn4AQXs9fNwELGad0oxE0CP rs3Y4BcFh3fBm05XG/dVD/EkU+zVQZzdRlf2b3gc0Vbza9fgChKEDlDt3JEDuYVxJo5fGk0Eu UkIcEfAoHmFcER7AWTH8NU9nqy5cv4txhKK6AmWR6AqwcthORjRwdOq+m8JJZuYI+T6E0qEv5 xSrb/P1GAxn8tIkWtUvHTbvF8wLKOWgvo2HUYFQAnfitOvIcKCJFu5FQg9CcJH+JgJ8+VXhg4 CFjwHn6HOnI0v5ccCdsqjL6ph7EK8UOdRgLwLktCi5L2Jv9BqXsIa3Ws7ROYPP1+QhdMKxGA2 7pS7cN6Y/sq4tec+ew9duaWsC49+nMD1nefYBkVooVpPE/+7l4T9mmwaPtGUIr0MpfUnjWuow SKBH0lAwSgQOv/rZ1dfuXyMGuk3tInhK5IgZ3fmPs13PGCoFUyZJ20VyGM/2hBQAo0Rivj/GK rn1J18jvCElJiy9tTA1favQTKAvmfveLU6A3wkwPeP8N+ORftDAykuVOHdkbwe6WuvSa7gbTG fhsYVfHuRVcYV/rlA3Bu444bl574W1eP9MneYP1ztafWOhGIRupTY0JCyt4G26swCWVbhQkuP WD7+W/etIHmaVTMuyjcXuoyIjqVYqTNrL368ZKDm/RV/rReLYqTmPg8EDzOLrVDZtLJ5wy9fo Sz3vwFN4mj3a81s+DQ9zLxTdtKLrIEdCryR9fnQxz2b5wvhxRuQsmHNMg7wbOjW5Ci6YDnWz7 g5cqOt6ckOut30GXquS5mVPZECd+gtfGvCHR3w2/vGximdI9pVCl6F10rnhfbVM1Yasl+/Xrj w7pSWqbFvrNJA15IVS4Z4/CYIYtZX7NfNe4zr0zfaaWYNHSDp6o14ayQ/zxdq9CR0omCtr8vj nctXuZGlNkyzYbOtnhNF2gxVoB4/PvZKorB8vEKswnVS3Fxgkt2Ou5pgEmKjLso6daxdFlvoc 5Rt1ojnilqcLdIvsgDvpQuOfp+NyeIulNorf4SrObZ8hB1Pwp33VuekyRAGlW/j6sR2mxnBA0 8WBLkYXBFgu1fs= X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 53632 Cc: Glenn Morris , 53632@debbugs.gnu.org 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: -1.7 (-) Stefan Monnier writes: Hi Stefan, > Indeed, the behavior is changed, but AFAICT it's "better" in that it > gives us a state closer to the one we had before `tramp.el` was loaded: > the above functions are predefined in `loaddefs.el` > via `;;;###autoload` cookies, so it's normal that they're defined when > `tramp` is not loaded. OK, so be it. > So I think the problem is in the test rather than in the unload code. > The patch below fixes the test for me. The patch essential is to list those functions, and to make an exception. Will work, yes. However, I fear that this is error-prone: Whenever there is another such function with an autoload cookie in the future, the test will fail, again. Perhaps we shall give these functions a symbol property, say `tramp-autoload', and test for that property in order to filter out? This should be more robust. > BTW, I notice that the test uses `functionp` so it doesn't pay attention > to whether macros are properly unloaded (I noticed because I thought it > was odd that the above list didn't include > `tramp-archive-autoload-file-name-regexp` which is similarly predefined > in `loaddefs.el`). Good point, we shall test also for `macrop'. Will extend the test. > Stefan Best regards, Michael. From debbugs-submit-bounces@debbugs.gnu.org Fri Feb 04 12:14:29 2022 Received: (at 53632) by debbugs.gnu.org; 4 Feb 2022 17:14:29 +0000 Received: from localhost ([127.0.0.1]:60969 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nG2AH-0003Fi-KB for submit@debbugs.gnu.org; Fri, 04 Feb 2022 12:14:29 -0500 Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:60318) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nG2AG-0003FU-7t for 53632@debbugs.gnu.org; Fri, 04 Feb 2022 12:14:28 -0500 Received: from pmg3.iro.umontreal.ca (localhost [127.0.0.1]) by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id 8DDAE4415FD; Fri, 4 Feb 2022 12:14:22 -0500 (EST) Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id 0E46D4415F7; Fri, 4 Feb 2022 12:14:21 -0500 (EST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1643994861; bh=4X0pe6Mg2+YZZ8uT5SlhDxrT2wIuiNLmMbxaKn8Ssog=; h=From:To:Cc:Subject:References:Date:In-Reply-To:From; b=MqrrBzhkhd5SqIWxfC4wMpjJ5R+ZAv7H2f/0+D9Ui0sWAchfn8OfDrAULmgMSfNV3 b/FPN9ZQ6FuCr+coJRZxbWrtIvrXsylZJxP4gC9uDQKB31t/C0G0v+mhKaGyIesVBt X/+wPqHhEVkMKXgmfTHY9gsc9VidRbTbvL09jxgqEz+pnSH+xFqqnfeQdkrw+VScgN /p8GAGbSGg2M27GBS4sQBKt4vvACZ/1FDWMuF//W6xwZPZW4Tdde1HGDorBL/KvjaC 3FbF+EpK8lGHA0TCgG6XAq079LgzwKrLLFDMRqi13UEcxvqFyn+EesWXPTyuiSdI4f CKvltlU1B/gzQ== Received: from pastel (76-10-138-212.dsl.teksavvy.com [76.10.138.212]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id A518B1206C9; Fri, 4 Feb 2022 12:14:20 -0500 (EST) From: Stefan Monnier To: Michael Albinus Subject: Re: bug#53632: Function definition history Message-ID: References: <87y22spdxo.fsf@gmx.de> <87y22qmuro.fsf@gmx.de> Date: Fri, 04 Feb 2022 12:14:19 -0500 In-Reply-To: <87y22qmuro.fsf@gmx.de> (Michael Albinus's message of "Fri, 04 Feb 2022 18:00:43 +0100") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux) 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.006 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 T_SCC_BODY_TEXT_LINE -0.01 - X-SPAM-LEVEL: X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 53632 Cc: Glenn Morris , 53632@debbugs.gnu.org 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 (---) >> So I think the problem is in the test rather than in the unload code. >> The patch below fixes the test for me. > > The patch essential is to list those functions, and to make an > exception. Will work, yes. However, I fear that this is error-prone: > Whenever there is another such function with an autoload cookie in the > future, the test will fail, again. > > Perhaps we shall give these functions a symbol property, say > `tramp-autoload', and test for that property in order to filter out? > This should be more robust. Maybe a simpler option is to give them a recognizable name (e.g. including "preloaded" or "AL" or somesuch in their name)? In any case, those parts of the test47 are actually testing loadhist.el rather than Tramp, so I'd recommend you don't worry too much about those functions. I'd focus instead on the parts that verify proper functioning of the code you put in `tramp-unload-hook`. Stefan PS: BTW, why is `tramp-unload-file-name-handlers` preloaded? It doesn't seem like it can be meaningfully used before Tramp is loaded. From debbugs-submit-bounces@debbugs.gnu.org Fri Feb 04 12:44:01 2022 Received: (at 53632) by debbugs.gnu.org; 4 Feb 2022 17:44:01 +0000 Received: from localhost ([127.0.0.1]:60992 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nG2cr-0006Cq-Gz for submit@debbugs.gnu.org; Fri, 04 Feb 2022 12:44:01 -0500 Received: from mout.gmx.net ([212.227.15.18]:59957) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nG2co-0006Ca-Jp for 53632@debbugs.gnu.org; Fri, 04 Feb 2022 12:44:00 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1643996629; bh=ultzp3DIn00rnu2CwtfdPQqjXNZ4Ziv3HVejB/uN2+w=; h=X-UI-Sender-Class:From:To:Cc:Subject:References:Date:In-Reply-To; b=NRyNulI6hxb9qRd4j6I8L7mRdafy2CiwcWExqzNL7S49fiXPA/GnpsLr6sK9AEqoS PqBuLqS0oWLhVvsNhuqoz3ukd+wLA+xoqKSzKMMzJERt0vgfhPcSlLcB4Bv45oLNdY RLcBSRk6eeOL2GUcE9DQk39KX+0rDPHfTQtJpHcw= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from gandalf.gmx.de ([213.220.159.97]) by mail.gmx.net (mrgmx004 [212.227.17.190]) with ESMTPSA (Nemesis) id 1MnaoZ-1mWlaT3xeX-00jWLj; Fri, 04 Feb 2022 18:43:49 +0100 From: Michael Albinus To: Stefan Monnier Subject: Re: bug#53632: Function definition history References: <87y22spdxo.fsf@gmx.de> <87y22qmuro.fsf@gmx.de> Date: Fri, 04 Feb 2022 18:43:44 +0100 In-Reply-To: (Stefan Monnier's message of "Fri, 04 Feb 2022 12:14:19 -0500") Message-ID: <87tudemsrz.fsf@gmx.de> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Provags-ID: V03:K1:Gg6MvFUsLcQHpVEUlsCSHv1Pj2IJ5ghOO2TrGpug32DqGCcXFBX TbBhlnegB2x2zhGN9pZHexiJEBbKdfQO42Es2X+Gl5BaVVq2PaFgJSJ/oCFPSxSGQOS4BMq yirvUXkf3+y5KPHaLGbM+Qv9ouMUxDxgPM+L4eBDgH82D+2hOrhVVv55fqV1YosdZh7ypRa Aqp75mO1B552V8jwbBxOg== X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1;V03:K0:4gASfebZrCk=:CRlgcFXZOO8hSAO7rq7bGZ sTrigOZT/9cL3BnM6xNuAobqDb2yLZCuHUdvoBqqnHXecQhiDl3QVz6bf2bw2iA5WUT2bC6aR NS4gIBJsmfTwdWAXsHZ2vsRfXnsJ27T/OHhaTdA8TCGZ5AWq0EfsNDmGMAMQwFhTxhOkcaUuS hf/5IuBmA1wNe6vlY7kC6mYchh/S0sPJJSqtEyQmPZPwXpfgsgxTF2dpVHl4TpcYW77UBzBLF PVZyB/NcPzBEdfqo4teliRDH3jgTFa12oBF10k4AbiZgjPT+5Hic+mmqUwlqd3+j8kAedLkhb f/SHyjLSTdjFYPX++RffOZavfgPG3vOqxz1f1cdXyiWft+iDzqwjxOTlZgsZDnrb5jTaVXhK1 esU0NvPTJN5z9DmDT/JKSDsBKBPALS7+kqchdbde6I1sZn+U6W/E9s/ozVFQsn7jh/7J8RiJ+ zIOhBZNEnUr7encFtAr5XrJGzeVdb0zipRbbS+66q7ExgGlTw5CjYUROe4jzvPb0neEdapF2R iVZP8vyGiCJufpfxSgC3abKfiLeCGjxtttudLIiD+QeWsBuXnHa3kqScZazElXFoHEpwRE2/i jpWzEt+3PFCNfvDXSomsWPb6NgbOLhsA89pwE84Q4GW7z9VvQ+m57JdyXIZL9gwlpyToF96L9 flWZnYmWt94cSlzPkChusei8dyKBgcm2KO0LG1AAN3ySdmH3qMWxIP6U0aijY4R8H4oYNtqJi ecI/jQYBp0wxuQdcPfngq5pfocGWFEsbyUR5hqpLFtQzCRQpJ5fqvFLjNrsLkvubLR1PGP3Qd ezC67Cnf5d7mjt7CAR3S+y65tqE2+CtsS+avaQNvJ9DOwlrJ+O8wDsj4GCeJgWTzEZJ5vJygF BS+VQZ2ISbVRDt0Ly2cgSZOg+g4cBzaP/ijRlqY6FEit18oNhB+uF/suU9FTTPbjhzaqRxO+G 4T7TKD2yzwGIolR8dWrr+DLBDWUBh9b+6tMpZS/Us0DsXPx85kKbqMMe8PNr7YFZlYtcXKUFS G7DlFgTz29hffaGz1eXXFsoZuB0RmYzMleO46njf8wfFUa86xQXrwLww8YYOOb9FSWiduqlyt WwmTKQyLpKTGqY= X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 53632 Cc: Glenn Morris , 53632@debbugs.gnu.org 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: -1.7 (-) Stefan Monnier writes: Hi Stefan, > Maybe a simpler option is to give them a recognizable name > (e.g. including "preloaded" or "AL" or somesuch in their name)? > > In any case, those parts of the test47 are actually testing > loadhist.el rather than Tramp, so I'd recommend you don't worry too much > about those functions. > > I'd focus instead on the parts that verify proper functioning of the code > you put in `tramp-unload-hook`. Will see. In fact, it tests already the functionality of the unload-hooks, like cleaning up other hooks, and alike. > PS: BTW, why is `tramp-unload-file-name-handlers` preloaded? > It doesn't seem like it can be meaningfully used before Tramp is loaded. The name is a little bit misleading, it is rather a `tramp-deactivate-file-name-handlers' functionality. It is autoloaded, because it is used in `tramp-autoload-file-name-handler', which is also autoloaded. > Stefan Best regards, Michael. From debbugs-submit-bounces@debbugs.gnu.org Fri Feb 04 14:44:01 2022 Received: (at 53632) by debbugs.gnu.org; 4 Feb 2022 19:44:01 +0000 Received: from localhost ([127.0.0.1]:32853 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nG4Uz-0000jM-Fy for submit@debbugs.gnu.org; Fri, 04 Feb 2022 14:44:01 -0500 Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:43709) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nG4Uy-0000jA-52 for 53632@debbugs.gnu.org; Fri, 04 Feb 2022 14:44:00 -0500 Received: from pmg2.iro.umontreal.ca (localhost.localdomain [127.0.0.1]) by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id 5942B806A3; Fri, 4 Feb 2022 14:43:54 -0500 (EST) Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id B10B980521; Fri, 4 Feb 2022 14:43:52 -0500 (EST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1644003832; bh=Dp3HpM3REDnDs8Biyjsgff7ag7nzCDVvtU5rcHp/11g=; h=From:To:Cc:Subject:References:Date:In-Reply-To:From; b=bbKdx2VK2keUUkq+REaGAV2+gRCDlcK0SrZrJGkFJEbOgSi2voSGpQW4KoD4e0dtT viUdQdXs/jTEvC3zJNVOk2KLKCc6N/VyZBDoizpYuxzkMrWWne3N1rhw/av61mDd5K aeQ9xyl2ap5Iy/4YXJGd0W4/pYPjLBDJrEZqrXlOB6QeUgISICTFLI8zMeHWfv5Zoe 1clsum7xGW3wPmj1LxpkR9hrJX1suUTi5hDVJsYZEWddmXM7+Wx2oB6i4hRrogQLY4 T4UeE7pSgDkTj7/h1NbmMCsVDRcRRmh3/XxK4/H6fqGj32JpzfDXEu2sMf0RHz1oaf 04Yb1j1OFU4vw== Received: from pastel (76-10-138-212.dsl.teksavvy.com [76.10.138.212]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 8232F120867; Fri, 4 Feb 2022 14:43:52 -0500 (EST) From: Stefan Monnier To: Michael Albinus Subject: Re: bug#53632: Function definition history Message-ID: References: <87y22spdxo.fsf@gmx.de> <87y22qmuro.fsf@gmx.de> <87tudemsrz.fsf@gmx.de> Date: Fri, 04 Feb 2022 14:43:51 -0500 In-Reply-To: <87tudemsrz.fsf@gmx.de> (Michael Albinus's message of "Fri, 04 Feb 2022 18:43:44 +0100") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux) 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.033 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 T_SCC_BODY_TEXT_LINE -0.01 - X-SPAM-LEVEL: X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 53632 Cc: Glenn Morris , 53632@debbugs.gnu.org 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 (---) Michael Albinus [2022-02-04 18:43:44] wrote: > Stefan Monnier writes: >> Maybe a simpler option is to give them a recognizable name >> (e.g. including "preloaded" or "AL" or somesuch in their name)? >> >> In any case, those parts of the test47 are actually testing >> loadhist.el rather than Tramp, so I'd recommend you don't worry too much >> about those functions. >> >> I'd focus instead on the parts that verify proper functioning of the code >> you put in `tramp-unload-hook`. > > Will see. In fact, it tests already the functionality of the > unload-hooks, like cleaning up other hooks, and alike. Indeed it already does, and I just meant to clarify that I didn't mean to throw out the whole test47. >> PS: BTW, why is `tramp-unload-file-name-handlers` preloaded? >> It doesn't seem like it can be meaningfully used before Tramp is loaded. > > The name is a little bit misleading, it is rather a > `tramp-deactivate-file-name-handlers' functionality. > > It is autoloaded, because it is used in `tramp-autoload-file-name-handler', > which is also autoloaded. I guess the part I don't understand is why we need it there. It's called right before loading `tramp.el` but `tramp.el` will re-execute it anyway when it runs `tramp-register-file-name-handlers`, so it seems redundant. Stefan From debbugs-submit-bounces@debbugs.gnu.org Sat Feb 05 05:43:12 2022 Received: (at 53632) by debbugs.gnu.org; 5 Feb 2022 10:43:12 +0000 Received: from localhost ([127.0.0.1]:33817 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nGIXA-0001tX-Ir for submit@debbugs.gnu.org; Sat, 05 Feb 2022 05:43:12 -0500 Received: from mout.gmx.net ([212.227.15.18]:54509) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nGIX8-0001tJ-R0 for 53632@debbugs.gnu.org; Sat, 05 Feb 2022 05:43:11 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1644057781; bh=3LD8+dwk/96W+vbeZWb2gmqKHn94T02YpvNcVNwYMNE=; h=X-UI-Sender-Class:From:To:Cc:Subject:References:Date:In-Reply-To; b=D1nTVmdeg9t3fMPLfg04VboCrXInVnwp+ql1OfvsNg1heUw0qhmXYb7D7ggth+Feu o9YDa/rO6J8fjCF4a1YYXZiWU5Eu5ct61W//cdcv1CMYX34JCNDlbRmiu3ylIN5uhr g6eopmbu59H6Z9IqeqXjM7jnZxttSTg4rs6UVgA8= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from gandalf.gmx.de ([213.220.149.107]) by mail.gmx.net (mrgmx005 [212.227.17.190]) with ESMTPSA (Nemesis) id 1M9FjR-1nAVMo2fEV-006KpJ; Sat, 05 Feb 2022 11:43:01 +0100 From: Michael Albinus To: Stefan Monnier Subject: Re: bug#53632: Function definition history References: <87y22spdxo.fsf@gmx.de> <87y22qmuro.fsf@gmx.de> <87tudemsrz.fsf@gmx.de> Date: Sat, 05 Feb 2022 11:42:59 +0100 In-Reply-To: (Stefan Monnier's message of "Fri, 04 Feb 2022 14:43:51 -0500") Message-ID: <87pmo1mw5o.fsf@gmx.de> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Provags-ID: V03:K1:Hx5fNhDIvMlSpUuH3qBbwzj7rdYKVUcNa4Igc6r+dm1BHio3e3I 3U7D5tYnziQFh5kpjn3NnK0TRT8DeqqyiRANehc1ZtVnhcMTL/5KVaR+Q3CfrHguqFXEqLY OGt9KOP9mCXTKWBSrBsZHsTYD2bJY4kygkDoKA97U8LaCetfud0eUKpwX008fRY/1euDejD x3OKJGR5UllfU04r/m4eA== X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1;V03:K0:VCzFgCbsMSI=:QR+lfHbypv9GRDVEPKvd0r f8EdeOg63xAFh81QzgDBp2W/vhUnAZpAvWrEgmmey9WRSeR186YBgEboutPu5C6p3TDznzQz6 cN6NWKf0W5K4ebZ26F5pF+2slFEJqKfxlcv7RASi1Q9vryLZU3Bw4+xiEmAB67VMwLN/64rN3 4rbQ+szAXS4KUhBO5Vg+ZDGDwpYFWZd9RIvoZ9rWDDcJOE9GiA+Wk/TvlJ6SwsJwF2AIKHyee SUgrJSocZY4WWLHd95c+kRBOMBvzW+rDGxEnlxsLStT63m+bc1ALytmNtLJPfVVK1apqj6J5v 0UtML2G9vGTxTCrRsaKwS1iBvDfKOS9wnChcc57ZOoK76py//7MXuVXipkGYniylZbRe5InrA c02qF8BQzTyfBMCQmA1j66bqgxYR+n+3Rgvl9gznQIzri6p7VcJ6joBblE6r7AiDOJsUVHa1Y 2LyPjsTJkJ2b9JrBjpLtTKJD5jKf0fFgRCkIprbqkgN+awQ1sf4r0vO+8qnJp3119TEoocL52 dhoqwlspgvum6T210AJhFhcfGIkv/OklFNGP7iaC76N0MakzmhdrFh/LriHH3cMeKBpptEHTK 1WJmHxTJGvOzfOBq+kPcUh4X/UGEt6Dp43lL3s7qxKlyM/w978BP95w2r6LkGPUdNluF/0o0I NVBur/Nh9GrQHVwA8uhaOXE49kOKj6gpcf67tNwrq/F6edeyiK/RBDvDcWc5dSqH2o1QB+qPc aW0zr4LGhkOqU6mxTeKeXYmwWQ7ceEfbDyP7o5ksOd1aG+mE6AleJqZ9LVY/rfE/S84F0Iwhr ZtbXoLtAEN9IWr1qg9aVLJ4R55NxwxwFT6snOXE82Eo2lSvbF6G2ZOiwCaRfIJqYdGEkUd/8H rIH24DCXULaLyW2zi4HrHXLljj2H80GLYiw54179NKefFEgvVUuZhGwxaFSKweVMIRAnoGHfn RlJk82fNw5Kt3NRXUpkzUfe5yXca+VRssrOk1B4qZCeTRhi2TErYWAhzl5QTsxuQB1bc6cjtI 9QJnEgqE4Z0AacTolZKfyxF0kD9/NF0pgBaeEBIIzgwucep/y+0vsPPUmCEwkBWxBOMlw581B fTOijFmwqmGcS0= X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 53632 Cc: Glenn Morris , 53632@debbugs.gnu.org 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: -1.7 (-) Stefan Monnier writes: Hi Stefan, >>> Maybe a simpler option is to give them a recognizable name >>> (e.g. including "preloaded" or "AL" or somesuch in their name)? >>> >>> In any case, those parts of the test47 are actually testing >>> loadhist.el rather than Tramp, so I'd recommend you don't worry too much >>> about those functions. >>> >>> I'd focus instead on the parts that verify proper functioning of the code >>> you put in `tramp-unload-hook`. >> >> Will see. In fact, it tests already the functionality of the >> unload-hooks, like cleaning up other hooks, and alike. > > Indeed it already does, and I just meant to clarify that I didn't mean > to throw out the whole test47. Yep. I've fixed this now in master with commit 3a8e140ad1. I've decided against renaming of the functions, because this would result in a backward compatibility nightmare. >>> PS: BTW, why is `tramp-unload-file-name-handlers` preloaded? >>> It doesn't seem like it can be meaningfully used before Tramp is loaded. >> >> The name is a little bit misleading, it is rather a >> `tramp-deactivate-file-name-handlers' functionality. >> >> It is autoloaded, because it is used in `tramp-autoload-file-name-handler', >> which is also autoloaded. > > I guess the part I don't understand is why we need it there. > It's called right before loading `tramp.el` but `tramp.el` will > re-execute it anyway when it runs `tramp-register-file-name-handlers`, > so it seems redundant. Well, I don't remember all the details. But there are subtle problems when you change the regexp used in the file name handler alist, so I finally came with this approach. Really, I don't want to reopen this can of worms, I'm happy it works as it is. > Stefan Best regards, Michael. From debbugs-submit-bounces@debbugs.gnu.org Sat Feb 05 12:40:57 2022 Received: (at 53632) by debbugs.gnu.org; 5 Feb 2022 17:40:57 +0000 Received: from localhost ([127.0.0.1]:35510 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nGP3R-0002b0-Gg for submit@debbugs.gnu.org; Sat, 05 Feb 2022 12:40:57 -0500 Received: from eggs.gnu.org ([209.51.188.92]:44226) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nGP3M-0002ah-Fv for 53632@debbugs.gnu.org; Sat, 05 Feb 2022 12:40:56 -0500 Received: from [2001:470:142:3::e] (port=38296 helo=fencepost.gnu.org) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nGP3G-0006nQ-9o; Sat, 05 Feb 2022 12:40:46 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-Version:In-Reply-To:Date:References:Subject:To: From; bh=5h26kmP0iMbz0OoiZOqmE9N92D6x91UazbEcC7JbHew=; b=komI9Q3HkfUFql4EZld3 v0H7crkqNuwZ59fH0mHoPyV0olXpeeEx+lPol5LMDnE+h2LuRQIlhzNTRBM0HuroMDMAepjoWDrkN Sxqhks+pX1AWYw6M316OJiE9mjqKFc/Qzte9tCerDQlUFSJn2NF9P3bz64uoZlKcizAp3nGIZSDQd cqeR1SldqAkPB2DfAGbjJVwxiFP6OBh+MRQ4AMZsrFLPa8YmyI52FTOmmqjCEiZdZTkO7goUlW2kW s61zEmJQ2sq7opY4FXrxxaf4NzFqK1cMrp1PWQqgbhnheEtilamAzf1e2+DmTcRhHr5CtdtQlaKTe YWPkpjs0SEGo6A==; Received: from rgm by fencepost.gnu.org with local (Exim 4.90_1) (envelope-from ) id 1nGP3B-000525-4Y; Sat, 05 Feb 2022 12:40:44 -0500 From: Glenn Morris To: Michael Albinus Subject: Re: bug#53632: Function definition history References: <87y22spdxo.fsf@gmx.de> <87y22qmuro.fsf@gmx.de> <87tudemsrz.fsf@gmx.de> <87pmo1mw5o.fsf@gmx.de> X-Spook: Reynosa cybercash BITNET DEA David John Oates Watergate X-Ran: BL6!pz"yR&O@HcC0}RA]XMdwg"z]Oxn1:@#"8Y}in.wL>6uK~)q0en+8')^$cR#-"Jq~B$ X-Hue: white X-Debbugs-No-Ack: yes X-Attribution: GM Date: Sat, 05 Feb 2022 12:40:39 -0500 In-Reply-To: <87pmo1mw5o.fsf@gmx.de> (Michael Albinus's message of "Sat, 05 Feb 2022 11:42:59 +0100") Message-ID: User-Agent: Gnus (www.gnus.org), GNU Emacs (www.gnu.org/software/emacs/) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 53632 Cc: 53632@debbugs.gnu.org, Stefan Monnier 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 (---) Michael Albinus wrote: > Yep. I've fixed this now in master with commit 3a8e140ad1. tramp-test47-unload continues to fail as of 9e420cd893? From debbugs-submit-bounces@debbugs.gnu.org Sat Feb 05 13:21:20 2022 Received: (at 53632) by debbugs.gnu.org; 5 Feb 2022 18:21:20 +0000 Received: from localhost ([127.0.0.1]:35556 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nGPgW-0003cD-24 for submit@debbugs.gnu.org; Sat, 05 Feb 2022 13:21:20 -0500 Received: from mout.gmx.net ([212.227.15.19]:42563) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nGPgU-0003c1-Pb for 53632@debbugs.gnu.org; Sat, 05 Feb 2022 13:21:19 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1644085270; bh=cj+YyV1kBsC2Pn2XO4bb2RXmzn9uxbA2AXCiyfqkdyQ=; h=X-UI-Sender-Class:From:To:Cc:Subject:References:Date:In-Reply-To; b=lD1M5tXKXCCgFBWMP35K3LeZgit89bDw3ZoHLEHxrreabDhO2Cn9kIPqcr5taAVUe 4BeYMHJ18X6lmVyqaEdA8N/klUAP3nQnQCocLhR3OgM5GoW2BvlYu31VLOQOiHKqW4 sbEhPb/LpqtjhjypLOg4W6QoiYUVWpy/k5I8Tu/w= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from gandalf.gmx.de ([213.220.149.107]) by mail.gmx.net (mrgmx005 [212.227.17.190]) with ESMTPSA (Nemesis) id 1MQv8n-1mszo23J4h-00O33H; Sat, 05 Feb 2022 19:21:09 +0100 From: Michael Albinus To: Glenn Morris Subject: Re: bug#53632: Function definition history References: <87y22spdxo.fsf@gmx.de> <87y22qmuro.fsf@gmx.de> <87tudemsrz.fsf@gmx.de> <87pmo1mw5o.fsf@gmx.de> Date: Sat, 05 Feb 2022 19:21:08 +0100 In-Reply-To: (Glenn Morris's message of "Sat, 05 Feb 2022 12:40:39 -0500") Message-ID: <87v8xtkwdn.fsf@gmx.de> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Provags-ID: V03:K1:dVrsA+8+5kdUviePCyzMMCFNhf+lMOUB5tHmYbYd1XKW+hML6nv MvN9XuUzWgY2/p1VGlvMiy9DTI6BNlr3MOWwz7RYZbXw3ZDo/yW1xHqLUVGtVx8B6lN0U6A G1WPSDcXqkgqaQdVR+iSlXUuqI/TfP8xP8J4MKowHRVDOdytwLmsi/tuMhqx5YlEjDfy4yx nbn3yF+BRMlOXUYLugsIw== X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1;V03:K0:JcPB1czlxjw=:kvT83kceUlremjnl7rXw+3 l3Qfta5f1NA6ErtanVubAAWVDWVeMv903Uqg8DefLVUVt9WcYvFqdqTSXJb2BuIkU3GeXyWV4 B28t4pDFi6Dg/E28xVMUi0fr5MxrEaDbljJfEEf3wzSbfIC7Yx/PZysGKIbBIvaFW54TW0vUg 2DNnMK1xnq+fyiBYGdMeuxrMUoFFkvQS32ZpsLG8ziJyc2+IPy5lkm4l5BvH3IlU5vUrch7Ht 9r9KiJvO+t7YP3vjuYmah6DxkJ1U14s2MJpdH7mf/gpbVHd1YF9X3bOQ7LLMTddeFFG7Bxebp 4LF4etqbEU0cNPujjGCeMbsStjxyDGlsLYQRPtUTmN8lBsAfjnr/ZvvXd/lAxrR+DhZyohclm QVsj0tvt+la4jiJ3TJE1ApKXegfJcmo6HXSscuEjzAYYKzyTFhGIURTw4qEf9ZQDZUk1JAZ56 d3TP5lsG/HSUePWOI/BApRUvMjJ3QxZN490oS19Tx1M5h0lNOMgdelrTAL3DV1HHXismBp6Tc F76DOFoXGOp+EBPI5crTcTtro19SoYkJgcVNLgqLQzHqs/hTVDg7toQMUDwksfxmLhodIvVT2 1q7V1y/VNlZCFslTVwukyNdEwDG0HmM5UP9Oe8N6vEX/NSdh1ncrSklabN7Vvuepzv9FoseaT r0RyOb7XfSy6NuMz/8A1V7zh+HGWJaMopFaV7dpPiJiXVJ/odeqsUCdPZDPA51DxuSwoGnEsb O8rF1QBtTceLsHC8485z3hWUCaWu2QRp8wjdtn/bVXtjjZh+9zeW6xfsicBMQtqqqFO27DkLr XkkNXgHxkUReAzAcC1HBrlsnRa/n8lxZsYsphLU87eUkdNnDQFm5vuZ76vYVLWSm77GwfqNji u2SyXrXjkXMbGbExoxsTZL58dgrRv9lAcfulxwDs08XffcVpSKueQtVwAUkSdt54YhuAnytBJ 2rX4QqmmkElah/OTl9H9hvN/uvCzTdWNQ1MHuUPuVPZc4Mg6RSONrpK40pvitQOL+FUABlBVE t4Wa447ALmm1/mfkK+kQlqAsEus0xPPzxwyGVI7iqBTy/r/Vg8je99IMi+zdpSbI7uqH60ZBS uKHsh6fPAda3SU= X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 53632 Cc: 53632@debbugs.gnu.org, Stefan Monnier 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: -1.7 (-) Glenn Morris writes: Hi Glenn, >> Yep. I've fixed this now in master with commit 3a8e140ad1. > > tramp-test47-unload continues to fail as of 9e420cd893? Oops, commit 3a8e140ad1 contains only tramp.el and tramp-archive.el. I've forgotten to commit tramp-tests.el. Done now with commit ddc734432b. Sorry for the trouble. Best regards, Michael. From unknown Tue Aug 12 03:20:28 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Sun, 06 Mar 2022 12:24:06 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator