// FIXME newFile() should probably be a member method of Application...
Buffer * newFile(string const & filename, string const & templatename,
- bool const isNamed)
+ bool is_named)
{
// get a free buffer
Buffer * b = theBufferList().newBuffer(filename);
}
}
- if (!isNamed) {
- b->setUnnamed();
- b->setFileName(filename);
- } else
- // in this case, the user chose the filename, so we assume that she
- // really does want this file.
+ if (is_named)
+ // in this case, the user chose the filename, so we
+ // assume that she really does want this file.
b->markDirty();
+ else
+ b->setUnnamed();
b->setReadonly(false);
b->setFullyLoaded(true);
{
int count = 0;
bool inword = false;
- for (DocIterator dit = from ; dit != to ; ) {
+
+ for (DocIterator dit = from ; dit != to && !dit.empty(); ) {
if (!dit.inTexted()) {
dit.forwardPos();
continue;
Paragraph const & par = dit.paragraph();
pos_type const pos = dit.pos();
-
+
// Copied and adapted from isWordSeparator() in Paragraph
- if (pos != dit.lastpos() && !par.isDeleted(pos)) {
+ if (pos == dit.lastpos()) {
+ inword = false;
+ } else if (!par.isDeleted(pos)) {
Inset const * ins = par.getInset(pos);
if (ins && !ins->producesOutput()) {
//skip this inset
++dit.top().pos();
+ if (dit >= to)
+ break;
continue;
}
if (par.isWordSeparator(pos))