On 2013–08–24 Hans Hagen wrote: > startplaincompatibity ; > > label("first", origin); > > pair laboff.foo ; laboff.foo := (.5,-1) ; > labxf.foo := labyf.foo := 1 ; > > label.foo("second", origin); > > stopplaincompatibity ;
Brilliant! Thanks a lot. A few things: 1) Can you replace def useplainlabels = let label = plain_label ; let thelabel = plain_thelabel ; enddef ; with def useplainlabels = def label = plain_label enddef ; def thelabel = plain_thelabel enddef ; enddef ; The minimal example works with your version, but the old MetaPost code does not. The def variant works fine with both. 2) Replace startplaincompatibity → startplaincompatibility stopplaincompatibity → stopplaincompatibility 3) This one is truly optional and just a suggestion for a better interface. Although it's nice to have the grouping in start-stopplaincompatibility, it's not required here, since the entire MetaPost instance runs in plain compatibility mode. It would be nice to either have a non-grouped command: def plaincompatibility = scantokens plain_compatibity_data ; enddef ; Or maybe even a higher-level switch: \defineMPinstance [fun-with-old-MP] [metafun] [compatibility=plain] %% default* | plain > As I wouldn't be surprised if there were more differences we need > to handle. We will find out if things break. Marco
signature.asc
Description: Digital signature
___________________________________________________________________________________ If your question is of interest to others as well, please add an entry to the Wiki! maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context webpage : http://www.pragma-ade.nl / http://tex.aanhet.net archive : http://foundry.supelec.fr/projects/contextrev/ wiki : http://contextgarden.net ___________________________________________________________________________________