Leo 6.7.4 released

85 views
Skip to first unread message

Edward K. Ream

unread,
Aug 17, 2023, 2:12:48 PM8/17/23
to leo-editor

Leo https://leo-editor.github.io/leo-editor/ 6.7.4 is now available on GitHub and pypi.

Many thanks to all who have contributed.

Leo is an IDE, outliner and PIM.

The highlights of Leo 6.7.4

Warning: breaking changes to Leo's api

p.get_UNL returns gnx-based unls. Previously it returned path-based gnxs.
See the first comment of PR #3424 for full details.

gnx-based unls

  • PR #3215 and #3424: gnx-based unls (clickable links).
    These links will break only if the original node is deleted.

New settings

  • @string unl-status-kind = gnx
  • @bool full-unl-paths = True
  • @data unl-path-prefixes

Other improvements

  • PR #3330: Improve importers for C, C++, and cython.
  • PR #3345: Improve importer architecture.
  • PR #3363 & #3379: Improve c.recursiveImport.
  • PR #3376: Improve python importer.

Large code changes

  • PR #3365: Simplify mypy annotations (128 files).
  • PR #3367: Import Callable from collections.abc instead of typing (50 files).

Retire three plugins

  • PR #3215: Retire the settings_finder, backlink, and quickMove plugins.

50+ issues and 70+ pull requests.

Links

Edward

Edward K. Ream

unread,
Aug 17, 2023, 2:14:16 PM8/17/23
to leo-e...@googlegroups.com
On Thu, Aug 17, 2023 at 1:12 PM Edward K. Ream wrote:

Leo https://leo-editor.github.io/leo-editor/ 6.7.4 is now available on GitHub and pypi.


I'll delay more public announcements until Monday. Please continue your testing ;-)

Edward

Félix

unread,
Aug 17, 2023, 3:42:40 PM8/17/23
to leo-editor
🌟 🥳 Hurray!!  🎉 🎈 

Viktor Ransmayr

unread,
Aug 17, 2023, 4:47:26 PM8/17/23
to leo-editor
Hello Edward

I installed Leo 6.7.4 from PyPI into a Fedora 38 VM. - When I run the unittests I receive errors. - See attached log:

    (Leo) [user@fedora-leo-study-vm Leo]$
    (Leo) [user@fedora-leo-study-vm Leo]$ cd lib64/python3.11/site-packages/leo
    (Leo) [user@fedora-leo-study-vm leo]$
    (Leo) [user@fedora-leo-study-vm leo]$ python -m unittest
    ................................................................................
    ................................................................................
    ...........................fatal: invalid object name 'master'.
    fatal: invalid object name 'devel'.
    .fatal: ambiguous argument 'HEAD': unknown revision or path not in the working tree.
    Use '--' to separate paths from revisions, like this:
    'git <command> [<revision>...] -- [<file>...]'
    ................................................................................
    ................................................................................
    ................................................................................
    ................................................................................
    ................................................................................
    ............F...................................................................
    ...................s............................................................
    .............
    (python:2354): Gdk-CRITICAL **: 22:31:27.506: gdk_atom_intern: assertion 'atom_name != NULL' failed

    (python:2354): Gdk-CRITICAL **: 22:31:27.506: gdk_atom_intern: assertion 'atom_name != NULL' failed
    .........s......................................................................
    ....................cursesGui2.py: Tk module required for clipboard handling.
    s...s.....
    ======================================================================
    FAIL: test_per_commander_data (unittests.core.test_leoGlobals.TestGlobals.test_per_commander_data)
    ----------------------------------------------------------------------
    Traceback (most recent call last):
      File "/home/user/PyVE/PyPI/Leo/lib/python3.11/site-packages/leo/unittests/core/test_leoGlobals.py", line 294, in test_per_commander_data
        self._test_per_commander_data()
      File "/home/user/PyVE/PyPI/Leo/lib/python3.11/site-packages/leo/unittests/core/test_leoGlobals.py", line 178, in _test_per_commander_data
        self.assertTrue(os.path.exists(z), msg=repr(z))
    AssertionError: False is not true : '/home/user/PyVE/PyPI/Leo/lib64/python3.11/site-packages/launchLeo.py'

    ----------------------------------------------------------------------
    Ran 871 tests in 6.838s

    FAILED (failures=1, skipped=4)
    (Leo) [user@fedora-leo-study-vm leo]$

