Eelco Dolstra
8e923bf4c5
Merge remote-tracking branch 'origin/master' into fix-7417
2023-01-10 14:35:06 +01:00
Eelco Dolstra
6b69652385
Merge remote-tracking branch 'origin/master' into coerce-string
2023-01-02 20:53:39 +01:00
Théophane Hufschmitt
b3285c7722
Merge pull request #7351 from NaN-git/fix-mkString
...
cleanup eval.hh/eval.cc
2023-01-02 11:41:52 +01:00
Philipp Otterbein
a6e9d9cb2f
remove function makeImmutableStringWithLen
2022-12-24 12:09:06 +01:00
Eelco Dolstra
bda879170f
EvalState::copyPathToStore(): Return a StorePath
2022-12-20 14:58:39 +01:00
Eelco Dolstra
8332ac6a1d
Merge pull request #7451 from edolstra/abstract-pos
...
Introduce AbstractPos
2022-12-20 12:55:13 +01:00
Eelco Dolstra
aea97f07a3
Fix compilation
2022-12-13 15:23:12 +01:00
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
Théophane Hufschmitt
6e31d27cba
Merge pull request #6741 from Mindavi/nix-no-gc
...
support building with --enable-gc=no
2022-12-13 10:36:59 +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
Rick van Schijndel
672ee88231
support building with --enable-gc=no
...
Some minor changes fixing the build without boehm.
Fixes NixOS#6250
2022-12-12 23:31:30 +01:00
John Ericson
7b122d43a4
Fix stack context notes to not rely on order
...
Make everything be in the form "while ..." (most things were already),
and in particular *don't* use other propositions that must go after or
before specific "while ..." clauses to make sense.
2022-12-12 18:41:00 +00:00
Eelco Dolstra
fd0ed75118
Support flake references in the old CLI
...
Fixes #7026 .
2022-12-12 14:05:52 +01:00
Eelco Dolstra
ae5f62a894
Move isUri() and resolveUri() out of filetransfer.cc
...
These are purely related to NIX_PATH / -I command line parsing, so put
them in libexpr.
2022-12-12 14:05:35 +01:00
Eelco Dolstra
f3d1e92856
Update URL
...
Co-authored-by: Valentin Gagarin <valentin.gagarin@tweag.io>
2022-12-12 12:37:55 +01:00
Eelco Dolstra
703d863a48
Trivial changes from the lazy-trees branch
2022-12-07 14:06:34 +01:00
John Ericson
19c5394971
Change "while evaluating <fun>" to "while *calling*" in trace
...
The old way was not correct.
Here is an example:
```
$ nix-instantiate --eval --expr 'let x = a: throw "asdf"; in x 1' --show-trace
error: asdf
… while evaluating 'x'
at «string»:1:9:
1| let x = a: throw "asdf"; in x 1
| ^
… from call site
at «string»:1:29:
1| let x = a: throw "asdf"; in x 1
| ^
```
and yet also:
```
$ nix-instantiate --eval --expr 'let x = a: throw "asdf"; in x' --show-trace
<LAMBDA>
```
Here is the thing: in both cases we are evaluating `x`!
Nix is a higher-order languages, and functions are a sort of value. When
we write `x = a: ...`, `a: ...` is the expression that `x` is being
defined to be, and that is already a value. Therefore, we should *never*
get an trace that says "while evaluating `x`", because evaluating `a:
...` is *trival* and nothing happens during it!
What is actually happening here is we are applying `x` and evaluating
its *body* with arguments substituted for parameters. I think the
simplest way to say is just "while *calling* `x`", and so that is what I
changed it to.
2022-12-02 09:14:12 -05:00
Eelco Dolstra
dbf78a7ada
Merge pull request #7313 from yorickvP/nlohmann-everywhere
...
Replace src/libutil/json.cc with nlohmann
2022-11-28 15:03:48 +01:00
Eelco Dolstra
0b4c4d7434
Don't use GC_STRNDUP
...
It calls strlen() on the input (rather than simply copying at most
`size` bytes), which can fail if the input is not zero-terminated and
is inefficient in any case.
Fixes #7347 .
2022-11-25 22:30:56 +01:00
Yorick
09f00dd4d0
Replace src/libutil/json.cc with nlohmann json generation
2022-11-16 16:50:50 +01:00
Naïm Favier
dad859ba0f
Fix printing of eval errors with two format placeholders
2022-11-04 12:41:38 +01:00
Guillaume Maudoux
e93bf69b44
Rework error throwing, and test it
2022-10-25 01:46:10 +02:00
Guillaume Maudoux
8bd8583bc7
Try to please clang with convoluted templates
2022-10-23 00:11:44 +02:00
Guillaume Maudoux
8c3afd2d68
Introduce an Error builder to tackle complexity
2022-10-22 23:37:54 +02:00
Guillaume Maudoux
4a909c142c
Rollback unneeded throwFrameErrorWithTrace function
2022-10-20 14:25:11 +02:00
Guillaume Maudoux
31ce52a045
Fix context message being printed twice with forceStringNoCtx
2022-10-20 14:18:35 +02:00
Guillaume Maudoux
b945b844a9
Initial frames support
2022-10-17 03:05:02 +02:00
Guillaume Maudoux
e412bb6d30
fix remaining fixtures
2022-09-11 22:58:59 +02:00
Guillaume Maudoux
c7b901fd33
Cleanup error strings rebase
2022-09-11 01:34:19 +02:00
Guillaume Maudoux
eb460a9529
WIP: broken merge but need a git checkpoint
2022-09-07 00:34:03 +02:00
Eelco Dolstra
ccbd906c86
Fix NIX_COUNT_CALLS=1
...
Also, make the JSON writer support std::string_view.
Fixes #6857 .
2022-08-03 17:46:51 +02:00
Ben Burdette
a3629ab0cc
move ignore-try to EvalSettings
2022-07-11 10:47:09 -06:00
Ben Burdette
69ea265fd2
'tryEval' not 'try clause'
2022-07-11 10:21:12 -06:00
Ben Burdette
49ff4ef637
remove unused parameter
2022-06-10 12:22:36 -06:00
Ben Burdette
bc0d41e9ba
print message with exceptions in a try clause
2022-06-02 12:17:28 -06:00
Ben Burdette
9151dbff88
ignore-try flag
2022-06-02 10:26:46 -06:00
Eelco Dolstra
8e8e9d8705
Respect the outputSpecified attribute
...
E.g. 'nix build nixpkgs#libxml2.dev' will build the 'dev' output.
2022-05-30 11:34:47 +02: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
13d02af079
remove redundant 'debugMode' flag
2022-05-22 21:45:24 -06:00
Ben Burdette
884d591787
debugRepl ftn pointer
2022-05-20 10:33:50 -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
86ba0a702c
fix thunk issue
2022-05-15 12:05:51 -06:00
Ben Burdette
4f48095c66
Merge branch 'debugThrow' into debug-exploratory-PR
2022-05-12 14:11:35 -06:00
Ben Burdette
1ea13084c9
template-ize debugThrow
2022-05-12 13:59:58 -06:00
Ben Burdette
7cd7c7c91a
Merge branch 'master' into debug-exploratory-PR
2022-05-09 09:30:44 -06:00