src/Pure/PIDE/resources.scala
changeset 66918 ec2b50aeb0dd
parent 66917 fcf84cd6c94f
child 66959 015d47486fc8
equal deleted inserted replaced
66917:fcf84cd6c94f 66918:ec2b50aeb0dd
    57 
    57 
    58   /* theory files */
    58   /* theory files */
    59 
    59 
    60   def loaded_files(syntax: Outer_Syntax, name: Document.Node.Name): () => List[Path] =
    60   def loaded_files(syntax: Outer_Syntax, name: Document.Node.Name): () => List[Path] =
    61   {
    61   {
    62     val raw_text = with_thy_reader(name, reader => reader.source.toString)
    62     val (is_utf8, raw_text) =
       
    63       with_thy_reader(name, reader => (Scan.reader_is_utf8(reader), reader.source.toString))
    63     () => {
    64     () => {
    64       if (syntax.load_commands_in(raw_text)) {
    65       if (syntax.load_commands_in(raw_text)) {
    65         val text = Symbol.decode(raw_text)
    66         val text = Symbol.decode(Scan.reader_decode_utf8(is_utf8, raw_text))
    66         val spans = syntax.parse_spans(text)
    67         val spans = syntax.parse_spans(text)
    67         val dir = Path.explode(name.master_dir)
    68         val dir = Path.explode(name.master_dir)
    68         spans.iterator.map(Command.span_files(syntax, _)._1).flatten.
    69         spans.iterator.map(Command.span_files(syntax, _)._1).flatten.
    69           map(a => (dir + Path.explode(a)).expand).toList
    70           map(a => (dir + Path.explode(a)).expand).toList
    70       }
    71       }