Subject: bug#22715: 25.0.91; Point randomly jumps during key entry

From: Steve Revilak <[email-masked]>
Date: Thu, 18 Feb 2016 21:22:40 -0500

Thanks, Eli and Andreas, for your suggestions.

I began by collecting `view-lossage' after several instances of
point-jumping.  Here is a representative example:

      > [self-insert-command]
      SPC [self-insert-command]
      a [self-insert-command]
      l [self-insert-command]
      l [self-insert-command]
      R [self-insert-command]
      e [self-insert-command]
      q [self-insert-command]
      u [self-insert-command]
      e [self-insert-command]
      s [self-insert-command]  <<< HERE
      t [self-insert-command]
      I [self-insert-command]
      M-x [execute-extended-command]
      v [self-insert-command]
      i [self-insert-command]
      e [self-insert-command]
      w [self-insert-command]
      - [self-insert-command]
      l [self-insert-command]
      o [self-insert-command]
      <tab> [minibuffer-complete]
      <return> [minibuffer-complete-and-exit]

I'd been typing on line 494 of a .java file.  The characters "stI"
ended up on line 464.  I don't see any unexpected characters in
view-lossage; the characters that appear are those I actually typed.

Next, I tried to reproduce this behavior in a "almost emacs -Q"
configuration, which was

   emacs -q --no-site-file --no-site-lisp --no-splash

and the smallest ~/.emacs I could get away with.  I was not able to
reproduce the point-jumping behavior in this configuration.

Looking through the emacs-devel archives, I came across

   https://lists.gnu.org/archive/html/emacs-devel/2015-11/msg01687.html

which describes behavior nearly identical to what I've observed.

A later post suggests a patch

   https://lists.gnu.org/archive/html/emacs-devel/2016-01/msg00029.html

and another suggests that point-jumping might be related to timers

   https://lists.gnu.org/archive/html/emacs-devel/2015-11/msg02127.html

As an experiment, I went back to my "normal emacs", but with a few
lines in ~/.emacs commented out:

   ;(semantic-mode 1)
   ;(semantic-stickyfunc-mode t)

I also commented out `setq' definitions for
semanticdb-default-save-directory and semanticdb-project-roots.  With
those elements commented out, I couldn't reproduce the point-jumping
behavior.  (I'll continue to test in this configuration, to be more
certain that the non-reproduce isn't just a coincidence.)

If it would help, I can restore the aforementioned `semantic' pieces,
and see if I can correlate point-jumping with specific timer events.
I can also try the save-excursion patch in
https://lists.gnu.org/archive/html/emacs-devel/2016-01/msg00029.html.

Finally, 

   https://lists.gnu.org/archive/html/emacs-devel/2016-01/msg00031.html

suggests this might be related to Bug #15045.

Steve