Fix wrong CommandInset lyx2lyx conversion

Thanks to Scott for testing. Command insets do not use InsetText for the
arguments, so users have to write them in LaTeX syntax (this is bug #4595).
Therefore we must leave hyphens alone in these insets.
This commit is contained in:
Georg Baum 2015-03-01 10:52:13 +01:00
parent 776a4f53c2
commit d50154ab04

View File

@ -491,8 +491,9 @@ def convert_dashes(document):
while i < len(document.body): while i < len(document.body):
words = document.body[i].split() words = document.body[i].split()
if len(words) > 1 and words[0] == "\\begin_inset" and \ if len(words) > 1 and words[0] == "\\begin_inset" and \
words[1] in ["ERT", "Formula", "IPA"]: words[1] in ["CommandInset", "ERT", "Formula", "IPA"]:
# must not replace anything in math # must not replace anything in insets that store LaTeX contents in .lyx files
# (math and command insets withut overridden read() and write() methods
# filtering out IPA makes Text::readParToken() more simple # filtering out IPA makes Text::readParToken() more simple
# skip ERT as well since it is not needed there # skip ERT as well since it is not needed there
j = find_end_of_inset(document.body, i) j = find_end_of_inset(document.body, i)
@ -530,7 +531,7 @@ def revert_dashes(document):
while i < len(document.body): while i < len(document.body):
words = document.body[i].split() words = document.body[i].split()
if len(words) > 1 and words[0] == "\\begin_inset" and \ if len(words) > 1 and words[0] == "\\begin_inset" and \
words[1] in ["ERT", "Formula", "IPA"]: words[1] in ["CommandInset", "ERT", "Formula", "IPA"]:
# see convert_dashes # see convert_dashes
j = find_end_of_inset(document.body, i) j = find_end_of_inset(document.body, i)
if j == -1: if j == -1: