I wrote a few words for scm_set_program_arguments, which is mentioned
under scm_boot_guile but not otherwise described.
-- C Function: void scm_set_program_arguments (int argc, char **argv,
char *first)
Set the list of command line arguments to be returned by
`program-arguments' and `command-line' above.
ARGV is an array of null-terminated strings, as in a C `main'
function. ARGC is the number of strings in ARGV, or if it's
negative then a `NULL' entry in ARGV marks the end.
FIRST is an extra string put at the start of the arguments, or
`NULL' for no such extra. This is a convenient way to pass the
program name after advancing ARGV to strip option arguments or
similar.
{
char *progname = argv[0];
int i;
for (i = 1; i < argc && argv[i][0] == '-'; i++)
{
/* munch option ... */
}
/* remaining args for scheme level use */
scm_set_program_arguments (-1, argv+i, progname);
}
This sort of thing is often done at startup under `scm_boot_guile'
and similar. The given strings are all copied, so the C data is
not accessed again once `scm_set_program_arguments' returns.
_______________________________________________
Guile-devel mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/guile-devel