summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Forney <mforney@mforney.org>2016-10-28 20:59:33 -0700
committerMichael Forney <mforney@mforney.org>2016-10-28 21:05:11 -0700
commit72d6c1416ba5520ee5e3ed91f10e6ccd6b87edf4 (patch)
treef215cdf18013aff38b283257ea651dc951f44581
parent6c2437b409bd408d467b438361e597d941a15e02 (diff)
loksh: Add patch to fix arrow keys in search-history
-rw-r--r--.gitmodules1
-rw-r--r--core/loksh/patch/0001-In-emacs-incremental-search-mode-R-make-commands-sta.patch37
-rw-r--r--core/loksh/rev2
3 files changed, 39 insertions, 1 deletions
diff --git a/.gitmodules b/.gitmodules
index 6a87da4e..d4f8ebff 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -28,6 +28,7 @@
[submodule "core/loksh/src"]
path = core/loksh/src
url = https://github.com/dimkr/loksh
+ ignore = all
[submodule "core/ninja/src"]
path = core/ninja/src
url = https://github.com/ninja-build/ninja
diff --git a/core/loksh/patch/0001-In-emacs-incremental-search-mode-R-make-commands-sta.patch b/core/loksh/patch/0001-In-emacs-incremental-search-mode-R-make-commands-sta.patch
new file mode 100644
index 00000000..44f96f35
--- /dev/null
+++ b/core/loksh/patch/0001-In-emacs-incremental-search-mode-R-make-commands-sta.patch
@@ -0,0 +1,37 @@
+From 34a09675724c2d4f13f21b4f5663c098fe955090 Mon Sep 17 00:00:00 2001
+From: schwarze <schwarze@openbsd.org>
+Date: Tue, 9 Aug 2016 11:04:46 +0000
+Subject: [PATCH] In emacs incremental search mode (^R), make commands starting
+ with the escape key (^[) work as documented. Long-standing bug, this time
+ reported by Dave minus Cohen dot com. OK natano@ halex@
+
+---
+ emacs.c | 7 ++++---
+ 1 file changed, 4 insertions(+), 3 deletions(-)
+
+diff --git a/emacs.c b/emacs.c
+index 51d1ab0..2f82b5b 100644
+--- a/emacs.c
++++ b/emacs.c
+@@ -1,4 +1,4 @@
+-/* $OpenBSD: emacs.c,v 1.65 2016/01/26 17:39:31 mmcc Exp $ */
++/* $OpenBSD: emacs.c,v 1.66 2016/08/09 11:04:46 schwarze Exp $ */
+
+ /*
+ * Emacs-like command line editing and history
+@@ -893,9 +893,10 @@ x_search_hist(int c)
+ if ((c = x_e_getc()) < 0)
+ return KSTD;
+ f = kb_find_hist_func(c);
+- if (c == CTRL('['))
++ if (c == CTRL('[')) {
++ x_e_ungetc(c);
+ break;
+- else if (f == x_search_hist)
++ } else if (f == x_search_hist)
+ offset = x_search(pat, 0, offset);
+ else if (f == x_del_back) {
+ if (p == pat) {
+--
+2.10.1
+
diff --git a/core/loksh/rev b/core/loksh/rev
index 0cfbf088..00750edc 100644
--- a/core/loksh/rev
+++ b/core/loksh/rev
@@ -1 +1 @@
-2
+3