Currently this is tested with display-graphic-p
instead of
display-images-p
. Another thing to consider is whether an image
created with (insert-image ... ALT)
works better than inserting
text.
This seems to mostly happen with librsvg as it fails to resolve these relative to the current directory. Might require Emacs patches.
An alternative “solution” is to edit SVGs to not contain relative paths after unzipping…
Update: Someone on emacs-devel posted a patch for the former strategy: https://lists.gnu.org/archive/html/emacs-devel/2020-12/msg00119.html
Ultimately this is a problem of exposing the render function as interactive command. This turned out to be a mistake, but can be fixed by renaming it to a double-dashed version, marking the original as obsolete and creating a new command that remembers the position. The new function could then restore position and maybe even reuse
Much like with remembering the last viewed position per file, you
could remember it per document. It doesn’t make sense for navigation
with SPC
and S-SPC
to do this though, so an override is required
(like an optional parameter or explicitly setting the position to
(point-min)
when using SPC
).
This basically amounts to a full rewrite using generic functions. It doesn’t help the format is used for Russian literature mostly and is documented in terms of a few XML files.
http://gribuser.ru/xml/fictionbook/index.html.en
There are a few approaches to this, none of them strike me as good enough to pursue:
- Using grep to do fuzzy matching, then jumping to the “right” location. Tricky because there is no correspondance between rendered buffer and HTML source. Rejected on emacs-devel: https://lists.gnu.org/archive/html/emacs-devel/2020-02/msg00096.html
- Using
dom-texts
on the HTML parse trees, then jumping to the “right” location using fuzzy matching of the text. - Using isearch in one document, then loading up the adjacent one if needed. Slow unless caching is used and implementing that is another can of worms.