Good People --

I seem to be the only person asking questions these days. Apologies twice for taking so much of your time, because I'm going to start with a lecture.

NisusWriter macros allow two binary Boolean operators, AND (&&) and OR (||). AND is true if both statements it operates on are true; OR is true if either one is true.

If we have two statements, A and B, each of which evaluates as either true or false, it follows that

If A is false, then A && B is false, no matter what the value of B

If A is true, then A || B is true, no matter what the value of B

Here is the reason I bring this up. Different programming languages have different ways of evaluating A && B and A || B. Some programming languages first evaluate both, and only then evaluate the result. Others test A and evaluate from there -- that is, if the statement is A && B, they test A, and if A is false, they return false and don't evaluate B (because they know the result will be false). If the statement is A || B, and A is true, they return true and don't evaluate B.

So my question is, Which one is the NisusWriter macro language? The macro reference does not appear to say. But this

**matters**. Here's a real world example (a simplified version of what I'm working on)

Code: Select all

```
If ( $MyVariable.length > 0 ) && ( $MyVariable.characterAtIndex(1) == 'x' )
Prompt "You xxed it!"
Else
Prompt "You must supply an answer"
End If
```

So does anyone know which evaluation method the macro language uses?

Thanks for any insight. I can write around either version, but I'd like to do things the easier way... whatever it is.