Subject: 13.2.3; TeX-LaTeX-Sentinel: a way to stop requiring version line?

From: "Michael Hoffman" <[email-masked]>
Date: Thu, 28 Dec 2023 20:28:25 +0000

I have a few commands in `TeX-command-list' that produce way less output
than typical runs of latex or latexmk. They use texfot
<https://ctan.org/pkg/texfot> to eliminate clutter that requires no
action. Otherwise, they behave in a way where using TeX-run-TeX to run
them and process any errors or warnings that arise would make sense.

Unfortunately, if `TeX-LaTeX-Sentinel' doesn't find any other errors, it
looks for a version line, and if it doesn't find that, it reports
"problems after {(TeX-current-pages)}", and skips reporting warnings or
bad boxes.

My workaround is to insert the text "LaTeX Version" into the script
output to make `TeX-LaTeX-Sentinel' happy. But this is clunky.

It would be best if there were a way to customize the regular expression
that is searched for on successful run of a command. It might be
possible to get rid of this check altogether--it's might be that
checking for a version banner that occurs at the top protects doesn't
protect against many unexpected error conditions--but I assume it's
there for a reason.

Michael

Emacs  : GNU Emacs 29.1 (build 2, x86_64-pc-linux-gnu, GTK+ Version 3.24.20, cairo version 1.16.0)
 of 2023-12-10
Package: 13.2.3

current state:
==============
(setq
 AUCTeX-date "2023-12-07"
 window-system 'x
 LaTeX-version "2e"
 TeX-style-path '("~/.emacs.d/auctex" "/home/mhoffman/.emacs.d/elpa/auctex-13.2.3/style"
                  "/home/mhoffman/.emacs.d/auctex/auto" "/home/mhoffman/.emacs.d/auctex/style" "auto" "style")
 TeX-auto-save t
 TeX-parse-self t
 TeX-master t
 TeX-command-list '(("Fotlatexmk" "echo LaTeX Version; fotlatexmk -file-line-error -pv %t" TeX-run-TeX nil t :help
                     "Run Fotlatexmk")
                    ("Texlint" "echo LaTeX Version; texlint %t" TeX-run-TeX nil t :help "Run Texlint")
                    ("Make" "make" TeX-run-TeX t t :help "Run make")
                    ("Latexmk" "latexmk -pv %t" TeX-run-TeX nil t :help "Run Latexmk")
                    ("Texfot" "texfot pdflatex -file-line-error %t" TeX-run-TeX nil t :help "Run Texfot")
                    ("Copy" "cp -v %s.pdf ~/Dropbox/work/review/next" TeX-run-command t t :help "Copy to Dropbox")
                    ("TeX" "%(PDF)%(tex) %(file-line-error) %`%(extraopts) %S%(PDFout)%(mode)%' %(output-dir) %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) %(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
                     (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 %(O?aux)" TeX-run-BibTeX nil
                     (plain-tex-mode latex-mode doctex-mode ams-tex-mode texinfo-mode context-mode) :help
                     "Run BibTeX")
                    ("Biber" "biber %(output-dir) %s" TeX-run-Biber nil
                     (plain-tex-mode latex-mode doctex-mode ams-tex-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 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 -o %(O?pdf) %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 %(O?pdf)" TeX-run-ps2pdf nil
                     (plain-tex-mode latex-mode doctex-mode ams-tex-mode texinfo-mode) :help
                     "Convert PostScript file to PDF")
                    ("Glossaries" "makeglossaries %(d-dir) %s" TeX-run-command nil
                     (plain-tex-mode latex-mode doctex-mode ams-tex-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 ams-tex-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 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"))
 )