mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-11-09 18:31:04 +00:00
Update format to 340.
Move \begin_layout to \begin_layout Plain Layout for consistency. git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@26020 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
parent
04ab3867c4
commit
94b2838bec
@ -1,6 +1,9 @@
|
||||
LyX file-format changes
|
||||
-----------------------
|
||||
|
||||
2008-08-01 José Matos <jamatos@fc.up.pt>
|
||||
* Format incremented to 340: move empty layouts to "Plain Layout".
|
||||
|
||||
2008-07-28 Richard Heck <rgheck@brown.edu>
|
||||
* Format incremented to 339: removal of default modules.
|
||||
|
||||
|
@ -227,7 +227,7 @@ def latex2ert(line):
|
||||
end = rest
|
||||
# If we wanted to put labels into an InsetLabel, for example, then we
|
||||
# would just need to test here for cmd == "label" and then take some
|
||||
# appropriate action, i.e., to use arg to get the content and then
|
||||
# appropriate action, i.e., to use arg to get the content and then
|
||||
# wrap it appropriately.
|
||||
cmd = put_cmd_in_ert(cmd)
|
||||
retval += "\n" + cmd + "\n"
|
||||
@ -238,7 +238,7 @@ def latex2ert(line):
|
||||
|
||||
|
||||
def latex2lyx(data):
|
||||
'''Takes a string, possibly multi-line, and returns the result of
|
||||
'''Takes a string, possibly multi-line, and returns the result of
|
||||
converting LaTeX constructs into LyX constructs. Returns a list of
|
||||
lines, suitable for insertion into document.body.'''
|
||||
|
||||
@ -304,7 +304,7 @@ def lyx2latex(lines):
|
||||
content = ""
|
||||
ert_end = 0
|
||||
reps = read_unicodesymbols()
|
||||
|
||||
|
||||
for curline in range(len(lines)):
|
||||
line = lines[curline]
|
||||
if line.startswith("\\begin_inset ERT"):
|
||||
@ -341,7 +341,7 @@ def lyx2latex(lines):
|
||||
line.strip() == "status open":
|
||||
#skip all that stuff
|
||||
continue
|
||||
|
||||
|
||||
# a lossless reversion is not possible
|
||||
# try at least to handle some common insets and settings
|
||||
# do not replace inside ERTs
|
||||
@ -1315,7 +1315,8 @@ def convert_ams_classes(document):
|
||||
return
|
||||
m = r.match(document.body[i])
|
||||
if m == None:
|
||||
document.warning("Weirdly formed \\begin_layout at line %d of body!" % i)
|
||||
# This is an empty layout
|
||||
# document.warning("Weirdly formed \\begin_layout at line %d of body!" % i)
|
||||
i += 1
|
||||
continue
|
||||
m = m.group(1)
|
||||
@ -1622,7 +1623,7 @@ def convert_framed_notes(document):
|
||||
'position "t"',
|
||||
'hor_pos "c"',
|
||||
'has_inner_box 0',
|
||||
'inner_pos "t"',
|
||||
'inner_pos "t"',
|
||||
'use_parbox 0',
|
||||
'width "100col%"',
|
||||
'special "none"',
|
||||
@ -1778,7 +1779,7 @@ def revert_nobreakdash(document):
|
||||
|
||||
#Returns number of lines added/removed
|
||||
def revert_nocite_key(body, start, end):
|
||||
'key "..." -> \nocite{...}'
|
||||
'key "..." -> \nocite{...}'
|
||||
r = re.compile(r'^key "(.*)"')
|
||||
i = start
|
||||
j = end
|
||||
@ -1948,17 +1949,17 @@ def revert_rotfloat(document):
|
||||
subst = ['\\begin_layout Standard',
|
||||
'\\begin_inset ERT',
|
||||
'status collapsed', '',
|
||||
'\\begin_layout Standard', '', '',
|
||||
'\\begin_layout Standard', '', '',
|
||||
'\\backslash', '',
|
||||
'end{sideways' + floattype + '}',
|
||||
'\\end_layout', '', '\\end_inset']
|
||||
document.body[j : j+1] = subst
|
||||
addedLines = len(subst) - 1
|
||||
del document.body[i+1 : l]
|
||||
addedLines -= (l-1) - (i+1)
|
||||
addedLines -= (l-1) - (i+1)
|
||||
subst = ['\\begin_inset ERT', 'status collapsed', '',
|
||||
'\\begin_layout Standard', '', '', '\\backslash',
|
||||
'begin{sideways' + floattype + '}',
|
||||
'\\begin_layout Standard', '', '', '\\backslash',
|
||||
'begin{sideways' + floattype + '}',
|
||||
'\\end_layout', '', '\\end_inset', '',
|
||||
'\\end_layout', '']
|
||||
document.body[i : i+1] = subst
|
||||
@ -2007,10 +2008,10 @@ def revert_widesideways(document):
|
||||
if l == -1:
|
||||
document.warning("Malformed LyX document: Missing `\\begin_layout' in Float inset.")
|
||||
return
|
||||
subst = ['\\begin_layout Standard', '\\begin_inset ERT',
|
||||
'status collapsed', '',
|
||||
subst = ['\\begin_layout Standard', '\\begin_inset ERT',
|
||||
'status collapsed', '',
|
||||
'\\begin_layout Standard', '', '', '\\backslash',
|
||||
'end{sideways' + floattype + '*}',
|
||||
'end{sideways' + floattype + '*}',
|
||||
'\\end_layout', '', '\\end_inset']
|
||||
document.body[j : j+1] = subst
|
||||
addedLines = len(subst) - 1
|
||||
@ -2076,10 +2077,10 @@ def convert_subfig(document):
|
||||
del document.body[l]
|
||||
del document.body[k]
|
||||
addedLines = -2
|
||||
subst = ['\\begin_inset Float figure', 'wide false', 'sideways false',
|
||||
'status open', '', '\\begin_layout Plain Layout', '\\begin_inset Caption',
|
||||
subst = ['\\begin_inset Float figure', 'wide false', 'sideways false',
|
||||
'status open', '', '\\begin_layout Plain Layout', '\\begin_inset Caption',
|
||||
'', '\\begin_layout Plain Layout'] + latex2lyx(caption) + \
|
||||
[ '\\end_layout', '', '\\end_inset', '',
|
||||
[ '\\end_layout', '', '\\end_inset', '',
|
||||
'\\end_layout', '', '\\begin_layout Plain Layout']
|
||||
document.body[i : i] = subst
|
||||
addedLines += len(subst)
|
||||
@ -2805,7 +2806,7 @@ def remove_fontsCJK(document):
|
||||
|
||||
|
||||
def convert_plain_layout(document):
|
||||
" Convert 'PlainLayout' to 'Plain Layout'"
|
||||
" Convert 'PlainLayout' to 'Plain Layout'"
|
||||
i = 0
|
||||
while True:
|
||||
i = find_token(document.body, '\\begin_layout PlainLayout', i)
|
||||
@ -2817,7 +2818,7 @@ def convert_plain_layout(document):
|
||||
|
||||
|
||||
def revert_plain_layout(document):
|
||||
" Convert 'PlainLayout' to 'Plain Layout'"
|
||||
" Convert 'PlainLayout' to 'Plain Layout'"
|
||||
i = 0
|
||||
while True:
|
||||
i = find_token(document.body, '\\begin_layout Plain Layout', i)
|
||||
@ -2829,7 +2830,7 @@ def revert_plain_layout(document):
|
||||
|
||||
|
||||
def revert_plainlayout(document):
|
||||
" Convert 'PlainLayout' to 'Plain Layout'"
|
||||
" Convert 'PlainLayout' to 'Plain Layout'"
|
||||
i = 0
|
||||
while True:
|
||||
i = find_token(document.body, '\\begin_layout PlainLayout', i)
|
||||
@ -2873,6 +2874,16 @@ def revert_removed_modules(document):
|
||||
document.header[i : j + 1] = []
|
||||
|
||||
|
||||
def add_plain_layout(document):
|
||||
i = 0
|
||||
while True:
|
||||
i = find_token(document.body, "\\begin_layout", i)
|
||||
if i == -1:
|
||||
return
|
||||
if len(document.body[i].split()) == 1:
|
||||
document.body[i] = "\\begin_layout Plain Layout"
|
||||
i += 1
|
||||
|
||||
##
|
||||
# Conversion hub
|
||||
#
|
||||
@ -2941,9 +2952,11 @@ convert = [[277, [fix_wrong_tables]],
|
||||
[337, [convert_display_enum]],
|
||||
[338, []],
|
||||
[339, []],
|
||||
[340, [add_plain_layout]]
|
||||
]
|
||||
|
||||
revert = [[338, [revert_removed_modules]],
|
||||
revert = [[339, []],
|
||||
[338, [revert_removed_modules]],
|
||||
[337, [revert_polytonicgreek]],
|
||||
[336, [revert_display_enum]],
|
||||
[335, [remove_fontsCJK]],
|
||||
|
@ -115,7 +115,7 @@ namespace os = support::os;
|
||||
|
||||
namespace {
|
||||
|
||||
int const LYX_FORMAT = 339; //rgh: removed modules
|
||||
int const LYX_FORMAT = 340; //jamatos: add plain layout
|
||||
|
||||
typedef map<string, bool> DepClean;
|
||||
typedef map<docstring, pair<InsetLabel const *, Buffer::References> > RefCache;
|
||||
@ -135,7 +135,7 @@ public:
|
||||
}
|
||||
delete inset;
|
||||
}
|
||||
|
||||
|
||||
BufferParams params;
|
||||
LyXVC lyxvc;
|
||||
FileName temppath;
|
||||
@ -177,7 +177,7 @@ public:
|
||||
/// which maps the macro definition position to the scope and the MacroData.
|
||||
NamePositionScopeMacroMap macros;
|
||||
bool macro_lock;
|
||||
|
||||
|
||||
/// positions of child buffers in the buffer
|
||||
typedef map<Buffer const * const, DocIterator> BufferPositionMap;
|
||||
typedef pair<DocIterator, Buffer const *> ScopeBuffer;
|
||||
@ -205,9 +205,9 @@ public:
|
||||
/// documents), needed for appropriate update of natbib labels.
|
||||
mutable support::FileNameList bibfilesCache_;
|
||||
|
||||
// FIXME The caching mechanism could be improved. At present, we have a
|
||||
// FIXME The caching mechanism could be improved. At present, we have a
|
||||
// cache for each Buffer, that caches all the bibliography info for that
|
||||
// Buffer. A more efficient solution would be to have a global cache per
|
||||
// Buffer. A more efficient solution would be to have a global cache per
|
||||
// file, and then to construct the Buffer's bibinfo from that.
|
||||
/// A cache for bibliography info
|
||||
mutable BiblioInfo bibinfo_;
|
||||
@ -245,7 +245,7 @@ static FileName createBufferTmpDir()
|
||||
Buffer::Impl::Impl(Buffer & parent, FileName const & file, bool readonly_)
|
||||
: parent_buffer(0), lyx_clean(true), bak_clean(true), unnamed(false),
|
||||
read_only(readonly_), filename(file), file_fully_loaded(false),
|
||||
toc_backend(&parent), macro_lock(false), timestamp_(0),
|
||||
toc_backend(&parent), macro_lock(false), timestamp_(0),
|
||||
checksum_(0), wa_(0), undo_(parent), bibinfoCacheValid_(false)
|
||||
{
|
||||
temppath = createBufferTmpDir();
|
||||
@ -473,7 +473,7 @@ int Buffer::readHeader(Lexer & lex)
|
||||
params().clearLayoutModules();
|
||||
params().clearRemovedModules();
|
||||
params().pdfoptions().clear();
|
||||
|
||||
|
||||
for (int i = 0; i < 4; ++i) {
|
||||
params().user_defined_bullet(i) = ITEMIZE_DEFAULTS[i];
|
||||
params().temp_bullet(i) = ITEMIZE_DEFAULTS[i];
|
||||
@ -522,7 +522,7 @@ int Buffer::readHeader(Lexer & lex)
|
||||
errorList.push_back(ErrorItem(_("Document header error"),
|
||||
s, -1, 0, 0));
|
||||
}
|
||||
|
||||
|
||||
params().makeDocumentClass();
|
||||
|
||||
return unknown_tokens;
|
||||
@ -985,7 +985,7 @@ bool Buffer::makeLaTeXFile(FileName const & fname,
|
||||
"representable in the chosen encoding.\n"
|
||||
"Changing the document encoding to utf8 could help."),
|
||||
e.par_id, e.pos, e.pos + 1));
|
||||
failed_export = true;
|
||||
failed_export = true;
|
||||
}
|
||||
catch (iconv_codecvt_facet_exception & e) {
|
||||
errorList.push_back(ErrorItem(_("iconv conversion failed"),
|
||||
@ -1044,11 +1044,11 @@ void Buffer::writeLaTeXSource(odocstream & os,
|
||||
// because then the macros will not get the right "redefinition"
|
||||
// flag as they don't see the parent macros which are output before.
|
||||
updateMacros();
|
||||
|
||||
|
||||
// fold macros if possible, still with parent buffer as the
|
||||
// macros will be put in the prefix anyway.
|
||||
updateMacroInstances();
|
||||
|
||||
|
||||
// There are a few differences between nice LaTeX and usual files:
|
||||
// usual is \batchmode and has a
|
||||
// special input@path to allow the including of figures
|
||||
@ -1093,16 +1093,16 @@ void Buffer::writeLaTeXSource(odocstream & os,
|
||||
// make the body.
|
||||
os << "\\begin{document}\n";
|
||||
d->texrow.newline();
|
||||
|
||||
|
||||
// output the parent macros
|
||||
MacroSet::iterator it = parentMacros.begin();
|
||||
MacroSet::iterator end = parentMacros.end();
|
||||
for (; it != end; ++it)
|
||||
(*it)->write(os, true);
|
||||
(*it)->write(os, true);
|
||||
} // output_preamble
|
||||
|
||||
d->texrow.start(paragraphs().begin()->id(), 0);
|
||||
|
||||
|
||||
LYXERR(Debug::INFO, "preamble finished, now the body.");
|
||||
|
||||
// if we are doing a real file with body, even if this is the
|
||||
@ -1361,7 +1361,7 @@ void Buffer::updateBibfilesCache() const
|
||||
}
|
||||
|
||||
|
||||
void Buffer::invalidateBibinfoCache()
|
||||
void Buffer::invalidateBibinfoCache()
|
||||
{
|
||||
d->bibinfoCacheValid_ = false;
|
||||
}
|
||||
@ -1382,7 +1382,7 @@ support::FileNameList const & Buffer::getBibfilesCache() const
|
||||
|
||||
|
||||
BiblioInfo const & Buffer::masterBibInfo() const
|
||||
{
|
||||
{
|
||||
// if this is a child document and the parent is already loaded
|
||||
// use the parent's list instead [ale990412]
|
||||
Buffer const * const tmp = masterBuffer();
|
||||
@ -1460,7 +1460,7 @@ bool Buffer::dispatch(FuncRequest const & func, bool * result)
|
||||
Branch * branch = branchList.find(branchName);
|
||||
if (!branch)
|
||||
LYXERR0("Branch " << branchName << " does not exist.");
|
||||
else
|
||||
else
|
||||
branch->setSelected(func.action == LFUN_BRANCH_ACTIVATE);
|
||||
if (result)
|
||||
*result = true;
|
||||
@ -1569,7 +1569,7 @@ bool Buffer::isExternallyModified(CheckMethod method) const
|
||||
{
|
||||
LASSERT(d->filename.exists(), /**/);
|
||||
// if method == timestamp, check timestamp before checksum
|
||||
return (method == checksum_method
|
||||
return (method == checksum_method
|
||||
|| d->timestamp_ != d->filename.lastModified())
|
||||
&& d->checksum_ != d->filename.checksum();
|
||||
}
|
||||
@ -1677,7 +1677,7 @@ Buffer const * Buffer::masterBuffer() const
|
||||
{
|
||||
if (!d->parent_buffer)
|
||||
return this;
|
||||
|
||||
|
||||
return d->parent_buffer->masterBuffer();
|
||||
}
|
||||
|
||||
@ -1699,11 +1699,11 @@ typename M::iterator greatest_below(M & m, typename M::key_type const & x)
|
||||
return m.end();
|
||||
|
||||
it--;
|
||||
return it;
|
||||
return it;
|
||||
}
|
||||
|
||||
|
||||
MacroData const * Buffer::getBufferMacro(docstring const & name,
|
||||
MacroData const * Buffer::getBufferMacro(docstring const & name,
|
||||
DocIterator const & pos) const
|
||||
{
|
||||
LYXERR(Debug::MACROS, "Searching for " << to_ascii(name) << " at " << pos);
|
||||
@ -1715,7 +1715,7 @@ MacroData const * Buffer::getBufferMacro(docstring const & name,
|
||||
// we haven't found anything yet
|
||||
DocIterator bestPos = par_iterator_begin();
|
||||
MacroData const * bestData = 0;
|
||||
|
||||
|
||||
// find macro definitions for name
|
||||
Impl::NamePositionScopeMacroMap::iterator nameIt
|
||||
= d->macros.find(name);
|
||||
@ -1734,7 +1734,7 @@ MacroData const * Buffer::getBufferMacro(docstring const & name,
|
||||
bestData = &it->second.second;
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
// try previous macro if there is one
|
||||
if (it == nameIt->second.begin())
|
||||
break;
|
||||
@ -1774,7 +1774,7 @@ MacroData const * Buffer::getBufferMacro(docstring const & name,
|
||||
break;
|
||||
--it;
|
||||
}
|
||||
|
||||
|
||||
// return the best macro we have found
|
||||
return bestData;
|
||||
}
|
||||
@ -1784,7 +1784,7 @@ MacroData const * Buffer::getMacro(docstring const & name,
|
||||
DocIterator const & pos, bool global) const
|
||||
{
|
||||
if (d->macro_lock)
|
||||
return 0;
|
||||
return 0;
|
||||
|
||||
// query buffer macros
|
||||
MacroData const * data = getBufferMacro(name, pos);
|
||||
@ -1848,15 +1848,15 @@ void Buffer::updateMacros(DocIterator & it, DocIterator & scope) const
|
||||
InsetList::const_iterator end = insets.end();
|
||||
for (; iit != end; ++iit) {
|
||||
it.pos() = iit->pos;
|
||||
|
||||
|
||||
// is it a nested text inset?
|
||||
if (iit->inset->asInsetText()) {
|
||||
// Inset needs its own scope?
|
||||
InsetText const * itext
|
||||
InsetText const * itext
|
||||
= iit->inset->asInsetText();
|
||||
bool newScope = itext->isMacroScope();
|
||||
|
||||
// scope which ends just behind the inset
|
||||
// scope which ends just behind the inset
|
||||
DocIterator insetScope = it;
|
||||
++insetScope.pos();
|
||||
|
||||
@ -1866,25 +1866,25 @@ void Buffer::updateMacros(DocIterator & it, DocIterator & scope) const
|
||||
it.pop_back();
|
||||
continue;
|
||||
}
|
||||
|
||||
|
||||
// is it an external file?
|
||||
if (iit->inset->lyxCode() == INCLUDE_CODE) {
|
||||
// get buffer of external file
|
||||
InsetCommand const & inset
|
||||
InsetCommand const & inset
|
||||
= static_cast<InsetCommand const &>(*iit->inset);
|
||||
InsetCommandParams const & ip = inset.params();
|
||||
d->macro_lock = true;
|
||||
Buffer * child = loadIfNeeded(*this, ip);
|
||||
d->macro_lock = false;
|
||||
if (!child)
|
||||
continue;
|
||||
continue;
|
||||
|
||||
// register its position, but only when it is
|
||||
// included first in the buffer
|
||||
if (d->children_positions.find(child)
|
||||
== d->children_positions.end())
|
||||
d->children_positions[child] = it;
|
||||
|
||||
|
||||
// register child with its scope
|
||||
d->position_to_children[it] = Impl::ScopeBuffer(scope, child);
|
||||
continue;
|
||||
@ -1892,7 +1892,7 @@ void Buffer::updateMacros(DocIterator & it, DocIterator & scope) const
|
||||
|
||||
if (iit->inset->lyxCode() != MATHMACRO_CODE)
|
||||
continue;
|
||||
|
||||
|
||||
// get macro data
|
||||
MathMacroTemplate & macroTemplate
|
||||
= static_cast<MathMacroTemplate &>(*iit->inset);
|
||||
@ -1975,7 +1975,7 @@ void Buffer::listMacroNames(MacroNameSet & macros) const
|
||||
return;
|
||||
|
||||
d->macro_lock = true;
|
||||
|
||||
|
||||
// loop over macro names
|
||||
Impl::NamePositionScopeMacroMap::iterator nameIt = d->macros.begin();
|
||||
Impl::NamePositionScopeMacroMap::iterator nameEnd = d->macros.end();
|
||||
@ -1992,7 +1992,7 @@ void Buffer::listMacroNames(MacroNameSet & macros) const
|
||||
if (d->parent_buffer)
|
||||
d->parent_buffer->listMacroNames(macros);
|
||||
|
||||
d->macro_lock = false;
|
||||
d->macro_lock = false;
|
||||
}
|
||||
|
||||
|
||||
@ -2000,20 +2000,20 @@ void Buffer::listParentMacros(MacroSet & macros, LaTeXFeatures & features) const
|
||||
{
|
||||
if (!d->parent_buffer)
|
||||
return;
|
||||
|
||||
|
||||
MacroNameSet names;
|
||||
d->parent_buffer->listMacroNames(names);
|
||||
|
||||
|
||||
// resolve macros
|
||||
MacroNameSet::iterator it = names.begin();
|
||||
MacroNameSet::iterator end = names.end();
|
||||
for (; it != end; ++it) {
|
||||
// defined?
|
||||
MacroData const * data =
|
||||
MacroData const * data =
|
||||
d->parent_buffer->getMacro(*it, *this, false);
|
||||
if (data) {
|
||||
macros.insert(data);
|
||||
|
||||
|
||||
// we cannot access the original MathMacroTemplate anymore
|
||||
// here to calls validate method. So we do its work here manually.
|
||||
// FIXME: somehow make the template accessible here.
|
||||
@ -2224,7 +2224,7 @@ public:
|
||||
///
|
||||
int start()
|
||||
{
|
||||
command_ = to_utf8(bformat(_("Auto-saving %1$s"),
|
||||
command_ = to_utf8(bformat(_("Auto-saving %1$s"),
|
||||
from_utf8(fname_.absFilename())));
|
||||
return run(DontWait);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user