From 80acfd135cb41dc63b2e037fe8c18bcf46ce929c Mon Sep 17 00:00:00 2001 From: Peter Stephenson Date: Sun, 10 Sep 2006 18:10:48 +0000 Subject: 22684: improve getkeystring() interface and make printf do octal escapes --- Src/Zle/zle_hist.c | 2 +- Src/Zle/zle_keymap.c | 11 ++++++----- Src/Zle/zle_misc.c | 2 +- 3 files changed, 8 insertions(+), 7 deletions(-) (limited to 'Src/Zle') diff --git a/Src/Zle/zle_hist.c b/Src/Zle/zle_hist.c index da8f9244e..bb740d75c 100644 --- a/Src/Zle/zle_hist.c +++ b/Src/Zle/zle_hist.c @@ -902,7 +902,7 @@ doisearch(char **args, int dir) int len; char *arg; savekeys = kungetct; - arg = getkeystring(*args, &len, 2, NULL); + arg = getkeystring(*args, &len, GETKEYS_BINDKEY, NULL); ungetbytes(arg, len); } diff --git a/Src/Zle/zle_keymap.c b/Src/Zle/zle_keymap.c index 5b6b7f05b..454e26f16 100644 --- a/Src/Zle/zle_keymap.c +++ b/Src/Zle/zle_keymap.c @@ -879,7 +879,7 @@ bin_bindkey_bind(char *name, char *kmname, Keymap km, char **argv, Options ops, struct remprefstate rps; rps.km = km; while ((useq = *argv++)) { - bseq = getkeystring(useq, &len, 2, NULL); + bseq = getkeystring(useq, &len, GETKEYS_BINDKEY, NULL); rps.prefix = metafy(bseq, len, META_USEHEAP); rps.prefixlen = strlen(rps.prefix); scankeymap(km, 0, scanremoveprefix, &rps); @@ -895,14 +895,14 @@ bin_bindkey_bind(char *name, char *kmname, Keymap km, char **argv, Options ops, fn = refthingy(t_undefinedkey); str = NULL; } else if(func == 's') { - str = getkeystring(*++argv, &len, 2, NULL); + str = getkeystring(*++argv, &len, GETKEYS_BINDKEY, NULL); fn = NULL; str = metafy(str, len, META_HREALLOC); } else { fn = rthingy(*++argv); str = NULL; } - bseq = getkeystring(useq, &len, 2, NULL); + bseq = getkeystring(useq, &len, GETKEYS_BINDKEY, NULL); seq = metafy(bseq, len, META_USEHEAP); if(OPT_ISSET(ops,'R')) { int first, last; @@ -960,7 +960,7 @@ bin_bindkey_list(char *name, char *kmname, Keymap km, char **argv, Options ops, int len; char *seq; - seq = getkeystring(argv[0], &len, 2, NULL); + seq = getkeystring(argv[0], &len, GETKEYS_BINDKEY, NULL); seq = metafy(seq, len, META_HREALLOC); bs.flags |= BS_ALL; bs.firstseq = bs.lastseq = seq; @@ -975,7 +975,8 @@ bin_bindkey_list(char *name, char *kmname, Keymap km, char **argv, Options ops, zwarnnam(name, "option -p requires a prefix string"); return 1; } - bs.prefix = getkeystring(argv[0], &bs.prefixlen, 2, NULL); + bs.prefix = getkeystring(argv[0], &bs.prefixlen, GETKEYS_BINDKEY, + NULL); bs.prefix = metafy(bs.prefix, bs.prefixlen, META_HREALLOC); bs.prefixlen = strlen(bs.prefix); } else { diff --git a/Src/Zle/zle_misc.c b/Src/Zle/zle_misc.c index 314e1333d..30fa0cc5b 100644 --- a/Src/Zle/zle_misc.c +++ b/Src/Zle/zle_misc.c @@ -1162,7 +1162,7 @@ makesuffixstr(char *f, char *s, int n) s++; } else inv = 0; - s = getkeystring(s, &i, 5, &z); + s = getkeystring(s, &i, GETKEYS_SUFFIX, &z); s = metafy(s, i, META_USEHEAP); ws = stringaszleline(s, 0, &i, NULL, NULL); -- cgit 1.4.1