ntg-context - mailing list for ConTeXt users
 help / color / mirror / Atom feed
* Bug: \textext inside \*MPinclusions causes error
@ 2017-01-11 22:08 Sergey Slyusarev
  2017-01-12  9:06 ` Hans Hagen
  0 siblings, 1 reply; 11+ messages in thread
From: Sergey Slyusarev @ 2017-01-11 22:08 UTC (permalink / raw)
  To: ntg-context


[-- Attachment #1.1: Type: text/plain, Size: 451 bytes --]

Hi, i found the following bug (likely) some time ago:

When \textext (or any other text generating thing like btex etex etc.) is
present inside \*MPinclusions and \*MPinclusions are followed by \*MPcode
ConTeXt returns error:
Equation cannot be performed (color=vacuous).

Minimal example would be:

\startMPinclusions
picture p;
p := image(
draw textext("Foo");
);
\stopMPinclusions
\startMPcode
\stopMPcode

tested on http://live.contextgarden.net/

[-- Attachment #1.2: Type: text/html, Size: 615 bytes --]

[-- Attachment #2: Type: text/plain, Size: 492 bytes --]

___________________________________________________________________________________
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://context.aanhet.net
archive  : https://bitbucket.org/phg/context-mirror/commits/
wiki     : http://contextgarden.net
___________________________________________________________________________________

^ permalink raw reply	[flat|nested] 11+ messages in thread
* Re: Bug: \textext inside \*MPinclusions causes error
@ 2017-01-12 11:23 Sergey Slyusarev
  2017-01-15 17:55 ` Hans Hagen
  0 siblings, 1 reply; 11+ messages in thread
From: Sergey Slyusarev @ 2017-01-12 11:23 UTC (permalink / raw)
  To: ntg-context


[-- Attachment #1.1: Type: text/plain, Size: 792 bytes --]

> you can use
> \startMPinitializations
> \stopMPinitializations
> as these are expanded each graphic run


Thank you! This works fine with minimal example (in which the
behaviour in question appears).
But in specific context in which this problem affects me, this
solution breaks many things:

There are many *MPinclusions with as many MPinstances (so variables
from one instance don't contaminate another).
(here's that place:
https://github.com/jemmybutton/byrne-euclid/blob/master/preamble.tex#L30)

If this is indeed a bug and it's going to be fixed one day, I'll go
with some less invasive hack to overcome it,
but if this behaviour is correct, I'll try to rewrite everything accordingly.

Or I got it wrong and *MPinitializations can substitute for
*MPinclusions in this case?

Sergey

[-- Attachment #1.2: Type: text/html, Size: 1027 bytes --]

[-- Attachment #2: Type: text/plain, Size: 492 bytes --]

___________________________________________________________________________________
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://context.aanhet.net
archive  : https://bitbucket.org/phg/context-mirror/commits/
wiki     : http://contextgarden.net
___________________________________________________________________________________

^ permalink raw reply	[flat|nested] 11+ messages in thread
* Re: Bug: \textext inside \*MPinclusions causes error
@ 2017-01-16 19:31 Sergey Slyusarev
  2017-01-17  8:35 ` Hans Hagen
  0 siblings, 1 reply; 11+ messages in thread
From: Sergey Slyusarev @ 2017-01-16 19:31 UTC (permalink / raw)
  To: ntg-context


[-- Attachment #1.1: Type: text/plain, Size: 1868 bytes --]

> the (subtle) difference between the two [*MPinclusions and **MPinitializations*] is not a bug but a feature

If I understood correctly, *MPinitializations affects everything and
can't be assigned to a specific instance (or can it?),
in some cases (like mine) this difference is not so subtle.

Look at the following example (not so minimal):

\startMPinitializations

picture p;

p := image(

draw fullsquare scaled 1cm;

draw textext("1");

);

\stopMPinitializations

\startMPinitializations

picture s;

s := image(

draw (fullsquare rotated 45) scaled 1cm;

draw textext("2");

);

\stopMPinitializations

\defineMPinstance[foo][initializations=yes]

\startMPcode{foo}

picture q;

q := image(

draw fullcircle scaled 1cm;

draw textext("3");

);

draw q;

\stopMPcode

\startMPcode{foo}

draw p;

draw q shifted (2cm, 0);

draw s shifted (4cm, 0);

\stopMPcode

\defineMPinstance[bar][initializations=yes]

\startMPcode{bar}

picture r;

r := image(

draw fullcircle scaled 1cm;

draw textext("4");

);

draw r;

\stopMPcode

\startMPcode{bar}

draw p;

draw r shifted (2cm, 0);

draw s shifted (4cm, 0);

\stopMPcode


First, it shows why *MPinitializations can't replace *MPinclusions for me
(it affects all instances),

and second, it silently produces produces some really unexpected results:

It looks like it should produce (by line)

A circle with "3" inside (yes)

A square with "1" inside (yes); A circle with "3" inside again (no, instead
it produces circle with "2" inside); A rhombus with "2" inside (no, instead
it produces a rhombus with "1")

and so on.

(tested on http://live.contextgarden.net/)

In fact, I failed to declare picture variable inside with text inside one
*MPcode environment and pass it to another safely

(text either disappears or changes to other text, and this time ConTeXt
returns no error), that surely is a bug?


Sergey

[-- Attachment #1.2: Type: text/html, Size: 4417 bytes --]

[-- Attachment #2: Type: text/plain, Size: 492 bytes --]

___________________________________________________________________________________
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://context.aanhet.net
archive  : https://bitbucket.org/phg/context-mirror/commits/
wiki     : http://contextgarden.net
___________________________________________________________________________________

^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2017-02-14 12:13 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-01-11 22:08 Bug: \textext inside \*MPinclusions causes error Sergey Slyusarev
2017-01-12  9:06 ` Hans Hagen
2017-01-12 16:53   ` Alan Braslau
2017-01-12 11:23 Sergey Slyusarev
2017-01-15 17:55 ` Hans Hagen
2017-01-16 19:31 Sergey Slyusarev
2017-01-17  8:35 ` Hans Hagen
2017-01-21 21:13   ` Sergey Slyusarev
2017-01-22 12:23     ` Hans Hagen
2017-02-13 22:36       ` Sergey Slyusarev
2017-02-14 12:13         ` Hans Hagen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).