void regexpDispatch(Cursor & cur, FuncRequest const & cmd)
{
- BOOST_ASSERT(cmd.action == LFUN_REGEXP_MODE);
+ LASSERT(cmd.action == LFUN_REGEXP_MODE, return);
if (cur.inRegexped()) {
cur.message(_("Already in regular expression mode"));
return;
case LFUN_MARGINALNOTE_INSERT:
case LFUN_OPTIONAL_INSERT:
case LFUN_INDEX_INSERT:
+ case LFUN_PREVIEW_INSERT:
// Open the inset, and move the current selection
// inside it.
doInsertInset(cur, this, cmd, true, true);
// not allowed in description items
enable = !inDescriptionItem(cur);
break;
- case LFUN_FLOAT_LIST_INSERT:
+ case LFUN_FLOAT_LIST_INSERT: {
code = FLOAT_LIST_CODE;
// not allowed in description items
enable = !inDescriptionItem(cur);
+ if (enable) {
+ FloatList const & floats = cur.buffer()->params().documentClass().floats();
+ FloatList::const_iterator cit = floats[to_ascii(cmd.argument())];
+ // make sure we know about such floats
+ if (cit == floats.end() ||
+ // and that we know how to generate a list of them
+ (!cit->second.needsFloatPkg() && cit->second.listCommand().empty())) {
+ flag.unknown(true);
+ // probably not necessary, but...
+ enable = false;
+ }
+ }
break;
+ }
case LFUN_CAPTION_INSERT:
code = CAPTION_CODE;
// not allowed in description items
if (cur.inTexted())
code = SPACE_CODE;
break;
+ case LFUN_PREVIEW_INSERT:
+ code = PREVIEW_CODE;
+ break;
case LFUN_MATH_INSERT:
case LFUN_MATH_AMS_MATRIX: