<div dir="ltr"><div class="gmail_default" style="font-family:garamond,serif;font-size:large"><div class="gmail_default">Hello Fellow MetaPosters,</div><div class="gmail_default"><br></div><div class="gmail_default">I am using the scantokens command and have observed some rather weird standard output remarks. ---</div><div class="gmail_default"><br></div><div class="gmail_default">Here is my program ---</div><div class="gmail_default"><br></div><div class="gmail_default">string aa ;</div><div class="gmail_default">numeric n[] , i , j , len ;</div><div class="gmail_default">numeric wide ;</div><div class="gmail_default">%%  mydata contains one sequence of numbers " 12 34 45 1 0  234"</div><div class="gmail_default"><br></div><div class="gmail_default">vardef mydigits ( expr nn ) =</div><div class="gmail_default">  numeric w ;</div><div class="gmail_default">  if (nn > 99) and (nn < 1000) :</div><div class="gmail_default">    w := 3 ;</div><div class="gmail_default">    w</div><div class="gmail_default">  elseif (nn > 9) and (nn < 100) :</div><div class="gmail_default">    w := 2 ;</div><div class="gmail_default">    w</div><div class="gmail_default">  else :</div><div class="gmail_default">    w := 1 ;</div><div class="gmail_default">    w</div><div class="gmail_default">  fi</div><div class="gmail_default">enddef ;</div><div class="gmail_default"><br></div><div class="gmail_default">aa := readfrom ( "mydata" ) ;</div><div class="gmail_default">message ("aa "&aa ) ;</div><div class="gmail_default"><br></div><div class="gmail_default">for i = 0 upto 5 :</div><div class="gmail_default">  len := length aa ;</div><div class="gmail_default">  spaces := 0 ;</div><div class="gmail_default">  for j = 0 upto len :</div><div class="gmail_default">    if substring (j,j+1) of aa = " " :  spaces := spaces+1 ; else : fi exitif true ; fi ;</div><div class="gmail_default">  endfor ;</div><div class="gmail_default">  aa := substring (spaces,len) of aa ;</div><div class="gmail_default">  n[i] := scantokens aa ;</div><div class="gmail_default">  wide :=  mydigits ( n[i] ) ;</div><div class="gmail_default">  len := length aa ;</div><div><div>  aa := substring (wide,len) of aa ;</div><div>endfor ;</div><div><br></div><div>for i = 0 upto 5 :</div><div>  message ( "n["&decimal i&"] "&decimal n[i] ) ;</div><div>endfor ;</div><div><br></div><div>end</div><div><br></div><div><br></div><div>AND here is the mydata file ---</div><div><br></div><div> 12 34 45 1 0  234</div><div><br></div><div>The scantokens commands seem to want to indicate that there is more to read than just the next number!</div><div><br></div><div>Here is a portion of the output I obtain ---</div><div><br></div><div>This is MetaPost, version 1.9991 (TeX Live 2016) (kpathsea version 6.2.2)</div><div>(/usr/local/texlive/2016/texmf-dist/metapost/base/<a href="http://mpost.mp">mpost.mp</a></div><div>(/usr/local/texlive/2016/texmf-dist/metapost/base/<a href="http://plain.mp">plain.mp</a></div><div>Preloading the plain mem file, version 1.005) ) (./<a href="http://mytest.mp">mytest.mp</a></div><div>aa  12 34 45 1 0  234</div><div>! Extra tokens will be flushed.</div><div><to be read again></div><div>                   34</div><div><scantokens> 12 34</div><div>                   45 1 0  234</div><div><to be read again></div><div>                   ;</div><div><for(0)> ...s,len)of.aa;n[(EXPR0)]:=scantokens.aa;</div><div>                                                  wide:=mydigits(n[(EXPR0)])...</div><div>l.34 endfor</div><div>            ;</div><div><br></div><div>MetaPost interrupts the processing at this point, but if an "r" is entered from the keyboard, MetaPost continues</div><div>with much more similar output and then finally ---</div><div><br></div></div><div><div>n[0] 12</div><div>n[1] 34</div><div>n[2] 45</div><div>n[3] 1</div><div>n[4] 0</div><div>n[5] 234 )</div><div><br></div><div>Is there a way to avoid these extra standard output remarks?</div><div><br></div><div><br></div><div>Many thanks in advance.</div><div><br></div><div>Walt</div><div>ps    The zipped file jkljkl.zip contains both <a href="http://mytest.mp">mytest.mp</a> and mydata.</div><div><br></div></div></div></div>