tolerate more errors (cf. 1e5ae735e026);
authorwenzelm
Tue, 05 Sep 2017 14:29:43 +0200
changeset 66604 1af360d1cad2
parent 66603 f6a1274be674
child 66605 261dcd52c5a0
child 66606 f23f044148d3
tolerate more errors (cf. 1e5ae735e026);
src/Pure/Thy/sessions.scala
--- a/src/Pure/Thy/sessions.scala	Mon Sep 04 20:55:06 2017 +0200
+++ b/src/Pure/Thy/sessions.scala	Tue Sep 05 14:29:43 2017 +0200
@@ -251,6 +251,11 @@
                     ((g /: (a :: bs))(_.default_node(_, Nil)) /: bs)(_.add_edge(_, a)) })
             }
 
+            val sources =
+              for (p <- all_files if p.is_file) yield (p, SHA1.digest(p.file))
+            val sources_errors =
+              for (p <- all_files if !p.is_file) yield "No such file: " + p
+
             val base =
               Base(
                 pos = info.pos,
@@ -260,9 +265,9 @@
                 known = Known.make(info.dir, List(imports_base), thy_deps.deps.map(_.name)),
                 keywords = thy_deps.keywords,
                 syntax = syntax,
-                sources = all_files.map(p => (p, SHA1.digest(p.file))),
+                sources = sources,
                 session_graph = session_graph,
-                errors = thy_deps.errors)
+                errors = thy_deps.errors ::: sources_errors)
 
             session_bases + (info.name -> base)
           }