Hello community,

here is the log from the commit of package zim for openSUSE:Factory checked in 
at 2020-10-21 14:38:38
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/zim (Old)
 and      /work/SRC/openSUSE:Factory/.zim.new.3486 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "zim"

Wed Oct 21 14:38:38 2020 rev:7 rq:842817 version:0.73.2

Changes:
--------
--- /work/SRC/openSUSE:Factory/zim/zim.changes  2020-09-06 00:03:11.943277776 
+0200
+++ /work/SRC/openSUSE:Factory/.zim.new.3486/zim.changes        2020-10-21 
14:38:43.437616836 +0200
@@ -1,0 +2,15 @@
+Tue Sep 29 05:52:17 UTC 2020 - Dirk Mueller <dmuel...@suse.com>
+
+- update to 0.73.2:
+  + Add "show debug log" menu item
+  + Add missing "triangle" icons for windows installer
+  + Include helper to spawn external processes for windows installer
+  + Fix dropdown namespace autocomplete in move-page dialog
+  + Fix wiki parser for case of nested URL
+  + Fix ParseTreeBuilder interface for python3.9
+  + Add debug output for drag-and-drop workaround
+  + Fix popup menu in attachment browser plugin
+  + Fix warnings during export for "page.meta"
+  + Fix on-preferences-changed for tableofcontents plugin
+
+-------------------------------------------------------------------

Old:
----
  zim-0.73.1.tar.gz

New:
----
  zim-0.73.2.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ zim.spec ++++++
--- /var/tmp/diff_new_pack.u7s1rw/_old  2020-10-21 14:38:44.273617308 +0200
+++ /var/tmp/diff_new_pack.u7s1rw/_new  2020-10-21 14:38:44.277617311 +0200
@@ -20,7 +20,7 @@
 %define skip_python2 1
 
 Name:           zim
-Version:        0.73.1
+Version:        0.73.2
 Release:        0
 Summary:        A Desktop Wiki
 License:        GPL-2.0-or-later

++++++ zim-0.73.1.tar.gz -> zim-0.73.2.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/zim-0.73.1/CHANGELOG.md new/zim-0.73.2/CHANGELOG.md
--- old/zim-0.73.1/CHANGELOG.md 2020-06-19 14:09:08.538503400 +0200
+++ new/zim-0.73.2/CHANGELOG.md 2020-07-24 08:13:40.099187100 +0200
@@ -5,6 +5,18 @@
 This branch is the Python rewrite and starts with version 0.42.
 Earlier version numbers for zim correspond to the Perl branch.
 
+##  0.73.2 - Fri 24 Jul 2020
+* Add "show debug log" menu item
+* Add missing "triangle" icons for windows installer
+* Include helper to spawn external processes for windows installer
+* Fix dropdown namespace autocomplete in move-page dialog
+* Fix wiki parser for case of nested URL
+* Fix ParseTreeBuilder interface for python3.9
+* Add debug output for drag-and-drop workaround
+* Fix popup menu in attachment browser plugin
+* Fix warnings during export for "page.meta"
+* Fix on-preferences-changed for tableofcontents plugin
+
 ##  0.73.1 - Fri 19 Jun 2020
 * Fix regression for opening single instance
 * Fix exception on toggle format
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/zim-0.73.1/PKG-INFO new/zim-0.73.2/PKG-INFO
--- old/zim-0.73.1/PKG-INFO     2020-06-19 14:09:37.138891000 +0200
+++ new/zim-0.73.2/PKG-INFO     2020-07-24 08:14:24.904160000 +0200
@@ -1,6 +1,6 @@
 Metadata-Version: 1.1
 Name: zim
-Version: 0.73.1
+Version: 0.73.2
 Summary: Zim desktop wiki
 Home-page: https://www.zim-wiki.org
 Author: Jaap Karssenberg
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/zim-0.73.1/README.md new/zim-0.73.2/README.md
--- old/zim-0.73.1/README.md    2020-06-19 10:51:48.621893200 +0200
+++ new/zim-0.73.2/README.md    2020-07-15 20:22:49.624446900 +0200
@@ -28,7 +28,7 @@
 Most linux distributions include zim in their package repository. On debian and
 ubuntu to package is simply called "zim".
 
-A windows installer can be found here: https://zim.glump.net/windows/
+Debian/Ubuntu packages and a windows installer can be found via 
https://zim-wiki.org/downloads.html
 
 On Mac OS X, zim can be installed from Homebrew using,
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/zim-0.73.1/data/menubar.xml 
new/zim-0.73.2/data/menubar.xml
--- old/zim-0.73.1/data/menubar.xml     2020-06-19 08:52:24.126318000 +0200
+++ new/zim-0.73.2/data/menubar.xml     2020-07-21 20:55:53.407486700 +0200
@@ -135,6 +135,7 @@
                        <menuitem action='show_clean_notebook'/>
 -->
                        <separator/>
+                       <menuitem action='show_debug_log'/>
                        <menuitem action='show_server_gui'/>
                        <menuitem action='open_document_root'/>
 <!--
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/zim-0.73.1/man/zim.1 new/zim-0.73.2/man/zim.1
--- old/zim-0.73.1/man/zim.1    2020-06-19 14:09:10.142525200 +0200
+++ new/zim-0.73.2/man/zim.1    2020-07-24 08:13:47.163340600 +0200
@@ -1,4 +1,4 @@
-.TH ZIM "1" "June 2020" "zim 0.73.1" "User Commands"
+.TH ZIM "1" "July 2020" "zim 0.73.2" "User Commands"
 .SH NAME
 zim \- A Desktop Wiki Editor
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/zim-0.73.1/tests/formats.py 
new/zim-0.73.2/tests/formats.py
--- old/zim-0.73.1/tests/formats.py     2020-06-19 10:51:48.625893000 +0200
+++ new/zim-0.73.2/tests/formats.py     2020-07-15 20:21:26.135644200 +0200
@@ -393,6 +393,16 @@
                        found += 1
                self.assertEqual(found, 3)
 
+       def testNoURLWithinLink(self):
+               # Ensure nested URL is not parsed
+               text = 
'[[http://link.com/23060.html|//http://link.com/23060.html//]]'
+               xml = '''\
+<?xml version='1.0' encoding='utf-8'?>
+<zim-tree><p><link 
href="http://link.com/23060.html";><emphasis>http://link.com/23060.html</emphasis></link>
+</p></zim-tree>'''
+               tree = self.format.Parser().parse(text)
+               self.assertEqual(tree.tostring(), xml)
+
        def testBackwardVerbatim(self):
                '''Test backward compatibility for wiki format'''
                input = '''\
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/zim-0.73.1/translations/zim.pot 
new/zim-0.73.2/translations/zim.pot
--- old/zim-0.73.1/translations/zim.pot 2020-06-19 10:51:48.629893300 +0200
+++ new/zim-0.73.2/translations/zim.pot 2020-07-24 08:10:36.503373600 +0200
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2020-06-06 14:35+0200\n"
+"POT-Creation-Date: 2020-07-24 08:10+0200\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <l...@li.org>\n"
@@ -56,37 +56,37 @@
 
 #. message for FileNotFoundError | 
 #. Error message in template lookup
-#: zim/fs.py:259 zim/templates/__init__.py:124
+#: zim/fs.py:261 zim/templates/__init__.py:124
 #, python-format
 msgid "No such file: %s"
 msgstr ""
 
 #. message for FileUnicodeError (%s is the file name)
-#: zim/fs.py:271 zim/newfs/base.py:64
+#: zim/fs.py:273 zim/newfs/base.py:64
 #, python-format
 msgid "Could not read: %s"
 msgstr ""
 
 #. message for FileUnicodeError
-#: zim/fs.py:273 zim/newfs/base.py:66
+#: zim/fs.py:275 zim/newfs/base.py:66
 msgid "This usually means the file contains invalid characters"
 msgstr ""
 
 #. label for detailed error | 
 #. section for version details in "save version" dialog
-#: zim/fs.py:275 zim/newfs/base.py:68
+#: zim/fs.py:277 zim/newfs/base.py:68
 #: zim/plugins/versioncontrol/__init__.py:776
 msgid "Details"
 msgstr ""
 
 #. Error message
-#: zim/fs.py:1165
+#: zim/fs.py:1167
 #, python-format
 msgid "File is not writable: %s"
 msgstr ""
 
 #. error message
-#: zim/fs.py:1237
+#: zim/fs.py:1239
 #, python-format
 msgid "File changed on disk: %s"
 msgstr ""
@@ -181,7 +181,7 @@
 #: zim/gui/applications.py:1129 zim/gui/customtools.py:651
 #: zim/gui/notebookdialog.py:421 zim/gui/pageview.py:7891
 #: zim/gui/preferencesdialog.py:300 zim/gui/propertiesdialog.py:16
-#: zim/gui/templateeditordialog.py:158 zim/gui/uiactions.py:585
+#: zim/gui/templateeditordialog.py:158 zim/gui/uiactions.py:595
 #: zim/plugins/attachmentbrowser/filebrowser.py:388
 msgid "Name"
 msgstr ""
@@ -503,7 +503,7 @@
 
 #. Menu title | 
 #. Button label
-#: zim/gui/mainwindow.py:59 zim/gui/widgets.py:2922
+#: zim/gui/mainwindow.py:59 zim/gui/widgets.py:2926
 msgid "_Help"
 msgstr ""
 
@@ -536,7 +536,7 @@
 
 #. Menu item | 
 #. Button label
-#: zim/gui/mainwindow.py:343 zim/gui/widgets.py:2883
+#: zim/gui/mainwindow.py:343 zim/gui/widgets.py:2887
 msgid "_Close"
 msgstr ""
 
@@ -619,13 +619,13 @@
 
 #. Menu item | 
 #. Button label
-#: zim/gui/mainwindow.py:843 zim/gui/widgets.py:3799
+#: zim/gui/mainwindow.py:843 zim/gui/widgets.py:3803
 msgid "_Back"
 msgstr ""
 
 #. Menu item | 
 #. Button label
-#: zim/gui/mainwindow.py:855 zim/gui/widgets.py:3803
+#: zim/gui/mainwindow.py:855 zim/gui/widgets.py:3807
 msgid "_Forward"
 msgstr ""
 
@@ -996,7 +996,7 @@
 
 #. menu item to open a link | 
 #. Menu item
-#: zim/gui/pageview.py:6222 zim/gui/uiactions.py:143
+#: zim/gui/pageview.py:6222 zim/gui/uiactions.py:147
 #: zim/plugins/backlinkpane.py:105
 msgid "Open in New _Window"
 msgstr ""
@@ -1004,7 +1004,7 @@
 #. menu item to open a link or file | 
 #. Button label | 
 #. menu item to open file or folder
-#: zim/gui/pageview.py:6232 zim/gui/widgets.py:3477
+#: zim/gui/pageview.py:6232 zim/gui/widgets.py:3481
 #: zim/plugins/attachmentbrowser/filebrowser.py:354
 msgid "_Open"
 msgstr ""
@@ -1033,7 +1033,7 @@
 #. Menu item | 
 #. Button label | 
 #. button label
-#: zim/gui/pageview.py:6261 zim/gui/widgets.py:3479
+#: zim/gui/pageview.py:6261 zim/gui/widgets.py:3483
 #: zim/plugins/versioncontrol/__init__.py:756
 msgid "_Save"
 msgstr ""
@@ -1289,7 +1289,7 @@
 
 #. Input in 'edit image' dialog | 
 #. Input label for the section to move a page to
-#: zim/gui/pageview.py:7251 zim/gui/uiactions.py:587
+#: zim/gui/pageview.py:7251 zim/gui/uiactions.py:597
 msgid "Location"
 msgstr ""
 
@@ -1737,232 +1737,237 @@
 msgstr ""
 
 #. Menu item
-#: zim/gui/uiactions.py:91
+#: zim/gui/uiactions.py:95
 msgid "_New Page..."
 msgstr ""
 
 #. Menu item
-#: zim/gui/uiactions.py:102
+#: zim/gui/uiactions.py:106
 msgid "New S_ub Page..."
 msgstr ""
 
 #. Menu item
-#: zim/gui/uiactions.py:110
+#: zim/gui/uiactions.py:114
 msgid "_New Page Here..."
 msgstr ""
 
 #. Menu item
-#: zim/gui/uiactions.py:118
+#: zim/gui/uiactions.py:122
 msgid "_Open Another Notebook..."
 msgstr ""
 
 #. Menu item
-#: zim/gui/uiactions.py:138
+#: zim/gui/uiactions.py:142
 msgid "_Import Page..."
 msgstr ""
 
 #. Menu item
-#: zim/gui/uiactions.py:156
+#: zim/gui/uiactions.py:160
 msgid "Save A _Copy..."
 msgstr ""
 
 #. Menu item
-#: zim/gui/uiactions.py:161
+#: zim/gui/uiactions.py:165
 msgid "E_xport..."
 msgstr ""
 
 #. Menu item
-#: zim/gui/uiactions.py:168
+#: zim/gui/uiactions.py:172
 msgid "_Send To..."
 msgstr ""
 
 #. Menu item
-#: zim/gui/uiactions.py:181
+#: zim/gui/uiactions.py:185
 msgid "_Rename or move Page..."
 msgstr ""
 
 #. Menu item
-#: zim/gui/uiactions.py:190
+#: zim/gui/uiactions.py:194
 msgid "_Delete Page"
 msgstr ""
 
 #. Title of progressbar dialog
-#: zim/gui/uiactions.py:221 zim/gui/uiactions.py:703
+#: zim/gui/uiactions.py:225 zim/gui/uiactions.py:713
 msgid "Removing Links"
 msgstr ""
 
 #. Menu item
-#: zim/gui/uiactions.py:234
+#: zim/gui/uiactions.py:238
 msgid "Proper_ties"
 msgstr ""
 
 #. Menu item | 
 #. menu item in tray icon menu
-#: zim/gui/uiactions.py:244 zim/plugins/trayicon.py:148
+#: zim/gui/uiactions.py:248 zim/plugins/trayicon.py:148
 msgid "_Quit"
 msgstr ""
 
 #. Menu item
-#: zim/gui/uiactions.py:254
+#: zim/gui/uiactions.py:258
 msgid "Copy _Location"
 msgstr ""
 
 #. Menu item
-#: zim/gui/uiactions.py:260
+#: zim/gui/uiactions.py:264
 msgid "_Templates"
 msgstr ""
 
 #. Menu item
-#: zim/gui/uiactions.py:266
+#: zim/gui/uiactions.py:270
 msgid "Pr_eferences"
 msgstr ""
 
 #. Menu item
-#: zim/gui/uiactions.py:276
+#: zim/gui/uiactions.py:280
 msgid "_Search..."
 msgstr ""
 
 #. Menu item for search a sub-set of the notebook
-#: zim/gui/uiactions.py:291
+#: zim/gui/uiactions.py:295
 msgid "Search this section"
 msgstr ""
 
 #. Menu item
-#: zim/gui/uiactions.py:296
+#: zim/gui/uiactions.py:300
 msgid "Search _Backlinks..."
 msgstr ""
 
 #. Menu item
-#: zim/gui/uiactions.py:304
+#: zim/gui/uiactions.py:308
 msgid "Recent Changes..."
 msgstr ""
 
 #. Menu item
-#: zim/gui/uiactions.py:311
+#: zim/gui/uiactions.py:315
 msgid "Open Attachments _Folder"
 msgstr ""
 
 #. Error message
-#: zim/gui/uiactions.py:316
+#: zim/gui/uiactions.py:320
 msgid "This page does not have an attachments folder"
 msgstr ""
 
 #. Menu item
-#: zim/gui/uiactions.py:322
+#: zim/gui/uiactions.py:326
 msgid "Open _Notebook Folder"
 msgstr ""
 
 #. Menu item
-#: zim/gui/uiactions.py:327
+#: zim/gui/uiactions.py:331
 msgid "Open _Document Root"
 msgstr ""
 
 #. Error message
-#: zim/gui/uiactions.py:333
+#: zim/gui/uiactions.py:337
 msgid "No document root defined for this notebook"
 msgstr ""
 
 #. Menu item
-#: zim/gui/uiactions.py:339
+#: zim/gui/uiactions.py:343
 msgid "Edit _Source"
 msgstr ""
 
 #. Menu item
-#: zim/gui/uiactions.py:355
+#: zim/gui/uiactions.py:359
 msgid "Start _Web Server"
 msgstr ""
 
+#. menu item
+#: zim/gui/uiactions.py:366
+msgid "View debug log"
+msgstr ""
+
 #. Menu item
-#: zim/gui/uiactions.py:370
+#: zim/gui/uiactions.py:380
 msgid "Update Index"
 msgstr ""
 
 #. Menu item
-#: zim/gui/uiactions.py:403
+#: zim/gui/uiactions.py:413
 msgid "Custom _Tools"
 msgstr ""
 
 #. Menu item
-#: zim/gui/uiactions.py:409
+#: zim/gui/uiactions.py:419
 msgid "_Contents"
 msgstr ""
 
 #. Menu item
-#: zim/gui/uiactions.py:420
+#: zim/gui/uiactions.py:430
 msgid "_FAQ"
 msgstr ""
 
 #. Menu item
-#: zim/gui/uiactions.py:425
+#: zim/gui/uiactions.py:435
 msgid "_Keybindings"
 msgstr ""
 
 #. Menu item
-#: zim/gui/uiactions.py:430
+#: zim/gui/uiactions.py:440
 msgid "_Bugs"
 msgstr ""
 
 #. Menu item
-#: zim/gui/uiactions.py:435
+#: zim/gui/uiactions.py:445
 msgid "_About"
 msgstr ""
 
 #. Dialog title
-#: zim/gui/uiactions.py:451
+#: zim/gui/uiactions.py:461
 #, python-format
 msgid "New Page in %s"
 msgstr ""
 
 #. Dialog title
-#: zim/gui/uiactions.py:453
+#: zim/gui/uiactions.py:463
 msgid "New Page"
 msgstr ""
 
 #. Dialog text in 'new page' dialog
-#: zim/gui/uiactions.py:457
+#: zim/gui/uiactions.py:467
 msgid ""
 "Please note that linking to a non-existing page\n"
 "also creates a new page automatically."
 msgstr ""
 
 #. Input label
-#: zim/gui/uiactions.py:471
+#: zim/gui/uiactions.py:481
 msgid "Page Name"
 msgstr ""
 
 #. Choice label
-#: zim/gui/uiactions.py:472
+#: zim/gui/uiactions.py:482
 msgid "Page Template"
 msgstr ""
 
 #. Dialog title
-#: zim/gui/uiactions.py:507
+#: zim/gui/uiactions.py:517
 msgid "Import Page"
 msgstr ""
 
 #. File filter for '*.txt'
-#: zim/gui/uiactions.py:511
+#: zim/gui/uiactions.py:521
 msgid "Text Files"
 msgstr ""
 
 #. Dialog title of file save dialog
-#: zim/gui/uiactions.py:540
+#: zim/gui/uiactions.py:550
 msgid "Save Copy"
 msgstr ""
 
 #. Dialog title
-#: zim/gui/uiactions.py:564
+#: zim/gui/uiactions.py:574
 msgid "Rename or Move Page"
 msgstr ""
 
 #. Heading in 'move page' dialog - %s is the page name
-#: zim/gui/uiactions.py:569
+#: zim/gui/uiactions.py:579
 #, python-format
 msgid "Rename page \"%s\""
 msgstr ""
 
 #. label in MovePage dialog - %i is number of backlinks
-#: zim/gui/uiactions.py:580
+#: zim/gui/uiactions.py:590
 #, python-format
 msgid "Update %i page linking to this page"
 msgid_plural "Update %i pages linking to this page"
@@ -1970,28 +1975,28 @@
 msgstr[1] ""
 
 #. option in 'move page' dialog
-#: zim/gui/uiactions.py:589
+#: zim/gui/uiactions.py:599
 msgid "Update the heading of this page"
 msgstr ""
 
 #. label for progress dialog
-#: zim/gui/uiactions.py:624
+#: zim/gui/uiactions.py:634
 msgid "Updating Links"
 msgstr ""
 
 #. Dialog title
-#: zim/gui/uiactions.py:642
+#: zim/gui/uiactions.py:652
 msgid "Delete Page"
 msgstr ""
 
 #. Heading in 'delete page' dialog - %s is the page name
-#: zim/gui/uiactions.py:657
+#: zim/gui/uiactions.py:667
 #, python-format
 msgid "Delete page \"%s\"?"
 msgstr ""
 
 #. Text in 'delete page' dialog - %s is the page name
-#: zim/gui/uiactions.py:659
+#: zim/gui/uiactions.py:669
 #, python-format
 msgid ""
 "Page \"%s\" and all of it's\n"
@@ -1999,7 +2004,7 @@
 msgstr ""
 
 #. label in the DeletePage dialog to warn user of attachments being deleted
-#: zim/gui/uiactions.py:673
+#: zim/gui/uiactions.py:683
 #, python-format
 msgid "%i file will be deleted"
 msgid_plural "%i files will be deleted"
@@ -2007,12 +2012,12 @@
 msgstr[1] ""
 
 #. General description of zim itself
-#: zim/gui/uiactions.py:722
+#: zim/gui/uiactions.py:732
 msgid "A desktop wiki"
 msgstr ""
 
 #. This string needs to be translated with names of the translators for this 
language
-#: zim/gui/uiactions.py:730
+#: zim/gui/uiactions.py:740
 msgid "translator-credits"
 msgstr ""
 
@@ -2052,55 +2057,55 @@
 msgstr ""
 
 #. Option for placement of plugin widgets
-#: zim/gui/widgets.py:2051
+#: zim/gui/widgets.py:2055
 msgid "Left Side Pane"
 msgstr ""
 
 #. Option for placement of plugin widgets
-#: zim/gui/widgets.py:2052
+#: zim/gui/widgets.py:2056
 msgid "Right Side Pane"
 msgstr ""
 
 #. Option for placement of plugin widgets
-#: zim/gui/widgets.py:2053
+#: zim/gui/widgets.py:2057
 msgid "Bottom Pane"
 msgstr ""
 
 #. Option for placement of plugin widgets
-#: zim/gui/widgets.py:2054
+#: zim/gui/widgets.py:2058
 msgid "Top Pane"
 msgstr ""
 
 #. Menu item
-#: zim/gui/widgets.py:2682
+#: zim/gui/widgets.py:2686
 msgid "_All Panes"
 msgstr ""
 
 #. generic error dialog text
-#: zim/gui/widgets.py:3228
+#: zim/gui/widgets.py:3232
 msgid ""
 "When reporting this bug please include\n"
 "the information from the text box below"
 msgstr ""
 
 #. Filter in open file dialog, shows all files (*)
-#: zim/gui/widgets.py:3610
+#: zim/gui/widgets.py:3614
 msgid "All Files"
 msgstr ""
 
 #. Filter in open file dialog, shows image files only
-#: zim/gui/widgets.py:3637
+#: zim/gui/widgets.py:3641
 msgid "Images"
 msgstr ""
 
 #. lable in progressbar giving number of items and total
-#: zim/gui/widgets.py:3733
+#: zim/gui/widgets.py:3737
 #, python-brace-format
 msgid "{count} of {total}"
 msgstr ""
 
 #. dialog title for log view dialog - e.g. for Equation Editor
-#: zim/gui/widgets.py:3755
+#: zim/gui/widgets.py:3759
 msgid "Log file"
 msgstr ""
 
@@ -2210,12 +2215,12 @@
 msgstr ""
 
 #. placeholder for unknown file name
-#: zim/parser.py:274
+#: zim/parser.py:278
 msgid "<Unknown>"
 msgstr ""
 
 #. Extended error message while parsing a file, gives file name, line number 
and words where error occurred
-#: zim/parser.py:280
+#: zim/parser.py:284
 #, python-format
 msgid "Error in %(file)s at line %(line)i near \"%(snippet)s\""
 msgstr ""
@@ -3345,17 +3350,17 @@
 msgstr ""
 
 #. action to lower level of heading in the text
-#: zim/plugins/tableofcontents.py:384
+#: zim/plugins/tableofcontents.py:386
 msgid "Demote"
 msgstr ""
 
 #. action to raise level of heading in the text
-#: zim/plugins/tableofcontents.py:386
+#: zim/plugins/tableofcontents.py:388
 msgid "Promote"
 msgstr ""
 
 #. widget label
-#: zim/plugins/tableofcontents.py:480 zim/plugins/tableofcontents.py:510
+#: zim/plugins/tableofcontents.py:482 zim/plugins/tableofcontents.py:512
 msgid "ToC"
 msgstr ""
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/zim-0.73.1/xdg/org.zim_wiki.Zim.appdata.xml 
new/zim-0.73.2/xdg/org.zim_wiki.Zim.appdata.xml
--- old/zim-0.73.1/xdg/org.zim_wiki.Zim.appdata.xml     2020-06-19 
14:09:08.810507000 +0200
+++ new/zim-0.73.2/xdg/org.zim_wiki.Zim.appdata.xml     2020-07-24 
08:13:40.407194000 +0200
@@ -35,6 +35,22 @@
     <screenshot 
type="default">http://zim-wiki.org/screenshots/zim-normal.png</screenshot>
   </screenshots>
   <releases>
+    <release date="2020-07-24" version="0.73.2">
+      <description>
+        <ul>
+          <li>Add "show debug log" menu item</li>
+          <li>Add missing "triangle" icons for windows installer</li>
+          <li>Include helper to spawn external processes for windows 
installer</li>
+          <li>Fix dropdown namespace autocomplete in move-page dialog</li>
+          <li>Fix wiki parser for case of nested URL</li>
+          <li>Fix ParseTreeBuilder interface for python3.9</li>
+          <li>Add debug output for drag-and-drop workaround</li>
+          <li>Fix popup menu in attachment browser plugin</li>
+          <li>Fix warnings during export for "page.meta"</li>
+          <li>Fix on-preferences-changed for tableofcontents plugin</li>
+        </ul>
+      </description>
+    </release>
     <release date="2020-06-19" version="0.73.1">
       <description>
         <ul>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/zim-0.73.1/zim/__init__.py 
new/zim-0.73.2/zim/__init__.py
--- old/zim-0.73.1/zim/__init__.py      2020-06-19 14:09:08.542503600 +0200
+++ new/zim-0.73.2/zim/__init__.py      2020-07-24 08:13:40.115187400 +0200
@@ -93,7 +93,7 @@
 
 
 # Bunch of meta data, used at least in the about dialog
-__version__ = '0.73.1'
+__version__ = '0.73.2'
 __url__ = 'https://www.zim-wiki.org'
 __author__ = 'Jaap Karssenberg <jaap.karssenb...@gmail.com>'
 __copyright__ = 'Copyright 2008 - 2019 Jaap Karssenberg 
<jaap.karssenb...@gmail.com>'
@@ -117,6 +117,8 @@
 
 logger = logging.getLogger('zim')
 
+debug_log_file = None
+
 
 ########################################################################
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/zim-0.73.1/zim/export/template.py 
new/zim-0.73.2/zim/export/template.py
--- old/zim-0.73.1/zim/export/template.py       2020-06-08 11:40:09.654873000 
+0200
+++ new/zim-0.73.2/zim/export/template.py       2020-07-15 20:21:26.279645700 
+0200
@@ -424,7 +424,10 @@
 
        @property
        def meta(self):
-               return self._tree.meta or {}
+               if self._tree:
+                       return self._tree.meta or {}
+               else:
+                       return {}
 
        @property
        def heading(self):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/zim-0.73.1/zim/formats/__init__.py 
new/zim-0.73.2/zim/formats/__init__.py
--- old/zim-0.73.1/zim/formats/__init__.py      2020-06-19 14:07:04.400841700 
+0200
+++ new/zim-0.73.2/zim/formats/__init__.py      2020-07-21 20:41:16.372442500 
+0200
@@ -782,7 +782,7 @@
                return zim.formats.ParseTree(root)
 
        def start(self, tag, attrib=None):
-               attrib = attrib.copy() if attrib is not None else None
+               attrib = attrib.copy() if attrib is not None else {}
                self._b.start(tag, attrib)
                self.stack.append(tag)
                if tag in BLOCK_LEVEL:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/zim-0.73.1/zim/formats/wiki.py 
new/zim-0.73.2/zim/formats/wiki.py
--- old/zim-0.73.1/zim/formats/wiki.py  2020-06-19 10:51:48.629893300 +0200
+++ new/zim-0.73.2/zim/formats/wiki.py  2020-07-15 20:21:26.283645600 +0200
@@ -194,9 +194,9 @@
        def _init_inline_parse(self):
                # Rules for inline formatting, links and tags
                my_url_re = old_url_re if self.backward_url_parsing else url_re
-               descent = lambda *a: self.inline_parser(*a)
 
-               self.nested_inline_parser = (
+               descent = lambda *a: self.nested_inline_parser_below_link(*a)
+               self.nested_inline_parser_below_link = (
                        Rule(TAG, r'(?<!\S)@\w+', process=self.parse_tag)
                        | Rule(EMPHASIS, r'//(?!/)(.*?)(?<!:)//', 
descent=descent) # no ':' at the end (ex: 'http://')
                        | Rule(STRONG, r'\*\*(?!\*)(.*?)\*\*', descent=descent)
@@ -208,11 +208,19 @@
 
                )
 
+               descent = lambda *a: self.inline_parser(*a)
                return (
                        Rule(LINK, my_url_re, process=self.parse_url)
                        | Rule(LINK, r'\[\[(?!\[)(.*?\]*)\]\]', 
process=self.parse_link)
                        | Rule(IMAGE, r'\{\{(?!\{)(.*?)\}\}', 
process=self.parse_image)
-                       | self.nested_inline_parser
+                       | Rule(TAG, r'(?<!\S)@\w+', process=self.parse_tag)
+                       | Rule(EMPHASIS, r'//(?!/)(.*?)(?<!:)//', 
descent=descent) # no ':' at the end (ex: 'http://')
+                       | Rule(STRONG, r'\*\*(?!\*)(.*?)\*\*', descent=descent)
+                       | Rule(MARK, r'__(?!_)(.*?)__', descent=descent)
+                       | Rule(SUBSCRIPT, r'_\{(?!~)(.+?)\}', descent=descent)
+                       | Rule(SUPERSCRIPT, r'\^\{(?!~)(.+?)\}', 
descent=descent)
+                       | Rule(STRIKE, r'~~(?!~)(.+?)~~', descent=descent)
+                       | Rule(VERBATIM, r"''(?!')(.+?)''")
                )
 
        def _init_intermediate_parser(self):
@@ -554,7 +562,7 @@
                        builder.append(LINK, {'href': text}, text)
                else:
                        builder.start(LINK, {'href': href})
-                       self.nested_inline_parser(builder, text)
+                       self.nested_inline_parser_below_link(builder, text)
                        builder.end(LINK)
 
        @staticmethod
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/zim-0.73.1/zim/gui/uiactions.py 
new/zim-0.73.2/zim/gui/uiactions.py
--- old/zim-0.73.1/zim/gui/uiactions.py 2020-06-19 10:51:48.633893300 +0200
+++ new/zim-0.73.2/zim/gui/uiactions.py 2020-07-21 20:58:15.331239700 +0200
@@ -10,7 +10,7 @@
 
 logger = logging.getLogger('zim.gui')
 
-
+import zim
 from zim.actions import action
 
 from zim.main import ZIM_APPLICATION
@@ -24,7 +24,7 @@
 
 from zim.actions import get_gtk_actiongroup
 from zim.gui.widgets import Dialog, FileDialog, ProgressDialog, ErrorDialog, 
ScrolledTextView
-from zim.gui.applications import open_url, open_folder, 
open_folder_prompt_create, edit_file
+from zim.gui.applications import open_url, open_folder, 
open_folder_prompt_create, open_file, edit_file
 
 PAGE_EDIT_ACTIONS = 'page_edit'
 PAGE_ACCESS_ACTIONS = 'page_access'
@@ -69,6 +69,10 @@
                self.navigation = navigation
                self.notebook.properties.connect('changed', 
self.on_notebook_properties_changed)
 
+               group = get_gtk_actiongroup(self)
+               action = self.actiongroup.get_action('show_debug_log')
+               action.set_sensitive(zim.debug_log_file is not None)
+
        def on_notebook_properties_changed(self, propeties):
                group = get_gtk_actiongroup(self)
                action = self.actiongroup.get_action('open_document_root')
@@ -359,6 +363,12 @@
                '''
                ZIM_APPLICATION.run('--server', '--gui', self.notebook.uri)
 
