From fbaf4b2bb7fec1ba72bf646ff65bbb1398478c2a Mon Sep 17 00:00:00 2001
From: Marius <mariausol@gmail.com>
Date: Mon, 17 Oct 2011 13:20:14 +0300
Subject: beta 2011.10.17 10:36

---
 metapost/context/base/metafun.mp   |  7 ++--
 metapost/context/base/metafun.mpii |  4 +--
 metapost/context/base/metafun.mpiv |  2 --
 metapost/context/base/mp-butt.mpii |  2 --
 metapost/context/base/mp-butt.mpiv |  2 --
 metapost/context/base/mp-char.mpii | 38 ++++++++--------------
 metapost/context/base/mp-core.mpii |  4 ---
 metapost/context/base/mp-core.mpiv |  2 --
 metapost/context/base/mp-figs.mpii |  2 --
 metapost/context/base/mp-figs.mpiv |  2 --
 metapost/context/base/mp-form.mpii | 30 ++++-------------
 metapost/context/base/mp-form.mpiv |  4 +++
 metapost/context/base/mp-grid.mpii |  2 +-
 metapost/context/base/mp-grid.mpiv |  2 +-
 metapost/context/base/mp-grph.mpii | 41 ++++++++++-------------
 metapost/context/base/mp-grph.mpiv | 34 +++++++++-----------
 metapost/context/base/mp-mlib.mpiv | 10 +++++-
 metapost/context/base/mp-page.mpii |  6 ++--
 metapost/context/base/mp-page.mpiv | 66 +++++++++++++++++++++++++++++++-------
 metapost/context/base/mp-shap.mpii |  2 --
 metapost/context/base/mp-shap.mpiv |  2 --
 metapost/context/base/mp-spec.mpii |  3 --
 metapost/context/base/mp-step.mpii |  2 --
 metapost/context/base/mp-tool.mpii |  4 ---
 metapost/context/base/mp-tool.mpiv | 30 ++++++++++++-----
 25 files changed, 156 insertions(+), 147 deletions(-)

(limited to 'metapost')

diff --git a/metapost/context/base/metafun.mp b/metapost/context/base/metafun.mp
index 3c72356cf..ae0a6d6fd 100644
--- a/metapost/context/base/metafun.mp
+++ b/metapost/context/base/metafun.mp
@@ -1,5 +1,8 @@
+if known metafunversion : endinput ; fi ;
+
 if known mplib :
-    input metafun.mpiv ;
+    input metafun.mpiv
 else :
-    input metafun.mpii ;
+    input metafun.mpii
 fi ;
+
diff --git a/metapost/context/base/metafun.mpii b/metapost/context/base/metafun.mpii
index 374ad88d0..0de186ed2 100644
--- a/metapost/context/base/metafun.mpii
+++ b/metapost/context/base/metafun.mpii
@@ -41,7 +41,7 @@ input "mp-char.mpii" ;
 input "mp-step.mpii" ;
 input "mp-grph.mpii" ;
 input "mp-figs.mpii" ;
-input "mp-form.mpii" ;
+%%%%% "mp-form.mpii" ;
 input "mp-grid.mpii" ;
 input "mp-func.mpii" ;
 
@@ -62,4 +62,4 @@ def end =
   ; message "" ; message metafunversion ; message "" ; normalend ;
 enddef ;
 
-dump ; endinput .
+dump ;
diff --git a/metapost/context/base/metafun.mpiv b/metapost/context/base/metafun.mpiv
index 13dcc85c8..8466e1d83 100644
--- a/metapost/context/base/metafun.mpiv
+++ b/metapost/context/base/metafun.mpiv
@@ -52,5 +52,3 @@ def end =
 enddef ;
 
 dump ; % obsolete in mplib
