Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We鈥檒l occasionally send you account related emails.

Already on GitHub? Sign in to your account

Overhaul nix flake update and nix flake lock UX #8817

Merged
merged 4 commits into from
Oct 31, 2023

Commits on Oct 31, 2023

  1. Configuration menu
    Copy the full SHA
    1fd0867 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    c762b65 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    c7dcdb8 View commit details
    Browse the repository at this point in the history
  4. fix: segfault in positional arg completion

    Adding the inputPath as a positional feature uncovered this bug.
    As positional argument forms were discarded from the `expectedArgs`
    list, their closures were not. When the `.completer` closure was then
    called, part of the surrounding object did not exist anymore.
    
    This didn't cause an issue before, but with the new call to
    `getEvalState()` in the "inputs" completer in nix/flake.cc, a segfault
    was triggered reproducibly on invalid memory access to the `this`
    pointer, which was always 0.
    
    The solution of splicing the argument forms into a new list to extend
    their lifetime is a bit of a hack, but I was unable to get the "nicer"
    iterator-based solution to work.
    iFreilicht authored and thufschmitt committed Oct 31, 2023
    Configuration menu
    Copy the full SHA
    f282ef5 View commit details
    Browse the repository at this point in the history