The attached file shows a bug in 22.0.92. To reproduce, launch "emacs -Q". (The bug is exhibited with or without the "-nw" option.) `find-file' the attached file. Make sure your window is narrow enough that the initial line of `-' characters wraps. Go to the end of the buffer (M->) and do `eval-last-sexp' (C-x C-e). The desired behaviour is that point ends up in the first column of the second line. It in fact ends up in the first column of the third line. You can carry on playing with this: go to the very start of the buffer, and hit C-n --- point moves down two lines instead of one. I looked into this a bit, which is what lead to the attached test-case using only functions implemented in C, but I don't know the C code well enough to dig further I'm afraid. Hope the report is useful nonetheless.