From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.io/gmane.emacs.gnus.general/26999 Path: main.gmane.org!not-for-mail From: Daniel Pittman Newsgroups: gmane.emacs.gnus.general Subject: Re: Cursor jumps wildly under CVS 11/11 and XEmacs 21.2 Date: 17 Nov 1999 15:08:09 +1100 Organization: Here, there and everywhere... Sender: owner-ding@hpc.uh.edu Message-ID: <873du5221i.fsf@inanna.danann.net> References: <877ljk387z.fsf@inanna.danann.net> <2n3du8a0mx.fsf@tiger.jia.vnet> <871z9sh0of.fsf@inanna.danann.net> NNTP-Posting-Host: coloc-standby.netfonds.no Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: main.gmane.org 1035164102 22307 80.91.224.250 (21 Oct 2002 01:35:02 GMT) X-Complaints-To: usenet@main.gmane.org NNTP-Posting-Date: Mon, 21 Oct 2002 01:35:02 +0000 (UTC) Keywords: buffer, daniel, line, cursor, summary, point, last, xemacs Return-Path: Original-Received: from bart.math.uh.edu (bart.math.uh.edu [129.7.128.48]) by sclp3.sclp.com (8.8.5/8.8.5) with ESMTP id XAA10897 for ; Tue, 16 Nov 1999 23:18:22 -0500 (EST) Original-Received: from sina.hpc.uh.edu (lists@Sina.HPC.UH.EDU [129.7.3.5]) by bart.math.uh.edu (8.9.1/8.9.1) with ESMTP id WAB04017; Tue, 16 Nov 1999 22:18:17 -0600 (CST) Original-Received: by sina.hpc.uh.edu (TLB v0.09a (1.20 tibbs 1996/10/09 22:03:07)); Tue, 16 Nov 1999 22:18:09 -0600 (CST) Original-Received: from sclp3.sclp.com (root@sclp3.sclp.com [204.252.123.139]) by sina.hpc.uh.edu (8.9.3/8.9.3) with ESMTP id WAA26897 for ; Tue, 16 Nov 1999 22:17:53 -0600 (CST) Original-Received: from fw01.osa.com.au (fw01.osa.com.au [203.6.130.130]) by sclp3.sclp.com (8.8.5/8.8.5) with SMTP id XAA10859 for ; Tue, 16 Nov 1999 23:16:52 -0500 (EST) Original-Received: (qmail 16632 invoked by uid 0); 17 Nov 1999 04:16:27 -0000 Original-Received: from redgum.osa.com.au (15.16.33.1) by fw01.osa.com.au with SMTP; 17 Nov 1999 04:16:27 -0000 Original-Received: from inanna.danann.net (inanna.osa.com.au [172.16.33.101]) by redgum.osa.com.au (8.6.9/8.6.9) with ESMTP id PAA00757 for ; Wed, 17 Nov 1999 15:07:40 +1100 Original-Received: by inanna.danann.net (Postfix, from userid 1000) id 9DD005783C; Wed, 17 Nov 1999 15:08:09 +1100 (EST) Original-To: ding@gnus.org In-Reply-To: Daniel Pittman's message of "15 Nov 1999 14:51:44 +1100" X-Homepage: http://danann.net/ Mail-Copies-To: Never X-spies: Albania NORAD counter-intelligence North Korea PLO class struggle Noriega assassination Ron Brown jihad Monica Lewinsky encryption Clinton Ortega fissionable Original-Lines: 80 User-Agent: Gnus/5.070099 (Pterodactyl Gnus v0.99) XEmacs/21.2 (Yoko) Precedence: list X-Majordomo: 1.94.jlt7 Xref: main.gmane.org gmane.emacs.gnus.general:26999 X-Report-Spam: http://spam.gmane.org/gmane.emacs.gnus.general:26999 On 15 Nov 1999, Daniel Pittman wrote: > On 14 Nov 1999, Shenghuo ZHU wrote: > >>>>>>> "Daniel" == Daniel Pittman writes: > > [...] > >> Daniel> The issue is that when you perform an action that advances >> Daniel> the cursor from the second-last item in the summary buffer to >> Daniel> the last item, the cursor will end up thrown six lines >> Daniel> backward. > > [...] > >> This is a re-center problem. >> >> 1. Check `C-h f gnus-summary-recenter', is it an alias for >> `gnus-xmas-summary-recenter'? > > Yes. > >> 2. Are there some special fonts in the summary buffer? I finally have a reproducible case that actually works, as well as the time to have investigated a little. The issue is indeed a font-related one. In a summary buffer where the last article is in a bold font (in my case, replies to one of my messages), and the entry for it is the final line in the summary buffer, the cursor jumps. The problem is that the last line is in bold and thus fractionally taller than the other lines. The recenter function decides that the buffer should show completely and ends up calling 'set-window-start' for position 1. The cursor is placed on the last line in the buffer. This line is fractionally clipped and thus not a valid place for point in the eyes of XEmacs[1]. So, 'set-window-start' moves point to display the requested position (1). Bingo, cursor jumps and irritates me. One fix I found for this issue was to use the optional third argument to 'set-window-start': Optional third arg NOFORCE non-nil inhibits next redisplay from overriding motion of point in order to display at this exact start. This put the cursor on the right article but displayed it in the middle of the screen. That would be sub-optimal in terms of pretty display but very effective in terms of not doing the wrong thing(tm). I may have time in a little to try and actually work out what is going wrong but I am not an XEmacs redisplay guru and so it will likely be a slow process. The one real delta for buffer sizing in my case is that I have '(set-specifier modeline-shadow-thickness 0)' to get flat modelines. This does change the buffer size vs vanilla XEmacs settings somewhat. Daniel Footnotes: [1] If I get the buffer set up and scroll down to that line by hand (down arrow), when the cursor hits the final line, the summary buffer is scrolled. Using the scrollbar to scroll the buffer up without touching point will push the point off the bottom line when the top line is visible. -- The question nowadays is not what makes government work. The question is how do we make it stop. -- P. J. O'Rourke