From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Giorgos Keramidas Newsgroups: gmane.emacs.devel Subject: Re: display bug for empty lines in recent git snapshot Date: Wed, 17 Nov 2010 21:12:55 +0100 Message-ID: References: <87hbfgfg9v.fsf@member.fsf.org> <838w0rdafd.fsf@gnu.org> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: dough.gmane.org 1290024831 31899 80.91.229.12 (17 Nov 2010 20:13:51 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Wed, 17 Nov 2010 20:13:51 +0000 (UTC) Cc: tassilo@member.fsf.org, emacs-devel@gnu.org To: Eli Zaretskii Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Wed Nov 17 21:13:46 2010 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1PIoO0-0001OY-Hv for ged-emacs-devel@m.gmane.org; Wed, 17 Nov 2010 21:13:44 +0100 Original-Received: from localhost ([127.0.0.1]:55481 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1PIoNz-0003Vb-TH for ged-emacs-devel@m.gmane.org; Wed, 17 Nov 2010 15:13:43 -0500 Original-Received: from [140.186.70.92] (port=44645 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1PIoNt-0003VS-KK for emacs-devel@gnu.org; Wed, 17 Nov 2010 15:13:40 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1PIoNs-0002DR-Eh for emacs-devel@gnu.org; Wed, 17 Nov 2010 15:13:37 -0500 Original-Received: from igloo.linux.gr ([62.1.205.36]:40319) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1PIoNp-0002Bq-0h; Wed, 17 Nov 2010 15:13:33 -0500 X-Hellug-MailScanner-From: keramida@ceid.upatras.gr X-Hellug-MailScanner-SpamCheck: not spam, SpamAssassin (not cached, score=-2.9, required 5, autolearn=not spam, ALL_TRUSTED -1.00, BAYES_00 -1.90) X-Hellug-MailScanner: Found to be clean X-Hellug-MailScanner-ID: oAHKDAGa011608 Original-Received: from gkeramidas-glaptop.linux.gr (217-162-216-74.dclient.hispeed.ch [217.162.216.74]) (authenticated bits=0) by igloo.linux.gr (8.14.3/8.14.3/Debian-9.4) with ESMTP id oAHKDAGa011608 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT); Wed, 17 Nov 2010 22:13:17 +0200 In-Reply-To: <838w0rdafd.fsf@gnu.org> (Eli Zaretskii's message of "Wed, 17 Nov 2010 21:20:22 +0200") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.0.50 (gnu/linux) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 2) X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:132798 Archived-At: Excellent! This fixes the bug here. Thank you :) On Wed, 17 Nov 2010 21:20:22 +0200, Eli Zaretskii wrote: >> That's ok. I daily build new snapshots, and this is a very minor detail >> that doesn't have any serious consequences to the actual *data* of the >> buffer. When you have a fix in the works, please feel free to forward >> me the patch for testing. > > I think I fixed this now, patch below. > > === modified file 'src/ChangeLog' > --- src/ChangeLog 2010-11-17 15:12:02 +0000 > +++ src/ChangeLog 2010-11-17 19:15:24 +0000 > @@ -1,3 +1,8 @@ > +2010-11-17 Eli Zaretskii > + > + * xdisp.c (set_cursor_from_row): Fix cursor positioning in empty > + lines on text-mode terminals. (bug#7417) > + > 2010-11-17 Stefan Monnier > > * xterm.c (get_current_wm_state): Rename from get_current_vm_state. > > === modified file 'src/xdisp.c' > --- src/xdisp.c 2010-11-17 02:37:45 +0000 > +++ src/xdisp.c 2010-11-17 19:15:24 +0000 > @@ -12839,6 +12839,15 @@ set_cursor_from_row (struct window *w, s > && BUFFERP (glyph->object) && glyph->charpos == pt_old) > && bpos_covered < pt_old) > { > + /* An empty line has a single glyph whose OBJECT is zero and > + whose CHARPOS is the position of a newline on that line. > + Note that on a TTY, there are more glyphs after that, which > + were produced by extend_face_to_end_of_line, but their > + CHARPOS is zero or negative. */ > + int empty_line_p = > + (row->reversed_p ? glyph > glyphs_end : glyph < glyphs_end) > + && INTEGERP (glyph->object) && glyph->charpos > 0; > + > if (row->ends_in_ellipsis_p && pos_after == last_pos) > { > EMACS_INT ellipsis_pos; > @@ -12875,6 +12884,7 @@ set_cursor_from_row (struct window *w, s > || (row->truncated_on_right_p && pt_old > bpos_max) > /* Zero-width characters produce no glyphs. */ > || (!string_seen > + && !empty_line_p > && (row->reversed_p > ? glyph_after > glyphs_end > : glyph_after < glyphs_end)))