>> - furthermore, AS_INIT_GENERATED should assert that AS_PREPARE has been >> called. > > Why? AS_INIT_GENERATED guarantees that the child script will have all m4sh > features initialized (no optimizations of omitted initialization, because the > init code is produced by shell code rather than on demand by m4 macros).
Because AS_INIT_GENERATED does not emit the better-shell code (AS_CLEANUP takes care of that), so the shell chosen by the parent script should include all the required features, because those might be needed by the child script. But it does not need to be an assertion, it can be a m4_require too. Also, AS_PREPARE in general is *not* needed even in Autoconf. Only _AS_ME_PREPARE and _AS_LINENO_PREPARE should be needed, because they set up shell variables rather than shell "statements". Paolo