With kind regards,

Viktor

Viktor Ransmayr

unread,
Aug 17, 2023, 4:55:02 PM8/17/23
to leo-editor
Hello Edward

Edward K. Ream schrieb am Donnerstag, 17. August 2023 um 20:14:16 UTC+2:
I installed the current development branch from Leo into this Fedora 38 VM as well - and - did NOT receive any unittest errors.

For the record see attached log:

    (Leo) [user@fedora-leo-study-vm Leo]$
    (Leo) [user@fedora-leo-study-vm Leo]$ cd leo-editor/leo

    (Leo) [user@fedora-leo-study-vm leo]$
    (Leo) [user@fedora-leo-study-vm leo]$ python -m unittest
    ................................................................................
    ................................................................................
    ................................................................................
    ................................................................................
    ................................................................................
    ................................................................................
    ................................................................................
    ................................................................................
    ...............................................s................................
    .........................................
    (python:1837): Gdk-CRITICAL **: 22:14:57.617: gdk_atom_intern: assertion 'atom_name != NULL' failed

    (python:1837): Gdk-CRITICAL **: 22:14:57.617: gdk_atom_intern: assertion 'atom_name != NULL' failed

    .........s......................................................................
    ....................cursesGui2.py: Tk module required for clipboard handling.
    s.........
    ----------------------------------------------------------------------
    Ran 871 tests in 7.239s

    OK (skipped=3)
    (Leo) [user@fedora-leo-study-vm leo]$

With kind regards,

Viktor

Edward K. Ream

unread,
Aug 17, 2023, 5:53:07 PM8/17/23
to leo-e...@googlegroups.com
On Thu, Aug 17, 2023 at 2:42 PM Félix <felix...@gmail.com> wrote:
🌟 🥳 Hurray!!  🎉 🎈 

:-)

Edward

Thomas Passin

unread,
Aug 17, 2023, 6:11:55 PM8/17/23
to leo-editor
I upgraded my Windows 6.7.3 installation to 6.7.4 using pip:

py -m pip install --user --upgrade leo

It installed correctly but I got this deprecation warning:

C:\Users\tom>py -m pip install --upgrade --user leo
DEPRECATION: Loading egg at c:\users\tom\appdata\local\programs\python\python311\lib\site-packages\codraft-2.2.1-py3.11.egg is deprecated. pip 23.3 will enforce this behaviour change. A possible replacement is to use pip for package installation..


I don't understand what it is trying to tell us. The sentence "A possible replacement is to use pip for package installation.." makes it seem to apply to some package that is not Leo, since I *am* using pip here.  Anyway, this message makes me think there could be some problem for future installs for some people.

Edward K. Ream

unread,
Aug 17, 2023, 6:42:57 PM8/17/23
to leo-e...@googlegroups.com
On Thu, Aug 17, 2023 at 5:11 PM Thomas Passin <tbp1...@gmail.com> wrote:

I upgraded my Windows 6.7.3 installation to 6.7.4 using pip:

py -m pip install --user --upgrade leo

It installed correctly but I got this deprecation warning:

C:\Users\tom>py -m pip install --upgrade --user leo
DEPRECATION: Loading egg at c:\users\tom\appdata\local\programs\python\python311\lib\site-packages\codraft-2.2.1-py3.11.egg is deprecated. pip 23.3 will enforce this behaviour change. A possible replacement is to use pip for package installation..


I don't understand what it is trying to tell us.

Have you tried uninstalling codraft?

Edward

Edward K. Ream

unread,
Aug 17, 2023, 6:46:09 PM8/17/23
to leo-e...@googlegroups.com
On Thu, Aug 17, 2023 at 3:55 PM Viktor Ransmayr <viktor....@gmail.com> wrote:

> I installed Leo 6.7.4 from PyPI into a Fedora 38 VM. - When I run the unittests I receive errors.
> I installed the current development branch from Leo into this Fedora 38 VM as well - and - did NOT receive any unittest errors.

