commit bfc749eb237ad1db8aa899279ecf32bb4847f07a
Author: Uwe Stöhr <[email protected]>
Date:   Tue Nov 24 23:56:26 2015 +0100

    stdlayouts.inc: support for verbatim*
    
    fileformat change

diff --git a/development/FORMAT b/development/FORMAT
index d41b8b5..c4d9b4d 100644
--- a/development/FORMAT
+++ b/development/FORMAT
@@ -11,6 +11,11 @@ adjustments are made to tex2lyx and bugs are fixed in 
lyx2lyx.
 
 -----------------------
 
+2015-11-24 Uwe Stöhr <[email protected]>
+       * Format incremented to 503
+         No new parameters.
+         Add environment "verbatim*" to stdlayouts.inc.
+
 2015-11-18 Uwe Stöhr <[email protected]>
        * Format incremented to 502
          No new parameters.
diff --git a/lib/layouts/stdlayouts.inc b/lib/layouts/stdlayouts.inc
index f8367eb..4612cbd 100644
--- a/lib/layouts/stdlayouts.inc
+++ b/lib/layouts/stdlayouts.inc
@@ -95,3 +95,8 @@ Style Verbatim
        HTMLItem              p
 End
 
+
+Style Verbatim*
+       CopyStyle             Verbatim
+       LatexName             verbatim*
+End
diff --git a/lib/lyx2lyx/LyX.py b/lib/lyx2lyx/LyX.py
index 6916184..d9ad0d6 100644
--- a/lib/lyx2lyx/LyX.py
+++ b/lib/lyx2lyx/LyX.py
@@ -85,7 +85,7 @@ format_relation = [("0_06",    [200], minor_versions("0.6" , 
4)),
                    ("1_6", list(range(277,346)), minor_versions("1.6" , 10)),
                    ("2_0", list(range(346,414)), minor_versions("2.0" , 8)),
                    ("2_1", list(range(414,475)), minor_versions("2.1" , 0)),
-                   ("2_2", list(range(475,503)), minor_versions("2.2" , 0))
+                   ("2_2", list(range(475,504)), minor_versions("2.2" , 0))
                   ]
 
 ####################################################################
diff --git a/lib/lyx2lyx/lyx_2_1.py b/lib/lyx2lyx/lyx_2_1.py
index 074433f..d986493 100644
--- a/lib/lyx2lyx/lyx_2_1.py
+++ b/lib/lyx2lyx/lyx_2_1.py
@@ -814,8 +814,8 @@ def revert_cancel(document):
     revert_use_package(document, "cancel", cancel_commands, False)
 
 
-def revert_verbatim(document):
-    " Revert verbatim einvironments completely to TeX-code. "
+def revert_verbatim(document, starred):
+    " Revert verbatim environments completely to TeX-code. "
     i = 0
     consecutive = False
     subst_end = ['\end_layout', '', '\\begin_layout Plain Layout',
@@ -830,14 +830,32 @@ def revert_verbatim(document):
                    '\\begin_layout Plain Layout', '', '', '\\backslash',
                    'begin{verbatim}',
                    '\\end_layout', '', '\\begin_layout Plain Layout', '']
+    if starred:
+        subst_end = ['\end_layout', '', '\\begin_layout Plain Layout',
+                '\end_layout', '',
+                 '\\begin_layout Plain Layout', '', '',
+                 '\\backslash', '',
+                 'end{verbatim*}',
+                 '\\end_layout', '', '\\end_inset',
+                 '', '', '\\end_layout']
+        subst_begin = ['\\begin_layout Standard', '\\noindent',
+                       '\\begin_inset ERT', 'status open', '',
+                       '\\begin_layout Plain Layout', '', '', '\\backslash',
+                       'begin{verbatim*}',
+                       '\\end_layout', '', '\\begin_layout Plain Layout', '']
+
+    layout_name = "Verbatim"
+    if starred:
+        layout_name = "Verbatim*"
 
     while 1:
-        i = find_token(document.body, "\\begin_layout Verbatim", i)
+        i = find_token(document.body, "\\begin_layout %s" % (layout_name), i)
         if i == -1:
             return
         j = find_end_of_layout(document.body, i)
         if j == -1:
