block: initialization, scoping



> It seems that block allows one to initialize local variables 
> ... but I cannot see where the former is documented as legal.

You are right that it is not documented under the Function: BLOCK, where
it should be documented.  It is, however, documented in the section
Function Definition/Function.  This is of course a documentation bug.

> Can lexical scope be obtained other than with macros?

No.  Though various people have proposed adding lexical scope to the
Maxima language over the years, as far as I know there is no
implementation or even specification.

      -s