From c6dfb2999d51be6e71176358a2e14360fe6e6ee6 Mon Sep 17 00:00:00 2001 From: Peter Stephenson Date: Thu, 19 Apr 2007 14:16:22 +0000 Subject: users/11419: zle copy-region-as-kill adds text to the kill ring --- Src/Zle/zle_misc.c | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) (limited to 'Src/Zle/zle_misc.c') diff --git a/Src/Zle/zle_misc.c b/Src/Zle/zle_misc.c index 30fa0cc5b..48739e531 100644 --- a/Src/Zle/zle_misc.c +++ b/Src/Zle/zle_misc.c @@ -337,14 +337,21 @@ killregion(UNUSED(char **args)) /**/ int -copyregionaskill(UNUSED(char **args)) +copyregionaskill(char **args) { - if (mark > zlell) - mark = zlell; - if (mark > zlecs) - cut(zlecs, mark - zlecs, 0); - else - cut(mark, zlecs - mark, 1); + if (*args) { + int len; + ZLE_STRING_T line = stringaszleline(*args, 0, &len, NULL, NULL); + cuttext(line, len, -1); + free(line); + } else { + if (mark > zlell) + mark = zlell; + if (mark > zlecs) + cut(zlecs, mark - zlecs, 0); + else + cut(mark, zlecs - mark, 1); + } return 0; } -- cgit v1.2.3