From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Stefan Monnier Newsgroups: gmane.emacs.bugs Subject: bug#31276: 27.0.50; "Spurious" empty first line from before-string Date: Sat, 28 Apr 2018 09:13:18 -0400 Message-ID: References: <83fu3fu0r9.fsf@gnu.org> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: blaine.gmane.org 1524921127 26767 195.159.176.226 (28 Apr 2018 13:12:07 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Sat, 28 Apr 2018 13:12:07 +0000 (UTC) User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) Cc: 31276@debbugs.gnu.org To: Eli Zaretskii Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Sat Apr 28 15:12:03 2018 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fCPdy-0006sJ-RW for geb-bug-gnu-emacs@m.gmane.org; Sat, 28 Apr 2018 15:12:02 +0200 Original-Received: from localhost ([::1]:52151 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fCPg5-0007Nm-QF for geb-bug-gnu-emacs@m.gmane.org; Sat, 28 Apr 2018 09:14:13 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:35339) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fCPfy-0007Jj-4V for bug-gnu-emacs@gnu.org; Sat, 28 Apr 2018 09:14:07 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fCPfu-0000zQ-U9 for bug-gnu-emacs@gnu.org; Sat, 28 Apr 2018 09:14:06 -0400 Original-Received: from debbugs.gnu.org ([208.118.235.43]:33781) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1fCPfu-0000zE-Q5 for bug-gnu-emacs@gnu.org; Sat, 28 Apr 2018 09:14:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1fCPfu-0004vr-EQ for bug-gnu-emacs@gnu.org; Sat, 28 Apr 2018 09:14:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Stefan Monnier Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 28 Apr 2018 13:14:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 31276 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 31276-submit@debbugs.gnu.org id=B31276.152492120318896 (code B ref 31276); Sat, 28 Apr 2018 13:14:02 +0000 Original-Received: (at 31276) by debbugs.gnu.org; 28 Apr 2018 13:13:23 +0000 Original-Received: from localhost ([127.0.0.1]:41678 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fCPfG-0004uh-Uf for submit@debbugs.gnu.org; Sat, 28 Apr 2018 09:13:23 -0400 Original-Received: from chene.dit.umontreal.ca ([132.204.246.20]:32788) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fCPfE-0004uY-CF for 31276@debbugs.gnu.org; Sat, 28 Apr 2018 09:13:21 -0400 Original-Received: from pastel.home (lechon.iro.umontreal.ca [132.204.27.242]) by chene.dit.umontreal.ca (8.14.7/8.14.1) with ESMTP id w3SDDRRx022574; Sat, 28 Apr 2018 09:13:28 -0400 Original-Received: by pastel.home (Postfix, from userid 20848) id 5041A6A1C9; Sat, 28 Apr 2018 09:13:18 -0400 (EDT) In-Reply-To: <83fu3fu0r9.fsf@gnu.org> (Eli Zaretskii's message of "Sat, 28 Apr 2018 12:40:58 +0300") X-NAI-Spam-Flag: NO X-NAI-Spam-Threshold: 5 X-NAI-Spam-Score: 0 X-NAI-Spam-Rules: 2 Rules triggered EDT_SA_DN_PASS=0, RV6274=0 X-NAI-Spam-Version: 2.3.0.9418 : core <6274> : inlines <6596> : streams <1785339> : uri <2633191> 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" Xref: news.gmane.org gmane.emacs.bugs:145801 Archived-At: >> % src/emacs -Q etc/NEWS --eval '(let ((ol (make-overlay (+ (point) 10) >> (+ (point) 10)))) (overlay-put ol (quote before-string) "\nhello\n"))' >> C-u 1 C-v >> You should see that the "scroll by 1 line" didn't actually scroll: it just >> removed the "GNU Emacs " from your sight and left an empty line instead. > After "C-u 1 C-v", type C-p, then type "C-u 1 C-v" again. What do you > see? I see the display go GNU Emacs hello NEWS ... i.e. I get a *really* spurious line. This one is clearly a bug. > Does what you see change your idea about where the bug is? Not really, but it's probably because my idea of "where the bug is" is much too vague. >> Whether you consider this as a bug report or a feature request, my point >> is that when the window starts with a before/after-string and that >> string starts with a line-feed, we should skip that line-feed rather >> than waste a perfectly good line. > I don't understand: are you arguing that we should ignore newlines in > overlay strings when they happen to appear at the beginning of the > window? Not "in" but "at the beginning of", yes. Also I'd probably go with "newline" rather than "newlines", just out of conservatism. > It sounds very strange to me to do so. That was also my first reaction, but redisplay can arguably choose (to some extent) at which line it starts the display, so if you skip some leading newline you still get a valid result. The "to some extent" is because sometimes the redisplay can't really choose (i.e. when window-start has been fixed), but in the current case, even if window-start is fixed there are several possible choices of "first line" to display, so even in that case the result is still valid. > Whoever puts the newlines there does that for a reason, To divide the (previous) line, but not to introduce an empty line. > and I'm sure will object to having them effectively removed in > some situations. I put the newlines there and I definitely would not object. Better yet, I'd report a bug if the newline isn't removed. Stefan