[2.7] bpo-27425: Be more explicit in .gitattributes (GH-840) (GH-2086)

Also updates checked-in line endings in several files.
diff --git a/Tools/buildbot/build-amd64.bat b/Tools/buildbot/build-amd64.bat
index f77407b..ab4231e 100644
--- a/Tools/buildbot/build-amd64.bat
+++ b/Tools/buildbot/build-amd64.bat
@@ -1,5 +1,5 @@
-@rem Formerly used by the buildbot "compile" step.

-@echo This script is no longer used and may be removed in the future.

-@echo To get the same effect as this script, use

-@echo     PCbuild\build.bat -d -e -k -p x64

-call "%~dp0build.bat" -p x64 %*

+@rem Formerly used by the buildbot "compile" step.
+@echo This script is no longer used and may be removed in the future.
+@echo To get the same effect as this script, use
+@echo     PCbuild\build.bat -d -e -k -p x64
+call "%~dp0build.bat" -p x64 %*
diff --git a/Tools/buildbot/build.bat b/Tools/buildbot/build.bat
index 3d825fe..a077942 100644
--- a/Tools/buildbot/build.bat
+++ b/Tools/buildbot/build.bat
@@ -1,18 +1,18 @@
-@rem Used by the buildbot "compile" step.

-@setlocal

-

-@rem Clean up

-call "%~dp0clean.bat" %*

-

-@rem If you need the buildbots to start fresh (such as when upgrading to

-@rem a new version of an external library, especially Tcl/Tk):

-@rem 1) uncomment the following line:

-

-@rem    call "%~dp0..\..\PCbuild\get_externals.bat" --clean-only

-

-@rem 2) commit and push

-@rem 3) wait for all Windows bots to start a build with that changeset

-@rem 4) re-comment, commit and push again

-

-@rem Do the build

-call "%~dp0..\..\PCbuild\build.bat" -v -e -d -k %*

+@rem Used by the buildbot "compile" step.
+@setlocal
+
+@rem Clean up
+call "%~dp0clean.bat" %*
+
+@rem If you need the buildbots to start fresh (such as when upgrading to
+@rem a new version of an external library, especially Tcl/Tk):
+@rem 1) uncomment the following line:
+
+@rem    call "%~dp0..\..\PCbuild\get_externals.bat" --clean-only
+
+@rem 2) commit and push
+@rem 3) wait for all Windows bots to start a build with that changeset
+@rem 4) re-comment, commit and push again
+
+@rem Do the build
+call "%~dp0..\..\PCbuild\build.bat" -v -e -d -k %*
diff --git a/Tools/buildbot/buildmsi.bat b/Tools/buildbot/buildmsi.bat
index b4f63dc..a0f43a6 100644
--- a/Tools/buildbot/buildmsi.bat
+++ b/Tools/buildbot/buildmsi.bat
@@ -1,20 +1,20 @@
-@rem Used by the buildbot "buildmsi" step.

-

-cmd /c Tools\buildbot\external.bat

-@rem build release versions of things

-call "%VS90COMNTOOLS%vsvars32.bat"

-

-@rem build Python

-vcbuild /useenv PCbuild\pcbuild.sln "Release|Win32"

-

-@rem build the documentation

-bash.exe -c 'cd Doc;make PYTHON=python2.5 update htmlhelp'

-"%ProgramFiles%\HTML Help Workshop\hhc.exe" Doc\build\htmlhelp\python26a3.hhp

-

-@rem build the MSI file

-cd PC

-nmake /f icons.mak

-cd ..\Tools\msi

-del *.msi

-nmake /f msisupport.mak

-%HOST_PYTHON% msi.py

+@rem Used by the buildbot "buildmsi" step.
+
+cmd /c Tools\buildbot\external.bat
+@rem build release versions of things
+call "%VS90COMNTOOLS%vsvars32.bat"
+
+@rem build Python
+vcbuild /useenv PCbuild\pcbuild.sln "Release|Win32"
+
+@rem build the documentation
+bash.exe -c 'cd Doc;make PYTHON=python2.5 update htmlhelp'
+"%ProgramFiles%\HTML Help Workshop\hhc.exe" Doc\build\htmlhelp\python26a3.hhp
+
+@rem build the MSI file
+cd PC
+nmake /f icons.mak
+cd ..\Tools\msi
+del *.msi
+nmake /f msisupport.mak
+%HOST_PYTHON% msi.py
diff --git a/Tools/buildbot/clean-amd64.bat b/Tools/buildbot/clean-amd64.bat
index b53c7c1..a0d4b07 100644
--- a/Tools/buildbot/clean-amd64.bat
+++ b/Tools/buildbot/clean-amd64.bat
@@ -1,5 +1,5 @@
-@rem Formerly used by the buildbot "clean" step.

