On 8/24/2013 2:31 PM, Marco Patzer wrote:
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.

ok

2) Replace

   startplaincompatibity  →  startplaincompatibility
    stopplaincompatibity  →  stopplaincompatibility

ok, best check the next beta well (i might have missed some)

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 ;

due to the way grouping works in mp it doesn't hurt to have it and by using it we can avoid a push/pop stack after all in the end we want to go back to the metafun labels

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.

maybe later

We will find out if things break.

indeed

Hans

-----------------------------------------------------------------
                                          Hans Hagen | PRAGMA ADE
              Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
    tel: 038 477 53 69 | voip: 087 875 68 74 | www.pragma-ade.com
                                             | www.pragma-pod.nl
-----------------------------------------------------------------
___________________________________________________________________________________
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
___________________________________________________________________________________

Reply via email to