From 15db10f756e1069ba59a4a22462da408a58088e7 Mon Sep 17 00:00:00 2001 From: Visuwesh Date: Wed, 9 Oct 2024 19:36:18 +0530 Subject: [PATCH] Add imenu support for OpenOffice documents 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 OpenOffice documents too. * etc/NEWS: Announce the change. --- doc/emacs/misc.texi | 14 ++++++++------ etc/NEWS | 6 ++++-- lisp/doc-view.el | 2 ++ 3 files changed, 14 insertions(+), 8 deletions(-) diff --git a/doc/emacs/misc.texi b/doc/emacs/misc.texi index 83b83ea7ae9..14196c107c1 100644 --- a/doc/emacs/misc.texi +++ b/doc/emacs/misc.texi @@ -586,12 +586,14 @@ 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 OpenOffice documents 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..5b6dcf6fa18 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -390,9 +390,11 @@ 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 OpenOffice documents. When the 'djvused' program is available, Docview can now generate imenu -index for DjVu files from its outline. +index for DjVu files from its outline. Index for OpenOffice files 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'. 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