From 009cf9cd23e5b9198cf8977cca7c823b6b95ad5b Mon Sep 17 00:00:00 2001 From: Will Dietz Date: Sun, 25 Feb 2018 16:38:13 -0600 Subject: [PATCH] nix search: explicitly handle empty search string, fixes #1893 This is important since this is given as an example. Other patterns containing "empty search string" will still be handled differently on different platforms ("asdf|") but that's less of an issue. --- src/nix/search.cc | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/nix/search.cc b/src/nix/search.cc index 1adde28cb..009dfae9c 100644 --- a/src/nix/search.cc +++ b/src/nix/search.cc @@ -78,6 +78,11 @@ struct CmdSearch : SourceExprCommand, MixJSON { settings.readOnlyMode = true; + // Empty search string should match all packages + // Use "^" here instead of ".*" due to differences in resulting highlighting + // (see #1893 -- libc++ claims empty search string is not in POSIX grammar) + if (re.empty()) re = "^"; + std::regex regex(re, std::regex::extended | std::regex::icase); auto state = getEvalState();