]> git.lyx.org Git - features.git/commitdiff
Update format to 340.
authorJosé Matox <jamatos@lyx.org>
Fri, 1 Aug 2008 17:57:01 +0000 (17:57 +0000)
committerJosé Matox <jamatos@lyx.org>
Fri, 1 Aug 2008 17:57:01 +0000 (17:57 +0000)
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

development/FORMAT
lib/lyx2lyx/lyx_1_6.py
src/Buffer.cpp

index 3bb8f6a197f75cd57289c2d02c779d4f55164248..2611f9c50a998909ea47386f020bb9651066a17b 100644 (file)
@@ -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.
 
index 5364d7ad438cf1b6a3ad3df4232b99e10c7b5902..9b6aab9e178c50b9e88e5b223437c25e4d6055ff 100644 (file)
@@ -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]],
index 406682b0ef46373b826b5c41a3a82b5fa5fd45ed..48e36b6f740f31f48ffc0615348f8b35beca453a 100644 (file)
@@ -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);
        }