#include <config.h>
#include "Layout.h"
-#include "Lexer.h"
#include "output_xhtml.h"
#include "TextClass.h"
#include "support/debug.h"
#include "support/docstream.h"
#include "support/lassert.h"
+#include "support/Lexer.h"
#include "support/lstrings.h"
#include "support/textutils.h"
LT_FREE_SPACING,
LT_PASS_THRU,
LT_PASS_THRU_CHARS,
+ LT_NO_PASS_THRU_CHARS,
LT_PARBREAK_IS_NEWLINE,
LT_ITEMCOMMAND,
LT_ITEMSEP,
inpreamble = false;
needprotect = false;
needcprotect = false;
+ nocprotect = false;
needmboxprotect = false;
keepempty = false;
font = inherit_font;
{ "needprotect", LT_NEED_PROTECT },
{ "newline", LT_NEWLINE },
{ "nextnoindent", LT_NEXTNOINDENT },
+ { "nopassthruchars", LT_NO_PASS_THRU_CHARS },
{ "obsoletedby", LT_OBSOLETEDBY },
{ "paragraphgroup", LT_PAR_GROUP },
{ "parbreakisnewline", LT_PARBREAK_IS_NEWLINE },
lex >> needprotect;
break;
- case LT_NEED_CPROTECT:
- lex >> needcprotect;
+ case LT_NEED_CPROTECT: {
+ int i;
+ lex >> i;
+ nocprotect = false;
+ needcprotect = false;
+ if (i == -1)
+ nocprotect = true;
+ else if (i == 1)
+ needcprotect = true;
break;
+ }
case LT_NEED_MBOXPROTECT:
lex >> needmboxprotect;
lex >> pass_thru_chars;
break;
+ case LT_NO_PASS_THRU_CHARS:
+ lex >> no_pass_thru_chars;
+ break;
+
case LT_PARBREAK_IS_NEWLINE:
lex >> parbreak_is_newline;
break;
lex >> docbookiteminnertagtype_;
break;
- case LT_DOCBOOKNOFONTINSIDE:
- lex >> docbooknofontinside_;
- break;
+ case LT_DOCBOOKNOFONTINSIDE:
+ lex >> docbooknofontinside_;
+ break;
- case LT_DOCBOOKGENERATETITLE:
- lex >> docbookgeneratetitle_;
- break;
+ case LT_DOCBOOKGENERATETITLE:
+ lex >> docbookgeneratetitle_;
+ break;
case LT_SPELLCHECK:
lex >> spellcheck;
lex.next();
arg.tooltip = lex.getDocString();
} else if (tok == "requires") {
- lex.next();
+ lex.eatLine();
arg.required = lex.getString();
} else if (tok == "decoration") {
lex.next();
if (!arg.tooltip.empty())
os << "\t\tToolTip \"" << to_utf8(arg.tooltip) << "\"\n";
if (!arg.required.empty())
- os << "\t\tRequires \"" << arg.required << "\"\n";
+ os << "\t\tRequires " << arg.required << "\n";
if (!arg.decoration.empty())
os << "\t\tDecoration \"" << arg.decoration << "\"\n";
if (!arg.newlinecmd.empty())