How to reproduce:
$ cat > test.txt <<EOF
$ cat > test.vim <<EOF
for i in range(10)
ladd expand('%') . ':1:2:foo'
ladd expand('%') . ':3:3:bar'
ladd expand('%') . ':4:1:baz'
$ vim -u NONE -U NONE -i NONE -N test.txt
Now try to jump to the location in the current list and notice that the
cursor appears at the location from the older list (3:3, though 4:1 is
expected). The same (location is used from the older list) happens
after calling :lolder and :lnewer.
Suspecting that it may be related to :lex , I tried to clear location
list by using setloclist(0, ) and :lgete , but the problem still
I also get this behaviour with quickfix list.
Vim version is 7.3.390.