Subject: bug#68678: 29.1; package-recompile-all should skip system packages in package-directory-list

From: Philip Kaludercic <[email-masked]>
Date: Sun, 28 Jan 2024 21:40:28 +0000

Allen Li <[email-masked]> writes:

> On Wed, Jan 24, 2024 at 2:17 PM Philip Kaludercic <[email-masked]> wrote:
>>
>> Would this patch resolve the issue for you:
>>
>> diff --git a/lisp/emacs-lisp/package.el b/lisp/emacs-lisp/package.el
>> index 868373f46c2..fe7b10f569a 100644
>> --- a/lisp/emacs-lisp/package.el
>> +++ b/lisp/emacs-lisp/package.el
>> @@ -2610,7 +2610,8 @@ package-recompile-all
>>  are invalid due to changed byte-code, macros or the like."
>>    (interactive)
>>    (pcase-dolist (`(_ ,pkg-desc) package-alist)
>> -    (package-recompile pkg-desc)))
>> +    (with-demoted-errors "Error while recompiling: %S"
>> +      (package-recompile pkg-desc))))
>>
>>  ;;;###autoload
>>  (defun package-autoremove ()
>
> That works for me, though it's possible that someone may want errors
> recompiling user packages surfaced directly.

That is why I used `with-demoted-errors', which propagates errors if
`debug-on-error' is non-nil.  Or do you mean permanently and
specifically related to this issue, e.g. in form of a user option.