return make_pair(true, 1);
}
-} // namespace anon
+} // namespace
docstring const find2string(docstring const & search,
return selectChange(cur, forward);
}
-}
+} // namespace
bool findNextChange(BufferView * bv)
{
// plus the last subexpression, if a (.*?) was inserted in the constructor.
if (!braces_match(m[0].first, m[0].second, open_braces))
return 0;
-
+
// Check braces on segments that matched all (.*?) subexpressions,
// except the last "padding" one inserted by lyx.
for (size_t i = 1; i < m.size() - 1; ++i)
if (!braces_match(m[i].first, m[i].second))
return false;
-
+
// Exclude from the returned match length any length
// due to close wildcards added at end of regexp
if (close_wildcards == 0)
AS_STR_INSETS | AS_STR_SKIPDELETE | AS_STR_PLAINTEXT,
&runparams);
} else if (cur.inMathed()) {
- docstring s;
CursorSlice cs = cur.top();
MathData md = cs.cell();
MathData::const_iterator it_end =
(( len == -1 || cs.pos() + len > int(md.size()))
? md.end()
: md.begin() + cs.pos() + len );
+ MathData md2;
for (MathData::const_iterator it = md.begin() + cs.pos();
it != it_end; ++it)
- s = s + asString(*it);
+ md2.push_back(*it);
+ docstring s = asString(md2);
LYXERR(Debug::FIND, "Stringified math: '" << s << "'");
return s;
}
((len == -1 || cs.pos() + len > int(md.size()))
? md.end()
: md.begin() + cs.pos() + len);
+ MathData md2;
for (MathData::const_iterator it = md.begin() + cs.pos();
it != it_end; ++it)
- ods << asString(*it);
+ md2.push_back(*it);
+ ods << asString(md2);
// Retrieve the math environment type, and add '$' or '$]'
// or others (\end{equation}) accordingly
}
-} // anonym namespace
+} // namespace
docstring stringifyFromForSearch(FindAndReplaceOptions const & opt,
pit->changeCase(buffer.params(), pos_type(1), right, others_case);
}
-} // anon namespace
+} // namespace
///
static void findAdvReplace(BufferView * bv, FindAndReplaceOptions const & opt, MatchStringAdv & matchAdv)
{
Cursor & cur = bv->cursor();
- if (opt.repl_buf_name == docstring())
+ if (opt.repl_buf_name == docstring()
+ || theBufferList().getBuffer(FileName(to_utf8(opt.repl_buf_name)), true) == 0
+ || theBufferList().getBuffer(FileName(to_utf8(opt.find_buf_name)), true) == 0)
return;
DocIterator sel_beg = cur.selectionBegin();
repl_buffer_orig.write(oss);
string lyx = oss.str();
Buffer repl_buffer("", false);
+ repl_buffer.setInternal(true);
repl_buffer.setUnnamed(true);
LASSERT(repl_buffer.readString(lyx), return);
if (opt.keep_case && sel_len >= 2) {
changeFirstCase(repl_buffer, text_uppercase, text_uppercase);
}
}
- cap::cutSelection(cur, false, false);
+ cap::cutSelection(cur, false);
if (cur.inTexted()) {
repl_buffer.changeLanguage(
repl_buffer.language(),
// e.g., when invoking word-findadv from mini-buffer wither with
// wrong options syntax or before ever opening advanced F&R pane
- if (theBufferList().getBuffer(FileName(to_utf8(opt.find_buf_name))) == 0)
+ if (theBufferList().getBuffer(FileName(to_utf8(opt.find_buf_name)), true) == 0)
return false;
try {
return is;
}
-} // lyx namespace
+} // namespace lyx