Hello community, here is the log from the commit of package qutebrowser for openSUSE:Factory checked in at 2018-03-16 10:42:53 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/qutebrowser (Old) and /work/SRC/openSUSE:Factory/.qutebrowser.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "qutebrowser" Fri Mar 16 10:42:53 2018 rev:17 rq:587069 version:1.2.1 Changes: -------- --- /work/SRC/openSUSE:Factory/qutebrowser/qutebrowser.changes 2018-03-11 15:25:53.325843146 +0100 +++ /work/SRC/openSUSE:Factory/.qutebrowser.new/qutebrowser.changes 2018-03-16 10:44:19.918349761 +0100 @@ -1,0 +2,19 @@ +Wed Mar 14 19:31:01 UTC 2018 - 9+suse@cirno.systems + +- Update to version 1.2.1: + Fixed: + * qutebrowser now starts properly when the PyQt5 + QOpenGLFunctions package wasn't found. + * The keybinding cheatsheet on the quickstart page is now + loaded from a local qute:// URL again. + * Unbinding keys which were bound in older qutebrowser versions + now doesn't crash anymore. + * Fixed a crash when reloading a page which wasn't fully + loaded with v1.2.0 + * Keys on the numeric keypad now fall back to the same bindings + without Num+ if no Num+ binding was found. + * Fixed hinting on some pages with Qt < 5.10. + * Titles are now displayed correctly again for tabs which are + cloned or loaded from sessions. + +------------------------------------------------------------------- Old: ---- qutebrowser-1.2.0.tar.gz qutebrowser-1.2.0.tar.gz.asc New: ---- qutebrowser-1.2.1.tar.gz qutebrowser-1.2.1.tar.gz.asc ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ qutebrowser.spec ++++++ --- /var/tmp/diff_new_pack.DFeXPa/_old 2018-03-16 10:44:20.802317931 +0100 +++ /var/tmp/diff_new_pack.DFeXPa/_new 2018-03-16 10:44:20.806317787 +0100 @@ -17,7 +17,7 @@ Name: qutebrowser -Version: 1.2.0 +Version: 1.2.1 Release: 0 Summary: Keyboard-driven vim-like browser on Qt5 License: GPL-3.0-or-later ++++++ qutebrowser-1.2.0.tar.gz -> qutebrowser-1.2.1.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qutebrowser-1.2.0/PKG-INFO new/qutebrowser-1.2.1/PKG-INFO --- old/qutebrowser-1.2.0/PKG-INFO 2018-03-09 22:43:34.000000000 +0100 +++ new/qutebrowser-1.2.1/PKG-INFO 2018-03-14 20:21:42.000000000 +0100 @@ -1,6 +1,6 @@ Metadata-Version: 1.2 Name: qutebrowser -Version: 1.2.0 +Version: 1.2.1 Summary: A keyboard-driven, vim-like browser based on PyQt5. Home-page: https://www.qutebrowser.org/ Author: Florian Bruhin diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qutebrowser-1.2.0/doc/changelog.asciidoc new/qutebrowser-1.2.1/doc/changelog.asciidoc --- old/qutebrowser-1.2.0/doc/changelog.asciidoc 2018-03-09 22:40:48.000000000 +0100 +++ new/qutebrowser-1.2.1/doc/changelog.asciidoc 2018-03-14 20:21:09.000000000 +0100 @@ -15,6 +15,29 @@ // `Fixed` for any bug fixes. // `Security` to invite users to upgrade in case of vulnerabilities. +v1.2.1 +------ + +Fixed +~~~~~ + +- qutebrowser now starts properly when the PyQt5 QOpenGLFunctions package wasn't + found. +- The keybinding cheatsheet on the quickstart page is now loaded from a local + `qute://` URL again. +- With "tox -e mkvenv-pypi", PyQt 5.10.0 is used again instead of Qt 5.10.1, + because of an issue with Qt 5.10.1 which causes qutebrowser to fail to start + ("Could not find QtWebEngineProcess"). +- Unbinding keys which were bound in older qutebrowser versions now doesn't + crash anymore. +- Fixed a crash when reloading a page which wasn't fully loaded with v1.2.0 +- Keys on the numeric keypad now fall back to the same bindings without `Num+` + if no `Num+` binding was found. +- Fixed hinting on some pages with Qt < 5.10. +- Titles are now displayed correctly again for tabs which are cloned or loaded + from sessions. +- Shortcuts now correctly use `Ctrl` instead of `Command` on macOS again. + v1.2.0 ------ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qutebrowser-1.2.0/doc/qutebrowser.1 new/qutebrowser-1.2.1/doc/qutebrowser.1 --- old/qutebrowser-1.2.0/doc/qutebrowser.1 2018-03-09 22:43:32.000000000 +0100 +++ new/qutebrowser-1.2.1/doc/qutebrowser.1 2018-03-14 20:21:40.000000000 +0100 @@ -2,12 +2,12 @@ .\" Title: qutebrowser .\" Author: [see the "AUTHOR" section] .\" Generator: DocBook XSL Stylesheets vsnapshot http://docbook.sf.net/ -.\" Date: 03/09/2018 +.\" Date: 03/14/2018 .\" Manual: qutebrowser manpage .\" Source: qutebrowser .\" Language: English .\" -.TH "QUTEBROWSER" "1" "03/09/2018" "qutebrowser" "qutebrowser manpage" +.TH "QUTEBROWSER" "1" "03/14/2018" "qutebrowser" "qutebrowser manpage" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qutebrowser-1.2.0/qutebrowser/__init__.py new/qutebrowser-1.2.1/qutebrowser/__init__.py --- old/qutebrowser-1.2.0/qutebrowser/__init__.py 2018-03-09 22:40:34.000000000 +0100 +++ new/qutebrowser-1.2.1/qutebrowser/__init__.py 2018-03-14 20:20:20.000000000 +0100 @@ -26,7 +26,7 @@ __license__ = "GPL" __maintainer__ = __author__ __email__ = "mail@qutebrowser.org" -__version_info__ = (1, 2, 0) +__version_info__ = (1, 2, 1) __version__ = '.'.join(str(e) for e in __version_info__) __description__ = "A keyboard-driven, vim-like browser based on PyQt5." diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qutebrowser-1.2.0/qutebrowser/browser/webengine/webenginetab.py new/qutebrowser-1.2.1/qutebrowser/browser/webengine/webenginetab.py --- old/qutebrowser-1.2.0/qutebrowser/browser/webengine/webenginetab.py 2018-03-09 12:50:31.000000000 +0100 +++ new/qutebrowser-1.2.1/qutebrowser/browser/webengine/webenginetab.py 2018-03-14 18:45:24.000000000 +0100 @@ -706,7 +706,6 @@ self._widget.shutdown() def reload(self, *, force=False): - self.predicted_navigation.emit(self.url()) if force: action = QWebEnginePage.ReloadAndBypassCache else: @@ -931,6 +930,7 @@ @pyqtSlot(QUrl) def _on_predicted_navigation(self, url): """If we know we're going to visit an URL soon, change the settings.""" + qtutils.ensure_valid(url) self.settings.update_for_url(url) @pyqtSlot(usertypes.NavigationRequest) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qutebrowser-1.2.0/qutebrowser/browser/webkit/webkittab.py new/qutebrowser-1.2.1/qutebrowser/browser/webkit/webkittab.py --- old/qutebrowser-1.2.0/qutebrowser/browser/webkit/webkittab.py 2018-03-09 12:50:31.000000000 +0100 +++ new/qutebrowser-1.2.1/qutebrowser/browser/webkit/webkittab.py 2018-03-14 18:45:24.000000000 +0100 @@ -701,7 +701,6 @@ self._widget.shutdown() def reload(self, *, force=False): - self.predicted_navigation.emit(self.url()) if force: action = QWebPage.ReloadAndBypassCache else: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qutebrowser-1.2.0/qutebrowser/config/configtypes.py new/qutebrowser-1.2.1/qutebrowser/config/configtypes.py --- old/qutebrowser-1.2.0/qutebrowser/config/configtypes.py 2018-03-09 12:50:31.000000000 +0100 +++ new/qutebrowser-1.2.1/qutebrowser/config/configtypes.py 2018-03-14 20:21:09.000000000 +0100 @@ -451,7 +451,7 @@ def from_obj(self, value): if value is None: return [] - return value + return [self.valtype.from_obj(v) for v in value] def to_py(self, value): self._basic_py_validation(value, list) @@ -1199,7 +1199,9 @@ def from_obj(self, value): if value is None: return {} - return value + + return {self.keytype.from_obj(key): self.valtype.from_obj(val) + for key, val in value.items()} def _fill_fixed_keys(self, value): """Fill missing fixed keys with a None-value.""" @@ -1648,6 +1650,10 @@ """A name of a key.""" + def from_obj(self, value): + """Make sure key sequences are always normalized.""" + return str(keyutils.KeySequence.parse(value)) + def to_py(self, value): self._basic_py_validation(value, str) if not value: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qutebrowser-1.2.0/qutebrowser/config/websettings.py new/qutebrowser-1.2.1/qutebrowser/config/websettings.py --- old/qutebrowser-1.2.0/qutebrowser/config/websettings.py 2018-03-09 12:50:31.000000000 +0100 +++ new/qutebrowser-1.2.1/qutebrowser/config/websettings.py 2018-03-13 17:51:16.000000000 +0100 @@ -22,7 +22,7 @@ from PyQt5.QtGui import QFont from qutebrowser.config import config, configutils -from qutebrowser.utils import log, usertypes, urlmatch +from qutebrowser.utils import log, usertypes, urlmatch, qtutils from qutebrowser.misc import objects UNSET = object() @@ -141,6 +141,7 @@ Return: A set of settings which actually changed. """ + qtutils.ensure_valid(url) changed_settings = set() for values in config.instance: if not values.opt.supports_pattern: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qutebrowser-1.2.0/qutebrowser/git-commit-id new/qutebrowser-1.2.1/qutebrowser/git-commit-id --- old/qutebrowser-1.2.0/qutebrowser/git-commit-id 2018-03-09 22:43:34.000000000 +0100 +++ new/qutebrowser-1.2.1/qutebrowser/git-commit-id 2018-03-14 20:21:41.000000000 +0100 @@ -1 +1 @@ -5f01c7e79 (2018-03-09 22:40:59 +0100) \ No newline at end of file +6145786e4 (2018-03-14 20:19:14 +0100) \ No newline at end of file diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qutebrowser-1.2.0/qutebrowser/html/doc/changelog.html new/qutebrowser-1.2.1/qutebrowser/html/doc/changelog.html --- old/qutebrowser-1.2.0/qutebrowser/html/doc/changelog.html 2018-03-09 22:43:11.000000000 +0100 +++ new/qutebrowser-1.2.1/qutebrowser/html/doc/changelog.html 2018-03-14 20:21:17.000000000 +0100 @@ -807,6 +807,68 @@ </div> </div> <div class="sect1"> +<h2 id="_v1_2_1">v1.2.1</h2> +<div class="sectionbody"> +<div class="sect2"> +<h3 id="_fixed">Fixed</h3> +<div class="ulist"><ul> +<li> +<p> +qutebrowser now starts properly when the PyQt5 QOpenGLFunctions package wasn’t + found. +</p> +</li> +<li> +<p> +The keybinding cheatsheet on the quickstart page is now loaded from a local + <code>qute://</code> URL again. +</p> +</li> +<li> +<p> +With "tox -e mkvenv-pypi", PyQt 5.10.0 is used again instead of Qt 5.10.1, + because of an issue with Qt 5.10.1 which causes qutebrowser to fail to start + ("Could not find QtWebEngineProcess"). +</p> +</li> +<li> +<p> +Unbinding keys which were bound in older qutebrowser versions now doesn’t + crash anymore. +</p> +</li> +<li> +<p> +Fixed a crash when reloading a page which wasn’t fully loaded with v1.2.0 +</p> +</li> +<li> +<p> +Keys on the numeric keypad now fall back to the same bindings without <code>Num+</code> + if no <code>Num+</code> binding was found. +</p> +</li> +<li> +<p> +Fixed hinting on some pages with Qt < 5.10. +</p> +</li> +<li> +<p> +Titles are now displayed correctly again for tabs which are cloned or loaded + from sessions. +</p> +</li> +<li> +<p> +Shortcuts now correctly use <code>Ctrl</code> instead of <code>Command</code> on macOS again. +</p> +</li> +</ul></div> +</div> +</div> +</div> +<div class="sect1"> <h2 id="_v1_2_0">v1.2.0</h2> <div class="sectionbody"> <div class="sect2"> @@ -1105,7 +1167,7 @@ </ul></div> </div> <div class="sect2"> -<h3 id="_fixed">Fixed</h3> +<h3 id="_fixed_2">Fixed</h3> <div class="ulist"><ul> <li> <p> @@ -1289,7 +1351,7 @@ </ul></div> </div> <div class="sect2"> -<h3 id="_fixed_2">Fixed</h3> +<h3 id="_fixed_3">Fixed</h3> <div class="ulist"><ul> <li> <p> @@ -1309,7 +1371,7 @@ <h2 id="_v1_1_1">v1.1.1</h2> <div class="sectionbody"> <div class="sect2"> -<h3 id="_fixed_3">Fixed</h3> +<h3 id="_fixed_4">Fixed</h3> <div class="ulist"><ul> <li> <p> @@ -1666,7 +1728,7 @@ </ul></div> </div> <div class="sect2"> -<h3 id="_fixed_4">Fixed</h3> +<h3 id="_fixed_5">Fixed</h3> <div class="ulist"><ul> <li> <p> @@ -1809,7 +1871,7 @@ <h2 id="_v1_0_4">v1.0.4</h2> <div class="sectionbody"> <div class="sect2"> -<h3 id="_fixed_5">Fixed</h3> +<h3 id="_fixed_6">Fixed</h3> <div class="ulist"><ul> <li> <p> @@ -1872,7 +1934,7 @@ </ul></div> </div> <div class="sect2"> -<h3 id="_fixed_6">Fixed</h3> +<h3 id="_fixed_7">Fixed</h3> <div class="ulist"><ul> <li> <p> @@ -1903,7 +1965,7 @@ <h2 id="_v1_0_2">v1.0.2</h2> <div class="sectionbody"> <div class="sect2"> -<h3 id="_fixed_7">Fixed</h3> +<h3 id="_fixed_8">Fixed</h3> <div class="ulist"><ul> <li> <p> @@ -1953,7 +2015,7 @@ <h2 id="_v1_0_1">v1.0.1</h2> <div class="sectionbody"> <div class="sect2"> -<h3 id="_fixed_8">Fixed</h3> +<h3 id="_fixed_9">Fixed</h3> <div class="ulist"><ul> <li> <p> @@ -2553,7 +2615,7 @@ </ul></div> </div> <div class="sect2"> -<h3 id="_fixed_9">Fixed</h3> +<h3 id="_fixed_10">Fixed</h3> <div class="ulist"><ul> <li> <p> @@ -2724,7 +2786,7 @@ </ul></div> </div> <div class="sect2"> -<h3 id="_fixed_10">Fixed</h3> +<h3 id="_fixed_11">Fixed</h3> <div class="ulist"><ul> <li> <p> @@ -2969,7 +3031,7 @@ </ul></div> </div> <div class="sect2"> -<h3 id="_fixed_11">Fixed</h3> +<h3 id="_fixed_12">Fixed</h3> <div class="ulist"><ul> <li> <p> @@ -3100,7 +3162,7 @@ <h2 id="_v0_9_1">v0.9.1</h2> <div class="sectionbody"> <div class="sect2"> -<h3 id="_fixed_12">Fixed</h3> +<h3 id="_fixed_13">Fixed</h3> <div class="ulist"><ul> <li> <p> @@ -3647,7 +3709,7 @@ </ul></div> </div> <div class="sect2"> -<h3 id="_fixed_13">Fixed</h3> +<h3 id="_fixed_14">Fixed</h3> <div class="ulist"><ul> <li> <p> @@ -3699,7 +3761,7 @@ <h2 id="_v0_8_3">v0.8.3</h2> <div class="sectionbody"> <div class="sect2"> -<h3 id="_fixed_14">Fixed</h3> +<h3 id="_fixed_15">Fixed</h3> <div class="ulist"><ul> <li> <p> @@ -3770,7 +3832,7 @@ <h2 id="_v0_8_2">v0.8.2</h2> <div class="sectionbody"> <div class="sect2"> -<h3 id="_fixed_15">Fixed</h3> +<h3 id="_fixed_16">Fixed</h3> <div class="ulist"><ul> <li> <p> @@ -3844,7 +3906,7 @@ <h2 id="_v0_8_1">v0.8.1</h2> <div class="sectionbody"> <div class="sect2"> -<h3 id="_fixed_16">Fixed</h3> +<h3 id="_fixed_17">Fixed</h3> <div class="ulist"><ul> <li> <p> @@ -3963,7 +4025,7 @@ </div> </div> <div class="sect1"> -<h2 id="_fixed_17">Fixed</h2> +<h2 id="_fixed_18">Fixed</h2> <div class="sectionbody"> <div class="ulist"><ul> <li> @@ -4219,7 +4281,7 @@ </div> </div> <div class="sect1"> -<h2 id="_fixed_18">Fixed</h2> +<h2 id="_fixed_19">Fixed</h2> <div class="sectionbody"> <div class="ulist"><ul> <li> @@ -4327,7 +4389,7 @@ <h2 id="_v0_6_2">v0.6.2</h2> <div class="sectionbody"> <div class="sect2"> -<h3 id="_fixed_19">Fixed</h3> +<h3 id="_fixed_20">Fixed</h3> <div class="ulist"><ul> <li> <p> @@ -4364,7 +4426,7 @@ <h2 id="_v0_6_1">v0.6.1</h2> <div class="sectionbody"> <div class="sect2"> -<h3 id="_fixed_20">Fixed</h3> +<h3 id="_fixed_21">Fixed</h3> <div class="ulist"><ul> <li> <p> @@ -4504,7 +4566,7 @@ </ul></div> </div> <div class="sect2"> -<h3 id="_fixed_21">Fixed</h3> +<h3 id="_fixed_22">Fixed</h3> <div class="ulist"><ul> <li> <p> @@ -4612,7 +4674,7 @@ <h2 id="_v0_5_1">v0.5.1</h2> <div class="sectionbody"> <div class="sect2"> -<h3 id="_fixed_22">Fixed</h3> +<h3 id="_fixed_23">Fixed</h3> <div class="ulist"><ul> <li> <p> @@ -4933,7 +4995,7 @@ </ul></div> </div> <div class="sect2"> -<h3 id="_fixed_23">Fixed</h3> +<h3 id="_fixed_24">Fixed</h3> <div class="ulist"><ul> <li> <p> @@ -5026,7 +5088,7 @@ <h2 id="_v0_4_1">v0.4.1</h2> <div class="sectionbody"> <div class="sect2"> -<h3 id="_fixed_24">Fixed</h3> +<h3 id="_fixed_25">Fixed</h3> <div class="ulist"><ul> <li> <p> @@ -5228,7 +5290,7 @@ </ul></div> </div> <div class="sect2"> -<h3 id="_fixed_25">Fixed</h3> +<h3 id="_fixed_26">Fixed</h3> <div class="ulist"><ul> <li> <p> @@ -5557,7 +5619,7 @@ </ul></div> </div> <div class="sect2"> -<h3 id="_fixed_26">Fixed</h3> +<h3 id="_fixed_27">Fixed</h3> <div class="ulist"><ul> <li> <p> @@ -5651,7 +5713,7 @@ <h2 id="_a_href_https_github_com_qutebrowser_qutebrowser_releases_tag_v0_2_1_v0_2_1_a"><a href="https://github.com/qutebrowser/qutebrowser/releases/tag/v0.2.1">v0.2.1</a></h2> <div class="sectionbody"> <div class="sect2"> -<h3 id="_fixed_27">Fixed</h3> +<h3 id="_fixed_28">Fixed</h3> <div class="ulist"><ul> <li> <p> @@ -6233,7 +6295,7 @@ </ul></div> </div> <div class="sect2"> -<h3 id="_fixed_28">Fixed</h3> +<h3 id="_fixed_29">Fixed</h3> <div class="ulist"><ul> <li> <p> @@ -6393,7 +6455,7 @@ </ul></div> </div> <div class="sect2"> -<h3 id="_fixed_29">Fixed</h3> +<h3 id="_fixed_30">Fixed</h3> <div class="ulist"><ul> <li> <p> @@ -6503,7 +6565,7 @@ </ul></div> </div> <div class="sect2"> -<h3 id="_fixed_30">Fixed</h3> +<h3 id="_fixed_31">Fixed</h3> <div class="ulist"><ul> <li> <p> @@ -6618,7 +6680,7 @@ </ul></div> </div> <div class="sect2"> -<h3 id="_fixed_31">Fixed</h3> +<h3 id="_fixed_32">Fixed</h3> <div class="ulist"><ul> <li> <p> @@ -6798,7 +6860,7 @@ </ul></div> </div> <div class="sect2"> -<h3 id="_fixed_32">Fixed</h3> +<h3 id="_fixed_33">Fixed</h3> <div class="ulist"><ul> <li> <p> @@ -6920,7 +6982,7 @@ <div id="footer"> <div id="footer-text"> Last updated - 2018-03-09 22:43:10 CET + 2018-03-14 20:21:16 CET </div> </div> </body> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qutebrowser-1.2.0/qutebrowser/html/doc/commands.html new/qutebrowser-1.2.1/qutebrowser/html/doc/commands.html --- old/qutebrowser-1.2.0/qutebrowser/html/doc/commands.html 2018-03-09 22:43:18.000000000 +0100 +++ new/qutebrowser-1.2.1/qutebrowser/html/doc/commands.html 2018-03-14 20:21:25.000000000 +0100 @@ -4630,7 +4630,7 @@ <div id="footer"> <div id="footer-text"> Last updated - 2018-03-09 22:43:15 CET + 2018-03-14 20:21:22 CET </div> </div> </body> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qutebrowser-1.2.0/qutebrowser/html/doc/configuring.html new/qutebrowser-1.2.1/qutebrowser/html/doc/configuring.html --- old/qutebrowser-1.2.0/qutebrowser/html/doc/configuring.html 2018-03-09 22:43:25.000000000 +0100 +++ new/qutebrowser-1.2.1/qutebrowser/html/doc/configuring.html 2018-03-14 20:21:33.000000000 +0100 @@ -1229,7 +1229,7 @@ <div id="footer"> <div id="footer-text"> Last updated - 2018-03-09 22:43:18 CET + 2018-03-14 20:21:25 CET </div> </div> </body> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qutebrowser-1.2.0/qutebrowser/html/doc/contributing.html new/qutebrowser-1.2.1/qutebrowser/html/doc/contributing.html --- old/qutebrowser-1.2.0/qutebrowser/html/doc/contributing.html 2018-03-09 22:43:14.000000000 +0100 +++ new/qutebrowser-1.2.1/qutebrowser/html/doc/contributing.html 2018-03-14 20:21:21.000000000 +0100 @@ -2103,7 +2103,7 @@ <div id="footer"> <div id="footer-text"> Last updated - 2018-03-09 22:43:11 CET + 2018-03-14 20:21:17 CET </div> </div> </body> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qutebrowser-1.2.0/qutebrowser/html/doc/faq.html new/qutebrowser-1.2.1/qutebrowser/html/doc/faq.html --- old/qutebrowser-1.2.0/qutebrowser/html/doc/faq.html 2018-03-09 22:43:10.000000000 +0100 +++ new/qutebrowser-1.2.1/qutebrowser/html/doc/faq.html 2018-03-14 20:21:16.000000000 +0100 @@ -1208,7 +1208,7 @@ <div id="footer"> <div id="footer-text"> Last updated - 2018-03-09 22:43:10 CET + 2018-03-14 20:21:15 CET </div> </div> </body> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qutebrowser-1.2.0/qutebrowser/html/doc/index.html new/qutebrowser-1.2.1/qutebrowser/html/doc/index.html --- old/qutebrowser-1.2.0/qutebrowser/html/doc/index.html 2018-03-09 22:43:31.000000000 +0100 +++ new/qutebrowser-1.2.1/qutebrowser/html/doc/index.html 2018-03-14 20:21:39.000000000 +0100 @@ -905,7 +905,7 @@ <div id="footer"> <div id="footer-text"> Last updated - 2018-03-09 22:43:31 CET + 2018-03-14 20:21:38 CET </div> </div> </body> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qutebrowser-1.2.0/qutebrowser/html/doc/quickstart.html new/qutebrowser-1.2.1/qutebrowser/html/doc/quickstart.html --- old/qutebrowser-1.2.0/qutebrowser/html/doc/quickstart.html 2018-03-09 22:43:15.000000000 +0100 +++ new/qutebrowser-1.2.1/qutebrowser/html/doc/quickstart.html 2018-03-14 20:21:22.000000000 +0100 @@ -877,11 +877,11 @@ <div class="ulist"><ul> <li> <p> -View the <a href="https://qutebrowser.org/img/cheatsheet-big.png">key binding cheatsheet</a> +View the <a href="qute://help/img/cheatsheet-big.png">key binding cheatsheet</a> to make yourself familiar with the key bindings:<br /> <span class="image"> -<a class="image" href="https://qutebrowser.org/img/cheatsheet-big.png"> -<img src="https://qutebrowser.org/img/cheatsheet-small.png" alt="qutebrowser key binding cheatsheet" /> +<a class="image" href="qute://help/img/cheatsheet-big.png"> +<img src="qute://help/img/cheatsheet-small.png" alt="qutebrowser key binding cheatsheet" /> </a> </span> </p> @@ -983,7 +983,7 @@ <div id="footer"> <div id="footer-text"> Last updated - 2018-03-09 22:43:14 CET + 2018-03-14 20:21:21 CET </div> </div> </body> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qutebrowser-1.2.0/qutebrowser/html/doc/settings.html new/qutebrowser-1.2.1/qutebrowser/html/doc/settings.html --- old/qutebrowser-1.2.0/qutebrowser/html/doc/settings.html 2018-03-09 22:43:31.000000000 +0100 +++ new/qutebrowser-1.2.1/qutebrowser/html/doc/settings.html 2018-03-14 20:21:38.000000000 +0100 @@ -6637,7 +6637,7 @@ <div id="footer"> <div id="footer-text"> Last updated - 2018-03-09 22:43:25 CET + 2018-03-14 20:21:33 CET </div> </div> </body> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qutebrowser-1.2.0/qutebrowser/html/doc/userscripts.html new/qutebrowser-1.2.1/qutebrowser/html/doc/userscripts.html --- old/qutebrowser-1.2.0/qutebrowser/html/doc/userscripts.html 2018-03-09 22:43:15.000000000 +0100 +++ new/qutebrowser-1.2.1/qutebrowser/html/doc/userscripts.html 2018-03-14 20:21:22.000000000 +0100 @@ -963,7 +963,7 @@ <div id="footer"> <div id="footer-text"> Last updated - 2018-03-09 22:43:15 CET + 2018-03-14 20:21:22 CET </div> </div> </body> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qutebrowser-1.2.0/qutebrowser/javascript/webelem.js new/qutebrowser-1.2.1/qutebrowser/javascript/webelem.js --- old/qutebrowser-1.2.0/qutebrowser/javascript/webelem.js 2018-03-07 09:13:56.000000000 +0100 +++ new/qutebrowser-1.2.1/qutebrowser/javascript/webelem.js 2018-03-14 07:45:08.000000000 +0100 @@ -74,9 +74,8 @@ try { return elem.selectionStart; } catch (err) { - if (err instanceof (frame - ? frame.DOMException - : DOMException) && + if ((err instanceof DOMException || + (frame && err instanceof frame.DOMException)) && err.name === "InvalidStateError") { // nothing to do, caret_position is already null } else { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qutebrowser-1.2.0/qutebrowser/keyinput/basekeyparser.py new/qutebrowser-1.2.1/qutebrowser/keyinput/basekeyparser.py --- old/qutebrowser-1.2.0/qutebrowser/keyinput/basekeyparser.py 2018-03-09 12:50:31.000000000 +0100 +++ new/qutebrowser-1.2.1/qutebrowser/keyinput/basekeyparser.py 2018-03-14 20:21:09.000000000 +0100 @@ -114,7 +114,7 @@ return (result, None) - def handle(self, e, *, dry_run=False): + def handle(self, e, *, dry_run=False): # noqa """Handle a new keypress. Separate the keypress into count/command, then check if it matches @@ -147,10 +147,18 @@ return QKeySequence.NoMatch # First, try a straightforward match + self._debug_log("Trying simple match") match, binding = self._match_key(sequence) + # Then try without optional modifiers + if match == QKeySequence.NoMatch: + self._debug_log("Trying match without modifiers") + sequence = sequence.strip_modifiers() + match, binding = self._match_key(sequence) + # If that doesn't match, try a key_mapping if match == QKeySequence.NoMatch: + self._debug_log("Trying match with key_mappings") mapped = sequence.with_mappings(config.val.bindings.key_mappings) if sequence != mapped: self._debug_log("Mapped {} -> {}".format( @@ -159,10 +167,12 @@ sequence = mapped # If that doesn't match either, try treating it as count. + txt = str(sequence[-1]) # To account for sequences changed above. if (match == QKeySequence.NoMatch and txt.isdigit() and self._supports_count and not (not self._count and txt == '0')): + self._debug_log("Trying match as count") assert len(txt) == 1, txt if not dry_run: self._count += txt diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qutebrowser-1.2.0/qutebrowser/keyinput/keyutils.py new/qutebrowser-1.2.1/qutebrowser/keyinput/keyutils.py --- old/qutebrowser-1.2.0/qutebrowser/keyinput/keyutils.py 2018-03-09 12:50:31.000000000 +0100 +++ new/qutebrowser-1.2.1/qutebrowser/keyinput/keyutils.py 2018-03-14 20:05:09.000000000 +0100 @@ -505,11 +505,29 @@ not ev.text().isupper()): modifiers = Qt.KeyboardModifiers() + # On macOS, swap Ctrl and Meta back + # WORKAROUND for https://bugreports.qt.io/browse/QTBUG-51293 + if utils.is_mac: + if modifiers & Qt.ControlModifier and modifiers & Qt.MetaModifier: + pass + elif modifiers & Qt.ControlModifier: + modifiers &= ~Qt.ControlModifier + modifiers |= Qt.MetaModifier + elif modifiers & Qt.MetaModifier: + modifiers &= ~Qt.MetaModifier + modifiers |= Qt.ControlModifier + keys = list(self._iter_keys()) keys.append(key | int(modifiers)) return self.__class__(*keys) + def strip_modifiers(self): + """Strip optional modifiers from keys.""" + modifiers = Qt.KeypadModifier + keys = [key & ~modifiers for key in self._iter_keys()] + return self.__class__(*keys) + def with_mappings(self, mappings): """Get a new KeySequence with the given mappings applied.""" keys = [] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qutebrowser-1.2.0/qutebrowser/utils/version.py new/qutebrowser-1.2.1/qutebrowser/utils/version.py --- old/qutebrowser-1.2.0/qutebrowser/utils/version.py 2018-03-09 12:50:31.000000000 +0100 +++ new/qutebrowser-1.2.1/qutebrowser/utils/version.py 2018-03-14 20:21:09.000000000 +0100 @@ -453,7 +453,13 @@ vp = QOpenGLVersionProfile() vp.setVersion(2, 0) - vf = ctx.versionFunctions(vp) + try: + vf = ctx.versionFunctions(vp) + except ImportError as e: + log.init.debug("opengl_vendor: Importing version functions " + "failed: {}".format(e)) + return None + if vf is None: log.init.debug("opengl_vendor: Getting version functions failed!") return None diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qutebrowser-1.2.0/qutebrowser.egg-info/PKG-INFO new/qutebrowser-1.2.1/qutebrowser.egg-info/PKG-INFO --- old/qutebrowser-1.2.0/qutebrowser.egg-info/PKG-INFO 2018-03-09 22:43:34.000000000 +0100 +++ new/qutebrowser-1.2.1/qutebrowser.egg-info/PKG-INFO 2018-03-14 20:21:41.000000000 +0100 @@ -1,6 +1,6 @@ Metadata-Version: 1.2 Name: qutebrowser -Version: 1.2.0 +Version: 1.2.1 Summary: A keyboard-driven, vim-like browser based on PyQt5. Home-page: https://www.qutebrowser.org/ Author: Florian Bruhin diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qutebrowser-1.2.0/tox.ini new/qutebrowser-1.2.1/tox.ini --- old/qutebrowser-1.2.0/tox.ini 2018-03-07 09:13:56.000000000 +0100 +++ new/qutebrowser-1.2.1/tox.ini 2018-03-13 17:51:16.000000000 +0100 @@ -59,7 +59,7 @@ usedevelop = true deps = -r{toxinidir}/requirements.txt - -r{toxinidir}/misc/requirements/requirements-pyqt.txt + -r{toxinidir}/misc/requirements/requirements-pyqt-old.txt [testenv:misc] ignore_errors = true