Re: [tw5] Re: Understanding how macro expansion works

2020-12-16 Thread Sylvain Naudin
Good evening, I take the liberty of picking up this thread, I think you might be able to help me. In my quest to make the colour of the favicon in SVG format customizable, I'm coming up with this simple macro for now: \define favi(color) http://www.w3.org/2000/svg; width="144.798"

Re: [tw5] Re: Understanding how macro expansion works

2020-12-02 Thread Mohammad
Thanks Nico! On Wednesday, December 2, 2020 at 11:59:51 AM UTC+3:30 Nicolas Petton wrote: > Mohammad writes: > > Hi Mohammad, > > > Welcome back. > > Thanks :) > > > Off topic: > > > > I know your Project Manager plugin and more specific the Notebook > > theme and palette

Re: [tw5] Re: Understanding how macro expansion works

2020-12-02 Thread Nicolas Petton
Mohammad writes: Hi Mohammad, > Welcome back. Thanks :) > Off topic: > > I know your Project Manager plugin and more specific the Notebook > theme and palette (https://nicolas.petton.fr/tw/project-manager.html) have > a lot of fans! You may put the code on GitHub lets user send their issue

[tw5] Re: Understanding how macro expansion works

2020-12-01 Thread Mohammad
Hi Nico Welcome back. While you got a very good explanations from experts, I may suggest to have https://kookma.github.io/TW-Scripts/ as collection of solutions always may give you some direction. Off topic: I know your Project Manager Manager plugin and more specific the Notebook theme

Re: [tw5] Re: Understanding how macro expansion works

2020-12-01 Thread Saq Imtiaz
Hi Nico, I think it would be good to document how macro expansion works in > different contexts (or maybe it is documented but I missed it?). > I think the information is there but spread out in several places, like "macros in wikitext" and "widget attributes". So it can be difficult to grasp

Re: [tw5] Re: Understanding how macro expansion works

2020-12-01 Thread Nicolas Petton
Eric Shulman writes: Hi Eric, > Other than those two actions, the macro contents are simply "returned" for > further processing in the calling context. It is this context which > determines what happens next. If the macro occurs within wikitext (your > first example), then the macro call

Re: [tw5] Re: Understanding how macro expansion works

2020-12-01 Thread Nicolas Petton
Saq Imtiaz writes: Hi Saq, > When you use variable widget attributes (or indirect attributes via > references), the value of the variable is fetched/transcluded and that > literal value is assigned to the attribute. There is no further > wikify/rendering step. > > The difference is in

[tw5] Re: Understanding how macro expansion works

2020-12-01 Thread Eric Shulman
On Tuesday, December 1, 2020 at 4:12:00 AM UTC-8 Nicolas Petton wrote: > I would expect macros to be expanded recursively, before any parsing is > done on the string. It seems to be mostly the case, but I do not > understand the following. > > If I define & use macros as > \define foo() 42 >

[tw5] Re: Understanding how macro expansion works

2020-12-01 Thread Saq Imtiaz
> > If I define & use macros as > > \define foo() 42 > > \define bar() <> > > <> > > The expansion works as I'm expecting it to, and the output is > > 42 > Macros only do text substitution and then transclude the resultant string. So the macro <> returns <> but the entire string is then