You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Migrated from SourceForge
Author: *anonymous
Timestamp: 2011-08-10 10:07:16
When calling a method on an object created using the PGF OO module, one level of grouping is stripped from the argument by the caller, causing problems if the argument contains a parenthesis. That is to say, calling `\obj.method({arg()})` *ought* to protect the inner `()` and pass `arg()` to the method. It doesn't, because of how `\pgfoo@caller` passes its arguments to the next call. To get round this, `pgfoo@caller` could protect the third argument when it passes it on to the next command:
Migrated from SourceForge
Author: tantau
Timestamp: 2013-07-19 13:17:57.346000
I fixed this in the CVS, even though it actually breaks some of the datavisualization code, which depended on the stripping behaviour. However, I also fixed that and, I agree, that the call should not strip the braces.
Migrated from SourceForge
Author: *anonymous
Timestamp: 2011-08-10 10:07:16
When calling a method on an object created using the PGF OO module, one level of grouping is stripped from the argument by the caller, causing problems if the argument contains a parenthesis. That is to say, calling `\obj.method({arg()})` *ought* to protect the inner `()` and pass `arg()` to the method. It doesn't, because of how `\pgfoo@caller` passes its arguments to the next call. To get round this, `pgfoo@caller` could protect the third argument when it passes it on to the next command:
\def\pgfoo@caller#1.#2(#3){%
\def\pgf@marshal{%
\pgfoothis@count=#1\relax%
\csname pgfooY\csname pgfooX\the\pgfoothis@count @Class\endcsname.#2\endcsname({#3})%
}%
\expandafter\pgf@marshal\expandafter\pgfoothis@count\the\pgfoothis@count\relax%
}
But I don't know if this would break anything else.
The text was updated successfully, but these errors were encountered: