@@ -287,60 +287,63 @@ module internal PrintfImpl =
287287 member env.RunSteps ( args : obj [], steps : Step []) =
288288 let mutable argIndex = 0
289289
290- for step in steps do
291- match step with
292- | Step ( prefix, conv1) ->
293- env.WriteSkipEmpty( prefix)
294- env.Write(& argIndex, args, conv1)
295-
296- | StepString prefix ->
297- env.WriteSkipEmpty( prefix)
298-
299- | StepLittleT( prefix) ->
300- env.WriteSkipEmpty prefix
301- let farg = args.[ argIndex]
302- argIndex <- argIndex + 1
303- let f = farg :?> ( 'State -> 'Residue)
304- env.WriteT( f env.State)
305-
306- | StepLittleA( prefix) ->
307- env.WriteSkipEmpty prefix
308- let farg = args.[ argIndex]
309- argIndex <- argIndex + 1
310- let arg = args.[ argIndex]
311- argIndex <- argIndex + 1
312- let f = farg :?> ( 'State -> obj -> 'Residue)
313- env.WriteT( f env.State arg)
314-
315- | StepStar1( prefix, conv) ->
316- env.WriteSkipEmpty prefix
317- let star1 = args.[ argIndex] :?> int
318- argIndex <- argIndex + 1
319- let arg1 = args.[ argIndex]
320- argIndex <- argIndex + 1
321- env.Write ( conv arg1 star1)
322-
323- | StepPercentStar1( prefix) ->
324- //let _star1 = args.[argIndex] :?> int
325- argIndex <- argIndex + 1
326- env.WriteSkipEmpty prefix
327- env.Write( " %" )
328-
329- | StepStar2( prefix, conv) ->
330- env.WriteSkipEmpty prefix
331- let star1 = args.[ argIndex] :?> int
332- argIndex <- argIndex + 1
333- let star2 = args.[ argIndex] :?> int
334- argIndex <- argIndex + 1
335- let arg1 = args.[ argIndex]
336- argIndex <- argIndex + 1
337- env.Write ( conv arg1 star1 star2)
338-
339- | StepPercentStar2( prefix) ->
340- env.WriteSkipEmpty prefix
341- //let _star1 = args.[argIndex] :?> int
342- argIndex <- argIndex + 2
343- env.Write( " %" )
290+ match steps with
291+ | [| StepString one |] -> env.Write( one)
292+ | _ ->
293+ for step in steps do
294+ match step with
295+ | Step ( prefix, conv1) ->
296+ env.WriteSkipEmpty( prefix)
297+ env.Write(& argIndex, args, conv1)
298+
299+ | StepString prefix ->
300+ env.WriteSkipEmpty( prefix)
301+
302+ | StepLittleT( prefix) ->
303+ env.WriteSkipEmpty prefix
304+ let farg = args.[ argIndex]
305+ argIndex <- argIndex + 1
306+ let f = farg :?> ( 'State -> 'Residue)
307+ env.WriteT( f env.State)
308+
309+ | StepLittleA( prefix) ->
310+ env.WriteSkipEmpty prefix
311+ let farg = args.[ argIndex]
312+ argIndex <- argIndex + 1
313+ let arg = args.[ argIndex]
314+ argIndex <- argIndex + 1
315+ let f = farg :?> ( 'State -> obj -> 'Residue)
316+ env.WriteT( f env.State arg)
317+
318+ | StepStar1( prefix, conv) ->
319+ env.WriteSkipEmpty prefix
320+ let star1 = args.[ argIndex] :?> int
321+ argIndex <- argIndex + 1
322+ let arg1 = args.[ argIndex]
323+ argIndex <- argIndex + 1
324+ env.Write ( conv arg1 star1)
325+
326+ | StepPercentStar1( prefix) ->
327+ //let _star1 = args.[argIndex] :?> int
328+ argIndex <- argIndex + 1
329+ env.WriteSkipEmpty prefix
330+ env.Write( " %" )
331+
332+ | StepStar2( prefix, conv) ->
333+ env.WriteSkipEmpty prefix
334+ let star1 = args.[ argIndex] :?> int
335+ argIndex <- argIndex + 1
336+ let star2 = args.[ argIndex] :?> int
337+ argIndex <- argIndex + 1
338+ let arg1 = args.[ argIndex]
339+ argIndex <- argIndex + 1
340+ env.Write ( conv arg1 star1 star2)
341+
342+ | StepPercentStar2( prefix) ->
343+ env.WriteSkipEmpty prefix
344+ //let _star1 = args.[argIndex] :?> int
345+ argIndex <- argIndex + 2
346+ env.Write( " %" )
344347
345348 env.Finish()
346349
0 commit comments