Do not allow constants to be bound by lambda expressions
commit08d189f706f64560f0c8848bccf80dc05a2936bb
authorKris Katterjohn <katterjohn@gmail.com>
Tue, 13 Jun 2017 02:54:19 +0000 (12 21:54 -0500)
committerKris Katterjohn <katterjohn@gmail.com>
Tue, 13 Jun 2017 02:54:19 +0000 (12 21:54 -0500)
tree64f7e0f7235318fb765052e5b662ea8c1e4b6c3c
parent9b3692b038b4f48cf1ef27720da2ba376b21039d
Do not allow constants to be bound by lambda expressions

Functions and macros would signal errors, but lambda expressions
have always been allowed to bind symbols declared to be constant:

(%i1) declare (c, constant)$

(%i2) foo (c) := bar$
define: in definition of foo, found bad argument c
 -- an error. To debug this try: debugmode(true);

(%i3) lambda ([c], c) (baz);
(%o3) baz

The test suite runs fine, with new tests (another test has been
added to rtest_translator).  No changes in the share test suite.
src/simp.lisp
src/trans3.lisp
tests/rtest2.mac
tests/rtest_translator.mac