K 10 svn:author V 7 rwatson K 8 svn:date V 27 2008-03-30T17:03:58.000000Z K 7 svn:log V 1201 Merge files:1.1259, db_command.c:1.75, db_command.h:1.14, db_lex.c:1.23, db_lex.h:1.15, db_main.c:1.7, db_script.c:1.1-1.2, ddb.h:1.45 from HEAD to RELENG_7: Add a simple scripting facility to DDB(4), allowing the user to define a set of named scripts. Each script consists of a list of DDB commands separated by ";"s that will be executed verbatim. No higher level language constructs, such as branching, are provided for: scripts are executed by sequentially injecting commands into the DDB input buffer. Four new commands are present in DDB: "run" to run a specific script, "script" to define or print a script, "scripts" to list currently defined scripts, and "unscript" to delete a script, modeled on shell alias commands. Scripts may also be manipulated using sysctls in the debug.ddb.scripting MIB space, although users will prefer to use the soon-to-be-added ddb(8) tool for usability reasons. Scripts with certain names are automatically executed on various DDB events, such as entering the debugger via a panic, a witness error, watchdog, breakpoint, sysctl, serial break, etc, allowing customized handling. Remove duplicate $FreeBSD$ that snuck in. END