A modern, delicious implementation of the Nix package manager, focused on correctness, usability, and growth — and committed to doing right by its community
Find a file
eldritch horrors c26599b143 libexpr: fix elided value counting in printer
using the total-attrs-printed and total-list-items-printed counters to
calculate how many attrs were elided only works properly if no nesting
is involved. once things do nest the global counter can exceed the size
of the currently printed object, leading to unsigned wrapping and great
overestimation of elided counts. counting locally in addition to global
counts fixes this.

these are functional tests because creating these objects requires the
evaluator to not be a huge amount of code, and we also want defaults to
be tested for cli usage.

fixes #14

Change-Id: Icb9a0cb21b2f4bacbc5e9dcdd8c0b9055b4088a7
2024-03-14 01:52:19 -06:00
.github
config Run autoupdate 2021-06-01 11:42:38 +02:00
contrib
doc evaluate inherit (from) exprs only once per directive 2024-03-10 03:18:32 -06:00
m4
maintainers
misc Merge pull request #9573 from hercules-ci/rl-next-md-frontmatter 2024-03-04 07:12:09 +01:00
mk Merge "Backport PR#10204 by 9999years: Replace foo with __NIX_STR in cxx-big-literal" into main 2024-03-14 00:07:21 -06:00
perl
scripts Merge pull request #10001 from abathur/fix_macos_daemon_perms 2024-03-04 09:25:17 +01:00
src libexpr: fix elided value counting in printer 2024-03-14 01:52:19 -06:00
tests libexpr: fix elided value counting in printer 2024-03-14 01:52:19 -06:00
.dir-locals.el
.editorconfig
.gitignore
.version
boehmgc-coroutine-sp-fallback.diff
boehmgc-traceable_allocator-public.diff
configure.ac
CONTRIBUTING.md Put functional tests in tests/functional 2023-12-01 12:06:43 -05:00
COPYING
default.nix
docker.nix
flake.lock
flake.nix package: cleanup of all intermediaries 2024-03-11 04:26:35 -06:00
local.mk
Makefile
Makefile.config.in
package.nix support <program>_ENV variables 2024-03-13 19:48:26 +01:00
precompiled-headers.h
README.md Improve hacking.md 2023-02-13 12:00:00 +04:00
shell.nix

Nix

Open Collective supporters Test

Nix is a powerful package manager for Linux and other Unix systems that makes package management reliable and reproducible. Please refer to the Nix manual for more details.

Installation

On Linux and macOS the easiest way to install Nix is to run the following shell command (as a user other than root):

$ curl -L https://nixos.org/nix/install | sh

Information on additional installation methods is available on the Nix download page.

Building And Developing

See our Hacking guide in our manual for instruction on how to to set up a development environment and build Nix from source.

Additional Resources

License

Nix is released under the LGPL v2.1.