Subject: bug#25276: 11.89.8; xetex engine not work when master filename contains space

From: Arash Esbati <[email-masked]>
Date: Tue, 27 Dec 2016 11:39:05 +0100

Hi Mosè,

Mosè Giordano <[email-masked]> writes:

> 2016-12-26 16:34 GMT+01:00 Qiang Yin <[email-masked]>:
>> Hi,
>> I prefer xetex as my default tex engine. But this will cause a AucTeX
>> bug when the master filename contains a space.
>>
>> The following is a minimal example. It contains only one master file "foo
>> bar.tex". Notice the filename contains a space. And the content of "foo
>> bar.tex" is just the following:
>>
>> \documentclass{article}
>> \begin{document}
>> Hello world
>> \end{document}
>> %%% Local Variables:
>> %%% mode: latex
>> %%% TeX-master: t
>> %%% TeX-engine: xetex
>> %%% End:

I can reproduce this behavior on Windows.  I think the issue is an extra
pair of single quotes (see below).

>> Now if press C-c C-c to compile this file. AucTeX will return the
>> following error message:
>>
>> Running `LaTeX' on `foo bar' with ``xelatex  -file-line-error  --synctex=1
>> -interaction=nonstopmode "\input" ^"\^"foo bar.tex\^"^"''
>> This is XeTeX, Version 3.14159265-2.6-0.99996 (TeX Live 2016/W32TeX)
>> (preloaded format=xelatex)
>>  restricted \write18 enabled.
>> entering extended mode
>> LaTeX2e <2016/03/31> patch level 3
>> Babel <3.9r> and hyphenation patterns for 83 language(s) loaded.
>> ! I can't find file `'"foo bar.tex"''.
>> <*> \input '"foo bar.tex"'
>>
>> (Press Enter to retry, or Control-Z to exit)
>> Please type another input file name
>> ! Emergency stop.
>> <*> \input '"foo bar.tex"'
              ^_____________^

For reasons not clear to me, the compiler gets the file name passed in
those single quotes.  As a test, at a command prompt I can do

    xelatex -interaction=nonstopmode "\input" "foo bar.tex"

and it works, but

    xelatex -interaction=nonstopmode "\input" '"foo bar.tex"'

exits with:

    This is XeTeX, Version 3.14159265-2.6-0.99996 (TeX Live 2016/W32TeX) (preloaded format=xelatex)
     restricted \write18 enabled.
    entering extended mode
    LaTeX2e <2016/03/31> patch level 3
    Babel <3.9r> and hyphenation patterns for 67 language(s) loaded.
    ! I can't find file `'"foo bar.tex"''.
    <*> \input '"foo bar.tex"'

    (Press Enter to retry, or Control-Z to exit)
    Please type another input file name
    ! Emergency stop.
    <*> \input '"foo bar.tex"'

Does this help?

Best, Arash