-# 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 cvsdiffi { cvs diff "$@" 2>&1|grep -v '^?'|less; }; export -f cvsdiffi
-function cvsupdate { cvs update "$@" 2>&1| 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
- j="`echo "$i"|sed 's,CVS/Entries$,,'`"
- sed -n 's,^/\([^/]*\)/[^-].*$,'"$j"'\1,p' <$i
- done \
- | sed 's%^\./%%'
- }; export -f cvsfiles
-function cvsignore {
- for i in `find . -name .cvsignore`;do
- j="`echo "$i"|sed 's,\.cvsignore$,,'`"
- sed -n 's,^.*$,'"$j"'&,p' <$i
- done
- }; export -f cvsignore
-function cvsignorerm { cvsignore | xargs rm -f; }; export -f cvsignorerm
+# Force strcoll() to sort case-sensitively! (empty/undef doesn't work)
+export LC_COLLATE=C
+
+function cvsdiff { cvs diff "$@" 2>&1|pipebuf -q| less; }; export -f cvsdiff
+function cvsdiffi { cvs diff "$@" 2>&1|pipebuf -q|grep -v '^?'|less; }; export -f cvsdiffi
+function cvsupdate { cvs update "$@" 2>&1|pipebuf -q| less; }; export -f cvsupdate
+function cvsupdatei { cvs update "$@" 2>&1|pipebuf -q|grep -v '^?'|less; }; export -f cvsupdatei