TOC »
Module (chicken process-context)
This module provides access to the current process context.
- New in CHICKEN 5.4.0: Errors caused by underlying C calls that change errno will produce a condition object with an errno property, which can be accessed with (get-condition-property <the-condition-object> 'exn 'errno).
Information about the program's invocation
argc+argv
- argc+argvprocedure
Returns two values: an integer and a foreign-pointer object representing the argc and argv arguments passed to the current process. See also argv below.
argv
- argvprocedure
Return a list of all supplied command-line arguments. The first item in the list is a string containing the name of the executing program. The other items are the arguments passed to the application. It depends on the host-shell whether arguments are expanded ('globbed') or not.
NOTE: This is the "raw" unprocessed argument list, including runtime options (starting with -:) which are consumed by the runtime library.
command-line-arguments
- command-line-argumentsparameter
Contains the list of arguments passed to this program.
This excludes the name of the program, as well as any runtime options (options starting with -:) up until the first empty runtime option (just "-:") or non-runtime option, whichever comes first.
In other words, this method returns every option after the first list of unbroken runtime options, which are all skipped. If an empty runtime option is present, that is the last of this list of unbroken runtime options and everything after it is returned by this method. If a non-runtime option is present, that also breaks up the runtime options and this method returns that and every following option.
executable-pathname
- executable-pathnameprocedure
Returns a full pathname of the currently-running executable, or #f if it couldn't be determined. When evaluating code in the interpreter, this will be a path to csi.
program-name
- program-nameparameter
The name of the currently executing program. This is equivalent to (car (argv)) for compiled programs or the filename following the -script option in interpreted scripts.
Access to environment variables
get-environment-variables
- get-environment-variablesprocedure
Returns a association list of the environment variables and their current values (see also SRFI-98).
get-environment-variable
- get-environment-variable STRINGprocedure
Returns the value of the environment variable STRING or #f if that variable is not defined. See also SRFI-98.
set-environment-variable!
- set-environment-variable! VARIABLE VALUEprocedure
Sets the environment variable named VARIABLE to VALUE. Both arguments should be strings. If the variable is not defined in the environment, a new definition is created.
unset-environment-variable!
- unset-environment-variable! VARIABLEprocedure
Removes the definition of the environment variable VARIABLE from the environment of the current process. If the variable is not defined, nothing happens.
Process filesystem context
change-directory
- change-directory NAMEprocedure
- (set! (current-directory) NAME)procedure
Changes the current working directory to NAME.
current-directory
- current-directoryprocedure
Returns the name of the current working directory.
Previous: Module (chicken process signal)