2c3632d14f
Lots of code refactoring, simplification and cleanup. Lots of new unit-tests providing much higher code coverage. All courtesy of rillig at netbsd. Other significant changes: o new read-only variable .SHELL which provides the path of the shell used to run scripts (as defined by the .SHELL target). o variable parsing detects more errors. o new debug option -dl: LINT mode, does the equivalent of := for all variable assignments so that file and line number are reported for variable parse errors.
20 lines
873 B
Plaintext
Executable File
20 lines
873 B
Plaintext
Executable File
ParseReadLine (8): 'ORIG_SHELL:= ${.SHELL}'
|
|
Var_Parse: ${.SHELL} with VARE_WANTRES|VARE_ASSIGN
|
|
Global:delete .SHELL (not found)
|
|
Command:.SHELL = (details omitted)
|
|
ParseReadLine (10): '.SHELL= overwritten'
|
|
Global:.SHELL = overwritten
|
|
Var_Parse: ${.SHELL} != ${ORIG_SHELL} with VARE_UNDEFERR|VARE_WANTRES
|
|
ParseReadLine (18): '.undef .SHELL'
|
|
Global:delete .SHELL
|
|
ParseReadLine (19): '.SHELL= newly overwritten'
|
|
Global:.SHELL = newly overwritten
|
|
Var_Parse: ${.SHELL} != ${ORIG_SHELL} with VARE_UNDEFERR|VARE_WANTRES
|
|
ParseReadLine (24): 'all:'
|
|
ParseReadLine (25): ' @echo ${.SHELL:M*}'
|
|
Var_Parse: ${.SHELL:M*} with VARE_WANTRES
|
|
Applying ${.SHELL:M...} to "(details omitted)" (eflags = VARE_WANTRES, vflags = VAR_READONLY)
|
|
Pattern[.SHELL] for [(details omitted)] is [*]
|
|
Result of ${.SHELL:M*} is "(details omitted)" (eflags = VARE_WANTRES, vflags = VAR_READONLY)
|
|
exit status 0
|