bug-auctex
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#57544: 12.2; Viewer does not open correct file with `-jobname' speci


From: Christian Holm Christensen
Subject: bug#57544: 12.2; Viewer does not open correct file with `-jobname' specified
Date: Fri, 2 Sep 2022 10:34:08 +0200

Hi,

First: Love AUCTeX

The bug:  If the user specifies a `-jobname' option, then the AUCTeX
view command does not necessarily open the correct output file.

A minimal example

    %% File `foo.tex'
    \documentclass{article}
    \begin{document}
    Hello, world
    \end{document}
    %% Local Variables:
    %%   TeX-command-extra-options: "-jobname bar"
    %% End:

Open this with Emacs, and compile with `C-c C-c' to make `bar.pdf`

Then try to open the output with

- `C-c C-c View RET', which in my case is `TeX-evince-sync-view', and
  the viewer complains that there is no `foo.pdf', or
- `C-c C-v' which makes AUCTeX complain `Output file "foo.pdf" does not
  exist.'

The culprit seems to be in `TeX-expand-list-builtin` where the `%o`
expansion is defined as

    ("%o" (lambda nil (funcall file (TeX-output-extension) t)))

This should probably be a bit more clever and parse
`TeX-command-extra-options` to see if a job name was specified.

I can't off the top of my head figure out which function `file` points
to in the above, but it seems that function should do a bit more work:

- Check for `-jobname` or the like
- Check for `-output-directory` or the like

Another option would be to have buffer-local variables - say

- TeX-command-jobname (passed as argument to `-jobname`)
- TeX-command-output-directory (pass as argument to `-output-directory`)

which would default to `file-name-sans-extension` and `or
(file-name-directory) "."`, or something like that.

Thanks.

Christian


Emacs  : GNU Emacs 28.1 (build 1, x86_64-pc-linux-gnu, GTK+ Version
3.24.34, cairo version 1.16.0)
 of 2022-08-21, modified by Debian
Package: 12.2

current state:
==============
(setq
 AUCTeX-date "2019-10-30"
 window-system 'x
 LaTeX-version "2e"
 TeX-style-path '("/var/lib/auctex/emacs/"
  "/usr/share/emacs/site-lisp/auctex/style"
  "/home/fubar/.emacs.d/auctex/auto"
  "/home/fubar/.emacs.d/auctex/style" "auto" "style")
 TeX-auto-save nil
 TeX-parse-self nil
 TeX-master t
 TeX-command-list '(("TeX"
     "%(PDF)%(tex) %(file-line-error) %`%(extraopts) %S%(PDFout)%(mode)%' %t"
     TeX-run-TeX nil
     (plain-tex-mode ams-tex-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) %t" TeX-run-compile nil
     (texinfo-mode) :help "Run Makeinfo with Info output")
    ("Makeinfo HTML" "makeinfo %(extraopts) --html %t"
     TeX-run-compile nil (texinfo-mode) :help
     "Run Makeinfo with HTML output")
    ("AmSTeX" "amstex %(PDFout) %`%(extraopts) %S%(mode)%' %t"
     TeX-run-TeX nil (ams-tex-mode) :help "Run AMSTeX")
    ("ConTeXt"
     "%(cntxcom) --once --texutil %(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) %s" TeX-run-BibTeX nil
     (plain-tex-mode latex-mode doctex-mode ams-tex-mode
      texinfo-mode context-mode)
     :help "Run BibTeX")
    ("Biber" "biber %s" TeX-run-Biber nil
     (plain-tex-mode latex-mode doctex-mode ams-tex-mode
      texinfo-mode)
     :help "Run Biber")
    ("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 ams-tex-mode
      texinfo-mode)
     :help "Generate PostScript file")
    ("Dvips" "%(o?)dvips %d -o %f " TeX-run-dvips nil
     (plain-tex-mode latex-mode doctex-mode ams-tex-mode
      texinfo-mode)
     :help "Convert DVI file to PostScript")
    ("Dvipdfmx" "dvipdfmx %d" TeX-run-dvipdfmx nil
     (plain-tex-mode latex-mode doctex-mode ams-tex-mode
      texinfo-mode)
     :help "Convert DVI file to PDF with dvipdfmx")
    ("Ps2pdf" "ps2pdf %f" TeX-run-ps2pdf nil
     (plain-tex-mode latex-mode doctex-mode ams-tex-mode
      texinfo-mode)
     :help "Convert PostScript file to PDF")
    ("Glossaries" "makeglossaries %s" TeX-run-command nil
     (plain-tex-mode latex-mode doctex-mode ams-tex-mode
      texinfo-mode)
     :help "Run makeglossaries to create glossary\n     file")
    ("Index" "%(makeindex) %s" TeX-run-index nil
     (plain-tex-mode latex-mode doctex-mode ams-tex-mode
      texinfo-mode)
     :help "Run makeindex to create index file")
    ("upMendex" "upmendex %s" TeX-run-index t
     (plain-tex-mode latex-mode doctex-mode ams-tex-mode
      texinfo-mode)
     :help "Run upmendex to create index file")
    ("Xindy" "texindy %s" TeX-run-command nil
     (plain-tex-mode latex-mode doctex-mode ams-tex-mode
      texinfo-mode)
     :help "Run xindy to create index file")
    ("Check" "lacheck %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")
    )
 )


-- 
Christian Holm Christensen -------------------------------------------------
 Sankt Hans Gade 23, 4, DK-2200 Copenhagen
 http://cern.ch/cholm, +4524618591





reply via email to

[Prev in Thread] Current Thread [Next in Thread]