summaryrefslogtreecommitdiff
path: root/Functions
diff options
context:
space:
mode:
Diffstat (limited to 'Functions')
-rw-r--r--Functions/TCP/tcp_spam4
-rw-r--r--Functions/Zle/transpose-words-match14
2 files changed, 15 insertions, 3 deletions
diff --git a/Functions/TCP/tcp_spam b/Functions/TCP/tcp_spam
index b516ebaa2..bafe269b9 100644
--- a/Functions/TCP/tcp_spam
+++ b/Functions/TCP/tcp_spam
@@ -75,6 +75,10 @@ if (( ! ${#sessions} )); then
print "No connections to spam." >&2
return 1
fi
+if (( ! $# )); then
+ print "No commands given." >&2
+ return 1
+fi
if [[ -n $transmit ]]; then
cmd=tcp_send
diff --git a/Functions/Zle/transpose-words-match b/Functions/Zle/transpose-words-match
index 52891b6ac..6fb60a01d 100644
--- a/Functions/Zle/transpose-words-match
+++ b/Functions/Zle/transpose-words-match
@@ -15,16 +15,24 @@ autoload match-words-by-style
local curcontext=":zle:$WIDGET" skip
local -a matched_words
-integer count=${NUMERIC:-1}
+integer count=${NUMERIC:-1} neg
+
+(( count < 0 )) && (( count = -count, neg = 1 ))
while (( count-- > 0 )); do
match-words-by-style
[[ -z "$matched_words[2]$matched_words[5]" ]] && return 1
- LBUFFER="$matched_words[1]$matched_words[5]${(j..)matched_words[3,4]}\
+ if (( neg )); then
+ LBUFFER="$matched_words[1]"
+ RBUFFER="$matched_words[5]${(j..)matched_words[3,4]}\
+$matched_words[2]${(j..)matched_words[6,7]}"
+ else
+ LBUFFER="$matched_words[1]$matched_words[5]${(j..)matched_words[3,4]}\
$matched_words[2]"
- RBUFFER="${(j..)matched_words[6,7]}"
+ RBUFFER="${(j..)matched_words[6,7]}"
+ fi
done