function uri_escape { perl -MURI::Escape -le '$_=<>;chomp;print uri_escape $_;'; };
function uri_unescape { perl -MURI::Escape -le '$_=<>;chomp;print uri_unescape $_;'; };
if which ionice &>/dev/null;then
function uri_escape { perl -MURI::Escape -le '$_=<>;chomp;print uri_escape $_;'; };
function uri_unescape { perl -MURI::Escape -le '$_=<>;chomp;print uri_unescape $_;'; };
if which ionice &>/dev/null;then
-function valgrind {(unset valgrind;s=~/.python.valgrind;perl -e 'undef $/;$_=<>;1 while s/^(?:###)?({\n)(?:###)?( *ADDRESS_IN_RANGE.*\n(?:[^}#].*\n)*)###/$1$2/gm;print;' </usr/share/doc/python-devel-2.*/valgrind-python.supp >$s;valgrind --suppressions=$s "$@";);}
-function yumupdate { yum makecache;yum -y --skip-broken update; }
+function valgrind {(set -e;unset valgrind;s=~/.python.valgrind;rm -f $s;cp -p /usr/share/doc/python-devel-2.*/valgrind-python.supp $s;patch $s <$s.patch;perl -i -e 'undef $/;$_=<>;1 while s/^(?:###)?({\n)(?:###)?( *ADDRESS_IN_RANGE.*\n(?:[^}#].*\n)*)###/$1$2/gm;print;' $s;valgrind --suppressions=$s "$@";);}
+function yumupdate {(ulimit -v unlimited;yum makecache;yum -y --skip-broken update "$@";);}