Skip to content

bpo-45759: Better error messages for non-matching 'elif'/'else' state… #29481

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
82 commits
Select commit Hold shift + click to select a range
efb00e6
bpo-45759: Better error messages for non-matching 'elif'/'else' state…
thatbirdguythatuknownot Nov 9, 2021
82120eb
bpo-45759: Better error messages for no-match 'elif'/'else' statement…
thatbirdguythatuknownot Nov 9, 2021
a349649
📜🤖 Added by blurb_it.
blurb-it[bot] Nov 9, 2021
d5fbe1d
bpo-45759: Better error messages for non-matching 'elif'/'else' state…
thatbirdguythatuknownot Nov 9, 2021
f1b3b92
bpo-45759: Better error messages for non-matching 'elif'/'else' state…
thatbirdguythatuknownot Nov 9, 2021
c9a9df4
bpo-45759: Better error messages for non-matching 'elif'/'else' state…
thatbirdguythatuknownot Nov 9, 2021
f7f1f52
bpo-45759: Better error messages for non-matching 'elif'/'else' state…
thatbirdguythatuknownot Nov 9, 2021
a03f389
bpo-45759: Better error messages for non-matching 'elif'/'else' state…
thatbirdguythatuknownot Nov 9, 2021
7b8eaa9
bpo-45759: Better error messages for non-matching 'elif'/'else' state…
thatbirdguythatuknownot Nov 9, 2021
8482969
bpo-45759: Better error messages for non-matching 'elif'/'else' state…
thatbirdguythatuknownot Nov 9, 2021
14c7059
bpo-45759: Better error messages for non-matching 'elif'/'else' state…
thatbirdguythatuknownot Nov 9, 2021
c663336
bpo-45759: Better error messages for non-matching 'elif'/'else' state…
thatbirdguythatuknownot Nov 9, 2021
2347abf
bpo-45759: Better error messages for non-matching 'elif'/'else' state…
thatbirdguythatuknownot Nov 9, 2021
92d6323
Update 2021-11-09-00-08-55.bpo-45759.ji7j-W.rst
thatbirdguythatuknownot Nov 9, 2021
3df6948
bpo-45759: Better error messages for non-matching 'elif'/'else' state…
thatbirdguythatuknownot Nov 9, 2021
16032ba
bpo-45759: Better error messages for non-matching 'elif'/'else' state…
thatbirdguythatuknownot Nov 9, 2021
c7c6b71
bpo-45759: Better error messages for non-matching 'elif'/'else' state…
thatbirdguythatuknownot Nov 9, 2021
d9f207f
bpo-45759: Better error messages for non-matching 'elif'/'else' state…
thatbirdguythatuknownot Nov 9, 2021
8868bcd
bpo-45759: Better error messages for non-matching 'elif'/'else' state…
thatbirdguythatuknownot Nov 9, 2021
6a710ad
bpo-45759: Better error messages for non-matching 'elif'/'else' state…
thatbirdguythatuknownot Nov 9, 2021
7c12736
bpo-45759: Better error messages for non-matching 'elif'/'else' state…
thatbirdguythatuknownot Nov 9, 2021
bdda2e0
bpo-45759: Better error messages for non-matching 'elif'/'else' state…
thatbirdguythatuknownot Nov 9, 2021
f97300e
bpo-45759: Better error messages for non-matching 'elif'/'else' state…
thatbirdguythatuknownot Nov 9, 2021
dcc98cc
bpo-45759: Better error messages for non-matching 'elif'/'else' state…
thatbirdguythatuknownot Nov 9, 2021
69c507f
bpo-45764: improve error message when missing '(' after 'def' (GH-29484)
thatbirdguythatuknownot Nov 9, 2021
db42a68
bpo-45743: -Wl,-search_paths_first is no longer needed (pythonGH-29464)
thatbirdguythatuknownot Nov 9, 2021
e5813de
bpo-45743: -Wl,-search_paths_first is no longer needed (pythonGH-29464)
thatbirdguythatuknownot Nov 9, 2021
4520d6d
bpo-45743: -Wl,-search_paths_first is no longer needed (pythonGH-29464)
thatbirdguythatuknownot Nov 9, 2021
979d455
bpo-45743: -Wl,-search_paths_first is no longer needed (pythonGH-29464)
thatbirdguythatuknownot Nov 9, 2021
6c1be0b
bpo-45743: Remove workaround for zlib CVE from 2002 (pythonGH-29457)
thatbirdguythatuknownot Nov 9, 2021
a1625e4
bpo-45637: Remove broken fallback in gdb helpers to obtain frame vari…
thatbirdguythatuknownot Nov 9, 2021
ba847f6
bpo-45637: Remove broken fallback in gdb helpers to obtain frame vari…
thatbirdguythatuknownot Nov 9, 2021
0d6b15c
bpo-45764: improve error message when missing '(' after 'def' (python…
thatbirdguythatuknownot Nov 9, 2021
eb0ac65
bpo-45764: improve error message when missing '(' after 'def' (python…
thatbirdguythatuknownot Nov 9, 2021
43dbd07
bpo-45764: improve error message when missing '(' after 'def' (python…
thatbirdguythatuknownot Nov 9, 2021
615f9c2
Update 2021-11-09-00-08-55.bpo-45759.ji7j-W.rst
thatbirdguythatuknownot Nov 9, 2021
7a66404
bpo-45759: Better error messages for non-matching 'elif'/'else' state…
thatbirdguythatuknownot Nov 9, 2021
13a53e5
bpo-45759: Better error messages for non-matching 'elif'/'else' state…
thatbirdguythatuknownot Nov 9, 2021
46bd6f4
bpo-45723: Remove obsolete AC_EXEEXT from configure.ac (pythonGH-29486)
thatbirdguythatuknownot Nov 9, 2021
00ce320
bpo-45723: Remove obsolete AC_EXEEXT from configure.ac (pythonGH-29486)
thatbirdguythatuknownot Nov 9, 2021
de1db78
bpo-45763: Detect compression build deps in configure (pythonGH-29483)
thatbirdguythatuknownot Nov 9, 2021
7f89dd0
bpo-45763: Detect compression build deps in configure (pythonGH-29483)
thatbirdguythatuknownot Nov 9, 2021
5719fbd
bpo-45763: Detect compression build deps in configure (pythonGH-29483)
thatbirdguythatuknownot Nov 9, 2021
a432138
bpo-45763: Detect compression build deps in configure (pythonGH-29483)
thatbirdguythatuknownot Nov 9, 2021
31b79f7
bpo-45763: Detect compression build deps in configure (pythonGH-29483)
thatbirdguythatuknownot Nov 9, 2021
f22b932
bpo-45763: Detect compression build deps in configure (pythonGH-29483)
thatbirdguythatuknownot Nov 9, 2021
123272a
Factor-out constant calculation. (pythonGH-29491)
thatbirdguythatuknownot Nov 9, 2021
ef7e611
Create 2021-11-08-21-53-11.bpo-45732.idl5kx.rst
thatbirdguythatuknownot Nov 9, 2021
ab18fc9
bpo-45732: Update bundled Tcl/Tk on Windows to 8.6.12 (pythonGH-29477)
thatbirdguythatuknownot Nov 9, 2021
5357954
bpo-45732: Update bundled Tcl/Tk on Windows to 8.6.12 (pythonGH-29477)
thatbirdguythatuknownot Nov 9, 2021
5e2c005
bpo-45757: Fix bug where dis produced an incorrect oparg on EXTENDED_…
thatbirdguythatuknownot Nov 9, 2021
e4a8c2b
bpo-45757: Fix bug where dis produced an incorrect oparg on EXTENDED_…
thatbirdguythatuknownot Nov 9, 2021
4449921
bpo-45757: Fix bug where dis produced an incorrect oparg on EXTENDED_…
thatbirdguythatuknownot Nov 9, 2021
2525eee
bpo-45220: Ensure RT_MANIFEST is defined when compiling Windows resou…
thatbirdguythatuknownot Nov 9, 2021
607daf1
bpo-45220: Ensure RT_MANIFEST is defined when compiling Windows resou…
thatbirdguythatuknownot Nov 9, 2021
a85b5ec
bpo-45220: Ensure RT_MANIFEST is defined when compiling Windows resou…
thatbirdguythatuknownot Nov 9, 2021
9cbccc5
bpo-45220: Ensure RT_MANIFEST is defined when compiling Windows resou…
thatbirdguythatuknownot Nov 9, 2021
23df11d
bpo-45220: Ensure RT_MANIFEST is defined when compiling Windows resou…
thatbirdguythatuknownot Nov 9, 2021
71e440a
bpo-45220: Ensure RT_MANIFEST is defined when compiling Windows resou…
thatbirdguythatuknownot Nov 9, 2021
be6e319
bpo-45723: Remove dead code for obsolete `--with-dyld` option (python…
thatbirdguythatuknownot Nov 9, 2021
30388b9
bpo-45723: Remove dead code for obsolete `--with-dyld` option (python…
thatbirdguythatuknownot Nov 9, 2021
4e91ea4
bpo-45701: Improve documentation for *typed* parameter (pythonGH-29498)
thatbirdguythatuknownot Nov 9, 2021
490cf0b
Fix conflicts
thatbirdguythatuknownot Nov 9, 2021
8b02638
Fix conflicts
thatbirdguythatuknownot Nov 9, 2021
71c259a
Fix conflicts
thatbirdguythatuknownot Nov 9, 2021
548373d
Fix conflicts
thatbirdguythatuknownot Nov 9, 2021
ccc4e43
Fix conflicts
thatbirdguythatuknownot Nov 9, 2021
44785e6
Fix conflicts
thatbirdguythatuknownot Nov 9, 2021
e937253
bpo-45723: Remove dead code for obsolete `--with-dyld` option (GH-29500)
thatbirdguythatuknownot Nov 9, 2021
4d96e49
Fix conflicts
thatbirdguythatuknownot Nov 9, 2021
86e565a
bpo-45723: Remove dead code for obsolete `--with-dyld` option (GH-29500)
thatbirdguythatuknownot Nov 9, 2021
ea4696f
Fix conflicts
thatbirdguythatuknownot Nov 9, 2021
3f7858a
bpo-45743: Remove workaround for zlib CVE from 2002 (pythonGH-29457)
thatbirdguythatuknownot Nov 9, 2021
a96134c
Fix conflicts
thatbirdguythatuknownot Nov 9, 2021
1cd5648
Fix conflicts
thatbirdguythatuknownot Nov 9, 2021
d519575
Fix conflicts
thatbirdguythatuknownot Nov 9, 2021
945245d
Fix conflicts
thatbirdguythatuknownot Nov 9, 2021
588293e
Fix conflicts
thatbirdguythatuknownot Nov 10, 2021
fa2d5c8
Fix conflicts
thatbirdguythatuknownot Nov 10, 2021
9c1ef13
Fix conflicts
thatbirdguythatuknownot Nov 10, 2021
f98e447
bpo-45759: Better error messages for non-matching 'elif'/'else' state…
thatbirdguythatuknownot Nov 10, 2021
b79248f
bpo-45759: Better error messages for non-matching 'elif'/'else' state…
thatbirdguythatuknownot Nov 10, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 10 additions & 4 deletions Doc/library/functools.rst
Original file line number Diff line number Diff line change
Expand Up @@ -160,10 +160,16 @@ The :mod:`functools` module defines the following functions:
grow without bound.

If *typed* is set to true, function arguments of different types will be
cached separately. For example, ``f(3)`` and ``f(3.0)`` will always be
treated as distinct calls with distinct results. If *typed* is false,
the implementation will usually but not always regard them as equivalent
calls and only cache a single result.
cached separately. If *typed* is false, the implementation will usually
regard them as equivalent calls and only cache a single result. (Some
types such as *str* and *int* may be cached separately even when *typed*
is false.)

Note, type specificity applies only to the function's immediate arguments
rather than their contents. The scalar arguments, ``Decimal(42)`` and
``Fraction(42)`` are be treated as distinct calls with distinct results.
In contrast, the tuple arguments ``('answer', Decimal(42))`` and
``('answer', Fraction(42))`` are treated as equivalent.

The wrapped function is instrumented with a :func:`cache_parameters`
function that returns a new :class:`dict` showing the values for *maxsize*
Expand Down
3 changes: 3 additions & 0 deletions Doc/whatsnew/3.11.rst
Original file line number Diff line number Diff line change
Expand Up @@ -524,6 +524,9 @@ Build Changes
(Contributed by Brett Cannon and Christian Heimes in :issue:`45548`,
:issue:`45570`, :issue:`45571`, and :issue:`43974`.)

* The build dependencies for :mod:`zlib`, :mod:`bz2`, and :mod:`lzma` are now
detected by :program:`configure`.
(Contributed by Christian Heimes in :issue:`45763`.)

C API Changes
=============
Expand Down
9 changes: 7 additions & 2 deletions Grammar/python.gram
Original file line number Diff line number Diff line change
Expand Up @@ -126,6 +126,7 @@ simple_stmt[stmt_ty] (memo):
| &'nonlocal' nonlocal_stmt

compound_stmt[stmt_ty]:
| invalid_compound_stmt
| &('def' | '@' | ASYNC) function_def
| &'if' if_stmt
| &('class' | '@') class_def
Expand Down Expand Up @@ -264,11 +265,11 @@ function_def[stmt_ty]:

function_def_raw[stmt_ty]:
| invalid_def_raw
| 'def' n=NAME '(' params=[params] ')' a=['->' z=expression { z }] &&':' tc=[func_type_comment] b=block {
| 'def' n=NAME &&'(' params=[params] ')' a=['->' z=expression { z }] &&':' tc=[func_type_comment] b=block {
_PyAST_FunctionDef(n->v.Name.id,
(params) ? params : CHECK(arguments_ty, _PyPegen_empty_arguments(p)),
b, NULL, a, NEW_TYPE_COMMENT(p, tc), EXTRA) }
| ASYNC 'def' n=NAME '(' params=[params] ')' a=['->' z=expression { z }] &&':' tc=[func_type_comment] b=block {
| ASYNC 'def' n=NAME &&'(' params=[params] ')' a=['->' z=expression { z }] &&':' tc=[func_type_comment] b=block {
CHECK_VERSION(
stmt_ty,
5,
Expand Down Expand Up @@ -1174,6 +1175,10 @@ invalid_import_from_targets:
| import_from_as_names ',' NEWLINE {
RAISE_SYNTAX_ERROR("trailing comma not allowed without surrounding parentheses") }

invalid_compound_stmt:
| a='elif' named_expression { RAISE_SYNTAX_ERROR_STARTING_FROM(a, "'elif' must match an if-statement here") }
| a='else' { RAISE_SYNTAX_ERROR_STARTING_FROM(a, "'else' must match a valid statement here") }

invalid_with_stmt:
| [ASYNC] 'with' ','.(expression ['as' star_target])+ &&':'
| [ASYNC] 'with' '(' ','.(expressions ['as' star_target])+ ','? ')' &&':'
Expand Down
1 change: 1 addition & 0 deletions Lib/dis.py
Original file line number Diff line number Diff line change
Expand Up @@ -523,6 +523,7 @@ def _unpack_opargs(code):
extended_arg = (arg << 8) if op == EXTENDED_ARG else 0
else:
arg = None
extended_arg = 0
yield (i, op, arg)

def findlabels(code):
Expand Down
6 changes: 4 additions & 2 deletions Lib/statistics.py
Original file line number Diff line number Diff line change
Expand Up @@ -139,6 +139,8 @@
from operator import itemgetter, mul
from collections import Counter, namedtuple

_SQRT2 = sqrt(2.0)

# === Exceptions ===

class StatisticsError(ValueError):
Expand Down Expand Up @@ -1102,7 +1104,7 @@ def cdf(self, x):
"Cumulative distribution function. P(X <= x)"
if not self._sigma:
raise StatisticsError('cdf() not defined when sigma is zero')
return 0.5 * (1.0 + erf((x - self._mu) / (self._sigma * sqrt(2.0))))
return 0.5 * (1.0 + erf((x - self._mu) / (self._sigma * _SQRT2)))

def inv_cdf(self, p):
"""Inverse cumulative distribution function. x : P(X <= x) = p
Expand Down Expand Up @@ -1158,7 +1160,7 @@ def overlap(self, other):
dv = Y_var - X_var
dm = fabs(Y._mu - X._mu)
if not dv:
return 1.0 - erf(dm / (2.0 * X._sigma * sqrt(2.0)))
return 1.0 - erf(dm / (2.0 * X._sigma * _SQRT2))
a = X._mu * Y_var - Y._mu * X_var
b = X._sigma * Y._sigma * sqrt(dm * dm + dv * log(Y_var / X_var))
x1 = (a + b) / dv
Expand Down
21 changes: 21 additions & 0 deletions Lib/test/test_dis.py
Original file line number Diff line number Diff line change
Expand Up @@ -179,6 +179,23 @@ def bug42562():
2 RETURN_VALUE
"""

# Extended arg followed by NOP
code_bug_45757 = bytes([
0x90, 0x01, # EXTENDED_ARG 0x01
0x09, 0xFF, # NOP 0xFF
0x90, 0x01, # EXTENDED_ARG 0x01
0x64, 0x29, # LOAD_CONST 0x29
0x53, 0x00, # RETURN_VALUE 0x00
])

dis_bug_45757 = """\
0 EXTENDED_ARG 1
2 NOP
4 EXTENDED_ARG 1
6 LOAD_CONST 297
8 RETURN_VALUE
"""

_BIG_LINENO_FORMAT = """\
%3d 0 LOAD_GLOBAL 0 (spam)
2 POP_TOP
Expand Down Expand Up @@ -547,6 +564,10 @@ def test_bug_1333982(self):
def test_bug_42562(self):
self.do_disassembly_test(bug42562, dis_bug42562)

def test_bug_45757(self):
# Extended arg followed by NOP
self.do_disassembly_test(code_bug_45757, dis_bug_45757)

def test_big_linenos(self):
def func(count):
namespace = {}
Expand Down
2 changes: 2 additions & 0 deletions Lib/test/test_gdb.py
Original file line number Diff line number Diff line change
Expand Up @@ -823,6 +823,8 @@ def test_bt_full(self):
foo\(1, 2, 3\)
''')

@unittest.skipIf(python_is_optimized(),
"Python was compiled with optimizations")
def test_threads(self):
'Verify that "py-bt" indicates threads that are waiting for the GIL'
cmd = '''
Expand Down
41 changes: 41 additions & 0 deletions Lib/test/test_syntax.py
Original file line number Diff line number Diff line change
Expand Up @@ -1269,6 +1269,29 @@
... ...
Traceback (most recent call last):
SyntaxError: positional patterns follow keyword patterns

Non-matching 'elif'/'else' statements:

>>> if a == b:
... ...
... elif a == c:
Traceback (most recent call last):
SyntaxError: 'elif' does not match a 'if' here

>>> if x == y:
... ...
... else:
Traceback (most recent call last):
SyntaxError: 'else' does not match a 'if'/'while'/'for'/'except' here

>>> elif m == n:
Traceback (most recent call last):
SyntaxError: 'elif' does not match a 'if' here


>>> else:
Traceback (most recent call last):
SyntaxError: 'else' does not match a 'if'/'while'/'for'/'except' here
"""

import re
Expand Down Expand Up @@ -1571,6 +1594,24 @@ def test_syntax_error_on_deeply_nested_blocks(self):
"""
self._check_error(source, "too many statically nested blocks")

def test_syntax_error_non_matching_elif_else_statements(self):
# Check bpo-45759: 'elif' statements that match no 'if' statement
# or 'else' statements that match no 'if'/'while'/'for' statement
self._check_error(
"elif m == n:\n ...",
"'elif' does not match a 'if' here")
self._check_error(
"else:\n ...",
"'else' does not match a 'if'/'while'/'for'/'except' here")
try:
"if a == b:\n ...\nelif a == c:\n ...",
except SyntaxError:
self.fail("block raised an unexpected error")
try:
"if x == y:\n ...\nelse:\n ...",
except SyntaxError:
self.fail("block raised an unexpected error")


def load_tests(loader, tests, pattern):
tests.addTest(doctest.DocTestSuite())
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
On macOS, the build system no longer passes ``search_paths_first`` to the
linker. The flag has been the default since Xcode 4 / macOS 10.6.
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
Improved error messages for ``elif``/``else`` statements statements not matching any ``if``/``while``/``for``/``except`` statements::

>>> else:
File "<stdin>", line 1
else:
^^^^
SyntaxError: 'else' must match a valid statement here
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Updates bundled Tcl/Tk to 8.6.12.
7 changes: 6 additions & 1 deletion PC/pylauncher.rc
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,11 @@

#include "python_ver_rc.h"

#ifndef RT_MANIFEST
// bpo-45220: Cannot reliably #include RT_MANIFEST from
// anywhere, so we hardcode it
#define RT_MANIFEST 24
#endif
// Include the manifest file that indicates we support all
// current versions of Windows.
1 RT_MANIFEST "python.manifest"
Expand Down Expand Up @@ -56,4 +61,4 @@ BEGIN
BEGIN
VALUE "Translation", 0x0, 1200
END
END
END
8 changes: 7 additions & 1 deletion PC/pyshellext.rc
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,12 @@

#include "python_ver_rc.h"

#ifndef RT_MANIFEST
// bpo-45220: Cannot reliably #include RT_MANIFEST from
// anywhere, so we hardcode it
#define RT_MANIFEST 24
#endif

// Include the manifest file that indicates we support all
// current versions of Windows.
1 RT_MANIFEST "python.manifest"
Expand Down Expand Up @@ -42,4 +48,4 @@ BEGIN
BEGIN
VALUE "Translation", 0x0, 1200
END
END
END
6 changes: 6 additions & 0 deletions PC/python_exe.rc
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,12 @@

#include "python_ver_rc.h"

#ifndef RT_MANIFEST
// bpo-45220: Cannot reliably #include RT_MANIFEST from
// anywhere, so we hardcode it
#define RT_MANIFEST 24
#endif

// Include the manifest file that indicates we support all
// current versions of Windows.
1 RT_MANIFEST "python.manifest"
Expand Down
6 changes: 6 additions & 0 deletions PC/python_nt.rc
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,12 @@

#include "python_ver_rc.h"

#ifndef RT_MANIFEST
// bpo-45220: Cannot reliably #include RT_MANIFEST from
// anywhere, so we hardcode it
#define RT_MANIFEST 24
#endif

// Include the manifest file that indicates we support all
// current versions of Windows.
2 RT_MANIFEST "python.manifest"
Expand Down
6 changes: 6 additions & 0 deletions PC/pythonw_exe.rc
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,12 @@

#include "python_ver_rc.h"

#ifndef RT_MANIFEST
// bpo-45220: Cannot reliably #include RT_MANIFEST from
// anywhere, so we hardcode it
#define RT_MANIFEST 24
#endif

// Include the manifest file that indicates we support all
// current versions of Windows.
1 RT_MANIFEST "python.manifest"
Expand Down
6 changes: 6 additions & 0 deletions PC/sqlite3.rc
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,12 @@

#include <winver.h>

#ifndef RT_MANIFEST
// bpo-45220: Cannot reliably #include RT_MANIFEST from
// anywhere, so we hardcode it
#define RT_MANIFEST 24
#endif

// Include the manifest file that indicates we support all
// current versions of Windows.
2 RT_MANIFEST "python.manifest"
Expand Down
6 changes: 3 additions & 3 deletions PCbuild/get_externals.bat
Original file line number Diff line number Diff line change
Expand Up @@ -55,8 +55,8 @@ set libraries=%libraries% bzip2-1.0.6
if NOT "%IncludeLibffiSrc%"=="false" set libraries=%libraries% libffi-3.4.2
if NOT "%IncludeSSLSrc%"=="false" set libraries=%libraries% openssl-1.1.1l
set libraries=%libraries% sqlite-3.36.0.0
if NOT "%IncludeTkinterSrc%"=="false" set libraries=%libraries% tcl-core-8.6.11.1
if NOT "%IncludeTkinterSrc%"=="false" set libraries=%libraries% tk-8.6.11.1
if NOT "%IncludeTkinterSrc%"=="false" set libraries=%libraries% tcl-core-8.6.12.0
if NOT "%IncludeTkinterSrc%"=="false" set libraries=%libraries% tk-8.6.12.0
if NOT "%IncludeTkinterSrc%"=="false" set libraries=%libraries% tix-8.4.3.6
set libraries=%libraries% xz-5.2.2
set libraries=%libraries% zlib-1.2.11
Expand All @@ -78,7 +78,7 @@ echo.Fetching external binaries...
set binaries=
if NOT "%IncludeLibffi%"=="false" set binaries=%binaries% libffi-3.4.2
if NOT "%IncludeSSL%"=="false" set binaries=%binaries% openssl-bin-1.1.1l
if NOT "%IncludeTkinter%"=="false" set binaries=%binaries% tcltk-8.6.11.1
if NOT "%IncludeTkinter%"=="false" set binaries=%binaries% tcltk-8.6.12.0
if NOT "%IncludeSSLSrc%"=="false" set binaries=%binaries% nasm-2.11.06

for %%b in (%binaries%) do (
Expand Down
4 changes: 2 additions & 2 deletions PCbuild/tcltk.props
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@
<PropertyGroup>
<TclMajorVersion>8</TclMajorVersion>
<TclMinorVersion>6</TclMinorVersion>
<TclPatchLevel>11</TclPatchLevel>
<TclRevision>1</TclRevision>
<TclPatchLevel>12</TclPatchLevel>
<TclRevision>0</TclRevision>
<TkMajorVersion>$(TclMajorVersion)</TkMajorVersion>
<TkMinorVersion>$(TclMinorVersion)</TkMinorVersion>
<TkPatchLevel>$(TclPatchLevel)</TkPatchLevel>
Expand Down
Loading