+       @action(_('View debug log'), menuhints='tools') # T: menu item
+       def show_debug_log(self):
+               from zim.newfs import LocalFile
+               file = LocalFile(zim.debug_log_file)
+               open_file(self.widget, file, mimetype='text/plain')
+
        def ensure_index_uptodate(self):
                if not self.notebook.index.is_uptodate:
                        re = self.reload_index(update_only=True)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/zim-0.73.1/zim/gui/widgets.py 
new/zim-0.73.2/zim/gui/widgets.py
--- old/zim-0.73.1/zim/gui/widgets.py   2020-06-19 10:51:48.637893400 +0200
+++ new/zim-0.73.2/zim/gui/widgets.py   2020-07-15 20:21:26.291645800 +0200
@@ -1885,7 +1885,7 @@
                        except IndexNotFoundError:
                                pass
 
-               elif text.startswith('+'):
+               elif text.startswith('+') and self.notebookpath:
                        prefix = '+'
                        path = self.notebookpath
 
@@ -1921,7 +1921,7 @@
 
 
        def _fill_completion_any(self, path, text):
-               #print "COMPLETE ANY", path, text
+               #print("COMPLETE ANY", path, text)
                # Complete all matches of "text"
                # start with children and peers, than peers of parents, than 
rest of tree
                completion = self.get_completion()
