mirror of
https://git.lyx.org/repos/lyx.git
synced 2025-01-03 08:28:25 +00:00
Parse starred InsetLayout correctly
Previously, an InsetLayout was not found if the LaTeX name was starred, e.g. for "\caption*".
This commit is contained in:
parent
614862fccc
commit
0c90821138
@ -2268,6 +2268,8 @@ void parse_text(Parser & p, ostream & os, unsigned flags, bool outer,
|
||||
//
|
||||
// cat codes
|
||||
//
|
||||
bool const starred = p.next_token().asInput() == "*";
|
||||
string const starredname(starred ? (t.cs() + '*') : t.cs());
|
||||
if (t.cat() == catMath) {
|
||||
// we are inside some text mode thingy, so opening new math is allowed
|
||||
context.check_layout(os);
|
||||
@ -2824,11 +2826,8 @@ void parse_text(Parser & p, ostream & os, unsigned flags, bool outer,
|
||||
|
||||
else if (t.cs() == "caption" || t.cs() == "captionabove" ||
|
||||
t.cs() == "captionbelow") {
|
||||
bool starred = false;
|
||||
if (p.next_token().asInput() == "*") {
|
||||
if (starred)
|
||||
p.get_token();
|
||||
starred = true;
|
||||
}
|
||||
p.skip_spaces();
|
||||
context.check_layout(os);
|
||||
p.skip_spaces();
|
||||
@ -4336,11 +4335,8 @@ void parse_text(Parser & p, ostream & os, unsigned flags, bool outer,
|
||||
}
|
||||
|
||||
else if (t.cs() == "hspace" || t.cs() == "vspace") {
|
||||
bool starred = false;
|
||||
if (p.next_token().asInput() == "*") {
|
||||
if (starred)
|
||||
p.get_token();
|
||||
starred = true;
|
||||
}
|
||||
string name = t.asInput();
|
||||
string const length = p.verbatim_item();
|
||||
string unit;
|
||||
@ -4474,7 +4470,9 @@ void parse_text(Parser & p, ostream & os, unsigned flags, bool outer,
|
||||
}
|
||||
|
||||
// The single '=' is meant here.
|
||||
else if ((newinsetlayout = findInsetLayout(context.textclass, t.cs(), true))) {
|
||||
else if ((newinsetlayout = findInsetLayout(context.textclass, starredname, true))) {
|
||||
if (starred)
|
||||
p.get_token();
|
||||
p.skip_spaces();
|
||||
context.check_layout(os);
|
||||
begin_inset(os, "Flex ");
|
||||
|
Loading…
Reference in New Issue
Block a user