Thanks for your testing!

I have not found any problems with devel on Ubuntu. However, I'll update the distribution checklist to ensure I test on Linux early in testing. Somehow that checklist item went missing.

Edward

Thomas Passin

unread,
Aug 17, 2023, 11:45:27 PM8/17/23
to leo-editor
That's a thought.  I installed it to try it out but haven't done much of anything with it.  I didn't make the connection because it wouldn't have been affected by a Leo update (I wouldn't have thought).

Viktor Ransmayr

unread,
Aug 18, 2023, 1:04:28 AM8/18/23
to leo-editor
Hello Edward

Edward K. Ream schrieb am Donnerstag, 17. August 2023 um 20:14:16 UTC+2:
 I installed Leo 6.7.4 from PyPI also into a Debian 11 VM.

When I run the unit tests there, I receive similar errors. - See attached log:

    (Leo) user@debian-leo-study-vm:~/PyVE/PyPI/Leo$
    (Leo) user@debian-leo-study-vm:~/PyVE/PyPI/Leo$ cd lib64/python3.9/site-packages/leo
    (Leo) user@debian-leo-study-vm:~/PyVE/PyPI/Leo/lib64/python3.9/site-packages/leo$
    (Leo) user@debian-leo-study-vm:~/PyVE/PyPI/Leo/lib64/python3.9/site-packages/leo$ python -m unittest
    ................................................................................
    ................................................................................
    ...........................FF...................................................
    ....................................................s.......s...................
    ................................................................................
    ................................................................................
    ................................................................................
    ........................................F.......................................
    ...............................................s................................
    ..................................................s.............................
    .............................................................cursesGui2.py: Tk module required for clipboard handling.
    s...s.....
    ======================================================================
    FAIL: test_diff_two_branches (unittests.commands.test_editFileCommands.TestEditFileCommands)

    ----------------------------------------------------------------------
    Traceback (most recent call last):
      File "/home/user/PyVE/PyPI/Leo/lib/python3.9/site-packages/leo/unittests/commands/test_editFileCommands.py", line 67, in test_diff_two_branches
        self.assertEqual(c.lastTopLevel().h, expected_last_headline)
    AssertionError: '@file leoGlobals.py' != 'git-diff-branches master devel'
    - @file leoGlobals.py
    + git-diff-branches master devel


    ======================================================================
    FAIL: test_diff_two_revs (unittests.commands.test_editFileCommands.TestEditFileCommands)

    ----------------------------------------------------------------------
    Traceback (most recent call last):
      File "/home/user/PyVE/PyPI/Leo/lib/python3.9/site-packages/leo/unittests/commands/test_editFileCommands.py", line 121, in test_diff_two_revs
        self.assertEqual(c.lastTopLevel().h.strip(), expected_last_headline)
    AssertionError: 'root' != 'git diff revs: HEAD'
    - root
    + git diff revs: HEAD


    ======================================================================
    FAIL: test_per_commander_data (unittests.core.test_leoGlobals.TestGlobals)

    ----------------------------------------------------------------------
    Traceback (most recent call last):
      File "/home/user/PyVE/PyPI/Leo/lib/python3.9/site-packages/leo/unittests/core/test_leoGlobals.py", line 294, in test_per_commander_data
        self._test_per_commander_data()
      File "/home/user/PyVE/PyPI/Leo/lib/python3.9/site-packages/leo/unittests/core/test_leoGlobals.py", line 178, in _test_per_commander_data
        self.assertTrue(os.path.exists(z), msg=repr(z))
    AssertionError: False is not true : '/home/user/PyVE/PyPI/Leo/lib/python3.9/site-packages/launchLeo.py'

    ----------------------------------------------------------------------
    Ran 871 tests in 8.914s

    FAILED (failures=3, skipped=6)
    (Leo) user@debian-leo-study-vm:~/PyVE/PyPI/Leo/lib64/python3.9/site-packages/leo$


With kind regards,

Viktor

Edward K. Ream

unread,
Aug 18, 2023, 7:11:03 AM8/18/23
to leo-e...@googlegroups.com
On Fri, Aug 18, 2023 at 12:04 AM Viktor Ransmayr wrote:

> [unit test failures]

Thanks for this report. See #3497.

Edward

Edward K. Ream

unread,
Aug 18, 2023, 8:54:10 AM8/18/23
to leo-editor
On Friday, August 18, 2023 at 6:11:03 AM UTC-5 Edward K. Ream wrote:

> Thanks for this report. See #3497.

PR #3498 contains suppresses some unit tests in certain situations.

Viktor, please run your tests in the ekr-3497-Viktors-unit-tests branch.  Do you still see any failures?

Edward

Viktor Ransmayr

unread,
Aug 18, 2023, 3:05:30 PM8/18/23
to leo-editor
Hello Edward,

I guess my explanation was not precise enough.

The unit test errors occur ONLY, if I install Leo 6.7.4 directly from PyPI into a Debian or Fedora VM.

They do NOT occur, if I install Leo's master branch from GitHub into a Debian or Fedora VM.

* I explicitly verified another time ;-)

