> We're playing around with customizing the input forms in the
> submit scripts. It looks like the submit scripts use a compact
> shorthand for defining the forms that is not the same as the format
> described in the docs for the 'input.exe' program:
> http://www.seriss.com/rush-current/input/
I'm guessing you mean the shorthand 'ascii art' representation
of the submit forms that you see in all the modern Rush submit
scripts (last 5 years) e.g.:
-------------------------------------------------------------------------- snip
<<TAB>> "Rush"
= Log Directory: ___________________________________________ ? Browse"<DIR>"
= Log Flags: "Keep Last,Keep All,Overwrite" ?
= Max Log Size: ______________ ?
AutoDump: "off,fail,done,donefail" ?
Done Mail: ______________ ?
Dump Mail: ______________ ?
-------------------------------------------------------------------------- snip
Right.. this format you see in the submit scripts is not actually passed
directly to input.exe.. there's a function in .common.pl called CreateInputForm($$$)
which converts the "ascii art" into the "long format" that input.exe understands.
The reason for doing this:
In ye olde days (2003 or so), each submit script had the "long form"
input.exe commands, which made the scripts huge and hard to read.
Also, everyone edits those scripts to customize, and all that redundant
code seemed unnecessary bulk.
So I thought, "what's the easiest way to represent these forms?" to reduce
the size of the scripts and make them easier to read.
'ascii art' seemed like the best solution; it visually looks just like
what you see in the submit forms; easy to read, easy to change. It avoids
redundant blocks of code, and I took a few shortcuts to represent common
things to all the submit forms (submit/help/default buttons, etc)
So I inserted the CreateInputForm() function in .common.pl, and slowly
modified all the submit scripts to use the ascii art representation,
and pass it to CreateInputForm() to open the GUI.
input.exe still understands the "long form", so old scripts with the
long form content still work normally.
So anyway, the intermediate "long form" GUI commands are generated on the fly
by that CreateInputForm() function, and these files are left behind (for info purposes)
in the usual place:
UNIX: ~/.rush/submit-xxx.in
WINDOWS: c:/temp/.rush-<USERNAME>/submit-xxx.in
What's interesting is that in the next release, input.exe will be able to parse
the ascii art format directly.
This was done so that submit scripts can be written in other languages (eg. python)
without having to port all the logic in CreateInputForm() to each scripting language.
|