[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#68931: 30.0.50; Gnus byte-compilation error with (display . [not exp
From: |
Eric Abrahamsen |
Subject: |
bug#68931: 30.0.50; Gnus byte-compilation error with (display . [not expire]) with git emacs |
Date: |
Sat, 02 Mar 2024 18:30:14 -0800 |
User-agent: |
Gnus/5.13 (Gnus v5.13) |
Eric Abrahamsen <eric@ericabrahamsen.net> writes:
> Dan Christensen <jdc@uwo.ca> writes:
>
>> On Feb 5, 2024, Stefan Monnier via "Bug reports for GNU Emacs, the
>> Swiss army knife of text editors" <bug-gnu-emacs@gnu.org> wrote:
>>
>>> diff --git a/lisp/gnus/gnus-agent.el b/lisp/gnus/gnus-agent.el
>>> index 604eea4c33d..cfcbea2e233 100644
>>> --- a/lisp/gnus/gnus-agent.el
>>> +++ b/lisp/gnus/gnus-agent.el
>>> @@ -2925,8 +2921,9 @@ gnus-category-make-function-1
>>> ;; Functions are just returned as is.
>>> ((or (symbolp predicate)
>>> (functionp predicate))
>>> - `(,(or (cdr (assq predicate gnus-category-predicate-alist))
>>> - predicate)))
>>> + (let ((fun (or (cdr (assq predicate gnus-category-predicate-alist))
>>> + predicate)))
>>> + (if (symbolp fun) `(,fun) `(funcall ',fun))))
>>> ;; More complex predicate.
>>> ((consp predicate)
>>> `(,(cond
>>
>> I see that this part was committed and then reverted. I just manually
>> applied it to master, and it makes the warnings in the *Compile-Log*
>> buffer go away, and my display predicate still works correctly. The
>> warnings said:
>>
>> Warning: Use ‘funcall’ instead of ‘#[0 \301\300!\207 [expire
>> gnus-article-marked-p] 2]’ in the function position
>>
>> So I recommend that this be committed again.
>
> It will be! I only reverted because I'd committed completely by
> accident, and Stefan had mentioned it might need some equivalent
> adjustments elsewhere to be completely correct. I just haven't tested it
> fully yet.
Okay, it went back in as-is. Stefan mentioned
`gnus-function-implies-unread-1` and `gnus-category-make-function`, but
it looks like the problem only arises when the agent code is used for
Summary display predicate purposes, and the byte-compiled stuff is
cached. The rest of the agent code operates on symbolic structures only.
At least, I hope so! If people start complaining about their Agent
predicates going wonky, we'll know where to look.
Eric
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- bug#68931: 30.0.50; Gnus byte-compilation error with (display . [not expire]) with git emacs,
Eric Abrahamsen <=