#include "support/lassert.h"
#include "support/debug.h"
+#include "support/ExceptionMessage.h"
#include "support/FileName.h"
#include "support/filetools.h"
#include "support/gettext.h"
// development/tools/updatelayouts.sh script, to update the format of
// all of our layout files.
//
-int const LAYOUT_FORMAT = 44; // rgh: change LabelType declarations
+int const LAYOUT_FORMAT = 45; // rgh: New Tag "NoInsetLayout"
namespace {
Layout const & TextClass::operator[](docstring const & name) const
{
- LASSERT(!name.empty(), /**/);
+ LATTEST(!name.empty());
const_iterator it =
find_if(begin(), end(), LayoutNamesEqual(name));
if (it == end()) {
- lyxerr << "We failed to find the layout '" << to_utf8(name)
- << "' in the layout list. You MUST investigate!"
- << endl;
+ LYXERR0("We failed to find the layout '" << name
+ << "' in the layout list. You MUST investigate!");
for (const_iterator cit = begin(); cit != end(); ++cit)
lyxerr << " " << to_utf8(cit->name()) << endl;
- // we require the name to exist
- LASSERT(false, /**/);
+ // We require the name to exist
+ static const Layout dummy;
+ LASSERT(false, return dummy);
}
return *it;
Layout & TextClass::operator[](docstring const & name)
{
- LASSERT(!name.empty(), /**/);
+ LATTEST(!name.empty());
+ // Safe to continue, given what we do below.
iterator it = find_if(begin(), end(), LayoutNamesEqual(name));
LYXERR0(" " << to_utf8(cit->name()));
// we require the name to exist
- LASSERT(false, /**/);
+ LATTEST(false);
+ // we are here only in release mode
+ layoutlist_.push_back(createBasicLayout(name, true));
+ it = find_if(begin(), end(), LayoutNamesEqual(name));
}
return *it;
if (!readStyle(lex, *defaultLayout)) {
// The only way this happens is because the hardcoded layout above
// is wrong.
- LASSERT(false, /**/);
+ LATTEST(false);
};
return *defaultLayout;
}
Layout const * lay = NULL;
for (; lit != len; ++lit) {
int const level = lit->toclevel;
- // we don't want Part
- if (level == Layout::NOT_IN_TOC || level < 0 || level >= minlevel)
+ // we don't want Part or unnumbered sections
+ if (level == Layout::NOT_IN_TOC || level < 0
+ || level >= minlevel || lit->counter.empty())
continue;
lay = &*lit;
minlevel = level;