Revert "Do not save last command/pipe/regex in register when history is disabled"
This reverts commit 55621fb4cc
.
This should not be necessary as :exec/eval already save those registers
and reset them by default, and it breaks the ability to use those
registers during an eval/exec (as the commands behave differently)
This commit is contained in:
parent
4d11bb20c3
commit
efce8e0ce6
|
@ -449,7 +449,7 @@ void command(Context& context, NormalParams params)
|
||||||
{
|
{
|
||||||
if (cmdline.empty())
|
if (cmdline.empty())
|
||||||
cmdline = context.main_sel_register_value(':');
|
cmdline = context.main_sel_register_value(':');
|
||||||
else if (not is_blank(cmdline[0]) and not context.history_disabled())
|
else if (not is_blank(cmdline[0]))
|
||||||
RegisterManager::instance()[':'].set(context, cmdline.str());
|
RegisterManager::instance()[':'].set(context, cmdline.str());
|
||||||
|
|
||||||
EnvVarMap env_vars = {
|
EnvVarMap env_vars = {
|
||||||
|
@ -509,7 +509,7 @@ void pipe(Context& context, NormalParams)
|
||||||
|
|
||||||
if (cmdline.empty())
|
if (cmdline.empty())
|
||||||
cmdline = context.main_sel_register_value("|");
|
cmdline = context.main_sel_register_value("|");
|
||||||
else if (not context.history_disabled())
|
else
|
||||||
RegisterManager::instance()['|'].set(context, cmdline.str());
|
RegisterManager::instance()['|'].set(context, cmdline.str());
|
||||||
|
|
||||||
if (cmdline.empty())
|
if (cmdline.empty())
|
||||||
|
@ -584,7 +584,7 @@ void insert_output(Context& context, NormalParams)
|
||||||
|
|
||||||
if (cmdline.empty())
|
if (cmdline.empty())
|
||||||
cmdline = context.main_sel_register_value("|");
|
cmdline = context.main_sel_register_value("|");
|
||||||
else if (not context.history_disabled())
|
else
|
||||||
RegisterManager::instance()['|'].set(context, cmdline.str());
|
RegisterManager::instance()['|'].set(context, cmdline.str());
|
||||||
|
|
||||||
if (cmdline.empty())
|
if (cmdline.empty())
|
||||||
|
@ -765,7 +765,8 @@ void search(Context& context, NormalParams params)
|
||||||
const char reg = to_lower(params.reg ? params.reg : '/');
|
const char reg = to_lower(params.reg ? params.reg : '/');
|
||||||
const int count = params.count;
|
const int count = params.count;
|
||||||
|
|
||||||
auto saved_reg = RegisterManager::instance()[reg].get(context) | gather<Vector<String>>();
|
auto reg_content = RegisterManager::instance()[reg].get(context);
|
||||||
|
Vector<String> saved_reg{reg_content.begin(), reg_content.end()};
|
||||||
const int main_index = std::min(context.selections().main_index(), saved_reg.size()-1);
|
const int main_index = std::min(context.selections().main_index(), saved_reg.size()-1);
|
||||||
|
|
||||||
regex_prompt<direction>(context, prompt.str(), saved_reg[main_index],
|
regex_prompt<direction>(context, prompt.str(), saved_reg[main_index],
|
||||||
|
@ -776,8 +777,7 @@ void search(Context& context, NormalParams params)
|
||||||
RegisterManager::instance()[reg].set(context, saved_reg);
|
RegisterManager::instance()[reg].set(context, saved_reg);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (not context.history_disabled())
|
RegisterManager::instance()[reg].set(context, regex.str());
|
||||||
RegisterManager::instance()[reg].set(context, regex.str());
|
|
||||||
|
|
||||||
if (regex.empty() or regex.str().empty())
|
if (regex.empty() or regex.str().empty())
|
||||||
return;
|
return;
|
||||||
|
|
Loading…
Reference in New Issue
Block a user