-@echo This script is no longer used and may be removed in the future.

-@echo To get the same effect as this script, use `clean.bat` from this

-@echo directory and pass `-p x64` as two arguments.

-call "%~dp0clean.bat" -p x64 %*

+@rem Formerly used by the buildbot "clean" step.
+@echo This script is no longer used and may be removed in the future.
+@echo To get the same effect as this script, use `clean.bat` from this
+@echo directory and pass `-p x64` as two arguments.
+call "%~dp0clean.bat" -p x64 %*
diff --git a/Tools/buildbot/clean.bat b/Tools/buildbot/clean.bat
index 0fc68fd..c2efd5b 100644
--- a/Tools/buildbot/clean.bat
+++ b/Tools/buildbot/clean.bat
@@ -1,16 +1,16 @@
-@echo off

-rem Used by the buildbot "clean" step.

-

-setlocal

-set root=%~dp0..\..

-set pcbuild=%root%\PCbuild

-

-echo Deleting build

-call "%pcbuild%\build.bat" -t Clean -k %*

-call "%pcbuild%\build.bat" -t Clean -k -d %*

-

-echo Deleting .pyc/.pyo files ...

-del /s "%root%\Lib\*.pyc" "%root%\Lib\*.pyo"

-

-echo Deleting test leftovers ...

-rmdir /s /q "%root%\build"

+@echo off
+rem Used by the buildbot "clean" step.
+
+setlocal
+set root=%~dp0..\..
+set pcbuild=%root%\PCbuild
+
+echo Deleting build
+call "%pcbuild%\build.bat" -t Clean -k %*
+call "%pcbuild%\build.bat" -t Clean -k -d %*
+
+echo Deleting .pyc/.pyo files ...
+del /s "%root%\Lib\*.pyc" "%root%\Lib\*.pyo"
+
+echo Deleting test leftovers ...
+rmdir /s /q "%root%\build"
diff --git a/Tools/buildbot/external-amd64.bat b/Tools/buildbot/external-amd64.bat
index bfaef05..1a67b0f 100644
--- a/Tools/buildbot/external-amd64.bat
+++ b/Tools/buildbot/external-amd64.bat
@@ -1,3 +1,3 @@
-@echo This script is no longer used and may be removed in the future.

-@echo Please use PCbuild\get_externals.bat instead.

-@"%~dp0..\..\PCbuild\get_externals.bat" %*

+@echo This script is no longer used and may be removed in the future.
+@echo Please use PCbuild\get_externals.bat instead.
+@"%~dp0..\..\PCbuild\get_externals.bat" %*
diff --git a/Tools/buildbot/external.bat b/Tools/buildbot/external.bat
index bfaef05..1a67b0f 100644
--- a/Tools/buildbot/external.bat
+++ b/Tools/buildbot/external.bat
@@ -1,3 +1,3 @@
-@echo This script is no longer used and may be removed in the future.

-@echo Please use PCbuild\get_externals.bat instead.

-@"%~dp0..\..\PCbuild\get_externals.bat" %*

+@echo This script is no longer used and may be removed in the future.
+@echo Please use PCbuild\get_externals.bat instead.
+@"%~dp0..\..\PCbuild\get_externals.bat" %*
diff --git a/Tools/buildbot/test-amd64.bat b/Tools/buildbot/test-amd64.bat
index e48329c..f994d2d 100644
--- a/Tools/buildbot/test-amd64.bat
+++ b/Tools/buildbot/test-amd64.bat
@@ -1,6 +1,6 @@
-@rem Formerly used by the buildbot "test" step.

-@echo This script is no longer used and may be removed in the future.

-@echo To get the same effect as this script, use

-@echo     PCbuild\rt.bat -q -d -x64 -uall -rwW

-@echo or use `test.bat` in this directory and pass `-x64` as an argument.

-call "%~dp0test.bat" -x64 %*

+@rem Formerly used by the buildbot "test" step.
+@echo This script is no longer used and may be removed in the future.
+@echo To get the same effect as this script, use
+@echo     PCbuild\rt.bat -q -d -x64 -uall -rwW
+@echo or use `test.bat` in this directory and pass `-x64` as an argument.
+call "%~dp0test.bat" -x64 %*
diff --git a/Tools/buildbot/test.bat b/Tools/buildbot/test.bat
index b9dde01..13541e0 100644
--- a/Tools/buildbot/test.bat
+++ b/Tools/buildbot/test.bat
@@ -1,19 +1,19 @@
-@echo off

