00855: Nested variables do not work inside directives.

Summary: Nested variables do not work inside directives.
Created: 2007-01-05 05:50
Status: Closed - fixed for 2.2.0-beta36
Category: Bug
Assigned:
Priority: 54
Version: 2.2.0-beta19-27
OS: MS Windows XP

Description: In this code (trivial example):

test: 123

{{$Fullname}$:test} works...

(:if equal {{$Fullname}$:test} '123' :)
!! This doesn't work
(:if equal {$:test} '123' :)
!! ...and this does...
(:ifend:)

The first if-statement doesn't work in pmwiki 2.2.0-beta19-27 (I also tested in pmwiki.org sandbox), it does work here with beta17. It seems that nested variables in directives aren't processed, only one is replaced with the value, the other won't be interpreted anymore.

Here's the code inline to see the output: (as long as "this doesn't work" doesn't appear below, it doesn't work on this site either)


test: 123

123 works...

This doesn't work

...and this does...


(my first bugreport, hope it's the right way to post)


Correct, this is an annoying problem. I think it is a conditional markup problem, not a page text variable problem, because this works:

{{$FullName}$:test}

123

but this doesn't:

(:if equal {{$FullName}$:test} '123':)
it worked
(:if !equal {{$FullName}$:test} '123':)
it didn't work
(:if:)

it worked

-- JonHaupt


See also
Test.PageTextVariables, Test.PageListWithPgVar, Test.PageListOrderingWithPgVar, Test.Ptv
PITS.00880, PITS.00884