Subject: 23.1; (elisp)Anonymous Functions - unclear about #'

From: "Drew Adams" <[email-masked]>
Date: Sat, 29 Aug 2009 14:07:31 -0700

This Info node is unclear. It combines pre-Emacs 22 text that
explicitly says that lambda forms are *not* byte-compiled unless you
use `#'' or `function', with this statement that says that they are:
 
  Nowadays it is possible to omit `function' entirely, like this:
     (defun double-property (symbol prop)
       (change-property symbol prop (lambda (x) (* 2 x))))
  This is because `lambda' itself implies `function'.
 
What should be said is something like this:
 
"Starting with Emacs 22, a lambda form is byte-compiled when it is used
as a function, regardless of whether it is preceded by `function' or
`#''.  With Emacs versions prior to 22, you must explicitly use `#''
or `function' if you want the form to be byte-compiled."
 
This means rewording or replacing the paragraph that says that unless
you use `function' a lambda form won't be byte-compiled. The example
and its accompanying text need to be clarified.

In GNU Emacs 23.1.1 (i386-mingw-nt5.1.2600)
 of 2009-07-29 on SOFT-MJASON
Windowing system distributor `Microsoft Corp.', version 5.1.2600
configured using `configure --with-gcc (4.4)'