- docstring str = ss.str();
- if (ldelim != "{" && support::contains(str, rdelim))
- str = '{' + str + '}';
- os << ldelim << str << rdelim;
+ TexString ts = ots.release();
+ bool const add_braces = ldelim != "{" && support::contains(ts.str, rdelim);
+ os << ldelim;
+ if (add_braces)
+ os << '{';
+ os << presetarg;
+ if (!presetarg.empty() && !ts.str.empty())
+ os << ", ";
+ os << move(ts);
+ if (add_braces)
+ os << '}';
+ os << rdelim;
+}
+
+
+
+void InsetArgument::addToToc(DocIterator const & dit, bool output_active,
+ UpdateType utype) const
+{
+ if (!caption_of_toc_.empty()) {
+ docstring str;
+ text().forOutliner(str, TOC_ENTRY_LENGTH);
+ buffer().tocBackend().builder(caption_of_toc_).argumentItem(str);
+ }
+ // Proceed with the rest of the inset.
+ InsetText::addToToc(dit, output_active, utype);