]> git.lyx.org Git - lyx.git/commitdiff
make python string compliant with python 2 and 3
authorJosé Matos <jamatos@lyx.org>
Tue, 9 May 2017 15:53:32 +0000 (16:53 +0100)
committerJosé Matos <jamatos@lyx.org>
Tue, 9 May 2017 15:53:32 +0000 (16:53 +0100)
python 2 does not allow to declare a string as raw byte so we double
the backslashes and remove the r preffix

python 3 accepts rb"..." meaning a byte string that is raw. In this context
raw means that the backslash does not has any special meaning and thus it
is not escaped. This is usefull together with regular expressions where the
backslashes are special.

In the worst possible case, like this one, we must use 4 backslashes to represent
one in the regular expression...

lib/scripts/lyxpreview2bitmap.py

index 68d0a4d37bdaff37f1a6b47deb512c78f3eca09d..094e8f915bb20920621cb6c0bbfa79824b2c6600 100755 (executable)
@@ -161,7 +161,9 @@ def extract_metrics_info(dvipng_stdout):
 
 
 def fix_latex_file(latex_file, pdf_output):
-    def_re = re.compile(rb"(\\newcommandx|\\global\\long\\def)(\\[a-zA-Z]+)")
+    # python 2 does not allow to declare a string as raw byte so we double
+    # the backslashes and remove the r preffix
+    def_re = re.compile(rb"(\\\\newcommandx|\\\\global\\\\long\\\\def)(\\\\[a-zA-Z]+)")
 
     tmp = mkstemp()