Am 04.10.2011 um 23:17 schrieb Meer, H. van der:


On 4 okt. 2011, at 20:44, Wolfgang Schuster wrote:


Am 04.10.2011 um 20:37 schrieb Aditya Mahajan:

On Tue, 4 Oct 2011, Meer, H. van der wrote:

I find that "abc \doifmode{mode}{text} more text" can introduce extra whitespace. I conclude therefore that there is no \ignorespaces at work here. As a consequence the \doifmode does not completely disappear if mode is not satisfied.
Is this intentional or should this behaviour be changed?

Can you provide a minimal example. I don't get any extra spaces

\enablemode[test]
\starttext
A\doifmode{test}{B}C

A\doifmode{notest}{B}C
\stoptext

There is a unwanted space in the second paragraph.

I dare voicing a different opinion. Allthough there indeed is both a space before the \doifmode as well as after it, I am aware of that but that is besides my point. I expected the \doifmode to vanish completely when the condition is not met. As is the case, even if the condition is not met it has a measurable effect because of the extra space being typeset.
To be more explicit, my expectations were: A \doifmode{condition-not-met}{B} C resulting in: AC
whereas it becomes: A C.

I guess modes aren’t meant for this but again i can only offer my annotation module.

\usemodule[annotation]

\defineannotation[test][alternative=text]

\starttext

A \test{B} C

\setupannotation[test][alternative=none,next=\ignorespaces]

A \test{B} C

\stoptext

Wolfgang