all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* bug#15973: 24.3.50; Cursor switching brutally several lines at a time with next/previous-line
@ 2013-11-25 14:24 Thierry Volpiatto
  2013-11-25 17:22 ` Eli Zaretskii
  0 siblings, 1 reply; 9+ messages in thread
From: Thierry Volpiatto @ 2013-11-25 14:24 UTC (permalink / raw)
  To: 15973


Hi,
since some days, after working some time in a buffer (undefined), 
when using C-n/p or arrows up/down my cursor is jumping several lines at
a time, sometimes 2 lines sometimes 5 or more, it is undefined.
After killing the buffer the bug disappear, but come back after some
time.




In GNU Emacs 24.3.50.1 (x86_64-unknown-linux-gnu, GTK+ Version 2.24.10)
 of 2013-11-25 on dell-14z
Windowing system distributor `The X.Org Foundation', version 11.0.11103000
System Description:	Ubuntu 12.04.3 LTS

Important settings:
  value of $LC_MONETARY: fr_FR.UTF-8
  value of $LC_NUMERIC: fr_FR.UTF-8
  value of $LC_TIME: fr_FR.UTF-8
  value of $LANG: fr_FR.UTF-8
  locale-coding-system: utf-8-unix
  default enable-multibyte-characters: t

Major mode: Emacs-Lisp

Minor modes in effect:
  diff-auto-refine-mode: t
  global-semanticdb-minor-mode: t
  global-semantic-idle-scheduler-mode: t
  semantic-mode: t
  git-gutter-mode: t
  psession-mode: t
  golden-ratio-mode: t
  winner-mode: t
  global-undo-tree-mode: t
  undo-tree-mode: t
  auto-image-file-mode: t
  eldoc-in-minibuffer-mode: t
  show-paren-mode: t
  display-time-mode: t
  recentf-mode: t
  savehist-mode: t
  eldoc-mode: t
  minibuffer-depth-indicate-mode: t
  helm-mode: t
  helm-descbinds-mode: t
  shell-dirtrack-mode: t
  helm-adaptative-mode: t
  helm-match-plugin-mode: t
  helm-occur-match-plugin-mode: t
  tooltip-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  column-number-mode: t
  line-number-mode: t
  transient-mark-mode: t

