src/Pure/PIDE/command.ML
changeset 58853 f8715e7c1be6
parent 57905 c0c5652e796e
child 58862 63a16e98cc14
equal deleted inserted replaced
58852:621c052789b4 58853:f8715e7c1be6
   160     val _ = Position.reports_text (token_reports @ maps command_reports span);
   160     val _ = Position.reports_text (token_reports @ maps command_reports span);
   161   in
   161   in
   162     if is_malformed then Toplevel.malformed pos "Malformed command syntax"
   162     if is_malformed then Toplevel.malformed pos "Malformed command syntax"
   163     else
   163     else
   164       (case Outer_Syntax.read_spans outer_syntax (resolve_files master_dir blobs span) of
   164       (case Outer_Syntax.read_spans outer_syntax (resolve_files master_dir blobs span) of
   165         [tr] =>
   165         [tr] => Toplevel.modify_init init tr
   166           if Keyword.is_control (Toplevel.name_of tr) then
       
   167             Toplevel.malformed pos "Illegal control command"
       
   168           else Toplevel.modify_init init tr
       
   169       | [] => Toplevel.ignored (#1 (Token.range_of span))
   166       | [] => Toplevel.ignored (#1 (Token.range_of span))
   170       | _ => Toplevel.malformed (#1 proper_range) "Exactly one command expected")
   167       | _ => Toplevel.malformed (#1 proper_range) "Exactly one command expected")
   171       handle ERROR msg => Toplevel.malformed (#1 proper_range) msg
   168       handle ERROR msg => Toplevel.malformed (#1 proper_range) msg
   172   end;
   169   end;
   173 
   170