-rem Used by the buildbot "test" step.

-setlocal

-

-set here=%~dp0

-set rt_opts=-q -d

-set regrtest_args=

-

-:CheckOpts

-if "%1"=="-x64" (set rt_opts=%rt_opts% %1) & shift & goto CheckOpts

-if "%1"=="-d" (set rt_opts=%rt_opts% %1) & shift & goto CheckOpts

-if "%1"=="-O" (set rt_opts=%rt_opts% %1) & shift & goto CheckOpts

-if "%1"=="-q" (set rt_opts=%rt_opts% %1) & shift & goto CheckOpts

-if "%1"=="+d" (set rt_opts=%rt_opts:-d=%) & shift & goto CheckOpts

-if "%1"=="+q" (set rt_opts=%rt_opts:-q=%) & shift & goto CheckOpts

-if NOT "%1"=="" (set regrtest_args=%regrtest_args% %1) & shift & goto CheckOpts

-

-echo on

-call "%here%..\..\PCbuild\rt.bat" %rt_opts% -uall -rwW %regrtest_args%

+@echo off
+rem Used by the buildbot "test" step.
+setlocal
+
+set here=%~dp0
+set rt_opts=-q -d
+set regrtest_args=
+
+:CheckOpts
+if "%1"=="-x64" (set rt_opts=%rt_opts% %1) & shift & goto CheckOpts
+if "%1"=="-d" (set rt_opts=%rt_opts% %1) & shift & goto CheckOpts
+if "%1"=="-O" (set rt_opts=%rt_opts% %1) & shift & goto CheckOpts
+if "%1"=="-q" (set rt_opts=%rt_opts% %1) & shift & goto CheckOpts
+if "%1"=="+d" (set rt_opts=%rt_opts:-d=%) & shift & goto CheckOpts
+if "%1"=="+q" (set rt_opts=%rt_opts:-q=%) & shift & goto CheckOpts
+if NOT "%1"=="" (set regrtest_args=%regrtest_args% %1) & shift & goto CheckOpts
+
+echo on
+call "%here%..\..\PCbuild\rt.bat" %rt_opts% -uall -rwW %regrtest_args%
diff --git a/Tools/nuget/build.bat b/Tools/nuget/build.bat
index 3c953f7..7dcaa25 100644
--- a/Tools/nuget/build.bat
+++ b/Tools/nuget/build.bat
@@ -1,63 +1,63 @@
-@echo off

-setlocal

-set D=%~dp0

-set PCBUILD=%D%..\..\PCBuild\

-

-set BUILDX86=

-set BUILDX64=

-set REBUILD=

-set OUTPUT=

-set PACKAGES=

-

-:CheckOpts

-if "%~1" EQU "-h" goto Help

-if "%~1" EQU "-x86" (set BUILDX86=1) && shift && goto CheckOpts

-if "%~1" EQU "-x64" (set BUILDX64=1) && shift && goto CheckOpts

-if "%~1" EQU "-r" (set REBUILD=-r) && shift && goto CheckOpts

-if "%~1" EQU "-o" (set OUTPUT="/p:OutputPath=%~2") && shift && shift && goto CheckOpts

-if "%~1" EQU "--out" (set OUTPUT="/p:OutputPath=%~2") && shift && shift && goto CheckOpts

-if "%~1" EQU "-p" (set PACKAGES=%PACKAGES% %~2) && shift && shift && goto CheckOpts

-

-if not defined BUILDX86 if not defined BUILDX64 (set BUILDX86=1) && (set BUILDX64=1)

-

-if not defined NUGET where nuget -q || echo Cannot find nuget.exe on PATH and NUGET is not set. && exit /B 1

-if not defined PYTHON set PYTHON=py -3

-

-@%PYTHON% -c "" >nul 2>nul

-@if errorlevel 1 (

-    %NUGET% install python -OutputDirectory "%D%obj" -ExcludeVersion -NonInteractive

-    set PYTHON="%D%obj\python\tools\python.exe"

-)

-

-call "%PCBUILD%env.bat" x86

-

-if defined PACKAGES set PACKAGES="/p:Packages=%PACKAGES%"

-

-if defined BUILDX86 (

-    if defined REBUILD ( call "%PCBUILD%build.bat" -e -r

-    ) else if not exist "%PCBUILD%python.exe" call "%PCBUILD%build.bat" -e

-    if errorlevel 1 goto :eof

-

-    msbuild "%D%make_pkg.proj" /p:Configuration=Release /p:Platform=x86 %OUTPUT% %PACKAGES%

-    if errorlevel 1 goto :eof

-)

-

