Consider file encoding for modules in reconfigure

If the modules are not in utf8 then we warn and skip that file
like it happens for layout files.

This a port of commit a8094051c1 to stable.
This commit is contained in:
José Matos 2020-08-15 21:02:38 +01:00
parent 65c8e70588
commit f548903630
2 changed files with 18 additions and 6 deletions

View File

@ -228,7 +228,7 @@ def checkTeXPaths():
if sys.version_info[0] < 3:
inpname = shortPath(unicode(tmpfname, encoding)).replace('\\', '/')
else:
inpname = shortPath(tmpfname).replace('\\', '/')
inpname = shortPath(tmpfname).replace('\\', '/')
else:
inpname = cmdOutput('cygpath -m ' + tmpfname)
logname = os.path.basename(re.sub("(?i).ltx", ".log", inpname))
@ -1174,7 +1174,7 @@ def checkConverterEntries():
\converter svgz png "%%" ""'''],
path = ['', inkscape_path])
#
checkProg('Gnuplot', ['gnuplot'],
checkProg('Gnuplot', ['gnuplot'],
rc_entry = [ r'''\Format gnuplot "gp, gnuplot" "Gnuplot" "" "" "" "vector" "text/plain"
\converter gnuplot pdf6 "python -tt $$s/scripts/gnuplot2pdf.py $$i $$o" "needauth"''' ])
#
@ -1584,9 +1584,17 @@ def checkModulesConfig():
continue
seen.append(filename)
retval = processModuleFile(file, filename, bool_docbook)
if retval:
tx.write(retval)
try:
retval = processModuleFile(file, filename, bool_docbook)
if retval:
tx.write(retval)
except UnicodeDecodeError:
logger.warning("**************************************************\n"
"Module file '%s'\n"
"cannot be decoded in utf-8.\n"
"Please check if the file has the correct encoding.\n"
"Skipping this file!\n"
"**************************************************" % filename)
tx.close()
logger.info('\tdone')

View File

@ -88,7 +88,7 @@ What's new
- Do not allow editing of math package list in Document > Settings > Math Options,
thus preventing a crash (bug 11931).
- Maintain standard layout for separating paragraphs when switching layouts (bug 11936).
@ -114,3 +114,7 @@ What's new
- Wininstaller, fix bug where previous installations, with emergency version
greater than 1, could not be seen in registry on overinstall
- Do not break configuration if a module file is not decodable (file
not encoded in utf-8). Rather than that, issue a warning and skip
that file (a variant of bug 11736).