Subject: Re: bug#31685: 12.1.1; Preview with cached preamble fails with lualatex engine and filenames with spaces

From: Ikumi Keita <[email-masked]>
Date: Thu, 07 Jun 2018 15:00:44 +0900

>>>>> Ikumi Keita <[email-masked]> writes:
>>>>> jfbu <[email-masked]> writes:

>> 1. the cached format can not be generated

[...]

> I combined the due change to cope with these issues and made up the
> attached patch.

The previous patch doesn't play nice with non-ascii characters escaped
with backslash again, so I revised it further.  The attached patch is
for the current git repository.  The regexp in
`preview-dump-replacements' is changed from
	\\\.  (written as \\\\\\. in string literal)
to
	\\.   (written as \\\\. in string leteral)
this time.  Whereas the former matches a sequence of "a backslash
followed by a period", I can't think of a reason to distinguish period
from other chars in the context here.  So I changed it to the latter so
that any chars escaped with backslash are treated equally.  The same
regexp is used in `preview-undump-replacements', too.

I also revised the regression test since the previous one didn't test
what should be tested actually, and added another test.

If other problems aren't found, I'll commit this in several days.

> ----------------------------------------------------------------------
> However, I'm puzzled now by very weird emacs 26 behavior.  Currently, I
> cannot sort out regression test yet.

I filed a bug report at
https://debbugs.gnu.org/cgi/bugreport.cgi?bug=31718
and a fix is proposed.  It isn't yet clear whether this fix is
incorportated in Emacs officially.  Anyway, without this fix,
`LaTeX-includegraphics-extensions(-list)' in style/graphicx.el doesn't
return the correct value when `TeX-engine' is neither `default',
`luatex' nor `xetex', when byte-compiled by emacs 26.
In addition, other codes that have a structure of
(cond ((eq TeX-engine 'default)
       ...)
       ...
      (t
       ...))
suffer similar failure, if there are any such codes.

Regards,
Ikumi Keita