Subject: bug#40965: 12.2.0; Update all mode lines in TeX-command-sentinel?

From: David Fussner <[email-masked]>
Date: Wed, 29 Apr 2020 16:02:42 +0100

When running LaTeX on a file, the mode-line notifications of compilation,
e.g.:

[compiling] (LaTeX/P Compiling Ref)

disappear when compilation is complete, but _only_ in the LaTeX buffer
where the command was issued. The notifications appear in the mode lines
of all windows in all frames, and remain there, somewhat confusingly,
until you switch focus to that frame or window. I frequently have a
BibTeX buffer in a window below a LaTeX buffer in the same frame, and I
find this somewhat distracting, more noticeably so now in GNU Emacs 27
where there are more notifications. I've checked with GNU Emacs 26 and
the problem is there, and also with an older AUCTeX version. Current
master behaves the same in my testing.

In Emacs' compile.el compilation-sentinel calls
compilation--update-in-progress-mode-line at the end, which tells
whether compilation is ongoing and if not calls (force-mode-line-update
t) to return all mode lines to their state pre-compilation. Would
something similar in TeX-command-sentinel in tex-buf.el be the right
thing?

Best,

David.

Emacs  : GNU Emacs 27.0.91 (build 1, i686-pc-linux-gnu, GTK+ Version 3.18.9)
 of 2020-04-23
Package: 12.2.0

current state:
==============
(setq
 AUCTeX-date "2019-10-31"
 window-system 'x
 LaTeX-version "2e"
 TeX-style-path '("~/.emacs.d/auctex"
 "~/.emacs.d/elpa/auctex-12.2.0/style"
 "~/.emacs.d/auctex/auto"
 "~/.emacs.d/auctex/style" "auto" "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)%' %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")
   )
 )