Subject: bug#21832: 11.88.8; prompt for using LuaTeX/XeTeX engine

From: jfbu <[email-masked]>
Date: Wed, 4 Nov 2015 22:47:30 +0100

Remember to cover the basics, that is, what you expected to happen and
what in fact did happen.

------------------------------------------------------------------------

Hi, 

steps to reproduce:

create file foo.dtx

\iffalse % meta-comment
%<*macos>
\documentclass{article}
\usepackage{fontspec}
\begin{document}
\end{document}
%</macos>
\fi
\documentclass{scrdoc}
\begin{document}
\end{document}

try to run (pdf)latex via C-c C-c

you should see the prompt: 

> 
> XeTeX, LuaTeX are required to build this document.
> Do you want to select one of these engines? 
> 

as an aside: sometimes the prompt appears in the
mini-buffer, sometimes as a pop-up (I use framepop.el)
but I have not been able to determine when happens what.

The problem was from a much bigger dtx file, and it
has taken me quite some time to reduce it to the mwe above.

The above structure is quite typical of a dtx file
which can extract files using docstrip, delimited
by guards in the dtx.

In the case at hand, the parsing done by auctex
could possibly identify the \iffalse ... \fi
but in my actual package.dtx, this is more complicated
as I modify catcodes to safely skip hundreds of lines
containing themselves conditionals. Thus it is more
like ~iffalse...~fi in the source.

The mwe above has given me the idea of another one,
which is a foo.tex, not foo.dtx file:

\documentclass{article}

\usepackage{filecontents}

\begin{filecontents}{bar.tex}
\documentclass{article}
\usepackage{fontspec}
\begin{document}
\end{document}
\end{filecontents}

\begin{document}
\end{document}

This will elicit again the 

> XeTeX, LuaTeX are required to build this document.
> Do you want to select one of these engines? 
> 

prompt.

It was hard to get these two mwe's (although now it looks
obvious) because once we get the prompt we can suppress
the entire buffer contents and put anything and we still get
it. Even after removing entirely auto/ directory, etc...

One has to kill the buffer and reload it to get rid
of the prompt (after having killed the fontspec line)

I noticed the issue with a package of mine. I now realize
something has changed in auctex because a Septembre 2013
version of package.dtx now also shows the issue, and I most
definitely did not encounter it back then,

actually I don't think this problem
was showing up with the September 12, 2015 version of
package.dtx, but I forgot when exactly I saw it for the first time.

Best,

Jean-François

Emacs  : GNU Emacs 24.5.7 (x86_64-apple-darwin13.4.0, Carbon Version 157 AppKit 1265.21)
 of 2015-09-28 on Atago.local
Package: 11.88.8

current state:
==============
(setq
 AUCTeX-date "2015-08-28"
 window-system 'mac
 LaTeX-version "2e"
 TeX-style-path '("~/.emacs.d/auctex"
		  "/Users/xxx/.emacs.d/elpa/auctex-11.88.8/style"
		  "/Users/xxx/.emacs.d/auctex/auto"
		  "/Users/xxx/.emacs.d/auctex/style" "auto" "style")
 TeX-auto-save t
 TeX-parse-self t
 TeX-master t
 TeX-command-list '(("TeX"
		     "%(PDF)%(tex) %(extraopts) %`%S%(PDFout)%(mode)%' %t"
		     TeX-run-TeX nil
		     (plain-tex-mode texinfo-mode ams-tex-mode) :help
		     "Run plain TeX")
		    ("LaTeX" "%`%l%(mode)%' %t" TeX-run-TeX nil
		     (latex-mode doctex-mode) :help "Run LaTeX")
 [...]
 )