src/Pure/Isar/method.ML
changeset 24010 2ef318813e1a
parent 23937 66e1f24d655d
child 24022 ab76c73b3b58
     1.1 --- a/src/Pure/Isar/method.ML	Fri Jul 27 21:55:19 2007 +0200
     1.2 +++ b/src/Pure/Isar/method.ML	Fri Jul 27 21:55:20 2007 +0200
     1.3 @@ -465,13 +465,11 @@
     1.4  
     1.5  local
     1.6  
     1.7 -fun sect ss = Scan.first (map Scan.lift ss);
     1.8 -fun thms ss = Scan.repeat (Scan.unless (sect ss) Attrib.multi_thm) >> flat;
     1.9 -
    1.10 +fun thms ss = Scan.repeat (Scan.unless (Scan.lift (Scan.first ss)) Attrib.multi_thm) >> flat;
    1.11  fun app (f, att) (context, ths) = foldl_map att (Context.map_proof f context, ths);
    1.12  
    1.13 -fun section ss = (sect ss -- thms ss) :-- (fn (m, ths) => Scan.depend (fn context =>
    1.14 -  Scan.succeed (app m (context, ths)))) >> #2;
    1.15 +fun section ss = Scan.depend (fn context => (Scan.first ss -- Scan.pass context (thms ss)) :--
    1.16 +  (fn (m, ths) => Scan.succeed (app m (context, ths))) >> #2);
    1.17  
    1.18  fun sectioned args ss = args -- Scan.repeat (section ss);
    1.19