lix/src/libexpr
Robert Hensing ee0c195eba
Split ignoreException to avoid suppressing CTRL-C
This splits `ignoreException` into `ignoreExceptionExceptInterrupt`
(which ignores all exceptions except `Interrupt`, which indicates a
SIGINT/CTRL-C) and `ignoreExceptionInDestructor` (which ignores all
exceptions, so that destructors do not throw exceptions).

This prevents many cases where Nix ignores CTRL-C entirely.
See: https://github.com/NixOS/nix/issues/7245

Upstream-PR: https://github.com/NixOS/nix/pull/11618
Change-Id: Ie7d2467eedbe840d1b9fa2e88a4e88e4ab26a87b
2024-10-01 15:49:56 -07:00
..
flake flake: don't refetch unmodified inputs by recursive follows 2024-08-19 19:57:12 +00:00
parser libexpr: Soft-deprecate ancient let syntax 2024-08-21 12:59:03 +02:00
primops libfetchers/git: restore compat with builtins.fetchGit from 2.3 2024-09-28 14:52:06 +02:00
value util.hh: Delete remaining file and clean up headers 2024-05-29 12:38:51 +02:00
attr-path.cc util.hh: Delete remaining file and clean up headers 2024-05-29 12:38:51 +02:00
attr-path.hh Merge remote-tracking branch 'upstream/master' into source-path 2023-04-17 11:41:50 +02:00
attr-set.cc libexpr: refactor gc-agnostic helpers into one place 2024-07-20 20:20:01 +00:00
attr-set.hh Finish converting existing comments for internal API docs (#8146) 2023-04-07 13:55:28 +00:00
eval-cache.cc Split ignoreException to avoid suppressing CTRL-C 2024-10-01 15:49:56 -07:00
eval-cache.hh always re-eval cached failures 2024-04-06 04:35:25 +00:00
eval-error.cc always re-eval cached failures 2024-04-06 04:35:25 +00:00
eval-error.hh treewide: fix a bunch of lints 2024-08-26 16:13:03 -07:00
eval-inline.hh treewide: fix a bunch of lints 2024-08-26 16:13:03 -07:00
eval-settings.cc libexpr: fix accessing uninitialized values and fix pure-eval docs 2024-06-18 19:25:35 -07:00
eval-settings.hh repl-overlays: Provide an elaborate example 2024-09-01 15:30:58 -07:00
eval.cc tree-wide: shuffle headers around for about 30s compile time 2024-08-28 09:55:05 -07:00
eval.hh tree-wide: shuffle headers around for about 30s compile time 2024-08-28 09:55:05 -07:00
fetchurl.nix Format Nix code with nixfmt 2024-04-08 13:00:00 -07:00
function-trace.cc Revert the enum struct change 2020-06-18 22:11:26 +00:00
function-trace.hh Ensure all headers have #pragma once and are in API docs 2023-03-31 23:19:44 -04:00
gc-alloc.cc libexpr: rename confusing makeImmutableString -> gcCopyStringIfNeeded 2024-07-20 20:20:01 +00:00
gc-alloc.hh treewide: fix a bunch of lints 2024-08-26 16:13:03 -07:00
gc-small-vector.hh pragma once and ///@file everything missing it 2024-04-08 15:40:12 -07:00
get-drvs.cc libexpr: include the type of the non-derivation value in the type error 2024-08-01 00:37:03 +00:00
get-drvs.hh libexpr: DrvInfo: remove unused bad-citizen constructor 2024-08-01 00:36:41 +00:00
imported-drv-to-derivation.nix Format Nix code with nixfmt 2024-04-08 13:00:00 -07:00
json-to-value.cc enable -Werror=suggest-override 2024-07-22 16:26:55 +00:00
json-to-value.hh libexpr: Support structured error classes 2024-03-09 04:47:05 -07:00
lix-expr.pc.in packaging: rename nixexpr -> lixexpr and so on 2024-05-23 16:45:23 -06:00
meson.build libexpr: move Value implementations out of eval.cc 2024-08-08 22:01:12 -06:00
nixexpr.cc treewide: fix a bunch of lints 2024-08-26 16:13:03 -07:00
nixexpr.hh tree-wide: shuffle headers around for about 30s compile time 2024-08-28 09:55:05 -07:00
paths.cc Merge pull request #9172 from tfc/bad-moves 2024-03-04 04:41:52 +01:00
pos-idx.hh pragma once and ///@file everything missing it 2024-04-08 15:40:12 -07:00
pos-table.hh pragma once and ///@file everything missing it 2024-04-08 15:40:12 -07:00
primops.cc tree-wide: fix a pile of lints 2024-08-08 14:53:17 -07:00
primops.hh use byte indexed locations for PosIdx 2024-03-18 16:12:46 +01:00
print-ambiguous.cc util.hh: Delete remaining file and clean up headers 2024-05-29 12:38:51 +02:00
print-ambiguous.hh pragma once and ///@file everything missing it 2024-04-08 15:40:12 -07:00
print-options.hh Print top-level errors normally in nix repl 2024-04-09 08:34:40 -07:00
print.cc libexpr/print: do not show elided nested items when there are none 2024-07-18 18:41:34 +02:00
print.hh add an ExprPrinter class, like ValuePrinter 2024-07-04 15:55:38 -06:00
repl-exit-status.hh pragma once and ///@file everything missing it 2024-04-08 15:40:12 -07:00
search-path.cc util.hh: Delete remaining file and clean up headers 2024-05-29 12:38:51 +02:00
search-path.hh Clean up SearchPath 2023-07-09 23:22:22 -04:00
symbol-table.hh Finish converting existing comments for internal API docs (#8146) 2023-04-07 13:55:28 +00:00
value-to-json.cc language: cleanly ban integer overflows 2024-07-13 00:59:33 +02:00
value-to-json.hh Use std::set<StringContextElem> not PathSet for string contexts 2023-04-21 01:05:49 -04:00
value-to-xml.cc libexpr: add expr memory management 2024-06-17 19:46:44 +00:00
value-to-xml.hh Use std::set<StringContextElem> not PathSet for string contexts 2023-04-21 01:05:49 -04:00
value.cc libexpr: move Value implementations out of eval.cc 2024-08-08 22:01:12 -06:00
value.hh treewide: fix a bunch of lints 2024-08-26 16:13:03 -07:00