diff --git a/.github/workflows/tox.yml b/.github/workflows/tox.yml index bf6dc4d1..ba8f9f80 100644 --- a/.github/workflows/tox.yml +++ b/.github/workflows/tox.yml @@ -20,7 +20,7 @@ jobs: fail-fast: false max-parallel: 4 matrix: - tox-env: [py39, py310, py311, py312, py313, pypy39, pypy310, pygments] + tox-env: [py39, py310, py311, py312, py313, py314, pypy39, pypy310, pygments] include: - tox-env: py39 python-version: '3.9' @@ -32,13 +32,14 @@ jobs: python-version: '3.12' - tox-env: py313 python-version: '3.13' + - tox-env: py314 + python-version: '3.14' - tox-env: pypy39 python-version: pypy-3.9 - tox-env: pypy310 python-version: pypy-3.10 - tox-env: pygments python-version: '3.11' - env: TOXENV: ${{ matrix.tox-env }} diff --git a/docs/changelog.md b/docs/changelog.md index 9770c47a..60dc3ea6 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -10,7 +10,14 @@ and this project adheres to the [Python Version Specification]: https://packaging.python.org/en/latest/specifications/version-specifiers/. See the [Contributing Guide](contributing.md) for details. -## [unreleased] +## [Unreleased] + +### Fixed + +* Fix `codecs` deprecation in Python 3.14. +* Fix issue with unclosed comment parsing in Python 3.14. +* Fix issue with unclosed declarations in Python 3.14. +* Fix issue with unclosed HTML tag ` int: if self.rawdata[i:i+3] == '': + self.handle_data('<') + self.override_comment_update = True + return self.handle_empty_tag(''.format(data), is_block=True) + def updatepos(self, i: int, j: int) -> int: + if self.override_comment_update: + self.override_comment_update = False + i = 0 + j = 1 + return super().updatepos(i, j) + def handle_decl(self, data: str): self.handle_empty_tag(''.format(data), is_block=True) @@ -278,7 +293,11 @@ def parse_html_declaration(self, i: int) -> int: if self.rawdata[i:i+3] == ' int: # pragma: no cover self.__starttag_text = None endpos = self.check_for_whole_start_tag(i) if endpos < 0: - return endpos + self.handle_data(self.rawdata[i:i + 1]) + return i + 1 rawdata = self.rawdata self.__starttag_text = rawdata[i:endpos] diff --git a/tox.ini b/tox.ini index 2cea38e3..7bc4f8db 100644 --- a/tox.ini +++ b/tox.ini @@ -1,5 +1,5 @@ [tox] -envlist = py{39, 310, 311, 312, 313}, pypy{39, 310}, pygments, flake8, checkspelling, pep517check, checklinks +envlist = py{39, 310, 311, 312, 313, py314}, pypy{39, 310}, pygments, flake8, checkspelling, pep517check, checklinks isolated_build = True [testenv]