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
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...

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:



but this doesn't:

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

it worked

-- JonHaupt

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