GNU bug report logs - #76612
14.0.8; TeX-engine=xetex causes "No matching viewer found" with TeX-command-run-all

Previous Next

Package: auctex;

Reported by: Zhuohua Li <lizhuohua1994 <at> gmail.com>

Date: Thu, 27 Feb 2025 17:59:02 UTC

Severity: normal

Tags: fixed

Merged with 76631

Found in version 14.0.8

Fixed in version 14.1.0

Done: Arash Esbati <arash <at> gnu.org>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 76612 in the body.
You can then email your comments to 76612 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-auctex <at> gnu.org:
bug#76612; Package auctex. (Thu, 27 Feb 2025 17:59:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Zhuohua Li <lizhuohua1994 <at> gmail.com>:
New bug report received and forwarded. Copy sent to bug-auctex <at> gnu.org. (Thu, 27 Feb 2025 17:59:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Zhuohua Li <lizhuohua1994 <at> gmail.com>
To: bug-auctex <at> gnu.org
Subject: 14.0.8; TeX-engine=xetex causes "No matching viewer found" with
 TeX-command-run-all
Date: Thu, 27 Feb 2025 17:48:50 +0800
Hello AUCTeX maintainers,

I've encountered an issue when using `TeX-engine = xetex` in AUCTeX.
Specifically, invoking `TeX-command-run-all` fails to launch a PDF
viewer with the error:

#+begin_example
error in process sentinel: TeX-view-command-raw: No matching viewer found
#+end_example

After some investigation, I noticed that this problem seems to have
been introduced by commit `4a345e2`. In that commit, `latexmk` is
invoked with the option `-pdfxe` when TeX-engine is xetex:

#+begin_src elisp
(cond ((eq TeX-engine 'xetex)
       " -pdfxe")
 ...
#+end_src

When `latexmk` runs with `-pdfxe`, it creates an `.xdv` file before
producing the PDF, and it appears AUCTeX ends up attempting to open
the `.xdv` file rather than the final PDF. This leads to the
viewer-launch failure and the "No matching viewer found" error
message.

** Steps to Reproduce

1. Create a tex file with the following minimal example.
   #+begin_src latex
   \documentclass{article}
   \begin{document}
   test
   \end{document}

   %%% Local Variables:
   %%% coding: utf-8
   %%% mode: latex
   %%% TeX-master: t
   %%% TeX-engine: xetex
   %%% End:
   #+end_src
2. Make a small edit to the file to ensure that `latexmk` will trigger
a rebuild. Then run `TeX-command-run-all`.
3. Observe that AUCTeX fails to launch a PDF viewer.

** Proposed Fix

Instead of passing `-pdfxe` to `latexmk`, I replaced it with:

#+begin_src elisp
(cond ((eq TeX-engine 'xetex)
       " -pdf -pdflatex=xelatex")
 ...
#+end_src

This change instructs `latexmk` to produce a PDF directly using
`xelatex`, and in my tests, it resolves the viewer launch issue.

I do not know whether my fix is appropriate, but I hope it helps.

Emacs  : GNU Emacs 29.4 (build 1, x86_64-pc-linux-gnu, GTK+ Version
3.24.42, cairo version 1.18.2)
 of 2025-02-26
Package: 14.0.8

current state:
==============
(setq
 window-system 'pgtk
 LaTeX-version "2e"
 TeX-style-path '("/home/li/.config/emacs/.local/cache/auctex/"

"/home/li/.config/emacs/.local/straight/build-29.4/auctex/style"
                  "/home/li/.config/emacs/.local/cache/auctex/.auctex-auto"

"/home/li/.config/emacs/.local/cache/auctex/.auctex-style"
".auctex-auto" ".auctex-style")
 TeX-auto-save t
 TeX-parse-self t
 TeX-master t
 TeX-command-list '(("TeX" "%(PDF)%(tex) %(file-line-error)
%`%(extraopts) %S%(PDFout)%(mode)%' %(output-dir) %t"
                     TeX-run-TeX nil (plain-TeX-mode AmSTeX-mode
Texinfo-mode) :help "Run plain TeX")
                    ("LaTeX" "%`%l%(mode)%' %T" TeX-run-TeX nil
(LaTeX-mode docTeX-mode) :help "Run LaTeX")
                    ("Makeinfo" "makeinfo %(extraopts) %(o-dir) %t"
TeX-run-compile nil (Texinfo-mode) :help
                     "Run Makeinfo with Info output")
                    ("Makeinfo HTML" "makeinfo %(extraopts) %(o-dir)
--html %t" TeX-run-compile nil
                     (Texinfo-mode) :help "Run Makeinfo with HTML output")
                    ("AmSTeX" "amstex %(PDFout) %`%(extraopts)
%S%(mode)%' %(output-dir) %t" TeX-run-TeX nil
                     (AmSTeX-mode) :help "Run AMSTeX")
                    ("ConTeXt" "%(cntxcom) --once %(extraopts)
%(execopts)%t" TeX-run-TeX nil (ConTeXt-mode)
                     :help "Run ConTeXt once")
                    ("ConTeXt Full" "%(cntxcom) %(extraopts)
%(execopts)%t" TeX-run-TeX nil (ConTeXt-mode) :help
                     "Run ConTeXt until completion")
                    ("BibTeX" "bibtex %(O?aux)" TeX-run-BibTeX nil
                     (plain-TeX-mode LaTeX-mode docTeX-mode
AmSTeX-mode Texinfo-mode ConTeXt-mode) :help
                     "Run BibTeX")
                    ("Biber" "biber %(output-dir) %s" TeX-run-Biber nil
                     (plain-TeX-mode LaTeX-mode docTeX-mode
AmSTeX-mode Texinfo-mode) :help "Run Biber")
                    ("Texindex" "texindex %s.??" TeX-run-command nil
(Texinfo-mode) :help "Run Texindex")
                    ("Texi2dvi" "%(PDF)texi2dvi %t" TeX-run-command
nil (Texinfo-mode) :help
                     "Run Texi2dvi or Texi2pdf")
                    ("View" "%V" TeX-run-discard-or-function t t :help
"Run Viewer")
                    ("Print" "%p" TeX-run-command t t :help "Print the file")
                    ("Queue" "%q" TeX-run-background nil t :help "View
the printer queue" :visible
                     TeX-queue-command)
                    ("File" "%(o?)dvips %d -o %f " TeX-run-dvips t
                     (plain-TeX-mode LaTeX-mode docTeX-mode
AmSTeX-mode Texinfo-mode) :help
                     "Generate PostScript file")
                    ("Dvips" "%(o?)dvips %d -o %f " TeX-run-dvips nil
                     (plain-TeX-mode LaTeX-mode docTeX-mode
AmSTeX-mode Texinfo-mode) :help
                     "Convert DVI file to PostScript")
                    ("Dvipdfmx" "dvipdfmx -o %(O?pdf) %d" TeX-run-dvipdfmx nil
                     (plain-TeX-mode LaTeX-mode docTeX-mode
AmSTeX-mode Texinfo-mode) :help
                     "Convert DVI file to PDF with dvipdfmx")
                    ("Ps2pdf" "ps2pdf %f %(O?pdf)" TeX-run-ps2pdf nil
                     (plain-TeX-mode LaTeX-mode docTeX-mode
AmSTeX-mode Texinfo-mode) :help
                     "Convert PostScript file to PDF")
                    ("LaTeXMk"
                     "latexmk %(latexmk-out) %(file-line-error)
%(output-dir) %`%(extraopts) %S%(mode)%' %t"
                     TeX-run-format nil (LaTeX-mode docTeX-mode) :help
"Run LaTeXMk")
                    ("Glossaries" "makeglossaries %(d-dir) %s"
TeX-run-command nil
                     (plain-TeX-mode LaTeX-mode docTeX-mode
AmSTeX-mode Texinfo-mode) :help
                     "Run makeglossaries to create glossary file")
                    ("Index" "makeindex %(O?idx)" TeX-run-index nil
                     (plain-TeX-mode LaTeX-mode docTeX-mode
AmSTeX-mode Texinfo-mode) :help
                     "Run makeindex to create index file")
                    ("upMendex" "upmendex %(O?idx)" TeX-run-index t
                     (plain-TeX-mode LaTeX-mode docTeX-mode
AmSTeX-mode Texinfo-mode) :help
                     "Run upmendex to create index file")
                    ("Xindy" "texindy %s" TeX-run-command nil
                     (plain-TeX-mode LaTeX-mode docTeX-mode
AmSTeX-mode Texinfo-mode) :help
                     "Run xindy to create index file")
                    ("Check" "chktex -v6 -H %s" TeX-run-compile nil
(LaTeX-mode) :help
                     "Check LaTeX file for correctness")
                    ("ChkTeX" "chktex -v6 %s" TeX-run-compile nil
(LaTeX-mode) :help
                     "Check LaTeX file for common mistakes")
                    ("Spell" "(TeX-ispell-document \"\")"
TeX-run-function nil t :help "Spell-check the document")
                    ("Clean" "TeX-clean" TeX-run-function nil t :help
"Delete generated intermediate files")
                    ("Clean All" "(TeX-clean t)" TeX-run-function nil t :help
                     "Delete generated intermediate and output files")
                    ("Other" "" TeX-run-command t t :help "Run an
arbitrary command"))
 )




Information forwarded to bug-auctex <at> gnu.org:
bug#76612; Package auctex. (Fri, 28 Feb 2025 09:24:02 GMT) Full text and rfc822 format available.

Message #8 received at 76612 <at> debbugs.gnu.org (full text, mbox):

From: Arash Esbati <arash <at> gnu.org>
To: Zhuohua Li <lizhuohua1994 <at> gmail.com>
Cc: 76612 <at> debbugs.gnu.org
Subject: Re: bug#76612: 14.0.8; TeX-engine=xetex causes "No matching viewer
 found" with TeX-command-run-all
Date: Fri, 28 Feb 2025 10:22:11 +0100
Hi Zhuohua,

Zhuohua Li <lizhuohua1994 <at> gmail.com> writes:

> I've encountered an issue when using `TeX-engine = xetex` in AUCTeX.
> Specifically, invoking `TeX-command-run-all` fails to launch a PDF
> viewer with the error:

Thanks for raising this issue, the reproducer and a solution.

> ** Proposed Fix
>
> Instead of passing `-pdfxe` to `latexmk`, I replaced it with:
>
> #+begin_src elisp
> (cond ((eq TeX-engine 'xetex)
>        " -pdf -pdflatex=xelatex")
>  ...
> #+end_src

I would install the following change:

--8<---------------cut here---------------start------------->8---
diff --git a/tex.el b/tex.el
index 590f938a..622e980a 100644
--- a/tex.el
+++ b/tex.el
@@ -681,7 +681,7 @@ string."
     ("%(latexmk-out)"
      (lambda ()
        (cond ((eq TeX-engine 'xetex)
-              " -pdfxe")
+              " -pdf -pdflatex=xelatex")
              ((eq TeX-engine 'luatex)
               (cond ((and TeX-PDF-mode
                           (TeX-PDF-from-DVI))
--8<---------------cut here---------------end--------------->8---

With this change, users will loose the compilation speed mentioned in
LaTeXMk manual, but this is the best option we currently have, I think.

At some point, we probably have to do the dance we do for luatex in
terms of creating a .pdf or .dvi, but I'm not familiar enough with XeTeX
and LaTeXMk options to do that now.

I'll wait another day or two if there are other comments, and then
install the patch (and possibly make a new release).

Best, Arash




Merged 76612 76631. Request was from Arash Esbati <arash <at> gnu.org> to control <at> debbugs.gnu.org. (Fri, 28 Feb 2025 09:45:03 GMT) Full text and rfc822 format available.

Information forwarded to bug-auctex <at> gnu.org:
bug#76612; Package auctex. (Wed, 05 Mar 2025 06:26:02 GMT) Full text and rfc822 format available.

Message #13 received at 76612 <at> debbugs.gnu.org (full text, mbox):

From: Arash Esbati <arash <at> gnu.org>
To: Zhuohua Li <lizhuohua1994 <at> gmail.com>
Cc: 76612 <at> debbugs.gnu.org
Subject: Re: bug#76612: 14.0.8; TeX-engine=xetex causes "No matching viewer
 found" with TeX-command-run-all
Date: Wed, 05 Mar 2025 07:25:10 +0100
tags 76612 fixed
close 76612 14.1.0
thanks

Arash Esbati <arash <at> gnu.org> writes:

> I would install the following change:
>
> diff --git a/tex.el b/tex.el
> index 590f938a..622e980a 100644
> --- a/tex.el
> +++ b/tex.el
> @@ -681,7 +681,7 @@ string."
>      ("%(latexmk-out)"
>       (lambda ()
>         (cond ((eq TeX-engine 'xetex)
> -              " -pdfxe")
> +              " -pdf -pdflatex=xelatex")
>               ((eq TeX-engine 'luatex)
>                (cond ((and TeX-PDF-mode
>                            (TeX-PDF-from-DVI))

I installed this change with commit 059ba17a, and therefore closing this
issue.  Thanks for the report.

Best, Arash




Added tag(s) fixed. Request was from Arash Esbati <arash <at> gnu.org> to control <at> debbugs.gnu.org. (Wed, 05 Mar 2025 06:26:03 GMT) Full text and rfc822 format available.

bug marked as fixed in version 14.1.0, send any further explanations to 76612 <at> debbugs.gnu.org and Zhuohua Li <lizhuohua1994 <at> gmail.com> Request was from Arash Esbati <arash <at> gnu.org> to control <at> debbugs.gnu.org. (Wed, 05 Mar 2025 06:26:03 GMT) Full text and rfc822 format available.

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Wed, 02 Apr 2025 11:24:16 GMT) Full text and rfc822 format available.

This bug report was last modified 76 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.