--- a/src/Tools/jEdit/src/document_model.scala Mon Dec 19 12:58:18 2022 +0100
+++ b/src/Tools/jEdit/src/document_model.scala Mon Dec 19 13:06:59 2022 +0100
@@ -211,10 +211,7 @@
case _ => (false, st)
}
})
- if (changed) {
- PIDE.plugin.options_changed()
- PIDE.editor.flush()
- }
+ if (changed) PIDE.editor.state_changed()
}
def view_node_required(
--- a/src/Tools/jEdit/src/jedit_editor.scala Mon Dec 19 12:58:18 2022 +0100
+++ b/src/Tools/jEdit/src/jedit_editor.scala Mon Dec 19 13:06:59 2022 +0100
@@ -53,13 +53,16 @@
} yield doc_view.model.node_name).contains(name)
- /* document editor */
+ /* global changes */
- override def document_active_changed(): Unit = {
- PIDE.plugin.options_changed()
+ def state_changed(): Unit = {
flush()
+ PIDE.plugin.deps_changed()
+ session.global_options.post(Session.Global_Options(PIDE.options.value))
}
+ override def document_active_changed(): Unit = state_changed()
+
/* current situation */
--- a/src/Tools/jEdit/src/main_plugin.scala Mon Dec 19 12:58:18 2022 +0100
+++ b/src/Tools/jEdit/src/main_plugin.scala Mon Dec 19 13:06:59 2022 +0100
@@ -101,6 +101,8 @@
}
}
+ def deps_changed(): Unit = delay_load.invoke()
+
private val delay_load_active = Synchronized(false)
private def delay_load_finished(): Unit = delay_load_active.change(_ => false)
private def delay_load_activated(): Boolean =
@@ -153,18 +155,6 @@
File_Watcher(file_watcher_action, session.load_delay)
- /* global changes */
-
- def options_changed(): Unit = {
- session.global_options.post(Session.Global_Options(options.value))
- delay_load.invoke()
- }
-
- def deps_changed(): Unit = {
- delay_load.invoke()
- }
-
-
/* session phase */
val session_phase_changed: Session.Consumer[Session.Phase] = Session.Consumer("Isabelle/jEdit") {