Recent input:
<down> s e <down> <down> <down> <down> <down> <down> 
<down> <down> <up> <up> <up> <up> <up> C-SPC C-SPC 
C-SPC C-SPC C-SPC C-SPC C-d y y y y y y C-g M-x <down> 
<down> <return> M-x <return> C-x C-b <return> M-x <down> 
<return> <down> <return> q C-x C-b <down> <return> 
M-x <down> <return> <down> <down> <down> <down> <down> 
<down> <down> <return> C-x C-b <down> <return> C-x 
C-f <left> s a v a s r c <down> <down> <down> <down> 
<down> <down> <down> <down> <down> <down> <down> <down> 
<down> <down> <down> <down> <down> <down> <down> <down> 
<down> <down> <down> <down> <down> <down> <down> <up> 
<up> <up> <up> <up> <return> M-x <return> <down> <down> 
<down> <down> <down> <down> <down> <down> <down> <down> 
<down> <down> <down> <down> <down> <down> <down> <down> 
<down> <down> <down> <down> <down> <down> <down> <down> 
<down> <down> <down> <down> <down> <down> <down> <down> 
<down> <down> <down> <down> <down> <down> <down> <down> 
<down> <down> <down> <down> <down> <down> <down> <down> 
<down> <down> <down> <down> <down> <down> <down> <down> 
<down> <down> <up> <up> <up> <up> <up> <return> q C-x 
C-b <return> <down> <down> <up> <up> <up> <up> <right> 
<right> <right> <right> <right> c a n d i d a t e - 
<left> <left> <left> <left> <left> <left> <left> <left> 
<left> <left> <left> <left> <left> <left> <left> ( 
<right> <right> <right> <right> <right> <right> <right> 
<right> <right> <right> <left> <left> <left> <left> 
<left> <backspace> <backspace> <backspace> <backspace> 
<backspace> <backspace> C-_ C-_ C-_ C-_ C-_ C-_ C-_ 
C-_ C-_ M-_ C-x v u n q M-x <down> <down> <return> 
<down> <down> <down> <down> <down> <down> <down> <down> 
<down> <down> <down> <down> <down> <down> <down> <down> 
<down> <up> <up> <up> <up> <up> <up> <up> <up> <up> 
<up> <up> <up> <up> <down> <down> <down> <up> <up> 
<down> M-x r e p o r t <return>

Recent messages:
Semantic mode enabled
Entering debugger...
Back to top level.
Parsing alloc.c (LL)...done
Entering debugger...
Back to top level.
/home/thierry/labo/helm/helm-semantic.el seems up-to-date.  Revert anyway? (y or n)  n
Entering debugger...
Back to top level.
Debug on Error disabled globally

Load-path shadows:
/usr/local/share/emacs/24.3.50/lisp/gnus/.dir-locals hides ~/elisp/magit/.dir-locals
~/elisp/auctex/lpath hides ~/elisp/emacs-wget/lpath
/usr/local/share/emacs/24.3.50/lisp/emacs-lisp/tq hides ~/elisp/emms/lisp/tq
~/.emacs.d/.gnus hides ~/.emacs.d/emacs-config-laptop/.gnus

Features:
(shadow epa-mail mail-extr emacsbug semantic/tag-write help-mode debug
edebug magit-cherry magit-bisect magit-log-edit log-edit magit-key-mode
magit iswitchb ediff-merg ediff-wind ediff-diff ediff-mult ediff-help
ediff-init ediff-util ediff diff-mode magit-compat gnus-async gnus-ml
nndraft nnmh utf-7 nnimap utf7 nnml nnfolder parse-time netrc
network-stream starttls tls gnus-agent gnus-srvr gnus-score score-mode
nnvirtual gnus-msg gnus-art mm-uu mml2015 mm-view mml-smime smime dig
nntp gnus-cache gnus-dired nnir gnus-sum gnus-group gnus-undo nnmail
mail-source nnoo gnus-start gnus-spec gnus-int gnus-range gnus-win
helm-semantic helm-imenu imenu cus-start cus-load semantic/bovine/c
hideif semantic/bovine/c-by semantic/lex-spp semantic/bovine/gcc
semantic/bovine semantic/analyze semantic/sort semantic/scope
semantic/analyze/fcn semantic/tag-file semantic/db-file data-debug
cedet-files semantic/wisent/python semantic/decorate/include
semantic/db-find semantic/db-ref semantic/decorate/mode
semantic/decorate pulse semantic/dep semantic/wisent/python-wy
semantic/wisent semantic/wisent/wisent semantic/db-mode semantic/db
eieio-base semantic/idle semantic/format ezimage semantic/tag-ls
semantic/find semantic/ctxt semantic/util-modes semantic/util semantic
semantic/tag semantic/lex semantic/fw mode-local cedet helm-command ido
bug-reference add-log sh-script smie executable vc-rcs
slime-xref-browser slime-banner slime-asdf slime-fancy
slime-fontifying-fu slime-package-fu slime-references slime-scratch
slime-presentations slime-fuzzy slime-fancy-trace slime-fancy-inspector
slime-c-p-c slime-editing-commands slime-autodoc slime-parse slime-repl
elp slime-tramp slime hyperspec jka-compr cc-langs cc-mode cc-fonts
cc-guess cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs
vc-hg vc-git naquadah-theme em-unix em-script em-prompt em-ls em-hist
em-pred em-glob em-dirs em-cmpl em-basic em-banner em-alias align-let
git-gutter server persistent-sessions package golden-ratio winner
undo-tree diff image-file newsticker newst-treeview newst-plainview
newst-reader newst-ticker newst-backend xdvi-search preview-latex
tex-site auto-loads pcomplete-extension em-term term disp-table ehelp
electric helm-ipython helm-elisp helm-eval python rx eldoc-eval warnings
whitespace paren time avoid recentf tree-widget savehist smtpmail-async
smtpmail sendmail helm-async iterator simple-call-tree iedit-rect rect
iedit iedit-lib smallurl mm-url gnus gnus-ems nnheader wid-edit
rectangle-utils ledger-config ledger esh-var esh-io esh-cmd esh-opt
esh-ext esh-proc eldoc esh-groups eshell esh-module esh-mode esh-arg
esh-util tv-utils async pcvs vc-cvs pcvs-parse pcvs-info pcvs-defs
pcvs-util ewoc mb-depth cl-info slime-autoloads esh-toggle flymake
no-word htmlize dired-extension emms-mpd-config emms-playlist-limit
emms-volume emms-volume-amixer emms-i18n emms-history emms-score
emms-stream-info emms-metaplaylist-mode emms-bookmarks emms-cue
emms-mode-line-icon emms-browser sort emms-playlist-sort
emms-last-played emms-player-xine emms-player-mpd tq emms-playing-time
emms-lyrics emms-url hl-line emms-tag-editor emms-mark emms-mode-line
emms-cache emms-info-ogginfo emms-info-mp3info emms-playlist-mode
emms-player-vlc emms-player-mplayer emms-info emms-streams later-do
emms-source-playlist emms-source-file emms-player-simple emms-setup emms
emms-compat org-config-thierry ob-sh view mule-util cal-china lunar
solar cal-dst cal-bahai cal-islam cal-hebrew holidays hol-loaddefs appt
diary-lib diary-loaddefs org-element org-rmail org-mhe org-irc org-info
org-gnus org-docview org-bibtex bibtex org-bbdb org-w3m org-agenda
org-annotation-helper addressbook-bookmark message rfc822 mml mml-sec
mm-decode mm-bodies mm-encode mail-parse rfc2231 rfc2047 rfc2045
ietf-drums mailabbrev mail-utils gmm-utils mailheader firefox-protocol
bookmark-firefox-handler bookmark-extensions bookmark pp
init-helm-thierry helm-mode helm-ls-git helm-descbinds helm-ls-hg
helm-files image-dired tramp tramp-compat tramp-loaddefs trampver shell
dired-x dired-aux ffap thingatpt helm-buffers helm-elscreen helm-tags
helm-bookmark helm-adaptative helm-info helm-net browse-url xml url
url-proxy url-privacy url-expand url-methods url-history url-cookie
url-domsuf url-util url-parse url-vars mailcap helm-plugin helm-help
helm-match-plugin helm-grep wgrep-helm wgrep helm-regexp grep
helm-external helm-utils dired compile helm-locate helm vc vc-dispatcher
helm-config helm-aliases epa-file epa derived epg epg-config auth-source
eieio eieio-core gnus-util mm-util mail-prsvr password-cache info
cl-macs gv edmacro kmacro org-crypt org byte-opt bytecomp byte-compile
cconv advice help-fns org-macro org-footnote org-pcomplete pcomplete
org-list org-faces org-entities time-date noutline outline easy-mmode
org-version ob-emacs-lisp ob ob-tangle org-src ob-ref ob-lob ob-table
ob-keys ob-exp ob-comint comint ansi-color ring ob-core ob-eval
org-compat org-macs org-loaddefs format-spec find-func cal-menu easymenu
calendar cal-loaddefs net-utils cl cl-loaddefs cl-lib tooltip ediff-hook
vc-hooks lisp-float-type mwheel x-win x-dnd tool-bar dnd fontset image
regexp-opt fringe tabulated-list newcomment lisp-mode prog-mode register
page menu-bar rfn-eshadow timer select scroll-bar mouse jit-lock
font-lock syntax facemenu font-core frame cham georgian utf-8-lang
misc-lang vietnamese tibetan thai tai-viet lao korean japanese hebrew
greek romanian slovak czech european ethiopic indian cyrillic chinese
case-table epa-hook jka-cmpr-hook help simple abbrev minibuffer nadvice
loaddefs button faces cus-face macroexp files text-properties overlay
sha1 md5 base64 format env code-pages mule custom widget
hashtable-print-readable backquote make-network-process dbusbind
gfilenotify dynamic-setting system-font-setting font-render-setting
move-toolbar gtk x-toolkit x multi-tty emacs)

-- 
Thierry
Get my Gnupg key:
gpg --keyserver pgp.mit.edu --recv-keys 59F29997 





^ permalink raw reply	[flat|nested] 9+ messages in thread

* bug#15973: 24.3.50; Cursor switching brutally several lines at a time with next/previous-line
  2013-11-25 14:24 bug#15973: 24.3.50; Cursor switching brutally several lines at a time with next/previous-line Thierry Volpiatto
@ 2013-11-25 17:22 ` Eli Zaretskii
  2013-11-26  8:27   ` Thierry Volpiatto
  2013-11-26 10:07   ` Thierry Volpiatto
  0 siblings, 2 replies; 9+ messages in thread
From: Eli Zaretskii @ 2013-11-25 17:22 UTC (permalink / raw)
  To: Thierry Volpiatto; +Cc: 15973

> From: Thierry Volpiatto <thierry.volpiatto@gmail.com>
> Date: Mon, 25 Nov 2013 15:24:18 +0100
> 
> since some days, after working some time in a buffer (undefined), 
> when using C-n/p or arrows up/down my cursor is jumping several lines at
> a time, sometimes 2 lines sometimes 5 or more, it is undefined.

Can you try to figure out when this started to appear, or (better)
bisect it?

> After killing the buffer the bug disappear, but come back after some
> time.

I suspect this is related to cache-long-scans being non-nil.  Try
setting it to nil and see if the problem disappears.  If it does, do
try bisecting or finding a reproducible recipe.

Thanks.





^ permalink raw reply	[flat|nested] 9+ messages in thread

* bug#15973: 24.3.50; Cursor switching brutally several lines at a time with next/previous-line
  2013-11-25 17:22 ` Eli Zaretskii
@ 2013-11-26  8:27   ` Thierry Volpiatto
  2013-11-26 17:03     ` Eli Zaretskii
  2013-11-26 10:07   ` Thierry Volpiatto
  1 sibling, 1 reply; 9+ messages in thread
From: Thierry Volpiatto @ 2013-11-26  8:27 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 15973

Eli Zaretskii <eliz@gnu.org> writes:

>> From: Thierry Volpiatto <thierry.volpiatto@gmail.com>
>> Date: Mon, 25 Nov 2013 15:24:18 +0100
>> 
>> since some days, after working some time in a buffer (undefined), 
>> when using C-n/p or arrows up/down my cursor is jumping several lines at
>> a time, sometimes 2 lines sometimes 5 or more, it is undefined.
>
> Can you try to figure out when this started to appear, or (better)
> bisect it?

Not yet.

>> After killing the buffer the bug disappear, but come back after some
>> time.
>
> I suspect this is related to cache-long-scans being non-nil.  Try
> setting it to nil and see if the problem disappears.  If it does, do
> try bisecting or finding a reproducible recipe.

I could reproduce it several times now:

In a emacs repo handled by git:

1) Apply a stash or make some changes.(I use here cl-macs.el)

2) make some more changes, save buffer twice or more.

3) C-x v u (revert changes)

Now in the zone where the changes was, cursor is jumping several lines
when doing C-n/p.

Indeed, if I set cache-long-scans to nil, and reproduce exactly the same recipe,
the bug is not happening.

-- 
Thierry
Get my Gnupg key:
gpg --keyserver pgp.mit.edu --recv-keys 59F29997 





^ permalink raw reply	[flat|nested] 9+ messages in thread

* bug#15973: 24.3.50; Cursor switching brutally several lines at a time with next/previous-line
  2013-11-25 17:22 ` Eli Zaretskii
  2013-11-26  8:27   ` Thierry Volpiatto
@ 2013-11-26 10:07   ` Thierry Volpiatto
  1 sibling, 0 replies; 9+ messages in thread
From: Thierry Volpiatto @ 2013-11-26 10:07 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 15973

Eli Zaretskii <eliz@gnu.org> writes:

> Can you try to figure out when this started to appear, or (better)
> bisect it?

Probably this start to happen since:

,----
| commit f56f1e3993fd79240e03666cf8390f489b4a2435
| Author: Eli Zaretskii <eliz@gnu.org>
| Date:   Fri Nov 8 12:21:35 2013 +0200
| 
|     Switch cache-long-scans to t by default.
`----

-- 
Thierry
Get my Gnupg key:
gpg --keyserver pgp.mit.edu --recv-keys 59F29997 





^ permalink raw reply	[flat|nested] 9+ messages in thread

* bug#15973: 24.3.50; Cursor switching brutally several lines at a time with next/previous-line
  2013-11-26  8:27   ` Thierry Volpiatto
@ 2013-11-26 17:03     ` Eli Zaretskii
  2013-11-26 19:08       ` Eli Zaretskii
  2013-11-26 19:10       ` Thierry Volpiatto
  0 siblings, 2 replies; 9+ messages in thread
From: Eli Zaretskii @ 2013-11-26 17:03 UTC (permalink / raw)
  To: Thierry Volpiatto; +Cc: 15973

> From: Thierry Volpiatto <thierry.volpiatto@gmail.com>
> Cc: 15973@debbugs.gnu.org
> Date: Tue, 26 Nov 2013 09:27:48 +0100
> 
> In a emacs repo handled by git:
> 
> 1) Apply a stash or make some changes.(I use here cl-macs.el)

Does it have to be the Emacs repo, or does it happen even with a small
repo with a single file in it?

Also, does it matter in which part of the file you make changes?

> 2) make some more changes, save buffer twice or more.

Why twice or more?  Or do you mean make changes, save, make some more
changes (in a different place?), then save again?

> 3) C-x v u (revert changes)
> 
> Now in the zone where the changes was, cursor is jumping several lines
> when doing C-n/p.
> 
> Indeed, if I set cache-long-scans to nil, and reproduce exactly the same recipe,
> the bug is not happening.

Thanks.





^ permalink raw reply	[flat|nested] 9+ messages in thread

* bug#15973: 24.3.50; Cursor switching brutally several lines at a time with next/previous-line
  2013-11-26 17:03     ` Eli Zaretskii
@ 2013-11-26 19:08       ` Eli Zaretskii
  2013-11-27  6:04         ` Thierry Volpiatto
  2013-11-26 19:10       ` Thierry Volpiatto
  1 sibling, 1 reply; 9+ messages in thread
From: Eli Zaretskii @ 2013-11-26 19:08 UTC (permalink / raw)
  To: thierry.volpiatto; +Cc: 15973

Can you try the patch below?

(FWIW, I couldn't reproduce the problem using something similar to
your recipe, but with bzr instead of git.)

=== modified file 'src/fileio.c'
--- src/fileio.c	2013-11-23 11:32:05 +0000
+++ src/fileio.c	2013-11-26 19:04:33 +0000
@@ -3858,6 +3858,9 @@ by calling `format-decode', which see.  
 	  beg_offset += same_at_start - BEGV_BYTE;
 	  end_offset -= ZV_BYTE - same_at_end;
 
+	  invalidate_buffer_caches (current_buffer,
+				    BYTE_TO_CHAR (same_at_start),
+				    BYTE_TO_CHAR (same_at_end));
 	  del_range_byte (same_at_start, same_at_end, 0);
 	  /* Insert from the file at the proper position.  */
 	  temp = BYTE_TO_CHAR (same_at_start);
@@ -3968,7 +3971,12 @@ by calling `format-decode', which see.  
 	{
 	  /* Truncate the buffer to the size of the file.  */
 	  if (same_at_start != same_at_end)
-	    del_range_byte (same_at_start, same_at_end, 0);
+	    {
+	      invalidate_buffer_caches (current_buffer,
+					BYTE_TO_CHAR (same_at_start),
+					BYTE_TO_CHAR (same_at_end));
+	      del_range_byte (same_at_start, same_at_end, 0);
+	    }
 	  inserted = 0;
 
 	  unbind_to (this_count, Qnil);
@@ -4016,6 +4024,9 @@ by calling `format-decode', which see.  
 
       if (same_at_end != same_at_start)
 	{
+	  invalidate_buffer_caches (current_buffer,
+				    BYTE_TO_CHAR (same_at_start),
+				    BYTE_TO_CHAR (same_at_end));
 	  del_range_byte (same_at_start, same_at_end, 0);
 	  temp = GPT;
 	  eassert (same_at_start == GPT_BYTE);






^ permalink raw reply	[flat|nested] 9+ messages in thread

* bug#15973: 24.3.50; Cursor switching brutally several lines at a time with next/previous-line
  2013-11-26 17:03     ` Eli Zaretskii
  2013-11-26 19:08       ` Eli Zaretskii
@ 2013-11-26 19:10       ` Thierry Volpiatto
  1 sibling, 0 replies; 9+ messages in thread
From: Thierry Volpiatto @ 2013-11-26 19:10 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 15973

Eli Zaretskii <eliz@gnu.org> writes:

> Does it have to be the Emacs repo, or does it happen even with a small
> repo with a single file in it?

No, it happen also in my helm repo, editing helm files, I gave you
cl-macs.el example because this file is available in emacs.

> Also, does it matter in which part of the file you make changes?

I didn't check this, the changes I made were in `cl--loop-handle-accum'
line 1565/2885, so more or less the middle.

> Why twice or more?  Or do you mean make changes, save, make some more
> changes (in a different place?), then save again?

Yes, it is what I meant, but it happen also without this step, just
reverting.
Also it happened also without reverting, only editing, saving and then
it happened.

Now with (setq-default cache-long-scans nil) it is no more happening.

-- 
Thierry
Get my Gnupg key:
gpg --keyserver pgp.mit.edu --recv-keys 59F29997 





^ permalink raw reply	[flat|nested] 9+ messages in thread

* bug#15973: 24.3.50; Cursor switching brutally several lines at a time with next/previous-line
  2013-11-26 19:08       ` Eli Zaretskii
@ 2013-11-27  6:04         ` Thierry Volpiatto
  2013-11-27 16:10           ` Eli Zaretskii
  0 siblings, 1 reply; 9+ messages in thread
From: Thierry Volpiatto @ 2013-11-27  6:04 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 15973

Eli Zaretskii <eliz@gnu.org> writes:

> Can you try the patch below?

Cannot reproduce the bug with your patch applied.

Thanks.

-- 
Thierry
Get my Gnupg key:
gpg --keyserver pgp.mit.edu --recv-keys 59F29997 





^ permalink raw reply	[flat|nested] 9+ messages in thread

* bug#15973: 24.3.50; Cursor switching brutally several lines at a time with next/previous-line
  2013-11-27  6:04         ` Thierry Volpiatto
@ 2013-11-27 16:10           ` Eli Zaretskii
  0 siblings, 0 replies; 9+ messages in thread
From: Eli Zaretskii @ 2013-11-27 16:10 UTC (permalink / raw)
  To: Thierry Volpiatto; +Cc: 15973-done

> From: Thierry Volpiatto <thierry.volpiatto@gmail.com>
> Cc: 15973@debbugs.gnu.org
> Date: Wed, 27 Nov 2013 07:04:50 +0100
> 
> Eli Zaretskii <eliz@gnu.org> writes:
> 
> > Can you try the patch below?
> 
> Cannot reproduce the bug with your patch applied.

Thanks, I installed the changes (trunk revision 115259), and I'm
closing this bug.





^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2013-11-27 16:10 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-11-25 14:24 bug#15973: 24.3.50; Cursor switching brutally several lines at a time with next/previous-line Thierry Volpiatto
2013-11-25 17:22 ` Eli Zaretskii
2013-11-26  8:27   ` Thierry Volpiatto
2013-11-26 17:03     ` Eli Zaretskii
2013-11-26 19:08       ` Eli Zaretskii
2013-11-27  6:04         ` Thierry Volpiatto
2013-11-27 16:10           ` Eli Zaretskii
2013-11-26 19:10       ` Thierry Volpiatto
2013-11-26 10:07   ` Thierry Volpiatto

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.