-            document.warning("Malformed LyX document: Can't find end of 
Verbatim layout")
+            document.warning("Malformed LyX document: Can't find end of %s 
layout" \
+              % (layout_name))
             i += 1
             continue
         # delete all line breaks insets (there are no other insets)
diff --git a/lib/lyx2lyx/lyx_2_2.py b/lib/lyx2lyx/lyx_2_2.py
index e4d5387..b9ea260 100644
--- a/lib/lyx2lyx/lyx_2_2.py
+++ b/lib/lyx2lyx/lyx_2_2.py
@@ -31,7 +31,7 @@ import sys, os
 #  del_token, check_token, get_option_value
 
 from lyx2lyx_tools import add_to_preamble, put_cmd_in_ert, lyx2latex, \
-  length_in_bp#, \
+  length_in_bp
 #  insert_to_preamble, latex_length, revert_flex_inset, \
 #  revert_font_attrs, hex2ratio, str2bool
 
@@ -2156,6 +2156,11 @@ def revert_solution(document):
         i = j
 
 
+def revert_verbatim_star(document):
+    from lyx_2_1 import revert_verbatim
+    revert_verbatim(document, True)
+
+
 ##
 # Conversion hub
 #
@@ -2192,10 +2197,12 @@ convert = [
            [499, [convert_moderncv]],
            [500, []],
            [501, [convert_fontsettings]],
-           [502, []]
+           [502, []],
+           [503, []]
           ]
 
 revert =  [
+           [502, [revert_verbatim_star]],
            [501, [revert_solution]],
            [500, [revert_fontsettings]],
            [499, [revert_achemso]],
diff --git a/src/tex2lyx/test/CJK.lyx.lyx b/src/tex2lyx/test/CJK.lyx.lyx
index 49c8dd5..46b602a 100644
--- a/src/tex2lyx/test/CJK.lyx.lyx
+++ b/src/tex2lyx/test/CJK.lyx.lyx
@@ -1,5 +1,5 @@
 #LyX file created by tex2lyx 2.2
-\lyxformat 502
+\lyxformat 503
 \begin_document
 \begin_header
 \origin roundtrip
diff --git a/src/tex2lyx/test/CJKutf8.lyx.lyx b/src/tex2lyx/test/CJKutf8.lyx.lyx
index 3da93b9..1db5855 100644
--- a/src/tex2lyx/test/CJKutf8.lyx.lyx
+++ b/src/tex2lyx/test/CJKutf8.lyx.lyx
@@ -1,5 +1,5 @@
 #LyX file created by tex2lyx 2.2
-\lyxformat 502
+\lyxformat 503
 \begin_document
 \begin_header
 \origin roundtrip
diff --git a/src/tex2lyx/test/DummyDocument.lyx.lyx 
b/src/tex2lyx/test/DummyDocument.lyx.lyx
index 10c8258..effaf8b 100644
--- a/src/tex2lyx/test/DummyDocument.lyx.lyx
+++ b/src/tex2lyx/test/DummyDocument.lyx.lyx
@@ -1,5 +1,5 @@
 #LyX file created by tex2lyx 2.2
-\lyxformat 502
+\lyxformat 503
 \begin_document
 \begin_header
 \origin roundtrip
diff --git a/src/tex2lyx/test/Dummy~Document.lyx.lyx 
b/src/tex2lyx/test/Dummy~Document.lyx.lyx
index b590ee9..cf3acba 100644
--- a/src/tex2lyx/test/Dummy~Document.lyx.lyx
+++ b/src/tex2lyx/test/Dummy~Document.lyx.lyx
@@ -1,5 +1,5 @@
 #LyX file created by tex2lyx 2.2
-\lyxformat 502
+\lyxformat 503
 \begin_document
 \begin_header
 \origin roundtrip
diff --git a/src/tex2lyx/test/XeTeX-polyglossia.lyx.lyx 
b/src/tex2lyx/test/XeTeX-polyglossia.lyx.lyx
index f5fe7ea..6685a03 100644
--- a/src/tex2lyx/test/XeTeX-polyglossia.lyx.lyx
+++ b/src/tex2lyx/test/XeTeX-polyglossia.lyx.lyx
@@ -1,5 +1,5 @@
 #LyX file created by tex2lyx 2.2
-\lyxformat 502
+\lyxformat 503
 \begin_document
 \begin_header
 \origin roundtrip
diff --git a/src/tex2lyx/test/algo2e.lyx.lyx b/src/tex2lyx/test/algo2e.lyx.lyx
index 59fd2b0..9bbecd3 100644
--- a/src/tex2lyx/test/algo2e.lyx.lyx
+++ b/src/tex2lyx/test/algo2e.lyx.lyx
@@ -1,5 +1,5 @@
 #LyX file created by tex2lyx 2.2
-\lyxformat 502
+\lyxformat 503
 \begin_document
 \begin_header
 \origin roundtrip
diff --git a/src/tex2lyx/test/box-color-size-space-align.lyx.lyx 
b/src/tex2lyx/test/box-color-size-space-align.lyx.lyx
index 6492204..5f56411 100644
--- a/src/tex2lyx/test/box-color-size-space-align.lyx.lyx
+++ b/src/tex2lyx/test/box-color-size-space-align.lyx.lyx
@@ -1,5 +1,5 @@
 #LyX file created by tex2lyx 2.2
-\lyxformat 502
+\lyxformat 503
 \begin_document
 \begin_header
 \origin roundtrip
diff --git a/src/tex2lyx/test/test-insets-basic.lyx.lyx 
b/src/tex2lyx/test/test-insets-basic.lyx.lyx
index 984660a..366f7fb 100644
--- a/src/tex2lyx/test/test-insets-basic.lyx.lyx
+++ b/src/tex2lyx/test/test-insets-basic.lyx.lyx
@@ -1,5 +1,5 @@
 #LyX file created by tex2lyx 2.2
-\lyxformat 502
+\lyxformat 503
 \begin_document
 \begin_header
 \origin roundtrip
diff --git a/src/tex2lyx/test/test-insets.lyx.lyx 
b/src/tex2lyx/test/test-insets.lyx.lyx
index d8bac4e..5b125a3 100644
--- a/src/tex2lyx/test/test-insets.lyx.lyx
+++ b/src/tex2lyx/test/test-insets.lyx.lyx
@@ -1,5 +1,5 @@
 #LyX file created by tex2lyx 2.2
-\lyxformat 502
+\lyxformat 503
 \begin_document
 \begin_header
 \origin roundtrip
diff --git a/src/tex2lyx/test/test-memoir.lyx.lyx 
b/src/tex2lyx/test/test-memoir.lyx.lyx
index d05a2e2..9be82a5 100644
--- a/src/tex2lyx/test/test-memoir.lyx.lyx
+++ b/src/tex2lyx/test/test-memoir.lyx.lyx
@@ -1,5 +1,5 @@
 #LyX file created by tex2lyx 2.2
-\lyxformat 502
+\lyxformat 503
 \begin_document
 \begin_header
 \origin roundtrip
diff --git a/src/tex2lyx/test/test-modules.lyx.lyx 
b/src/tex2lyx/test/test-modules.lyx.lyx
index 1a2dca7..fb49a44 100644
--- a/src/tex2lyx/test/test-modules.lyx.lyx
+++ b/src/tex2lyx/test/test-modules.lyx.lyx
@@ -1,5 +1,5 @@
 #LyX file created by tex2lyx 2.2
-\lyxformat 502
+\lyxformat 503
 \begin_document
 \begin_header
 \origin roundtrip
diff --git a/src/tex2lyx/test/test-refstyle-theorems.lyx.lyx 
b/src/tex2lyx/test/test-refstyle-theorems.lyx.lyx
index 22e57d7..4a99ba8 100644
--- a/src/tex2lyx/test/test-refstyle-theorems.lyx.lyx
+++ b/src/tex2lyx/test/test-refstyle-theorems.lyx.lyx
@@ -1,5 +1,5 @@
 #LyX file created by tex2lyx 2.2
-\lyxformat 502
+\lyxformat 503
 \begin_document
 \begin_header
 \origin roundtrip
diff --git a/src/tex2lyx/test/test-scr.lyx.lyx 
b/src/tex2lyx/test/test-scr.lyx.lyx
index a97578c..ac150e6 100644
--- a/src/tex2lyx/test/test-scr.lyx.lyx
+++ b/src/tex2lyx/test/test-scr.lyx.lyx
@@ -1,5 +1,5 @@
 #LyX file created by tex2lyx 2.2
-\lyxformat 502
+\lyxformat 503
 \begin_document
 \begin_header
 \origin roundtrip
diff --git a/src/tex2lyx/test/test-structure.lyx.lyx 
b/src/tex2lyx/test/test-structure.lyx.lyx
index 2f9c095..d167f37 100644
--- a/src/tex2lyx/test/test-structure.lyx.lyx
+++ b/src/tex2lyx/test/test-structure.lyx.lyx
@@ -1,5 +1,5 @@
 #LyX file created by tex2lyx 2.2
-\lyxformat 502
+\lyxformat 503
 \begin_document
 \begin_header
 \origin roundtrip
diff --git a/src/tex2lyx/test/test.lyx.lyx b/src/tex2lyx/test/test.lyx.lyx
index 68b2dc6..935bced 100644
--- a/src/tex2lyx/test/test.lyx.lyx
+++ b/src/tex2lyx/test/test.lyx.lyx
@@ -1,5 +1,5 @@
 #LyX file created by tex2lyx 2.2
-\lyxformat 502
+\lyxformat 503
 \begin_document
 \begin_header
 \origin roundtrip
diff --git a/src/tex2lyx/test/verbatim.lyx.lyx 
b/src/tex2lyx/test/verbatim.lyx.lyx
index 3d1f60c..4a43049 100644
--- a/src/tex2lyx/test/verbatim.lyx.lyx
+++ b/src/tex2lyx/test/verbatim.lyx.lyx
@@ -1,5 +1,5 @@
 #LyX file created by tex2lyx 2.2
-\lyxformat 502
+\lyxformat 503
 \begin_document
 \begin_header
 \origin roundtrip
diff --git a/src/tex2lyx/text.cpp b/src/tex2lyx/text.cpp
index ab4c75f..ecf6bf2 100644
--- a/src/tex2lyx/text.cpp
+++ b/src/tex2lyx/text.cpp
@@ -1555,15 +1555,25 @@ void parse_environment(Parser & p, ostream & os, bool 
outer,
                preamble.registerAutomaticallyLoadedPackage("verbatim");
        }
 
-       else if (name == "verbatim") {
+       else if (unstarred_name == "verbatim" || name == "verbatim*") {
                // FIXME: this should go in the generic code that
                // handles environments defined in layout file that
                // have "PassThru 1". However, the code over there is
                // already too complicated for my taste.
+               string ascii_name;
+               string env_name;
+               if (unstarred_name == "verbatim") {
+                       ascii_name = "Verbatim";
+                       env_name = "verbatim";
+               }
+               if (name == "verbatim*") {
+                       ascii_name = "Verbatim*";
+                       env_name = name;
+               }
                parent_context.new_paragraph(os);
                Context context(true, parent_context.textclass,
-                               
&parent_context.textclass[from_ascii("Verbatim")]);
-               string s = p.verbatimEnvironment("verbatim");
+                               
&parent_context.textclass[from_ascii(ascii_name)]);
+               string s = p.verbatimEnvironment(env_name);
                output_ert(os, s, context);
                p.skip_spaces();
        }
diff --git a/src/version.h b/src/version.h
index 0871b0a..fff8c5a 100644
--- a/src/version.h
+++ b/src/version.h
@@ -32,8 +32,8 @@ extern char const * const lyx_version_info;
 
 // Do not remove the comment below, so we get merge conflict in
 // independent branches. Instead add your own.
-#define LYX_FORMAT_LYX 502 // uwestoehr: new environment "solution" in theorems
-#define LYX_FORMAT_TEX2LYX 502
+#define LYX_FORMAT_LYX 503 // uwestoehr: support for verbatim* environment
+#define LYX_FORMAT_TEX2LYX 503
 
 #if LYX_FORMAT_TEX2LYX != LYX_FORMAT_LYX
 #ifndef _MSC_VER

Reply via email to