commit 4cb209b121430b38606932e31d2659bd7ed57447
Author: Richard Kimberly Heck <[email protected]>
Date:   Mon Jul 16 22:14:36 2018 -0400

    Speed up convert_captionlayouts. Part of #11200.
---
 lib/lyx2lyx/lyx_2_1.py |   17 ++++++++---------
 1 files changed, 8 insertions(+), 9 deletions(-)

diff --git a/lib/lyx2lyx/lyx_2_1.py b/lib/lyx2lyx/lyx_2_1.py
index c8500c7..09e74a3 100644
--- a/lib/lyx2lyx/lyx_2_1.py
+++ b/lib/lyx2lyx/lyx_2_1.py
@@ -3659,23 +3659,22 @@ def convert_captionlayouts(document):
         "Bicaption" : "Bicaption",
         }
 
-    i = 0
-    while True:
-        i = find_token(document.body, "\\begin_layout", i)
-        if i == -1:
-            return
-        val = get_value(document.body, "\\begin_layout", i)
-        if val in list(caption_dict.keys()):
+    for captype in caption_dict.keys():
+        i = 0
+        while True:
+            i = find_token(document.body, "\\begin_layout " + captype, i)
+            if i == -1:
+                break
             j = find_end_of_layout(document.body, i)
             if j == -1:
                 document.warning("Malformed LyX document: Missing 
`\\end_layout'.")
-                return
+                break
 
             document.body[j:j] = ["\\end_layout", "", "\\end_inset", "", ""]
             document.body[i:i+1] = ["\\begin_layout %s" % 
document.default_layout,
                                     "\\begin_inset Caption %s" % 
caption_dict[val], "",
                                     "\\begin_layout %s" % 
document.default_layout]
-        i += 1
+            i = j + 1
 
 
 def revert_captionlayouts(document):

Reply via email to