aboutsummaryrefslogtreecommitdiff
path: root/system/ksh-openbsd/patches/01-ksh-vi-mode-complete-as-command-on-Ctrl-f.diff
diff options
context:
space:
mode:
Diffstat (limited to 'system/ksh-openbsd/patches/01-ksh-vi-mode-complete-as-command-on-Ctrl-f.diff')
-rw-r--r--system/ksh-openbsd/patches/01-ksh-vi-mode-complete-as-command-on-Ctrl-f.diff152
1 files changed, 0 insertions, 152 deletions
diff --git a/system/ksh-openbsd/patches/01-ksh-vi-mode-complete-as-command-on-Ctrl-f.diff b/system/ksh-openbsd/patches/01-ksh-vi-mode-complete-as-command-on-Ctrl-f.diff
deleted file mode 100644
index 86a7a56c7722..000000000000
--- a/system/ksh-openbsd/patches/01-ksh-vi-mode-complete-as-command-on-Ctrl-f.diff
+++ /dev/null
@@ -1,152 +0,0 @@
-From 6af44d2fa0cdcba11368cf4eee141e42bf0dd422 Mon Sep 17 00:00:00 2001
-From: Alexander Polakov <polachok@gmail.com>
-Date: Sun, 29 May 2011 14:55:46 +0400
-Subject: [PATCH 1/8] ksh/vi mode: complete as command on Ctrl-f.
-
- * adds a flag for x_cf_glob() to force completion like it was a command
- * new argument for complete_word() to pass the flag
- * reuse print_expansions() unused argument to pass the flag
-
- Why: useful for sudo or one-liner completion
- XXX: use different key combination?
----
- edit.c | 2 ++
- edit.h | 7 ++++---
- vi.c | 22 +++++++++++-----------
- 3 files changed, 17 insertions(+), 14 deletions(-)
-
-diff --git edit.c edit.c
-index 6c357a7..0b1ff7d 100644
---- edit.c
-+++ edit.c
-@@ -599,6 +599,8 @@ x_cf_glob(int flags, const char *buf, int buflen, int pos, int *startp,
- len = x_locate_word(buf, buflen, pos, startp, &is_command);
- if (!(flags & XCF_COMMAND))
- is_command = 0;
-+ if (flags & XCF_FORCE_COMMAND)
-+ is_command = 1;
- /* Don't do command globing on zero length strings - it takes too
- * long and isn't very useful. File globs are more likely to be
- * useful, so allow these.
-diff --git edit.h edit.h
-index f966fe4..9c75ffc 100644
---- edit.h
-+++ edit.h
-@@ -38,9 +38,10 @@ typedef struct {
- EXTERN X_chars edchars;
-
- /* x_cf_glob() flags */
--#define XCF_COMMAND BIT(0) /* Do command completion */
--#define XCF_FILE BIT(1) /* Do file completion */
--#define XCF_FULLPATH BIT(2) /* command completion: store full path */
-+#define XCF_COMMAND BIT(0) /* Do command completion */
-+#define XCF_FILE BIT(1) /* Do file completion */
-+#define XCF_FULLPATH BIT(2) /* command completion: store full path */
-+#define XCF_FORCE_COMMAND BIT(3) /* Force completion as a command */
- #define XCF_COMMAND_FILE (XCF_COMMAND|XCF_FILE)
-
- /* edit.c */
-diff --git vi.c vi.c
-index 889b35a..e4173c7 100644
---- vi.c
-+++ vi.c
-@@ -58,7 +58,7 @@ static int newcol(int, int);
- static void display(char *, char *, int);
- static void ed_mov_opt(int, char *);
- static int expand_word(int);
--static int complete_word(int, int);
-+static int complete_word(int, int, int);
- static int print_expansions(struct edstate *, int);
- static int char_len(int);
- static void x_vi_zotc(int);
-@@ -651,7 +651,7 @@ vi_insert(int ch)
- break;
-
- case Ctrl('f'):
-- complete_word(0, 0);
-+ complete_word(0, 0, XCF_FORCE_COMMAND);
- break;
-
- case Ctrl('e'):
-@@ -660,7 +660,7 @@ vi_insert(int ch)
-
- case Ctrl('i'):
- if (Flag(FVITABCOMPLETE)) {
-- complete_word(0, 0);
-+ complete_word(0, 0, 0);
- break;
- }
- /* FALLTHROUGH */
-@@ -1111,14 +1111,14 @@ vi_cmd(int argcnt, const char *cmd)
-
- case '=': /* at&t ksh */
- case Ctrl('e'): /* Nonstandard vi/ksh */
-- print_expansions(es, 1);
-+ print_expansions(es, 0);
- break;
-
-
- case Ctrl('i'): /* Nonstandard vi/ksh */
- if (!Flag(FVITABCOMPLETE))
- return -1;
-- complete_word(1, argcnt);
-+ complete_word(1, argcnt, 0);
- break;
-
- case Ctrl('['): /* some annoying at&t ksh's */
-@@ -1126,7 +1126,7 @@ vi_cmd(int argcnt, const char *cmd)
- return -1;
- case '\\': /* at&t ksh */
- case Ctrl('f'): /* Nonstandard vi/ksh */
-- complete_word(1, argcnt);
-+ complete_word(1, argcnt, 0);
- break;
-
-
-@@ -1939,7 +1939,7 @@ expand_word(int command)
- }
-
- static int
--complete_word(int command, int count)
-+complete_word(int command, int count, int flags)
- {
- static struct edstate *buf;
- int rval = 0;
-@@ -1953,7 +1953,7 @@ complete_word(int command, int count)
-
- /* Undo previous completion */
- if (command == 0 && expanded == COMPLETE && buf) {
-- print_expansions(buf, 0);
-+ print_expansions(buf, flags);
- expanded = PRINT;
- return 0;
- }
-@@ -1971,7 +1971,7 @@ complete_word(int command, int count)
- /* 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),
-+ nwords = x_cf_glob(XCF_COMMAND_FILE | (count ? XCF_FULLPATH : 0) | flags,
- es->cbuf, es->linelen, es->cursor,
- &start, &end, &words, &is_command);
- if (nwords == 0) {
-@@ -2044,14 +2044,14 @@ complete_word(int command, int count)
- }
-
- static int
--print_expansions(struct edstate *e, int command)
-+print_expansions(struct edstate *e, int flags)
- {
- int nwords;
- int start, end;
- char **words;
- int is_command;
-
-- nwords = x_cf_glob(XCF_COMMAND_FILE|XCF_FULLPATH,
-+ nwords = x_cf_glob(XCF_COMMAND_FILE|XCF_FULLPATH|flags,
- e->cbuf, e->linelen, e->cursor,
- &start, &end, &words, &is_command);
- if (nwords == 0) {
---
-1.7.5
-