[NTG-context] ! Declared variable conflicts with previous vardef [Metapost]

Henri Menke henrimenke at gmail.com
Thu Jan 3 04:22:06 CET 2019


z is a MetaPost intrinsic, something along the lines of

    vardef z@#=(x@#,y@#) enddef;

so you can't use the same name for a pair.  Actually you can simply
delete the declaration

   pair z[];

from your file and it will work as intended.  If you insist on using
your own declaration of z, then you have to stash away MetaPost's
definition using

   save z; pair z[];

I recommend the former, just delete pair z[];

On 3/01/19 2:43 PM, Fabrice Couvreur wrote:
> Hi,
> I have a problem compiling this file.
> Thanks.
> Fabrice
> 
> ###### test file ################################################
> \starttext
> \setupbodyfont [pagella,9pt]
> \startMPpage[offset=2pt]
>   path p, q, r, b ; pair z[];
>   p  := unitsquare xyscaled (9cm,5cm) ;
>   z[0] = (2cm,0cm) ;
>   z[1] = (2cm,2cm) ;
>   z[2] = (0cm,2cm) ;
>   q := llcorner p--z[0]--z[1]--z[2]--cycle ;
>   r := unitsquare xyscaled (7cm,3cm) shifted(2cm,2cm) ;
>   b := z[2]--z[1]--ulcorner r--urcorner p--lrcorner r--z[1]--z[0]--llcorner
> p--cycle ;
>   draw p ;
>   draw b numberstriped (.25,15,5) withcolor magenta ;
>   label.llft("A", p) ;
>   label.lrt("D", p) ;
>   label.ulft("C", p) ;
>   label.urt("B", p) ;
>   label.lft("M", z[2]) ;
>   label.ulft("N", z[1]) ;
>   label.bot("P", z[0]) ;
>   label.top("J", ulcorner r) ;
>   label.rt("I", lrcorner r) ;
>   label.bot(btex $x$ etex,(llcorner p+z[0])/2);
>   label.lft(btex $x$ etex,(llcorner p+z[2])/2);
> \stopMPpage
> 
> \stoptext
> #############################################################
> ! Declared variable conflicts with previous vardef.
> <to be read again>
> ;
> <*> path p, q, r, b ; pair z[] ;
> z[0] = (2cm,0cm) ; z[1] = (2cm,2cm) ; z[2] ...
> You can't use, e.g., `numeric foo[]' after `vardef foo'.
> Proceed, and I'll ignore the illegal redeclaration.
> 
> 
> ___________________________________________________________________________________
> If your question is of interest to others as well, please add an entry to the Wiki!
> 
> maillist : ntg-context at ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
> webpage  : http://www.pragma-ade.nl / http://context.aanhet.net
> archive  : https://bitbucket.org/phg/context-mirror/commits/
> wiki     : http://contextgarden.net
> ___________________________________________________________________________________
> 



More information about the ntg-context mailing list