equal
deleted
inserted
replaced
132 |
132 |
133 /* resolve dependencies */ |
133 /* resolve dependencies */ |
134 |
134 |
135 val thy_info = new Thy_Info(this) |
135 val thy_info = new Thy_Info(this) |
136 |
136 |
137 def resolve_dependencies(session: Session): Boolean = |
137 def resolve_dependencies(session: Session, watcher: File_Watcher): Boolean = |
138 { |
138 { |
139 state.change_result(st => |
139 state.change_result(st => |
140 { |
140 { |
141 val thys = |
141 val thys = |
142 (for ((_, model) <- st.models.iterator if model.is_theory) |
142 (for ((_, model) <- st.models.iterator if model.is_theory) |
145 val loaded_models = |
145 val loaded_models = |
146 (for { |
146 (for { |
147 dep <- thy_info.dependencies("", thys).deps.iterator |
147 dep <- thy_info.dependencies("", thys).deps.iterator |
148 file = node_file(dep.name) |
148 file = node_file(dep.name) |
149 if !st.models.isDefinedAt(file) |
149 if !st.models.isDefinedAt(file) |
|
150 _ = watcher.register_parent(file) |
150 text <- try_read(file) |
151 text <- try_read(file) |
151 } |
152 } |
152 yield { |
153 yield { |
153 val model = Document_Model.init(session, node_name(file)) |
154 val model = Document_Model.init(session, node_name(file)) |
154 val model1 = (model.update_text(text) getOrElse model).external(true) |
155 val model1 = (model.update_text(text) getOrElse model).external(true) |