Author: forenr
Date: Tue May 31 03:12:27 2011
New Revision: 38894
URL: http://www.lyx.org/trac/changeset/38894
Log:
On Windows, avoid spaces in filenames passed to latex by using the
short form of the path.
Modified:
lyx-devel/trunk/lib/configure.py
Modified: lyx-devel/trunk/lib/configure.py
==============================================================================
--- lyx-devel/trunk/lib/configure.py Mon May 30 09:15:21 2011 (r38893)
+++ lyx-devel/trunk/lib/configure.py Tue May 31 03:12:27 2011 (r38894)
@@ -102,7 +102,14 @@
from tempfile import mkstemp
fd, tmpfname = mkstemp(suffix='.ltx')
if os.name == 'nt':
- inpname = tmpfname.replace('\\', '/')
+ from ctypes import windll, create_unicode_buffer
+ GetShortPathName = windll.kernel32.GetShortPathNameW
+ longname = unicode(tmpfname)
+ shortname = create_unicode_buffer(len(longname)+1)
+ if GetShortPathName(longname, shortname, len(longname)+1):
+ inpname = shortname.value.replace('\\', '/')
+ else:
+ inpname = tmpfname.replace('\\', '/')
else:
inpname = cmdOutput('cygpath -m ' + tmpfname)
logname = os.path.basename(inpname.replace('.ltx', '.log'))