diff options
author | Jim Porter <jporterbugs@gmail.com> | 2024-02-17 20:49:15 -0800 |
---|---|---|
committer | Jim Porter <jporterbugs@gmail.com> | 2024-03-06 14:36:23 -0800 |
commit | 59e470dd5de6e75c4d3bb91c876c8540faf33fdb (patch) | |
tree | 5dce2d1ef354996c9e7cb2d79bc19f87b126883a /etc | |
parent | b12059e4c320f374735a9c00975ef12cb964043f (diff) | |
download | emacs-59e470dd5de6e75c4d3bb91c876c8540faf33fdb.tar.gz |
When navigating through history in EWW, don't keep adding to 'eww-history'
This resolves an issue where navigating back and then forward kept
adding new history entries so you could never hit the "end" (bug#69232).
* lisp/net/eww.el (eww-before-browse-history-function): New option.
(eww-history-position): Add docstring.
(eww-mode-map, eww-context-menu): Use correct predicates for when to
enable back/forward.
(eww-save-history): Save history entry in its original place when
viewing a historical page.
(eww--before-browse): New function...
(eww, eww-follow-link, eww-readable): ... call it.
(eww-render): Don't set 'eww-history-position' here...
(eww--before-browse): ... instead, set it here.
(eww-back-url): Set 'eww-history-position' based on the result of
'eww-save-history'.
(eww-forward-url): Set 'eww-history-position' directly, since
'eww-save-history' no longer adds a new entry in this case.
(eww-delete-future-history, eww-clone-previous-history): New functions.
* test/lisp/net/eww-tests.el: New file.
* etc/NEWS: Announce this change.
Diffstat (limited to 'etc')
-rw-r--r-- | etc/NEWS | 13 |
1 files changed, 13 insertions, 0 deletions
@@ -1018,6 +1018,19 @@ When invoked with the prefix argument ('C-u'), This is useful for continuing reading the URL in the current buffer when the new URL is fetched. +--- +*** History navigation in EWW now works like other browsers. +Previously, when navigating back and forward through page history, EWW +would add a duplicate entry to the end of the history list each time. +This made it impossible to navigate to the "end" of the history list. +Now, navigating through history in EWW simply changes your position in +the history list, allowing you to reach the end as expected. In +addition, when browsing to a new page from a "historical" one (i.e. a +page loaded by navigating back through history), EWW deletes the history +entries newer than the current page. To change the behavior when +browsing from "historical" pages, you can customize +'eww-before-browse-history-function'. + ** go-ts-mode +++ |