With kind regards,

Viktor

Edward K. Ream

unread,
Aug 18, 2023, 5:50:16 PM8/18/23
to leo-e...@googlegroups.com

>> Viktor, please run your tests in the ekr-3497-Viktors-unit-tests branch.  Do you still see any failures?

> The unit test errors occur ONLY, if I install Leo 6.7.4 directly from PyPI into a Debian or Fedora VM.
> They do NOT occur, if I install Leo's master branch from GitHub into a Debian or Fedora VM.

Thanks for the clarification. I think I'll just merge PR #3498 into devel and call it good enough :-)

Edward

Viktor Ransmayr

unread,
Aug 19, 2023, 3:45:49 AM8/19/23
to leo-editor
Hello Edward,

I tried the same also for Leo 6.7.4, installed from PyPI, to a Windows 10 PC.

This results in a logfile with 2300+ lines. - I'm just copying the last ones:


    Second list contains 2 additional elements.
    First extra element 3:
    '@language xml\n'

    - ['@others\n', '@language xml\n', '@tabwidth -4\n']
    + ['<?xml version="1.0" encoding="UTF-8"?>\n',
    +  '<!DOCTYPE note SYSTEM "Note.dtd">\n',
    +  '@others\n',
    +  '@language xml\n',
    +  '@tabwidth -4\n'] : FAIL in node 0

    ----------------------------------------------------------------------
    Ran 871 tests in 19.816s

    FAILED (failures=48, errors=23, skipped=4)
    PS C:\Users\VR\PyVE\PyPI\Leo\lib\site-packages\leo>

Something has definitely changed, because there were times, when unit tests were running w/o errors in such a setup as well ...

With kind regards,

Viktor

Edward K. Ream

unread,
Aug 19, 2023, 10:31:23 AM8/19/23
to leo-e...@googlegroups.com
On Sat, Aug 19, 2023 at 2:45 AM Viktor Ransmayr <viktor....@gmail.com> wrote:

> Something has definitely changed, because there were times, when unit tests were running w/o errors in such a setup as well ...

Yes, something has changed. Otoh, all unit tests pass for me on both Ubuntu and Windows, so it's not easy to see what the problem is.

Edward

Viktor Ransmayr

unread,
Aug 19, 2023, 11:05:37 AM8/19/23
to leo-e...@googlegroups.com
Hello Edward,

AFAICT its (always?) related to the two variants of how Leo is distributed !

It is (almost always?) working, i.e. offering all functionality, when installed from GitHub - but -

it is (much more?) restricted in functionality, when being installed from PyPI.

Is it time to make this really clear to "user-only" - as compared to - "developer+user" ?

 IMO it may be clear(er) for people who follow Leo in this group for a long time - but - for new users this area of Leo is defintiely confusing !

Is there a chance to work on this in a timeframe > 6.7.5 ?

With kind regards,

Viktor

Edward K. Ream

unread,
Aug 20, 2023, 1:05:56 PM8/20/23
to leo-e...@googlegroups.com
AFAICT its (always?) related to the two variants of how Leo is distributed !

Thanks for your persistence. I am convinced.  I have just reopened #3497.

Edward
Reply all
Reply to author
Forward
0 new messages