--- a/src/Tools/jEdit/src/plugin.scala Sun Sep 18 13:39:33 2011 +0200
+++ b/src/Tools/jEdit/src/plugin.scala Sun Sep 18 13:47:12 2011 +0200
@@ -366,6 +366,8 @@
private lazy val delay_load =
Swing_Thread.delay_last(Isabelle.session.load_delay)
{
+ val view = jEdit.getActiveView()
+
val buffers = Isabelle.jedit_buffers().toList
def loaded_buffer(name: String): Boolean =
buffers.exists(buffer => Isabelle.buffer_name(buffer) == name)
@@ -373,7 +375,8 @@
val thys =
for (buffer <- buffers; model <- Isabelle.document_model(buffer))
yield model.name
- val files = Isabelle.thy_info.dependencies(thys).map(_._1.node).filterNot(loaded_buffer _)
+ val files = Isabelle.thy_info.dependencies(thys).map(_._1.node).
+ filter(file => !loaded_buffer(file) && Isabelle.thy_load.check_file(view, file))
if (!files.isEmpty) {
val files_list = new ListView(Library.sort_strings(files))
@@ -381,7 +384,7 @@
files_list.selection.indices += i
val answer =
- Library.confirm_dialog(jEdit.getActiveView(),
+ Library.confirm_dialog(view,
"Auto loading of required files",
JOptionPane.YES_NO_OPTION,
"The following files are required to resolve theory imports.",
@@ -390,7 +393,7 @@
if (answer == 0)
for {
file <- files
- if !loaded_buffer(file) && files_list.selection.items.contains(file)
+ if files_list.selection.items.contains(file)
} jEdit.openFile(null: View, file)
}
}