From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: "Stefan-W. Hahn" Newsgroups: gmane.emacs.bugs Subject: bug#22287: 25.1.50; Sudden jumping point in buffer Date: Sun, 3 Jan 2016 21:51:04 +0100 Organization: -no organization- Message-ID: <20160103205104.GB11570@scotty.home> References: <20160101111008.GA14391@scotty.home> <87y4c6nbte.fsf@engster.org> <20160103130742.GA11570@scotty.home> <87twmumzqm.fsf@engster.org> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 X-Trace: ger.gmane.org 1451854342 26964 80.91.229.3 (3 Jan 2016 20:52:22 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sun, 3 Jan 2016 20:52:22 +0000 (UTC) Cc: 22287@debbugs.gnu.org To: David Engster Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Sun Jan 03 21:52:11 2016 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1aFpdK-0007aq-KR for geb-bug-gnu-emacs@m.gmane.org; Sun, 03 Jan 2016 21:52:10 +0100 Original-Received: from localhost ([::1]:42897 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aFpdJ-00050U-FH for geb-bug-gnu-emacs@m.gmane.org; Sun, 03 Jan 2016 15:52:09 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:39659) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aFpdF-0004yk-Dk for bug-gnu-emacs@gnu.org; Sun, 03 Jan 2016 15:52:06 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aFpdC-0003yU-6c for bug-gnu-emacs@gnu.org; Sun, 03 Jan 2016 15:52:05 -0500 Original-Received: from debbugs.gnu.org ([208.118.235.43]:48698) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aFpdC-0003yQ-2v for bug-gnu-emacs@gnu.org; Sun, 03 Jan 2016 15:52:02 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84) (envelope-from ) id 1aFpdB-0005mo-PM for bug-gnu-emacs@gnu.org; Sun, 03 Jan 2016 15:52:01 -0500 X-Loop: help-debbugs@gnu.org Resent-From: "Stefan-W. Hahn" Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 03 Jan 2016 20:52:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 22287 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 22287-submit@debbugs.gnu.org id=B22287.145185427822187 (code B ref 22287); Sun, 03 Jan 2016 20:52:01 +0000 Original-Received: (at 22287) by debbugs.gnu.org; 3 Jan 2016 20:51:18 +0000 Original-Received: from localhost ([127.0.0.1]:36918 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84) (envelope-from ) id 1aFpcU-0005lm-33 for submit@debbugs.gnu.org; Sun, 03 Jan 2016 15:51:18 -0500 Original-Received: from mout.kundenserver.de ([212.227.126.130]:60339) by debbugs.gnu.org with esmtp (Exim 4.84) (envelope-from ) id 1aFpcS-0005lX-JS for 22287@debbugs.gnu.org; Sun, 03 Jan 2016 15:51:17 -0500 Original-Received: from scotty.home ([92.201.100.122]) by mrelayeu.kundenserver.de (mreue002) with ESMTPSA (Nemesis) id 0MQBaV-1aKWZm0xfv-005FIO; Sun, 03 Jan 2016 21:51:05 +0100 Original-Received: from scotty.home (hs@localhost [127.0.0.1]) by scotty.home (8.14.4/8.14.4/Debian-4) with ESMTP id u03Kp4HB019850 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Sun, 3 Jan 2016 21:51:04 +0100 Original-Received: (from hs@localhost) by scotty.home (8.14.4/8.14.4/Submit) id u03Kp4db019847; Sun, 3 Jan 2016 21:51:04 +0100 X-Authentication-Warning: scotty.home: hs set sender to stefan.hahn@s-hahn.de using -f Content-Disposition: inline In-Reply-To: <87twmumzqm.fsf@engster.org> X-Mailer: Mutt http://www.mutt.org/ X-Editor: GNU Emacs http://www.gnu.org/ X-Accept-Language: de en X-Location: Europe, Germany, Wolfenbuettel X-GPG-Public-Key: gpg --keyserver pool.sks-keyservers.net --recv-keys 7A948D9CB5F0706D X-GPG-Fingerprint: 0x7A948D9CB5F0706D / 270E F64C 748A E880 9CB7 3D9B 7A94 8D9C B5F0 706D User-Agent: Mutt/1.5.21 (2010-09-15) X-Virus-Scanned: clamav-milter 0.98.7 at scotty X-Virus-Status: Clean X-Provags-ID: V03:K0:Qbdc8KFssFsIHYuUkfFBUyl9SodooY2wkCCR6eZ8W7vI9qEoxr3 ccfSklHsj6hF4aCJikjd1OV2x3kfJ4S6PkkDPcPvCCe+++/tbsGDR7eJj5wv+zPIXwr9ulX 2I7DNRq5QsXfwiYHfGp8Sijq/qIOe1EJjgdBB2b8qtOnaZK+TZYARkIlmReCvuAy/UCMciN 7cbNiVVfuiY7Src2BfiJw== X-UI-Out-Filterresults: notjunk:1;V01:K0:PusnvCLqKVY=:VdDxjW9xo6AWDOIxbE26WT YfdmbB4lzOt8ZNlDwUqW3IAq+e6B1lCieLAPhs38wZVfnkwMiJ/Bh+kAbYVUOBBR2An0V9OvO o/bncDE1E5M6t/q0znXwmDrJmMgi8Qbd/wvIG4dJdGZwzUcz0IxZRGxnQOeKMCuxIrHii4jM9 7P19Y0MJ1eIhrKVuIyNQpMg9K5Xnu4zEIx90h+s8lAkSvprHb9HDuraUJ7wDvI7xdJvtdOHvV xZu5k3kCpq8K/Ggy4l/DTkiVwrYeEWRS5XFHHcprc2Yz+2rNZ56okF66d5vq+80HfU+RZKJXP Uzze3UDsqA70CrGjKmFLahSSgvFYCZ4nTy3lvLobAAm2aSubPqiuwBZHns1Gl3r8R/QwtG8e1 wsQ8fHA5SMqp1ScPmVeXx8Gm+/tfZ1E3F/vmzRhoQpVZD+8PyOBenvIbKkCcbWkGIQvp68MpQ +o/SsN/wNs49v+6/ZyEguBxwJNtGGrbIbJWdPfGJXZ7iIOOvLj872D4cQ9O3trTKGPSspClnD J/eOcVMdICc4sGk7gXorWlGA2MBrFzMNWI6uILtLFbBP7/LooJ51cJRv+EV66Fm0kMNMxhDn9 c6X3jt5ruRlYi5ufiNxY5E0+Ano/dmAjpFl3JiCWRJvAdhwxsp/sgpxEN6n2K2T6+e4hWJXNZ 3r8iSKyQnBN95lj/AN7yVEZimlHnlq57gmyiXjp6pjWADKIVvMIgNccHRwGiPaJ8X67w= X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 208.118.235.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:111165 Archived-At: Mail von David Engster, Sun, 03 Jan 2016 at 16:47:29 +0100: Hello, > That's interesting. Why do timers run here at all? Since your > 'out:'-Message comes before that, it is clear that this is not because > of `accept-process-output'. I extended semanticdb-save-all-db-idle a little bit and replaced the semantic-exit-on-input macro with its code: ,---- | (defun semanticdb-save-all-db-idle () | "Save all semantic tag databases from idle time. | Exit the save between databases if there is user input." | (semantic-safe "Auto-DB Save: %S" | ;; FIXME: Use `while-no-input'? | ;; (save-excursion | (let ((start (point))) | (setq my-msg t) | (message "*** sem start: buffer %s %d" (buffer-name) (point)) | (let ((semantic-current-input-throw-symbol 'semanticdb-idle-save) | (semantic--on-input-start-marker (point-marker))) | (catch 'semanticdb-idle-save | ;; ,@forms))) | ;;(semantic-exit-on-input 'semanticdb-idle-save | (mapc (lambda (db) | (message "*** sem: buffer %s %d" (buffer-name) (point)) | (when | (and semantic-current-input-throw-symbol | (or | (let | ((pos | (point)) | rc) | (setq rc | (input-pending-p)) | (message "*** input: rc=%s %d %d" rc pos | (point)) | rc) | (let ((pos (point)) | rc) | (with-current-buffer | (marker-buffer semantic--on-input-start-marker) | (save-excursion | (goto-char semantic--on-input-start-marker) | (setq rc (accept-process-output)))) | (message "*** out: rc=%s %d %d" rc pos (point)) | rc))) | (message "throw %d" | (point)) | (throw semantic-current-input-throw-symbol 'semanticdb-idle-save)) | (let ((pos (point))) | (semanticdb-save-db db t) | (if (/= pos (point)) | (message "*** db %s %d->%d" db pos (point))) | )) | semanticdb-database-list) | (message "*** sem end: buffer %s %d->%d" (buffer-name) start (point)) | ) | (message "*** sem end2: buffer %s %d->%d" (buffer-name) start (point)) | (message "*** sem end2: timer %s" timer-list) | (message "*** sem end2: idle-timer %s" timer-idle-list) | (message "*** sem end2: post-command-hook %s" post-command-hook) | (message "*** sem end2: pre-command-hook %s" pre-command-hook) | ) | (setq my-msg nil) | ) | )) `---- This shows: - With my-msg I tried to show running timers inside semantic-exit-on-input. There where just calls to jit-lock-deferred-fontify, but never when jumping point. - point is never moving inside the "catch" ("sem end" has never shown up) - every time point was jumping was with "sem end2" > before calling `accept-process-output'. This here seems to be something > different, in that not Semantic is moving point but some timer (which > does not mean there isn't a bug in Semantic here). > This makes sense as I cannot reproduce it here with > > emacs -Q -f semantic-mode > > I'd suggest that you also start with 'emacs -Q' and activate minor-modes > you're using until you see the bug. Reducing `auto-save-interval' might That was a good hint. I sat it to 20 and it happened more often. When started with emacs -Q I got following minor-modes enabled in "intervals.c" buffer: - abbrev-mode - transient-mark-mode - line-number-mode - auto-compression-mode - auto-encryption-mode - auto-composition-mode - blink-cursor-mode - font-lock-mode - global-font-lock-mode - file-name-shadow-mode - menu-bar-mode - tool-bar-mode - mouse-wheel-mode - electric-indent-mode - global-eldoc-mode - tooltip-mode - semantic-mode - semantic-idle-scheduler-mode - global-semantic-idle-scheduler-mode - global-semanticdb-minor-mode - diff-auto-refine-mode - global-semantic-decoration-mode - semantic-decoration-mode) I tried to shut them off one after another. The minimum set of switched on minor modes where the error happened was: - menu-bar-mode - semantic-mode - semantic-idle-scheduler-mode - global-semantic-idle-scheduler-mode - global-semanticdb-minor-mode) Output of one of moving point errors: ,---- | *** sem start: buffer intervals.c 49510 | *** sem: buffer intervals.c 49510 | *** input: rc=nil 49510 49510 | *** out: rc=nil 49510 49510 | *** sem: buffer intervals.c 49510 | *** input: rc=nil 49510 49510 | *** out: rc=nil 49510 49510 | *** sem: buffer intervals.c 49510 | *** input: rc=nil 49510 49510 | *** out: rc=nil 49510 49510 | *** sem: buffer intervals.c 49510 | *** input: rc=nil 49510 49510 | *** out: rc=nil 49510 49510 | *** sem: buffer intervals.c 49510 | *** input: rc=nil 49510 49510 | *** out: rc=nil 49510 49510 | *** sem: buffer intervals.c 49510 | *** input: rc=nil 49510 49510 | *** out: rc=nil 49510 49510 | *** sem end2: buffer intervals.c 49510->49391 | *** sem end2: timer nil | *** sem end2: idle-timer ([nil 0 1 0 t semantic-idle-scheduler-function nil idle 0] [nil 0 60 0 t semantic-idle-scheduler-work-function nil idle 0]) | *** sem end2: post-command-hook (diff-post-command-hook t) | *** sem end2: pre-command-hook nil `---- When switching semantic-mode off, the error seems not to be reproducible. This should it be for today. With kind regards, Stefan -- Stefan-W. Hahn It is easy to make things. It is hard to make things simple.