in reply to File test in grep not excluding current directory

The preprocess function and grep work correctly. The problem is the current directory is processed once before the preprocess function is called - you can verify by adding a debug print
preprocess => sub { print "preprocessing [@_]"; return grep -f $_ && -M _ < 1, @_ }
لսႽ† ᥲᥒ⚪⟊Ⴙᘓᖇ Ꮅᘓᖇ⎱ Ⴙᥲ𝇋ƙᘓᖇ