-
-endinput
diff --git a/metapost/context/base/mp-butt.mpii b/metapost/context/base/mp-butt.mpii
index a3599b7c0..5c1edd42e 100644
--- a/metapost/context/base/mp-butt.mpii
+++ b/metapost/context/base/mp-butt.mpii
@@ -75,5 +75,3 @@ def predefinedbutton (expr button_type, button_size, button_linecolor, button_fi
 enddef ;
 
 let some_button = predefinedbutton
-
-endinput ;
diff --git a/metapost/context/base/mp-butt.mpiv b/metapost/context/base/mp-butt.mpiv
index a3599b7c0..5c1edd42e 100644
--- a/metapost/context/base/mp-butt.mpiv
+++ b/metapost/context/base/mp-butt.mpiv
@@ -75,5 +75,3 @@ def predefinedbutton (expr button_type, button_size, button_linecolor, button_fi
 enddef ;
 
 let some_button = predefinedbutton
-
-endinput ;
diff --git a/metapost/context/base/mp-char.mpii b/metapost/context/base/mp-char.mpii
index 788099f2c..5e7a31c50 100644
--- a/metapost/context/base/mp-char.mpii
+++ b/metapost/context/base/mp-char.mpii
@@ -991,28 +991,16 @@ def end_sub_chart =
   endgroup ;
 enddef ;
 
-%D done
-
-endinput ;
-
-%D testing
-
-show_shapes(100) ;
-
-end
-
-%D more testing
-
-show_connections ;
-
-begin_chart (1,4,5) ;
- %clip_chart(1,1,1,2) ;
-  new_shape (1,1,31) ;
-  new_shape (1,2,3) ;
-  new_shape (4,4,5) ;
-  connect_top_left   (1,1,0) (4,4,0) ;
-  connect_bottom_top (1,2,0) (4,4,0) ;
-  connect_left_right (1,2,0) (1,1,0) ;
-end_chart ;
-
-end
+% show_shapes(100) ;
+%
+% show_connections ;
+%
+% begin_chart (1,4,5) ;
+%  %clip_chart(1,1,1,2) ;
+%   new_shape (1,1,31) ;
+%   new_shape (1,2,3) ;
+%   new_shape (4,4,5) ;
+%   connect_top_left   (1,1,0) (4,4,0) ;
+%   connect_bottom_top (1,2,0) (4,4,0) ;
+%   connect_left_right (1,2,0) (1,1,0) ;
+% end_chart ;
diff --git a/metapost/context/base/mp-core.mpii b/metapost/context/base/mp-core.mpii
index 4d28cfd17..c07f0976f 100644
--- a/metapost/context/base/mp-core.mpii
+++ b/metapost/context/base/mp-core.mpii
@@ -1375,10 +1375,6 @@ def ProcessSyncTask(expr p, c) =
   fill p withcolor c ;
 enddef ;
 
-endinput ;
-
-end
-
 % for Jelle Huisman
 %
 % \setupcolors[state=start]
diff --git a/metapost/context/base/mp-core.mpiv b/metapost/context/base/mp-core.mpiv
index 1297802e9..6613c5703 100644
--- a/metapost/context/base/mp-core.mpiv
+++ b/metapost/context/base/mp-core.mpiv
@@ -1334,5 +1334,3 @@ enddef ;
 def ProcessSyncTask(expr p, c) =
     fill p withcolor c ;
 enddef ;
-
-endinput ;
diff --git a/metapost/context/base/mp-figs.mpii b/metapost/context/base/mp-figs.mpii
index c90dc3971..aecdc07e7 100644
--- a/metapost/context/base/mp-figs.mpii
+++ b/metapost/context/base/mp-figs.mpii
@@ -45,5 +45,3 @@ let figuredimensions = figuresize ; % for old times sake
 def naturalfigure(expr name) =
     externalfigure name xyscaled(figuresize(name))
 enddef ;
-
-endinput
diff --git a/metapost/context/base/mp-figs.mpiv b/metapost/context/base/mp-figs.mpiv
index c90dc3971..aecdc07e7 100644
--- a/metapost/context/base/mp-figs.mpiv
+++ b/metapost/context/base/mp-figs.mpiv
@@ -45,5 +45,3 @@ let figuredimensions = figuresize ; % for old times sake
 def naturalfigure(expr name) =
     externalfigure name xyscaled(figuresize(name))
 enddef ;
-
-endinput
diff --git a/metapost/context/base/mp-form.mpii b/metapost/context/base/mp-form.mpii
index 60ea4cac2..d1dac32db 100644
--- a/metapost/context/base/mp-form.mpii
+++ b/metapost/context/base/mp-form.mpii
@@ -15,31 +15,15 @@
 
 boolean mant_font ; mant_font := true ; % signals graph not to load form
 
-if known mplib :
-    boolean fmt_loaded ; fmt_loaded := true ;
-    expandafter endinput
-fi ;
-
-if   known fmt_loaded : expandafter endinput fi ;
-   boolean fmt_loaded ; fmt_loaded := true ;
+if known context_form : endinput ; fi ;
 
-if unknown fmt_precision :
-   numeric fmt_precision ; fmt_precision := 3 ;
-fi ;
-
-if unknown fmt_initialize :
-   boolean fmt_initialize ; fmt_initialize := true ;
-fi ;
-
-if unknown fmt_separator :
-    string fmt_separator ; fmt_separator := "%" ;
-fi ;
-
-if unknown fmt_zerocheck :
-   boolean fmt_zerocheck ; fmt_zerocheck := false ;
-fi ;
+boolean context_form ; context_form := true ;
 
-boolean fmt_metapost ; fmt_metapost := true ; % == use old method
+if unknown fmt_metapost   : boolean fmt_metapost   ; fmt_metapost   := true  ; fi ; % == use old method
+if unknown fmt_precision  : numeric fmt_precision  ; fmt_precision  := 3     ; fi ;
+if unknown fmt_initialize : boolean fmt_initialize ; fmt_initialize := true  ; fi ;
+if unknown fmt_separator  : string  fmt_separator  ; fmt_separator  := "%"   ; fi ;
+if unknown fmt_zerocheck  : boolean fmt_zerocheck  ; fmt_zerocheck  := false ; fi ;
 
 % As said, all clever code is from John, the more stupid
 % extensions are mine. The following string variables are
diff --git a/metapost/context/base/mp-form.mpiv b/metapost/context/base/mp-form.mpiv
index 8a7ceac16..07b8087e2 100644
--- a/metapost/context/base/mp-form.mpiv
+++ b/metapost/context/base/mp-form.mpiv
@@ -14,6 +14,10 @@
 % The graph package will be replaced by our own variant using
 % MetaPost 2 features and textext.
 
+if known context_form : endinput ; fi ;
+
+boolean context_form ; context_form := true ;
+
 % The following function accept a number or string that can be
 % converted to a number by \LUA. The first argument is a format
 % where @ can be used instead of %. The number is typeset in math
diff --git a/metapost/context/base/mp-grid.mpii b/metapost/context/base/mp-grid.mpii
index bfc8dfed6..c49fbeec2 100644
--- a/metapost/context/base/mp-grid.mpii
+++ b/metapost/context/base/mp-grid.mpii
@@ -22,7 +22,7 @@ numeric fmt_precision  ; fmt_precision  := 3 ;
 boolean fmt_initialize ; fmt_initialize := false ;
 boolean fmt_zerocheck  ; fmt_zerocheck  := true ;
 
-if unknown fmt_loaded : input mp-form ; fi ;
+if unknown fmt_loaded : input "mp-form.mpii" ; fi ;
 
 boolean fmt_pictures ; fmt_pictures := true ;
 
diff --git a/metapost/context/base/mp-grid.mpiv b/metapost/context/base/mp-grid.mpiv
index 6cb98466e..e7420e4f6 100644
--- a/metapost/context/base/mp-grid.mpiv
+++ b/metapost/context/base/mp-grid.mpiv
@@ -22,7 +22,7 @@ numeric fmt_precision  ; fmt_precision  := 3 ;
 boolean fmt_initialize ; fmt_initialize := false ;
 boolean fmt_zerocheck  ; fmt_zerocheck  := true ;
 
-if unknown fmt_loaded : input mp-form ; fi ;
+if unknown fmt_loaded : input "mp-form.mpiv" ; fi ;
 
 boolean fmt_pictures ; fmt_pictures := true ;
 
diff --git a/metapost/context/base/mp-grph.mpii b/metapost/context/base/mp-grph.mpii
index 18183304c..148d9834a 100644
--- a/metapost/context/base/mp-grph.mpii
+++ b/metapost/context/base/mp-grph.mpii
@@ -290,28 +290,21 @@ def graphictextdirective text t =
   graphictextstring := graphictextstring & t & CRLF ;
 enddef ;
 
-endinput
-
 % example
-
-input mp-grph ;
-
-  graphictextformat := "context" ;
-% graphictextformat := "plain" ;
-% graphictextformat := "latex" ; graphictextdirective "\documentclass[]{article}" ;
-
-beginfig (1) ;
-  graphictext
-    "\vbox{\hsize10cm \input tufte }"
-    scaled 8
-    withdrawcolor blue
-    withfillcolor red
-    withpen pencircle scaled 2pt ;
-endfig ;
-
-beginfig(1) ;
-  loadfigure "gracht.mp" rotated 20 ;
-  loadfigure "koe.mp" number 1 scaled 2 ;
-endfig ;
-
-end
+%
+% % graphictextformat := "context" ;
+% % graphictextformat := "plain" ;
+%
+% beginfig (1) ;
+%   graphictext
+%     "\vbox{\hsize10cm \input tufte }"
+%     scaled 8
+%     withdrawcolor blue
+%     withfillcolor red
+%     withpen pencircle scaled 2pt ;
+% endfig ;
+%
+% beginfig(1) ;
+%   loadfigure "gracht.mp" rotated 20 ;
+%   loadfigure "koe.mp" number 1 scaled 2 ;
+% endfig ;
diff --git a/metapost/context/base/mp-grph.mpiv b/metapost/context/base/mp-grph.mpiv
index 7291103ec..6e450a92a 100644
--- a/metapost/context/base/mp-grph.mpiv
+++ b/metapost/context/base/mp-grph.mpiv
@@ -238,22 +238,20 @@ def mfun_finish_graphic_text text x_op_x =
     endgroup ;
 enddef ;
 
-endinput
-
 % example
-
-beginfig (1) ;
-    graphictext
-        "\vbox{\hsize10cm \input tufte }"
-        scaled 8
-        withdrawcolor blue
-        withfillcolor red
-        withpen pencircle scaled 2pt ;
-endfig ;
-
-beginfig(1) ;
-      loadfigure "gracht.mp" rotated 20 ;
-      loadfigure "koe.mp" number 1 scaled 2 ;
-endfig ;
-
-end
+%
+% beginfig (1) ;
+%     graphictext
+%         "\vbox{\hsize10cm \input tufte }"
+%         scaled 8
+%         withdrawcolor blue
+%         withfillcolor red
+%         withpen pencircle scaled 2pt ;
+% endfig ;
+%
+% beginfig(1) ;
+%       loadfigure "gracht.mp" rotated 20 ;
+%       loadfigure "koe.mp" number 1 scaled 2 ;
+% endfig ;
+%
+% end
diff --git a/metapost/context/base/mp-mlib.mpiv b/metapost/context/base/mp-mlib.mpiv
index fe27bee47..b0b360cee 100644
--- a/metapost/context/base/mp-mlib.mpiv
+++ b/metapost/context/base/mp-mlib.mpiv
@@ -246,7 +246,7 @@ vardef thetextext@#(expr p,z) =
     fi
 enddef ;
 
-vardef textext@#(expr p) =
+vardef textext@#(expr p) = % no draw hers
     thetextext@#(p,origin)
 enddef ;
 
@@ -262,6 +262,14 @@ def label = % takes two arguments, contrary to textext that takes one
     draw thelabel
 enddef ;
 
+vardef anchored@#(expr p, z) = % beware: no "+ mfun_laboff@#" here (never!)
+    p
+        if (mfun_labtype@# >= 10) :
+            shifted (0,ypart center p)
+        fi
+        shifted (z + (mfun_labxf@#*lrcorner p + mfun_labyf@#*ulcorner p + (1-mfun_labxf@#-mfun_labyf@#)*llcorner p))
+enddef ;
+
 let normalinfont = infont ;
 
 primarydef str infont name = % nasty hack
diff --git a/metapost/context/base/mp-page.mpii b/metapost/context/base/mp-page.mpii
index 52afacd74..c7542a5f9 100644
--- a/metapost/context/base/mp-page.mpii
+++ b/metapost/context/base/mp-page.mpii
@@ -401,6 +401,8 @@ enddef ;
 
 def StartPage =
 
+  begingroup ;
+
   if PageStateAvailable :
     LoadPageState ;
     SwapPageState ;
@@ -415,6 +417,8 @@ def StopPage =
 
   BoundPageAreas ;
 
+  endgroup ;
+
 enddef ;
 
 def OverlayBox =
@@ -653,5 +657,3 @@ def page_marks_add_number(expr width, height, length, offset, n) = % todo: names
     setbounds currentpicture to page ;
 
 enddef ;
-
-endinput ;
diff --git a/metapost/context/base/mp-page.mpiv b/metapost/context/base/mp-page.mpiv
index e9e0be5b0..e33324b0e 100644
--- a/metapost/context/base/mp-page.mpiv
+++ b/metapost/context/base/mp-page.mpiv
@@ -401,31 +401,77 @@ def SetPageAreas =
 enddef ;
 
 def BoundPageAreas =
-
- % pickup pencircle scaled 0pt ;
-
-  bboxmargin := 0 ; setbounds currentpicture to Page ;
-
+    % pickup pencircle scaled 0pt ;
+    bboxmargin := 0 ; setbounds currentpicture to Page ;
 enddef ;
 
 def StartPage =
-
+    begingroup ;
     if PageStateAvailable :
         LoadPageState ;
         SwapPageState ;
     fi ;
-
     SetPageAreas ;
     BoundPageAreas ;
-
 enddef ;
 
 def StopPage =
-
     BoundPageAreas ;
+    endgroup ;
+enddef ;
+
+% cover pages
+
+def BoundCoverAreas =
+    % todo: add cropmarks
+    bboxmargin := 0 ; setbounds currentpicture to Paper enlarged PaperBleed ;
+enddef ;
+
+def SetCoverAreas =
+
+    if unknown SpineWidth :
+        SpineWidth := 8mm ;
+    fi ;
+
+    if unknown PaperBleed :
+        PaperBleed := 0 ;
+    fi ;
+
+    FrontPageWidth  := PaperWidth ;
+    BackPageWidth   := PaperWidth ;
+    PaperWidth      := 2 * PaperWidth + SpineWidth ;
+
+    FrontPageHeight := PaperHeight ;
+    BackPageHeight  := PaperHeight ;
+    PaperHeight     := PaperHeight ;
+    SpineHeight     := PaperHeight ;
+
+    path Paper     ; Paper     := unitsquare xscaled PaperWidth      yscaled PaperHeight ;
+    path Spine     ; Spine     := unitsquare xscaled SpineWidth      yscaled PaperHeight shifted (BackPageWidth,0);
+    path BackPage  ; BackPage  := unitsquare xscaled BackPageWidth   yscaled PaperHeight ;
+    path FrontPage ; FrontPage := unitsquare xscaled FrontPageWidth  yscaled PaperHeight shifted (BackPageWidth+SpineWidth,0) ;
 
 enddef ;
 
+
+def StartCover =
+    begingroup ;
+    if PageStateAvailable :
+        LoadPageState ;
+     %  SwapPageState ;
+    fi ;
+    SetPageAreas ;
+    SetCoverAreas ;
+    BoundCoverAreas ;
+enddef ;
+
+def StopCover =
+    BoundCoverAreas ;
+    endgroup ;
+enddef ;
+
+% overlays:
+
 def OverlayBox =
     (unitsquare xyscaled (OverlayWidth,OverlayHeight))
 enddef ;
@@ -662,5 +708,3 @@ def page_marks_add_number(expr width, height, length, offset, n) = % todo: names
     setbounds currentpicture to page ;
 
 enddef ;
-
-endinput ;
diff --git a/metapost/context/base/mp-shap.mpii b/metapost/context/base/mp-shap.mpii
index a551c4419..291506997 100644
--- a/metapost/context/base/mp-shap.mpii
+++ b/metapost/context/base/mp-shap.mpii
@@ -204,5 +204,3 @@ enddef ;
 
 let drawshape = drawpredefinedshape ;
 let drawline  = drawpredefinedline  ;
-
-endinput ;
diff --git a/metapost/context/base/mp-shap.mpiv b/metapost/context/base/mp-shap.mpiv
index a551c4419..291506997 100644
--- a/metapost/context/base/mp-shap.mpiv
+++ b/metapost/context/base/mp-shap.mpiv
@@ -204,5 +204,3 @@ enddef ;
 
 let drawshape = drawpredefinedshape ;
 let drawline  = drawpredefinedline  ;
-
-endinput ;
diff --git a/metapost/context/base/mp-spec.mpii b/metapost/context/base/mp-spec.mpii
index 25e435edb..7cb960524 100644
--- a/metapost/context/base/mp-spec.mpii
+++ b/metapost/context/base/mp-spec.mpii
@@ -47,7 +47,6 @@
 %D for instance shading. More information can be found in
 %D type {supp-mpe.tex}.
 
-if known mplib        : endinput ; fi ;
 if known context_spec : endinput ; fi ;
 
 boolean context_spec ; context_spec := true ;
@@ -714,8 +713,6 @@ enddef ;
 
 % spotcolor is already scaled
 
-endinput ;
-
 % just an exercise (due to a question by Chof on the context mailing list); scaling of
 % 'special' colors is not possible and the next solution is incomplete (spot colors,
 % transparency, etc); watch the the tricky chained macro construction
diff --git a/metapost/context/base/mp-step.mpii b/metapost/context/base/mp-step.mpii
index ad6f7bde0..a8d0df8e0 100644
--- a/metapost/context/base/mp-step.mpii
+++ b/metapost/context/base/mp-step.mpii
@@ -166,8 +166,6 @@ vardef get_step_table_line (expr i) =
   fi
 enddef ;
 
-endinput
-
 %D The older method let \METAPOST\ do the typesetting. The
 %D macros needed for that are included here for educational
 %D purposes.
diff --git a/metapost/context/base/mp-tool.mpii b/metapost/context/base/mp-tool.mpii
index 7b46c4725..96932d58a 100644
--- a/metapost/context/base/mp-tool.mpii
+++ b/metapost/context/base/mp-tool.mpii
@@ -2562,7 +2562,3 @@ primarydef p snapped s =
   fi ; )
   p
 enddef ;
-
-% done
-
-endinput ;
diff --git a/metapost/context/base/mp-tool.mpiv b/metapost/context/base/mp-tool.mpiv
index 04d987c8d..79110e752 100644
--- a/metapost/context/base/mp-tool.mpiv
+++ b/metapost/context/base/mp-tool.mpiv
@@ -507,7 +507,7 @@ bcircle = origin -- (-.5,0) & (-.5,0) {down}  .. (0,-.5) .. {up}    (+.5,0) -- c
 lcircle = origin -- (0,+.5) & (0,+.5) {left}  .. (-.5,0) .. {right} (0,-.5) -- cycle ;
 rcircle = origin -- (0,-.5) & (0,-.5) {right} .. (+.5,0) .. {left}  (0,+.5) -- cycle ;
 
-path urtriangle, ultriangle, lltriangle, lrtriangle ;
+path urtriangle, ultriangle, lltriangle, lrtriangle ; % watch out: it's contrary to what you expect and starts in the origin
 
 urtriangle := origin -- (+.5,0) -- (0,+.5) -- cycle ;
 ultriangle := origin -- (0,+.5) -- (-.5,0) -- cycle ;
@@ -1106,6 +1106,15 @@ enddef ;
 
 extra_endfig := extra_endfig & " naturalizepaths ; " ;
 
+%D Noce tracer:
+
+def drawboundary primary p =
+    draw p dashed evenly withcolor white ;
+    draw p dashed oddly  withcolor black ;
+    draw (- llcorner p) withpen pencircle scaled 3   withcolor white ;
+    draw (- llcorner p) withpen pencircle scaled 1.5 withcolor black ;
+enddef ;
+
 %D Also handy:
 
 extra_beginfig := extra_beginfig & " truecorners :=  0 ; "   ; % restores
@@ -1793,6 +1802,15 @@ enddef ;
 def [[ = [ [ enddef ; def [[[ = [ [ [ enddef ;
 def ]] = ] ] enddef ; def ]]] = ] ] ] enddef ;
 
+let == = = ;
+
+% added
+
+picture oddly ; % evenly already defined
+
+evenly := dashpattern(on  3 off 3) ;
+oddly  := dashpattern(off 3 on  3) ;
+
 % not perfect, but useful since it removes redundant points.
 
 vardef mfun_straightened(expr sign, p) =
@@ -1871,9 +1889,9 @@ enddef;
 
 % also new
 
-vardef anchored@#(expr p, z) = % maybe use the textext variant
-    p shifted (z + (labxf@#*lrcorner p + labyf@#*ulcorner p + (1-labxf@#-labyf@#)*llcorner p))
-enddef ;
+% vardef anchored@#(expr p, z) = % maybe use the textext variant
+%     p shifted (z + (labxf@#*lrcorner p + labyf@#*ulcorner p + (1-labxf@#-labyf@#)*llcorner p))
+% enddef ;
 
 % epsed(1.2345)
 
@@ -2139,7 +2157,3 @@ primarydef p snapped s =
     )
     p
 enddef ;
-
-% done
-
-endinput ;
-- 
cgit v1.2.3