From ea291595718e1e0a6954467545cbc778d15cf16c Mon Sep 17 00:00:00 2001 From: Peter Stephenson Date: Fri, 13 Mar 2009 10:04:21 +0000 Subject: users/13902: make isearch return status useful add LASTABORTEDSEARCH variable --- Src/Zle/zle_params.c | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) (limited to 'Src/Zle/zle_params.c') diff --git a/Src/Zle/zle_params.c b/Src/Zle/zle_params.c index efa628693..f384753e2 100644 --- a/Src/Zle/zle_params.c +++ b/Src/Zle/zle_params.c @@ -54,6 +54,8 @@ static const struct gsu_scalar keymap_gsu = { get_keymap, nullstrsetfn, zleunsetfn }; static const struct gsu_scalar keys_gsu = { get_keys, nullstrsetfn, zleunsetfn }; +static const struct gsu_scalar lastabortedsearch_gsu = +{ get_lasearch, nullstrsetfn, zleunsetfn }; static const struct gsu_scalar lastsearch_gsu = { get_lsearch, nullstrsetfn, zleunsetfn }; static const struct gsu_scalar lastwidget_gsu = @@ -115,6 +117,8 @@ static struct zleparam { { "KEYMAP", PM_SCALAR | PM_READONLY, GSU(keymap_gsu), NULL }, { "KEYS", PM_SCALAR | PM_READONLY, GSU(keys_gsu), NULL }, { "killring", PM_ARRAY, GSU(killring_gsu), NULL }, + { "LASTABORTEDSEARCH", PM_SCALAR | PM_READONLY, GSU(lastabortedsearch_gsu), + NULL }, { "LASTSEARCH", PM_SCALAR | PM_READONLY, GSU(lastsearch_gsu), NULL }, { "LASTWIDGET", PM_SCALAR | PM_READONLY, GSU(lastwidget_gsu), NULL }, { "LBUFFER", PM_SCALAR, GSU(lbuffer_gsu), NULL }, @@ -639,14 +643,21 @@ free_prepostdisplay(void) set_prepost(&postdisplay, &postdisplaylen, NULL); } +/**/ +static char * +get_lasearch(UNUSED(Param pm)) +{ + if (previous_aborted_search) + return previous_aborted_search; + return ""; +} + /**/ static char * get_lsearch(UNUSED(Param pm)) { - if (previous_search_len) { - return zlelineasstring(previous_search, previous_search_len, 0, - NULL, NULL, 1); - } + if (previous_search) + return previous_search; return ""; } -- cgit 1.4.1