@@ -1930,9 +1930,13 @@
                # TODO: use SQL to list all at once instead of walking and 
filter on "text"
                #       do better sorting as well ?
 
-               def relative_link(target):
-                       href = self.notebook.pages.create_link(path, target)
-                       return href.to_wiki_link()
+               if path.isroot:
+                       def relative_link(target):
+                               return target.name
+               else:
+                       def relative_link(target):
+                               href = self.notebook.pages.create_link(path, 
target)
+                               return href.to_wiki_link()
 
                model = completion.get_model()
                searchpath = list(path.parents())
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/zim-0.73.1/zim/main/__init__.py 
new/zim-0.73.2/zim/main/__init__.py
--- old/zim-0.73.1/zim/main/__init__.py 2020-06-08 11:40:10.030878300 +0200
+++ new/zim-0.73.2/zim/main/__init__.py 2020-07-21 21:03:55.320796500 +0200
@@ -867,7 +867,8 @@
                else:
                        # Redirect output to file
                        dir = zim.fs.get_tmpdir()
-                       err_stream = open(os.path.join(dir.path, "zim.log"), 
"w")
+                       zim.debug_log_file = os.path.join(dir.path, "zim.log")
+                       err_stream = open(zim.debug_log_file, "w")
 
                        # Try to flush standards out and error, if there
                        for pipe in (sys.stdout, sys.stderr):
