[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Something weird with when-let*/if-let*
From: |
Eric Abrahamsen |
Subject: |
Something weird with when-let*/if-let* |
Date: |
Sat, 14 Oct 2017 14:10:38 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/26.0.90 (gnu/linux) |
I've seen this in two different contexts now: using the starred versions
of when-let or if-let results in a `invalid-function' error on the first
let-binding, as if something is trying to treat the whole binding form
as a function.
I got one report on EBDB about this function:
(cl-defmethod ebdb-record-uuid ((record ebdb-record))
(if-let* ((uuid-field (slot-value record 'uuid)))
(slot-value uuid-field 'uuid)))
Where the error was:
"(invalid-function (uuid-field (slot-value record (quote uuid))))"
(https://github.com/girzel/ebdb/issues/54#issuecomment-335033393)
And Julien Cubizolles just reported to the Gnus list that this code
chunk from nnimap.el:
(when-let* ((result (eval accept-form)))
(nnimap-change-group group server)
(nnimap-delete-article article)
result)
Was producing a similar error:
"Invalid function: (result (eval accept-form))"
Switching to the un-starred version fixed the problem.
I tried this out on the emacs-26 and master branches, and I can't raise
the error. Julien's on master, with the EBDB reporter it was unclear.
The macroexpansion looks fine, of course.
I guess I should just make a bug report...
Eric
- Something weird with when-let*/if-let*,
Eric Abrahamsen <=
- Re: Something weird with when-let*/if-let*, Noam Postavsky, 2017/10/14
- Re: Something weird with when-let*/if-let*, Eric Abrahamsen, 2017/10/14
- Re: Something weird with when-let*/if-let*, Noam Postavsky, 2017/10/14
- Re: Something weird with when-let*/if-let*, Noam Postavsky, 2017/10/14
- Re: Something weird with when-let*/if-let*, Eric Abrahamsen, 2017/10/14
- Re: Something weird with when-let*/if-let*, Noam Postavsky, 2017/10/14
- Re: Something weird with when-let*/if-let*, Eric Abrahamsen, 2017/10/14
- Re: Something weird with when-let*/if-let*, Eric Abrahamsen, 2017/10/14
- Re: Something weird with when-let*/if-let*, Stefan Monnier, 2017/10/14
- Re: Something weird with when-let*/if-let*, Eric Abrahamsen, 2017/10/15