From c77b2e0e161673da35be669cace5d7a214743de9 Mon Sep 17 00:00:00 2001 From: Visuwesh Date: Wed, 9 Oct 2024 19:36:18 +0530 Subject: [PATCH] Add imenu support for ODF files in doc-view * lisp/doc-view.el (doc-view--outline): Pass the right file to doc-view--pdf-outline. * doc/emacs/misc.texi (DocView Navigation): Mention support for Open Format Document (ODF) files too. * etc/NEWS: Announce the change. (bug#73719) --- doc/emacs/misc.texi | 15 +++++++++------ etc/NEWS | 8 +++++--- lisp/doc-view.el | 2 ++ 3 files changed, 16 insertions(+), 9 deletions(-) diff --git a/doc/emacs/misc.texi b/doc/emacs/misc.texi index 83b83ea7ae9..f618dadc0d6 100644 --- a/doc/emacs/misc.texi +++ b/doc/emacs/misc.texi @@ -586,12 +586,15 @@ DocView Navigation @vindex doc-view-djvused-program DocView can generate an outline menu for PDF and DjVu documents using the @command{mutool} and the @command{djvused} programs, respectively, -when they are available. This uses the @code{imenu} facility -(@pxref{Imenu}). You can customize how the @code{imenu} items for this -outline are formatted and displayed using the variables -@code{doc-view-imenu-format} and @code{doc-view-imenu-flatten}. The -filename of the @command{djvused} program can be customized by changing -the @code{doc-view-djvused-program} user option. +when they are available. The outline for Open Document Format files as +used by OpenOffice and LibreOffice are also generated using the +@command{mutool} after they are converted to PDF. This uses the +@code{imenu} facility (@pxref{Imenu}). You can customize how the +@code{imenu} items for this outline are formatted and displayed using +the variables @code{doc-view-imenu-format} and +@code{doc-view-imenu-flatten}. The filename of the @command{djvused} +program can be customized by changing the +@code{doc-view-djvused-program} user option. @cindex registers, in DocView mode @findex doc-view-page-to-register diff --git a/etc/NEWS b/etc/NEWS index 67d768f0584..94c27f77765 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -390,10 +390,12 @@ command 'doc-view-page-to-register' (bound to 'm'), and later the stored page can be restored with 'doc-view-jump-to-register' (bound to '''). +++ -*** Docview can generate imenu index for DjVu files. +*** Docview can generate imenu index for DjVu and ODF documents. When the 'djvused' program is available, Docview can now generate imenu -index for DjVu files from its outline. -The name of the 'djvused' program can be customized by changing the user +index for DjVu files from its outline. Index for Open Document Format +(ODF) files as used by OpenOffice and LibreOffice are generated using +the 'mutool' program after their initial conversion to PDF format. The +name of the 'djvused' program can be customized by changing the user option 'doc-view-djvused-program'. ** Tramp diff --git a/lisp/doc-view.el b/lisp/doc-view.el index 57a24418616..bbfbbdec925 100644 --- a/lisp/doc-view.el +++ b/lisp/doc-view.el @@ -2103,6 +2103,8 @@ doc-view--outline ('djvu (when doc-view-djvused-program (doc-view--djvu-outline file-name))) + ('odf + (doc-view--pdf-outline (doc-view-current-cache-doc-pdf))) (_ (doc-view--pdf-outline file-name))))) (when outline (imenu-add-to-menubar "Outline")) -- 2.45.2