On Wed, Nov 02, 2016 at 05:04:15PM +0000, Torsten Bögershausen wrote: > > * ls/filter-process (2016-10-17) 14 commits > > (merged to 'next' on 2016-10-19 at ffd0de042c) > > Some (late, as I recently got a new battery for the Mac OS 10.6 test system) > comments: > t0021 failes here: > > > Can't locate object method "flush" via package "IO::Handle" at /Users/tb/projects/git/git.next/t/t0021/rot13-filter.pl line 90. > fatal: The remote end hung up unexpectedly > > > perl itself is 5.10 and we use the one shipped with Mac OS. Wow, haven't seen that bug in a while[1]. The problem is that STDIN is a filehandle object, but older versions of perl do not automatically load IO::Handle to get all of the methods. This was fixed in perl 5.13. We can work around it with: use IO::Handle; at the top of the script. That should work everywhere, as IO::Handle has been part of the core system for ages. But another option would be to just turn on autoflush, with: $| = 1; at the top of the script (though it looks like we flush $debug, too, so we'd probably need to "select $debug; $| = 1" there, too). The "use" command is preferable IMHO. > Why that ? > t0021 uses the hard-coded path: > t0021/rot13-filter.pl (around line 345) and the nice macro > PERL_PATH from the Makefile is fully ignored. Yeah, we should be using PERL_PATH. Doing so inside the filter config value is probably a pain due to shell quoting issues. But we could use write_script() to get a local copy. I'll see if I can work up a patch. -Peff [1] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=261953