summaryrefslogtreecommitdiff
path: root/system/ksh-openbsd/patches/07-ksh-vi-compensate-for-cursor-move-on-command-mode.diff
diff options
context:
space:
mode:
Diffstat (limited to 'system/ksh-openbsd/patches/07-ksh-vi-compensate-for-cursor-move-on-command-mode.diff')
-rw-r--r--system/ksh-openbsd/patches/07-ksh-vi-compensate-for-cursor-move-on-command-mode.diff55
1 files changed, 0 insertions, 55 deletions
diff --git a/system/ksh-openbsd/patches/07-ksh-vi-compensate-for-cursor-move-on-command-mode.diff b/system/ksh-openbsd/patches/07-ksh-vi-compensate-for-cursor-move-on-command-mode.diff
deleted file mode 100644
index ce51064a01..0000000000
--- a/system/ksh-openbsd/patches/07-ksh-vi-compensate-for-cursor-move-on-command-mode.diff
+++ /dev/null
@@ -1,55 +0,0 @@
-From fc2058b4b6a64d66fe1ee318bccea42b4569d31f Mon Sep 17 00:00:00 2001
-From: Alexander Polakov <polachok@gmail.com>
-Date: Sun, 29 May 2011 19:23:17 +0400
-Subject: [PATCH 7/8] ksh/vi: compensate for cursor move on command mode
-
- * move completion cursor one position right if the
- character is space
- * when we enter command mode, cursor is moved one
- position left, and the space on the end is "lost".
- So we are trying to complete "ls" instead of file
- while having "ls " and "file.c" when having "file.c ".
----
- vi.c | 15 ++++++++++++++-
- 1 files changed, 14 insertions(+), 1 deletions(-)
-
-diff --git vi.c vi.c
-index 95d192c..0bac6be 100644
---- vi.c
-+++ vi.c
-@@ -1956,6 +1956,7 @@ complete_word(int command, int count, int flags)
- int match_len;
- int is_unique;
- int is_command;
-+ int pos;
-
- /* Undo previous completion */
- if (command == 0 && expanded == COMPLETE && buf) {
-@@ -1974,11 +1975,23 @@ complete_word(int command, int count, int flags)
- buf = 0;
- }
-
-+ /* XXX: hack. When we enter command mode, the cursor is moved
-+ * one position left. This means that the space at the end is
-+ * eaten and file completion becomes command completion.
-+ * (see x_locate_word() for more on this)
-+ */
-+ pos = es->cursor;
-+ if (command) {
-+ pos += (isspace(es->cbuf[es->cursor]) ? 1 : 0);
-+ if (pos > es->linelen)
-+ pos = es->linelen;
-+ }
-+
- /* XCF_FULLPATH for count 'cause the menu printed by print_expansions()
- * was done this way.
- */
- nwords = x_cf_glob(XCF_COMMAND_FILE | (count ? XCF_FULLPATH : 0) | flags,
-- es->cbuf, es->linelen, es->cursor,
-+ es->cbuf, es->linelen, pos,
- &start, &end, &words, &is_command);
- if (nwords == 0) {
- vi_error();
---
-1.7.5
-