]> Sergey Matveev's repositories - schwabrak.git/blobdiff - comment
I use print everywhere here
[schwabrak.git] / comment
diff --git a/comment b/comment
index a2fc9e4193cd891d6e79d5e9b13cdbf589516d6fd1805b401cca25c58d3ccf79..09025ea9cb0df4134a007aebae49fb19ee434375c918103a8bba3c9d14416a04 100755 (executable)
--- a/comment
+++ b/comment
@@ -11,15 +11,20 @@ usage() {
 issue=${1#issues/}
 comment=issues/$issue/comment
 
-$PERL -i -npe 's/^/# /' $comment
+local tmp=`mktemp`
+trap "rm -f $tmp" HUP PIPE INT QUIT TERM EXIT
+{ $PERL -npe 's/^/# /' <$comment ; print } >$tmp
 zmodload -F zsh/stat b:zstat
-zstat -A ctimePrev +ctime $comment
-$EDITOR $comment
-zstat -A ctime +ctime $comment
+zstat -A ctimePrev +ctime $tmp
+$EDITOR $tmp
+zstat -A ctime +ctime $tmp
 [[ $ctime != $ctimePrev ]] || {
-    echo Aborting comment >&2
-    $PERL -i -npe 's/^# //' $comment
+    print Aborting comment >&2
     exit 0
 }
-$PERL -i -ne 'print if $can; if (/^$/) { $can=1 };' $comment
+if [[ -s $comment ]]; then
+    $PERL -ne 'print if $can; if (/^$/) { $can=1 };' <$tmp >$comment
+else
+    cat <$tmp >$comment
+fi
 git add $comment