Subject: 2019-05-21; Font locking slow and unreliable
From: Gennady Uraltsev <[email-masked]>
To: [email-masked]
Date: Mon, 3 Jun 2019 14:24:03 -0400
List-Id: <debbugs-submit.debbugs.gnu.org>

Dear everyone,

When working with non-trivial length tex files (500 lines?) font locking
in AucTeX stops working reliably. Often changing a single character
inside math (e.g.  $ 1|+1=12 $  to $11|+1=12$ ) makes all the text in
the window become fontified as math text (in my case, color
blue). Sometimes AucTeX recovers after several seconds and sometimes it
fails to recover and I have to issue TeX-normal-mode. Since this is
recurrent it gets quickly annoying. On the other hand I do not know how
to debug this because this depends a lot on the file. Just changing it a
bit sometimes makes the problem disappear. Could anyone suggest an
approach to debugging this so I can submit a more meaningful bug report
about AucTeX font lock?

Emacs  : GNU Emacs 26.2 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.8)
 of 2019-04-12
Package: 2019-05-21

current state:
==============
(setq
 AUCTeX-date "2019-05-21"
 window-system 'x
 LaTeX-version "2e"
 TeX-style-path '("/usr/local/var/auctex"
"/home/guraltsev/.emacs.d/straight/build/auctex/auctex/style"
"/home/guraltsev/.emacs.d/auctex/auto"
		  "/home/guraltsev/.emacs.d/auctex/style" "auto" "style")
 TeX-auto-save t
 TeX-parse-self t
 TeX-master "../main"
 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"))
 )