@@ -888,8 +889,8 @@
 
                        # Re-initialize logging handler, in case it keeps 
reference
                        # to the old stderr object
+                       rootlogger = logging.getLogger()
                        try:
-                               rootlogger = logging.getLogger()
                                for handler in rootlogger.handlers:
                                        rootlogger.removeHandler(handler)
 
@@ -899,6 +900,11 @@
                        except:
                                pass
 
+                       if rootlogger.getEffectiveLevel() != logging.DEBUG:
+                               rootlogger.setLevel(logging.DEBUG) # else file 
remains empty
+                               self._log_start()
+
+
 
 ZIM_APPLICATION = ZimApplication() # Singleton per process
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/zim-0.73.1/zim/plugins/attachmentbrowser/filebrowser.py 
new/zim-0.73.2/zim/plugins/attachmentbrowser/filebrowser.py
--- old/zim-0.73.1/zim/plugins/attachmentbrowser/filebrowser.py 2020-06-08 
11:40:10.250881700 +0200
+++ new/zim-0.73.2/zim/plugins/attachmentbrowser/filebrowser.py 2020-07-15 
20:21:26.303645800 +0200
@@ -332,9 +332,9 @@
                        pathinfo = iconview.get_path_at_pos(x, y)
                        if pathinfo is not None:
                                iconview.grab_focus()
