Re: problem with (display . [not expire]) with git emacs
Dan Christensen <[email protected]>
| Newsgroups | gmane.emacs.gnus.general |
|---|---|
| Message-ID | <[email protected]> |
On Feb 1, 2024, Eric Abrahamsen <[email protected]> wrote: > I just tried it out, and actually got a popup buffer with the "Malformed > function" error you mentioned in your first message. Glad to hear that it's not just me. I wish I could get that pop-up as well, or that I could make emacs enter the debugger when this happens. It would be easier to figure out that way. Any idea why we would have different behaviour here? > Looks like the culprit is effectively this: > > (gnus-byte-compile > `(lambda () > ,(cdr (assoc 'expire gnus-summary-display-cache)))) I think it's like that but with '(not expire). When the predicate is a single symbol, it looks like this code skips byte compilation: (if (and (= (length func) 1) (symbolp (car func))) (car func) (gnus-byte-compile `(lambda () ,func))))) (But I'm not sure how (display . expire) results in a *list* of length one.) Can you confirm that you don't get the error with (display . expire)? Do you think the issue is that we're trying to byte-compile an already compiled function? Do you think the commit I referenced introduces a bug, or that it reveals an existing bug in Gnus? Do you suggest that I post to an emacs devel list, or can we fix it here? Dan