tsengwoody / Access8Math

Allows access math content written by MathML ; Assist writing math content by LaTeX
GNU General Public License v2.0
32 stars 15 forks source link

Incompatibility before 2024.1 #100

Closed CyrilleB79 closed 4 months ago

CyrilleB79 commented 4 months ago

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

tsengwoody commented 4 months ago

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
CyrilleB79 commented 4 months ago

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.