-                               gtk_popup_at_pointer(popup_menu, event)
                                self.do_populate_popup(popup_menu, pathinfo)
                                        # FIXME should use a signal here
+                               gtk_popup_at_pointer(popup_menu, event)
                                return True
                return False
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/zim-0.73.1/zim/plugins/base/imagegenerator.py 
new/zim-0.73.2/zim/plugins/base/imagegenerator.py
--- old/zim-0.73.1/zim/plugins/base/imagegenerator.py   2020-06-08 
11:40:10.278882000 +0200
+++ new/zim-0.73.2/zim/plugins/base/imagegenerator.py   2020-07-15 
20:21:26.315646000 +0200
@@ -355,8 +355,8 @@
                self.logbutton.set_sensitive(self.log_file is not None)
 
        def show_log(self):
-               assert self.logfile, 'BUG: no logfile set (yet)'
-               LogFileDialog(self, self.logfile).run()
+               assert self.log_file, 'BUG: no log_file set (yet)'
+               LogFileDialog(self, self.log_file).run()
 
        def do_response_ok(self):
                buffer = self.textview.get_buffer()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/zim-0.73.1/zim/plugins/pageindex/__init__.py 
new/zim-0.73.2/zim/plugins/pageindex/__init__.py
--- old/zim-0.73.1/zim/plugins/pageindex/__init__.py    2020-06-19 
10:51:48.641893400 +0200
+++ new/zim-0.73.2/zim/plugins/pageindex/__init__.py    2020-07-15 
20:21:26.327646000 +0200
@@ -504,12 +504,14 @@
        def do_drag_data_received(self, dragcontext, x, y, selectiondata, info, 
time):
                assert selectiondata.get_target().name() == 
