On 11/23/2015 08:23 PM, Scott Kostyshak wrote:
> On Tue, Nov 24, 2015 at 02:01:04AM +0100, Uwe Stöhr wrote:
>> Am 24.11.2015 um 01:44 schrieb Scott Kostyshak:
>>
>>> Do you think 'revert_verbatim_star' would be a better name?
>> Fine, it is in the attached patch.
>>
>> Besides these, the new patch also fixed a missing * in the lyx2lyx code.
> Looks good. Let's see what Richard thinks about creating the
> function for shared code. If he doesn't think it is worth it, then
> please commit.

Obviously, the advantage to this is that we re-use code and make it
easier to maintain. So I've adapted it as discussed.

Uwe, please test that this new patch does what you want it to do. I've
tested it, but only minimally.

Another issue is that \verbatim* is not presently handled properly by
tex2lyx. If we are going to add verbatim* support for 2.2, then it seems
to me that we should also have tex2lyx support. What's worse is that
tex2lyx makes a total mess of that other file I've attached.

Richard

>From 029b07ecd0711753095031c375eefe3c6ad05f05 Mon Sep 17 00:00:00 2001
From: Richard Heck <rgh...@lyx.org>
Date: Mon, 23 Nov 2015 21:00:14 -0500
Subject: [PATCH] Support verbatim*.

---
 development/FORMAT                                  |  5 +++++
 lib/layouts/stdlayouts.inc                          |  5 +++++
 lib/lyx2lyx/LyX.py                                  |  2 +-
 lib/lyx2lyx/lyx_2_1.py                              | 13 +++++++++----
 lib/lyx2lyx/lyx_2_2.py                              | 11 +++++++++--
 src/tex2lyx/test/CJK.lyx.lyx                        |  2 +-
 src/tex2lyx/test/CJKutf8.lyx.lyx                    |  2 +-
 src/tex2lyx/test/DummyDocument.lyx.lyx              |  2 +-
 src/tex2lyx/test/Dummy~Document.lyx.lyx             |  2 +-
 src/tex2lyx/test/XeTeX-polyglossia.lyx.lyx          |  2 +-
 src/tex2lyx/test/algo2e.lyx.lyx                     |  2 +-
 src/tex2lyx/test/box-color-size-space-align.lyx.lyx |  2 +-
 src/tex2lyx/test/test-insets-basic.lyx.lyx          |  2 +-
 src/tex2lyx/test/test-insets.lyx.lyx                |  2 +-
 src/tex2lyx/test/test-memoir.lyx.lyx                |  2 +-
 src/tex2lyx/test/test-modules.lyx.lyx               |  2 +-
 src/tex2lyx/test/test-refstyle-theorems.lyx.lyx     |  2 +-
 src/tex2lyx/test/test-scr.lyx.lyx                   |  2 +-
 src/tex2lyx/test/test-structure.lyx.lyx             |  2 +-
 src/tex2lyx/test/test.lyx.lyx                       |  2 +-
 src/tex2lyx/test/verbatim.lyx.lyx                   |  2 +-
 src/version.h                                       |  4 ++--
 22 files changed, 47 insertions(+), 25 deletions(-)

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 <uwesto...@web.de>
+	* Format incremented to 503
+	  No new parameters.
+	  Add environment "verbatim*" to stdlayouts.inc.
+
 2015-11-18 Uwe Stöhr <uwesto...@web.de>
 	* 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..a2bc3d8 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 = False):
+    " Revert verbatim environments completely to TeX-code. "
     i = 0
     consecutive = False
     subst_end = ['\end_layout', '', '\\begin_layout Plain Layout',
@@ -831,13 +831,18 @@ def revert_verbatim(document):
                    '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/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
-- 
2.1.0

Attachment: verbatim.tex
Description: TeX document

Reply via email to