Handle invalid URLs in :jump-mark
This commit is contained in:
parent
b527cf53d2
commit
4ae3df62c5
@ -30,6 +30,12 @@ Changed
|
|||||||
`gg` can be used with a count.
|
`gg` can be used with a count.
|
||||||
- Aliases can now use `;;` to have an alias which executed multiple commands.
|
- Aliases can now use `;;` to have an alias which executed multiple commands.
|
||||||
|
|
||||||
|
Fixed
|
||||||
|
-----
|
||||||
|
|
||||||
|
- Using `:jump-mark` (e.g. `''`) when the current URL is invalid doesn't crash
|
||||||
|
anymore.
|
||||||
|
|
||||||
v0.7.0
|
v0.7.0
|
||||||
------
|
------
|
||||||
|
|
||||||
|
@ -668,21 +668,30 @@ class TabbedBrowser(tabwidget.TabWidget):
|
|||||||
Args:
|
Args:
|
||||||
key: mark identifier; capital indicates a global mark
|
key: mark identifier; capital indicates a global mark
|
||||||
"""
|
"""
|
||||||
# consider urls that differ only in fragment to be identical
|
try:
|
||||||
urlkey = self.current_url().adjusted(QUrl.RemoveFragment)
|
# consider urls that differ only in fragment to be identical
|
||||||
|
urlkey = self.current_url().adjusted(QUrl.RemoveFragment)
|
||||||
|
except qtutils.QtValueError:
|
||||||
|
urlkey = None
|
||||||
|
|
||||||
frame = self.currentWidget().page().currentFrame()
|
frame = self.currentWidget().page().currentFrame()
|
||||||
|
|
||||||
if key.isupper() and key in self._global_marks:
|
if key.isupper():
|
||||||
point, url = self._global_marks[key]
|
if key in self._global_marks:
|
||||||
|
point, url = self._global_marks[key]
|
||||||
|
|
||||||
@pyqtSlot(bool)
|
@pyqtSlot(bool)
|
||||||
def callback(ok):
|
def callback(ok):
|
||||||
if ok:
|
if ok:
|
||||||
self.cur_load_finished.disconnect(callback)
|
self.cur_load_finished.disconnect(callback)
|
||||||
frame.setScrollPosition(point)
|
frame.setScrollPosition(point)
|
||||||
|
|
||||||
self.openurl(url, newtab=False)
|
self.openurl(url, newtab=False)
|
||||||
self.cur_load_finished.connect(callback)
|
self.cur_load_finished.connect(callback)
|
||||||
|
else:
|
||||||
|
message.error(self._win_id, "Mark {} is not set".format(key))
|
||||||
|
elif urlkey is None:
|
||||||
|
message.error(self._win_id, "Current URL is invalid!")
|
||||||
elif urlkey in self._local_marks and key in self._local_marks[urlkey]:
|
elif urlkey in self._local_marks and key in self._local_marks[urlkey]:
|
||||||
point = self._local_marks[urlkey][key]
|
point = self._local_marks[urlkey][key]
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user