* 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.