Subject: bug#69232: 30.0.50; [PATCH] EWW history navigation gets caught in a loop

From: James Thomas <[email-masked]>
Date: Fri, 01 Mar 2024 05:00:34 +0530

Jim Porter wrote:

> On 2/28/2024 11:03 PM, Eli Zaretskii wrote:
>> Thanks, but I thought we were talking about some user option, since at
>> least some people said they don't like what other browsers do?
>
> I'll wait to see if James has anything to say about this patch, but my
> understanding was that his problem was that the first version of my
> patch *didn't* work like other browsers, and he wanted something
> closer to that.

The current patch is much better for me personally: 'l' and 'r' now do
what they're supposed to do. But my ideal (short of any advanced 'tree'
mechanism), as I originally stated, would've been to _insert_ (rather
than _replace_) the new history at the position in the current history
where it's created (but I see that there's no SOP for that in (info
"(elisp) Minibuffer History"), and that there could be performance
implications).

> I don't mind adding an option though, once we have an idea of what
> options we'd want to support. One simple way might be to add some
> option like 'eww-history-replacement-function' (name suggestions
> welcome), which runs any time the user is at a historical page and
> navigates to a new one. This would default to the hypothetical
> function 'eww-history-delete-future' and do what my latest patch does.
> Then users can write their own functions to modify the behavior.

Why not simply make 'eww-save-history' customizable?

> It would also be nice to have an option like the Emacs 29 behavior,
> but with the bug in my original report still fixed. I'm not sure
> exactly the best implementation for this yet though...

TBH I don't think anyone would have been (ab)using it effectively
because each 'l' or 'r' made things more complicated; but the advantage
that *all* of history was available with 'H'.

(I'm using this patch and will let you know if I see anything amiss)

Regards,
James