tsengwoody/Access8Math

Incompatibility before 2024.1

Closed this issue · 2 comments

Issue

A8M claims to be compatible with NVDA 2019.3 onwards.

But when starting the add-on with NVDA 2023.1, there is the following error:

ERROR - globalPluginHandler.listPlugins (09:40:30.190) - MainThread (1672):
Error importing global plugin Access8Math
Traceback (most recent call last):
  File "globalPluginHandler.pyc", line 23, in listPlugins
  File "importlib\__init__.pyc", line 127, in import_module
  File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
  File "<frozen importlib._bootstrap>", line 983, in _find_and_load
  File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 728, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "C:\Users\Cyrille\AppData\Roaming\nvda\addons\Access8Math\globalPlugins\Access8Math\__init__.py", line 93, in <module>
    import A8M_PM
  File "C:\Users\Cyrille\AppData\Roaming\nvda\addons\Access8Math\globalPlugins\Access8Math\A8M_PM.py", line 4, in <module>
    from xml.etree import ElementTree as ET
  File "C:\Users\Cyrille\AppData\Roaming\nvda\addons\Access8Math\globalPlugins\Access8Math\python\xml\etree\ElementTree.py", line 103, in <module>
    from . import ElementPath
  File "C:\Users\Cyrille\AppData\Roaming\nvda\addons\Access8Math\globalPlugins\Access8Math\python\xml\etree\ElementPath.py", line 266
    if (attr_value := elem.get(key)) is not None and attr_value != value:
                   ^
SyntaxError: invalid syntax

This is due to the walrus operator, not available in Python 3.7.

Solution

  • Either fix Python syntax to be compatible with 3.7 and re-test with older versions of NVDA
  • Or reduce compatibility range to 2024.1 onwards

A8M claims to be compatible with NVDA 2019.3 onwards.
Where did you see this information?
I checked the manifest.ini/buildVars.py.
The content declares:

  • minimumNVDAVersion = 2024.1
  • lastTestedNVDAVersion = 2024.2

I have tracked it down to a mismatch between the json version (4.0) and the manifest and actual version (3.8) causing this issue. Maybe I had done experimentations on this add-on in my config. Anyway deinstalling and reinstalling it has fixed the issue.

Maybe this bug was in 3.8 but now in 4.0 the compatibility is OK.

Closing. Sorry for inconvenience.