Make AUTOMAGIC-INTEGRATIONS search recursively, so that it transform
authorTaylor R Campbell <campbell@mumble.net>
Fri, 9 Oct 2009 20:29:10 +0000 (16:29 -0400)
committerTaylor R Campbell <campbell@mumble.net>
Fri, 9 Oct 2009 20:29:10 +0000 (16:29 -0400)
commit2ae287b4d0cd8b222f06dba47f3bd6c080047676
tree6d59fec4333cbedbcbbf6aaf22a33ca0d09d0203
parentb70592cd55646c24592cfc0e4a3d788a97934076
Make AUTOMAGIC-INTEGRATIONS search recursively, so that it transform

(let ((foo cdr))
  (cdr x))

into

(cdr x),

which will then be open-coded.  I believe AUTOMAGIC-INTEGRATIONS
formerly made no changes that improved the code LIAR generates; now
this change does improve the code that LIAR generates.  This idiom
arises mainly in macros and in integrated procedures.

Fix bugs in previous changes that this change uncovered: when
integrating compound operators and conditional predicates, bail if
any open blocks are involved; handling them is too complicated.
src/sf/subst.scm