home *** CD-ROM | disk | FTP | other *** search
/ Geek Gadgets 1 / ADE-1.bin / ade-dist / unixtex-6.1b-src.tgz / tar.out / contrib / unixtex / web2c / mf / MFtrap / trap.log < prev    next >
Text File  |  1996-09-28  |  122KB  |  4,258 lines

  1. This is METAFONT, Version 2.71 (preloaded base=trap 92.1.25)  25 JAN 1992 08:58
  2. ** &trap  trap
  3. (trap.mf
  4. {if}
  5. {known(0)}
  6. {not(true)}
  7. {false}
  8. {known("")}
  9. {true}
  10.  
  11. /*\`'@#->begingroup.message(SUFFIX1)&str(SUFFIX0)&jobname&char.ASCII'`&s
  12. tr(SUFFIX2)!endgroup
  13. (SUFFIX0)<-/*\
  14. (SUFFIX1)<-`'
  15. (SUFFIX2)<-pass2
  16. {begingroup}
  17. {message}
  18.  
  19. `'->begingroup'`endgroup
  20. (SUFFIX0)<-
  21. (SUFFIX1)<-`'
  22. {begingroup}
  23.  
  24. '`->"\*/"
  25. {endgroup}
  26. {("\*/")&("/*\")}
  27. {jobname}
  28. {("\*//*\")&("trap")}
  29.  
  30. '`->"\*/"
  31. {ASCII("\*/")}
  32. {char(92)}
  33. {("\*//*\trap")&("\")}
  34. {("\*//*\trap\")&("pass2!")}
  35.  
  36. \*//*\trap\pass2!
  37. {endgroup}
  38. {outer}
  39. {let}
  40. {delimiters}
  41.  
  42. ! Missing symbolic token inserted.
  43. <inserted text> 
  44.                  INACCESSIBLE
  45. l.21 ...t next=\; delimiters ^~7
  46.                                 ! fi
  47. Sorry: You can't redefine a number, string, or expr.
  48. I've inserted an inaccessible symbol so that your
  49. definition will be completed without mixing me up too badly.
  50.  
  51. ! Extra tokens will be flushed.
  52. <to be read again> 
  53.                    !
  54. l.21 ... next=\; delimiters ^~7!
  55.                                  fi
  56. I've just read as much of that statement as I could fathom,
  57. so a semicolon should have been next. It's very puzzling...
  58. but I'll try to get myself back together, by ignoring
  59. everything up to the next `;'. Please insert a semicolon
  60. now in front of anything that you don't want me to delete.
  61. (See Chapter 27 of The METAFONTbook for an example.)
  62.  
  63. ! Forbidden token found while scanning to the end of the statement.
  64. <inserted text> 
  65.                 ;
  66. <to be read again> 
  67.                    \
  68. l.22 next\
  69.           ; % the second pass will now compute silently; the ...
  70. A previous error seems to have propagated,
  71. causing me to read past where you wanted me to stop.
  72. I'll try to recover; but if the error is serious,
  73. you'd better type `E' or `X' now and fix your file.
  74.  
  75. {\}
  76. {batchmode}
  77.  
  78. ! An expression can't begin with `endgroup'.
  79. <inserted text> 
  80.                 0
  81. <to be read again> 
  82.                    endgroup
  83. l.23 batchmode; ^~7,endgroup
  84.                              pausing:=1; exitif p exitif bool...
  85. I'm afraid I need some sort of value in order to continue,
  86. so I've tentatively inserted `0'. You may want to
  87. delete this zero and insert something else;
  88. see Chapter 27 of The METAFONTbook for an example.
  89.  
  90. ! Missing ` INACCESSIBLE' has been inserted.
  91. <to be read again> 
  92.                    endgroup
  93. l.23 batchmode; ^~7,endgroup
  94.                              pausing:=1; exitif p exitif bool...
  95. I found no right delimiter to match a left one. So I've
  96. put one in, behind the scenes; this may fix the problem.
  97.  
  98. ! Extra `endgroup'.
  99. <recently read> endgroup
  100.                         
  101. l.23 batchmode; ^~7,endgroup
  102.                              pausing:=1; exitif p exitif bool...
  103. I'm not currently working on a `begingroup',
  104. so I had better not try to end anything.
  105.  
  106. {pausing:=1}
  107. {exitif}
  108. {exitif}
  109. {pencircle}
  110. {endfor}
  111. ! Extra `endfor'.
  112. l.23 ...ean pen pencircle endfor
  113.                                 
  114. I'm not currently working on a for loop,
  115. so I had better not try to end anything.
  116.  
  117. {scantokens}
  118. {begingroup}
  119. {message}
  120. {char(0)}
  121. {("^^@")&("watch this")}
  122. ^^@watch this
  123. {-(1)}
  124. {char(-1)}
  125. {("pair p[],';")&("^^ff")}
  126. {endgroup}
  127. {pen(future pen)}
  128. {boolean(true)}
  129. {true}
  130. ! No loop is in progress.
  131. <to be read again> 
  132.                    pair
  133. <scantokens> pair
  134.                   p[],';^^ff
  135. <to be read again> 
  136.                    path
  137. l.25 path
  138.           p[][]p,w,qw; qw=(1,-2)..(2,-1)..(2.5,0.5)..(1,2)..(...
  139. Why say `exitif' when there's nothing to exit from?
  140.  
  141. >> p
  142. ! Undefined condition will be treated as `false'.
  143. <to be read again> 
  144.                    pair
  145. <scantokens> pair
  146.                   p[],';^^ff
  147. <to be read again> 
  148.                    path
  149. l.25 path
  150.           p[][]p,w,qw; qw=(1,-2)..(2,-1)..(2.5,0.5)..(1,2)..(...
  151. The expression shown above should have had a definite
  152. true-or-false value. I'm changing it to `false'.
  153.  
  154. {false}
  155. ! Missing `;' has been inserted.
  156. <to be read again> 
  157.                    pair
  158. <scantokens> pair
  159.                   p[],';^^ff
  160. <to be read again> 
  161.                    path
  162. l.25 path
  163.           p[][]p,w,qw; qw=(1,-2)..(2,-1)..(2.5,0.5)..(1,2)..(...
  164. After `exitif <boolean exp>' I expect to see a semicolon.
  165. I shall pretend that one was there.
  166.  
  167. {pair}
  168. ! Text line contains an invalid character.
  169. <scantokens> pair p[],';^^ff
  170.                             
  171. <to be read again> 
  172.                    path
  173. l.25 path
  174.           p[][]p,w,qw; qw=(1,-2)..(2,-1)..(2.5,0.5)..(1,2)..(...
  175. A funny symbol that I can't read has just been input.
  176. Continue, and I'll forget that it ever happened.
  177.  
  178. {path}
  179. {-(2)}
  180. {-(1)}
  181. {turningnumber((xpart ',ypart '))}
  182. Path at line 25, before choices:
  183. (1,-2){curl 1}
  184.  ..(2,-1)
  185.  ..(2.5,0.5)
  186.  ..(1,2)
  187.  ..{curl 1}(0,2.5)
  188.  
  189. Path at line 25, after choices:
  190. (1,-2)..controls (1.37755,-1.71404) and (1.71404,-1.37755)
  191.  ..(2,-1)..controls (2.33353,-0.55965) and (2.59729,-0.04124)
  192.  ..(2.5,0.5)..controls (2.36812,1.23369) and (1.6712,1.65662)
  193.  ..(1,2)..controls (0.66821,2.16974) and (0.33485,2.33641)
  194.  ..(0,2.5)
  195.  
  196. {(unknown path qw)=(path)}
  197. {numeric}
  198. ! Enormous number has been reduced.
  199. l.26 ...[$] ]]=10000000000000000
  200.                                 ; "this string constant is in...
  201. I can't handle numbers bigger than about 4095.99998;
  202. so I've changed your constant to that maximum amount.
  203.  
  204. {(p[[ [-1] ]])=(4095.99998)}
  205. ## p[[ [-1] ]]=4095.99998
  206. ! Incomplete string token has been flushed.
  207. l.26 ...g constant is incomplete
  208.                                 
  209. Strings should finish on the same line as they began.
  210. I've deleted the partial string; you might want to
  211. insert another by typing, e.g., `I"new string"'.
  212.  
  213. {string}
  214. ! Declared variable conflicts with previous vardef.
  215. <to be read again> 
  216.                    ,
  217. l.27 string foo[]p,
  218.                    p~if true:[];
  219. You can't use, e.g., `numeric foo[]' after `vardef foo'.
  220. Proceed, and I'll ignore the illegal redeclaration.
  221.  
  222. {if}
  223. {true}
  224. {true}
  225. {boolean}
  226. {fi}
  227. {showvariable}
  228. boolean.boolean=unknown boolean
  229. ! OK.
  230. l.28 ...n; showvariable boolean;
  231.                                  def\\= =end enddef;
  232.  
  233. {def}
  234. {picture}
  235. {pen}
  236. ! Illegal suffix of declared variable will be flushed.
  237. <to be read again> 
  238.                    [
  239. <to be read again> 
  240.                    "a"
  241. l.30 pen p~[]~,q["a"
  242.                     ,qq; p~1~=q=pencircle scaled mexp(-3016.5...
  243. Variables in declarations must consist entirely of
  244. names and collective subscripts, e.g., `x[]a'.
  245. Are you trying to use a reserved word in a variable name?
  246. I'm going to discard the junk I found here,
  247. up to the next comma or the end of the declaration.
  248.  
  249. {pencircle}
  250. {-(3016.57654)}
  251. {mexp(-3016.57654)}
  252. {(future pen)scaled(0)}
  253. Pen polygon at line 30 (newly created):
  254. (0.5,0)
  255.  .. (0,0.5)
  256.  .. (-0.5,0)
  257.  .. (0,-0.5)
  258.  .. cycle
  259.  
  260. {(unknown pen q)=(pen)}
  261. {(unknown pen p~1~)=(pen)}
  262. {transform}
  263. ! Illegal suffix of declared variable will be flushed.
  264. <to be read again> 
  265.                    0
  266. l.31 transform p,pp0
  267.                     ; if p=p:qq=makepen((1,0)..cycle) xscaled...
  268. Variables in declarations must consist entirely of
  269. names and collective subscripts, e.g., `x[]a'.
  270. Explicit subscripts like `x15a' aren't permitted.
  271. I'm going to discard the junk I found here,
  272. up to the next comma or the end of the declaration.
  273.  
  274. {if}
  275. {((xpart p,ypart p,xxpart p,xypart p,yxpart p,yypart p))=((xpart p,ypart
  276.  p,xxpart p,xypart p,yxpart p,yypart p))}
  277. {true}
  278. Path at line 31, before choices:
  279. (1,0)
  280.  ..cycle
  281.  
  282. Path at line 31, after choices:
  283. (1,0)..controls (1,0) and (1,0)
  284.  ..cycle
  285.  
  286. {makepen(path)}
  287. {hex("1000")}
  288. ! Number too large (4096).
  289. <to be read again> 
  290.                    ;
  291. l.31 ...cle) xscaled hex "1000";
  292.                                 fi
  293. I have trouble with numbers greater than 4095; watch out.
  294.  
  295. {(future pen)xscaled(4096)}
  296. ! Pen too large.
  297. <to be read again> 
  298.                    ;
  299. l.31 ...cle) xscaled hex "1000";
  300.                                 fi
  301. The cycle you specified has a coordinate of 4095.5 or more.
  302. So I've replaced it by the trivial path `(0,0)..cycle'.
  303.  
  304. Pen polygon at line 31 (newly created):
  305. (0,0)
  306.  .. cycle
  307.  
  308. {(unknown pen qq)=(pen)}
  309. {fi}
  310. Path at line 32, before choices:
  311. (0,0)
  312.  ..(1,0)
  313.  ..(0,1)
  314.  ..(0,0)
  315.  ..(1,0)
  316.  ..(0,1)
  317.  ..cycle
  318.  
  319. Path at line 32, after choices:
  320. (0,0)..controls (0.29056,-0.29056) and (0.75859,-0.30772)
  321.  ..(1,0)..controls (1.51964,0.66237) and (0.66237,1.51964)
  322.  ..(0,1)..controls (-0.30772,0.75859) and (-0.29056,0.29056)
  323.  ..(0,0)..controls (0.29056,-0.29056) and (0.75859,-0.30772)
  324.  ..(1,0)..controls (1.51964,0.66237) and (0.66237,1.51964)
  325.  ..(0,1)..controls (-0.30772,0.75859) and (-0.29056,0.29056)
  326.  ..cycle
  327.  
  328. {makepen(path)}
  329. ! Pen cycle must be convex.
  330. <to be read again> 
  331.                    ;
  332. l.32 ...)..(1,0)..(0,1)..cycle);
  333.                                 
  334. The cycle you specified either has consecutive equal points
  335. or turns right or turns through more than 360 degrees.
  336. So I've replaced it by the trivial path `(0,0)..cycle'.
  337.  
  338. Pen polygon at line 32 (newly created):
  339. (0,0)
  340.  .. cycle
  341.  
  342. {qq:=pen}
  343. {vardef}
  344. ! Missing parameter type; `expr' will be assumed.
  345. <to be read again> 
  346.                    )
  347. l.33 ...ext suffix a,b endtext()
  348.                                 )suffix@=show #@; p.a.b() end...
  349. You should've had `expr' or `suffix' or `text' here.
  350.  
  351. {expandafter}
  352. {\}
  353. {let}
  354.  
  355. \\->=end
  356. {outer}
  357. {pencircle}
  358. {(future pen)scaled(4.5)}
  359. {(future pen)yscaled(2)}
  360. Pen polygon at line 34 (newly created):
  361. (0.5,-4.5)
  362.  .. (1,-4)
  363.  .. (2,-2.5)
  364.  .. (2.5,0)
  365.  .. (2,2.5)
  366.  .. (1,4)
  367.  .. (0.5,4.5)
  368.  .. (-0.5,4.5)
  369.  .. (-1,4)
  370.  .. (-2,2.5)
  371.  .. (-2.5,0)
  372.  .. (-2,-2.5)
  373.  .. (-1,-4)
  374.  .. (-0.5,-4.5)
  375.  .. cycle
  376.  
  377. {qq:=pen}
  378. {((6,12))-((xpart p7,ypart p7))}
  379. {((0,1))transformed((xpart p,ypart p,xxpart p,xypart p,yxpart p,yypart p
  380. ))}
  381. {(x)-(x)}
  382. {(2)/(0)}
  383. >> 2
  384. ! Division by zero.
  385. <to be read again> 
  386.                    ,
  387. l.35 ...)transformed p=(2/(x-x),
  388.                                 3/0)transformed p;
  389. You're trying to divide the quantity shown above the error
  390. message by zero. I'm going to divide it by one instead.
  391.  
  392. ! Division by zero.
  393. l.35 ...ansformed p=(2/(x-x),3/0
  394.                                 )transformed p;
  395. I'll pretend that you meant to divide by 1.
  396.  
  397. {((2,3))transformed((xpart p,ypart p,xxpart p,xypart p,yxpart p,yypart p
  398. ))}
  399. {((linearform,linearform))=((linearform,linearform))}
  400. ## yxpart p=-yypart p
  401. ## xxpart p=-xypart p
  402. {((-xpart p7+6,-ypart p7+12))=((linearform,linearform))}
  403. ## ypart p7=-ypart p-yypart p+12
  404. ## xpart p7=-xpart p-xypart p+6
  405. {\}
  406. {if}
  407. {string(unknown string p~[-1])}
  408. {true}
  409. {(p0.1 0.2)-(p0.1 0.2)}
  410. ! The token `endtext' is no longer a right delimiter.
  411. l.36 ...1.2-p.1.199999,1 endtext
  412.                                  transformed p;
  413. Strange: This token has lost its former meaning!
  414. I'll read it as a right delimiter this time;
  415. but watch out, I'll probably miss it later.
  416.  
  417. {((0,1))transformed((xpart p,ypart p,-xypart p,xypart p,-yypart p,yypart
  418.  p))}
  419. {((linearform,linearform))=((linearform,linearform))}
  420. ## ypart p=-yypart p+6
  421. #### ypart p7=6
  422. ## xpart p=-xypart p+3
  423. #### xpart p7=3
  424. {(unknown path p1 2p)=((3,6))}
  425. {showstopping:=0}
  426. {showvariable}
  427. p=(-xypart p+3,-yypart p+6,-xypart p,xypart p,-yypart p,yypart p)
  428. p[]=pair
  429. p[][]=numeric
  430. p[][]p=unknown path
  431. p[][]p~=macro:(SUFFIX2)(SUFFIX3)(EXPR4)<suffix>->begingroup ETC.
  432. p[]~=unknown boolean
  433. p~=path
  434. p~[]=unknown string
  435. p~[]~=unknown pen
  436. p~[]~[][]=unknown picture
  437. p~[-1]=unknown string p~[-1]
  438. p~1~=pen
  439. p[[ [] ]]=numeric
  440. p[[ [-1] ]]=4095.99998
  441. p0.1 0.2=p0.1 0.2
  442. p1 2p=path
  443. p7=(3,6)
  444. {((-xypart p+3,-yypart p+6,-xypart p,xypart p,-yypart p,yypart p))=((-xy
  445. part p+3,-yypart p+6,-xypart p,xypart p,-yypart p,yypart p))}
  446. {let}
  447. {let}
  448. {xxpart((-xypart p+3,-yypart p+6,-xypart p,xypart p,-yypart p,yypart p))
  449. }
  450. {(-xypart p)+(0.002)}
  451. {yxpart((-xypart p+3,-yypart p+6,-xypart p,xypart p,-yypart p,yypart p))
  452. }
  453. {((xpart p2,ypart p2))-((xpart p1,ypart p1))}
  454. {(1)*((linearform,linearform))}
  455. {((xpart p1,ypart p1))+((linearform,linearform))}
  456. {(y)+(0.00002)}
  457. {yypart((-xypart p+3,-yypart p+6,-xypart p,xypart p,-yypart p,yypart p))
  458. }
  459. {xypart((-xypart p+3,-yypart p+6,-xypart p,xypart p,-yypart p,yypart p))
  460. }
  461. {((5,y))=((yypart p,xypart p))}
  462. ## y=xypart p
  463. ## yypart p=5
  464. #### ypart p=1
  465. #### yxpart p=-5
  466. {((5,xypart p+0.00002))=((5,xypart p))}
  467. {((xpart p2,ypart p2))=((5,xypart p))}
  468. ## ypart p2=xypart p
  469. ## xpart p2=5
  470. {((-xypart p+0.002,-5))=((5,xypart p))}
  471. ## xypart p=-5
  472. #### ypart p2=-5
  473. #### y=-5
  474. #### xpart p=8
  475. #### xxpart p=5
  476. ! Inconsistent equation (off by -0.002).
  477. <to be read again> 
  478.                    ;
  479. l.38 ...,y)=(yypart p,xypart p);
  480.                                 
  481. The equation I just read contradicts what was said before.
  482. But don't worry; continue and I'll just ignore it.
  483.  
  484. Path at line 39, before choices:
  485. (0,0)..controls (15,4) and (-15,-12)
  486.  ..(4,0)
  487.  ..cycle
  488.  
  489. Path at line 39, after choices:
  490. (0,0)..controls (15,4) and (-15,-12)
  491.  ..(4,0)..controls (17.52783,8.54388) and (-15.45978,-4.12262)
  492.  ..cycle
  493.  
  494. {reverse(path)}
  495. {(path)transformed((8,1,5,-5,-5,5))}
  496. {(path)=(unknown path p2 3p)}
  497.  
  498. p1 2p~(SUFFIX2)(SUFFIX3)(EXPR4)<suffix>->begingroup.show(SUFFIX0);p(SUFF
  499. IX2)(SUFFIX3)((EXPR4)endgroup
  500. (SUFFIX0)<-p1 2p
  501. (SUFFIX1)<-~
  502. (SUFFIX2)<-
  503. (SUFFIX3)<-2 3p~
  504. ! A primary expression can't begin with `right delimiter that matches ('
  505. .
  506. <inserted text> 
  507.                 0
  508. <to be read again> 
  509.                    )
  510. l.40 ...000000001]2p~(,[2]3p~,-)
  511.                                 =p~1~2[pausing];
  512. I'm afraid I need some sort of value in order to continue,
  513. so I've tentatively inserted `0'. You may want to
  514. delete this zero and insert something else;
  515. see Chapter 27 of The METAFONTbook for an example.
  516.  
  517. {-(0)}
  518. (EXPR4)<-0
  519. (SUFFIX5)<-
  520. {begingroup}
  521. {show}
  522. >> Path at line 40:
  523. (3,6)
  524.  
  525.  
  526. p2 3p~(SUFFIX2)(SUFFIX3)(EXPR4)<suffix>->begingroup.show(SUFFIX0);p(SUFF
  527. IX2)(SUFFIX3)((EXPR4)endgroup
  528. (SUFFIX0)<-p2 3p
  529. (SUFFIX1)<-~
  530. ! Missing `,' has been inserted.
  531. <to be read again> 
  532.                    (0)
  533. p1 2p~->...IX2)(SUFFIX3)((EXPR4)
  534.                                 endgroup
  535. <to be read again> 
  536.                    =
  537. l.40 ...00000001]2p~(,[2]3p~,-)=
  538.                                 p~1~2[pausing];
  539. I've finished reading a macro argument and am about to
  540. read another; the arguments weren't delimited correctly.
  541. You might want to delete some tokens before continuing.
  542.  
  543. (SUFFIX2)<-
  544. ! Missing `,' has been inserted.
  545. <to be read again> 
  546.                    (0)
  547. p1 2p~->...IX2)(SUFFIX3)((EXPR4)
  548.                                 endgroup
  549. <to be read again> 
  550.                    =
  551. l.40 ...00000001]2p~(,[2]3p~,-)=
  552.                                 p~1~2[pausing];
  553. I've finished reading a macro argument and am about to
  554. read another; the arguments weren't delimited correctly.
  555. You might want to delete some tokens before continuing.
  556.  
  557. (SUFFIX3)<-
  558. ! Missing `)' has been inserted.
  559. <to be read again> 
  560.                    endgroup
  561. <to be read again> 
  562.                    =
  563. l.40 ...00000001]2p~(,[2]3p~,-)=
  564.                                 p~1~2[pausing];
  565. I've gotten to the end of the macro parameter list.
  566. You might want to delete some tokens before continuing.
  567.  
  568. (EXPR4)<-0
  569. (SUFFIX5)<-
  570. {begingroup}
  571. {show}
  572. >> Path at line 40:
  573. (8,1)..controls (-48.68579,57.68579) and (52.91974,-43.91974)
  574.  ..(28,-19)..controls (-7,16) and (63,-54)
  575.  ..cycle
  576.  
  577. >> (8,1,5,-5,-5,5)
  578. ! Isolated expression.
  579. <to be read again> 
  580.                    (
  581. p2 3p~->...;p(SUFFIX2)(SUFFIX3)(
  582.                                 (EXPR4)endgroup
  583. <to be read again> 
  584.                    endgroup
  585. <to be read again> 
  586.                    =
  587. l.40 ...00000001]2p~(,[2]3p~,-)=
  588.                                 p~1~2[pausing];
  589. I couldn't find an `=' or `:=' after the
  590. expression that is shown above this error message,
  591. so I guess I'll just ignore it and carry on.
  592.  
  593. ! Extra tokens will be flushed.
  594. <to be read again> 
  595.                    (
  596. p2 3p~->...;p(SUFFIX2)(SUFFIX3)(
  597.                                 (EXPR4)endgroup
  598. <to be read again> 
  599.                    endgroup
  600. <to be read again> 
  601.                    =
  602. l.40 ...00000001]2p~(,[2]3p~,-)=
  603.                                 p~1~2[pausing];
  604. I've just read as much of that statement as I could fathom,
  605. so a semicolon should have been next. It's very puzzling...
  606. but I'll try to get myself back together, by ignoring
  607. everything up to the next `;'. Please insert a semicolon
  608. now in front of anything that you don't want me to delete.
  609. (See Chapter 27 of The METAFONTbook for an example.)
  610.  
  611. {endgroup}
  612. {endgroup}
  613. {(vacuous)=(unknown picture p~1~2 1)}
  614. >> vacuous
  615. >> unknown picture p~1~2 1
  616. ! Equation cannot be performed (vacuous=unknown picture).
  617. <to be read again> 
  618.                    ;
  619. l.40 ...2]3p~,-)=p~1~2[pausing];
  620.                                 
  621. I'm sorry, but I don't know how to make such things equal.
  622. (See the two expressions just above the error message.)
  623.  
  624. {vardef}
  625. Runaway definition?
  626. if.p(SUFFIX1)(SUFFIX1)=(SUFFIX1)(SUFFIX1)p.fi
  627. ! Forbidden token found while scanning the definition of p~[].
  628. <inserted text> 
  629.                 enddef
  630. <to be read again> 
  631.                    ;
  632. l.41 ...iary t:=if p@ @=@ @p fi;
  633.                                  vardef p[][]p~[]=BAD; inner ;;
  634. I suspect you have forgotten an `enddef',
  635. causing me to read past where you wanted me to stop.
  636. I'll try to recover; but if the error is serious,
  637. you'd better type `E' or `X' now and fix your file.
  638.  
  639. {vardef}
  640. ! This variable already starts with a macro.
  641. l.41 ...@p fi; vardef p[][]p~[]=
  642.                                 BAD; inner ;;
  643. After `vardef a' you can't say `vardef a.b'.
  644. So I'll have to discard this definition.
  645.  
  646. Runaway definition?
  647. BAD
  648. ! Forbidden token found while scanning the definition of a bad variable.
  649. <inserted text> 
  650.                 enddef
  651. <to be read again> 
  652.                    ;
  653. l.41 ...i; vardef p[][]p~[]=BAD;
  654.                                  inner ;;
  655. I suspect you have forgotten an `enddef',
  656. causing me to read past where you wanted me to stop.
  657. I'll try to recover; but if the error is serious,
  658. you'd better type `E' or `X' now and fix your file.
  659.  
  660. {inner}
  661. {show}
  662. {-(2)}
  663.  
  664. p~[-2]@#<tertiary>->begingroup.if.p(SUFFIX1)(SUFFIX1)=(SUFFIX1)(SUFFIX1)
  665. p.fi.endgroup
  666. (SUFFIX0)<-p~
  667. (SUFFIX1)<-[-2]
  668. (SUFFIX2)<-~
  669. ! A tertiary expression can't begin with `['.
  670. <inserted text> 
  671.                 0
  672. <to be read again> 
  673.                    [
  674. <to be read again> 
  675.                    (3000)
  676. <to be read again> 
  677.                    ,
  678. l.42 show p~[-2]~[3000,
  679.                        x]++4000>path p3; showvariable p,P;
  680. I'm afraid I need some sort of value in order to continue,
  681. so I've tentatively inserted `0'. You may want to
  682. delete this zero and insert something else;
  683. see Chapter 27 of The METAFONTbook for an example.
  684.  
  685. {(x)-(3000)}
  686. {(0)*(x-3000)}
  687. {(3000)+(0)}
  688. {(3000)++(4000)}
  689. (EXPR3)<-4999.99998
  690. {begingroup}
  691. {if}
  692. {(p[-2][-2])=(-2)}
  693. >> p[-2][-2]+2
  694. ! Unknown relation will be considered false.
  695. <to be read again> 
  696.                    [-2]
  697. p~[-2]->...1)=(SUFFIX1)(SUFFIX1)
  698.                                 p.fi.endgroup
  699. <to be read again> 
  700.                    >
  701. l.42 show p~[-2]~[3000,x]++4000>
  702.                                 path p3; showvariable p,P;
  703. Oh dear. I can't decide if the expression above is positive,
  704. negative, or zero. So this comparison test won't be `true'.
  705.  
  706. {false}
  707. ! Missing `:' has been inserted.
  708. <to be read again> 
  709.                    [-2]
  710. p~[-2]->...1)=(SUFFIX1)(SUFFIX1)
  711.                                 p.fi.endgroup
  712. <to be read again> 
  713.                    >
  714. l.42 show p~[-2]~[3000,x]++4000>
  715.                                 path p3; showvariable p,P;
  716. There should've been a colon after the condition.
  717. I shall pretend that one was there.
  718.  
  719. {endgroup}
  720. {path((xpart p3,ypart p3))}
  721. {(vacuous)>(false)}
  722. >> vacuous
  723. >> false
  724. ! Not implemented: (vacuous)>(boolean).
  725. <to be read again> 
  726.                    ;
  727. l.42 ...~[3000,x]++4000>path p3;
  728.                                  showvariable p,P;
  729. I'm afraid I don't know how to apply that operation to that
  730. combination of types. Continue, and I'll return the second
  731. argument (see above) as the result of the operation.
  732.  
  733. >> false
  734. {showvariable}
  735. p=(8,1,5,-5,-5,5)
  736. p[]=pair
  737. p[][]=numeric
  738. p[][]p=unknown path
  739. p[][]p~=macro:(SUFFIX2)(SUFFIX3)(EXPR4)<suffix>->begingroup ETC.
  740. p[]~=unknown boolean
  741. p~=path
  742. p~[]@#=macro:<tertiary>->begingroup.if.p(SUFFIX1)(SUFFIX1) ETC.
  743. p[[ [] ]]=numeric
  744. p[[ [-1] ]]=4095.99998
  745. p[-2][-2]=p[-2][-2]
  746. p0.1 0.2=p0.1 0.2
  747. p1=(xpart p1,ypart p1)
  748. p1 2p=path
  749. p2=(5,-5)
  750. p2 3p=path
  751. p3=(xpart p3,ypart p3)
  752. p7=(3,6)
  753. > P=tag
  754. {numeric}
  755. {(2)*(alpha)}
  756. {(p3~)=(2alpha)}
  757. ## alpha=0.5p3~
  758. {(1)/(-1)}
  759. {(3)*(beta)}
  760. {(p[-1]~)=(3beta)}
  761. ## beta=0.33333p[-1]~
  762. {begingroup}
  763. {save}
  764. {showvariable}
  765. > p=tag
  766. {(3)*(0.33333(SAVED)p[-1]~)}
  767. {((SAVED)p[-1]~)=(1)}
  768. ## (SAVED)p[-1]~=1
  769. #### beta=0.33333
  770. {restoring p}
  771. {endgroup}
  772. {showvariable}
  773. p=(8,1,5,-5,-5,5)
  774. p[]=pair
  775. p[][]=numeric
  776. p[][]p=unknown path
  777. p[][]p~=macro:(SUFFIX2)(SUFFIX3)(EXPR4)<suffix>->begingroup ETC.
  778. p[]~=numeric
  779. p~=path
  780. p~[]@#=macro:<tertiary>->begingroup.if.p(SUFFIX1)(SUFFIX1) ETC.
  781. p[[ [] ]]=numeric
  782. p[[ [-1] ]]=4095.99998
  783. p[-2][-2]=p[-2][-2]
  784. p[-1]~=1
  785. p0.1 0.2=p0.1 0.2
  786. p1=(xpart p1,ypart p1)
  787. p1 2p=path
  788. p2=(5,-5)
  789. p2 3p=path
  790. p3=(xpart p3,ypart p3)
  791. p3~=p3~
  792. p7=(3,6)
  793. {def}
  794. {def}
  795. ! Missing `=' has been inserted.
  796. <to be read again> 
  797.                    false
  798. l.45 ...enddef;def!primary!false
  799.                                 ):!fi enddef;
  800. The next thing in this `def' should have been `=',
  801. because I've already looked at the definition heading.
  802. But don't worry; I'll pretend that an equals sign
  803. was present. Everything from here to `enddef'
  804. will be the replacement text of this macro.
  805.  
  806. {def}
  807. {(path)scaled(-1)}
  808. Path at line 46, before choices:
  809. (1,-2)..controls (1.37755,-1.71404) and (1.71404,-1.37755)
  810.  ..(2,-1)..controls (2.33353,-0.55965) and (2.59729,-0.04124)
  811.  ..(2.5,0.5)..controls (2.36812,1.23369) and (1.6712,1.65662)
  812.  ..(1,2)..controls (0.66821,2.16974) and (0.33485,2.33641)
  813.  ..(0,2.5)
  814.  ..(-1,2)..controls (-1.37755,1.71404) and (-1.71404,1.37755)
  815.  ..(-2,1)..controls (-2.33353,0.55965) and (-2.59729,0.04124)
  816.  ..(-2.5,-0.5)..controls (-2.36812,-1.23369) and (-1.6712,-1.65662)
  817.  ..(-1,-2)..controls (-0.66821,-2.16974) and (-0.33485,-2.33641)
  818.  ..(0,-2.5)
  819.  ..cycle
  820.  
  821. Path at line 46, after choices:
  822. (1,-2)..controls (1.37755,-1.71404) and (1.71404,-1.37755)
  823.  ..(2,-1)..controls (2.33353,-0.55965) and (2.59729,-0.04124)
  824.  ..(2.5,0.5)..controls (2.36812,1.23369) and (1.6712,1.65662)
  825.  ..(1,2)..controls (0.66821,2.16974) and (0.33485,2.33641)
  826.  ..(0,2.5)..controls (-0.37186,2.68167) and (-0.668,2.25146)
  827.  ..(-1,2)..controls (-1.37755,1.71404) and (-1.71404,1.37755)
  828.  ..(-2,1)..controls (-2.33353,0.55965) and (-2.59729,0.04124)
  829.  ..(-2.5,-0.5)..controls (-2.36812,-1.23369) and (-1.6712,-1.65662)
  830.  ..(-1,-2)..controls (-0.66821,-2.16974) and (-0.33485,-2.33641)
  831.  ..(0,-2.5)..controls (0.37186,-2.68167) and (0.668,-2.25146)
  832.  ..cycle
  833.  
  834. {makepen(path)}
  835. Pen polygon at line 46 (newly created):
  836. (1,-2)
  837.  .. (2,-1)
  838.  .. (2.5,0.5)
  839.  .. (1,2)
  840.  .. (0,2.5)
  841.  .. (-1,2)
  842.  .. (-2,1)
  843.  .. (-2.5,-0.5)
  844.  .. (-1,-2)
  845.  .. (0,-2.5)
  846.  .. cycle
  847.  
  848. {qq:=pen}
  849. {primarydef}
  850. {secondarydef}
  851.  
  852. //<expr>->
  853.  
  854. //<expr>->
  855. {pencircle}
  856. {length(path)}
  857. {(future pen)slanted(1)}
  858. {((3,6))-((5,-5))}
  859.  
  860. _aa__<secondary>->if(true
  861. {(0.1)*(15)}
  862. {odd(1.50009)}
  863. {not(false)}
  864. {known((8,1,5,-5,-5,5))}
  865. {(true)and(true)}
  866. (EXPR0)<-true
  867. {if}
  868. {true}
  869.  
  870. !<primary>->false):(EXPR0)fi
  871. (EXPR0)<-(5,-5)
  872. {false}
  873. {(true)or(false)}
  874. {true}
  875. {fi}
  876. {-((5,-5))}
  877. {-((5,-5))}
  878. {+(1)}
  879. {-(1)}
  880. >> -1
  881. ! Improper curl has been replaced by 1.
  882. <to be read again> 
  883.                    )
  884. l.51  {curl- +1)
  885.                 ..tension atleast1..cycle sqrt2++sqrt2***[[]];
  886. A curl must be a known, nonnegative number.
  887.  
  888. ! Missing `}' has been inserted.
  889. <to be read again> 
  890.                    )
  891. l.51  {curl- +1)
  892.                 ..tension atleast1..cycle sqrt2++sqrt2***[[]];
  893. I've scanned a direction spec for part of a path,
  894. so a right brace should have come next.
  895. I shall pretend that one was there.
  896.  
  897. Path at line 51, before choices:
  898. (-5,5)
  899.  
  900. Path at line 51, after choices:
  901. (-5,5)
  902.  
  903. Path at line 51, before choices:
  904. (3,6)..controls (5,-5) and (-5,5)
  905.  ..(-5,5)..tension atleast1
  906.  ..{2896.30943,-2896.30934}cycle
  907.  
  908. Path at line 51, after choices:
  909. (3,6)..controls (5,-5) and (-5,5)
  910.  ..(-5,5)..controls (-3.29726,7.86205) and (0.64516,8.35484)
  911.  ..cycle
  912.  
  913. ! Missing `)' has been inserted.
  914. <to be read again> 
  915.                    sqrt
  916. l.51 ...ion atleast1..cycle sqrt
  917.                                 2++sqrt2***[[]];
  918. I found no right delimiter to match a left one. So I've
  919. put one in, behind the scenes; this may fix the problem.
  920.  
  921. {((-2,11))subpath(path)}
  922. {reverse(path)}
  923. {makepen(path)}
  924.  
  925. **->[[show(EXPR0)*(EXPR1)]]
  926. (EXPR0)<-future pen
  927. (EXPR1)<-future pen
  928. {begingroup}
  929. {show}
  930. {(future pen)*(future pen)}
  931. >> future pen
  932. >> future pen
  933. ! Not implemented: (future pen)*(future pen).
  934. <to be read again> 
  935.                    ]]
  936. <to be read again> 
  937.                    sqrt
  938. l.51 ...ion atleast1..cycle sqrt
  939.                                 2++sqrt2***[[]];
  940. I'm afraid I don't know how to apply that operation to that
  941. combination of types. Continue, and I'll return the second
  942. argument (see above) as the result of the operation.
  943.  
  944. ! Pen path must be a cycle.
  945. <to be read again> 
  946.                    ]]
  947. <to be read again> 
  948.                    sqrt
  949. l.51 ...ion atleast1..cycle sqrt
  950.                                 2++sqrt2***[[]];
  951. I can't make a pen from the given path.
  952. So I've replaced it by the trivial path `(0,0)..cycle'.
  953.  
  954. >> Pen polygon at line 51:
  955. (0,0)
  956.  .. cycle
  957.  
  958. {endgroup}
  959. (EXPR0)<-vacuous
  960. {sqrt(2)}
  961. {sqrt(2)}
  962. {(1.41422)++(1.41422)}
  963. {begingroup}
  964. {endgroup}
  965.  
  966. ***->expandafter(EXPR1)scantokens"**oct"(EXPR0)
  967. (EXPR0)<-2
  968. (EXPR1)<-vacuous
  969. {expandafter}
  970. {scantokens}
  971. {oct(2)}
  972. >> 2
  973. ! Not implemented: oct(known numeric).
  974. <to be read again> 
  975.                    ;
  976. l.51 ...cle sqrt2++sqrt2***[[]];
  977.                                 
  978. I'm afraid I don't know how to apply that operation to that
  979. particular type. Continue, and I'll simply return the
  980. argument (shown above) as the result of the operation.
  981.  
  982.  
  983. **->[[show(EXPR0)*(EXPR1)]]
  984. (EXPR0)<-vacuous
  985. (EXPR1)<-2
  986. {begingroup}
  987. {show}
  988. {(vacuous)*(2)}
  989. >> vacuous
  990. >> 2
  991. ! Not implemented: (vacuous)*(known numeric).
  992. <to be read again> 
  993.                    ]]
  994. <to be read again> 
  995.                    ;
  996. l.51 ...cle sqrt2++sqrt2***[[]];
  997.                                 
  998. I'm afraid I don't know how to apply that operation to that
  999. combination of types. Continue, and I'll return the second
  1000. argument (see above) as the result of the operation.
  1001.  
  1002. >> 2
  1003. {endgroup}
  1004. (EXPR0)<-vacuous
  1005. {begingroup}
  1006. {interim}
  1007. {-(20.5)}
  1008. {charcode:=-20.5}
  1009. {proofing:=-20.5}
  1010. {-(2048)}
  1011. {chardp:=-2048}
  1012. {shipout}
  1013. {nullpicture}
  1014. ! Enormous chardp has been reduced.
  1015. <to be read again> 
  1016.                    ]]
  1017. l.52 ...48;shipout nullpicture]]
  1018.                                 ;
  1019. Font metric dimensions must be less than 2048pt.
  1020.  
  1021. {restoring proofing=0}
  1022. {endgroup}
  1023. {if}
  1024. {-(275.50002)}
  1025. {charexists(-275.50002)}
  1026. {known(unknown path p0 0p)}
  1027. {(true)>(false)}
  1028. {known(path)}
  1029. {(true)=(true)}
  1030. {true}
  1031. {randomseed}
  1032. ! Missing `:=' has been inserted.
  1033. <to be read again> 
  1034.                    charcode
  1035. l.53 ... p~: randomseed charcode
  1036.                                 ; fi
  1037. Always say `randomseed:=<numeric expression>'.
  1038.  
  1039. {randomseed:=-20.5}
  1040. {fi}
  1041. {randomseed}
  1042. >> "goof"
  1043. ! Unknown value will be ignored.
  1044. <to be read again> 
  1045.                    ;
  1046. l.54 randomseed:="goof";
  1047.                          a[($,18++1+-+18),(2,3)]=b[(3,2),(1,$);
  1048. Your expression was too random for me to handle,
  1049. so I won't change the random seed just now.
  1050.  
  1051. {(18)++(1)}
  1052. {(18.02776)+-+(18)}
  1053. {((2,3))-((-1,1))}
  1054. {(a)*((3,2))}
  1055. {((-1,1))+((3a,2a))}
  1056. ! Missing `]' has been inserted.
  1057. <to be read again> 
  1058.                    ;
  1059. l.54 ...8),(2,3)]=b[(3,2),(1,$);
  1060.                                 
  1061. I've scanned an expression of the form `a[b,c',
  1062. so a right bracket should have come next.
  1063. I shall pretend that one was there.
  1064.  
  1065. {((1,-1))-((3,2))}
  1066. {(b)*((-2,-3))}
  1067. {((3,2))+((-2b,-3b))}
  1068. {((3a-1,2a+1))=((-2b+3,-3b+2))}
  1069. ## b=-0.66667a+0.33333
  1070. ## a=2
  1071. #### b=-1
  1072. {show}
  1073. {(^)+(1)}
  1074. {(~)+(2)}
  1075. {-(1)}
  1076. {((^+1,~+2))slanted(-1)}
  1077. {-(2)}
  1078. {((linearform,~+2))yscaled(-2)}
  1079. {-((3,4))}
  1080. {((linearform,-2~-4))zscaled((-3,-4))}
  1081. >> (-5~-3^-13,10~-4^+16)
  1082. {((xpart pp,ypart pp,xxpart pp,xypart pp,yxpart pp,yypart pp))xscaled(9)
  1083. }
  1084. {((8,1,5,-5,-5,5))transformed((9xpart pp,ypart pp,9xxpart pp,9xypart pp,
  1085. yxpart pp,yypart pp))}
  1086. >> (9xpart pp+72xxpart pp+9xypart pp,ypart pp+8yxpart pp+yypart pp,45xxp
  1087. art pp-45xypart pp,-45xxpart pp+45xypart pp,5yxpart pp-5yypart pp,-5yxpa
  1088. rt pp+5yypart pp)
  1089. {((xpart pp,ypart pp,xxpart pp,xypart pp,yxpart pp,yypart pp))shifted((1
  1090. ,2))}
  1091. {((8,1,5,-5,-5,5))transformed((8,1,5,-5,-5,5))}
  1092. {((xpart pp+1,ypart pp+2,xxpart pp,xypart pp,yxpart pp,yypart pp))transf
  1093. ormed((43,-34,50,-50,-50,50))}
  1094. >> (50xpart pp-50ypart pp-7,-50xpart pp+50ypart pp+16,50xxpart pp-50yxpa
  1095. rt pp,50xypart pp-50yypart pp,-50xxpart pp+50yxpart pp,-50xypart pp+50yy
  1096. part pp)
  1097. {(2)-(1)}
  1098. {(_0)*(1)}
  1099. {(1)+(_0)}
  1100. {-(_0+1)}
  1101. >> -_0-1
  1102. {show}
  1103. {normaldeviate}
  1104. {-(-2048)}
  1105. {uniformdeviate(2048)}
  1106. {angle((-0.41438,761.67789))}
  1107. {cosd(90.03117)}
  1108. {(200)*(-0.00055)}
  1109. {mexp(-0.10986)}
  1110. {sqrt(0.99957)}
  1111. {mlog(0.99979)}
  1112. {sind(-0.05469)}
  1113. {floor(-0.00096)}
  1114. >> -1
  1115. {string}
  1116. {(unknown string s2)=(unknown string s4)}
  1117. {(unknown string s1)=(unknown string s2)}
  1118. {(unknown string s3)=(unknown string s5)}
  1119. {(unknown string s2)=(unknown string s4)}
  1120. ! Redundant equation.
  1121. <to be read again> 
  1122.                    ;
  1123. l.58 ... s1=s2=s4; s3=s5; s1=s2;
  1124.                                  if s1<=s4<>(s1<>s3):show[[ch...
  1125. I already knew that this equation was true.
  1126. But perhaps no harm has been done; let's continue.
  1127.  
  1128. {if}
  1129. {(unknown string s2)<=(unknown string s1)}
  1130. {(unknown string s2)<>(unknown string s5)}
  1131. >> unknown string s2
  1132. >> unknown string s5
  1133. ! Unknown relation will be considered false.
  1134. <to be read again> 
  1135.                    )
  1136. l.58 ...=s2; if s1<=s4<>(s1<>s3)
  1137.                                 :show[[char34=s2:=s3]]fi;
  1138. The quantities shown above have not been equated.
  1139.  
  1140. {(true)<>(false)}
  1141. {true}
  1142. {show}
  1143. {begingroup}
  1144. {char(34)}
  1145. {s2:=unknown string s5}
  1146. {(""")=(unknown string s2)}
  1147. {endgroup}
  1148. {fi}
  1149. >> vacuous
  1150. {(0.1)point(path)}
  1151. {begingroup}
  1152. {pencircle}
  1153. Pen polygon at line 59 (newly created):
  1154. (0.5,0)
  1155.  .. (0,0.5)
  1156.  .. (-0.5,0)
  1157.  .. (0,-0.5)
  1158.  .. cycle
  1159.  
  1160. {endgroup}
  1161. {((3.24413,0.64801))penoffset(pen)}
  1162. {((0,-0.5))rotated(540)}
  1163. {((0,0.5))/(0.33333)}
  1164. {-(1.5)}
  1165. ! Paths don't touch; `&' will be changed to `..'.
  1166. <to be read again> 
  1167.                    )
  1168. l.60 ...tcontrol-1.5of(p~&cycle)
  1169.                                 -precontrol1/2of p~(p~)=s1:=s...
  1170. When you join paths `p&q', the ending point of p
  1171. must be exactly equal to the starting point of q.
  1172. So I'm going to pretend that you said `p..q' instead.
  1173.  
  1174. Path at line 60, before choices:
  1175. (0,0)..controls (15,4) and (-15,-12)
  1176.  ..(4,0)
  1177.  ..cycle
  1178.  
  1179. Path at line 60, after choices:
  1180. (0,0)..controls (15,4) and (-15,-12)
  1181.  ..(4,0)..controls (17.52783,8.54388) and (-15.45978,-4.12262)
  1182.  ..cycle
  1183.  
  1184. {(-1.5)postcontrol(path)}
  1185. {(0.5)precontrol(path)}
  1186. {((-2.75,-5))-((3.75,-1))}
  1187. ! Missing `of' has been inserted for directiontime.
  1188. <to be read again> 
  1189.                    (
  1190. l.60 ...cle)-precontrol1/2of p~(
  1191.                                 p~)=s1:=s4:=s4;
  1192. I've got the first argument; will look now for the other.
  1193.  
  1194. {((-6.5,-4))directiontime(path)}
  1195. {decimal(0.5)}
  1196. {((0,1.50003))substring("0.5")}
  1197. {s4:=unknown string s1}
  1198. {s1:=unknown string s4}
  1199. {("0.")=(unknown string s1)}
  1200. {path}
  1201. {length("  ")}
  1202. ! Missing `,' has been inserted.
  1203. <to be read again> 
  1204.                    }
  1205. l.61 ...p~[]; p~1=p2{length"  "}
  1206.                                 &cycle; p~1=p2=p~0; p2..contr...
  1207. I've got the x coordinate of a path direction;
  1208. will look for the y coordinate next.
  1209.  
  1210. ! An expression can't begin with `}'.
  1211. <inserted text> 
  1212.                 0
  1213. <to be read again> 
  1214.                    }
  1215. l.61 ...p~[]; p~1=p2{length"  "}
  1216.                                 &cycle; p~1=p2=p~0; p2..contr...
  1217. I'm afraid I need some sort of value in order to continue,
  1218. so I've tentatively inserted `0'. You may want to
  1219. delete this zero and insert something else;
  1220. see Chapter 27 of The METAFONTbook for an example.
  1221.  
  1222. Path at line 61, before choices:
  1223. (5,-5){4096,0}
  1224.  ..{4096,0}cycle
  1225.  
  1226. Path at line 61, after choices:
  1227. (5,-5)..controls (5,-5) and (5,-5)
  1228.  ..cycle
  1229.  
  1230. {(unknown path p~1)=(path)}
  1231. {((5,-5))=(unknown path p~0)}
  1232. {(path)=(path)}
  1233. ! Redundant or inconsistent equation.
  1234. <to be read again> 
  1235.                    ;
  1236. l.61 ..."  "}&cycle; p~1=p2=p~0;
  1237.                                  p2..controls-p2..cycle=p~2;(p7
  1238. An equation between already-known quantities can't help.
  1239. But don't worry; continue and I'll just ignore it.
  1240.  
  1241. {-((5,-5))}
  1242. Path at line 61, before choices:
  1243. (5,-5)..controls (-5,5) and (-5,5)
  1244.  ..cycle
  1245.  
  1246. Path at line 61, after choices:
  1247. (5,-5)..controls (-5,5) and (-5,5)
  1248.  ..cycle
  1249.  
  1250. {(path)=(unknown path p~2)}
  1251. {length(path)}
  1252. Path at line 62, before choices:
  1253. (3,6)..tension 1.2
  1254.  ..(5,-5)..controls (5,-5) and (5,-5)
  1255.  ..(5,-5)
  1256.  ..(5,-5)..controls (-5,5) and (-5,5)
  1257.  ..(5,-5){0,4096}..tension 1 and atleast1
  1258.  ..cycle
  1259.  
  1260. Path at line 62, after choices:
  1261. (3,6)..controls (-3.01212,4.82085) and (-1.0424,-6.01257)
  1262.  ..(5,-5)..controls (5,-5) and (5,-5)
  1263.  ..(5,-5)..controls (5,-5) and (5,-5)
  1264.  ..(5,-5)..controls (-5,5) and (-5,5)
  1265.  ..(5,-5)..controls (5,0.02791) and (4.99951,6.39217)
  1266.  ..cycle
  1267.  
  1268. >> x
  1269. ! Improper tension has been set to 1.
  1270. <to be read again> 
  1271.                    ..
  1272. l.63  x..
  1273.          {curl1}-p7{curl hex "IsBad"}..tension.75and.74999..p...
  1274. The expression above should have been a number >=3/4.
  1275.  
  1276. {-((3,6))}
  1277. {hex("IsBad")}
  1278. >> "IsBad"
  1279. ! String contains illegal digits.
  1280. <to be read again> 
  1281.                    }
  1282. l.63 ...l1}-p7{curl hex "IsBad"}
  1283.                                 ..tension.75and.74999..p2{0,1...
  1284. I zeroed out characters that weren't hex digits.
  1285.  
  1286. >> 0.74998
  1287. ! Improper tension has been set to 1.
  1288. <to be read again> 
  1289.                    ..
  1290. l.63 ...}..tension.75and.74999..
  1291.                                 p2{0,1}&p2{_,'}..cycle:=p
  1292. The expression above should have been a number >=3/4.
  1293.  
  1294. >> _
  1295. ! Undefined x coordinate has been replaced by 0.
  1296. <to be read again> 
  1297.                    ,
  1298. l.63 ...and.74999..p2{0,1}&p2{_,
  1299.                                 '}..cycle:=p
  1300. I need a `known' x value for this part of the path.
  1301. The value I found (see above) was no good;
  1302. so I'll try to keep going by using zero instead.
  1303. (Chapter 27 of The METAFONTbook explains that
  1304. you might want to type `I ???' now.)
  1305.  
  1306. >> (xpart ',ypart ')
  1307. ! Undefined y coordinate has been replaced by 0.
  1308. <to be read again> 
  1309.                    }
  1310. l.63 ...d.74999..p2{0,1}&p2{_,'}
  1311.                                 ..cycle:=p
  1312. I need a `known' y value for this part of the path.
  1313. The value I found (see above) was no good;
  1314. so I'll try to keep going by using zero instead.
  1315. (Chapter 27 of The METAFONTbook explains that
  1316. you might want to type `I ???' now.)
  1317.  
  1318. Path at line 63, before choices:
  1319. (3,6)..controls (-3.01212,4.82085) and (-1.0424,-6.01257)
  1320.  ..(5,-5)..controls (5,-5) and (5,-5)
  1321.  ..(5,-5)..controls (5,-5) and (5,-5)
  1322.  ..(5,-5)..controls (-5,5) and (-5,5)
  1323.  ..(5,-5)..controls (5,0.02791) and (4.99951,6.39217)
  1324.  ..(3,6)
  1325.  ..{curl 1}(-3,-6){curl 2989}..tension 0.75 and 1
  1326.  ..{0,4096}(5,-5){curl 1}
  1327.  ..cycle
  1328.  
  1329. Path at line 63, after choices:
  1330. (3,6)..controls (-3.01212,4.82085) and (-1.0424,-6.01257)
  1331.  ..(5,-5)..controls (5,-5) and (5,-5)
  1332.  ..(5,-5)..controls (5,-5) and (5,-5)
  1333.  ..(5,-5)..controls (-5,5) and (-5,5)
  1334.  ..(5,-5)..controls (5,0.02791) and (4.99951,6.39217)
  1335.  ..(3,6)..controls (-2.44821,4.93144) and (-5.41408,-1.00029)
  1336.  ..(-3,-6)..controls (-3.70045,-12.19485) and (5,-11.61679)
  1337.  ..(5,-5)..controls (12.45406,-3.75087) and (10.41669,7.45464)
  1338.  ..cycle
  1339.  
  1340. >> path
  1341. ! Improper `:=' will be changed to `='.
  1342. l.63 ...p2{0,1}&p2{_,'}..cycle:=
  1343.                                 p
  1344. I didn't find a variable name at the left of the `:=',
  1345. so I'm going to pretend that you said `=' instead.
  1346.  
  1347. {(path)=(unknown path p~4)}
  1348. {-(9)}
  1349. {((3.5001,7.00002))subpath(path)}
  1350. {((-9,9))subpath(path)}
  1351. {(path)=(unknown path p~6)}
  1352. {show}
  1353. >> Path at line 65:
  1354. (-2.5,2.5)..controls (-2.49893,2.49893) and (0.00107,-0.00107)
  1355.  ..(5,-5)..controls (5,0.02791) and (4.99951,6.39217)
  1356.  ..(3,6)..controls (-2.44821,4.93144) and (-5.41408,-1.00029)
  1357.  ..(-3,-6)..controls (-3.70045,-12.19485) and (5,-11.61679)
  1358.  ..(5,-5)..controls (5.0001,-4.99998) and (5.00021,-4.99997)
  1359.  ..(5.00032,-4.99995)
  1360.  
  1361. {((1,2))directiontime(path)}
  1362. >> 1
  1363. {-(1.00002)}
  1364. {((1,-1.00002))directiontime(path)}
  1365. >> 3.24937
  1366. Path at line 66, before choices:
  1367. (0,0)..controls (1,1) and (0,1)
  1368.  ..(1,0)
  1369.  
  1370. Path at line 66, after choices:
  1371. (0,0)..controls (1,1) and (0,1)
  1372.  ..(1,0)
  1373.  
  1374. {(unknown path p~3)=(path)}
  1375. {show}
  1376. Path at line 66, before choices:
  1377. (5,-5){-2896.30943,-2896.30934}
  1378.  ..{1831.78674,3663.57385}cycle
  1379.  
  1380. Path at line 66, after choices:
  1381. (5,-5)..controls (5,-5) and (5,-5)
  1382.  ..cycle
  1383.  
  1384. >> Path at line 66:
  1385. (5,-5)..controls (5,-5) and (5,-5)
  1386.  ..cycle
  1387.  
  1388. {((0.31416,1))subpath(path)}
  1389. {((1,1))directiontime(path)}
  1390. {(1)-(0.31416)}
  1391. {(0.27097)*(0.68584)}
  1392. {(0.31416)+(0.18584)}
  1393. >> 0.5
  1394. {((0,0.25))subpath(path)}
  1395. {((0.25,1))subpath(path)}
  1396. Path at line 68, before choices:
  1397. (0,0)..controls (0.25,0.25) and (0.375,0.4375)
  1398.  ..(0.4375,0.5625)..controls (0.625,0.9375) and (0.25,0.75)
  1399.  ..(1,0)
  1400.  
  1401. Path at line 68, after choices:
  1402. (0,0)..controls (0.25,0.25) and (0.375,0.4375)
  1403.  ..(0.4375,0.5625)..controls (0.625,0.9375) and (0.25,0.75)
  1404.  ..(1,0)
  1405.  
  1406. ! Missing `endtext' has been inserted.
  1407. <to be read again> 
  1408.                    ;
  1409. l.68 ...~3)shifted begintext1,0;
  1410.                                 
  1411. I found no right delimiter to match a left one. So I've
  1412. put one in, behind the scenes; this may fix the problem.
  1413.  
  1414. {(path)shifted((1,0))}
  1415. {(unknown path p~5)=(path)}
  1416. {(2/3)*((xpart ',ypart '))}
  1417. {((0.66667xpart ',0.66667ypart '))zscaled((xpart ',ypart '))}
  1418. >> (0,0,xpart ',-ypart ',ypart ',xpart ')
  1419. ! Transform components aren't all known.
  1420. <to be read again> 
  1421.                    {
  1422. l.69 p~3:=2/3'zscaled'{
  1423.                        p~3}..controls(2,2/3(3))and penoffset(...
  1424. I'm unable to apply a partially specified transformation
  1425. except to a fully known pair or transform.
  1426. Proceed, and I'll omit the transformation.
  1427.  
  1428. >> 0.66667xpart '
  1429. ! Undefined x coordinate has been replaced by 0.
  1430. <to be read again> 
  1431.                    {
  1432. l.69 p~3:=2/3'zscaled'{
  1433.                        p~3}..controls(2,2/3(3))and penoffset(...
  1434. I need a `known' x value for this part of the path.
  1435. The value I found (see above) was no good;
  1436. so I'll try to keep going by using zero instead.
  1437. (Chapter 27 of The METAFONTbook explains that
  1438. you might want to type `I ???' now.)
  1439.  
  1440. >> 0.66667ypart '
  1441. ! Undefined y coordinate has been replaced by 0.
  1442. <to be read again> 
  1443.                    {
  1444. l.69 p~3:=2/3'zscaled'{
  1445.                        p~3}..controls(2,2/3(3))and penoffset(...
  1446. I need a `known' y value for this part of the path.
  1447. The value I found (see above) was no good;
  1448. so I'll try to keep going by using zero instead.
  1449. (Chapter 27 of The METAFONTbook explains that
  1450. you might want to type `I ???' now.)
  1451.  
  1452. >> path
  1453. ! Undefined coordinates have been replaced by (0,0).
  1454. <to be read again> 
  1455.                    }
  1456. l.69 p~3:=2/3'zscaled'{p~3}
  1457.                            ..controls(2,2/3(3))and penoffset(...
  1458. I need x and y numbers for this part of the path.
  1459. The value I found (see above) was no good;
  1460. so I'll try to keep going by using zero instead.
  1461. (Chapter 27 of The METAFONTbook explains that
  1462. you might want to type `I ???' now.)
  1463.  
  1464. {(2/3)*(3)}
  1465. {(1/2)*(x)}
  1466. {((0.5x,-5))penoffset((0,1))}
  1467. >> (0.5x,-5)
  1468. >> (0,1)
  1469. ! Not implemented: penoffset(unknown pair)of(pair).
  1470. <to be read again> 
  1471.                    (
  1472. l.69 ...enoffset(1/2x,y)of(0,1)(
  1473.                                 1,0);
  1474. I'm afraid I don't know how to apply that operation to that
  1475. combination of types. Continue, and I'll return the second
  1476. argument (see above) as the result of the operation.
  1477.  
  1478. ! Missing `..' has been inserted.
  1479. <to be read again> 
  1480.                    (
  1481. l.69 ...enoffset(1/2x,y)of(0,1)(
  1482.                                 1,0);
  1483. A path join command should end with two dots.
  1484.  
  1485. Path at line 69, before choices:
  1486. (0,0)..controls (2,2) and (0,1)
  1487.  ..(1,0)
  1488.  
  1489. Path at line 69, after choices:
  1490. (0,0)..controls (2,2) and (0,1)
  1491.  ..(1,0)
  1492.  
  1493. {p~3:=path}
  1494. {show}
  1495. {reverse(path)}
  1496. {(path)intersectiontimes(path)}
  1497. >> (0.17227,0.28339)
  1498. {(0.17227)point(path)}
  1499. >> (0.71329,0.78188)
  1500. {(1)-(0.28339)}
  1501. {(0.71661)point(path)}
  1502. >> (0.7133,0.78189)
  1503. {show}
  1504. {(path)shifted((0.01,0))}
  1505. {(path)intersectiontimes(path)}
  1506. {xpart((1.47693,1.18973))}
  1507. {(1.47693)point(path)}
  1508. {(path)shifted((0.01,0))}
  1509. {(path)intersectiontimes(path)}
  1510. {ypart((1.47693,1.18973))}
  1511. {(1.18973)point(path)}
  1512. {((1.50499,0.71521))-((1.495,0.71521))}
  1513. >> (0.01,0)
  1514. {begingroup}
  1515. {interim}
  1516. {tracingedges:=1}
  1517. {-(1)}
  1518. {-(1.00002)}
  1519. {(-1)+-+(-1.00002)}
  1520. ! Pythagorean subtraction 1+-+1.00002 has been replaced by 0.
  1521. l.73 ...es:=1; e[-1+-+ -1.00001]
  1522.                                 =nullpicture; addto e1 also[[
  1523. Since I don't take square roots of negative numbers,
  1524. I'm zeroing this one. Proceed, with fingers crossed.
  1525.  
  1526. {nullpicture}
  1527. {(unknown picture e0)=(picture)}
  1528. {addto}
  1529. {begingroup}
  1530. {addto}
  1531. {(path)scaled(3)}
  1532. Path at line 74, before subdivision into octants:
  1533. (3,0)..controls (3.75,0.75) and (4.125,1.3125)
  1534.  ..(4.3125,1.6875)..controls (4.875,2.8125) and (3.75,2.25)
  1535.  ..(6,0)..controls (3.75,2.25) and (4.875,2.8125)
  1536.  ..(4.3125,1.6875)..controls (4.125,1.3125) and (3.75,0.75)
  1537.  ..cycle
  1538.  
  1539. Cycle spec at line 74, after subdivision:
  1540. (3,0) % beginning in octant `NNE'
  1541.    ..controls (3.75,0.75) and (4.125,1.3125)
  1542.  ..(4.3125,1.6875) % segment 0
  1543.    ..controls (4.5,2.0625) and (4.5,2.25)
  1544.  ..(4.5,2.25) % segment 1
  1545. % entering octant `NNW'
  1546. % entering octant `WNW'
  1547. % entering octant `WSW'
  1548. % entering octant `SSW'
  1549. % entering octant `SSE'
  1550.    ..controls (4.5,2.25) and (4.5,1.5)
  1551.  ..(6,0) % segment 1
  1552. % entering octant `ESE'
  1553. % entering octant `ENE'
  1554. % entering octant `NNE'
  1555. % entering octant `NNW'
  1556.    ..controls (4.5,1.5) and (4.5,2.25)
  1557.  ..(4.5,2.25) % segment 2
  1558. % entering octant `WNW'
  1559. % entering octant `WSW'
  1560. % entering octant `SSW'
  1561.    ..controls (4.5,2.25) and (4.5,2.0625)
  1562.  ..(4.3125,1.6875) % segment 2
  1563.    ..controls (4.125,1.3125) and (3.75,0.75)
  1564.  ..(3,0) % segment 3
  1565. % entering octant `SSE'
  1566. % entering octant `ESE'
  1567. % entering octant `ENE'
  1568.  & cycle
  1569.  
  1570. Tracing edges at line 74: (weight 1)
  1571. (4,0)(4,1)(5,1)(5,3)(4,3)(4,1)(5,1)(5,0)(6,0)(6,1)(5,1)(5,3)
  1572. (4,3)(4,1)(3,1)(3,0).
  1573.  
  1574. {(unknown picture e1)=(unknown picture e2)}
  1575. {(picture)=(unknown picture e1)}
  1576. {cull}
  1577. {nullpicture}
  1578. {endgroup}
  1579. {show}
  1580. {-(4095)}
  1581. {(picture)shifted((4089,-4095))}
  1582. >> Edge structure at line 75:
  1583. row -4093: | 4093+ 4094-
  1584. row -4094: | 4093+ 4094-
  1585. row -4095: | 4092+ 4093- 4094+ 4095-
  1586.  
  1587. {-(4095)}
  1588. {(picture)shifted((-4095,4092))}
  1589. {-(3)}
  1590. {(picture)shifted((-3,0))}
  1591. >> Edge structure at line 75:
  1592. row 4094: -4094+ -4093- -4094+ -4093- |
  1593. row 4093: -4094+ -4093- -4094+ -4093- |
  1594. row 4092: -4095+ -4092- -4093+ -4094- |
  1595.  
  1596. {-(4095)}
  1597. {(picture)shifted((4089,-4095))}
  1598. ! Too far to shift.
  1599. <to be read again> 
  1600.                    ]]
  1601. l.76 e2 shifted(4089,-4095)]]
  1602.                              ;addto e1 also  e2 shifted(-2,$)...
  1603. I can't shift the picture as requested---it would
  1604. make some coordinates too large or too small.
  1605. Proceed, and I'll omit the transformation.
  1606.  
  1607. >> Edge structure at line 76:
  1608. row 2: 4+ 5- 4+ 5- |
  1609. row 1: 4+ 5- 4+ 5- |
  1610. row 0: 3+ 6- 5+ 4- |
  1611.  
  1612. {restoring tracingedges=32767.99998}
  1613. {endgroup}
  1614. {addto}
  1615. {-(2)}
  1616. {(picture)shifted((-2,-1))}
  1617. {-(4)}
  1618. {(picture)shifted((-4,-1))}
  1619. {e1:=picture}
  1620. {addto}
  1621. {(picture)rotated(89.999)}
  1622. ! That transformation is too hard.
  1623. <to be read again> 
  1624.                    +
  1625. l.77 ...e0 also e1rotated89.999+
  1626.                                 e1scaled$; show e0 xscaled-10...
  1627. I can apply complicated transformations to paths,
  1628. but I can only do integer operations on pictures.
  1629. Proceed, and I'll omit the transformation.
  1630.  
  1631. {(picture)scaled(-1)}
  1632. {(picture)+(picture)}
  1633. {show}
  1634. {-(10)}
  1635. {(picture)xscaled(-10)}
  1636. {(picture)yscaled(2)}
  1637. {(picture)xscaled(82)}
  1638. ! Scaled picture would be too big.
  1639. <to be read again> 
  1640.                    yscaled
  1641. l.78 yscaled
  1642.             683;addto e1 doublepath (0,9) withweight-3 withwe...
  1643. I can't xscale the picture as requested---it would
  1644. make some coordinates too large or too small.
  1645. Proceed, and I'll omit the transformation.
  1646.  
  1647. {(picture)yscaled(683)}
  1648. ! Scaled picture would be too big.
  1649. <to be read again> 
  1650.                    ;
  1651. l.78 yscaled683;
  1652.                 addto e1 doublepath (0,9) withweight-3 withwe...
  1653. I can't yscale the picture as requested---it would
  1654. make some coordinates too large or too small.
  1655. Proceed, and I'll omit the transformation.
  1656.  
  1657. >> Edge structure at line 78:
  1658. row 5: -40- -50+ -40- -50+ |
  1659. row 4: -40- -50+ -40- -50+ |
  1660. row 3: -30+ 0- -10+ -20- -40- -50+ -40- -50+ | -10+ 0-
  1661. row 2: -30+ 0- -10+ -20- -40- -50+ -40- -50+ | -10+ 0-
  1662. row 1: 20- 10+ 20- 10+ -20+ -10- -20+ -10- -30- -60+ -50- -40+ |
  1663.  -10+ -10+ 0- 0- 10+ 20-
  1664. row 0: 20- 10+ 20- 10+ -20+ -10- -20+ -10- -30- -60+ -50- -40+ |
  1665.  -10+ -10+ 0- 0- 10+ 20-
  1666. row -1: 20- 10+ 20- 10+ -20+ -10- -20+ -10- | -20+ -10- 0+ 0+ 10-
  1667.  10-
  1668. row -2: 20- 10+ 20- 10+ -20+ -10- -20+ -10- | -20+ -10- 0+ 0+ 10-
  1669.  10-
  1670. row -3: 30- 0+ 10- 20+ | 0+ 10-
  1671. row -4: 30- 0+ 10- 20+ | 0+ 10-
  1672.  
  1673. {addto}
  1674. {-(3)}
  1675. {turningnumber(path)}
  1676. ! Weight must be -3, -2, -1, +1, +2, or +3.
  1677. <to be read again> 
  1678.                    withpen
  1679. l.79  withpen
  1680.               pencircle xscaled(oct"180"++1) rotated-angle(64...
  1681. I'll ignore the bad `with' clause and look for another.
  1682.  
  1683. {pencircle}
  1684. {oct("180")}
  1685. >> "180"
  1686. ! String contains illegal digits.
  1687. <to be read again> 
  1688.                    ++
  1689. l.79 ...ircle xscaled(oct"180"++
  1690.                                 1) rotated-angle(64,$) shifte...
  1691. I zeroed out characters that weren't in the range 0..7.
  1692.  
  1693. {(64)++(1)}
  1694. {(future pen)xscaled(64.00781)}
  1695. {angle((64,-1))}
  1696. {-(-0.89517)}
  1697. {(future pen)rotated(0.89517)}
  1698. {(future pen)shifted((9,8))}
  1699. Pen polygon at line 80 (newly created):
  1700. (9,7.5)
  1701.  .. (37.5,8)
  1702.  .. (41,8.5)
  1703.  .. (9,8.5)
  1704.  .. (-19.5,8)
  1705.  .. (-23,7.5)
  1706.  .. cycle
  1707.  
  1708. Path at line 80, before choices:
  1709. (-1,-1){curl 1}
  1710.  ..(1,0)
  1711.  ..(1,1)
  1712.  ..(-1,0)
  1713.  ..{curl 1}cycle
  1714.  
  1715. Path at line 80, after choices:
  1716. (-1,-1)..controls (-0.18568,-1.14464) and (0.62712,-0.73824)
  1717.  ..(1,0)..controls (1.16457,0.32584) and (1.21637,0.71506)
  1718.  ..(1,1)..controls (0.46898,1.69931) and (-0.7587,1.2167)
  1719.  ..(-1,0)..controls (-1.06546,-0.33012) and (-1.06546,-0.66988)
  1720.  ..cycle
  1721.  
  1722. {makepen(path)}
  1723. {(future pen)xscaled(4095.49998)}
  1724. Pen polygon at line 80 (newly created):
  1725. (4095.49998,0)
  1726.  .. (4095.49998,1)
  1727.  .. (-4095.49998,0)
  1728.  .. (-4095.49998,-1)
  1729.  .. cycle
  1730.  
  1731. Path at line 80, before subdivision into octants:
  1732. (0,9)..controls (0,9) and (0,9)
  1733.  ..cycle
  1734.  
  1735. ! Curve out of range.
  1736. <to be read again> 
  1737.                    ;
  1738. l.80 ...cycle)xscaled4095.49999;
  1739.                                 
  1740. At least one of the coordinates in the path I'm about to
  1741. digitize was really huge (potentially bigger than 4095).
  1742. So I've cut it back to the maximum size.
  1743. The results will probably be pretty wild.
  1744.  
  1745. Cycle spec at line 80, after subdivision:
  1746. (0,0) % beginning in octant `ENE'
  1747. % entering octant `NNE'
  1748. % entering octant `NNW'
  1749. % entering octant `WNW'
  1750. % entering octant `WSW'
  1751. % entering octant `SSW'
  1752. % entering octant `SSE'
  1753. % entering octant `ESE'
  1754.  & cycle
  1755.  
  1756. Tracing edges at line 80: (weight -3)
  1757. @ Octant ENE (2 offsets), from (-4095.49998,-1) to (4095.49998,0)
  1758. @ transition line 0, from (-4095.49998,-1) to (-4095.49998,-1)
  1759. @ transition line 1, from (-4095.49998,-1) to (4095.49998,0)
  1760. @ transition line 2, from (4095.49998,0) to (4095.49998,0)
  1761. (0,-1)
  1762. @ Octant NNE (1 offset), from (4095.49998,0) to (4095.49998,1)
  1763. @ transition line 2, from (4095.49998,0) to (4095.49998,0)
  1764. @ transition line 1, from (4095.49998,0) to (4095.49998,1)
  1765. (0,0)(4095,0)
  1766. @ Octant NNW (0 offsets), from (4095.49998,1) to (4095.49998,1)
  1767. @ transition line 0, from (4095.49998,1) to (4095.49998,1)
  1768. @ Octant WNW (0 offsets), from (4095.49998,1) to (4095.49998,1)
  1769. @ transition line 1, from (4095.49998,1) to (4095.49998,1)
  1770. @ Octant WSW (2 offsets), from (4095.49998,1) to (-4095.49998,0)
  1771. @ transition line 0, from (4095.49998,1) to (4095.49998,1)
  1772. @ transition line 1, from (4095.49998,1) to (-4095.49998,0)
  1773. @ transition line 2, from (-4095.49998,0) to (-4095.49998,0)
  1774. (4095,1)(0,1)
  1775. @ Octant SSW (1 offset), from (-4095.49998,0) to (-4095.49998,-1)
  1776. @ transition line 2, from (-4095.49998,0) to (-4095.49998,0)
  1777. @ transition line 1, from (-4095.49998,0) to (-4095.49998,-1)
  1778. (0,0)(-4095,0)
  1779. @ Octant SSE (0 offsets), from (-4095.49998,-1) to (-4095.49998,-1)
  1780. @ transition line 0, from (-4095.49998,-1) to (-4095.49998,-1)
  1781. @ Octant ESE (0 offsets), from (-4095.49998,-1) to (-4095.49998,-1)
  1782. @ transition line 1, from (-4095.49998,-1) to (-4095.49998,-1)
  1783. (-4095,-1).
  1784.  
  1785. {show}
  1786. >> Edge structure at line 81:
  1787. row 1: | 0+ 1-
  1788. row 0: 0--- 4095+++ -2+ -1- -2+ -1- | 0+ 1-
  1789. row -1: -4095--- 0+++ -2+ -1- -2+ -1- | -1+ 0- 1+ 2-
  1790. row -2: -3+ 0- -1+ -2- |
  1791.  
  1792. {totalweight(picture)}
  1793. >> -0.37476
  1794. {charcode:=5}
  1795. {chardp:=5}
  1796. {-(1.5)}
  1797. {xoffset:=-1.5}
  1798. {shipout}
  1799. [5]
  1800. Edge structure at line 81 (just shipped out):
  1801. row 1: | -1+ 0-
  1802. row 0: | -3+ -3+ -2- -2- -1--- -1+ 0- 4094+++
  1803. row -1: | -4096--- -3+ -3+ -2- -2- -2+ -1- -1+++ 0+ 1-
  1804. row -2: | -4+ -3- -2+ -1-
  1805.  
  1806. {showstats}
  1807. Memory usage 1084&202 (749 still untouched)
  1808. String usage 21&86 (866&11412 still untouched)
  1809. {addto}
  1810. {(path)yscaled(0.01666)}
  1811. Path at line 82, before subdivision into octants:
  1812. (0,0)..controls (15,0.06665) and (-15,-0.19995)
  1813.  ..(4,0)..controls (-15,-0.19995) and (15,0.06665)
  1814.  ..cycle
  1815.  
  1816. Cycle spec at line 82, after subdivision:
  1817. (0,0) % beginning in octant `ENE'
  1818.    ..controls (1.74272,0.00775) and (2.87802,0.01099)
  1819.  ..(3.55333,0.01099) % segment 0
  1820. % entering octant `ESE'
  1821.    ..controls (4.12251,0.01099) and (4.36491,0.00868)
  1822.  ..(4.36877,0.00482) % segment 0
  1823. % entering octant `SSE'
  1824.    ..controls (4.3688,0.00479) and (4.36882,0.00476)
  1825.  ..(4.36882,0.00473) % segment 0
  1826. % entering octant `SSW'
  1827.    ..controls (4.36882,0.0047) and (4.3688,0.00467)
  1828.  ..(4.36877,0.00464) % segment 0
  1829. % entering octant `WSW'
  1830.    ..controls (4.34875,-0.01538) and (-1.88759,-0.07579)
  1831.  ..(-2.48894,-0.07579) % segment 0
  1832. % entering octant `WNW'
  1833.    ..controls (-2.5191,-0.07579) and (-2.5351,-0.07564)
  1834.  ..(-2.53542,-0.07532) % segment 0
  1835. % entering octant `NNW'
  1836. % entering octant `NNE'
  1837. % entering octant `ENE'
  1838.    ..controls (-2.53209,-0.07199) and (-0.88672,-0.05144)
  1839.  ..(4,0) % segment 0
  1840. % entering octant `NNE'
  1841. % entering octant `NNW'
  1842. % entering octant `WNW'
  1843. % entering octant `WSW'
  1844.    ..controls (-0.88672,-0.05144) and (-2.5321,-0.072)
  1845.  ..(-2.53542,-0.07532) % segment 1
  1846. % entering octant `SSW'
  1847. % entering octant `SSE'
  1848. % entering octant `ESE'
  1849.    ..controls (-2.53511,-0.07562) and (-2.5191,-0.07579)
  1850.  ..(-2.48894,-0.07579) % segment 1
  1851. % entering octant `ENE'
  1852.    ..controls (-1.88759,-0.07579) and (4.34877,-0.01537)
  1853.  ..(4.36877,0.00464) % segment 1
  1854. % entering octant `NNE'
  1855.    ..controls (4.3688,0.00467) and (4.36882,0.0047)
  1856.  ..(4.36882,0.00473) % segment 1
  1857. % entering octant `NNW'
  1858.    ..controls (4.36882,0.00476) and (4.3688,0.00479)
  1859.  ..(4.36877,0.00482) % segment 1
  1860. % entering octant `WNW'
  1861.    ..controls (4.36491,0.00868) and (4.12251,0.01099)
  1862.  ..(3.55333,0.01099) % segment 1
  1863. % entering octant `WSW'
  1864.    ..controls (2.87802,0.01099) and (1.74272,0.00775)
  1865.  ..(0,0) % segment 1
  1866. % entering octant `SSW'
  1867. % entering octant `SSE'
  1868. % entering octant `ESE'
  1869.  & cycle
  1870.  
  1871. Tracing edges at line 82: (weight 1)
  1872. (No new edges added.)
  1873.  
  1874. {(picture)yscaled(0)}
  1875. {e3:=picture}
  1876. {autorounding:=2}
  1877. {addto}
  1878. Path at line 83, before choices:
  1879. (0.5,0){curl 1}
  1880.  ..{curl 1}(3.5,1.5)
  1881.  
  1882. Path at line 83, after choices:
  1883. (0.5,0)..controls (1.5,0.5) and (2.5,1)
  1884.  ..(3.5,1.5)
  1885.  
  1886. Path at line 83, before subdivision into octants:
  1887. (0.5,0)..controls (1.5,0.5) and (2.5,1)
  1888.  ..(3.5,1.5)..controls (2.5,1) and (1.5,0.5)
  1889.  ..cycle
  1890.  
  1891. Cycle spec at line 83, after subdivision and double autorounding:
  1892. (0.5,0) % beginning in octant `ENE'
  1893.    ..controls (1.5,0.5) and (2.5,1)
  1894.  ..(3.5,1.5) % segment 0
  1895. % entering octant `NNE'
  1896. % entering octant `NNW'
  1897. % entering octant `WNW'
  1898. % entering octant `WSW'
  1899.    ..controls (2.5,1) and (1.5,0.5)
  1900.  ..(0.5,0) % segment 1
  1901. % entering octant `SSW'
  1902. % entering octant `SSE'
  1903. % entering octant `ESE'
  1904.  & cycle
  1905.  
  1906. Tracing edges at line 83: (weight 2)
  1907. (2,0)(2,1)(4,1)(4,2)(4,1)(2,1)(2,0).
  1908.  
  1909. {tracingspecs:=0}
  1910. Path at line 84, before choices:
  1911. (1,1)
  1912.  ..cycle
  1913.  
  1914. Path at line 84, after choices:
  1915. (1,1)..controls (1,1) and (1,1)
  1916.  ..cycle
  1917.  
  1918. {makepen(path)}
  1919. {(future pen)yscaled(1.5)}
  1920. Pen polygon at line 84 (newly created):
  1921. (1,1.5)
  1922.  .. cycle
  1923.  
  1924. {q:=pen}
  1925. {((-1,yy))rotated((8,1,5,-5,-5,5))}
  1926. >> (8,1,5,-5,-5,5)
  1927. ! Improper transformation argument.
  1928. <to be read again> 
  1929.                    {
  1930. l.85 p~8=(($,yy)rotated p{
  1931.                           0,1}..{0,$}(1,0){0,$}..cycle)scaled...
  1932. The expression shown above has the wrong type,
  1933. so I can't transform anything using it.
  1934. Proceed, and I'll omit the transformation.
  1935.  
  1936. >> yy
  1937. ! Undefined y coordinate has been replaced by 0.
  1938. <to be read again> 
  1939.                    {
  1940. l.85 p~8=(($,yy)rotated p{
  1941.                           0,1}..{0,$}(1,0){0,$}..cycle)scaled...
  1942. I need a `known' y value for this part of the path.
  1943. The value I found (see above) was no good;
  1944. so I'll try to keep going by using zero instead.
  1945. (Chapter 27 of The METAFONTbook explains that
  1946. you might want to type `I ???' now.)
  1947.  
  1948. Path at line 85, before choices:
  1949. (-1,0){0,4096}
  1950.  ..{0,-4096}(1,0){0,-4096}
  1951.  ..{0,4096}cycle
  1952.  
  1953. Path at line 85, after choices:
  1954. (-1,0)..controls (-1,1.33333) and (1,1.33333)
  1955.  ..(1,0)..controls (1,-1.33333) and (-1,-1.33333)
  1956.  ..cycle
  1957.  
  1958. {(path)scaled(2)}
  1959. {(path)shifted((1000.49,9))}
  1960. {(unknown path p~8)=(path)}
  1961. {turningcheck:=1}
  1962. {addto}
  1963. >> (8,1,5,-5,-5,5)
  1964. ! Improper type.
  1965. <to be read again> 
  1966.                    withpen
  1967. l.86 ...n q withweight p withpen
  1968.                                  cycle p;
  1969. Next time say `withweight <known numeric expression>';
  1970. I'll ignore the bad `with' clause and look for another.
  1971.  
  1972. {cycle((8,1,5,-5,-5,5))}
  1973. >> false
  1974. ! Improper type.
  1975. <to be read again> 
  1976.                    ;
  1977. l.86 ...eight p withpen cycle p;
  1978.                                 
  1979. Next time say `withpen <known pen expression>';
  1980. I'll ignore the bad `with' clause and look for another.
  1981.  
  1982. Tracing edges at line 86: (weight 1)
  1983. @ Octant NNE (0 offsets), from (999,10.5) to (999.15451,11.65451)
  1984. @ transition line 1, from (999.15451,11.65451) to (999.15451,11.65451)
  1985. (999,11)
  1986. @ Octant ENE (0 offsets), from (999.15451,11.65451) to (1001,12)
  1987. @ transition line 0, from (999.15451,11.65451) to (999.15451,11.65451)
  1988. @ Octant ESE (0 offsets), from (1001,12) to (1002.8455,11.6545)
  1989. @ transition line 1, from (1002.8455,11.6545) to (1002.8455,11.6545)
  1990. @ Octant SSE (0 offsets), from (1002.8455,11.6545) to (1003,10.5)
  1991. @ transition line 0, from (1002.8455,11.6545) to (1002.8455,11.6545)
  1992. (999,12)(1003,12)
  1993. @ Octant SSW (0 offsets), from (1003,10.5) to (1002.84549,9.34549)
  1994. @ transition line 1, from (1002.84549,9.34549) to (1002.84549,9.34549)
  1995. @ Octant WSW (0 offsets), from (1002.84549,9.34549) to (1001,9)
  1996. @ transition line 0, from (1002.84549,9.34549) to (1002.84549,9.34549)
  1997. @ Octant WNW (0 offsets), from (1001,9) to (999.1545,9.3455)
  1998. @ transition line 1, from (999.1545,9.3455) to (999.1545,9.3455)
  1999. @ Octant NNW (0 offsets), from (999.1545,9.3455) to (999,10.5)
  2000. @ transition line 0, from (999.1545,9.3455) to (999.1545,9.3455)
  2001. (1003,9)(999,9)(999,11).
  2002.  
  2003. Tracing edges at line 86: (weight 1)
  2004. @ Octant SSE (0 offsets), from (999,10.5) to (999.15451,9.34549)
  2005. @ transition line 0, from (999,10.5) to (999,10.5)
  2006. (999,11)
  2007. @ Octant ESE (0 offsets), from (999.15451,9.34549) to (1001,9)
  2008. @ transition line 1, from (1001,9) to (1001,9)
  2009. @ Octant ENE (0 offsets), from (1001,9) to (1002.8455,9.3455)
  2010. @ transition line 0, from (1001,9) to (1001,9)
  2011. @ Octant NNE (0 offsets), from (1002.8455,9.3455) to (1003,10.5)
  2012. @ transition line 1, from (1003,10.5) to (1003,10.5)
  2013. (999,9)(1003,9)
  2014. @ Octant NNW (0 offsets), from (1003,10.5) to (1002.84549,11.65451)
  2015. @ transition line 0, from (1003,10.5) to (1003,10.5)
  2016. @ Octant WNW (0 offsets), from (1002.84549,11.65451) to (1001,12)
  2017. @ transition line 1, from (1001,12) to (1001,12)
  2018. @ Octant WSW (0 offsets), from (1001,12) to (999.1545,11.6545)
  2019. @ transition line 0, from (1001,12) to (1001,12)
  2020. @ Octant SSW (0 offsets), from (999.1545,11.6545) to (999,10.5)
  2021. @ transition line 1, from (999,10.5) to (999,10.5)
  2022. (1003,12)(999,12)(999,11).
  2023.  
  2024. {begingroup}
  2025. {interim}
  2026. {(xx)=(0.1)}
  2027. ## xx=0.1
  2028. {autorounding:=0.1}
  2029. {addto}
  2030. Tracing edges at line 87: (weight -2)
  2031. @ Octant NNE (0 offsets), from (999,10.5) to (999.38197,11.42706)
  2032. @ transition line 1, from (999.38197,11.42706) to (999.38197,11.42706)
  2033. @ Octant ENE (0 offsets), from (999.38197,11.42706) to (1001,12)
  2034. @ transition line 0, from (999.38197,11.42706) to (999.38197,11.42706)
  2035. (999,11)
  2036. @ Octant ESE (0 offsets), from (1001,12) to (1002.61804,11.42705)
  2037. @ transition line 1, from (1002.61804,11.42705) to (1002.61804,11.42705)
  2038. (999,12)(1003,12)
  2039. @ Octant SSE (0 offsets), from (1002.61804,11.42705) to (1003,10.5)
  2040. @ transition line 0, from (1002.61804,11.42705) to (1002.61804,11.42705)
  2041. @ Octant SSW (0 offsets), from (1003,10.5) to (1002.61803,9.57294)
  2042. @ transition line 1, from (1002.61803,9.57294) to (1002.61803,9.57294)
  2043. @ Octant WSW (0 offsets), from (1002.61803,9.57294) to (1001,9)
  2044. @ transition line 0, from (1002.61803,9.57294) to (1002.61803,9.57294)
  2045. @ Octant WNW (0 offsets), from (1001,9) to (999.38196,9.57295)
  2046. @ transition line 1, from (999.38196,9.57295) to (999.38196,9.57295)
  2047. (1003,9)(999,9)
  2048. @ Octant NNW (0 offsets), from (999.38196,9.57295) to (999,10.5)
  2049. @ transition line 0, from (999.38196,9.57295) to (999.38196,9.57295)
  2050. (999,11).
  2051.  
  2052. {restoring autorounding=2}
  2053. {endgroup}
  2054. {-(14.5)}
  2055. {charext:=-14.5}
  2056. {chardp:=-14.5}
  2057. {chardx:=-14.5}
  2058. {shipout}
  2059. {-(picture)}
  2060. {(picture)-(picture)}
  2061. {-(picture)}
  2062. {turningnumber(path)}
  2063. {(6)*(-1)}
  2064. {(picture)shifted((0,-6))}
  2065. {(picture)+(picture)}
  2066. [5.-14]
  2067. Edge structure at line 88 (just shipped out):
  2068. row 11: | 998- 998+ 998++ 1002-- 1002- 1002+
  2069. row 10: | 998- 998+ 998++ 1002-- 1002- 1002+
  2070. row 9: | 998- 998+ 998++ 1002-- 1002- 1002+
  2071. row 5: | 998- 998+ 998++ 1002-- 1002- 1002+
  2072. row 4: | 998- 998+ 998++ 1002-- 1002- 1002+
  2073. row 3: | 998- 998+ 998++ 1002-- 1002- 1002+
  2074. row 2: | 3+ 3+ 3+ 3+ 4- 4- 4- 4-
  2075. row 1: | -1+ -1+ 0- 0- 1+ 2- 3+ 3+ 3+ 3+ 4- 4- 4- 4-
  2076. row 0: | -3+ -3+ -3+ -2- -2- -2- -1+ -1+ 0- 0- 0+ 0+ 1- 1- 2+ 2+
  2077.  3- 3- 4+ 4+ 5- 5-
  2078. row -1: | -3+ -3+ -2- -2- -2+ -2+ -1- -1- 0+ 0+ 0+ 1- 1- 1-
  2079. row -2: | -4+ -3- -2+ -2+ -1- -1-
  2080. row -4: | 3+ 3+ 4- 4-
  2081. row -5: | 3+ 3+ 4- 4-
  2082. row -6: | 2+ 3- 4+ 5-
  2083.  
  2084. Path at line 89, before choices:
  2085. (0,0){curl 1}
  2086.  ..(1,0.5)
  2087.  ..(5,1.5)
  2088.  ..(7,2.5)
  2089.  ..(12,3.5)
  2090.  ..{curl 1}(13,4)
  2091.  
  2092. Path at line 89, after choices:
  2093. (0,0)..controls (0.3153,0.20053) and (0.6504,0.36807)
  2094.  ..(1,0.5)..controls (2.29114,0.98723) and (3.72412,0.97192)
  2095.  ..(5,1.5)..controls (5.68967,1.78545) and (6.30771,2.22081)
  2096.  ..(7,2.5)..controls (8.58867,3.1407) and (10.3946,2.90645)
  2097.  ..(12,3.5)..controls (12.3506,3.62962) and (12.68594,3.7973)
  2098.  ..(13,4)
  2099.  
  2100. {(unknown path p~9)=(path)}
  2101. {addto}
  2102. Tracing edges at line 89: (weight 1)
  2103. (1,0)(1,1)(5,1)(5,2)(7,2)(7,3)(12,3)(12,4)(12,3)(7,3)(7,2)(5,2)
  2104. (5,1)(1,1)(1,0).
  2105.  
  2106. {smoothing:=1}
  2107. {addto}
  2108. Tracing edges at line 90: (weight 1)
  2109. (1,0)(1,1)(4,1)(4,2)(8,2)(8,3)(12,3)(12,4)(12,3)(8,3)(8,2)(4,2)
  2110. (4,1)(1,1)(1,0).
  2111.  
  2112. {addto}
  2113. {-(4095)}
  2114. Path at line 91, before choices:
  2115. (-4095,0){curl 1}..tension 0.75 and 999
  2116.  ..{curl 1}(0,2)
  2117.  
  2118. Path at line 91, after choices:
  2119. (-4095,0)..controls (-2275,0.88889) and (-1.36636,1.99933)
  2120.  ..(0,2)
  2121.  
  2122. Tracing edges at line 91: (weight 1)
  2123. (-3071,0)(-3071,1)(-1024,1)(-1024,2)(-1024,1)(-3071,1)(-3071,0).
  2124.  
  2125. {show}
  2126. {-(90)}
  2127. {(picture)rotated(-90)}
  2128. >> Edge structure at line 91:
  2129.  
  2130. {(picture)+(picture)}
  2131. {(90)*(-1)}
  2132. {(picture)rotated(-90)}
  2133. {(picture)rotated(90)}
  2134. >> Edge structure at line 91:
  2135. row 2: | 4+++ 4+ 5--- 5-
  2136. row 1: | 0+++ 0+ 1--- 1- 2++ 3-- 4+++ 4+ 5--- 5-
  2137. row 0: | -2+++ -2+++ -1--- -1--- 0+++ 0+ 2--- 2- 3++ 4-- 5++ 6--
  2138. row -1: | -2+++ -2+ 0--- 0- 1+++ 1+++ 2--- 2---
  2139. row -2: | -3++ -2-- -1+++ -1+ 0--- 0-
  2140.  
  2141. {if}
  2142. {if}
  2143. {elseif}
  2144. ! Missing `:' has been inserted.
  2145. <inserted text> 
  2146.                 :
  2147. <to be read again> 
  2148.                    elseif
  2149. l.92 if "a" if "ab">"b" elseif
  2150.                                path reverse (3,4): >="aa":foo...
  2151.  
  2152. {("ab")>("b")}
  2153. {false}
  2154. {reverse((3,4))}
  2155. {path(path)}
  2156. {true}
  2157. {("a")>=("aa")}
  2158. {false}
  2159. {if}
  2160. {((xpart ',ypart '))-((1,yy))}
  2161. {((xpart '-1,linearform))<((xpart ',ypart '))}
  2162. {true}
  2163. {fi}
  2164. {else}
  2165. ! Extra else.
  2166. l.93 ... if '-(1,yy)<': :fi else
  2167.                                  def dup text t=[[t;save endd...
  2168. I'm ignoring this; it doesn't match any if.
  2169.  
  2170. {def}
  2171. {def}
  2172. {def}
  2173.  
  2174. ||<tertiary>->show.substring(EXPR0)of("a"
  2175. (EXPR0)<-(2,-1)
  2176. {show}
  2177. {("a")&("bc")}
  2178. {((2,-1))substring("abc")}
  2179. >> "ba"
  2180. {tertiarydef}
  2181. {def}
  2182. {show}
  2183. {((23.3,4.5))subpath(path)}
  2184. Path at line 100, before choices:
  2185. (0,0){curl 2}
  2186.  ..(13,4)..controls (12.84297,3.89865) and (12.68063,3.80606)
  2187.  ..(12.51372,3.72261){curl 3}
  2188.  ..{curl 4}(-1,-1){curl 4}
  2189.  ..{curl 2}cycle
  2190.  
  2191. Path at line 100, after choices:
  2192. (0,0)..controls (-40.15552,-36.7088) and (58.71173,33.50317)
  2193.  ..(13,4)..controls (12.84297,3.89865) and (12.68063,3.80606)
  2194.  ..(12.51372,3.72261)..controls (8.00914,2.1484) and (3.50458,0.5742)
  2195.  ..(-1,-1)..controls (-0.66667,-0.66667) and (-0.33333,-0.33333)
  2196.  ..cycle
  2197.  
  2198. >> Path at line 100:
  2199. (0,0)..controls (-40.15552,-36.7088) and (58.71173,33.50317)
  2200.  ..(13,4)..controls (12.84297,3.89865) and (12.68063,3.80606)
  2201.  ..(12.51372,3.72261)..controls (8.00914,2.1484) and (3.50458,0.5742)
  2202.  ..(-1,-1)..controls (-0.66667,-0.66667) and (-0.33333,-0.33333)
  2203.  ..cycle
  2204.  
  2205. {numspecial}
  2206. {(2)+(3)}
  2207.  
  2208. ++->[[dup.showtoken(EXPR0);]];def.x.expr.z.of(EXPR1)=z.enddef;texts(x=((
  2209. EXPR1)+0)(EXPR1)+(EXPR1))("xx",foo((EXPR0)))=0]]
  2210. (EXPR0)<-path
  2211. (EXPR1)<-5
  2212. {begingroup}
  2213.  
  2214. dup<text>->[[(TEXT0);save
  2215. (TEXT0)<-showtoken(path)
  2216. {begingroup}
  2217. {showtoken}
  2218. > (path)
  2219. {save}
  2220. {restoring ;}
  2221. {endgroup}
  2222. {def}
  2223. ! Missing symbolic token inserted.
  2224. <inserted text> 
  2225.                  INACCESSIBLE
  2226. ++->...]];def.x.expr.z.of(EXPR1)
  2227.                                 =z.enddef;texts(x=((EXPR1)+0)...
  2228. <to be read again> 
  2229.                    ;
  2230. l.100 ...cle;numspecial p~++2+3;
  2231.                                 [[
  2232. Sorry: You can't redefine a number, string, or expr.
  2233. I've inserted an inaccessible symbol so that your
  2234. definition will be completed without mixing me up too badly.
  2235.  
  2236.  
  2237. texts(TEXT0)(TEXT1)<expr>->for.n:=,for.n"yy":n,length.if.false:endfor(TE
  2238. XT1),(TEXT0),:if.string.n:forsuffixes.n=foo1,[foo(n)],':show(TEXT0),(TEX
  2239. T1)|(n;exitif.not('<='+((EXPR2),yy))endfor.for.m= :+endfor.for.m=alpha.s
  2240. tep-1.1 3$:+m.endfor.fi.endfor
  2241. (TEXT0)<-x=((5)+0)(5)+(5)
  2242. (TEXT1)<-"xx",foo((path))
  2243. (EXPR2)<-0
  2244. {for}
  2245. {for}
  2246. ! Missing `=' has been inserted.
  2247. <to be read again> 
  2248.                    "yy"
  2249. texts->for.n:=,for.n"yy"
  2250.                         :n,length.if.false:endfor(TEXT1),(TEX...
  2251. <to be read again> 
  2252.                    ]]
  2253. <to be read again> 
  2254.                    ;
  2255. l.100 ...cle;numspecial p~++2+3;
  2256.                                 [[
  2257. The next thing in this loop should have been `=' or `:='.
  2258. But don't worry; I'll pretend that an equals sign
  2259. was present, and I'll look for the values next.
  2260.  
  2261. {loop value="yy"}
  2262. {if}
  2263. {false}
  2264. {false}
  2265. ! Incomplete if; all text was ignored after line 100.
  2266. <inserted text> 
  2267.                 fi
  2268. <to be read again> 
  2269.                     ENDFOR
  2270. <for("yy")> ....if.false: ENDFOR
  2271.                                 
  2272. texts->...length.if.false:endfor
  2273.                                 (TEXT1),(TEXT0),:if.string.n:...
  2274. <to be read again> 
  2275.                    ]]
  2276. <to be read again> 
  2277.                    ;
  2278. l.100 ...cle;numspecial p~++2+3;
  2279.                                 [[
  2280. A forbidden `outer' token occurred in skipped text.
  2281. This kind of error happens when you say `if...' and forget
  2282. the matching `fi'. I've inserted a `fi'; this might work.
  2283.  
  2284. {[repeat the loop]}
  2285. {length("xx")}
  2286.  
  2287. foo(TEXT2)->begingroup(TEXT2)endgroup
  2288. (SUFFIX0)<-
  2289. (SUFFIX1)<-foo
  2290. (TEXT2)<-(path)
  2291. {begingroup}
  2292. {endgroup}
  2293.  
  2294. x<expr>of<primary>->(EXPR0)
  2295. {(5)+(0)}
  2296. (EXPR0)<-5
  2297. ! Missing `of' has been inserted for x.
  2298. <to be read again> 
  2299.                    (5)
  2300. <argument> x=((5)+0)(5)
  2301.                        +(5)
  2302. texts->...:endfor(TEXT1),(TEXT0)
  2303.                                 ,:if.string.n:forsuffixes.n=f...
  2304. <to be read again> 
  2305.                    ]]
  2306. <to be read again> 
  2307.                    ;
  2308. l.100 ...cle;numspecial p~++2+3;
  2309.                                 [[
  2310. I've got the first argument; will look now for the other.
  2311.  
  2312. (EXPR1)<-5
  2313. {(5)+(5)}
  2314. {loop value="yy"}
  2315. {if}
  2316. {string("yy")}
  2317. {true}
  2318. {forsuffixes}
  2319. ! Missing symbolic token inserted.
  2320. <inserted text> 
  2321.                  INACCESSIBLE
  2322. <for("yy")> ...orsuffixes(EXPR0)
  2323.                                 =foo1,[foo((EXPR0))],':show.x...
  2324. texts->...3$:+m.endfor.fi.endfor
  2325.                                 
  2326. <to be read again> 
  2327.                    ]]
  2328. <to be read again> 
  2329.                    ;
  2330. l.100 ...cle;numspecial p~++2+3;
  2331.                                 [[
  2332. Sorry: You can't redefine a number, string, or expr.
  2333. I've inserted an inaccessible symbol so that your
  2334. definition will be completed without mixing me up too badly.
  2335.  
  2336.  
  2337. foo(TEXT2)->begingroup(TEXT2)endgroup
  2338. (SUFFIX0)<-
  2339. (SUFFIX1)<-foo
  2340. (TEXT2)<-("yy")
  2341. {begingroup}
  2342. {endgroup}
  2343. >> "yy"
  2344. ! Improper subscript has been replaced by zero.
  2345. <for("yy")> ...o1,[foo((EXPR0))]
  2346.                                 ,':show.x=((5)+0)(5)+(5),"xx"...
  2347. texts->...3$:+m.endfor.fi.endfor
  2348.                                 
  2349. <to be read again> 
  2350.                    ]]
  2351. <to be read again> 
  2352.                    ;
  2353. l.100 ...cle;numspecial p~++2+3;
  2354.                                 [[
  2355. A bracketed subscript must have a known numeric value;
  2356. unfortunately, what I found was the value that appears just
  2357. above this error message. So I'll try a zero subscript.
  2358.  
  2359. {loop value=foo1}
  2360. {show}
  2361.  
  2362. x<expr>of<primary>->(EXPR0)
  2363. {(5)+(0)}
  2364. (EXPR0)<-5
  2365. ! Missing `of' has been inserted for x.
  2366. <to be read again> 
  2367.                    (5)
  2368. <for(foo1)> show.x=((5)+0)(5)
  2369.                              +(5),"xx",foo((path))|(("yy");ex...
  2370. <for("yy")> ...'+((0),yy))endfor
  2371.                                 .for.m= :+endfor.for.m=alpha....
  2372. texts->...3$:+m.endfor.fi.endfor
  2373.                                 
  2374. <to be read again> 
  2375.                    ]]
  2376. <to be read again> 
  2377.                    ;
  2378. l.100 ...cle;numspecial p~++2+3;
  2379.                                 [[
  2380. I've got the first argument; will look now for the other.
  2381.  
  2382. (EXPR1)<-5
  2383. {(5)+(5)}
  2384. >> 10
  2385. >> "xx"
  2386. foo(TEXT2)->begingroup(TEXT2)endgroup
  2387. (SUFFIX0)<-
  2388. (SUFFIX1)<-foo
  2389. (TEXT2)<-(path)
  2390. {begingroup}
  2391. {endgroup}
  2392.  
  2393. |<suffix>->,(SUFFIX0)
  2394. ! Missing `)' has been inserted.
  2395. <to be read again> 
  2396.                    ("yy")
  2397. <for(foo1)> ...o((path))|(("yy")
  2398.                                 ;exitif.not('<='+((0),yy)) EN...
  2399. <for("yy")> ...'+((0),yy))endfor
  2400.                                 .for.m= :+endfor.for.m=alpha....
  2401. texts->...3$:+m.endfor.fi.endfor
  2402.                                 
  2403. <to be read again> 
  2404.                    ]]
  2405. <to be read again> 
  2406.                    ;
  2407. l.100 ...cle;numspecial p~++2+3;
  2408.                                 [[
  2409. I've gotten to the end of the macro parameter list.
  2410. You might want to delete some tokens before continuing.
  2411.  
  2412. (SUFFIX0)<-
  2413. >> Path at line 100:
  2414. (0,0)..controls (15,4) and (-15,-12)
  2415.  ..(4,0)
  2416.  
  2417. >> "yy"
  2418. {exitif}
  2419. {((xpart ',ypart '))+((0,yy))}
  2420. {((xpart ',ypart '))<=((xpart ',linearform))}
  2421. >> -yy
  2422. ! Unknown relation will be considered false.
  2423. <to be read again> 
  2424.                    )
  2425. <for(foo1)> ...ot('<='+((0),yy))
  2426.                                  ENDFOR
  2427. <for("yy")> ...'+((0),yy))endfor
  2428.                                 .for.m= :+endfor.for.m=alpha....
  2429. texts->...3$:+m.endfor.fi.endfor
  2430.                                 
  2431. <to be read again> 
  2432.                    ]]
  2433. <to be read again> 
  2434.                    ;
  2435. l.100 ...cle;numspecial p~++2+3;
  2436.                                 [[
  2437. Oh dear. I can't decide if the expression above is positive,
  2438. negative, or zero. So this comparison test won't be `true'.
  2439.  
  2440. {[repeat the loop]}
  2441. {loop value=0}
  2442. {not(false)}
  2443. {true}
  2444. {for}
  2445. {for}
  2446. >> 0.5p3~
  2447. ! Improper initial value has been replaced by 0.
  2448. <to be read again> 
  2449.                    step
  2450. <for("yy")> ....for.m=alpha.step
  2451.                                 -1.1 3$:+m.endfor.fi ENDFOR
  2452. texts->...3$:+m.endfor.fi.endfor
  2453.                                 
  2454. <to be read again> 
  2455.                    ]]
  2456. <to be read again> 
  2457.                    ;
  2458. l.100 ...cle;numspecial p~++2+3;
  2459.                                 [[
  2460. When you say `for x=a step b until c',
  2461. the initial value `a' and the step size `b'
  2462. and the final value `c' must have known numeric values.
  2463. I'm zeroing this one. Proceed, with fingers crossed.
  2464.  
  2465. {-(1.1)}
  2466. ! Missing `until' has been inserted.
  2467. <to be read again> 
  2468.                    3
  2469. <for("yy")> ...=alpha.step-1.1 3
  2470.                                 $:+m.endfor.fi ENDFOR
  2471. texts->...3$:+m.endfor.fi.endfor
  2472.                                 
  2473. <to be read again> 
  2474.                    ]]
  2475. <to be read again> 
  2476.                    ;
  2477. l.100 ...cle;numspecial p~++2+3;
  2478.                                 [[
  2479. I assume you meant to say `until' after `step'.
  2480. So I'll look for the final value and colon next.
  2481.  
  2482. {(3)*(-1)}
  2483. {loop value=0}
  2484. {[repeat the loop]}
  2485. {loop value=-1.1}
  2486. {+(0)}
  2487. {[repeat the loop]}
  2488. {loop value=-2.20001}
  2489. {(0)+(-1.1)}
  2490. {[repeat the loop]}
  2491. {fi}
  2492. {[repeat the loop]}
  2493. {loop value=2}
  2494. {if}
  2495. {string(2)}
  2496. {false}
  2497. {[repeat the loop]}
  2498. {loop value=path}
  2499. {if}
  2500. {string(path)}
  2501. {false}
  2502. {[repeat the loop]}
  2503. {loop value=10}
  2504. {if}
  2505. {string(10)}
  2506. {false}
  2507. {[repeat the loop]}
  2508. {(-1.1)+(-2.20001)}
  2509. {endgroup}
  2510. {begingroup}
  2511. {let}
  2512. {save}
  2513. {def}
  2514. {def}
  2515.  
  2516. texts->input
  2517. {input}
  2518. (trap.mf
  2519. if->endinput?
  2520. {endinput}
  2521. {if}
  2522. {known(0)}
  2523. {not(true)}
  2524. {false}
  2525. )
  2526. ! Incomplete if; all text was ignored after line 2.
  2527. <inserted text> 
  2528.                 fi
  2529. l.101 ...input enddef;texts trap
  2530.                                  ]];
  2531. The file ended while I was skipping conditional text.
  2532. This kind of error happens when you say `if...' and forget
  2533. the matching `fi'. I've inserted a `fi'; this might work.
  2534.  
  2535. {restoring \}
  2536. {restoring if}
  2537. {endgroup}
  2538.  
  2539. dup<text>->[[(TEXT0);save
  2540. Runaway text?
  2541. [[def.texts.secondary.x=primarydef.y++y=x@y.enddef;showtoken ETC.
  2542. ! Forbidden token found while scanning a text argument.
  2543. <inserted text> 
  2544.                 endgroup
  2545. <to be read again> 
  2546.                    \
  2547. l.102 ...showtoken++;x enddef]]\
  2548.                                 ;
  2549. It seems that a right delimiter was left out,
  2550. causing me to read past where you wanted me to stop.
  2551. I'll try to recover; but if the error is serious,
  2552. you'd better type `E' or `X' now and fix your file.
  2553.  
  2554. (TEXT0)<-[[def.texts.secondary.x=primarydef.y++y=x@y.enddef;showtoken++;
  2555. x.enddef]]
  2556. {begingroup}
  2557. {begingroup}
  2558. {def}
  2559. {endgroup}
  2560. {save}
  2561. ! Missing symbolic token inserted.
  2562. <inserted text> 
  2563.                  INACCESSIBLE
  2564. <to be read again> 
  2565.                    \
  2566. l.102 ...showtoken++;x enddef]]\
  2567.                                 ;
  2568. Sorry: You can't redefine my error-recovery tokens.
  2569. I've inserted an inaccessible symbol so that your
  2570. definition will be completed without mixing me up too badly.
  2571.  
  2572. {\}
  2573. {proofing:=1}
  2574.  
  2575. texts<secondary>->primarydef.y++y=(EXPR0)@y.enddef;showtoken++;(EXPR0)
  2576. (EXPR0)<-"a"
  2577. {primarydef}
  2578. {showtoken}
  2579. > ++=primarydef'd macro:
  2580. ("a")@(EXPR1)
  2581. {("a")&("b")}
  2582. ab
  2583. texts<secondary>->primarydef.y++y=(EXPR0)@y.enddef;showtoken++;(EXPR0)
  2584. {(1.00002)*(a1)}
  2585. {-(1.00002a1)}
  2586. (EXPR0)<--1.00002a1
  2587. {primarydef}
  2588. {showtoken}
  2589. > ++=primarydef'd macro:
  2590. (-1.00002a1)@(EXPR1)
  2591. {(a2)+(a3)}
  2592. {(linearform)+(a4)}
  2593. {(linearform)+(a5)}
  2594. {(linearform)+(a6)}
  2595. {-(linearform)}
  2596. {(-1.00002a1)=(linearform)}
  2597. ## a1=0.99998a6+0.99998a5+0.99998a4+0.99998a3+0.99998a2
  2598. {-((a3,a2))}
  2599. {((-a3,-a2))/(0.99998)}
  2600. {(a4)+(a5)}
  2601. {begingroup}
  2602. {showdependencies}
  2603. a1=0.99998a6+0.99998a5+0.99998a4+0.99998a3+0.99998a2
  2604. alpha=0.5p3~
  2605. {endgroup}
  2606. {(linearform)+(a6)}
  2607. {(a3)+(a4)}
  2608. {(linearform)+(a5)}
  2609. {(linearform)+(a6)}
  2610. {-((linearform,linearform))}
  2611. {((-1.00002a3,-1.00002a2))=((linearform,linearform))}
  2612. ## a2=0.99998a6+0.99998a5+0.99998a4+0.99998a3
  2613. ## a3=0.99998a6+0.99998a5+0.99998a4
  2614. {restoring  INACCESSIBLE}
  2615. {endgroup}
  2616. {(1.00002)*(0.25a4*4)}
  2617. {(0.25a4*4)+(1)}
  2618. {(0.25a5*4)+(0.25a6*4)}
  2619. {(0.25a4*4+1)=(linearform)}
  2620. ## a4*4=0.99998a6*4+0.99998a5*4-3.99994
  2621. {(0.9)*(0.5p3~)}
  2622. {(0.45p3~)+(7)}
  2623. {alpha:=0.45p3~+7}
  2624. ## alpha=0.45p3~+7
  2625. {showdependencies}
  2626. alpha=0.45p3~+7
  2627. a4=0.25a6*4+0.25a5*4-0.99998
  2628. a3=0.49998a6*4+0.49998a5*4-0.99997
  2629. a2=0.99997a6*4+0.99997a5*4-1.99992
  2630. a1=1.99992a6*4+1.99992a5*4-3.99982
  2631. {(0.66667)-(0.25a6*4)}
  2632. {(0.25a6*4)=(-0.25a6*4+0.66667)}
  2633. ## a6*4=1.33334
  2634. {(0.25a5*4)=(0.33333)}
  2635. ## a5*4=1.33331
  2636. #### a4=-0.33333
  2637. #### a3=0.33333
  2638. #### a2=0.66664
  2639. #### a1=1.33328
  2640. {cull}
  2641. {(4)*(0.33333)}
  2642. {chardp:=27}
  2643. {charcode:=27}
  2644. {openwindow}
  2645. ! Improper `openwindow'.
  2646. <to be read again> 
  2647.                    ;
  2648. l.107 ...) to (0,0) at "whoops";
  2649.                                  addto p; shipout p; cull p;
  2650. Say `openwindow k from (r0,c0) to (r1,c1) at (x,y)',
  2651. where all quantities are known and k is between 0 and 15.
  2652.  
  2653. {addto}
  2654. >> (8,1,5,-5,-5,5)
  2655. ! Not a suitable variable.
  2656. <to be read again> 
  2657.                    ;
  2658. l.107 ...) at "whoops"; addto p;
  2659.                                  shipout p; cull p;
  2660. At this point I needed to see the name of a picture variable.
  2661. (Or perhaps you have indeed presented me with one; I might
  2662. have missed it, if it wasn't followed by the proper token.)
  2663. So I'll not change anything just now.
  2664.  
  2665. {shipout}
  2666. ! Variable p is the wrong type (transform).
  2667. <to be read again> 
  2668.                    ;
  2669. l.107 ...s"; addto p; shipout p;
  2670.                                  cull p;
  2671. I was looking for a "known" picture variable.
  2672. So I'll not change anything just now.
  2673.  
  2674. {cull}
  2675. >> (8,1,5,-5,-5,5)
  2676. ! Not a suitable variable.
  2677. <to be read again> 
  2678.                    ;
  2679. l.107 ...o p; shipout p; cull p;
  2680.                                 
  2681. At this point I needed to see the name of a picture variable.
  2682. (Or perhaps you have indeed presented me with one; I might
  2683. have missed it, if it wasn't followed by the proper token.)
  2684. So I'll not change anything just now.
  2685.  
  2686. {openwindow}
  2687. {-(0.5)}
  2688.  
  2689. Calling BLANKRECTANGLE(0,0,0,0)
  2690. Calling UPDATESCREEN
  2691. {special}
  2692. >> (8,1,5,-5,-5,5)
  2693. ! Unsuitable expression.
  2694. <to be read again> 
  2695.                    ;
  2696. l.108 ...$) at (0,0); special p;
  2697.                                  numspecial "p";
  2698. The expression shown above has the wrong type to be output.
  2699.  
  2700. {numspecial}
  2701. >> "p"
  2702. ! Unsuitable expression.
  2703. <to be read again> 
  2704.                    ;
  2705. l.108 ...cial p; numspecial "p";
  2706.                                 
  2707. The expression shown above has the wrong type to be output.
  2708.  
  2709. {openwindow}
  2710. {(32)*(1024)}
  2711. ! Arithmetic overflow.
  2712. l.109 ....49999 from (0,32*1024)
  2713.                                  to (1,31*1057) at (0,0); shi...
  2714. Uh, oh. A little while ago one of the quantities that I was
  2715. computing got too large, so I'm afraid your answers will be
  2716. somewhat askew. You'll probably have to adopt different
  2717. tactics next time. But I shall try to carry on anyway.
  2718.  
  2719. {(31)*(1057)}
  2720.  
  2721. Calling BLANKRECTANGLE(100,100,0,1)
  2722. Calling UPDATESCREEN
  2723. {shipout}
  2724. [27.-14]
  2725. Edge structure at line 109 (just shipped out):
  2726. row 0: | -3++ -2-- -1++ 4094--
  2727. row -1: | -4096++ -3-- -2++ -1--
  2728.  
  2729. {openwindow}
  2730. Path at line 110, before choices:
  2731. (0,0)
  2732.  
  2733. Path at line 110, after choices:
  2734. (0,0)
  2735.  
  2736. {length(path)}
  2737.  
  2738. Calling BLANKRECTANGLE(0,2,0,4)
  2739. Calling UPDATESCREEN
  2740. {openwindow}
  2741. {length((-1,0))}
  2742. {-(5)}
  2743.  
  2744. Calling BLANKRECTANGLE(1,10,1,3)
  2745. Calling UPDATESCREEN
  2746. {display}
  2747. {nullpicture}
  2748. >> picture
  2749. ! Not a suitable variable.
  2750. <to be read again> 
  2751.                    ;
  2752. l.112 display nullpicture;
  2753.                            display p inwindow 3; display p in...
  2754. At this point I needed to see the name of a picture variable.
  2755. (Or perhaps you have indeed presented me with one; I might
  2756. have missed it, if it wasn't followed by the proper token.)
  2757. So I'll not change anything just now.
  2758.  
  2759. {display}
  2760. >> 3
  2761. ! Bad window number.
  2762. <to be read again> 
  2763.                    ;
  2764. l.112 ...; display p inwindow 3;
  2765.                                  display p inwindow 6;
  2766. It should be the number of an open window.
  2767.  
  2768. {display}
  2769. ! Variable p is the wrong type (transform).
  2770. <to be read again> 
  2771.                    ;
  2772. l.112 ...; display p inwindow 6;
  2773.                                 
  2774. I was looking for a "known" picture variable.
  2775. So I'll not change anything just now.
  2776.  
  2777. {display}
  2778.  
  2779. Calling BLANKRECTANGLE(1,10,1,3)
  2780. Calling PAINTROW(2,1;4,5,6,10)
  2781. Calling UPDATESCREEN
  2782. {cull}
  2783. ! Enormous number has been reduced.
  2784. l.113 ...opping (0.1,4095.999999
  2785.                                 ) withweight 3.5
  2786. I can't handle numbers bigger than about 4095.99998;
  2787. so I've changed your constant to that maximum amount.
  2788.  
  2789. ! Weight must be -3, -2, -1, +1, +2, or +3.
  2790. <to be read again> 
  2791.                    withweight
  2792. l.114 withweight
  2793.                 -3.5; display e0 inwindow 5.5; addto e0 also ...
  2794. I'll ignore the bad `with' clause and look for another.
  2795.  
  2796. {-(3.5)}
  2797. ! Bad culling amounts.
  2798. <to be read again> 
  2799.                    ;
  2800. l.114 withweight-3.5;
  2801.                       display e0 inwindow 5.5; addto e0 also ...
  2802. Always cull by known amounts that exclude 0.
  2803.  
  2804. {display}
  2805.  
  2806. Calling BLANKRECTANGLE(1,10,1,3)
  2807. Calling PAINTROW(2,1;4,5,6,8,9,10)
  2808. Calling PAINTROW(1,1;6,7,8,9)
  2809. Calling UPDATESCREEN
  2810. {addto}
  2811. >> (8,1,5,-5,-5,5)
  2812. ! Improper `addto'.
  2813. <to be read again> 
  2814.                    ;
  2815. l.114 ...w 5.5; addto e0 also p;
  2816.                                  addto e0 contour 0;
  2817. This expression should have specified a known picture.
  2818. So I'll not change anything just now.
  2819.  
  2820. {addto}
  2821. >> 0
  2822. ! Improper `addto'.
  2823. <to be read again> 
  2824.                    ;
  2825. l.114 ... p; addto e0 contour 0;
  2826.                                 
  2827. This expression should have been a known path.
  2828. So I'll not change anything just now.
  2829.  
  2830. {display}
  2831.  
  2832. Calling BLANKRECTANGLE(0,2,0,4)
  2833. Calling PAINTROW(2,1;0,1)
  2834. Calling PAINTROW(1,1;0,1)
  2835. Calling PAINTROW(0,1;1,2)
  2836. Calling UPDATESCREEN
  2837. {addto}
  2838. ! Not a cycle.
  2839. <to be read again> 
  2840.                    ;
  2841. l.115 ...; addto e0 contour p~9;
  2842.                                 
  2843. That contour should have ended with `..cycle' or `&cycle'.
  2844. So I'll not change anything just now.
  2845.  
  2846. {display}
  2847. {(3)+(3)}
  2848.  
  2849. Calling BLANKRECTANGLE(1,10,1,3)
  2850. Calling PAINTROW(2,1;4,5,6,10)
  2851. Calling UPDATESCREEN
  2852. {display}
  2853. {begingroup}
  2854. {vardef}
  2855. {endgroup}
  2856. ! Variable e0e0 has been obliterated.
  2857. <to be read again> 
  2858.                    ;
  2859. l.116 ...vardef e[]e=enddef;6]];
  2860.                                 
  2861. It seems you did a nasty thing---probably by accident,
  2862. but nevertheless you nearly hornswoggled me...
  2863. While I was evaluating the right-hand side of this
  2864. command, something happened, and the left-hand side
  2865. is no longer a variable! So I won't change anything.
  2866.  
  2867. {addto}
  2868. {display}
  2869. Calling PAINTROW(1,1;0,1,2)
  2870. Calling PAINTROW(0,0;0,1,2)
  2871. Calling UPDATESCREEN
  2872. {ligtable}
  2873. {display}
  2874. {display}
  2875. Calling UPDATESCREEN
  2876. {show}
  2877. {begingroup}
  2878. {interim}
  2879. {tracingcommands:=0}
  2880.  
  2881. lig(TEXT0)(TEXT1)->ligtable0::for*=1step1until60:0kern.boundarychar+*,en
  2882. dfor.skipto0;ligtable(TEXT0):(TEXT0)(TEXT1)0,skipto255;boundarychar:=bou
  2883. ndarychar+51.29999
  2884. (TEXT0)<-"g"
  2885. (TEXT1)<-=:|
  2886.  
  2887. lig(TEXT0)(TEXT1)->ligtable0::for*=1step1until60:0kern.boundarychar+*,en
  2888. dfor.skipto0;ligtable(TEXT0):(TEXT0)(TEXT1)0,skipto255;boundarychar:=bou
  2889. ndarychar+51.29999
  2890. (TEXT0)<-"h":"i"
  2891. (TEXT1)<-|=:
  2892. ! Character h is already in a ligtable.
  2893. <to be read again> 
  2894.                    :
  2895. <argument> "h":
  2896.                "i"
  2897. lig->...;ligtable(TEXT0):(TEXT0)
  2898.                                 (TEXT1)0,skipto255;boundarych...
  2899. l.119 ...=:|); lig("h":"i")(|=:)
  2900.                                 ;
  2901. It's not legal to label a character more than once.
  2902. So I'll not change anything just now.
  2903.  
  2904.  
  2905. lig(TEXT0)(TEXT1)->ligtable0::for*=1step1until60:0kern.boundarychar+*,en
  2906. dfor.skipto0;ligtable(TEXT0):(TEXT0)(TEXT1)0,skipto255;boundarychar:=bou
  2907. ndarychar+51.29999
  2908. (TEXT0)<-"j"
  2909. (TEXT1)<-|=:>
  2910.  
  2911. lig(TEXT0)(TEXT1)->ligtable0::for*=1step1until60:0kern.boundarychar+*,en
  2912. dfor.skipto0;ligtable(TEXT0):(TEXT0)(TEXT1)0,skipto255;boundarychar:=bou
  2913. ndarychar+51.29999
  2914. (TEXT0)<-"k"
  2915. (TEXT1)<-=:|>
  2916.  
  2917. lig(TEXT0)(TEXT1)->ligtable0::for*=1step1until60:0kern.boundarychar+*,en
  2918. dfor.skipto0;ligtable(TEXT0):(TEXT0)(TEXT1)0,skipto255;boundarychar:=bou
  2919. ndarychar+51.29999
  2920. (TEXT0)<-"l"
  2921. (TEXT1)<-|=:|>
  2922. {restoring tracingcommands=2.1}
  2923. {endgroup}
  2924. >> vacuous
  2925. {begingroup}
  2926. {let}
  2927. {vardef}
  2928. {endgroup}
  2929. ! Variable c.a1 has been obliterated.
  2930. <to be read again> 
  2931.                    ;
  2932. l.121 ...;vardef b=enddef;1]] ];
  2933.                                  ligtable"m":0=:0,skipto5;
  2934. It seems you did a nasty thing---probably by accident,
  2935. but nevertheless you nearly hornswoggled me...
  2936. While I was evaluating the suffix of this variable,
  2937. something was redefined, and it's no longer a variable!
  2938. In order to get back on my feet, I've inserted `0' instead.
  2939.  
  2940. {b1:=0}
  2941. ! Variable b1 has been obliterated.
  2942. <to be read again> 
  2943.                    ;
  2944. l.121 ...;vardef b=enddef;1]] ];
  2945.                                  ligtable"m":0=:0,skipto5;
  2946. It seems you did a nasty thing---probably by accident,
  2947. but nevertheless you nearly hornswoggled me...
  2948. While I was evaluating the right-hand side of this
  2949. command, something happened, and the left-hand side
  2950. is no longer a variable! So I won't change anything.
  2951.  
  2952. {ligtable}
  2953. ! A statement can't begin with `skipto'.
  2954. <to be read again> 
  2955.                    !!
  2956. l.122 !!
  2957.         ; errhelp 0; errmessage "Be like Jane";
  2958. I was looking for the beginning of a new statement.
  2959. If you just proceed without changing anything, I'll ignore
  2960. everything up to the next `;'. Please insert a semicolon
  2961. now in front of anything that you don't want me to delete.
  2962. (See Chapter 27 of The METAFONTbook for an example.)
  2963.  
  2964. ! Extra tokens will be flushed.
  2965. <to be read again> 
  2966.                    !!
  2967. l.122 !!
  2968.         ; errhelp 0; errmessage "Be like Jane";
  2969. I've just read as much of that statement as I could fathom,
  2970. so a semicolon should have been next. It's very puzzling...
  2971. but I'll try to get myself back together, by ignoring
  2972. everything up to the next `;'. Please insert a semicolon
  2973. now in front of anything that you don't want me to delete.
  2974. (See Chapter 27 of The METAFONTbook for an example.)
  2975.  
  2976. {errhelp}
  2977. >> 0
  2978. ! Not a string.
  2979. <to be read again> 
  2980.                    ;
  2981. l.122 !!; errhelp 0;
  2982.                      errmessage "Be like Jane";
  2983. A message should be a known string expression.
  2984.  
  2985. {errmessage}
  2986. ! Be like Jane.
  2987. <to be read again> 
  2988.                    ;
  2989. l.122 ...message "Be like Jane";
  2990.                                 
  2991. This error message was generated by an `errmessage'
  2992. command, so I can't give any explicit help.
  2993. Pretend that you're Miss Marple: Examine all clues,
  2994. and deduce the truth by inspired guesses.
  2995.  
  2996. {errhelp}
  2997. {errmessage}
  2998. ! .
  2999. <to be read again> 
  3000.                    ;
  3001. l.123 ...e%%%lp%"; errmessage"";
  3002.                                  errhelp ""; errmessage "Anot...
  3003. He%
  3004. lp
  3005.  
  3006.  
  3007. {errhelp}
  3008. {errmessage}
  3009. ! Another.
  3010. <to be read again> 
  3011.                    ;
  3012. l.123 ...; errmessage "Another";
  3013.                                 
  3014. (That was another `errmessage'.)
  3015.  
  3016. {headerbyte}
  3017. >> 0
  3018. ! Improper location.
  3019. <to be read again> 
  3020.                    ;
  3021. l.124 headerbyte 0;
  3022.                     headerbyte(48.5)substring(-9,9)of"long"; ...
  3023. I was looking for a known, positive number.
  3024. For safety's sake I'll ignore the present command.
  3025.  
  3026. {headerbyte}
  3027. ! Missing `:' has been inserted.
  3028. <to be read again> 
  3029.                    substring
  3030. l.124 ...aderbyte(48.5)substring
  3031.                                 (-9,9)of"long"; for\=0:\
  3032. A colon should follow a headerbyte or fontinfo location.
  3033.  
  3034. {-(9)}
  3035. {((-9,9))substring("long")}
  3036. >> "long"
  3037. ! Invalid code has been replaced by 0.
  3038. <to be read again> 
  3039.                    ;
  3040. l.124 ...ubstring(-9,9)of"long";
  3041.                                  for\=0:\
  3042. I was looking for a number between 0 and 255, or for a
  3043. string of length 1. Didn't find it; will use 0 instead.
  3044.  
  3045. {for}
  3046. Runaway loop?
  3047. ! Forbidden token found while scanning the text of a for loop.
  3048. <inserted text> 
  3049.                 endfor
  3050. <to be read again> 
  3051.                    \
  3052. l.124 ...-9,9)of"long"; for\=0:\
  3053.                                 
  3054. I suspect you have forgotten an `endfor',
  3055. causing me to read past where you wanted me to stop.
  3056. I'll try to recover; but if the error is serious,
  3057. you'd better type `E' or `X' now and fix your file.
  3058.  
  3059. {loop value=0}
  3060. {[repeat the loop]}
  3061. {\}
  3062. {headerbyte}
  3063. {(2)*(0.33333)}
  3064. {fontdimen}
  3065. {(2)*(0.33333)}
  3066. >> "q"
  3067. ! Improper font parameter.
  3068. <to be read again> 
  3069.                    ;
  3070. l.125 ..."; fontdimen 9:2a6,"q";
  3071.                                  fontdimen 1:2048;
  3072. I'm zeroing this one. Proceed, with fingers crossed.
  3073.  
  3074. {fontdimen}
  3075. {fontmaking:=1}
  3076. {extensible}
  3077. ! Missing `:' has been inserted.
  3078. <to be read again> 
  3079.                    5
  3080. l.126 ...king:=1; extensible 5 5
  3081.                                 ,"c"255.5,"d"; charlist 0:5:"...
  3082. I'm processing `extensible c: t,m,b,r'.
  3083.  
  3084. ! Missing `,' has been inserted.
  3085. <to be read again> 
  3086.                    255.5
  3087. l.126 ...extensible 5 5,"c"255.5
  3088.                                 ,"d"; charlist 0:5:"a":"d";
  3089. I'm processing `extensible c: t,m,b,r'.
  3090.  
  3091. >> 255.5
  3092. ! Invalid code has been replaced by 0.
  3093. <to be read again> 
  3094.                    ,
  3095. l.126 ...xtensible 5 5,"c"255.5,
  3096.                                 "d"; charlist 0:5:"a":"d";
  3097. I was looking for a number between 0 and 255, or for a
  3098. string of length 1. Didn't find it; will use 0 instead.
  3099.  
  3100. {charlist}
  3101. ! Character code 5 is already extensible.
  3102. <to be read again> 
  3103.                    :
  3104. l.126 ...,"d"; charlist 0:5:"a":
  3105.                                 "d";
  3106. It's not legal to label a character more than once.
  3107. So I'll not change anything just now.
  3108.  
  3109. {ligtable}
  3110. ! Too far to skip.
  3111. l.127 ligtable255:255::
  3112.                        "a"=:"b","d" kern -2048,"c":0:99.5:"e"...
  3113. At most 127 lig/kern steps can separate skipto1 from 1::.
  3114.  
  3115. {-(2048)}
  3116. ! Character code 0 is already in a charlist.
  3117. <to be read again> 
  3118.                    :
  3119. l.127 ...","d" kern -2048,"c":0:
  3120.                                 99.5:"e"|=:|"f",0kern';
  3121. It's not legal to label a character more than once.
  3122. So I'll not change anything just now.
  3123.  
  3124. >> (xpart ',ypart ')
  3125. ! Improper kern.
  3126. <to be read again> 
  3127.                    ;
  3128. l.127 ...99.5:"e"|=:|"f",0kern';
  3129.                                 
  3130. The amount of kern should be a known numeric value.
  3131. I'm zeroing this one. Proceed, with fingers crossed.
  3132.  
  3133. {ligtable}
  3134. ! Character code 5 is already extensible.
  3135. <to be read again> 
  3136.                    :
  3137. l.128 ligtable 5:
  3138.                  0; def clear(text x)=interim x:=$ enddef; cl...
  3139. It's not legal to label a character more than once.
  3140. So I'll not change anything just now.
  3141.  
  3142. ! Illegal ligtable step.
  3143. <to be read again> 
  3144.                    ;
  3145. l.128 ligtable 5:0;
  3146.                     def clear(text x)=interim x:=$ enddef; cl...
  3147. I was looking for `=:' or `kern' here.
  3148.  
  3149. {def}
  3150.  
  3151. clear(TEXT0)->interim(TEXT0):=$
  3152. (TEXT0)<-hppp
  3153. {interim}
  3154. {hppp:=-1}
  3155. {(0)=(0)}
  3156. ! Redundant equation.
  3157. <to be read again> 
  3158.                    ;
  3159. l.128 ...f; clear(hppp); vppp=0;
  3160.                                 
  3161. I already knew that this equation was true.
  3162. But perhaps no harm has been done; let's continue.
  3163.  
  3164. {begingroup}
  3165.  
  3166. clear(TEXT0)->interim(TEXT0):=$
  3167. (TEXT0)<-tracingmacros
  3168. {interim}
  3169. {tracingmacros:=-1}
  3170. {interim}
  3171. {tracingcommands:=-1}
  3172. Runaway text?
  3173. tracingoutput
  3174. ! Forbidden token found while scanning a text argument.
  3175. <inserted text> 
  3176.                 )
  3177. <to be read again> 
  3178.                    \
  3179. l.129 ...); clear(tracingoutput\
  3180.                                 ;
  3181. It seems that a right delimiter was left out,
  3182. causing me to read past where you wanted me to stop.
  3183. I'll try to recover; but if the error is serious,
  3184. you'd better type `E' or `X' now and fix your file.
  3185.  
  3186. {restoring proofing=1}
  3187. {restoring tracingoutput=1}
  3188. {restoring tracingcommands=2.1}
  3189. {restoring tracingmacros=1}
  3190. {endgroup}
  3191. {def}
  3192. {def}
  3193. {addto}
  3194. Path at line 139, before choices:
  3195. (0,0){4096,0}
  3196.  ..{4096,0}(1,0){0,-4096}
  3197.  ..{0,4096}cycle
  3198.  
  3199. Path at line 139, after choices:
  3200. (0,0)..controls (0.33333,0) and (0.66667,0)
  3201.  ..(1,0)..controls (1,-0.66667) and (0,-0.66667)
  3202.  ..cycle
  3203.  
  3204. > 0 ENE 1 (ESE SSE) SSW WSW WNW NNW 0 (NNE)
  3205. ! Backwards path (turning number is negative).
  3206. <to be read again> 
  3207.                    ;
  3208. l.139 ....{0,1}cycle withpen qq;
  3209.                                 
  3210. The path doesn't have a counterclockwise orientation,
  3211. so I'll probably have trouble drawing it.
  3212. (See Chapter 27 of The METAFONTbook for more help.)
  3213.  
  3214. Tracing edges at line 139: (weight 1)
  3215. @ Octant ENE (2 offsets), from (2.5,-0.5) to (1.5,-2)
  3216. @ retrograde line from (2.5,-0.5) to (0.5,-2)
  3217. (3,0)(3,-1)(1,-1)
  3218. @ transition line 0, from (0.5,-2) to (0.5,-2)
  3219. @ transition line 1, from (1.5,-2) to (2.5,-1.5)
  3220. @ transition line 2, from (2.5,-1.5) to (3.5,-0.5)
  3221. (1,-2)(3,-2)(3,-1)(4,-1)
  3222. @ retrograde line from (3.5,-0.5) to (1.5,-2)
  3223. (4,0)(4,-1)(2,-1)
  3224. @ Octant ESE (2 offsets), from (1.5,-2) to (-1,0)
  3225. @ retrograde line from (1.5,-2) to (-1,0)
  3226. (2,-2)(1,-2)(1,-1)(0,-1)
  3227. @ transition line 3, from (-1,0) to (0.5,-1.5)
  3228. @ transition line 2, from (0.5,-1.5) to (1.5,-2)
  3229. @ transition line 1, from (1.5,-2) to (1.5,-2)
  3230. (0,0)(0,-1)(1,-1)
  3231. @ retrograde line from (1.5,-2) to (-1,0)
  3232. (1,-2)(1,-1)(0,-1)
  3233. @ Octant SSE (0 offsets), from (-1,0) to (-1,0)
  3234. @ transition line 0, from (-1,0) to (-1,0)
  3235. @ Octant SSW (2 offsets), from (-1,0) to (-0.82407,0.67593)
  3236. @ retrograde line from (-1,0) to (-0.5,1.5)
  3237. (0,0)(-1,0)(-1,1)(0,1)
  3238. @ transition line 3, from (-0.5,1.5) to (-0.5,1.5)
  3239. @ transition line 2, from (-0.5,1.5) to (-1,0)
  3240. @ transition line 1, from (-1.06265,-0.39499) to (-0.56265,1.10501)
  3241. @ transition line 2, from (-0.82407,0.67593) to (-1.32407,-0.82407)
  3242. @ transition line 1, from (-1.32407,-0.82407) to (-1.32407,-0.82407)
  3243. (0,2)(0,1)(-1,1)
  3244. @ retrograde line from (-1.32407,-0.82407) to (-0.82407,0.67593)
  3245. (-1,-1)
  3246. @ Octant WSW (2 offsets), from (-0.82407,0.67593) to (1,2)
  3247. @ retrograde line from (-0.82407,0.67593) to (1.17593,2.17593)
  3248. (-1,1)(0,1)
  3249. @ transition line 0, from (1.17593,2.17593) to (1.17593,2.17593)
  3250. @ transition line 1, from (1.17593,2.17593) to (0.17593,1.67593)
  3251. @ transition line 2, from (0,1.5) to (-1,0.5)
  3252. (0,2)
  3253. @ retrograde line from (-1,0.5) to (1,2)
  3254. (0,1)
  3255. @ Octant WNW (2 offsets), from (1,2) to (3.32407,0.17593)
  3256. @ retrograde line from (1,2) to (3.5,0)
  3257. (0,2)(2,2)(2,1)(3,1)
  3258. @ transition line 3, from (3.5,0) to (2,1.5)
  3259. @ transition line 2, from (1.82407,1.67593) to (0.82407,2.17593)
  3260. @ transition line 1, from (0.82407,2.17593) to (0.82407,2.17593)
  3261. (3,0)(3,1)(2,1)
  3262. @ retrograde line from (0.82407,2.17593) to (3.32407,0.17593)
  3263. (2,2)(2,1)(3,1)
  3264. @ Octant NNW (0 offsets), from (3.32407,0.17593) to (3,1)
  3265. @ transition line 0, from (3.32407,0.17593) to (3.32407,0.17593)
  3266. (3,0)
  3267. @ Octant NNE (2 offsets), from (3,1) to (2.5,-0.5)
  3268. @ retrograde line from (3,1) to (2.5,-0.5)
  3269. (3,1)
  3270. @ transition line 3, from (2.5,-0.5) to (2.5,-0.5)
  3271. @ transition line 2, from (2.5,-0.5) to (3,1)
  3272. @ transition line 1, from (3,1) to (3,1)
  3273. (3,0)
  3274. @ retrograde line from (3,1) to (2.5,-0.5)
  3275. (3,1)(3,0).
  3276.  
  3277.  
  3278. f(SUFFIX0)(EXPR1)(EXPR2)(TEXT3)->numeric.w;show(EXPR1);addto(SUFFIX0)con
  3279. tour(0,0)..(2,0)..(1,$)..(1,1)..cycle.withpen.qq;addto(SUFFIX0)doublepat
  3280. h(0,0){1,1}..{2,1}(2,1)withpen.qq;addto(SUFFIX0)doublepath(($,$){1,0}..(
  3281. 1,1){1,0})scaled0.5withpen.nullpen;cull(SUFFIX0)keeping(4,4)withweight1.
  3282. 5;
  3283. ! Missing `]' has been inserted.
  3284. <to be read again> 
  3285.                    ,
  3286. l.140 f(e[3,
  3287.             w); g(e3,transformed p,penoffset-(1,1.3)of(pencir...
  3288. I've seen a `[' and a subscript value, in a suffix,
  3289. so a right bracket should have come next.
  3290. I shall pretend that one was there.
  3291.  
  3292. (SUFFIX0)<-e3
  3293. (EXPR1)<-unknown path w
  3294. ! Missing argument to f.
  3295. <to be read again> 
  3296.                    ;
  3297. l.140 f(e[3,w);
  3298.                 g(e3,transformed p,penoffset-(1,1.3)of(pencir...
  3299. That macro has more parameters than you thought.
  3300. I'll continue by pretending that each missing argument
  3301. is either zero or null.
  3302.  
  3303. (EXPR2)<-0
  3304. ! Missing argument to f.
  3305. <to be read again> 
  3306.                    ;
  3307. l.140 f(e[3,w);
  3308.                 g(e3,transformed p,penoffset-(1,1.3)of(pencir...
  3309. That macro has more parameters than you thought.
  3310. I'll continue by pretending that each missing argument
  3311. is either zero or null.
  3312.  
  3313. (TEXT3)<-
  3314. {numeric}
  3315. {show}
  3316. >> unknown path %CAPSULE395
  3317. {addto}
  3318. Path at line 140, before choices:
  3319. (0,0)
  3320.  ..(2,0)
  3321.  ..(1,-1)
  3322.  ..(1,1)
  3323.  ..cycle
  3324.  
  3325. Path at line 140, after choices:
  3326. (0,0)..controls (0.56189,-0.5286) and (1.43811,0.5286)
  3327.  ..(2,0)..controls (2.70831,-0.66634) and (1.66634,-1.70831)
  3328.  ..(1,-1)..controls (0.4714,-0.43811) and (1.5286,0.43811)
  3329.  ..(1,1)..controls (0.33366,1.70831) and (-0.70831,0.66634)
  3330.  ..cycle
  3331.  
  3332. > 0 ESE ENE ESE 1 SSE SSW WSW WNW NNW 2 NNE NNW 3 WNW WSW SSW SSE ESE 0
  3333. ! Strange path (turning number is zero).
  3334. <to be read again> 
  3335.                    ;
  3336. f->.....(1,1)..cycle.withpen.qq;
  3337.                                 addto(SUFFIX0)doublepath(0,0)...
  3338. <to be read again> 
  3339.                    ;
  3340. l.140 f(e[3,w);
  3341.                 g(e3,transformed p,penoffset-(1,1.3)of(pencir...
  3342. The path doesn't have a counterclockwise orientation,
  3343. so I'll probably have trouble drawing it.
  3344. (See Chapter 27 of The METAFONTbook for more help.)
  3345.  
  3346. Tracing edges at line 140: (weight 1)
  3347. @ Octant ENE (2 offsets), from (0.26321,-2.6526) to (1.73679,-2.34741)
  3348. @ transition line 0, from (0.26321,-2.6526) to (0.26321,-2.6526)
  3349. @ transition line 1, from (1.73679,-2.34741) to (2.73679,-1.84741)
  3350. @ transition line 2, from (2.73679,-1.84741) to (3.73679,-0.84741)
  3351. (1,-3)(1,-2)(3,-2)
  3352. @ retrograde line from (3.73679,-0.84741) to (1.73679,-2.34741)
  3353. (3,-1)
  3354. @ Octant ESE (2 offsets), from (1.73679,-2.34741) to (-0.25465,-0.56029)
  3355. @ retrograde line from (1.73679,-2.34741) to (-0.76321,-0.34741)
  3356. (3,-2)(1,-2)(1,-1)(-1,-1)
  3357. @ transition line 3, from (-0.76321,-0.34741) to (0.73679,-1.84741)
  3358. @ transition line 2, from (0.73679,-1.84741) to (1.73679,-2.34741)
  3359. @ transition line 1, from (2.05333,-2.41772) to (1.05333,-1.91772)
  3360. @ transition line 2, from (1.24535,-2.06029) to (2.24535,-2.56029)
  3361. @ transition line 1, from (2.24535,-2.56029) to (2.24535,-2.56029)
  3362. (-1,0)(-1,-1)(0,-1)(0,-2)(2,-2)
  3363. @ retrograde line from (2.24535,-2.56029) to (-0.25465,-0.56029)
  3364. (2,-3)(2,-2)(1,-2)
  3365. @ Octant SSE (0 offsets), from (-0.25465,-0.56029) to (0,-1.13196)
  3366. @ transition line 0, from (-0.25465,-0.56029) to (-0.25465,-0.56029)
  3367. @ Octant SSW (2 offsets), from (0,-1.13196) to (0.25,-0.25)
  3368. @ retrograde line from (0,-1.13196) to (0.5,0.36804)
  3369. (1,-1)(0,-1)
  3370. @ transition line 3, from (0.5,0.36804) to (0.5,0.36804)
  3371. @ transition line 2, from (0.5,0.36804) to (0,-1.13196)
  3372. @ transition line 1, from (-0.04594,-1.41693) to (0.45406,0.08307)
  3373. @ transition line 2, from (0.25,-0.25) to (-0.25,-1.75)
  3374. @ transition line 1, from (-0.25,-1.75) to (-0.25,-1.75)
  3375. (0,0)
  3376. @ retrograde line from (-0.25,-1.75) to (0.25,-0.25)
  3377. (0,-2)
  3378. @ Octant WSW (2 offsets), from (0.25,-0.25) to (1.63197,1)
  3379. @ retrograde line from (0.25,-0.25) to (2.25,1.25)
  3380. (0,0)(1,0)
  3381. @ transition line 0, from (2.25,1.25) to (2.25,1.25)
  3382. @ transition line 1, from (2.25,1.25) to (1.25,0.75)
  3383. @ transition line 2, from (1.03186,0.59352) to (2.03186,1.09352)
  3384. @ transition line 1, from (1.63197,1) to (0.63197,0.5)
  3385. @ transition line 2, from (0.63197,0.5) to (-0.36803,-0.5)
  3386. (1,1)
  3387. @ retrograde line from (-0.36803,-0.5) to (1.63197,1)
  3388. (1,0)
  3389. @ Octant WNW (2 offsets), from (1.63197,1) to (3.56024,-0.74529)
  3390. @ retrograde line from (1.63197,1) to (4.13197,-1)
  3391. (1,1)(2,1)(2,0)(4,0)
  3392. @ transition line 3, from (4.13197,-1) to (2.63197,0.5)
  3393. @ transition line 2, from (2.63197,0.5) to (1.63197,1)
  3394. @ transition line 1, from (1.29863,1.07983) to (2.29863,0.57983)
  3395. @ transition line 2, from (2.06024,0.75471) to (1.06024,1.25471)
  3396. @ transition line 1, from (1.06024,1.25471) to (1.06024,1.25471)
  3397. (4,-1)(4,0)(3,0)
  3398. @ retrograde line from (1.06024,1.25471) to (3.56024,-0.74529)
  3399. (3,1)(2,1)(2,0)(3,0)
  3400. @ Octant NNW (0 offsets), from (3.56024,-0.74529) to (3.3474,-0.23679)
  3401. @ transition line 0, from (3.56024,-0.74529) to (3.56024,-0.74529)
  3402. (3,-1)
  3403. @ Octant NNE (2 offsets), from (3.3474,-0.23679) to (3.65259,1.23679)
  3404. @ retrograde line from (3.3474,-0.23679) to (2.8474,-1.73679)
  3405. (3,0)
  3406. @ transition line 3, from (2.8474,-1.73679) to (2.8474,-1.73679)
  3407. @ transition line 2, from (2.8474,-1.73679) to (3.3474,-0.23679)
  3408. @ transition line 1, from (3.65259,1.23679) to (3.65259,1.23679)
  3409. (3,-2)
  3410. @ Octant NNW (0 offsets), from (3.65259,1.23679) to (3.43976,1.74529)
  3411. @ transition line 0, from (3.65259,1.23679) to (3.65259,1.23679)
  3412. (3,1)(4,1)
  3413. @ Octant WNW (2 offsets), from (3.43976,1.74529) to (0.36803,4)
  3414. @ transition line 3, from (3.43976,1.74529) to (1.93976,3.24529)
  3415. @ transition line 2, from (1.70137,3.42017) to (0.70137,3.92017)
  3416. @ transition line 1, from (0.36803,4) to (0.36803,4)
  3417. (4,2)(3,2)(3,3)(2,3)
  3418. @ Octant WSW (2 offsets), from (0.36803,4) to (-2.25,2.25)
  3419. @ transition line 0, from (0.36803,4) to (0.36803,4)
  3420. @ transition line 1, from (-0.03186,3.90648) to (-1.03186,3.40648)
  3421. @ transition line 2, from (-1.25,3.25) to (-2.25,2.25)
  3422. (2,4)(-1,4)(-1,3)(-2,3)
  3423. @ Octant SSW (2 offsets), from (-2.25,2.25) to (-3,0.13196)
  3424. @ transition line 3, from (-2.25,2.25) to (-2.25,2.25)
  3425. @ transition line 2, from (-2.45406,1.91695) to (-2.95406,0.41695)
  3426. @ transition line 1, from (-3,0.13196) to (-3,0.13196)
  3427. (-2,2)(-3,2)
  3428. @ Octant SSE (0 offsets), from (-3,0.13196) to (-2.74533,-0.43973)
  3429. @ transition line 0, from (-3,0.13196) to (-3,0.13196)
  3430. @ Octant ESE (2 offsets), from (-2.74533,-0.43973) to (0.26321,-2.6526)
  3431. @ transition line 3, from (-2.74533,-0.43973) to (-1.24533,-1.93973)
  3432. @ transition line 2, from (-1.05331,-2.08229) to (-0.05331,-2.58229)
  3433. @ transition line 1, from (0.26321,-2.6526) to (0.26321,-2.6526)
  3434. (-3,-1)(-2,-1)(-2,-2)(0,-2)(0,-3).
  3435.  
  3436. {addto}
  3437. Path at line 140, before choices:
  3438. (0,0){2896.30943,2896.30934}
  3439.  ..{3663.57385,1831.78674}(2,1)
  3440.  
  3441. Path at line 140, after choices:
  3442. (0,0)..controls (0.53566,0.53566) and (1.32689,0.66344)
  3443.  ..(2,1)
  3444.  
  3445. Tracing edges at line 140: (weight 1)
  3446. @ Octant ENE (2 offsets), from (0,-2.5) to (4,0)
  3447. @ transition line 0, from (0,-2.5) to (0,-2.5)
  3448. @ transition line 1, from (0,-2.5) to (1,-2)
  3449. @ transition line 2, from (1.607,-1.57747) to (0.607,-2.07747)
  3450. @ transition line 1, from (2,-1.5) to (3,-1)
  3451. @ transition line 2, from (3,-1) to (4,0)
  3452. (2,-2)(2,-1)(4,-1)
  3453. @ Octant NNE (2 offsets), from (4,0) to (4.5,1.5)
  3454. @ transition line 3, from (4,0) to (4,0)
  3455. @ transition line 2, from (4,0) to (4.5,1.5)
  3456. @ transition line 1, from (4.5,1.5) to (4.5,1.5)
  3457. (4,1)(5,1)
  3458. @ Octant NNW (0 offsets), from (4.5,1.5) to (4.5,1.5)
  3459. @ transition line 0, from (4.5,1.5) to (4.5,1.5)
  3460. @ Octant WNW (2 offsets), from (4.5,1.5) to (2,3.5)
  3461. @ transition line 3, from (4.5,1.5) to (3,3)
  3462. @ transition line 2, from (3,3) to (2,3.5)
  3463. @ transition line 1, from (2,3.5) to (2,3.5)
  3464. (5,2)(4,2)(4,3)(2,3)
  3465. @ Octant WSW (2 offsets), from (2,3.5) to (-2,1)
  3466. @ transition line 0, from (2,3.5) to (2,3.5)
  3467. @ transition line 1, from (0.607,2.92253) to (-0.393,2.42253)
  3468. @ transition line 2, from (-1,2) to (-2,1)
  3469. (2,4)(2,3)(0,3)(0,2)(-1,2)
  3470. @ Octant SSW (2 offsets), from (-2,1) to (-2.5,-0.5)
  3471. @ transition line 3, from (-2,1) to (-2,1)
  3472. @ transition line 2, from (-2,1) to (-2.5,-0.5)
  3473. @ transition line 1, from (-2.5,-0.5) to (-2.5,-0.5)
  3474. (-1,1)(-2,1)
  3475. @ Octant SSE (0 offsets), from (-2.5,-0.5) to (-2.5,-0.5)
  3476. @ transition line 0, from (-2.5,-0.5) to (-2.5,-0.5)
  3477. @ Octant ESE (2 offsets), from (-2.5,-0.5) to (0,-2.5)
  3478. @ transition line 3, from (-2.5,-0.5) to (-1,-2)
  3479. @ transition line 2, from (-1,-2) to (0,-2.5)
  3480. @ transition line 1, from (0,-2.5) to (0,-2.5)
  3481. (-2,-1)(-1,-1)(-1,-2).
  3482.  
  3483. {addto}
  3484. Path at line 140, before choices:
  3485. (-1,-1){4096,0}
  3486.  ..{4096,0}(1,1)
  3487.  
  3488. Path at line 140, after choices:
  3489. (-1,-1)..controls (0.10457,-1) and (-0.10457,1)
  3490.  ..(1,1)
  3491.  
  3492. {(path)scaled(0.5)}
  3493. {nullpen}
  3494. Tracing edges at line 140: (weight 1)
  3495. (0,0)(0,1)(0,0).
  3496.  
  3497. {cull}
  3498.  
  3499. g(SUFFIX0)->show(SUFFIX0)
  3500. (SUFFIX0)<-e3
  3501. ! Too many arguments to g;
  3502.   Missing `)' has been inserted.
  3503. l.140 f(e[3,w); g(e3,
  3504.                      transformed p,penoffset-(1,1.3)of(pencir...
  3505. I'm going to assume that the comma I just read was a
  3506. right delimiter, and then I'll begin expanding the macro.
  3507. You might want to delete some tokens before continuing.
  3508.  
  3509. {show}
  3510. {(picture)transformed((8,1,5,-5,-5,5))}
  3511. >> Edge structure at line 140:
  3512.  
  3513. {-((1,1.3))}
  3514. {pencircle}
  3515. {(future pen)scaled(20)}
  3516. {-(0.5)}
  3517. {(future pen)yscaled(-0.5)}
  3518. Pen polygon at line 140 (newly created):
  3519. (1.5,-5)
  3520.  .. (4.5,-4.5)
  3521.  .. (6,-4)
  3522.  .. (8,-3)
  3523.  .. (9.5,-1.5)
  3524.  .. (10,-0.5)
  3525.  .. (10,0.5)
  3526.  .. (9.5,1.5)
  3527.  .. (8,3)
  3528.  .. (6,4)
  3529.  .. (4.5,4.5)
  3530.  .. (1.5,5)
  3531.  .. (-1.5,5)
  3532.  .. (-4.5,4.5)
  3533.  .. (-6,4)
  3534.  .. (-8,3)
  3535.  .. (-9.5,1.5)
  3536.  .. (-10,0.5)
  3537.  .. (-10,-0.5)
  3538.  .. (-9.5,-1.5)
  3539.  .. (-8,-3)
  3540.  .. (-6,-4)
  3541.  .. (-4.5,-4.5)
  3542.  .. (-1.5,-5)
  3543.  .. cycle
  3544.  
  3545. {((-1,-1.3))penoffset(pen)}
  3546. >> (-9.5,1.5)
  3547. Path at line 141, before choices:
  3548. (0,0)..controls (1,1) and (-1,1)
  3549.  ..(3,0)
  3550.  
  3551. Path at line 141, after choices:
  3552. (0,0)..controls (1,1) and (-1,1)
  3553.  ..(3,0)
  3554.  
  3555. {((0,1))directiontime(path)}
  3556. >> 0.33333
  3557. {(3.14159)point(path)}
  3558. {((3.14159,4))subpath(path)}
  3559. {((7.68668,2.72437))intersectiontimes(path)}
  3560. >> (0,0)
  3561. Path at line 143, before choices:
  3562. (-1,1.1){curl 1}
  3563.  ..{curl 1}(1,-1)
  3564.  
  3565. Path at line 143, after choices:
  3566. (-1,1.1)..controls (-0.33333,0.40001) and (0.33333,-0.3)
  3567.  ..(1,-1)
  3568.  
  3569. {(-1)precontrol((0,0))}
  3570. {(path)intersectiontimes((0,0))}
  3571. >> (-1,-1)
  3572. {addto}
  3573. {-(4094.99998)}
  3574. {-(0.00002)}
  3575. Path at line 144, before choices:
  3576. (-4094.99998,0){curl 1}
  3577.  ..{curl 1}(4094.99998,-0.00002)
  3578.  
  3579. Path at line 144, after choices:
  3580. (-4094.99998,0)..controls (-1365,0) and (1365,-0.00002)
  3581.  ..(4094.99998,-0.00002)
  3582.  
  3583. {pencircle}
  3584. {(0)penoffset(future pen)}
  3585. Pen polygon at line 145 (newly created):
  3586. (0.5,0)
  3587.  .. (0,0.5)
  3588.  .. (-0.5,0)
  3589.  .. (0,-0.5)
  3590.  .. cycle
  3591.  
  3592. >> 0
  3593. >> pen
  3594. ! Not implemented: penoffset(known numeric)of(pen).
  3595. <to be read again> 
  3596.                    ;
  3597. l.145 pencircle;
  3598.                  addto e3 also e3 shifted (0,257); ,"flushed ...
  3599. I'm afraid I don't know how to apply that operation to that
  3600. combination of types. Continue, and I'll return the second
  3601. argument (see above) as the result of the operation.
  3602.  
  3603. Tracing edges at line 145: (weight 1)
  3604. @ Octant ESE (1 offset), from (-4095.49998,0) to (4094.99998,-0.50002)
  3605. @ transition line 2, from (-4095.49998,0) to (-4094.99998,-0.5)
  3606. @ transition line 1, from (4094.99998,-0.50002) to (4094.99998,-0.50002)
  3607. (-4095,0)
  3608. @ Octant ENE (1 offset), from (4094.99998,-0.50002) to (4095.49998,-0.00
  3609. 002)
  3610. @ transition line 0, from (4094.99998,-0.50002) to (4094.99998,-0.50002)
  3611. @ transition line 1, from (4094.99998,-0.50002) to (4095.49998,-0.00002)
  3612. (-4095,-1)(4095,-1)
  3613. @ Octant NNE (0 offsets), from (4095.49998,-0.00002) to (4095.49998,-0.0
  3614. 0002)
  3615. @ transition line 1, from (4095.49998,-0.00002) to (4095.49998,-0.00002)
  3616. @ Octant NNW (0 offsets), from (4095.49998,-0.00002) to (4095.49998,-0.0
  3617. 0002)
  3618. @ transition line 0, from (4095.49998,-0.00002) to (4095.49998,-0.00002)
  3619. @ Octant WNW (1 offset), from (4095.49998,-0.00002) to (-4094.99998,0.5)
  3620. @ transition line 2, from (4095.49998,-0.00002) to (4094.99998,0.49998)
  3621. @ transition line 1, from (-4094.99998,0.5) to (-4094.99998,0.5)
  3622. (4095,0)(-4095,0)
  3623. @ Octant WSW (1 offset), from (-4094.99998,0.5) to (-4095.49998,0)
  3624. @ transition line 0, from (-4094.99998,0.5) to (-4094.99998,0.5)
  3625. @ transition line 1, from (-4094.99998,0.5) to (-4095.49998,0)
  3626. (-4095,1)
  3627. @ Octant SSW (0 offsets), from (-4095.49998,0) to (-4095.49998,0)
  3628. @ transition line 1, from (-4095.49998,0) to (-4095.49998,0)
  3629. @ Octant SSE (0 offsets), from (-4095.49998,0) to (-4095.49998,0)
  3630. @ transition line 0, from (-4095.49998,0) to (-4095.49998,0)
  3631. (-4095,0).
  3632.  
  3633. {addto}
  3634. {(picture)shifted((0,257))}
  3635. ! A statement can't begin with `,'.
  3636. <to be read again> 
  3637.                    ,
  3638. l.145 ...o e3 shifted (0,257); ,
  3639.                                 "flushed with pride"; numeric...
  3640. I was looking for the beginning of a new statement.
  3641. If you just proceed without changing anything, I'll ignore
  3642. everything up to the next `;'. Please insert a semicolon
  3643. now in front of anything that you don't want me to delete.
  3644. (See Chapter 27 of The METAFONTbook for an example.)
  3645.  
  3646. ! Extra tokens will be flushed.
  3647. <to be read again> 
  3648.                    ,
  3649. l.145 ...o e3 shifted (0,257); ,
  3650.                                 "flushed with pride"; numeric...
  3651. I've just read as much of that statement as I could fathom,
  3652. so a semicolon should have been next. It's very puzzling...
  3653. but I'll try to get myself back together, by ignoring
  3654. everything up to the next `;'. Please insert a semicolon
  3655. now in front of anything that you don't want me to delete.
  3656. (See Chapter 27 of The METAFONTbook for an example.)
  3657.  
  3658. {numeric}
  3659. {def}
  3660.  
  3661. f(EXPR0)(EXPR1)(EXPR2)->showdependencies;tracingcapsules:=1;showdependen
  3662. cies;show1/3(3,6)*(((EXPR0)+(EXPR1))+((EXPR1)-(EXPR0))),(1,1)/sqrt2zscal
  3663. ed((EXPR0)+1,(EXPR0)+2)-((EXPR0)+1,(EXPR0)+2)rotated45,(0,1)zscaled(1,(E
  3664. XPR1)+2)-(1,(EXPR1)+2)rotated90
  3665. {(xx)+(1)}
  3666. {(xx+1)/(0.3)}
  3667. (EXPR0)<-3.3333xx+3.3333
  3668. {(yy)-(1)}
  3669. {(yy-1)/(0.5)}
  3670. (EXPR1)<-2yy-2
  3671. (EXPR2)<-(xx,0)
  3672. {showdependencies}
  3673. alpha=0.45p3~+7
  3674. {tracingcapsules:=1}
  3675. {showdependencies}
  3676. xpart %CAPSULE1740=xx
  3677. %CAPSULE140=2yy-2
  3678. %CAPSULE148 = 3.3333xx+3.3333
  3679. alpha=0.45p3~+7
  3680. {show}
  3681. {(1/3)*((3,6))}
  3682. {(3.3333xx+3.3333)+(2yy-2)}
  3683. {(2yy-2)-(3.3333xx+3.3333)}
  3684. {(linearform)+(linearform)}
  3685. {((1,2))*(4yy-4)}
  3686. >> (4yy-4,8yy-8)
  3687. {sqrt(2)}
  3688. {((1,1))/(1.41422)}
  3689. {(3.3333xx+3.3333)+(1)}
  3690. {(3.3333xx+3.3333)+(2)}
  3691. {((0.7071,0.7071))zscaled((3.3333xx+4.3333,3.3333xx+5.3333))}
  3692. {(3.3333xx+3.3333)+(1)}
  3693. {(3.3333xx+3.3333)+(2)}
  3694. {((3.3333xx+4.3333,3.3333xx+5.3333))rotated(45)}
  3695. {((-0.7071,4.71399xx+6.83531))-((-0.7071,4.71399xx+6.83531))}
  3696. >> (0,0)
  3697. {(2yy-2)+(2)}
  3698. {((0,1))zscaled((1,2yy))}
  3699. {(2yy-2)+(2)}
  3700. {((1,2yy))rotated(90)}
  3701. {((-2yy,1))-((-2yy,1))}
  3702. >> (0,0)
  3703. {(1000)*(o3)}
  3704. {(o1)-(o2)}
  3705. {(4000)*(linearform)}
  3706. {(1000o3)-(linearform)}
  3707. {(4000)*(o2)}
  3708. {(linearform)+(4000o2)}
  3709. {(linearform)+(9)}
  3710. {(0.01)*(o3)}
  3711. {-(0.01o3)}
  3712. {(3)*(ooo)}
  3713. {(-0.01o3)+(3ooo)}
  3714. {begingroup}
  3715. {(o2)+(o4)}
  3716. {(linearform)+(o5)}
  3717. {(linearform)-(20)}
  3718. {(9/10)*(linearform)}
  3719. {(oo)=(linearform)}
  3720. ## oo=0.9o5+0.9o4+0.9o2-18
  3721. {(0.5)*(o2)}
  3722. {(o1)+(0.5o2)}
  3723. {(8/9)*(linearform)}
  3724. {(o5)=(linearform)}
  3725. ## o5=0.44444o2+0.88889o1
  3726. {(o4)=(linearform)}
  3727. ## o4=0.44444o2+0.88889o1
  3728. {(0.0001)*(o2)}
  3729. {-(0.0001o2)}
  3730. {(o6)=(-0.0001o2)}
  3731. ## o6=-0.0001o2
  3732. {showdependencies}
  3733. o6=-0.0001o2
  3734. o4=0.44444o2+0.88889o1
  3735. o5=0.44444o2+0.88889o1
  3736. oo=1.7o2+1.6o1-18
  3737. %CAPSULE1213 = 3ooo-0.01o3
  3738. xpart %CAPSULE1237 = 8000o2-4000o1+1000o3+9
  3739. xpart %CAPSULE150=xpart '
  3740. ypart %CAPSULE150=ypart '
  3741. alpha=0.45p3~+7
  3742. {numeric}
  3743. ### -1.6o1=-oo+1.7o2-18
  3744. ! Arithmetic overflow.
  3745. l.151   numeric o[];
  3746.                     xpart(alfa,[[pair alfa;0]])]])=-2/3[[save...
  3747. Uh, oh. A little while ago one of the quantities that I was
  3748. computing got too large, so I'm afraid your answers will be
  3749. somewhat askew. You'll probably have to adopt different
  3750. tactics next time. But I shall try to carry on anyway.
  3751.  
  3752. ### -3062.5o2*4 = -xpart %CAPSULE1237-2500.00002oo+1000o3-32758.99998
  3753. #### o6=0
  3754. ### -0.04578o3 = -o4+0.44112oo+8.50041
  3755. ### -o4 = -o5
  3756. ### 0.21834o5 = -%CAPSULE1213+0.09631oo+3ooo+1.85596
  3757. {begingroup}
  3758. {pair}
  3759. ### -alfa=-xpart %CAPSULE654
  3760. {endgroup}
  3761. {xpart((xpart %CAPSULE654,0))}
  3762. ### -xpart %CAPSULE17=-%CAPSULE1173
  3763. {endgroup}
  3764. {(%CAPSULE1213)+(%CAPSULE1173)}
  3765. ### -%CAPSULE1213=-%CAPSULE1227+%CAPSULE1173
  3766. ### -%CAPSULE1227=-ypart %CAPSULE1237
  3767. {begingroup}
  3768. {save}
  3769. {(1)-(p$)}
  3770. {restoring p}
  3771. ### p$=-ypart %CAPSULE130+1
  3772. {endgroup}
  3773. {(2/3)*((-ypart %CAPSULE130+1,ypart %CAPSULE130))}
  3774. ### ypart %CAPSULE130=-xpart %CAPSULE130+1
  3775. ### -0.66667xpart %CAPSULE130=-xpart %CAPSULE1199
  3776. {-((xpart %CAPSULE1199,-xpart %CAPSULE1199+0.66667))}
  3777. ### xpart %CAPSULE1199=-xpart %CAPSULE1187
  3778. {((xpart %CAPSULE1237,ypart %CAPSULE1237))=((xpart %CAPSULE1187,-xpart %
  3779. CAPSULE1187-0.66667))}
  3780. ## xpart %CAPSULE1187=-ypart %CAPSULE1237-0.66667
  3781. ## ypart %CAPSULE1237=-xpart %CAPSULE1237-0.66667
  3782. ### -xpart %CAPSULE1237=-xpart %CAPSULE1187
  3783. {((xpart ',ypart '))=((xpart %CAPSULE1187,-xpart %CAPSULE1187-0.66667))}
  3784. ## xpart %CAPSULE1187=-ypart '-0.66667
  3785. ## xpart '=-ypart '-0.66667
  3786. {begingroup}
  3787. {(0.5)*(ooo)}
  3788. {begingroup}
  3789. {numeric}
  3790. ### -ooo=-%CAPSULE1237
  3791. {endgroup}
  3792. {(%CAPSULE1237)+(1)}
  3793. ### -%CAPSULE1237=-%CAPSULE1225+1
  3794. {(1/2)*(%CAPSULE1225)}
  3795. ### -0.5%CAPSULE1225=-%CAPSULE1207
  3796. {-(%CAPSULE1207)}
  3797. ### %CAPSULE1207=-%CAPSULE450
  3798. {(2)*(%CAPSULE450)}
  3799. ### -2%CAPSULE450=-%CAPSULE1195
  3800. {(-0.5%CAPSULE1195-0.5)=(%CAPSULE1195)}
  3801. ## %CAPSULE1195=-0.33333
  3802. {(oo)=(-0.33333)}
  3803. ## oo=-0.33333
  3804. {endgroup}
  3805. {(4000)*(-0.33333)}
  3806. {yoffset:=-1333.31299}
  3807. {xoffset:=-1333.31299}
  3808. {for}
  3809. {sqrt(-1)}
  3810. ! Square root of -1 has been replaced by 0.
  3811. l.153 for @=angle(sqrt$,
  3812.                         mlog$):charext:=uniformdeviate$;charh...
  3813. Since I don't take square roots of negative numbers,
  3814. I'm zeroing this one. Proceed, with fingers crossed.
  3815.  
  3816. {mlog(-1)}
  3817. ! Logarithm of -1 has been replaced by 0.
  3818. l.153 for @=angle(sqrt$,mlog$)
  3819.                               :charext:=uniformdeviate$;charh...
  3820. Since I don't take logs of non-positive numbers,
  3821. I'm zeroing this one. Proceed, with fingers crossed.
  3822.  
  3823. {angle((0,0))}
  3824. ! angle(0,0) is taken as zero.
  3825. l.153 for @=angle(sqrt$,mlog$):
  3826.                                charext:=uniformdeviate$;charh...
  3827. The `angle' between two identical points is undefined.
  3828. I'm zeroing this one. Proceed, with fingers crossed.
  3829.  
  3830. Runaway loop?
  3831. charext:=uniformdeviate$;charht:=2048;granularity:=-8; ETC.
  3832. ! Forbidden token found while scanning the text of a for loop.
  3833. <inserted text> 
  3834.                 endfor
  3835. <to be read again> 
  3836.                    endtext
  3837. l.163 ... showstats; bye endtext
  3838.                                 
  3839. I suspect you have forgotten an `endfor',
  3840. causing me to read past where you wanted me to stop.
  3841. I'll try to recover; but if the error is serious,
  3842. you'd better type `E' or `X' now and fix your file.
  3843.  
  3844. {loop value=0}
  3845. {uniformdeviate(-1)}
  3846. {charext:=-0.00507}
  3847. {charht:=2048}
  3848. {-(8)}
  3849. {granularity:=-8}
  3850. {addto}
  3851. {-(100)}
  3852. {-(99)}
  3853. Path at line 163, before choices:
  3854. (0,-100)..tension 500
  3855.  ..(100,-99)..tension 3000
  3856.  ..cycle
  3857.  
  3858. Path at line 163, after choices:
  3859. (0,-100)..controls (-36.92659,-103.51175) and (136.98943,-101.7726)
  3860.  ..(100,-99)..controls (99.9889,-98.99916) and (0.01108,-99.99895)
  3861.  ..cycle
  3862.  
  3863. Tracing edges at line 163: (weight 1)
  3864. (-3,-101)(-3,-102)(71,-102)(71,-101)(99,-101)(99,-100)(103,-100)
  3865. (103,-99)(48,-99)(48,-100)(-7,-100)(-7,-101).
  3866.  
  3867. {tracingoutput:=0}
  3868. {shipout}
  3869. ! Enormous charht has been reduced.
  3870. <to be read again> 
  3871.                    ;
  3872. <for(0)> ...=(EXPR0);shipout.e3;
  3873.                                 special"bye";interim.char99="...
  3874. <inserted text> endfor
  3875.                       
  3876. <to be read again> 
  3877.                    endtext
  3878. l.163 ... showstats; bye endtext
  3879.                                 
  3880. Font metric dimensions must be less than 2048pt.
  3881.  
  3882. [109]
  3883. {special}
  3884. {interim}
  3885. ! The token `char' isn't an internal quantity.
  3886. <to be read again> 
  3887.                    char
  3888. <for(0)> ...al"bye";interim.char
  3889.                                 99="c";true=false;[[clear(tra...
  3890. <inserted text> endfor
  3891.                       
  3892. <to be read again> 
  3893.                    endtext
  3894. l.163 ... showstats; bye endtext
  3895.                                 
  3896. Something like `tracingonline' should follow `interim'.
  3897.  
  3898. {char(99)}
  3899. {("c")=("c")}
  3900. ! Redundant equation.
  3901. <to be read again> 
  3902.                    ;
  3903. <for(0)> ...;interim.char99="c";
  3904.                                 true=false;[[clear(tracingcom...
  3905. <inserted text> endfor
  3906.                       
  3907. <to be read again> 
  3908.                    endtext
  3909. l.163 ... showstats; bye endtext
  3910.                                 
  3911. I already knew that this equation was true.
  3912. But perhaps no harm has been done; let's continue.
  3913.  
  3914. {true}
  3915. {false}
  3916. {(true)=(false)}
  3917. ! Inconsistent equation.
  3918. <to be read again> 
  3919.                    ;
  3920. <for(0)> ...ar99="c";true=false;
  3921.                                 [[clear(tracingcommands);char...
  3922. <inserted text> endfor
  3923.                       
  3924. <to be read again> 
  3925.                    endtext
  3926. l.163 ... showstats; bye endtext
  3927.                                 
  3928. The equation I just read contradicts what was said before.
  3929. But don't worry; continue and I'll just ignore it.
  3930.  
  3931. {begingroup}
  3932.  
  3933. clear(TEXT0)->interim(TEXT0):=$
  3934. (TEXT0)<-tracingcommands
  3935. {interim}
  3936. {tracingcommands:=-1}
  3937. ! Enormous charht has been reduced.
  3938. <to be read again> 
  3939.                    ;
  3940. <for(0)> ...shipout+nullpicture;
  3941.                                 "careful"for.for=(EXPR0)step2...
  3942. <inserted text> endfor
  3943.                       
  3944. <to be read again> 
  3945.                    endtext
  3946. l.163 ... showstats; bye endtext
  3947.                                 
  3948. Font metric dimensions must be less than 2048pt.
  3949.  
  3950. [0]
  3951. careful METAFONT METAFONT METAFONT METAFONT METAFONT METAFONT METAFONT M
  3952. ETAFONT METAFONT METAFONT METAFONT METAFONT METAFONT METAFONT METAFONT M
  3953. ETAFONT METAFONT METAFONT METAFONT METAFONT METAFONT METAFONT METAFONT M
  3954. ETAFONT METAFONT METAFONT METAFONT
  3955. {restoring tracingcommands=2.1}
  3956. {endgroup}
  3957. {scrollmode}
  3958.  
  3959. {char(31)}
  3960. {("hello again")&("^^_")}
  3961. hello again^^_
  3962. {save}
  3963. ### -0.45p3~=-alpha+7
  3964. {-(0.043)}
  3965. {fillin:=-0.043}
  3966. {def}
  3967. {begingroup}
  3968. {tracingspecs:=1}
  3969. {show}
  3970. {nullpen}
  3971.  
  3972. >> Pen polygon at line 163:
  3973. (0,0)
  3974.  .. cycle
  3975.  
  3976. {makepath(pen)}
  3977.  
  3978. >> Path at line 163:
  3979. (1,-2)..controls (1,-2) and (2,-1)
  3980.  ..(2,-1)..controls (2,-1) and (2.5,0.5)
  3981.  ..(2.5,0.5)..controls (2.5,0.5) and (1,2)
  3982.  ..(1,2)..controls (1,2) and (0,2.5)
  3983.  ..(0,2.5)..controls (0,2.5) and (-1,2)
  3984.  ..(-1,2)..controls (-1,2) and (-2,1)
  3985.  ..(-2,1)..controls (-2,1) and (-2.5,-0.5)
  3986.  ..(-2.5,-0.5)..controls (-2.5,-0.5) and (-1,-2)
  3987.  ..(-1,-2)..controls (-1,-2) and (0,-2.5)
  3988.  ..(0,-2.5)..controls (0,-2.5) and (1,-2)
  3989.  ..cycle
  3990.  
  3991. {(pen)rotated(1)}
  3992. Pen polygon at line 163 (newly created):
  3993. (0.97366,1.51723)
  3994.  .. cycle
  3995.  
  3996. {makepath(pen)}
  3997.  
  3998. >> Path at line 163:
  3999. (0.97366,1.51723)..controls (0.97366,1.51723) and (0.97366,1.51723)
  4000.  ..cycle
  4001.  
  4002. {pencircle}
  4003. {makepath(future pen)}
  4004. Pen polygon at line 163 (newly created):
  4005. (0.5,-0.5)
  4006.  .. (0.5,0.5)
  4007.  .. (-0.5,0.5)
  4008.  .. (-0.5,-0.5)
  4009.  .. cycle
  4010.  
  4011. {(path)rotated(-1)}
  4012.  
  4013. >> Path at line 163:
  4014. (0.4912,-0.50865)..controls (0.4912,-0.50865) and (0.50865,0.4912)
  4015.  ..(0.50865,0.4912)..controls (0.50865,0.4912) and (-0.4912,0.50865)
  4016.  ..(-0.4912,0.50865)..controls (-0.4912,0.50865) and (-0.50865,-0.4912)
  4017.  ..(-0.50865,-0.4912)..controls (-0.50865,-0.4912) and (0.4912,-0.50865)
  4018.  ..cycle
  4019.  
  4020. {addto}
  4021. Path at line 163, before choices:
  4022. (0,2){0,-4096}
  4023.  ..{0,-4096}(0,1){0,-4096}
  4024.  ..{4096,0}(3,0){4096,0}
  4025.  ..{4096,0}(4,0){4096,0}
  4026.  ..{0,-4096}cycle
  4027.  
  4028. Path at line 163, after choices:
  4029. (0,2)..controls (0,1.66667) and (0,1.33333)
  4030.  ..(0,1)..controls (0,-0.20886) and (1.63324,0)
  4031.  ..(3,0)..controls (3.33333,0) and (3.66667,0)
  4032.  ..(4,0)..controls (13.63031,0) and (0,10.64238)
  4033.  ..cycle
  4034.  
  4035. Path at line 163, before choices:
  4036. (0,0)
  4037.  ..(5,2.9)
  4038.  ..(4,3)
  4039.  ..cycle
  4040.  
  4041. Path at line 163, after choices:
  4042. (0,0)..controls (0.9363,-8.0181) and (11.81119,0.07109)
  4043.  ..(5,2.9)..controls (4.68596,3.03043) and (4.33879,3.02028)
  4044.  ..(4,3)..controls (1.86353,2.87216) and (-0.21431,1.83528)
  4045.  ..cycle
  4046.  
  4047. {makepen(path)}
  4048. Pen polygon at line 163 (newly created):
  4049. (5,2.9)
  4050.  .. (4,3)
  4051.  .. (0,0)
  4052.  .. cycle
  4053.  
  4054. Path at line 163, before subdivision into octants:
  4055. (0,2)..controls (0,1.66667) and (0,1.33333)
  4056.  ..(0,1)..controls (0,-0.20886) and (1.63324,0)
  4057.  ..(3,0)..controls (3.33333,0) and (3.66667,0)
  4058.  ..(4,0)..controls (13.63031,0) and (0,10.64238)
  4059.  ..cycle
  4060.  
  4061. Cycle spec at line 163, after subdivision and double autorounding:
  4062. (1.5,0.00272) % beginning in octant `SSE'
  4063.    ..controls (1.5,-0.49254) and (1.63411,-0.82727)
  4064.  ..(1.8592,-1.05237) % segment 1
  4065. % entering octant `ESE'
  4066.    ..controls (2.23936,-1.43253) and (2.87909,-1.5)
  4067.  ..(3.57066,-1.5) % segment 1
  4068. % entering octant `ENE'
  4069.    ..controls (3.95114,-1.5) and (4.3473,-1.47957)
  4070.  ..(4.72458,-1.47957) % segment 1
  4071.    ..controls (5.08287,-1.47957) and (5.44116,-1.47957)
  4072.  ..(5.79944,-1.47957) % segment 2
  4073.    ..controls (7.35368,-1.47957) and (8.34424,-1.12393)
  4074.  ..(8.90538,-0.56279) % segment 3
  4075. % entering octant `NNE'
  4076.    ..controls (9.31982,-0.14835) and (9.5,0.37819)
  4077.  ..(9.5,0.95631) % segment 3
  4078. % entering octant `NNW'
  4079.    ..controls (9.5,2.00116) and (8.61821,3.4318)
  4080.  ..(7.41951,4.6305) % segment 3
  4081. % entering octant `WNW'
  4082.    ..controls (6.32909,5.72092) and (5.11603,6.5)
  4083.  ..(4.2104,6.5) % segment 3
  4084. % entering octant `WSW'
  4085.    ..controls (3.64668,6.5) and (3.12122,6.31134)
  4086.  ..(2.68588,5.876) % segment 3
  4087. % entering octant `SSW'
  4088.    ..controls (1.97163,5.16176) and (1.5,3.78351)
  4089.  ..(1.5,1.485) % segment 3
  4090.    ..controls (1.5,0.99092) and (1.5,0.49681)
  4091.  ..(1.5,0.00272) % segment 0
  4092.  & cycle
  4093.  
  4094. Tracing edges at line 163: (weight 1)
  4095. @ Octant SSE (0 offsets), from (1.5,0.00272) to (1.8592,-1.05237)
  4096. @ transition line 0, from (1.5,0.00272) to (1.5,0.00272)
  4097. (2,0)
  4098. @ Octant ESE (0 offsets), from (1.8592,-1.05237) to (3.57066,-1.5)
  4099. @ transition line 1, from (3.57066,-1.5) to (3.57066,-1.5)
  4100. @ Octant ENE (2 offsets), from (3.57066,-1.5) to (13.90538,2.3372)
  4101. @ transition line 0, from (3.57066,-1.5) to (3.57066,-1.5)
  4102. @ transition line 1, from (8.41534,-0.93503) to (13.41534,1.96497)
  4103. @ transition line 2, from (13.90538,2.3372) to (13.90538,2.3372)
  4104. (2,-1)(9,-1)(9,0)(11,0)(11,1)(13,1)
  4105. @ Octant NNE (0 offsets), from (13.90538,2.3372) to (14.5,3.85631)
  4106. @ transition line 1, from (14.5,3.85631) to (14.5,3.85631)
  4107. (13,2)(14,2)
  4108. @ Octant NNW (0 offsets), from (14.5,3.85631) to (12.41951,7.53049)
  4109. @ transition line 0, from (14.5,3.85631) to (14.5,3.85631)
  4110. (14,6)(13,6)(13,7)(12,7)
  4111. @ Octant WNW (2 offsets), from (12.41951,7.53049) to (8.2104,9.5)
  4112. @ transition line 3, from (12.41951,7.53049) to (12.41951,7.53049)
  4113. @ transition line 2, from (9.38113,9.39124) to (8.38113,9.49124)
  4114. @ transition line 1, from (8.2104,9.5) to (8.2104,9.5)
  4115. (12,8)(11,8)(11,9)(8,9)
  4116. @ Octant WSW (2 offsets), from (8.2104,9.5) to (2.68588,5.876)
  4117. @ transition line 0, from (8.2104,9.5) to (8.2104,9.5)
  4118. @ transition line 1, from (6.92668,9.08539) to (2.92668,6.08539)
  4119. @ transition line 2, from (2.68588,5.876) to (2.68588,5.876)
  4120. (8,10)(8,9)(6,9)(6,8)(5,8)(5,7)(3,7)
  4121. @ Octant SSW (0 offsets), from (2.68588,5.876) to (1.5,0.00272)
  4122. @ transition line 1, from (1.5,0.00272) to (1.5,0.00272)
  4123. (3,6)(2,6)(2,0).
  4124.  
  4125. Path at line 163, before subdivision into octants:
  4126. (0,2)..controls (0,10.64238) and (13.63031,0)
  4127.  ..(4,0)..controls (3.66667,0) and (3.33333,0)
  4128.  ..(3,0)..controls (1.63324,0) and (0,-0.20886)
  4129.  ..(0,1)..controls (0,1.33333) and (0,1.66667)
  4130.  ..cycle
  4131.  
  4132. Cycle spec at line 163, after subdivision and double autorounding:
  4133. (2.68588,5.876) % beginning in octant `ENE'
  4134.    ..controls (3.12122,6.31134) and (3.64668,6.5)
  4135.  ..(4.2104,6.5) % segment 0
  4136. % entering octant `ESE'
  4137.    ..controls (5.11603,6.5) and (6.32909,5.72092)
  4138.  ..(7.41953,4.63048) % segment 0
  4139. % entering octant `SSE'
  4140.    ..controls (8.61824,3.43176) and (9.5,2.00116)
  4141.  ..(9.5,0.95631) % segment 0
  4142. % entering octant `SSW'
  4143.    ..controls (9.5,0.37819) and (9.31982,-0.14835)
  4144.  ..(8.90538,-0.56279) % segment 0
  4145. % entering octant `WSW'
  4146.    ..controls (8.34425,-1.12392) and (7.35368,-1.47957)
  4147.  ..(5.79944,-1.47957) % segment 0
  4148.    ..controls (5.44116,-1.47957) and (5.08287,-1.47957)
  4149.  ..(4.72458,-1.47957) % segment 1
  4150.    ..controls (4.3473,-1.47957) and (3.95114,-1.5)
  4151.  ..(3.57066,-1.5) % segment 2
  4152. % entering octant `WNW'
  4153.    ..controls (2.87909,-1.5) and (2.23936,-1.43253)
  4154.  ..(1.85919,-1.05235) % segment 2
  4155. % entering octant `NNW'
  4156.    ..controls (1.6341,-0.82726) and (1.5,-0.49254)
  4157.  ..(1.5,0.00272) % segment 2
  4158. % entering octant `NNE'
  4159.    ..controls (1.5,0.49681) and (1.5,0.99092)
  4160.  ..(1.5,1.485) % segment 3
  4161.    ..controls (1.5,3.78351) and (1.97165,5.16177)
  4162.  ..(2.68588,5.876) % segment 0
  4163.  & cycle
  4164.  
  4165. Tracing edges at line 163: (weight 1)
  4166. @ Octant ENE (2 offsets), from (7.68588,8.776) to (4.2104,6.5)
  4167. @ retrograde line from (7.68588,8.776) to (2.68588,5.876)
  4168. (7,9)(7,8)(5,8)(5,7)(4,7)
  4169. @ transition line 0, from (2.68588,5.876) to (2.68588,5.876)
  4170. @ transition line 1, from (2.68588,5.876) to (7.68588,8.776)
  4171. @ transition line 2, from (8.13123,9.12088) to (3.13123,6.22089)
  4172. @ transition line 1, from (4.2104,6.5) to (9.2104,9.4)
  4173. @ transition line 2, from (9.2104,9.4) to (9.2104,9.4)
  4174. (4,6)(4,7)(6,7)(6,8)(8,8)
  4175. @ retrograde line from (9.2104,9.4) to (4.2104,6.5)
  4176. (8,9)(8,8)(6,8)
  4177. @ Octant ESE (0 offsets), from (4.2104,6.5) to (7.41953,4.63048)
  4178. @ transition line 1, from (7.41953,4.63048) to (7.41953,4.63048)
  4179. (6,7)(4,7)(4,6)(6,6)
  4180. @ Octant SSE (0 offsets), from (7.41953,4.63048) to (9.5,0.95631)
  4181. @ transition line 0, from (7.41953,4.63048) to (7.41953,4.63048)
  4182. (6,5)(8,5)(8,3)(9,3)
  4183. @ Octant SSW (0 offsets), from (9.5,0.95631) to (8.90538,-0.56279)
  4184. @ transition line 1, from (8.90538,-0.56279) to (8.90538,-0.56279)
  4185. @ Octant WSW (2 offsets), from (8.90538,-0.56279) to (7.57066,1.5)
  4186. @ retrograde line from (8.90538,-0.56279) to (12.90538,2.43721)
  4187. (9,-1)(9,0)(10,0)(10,1)(12,1)
  4188. @ transition line 0, from (12.90538,2.43721) to (12.90538,2.43721)
  4189. @ transition line 1, from (12.90538,2.43721) to (8.90538,-0.56279)
  4190. @ transition line 2, from (8.6665,-0.76936) to (12.6665,2.23064)
  4191. @ transition line 1, from (7.57066,1.5) to (3.57066,-1.5)
  4192. @ transition line 2, from (3.57066,-1.5) to (3.57066,-1.5)
  4193. (12,2)(8,2)(8,1)(6,1)(6,0)(5,0)
  4194. @ retrograde line from (3.57066,-1.5) to (7.57066,1.5)
  4195. (5,-1)(5,0)(6,0)(6,1)(8,1)
  4196. @ Octant WNW (2 offsets), from (7.57066,1.5) to (6.85919,1.84764)
  4197. @ retrograde line from (7.57066,1.5) to (8.57066,1.4)
  4198. (8,2)
  4199. @ transition line 3, from (8.57066,1.4) to (8.57066,1.4)
  4200. @ transition line 2, from (8.57066,1.4) to (7.57066,1.5)
  4201. @ transition line 1, from (6.95764,1.52585) to (7.95764,1.42584)
  4202. @ transition line 2, from (6.85919,1.84764) to (5.85919,1.94765)
  4203. @ transition line 1, from (5.85919,1.94765) to (5.85919,1.94765)
  4204. (8,1)
  4205. @ retrograde line from (5.85919,1.94765) to (6.85919,1.84764)
  4206. @ Octant NNW (0 offsets), from (6.85919,1.84764) to (6.5,2.90271)
  4207. @ transition line 0, from (6.85919,1.84764) to (6.85919,1.84764)
  4208. (8,2)(7,2)
  4209. @ Octant NNE (0 offsets), from (6.5,2.90271) to (7.68588,8.776)
  4210. @ transition line 1, from (7.68588,8.776) to (7.68588,8.776)
  4211. (7,9).
  4212.  
  4213. {tracingonline:=1}
  4214.  
  4215. f<expr>->let)=];let[=(;show._
  4216. (EXPR0)<-xx
  4217. {let}
  4218. {let}
  4219. {show}
  4220. >> _1
  4221. {showdependencies}
  4222. xpart '=-ypart '-0.66667
  4223. {qq:=pen}
  4224. {showstats}
  4225. Memory usage 1476&588 (104 still untouched)
  4226. String usage 39&162 (821&7731 still untouched)
  4227. {[repeat the loop]}
  4228. ! A group begun on line 163 never ended.
  4229. <to be read again> 
  4230.                    endtext
  4231. l.163 ... showstats; bye endtext
  4232.                                 
  4233. I saw a `begingroup' back there that hasn't been matched
  4234. by `endgroup'. So I've inserted `endgroup' now.
  4235.  
  4236. {endgroup}
  4237.  )
  4238. (end occurred when else on line 93 was incomplete)
  4239. (end occurred when if on line 36 was incomplete)
  4240. (end occurred when elseif on line 21 was incomplete) 
  4241. Here is how much of METAFONT's memory you used:
  4242.  66 strings out of 887
  4243.  3753 string characters out of 11484
  4244.  2897 words of memory out of 3001
  4245.  289 symbolic tokens out of 2100
  4246.  8i,43n,14r,8p,167b stack positions out of 30i,100n,300r,150p,500b
  4247.  
  4248. (illegal design size has been changed to 128pt)
  4249. (some chardp values had to be adjusted by as much as 0.5pt)
  4250. (local label 0:: was missing)
  4251. (local label 5:: was missing)
  4252. (4 font metric dimensions had to be decreased) 
  4253. (You used 3w,2h,16d,2i,312l,301k,1e,10p metric file positions
  4254.   out of 256w,16h,16d,64i,5000l,500k,256e,50p)
  4255.  
  4256. Font metrics written on trap.tfm.
  4257. Output written on trap.72270gf (5 characters, 1028 bytes).
  4258.