INTERNAL_PAGELIST_TARGET_NAME
                data = selectiondata.get_data()
+               logger.debug('Drag data recieved: %r', data)
                if data is None:
                        data = zim.gui.clipboard._internal_selection_data # 
HACK issue #390
                        zim.gui.clipboard._internal_selection_data = None
+                       logger.debug('Got data via workaround: %s', data)
 
                names = unpack_urilist(data)
-               assert len(names) == 1
+               assert len(names) == 1, 'Could not get pagenames from: %r' % 
data
                source = Path(names[0])
 
                dest_row = self.get_dest_row_at_pos(x, y)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/zim-0.73.1/zim/plugins/tableofcontents.py 
new/zim-0.73.2/zim/plugins/tableofcontents.py
--- old/zim-0.73.1/zim/plugins/tableofcontents.py       2020-06-08 
11:40:10.542885800 +0200
+++ new/zim-0.73.2/zim/plugins/tableofcontents.py       2020-07-15 
20:21:26.343646300 +0200
@@ -140,6 +140,8 @@
                if not isinstance(self.tocwidget, widgetclass):
                        if isinstance(self.tocwidget, SidePaneToC):
                                self.remove_sidepane_widget(self.tocwidget)
+                       elif self.tocwidget:
+                               self.tocwidget.destroy()
 
                        self.tocwidget = widgetclass(self.pageview)
 
