Philip Kaludercic writes: > Will this not affect `package-update-all'? I don't if we want that the > command installs all packages from ELPA that it can find. Thanks. I've just tested 'M-x package-update-all' with my patch. It updates the built-in and the manually installed packages that can be updated. It _doesn't_ install any packages that weren't installed yet, of course. In this case, in a bare emacs-29/src/emacs -Q, it updates the Eglot package, the Eldoc package and few others. I think this is exactly what M-x package-update-all is supposed to do (but see notes at the end of this email). So I think my change to the existing package-update and package--updateable-packages fixes the bug cleanly. >> Lots of consp, cdr-taking, vectorp and so on. Besides that, it's >> a question of taking the union of the two sets and operating on that. > That is necessary complexity, so I don't think there is any way around it. There is, but that's just an improvement, in this case to the type-starved 'package--bi-desc' structure and the 'package--builtins' built by finder.el. A common structure format should be used. Or, better yet, CLOS. Anyway, with the version of the patch I posted earlier, there are the 6 (six) packages updated currently from a "bare" emacs 29. (csharp-mode eglot eldoc jsonrpc transient verilog-mode) Of these, csharp-mode and transient are mistakes. But that's not my patch's fault :-) - csharp-mode.el is merely missing version information, so package.el thinks that the ELPA version supersedes it (when in fact it doesn't: it's older). The patch adds version information to csharp-mode.el to fix that. - transient.el has version information but in a header that finder.el doesn't recognize. The patch has a minimal fix for that, too. So the final patch that I'm proposing for emacs 29 is attached. M-x package-update-all fixes those cases and correctly finds and updates 4 packages to their newest released versions, exactly as it should. (eglot eldoc jsonrpc verilog-mode) Eli, what do you think? Who is package.el's main maintainer? Everyone? Lars added M-x package-update (for Emacs 29) so I'm pinging him as well. João