From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Gregory Heytings via "Bug reports for GNU Emacs, the Swiss army knife of text editors" Newsgroups: gmane.emacs.bugs Subject: bug#43519: 28.0.50; Overlay at end of minibuf hides minibuf's real content Date: Sun, 20 Sep 2020 21:31:21 +0000 Message-ID: References: <83wo0p1twr.fsf@gnu.org> <83r1qx1q9v.fsf@gnu.org> <838sd425l2.fsf@gnu.org> Reply-To: Gregory Heytings Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII; format=flowed Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="34681"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Alpine 2.22 (NEB 394 2020-01-19) Cc: Stefan Monnier , 43519@debbugs.gnu.org To: Eli Zaretskii Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Sun Sep 20 23:32:19 2020 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1kK6wT-0008pe-8Y for geb-bug-gnu-emacs@m.gmane-mx.org; Sun, 20 Sep 2020 23:32:17 +0200 Original-Received: from localhost ([::1]:39556 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kK6wR-0000KW-Qm for geb-bug-gnu-emacs@m.gmane-mx.org; Sun, 20 Sep 2020 17:32:15 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:57458) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kK6wE-0000KB-7s for bug-gnu-emacs@gnu.org; Sun, 20 Sep 2020 17:32:02 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]:41304) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1kK6wD-0002bd-UU for bug-gnu-emacs@gnu.org; Sun, 20 Sep 2020 17:32:01 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1kK6wD-0006gG-S4 for bug-gnu-emacs@gnu.org; Sun, 20 Sep 2020 17:32:01 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Gregory Heytings Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 20 Sep 2020 21:32:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 43519 X-GNU-PR-Package: emacs Original-Received: via spool by 43519-submit@debbugs.gnu.org id=B43519.160063748925628 (code B ref 43519); Sun, 20 Sep 2020 21:32:01 +0000 Original-Received: (at 43519) by debbugs.gnu.org; 20 Sep 2020 21:31:29 +0000 Original-Received: from localhost ([127.0.0.1]:52850 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kK6vg-0006fI-NL for submit@debbugs.gnu.org; Sun, 20 Sep 2020 17:31:28 -0400 Original-Received: from mx.sdf.org ([205.166.94.24]:62798) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kK6ve-0006f8-JQ for 43519@debbugs.gnu.org; Sun, 20 Sep 2020 17:31:27 -0400 Original-Received: from sdf.org (IDENT:ghe@faeroes.freeshell.org [205.166.94.9]) by mx.sdf.org (8.15.2/8.14.5) with ESMTPS id 08KLVOhK028476 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256 bits) verified NO); Sun, 20 Sep 2020 21:31:24 GMT Original-Received: (from ghe@localhost) by sdf.org (8.15.2/8.12.8/Submit) id 08KLVd8O012353; Sun, 20 Sep 2020 21:31:39 GMT In-Reply-To: X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list 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-mx.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.io gmane.emacs.bugs:188545 Archived-At: [Apparently my previous mail was not delivered, so I send it again. I apologize if you receive it twice.] After some further analysis, the problem here is in resize_mini_window(). In the comments one finds: "Set W->start to the right place to begin display. If the whole contents fit, start at the beginning. Otherwise, start so as to make the end of the contents appear. This is particularly important for y-or-n-p, but seems desirable generally." I won't judge the "seems desirable generally", but in this case at least it is clearly not desirable, so there should be a way to do something else. More precisely, in this case height > max_height, so init_iterator (&it, w, ZV, ZV_BYTE, NULL, DEFAULT_FACE_ID); is called, followed by move_it_vertically_backward (&it, height - unit); which does nothing given that height == unit, so start is set to ZV. What I would suggest is to add a user option to set start to BEGV when height > max_height, which is what is needed here. It would be reset to nil in read_minibuf() before calling minibuffer-setup-hook, and would be used in resize_mini_window() as follows: /* Compute a suitable window start. */ if (height > max_height && !EQ (Vstart_display_at_beginning_of_minibuffer, Qt)) This would not break any existing behavior. Would this be a good way to solve that problem?