+ assert ((_current_buffer->flags & Buffer_Scratch) || !(_current_buffer->flags & Buffer_ReadOnly));
+ bool refresh = false;
+ bool neednew = true;
+ if (_current_buffer->flags & Buffer_HasFile) {
+ if (0 == ::g_unlink (_current_buffer->path.c_str())) {
+ append_text (X_("> ") + string_compose (_("Deleted %1"), _current_buffer->path));
+ refresh = true;
+ } else {
+ append_text (X_("> ") + string_compose (_("Failed to delete %1"), _current_buffer->path));
+ }
+ }
+ for (ScriptBufferList::iterator i = script_buffers.begin (); i != script_buffers.end (); ++i) {
+ if ((*i) == _current_buffer) {
+ script_buffers.erase (i);
+ break;
+ }
+ }
+
+ for (ScriptBufferList::const_iterator i = script_buffers.begin (); i != script_buffers.end (); ++i) {
+ if ((*i)->flags & Buffer_Scratch) {
+ script_selection_changed (*i);
+ neednew = false;
+ }
+ }
+ if (neednew) {
+ new_script ();
+ }
+ if (refresh) {
+ LuaScripting::instance ().refresh (true);
+ }
+}
+
+void
+LuaWindow::revert_script ()
+{
+ _current_buffer->flags &= BufferFlags(~Buffer_Valid);
+ script_selection_changed (_current_buffer, true);