Workarounded function cvsdiff & cvsupdate to not to break on EAGAIN during "|less"
[nethome.git] / .bashrc
diff --git a/.bashrc b/.bashrc
index 3e0bb86..eca975d 100644 (file)
--- a/.bashrc
+++ b/.bashrc
@@ -58,9 +58,9 @@ export GREP_OPTIONS="--binary-files=without-match --directories=skip"
 # even when LANG is set to "en_US" it is lethal - strcoll() starts to sort case-insensitively!
 unset LANG
 
-function cvsdiff    { cvs diff   "$@" 2>&1|             less; }; export -f cvsdiff
+function cvsdiff    { cvs diff   "$@" 2>&1|cat         |less; }; export -f cvsdiff
 function cvsdiffi   { cvs diff   "$@" 2>&1|grep -v '^?'|less; }; export -f cvsdiffi
-function cvsupdate  { cvs update "$@" 2>&1|             less; }; export -f cvsupdate
+function cvsupdate  { cvs update "$@" 2>&1|cat         |less; }; export -f cvsupdate
 function cvsupdatei { cvs update "$@" 2>&1|grep -v '^?'|less; }; export -f cvsupdatei
 function cvsfiles {
        for i in `find . -name Entries|grep '/CVS/Entries$'`;do
@@ -82,6 +82,11 @@ function ulimitme { ulimit -m 100000 -d 150000 -v 200000; }; export -f ulimitme
 function grep { ( ulimitme; `which grep` "$@"; ); }; export -f grep
 function rsync { `which rsync` -v -e ssh --progress --stats --partial "$@"; }; export -f rsync
 function tohex { od -An -txC /tmp/out|tr -d '\n '|tr 'a-f' 'A-F';echo; }; export -f tohex
+function edall {
+       find -type f|while read -r i;do
+               (awk </dev/null 'BEGIN{ for (i=1;i<ARGC;i++) print ARGV[i]; }' "$@";echo -e 'w\nq')|ed -s "$i"
+               done
+       }; export -f edall
 
 ulimit -c 0