Eelco Dolstra
1315133b50
Improve cast safety
...
Co-authored-by: Théophane Hufschmitt <7226587+thufschmitt@users.noreply.github.com>
2022-12-13 12:38:33 +01:00
Eelco Dolstra
b3fdab28a2
Introduce AbstractPos
...
This makes the position object used in exceptions abstract, with a
method getSource() to get the source code of the file in which the
error originated. This is needed for lazy trees because source files
don't necessarily exist in the filesystem, and we don't want to make
libutil depend on the InputAccessor type in libfetcher.
2022-12-13 00:50:43 +01:00
Eelco Dolstra
703d863a48
Trivial changes from the lazy-trees branch
2022-12-07 14:06:34 +01:00
Naïm Favier
9b35cc716b
use logger->cout
...
in order to avoid potential problems with the progress bar
Co-authored-by: Eelco Dolstra <edolstra@gmail.com>
2022-11-28 14:59:06 +01:00
Naïm Favier
04ec157517
repl: print a newline on ctrl-D
2022-11-28 10:38:23 +01:00
Yorick van Pelt
444af85552
Temporarily disable the debugger during completion evaluation
...
readline is not re-entrant, so entering the debugger from the
completioncallback results in an eventual segfault.
The workaround is to temporarily disable the debugger when searching
for possible completions.
2022-11-02 13:02:24 +01:00
Guillaume Maudoux
3f9f6ae127
Merge remote-tracking branch 'origin/master' into coerce-string
2022-10-16 20:39:19 +02:00
Eelco Dolstra
59a304a9a8
Fix clang warnings
2022-10-13 11:25:49 -07:00
Alyssa Ross
d234d01f01
nix repl: warn if creating dir for history fails
...
The history is not critical to the functionality of nix repl, so it's
enough to warn here, rather than refuse to start if the directory Nix
thinks the history should live in can't be created.
2022-09-20 11:01:40 +00:00
Guillaume Maudoux
eb460a9529
WIP: broken merge but need a git checkpoint
2022-09-07 00:34:03 +02:00
Eelco Dolstra
0d2163c6dc
nix repl: Stop the progress bar
...
The repl was broken since c3769c6846
. In
general, the progress bar is incompatible with the repl.
2022-08-22 14:27:36 +02:00
Théophane Hufschmitt
4c8210095e
Merge pull request #6233 from flox/nix-repl-flakes
...
Nix repl flakes
2022-06-29 17:59:22 +02:00
Dave Nicponski
c6f7726f48
Don't capture stdout when launching subshells in nix repl
2022-06-23 22:45:13 -04:00
Tom Bereknyei
51268ceb79
Merge branch 'master' into nix-repl-flakes
2022-06-15 09:17:03 -04:00
Tom Bereknyei
ffd41d1757
Merge branch 'master' into nix-repl-flakes
2022-06-02 16:58:35 -04:00
Maximilian Bosch
159b5815b5
repl: --option pure-eval true
actually enables pure eval mode
...
To quote Eelco in #5867 :
> Unfortunately we can't do
>
> evalSettings.pureEval.setDefault(false);
>
> because then we have to do the same in main.cc (where
> pureEval is set to true), and that would allow pure-eval
> to be disabled globally from nix.conf.
Instead, a command should specify that it should be impure by
default. Then, `evalSettings.pureEval` will be set to `false;` unless
it's overridden by e.g. a CLI flag.
In that case it's IMHO OK to be (theoretically) able to override
`pure-eval` via `nix.conf` because it doesn't have an effect on commands
where `forceImpureByDefault` returns `false` (i.e. everything where pure
eval actually matters).
Closes #5867
2022-05-31 22:20:11 +02:00
Ben Burdette
9068d32e12
remove parens from repl help
2022-05-25 12:55:58 -06:00
Ben Burdette
b4c24a29c6
back to ref<EvalState> in NixRepl
2022-05-25 10:21:20 -06:00
Eelco Dolstra
91b7d5373a
Style tweaks
2022-05-25 12:32:22 +02:00
Ben Burdette
ba035f7dd0
comment
2022-05-23 10:13:47 -06:00
Ben Burdette
13d02af079
remove redundant 'debugMode' flag
2022-05-22 21:45:24 -06:00
Ben Burdette
5bc97fdfa6
change state derefs
2022-05-22 19:12:03 -06:00
Ben Burdette
34ffaa9f57
changning repl to use EvalState& instead of ref
2022-05-22 18:57:45 -06:00
Ben Burdette
0600df86b8
'debugMode'
2022-05-19 17:01:23 -06:00
Ben Burdette
7ddef73d02
de-const evalState exceptions
2022-05-19 12:44:40 -06:00
Ben Burdette
f9cdb6af8d
Merge branch 'debug-exploratory-PR' into debuggerHook-eval-arg
2022-05-19 11:07:18 -06:00
Ben Burdette
357fb84dba
use an expr->StaticEnv table in evalState
2022-05-19 10:48:10 -06:00
Ben Burdette
667074b586
first whack at passing evalState as an arg to debuggerHook.
2022-05-16 09:20:51 -06:00
Ben Burdette
6faa56ea1f
remove extra argument
2022-05-15 12:05:34 -06:00
Ben Burdette
99d69ac23f
fix repl bug
2022-05-05 21:23:03 -06:00
Ben Burdette
dea998b2f2
traceable_allocator
2022-05-05 20:26:10 -06:00
Ben Burdette
ce304d0154
rename debug commands to be more gdb-like; hide them except in debug mode
2022-05-05 15:24:57 -06:00
Eelco Dolstra
dd8b91eebc
Style fixes
...
In particular, use std::make_shared and enumerate(). Also renamed some
fields to fit naming conventions.
2022-05-05 17:17:03 +02:00
Ben Burdette
172a83d22a
line endings
2022-04-29 11:24:54 -06:00
Ben Burdette
2a5632c70d
incorporate PosIdx changes, symbol changes.
2022-04-29 10:02:17 -06:00
Ben Burdette
6e19947993
Merge branch 'master' into debug-merge-master
2022-04-28 12:32:57 -06:00
Ben Burdette
f5757a0804
revise command help
2022-04-08 16:34:20 -06:00
Ben Burdette
3aaf02839f
trace stack, not call stack
2022-04-08 16:22:27 -06:00
Ben Burdette
27d45f9eb3
minor cleanup
2022-04-08 15:46:12 -06:00
Ben Burdette
a86c2a8481
remove 'debugError', dead code
2022-04-08 13:30:18 -06:00
Ben Burdette
b8b8ec7101
move throw to preverve Error type; turn off debugger for tryEval
2022-04-08 12:34:27 -06:00
Ben Burdette
1a93ac8133
Merge remote-tracking branch 'upstream/master' into upstream-merge
2022-04-07 13:42:01 -06:00
Ben Burdette
d2ec9b4e15
in debugger mode, print the current error when another repl returns.
2022-04-07 12:09:47 -06:00
Ben Burdette
d29af88d58
newline before env
2022-04-07 11:17:57 -06:00
Ben Burdette
5cfd038bd8
show expr pos if DebugTrace one is noPos
2022-04-06 19:08:29 -06:00
Ben Burdette
1096d17b65
show 'with' bindings as well as static
2022-03-31 09:37:36 -06:00
Ben Burdette
5ab7bdf0b1
load debug trace staticenv on 'show'
2022-03-28 15:28:59 -06:00
Ben Burdette
14f515544b
debugTraceIndex
2022-03-28 12:09:21 -06:00
Ben Burdette
c9bc3735f6
quit repl from step mode
2022-02-15 09:49:25 -07:00
Ben Burdette
e761bf0601
make an 'info' level error on break
2022-02-14 14:04:34 -07:00
Ben Burdette
dbe3fd3735
Merge branch 'master' into debug-step
2022-02-04 15:09:40 -07:00
Ben Burdette
412d58f0bb
break() primop; step and go debug commands
2022-02-03 13:15:21 -07:00
Ben Burdette
a963674d88
optinoal error; compiles
2022-01-08 11:03:48 -07:00
Ben Burdette
c51b527c28
add env to DebugTrace
2022-01-07 16:37:44 -07:00
Ben Burdette
84aeb74377
revert value-add
2022-01-05 14:25:45 -07:00
Ben Burdette
bf8a065be0
add colors; remove headings
2022-01-05 12:28:31 -07:00
Ben Burdette
c669108981
merge cleanup
2022-01-03 18:13:16 -07:00
Ben Burdette
a47de1ac37
Merge branch 'master' into debug-exploratory-PR
2022-01-03 16:08:28 -07:00
Ben Burdette
5954cbf3e9
more cleanup
2021-12-27 18:29:55 -07:00
Ben Burdette
4610e02d04
remove debug code
2021-12-27 18:12:46 -07:00
Ben Burdette
9760fa8661
add DebugTrace for the current error
2021-12-27 17:35:27 -07:00
Ben Burdette
6801a423fc
:d env
2021-12-27 16:28:45 -07:00
Ben Burdette
2a66c120e6
by refernce for addVarToScope
2021-12-27 14:48:34 -07:00
Ben Burdette
ff82ba98b4
don't add builtins to extras, initEnv() in regular repl
2021-12-27 14:06:04 -07:00
Ben Burdette
e5eebda194
DebugTrace
2021-12-23 13:36:39 -07:00
Ben Burdette
bc20e54e00
stack traces basically working
2021-12-22 19:40:08 -07:00
Ben Burdette
b4a59a5eec
DebugStackTracker class in one place
2021-12-22 15:38:49 -07:00
Ben Burdette
f317019edd
:d error
2021-12-20 12:32:21 -07:00
Ben Burdette
e82aec4efc
fix merge issues
2021-11-30 14:15:02 -07:00
Ben Burdette
64c4ba8f66
Merge branch 'master' into debug-merge
2021-11-25 08:53:59 -07:00
Ben Burdette
e54f17eb46
remove more debug code
2021-10-22 14:27:04 -06:00
Ben Burdette
21071bfdeb
shared_ptr for StaticEnv
2021-09-14 10:49:22 -06:00
Ben Burdette
edb5a28024
hintfmt for eye searing varnames
2021-06-11 18:55:40 -06:00
Ben Burdette
a8df239752
highlight the extra vars
2021-06-08 14:44:53 -06:00
Ben Burdette
f32c687f03
move repl.cc to libcmd for linkage
2021-04-28 15:50:11 -06:00