This bug is caused by the behaviour of gtk_text_iter_backward_word_start. It
searches the text for delimiters, based on languages in pango. Numbers and
characters as | and [ are not considered to be part of a word in most
languages, while they are a part of nicknames. Therefore, empathy fails to get
the typed part of the nickname.
The attached patch will instead search backwards for a space character. The
text that needs to be completed, is the text between the caret and the first
space before that. (#554767)