I was compiling the following code which uses the tikz-uml package.
\documentclass{article}
%\usepackage{pgf}
%\usepackage{tikz}
\usepackage{tikz-uml}
\begin{document}
\begin{tikzpicture}
\begin{umlseqdiag}
\umlobject{a}
\begin{umlcall}{a}{a}
\begin{umlcall}{a}{a} % line 11
\end{umlcall} % line 12
\end{umlcall}
\end{umlseqdiag}
\end{tikzpicture}
\end{document}
It compiles on one machine without any problems.
However, on another one, it gives an error.
Both machines use Windows 7 64-bit, MikTeX 2.9 64-bit.
Error message:
! Extra \or.
\ifthenelse #1->\toks@ {#1}\TE@repl \or
\TE@or \TE@repl \and \TE@and \TE@rep...
l.12 \end{umlcall}
I'm ignoring this; it doesn't match any \if.
Anyone knows the reason for it and how to resolve it?
I know it's due to an umlcall environment inside another one.
It's actually enough to uncomment lines 11 and 12 to make the error disappear, but the result is not the same obiously.
The problem doesn't depend on including PGF or TikZ packages, nor on defining inputenc or fontenc.
It doesn't depend on the fact that the a object calls itself neither.
EDIT 1:
I was mistaken, the code that I tested and that worked on other machine was actually a bit different (precisely: everything inside the tikzpicture environment was a part of a bigger file).
The solution is to add \usepackage[language]{babel} in the preamble.
But why does the documentation not say anything about it...?
EDIT 2: The wanted result is:

umlobjects. – Curdeius Feb 16 '12 at 17:38!from the image link. Users with edit privileges will correct this. Regardless, we'd like to keep answers separate from questions, so you should write a separate answer instead of editing your answer into the question. Self-answers are perfectly admissible, and a well-written answer may earn you additional reputation. – Werner Feb 16 '12 at 22:43