From unknown Wed Jun 18 23:17:35 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#40971 <40971@debbugs.gnu.org> To: bug#40971 <40971@debbugs.gnu.org> Subject: Status: Updating built-in packages that seq depends on is broken due to a bug in package.el Reply-To: bug#40971 <40971@debbugs.gnu.org> Date: Thu, 19 Jun 2025 06:17:35 +0000 retitle 40971 Updating built-in packages that seq depends on is broken due = to a bug in package.el reassign 40971 emacs submitter 40971 Cl=C3=A9ment Pit-Claudel severity 40971 normal thanks From debbugs-submit-bounces@debbugs.gnu.org Wed Apr 29 15:47:30 2020 Received: (at submit) by debbugs.gnu.org; 29 Apr 2020 19:47:30 +0000 Received: from localhost ([127.0.0.1]:44741 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jTsg5-0005Ly-V0 for submit@debbugs.gnu.org; Wed, 29 Apr 2020 15:47:30 -0400 Received: from lists.gnu.org ([209.51.188.17]:55228) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jTsg5-0005Ls-3c for submit@debbugs.gnu.org; Wed, 29 Apr 2020 15:47:29 -0400 Received: from eggs.gnu.org ([209.51.188.92]:48704) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jTsg3-00070s-JF for bug-gnu-emacs@gnu.org; Wed, 29 Apr 2020 15:47:28 -0400 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM, RCVD_IN_DNSWL_NONE,SPF_PASS,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.2 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.90_1) (envelope-from ) id 1jTsfu-0001mc-EP for bug-gnu-emacs@gnu.org; Wed, 29 Apr 2020 15:47:27 -0400 Received: from mail-qk1-x72c.google.com ([2607:f8b0:4864:20::72c]:43500) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jTsfu-0001k9-15 for bug-gnu-emacs@gnu.org; Wed, 29 Apr 2020 15:47:18 -0400 Received: by mail-qk1-x72c.google.com with SMTP id 20so3307479qkl.10 for ; Wed, 29 Apr 2020 12:47:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=to:from:autocrypt:subject:message-id:date:user-agent:mime-version :content-language:content-transfer-encoding; bh=29Wx7E17ZvX+/aZjzbkha3q17kpuO9s/LOE1KaoGgTI=; b=CLkCYPNJujJ4g4TOSt0A9Z/lls48kHDjylEEz3F1nE7oyBvTMpyoyyE0krm8t6L2oc 9YDCw9jtM4ka7tNyPxIggobFW4JxxR4OXfgNXttEPlZ6rmIJYq/jPj629ZtEGEOXKGEM QHwnsU61L41F9DJoca8R837xf0yoxgqRHB+LkaxcUR+Dg8NNC/WwMLnYusY9k2fcyuJP ZrKBir9iYTkB90Eun0/nR3P9J7N0yCMMSpZwRKdWF7Lj02/L5YJ/etorrtG+614Jpkfx TvY5bkL4+ZKWAYfqKa3OQjnQYyFhARt1wlXxOmyhD4ofHgi6tHrVKQWieGpNRdJcMPkx RpcQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:to:from:autocrypt:subject:message-id:date :user-agent:mime-version:content-language:content-transfer-encoding; bh=29Wx7E17ZvX+/aZjzbkha3q17kpuO9s/LOE1KaoGgTI=; b=JERhlJE/4aug0G85eA0aMNuQ/RHkqDid5eWfaPijr9yTBOknC13zvHzWf7ZxCHxxrm G/vQ6nXytbs9zctgiterPRNw0XbnhveYudcQg1XluLea3SQnwUefN0aL4QgScX47ie5Q wvCG9F8aHhFXV9YvRtXK3VPPKqPH2u7WDFA9OfxP1/NtRpWv/0eZn2GalbCe2lzZoXv/ zqM8dTvwgxhMxLzwv9Z5mYquRy1m3ZrKT300aO0buF3OS2qa+pARnGjpX9mShMirhg5W lY7lJ5BKZ1B45XmBnVCllM4dZKMOqynZKn0wBgm9RWM9dglAndrQzBlh0Ymhy70WBEAP Tjyw== X-Gm-Message-State: AGi0PuYxEhyqYIqRsrFexi9hMM5aY0X1kyhns83igya3LIErOetbbGwT VJlW/tDAiNYsJBK9fAPowVOjKSwI X-Google-Smtp-Source: APiQypKLxaLkgp/1L6nto38/YcLJ3wJURtY7oEVsTVhzqjfMHFdnO4p5cuKWkCNayEjDXhvwLLeawQ== X-Received: by 2002:a37:ac9:: with SMTP id 192mr50528qkk.249.1588189636570; Wed, 29 Apr 2020 12:47:16 -0700 (PDT) Received: from ?IPv6:2601:184:4180:66e7:9d33:2bf5:e2d3:3d95? ([2601:184:4180:66e7:9d33:2bf5:e2d3:3d95]) by smtp.googlemail.com with ESMTPSA id u7sm113779qkj.51.2020.04.29.12.47.15 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 29 Apr 2020 12:47:16 -0700 (PDT) To: bug-gnu-emacs From: =?UTF-8?Q?Cl=c3=a9ment_Pit-Claudel?= Autocrypt: addr=clement.pitclaudel@live.com; prefer-encrypt=mutual; keydata= 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 hze1s8uad9n9PQF+gigV X-Debbugs-Cc: Artur Malabarba Subject: Updating built-in packages that seq depends on is broken due to a bug in package.el Message-ID: <5c626da7-1d8f-eb56-0b38-21b499988252@gmail.com> Date: Wed, 29 Apr 2020 15:47:14 -0400 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.7.0 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Language: en-GB Content-Transfer-Encoding: 8bit Received-SPF: pass client-ip=2607:f8b0:4864:20::72c; envelope-from=cpitclaudel@gmail.com; helo=mail-qk1-x72c.google.com X-detected-operating-system: by eggs.gnu.org: Error: [-] PROGRAM ABORT : Malformed IPv6 address (bad octet value). Location : parse_addr6(), p0f-client.c:67 X-Received-From: 2607:f8b0:4864:20::72c X-Spam-Score: 0.7 (/) 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 (--) Hi all, This is a follow-up to the thread at https://lists.gnu.org/archive/html/emacs-devel/2020-04/msg01974.html. `seq` and a few other packages are distributed through ELPA but also built-in. In theory, this makes it possible to upgrade these packages after installing Emacs. However, because implementation of package.el requires `seq', seq is loaded very early after starting Emacs — so early, in fact, that when package-initialize adds elpa/ directories to the load-path, seq is already loaded. As a result, even if a newer version of seq is installed, it is never loaded, because the built-in seq library is already loaded. Concretely, this means that it isn't possible to update seq. I got bitten by this while developing a package that uses seq-sort-by, which isn't available in Emacs 25's built-in seq. I added a dependency on seq 2.14, which does contain seq-sort-by, but that doesn't help: package.el does install the dependency, but it is never loaded. I believe the bug lies in `package--list-loaded-files'. Theoretically, after upgrading a package, it should be reloaded if it was already in the load history. But the code to find previously loaded files uses file-name-sans-extension to match load-history entries to library file names. This fails because seq.el is installed as seq.el.gz, so file-name-sans-extension returns seq.el, not seq. The correct approach would likely be to use get-load-suffixes, although it might also be enough to use find-library--from-load-history, which seems to already do most of the needed work. Clément. From debbugs-submit-bounces@debbugs.gnu.org Tue May 05 23:30:56 2020 Received: (at 40971) by debbugs.gnu.org; 6 May 2020 03:30:57 +0000 Received: from localhost ([127.0.0.1]:38068 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jWAlp-0004ES-Jl for submit@debbugs.gnu.org; Tue, 05 May 2020 23:30:56 -0400 Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:1738) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jWAln-0004EE-KO for 40971@debbugs.gnu.org; Tue, 05 May 2020 23:30:52 -0400 Received: from pmg2.iro.umontreal.ca (localhost.localdomain [127.0.0.1]) by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id 26CE681554; Tue, 5 May 2020 23:30:46 -0400 (EDT) Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id 5D64E8147B; Tue, 5 May 2020 23:30:44 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1588735844; bh=jjra9kRRbbPorHvmvDtXmLpoSDWgc4VBRfMdonXUqs8=; h=From:To:Subject:Date:In-Reply-To:From; b=bijaJ7COGm3M+4ZSv0SbgEuUiVYN1VTEV4e/ASuy6RuqMceauvBvkO/qKZmAB/AQG uxCMzeFzhcQOwpDqwh059hBGuvA1wfusWBXRX502XybBRt5EunnKrD4Una9JFnqhG2 1O//591r2zTUSIsT983bJByAOVMmhf//vRUygC+gtwIy6vPgUH8ePqe/2iEBZq8Ajy SmvJuuYXn4Adr0Pd4zEvwKEwF7ljN2AdN3MvmsnuD0bTQwE+uQoM2+cltlyf22uEPI LpZm+KZRhaSTuldX/AkJzZUUiLyXjmtSsJhaTELHRgtZSZrxMa4OSREMjxLRru/GFB 1fPuFKYurkJvw== Received: from alfajor (unknown [216.154.3.202]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id DBD0912040A; Tue, 5 May 2020 23:30:43 -0400 (EDT) From: Stefan Monnier To: bug#40971 <40971@debbugs.gnu.org> Subject: Re: Status: Updating built-in packages that seq depends on is broken due to a bug in package.el Message-ID: Date: Tue, 05 May 2020 23:30:42 -0400 In-Reply-To: bug's message of "Wed, 06 May 2020 03:19:22 +0000" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.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.797 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 FAKE_REPLY_C 1.486 - X-SPAM-LEVEL: X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 40971 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 (---) > I believe the bug lies in `package--list-loaded-files'. > Theoretically, after upgrading a package, it should be reloaded if it > was already in the load history. But the code to find previously > loaded files uses file-name-sans-extension to match load-history > entries to library file names. This fails because seq.el is installed > as seq.el.gz, so file-name-sans-extension returns seq.el, not seq. Hmm... have you traced this function to see how it's called and what it returns? AFAIK `seq.el.gz` should "never" be loaded (it's `seq.elc` which is loaded), so I'm not sure it can make much difference. Furthermore, I think that when activating packages at startup we don't bother to look for already loaded files and reload them. We only do that *during* a package upgrade (in order to try and avoid having the old version's macros&functions get in the way while compiling the new code, mostly). I was about to look at tweaking `package.el` so it doesn't depend on `seq` (and hence delay loading `seq` just enough that we end up loading the right version) but then remembered that `seq.el` may very well become preloaded in some not too distant future, so we should come up with a better fix. E.g. improve `package-activate-all` so it can handle the situation where some packages have already been activated and where some of those are now obsolete. This would also be useful for users who want to change some `package.el` settings from the `.emacs` (i.e. after `package-activate-all` has already been called) and then call `package-activate-all` manually to take those changes into account. > although it might also be enough to use > find-library--from-load-history, which seems to already do most of the > needed work. Sounds like a good idea, indeed. Stefan From debbugs-submit-bounces@debbugs.gnu.org Mon May 11 15:06:30 2020 Received: (at 40971) by debbugs.gnu.org; 11 May 2020 19:06:30 +0000 Received: from localhost ([127.0.0.1]:53335 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jYDkz-0004Vl-WF for submit@debbugs.gnu.org; Mon, 11 May 2020 15:06:30 -0400 Received: from mail-qt1-f171.google.com ([209.85.160.171]:33160) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jYDky-0004VX-1L for 40971@debbugs.gnu.org; Mon, 11 May 2020 15:06:28 -0400 Received: by mail-qt1-f171.google.com with SMTP id y42so5510084qth.0 for <40971@debbugs.gnu.org>; Mon, 11 May 2020 12:06:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:to:references:from:message-id:date:user-agent:mime-version :in-reply-to:content-language:content-transfer-encoding; bh=gU/pxKBCD73QH28/bi5quUlVH3sM2Wu3HCu3wfC/gaQ=; b=RGppwwnpyyMMnHJsg2xZ20WFTdZBT6VPcy4WK1Qgdi4EP0NWlhu2i8Ch7Yj/TxOTOy +VIqdDmj7ct+BkFI3CoacpllB/fwNh3LYajhM3DCqHkqptB9NSabCukwkIaKs2lwEbsA YRN/0O/MQQVIlkpyxTVWnseLHif04eeyNHcgwhetvdSlwqR8QmgpcoyT+UEBEfDgDIxL Vo9GrErEMoR1o4yiPtgIA7qAP8hYvtOZ6yx9kc4HoRQYeGK/zaZ6nqPyxczvb74UfUNM TosOaQKHumvTyz4JdZOh5u/x1quaGotIrxfQvUSpVecnEfYhEag0qbNzriH8DkUtOePw 4zPw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=gU/pxKBCD73QH28/bi5quUlVH3sM2Wu3HCu3wfC/gaQ=; b=OhkbMo713b98QPzQTh70M6exzIgsZ2tLui+v4BMMpOw2UEhv3fAdvCXcPLqm1i/gHO HbZq1JTIw/l5hBAemtlVNtP9idPAgC8fSeERiTkQCPOVOBz66mVQZ51KhsrtZqTz+pbY PxQEFapRyZSL7FyZUKhTfIcziPs/NRdYnAVERRavhz+oc0/p7VJo65w6XnACYac9HaDH bPG7DvdYvLc0CGq6/raBMQvFrHhxQbX9wURKujGbxdaD8QHP7Al+bK6cBC8TMoVFf3Bo DuMaG+I892tK51EgZP8Blw/vr/horYbb9023EdGvO8o0RzfsouINtHiL7plTKSl3W6w+ K0FA== X-Gm-Message-State: AGi0PuYShq0Kwc0Qo5+CPL3Ea2ND5wEdoX5nL/WhCfuUVOs+nyDTNSwI +vk4evFGH49ouJL3kmPxR/h/iALk X-Google-Smtp-Source: APiQypJ6Fnezsvoh8xHfsTRmSIHC74jS+RjqtRzI0BjzoJtHzy7BYv/EzUa9tEF1NZEI8f+X9fV4FA== X-Received: by 2002:ac8:d86:: with SMTP id s6mr17755080qti.199.1589223981979; Mon, 11 May 2020 12:06:21 -0700 (PDT) Received: from ?IPv6:2601:184:4180:66e7:4d17:b25e:8d9:2188? ([2601:184:4180:66e7:4d17:b25e:8d9:2188]) by smtp.googlemail.com with ESMTPSA id p31sm10327505qtf.11.2020.05.11.12.06.21 for <40971@debbugs.gnu.org> (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 11 May 2020 12:06:21 -0700 (PDT) Subject: Re: Updating built-in packages that seq depends on is broken due to a bug in package.el To: 40971@debbugs.gnu.org References: From: =?UTF-8?Q?Cl=c3=a9ment_Pit-Claudel?= Message-ID: <815c0d88-a85f-530e-705d-98eaec0f2aa3@gmail.com> Date: Mon, 11 May 2020 15:06:20 -0400 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.7.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Language: en-GB Content-Transfer-Encoding: 7bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 40971 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.0 (-) On 05/05/2020 23.35, Stefan Monnier wrote: > Hmm... have you traced this function to see how it's called and what > it returns? AFAIK `seq.el.gz` should "never" be loaded (it's > `seq.elc` which is loaded), so I'm not sure it can make much > difference. I did :) Here's the function: (defun package--list-loaded-files (dir) "Recursively list all files in DIR which correspond to loaded features. Returns the `file-name-sans-extension' of each file, relative to DIR, sorted by most recently loaded last." (let* ((history (delq nil (mapcar (lambda (x) (let ((f (car x))) (and (stringp f) (1) (file-name-sans-extension f)))) load-history))) (dir (file-truename dir)) ;; List all files that have already been loaded. (list-of-conflicts (delq nil (mapcar (lambda (x) (let* ((file (file-relative-name x dir)) ;; Previously loaded file, if any. (previous (ignore-errors (file-name-sans-extension (2) (file-truename (find-library-name file))))) (pos (when previous (member previous history)))) ;; Return (RELATIVE-FILENAME . HISTORY-POSITION) (when pos (cons (file-name-sans-extension file) (length pos))))) (directory-files-recursively dir "\\`[^\\.].*\\.el\\'"))))) On line (1) it uses file-name-sans-extension when iterating over load-history. On line (2) it uses file-name-sans-extension + find-library-name when iterating over the package's files. The problem is find-library-name: (find-library-name file) returns "/usr/local/share/emacs/28.0.50/lisp/emacs-lisp/seq.el.gz" > Furthermore, I think that when activating packages at startup we > don't bother to look for already loaded files and reload them. We > only do that *during* a package upgrade (in order to try and avoid > having the old version's macros&functions get in the way while > compiling the new code, mostly). Good point.