Subject: bug#42209: 12.2.4; Text propogated wrong in TeX-fold-mode

From: <[email-masked]>
Date: Sat, 4 Jul 2020 20:39:26 -0400

Dear Everyone,

I have recently discovered TeX-fold-mode and tried to set it. Before I used
prettify-symbols-mode.

There seem to be a problem with propagating text properties when folding.
There seem to be two wrong behaviors (related or unrelated?). 

1.	When folding a macro that includes its text arguments when the
arguments are fontified the fontification gets propagated incorrectly. I
think it gets applied twice, that is wrong when the fontification is not
idempotent e.g. relative size specification
2.	In math mode (maybe not only) all macros (math and non-math) when
folded completely disregard fontification. This looks really bad if you have
a subscript of, say, a sum or an integral and there you have a macro. The
folded version is of the wrong size.

I illustrate with examples

Consider the following LaTeX file (attached as main.tex):

\documentclass{amsart}

\begin{document}

\title{Simple AMSart}

\author{Author McAuthorface}

\maketitle

\section{Section \textit{a} : a \LaTeX macro}

\begin{equation*}

  \int_{\alpha + \beta = \LaTeX + \dots }

\end{equation*}

\end{document}

With the  following configuration of auctex (a complete init.el is attached)

(setq TeX-parse-self t)

(require 'tex)

(add-hook 'LaTeX-mode-hook (lambda ()

                             (TeX-fold-mode 1)))

1.	The default fontification makes "Section :" slightly larger than
normal. This is correct. 

*	The macro \LaTeX gets folded to look like the surrounding text in
the title: CORRECT
*	The macro \textit{a} folds into an "a" as specified by
TeX-fold-macro-spec-list (value included below) but it gets rendered much
larger than the surrounding text
*	I believe because the "enlargement" gets applied twice, but I am not
sure. 

2.	Auctex makes the subscript of the integral in the equation small and
lowered.

*	After folding the Greek symbols and the other macros they appear to
be the same size as "normal" text so they do not inherit the surrounding
fontification. 

Thanks!

Gennady

Emacs  : GNU Emacs 26.3 (build 1, x86_64-w64-mingw32)

of 2019-12-25

Package: 12.2.4

current state:

==============

(setq

AUCTeX-date "2020-06-29"

window-system 'w32

LaTeX-version "2e"

TeX-style-path '("~/.emacs.d/auctex"

"c:/Users/guraltsev/.config/emacsen/clean/straight/build/auctex/style"
"c:/Users/guraltsev/.config/emacsen/clean/auctex/auto"
"c:/Users/guraltsev/.config/emacsen/clean/auctex/style" "auto" "style")

TeX-auto-save nil

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")

                                 )

TeX-fold-macro-spec-list  ' (("[f]"

  ("footnote" "marginpar"))

("[c]"

  ("cite"))

("[l]"

  ("label"))

("[r]"

  ("ref" "pageref" "eqref"))

("[i]"

  ("index" "glossary"))

("[1]:||*"

  ("item"))

("..."

  ("dots"))

("(C)"

  ("copyright"))

("(R)"

  ("textregistered"))

("TM"

  ("texttrademark"))

(1

  ("part" "chapter" "section" "subsection" "subsubsection" "paragraph"
"subparagraph" "part*" "chapter*" "section*" "subsection*" "subsubsection*"
"paragraph*" "subparagraph*" "emph" "textit" "textsl" "textmd" "textrm"
"textsf" "texttt" "textbf" "textsc" "textup"))) 

)