diff options
author | Peter Stephenson <pws@users.sourceforge.net> | 2003-01-27 14:54:31 +0000 |
---|---|---|
committer | Peter Stephenson <pws@users.sourceforge.net> | 2003-01-27 14:54:31 +0000 |
commit | 778a73b027509c9c9f70c8dbd184097efeacae43 (patch) | |
tree | 17d52da7da8fd0a1f85a0491b52e80ab66299f4b /Src/Zle/zle_main.c | |
parent | cd70d2745cc34cd05292e6c87fa1e4f272792313 (diff) | |
download | zsh-778a73b027509c9c9f70c8dbd184097efeacae43.tar.gz zsh-778a73b027509c9c9f70c8dbd184097efeacae43.tar.xz zsh-778a73b027509c9c9f70c8dbd184097efeacae43.zip |
18139: Improve $killring interface; can now change length. Empty
strings in $killring are ignored when yank-popping. Yank-popping is more consistent about looping and using the original cutbuffer.
Diffstat (limited to 'Src/Zle/zle_main.c')
-rw-r--r-- | Src/Zle/zle_main.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/Src/Zle/zle_main.c b/Src/Zle/zle_main.c index 1c45d120c..0e63bf5b1 100644 --- a/Src/Zle/zle_main.c +++ b/Src/Zle/zle_main.c @@ -1406,8 +1406,11 @@ finish_(Module m) if (rdstrs) freelinklist(rdstrs, freestr); zfree(cutbuf.buf, cutbuf.len); - for(i = KRINGCT; i--; ) - zfree(kring[i].buf, kring[i].len); + if (kring) { + for(i = kringsize; i--; ) + zfree(kring[i].buf, kring[i].len); + zfree(kring, kringsize * sizeof(struct cutbuffer)); + } for(i = 35; i--; ) zfree(vibuf[i].buf, vibuf[i].len); |