Rebecca Turner
149bd63afb
Cleanup fmt.hh
...
When I started contributing to Nix, I found the mix of definitions and
names in `fmt.hh` to be rather confusing, especially the small
difference between `hintfmt` and `hintformat`. I've renamed many classes
and added documentation to most definitions.
- `formatHelper` is no longer exported.
- `fmt`'s documentation is now with `fmt` rather than (misleadingly)
above `formatHelper`.
- `yellowtxt` is renamed to `Magenta`.
`yellowtxt` wraps its value with `ANSI_WARNING`, but `ANSI_WARNING`
has been equal to `ANSI_MAGENTA` for a long time. Now the name is
updated.
- `normaltxt` is renamed to `Uncolored`.
- `hintfmt` has been merged into `hintformat` as extra constructor
functions.
- `hintformat` has been renamed to `hintfmt`.
- The single-argument `hintformat(std::string)` constructor has been
renamed to a static member `hintformat::interpolate` to avoid pitfalls
with using user-generated strings as format strings.
2024-02-08 11:51:03 -08:00
Théophane Hufschmitt
1ba9780cf5
Merge pull request #9834 from 9999years/structured-errors
...
Towards structured error classes
2024-02-08 20:00:25 +01:00
Eelco Dolstra
6563a58294
Merge pull request #9964 from fricklerhandwerk/merge-format-sections
...
move JSON section into Formats and Protocols
2024-02-08 16:53:59 +01:00
Théophane Hufschmitt
a8050d9b83
Merge pull request #9928 from 9999years/error-messages-in-nix-repl
...
Improve error printing in `nix repl`
2024-02-08 16:21:13 +01:00
Théophane Hufschmitt
96686a2a29
Merge pull request #9963 from fricklerhandwerk/fold-sidebar
...
manual: fold sidebar sections
2024-02-08 16:18:27 +01:00
John Ericson
f2f54cf087
Merge pull request #9863 from obsidiansystems/perl-open-other-store
...
Support arbitrary stores in Perl bindings
2024-02-08 09:30:18 -05:00
Théophane Hufschmitt
46a0625a40
Merge pull request #9929 from 9999years/dont-print-values-in-magenta
...
Don't print the first bracket in values in magenta in error messages
2024-02-08 10:56:18 +01:00
Théophane Hufschmitt
9b8b486091
Merge pull request #9933 from pennae/debugger-fix
...
fix debugger crashing while printing envs
2024-02-08 10:48:02 +01:00
Théophane Hufschmitt
acef4f17a2
Merge pull request #9918 from 9999years/debugger-locals-for-let-expressions
...
Expose locals from `let` expressions to the debugger
2024-02-08 10:17:55 +01:00
Théophane Hufschmitt
c4ed92fa6f
Merge pull request #9917 from 9999years/enter-debugger-more-reliably
...
Enter debugger more reliably in `let` expressions and function calls
2024-02-08 10:09:54 +01:00
Théophane Hufschmitt
fb78a99e04
Merge pull request #9924 from 9999years/rename-yellowtxt
...
Rename `yellowtxt` -> `magentatxt`
2024-02-08 10:01:30 +01:00
Théophane Hufschmitt
f388a6148d
Merge pull request #9919 from 9999years/reduce-debugger-clutter
...
Reduce visual clutter in the debugger
2024-02-08 09:42:38 +01:00
Théophane Hufschmitt
d24c8aa491
Simplify a conditional in the repl initialisation
2024-02-08 09:22:30 +01:00
Valentin Gagarin
e486b76eef
move JSON section into Formats and Protocols
2024-02-08 09:13:58 +01:00
Valentin Gagarin
140de3b278
manual: fold sidebar sections
...
the table of contents is very long now, and folded sections allow
for a better overview.
2024-02-08 09:00:00 +01:00
John Ericson
bc08502249
Support arbitrary stores in Perl bindings
...
Fix #9859
It's a breaking change but that's fine; we can just update Hydra to use
the new bindings.
2024-02-07 22:31:58 -05:00
Eelco Dolstra
09a6e8e703
Merge pull request #9949 from fricklerhandwerk/fix-redirects-file
...
fix location of `_redirects` file
2024-02-07 11:34:35 +01:00
Rebecca Turner
9723f533d8
Add comment
2024-02-06 16:50:47 -08:00
Rebecca Turner
474fc4078a
Add comments
2024-02-06 16:49:28 -08:00
Valentin Gagarin
2d74b56aee
fix location of _redirects
file
...
the Netlify `_redirects` file must be in the root directory [0] of the
files to serve, and mdBook copies all the files in `src` that aren't
`.md` to the output directory [1].
[0]: https://docs.netlify.com/routing/redirects/
[1]: https://rust-lang.github.io/mdBook/guide/creating.html#source-files
2024-02-06 23:22:34 +01:00
Rebecca Turner
657a607812
Add release note
2024-02-05 13:21:08 -08:00
Rebecca Turner
155bc761f6
Add release note
2024-02-05 13:16:39 -08:00
Rebecca Turner
b63a8d7c46
Add release note
2024-02-05 13:15:29 -08:00
Rebecca Turner
601fc7d159
Add release note
2024-02-05 13:13:26 -08:00
Robert Hensing
a31f2cb0cd
Merge pull request #9939 from edolstra/slash-operator
...
CanonPath, SourcePath: Change operator + to /
2024-02-05 15:55:27 +01:00
Eelco Dolstra
a6737b7e17
CanonPath, SourcePath: Change operator + to /
...
This is less confusing and makes it more similar to std::filesystem::path.
2024-02-05 15:17:39 +01:00
Eelco Dolstra
c291d2d8dd
Merge pull request #9927 from 9999years/catch-error-in-value-printer
...
Catch `Error`, not `BaseError` in `ValuePrinter`
2024-02-05 15:01:21 +01:00
Eelco Dolstra
6ec08b85f6
Merge pull request #9934 from nmeum/absPath-out-of-bounds
...
absPath: Explicitly check if path is empty before accessing it
2024-02-05 14:44:02 +01:00
Eelco Dolstra
e190c20c33
Merge pull request #9926 from 9999years/fix-cycle-detection-in-nix-repl
...
Fix cycle detection in `nix repl`
2024-02-05 14:24:28 +01:00
Valentin Gagarin
8d4890c3f8
catch multiple use of link reference ( #9937 )
2024-02-04 21:45:10 +00:00
Valentin Gagarin
8b873edcca
fix anchor link; less weird link texts ( #9936 )
2024-02-04 21:15:20 +00:00
Valentin Gagarin
721fddac2f
use the right heading level ( #9935 )
2024-02-04 21:03:13 +00:00
Théophane Hufschmitt
25385a408e
Merge pull request #9930 from rvl/print-dev-env-unbound-variables
...
print-dev-env: Avoid using unbound shellHook variable
2024-02-04 20:55:17 +01:00
pennae
5ccb06ee1b
fix debugger crashing while printing envs
...
fixes #9932
2024-02-04 17:12:04 +01:00
Rodney Lorrimar
e1131b5927
print-dev-env: Avoid using unbound shellHook variable
...
Some tools which consume the "nix print-dev-env" rc script (such as
"nix-direnv") are sensitive to the use of unbound variables. They use
"set -u".
The "nix print-dev-env" rc script initially unsets "shellHook", then
loads variables from the derivation, and then evaluates "shellHook".
However, most derivations don't have a "shellHook" attribute.
So users get the error "shellHook: unbound variable". This can be
demonstrated with the command:
nix print-dev-env nixpkgs#hello | bash -u
This commit changes the rc script to provide an empty fallback value
for the "shellHook" variable.
Closes : #7951 #8253
2024-02-04 13:57:13 +08:00
Rebecca Turner
770d2bc779
Key repeated values on attribute binding pointers, not value pointers
...
Closes #8672
2024-02-03 21:23:06 -08:00
Rebecca Turner
9646d62b0c
Don't print values in magenta
...
This fixes the opening bracket of lists/attrsets being printed in
magenta, unlike the closing bracket.
https://github.com/NixOS/nix/pull/9753#issuecomment-1904616088
2024-02-03 21:17:22 -08:00
Rebecca Turner
c5d525cd84
Print error messages but not traces
...
This makes output of values that include errors much cleaner.
Before:
```
nix-repl> { err = builtins.throw "uh oh!"; }
{ err = «error:
… while calling the 'throw' builtin
at «string»:1:9:
1| { err = builtins.throw "uh oh!"; }
| ^
error: uh oh!»; }
```
After:
```
nix-repl> { err = builtins.throw "uh oh!"; }
{ err = «error: uh oh!»; }
```
But if the whole expression throws an error, source locations and (if
applicable) a stack trace are printed, like you'd expect:
```
nix-repl> builtins.throw "uh oh!"
error:
… while calling the 'throw' builtin
at «string»:1:1:
1| builtins.throw "uh oh!"
| ^
error: uh oh!
```
2024-02-03 20:50:16 -08:00
Rebecca Turner
a7927abdc1
Catch Error
, not BaseError
in ValuePrinter
...
`BaseError` includes `Interrupt`. We probably don't want the value
printer to tell you you pressed Ctrl-C while it was working.
2024-02-03 19:29:07 -08:00
Rebecca Turner
a7939a6c2a
Rename yellowtxt
-> magentatxt
...
`yellowtxt` wraps its value with `ANSI_WARNING`, but `ANSI_WARNING` has
been equal to `ANSI_MAGENTA` for a long time. Now the name is updated.
2024-02-03 19:28:11 -08:00
Sören Tempel
ec5cc1026d
absPath: Explicitly check if path is empty before accessing it
...
It is entirely possible for the path to be an empty string and many
unit tests actually pass it as an empty string (e.g. both_roundrip or
turnsEmptyPathIntoCWD). In this case, without this patch, absPath will
perform a one-byte out-of-bounds access.
This was discovered while enabling the nix test suite on Alpine where
we compile all software with `-D_GLIBCXX_ASSERTIONS=1`, thus resulting
in a test failure on Alpine.
2024-02-04 00:47:47 +01:00
Eelco Dolstra
49cf090cb2
Merge pull request #9913 from 9999years/debugger-positions
...
Print positions in `--debugger`, instead of pointers
2024-02-03 09:27:09 +01:00
Rebecca Turner
6414cd259e
Reduce visual clutter in the debugger
2024-02-02 19:58:35 -08:00
Rebecca Turner
36dfac7560
Expose locals from let
expressions to the debugger
2024-02-02 19:31:18 -08:00
Rebecca Turner
0127d54d5e
Enter debugger more reliably in let expressions and calls
2024-02-02 19:14:22 -08:00
Rebecca Turner
7d7483cafc
Print positions in --debugger
, instead of pointers
2024-02-02 17:38:46 -08:00
Eelco Dolstra
081dc5daa1
Merge pull request #9902 from NixOS/require-fixed-output-fetchurl
...
builtin:fetchurl: Ensure a fixed-output derivation
2024-02-02 14:00:34 +01:00
Eelco Dolstra
e67458e5b8
Better test fix
2024-02-02 13:34:56 +01:00
Eelco Dolstra
05535be03a
Fix test
2024-02-02 13:07:08 +01:00
Rebecca Turner
faaccecbc8
Remove EXCEPTION_NEEDS_THROW_SPEC
...
We're on C++ 20 now, we don't need this
2024-02-01 16:39:38 -08:00