@args --debugger nix-repl> let f = _: throw "x_x"; x = f 5; in x error: x_x frames from 0 up to 4 work fine nix-repl> :st 0 0: error: x_x «string»:1:12 1| let f = _: throw "x_x"; x = f 5; in x | ^ Env level 0 static: _ Env level 1 static: f x Env level 2 static: Env level 3 abort baseNameOf break builtins derivation derivationStrict dirOf false fetchGit fetchMercurial fetchTarball fetchTree fromTOML import isNull map null placeholder removeAttrs scopedImport throw toString true nix-repl> :st 4 4: while evaluating a 'let' expression «string»:1:1 1| let f = _: throw "x_x"; x = f 5; in x | ^ Env level 0 static: f x Env level 1 static: Env level 2 abort baseNameOf break builtins derivation derivationStrict dirOf false fetchGit fetchMercurial fetchTarball fetchTree fromTOML import isNull map null placeholder removeAttrs scopedImport throw toString true absolute frames out of bounds print an error nix-repl> :st 5 error: stack index must be between 0 and 4, but was 5 argument-less :st is still at the same after absolute oob nix-repl> :st 4: while evaluating a 'let' expression «string»:1:1 1| let f = _: throw "x_x"; x = f 5; in x | ^ Env level 0 static: f x Env level 1 static: Env level 2 abort baseNameOf break builtins derivation derivationStrict dirOf false fetchGit fetchMercurial fetchTarball fetchTree fromTOML import isNull map null placeholder removeAttrs scopedImport throw toString true positive relative frames oob clamp to upper bound and print a warning nix-repl> :st +5 4: while evaluating a 'let' expression «string»:1:1 1| let f = _: throw "x_x"; x = f 5; in x | ^ Env level 0 static: f x Env level 1 static: Env level 2 abort baseNameOf break builtins derivation derivationStrict dirOf false fetchGit fetchMercurial fetchTarball fetchTree fromTOML import isNull map null placeholder removeAttrs scopedImport throw toString true warning: stopped at stack frame 4, cannot go any higher negative relative frames oob clamp to lower bound and print a warning nix-repl> :st -5 0: error: x_x «string»:1:12 1| let f = _: throw "x_x"; x = f 5; in x | ^ Env level 0 static: _ Env level 1 static: f x Env level 2 static: Env level 3 abort baseNameOf break builtins derivation derivationStrict dirOf false fetchGit fetchMercurial fetchTarball fetchTree fromTOML import isNull map null placeholder removeAttrs scopedImport throw toString true warning: stopped at stack frame 0, cannot go any deeper quit nix-repl> :quit error: x_x