-bool stringSelected(BufferView * bv, docstring & searchstr,
- bool cs, bool mw, bool fw)
+// the idea here is that we are going to replace the string that
+// is selected IF it is the search string.
+// if there is a selection, but it is not the search string, then
+// we basically ignore it. (FIXME We ought to replace only within
+// the selection.)
+// if there is no selection, then:
+// (i) if some search string has been provided, then we find it.
+// (think of how the dialog works when you hit "replace" the
+// first time.)
+// (ii) if no search string has been provided, then we treat the
+// word the cursor is in as the search string. (why? i have no
+// idea.) but this only works in text?
+//
+// returns the number of replacements made (one, if any) and
+// whether anything at all was done.
+pair<bool, int> replaceOne(BufferView * bv, docstring searchstr,
+ docstring const & replacestr, bool case_sens,
+ bool whole, bool forward)