securing m4 runtime

This file is copyright © 2004,2005,2006,2011 by Panu Kalliokoski and released under the stx2any license.

Attempt to kill all possibly dangerous commands. It would be nice to partially kill include and undivert, but that does not seem to be possible.

Provide some sensible information on what went wrong.

define(`w_gag_cmd',
`undefine(`$1')'dnl
`define(`$1',
   `w_warning(`attempt to use "$1" in secure environment')`$1'($@)')')

These are the commands to kill.

w_gag_cmd(`builtin')
w_gag_cmd(`syscmd')
w_gag_cmd(`esyscmd')