PITS /
00697: Strange compound conditional behavior
Summary: Strange compound conditional behavior
Created: 2006-03-11 21:19
Status: Closed - not a bug
Category: Bug
From: hartwork
Assigned:
Priority: 3
Version: 2.1.2
OS:
Description:
My experiences with compound conditionals
were quite strange so I wrote some test code:
Compound conditionals
Shouln't all these 6 give One two three?:
-
One (:if true || false:)two(:if:) three
- One two three
-
One (:if false || true:)two(:if:) three
- One three
-
One (:if [false] || [true]:)two(:if:) three
- One two three
-
One (:if [false] || true:)two(:if:) three
- One two three
-
One (:if false || [true]:)two(:if:) three
- One three
-
One (:if [false || true]:)two(:if:) three
- One two three
Nested conditionals
-
(:if false:)(:if true:)This text should never show(:if:)(:if:)
- This text should never show
--hartwork
Some notes on the above:
- Compound conditionals require the use of "expr" or a leading bracket
- Every operator (including brackets) has to be surrounded by spaces
Thus, rewriting the above conditionals:
* One (:if expr true || false:)two(:if:) three * One (:if expr false || true:)two(:if:) three * One (:if expr ( false ) || ( true ):)two(:if:) three * One (:if expr ( false ) || true:)two(:if:) three * One (:if expr false || ( true ):)two(:if:) three * One (:if [ false || true ]:)two(:if:) three |
|
- Nested conditionals appeared in recent 2.2beta series and require
(:if2 cond:)
to be numbered. See ConditionalMarkup for examples.