From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Antoine Levitt Newsgroups: gmane.emacs.bugs Subject: bug#9324: 24.0.50; Movement past end of screen causes weird jump Date: Fri, 19 Aug 2011 18:51:21 +0200 Message-ID: <871uwh2vli.fsf@gmail.com> References: <00373C62-5B35-44BB-8770-CC91E8161366@gmail.com> <87bovm5ssx.fsf@gmail.com> <8362ltst7w.fsf@gnu.org> <04093F70-5A0B-4123-8C18-38FAAD2A6DEC@gmail.com> <831uwhsmx7.fsf@gnu.org> <0FDD993E-173A-482A-937B-8DE5E330D4F4@gmail.com> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Trace: dough.gmane.org 1313772727 32583 80.91.229.12 (19 Aug 2011 16:52:07 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Fri, 19 Aug 2011 16:52:07 +0000 (UTC) Cc: 9324@debbugs.gnu.org To: Ivan Andrus Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Fri Aug 19 18:52:03 2011 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([140.186.70.17]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1QuSIc-0005jf-Gn for geb-bug-gnu-emacs@m.gmane.org; Fri, 19 Aug 2011 18:52:02 +0200 Original-Received: from localhost ([::1]:52932 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QuSIc-0007YK-2C for geb-bug-gnu-emacs@m.gmane.org; Fri, 19 Aug 2011 12:52:02 -0400 Original-Received: from eggs.gnu.org ([140.186.70.92]:33253) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QuSIZ-0007Y3-Eo for bug-gnu-emacs@gnu.org; Fri, 19 Aug 2011 12:52:00 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1QuSIX-0001Jk-Dj for bug-gnu-emacs@gnu.org; Fri, 19 Aug 2011 12:51:59 -0400 Original-Received: from debbugs.gnu.org ([140.186.70.43]:42312) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QuSIX-0001JU-C6 for bug-gnu-emacs@gnu.org; Fri, 19 Aug 2011 12:51:57 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.69) (envelope-from ) id 1QuSKY-00035s-8T; Fri, 19 Aug 2011 12:54:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Antoine Levitt Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-To: owner@debbugs.gnu.org Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 19 Aug 2011 16:54:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 9324 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 9324-submit@debbugs.gnu.org id=B9324.131377283311876 (code B ref 9324); Fri, 19 Aug 2011 16:54:02 +0000 Original-Received: (at 9324) by debbugs.gnu.org; 19 Aug 2011 16:53:53 +0000 Original-Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1QuSKO-00035U-Fc for submit@debbugs.gnu.org; Fri, 19 Aug 2011 12:53:52 -0400 Original-Received: from mail-fx0-f44.google.com ([209.85.161.44]) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1QuSKK-00035M-VJ for 9324@debbugs.gnu.org; Fri, 19 Aug 2011 12:53:50 -0400 Original-Received: by fxe6 with SMTP id 6so2093022fxe.3 for <9324@debbugs.gnu.org>; Fri, 19 Aug 2011 09:51:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version:content-type; bh=l0TDPL59XEAsF2yU2RzV37IT2oYHlEaKmn4T2T533DI=; b=Ciftpw1ouIQJ3bajXnze/u0R2cnPJmb9akNy6oZ/2e9e9gGOCbKQmEa8ggjPH9Z1FB Y0t9mlI2UrxQ0eEJVMZj2S73rj7pj8WOQrdPfQFC2mlNd9oKbF89gtzuaypAfQTLCw1j vpY4WkI5HR6iF8sOvRxJo0BAVGuMgZMNV3F20= Original-Received: by 10.223.29.145 with SMTP id q17mr3140274fac.118.1313772702451; Fri, 19 Aug 2011 09:51:42 -0700 (PDT) Original-Received: from lambda ([2a01:e35:2e9d:c6a0:226:5eff:fe55:54d7]) by mx.google.com with ESMTPS id l22sm2704015fam.37.2011.08.19.09.51.33 (version=TLSv1/SSLv3 cipher=OTHER); Fri, 19 Aug 2011 09:51:40 -0700 (PDT) In-Reply-To: <0FDD993E-173A-482A-937B-8DE5E330D4F4@gmail.com> (Ivan Andrus's message of "Fri, 19 Aug 2011 18:19:47 +0200") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.0.50 (gnu/linux) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.11 Precedence: list Resent-Date: Fri, 19 Aug 2011 12:54:02 -0400 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 1) X-Received-From: 140.186.70.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:50158 Archived-At: --=-=-= Content-Type: text/plain 19/08/11 18:19, Ivan Andrus > On Aug 19, 2011, at 12:41 PM, Eli Zaretskii wrote: >>> From: Ivan Andrus >>> Date: Fri, 19 Aug 2011 12:02:58 +0200 >>> Cc: Antoine Levitt , >>> 9324@debbugs.gnu.org >>> >>> I just noticed something. I use `hl-sexp-mode' from >>> http://edward.oconnor.cx/elisp/hl-sexp.el to highlight the current >>> sexp that I am in (or touching if at the top level). This means >>> when point is right after a top level sexp that sexp is >>> highlighted. Immediately after running the forward-sexp the >>> defadvice sexp is highlighted. >> >> Didn't you say that all this happens in "emacs -Q"? Then how come >> hl-sexp happens to be loaded? > > Sorry for the confusion. Of course this doesn't happen with emacs -Q, > only when running it with my .emacs. I just thought it might be > helpful. > >>> Of course, any sort of movement changes the highlighting, but it seems to indicate that: >>> >>> 1. it moves point correctly >>> 2. realizes that it has to recenter >>> 3. recenters the cursor but not the buffer display. >> >> With your original recipe, and without loading hl-sexp in any way, >> what does "C-x =" say about point, after running forward-sexp? > > > Ah. Well today starting from emacs -Q I can't reproduce it. However, > if I load my .emacs I still can't reproduce it in that same emacs. > One difference that I notice today is that after running the progn I > can read the top line namely "208. ..." instead of only the > continuation of that line. I swear it worked yesterday, that is that > I saw the bug in emacs -Q. Different font/frame size settings? > > In case you are interested in what happens in my contaminated emacs, > if I run C-x = after (forward-sexp) then it says a left parenthesis, > but if I use `(progn (forward-sexp)(what-cursor-position))` then it > says the next character is C-j. Furthermore, changing it to (prog2 > (forward-sexp) (what-cursor-position) (redisplay)) causes it to work > properly (i.e. no bug). > > I guess I'm probably on my own on this one, since even I can't > reproduce it reliably in emacs -Q, so what functions that I should > start debugging? As a general rule, if you can reproduce it reliably with your .emacs, you probably want to bisect your .emacs (comment out half your .emacs, seeing if that triggers the bug, and so on until you pinpoint the setting responsible for the bug) FWIW, I now remember I had the very same kind of symptoms editing my .newsrc.eld (very long lines in emacs-lisp mode). I just managed to reproduce it from emacs -Q with highlight-parentheses (http://nschum.de/src/emacs/highlight-parentheses/), so it's probably related to your parentheses highlighting package. If you're interested in debugging this (I have no idea what this overlay stuff does), I'm attaching a minimal-ish test case (an expunged version of my .newsrc.eld): use with emacs -Q -l .emacs.d/lisp/highlight-parentheses.el fake-newsrc.el -e "highlight-parentheses-mode" and then try to move through the repeated sexps with C-M-f. Probably works with hl-sexp too. It's pretty baffling since only thing it does is either add overlays or code protected by save-excursion. --=-=-= Content-Type: application/emacs-lisp Content-Disposition: attachment; filename=fake-newsrc.el Content-Transfer-Encoding: quoted-printable (setq gnus-newsrc-alist '(("nntp+localhost:gwene.com.arcamax.garfield" 3 ((= 1 . 169)) ((seen (1 . 198))) (nntp "localhost"))("nntp+localhost:gwene.com.= arcamax.garfield" 3 ((1 . 169)) ((seen (1 . 198))) (nntp "localhost"))("nnt= p+localhost:gwene.com.arcamax.garfield" 3 ((1 . 169)) ((seen (1 . 198))) (n= ntp "localhost"))("nntp+localhost:gwene.com.arcamax.garfield" 3 ((1 . 169))= ((seen (1 . 198))) (nntp "localhost"))("nntp+localhost:gwene.com.arcamax.g= arfield" 3 ((1 . 169)) ((seen (1 . 198))) (nntp "localhost"))("nntp+localho= st:gwene.com.arcamax.garfield" 3 ((1 . 169)) ((seen (1 . 198))) (nntp "loca= lhost"))("nntp+localhost:gwene.com.arcamax.garfield" 3 ((1 . 169)) ((seen (= 1 . 198))) (nntp "localhost"))("nntp+localhost:gwene.com.arcamax.garfield" = 3 ((1 . 169)) ((seen (1 . 198))) (nntp "localhost"))("nntp+localhost:gwene.= com.arcamax.garfield" 3 ((1 . 169)) ((seen (1 . 198))) (nntp "localhost"))(= "nntp+localhost:gwene.com.arcamax.garfield" 3 ((1 . 169)) ((seen (1 . 198))= ) (nntp "localhost"))("nntp+localhost:gwene.com.arcamax.garfield" 3 ((1 . 1= 69)) ((seen (1 . 198))) (nntp "localhost"))("nntp+localhost:gwene.com.arcam= ax.garfield" 3 ((1 . 169)) ((seen (1 . 198))) (nntp "localhost"))("nntp+loc= alhost:gwene.com.arcamax.garfield" 3 ((1 . 169)) ((seen (1 . 198))) (nntp "= localhost"))("nntp+localhost:gwene.com.arcamax.garfield" 3 ((1 . 169)) ((se= en (1 . 198))) (nntp "localhost"))("nntp+localhost:gwene.com.arcamax.garfie= ld" 3 ((1 . 169)) ((seen (1 . 198))) (nntp "localhost"))("nntp+localhost:gw= ene.com.arcamax.garfield" 3 ((1 . 169)) ((seen (1 . 198))) (nntp "localhost= "))("nntp+localhost:gwene.com.arcamax.garfield" 3 ((1 . 169)) ((seen (1 . 1= 98))) (nntp "localhost"))("nntp+localhost:gwene.com.arcamax.garfield" 3 ((1= . 169)) ((seen (1 . 198))) (nntp "localhost"))("nntp+localhost:gwene.com.a= rcamax.garfield" 3 ((1 . 169)) ((seen (1 . 198))) (nntp "localhost"))("nntp= +localhost:gwene.com.arcamax.garfield" 3 ((1 . 169)) ((seen (1 . 198))) (nn= tp "localhost"))("nntp+localhost:gwene.com.arcamax.garfield" 3 ((1 . 169)) = ((seen (1 . 198))) (nntp "localhost"))("nntp+localhost:gwene.com.arcamax.ga= rfield" 3 ((1 . 169)) ((seen (1 . 198))) (nntp "localhost"))("nntp+localhos= t:gwene.com.arcamax.garfield" 3 ((1 . 169)) ((seen (1 . 198))) (nntp "local= host"))("nntp+localhost:gwene.com.arcamax.garfield" 3 ((1 . 169)) ((seen (1= . 198))) (nntp "localhost"))("nntp+localhost:gwene.com.arcamax.garfield" 3= ((1 . 169)) ((seen (1 . 198))) (nntp "localhost"))("nntp+localhost:gwene.c= om.arcamax.garfield" 3 ((1 . 169)) ((seen (1 . 198))) (nntp "localhost"))("= nntp+localhost:gwene.com.arcamax.garfield" 3 ((1 . 169)) ((seen (1 . 198)))= (nntp "localhost"))("nntp+localhost:gwene.com.arcamax.garfield" 3 ((1 . 16= 9)) ((seen (1 . 198))) (nntp "localhost"))("nntp+localhost:gwene.com.arcama= x.garfield" 3 ((1 . 169)) ((seen (1 . 198))) (nntp "localhost"))("nntp+loca= lhost:gwene.com.arcamax.garfield" 3 ((1 . 169)) ((seen (1 . 198))) (nntp "l= ocalhost"))("nntp+localhost:gwene.com.arcamax.garfield" 3 ((1 . 169)) ((see= n (1 . 198))) (nntp "localhost"))("nntp+localhost:gwene.com.arcamax.garfiel= d" 3 ((1 . 169)) ((seen (1 . 198))) (nntp "localhost"))("nntp+localhost:gwe= ne.com.arcamax.garfield" 3 ((1 . 169)) ((seen (1 . 198))) (nntp "localhost"= ))("nntp+localhost:gwene.com.arcamax.garfield" 3 ((1 . 169)) ((seen (1 . 19= 8))) (nntp "localhost"))("nntp+localhost:gwene.com.arcamax.garfield" 3 ((1 = . 169)) ((seen (1 . 198))) (nntp "localhost"))("nntp+localhost:gwene.com.ar= camax.garfield" 3 ((1 . 169)) ((seen (1 . 198))) (nntp "localhost"))("nntp+= localhost:gwene.com.arcamax.garfield" 3 ((1 . 169)) ((seen (1 . 198))) (nnt= p "localhost"))("nntp+localhost:gwene.com.arcamax.garfield" 3 ((1 . 169)) (= (seen (1 . 198))) (nntp "localhost"))("nntp+localhost:gwene.com.arcamax.gar= field" 3 ((1 . 169)) ((seen (1 . 198))) (nntp "localhost"))("nntp+localhost= :gwene.com.arcamax.garfield" 3 ((1 . 169)) ((seen (1 . 198))) (nntp "localh= ost"))("nntp+localhost:gwene.com.arcamax.garfield" 3 ((1 . 169)) ((seen (1 = . 198))) (nntp "localhost"))("nntp+localhost:gwene.com.arcamax.garfield" 3 = ((1 . 169)) ((seen (1 . 198))) (nntp "localhost"))("nntp+localhost:gwene.co= m.arcamax.garfield" 3 ((1 . 169)) ((seen (1 . 198))) (nntp "localhost"))("n= ntp+localhost:gwene.com.arcamax.garfield" 3 ((1 . 169)) ((seen (1 . 198))) = (nntp "localhost"))("nntp+localhost:gwene.com.arcamax.garfield" 3 ((1 . 169= )) ((seen (1 . 198))) (nntp "localhost"))("nntp+localhost:gwene.com.arcamax= .garfield" 3 ((1 . 169)) ((seen (1 . 198))) (nntp "localhost"))("nntp+local= host:gwene.com.arcamax.garfield" 3 ((1 . 169)) ((seen (1 . 198))) (nntp "lo= calhost"))("nntp+localhost:gwene.com.arcamax.garfield" 3 ((1 . 169)) ((seen= (1 . 198))) (nntp "localhost")))) --=-=-=--