# LSTLIN
> [HTML Version](lstlinsbr.htm)
_Rewritten May 2026_
**xcall LSTLIN, cmdline**
LSTLIN retrieves the complete command line from which the current program was launched.
**Parameters**
_cmdline_ ([String)](string.htm.md) \[out\]
Returns the complete command line, optionally stripped of trailing comments
**Comments**
The returned cmdline will be similar to the CMDLIN\{\$\} system variable, except:
• It is not folded to upper case, while CMDLIN is.
• It includes the name—and any device or PPN, if specified—of the current program, while CMDLIN only includes the part of the command line following the current program name, i.e. its arguments.
• It does not require COMPIL /X:1 or higher, while CMDLIN does. Otherise, it is treated as a ordinary variable with no special meaning.
For example:
Program LSTLIN,1.0(100)
MAP1 A\$,S,100
? "CMDLIN\$ = \[";CMDLIN\$;"\] (requires /X:1+)"
? "CMDLIN = \[";CMDLIN;"\] (same as CMDLIN\$)"
xcall LSTLIN,A\$
? "XCALL LSTLIN = \[";A\$;"\]"
If the program above is compiled with COMPLP (or COMPIL /X:1 or /X:2), the command line below will produce the following output:
.run dsk0:lstlin\[150,277\]/hello world
CMDLIN\$ = \[/HELLO WORLD\] (requires /X:1+)
CMDLIN = \[/HELLO WORLD\] (same as CMDLIN\$)
XCALL LSTLIN = \[dsk0:lstlin\[150,277\]/hello world\]
**See Also**
• [SBR=LSTLINSTRIP](lstlinstrip.htm.md) (strip trailing comments)
• [CMDLIN](cmdlinsystemvariable.htm.md)