Subject: bug#12758: letf no longer allows unbound variables

From: Glenn Morris <[email-masked]>
Date: Mon, 29 Oct 2012 03:42:28 -0400

Package: emacs
Version: 24.2.50

In Emacs 24.2, this works:

emacs -Q -l cl

(letf ((b))
  (setq b 99))

Evaluating this returns `99', and leaves `b' unbound. This behaviour is
documented in cl.texi:

   In most cases, the @var{place} must have a well-defined value on
   entry to the @code{letf} form.  The only exceptions are plain
   variables and calls to @code{symbol-value} and @code{symbol-function}.
   If the symbol is not bound on entry, it is simply made unbound by
   @code{makunbound} or @code{fmakunbound} on exit.

In current trunk, it throws an error:

    Symbol's value as variable is void: b

cl-letf does no better than letf.