petdance/ack — pull request #262 by john-peterson (2013-07-14 02:38:34+00:00)
Title: Changing standard input detection from fstat to istty

## `-t` not supported in MSYS

### Problem

`-t` isn't supported in MSYS

This is a problem because

* it's useful to pipe input to `ack`

## `-t` not detecing `S_ISREG`

`-t` doesn't detect the `fstat` mode `S_ISREG`

This is a problem because

* it's useful to redirect input to `ack` with `ack < input.txt`

## Test

The output from

echo test > input.txt

perl -e 'print "" . (-p STDIN) ? 1 : 0 . "\n"'
echo test | perl -e 'print "" . (-p STDIN) ? 1 : 0 . "\n"'
cat input.txt | perl -e 'print "" . (-p STDIN) ? 1 : 0 . "\n"'
perl -e 'print "" . (-p STDIN) ? 1 : 0 . "\n"' < input.txt

perl -e 'print "" . (not -t STDIN) ? 1 : 0 . "\n"'
echo test | perl -e 'print "" . (not -t STDIN) ? 1 : 0 . "\n"'
cat input.txt | perl -e 'print "" . (not -t STDIN) ? 1 : 0 . "\n"'
perl -e 'print "" . (not -t STDIN) ? 1 : 0 . "\n"' < input.txt

is

uname -a
Linux ubuntu 3.8.0-23-generic #34-Ubuntu SMP Wed May 29 20:22:58 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
perl --version
This is perl 5, version 14, subversion 2 (v5.14.2) built for x86_64-linux-gnu-thread-multi
0
1
1
0

0
1
1
1

uname -a
CYGWIN_NT-6.1-WOW64 pc 1.7.18(0.263/5/3) 2013-04-19 10:39 i686 Cygwin
perl --version
This is perl 5, version 14, subversion 2 (v5.14.2) built for cygwin-thread-multi-64int
0
1
1
0

0
1
1
1

uname -a
MSYS_NT-6.1 PC 1.0.18(0.48/3/2) 2012-11-21 22:34 i686 Msys
perl --version
This is perl, v5.8.8 built for msys-64int
0
0
0
0

0
1
1
1