On 2/19/2013 1:37 AM, Mojca Miklavec wrote:
On Mon, Feb 18, 2013 at 5:40 PM, Marco Patzer wrote:
Hi Mojca et al.

todays beta broke the gnuplot module. This is probably due to the
changes in the MP inclusion mechanism.

\usemodule [gnuplot]
\starttext
\stoptext

Here's an almost minimal example:

\def\abc{1cm}

\startMPextensions
a := \abc;
color b;
b := \MPcolor{currentcolor};
\stopMPextensions

\def\abc{3cm}

\starttext
\startcolor[blue]
\startMPcode
fill fullcircle scaled a withcolor b;
\stopMPcode
\stopcolor
\stoptext

The old ConTeXt draws a blue circle with diameter 3cm and the new
ConTeXt draws a black circle with diameter 1cm. Which one is right?
 From a recent message by Hans:

- add mp functionality (immediate expansion)

It seems that ConTeXt now parses everything inside MPextensions
earlier than it did before and I don't have the slightest idea how to
account for this in the module without a major rewrite. In case that
Hans wants to keep the new functionality, I either need [quite some]
help with the module or I'll simply stick to TeX Live 2012 for the
foreseeable future ;)

For the (not texlive) module use:

\defineMPinstance[gnuplot]
  [format=metafun,
   extensions=yes,
   initializations=yes,
   method=double]

\startMPdefinitions[gnuplot] ...

and then use the gnuplot instance. This not only isolates the code, but also gives you floats. It also means that if someone crashes the gnuplot instance, the rest still keeps running.

Definitions are per instance and are delayed i.e. passed via the tex end when they get expanded.

The reason for extensions being immediate (at least for now) is that it was more easy to implement as extensions meant for mp extensions and can be for all instances of specific (sets) of instances.

Sorry for the changes but as we have multiple instances, scale vs double and maybe more coming it's probably worth the trouble.

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