]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
bpo-45873: Restore Python 3.6 compatibility (GH-29730)
authorChristian Heimes <christian@python.org>
Tue, 23 Nov 2021 20:36:40 +0000 (22:36 +0200)
committerGitHub <noreply@github.com>
Tue, 23 Nov 2021 20:36:40 +0000 (21:36 +0100)
Co-authored-by: Guido van Rossum <gvanrossum@gmail.com>
Tools/scripts/deepfreeze.py
configure
configure.ac

index b840c4b51d73a37698d9ca0f37add58c55d69f28..e51a408ae7f6acaa0c7eaa03a95ed6755894327a 100644 (file)
@@ -5,8 +5,10 @@ import collections
 import contextlib
 import os
 import re
+import sys
 import time
 import types
+import unicodedata
 from typing import Dict, FrozenSet, Tuple, TextIO
 
 import umarshal
@@ -14,9 +16,13 @@ import umarshal
 verbose = False
 
 
+def isprintable(b: bytes) -> bool:
+    return all(0x20 <= c < 0x7f for c in b)
+
+
 def make_string_literal(b: bytes) -> str:
     res = ['"']
-    if b.isascii() and b.decode("ascii").isprintable():
+    if isprintable(b):
         res.append(b.decode("ascii").replace("\\", "\\\\").replace("\"", "\\\""))
     else:
         for i in b:
index 0684921f41a42f309401ea65790b5e6ea4b18500..711b6d2805f16d784a79f22cc2f92344687bd344 100755 (executable)
--- a/configure
+++ b/configure
@@ -3142,7 +3142,7 @@ case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
 # pybuilddir.txt will be created by --generate-posix-vars in the Makefile
 rm -f pybuilddir.txt
 
-for ac_prog in python$PACKAGE_VERSION python3 python
+for ac_prog in python$PACKAGE_VERSION python3.10 python3.9 python3.8 python3.7 python3.6 python3 python
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
@@ -3187,6 +3187,16 @@ test -n "$PYTHON_FOR_REGEN" || PYTHON_FOR_REGEN="python3"
 
 
 
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking Python for regen version" >&5
+$as_echo_n "checking Python for regen version... " >&6; }
+if command -v $PYTHON_FOR_REGEN >/dev/null 2>&1; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $($PYTHON_FOR_REGEN -V 2>/dev/null)" >&5
+$as_echo "$($PYTHON_FOR_REGEN -V 2>/dev/null)" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: missing" >&5
+$as_echo "missing" >&6; }
+fi
+
 if test "$cross_compiling" = yes; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for python interpreter for cross build" >&5
 $as_echo_n "checking for python interpreter for cross build... " >&6; }
index ba22418b40694be5956fc957550e941e1fbf14b0..e539d3bb87d66274c6c8f6c0fb21ee3492bd9978 100644 (file)
@@ -96,9 +96,18 @@ AC_SUBST(host)
 # pybuilddir.txt will be created by --generate-posix-vars in the Makefile
 rm -f pybuilddir.txt
 
-AC_CHECK_PROGS(PYTHON_FOR_REGEN, python$PACKAGE_VERSION python3 python, python3)
+AC_CHECK_PROGS([PYTHON_FOR_REGEN],
+  [python$PACKAGE_VERSION python3.10 python3.9 python3.8 python3.7 python3.6 python3 python],
+  [python3])
 AC_SUBST(PYTHON_FOR_REGEN)
 
+AC_MSG_CHECKING([Python for regen version])
+if command -v $PYTHON_FOR_REGEN >/dev/null 2>&1; then
+  AC_MSG_RESULT([$($PYTHON_FOR_REGEN -V 2>/dev/null)])
+else
+  AC_MSG_RESULT([missing])
+fi
+
 if test "$cross_compiling" = yes; then
     AC_MSG_CHECKING([for python interpreter for cross build])
     if test -z "$PYTHON_FOR_BUILD"; then