The completion command picks the current word (rather, gets the current word from textmate), looks that up and completes based on that. In this case, since - and/or : are not considered word characters, a label such as "here-is-a-label", if we are at "here- is", will be completed as if it as only showing the "is" part. So TM passes to the completion command the word "is", gets back the label "here-is-a-label", and inserts it in place of "is", resulting in "here-here-is-a-label". The quick fix from your side is to go to Textmate -> Preferences -> Text Editing, and add whatever characters you need in "Word Characters" box. You gain proper completion in this case, but you lose alt+left/right moving you through each part.
I see. The whole point of using the colon was, of course, the ability to navigate quickly via alt+left/right within the label/citation (e. g. to fix something or so). It's a pity the fix is difficult, autocompletion really rocks and has improved my workflow a lot. Now I just stop short of the first colon, but the list is usually not short (I'm into mathematical physics, so I have to label sections, theorems, formulas, etc.), so it would be nice to have. But if it's just not possible with the current methods, I guess we have to wait for the programmer to add what we want and need ...
But in any case, thanks for the explanation. And I know now that this is a pet peeve of others as well and not just myself :-)
However, Ctrl+left/right should still do the right thing.
Huh? Ctrl+left/right switches spaces on my system.
Max