@@ -561,7 +563,7 @@
 
        def update_size_and_position(self, *a):
                model = self.tocwidget.treeview.get_model()
-               if model.is_empty:
+               if model is None or model.is_empty:
                        self.hide()
                        return
                else:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/zim-0.73.1/zim/templates/expression.py 
new/zim-0.73.2/zim/templates/expression.py
--- old/zim-0.73.1/zim/templates/expression.py  2020-06-08 11:40:10.722888500 
+0200
+++ new/zim-0.73.2/zim/templates/expression.py  2020-07-15 20:21:26.355646400 
+0200
@@ -266,6 +266,9 @@
                ## getitem dict / getattr objects / getattr on wrapper
                obj = self.param.parent(context)
                name = self.param.key
+               if obj is None:
+                       raise AssertionError('No such object: %s' % 
self.param.parent.name)
+
                try:
                        function = obj[name]
                        if not isinstance(function, ExpressionFunction):
@@ -337,7 +340,11 @@
        def __repr__(self):
                # Also shows up when function parameter is used, but not called
                # (TemplateToolkit allow implicit call - we don't !)
-               return "<%s: %s()>" % (self.__class__.__name__, 
self._func.__name__)
+               try:
+                       return "<%s: %s()>" % (self.__class__.__name__, 
self._func.__name__)
+               except:
+                       # Partial functions don't have a __name__ attribute
+                       return "<%s: %r()>" % (self.__class__.__name__, 
self._func)
 
 
 class BoundExpressionFunction(ExpressionFunction):


Reply via email to