summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaxime Coste <mawww@kakoune.org>2024-01-17 20:59:26 +1100
committerMaxime Coste <mawww@kakoune.org>2024-01-17 20:59:26 +1100
commit4bb1f179284da0bfacfec02f8f900b0a4a5cd720 (patch)
treef32c8829cc086f6ca04fcd38ecda3d40cabc3b48
parentf9fe191437a78d3837d3392636113d48fb13c16b (diff)
parent20b0eadfc8f9e6ead962bb0230b8ebfe32d8a2fa (diff)
Merge remote-tracking branch 'krobelus/validate-empty-prompt'
-rw-r--r--src/normal.cc3
-rw-r--r--test/regression/0-mouse-during-insert/script9
-rw-r--r--test/regression/5076-empty-text-should-not-change-prompt-history/cmd1
-rw-r--r--test/regression/5076-empty-text-should-not-change-prompt-history/in1
-rw-r--r--test/regression/5076-empty-text-should-not-change-prompt-history/kak_selections1
-rw-r--r--test/regression/5076-empty-text-should-not-change-prompt-history/script7
6 files changed, 18 insertions, 4 deletions
diff --git a/src/normal.cc b/src/normal.cc
index 019ed58a..03e7895c 100644
--- a/src/normal.cc
+++ b/src/normal.cc
@@ -866,7 +866,8 @@ void regex_prompt(Context& context, String prompt, char reg, T func)
RegisterManager::instance()[reg].set(context, str.str());
break;
case PromptEvent::Validate:
- RegisterManager::instance()[reg].set(context, str.str());
+ if (not str.empty())
+ RegisterManager::instance()[reg].set(context, str.str());
context.push_jump();
break;
}
diff --git a/test/regression/0-mouse-during-insert/script b/test/regression/0-mouse-during-insert/script
index c85d78d6..439d70d3 100644
--- a/test/regression/0-mouse-during-insert/script
+++ b/test/regression/0-mouse-during-insert/script
@@ -1,10 +1,13 @@
ui_out -ignore 7
ui_in '{ "jsonrpc": "2.0", "method": "keys", "params": [ "i" ] }'
+ui_out -ignore 4
ui_in '{ "jsonrpc": "2.0", "method": "keys", "params": [ "a" ] }'
-ui_out -ignore 8
+ui_out -ignore 4
ui_in '{ "jsonrpc": "2.0", "method": "mouse_press", "params": [ "left", 0, 2 ] }'
+ui_out -ignore 4
ui_in '{ "jsonrpc": "2.0", "method": "keys", "params": [ "b" ] }'
-ui_out -ignore 8
+ui_out -ignore 4
ui_in '{ "jsonrpc": "2.0", "method": "mouse_release", "params": [ "left", 0, 4 ] }'
+ui_out -ignore 4
ui_in '{ "jsonrpc": "2.0", "method": "keys", "params": [ "c<esc>" ] }'
-ui_out -ignore 1
+ui_out -ignore 4
diff --git a/test/regression/5076-empty-text-should-not-change-prompt-history/cmd b/test/regression/5076-empty-text-should-not-change-prompt-history/cmd
new file mode 100644
index 00000000..8b137891
--- /dev/null
+++ b/test/regression/5076-empty-text-should-not-change-prompt-history/cmd
@@ -0,0 +1 @@
+
diff --git a/test/regression/5076-empty-text-should-not-change-prompt-history/in b/test/regression/5076-empty-text-should-not-change-prompt-history/in
new file mode 100644
index 00000000..1790c8d8
--- /dev/null
+++ b/test/regression/5076-empty-text-should-not-change-prompt-history/in
@@ -0,0 +1 @@
+abab
diff --git a/test/regression/5076-empty-text-should-not-change-prompt-history/kak_selections b/test/regression/5076-empty-text-should-not-change-prompt-history/kak_selections
new file mode 100644
index 00000000..a4c6917f
--- /dev/null
+++ b/test/regression/5076-empty-text-should-not-change-prompt-history/kak_selections
@@ -0,0 +1 @@
+a a
diff --git a/test/regression/5076-empty-text-should-not-change-prompt-history/script b/test/regression/5076-empty-text-should-not-change-prompt-history/script
new file mode 100644
index 00000000..8c2457f1
--- /dev/null
+++ b/test/regression/5076-empty-text-should-not-change-prompt-history/script
@@ -0,0 +1,7 @@
+ui_out -ignore 7
+ui_in '{ "jsonrpc": "2.0", "method": "keys", "params": [ "xsa<ret>" ] }'
+ui_out -ignore 6
+ui_in '{ "jsonrpc": "2.0", "method": "keys", "params": [ "xs<ret>" ] }'
+ui_out -ignore 5
+ui_in '{ "jsonrpc": "2.0", "method": "keys", "params": [ "xs<ret>" ] }'
+ui_out -ignore 5