summaryrefslogtreecommitdiff
path: root/etc
diff options
context:
space:
mode:
authorJim Porter <jporterbugs@gmail.com>2024-02-17 20:49:15 -0800
committerJim Porter <jporterbugs@gmail.com>2024-03-06 14:36:23 -0800
commit59e470dd5de6e75c4d3bb91c876c8540faf33fdb (patch)
tree5dce2d1ef354996c9e7cb2d79bc19f87b126883a /etc
parentb12059e4c320f374735a9c00975ef12cb964043f (diff)
downloademacs-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/NEWS13
1 files changed, 13 insertions, 0 deletions
diff --git a/etc/NEWS b/etc/NEWS
index fd957fdb115..745b3b12936 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -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
+++