cpython/Modules
Greg Price 9ece4a5057 Unmark files as executable that can't actually be executed. (GH-15353)
There are plenty of legitimate scripts in the tree that begin with a
`#!`, but also a few that seem to be marked executable by mistake.

Found them with this command -- it gets executable files known to Git,
filters to the ones that don't start with a `#!`, and then unmarks
them as executable:

    $ git ls-files --stage \
      | perl -lane 'print $F[3] if (!/^100644/)' \
      | while read f; do
          head -c2 "$f" | grep -qxF '#!' \
          || chmod a-x "$f"; \
        done

Looking at the list by hand confirms that we didn't sweep up any
files that should have the executable bit after all.  In particular

 * The `.psd` files are images from Photoshop.

 * The `.bat` files sure look like things that can be run.
   But we have lots of other `.bat` files, and they don't have
   this bit set, so it must not be needed for them.



Automerge-Triggered-By: @benjaminp
2019-08-20 21:53:59 -07:00
..
_blake2
_ctypes
_decimal Unmark files as executable that can't actually be executed. (GH-15353) 2019-08-20 21:53:59 -07:00
_io
_multiprocessing
_sha3
_sqlite
_ssl
_xxtestfuzz
cjkcodecs
clinic
expat
README
Setup
_abc.c
_asynciomodule.c
_bisectmodule.c
_bz2module.c
_codecsmodule.c
_collectionsmodule.c
_contextvarsmodule.c
_cryptmodule.c
_csv.c
_curses_panel.c
_cursesmodule.c
_datetimemodule.c
_dbmmodule.c
_elementtree.c
_functoolsmodule.c
_gdbmmodule.c
_hashopenssl.c
_heapqmodule.c
_json.c
_localemodule.c
_lsprof.c
_lzmamodule.c
_math.c
_math.h
_opcode.c
_operator.c
_pickle.c
_posixsubprocess.c
_queuemodule.c
_randommodule.c
_scproxy.c
_sre.c
_ssl.c
_ssl_data.h
_stat.c
_struct.c
_testbuffer.c
_testcapimodule.c Unmark files as executable that can't actually be executed. (GH-15353) 2019-08-20 21:53:59 -07:00
_testimportmultiple.c
_testinternalcapi.c
_testmultiphase.c
_threadmodule.c
_tkinter.c
_tracemalloc.c
_uuidmodule.c
_weakref.c
_winapi.c
_xxsubinterpretersmodule.c
addrinfo.h
arraymodule.c
atexitmodule.c
audioop.c
binascii.c
cmathmodule.c
config.c.in
errnomodule.c
faulthandler.c
fcntlmodule.c
gc_weakref.txt
gcmodule.c
getaddrinfo.c
getbuildinfo.c
getnameinfo.c
getpath.c
grpmodule.c
hashlib.h
hashtable.c
hashtable.h
itertoolsmodule.c
ld_so_aix.in
main.c
makesetup
makexp_aix
mathmodule.c
md5module.c
mmapmodule.c
nismodule.c
ossaudiodev.c
overlapped.c
parsermodule.c
posixmodule.c
posixmodule.h
pwdmodule.c
pyexpat.c
readline.c
resource.c
rotatingtree.c
rotatingtree.h
selectmodule.c
sha1module.c
sha256module.c
sha512module.c
signalmodule.c
socketmodule.c Unmark files as executable that can't actually be executed. (GH-15353) 2019-08-20 21:53:59 -07:00
socketmodule.h Unmark files as executable that can't actually be executed. (GH-15353) 2019-08-20 21:53:59 -07:00
spwdmodule.c
sre.h
sre_constants.h
sre_lib.h
symtablemodule.c
syslogmodule.c
termios.c
testcapi_long.h
timemodule.c
tkappinit.c
tkinter.h
unicodedata.c
unicodedata_db.h
unicodename_db.h
winreparse.h
xxlimited.c
xxmodule.c
xxsubtype.c
zlibmodule.c

README

Source files for standard library extension modules,
and former extension modules that are now builtin modules.