case LFUN_BUFFER_RELOAD:
enable = doc_buffer && !doc_buffer->isUnnamed()
- && doc_buffer->fileName().exists() && !doc_buffer->isClean();
+ && doc_buffer->fileName().exists()
+ && (!doc_buffer->isClean() || doc_buffer->notifiesExternalModification());
break;
case LFUN_BUFFER_CHILD_OPEN:
setBuffer(newBuffer);
newBuffer->errors("Parse");
- if (tolastfiles)
+ if (tolastfiles) {
theSession().lastFiles().add(filename);
+ theSession().writeFile();
+ }
return newBuffer;
}
bool const success = (fn.empty() ? b.save() : b.saveAs(fn));
if (success) {
theSession().lastFiles().add(b.fileName());
+ theSession().writeFile();
return true;
}