commit f95e238ccd5aad76cfcbd5aeed50105998133d97
Author: José Matos <[email protected]>
Date:   Sun Aug 25 10:14:18 2024 +0100

    Python 3.13 removed the pipes module from the standard library
    
    That module was a wrapper over the popen module and it was scheduled to
    be removed in Python 3.11.
    
    This code is also compatible with Python 2.
    
    (cherry picked from commit d06a034578da4b20fb26e53ff983a77ca90bd07c)
---
 lib/scripts/legacy_lyxpreview2ppm.py | 17 ++++++++---------
 status.24x                           |  6 ++++--
 2 files changed, 12 insertions(+), 11 deletions(-)

diff --git a/lib/scripts/legacy_lyxpreview2ppm.py 
b/lib/scripts/legacy_lyxpreview2ppm.py
index 7803441636..1a8a2b6c4b 100644
--- a/lib/scripts/legacy_lyxpreview2ppm.py
+++ b/lib/scripts/legacy_lyxpreview2ppm.py
@@ -79,7 +79,7 @@
 # If possible, the script will use pdftocairo instead of gs,
 # as it's much faster and gives better results.
 
-import glob, os, pipes, re, sys, tempfile
+import glob, os, re, subprocess, sys, tempfile
 
 from lyxpreview_tools import check_latex_log, copyfileobj, error, 
filter_pages,\
      find_exe, find_exe_or_terminate, join_metrics_and_rename, latex_commands, 
\
@@ -281,16 +281,15 @@ def legacy_latex_file(latex_file, fg_color, bg_color):
 
 
 def crop_files(pnmcrop, basename):
-    t = pipes.Template()
-    t.append('%s -left' % pnmcrop, '--')
-    t.append('%s -right' % pnmcrop, '--')
-
     for file in glob.glob("%s*.ppm" % basename):
         tmp = tempfile.TemporaryFile()
-        new = t.open(file, "r")
-        copyfileobj(new, tmp)
-        if not new.close():
-            copyfileobj(tmp, open(file,"wb"), 1)
+        conv_call = f'{pnmcrop} -left -right -- {file}'
+        conv_status = subprocess.run(conv_call, stdout=tmp)
+
+        if conv_status:
+            continue
+
+        copyfileobj(tmp, open(file, "wb"), 1)
 
 
 def legacy_conversion(argv, skipMetrics = False):
diff --git a/status.24x b/status.24x
index 48d3ccbdbe..a5db20964d 100644
--- a/status.24x
+++ b/status.24x
@@ -72,7 +72,7 @@ What's new
 
 - When exporting to MathML, the argument of the \boxed{} macro is now
   correctly treated as math.
-  
+
 - Properly escape special characters (!, @, |) in nomenclature output.
 
 - Handle linguistic structure trees in ePub and PDF (DocBook) output (bug 
12372).
@@ -119,6 +119,9 @@ What's new
 - Fix possible crash in undo code after inserting note inset over a
   multi-paragraph selection.
 
+- Fix a Python script, used to preview math expressions, that used a
+  module that is removed in Python 3.13.
+
 
 * DOCUMENTATION AND LOCALIZATION
 
@@ -144,4 +147,3 @@ What's new
 * BUILD/INSTALLATION
 
 - Fix 'make install' target for autotools builds with autoconf >= 2.72.
-
-- 
lyx-cvs mailing list
[email protected]
http://lists.lyx.org/mailman/listinfo/lyx-cvs

Reply via email to