src/Pure/System/isabelle_system.scala
changeset 36991 ccb8da7f76e6
parent 36788 1fd4f28e6ce1
child 37013 641923374eba
--- a/src/Pure/System/isabelle_system.scala	Thu May 20 10:43:46 2010 +0200
+++ b/src/Pure/System/isabelle_system.scala	Thu May 20 11:36:30 2010 +0200
@@ -150,6 +150,15 @@
   def platform_file(path: String) = new File(platform_path(path))
 
 
+  /* try_read */
+
+  def try_read(path: String): String =
+  {
+    val file = platform_file(path)
+    if (file.isFile) Source.fromFile(file).mkString else ""
+  }
+
+
   /* source files */
 
   private def try_file(file: File) = if (file.isFile) Some(file) else None
@@ -304,11 +313,8 @@
   /* symbols */
 
   private def read_symbols(path: String): List[String] =
-  {
-    val file = platform_file(path)
-    if (file.isFile) Source.fromFile(file).getLines("\n").toList
-    else Nil
-  }
+    Library.chunks(try_read(path)).map(_.toString).toList
+
   val symbols = new Symbol.Interpretation(
     read_symbols("$ISABELLE_HOME/etc/symbols") :::
     read_symbols("$ISABELLE_HOME_USER/etc/symbols"))