Subject: Re: bug#27016: possible bug in `defsetf'

From: Stefan Monnier <[email-masked]>
Date: Sat, 15 Jul 2017 21:03:26 -0400

>> +               (push (cons name (eval fun t))
> What does this do?  Should it be `lexical-binding' instead of `t'?

Sorry, part of an unrelated experiment.

>> +       (push (cons fun `(,prop ,val
>> +                         . ,(assq fun byte-compile-plist-environment)))
> That should be alist-get instead of assq.

Good catch.

> +     (let* ((fun (eval fun t))
> +            (prop (eval prop t))

These should likely be just (eval fun) without the `t` either.
Tho it doesn't really matter in any case: all those `eval`s just strip
off the quote in front of a sexp and should do the same regardless of
lexical-binding.

        Stefan