Description

I've come across an error which has the potential to accidently introduce incorrect information into the OSM database. When editing a tag text field of an existing object, attempting to insert new text anywhere within the existing text causes the text cursor to jump to the end of the text, causing what you're adding to the field to be added to the end and not where you intentionally placed the cursor. I hope i've explained this clearly enough! I'll elaborate if need be.

Change History (7)

Confirmed. There is some seriously funky behaviour going on there. In particular, take this sequence of events:
1) Create a 'highway=zzz' tag, press enter (just to set a known starting state)
2) Enter the 'zzz' part, and move the cursor the start.
3) Press 'a' three times, producing "aaazzz".
4) On the third press, the cursor jumps to the end, as described in this bug report.

All kinds of bizarre stuff happens under the surface on the first three presses that is hidden due to code that tries to suppress it. For example, on the first press, the code thinks the drop down box has opened (it hasn't) and selected the first entry (bridleway). The second press and the zeroth behave "normally". The third, for reasons I don't yet understand, behaves as if you had just selected an entry from the drop down (which was never open): moving the cursor to the end is the correct behaviour in that case.

Another closely related undesirable behaviour is that when you enter short key values (seems to happen sometimes for lengths 0, 1, 2), you instead get the first value from the autocorrect lookup (ie, "bridleway" if the key is "highway"). Haven't narrowed down the cause yet.