-if defined BUILDX64 (

-    if defined REBUILD ( call "%PCBUILD%build.bat" -p x64 -e -r

-    ) else if not exist "%PCBUILD%amd64\python.exe" call "%PCBUILD%build.bat" -p x64 -e

-    if errorlevel 1 goto :eof

-

-    msbuild "%D%make_pkg.proj" /p:Configuration=Release /p:Platform=x64 %OUTPUT% %PACKAGES%

-    if errorlevel 1 goto :eof

-)

-

-exit /B 0

-

-:Help

-echo build.bat [-x86] [-x64] [--out DIR] [-r] [-h]

-echo.

-echo    -x86                Build x86 installers

-echo    -x64                Build x64 installers

-echo    -r                  Rebuild rather than incremental build

-echo    --out [DIR]         Override output directory

-echo    -h                  Show usage

+@echo off
+setlocal
+set D=%~dp0
+set PCBUILD=%D%..\..\PCBuild\
+
+set BUILDX86=
+set BUILDX64=
+set REBUILD=
+set OUTPUT=
+set PACKAGES=
+
+:CheckOpts
+if "%~1" EQU "-h" goto Help
+if "%~1" EQU "-x86" (set BUILDX86=1) && shift && goto CheckOpts
+if "%~1" EQU "-x64" (set BUILDX64=1) && shift && goto CheckOpts
+if "%~1" EQU "-r" (set REBUILD=-r) && shift && goto CheckOpts
+if "%~1" EQU "-o" (set OUTPUT="/p:OutputPath=%~2") && shift && shift && goto CheckOpts
+if "%~1" EQU "--out" (set OUTPUT="/p:OutputPath=%~2") && shift && shift && goto CheckOpts
+if "%~1" EQU "-p" (set PACKAGES=%PACKAGES% %~2) && shift && shift && goto CheckOpts
+
+if not defined BUILDX86 if not defined BUILDX64 (set BUILDX86=1) && (set BUILDX64=1)
+
+if not defined NUGET where nuget -q || echo Cannot find nuget.exe on PATH and NUGET is not set. && exit /B 1
+if not defined PYTHON set PYTHON=py -3
+
+@%PYTHON% -c "" >nul 2>nul
+@if errorlevel 1 (
+    %NUGET% install python -OutputDirectory "%D%obj" -ExcludeVersion -NonInteractive
+    set PYTHON="%D%obj\python\tools\python.exe"
+)
+
+call "%PCBUILD%env.bat" x86
+
+if defined PACKAGES set PACKAGES="/p:Packages=%PACKAGES%"
+
+if defined BUILDX86 (
+    if defined REBUILD ( call "%PCBUILD%build.bat" -e -r
+    ) else if not exist "%PCBUILD%python.exe" call "%PCBUILD%build.bat" -e
+    if errorlevel 1 goto :eof
+
+    msbuild "%D%make_pkg.proj" /p:Configuration=Release /p:Platform=x86 %OUTPUT% %PACKAGES%
+    if errorlevel 1 goto :eof
+)
+
+if defined BUILDX64 (
+    if defined REBUILD ( call "%PCBUILD%build.bat" -p x64 -e -r
+    ) else if not exist "%PCBUILD%amd64\python.exe" call "%PCBUILD%build.bat" -p x64 -e
+    if errorlevel 1 goto :eof
+
+    msbuild "%D%make_pkg.proj" /p:Configuration=Release /p:Platform=x64 %OUTPUT% %PACKAGES%
+    if errorlevel 1 goto :eof
+)
+
+exit /B 0
+
+:Help
+echo build.bat [-x86] [-x64] [--out DIR] [-r] [-h]
+echo.
+echo    -x86                Build x86 installers
+echo    -x64                Build x64 installers
+echo    -r                  Rebuild rather than incremental build
+echo    --out [DIR]         Override output directory
+echo    -h                  Show usage
diff --git a/Tools/unicode/genwincodecs.bat b/Tools/unicode/genwincodecs.bat
index 6a6a671..2228d89 100644
--- a/Tools/unicode/genwincodecs.bat
+++ b/Tools/unicode/genwincodecs.bat
@@ -1,7 +1,7 @@
-@rem Recreate some python charmap codecs from the Windows function

-@rem MultiByteToWideChar.

-

-@cd /d %~dp0

-@mkdir build

-@rem Arabic DOS code page

-c:\python26\python genwincodec.py 720 > build/cp720.py

+@rem Recreate some python charmap codecs from the Windows function
+@rem MultiByteToWideChar.
+
+@cd /d %~dp0
+@mkdir build
+@rem Arabic DOS code page
+c:\python26\python genwincodec.py 720 > build/cp720.py